<?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>167546</bug_id>
          
          <creation_ts>2017-01-28 01:48:06 -0800</creation_ts>
          <short_desc>Implement PerformanceObserver</short_desc>
          <delta_ts>2017-01-30 22:25:31 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>joepeck</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>yoav</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1270950</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-01-28 01:48:06 -0800</bug_when>
    <thetext>Summary:
Implement PerformanceObserver

https://w3c.github.io/performance-timeline/

This is part of Performance Timeline Level 2 and is intended to be the improved way to get Performance Timeline entries without using a global buffer.

Now that we have User Timing as an experimental feature we can build off of that to implement and test PerformanceObserver.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270951</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-01-28 01:48:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/30247959&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270959</commentid>
    <comment_count>2</comment_count>
      <attachid>300017</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-01-28 02:43:49 -0800</bug_when>
    <thetext>Created attachment 300017
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270961</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-28 02:46:20 -0800</bug_when>
    <thetext>Attachment 300017 did not pass style-queue:


ERROR: Source/WebCore/page/PerformanceObserver.cpp:49:  One line control clauses should not use braces.  [whitespace/braces] [4]
Total errors found: 1 in 44 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270962</commentid>
    <comment_count>4</comment_count>
      <attachid>300017</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-01-28 02:47:56 -0800</bug_when>
    <thetext>Comment on attachment 300017
[PATCH] Proposed Fix

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

Oops, let me upload the diff that doesn&apos;t think there are file copies.

&gt; Source/WebCore/page/PerformanceObserver.cpp:72
&gt; +        return Exception { TypeError, ASCIILiteral(&quot;entryTypes contained only unsupported types&quot;) };

I&apos;m not sure if this wording matches other TypeErrors emitted by the engine. Suggestions welcome!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270963</commentid>
    <comment_count>5</comment_count>
      <attachid>300019</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-01-28 02:49:17 -0800</bug_when>
    <thetext>Created attachment 300019
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270964</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-28 02:52:20 -0800</bug_when>
    <thetext>Attachment 300019 did not pass style-queue:


ERROR: Source/WebCore/page/PerformanceObserver.cpp:49:  One line control clauses should not use braces.  [whitespace/braces] [4]
Total errors found: 1 in 44 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271107</commentid>
    <comment_count>7</comment_count>
      <attachid>300019</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-01-29 01:43:30 -0800</bug_when>
    <thetext>Comment on attachment 300019
[PATCH] Proposed Fix

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

&gt; LayoutTests/ChangeLog:9
&gt; +        * performance-observer/performance-observer-api-expected.txt: Added.

I&apos;m thinking of renaming this to:
LayoutTests/performance-api

Since I&apos;ll end up putting more tests in here that aren&apos;t explicitly about performance-observers. (performance.now in workers, performance.mark/measure when implementing User Timing 2).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271166</commentid>
    <comment_count>8</comment_count>
      <attachid>300019</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-01-29 18:22:46 -0800</bug_when>
    <thetext>Comment on attachment 300019
[PATCH] Proposed Fix

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

r=me assuming you fix PerformanceObserver::deliver or have a good explanation as to it doesn&apos;t match the spec text as I read it.

&gt; LayoutTests/performance-observer/performance-observer-api.html:12
&gt; +shouldBeDefined(`PerformanceObserver`);
&gt; +shouldBeDefined(`PerformanceObserver.prototype.observe`);

Can we write these tests using testharness.js? (it&apos;s in the same directory).
http://darobin.github.io/test-harness-tutorial/docs/using-testharness.html

That would allow us to upstream these tests to web-platform-tests.

&gt; LayoutTests/performance-observer/performance-observer-exception.html:19
&gt; +let observer = new PerformanceObserver((list) =&gt; {
&gt; +    debug(&quot;PerformanceObserver callback fired&quot;);
&gt; +    throw &quot;EXCEPTION MESSAGE&quot;;
&gt; +});

Perhaps we should create another test case calling class constructor, which fails to be called?

&gt; LayoutTests/performance-observer/performance-observer-order.html:53
&gt; +// Register all in order.
&gt; +for (let o of [observer1, observer2, observerSpecial, observer3, observer4, observer5])
&gt; +    o.observe({entryTypes: [&quot;mark&quot;]});

You should test calling observe twice on the same observer, calling observe inside another observer&apos;s callback,
and inserting a new entry inside some observer (and how other observers receive them).

&gt; Source/WebCore/ChangeLog:19
&gt; +        This implements PerformanceObserver from Performance Timeline Level 2:
&gt; +        https://w3c.github.io/performance-timeline/
&gt; +

This description should appear before the list of tests.

&gt; Source/WebCore/page/Performance.cpp:255
&gt; +        for (auto&amp; observer : observers)
&gt; +            observer-&gt;deliver();

This, and the spec language seems to indicate if new entires were added during a call to some of the observers,
then the subsequent observers would immediately see those entries
while the observer which added the new entry as well as the proceeding observers would observe in the next task.

We should also add a test ensuring that PerformanceObservers are called in the next task, not a microtask.
You can do this by creating a mutation observer, and then make WebCore fire some event
and make sure only MutationObservers are called and not PerformanceObserver.

&gt; Source/WebCore/page/PerformanceObserver.cpp:72
&gt; +    if (init.entryTypes.isEmpty())
&gt; +        return Exception { TypeError, ASCIILiteral(&quot;entryTypes contained only unsupported types&quot;) };

This is an inefficient way of finding an unsupported type.
Why don&apos;t we just have a boolean for finding an unknown type?

&gt; Source/WebCore/page/PerformanceObserver.cpp:93
&gt; +    // Deliver any still remaining entries.
&gt; +    deliver();
&gt; +    ASSERT(m_entriesToDeliver.isEmpty());

https://w3c.github.io/performance-timeline/#dom-performanceobserver-disconnect
The spec simply says to &quot;empty context object&apos;s observer buffer.

&gt; Source/WebCore/page/PerformanceObserver.cpp:109
&gt; +    Ref&lt;PerformanceObserverEntryList&gt; list = PerformanceObserverEntryList::create(WTFMove(entries));

Why not auto?

&gt; Source/WebCore/page/PerformanceObserverEntryList.cpp:38
&gt; +    std::sort(m_entries.begin(), m_entries.end(), PerformanceEntry::startTimeCompareLessThan);

Ugh... it&apos;s sad that we have to call std::sort given these entires are probably already sorted in the right order.
In fact, we might want to consider doing insertion sort in getEntriesByName or some new helper function
(since it also needs to be called by getEntries).

&gt; Source/WebCore/page/PerformanceObserverEntryList.cpp:55
&gt; +    Vector&lt;RefPtr&lt;PerformanceEntry&gt;&gt; entries;

Why can declare this right above the for-loop instead.

&gt; Source/WebCore/page/PerformanceObserverEntryList.h:46
&gt; +    Vector&lt;RefPtr&lt;PerformanceEntry&gt;&gt; getEntries() const;

We can&apos;t use Vector&lt;Ref&lt;PerformanceEntry&gt;&gt;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271173</commentid>
    <comment_count>9</comment_count>
      <attachid>300019</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-01-29 19:42:14 -0800</bug_when>
    <thetext>Comment on attachment 300019
[PATCH] Proposed Fix

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

&gt; Source/WebCore/page/Performance.cpp:252
&gt; +        Vector&lt;RefPtr&lt;PerformanceObserver&gt;&gt; observers;

Can this use Vector&lt;Ref&gt; instead?

&gt; Source/WebCore/page/Performance.h:98
&gt; +    void queueEntry(Ref&lt;PerformanceEntry&gt;);

This isn’t really the right type. If we are transferring ownership, then please use the type Ref&lt;PerformanceEntry&gt;&amp;&amp;, if not, please just use PerformanceEntry&amp;. Given that we are just doing copyRef all the time, I think the plain reference is the way to go. Callers shouldn’t have to change anything since Ref converts to a reference (unlike RefPtr that requires a get() to turn it into a pointer).

&gt; Source/WebCore/page/PerformanceEntry.h:62
&gt; +    static Type typeForEntryTypeString(const String&amp; entryType);

I think should call this parseTypeString or parseType, and the function return type should be std::optional&lt;Type&gt;. No need to use the word &quot;entry&quot; in a function that is a member of the class &quot;entry&quot;. Also I think we should eliminate Type::Unknown since we don’t need to support that in the OptionSet or store that value in a PerformanceEntry.

&gt; Source/WebCore/page/PerformanceObserver.cpp:62
&gt; +    init.entryTypes.removeAllMatching([&amp;] (String&amp; entryType) {

It’s unnecessarily inefficient to remove strings from the vector just as a way to keep track if they were known types.

We could instead just look and see if the option set is empty after processing the vector, then we would not use removeAllMatching or a lambda here. Just a for loop.

&gt; Source/WebCore/page/PerformanceObserver.cpp:63
&gt; +        PerformanceEntry::Type type = PerformanceEntry::typeForEntryTypeString(entryType);

I think these calls to typeForEntryTypeString would be better with auto.

&gt;&gt; Source/WebCore/page/PerformanceObserver.cpp:93
&gt;&gt; +    // Deliver any still remaining entries.
&gt;&gt; +    deliver();
&gt;&gt; +    ASSERT(m_entriesToDeliver.isEmpty());
&gt; 
&gt; https://w3c.github.io/performance-timeline/#dom-performanceobserver-disconnect
&gt; The spec simply says to &quot;empty context object&apos;s observer buffer.

How is this assertion guaranteed to be true? Can’t the event handlers do something that results in adding more entries?

&gt; Source/WebCore/page/PerformanceObserver.cpp:107
&gt; +    m_entriesToDeliver.swap(entries);

Should use move instead of swap for this. Swap was the preferred technique back when we didn’t have move.

&gt;&gt; Source/WebCore/page/PerformanceObserver.cpp:109
&gt;&gt; +    Ref&lt;PerformanceObserverEntryList&gt; list = PerformanceObserverEntryList::create(WTFMove(entries));
&gt; 
&gt; Why not auto?

Would be better with auto.

&gt; Source/WebCore/page/PerformanceObserver.h:59
&gt; +    void queueEntry(Ref&lt;PerformanceEntry&gt;);

Type should be Ref&lt;PerformanceEntry&gt;&amp;&amp;.

&gt; Source/WebCore/page/PerformanceObserver.h:66
&gt; +    Vector&lt;RefPtr&lt;PerformanceEntry&gt;&gt; m_entriesToDeliver;

Should use Vector&lt;Ref&gt; instead of Vector&lt;RefPtr&gt;.

&gt; Source/WebCore/page/PerformanceObserver.idl:44
&gt; +    required sequence&lt;DOMString&gt; entryTypes;

Surprised that this is specified with strings rather than an IDL enumeration.

&gt; Source/WebCore/page/PerformanceObserverCallback.h:40
&gt; +    virtual bool handleEvent(PerformanceObserverEntryList*, PerformanceObserver*) = 0;

Can these arguments be references instead of pointers?

Can we use a WTF::Function instead of a reference counted callback object?

&gt;&gt; Source/WebCore/page/PerformanceObserverEntryList.cpp:38
&gt;&gt; +    std::sort(m_entries.begin(), m_entries.end(), PerformanceEntry::startTimeCompareLessThan);
&gt; 
&gt; Ugh... it&apos;s sad that we have to call std::sort given these entires are probably already sorted in the right order.
&gt; In fact, we might want to consider doing insertion sort in getEntriesByName or some new helper function
&gt; (since it also needs to be called by getEntries).

I believe two entries can have the same start time. If so, then this needs to be std::stable_sort instead of std::sort, so we don’t end up with the entries sorted in arbitrary order rather than preserving the order they were passed in. We should have test coverage for this behavior, although it might be challenging to come up with a test case that causes std::sort to reverse the order. std::sort is allowed to shuffle ordering of equal entries, which is why std::stable_sort exists, but it is not required to do that.

&gt; Source/WebCore/page/PerformanceObserverEntryList.cpp:45
&gt; +    Vector&lt;RefPtr&lt;PerformanceEntry&gt;&gt; entries;
&gt; +    entries.appendVector(m_entries);
&gt; +    return entries;

How is this different from just:

    return m_entries;

I don’t think it is. We could also let the caller do the copying by changing the return type of this function to const Vector&amp;. The bindings code would do the copying for us. Or maybe the bindings code could even optimize it out! I think this function should return a const Vector&amp; and be inlined in the header.

&gt; Source/WebCore/page/PerformanceObserverEntryList.cpp:58
&gt; +    // PerformanceObservers can only be registered for valid types.
&gt; +    // So if the incoming entryType is an unknown type, we know there will be no matches.

This comment isn’t quite right. Because we put the switches for runtime enabled features in the parse function, we might build a list with a feature turned on and then use it later with the feature turned off, or something like that. It’s a little messy.

&gt; Source/WebCore/page/PerformanceObserverEntryList.h:41
&gt; +    static Ref&lt;PerformanceObserverEntryList&gt; create(Vector&lt;RefPtr&lt;PerformanceEntry&gt;&gt; entries)

The argument type here should be Vector&amp;&amp; rather than Vector. Also could be Vector&lt;Ref&gt; instead of Vector&lt;RefPtr&gt;.

Also please put this function in the .cpp file and instead of marking this inline, mark the constructor inline. Not great to have this in the header file, and it doesn’t really save function call overhead to inline this at the call site when the constructor is not inlined.

&gt; Source/WebCore/page/PerformanceObserverEntryList.h:48
&gt; +    Vector&lt;RefPtr&lt;PerformanceEntry&gt;&gt; getEntries() const;
&gt; +    Vector&lt;RefPtr&lt;PerformanceEntry&gt;&gt; getEntriesByType(const String&amp; entryType) const;
&gt; +    Vector&lt;RefPtr&lt;PerformanceEntry&gt;&gt; getEntriesByName(const String&amp; name, const String&amp; entryType) const;

Can these return types be Vector&lt;Ref&gt;?

&gt; Source/WebCore/page/PerformanceObserverEntryList.h:51
&gt; +    PerformanceObserverEntryList(Vector&lt;RefPtr&lt;PerformanceEntry&gt;&gt; entries);

Ditto.

&gt; Source/WebCore/page/PerformanceObserverEntryList.h:53
&gt; +    Vector&lt;RefPtr&lt;PerformanceEntry&gt;&gt; m_entries;

Can this type be Vector&lt;Ref&gt;?

&gt; Source/WebCore/page/PerformanceUserTiming.cpp:113
&gt; +    Ref&lt;PerformanceMark&gt; entry = PerformanceMark::create(markName, m_performance.now());

Would prefer to have this use auto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271192</commentid>
    <comment_count>10</comment_count>
      <attachid>300019</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-01-29 23:12:25 -0800</bug_when>
    <thetext>Comment on attachment 300019
[PATCH] Proposed Fix

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

&gt;&gt; LayoutTests/performance-observer/performance-observer-api.html:12
&gt;&gt; +shouldBeDefined(`PerformanceObserver.prototype.observe`);
&gt; 
&gt; Can we write these tests using testharness.js? (it&apos;s in the same directory).
&gt; http://darobin.github.io/test-harness-tutorial/docs/using-testharness.html
&gt; 
&gt; That would allow us to upstream these tests to web-platform-tests.

web-platform-tests/performance-observer tests exists. I plan on importing them immediately following this landing. However LayoutTests are earlier to write and are clearer to understand the PASS/FAIL reasons. I&apos;ve been quite disappointed by the web-platform-tests I&apos;ve seen so far.

I do plan on writing some web-platform-tests for cases I&apos;ve found where browsers differ. However, I&apos;m going to stick to LayoutTests for now. They are easy to test in all browsers, do not require running a web-platform-tests server instance, and I find them much clearer.

&gt;&gt; LayoutTests/performance-observer/performance-observer-exception.html:19
&gt;&gt; +});
&gt; 
&gt; Perhaps we should create another test case calling class constructor, which fails to be called?

Like this?

    class MyClass {};
    let observer = new PerformanceObserver(MyClass);

&gt;&gt; LayoutTests/performance-observer/performance-observer-order.html:53
&gt;&gt; +    o.observe({entryTypes: [&quot;mark&quot;]});
&gt; 
&gt; You should test calling observe twice on the same observer, calling observe inside another observer&apos;s callback,
&gt; and inserting a new entry inside some observer (and how other observers receive them).

The `performance-observer-api.html` and `performance-observer-nested.html` test covers some of this.

I&apos;ll add a test for calling observe in a callback.

&gt;&gt; Source/WebCore/page/Performance.cpp:252
&gt;&gt; +        Vector&lt;RefPtr&lt;PerformanceObserver&gt;&gt; observers;
&gt; 
&gt; Can this use Vector&lt;Ref&gt; instead?

I had very unusual issues with auto/Ref/RefPtr. I&apos;ll work on cleaning this up tomorrow. Thanks for all of the pointers.

&gt;&gt; Source/WebCore/page/Performance.cpp:255
&gt;&gt; +            observer-&gt;deliver();
&gt; 
&gt; This, and the spec language seems to indicate if new entires were added during a call to some of the observers,
&gt; then the subsequent observers would immediately see those entries
&gt; while the observer which added the new entry as well as the proceeding observers would observe in the next task.
&gt; 
&gt; We should also add a test ensuring that PerformanceObservers are called in the next task, not a microtask.
&gt; You can do this by creating a mutation observer, and then make WebCore fire some event
&gt; and make sure only MutationObservers are called and not PerformanceObserver.

So I think the `performance-observer-nested.html` test covers this.

Also I think I would able to use Promises for microtasks `Promise.resolve().then(() =&gt; { /*...*/ }); Unless you specifically want to test comparing the relation to MutationObservers.

&gt;&gt;&gt; Source/WebCore/page/PerformanceObserver.cpp:93
&gt;&gt;&gt; +    ASSERT(m_entriesToDeliver.isEmpty());
&gt;&gt; 
&gt;&gt; https://w3c.github.io/performance-timeline/#dom-performanceobserver-disconnect
&gt;&gt; The spec simply says to &quot;empty context object&apos;s observer buffer.
&gt; 
&gt; How is this assertion guaranteed to be true? Can’t the event handlers do something that results in adding more entries?

@rniwa: You are correct. I will change the behavior to match the spec.

I did this to match Blink&apos;s behavior. I&apos;ll write a platform test and file a bug on them.

I think the case Blink was considering is this:

    observer = new PerformanceObserver(console.log);
    observer.observe({entryTypes:[&quot;mark&quot;]});
    performance.mark(&quot;mark1&quot;);
    observer.disconnect();

The observer observed `mark` before disconnect. So they wanted the Observer&apos;s callback to reflect that. However the deliver here is weird (its out of order of registered observers, and its essentially happening during the disconnect call instead of as a separate task). So I&apos;ll change behavior 

@darin: We have unregistered the observer by this point. So this observer would not have seen any new entries. That said I&apos;ll now just clear the list.

&gt;&gt; Source/WebCore/page/PerformanceObserver.idl:44
&gt;&gt; +    required sequence&lt;DOMString&gt; entryTypes;
&gt; 
&gt; Surprised that this is specified with strings rather than an IDL enumeration.

Each of the different built-in types has its own spec. mark/measure, resource, navigation. Chrome has a few others as well, like &quot;longtask&quot; &lt;https://github.com/WICG/longtasks&gt;. I think they want this list to be easily extensible. I don&apos;t think you can extend an enum in separate WebIDL extensions (e.g. a &quot;partial enum&quot;).

&gt;&gt; Source/WebCore/page/PerformanceObserverCallback.h:40
&gt;&gt; +    virtual bool handleEvent(PerformanceObserverEntryList*, PerformanceObserver*) = 0;
&gt; 
&gt; Can these arguments be references instead of pointers?
&gt; 
&gt; Can we use a WTF::Function instead of a reference counted callback object?

This is the interface our generator needs for `callback` functions. It can be improved, but it will affect many places, not just here.

&gt;&gt; Source/WebCore/page/PerformanceObserverEntryList.cpp:58
&gt;&gt; +    // So if the incoming entryType is an unknown type, we know there will be no matches.
&gt; 
&gt; This comment isn’t quite right. Because we put the switches for runtime enabled features in the parse function, we might build a list with a feature turned on and then use it later with the feature turned off, or something like that. It’s a little messy.

You are correct. I think this is more of a problem with RuntimeEnabledFeatures. I&apos;m not sure how much sense it would make to work around this here. It is harmless to have this partially broken if the page has a partially enabled/disabled feature.

I think ideally the Page (and all its contexts) would not see the new RuntimeEnabledFeatures values until the next page load. Most RuntimeEnabledFeatures guard exposing APIs which can only happen when the page is constructed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271201</commentid>
    <comment_count>11</comment_count>
      <attachid>300019</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-01-30 00:38:29 -0800</bug_when>
    <thetext>Comment on attachment 300019
[PATCH] Proposed Fix

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

&gt;&gt;&gt; Source/WebCore/page/Performance.cpp:252
&gt;&gt;&gt; +        Vector&lt;RefPtr&lt;PerformanceObserver&gt;&gt; observers;
&gt;&gt; 
&gt;&gt; Can this use Vector&lt;Ref&gt; instead?
&gt; 
&gt; I had very unusual issues with auto/Ref/RefPtr. I&apos;ll work on cleaning this up tomorrow. Thanks for all of the pointers.

Using either I use ListHashSet&lt;Ref&gt; or ListHashSet&lt;RefPtr&gt; complains if I try copyToVector with Vector&lt;Ref&gt;. It does work with Vector&lt;RefPtr&gt;. The same issues shows up trying to copy a Vector&lt;Ref&gt; to a Vector&lt;Ref&gt; (Ref&lt;&gt; destructor is deleted).

Is there an existing pattern that works for such copies? I did a quick search and could find no instances of a copyToVector call copying to a Vector&lt;Ref&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271281</commentid>
    <comment_count>12</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-01-30 09:33:49 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; Using either ListHashSet&lt;Ref&gt; or ListHashSet&lt;RefPtr&gt; complains if I
&gt; try copyToVector with Vector&lt;Ref&gt;. It does work with Vector&lt;RefPtr&gt;. The
&gt; same issues shows up trying to copy a Vector&lt;Ref&gt; to a Vector&lt;Ref&gt; (Ref&lt;&gt;
&gt; destructor is deleted).
&gt; 
&gt; Is there an existing pattern that works for such copies? I did a quick
&gt; search and could find no instances of a copyToVector call copying to a
&gt; Vector&lt;Ref&gt;.

It’s fine to stick with Vector&lt;RefPtr&gt; if Vector&lt;Ref&gt; doesn’t work yet.

There are many functions that need some refinements to work properly with Ref.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271333</commentid>
    <comment_count>13</comment_count>
      <attachid>300019</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-01-30 11:09:03 -0800</bug_when>
    <thetext>Comment on attachment 300019
[PATCH] Proposed Fix

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

&gt;&gt;&gt; Source/WebCore/page/PerformanceObserverEntryList.cpp:38
&gt;&gt;&gt; +    std::sort(m_entries.begin(), m_entries.end(), PerformanceEntry::startTimeCompareLessThan);
&gt;&gt; 
&gt;&gt; Ugh... it&apos;s sad that we have to call std::sort given these entires are probably already sorted in the right order.
&gt;&gt; In fact, we might want to consider doing insertion sort in getEntriesByName or some new helper function
&gt;&gt; (since it also needs to be called by getEntries).
&gt; 
&gt; I believe two entries can have the same start time. If so, then this needs to be std::stable_sort instead of std::sort, so we don’t end up with the entries sorted in arbitrary order rather than preserving the order they were passed in. We should have test coverage for this behavior, although it might be challenging to come up with a test case that causes std::sort to reverse the order. std::sort is allowed to shuffle ordering of equal entries, which is why std::stable_sort exists, but it is not required to do that.

Wow,std::sort/stable_sort also don&apos;t work with Vector&lt;Ref&gt; but more insidiously it is not a compile error but runtime crashes. Moves happen in the algorithm that clear out a Ref and cause nullptr dereferences. I&apos;m going to bring this back to RefPtr. Ref in collections is causing me too many issues =(.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271524</commentid>
    <comment_count>14</comment_count>
      <attachid>300173</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-01-30 17:54:33 -0800</bug_when>
    <thetext>Created attachment 300173
[PATCH] For Bots

This includes all of the additional tests, and some cleaned up Ref/RefPtr/&amp;&amp; logic.

I&apos;ve filed a number of issues on the spec and updated web-platform-tests. All links can be found from:
https://github.com/w3c/web-platform-tests/pull/4660</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271528</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-30 17:57:18 -0800</bug_when>
    <thetext>Attachment 300173 did not pass style-queue:


ERROR: Source/WebCore/page/PerformanceEntry.h:74:  The parameter name &quot;type&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/WebCore/page/PerformanceObserver.cpp:49:  One line control clauses should not use braces.  [whitespace/braces] [4]
Total errors found: 2 in 53 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271550</commentid>
    <comment_count>16</comment_count>
      <attachid>300179</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-01-30 18:45:52 -0800</bug_when>
    <thetext>Created attachment 300179
[PATCH] For Bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271560</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-30 20:15:38 -0800</bug_when>
    <thetext>Attachment 300179 did not pass style-queue:


ERROR: Source/WebCore/page/PerformanceObserver.cpp:49:  One line control clauses should not use braces.  [whitespace/braces] [4]
Total errors found: 1 in 53 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271570</commentid>
    <comment_count>18</comment_count>
      <attachid>300184</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-01-30 21:25:11 -0800</bug_when>
    <thetext>Created attachment 300184
[PATCH] For Bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271572</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-30 21:28:25 -0800</bug_when>
    <thetext>Attachment 300184 did not pass style-queue:


ERROR: Source/WebCore/page/PerformanceObserver.cpp:49:  One line control clauses should not use braces.  [whitespace/braces] [4]
Total errors found: 1 in 53 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271580</commentid>
    <comment_count>20</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-01-30 22:25:31 -0800</bug_when>
    <thetext>&lt;https://trac.webkit.org/changeset/211406&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300017</attachid>
            <date>2017-01-28 02:43:49 -0800</date>
            <delta_ts>2017-01-28 02:49:17 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>perf-2.patch</filename>
            <type>text/plain</type>
            <size>117093</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhODdjYmNkODgzYy4uMDJhYWEwYTQzZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzOCBAQAog
MjAxNy0wMS0yOCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCisgICAg
ICAgIEltcGxlbWVudCBQZXJmb3JtYW5jZU9ic2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc1NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzMwMjQ3OTU5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItYXBpLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFu
Y2Utb2JzZXJ2ZXItYXBpLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLW9ic2Vy
dmVyL3BlcmZvcm1hbmNlLW9ic2VydmVyLWJhc2ljLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItYmFzaWMuaHRt
bDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2Jz
ZXJ2ZXItZXhjZXB0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFu
Y2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZXhjZXB0aW9uLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHBlcmZvcm1hbmNlLW9ic2VydmVyL3BlcmZvcm1hbmNlLW9ic2VydmVyLW5lc3Rl
ZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLW9ic2VydmVyL3Bl
cmZvcm1hbmNlLW9ic2VydmVyLW5lc3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3Jt
YW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1vcmRlci1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLW9ic2VydmVyL3BlcmZvcm1hbmNlLW9ic2VydmVy
LW9yZGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLW9ic2VydmVyL3BlcmZv
cm1hbmNlLW9ic2VydmVyLXBlcmlvZGljLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItcGVyaW9kaWMuaHRtbDog
QWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2UtdGltZWxp
bmUtYXBpLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2Utb2JzZXJ2
ZXIvcGVyZm9ybWFuY2UtdGltZWxpbmUtYXBpLmh0bWw6IEFkZGVkLgorICAgICAgICBQZXJmb3Jt
YW5jZU9ic2VydmVyIHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vZWZsL2pzL2RvbS9nbG9i
YWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL2d0ay9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtZWxjYXBpdGFuL2pzL2RvbS9nbG9iYWwtY29uc3Ry
dWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy13
azEvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjLXlvc2VtaXRlL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3Jz
LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9qcy9kb20v
Z2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS93aW4vanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3Rl
ZC50eHQ6CisgICAgICAgIE5ldyBnbG9iYWwgY29uc3RydWN0b3JzLgorCisyMDE3LTAxLTI4ICBK
b3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKICAgICAgICAgQWRkIFVzZXIg
VGltaW5nIEV4cGVyaW1lbnRhbCBGZWF0dXJlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc1NDIKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIyNzQ2
MzA3PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9y
bWFuY2Utb2JzZXJ2ZXItYXBpLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNl
LW9ic2VydmVyL3BlcmZvcm1hbmNlLW9ic2VydmVyLWFwaS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjI4ZWZkODcwMDEwCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2
ZXItYXBpLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM1IEBACitCYXNpYyBJbnRlcmZhY2UgdGVz
dCBmb3IgUGVyZm9ybWFuY2VPYnNlcnZlciBBUElzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworUGVyZm9ybWFuY2VPYnNlcnZlcgorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGlz
IGRlZmluZWQuCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIucHJvdG90eXBlLm9ic2VydmUgaXMg
ZGVmaW5lZC4KK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlci5wcm90b3R5cGUuZGlzY29ubmVjdCBp
cyBkZWZpbmVkLgorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyKCkgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogQ29uc3RydWN0b3IgcmVxdWlyZXMgJ25ldycgb3BlcmF0b3IuCitQQVNTIG5ldyBQ
ZXJmb3JtYW5jZU9ic2VydmVyKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3Vn
aCBhcmd1bWVudHMuCitQQVNTIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKDEpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdjYWxsYmFjaycpIHRvIHRoZSBQZXJmb3JtYW5j
ZU9ic2VydmVyIGNvbnN0cnVjdG9yIG11c3QgYmUgYSBmdW5jdGlvbi4KK1BBU1Mgb2JzZXJ2ZXIg
PSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbigpIHt9KSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1Mgb2JzZXJ2ZXIub2JzZXJ2ZSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBvYnNlcnZlci5vYnNlcnZlKCJtYXJrIikg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1Mgb2JzZXJ2ZXIub2Jz
ZXJ2ZSh7fSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTWVtYmVyIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXJJbml0LmVudHJ5VHlwZXMgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4gaW5zdGFuY2Ug
b2Ygc2VxdWVuY2UuCitQQVNTIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6Im1hcmsifSkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVmFsdWUgaXMgbm90IGEgc2VxdWVuY2UuCitQQVNT
IG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6W119KSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBlbnRyeVR5cGVzIGNhbm5vdCBiZSBhbiBlbXB0eSBsaXN0LgorUEFTUyBvYnNlcnZlci5v
YnNlcnZlKHtlbnRyeVR5cGVzOlsibm90LXJlYWwiXX0pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IGVudHJ5VHlwZXMgY29udGFpbmVkIG9ubHkgdW5zdXBwb3J0ZWQgdHlwZXMuCitQQVNTIG9i
c2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6WyJtYXJrIl19KSBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KK1BBU1Mgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczpbIm1hcmsiLCAibm90LXJl
YWwiXX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBvYnNlcnZlci5vYnNlcnZlKHtl
bnRyeVR5cGVzOlsibWFyayIsICJtZWFzdXJlIl19KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4K
K1BBU1Mgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFT
UyBvYnNlcnZlci5kaXNjb25uZWN0KCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCisKK1BlcmZv
cm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlz
dCBpcyBkZWZpbmVkLgorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LnByb3RvdHlw
ZS5nZXRFbnRyaWVzIGlzIGRlZmluZWQuCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxp
c3QucHJvdG90eXBlLmdldEVudHJpZXNCeVR5cGUgaXMgZGVmaW5lZC4KK1BBU1MgUGVyZm9ybWFu
Y2VPYnNlcnZlckVudHJ5TGlzdC5wcm90b3R5cGUuZ2V0RW50cmllc0J5TmFtZSBpcyBkZWZpbmVk
LgorUEFTUyBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCgpIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICdu
ZXcgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCgpJykuCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItYXBpLmh0bWwgYi9MYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1hcGkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNjQ4YmM0NTBhYTYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3Jt
YW5jZS1vYnNlcnZlci1hcGkuaHRtbApAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgSFRNTD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJCYXNp
YyBJbnRlcmZhY2UgdGVzdCBmb3IgUGVyZm9ybWFuY2VPYnNlcnZlciBBUElzLiIpOworCitkZWJ1
ZygiUGVyZm9ybWFuY2VPYnNlcnZlciIpOworc2hvdWxkQmVEZWZpbmVkKGBQZXJmb3JtYW5jZU9i
c2VydmVyYCk7CitzaG91bGRCZURlZmluZWQoYFBlcmZvcm1hbmNlT2JzZXJ2ZXIucHJvdG90eXBl
Lm9ic2VydmVgKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9ybWFuY2VPYnNlcnZlci5wcm90b3R5
cGUuZGlzY29ubmVjdGApOworc2hvdWxkVGhyb3coYFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKWApOwor
c2hvdWxkVGhyb3coYG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKClgKTsKK3Nob3VsZFRocm93KGBu
ZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigxKWApOworc2hvdWxkTm90VGhyb3coYG9ic2VydmVyID0g
bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoZnVuY3Rpb24oKSB7fSlgKTsKK3Nob3VsZFRocm93KGBv
YnNlcnZlci5vYnNlcnZlKClgKTsKK3Nob3VsZFRocm93KGBvYnNlcnZlci5vYnNlcnZlKCJtYXJr
IilgKTsKK3Nob3VsZFRocm93KGBvYnNlcnZlci5vYnNlcnZlKHt9KWApOworc2hvdWxkVGhyb3co
YG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6Im1hcmsifSlgKTsKK3Nob3VsZFRocm93KGBv
YnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOltdfSlgKTsKK3Nob3VsZFRocm93KGBvYnNlcnZl
ci5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibm90LXJlYWwiXX0pYCk7CitzaG91bGROb3RUaHJvdyhg
b2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczpbIm1hcmsiXX0pYCk7CitzaG91bGROb3RUaHJv
dyhgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczpbIm1hcmsiLCAibm90LXJlYWwiXX0pYCk7
CitzaG91bGROb3RUaHJvdyhgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczpbIm1hcmsiLCAi
bWVhc3VyZSJdfSlgKTsKK3Nob3VsZE5vdFRocm93KGBvYnNlcnZlci5kaXNjb25uZWN0KClgKTsK
K3Nob3VsZE5vdFRocm93KGBvYnNlcnZlci5kaXNjb25uZWN0KClgKTsKKworZGVidWcoIiIpOwor
ZGVidWcoIlBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QiKTsKK3Nob3VsZEJlRGVmaW5lZChg
UGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdGApOworc2hvdWxkQmVEZWZpbmVkKGBQZXJmb3Jt
YW5jZU9ic2VydmVyRW50cnlMaXN0LnByb3RvdHlwZS5nZXRFbnRyaWVzYCk7CitzaG91bGRCZURl
ZmluZWQoYFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QucHJvdG90eXBlLmdldEVudHJpZXNC
eVR5cGVgKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5w
cm90b3R5cGUuZ2V0RW50cmllc0J5TmFtZWApOworc2hvdWxkVGhyb3coYG5ldyBQZXJmb3JtYW5j
ZU9ic2VydmVyRW50cnlMaXN0KClgKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2
ZXItYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIv
cGVyZm9ybWFuY2Utb2JzZXJ2ZXItYmFzaWMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4yYjQ1ZWQ3ZGQ5ZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLW9ic2VydmVyL3BlcmZvcm1hbmNlLW9ic2VydmVyLWJhc2lj
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUyIEBACitCYXNpYyBCZWhhdmlvciB0ZXN0IGZvciBQ
ZXJmb3JtYW5jZU9ic2VydmVyIEFQSXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitJbnNpZGUgUGVyZm9ybWFuY2VPYnNlcnZlciBjYWxsYmFjaworUEFTUyBhcmd1bWVudHNMZW5n
dGggPT09IDIgaXMgdHJ1ZQorUEFTUyBsaXN0IGluc3RhbmNlb2YgUGVyZm9ybWFuY2VPYnNlcnZl
ckVudHJ5TGlzdCBpcyB0cnVlCitQQVNTIG9icyBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlT2JzZXJ2
ZXIgaXMgdHJ1ZQorUEFTUyBvYnMgPT09IG9ic2VydmVyIGlzIHRydWUKK0ZBSUwgdGhpc09iamVj
dCBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxz
ZS4KK0ZBSUwgdGhpc09iamVjdCA9PT0gb2JzZXJ2ZXIgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxz
ZS4KKworUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCBBUElzCitQQVNTIGxpc3QuZ2V0RW50
cmllcygpIGluc3RhbmNlb2YgQXJyYXkgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXMoKS5s
ZW5ndGggPT09IDIgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXMoKVswXSBpbnN0YW5jZW9m
IFBlcmZvcm1hbmNlRW50cnkgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXMoKVswXS5uYW1l
IGlzICJtYXJrMyIKK1BBU1MgbGlzdC5nZXRFbnRyaWVzKClbMV0ubmFtZSBpcyAibWFyazQiCitQ
QVNTIGxpc3QuZ2V0RW50cmllcygpWzBdLnN0YXJ0VGltZSA8PSBsaXN0LmdldEVudHJpZXMoKVsx
XS5zdGFydFRpbWUgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeVR5cGUoKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbGlzdC5nZXRF
bnRyaWVzQnlUeXBlKCJub3QtcmVhbCIpLmxlbmd0aCA9PT0gMCBpcyB0cnVlCitQQVNTIGxpc3Qu
Z2V0RW50cmllc0J5VHlwZSgibWFyayIpLmxlbmd0aCA9PT0gMiBpcyB0cnVlCitQQVNTIGxpc3Qu
Z2V0RW50cmllc0J5VHlwZSgibWFyayIpWzBdIGluc3RhbmNlb2YgUGVyZm9ybWFuY2VFbnRyeSBp
cyB0cnVlCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5VHlwZSgibWFyayIpWzBdLm5hbWUgaXMgIm1h
cmszIgorUEFTUyBsaXN0LmdldEVudHJpZXNCeVR5cGUoIm1hcmsiKVsxXS5uYW1lIGlzICJtYXJr
NCIKK1BBU1MgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibm90
LXJlYWwiKS5sZW5ndGggPT09IDAgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5hbWUo
Im1hcmsxIikubGVuZ3RoID09PSAwIGlzIHRydWUKK1BBU1MgbGlzdC5nZXRFbnRyaWVzQnlOYW1l
KCJtYXJrMyIpLmxlbmd0aCA9PT0gMSBpcyB0cnVlCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5TmFt
ZSgibWFyazMiKVswXSBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50cnkgaXMgdHJ1ZQorUEFTUyBs
aXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcmszIilbMF0ubmFtZSBpcyAibWFyazMiCitQQVNTIGxp
c3QuZ2V0RW50cmllc0J5TmFtZSgibWFyazQiKS5sZW5ndGggPT09IDEgaXMgdHJ1ZQorUEFTUyBs
aXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcms0IilbMF0gaW5zdGFuY2VvZiBQZXJmb3JtYW5jZUVu
dHJ5IGlzIHRydWUKK1BBU1MgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrNCIpWzBdLm5hbWUg
aXMgIm1hcms0IgorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5hbWUoKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbGlzdC5nZXRFbnRyaWVzQnlO
YW1lKCJub3QtcmVhbCIpLmxlbmd0aCA9PT0gMCBpcyB0cnVlCitQQVNTIGxpc3QuZ2V0RW50cmll
c0J5TmFtZSgibWFyazEiKS5sZW5ndGggPT09IDAgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJp
ZXNCeU5hbWUoIm1hcmszIikubGVuZ3RoID09PSAxIGlzIHRydWUKK1BBU1MgbGlzdC5nZXRFbnRy
aWVzQnlOYW1lKCJtYXJrMyIpWzBdIGluc3RhbmNlb2YgUGVyZm9ybWFuY2VFbnRyeSBpcyB0cnVl
CitQQVNTIGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibWFyazMiKVswXS5uYW1lIGlzICJtYXJrMyIK
K1BBU1MgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrNCIpLmxlbmd0aCA9PT0gMSBpcyB0cnVl
CitQQVNTIGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibWFyazQiKVswXSBpbnN0YW5jZW9mIFBlcmZv
cm1hbmNlRW50cnkgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcms0Iilb
MF0ubmFtZSBpcyAibWFyazQiCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibWFyazMiLCAi
bm90LXJlYWwiKS5sZW5ndGggPT09IDAgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5h
bWUoIm1hcmszIiwgIm1hcmsiKS5sZW5ndGggPT09IDEgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVu
dHJpZXNCeU5hbWUobnVsbCwgIm1hcmsiKS5sZW5ndGggPT09IDAgaXMgdHJ1ZQorUEFTUyBsaXN0
LmdldEVudHJpZXNCeU5hbWUodW5kZWZpbmVkLCAibWFyayIpLmxlbmd0aCA9PT0gMCBpcyB0cnVl
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2Jz
ZXJ2ZXItYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLW9ic2VydmVyL3BlcmZv
cm1hbmNlLW9ic2VydmVyLWJhc2ljLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAuLmJlNzBlNjZhN2RiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItYmFzaWMuaHRtbApAQCAtMCww
ICsxLDk1IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJCYXNpYyBCZWhhdmlvciB0ZXN0IGZvciBQZXJmb3JtYW5j
ZU9ic2VydmVyIEFQSXMuIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKy8vIFBl
cmZvcm1hbmNlT2JzZXJ2ZXJzIHRoYXQgYXJlIG5vdCBhY3RpdmVseSBvYnNlcnZpbmcgc2hvdWxk
IG5vdCBmaXJlLgorbGV0IG9ic2VydmVyTm90T2JzZXJ2aW5nID0gbmV3IFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIoZnVuY3Rpb24oKSB7CisgICAgdGVzdEZhaWxlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBu
ZXZlciByZWdpc3RlcmVkIHNob3VsZCBub3QgYmUgY2FsbGVkIik7Cit9KTsKKworbGV0IG9ic2Vy
dmVyTm90T2JzZXJ2aW5nMiA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGZ1bmN0aW9uKCkgewor
ICAgIHRlc3RGYWlsZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgbm90IGFjdGl2ZWx5IG9ic2Vydmlu
ZyBzaG91bGQgbm90IGJlIGNhbGxlZCIpOworfSk7CitvYnNlcnZlck5vdE9ic2VydmluZzIub2Jz
ZXJ2ZSh7ZW50cnlUeXBlczogWyJtYXJrIl19KTsKK29ic2VydmVyTm90T2JzZXJ2aW5nMi5kaXNj
b25uZWN0KCk7CisKKy8vIFBlcmZvcm1hbmNlT2JzZXJ2ZXJzIGZvciBkaWZmZXJlbnQgZW50cnkg
dHlwZXMgc2hvdWxkIG5vdCBmaXJlLgorbGV0IG9ic2VydmVyTm90TWFya3MgPSBuZXcgUGVyZm9y
bWFuY2VPYnNlcnZlcihmdW5jdGlvbigpIHsKKyAgICB0ZXN0RmFpbGVkKCJQZXJmb3JtYW5jZU9i
c2VydmVyIG9ic2VydmluZyBtZWFzdXJlcyBzaG91bGQgbm90IGJlIGNhbGxlZCIpOworfSk7CisK
Ky8vIE9ic2VydmVyIHNlZXMgbWFya3Mgd2hpbGUgaXQgaXMgcmVnaXN0ZXJlZC4KK3BlcmZvcm1h
bmNlLm1hcmsoIm1hcmsxIik7Cit3aW5kb3cub2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNl
cnZlcihmdW5jdGlvbihsaXN0LCBvYnMpIHsKKyAgICB3aW5kb3cuYXJndW1lbnRzTGVuZ3RoID0g
YXJndW1lbnRzLmxlbmd0aDsKKyAgICB3aW5kb3cubGlzdCA9IGxpc3Q7CisgICAgd2luZG93Lm9i
cyA9IG9iczsKKyAgICB3aW5kb3cudGhpc09iamVjdCA9IHRoaXM7CisgICAgCisgICAgZGVidWco
Ikluc2lkZSBQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrIik7CisgICAgc2hvdWxkQmVUcnVl
KGBhcmd1bWVudHNMZW5ndGggPT09IDJgKTsKKyAgICBzaG91bGRCZVRydWUoYGxpc3QgaW5zdGFu
Y2VvZiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0YCk7CisgICAgc2hvdWxkQmVUcnVlKGBv
YnMgaW5zdGFuY2VvZiBQZXJmb3JtYW5jZU9ic2VydmVyYCk7CisgICAgc2hvdWxkQmVUcnVlKGBv
YnMgPT09IG9ic2VydmVyYCk7CisgICAgLy8gRklYTUU6IDxodHRwczovL3dlYmtpdC5vcmcvYi8x
Njc1NDk+IEludm9raW5nIGdlbmVyYXRlZCBjYWxsYmFjayBzaG91bGQgYWxsb3cgc2V0dGluZyB0
aGUgYHRoaXNgIG9iamVjdAorICAgIHNob3VsZEJlVHJ1ZShgdGhpc09iamVjdCBpbnN0YW5jZW9m
IFBlcmZvcm1hbmNlT2JzZXJ2ZXJgKTsKKyAgICBzaG91bGRCZVRydWUoYHRoaXNPYmplY3QgPT09
IG9ic2VydmVyYCk7CisKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoIlBlcmZvcm1hbmNlT2Jz
ZXJ2ZXJFbnRyeUxpc3QgQVBJcyIpOworCisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJp
ZXMoKSBpbnN0YW5jZW9mIEFycmF5YCk7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJp
ZXMoKS5sZW5ndGggPT09IDJgKTsKKyAgICBzaG91bGRCZVRydWUoYGxpc3QuZ2V0RW50cmllcygp
WzBdIGluc3RhbmNlb2YgUGVyZm9ybWFuY2VFbnRyeWApOworICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZyhgbGlzdC5nZXRFbnRyaWVzKClbMF0ubmFtZWAsICJtYXJrMyIpOworICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZyhgbGlzdC5nZXRFbnRyaWVzKClbMV0ubmFtZWAsICJtYXJrNCIpOworICAg
IHNob3VsZEJlVHJ1ZShgbGlzdC5nZXRFbnRyaWVzKClbMF0uc3RhcnRUaW1lIDw9IGxpc3QuZ2V0
RW50cmllcygpWzFdLnN0YXJ0VGltZWApOworCisgICAgc2hvdWxkVGhyb3coYGxpc3QuZ2V0RW50
cmllc0J5VHlwZSgpYCk7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJpZXNCeVR5cGUo
Im5vdC1yZWFsIikubGVuZ3RoID09PSAwYCk7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVu
dHJpZXNCeVR5cGUoIm1hcmsiKS5sZW5ndGggPT09IDJgKTsKKyAgICBzaG91bGRCZVRydWUoYGxp
c3QuZ2V0RW50cmllc0J5VHlwZSgibWFyayIpWzBdIGluc3RhbmNlb2YgUGVyZm9ybWFuY2VFbnRy
eWApOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5nZXRFbnRyaWVzQnlUeXBlKCJt
YXJrIilbMF0ubmFtZWAsICJtYXJrMyIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgbGlz
dC5nZXRFbnRyaWVzQnlUeXBlKCJtYXJrIilbMV0ubmFtZWAsICJtYXJrNCIpOworCisgICAgc2hv
dWxkVGhyb3coYGxpc3QuZ2V0RW50cmllc0J5TmFtZSgpYCk7CisgICAgc2hvdWxkQmVUcnVlKGBs
aXN0LmdldEVudHJpZXNCeU5hbWUoIm5vdC1yZWFsIikubGVuZ3RoID09PSAwYCk7CisgICAgc2hv
dWxkQmVUcnVlKGBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcmsxIikubGVuZ3RoID09PSAwYCk7
CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcmszIikubGVuZ3Ro
ID09PSAxYCk7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcmsz
IilbMF0gaW5zdGFuY2VvZiBQZXJmb3JtYW5jZUVudHJ5YCk7CisgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKGBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcmszIilbMF0ubmFtZWAsICJtYXJrMyIp
OworICAgIHNob3VsZEJlVHJ1ZShgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrNCIpLmxlbmd0
aCA9PT0gMWApOworICAgIHNob3VsZEJlVHJ1ZShgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJr
NCIpWzBdIGluc3RhbmNlb2YgUGVyZm9ybWFuY2VFbnRyeWApOworICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZyhgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrNCIpWzBdLm5hbWVgLCAibWFyazQi
KTsKKyAgICAKKyAgICBzaG91bGRUaHJvdyhgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKClgKTsKKyAg
ICBzaG91bGRCZVRydWUoYGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibm90LXJlYWwiKS5sZW5ndGgg
PT09IDBgKTsKKyAgICBzaG91bGRCZVRydWUoYGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibWFyazEi
KS5sZW5ndGggPT09IDBgKTsKKyAgICBzaG91bGRCZVRydWUoYGxpc3QuZ2V0RW50cmllc0J5TmFt
ZSgibWFyazMiKS5sZW5ndGggPT09IDFgKTsKKyAgICBzaG91bGRCZVRydWUoYGxpc3QuZ2V0RW50
cmllc0J5TmFtZSgibWFyazMiKVswXSBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50cnlgKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibWFyazMiKVsw
XS5uYW1lYCwgIm1hcmszIik7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJpZXNCeU5h
bWUoIm1hcms0IikubGVuZ3RoID09PSAxYCk7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVu
dHJpZXNCeU5hbWUoIm1hcms0IilbMF0gaW5zdGFuY2VvZiBQZXJmb3JtYW5jZUVudHJ5YCk7Cisg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcms0Iilb
MF0ubmFtZWAsICJtYXJrNCIpOworCisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJpZXNC
eU5hbWUoIm1hcmszIiwgIm5vdC1yZWFsIikubGVuZ3RoID09PSAwYCk7CisgICAgc2hvdWxkQmVU
cnVlKGBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcmszIiwgIm1hcmsiKS5sZW5ndGggPT09IDFg
KTsKKyAgICBzaG91bGRCZVRydWUoYGxpc3QuZ2V0RW50cmllc0J5TmFtZShudWxsLCAibWFyayIp
Lmxlbmd0aCA9PT0gMGApOworICAgIHNob3VsZEJlVHJ1ZShgbGlzdC5nZXRFbnRyaWVzQnlOYW1l
KHVuZGVmaW5lZCwgIm1hcmsiKS5sZW5ndGggPT09IDBgKTsKKworICAgIGZpbmlzaEpTVGVzdCgp
OworfSk7CitwZXJmb3JtYW5jZS5tYXJrKCJtYXJrMiIpOworb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50
cnlUeXBlczogWyJtYXJrIl19KTsKK3BlcmZvcm1hbmNlLm1hcmsoIm1hcmszIik7CitwZXJmb3Jt
YW5jZS5tYXJrKCJtYXJrNCIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1l
eGNlcHRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIv
cGVyZm9ybWFuY2Utb2JzZXJ2ZXItZXhjZXB0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMTIwNmZkMzNkMWEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1l
eGNlcHRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK0Vuc3VyZSBQZXJmb3JtYW5j
ZU9ic2VydmVyIEV4Y2VwdGlvbnMgYXJlIHByb3BvZ2F0ZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrIGZpcmVkCitQQVNTIG9u
ZXJyb3I6IEVYQ0VQVElPTiBNRVNTQUdFCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
b2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZXhjZXB0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1leGNlcHRpb24uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMmZiN2QxMjU0MWQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3Jt
YW5jZS1vYnNlcnZlci1leGNlcHRpb24uaHRtbApAQCAtMCwwICsxLDI1IEBACis8IURPQ1RZUEUg
SFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9u
KCJFbnN1cmUgUGVyZm9ybWFuY2VPYnNlcnZlciBFeGNlcHRpb25zIGFyZSBwcm9wb2dhdGVkLiIp
Oword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCit3aW5kb3cub25lcnJvciA9IGZ1bmN0
aW9uKG1lc3NhZ2UpIHsKKyAgICB0ZXN0UGFzc2VkKCJvbmVycm9yOiAiICsgbWVzc2FnZSk7Cisg
ICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK2xldCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9i
c2VydmVyKChsaXN0KSA9PiB7CisgICAgZGVidWcoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgY2FsbGJh
Y2sgZmlyZWQiKTsKKyAgICB0aHJvdyAiRVhDRVBUSU9OIE1FU1NBR0UiOworfSk7CitvYnNlcnZl
ci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbIm1hcmsiXX0pOworcGVyZm9ybWFuY2UubWFyaygibWFy
azEiKQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1uZXN0ZWQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2
ZXItbmVzdGVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMC4uZWJmZTA1NmE4ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1uZXN0ZWQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMjMgQEAKK1Rlc3QgUGVyZm9ybWFuY2VPYnNlcnZlciBoYW5kbGluZyBvZiBlbnRy
aWVzIGFkZGVkIHdoaWxlIGluIGNhbGxiYWNrLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIDEgY2FsbGJhY2sgZmlyZWQKK1BBU1MgbGlz
dC5nZXRFbnRyaWVzKCkubGVuZ3RoIGlzIDEKKyAtIG1hcmsxCitQQVNTIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIgMiBjYWxsYmFjayBmaXJlZAorUEFTUyBsaXN0LmdldEVudHJpZXMoKS5sZW5ndGggaXMg
MgorIC0gbWFyazEKKyAtIG1hcmsyCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgMSBjYWxsYmFj
ayBmaXJlZAorUEFTUyBsaXN0LmdldEVudHJpZXMoKS5sZW5ndGggaXMgMgorIC0gbWFyazIKKyAt
IG1hcmszCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgMiBjYWxsYmFjayBmaXJlZAorUEFTUyBs
aXN0LmdldEVudHJpZXMoKS5sZW5ndGggaXMgMQorIC0gbWFyazMKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1uZXN0ZWQuaHRtbCBi
L0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLW9ic2VydmVyL3BlcmZvcm1hbmNlLW9ic2VydmVyLW5l
c3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lNDczNjQy
YjRmMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLW9ic2VydmVy
L3BlcmZvcm1hbmNlLW9ic2VydmVyLW5lc3RlZC5odG1sCkBAIC0wLDAgKzEsNjEgQEAKKzwhRE9D
VFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3Jp
cHRpb24oIlRlc3QgUGVyZm9ybWFuY2VPYnNlcnZlciBoYW5kbGluZyBvZiBlbnRyaWVzIGFkZGVk
IHdoaWxlIGluIGNhbGxiYWNrLiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCit3
aW5kb3cuY2FsbGJhY2tDb3VudCA9IDA7Cit3aW5kb3cubGlzdCA9IG51bGw7CisKK2xldCBvYnNl
cnZlcjEgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigobGlzdCkgPT4geworICAgIHdpbmRvdy5s
aXN0ID0gbGlzdDsKKyAgICBjYWxsYmFja0NvdW50Kys7CisgICAgdGVzdFBhc3NlZCgiUGVyZm9y
bWFuY2VPYnNlcnZlciAxIGNhbGxiYWNrIGZpcmVkIik7CisKKyAgICBpZiAoY2FsbGJhY2tDb3Vu
dCA9PT0gMSkgeworICAgICAgICBwZXJmb3JtYW5jZS5tYXJrKCJtYXJrMiIpOworICAgICAgICBz
aG91bGRCZShgbGlzdC5nZXRFbnRyaWVzKCkubGVuZ3RoYCwgYDFgKTsKKyAgICB9IGVsc2UgaWYg
KGNhbGxiYWNrQ291bnQgPT09IDMpIHsKKyAgICAgICAgc2hvdWxkQmUoYGxpc3QuZ2V0RW50cmll
cygpLmxlbmd0aGAsIGAyYCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgdGVzdEZhaWxlZCgiVW5l
eHBlY3RlZCBjYWxsYmFjayBjb3VudCIpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9
CisKKyAgICBmb3IgKGxldCBtYXJrIG9mIGxpc3QuZ2V0RW50cmllcygpKQorICAgICAgICBkZWJ1
ZygiIC0gIiArIG1hcmsubmFtZSk7Cit9KTsKKworbGV0IG9ic2VydmVyMiA9IG5ldyBQZXJmb3Jt
YW5jZU9ic2VydmVyKChsaXN0KSA9PiB7CisgICAgd2luZG93Lmxpc3QgPSBsaXN0OworICAgIGNh
bGxiYWNrQ291bnQrKzsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVyIDIgY2Fs
bGJhY2sgZmlyZWQiKTsKKworICAgIGlmIChjYWxsYmFja0NvdW50ID09PSAyKSB7CisgICAgICAg
IHBlcmZvcm1hbmNlLm1hcmsoIm1hcmszIik7CisgICAgICAgIHNob3VsZEJlKGBsaXN0LmdldEVu
dHJpZXMoKS5sZW5ndGhgLCBgMmApOworICAgIH0gZWxzZSBpZiAoY2FsbGJhY2tDb3VudCA9PT0g
NCkgeworICAgICAgICBzaG91bGRCZShgbGlzdC5nZXRFbnRyaWVzKCkubGVuZ3RoYCwgYDFgKTsK
KyAgICB9IGVsc2UgeworICAgICAgICB0ZXN0RmFpbGVkKCJVbmV4cGVjdGVkIGNhbGxiYWNrIGNv
dW50Iik7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0KKworICAgIGZvciAobGV0IG1h
cmsgb2YgbGlzdC5nZXRFbnRyaWVzKCkpCisgICAgICAgIGRlYnVnKCIgLSAiICsgbWFyay5uYW1l
KTsKKworICAgIGlmIChjYWxsYmFja0NvdW50ID09PSA0KQorICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKK30pOworCitvYnNlcnZlcjEub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJtYXJrIl19KTsKK29i
c2VydmVyMi5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbIm1hcmsiXX0pOworcGVyZm9ybWFuY2UubWFy
aygibWFyazEiKQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1vcmRlci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1v
YnNlcnZlci1vcmRlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAuLjlhMTE0ZDJiNDNjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItb3JkZXItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMjEgQEAKK0Vuc3VyZSBQZXJmb3JtYW5jZU9ic2VydmVycyBhcmUgbm90aWZp
ZWQgaW4gb3JkZXIgb2YgcmVnaXN0cmF0aW9uIChvYnNlcnZlKS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciAxIGNhbGxiYWNrIGZpcmVk
CitQQVNTIGNvdW50IGlzIDEKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciAyIGNhbGxiYWNrIGZp
cmVkCitQQVNTIGNvdW50IGlzIDIKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciAzIGNhbGxiYWNr
IGZpcmVkCitQQVNTIGNvdW50IGlzIDMKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciA0IGNhbGxi
YWNrIGZpcmVkCitQQVNTIGNvdW50IGlzIDQKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciA1IGNh
bGxiYWNrIGZpcmVkCitQQVNTIGNvdW50IGlzIDUKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciA2
IGNhbGxiYWNrIGZpcmVkCitQQVNTIGNvdW50IGlzIDYKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wZXJm
b3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1vcmRlci5odG1sIGIvTGF5b3V0
VGVzdHMvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItb3JkZXIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZDQ1NTQ2MDgxZjYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3Jt
YW5jZS1vYnNlcnZlci1vcmRlci5odG1sCkBAIC0wLDAgKzEsNjMgQEAKKzwhRE9DVFlQRSBIVE1M
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIkVu
c3VyZSBQZXJmb3JtYW5jZU9ic2VydmVycyBhcmUgbm90aWZpZWQgaW4gb3JkZXIgb2YgcmVnaXN0
cmF0aW9uIChvYnNlcnZlKS4iKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKword2lu
ZG93LmNvdW50ID0gMDsKKworbGV0IG9ic2VydmVyMSA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVy
KChsaXN0KSA9PiB7CisgICAgY291bnQrKzsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9i
c2VydmVyIDEgY2FsbGJhY2sgZmlyZWQiKTsKKyAgICBzaG91bGRCZShgY291bnRgLCBgMWApOwor
fSk7CisKK2xldCBvYnNlcnZlcjIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigobGlzdCkgPT4g
eworICAgIGNvdW50Kys7CisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciAyIGNh
bGxiYWNrIGZpcmVkIik7CisgICAgc2hvdWxkQmUoYGNvdW50YCwgYDJgKTsKK30pOworCisvLyBF
bnN1cmUgY3JlYXRpb24gZG9lc24ndCBpbXBhY3Qgb3JkZXIuCitsZXQgb2JzZXJ2ZXJTcGVjaWFs
ID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGxpc3QpID0+IHsKKyAgICBjb3VudCsrOworICAg
IHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgNiBjYWxsYmFjayBmaXJlZCIpOworICAg
IHNob3VsZEJlKGBjb3VudGAsIGA2YCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKworbGV0
IG9ic2VydmVyMyA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKChsaXN0KSA9PiB7CisgICAgY291
bnQrKzsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVyIDMgY2FsbGJhY2sgZmly
ZWQiKTsKKyAgICBzaG91bGRCZShgY291bnRgLCBgM2ApOworfSk7CisKK2xldCBvYnNlcnZlcjQg
PSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigobGlzdCkgPT4geworICAgIGNvdW50Kys7CisgICAg
dGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciA0IGNhbGxiYWNrIGZpcmVkIik7CisgICAg
c2hvdWxkQmUoYGNvdW50YCwgYDRgKTsKK30pOworCitsZXQgb2JzZXJ2ZXI1ID0gbmV3IFBlcmZv
cm1hbmNlT2JzZXJ2ZXIoKGxpc3QpID0+IHsKKyAgICBjb3VudCsrOworICAgIHRlc3RQYXNzZWQo
IlBlcmZvcm1hbmNlT2JzZXJ2ZXIgNSBjYWxsYmFjayBmaXJlZCIpOworICAgIHNob3VsZEJlKGBj
b3VudGAsIGA1YCk7Cit9KTsKKworLy8gUmVnaXN0ZXIgYWxsIGluIG9yZGVyLgorZm9yIChsZXQg
byBvZiBbb2JzZXJ2ZXIxLCBvYnNlcnZlcjIsIG9ic2VydmVyU3BlY2lhbCwgb2JzZXJ2ZXIzLCBv
YnNlcnZlcjQsIG9ic2VydmVyNV0pCisgICAgby5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbIm1hcmsi
XX0pOworCisvLyBVbnJlZ2lzdGVyIGFuZCByZS1yZWdpc3RlciBtb3ZlcyB0aGlzIHRvIHRoZSBi
YWNrIG9mIHRoZSBsaW5lLgorb2JzZXJ2ZXJTcGVjaWFsLmRpc2Nvbm5lY3QoKTsKK29ic2VydmVy
U3BlY2lhbC5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbIm1hcmsiXX0pOworCitwZXJmb3JtYW5jZS5t
YXJrKCJtYXJrMSIpCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BlcmZvcm1hbmNlLW9ic2VydmVyL3BlcmZvcm1hbmNlLW9ic2VydmVyLXBlcmlvZGlj
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLW9ic2VydmVyL3BlcmZvcm1h
bmNlLW9ic2VydmVyLXBlcmlvZGljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMC4uMWI3MzBjZDBiM2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1wZXJpb2RpYy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorRW5zdXJlIFBlcmZvcm1hbmNlT2JzZXJ2ZXIg
Y2FsbGJhY2sgZmlyZXMgZm9yIGFsbCBvYnNlcnZlZCBlbnRyaWVzIGJldHdlZW4gb2JzZXJ2ZS9k
aXNjb25uZWN0IGNhbGxzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUGVyZm9y
bWFuY2VPYnNlcnZlciBjYWxsYmFjayBmaXJlZDogMSBlbnRyaWVzCitQQVNTIG1hcmsxCitQZXJm
b3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrIGZpcmVkOiAyIGVudHJpZXMKK1BBU1MgbWFyazIKK1BB
U1MgbWFyazMKK1BlcmZvcm1hbmNlT2JzZXJ2ZXIgY2FsbGJhY2sgZmlyZWQ6IDEgZW50cmllcwor
UEFTUyBtYXJrNAorUGVyZm9ybWFuY2VPYnNlcnZlciBjYWxsYmFjayBmaXJlZDogMSBlbnRyaWVz
CitQQVNTIG1hcms3CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVy
Zm9ybWFuY2Utb2JzZXJ2ZXItcGVyaW9kaWMuaHRtbCBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNl
LW9ic2VydmVyL3BlcmZvcm1hbmNlLW9ic2VydmVyLXBlcmlvZGljLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjM4NzQ2YjM4MjgyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIt
cGVyaW9kaWMuaHRtbApAQCAtMCwwICsxLDUwIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJFbnN1cmUgUGVyZm9y
bWFuY2VPYnNlcnZlciBjYWxsYmFjayBmaXJlcyBmb3IgYWxsIG9ic2VydmVkIGVudHJpZXMgYmV0
d2VlbiBvYnNlcnZlL2Rpc2Nvbm5lY3QgY2FsbHMuIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7CisKK2xldCBzaG91bGRFbmQgPSBmYWxzZTsKKworbGV0IG9ic2VydmVyID0gbmV3IFBl
cmZvcm1hbmNlT2JzZXJ2ZXIoKGxpc3QpID0+IHsKKyAgICBkZWJ1ZygiUGVyZm9ybWFuY2VPYnNl
cnZlciBjYWxsYmFjayBmaXJlZDogIiArIGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aCArICIgZW50
cmllcyIpOworICAgIGZvciAobGV0IG1hcmsgb2YgbGlzdC5nZXRFbnRyaWVzKCkpIHsKKyAgICAg
ICAgaWYgKG1hcmsubmFtZSA9PT0gIm1hcms1IiB8fCBtYXJrLm5hbWUgPT09ICJtYXJrNiIpCisg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJTaG91bGQgbm90IGhhdmUgb2JzZXJ2ZWQgIiArIG1hcmsu
bmFtZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQobWFyay5uYW1lKTsK
KyAgICB9CisgICAgaWYgKHNob3VsZEVuZCkKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsK
K29ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsibWFyayJdfSk7CisKKy8vIC0tLQorCitw
ZXJmb3JtYW5jZS5tYXJrKCJtYXJrMSIpOworCitzZXRUaW1lb3V0KCgpID0+IHsKKyAgICBwZXJm
b3JtYW5jZS5tYXJrKCJtYXJrMiIpOworICAgIHBlcmZvcm1hbmNlLm1hcmsoIm1hcmszIik7Cit9
LCA1MCk7CisKK3NldFRpbWVvdXQoKCkgPT4geworICAgIHBlcmZvcm1hbmNlLm1hcmsoIm1hcms0
Iik7CisgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOworICAgIHBlcmZvcm1hbmNlLm1hcmsoIm1h
cms1Iik7IC8vIE5PVCBzZWVuLgorfSwgMTAwKTsKKworc2V0VGltZW91dCgoKSA9PiB7CisgICAg
cGVyZm9ybWFuY2UubWFyaygibWFyazYiKTsgLy8gTk9UIHNlZW4uCisgICAgb2JzZXJ2ZXIub2Jz
ZXJ2ZSh7ZW50cnlUeXBlczogWyJtYXJrIl19KTsKKyAgICBwZXJmb3JtYW5jZS5tYXJrKCJtYXJr
NyIpOworICAgIHNob3VsZEVuZCA9IHRydWU7Cit9LCAxNTApOworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJm
b3JtYW5jZS10aW1lbGluZS1hcGktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2UtdGltZWxpbmUtYXBpLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZTNmMjA3NjMzZmYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS10aW1l
bGluZS1hcGktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDggQEAKK0Jhc2ljIEludGVyZmFjZSB0
ZXN0IGZvciBwZXJmb3JtYW5jZS10aW1lbGluZSBBUElzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworUGVyZm9ybWFuY2VFbnRyeQorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGlzIGRl
ZmluZWQuCitQQVNTICJuYW1lIiBpbiBQZXJmb3JtYW5jZUVudHJ5LnByb3RvdHlwZSBpcyB0cnVl
CitQQVNTICJlbnRyeVR5cGUiIGluIFBlcmZvcm1hbmNlRW50cnkucHJvdG90eXBlIGlzIHRydWUK
K1BBU1MgInN0YXJ0VGltZSIgaW4gUGVyZm9ybWFuY2VFbnRyeS5wcm90b3R5cGUgaXMgdHJ1ZQor
UEFTUyAiZHVyYXRpb24iIGluIFBlcmZvcm1hbmNlRW50cnkucHJvdG90eXBlIGlzIHRydWUKK1BB
U1MgbmV3IFBlcmZvcm1hbmNlRW50cnkoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBmdW5j
dGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IFBlcmZvcm1hbmNlRW50
cnkoKScpLgorCitQZXJmb3JtYW5jZSBleHRlbnNpb25zCitQQVNTIFBlcmZvcm1hbmNlLnByb3Rv
dHlwZS5nZXRFbnRyaWVzIGlzIGRlZmluZWQuCitQQVNTIFBlcmZvcm1hbmNlLnByb3RvdHlwZS5n
ZXRFbnRyaWVzQnlUeXBlIGlzIGRlZmluZWQuCitQQVNTIFBlcmZvcm1hbmNlLnByb3RvdHlwZS5n
ZXRFbnRyaWVzQnlOYW1lIGlzIGRlZmluZWQuCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXMo
KSBpbnN0YW5jZW9mIEFycmF5IGlzIHRydWUKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllcygp
Lmxlbmd0aCA9PT0gMCBpcyB0cnVlCitQQVNTIHBlcmZvcm1hbmNlLm1hcmsoInRlc3QiKTsgZGlk
IG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXMoKS5sZW5n
dGggPT09IDEgaXMgdHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKClbMF0gaW5zdGFu
Y2VvZiBQZXJmb3JtYW5jZUVudHJ5IGlzIHRydWUKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmll
cygpWzBdLm5hbWUgaXMgInRlc3QiCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXMoKVswXS5l
bnRyeVR5cGUgaXMgIm1hcmsiCitQQVNTIHR5cGVvZiBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKClb
MF0uc3RhcnRUaW1lID09PSAibnVtYmVyIiBpcyB0cnVlCitQQVNTIHR5cGVvZiBwZXJmb3JtYW5j
ZS5nZXRFbnRyaWVzKClbMF0uZHVyYXRpb24gPT09ICJudW1iZXIiIGlzIHRydWUKK1BBU1MgcGVy
Zm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5v
dCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJu
b3QtcmVhbCIpLmxlbmd0aCA9PT0gMCBpcyB0cnVlCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeVR5cGUoIm1hcmsiKS5sZW5ndGggPT09IDEgaXMgdHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5n
ZXRFbnRyaWVzQnlUeXBlKCJtYXJrIilbMF0gaW5zdGFuY2VvZiBQZXJmb3JtYW5jZUVudHJ5IGlz
IHRydWUKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibWFyayIpWzBdLm5hbWUg
aXMgInRlc3QiCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoIm1hcmsiKVswXS5l
bnRyeVR5cGUgaXMgIm1hcmsiCitQQVNTIHR5cGVvZiBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlU
eXBlKCJtYXJrIilbMF0uc3RhcnRUaW1lID09PSAibnVtYmVyIiBpcyB0cnVlCitQQVNTIHR5cGVv
ZiBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJtYXJrIilbMF0uZHVyYXRpb24gPT09ICJu
dW1iZXIiIGlzIHRydWUKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBwZXJmb3Jt
YW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJub3QtcmVhbCIpLmxlbmd0aCA9PT0gMCBpcyB0cnVlCitQ
QVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoInRlc3QiKS5sZW5ndGggPT09IDEgaXMg
dHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJ0ZXN0IilbMF0gaW5zdGFu
Y2VvZiBQZXJmb3JtYW5jZUVudHJ5IGlzIHRydWUKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmll
c0J5TmFtZSgidGVzdCIpWzBdLm5hbWUgaXMgInRlc3QiCitQQVNTIHBlcmZvcm1hbmNlLmdldEVu
dHJpZXNCeU5hbWUoInRlc3QiKVswXS5lbnRyeVR5cGUgaXMgIm1hcmsiCitQQVNTIHR5cGVvZiBw
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJ0ZXN0IilbMF0uc3RhcnRUaW1lID09PSAibnVt
YmVyIiBpcyB0cnVlCitQQVNTIHR5cGVvZiBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJ0
ZXN0IilbMF0uZHVyYXRpb24gPT09ICJudW1iZXIiIGlzIHRydWUKK1BBU1MgcGVyZm9ybWFuY2Uu
Z2V0RW50cmllc0J5TmFtZSgidGVzdCIsICJub3QtcmVhbCIpLmxlbmd0aCA9PT0gMCBpcyB0cnVl
CitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoInRlc3QiLCAibWFyayIpLmxlbmd0
aCA9PT0gMSBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIv
cGVyZm9ybWFuY2UtdGltZWxpbmUtYXBpLmh0bWwgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1v
YnNlcnZlci9wZXJmb3JtYW5jZS10aW1lbGluZS1hcGkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMC4uZTE3MzkxOTU2OTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS10aW1lbGluZS1hcGkuaHRt
bApAQCAtMCwwICsxLDU4IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJCYXNpYyBJbnRlcmZhY2UgdGVzdCBmb3Ig
cGVyZm9ybWFuY2UtdGltZWxpbmUgQVBJcy4iKTsKKworZGVidWcoIlBlcmZvcm1hbmNlRW50cnki
KTsKK3Nob3VsZEJlRGVmaW5lZCgiUGVyZm9ybWFuY2VFbnRyeSIpOworc2hvdWxkQmVUcnVlKGAi
bmFtZSIgaW4gUGVyZm9ybWFuY2VFbnRyeS5wcm90b3R5cGVgKTsKK3Nob3VsZEJlVHJ1ZShgImVu
dHJ5VHlwZSIgaW4gUGVyZm9ybWFuY2VFbnRyeS5wcm90b3R5cGVgKTsKK3Nob3VsZEJlVHJ1ZShg
InN0YXJ0VGltZSIgaW4gUGVyZm9ybWFuY2VFbnRyeS5wcm90b3R5cGVgKTsKK3Nob3VsZEJlVHJ1
ZShgImR1cmF0aW9uIiBpbiBQZXJmb3JtYW5jZUVudHJ5LnByb3RvdHlwZWApOworc2hvdWxkVGhy
b3coYG5ldyBQZXJmb3JtYW5jZUVudHJ5KClgKTsKKworLy8gTk9URTogVGhlIEFQSXMgYmVsb3cg
bWF5IGJlIGdvaW5nIGF3YXkuIFJlcGxhY2VkIGJ5IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuCisKK2Rl
YnVnKCIiKTsKK2RlYnVnKCJQZXJmb3JtYW5jZSBleHRlbnNpb25zIik7CitzaG91bGRCZURlZmlu
ZWQoYFBlcmZvcm1hbmNlLnByb3RvdHlwZS5nZXRFbnRyaWVzYCk7CitzaG91bGRCZURlZmluZWQo
YFBlcmZvcm1hbmNlLnByb3RvdHlwZS5nZXRFbnRyaWVzQnlUeXBlYCk7CitzaG91bGRCZURlZmlu
ZWQoYFBlcmZvcm1hbmNlLnByb3RvdHlwZS5nZXRFbnRyaWVzQnlOYW1lYCk7CisKK3Nob3VsZEJl
VHJ1ZShgcGVyZm9ybWFuY2UuZ2V0RW50cmllcygpIGluc3RhbmNlb2YgQXJyYXlgKTsKK3Nob3Vs
ZEJlVHJ1ZShgcGVyZm9ybWFuY2UuZ2V0RW50cmllcygpLmxlbmd0aCA9PT0gMGApOworc2hvdWxk
Tm90VGhyb3coYHBlcmZvcm1hbmNlLm1hcmsoInRlc3QiKTtgKTsKK3Nob3VsZEJlVHJ1ZShgcGVy
Zm9ybWFuY2UuZ2V0RW50cmllcygpLmxlbmd0aCA9PT0gMWApOworc2hvdWxkQmVUcnVlKGBwZXJm
b3JtYW5jZS5nZXRFbnRyaWVzKClbMF0gaW5zdGFuY2VvZiBQZXJmb3JtYW5jZUVudHJ5YCk7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoYHBlcmZvcm1hbmNlLmdldEVudHJpZXMoKVswXS5uYW1lYCwg
InRlc3QiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZyhgcGVyZm9ybWFuY2UuZ2V0RW50cmllcygp
WzBdLmVudHJ5VHlwZWAsICJtYXJrIik7CitzaG91bGRCZVRydWUoYHR5cGVvZiBwZXJmb3JtYW5j
ZS5nZXRFbnRyaWVzKClbMF0uc3RhcnRUaW1lID09PSAibnVtYmVyImApOworc2hvdWxkQmVUcnVl
KGB0eXBlb2YgcGVyZm9ybWFuY2UuZ2V0RW50cmllcygpWzBdLmR1cmF0aW9uID09PSAibnVtYmVy
ImApOworCitzaG91bGRUaHJvdyhgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgpYCk7Citz
aG91bGRCZVRydWUoYHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoIm5vdC1yZWFsIikubGVu
Z3RoID09PSAwYCk7CitzaG91bGRCZVRydWUoYHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUo
Im1hcmsiKS5sZW5ndGggPT09IDFgKTsKK3Nob3VsZEJlVHJ1ZShgcGVyZm9ybWFuY2UuZ2V0RW50
cmllc0J5VHlwZSgibWFyayIpWzBdIGluc3RhbmNlb2YgUGVyZm9ybWFuY2VFbnRyeWApOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKGBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJtYXJrIilb
MF0ubmFtZWAsICJ0ZXN0Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoYHBlcmZvcm1hbmNlLmdl
dEVudHJpZXNCeVR5cGUoIm1hcmsiKVswXS5lbnRyeVR5cGVgLCAibWFyayIpOworc2hvdWxkQmVU
cnVlKGB0eXBlb2YgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibWFyayIpWzBdLnN0YXJ0
VGltZSA9PT0gIm51bWJlciJgKTsKK3Nob3VsZEJlVHJ1ZShgdHlwZW9mIHBlcmZvcm1hbmNlLmdl
dEVudHJpZXNCeVR5cGUoIm1hcmsiKVswXS5kdXJhdGlvbiA9PT0gIm51bWJlciJgKTsKKworc2hv
dWxkVGhyb3coYHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoKWApOworc2hvdWxkQmVUcnVl
KGBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJub3QtcmVhbCIpLmxlbmd0aCA9PT0gMGAp
Oworc2hvdWxkQmVUcnVlKGBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJ0ZXN0IikubGVu
Z3RoID09PSAxYCk7CitzaG91bGRCZVRydWUoYHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUo
InRlc3QiKVswXSBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50cnlgKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZyhgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgidGVzdCIpWzBdLm5hbWVgLCAi
dGVzdCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlO
YW1lKCJ0ZXN0IilbMF0uZW50cnlUeXBlYCwgIm1hcmsiKTsKK3Nob3VsZEJlVHJ1ZShgdHlwZW9m
IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoInRlc3QiKVswXS5zdGFydFRpbWUgPT09ICJu
dW1iZXIiYCk7CitzaG91bGRCZVRydWUoYHR5cGVvZiBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlO
YW1lKCJ0ZXN0IilbMF0uZHVyYXRpb24gPT09ICJudW1iZXIiYCk7CitzaG91bGRCZVRydWUoYHBl
cmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoInRlc3QiLCAibm90LXJlYWwiKS5sZW5ndGggPT09
IDBgKTsKK3Nob3VsZEJlVHJ1ZShgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgidGVzdCIs
ICJtYXJrIikubGVuZ3RoID09PSAxYCk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9y
cy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9qcy9k
b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAppbmRleCBhNGFl
YTBhMzJiMy4uNWZmMDBjMjI2NGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Vm
bC9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0
cmlidXRlcy1leHBlY3RlZC50eHQKQEAgLTEwMjgsNiArMTAyOCwxNiBAQCBQQVNTIE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJyku
aGFzT3duUHJvcAogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwg
J1BlcmZvcm1hbmNlTmF2aWdhdGlvbicpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQog
UEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNl
TmF2aWdhdGlvbicpLmVudW1lcmFibGUgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5jb25maWd1cmFi
bGUgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwg
J1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS52YWx1ZSBpcyBQZXJmb3JtYW5jZU9ic2VydmVyCitQQVNT
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNl
cnZlcicpLmhhc093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS5oYXNPd25Q
cm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuZW51bWVyYWJsZSBpcyBmYWxzZQor
UEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNl
T2JzZXJ2ZXInKS5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS52YWx1
ZSBpcyBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0CitQQVNTIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhh
c093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5oYXNPd25Q
cm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuZW51bWVyYWJsZSBp
cyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1Bl
cmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5jb25maWd1cmFibGUgaXMgdHJ1ZQogUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlVGltaW5n
JykudmFsdWUgaXMgUGVyZm9ybWFuY2VUaW1pbmcKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZVRpbWluZycpLmhhc093blByb3BlcnR5KCdn
ZXQnKSBpcyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2Jh
bCwgJ1BlcmZvcm1hbmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvanMvZG9tL2dsb2JhbC1jb25zdHJ1
Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
anMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKaW5kZXgg
NTJhZDlmYzU0M2IuLjNlNDU4Nzc5OTVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3Jz
LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CkBAIC0xMTU4LDYgKzExNTgsMTYgQEAgUEFTUyBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlv
bicpLmhhc093blByb3AKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9i
YWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFs
c2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3Jt
YW5jZU5hdmlnYXRpb24nKS5lbnVtZXJhYmxlIGlzIGZhbHNlCiBQQVNTIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuY29uZmln
dXJhYmxlIGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9i
YWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykudmFsdWUgaXMgUGVyZm9ybWFuY2VPYnNlcnZlcgor
UEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNl
T2JzZXJ2ZXInKS5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuaGFz
T3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmVudW1lcmFibGUgaXMgZmFs
c2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3Jt
YW5jZU9ic2VydmVyJykuY29uZmlndXJhYmxlIGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0Jyku
dmFsdWUgaXMgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdAorUEFTUyBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Qn
KS5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuaGFz
T3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmVudW1lcmFi
bGUgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWws
ICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuY29uZmlndXJhYmxlIGlzIHRydWUKIFBB
U1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZVRp
bWluZycpLnZhbHVlIGlzIFBlcmZvcm1hbmNlVGltaW5nCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VUaW1pbmcnKS5oYXNPd25Qcm9wZXJ0
eSgnZ2V0JykgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihn
bG9iYWwsICdQZXJmb3JtYW5jZVRpbWluZycpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxz
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWVsY2FwaXRhbi9qcy9kb20v
Z2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy1lbGNhcGl0YW4vanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmli
dXRlcy1leHBlY3RlZC50eHQKaW5kZXggYWI5MWI4ZTVmYzIuLjdmYzE4ZWFjMTc4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtZWxjYXBpdGFuL2pzL2RvbS9nbG9iYWwtY29u
c3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy1lbGNhcGl0YW4vanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1l
eHBlY3RlZC50eHQKQEAgLTExOTMsNiArMTE5MywxNiBAQCBQQVNTIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuaGFzT3duUHJv
cAogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1h
bmNlTmF2aWdhdGlvbicpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQogUEFTUyBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlv
bicpLmVudW1lcmFibGUgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5jb25maWd1cmFibGUgaXMgdHJ1
ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1h
bmNlT2JzZXJ2ZXInKS52YWx1ZSBpcyBQZXJmb3JtYW5jZU9ic2VydmVyCitQQVNTIE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmhh
c093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS5oYXNPd25Qcm9wZXJ0eSgn
c2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9i
YWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFTUyBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXIn
KS5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS52YWx1ZSBpcyBQZXJm
b3JtYW5jZU9ic2VydmVyRW50cnlMaXN0CitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhhc093blByb3Bl
cnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5oYXNPd25Qcm9wZXJ0eSgn
c2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9i
YWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuZW51bWVyYWJsZSBpcyBmYWxzZQor
UEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNl
T2JzZXJ2ZXJFbnRyeUxpc3QnKS5jb25maWd1cmFibGUgaXMgdHJ1ZQogUEFTUyBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlVGltaW5nJykudmFsdWUg
aXMgUGVyZm9ybWFuY2VUaW1pbmcKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihnbG9iYWwsICdQZXJmb3JtYW5jZVRpbWluZycpLmhhc093blByb3BlcnR5KCdnZXQnKSBpcyBm
YWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZv
cm1hbmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3Jz
LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9q
cy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAppbmRleCBh
YjkxYjhlNWZjMi4uN2ZjMThlYWMxNzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azEvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9qcy9kb20vZ2xvYmFsLWNvbnN0
cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApAQCAtMTE5Myw2ICsxMTkzLDE2IEBAIFBB
U1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5h
dmlnYXRpb24nKS5oYXNPd25Qcm9wCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuaGFzT3duUHJvcGVydHkoJ3NldCcp
IGlzIGZhbHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAn
UGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuZW51bWVyYWJsZSBpcyBmYWxzZQogUEFTUyBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlvbicp
LmNvbmZpZ3VyYWJsZSBpcyB0cnVlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLnZhbHVlIGlzIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJm
b3JtYW5jZU9ic2VydmVyJykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZhbHNlCitQQVNTIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZl
cicpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS5lbnVtZXJhYmxl
IGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAn
UGVyZm9ybWFuY2VPYnNlcnZlcicpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCitQQVNTIE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5
TGlzdCcpLnZhbHVlIGlzIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QKK1BBU1MgT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50
cnlMaXN0JykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlz
dCcpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5l
bnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
Z2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmNvbmZpZ3VyYWJsZSBpcyB0
cnVlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9y
bWFuY2VUaW1pbmcnKS52YWx1ZSBpcyBQZXJmb3JtYW5jZVRpbWluZwogUEFTUyBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlVGltaW5nJykuaGFzT3du
UHJvcGVydHkoJ2dldCcpIGlzIGZhbHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VUaW1pbmcnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0Jykg
aXMgZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy15b3NlbWl0ZS9q
cy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy15b3NlbWl0ZS9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1h
dHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAppbmRleCBkNTE3NTY3NDM3Zi4uYjA4MWFkMmVkY2QgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy15b3NlbWl0ZS9qcy9kb20vZ2xvYmFs
LWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMteW9zZW1pdGUvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRl
cy1leHBlY3RlZC50eHQKQEAgLTExODgsNiArMTE4OCwxNiBAQCBQQVNTIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuaGFzT3du
UHJvcAogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZv
cm1hbmNlTmF2aWdhdGlvbicpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQogUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdh
dGlvbicpLmVudW1lcmFibGUgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5jb25maWd1cmFibGUgaXMg
dHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZv
cm1hbmNlT2JzZXJ2ZXInKS52YWx1ZSBpcyBQZXJmb3JtYW5jZU9ic2VydmVyCitQQVNTIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicp
Lmhhc093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS5oYXNPd25Qcm9wZXJ0
eSgnc2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihn
bG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2
ZXInKS5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS52YWx1ZSBpcyBQ
ZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0CitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhhc093blBy
b3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5oYXNPd25Qcm9wZXJ0
eSgnc2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihn
bG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuZW51bWVyYWJsZSBpcyBmYWxz
ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1h
bmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5jb25maWd1cmFibGUgaXMgdHJ1ZQogUEFTUyBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlVGltaW5nJykudmFs
dWUgaXMgUGVyZm9ybWFuY2VUaW1pbmcKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZVRpbWluZycpLmhhc093blByb3BlcnR5KCdnZXQnKSBp
cyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1Bl
cmZvcm1hbmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMt
YXR0cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvanMvZG9t
L2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKaW5kZXggZDU3ZTcx
YzIwYTYuLmFhODBlZTQ1MGU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
anMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJp
YnV0ZXMtZXhwZWN0ZWQudHh0CkBAIC0xMTk4LDYgKzExOTgsMTYgQEAgUEFTUyBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlvbicpLmhh
c093blByb3AKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQ
ZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKIFBB
U1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5h
dmlnYXRpb24nKS5lbnVtZXJhYmxlIGlzIGZhbHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuY29uZmlndXJhYmxl
IGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQ
ZXJmb3JtYW5jZU9ic2VydmVyJykudmFsdWUgaXMgUGVyZm9ybWFuY2VPYnNlcnZlcgorUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2
ZXInKS5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuaGFzT3duUHJv
cGVydHkoJ3NldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmVudW1lcmFibGUgaXMgZmFsc2UKK1BB
U1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9i
c2VydmVyJykuY29uZmlndXJhYmxlIGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykudmFsdWUg
aXMgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdAorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5oYXNP
d25Qcm9wZXJ0eSgnZ2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuaGFzT3duUHJv
cGVydHkoJ3NldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmVudW1lcmFibGUgaXMg
ZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJm
b3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuY29uZmlndXJhYmxlIGlzIHRydWUKIFBBU1MgT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZVRpbWluZycp
LnZhbHVlIGlzIFBlcmZvcm1hbmNlVGltaW5nCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VUaW1pbmcnKS5oYXNPd25Qcm9wZXJ0eSgnZ2V0
JykgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWws
ICdQZXJmb3JtYW5jZVRpbWluZycpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0
b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2pz
L2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CmluZGV4IDY2
YWVhMmQ5YmFkLi42ZTVkZTUwY2YzZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1h
dHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApAQCAtODg4LDYgKzg4OCwxNiBAQCBQQVNTIE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJyku
aGFzT3duUHJvcAogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwg
J1BlcmZvcm1hbmNlTmF2aWdhdGlvbicpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQog
UEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNl
TmF2aWdhdGlvbicpLmVudW1lcmFibGUgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5jb25maWd1cmFi
bGUgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwg
J1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS52YWx1ZSBpcyBQZXJmb3JtYW5jZU9ic2VydmVyCitQQVNT
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNl
cnZlcicpLmhhc093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS5oYXNPd25Q
cm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuZW51bWVyYWJsZSBpcyBmYWxzZQor
UEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNl
T2JzZXJ2ZXInKS5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS52YWx1
ZSBpcyBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0CitQQVNTIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhh
c093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5oYXNPd25Q
cm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuZW51bWVyYWJsZSBp
cyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1Bl
cmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5jb25maWd1cmFibGUgaXMgdHJ1ZQogUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlVGltaW5n
JykudmFsdWUgaXMgUGVyZm9ybWFuY2VUaW1pbmcKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZVRpbWluZycpLmhhc093blByb3BlcnR5KCdn
ZXQnKSBpcyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2Jh
bCwgJ1BlcmZvcm1hbmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAzODFiMDEzNzA4Zi4uODg3NjFmOGZjMzUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE3LTAxLTI4ICBKb3NlcGgg
UGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IFBlcmZv
cm1hbmNlT2JzZXJ2ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE2NzU0NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzAyNDc5NTk+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL0NvbW1v
bklkZW50aWZpZXJzLmg6CisKIDIwMTctMDEtMjcgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRl
YUBnbWFpbC5jb20+CiAKICAgICAgICAgTGlmdCB0ZW1wbGF0ZSBlc2NhcGUgc2VxdWVuY2UgcmVz
dHJpY3Rpb25zIGluIHRhZ2dlZCB0ZW1wbGF0ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4IDQ1NWE0MTJlMmI3Li41Nzg3YWY1
NjAyMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRl
bnRpZmllcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVu
dGlmaWVycy5oCkBAIC04OSw2ICs4OSw4IEBACiAgICAgbWFjcm8oUGVyZm9ybWFuY2VFbnRyeUxp
c3QpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU1hcmspIFwKICAgICBtYWNybyhQZXJmb3JtYW5j
ZU1lYXN1cmUpIFwKKyAgICBtYWNybyhQZXJmb3JtYW5jZU9ic2VydmVyKSBcCisgICAgbWFjcm8o
UGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQcm9taXNlKSBcCiAgICAgbWFjcm8oUHJveHkpIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNDQzMTZkZWNiZDQuLjVjY2RkODNlMTBiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dApAQCAtNjAxLDYgKzYwMSw5IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURM
X0ZJTEVTCiAgICAgcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbAogICAgIHBhZ2UvUGVyZm9ybWFu
Y2VNYXJrLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbAorICAgIHBhZ2UvUGVy
Zm9ybWFuY2VPYnNlcnZlci5pZGwKKyAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFj
ay5pZGwKKyAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsCiAgICAgcGFn
ZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsCkBAIC0xOTkwLDYgKzE5
OTMsOCBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmcu
Y3BwCiAgICAgcGFnZS9QZXJmb3JtYW5jZU1vbml0b3IuY3BwCiAgICAgcGFnZS9QZXJmb3JtYW5j
ZU5hdmlnYXRpb24uY3BwCisgICAgcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAorICAgIHBh
Z2UvUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAKICAgICBwYWdlL1BlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcuY3BwCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5jcHAKICAgICBw
YWdlL1BlcmZvcm1hbmNlVXNlclRpbWluZy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjY2M2YWVmYTRiMy4u
ZmFlMTA2YTM3NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSw4NiBAQAogMjAxNy0wMS0yOCAgSm9z
ZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCisgICAgICAgIEltcGxlbWVudCBQ
ZXJmb3JtYW5jZU9ic2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjc1NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwMjQ3OTU5PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBwZXJm
b3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1hcGkuaHRtbAorICAgICAgICAg
ICAgICAgcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItYmFzaWMuaHRt
bAorICAgICAgICAgICAgICAgcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2
ZXItZXhjZXB0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLW9ic2VydmVyL3Bl
cmZvcm1hbmNlLW9ic2VydmVyLW5lc3RlZC5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5j
ZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1vcmRlci5odG1sCisgICAgICAgICAgICAg
ICBwZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1wZXJpb2RpYy5odG1s
CisgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS10aW1lbGlu
ZS1hcGkuaHRtbAorCisgICAgICAgIFRoaXMgaW1wbGVtZW50cyBQZXJmb3JtYW5jZU9ic2VydmVy
IGZyb20gUGVyZm9ybWFuY2UgVGltZWxpbmUgTGV2ZWwgMjoKKyAgICAgICAgaHR0cHM6Ly93M2Mu
Z2l0aHViLmlvL3BlcmZvcm1hbmNlLXRpbWVsaW5lLworCisgICAgICAgICogQ01ha2VMaXN0cy50
eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgIE5ldyBmaWxlcy4KKworICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjptYXJrKToKKyAgICAgICAgKFdlYkNvcmU6OlBl
cmZvcm1hbmNlOjptZWFzdXJlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpyZWdp
c3RlclBlcmZvcm1hbmNlT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6
OnVucmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZv
cm1hbmNlOjpxdWV1ZUVudHJ5KToKKyAgICAgICAgUmVnaXN0ZXIgUGVyZm9ybWFuY2VPYnNlcnZl
cnMgd2l0aCB0aGUgUGVyZm9ybWFuY2Ugb2JqZWN0LgorICAgICAgICBXaGVuIG5ldyBQZXJmb3Jt
YW5jZUVudHJpZXMgYXJlIGNyZWF0ZWQgKE1hcmsgYW5kIE1lYXN1cmUKKyAgICAgICAgcmlnaHQg
bm93KSBjaGVjayB0aGVtIGFnYWluc3Qgb2JzZXJ2ZXJzLgorCisgICAgICAgICogcGFnZS9QZXJm
b3JtYW5jZUVudHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50cnk6OlBl
cmZvcm1hbmNlRW50cnkpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6dHlw
ZUZvckVudHJ5VHlwZVN0cmluZyk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5Lmg6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojp0eXBlKToKKyAgICAgICAgR2l2
ZSBQZXJmb3JtYW5jZUVudHJ5IGEgY29udmVuaWVuY2UgZW51bSBmb3IgZWFzeSBjb21wYXJpc29u
CisgICAgICAgIGFuZCB0byBrbm93IGlmIGl0IGlzIG9uZSBvZiB0aGUgYnVpbHQtaW4ga25vd24g
dHlwZXMgKHdoaWNoIHRoZQorICAgICAgICBQZXJmb3JtYW5jZU9ic2VydmVyIEFQSSB0YWtlcyBp
bnRvIGFjY291bnQpLgorCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyOjpQZXJmb3JtYW5j
ZU9ic2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlT2JzZXJ2ZXI6Om9ic2Vy
dmUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6ZGlzY29ubmVjdCk6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyOjpxdWV1ZUVudHJ5KToKKyAg
ICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlT2JzZXJ2ZXI6OmRlbGl2ZXIpOgorICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFu
Y2VPYnNlcnZlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlT2JzZXJ2
ZXI6OnR5cGVGaWx0ZXIpOgorICAgICAgICAtIFR5cGVFcnJvcnMgb24gb2JzZXJ2ZSBiYWQgYmVo
YXZpb3IKKyAgICAgICAgLSBDb21wbGV0ZWx5IHJlcGxhY2UgdHlwZXMgZmlsdGVyIG9uIG9ic2Vy
dmUKKyAgICAgICAgLSBIYW5kbGUgcmVnaXN0ZXIgYW5kIHVucmVnaXN0ZXIKKyAgICAgICAgLSBI
YW5kbGUgY2FsbGluZyB0aGUgY2FsbGJhY2sKKworICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VP
YnNlcnZlckNhbGxiYWNrLmlkbDogQWRkZWQuCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU9i
c2VydmVyRW50cnlMaXN0LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZU9ic2VydmVyRW50cnlMaXN0OjpQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Q6OmdldEVudHJpZXMpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdDo6Z2V0RW50cmll
c0J5VHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0
OjpnZXRFbnRyaWVzQnlOYW1lKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJF
bnRyeUxpc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxp
c3Q6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0
LmlkbDogQWRkZWQuCisgICAgICAgIEltcGxlbWVudCBzb3J0aW5nIGFuZCBmaWx0ZXJpbmcgb2Yg
ZW50cmllcy4KKworICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGw6IEFkZGVk
LgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmg6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2s6On5QZXJmb3JtYW5jZU9ic2Vy
dmVyQ2FsbGJhY2spOgorICAgICAgICBNb3N0bHkgYXV0b2dlbmVyYXRlZC4KKworICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2VVc2VyVGltaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJU
aW1pbmc6Om1hcmspOgorICAgICAgICAoV2ViQ29yZTo6VXNlclRpbWluZzo6bWVhc3VyZSk6Cisg
ICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVVzZXJUaW1pbmcuaDoKKyAgICAgICAgVXBkYXRlIHRo
ZXNlIHRvIHJldHVybiB0aGUgZW50cnkgc28gaXQgY2FuIGJlIHBhc3NlZCBvbiB0bworICAgICAg
ICBhbnkgaW50ZXJlc3RlZCBQZXJmb3JtYW5jZU9ic2VydmVycy4KKworMjAxNy0wMS0yOCAgSm9z
ZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCiAgICAgICAgIEFkZCBVc2VyIFRp
bWluZyBFeHBlcmltZW50YWwgRmVhdHVyZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY3NTQyCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMjc0NjMw
Nz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDM4ZTdjYjkzMzlkLi43MTA2NmM2
MjlkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC01ODQsNiArNTg0LDkgQEAg
SlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU1hcmsu
aWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwgXAorICAgICQoV2ViQ29y
ZSkvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbCBcCisgICAgJChXZWJDb3JlKS9wYWdlL1Bl
cmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwgXAorICAgICQoV2ViQ29yZSkvcGFnZS9QZXJm
b3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFu
Y2VUaW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvU2NyZWVuLmlkbCBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYTNl
YmJkMWJhYjAuLmMwYmRiMjJlNDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00MDU4LDYgKzQwNTgsMTcgQEAKIAkJQTVBMkFG
MEIxODI5NzM0MzAwREUxNzI5IC8qIFBhZ2VEZWJ1Z2dhYmxlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QTJBRjA5MTgyOTczNDMwMERFMTcyOSAv
KiBQYWdlRGVidWdnYWJsZS5jcHAgKi87IH07CiAJCUE1QTJBRjBDMTgyOTczNDMwMERFMTcyOSAv
KiBQYWdlRGVidWdnYWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTVBMkFGMEExODI5NzM0MzAwREUxNzI5IC8qIFBhZ2VEZWJ1Z2dhYmxlLmggKi87
IH07CiAJCUE1QTdBQTQzMTMyRjBFQ0MwMEQzQTNDMiAvKiBBdXRvY2FwaXRhbGl6ZVR5cGVzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUE3QUE0MjEz
MkYwRUNDMDBEM0EzQzIgLyogQXV0b2NhcGl0YWxpemVUeXBlcy5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1QTk5MzNEMUUzN0ZCMTkwMDVCNUU0
RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNUE5OTMzNjFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VP
YnNlcnZlci5oICovOyB9OworCQlBNUE5OTMzRTFFMzdGQjFDMDA1QjVFNEQgLyogUGVyZm9ybWFu
Y2VPYnNlcnZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNUE5OTMzNTFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAg
Ki87IH07CisJCUE1QTk5MzNGMUUzN0ZCMUYwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVy
Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE1QTk5MzM4MUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2su
aCAqLzsgfTsKKwkJQTVBOTkzNDAxRTM3RkIyNTAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2
ZXJFbnRyeUxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTVBOTkzM0ExRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRy
eUxpc3QuY3BwICovOyB9OworCQlBNUE5OTM0MTFFMzdGQjI4MDA1QjVFNEQgLyogUGVyZm9ybWFu
Y2VPYnNlcnZlckVudHJ5TGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTVBOTkzM0IxRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2
ZXJFbnRyeUxpc3QuaCAqLzsgfTsKKwkJQTVBOTkzNDgxRTM4MDlDNjAwNUI1RTREIC8qIEpTUGVy
Zm9ybWFuY2VPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTVBOTkzNDMxRTM4MDk5OTAwNUI1RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZl
ci5oICovOyB9OworCQlBNUE5OTM0OTFFMzgwOUM5MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9i
c2VydmVyQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTVBOTkzNDQxRTM4MDk5OTAwNUI1RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZl
ckNhbGxiYWNrLmNwcCAqLzsgfTsKKwkJQTVBOTkzNEExRTM4MDlDQjAwNUI1RTREIC8qIEpTUGVy
Zm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNUE5OTM0NTFFMzgwOTk5MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5j
ZU9ic2VydmVyQ2FsbGJhY2suaCAqLzsgfTsKKwkJQTVBOTkzNEIxRTM4MDlDRDAwNUI1RTREIC8q
IEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUE5OTM0NjFFMzgwOTk5MDA1QjVFNEQgLyogSlNQ
ZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmNwcCAqLzsgfTsKKwkJQTVBOTkzNEMxRTM4MDlD
RjAwNUI1RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVBOTkzNDcxRTM4MDk5OTAwNUI1
RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5oICovOyB9OworCQlBNUE5OTM0
RDFFMzgwOUQ3MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2VydmVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QTk5MzQyMUUzODA5OTkwMDVC
NUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwICovOyB9OwogCQlBNUFGQjM0RjExNTE1
MUE3MDBCMDQ1Q0IgLyogU3RlcFJhbmdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1QUZCMzREMTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2Uu
Y3BwICovOyB9OwogCQlBNUFGQjM1MDExNTE1MUE3MDBCMDQ1Q0IgLyogU3RlcFJhbmdlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUFGQjM0RTExNTE1
MUE3MDBCMDQ1Q0IgLyogU3RlcFJhbmdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTVERUJEQTMxNkZCOTA4NzAwODM2RkUwIC8qIFdlYktpdFBs
YXliYWNrVGFyZ2V0QXZhaWxhYmlsaXR5RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVERUJEOUYxNkZCOTA4NzAwODM2RkUwIC8qIFdlYktp
dFBsYXliYWNrVGFyZ2V0QXZhaWxhYmlsaXR5RXZlbnQuY3BwICovOyB9OwpAQCAtMTE3NzQsNiAr
MTE3ODUsMjAgQEAKIAkJQTVBMkFGMDkxODI5NzM0MzAwREUxNzI5IC8qIFBhZ2VEZWJ1Z2dhYmxl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhZ2VEZWJ1Z2dhYmxl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTVBMkFGMEExODI5NzM0MzAwREUx
NzI5IC8qIFBhZ2VEZWJ1Z2dhYmxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFBhZ2VEZWJ1Z2dhYmxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1QTdBQTQy
MTMyRjBFQ0MwMEQzQTNDMiAvKiBBdXRvY2FwaXRhbGl6ZVR5cGVzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEF1dG9jYXBpdGFsaXplVHlwZXMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTVBOTkzMzUxRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVyZm9ybWFu
Y2VPYnNlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QTk5MzM2MUUz
N0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTVBOTkzMzcxRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2
ZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUE5OTMzODFFMzdGQUZEMDA1QjVFNEQgLyog
UGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlBNUE5OTMzOTFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZl
ckNhbGxiYWNrLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJmb3JtYW5jZU9ic2VydmVy
Q2FsbGJhY2suaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUE5OTMzQTFFMzdG
QUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVBOTkzM0IxRTM3RkFGRDAwNUI1
RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBNUE5OTMzQzFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFu
Y2VPYnNlcnZlckVudHJ5TGlzdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVyZm9ybWFu
Y2VPYnNlcnZlckVudHJ5TGlzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1
QTk5MzQyMUUzODA5OTkwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNQZXJmb3JtYW5jZU9ic2VydmVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVBOTkzNDMxRTM4MDk5OTAwNUI1RTRE
IC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQTVBOTkzNDQxRTM4MDk5OTAwNUI1RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxi
YWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUGVyZm9ybWFu
Y2VPYnNlcnZlckNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVB
OTkzNDUxRTM4MDk5OTAwNUI1RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUGVyZm9ybWFuY2VPYnNlcnZlckNh
bGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QTk5MzQ2MUUzODA5OTkw
MDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVBOTkzNDcxRTM4MDk5OTAwNUI1
RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTVBRkIzNEQxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBS
YW5nZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdGVwUmFuZ2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNUFGQjM0RTExNTE1MUE3MDBCMDQ1
Q0IgLyogU3RlcFJhbmdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0ZXBS
YW5nZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNUM5NzRDRjExNDg1RkYxMDA2
NkYyQUIgLyogS2V5RXZlbnRDb2NvYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBLZXlFdmVudENvY29hLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTMxNSwx
MiArMTUzNDAsMTIgQEAKIAkJCQkwNzQ0RUNFQzFFMEM0QUU1MDAwRDA5NDQgLyogTW9ja1JlYWx0
aW1lQXVkaW9Tb3VyY2VNYWMubW0gKi8sCiAJCQkJMDdFRTc2RUQxQkVBNjE5ODAwRjg5MTMzIC8q
IE1vY2tSZWFsdGltZVZpZGVvU291cmNlTWFjLmggKi8sCiAJCQkJMDdFRTc2RUUxQkVBNjE5ODAw
Rjg5MTMzIC8qIE1vY2tSZWFsdGltZVZpZGVvU291cmNlTWFjLm1tICovLAorCQkJCTQxMTAzQUFB
MUUzOTc5MEEwMDc2OUYwMyAvKiBSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuY3BwICovLAor
CQkJCTQxMTAzQUE5MUUzOTc5MEEwMDc2OUYwMyAvKiBSZWFsdGltZUluY29taW5nQXVkaW9Tb3Vy
Y2UuaCAqLywKIAkJCQk0QTBGRkFBMzFBQUY1RUY2MDA2MjgwM0IgLyogUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlck1hYy5jcHAgKi8sCiAJCQkJNEEwRkZBQTQxQUFGNUVGNjAwNjI4MDNCIC8qIFJl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaCAqLywKIAkJCQk0MTEwM0FBNzFFMzk3OTBBMDA3
NjlGMDMgLyogUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLmNwcCAqLywKIAkJCQk0MTEwM0FB
ODFFMzk3OTBBMDA3NjlGMDMgLyogUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLmggKi8sCi0J
CQkJNDExMDNBQTkxRTM5NzkwQTAwNzY5RjAzIC8qIFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJj
ZS5oICovLAotCQkJCTQxMTAzQUFBMUUzOTc5MEEwMDc2OUYwMyAvKiBSZWFsdGltZUluY29taW5n
QXVkaW9Tb3VyY2UuY3BwICovLAogCQkJCTA3RDYzNzNFMUJCMEIxMTMwMDI1NkNFOSAvKiBXZWJB
dWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5oICovLAogCQkJCTA3RDYzNzNGMUJCMEIxMTMwMDI1
NkNFOSAvKiBXZWJBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5tbSAqLywKIAkJCSk7CkBAIC0x
NjcxOSw4ICsxNjc0NCw4IEBACiAJCQkJNTEwNThBRDgxRDY3OTI1NzAwOUE1MzhDIC8qIE1vY2tH
YW1lcGFkLmggKi8sCiAJCQkJNTEwNThBRDkxRDY3OTI1NzAwOUE1MzhDIC8qIE1vY2tHYW1lcGFk
UHJvdmlkZXIuY3BwICovLAogCQkJCTUxMDU4QURBMUQ2NzkyNTcwMDlBNTM4QyAvKiBNb2NrR2Ft
ZXBhZFByb3ZpZGVyLmggKi8sCi0JCQkJNDE1N0VCRjgxRTNBQjA2ODAwQUM5RkU5IC8qIE1vY2tM
aWJXZWJSVENQZWVyQ29ubmVjdGlvbi5oICovLAogCQkJCTQxNTdFQkY5MUUzQUIwNjgwMEFDOUZF
OSAvKiBNb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uY3BwICovLAorCQkJCTQxNTdFQkY4MUUz
QUIwNjgwMEFDOUZFOSAvKiBNb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uaCAqLywKIAkJCQky
RDZGM0U4QTFDMUVDQjFDMDA2MURCRDQgLyogTW9ja1BhZ2VPdmVybGF5LmNwcCAqLywKIAkJCQky
RDZGM0U4QjFDMUVDQjFDMDA2MURCRDQgLyogTW9ja1BhZ2VPdmVybGF5LmggKi8sCiAJCQkJMkQ2
RjNFOEMxQzFFQ0IxQzAwNjFEQkQ0IC8qIE1vY2tQYWdlT3ZlcmxheS5pZGwgKi8sCkBAIC0xODEy
OSw2ICsxODE1NCwxNCBAQAogCQkJCThBRjRFNTUyMTFEQzVBMzYwMDBFRDNERSAvKiBQZXJmb3Jt
YW5jZU5hdmlnYXRpb24uY3BwICovLAogCQkJCThBRjRFNTUzMTFEQzVBMzYwMDBFRDNERSAvKiBQ
ZXJmb3JtYW5jZU5hdmlnYXRpb24uaCAqLywKIAkJCQk4QUY0RTU1NDExREM1QTM2MDAwRUQzREUg
LyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbCAqLywKKwkJCQlBNUE5OTMzNTFFMzdGQUZEMDA1
QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAgKi8sCisJCQkJQTVBOTkzMzYxRTM3RkFG
RDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuaCAqLywKKwkJCQlBNUE5OTMzNzFFMzdG
QUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwgKi8sCisJCQkJQTVBOTkzMzgx
RTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5oICovLAorCQkJ
CUE1QTk5MzM5MUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2su
aWRsICovLAorCQkJCUE1QTk5MzNBMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2Vy
dmVyRW50cnlMaXN0LmNwcCAqLywKKwkJCQlBNUE5OTMzQjFFMzdGQUZEMDA1QjVFNEQgLyogUGVy
Zm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5oICovLAorCQkJCUE1QTk5MzNDMUUzN0ZBRkQwMDVC
NUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCAqLywKIAkJCQk4NjUxMkVE
QjE1NEEyQUVFMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgKi8sCiAJ
CQkJODY1MTJFREMxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aCAqLywKIAkJCQk4NjUxMkVERDE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZy5pZGwgKi8sCkBAIC0xOTgxOCw4ICsxOTg1MSw4IEBACiAJCUE1OUUzQzFCMTE1ODBG
MzQwMDcyOTI4RSAvKiBpb3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKAotCQkJCUY0ODIyMzEyMUUzODZFMjQwMDY2RkM3OSAvKiBBYnN0cmFjdFBhc3RlYm9hcmQu
aCAqLywKIAkJCQlBMTQ4MzI4QjE4N0Y1MDY4MDBEQTYzQTYgLyogd2FrICovLAorCQkJCUY0ODIy
MzEyMUUzODZFMjQwMDY2RkM3OSAvKiBBYnN0cmFjdFBhc3RlYm9hcmQuaCAqLywKIAkJCQkyNjU1
NDE0QjE0ODlBQTJCMDAwREZDNUQgLyogQ3Vyc29ySU9TLmNwcCAqLywKIAkJCQlBMUVENzc4QTFC
RTMyOTNGMDBEQzE3OTEgLyogRGV2aWNlLmNwcCAqLywKIAkJCQlBMUVENzc4QjFCRTMyOTQwMDBE
QzE3OTEgLyogRGV2aWNlLmggKi8sCkBAIC0xOTg3Niw2ICsxOTkwOSw4IEBACiAJCQkJRTQ1Mzkw
MzgwRUFGRDYzNzAwMzY5NUM4IC8qIFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2VJT1MubW0gKi8sCiAJ
CQkJRkUwRDg0RTgxMDQ4NDM0ODAwMUExNzlFIC8qIFdlYkV2ZW50LmggKi8sCiAJCQkJRkUwRDg0
RUExMDQ4NDM2RTAwMUExNzlFIC8qIFdlYkV2ZW50Lm1tICovLAorCQkJCUY0ODIyMzBGMUUzODY5
QjgwMDY2RkM3OSAvKiBXZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkLmggKi8sCisJCQkJRjQ4MjIz
MEUxRTM4NjlCODAwNjZGQzc5IC8qIFdlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQubW0gKi8sCiAJ
CQkJQ0RBMjlBMkUxQ0JGNzNGQzAwOTAxQ0NGIC8qIFdlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFj
ZUFWS2l0LmggKi8sCiAJCQkJQ0RBMjlBMkYxQ0JGNzNGQzAwOTAxQ0NGIC8qIFdlYlBsYXliYWNr
U2Vzc2lvbkludGVyZmFjZUFWS2l0Lm1tICovLAogCQkJCTNGNDJCMzFCMTg4MTE5MUIwMDI3OEFB
QyAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQuaCAqLywKQEAgLTE5ODgzLDgg
KzE5OTE4LDYgQEAKIAkJCQkzRkJDNEFGMjE4OTg4MTU2MDA0NkVFMzggLyogV2ViVmlkZW9GdWxs
c2NyZWVuSW50ZXJmYWNlQVZLaXQuaCAqLywKIAkJCQkzRkJDNEFGMTE4OTg4MTU2MDA0NkVFMzgg
LyogV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0gKi8sCiAJCQkJRTQ1MzkwM0Mw
RUFGRDYzNzAwMzY5NUM4IC8qIFdpZGdldElPUy5tbSAqLywKLQkJCQlGNDgyMjMwRTFFMzg2OUI4
MDA2NkZDNzkgLyogV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZC5tbSAqLywKLQkJCQlGNDgyMjMw
RjFFMzg2OUI4MDA2NkZDNzkgLyogV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZC5oICovLAogCQkJ
KTsKIAkJCXBhdGggPSBpb3M7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjI0MDUs
NiArMjI0MzgsMTIgQEAKIAkJCQlBNThDNTlDRjFFMzgyRUE5MDA0Nzg1OUMgLyogSlNQZXJmb3Jt
YW5jZU1lYXN1cmUuaCAqLywKIAkJCQk4QTlBNTg2RTExRTg0QzM1MDA4QUNGRDEgLyogSlNQZXJm
b3JtYW5jZU5hdmlnYXRpb24uY3BwICovLAogCQkJCThBOUE1ODZGMTFFODRDMzYwMDhBQ0ZEMSAv
KiBKU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5oICovLAorCQkJCUE1QTk5MzQyMUUzODA5OTkwMDVC
NUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwICovLAorCQkJCUE1QTk5MzQzMUUzODA5
OTkwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaCAqLywKKwkJCQlBNUE5OTM0NDFF
MzgwOTk5MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2suY3BwICovLAor
CQkJCUE1QTk5MzQ1MUUzODA5OTkwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxs
YmFjay5oICovLAorCQkJCUE1QTk5MzQ2MUUzODA5OTkwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNl
T2JzZXJ2ZXJFbnRyeUxpc3QuY3BwICovLAorCQkJCUE1QTk5MzQ3MUUzODA5OTkwMDVCNUU0RCAv
KiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaCAqLywKIAkJCQlDQjM4RkQ1ODFDRDIz
MTQ1MDA1OTJBM0YgLyogSlNQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCAqLywKIAkJCQlD
QjM4RkQ1OTFDRDIzMTQ1MDA1OTJBM0YgLyogSlNQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgg
Ki8sCiAJCQkJMEY0M0M4NUUxODlFMTVBNjAwMDE5QUUyIC8qIEpTUGVyZm9ybWFuY2VUaW1pbmcu
Y3BwICovLApAQCAtMjQ5MzQsMTMgKzI0OTczLDEzIEBACiAJCQkJQTFCNUIyOUYxQUFBODQ2RjAw
OEI2MDQyIC8qIE1vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUxMDU4QURDMUQ2NzkyQzEwMDlBNTM4QyAvKiBNb2NrR2FtZXBhZC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTEwNThBREUxRDY3OTJDMTAwOUE1MzhDIC8qIE1vY2tHYW1lcGFkUHJvdmlkZXIuaCBp
biBIZWFkZXJzICovLAorCQkJCTQxNTdFQkZCMUUzQUI2N0YwMEFDOUZFOSAvKiBNb2NrTGliV2Vi
UlRDUGVlckNvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTJENkYzRTkxMUMxRUNCMkYw
MDYxREJENCAvKiBNb2NrUGFnZU92ZXJsYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTJEOTdGMDQ4
MTlERDQxNDAwMDFFRTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUExNDA2MThDMUUyRUNBMEEwMDMyQjM0RSAvKiBNb2NrUXVpY2tMb29rSGFuZGxlQ2xp
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBQTVGM0I4RDE2Q0MzM0QxMDA0NTVFQjAgLyogUGxh
dGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUExNzYzRjNG
MUUyMDUyMzQwMDFENThERSAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTQxODE1QzFGMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuaCBp
biBIZWFkZXJzICovLAotCQkJCTQxNTdFQkZCMUUzQUI2N0YwMEFDOUZFOSAvKiBNb2NrTGliV2Vi
UlRDUGVlckNvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjQ5NDgsNiArMjQ5ODcsNyBA
QAogCQkJaXNhID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAy
MTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJRjQ4MjIzMTMxRTM4NkUyNDAwNjZGQzc5IC8q
IEFic3RyYWN0UGFzdGVib2FyZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFFMUIxRDEwRkY1OTg2
OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQkyOUE4MTIy
RTBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMjlBODEyMzMwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlBUklB
R3JpZFJvdy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTAwMCw3ICsyNTA0MCw2IEBACiAJCQkJMzE5
ODQ4MDExQTFEODE3QjAwQTEzMzE4IC8qIEFuaW1hdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQk0OUU5MTJBRDBFRkFDOTA2MDA5RDBDQUYgLyogQW5pbWF0aW9uTGlzdC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMzFEQ0QyOUQxQUI0RkJERTAwNzJFODE3IC8qIEFuaW1hdGlvblRyaWdnZXIu
aCBpbiBIZWFkZXJzICovLAotCQkJCTQxNzYxMkIwMUUzQTk5NDAwMEMzRDgxRCAvKiBMaWJXZWJS
VENNZWRpYUVuZHBvaW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjU4MEZBRjE0OTgwMEQ0MDBG
QjVCRDggLyogQW5pbWF0aW9uVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOURE
NzA5OUU2NDkyMDA1NkU1ODEgLyogQXBwZW5kTm9kZUNvbW1hbmQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTdDNjU3OUUzMUUwMDgyNzAwMEUzQTI3QSAvKiBBcHBsZVBheUxpbmVJdGVtLmggaW4gSGVh
ZGVycyAqLywKQEAgLTI1MjgzLDcgKzI1MzIyLDYgQEAKIAkJCQlDRTc5OUZBODFDNkE1MDU3MDA5
N0I1MTggLyogQ29udGVudFNlY3VyaXR5UG9saWN5TWVkaWFMaXN0RGlyZWN0aXZlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlDRTZEQURGQTFDNTkxRTZBMDAzRjZBODggLyogQ29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTc5OUZBMDFDNkE0
QzE2MDA5N0I1MTggLyogQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlLmggaW4gSGVhZGVycyAq
LywKLQkJCQlGNDgyMjMxMzFFMzg2RTI0MDA2NkZDNzkgLyogQWJzdHJhY3RQYXN0ZWJvYXJkLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlDRTc5OUY5ODFDNkE0NkJDMDA5N0I1MTggLyogQ29udGVudFNl
Y3VyaXR5UG9saWN5U291cmNlTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0U3OTlGQUMxQzZB
NTA2NjAwOTdCNTE4IC8qIENvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJlY3RpdmUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQxRDAxNUNBMEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50
VHlwZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTc5MCw3ICsyNTgyOCw2IEBACiAJCQkJMDg1Qjky
QkIwRUZERTczRDAwRTYxMjNDIC8qIEZvcm1EYXRhQnVpbGRlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTgxMzZEMzgwOTczQThFNzAwRDc0NDYzIC8qIEZvcm1EYXRhTGlzdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJN0VFNjg0NjcxMkQyNkUzODAwRTc5NDE1IC8qIEZvcm1EYXRhU3RyZWFtQ0ZOZXQu
aCBpbiBIZWFkZXJzICovLAotCQkJCTQxNTc0NzRBMUUzODY5QUQwMEU5MTREOCAvKiBMaWJXZWJS
VENVdGlscy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE0Qzc2NEUwQ0U5MjM0RTAwN0VGM0NEIC8q
IEZvcm1EYXRhU3RyZWFtTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQk5QjUwQjFERTE3Q0Q0QzBG
MDA4N0Y2M0MgLyogRm9ybU5hbWVkSXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjU2RDM3M0Ew
QURCQTVERTAwQTQ1NTREIC8qIEZvcm1TdGF0ZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTg0OSw3
ICsyNTg4Niw2IEBACiAJCQkJQTgwRDY3MDgwRTlFOURFQjAwRTQyMEYwIC8qIEdyYXBoaWNzQ29u
dGV4dFBsYXRmb3JtUHJpdmF0ZUNHLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjU4MEIwRDBGMTJB
MjY5MDA1MUQ2ODkgLyogR3JhcGhpY3NMYXllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk5QjNF
RDcxMjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJNDExMDNBQUQxRTM5NzkxMDAwNzY5RjAzIC8qIFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJj
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1ODBCMEUwRjEyQTI2OTAwNTFENjg5IC8qIEdyYXBo
aWNzTGF5ZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQzY5NTkzMTYxQTFFNTMwMDM3
MzJDQiAvKiBHcmFwaGljc0xheWVyRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZBMjRE
N0ExNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmggaW4gSGVhZGVycyAq
LywKQEAgLTI1ODY1LDcgKzI1OTAxLDYgQEAKIAkJCQkyNkVBODlBNzFCNEYyQjc1MDA4QzVGRDIg
LyogSGFzaGFibGVBY3Rpb25MaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDgyQjc0NjExOThD
MzU0MDBCRkIwMDUgLyogSGFzaENoYW5nZUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBODc0
OEJFMDEyQ0JGMkRDMDAxRkJBNDEgLyogSGFzaFRvb2xzLmggaW4gSGVhZGVycyAqLywKLQkJCQlF
M0U0RTJBODFFM0IxNzEwMDAyM0JCOEEgLyogU2NyaXB0RWxlbWVudENhY2hlZFNjcmlwdEZldGNo
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUY1NUIzREMwMTI1MUYxMkQwMDNFRjI2OSAvKiBIaWRk
ZW5JbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNUJFMTlDMUQ1NEY2QzEwMEREN0M2
OCAvKiBISURHYW1lcGFkLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTVCRTE5RTFENTRGNkMxMDBE
RDdDNjggLyogSElER2FtZXBhZFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTI1ODc1LDcg
KzI1OTEwLDYgQEAKIAkJCQk0OTY5QjBGMzEzRDBCMzNGMDBERjM1MjEgLyogSGl0VGVzdGluZ1Ry
YW5zZm9ybVN0YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDgyODdGNzE2RTRBMDM4MDA4NkJE
MDAgLyogSGl0VGVzdExvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzA5MDg5MTBBRjdF
REU0MDA4MURGMDEgLyogSGl0VGVzdFJlcXVlc3QuaCBpbiBIZWFkZXJzICovLAotCQkJCTQxNTc0
NzQ3MUUzODY5QTQwMEU5MTREOCAvKiBMaWJXZWJSVENNYWNyb3MuaCBpbiBIZWFkZXJzICovLAog
CQkJCTkzMDdGMUQ4MEFGMkQ1OTAwMERCQTMxQSAvKiBIaXRUZXN0UmVzdWx0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzNCQzI5QzBFOTFBQjBGMDA4MzU1ODggLyogSG9zdFdpbmRvdy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRkQzMTYwOTkxMkIwMjZGNzAwQzFBMzU5IC8qIEhSVEZEYXRhYmFzZS5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yNjU0MCw2ICsyNjU3NCw5IEBACiAJCQkJQTU4QzU5RDExRTM4
MkVBRTAwNDc4NTlDIC8qIEpTUGVyZm9ybWFuY2VNYXJrLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
NThDNTlEMzFFMzgyRUIyMDA0Nzg1OUMgLyogSlNQZXJmb3JtYW5jZU1lYXN1cmUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCThBOUE1ODcxMTFFODRDMzYwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlTmF2
aWdhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTVBOTkzNDgxRTM4MDlDNjAwNUI1RTREIC8q
IEpTUGVyZm9ybWFuY2VPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTVBOTkzNEExRTM4
MDlDQjAwNUI1RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlBNUE5OTM0QzFFMzgwOUNGMDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2Vy
dmVyRW50cnlMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlDQjM4RkQ1QjFDRDIzMjVCMDA1OTJB
M0YgLyogSlNQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk4
QTlBNTg4ODExRTg0RjM3MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZVRpbWluZy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRkRFQTYyNDcxNTIxMDJGQzAwNDc5REYwIC8qIEpTUGVyaW9kaWNXYXZlLmgg
aW4gSGVhZGVycyAqLywKQEAgLTI2ODc2LDYgKzI2OTEzLDExIEBACiAJCQkJRTVCQTdENjMxNTE0
MzdDQTAwRkUxRTNGIC8qIExlbmd0aEZ1bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY4
NzE2NzAxQzg2OUQ4MzAwNEZGMERFIC8qIExlbmd0aFBvaW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQ0ZGNjQ5MjBFQUQxNUMyMDBDMUQ2RjcgLyogTGVuZ3RoU2l6ZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJNDE1NzQ3NDcxRTM4NjlBNDAwRTkxNEQ4IC8qIExpYldlYlJUQ01hY3Jvcy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNDE3NjEyQjAxRTNBOTk0MDAwQzNEODFEIC8qIExpYldlYlJUQ01lZGlh
RW5kcG9pbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxNzYxMkIyMUUzQTk5NDAwMEMzRDgxRCAv
KiBMaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlbmQuaCBpbiBIZWFkZXJzICovLAorCQkJCTQx
NTc0NzQ4MUUzODY5QTcwMEU5MTREOCAvKiBMaWJXZWJSVENQcm92aWRlci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNDE1NzQ3NEExRTM4NjlBRDAwRTkxNEQ4IC8qIExpYldlYlJUQ1V0aWxzLmggaW4g
SGVhZGVycyAqLywKIAkJCQk4NDczMEQ5MTEyNDhGMEIzMDBEM0E5QzkgLyogTGlnaHRTb3VyY2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3OTY1MEQwMEJGMjIwMDcxQjc4MiAvKiBMaW5lYXJH
cmFkaWVudEF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUFCMzFDOTFFMTBBRTFCOEUw
MDBDN0I5MiAvKiBMaW5lQ2xhbXBWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzI1NCw2ICsy
NzI5Niw5IEBACiAJCQkJQUQ1QTBDMjUxREVDQUNDQzAwNzA3MDU0IC8qIFBlcmZvcm1hbmNlTG9n
Z2luZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODNGRTkwMjcxRTMwN0MzMDAwM0U5MTk5IC8qIFBl
cmZvcm1hbmNlTW9uaXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEFGNEU1NTYxMURDNUEzNjAw
MEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTVB
OTkzM0QxRTM3RkIxOTAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUE1QTk5MzNGMUUzN0ZCMUYwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVy
Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCUE1QTk5MzQxMUUzN0ZCMjgwMDVCNUU0RCAv
KiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NjUx
MkVERjE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOEFGNEU1NUMxMURDNUE2MzAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlVGlt
aW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTU0QjVGMzFFMzgzOTNBMDAxRDRFMDMgLyogUGVy
Zm9ybWFuY2VVc2VyVGltaW5nLmggaW4gSGVhZGVycyAqLywKQEAgLTI3MzYzLDEyICsyNzQwOCwx
NCBAQAogCQkJCTQxNkU2RkU5MUJCRDEyRTUwMDBBNjA0MyAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0
aW5zLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTZFNkZFODFCQkQxMkRGMDAwQTNGNjQgLyogUmVh
ZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTYw
M0MxMkIwMjY3NjAwQzFBMzU5IC8qIFJlYWx0aW1lQW5hbHlzZXIuaCBpbiBIZWFkZXJzICovLAor
CQkJCTQxMTAzQUFEMUUzOTc5MTAwMDc2OUYwMyAvKiBSZWFsdGltZUluY29taW5nQXVkaW9Tb3Vy
Y2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTRBNEY2NTcxMUFBOTk3RjEwMEUzOENERCAvKiBSZWFs
dGltZU1lZGlhU291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0QTRGNjU3MjFBQTk5N0YxMDBF
MzhDREQgLyogUmVhbHRpbWVNZWRpYVNvdXJjZUNhcGFiaWxpdGllcy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNEEwRkZBQTIxQUFGNUVBMjAwNjI4MDNCIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTRBMEZGQUE2MUFBRjVFRjYwMDYyODAzQiAvKiBSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQk0QTRGNjU3NDFB
QTk5N0YxMDBFMzhDREQgLyogUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwN0MxQzBFNTFCRkI2MEVEMDBCRDIyNTYgLyogUmVhbHRpbWVNZWRpYVNvdXJj
ZVN1cHBvcnRlZENvbnN0cmFpbnRzLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTEwM0FBQzFFMzk3
OTEwMDA3NjlGMDMgLyogUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQzQzNjhFODBDMjI2RTMyMDA1RUZCNUYgLyogUmVjdC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRkQ0NUE5NTgxNzVENDE0QzAwQzIxRUM4IC8qIFJlY3RhbmdsZVNoYXBlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk5ODMxQUU0QTE1NDIyNUM5MDBGRTI2NDQgLyogUmVmZXJyZXJQb2xpY3ku
aCBpbiBIZWFkZXJzICovLApAQCAtMjc1MzYsNyArMjc1ODMsNiBAQAogCQkJCTQ5OThBRUM2MTNG
OUQwRUEwMDkwQjFBQSAvKiBSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRjU1QjNERDAxMjUxRjEyRDAwM0VGMjY5IC8qIFJlc2V0SW5wdXRUeXBlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk3RUU2ODQ2QTEyRDI2RTM4MDBFNzk0MTUgLyogUmVzb3VyY2VF
cnJvci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDE1NzQ3NDgxRTM4NjlBNzAwRTkxNEQ4IC8qIExp
YldlYlJUQ1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzRGNzEzQzBENUE2RjE5MDAw
MThENjkgLyogUmVzb3VyY2VFcnJvckJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNEM3Njc5
MENFOTIzQTEwMDdFRjNDRCAvKiBSZXNvdXJjZUhhbmRsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MjZGQUU0Q0QxODUyRTNBNTAwNEM4QzQ2IC8qIFJlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9u
RGVsZWdhdGUuaCBpbiBIZWFkZXJzICovLApAQCAtMjc2MjgsNiArMjc2NzQsNyBAQAogCQkJCTkz
QjcwRDcwMDlFQjBDN0MwMDlEODQ2OCAvKiBTY3JpcHRDb250cm9sbGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQk0OTk4QUVEMjEzRkIyMjREMDA5MEIxQUEgLyogU2NyaXB0ZWRBbmltYXRpb25Db250
cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwOEE0ODQ3ODBFNTI3MkM1MDBDM0ZFNzYgLyog
U2NyaXB0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTNFNEUyQTgxRTNCMTcxMDAwMjNC
QjhBIC8qIFNjcmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRjaGVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQlFMTFDOUQ5QjBFQjM2ODEyMDBFNDA5REIgLyogU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDFGMDY2RTQwRjY0QkNGNjAwQTA3RUFDIC8qIFNjcmlwdEds
b2JhbE9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTM4ODM4OTkxQkFEMTQ1RjAwRDYyRUUz
IC8qIFNjcmlwdE1vZHVsZUxvYWRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzgyMSw3ICsyNzg2
OCw2IEBACiAJCQkJNDE0QjgyMDUxRDZERjBFNTAwNzdFQkUzIC8qIFN0cnVjdHVyZWRDbG9uZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1RUI2QTMwRTgxREM0RjAwQjI1OTY1IC8qIFN0eWxlQmFj
a2dyb3VuZERhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNUVCNjdCMEU4MUQzQkUwMEIyNTk2
NSAvKiBTdHlsZUJveERhdGEuaCBpbiBIZWFkZXJzICovLAotCQkJCUY0ODIyMzExMUUzODY5Qjgw
MDY2RkM3OSAvKiBXZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk4Mzg2QTk2RDE5RjYxQjJFMDBFMUVDNEEgLyogU3R5bGVCdWlsZGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQk4M0I5Njg3QjE5RjhBQjgzMDA0RUY3QUYgLyogU3R5bGVCdWlsZGVyQ29udmVydGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzVEMzYzNzE5RkY2MTkzMDA0QzkzQUIgLyogU3R5bGVC
dWlsZGVyQ3VzdG9tLmggaW4gSGVhZGVycyAqLywKQEAgLTI3ODY0LDcgKzI3OTEwLDYgQEAKIAkJ
CQlBOEVBODAwQzBBMTk1MTZFMDBBOEVGNUYgLyogU3R5bGVTaGVldC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTRGOUVFRjMxNTZEQTAwNzAwRDIzRTdFIC8qIFN0eWxlU2hlZXRDb250ZW50cy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQThFQTgwMEEwQTE5NTE2RTAwQThFRjVGIC8qIFN0eWxlU2hlZXRM
aXN0LmggaW4gSGVhZGVycyAqLywKLQkJCQk0MTc2MTJCMjFFM0E5OTQwMDBDM0Q4MUQgLyogTGli
V2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzVFQjVF
NTBFODFCRjZEMDBCMjU5NjUgLyogU3R5bGVTdXJyb3VuZERhdGEuaCBpbiBIZWFkZXJzICovLAog
CQkJCUJDNUVCODEwMEU4MUYyQ0UwMEIyNTk2NSAvKiBTdHlsZVRyYW5zZm9ybURhdGEuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUU0REVBQTE4MTdBOTNEQzMwMDBFMDQzMCAvKiBTdHlsZVRyZWVSZXNv
bHZlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzkzMiw3ICsyNzk3Nyw2IEBACiAJCQkJQjIyMjc5
QUUwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR0RlZnNFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCMjIyNzlCMTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHRGVzY0VsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUIyMjI3OUI0MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdEb2N1bWVudC5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJNDExMDNBQUMxRTM5NzkxMDAwNzY5RjAzIC8qIFJlYWx0aW1lT3V0Z29p
bmdBdWRpb1NvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjI4QzZBMjgwRDAwQzQ0ODAwMzM0
QUE0IC8qIFNWR0RvY3VtZW50RXh0ZW5zaW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjc5
QjcwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1
NjU4MUZFMDlEMTUwOEQwMDBFNjFENyAvKiBTVkdFbGVtZW50RmFjdG9yeS5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yODQxMyw2ICsyODQ1Nyw3IEBACiAJCQkJNzdBMTdBNzgxMkYyODY0MjAwNEUwMkY2
IC8qIFdlYkdMVmVydGV4QXJyYXlPYmplY3RPRVMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1ODQw
RTI1MTg3QjhBQzIwMDg0M0IxMCAvKiBXZWJJbmplY3RlZFNjcmlwdEhvc3QuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE1ODRGRTMwMTg2NENCODQwMDg0M0IxMCAvKiBXZWJJbmplY3RlZFNjcmlwdE1h
bmFnZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUY0ODIyMzExMUUzODY5QjgwMDY2RkM3OSAvKiBX
ZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMUMwRkYyMjBF
NENFQjZFMDA3RDZGRTUgLyogV2ViS2l0QW5pbWF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTVERkVCQUI3MTg1OTJCNkQwMEM3NUJFQiAvKiBXZWJLaXRBdmFpbGFiaWxpdHkuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTQ5ODM5MTU5MEYxRTc3NjkwMEMyMzc4MiAvKiBXZWJLaXRDU1NNYXRy
aXguaCBpbiBIZWFkZXJzICovLApAQCAtMjg4NjYsNyArMjg5MTEsNiBAQAogCQkJCTUxNzE0RUIw
MUNGNjY1Q0UwMDQ3MjNDNCAvKiBKU0dDT2JzZXJ2YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNDE3REE3MUQxMzczNURGQTAwN0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUE3NDBCNUE3MTRDOTM1QUYwMEE3N0ZBNCAvKiBKU0ludGVybmFsU2V0dGluZ3Mu
Y3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNDE1N0VCRkExRTNBQjY3OTAwQUM5RkU5IC8qIE1vY2tM
aWJXZWJSVENQZWVyQ29ubmVjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1M0VEM0ZERTE2
N0E4OEU3MDA2NzYyRTYgLyogSlNJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUE3NDBCNTk3MTRDOTM1QUYwMEE3N0ZBNCAvKiBKU01hbGxvY1N0YXRpc3Rp
Y3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RGNEI3MzMxRTAzRDE0OTAwRTIzNUEyIC8qIEpT
TWVkaWFLZXlzUmVxdWlyZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yODg4Miw2ICsyODky
Niw3IEBACiAJCQkJQTFCNUIyOUUxQUFBODQ2RTAwOEI2MDQyIC8qIE1vY2tDb250ZW50RmlsdGVy
U2V0dGluZ3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEwNThBREIxRDY3OTJDMTAwOUE1MzhD
IC8qIE1vY2tHYW1lcGFkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMDU4QUREMUQ2NzkyQzEw
MDlBNTM4QyAvKiBNb2NrR2FtZXBhZFByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQx
NTdFQkZBMUUzQUI2NzkwMEFDOUZFOSAvKiBNb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ2RjNFOTAxQzFFQ0IyNzAwNjFEQkQ0IC8qIE1vY2tQYWdl
T3ZlcmxheS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDk3RjA0NzE5REQ0MTNDMDAxRUU5QzMg
LyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUExNDA2MThC
MUUyRUNBMEEwMDMyQjM0RSAvKiBNb2NrUXVpY2tMb29rSGFuZGxlQ2xpZW50LmNwcCBpbiBTb3Vy
Y2VzICovLApAQCAtMjkxOTMsNyArMjkyMzgsNiBAQAogCQkJCUUxQjRDRDI1MTBCMzIyRTIwMEJG
RkQ3RSAvKiBDcmVkZW50aWFsU3RvcmFnZU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJENDgx
RjAwMTQ2QjVDNEMwMEFBNzgzNCAvKiBDcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlFMUM0MTYxNzBGNjU2MzE4MDA5MkQyRkIgLyogQ3Jvc3NPcmlnaW5BY2Nl
c3NDb250cm9sLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTQxNzYxMkIxMUUzQTk5NDAwMEMzRDgx
RCAvKiBMaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNDFBQkU2N0MxRDA1ODBFMDAwNkQ4NjJEIC8qIENyb3NzT3JpZ2luUHJlZmxpZ2h0Q2hlY2tl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUM0MTVERTBGNjU1RDdDMDA5MkQyRkIgLyogQ3Jv
c3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTY5
ODA0OTExMzM2NDQ3MDA4OTQxMTUgLyogQ1J1bnRpbWVPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8s
CkBAIC0yOTI4NSw3ICsyOTMyOSw2IEBACiAJCQkJOTQxODI3OEUxRDhDQUY5MjAwNDkyNzY0IC8q
IENTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzdC
Mzg2MjEyMjg4M0U5MDBCODFGRjggLyogQ1NTUHJlbG9hZFNjYW5uZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQTgwRTZEMDUwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU1ByaW1pdGl2ZVZhbHVlLmNw
cCBpbiBTb3VyY2VzICovLAotCQkJCUY0ODIyMzEwMUUzODY5QjgwMDY2RkM3OSAvKiBXZWJJdGVt
UHJvdmlkZXJQYXN0ZWJvYXJkLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgwRTZDRjcwQTE5ODlD
QTAwN0ZCOEM1IC8qIENTU1Byb3BlcnR5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTc4RDAyQkM1
MTU0QTE4REYwMEI2MkQwNSAvKiBDU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkxQUJBNzZDQTExRDIwRTUwMDA0QzIwMUMgLyogQ1NTUHJvcGVydHlOYW1lcy5jcHAg
aW4gU291cmNlcyAqLywKQEAgLTI5NDM5LDcgKzI5NDgyLDYgQEAKIAkJCQkxNUZDQzlGQzFCNERG
N0YyMDBFNzIzMjYgLyogRE9NVVJMTWVkaWFTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MTQwM0I5OTgwOUVCMTNBRjAwNzk3QzdGIC8qIERPTVdpbmRvdy5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk1MTdGQkExRTE1MUFCMTdDMDBCNTc5NTkgLyogRE9NV2luZG93RXh0ZW5zaW9uLmNwcCBp
biBTb3VyY2VzICovLAotCQkJCTQxMTAzQUFFMUUzOTc5MTAwMDc2OUYwMyAvKiBSZWFsdGltZUlu
Y29taW5nQXVkaW9Tb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE4QzM5NTYxQzhEQUM3
RjAwNTFDOEEzIC8qIERPTVdpbmRvd0ZldGNoLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxODVG
Qzc0MUJCNEM0RTgwMDEyODk4RiAvKiBET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJOTdCMzhFMjgxNTFDNDI3MzAwNDYyMkU5IC8qIERPTVdpbmRvd05vdGlm
aWNhdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMDM0Miw2ICszMDM4NCw5IEBACiAJCQkJ
QTU4QzU5RDAxRTM4MkVBQzAwNDc4NTlDIC8qIEpTUGVyZm9ybWFuY2VNYXJrLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUE1OEM1OUQyMUUzODJFQjAwMDQ3ODU5QyAvKiBKU1BlcmZvcm1hbmNlTWVh
c3VyZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4QTlBNTg3MDExRTg0QzM2MDA4QUNGRDEgLyog
SlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVBOTkzNEQx
RTM4MDlENzAwNUI1RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlBNUE5OTM0OTFFMzgwOUM5MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2VydmVy
Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVBOTkzNEIxRTM4MDlDRDAwNUI1RTRE
IC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlDQjM4RkQ1QTFDRDIzMjU4MDA1OTJBM0YgLyogSlNQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDNDODVGMTg5RTE1QTYwMDAxOUFFMiAvKiBKU1Bl
cmZvcm1hbmNlVGltaW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZERUE2MjQ2MTUyMTAyRkMw
MDQ3OURGMCAvKiBKU1BlcmlvZGljV2F2ZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMwNTA5LDcg
KzMwNTU0LDYgQEAKIAkJCQlCMkZBM0RCQTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdQYXRoU2Vn
QXJjUmVsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyRkEzREJDMEFCNzVBNkYwMDBFNUFDNCAv
KiBKU1NWR1BhdGhTZWdDbG9zZVBhdGguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJGQTNEQkUw
QUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY0Ficy5jcHAgaW4gU291
cmNlcyAqLywKLQkJCQk0MTc2MTJBRjFFM0E5OTQwMDBDM0Q4MUQgLyogTGliV2ViUlRDTWVkaWFF
bmRwb2ludC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkZBM0RDMDBBQjc1QTZGMDAwRTVBQzQg
LyogSlNTVkdQYXRoU2VnQ3VydmV0b0N1YmljUmVsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIy
RkEzREMyMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhB
YnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJGQTNEQzQwQUI3NUE2RjAwMEU1QUM0IC8qIEpT
U1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aFJlbC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMw
NzEzLDYgKzMwNzU3LDkgQEAKIAkJCQlFNTVGNDk3QTE1MUI4ODgwMDBCQjY3REIgLyogTGVuZ3Ro
RnVuY3Rpb25zLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGODcxNjZGMUM4NjlEODMwMDRGRjBE
RSAvKiBMZW5ndGhQb2ludC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVGMjBDRTFCRDRBMjQx
MDAxMjhFNUQgLyogTGVuZ3RoU2l6ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTc2MTJBRjFF
M0E5OTQwMDBDM0Q4MUQgLyogTGliV2ViUlRDTWVkaWFFbmRwb2ludC5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQk0MTc2MTJCMTFFM0E5OTQwMDBDM0Q4MUQgLyogTGliV2ViUlRDUGVlckNvbm5lY3Rp
b25CYWNrZW5kLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxNTc0NzQ5MUUzODY5QUEwMEU5MTRE
OCAvKiBMaWJXZWJSVENVdGlscy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRkI2OThDQzE4MzNF
RTBEMDAxNThBMzEgLyogTGluZUJyZWFrZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODlCNUVB
QTExMUU4MDAzRDAwRjIzNjdFIC8qIExpbmVFbmRpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RkZCNjk4Q0YxODM0MDJCQjAwMTU4QTMxIC8qIExpbmVJbmZvLmNwcCBpbiBTb3VyY2VzICovLApA
QCAtMzEwMDQsNiArMzEwNTEsOCBAQAogCQkJCUFENUEwQzIzMURFQ0FDQzAwMDcwNzA1NCAvKiBQ
ZXJmb3JtYW5jZUxvZ2dpbmdDb2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTgzRkU5MDI4MUUz
MDdDMzMwMDNFOTE5OSAvKiBQZXJmb3JtYW5jZU1vbml0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJOEFGNEU1NTUxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQlBNUE5OTMzRTFFMzdGQjFDMDA1QjVFNEQgLyogUGVyZm9ybWFu
Y2VPYnNlcnZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNUE5OTM0MDFFMzdGQjI1MDA1QjVF
NEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk4NjUxMkVERTE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjQzQzg1RDE4OUUxMENGMDAwMTlBRTIgLyogUGVyZm9y
bWFuY2VUaW1pbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTU1NEI1RjIxRTM4MzkzODAwMUQ0
RTAzIC8qIFBlcmZvcm1hbmNlVXNlclRpbWluZy5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMxMDc3
LDExICszMTEyNiwxMyBAQAogCQkJCTZFODRFOUUwMTc2NjhCRUUwMDgxNUI2OCAvKiBSYXN0ZXJT
aGFwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MThDMzk2MTFDOEYwQUIxMDA1MUM4QTMgLyog
UmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlG
RDMxNjAzQjEyQjAyNjc2MDBDMUEzNTkgLyogUmVhbHRpbWVBbmFseXNlci5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk0MTEwM0FBRTFFMzk3OTEwMDA3NjlGMDMgLyogUmVhbHRpbWVJbmNvbWluZ0F1
ZGlvU291cmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTRBNEY2NTcwMUFBOTk3RjEwMEUzOENE
RCAvKiBSZWFsdGltZU1lZGlhU291cmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTRBMEZGQUEx
MUFBRjVFQTIwMDYyODAzQiAvKiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTRBMEZGQUE1MUFBRjVFRjYwMDYyODAzQiAvKiBSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyTWFjLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTRBNEY2NTczMUFBOTk3RjEwMEUz
OENERCAvKiBSZWFsdGltZU1lZGlhU291cmNlU2V0dGluZ3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMkVDNDFERTQxQzA0MTBBMzAwRDI5NEZFIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0
ZWRDb25zdHJhaW50cy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTEwM0FBQjFFMzk3OTEwMDA3
NjlGMDMgLyogUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUZENDVBOTVBMTc1RDQxNzEwMEMyMUVDOCAvKiBSZWN0YW5nbGVTaGFwZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCQ0FCNDE4MTEzRTM1NkU4MDBEOEFBRjMgLyogUmVnaW9uLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUNERkMzNjA1MThDQTYxQzIwMDI2RTU2RiAvKiBSZW1vdGVDb21tYW5k
TGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMTI5Miw2ICszMTM0Myw3IEBACiAJCQkJ
QTgzRTFDNzQwRTQ5MDQyQzAwMTQwQjlDIC8qIFNjcmlwdENvbnRyb2xsZXJNYWMubW0gaW4gU291
cmNlcyAqLywKIAkJCQk0OTk4QUVEMTEzRkIyMjREMDA5MEIxQUEgLyogU2NyaXB0ZWRBbmltYXRp
b25Db250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA4QTQ4NDc3MEU1MjcyQzUwMEMz
RkU3NiAvKiBTY3JpcHRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUUzRTRFMkE3MUUz
QjE3MTAwMDIzQkI4QSAvKiBTY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlFMTFDOURCMDBFQjM2OTk1MDBFNDA5REIgLyogU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MUYwNjZFNTBGNjRCQ0Y2MDBBMDdF
QUMgLyogU2NyaXB0R2xvYmFsT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUzODgzODk4
MUJBRDE0NUYwMEQ2MkVFMyAvKiBTY3JpcHRNb2R1bGVMb2FkZXIuY3BwIGluIFNvdXJjZXMgKi8s
CkBAIC0zMTM4NSw3ICszMTQzNyw2IEBACiAJCQkJNTEyREQ4RTMwRDkxRTJCNDAwMEY4OUVFIC8q
IFNoYXJlZEJ1ZmZlckNGLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3QjFGMDJFMTNCMDI1Q0Ew
MEY1MTAzRiAvKiBTaGFyZWRCdWZmZXJDaHVua1JlYWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkxQTRBOTU1MjBCNEVEQ0ZGMDAyRDhDM0MgLyogU2hhcmVkQnVmZmVyQ29jb2EubW0gaW4gU291
cmNlcyAqLywKLQkJCQk0MTU3NDc0OTFFMzg2OUFBMDBFOTE0RDggLyogTGliV2ViUlRDVXRpbHMu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTYzRTg4RjcxMThBMzlEMjAwRUQ5MjMxIC8qIFNpbXBs
ZUZvbnREYXRhQ29yZVRleHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTQ4OTQ0QTIxODBCNTdE
ODAwRjE2NUQ4IC8qIFNpbXBsZUxpbmVMYXlvdXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTg1
RDZFMDMxQTFBNzkyRTAwRkE0RjEyIC8qIFNpbXBsZUxpbmVMYXlvdXRGbG93Q29udGVudHMuY3Bw
IGluIFNvdXJjZXMgKi8sCkBAIC0zMTcxOSw3ICszMTc3MCw2IEBACiAJCQkJOTMzMDlFMUIwOTlF
NjQ5MjAwNTZFNTgxIC8qIFRleHRJdGVyYXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNEQ5
ODhCNjE3QkZFQjIxMDA4NEZCODggLyogVGV4dE5vZGVUcmF2ZXJzYWwuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMUMxOERBNTgxODFBRjZBNTAwQzRFRjIyIC8qIFRleHRQYWludGVyLmNwcCBpbiBT
b3VyY2VzICovLAotCQkJCTQxMTAzQUFCMUUzOTc5MTAwMDc2OUYwMyAvKiBSZWFsdGltZU91dGdv
aW5nQXVkaW9Tb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTRDOTFBMTAxODAyMzQzOTAw
QTE3RjZEIC8qIFRleHRQYWludFN0eWxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzRjE5QTlE
MDgyNDVFNTkwMDFFOUFCQyAvKiBUZXh0UmVzb3VyY2VEZWNvZGVyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTM3NkRDQ0UxMTNCNEY5NjYwMDJFQkVGQyAvKiBUZXh0UnVuLmNwcCBpbiBTb3VyY2Vz
ICovLApAQCAtMzE4NTAsNyArMzE5MDAsNiBAQAogCQkJCTI5QTgxMjRBMEZCQjlDQTkwMDUxMDI5
MyAvKiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW0gaW4gU291cmNlcyAqLywK
IAkJCQlBQUE3MjhGODE2RDFEOEJDMDBEM0JCQzYgLyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXJJT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQlBQTQ3OEE4MDE2Q0Q3MEMzMDA3RDFCQjQg
LyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0gaW4gU291cmNlcyAqLywKLQkJ
CQlFM0U0RTJBNzFFM0IxNzEwMDAyM0JCOEEgLyogU2NyaXB0RWxlbWVudENhY2hlZFNjcmlwdEZl
dGNoZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQzRUY0NDkxOTE3OTE1QzAwMDM0MTg0IC8q
IFdlYkFjdGlvbkRpc2FibGluZ0NBTGF5ZXJEZWxlZ2F0ZS5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTEyMERFM0VEMUM4NkNBM0UwMEI2RDRERCAvKiBXZWJBbmltYXRpb24uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMDdENjM3NDExQkIwQjExMzAwMjU2Q0U5IC8qIFdlYkF1ZGlvU291cmNlUHJvdmlk
ZXJBVkZPYmpDLm1tIGluIFNvdXJjZXMgKi8sCkBAIC0zMTkyMyw2ICszMTk3Miw3IEBACiAJCQkJ
NzdBMTdBNzcxMkYyODY0MjAwNEUwMkY2IC8qIFdlYkdMVmVydGV4QXJyYXlPYmplY3RPRVMuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQTU4NDBFMjQxODdCOEFDMjAwODQzQjEwIC8qIFdlYkluamVj
dGVkU2NyaXB0SG9zdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNTg0RkUyRjE4NjRDQjg0MDA4
NDNCMTAgLyogV2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CUY0ODIyMzEwMUUzODY5QjgwMDY2RkM3OSAvKiBXZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJMzFDMEZGMjEwRTRDRUI2RTAwN0Q2RkU1IC8qIFdlYktpdEFu
aW1hdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5ODM5MTU4MEYxRTc3NjkwMEMy
Mzc4MiAvKiBXZWJLaXRDU1NNYXRyaXguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOEFBNjFDRkYx
NDRENTk1QjAwRjM3MzUwIC8qIFdlYktpdENTU1JlZ2lvblJ1bGUuY3BwIGluIFNvdXJjZXMgKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmgKaW5kZXggYmViMDVl
Zjk1ZTEuLjEzZDU4ZjNjZmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVy
c2VjdGlvbk9ic2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25P
YnNlcnZlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlICJJbnRlcnNlY3Rpb25PYnNl
cnZlckNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeS5oIgot
I2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAj
aW5jbHVkZSA8d3RmL1ZhcmlhbnQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKaW5kZXggMmU1OWRhYTM2M2EuLjE4ODVjNTYx
ZWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcApAQCAtNDEsNiArNDEsNyBAQAog
I2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgogI2luY2x1
ZGUgIlBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlT2JzZXJ2
ZXIuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgiCiAjaW5jbHVkZSAi
UGVyZm9ybWFuY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVVzZXJUaW1pbmcuaCIK
QEAgLTE3MSw3ICsxNzIsMTQgQEAgRXhjZXB0aW9uT3I8dm9pZD4gUGVyZm9ybWFuY2U6Om1hcmso
Y29uc3QgU3RyaW5nJiBtYXJrTmFtZSkKIHsKICAgICBpZiAoIW1fdXNlclRpbWluZykKICAgICAg
ICAgbV91c2VyVGltaW5nID0gc3RkOjptYWtlX3VuaXF1ZTxVc2VyVGltaW5nPigqdGhpcyk7Ci0g
ICAgcmV0dXJuIG1fdXNlclRpbWluZy0+bWFyayhtYXJrTmFtZSk7CisKKyAgICBhdXRvIHJlc3Vs
dCA9IG1fdXNlclRpbWluZy0+bWFyayhtYXJrTmFtZSk7CisgICAgaWYgKHJlc3VsdC5oYXNFeGNl
cHRpb24oKSkKKyAgICAgICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7CisKKyAg
ICBxdWV1ZUVudHJ5KHJlc3VsdC5yZWxlYXNlUmV0dXJuVmFsdWUoKSk7CisKKyAgICByZXR1cm4g
eyB9OwogfQogCiB2b2lkIFBlcmZvcm1hbmNlOjpjbGVhck1hcmtzKGNvbnN0IFN0cmluZyYgbWFy
a05hbWUpCkBAIC0xODUsNyArMTkzLDE0IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFBlcmZvcm1hbmNl
OjptZWFzdXJlKGNvbnN0IFN0cmluZyYgbWVhc3VyZU5hbWUsIGNvbnN0IFN0cmluZyYKIHsKICAg
ICBpZiAoIW1fdXNlclRpbWluZykKICAgICAgICAgbV91c2VyVGltaW5nID0gc3RkOjptYWtlX3Vu
aXF1ZTxVc2VyVGltaW5nPigqdGhpcyk7Ci0gICAgcmV0dXJuIG1fdXNlclRpbWluZy0+bWVhc3Vy
ZShtZWFzdXJlTmFtZSwgc3RhcnRNYXJrLCBlbmRNYXJrKTsKKworICAgIGF1dG8gcmVzdWx0ID0g
bV91c2VyVGltaW5nLT5tZWFzdXJlKG1lYXN1cmVOYW1lLCBzdGFydE1hcmssIGVuZE1hcmspOwor
ICAgIGlmIChyZXN1bHQuaGFzRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiByZXN1bHQucmVs
ZWFzZUV4Y2VwdGlvbigpOworCisgICAgcXVldWVFbnRyeShyZXN1bHQucmVsZWFzZVJldHVyblZh
bHVlKCkpOworCisgICAgcmV0dXJuIHsgfTsKIH0KIAogdm9pZCBQZXJmb3JtYW5jZTo6Y2xlYXJN
ZWFzdXJlcyhjb25zdCBTdHJpbmcmIG1lYXN1cmVOYW1lKQpAQCAtMTk1LDYgKzIxMCwxNiBAQCB2
b2lkIFBlcmZvcm1hbmNlOjpjbGVhck1lYXN1cmVzKGNvbnN0IFN0cmluZyYgbWVhc3VyZU5hbWUp
CiAgICAgbV91c2VyVGltaW5nLT5jbGVhck1lYXN1cmVzKG1lYXN1cmVOYW1lKTsKIH0KIAordm9p
ZCBQZXJmb3JtYW5jZTo6cmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXImIG9ic2VydmVyKQoreworICAgIG1fb2JzZXJ2ZXJzLmFkZCgmb2JzZXJ2ZXIpOworfQor
Cit2b2lkIFBlcmZvcm1hbmNlOjp1bnJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3Jt
YW5jZU9ic2VydmVyJiBvYnNlcnZlcikKK3sKKyAgICBtX29ic2VydmVycy5yZW1vdmUoJm9ic2Vy
dmVyKTsKK30KKwogZG91YmxlIFBlcmZvcm1hbmNlOjpub3coKSBjb25zdAogewogICAgIGRvdWJs
ZSBub3dTZWNvbmRzID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBtX3JlZmVyZW5j
ZVRpbWU7CkBAIC0yMDcsNiArMjMyLDMwIEBAIGRvdWJsZSBQZXJmb3JtYW5jZTo6cmVkdWNlVGlt
ZVJlc29sdXRpb24oZG91YmxlIHNlY29uZHMpCiAgICAgcmV0dXJuIHN0ZDo6Zmxvb3Ioc2Vjb25k
cyAvIHJlc29sdXRpb25TZWNvbmRzKSAqIHJlc29sdXRpb25TZWNvbmRzOwogfQogCit2b2lkIFBl
cmZvcm1hbmNlOjpxdWV1ZUVudHJ5KFJlZjxQZXJmb3JtYW5jZUVudHJ5PiBlbnRyeSkKK3sKKyAg
ICBib29sIHNob3VsZFNjaGVkdWxlVGFzayA9IGZhbHNlOworICAgIGZvciAoYXV0byYgb2JzZXJ2
ZXIgOiBtX29ic2VydmVycykgeworICAgICAgICBpZiAob2JzZXJ2ZXItPnR5cGVGaWx0ZXIoKS5j
b250YWlucyhlbnRyeS0+dHlwZSgpKSkgeworICAgICAgICAgICAgb2JzZXJ2ZXItPnF1ZXVlRW50
cnkoZW50cnkuY29weVJlZigpKTsKKyAgICAgICAgICAgIHNob3VsZFNjaGVkdWxlVGFzayA9IHRy
dWU7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoIXNob3VsZFNjaGVkdWxlVGFzaykKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fcGVyZm9ybWFuY2VUaW1lbGluZVRhc2tRdWV1ZS5o
YXNQZW5kaW5nVGFza3MoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9wZXJmb3JtYW5jZVRp
bWVsaW5lVGFza1F1ZXVlLmVucXVldWVUYXNrKFt0aGlzXSAoKSB7CisgICAgICAgIFZlY3RvcjxS
ZWZQdHI8UGVyZm9ybWFuY2VPYnNlcnZlcj4+IG9ic2VydmVyczsKKyAgICAgICAgY29weVRvVmVj
dG9yKG1fb2JzZXJ2ZXJzLCBvYnNlcnZlcnMpOworICAgICAgICBmb3IgKGF1dG8mIG9ic2VydmVy
IDogb2JzZXJ2ZXJzKQorICAgICAgICAgICAgb2JzZXJ2ZXItPmRlbGl2ZXIoKTsKKyAgICB9KTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9USU1J
TkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKaW5kZXggMGZlZWJjYzZkNDcuLmUyNTBhNjQy
ZWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCkBAIC0zNyw2ICszNyw4IEBACiAjaW5j
bHVkZSAiRE9NV2luZG93UHJvcGVydHkuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2lu
Y2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCisjaW5jbHVkZSAiR2VuZXJpY1Rhc2tRdWV1ZS5oIgorI2lu
Y2x1ZGUgPHd0Zi9MaXN0SGFzaFNldC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ0
LDYgKzQ2LDcgQEAgY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBMb2FkVGltaW5nOwogY2xhc3MgUGVy
Zm9ybWFuY2VFbnRyeTsKIGNsYXNzIFBlcmZvcm1hbmNlTmF2aWdhdGlvbjsKK2NsYXNzIFBlcmZv
cm1hbmNlT2JzZXJ2ZXI7CiBjbGFzcyBQZXJmb3JtYW5jZVRpbWluZzsKIGNsYXNzIFJlc291cmNl
UmVzcG9uc2U7CiBjbGFzcyBVUkw7CkBAIC02NywxNyArNzAsMjAgQEAgcHVibGljOgogCiAgICAg
dm9pZCBhZGRSZXNvdXJjZVRpbWluZyhjb25zdCBTdHJpbmcmIGluaXRpYXRvck5hbWUsIERvY3Vt
ZW50KiwgY29uc3QgVVJMJiBvcmlnaW5hbFVSTCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGNv
bnN0IExvYWRUaW1pbmcmKTsKIAotICAgIHVzaW5nIFJlZkNvdW50ZWQ6OnJlZjsKLSAgICB1c2lu
ZyBSZWZDb3VudGVkOjpkZXJlZjsKLQogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IG1hcmsoY29uc3Qg
U3RyaW5nJiBtYXJrTmFtZSk7CiAgICAgdm9pZCBjbGVhck1hcmtzKGNvbnN0IFN0cmluZyYgbWFy
a05hbWUpOwogCiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gbWVhc3VyZShjb25zdCBTdHJpbmcmIG1l
YXN1cmVOYW1lLCBjb25zdCBTdHJpbmcmIHN0YXJ0TWFyaywgY29uc3QgU3RyaW5nJiBlbmRNYXJr
KTsKICAgICB2b2lkIGNsZWFyTWVhc3VyZXMoY29uc3QgU3RyaW5nJiBtZWFzdXJlTmFtZSk7CiAK
KyAgICB2b2lkIHJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVy
Jik7CisgICAgdm9pZCB1bnJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9i
c2VydmVyJik7CisKICAgICBzdGF0aWMgZG91YmxlIHJlZHVjZVRpbWVSZXNvbHV0aW9uKGRvdWJs
ZSBzZWNvbmRzKTsKIAorICAgIHVzaW5nIFJlZkNvdW50ZWQ6OnJlZjsKKyAgICB1c2luZyBSZWZD
b3VudGVkOjpkZXJlZjsKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBQZXJmb3JtYW5jZShGcmFt
ZSYpOwogCkBAIC04OSw2ICs5NSw4IEBAIHByaXZhdGU6CiAKICAgICBib29sIGlzUmVzb3VyY2VU
aW1pbmdCdWZmZXJGdWxsKCkgY29uc3Q7CiAKKyAgICB2b2lkIHF1ZXVlRW50cnkoUmVmPFBlcmZv
cm1hbmNlRW50cnk+KTsKKwogICAgIG11dGFibGUgUmVmUHRyPFBlcmZvcm1hbmNlTmF2aWdhdGlv
bj4gbV9uYXZpZ2F0aW9uOwogICAgIG11dGFibGUgUmVmUHRyPFBlcmZvcm1hbmNlVGltaW5nPiBt
X3RpbWluZzsKIApAQCAtOTksNiArMTA3LDkgQEAgcHJpdmF0ZToKICAgICBkb3VibGUgbV9yZWZl
cmVuY2VUaW1lOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFVzZXJUaW1pbmc+IG1fdXNlclRpbWlu
ZzsKKworICAgIEdlbmVyaWNUYXNrUXVldWU8VGltZXI+IG1fcGVyZm9ybWFuY2VUaW1lbGluZVRh
c2tRdWV1ZTsKKyAgICBMaXN0SGFzaFNldDxSZWZQdHI8UGVyZm9ybWFuY2VPYnNlcnZlcj4+IG1f
b2JzZXJ2ZXJzOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZUVudHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5j
cHAKaW5kZXggMGE2YzVlOTg4ODUuLjFiMjUwMTA5ZDBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VFbnRyeS5jcHAKQEAgLTMzLDYgKzMzLDggQEAKIAogI2lmIEVOQUJMRShXRUJf
VElNSU5HKQogCisjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgorCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIFBlcmZvcm1hbmNlRW50cnk6OlBlcmZvcm1hbmNlRW50cnkoY29uc3Qg
U3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGVudHJ5VHlwZSwgZG91YmxlIHN0YXJ0VGltZSwg
ZG91YmxlIGZpbmlzaFRpbWUpCkBAIC00MCw2ICs0Miw3IEBAIFBlcmZvcm1hbmNlRW50cnk6OlBl
cmZvcm1hbmNlRW50cnkoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGVudHJ5VHlw
ZSwKICAgICAsIG1fZW50cnlUeXBlKGVudHJ5VHlwZSkKICAgICAsIG1fc3RhcnRUaW1lKHN0YXJ0
VGltZSkKICAgICAsIG1fZHVyYXRpb24oZmluaXNoVGltZSAtIHN0YXJ0VGltZSkKKyAgICAsIG1f
dHlwZShQZXJmb3JtYW5jZUVudHJ5Ojp0eXBlRm9yRW50cnlUeXBlU3RyaW5nKGVudHJ5VHlwZSkp
CiB7CiB9CiAKQEAgLTQ3LDYgKzUwLDI2IEBAIFBlcmZvcm1hbmNlRW50cnk6On5QZXJmb3JtYW5j
ZUVudHJ5KCkKIHsKIH0KIAorUGVyZm9ybWFuY2VFbnRyeTo6VHlwZSBQZXJmb3JtYW5jZUVudHJ5
Ojp0eXBlRm9yRW50cnlUeXBlU3RyaW5nKGNvbnN0IFN0cmluZyYgZW50cnlUeXBlKQoreworICAg
IGlmIChlbnRyeVR5cGUgPT0gIm5hdmlnYXRpb24iKQorICAgICAgICByZXR1cm4gVHlwZTo6TmF2
aWdhdGlvbjsKKworICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLnVzZXJUaW1pbmdFbmFibGVkKCkpIHsKKyAgICAgICAgaWYgKGVudHJ5VHlwZSA9PSAibWFy
ayIpCisgICAgICAgICAgICByZXR1cm4gVHlwZTo6TWFyazsKKyAgICAgICAgaWYgKGVudHJ5VHlw
ZSA9PSAibWVhc3VyZSIpCisgICAgICAgICAgICByZXR1cm4gVHlwZTo6TWVhc3VyZTsKKyAgICB9
CisKKyAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5yZXNv
dXJjZVRpbWluZ0VuYWJsZWQoKSkgeworICAgICAgICBpZiAoZW50cnlUeXBlID09ICJyZXNvdXJj
ZSIpCisgICAgICAgICAgICByZXR1cm4gVHlwZTo6UmVzb3VyY2U7CisgICAgfQorCisgICAgcmV0
dXJuIFR5cGU6OlVua25vd247Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vIEVOQUJMRShXRUJfVElNSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnku
aAppbmRleCA2OGMxMDE5NGIzMi4uYzYzMTM1MGY0OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VFbnRyeS5oCkBAIC00OSw2ICs0OSwxOCBAQCBwdWJsaWM6CiAgICAgZG91YmxlIHN0
YXJ0VGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhcnRUaW1lOyB9CiAgICAgZG91YmxlIGR1cmF0
aW9uKCkgY29uc3QgeyByZXR1cm4gbV9kdXJhdGlvbjsgfQogCisgICAgZW51bSBjbGFzcyBUeXBl
IHsKKyAgICAgICAgVW5rbm93biA9IDEgPDwgMCwKKyAgICAgICAgTmF2aWdhdGlvbiA9IDEgPDwg
MSwKKyAgICAgICAgTWFyayA9IDEgPDwgMiwKKyAgICAgICAgTWVhc3VyZSA9IDEgPDwgMywKKyAg
ICAgICAgUmVzb3VyY2UgPSAxIDw8IDQsCisgICAgfTsKKworICAgIFR5cGUgdHlwZSgpIHsgcmV0
dXJuIG1fdHlwZTsgfQorCisgICAgc3RhdGljIFR5cGUgdHlwZUZvckVudHJ5VHlwZVN0cmluZyhj
b25zdCBTdHJpbmcmIGVudHJ5VHlwZSk7CisKICAgICB2aXJ0dWFsIGJvb2wgaXNSZXNvdXJjZSgp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzTWFyaygpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzTWVhc3VyZSgpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9CkBAIC02Niw2ICs3OCw3IEBAIHByaXZhdGU6CiAgICAgY29uc3QgU3Ry
aW5nIG1fZW50cnlUeXBlOwogICAgIGNvbnN0IGRvdWJsZSBtX3N0YXJ0VGltZTsKICAgICBjb25z
dCBkb3VibGUgbV9kdXJhdGlvbjsKKyAgICBjb25zdCBUeXBlIG1fdHlwZTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VPYnNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2
ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi45NTk2MTI5NTVj
MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNl
cnZlci5jcHAKQEAgLTAsMCArMSwxMTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VPYnNlcnZlci5oIgorCisjaWYgRU5BQkxFKFdFQl9U
SU1JTkcpCisKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNsdWRlICJEb2N1bWVudC5oIgor
I2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgorI2lu
Y2x1ZGUgIlBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaCIKKyNpbmNsdWRlICJXb3JrZXJH
bG9iYWxTY29wZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1BlcmZvcm1hbmNlT2JzZXJ2
ZXI6OlBlcmZvcm1hbmNlT2JzZXJ2ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCwgUmVmPFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjaz4mJiBjYWxsYmFj
aykKKyAgICA6IG1fY2FsbGJhY2soV1RGTW92ZShjYWxsYmFjaykpCit7CisgICAgaWYgKGlzPERv
Y3VtZW50PihzY3JpcHRFeGVjdXRpb25Db250ZXh0KSkgeworICAgICAgICBhdXRvJiBkb2N1bWVu
dCA9IGRvd25jYXN0PERvY3VtZW50PihzY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKKyAgICAgICAg
aWYgKERPTVdpbmRvdyogd2luZG93ID0gZG9jdW1lbnQuZG9tV2luZG93KCkpCisgICAgICAgICAg
ICBtX3BlcmZvcm1hbmNlID0gd2luZG93LT5wZXJmb3JtYW5jZSgpOworICAgIH0gZWxzZSBpZiAo
aXM8V29ya2VyR2xvYmFsU2NvcGU+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpKSB7CisgICAgICAg
IC8vIEZJWE1FOiBTdXBwb3J0IFBlcmZvcm1hbmNlIFRpbWVsaW5lIGZvciBXb3JrZXJzLgorICAg
IH0gZWxzZQorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKworRXhjZXB0aW9uT3I8
dm9pZD4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6b2JzZXJ2ZShJbml0JiYgaW5pdCkKK3sKKyAgICBp
ZiAoIW1fcGVyZm9ybWFuY2UpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3Ig
fTsKKworICAgIGlmIChpbml0LmVudHJ5VHlwZXMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4g
RXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoImVudHJ5VHlwZXMgY2Fubm90IGJl
IGFuIGVtcHR5IGxpc3QiKSB9OworCisgICAgT3B0aW9uU2V0PFBlcmZvcm1hbmNlRW50cnk6OlR5
cGU+IGZpbHRlcjsKKyAgICBpbml0LmVudHJ5VHlwZXMucmVtb3ZlQWxsTWF0Y2hpbmcoWyZdIChT
dHJpbmcmIGVudHJ5VHlwZSkgeworICAgICAgICBQZXJmb3JtYW5jZUVudHJ5OjpUeXBlIHR5cGUg
PSBQZXJmb3JtYW5jZUVudHJ5Ojp0eXBlRm9yRW50cnlUeXBlU3RyaW5nKGVudHJ5VHlwZSk7Cisg
ICAgICAgIGlmICh0eXBlID09IFBlcmZvcm1hbmNlRW50cnk6OlR5cGU6OlVua25vd24pCisgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICBmaWx0ZXIgfD0gdHlwZTsKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIH0pOworCisgICAgaWYgKGluaXQuZW50cnlUeXBlcy5pc0VtcHR5
KCkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgi
ZW50cnlUeXBlcyBjb250YWluZWQgb25seSB1bnN1cHBvcnRlZCB0eXBlcyIpIH07CisKKyAgICBt
X3R5cGVGaWx0ZXIgPSBmaWx0ZXI7CisKKyAgICBpZiAoIW1fcmVnaXN0ZXJlZCkgeworICAgICAg
ICBtX3BlcmZvcm1hbmNlLT5yZWdpc3RlclBlcmZvcm1hbmNlT2JzZXJ2ZXIoKnRoaXMpOworICAg
ICAgICBtX3JlZ2lzdGVyZWQgPSB0cnVlOworICAgIH0KKworICAgIHJldHVybiB7IH07Cit9CisK
K3ZvaWQgUGVyZm9ybWFuY2VPYnNlcnZlcjo6ZGlzY29ubmVjdCgpCit7CisgICAgaWYgKG1fcGVy
Zm9ybWFuY2UpCisgICAgICAgIG1fcGVyZm9ybWFuY2UtPnVucmVnaXN0ZXJQZXJmb3JtYW5jZU9i
c2VydmVyKCp0aGlzKTsKKworICAgIG1fcmVnaXN0ZXJlZCA9IGZhbHNlOworCisgICAgLy8gRGVs
aXZlciBhbnkgc3RpbGwgcmVtYWluaW5nIGVudHJpZXMuCisgICAgZGVsaXZlcigpOworICAgIEFT
U0VSVChtX2VudHJpZXNUb0RlbGl2ZXIuaXNFbXB0eSgpKTsKK30KKwordm9pZCBQZXJmb3JtYW5j
ZU9ic2VydmVyOjpxdWV1ZUVudHJ5KFJlZjxQZXJmb3JtYW5jZUVudHJ5PiBlbnRyeSkKK3sKKyAg
ICBtX2VudHJpZXNUb0RlbGl2ZXIuYXBwZW5kKFdURk1vdmUoZW50cnkpKTsKK30KKwordm9pZCBQ
ZXJmb3JtYW5jZU9ic2VydmVyOjpkZWxpdmVyKCkKK3sKKyAgICBpZiAobV9lbnRyaWVzVG9EZWxp
dmVyLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgVmVjdG9yPFJlZlB0cjxQZXJm
b3JtYW5jZUVudHJ5Pj4gZW50cmllczsKKyAgICBtX2VudHJpZXNUb0RlbGl2ZXIuc3dhcChlbnRy
aWVzKTsKKworICAgIFJlZjxQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0PiBsaXN0ID0gUGVy
Zm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdDo6Y3JlYXRlKFdURk1vdmUoZW50cmllcykpOworICAg
IG1fY2FsbGJhY2stPmhhbmRsZUV2ZW50KGxpc3QucHRyKCksIHRoaXMpOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1RJTUlORykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oCnNpbWlsYXJpdHkgaW5kZXggNTYlCmNv
cHkgZnJvbSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmgKY29weSB0
byBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaAppbmRleCBiZWIwNWVm
OTVlMS4uN2YyNzZhMWE2M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJz
ZWN0aW9uT2JzZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXIuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtMjUsNTIgKzI1LDUwIEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKElOVEVSU0VD
VElPTl9PQlNFUlZFUikKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKIAotI2luY2x1ZGUgIkludGVy
c2VjdGlvbk9ic2VydmVyQ2FsbGJhY2suaCIKLSNpbmNsdWRlICJJbnRlcnNlY3Rpb25PYnNlcnZl
ckVudHJ5LmgiCi0jaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CisjaW5jbHVkZSAiRXhjZXB0aW9u
T3IuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFu
Y2VPYnNlcnZlckNhbGxiYWNrLmgiCisjaW5jbHVkZSA8d3RmL09wdGlvblNldC5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0jaW5jbHVkZSA8d3RmL1ZhcmlhbnQuaD4KKyNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRWxlbWVudDsKK2NsYXNzIFBlcmZvcm1hbmNlOworY2xh
c3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAotY2xhc3MgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIg
OiBwdWJsaWMgUmVmQ291bnRlZDxJbnRlcnNlY3Rpb25PYnNlcnZlcj4geworY2xhc3MgUGVyZm9y
bWFuY2VPYnNlcnZlciA6IHB1YmxpYyBSZWZDb3VudGVkPFBlcmZvcm1hbmNlT2JzZXJ2ZXI+IHsK
IHB1YmxpYzoKICAgICBzdHJ1Y3QgSW5pdCB7Ci0gICAgICAgIFJlZlB0cjxFbGVtZW50PiByb290
OwotICAgICAgICBTdHJpbmcgcm9vdE1hcmdpbjsKLSAgICAgICAgVmFyaWFudDxkb3VibGUsIFZl
Y3Rvcjxkb3VibGU+PiB0aHJlc2hvbGQ7CisgICAgICAgIFZlY3RvcjxTdHJpbmc+IGVudHJ5VHlw
ZXM7CiAgICAgfTsKIAotICAgIHN0YXRpYyBSZWY8SW50ZXJzZWN0aW9uT2JzZXJ2ZXI+IGNyZWF0
ZShSZWY8SW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjaz4mJiBjYWxsYmFjaywgSW5pdCYmIGlu
aXQpCisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5jZU9ic2VydmVyPiBjcmVhdGUoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYgY29udGV4dCwgUmVmPFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjaz4m
JiBjYWxsYmFjaykKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEludGVyc2Vj
dGlvbk9ic2VydmVyKFdURk1vdmUoY2FsbGJhY2spLCBXVEZNb3ZlKGluaXQpKSk7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoY29udGV4dCwgV1RGTW92
ZShjYWxsYmFjaykpKTsKICAgICB9Ci0gICAgCi0gICAgRWxlbWVudCogcm9vdCgpIGNvbnN0IHsg
cmV0dXJuIG1fcm9vdC5nZXQoKTsgfQotICAgIFN0cmluZyByb290TWFyZ2luKCkgY29uc3QgeyBy
ZXR1cm4gbV9yb290TWFyZ2luOyB9Ci0gICAgY29uc3QgVmVjdG9yPGRvdWJsZT4mIHRocmVzaG9s
ZHMoKSBjb25zdCB7IHJldHVybiBtX3RocmVzaG9sZHM7IH0KIAotICAgIHZvaWQgb2JzZXJ2ZShF
bGVtZW50Jik7Ci0gICAgdm9pZCB1bm9ic2VydmUoRWxlbWVudCYpOworICAgIEV4Y2VwdGlvbk9y
PHZvaWQ+IG9ic2VydmUoSW5pdCYmKTsKICAgICB2b2lkIGRpc2Nvbm5lY3QoKTsKIAotICAgIFZl
Y3RvcjxSZWZQdHI8SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeT4+IHRha2VSZWNvcmRzKCk7Cisg
ICAgT3B0aW9uU2V0PFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IHR5cGVGaWx0ZXIoKSBjb25zdCB7
IHJldHVybiBtX3R5cGVGaWx0ZXI7IH0KKworICAgIHZvaWQgcXVldWVFbnRyeShSZWY8UGVyZm9y
bWFuY2VFbnRyeT4pOworICAgIHZvaWQgZGVsaXZlcigpOwogCiBwcml2YXRlOgotICAgIEludGVy
c2VjdGlvbk9ic2VydmVyKFJlZjxJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrPiYmLCBJbml0
JiYpOwotICAgIAotICAgIFJlZlB0cjxFbGVtZW50PiBtX3Jvb3Q7Ci0gICAgU3RyaW5nIG1fcm9v
dE1hcmdpbjsKLSAgICBWZWN0b3I8ZG91YmxlPiBtX3RocmVzaG9sZHM7Ci0gICAgUmVmPEludGVy
c2VjdGlvbk9ic2VydmVyQ2FsbGJhY2s+IG1fY2FsbGJhY2s7CisgICAgUGVyZm9ybWFuY2VPYnNl
cnZlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmPFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxs
YmFjaz4mJik7CisKKyAgICBSZWZQdHI8UGVyZm9ybWFuY2U+IG1fcGVyZm9ybWFuY2U7CisgICAg
VmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gbV9lbnRyaWVzVG9EZWxpdmVyOworICAg
IFJlZjxQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2s+IG1fY2FsbGJhY2s7CisgICAgT3B0aW9u
U2V0PFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IG1fdHlwZUZpbHRlcjsKKyAgICBib29sIG1fcmVn
aXN0ZXJlZCB7IGZhbHNlIH07CiB9OwogCi0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2Vu
ZGlmIC8vIEVOQUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIpCisjZW5kaWYgLy8gRU5BQkxFKFdF
Ql9USU1JTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uODUyMGNiYzFkODAKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRs
CkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8v
cGVyZm9ybWFuY2UtdGltZWxpbmUvCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJfVElNSU5HLAor
ICAgIENvbnN0cnVjdG9yKFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjayBjYWxsYmFjayksCisg
ICAgQ29uc3RydWN0b3JDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LAorICAgIEVuYWJs
ZWRBdFJ1bnRpbWU9UGVyZm9ybWFuY2VUaW1lbGluZSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tz
VlRhYmxlLAorXSBpbnRlcmZhY2UgUGVyZm9ybWFuY2VPYnNlcnZlciB7CisgICAgW01heVRocm93
RXhjZXB0aW9uXSB2b2lkIG9ic2VydmUoUGVyZm9ybWFuY2VPYnNlcnZlckluaXQgb3B0aW9ucyk7
CisgICAgdm9pZCBkaXNjb25uZWN0KCk7Cit9OworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCX1RJ
TUlORywKKyAgICBFbmFibGVkQXRSdW50aW1lPVJlc291cmNlVGltaW5nLAorXQorZGljdGlvbmFy
eSBQZXJmb3JtYW5jZU9ic2VydmVySW5pdCB7CisgICAgcmVxdWlyZWQgc2VxdWVuY2U8RE9NU3Ry
aW5nPiBlbnRyeVR5cGVzOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50
ZXJzZWN0aW9uT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNl
cnZlckNhbGxiYWNrLmgKc2ltaWxhcml0eSBpbmRleCA1NCUKY29weSBmcm9tIFNvdXJjZS9XZWJD
b3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaApjb3B5IHRvIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmgKaW5kZXggYmViMDVlZjk1ZTEuLjkxMzVj
Mzk4NDg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2Vy
dmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJh
Y2suaApAQCAtMjUsNTIgKzI1LDIxIEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKElO
VEVSU0VDVElPTl9PQlNFUlZFUikKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKIAotI2luY2x1ZGUg
IkludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2suaCIKLSNpbmNsdWRlICJJbnRlcnNlY3Rpb25P
YnNlcnZlckVudHJ5LmgiCi0jaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgotI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEVsZW1lbnQ7
CitjbGFzcyBQZXJmb3JtYW5jZU9ic2VydmVyOworY2xhc3MgUGVyZm9ybWFuY2VPYnNlcnZlckVu
dHJ5TGlzdDsKIAotY2xhc3MgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgOiBwdWJsaWMgUmVmQ291bnRl
ZDxJbnRlcnNlY3Rpb25PYnNlcnZlcj4geworY2xhc3MgUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxi
YWNrIDogcHVibGljIFJlZkNvdW50ZWQ8UGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrPiB7CiBw
dWJsaWM6Ci0gICAgc3RydWN0IEluaXQgewotICAgICAgICBSZWZQdHI8RWxlbWVudD4gcm9vdDsK
LSAgICAgICAgU3RyaW5nIHJvb3RNYXJnaW47Ci0gICAgICAgIFZhcmlhbnQ8ZG91YmxlLCBWZWN0
b3I8ZG91YmxlPj4gdGhyZXNob2xkOwotICAgIH07Ci0KLSAgICBzdGF0aWMgUmVmPEludGVyc2Vj
dGlvbk9ic2VydmVyPiBjcmVhdGUoUmVmPEludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2s+JiYg
Y2FsbGJhY2ssIEluaXQmJiBpbml0KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoV1RGTW92ZShjYWxsYmFjayksIFdURk1vdmUoaW5pdCkp
KTsKLSAgICB9Ci0gICAgCi0gICAgRWxlbWVudCogcm9vdCgpIGNvbnN0IHsgcmV0dXJuIG1fcm9v
dC5nZXQoKTsgfQotICAgIFN0cmluZyByb290TWFyZ2luKCkgY29uc3QgeyByZXR1cm4gbV9yb290
TWFyZ2luOyB9Ci0gICAgY29uc3QgVmVjdG9yPGRvdWJsZT4mIHRocmVzaG9sZHMoKSBjb25zdCB7
IHJldHVybiBtX3RocmVzaG9sZHM7IH0KLQotICAgIHZvaWQgb2JzZXJ2ZShFbGVtZW50Jik7Ci0g
ICAgdm9pZCB1bm9ic2VydmUoRWxlbWVudCYpOwotICAgIHZvaWQgZGlzY29ubmVjdCgpOwotCi0g
ICAgVmVjdG9yPFJlZlB0cjxJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5Pj4gdGFrZVJlY29yZHMo
KTsKLQotcHJpdmF0ZToKLSAgICBJbnRlcnNlY3Rpb25PYnNlcnZlcihSZWY8SW50ZXJzZWN0aW9u
T2JzZXJ2ZXJDYWxsYmFjaz4mJiwgSW5pdCYmKTsKLSAgICAKLSAgICBSZWZQdHI8RWxlbWVudD4g
bV9yb290OwotICAgIFN0cmluZyBtX3Jvb3RNYXJnaW47Ci0gICAgVmVjdG9yPGRvdWJsZT4gbV90
aHJlc2hvbGRzOwotICAgIFJlZjxJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrPiBtX2NhbGxi
YWNrOworICAgIHZpcnR1YWwgflBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjaygpIHsgfQorICAg
IHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVudChQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0Kiwg
UGVyZm9ybWFuY2VPYnNlcnZlciopID0gMDsKIH07CiAKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCi0jZW5kaWYgLy8gRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKKyNlbmRpZiAvLyBF
TkFCTEUoV0VCX1RJTUlORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VPYnNlcnZlckNhbGxiYWNrLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VPYnNlcnZlckNhbGxiYWNrLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMC4uYmY4ZGYzYTAwM2MKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJmb3JtYW5jZS10aW1lbGluZS8KKwor
WworICAgIENvbmRpdGlvbmFsPVdFQl9USU1JTkcsCisgICAgRW5hYmxlZEF0UnVudGltZT1QZXJm
b3JtYW5jZVRpbWVsaW5lLAorXSBjYWxsYmFjayBQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2sg
PSB2b2lkIChQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0IGVudHJpZXMsIFBlcmZvcm1hbmNl
T2JzZXJ2ZXIgb2JzZXJ2ZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAuLjhlM2EyMzQyMzQyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmNwcApAQCAtMCwwICsxLDc2IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlT2Jz
ZXJ2ZXJFbnRyeUxpc3QuaCIKKworI2lmIEVOQUJMRShXRUJfVElNSU5HKQorCisjaW5jbHVkZSAi
UGVyZm9ybWFuY2VFbnRyeS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1BlcmZvcm1hbmNl
T2JzZXJ2ZXJFbnRyeUxpc3Q6OlBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QoVmVjdG9yPFJl
ZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gZW50cmllcykKKyAgICA6IG1fZW50cmllcyhXVEZNb3Zl
KGVudHJpZXMpKQoreworICAgIHN0ZDo6c29ydChtX2VudHJpZXMuYmVnaW4oKSwgbV9lbnRyaWVz
LmVuZCgpLCBQZXJmb3JtYW5jZUVudHJ5OjpzdGFydFRpbWVDb21wYXJlTGVzc1RoYW4pOworfQor
CitWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBQZXJmb3JtYW5jZU9ic2VydmVyRW50
cnlMaXN0OjpnZXRFbnRyaWVzKCkgY29uc3QKK3sKKyAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1h
bmNlRW50cnk+PiBlbnRyaWVzOworICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fZW50cmllcyk7
CisgICAgcmV0dXJuIGVudHJpZXM7Cit9CisKK1ZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRy
eT4+IFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Q6OmdldEVudHJpZXNCeVR5cGUoY29uc3Qg
U3RyaW5nJiBlbnRyeVR5cGUpIGNvbnN0Cit7CisgICAgcmV0dXJuIGdldEVudHJpZXNCeU5hbWUo
U3RyaW5nKCksIGVudHJ5VHlwZSk7Cit9CisKK1ZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRy
eT4+IFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Q6OmdldEVudHJpZXNCeU5hbWUoY29uc3Qg
U3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGVudHJ5VHlwZSkgY29uc3QKK3sKKyAgICBWZWN0
b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBlbnRyaWVzOworCisgICAgLy8gUGVyZm9ybWFu
Y2VPYnNlcnZlcnMgY2FuIG9ubHkgYmUgcmVnaXN0ZXJlZCBmb3IgdmFsaWQgdHlwZXMuCisgICAg
Ly8gU28gaWYgdGhlIGluY29taW5nIGVudHJ5VHlwZSBpcyBhbiB1bmtub3duIHR5cGUsIHdlIGtu
b3cgdGhlcmUgd2lsbCBiZSBubyBtYXRjaGVzLgorICAgIFBlcmZvcm1hbmNlRW50cnk6OlR5cGUg
dHlwZSA9IFBlcmZvcm1hbmNlRW50cnk6OnR5cGVGb3JFbnRyeVR5cGVTdHJpbmcoZW50cnlUeXBl
KTsKKyAgICBpZiAoIWVudHJ5VHlwZS5pc051bGwoKSAmJiB0eXBlID09IFBlcmZvcm1hbmNlRW50
cnk6OlR5cGU6OlVua25vd24pCisgICAgICAgIHJldHVybiBlbnRyaWVzOworCisgICAgZm9yIChh
dXRvJiBlbnRyeSA6IG1fZW50cmllcykgeworICAgICAgICBpZiAoIW5hbWUuaXNOdWxsKCkgJiYg
ZW50cnktPm5hbWUoKSAhPSBuYW1lKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIGlm
ICghZW50cnlUeXBlLmlzTnVsbCgpICYmIGVudHJ5LT50eXBlKCkgIT0gdHlwZSkKKyAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICBlbnRyaWVzLmFwcGVuZChlbnRyeSk7CisgICAgfQorCisg
ICAgcmV0dXJuIGVudHJpZXM7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaApzaW1pbGFyaXR5IGluZGV4IDU0JQpjb3B5IGZy
b20gU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5oCmNvcHkgdG8gU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmgKaW5kZXggYmVi
MDVlZjk1ZTEuLmQyMjk4MDM4MzgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0lu
dGVyc2VjdGlvbk9ic2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZU9ic2VydmVyRW50cnlMaXN0LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTI1LDUyICsyNSwzNCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVO
QUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIpCisjaWYgRU5BQkxFKFdFQl9USU1JTkcpCiAKLSNp
bmNsdWRlICJJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrLmgiCi0jaW5jbHVkZSAiSW50ZXJz
ZWN0aW9uT2JzZXJ2ZXJFbnRyeS5oIgotI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0jaW5jbHVkZSA8d3RmL1ZhcmlhbnQuaD4KKyNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRWxlbWVudDsKK2NsYXNzIFBlcmZvcm1hbmNlRW50cnk7
CiAKLWNsYXNzIEludGVyc2VjdGlvbk9ic2VydmVyIDogcHVibGljIFJlZkNvdW50ZWQ8SW50ZXJz
ZWN0aW9uT2JzZXJ2ZXI+IHsKK2NsYXNzIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QgOiBw
dWJsaWMgUmVmQ291bnRlZDxQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0PiB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgc3RydWN0IEluaXQgewotICAgICAg
ICBSZWZQdHI8RWxlbWVudD4gcm9vdDsKLSAgICAgICAgU3RyaW5nIHJvb3RNYXJnaW47Ci0gICAg
ICAgIFZhcmlhbnQ8ZG91YmxlLCBWZWN0b3I8ZG91YmxlPj4gdGhyZXNob2xkOwotICAgIH07Ci0K
LSAgICBzdGF0aWMgUmVmPEludGVyc2VjdGlvbk9ic2VydmVyPiBjcmVhdGUoUmVmPEludGVyc2Vj
dGlvbk9ic2VydmVyQ2FsbGJhY2s+JiYgY2FsbGJhY2ssIEluaXQmJiBpbml0KQorICAgIHN0YXRp
YyBSZWY8UGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdD4gY3JlYXRlKFZlY3RvcjxSZWZQdHI8
UGVyZm9ybWFuY2VFbnRyeT4+IGVudHJpZXMpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihXVEZNb3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShp
bml0KSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZU9ic2VydmVy
RW50cnlMaXN0KFdURk1vdmUoZW50cmllcykpKTsKICAgICB9CiAgICAgCi0gICAgRWxlbWVudCog
cm9vdCgpIGNvbnN0IHsgcmV0dXJuIG1fcm9vdC5nZXQoKTsgfQotICAgIFN0cmluZyByb290TWFy
Z2luKCkgY29uc3QgeyByZXR1cm4gbV9yb290TWFyZ2luOyB9Ci0gICAgY29uc3QgVmVjdG9yPGRv
dWJsZT4mIHRocmVzaG9sZHMoKSBjb25zdCB7IHJldHVybiBtX3RocmVzaG9sZHM7IH0KLQotICAg
IHZvaWQgb2JzZXJ2ZShFbGVtZW50Jik7Ci0gICAgdm9pZCB1bm9ic2VydmUoRWxlbWVudCYpOwot
ICAgIHZvaWQgZGlzY29ubmVjdCgpOwotCi0gICAgVmVjdG9yPFJlZlB0cjxJbnRlcnNlY3Rpb25P
YnNlcnZlckVudHJ5Pj4gdGFrZVJlY29yZHMoKTsKKyAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1h
bmNlRW50cnk+PiBnZXRFbnRyaWVzKCkgY29uc3Q7CisgICAgVmVjdG9yPFJlZlB0cjxQZXJmb3Jt
YW5jZUVudHJ5Pj4gZ2V0RW50cmllc0J5VHlwZShjb25zdCBTdHJpbmcmIGVudHJ5VHlwZSkgY29u
c3Q7CisgICAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gZ2V0RW50cmllc0J5TmFt
ZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZW50cnlUeXBlKSBjb25zdDsKIAog
cHJpdmF0ZToKLSAgICBJbnRlcnNlY3Rpb25PYnNlcnZlcihSZWY8SW50ZXJzZWN0aW9uT2JzZXJ2
ZXJDYWxsYmFjaz4mJiwgSW5pdCYmKTsKLSAgICAKLSAgICBSZWZQdHI8RWxlbWVudD4gbV9yb290
OwotICAgIFN0cmluZyBtX3Jvb3RNYXJnaW47Ci0gICAgVmVjdG9yPGRvdWJsZT4gbV90aHJlc2hv
bGRzOwotICAgIFJlZjxJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrPiBtX2NhbGxiYWNrOwor
ICAgIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QoVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5j
ZUVudHJ5Pj4gZW50cmllcyk7CisKKyAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+
PiBtX2VudHJpZXM7CiB9OwogCi0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8v
IEVOQUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIpCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9USU1J
TkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJF
bnRyeUxpc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50
cnlMaXN0LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMGVlNzA0
MGYzZjcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
T2JzZXJ2ZXJFbnRyeUxpc3QuaWRsCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBo
dHRwczovL3czYy5naXRodWIuaW8vcGVyZm9ybWFuY2UtdGltZWxpbmUvCisKK1sKKyAgICBDb25k
aXRpb25hbD1XRUJfVElNSU5HLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9UGVyZm9ybWFuY2VUaW1l
bGluZSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorXSBpbnRlcmZhY2UgUGVyZm9y
bWFuY2VPYnNlcnZlckVudHJ5TGlzdCB7CisgICAgUGVyZm9ybWFuY2VFbnRyeUxpc3QgZ2V0RW50
cmllcygpOworICAgIFBlcmZvcm1hbmNlRW50cnlMaXN0IGdldEVudHJpZXNCeVR5cGUoRE9NU3Ry
aW5nIHR5cGUpOworICAgIFBlcmZvcm1hbmNlRW50cnlMaXN0IGdldEVudHJpZXNCeU5hbWUoRE9N
U3RyaW5nIG5hbWUsIG9wdGlvbmFsIERPTVN0cmluZyB0eXBlKTsKK307CisKK3R5cGVkZWYgc2Vx
dWVuY2U8UGVyZm9ybWFuY2VFbnRyeT4gUGVyZm9ybWFuY2VFbnRyeUxpc3Q7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVXNlclRpbWluZy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVXNlclRpbWluZy5jcHAKaW5kZXggYzU0NzE2MDUwOTgu
LjQyMTRlZGNmZjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
VXNlclRpbWluZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVVzZXJU
aW1pbmcuY3BwCkBAIC0zMCw5ICszMCw2IEBACiAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgi
CiAjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKLSNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5Lmgi
Ci0jaW5jbHVkZSAiUGVyZm9ybWFuY2VNYXJrLmgiCi0jaW5jbHVkZSAiUGVyZm9ybWFuY2VNZWFz
dXJlLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VUaW1pbmcuaCIKICNpbmNsdWRlIDxhcnJheT4K
ICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KQEAgLTEwOCwxMyArMTA1LDE0IEBAIHN0
YXRpYyB2b2lkIGNsZWFyUGVyZm9ybWFuY2VFbnRyaWVzKFBlcmZvcm1hbmNlRW50cnlNYXAmIHBl
cmZvcm1hbmNlRW50cnlNYXAsIGNvCiAgICAgcGVyZm9ybWFuY2VFbnRyeU1hcC5yZW1vdmUobmFt
ZSk7CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IFVzZXJUaW1pbmc6Om1hcmsoY29uc3QgU3RyaW5n
JiBtYXJrTmFtZSkKK0V4Y2VwdGlvbk9yPFJlZjxQZXJmb3JtYW5jZU1hcms+PiBVc2VyVGltaW5n
OjptYXJrKGNvbnN0IFN0cmluZyYgbWFya05hbWUpCiB7CiAgICAgaWYgKHJlc3RyaWN0ZWRNYXJr
RnVuY3Rpb24obWFya05hbWUpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgU1lOVEFYX0VS
UiB9OwogCi0gICAgaW5zZXJ0UGVyZm9ybWFuY2VFbnRyeShtX21hcmtzTWFwLCBQZXJmb3JtYW5j
ZU1hcms6OmNyZWF0ZShtYXJrTmFtZSwgbV9wZXJmb3JtYW5jZS5ub3coKSkpOwotICAgIHJldHVy
biB7IH07CisgICAgUmVmPFBlcmZvcm1hbmNlTWFyaz4gZW50cnkgPSBQZXJmb3JtYW5jZU1hcms6
OmNyZWF0ZShtYXJrTmFtZSwgbV9wZXJmb3JtYW5jZS5ub3coKSk7CisgICAgaW5zZXJ0UGVyZm9y
bWFuY2VFbnRyeShtX21hcmtzTWFwLCBlbnRyeS5jb3B5UmVmKCkpOworICAgIHJldHVybiBXVEZN
b3ZlKGVudHJ5KTsKIH0KIAogdm9pZCBVc2VyVGltaW5nOjpjbGVhck1hcmtzKGNvbnN0IFN0cmlu
ZyYgbWFya05hbWUpCkBAIC0xMzcsNyArMTM1LDcgQEAgRXhjZXB0aW9uT3I8ZG91YmxlPiBVc2Vy
VGltaW5nOjpmaW5kRXhpc3RpbmdNYXJrU3RhcnRUaW1lKGNvbnN0IFN0cmluZyYgbWFya05hbWUK
ICAgICByZXR1cm4gRXhjZXB0aW9uIHsgU1lOVEFYX0VSUiB9OwogfQogCi1FeGNlcHRpb25Pcjx2
b2lkPiBVc2VyVGltaW5nOjptZWFzdXJlKGNvbnN0IFN0cmluZyYgbWVhc3VyZU5hbWUsIGNvbnN0
IFN0cmluZyYgc3RhcnRNYXJrLCBjb25zdCBTdHJpbmcmIGVuZE1hcmspCitFeGNlcHRpb25PcjxS
ZWY8UGVyZm9ybWFuY2VNZWFzdXJlPj4gVXNlclRpbWluZzo6bWVhc3VyZShjb25zdCBTdHJpbmcm
IG1lYXN1cmVOYW1lLCBjb25zdCBTdHJpbmcmIHN0YXJ0TWFyaywgY29uc3QgU3RyaW5nJiBlbmRN
YXJrKQogewogICAgIGRvdWJsZSBzdGFydFRpbWUgPSAwLjA7CiAgICAgZG91YmxlIGVuZFRpbWUg
PSAwLjA7CkBAIC0xNjEsOCArMTU5LDkgQEAgRXhjZXB0aW9uT3I8dm9pZD4gVXNlclRpbWluZzo6
bWVhc3VyZShjb25zdCBTdHJpbmcmIG1lYXN1cmVOYW1lLCBjb25zdCBTdHJpbmcmIHMKICAgICAg
ICAgZW5kVGltZSA9IGVuZE1hcmtSZXN1bHQucmVsZWFzZVJldHVyblZhbHVlKCk7CiAgICAgfQog
Ci0gICAgaW5zZXJ0UGVyZm9ybWFuY2VFbnRyeShtX21lYXN1cmVzTWFwLCBQZXJmb3JtYW5jZU1l
YXN1cmU6OmNyZWF0ZShtZWFzdXJlTmFtZSwgc3RhcnRUaW1lLCBlbmRUaW1lKSk7Ci0gICAgcmV0
dXJuIHsgfTsKKyAgICBhdXRvIGVudHJ5ID0gUGVyZm9ybWFuY2VNZWFzdXJlOjpjcmVhdGUobWVh
c3VyZU5hbWUsIHN0YXJ0VGltZSwgZW5kVGltZSk7CisgICAgaW5zZXJ0UGVyZm9ybWFuY2VFbnRy
eShtX21lYXN1cmVzTWFwLCBlbnRyeS5jb3B5UmVmKCkpOworICAgIHJldHVybiBXVEZNb3ZlKGVu
dHJ5KTsKIH0KIAogdm9pZCBVc2VyVGltaW5nOjpjbGVhck1lYXN1cmVzKGNvbnN0IFN0cmluZyYg
bWVhc3VyZU5hbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
VXNlclRpbWluZy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVVzZXJUaW1pbmcu
aAppbmRleCA1NzRlMTI0MTVkOC4uNzgzMTM3Mzc4YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VVc2VyVGltaW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZVVzZXJUaW1pbmcuaApAQCAtMjgsMTMgKzI4LDE0IEBACiAjaWYgRU5BQkxF
KFdFQl9USU1JTkcpCiAKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgorI2luY2x1ZGUgIlBlcmZv
cm1hbmNlTWFyay5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlTWVhc3VyZS5oIgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBlcmZvcm1hbmNlOwotY2xhc3MgUGVyZm9ybWFuY2VF
bnRyeTsKIAogdXNpbmcgUGVyZm9ybWFuY2VFbnRyeU1hcCA9IEhhc2hNYXA8U3RyaW5nLCBWZWN0
b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+Pj47CiAKQEAgLTQyLDEwICs0MywxMCBAQCBjbGFz
cyBVc2VyVGltaW5nIHsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBVc2VyVGltaW5nKFBlcmZvcm1h
bmNlJik7CiAKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBtYXJrKGNvbnN0IFN0cmluZyYgbWFya05h
bWUpOworICAgIEV4Y2VwdGlvbk9yPFJlZjxQZXJmb3JtYW5jZU1hcms+PiBtYXJrKGNvbnN0IFN0
cmluZyYgbWFya05hbWUpOwogICAgIHZvaWQgY2xlYXJNYXJrcyhjb25zdCBTdHJpbmcmIG1hcmtO
YW1lKTsKIAotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IG1lYXN1cmUoY29uc3QgU3RyaW5nJiBtZWFz
dXJlTmFtZSwgY29uc3QgU3RyaW5nJiBzdGFydE1hcmssIGNvbnN0IFN0cmluZyYgZW5kTWFyayk7
CisgICAgRXhjZXB0aW9uT3I8UmVmPFBlcmZvcm1hbmNlTWVhc3VyZT4+IG1lYXN1cmUoY29uc3Qg
U3RyaW5nJiBtZWFzdXJlTmFtZSwgY29uc3QgU3RyaW5nJiBzdGFydE1hcmssIGNvbnN0IFN0cmlu
ZyYgZW5kTWFyayk7CiAgICAgdm9pZCBjbGVhck1lYXN1cmVzKGNvbnN0IFN0cmluZyYgbWVhc3Vy
ZU5hbWUpOwogCiAgICAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gZ2V0TWFya3Mo
KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDM1NTM0MTIyYzM1Li5kZDA0MDhl
Y2NjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTctMDEt
MjggIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBs
ZW1lbnQgUGVyZm9ybWFuY2VPYnNlcnZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY3NTQ2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDI0Nzk1
OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvTW9kZWxzL05hdGl2ZUZ1bmN0aW9uUGFyYW1ldGVycy5qczoKKyAgICAgICAg
SW1wcm92ZSBBUEkgdmlldyBkaXNwbGF5IG9mIGJ1aWx0LWluIHBlcmZvcm1hbmNlIG1ldGhvZHMu
CisKIDIwMTctMDEtMjcgIERldmluIFJvdXNzbyAgPGRjcm91c3NvK3dlYmtpdEBnbWFpbC5jb20+
CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogZ3JhZGllbnQgZWRpdG9yIHNob3VsZCBwcm92aWRl
IGhvcml6b250YWwgc2xpZGVyIGZvciAnYW5nbGUnIHZhbHVlIHdoZXJlIGFwcGxpY2FibGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9OYXRp
dmVGdW5jdGlvblBhcmFtZXRlcnMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Nb2RlbHMvTmF0aXZlRnVuY3Rpb25QYXJhbWV0ZXJzLmpzCmluZGV4IDhlYTcyNGE2OTYy
Li45YmE1MGEyM2E5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvTW9kZWxzL05hdGl2ZUZ1bmN0aW9uUGFyYW1ldGVycy5qcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvTmF0aXZlRnVuY3Rpb25QYXJhbWV0ZXJz
LmpzCkBAIC0xMjMxLDYgKzEyMzEsMjcgQEAgV2ViSW5zcGVjdG9yLk5hdGl2ZVByb3RvdHlwZUZ1
bmN0aW9uUGFyYW1ldGVycyA9IHsKICAgICAgICAgX19wcm90b19fOiBudWxsLAogICAgIH0sCiAK
KyAgICBQZXJmb3JtYW5jZTogeworICAgICAgICBjbGVhck1hcmtzOiAiW25hbWVdIiwKKyAgICAg
ICAgY2xlYXJNZWFzdXJlczogIm5hbWUiLAorICAgICAgICBnZXRFbnRyaWVzQnlOYW1lOiAibmFt
ZSwgW3R5cGVdIiwKKyAgICAgICAgZ2V0RW50cmllc0J5VHlwZTogInR5cGUiLAorICAgICAgICBt
YXJrOiAibmFtZSIsCisgICAgICAgIG1lYXN1cmU6ICJuYW1lLCBbc3RhcnRNYXJrXSwgW2VuZE1h
cmtdIiwKKyAgICAgICAgX19wcm90b19fOiBudWxsLAorICAgIH0sCisKKyAgICBQZXJmb3JtYW5j
ZU9ic2VydmVyOiB7CisgICAgICAgIG9ic2VydmU6ICJvcHRpb25zIiwKKyAgICAgICAgX19wcm90
b19fOiBudWxsLAorICAgIH0sCisKKyAgICBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0OiB7
CisgICAgICAgIGdldEVudHJpZXNCeU5hbWU6ICJuYW1lLCBbdHlwZV0iLAorICAgICAgICBnZXRF
bnRyaWVzQnlUeXBlOiAidHlwZSIsCisgICAgICAgIF9fcHJvdG9fXzogbnVsbCwKKyAgICB9LAor
CiAgICAgUGx1Z2luOiB7CiAgICAgICAgIGl0ZW06ICJbaW5kZXhdIiwKICAgICAgICAgbmFtZWRJ
dGVtOiAiW25hbWVdIiwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300019</attachid>
            <date>2017-01-28 02:49:17 -0800</date>
            <delta_ts>2017-01-29 18:22:46 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>pref-3.patch</filename>
            <type>text/plain</type>
            <size>116677</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhODdjYmNkODgzYy4uMDJhYWEwYTQzZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzOCBAQAog
MjAxNy0wMS0yOCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCisgICAg
ICAgIEltcGxlbWVudCBQZXJmb3JtYW5jZU9ic2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc1NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzMwMjQ3OTU5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItYXBpLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFu
Y2Utb2JzZXJ2ZXItYXBpLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLW9ic2Vy
dmVyL3BlcmZvcm1hbmNlLW9ic2VydmVyLWJhc2ljLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItYmFzaWMuaHRt
bDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2Jz
ZXJ2ZXItZXhjZXB0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFu
Y2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZXhjZXB0aW9uLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHBlcmZvcm1hbmNlLW9ic2VydmVyL3BlcmZvcm1hbmNlLW9ic2VydmVyLW5lc3Rl
ZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLW9ic2VydmVyL3Bl
cmZvcm1hbmNlLW9ic2VydmVyLW5lc3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3Jt
YW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1vcmRlci1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLW9ic2VydmVyL3BlcmZvcm1hbmNlLW9ic2VydmVy
LW9yZGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLW9ic2VydmVyL3BlcmZv
cm1hbmNlLW9ic2VydmVyLXBlcmlvZGljLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItcGVyaW9kaWMuaHRtbDog
QWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2UtdGltZWxp
bmUtYXBpLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2Utb2JzZXJ2
ZXIvcGVyZm9ybWFuY2UtdGltZWxpbmUtYXBpLmh0bWw6IEFkZGVkLgorICAgICAgICBQZXJmb3Jt
YW5jZU9ic2VydmVyIHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vZWZsL2pzL2RvbS9nbG9i
YWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL2d0ay9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtZWxjYXBpdGFuL2pzL2RvbS9nbG9iYWwtY29uc3Ry
dWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy13
azEvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjLXlvc2VtaXRlL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3Jz
LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9qcy9kb20v
Z2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS93aW4vanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3Rl
ZC50eHQ6CisgICAgICAgIE5ldyBnbG9iYWwgY29uc3RydWN0b3JzLgorCisyMDE3LTAxLTI4ICBK
b3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKICAgICAgICAgQWRkIFVzZXIg
VGltaW5nIEV4cGVyaW1lbnRhbCBGZWF0dXJlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc1NDIKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIyNzQ2
MzA3PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9y
bWFuY2Utb2JzZXJ2ZXItYXBpLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNl
LW9ic2VydmVyL3BlcmZvcm1hbmNlLW9ic2VydmVyLWFwaS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjI4ZWZkODcwMDEwCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2
ZXItYXBpLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM1IEBACitCYXNpYyBJbnRlcmZhY2UgdGVz
dCBmb3IgUGVyZm9ybWFuY2VPYnNlcnZlciBBUElzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworUGVyZm9ybWFuY2VPYnNlcnZlcgorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGlz
IGRlZmluZWQuCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIucHJvdG90eXBlLm9ic2VydmUgaXMg
ZGVmaW5lZC4KK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlci5wcm90b3R5cGUuZGlzY29ubmVjdCBp
cyBkZWZpbmVkLgorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyKCkgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogQ29uc3RydWN0b3IgcmVxdWlyZXMgJ25ldycgb3BlcmF0b3IuCitQQVNTIG5ldyBQ
ZXJmb3JtYW5jZU9ic2VydmVyKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3Vn
aCBhcmd1bWVudHMuCitQQVNTIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKDEpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdjYWxsYmFjaycpIHRvIHRoZSBQZXJmb3JtYW5j
ZU9ic2VydmVyIGNvbnN0cnVjdG9yIG11c3QgYmUgYSBmdW5jdGlvbi4KK1BBU1Mgb2JzZXJ2ZXIg
PSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbigpIHt9KSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1Mgb2JzZXJ2ZXIub2JzZXJ2ZSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBvYnNlcnZlci5vYnNlcnZlKCJtYXJrIikg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1Mgb2JzZXJ2ZXIub2Jz
ZXJ2ZSh7fSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTWVtYmVyIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXJJbml0LmVudHJ5VHlwZXMgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4gaW5zdGFuY2Ug
b2Ygc2VxdWVuY2UuCitQQVNTIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6Im1hcmsifSkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVmFsdWUgaXMgbm90IGEgc2VxdWVuY2UuCitQQVNT
IG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6W119KSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBlbnRyeVR5cGVzIGNhbm5vdCBiZSBhbiBlbXB0eSBsaXN0LgorUEFTUyBvYnNlcnZlci5v
YnNlcnZlKHtlbnRyeVR5cGVzOlsibm90LXJlYWwiXX0pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IGVudHJ5VHlwZXMgY29udGFpbmVkIG9ubHkgdW5zdXBwb3J0ZWQgdHlwZXMuCitQQVNTIG9i
c2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6WyJtYXJrIl19KSBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KK1BBU1Mgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczpbIm1hcmsiLCAibm90LXJl
YWwiXX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBvYnNlcnZlci5vYnNlcnZlKHtl
bnRyeVR5cGVzOlsibWFyayIsICJtZWFzdXJlIl19KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4K
K1BBU1Mgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFT
UyBvYnNlcnZlci5kaXNjb25uZWN0KCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCisKK1BlcmZv
cm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlz
dCBpcyBkZWZpbmVkLgorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LnByb3RvdHlw
ZS5nZXRFbnRyaWVzIGlzIGRlZmluZWQuCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxp
c3QucHJvdG90eXBlLmdldEVudHJpZXNCeVR5cGUgaXMgZGVmaW5lZC4KK1BBU1MgUGVyZm9ybWFu
Y2VPYnNlcnZlckVudHJ5TGlzdC5wcm90b3R5cGUuZ2V0RW50cmllc0J5TmFtZSBpcyBkZWZpbmVk
LgorUEFTUyBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCgpIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICdu
ZXcgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCgpJykuCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItYXBpLmh0bWwgYi9MYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1hcGkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNjQ4YmM0NTBhYTYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3Jt
YW5jZS1vYnNlcnZlci1hcGkuaHRtbApAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgSFRNTD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJCYXNp
YyBJbnRlcmZhY2UgdGVzdCBmb3IgUGVyZm9ybWFuY2VPYnNlcnZlciBBUElzLiIpOworCitkZWJ1
ZygiUGVyZm9ybWFuY2VPYnNlcnZlciIpOworc2hvdWxkQmVEZWZpbmVkKGBQZXJmb3JtYW5jZU9i
c2VydmVyYCk7CitzaG91bGRCZURlZmluZWQoYFBlcmZvcm1hbmNlT2JzZXJ2ZXIucHJvdG90eXBl
Lm9ic2VydmVgKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9ybWFuY2VPYnNlcnZlci5wcm90b3R5
cGUuZGlzY29ubmVjdGApOworc2hvdWxkVGhyb3coYFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKWApOwor
c2hvdWxkVGhyb3coYG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKClgKTsKK3Nob3VsZFRocm93KGBu
ZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigxKWApOworc2hvdWxkTm90VGhyb3coYG9ic2VydmVyID0g
bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoZnVuY3Rpb24oKSB7fSlgKTsKK3Nob3VsZFRocm93KGBv
YnNlcnZlci5vYnNlcnZlKClgKTsKK3Nob3VsZFRocm93KGBvYnNlcnZlci5vYnNlcnZlKCJtYXJr
IilgKTsKK3Nob3VsZFRocm93KGBvYnNlcnZlci5vYnNlcnZlKHt9KWApOworc2hvdWxkVGhyb3co
YG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6Im1hcmsifSlgKTsKK3Nob3VsZFRocm93KGBv
YnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOltdfSlgKTsKK3Nob3VsZFRocm93KGBvYnNlcnZl
ci5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibm90LXJlYWwiXX0pYCk7CitzaG91bGROb3RUaHJvdyhg
b2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczpbIm1hcmsiXX0pYCk7CitzaG91bGROb3RUaHJv
dyhgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczpbIm1hcmsiLCAibm90LXJlYWwiXX0pYCk7
CitzaG91bGROb3RUaHJvdyhgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczpbIm1hcmsiLCAi
bWVhc3VyZSJdfSlgKTsKK3Nob3VsZE5vdFRocm93KGBvYnNlcnZlci5kaXNjb25uZWN0KClgKTsK
K3Nob3VsZE5vdFRocm93KGBvYnNlcnZlci5kaXNjb25uZWN0KClgKTsKKworZGVidWcoIiIpOwor
ZGVidWcoIlBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QiKTsKK3Nob3VsZEJlRGVmaW5lZChg
UGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdGApOworc2hvdWxkQmVEZWZpbmVkKGBQZXJmb3Jt
YW5jZU9ic2VydmVyRW50cnlMaXN0LnByb3RvdHlwZS5nZXRFbnRyaWVzYCk7CitzaG91bGRCZURl
ZmluZWQoYFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QucHJvdG90eXBlLmdldEVudHJpZXNC
eVR5cGVgKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5w
cm90b3R5cGUuZ2V0RW50cmllc0J5TmFtZWApOworc2hvdWxkVGhyb3coYG5ldyBQZXJmb3JtYW5j
ZU9ic2VydmVyRW50cnlMaXN0KClgKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2
ZXItYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIv
cGVyZm9ybWFuY2Utb2JzZXJ2ZXItYmFzaWMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4yYjQ1ZWQ3ZGQ5ZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLW9ic2VydmVyL3BlcmZvcm1hbmNlLW9ic2VydmVyLWJhc2lj
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUyIEBACitCYXNpYyBCZWhhdmlvciB0ZXN0IGZvciBQ
ZXJmb3JtYW5jZU9ic2VydmVyIEFQSXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitJbnNpZGUgUGVyZm9ybWFuY2VPYnNlcnZlciBjYWxsYmFjaworUEFTUyBhcmd1bWVudHNMZW5n
dGggPT09IDIgaXMgdHJ1ZQorUEFTUyBsaXN0IGluc3RhbmNlb2YgUGVyZm9ybWFuY2VPYnNlcnZl
ckVudHJ5TGlzdCBpcyB0cnVlCitQQVNTIG9icyBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlT2JzZXJ2
ZXIgaXMgdHJ1ZQorUEFTUyBvYnMgPT09IG9ic2VydmVyIGlzIHRydWUKK0ZBSUwgdGhpc09iamVj
dCBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxz
ZS4KK0ZBSUwgdGhpc09iamVjdCA9PT0gb2JzZXJ2ZXIgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxz
ZS4KKworUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCBBUElzCitQQVNTIGxpc3QuZ2V0RW50
cmllcygpIGluc3RhbmNlb2YgQXJyYXkgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXMoKS5s
ZW5ndGggPT09IDIgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXMoKVswXSBpbnN0YW5jZW9m
IFBlcmZvcm1hbmNlRW50cnkgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXMoKVswXS5uYW1l
IGlzICJtYXJrMyIKK1BBU1MgbGlzdC5nZXRFbnRyaWVzKClbMV0ubmFtZSBpcyAibWFyazQiCitQ
QVNTIGxpc3QuZ2V0RW50cmllcygpWzBdLnN0YXJ0VGltZSA8PSBsaXN0LmdldEVudHJpZXMoKVsx
XS5zdGFydFRpbWUgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeVR5cGUoKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbGlzdC5nZXRF
bnRyaWVzQnlUeXBlKCJub3QtcmVhbCIpLmxlbmd0aCA9PT0gMCBpcyB0cnVlCitQQVNTIGxpc3Qu
Z2V0RW50cmllc0J5VHlwZSgibWFyayIpLmxlbmd0aCA9PT0gMiBpcyB0cnVlCitQQVNTIGxpc3Qu
Z2V0RW50cmllc0J5VHlwZSgibWFyayIpWzBdIGluc3RhbmNlb2YgUGVyZm9ybWFuY2VFbnRyeSBp
cyB0cnVlCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5VHlwZSgibWFyayIpWzBdLm5hbWUgaXMgIm1h
cmszIgorUEFTUyBsaXN0LmdldEVudHJpZXNCeVR5cGUoIm1hcmsiKVsxXS5uYW1lIGlzICJtYXJr
NCIKK1BBU1MgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibm90
LXJlYWwiKS5sZW5ndGggPT09IDAgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5hbWUo
Im1hcmsxIikubGVuZ3RoID09PSAwIGlzIHRydWUKK1BBU1MgbGlzdC5nZXRFbnRyaWVzQnlOYW1l
KCJtYXJrMyIpLmxlbmd0aCA9PT0gMSBpcyB0cnVlCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5TmFt
ZSgibWFyazMiKVswXSBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50cnkgaXMgdHJ1ZQorUEFTUyBs
aXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcmszIilbMF0ubmFtZSBpcyAibWFyazMiCitQQVNTIGxp
c3QuZ2V0RW50cmllc0J5TmFtZSgibWFyazQiKS5sZW5ndGggPT09IDEgaXMgdHJ1ZQorUEFTUyBs
aXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcms0IilbMF0gaW5zdGFuY2VvZiBQZXJmb3JtYW5jZUVu
dHJ5IGlzIHRydWUKK1BBU1MgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrNCIpWzBdLm5hbWUg
aXMgIm1hcms0IgorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5hbWUoKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbGlzdC5nZXRFbnRyaWVzQnlO
YW1lKCJub3QtcmVhbCIpLmxlbmd0aCA9PT0gMCBpcyB0cnVlCitQQVNTIGxpc3QuZ2V0RW50cmll
c0J5TmFtZSgibWFyazEiKS5sZW5ndGggPT09IDAgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJp
ZXNCeU5hbWUoIm1hcmszIikubGVuZ3RoID09PSAxIGlzIHRydWUKK1BBU1MgbGlzdC5nZXRFbnRy
aWVzQnlOYW1lKCJtYXJrMyIpWzBdIGluc3RhbmNlb2YgUGVyZm9ybWFuY2VFbnRyeSBpcyB0cnVl
CitQQVNTIGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibWFyazMiKVswXS5uYW1lIGlzICJtYXJrMyIK
K1BBU1MgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrNCIpLmxlbmd0aCA9PT0gMSBpcyB0cnVl
CitQQVNTIGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibWFyazQiKVswXSBpbnN0YW5jZW9mIFBlcmZv
cm1hbmNlRW50cnkgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcms0Iilb
MF0ubmFtZSBpcyAibWFyazQiCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibWFyazMiLCAi
bm90LXJlYWwiKS5sZW5ndGggPT09IDAgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5h
bWUoIm1hcmszIiwgIm1hcmsiKS5sZW5ndGggPT09IDEgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVu
dHJpZXNCeU5hbWUobnVsbCwgIm1hcmsiKS5sZW5ndGggPT09IDAgaXMgdHJ1ZQorUEFTUyBsaXN0
LmdldEVudHJpZXNCeU5hbWUodW5kZWZpbmVkLCAibWFyayIpLmxlbmd0aCA9PT0gMCBpcyB0cnVl
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2Jz
ZXJ2ZXItYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLW9ic2VydmVyL3BlcmZv
cm1hbmNlLW9ic2VydmVyLWJhc2ljLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAuLmJlNzBlNjZhN2RiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItYmFzaWMuaHRtbApAQCAtMCww
ICsxLDk1IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJCYXNpYyBCZWhhdmlvciB0ZXN0IGZvciBQZXJmb3JtYW5j
ZU9ic2VydmVyIEFQSXMuIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKy8vIFBl
cmZvcm1hbmNlT2JzZXJ2ZXJzIHRoYXQgYXJlIG5vdCBhY3RpdmVseSBvYnNlcnZpbmcgc2hvdWxk
IG5vdCBmaXJlLgorbGV0IG9ic2VydmVyTm90T2JzZXJ2aW5nID0gbmV3IFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIoZnVuY3Rpb24oKSB7CisgICAgdGVzdEZhaWxlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBu
ZXZlciByZWdpc3RlcmVkIHNob3VsZCBub3QgYmUgY2FsbGVkIik7Cit9KTsKKworbGV0IG9ic2Vy
dmVyTm90T2JzZXJ2aW5nMiA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGZ1bmN0aW9uKCkgewor
ICAgIHRlc3RGYWlsZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgbm90IGFjdGl2ZWx5IG9ic2Vydmlu
ZyBzaG91bGQgbm90IGJlIGNhbGxlZCIpOworfSk7CitvYnNlcnZlck5vdE9ic2VydmluZzIub2Jz
ZXJ2ZSh7ZW50cnlUeXBlczogWyJtYXJrIl19KTsKK29ic2VydmVyTm90T2JzZXJ2aW5nMi5kaXNj
b25uZWN0KCk7CisKKy8vIFBlcmZvcm1hbmNlT2JzZXJ2ZXJzIGZvciBkaWZmZXJlbnQgZW50cnkg
dHlwZXMgc2hvdWxkIG5vdCBmaXJlLgorbGV0IG9ic2VydmVyTm90TWFya3MgPSBuZXcgUGVyZm9y
bWFuY2VPYnNlcnZlcihmdW5jdGlvbigpIHsKKyAgICB0ZXN0RmFpbGVkKCJQZXJmb3JtYW5jZU9i
c2VydmVyIG9ic2VydmluZyBtZWFzdXJlcyBzaG91bGQgbm90IGJlIGNhbGxlZCIpOworfSk7CisK
Ky8vIE9ic2VydmVyIHNlZXMgbWFya3Mgd2hpbGUgaXQgaXMgcmVnaXN0ZXJlZC4KK3BlcmZvcm1h
bmNlLm1hcmsoIm1hcmsxIik7Cit3aW5kb3cub2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNl
cnZlcihmdW5jdGlvbihsaXN0LCBvYnMpIHsKKyAgICB3aW5kb3cuYXJndW1lbnRzTGVuZ3RoID0g
YXJndW1lbnRzLmxlbmd0aDsKKyAgICB3aW5kb3cubGlzdCA9IGxpc3Q7CisgICAgd2luZG93Lm9i
cyA9IG9iczsKKyAgICB3aW5kb3cudGhpc09iamVjdCA9IHRoaXM7CisgICAgCisgICAgZGVidWco
Ikluc2lkZSBQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrIik7CisgICAgc2hvdWxkQmVUcnVl
KGBhcmd1bWVudHNMZW5ndGggPT09IDJgKTsKKyAgICBzaG91bGRCZVRydWUoYGxpc3QgaW5zdGFu
Y2VvZiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0YCk7CisgICAgc2hvdWxkQmVUcnVlKGBv
YnMgaW5zdGFuY2VvZiBQZXJmb3JtYW5jZU9ic2VydmVyYCk7CisgICAgc2hvdWxkQmVUcnVlKGBv
YnMgPT09IG9ic2VydmVyYCk7CisgICAgLy8gRklYTUU6IDxodHRwczovL3dlYmtpdC5vcmcvYi8x
Njc1NDk+IEludm9raW5nIGdlbmVyYXRlZCBjYWxsYmFjayBzaG91bGQgYWxsb3cgc2V0dGluZyB0
aGUgYHRoaXNgIG9iamVjdAorICAgIHNob3VsZEJlVHJ1ZShgdGhpc09iamVjdCBpbnN0YW5jZW9m
IFBlcmZvcm1hbmNlT2JzZXJ2ZXJgKTsKKyAgICBzaG91bGRCZVRydWUoYHRoaXNPYmplY3QgPT09
IG9ic2VydmVyYCk7CisKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoIlBlcmZvcm1hbmNlT2Jz
ZXJ2ZXJFbnRyeUxpc3QgQVBJcyIpOworCisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJp
ZXMoKSBpbnN0YW5jZW9mIEFycmF5YCk7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJp
ZXMoKS5sZW5ndGggPT09IDJgKTsKKyAgICBzaG91bGRCZVRydWUoYGxpc3QuZ2V0RW50cmllcygp
WzBdIGluc3RhbmNlb2YgUGVyZm9ybWFuY2VFbnRyeWApOworICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZyhgbGlzdC5nZXRFbnRyaWVzKClbMF0ubmFtZWAsICJtYXJrMyIpOworICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZyhgbGlzdC5nZXRFbnRyaWVzKClbMV0ubmFtZWAsICJtYXJrNCIpOworICAg
IHNob3VsZEJlVHJ1ZShgbGlzdC5nZXRFbnRyaWVzKClbMF0uc3RhcnRUaW1lIDw9IGxpc3QuZ2V0
RW50cmllcygpWzFdLnN0YXJ0VGltZWApOworCisgICAgc2hvdWxkVGhyb3coYGxpc3QuZ2V0RW50
cmllc0J5VHlwZSgpYCk7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJpZXNCeVR5cGUo
Im5vdC1yZWFsIikubGVuZ3RoID09PSAwYCk7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVu
dHJpZXNCeVR5cGUoIm1hcmsiKS5sZW5ndGggPT09IDJgKTsKKyAgICBzaG91bGRCZVRydWUoYGxp
c3QuZ2V0RW50cmllc0J5VHlwZSgibWFyayIpWzBdIGluc3RhbmNlb2YgUGVyZm9ybWFuY2VFbnRy
eWApOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5nZXRFbnRyaWVzQnlUeXBlKCJt
YXJrIilbMF0ubmFtZWAsICJtYXJrMyIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgbGlz
dC5nZXRFbnRyaWVzQnlUeXBlKCJtYXJrIilbMV0ubmFtZWAsICJtYXJrNCIpOworCisgICAgc2hv
dWxkVGhyb3coYGxpc3QuZ2V0RW50cmllc0J5TmFtZSgpYCk7CisgICAgc2hvdWxkQmVUcnVlKGBs
aXN0LmdldEVudHJpZXNCeU5hbWUoIm5vdC1yZWFsIikubGVuZ3RoID09PSAwYCk7CisgICAgc2hv
dWxkQmVUcnVlKGBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcmsxIikubGVuZ3RoID09PSAwYCk7
CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcmszIikubGVuZ3Ro
ID09PSAxYCk7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcmsz
IilbMF0gaW5zdGFuY2VvZiBQZXJmb3JtYW5jZUVudHJ5YCk7CisgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKGBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcmszIilbMF0ubmFtZWAsICJtYXJrMyIp
OworICAgIHNob3VsZEJlVHJ1ZShgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrNCIpLmxlbmd0
aCA9PT0gMWApOworICAgIHNob3VsZEJlVHJ1ZShgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJr
NCIpWzBdIGluc3RhbmNlb2YgUGVyZm9ybWFuY2VFbnRyeWApOworICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZyhgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrNCIpWzBdLm5hbWVgLCAibWFyazQi
KTsKKyAgICAKKyAgICBzaG91bGRUaHJvdyhgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKClgKTsKKyAg
ICBzaG91bGRCZVRydWUoYGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibm90LXJlYWwiKS5sZW5ndGgg
PT09IDBgKTsKKyAgICBzaG91bGRCZVRydWUoYGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibWFyazEi
KS5sZW5ndGggPT09IDBgKTsKKyAgICBzaG91bGRCZVRydWUoYGxpc3QuZ2V0RW50cmllc0J5TmFt
ZSgibWFyazMiKS5sZW5ndGggPT09IDFgKTsKKyAgICBzaG91bGRCZVRydWUoYGxpc3QuZ2V0RW50
cmllc0J5TmFtZSgibWFyazMiKVswXSBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50cnlgKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibWFyazMiKVsw
XS5uYW1lYCwgIm1hcmszIik7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJpZXNCeU5h
bWUoIm1hcms0IikubGVuZ3RoID09PSAxYCk7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVu
dHJpZXNCeU5hbWUoIm1hcms0IilbMF0gaW5zdGFuY2VvZiBQZXJmb3JtYW5jZUVudHJ5YCk7Cisg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcms0Iilb
MF0ubmFtZWAsICJtYXJrNCIpOworCisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJpZXNC
eU5hbWUoIm1hcmszIiwgIm5vdC1yZWFsIikubGVuZ3RoID09PSAwYCk7CisgICAgc2hvdWxkQmVU
cnVlKGBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcmszIiwgIm1hcmsiKS5sZW5ndGggPT09IDFg
KTsKKyAgICBzaG91bGRCZVRydWUoYGxpc3QuZ2V0RW50cmllc0J5TmFtZShudWxsLCAibWFyayIp
Lmxlbmd0aCA9PT0gMGApOworICAgIHNob3VsZEJlVHJ1ZShgbGlzdC5nZXRFbnRyaWVzQnlOYW1l
KHVuZGVmaW5lZCwgIm1hcmsiKS5sZW5ndGggPT09IDBgKTsKKworICAgIGZpbmlzaEpTVGVzdCgp
OworfSk7CitwZXJmb3JtYW5jZS5tYXJrKCJtYXJrMiIpOworb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50
cnlUeXBlczogWyJtYXJrIl19KTsKK3BlcmZvcm1hbmNlLm1hcmsoIm1hcmszIik7CitwZXJmb3Jt
YW5jZS5tYXJrKCJtYXJrNCIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1l
eGNlcHRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIv
cGVyZm9ybWFuY2Utb2JzZXJ2ZXItZXhjZXB0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMTIwNmZkMzNkMWEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1l
eGNlcHRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK0Vuc3VyZSBQZXJmb3JtYW5j
ZU9ic2VydmVyIEV4Y2VwdGlvbnMgYXJlIHByb3BvZ2F0ZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrIGZpcmVkCitQQVNTIG9u
ZXJyb3I6IEVYQ0VQVElPTiBNRVNTQUdFCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Ut
b2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZXhjZXB0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1leGNlcHRpb24uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMmZiN2QxMjU0MWQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3Jt
YW5jZS1vYnNlcnZlci1leGNlcHRpb24uaHRtbApAQCAtMCwwICsxLDI1IEBACis8IURPQ1RZUEUg
SFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9u
KCJFbnN1cmUgUGVyZm9ybWFuY2VPYnNlcnZlciBFeGNlcHRpb25zIGFyZSBwcm9wb2dhdGVkLiIp
Oword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCit3aW5kb3cub25lcnJvciA9IGZ1bmN0
aW9uKG1lc3NhZ2UpIHsKKyAgICB0ZXN0UGFzc2VkKCJvbmVycm9yOiAiICsgbWVzc2FnZSk7Cisg
ICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK2xldCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9i
c2VydmVyKChsaXN0KSA9PiB7CisgICAgZGVidWcoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgY2FsbGJh
Y2sgZmlyZWQiKTsKKyAgICB0aHJvdyAiRVhDRVBUSU9OIE1FU1NBR0UiOworfSk7CitvYnNlcnZl
ci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbIm1hcmsiXX0pOworcGVyZm9ybWFuY2UubWFyaygibWFy
azEiKQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1uZXN0ZWQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2
ZXItbmVzdGVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMC4uZWJmZTA1NmE4ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3Jt
YW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1uZXN0ZWQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMjMgQEAKK1Rlc3QgUGVyZm9ybWFuY2VPYnNlcnZlciBoYW5kbGluZyBvZiBlbnRy
aWVzIGFkZGVkIHdoaWxlIGluIGNhbGxiYWNrLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIDEgY2FsbGJhY2sgZmlyZWQKK1BBU1MgbGlz
dC5nZXRFbnRyaWVzKCkubGVuZ3RoIGlzIDEKKyAtIG1hcmsxCitQQVNTIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIgMiBjYWxsYmFjayBmaXJlZAorUEFTUyBsaXN0LmdldEVudHJpZXMoKS5sZW5ndGggaXMg
MgorIC0gbWFyazEKKyAtIG1hcmsyCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgMSBjYWxsYmFj
ayBmaXJlZAorUEFTUyBsaXN0LmdldEVudHJpZXMoKS5sZW5ndGggaXMgMgorIC0gbWFyazIKKyAt
IG1hcmszCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgMiBjYWxsYmFjayBmaXJlZAorUEFTUyBs
aXN0LmdldEVudHJpZXMoKS5sZW5ndGggaXMgMQorIC0gbWFyazMKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1uZXN0ZWQuaHRtbCBi
L0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLW9ic2VydmVyL3BlcmZvcm1hbmNlLW9ic2VydmVyLW5l
c3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lNDczNjQy
YjRmMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLW9ic2VydmVy
L3BlcmZvcm1hbmNlLW9ic2VydmVyLW5lc3RlZC5odG1sCkBAIC0wLDAgKzEsNjEgQEAKKzwhRE9D
VFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3Jp
cHRpb24oIlRlc3QgUGVyZm9ybWFuY2VPYnNlcnZlciBoYW5kbGluZyBvZiBlbnRyaWVzIGFkZGVk
IHdoaWxlIGluIGNhbGxiYWNrLiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCit3
aW5kb3cuY2FsbGJhY2tDb3VudCA9IDA7Cit3aW5kb3cubGlzdCA9IG51bGw7CisKK2xldCBvYnNl
cnZlcjEgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigobGlzdCkgPT4geworICAgIHdpbmRvdy5s
aXN0ID0gbGlzdDsKKyAgICBjYWxsYmFja0NvdW50Kys7CisgICAgdGVzdFBhc3NlZCgiUGVyZm9y
bWFuY2VPYnNlcnZlciAxIGNhbGxiYWNrIGZpcmVkIik7CisKKyAgICBpZiAoY2FsbGJhY2tDb3Vu
dCA9PT0gMSkgeworICAgICAgICBwZXJmb3JtYW5jZS5tYXJrKCJtYXJrMiIpOworICAgICAgICBz
aG91bGRCZShgbGlzdC5nZXRFbnRyaWVzKCkubGVuZ3RoYCwgYDFgKTsKKyAgICB9IGVsc2UgaWYg
KGNhbGxiYWNrQ291bnQgPT09IDMpIHsKKyAgICAgICAgc2hvdWxkQmUoYGxpc3QuZ2V0RW50cmll
cygpLmxlbmd0aGAsIGAyYCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgdGVzdEZhaWxlZCgiVW5l
eHBlY3RlZCBjYWxsYmFjayBjb3VudCIpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9
CisKKyAgICBmb3IgKGxldCBtYXJrIG9mIGxpc3QuZ2V0RW50cmllcygpKQorICAgICAgICBkZWJ1
ZygiIC0gIiArIG1hcmsubmFtZSk7Cit9KTsKKworbGV0IG9ic2VydmVyMiA9IG5ldyBQZXJmb3Jt
YW5jZU9ic2VydmVyKChsaXN0KSA9PiB7CisgICAgd2luZG93Lmxpc3QgPSBsaXN0OworICAgIGNh
bGxiYWNrQ291bnQrKzsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVyIDIgY2Fs
bGJhY2sgZmlyZWQiKTsKKworICAgIGlmIChjYWxsYmFja0NvdW50ID09PSAyKSB7CisgICAgICAg
IHBlcmZvcm1hbmNlLm1hcmsoIm1hcmszIik7CisgICAgICAgIHNob3VsZEJlKGBsaXN0LmdldEVu
dHJpZXMoKS5sZW5ndGhgLCBgMmApOworICAgIH0gZWxzZSBpZiAoY2FsbGJhY2tDb3VudCA9PT0g
NCkgeworICAgICAgICBzaG91bGRCZShgbGlzdC5nZXRFbnRyaWVzKCkubGVuZ3RoYCwgYDFgKTsK
KyAgICB9IGVsc2UgeworICAgICAgICB0ZXN0RmFpbGVkKCJVbmV4cGVjdGVkIGNhbGxiYWNrIGNv
dW50Iik7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0KKworICAgIGZvciAobGV0IG1h
cmsgb2YgbGlzdC5nZXRFbnRyaWVzKCkpCisgICAgICAgIGRlYnVnKCIgLSAiICsgbWFyay5uYW1l
KTsKKworICAgIGlmIChjYWxsYmFja0NvdW50ID09PSA0KQorICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKK30pOworCitvYnNlcnZlcjEub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJtYXJrIl19KTsKK29i
c2VydmVyMi5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbIm1hcmsiXX0pOworcGVyZm9ybWFuY2UubWFy
aygibWFyazEiKQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1vcmRlci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1v
YnNlcnZlci1vcmRlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAuLjlhMTE0ZDJiNDNjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItb3JkZXItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMjEgQEAKK0Vuc3VyZSBQZXJmb3JtYW5jZU9ic2VydmVycyBhcmUgbm90aWZp
ZWQgaW4gb3JkZXIgb2YgcmVnaXN0cmF0aW9uIChvYnNlcnZlKS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciAxIGNhbGxiYWNrIGZpcmVk
CitQQVNTIGNvdW50IGlzIDEKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciAyIGNhbGxiYWNrIGZp
cmVkCitQQVNTIGNvdW50IGlzIDIKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciAzIGNhbGxiYWNr
IGZpcmVkCitQQVNTIGNvdW50IGlzIDMKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciA0IGNhbGxi
YWNrIGZpcmVkCitQQVNTIGNvdW50IGlzIDQKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciA1IGNh
bGxiYWNrIGZpcmVkCitQQVNTIGNvdW50IGlzIDUKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciA2
IGNhbGxiYWNrIGZpcmVkCitQQVNTIGNvdW50IGlzIDYKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wZXJm
b3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1vcmRlci5odG1sIGIvTGF5b3V0
VGVzdHMvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItb3JkZXIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZDQ1NTQ2MDgxZjYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3Jt
YW5jZS1vYnNlcnZlci1vcmRlci5odG1sCkBAIC0wLDAgKzEsNjMgQEAKKzwhRE9DVFlQRSBIVE1M
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIkVu
c3VyZSBQZXJmb3JtYW5jZU9ic2VydmVycyBhcmUgbm90aWZpZWQgaW4gb3JkZXIgb2YgcmVnaXN0
cmF0aW9uIChvYnNlcnZlKS4iKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKword2lu
ZG93LmNvdW50ID0gMDsKKworbGV0IG9ic2VydmVyMSA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVy
KChsaXN0KSA9PiB7CisgICAgY291bnQrKzsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9i
c2VydmVyIDEgY2FsbGJhY2sgZmlyZWQiKTsKKyAgICBzaG91bGRCZShgY291bnRgLCBgMWApOwor
fSk7CisKK2xldCBvYnNlcnZlcjIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigobGlzdCkgPT4g
eworICAgIGNvdW50Kys7CisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciAyIGNh
bGxiYWNrIGZpcmVkIik7CisgICAgc2hvdWxkQmUoYGNvdW50YCwgYDJgKTsKK30pOworCisvLyBF
bnN1cmUgY3JlYXRpb24gZG9lc24ndCBpbXBhY3Qgb3JkZXIuCitsZXQgb2JzZXJ2ZXJTcGVjaWFs
ID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGxpc3QpID0+IHsKKyAgICBjb3VudCsrOworICAg
IHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgNiBjYWxsYmFjayBmaXJlZCIpOworICAg
IHNob3VsZEJlKGBjb3VudGAsIGA2YCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKworbGV0
IG9ic2VydmVyMyA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKChsaXN0KSA9PiB7CisgICAgY291
bnQrKzsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVyIDMgY2FsbGJhY2sgZmly
ZWQiKTsKKyAgICBzaG91bGRCZShgY291bnRgLCBgM2ApOworfSk7CisKK2xldCBvYnNlcnZlcjQg
PSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigobGlzdCkgPT4geworICAgIGNvdW50Kys7CisgICAg
dGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciA0IGNhbGxiYWNrIGZpcmVkIik7CisgICAg
c2hvdWxkQmUoYGNvdW50YCwgYDRgKTsKK30pOworCitsZXQgb2JzZXJ2ZXI1ID0gbmV3IFBlcmZv
cm1hbmNlT2JzZXJ2ZXIoKGxpc3QpID0+IHsKKyAgICBjb3VudCsrOworICAgIHRlc3RQYXNzZWQo
IlBlcmZvcm1hbmNlT2JzZXJ2ZXIgNSBjYWxsYmFjayBmaXJlZCIpOworICAgIHNob3VsZEJlKGBj
b3VudGAsIGA1YCk7Cit9KTsKKworLy8gUmVnaXN0ZXIgYWxsIGluIG9yZGVyLgorZm9yIChsZXQg
byBvZiBbb2JzZXJ2ZXIxLCBvYnNlcnZlcjIsIG9ic2VydmVyU3BlY2lhbCwgb2JzZXJ2ZXIzLCBv
YnNlcnZlcjQsIG9ic2VydmVyNV0pCisgICAgby5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbIm1hcmsi
XX0pOworCisvLyBVbnJlZ2lzdGVyIGFuZCByZS1yZWdpc3RlciBtb3ZlcyB0aGlzIHRvIHRoZSBi
YWNrIG9mIHRoZSBsaW5lLgorb2JzZXJ2ZXJTcGVjaWFsLmRpc2Nvbm5lY3QoKTsKK29ic2VydmVy
U3BlY2lhbC5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbIm1hcmsiXX0pOworCitwZXJmb3JtYW5jZS5t
YXJrKCJtYXJrMSIpCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BlcmZvcm1hbmNlLW9ic2VydmVyL3BlcmZvcm1hbmNlLW9ic2VydmVyLXBlcmlvZGlj
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLW9ic2VydmVyL3BlcmZvcm1h
bmNlLW9ic2VydmVyLXBlcmlvZGljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMC4uMWI3MzBjZDBiM2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1wZXJpb2RpYy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorRW5zdXJlIFBlcmZvcm1hbmNlT2JzZXJ2ZXIg
Y2FsbGJhY2sgZmlyZXMgZm9yIGFsbCBvYnNlcnZlZCBlbnRyaWVzIGJldHdlZW4gb2JzZXJ2ZS9k
aXNjb25uZWN0IGNhbGxzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUGVyZm9y
bWFuY2VPYnNlcnZlciBjYWxsYmFjayBmaXJlZDogMSBlbnRyaWVzCitQQVNTIG1hcmsxCitQZXJm
b3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrIGZpcmVkOiAyIGVudHJpZXMKK1BBU1MgbWFyazIKK1BB
U1MgbWFyazMKK1BlcmZvcm1hbmNlT2JzZXJ2ZXIgY2FsbGJhY2sgZmlyZWQ6IDEgZW50cmllcwor
UEFTUyBtYXJrNAorUGVyZm9ybWFuY2VPYnNlcnZlciBjYWxsYmFjayBmaXJlZDogMSBlbnRyaWVz
CitQQVNTIG1hcms3CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVy
Zm9ybWFuY2Utb2JzZXJ2ZXItcGVyaW9kaWMuaHRtbCBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNl
LW9ic2VydmVyL3BlcmZvcm1hbmNlLW9ic2VydmVyLXBlcmlvZGljLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjM4NzQ2YjM4MjgyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIt
cGVyaW9kaWMuaHRtbApAQCAtMCwwICsxLDUwIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJFbnN1cmUgUGVyZm9y
bWFuY2VPYnNlcnZlciBjYWxsYmFjayBmaXJlcyBmb3IgYWxsIG9ic2VydmVkIGVudHJpZXMgYmV0
d2VlbiBvYnNlcnZlL2Rpc2Nvbm5lY3QgY2FsbHMuIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7CisKK2xldCBzaG91bGRFbmQgPSBmYWxzZTsKKworbGV0IG9ic2VydmVyID0gbmV3IFBl
cmZvcm1hbmNlT2JzZXJ2ZXIoKGxpc3QpID0+IHsKKyAgICBkZWJ1ZygiUGVyZm9ybWFuY2VPYnNl
cnZlciBjYWxsYmFjayBmaXJlZDogIiArIGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aCArICIgZW50
cmllcyIpOworICAgIGZvciAobGV0IG1hcmsgb2YgbGlzdC5nZXRFbnRyaWVzKCkpIHsKKyAgICAg
ICAgaWYgKG1hcmsubmFtZSA9PT0gIm1hcms1IiB8fCBtYXJrLm5hbWUgPT09ICJtYXJrNiIpCisg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJTaG91bGQgbm90IGhhdmUgb2JzZXJ2ZWQgIiArIG1hcmsu
bmFtZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQobWFyay5uYW1lKTsK
KyAgICB9CisgICAgaWYgKHNob3VsZEVuZCkKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsK
K29ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsibWFyayJdfSk7CisKKy8vIC0tLQorCitw
ZXJmb3JtYW5jZS5tYXJrKCJtYXJrMSIpOworCitzZXRUaW1lb3V0KCgpID0+IHsKKyAgICBwZXJm
b3JtYW5jZS5tYXJrKCJtYXJrMiIpOworICAgIHBlcmZvcm1hbmNlLm1hcmsoIm1hcmszIik7Cit9
LCA1MCk7CisKK3NldFRpbWVvdXQoKCkgPT4geworICAgIHBlcmZvcm1hbmNlLm1hcmsoIm1hcms0
Iik7CisgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOworICAgIHBlcmZvcm1hbmNlLm1hcmsoIm1h
cms1Iik7IC8vIE5PVCBzZWVuLgorfSwgMTAwKTsKKworc2V0VGltZW91dCgoKSA9PiB7CisgICAg
cGVyZm9ybWFuY2UubWFyaygibWFyazYiKTsgLy8gTk9UIHNlZW4uCisgICAgb2JzZXJ2ZXIub2Jz
ZXJ2ZSh7ZW50cnlUeXBlczogWyJtYXJrIl19KTsKKyAgICBwZXJmb3JtYW5jZS5tYXJrKCJtYXJr
NyIpOworICAgIHNob3VsZEVuZCA9IHRydWU7Cit9LCAxNTApOworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJm
b3JtYW5jZS10aW1lbGluZS1hcGktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFu
Y2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2UtdGltZWxpbmUtYXBpLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZTNmMjA3NjMzZmYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS10aW1l
bGluZS1hcGktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDggQEAKK0Jhc2ljIEludGVyZmFjZSB0
ZXN0IGZvciBwZXJmb3JtYW5jZS10aW1lbGluZSBBUElzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworUGVyZm9ybWFuY2VFbnRyeQorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGlzIGRl
ZmluZWQuCitQQVNTICJuYW1lIiBpbiBQZXJmb3JtYW5jZUVudHJ5LnByb3RvdHlwZSBpcyB0cnVl
CitQQVNTICJlbnRyeVR5cGUiIGluIFBlcmZvcm1hbmNlRW50cnkucHJvdG90eXBlIGlzIHRydWUK
K1BBU1MgInN0YXJ0VGltZSIgaW4gUGVyZm9ybWFuY2VFbnRyeS5wcm90b3R5cGUgaXMgdHJ1ZQor
UEFTUyAiZHVyYXRpb24iIGluIFBlcmZvcm1hbmNlRW50cnkucHJvdG90eXBlIGlzIHRydWUKK1BB
U1MgbmV3IFBlcmZvcm1hbmNlRW50cnkoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBmdW5j
dGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IFBlcmZvcm1hbmNlRW50
cnkoKScpLgorCitQZXJmb3JtYW5jZSBleHRlbnNpb25zCitQQVNTIFBlcmZvcm1hbmNlLnByb3Rv
dHlwZS5nZXRFbnRyaWVzIGlzIGRlZmluZWQuCitQQVNTIFBlcmZvcm1hbmNlLnByb3RvdHlwZS5n
ZXRFbnRyaWVzQnlUeXBlIGlzIGRlZmluZWQuCitQQVNTIFBlcmZvcm1hbmNlLnByb3RvdHlwZS5n
ZXRFbnRyaWVzQnlOYW1lIGlzIGRlZmluZWQuCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXMo
KSBpbnN0YW5jZW9mIEFycmF5IGlzIHRydWUKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllcygp
Lmxlbmd0aCA9PT0gMCBpcyB0cnVlCitQQVNTIHBlcmZvcm1hbmNlLm1hcmsoInRlc3QiKTsgZGlk
IG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXMoKS5sZW5n
dGggPT09IDEgaXMgdHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKClbMF0gaW5zdGFu
Y2VvZiBQZXJmb3JtYW5jZUVudHJ5IGlzIHRydWUKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmll
cygpWzBdLm5hbWUgaXMgInRlc3QiCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXMoKVswXS5l
bnRyeVR5cGUgaXMgIm1hcmsiCitQQVNTIHR5cGVvZiBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKClb
MF0uc3RhcnRUaW1lID09PSAibnVtYmVyIiBpcyB0cnVlCitQQVNTIHR5cGVvZiBwZXJmb3JtYW5j
ZS5nZXRFbnRyaWVzKClbMF0uZHVyYXRpb24gPT09ICJudW1iZXIiIGlzIHRydWUKK1BBU1MgcGVy
Zm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5v
dCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJu
b3QtcmVhbCIpLmxlbmd0aCA9PT0gMCBpcyB0cnVlCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeVR5cGUoIm1hcmsiKS5sZW5ndGggPT09IDEgaXMgdHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5n
ZXRFbnRyaWVzQnlUeXBlKCJtYXJrIilbMF0gaW5zdGFuY2VvZiBQZXJmb3JtYW5jZUVudHJ5IGlz
IHRydWUKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibWFyayIpWzBdLm5hbWUg
aXMgInRlc3QiCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoIm1hcmsiKVswXS5l
bnRyeVR5cGUgaXMgIm1hcmsiCitQQVNTIHR5cGVvZiBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlU
eXBlKCJtYXJrIilbMF0uc3RhcnRUaW1lID09PSAibnVtYmVyIiBpcyB0cnVlCitQQVNTIHR5cGVv
ZiBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJtYXJrIilbMF0uZHVyYXRpb24gPT09ICJu
dW1iZXIiIGlzIHRydWUKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBwZXJmb3Jt
YW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJub3QtcmVhbCIpLmxlbmd0aCA9PT0gMCBpcyB0cnVlCitQ
QVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoInRlc3QiKS5sZW5ndGggPT09IDEgaXMg
dHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJ0ZXN0IilbMF0gaW5zdGFu
Y2VvZiBQZXJmb3JtYW5jZUVudHJ5IGlzIHRydWUKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmll
c0J5TmFtZSgidGVzdCIpWzBdLm5hbWUgaXMgInRlc3QiCitQQVNTIHBlcmZvcm1hbmNlLmdldEVu
dHJpZXNCeU5hbWUoInRlc3QiKVswXS5lbnRyeVR5cGUgaXMgIm1hcmsiCitQQVNTIHR5cGVvZiBw
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJ0ZXN0IilbMF0uc3RhcnRUaW1lID09PSAibnVt
YmVyIiBpcyB0cnVlCitQQVNTIHR5cGVvZiBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJ0
ZXN0IilbMF0uZHVyYXRpb24gPT09ICJudW1iZXIiIGlzIHRydWUKK1BBU1MgcGVyZm9ybWFuY2Uu
Z2V0RW50cmllc0J5TmFtZSgidGVzdCIsICJub3QtcmVhbCIpLmxlbmd0aCA9PT0gMCBpcyB0cnVl
CitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoInRlc3QiLCAibWFyayIpLmxlbmd0
aCA9PT0gMSBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIv
cGVyZm9ybWFuY2UtdGltZWxpbmUtYXBpLmh0bWwgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1v
YnNlcnZlci9wZXJmb3JtYW5jZS10aW1lbGluZS1hcGkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMC4uZTE3MzkxOTU2OTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS10aW1lbGluZS1hcGkuaHRt
bApAQCAtMCwwICsxLDU4IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJCYXNpYyBJbnRlcmZhY2UgdGVzdCBmb3Ig
cGVyZm9ybWFuY2UtdGltZWxpbmUgQVBJcy4iKTsKKworZGVidWcoIlBlcmZvcm1hbmNlRW50cnki
KTsKK3Nob3VsZEJlRGVmaW5lZCgiUGVyZm9ybWFuY2VFbnRyeSIpOworc2hvdWxkQmVUcnVlKGAi
bmFtZSIgaW4gUGVyZm9ybWFuY2VFbnRyeS5wcm90b3R5cGVgKTsKK3Nob3VsZEJlVHJ1ZShgImVu
dHJ5VHlwZSIgaW4gUGVyZm9ybWFuY2VFbnRyeS5wcm90b3R5cGVgKTsKK3Nob3VsZEJlVHJ1ZShg
InN0YXJ0VGltZSIgaW4gUGVyZm9ybWFuY2VFbnRyeS5wcm90b3R5cGVgKTsKK3Nob3VsZEJlVHJ1
ZShgImR1cmF0aW9uIiBpbiBQZXJmb3JtYW5jZUVudHJ5LnByb3RvdHlwZWApOworc2hvdWxkVGhy
b3coYG5ldyBQZXJmb3JtYW5jZUVudHJ5KClgKTsKKworLy8gTk9URTogVGhlIEFQSXMgYmVsb3cg
bWF5IGJlIGdvaW5nIGF3YXkuIFJlcGxhY2VkIGJ5IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuCisKK2Rl
YnVnKCIiKTsKK2RlYnVnKCJQZXJmb3JtYW5jZSBleHRlbnNpb25zIik7CitzaG91bGRCZURlZmlu
ZWQoYFBlcmZvcm1hbmNlLnByb3RvdHlwZS5nZXRFbnRyaWVzYCk7CitzaG91bGRCZURlZmluZWQo
YFBlcmZvcm1hbmNlLnByb3RvdHlwZS5nZXRFbnRyaWVzQnlUeXBlYCk7CitzaG91bGRCZURlZmlu
ZWQoYFBlcmZvcm1hbmNlLnByb3RvdHlwZS5nZXRFbnRyaWVzQnlOYW1lYCk7CisKK3Nob3VsZEJl
VHJ1ZShgcGVyZm9ybWFuY2UuZ2V0RW50cmllcygpIGluc3RhbmNlb2YgQXJyYXlgKTsKK3Nob3Vs
ZEJlVHJ1ZShgcGVyZm9ybWFuY2UuZ2V0RW50cmllcygpLmxlbmd0aCA9PT0gMGApOworc2hvdWxk
Tm90VGhyb3coYHBlcmZvcm1hbmNlLm1hcmsoInRlc3QiKTtgKTsKK3Nob3VsZEJlVHJ1ZShgcGVy
Zm9ybWFuY2UuZ2V0RW50cmllcygpLmxlbmd0aCA9PT0gMWApOworc2hvdWxkQmVUcnVlKGBwZXJm
b3JtYW5jZS5nZXRFbnRyaWVzKClbMF0gaW5zdGFuY2VvZiBQZXJmb3JtYW5jZUVudHJ5YCk7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoYHBlcmZvcm1hbmNlLmdldEVudHJpZXMoKVswXS5uYW1lYCwg
InRlc3QiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZyhgcGVyZm9ybWFuY2UuZ2V0RW50cmllcygp
WzBdLmVudHJ5VHlwZWAsICJtYXJrIik7CitzaG91bGRCZVRydWUoYHR5cGVvZiBwZXJmb3JtYW5j
ZS5nZXRFbnRyaWVzKClbMF0uc3RhcnRUaW1lID09PSAibnVtYmVyImApOworc2hvdWxkQmVUcnVl
KGB0eXBlb2YgcGVyZm9ybWFuY2UuZ2V0RW50cmllcygpWzBdLmR1cmF0aW9uID09PSAibnVtYmVy
ImApOworCitzaG91bGRUaHJvdyhgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgpYCk7Citz
aG91bGRCZVRydWUoYHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoIm5vdC1yZWFsIikubGVu
Z3RoID09PSAwYCk7CitzaG91bGRCZVRydWUoYHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUo
Im1hcmsiKS5sZW5ndGggPT09IDFgKTsKK3Nob3VsZEJlVHJ1ZShgcGVyZm9ybWFuY2UuZ2V0RW50
cmllc0J5VHlwZSgibWFyayIpWzBdIGluc3RhbmNlb2YgUGVyZm9ybWFuY2VFbnRyeWApOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKGBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJtYXJrIilb
MF0ubmFtZWAsICJ0ZXN0Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoYHBlcmZvcm1hbmNlLmdl
dEVudHJpZXNCeVR5cGUoIm1hcmsiKVswXS5lbnRyeVR5cGVgLCAibWFyayIpOworc2hvdWxkQmVU
cnVlKGB0eXBlb2YgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibWFyayIpWzBdLnN0YXJ0
VGltZSA9PT0gIm51bWJlciJgKTsKK3Nob3VsZEJlVHJ1ZShgdHlwZW9mIHBlcmZvcm1hbmNlLmdl
dEVudHJpZXNCeVR5cGUoIm1hcmsiKVswXS5kdXJhdGlvbiA9PT0gIm51bWJlciJgKTsKKworc2hv
dWxkVGhyb3coYHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoKWApOworc2hvdWxkQmVUcnVl
KGBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJub3QtcmVhbCIpLmxlbmd0aCA9PT0gMGAp
Oworc2hvdWxkQmVUcnVlKGBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJ0ZXN0IikubGVu
Z3RoID09PSAxYCk7CitzaG91bGRCZVRydWUoYHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUo
InRlc3QiKVswXSBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50cnlgKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZyhgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgidGVzdCIpWzBdLm5hbWVgLCAi
dGVzdCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlO
YW1lKCJ0ZXN0IilbMF0uZW50cnlUeXBlYCwgIm1hcmsiKTsKK3Nob3VsZEJlVHJ1ZShgdHlwZW9m
IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoInRlc3QiKVswXS5zdGFydFRpbWUgPT09ICJu
dW1iZXIiYCk7CitzaG91bGRCZVRydWUoYHR5cGVvZiBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlO
YW1lKCJ0ZXN0IilbMF0uZHVyYXRpb24gPT09ICJudW1iZXIiYCk7CitzaG91bGRCZVRydWUoYHBl
cmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoInRlc3QiLCAibm90LXJlYWwiKS5sZW5ndGggPT09
IDBgKTsKK3Nob3VsZEJlVHJ1ZShgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgidGVzdCIs
ICJtYXJrIikubGVuZ3RoID09PSAxYCk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9y
cy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9qcy9k
b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAppbmRleCBhNGFl
YTBhMzJiMy4uNWZmMDBjMjI2NGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Vm
bC9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0
cmlidXRlcy1leHBlY3RlZC50eHQKQEAgLTEwMjgsNiArMTAyOCwxNiBAQCBQQVNTIE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJyku
aGFzT3duUHJvcAogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwg
J1BlcmZvcm1hbmNlTmF2aWdhdGlvbicpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQog
UEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNl
TmF2aWdhdGlvbicpLmVudW1lcmFibGUgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5jb25maWd1cmFi
bGUgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwg
J1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS52YWx1ZSBpcyBQZXJmb3JtYW5jZU9ic2VydmVyCitQQVNT
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNl
cnZlcicpLmhhc093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS5oYXNPd25Q
cm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuZW51bWVyYWJsZSBpcyBmYWxzZQor
UEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNl
T2JzZXJ2ZXInKS5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS52YWx1
ZSBpcyBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0CitQQVNTIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhh
c093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5oYXNPd25Q
cm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuZW51bWVyYWJsZSBp
cyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1Bl
cmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5jb25maWd1cmFibGUgaXMgdHJ1ZQogUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlVGltaW5n
JykudmFsdWUgaXMgUGVyZm9ybWFuY2VUaW1pbmcKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZVRpbWluZycpLmhhc093blByb3BlcnR5KCdn
ZXQnKSBpcyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2Jh
bCwgJ1BlcmZvcm1hbmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvanMvZG9tL2dsb2JhbC1jb25zdHJ1
Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
anMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKaW5kZXgg
NTJhZDlmYzU0M2IuLjNlNDU4Nzc5OTVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3Jz
LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CkBAIC0xMTU4LDYgKzExNTgsMTYgQEAgUEFTUyBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlv
bicpLmhhc093blByb3AKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9i
YWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFs
c2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3Jt
YW5jZU5hdmlnYXRpb24nKS5lbnVtZXJhYmxlIGlzIGZhbHNlCiBQQVNTIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuY29uZmln
dXJhYmxlIGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9i
YWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykudmFsdWUgaXMgUGVyZm9ybWFuY2VPYnNlcnZlcgor
UEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNl
T2JzZXJ2ZXInKS5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuaGFz
T3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmVudW1lcmFibGUgaXMgZmFs
c2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3Jt
YW5jZU9ic2VydmVyJykuY29uZmlndXJhYmxlIGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0Jyku
dmFsdWUgaXMgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdAorUEFTUyBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Qn
KS5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuaGFz
T3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmVudW1lcmFi
bGUgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWws
ICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuY29uZmlndXJhYmxlIGlzIHRydWUKIFBB
U1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZVRp
bWluZycpLnZhbHVlIGlzIFBlcmZvcm1hbmNlVGltaW5nCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VUaW1pbmcnKS5oYXNPd25Qcm9wZXJ0
eSgnZ2V0JykgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihn
bG9iYWwsICdQZXJmb3JtYW5jZVRpbWluZycpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxz
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWVsY2FwaXRhbi9qcy9kb20v
Z2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy1lbGNhcGl0YW4vanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmli
dXRlcy1leHBlY3RlZC50eHQKaW5kZXggYWI5MWI4ZTVmYzIuLjdmYzE4ZWFjMTc4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtZWxjYXBpdGFuL2pzL2RvbS9nbG9iYWwtY29u
c3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy1lbGNhcGl0YW4vanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1l
eHBlY3RlZC50eHQKQEAgLTExOTMsNiArMTE5MywxNiBAQCBQQVNTIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuaGFzT3duUHJv
cAogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1h
bmNlTmF2aWdhdGlvbicpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQogUEFTUyBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlv
bicpLmVudW1lcmFibGUgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5jb25maWd1cmFibGUgaXMgdHJ1
ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1h
bmNlT2JzZXJ2ZXInKS52YWx1ZSBpcyBQZXJmb3JtYW5jZU9ic2VydmVyCitQQVNTIE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmhh
c093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS5oYXNPd25Qcm9wZXJ0eSgn
c2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9i
YWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFTUyBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXIn
KS5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS52YWx1ZSBpcyBQZXJm
b3JtYW5jZU9ic2VydmVyRW50cnlMaXN0CitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhhc093blByb3Bl
cnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5oYXNPd25Qcm9wZXJ0eSgn
c2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9i
YWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuZW51bWVyYWJsZSBpcyBmYWxzZQor
UEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNl
T2JzZXJ2ZXJFbnRyeUxpc3QnKS5jb25maWd1cmFibGUgaXMgdHJ1ZQogUEFTUyBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlVGltaW5nJykudmFsdWUg
aXMgUGVyZm9ybWFuY2VUaW1pbmcKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihnbG9iYWwsICdQZXJmb3JtYW5jZVRpbWluZycpLmhhc093blByb3BlcnR5KCdnZXQnKSBpcyBm
YWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZv
cm1hbmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3Jz
LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9q
cy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAppbmRleCBh
YjkxYjhlNWZjMi4uN2ZjMThlYWMxNzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azEvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9qcy9kb20vZ2xvYmFsLWNvbnN0
cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApAQCAtMTE5Myw2ICsxMTkzLDE2IEBAIFBB
U1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5h
dmlnYXRpb24nKS5oYXNPd25Qcm9wCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuaGFzT3duUHJvcGVydHkoJ3NldCcp
IGlzIGZhbHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAn
UGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuZW51bWVyYWJsZSBpcyBmYWxzZQogUEFTUyBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlvbicp
LmNvbmZpZ3VyYWJsZSBpcyB0cnVlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLnZhbHVlIGlzIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJm
b3JtYW5jZU9ic2VydmVyJykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZhbHNlCitQQVNTIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZl
cicpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS5lbnVtZXJhYmxl
IGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAn
UGVyZm9ybWFuY2VPYnNlcnZlcicpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCitQQVNTIE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5
TGlzdCcpLnZhbHVlIGlzIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QKK1BBU1MgT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50
cnlMaXN0JykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlz
dCcpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5l
bnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
Z2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmNvbmZpZ3VyYWJsZSBpcyB0
cnVlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9y
bWFuY2VUaW1pbmcnKS52YWx1ZSBpcyBQZXJmb3JtYW5jZVRpbWluZwogUEFTUyBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlVGltaW5nJykuaGFzT3du
UHJvcGVydHkoJ2dldCcpIGlzIGZhbHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VUaW1pbmcnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0Jykg
aXMgZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy15b3NlbWl0ZS9q
cy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy15b3NlbWl0ZS9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1h
dHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAppbmRleCBkNTE3NTY3NDM3Zi4uYjA4MWFkMmVkY2QgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy15b3NlbWl0ZS9qcy9kb20vZ2xvYmFs
LWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMteW9zZW1pdGUvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRl
cy1leHBlY3RlZC50eHQKQEAgLTExODgsNiArMTE4OCwxNiBAQCBQQVNTIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuaGFzT3du
UHJvcAogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZv
cm1hbmNlTmF2aWdhdGlvbicpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQogUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdh
dGlvbicpLmVudW1lcmFibGUgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5jb25maWd1cmFibGUgaXMg
dHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZv
cm1hbmNlT2JzZXJ2ZXInKS52YWx1ZSBpcyBQZXJmb3JtYW5jZU9ic2VydmVyCitQQVNTIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicp
Lmhhc093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS5oYXNPd25Qcm9wZXJ0
eSgnc2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihn
bG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2
ZXInKS5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS52YWx1ZSBpcyBQ
ZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0CitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhhc093blBy
b3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5oYXNPd25Qcm9wZXJ0
eSgnc2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihn
bG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuZW51bWVyYWJsZSBpcyBmYWxz
ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1h
bmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5jb25maWd1cmFibGUgaXMgdHJ1ZQogUEFTUyBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlVGltaW5nJykudmFs
dWUgaXMgUGVyZm9ybWFuY2VUaW1pbmcKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZVRpbWluZycpLmhhc093blByb3BlcnR5KCdnZXQnKSBp
cyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1Bl
cmZvcm1hbmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMt
YXR0cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvanMvZG9t
L2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKaW5kZXggZDU3ZTcx
YzIwYTYuLmFhODBlZTQ1MGU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
anMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJp
YnV0ZXMtZXhwZWN0ZWQudHh0CkBAIC0xMTk4LDYgKzExOTgsMTYgQEAgUEFTUyBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlvbicpLmhh
c093blByb3AKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQ
ZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKIFBB
U1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5h
dmlnYXRpb24nKS5lbnVtZXJhYmxlIGlzIGZhbHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuY29uZmlndXJhYmxl
IGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQ
ZXJmb3JtYW5jZU9ic2VydmVyJykudmFsdWUgaXMgUGVyZm9ybWFuY2VPYnNlcnZlcgorUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2
ZXInKS5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuaGFzT3duUHJv
cGVydHkoJ3NldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmVudW1lcmFibGUgaXMgZmFsc2UKK1BB
U1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9i
c2VydmVyJykuY29uZmlndXJhYmxlIGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykudmFsdWUg
aXMgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdAorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5oYXNP
d25Qcm9wZXJ0eSgnZ2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuaGFzT3duUHJv
cGVydHkoJ3NldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmVudW1lcmFibGUgaXMg
ZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJm
b3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuY29uZmlndXJhYmxlIGlzIHRydWUKIFBBU1MgT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZVRpbWluZycp
LnZhbHVlIGlzIFBlcmZvcm1hbmNlVGltaW5nCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VUaW1pbmcnKS5oYXNPd25Qcm9wZXJ0eSgnZ2V0
JykgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWws
ICdQZXJmb3JtYW5jZVRpbWluZycpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0
b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2pz
L2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CmluZGV4IDY2
YWVhMmQ5YmFkLi42ZTVkZTUwY2YzZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1h
dHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApAQCAtODg4LDYgKzg4OCwxNiBAQCBQQVNTIE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJyku
aGFzT3duUHJvcAogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwg
J1BlcmZvcm1hbmNlTmF2aWdhdGlvbicpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQog
UEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNl
TmF2aWdhdGlvbicpLmVudW1lcmFibGUgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5jb25maWd1cmFi
bGUgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwg
J1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS52YWx1ZSBpcyBQZXJmb3JtYW5jZU9ic2VydmVyCitQQVNT
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNl
cnZlcicpLmhhc093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS5oYXNPd25Q
cm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuZW51bWVyYWJsZSBpcyBmYWxzZQor
UEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNl
T2JzZXJ2ZXInKS5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS52YWx1
ZSBpcyBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0CitQQVNTIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhh
c093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5oYXNPd25Q
cm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuZW51bWVyYWJsZSBp
cyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1Bl
cmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5jb25maWd1cmFibGUgaXMgdHJ1ZQogUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlVGltaW5n
JykudmFsdWUgaXMgUGVyZm9ybWFuY2VUaW1pbmcKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZVRpbWluZycpLmhhc093blByb3BlcnR5KCdn
ZXQnKSBpcyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2Jh
bCwgJ1BlcmZvcm1hbmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAzODFiMDEzNzA4Zi4uODg3NjFmOGZjMzUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE3LTAxLTI4ICBKb3NlcGgg
UGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IFBlcmZv
cm1hbmNlT2JzZXJ2ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE2NzU0NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzAyNDc5NTk+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL0NvbW1v
bklkZW50aWZpZXJzLmg6CisKIDIwMTctMDEtMjcgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRl
YUBnbWFpbC5jb20+CiAKICAgICAgICAgTGlmdCB0ZW1wbGF0ZSBlc2NhcGUgc2VxdWVuY2UgcmVz
dHJpY3Rpb25zIGluIHRhZ2dlZCB0ZW1wbGF0ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4IDQ1NWE0MTJlMmI3Li41Nzg3YWY1
NjAyMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRl
bnRpZmllcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVu
dGlmaWVycy5oCkBAIC04OSw2ICs4OSw4IEBACiAgICAgbWFjcm8oUGVyZm9ybWFuY2VFbnRyeUxp
c3QpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU1hcmspIFwKICAgICBtYWNybyhQZXJmb3JtYW5j
ZU1lYXN1cmUpIFwKKyAgICBtYWNybyhQZXJmb3JtYW5jZU9ic2VydmVyKSBcCisgICAgbWFjcm8o
UGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQcm9taXNlKSBcCiAgICAgbWFjcm8oUHJveHkpIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNDQzMTZkZWNiZDQuLjVjY2RkODNlMTBiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dApAQCAtNjAxLDYgKzYwMSw5IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURM
X0ZJTEVTCiAgICAgcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbAogICAgIHBhZ2UvUGVyZm9ybWFu
Y2VNYXJrLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbAorICAgIHBhZ2UvUGVy
Zm9ybWFuY2VPYnNlcnZlci5pZGwKKyAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFj
ay5pZGwKKyAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsCiAgICAgcGFn
ZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsCkBAIC0xOTkwLDYgKzE5
OTMsOCBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmcu
Y3BwCiAgICAgcGFnZS9QZXJmb3JtYW5jZU1vbml0b3IuY3BwCiAgICAgcGFnZS9QZXJmb3JtYW5j
ZU5hdmlnYXRpb24uY3BwCisgICAgcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAorICAgIHBh
Z2UvUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAKICAgICBwYWdlL1BlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcuY3BwCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5jcHAKICAgICBw
YWdlL1BlcmZvcm1hbmNlVXNlclRpbWluZy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjY2M2YWVmYTRiMy4u
ZmFlMTA2YTM3NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSw4NiBAQAogMjAxNy0wMS0yOCAgSm9z
ZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCisgICAgICAgIEltcGxlbWVudCBQ
ZXJmb3JtYW5jZU9ic2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjc1NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwMjQ3OTU5PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBwZXJm
b3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1hcGkuaHRtbAorICAgICAgICAg
ICAgICAgcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItYmFzaWMuaHRt
bAorICAgICAgICAgICAgICAgcGVyZm9ybWFuY2Utb2JzZXJ2ZXIvcGVyZm9ybWFuY2Utb2JzZXJ2
ZXItZXhjZXB0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLW9ic2VydmVyL3Bl
cmZvcm1hbmNlLW9ic2VydmVyLW5lc3RlZC5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5j
ZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1vcmRlci5odG1sCisgICAgICAgICAgICAg
ICBwZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS1vYnNlcnZlci1wZXJpb2RpYy5odG1s
CisgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1vYnNlcnZlci9wZXJmb3JtYW5jZS10aW1lbGlu
ZS1hcGkuaHRtbAorCisgICAgICAgIFRoaXMgaW1wbGVtZW50cyBQZXJmb3JtYW5jZU9ic2VydmVy
IGZyb20gUGVyZm9ybWFuY2UgVGltZWxpbmUgTGV2ZWwgMjoKKyAgICAgICAgaHR0cHM6Ly93M2Mu
Z2l0aHViLmlvL3BlcmZvcm1hbmNlLXRpbWVsaW5lLworCisgICAgICAgICogQ01ha2VMaXN0cy50
eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgIE5ldyBmaWxlcy4KKworICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjptYXJrKToKKyAgICAgICAgKFdlYkNvcmU6OlBl
cmZvcm1hbmNlOjptZWFzdXJlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpyZWdp
c3RlclBlcmZvcm1hbmNlT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6
OnVucmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZv
cm1hbmNlOjpxdWV1ZUVudHJ5KToKKyAgICAgICAgUmVnaXN0ZXIgUGVyZm9ybWFuY2VPYnNlcnZl
cnMgd2l0aCB0aGUgUGVyZm9ybWFuY2Ugb2JqZWN0LgorICAgICAgICBXaGVuIG5ldyBQZXJmb3Jt
YW5jZUVudHJpZXMgYXJlIGNyZWF0ZWQgKE1hcmsgYW5kIE1lYXN1cmUKKyAgICAgICAgcmlnaHQg
bm93KSBjaGVjayB0aGVtIGFnYWluc3Qgb2JzZXJ2ZXJzLgorCisgICAgICAgICogcGFnZS9QZXJm
b3JtYW5jZUVudHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50cnk6OlBl
cmZvcm1hbmNlRW50cnkpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6dHlw
ZUZvckVudHJ5VHlwZVN0cmluZyk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5Lmg6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojp0eXBlKToKKyAgICAgICAgR2l2
ZSBQZXJmb3JtYW5jZUVudHJ5IGEgY29udmVuaWVuY2UgZW51bSBmb3IgZWFzeSBjb21wYXJpc29u
CisgICAgICAgIGFuZCB0byBrbm93IGlmIGl0IGlzIG9uZSBvZiB0aGUgYnVpbHQtaW4ga25vd24g
dHlwZXMgKHdoaWNoIHRoZQorICAgICAgICBQZXJmb3JtYW5jZU9ic2VydmVyIEFQSSB0YWtlcyBp
bnRvIGFjY291bnQpLgorCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyOjpQZXJmb3JtYW5j
ZU9ic2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlT2JzZXJ2ZXI6Om9ic2Vy
dmUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6ZGlzY29ubmVjdCk6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyOjpxdWV1ZUVudHJ5KToKKyAg
ICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlT2JzZXJ2ZXI6OmRlbGl2ZXIpOgorICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFu
Y2VPYnNlcnZlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlT2JzZXJ2
ZXI6OnR5cGVGaWx0ZXIpOgorICAgICAgICAtIFR5cGVFcnJvcnMgb24gb2JzZXJ2ZSBiYWQgYmVo
YXZpb3IKKyAgICAgICAgLSBDb21wbGV0ZWx5IHJlcGxhY2UgdHlwZXMgZmlsdGVyIG9uIG9ic2Vy
dmUKKyAgICAgICAgLSBIYW5kbGUgcmVnaXN0ZXIgYW5kIHVucmVnaXN0ZXIKKyAgICAgICAgLSBI
YW5kbGUgY2FsbGluZyB0aGUgY2FsbGJhY2sKKworICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VP
YnNlcnZlckNhbGxiYWNrLmlkbDogQWRkZWQuCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU9i
c2VydmVyRW50cnlMaXN0LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZU9ic2VydmVyRW50cnlMaXN0OjpQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Q6OmdldEVudHJpZXMpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdDo6Z2V0RW50cmll
c0J5VHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0
OjpnZXRFbnRyaWVzQnlOYW1lKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJF
bnRyeUxpc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxp
c3Q6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0
LmlkbDogQWRkZWQuCisgICAgICAgIEltcGxlbWVudCBzb3J0aW5nIGFuZCBmaWx0ZXJpbmcgb2Yg
ZW50cmllcy4KKworICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGw6IEFkZGVk
LgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmg6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2s6On5QZXJmb3JtYW5jZU9ic2Vy
dmVyQ2FsbGJhY2spOgorICAgICAgICBNb3N0bHkgYXV0b2dlbmVyYXRlZC4KKworICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2VVc2VyVGltaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJU
aW1pbmc6Om1hcmspOgorICAgICAgICAoV2ViQ29yZTo6VXNlclRpbWluZzo6bWVhc3VyZSk6Cisg
ICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVVzZXJUaW1pbmcuaDoKKyAgICAgICAgVXBkYXRlIHRo
ZXNlIHRvIHJldHVybiB0aGUgZW50cnkgc28gaXQgY2FuIGJlIHBhc3NlZCBvbiB0bworICAgICAg
ICBhbnkgaW50ZXJlc3RlZCBQZXJmb3JtYW5jZU9ic2VydmVycy4KKworMjAxNy0wMS0yOCAgSm9z
ZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCiAgICAgICAgIEFkZCBVc2VyIFRp
bWluZyBFeHBlcmltZW50YWwgRmVhdHVyZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY3NTQyCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMjc0NjMw
Nz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDM4ZTdjYjkzMzlkLi43MTA2NmM2
MjlkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC01ODQsNiArNTg0LDkgQEAg
SlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU1hcmsu
aWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwgXAorICAgICQoV2ViQ29y
ZSkvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbCBcCisgICAgJChXZWJDb3JlKS9wYWdlL1Bl
cmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwgXAorICAgICQoV2ViQ29yZSkvcGFnZS9QZXJm
b3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFu
Y2VUaW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvU2NyZWVuLmlkbCBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYTNl
YmJkMWJhYjAuLmMwYmRiMjJlNDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00MDU4LDYgKzQwNTgsMTcgQEAKIAkJQTVBMkFG
MEIxODI5NzM0MzAwREUxNzI5IC8qIFBhZ2VEZWJ1Z2dhYmxlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QTJBRjA5MTgyOTczNDMwMERFMTcyOSAv
KiBQYWdlRGVidWdnYWJsZS5jcHAgKi87IH07CiAJCUE1QTJBRjBDMTgyOTczNDMwMERFMTcyOSAv
KiBQYWdlRGVidWdnYWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTVBMkFGMEExODI5NzM0MzAwREUxNzI5IC8qIFBhZ2VEZWJ1Z2dhYmxlLmggKi87
IH07CiAJCUE1QTdBQTQzMTMyRjBFQ0MwMEQzQTNDMiAvKiBBdXRvY2FwaXRhbGl6ZVR5cGVzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUE3QUE0MjEz
MkYwRUNDMDBEM0EzQzIgLyogQXV0b2NhcGl0YWxpemVUeXBlcy5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE1QTk5MzNEMUUzN0ZCMTkwMDVCNUU0
RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNUE5OTMzNjFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VP
YnNlcnZlci5oICovOyB9OworCQlBNUE5OTMzRTFFMzdGQjFDMDA1QjVFNEQgLyogUGVyZm9ybWFu
Y2VPYnNlcnZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNUE5OTMzNTFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAg
Ki87IH07CisJCUE1QTk5MzNGMUUzN0ZCMUYwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVy
Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE1QTk5MzM4MUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2su
aCAqLzsgfTsKKwkJQTVBOTkzNDAxRTM3RkIyNTAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2
ZXJFbnRyeUxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTVBOTkzM0ExRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRy
eUxpc3QuY3BwICovOyB9OworCQlBNUE5OTM0MTFFMzdGQjI4MDA1QjVFNEQgLyogUGVyZm9ybWFu
Y2VPYnNlcnZlckVudHJ5TGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTVBOTkzM0IxRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2
ZXJFbnRyeUxpc3QuaCAqLzsgfTsKKwkJQTVBOTkzNDgxRTM4MDlDNjAwNUI1RTREIC8qIEpTUGVy
Zm9ybWFuY2VPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTVBOTkzNDMxRTM4MDk5OTAwNUI1RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZl
ci5oICovOyB9OworCQlBNUE5OTM0OTFFMzgwOUM5MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9i
c2VydmVyQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTVBOTkzNDQxRTM4MDk5OTAwNUI1RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZl
ckNhbGxiYWNrLmNwcCAqLzsgfTsKKwkJQTVBOTkzNEExRTM4MDlDQjAwNUI1RTREIC8qIEpTUGVy
Zm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNUE5OTM0NTFFMzgwOTk5MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5j
ZU9ic2VydmVyQ2FsbGJhY2suaCAqLzsgfTsKKwkJQTVBOTkzNEIxRTM4MDlDRDAwNUI1RTREIC8q
IEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUE5OTM0NjFFMzgwOTk5MDA1QjVFNEQgLyogSlNQ
ZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmNwcCAqLzsgfTsKKwkJQTVBOTkzNEMxRTM4MDlD
RjAwNUI1RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVBOTkzNDcxRTM4MDk5OTAwNUI1
RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5oICovOyB9OworCQlBNUE5OTM0
RDFFMzgwOUQ3MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2VydmVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QTk5MzQyMUUzODA5OTkwMDVC
NUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwICovOyB9OwogCQlBNUFGQjM0RjExNTE1
MUE3MDBCMDQ1Q0IgLyogU3RlcFJhbmdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1QUZCMzREMTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2Uu
Y3BwICovOyB9OwogCQlBNUFGQjM1MDExNTE1MUE3MDBCMDQ1Q0IgLyogU3RlcFJhbmdlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUFGQjM0RTExNTE1
MUE3MDBCMDQ1Q0IgLyogU3RlcFJhbmdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTVERUJEQTMxNkZCOTA4NzAwODM2RkUwIC8qIFdlYktpdFBs
YXliYWNrVGFyZ2V0QXZhaWxhYmlsaXR5RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVERUJEOUYxNkZCOTA4NzAwODM2RkUwIC8qIFdlYktp
dFBsYXliYWNrVGFyZ2V0QXZhaWxhYmlsaXR5RXZlbnQuY3BwICovOyB9OwpAQCAtMTE3NzQsNiAr
MTE3ODUsMjAgQEAKIAkJQTVBMkFGMDkxODI5NzM0MzAwREUxNzI5IC8qIFBhZ2VEZWJ1Z2dhYmxl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhZ2VEZWJ1Z2dhYmxl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTVBMkFGMEExODI5NzM0MzAwREUx
NzI5IC8qIFBhZ2VEZWJ1Z2dhYmxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFBhZ2VEZWJ1Z2dhYmxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1QTdBQTQy
MTMyRjBFQ0MwMEQzQTNDMiAvKiBBdXRvY2FwaXRhbGl6ZVR5cGVzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEF1dG9jYXBpdGFsaXplVHlwZXMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTVBOTkzMzUxRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVyZm9ybWFu
Y2VPYnNlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QTk5MzM2MUUz
N0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTVBOTkzMzcxRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2
ZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUE5OTMzODFFMzdGQUZEMDA1QjVFNEQgLyog
UGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlBNUE5OTMzOTFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZl
ckNhbGxiYWNrLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJmb3JtYW5jZU9ic2VydmVy
Q2FsbGJhY2suaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUE5OTMzQTFFMzdG
QUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVBOTkzM0IxRTM3RkFGRDAwNUI1
RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBNUE5OTMzQzFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFu
Y2VPYnNlcnZlckVudHJ5TGlzdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVyZm9ybWFu
Y2VPYnNlcnZlckVudHJ5TGlzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1
QTk5MzQyMUUzODA5OTkwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNQZXJmb3JtYW5jZU9ic2VydmVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVBOTkzNDMxRTM4MDk5OTAwNUI1RTRE
IC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQTVBOTkzNDQxRTM4MDk5OTAwNUI1RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxi
YWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUGVyZm9ybWFu
Y2VPYnNlcnZlckNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVB
OTkzNDUxRTM4MDk5OTAwNUI1RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUGVyZm9ybWFuY2VPYnNlcnZlckNh
bGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QTk5MzQ2MUUzODA5OTkw
MDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVBOTkzNDcxRTM4MDk5OTAwNUI1
RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTVBRkIzNEQxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBS
YW5nZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdGVwUmFuZ2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNUFGQjM0RTExNTE1MUE3MDBCMDQ1
Q0IgLyogU3RlcFJhbmdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0ZXBS
YW5nZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNUM5NzRDRjExNDg1RkYxMDA2
NkYyQUIgLyogS2V5RXZlbnRDb2NvYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBLZXlFdmVudENvY29hLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTMxNSwx
MiArMTUzNDAsMTIgQEAKIAkJCQkwNzQ0RUNFQzFFMEM0QUU1MDAwRDA5NDQgLyogTW9ja1JlYWx0
aW1lQXVkaW9Tb3VyY2VNYWMubW0gKi8sCiAJCQkJMDdFRTc2RUQxQkVBNjE5ODAwRjg5MTMzIC8q
IE1vY2tSZWFsdGltZVZpZGVvU291cmNlTWFjLmggKi8sCiAJCQkJMDdFRTc2RUUxQkVBNjE5ODAw
Rjg5MTMzIC8qIE1vY2tSZWFsdGltZVZpZGVvU291cmNlTWFjLm1tICovLAorCQkJCTQxMTAzQUFB
MUUzOTc5MEEwMDc2OUYwMyAvKiBSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuY3BwICovLAor
CQkJCTQxMTAzQUE5MUUzOTc5MEEwMDc2OUYwMyAvKiBSZWFsdGltZUluY29taW5nQXVkaW9Tb3Vy
Y2UuaCAqLywKIAkJCQk0QTBGRkFBMzFBQUY1RUY2MDA2MjgwM0IgLyogUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlck1hYy5jcHAgKi8sCiAJCQkJNEEwRkZBQTQxQUFGNUVGNjAwNjI4MDNCIC8qIFJl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaCAqLywKIAkJCQk0MTEwM0FBNzFFMzk3OTBBMDA3
NjlGMDMgLyogUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLmNwcCAqLywKIAkJCQk0MTEwM0FB
ODFFMzk3OTBBMDA3NjlGMDMgLyogUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLmggKi8sCi0J
CQkJNDExMDNBQTkxRTM5NzkwQTAwNzY5RjAzIC8qIFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJj
ZS5oICovLAotCQkJCTQxMTAzQUFBMUUzOTc5MEEwMDc2OUYwMyAvKiBSZWFsdGltZUluY29taW5n
QXVkaW9Tb3VyY2UuY3BwICovLAogCQkJCTA3RDYzNzNFMUJCMEIxMTMwMDI1NkNFOSAvKiBXZWJB
dWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5oICovLAogCQkJCTA3RDYzNzNGMUJCMEIxMTMwMDI1
NkNFOSAvKiBXZWJBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5tbSAqLywKIAkJCSk7CkBAIC0x
NjcxOSw4ICsxNjc0NCw4IEBACiAJCQkJNTEwNThBRDgxRDY3OTI1NzAwOUE1MzhDIC8qIE1vY2tH
YW1lcGFkLmggKi8sCiAJCQkJNTEwNThBRDkxRDY3OTI1NzAwOUE1MzhDIC8qIE1vY2tHYW1lcGFk
UHJvdmlkZXIuY3BwICovLAogCQkJCTUxMDU4QURBMUQ2NzkyNTcwMDlBNTM4QyAvKiBNb2NrR2Ft
ZXBhZFByb3ZpZGVyLmggKi8sCi0JCQkJNDE1N0VCRjgxRTNBQjA2ODAwQUM5RkU5IC8qIE1vY2tM
aWJXZWJSVENQZWVyQ29ubmVjdGlvbi5oICovLAogCQkJCTQxNTdFQkY5MUUzQUIwNjgwMEFDOUZF
OSAvKiBNb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uY3BwICovLAorCQkJCTQxNTdFQkY4MUUz
QUIwNjgwMEFDOUZFOSAvKiBNb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uaCAqLywKIAkJCQky
RDZGM0U4QTFDMUVDQjFDMDA2MURCRDQgLyogTW9ja1BhZ2VPdmVybGF5LmNwcCAqLywKIAkJCQky
RDZGM0U4QjFDMUVDQjFDMDA2MURCRDQgLyogTW9ja1BhZ2VPdmVybGF5LmggKi8sCiAJCQkJMkQ2
RjNFOEMxQzFFQ0IxQzAwNjFEQkQ0IC8qIE1vY2tQYWdlT3ZlcmxheS5pZGwgKi8sCkBAIC0xODEy
OSw2ICsxODE1NCwxNCBAQAogCQkJCThBRjRFNTUyMTFEQzVBMzYwMDBFRDNERSAvKiBQZXJmb3Jt
YW5jZU5hdmlnYXRpb24uY3BwICovLAogCQkJCThBRjRFNTUzMTFEQzVBMzYwMDBFRDNERSAvKiBQ
ZXJmb3JtYW5jZU5hdmlnYXRpb24uaCAqLywKIAkJCQk4QUY0RTU1NDExREM1QTM2MDAwRUQzREUg
LyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbCAqLywKKwkJCQlBNUE5OTMzNTFFMzdGQUZEMDA1
QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAgKi8sCisJCQkJQTVBOTkzMzYxRTM3RkFG
RDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuaCAqLywKKwkJCQlBNUE5OTMzNzFFMzdG
QUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwgKi8sCisJCQkJQTVBOTkzMzgx
RTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5oICovLAorCQkJ
CUE1QTk5MzM5MUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2su
aWRsICovLAorCQkJCUE1QTk5MzNBMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2Vy
dmVyRW50cnlMaXN0LmNwcCAqLywKKwkJCQlBNUE5OTMzQjFFMzdGQUZEMDA1QjVFNEQgLyogUGVy
Zm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5oICovLAorCQkJCUE1QTk5MzNDMUUzN0ZBRkQwMDVC
NUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCAqLywKIAkJCQk4NjUxMkVE
QjE1NEEyQUVFMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgKi8sCiAJ
CQkJODY1MTJFREMxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aCAqLywKIAkJCQk4NjUxMkVERDE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZy5pZGwgKi8sCkBAIC0xOTgxOCw4ICsxOTg1MSw4IEBACiAJCUE1OUUzQzFCMTE1ODBG
MzQwMDcyOTI4RSAvKiBpb3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKAotCQkJCUY0ODIyMzEyMUUzODZFMjQwMDY2RkM3OSAvKiBBYnN0cmFjdFBhc3RlYm9hcmQu
aCAqLywKIAkJCQlBMTQ4MzI4QjE4N0Y1MDY4MDBEQTYzQTYgLyogd2FrICovLAorCQkJCUY0ODIy
MzEyMUUzODZFMjQwMDY2RkM3OSAvKiBBYnN0cmFjdFBhc3RlYm9hcmQuaCAqLywKIAkJCQkyNjU1
NDE0QjE0ODlBQTJCMDAwREZDNUQgLyogQ3Vyc29ySU9TLmNwcCAqLywKIAkJCQlBMUVENzc4QTFC
RTMyOTNGMDBEQzE3OTEgLyogRGV2aWNlLmNwcCAqLywKIAkJCQlBMUVENzc4QjFCRTMyOTQwMDBE
QzE3OTEgLyogRGV2aWNlLmggKi8sCkBAIC0xOTg3Niw2ICsxOTkwOSw4IEBACiAJCQkJRTQ1Mzkw
MzgwRUFGRDYzNzAwMzY5NUM4IC8qIFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2VJT1MubW0gKi8sCiAJ
CQkJRkUwRDg0RTgxMDQ4NDM0ODAwMUExNzlFIC8qIFdlYkV2ZW50LmggKi8sCiAJCQkJRkUwRDg0
RUExMDQ4NDM2RTAwMUExNzlFIC8qIFdlYkV2ZW50Lm1tICovLAorCQkJCUY0ODIyMzBGMUUzODY5
QjgwMDY2RkM3OSAvKiBXZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkLmggKi8sCisJCQkJRjQ4MjIz
MEUxRTM4NjlCODAwNjZGQzc5IC8qIFdlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQubW0gKi8sCiAJ
CQkJQ0RBMjlBMkUxQ0JGNzNGQzAwOTAxQ0NGIC8qIFdlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFj
ZUFWS2l0LmggKi8sCiAJCQkJQ0RBMjlBMkYxQ0JGNzNGQzAwOTAxQ0NGIC8qIFdlYlBsYXliYWNr
U2Vzc2lvbkludGVyZmFjZUFWS2l0Lm1tICovLAogCQkJCTNGNDJCMzFCMTg4MTE5MUIwMDI3OEFB
QyAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQuaCAqLywKQEAgLTE5ODgzLDgg
KzE5OTE4LDYgQEAKIAkJCQkzRkJDNEFGMjE4OTg4MTU2MDA0NkVFMzggLyogV2ViVmlkZW9GdWxs
c2NyZWVuSW50ZXJmYWNlQVZLaXQuaCAqLywKIAkJCQkzRkJDNEFGMTE4OTg4MTU2MDA0NkVFMzgg
LyogV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0gKi8sCiAJCQkJRTQ1MzkwM0Mw
RUFGRDYzNzAwMzY5NUM4IC8qIFdpZGdldElPUy5tbSAqLywKLQkJCQlGNDgyMjMwRTFFMzg2OUI4
MDA2NkZDNzkgLyogV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZC5tbSAqLywKLQkJCQlGNDgyMjMw
RjFFMzg2OUI4MDA2NkZDNzkgLyogV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZC5oICovLAogCQkJ
KTsKIAkJCXBhdGggPSBpb3M7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjI0MDUs
NiArMjI0MzgsMTIgQEAKIAkJCQlBNThDNTlDRjFFMzgyRUE5MDA0Nzg1OUMgLyogSlNQZXJmb3Jt
YW5jZU1lYXN1cmUuaCAqLywKIAkJCQk4QTlBNTg2RTExRTg0QzM1MDA4QUNGRDEgLyogSlNQZXJm
b3JtYW5jZU5hdmlnYXRpb24uY3BwICovLAogCQkJCThBOUE1ODZGMTFFODRDMzYwMDhBQ0ZEMSAv
KiBKU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5oICovLAorCQkJCUE1QTk5MzQyMUUzODA5OTkwMDVC
NUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwICovLAorCQkJCUE1QTk5MzQzMUUzODA5
OTkwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaCAqLywKKwkJCQlBNUE5OTM0NDFF
MzgwOTk5MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2suY3BwICovLAor
CQkJCUE1QTk5MzQ1MUUzODA5OTkwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxs
YmFjay5oICovLAorCQkJCUE1QTk5MzQ2MUUzODA5OTkwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNl
T2JzZXJ2ZXJFbnRyeUxpc3QuY3BwICovLAorCQkJCUE1QTk5MzQ3MUUzODA5OTkwMDVCNUU0RCAv
KiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaCAqLywKIAkJCQlDQjM4RkQ1ODFDRDIz
MTQ1MDA1OTJBM0YgLyogSlNQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCAqLywKIAkJCQlD
QjM4RkQ1OTFDRDIzMTQ1MDA1OTJBM0YgLyogSlNQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgg
Ki8sCiAJCQkJMEY0M0M4NUUxODlFMTVBNjAwMDE5QUUyIC8qIEpTUGVyZm9ybWFuY2VUaW1pbmcu
Y3BwICovLApAQCAtMjQ5MzQsMTMgKzI0OTczLDEzIEBACiAJCQkJQTFCNUIyOUYxQUFBODQ2RjAw
OEI2MDQyIC8qIE1vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUxMDU4QURDMUQ2NzkyQzEwMDlBNTM4QyAvKiBNb2NrR2FtZXBhZC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTEwNThBREUxRDY3OTJDMTAwOUE1MzhDIC8qIE1vY2tHYW1lcGFkUHJvdmlkZXIuaCBp
biBIZWFkZXJzICovLAorCQkJCTQxNTdFQkZCMUUzQUI2N0YwMEFDOUZFOSAvKiBNb2NrTGliV2Vi
UlRDUGVlckNvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTJENkYzRTkxMUMxRUNCMkYw
MDYxREJENCAvKiBNb2NrUGFnZU92ZXJsYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTJEOTdGMDQ4
MTlERDQxNDAwMDFFRTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUExNDA2MThDMUUyRUNBMEEwMDMyQjM0RSAvKiBNb2NrUXVpY2tMb29rSGFuZGxlQ2xp
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBQTVGM0I4RDE2Q0MzM0QxMDA0NTVFQjAgLyogUGxh
dGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUExNzYzRjNG
MUUyMDUyMzQwMDFENThERSAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTQxODE1QzFGMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuaCBp
biBIZWFkZXJzICovLAotCQkJCTQxNTdFQkZCMUUzQUI2N0YwMEFDOUZFOSAvKiBNb2NrTGliV2Vi
UlRDUGVlckNvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjQ5NDgsNiArMjQ5ODcsNyBA
QAogCQkJaXNhID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAy
MTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJRjQ4MjIzMTMxRTM4NkUyNDAwNjZGQzc5IC8q
IEFic3RyYWN0UGFzdGVib2FyZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFFMUIxRDEwRkY1OTg2
OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQkyOUE4MTIy
RTBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMjlBODEyMzMwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlBUklB
R3JpZFJvdy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTAwMCw3ICsyNTA0MCw2IEBACiAJCQkJMzE5
ODQ4MDExQTFEODE3QjAwQTEzMzE4IC8qIEFuaW1hdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQk0OUU5MTJBRDBFRkFDOTA2MDA5RDBDQUYgLyogQW5pbWF0aW9uTGlzdC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMzFEQ0QyOUQxQUI0RkJERTAwNzJFODE3IC8qIEFuaW1hdGlvblRyaWdnZXIu
aCBpbiBIZWFkZXJzICovLAotCQkJCTQxNzYxMkIwMUUzQTk5NDAwMEMzRDgxRCAvKiBMaWJXZWJS
VENNZWRpYUVuZHBvaW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjU4MEZBRjE0OTgwMEQ0MDBG
QjVCRDggLyogQW5pbWF0aW9uVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOURE
NzA5OUU2NDkyMDA1NkU1ODEgLyogQXBwZW5kTm9kZUNvbW1hbmQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTdDNjU3OUUzMUUwMDgyNzAwMEUzQTI3QSAvKiBBcHBsZVBheUxpbmVJdGVtLmggaW4gSGVh
ZGVycyAqLywKQEAgLTI1MjgzLDcgKzI1MzIyLDYgQEAKIAkJCQlDRTc5OUZBODFDNkE1MDU3MDA5
N0I1MTggLyogQ29udGVudFNlY3VyaXR5UG9saWN5TWVkaWFMaXN0RGlyZWN0aXZlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlDRTZEQURGQTFDNTkxRTZBMDAzRjZBODggLyogQ29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTc5OUZBMDFDNkE0
QzE2MDA5N0I1MTggLyogQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlLmggaW4gSGVhZGVycyAq
LywKLQkJCQlGNDgyMjMxMzFFMzg2RTI0MDA2NkZDNzkgLyogQWJzdHJhY3RQYXN0ZWJvYXJkLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlDRTc5OUY5ODFDNkE0NkJDMDA5N0I1MTggLyogQ29udGVudFNl
Y3VyaXR5UG9saWN5U291cmNlTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0U3OTlGQUMxQzZB
NTA2NjAwOTdCNTE4IC8qIENvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJlY3RpdmUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQxRDAxNUNBMEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50
VHlwZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTc5MCw3ICsyNTgyOCw2IEBACiAJCQkJMDg1Qjky
QkIwRUZERTczRDAwRTYxMjNDIC8qIEZvcm1EYXRhQnVpbGRlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTgxMzZEMzgwOTczQThFNzAwRDc0NDYzIC8qIEZvcm1EYXRhTGlzdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJN0VFNjg0NjcxMkQyNkUzODAwRTc5NDE1IC8qIEZvcm1EYXRhU3RyZWFtQ0ZOZXQu
aCBpbiBIZWFkZXJzICovLAotCQkJCTQxNTc0NzRBMUUzODY5QUQwMEU5MTREOCAvKiBMaWJXZWJS
VENVdGlscy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE0Qzc2NEUwQ0U5MjM0RTAwN0VGM0NEIC8q
IEZvcm1EYXRhU3RyZWFtTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQk5QjUwQjFERTE3Q0Q0QzBG
MDA4N0Y2M0MgLyogRm9ybU5hbWVkSXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjU2RDM3M0Ew
QURCQTVERTAwQTQ1NTREIC8qIEZvcm1TdGF0ZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTg0OSw3
ICsyNTg4Niw2IEBACiAJCQkJQTgwRDY3MDgwRTlFOURFQjAwRTQyMEYwIC8qIEdyYXBoaWNzQ29u
dGV4dFBsYXRmb3JtUHJpdmF0ZUNHLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjU4MEIwRDBGMTJB
MjY5MDA1MUQ2ODkgLyogR3JhcGhpY3NMYXllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk5QjNF
RDcxMjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJNDExMDNBQUQxRTM5NzkxMDAwNzY5RjAzIC8qIFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJj
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1ODBCMEUwRjEyQTI2OTAwNTFENjg5IC8qIEdyYXBo
aWNzTGF5ZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQzY5NTkzMTYxQTFFNTMwMDM3
MzJDQiAvKiBHcmFwaGljc0xheWVyRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZBMjRE
N0ExNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmggaW4gSGVhZGVycyAq
LywKQEAgLTI1ODY1LDcgKzI1OTAxLDYgQEAKIAkJCQkyNkVBODlBNzFCNEYyQjc1MDA4QzVGRDIg
LyogSGFzaGFibGVBY3Rpb25MaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDgyQjc0NjExOThD
MzU0MDBCRkIwMDUgLyogSGFzaENoYW5nZUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBODc0
OEJFMDEyQ0JGMkRDMDAxRkJBNDEgLyogSGFzaFRvb2xzLmggaW4gSGVhZGVycyAqLywKLQkJCQlF
M0U0RTJBODFFM0IxNzEwMDAyM0JCOEEgLyogU2NyaXB0RWxlbWVudENhY2hlZFNjcmlwdEZldGNo
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUY1NUIzREMwMTI1MUYxMkQwMDNFRjI2OSAvKiBIaWRk
ZW5JbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNUJFMTlDMUQ1NEY2QzEwMEREN0M2
OCAvKiBISURHYW1lcGFkLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTVCRTE5RTFENTRGNkMxMDBE
RDdDNjggLyogSElER2FtZXBhZFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTI1ODc1LDcg
KzI1OTEwLDYgQEAKIAkJCQk0OTY5QjBGMzEzRDBCMzNGMDBERjM1MjEgLyogSGl0VGVzdGluZ1Ry
YW5zZm9ybVN0YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDgyODdGNzE2RTRBMDM4MDA4NkJE
MDAgLyogSGl0VGVzdExvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzA5MDg5MTBBRjdF
REU0MDA4MURGMDEgLyogSGl0VGVzdFJlcXVlc3QuaCBpbiBIZWFkZXJzICovLAotCQkJCTQxNTc0
NzQ3MUUzODY5QTQwMEU5MTREOCAvKiBMaWJXZWJSVENNYWNyb3MuaCBpbiBIZWFkZXJzICovLAog
CQkJCTkzMDdGMUQ4MEFGMkQ1OTAwMERCQTMxQSAvKiBIaXRUZXN0UmVzdWx0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzNCQzI5QzBFOTFBQjBGMDA4MzU1ODggLyogSG9zdFdpbmRvdy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRkQzMTYwOTkxMkIwMjZGNzAwQzFBMzU5IC8qIEhSVEZEYXRhYmFzZS5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yNjU0MCw2ICsyNjU3NCw5IEBACiAJCQkJQTU4QzU5RDExRTM4
MkVBRTAwNDc4NTlDIC8qIEpTUGVyZm9ybWFuY2VNYXJrLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
NThDNTlEMzFFMzgyRUIyMDA0Nzg1OUMgLyogSlNQZXJmb3JtYW5jZU1lYXN1cmUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCThBOUE1ODcxMTFFODRDMzYwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlTmF2
aWdhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTVBOTkzNDgxRTM4MDlDNjAwNUI1RTREIC8q
IEpTUGVyZm9ybWFuY2VPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTVBOTkzNEExRTM4
MDlDQjAwNUI1RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlBNUE5OTM0QzFFMzgwOUNGMDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2Vy
dmVyRW50cnlMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlDQjM4RkQ1QjFDRDIzMjVCMDA1OTJB
M0YgLyogSlNQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk4
QTlBNTg4ODExRTg0RjM3MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZVRpbWluZy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRkRFQTYyNDcxNTIxMDJGQzAwNDc5REYwIC8qIEpTUGVyaW9kaWNXYXZlLmgg
aW4gSGVhZGVycyAqLywKQEAgLTI2ODc2LDYgKzI2OTEzLDExIEBACiAJCQkJRTVCQTdENjMxNTE0
MzdDQTAwRkUxRTNGIC8qIExlbmd0aEZ1bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY4
NzE2NzAxQzg2OUQ4MzAwNEZGMERFIC8qIExlbmd0aFBvaW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQ0ZGNjQ5MjBFQUQxNUMyMDBDMUQ2RjcgLyogTGVuZ3RoU2l6ZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJNDE1NzQ3NDcxRTM4NjlBNDAwRTkxNEQ4IC8qIExpYldlYlJUQ01hY3Jvcy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNDE3NjEyQjAxRTNBOTk0MDAwQzNEODFEIC8qIExpYldlYlJUQ01lZGlh
RW5kcG9pbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxNzYxMkIyMUUzQTk5NDAwMEMzRDgxRCAv
KiBMaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlbmQuaCBpbiBIZWFkZXJzICovLAorCQkJCTQx
NTc0NzQ4MUUzODY5QTcwMEU5MTREOCAvKiBMaWJXZWJSVENQcm92aWRlci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNDE1NzQ3NEExRTM4NjlBRDAwRTkxNEQ4IC8qIExpYldlYlJUQ1V0aWxzLmggaW4g
SGVhZGVycyAqLywKIAkJCQk4NDczMEQ5MTEyNDhGMEIzMDBEM0E5QzkgLyogTGlnaHRTb3VyY2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3OTY1MEQwMEJGMjIwMDcxQjc4MiAvKiBMaW5lYXJH
cmFkaWVudEF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUFCMzFDOTFFMTBBRTFCOEUw
MDBDN0I5MiAvKiBMaW5lQ2xhbXBWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzI1NCw2ICsy
NzI5Niw5IEBACiAJCQkJQUQ1QTBDMjUxREVDQUNDQzAwNzA3MDU0IC8qIFBlcmZvcm1hbmNlTG9n
Z2luZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODNGRTkwMjcxRTMwN0MzMDAwM0U5MTk5IC8qIFBl
cmZvcm1hbmNlTW9uaXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEFGNEU1NTYxMURDNUEzNjAw
MEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTVB
OTkzM0QxRTM3RkIxOTAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUE1QTk5MzNGMUUzN0ZCMUYwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVy
Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCUE1QTk5MzQxMUUzN0ZCMjgwMDVCNUU0RCAv
KiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NjUx
MkVERjE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOEFGNEU1NUMxMURDNUE2MzAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlVGlt
aW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTU0QjVGMzFFMzgzOTNBMDAxRDRFMDMgLyogUGVy
Zm9ybWFuY2VVc2VyVGltaW5nLmggaW4gSGVhZGVycyAqLywKQEAgLTI3MzYzLDEyICsyNzQwOCwx
NCBAQAogCQkJCTQxNkU2RkU5MUJCRDEyRTUwMDBBNjA0MyAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0
aW5zLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTZFNkZFODFCQkQxMkRGMDAwQTNGNjQgLyogUmVh
ZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTYw
M0MxMkIwMjY3NjAwQzFBMzU5IC8qIFJlYWx0aW1lQW5hbHlzZXIuaCBpbiBIZWFkZXJzICovLAor
CQkJCTQxMTAzQUFEMUUzOTc5MTAwMDc2OUYwMyAvKiBSZWFsdGltZUluY29taW5nQXVkaW9Tb3Vy
Y2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTRBNEY2NTcxMUFBOTk3RjEwMEUzOENERCAvKiBSZWFs
dGltZU1lZGlhU291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0QTRGNjU3MjFBQTk5N0YxMDBF
MzhDREQgLyogUmVhbHRpbWVNZWRpYVNvdXJjZUNhcGFiaWxpdGllcy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNEEwRkZBQTIxQUFGNUVBMjAwNjI4MDNCIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTRBMEZGQUE2MUFBRjVFRjYwMDYyODAzQiAvKiBSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQk0QTRGNjU3NDFB
QTk5N0YxMDBFMzhDREQgLyogUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwN0MxQzBFNTFCRkI2MEVEMDBCRDIyNTYgLyogUmVhbHRpbWVNZWRpYVNvdXJj
ZVN1cHBvcnRlZENvbnN0cmFpbnRzLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTEwM0FBQzFFMzk3
OTEwMDA3NjlGMDMgLyogUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQzQzNjhFODBDMjI2RTMyMDA1RUZCNUYgLyogUmVjdC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRkQ0NUE5NTgxNzVENDE0QzAwQzIxRUM4IC8qIFJlY3RhbmdsZVNoYXBlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk5ODMxQUU0QTE1NDIyNUM5MDBGRTI2NDQgLyogUmVmZXJyZXJQb2xpY3ku
aCBpbiBIZWFkZXJzICovLApAQCAtMjc1MzYsNyArMjc1ODMsNiBAQAogCQkJCTQ5OThBRUM2MTNG
OUQwRUEwMDkwQjFBQSAvKiBSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRjU1QjNERDAxMjUxRjEyRDAwM0VGMjY5IC8qIFJlc2V0SW5wdXRUeXBlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk3RUU2ODQ2QTEyRDI2RTM4MDBFNzk0MTUgLyogUmVzb3VyY2VF
cnJvci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDE1NzQ3NDgxRTM4NjlBNzAwRTkxNEQ4IC8qIExp
YldlYlJUQ1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzRGNzEzQzBENUE2RjE5MDAw
MThENjkgLyogUmVzb3VyY2VFcnJvckJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNEM3Njc5
MENFOTIzQTEwMDdFRjNDRCAvKiBSZXNvdXJjZUhhbmRsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MjZGQUU0Q0QxODUyRTNBNTAwNEM4QzQ2IC8qIFJlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9u
RGVsZWdhdGUuaCBpbiBIZWFkZXJzICovLApAQCAtMjc2MjgsNiArMjc2NzQsNyBAQAogCQkJCTkz
QjcwRDcwMDlFQjBDN0MwMDlEODQ2OCAvKiBTY3JpcHRDb250cm9sbGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQk0OTk4QUVEMjEzRkIyMjREMDA5MEIxQUEgLyogU2NyaXB0ZWRBbmltYXRpb25Db250
cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwOEE0ODQ3ODBFNTI3MkM1MDBDM0ZFNzYgLyog
U2NyaXB0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTNFNEUyQTgxRTNCMTcxMDAwMjNC
QjhBIC8qIFNjcmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRjaGVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQlFMTFDOUQ5QjBFQjM2ODEyMDBFNDA5REIgLyogU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDFGMDY2RTQwRjY0QkNGNjAwQTA3RUFDIC8qIFNjcmlwdEds
b2JhbE9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTM4ODM4OTkxQkFEMTQ1RjAwRDYyRUUz
IC8qIFNjcmlwdE1vZHVsZUxvYWRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzgyMSw3ICsyNzg2
OCw2IEBACiAJCQkJNDE0QjgyMDUxRDZERjBFNTAwNzdFQkUzIC8qIFN0cnVjdHVyZWRDbG9uZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1RUI2QTMwRTgxREM0RjAwQjI1OTY1IC8qIFN0eWxlQmFj
a2dyb3VuZERhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNUVCNjdCMEU4MUQzQkUwMEIyNTk2
NSAvKiBTdHlsZUJveERhdGEuaCBpbiBIZWFkZXJzICovLAotCQkJCUY0ODIyMzExMUUzODY5Qjgw
MDY2RkM3OSAvKiBXZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk4Mzg2QTk2RDE5RjYxQjJFMDBFMUVDNEEgLyogU3R5bGVCdWlsZGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQk4M0I5Njg3QjE5RjhBQjgzMDA0RUY3QUYgLyogU3R5bGVCdWlsZGVyQ29udmVydGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzVEMzYzNzE5RkY2MTkzMDA0QzkzQUIgLyogU3R5bGVC
dWlsZGVyQ3VzdG9tLmggaW4gSGVhZGVycyAqLywKQEAgLTI3ODY0LDcgKzI3OTEwLDYgQEAKIAkJ
CQlBOEVBODAwQzBBMTk1MTZFMDBBOEVGNUYgLyogU3R5bGVTaGVldC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTRGOUVFRjMxNTZEQTAwNzAwRDIzRTdFIC8qIFN0eWxlU2hlZXRDb250ZW50cy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQThFQTgwMEEwQTE5NTE2RTAwQThFRjVGIC8qIFN0eWxlU2hlZXRM
aXN0LmggaW4gSGVhZGVycyAqLywKLQkJCQk0MTc2MTJCMjFFM0E5OTQwMDBDM0Q4MUQgLyogTGli
V2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzVFQjVF
NTBFODFCRjZEMDBCMjU5NjUgLyogU3R5bGVTdXJyb3VuZERhdGEuaCBpbiBIZWFkZXJzICovLAog
CQkJCUJDNUVCODEwMEU4MUYyQ0UwMEIyNTk2NSAvKiBTdHlsZVRyYW5zZm9ybURhdGEuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUU0REVBQTE4MTdBOTNEQzMwMDBFMDQzMCAvKiBTdHlsZVRyZWVSZXNv
bHZlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzkzMiw3ICsyNzk3Nyw2IEBACiAJCQkJQjIyMjc5
QUUwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR0RlZnNFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCMjIyNzlCMTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHRGVzY0VsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUIyMjI3OUI0MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdEb2N1bWVudC5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJNDExMDNBQUMxRTM5NzkxMDAwNzY5RjAzIC8qIFJlYWx0aW1lT3V0Z29p
bmdBdWRpb1NvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjI4QzZBMjgwRDAwQzQ0ODAwMzM0
QUE0IC8qIFNWR0RvY3VtZW50RXh0ZW5zaW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjc5
QjcwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1
NjU4MUZFMDlEMTUwOEQwMDBFNjFENyAvKiBTVkdFbGVtZW50RmFjdG9yeS5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yODQxMyw2ICsyODQ1Nyw3IEBACiAJCQkJNzdBMTdBNzgxMkYyODY0MjAwNEUwMkY2
IC8qIFdlYkdMVmVydGV4QXJyYXlPYmplY3RPRVMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1ODQw
RTI1MTg3QjhBQzIwMDg0M0IxMCAvKiBXZWJJbmplY3RlZFNjcmlwdEhvc3QuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE1ODRGRTMwMTg2NENCODQwMDg0M0IxMCAvKiBXZWJJbmplY3RlZFNjcmlwdE1h
bmFnZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUY0ODIyMzExMUUzODY5QjgwMDY2RkM3OSAvKiBX
ZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMUMwRkYyMjBF
NENFQjZFMDA3RDZGRTUgLyogV2ViS2l0QW5pbWF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTVERkVCQUI3MTg1OTJCNkQwMEM3NUJFQiAvKiBXZWJLaXRBdmFpbGFiaWxpdHkuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTQ5ODM5MTU5MEYxRTc3NjkwMEMyMzc4MiAvKiBXZWJLaXRDU1NNYXRy
aXguaCBpbiBIZWFkZXJzICovLApAQCAtMjg4NjYsNyArMjg5MTEsNiBAQAogCQkJCTUxNzE0RUIw
MUNGNjY1Q0UwMDQ3MjNDNCAvKiBKU0dDT2JzZXJ2YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNDE3REE3MUQxMzczNURGQTAwN0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUE3NDBCNUE3MTRDOTM1QUYwMEE3N0ZBNCAvKiBKU0ludGVybmFsU2V0dGluZ3Mu
Y3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNDE1N0VCRkExRTNBQjY3OTAwQUM5RkU5IC8qIE1vY2tM
aWJXZWJSVENQZWVyQ29ubmVjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1M0VEM0ZERTE2
N0E4OEU3MDA2NzYyRTYgLyogSlNJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUE3NDBCNTk3MTRDOTM1QUYwMEE3N0ZBNCAvKiBKU01hbGxvY1N0YXRpc3Rp
Y3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RGNEI3MzMxRTAzRDE0OTAwRTIzNUEyIC8qIEpT
TWVkaWFLZXlzUmVxdWlyZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yODg4Miw2ICsyODky
Niw3IEBACiAJCQkJQTFCNUIyOUUxQUFBODQ2RTAwOEI2MDQyIC8qIE1vY2tDb250ZW50RmlsdGVy
U2V0dGluZ3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEwNThBREIxRDY3OTJDMTAwOUE1MzhD
IC8qIE1vY2tHYW1lcGFkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMDU4QUREMUQ2NzkyQzEw
MDlBNTM4QyAvKiBNb2NrR2FtZXBhZFByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQx
NTdFQkZBMUUzQUI2NzkwMEFDOUZFOSAvKiBNb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ2RjNFOTAxQzFFQ0IyNzAwNjFEQkQ0IC8qIE1vY2tQYWdl
T3ZlcmxheS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDk3RjA0NzE5REQ0MTNDMDAxRUU5QzMg
LyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUExNDA2MThC
MUUyRUNBMEEwMDMyQjM0RSAvKiBNb2NrUXVpY2tMb29rSGFuZGxlQ2xpZW50LmNwcCBpbiBTb3Vy
Y2VzICovLApAQCAtMjkxOTMsNyArMjkyMzgsNiBAQAogCQkJCUUxQjRDRDI1MTBCMzIyRTIwMEJG
RkQ3RSAvKiBDcmVkZW50aWFsU3RvcmFnZU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJENDgx
RjAwMTQ2QjVDNEMwMEFBNzgzNCAvKiBDcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlFMUM0MTYxNzBGNjU2MzE4MDA5MkQyRkIgLyogQ3Jvc3NPcmlnaW5BY2Nl
c3NDb250cm9sLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTQxNzYxMkIxMUUzQTk5NDAwMEMzRDgx
RCAvKiBMaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNDFBQkU2N0MxRDA1ODBFMDAwNkQ4NjJEIC8qIENyb3NzT3JpZ2luUHJlZmxpZ2h0Q2hlY2tl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUM0MTVERTBGNjU1RDdDMDA5MkQyRkIgLyogQ3Jv
c3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTY5
ODA0OTExMzM2NDQ3MDA4OTQxMTUgLyogQ1J1bnRpbWVPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8s
CkBAIC0yOTI4NSw3ICsyOTMyOSw2IEBACiAJCQkJOTQxODI3OEUxRDhDQUY5MjAwNDkyNzY0IC8q
IENTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzdC
Mzg2MjEyMjg4M0U5MDBCODFGRjggLyogQ1NTUHJlbG9hZFNjYW5uZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQTgwRTZEMDUwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU1ByaW1pdGl2ZVZhbHVlLmNw
cCBpbiBTb3VyY2VzICovLAotCQkJCUY0ODIyMzEwMUUzODY5QjgwMDY2RkM3OSAvKiBXZWJJdGVt
UHJvdmlkZXJQYXN0ZWJvYXJkLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgwRTZDRjcwQTE5ODlD
QTAwN0ZCOEM1IC8qIENTU1Byb3BlcnR5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTc4RDAyQkM1
MTU0QTE4REYwMEI2MkQwNSAvKiBDU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkxQUJBNzZDQTExRDIwRTUwMDA0QzIwMUMgLyogQ1NTUHJvcGVydHlOYW1lcy5jcHAg
aW4gU291cmNlcyAqLywKQEAgLTI5NDM5LDcgKzI5NDgyLDYgQEAKIAkJCQkxNUZDQzlGQzFCNERG
N0YyMDBFNzIzMjYgLyogRE9NVVJMTWVkaWFTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MTQwM0I5OTgwOUVCMTNBRjAwNzk3QzdGIC8qIERPTVdpbmRvdy5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk1MTdGQkExRTE1MUFCMTdDMDBCNTc5NTkgLyogRE9NV2luZG93RXh0ZW5zaW9uLmNwcCBp
biBTb3VyY2VzICovLAotCQkJCTQxMTAzQUFFMUUzOTc5MTAwMDc2OUYwMyAvKiBSZWFsdGltZUlu
Y29taW5nQXVkaW9Tb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE4QzM5NTYxQzhEQUM3
RjAwNTFDOEEzIC8qIERPTVdpbmRvd0ZldGNoLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxODVG
Qzc0MUJCNEM0RTgwMDEyODk4RiAvKiBET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJOTdCMzhFMjgxNTFDNDI3MzAwNDYyMkU5IC8qIERPTVdpbmRvd05vdGlm
aWNhdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMDM0Miw2ICszMDM4NCw5IEBACiAJCQkJ
QTU4QzU5RDAxRTM4MkVBQzAwNDc4NTlDIC8qIEpTUGVyZm9ybWFuY2VNYXJrLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUE1OEM1OUQyMUUzODJFQjAwMDQ3ODU5QyAvKiBKU1BlcmZvcm1hbmNlTWVh
c3VyZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4QTlBNTg3MDExRTg0QzM2MDA4QUNGRDEgLyog
SlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVBOTkzNEQx
RTM4MDlENzAwNUI1RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlBNUE5OTM0OTFFMzgwOUM5MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2VydmVy
Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVBOTkzNEIxRTM4MDlDRDAwNUI1RTRE
IC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlDQjM4RkQ1QTFDRDIzMjU4MDA1OTJBM0YgLyogSlNQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDNDODVGMTg5RTE1QTYwMDAxOUFFMiAvKiBKU1Bl
cmZvcm1hbmNlVGltaW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZERUE2MjQ2MTUyMTAyRkMw
MDQ3OURGMCAvKiBKU1BlcmlvZGljV2F2ZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMwNTA5LDcg
KzMwNTU0LDYgQEAKIAkJCQlCMkZBM0RCQTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdQYXRoU2Vn
QXJjUmVsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyRkEzREJDMEFCNzVBNkYwMDBFNUFDNCAv
KiBKU1NWR1BhdGhTZWdDbG9zZVBhdGguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJGQTNEQkUw
QUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY0Ficy5jcHAgaW4gU291
cmNlcyAqLywKLQkJCQk0MTc2MTJBRjFFM0E5OTQwMDBDM0Q4MUQgLyogTGliV2ViUlRDTWVkaWFF
bmRwb2ludC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkZBM0RDMDBBQjc1QTZGMDAwRTVBQzQg
LyogSlNTVkdQYXRoU2VnQ3VydmV0b0N1YmljUmVsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIy
RkEzREMyMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhB
YnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJGQTNEQzQwQUI3NUE2RjAwMEU1QUM0IC8qIEpT
U1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aFJlbC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMw
NzEzLDYgKzMwNzU3LDkgQEAKIAkJCQlFNTVGNDk3QTE1MUI4ODgwMDBCQjY3REIgLyogTGVuZ3Ro
RnVuY3Rpb25zLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGODcxNjZGMUM4NjlEODMwMDRGRjBE
RSAvKiBMZW5ndGhQb2ludC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVGMjBDRTFCRDRBMjQx
MDAxMjhFNUQgLyogTGVuZ3RoU2l6ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTc2MTJBRjFF
M0E5OTQwMDBDM0Q4MUQgLyogTGliV2ViUlRDTWVkaWFFbmRwb2ludC5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQk0MTc2MTJCMTFFM0E5OTQwMDBDM0Q4MUQgLyogTGliV2ViUlRDUGVlckNvbm5lY3Rp
b25CYWNrZW5kLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxNTc0NzQ5MUUzODY5QUEwMEU5MTRE
OCAvKiBMaWJXZWJSVENVdGlscy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRkI2OThDQzE4MzNF
RTBEMDAxNThBMzEgLyogTGluZUJyZWFrZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODlCNUVB
QTExMUU4MDAzRDAwRjIzNjdFIC8qIExpbmVFbmRpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RkZCNjk4Q0YxODM0MDJCQjAwMTU4QTMxIC8qIExpbmVJbmZvLmNwcCBpbiBTb3VyY2VzICovLApA
QCAtMzEwMDQsNiArMzEwNTEsOCBAQAogCQkJCUFENUEwQzIzMURFQ0FDQzAwMDcwNzA1NCAvKiBQ
ZXJmb3JtYW5jZUxvZ2dpbmdDb2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTgzRkU5MDI4MUUz
MDdDMzMwMDNFOTE5OSAvKiBQZXJmb3JtYW5jZU1vbml0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJOEFGNEU1NTUxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQlBNUE5OTMzRTFFMzdGQjFDMDA1QjVFNEQgLyogUGVyZm9ybWFu
Y2VPYnNlcnZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNUE5OTM0MDFFMzdGQjI1MDA1QjVF
NEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk4NjUxMkVERTE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjQzQzg1RDE4OUUxMENGMDAwMTlBRTIgLyogUGVyZm9y
bWFuY2VUaW1pbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTU1NEI1RjIxRTM4MzkzODAwMUQ0
RTAzIC8qIFBlcmZvcm1hbmNlVXNlclRpbWluZy5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMxMDc3
LDExICszMTEyNiwxMyBAQAogCQkJCTZFODRFOUUwMTc2NjhCRUUwMDgxNUI2OCAvKiBSYXN0ZXJT
aGFwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MThDMzk2MTFDOEYwQUIxMDA1MUM4QTMgLyog
UmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlG
RDMxNjAzQjEyQjAyNjc2MDBDMUEzNTkgLyogUmVhbHRpbWVBbmFseXNlci5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk0MTEwM0FBRTFFMzk3OTEwMDA3NjlGMDMgLyogUmVhbHRpbWVJbmNvbWluZ0F1
ZGlvU291cmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTRBNEY2NTcwMUFBOTk3RjEwMEUzOENE
RCAvKiBSZWFsdGltZU1lZGlhU291cmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTRBMEZGQUEx
MUFBRjVFQTIwMDYyODAzQiAvKiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTRBMEZGQUE1MUFBRjVFRjYwMDYyODAzQiAvKiBSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyTWFjLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTRBNEY2NTczMUFBOTk3RjEwMEUz
OENERCAvKiBSZWFsdGltZU1lZGlhU291cmNlU2V0dGluZ3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMkVDNDFERTQxQzA0MTBBMzAwRDI5NEZFIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0
ZWRDb25zdHJhaW50cy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTEwM0FBQjFFMzk3OTEwMDA3
NjlGMDMgLyogUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUZENDVBOTVBMTc1RDQxNzEwMEMyMUVDOCAvKiBSZWN0YW5nbGVTaGFwZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCQ0FCNDE4MTEzRTM1NkU4MDBEOEFBRjMgLyogUmVnaW9uLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUNERkMzNjA1MThDQTYxQzIwMDI2RTU2RiAvKiBSZW1vdGVDb21tYW5k
TGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMTI5Miw2ICszMTM0Myw3IEBACiAJCQkJ
QTgzRTFDNzQwRTQ5MDQyQzAwMTQwQjlDIC8qIFNjcmlwdENvbnRyb2xsZXJNYWMubW0gaW4gU291
cmNlcyAqLywKIAkJCQk0OTk4QUVEMTEzRkIyMjREMDA5MEIxQUEgLyogU2NyaXB0ZWRBbmltYXRp
b25Db250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA4QTQ4NDc3MEU1MjcyQzUwMEMz
RkU3NiAvKiBTY3JpcHRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUUzRTRFMkE3MUUz
QjE3MTAwMDIzQkI4QSAvKiBTY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlFMTFDOURCMDBFQjM2OTk1MDBFNDA5REIgLyogU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MUYwNjZFNTBGNjRCQ0Y2MDBBMDdF
QUMgLyogU2NyaXB0R2xvYmFsT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUzODgzODk4
MUJBRDE0NUYwMEQ2MkVFMyAvKiBTY3JpcHRNb2R1bGVMb2FkZXIuY3BwIGluIFNvdXJjZXMgKi8s
CkBAIC0zMTM4NSw3ICszMTQzNyw2IEBACiAJCQkJNTEyREQ4RTMwRDkxRTJCNDAwMEY4OUVFIC8q
IFNoYXJlZEJ1ZmZlckNGLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3QjFGMDJFMTNCMDI1Q0Ew
MEY1MTAzRiAvKiBTaGFyZWRCdWZmZXJDaHVua1JlYWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkxQTRBOTU1MjBCNEVEQ0ZGMDAyRDhDM0MgLyogU2hhcmVkQnVmZmVyQ29jb2EubW0gaW4gU291
cmNlcyAqLywKLQkJCQk0MTU3NDc0OTFFMzg2OUFBMDBFOTE0RDggLyogTGliV2ViUlRDVXRpbHMu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTYzRTg4RjcxMThBMzlEMjAwRUQ5MjMxIC8qIFNpbXBs
ZUZvbnREYXRhQ29yZVRleHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTQ4OTQ0QTIxODBCNTdE
ODAwRjE2NUQ4IC8qIFNpbXBsZUxpbmVMYXlvdXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTg1
RDZFMDMxQTFBNzkyRTAwRkE0RjEyIC8qIFNpbXBsZUxpbmVMYXlvdXRGbG93Q29udGVudHMuY3Bw
IGluIFNvdXJjZXMgKi8sCkBAIC0zMTcxOSw3ICszMTc3MCw2IEBACiAJCQkJOTMzMDlFMUIwOTlF
NjQ5MjAwNTZFNTgxIC8qIFRleHRJdGVyYXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNEQ5
ODhCNjE3QkZFQjIxMDA4NEZCODggLyogVGV4dE5vZGVUcmF2ZXJzYWwuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMUMxOERBNTgxODFBRjZBNTAwQzRFRjIyIC8qIFRleHRQYWludGVyLmNwcCBpbiBT
b3VyY2VzICovLAotCQkJCTQxMTAzQUFCMUUzOTc5MTAwMDc2OUYwMyAvKiBSZWFsdGltZU91dGdv
aW5nQXVkaW9Tb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTRDOTFBMTAxODAyMzQzOTAw
QTE3RjZEIC8qIFRleHRQYWludFN0eWxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzRjE5QTlE
MDgyNDVFNTkwMDFFOUFCQyAvKiBUZXh0UmVzb3VyY2VEZWNvZGVyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTM3NkRDQ0UxMTNCNEY5NjYwMDJFQkVGQyAvKiBUZXh0UnVuLmNwcCBpbiBTb3VyY2Vz
ICovLApAQCAtMzE4NTAsNyArMzE5MDAsNiBAQAogCQkJCTI5QTgxMjRBMEZCQjlDQTkwMDUxMDI5
MyAvKiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW0gaW4gU291cmNlcyAqLywK
IAkJCQlBQUE3MjhGODE2RDFEOEJDMDBEM0JCQzYgLyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXJJT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQlBQTQ3OEE4MDE2Q0Q3MEMzMDA3RDFCQjQg
LyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0gaW4gU291cmNlcyAqLywKLQkJ
CQlFM0U0RTJBNzFFM0IxNzEwMDAyM0JCOEEgLyogU2NyaXB0RWxlbWVudENhY2hlZFNjcmlwdEZl
dGNoZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQzRUY0NDkxOTE3OTE1QzAwMDM0MTg0IC8q
IFdlYkFjdGlvbkRpc2FibGluZ0NBTGF5ZXJEZWxlZ2F0ZS5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTEyMERFM0VEMUM4NkNBM0UwMEI2RDRERCAvKiBXZWJBbmltYXRpb24uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMDdENjM3NDExQkIwQjExMzAwMjU2Q0U5IC8qIFdlYkF1ZGlvU291cmNlUHJvdmlk
ZXJBVkZPYmpDLm1tIGluIFNvdXJjZXMgKi8sCkBAIC0zMTkyMyw2ICszMTk3Miw3IEBACiAJCQkJ
NzdBMTdBNzcxMkYyODY0MjAwNEUwMkY2IC8qIFdlYkdMVmVydGV4QXJyYXlPYmplY3RPRVMuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQTU4NDBFMjQxODdCOEFDMjAwODQzQjEwIC8qIFdlYkluamVj
dGVkU2NyaXB0SG9zdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNTg0RkUyRjE4NjRDQjg0MDA4
NDNCMTAgLyogV2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CUY0ODIyMzEwMUUzODY5QjgwMDY2RkM3OSAvKiBXZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJMzFDMEZGMjEwRTRDRUI2RTAwN0Q2RkU1IC8qIFdlYktpdEFu
aW1hdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5ODM5MTU4MEYxRTc3NjkwMEMy
Mzc4MiAvKiBXZWJLaXRDU1NNYXRyaXguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOEFBNjFDRkYx
NDRENTk1QjAwRjM3MzUwIC8qIFdlYktpdENTU1JlZ2lvblJ1bGUuY3BwIGluIFNvdXJjZXMgKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmgKaW5kZXggYmViMDVl
Zjk1ZTEuLjEzZDU4ZjNjZmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVy
c2VjdGlvbk9ic2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25P
YnNlcnZlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlICJJbnRlcnNlY3Rpb25PYnNl
cnZlckNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeS5oIgot
I2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAj
aW5jbHVkZSA8d3RmL1ZhcmlhbnQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKaW5kZXggMmU1OWRhYTM2M2EuLjE4ODVjNTYx
ZWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcApAQCAtNDEsNiArNDEsNyBAQAog
I2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgogI2luY2x1
ZGUgIlBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlT2JzZXJ2
ZXIuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgiCiAjaW5jbHVkZSAi
UGVyZm9ybWFuY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVVzZXJUaW1pbmcuaCIK
QEAgLTE3MSw3ICsxNzIsMTQgQEAgRXhjZXB0aW9uT3I8dm9pZD4gUGVyZm9ybWFuY2U6Om1hcmso
Y29uc3QgU3RyaW5nJiBtYXJrTmFtZSkKIHsKICAgICBpZiAoIW1fdXNlclRpbWluZykKICAgICAg
ICAgbV91c2VyVGltaW5nID0gc3RkOjptYWtlX3VuaXF1ZTxVc2VyVGltaW5nPigqdGhpcyk7Ci0g
ICAgcmV0dXJuIG1fdXNlclRpbWluZy0+bWFyayhtYXJrTmFtZSk7CisKKyAgICBhdXRvIHJlc3Vs
dCA9IG1fdXNlclRpbWluZy0+bWFyayhtYXJrTmFtZSk7CisgICAgaWYgKHJlc3VsdC5oYXNFeGNl
cHRpb24oKSkKKyAgICAgICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7CisKKyAg
ICBxdWV1ZUVudHJ5KHJlc3VsdC5yZWxlYXNlUmV0dXJuVmFsdWUoKSk7CisKKyAgICByZXR1cm4g
eyB9OwogfQogCiB2b2lkIFBlcmZvcm1hbmNlOjpjbGVhck1hcmtzKGNvbnN0IFN0cmluZyYgbWFy
a05hbWUpCkBAIC0xODUsNyArMTkzLDE0IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFBlcmZvcm1hbmNl
OjptZWFzdXJlKGNvbnN0IFN0cmluZyYgbWVhc3VyZU5hbWUsIGNvbnN0IFN0cmluZyYKIHsKICAg
ICBpZiAoIW1fdXNlclRpbWluZykKICAgICAgICAgbV91c2VyVGltaW5nID0gc3RkOjptYWtlX3Vu
aXF1ZTxVc2VyVGltaW5nPigqdGhpcyk7Ci0gICAgcmV0dXJuIG1fdXNlclRpbWluZy0+bWVhc3Vy
ZShtZWFzdXJlTmFtZSwgc3RhcnRNYXJrLCBlbmRNYXJrKTsKKworICAgIGF1dG8gcmVzdWx0ID0g
bV91c2VyVGltaW5nLT5tZWFzdXJlKG1lYXN1cmVOYW1lLCBzdGFydE1hcmssIGVuZE1hcmspOwor
ICAgIGlmIChyZXN1bHQuaGFzRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiByZXN1bHQucmVs
ZWFzZUV4Y2VwdGlvbigpOworCisgICAgcXVldWVFbnRyeShyZXN1bHQucmVsZWFzZVJldHVyblZh
bHVlKCkpOworCisgICAgcmV0dXJuIHsgfTsKIH0KIAogdm9pZCBQZXJmb3JtYW5jZTo6Y2xlYXJN
ZWFzdXJlcyhjb25zdCBTdHJpbmcmIG1lYXN1cmVOYW1lKQpAQCAtMTk1LDYgKzIxMCwxNiBAQCB2
b2lkIFBlcmZvcm1hbmNlOjpjbGVhck1lYXN1cmVzKGNvbnN0IFN0cmluZyYgbWVhc3VyZU5hbWUp
CiAgICAgbV91c2VyVGltaW5nLT5jbGVhck1lYXN1cmVzKG1lYXN1cmVOYW1lKTsKIH0KIAordm9p
ZCBQZXJmb3JtYW5jZTo6cmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXImIG9ic2VydmVyKQoreworICAgIG1fb2JzZXJ2ZXJzLmFkZCgmb2JzZXJ2ZXIpOworfQor
Cit2b2lkIFBlcmZvcm1hbmNlOjp1bnJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3Jt
YW5jZU9ic2VydmVyJiBvYnNlcnZlcikKK3sKKyAgICBtX29ic2VydmVycy5yZW1vdmUoJm9ic2Vy
dmVyKTsKK30KKwogZG91YmxlIFBlcmZvcm1hbmNlOjpub3coKSBjb25zdAogewogICAgIGRvdWJs
ZSBub3dTZWNvbmRzID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBtX3JlZmVyZW5j
ZVRpbWU7CkBAIC0yMDcsNiArMjMyLDMwIEBAIGRvdWJsZSBQZXJmb3JtYW5jZTo6cmVkdWNlVGlt
ZVJlc29sdXRpb24oZG91YmxlIHNlY29uZHMpCiAgICAgcmV0dXJuIHN0ZDo6Zmxvb3Ioc2Vjb25k
cyAvIHJlc29sdXRpb25TZWNvbmRzKSAqIHJlc29sdXRpb25TZWNvbmRzOwogfQogCit2b2lkIFBl
cmZvcm1hbmNlOjpxdWV1ZUVudHJ5KFJlZjxQZXJmb3JtYW5jZUVudHJ5PiBlbnRyeSkKK3sKKyAg
ICBib29sIHNob3VsZFNjaGVkdWxlVGFzayA9IGZhbHNlOworICAgIGZvciAoYXV0byYgb2JzZXJ2
ZXIgOiBtX29ic2VydmVycykgeworICAgICAgICBpZiAob2JzZXJ2ZXItPnR5cGVGaWx0ZXIoKS5j
b250YWlucyhlbnRyeS0+dHlwZSgpKSkgeworICAgICAgICAgICAgb2JzZXJ2ZXItPnF1ZXVlRW50
cnkoZW50cnkuY29weVJlZigpKTsKKyAgICAgICAgICAgIHNob3VsZFNjaGVkdWxlVGFzayA9IHRy
dWU7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoIXNob3VsZFNjaGVkdWxlVGFzaykKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fcGVyZm9ybWFuY2VUaW1lbGluZVRhc2tRdWV1ZS5o
YXNQZW5kaW5nVGFza3MoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9wZXJmb3JtYW5jZVRp
bWVsaW5lVGFza1F1ZXVlLmVucXVldWVUYXNrKFt0aGlzXSAoKSB7CisgICAgICAgIFZlY3RvcjxS
ZWZQdHI8UGVyZm9ybWFuY2VPYnNlcnZlcj4+IG9ic2VydmVyczsKKyAgICAgICAgY29weVRvVmVj
dG9yKG1fb2JzZXJ2ZXJzLCBvYnNlcnZlcnMpOworICAgICAgICBmb3IgKGF1dG8mIG9ic2VydmVy
IDogb2JzZXJ2ZXJzKQorICAgICAgICAgICAgb2JzZXJ2ZXItPmRlbGl2ZXIoKTsKKyAgICB9KTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9USU1J
TkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKaW5kZXggMGZlZWJjYzZkNDcuLmUyNTBhNjQy
ZWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCkBAIC0zNyw2ICszNyw4IEBACiAjaW5j
bHVkZSAiRE9NV2luZG93UHJvcGVydHkuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2lu
Y2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCisjaW5jbHVkZSAiR2VuZXJpY1Rhc2tRdWV1ZS5oIgorI2lu
Y2x1ZGUgPHd0Zi9MaXN0SGFzaFNldC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ0
LDYgKzQ2LDcgQEAgY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBMb2FkVGltaW5nOwogY2xhc3MgUGVy
Zm9ybWFuY2VFbnRyeTsKIGNsYXNzIFBlcmZvcm1hbmNlTmF2aWdhdGlvbjsKK2NsYXNzIFBlcmZv
cm1hbmNlT2JzZXJ2ZXI7CiBjbGFzcyBQZXJmb3JtYW5jZVRpbWluZzsKIGNsYXNzIFJlc291cmNl
UmVzcG9uc2U7CiBjbGFzcyBVUkw7CkBAIC02NywxNyArNzAsMjAgQEAgcHVibGljOgogCiAgICAg
dm9pZCBhZGRSZXNvdXJjZVRpbWluZyhjb25zdCBTdHJpbmcmIGluaXRpYXRvck5hbWUsIERvY3Vt
ZW50KiwgY29uc3QgVVJMJiBvcmlnaW5hbFVSTCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGNv
bnN0IExvYWRUaW1pbmcmKTsKIAotICAgIHVzaW5nIFJlZkNvdW50ZWQ6OnJlZjsKLSAgICB1c2lu
ZyBSZWZDb3VudGVkOjpkZXJlZjsKLQogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IG1hcmsoY29uc3Qg
U3RyaW5nJiBtYXJrTmFtZSk7CiAgICAgdm9pZCBjbGVhck1hcmtzKGNvbnN0IFN0cmluZyYgbWFy
a05hbWUpOwogCiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gbWVhc3VyZShjb25zdCBTdHJpbmcmIG1l
YXN1cmVOYW1lLCBjb25zdCBTdHJpbmcmIHN0YXJ0TWFyaywgY29uc3QgU3RyaW5nJiBlbmRNYXJr
KTsKICAgICB2b2lkIGNsZWFyTWVhc3VyZXMoY29uc3QgU3RyaW5nJiBtZWFzdXJlTmFtZSk7CiAK
KyAgICB2b2lkIHJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVy
Jik7CisgICAgdm9pZCB1bnJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9i
c2VydmVyJik7CisKICAgICBzdGF0aWMgZG91YmxlIHJlZHVjZVRpbWVSZXNvbHV0aW9uKGRvdWJs
ZSBzZWNvbmRzKTsKIAorICAgIHVzaW5nIFJlZkNvdW50ZWQ6OnJlZjsKKyAgICB1c2luZyBSZWZD
b3VudGVkOjpkZXJlZjsKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBQZXJmb3JtYW5jZShGcmFt
ZSYpOwogCkBAIC04OSw2ICs5NSw4IEBAIHByaXZhdGU6CiAKICAgICBib29sIGlzUmVzb3VyY2VU
aW1pbmdCdWZmZXJGdWxsKCkgY29uc3Q7CiAKKyAgICB2b2lkIHF1ZXVlRW50cnkoUmVmPFBlcmZv
cm1hbmNlRW50cnk+KTsKKwogICAgIG11dGFibGUgUmVmUHRyPFBlcmZvcm1hbmNlTmF2aWdhdGlv
bj4gbV9uYXZpZ2F0aW9uOwogICAgIG11dGFibGUgUmVmUHRyPFBlcmZvcm1hbmNlVGltaW5nPiBt
X3RpbWluZzsKIApAQCAtOTksNiArMTA3LDkgQEAgcHJpdmF0ZToKICAgICBkb3VibGUgbV9yZWZl
cmVuY2VUaW1lOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFVzZXJUaW1pbmc+IG1fdXNlclRpbWlu
ZzsKKworICAgIEdlbmVyaWNUYXNrUXVldWU8VGltZXI+IG1fcGVyZm9ybWFuY2VUaW1lbGluZVRh
c2tRdWV1ZTsKKyAgICBMaXN0SGFzaFNldDxSZWZQdHI8UGVyZm9ybWFuY2VPYnNlcnZlcj4+IG1f
b2JzZXJ2ZXJzOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZUVudHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5j
cHAKaW5kZXggMGE2YzVlOTg4ODUuLjFiMjUwMTA5ZDBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VFbnRyeS5jcHAKQEAgLTMzLDYgKzMzLDggQEAKIAogI2lmIEVOQUJMRShXRUJf
VElNSU5HKQogCisjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgorCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIFBlcmZvcm1hbmNlRW50cnk6OlBlcmZvcm1hbmNlRW50cnkoY29uc3Qg
U3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGVudHJ5VHlwZSwgZG91YmxlIHN0YXJ0VGltZSwg
ZG91YmxlIGZpbmlzaFRpbWUpCkBAIC00MCw2ICs0Miw3IEBAIFBlcmZvcm1hbmNlRW50cnk6OlBl
cmZvcm1hbmNlRW50cnkoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGVudHJ5VHlw
ZSwKICAgICAsIG1fZW50cnlUeXBlKGVudHJ5VHlwZSkKICAgICAsIG1fc3RhcnRUaW1lKHN0YXJ0
VGltZSkKICAgICAsIG1fZHVyYXRpb24oZmluaXNoVGltZSAtIHN0YXJ0VGltZSkKKyAgICAsIG1f
dHlwZShQZXJmb3JtYW5jZUVudHJ5Ojp0eXBlRm9yRW50cnlUeXBlU3RyaW5nKGVudHJ5VHlwZSkp
CiB7CiB9CiAKQEAgLTQ3LDYgKzUwLDI2IEBAIFBlcmZvcm1hbmNlRW50cnk6On5QZXJmb3JtYW5j
ZUVudHJ5KCkKIHsKIH0KIAorUGVyZm9ybWFuY2VFbnRyeTo6VHlwZSBQZXJmb3JtYW5jZUVudHJ5
Ojp0eXBlRm9yRW50cnlUeXBlU3RyaW5nKGNvbnN0IFN0cmluZyYgZW50cnlUeXBlKQoreworICAg
IGlmIChlbnRyeVR5cGUgPT0gIm5hdmlnYXRpb24iKQorICAgICAgICByZXR1cm4gVHlwZTo6TmF2
aWdhdGlvbjsKKworICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLnVzZXJUaW1pbmdFbmFibGVkKCkpIHsKKyAgICAgICAgaWYgKGVudHJ5VHlwZSA9PSAibWFy
ayIpCisgICAgICAgICAgICByZXR1cm4gVHlwZTo6TWFyazsKKyAgICAgICAgaWYgKGVudHJ5VHlw
ZSA9PSAibWVhc3VyZSIpCisgICAgICAgICAgICByZXR1cm4gVHlwZTo6TWVhc3VyZTsKKyAgICB9
CisKKyAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5yZXNv
dXJjZVRpbWluZ0VuYWJsZWQoKSkgeworICAgICAgICBpZiAoZW50cnlUeXBlID09ICJyZXNvdXJj
ZSIpCisgICAgICAgICAgICByZXR1cm4gVHlwZTo6UmVzb3VyY2U7CisgICAgfQorCisgICAgcmV0
dXJuIFR5cGU6OlVua25vd247Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vIEVOQUJMRShXRUJfVElNSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnku
aAppbmRleCA2OGMxMDE5NGIzMi4uYzYzMTM1MGY0OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VFbnRyeS5oCkBAIC00OSw2ICs0OSwxOCBAQCBwdWJsaWM6CiAgICAgZG91YmxlIHN0
YXJ0VGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhcnRUaW1lOyB9CiAgICAgZG91YmxlIGR1cmF0
aW9uKCkgY29uc3QgeyByZXR1cm4gbV9kdXJhdGlvbjsgfQogCisgICAgZW51bSBjbGFzcyBUeXBl
IHsKKyAgICAgICAgVW5rbm93biA9IDEgPDwgMCwKKyAgICAgICAgTmF2aWdhdGlvbiA9IDEgPDwg
MSwKKyAgICAgICAgTWFyayA9IDEgPDwgMiwKKyAgICAgICAgTWVhc3VyZSA9IDEgPDwgMywKKyAg
ICAgICAgUmVzb3VyY2UgPSAxIDw8IDQsCisgICAgfTsKKworICAgIFR5cGUgdHlwZSgpIHsgcmV0
dXJuIG1fdHlwZTsgfQorCisgICAgc3RhdGljIFR5cGUgdHlwZUZvckVudHJ5VHlwZVN0cmluZyhj
b25zdCBTdHJpbmcmIGVudHJ5VHlwZSk7CisKICAgICB2aXJ0dWFsIGJvb2wgaXNSZXNvdXJjZSgp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzTWFyaygpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzTWVhc3VyZSgpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9CkBAIC02Niw2ICs3OCw3IEBAIHByaXZhdGU6CiAgICAgY29uc3QgU3Ry
aW5nIG1fZW50cnlUeXBlOwogICAgIGNvbnN0IGRvdWJsZSBtX3N0YXJ0VGltZTsKICAgICBjb25z
dCBkb3VibGUgbV9kdXJhdGlvbjsKKyAgICBjb25zdCBUeXBlIG1fdHlwZTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VPYnNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2
ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi45NTk2MTI5NTVj
MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNl
cnZlci5jcHAKQEAgLTAsMCArMSwxMTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VPYnNlcnZlci5oIgorCisjaWYgRU5BQkxFKFdFQl9U
SU1JTkcpCisKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNsdWRlICJEb2N1bWVudC5oIgor
I2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgorI2lu
Y2x1ZGUgIlBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaCIKKyNpbmNsdWRlICJXb3JrZXJH
bG9iYWxTY29wZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1BlcmZvcm1hbmNlT2JzZXJ2
ZXI6OlBlcmZvcm1hbmNlT2JzZXJ2ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCwgUmVmPFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjaz4mJiBjYWxsYmFj
aykKKyAgICA6IG1fY2FsbGJhY2soV1RGTW92ZShjYWxsYmFjaykpCit7CisgICAgaWYgKGlzPERv
Y3VtZW50PihzY3JpcHRFeGVjdXRpb25Db250ZXh0KSkgeworICAgICAgICBhdXRvJiBkb2N1bWVu
dCA9IGRvd25jYXN0PERvY3VtZW50PihzY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKKyAgICAgICAg
aWYgKERPTVdpbmRvdyogd2luZG93ID0gZG9jdW1lbnQuZG9tV2luZG93KCkpCisgICAgICAgICAg
ICBtX3BlcmZvcm1hbmNlID0gd2luZG93LT5wZXJmb3JtYW5jZSgpOworICAgIH0gZWxzZSBpZiAo
aXM8V29ya2VyR2xvYmFsU2NvcGU+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpKSB7CisgICAgICAg
IC8vIEZJWE1FOiBTdXBwb3J0IFBlcmZvcm1hbmNlIFRpbWVsaW5lIGZvciBXb3JrZXJzLgorICAg
IH0gZWxzZQorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKworRXhjZXB0aW9uT3I8
dm9pZD4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6b2JzZXJ2ZShJbml0JiYgaW5pdCkKK3sKKyAgICBp
ZiAoIW1fcGVyZm9ybWFuY2UpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3Ig
fTsKKworICAgIGlmIChpbml0LmVudHJ5VHlwZXMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4g
RXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoImVudHJ5VHlwZXMgY2Fubm90IGJl
IGFuIGVtcHR5IGxpc3QiKSB9OworCisgICAgT3B0aW9uU2V0PFBlcmZvcm1hbmNlRW50cnk6OlR5
cGU+IGZpbHRlcjsKKyAgICBpbml0LmVudHJ5VHlwZXMucmVtb3ZlQWxsTWF0Y2hpbmcoWyZdIChT
dHJpbmcmIGVudHJ5VHlwZSkgeworICAgICAgICBQZXJmb3JtYW5jZUVudHJ5OjpUeXBlIHR5cGUg
PSBQZXJmb3JtYW5jZUVudHJ5Ojp0eXBlRm9yRW50cnlUeXBlU3RyaW5nKGVudHJ5VHlwZSk7Cisg
ICAgICAgIGlmICh0eXBlID09IFBlcmZvcm1hbmNlRW50cnk6OlR5cGU6OlVua25vd24pCisgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICBmaWx0ZXIgfD0gdHlwZTsKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIH0pOworCisgICAgaWYgKGluaXQuZW50cnlUeXBlcy5pc0VtcHR5
KCkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgi
ZW50cnlUeXBlcyBjb250YWluZWQgb25seSB1bnN1cHBvcnRlZCB0eXBlcyIpIH07CisKKyAgICBt
X3R5cGVGaWx0ZXIgPSBmaWx0ZXI7CisKKyAgICBpZiAoIW1fcmVnaXN0ZXJlZCkgeworICAgICAg
ICBtX3BlcmZvcm1hbmNlLT5yZWdpc3RlclBlcmZvcm1hbmNlT2JzZXJ2ZXIoKnRoaXMpOworICAg
ICAgICBtX3JlZ2lzdGVyZWQgPSB0cnVlOworICAgIH0KKworICAgIHJldHVybiB7IH07Cit9CisK
K3ZvaWQgUGVyZm9ybWFuY2VPYnNlcnZlcjo6ZGlzY29ubmVjdCgpCit7CisgICAgaWYgKG1fcGVy
Zm9ybWFuY2UpCisgICAgICAgIG1fcGVyZm9ybWFuY2UtPnVucmVnaXN0ZXJQZXJmb3JtYW5jZU9i
c2VydmVyKCp0aGlzKTsKKworICAgIG1fcmVnaXN0ZXJlZCA9IGZhbHNlOworCisgICAgLy8gRGVs
aXZlciBhbnkgc3RpbGwgcmVtYWluaW5nIGVudHJpZXMuCisgICAgZGVsaXZlcigpOworICAgIEFT
U0VSVChtX2VudHJpZXNUb0RlbGl2ZXIuaXNFbXB0eSgpKTsKK30KKwordm9pZCBQZXJmb3JtYW5j
ZU9ic2VydmVyOjpxdWV1ZUVudHJ5KFJlZjxQZXJmb3JtYW5jZUVudHJ5PiBlbnRyeSkKK3sKKyAg
ICBtX2VudHJpZXNUb0RlbGl2ZXIuYXBwZW5kKFdURk1vdmUoZW50cnkpKTsKK30KKwordm9pZCBQ
ZXJmb3JtYW5jZU9ic2VydmVyOjpkZWxpdmVyKCkKK3sKKyAgICBpZiAobV9lbnRyaWVzVG9EZWxp
dmVyLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgVmVjdG9yPFJlZlB0cjxQZXJm
b3JtYW5jZUVudHJ5Pj4gZW50cmllczsKKyAgICBtX2VudHJpZXNUb0RlbGl2ZXIuc3dhcChlbnRy
aWVzKTsKKworICAgIFJlZjxQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0PiBsaXN0ID0gUGVy
Zm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdDo6Y3JlYXRlKFdURk1vdmUoZW50cmllcykpOworICAg
IG1fY2FsbGJhY2stPmhhbmRsZUV2ZW50KGxpc3QucHRyKCksIHRoaXMpOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1RJTUlORykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAuLjdmMjc2YTFhNjNkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9USU1JTkcpCisKKyNpbmNsdWRl
ICJFeGNlcHRpb25Pci5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnkuaCIKKyNpbmNsdWRl
ICJQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2suaCIKKyNpbmNsdWRlIDx3dGYvT3B0aW9uU2V0
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgUGVyZm9ybWFuY2U7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworCitj
bGFzcyBQZXJmb3JtYW5jZU9ic2VydmVyIDogcHVibGljIFJlZkNvdW50ZWQ8UGVyZm9ybWFuY2VP
YnNlcnZlcj4geworcHVibGljOgorICAgIHN0cnVjdCBJbml0IHsKKyAgICAgICAgVmVjdG9yPFN0
cmluZz4gZW50cnlUeXBlczsKKyAgICB9OworCisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5jZU9i
c2VydmVyPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgUmVmPFBlcmZv
cm1hbmNlT2JzZXJ2ZXJDYWxsYmFjaz4mJiBjYWxsYmFjaykKKyAgICB7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoY29udGV4dCwgV1RGTW92ZShjYWxs
YmFjaykpKTsKKyAgICB9CisKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBvYnNlcnZlKEluaXQmJik7
CisgICAgdm9pZCBkaXNjb25uZWN0KCk7CisKKyAgICBPcHRpb25TZXQ8UGVyZm9ybWFuY2VFbnRy
eTo6VHlwZT4gdHlwZUZpbHRlcigpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZUZpbHRlcjsgfQorCisg
ICAgdm9pZCBxdWV1ZUVudHJ5KFJlZjxQZXJmb3JtYW5jZUVudHJ5Pik7CisgICAgdm9pZCBkZWxp
dmVyKCk7CisKK3ByaXZhdGU6CisgICAgUGVyZm9ybWFuY2VPYnNlcnZlcihTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiwgUmVmPFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjaz4mJik7CisKKyAgICBS
ZWZQdHI8UGVyZm9ybWFuY2U+IG1fcGVyZm9ybWFuY2U7CisgICAgVmVjdG9yPFJlZlB0cjxQZXJm
b3JtYW5jZUVudHJ5Pj4gbV9lbnRyaWVzVG9EZWxpdmVyOworICAgIFJlZjxQZXJmb3JtYW5jZU9i
c2VydmVyQ2FsbGJhY2s+IG1fY2FsbGJhY2s7CisgICAgT3B0aW9uU2V0PFBlcmZvcm1hbmNlRW50
cnk6OlR5cGU+IG1fdHlwZUZpbHRlcjsKKyAgICBib29sIG1fcmVnaXN0ZXJlZCB7IGZhbHNlIH07
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1RJ
TUlORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi44NTIwY2JjMWQ4MAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKQEAg
LTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJm
b3JtYW5jZS10aW1lbGluZS8KKworWworICAgIENvbmRpdGlvbmFsPVdFQl9USU1JTkcsCisgICAg
Q29uc3RydWN0b3IoUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrIGNhbGxiYWNrKSwKKyAgICBD
b25zdHJ1Y3RvckNhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsCisgICAgRW5hYmxlZEF0
UnVudGltZT1QZXJmb3JtYW5jZVRpbWVsaW5lLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFi
bGUsCitdIGludGVyZmFjZSBQZXJmb3JtYW5jZU9ic2VydmVyIHsKKyAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHZvaWQgb2JzZXJ2ZShQZXJmb3JtYW5jZU9ic2VydmVySW5pdCBvcHRpb25zKTsKKyAg
ICB2b2lkIGRpc2Nvbm5lY3QoKTsKK307CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJfVElNSU5H
LAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9UmVzb3VyY2VUaW1pbmcsCitdCitkaWN0aW9uYXJ5IFBl
cmZvcm1hbmNlT2JzZXJ2ZXJJbml0IHsKKyAgICByZXF1aXJlZCBzZXF1ZW5jZTxET01TdHJpbmc+
IGVudHJ5VHlwZXM7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VP
YnNlcnZlckNhbGxiYWNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu
LjkxMzVjMzk4NDg3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZU9ic2VydmVyQ2FsbGJhY2suaApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKKworI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGVyZm9ybWFuY2VP
YnNlcnZlcjsKK2NsYXNzIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Q7CisKK2NsYXNzIFBl
cmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjayA6IHB1YmxpYyBSZWZDb3VudGVkPFBlcmZvcm1hbmNl
T2JzZXJ2ZXJDYWxsYmFjaz4geworcHVibGljOgorICAgIHZpcnR1YWwgflBlcmZvcm1hbmNlT2Jz
ZXJ2ZXJDYWxsYmFjaygpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVudChQZXJmb3Jt
YW5jZU9ic2VydmVyRW50cnlMaXN0KiwgUGVyZm9ybWFuY2VPYnNlcnZlciopID0gMDsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfVElNSU5HKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJh
Y2suaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2su
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5iZjhkZjNhMDAzYwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ckNhbGxiYWNrLmlkbApAQCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93
M2MuZ2l0aHViLmlvL3BlcmZvcm1hbmNlLXRpbWVsaW5lLworCitbCisgICAgQ29uZGl0aW9uYWw9
V0VCX1RJTUlORywKKyAgICBFbmFibGVkQXRSdW50aW1lPVBlcmZvcm1hbmNlVGltZWxpbmUsCitd
IGNhbGxiYWNrIFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjayA9IHZvaWQgKFBlcmZvcm1hbmNl
T2JzZXJ2ZXJFbnRyeUxpc3QgZW50cmllcywgUGVyZm9ybWFuY2VPYnNlcnZlciBvYnNlcnZlcik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRy
eUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlM
aXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOGUzYTIzNDIz
NDIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXJFbnRyeUxpc3QuY3BwCkBAIC0wLDAgKzEsNzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5oIgor
CisjaWYgRU5BQkxFKFdFQl9USU1JTkcpCisKKyNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5Lmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdDo6
UGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdChWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50
cnk+PiBlbnRyaWVzKQorICAgIDogbV9lbnRyaWVzKFdURk1vdmUoZW50cmllcykpCit7CisgICAg
c3RkOjpzb3J0KG1fZW50cmllcy5iZWdpbigpLCBtX2VudHJpZXMuZW5kKCksIFBlcmZvcm1hbmNl
RW50cnk6OnN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbik7Cit9CisKK1ZlY3RvcjxSZWZQdHI8UGVy
Zm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Q6OmdldEVudHJpZXMo
KSBjb25zdAoreworICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IGVudHJpZXM7
CisgICAgZW50cmllcy5hcHBlbmRWZWN0b3IobV9lbnRyaWVzKTsKKyAgICByZXR1cm4gZW50cmll
czsKK30KKworVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9ybWFuY2VPYnNl
cnZlckVudHJ5TGlzdDo6Z2V0RW50cmllc0J5VHlwZShjb25zdCBTdHJpbmcmIGVudHJ5VHlwZSkg
Y29uc3QKK3sKKyAgICByZXR1cm4gZ2V0RW50cmllc0J5TmFtZShTdHJpbmcoKSwgZW50cnlUeXBl
KTsKK30KKworVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9ybWFuY2VPYnNl
cnZlckVudHJ5TGlzdDo6Z2V0RW50cmllc0J5TmFtZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0
IFN0cmluZyYgZW50cnlUeXBlKSBjb25zdAoreworICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFu
Y2VFbnRyeT4+IGVudHJpZXM7CisKKyAgICAvLyBQZXJmb3JtYW5jZU9ic2VydmVycyBjYW4gb25s
eSBiZSByZWdpc3RlcmVkIGZvciB2YWxpZCB0eXBlcy4KKyAgICAvLyBTbyBpZiB0aGUgaW5jb21p
bmcgZW50cnlUeXBlIGlzIGFuIHVua25vd24gdHlwZSwgd2Uga25vdyB0aGVyZSB3aWxsIGJlIG5v
IG1hdGNoZXMuCisgICAgUGVyZm9ybWFuY2VFbnRyeTo6VHlwZSB0eXBlID0gUGVyZm9ybWFuY2VF
bnRyeTo6dHlwZUZvckVudHJ5VHlwZVN0cmluZyhlbnRyeVR5cGUpOworICAgIGlmICghZW50cnlU
eXBlLmlzTnVsbCgpICYmIHR5cGUgPT0gUGVyZm9ybWFuY2VFbnRyeTo6VHlwZTo6VW5rbm93bikK
KyAgICAgICAgcmV0dXJuIGVudHJpZXM7CisKKyAgICBmb3IgKGF1dG8mIGVudHJ5IDogbV9lbnRy
aWVzKSB7CisgICAgICAgIGlmICghbmFtZS5pc051bGwoKSAmJiBlbnRyeS0+bmFtZSgpICE9IG5h
bWUpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgaWYgKCFlbnRyeVR5cGUuaXNOdWxs
KCkgJiYgZW50cnktPnR5cGUoKSAhPSB0eXBlKQorICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgIGVudHJpZXMuYXBwZW5kKGVudHJ5KTsKKyAgICB9CisKKyAgICByZXR1cm4gZW50cmllczsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOVEVSU0VD
VElPTl9PQlNFUlZFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VPYnNlcnZlckVudHJ5TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9i
c2VydmVyRW50cnlMaXN0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu
LmQyMjk4MDM4MzgxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmgKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9USU1JTkcpCisKKyNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQZXJmb3JtYW5j
ZUVudHJ5OworCitjbGFzcyBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0IDogcHVibGljIFJl
ZkNvdW50ZWQ8UGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdD4geworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIHN0YXRpYyBSZWY8UGVyZm9ybWFuY2VPYnNlcnZl
ckVudHJ5TGlzdD4gY3JlYXRlKFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IGVudHJp
ZXMpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZU9ic2Vy
dmVyRW50cnlMaXN0KFdURk1vdmUoZW50cmllcykpKTsKKyAgICB9CisgICAgCisgICAgVmVjdG9y
PFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gZ2V0RW50cmllcygpIGNvbnN0OworICAgIFZlY3Rv
cjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IGdldEVudHJpZXNCeVR5cGUoY29uc3QgU3RyaW5n
JiBlbnRyeVR5cGUpIGNvbnN0OworICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+
IGdldEVudHJpZXNCeU5hbWUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGVudHJ5
VHlwZSkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlz
dChWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBlbnRyaWVzKTsKKworICAgIFZlY3Rv
cjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IG1fZW50cmllczsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfVElNSU5HKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjBlZTcwNDBmM2Y3Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0
LmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3BlcmZvcm1hbmNlLXRpbWVsaW5lLworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCX1RJTUlO
RywKKyAgICBFbmFibGVkQXRSdW50aW1lPVBlcmZvcm1hbmNlVGltZWxpbmUsCisgICAgSW1wbGVt
ZW50YXRpb25MYWNrc1ZUYWJsZSwKK10gaW50ZXJmYWNlIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRy
eUxpc3QgeworICAgIFBlcmZvcm1hbmNlRW50cnlMaXN0IGdldEVudHJpZXMoKTsKKyAgICBQZXJm
b3JtYW5jZUVudHJ5TGlzdCBnZXRFbnRyaWVzQnlUeXBlKERPTVN0cmluZyB0eXBlKTsKKyAgICBQ
ZXJmb3JtYW5jZUVudHJ5TGlzdCBnZXRFbnRyaWVzQnlOYW1lKERPTVN0cmluZyBuYW1lLCBvcHRp
b25hbCBET01TdHJpbmcgdHlwZSk7Cit9OworCit0eXBlZGVmIHNlcXVlbmNlPFBlcmZvcm1hbmNl
RW50cnk+IFBlcmZvcm1hbmNlRW50cnlMaXN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZVVzZXJUaW1pbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZVVzZXJUaW1pbmcuY3BwCmluZGV4IGM1NDcxNjA1MDk4Li40MjE0ZWRjZmY1YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVVzZXJUaW1pbmcuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VVc2VyVGltaW5nLmNwcApAQCAtMzAs
OSArMzAsNiBAQAogCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIlBlcmZv
cm1hbmNlLmgiCi0jaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgotI2luY2x1ZGUgIlBlcmZv
cm1hbmNlTWFyay5oIgotI2luY2x1ZGUgIlBlcmZvcm1hbmNlTWVhc3VyZS5oIgogI2luY2x1ZGUg
IlBlcmZvcm1hbmNlVGltaW5nLmgiCiAjaW5jbHVkZSA8YXJyYXk+CiAjaW5jbHVkZSA8d3RmL05l
dmVyRGVzdHJveWVkLmg+CkBAIC0xMDgsMTMgKzEwNSwxNCBAQCBzdGF0aWMgdm9pZCBjbGVhclBl
cmZvcm1hbmNlRW50cmllcyhQZXJmb3JtYW5jZUVudHJ5TWFwJiBwZXJmb3JtYW5jZUVudHJ5TWFw
LCBjbwogICAgIHBlcmZvcm1hbmNlRW50cnlNYXAucmVtb3ZlKG5hbWUpOwogfQogCi1FeGNlcHRp
b25Pcjx2b2lkPiBVc2VyVGltaW5nOjptYXJrKGNvbnN0IFN0cmluZyYgbWFya05hbWUpCitFeGNl
cHRpb25PcjxSZWY8UGVyZm9ybWFuY2VNYXJrPj4gVXNlclRpbWluZzo6bWFyayhjb25zdCBTdHJp
bmcmIG1hcmtOYW1lKQogewogICAgIGlmIChyZXN0cmljdGVkTWFya0Z1bmN0aW9uKG1hcmtOYW1l
KSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFNZTlRBWF9FUlIgfTsKIAotICAgIGluc2Vy
dFBlcmZvcm1hbmNlRW50cnkobV9tYXJrc01hcCwgUGVyZm9ybWFuY2VNYXJrOjpjcmVhdGUobWFy
a05hbWUsIG1fcGVyZm9ybWFuY2Uubm93KCkpKTsKLSAgICByZXR1cm4geyB9OworICAgIFJlZjxQ
ZXJmb3JtYW5jZU1hcms+IGVudHJ5ID0gUGVyZm9ybWFuY2VNYXJrOjpjcmVhdGUobWFya05hbWUs
IG1fcGVyZm9ybWFuY2Uubm93KCkpOworICAgIGluc2VydFBlcmZvcm1hbmNlRW50cnkobV9tYXJr
c01hcCwgZW50cnkuY29weVJlZigpKTsKKyAgICByZXR1cm4gV1RGTW92ZShlbnRyeSk7CiB9CiAK
IHZvaWQgVXNlclRpbWluZzo6Y2xlYXJNYXJrcyhjb25zdCBTdHJpbmcmIG1hcmtOYW1lKQpAQCAt
MTM3LDcgKzEzNSw3IEBAIEV4Y2VwdGlvbk9yPGRvdWJsZT4gVXNlclRpbWluZzo6ZmluZEV4aXN0
aW5nTWFya1N0YXJ0VGltZShjb25zdCBTdHJpbmcmIG1hcmtOYW1lCiAgICAgcmV0dXJuIEV4Y2Vw
dGlvbiB7IFNZTlRBWF9FUlIgfTsKIH0KIAotRXhjZXB0aW9uT3I8dm9pZD4gVXNlclRpbWluZzo6
bWVhc3VyZShjb25zdCBTdHJpbmcmIG1lYXN1cmVOYW1lLCBjb25zdCBTdHJpbmcmIHN0YXJ0TWFy
aywgY29uc3QgU3RyaW5nJiBlbmRNYXJrKQorRXhjZXB0aW9uT3I8UmVmPFBlcmZvcm1hbmNlTWVh
c3VyZT4+IFVzZXJUaW1pbmc6Om1lYXN1cmUoY29uc3QgU3RyaW5nJiBtZWFzdXJlTmFtZSwgY29u
c3QgU3RyaW5nJiBzdGFydE1hcmssIGNvbnN0IFN0cmluZyYgZW5kTWFyaykKIHsKICAgICBkb3Vi
bGUgc3RhcnRUaW1lID0gMC4wOwogICAgIGRvdWJsZSBlbmRUaW1lID0gMC4wOwpAQCAtMTYxLDgg
KzE1OSw5IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFVzZXJUaW1pbmc6Om1lYXN1cmUoY29uc3QgU3Ry
aW5nJiBtZWFzdXJlTmFtZSwgY29uc3QgU3RyaW5nJiBzCiAgICAgICAgIGVuZFRpbWUgPSBlbmRN
YXJrUmVzdWx0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpOwogICAgIH0KIAotICAgIGluc2VydFBlcmZv
cm1hbmNlRW50cnkobV9tZWFzdXJlc01hcCwgUGVyZm9ybWFuY2VNZWFzdXJlOjpjcmVhdGUobWVh
c3VyZU5hbWUsIHN0YXJ0VGltZSwgZW5kVGltZSkpOwotICAgIHJldHVybiB7IH07CisgICAgYXV0
byBlbnRyeSA9IFBlcmZvcm1hbmNlTWVhc3VyZTo6Y3JlYXRlKG1lYXN1cmVOYW1lLCBzdGFydFRp
bWUsIGVuZFRpbWUpOworICAgIGluc2VydFBlcmZvcm1hbmNlRW50cnkobV9tZWFzdXJlc01hcCwg
ZW50cnkuY29weVJlZigpKTsKKyAgICByZXR1cm4gV1RGTW92ZShlbnRyeSk7CiB9CiAKIHZvaWQg
VXNlclRpbWluZzo6Y2xlYXJNZWFzdXJlcyhjb25zdCBTdHJpbmcmIG1lYXN1cmVOYW1lKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVVzZXJUaW1pbmcuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VVc2VyVGltaW5nLmgKaW5kZXggNTc0ZTEyNDE1
ZDguLjc4MzEzNzM3OGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlVXNlclRpbWluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VVc2Vy
VGltaW5nLmgKQEAgLTI4LDEzICsyOCwxNCBAQAogI2lmIEVOQUJMRShXRUJfVElNSU5HKQogCiAj
aW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIKKyNp
bmNsdWRlICJQZXJmb3JtYW5jZU1lYXN1cmUuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBQZXJmb3JtYW5jZTsKLWNsYXNzIFBlcmZvcm1hbmNlRW50cnk7CiAKIHVzaW5nIFBl
cmZvcm1hbmNlRW50cnlNYXAgPSBIYXNoTWFwPFN0cmluZywgVmVjdG9yPFJlZlB0cjxQZXJmb3Jt
YW5jZUVudHJ5Pj4+OwogCkBAIC00MiwxMCArNDMsMTAgQEAgY2xhc3MgVXNlclRpbWluZyB7CiBw
dWJsaWM6CiAgICAgZXhwbGljaXQgVXNlclRpbWluZyhQZXJmb3JtYW5jZSYpOwogCi0gICAgRXhj
ZXB0aW9uT3I8dm9pZD4gbWFyayhjb25zdCBTdHJpbmcmIG1hcmtOYW1lKTsKKyAgICBFeGNlcHRp
b25PcjxSZWY8UGVyZm9ybWFuY2VNYXJrPj4gbWFyayhjb25zdCBTdHJpbmcmIG1hcmtOYW1lKTsK
ICAgICB2b2lkIGNsZWFyTWFya3MoY29uc3QgU3RyaW5nJiBtYXJrTmFtZSk7CiAKLSAgICBFeGNl
cHRpb25Pcjx2b2lkPiBtZWFzdXJlKGNvbnN0IFN0cmluZyYgbWVhc3VyZU5hbWUsIGNvbnN0IFN0
cmluZyYgc3RhcnRNYXJrLCBjb25zdCBTdHJpbmcmIGVuZE1hcmspOworICAgIEV4Y2VwdGlvbk9y
PFJlZjxQZXJmb3JtYW5jZU1lYXN1cmU+PiBtZWFzdXJlKGNvbnN0IFN0cmluZyYgbWVhc3VyZU5h
bWUsIGNvbnN0IFN0cmluZyYgc3RhcnRNYXJrLCBjb25zdCBTdHJpbmcmIGVuZE1hcmspOwogICAg
IHZvaWQgY2xlYXJNZWFzdXJlcyhjb25zdCBTdHJpbmcmIG1lYXN1cmVOYW1lKTsKIAogICAgIFZl
Y3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IGdldE1hcmtzKCkgY29uc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwppbmRleCAzNTUzNDEyMmMzNS4uZGQwNDA4ZWNjY2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE3LTAxLTI4ICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IFBlcmZvcm1hbmNl
T2JzZXJ2ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2NzU0NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzAyNDc5NTk+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVs
cy9OYXRpdmVGdW5jdGlvblBhcmFtZXRlcnMuanM6CisgICAgICAgIEltcHJvdmUgQVBJIHZpZXcg
ZGlzcGxheSBvZiBidWlsdC1pbiBwZXJmb3JtYW5jZSBtZXRob2RzLgorCiAyMDE3LTAxLTI3ICBE
ZXZpbiBSb3Vzc28gIDxkY3JvdXNzbyt3ZWJraXRAZ21haWwuY29tPgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IGdyYWRpZW50IGVkaXRvciBzaG91bGQgcHJvdmlkZSBob3Jpem9udGFsIHNsaWRl
ciBmb3IgJ2FuZ2xlJyB2YWx1ZSB3aGVyZSBhcHBsaWNhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvTmF0aXZlRnVuY3Rpb25QYXJhbWV0
ZXJzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL05hdGl2
ZUZ1bmN0aW9uUGFyYW1ldGVycy5qcwppbmRleCA4ZWE3MjRhNjk2Mi4uOWJhNTBhMjNhOTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9OYXRp
dmVGdW5jdGlvblBhcmFtZXRlcnMuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL05hdGl2ZUZ1bmN0aW9uUGFyYW1ldGVycy5qcwpAQCAtMTIzMSw2ICsx
MjMxLDI3IEBAIFdlYkluc3BlY3Rvci5OYXRpdmVQcm90b3R5cGVGdW5jdGlvblBhcmFtZXRlcnMg
PSB7CiAgICAgICAgIF9fcHJvdG9fXzogbnVsbCwKICAgICB9LAogCisgICAgUGVyZm9ybWFuY2U6
IHsKKyAgICAgICAgY2xlYXJNYXJrczogIltuYW1lXSIsCisgICAgICAgIGNsZWFyTWVhc3VyZXM6
ICJuYW1lIiwKKyAgICAgICAgZ2V0RW50cmllc0J5TmFtZTogIm5hbWUsIFt0eXBlXSIsCisgICAg
ICAgIGdldEVudHJpZXNCeVR5cGU6ICJ0eXBlIiwKKyAgICAgICAgbWFyazogIm5hbWUiLAorICAg
ICAgICBtZWFzdXJlOiAibmFtZSwgW3N0YXJ0TWFya10sIFtlbmRNYXJrXSIsCisgICAgICAgIF9f
cHJvdG9fXzogbnVsbCwKKyAgICB9LAorCisgICAgUGVyZm9ybWFuY2VPYnNlcnZlcjogeworICAg
ICAgICBvYnNlcnZlOiAib3B0aW9ucyIsCisgICAgICAgIF9fcHJvdG9fXzogbnVsbCwKKyAgICB9
LAorCisgICAgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdDogeworICAgICAgICBnZXRFbnRy
aWVzQnlOYW1lOiAibmFtZSwgW3R5cGVdIiwKKyAgICAgICAgZ2V0RW50cmllc0J5VHlwZTogInR5
cGUiLAorICAgICAgICBfX3Byb3RvX186IG51bGwsCisgICAgfSwKKwogICAgIFBsdWdpbjogewog
ICAgICAgICBpdGVtOiAiW2luZGV4XSIsCiAgICAgICAgIG5hbWVkSXRlbTogIltuYW1lXSIsCg==
</data>
<flag name="review"
          id="321941"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300173</attachid>
            <date>2017-01-30 17:54:33 -0800</date>
            <delta_ts>2017-01-30 18:45:52 -0800</delta_ts>
            <desc>[PATCH] For Bots</desc>
            <filename>for-bots-perf-1.patch</filename>
            <type>text/plain</type>
            <size>134012</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmYWIwZTk5OTQ3ZC4uNGM4MzcyODY4ZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NCBAQAor
MjAxNy0wMS0zMCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAg
ICAgIEltcGxlbWVudCBQZXJmb3JtYW5jZU9ic2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc1NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzMwMjQ3OTU5PgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAg
ICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1hcGktZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIt
YXBpLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1v
YnNlcnZlci1iYXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNl
LWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1iYXNpYy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBw
ZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItY2FsbGJhY2stbXV0YXRlLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9i
c2VydmVyLWNhbGxiYWNrLW11dGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5j
ZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItY2FsbGJhY2stdGFzay1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1jYWxs
YmFjay10YXNrLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3Jt
YW5jZS1vYnNlcnZlci1lbnRyeS1zb3J0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWVudHJ5LXNvcnQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWV4Y2Vw
dGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJm
b3JtYW5jZS1vYnNlcnZlci1leGNlcHRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9y
bWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLW5lc3RlZC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1uZXN0ZWQu
aHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2Vy
dmVyLW9yZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBp
L3BlcmZvcm1hbmNlLW9ic2VydmVyLW9yZGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZv
cm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1wZXJpb2RpYy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1wZXJp
b2RpYy5odG1sOiBBZGRlZC4KKyAgICAgICAgUGVyZm9ybWFuY2VPYnNlcnZlciB0ZXN0cy4KKwor
ICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS10aW1lbGluZS1hcGktZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2UtdGlt
ZWxpbmUtYXBpLmh0bWw6IEFkZGVkLgorICAgICAgICBQZXJmb3JtYW5jZSB0aW1lbGluZSB0ZXN0
cy4KKworICAgICAgICAqIHBsYXRmb3JtL2VmbC9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1h
dHRyaWJ1dGVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvanMvZG9tL2ds
b2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vbWFjLWVsY2FwaXRhbi9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL2pzL2RvbS9nbG9iYWwt
Y29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy15b3NlbWl0ZS9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3Rv
cnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL2pzL2Rv
bS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICBO
ZXcgZ2xvYmFsIGNvbnN0cnVjdG9ycy4KKwogMjAxNy0wMS0zMCAgUnlhbiBIYWRkYWQgIDxyeWFu
aGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBNYXJraW5nIG1lZGlhL21vZGVybi1tZWRpYS1j
b250cm9scy9idXR0b25zLWNvbnRhaW5lci9idXR0b25zLWNvbnRhaW5lci1idXR0b25zLXByb3Bl
cnR5Lmh0bWwgYXMgZmxha3kgb24gbWFjT1MgV0sxLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWFwaS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItYXBpLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMjhlZmQ4NzAw
MTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9y
bWFuY2Utb2JzZXJ2ZXItYXBpLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM1IEBACitCYXNpYyBJ
bnRlcmZhY2UgdGVzdCBmb3IgUGVyZm9ybWFuY2VPYnNlcnZlciBBUElzLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworUGVyZm9ybWFuY2VPYnNlcnZlcgorUEFTUyBQZXJmb3JtYW5j
ZU9ic2VydmVyIGlzIGRlZmluZWQuCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIucHJvdG90eXBl
Lm9ic2VydmUgaXMgZGVmaW5lZC4KK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlci5wcm90b3R5cGUu
ZGlzY29ubmVjdCBpcyBkZWZpbmVkLgorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyKCkgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogQ29uc3RydWN0b3IgcmVxdWlyZXMgJ25ldycgb3BlcmF0b3Iu
CitQQVNTIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKDEp
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdjYWxsYmFjaycpIHRvIHRo
ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGNvbnN0cnVjdG9yIG11c3QgYmUgYSBmdW5jdGlvbi4KK1BB
U1Mgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbigpIHt9KSBkaWQg
bm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgb2JzZXJ2ZXIub2JzZXJ2ZSgpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBvYnNlcnZlci5vYnNl
cnZlKCJtYXJrIikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1Mg
b2JzZXJ2ZXIub2JzZXJ2ZSh7fSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTWVtYmVyIFBl
cmZvcm1hbmNlT2JzZXJ2ZXJJbml0LmVudHJ5VHlwZXMgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUg
YW4gaW5zdGFuY2Ugb2Ygc2VxdWVuY2UuCitQQVNTIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlw
ZXM6Im1hcmsifSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVmFsdWUgaXMgbm90IGEgc2Vx
dWVuY2UuCitQQVNTIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6W119KSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBlbnRyeVR5cGVzIGNhbm5vdCBiZSBhbiBlbXB0eSBsaXN0LgorUEFT
UyBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibm90LXJlYWwiXX0pIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IGVudHJ5VHlwZXMgY29udGFpbmVkIG9ubHkgdW5zdXBwb3J0ZWQgdHlw
ZXMuCitQQVNTIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6WyJtYXJrIl19KSBkaWQgbm90
IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczpbIm1h
cmsiLCAibm90LXJlYWwiXX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBvYnNlcnZl
ci5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibWFyayIsICJtZWFzdXJlIl19KSBkaWQgbm90IHRocm93
IGV4Y2VwdGlvbi4KK1BBU1Mgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpIGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgorUEFTUyBvYnNlcnZlci5kaXNjb25uZWN0KCkgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCisKK1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QKK1BBU1MgUGVyZm9ybWFuY2VPYnNl
cnZlckVudHJ5TGlzdCBpcyBkZWZpbmVkLgorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlM
aXN0LnByb3RvdHlwZS5nZXRFbnRyaWVzIGlzIGRlZmluZWQuCitQQVNTIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXJFbnRyeUxpc3QucHJvdG90eXBlLmdldEVudHJpZXNCeVR5cGUgaXMgZGVmaW5lZC4KK1BB
U1MgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5wcm90b3R5cGUuZ2V0RW50cmllc0J5TmFt
ZSBpcyBkZWZpbmVkLgorUEFTUyBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCgpIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChl
dmFsdWF0aW5nICduZXcgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCgpJykuCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWFwaS5odG1s
IGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWFwaS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi42NDhiYzQ1MGFhNgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5j
ZS1vYnNlcnZlci1hcGkuaHRtbApAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgSFRNTD4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJCYXNpYyBJ
bnRlcmZhY2UgdGVzdCBmb3IgUGVyZm9ybWFuY2VPYnNlcnZlciBBUElzLiIpOworCitkZWJ1Zygi
UGVyZm9ybWFuY2VPYnNlcnZlciIpOworc2hvdWxkQmVEZWZpbmVkKGBQZXJmb3JtYW5jZU9ic2Vy
dmVyYCk7CitzaG91bGRCZURlZmluZWQoYFBlcmZvcm1hbmNlT2JzZXJ2ZXIucHJvdG90eXBlLm9i
c2VydmVgKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9ybWFuY2VPYnNlcnZlci5wcm90b3R5cGUu
ZGlzY29ubmVjdGApOworc2hvdWxkVGhyb3coYFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKWApOworc2hv
dWxkVGhyb3coYG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKClgKTsKK3Nob3VsZFRocm93KGBuZXcg
UGVyZm9ybWFuY2VPYnNlcnZlcigxKWApOworc2hvdWxkTm90VGhyb3coYG9ic2VydmVyID0gbmV3
IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoZnVuY3Rpb24oKSB7fSlgKTsKK3Nob3VsZFRocm93KGBvYnNl
cnZlci5vYnNlcnZlKClgKTsKK3Nob3VsZFRocm93KGBvYnNlcnZlci5vYnNlcnZlKCJtYXJrIilg
KTsKK3Nob3VsZFRocm93KGBvYnNlcnZlci5vYnNlcnZlKHt9KWApOworc2hvdWxkVGhyb3coYG9i
c2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6Im1hcmsifSlgKTsKK3Nob3VsZFRocm93KGBvYnNl
cnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOltdfSlgKTsKK3Nob3VsZFRocm93KGBvYnNlcnZlci5v
YnNlcnZlKHtlbnRyeVR5cGVzOlsibm90LXJlYWwiXX0pYCk7CitzaG91bGROb3RUaHJvdyhgb2Jz
ZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczpbIm1hcmsiXX0pYCk7CitzaG91bGROb3RUaHJvdyhg
b2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczpbIm1hcmsiLCAibm90LXJlYWwiXX0pYCk7Citz
aG91bGROb3RUaHJvdyhgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczpbIm1hcmsiLCAibWVh
c3VyZSJdfSlgKTsKK3Nob3VsZE5vdFRocm93KGBvYnNlcnZlci5kaXNjb25uZWN0KClgKTsKK3No
b3VsZE5vdFRocm93KGBvYnNlcnZlci5kaXNjb25uZWN0KClgKTsKKworZGVidWcoIiIpOworZGVi
dWcoIlBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QiKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVy
Zm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdGApOworc2hvdWxkQmVEZWZpbmVkKGBQZXJmb3JtYW5j
ZU9ic2VydmVyRW50cnlMaXN0LnByb3RvdHlwZS5nZXRFbnRyaWVzYCk7CitzaG91bGRCZURlZmlu
ZWQoYFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QucHJvdG90eXBlLmdldEVudHJpZXNCeVR5
cGVgKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5wcm90
b3R5cGUuZ2V0RW50cmllc0J5TmFtZWApOworc2hvdWxkVGhyb3coYG5ldyBQZXJmb3JtYW5jZU9i
c2VydmVyRW50cnlMaXN0KClgKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWJhc2lj
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1v
YnNlcnZlci1iYXNpYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAuLjJiNDVlZDdkZDlmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUyIEBACitCYXNpYyBCZWhhdmlvciB0ZXN0IGZvciBQZXJmb3JtYW5jZU9ic2VydmVy
IEFQSXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitJbnNpZGUgUGVyZm9ybWFu
Y2VPYnNlcnZlciBjYWxsYmFjaworUEFTUyBhcmd1bWVudHNMZW5ndGggPT09IDIgaXMgdHJ1ZQor
UEFTUyBsaXN0IGluc3RhbmNlb2YgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCBpcyB0cnVl
CitQQVNTIG9icyBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgaXMgdHJ1ZQorUEFTUyBv
YnMgPT09IG9ic2VydmVyIGlzIHRydWUKK0ZBSUwgdGhpc09iamVjdCBpbnN0YW5jZW9mIFBlcmZv
cm1hbmNlT2JzZXJ2ZXIgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxzZS4KK0ZBSUwgdGhpc09iamVj
dCA9PT0gb2JzZXJ2ZXIgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxzZS4KKworUGVyZm9ybWFuY2VP
YnNlcnZlckVudHJ5TGlzdCBBUElzCitQQVNTIGxpc3QuZ2V0RW50cmllcygpIGluc3RhbmNlb2Yg
QXJyYXkgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXMoKS5sZW5ndGggPT09IDIgaXMgdHJ1
ZQorUEFTUyBsaXN0LmdldEVudHJpZXMoKVswXSBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50cnkg
aXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXMoKVswXS5uYW1lIGlzICJtYXJrMyIKK1BBU1Mg
bGlzdC5nZXRFbnRyaWVzKClbMV0ubmFtZSBpcyAibWFyazQiCitQQVNTIGxpc3QuZ2V0RW50cmll
cygpWzBdLnN0YXJ0VGltZSA8PSBsaXN0LmdldEVudHJpZXMoKVsxXS5zdGFydFRpbWUgaXMgdHJ1
ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeVR5cGUoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbGlzdC5nZXRFbnRyaWVzQnlUeXBlKCJub3Qt
cmVhbCIpLmxlbmd0aCA9PT0gMCBpcyB0cnVlCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5VHlwZSgi
bWFyayIpLmxlbmd0aCA9PT0gMiBpcyB0cnVlCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5VHlwZSgi
bWFyayIpWzBdIGluc3RhbmNlb2YgUGVyZm9ybWFuY2VFbnRyeSBpcyB0cnVlCitQQVNTIGxpc3Qu
Z2V0RW50cmllc0J5VHlwZSgibWFyayIpWzBdLm5hbWUgaXMgIm1hcmszIgorUEFTUyBsaXN0Lmdl
dEVudHJpZXNCeVR5cGUoIm1hcmsiKVsxXS5uYW1lIGlzICJtYXJrNCIKK1BBU1MgbGlzdC5nZXRF
bnRyaWVzQnlOYW1lKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1
bWVudHMuCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibm90LXJlYWwiKS5sZW5ndGggPT09
IDAgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcmsxIikubGVuZ3RoID09
PSAwIGlzIHRydWUKK1BBU1MgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrMyIpLmxlbmd0aCA9
PT0gMSBpcyB0cnVlCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibWFyazMiKVswXSBpbnN0
YW5jZW9mIFBlcmZvcm1hbmNlRW50cnkgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5h
bWUoIm1hcmszIilbMF0ubmFtZSBpcyAibWFyazMiCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5TmFt
ZSgibWFyazQiKS5sZW5ndGggPT09IDEgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5h
bWUoIm1hcms0IilbMF0gaW5zdGFuY2VvZiBQZXJmb3JtYW5jZUVudHJ5IGlzIHRydWUKK1BBU1Mg
bGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrNCIpWzBdLm5hbWUgaXMgIm1hcms0IgorUEFTUyBs
aXN0LmdldEVudHJpZXNCeU5hbWUoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5v
dWdoIGFyZ3VtZW50cy4KK1BBU1MgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJub3QtcmVhbCIpLmxl
bmd0aCA9PT0gMCBpcyB0cnVlCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibWFyazEiKS5s
ZW5ndGggPT09IDAgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcmszIiku
bGVuZ3RoID09PSAxIGlzIHRydWUKK1BBU1MgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrMyIp
WzBdIGluc3RhbmNlb2YgUGVyZm9ybWFuY2VFbnRyeSBpcyB0cnVlCitQQVNTIGxpc3QuZ2V0RW50
cmllc0J5TmFtZSgibWFyazMiKVswXS5uYW1lIGlzICJtYXJrMyIKK1BBU1MgbGlzdC5nZXRFbnRy
aWVzQnlOYW1lKCJtYXJrNCIpLmxlbmd0aCA9PT0gMSBpcyB0cnVlCitQQVNTIGxpc3QuZ2V0RW50
cmllc0J5TmFtZSgibWFyazQiKVswXSBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50cnkgaXMgdHJ1
ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcms0IilbMF0ubmFtZSBpcyAibWFyazQi
CitQQVNTIGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibWFyazMiLCAibm90LXJlYWwiKS5sZW5ndGgg
PT09IDAgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcmszIiwgIm1hcmsi
KS5sZW5ndGggPT09IDEgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5hbWUobnVsbCwg
Im1hcmsiKS5sZW5ndGggPT09IDAgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5hbWUo
dW5kZWZpbmVkLCAibWFyayIpLmxlbmd0aCA9PT0gMCBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWJhc2ljLmh0bWwgYi9MYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItYmFzaWMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNmIwZjZkNmQwOGQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2Jz
ZXJ2ZXItYmFzaWMuaHRtbApAQCAtMCwwICsxLDk1IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJCYXNpYyBCZWhh
dmlvciB0ZXN0IGZvciBQZXJmb3JtYW5jZU9ic2VydmVyIEFQSXMuIik7Cit3aW5kb3cuanNUZXN0
SXNBc3luYyA9IHRydWU7CisKKy8vIFBlcmZvcm1hbmNlT2JzZXJ2ZXJzIHRoYXQgYXJlIG5vdCBh
Y3RpdmVseSBvYnNlcnZpbmcgc2hvdWxkIG5vdCBmaXJlLgorbGV0IG9ic2VydmVyTm90T2JzZXJ2
aW5nID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoZnVuY3Rpb24oKSB7CisgICAgdGVzdEZhaWxl
ZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBuZXZlciByZWdpc3RlcmVkIHNob3VsZCBub3QgYmUgY2Fs
bGVkIik7Cit9KTsKKworbGV0IG9ic2VydmVyTm90T2JzZXJ2aW5nMiA9IG5ldyBQZXJmb3JtYW5j
ZU9ic2VydmVyKGZ1bmN0aW9uKCkgeworICAgIHRlc3RGYWlsZWQoIlBlcmZvcm1hbmNlT2JzZXJ2
ZXIgbm90IGFjdGl2ZWx5IG9ic2VydmluZyBzaG91bGQgbm90IGJlIGNhbGxlZCIpOworfSk7Citv
YnNlcnZlck5vdE9ic2VydmluZzIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJtYXJrIl19KTsKK29i
c2VydmVyTm90T2JzZXJ2aW5nMi5kaXNjb25uZWN0KCk7CisKKy8vIFBlcmZvcm1hbmNlT2JzZXJ2
ZXJzIGZvciBkaWZmZXJlbnQgZW50cnkgdHlwZXMgc2hvdWxkIG5vdCBmaXJlLgorbGV0IG9ic2Vy
dmVyTm90TWFya3MgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbigpIHsKKyAgICB0
ZXN0RmFpbGVkKCJQZXJmb3JtYW5jZU9ic2VydmVyIG9ic2VydmluZyBtZWFzdXJlcyBzaG91bGQg
bm90IGJlIGNhbGxlZCIpOworfSk7CisKKy8vIE9ic2VydmVyIHNlZXMgbWFya3Mgd2hpbGUgaXQg
aXMgcmVnaXN0ZXJlZC4KK3BlcmZvcm1hbmNlLm1hcmsoIm1hcmsxIik7Cit3aW5kb3cub2JzZXJ2
ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsaXN0LCBvYnMpIHsKKyAgICB3
aW5kb3cuYXJndW1lbnRzTGVuZ3RoID0gYXJndW1lbnRzLmxlbmd0aDsKKyAgICB3aW5kb3cubGlz
dCA9IGxpc3Q7CisgICAgd2luZG93Lm9icyA9IG9iczsKKyAgICB3aW5kb3cudGhpc09iamVjdCA9
IHRoaXM7CisKKyAgICBkZWJ1ZygiSW5zaWRlIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgY2FsbGJhY2si
KTsKKyAgICBzaG91bGRCZVRydWUoYGFyZ3VtZW50c0xlbmd0aCA9PT0gMmApOworICAgIHNob3Vs
ZEJlVHJ1ZShgbGlzdCBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3RgKTsK
KyAgICBzaG91bGRCZVRydWUoYG9icyBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlT2JzZXJ2ZXJgKTsK
KyAgICBzaG91bGRCZVRydWUoYG9icyA9PT0gb2JzZXJ2ZXJgKTsKKyAgICAvLyBGSVhNRTogPGh0
dHBzOi8vd2Via2l0Lm9yZy9iLzE2NzU0OT4gSW52b2tpbmcgZ2VuZXJhdGVkIGNhbGxiYWNrIHNo
b3VsZCBhbGxvdyBzZXR0aW5nIHRoZSBgdGhpc2Agb2JqZWN0CisgICAgc2hvdWxkQmVUcnVlKGB0
aGlzT2JqZWN0IGluc3RhbmNlb2YgUGVyZm9ybWFuY2VPYnNlcnZlcmApOworICAgIHNob3VsZEJl
VHJ1ZShgdGhpc09iamVjdCA9PT0gb2JzZXJ2ZXJgKTsKKworICAgIGRlYnVnKCIiKTsKKyAgICBk
ZWJ1ZygiUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCBBUElzIik7CisKKyAgICBzaG91bGRC
ZVRydWUoYGxpc3QuZ2V0RW50cmllcygpIGluc3RhbmNlb2YgQXJyYXlgKTsKKyAgICBzaG91bGRC
ZVRydWUoYGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aCA9PT0gMmApOworICAgIHNob3VsZEJlVHJ1
ZShgbGlzdC5nZXRFbnRyaWVzKClbMF0gaW5zdGFuY2VvZiBQZXJmb3JtYW5jZUVudHJ5YCk7Cisg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVswXS5uYW1lYCwgIm1h
cmszIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVsxXS5u
YW1lYCwgIm1hcms0Iik7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJpZXMoKVswXS5z
dGFydFRpbWUgPD0gbGlzdC5nZXRFbnRyaWVzKClbMV0uc3RhcnRUaW1lYCk7CisKKyAgICBzaG91
bGRUaHJvdyhgbGlzdC5nZXRFbnRyaWVzQnlUeXBlKClgKTsKKyAgICBzaG91bGRCZVRydWUoYGxp
c3QuZ2V0RW50cmllc0J5VHlwZSgibm90LXJlYWwiKS5sZW5ndGggPT09IDBgKTsKKyAgICBzaG91
bGRCZVRydWUoYGxpc3QuZ2V0RW50cmllc0J5VHlwZSgibWFyayIpLmxlbmd0aCA9PT0gMmApOwor
ICAgIHNob3VsZEJlVHJ1ZShgbGlzdC5nZXRFbnRyaWVzQnlUeXBlKCJtYXJrIilbMF0gaW5zdGFu
Y2VvZiBQZXJmb3JtYW5jZUVudHJ5YCk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0
LmdldEVudHJpZXNCeVR5cGUoIm1hcmsiKVswXS5uYW1lYCwgIm1hcmszIik7CisgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXNCeVR5cGUoIm1hcmsiKVsxXS5uYW1lYCwg
Im1hcms0Iik7CisKKyAgICBzaG91bGRUaHJvdyhgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKClgKTsK
KyAgICBzaG91bGRCZVRydWUoYGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibm90LXJlYWwiKS5sZW5n
dGggPT09IDBgKTsKKyAgICBzaG91bGRCZVRydWUoYGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibWFy
azEiKS5sZW5ndGggPT09IDBgKTsKKyAgICBzaG91bGRCZVRydWUoYGxpc3QuZ2V0RW50cmllc0J5
TmFtZSgibWFyazMiKS5sZW5ndGggPT09IDFgKTsKKyAgICBzaG91bGRCZVRydWUoYGxpc3QuZ2V0
RW50cmllc0J5TmFtZSgibWFyazMiKVswXSBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50cnlgKTsK
KyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibWFyazMi
KVswXS5uYW1lYCwgIm1hcmszIik7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJpZXNC
eU5hbWUoIm1hcms0IikubGVuZ3RoID09PSAxYCk7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0Lmdl
dEVudHJpZXNCeU5hbWUoIm1hcms0IilbMF0gaW5zdGFuY2VvZiBQZXJmb3JtYW5jZUVudHJ5YCk7
CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcms0
IilbMF0ubmFtZWAsICJtYXJrNCIpOworCisgICAgc2hvdWxkVGhyb3coYGxpc3QuZ2V0RW50cmll
c0J5TmFtZSgpYCk7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm5v
dC1yZWFsIikubGVuZ3RoID09PSAwYCk7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJp
ZXNCeU5hbWUoIm1hcmsxIikubGVuZ3RoID09PSAwYCk7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0
LmdldEVudHJpZXNCeU5hbWUoIm1hcmszIikubGVuZ3RoID09PSAxYCk7CisgICAgc2hvdWxkQmVU
cnVlKGBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcmszIilbMF0gaW5zdGFuY2VvZiBQZXJmb3Jt
YW5jZUVudHJ5YCk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXNC
eU5hbWUoIm1hcmszIilbMF0ubmFtZWAsICJtYXJrMyIpOworICAgIHNob3VsZEJlVHJ1ZShgbGlz
dC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrNCIpLmxlbmd0aCA9PT0gMWApOworICAgIHNob3VsZEJl
VHJ1ZShgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrNCIpWzBdIGluc3RhbmNlb2YgUGVyZm9y
bWFuY2VFbnRyeWApOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5nZXRFbnRyaWVz
QnlOYW1lKCJtYXJrNCIpWzBdLm5hbWVgLCAibWFyazQiKTsKKworICAgIHNob3VsZEJlVHJ1ZShg
bGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrMyIsICJub3QtcmVhbCIpLmxlbmd0aCA9PT0gMGAp
OworICAgIHNob3VsZEJlVHJ1ZShgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrMyIsICJtYXJr
IikubGVuZ3RoID09PSAxYCk7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJpZXNCeU5h
bWUobnVsbCwgIm1hcmsiKS5sZW5ndGggPT09IDBgKTsKKyAgICBzaG91bGRCZVRydWUoYGxpc3Qu
Z2V0RW50cmllc0J5TmFtZSh1bmRlZmluZWQsICJtYXJrIikubGVuZ3RoID09PSAwYCk7CisKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK30pOworcGVyZm9ybWFuY2UubWFyaygibWFyazIiKTsKK29ic2Vy
dmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsibWFyayJdfSk7CitwZXJmb3JtYW5jZS5tYXJrKCJt
YXJrMyIpOworcGVyZm9ybWFuY2UubWFyaygibWFyazQiKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNl
LW9ic2VydmVyLWNhbGxiYWNrLW11dGF0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wZXJm
b3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItY2FsbGJhY2stbXV0YXRlLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOWVjNTQwZjJkYWUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFu
Y2Utb2JzZXJ2ZXItY2FsbGJhY2stbXV0YXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQyIEBA
CitUZXN0IFBlcmZvcm1hbmNlT2JzZXJ2ZXIgbXV0YXRpbmcgaXRzZWxmIHdoaWxlIGluIGl0cyBj
YWxsYmFjay4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK09ic2VydmVyaW5nOiBb
Im1lYXN1cmUiXQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrIGZpcmVkCitQQVNT
IGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aCBpcyAxCitQQVNTIGxpc3QuZ2V0RW50cmllcygpWzBd
LmVudHJ5VHlwZSBpcyAibWVhc3VyZSIKK1BBU1MgbGlzdC5nZXRFbnRyaWVzKClbMF0ubmFtZSBp
cyAibWVhc3VyZTEiCitPYnNlcnZlcmluZzogWyJtYXJrIl0KKyAtIG1lYXN1cmUxCitQQVNTIFBl
cmZvcm1hbmNlT2JzZXJ2ZXIgY2FsbGJhY2sgZmlyZWQKK1BBU1MgbGlzdC5nZXRFbnRyaWVzKCku
bGVuZ3RoIGlzIDEKK1BBU1MgbGlzdC5nZXRFbnRyaWVzKClbMF0uZW50cnlUeXBlIGlzICJtYXJr
IgorUEFTUyBsaXN0LmdldEVudHJpZXMoKVswXS5uYW1lIGlzICJtYXJrMiIKK09ic2VydmVyaW5n
OiBbIm1lYXN1cmUiXQorIC0gbWFyazIKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciBjYWxsYmFj
ayBmaXJlZAorUEFTUyBsaXN0LmdldEVudHJpZXMoKS5sZW5ndGggaXMgMgorUEFTUyBsaXN0Lmdl
dEVudHJpZXMoKVswXS5lbnRyeVR5cGUgaXMgIm1lYXN1cmUiCitQQVNTIGxpc3QuZ2V0RW50cmll
cygpWzBdLm5hbWUgaXMgIm1lYXN1cmUzIgorUEFTUyBsaXN0LmdldEVudHJpZXMoKVsxXS5lbnRy
eVR5cGUgaXMgIm1hcmsiCitQQVNTIGxpc3QuZ2V0RW50cmllcygpWzFdLm5hbWUgaXMgIm1hcmst
YmVmb3JlLWNoYW5nZS1vYnNlcnZlLXN0YXRlLXRvLW1lYXN1cmUiCitPYnNlcnZlcmluZzogWyJt
YXJrIiwibWVhc3VyZSJdCisgLSBtZWFzdXJlMworIC0gbWFyay1iZWZvcmUtY2hhbmdlLW9ic2Vy
dmUtc3RhdGUtdG8tbWVhc3VyZQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrIGZp
cmVkCitQQVNTIGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aCBpcyAzCitQQVNTIGxpc3QuZ2V0RW50
cmllcygpWzBdLmVudHJ5VHlwZSBpcyAibWVhc3VyZSIKK1BBU1MgbGlzdC5nZXRFbnRyaWVzKClb
MF0ubmFtZSBpcyAibWVhc3VyZS1iZWZvcmUtY2hhbmdlLW9ic2VydmUtc3RhdGUtdG8tYm90aCIK
K1BBU1MgbGlzdC5nZXRFbnRyaWVzKClbMV0uZW50cnlUeXBlIGlzICJtZWFzdXJlIgorUEFTUyBs
aXN0LmdldEVudHJpZXMoKVsxXS5uYW1lIGlzICJtZWFzdXJlNCIKK1BBU1MgbGlzdC5nZXRFbnRy
aWVzKClbMl0uZW50cnlUeXBlIGlzICJtYXJrIgorUEFTUyBsaXN0LmdldEVudHJpZXMoKVsyXS5u
YW1lIGlzICJtYXJrNCIKKyAtIG1lYXN1cmUtYmVmb3JlLWNoYW5nZS1vYnNlcnZlLXN0YXRlLXRv
LWJvdGgKKyAtIG1lYXN1cmU0CisgLSBtYXJrNAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BlcmZvcm1h
bmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1jYWxsYmFjay1tdXRhdGUuaHRtbCBiL0xheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1jYWxsYmFjay1tdXRh
dGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZjg4ZWNhNDUy
ODUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9y
bWFuY2Utb2JzZXJ2ZXItY2FsbGJhY2stbXV0YXRlLmh0bWwKQEAgLTAsMCArMSw5NyBAQAorPCFE
T0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNj
cmlwdGlvbigiVGVzdCBQZXJmb3JtYW5jZU9ic2VydmVyIG11dGF0aW5nIGl0c2VsZiB3aGlsZSBp
biBpdHMgY2FsbGJhY2suIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKy8vIE9i
c2VydmVyIGlzIGZpcnN0IHdhdGNoaW5nIG1lYXN1cmVzID0+IHRoZW4gbWFya3MgPT4gbWVhc3Vy
ZXMgPT4gYm90aC4KKy8vIE5PVEU6IE1lYXN1cmVzIGFyZSBzb3J0ZWQgYmVmb3JlIG1hcmtzIGR1
ZSB0byBzdGFydFRpbWUuCisKK3dpbmRvdy5jYWxsYmFja0NvdW50ID0gMDsKK3dpbmRvdy5saXN0
ID0gbnVsbDsKKworbGV0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGxpc3Qp
ID0+IHsKKyAgICB3aW5kb3cubGlzdCA9IGxpc3Q7CisgICAgY2FsbGJhY2tDb3VudCsrOworICAg
IHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgY2FsbGJhY2sgZmlyZWQiKTsKKworICAg
IGlmIChjYWxsYmFja0NvdW50ID09PSAxKSB7CisgICAgICAgIC8vIEV4cGVjdGVkOiBbbWVhc3Vy
ZTFdCisgICAgICAgIHNob3VsZEJlKGBsaXN0LmdldEVudHJpZXMoKS5sZW5ndGhgLCBgMWApOwor
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0RW50cmllcygpWzBdLmVudHJ5
VHlwZWAsICJtZWFzdXJlIik7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5n
ZXRFbnRyaWVzKClbMF0ubmFtZWAsICJtZWFzdXJlMSIpOworCisgICAgICAgIHVwZGF0ZU9ic2Vy
dmVyKFsibWFyayJdKTsKKworICAgICAgICBwZXJmb3JtYW5jZS5tYXJrKCJtYXJrMiIpOworICAg
ICAgICBwZXJmb3JtYW5jZS5tZWFzdXJlKCJtZWFzdXJlMiIpOworICAgIH0gZWxzZSBpZiAoY2Fs
bGJhY2tDb3VudCA9PT0gMikgeworICAgICAgICAvLyBFeHBlY3RlZDogW21hcmsyXQorICAgICAg
ICBzaG91bGRCZShgbGlzdC5nZXRFbnRyaWVzKCkubGVuZ3RoYCwgYDFgKTsKKyAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVswXS5lbnRyeVR5cGVgLCAibWFy
ayIpOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0RW50cmllcygpWzBd
Lm5hbWVgLCAibWFyazIiKTsKKworICAgICAgICBwZXJmb3JtYW5jZS5tYXJrKCJtYXJrLWJlZm9y
ZS1jaGFuZ2Utb2JzZXJ2ZS1zdGF0ZS10by1tZWFzdXJlIik7CisgICAgICAgIHBlcmZvcm1hbmNl
Lm1lYXN1cmUoIm1lYXN1cmUtYmVmb3JlLWNoYW5nZS1vYnNlcnZlLXN0YXRlLXRvLW1lYXN1cmUi
KTsKKworICAgICAgICB1cGRhdGVPYnNlcnZlcihbIm1lYXN1cmUiXSk7CisKKyAgICAgICAgcGVy
Zm9ybWFuY2UubWFyaygibWFyazMiKTsKKyAgICAgICAgcGVyZm9ybWFuY2UubWVhc3VyZSgibWVh
c3VyZTMiKTsKKyAgICB9IGVsc2UgaWYgKGNhbGxiYWNrQ291bnQgPT09IDMpIHsKKyAgICAgICAg
Ly8gRXhwZWN0ZWQ6IFttZWFzdXJlMywgbWFyay1iZWZvcmUtY2hhbmdlLW9ic2VydmUtc3RhdGUt
dG8tbWVhc3VyZV0KKyAgICAgICAgc2hvdWxkQmUoYGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aGAs
IGAyYCk7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5nZXRFbnRyaWVzKClb
MF0uZW50cnlUeXBlYCwgIm1lYXN1cmUiKTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KGBsaXN0LmdldEVudHJpZXMoKVswXS5uYW1lYCwgIm1lYXN1cmUzIik7CisgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5nZXRFbnRyaWVzKClbMV0uZW50cnlUeXBlYCwgIm1hcmsi
KTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVsxXS5u
YW1lYCwgIm1hcmstYmVmb3JlLWNoYW5nZS1vYnNlcnZlLXN0YXRlLXRvLW1lYXN1cmUiKTsKKwor
ICAgICAgICBwZXJmb3JtYW5jZS5tYXJrKCJtYXJrLWJlZm9yZS1jaGFuZ2Utb2JzZXJ2ZS1zdGF0
ZS10by1ib3RoIik7CisgICAgICAgIHBlcmZvcm1hbmNlLm1lYXN1cmUoIm1lYXN1cmUtYmVmb3Jl
LWNoYW5nZS1vYnNlcnZlLXN0YXRlLXRvLWJvdGgiKTsKKworICAgICAgICB1cGRhdGVPYnNlcnZl
cihbIm1hcmsiLCAibWVhc3VyZSJdKTsKKworICAgICAgICBwZXJmb3JtYW5jZS5tYXJrKCJtYXJr
NCIpOworICAgICAgICBwZXJmb3JtYW5jZS5tZWFzdXJlKCJtZWFzdXJlNCIpOworICAgIH0gZWxz
ZSBpZiAoY2FsbGJhY2tDb3VudCA9PT0gNCkgeworICAgICAgICAvLyBFeHBlY3RlZDogW21lYXN1
cmUtYmVmb3JlLWNoYW5nZS1vYnNlcnZlLXN0YXRlLXRvLWJvdGgsIG1lYXN1cmU0LCBtYXJrNF0K
KyAgICAgICAgc2hvdWxkQmUoYGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aGAsIGAzYCk7CisgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5nZXRFbnRyaWVzKClbMF0uZW50cnlUeXBl
YCwgIm1lYXN1cmUiKTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVu
dHJpZXMoKVswXS5uYW1lYCwgIm1lYXN1cmUtYmVmb3JlLWNoYW5nZS1vYnNlcnZlLXN0YXRlLXRv
LWJvdGgiKTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMo
KVsxXS5lbnRyeVR5cGVgLCAibWVhc3VyZSIpOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoYGxpc3QuZ2V0RW50cmllcygpWzFdLm5hbWVgLCAibWVhc3VyZTQiKTsKKyAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVsyXS5lbnRyeVR5cGVgLCAibWFy
ayIpOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0RW50cmllcygpWzJd
Lm5hbWVgLCAibWFyazQiKTsKKworICAgICAgICBwZXJmb3JtYW5jZS5tYXJrKCJtYXJrLWJlZm9y
ZS1kaXNjb25uZWN0Iik7CisgICAgICAgIHBlcmZvcm1hbmNlLm1lYXN1cmUoIm1lYXN1cmUtYmVm
b3JlLWRpc2Nvbm5lY3QiKTsKKworICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7CisKKyAg
ICAgICAgcGVyZm9ybWFuY2UubWFyaygibWFyay1hZnRlci1kaXNjb25uZWN0Iik7CisgICAgICAg
IHBlcmZvcm1hbmNlLm1lYXN1cmUoIm1lYXN1cmUtYWZ0ZXItZGlzY29ubmVjdCIpOworCisgICAg
ICAgIHNldFRpbWVvdXQoZmluaXNoSlNUZXN0LCA1MCk7CisgICAgfSBlbHNlIGlmIChjYWxsYmFj
a0NvdW50ID09PSA1KQorICAgICAgICB0ZXN0RmFpbGVkKCJTaG91bGQgbm90IGhhdmUgcmVjZWl2
ZWQgYW5vdGhlciBjYWxsYmFjaywgdGhlIG9ic2VydmVyIHdhcyBkaXNjb25uZWN0ZWQiKTsKKwor
ICAgIGZvciAobGV0IG1hcmsgb2YgbGlzdC5nZXRFbnRyaWVzKCkpCisgICAgICAgIGRlYnVnKCIg
LSAiICsgbWFyay5uYW1lKTsKK30pOworCitmdW5jdGlvbiB1cGRhdGVPYnNlcnZlcihlbnRyeVR5
cGVzKSB7CisgICAgZGVidWcoIk9ic2VydmVyaW5nOiAiICsgSlNPTi5zdHJpbmdpZnkoZW50cnlU
eXBlcykpOworICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXN9KTsKK30KKwordXBkYXRl
T2JzZXJ2ZXIoWyJtZWFzdXJlIl0pOworcGVyZm9ybWFuY2UubWFyaygibWFyazEiKTsKK3BlcmZv
cm1hbmNlLm1lYXN1cmUoIm1lYXN1cmUxIik7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZl
ci1jYWxsYmFjay10YXNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFw
aS9wZXJmb3JtYW5jZS1vYnNlcnZlci1jYWxsYmFjay10YXNrLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMjAzZTNhMDM5NTQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIt
Y2FsbGJhY2stdGFzay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVGVzdCBQZXJmb3Jt
YW5jZU9ic2VydmVyIGNhbGxiYWNrIGlzIGEgdGFzaywgbm90IGEgbWljcm90YXNrLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxi
YWNrIGZpcmVkCitQQVNTIG1pY3JvdGFza0V4ZWN1dGVkIGlzIGZhbHNlCitQQVNTIGxpc3QuZ2V0
RW50cmllcygpLmxlbmd0aCBpcyAxCitQQVNTIFByb21pc2UgbWljcm90YXNrIGZpcmVkCitQQVNT
IFBlcmZvcm1hbmNlT2JzZXJ2ZXIgY2FsbGJhY2sgZmlyZWQKK1BBU1MgbGlzdC5nZXRFbnRyaWVz
KCkubGVuZ3RoIGlzIDIKK1BBU1MgbWljcm90YXNrRXhlY3V0ZWQgaXMgdHJ1ZQorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1jYWxsYmFjay10
YXNrLmh0bWwgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2
ZXItY2FsbGJhY2stdGFzay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwLi42MTZlYTJmNjQwYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BlcmZvcm1h
bmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1jYWxsYmFjay10YXNrLmh0bWwKQEAgLTAsMCAr
MSw0OCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrIGlz
IGEgdGFzaywgbm90IGEgbWljcm90YXNrLiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
OworCit3aW5kb3cubWljcm90YXNrRXhlY3V0ZWQgPSBmYWxzZTsKK3dpbmRvdy5jYWxsYmFja0Nv
dW50ID0gMDsKK3dpbmRvdy5saXN0ID0gbnVsbDsKKworbGV0IG9ic2VydmVyID0gbmV3IFBlcmZv
cm1hbmNlT2JzZXJ2ZXIoKGxpc3QpID0+IHsKKyAgICB3aW5kb3cubGlzdCA9IGxpc3Q7CisgICAg
Y2FsbGJhY2tDb3VudCsrOworCisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBj
YWxsYmFjayBmaXJlZCIpOworCisgICAgaWYgKGNhbGxiYWNrQ291bnQgPT09IDEpIHsKKyAgICAg
ICAgc2hvdWxkQmVGYWxzZShgbWljcm90YXNrRXhlY3V0ZWRgKTsKKyAgICAgICAgc2hvdWxkQmUo
YGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aGAsIGAxYCk7CisgICAgICAgIHBlcmZvcm1hbmNlLm1h
cmsoIm1hcmsyIik7CisgICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4geworICAg
ICAgICAgICAgdGVzdFBhc3NlZCgiUHJvbWlzZSBtaWNyb3Rhc2sgZmlyZWQiKTsKKyAgICAgICAg
ICAgIG1pY3JvdGFza0V4ZWN1dGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIHBlcmZvcm1hbmNlLm1h
cmsoIm1hcmszIik7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
aWYgKGNhbGxiYWNrQ291bnQgPT09IDIpIHsKKyAgICAgICAgc2hvdWxkQmUoYGxpc3QuZ2V0RW50
cmllcygpLmxlbmd0aGAsIGAyYCk7CisgICAgICAgIHNob3VsZEJlVHJ1ZShgbWljcm90YXNrRXhl
Y3V0ZWRgKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICB0ZXN0RmFpbGVkKCJDYWxsYmFjayBzaG91bGQgbm90IGhhdmUgZmlyZWQgYWdhaW4i
KTsKK30pOworCitvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbIm1hcmsiXX0pOworcGVy
Zm9ybWFuY2UubWFyaygibWFyazEiKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWVu
dHJ5LXNvcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZv
cm1hbmNlLW9ic2VydmVyLWVudHJ5LXNvcnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5jYmNiYjQxMDU3NgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1lbnRyeS1zb3J0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI3IEBACitUZXN0IFBlcmZvcm1hbmNlT2JzZXJ2ZXIg
bXV0YXRpbmcgaXRzZWxmIHdoaWxlIGluIGl0cyBjYWxsYmFjay4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciBjYWxsYmFjayBmaXJlZAor
UEFTUyBsaXN0LmdldEVudHJpZXMoKS5sZW5ndGggaXMgOAorUEFTUyBzb3J0ZWQgaXMgdHJ1ZQor
UEFTUyBsaXN0LmdldEVudHJpZXMoKVswXS5lbnRyeVR5cGUgaXMgIm1lYXN1cmUiCitQQVNTIGxp
c3QuZ2V0RW50cmllcygpWzFdLmVudHJ5VHlwZSBpcyAibWVhc3VyZSIKK1BBU1MgbGlzdC5nZXRF
bnRyaWVzKClbMl0uZW50cnlUeXBlIGlzICJtZWFzdXJlIgorUEFTUyBsaXN0LmdldEVudHJpZXMo
KVszXS5lbnRyeVR5cGUgaXMgIm1hcmsiCitQQVNTIGxpc3QuZ2V0RW50cmllcygpWzNdLm5hbWUg
aXMgIm1hcmsxIgorUEFTUyBsaXN0LmdldEVudHJpZXMoKVs3XS5lbnRyeVR5cGUgaXMgIm1hcmsi
CitQQVNTIGxpc3QuZ2V0RW50cmllcygpWzddLm5hbWUgaXMgIm1hcmszIgorUEFTUyBsaXN0Lmdl
dEVudHJpZXMoKVswXS5uYW1lIGlzICJtZWFzdXJlMSIKK1BBU1MgbGlzdC5nZXRFbnRyaWVzKClb
MV0ubmFtZSBpcyAibWVhc3VyZTIiCitQQVNTIGxpc3QuZ2V0RW50cmllcygpWzJdLm5hbWUgaXMg
Im1lYXN1cmUzIgorUEFTUyBsaXN0LmdldEVudHJpZXMoKVszXS5uYW1lIGlzICJtYXJrMSIKK1BB
U1MgbGlzdC5nZXRFbnRyaWVzKClbNF0ubmFtZSBpcyAibWFyazIiCitQQVNTIGxpc3QuZ2V0RW50
cmllcygpWzVdLm5hbWUgaXMgIm1lYXN1cmUtbWF0Y2hpbmctbWFyazItMSIKK1BBU1MgbGlzdC5n
ZXRFbnRyaWVzKClbNl0ubmFtZSBpcyAibWVhc3VyZS1tYXRjaGluZy1tYXJrMi0yIgorUEFTUyBs
aXN0LmdldEVudHJpZXMoKVs3XS5uYW1lIGlzICJtYXJrMyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZW50cnktc29ydC5odG1sIGIvTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWVudHJ5LXNvcnQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNmViMTkzMDgzZDgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFu
Y2Utb2JzZXJ2ZXItZW50cnktc29ydC5odG1sCkBAIC0wLDAgKzEsNzggQEAKKzwhRE9DVFlQRSBI
VE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24o
IlRlc3QgUGVyZm9ybWFuY2VPYnNlcnZlciBtdXRhdGluZyBpdHNlbGYgd2hpbGUgaW4gaXRzIGNh
bGxiYWNrLiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCitmdW5jdGlvbiB3YWl0
KCkgeworICAgIGxldCBub3cgPSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICB3aGlsZSAobm93ID09
PSBwZXJmb3JtYW5jZS5ub3coKSkKKyAgICAgICAgY29udGludWU7Cit9CisKK2xldCBvYnNlcnZl
ciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKChsaXN0KSA9PiB7CisgICAgdGVzdFBhc3NlZCgi
UGVyZm9ybWFuY2VPYnNlcnZlciBjYWxsYmFjayBmaXJlZCIpOworCisgICAgd2luZG93Lmxpc3Qg
PSBsaXN0OworICAgIHdpbmRvdy5zb3J0ZWQgPSB0cnVlOworCisgICAgbGV0IGVudHJpZXMgPSBs
aXN0LmdldEVudHJpZXMoKTsKKyAgICBsZXQgbGFzdFN0YXJ0VGltZSA9IGVudHJpZXNbMF0uc3Rh
cnRUaW1lOworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZW50cmllcy5sZW5ndGg7ICsraSkgewor
ICAgICAgICBsZXQgY3VycmVudFN0YXJ0VGltZSA9IGVudHJpZXNbaV0uc3RhcnRUaW1lOworICAg
ICAgICBpZiAobGFzdFN0YXJ0VGltZSA+IGN1cnJlbnRTdGFydFRpbWUpIHsKKyAgICAgICAgICAg
IHNvcnRlZCA9IGZhbHNlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAg
bGFzdFN0YXJ0VGltZSA9IGN1cnJlbnRTdGFydFRpbWU7CisgICAgfQorCisgICAgc2hvdWxkQmUo
YGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aGAsIGA4YCk7CisgICAgc2hvdWxkQmVUcnVlKGBzb3J0
ZWRgKTsKKworICAgIC8vIFJlZ2FyZGxlc3Mgb2YgaG93IGlkZW50aWNhbCBzdGFydCB0aW1lIGVs
ZW1lbnRzIGFyZSBzb3J0ZWQsCisgICAgLy8gdGhlIGZpcnN0IHRocmVlIHZhbHVlcyBzaG91bGQg
YmUgbWVhc3VyZXMxLDIsMyB3aXRoIDAgc3RhcnQgdGltZSwKKyAgICAvLyBmb2xsb3dlZCBieSBt
YXJrMS4gVGhlIGxhc3QgZW50cnkgd2lsbCBiZSBtYXJrMy4KKyAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoYGxpc3QuZ2V0RW50cmllcygpWzBdLmVudHJ5VHlwZWAsICJtZWFzdXJlIik7CisgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVsxXS5lbnRyeVR5cGVgLCAi
bWVhc3VyZSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5nZXRFbnRyaWVzKClb
Ml0uZW50cnlUeXBlYCwgIm1lYXN1cmUiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxp
c3QuZ2V0RW50cmllcygpWzNdLmVudHJ5VHlwZWAsICJtYXJrIik7CisgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVszXS5uYW1lYCwgIm1hcmsxIik7CisgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVs3XS5lbnRyeVR5cGVgLCAibWFy
ayIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5nZXRFbnRyaWVzKClbN10ubmFt
ZWAsICJtYXJrMyIpOworCisgICAgLy8gV2ViS2l0IHdhbnRzIGEgc3RhYmxlIHNvcnQgYmFzZWQg
bWF0Y2hpbmcgdXNlciBleHBlY3RhdGlvbnMuCisgICAgLy8gVGhlIHNwZWMgaXMgY3VycmVudGx5
IGltcHJlY2lzZSBoZXJlLgorICAgIC8vIDxodHRwczovL2dpdGh1Yi5jb20vdzNjL3BlcmZvcm1h
bmNlLXRpbWVsaW5lL2lzc3Vlcy82Nz4KKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3Qu
Z2V0RW50cmllcygpWzBdLm5hbWVgLCAibWVhc3VyZTEiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoYGxpc3QuZ2V0RW50cmllcygpWzFdLm5hbWVgLCAibWVhc3VyZTIiKTsKKyAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0RW50cmllcygpWzJdLm5hbWVgLCAibWVhc3VyZTMi
KTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0RW50cmllcygpWzNdLm5hbWVg
LCAibWFyazEiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0RW50cmllcygp
WzRdLm5hbWVgLCAibWFyazIiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0
RW50cmllcygpWzVdLm5hbWVgLCAibWVhc3VyZS1tYXRjaGluZy1tYXJrMi0xIik7CisgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVs2XS5uYW1lYCwgIm1lYXN1cmUt
bWF0Y2hpbmctbWFyazItMiIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5nZXRF
bnRyaWVzKClbN10ubmFtZWAsICJtYXJrMyIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsK
Kworb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJtYXJrIiwgIm1lYXN1cmUiXX0pOwor
CitwZXJmb3JtYW5jZS5tYXJrKCJtYXJrMSIpOworcGVyZm9ybWFuY2UubWVhc3VyZSgibWVhc3Vy
ZTEiKTsKK3dhaXQoKTsgLy8gRW5zdXJlIG1hcmsxICE9PSBtYXJrMiBzdGFydFRpbWUgYnkgbWFr
aW5nIHN1cmUgcGVyZm9ybWFuY2Uubm93IGFkdmFuY2VzLgorcGVyZm9ybWFuY2UubWFyaygibWFy
azIiKTsKK3BlcmZvcm1hbmNlLm1lYXN1cmUoIm1lYXN1cmUyIik7CitwZXJmb3JtYW5jZS5tZWFz
dXJlKCJtZWFzdXJlLW1hdGNoaW5nLW1hcmsyLTEiLCAibWFyazIiKTsKK3dhaXQoKTsgLy8gRW5z
dXJlIG1hcmsyICE9PSBtYXJrMyBzdGFydFRpbWUgYnkgbWFraW5nIHN1cmUgcGVyZm9ybWFuY2Uu
bm93IGFkdmFuY2VzLgorcGVyZm9ybWFuY2UubWFyaygibWFyazMiKTsKK3BlcmZvcm1hbmNlLm1l
YXN1cmUoIm1lYXN1cmUzIik7CitwZXJmb3JtYW5jZS5tZWFzdXJlKCJtZWFzdXJlLW1hdGNoaW5n
LW1hcmsyLTIiLCAibWFyazIiKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWV4Y2Vw
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFu
Y2Utb2JzZXJ2ZXItZXhjZXB0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMC4uMGU1NjM2MjI2YzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZXhjZXB0aW9uLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6IEVYQ0VQ
VElPTiBNRVNTQUdFIElOIENBTExCQUNLCitFbnN1cmUgUGVyZm9ybWFuY2VPYnNlcnZlciBFeGNl
cHRpb25zIGFyZSBwcm9wb2dhdGVkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UGVyZm9ybWFuY2VPYnNlcnZlciBjYWxsYmFjayBmaXJlZAorUEFTUyBvbmVycm9yOiBFWENFUFRJ
T04gTUVTU0FHRSBJTiBDQUxMQkFDSworUEFTUyBvbmVycm9yOiBUeXBlRXJyb3I6IENhbm5vdCBj
YWxsIGEgY2xhc3MgY29uc3RydWN0b3Igd2l0aG91dCB8bmV3fAorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1leGNlcHRpb24uaHRtbCBiL0xh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1leGNlcHRpb24u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNmExMWNjYTRkYjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFu
Y2Utb2JzZXJ2ZXItZXhjZXB0aW9uLmh0bWwKQEAgLTAsMCArMSwzNSBAQAorPCFET0NUWVBFIEhU
TUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigi
RW5zdXJlIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgRXhjZXB0aW9ucyBhcmUgcHJvcG9nYXRlZC4iKTsK
K3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworbGV0IHNlZW5FeGNlcHRpb25zID0gMDsK
Kword2luZG93Lm9uZXJyb3IgPSBmdW5jdGlvbihtZXNzYWdlKSB7CisgICAgdGVzdFBhc3NlZCgi
b25lcnJvcjogIiArIG1lc3NhZ2UpOworCisgICAgc2VlbkV4Y2VwdGlvbnMrKzsKKyAgICBpZiAo
c2VlbkV4Y2VwdGlvbnMgPT09IDIpCisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitsZXQg
b2JzZXJ2ZXIxID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGxpc3QpID0+IHsKKyAgICBkZWJ1
ZygiUGVyZm9ybWFuY2VPYnNlcnZlciBjYWxsYmFjayBmaXJlZCIpOworICAgIHRocm93ICJFWENF
UFRJT04gTUVTU0FHRSBJTiBDQUxMQkFDSyI7Cit9KTsKKworY2xhc3MgTXlPYnNlcnZlciB7fTsK
K2xldCBvYnNlcnZlcjIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihNeU9ic2VydmVyKTsKKwor
b2JzZXJ2ZXIxLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsibWFyayJdfSk7CitvYnNlcnZlcjIub2Jz
ZXJ2ZSh7ZW50cnlUeXBlczogWyJtYXJrIl19KTsKK3BlcmZvcm1hbmNlLm1hcmsoIm1hcmsxIik7
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1uZXN0ZWQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLW5lc3RlZC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmViZmUwNTZh
OGRkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZv
cm1hbmNlLW9ic2VydmVyLW5lc3RlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAorVGVz
dCBQZXJmb3JtYW5jZU9ic2VydmVyIGhhbmRsaW5nIG9mIGVudHJpZXMgYWRkZWQgd2hpbGUgaW4g
Y2FsbGJhY2suCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIFBlcmZvcm1h
bmNlT2JzZXJ2ZXIgMSBjYWxsYmFjayBmaXJlZAorUEFTUyBsaXN0LmdldEVudHJpZXMoKS5sZW5n
dGggaXMgMQorIC0gbWFyazEKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciAyIGNhbGxiYWNrIGZp
cmVkCitQQVNTIGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aCBpcyAyCisgLSBtYXJrMQorIC0gbWFy
azIKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciAxIGNhbGxiYWNrIGZpcmVkCitQQVNTIGxpc3Qu
Z2V0RW50cmllcygpLmxlbmd0aCBpcyAyCisgLSBtYXJrMgorIC0gbWFyazMKK1BBU1MgUGVyZm9y
bWFuY2VPYnNlcnZlciAyIGNhbGxiYWNrIGZpcmVkCitQQVNTIGxpc3QuZ2V0RW50cmllcygpLmxl
bmd0aCBpcyAxCisgLSBtYXJrMworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9w
ZXJmb3JtYW5jZS1vYnNlcnZlci1uZXN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1uZXN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMC4uNmI4ODA0ZmJiMjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItbmVzdGVkLmh0bWwK
QEAgLTAsMCArMSw2MSBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBQZXJmb3JtYW5jZU9ic2VydmVyIGhh
bmRsaW5nIG9mIGVudHJpZXMgYWRkZWQgd2hpbGUgaW4gY2FsbGJhY2suIik7Cit3aW5kb3cuanNU
ZXN0SXNBc3luYyA9IHRydWU7CisKK3dpbmRvdy5jYWxsYmFja0NvdW50ID0gMDsKK3dpbmRvdy5s
aXN0ID0gbnVsbDsKKworbGV0IG9ic2VydmVyMSA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKChs
aXN0KSA9PiB7CisgICAgd2luZG93Lmxpc3QgPSBsaXN0OworICAgIGNhbGxiYWNrQ291bnQrKzsK
KyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVyIDEgY2FsbGJhY2sgZmlyZWQiKTsK
KworICAgIGlmIChjYWxsYmFja0NvdW50ID09PSAxKSB7CisgICAgICAgIHBlcmZvcm1hbmNlLm1h
cmsoIm1hcmsyIik7CisgICAgICAgIHNob3VsZEJlKGBsaXN0LmdldEVudHJpZXMoKS5sZW5ndGhg
LCBgMWApOworICAgIH0gZWxzZSBpZiAoY2FsbGJhY2tDb3VudCA9PT0gMykgeworICAgICAgICBz
aG91bGRCZShgbGlzdC5nZXRFbnRyaWVzKCkubGVuZ3RoYCwgYDJgKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICB0ZXN0RmFpbGVkKCJVbmV4cGVjdGVkIGNhbGxiYWNrIGNvdW50Iik7CisgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgIH0KKworICAgIGZvciAobGV0IG1hcmsgb2YgbGlzdC5nZXRF
bnRyaWVzKCkpCisgICAgICAgIGRlYnVnKCIgLSAiICsgbWFyay5uYW1lKTsKK30pOworCitsZXQg
b2JzZXJ2ZXIyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGxpc3QpID0+IHsKKyAgICB3aW5k
b3cubGlzdCA9IGxpc3Q7CisgICAgY2FsbGJhY2tDb3VudCsrOworICAgIHRlc3RQYXNzZWQoIlBl
cmZvcm1hbmNlT2JzZXJ2ZXIgMiBjYWxsYmFjayBmaXJlZCIpOworCisgICAgaWYgKGNhbGxiYWNr
Q291bnQgPT09IDIpIHsKKyAgICAgICAgcGVyZm9ybWFuY2UubWFyaygibWFyazMiKTsKKyAgICAg
ICAgc2hvdWxkQmUoYGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aGAsIGAyYCk7CisgICAgfSBlbHNl
IGlmIChjYWxsYmFja0NvdW50ID09PSA0KSB7CisgICAgICAgIHNob3VsZEJlKGBsaXN0LmdldEVu
dHJpZXMoKS5sZW5ndGhgLCBgMWApOworICAgIH0gZWxzZSB7CisgICAgICAgIHRlc3RGYWlsZWQo
IlVuZXhwZWN0ZWQgY2FsbGJhY2sgY291bnQiKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgfQorCisgICAgZm9yIChsZXQgbWFyayBvZiBsaXN0LmdldEVudHJpZXMoKSkKKyAgICAgICAg
ZGVidWcoIiAtICIgKyBtYXJrLm5hbWUpOworCisgICAgaWYgKGNhbGxiYWNrQ291bnQgPT09IDQp
CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKK29ic2VydmVyMS5vYnNlcnZlKHtlbnRy
eVR5cGVzOiBbIm1hcmsiXX0pOworb2JzZXJ2ZXIyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsibWFy
ayJdfSk7CitwZXJmb3JtYW5jZS5tYXJrKCJtYXJrMSIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Ut
b2JzZXJ2ZXItb3JkZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBp
L3BlcmZvcm1hbmNlLW9ic2VydmVyLW9yZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOWExMTRkMmI0M2MKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItb3JkZXItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjEgQEAKK0Vuc3VyZSBQZXJmb3JtYW5jZU9ic2VydmVycyBh
cmUgbm90aWZpZWQgaW4gb3JkZXIgb2YgcmVnaXN0cmF0aW9uIChvYnNlcnZlKS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciAxIGNhbGxi
YWNrIGZpcmVkCitQQVNTIGNvdW50IGlzIDEKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciAyIGNh
bGxiYWNrIGZpcmVkCitQQVNTIGNvdW50IGlzIDIKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciAz
IGNhbGxiYWNrIGZpcmVkCitQQVNTIGNvdW50IGlzIDMKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZl
ciA0IGNhbGxiYWNrIGZpcmVkCitQQVNTIGNvdW50IGlzIDQKK1BBU1MgUGVyZm9ybWFuY2VPYnNl
cnZlciA1IGNhbGxiYWNrIGZpcmVkCitQQVNTIGNvdW50IGlzIDUKK1BBU1MgUGVyZm9ybWFuY2VP
YnNlcnZlciA2IGNhbGxiYWNrIGZpcmVkCitQQVNTIGNvdW50IGlzIDYKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItb3JkZXIuaHRtbCBiL0xh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1vcmRlci5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi40NWQyNmNkZDBjZAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1v
YnNlcnZlci1vcmRlci5odG1sCkBAIC0wLDAgKzEsNjMgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIkVuc3VyZSBQ
ZXJmb3JtYW5jZU9ic2VydmVycyBhcmUgbm90aWZpZWQgaW4gb3JkZXIgb2YgcmVnaXN0cmF0aW9u
IChvYnNlcnZlKS4iKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKword2luZG93LmNv
dW50ID0gMDsKKworbGV0IG9ic2VydmVyMSA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKChsaXN0
KSA9PiB7CisgICAgY291bnQrKzsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVy
IDEgY2FsbGJhY2sgZmlyZWQiKTsKKyAgICBzaG91bGRCZShgY291bnRgLCBgMWApOworfSk7CisK
K2xldCBvYnNlcnZlcjIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigobGlzdCkgPT4geworICAg
IGNvdW50Kys7CisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciAyIGNhbGxiYWNr
IGZpcmVkIik7CisgICAgc2hvdWxkQmUoYGNvdW50YCwgYDJgKTsKK30pOworCisvLyBFbnN1cmUg
Y3JlYXRpb24gZG9lc24ndCBpbXBhY3Qgb3JkZXIuCitsZXQgb2JzZXJ2ZXJTcGVjaWFsID0gbmV3
IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGxpc3QpID0+IHsKKyAgICBjb3VudCsrOworICAgIHRlc3RQ
YXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgNiBjYWxsYmFjayBmaXJlZCIpOworICAgIHNob3Vs
ZEJlKGBjb3VudGAsIGA2YCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKworbGV0IG9ic2Vy
dmVyMyA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKChsaXN0KSA9PiB7CisgICAgY291bnQrKzsK
KyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVyIDMgY2FsbGJhY2sgZmlyZWQiKTsK
KyAgICBzaG91bGRCZShgY291bnRgLCBgM2ApOworfSk7CisKK2xldCBvYnNlcnZlcjQgPSBuZXcg
UGVyZm9ybWFuY2VPYnNlcnZlcigobGlzdCkgPT4geworICAgIGNvdW50Kys7CisgICAgdGVzdFBh
c3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciA0IGNhbGxiYWNrIGZpcmVkIik7CisgICAgc2hvdWxk
QmUoYGNvdW50YCwgYDRgKTsKK30pOworCitsZXQgb2JzZXJ2ZXI1ID0gbmV3IFBlcmZvcm1hbmNl
T2JzZXJ2ZXIoKGxpc3QpID0+IHsKKyAgICBjb3VudCsrOworICAgIHRlc3RQYXNzZWQoIlBlcmZv
cm1hbmNlT2JzZXJ2ZXIgNSBjYWxsYmFjayBmaXJlZCIpOworICAgIHNob3VsZEJlKGBjb3VudGAs
IGA1YCk7Cit9KTsKKworLy8gUmVnaXN0ZXIgYWxsIGluIG9yZGVyLgorZm9yIChsZXQgbyBvZiBb
b2JzZXJ2ZXIxLCBvYnNlcnZlcjIsIG9ic2VydmVyU3BlY2lhbCwgb2JzZXJ2ZXIzLCBvYnNlcnZl
cjQsIG9ic2VydmVyNV0pCisgICAgby5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbIm1hcmsiXX0pOwor
CisvLyBVbnJlZ2lzdGVyIGFuZCByZS1yZWdpc3RlciBtb3ZlcyB0aGlzIHRvIHRoZSBiYWNrIG9m
IHRoZSBsaW5lLgorb2JzZXJ2ZXJTcGVjaWFsLmRpc2Nvbm5lY3QoKTsKK29ic2VydmVyU3BlY2lh
bC5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbIm1hcmsiXX0pOworCitwZXJmb3JtYW5jZS5tYXJrKCJt
YXJrMSIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItcGVyaW9kaWMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLXBl
cmlvZGljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MC4uNTUwZmNhNjkyMDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5j
ZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItcGVyaW9kaWMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTYgQEAKK0Vuc3VyZSBQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrIGZpcmVzIGZvciBh
bGwgb2JzZXJ2ZWQgZW50cmllcyBiZXR3ZWVuIG9ic2VydmUvZGlzY29ubmVjdCBjYWxscy4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BlcmZvcm1hbmNlT2JzZXJ2ZXIgY2FsbGJh
Y2sgZmlyZWQ6IDEgZW50cmllcworUEFTUyBtYXJrMQorUGVyZm9ybWFuY2VPYnNlcnZlciBjYWxs
YmFjayBmaXJlZDogMiBlbnRyaWVzCitQQVNTIG1hcmsyCitQQVNTIG1hcmszCitQZXJmb3JtYW5j
ZU9ic2VydmVyIGNhbGxiYWNrIGZpcmVkOiAxIGVudHJpZXMKK1BBU1MgbWFyazcKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItcGVyaW9kaWMu
aHRtbCBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1w
ZXJpb2RpYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zODc0
NmIzODI4MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9w
ZXJmb3JtYW5jZS1vYnNlcnZlci1wZXJpb2RpYy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3Jp
cHRpb24oIkVuc3VyZSBQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrIGZpcmVzIGZvciBhbGwg
b2JzZXJ2ZWQgZW50cmllcyBiZXR3ZWVuIG9ic2VydmUvZGlzY29ubmVjdCBjYWxscy4iKTsKK3dp
bmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworbGV0IHNob3VsZEVuZCA9IGZhbHNlOworCits
ZXQgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigobGlzdCkgPT4geworICAgIGRl
YnVnKCJQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrIGZpcmVkOiAiICsgbGlzdC5nZXRFbnRy
aWVzKCkubGVuZ3RoICsgIiBlbnRyaWVzIik7CisgICAgZm9yIChsZXQgbWFyayBvZiBsaXN0Lmdl
dEVudHJpZXMoKSkgeworICAgICAgICBpZiAobWFyay5uYW1lID09PSAibWFyazUiIHx8IG1hcmsu
bmFtZSA9PT0gIm1hcms2IikKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIlNob3VsZCBub3QgaGF2
ZSBvYnNlcnZlZCAiICsgbWFyay5uYW1lKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGVz
dFBhc3NlZChtYXJrLm5hbWUpOworICAgIH0KKyAgICBpZiAoc2hvdWxkRW5kKQorICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKK30pOworb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJtYXJr
Il19KTsKKworLy8gLS0tCisKK3BlcmZvcm1hbmNlLm1hcmsoIm1hcmsxIik7CisKK3NldFRpbWVv
dXQoKCkgPT4geworICAgIHBlcmZvcm1hbmNlLm1hcmsoIm1hcmsyIik7CisgICAgcGVyZm9ybWFu
Y2UubWFyaygibWFyazMiKTsKK30sIDUwKTsKKworc2V0VGltZW91dCgoKSA9PiB7CisgICAgcGVy
Zm9ybWFuY2UubWFyaygibWFyazQiKTsKKyAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7CisgICAg
cGVyZm9ybWFuY2UubWFyaygibWFyazUiKTsgLy8gTk9UIHNlZW4uCit9LCAxMDApOworCitzZXRU
aW1lb3V0KCgpID0+IHsKKyAgICBwZXJmb3JtYW5jZS5tYXJrKCJtYXJrNiIpOyAvLyBOT1Qgc2Vl
bi4KKyAgICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbIm1hcmsiXX0pOworICAgIHBl
cmZvcm1hbmNlLm1hcmsoIm1hcms3Iik7CisgICAgc2hvdWxkRW5kID0gdHJ1ZTsKK30sIDE1MCk7
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9wZXJmb3JtYW5jZS10aW1lbGluZS1hcGktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLXRpbWVsaW5lLWFwaS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmUzZjIwNzYzM2ZmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNl
LXRpbWVsaW5lLWFwaS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0OCBAQAorQmFzaWMgSW50ZXJm
YWNlIHRlc3QgZm9yIHBlcmZvcm1hbmNlLXRpbWVsaW5lIEFQSXMuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQZXJmb3JtYW5jZUVudHJ5CitQQVNTIFBlcmZvcm1hbmNlRW50cnkg
aXMgZGVmaW5lZC4KK1BBU1MgIm5hbWUiIGluIFBlcmZvcm1hbmNlRW50cnkucHJvdG90eXBlIGlz
IHRydWUKK1BBU1MgImVudHJ5VHlwZSIgaW4gUGVyZm9ybWFuY2VFbnRyeS5wcm90b3R5cGUgaXMg
dHJ1ZQorUEFTUyAic3RhcnRUaW1lIiBpbiBQZXJmb3JtYW5jZUVudHJ5LnByb3RvdHlwZSBpcyB0
cnVlCitQQVNTICJkdXJhdGlvbiIgaW4gUGVyZm9ybWFuY2VFbnRyeS5wcm90b3R5cGUgaXMgdHJ1
ZQorUEFTUyBuZXcgUGVyZm9ybWFuY2VFbnRyeSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgUGVyZm9ybWFu
Y2VFbnRyeSgpJykuCisKK1BlcmZvcm1hbmNlIGV4dGVuc2lvbnMKK1BBU1MgUGVyZm9ybWFuY2Uu
cHJvdG90eXBlLmdldEVudHJpZXMgaXMgZGVmaW5lZC4KK1BBU1MgUGVyZm9ybWFuY2UucHJvdG90
eXBlLmdldEVudHJpZXNCeVR5cGUgaXMgZGVmaW5lZC4KK1BBU1MgUGVyZm9ybWFuY2UucHJvdG90
eXBlLmdldEVudHJpZXNCeU5hbWUgaXMgZGVmaW5lZC4KK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50
cmllcygpIGluc3RhbmNlb2YgQXJyYXkgaXMgdHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRy
aWVzKCkubGVuZ3RoID09PSAwIGlzIHRydWUKK1BBU1MgcGVyZm9ybWFuY2UubWFyaygidGVzdCIp
OyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllcygp
Lmxlbmd0aCA9PT0gMSBpcyB0cnVlCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXMoKVswXSBp
bnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50cnkgaXMgdHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5nZXRF
bnRyaWVzKClbMF0ubmFtZSBpcyAidGVzdCIKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllcygp
WzBdLmVudHJ5VHlwZSBpcyAibWFyayIKK1BBU1MgdHlwZW9mIHBlcmZvcm1hbmNlLmdldEVudHJp
ZXMoKVswXS5zdGFydFRpbWUgPT09ICJudW1iZXIiIGlzIHRydWUKK1BBU1MgdHlwZW9mIHBlcmZv
cm1hbmNlLmdldEVudHJpZXMoKVswXS5kdXJhdGlvbiA9PT0gIm51bWJlciIgaXMgdHJ1ZQorUEFT
UyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5
cGUoIm5vdC1yZWFsIikubGVuZ3RoID09PSAwIGlzIHRydWUKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0
RW50cmllc0J5VHlwZSgibWFyayIpLmxlbmd0aCA9PT0gMSBpcyB0cnVlCitQQVNTIHBlcmZvcm1h
bmNlLmdldEVudHJpZXNCeVR5cGUoIm1hcmsiKVswXSBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50
cnkgaXMgdHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJtYXJrIilbMF0u
bmFtZSBpcyAidGVzdCIKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibWFyayIp
WzBdLmVudHJ5VHlwZSBpcyAibWFyayIKK1BBU1MgdHlwZW9mIHBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeVR5cGUoIm1hcmsiKVswXS5zdGFydFRpbWUgPT09ICJudW1iZXIiIGlzIHRydWUKK1BBU1Mg
dHlwZW9mIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoIm1hcmsiKVswXS5kdXJhdGlvbiA9
PT0gIm51bWJlciIgaXMgdHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIHBl
cmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoIm5vdC1yZWFsIikubGVuZ3RoID09PSAwIGlzIHRy
dWUKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgidGVzdCIpLmxlbmd0aCA9PT0g
MSBpcyB0cnVlCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoInRlc3QiKVswXSBp
bnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50cnkgaXMgdHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5nZXRF
bnRyaWVzQnlOYW1lKCJ0ZXN0IilbMF0ubmFtZSBpcyAidGVzdCIKK1BBU1MgcGVyZm9ybWFuY2Uu
Z2V0RW50cmllc0J5TmFtZSgidGVzdCIpWzBdLmVudHJ5VHlwZSBpcyAibWFyayIKK1BBU1MgdHlw
ZW9mIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoInRlc3QiKVswXS5zdGFydFRpbWUgPT09
ICJudW1iZXIiIGlzIHRydWUKK1BBU1MgdHlwZW9mIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5h
bWUoInRlc3QiKVswXS5kdXJhdGlvbiA9PT0gIm51bWJlciIgaXMgdHJ1ZQorUEFTUyBwZXJmb3Jt
YW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJ0ZXN0IiwgIm5vdC1yZWFsIikubGVuZ3RoID09PSAwIGlz
IHRydWUKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgidGVzdCIsICJtYXJrIiku
bGVuZ3RoID09PSAxIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkv
cGVyZm9ybWFuY2UtdGltZWxpbmUtYXBpLmh0bWwgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1h
cGkvcGVyZm9ybWFuY2UtdGltZWxpbmUtYXBpLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAuLmUxNzM5MTk1Njk0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLXRpbWVsaW5lLWFwaS5odG1sCkBAIC0wLDAg
KzEsNTggQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0PgorZGVzY3JpcHRpb24oIkJhc2ljIEludGVyZmFjZSB0ZXN0IGZvciBwZXJmb3JtYW5j
ZS10aW1lbGluZSBBUElzLiIpOworCitkZWJ1ZygiUGVyZm9ybWFuY2VFbnRyeSIpOworc2hvdWxk
QmVEZWZpbmVkKCJQZXJmb3JtYW5jZUVudHJ5Iik7CitzaG91bGRCZVRydWUoYCJuYW1lIiBpbiBQ
ZXJmb3JtYW5jZUVudHJ5LnByb3RvdHlwZWApOworc2hvdWxkQmVUcnVlKGAiZW50cnlUeXBlIiBp
biBQZXJmb3JtYW5jZUVudHJ5LnByb3RvdHlwZWApOworc2hvdWxkQmVUcnVlKGAic3RhcnRUaW1l
IiBpbiBQZXJmb3JtYW5jZUVudHJ5LnByb3RvdHlwZWApOworc2hvdWxkQmVUcnVlKGAiZHVyYXRp
b24iIGluIFBlcmZvcm1hbmNlRW50cnkucHJvdG90eXBlYCk7CitzaG91bGRUaHJvdyhgbmV3IFBl
cmZvcm1hbmNlRW50cnkoKWApOworCisvLyBOT1RFOiBUaGUgQVBJcyBiZWxvdyBtYXkgYmUgZ29p
bmcgYXdheS4gUmVwbGFjZWQgYnkgUGVyZm9ybWFuY2VPYnNlcnZlci4KKworZGVidWcoIiIpOwor
ZGVidWcoIlBlcmZvcm1hbmNlIGV4dGVuc2lvbnMiKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9y
bWFuY2UucHJvdG90eXBlLmdldEVudHJpZXNgKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9ybWFu
Y2UucHJvdG90eXBlLmdldEVudHJpZXNCeVR5cGVgKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9y
bWFuY2UucHJvdG90eXBlLmdldEVudHJpZXNCeU5hbWVgKTsKKworc2hvdWxkQmVUcnVlKGBwZXJm
b3JtYW5jZS5nZXRFbnRyaWVzKCkgaW5zdGFuY2VvZiBBcnJheWApOworc2hvdWxkQmVUcnVlKGBw
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzKCkubGVuZ3RoID09PSAwYCk7CitzaG91bGROb3RUaHJvdyhg
cGVyZm9ybWFuY2UubWFyaygidGVzdCIpO2ApOworc2hvdWxkQmVUcnVlKGBwZXJmb3JtYW5jZS5n
ZXRFbnRyaWVzKCkubGVuZ3RoID09PSAxYCk7CitzaG91bGRCZVRydWUoYHBlcmZvcm1hbmNlLmdl
dEVudHJpZXMoKVswXSBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50cnlgKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZyhgcGVyZm9ybWFuY2UuZ2V0RW50cmllcygpWzBdLm5hbWVgLCAidGVzdCIpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKClbMF0uZW50cnlU
eXBlYCwgIm1hcmsiKTsKK3Nob3VsZEJlVHJ1ZShgdHlwZW9mIHBlcmZvcm1hbmNlLmdldEVudHJp
ZXMoKVswXS5zdGFydFRpbWUgPT09ICJudW1iZXIiYCk7CitzaG91bGRCZVRydWUoYHR5cGVvZiBw
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzKClbMF0uZHVyYXRpb24gPT09ICJudW1iZXIiYCk7CisKK3No
b3VsZFRocm93KGBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKClgKTsKK3Nob3VsZEJlVHJ1
ZShgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibm90LXJlYWwiKS5sZW5ndGggPT09IDBg
KTsKK3Nob3VsZEJlVHJ1ZShgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibWFyayIpLmxl
bmd0aCA9PT0gMWApOworc2hvdWxkQmVUcnVlKGBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBl
KCJtYXJrIilbMF0gaW5zdGFuY2VvZiBQZXJmb3JtYW5jZUVudHJ5YCk7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoYHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoIm1hcmsiKVswXS5uYW1lYCwg
InRlc3QiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZyhgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5
VHlwZSgibWFyayIpWzBdLmVudHJ5VHlwZWAsICJtYXJrIik7CitzaG91bGRCZVRydWUoYHR5cGVv
ZiBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJtYXJrIilbMF0uc3RhcnRUaW1lID09PSAi
bnVtYmVyImApOworc2hvdWxkQmVUcnVlKGB0eXBlb2YgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5
VHlwZSgibWFyayIpWzBdLmR1cmF0aW9uID09PSAibnVtYmVyImApOworCitzaG91bGRUaHJvdyhg
cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgpYCk7CitzaG91bGRCZVRydWUoYHBlcmZvcm1h
bmNlLmdldEVudHJpZXNCeU5hbWUoIm5vdC1yZWFsIikubGVuZ3RoID09PSAwYCk7CitzaG91bGRC
ZVRydWUoYHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoInRlc3QiKS5sZW5ndGggPT09IDFg
KTsKK3Nob3VsZEJlVHJ1ZShgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgidGVzdCIpWzBd
IGluc3RhbmNlb2YgUGVyZm9ybWFuY2VFbnRyeWApOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBw
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJ0ZXN0IilbMF0ubmFtZWAsICJ0ZXN0Iik7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoYHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoInRlc3Qi
KVswXS5lbnRyeVR5cGVgLCAibWFyayIpOworc2hvdWxkQmVUcnVlKGB0eXBlb2YgcGVyZm9ybWFu
Y2UuZ2V0RW50cmllc0J5TmFtZSgidGVzdCIpWzBdLnN0YXJ0VGltZSA9PT0gIm51bWJlciJgKTsK
K3Nob3VsZEJlVHJ1ZShgdHlwZW9mIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoInRlc3Qi
KVswXS5kdXJhdGlvbiA9PT0gIm51bWJlciJgKTsKK3Nob3VsZEJlVHJ1ZShgcGVyZm9ybWFuY2Uu
Z2V0RW50cmllc0J5TmFtZSgidGVzdCIsICJub3QtcmVhbCIpLmxlbmd0aCA9PT0gMGApOworc2hv
dWxkQmVUcnVlKGBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJ0ZXN0IiwgIm1hcmsiKS5s
ZW5ndGggPT09IDFgKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0
ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2pzL2RvbS9nbG9iYWwt
Y29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CmluZGV4IGE0YWVhMGEzMmIzLi41
ZmYwMGMyMjY0YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2pzL2RvbS9n
bG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2VmbC9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4
cGVjdGVkLnR4dApAQCAtMTAyOCw2ICsxMDI4LDE2IEBAIFBBU1MgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5oYXNPd25Qcm9w
CiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCiBQQVNTIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
JykuZW51bWVyYWJsZSBpcyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlvbicpLmNvbmZpZ3VyYWJsZSBpcyB0cnVl
CitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFu
Y2VPYnNlcnZlcicpLnZhbHVlIGlzIFBlcmZvcm1hbmNlT2JzZXJ2ZXIKK1BBU1MgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuaGFz
T3duUHJvcGVydHkoJ2dldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmhhc093blByb3BlcnR5KCdz
ZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2Jh
bCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicp
LmNvbmZpZ3VyYWJsZSBpcyB0cnVlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLnZhbHVlIGlzIFBlcmZv
cm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuaGFzT3duUHJvcGVy
dHkoJ2dldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
Z2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhhc093blByb3BlcnR5KCdz
ZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2Jh
bCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQ
QVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VP
YnNlcnZlckVudHJ5TGlzdCcpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCiBQQVNTIE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VUaW1pbmcnKS52YWx1ZSBp
cyBQZXJmb3JtYW5jZVRpbWluZwogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KGdsb2JhbCwgJ1BlcmZvcm1hbmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZh
bHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9y
bWFuY2VUaW1pbmcnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRy
aWJ1dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9qcy9kb20vZ2xv
YmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAppbmRleCA1MmFkOWZjNTQz
Yi4uM2U0NTg3Nzk5NWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9qcy9k
b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRl
cy1leHBlY3RlZC50eHQKQEAgLTExNTgsNiArMTE1OCwxNiBAQCBQQVNTIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuaGFzT3du
UHJvcAogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZv
cm1hbmNlTmF2aWdhdGlvbicpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQogUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdh
dGlvbicpLmVudW1lcmFibGUgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5jb25maWd1cmFibGUgaXMg
dHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZv
cm1hbmNlT2JzZXJ2ZXInKS52YWx1ZSBpcyBQZXJmb3JtYW5jZU9ic2VydmVyCitQQVNTIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicp
Lmhhc093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS5oYXNPd25Qcm9wZXJ0
eSgnc2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihn
bG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2
ZXInKS5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS52YWx1ZSBpcyBQ
ZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0CitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhhc093blBy
b3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5oYXNPd25Qcm9wZXJ0
eSgnc2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihn
bG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuZW51bWVyYWJsZSBpcyBmYWxz
ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1h
bmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5jb25maWd1cmFibGUgaXMgdHJ1ZQogUEFTUyBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlVGltaW5nJykudmFs
dWUgaXMgUGVyZm9ybWFuY2VUaW1pbmcKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZVRpbWluZycpLmhhc093blByb3BlcnR5KCdnZXQnKSBp
cyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1Bl
cmZvcm1hbmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtZWxjYXBpdGFuL2pzL2RvbS9nbG9iYWwtY29u
c3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLWVsY2FwaXRhbi9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVj
dGVkLnR4dAppbmRleCBhYjkxYjhlNWZjMi4uN2ZjMThlYWMxNzggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy1lbGNhcGl0YW4vanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMt
YXR0cmlidXRlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWVs
Y2FwaXRhbi9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4
dApAQCAtMTE5Myw2ICsxMTkzLDE2IEBAIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5oYXNPd25Qcm9wCiBQQVNTIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0
aW9uJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCiBQQVNTIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuZW51bWVy
YWJsZSBpcyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2Jh
bCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlvbicpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCitQQVNTIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZl
cicpLnZhbHVlIGlzIFBlcmZvcm1hbmNlT2JzZXJ2ZXIKK1BBU1MgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuaGFzT3duUHJvcGVy
dHkoJ2dldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
Z2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBm
YWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZv
cm1hbmNlT2JzZXJ2ZXInKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmNvbmZpZ3Vy
YWJsZSBpcyB0cnVlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFs
LCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLnZhbHVlIGlzIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXJFbnRyeUxpc3QKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9i
YWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuaGFzT3duUHJvcGVydHkoJ2dldCcp
IGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAn
UGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBm
YWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZv
cm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVu
dHJ5TGlzdCcpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VUaW1pbmcnKS52YWx1ZSBpcyBQZXJmb3Jt
YW5jZVRpbWluZwogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwg
J1BlcmZvcm1hbmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZhbHNlCiBQQVNT
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VUaW1p
bmcnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azEvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRl
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2pzL2RvbS9nbG9i
YWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CmluZGV4IGFiOTFiOGU1ZmMy
Li43ZmMxOGVhYzE3OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9q
cy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0
dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CkBAIC0xMTkzLDYgKzExOTMsMTYgQEAgUEFTUyBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlvbicp
Lmhhc093blByb3AKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWws
ICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UK
IFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5j
ZU5hdmlnYXRpb24nKS5lbnVtZXJhYmxlIGlzIGZhbHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuY29uZmlndXJh
YmxlIGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWws
ICdQZXJmb3JtYW5jZU9ic2VydmVyJykudmFsdWUgaXMgUGVyZm9ybWFuY2VPYnNlcnZlcgorUEFT
UyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXInKS5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuaGFzT3du
UHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmVudW1lcmFibGUgaXMgZmFsc2UK
K1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5j
ZU9ic2VydmVyJykuY29uZmlndXJhYmxlIGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykudmFs
dWUgaXMgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdAorUEFTUyBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5o
YXNPd25Qcm9wZXJ0eSgnZ2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuaGFzT3du
UHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmVudW1lcmFibGUg
aXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQ
ZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuY29uZmlndXJhYmxlIGlzIHRydWUKIFBBU1Mg
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZVRpbWlu
ZycpLnZhbHVlIGlzIFBlcmZvcm1hbmNlVGltaW5nCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VUaW1pbmcnKS5oYXNPd25Qcm9wZXJ0eSgn
Z2V0JykgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9i
YWwsICdQZXJmb3JtYW5jZVRpbWluZycpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXlvc2VtaXRlL2pzL2RvbS9nbG9i
YWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXlvc2VtaXRlL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMt
ZXhwZWN0ZWQudHh0CmluZGV4IGQ1MTc1Njc0MzdmLi5iMDgxYWQyZWRjZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXlvc2VtaXRlL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0
b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy15b3NlbWl0ZS9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVk
LnR4dApAQCAtMTE4OCw2ICsxMTg4LDE2IEBAIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5oYXNPd25Qcm9wCiBQQVNT
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZp
Z2F0aW9uJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCiBQQVNTIE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuZW51
bWVyYWJsZSBpcyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGds
b2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlvbicpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCitQQVNT
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNl
cnZlcicpLnZhbHVlIGlzIFBlcmZvcm1hbmNlT2JzZXJ2ZXIKK1BBU1MgT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuaGFzT3duUHJv
cGVydHkoJ2dldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmhhc093blByb3BlcnR5KCdzZXQnKSBp
cyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1Bl
cmZvcm1hbmNlT2JzZXJ2ZXInKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmNvbmZp
Z3VyYWJsZSBpcyB0cnVlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xv
YmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLnZhbHVlIGlzIFBlcmZvcm1hbmNl
T2JzZXJ2ZXJFbnRyeUxpc3QKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihn
bG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuaGFzT3duUHJvcGVydHkoJ2dl
dCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFs
LCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhhc093blByb3BlcnR5KCdzZXQnKSBp
cyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1Bl
cmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZl
ckVudHJ5TGlzdCcpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VUaW1pbmcnKS52YWx1ZSBpcyBQZXJm
b3JtYW5jZVRpbWluZwogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2Jh
bCwgJ1BlcmZvcm1hbmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZhbHNlCiBQ
QVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VU
aW1pbmcnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9qcy9kb20vZ2xvYmFsLWNv
bnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAppbmRleCBkNTdlNzFjMjBhNi4uYWE4
MGVlNDUwZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9qcy9kb20vZ2xv
YmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBl
Y3RlZC50eHQKQEAgLTExOTgsNiArMTE5OCwxNiBAQCBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuaGFzT3duUHJvcAog
UEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNl
TmF2aWdhdGlvbicpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQogUEFTUyBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlvbicp
LmVudW1lcmFibGUgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5jb25maWd1cmFibGUgaXMgdHJ1ZQor
UEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNl
T2JzZXJ2ZXInKS52YWx1ZSBpcyBQZXJmb3JtYW5jZU9ic2VydmVyCitQQVNTIE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmhhc093
blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS5oYXNPd25Qcm9wZXJ0eSgnc2V0
JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWws
ICdQZXJmb3JtYW5jZU9ic2VydmVyJykuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFTUyBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS5j
b25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS52YWx1ZSBpcyBQZXJmb3Jt
YW5jZU9ic2VydmVyRW50cnlMaXN0CitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhhc093blByb3BlcnR5
KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGds
b2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0
JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWws
ICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFT
UyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXJFbnRyeUxpc3QnKS5jb25maWd1cmFibGUgaXMgdHJ1ZQogUEFTUyBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlVGltaW5nJykudmFsdWUgaXMg
UGVyZm9ybWFuY2VUaW1pbmcKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihn
bG9iYWwsICdQZXJmb3JtYW5jZVRpbWluZycpLmhhc093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxz
ZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1h
bmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmli
dXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vanMvZG9tL2dsb2Jh
bC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKaW5kZXggNjZhZWEyZDliYWQu
LjZlNWRlNTBjZjNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vanMvZG9t
L2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMt
ZXhwZWN0ZWQudHh0CkBAIC04ODgsNiArODg4LDE2IEBAIFBBU1MgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5oYXNPd25Qcm9w
CiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCiBQQVNTIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
JykuZW51bWVyYWJsZSBpcyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlvbicpLmNvbmZpZ3VyYWJsZSBpcyB0cnVl
CitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFu
Y2VPYnNlcnZlcicpLnZhbHVlIGlzIFBlcmZvcm1hbmNlT2JzZXJ2ZXIKK1BBU1MgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuaGFz
T3duUHJvcGVydHkoJ2dldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmhhc093blByb3BlcnR5KCdz
ZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2Jh
bCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicp
LmNvbmZpZ3VyYWJsZSBpcyB0cnVlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLnZhbHVlIGlzIFBlcmZv
cm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuaGFzT3duUHJvcGVy
dHkoJ2dldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
Z2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhhc093blByb3BlcnR5KCdz
ZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2Jh
bCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQ
QVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VP
YnNlcnZlckVudHJ5TGlzdCcpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCiBQQVNTIE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VUaW1pbmcnKS52YWx1ZSBp
cyBQZXJmb3JtYW5jZVRpbWluZwogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KGdsb2JhbCwgJ1BlcmZvcm1hbmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZh
bHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9y
bWFuY2VUaW1pbmcnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q2hhbmdlTG9nCmluZGV4IGRhYzIwMTg1ODY0Li5hNTNhMDMwYjNkNiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMDEtMzAgIEpvc2VwaCBQZWNvcmFybyAg
PHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgUGVyZm9ybWFuY2VPYnNl
cnZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3
NTQ2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDI0Nzk1OT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBydW50aW1lL0NvbW1vbklkZW50aWZpZXJz
Lmg6CisKIDIwMTctMDEtMzAgIE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IE5lZWQgc29tZSBsaW1pdCBvbiBBc3luYyBDYWxsIFN0YWNr
cyBmb3IgYXN5bmMgbG9vcHMgKHJBRiBsb29wcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4IDQ1NWE0MTJlMmI3Li41Nzg3YWY1
NjAyMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRl
bnRpZmllcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVu
dGlmaWVycy5oCkBAIC04OSw2ICs4OSw4IEBACiAgICAgbWFjcm8oUGVyZm9ybWFuY2VFbnRyeUxp
c3QpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU1hcmspIFwKICAgICBtYWNybyhQZXJmb3JtYW5j
ZU1lYXN1cmUpIFwKKyAgICBtYWNybyhQZXJmb3JtYW5jZU9ic2VydmVyKSBcCisgICAgbWFjcm8o
UGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQcm9taXNlKSBcCiAgICAgbWFjcm8oUHJveHkpIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNDQzMTZkZWNiZDQuLjVjY2RkODNlMTBiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dApAQCAtNjAxLDYgKzYwMSw5IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURM
X0ZJTEVTCiAgICAgcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbAogICAgIHBhZ2UvUGVyZm9ybWFu
Y2VNYXJrLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbAorICAgIHBhZ2UvUGVy
Zm9ybWFuY2VPYnNlcnZlci5pZGwKKyAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFj
ay5pZGwKKyAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsCiAgICAgcGFn
ZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsCkBAIC0xOTkwLDYgKzE5
OTMsOCBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmcu
Y3BwCiAgICAgcGFnZS9QZXJmb3JtYW5jZU1vbml0b3IuY3BwCiAgICAgcGFnZS9QZXJmb3JtYW5j
ZU5hdmlnYXRpb24uY3BwCisgICAgcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAorICAgIHBh
Z2UvUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAKICAgICBwYWdlL1BlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcuY3BwCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5jcHAKICAgICBw
YWdlL1BlcmZvcm1hbmNlVXNlclRpbWluZy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkNWNjZGI2YWQxZS4u
NzU1ODI1MmMyZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4NyBAQAorMjAxNy0wMS0zMCAgSm9z
ZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBQ
ZXJmb3JtYW5jZU9ic2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjc1NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwMjQ3OTU5PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICBUaGlzIGltcGxlbWVu
dHMgUGVyZm9ybWFuY2VPYnNlcnZlciBmcm9tIFBlcmZvcm1hbmNlIFRpbWVsaW5lIExldmVsIDI6
CisgICAgICAgIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJmb3JtYW5jZS10aW1lbGluZS8KKwor
ICAgICAgICBUZXN0czogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWFwaS5o
dG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIt
YmFzaWMuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9i
c2VydmVyLWNhbGxiYWNrLW11dGF0ZS5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1h
cGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItY2FsbGJhY2stdGFzay5odG1sCisgICAgICAgICAgICAg
ICBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZW50cnktc29ydC5odG1sCisg
ICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZXhjZXB0
aW9uLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNl
cnZlci1uZXN0ZWQuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1h
bmNlLW9ic2VydmVyLW9yZGVyLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9w
ZXJmb3JtYW5jZS1vYnNlcnZlci1wZXJpb2RpYy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3Jt
YW5jZS1hcGkvcGVyZm9ybWFuY2UtdGltZWxpbmUtYXBpLmh0bWwKKworICAgICAgICAqIENNYWtl
TGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICBOZXcgZmlsZXMuCisKKyAg
ICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmg6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6bWFyayk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6bWVhc3VyZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZTo6cmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZv
cm1hbmNlOjp1bnJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcik6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZTo6cXVldWVFbnRyeSk6CisgICAgICAgIFJlZ2lzdGVyIFBlcmZvcm1hbmNl
T2JzZXJ2ZXJzIHdpdGggdGhlIFBlcmZvcm1hbmNlIG9iamVjdC4KKyAgICAgICAgV2hlbiBuZXcg
UGVyZm9ybWFuY2VFbnRyaWVzIGFyZSBjcmVhdGVkIChNYXJrIGFuZCBNZWFzdXJlCisgICAgICAg
IHJpZ2h0IG5vdykgY2hlY2sgdGhlbSBhZ2FpbnN0IG9ic2VydmVycy4KKworICAgICAgICAqIHBh
Z2UvUGVyZm9ybWFuY2VFbnRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVu
dHJ5OjpQZXJmb3JtYW5jZUVudHJ5KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50
cnk6OnR5cGVGb3JFbnRyeVR5cGVTdHJpbmcpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VF
bnRyeS5oOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6dHlwZSk6CisgICAg
ICAgIEdpdmUgUGVyZm9ybWFuY2VFbnRyeSBhIGNvbnZlbmllbmNlIGVudW0gZm9yIGVhc3kgY29t
cGFyaXNvbgorICAgICAgICBhbmQgdG8ga25vdyBpZiBpdCBpcyBvbmUgb2YgdGhlIGJ1aWx0LWlu
IGtub3duIHR5cGVzICh3aGljaCB0aGUKKyAgICAgICAgUGVyZm9ybWFuY2VPYnNlcnZlciBBUEkg
dGFrZXMgaW50byBhY2NvdW50KS4KKworICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6UGVy
Zm9ybWFuY2VPYnNlcnZlcik6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVy
OjpvYnNlcnZlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlT2JzZXJ2ZXI6OmRpc2Nv
bm5lY3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6cXVldWVFbnRy
eSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyOjpkZWxpdmVyKToKKyAg
ICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBl
cmZvcm1hbmNlT2JzZXJ2ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZU9ic2VydmVyOjp0eXBlRmlsdGVyKToKKyAgICAgICAgLSBUeXBlRXJyb3JzIG9uIG9ic2VydmUg
YmFkIGJlaGF2aW9yCisgICAgICAgIC0gQ29tcGxldGVseSByZXBsYWNlIHR5cGVzIGZpbHRlciBv
biBvYnNlcnZlCisgICAgICAgIC0gSGFuZGxlIHJlZ2lzdGVyIGFuZCB1bnJlZ2lzdGVyCisgICAg
ICAgIC0gSGFuZGxlIGNhbGxpbmcgdGhlIGNhbGxiYWNrCisKKyAgICAgICAgKiBwYWdlL1BlcmZv
cm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGw6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvUGVyZm9y
bWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdDo6UGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCk6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0OjpnZXRFbnRy
aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Q6Omdl
dEVudHJpZXNCeVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlckVu
dHJ5TGlzdDo6Z2V0RW50cmllc0J5TmFtZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU9i
c2VydmVyRW50cnlMaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVy
RW50cnlMaXN0OjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckVu
dHJ5TGlzdC5pZGw6IEFkZGVkLgorICAgICAgICBJbXBsZW1lbnQgc29ydGluZyBhbmQgZmlsdGVy
aW5nIG9mIGVudHJpZXMuCisKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5oOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrOjp+UGVyZm9ybWFu
Y2VPYnNlcnZlckNhbGxiYWNrKToKKyAgICAgICAgTW9zdGx5IGF1dG9nZW5lcmF0ZWQuCisKKyAg
ICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlVXNlclRpbWluZy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpVc2VyVGltaW5nOjptYXJrKToKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJUaW1pbmc6Om1lYXN1
cmUpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VVc2VyVGltaW5nLmg6CisgICAgICAgIFVw
ZGF0ZSB0aGVzZSB0byByZXR1cm4gdGhlIGVudHJ5IHNvIGl0IGNhbiBiZSBwYXNzZWQgb24gdG8K
KyAgICAgICAgYW55IGludGVyZXN0ZWQgUGVyZm9ybWFuY2VPYnNlcnZlcnMuCisKIDIwMTctMDEt
MzAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBEcm9wIGxlZ2Fj
eSBBdHRyaWJ1dGVzLmlzSWQgYXR0cmlidXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpp
bmRleCAzOGU3Y2I5MzM5ZC4uNzEwNjZjNjI5ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQpAQCAtNTg0LDYgKzU4NCw5IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNv
cmUpL3BhZ2UvUGVyZm9ybWFuY2VNYXJrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZv
cm1hbmNlTWVhc3VyZS5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU5hdmln
YXRpb24uaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwg
XAorICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2suaWRsIFwK
KyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwgXAog
ICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbCBcCiAgICAgJChXZWJDb3JlKS9w
YWdlL1NjcmVlbi5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IGEzZWJiZDFiYWIwLi5jMGJkYjIyZTQxNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDA1
OCw2ICs0MDU4LDE3IEBACiAJCUE1QTJBRjBCMTgyOTczNDMwMERFMTcyOSAvKiBQYWdlRGVidWdn
YWJsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NUEyQUYwOTE4Mjk3MzQzMDBERTE3MjkgLyogUGFnZURlYnVnZ2FibGUuY3BwICovOyB9OwogCQlB
NUEyQUYwQzE4Mjk3MzQzMDBERTE3MjkgLyogUGFnZURlYnVnZ2FibGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QTJBRjBBMTgyOTczNDMwMERFMTcy
OSAvKiBQYWdlRGVidWdnYWJsZS5oICovOyB9OwogCQlBNUE3QUE0MzEzMkYwRUNDMDBEM0EzQzIg
LyogQXV0b2NhcGl0YWxpemVUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTVBN0FBNDIxMzJGMEVDQzAwRDNBM0MyIC8qIEF1dG9jYXBpdGFsaXpl
VHlwZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQlBNUE5OTMzRDFFMzdGQjE5MDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVBOTkzMzYxRTM3RkFG
RDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuaCAqLzsgfTsKKwkJQTVBOTkzM0UxRTM3
RkIxQzAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVBOTkzMzUxRTM3RkFGRDAwNUI1RTREIC8q
IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwICovOyB9OworCQlBNUE5OTMzRjFFMzdGQjFGMDA1QjVF
NEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUE5OTMzODFFMzdGQUZEMDA1QjVFNEQgLyogUGVy
Zm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmggKi87IH07CisJCUE1QTk5MzQwMUUzN0ZCMjUwMDVC
NUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QTk5MzNBMUUzN0ZBRkQwMDVCNUU0RCAv
KiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmNwcCAqLzsgfTsKKwkJQTVBOTkzNDExRTM3
RkIyODAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QTk5MzNCMUUzN0ZBRkQwMDVC
NUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmggKi87IH07CisJCUE1QTk5MzQ4
MUUzODA5QzYwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QTk5MzQzMUUzODA5OTkwMDVCNUU0
RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaCAqLzsgfTsKKwkJQTVBOTkzNDkxRTM4MDlDOTAw
NUI1RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QTk5MzQ0MUUzODA5OTkwMDVCNUU0
RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5jcHAgKi87IH07CisJCUE1QTk5MzRB
MUUzODA5Q0IwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVBOTkzNDUxRTM4MDk5
OTAwNUI1RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmggKi87IH07CisJCUE1
QTk5MzRCMUUzODA5Q0QwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Qu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVBOTkz
NDYxRTM4MDk5OTAwNUI1RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAg
Ki87IH07CisJCUE1QTk5MzRDMUUzODA5Q0YwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2
ZXJFbnRyeUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE1QTk5MzQ3MUUzODA5OTkwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRy
eUxpc3QuaCAqLzsgfTsKKwkJQTVBOTkzNEQxRTM4MDlENzAwNUI1RTREIC8qIEpTUGVyZm9ybWFu
Y2VPYnNlcnZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNUE5OTM0MjFFMzgwOTk5MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2VydmVyLmNw
cCAqLzsgfTsKIAkJQTVBRkIzNEYxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUFGQjM0RDExNTE1
MUE3MDBCMDQ1Q0IgLyogU3RlcFJhbmdlLmNwcCAqLzsgfTsKIAkJQTVBRkIzNTAxMTUxNTFBNzAw
QjA0NUNCIC8qIFN0ZXBSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTVBRkIzNEUxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE1REVCREEzMTZG
QjkwODcwMDgzNkZFMCAvKiBXZWJLaXRQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUV2ZW50LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1REVCRDlG
MTZGQjkwODcwMDgzNkZFMCAvKiBXZWJLaXRQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUV2ZW50
LmNwcCAqLzsgfTsKQEAgLTExNzc0LDYgKzExNzg1LDIwIEBACiAJCUE1QTJBRjA5MTgyOTczNDMw
MERFMTcyOSAvKiBQYWdlRGVidWdnYWJsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBQYWdlRGVidWdnYWJsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE1QTJBRjBBMTgyOTczNDMwMERFMTcyOSAvKiBQYWdlRGVidWdnYWJsZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYWdlRGVidWdnYWJsZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBNUE3QUE0MjEzMkYwRUNDMDBEM0EzQzIgLyogQXV0b2NhcGl0YWxp
emVUeXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdXRvY2FwaXRhbGl6
ZVR5cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QTk5MzM1MUUzN0ZBRkQw
MDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBNUE5OTMzNjFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNl
cnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZU9ic2Vy
dmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QTk5MzM3MUUzN0ZBRkQwMDVC
NUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQ
ZXJmb3JtYW5jZU9ic2VydmVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVB
OTkzMzgxRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJh
Y2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVBOTkzMzkxRTM3RkFGRDAwNUI1
RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTVBOTkzM0ExRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2
ZXJFbnRyeUxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVy
Zm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUE1QTk5MzNCMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlM
aXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNlT2JzZXJ2
ZXJFbnRyeUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVBOTkzM0MxRTM3
RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBNUE5OTM0MjFFMzgwOTk5MDA1QjVFNEQgLyogSlNQZXJm
b3JtYW5jZU9ic2VydmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTUGVyZm9ybWFuY2VPYnNlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUE1QTk5MzQzMUUzODA5OTkwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQZXJmb3JtYW5jZU9ic2VydmVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QTk5MzQ0MUUzODA5OTkwMDVCNUU0RCAvKiBK
U1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QTk5MzQ1MUUzODA5OTkwMDVCNUU0RCAvKiBKU1BlcmZv
cm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBNUE5OTM0NjFFMzgwOTk5MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2VydmVy
RW50cnlMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUGVy
Zm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUE1QTk5MzQ3MUUzODA5OTkwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRy
eUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQZXJmb3JtYW5jZU9i
c2VydmVyRW50cnlMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1QUZCMzRE
MTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU3RlcFJhbmdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQTVBRkIzNEUxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTdGVwUmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQTVDOTc0Q0YxMTQ4NUZGMTAwNjZGMkFCIC8qIEtleUV2ZW50Q29jb2EuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gS2V5RXZlbnRDb2NvYS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTUzMTUsMTIgKzE1MzQwLDEyIEBACiAJCQkJMDc0NEVDRUMxRTBD
NEFFNTAwMEQwOTQ0IC8qIE1vY2tSZWFsdGltZUF1ZGlvU291cmNlTWFjLm1tICovLAogCQkJCTA3
RUU3NkVEMUJFQTYxOTgwMEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYy5oICov
LAogCQkJCTA3RUU3NkVFMUJFQTYxOTgwMEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJj
ZU1hYy5tbSAqLywKKwkJCQk0MTEwM0FBQTFFMzk3OTBBMDA3NjlGMDMgLyogUmVhbHRpbWVJbmNv
bWluZ0F1ZGlvU291cmNlLmNwcCAqLywKKwkJCQk0MTEwM0FBOTFFMzk3OTBBMDA3NjlGMDMgLyog
UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmggKi8sCiAJCQkJNEEwRkZBQTMxQUFGNUVGNjAw
NjI4MDNCIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwICovLAogCQkJCTRBMEZG
QUE0MUFBRjVFRjYwMDYyODAzQiAvKiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmggKi8s
CiAJCQkJNDExMDNBQTcxRTM5NzkwQTAwNzY5RjAzIC8qIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1Nv
dXJjZS5jcHAgKi8sCiAJCQkJNDExMDNBQTgxRTM5NzkwQTAwNzY5RjAzIC8qIFJlYWx0aW1lT3V0
Z29pbmdBdWRpb1NvdXJjZS5oICovLAotCQkJCTQxMTAzQUE5MUUzOTc5MEEwMDc2OUYwMyAvKiBS
ZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuaCAqLywKLQkJCQk0MTEwM0FBQTFFMzk3OTBBMDA3
NjlGMDMgLyogUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmNwcCAqLywKIAkJCQkwN0Q2Mzcz
RTFCQjBCMTEzMDAyNTZDRTkgLyogV2ViQXVkaW9Tb3VyY2VQcm92aWRlckFWRk9iakMuaCAqLywK
IAkJCQkwN0Q2MzczRjFCQjBCMTEzMDAyNTZDRTkgLyogV2ViQXVkaW9Tb3VyY2VQcm92aWRlckFW
Rk9iakMubW0gKi8sCiAJCQkpOwpAQCAtMTY3MTksOCArMTY3NDQsOCBAQAogCQkJCTUxMDU4QUQ4
MUQ2NzkyNTcwMDlBNTM4QyAvKiBNb2NrR2FtZXBhZC5oICovLAogCQkJCTUxMDU4QUQ5MUQ2Nzky
NTcwMDlBNTM4QyAvKiBNb2NrR2FtZXBhZFByb3ZpZGVyLmNwcCAqLywKIAkJCQk1MTA1OEFEQTFE
Njc5MjU3MDA5QTUzOEMgLyogTW9ja0dhbWVwYWRQcm92aWRlci5oICovLAotCQkJCTQxNTdFQkY4
MUUzQUIwNjgwMEFDOUZFOSAvKiBNb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uaCAqLywKIAkJ
CQk0MTU3RUJGOTFFM0FCMDY4MDBBQzlGRTkgLyogTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9u
LmNwcCAqLywKKwkJCQk0MTU3RUJGODFFM0FCMDY4MDBBQzlGRTkgLyogTW9ja0xpYldlYlJUQ1Bl
ZXJDb25uZWN0aW9uLmggKi8sCiAJCQkJMkQ2RjNFOEExQzFFQ0IxQzAwNjFEQkQ0IC8qIE1vY2tQ
YWdlT3ZlcmxheS5jcHAgKi8sCiAJCQkJMkQ2RjNFOEIxQzFFQ0IxQzAwNjFEQkQ0IC8qIE1vY2tQ
YWdlT3ZlcmxheS5oICovLAogCQkJCTJENkYzRThDMUMxRUNCMUMwMDYxREJENCAvKiBNb2NrUGFn
ZU92ZXJsYXkuaWRsICovLApAQCAtMTgxMjksNiArMTgxNTQsMTQgQEAKIAkJCQk4QUY0RTU1MjEx
REM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCAqLywKIAkJCQk4QUY0
RTU1MzExREM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmggKi8sCiAJCQkJ
OEFGNEU1NTQxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwgKi8s
CisJCQkJQTVBOTkzMzUxRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuY3Bw
ICovLAorCQkJCUE1QTk5MzM2MUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVy
LmggKi8sCisJCQkJQTVBOTkzMzcxRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2
ZXIuaWRsICovLAorCQkJCUE1QTk5MzM4MUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9i
c2VydmVyQ2FsbGJhY2suaCAqLywKKwkJCQlBNUE5OTMzOTFFMzdGQUZEMDA1QjVFNEQgLyogUGVy
Zm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmlkbCAqLywKKwkJCQlBNUE5OTMzQTFFMzdGQUZEMDA1
QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAgKi8sCisJCQkJQTVBOTkz
M0IxRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaCAqLywK
KwkJCQlBNUE5OTMzQzFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5
TGlzdC5pZGwgKi8sCiAJCQkJODY1MTJFREIxNTRBMkFFRTAwQTkwNDI2IC8qIFBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcuY3BwICovLAogCQkJCTg2NTEyRURDMTU0QTJBRUYwMEE5MDQyNiAvKiBQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggKi8sCiAJCQkJODY1MTJFREQxNTRBMkFFRjAwQTkw
NDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsICovLApAQCAtMTk4MTgsOCArMTk4
NTEsOCBAQAogCQlBNTlFM0MxQjExNTgwRjM0MDA3MjkyOEUgLyogaW9zICovID0gewogCQkJaXNh
ID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQlGNDgyMjMxMjFFMzg2RTI0MDA2NkZD
NzkgLyogQWJzdHJhY3RQYXN0ZWJvYXJkLmggKi8sCiAJCQkJQTE0ODMyOEIxODdGNTA2ODAwREE2
M0E2IC8qIHdhayAqLywKKwkJCQlGNDgyMjMxMjFFMzg2RTI0MDA2NkZDNzkgLyogQWJzdHJhY3RQ
YXN0ZWJvYXJkLmggKi8sCiAJCQkJMjY1NTQxNEIxNDg5QUEyQjAwMERGQzVEIC8qIEN1cnNvcklP
Uy5jcHAgKi8sCiAJCQkJQTFFRDc3OEExQkUzMjkzRjAwREMxNzkxIC8qIERldmljZS5jcHAgKi8s
CiAJCQkJQTFFRDc3OEIxQkUzMjk0MDAwREMxNzkxIC8qIERldmljZS5oICovLApAQCAtMTk4NzYs
NiArMTk5MDksOCBAQAogCQkJCUU0NTM5MDM4MEVBRkQ2MzcwMDM2OTVDOCAvKiBXZWJDb3JlU3lz
dGVtSW50ZXJmYWNlSU9TLm1tICovLAogCQkJCUZFMEQ4NEU4MTA0ODQzNDgwMDFBMTc5RSAvKiBX
ZWJFdmVudC5oICovLAogCQkJCUZFMEQ4NEVBMTA0ODQzNkUwMDFBMTc5RSAvKiBXZWJFdmVudC5t
bSAqLywKKwkJCQlGNDgyMjMwRjFFMzg2OUI4MDA2NkZDNzkgLyogV2ViSXRlbVByb3ZpZGVyUGFz
dGVib2FyZC5oICovLAorCQkJCUY0ODIyMzBFMUUzODY5QjgwMDY2RkM3OSAvKiBXZWJJdGVtUHJv
dmlkZXJQYXN0ZWJvYXJkLm1tICovLAogCQkJCUNEQTI5QTJFMUNCRjczRkMwMDkwMUNDRiAvKiBX
ZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5oICovLAogCQkJCUNEQTI5QTJGMUNCRjcz
RkMwMDkwMUNDRiAvKiBXZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5tbSAqLywKIAkJ
CQkzRjQyQjMxQjE4ODExOTFCMDAyNzhBQUMgLyogV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxl
ckFWS2l0LmggKi8sCkBAIC0xOTg4Myw4ICsxOTkxOCw2IEBACiAJCQkJM0ZCQzRBRjIxODk4ODE1
NjAwNDZFRTM4IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LmggKi8sCiAJCQkJ
M0ZCQzRBRjExODk4ODE1NjAwNDZFRTM4IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0Lm1tICovLAogCQkJCUU0NTM5MDNDMEVBRkQ2MzcwMDM2OTVDOCAvKiBXaWRnZXRJT1MubW0g
Ki8sCi0JCQkJRjQ4MjIzMEUxRTM4NjlCODAwNjZGQzc5IC8qIFdlYkl0ZW1Qcm92aWRlclBhc3Rl
Ym9hcmQubW0gKi8sCi0JCQkJRjQ4MjIzMEYxRTM4NjlCODAwNjZGQzc5IC8qIFdlYkl0ZW1Qcm92
aWRlclBhc3RlYm9hcmQuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gaW9zOwogCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKQEAgLTIyNDA1LDYgKzIyNDM4LDEyIEBACiAJCQkJQTU4QzU5Q0YxRTM4
MkVBOTAwNDc4NTlDIC8qIEpTUGVyZm9ybWFuY2VNZWFzdXJlLmggKi8sCiAJCQkJOEE5QTU4NkUx
MUU4NEMzNTAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCAqLywKIAkJCQk4
QTlBNTg2RjExRTg0QzM2MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCAqLywK
KwkJCQlBNUE5OTM0MjFFMzgwOTk5MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2VydmVyLmNw
cCAqLywKKwkJCQlBNUE5OTM0MzFFMzgwOTk5MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2Vy
dmVyLmggKi8sCisJCQkJQTVBOTkzNDQxRTM4MDk5OTAwNUI1RTREIC8qIEpTUGVyZm9ybWFuY2VP
YnNlcnZlckNhbGxiYWNrLmNwcCAqLywKKwkJCQlBNUE5OTM0NTFFMzgwOTk5MDA1QjVFNEQgLyog
SlNQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2suaCAqLywKKwkJCQlBNUE5OTM0NjFFMzgwOTk5
MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmNwcCAqLywKKwkJCQlB
NUE5OTM0NzFFMzgwOTk5MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0
LmggKi8sCiAJCQkJQ0IzOEZENTgxQ0QyMzE0NTAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZy5jcHAgKi8sCiAJCQkJQ0IzOEZENTkxQ0QyMzE0NTAwNTkyQTNGIC8qIEpTUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovLAogCQkJCTBGNDNDODVFMTg5RTE1QTYwMDAxOUFF
MiAvKiBKU1BlcmZvcm1hbmNlVGltaW5nLmNwcCAqLywKQEAgLTI0OTM0LDEzICsyNDk3MywxMyBA
QAogCQkJCUExQjVCMjlGMUFBQTg0NkYwMDhCNjA0MiAvKiBNb2NrQ29udGVudEZpbHRlclNldHRp
bmdzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTA1OEFEQzFENjc5MkMxMDA5QTUzOEMgLyogTW9j
a0dhbWVwYWQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMDU4QURFMUQ2NzkyQzEwMDlBNTM4QyAv
KiBNb2NrR2FtZXBhZFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTU3RUJGQjFFM0FC
NjdGMDBBQzlGRTkgLyogTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uLmggaW4gSGVhZGVycyAq
LywKIAkJCQkyRDZGM0U5MTFDMUVDQjJGMDA2MURCRDQgLyogTW9ja1BhZ2VPdmVybGF5LmggaW4g
SGVhZGVycyAqLywKIAkJCQkyRDk3RjA0ODE5REQ0MTQwMDAxRUU5QzMgLyogTW9ja1BhZ2VPdmVy
bGF5Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQwNjE4QzFFMkVDQTBBMDAzMkIzNEUg
LyogTW9ja1F1aWNrTG9va0hhbmRsZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUE1RjNC
OEQxNkNDMzNEMTAwNDU1RUIwIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBMTc2M0YzRjFFMjA1MjM0MDAxRDU4REUgLyogV2ViQXJjaGl2ZUR1
bXBTdXBwb3J0LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTgxNUMxRjEzODMxOTgzMDA1N0FBQTQg
LyogV2ViQ29yZVRlc3RTdXBwb3J0LmggaW4gSGVhZGVycyAqLywKLQkJCQk0MTU3RUJGQjFFM0FC
NjdGMDBBQzlGRTkgLyogTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uLmggaW4gSGVhZGVycyAq
LywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJ
fTsKQEAgLTI0OTQ4LDYgKzI0OTg3LDcgQEAKIAkJCWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBoYXNl
OwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAorCQkJCUY0
ODIyMzEzMUUzODZFMjQwMDY2RkM3OSAvKiBBYnN0cmFjdFBhc3RlYm9hcmQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQxRTFCMUQxMEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMjlBODEyMkUwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxp
dHlBUklBR3JpZENlbGwuaCBpbiBIZWFkZXJzICovLAogCQkJCTI5QTgxMjMzMEZCQjlDMUQwMDUx
MDI5MyAvKiBBY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3cuaCBpbiBIZWFkZXJzICovLApAQCAtMjUw
MDAsNyArMjUwNDAsNiBAQAogCQkJCTMxOTg0ODAxMUExRDgxN0IwMEExMzMxOCAvKiBBbmltYXRp
b25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlFOTEyQUQwRUZBQzkwNjAwOUQwQ0FGIC8q
IEFuaW1hdGlvbkxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxRENEMjlEMUFCNEZCREUwMDcy
RTgxNyAvKiBBbmltYXRpb25UcmlnZ2VyLmggaW4gSGVhZGVycyAqLywKLQkJCQk0MTc2MTJCMDFF
M0E5OTQwMDBDM0Q4MUQgLyogTGliV2ViUlRDTWVkaWFFbmRwb2ludC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMEY1ODBGQUYxNDk4MDBENDAwRkI1QkQ4IC8qIEFuaW1hdGlvblV0aWxpdGllcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlERDcwOTlFNjQ5MjAwNTZFNTgxIC8qIEFwcGVuZE5vZGVD
b21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzY1NzlFMzFFMDA4MjcwMDBFM0EyN0EgLyog
QXBwbGVQYXlMaW5lSXRlbS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTI4Myw3ICsyNTMyMiw2IEBA
CiAJCQkJQ0U3OTlGQTgxQzZBNTA1NzAwOTdCNTE4IC8qIENvbnRlbnRTZWN1cml0eVBvbGljeU1l
ZGlhTGlzdERpcmVjdGl2ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0U2REFERkExQzU5MUU2QTAw
M0Y2QTg4IC8qIENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQ0U3OTlGQTAxQzZBNEMxNjAwOTdCNTE4IC8qIENvbnRlbnRTZWN1cml0eVBv
bGljeVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRjQ4MjIzMTMxRTM4NkUyNDAwNjZGQzc5
IC8qIEFic3RyYWN0UGFzdGVib2FyZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0U3OTlGOTgxQzZB
NDZCQzAwOTdCNTE4IC8qIENvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3QuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUNFNzk5RkFDMUM2QTUwNjYwMDk3QjUxOCAvKiBDb250ZW50U2VjdXJpdHlQ
b2xpY3lTb3VyY2VMaXN0RGlyZWN0aXZlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MUQwMTVDQTBG
NEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuaCBpbiBIZWFkZXJzICovLApAQCAtMjU3OTAs
NyArMjU4MjgsNiBAQAogCQkJCTA4NUI5MkJCMEVGREU3M0QwMEU2MTIzQyAvKiBGb3JtRGF0YUJ1
aWxkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MTM2RDM4MDk3M0E4RTcwMEQ3NDQ2MyAvKiBG
b3JtRGF0YUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTdFRTY4NDY3MTJEMjZFMzgwMEU3OTQx
NSAvKiBGb3JtRGF0YVN0cmVhbUNGTmV0LmggaW4gSGVhZGVycyAqLywKLQkJCQk0MTU3NDc0QTFF
Mzg2OUFEMDBFOTE0RDggLyogTGliV2ViUlRDVXRpbHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
NEM3NjRFMENFOTIzNEUwMDdFRjNDRCAvKiBGb3JtRGF0YVN0cmVhbU1hYy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOUI1MEIxREUxN0NENEMwRjAwODdGNjNDIC8qIEZvcm1OYW1lZEl0ZW0uaCBpbiBI
ZWFkZXJzICovLAogCQkJCTY1NkQzNzNBMEFEQkE1REUwMEE0NTU0RCAvKiBGb3JtU3RhdGUuaCBp
biBIZWFkZXJzICovLApAQCAtMjU4NDksNyArMjU4ODYsNiBAQAogCQkJCUE4MEQ2NzA4MEU5RTlE
RUIwMEU0MjBGMCAvKiBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVDRy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEY1ODBCMEQwRjEyQTI2OTAwNTFENjg5IC8qIEdyYXBoaWNzTGF5ZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTQ5OUIzRUQ3MTI4Q0QzMTQwMEU3MjZDMiAvKiBHcmFwaGljc0xh
eWVyQ0EuaCBpbiBIZWFkZXJzICovLAotCQkJCTQxMTAzQUFEMUUzOTc5MTAwMDc2OUYwMyAvKiBS
ZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNTgwQjBF
MEYxMkEyNjkwMDUxRDY4OSAvKiBHcmFwaGljc0xheWVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQUM2OTU5MzE2MUExRTUzMDAzNzMyQ0IgLyogR3JhcGhpY3NMYXllckZhY3RvcnkuaCBp
biBIZWFkZXJzICovLAogCQkJCTBGQTI0RDdBMTYyREY5MTkwMEEzRjRDMCAvKiBHcmFwaGljc0xh
eWVyVXBkYXRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTg2NSw3ICsyNTkwMSw2IEBACiAJCQkJ
MjZFQTg5QTcxQjRGMkI3NTAwOEM1RkQyIC8qIEhhc2hhYmxlQWN0aW9uTGlzdC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODQ4MkI3NDYxMTk4QzM1NDAwQkZCMDA1IC8qIEhhc2hDaGFuZ2VFdmVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQTg3NDhCRTAxMkNCRjJEQzAwMUZCQTQxIC8qIEhhc2hUb29s
cy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTNFNEUyQTgxRTNCMTcxMDAwMjNCQjhBIC8qIFNjcmlw
dEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRjaGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNTVCM0RD
MDEyNTFGMTJEMDAzRUYyNjkgLyogSGlkZGVuSW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk1MTVCRTE5QzFENTRGNkMxMDBERDdDNjggLyogSElER2FtZXBhZC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTE1QkUxOUUxRDU0RjZDMTAwREQ3QzY4IC8qIEhJREdhbWVwYWRQcm92aWRlci5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0yNTg3NSw3ICsyNTkxMCw2IEBACiAJCQkJNDk2OUIwRjMxM0QwQjMz
RjAwREYzNTIxIC8qIEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMkQ4Mjg3RjcxNkU0QTAzODAwODZCRDAwIC8qIEhpdFRlc3RMb2NhdGlvbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJOTMwOTA4OTEwQUY3RURFNDAwODFERjAxIC8qIEhpdFRlc3RSZXF1ZXN0Lmgg
aW4gSGVhZGVycyAqLywKLQkJCQk0MTU3NDc0NzFFMzg2OUE0MDBFOTE0RDggLyogTGliV2ViUlRD
TWFjcm9zLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzA3RjFEODBBRjJENTkwMDBEQkEzMUEgLyog
SGl0VGVzdFJlc3VsdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMzQkMyOUMwRTkxQUIwRjAwODM1
NTg4IC8qIEhvc3RXaW5kb3cuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEMzE2MDk5MTJCMDI2Rjcw
MEMxQTM1OSAvKiBIUlRGRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovLApAQCAtMjY1NDAsNiArMjY1
NzQsOSBAQAogCQkJCUE1OEM1OUQxMUUzODJFQUUwMDQ3ODU5QyAvKiBKU1BlcmZvcm1hbmNlTWFy
ay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU4QzU5RDMxRTM4MkVCMjAwNDc4NTlDIC8qIEpTUGVy
Zm9ybWFuY2VNZWFzdXJlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4QTlBNTg3MTExRTg0QzM2MDA4
QUNGRDEgLyogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUE1
QTk5MzQ4MUUzODA5QzYwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUE1QTk5MzRBMUUzODA5Q0IwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXJDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTVBOTkzNEMxRTM4MDlDRjAwNUI1
RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQ0IzOEZENUIxQ0QyMzI1QjAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEE5QTU4ODgxMUU4NEYzNzAwOEFDRkQxIC8qIEpTUGVy
Zm9ybWFuY2VUaW1pbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCUZERUE2MjQ3MTUyMTAyRkMwMDQ3
OURGMCAvKiBKU1BlcmlvZGljV2F2ZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjg3Niw2ICsyNjkx
MywxMSBAQAogCQkJCUU1QkE3RDYzMTUxNDM3Q0EwMEZFMUUzRiAvKiBMZW5ndGhGdW5jdGlvbnMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTBGODcxNjcwMUM4NjlEODMwMDRGRjBERSAvKiBMZW5ndGhQ
b2ludC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNGRjY0OTIwRUFEMTVDMjAwQzFENkY3IC8qIExl
bmd0aFNpemUuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxNTc0NzQ3MUUzODY5QTQwMEU5MTREOCAv
KiBMaWJXZWJSVENNYWNyb3MuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxNzYxMkIwMUUzQTk5NDAw
MEMzRDgxRCAvKiBMaWJXZWJSVENNZWRpYUVuZHBvaW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk0
MTc2MTJCMjFFM0E5OTQwMDBDM0Q4MUQgLyogTGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5k
LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTU3NDc0ODFFMzg2OUE3MDBFOTE0RDggLyogTGliV2Vi
UlRDUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxNTc0NzRBMUUzODY5QUQwMEU5MTRE
OCAvKiBMaWJXZWJSVENVdGlscy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ3MzBEOTExMjQ4RjBC
MzAwRDNBOUM5IC8qIExpZ2h0U291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyNzk2NTBE
MDBCRjIyMDA3MUI3ODIgLyogTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzLmggaW4gSGVhZGVycyAq
LywKIAkJCQlBQjMxQzkxRTEwQUUxQjhFMDAwQzdCOTIgLyogTGluZUNsYW1wVmFsdWUuaCBpbiBI
ZWFkZXJzICovLApAQCAtMjcyNTQsNiArMjcyOTYsOSBAQAogCQkJCUFENUEwQzI1MURFQ0FDQ0Mw
MDcwNzA1NCAvKiBQZXJmb3JtYW5jZUxvZ2dpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzRkU5
MDI3MUUzMDdDMzAwMDNFOTE5OSAvKiBQZXJmb3JtYW5jZU1vbml0b3IuaCBpbiBIZWFkZXJzICov
LAogCQkJCThBRjRFNTU2MTFEQzVBMzYwMDBFRDNERSAvKiBQZXJmb3JtYW5jZU5hdmlnYXRpb24u
aCBpbiBIZWFkZXJzICovLAorCQkJCUE1QTk5MzNEMUUzN0ZCMTkwMDVCNUU0RCAvKiBQZXJmb3Jt
YW5jZU9ic2VydmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUE5OTMzRjFFMzdGQjFGMDA1QjVF
NEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlB
NUE5OTM0MTFFMzdGQjI4MDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJODY1MTJFREYxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCThBRjRFNTVDMTFEQzVBNjMw
MDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU1NEI1
RjMxRTM4MzkzQTAwMUQ0RTAzIC8qIFBlcmZvcm1hbmNlVXNlclRpbWluZy5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yNzM2MywxMiArMjc0MDgsMTQgQEAKIAkJCQk0MTZFNkZFOTFCQkQxMkU1MDAwQTYw
NDMgLyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE2RTZG
RTgxQkJEMTJERjAwMEEzRjY0IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBp
biBIZWFkZXJzICovLAogCQkJCUZEMzE2MDNDMTJCMDI2NzYwMEMxQTM1OSAvKiBSZWFsdGltZUFu
YWx5c2VyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTEwM0FBRDFFMzk3OTEwMDA3NjlGMDMgLyog
UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0QTRGNjU3
MTFBQTk5N0YxMDBFMzhDREQgLyogUmVhbHRpbWVNZWRpYVNvdXJjZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNEE0RjY1NzIxQUE5OTdGMTAwRTM4Q0REIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VDYXBh
YmlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTRBMEZGQUEyMUFBRjVFQTIwMDYyODAzQiAv
KiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0QTBGRkFB
NjFBQUY1RUY2MDA2MjgwM0IgLyogUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNEE0RjY1NzQxQUE5OTdGMTAwRTM4Q0REIC8qIFJlYWx0aW1lTWVkaWFT
b3VyY2VTZXR0aW5ncy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdDMUMwRTUxQkZCNjBFRDAwQkQy
MjU2IC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cy5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNDExMDNBQUMxRTM5NzkxMDAwNzY5RjAzIC8qIFJlYWx0aW1lT3V0Z29pbmdB
dWRpb1NvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM0MzY4RTgwQzIyNkUzMjAwNUVGQjVG
IC8qIFJlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUZENDVBOTU4MTc1RDQxNEMwMEMyMUVDOCAv
KiBSZWN0YW5nbGVTaGFwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTgzMUFFNEExNTQyMjVDOTAw
RkUyNjQ0IC8qIFJlZmVycmVyUG9saWN5LmggaW4gSGVhZGVycyAqLywKQEAgLTI3NTM2LDcgKzI3
NTgzLDYgQEAKIAkJCQk0OTk4QUVDNjEzRjlEMEVBMDA5MEIxQUEgLyogUmVxdWVzdEFuaW1hdGlv
bkZyYW1lQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUY1NUIzREQwMTI1MUYxMkQwMDNF
RjI2OSAvKiBSZXNldElucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0VFNjg0NkExMkQy
NkUzODAwRTc5NDE1IC8qIFJlc291cmNlRXJyb3IuaCBpbiBIZWFkZXJzICovLAotCQkJCTQxNTc0
NzQ4MUUzODY5QTcwMEU5MTREOCAvKiBMaWJXZWJSVENQcm92aWRlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTM0RjcxM0MwRDVBNkYxOTAwMDE4RDY5IC8qIFJlc291cmNlRXJyb3JCYXNlLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1MTRDNzY3OTBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VIYW5k
bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTI2RkFFNENEMTg1MkUzQTUwMDRDOEM0NiAvKiBSZXNv
dXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKQEAgLTI3
NjI4LDYgKzI3Njc0LDcgQEAKIAkJCQk5M0I3MEQ3MDA5RUIwQzdDMDA5RDg0NjggLyogU2NyaXB0
Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk5OEFFRDIxM0ZCMjI0RDAwOTBCMUFB
IC8qIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDhB
NDg0NzgwRTUyNzJDNTAwQzNGRTc2IC8qIFNjcmlwdEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAor
CQkJCUUzRTRFMkE4MUUzQjE3MTAwMDIzQkI4QSAvKiBTY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0
RmV0Y2hlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTExQzlEOUIwRUIzNjgxMjAwRTQwOURCIC8q
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxRjA2NkU0MEY2
NEJDRjYwMEEwN0VBQyAvKiBTY3JpcHRHbG9iYWxPYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUUzODgzODk5MUJBRDE0NUYwMEQ2MkVFMyAvKiBTY3JpcHRNb2R1bGVMb2FkZXIuaCBpbiBIZWFk
ZXJzICovLApAQCAtMjc4MjEsNyArMjc4NjgsNiBAQAogCQkJCTQxNEI4MjA1MUQ2REYwRTUwMDc3
RUJFMyAvKiBTdHJ1Y3R1cmVkQ2xvbmUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNUVCNkEzMEU4
MURDNEYwMEIyNTk2NSAvKiBTdHlsZUJhY2tncm91bmREYXRhLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQzVFQjY3QjBFODFEM0JFMDBCMjU5NjUgLyogU3R5bGVCb3hEYXRhLmggaW4gSGVhZGVycyAq
LywKLQkJCQlGNDgyMjMxMTFFMzg2OUI4MDA2NkZDNzkgLyogV2ViSXRlbVByb3ZpZGVyUGFzdGVi
b2FyZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM4NkE5NkQxOUY2MUIyRTAwRTFFQzRBIC8qIFN0
eWxlQnVpbGRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODNCOTY4N0IxOUY4QUI4MzAwNEVGN0FG
IC8qIFN0eWxlQnVpbGRlckNvbnZlcnRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM1RDM2Mzcx
OUZGNjE5MzAwNEM5M0FCIC8qIFN0eWxlQnVpbGRlckN1c3RvbS5oIGluIEhlYWRlcnMgKi8sCkBA
IC0yNzg2NCw3ICsyNzkxMCw2IEBACiAJCQkJQThFQTgwMEMwQTE5NTE2RTAwQThFRjVGIC8qIFN0
eWxlU2hlZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0RjlFRUYzMTU2REEwMDcwMEQyM0U3RSAv
KiBTdHlsZVNoZWV0Q29udGVudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4RUE4MDBBMEExOTUx
NkUwMEE4RUY1RiAvKiBTdHlsZVNoZWV0TGlzdC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDE3NjEy
QjIxRTNBOTk0MDAwQzNEODFEIC8qIExpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkM1RUI1RTUwRTgxQkY2RDAwQjI1OTY1IC8qIFN0eWxlU3Vycm91
bmREYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzVFQjgxMDBFODFGMkNFMDBCMjU5NjUgLyog
U3R5bGVUcmFuc2Zvcm1EYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNERFQUExODE3QTkzREMz
MDAwRTA0MzAgLyogU3R5bGVUcmVlUmVzb2x2ZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMjc5MzIs
NyArMjc5NzcsNiBAQAogCQkJCUIyMjI3OUFFMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdEZWZzRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjc5QjEwRDAwQkYyMjAwNzFCNzgyIC8qIFNW
R0Rlc2NFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyNzlCNDBEMDBCRjIyMDA3MUI3
ODIgLyogU1ZHRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTQxMTAzQUFDMUUzOTc5MTAw
MDc2OUYwMyAvKiBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaCBpbiBIZWFkZXJzICovLAog
CQkJCUIyOEM2QTI4MEQwMEM0NDgwMDMzNEFBNCAvKiBTVkdEb2N1bWVudEV4dGVuc2lvbnMuaCBp
biBIZWFkZXJzICovLAogCQkJCUIyMjI3OUI3MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdFbGVtZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQk2NTY1ODFGRTA5RDE1MDhEMDAwRTYxRDcgLyogU1ZHRWxl
bWVudEZhY3RvcnkuaCBpbiBIZWFkZXJzICovLApAQCAtMjg0MTMsNiArMjg0NTcsNyBAQAogCQkJ
CTc3QTE3QTc4MTJGMjg2NDIwMDRFMDJGNiAvKiBXZWJHTFZlcnRleEFycmF5T2JqZWN0T0VTLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBNTg0MEUyNTE4N0I4QUMyMDA4NDNCMTAgLyogV2ViSW5qZWN0
ZWRTY3JpcHRIb3N0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTg0RkUzMDE4NjRDQjg0MDA4NDNC
MTAgLyogV2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKKwkJCQlGNDgy
MjMxMTFFMzg2OUI4MDA2NkZDNzkgLyogV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMzFDMEZGMjIwRTRDRUI2RTAwN0Q2RkU1IC8qIFdlYktpdEFuaW1hdGlv
bkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1REZFQkFCNzE4NTkyQjZEMDBDNzVCRUIgLyog
V2ViS2l0QXZhaWxhYmlsaXR5LmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTgzOTE1OTBGMUU3NzY5
MDBDMjM3ODIgLyogV2ViS2l0Q1NTTWF0cml4LmggaW4gSGVhZGVycyAqLywKQEAgLTI4ODY2LDcg
KzI4OTExLDYgQEAKIAkJCQk1MTcxNEVCMDFDRjY2NUNFMDA0NzIzQzQgLyogSlNHQ09ic2VydmF0
aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxN0RBNzFEMTM3MzVERkEwMDdDNTdGQiAvKiBK
U0ludGVybmFscy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNzQwQjVBNzE0QzkzNUFGMDBBNzdG
QTQgLyogSlNJbnRlcm5hbFNldHRpbmdzLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTQxNTdFQkZB
MUUzQUI2NzkwMEFDOUZFOSAvKiBNb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNTNFRDNGREUxNjdBODhFNzAwNjc2MkU2IC8qIEpTSW50ZXJuYWxTZXR0
aW5nc0dlbmVyYXRlZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNzQwQjU5NzE0QzkzNUFGMDBB
NzdGQTQgLyogSlNNYWxsb2NTdGF0aXN0aWNzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNERjRC
NzMzMUUwM0QxNDkwMEUyMzVBMiAvKiBKU01lZGlhS2V5c1JlcXVpcmVtZW50LmNwcCBpbiBTb3Vy
Y2VzICovLApAQCAtMjg4ODIsNiArMjg5MjYsNyBAQAogCQkJCUExQjVCMjlFMUFBQTg0NkUwMDhC
NjA0MiAvKiBNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTUxMDU4QURCMUQ2NzkyQzEwMDlBNTM4QyAvKiBNb2NrR2FtZXBhZC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk1MTA1OEFERDFENjc5MkMxMDA5QTUzOEMgLyogTW9ja0dhbWVwYWRQcm92aWRlci5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTU3RUJGQTFFM0FCNjc5MDBBQzlGRTkgLyogTW9ja0xp
YldlYlJUQ1BlZXJDb25uZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJENkYzRTkwMUMx
RUNCMjcwMDYxREJENCAvKiBNb2NrUGFnZU92ZXJsYXkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MkQ5N0YwNDcxOURENDEzQzAwMUVFOUMzIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlBMTQwNjE4QjFFMkVDQTBBMDAzMkIzNEUgLyogTW9ja1F1aWNrTG9v
a0hhbmRsZUNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI5MTkzLDcgKzI5MjM4LDYgQEAK
IAkJCQlFMUI0Q0QyNTEwQjMyMkUyMDBCRkZEN0UgLyogQ3JlZGVudGlhbFN0b3JhZ2VNYWMubW0g
aW4gU291cmNlcyAqLywKIAkJCQkyRDQ4MUYwMDE0NkI1QzRDMDBBQTc4MzQgLyogQ3Jvc3NmYWRl
R2VuZXJhdGVkSW1hZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFDNDE2MTcwRjY1NjMxODAw
OTJEMkZCIC8qIENyb3NzT3JpZ2luQWNjZXNzQ29udHJvbC5jcHAgaW4gU291cmNlcyAqLywKLQkJ
CQk0MTc2MTJCMTFFM0E5OTQwMDBDM0Q4MUQgLyogTGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNr
ZW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxQUJFNjdDMUQwNTgwRTAwMDZEODYyRCAvKiBD
cm9zc09yaWdpblByZWZsaWdodENoZWNrZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFDNDE1
REUwRjY1NUQ3QzAwOTJEMkZCIC8qIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJRTE2OTgwNDkxMTMzNjQ0NzAwODk0MTE1IC8qIENSdW50aW1l
T2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjkyODUsNyArMjkzMjksNiBAQAogCQkJCTk0
MTgyNzhFMUQ4Q0FGOTIwMDQ5Mjc2NCAvKiBDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJOTc3QjM4NjIxMjI4ODNFOTAwQjgxRkY4IC8qIENTU1ByZWxv
YWRTY2FubmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4MEU2RDA1MEExOTg5Q0EwMDdGQjhD
NSAvKiBDU1NQcmltaXRpdmVWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlGNDgyMjMxMDFF
Mzg2OUI4MDA2NkZDNzkgLyogV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZC5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCUE4MEU2Q0Y3MEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NQcm9wZXJ0eS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk3OEQwMkJDNTE1NEExOERGMDBCNjJEMDUgLyogQ1NTUHJvcGVydHlB
bmltYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFCQTc2Q0ExMUQyMEU1MDAwNEMyMDFD
IC8qIENTU1Byb3BlcnR5TmFtZXMuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yOTQzOSw3ICsyOTQ4
Miw2IEBACiAJCQkJMTVGQ0M5RkMxQjRERjdGMjAwRTcyMzI2IC8qIERPTVVSTE1lZGlhU3RyZWFt
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0MDNCOTk4MDlFQjEzQUYwMDc5N0M3RiAvKiBET01X
aW5kb3cuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE3RkJBMUUxNTFBQjE3QzAwQjU3OTU5IC8q
IERPTVdpbmRvd0V4dGVuc2lvbi5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk0MTEwM0FBRTFFMzk3
OTEwMDA3NjlGMDMgLyogUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTQxOEMzOTU2MUM4REFDN0YwMDUxQzhBMyAvKiBET01XaW5kb3dGZXRjaC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1MTg1RkM3NDFCQjRDNEU4MDAxMjg5OEYgLyogRE9NV2luZG93
SW5kZXhlZERhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3QjM4RTI4MTUxQzQyNzMw
MDQ2MjJFOSAvKiBET01XaW5kb3dOb3RpZmljYXRpb25zLmNwcCBpbiBTb3VyY2VzICovLApAQCAt
MzAzNDIsNiArMzAzODQsOSBAQAogCQkJCUE1OEM1OUQwMUUzODJFQUMwMDQ3ODU5QyAvKiBKU1Bl
cmZvcm1hbmNlTWFyay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNThDNTlEMjFFMzgyRUIwMDA0
Nzg1OUMgLyogSlNQZXJmb3JtYW5jZU1lYXN1cmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOEE5
QTU4NzAxMUU4NEMzNjAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUE1QTk5MzREMUUzODA5RDcwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNl
T2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVBOTkzNDkxRTM4MDlDOTAwNUI1RTRE
IC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CUE1QTk5MzRCMUUzODA5Q0QwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxp
c3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0IzOEZENUExQ0QyMzI1ODAwNTkyQTNGIC8qIEpT
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjQzQzg1
RjE4OUUxNUE2MDAwMTlBRTIgLyogSlNQZXJmb3JtYW5jZVRpbWluZy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlGREVBNjI0NjE1MjEwMkZDMDA0NzlERjAgLyogSlNQZXJpb2RpY1dhdmUuY3BwIGlu
IFNvdXJjZXMgKi8sCkBAIC0zMDUwOSw3ICszMDU1NCw2IEBACiAJCQkJQjJGQTNEQkEwQUI3NUE2
RjAwMEU1QUM0IC8qIEpTU1ZHUGF0aFNlZ0FyY1JlbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
MkZBM0RCQzBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdQYXRoU2VnQ2xvc2VQYXRoLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUIyRkEzREJFMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1BhdGhTZWdD
dXJ2ZXRvQ3ViaWNBYnMuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNDE3NjEyQUYxRTNBOTk0MDAw
QzNEODFEIC8qIExpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QjJGQTNEQzAwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1JlbC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkZBM0RDMjBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdQ
YXRoU2VnQ3VydmV0b0N1YmljU21vb3RoQWJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyRkEz
REM0MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWwu
Y3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMDcxMyw2ICszMDc1Nyw5IEBACiAJCQkJRTU1RjQ5N0Ex
NTFCODg4MDAwQkI2N0RCIC8qIExlbmd0aEZ1bmN0aW9ucy5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkwRjg3MTY2RjFDODY5RDgzMDA0RkYwREUgLyogTGVuZ3RoUG9pbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEZFRjIwQ0UxQkQ0QTI0MTAwMTI4RTVEIC8qIExlbmd0aFNpemUuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNDE3NjEyQUYxRTNBOTk0MDAwQzNEODFEIC8qIExpYldlYlJUQ01lZGlh
RW5kcG9pbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDE3NjEyQjExRTNBOTk0MDAwQzNEODFE
IC8qIExpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQk0MTU3NDc0OTFFMzg2OUFBMDBFOTE0RDggLyogTGliV2ViUlRDVXRpbHMuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJRkZCNjk4Q0MxODMzRUUwRDAwMTU4QTMxIC8qIExpbmVCcmVha2VyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTg5QjVFQUExMTFFODAwM0QwMEYyMzY3RSAvKiBMaW5lRW5kaW5n
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZGQjY5OENGMTgzNDAyQkIwMDE1OEEzMSAvKiBMaW5l
SW5mby5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMxMDA0LDYgKzMxMDUxLDggQEAKIAkJCQlBRDVB
MEMyMzFERUNBQ0MwMDA3MDcwNTQgLyogUGVyZm9ybWFuY2VMb2dnaW5nQ29jb2EubW0gaW4gU291
cmNlcyAqLywKIAkJCQk4M0ZFOTAyODFFMzA3QzMzMDAzRTkxOTkgLyogUGVyZm9ybWFuY2VNb25p
dG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCThBRjRFNTU1MTFEQzVBMzYwMDBFRDNERSAvKiBQ
ZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVBOTkzM0UxRTM3
RkIxQzAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJQTVBOTkzNDAxRTM3RkIyNTAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxp
c3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODY1MTJFREUxNTRBMkFFRjAwQTkwNDI2IC8qIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0M0M4NUQx
ODlFMTBDRjAwMDE5QUUyIC8qIFBlcmZvcm1hbmNlVGltaW5nLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE1NTRCNUYyMUUzODM5MzgwMDFENEUwMyAvKiBQZXJmb3JtYW5jZVVzZXJUaW1pbmcuY3Bw
IGluIFNvdXJjZXMgKi8sCkBAIC0zMTA3NywxMSArMzExMjYsMTMgQEAKIAkJCQk2RTg0RTlFMDE3
NjY4QkVFMDA4MTVCNjggLyogUmFzdGVyU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE4
QzM5NjExQzhGMEFCMTAwNTFDOEEzIC8qIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQzMTYwM0IxMkIwMjY3NjAwQzFBMzU5IC8qIFJlYWx0
aW1lQW5hbHlzZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDExMDNBQUUxRTM5NzkxMDAwNzY5
RjAzIC8qIFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk0QTRGNjU3MDFBQTk5N0YxMDBFMzhDREQgLyogUmVhbHRpbWVNZWRpYVNvdXJjZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk0QTBGRkFBMTFBQUY1RUEyMDA2MjgwM0IgLyogUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0QTBGRkFBNTFBQUY1RUY2MDA2
MjgwM0IgLyogUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk0QTRGNjU3MzFBQTk5N0YxMDBFMzhDREQgLyogUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRp
bmdzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJFQzQxREU0MUMwNDEwQTMwMEQyOTRGRSAvKiBS
ZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHMuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJNDExMDNBQUIxRTM5NzkxMDAwNzY5RjAzIC8qIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1Nv
dXJjZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRDQ1QTk1QTE3NUQ0MTcxMDBDMjFFQzggLyog
UmVjdGFuZ2xlU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNBQjQxODExM0UzNTZFODAw
RDhBQUYzIC8qIFJlZ2lvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDREZDMzYwNTE4Q0E2MUMy
MDAyNkU1NkYgLyogUmVtb3RlQ29tbWFuZExpc3RlbmVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAt
MzEyOTIsNiArMzEzNDMsNyBAQAogCQkJCUE4M0UxQzc0MEU0OTA0MkMwMDE0MEI5QyAvKiBTY3Jp
cHRDb250cm9sbGVyTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk5OEFFRDExM0ZCMjI0RDAw
OTBCMUFBIC8qIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwOEE0ODQ3NzBFNTI3MkM1MDBDM0ZFNzYgLyogU2NyaXB0RWxlbWVudC5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQlFM0U0RTJBNzFFM0IxNzEwMDAyM0JCOEEgLyogU2NyaXB0RWxlbWVudENh
Y2hlZFNjcmlwdEZldGNoZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTExQzlEQjAwRUIzNjk5
NTAwRTQwOURCIC8qIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNDFGMDY2RTUwRjY0QkNGNjAwQTA3RUFDIC8qIFNjcmlwdEdsb2JhbE9iamVjdC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlFMzg4Mzg5ODFCQUQxNDVGMDBENjJFRTMgLyogU2NyaXB0TW9kdWxl
TG9hZGVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzEzODUsNyArMzE0MzcsNiBAQAogCQkJCTUx
MkREOEUzMEQ5MUUyQjQwMDBGODlFRSAvKiBTaGFyZWRCdWZmZXJDRi5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk5N0IxRjAyRTEzQjAyNUNBMDBGNTEwM0YgLyogU2hhcmVkQnVmZmVyQ2h1bmtSZWFk
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE0QTk1NTIwQjRFRENGRjAwMkQ4QzNDIC8qIFNo
YXJlZEJ1ZmZlckNvY29hLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJNDE1NzQ3NDkxRTM4NjlBQTAw
RTkxNEQ4IC8qIExpYldlYlJUQ1V0aWxzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE2M0U4OEY3
MTE4QTM5RDIwMEVEOTIzMSAvKiBTaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUU0ODk0NEEyMTgwQjU3RDgwMEYxNjVEOCAvKiBTaW1wbGVMaW5lTGF5b3V0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTU4NUQ2RTAzMUExQTc5MkUwMEZBNEYxMiAvKiBTaW1wbGVM
aW5lTGF5b3V0Rmxvd0NvbnRlbnRzLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzE3MTksNyArMzE3
NzAsNiBAQAogCQkJCTkzMzA5RTFCMDk5RTY0OTIwMDU2RTU4MSAvKiBUZXh0SXRlcmF0b3IuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJRTREOTg4QjYxN0JGRUIyMTAwODRGQjg4IC8qIFRleHROb2Rl
VHJhdmVyc2FsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFDMThEQTU4MTgxQUY2QTUwMEM0RUYy
MiAvKiBUZXh0UGFpbnRlci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk0MTEwM0FBQjFFMzk3OTEw
MDA3NjlGMDMgLyogUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUU0QzkxQTEwMTgwMjM0MzkwMEExN0Y2RCAvKiBUZXh0UGFpbnRTdHlsZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk5M0YxOUE5RDA4MjQ1RTU5MDAxRTlBQkMgLyogVGV4dFJlc291cmNl
RGVjb2Rlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzNzZEQ0NFMTEzQjRGOTY2MDAyRUJFRkMg
LyogVGV4dFJ1bi5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMxODUwLDcgKzMxOTAwLDYgQEAKIAkJ
CQkyOUE4MTI0QTBGQkI5Q0E5MDA1MTAyOTMgLyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJCYXNlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQUFBNzI4RjgxNkQxRDhCQzAwRDNCQkM2IC8q
IFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QUE0NzhBODAxNkNENzBDMzAwN0QxQkI0IC8qIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
TWFjLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJRTNFNEUyQTcxRTNCMTcxMDAwMjNCQjhBIC8qIFNj
cmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRjaGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJE
M0VGNDQ5MTkxNzkxNUMwMDAzNDE4NCAvKiBXZWJBY3Rpb25EaXNhYmxpbmdDQUxheWVyRGVsZWdh
dGUubW0gaW4gU291cmNlcyAqLywKIAkJCQkxMjBERTNFRDFDODZDQTNFMDBCNkQ0REQgLyogV2Vi
QW5pbWF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3RDYzNzQxMUJCMEIxMTMwMDI1NkNF
OSAvKiBXZWJBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5tbSBpbiBTb3VyY2VzICovLApAQCAt
MzE5MjMsNiArMzE5NzIsNyBAQAogCQkJCTc3QTE3QTc3MTJGMjg2NDIwMDRFMDJGNiAvKiBXZWJH
TFZlcnRleEFycmF5T2JqZWN0T0VTLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE1ODQwRTI0MTg3
QjhBQzIwMDg0M0IxMCAvKiBXZWJJbmplY3RlZFNjcmlwdEhvc3QuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQTU4NEZFMkYxODY0Q0I4NDAwODQzQjEwIC8qIFdlYkluamVjdGVkU2NyaXB0TWFuYWdl
ci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlGNDgyMjMxMDFFMzg2OUI4MDA2NkZDNzkgLyogV2Vi
SXRlbVByb3ZpZGVyUGFzdGVib2FyZC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTMxQzBGRjIxMEU0
Q0VCNkUwMDdENkZFNSAvKiBXZWJLaXRBbmltYXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk0OTgzOTE1ODBGMUU3NzY5MDBDMjM3ODIgLyogV2ViS2l0Q1NTTWF0cml4LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCThBQTYxQ0ZGMTQ0RDU5NUIwMEYzNzM1MCAvKiBXZWJLaXRDU1NSZWdp
b25SdWxlLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKaW5kZXggMDQ1NjU2NjA1NWUuLmRiODM5NzQ5N2RmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTEzNCw3ICsxMzQsNiBAQAogI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiTWVkaWFT
b3VyY2UuaCIKLSNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgogI2luY2x1ZGUgIlZpZGVvUGxheWJh
Y2tRdWFsaXR5LmgiCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNjhlZTc5ZTdiOWEuLjVhZTA4ZmRk
NTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAKQEAgLTU3LDcgKzU3LDYgQEAKICNpbmNsdWRlICJNYWluRnJhbWUuaCIK
ICNpbmNsdWRlICJNZW1vcnlDYWNoZS5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKLSNpbmNsdWRlICJQ
ZXJmb3JtYW5jZS5oIgogI2luY2x1ZGUgIlBpbmdMb2FkZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9y
bVN0cmF0ZWdpZXMuaCIKICNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmgKaW5kZXggYmViMDVlZjk1ZTEuLjEzZDU4ZjNj
ZmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5oCkBAIC0y
OSw3ICsyOSw2IEBACiAKICNpbmNsdWRlICJJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrLmgi
CiAjaW5jbHVkZSAiSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeS5oIgotI2luY2x1ZGUgPHd0Zi9P
cHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1Zh
cmlhbnQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZS5jcHAKaW5kZXggMmU1OWRhYTM2M2EuLjMyODNjOWFhMzViIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlLmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIkZyYW1l
LmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNl
TmF2aWdhdGlvbi5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlT2JzZXJ2ZXIuaCIKICNpbmNsdWRl
ICJQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VUaW1p
bmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVVzZXJUaW1pbmcuaCIKQEAgLTE3MSw3ICsxNzIs
MTQgQEAgRXhjZXB0aW9uT3I8dm9pZD4gUGVyZm9ybWFuY2U6Om1hcmsoY29uc3QgU3RyaW5nJiBt
YXJrTmFtZSkKIHsKICAgICBpZiAoIW1fdXNlclRpbWluZykKICAgICAgICAgbV91c2VyVGltaW5n
ID0gc3RkOjptYWtlX3VuaXF1ZTxVc2VyVGltaW5nPigqdGhpcyk7Ci0gICAgcmV0dXJuIG1fdXNl
clRpbWluZy0+bWFyayhtYXJrTmFtZSk7CisKKyAgICBhdXRvIHJlc3VsdCA9IG1fdXNlclRpbWlu
Zy0+bWFyayhtYXJrTmFtZSk7CisgICAgaWYgKHJlc3VsdC5oYXNFeGNlcHRpb24oKSkKKyAgICAg
ICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7CisKKyAgICBxdWV1ZUVudHJ5KHJl
c3VsdC5yZWxlYXNlUmV0dXJuVmFsdWUoKSk7CisKKyAgICByZXR1cm4geyB9OwogfQogCiB2b2lk
IFBlcmZvcm1hbmNlOjpjbGVhck1hcmtzKGNvbnN0IFN0cmluZyYgbWFya05hbWUpCkBAIC0xODUs
NyArMTkzLDE0IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFBlcmZvcm1hbmNlOjptZWFzdXJlKGNvbnN0
IFN0cmluZyYgbWVhc3VyZU5hbWUsIGNvbnN0IFN0cmluZyYKIHsKICAgICBpZiAoIW1fdXNlclRp
bWluZykKICAgICAgICAgbV91c2VyVGltaW5nID0gc3RkOjptYWtlX3VuaXF1ZTxVc2VyVGltaW5n
PigqdGhpcyk7Ci0gICAgcmV0dXJuIG1fdXNlclRpbWluZy0+bWVhc3VyZShtZWFzdXJlTmFtZSwg
c3RhcnRNYXJrLCBlbmRNYXJrKTsKKworICAgIGF1dG8gcmVzdWx0ID0gbV91c2VyVGltaW5nLT5t
ZWFzdXJlKG1lYXN1cmVOYW1lLCBzdGFydE1hcmssIGVuZE1hcmspOworICAgIGlmIChyZXN1bHQu
aGFzRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiByZXN1bHQucmVsZWFzZUV4Y2VwdGlvbigp
OworCisgICAgcXVldWVFbnRyeShyZXN1bHQucmVsZWFzZVJldHVyblZhbHVlKCkpOworCisgICAg
cmV0dXJuIHsgfTsKIH0KIAogdm9pZCBQZXJmb3JtYW5jZTo6Y2xlYXJNZWFzdXJlcyhjb25zdCBT
dHJpbmcmIG1lYXN1cmVOYW1lKQpAQCAtMTk1LDYgKzIxMCwxNiBAQCB2b2lkIFBlcmZvcm1hbmNl
OjpjbGVhck1lYXN1cmVzKGNvbnN0IFN0cmluZyYgbWVhc3VyZU5hbWUpCiAgICAgbV91c2VyVGlt
aW5nLT5jbGVhck1lYXN1cmVzKG1lYXN1cmVOYW1lKTsKIH0KIAordm9pZCBQZXJmb3JtYW5jZTo6
cmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXImIG9ic2VydmVy
KQoreworICAgIG1fb2JzZXJ2ZXJzLmFkZCgmb2JzZXJ2ZXIpOworfQorCit2b2lkIFBlcmZvcm1h
bmNlOjp1bnJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJiBv
YnNlcnZlcikKK3sKKyAgICBtX29ic2VydmVycy5yZW1vdmUoJm9ic2VydmVyKTsKK30KKwogZG91
YmxlIFBlcmZvcm1hbmNlOjpub3coKSBjb25zdAogewogICAgIGRvdWJsZSBub3dTZWNvbmRzID0g
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBtX3JlZmVyZW5jZVRpbWU7CkBAIC0yMDcs
NiArMjMyLDMwIEBAIGRvdWJsZSBQZXJmb3JtYW5jZTo6cmVkdWNlVGltZVJlc29sdXRpb24oZG91
YmxlIHNlY29uZHMpCiAgICAgcmV0dXJuIHN0ZDo6Zmxvb3Ioc2Vjb25kcyAvIHJlc29sdXRpb25T
ZWNvbmRzKSAqIHJlc29sdXRpb25TZWNvbmRzOwogfQogCit2b2lkIFBlcmZvcm1hbmNlOjpxdWV1
ZUVudHJ5KFBlcmZvcm1hbmNlRW50cnkmIGVudHJ5KQoreworICAgIGJvb2wgc2hvdWxkU2NoZWR1
bGVUYXNrID0gZmFsc2U7CisgICAgZm9yIChhdXRvJiBvYnNlcnZlciA6IG1fb2JzZXJ2ZXJzKSB7
CisgICAgICAgIGlmIChvYnNlcnZlci0+dHlwZUZpbHRlcigpLmNvbnRhaW5zKGVudHJ5LnR5cGUo
KSkpIHsKKyAgICAgICAgICAgIG9ic2VydmVyLT5xdWV1ZUVudHJ5KGVudHJ5KTsKKyAgICAgICAg
ICAgIHNob3VsZFNjaGVkdWxlVGFzayA9IHRydWU7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBp
ZiAoIXNob3VsZFNjaGVkdWxlVGFzaykKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fcGVy
Zm9ybWFuY2VUaW1lbGluZVRhc2tRdWV1ZS5oYXNQZW5kaW5nVGFza3MoKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgbV9wZXJmb3JtYW5jZVRpbWVsaW5lVGFza1F1ZXVlLmVucXVldWVUYXNrKFt0
aGlzXSAoKSB7CisgICAgICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VPYnNlcnZlcj4+IG9i
c2VydmVyczsKKyAgICAgICAgY29weVRvVmVjdG9yKG1fb2JzZXJ2ZXJzLCBvYnNlcnZlcnMpOwor
ICAgICAgICBmb3IgKGF1dG8mIG9ic2VydmVyIDogb2JzZXJ2ZXJzKQorICAgICAgICAgICAgb2Jz
ZXJ2ZXItPmRlbGl2ZXIoKTsKKyAgICB9KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9USU1JTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgK
aW5kZXggMGZlZWJjYzZkNDcuLmY3NDE0ZmM2ZTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZS5oCkBAIC0zNyw2ICszNyw4IEBACiAjaW5jbHVkZSAiRE9NV2luZG93UHJvcGVydHkuaCIKICNp
bmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCisjaW5jbHVk
ZSAiR2VuZXJpY1Rhc2tRdWV1ZS5oIgorI2luY2x1ZGUgPHd0Zi9MaXN0SGFzaFNldC5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ0LDYgKzQ2LDcgQEAgY2xhc3MgRG9jdW1lbnQ7CiBj
bGFzcyBMb2FkVGltaW5nOwogY2xhc3MgUGVyZm9ybWFuY2VFbnRyeTsKIGNsYXNzIFBlcmZvcm1h
bmNlTmF2aWdhdGlvbjsKK2NsYXNzIFBlcmZvcm1hbmNlT2JzZXJ2ZXI7CiBjbGFzcyBQZXJmb3Jt
YW5jZVRpbWluZzsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBVUkw7CkBAIC02Nywx
NyArNzAsMjAgQEAgcHVibGljOgogCiAgICAgdm9pZCBhZGRSZXNvdXJjZVRpbWluZyhjb25zdCBT
dHJpbmcmIGluaXRpYXRvck5hbWUsIERvY3VtZW50KiwgY29uc3QgVVJMJiBvcmlnaW5hbFVSTCwg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IExvYWRUaW1pbmcmKTsKIAotICAgIHVzaW5n
IFJlZkNvdW50ZWQ6OnJlZjsKLSAgICB1c2luZyBSZWZDb3VudGVkOjpkZXJlZjsKLQogICAgIEV4
Y2VwdGlvbk9yPHZvaWQ+IG1hcmsoY29uc3QgU3RyaW5nJiBtYXJrTmFtZSk7CiAgICAgdm9pZCBj
bGVhck1hcmtzKGNvbnN0IFN0cmluZyYgbWFya05hbWUpOwogCiAgICAgRXhjZXB0aW9uT3I8dm9p
ZD4gbWVhc3VyZShjb25zdCBTdHJpbmcmIG1lYXN1cmVOYW1lLCBjb25zdCBTdHJpbmcmIHN0YXJ0
TWFyaywgY29uc3QgU3RyaW5nJiBlbmRNYXJrKTsKICAgICB2b2lkIGNsZWFyTWVhc3VyZXMoY29u
c3QgU3RyaW5nJiBtZWFzdXJlTmFtZSk7CiAKKyAgICB2b2lkIHJlZ2lzdGVyUGVyZm9ybWFuY2VP
YnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CisgICAgdm9pZCB1bnJlZ2lzdGVyUGVyZm9y
bWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CisKICAgICBzdGF0aWMgZG91Ymxl
IHJlZHVjZVRpbWVSZXNvbHV0aW9uKGRvdWJsZSBzZWNvbmRzKTsKIAorICAgIHVzaW5nIFJlZkNv
dW50ZWQ6OnJlZjsKKyAgICB1c2luZyBSZWZDb3VudGVkOjpkZXJlZjsKKwogcHJpdmF0ZToKICAg
ICBleHBsaWNpdCBQZXJmb3JtYW5jZShGcmFtZSYpOwogCkBAIC04OSw2ICs5NSw4IEBAIHByaXZh
dGU6CiAKICAgICBib29sIGlzUmVzb3VyY2VUaW1pbmdCdWZmZXJGdWxsKCkgY29uc3Q7CiAKKyAg
ICB2b2lkIHF1ZXVlRW50cnkoUGVyZm9ybWFuY2VFbnRyeSYpOworCiAgICAgbXV0YWJsZSBSZWZQ
dHI8UGVyZm9ybWFuY2VOYXZpZ2F0aW9uPiBtX25hdmlnYXRpb247CiAgICAgbXV0YWJsZSBSZWZQ
dHI8UGVyZm9ybWFuY2VUaW1pbmc+IG1fdGltaW5nOwogCkBAIC05OSw2ICsxMDcsOSBAQCBwcml2
YXRlOgogICAgIGRvdWJsZSBtX3JlZmVyZW5jZVRpbWU7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
VXNlclRpbWluZz4gbV91c2VyVGltaW5nOworCisgICAgR2VuZXJpY1Rhc2tRdWV1ZTxUaW1lcj4g
bV9wZXJmb3JtYW5jZVRpbWVsaW5lVGFza1F1ZXVlOworICAgIExpc3RIYXNoU2V0PFJlZlB0cjxQ
ZXJmb3JtYW5jZU9ic2VydmVyPj4gbV9vYnNlcnZlcnM7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAppbmRleCAwYTZjNWU5ODg4NS4uYTg1ZmJkYjVmOWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcApAQCAtMzMsMTMgKzMz
LDE2IEBACiAKICNpZiBFTkFCTEUoV0VCX1RJTUlORykKIAorI2luY2x1ZGUgIlJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QZXJmb3JtYW5jZUVudHJ5
OjpQZXJmb3JtYW5jZUVudHJ5KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBlbnRy
eVR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBmaW5pc2hUaW1lKQorUGVyZm9ybWFuY2VF
bnRyeTo6UGVyZm9ybWFuY2VFbnRyeShUeXBlIHR5cGUsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiBlbnRyeVR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBmaW5pc2hUaW1l
KQogICAgIDogbV9uYW1lKG5hbWUpCiAgICAgLCBtX2VudHJ5VHlwZShlbnRyeVR5cGUpCiAgICAg
LCBtX3N0YXJ0VGltZShzdGFydFRpbWUpCiAgICAgLCBtX2R1cmF0aW9uKGZpbmlzaFRpbWUgLSBz
dGFydFRpbWUpCisgICAgLCBtX3R5cGUodHlwZSkKIHsKIH0KIApAQCAtNDcsNiArNTAsMjYgQEAg
UGVyZm9ybWFuY2VFbnRyeTo6flBlcmZvcm1hbmNlRW50cnkoKQogewogfQogCitzdGQ6Om9wdGlv
bmFsPFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IFBlcmZvcm1hbmNlRW50cnk6OnBhcnNlRW50cnlU
eXBlU3RyaW5nKGNvbnN0IFN0cmluZyYgZW50cnlUeXBlKQoreworICAgIGlmIChlbnRyeVR5cGUg
PT0gIm5hdmlnYXRpb24iKQorICAgICAgICByZXR1cm4gc3RkOjpvcHRpb25hbDxUeXBlPihUeXBl
OjpOYXZpZ2F0aW9uKTsKKworICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLnVzZXJUaW1pbmdFbmFibGVkKCkpIHsKKyAgICAgICAgaWYgKGVudHJ5VHlwZSA9
PSAibWFyayIpCisgICAgICAgICAgICByZXR1cm4gc3RkOjpvcHRpb25hbDxUeXBlPihUeXBlOjpN
YXJrKTsKKyAgICAgICAgaWYgKGVudHJ5VHlwZSA9PSAibWVhc3VyZSIpCisgICAgICAgICAgICBy
ZXR1cm4gc3RkOjpvcHRpb25hbDxUeXBlPihUeXBlOjpNZWFzdXJlKTsKKyAgICB9CisKKyAgICBp
ZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5yZXNvdXJjZVRpbWlu
Z0VuYWJsZWQoKSkgeworICAgICAgICBpZiAoZW50cnlUeXBlID09ICJyZXNvdXJjZSIpCisgICAg
ICAgICAgICByZXR1cm4gc3RkOjpvcHRpb25hbDxUeXBlPihUeXBlOjpSZXNvdXJjZSk7CisgICAg
fQorCisgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9USU1JTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VFbnRyeS5oCmluZGV4IDY4YzEwMTk0YjMyLi5mM2M5NmU4NDEyZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpZiBFTkFCTEUo
V0VCX1RJTUlORykKIAogI2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCisjaW5jbHVkZSA8d3RmL09w
dGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvVHlw
ZUNhc3RzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC00OSw2ICs1MCwx
NyBAQCBwdWJsaWM6CiAgICAgZG91YmxlIHN0YXJ0VGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3Rh
cnRUaW1lOyB9CiAgICAgZG91YmxlIGR1cmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9kdXJhdGlv
bjsgfQogCisgICAgZW51bSBjbGFzcyBUeXBlIHsKKyAgICAgICAgTmF2aWdhdGlvbiA9IDEgPDwg
MCwKKyAgICAgICAgTWFyayA9IDEgPDwgMSwKKyAgICAgICAgTWVhc3VyZSA9IDEgPDwgMiwKKyAg
ICAgICAgUmVzb3VyY2UgPSAxIDw8IDMsCisgICAgfTsKKworICAgIFR5cGUgdHlwZSgpIGNvbnN0
IHsgcmV0dXJuIG1fdHlwZTsgfQorCisgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8VHlwZT4gcGFy
c2VFbnRyeVR5cGVTdHJpbmcoY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUpOworCiAgICAgdmlydHVh
bCBib29sIGlzUmVzb3VyY2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCBpc01hcmsoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBp
c01lYXN1cmUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAtNTksMTMgKzcxLDE0IEBAIHB1
YmxpYzoKICAgICB9CiAKIHByb3RlY3RlZDoKLSAgICBQZXJmb3JtYW5jZUVudHJ5KGNvbnN0IFN0
cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRv
dWJsZSBmaW5pc2hUaW1lKTsKKyAgICBQZXJmb3JtYW5jZUVudHJ5KFR5cGUgdHlwZSwgY29uc3Qg
U3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGVudHJ5VHlwZSwgZG91YmxlIHN0YXJ0VGltZSwg
ZG91YmxlIGZpbmlzaFRpbWUpOwogCiBwcml2YXRlOgogICAgIGNvbnN0IFN0cmluZyBtX25hbWU7
CiAgICAgY29uc3QgU3RyaW5nIG1fZW50cnlUeXBlOwogICAgIGNvbnN0IGRvdWJsZSBtX3N0YXJ0
VGltZTsKICAgICBjb25zdCBkb3VibGUgbV9kdXJhdGlvbjsKKyAgICBjb25zdCBUeXBlIG1fdHlw
ZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VNYXJrLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlTWFyay5oCmluZGV4IDRmYTlhY2UzMTZjLi41MjhiYTE5OTY3OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1hcmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlTWFyay5oCkBAIC0zOSw3ICszOSwxMSBAQCBwdWJsaWM6CiAgICAgYm9v
bCBpc01hcmsoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgCiBwcml2YXRl
OgotICAgIFBlcmZvcm1hbmNlTWFyayhjb25zdCBTdHJpbmcmIG5hbWUsIGRvdWJsZSBzdGFydFRp
bWUpIDogUGVyZm9ybWFuY2VFbnRyeShuYW1lLCBBU0NJSUxpdGVyYWwoIm1hcmsiKSwgc3RhcnRU
aW1lLCBzdGFydFRpbWUpIHsgfQorICAgIFBlcmZvcm1hbmNlTWFyayhjb25zdCBTdHJpbmcmIG5h
bWUsIGRvdWJsZSBzdGFydFRpbWUpCisgICAgICAgIDogUGVyZm9ybWFuY2VFbnRyeShQZXJmb3Jt
YW5jZUVudHJ5OjpUeXBlOjpNYXJrLCBuYW1lLCBBU0NJSUxpdGVyYWwoIm1hcmsiKSwgc3RhcnRU
aW1lLCBzdGFydFRpbWUpCisgICAgeworICAgIH0KKwogICAgIH5QZXJmb3JtYW5jZU1hcmsoKSB7
IH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VNZWFz
dXJlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTWVhc3VyZS5oCmluZGV4IGYx
MjBkOTAwOTZlLi5jZGIwYjZjNTg4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZU1lYXN1cmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
TWVhc3VyZS5oCkBAIC0zOSw3ICszOSwxMSBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc01lYXN1cmUo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAKIHByaXZhdGU6Ci0gICAgUGVyZm9y
bWFuY2VNZWFzdXJlKGNvbnN0IFN0cmluZyYgbmFtZSwgZG91YmxlIHN0YXJ0VGltZSwgZG91Ymxl
IGR1cmF0aW9uKSA6IFBlcmZvcm1hbmNlRW50cnkobmFtZSwgQVNDSUlMaXRlcmFsKCJtZWFzdXJl
IiksIHN0YXJ0VGltZSwgZHVyYXRpb24pIHsgfQorICAgIFBlcmZvcm1hbmNlTWVhc3VyZShjb25z
dCBTdHJpbmcmIG5hbWUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBkdXJhdGlvbikKKyAgICAg
ICAgOiBQZXJmb3JtYW5jZUVudHJ5KFBlcmZvcm1hbmNlRW50cnk6OlR5cGU6Ok1lYXN1cmUsIG5h
bWUsIEFTQ0lJTGl0ZXJhbCgibWVhc3VyZSIpLCBzdGFydFRpbWUsIGR1cmF0aW9uKQorICAgIHsK
KyAgICB9CisKICAgICB+UGVyZm9ybWFuY2VNZWFzdXJlKCkgeyB9CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMC4uNDRhZTNmNTYyODcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCkBAIC0wLDAgKzEsMTA2IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIuaCIKKworI2lmIEVOQUJMRShXRUJfVElNSU5HKQorCisjaW5jbHVkZSAiRE9NV2luZG93
LmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisj
aW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZU9ic2VydmVyRW50
cnlMaXN0LmgiCisjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitQZXJmb3JtYW5jZU9ic2VydmVyOjpQZXJmb3JtYW5jZU9ic2VydmVyKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIFJlZjxQZXJmb3JtYW5j
ZU9ic2VydmVyQ2FsbGJhY2s+JiYgY2FsbGJhY2spCisgICAgOiBtX2NhbGxiYWNrKFdURk1vdmUo
Y2FsbGJhY2spKQoreworICAgIGlmIChpczxEb2N1bWVudD4oc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCkpIHsKKyAgICAgICAgYXV0byYgZG9jdW1lbnQgPSBkb3duY2FzdDxEb2N1bWVudD4oc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCk7CisgICAgICAgIGlmIChET01XaW5kb3cqIHdpbmRvdyA9IGRvY3Vt
ZW50LmRvbVdpbmRvdygpKQorICAgICAgICAgICAgbV9wZXJmb3JtYW5jZSA9IHdpbmRvdy0+cGVy
Zm9ybWFuY2UoKTsKKyAgICB9IGVsc2UgaWYgKGlzPFdvcmtlckdsb2JhbFNjb3BlPihzY3JpcHRF
eGVjdXRpb25Db250ZXh0KSkgeworICAgICAgICAvLyBGSVhNRTogU3VwcG9ydCBQZXJmb3JtYW5j
ZSBUaW1lbGluZSBmb3IgV29ya2Vycy4KKyAgICB9IGVsc2UKKyAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7Cit9CisKK0V4Y2VwdGlvbk9yPHZvaWQ+IFBlcmZvcm1hbmNlT2JzZXJ2ZXI6Om9i
c2VydmUoSW5pdCYmIGluaXQpCit7CisgICAgaWYgKCFtX3BlcmZvcm1hbmNlKQorICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yIH07CisKKyAgICBpZiAoaW5pdC5lbnRyeVR5cGVz
LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlM
aXRlcmFsKCJlbnRyeVR5cGVzIGNhbm5vdCBiZSBhbiBlbXB0eSBsaXN0IikgfTsKKworICAgIE9w
dGlvblNldDxQZXJmb3JtYW5jZUVudHJ5OjpUeXBlPiBmaWx0ZXI7CisgICAgZm9yIChjb25zdCBT
dHJpbmcmIGVudHJ5VHlwZSA6IGluaXQuZW50cnlUeXBlcykgeworICAgICAgICBpZiAoYXV0byB0
eXBlID0gUGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJpbmcoZW50cnlUeXBlKSkK
KyAgICAgICAgICAgIGZpbHRlciB8PSAqdHlwZTsKKyAgICB9CisKKyAgICBpZiAoZmlsdGVyLmlz
RW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRl
cmFsKCJlbnRyeVR5cGVzIGNvbnRhaW5lZCBvbmx5IHVuc3VwcG9ydGVkIHR5cGVzIikgfTsKKwor
ICAgIG1fdHlwZUZpbHRlciA9IGZpbHRlcjsKKworICAgIGlmICghbV9yZWdpc3RlcmVkKSB7Cisg
ICAgICAgIG1fcGVyZm9ybWFuY2UtPnJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcigqdGhpcyk7
CisgICAgICAgIG1fcmVnaXN0ZXJlZCA9IHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIHsgfTsK
K30KKwordm9pZCBQZXJmb3JtYW5jZU9ic2VydmVyOjpkaXNjb25uZWN0KCkKK3sKKyAgICBpZiAo
bV9wZXJmb3JtYW5jZSkKKyAgICAgICAgbV9wZXJmb3JtYW5jZS0+dW5yZWdpc3RlclBlcmZvcm1h
bmNlT2JzZXJ2ZXIoKnRoaXMpOworCisgICAgbV9yZWdpc3RlcmVkID0gZmFsc2U7CisgICAgbV9l
bnRyaWVzVG9EZWxpdmVyLmNsZWFyKCk7Cit9CisKK3ZvaWQgUGVyZm9ybWFuY2VPYnNlcnZlcjo6
cXVldWVFbnRyeShQZXJmb3JtYW5jZUVudHJ5JiBlbnRyeSkKK3sKKyAgICBtX2VudHJpZXNUb0Rl
bGl2ZXIuYXBwZW5kKCZlbnRyeSk7Cit9CisKK3ZvaWQgUGVyZm9ybWFuY2VPYnNlcnZlcjo6ZGVs
aXZlcigpCit7CisgICAgaWYgKG1fZW50cmllc1RvRGVsaXZlci5pc0VtcHR5KCkpCisgICAgICAg
IHJldHVybjsKKworICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IGVudHJpZXMg
PSBXVEZNb3ZlKG1fZW50cmllc1RvRGVsaXZlcik7CisgICAgYXV0byBsaXN0ID0gUGVyZm9ybWFu
Y2VPYnNlcnZlckVudHJ5TGlzdDo6Y3JlYXRlKFdURk1vdmUoZW50cmllcykpOworICAgIG1fY2Fs
bGJhY2stPmhhbmRsZUV2ZW50KGxpc3QucHRyKCksIHRoaXMpOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1RJTUlORykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAuLmYxN2ZjNzNkNWM5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9USU1JTkcpCisKKyNpbmNsdWRlICJFeGNl
cHRpb25Pci5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnkuaCIKKyNpbmNsdWRlICJQZXJm
b3JtYW5jZU9ic2VydmVyQ2FsbGJhY2suaCIKKyNpbmNsdWRlIDx3dGYvT3B0aW9uU2V0Lmg+Cisj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5j
bHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgUGVyZm9ybWFuY2U7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworCitjbGFzcyBQ
ZXJmb3JtYW5jZU9ic2VydmVyIDogcHVibGljIFJlZkNvdW50ZWQ8UGVyZm9ybWFuY2VPYnNlcnZl
cj4geworcHVibGljOgorICAgIHN0cnVjdCBJbml0IHsKKyAgICAgICAgVmVjdG9yPFN0cmluZz4g
ZW50cnlUeXBlczsKKyAgICB9OworCisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5jZU9ic2VydmVy
PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgUmVmPFBlcmZvcm1hbmNl
T2JzZXJ2ZXJDYWxsYmFjaz4mJiBjYWxsYmFjaykKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoY29udGV4dCwgV1RGTW92ZShjYWxsYmFjaykp
KTsKKyAgICB9CisKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBvYnNlcnZlKEluaXQmJik7CisgICAg
dm9pZCBkaXNjb25uZWN0KCk7CisKKyAgICBPcHRpb25TZXQ8UGVyZm9ybWFuY2VFbnRyeTo6VHlw
ZT4gdHlwZUZpbHRlcigpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZUZpbHRlcjsgfQorCisgICAgdm9p
ZCBxdWV1ZUVudHJ5KFBlcmZvcm1hbmNlRW50cnkmKTsKKyAgICB2b2lkIGRlbGl2ZXIoKTsKKwor
cHJpdmF0ZToKKyAgICBQZXJmb3JtYW5jZU9ic2VydmVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
LCBSZWY8UGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrPiYmKTsKKworICAgIFJlZlB0cjxQZXJm
b3JtYW5jZT4gbV9wZXJmb3JtYW5jZTsKKyAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50
cnk+PiBtX2VudHJpZXNUb0RlbGl2ZXI7CisgICAgUmVmPFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxs
YmFjaz4gbV9jYWxsYmFjazsKKyAgICBPcHRpb25TZXQ8UGVyZm9ybWFuY2VFbnRyeTo6VHlwZT4g
bV90eXBlRmlsdGVyOworICAgIGJvb2wgbV9yZWdpc3RlcmVkIHsgZmFsc2UgfTsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfVElNSU5HKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjU4ODMzNGU3MDZlCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbApAQCAtMCwwICsxLDQ0
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BlcmZvcm1hbmNlLXRp
bWVsaW5lLworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCX1RJTUlORywKKyAgICBDb25zdHJ1Y3Rv
cihQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2sgY2FsbGJhY2spLAorICAgIENvbnN0cnVjdG9y
Q2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVBl
cmZvcm1hbmNlVGltZWxpbmUsCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKK10gaW50
ZXJmYWNlIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgeworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9p
ZCBvYnNlcnZlKFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0IG9wdGlvbnMpOworICAgIHZvaWQgZGlz
Y29ubmVjdCgpOworfTsKKworWworICAgIENvbmRpdGlvbmFsPVdFQl9USU1JTkcsCitdCitkaWN0
aW9uYXJ5IFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0IHsKKyAgICByZXF1aXJlZCBzZXF1ZW5jZTxE
T01TdHJpbmc+IGVudHJ5VHlwZXM7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAuLjkxMzVjMzk4NDg3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2suaApAQCAtMCwwICsxLDQ1IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKKworI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGVy
Zm9ybWFuY2VPYnNlcnZlcjsKK2NsYXNzIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Q7CisK
K2NsYXNzIFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjayA6IHB1YmxpYyBSZWZDb3VudGVkPFBl
cmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjaz4geworcHVibGljOgorICAgIHZpcnR1YWwgflBlcmZv
cm1hbmNlT2JzZXJ2ZXJDYWxsYmFjaygpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVu
dChQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0KiwgUGVyZm9ybWFuY2VPYnNlcnZlciopID0g
MDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJf
VElNSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2Vy
dmVyQ2FsbGJhY2suaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVy
Q2FsbGJhY2suaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5jYzlh
MWRjZjg3YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VPYnNlcnZlckNhbGxiYWNrLmlkbApAQCAtMCwwICsxLDMwIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8g
aHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BlcmZvcm1hbmNlLXRpbWVsaW5lLworCitbCisgICAgQ29u
ZGl0aW9uYWw9V0VCX1RJTUlORywKK10gY2FsbGJhY2sgUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxi
YWNrID0gdm9pZCAoUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCBlbnRyaWVzLCBQZXJmb3Jt
YW5jZU9ic2VydmVyIG9ic2VydmVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwLi5hODYzNTI3MmIwYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAKQEAgLTAsMCArMSw4MCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5j
ZU9ic2VydmVyRW50cnlMaXN0LmgiCisKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKKworI2luY2x1
ZGUgIlBlcmZvcm1hbmNlRW50cnkuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8UGVy
Zm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdD4gUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdDo6
Y3JlYXRlKFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+JiYgZW50cmllcykKK3sKKyAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0KFdURk1v
dmUoZW50cmllcykpKTsKK30KKworUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdDo6UGVyZm9y
bWFuY2VPYnNlcnZlckVudHJ5TGlzdChWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiYm
IGVudHJpZXMpCisgICAgOiBtX2VudHJpZXMoV1RGTW92ZShlbnRyaWVzKSkKK3sKKyAgICBBU1NF
UlQoIW1fZW50cmllcy5pc0VtcHR5KCkpOworCisgICAgc3RkOjpzdGFibGVfc29ydChtX2VudHJp
ZXMuYmVnaW4oKSwgbV9lbnRyaWVzLmVuZCgpLCBQZXJmb3JtYW5jZUVudHJ5OjpzdGFydFRpbWVD
b21wYXJlTGVzc1RoYW4pOworfQorCitWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBQ
ZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0OjpnZXRFbnRyaWVzQnlUeXBlKGNvbnN0IFN0cmlu
ZyYgZW50cnlUeXBlKSBjb25zdAoreworICAgIHJldHVybiBnZXRFbnRyaWVzQnlOYW1lKFN0cmlu
ZygpLCBlbnRyeVR5cGUpOworfQorCitWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBQ
ZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0OjpnZXRFbnRyaWVzQnlOYW1lKGNvbnN0IFN0cmlu
ZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUpIGNvbnN0Cit7CisgICAgVmVjdG9yPFJl
ZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gZW50cmllczsKKworICAgIC8vIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXJzIGNhbiBvbmx5IGJlIHJlZ2lzdGVyZWQgZm9yIHZhbGlkIHR5cGVzLgorICAgIC8vIFNv
IGlmIHRoZSBpbmNvbWluZyBlbnRyeVR5cGUgaXMgYW4gdW5rbm93biB0eXBlLCB0aGVyZSB3aWxs
IGJlIG5vIG1hdGNoZXMuCisgICAgUGVyZm9ybWFuY2VFbnRyeTo6VHlwZSB0eXBlOworICAgIGlm
ICghZW50cnlUeXBlLmlzTnVsbCgpKSB7CisgICAgICAgIGF1dG8gb3B0aW9uYWwgPSBQZXJmb3Jt
YW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlwZVN0cmluZyhlbnRyeVR5cGUpOworICAgICAgICBpZiAo
IW9wdGlvbmFsKQorICAgICAgICAgICAgcmV0dXJuIGVudHJpZXM7CisgICAgICAgIHR5cGUgPSBv
cHRpb25hbC52YWx1ZSgpOworICAgIH0KKworICAgIGZvciAoYXV0byYgZW50cnkgOiBtX2VudHJp
ZXMpIHsKKyAgICAgICAgaWYgKCFuYW1lLmlzTnVsbCgpICYmIGVudHJ5LT5uYW1lKCkgIT0gbmFt
ZSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBpZiAoIWVudHJ5VHlwZS5pc051bGwo
KSAmJiBlbnRyeS0+dHlwZSgpICE9IHR5cGUpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAgZW50cmllcy5hcHBlbmQoZW50cnkuY29weVJlZigpKTsKKyAgICB9CisKKyAgICByZXR1cm4g
ZW50cmllczsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KFdFQl9USU1JTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
T2JzZXJ2ZXJFbnRyeUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNl
cnZlckVudHJ5TGlzdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4z
YWY2OTBjYTc0ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VPYnNlcnZlckVudHJ5TGlzdC5oCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfVElNSU5HKQorCisjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGVyZm9ybWFuY2VF
bnRyeTsKKworY2xhc3MgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCA6IHB1YmxpYyBSZWZD
b3VudGVkPFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Q+IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFBlcmZvcm1hbmNlT2JzZXJ2ZXJF
bnRyeUxpc3Q+IGNyZWF0ZShWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiYmIGVudHJp
ZXMpOworCisgICAgY29uc3QgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4mIGdldEVu
dHJpZXMoKSBjb25zdCB7IHJldHVybiBtX2VudHJpZXM7IH0KKyAgICBWZWN0b3I8UmVmUHRyPFBl
cmZvcm1hbmNlRW50cnk+PiBnZXRFbnRyaWVzQnlUeXBlKGNvbnN0IFN0cmluZyYgZW50cnlUeXBl
KSBjb25zdDsKKyAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBnZXRFbnRyaWVz
QnlOYW1lKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUpIGNvbnN0
OworCitwcml2YXRlOgorICAgIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QoVmVjdG9yPFJl
ZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4mJiBlbnRyaWVzKTsKKworICAgIFZlY3RvcjxSZWZQdHI8
UGVyZm9ybWFuY2VFbnRyeT4+IG1fZW50cmllczsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfVElNSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjBlZTcwNDBmM2Y3Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbApAQCAt
MCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BlcmZv
cm1hbmNlLXRpbWVsaW5lLworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCX1RJTUlORywKKyAgICBF
bmFibGVkQXRSdW50aW1lPVBlcmZvcm1hbmNlVGltZWxpbmUsCisgICAgSW1wbGVtZW50YXRpb25M
YWNrc1ZUYWJsZSwKK10gaW50ZXJmYWNlIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Qgewor
ICAgIFBlcmZvcm1hbmNlRW50cnlMaXN0IGdldEVudHJpZXMoKTsKKyAgICBQZXJmb3JtYW5jZUVu
dHJ5TGlzdCBnZXRFbnRyaWVzQnlUeXBlKERPTVN0cmluZyB0eXBlKTsKKyAgICBQZXJmb3JtYW5j
ZUVudHJ5TGlzdCBnZXRFbnRyaWVzQnlOYW1lKERPTVN0cmluZyBuYW1lLCBvcHRpb25hbCBET01T
dHJpbmcgdHlwZSk7Cit9OworCit0eXBlZGVmIHNlcXVlbmNlPFBlcmZvcm1hbmNlRW50cnk+IFBl
cmZvcm1hbmNlRW50cnlMaXN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZy5jcHAKaW5kZXggMGEzMjMzYmRmZjEuLjY3NjllMWQ1M2Y1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAK
QEAgLTc2LDcgKzc2LDcgQEAgc3RhdGljIGJvb2wgcGFzc2VzVGltaW5nQWxsb3dDaGVjayhjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgRG9jdW1lbnQqIHIKIH0KIAogUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZzo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyhjb25zdCBBdG9taWNT
dHJpbmcmIGluaXRpYXRvclR5cGUsIGNvbnN0IFVSTCYgb3JpZ2luYWxVUkwsIGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBMb2FkVGltaW5nIGxvYWRUaW1pbmcsIERvY3VtZW50KiBy
ZXF1ZXN0aW5nRG9jdW1lbnQpCi0gICAgOiBQZXJmb3JtYW5jZUVudHJ5KG9yaWdpbmFsVVJMLnN0
cmluZygpLCBBU0NJSUxpdGVyYWwoInJlc291cmNlIiksIG1vbm90b25pY1RpbWVUb0RvY3VtZW50
TWlsbGlzZWNvbmRzKHJlcXVlc3RpbmdEb2N1bWVudCwgbG9hZFRpbWluZy5zdGFydFRpbWUoKSks
IG1vbm90b25pY1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKHJlcXVlc3RpbmdEb2N1bWVudCwg
bG9hZFRpbWluZy5yZXNwb25zZUVuZCgpKSkKKyAgICA6IFBlcmZvcm1hbmNlRW50cnkoUGVyZm9y
bWFuY2VFbnRyeTo6VHlwZTo6UmVzb3VyY2UsIG9yaWdpbmFsVVJMLnN0cmluZygpLCBBU0NJSUxp
dGVyYWwoInJlc291cmNlIiksIG1vbm90b25pY1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKHJl
cXVlc3RpbmdEb2N1bWVudCwgbG9hZFRpbWluZy5zdGFydFRpbWUoKSksIG1vbm90b25pY1RpbWVU
b0RvY3VtZW50TWlsbGlzZWNvbmRzKHJlcXVlc3RpbmdEb2N1bWVudCwgbG9hZFRpbWluZy5yZXNw
b25zZUVuZCgpKSkKICAgICAsIG1faW5pdGlhdG9yVHlwZShpbml0aWF0b3JUeXBlKQogICAgICwg
bV90aW1pbmcocmVzcG9uc2UubmV0d29ya0xvYWRUaW1pbmcoKSkKICAgICAsIG1fbG9hZFRpbWlu
Zyhsb2FkVGltaW5nKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZVVzZXJUaW1pbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVVzZXJUaW1p
bmcuY3BwCmluZGV4IGFiYmU5NTBiODg1Li5jNTk3NTVhYjRiYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVVzZXJUaW1pbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VVc2VyVGltaW5nLmNwcApAQCAtMzAsOSArMzAsNiBAQAogCiAj
aW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCi0jaW5j
bHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgotI2luY2x1ZGUgIlBlcmZvcm1hbmNlTWFyay5oIgot
I2luY2x1ZGUgIlBlcmZvcm1hbmNlTWVhc3VyZS5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlVGlt
aW5nLmgiCiAjaW5jbHVkZSA8YXJyYXk+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+
CkBAIC05OCwxNSArOTUsMTUgQEAgc3RhdGljIHZvaWQgY2xlYXJQZXJmb3JtYW5jZUVudHJpZXMo
UGVyZm9ybWFuY2VFbnRyeU1hcCYgcGVyZm9ybWFuY2VFbnRyeU1hcCwgY28KICAgICBwZXJmb3Jt
YW5jZUVudHJ5TWFwLnJlbW92ZShuYW1lKTsKIH0KIAotRXhjZXB0aW9uT3I8dm9pZD4gVXNlclRp
bWluZzo6bWFyayhjb25zdCBTdHJpbmcmIG1hcmtOYW1lKQorRXhjZXB0aW9uT3I8UmVmPFBlcmZv
cm1hbmNlTWFyaz4+IFVzZXJUaW1pbmc6Om1hcmsoY29uc3QgU3RyaW5nJiBtYXJrTmFtZSkKIHsK
ICAgICBpZiAocmVzdHJpY3RlZE1hcmtGdW5jdGlvbihtYXJrTmFtZSkpCiAgICAgICAgIHJldHVy
biBFeGNlcHRpb24geyBTWU5UQVhfRVJSIH07CiAKICAgICBhdXRvJiBwZXJmb3JtYW5jZUVudHJ5
TGlzdCA9IG1fbWFya3NNYXAuZW5zdXJlKG1hcmtOYW1lLCBbXSB7IHJldHVybiBWZWN0b3I8UmVm
UHRyPFBlcmZvcm1hbmNlRW50cnk+PigpOyB9KS5pdGVyYXRvci0+dmFsdWU7Ci0gICAgcGVyZm9y
bWFuY2VFbnRyeUxpc3QuYXBwZW5kKFBlcmZvcm1hbmNlTWFyazo6Y3JlYXRlKG1hcmtOYW1lLCBt
X3BlcmZvcm1hbmNlLm5vdygpKSk7Ci0KLSAgICByZXR1cm4geyB9OworICAgIGF1dG8mIGVudHJ5
ID0gUGVyZm9ybWFuY2VNYXJrOjpjcmVhdGUobWFya05hbWUsIG1fcGVyZm9ybWFuY2Uubm93KCkp
OworICAgIHBlcmZvcm1hbmNlRW50cnlMaXN0LmFwcGVuZChlbnRyeS5jb3B5UmVmKCkpOworICAg
IHJldHVybiBXVEZNb3ZlKGVudHJ5KTsKIH0KIAogdm9pZCBVc2VyVGltaW5nOjpjbGVhck1hcmtz
KGNvbnN0IFN0cmluZyYgbWFya05hbWUpCkBAIC0xMjksNyArMTI2LDcgQEAgRXhjZXB0aW9uT3I8
ZG91YmxlPiBVc2VyVGltaW5nOjpmaW5kRXhpc3RpbmdNYXJrU3RhcnRUaW1lKGNvbnN0IFN0cmlu
ZyYgbWFya05hbWUKICAgICByZXR1cm4gRXhjZXB0aW9uIHsgU1lOVEFYX0VSUiB9OwogfQogCi1F
eGNlcHRpb25Pcjx2b2lkPiBVc2VyVGltaW5nOjptZWFzdXJlKGNvbnN0IFN0cmluZyYgbWVhc3Vy
ZU5hbWUsIGNvbnN0IFN0cmluZyYgc3RhcnRNYXJrLCBjb25zdCBTdHJpbmcmIGVuZE1hcmspCitF
eGNlcHRpb25PcjxSZWY8UGVyZm9ybWFuY2VNZWFzdXJlPj4gVXNlclRpbWluZzo6bWVhc3VyZShj
b25zdCBTdHJpbmcmIG1lYXN1cmVOYW1lLCBjb25zdCBTdHJpbmcmIHN0YXJ0TWFyaywgY29uc3Qg
U3RyaW5nJiBlbmRNYXJrKQogewogICAgIGRvdWJsZSBzdGFydFRpbWUgPSAwLjA7CiAgICAgZG91
YmxlIGVuZFRpbWUgPSAwLjA7CkBAIC0xNTQsOSArMTUxLDkgQEAgRXhjZXB0aW9uT3I8dm9pZD4g
VXNlclRpbWluZzo6bWVhc3VyZShjb25zdCBTdHJpbmcmIG1lYXN1cmVOYW1lLCBjb25zdCBTdHJp
bmcmIHMKICAgICB9CiAKICAgICBhdXRvJiBwZXJmb3JtYW5jZUVudHJ5TGlzdCA9IG1fbWVhc3Vy
ZXNNYXAuZW5zdXJlKG1lYXN1cmVOYW1lLCBbXSB7IHJldHVybiBWZWN0b3I8UmVmUHRyPFBlcmZv
cm1hbmNlRW50cnk+PigpOyB9KS5pdGVyYXRvci0+dmFsdWU7Ci0gICAgcGVyZm9ybWFuY2VFbnRy
eUxpc3QuYXBwZW5kKFBlcmZvcm1hbmNlTWVhc3VyZTo6Y3JlYXRlKG1lYXN1cmVOYW1lLCBzdGFy
dFRpbWUsIGVuZFRpbWUpKTsKLQotICAgIHJldHVybiB7IH07CisgICAgYXV0byYgZW50cnkgPSBQ
ZXJmb3JtYW5jZU1lYXN1cmU6OmNyZWF0ZShtZWFzdXJlTmFtZSwgc3RhcnRUaW1lLCBlbmRUaW1l
KTsKKyAgICBwZXJmb3JtYW5jZUVudHJ5TGlzdC5hcHBlbmQoZW50cnkuY29weVJlZigpKTsKKyAg
ICByZXR1cm4gV1RGTW92ZShlbnRyeSk7CiB9CiAKIHZvaWQgVXNlclRpbWluZzo6Y2xlYXJNZWFz
dXJlcyhjb25zdCBTdHJpbmcmIG1lYXN1cmVOYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZVVzZXJUaW1pbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VVc2VyVGltaW5nLmgKaW5kZXggNTc0ZTEyNDE1ZDguLjc4MzEzNzM3OGEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVXNlclRpbWluZy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VVc2VyVGltaW5nLmgKQEAgLTI4LDEzICsy
OCwxNCBAQAogI2lmIEVOQUJMRShXRUJfVElNSU5HKQogCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3Iu
aCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZU1l
YXN1cmUuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0
cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQZXJmb3JtYW5jZTsK
LWNsYXNzIFBlcmZvcm1hbmNlRW50cnk7CiAKIHVzaW5nIFBlcmZvcm1hbmNlRW50cnlNYXAgPSBI
YXNoTWFwPFN0cmluZywgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4+OwogCkBAIC00
MiwxMCArNDMsMTAgQEAgY2xhc3MgVXNlclRpbWluZyB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQg
VXNlclRpbWluZyhQZXJmb3JtYW5jZSYpOwogCi0gICAgRXhjZXB0aW9uT3I8dm9pZD4gbWFyayhj
b25zdCBTdHJpbmcmIG1hcmtOYW1lKTsKKyAgICBFeGNlcHRpb25PcjxSZWY8UGVyZm9ybWFuY2VN
YXJrPj4gbWFyayhjb25zdCBTdHJpbmcmIG1hcmtOYW1lKTsKICAgICB2b2lkIGNsZWFyTWFya3Mo
Y29uc3QgU3RyaW5nJiBtYXJrTmFtZSk7CiAKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBtZWFzdXJl
KGNvbnN0IFN0cmluZyYgbWVhc3VyZU5hbWUsIGNvbnN0IFN0cmluZyYgc3RhcnRNYXJrLCBjb25z
dCBTdHJpbmcmIGVuZE1hcmspOworICAgIEV4Y2VwdGlvbk9yPFJlZjxQZXJmb3JtYW5jZU1lYXN1
cmU+PiBtZWFzdXJlKGNvbnN0IFN0cmluZyYgbWVhc3VyZU5hbWUsIGNvbnN0IFN0cmluZyYgc3Rh
cnRNYXJrLCBjb25zdCBTdHJpbmcmIGVuZE1hcmspOwogICAgIHZvaWQgY2xlYXJNZWFzdXJlcyhj
b25zdCBTdHJpbmcmIG1lYXN1cmVOYW1lKTsKIAogICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFu
Y2VFbnRyeT4+IGdldE1hcmtzKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBi
OGM2M2E3NDBlYS4uNjVjNDEyZDdjYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDE3LTAxLTMwICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5j
b20+CisKKyAgICAgICAgSW1wbGVtZW50IFBlcmZvcm1hbmNlT2JzZXJ2ZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzU0NgorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMzAyNDc5NTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdh
LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvTmF0aXZlRnVuY3Rpb25QYXJhbWV0
ZXJzLmpzOgorICAgICAgICBJbXByb3ZlIEFQSSB2aWV3IGRpc3BsYXkgb2YgYnVpbHQtaW4gcGVy
Zm9ybWFuY2UgbWV0aG9kcy4KKwogMjAxNy0wMS0zMCAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBh
cHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogTmVlZCBzb21lIGxpbWl0IG9uIEFz
eW5jIENhbGwgU3RhY2tzIGZvciBhc3luYyBsb29wcyAockFGIGxvb3BzKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL05hdGl2ZUZ1bmN0aW9u
UGFyYW1ldGVycy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVs
cy9OYXRpdmVGdW5jdGlvblBhcmFtZXRlcnMuanMKaW5kZXggOGVhNzI0YTY5NjIuLjliYTUwYTIz
YTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2Rl
bHMvTmF0aXZlRnVuY3Rpb25QYXJhbWV0ZXJzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL01vZGVscy9OYXRpdmVGdW5jdGlvblBhcmFtZXRlcnMuanMKQEAgLTEy
MzEsNiArMTIzMSwyNyBAQCBXZWJJbnNwZWN0b3IuTmF0aXZlUHJvdG90eXBlRnVuY3Rpb25QYXJh
bWV0ZXJzID0gewogICAgICAgICBfX3Byb3RvX186IG51bGwsCiAgICAgfSwKIAorICAgIFBlcmZv
cm1hbmNlOiB7CisgICAgICAgIGNsZWFyTWFya3M6ICJbbmFtZV0iLAorICAgICAgICBjbGVhck1l
YXN1cmVzOiAibmFtZSIsCisgICAgICAgIGdldEVudHJpZXNCeU5hbWU6ICJuYW1lLCBbdHlwZV0i
LAorICAgICAgICBnZXRFbnRyaWVzQnlUeXBlOiAidHlwZSIsCisgICAgICAgIG1hcms6ICJuYW1l
IiwKKyAgICAgICAgbWVhc3VyZTogIm5hbWUsIFtzdGFydE1hcmtdLCBbZW5kTWFya10iLAorICAg
ICAgICBfX3Byb3RvX186IG51bGwsCisgICAgfSwKKworICAgIFBlcmZvcm1hbmNlT2JzZXJ2ZXI6
IHsKKyAgICAgICAgb2JzZXJ2ZTogIm9wdGlvbnMiLAorICAgICAgICBfX3Byb3RvX186IG51bGws
CisgICAgfSwKKworICAgIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Q6IHsKKyAgICAgICAg
Z2V0RW50cmllc0J5TmFtZTogIm5hbWUsIFt0eXBlXSIsCisgICAgICAgIGdldEVudHJpZXNCeVR5
cGU6ICJ0eXBlIiwKKyAgICAgICAgX19wcm90b19fOiBudWxsLAorICAgIH0sCisKICAgICBQbHVn
aW46IHsKICAgICAgICAgaXRlbTogIltpbmRleF0iLAogICAgICAgICBuYW1lZEl0ZW06ICJbbmFt
ZV0iLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300179</attachid>
            <date>2017-01-30 18:45:52 -0800</date>
            <delta_ts>2017-01-30 21:25:11 -0800</delta_ts>
            <desc>[PATCH] For Bots</desc>
            <filename>race-1.patch</filename>
            <type>text/plain</type>
            <size>134005</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmYWIwZTk5OTQ3ZC4uNGM4MzcyODY4ZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NCBAQAor
MjAxNy0wMS0zMCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAg
ICAgIEltcGxlbWVudCBQZXJmb3JtYW5jZU9ic2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc1NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzMwMjQ3OTU5PgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAg
ICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1hcGktZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIt
YXBpLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1v
YnNlcnZlci1iYXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNl
LWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1iYXNpYy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBw
ZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItY2FsbGJhY2stbXV0YXRlLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9i
c2VydmVyLWNhbGxiYWNrLW11dGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5j
ZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItY2FsbGJhY2stdGFzay1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1jYWxs
YmFjay10YXNrLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3Jt
YW5jZS1vYnNlcnZlci1lbnRyeS1zb3J0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWVudHJ5LXNvcnQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWV4Y2Vw
dGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJm
b3JtYW5jZS1vYnNlcnZlci1leGNlcHRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9y
bWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLW5lc3RlZC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1uZXN0ZWQu
aHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2Vy
dmVyLW9yZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBp
L3BlcmZvcm1hbmNlLW9ic2VydmVyLW9yZGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZv
cm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1wZXJpb2RpYy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1wZXJp
b2RpYy5odG1sOiBBZGRlZC4KKyAgICAgICAgUGVyZm9ybWFuY2VPYnNlcnZlciB0ZXN0cy4KKwor
ICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS10aW1lbGluZS1hcGktZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2UtdGlt
ZWxpbmUtYXBpLmh0bWw6IEFkZGVkLgorICAgICAgICBQZXJmb3JtYW5jZSB0aW1lbGluZSB0ZXN0
cy4KKworICAgICAgICAqIHBsYXRmb3JtL2VmbC9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1h
dHRyaWJ1dGVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvanMvZG9tL2ds
b2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vbWFjLWVsY2FwaXRhbi9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL2pzL2RvbS9nbG9iYWwt
Y29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy15b3NlbWl0ZS9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3Rv
cnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL2pzL2Rv
bS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICBO
ZXcgZ2xvYmFsIGNvbnN0cnVjdG9ycy4KKwogMjAxNy0wMS0zMCAgUnlhbiBIYWRkYWQgIDxyeWFu
aGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBNYXJraW5nIG1lZGlhL21vZGVybi1tZWRpYS1j
b250cm9scy9idXR0b25zLWNvbnRhaW5lci9idXR0b25zLWNvbnRhaW5lci1idXR0b25zLXByb3Bl
cnR5Lmh0bWwgYXMgZmxha3kgb24gbWFjT1MgV0sxLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWFwaS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItYXBpLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMjhlZmQ4NzAw
MTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9y
bWFuY2Utb2JzZXJ2ZXItYXBpLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM1IEBACitCYXNpYyBJ
bnRlcmZhY2UgdGVzdCBmb3IgUGVyZm9ybWFuY2VPYnNlcnZlciBBUElzLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworUGVyZm9ybWFuY2VPYnNlcnZlcgorUEFTUyBQZXJmb3JtYW5j
ZU9ic2VydmVyIGlzIGRlZmluZWQuCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIucHJvdG90eXBl
Lm9ic2VydmUgaXMgZGVmaW5lZC4KK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlci5wcm90b3R5cGUu
ZGlzY29ubmVjdCBpcyBkZWZpbmVkLgorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyKCkgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogQ29uc3RydWN0b3IgcmVxdWlyZXMgJ25ldycgb3BlcmF0b3Iu
CitQQVNTIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKDEp
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdjYWxsYmFjaycpIHRvIHRo
ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGNvbnN0cnVjdG9yIG11c3QgYmUgYSBmdW5jdGlvbi4KK1BB
U1Mgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbigpIHt9KSBkaWQg
bm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgb2JzZXJ2ZXIub2JzZXJ2ZSgpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBvYnNlcnZlci5vYnNl
cnZlKCJtYXJrIikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1Mg
b2JzZXJ2ZXIub2JzZXJ2ZSh7fSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTWVtYmVyIFBl
cmZvcm1hbmNlT2JzZXJ2ZXJJbml0LmVudHJ5VHlwZXMgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUg
YW4gaW5zdGFuY2Ugb2Ygc2VxdWVuY2UuCitQQVNTIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlw
ZXM6Im1hcmsifSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVmFsdWUgaXMgbm90IGEgc2Vx
dWVuY2UuCitQQVNTIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6W119KSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBlbnRyeVR5cGVzIGNhbm5vdCBiZSBhbiBlbXB0eSBsaXN0LgorUEFT
UyBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibm90LXJlYWwiXX0pIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IGVudHJ5VHlwZXMgY29udGFpbmVkIG9ubHkgdW5zdXBwb3J0ZWQgdHlw
ZXMuCitQQVNTIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6WyJtYXJrIl19KSBkaWQgbm90
IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczpbIm1h
cmsiLCAibm90LXJlYWwiXX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBvYnNlcnZl
ci5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibWFyayIsICJtZWFzdXJlIl19KSBkaWQgbm90IHRocm93
IGV4Y2VwdGlvbi4KK1BBU1Mgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpIGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgorUEFTUyBvYnNlcnZlci5kaXNjb25uZWN0KCkgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCisKK1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QKK1BBU1MgUGVyZm9ybWFuY2VPYnNl
cnZlckVudHJ5TGlzdCBpcyBkZWZpbmVkLgorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlM
aXN0LnByb3RvdHlwZS5nZXRFbnRyaWVzIGlzIGRlZmluZWQuCitQQVNTIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXJFbnRyeUxpc3QucHJvdG90eXBlLmdldEVudHJpZXNCeVR5cGUgaXMgZGVmaW5lZC4KK1BB
U1MgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5wcm90b3R5cGUuZ2V0RW50cmllc0J5TmFt
ZSBpcyBkZWZpbmVkLgorUEFTUyBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCgpIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChl
dmFsdWF0aW5nICduZXcgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCgpJykuCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWFwaS5odG1s
IGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWFwaS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi42NDhiYzQ1MGFhNgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5j
ZS1vYnNlcnZlci1hcGkuaHRtbApAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgSFRNTD4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJCYXNpYyBJ
bnRlcmZhY2UgdGVzdCBmb3IgUGVyZm9ybWFuY2VPYnNlcnZlciBBUElzLiIpOworCitkZWJ1Zygi
UGVyZm9ybWFuY2VPYnNlcnZlciIpOworc2hvdWxkQmVEZWZpbmVkKGBQZXJmb3JtYW5jZU9ic2Vy
dmVyYCk7CitzaG91bGRCZURlZmluZWQoYFBlcmZvcm1hbmNlT2JzZXJ2ZXIucHJvdG90eXBlLm9i
c2VydmVgKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9ybWFuY2VPYnNlcnZlci5wcm90b3R5cGUu
ZGlzY29ubmVjdGApOworc2hvdWxkVGhyb3coYFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKWApOworc2hv
dWxkVGhyb3coYG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKClgKTsKK3Nob3VsZFRocm93KGBuZXcg
UGVyZm9ybWFuY2VPYnNlcnZlcigxKWApOworc2hvdWxkTm90VGhyb3coYG9ic2VydmVyID0gbmV3
IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoZnVuY3Rpb24oKSB7fSlgKTsKK3Nob3VsZFRocm93KGBvYnNl
cnZlci5vYnNlcnZlKClgKTsKK3Nob3VsZFRocm93KGBvYnNlcnZlci5vYnNlcnZlKCJtYXJrIilg
KTsKK3Nob3VsZFRocm93KGBvYnNlcnZlci5vYnNlcnZlKHt9KWApOworc2hvdWxkVGhyb3coYG9i
c2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6Im1hcmsifSlgKTsKK3Nob3VsZFRocm93KGBvYnNl
cnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOltdfSlgKTsKK3Nob3VsZFRocm93KGBvYnNlcnZlci5v
YnNlcnZlKHtlbnRyeVR5cGVzOlsibm90LXJlYWwiXX0pYCk7CitzaG91bGROb3RUaHJvdyhgb2Jz
ZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczpbIm1hcmsiXX0pYCk7CitzaG91bGROb3RUaHJvdyhg
b2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczpbIm1hcmsiLCAibm90LXJlYWwiXX0pYCk7Citz
aG91bGROb3RUaHJvdyhgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczpbIm1hcmsiLCAibWVh
c3VyZSJdfSlgKTsKK3Nob3VsZE5vdFRocm93KGBvYnNlcnZlci5kaXNjb25uZWN0KClgKTsKK3No
b3VsZE5vdFRocm93KGBvYnNlcnZlci5kaXNjb25uZWN0KClgKTsKKworZGVidWcoIiIpOworZGVi
dWcoIlBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QiKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVy
Zm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdGApOworc2hvdWxkQmVEZWZpbmVkKGBQZXJmb3JtYW5j
ZU9ic2VydmVyRW50cnlMaXN0LnByb3RvdHlwZS5nZXRFbnRyaWVzYCk7CitzaG91bGRCZURlZmlu
ZWQoYFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QucHJvdG90eXBlLmdldEVudHJpZXNCeVR5
cGVgKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5wcm90
b3R5cGUuZ2V0RW50cmllc0J5TmFtZWApOworc2hvdWxkVGhyb3coYG5ldyBQZXJmb3JtYW5jZU9i
c2VydmVyRW50cnlMaXN0KClgKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWJhc2lj
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1v
YnNlcnZlci1iYXNpYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAuLjJiNDVlZDdkZDlmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUyIEBACitCYXNpYyBCZWhhdmlvciB0ZXN0IGZvciBQZXJmb3JtYW5jZU9ic2VydmVy
IEFQSXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitJbnNpZGUgUGVyZm9ybWFu
Y2VPYnNlcnZlciBjYWxsYmFjaworUEFTUyBhcmd1bWVudHNMZW5ndGggPT09IDIgaXMgdHJ1ZQor
UEFTUyBsaXN0IGluc3RhbmNlb2YgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCBpcyB0cnVl
CitQQVNTIG9icyBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgaXMgdHJ1ZQorUEFTUyBv
YnMgPT09IG9ic2VydmVyIGlzIHRydWUKK0ZBSUwgdGhpc09iamVjdCBpbnN0YW5jZW9mIFBlcmZv
cm1hbmNlT2JzZXJ2ZXIgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxzZS4KK0ZBSUwgdGhpc09iamVj
dCA9PT0gb2JzZXJ2ZXIgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxzZS4KKworUGVyZm9ybWFuY2VP
YnNlcnZlckVudHJ5TGlzdCBBUElzCitQQVNTIGxpc3QuZ2V0RW50cmllcygpIGluc3RhbmNlb2Yg
QXJyYXkgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXMoKS5sZW5ndGggPT09IDIgaXMgdHJ1
ZQorUEFTUyBsaXN0LmdldEVudHJpZXMoKVswXSBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50cnkg
aXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXMoKVswXS5uYW1lIGlzICJtYXJrMyIKK1BBU1Mg
bGlzdC5nZXRFbnRyaWVzKClbMV0ubmFtZSBpcyAibWFyazQiCitQQVNTIGxpc3QuZ2V0RW50cmll
cygpWzBdLnN0YXJ0VGltZSA8PSBsaXN0LmdldEVudHJpZXMoKVsxXS5zdGFydFRpbWUgaXMgdHJ1
ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeVR5cGUoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbGlzdC5nZXRFbnRyaWVzQnlUeXBlKCJub3Qt
cmVhbCIpLmxlbmd0aCA9PT0gMCBpcyB0cnVlCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5VHlwZSgi
bWFyayIpLmxlbmd0aCA9PT0gMiBpcyB0cnVlCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5VHlwZSgi
bWFyayIpWzBdIGluc3RhbmNlb2YgUGVyZm9ybWFuY2VFbnRyeSBpcyB0cnVlCitQQVNTIGxpc3Qu
Z2V0RW50cmllc0J5VHlwZSgibWFyayIpWzBdLm5hbWUgaXMgIm1hcmszIgorUEFTUyBsaXN0Lmdl
dEVudHJpZXNCeVR5cGUoIm1hcmsiKVsxXS5uYW1lIGlzICJtYXJrNCIKK1BBU1MgbGlzdC5nZXRF
bnRyaWVzQnlOYW1lKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1
bWVudHMuCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibm90LXJlYWwiKS5sZW5ndGggPT09
IDAgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcmsxIikubGVuZ3RoID09
PSAwIGlzIHRydWUKK1BBU1MgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrMyIpLmxlbmd0aCA9
PT0gMSBpcyB0cnVlCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibWFyazMiKVswXSBpbnN0
YW5jZW9mIFBlcmZvcm1hbmNlRW50cnkgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5h
bWUoIm1hcmszIilbMF0ubmFtZSBpcyAibWFyazMiCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5TmFt
ZSgibWFyazQiKS5sZW5ndGggPT09IDEgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5h
bWUoIm1hcms0IilbMF0gaW5zdGFuY2VvZiBQZXJmb3JtYW5jZUVudHJ5IGlzIHRydWUKK1BBU1Mg
bGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrNCIpWzBdLm5hbWUgaXMgIm1hcms0IgorUEFTUyBs
aXN0LmdldEVudHJpZXNCeU5hbWUoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5v
dWdoIGFyZ3VtZW50cy4KK1BBU1MgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJub3QtcmVhbCIpLmxl
bmd0aCA9PT0gMCBpcyB0cnVlCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibWFyazEiKS5s
ZW5ndGggPT09IDAgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcmszIiku
bGVuZ3RoID09PSAxIGlzIHRydWUKK1BBU1MgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrMyIp
WzBdIGluc3RhbmNlb2YgUGVyZm9ybWFuY2VFbnRyeSBpcyB0cnVlCitQQVNTIGxpc3QuZ2V0RW50
cmllc0J5TmFtZSgibWFyazMiKVswXS5uYW1lIGlzICJtYXJrMyIKK1BBU1MgbGlzdC5nZXRFbnRy
aWVzQnlOYW1lKCJtYXJrNCIpLmxlbmd0aCA9PT0gMSBpcyB0cnVlCitQQVNTIGxpc3QuZ2V0RW50
cmllc0J5TmFtZSgibWFyazQiKVswXSBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50cnkgaXMgdHJ1
ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcms0IilbMF0ubmFtZSBpcyAibWFyazQi
CitQQVNTIGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibWFyazMiLCAibm90LXJlYWwiKS5sZW5ndGgg
PT09IDAgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcmszIiwgIm1hcmsi
KS5sZW5ndGggPT09IDEgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5hbWUobnVsbCwg
Im1hcmsiKS5sZW5ndGggPT09IDAgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5hbWUo
dW5kZWZpbmVkLCAibWFyayIpLmxlbmd0aCA9PT0gMCBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWJhc2ljLmh0bWwgYi9MYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItYmFzaWMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNmIwZjZkNmQwOGQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2Jz
ZXJ2ZXItYmFzaWMuaHRtbApAQCAtMCwwICsxLDk1IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJCYXNpYyBCZWhh
dmlvciB0ZXN0IGZvciBQZXJmb3JtYW5jZU9ic2VydmVyIEFQSXMuIik7Cit3aW5kb3cuanNUZXN0
SXNBc3luYyA9IHRydWU7CisKKy8vIFBlcmZvcm1hbmNlT2JzZXJ2ZXJzIHRoYXQgYXJlIG5vdCBh
Y3RpdmVseSBvYnNlcnZpbmcgc2hvdWxkIG5vdCBmaXJlLgorbGV0IG9ic2VydmVyTm90T2JzZXJ2
aW5nID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoZnVuY3Rpb24oKSB7CisgICAgdGVzdEZhaWxl
ZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBuZXZlciByZWdpc3RlcmVkIHNob3VsZCBub3QgYmUgY2Fs
bGVkIik7Cit9KTsKKworbGV0IG9ic2VydmVyTm90T2JzZXJ2aW5nMiA9IG5ldyBQZXJmb3JtYW5j
ZU9ic2VydmVyKGZ1bmN0aW9uKCkgeworICAgIHRlc3RGYWlsZWQoIlBlcmZvcm1hbmNlT2JzZXJ2
ZXIgbm90IGFjdGl2ZWx5IG9ic2VydmluZyBzaG91bGQgbm90IGJlIGNhbGxlZCIpOworfSk7Citv
YnNlcnZlck5vdE9ic2VydmluZzIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJtYXJrIl19KTsKK29i
c2VydmVyTm90T2JzZXJ2aW5nMi5kaXNjb25uZWN0KCk7CisKKy8vIFBlcmZvcm1hbmNlT2JzZXJ2
ZXJzIGZvciBkaWZmZXJlbnQgZW50cnkgdHlwZXMgc2hvdWxkIG5vdCBmaXJlLgorbGV0IG9ic2Vy
dmVyTm90TWFya3MgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbigpIHsKKyAgICB0
ZXN0RmFpbGVkKCJQZXJmb3JtYW5jZU9ic2VydmVyIG9ic2VydmluZyBtZWFzdXJlcyBzaG91bGQg
bm90IGJlIGNhbGxlZCIpOworfSk7CisKKy8vIE9ic2VydmVyIHNlZXMgbWFya3Mgd2hpbGUgaXQg
aXMgcmVnaXN0ZXJlZC4KK3BlcmZvcm1hbmNlLm1hcmsoIm1hcmsxIik7Cit3aW5kb3cub2JzZXJ2
ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsaXN0LCBvYnMpIHsKKyAgICB3
aW5kb3cuYXJndW1lbnRzTGVuZ3RoID0gYXJndW1lbnRzLmxlbmd0aDsKKyAgICB3aW5kb3cubGlz
dCA9IGxpc3Q7CisgICAgd2luZG93Lm9icyA9IG9iczsKKyAgICB3aW5kb3cudGhpc09iamVjdCA9
IHRoaXM7CisKKyAgICBkZWJ1ZygiSW5zaWRlIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgY2FsbGJhY2si
KTsKKyAgICBzaG91bGRCZVRydWUoYGFyZ3VtZW50c0xlbmd0aCA9PT0gMmApOworICAgIHNob3Vs
ZEJlVHJ1ZShgbGlzdCBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3RgKTsK
KyAgICBzaG91bGRCZVRydWUoYG9icyBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlT2JzZXJ2ZXJgKTsK
KyAgICBzaG91bGRCZVRydWUoYG9icyA9PT0gb2JzZXJ2ZXJgKTsKKyAgICAvLyBGSVhNRTogPGh0
dHBzOi8vd2Via2l0Lm9yZy9iLzE2NzU0OT4gSW52b2tpbmcgZ2VuZXJhdGVkIGNhbGxiYWNrIHNo
b3VsZCBhbGxvdyBzZXR0aW5nIHRoZSBgdGhpc2Agb2JqZWN0CisgICAgc2hvdWxkQmVUcnVlKGB0
aGlzT2JqZWN0IGluc3RhbmNlb2YgUGVyZm9ybWFuY2VPYnNlcnZlcmApOworICAgIHNob3VsZEJl
VHJ1ZShgdGhpc09iamVjdCA9PT0gb2JzZXJ2ZXJgKTsKKworICAgIGRlYnVnKCIiKTsKKyAgICBk
ZWJ1ZygiUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCBBUElzIik7CisKKyAgICBzaG91bGRC
ZVRydWUoYGxpc3QuZ2V0RW50cmllcygpIGluc3RhbmNlb2YgQXJyYXlgKTsKKyAgICBzaG91bGRC
ZVRydWUoYGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aCA9PT0gMmApOworICAgIHNob3VsZEJlVHJ1
ZShgbGlzdC5nZXRFbnRyaWVzKClbMF0gaW5zdGFuY2VvZiBQZXJmb3JtYW5jZUVudHJ5YCk7Cisg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVswXS5uYW1lYCwgIm1h
cmszIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVsxXS5u
YW1lYCwgIm1hcms0Iik7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJpZXMoKVswXS5z
dGFydFRpbWUgPD0gbGlzdC5nZXRFbnRyaWVzKClbMV0uc3RhcnRUaW1lYCk7CisKKyAgICBzaG91
bGRUaHJvdyhgbGlzdC5nZXRFbnRyaWVzQnlUeXBlKClgKTsKKyAgICBzaG91bGRCZVRydWUoYGxp
c3QuZ2V0RW50cmllc0J5VHlwZSgibm90LXJlYWwiKS5sZW5ndGggPT09IDBgKTsKKyAgICBzaG91
bGRCZVRydWUoYGxpc3QuZ2V0RW50cmllc0J5VHlwZSgibWFyayIpLmxlbmd0aCA9PT0gMmApOwor
ICAgIHNob3VsZEJlVHJ1ZShgbGlzdC5nZXRFbnRyaWVzQnlUeXBlKCJtYXJrIilbMF0gaW5zdGFu
Y2VvZiBQZXJmb3JtYW5jZUVudHJ5YCk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0
LmdldEVudHJpZXNCeVR5cGUoIm1hcmsiKVswXS5uYW1lYCwgIm1hcmszIik7CisgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXNCeVR5cGUoIm1hcmsiKVsxXS5uYW1lYCwg
Im1hcms0Iik7CisKKyAgICBzaG91bGRUaHJvdyhgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKClgKTsK
KyAgICBzaG91bGRCZVRydWUoYGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibm90LXJlYWwiKS5sZW5n
dGggPT09IDBgKTsKKyAgICBzaG91bGRCZVRydWUoYGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibWFy
azEiKS5sZW5ndGggPT09IDBgKTsKKyAgICBzaG91bGRCZVRydWUoYGxpc3QuZ2V0RW50cmllc0J5
TmFtZSgibWFyazMiKS5sZW5ndGggPT09IDFgKTsKKyAgICBzaG91bGRCZVRydWUoYGxpc3QuZ2V0
RW50cmllc0J5TmFtZSgibWFyazMiKVswXSBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50cnlgKTsK
KyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibWFyazMi
KVswXS5uYW1lYCwgIm1hcmszIik7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJpZXNC
eU5hbWUoIm1hcms0IikubGVuZ3RoID09PSAxYCk7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0Lmdl
dEVudHJpZXNCeU5hbWUoIm1hcms0IilbMF0gaW5zdGFuY2VvZiBQZXJmb3JtYW5jZUVudHJ5YCk7
CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcms0
IilbMF0ubmFtZWAsICJtYXJrNCIpOworCisgICAgc2hvdWxkVGhyb3coYGxpc3QuZ2V0RW50cmll
c0J5TmFtZSgpYCk7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm5v
dC1yZWFsIikubGVuZ3RoID09PSAwYCk7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJp
ZXNCeU5hbWUoIm1hcmsxIikubGVuZ3RoID09PSAwYCk7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0
LmdldEVudHJpZXNCeU5hbWUoIm1hcmszIikubGVuZ3RoID09PSAxYCk7CisgICAgc2hvdWxkQmVU
cnVlKGBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcmszIilbMF0gaW5zdGFuY2VvZiBQZXJmb3Jt
YW5jZUVudHJ5YCk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXNC
eU5hbWUoIm1hcmszIilbMF0ubmFtZWAsICJtYXJrMyIpOworICAgIHNob3VsZEJlVHJ1ZShgbGlz
dC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrNCIpLmxlbmd0aCA9PT0gMWApOworICAgIHNob3VsZEJl
VHJ1ZShgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrNCIpWzBdIGluc3RhbmNlb2YgUGVyZm9y
bWFuY2VFbnRyeWApOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5nZXRFbnRyaWVz
QnlOYW1lKCJtYXJrNCIpWzBdLm5hbWVgLCAibWFyazQiKTsKKworICAgIHNob3VsZEJlVHJ1ZShg
bGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrMyIsICJub3QtcmVhbCIpLmxlbmd0aCA9PT0gMGAp
OworICAgIHNob3VsZEJlVHJ1ZShgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrMyIsICJtYXJr
IikubGVuZ3RoID09PSAxYCk7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJpZXNCeU5h
bWUobnVsbCwgIm1hcmsiKS5sZW5ndGggPT09IDBgKTsKKyAgICBzaG91bGRCZVRydWUoYGxpc3Qu
Z2V0RW50cmllc0J5TmFtZSh1bmRlZmluZWQsICJtYXJrIikubGVuZ3RoID09PSAwYCk7CisKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK30pOworcGVyZm9ybWFuY2UubWFyaygibWFyazIiKTsKK29ic2Vy
dmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsibWFyayJdfSk7CitwZXJmb3JtYW5jZS5tYXJrKCJt
YXJrMyIpOworcGVyZm9ybWFuY2UubWFyaygibWFyazQiKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNl
LW9ic2VydmVyLWNhbGxiYWNrLW11dGF0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wZXJm
b3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItY2FsbGJhY2stbXV0YXRlLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOWVjNTQwZjJkYWUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFu
Y2Utb2JzZXJ2ZXItY2FsbGJhY2stbXV0YXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQyIEBA
CitUZXN0IFBlcmZvcm1hbmNlT2JzZXJ2ZXIgbXV0YXRpbmcgaXRzZWxmIHdoaWxlIGluIGl0cyBj
YWxsYmFjay4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK09ic2VydmVyaW5nOiBb
Im1lYXN1cmUiXQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrIGZpcmVkCitQQVNT
IGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aCBpcyAxCitQQVNTIGxpc3QuZ2V0RW50cmllcygpWzBd
LmVudHJ5VHlwZSBpcyAibWVhc3VyZSIKK1BBU1MgbGlzdC5nZXRFbnRyaWVzKClbMF0ubmFtZSBp
cyAibWVhc3VyZTEiCitPYnNlcnZlcmluZzogWyJtYXJrIl0KKyAtIG1lYXN1cmUxCitQQVNTIFBl
cmZvcm1hbmNlT2JzZXJ2ZXIgY2FsbGJhY2sgZmlyZWQKK1BBU1MgbGlzdC5nZXRFbnRyaWVzKCku
bGVuZ3RoIGlzIDEKK1BBU1MgbGlzdC5nZXRFbnRyaWVzKClbMF0uZW50cnlUeXBlIGlzICJtYXJr
IgorUEFTUyBsaXN0LmdldEVudHJpZXMoKVswXS5uYW1lIGlzICJtYXJrMiIKK09ic2VydmVyaW5n
OiBbIm1lYXN1cmUiXQorIC0gbWFyazIKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciBjYWxsYmFj
ayBmaXJlZAorUEFTUyBsaXN0LmdldEVudHJpZXMoKS5sZW5ndGggaXMgMgorUEFTUyBsaXN0Lmdl
dEVudHJpZXMoKVswXS5lbnRyeVR5cGUgaXMgIm1lYXN1cmUiCitQQVNTIGxpc3QuZ2V0RW50cmll
cygpWzBdLm5hbWUgaXMgIm1lYXN1cmUzIgorUEFTUyBsaXN0LmdldEVudHJpZXMoKVsxXS5lbnRy
eVR5cGUgaXMgIm1hcmsiCitQQVNTIGxpc3QuZ2V0RW50cmllcygpWzFdLm5hbWUgaXMgIm1hcmst
YmVmb3JlLWNoYW5nZS1vYnNlcnZlLXN0YXRlLXRvLW1lYXN1cmUiCitPYnNlcnZlcmluZzogWyJt
YXJrIiwibWVhc3VyZSJdCisgLSBtZWFzdXJlMworIC0gbWFyay1iZWZvcmUtY2hhbmdlLW9ic2Vy
dmUtc3RhdGUtdG8tbWVhc3VyZQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrIGZp
cmVkCitQQVNTIGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aCBpcyAzCitQQVNTIGxpc3QuZ2V0RW50
cmllcygpWzBdLmVudHJ5VHlwZSBpcyAibWVhc3VyZSIKK1BBU1MgbGlzdC5nZXRFbnRyaWVzKClb
MF0ubmFtZSBpcyAibWVhc3VyZS1iZWZvcmUtY2hhbmdlLW9ic2VydmUtc3RhdGUtdG8tYm90aCIK
K1BBU1MgbGlzdC5nZXRFbnRyaWVzKClbMV0uZW50cnlUeXBlIGlzICJtZWFzdXJlIgorUEFTUyBs
aXN0LmdldEVudHJpZXMoKVsxXS5uYW1lIGlzICJtZWFzdXJlNCIKK1BBU1MgbGlzdC5nZXRFbnRy
aWVzKClbMl0uZW50cnlUeXBlIGlzICJtYXJrIgorUEFTUyBsaXN0LmdldEVudHJpZXMoKVsyXS5u
YW1lIGlzICJtYXJrNCIKKyAtIG1lYXN1cmUtYmVmb3JlLWNoYW5nZS1vYnNlcnZlLXN0YXRlLXRv
LWJvdGgKKyAtIG1lYXN1cmU0CisgLSBtYXJrNAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BlcmZvcm1h
bmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1jYWxsYmFjay1tdXRhdGUuaHRtbCBiL0xheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1jYWxsYmFjay1tdXRh
dGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZjg4ZWNhNDUy
ODUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9y
bWFuY2Utb2JzZXJ2ZXItY2FsbGJhY2stbXV0YXRlLmh0bWwKQEAgLTAsMCArMSw5NyBAQAorPCFE
T0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNj
cmlwdGlvbigiVGVzdCBQZXJmb3JtYW5jZU9ic2VydmVyIG11dGF0aW5nIGl0c2VsZiB3aGlsZSBp
biBpdHMgY2FsbGJhY2suIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKy8vIE9i
c2VydmVyIGlzIGZpcnN0IHdhdGNoaW5nIG1lYXN1cmVzID0+IHRoZW4gbWFya3MgPT4gbWVhc3Vy
ZXMgPT4gYm90aC4KKy8vIE5PVEU6IE1lYXN1cmVzIGFyZSBzb3J0ZWQgYmVmb3JlIG1hcmtzIGR1
ZSB0byBzdGFydFRpbWUuCisKK3dpbmRvdy5jYWxsYmFja0NvdW50ID0gMDsKK3dpbmRvdy5saXN0
ID0gbnVsbDsKKworbGV0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGxpc3Qp
ID0+IHsKKyAgICB3aW5kb3cubGlzdCA9IGxpc3Q7CisgICAgY2FsbGJhY2tDb3VudCsrOworICAg
IHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgY2FsbGJhY2sgZmlyZWQiKTsKKworICAg
IGlmIChjYWxsYmFja0NvdW50ID09PSAxKSB7CisgICAgICAgIC8vIEV4cGVjdGVkOiBbbWVhc3Vy
ZTFdCisgICAgICAgIHNob3VsZEJlKGBsaXN0LmdldEVudHJpZXMoKS5sZW5ndGhgLCBgMWApOwor
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0RW50cmllcygpWzBdLmVudHJ5
VHlwZWAsICJtZWFzdXJlIik7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5n
ZXRFbnRyaWVzKClbMF0ubmFtZWAsICJtZWFzdXJlMSIpOworCisgICAgICAgIHVwZGF0ZU9ic2Vy
dmVyKFsibWFyayJdKTsKKworICAgICAgICBwZXJmb3JtYW5jZS5tYXJrKCJtYXJrMiIpOworICAg
ICAgICBwZXJmb3JtYW5jZS5tZWFzdXJlKCJtZWFzdXJlMiIpOworICAgIH0gZWxzZSBpZiAoY2Fs
bGJhY2tDb3VudCA9PT0gMikgeworICAgICAgICAvLyBFeHBlY3RlZDogW21hcmsyXQorICAgICAg
ICBzaG91bGRCZShgbGlzdC5nZXRFbnRyaWVzKCkubGVuZ3RoYCwgYDFgKTsKKyAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVswXS5lbnRyeVR5cGVgLCAibWFy
ayIpOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0RW50cmllcygpWzBd
Lm5hbWVgLCAibWFyazIiKTsKKworICAgICAgICBwZXJmb3JtYW5jZS5tYXJrKCJtYXJrLWJlZm9y
ZS1jaGFuZ2Utb2JzZXJ2ZS1zdGF0ZS10by1tZWFzdXJlIik7CisgICAgICAgIHBlcmZvcm1hbmNl
Lm1lYXN1cmUoIm1lYXN1cmUtYmVmb3JlLWNoYW5nZS1vYnNlcnZlLXN0YXRlLXRvLW1lYXN1cmUi
KTsKKworICAgICAgICB1cGRhdGVPYnNlcnZlcihbIm1lYXN1cmUiXSk7CisKKyAgICAgICAgcGVy
Zm9ybWFuY2UubWFyaygibWFyazMiKTsKKyAgICAgICAgcGVyZm9ybWFuY2UubWVhc3VyZSgibWVh
c3VyZTMiKTsKKyAgICB9IGVsc2UgaWYgKGNhbGxiYWNrQ291bnQgPT09IDMpIHsKKyAgICAgICAg
Ly8gRXhwZWN0ZWQ6IFttZWFzdXJlMywgbWFyay1iZWZvcmUtY2hhbmdlLW9ic2VydmUtc3RhdGUt
dG8tbWVhc3VyZV0KKyAgICAgICAgc2hvdWxkQmUoYGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aGAs
IGAyYCk7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5nZXRFbnRyaWVzKClb
MF0uZW50cnlUeXBlYCwgIm1lYXN1cmUiKTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KGBsaXN0LmdldEVudHJpZXMoKVswXS5uYW1lYCwgIm1lYXN1cmUzIik7CisgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5nZXRFbnRyaWVzKClbMV0uZW50cnlUeXBlYCwgIm1hcmsi
KTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVsxXS5u
YW1lYCwgIm1hcmstYmVmb3JlLWNoYW5nZS1vYnNlcnZlLXN0YXRlLXRvLW1lYXN1cmUiKTsKKwor
ICAgICAgICBwZXJmb3JtYW5jZS5tYXJrKCJtYXJrLWJlZm9yZS1jaGFuZ2Utb2JzZXJ2ZS1zdGF0
ZS10by1ib3RoIik7CisgICAgICAgIHBlcmZvcm1hbmNlLm1lYXN1cmUoIm1lYXN1cmUtYmVmb3Jl
LWNoYW5nZS1vYnNlcnZlLXN0YXRlLXRvLWJvdGgiKTsKKworICAgICAgICB1cGRhdGVPYnNlcnZl
cihbIm1hcmsiLCAibWVhc3VyZSJdKTsKKworICAgICAgICBwZXJmb3JtYW5jZS5tYXJrKCJtYXJr
NCIpOworICAgICAgICBwZXJmb3JtYW5jZS5tZWFzdXJlKCJtZWFzdXJlNCIpOworICAgIH0gZWxz
ZSBpZiAoY2FsbGJhY2tDb3VudCA9PT0gNCkgeworICAgICAgICAvLyBFeHBlY3RlZDogW21lYXN1
cmUtYmVmb3JlLWNoYW5nZS1vYnNlcnZlLXN0YXRlLXRvLWJvdGgsIG1lYXN1cmU0LCBtYXJrNF0K
KyAgICAgICAgc2hvdWxkQmUoYGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aGAsIGAzYCk7CisgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5nZXRFbnRyaWVzKClbMF0uZW50cnlUeXBl
YCwgIm1lYXN1cmUiKTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVu
dHJpZXMoKVswXS5uYW1lYCwgIm1lYXN1cmUtYmVmb3JlLWNoYW5nZS1vYnNlcnZlLXN0YXRlLXRv
LWJvdGgiKTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMo
KVsxXS5lbnRyeVR5cGVgLCAibWVhc3VyZSIpOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoYGxpc3QuZ2V0RW50cmllcygpWzFdLm5hbWVgLCAibWVhc3VyZTQiKTsKKyAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVsyXS5lbnRyeVR5cGVgLCAibWFy
ayIpOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0RW50cmllcygpWzJd
Lm5hbWVgLCAibWFyazQiKTsKKworICAgICAgICBwZXJmb3JtYW5jZS5tYXJrKCJtYXJrLWJlZm9y
ZS1kaXNjb25uZWN0Iik7CisgICAgICAgIHBlcmZvcm1hbmNlLm1lYXN1cmUoIm1lYXN1cmUtYmVm
b3JlLWRpc2Nvbm5lY3QiKTsKKworICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7CisKKyAg
ICAgICAgcGVyZm9ybWFuY2UubWFyaygibWFyay1hZnRlci1kaXNjb25uZWN0Iik7CisgICAgICAg
IHBlcmZvcm1hbmNlLm1lYXN1cmUoIm1lYXN1cmUtYWZ0ZXItZGlzY29ubmVjdCIpOworCisgICAg
ICAgIHNldFRpbWVvdXQoZmluaXNoSlNUZXN0LCA1MCk7CisgICAgfSBlbHNlIGlmIChjYWxsYmFj
a0NvdW50ID09PSA1KQorICAgICAgICB0ZXN0RmFpbGVkKCJTaG91bGQgbm90IGhhdmUgcmVjZWl2
ZWQgYW5vdGhlciBjYWxsYmFjaywgdGhlIG9ic2VydmVyIHdhcyBkaXNjb25uZWN0ZWQiKTsKKwor
ICAgIGZvciAobGV0IG1hcmsgb2YgbGlzdC5nZXRFbnRyaWVzKCkpCisgICAgICAgIGRlYnVnKCIg
LSAiICsgbWFyay5uYW1lKTsKK30pOworCitmdW5jdGlvbiB1cGRhdGVPYnNlcnZlcihlbnRyeVR5
cGVzKSB7CisgICAgZGVidWcoIk9ic2VydmVyaW5nOiAiICsgSlNPTi5zdHJpbmdpZnkoZW50cnlU
eXBlcykpOworICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXN9KTsKK30KKwordXBkYXRl
T2JzZXJ2ZXIoWyJtZWFzdXJlIl0pOworcGVyZm9ybWFuY2UubWFyaygibWFyazEiKTsKK3BlcmZv
cm1hbmNlLm1lYXN1cmUoIm1lYXN1cmUxIik7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZl
ci1jYWxsYmFjay10YXNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFw
aS9wZXJmb3JtYW5jZS1vYnNlcnZlci1jYWxsYmFjay10YXNrLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMjAzZTNhMDM5NTQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIt
Y2FsbGJhY2stdGFzay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVGVzdCBQZXJmb3Jt
YW5jZU9ic2VydmVyIGNhbGxiYWNrIGlzIGEgdGFzaywgbm90IGEgbWljcm90YXNrLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxi
YWNrIGZpcmVkCitQQVNTIG1pY3JvdGFza0V4ZWN1dGVkIGlzIGZhbHNlCitQQVNTIGxpc3QuZ2V0
RW50cmllcygpLmxlbmd0aCBpcyAxCitQQVNTIFByb21pc2UgbWljcm90YXNrIGZpcmVkCitQQVNT
IFBlcmZvcm1hbmNlT2JzZXJ2ZXIgY2FsbGJhY2sgZmlyZWQKK1BBU1MgbGlzdC5nZXRFbnRyaWVz
KCkubGVuZ3RoIGlzIDIKK1BBU1MgbWljcm90YXNrRXhlY3V0ZWQgaXMgdHJ1ZQorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1jYWxsYmFjay10
YXNrLmh0bWwgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2
ZXItY2FsbGJhY2stdGFzay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwLi42MTZlYTJmNjQwYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BlcmZvcm1h
bmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1jYWxsYmFjay10YXNrLmh0bWwKQEAgLTAsMCAr
MSw0OCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrIGlz
IGEgdGFzaywgbm90IGEgbWljcm90YXNrLiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
OworCit3aW5kb3cubWljcm90YXNrRXhlY3V0ZWQgPSBmYWxzZTsKK3dpbmRvdy5jYWxsYmFja0Nv
dW50ID0gMDsKK3dpbmRvdy5saXN0ID0gbnVsbDsKKworbGV0IG9ic2VydmVyID0gbmV3IFBlcmZv
cm1hbmNlT2JzZXJ2ZXIoKGxpc3QpID0+IHsKKyAgICB3aW5kb3cubGlzdCA9IGxpc3Q7CisgICAg
Y2FsbGJhY2tDb3VudCsrOworCisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBj
YWxsYmFjayBmaXJlZCIpOworCisgICAgaWYgKGNhbGxiYWNrQ291bnQgPT09IDEpIHsKKyAgICAg
ICAgc2hvdWxkQmVGYWxzZShgbWljcm90YXNrRXhlY3V0ZWRgKTsKKyAgICAgICAgc2hvdWxkQmUo
YGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aGAsIGAxYCk7CisgICAgICAgIHBlcmZvcm1hbmNlLm1h
cmsoIm1hcmsyIik7CisgICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4geworICAg
ICAgICAgICAgdGVzdFBhc3NlZCgiUHJvbWlzZSBtaWNyb3Rhc2sgZmlyZWQiKTsKKyAgICAgICAg
ICAgIG1pY3JvdGFza0V4ZWN1dGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIHBlcmZvcm1hbmNlLm1h
cmsoIm1hcmszIik7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
aWYgKGNhbGxiYWNrQ291bnQgPT09IDIpIHsKKyAgICAgICAgc2hvdWxkQmUoYGxpc3QuZ2V0RW50
cmllcygpLmxlbmd0aGAsIGAyYCk7CisgICAgICAgIHNob3VsZEJlVHJ1ZShgbWljcm90YXNrRXhl
Y3V0ZWRgKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICB0ZXN0RmFpbGVkKCJDYWxsYmFjayBzaG91bGQgbm90IGhhdmUgZmlyZWQgYWdhaW4i
KTsKK30pOworCitvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbIm1hcmsiXX0pOworcGVy
Zm9ybWFuY2UubWFyaygibWFyazEiKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWVu
dHJ5LXNvcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZv
cm1hbmNlLW9ic2VydmVyLWVudHJ5LXNvcnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5jYmNiYjQxMDU3NgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1lbnRyeS1zb3J0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI3IEBACitUZXN0IFBlcmZvcm1hbmNlT2JzZXJ2ZXIg
bXV0YXRpbmcgaXRzZWxmIHdoaWxlIGluIGl0cyBjYWxsYmFjay4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciBjYWxsYmFjayBmaXJlZAor
UEFTUyBsaXN0LmdldEVudHJpZXMoKS5sZW5ndGggaXMgOAorUEFTUyBzb3J0ZWQgaXMgdHJ1ZQor
UEFTUyBsaXN0LmdldEVudHJpZXMoKVswXS5lbnRyeVR5cGUgaXMgIm1lYXN1cmUiCitQQVNTIGxp
c3QuZ2V0RW50cmllcygpWzFdLmVudHJ5VHlwZSBpcyAibWVhc3VyZSIKK1BBU1MgbGlzdC5nZXRF
bnRyaWVzKClbMl0uZW50cnlUeXBlIGlzICJtZWFzdXJlIgorUEFTUyBsaXN0LmdldEVudHJpZXMo
KVszXS5lbnRyeVR5cGUgaXMgIm1hcmsiCitQQVNTIGxpc3QuZ2V0RW50cmllcygpWzNdLm5hbWUg
aXMgIm1hcmsxIgorUEFTUyBsaXN0LmdldEVudHJpZXMoKVs3XS5lbnRyeVR5cGUgaXMgIm1hcmsi
CitQQVNTIGxpc3QuZ2V0RW50cmllcygpWzddLm5hbWUgaXMgIm1hcmszIgorUEFTUyBsaXN0Lmdl
dEVudHJpZXMoKVswXS5uYW1lIGlzICJtZWFzdXJlMSIKK1BBU1MgbGlzdC5nZXRFbnRyaWVzKClb
MV0ubmFtZSBpcyAibWVhc3VyZTIiCitQQVNTIGxpc3QuZ2V0RW50cmllcygpWzJdLm5hbWUgaXMg
Im1lYXN1cmUzIgorUEFTUyBsaXN0LmdldEVudHJpZXMoKVszXS5uYW1lIGlzICJtYXJrMSIKK1BB
U1MgbGlzdC5nZXRFbnRyaWVzKClbNF0ubmFtZSBpcyAibWFyazIiCitQQVNTIGxpc3QuZ2V0RW50
cmllcygpWzVdLm5hbWUgaXMgIm1lYXN1cmUtbWF0Y2hpbmctbWFyazItMSIKK1BBU1MgbGlzdC5n
ZXRFbnRyaWVzKClbNl0ubmFtZSBpcyAibWVhc3VyZS1tYXRjaGluZy1tYXJrMi0yIgorUEFTUyBs
aXN0LmdldEVudHJpZXMoKVs3XS5uYW1lIGlzICJtYXJrMyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZW50cnktc29ydC5odG1sIGIvTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWVudHJ5LXNvcnQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNmViMTkzMDgzZDgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFu
Y2Utb2JzZXJ2ZXItZW50cnktc29ydC5odG1sCkBAIC0wLDAgKzEsNzggQEAKKzwhRE9DVFlQRSBI
VE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24o
IlRlc3QgUGVyZm9ybWFuY2VPYnNlcnZlciBtdXRhdGluZyBpdHNlbGYgd2hpbGUgaW4gaXRzIGNh
bGxiYWNrLiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCitmdW5jdGlvbiB3YWl0
KCkgeworICAgIGxldCBub3cgPSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICB3aGlsZSAobm93ID09
PSBwZXJmb3JtYW5jZS5ub3coKSkKKyAgICAgICAgY29udGludWU7Cit9CisKK2xldCBvYnNlcnZl
ciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKChsaXN0KSA9PiB7CisgICAgdGVzdFBhc3NlZCgi
UGVyZm9ybWFuY2VPYnNlcnZlciBjYWxsYmFjayBmaXJlZCIpOworCisgICAgd2luZG93Lmxpc3Qg
PSBsaXN0OworICAgIHdpbmRvdy5zb3J0ZWQgPSB0cnVlOworCisgICAgbGV0IGVudHJpZXMgPSBs
aXN0LmdldEVudHJpZXMoKTsKKyAgICBsZXQgbGFzdFN0YXJ0VGltZSA9IGVudHJpZXNbMF0uc3Rh
cnRUaW1lOworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZW50cmllcy5sZW5ndGg7ICsraSkgewor
ICAgICAgICBsZXQgY3VycmVudFN0YXJ0VGltZSA9IGVudHJpZXNbaV0uc3RhcnRUaW1lOworICAg
ICAgICBpZiAobGFzdFN0YXJ0VGltZSA+IGN1cnJlbnRTdGFydFRpbWUpIHsKKyAgICAgICAgICAg
IHNvcnRlZCA9IGZhbHNlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAg
bGFzdFN0YXJ0VGltZSA9IGN1cnJlbnRTdGFydFRpbWU7CisgICAgfQorCisgICAgc2hvdWxkQmUo
YGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aGAsIGA4YCk7CisgICAgc2hvdWxkQmVUcnVlKGBzb3J0
ZWRgKTsKKworICAgIC8vIFJlZ2FyZGxlc3Mgb2YgaG93IGlkZW50aWNhbCBzdGFydCB0aW1lIGVs
ZW1lbnRzIGFyZSBzb3J0ZWQsCisgICAgLy8gdGhlIGZpcnN0IHRocmVlIHZhbHVlcyBzaG91bGQg
YmUgbWVhc3VyZXMxLDIsMyB3aXRoIDAgc3RhcnQgdGltZSwKKyAgICAvLyBmb2xsb3dlZCBieSBt
YXJrMS4gVGhlIGxhc3QgZW50cnkgd2lsbCBiZSBtYXJrMy4KKyAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoYGxpc3QuZ2V0RW50cmllcygpWzBdLmVudHJ5VHlwZWAsICJtZWFzdXJlIik7CisgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVsxXS5lbnRyeVR5cGVgLCAi
bWVhc3VyZSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5nZXRFbnRyaWVzKClb
Ml0uZW50cnlUeXBlYCwgIm1lYXN1cmUiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxp
c3QuZ2V0RW50cmllcygpWzNdLmVudHJ5VHlwZWAsICJtYXJrIik7CisgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVszXS5uYW1lYCwgIm1hcmsxIik7CisgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVs3XS5lbnRyeVR5cGVgLCAibWFy
ayIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5nZXRFbnRyaWVzKClbN10ubmFt
ZWAsICJtYXJrMyIpOworCisgICAgLy8gV2ViS2l0IHdhbnRzIGEgc3RhYmxlIHNvcnQgYmFzZWQg
bWF0Y2hpbmcgdXNlciBleHBlY3RhdGlvbnMuCisgICAgLy8gVGhlIHNwZWMgaXMgY3VycmVudGx5
IGltcHJlY2lzZSBoZXJlLgorICAgIC8vIDxodHRwczovL2dpdGh1Yi5jb20vdzNjL3BlcmZvcm1h
bmNlLXRpbWVsaW5lL2lzc3Vlcy82Nz4KKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3Qu
Z2V0RW50cmllcygpWzBdLm5hbWVgLCAibWVhc3VyZTEiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoYGxpc3QuZ2V0RW50cmllcygpWzFdLm5hbWVgLCAibWVhc3VyZTIiKTsKKyAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0RW50cmllcygpWzJdLm5hbWVgLCAibWVhc3VyZTMi
KTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0RW50cmllcygpWzNdLm5hbWVg
LCAibWFyazEiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0RW50cmllcygp
WzRdLm5hbWVgLCAibWFyazIiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0
RW50cmllcygpWzVdLm5hbWVgLCAibWVhc3VyZS1tYXRjaGluZy1tYXJrMi0xIik7CisgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVs2XS5uYW1lYCwgIm1lYXN1cmUt
bWF0Y2hpbmctbWFyazItMiIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5nZXRF
bnRyaWVzKClbN10ubmFtZWAsICJtYXJrMyIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsK
Kworb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJtYXJrIiwgIm1lYXN1cmUiXX0pOwor
CitwZXJmb3JtYW5jZS5tYXJrKCJtYXJrMSIpOworcGVyZm9ybWFuY2UubWVhc3VyZSgibWVhc3Vy
ZTEiKTsKK3dhaXQoKTsgLy8gRW5zdXJlIG1hcmsxICE9PSBtYXJrMiBzdGFydFRpbWUgYnkgbWFr
aW5nIHN1cmUgcGVyZm9ybWFuY2Uubm93IGFkdmFuY2VzLgorcGVyZm9ybWFuY2UubWFyaygibWFy
azIiKTsKK3BlcmZvcm1hbmNlLm1lYXN1cmUoIm1lYXN1cmUyIik7CitwZXJmb3JtYW5jZS5tZWFz
dXJlKCJtZWFzdXJlLW1hdGNoaW5nLW1hcmsyLTEiLCAibWFyazIiKTsKK3dhaXQoKTsgLy8gRW5z
dXJlIG1hcmsyICE9PSBtYXJrMyBzdGFydFRpbWUgYnkgbWFraW5nIHN1cmUgcGVyZm9ybWFuY2Uu
bm93IGFkdmFuY2VzLgorcGVyZm9ybWFuY2UubWFyaygibWFyazMiKTsKK3BlcmZvcm1hbmNlLm1l
YXN1cmUoIm1lYXN1cmUzIik7CitwZXJmb3JtYW5jZS5tZWFzdXJlKCJtZWFzdXJlLW1hdGNoaW5n
LW1hcmsyLTIiLCAibWFyazIiKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWV4Y2Vw
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFu
Y2Utb2JzZXJ2ZXItZXhjZXB0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMC4uMGU1NjM2MjI2YzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZXhjZXB0aW9uLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6IEVYQ0VQ
VElPTiBNRVNTQUdFIElOIENBTExCQUNLCitFbnN1cmUgUGVyZm9ybWFuY2VPYnNlcnZlciBFeGNl
cHRpb25zIGFyZSBwcm9wb2dhdGVkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UGVyZm9ybWFuY2VPYnNlcnZlciBjYWxsYmFjayBmaXJlZAorUEFTUyBvbmVycm9yOiBFWENFUFRJ
T04gTUVTU0FHRSBJTiBDQUxMQkFDSworUEFTUyBvbmVycm9yOiBUeXBlRXJyb3I6IENhbm5vdCBj
YWxsIGEgY2xhc3MgY29uc3RydWN0b3Igd2l0aG91dCB8bmV3fAorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1leGNlcHRpb24uaHRtbCBiL0xh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1leGNlcHRpb24u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNmExMWNjYTRkYjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFu
Y2Utb2JzZXJ2ZXItZXhjZXB0aW9uLmh0bWwKQEAgLTAsMCArMSwzNSBAQAorPCFET0NUWVBFIEhU
TUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigi
RW5zdXJlIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgRXhjZXB0aW9ucyBhcmUgcHJvcG9nYXRlZC4iKTsK
K3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworbGV0IHNlZW5FeGNlcHRpb25zID0gMDsK
Kword2luZG93Lm9uZXJyb3IgPSBmdW5jdGlvbihtZXNzYWdlKSB7CisgICAgdGVzdFBhc3NlZCgi
b25lcnJvcjogIiArIG1lc3NhZ2UpOworCisgICAgc2VlbkV4Y2VwdGlvbnMrKzsKKyAgICBpZiAo
c2VlbkV4Y2VwdGlvbnMgPT09IDIpCisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitsZXQg
b2JzZXJ2ZXIxID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGxpc3QpID0+IHsKKyAgICBkZWJ1
ZygiUGVyZm9ybWFuY2VPYnNlcnZlciBjYWxsYmFjayBmaXJlZCIpOworICAgIHRocm93ICJFWENF
UFRJT04gTUVTU0FHRSBJTiBDQUxMQkFDSyI7Cit9KTsKKworY2xhc3MgTXlPYnNlcnZlciB7fTsK
K2xldCBvYnNlcnZlcjIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihNeU9ic2VydmVyKTsKKwor
b2JzZXJ2ZXIxLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsibWFyayJdfSk7CitvYnNlcnZlcjIub2Jz
ZXJ2ZSh7ZW50cnlUeXBlczogWyJtYXJrIl19KTsKK3BlcmZvcm1hbmNlLm1hcmsoIm1hcmsxIik7
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1uZXN0ZWQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLW5lc3RlZC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmViZmUwNTZh
OGRkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZv
cm1hbmNlLW9ic2VydmVyLW5lc3RlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAorVGVz
dCBQZXJmb3JtYW5jZU9ic2VydmVyIGhhbmRsaW5nIG9mIGVudHJpZXMgYWRkZWQgd2hpbGUgaW4g
Y2FsbGJhY2suCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIFBlcmZvcm1h
bmNlT2JzZXJ2ZXIgMSBjYWxsYmFjayBmaXJlZAorUEFTUyBsaXN0LmdldEVudHJpZXMoKS5sZW5n
dGggaXMgMQorIC0gbWFyazEKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciAyIGNhbGxiYWNrIGZp
cmVkCitQQVNTIGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aCBpcyAyCisgLSBtYXJrMQorIC0gbWFy
azIKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciAxIGNhbGxiYWNrIGZpcmVkCitQQVNTIGxpc3Qu
Z2V0RW50cmllcygpLmxlbmd0aCBpcyAyCisgLSBtYXJrMgorIC0gbWFyazMKK1BBU1MgUGVyZm9y
bWFuY2VPYnNlcnZlciAyIGNhbGxiYWNrIGZpcmVkCitQQVNTIGxpc3QuZ2V0RW50cmllcygpLmxl
bmd0aCBpcyAxCisgLSBtYXJrMworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9w
ZXJmb3JtYW5jZS1vYnNlcnZlci1uZXN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1uZXN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMC4uNmI4ODA0ZmJiMjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItbmVzdGVkLmh0bWwK
QEAgLTAsMCArMSw2MSBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBQZXJmb3JtYW5jZU9ic2VydmVyIGhh
bmRsaW5nIG9mIGVudHJpZXMgYWRkZWQgd2hpbGUgaW4gY2FsbGJhY2suIik7Cit3aW5kb3cuanNU
ZXN0SXNBc3luYyA9IHRydWU7CisKK3dpbmRvdy5jYWxsYmFja0NvdW50ID0gMDsKK3dpbmRvdy5s
aXN0ID0gbnVsbDsKKworbGV0IG9ic2VydmVyMSA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKChs
aXN0KSA9PiB7CisgICAgd2luZG93Lmxpc3QgPSBsaXN0OworICAgIGNhbGxiYWNrQ291bnQrKzsK
KyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVyIDEgY2FsbGJhY2sgZmlyZWQiKTsK
KworICAgIGlmIChjYWxsYmFja0NvdW50ID09PSAxKSB7CisgICAgICAgIHBlcmZvcm1hbmNlLm1h
cmsoIm1hcmsyIik7CisgICAgICAgIHNob3VsZEJlKGBsaXN0LmdldEVudHJpZXMoKS5sZW5ndGhg
LCBgMWApOworICAgIH0gZWxzZSBpZiAoY2FsbGJhY2tDb3VudCA9PT0gMykgeworICAgICAgICBz
aG91bGRCZShgbGlzdC5nZXRFbnRyaWVzKCkubGVuZ3RoYCwgYDJgKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICB0ZXN0RmFpbGVkKCJVbmV4cGVjdGVkIGNhbGxiYWNrIGNvdW50Iik7CisgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgIH0KKworICAgIGZvciAobGV0IG1hcmsgb2YgbGlzdC5nZXRF
bnRyaWVzKCkpCisgICAgICAgIGRlYnVnKCIgLSAiICsgbWFyay5uYW1lKTsKK30pOworCitsZXQg
b2JzZXJ2ZXIyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGxpc3QpID0+IHsKKyAgICB3aW5k
b3cubGlzdCA9IGxpc3Q7CisgICAgY2FsbGJhY2tDb3VudCsrOworICAgIHRlc3RQYXNzZWQoIlBl
cmZvcm1hbmNlT2JzZXJ2ZXIgMiBjYWxsYmFjayBmaXJlZCIpOworCisgICAgaWYgKGNhbGxiYWNr
Q291bnQgPT09IDIpIHsKKyAgICAgICAgcGVyZm9ybWFuY2UubWFyaygibWFyazMiKTsKKyAgICAg
ICAgc2hvdWxkQmUoYGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aGAsIGAyYCk7CisgICAgfSBlbHNl
IGlmIChjYWxsYmFja0NvdW50ID09PSA0KSB7CisgICAgICAgIHNob3VsZEJlKGBsaXN0LmdldEVu
dHJpZXMoKS5sZW5ndGhgLCBgMWApOworICAgIH0gZWxzZSB7CisgICAgICAgIHRlc3RGYWlsZWQo
IlVuZXhwZWN0ZWQgY2FsbGJhY2sgY291bnQiKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgfQorCisgICAgZm9yIChsZXQgbWFyayBvZiBsaXN0LmdldEVudHJpZXMoKSkKKyAgICAgICAg
ZGVidWcoIiAtICIgKyBtYXJrLm5hbWUpOworCisgICAgaWYgKGNhbGxiYWNrQ291bnQgPT09IDQp
CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKK29ic2VydmVyMS5vYnNlcnZlKHtlbnRy
eVR5cGVzOiBbIm1hcmsiXX0pOworb2JzZXJ2ZXIyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsibWFy
ayJdfSk7CitwZXJmb3JtYW5jZS5tYXJrKCJtYXJrMSIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Ut
b2JzZXJ2ZXItb3JkZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBp
L3BlcmZvcm1hbmNlLW9ic2VydmVyLW9yZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOWExMTRkMmI0M2MKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItb3JkZXItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjEgQEAKK0Vuc3VyZSBQZXJmb3JtYW5jZU9ic2VydmVycyBh
cmUgbm90aWZpZWQgaW4gb3JkZXIgb2YgcmVnaXN0cmF0aW9uIChvYnNlcnZlKS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciAxIGNhbGxi
YWNrIGZpcmVkCitQQVNTIGNvdW50IGlzIDEKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciAyIGNh
bGxiYWNrIGZpcmVkCitQQVNTIGNvdW50IGlzIDIKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciAz
IGNhbGxiYWNrIGZpcmVkCitQQVNTIGNvdW50IGlzIDMKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZl
ciA0IGNhbGxiYWNrIGZpcmVkCitQQVNTIGNvdW50IGlzIDQKK1BBU1MgUGVyZm9ybWFuY2VPYnNl
cnZlciA1IGNhbGxiYWNrIGZpcmVkCitQQVNTIGNvdW50IGlzIDUKK1BBU1MgUGVyZm9ybWFuY2VP
YnNlcnZlciA2IGNhbGxiYWNrIGZpcmVkCitQQVNTIGNvdW50IGlzIDYKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItb3JkZXIuaHRtbCBiL0xh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1vcmRlci5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi40NWQyNmNkZDBjZAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1v
YnNlcnZlci1vcmRlci5odG1sCkBAIC0wLDAgKzEsNjMgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIkVuc3VyZSBQ
ZXJmb3JtYW5jZU9ic2VydmVycyBhcmUgbm90aWZpZWQgaW4gb3JkZXIgb2YgcmVnaXN0cmF0aW9u
IChvYnNlcnZlKS4iKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKword2luZG93LmNv
dW50ID0gMDsKKworbGV0IG9ic2VydmVyMSA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKChsaXN0
KSA9PiB7CisgICAgY291bnQrKzsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVy
IDEgY2FsbGJhY2sgZmlyZWQiKTsKKyAgICBzaG91bGRCZShgY291bnRgLCBgMWApOworfSk7CisK
K2xldCBvYnNlcnZlcjIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigobGlzdCkgPT4geworICAg
IGNvdW50Kys7CisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciAyIGNhbGxiYWNr
IGZpcmVkIik7CisgICAgc2hvdWxkQmUoYGNvdW50YCwgYDJgKTsKK30pOworCisvLyBFbnN1cmUg
Y3JlYXRpb24gZG9lc24ndCBpbXBhY3Qgb3JkZXIuCitsZXQgb2JzZXJ2ZXJTcGVjaWFsID0gbmV3
IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGxpc3QpID0+IHsKKyAgICBjb3VudCsrOworICAgIHRlc3RQ
YXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgNiBjYWxsYmFjayBmaXJlZCIpOworICAgIHNob3Vs
ZEJlKGBjb3VudGAsIGA2YCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKworbGV0IG9ic2Vy
dmVyMyA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKChsaXN0KSA9PiB7CisgICAgY291bnQrKzsK
KyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVyIDMgY2FsbGJhY2sgZmlyZWQiKTsK
KyAgICBzaG91bGRCZShgY291bnRgLCBgM2ApOworfSk7CisKK2xldCBvYnNlcnZlcjQgPSBuZXcg
UGVyZm9ybWFuY2VPYnNlcnZlcigobGlzdCkgPT4geworICAgIGNvdW50Kys7CisgICAgdGVzdFBh
c3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciA0IGNhbGxiYWNrIGZpcmVkIik7CisgICAgc2hvdWxk
QmUoYGNvdW50YCwgYDRgKTsKK30pOworCitsZXQgb2JzZXJ2ZXI1ID0gbmV3IFBlcmZvcm1hbmNl
T2JzZXJ2ZXIoKGxpc3QpID0+IHsKKyAgICBjb3VudCsrOworICAgIHRlc3RQYXNzZWQoIlBlcmZv
cm1hbmNlT2JzZXJ2ZXIgNSBjYWxsYmFjayBmaXJlZCIpOworICAgIHNob3VsZEJlKGBjb3VudGAs
IGA1YCk7Cit9KTsKKworLy8gUmVnaXN0ZXIgYWxsIGluIG9yZGVyLgorZm9yIChsZXQgbyBvZiBb
b2JzZXJ2ZXIxLCBvYnNlcnZlcjIsIG9ic2VydmVyU3BlY2lhbCwgb2JzZXJ2ZXIzLCBvYnNlcnZl
cjQsIG9ic2VydmVyNV0pCisgICAgby5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbIm1hcmsiXX0pOwor
CisvLyBVbnJlZ2lzdGVyIGFuZCByZS1yZWdpc3RlciBtb3ZlcyB0aGlzIHRvIHRoZSBiYWNrIG9m
IHRoZSBsaW5lLgorb2JzZXJ2ZXJTcGVjaWFsLmRpc2Nvbm5lY3QoKTsKK29ic2VydmVyU3BlY2lh
bC5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbIm1hcmsiXX0pOworCitwZXJmb3JtYW5jZS5tYXJrKCJt
YXJrMSIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItcGVyaW9kaWMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLXBl
cmlvZGljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MC4uNTUwZmNhNjkyMDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5j
ZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItcGVyaW9kaWMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTYgQEAKK0Vuc3VyZSBQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrIGZpcmVzIGZvciBh
bGwgb2JzZXJ2ZWQgZW50cmllcyBiZXR3ZWVuIG9ic2VydmUvZGlzY29ubmVjdCBjYWxscy4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BlcmZvcm1hbmNlT2JzZXJ2ZXIgY2FsbGJh
Y2sgZmlyZWQ6IDEgZW50cmllcworUEFTUyBtYXJrMQorUGVyZm9ybWFuY2VPYnNlcnZlciBjYWxs
YmFjayBmaXJlZDogMiBlbnRyaWVzCitQQVNTIG1hcmsyCitQQVNTIG1hcmszCitQZXJmb3JtYW5j
ZU9ic2VydmVyIGNhbGxiYWNrIGZpcmVkOiAxIGVudHJpZXMKK1BBU1MgbWFyazcKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItcGVyaW9kaWMu
aHRtbCBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1w
ZXJpb2RpYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zODc0
NmIzODI4MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9w
ZXJmb3JtYW5jZS1vYnNlcnZlci1wZXJpb2RpYy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3Jp
cHRpb24oIkVuc3VyZSBQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrIGZpcmVzIGZvciBhbGwg
b2JzZXJ2ZWQgZW50cmllcyBiZXR3ZWVuIG9ic2VydmUvZGlzY29ubmVjdCBjYWxscy4iKTsKK3dp
bmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworbGV0IHNob3VsZEVuZCA9IGZhbHNlOworCits
ZXQgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigobGlzdCkgPT4geworICAgIGRl
YnVnKCJQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrIGZpcmVkOiAiICsgbGlzdC5nZXRFbnRy
aWVzKCkubGVuZ3RoICsgIiBlbnRyaWVzIik7CisgICAgZm9yIChsZXQgbWFyayBvZiBsaXN0Lmdl
dEVudHJpZXMoKSkgeworICAgICAgICBpZiAobWFyay5uYW1lID09PSAibWFyazUiIHx8IG1hcmsu
bmFtZSA9PT0gIm1hcms2IikKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIlNob3VsZCBub3QgaGF2
ZSBvYnNlcnZlZCAiICsgbWFyay5uYW1lKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGVz
dFBhc3NlZChtYXJrLm5hbWUpOworICAgIH0KKyAgICBpZiAoc2hvdWxkRW5kKQorICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKK30pOworb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJtYXJr
Il19KTsKKworLy8gLS0tCisKK3BlcmZvcm1hbmNlLm1hcmsoIm1hcmsxIik7CisKK3NldFRpbWVv
dXQoKCkgPT4geworICAgIHBlcmZvcm1hbmNlLm1hcmsoIm1hcmsyIik7CisgICAgcGVyZm9ybWFu
Y2UubWFyaygibWFyazMiKTsKK30sIDUwKTsKKworc2V0VGltZW91dCgoKSA9PiB7CisgICAgcGVy
Zm9ybWFuY2UubWFyaygibWFyazQiKTsKKyAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7CisgICAg
cGVyZm9ybWFuY2UubWFyaygibWFyazUiKTsgLy8gTk9UIHNlZW4uCit9LCAxMDApOworCitzZXRU
aW1lb3V0KCgpID0+IHsKKyAgICBwZXJmb3JtYW5jZS5tYXJrKCJtYXJrNiIpOyAvLyBOT1Qgc2Vl
bi4KKyAgICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbIm1hcmsiXX0pOworICAgIHBl
cmZvcm1hbmNlLm1hcmsoIm1hcms3Iik7CisgICAgc2hvdWxkRW5kID0gdHJ1ZTsKK30sIDE1MCk7
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9wZXJmb3JtYW5jZS10aW1lbGluZS1hcGktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLXRpbWVsaW5lLWFwaS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmUzZjIwNzYzM2ZmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNl
LXRpbWVsaW5lLWFwaS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0OCBAQAorQmFzaWMgSW50ZXJm
YWNlIHRlc3QgZm9yIHBlcmZvcm1hbmNlLXRpbWVsaW5lIEFQSXMuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQZXJmb3JtYW5jZUVudHJ5CitQQVNTIFBlcmZvcm1hbmNlRW50cnkg
aXMgZGVmaW5lZC4KK1BBU1MgIm5hbWUiIGluIFBlcmZvcm1hbmNlRW50cnkucHJvdG90eXBlIGlz
IHRydWUKK1BBU1MgImVudHJ5VHlwZSIgaW4gUGVyZm9ybWFuY2VFbnRyeS5wcm90b3R5cGUgaXMg
dHJ1ZQorUEFTUyAic3RhcnRUaW1lIiBpbiBQZXJmb3JtYW5jZUVudHJ5LnByb3RvdHlwZSBpcyB0
cnVlCitQQVNTICJkdXJhdGlvbiIgaW4gUGVyZm9ybWFuY2VFbnRyeS5wcm90b3R5cGUgaXMgdHJ1
ZQorUEFTUyBuZXcgUGVyZm9ybWFuY2VFbnRyeSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgUGVyZm9ybWFu
Y2VFbnRyeSgpJykuCisKK1BlcmZvcm1hbmNlIGV4dGVuc2lvbnMKK1BBU1MgUGVyZm9ybWFuY2Uu
cHJvdG90eXBlLmdldEVudHJpZXMgaXMgZGVmaW5lZC4KK1BBU1MgUGVyZm9ybWFuY2UucHJvdG90
eXBlLmdldEVudHJpZXNCeVR5cGUgaXMgZGVmaW5lZC4KK1BBU1MgUGVyZm9ybWFuY2UucHJvdG90
eXBlLmdldEVudHJpZXNCeU5hbWUgaXMgZGVmaW5lZC4KK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50
cmllcygpIGluc3RhbmNlb2YgQXJyYXkgaXMgdHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRy
aWVzKCkubGVuZ3RoID09PSAwIGlzIHRydWUKK1BBU1MgcGVyZm9ybWFuY2UubWFyaygidGVzdCIp
OyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllcygp
Lmxlbmd0aCA9PT0gMSBpcyB0cnVlCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXMoKVswXSBp
bnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50cnkgaXMgdHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5nZXRF
bnRyaWVzKClbMF0ubmFtZSBpcyAidGVzdCIKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllcygp
WzBdLmVudHJ5VHlwZSBpcyAibWFyayIKK1BBU1MgdHlwZW9mIHBlcmZvcm1hbmNlLmdldEVudHJp
ZXMoKVswXS5zdGFydFRpbWUgPT09ICJudW1iZXIiIGlzIHRydWUKK1BBU1MgdHlwZW9mIHBlcmZv
cm1hbmNlLmdldEVudHJpZXMoKVswXS5kdXJhdGlvbiA9PT0gIm51bWJlciIgaXMgdHJ1ZQorUEFT
UyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5
cGUoIm5vdC1yZWFsIikubGVuZ3RoID09PSAwIGlzIHRydWUKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0
RW50cmllc0J5VHlwZSgibWFyayIpLmxlbmd0aCA9PT0gMSBpcyB0cnVlCitQQVNTIHBlcmZvcm1h
bmNlLmdldEVudHJpZXNCeVR5cGUoIm1hcmsiKVswXSBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50
cnkgaXMgdHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJtYXJrIilbMF0u
bmFtZSBpcyAidGVzdCIKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibWFyayIp
WzBdLmVudHJ5VHlwZSBpcyAibWFyayIKK1BBU1MgdHlwZW9mIHBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeVR5cGUoIm1hcmsiKVswXS5zdGFydFRpbWUgPT09ICJudW1iZXIiIGlzIHRydWUKK1BBU1Mg
dHlwZW9mIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoIm1hcmsiKVswXS5kdXJhdGlvbiA9
PT0gIm51bWJlciIgaXMgdHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIHBl
cmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoIm5vdC1yZWFsIikubGVuZ3RoID09PSAwIGlzIHRy
dWUKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgidGVzdCIpLmxlbmd0aCA9PT0g
MSBpcyB0cnVlCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoInRlc3QiKVswXSBp
bnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50cnkgaXMgdHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5nZXRF
bnRyaWVzQnlOYW1lKCJ0ZXN0IilbMF0ubmFtZSBpcyAidGVzdCIKK1BBU1MgcGVyZm9ybWFuY2Uu
Z2V0RW50cmllc0J5TmFtZSgidGVzdCIpWzBdLmVudHJ5VHlwZSBpcyAibWFyayIKK1BBU1MgdHlw
ZW9mIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoInRlc3QiKVswXS5zdGFydFRpbWUgPT09
ICJudW1iZXIiIGlzIHRydWUKK1BBU1MgdHlwZW9mIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5h
bWUoInRlc3QiKVswXS5kdXJhdGlvbiA9PT0gIm51bWJlciIgaXMgdHJ1ZQorUEFTUyBwZXJmb3Jt
YW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJ0ZXN0IiwgIm5vdC1yZWFsIikubGVuZ3RoID09PSAwIGlz
IHRydWUKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgidGVzdCIsICJtYXJrIiku
bGVuZ3RoID09PSAxIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkv
cGVyZm9ybWFuY2UtdGltZWxpbmUtYXBpLmh0bWwgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1h
cGkvcGVyZm9ybWFuY2UtdGltZWxpbmUtYXBpLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAuLmUxNzM5MTk1Njk0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLXRpbWVsaW5lLWFwaS5odG1sCkBAIC0wLDAg
KzEsNTggQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0PgorZGVzY3JpcHRpb24oIkJhc2ljIEludGVyZmFjZSB0ZXN0IGZvciBwZXJmb3JtYW5j
ZS10aW1lbGluZSBBUElzLiIpOworCitkZWJ1ZygiUGVyZm9ybWFuY2VFbnRyeSIpOworc2hvdWxk
QmVEZWZpbmVkKCJQZXJmb3JtYW5jZUVudHJ5Iik7CitzaG91bGRCZVRydWUoYCJuYW1lIiBpbiBQ
ZXJmb3JtYW5jZUVudHJ5LnByb3RvdHlwZWApOworc2hvdWxkQmVUcnVlKGAiZW50cnlUeXBlIiBp
biBQZXJmb3JtYW5jZUVudHJ5LnByb3RvdHlwZWApOworc2hvdWxkQmVUcnVlKGAic3RhcnRUaW1l
IiBpbiBQZXJmb3JtYW5jZUVudHJ5LnByb3RvdHlwZWApOworc2hvdWxkQmVUcnVlKGAiZHVyYXRp
b24iIGluIFBlcmZvcm1hbmNlRW50cnkucHJvdG90eXBlYCk7CitzaG91bGRUaHJvdyhgbmV3IFBl
cmZvcm1hbmNlRW50cnkoKWApOworCisvLyBOT1RFOiBUaGUgQVBJcyBiZWxvdyBtYXkgYmUgZ29p
bmcgYXdheS4gUmVwbGFjZWQgYnkgUGVyZm9ybWFuY2VPYnNlcnZlci4KKworZGVidWcoIiIpOwor
ZGVidWcoIlBlcmZvcm1hbmNlIGV4dGVuc2lvbnMiKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9y
bWFuY2UucHJvdG90eXBlLmdldEVudHJpZXNgKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9ybWFu
Y2UucHJvdG90eXBlLmdldEVudHJpZXNCeVR5cGVgKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9y
bWFuY2UucHJvdG90eXBlLmdldEVudHJpZXNCeU5hbWVgKTsKKworc2hvdWxkQmVUcnVlKGBwZXJm
b3JtYW5jZS5nZXRFbnRyaWVzKCkgaW5zdGFuY2VvZiBBcnJheWApOworc2hvdWxkQmVUcnVlKGBw
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzKCkubGVuZ3RoID09PSAwYCk7CitzaG91bGROb3RUaHJvdyhg
cGVyZm9ybWFuY2UubWFyaygidGVzdCIpO2ApOworc2hvdWxkQmVUcnVlKGBwZXJmb3JtYW5jZS5n
ZXRFbnRyaWVzKCkubGVuZ3RoID09PSAxYCk7CitzaG91bGRCZVRydWUoYHBlcmZvcm1hbmNlLmdl
dEVudHJpZXMoKVswXSBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50cnlgKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZyhgcGVyZm9ybWFuY2UuZ2V0RW50cmllcygpWzBdLm5hbWVgLCAidGVzdCIpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKClbMF0uZW50cnlU
eXBlYCwgIm1hcmsiKTsKK3Nob3VsZEJlVHJ1ZShgdHlwZW9mIHBlcmZvcm1hbmNlLmdldEVudHJp
ZXMoKVswXS5zdGFydFRpbWUgPT09ICJudW1iZXIiYCk7CitzaG91bGRCZVRydWUoYHR5cGVvZiBw
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzKClbMF0uZHVyYXRpb24gPT09ICJudW1iZXIiYCk7CisKK3No
b3VsZFRocm93KGBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKClgKTsKK3Nob3VsZEJlVHJ1
ZShgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibm90LXJlYWwiKS5sZW5ndGggPT09IDBg
KTsKK3Nob3VsZEJlVHJ1ZShgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibWFyayIpLmxl
bmd0aCA9PT0gMWApOworc2hvdWxkQmVUcnVlKGBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBl
KCJtYXJrIilbMF0gaW5zdGFuY2VvZiBQZXJmb3JtYW5jZUVudHJ5YCk7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoYHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoIm1hcmsiKVswXS5uYW1lYCwg
InRlc3QiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZyhgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5
VHlwZSgibWFyayIpWzBdLmVudHJ5VHlwZWAsICJtYXJrIik7CitzaG91bGRCZVRydWUoYHR5cGVv
ZiBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJtYXJrIilbMF0uc3RhcnRUaW1lID09PSAi
bnVtYmVyImApOworc2hvdWxkQmVUcnVlKGB0eXBlb2YgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5
VHlwZSgibWFyayIpWzBdLmR1cmF0aW9uID09PSAibnVtYmVyImApOworCitzaG91bGRUaHJvdyhg
cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgpYCk7CitzaG91bGRCZVRydWUoYHBlcmZvcm1h
bmNlLmdldEVudHJpZXNCeU5hbWUoIm5vdC1yZWFsIikubGVuZ3RoID09PSAwYCk7CitzaG91bGRC
ZVRydWUoYHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoInRlc3QiKS5sZW5ndGggPT09IDFg
KTsKK3Nob3VsZEJlVHJ1ZShgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgidGVzdCIpWzBd
IGluc3RhbmNlb2YgUGVyZm9ybWFuY2VFbnRyeWApOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBw
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJ0ZXN0IilbMF0ubmFtZWAsICJ0ZXN0Iik7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoYHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoInRlc3Qi
KVswXS5lbnRyeVR5cGVgLCAibWFyayIpOworc2hvdWxkQmVUcnVlKGB0eXBlb2YgcGVyZm9ybWFu
Y2UuZ2V0RW50cmllc0J5TmFtZSgidGVzdCIpWzBdLnN0YXJ0VGltZSA9PT0gIm51bWJlciJgKTsK
K3Nob3VsZEJlVHJ1ZShgdHlwZW9mIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoInRlc3Qi
KVswXS5kdXJhdGlvbiA9PT0gIm51bWJlciJgKTsKK3Nob3VsZEJlVHJ1ZShgcGVyZm9ybWFuY2Uu
Z2V0RW50cmllc0J5TmFtZSgidGVzdCIsICJub3QtcmVhbCIpLmxlbmd0aCA9PT0gMGApOworc2hv
dWxkQmVUcnVlKGBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJ0ZXN0IiwgIm1hcmsiKS5s
ZW5ndGggPT09IDFgKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0
ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2pzL2RvbS9nbG9iYWwt
Y29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CmluZGV4IGE0YWVhMGEzMmIzLi41
ZmYwMGMyMjY0YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2pzL2RvbS9n
bG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2VmbC9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4
cGVjdGVkLnR4dApAQCAtMTAyOCw2ICsxMDI4LDE2IEBAIFBBU1MgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5oYXNPd25Qcm9w
CiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCiBQQVNTIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
JykuZW51bWVyYWJsZSBpcyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlvbicpLmNvbmZpZ3VyYWJsZSBpcyB0cnVl
CitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFu
Y2VPYnNlcnZlcicpLnZhbHVlIGlzIFBlcmZvcm1hbmNlT2JzZXJ2ZXIKK1BBU1MgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuaGFz
T3duUHJvcGVydHkoJ2dldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmhhc093blByb3BlcnR5KCdz
ZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2Jh
bCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicp
LmNvbmZpZ3VyYWJsZSBpcyB0cnVlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLnZhbHVlIGlzIFBlcmZv
cm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuaGFzT3duUHJvcGVy
dHkoJ2dldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
Z2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhhc093blByb3BlcnR5KCdz
ZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2Jh
bCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQ
QVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VP
YnNlcnZlckVudHJ5TGlzdCcpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCiBQQVNTIE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VUaW1pbmcnKS52YWx1ZSBp
cyBQZXJmb3JtYW5jZVRpbWluZwogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KGdsb2JhbCwgJ1BlcmZvcm1hbmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZh
bHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9y
bWFuY2VUaW1pbmcnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRy
aWJ1dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9qcy9kb20vZ2xv
YmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAppbmRleCA1MmFkOWZjNTQz
Yi4uM2U0NTg3Nzk5NWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9qcy9k
b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRl
cy1leHBlY3RlZC50eHQKQEAgLTExNTgsNiArMTE1OCwxNiBAQCBQQVNTIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuaGFzT3du
UHJvcAogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZv
cm1hbmNlTmF2aWdhdGlvbicpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQogUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdh
dGlvbicpLmVudW1lcmFibGUgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5jb25maWd1cmFibGUgaXMg
dHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZv
cm1hbmNlT2JzZXJ2ZXInKS52YWx1ZSBpcyBQZXJmb3JtYW5jZU9ic2VydmVyCitQQVNTIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicp
Lmhhc093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS5oYXNPd25Qcm9wZXJ0
eSgnc2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihn
bG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2
ZXInKS5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS52YWx1ZSBpcyBQ
ZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0CitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhhc093blBy
b3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5oYXNPd25Qcm9wZXJ0
eSgnc2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihn
bG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuZW51bWVyYWJsZSBpcyBmYWxz
ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1h
bmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5jb25maWd1cmFibGUgaXMgdHJ1ZQogUEFTUyBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlVGltaW5nJykudmFs
dWUgaXMgUGVyZm9ybWFuY2VUaW1pbmcKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZVRpbWluZycpLmhhc093blByb3BlcnR5KCdnZXQnKSBp
cyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1Bl
cmZvcm1hbmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtZWxjYXBpdGFuL2pzL2RvbS9nbG9iYWwtY29u
c3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLWVsY2FwaXRhbi9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVj
dGVkLnR4dAppbmRleCBhYjkxYjhlNWZjMi4uN2ZjMThlYWMxNzggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy1lbGNhcGl0YW4vanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMt
YXR0cmlidXRlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWVs
Y2FwaXRhbi9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4
dApAQCAtMTE5Myw2ICsxMTkzLDE2IEBAIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5oYXNPd25Qcm9wCiBQQVNTIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0
aW9uJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCiBQQVNTIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuZW51bWVy
YWJsZSBpcyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2Jh
bCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlvbicpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCitQQVNTIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZl
cicpLnZhbHVlIGlzIFBlcmZvcm1hbmNlT2JzZXJ2ZXIKK1BBU1MgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuaGFzT3duUHJvcGVy
dHkoJ2dldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
Z2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBm
YWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZv
cm1hbmNlT2JzZXJ2ZXInKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmNvbmZpZ3Vy
YWJsZSBpcyB0cnVlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFs
LCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLnZhbHVlIGlzIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXJFbnRyeUxpc3QKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9i
YWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuaGFzT3duUHJvcGVydHkoJ2dldCcp
IGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAn
UGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBm
YWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZv
cm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVu
dHJ5TGlzdCcpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VUaW1pbmcnKS52YWx1ZSBpcyBQZXJmb3Jt
YW5jZVRpbWluZwogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwg
J1BlcmZvcm1hbmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZhbHNlCiBQQVNT
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VUaW1p
bmcnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azEvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRl
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2pzL2RvbS9nbG9i
YWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CmluZGV4IGFiOTFiOGU1ZmMy
Li43ZmMxOGVhYzE3OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9q
cy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0
dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CkBAIC0xMTkzLDYgKzExOTMsMTYgQEAgUEFTUyBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlvbicp
Lmhhc093blByb3AKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWws
ICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UK
IFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5j
ZU5hdmlnYXRpb24nKS5lbnVtZXJhYmxlIGlzIGZhbHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuY29uZmlndXJh
YmxlIGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWws
ICdQZXJmb3JtYW5jZU9ic2VydmVyJykudmFsdWUgaXMgUGVyZm9ybWFuY2VPYnNlcnZlcgorUEFT
UyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXInKS5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuaGFzT3du
UHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmVudW1lcmFibGUgaXMgZmFsc2UK
K1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5j
ZU9ic2VydmVyJykuY29uZmlndXJhYmxlIGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykudmFs
dWUgaXMgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdAorUEFTUyBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5o
YXNPd25Qcm9wZXJ0eSgnZ2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuaGFzT3du
UHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmVudW1lcmFibGUg
aXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQ
ZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuY29uZmlndXJhYmxlIGlzIHRydWUKIFBBU1Mg
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZVRpbWlu
ZycpLnZhbHVlIGlzIFBlcmZvcm1hbmNlVGltaW5nCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VUaW1pbmcnKS5oYXNPd25Qcm9wZXJ0eSgn
Z2V0JykgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9i
YWwsICdQZXJmb3JtYW5jZVRpbWluZycpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXlvc2VtaXRlL2pzL2RvbS9nbG9i
YWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXlvc2VtaXRlL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMt
ZXhwZWN0ZWQudHh0CmluZGV4IGQ1MTc1Njc0MzdmLi5iMDgxYWQyZWRjZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXlvc2VtaXRlL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0
b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy15b3NlbWl0ZS9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVk
LnR4dApAQCAtMTE4OCw2ICsxMTg4LDE2IEBAIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5oYXNPd25Qcm9wCiBQQVNT
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZp
Z2F0aW9uJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCiBQQVNTIE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuZW51
bWVyYWJsZSBpcyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGds
b2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlvbicpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCitQQVNT
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNl
cnZlcicpLnZhbHVlIGlzIFBlcmZvcm1hbmNlT2JzZXJ2ZXIKK1BBU1MgT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuaGFzT3duUHJv
cGVydHkoJ2dldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmhhc093blByb3BlcnR5KCdzZXQnKSBp
cyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1Bl
cmZvcm1hbmNlT2JzZXJ2ZXInKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmNvbmZp
Z3VyYWJsZSBpcyB0cnVlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xv
YmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLnZhbHVlIGlzIFBlcmZvcm1hbmNl
T2JzZXJ2ZXJFbnRyeUxpc3QKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihn
bG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuaGFzT3duUHJvcGVydHkoJ2dl
dCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFs
LCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhhc093blByb3BlcnR5KCdzZXQnKSBp
cyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1Bl
cmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZl
ckVudHJ5TGlzdCcpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VUaW1pbmcnKS52YWx1ZSBpcyBQZXJm
b3JtYW5jZVRpbWluZwogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2Jh
bCwgJ1BlcmZvcm1hbmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZhbHNlCiBQ
QVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VU
aW1pbmcnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9qcy9kb20vZ2xvYmFsLWNv
bnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAppbmRleCBkNTdlNzFjMjBhNi4uYWE4
MGVlNDUwZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9qcy9kb20vZ2xv
YmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBl
Y3RlZC50eHQKQEAgLTExOTgsNiArMTE5OCwxNiBAQCBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuaGFzT3duUHJvcAog
UEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNl
TmF2aWdhdGlvbicpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQogUEFTUyBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlvbicp
LmVudW1lcmFibGUgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5jb25maWd1cmFibGUgaXMgdHJ1ZQor
UEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNl
T2JzZXJ2ZXInKS52YWx1ZSBpcyBQZXJmb3JtYW5jZU9ic2VydmVyCitQQVNTIE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmhhc093
blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS5oYXNPd25Qcm9wZXJ0eSgnc2V0
JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWws
ICdQZXJmb3JtYW5jZU9ic2VydmVyJykuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFTUyBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS5j
b25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS52YWx1ZSBpcyBQZXJmb3Jt
YW5jZU9ic2VydmVyRW50cnlMaXN0CitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhhc093blByb3BlcnR5
KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGds
b2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0
JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWws
ICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFT
UyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXJFbnRyeUxpc3QnKS5jb25maWd1cmFibGUgaXMgdHJ1ZQogUEFTUyBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlVGltaW5nJykudmFsdWUgaXMg
UGVyZm9ybWFuY2VUaW1pbmcKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihn
bG9iYWwsICdQZXJmb3JtYW5jZVRpbWluZycpLmhhc093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxz
ZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1h
bmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmli
dXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vanMvZG9tL2dsb2Jh
bC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKaW5kZXggNjZhZWEyZDliYWQu
LjZlNWRlNTBjZjNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vanMvZG9t
L2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMt
ZXhwZWN0ZWQudHh0CkBAIC04ODgsNiArODg4LDE2IEBAIFBBU1MgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5oYXNPd25Qcm9w
CiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCiBQQVNTIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
JykuZW51bWVyYWJsZSBpcyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlvbicpLmNvbmZpZ3VyYWJsZSBpcyB0cnVl
CitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFu
Y2VPYnNlcnZlcicpLnZhbHVlIGlzIFBlcmZvcm1hbmNlT2JzZXJ2ZXIKK1BBU1MgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuaGFz
T3duUHJvcGVydHkoJ2dldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmhhc093blByb3BlcnR5KCdz
ZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2Jh
bCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicp
LmNvbmZpZ3VyYWJsZSBpcyB0cnVlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLnZhbHVlIGlzIFBlcmZv
cm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuaGFzT3duUHJvcGVy
dHkoJ2dldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
Z2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhhc093blByb3BlcnR5KCdz
ZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2Jh
bCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQ
QVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VP
YnNlcnZlckVudHJ5TGlzdCcpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCiBQQVNTIE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VUaW1pbmcnKS52YWx1ZSBp
cyBQZXJmb3JtYW5jZVRpbWluZwogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KGdsb2JhbCwgJ1BlcmZvcm1hbmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZh
bHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9y
bWFuY2VUaW1pbmcnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q2hhbmdlTG9nCmluZGV4IGRhYzIwMTg1ODY0Li5hNTNhMDMwYjNkNiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMDEtMzAgIEpvc2VwaCBQZWNvcmFybyAg
PHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgUGVyZm9ybWFuY2VPYnNl
cnZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3
NTQ2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDI0Nzk1OT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBydW50aW1lL0NvbW1vbklkZW50aWZpZXJz
Lmg6CisKIDIwMTctMDEtMzAgIE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IE5lZWQgc29tZSBsaW1pdCBvbiBBc3luYyBDYWxsIFN0YWNr
cyBmb3IgYXN5bmMgbG9vcHMgKHJBRiBsb29wcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4IDQ1NWE0MTJlMmI3Li41Nzg3YWY1
NjAyMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRl
bnRpZmllcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVu
dGlmaWVycy5oCkBAIC04OSw2ICs4OSw4IEBACiAgICAgbWFjcm8oUGVyZm9ybWFuY2VFbnRyeUxp
c3QpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU1hcmspIFwKICAgICBtYWNybyhQZXJmb3JtYW5j
ZU1lYXN1cmUpIFwKKyAgICBtYWNybyhQZXJmb3JtYW5jZU9ic2VydmVyKSBcCisgICAgbWFjcm8o
UGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQcm9taXNlKSBcCiAgICAgbWFjcm8oUHJveHkpIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNDQzMTZkZWNiZDQuLjVjY2RkODNlMTBiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dApAQCAtNjAxLDYgKzYwMSw5IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURM
X0ZJTEVTCiAgICAgcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbAogICAgIHBhZ2UvUGVyZm9ybWFu
Y2VNYXJrLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbAorICAgIHBhZ2UvUGVy
Zm9ybWFuY2VPYnNlcnZlci5pZGwKKyAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFj
ay5pZGwKKyAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsCiAgICAgcGFn
ZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsCkBAIC0xOTkwLDYgKzE5
OTMsOCBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmcu
Y3BwCiAgICAgcGFnZS9QZXJmb3JtYW5jZU1vbml0b3IuY3BwCiAgICAgcGFnZS9QZXJmb3JtYW5j
ZU5hdmlnYXRpb24uY3BwCisgICAgcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAorICAgIHBh
Z2UvUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAKICAgICBwYWdlL1BlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcuY3BwCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5jcHAKICAgICBw
YWdlL1BlcmZvcm1hbmNlVXNlclRpbWluZy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkNWNjZGI2YWQxZS4u
NzU1ODI1MmMyZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4NyBAQAorMjAxNy0wMS0zMCAgSm9z
ZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBQ
ZXJmb3JtYW5jZU9ic2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjc1NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwMjQ3OTU5PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICBUaGlzIGltcGxlbWVu
dHMgUGVyZm9ybWFuY2VPYnNlcnZlciBmcm9tIFBlcmZvcm1hbmNlIFRpbWVsaW5lIExldmVsIDI6
CisgICAgICAgIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJmb3JtYW5jZS10aW1lbGluZS8KKwor
ICAgICAgICBUZXN0czogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWFwaS5o
dG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIt
YmFzaWMuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9i
c2VydmVyLWNhbGxiYWNrLW11dGF0ZS5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1h
cGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItY2FsbGJhY2stdGFzay5odG1sCisgICAgICAgICAgICAg
ICBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZW50cnktc29ydC5odG1sCisg
ICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZXhjZXB0
aW9uLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNl
cnZlci1uZXN0ZWQuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1h
bmNlLW9ic2VydmVyLW9yZGVyLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9w
ZXJmb3JtYW5jZS1vYnNlcnZlci1wZXJpb2RpYy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3Jt
YW5jZS1hcGkvcGVyZm9ybWFuY2UtdGltZWxpbmUtYXBpLmh0bWwKKworICAgICAgICAqIENNYWtl
TGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICBOZXcgZmlsZXMuCisKKyAg
ICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmg6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6bWFyayk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6bWVhc3VyZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZTo6cmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZv
cm1hbmNlOjp1bnJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcik6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZTo6cXVldWVFbnRyeSk6CisgICAgICAgIFJlZ2lzdGVyIFBlcmZvcm1hbmNl
T2JzZXJ2ZXJzIHdpdGggdGhlIFBlcmZvcm1hbmNlIG9iamVjdC4KKyAgICAgICAgV2hlbiBuZXcg
UGVyZm9ybWFuY2VFbnRyaWVzIGFyZSBjcmVhdGVkIChNYXJrIGFuZCBNZWFzdXJlCisgICAgICAg
IHJpZ2h0IG5vdykgY2hlY2sgdGhlbSBhZ2FpbnN0IG9ic2VydmVycy4KKworICAgICAgICAqIHBh
Z2UvUGVyZm9ybWFuY2VFbnRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVu
dHJ5OjpQZXJmb3JtYW5jZUVudHJ5KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50
cnk6OnR5cGVGb3JFbnRyeVR5cGVTdHJpbmcpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VF
bnRyeS5oOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6dHlwZSk6CisgICAg
ICAgIEdpdmUgUGVyZm9ybWFuY2VFbnRyeSBhIGNvbnZlbmllbmNlIGVudW0gZm9yIGVhc3kgY29t
cGFyaXNvbgorICAgICAgICBhbmQgdG8ga25vdyBpZiBpdCBpcyBvbmUgb2YgdGhlIGJ1aWx0LWlu
IGtub3duIHR5cGVzICh3aGljaCB0aGUKKyAgICAgICAgUGVyZm9ybWFuY2VPYnNlcnZlciBBUEkg
dGFrZXMgaW50byBhY2NvdW50KS4KKworICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6UGVy
Zm9ybWFuY2VPYnNlcnZlcik6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVy
OjpvYnNlcnZlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlT2JzZXJ2ZXI6OmRpc2Nv
bm5lY3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6cXVldWVFbnRy
eSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyOjpkZWxpdmVyKToKKyAg
ICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBl
cmZvcm1hbmNlT2JzZXJ2ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZU9ic2VydmVyOjp0eXBlRmlsdGVyKToKKyAgICAgICAgLSBUeXBlRXJyb3JzIG9uIG9ic2VydmUg
YmFkIGJlaGF2aW9yCisgICAgICAgIC0gQ29tcGxldGVseSByZXBsYWNlIHR5cGVzIGZpbHRlciBv
biBvYnNlcnZlCisgICAgICAgIC0gSGFuZGxlIHJlZ2lzdGVyIGFuZCB1bnJlZ2lzdGVyCisgICAg
ICAgIC0gSGFuZGxlIGNhbGxpbmcgdGhlIGNhbGxiYWNrCisKKyAgICAgICAgKiBwYWdlL1BlcmZv
cm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGw6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvUGVyZm9y
bWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdDo6UGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCk6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0OjpnZXRFbnRy
aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Q6Omdl
dEVudHJpZXNCeVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlckVu
dHJ5TGlzdDo6Z2V0RW50cmllc0J5TmFtZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU9i
c2VydmVyRW50cnlMaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVy
RW50cnlMaXN0OjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckVu
dHJ5TGlzdC5pZGw6IEFkZGVkLgorICAgICAgICBJbXBsZW1lbnQgc29ydGluZyBhbmQgZmlsdGVy
aW5nIG9mIGVudHJpZXMuCisKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5oOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrOjp+UGVyZm9ybWFu
Y2VPYnNlcnZlckNhbGxiYWNrKToKKyAgICAgICAgTW9zdGx5IGF1dG9nZW5lcmF0ZWQuCisKKyAg
ICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlVXNlclRpbWluZy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpVc2VyVGltaW5nOjptYXJrKToKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJUaW1pbmc6Om1lYXN1
cmUpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VVc2VyVGltaW5nLmg6CisgICAgICAgIFVw
ZGF0ZSB0aGVzZSB0byByZXR1cm4gdGhlIGVudHJ5IHNvIGl0IGNhbiBiZSBwYXNzZWQgb24gdG8K
KyAgICAgICAgYW55IGludGVyZXN0ZWQgUGVyZm9ybWFuY2VPYnNlcnZlcnMuCisKIDIwMTctMDEt
MzAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBEcm9wIGxlZ2Fj
eSBBdHRyaWJ1dGVzLmlzSWQgYXR0cmlidXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpp
bmRleCAzOGU3Y2I5MzM5ZC4uNzEwNjZjNjI5ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQpAQCAtNTg0LDYgKzU4NCw5IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNv
cmUpL3BhZ2UvUGVyZm9ybWFuY2VNYXJrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZv
cm1hbmNlTWVhc3VyZS5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU5hdmln
YXRpb24uaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwg
XAorICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2suaWRsIFwK
KyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwgXAog
ICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbCBcCiAgICAgJChXZWJDb3JlKS9w
YWdlL1NjcmVlbi5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IGEzZWJiZDFiYWIwLi5jMGJkYjIyZTQxNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDA1
OCw2ICs0MDU4LDE3IEBACiAJCUE1QTJBRjBCMTgyOTczNDMwMERFMTcyOSAvKiBQYWdlRGVidWdn
YWJsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NUEyQUYwOTE4Mjk3MzQzMDBERTE3MjkgLyogUGFnZURlYnVnZ2FibGUuY3BwICovOyB9OwogCQlB
NUEyQUYwQzE4Mjk3MzQzMDBERTE3MjkgLyogUGFnZURlYnVnZ2FibGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QTJBRjBBMTgyOTczNDMwMERFMTcy
OSAvKiBQYWdlRGVidWdnYWJsZS5oICovOyB9OwogCQlBNUE3QUE0MzEzMkYwRUNDMDBEM0EzQzIg
LyogQXV0b2NhcGl0YWxpemVUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTVBN0FBNDIxMzJGMEVDQzAwRDNBM0MyIC8qIEF1dG9jYXBpdGFsaXpl
VHlwZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQlBNUE5OTMzRDFFMzdGQjE5MDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVBOTkzMzYxRTM3RkFG
RDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuaCAqLzsgfTsKKwkJQTVBOTkzM0UxRTM3
RkIxQzAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVBOTkzMzUxRTM3RkFGRDAwNUI1RTREIC8q
IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwICovOyB9OworCQlBNUE5OTMzRjFFMzdGQjFGMDA1QjVF
NEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUE5OTMzODFFMzdGQUZEMDA1QjVFNEQgLyogUGVy
Zm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmggKi87IH07CisJCUE1QTk5MzQwMUUzN0ZCMjUwMDVC
NUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QTk5MzNBMUUzN0ZBRkQwMDVCNUU0RCAv
KiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmNwcCAqLzsgfTsKKwkJQTVBOTkzNDExRTM3
RkIyODAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QTk5MzNCMUUzN0ZBRkQwMDVC
NUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmggKi87IH07CisJCUE1QTk5MzQ4
MUUzODA5QzYwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QTk5MzQzMUUzODA5OTkwMDVCNUU0
RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaCAqLzsgfTsKKwkJQTVBOTkzNDkxRTM4MDlDOTAw
NUI1RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QTk5MzQ0MUUzODA5OTkwMDVCNUU0
RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5jcHAgKi87IH07CisJCUE1QTk5MzRB
MUUzODA5Q0IwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVBOTkzNDUxRTM4MDk5
OTAwNUI1RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmggKi87IH07CisJCUE1
QTk5MzRCMUUzODA5Q0QwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Qu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVBOTkz
NDYxRTM4MDk5OTAwNUI1RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAg
Ki87IH07CisJCUE1QTk5MzRDMUUzODA5Q0YwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2
ZXJFbnRyeUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE1QTk5MzQ3MUUzODA5OTkwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRy
eUxpc3QuaCAqLzsgfTsKKwkJQTVBOTkzNEQxRTM4MDlENzAwNUI1RTREIC8qIEpTUGVyZm9ybWFu
Y2VPYnNlcnZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNUE5OTM0MjFFMzgwOTk5MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2VydmVyLmNw
cCAqLzsgfTsKIAkJQTVBRkIzNEYxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUFGQjM0RDExNTE1
MUE3MDBCMDQ1Q0IgLyogU3RlcFJhbmdlLmNwcCAqLzsgfTsKIAkJQTVBRkIzNTAxMTUxNTFBNzAw
QjA0NUNCIC8qIFN0ZXBSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTVBRkIzNEUxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE1REVCREEzMTZG
QjkwODcwMDgzNkZFMCAvKiBXZWJLaXRQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUV2ZW50LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1REVCRDlG
MTZGQjkwODcwMDgzNkZFMCAvKiBXZWJLaXRQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUV2ZW50
LmNwcCAqLzsgfTsKQEAgLTExNzc0LDYgKzExNzg1LDIwIEBACiAJCUE1QTJBRjA5MTgyOTczNDMw
MERFMTcyOSAvKiBQYWdlRGVidWdnYWJsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBQYWdlRGVidWdnYWJsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE1QTJBRjBBMTgyOTczNDMwMERFMTcyOSAvKiBQYWdlRGVidWdnYWJsZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYWdlRGVidWdnYWJsZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBNUE3QUE0MjEzMkYwRUNDMDBEM0EzQzIgLyogQXV0b2NhcGl0YWxp
emVUeXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdXRvY2FwaXRhbGl6
ZVR5cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QTk5MzM1MUUzN0ZBRkQw
MDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBNUE5OTMzNjFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNl
cnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZU9ic2Vy
dmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QTk5MzM3MUUzN0ZBRkQwMDVC
NUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQ
ZXJmb3JtYW5jZU9ic2VydmVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVB
OTkzMzgxRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJh
Y2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVBOTkzMzkxRTM3RkFGRDAwNUI1
RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTVBOTkzM0ExRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2
ZXJFbnRyeUxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVy
Zm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUE1QTk5MzNCMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlM
aXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNlT2JzZXJ2
ZXJFbnRyeUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVBOTkzM0MxRTM3
RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBNUE5OTM0MjFFMzgwOTk5MDA1QjVFNEQgLyogSlNQZXJm
b3JtYW5jZU9ic2VydmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTUGVyZm9ybWFuY2VPYnNlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUE1QTk5MzQzMUUzODA5OTkwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQZXJmb3JtYW5jZU9ic2VydmVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QTk5MzQ0MUUzODA5OTkwMDVCNUU0RCAvKiBK
U1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QTk5MzQ1MUUzODA5OTkwMDVCNUU0RCAvKiBKU1BlcmZv
cm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBNUE5OTM0NjFFMzgwOTk5MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2VydmVy
RW50cnlMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUGVy
Zm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUE1QTk5MzQ3MUUzODA5OTkwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRy
eUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQZXJmb3JtYW5jZU9i
c2VydmVyRW50cnlMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1QUZCMzRE
MTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU3RlcFJhbmdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQTVBRkIzNEUxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTdGVwUmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQTVDOTc0Q0YxMTQ4NUZGMTAwNjZGMkFCIC8qIEtleUV2ZW50Q29jb2EuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gS2V5RXZlbnRDb2NvYS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTUzMTUsMTIgKzE1MzQwLDEyIEBACiAJCQkJMDc0NEVDRUMxRTBD
NEFFNTAwMEQwOTQ0IC8qIE1vY2tSZWFsdGltZUF1ZGlvU291cmNlTWFjLm1tICovLAogCQkJCTA3
RUU3NkVEMUJFQTYxOTgwMEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYy5oICov
LAogCQkJCTA3RUU3NkVFMUJFQTYxOTgwMEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJj
ZU1hYy5tbSAqLywKKwkJCQk0MTEwM0FBQTFFMzk3OTBBMDA3NjlGMDMgLyogUmVhbHRpbWVJbmNv
bWluZ0F1ZGlvU291cmNlLmNwcCAqLywKKwkJCQk0MTEwM0FBOTFFMzk3OTBBMDA3NjlGMDMgLyog
UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmggKi8sCiAJCQkJNEEwRkZBQTMxQUFGNUVGNjAw
NjI4MDNCIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwICovLAogCQkJCTRBMEZG
QUE0MUFBRjVFRjYwMDYyODAzQiAvKiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmggKi8s
CiAJCQkJNDExMDNBQTcxRTM5NzkwQTAwNzY5RjAzIC8qIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1Nv
dXJjZS5jcHAgKi8sCiAJCQkJNDExMDNBQTgxRTM5NzkwQTAwNzY5RjAzIC8qIFJlYWx0aW1lT3V0
Z29pbmdBdWRpb1NvdXJjZS5oICovLAotCQkJCTQxMTAzQUE5MUUzOTc5MEEwMDc2OUYwMyAvKiBS
ZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuaCAqLywKLQkJCQk0MTEwM0FBQTFFMzk3OTBBMDA3
NjlGMDMgLyogUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmNwcCAqLywKIAkJCQkwN0Q2Mzcz
RTFCQjBCMTEzMDAyNTZDRTkgLyogV2ViQXVkaW9Tb3VyY2VQcm92aWRlckFWRk9iakMuaCAqLywK
IAkJCQkwN0Q2MzczRjFCQjBCMTEzMDAyNTZDRTkgLyogV2ViQXVkaW9Tb3VyY2VQcm92aWRlckFW
Rk9iakMubW0gKi8sCiAJCQkpOwpAQCAtMTY3MTksOCArMTY3NDQsOCBAQAogCQkJCTUxMDU4QUQ4
MUQ2NzkyNTcwMDlBNTM4QyAvKiBNb2NrR2FtZXBhZC5oICovLAogCQkJCTUxMDU4QUQ5MUQ2Nzky
NTcwMDlBNTM4QyAvKiBNb2NrR2FtZXBhZFByb3ZpZGVyLmNwcCAqLywKIAkJCQk1MTA1OEFEQTFE
Njc5MjU3MDA5QTUzOEMgLyogTW9ja0dhbWVwYWRQcm92aWRlci5oICovLAotCQkJCTQxNTdFQkY4
MUUzQUIwNjgwMEFDOUZFOSAvKiBNb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uaCAqLywKIAkJ
CQk0MTU3RUJGOTFFM0FCMDY4MDBBQzlGRTkgLyogTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9u
LmNwcCAqLywKKwkJCQk0MTU3RUJGODFFM0FCMDY4MDBBQzlGRTkgLyogTW9ja0xpYldlYlJUQ1Bl
ZXJDb25uZWN0aW9uLmggKi8sCiAJCQkJMkQ2RjNFOEExQzFFQ0IxQzAwNjFEQkQ0IC8qIE1vY2tQ
YWdlT3ZlcmxheS5jcHAgKi8sCiAJCQkJMkQ2RjNFOEIxQzFFQ0IxQzAwNjFEQkQ0IC8qIE1vY2tQ
YWdlT3ZlcmxheS5oICovLAogCQkJCTJENkYzRThDMUMxRUNCMUMwMDYxREJENCAvKiBNb2NrUGFn
ZU92ZXJsYXkuaWRsICovLApAQCAtMTgxMjksNiArMTgxNTQsMTQgQEAKIAkJCQk4QUY0RTU1MjEx
REM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCAqLywKIAkJCQk4QUY0
RTU1MzExREM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmggKi8sCiAJCQkJ
OEFGNEU1NTQxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwgKi8s
CisJCQkJQTVBOTkzMzUxRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuY3Bw
ICovLAorCQkJCUE1QTk5MzM2MUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVy
LmggKi8sCisJCQkJQTVBOTkzMzcxRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2
ZXIuaWRsICovLAorCQkJCUE1QTk5MzM4MUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9i
c2VydmVyQ2FsbGJhY2suaCAqLywKKwkJCQlBNUE5OTMzOTFFMzdGQUZEMDA1QjVFNEQgLyogUGVy
Zm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmlkbCAqLywKKwkJCQlBNUE5OTMzQTFFMzdGQUZEMDA1
QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAgKi8sCisJCQkJQTVBOTkz
M0IxRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaCAqLywK
KwkJCQlBNUE5OTMzQzFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5
TGlzdC5pZGwgKi8sCiAJCQkJODY1MTJFREIxNTRBMkFFRTAwQTkwNDI2IC8qIFBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcuY3BwICovLAogCQkJCTg2NTEyRURDMTU0QTJBRUYwMEE5MDQyNiAvKiBQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggKi8sCiAJCQkJODY1MTJFREQxNTRBMkFFRjAwQTkw
NDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsICovLApAQCAtMTk4MTgsOCArMTk4
NTEsOCBAQAogCQlBNTlFM0MxQjExNTgwRjM0MDA3MjkyOEUgLyogaW9zICovID0gewogCQkJaXNh
ID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQlGNDgyMjMxMjFFMzg2RTI0MDA2NkZD
NzkgLyogQWJzdHJhY3RQYXN0ZWJvYXJkLmggKi8sCiAJCQkJQTE0ODMyOEIxODdGNTA2ODAwREE2
M0E2IC8qIHdhayAqLywKKwkJCQlGNDgyMjMxMjFFMzg2RTI0MDA2NkZDNzkgLyogQWJzdHJhY3RQ
YXN0ZWJvYXJkLmggKi8sCiAJCQkJMjY1NTQxNEIxNDg5QUEyQjAwMERGQzVEIC8qIEN1cnNvcklP
Uy5jcHAgKi8sCiAJCQkJQTFFRDc3OEExQkUzMjkzRjAwREMxNzkxIC8qIERldmljZS5jcHAgKi8s
CiAJCQkJQTFFRDc3OEIxQkUzMjk0MDAwREMxNzkxIC8qIERldmljZS5oICovLApAQCAtMTk4NzYs
NiArMTk5MDksOCBAQAogCQkJCUU0NTM5MDM4MEVBRkQ2MzcwMDM2OTVDOCAvKiBXZWJDb3JlU3lz
dGVtSW50ZXJmYWNlSU9TLm1tICovLAogCQkJCUZFMEQ4NEU4MTA0ODQzNDgwMDFBMTc5RSAvKiBX
ZWJFdmVudC5oICovLAogCQkJCUZFMEQ4NEVBMTA0ODQzNkUwMDFBMTc5RSAvKiBXZWJFdmVudC5t
bSAqLywKKwkJCQlGNDgyMjMwRjFFMzg2OUI4MDA2NkZDNzkgLyogV2ViSXRlbVByb3ZpZGVyUGFz
dGVib2FyZC5oICovLAorCQkJCUY0ODIyMzBFMUUzODY5QjgwMDY2RkM3OSAvKiBXZWJJdGVtUHJv
dmlkZXJQYXN0ZWJvYXJkLm1tICovLAogCQkJCUNEQTI5QTJFMUNCRjczRkMwMDkwMUNDRiAvKiBX
ZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5oICovLAogCQkJCUNEQTI5QTJGMUNCRjcz
RkMwMDkwMUNDRiAvKiBXZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5tbSAqLywKIAkJ
CQkzRjQyQjMxQjE4ODExOTFCMDAyNzhBQUMgLyogV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxl
ckFWS2l0LmggKi8sCkBAIC0xOTg4Myw4ICsxOTkxOCw2IEBACiAJCQkJM0ZCQzRBRjIxODk4ODE1
NjAwNDZFRTM4IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LmggKi8sCiAJCQkJ
M0ZCQzRBRjExODk4ODE1NjAwNDZFRTM4IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0Lm1tICovLAogCQkJCUU0NTM5MDNDMEVBRkQ2MzcwMDM2OTVDOCAvKiBXaWRnZXRJT1MubW0g
Ki8sCi0JCQkJRjQ4MjIzMEUxRTM4NjlCODAwNjZGQzc5IC8qIFdlYkl0ZW1Qcm92aWRlclBhc3Rl
Ym9hcmQubW0gKi8sCi0JCQkJRjQ4MjIzMEYxRTM4NjlCODAwNjZGQzc5IC8qIFdlYkl0ZW1Qcm92
aWRlclBhc3RlYm9hcmQuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gaW9zOwogCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKQEAgLTIyNDA1LDYgKzIyNDM4LDEyIEBACiAJCQkJQTU4QzU5Q0YxRTM4
MkVBOTAwNDc4NTlDIC8qIEpTUGVyZm9ybWFuY2VNZWFzdXJlLmggKi8sCiAJCQkJOEE5QTU4NkUx
MUU4NEMzNTAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCAqLywKIAkJCQk4
QTlBNTg2RjExRTg0QzM2MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCAqLywK
KwkJCQlBNUE5OTM0MjFFMzgwOTk5MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2VydmVyLmNw
cCAqLywKKwkJCQlBNUE5OTM0MzFFMzgwOTk5MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2Vy
dmVyLmggKi8sCisJCQkJQTVBOTkzNDQxRTM4MDk5OTAwNUI1RTREIC8qIEpTUGVyZm9ybWFuY2VP
YnNlcnZlckNhbGxiYWNrLmNwcCAqLywKKwkJCQlBNUE5OTM0NTFFMzgwOTk5MDA1QjVFNEQgLyog
SlNQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2suaCAqLywKKwkJCQlBNUE5OTM0NjFFMzgwOTk5
MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmNwcCAqLywKKwkJCQlB
NUE5OTM0NzFFMzgwOTk5MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0
LmggKi8sCiAJCQkJQ0IzOEZENTgxQ0QyMzE0NTAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZy5jcHAgKi8sCiAJCQkJQ0IzOEZENTkxQ0QyMzE0NTAwNTkyQTNGIC8qIEpTUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovLAogCQkJCTBGNDNDODVFMTg5RTE1QTYwMDAxOUFF
MiAvKiBKU1BlcmZvcm1hbmNlVGltaW5nLmNwcCAqLywKQEAgLTI0OTM0LDEzICsyNDk3MywxMyBA
QAogCQkJCUExQjVCMjlGMUFBQTg0NkYwMDhCNjA0MiAvKiBNb2NrQ29udGVudEZpbHRlclNldHRp
bmdzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTA1OEFEQzFENjc5MkMxMDA5QTUzOEMgLyogTW9j
a0dhbWVwYWQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMDU4QURFMUQ2NzkyQzEwMDlBNTM4QyAv
KiBNb2NrR2FtZXBhZFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTU3RUJGQjFFM0FC
NjdGMDBBQzlGRTkgLyogTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uLmggaW4gSGVhZGVycyAq
LywKIAkJCQkyRDZGM0U5MTFDMUVDQjJGMDA2MURCRDQgLyogTW9ja1BhZ2VPdmVybGF5LmggaW4g
SGVhZGVycyAqLywKIAkJCQkyRDk3RjA0ODE5REQ0MTQwMDAxRUU5QzMgLyogTW9ja1BhZ2VPdmVy
bGF5Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQwNjE4QzFFMkVDQTBBMDAzMkIzNEUg
LyogTW9ja1F1aWNrTG9va0hhbmRsZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUE1RjNC
OEQxNkNDMzNEMTAwNDU1RUIwIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBMTc2M0YzRjFFMjA1MjM0MDAxRDU4REUgLyogV2ViQXJjaGl2ZUR1
bXBTdXBwb3J0LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTgxNUMxRjEzODMxOTgzMDA1N0FBQTQg
LyogV2ViQ29yZVRlc3RTdXBwb3J0LmggaW4gSGVhZGVycyAqLywKLQkJCQk0MTU3RUJGQjFFM0FC
NjdGMDBBQzlGRTkgLyogTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uLmggaW4gSGVhZGVycyAq
LywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJ
fTsKQEAgLTI0OTQ4LDYgKzI0OTg3LDcgQEAKIAkJCWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBoYXNl
OwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAorCQkJCUY0
ODIyMzEzMUUzODZFMjQwMDY2RkM3OSAvKiBBYnN0cmFjdFBhc3RlYm9hcmQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQxRTFCMUQxMEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMjlBODEyMkUwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxp
dHlBUklBR3JpZENlbGwuaCBpbiBIZWFkZXJzICovLAogCQkJCTI5QTgxMjMzMEZCQjlDMUQwMDUx
MDI5MyAvKiBBY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3cuaCBpbiBIZWFkZXJzICovLApAQCAtMjUw
MDAsNyArMjUwNDAsNiBAQAogCQkJCTMxOTg0ODAxMUExRDgxN0IwMEExMzMxOCAvKiBBbmltYXRp
b25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlFOTEyQUQwRUZBQzkwNjAwOUQwQ0FGIC8q
IEFuaW1hdGlvbkxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxRENEMjlEMUFCNEZCREUwMDcy
RTgxNyAvKiBBbmltYXRpb25UcmlnZ2VyLmggaW4gSGVhZGVycyAqLywKLQkJCQk0MTc2MTJCMDFF
M0E5OTQwMDBDM0Q4MUQgLyogTGliV2ViUlRDTWVkaWFFbmRwb2ludC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMEY1ODBGQUYxNDk4MDBENDAwRkI1QkQ4IC8qIEFuaW1hdGlvblV0aWxpdGllcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlERDcwOTlFNjQ5MjAwNTZFNTgxIC8qIEFwcGVuZE5vZGVD
b21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzY1NzlFMzFFMDA4MjcwMDBFM0EyN0EgLyog
QXBwbGVQYXlMaW5lSXRlbS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTI4Myw3ICsyNTMyMiw2IEBA
CiAJCQkJQ0U3OTlGQTgxQzZBNTA1NzAwOTdCNTE4IC8qIENvbnRlbnRTZWN1cml0eVBvbGljeU1l
ZGlhTGlzdERpcmVjdGl2ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0U2REFERkExQzU5MUU2QTAw
M0Y2QTg4IC8qIENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQ0U3OTlGQTAxQzZBNEMxNjAwOTdCNTE4IC8qIENvbnRlbnRTZWN1cml0eVBv
bGljeVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRjQ4MjIzMTMxRTM4NkUyNDAwNjZGQzc5
IC8qIEFic3RyYWN0UGFzdGVib2FyZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0U3OTlGOTgxQzZB
NDZCQzAwOTdCNTE4IC8qIENvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3QuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUNFNzk5RkFDMUM2QTUwNjYwMDk3QjUxOCAvKiBDb250ZW50U2VjdXJpdHlQ
b2xpY3lTb3VyY2VMaXN0RGlyZWN0aXZlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MUQwMTVDQTBG
NEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuaCBpbiBIZWFkZXJzICovLApAQCAtMjU3OTAs
NyArMjU4MjgsNiBAQAogCQkJCTA4NUI5MkJCMEVGREU3M0QwMEU2MTIzQyAvKiBGb3JtRGF0YUJ1
aWxkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MTM2RDM4MDk3M0E4RTcwMEQ3NDQ2MyAvKiBG
b3JtRGF0YUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTdFRTY4NDY3MTJEMjZFMzgwMEU3OTQx
NSAvKiBGb3JtRGF0YVN0cmVhbUNGTmV0LmggaW4gSGVhZGVycyAqLywKLQkJCQk0MTU3NDc0QTFF
Mzg2OUFEMDBFOTE0RDggLyogTGliV2ViUlRDVXRpbHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
NEM3NjRFMENFOTIzNEUwMDdFRjNDRCAvKiBGb3JtRGF0YVN0cmVhbU1hYy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOUI1MEIxREUxN0NENEMwRjAwODdGNjNDIC8qIEZvcm1OYW1lZEl0ZW0uaCBpbiBI
ZWFkZXJzICovLAogCQkJCTY1NkQzNzNBMEFEQkE1REUwMEE0NTU0RCAvKiBGb3JtU3RhdGUuaCBp
biBIZWFkZXJzICovLApAQCAtMjU4NDksNyArMjU4ODYsNiBAQAogCQkJCUE4MEQ2NzA4MEU5RTlE
RUIwMEU0MjBGMCAvKiBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVDRy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEY1ODBCMEQwRjEyQTI2OTAwNTFENjg5IC8qIEdyYXBoaWNzTGF5ZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTQ5OUIzRUQ3MTI4Q0QzMTQwMEU3MjZDMiAvKiBHcmFwaGljc0xh
eWVyQ0EuaCBpbiBIZWFkZXJzICovLAotCQkJCTQxMTAzQUFEMUUzOTc5MTAwMDc2OUYwMyAvKiBS
ZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNTgwQjBF
MEYxMkEyNjkwMDUxRDY4OSAvKiBHcmFwaGljc0xheWVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQUM2OTU5MzE2MUExRTUzMDAzNzMyQ0IgLyogR3JhcGhpY3NMYXllckZhY3RvcnkuaCBp
biBIZWFkZXJzICovLAogCQkJCTBGQTI0RDdBMTYyREY5MTkwMEEzRjRDMCAvKiBHcmFwaGljc0xh
eWVyVXBkYXRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTg2NSw3ICsyNTkwMSw2IEBACiAJCQkJ
MjZFQTg5QTcxQjRGMkI3NTAwOEM1RkQyIC8qIEhhc2hhYmxlQWN0aW9uTGlzdC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODQ4MkI3NDYxMTk4QzM1NDAwQkZCMDA1IC8qIEhhc2hDaGFuZ2VFdmVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQTg3NDhCRTAxMkNCRjJEQzAwMUZCQTQxIC8qIEhhc2hUb29s
cy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTNFNEUyQTgxRTNCMTcxMDAwMjNCQjhBIC8qIFNjcmlw
dEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRjaGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNTVCM0RD
MDEyNTFGMTJEMDAzRUYyNjkgLyogSGlkZGVuSW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk1MTVCRTE5QzFENTRGNkMxMDBERDdDNjggLyogSElER2FtZXBhZC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTE1QkUxOUUxRDU0RjZDMTAwREQ3QzY4IC8qIEhJREdhbWVwYWRQcm92aWRlci5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0yNTg3NSw3ICsyNTkxMCw2IEBACiAJCQkJNDk2OUIwRjMxM0QwQjMz
RjAwREYzNTIxIC8qIEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMkQ4Mjg3RjcxNkU0QTAzODAwODZCRDAwIC8qIEhpdFRlc3RMb2NhdGlvbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJOTMwOTA4OTEwQUY3RURFNDAwODFERjAxIC8qIEhpdFRlc3RSZXF1ZXN0Lmgg
aW4gSGVhZGVycyAqLywKLQkJCQk0MTU3NDc0NzFFMzg2OUE0MDBFOTE0RDggLyogTGliV2ViUlRD
TWFjcm9zLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzA3RjFEODBBRjJENTkwMDBEQkEzMUEgLyog
SGl0VGVzdFJlc3VsdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMzQkMyOUMwRTkxQUIwRjAwODM1
NTg4IC8qIEhvc3RXaW5kb3cuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEMzE2MDk5MTJCMDI2Rjcw
MEMxQTM1OSAvKiBIUlRGRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovLApAQCAtMjY1NDAsNiArMjY1
NzQsOSBAQAogCQkJCUE1OEM1OUQxMUUzODJFQUUwMDQ3ODU5QyAvKiBKU1BlcmZvcm1hbmNlTWFy
ay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU4QzU5RDMxRTM4MkVCMjAwNDc4NTlDIC8qIEpTUGVy
Zm9ybWFuY2VNZWFzdXJlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4QTlBNTg3MTExRTg0QzM2MDA4
QUNGRDEgLyogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUE1
QTk5MzQ4MUUzODA5QzYwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUE1QTk5MzRBMUUzODA5Q0IwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXJDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTVBOTkzNEMxRTM4MDlDRjAwNUI1
RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQ0IzOEZENUIxQ0QyMzI1QjAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEE5QTU4ODgxMUU4NEYzNzAwOEFDRkQxIC8qIEpTUGVy
Zm9ybWFuY2VUaW1pbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCUZERUE2MjQ3MTUyMTAyRkMwMDQ3
OURGMCAvKiBKU1BlcmlvZGljV2F2ZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjg3Niw2ICsyNjkx
MywxMSBAQAogCQkJCUU1QkE3RDYzMTUxNDM3Q0EwMEZFMUUzRiAvKiBMZW5ndGhGdW5jdGlvbnMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTBGODcxNjcwMUM4NjlEODMwMDRGRjBERSAvKiBMZW5ndGhQ
b2ludC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNGRjY0OTIwRUFEMTVDMjAwQzFENkY3IC8qIExl
bmd0aFNpemUuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxNTc0NzQ3MUUzODY5QTQwMEU5MTREOCAv
KiBMaWJXZWJSVENNYWNyb3MuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxNzYxMkIwMUUzQTk5NDAw
MEMzRDgxRCAvKiBMaWJXZWJSVENNZWRpYUVuZHBvaW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk0
MTc2MTJCMjFFM0E5OTQwMDBDM0Q4MUQgLyogTGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5k
LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTU3NDc0ODFFMzg2OUE3MDBFOTE0RDggLyogTGliV2Vi
UlRDUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxNTc0NzRBMUUzODY5QUQwMEU5MTRE
OCAvKiBMaWJXZWJSVENVdGlscy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ3MzBEOTExMjQ4RjBC
MzAwRDNBOUM5IC8qIExpZ2h0U291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyNzk2NTBE
MDBCRjIyMDA3MUI3ODIgLyogTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzLmggaW4gSGVhZGVycyAq
LywKIAkJCQlBQjMxQzkxRTEwQUUxQjhFMDAwQzdCOTIgLyogTGluZUNsYW1wVmFsdWUuaCBpbiBI
ZWFkZXJzICovLApAQCAtMjcyNTQsNiArMjcyOTYsOSBAQAogCQkJCUFENUEwQzI1MURFQ0FDQ0Mw
MDcwNzA1NCAvKiBQZXJmb3JtYW5jZUxvZ2dpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzRkU5
MDI3MUUzMDdDMzAwMDNFOTE5OSAvKiBQZXJmb3JtYW5jZU1vbml0b3IuaCBpbiBIZWFkZXJzICov
LAogCQkJCThBRjRFNTU2MTFEQzVBMzYwMDBFRDNERSAvKiBQZXJmb3JtYW5jZU5hdmlnYXRpb24u
aCBpbiBIZWFkZXJzICovLAorCQkJCUE1QTk5MzNEMUUzN0ZCMTkwMDVCNUU0RCAvKiBQZXJmb3Jt
YW5jZU9ic2VydmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUE5OTMzRjFFMzdGQjFGMDA1QjVF
NEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlB
NUE5OTM0MTFFMzdGQjI4MDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJODY1MTJFREYxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCThBRjRFNTVDMTFEQzVBNjMw
MDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU1NEI1
RjMxRTM4MzkzQTAwMUQ0RTAzIC8qIFBlcmZvcm1hbmNlVXNlclRpbWluZy5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yNzM2MywxMiArMjc0MDgsMTQgQEAKIAkJCQk0MTZFNkZFOTFCQkQxMkU1MDAwQTYw
NDMgLyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE2RTZG
RTgxQkJEMTJERjAwMEEzRjY0IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBp
biBIZWFkZXJzICovLAogCQkJCUZEMzE2MDNDMTJCMDI2NzYwMEMxQTM1OSAvKiBSZWFsdGltZUFu
YWx5c2VyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTEwM0FBRDFFMzk3OTEwMDA3NjlGMDMgLyog
UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0QTRGNjU3
MTFBQTk5N0YxMDBFMzhDREQgLyogUmVhbHRpbWVNZWRpYVNvdXJjZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNEE0RjY1NzIxQUE5OTdGMTAwRTM4Q0REIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VDYXBh
YmlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTRBMEZGQUEyMUFBRjVFQTIwMDYyODAzQiAv
KiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0QTBGRkFB
NjFBQUY1RUY2MDA2MjgwM0IgLyogUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNEE0RjY1NzQxQUE5OTdGMTAwRTM4Q0REIC8qIFJlYWx0aW1lTWVkaWFT
b3VyY2VTZXR0aW5ncy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdDMUMwRTUxQkZCNjBFRDAwQkQy
MjU2IC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cy5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNDExMDNBQUMxRTM5NzkxMDAwNzY5RjAzIC8qIFJlYWx0aW1lT3V0Z29pbmdB
dWRpb1NvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM0MzY4RTgwQzIyNkUzMjAwNUVGQjVG
IC8qIFJlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUZENDVBOTU4MTc1RDQxNEMwMEMyMUVDOCAv
KiBSZWN0YW5nbGVTaGFwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTgzMUFFNEExNTQyMjVDOTAw
RkUyNjQ0IC8qIFJlZmVycmVyUG9saWN5LmggaW4gSGVhZGVycyAqLywKQEAgLTI3NTM2LDcgKzI3
NTgzLDYgQEAKIAkJCQk0OTk4QUVDNjEzRjlEMEVBMDA5MEIxQUEgLyogUmVxdWVzdEFuaW1hdGlv
bkZyYW1lQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUY1NUIzREQwMTI1MUYxMkQwMDNF
RjI2OSAvKiBSZXNldElucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0VFNjg0NkExMkQy
NkUzODAwRTc5NDE1IC8qIFJlc291cmNlRXJyb3IuaCBpbiBIZWFkZXJzICovLAotCQkJCTQxNTc0
NzQ4MUUzODY5QTcwMEU5MTREOCAvKiBMaWJXZWJSVENQcm92aWRlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTM0RjcxM0MwRDVBNkYxOTAwMDE4RDY5IC8qIFJlc291cmNlRXJyb3JCYXNlLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1MTRDNzY3OTBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VIYW5k
bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTI2RkFFNENEMTg1MkUzQTUwMDRDOEM0NiAvKiBSZXNv
dXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKQEAgLTI3
NjI4LDYgKzI3Njc0LDcgQEAKIAkJCQk5M0I3MEQ3MDA5RUIwQzdDMDA5RDg0NjggLyogU2NyaXB0
Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk5OEFFRDIxM0ZCMjI0RDAwOTBCMUFB
IC8qIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDhB
NDg0NzgwRTUyNzJDNTAwQzNGRTc2IC8qIFNjcmlwdEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAor
CQkJCUUzRTRFMkE4MUUzQjE3MTAwMDIzQkI4QSAvKiBTY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0
RmV0Y2hlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTExQzlEOUIwRUIzNjgxMjAwRTQwOURCIC8q
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxRjA2NkU0MEY2
NEJDRjYwMEEwN0VBQyAvKiBTY3JpcHRHbG9iYWxPYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUUzODgzODk5MUJBRDE0NUYwMEQ2MkVFMyAvKiBTY3JpcHRNb2R1bGVMb2FkZXIuaCBpbiBIZWFk
ZXJzICovLApAQCAtMjc4MjEsNyArMjc4NjgsNiBAQAogCQkJCTQxNEI4MjA1MUQ2REYwRTUwMDc3
RUJFMyAvKiBTdHJ1Y3R1cmVkQ2xvbmUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNUVCNkEzMEU4
MURDNEYwMEIyNTk2NSAvKiBTdHlsZUJhY2tncm91bmREYXRhLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQzVFQjY3QjBFODFEM0JFMDBCMjU5NjUgLyogU3R5bGVCb3hEYXRhLmggaW4gSGVhZGVycyAq
LywKLQkJCQlGNDgyMjMxMTFFMzg2OUI4MDA2NkZDNzkgLyogV2ViSXRlbVByb3ZpZGVyUGFzdGVi
b2FyZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM4NkE5NkQxOUY2MUIyRTAwRTFFQzRBIC8qIFN0
eWxlQnVpbGRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODNCOTY4N0IxOUY4QUI4MzAwNEVGN0FG
IC8qIFN0eWxlQnVpbGRlckNvbnZlcnRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM1RDM2Mzcx
OUZGNjE5MzAwNEM5M0FCIC8qIFN0eWxlQnVpbGRlckN1c3RvbS5oIGluIEhlYWRlcnMgKi8sCkBA
IC0yNzg2NCw3ICsyNzkxMCw2IEBACiAJCQkJQThFQTgwMEMwQTE5NTE2RTAwQThFRjVGIC8qIFN0
eWxlU2hlZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0RjlFRUYzMTU2REEwMDcwMEQyM0U3RSAv
KiBTdHlsZVNoZWV0Q29udGVudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4RUE4MDBBMEExOTUx
NkUwMEE4RUY1RiAvKiBTdHlsZVNoZWV0TGlzdC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDE3NjEy
QjIxRTNBOTk0MDAwQzNEODFEIC8qIExpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkM1RUI1RTUwRTgxQkY2RDAwQjI1OTY1IC8qIFN0eWxlU3Vycm91
bmREYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzVFQjgxMDBFODFGMkNFMDBCMjU5NjUgLyog
U3R5bGVUcmFuc2Zvcm1EYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNERFQUExODE3QTkzREMz
MDAwRTA0MzAgLyogU3R5bGVUcmVlUmVzb2x2ZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMjc5MzIs
NyArMjc5NzcsNiBAQAogCQkJCUIyMjI3OUFFMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdEZWZzRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjc5QjEwRDAwQkYyMjAwNzFCNzgyIC8qIFNW
R0Rlc2NFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyNzlCNDBEMDBCRjIyMDA3MUI3
ODIgLyogU1ZHRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTQxMTAzQUFDMUUzOTc5MTAw
MDc2OUYwMyAvKiBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaCBpbiBIZWFkZXJzICovLAog
CQkJCUIyOEM2QTI4MEQwMEM0NDgwMDMzNEFBNCAvKiBTVkdEb2N1bWVudEV4dGVuc2lvbnMuaCBp
biBIZWFkZXJzICovLAogCQkJCUIyMjI3OUI3MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdFbGVtZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQk2NTY1ODFGRTA5RDE1MDhEMDAwRTYxRDcgLyogU1ZHRWxl
bWVudEZhY3RvcnkuaCBpbiBIZWFkZXJzICovLApAQCAtMjg0MTMsNiArMjg0NTcsNyBAQAogCQkJ
CTc3QTE3QTc4MTJGMjg2NDIwMDRFMDJGNiAvKiBXZWJHTFZlcnRleEFycmF5T2JqZWN0T0VTLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBNTg0MEUyNTE4N0I4QUMyMDA4NDNCMTAgLyogV2ViSW5qZWN0
ZWRTY3JpcHRIb3N0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTg0RkUzMDE4NjRDQjg0MDA4NDNC
MTAgLyogV2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKKwkJCQlGNDgy
MjMxMTFFMzg2OUI4MDA2NkZDNzkgLyogV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMzFDMEZGMjIwRTRDRUI2RTAwN0Q2RkU1IC8qIFdlYktpdEFuaW1hdGlv
bkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1REZFQkFCNzE4NTkyQjZEMDBDNzVCRUIgLyog
V2ViS2l0QXZhaWxhYmlsaXR5LmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTgzOTE1OTBGMUU3NzY5
MDBDMjM3ODIgLyogV2ViS2l0Q1NTTWF0cml4LmggaW4gSGVhZGVycyAqLywKQEAgLTI4ODY2LDcg
KzI4OTExLDYgQEAKIAkJCQk1MTcxNEVCMDFDRjY2NUNFMDA0NzIzQzQgLyogSlNHQ09ic2VydmF0
aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxN0RBNzFEMTM3MzVERkEwMDdDNTdGQiAvKiBK
U0ludGVybmFscy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNzQwQjVBNzE0QzkzNUFGMDBBNzdG
QTQgLyogSlNJbnRlcm5hbFNldHRpbmdzLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTQxNTdFQkZB
MUUzQUI2NzkwMEFDOUZFOSAvKiBNb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNTNFRDNGREUxNjdBODhFNzAwNjc2MkU2IC8qIEpTSW50ZXJuYWxTZXR0
aW5nc0dlbmVyYXRlZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNzQwQjU5NzE0QzkzNUFGMDBB
NzdGQTQgLyogSlNNYWxsb2NTdGF0aXN0aWNzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNERjRC
NzMzMUUwM0QxNDkwMEUyMzVBMiAvKiBKU01lZGlhS2V5c1JlcXVpcmVtZW50LmNwcCBpbiBTb3Vy
Y2VzICovLApAQCAtMjg4ODIsNiArMjg5MjYsNyBAQAogCQkJCUExQjVCMjlFMUFBQTg0NkUwMDhC
NjA0MiAvKiBNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTUxMDU4QURCMUQ2NzkyQzEwMDlBNTM4QyAvKiBNb2NrR2FtZXBhZC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk1MTA1OEFERDFENjc5MkMxMDA5QTUzOEMgLyogTW9ja0dhbWVwYWRQcm92aWRlci5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTU3RUJGQTFFM0FCNjc5MDBBQzlGRTkgLyogTW9ja0xp
YldlYlJUQ1BlZXJDb25uZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJENkYzRTkwMUMx
RUNCMjcwMDYxREJENCAvKiBNb2NrUGFnZU92ZXJsYXkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MkQ5N0YwNDcxOURENDEzQzAwMUVFOUMzIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlBMTQwNjE4QjFFMkVDQTBBMDAzMkIzNEUgLyogTW9ja1F1aWNrTG9v
a0hhbmRsZUNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI5MTkzLDcgKzI5MjM4LDYgQEAK
IAkJCQlFMUI0Q0QyNTEwQjMyMkUyMDBCRkZEN0UgLyogQ3JlZGVudGlhbFN0b3JhZ2VNYWMubW0g
aW4gU291cmNlcyAqLywKIAkJCQkyRDQ4MUYwMDE0NkI1QzRDMDBBQTc4MzQgLyogQ3Jvc3NmYWRl
R2VuZXJhdGVkSW1hZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFDNDE2MTcwRjY1NjMxODAw
OTJEMkZCIC8qIENyb3NzT3JpZ2luQWNjZXNzQ29udHJvbC5jcHAgaW4gU291cmNlcyAqLywKLQkJ
CQk0MTc2MTJCMTFFM0E5OTQwMDBDM0Q4MUQgLyogTGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNr
ZW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxQUJFNjdDMUQwNTgwRTAwMDZEODYyRCAvKiBD
cm9zc09yaWdpblByZWZsaWdodENoZWNrZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFDNDE1
REUwRjY1NUQ3QzAwOTJEMkZCIC8qIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJRTE2OTgwNDkxMTMzNjQ0NzAwODk0MTE1IC8qIENSdW50aW1l
T2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjkyODUsNyArMjkzMjksNiBAQAogCQkJCTk0
MTgyNzhFMUQ4Q0FGOTIwMDQ5Mjc2NCAvKiBDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJOTc3QjM4NjIxMjI4ODNFOTAwQjgxRkY4IC8qIENTU1ByZWxv
YWRTY2FubmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4MEU2RDA1MEExOTg5Q0EwMDdGQjhD
NSAvKiBDU1NQcmltaXRpdmVWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlGNDgyMjMxMDFF
Mzg2OUI4MDA2NkZDNzkgLyogV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZC5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCUE4MEU2Q0Y3MEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NQcm9wZXJ0eS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk3OEQwMkJDNTE1NEExOERGMDBCNjJEMDUgLyogQ1NTUHJvcGVydHlB
bmltYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFCQTc2Q0ExMUQyMEU1MDAwNEMyMDFD
IC8qIENTU1Byb3BlcnR5TmFtZXMuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yOTQzOSw3ICsyOTQ4
Miw2IEBACiAJCQkJMTVGQ0M5RkMxQjRERjdGMjAwRTcyMzI2IC8qIERPTVVSTE1lZGlhU3RyZWFt
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0MDNCOTk4MDlFQjEzQUYwMDc5N0M3RiAvKiBET01X
aW5kb3cuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE3RkJBMUUxNTFBQjE3QzAwQjU3OTU5IC8q
IERPTVdpbmRvd0V4dGVuc2lvbi5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk0MTEwM0FBRTFFMzk3
OTEwMDA3NjlGMDMgLyogUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTQxOEMzOTU2MUM4REFDN0YwMDUxQzhBMyAvKiBET01XaW5kb3dGZXRjaC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1MTg1RkM3NDFCQjRDNEU4MDAxMjg5OEYgLyogRE9NV2luZG93
SW5kZXhlZERhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3QjM4RTI4MTUxQzQyNzMw
MDQ2MjJFOSAvKiBET01XaW5kb3dOb3RpZmljYXRpb25zLmNwcCBpbiBTb3VyY2VzICovLApAQCAt
MzAzNDIsNiArMzAzODQsOSBAQAogCQkJCUE1OEM1OUQwMUUzODJFQUMwMDQ3ODU5QyAvKiBKU1Bl
cmZvcm1hbmNlTWFyay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNThDNTlEMjFFMzgyRUIwMDA0
Nzg1OUMgLyogSlNQZXJmb3JtYW5jZU1lYXN1cmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOEE5
QTU4NzAxMUU4NEMzNjAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUE1QTk5MzREMUUzODA5RDcwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNl
T2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVBOTkzNDkxRTM4MDlDOTAwNUI1RTRE
IC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CUE1QTk5MzRCMUUzODA5Q0QwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxp
c3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0IzOEZENUExQ0QyMzI1ODAwNTkyQTNGIC8qIEpT
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjQzQzg1
RjE4OUUxNUE2MDAwMTlBRTIgLyogSlNQZXJmb3JtYW5jZVRpbWluZy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlGREVBNjI0NjE1MjEwMkZDMDA0NzlERjAgLyogSlNQZXJpb2RpY1dhdmUuY3BwIGlu
IFNvdXJjZXMgKi8sCkBAIC0zMDUwOSw3ICszMDU1NCw2IEBACiAJCQkJQjJGQTNEQkEwQUI3NUE2
RjAwMEU1QUM0IC8qIEpTU1ZHUGF0aFNlZ0FyY1JlbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
MkZBM0RCQzBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdQYXRoU2VnQ2xvc2VQYXRoLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUIyRkEzREJFMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1BhdGhTZWdD
dXJ2ZXRvQ3ViaWNBYnMuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNDE3NjEyQUYxRTNBOTk0MDAw
QzNEODFEIC8qIExpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QjJGQTNEQzAwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1JlbC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkZBM0RDMjBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdQ
YXRoU2VnQ3VydmV0b0N1YmljU21vb3RoQWJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyRkEz
REM0MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWwu
Y3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMDcxMyw2ICszMDc1Nyw5IEBACiAJCQkJRTU1RjQ5N0Ex
NTFCODg4MDAwQkI2N0RCIC8qIExlbmd0aEZ1bmN0aW9ucy5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkwRjg3MTY2RjFDODY5RDgzMDA0RkYwREUgLyogTGVuZ3RoUG9pbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEZFRjIwQ0UxQkQ0QTI0MTAwMTI4RTVEIC8qIExlbmd0aFNpemUuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNDE3NjEyQUYxRTNBOTk0MDAwQzNEODFEIC8qIExpYldlYlJUQ01lZGlh
RW5kcG9pbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDE3NjEyQjExRTNBOTk0MDAwQzNEODFE
IC8qIExpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQk0MTU3NDc0OTFFMzg2OUFBMDBFOTE0RDggLyogTGliV2ViUlRDVXRpbHMuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJRkZCNjk4Q0MxODMzRUUwRDAwMTU4QTMxIC8qIExpbmVCcmVha2VyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTg5QjVFQUExMTFFODAwM0QwMEYyMzY3RSAvKiBMaW5lRW5kaW5n
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZGQjY5OENGMTgzNDAyQkIwMDE1OEEzMSAvKiBMaW5l
SW5mby5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMxMDA0LDYgKzMxMDUxLDggQEAKIAkJCQlBRDVB
MEMyMzFERUNBQ0MwMDA3MDcwNTQgLyogUGVyZm9ybWFuY2VMb2dnaW5nQ29jb2EubW0gaW4gU291
cmNlcyAqLywKIAkJCQk4M0ZFOTAyODFFMzA3QzMzMDAzRTkxOTkgLyogUGVyZm9ybWFuY2VNb25p
dG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCThBRjRFNTU1MTFEQzVBMzYwMDBFRDNERSAvKiBQ
ZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVBOTkzM0UxRTM3
RkIxQzAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJQTVBOTkzNDAxRTM3RkIyNTAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxp
c3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODY1MTJFREUxNTRBMkFFRjAwQTkwNDI2IC8qIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0M0M4NUQx
ODlFMTBDRjAwMDE5QUUyIC8qIFBlcmZvcm1hbmNlVGltaW5nLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE1NTRCNUYyMUUzODM5MzgwMDFENEUwMyAvKiBQZXJmb3JtYW5jZVVzZXJUaW1pbmcuY3Bw
IGluIFNvdXJjZXMgKi8sCkBAIC0zMTA3NywxMSArMzExMjYsMTMgQEAKIAkJCQk2RTg0RTlFMDE3
NjY4QkVFMDA4MTVCNjggLyogUmFzdGVyU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE4
QzM5NjExQzhGMEFCMTAwNTFDOEEzIC8qIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQzMTYwM0IxMkIwMjY3NjAwQzFBMzU5IC8qIFJlYWx0
aW1lQW5hbHlzZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDExMDNBQUUxRTM5NzkxMDAwNzY5
RjAzIC8qIFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk0QTRGNjU3MDFBQTk5N0YxMDBFMzhDREQgLyogUmVhbHRpbWVNZWRpYVNvdXJjZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk0QTBGRkFBMTFBQUY1RUEyMDA2MjgwM0IgLyogUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0QTBGRkFBNTFBQUY1RUY2MDA2
MjgwM0IgLyogUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk0QTRGNjU3MzFBQTk5N0YxMDBFMzhDREQgLyogUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRp
bmdzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJFQzQxREU0MUMwNDEwQTMwMEQyOTRGRSAvKiBS
ZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHMuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJNDExMDNBQUIxRTM5NzkxMDAwNzY5RjAzIC8qIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1Nv
dXJjZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRDQ1QTk1QTE3NUQ0MTcxMDBDMjFFQzggLyog
UmVjdGFuZ2xlU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNBQjQxODExM0UzNTZFODAw
RDhBQUYzIC8qIFJlZ2lvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDREZDMzYwNTE4Q0E2MUMy
MDAyNkU1NkYgLyogUmVtb3RlQ29tbWFuZExpc3RlbmVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAt
MzEyOTIsNiArMzEzNDMsNyBAQAogCQkJCUE4M0UxQzc0MEU0OTA0MkMwMDE0MEI5QyAvKiBTY3Jp
cHRDb250cm9sbGVyTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk5OEFFRDExM0ZCMjI0RDAw
OTBCMUFBIC8qIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwOEE0ODQ3NzBFNTI3MkM1MDBDM0ZFNzYgLyogU2NyaXB0RWxlbWVudC5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQlFM0U0RTJBNzFFM0IxNzEwMDAyM0JCOEEgLyogU2NyaXB0RWxlbWVudENh
Y2hlZFNjcmlwdEZldGNoZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTExQzlEQjAwRUIzNjk5
NTAwRTQwOURCIC8qIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNDFGMDY2RTUwRjY0QkNGNjAwQTA3RUFDIC8qIFNjcmlwdEdsb2JhbE9iamVjdC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlFMzg4Mzg5ODFCQUQxNDVGMDBENjJFRTMgLyogU2NyaXB0TW9kdWxl
TG9hZGVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzEzODUsNyArMzE0MzcsNiBAQAogCQkJCTUx
MkREOEUzMEQ5MUUyQjQwMDBGODlFRSAvKiBTaGFyZWRCdWZmZXJDRi5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk5N0IxRjAyRTEzQjAyNUNBMDBGNTEwM0YgLyogU2hhcmVkQnVmZmVyQ2h1bmtSZWFk
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE0QTk1NTIwQjRFRENGRjAwMkQ4QzNDIC8qIFNo
YXJlZEJ1ZmZlckNvY29hLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJNDE1NzQ3NDkxRTM4NjlBQTAw
RTkxNEQ4IC8qIExpYldlYlJUQ1V0aWxzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE2M0U4OEY3
MTE4QTM5RDIwMEVEOTIzMSAvKiBTaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUU0ODk0NEEyMTgwQjU3RDgwMEYxNjVEOCAvKiBTaW1wbGVMaW5lTGF5b3V0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTU4NUQ2RTAzMUExQTc5MkUwMEZBNEYxMiAvKiBTaW1wbGVM
aW5lTGF5b3V0Rmxvd0NvbnRlbnRzLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzE3MTksNyArMzE3
NzAsNiBAQAogCQkJCTkzMzA5RTFCMDk5RTY0OTIwMDU2RTU4MSAvKiBUZXh0SXRlcmF0b3IuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJRTREOTg4QjYxN0JGRUIyMTAwODRGQjg4IC8qIFRleHROb2Rl
VHJhdmVyc2FsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFDMThEQTU4MTgxQUY2QTUwMEM0RUYy
MiAvKiBUZXh0UGFpbnRlci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk0MTEwM0FBQjFFMzk3OTEw
MDA3NjlGMDMgLyogUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUU0QzkxQTEwMTgwMjM0MzkwMEExN0Y2RCAvKiBUZXh0UGFpbnRTdHlsZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk5M0YxOUE5RDA4MjQ1RTU5MDAxRTlBQkMgLyogVGV4dFJlc291cmNl
RGVjb2Rlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzNzZEQ0NFMTEzQjRGOTY2MDAyRUJFRkMg
LyogVGV4dFJ1bi5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMxODUwLDcgKzMxOTAwLDYgQEAKIAkJ
CQkyOUE4MTI0QTBGQkI5Q0E5MDA1MTAyOTMgLyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJCYXNlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQUFBNzI4RjgxNkQxRDhCQzAwRDNCQkM2IC8q
IFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QUE0NzhBODAxNkNENzBDMzAwN0QxQkI0IC8qIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
TWFjLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJRTNFNEUyQTcxRTNCMTcxMDAwMjNCQjhBIC8qIFNj
cmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRjaGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJE
M0VGNDQ5MTkxNzkxNUMwMDAzNDE4NCAvKiBXZWJBY3Rpb25EaXNhYmxpbmdDQUxheWVyRGVsZWdh
dGUubW0gaW4gU291cmNlcyAqLywKIAkJCQkxMjBERTNFRDFDODZDQTNFMDBCNkQ0REQgLyogV2Vi
QW5pbWF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3RDYzNzQxMUJCMEIxMTMwMDI1NkNF
OSAvKiBXZWJBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5tbSBpbiBTb3VyY2VzICovLApAQCAt
MzE5MjMsNiArMzE5NzIsNyBAQAogCQkJCTc3QTE3QTc3MTJGMjg2NDIwMDRFMDJGNiAvKiBXZWJH
TFZlcnRleEFycmF5T2JqZWN0T0VTLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE1ODQwRTI0MTg3
QjhBQzIwMDg0M0IxMCAvKiBXZWJJbmplY3RlZFNjcmlwdEhvc3QuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQTU4NEZFMkYxODY0Q0I4NDAwODQzQjEwIC8qIFdlYkluamVjdGVkU2NyaXB0TWFuYWdl
ci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlGNDgyMjMxMDFFMzg2OUI4MDA2NkZDNzkgLyogV2Vi
SXRlbVByb3ZpZGVyUGFzdGVib2FyZC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTMxQzBGRjIxMEU0
Q0VCNkUwMDdENkZFNSAvKiBXZWJLaXRBbmltYXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk0OTgzOTE1ODBGMUU3NzY5MDBDMjM3ODIgLyogV2ViS2l0Q1NTTWF0cml4LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCThBQTYxQ0ZGMTQ0RDU5NUIwMEYzNzM1MCAvKiBXZWJLaXRDU1NSZWdp
b25SdWxlLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKaW5kZXggMDQ1NjU2NjA1NWUuLmRiODM5NzQ5N2RmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTEzNCw3ICsxMzQsNiBAQAogI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiTWVkaWFT
b3VyY2UuaCIKLSNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgogI2luY2x1ZGUgIlZpZGVvUGxheWJh
Y2tRdWFsaXR5LmgiCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNjhlZTc5ZTdiOWEuLjVhZTA4ZmRk
NTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAKQEAgLTU3LDcgKzU3LDYgQEAKICNpbmNsdWRlICJNYWluRnJhbWUuaCIK
ICNpbmNsdWRlICJNZW1vcnlDYWNoZS5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKLSNpbmNsdWRlICJQ
ZXJmb3JtYW5jZS5oIgogI2luY2x1ZGUgIlBpbmdMb2FkZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9y
bVN0cmF0ZWdpZXMuaCIKICNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmgKaW5kZXggYmViMDVlZjk1ZTEuLjEzZDU4ZjNj
ZmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5oCkBAIC0y
OSw3ICsyOSw2IEBACiAKICNpbmNsdWRlICJJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrLmgi
CiAjaW5jbHVkZSAiSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeS5oIgotI2luY2x1ZGUgPHd0Zi9P
cHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1Zh
cmlhbnQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZS5jcHAKaW5kZXggMmU1OWRhYTM2M2EuLjMyODNjOWFhMzViIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlLmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIkZyYW1l
LmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNl
TmF2aWdhdGlvbi5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlT2JzZXJ2ZXIuaCIKICNpbmNsdWRl
ICJQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VUaW1p
bmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVVzZXJUaW1pbmcuaCIKQEAgLTE3MSw3ICsxNzIs
MTQgQEAgRXhjZXB0aW9uT3I8dm9pZD4gUGVyZm9ybWFuY2U6Om1hcmsoY29uc3QgU3RyaW5nJiBt
YXJrTmFtZSkKIHsKICAgICBpZiAoIW1fdXNlclRpbWluZykKICAgICAgICAgbV91c2VyVGltaW5n
ID0gc3RkOjptYWtlX3VuaXF1ZTxVc2VyVGltaW5nPigqdGhpcyk7Ci0gICAgcmV0dXJuIG1fdXNl
clRpbWluZy0+bWFyayhtYXJrTmFtZSk7CisKKyAgICBhdXRvIHJlc3VsdCA9IG1fdXNlclRpbWlu
Zy0+bWFyayhtYXJrTmFtZSk7CisgICAgaWYgKHJlc3VsdC5oYXNFeGNlcHRpb24oKSkKKyAgICAg
ICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7CisKKyAgICBxdWV1ZUVudHJ5KHJl
c3VsdC5yZWxlYXNlUmV0dXJuVmFsdWUoKSk7CisKKyAgICByZXR1cm4geyB9OwogfQogCiB2b2lk
IFBlcmZvcm1hbmNlOjpjbGVhck1hcmtzKGNvbnN0IFN0cmluZyYgbWFya05hbWUpCkBAIC0xODUs
NyArMTkzLDE0IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFBlcmZvcm1hbmNlOjptZWFzdXJlKGNvbnN0
IFN0cmluZyYgbWVhc3VyZU5hbWUsIGNvbnN0IFN0cmluZyYKIHsKICAgICBpZiAoIW1fdXNlclRp
bWluZykKICAgICAgICAgbV91c2VyVGltaW5nID0gc3RkOjptYWtlX3VuaXF1ZTxVc2VyVGltaW5n
PigqdGhpcyk7Ci0gICAgcmV0dXJuIG1fdXNlclRpbWluZy0+bWVhc3VyZShtZWFzdXJlTmFtZSwg
c3RhcnRNYXJrLCBlbmRNYXJrKTsKKworICAgIGF1dG8gcmVzdWx0ID0gbV91c2VyVGltaW5nLT5t
ZWFzdXJlKG1lYXN1cmVOYW1lLCBzdGFydE1hcmssIGVuZE1hcmspOworICAgIGlmIChyZXN1bHQu
aGFzRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiByZXN1bHQucmVsZWFzZUV4Y2VwdGlvbigp
OworCisgICAgcXVldWVFbnRyeShyZXN1bHQucmVsZWFzZVJldHVyblZhbHVlKCkpOworCisgICAg
cmV0dXJuIHsgfTsKIH0KIAogdm9pZCBQZXJmb3JtYW5jZTo6Y2xlYXJNZWFzdXJlcyhjb25zdCBT
dHJpbmcmIG1lYXN1cmVOYW1lKQpAQCAtMTk1LDYgKzIxMCwxNiBAQCB2b2lkIFBlcmZvcm1hbmNl
OjpjbGVhck1lYXN1cmVzKGNvbnN0IFN0cmluZyYgbWVhc3VyZU5hbWUpCiAgICAgbV91c2VyVGlt
aW5nLT5jbGVhck1lYXN1cmVzKG1lYXN1cmVOYW1lKTsKIH0KIAordm9pZCBQZXJmb3JtYW5jZTo6
cmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXImIG9ic2VydmVy
KQoreworICAgIG1fb2JzZXJ2ZXJzLmFkZCgmb2JzZXJ2ZXIpOworfQorCit2b2lkIFBlcmZvcm1h
bmNlOjp1bnJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJiBv
YnNlcnZlcikKK3sKKyAgICBtX29ic2VydmVycy5yZW1vdmUoJm9ic2VydmVyKTsKK30KKwogZG91
YmxlIFBlcmZvcm1hbmNlOjpub3coKSBjb25zdAogewogICAgIGRvdWJsZSBub3dTZWNvbmRzID0g
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBtX3JlZmVyZW5jZVRpbWU7CkBAIC0yMDcs
NiArMjMyLDMwIEBAIGRvdWJsZSBQZXJmb3JtYW5jZTo6cmVkdWNlVGltZVJlc29sdXRpb24oZG91
YmxlIHNlY29uZHMpCiAgICAgcmV0dXJuIHN0ZDo6Zmxvb3Ioc2Vjb25kcyAvIHJlc29sdXRpb25T
ZWNvbmRzKSAqIHJlc29sdXRpb25TZWNvbmRzOwogfQogCit2b2lkIFBlcmZvcm1hbmNlOjpxdWV1
ZUVudHJ5KFBlcmZvcm1hbmNlRW50cnkmIGVudHJ5KQoreworICAgIGJvb2wgc2hvdWxkU2NoZWR1
bGVUYXNrID0gZmFsc2U7CisgICAgZm9yIChhdXRvJiBvYnNlcnZlciA6IG1fb2JzZXJ2ZXJzKSB7
CisgICAgICAgIGlmIChvYnNlcnZlci0+dHlwZUZpbHRlcigpLmNvbnRhaW5zKGVudHJ5LnR5cGUo
KSkpIHsKKyAgICAgICAgICAgIG9ic2VydmVyLT5xdWV1ZUVudHJ5KGVudHJ5KTsKKyAgICAgICAg
ICAgIHNob3VsZFNjaGVkdWxlVGFzayA9IHRydWU7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBp
ZiAoIXNob3VsZFNjaGVkdWxlVGFzaykKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fcGVy
Zm9ybWFuY2VUaW1lbGluZVRhc2tRdWV1ZS5oYXNQZW5kaW5nVGFza3MoKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgbV9wZXJmb3JtYW5jZVRpbWVsaW5lVGFza1F1ZXVlLmVucXVldWVUYXNrKFt0
aGlzXSAoKSB7CisgICAgICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VPYnNlcnZlcj4+IG9i
c2VydmVyczsKKyAgICAgICAgY29weVRvVmVjdG9yKG1fb2JzZXJ2ZXJzLCBvYnNlcnZlcnMpOwor
ICAgICAgICBmb3IgKGF1dG8mIG9ic2VydmVyIDogb2JzZXJ2ZXJzKQorICAgICAgICAgICAgb2Jz
ZXJ2ZXItPmRlbGl2ZXIoKTsKKyAgICB9KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9USU1JTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgK
aW5kZXggMGZlZWJjYzZkNDcuLmY3NDE0ZmM2ZTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZS5oCkBAIC0zNyw2ICszNyw4IEBACiAjaW5jbHVkZSAiRE9NV2luZG93UHJvcGVydHkuaCIKICNp
bmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCisjaW5jbHVk
ZSAiR2VuZXJpY1Rhc2tRdWV1ZS5oIgorI2luY2x1ZGUgPHd0Zi9MaXN0SGFzaFNldC5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ0LDYgKzQ2LDcgQEAgY2xhc3MgRG9jdW1lbnQ7CiBj
bGFzcyBMb2FkVGltaW5nOwogY2xhc3MgUGVyZm9ybWFuY2VFbnRyeTsKIGNsYXNzIFBlcmZvcm1h
bmNlTmF2aWdhdGlvbjsKK2NsYXNzIFBlcmZvcm1hbmNlT2JzZXJ2ZXI7CiBjbGFzcyBQZXJmb3Jt
YW5jZVRpbWluZzsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBVUkw7CkBAIC02Nywx
NyArNzAsMjAgQEAgcHVibGljOgogCiAgICAgdm9pZCBhZGRSZXNvdXJjZVRpbWluZyhjb25zdCBT
dHJpbmcmIGluaXRpYXRvck5hbWUsIERvY3VtZW50KiwgY29uc3QgVVJMJiBvcmlnaW5hbFVSTCwg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IExvYWRUaW1pbmcmKTsKIAotICAgIHVzaW5n
IFJlZkNvdW50ZWQ6OnJlZjsKLSAgICB1c2luZyBSZWZDb3VudGVkOjpkZXJlZjsKLQogICAgIEV4
Y2VwdGlvbk9yPHZvaWQ+IG1hcmsoY29uc3QgU3RyaW5nJiBtYXJrTmFtZSk7CiAgICAgdm9pZCBj
bGVhck1hcmtzKGNvbnN0IFN0cmluZyYgbWFya05hbWUpOwogCiAgICAgRXhjZXB0aW9uT3I8dm9p
ZD4gbWVhc3VyZShjb25zdCBTdHJpbmcmIG1lYXN1cmVOYW1lLCBjb25zdCBTdHJpbmcmIHN0YXJ0
TWFyaywgY29uc3QgU3RyaW5nJiBlbmRNYXJrKTsKICAgICB2b2lkIGNsZWFyTWVhc3VyZXMoY29u
c3QgU3RyaW5nJiBtZWFzdXJlTmFtZSk7CiAKKyAgICB2b2lkIHJlZ2lzdGVyUGVyZm9ybWFuY2VP
YnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CisgICAgdm9pZCB1bnJlZ2lzdGVyUGVyZm9y
bWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CisKICAgICBzdGF0aWMgZG91Ymxl
IHJlZHVjZVRpbWVSZXNvbHV0aW9uKGRvdWJsZSBzZWNvbmRzKTsKIAorICAgIHVzaW5nIFJlZkNv
dW50ZWQ6OnJlZjsKKyAgICB1c2luZyBSZWZDb3VudGVkOjpkZXJlZjsKKwogcHJpdmF0ZToKICAg
ICBleHBsaWNpdCBQZXJmb3JtYW5jZShGcmFtZSYpOwogCkBAIC04OSw2ICs5NSw4IEBAIHByaXZh
dGU6CiAKICAgICBib29sIGlzUmVzb3VyY2VUaW1pbmdCdWZmZXJGdWxsKCkgY29uc3Q7CiAKKyAg
ICB2b2lkIHF1ZXVlRW50cnkoUGVyZm9ybWFuY2VFbnRyeSYpOworCiAgICAgbXV0YWJsZSBSZWZQ
dHI8UGVyZm9ybWFuY2VOYXZpZ2F0aW9uPiBtX25hdmlnYXRpb247CiAgICAgbXV0YWJsZSBSZWZQ
dHI8UGVyZm9ybWFuY2VUaW1pbmc+IG1fdGltaW5nOwogCkBAIC05OSw2ICsxMDcsOSBAQCBwcml2
YXRlOgogICAgIGRvdWJsZSBtX3JlZmVyZW5jZVRpbWU7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
VXNlclRpbWluZz4gbV91c2VyVGltaW5nOworCisgICAgR2VuZXJpY1Rhc2tRdWV1ZTxUaW1lcj4g
bV9wZXJmb3JtYW5jZVRpbWVsaW5lVGFza1F1ZXVlOworICAgIExpc3RIYXNoU2V0PFJlZlB0cjxQ
ZXJmb3JtYW5jZU9ic2VydmVyPj4gbV9vYnNlcnZlcnM7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAppbmRleCAwYTZjNWU5ODg4NS4uYTg1ZmJkYjVmOWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcApAQCAtMzMsMTMgKzMz
LDE2IEBACiAKICNpZiBFTkFCTEUoV0VCX1RJTUlORykKIAorI2luY2x1ZGUgIlJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QZXJmb3JtYW5jZUVudHJ5
OjpQZXJmb3JtYW5jZUVudHJ5KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBlbnRy
eVR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBmaW5pc2hUaW1lKQorUGVyZm9ybWFuY2VF
bnRyeTo6UGVyZm9ybWFuY2VFbnRyeShUeXBlIHR5cGUsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiBlbnRyeVR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBmaW5pc2hUaW1l
KQogICAgIDogbV9uYW1lKG5hbWUpCiAgICAgLCBtX2VudHJ5VHlwZShlbnRyeVR5cGUpCiAgICAg
LCBtX3N0YXJ0VGltZShzdGFydFRpbWUpCiAgICAgLCBtX2R1cmF0aW9uKGZpbmlzaFRpbWUgLSBz
dGFydFRpbWUpCisgICAgLCBtX3R5cGUodHlwZSkKIHsKIH0KIApAQCAtNDcsNiArNTAsMjYgQEAg
UGVyZm9ybWFuY2VFbnRyeTo6flBlcmZvcm1hbmNlRW50cnkoKQogewogfQogCitzdGQ6Om9wdGlv
bmFsPFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IFBlcmZvcm1hbmNlRW50cnk6OnBhcnNlRW50cnlU
eXBlU3RyaW5nKGNvbnN0IFN0cmluZyYgZW50cnlUeXBlKQoreworICAgIGlmIChlbnRyeVR5cGUg
PT0gIm5hdmlnYXRpb24iKQorICAgICAgICByZXR1cm4gc3RkOjpvcHRpb25hbDxUeXBlPihUeXBl
OjpOYXZpZ2F0aW9uKTsKKworICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLnVzZXJUaW1pbmdFbmFibGVkKCkpIHsKKyAgICAgICAgaWYgKGVudHJ5VHlwZSA9
PSAibWFyayIpCisgICAgICAgICAgICByZXR1cm4gc3RkOjpvcHRpb25hbDxUeXBlPihUeXBlOjpN
YXJrKTsKKyAgICAgICAgaWYgKGVudHJ5VHlwZSA9PSAibWVhc3VyZSIpCisgICAgICAgICAgICBy
ZXR1cm4gc3RkOjpvcHRpb25hbDxUeXBlPihUeXBlOjpNZWFzdXJlKTsKKyAgICB9CisKKyAgICBp
ZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5yZXNvdXJjZVRpbWlu
Z0VuYWJsZWQoKSkgeworICAgICAgICBpZiAoZW50cnlUeXBlID09ICJyZXNvdXJjZSIpCisgICAg
ICAgICAgICByZXR1cm4gc3RkOjpvcHRpb25hbDxUeXBlPihUeXBlOjpSZXNvdXJjZSk7CisgICAg
fQorCisgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9USU1JTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VFbnRyeS5oCmluZGV4IDY4YzEwMTk0YjMyLi43ZWJlZTZhNGMzYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpZiBFTkFCTEUo
V0VCX1RJTUlORykKIAogI2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCisjaW5jbHVkZSA8d3RmL09w
dGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvVHlw
ZUNhc3RzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC00OSw2ICs1MCwx
NyBAQCBwdWJsaWM6CiAgICAgZG91YmxlIHN0YXJ0VGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3Rh
cnRUaW1lOyB9CiAgICAgZG91YmxlIGR1cmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9kdXJhdGlv
bjsgfQogCisgICAgZW51bSBjbGFzcyBUeXBlIHsKKyAgICAgICAgTmF2aWdhdGlvbiA9IDEgPDwg
MCwKKyAgICAgICAgTWFyayA9IDEgPDwgMSwKKyAgICAgICAgTWVhc3VyZSA9IDEgPDwgMiwKKyAg
ICAgICAgUmVzb3VyY2UgPSAxIDw8IDMsCisgICAgfTsKKworICAgIFR5cGUgdHlwZSgpIGNvbnN0
IHsgcmV0dXJuIG1fdHlwZTsgfQorCisgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8VHlwZT4gcGFy
c2VFbnRyeVR5cGVTdHJpbmcoY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUpOworCiAgICAgdmlydHVh
bCBib29sIGlzUmVzb3VyY2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCBpc01hcmsoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBp
c01lYXN1cmUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAtNTksMTMgKzcxLDE0IEBAIHB1
YmxpYzoKICAgICB9CiAKIHByb3RlY3RlZDoKLSAgICBQZXJmb3JtYW5jZUVudHJ5KGNvbnN0IFN0
cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRv
dWJsZSBmaW5pc2hUaW1lKTsKKyAgICBQZXJmb3JtYW5jZUVudHJ5KFR5cGUsIGNvbnN0IFN0cmlu
ZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJs
ZSBmaW5pc2hUaW1lKTsKIAogcHJpdmF0ZToKICAgICBjb25zdCBTdHJpbmcgbV9uYW1lOwogICAg
IGNvbnN0IFN0cmluZyBtX2VudHJ5VHlwZTsKICAgICBjb25zdCBkb3VibGUgbV9zdGFydFRpbWU7
CiAgICAgY29uc3QgZG91YmxlIG1fZHVyYXRpb247CisgICAgY29uc3QgVHlwZSBtX3R5cGU7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlTWFyay5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1h
cmsuaAppbmRleCA0ZmE5YWNlMzE2Yy4uNTI4YmExOTk2NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VNYXJrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZU1hcmsuaApAQCAtMzksNyArMzksMTEgQEAgcHVibGljOgogICAgIGJvb2wgaXNN
YXJrKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIAogcHJpdmF0ZToKLSAg
ICBQZXJmb3JtYW5jZU1hcmsoY29uc3QgU3RyaW5nJiBuYW1lLCBkb3VibGUgc3RhcnRUaW1lKSA6
IFBlcmZvcm1hbmNlRW50cnkobmFtZSwgQVNDSUlMaXRlcmFsKCJtYXJrIiksIHN0YXJ0VGltZSwg
c3RhcnRUaW1lKSB7IH0KKyAgICBQZXJmb3JtYW5jZU1hcmsoY29uc3QgU3RyaW5nJiBuYW1lLCBk
b3VibGUgc3RhcnRUaW1lKQorICAgICAgICA6IFBlcmZvcm1hbmNlRW50cnkoUGVyZm9ybWFuY2VF
bnRyeTo6VHlwZTo6TWFyaywgbmFtZSwgQVNDSUlMaXRlcmFsKCJtYXJrIiksIHN0YXJ0VGltZSwg
c3RhcnRUaW1lKQorICAgIHsKKyAgICB9CisKICAgICB+UGVyZm9ybWFuY2VNYXJrKCkgeyB9CiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTWVhc3VyZS5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1lYXN1cmUuaAppbmRleCBmMTIwZDkw
MDk2ZS4uY2RiMGI2YzU4OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VNZWFzdXJlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1lYXN1
cmUuaApAQCAtMzksNyArMzksMTEgQEAgcHVibGljOgogICAgIGJvb2wgaXNNZWFzdXJlKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogCiBwcml2YXRlOgotICAgIFBlcmZvcm1hbmNl
TWVhc3VyZShjb25zdCBTdHJpbmcmIG5hbWUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBkdXJh
dGlvbikgOiBQZXJmb3JtYW5jZUVudHJ5KG5hbWUsIEFTQ0lJTGl0ZXJhbCgibWVhc3VyZSIpLCBz
dGFydFRpbWUsIGR1cmF0aW9uKSB7IH0KKyAgICBQZXJmb3JtYW5jZU1lYXN1cmUoY29uc3QgU3Ry
aW5nJiBuYW1lLCBkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgZHVyYXRpb24pCisgICAgICAgIDog
UGVyZm9ybWFuY2VFbnRyeShQZXJmb3JtYW5jZUVudHJ5OjpUeXBlOjpNZWFzdXJlLCBuYW1lLCBB
U0NJSUxpdGVyYWwoIm1lYXN1cmUiKSwgc3RhcnRUaW1lLCBkdXJhdGlvbikKKyAgICB7CisgICAg
fQorCiAgICAgflBlcmZvcm1hbmNlTWVhc3VyZSgpIHsgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAuLjQ0YWUzZjU2Mjg3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcApAQCAtMCwwICsxLDEwNiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZU9ic2VydmVy
LmgiCisKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKKworI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgor
I2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1
ZGUgIlBlcmZvcm1hbmNlLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlz
dC5oIgorI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworUGVyZm9ybWFuY2VPYnNlcnZlcjo6UGVyZm9ybWFuY2VPYnNlcnZlcihTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBSZWY8UGVyZm9ybWFuY2VPYnNl
cnZlckNhbGxiYWNrPiYmIGNhbGxiYWNrKQorICAgIDogbV9jYWxsYmFjayhXVEZNb3ZlKGNhbGxi
YWNrKSkKK3sKKyAgICBpZiAoaXM8RG9jdW1lbnQ+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpKSB7
CisgICAgICAgIGF1dG8mIGRvY3VtZW50ID0gZG93bmNhc3Q8RG9jdW1lbnQ+KHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQpOworICAgICAgICBpZiAoRE9NV2luZG93KiB3aW5kb3cgPSBkb2N1bWVudC5k
b21XaW5kb3coKSkKKyAgICAgICAgICAgIG1fcGVyZm9ybWFuY2UgPSB3aW5kb3ctPnBlcmZvcm1h
bmNlKCk7CisgICAgfSBlbHNlIGlmIChpczxXb3JrZXJHbG9iYWxTY29wZT4oc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCkpIHsKKyAgICAgICAgLy8gRklYTUU6IFN1cHBvcnQgUGVyZm9ybWFuY2UgVGlt
ZWxpbmUgZm9yIFdvcmtlcnMuCisgICAgfSBlbHNlCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworfQorCitFeGNlcHRpb25Pcjx2b2lkPiBQZXJmb3JtYW5jZU9ic2VydmVyOjpvYnNlcnZl
KEluaXQmJiBpbml0KQoreworICAgIGlmICghbV9wZXJmb3JtYW5jZSkKKyAgICAgICAgcmV0dXJu
IEV4Y2VwdGlvbiB7IFR5cGVFcnJvciB9OworCisgICAgaWYgKGluaXQuZW50cnlUeXBlcy5pc0Vt
cHR5KCkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJh
bCgiZW50cnlUeXBlcyBjYW5ub3QgYmUgYW4gZW1wdHkgbGlzdCIpIH07CisKKyAgICBPcHRpb25T
ZXQ8UGVyZm9ybWFuY2VFbnRyeTo6VHlwZT4gZmlsdGVyOworICAgIGZvciAoY29uc3QgU3RyaW5n
JiBlbnRyeVR5cGUgOiBpbml0LmVudHJ5VHlwZXMpIHsKKyAgICAgICAgaWYgKGF1dG8gdHlwZSA9
IFBlcmZvcm1hbmNlRW50cnk6OnBhcnNlRW50cnlUeXBlU3RyaW5nKGVudHJ5VHlwZSkpCisgICAg
ICAgICAgICBmaWx0ZXIgfD0gKnR5cGU7CisgICAgfQorCisgICAgaWYgKGZpbHRlci5pc0VtcHR5
KCkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgi
ZW50cnlUeXBlcyBjb250YWluZWQgb25seSB1bnN1cHBvcnRlZCB0eXBlcyIpIH07CisKKyAgICBt
X3R5cGVGaWx0ZXIgPSBmaWx0ZXI7CisKKyAgICBpZiAoIW1fcmVnaXN0ZXJlZCkgeworICAgICAg
ICBtX3BlcmZvcm1hbmNlLT5yZWdpc3RlclBlcmZvcm1hbmNlT2JzZXJ2ZXIoKnRoaXMpOworICAg
ICAgICBtX3JlZ2lzdGVyZWQgPSB0cnVlOworICAgIH0KKworICAgIHJldHVybiB7IH07Cit9CisK
K3ZvaWQgUGVyZm9ybWFuY2VPYnNlcnZlcjo6ZGlzY29ubmVjdCgpCit7CisgICAgaWYgKG1fcGVy
Zm9ybWFuY2UpCisgICAgICAgIG1fcGVyZm9ybWFuY2UtPnVucmVnaXN0ZXJQZXJmb3JtYW5jZU9i
c2VydmVyKCp0aGlzKTsKKworICAgIG1fcmVnaXN0ZXJlZCA9IGZhbHNlOworICAgIG1fZW50cmll
c1RvRGVsaXZlci5jbGVhcigpOworfQorCit2b2lkIFBlcmZvcm1hbmNlT2JzZXJ2ZXI6OnF1ZXVl
RW50cnkoUGVyZm9ybWFuY2VFbnRyeSYgZW50cnkpCit7CisgICAgbV9lbnRyaWVzVG9EZWxpdmVy
LmFwcGVuZCgmZW50cnkpOworfQorCit2b2lkIFBlcmZvcm1hbmNlT2JzZXJ2ZXI6OmRlbGl2ZXIo
KQoreworICAgIGlmIChtX2VudHJpZXNUb0RlbGl2ZXIuaXNFbXB0eSgpKQorICAgICAgICByZXR1
cm47CisKKyAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBlbnRyaWVzID0gV1RG
TW92ZShtX2VudHJpZXNUb0RlbGl2ZXIpOworICAgIGF1dG8gbGlzdCA9IFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXJFbnRyeUxpc3Q6OmNyZWF0ZShXVEZNb3ZlKGVudHJpZXMpKTsKKyAgICBtX2NhbGxiYWNr
LT5oYW5kbGVFdmVudChsaXN0LnB0cigpLCB0aGlzKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9USU1JTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VPYnNlcnZlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwLi5mMTdmYzczZDVjOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VPYnNlcnZlci5oCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfVElNSU5HKQorCisjaW5jbHVkZSAiRXhjZXB0aW9u
T3IuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFu
Y2VPYnNlcnZlckNhbGxiYWNrLmgiCisjaW5jbHVkZSA8d3RmL09wdGlvblNldC5oPgorI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFBl
cmZvcm1hbmNlOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKworY2xhc3MgUGVyZm9y
bWFuY2VPYnNlcnZlciA6IHB1YmxpYyBSZWZDb3VudGVkPFBlcmZvcm1hbmNlT2JzZXJ2ZXI+IHsK
K3B1YmxpYzoKKyAgICBzdHJ1Y3QgSW5pdCB7CisgICAgICAgIFZlY3RvcjxTdHJpbmc+IGVudHJ5
VHlwZXM7CisgICAgfTsKKworICAgIHN0YXRpYyBSZWY8UGVyZm9ybWFuY2VPYnNlcnZlcj4gY3Jl
YXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJlZjxQZXJmb3JtYW5jZU9ic2Vy
dmVyQ2FsbGJhY2s+JiYgY2FsbGJhY2spCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGNvbnRleHQsIFdURk1vdmUoY2FsbGJhY2spKSk7Cisg
ICAgfQorCisgICAgRXhjZXB0aW9uT3I8dm9pZD4gb2JzZXJ2ZShJbml0JiYpOworICAgIHZvaWQg
ZGlzY29ubmVjdCgpOworCisgICAgT3B0aW9uU2V0PFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IHR5
cGVGaWx0ZXIoKSBjb25zdCB7IHJldHVybiBtX3R5cGVGaWx0ZXI7IH0KKworICAgIHZvaWQgcXVl
dWVFbnRyeShQZXJmb3JtYW5jZUVudHJ5Jik7CisgICAgdm9pZCBkZWxpdmVyKCk7CisKK3ByaXZh
dGU6CisgICAgUGVyZm9ybWFuY2VPYnNlcnZlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVm
PFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjaz4mJik7CisKKyAgICBSZWZQdHI8UGVyZm9ybWFu
Y2U+IG1fcGVyZm9ybWFuY2U7CisgICAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4g
bV9lbnRyaWVzVG9EZWxpdmVyOworICAgIFJlZjxQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2s+
IG1fY2FsbGJhY2s7CisgICAgT3B0aW9uU2V0PFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IG1fdHlw
ZUZpbHRlcjsKKyAgICBib29sIG1fcmVnaXN0ZXJlZCB7IGZhbHNlIH07Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1RJTUlORykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwLi41ODgzMzRlNzA2ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKQEAgLTAsMCArMSw0NCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJmb3JtYW5jZS10aW1lbGlu
ZS8KKworWworICAgIENvbmRpdGlvbmFsPVdFQl9USU1JTkcsCisgICAgQ29uc3RydWN0b3IoUGVy
Zm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrIGNhbGxiYWNrKSwKKyAgICBDb25zdHJ1Y3RvckNhbGxX
aXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsCisgICAgRW5hYmxlZEF0UnVudGltZT1QZXJmb3Jt
YW5jZVRpbWVsaW5lLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCitdIGludGVyZmFj
ZSBQZXJmb3JtYW5jZU9ic2VydmVyIHsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgb2Jz
ZXJ2ZShQZXJmb3JtYW5jZU9ic2VydmVySW5pdCBvcHRpb25zKTsKKyAgICB2b2lkIGRpc2Nvbm5l
Y3QoKTsKK307CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJfVElNSU5HLAorXQorZGljdGlvbmFy
eSBQZXJmb3JtYW5jZU9ic2VydmVySW5pdCB7CisgICAgcmVxdWlyZWQgc2VxdWVuY2U8RE9NU3Ry
aW5nPiBlbnRyeVR5cGVzOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlT2JzZXJ2ZXJDYWxsYmFjay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwLi45MTM1YzM5ODQ4NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9USU1JTkcpCisKKyNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFBlcmZvcm1h
bmNlT2JzZXJ2ZXI7CitjbGFzcyBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0OworCitjbGFz
cyBQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxQZXJmb3Jt
YW5jZU9ic2VydmVyQ2FsbGJhY2s+IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5QZXJmb3JtYW5j
ZU9ic2VydmVyQ2FsbGJhY2soKSB7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlRXZlbnQoUGVy
Zm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCosIFBlcmZvcm1hbmNlT2JzZXJ2ZXIqKSA9IDA7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1RJTUlO
RykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckNh
bGxiYWNrLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxi
YWNrLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uY2M5YTFkY2Y4
N2EKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXJDYWxsYmFjay5pZGwKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBz
Oi8vdzNjLmdpdGh1Yi5pby9wZXJmb3JtYW5jZS10aW1lbGluZS8KKworWworICAgIENvbmRpdGlv
bmFsPVdFQl9USU1JTkcsCitdIGNhbGxiYWNrIFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjayA9
IHZvaWQgKFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QgZW50cmllcywgUGVyZm9ybWFuY2VP
YnNlcnZlciBvYnNlcnZlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyRW50cnlMaXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMC4uYTg2MzUyNzJiMGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuY3BwCkBAIC0wLDAgKzEsODAgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VPYnNl
cnZlckVudHJ5TGlzdC5oIgorCisjaWYgRU5BQkxFKFdFQl9USU1JTkcpCisKKyNpbmNsdWRlICJQ
ZXJmb3JtYW5jZUVudHJ5LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPFBlcmZvcm1h
bmNlT2JzZXJ2ZXJFbnRyeUxpc3Q+IFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Q6OmNyZWF0
ZShWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiYmIGVudHJpZXMpCit7CisgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdChXVEZNb3ZlKGVu
dHJpZXMpKSk7Cit9CisKK1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Q6OlBlcmZvcm1hbmNl
T2JzZXJ2ZXJFbnRyeUxpc3QoVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4mJiBlbnRy
aWVzKQorICAgIDogbV9lbnRyaWVzKFdURk1vdmUoZW50cmllcykpCit7CisgICAgQVNTRVJUKCFt
X2VudHJpZXMuaXNFbXB0eSgpKTsKKworICAgIHN0ZDo6c3RhYmxlX3NvcnQobV9lbnRyaWVzLmJl
Z2luKCksIG1fZW50cmllcy5lbmQoKSwgUGVyZm9ybWFuY2VFbnRyeTo6c3RhcnRUaW1lQ29tcGFy
ZUxlc3NUaGFuKTsKK30KKworVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9y
bWFuY2VPYnNlcnZlckVudHJ5TGlzdDo6Z2V0RW50cmllc0J5VHlwZShjb25zdCBTdHJpbmcmIGVu
dHJ5VHlwZSkgY29uc3QKK3sKKyAgICByZXR1cm4gZ2V0RW50cmllc0J5TmFtZShTdHJpbmcoKSwg
ZW50cnlUeXBlKTsKK30KKworVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9y
bWFuY2VPYnNlcnZlckVudHJ5TGlzdDo6Z2V0RW50cmllc0J5TmFtZShjb25zdCBTdHJpbmcmIG5h
bWUsIGNvbnN0IFN0cmluZyYgZW50cnlUeXBlKSBjb25zdAoreworICAgIFZlY3RvcjxSZWZQdHI8
UGVyZm9ybWFuY2VFbnRyeT4+IGVudHJpZXM7CisKKyAgICAvLyBQZXJmb3JtYW5jZU9ic2VydmVy
cyBjYW4gb25seSBiZSByZWdpc3RlcmVkIGZvciB2YWxpZCB0eXBlcy4KKyAgICAvLyBTbyBpZiB0
aGUgaW5jb21pbmcgZW50cnlUeXBlIGlzIGFuIHVua25vd24gdHlwZSwgdGhlcmUgd2lsbCBiZSBu
byBtYXRjaGVzLgorICAgIFBlcmZvcm1hbmNlRW50cnk6OlR5cGUgdHlwZTsKKyAgICBpZiAoIWVu
dHJ5VHlwZS5pc051bGwoKSkgeworICAgICAgICBhdXRvIG9wdGlvbmFsID0gUGVyZm9ybWFuY2VF
bnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJpbmcoZW50cnlUeXBlKTsKKyAgICAgICAgaWYgKCFvcHRp
b25hbCkKKyAgICAgICAgICAgIHJldHVybiBlbnRyaWVzOworICAgICAgICB0eXBlID0gb3B0aW9u
YWwudmFsdWUoKTsKKyAgICB9CisKKyAgICBmb3IgKGF1dG8mIGVudHJ5IDogbV9lbnRyaWVzKSB7
CisgICAgICAgIGlmICghbmFtZS5pc051bGwoKSAmJiBlbnRyeS0+bmFtZSgpICE9IG5hbWUpCisg
ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgaWYgKCFlbnRyeVR5cGUuaXNOdWxsKCkgJiYg
ZW50cnktPnR5cGUoKSAhPSB0eXBlKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIGVu
dHJpZXMuYXBwZW5kKGVudHJ5LmNvcHlSZWYoKSk7CisgICAgfQorCisgICAgcmV0dXJuIGVudHJp
ZXM7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJf
VElNSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2Vy
dmVyRW50cnlMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJF
bnRyeUxpc3QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uM2FmNjkw
Y2E3NGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
T2JzZXJ2ZXJFbnRyeUxpc3QuaApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKKworI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0
cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFBlcmZvcm1hbmNlRW50cnk7
CisKK2NsYXNzIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QgOiBwdWJsaWMgUmVmQ291bnRl
ZDxQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0PiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlM
aXN0PiBjcmVhdGUoVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4mJiBlbnRyaWVzKTsK
KworICAgIGNvbnN0IFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+JiBnZXRFbnRyaWVz
KCkgY29uc3QgeyByZXR1cm4gbV9lbnRyaWVzOyB9CisgICAgVmVjdG9yPFJlZlB0cjxQZXJmb3Jt
YW5jZUVudHJ5Pj4gZ2V0RW50cmllc0J5VHlwZShjb25zdCBTdHJpbmcmIGVudHJ5VHlwZSkgY29u
c3Q7CisgICAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gZ2V0RW50cmllc0J5TmFt
ZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZW50cnlUeXBlKSBjb25zdDsKKwor
cHJpdmF0ZToKKyAgICBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0KFZlY3RvcjxSZWZQdHI8
UGVyZm9ybWFuY2VFbnRyeT4+JiYgZW50cmllcyk7CisKKyAgICBWZWN0b3I8UmVmUHRyPFBlcmZv
cm1hbmNlRW50cnk+PiBtX2VudHJpZXM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoV0VCX1RJTUlORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwLi4wZWU3MDQwZjNmNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwKQEAgLTAsMCAr
MSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJmb3JtYW5j
ZS10aW1lbGluZS8KKworWworICAgIENvbmRpdGlvbmFsPVdFQl9USU1JTkcsCisgICAgRW5hYmxl
ZEF0UnVudGltZT1QZXJmb3JtYW5jZVRpbWVsaW5lLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUsCitdIGludGVyZmFjZSBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0IHsKKyAgICBQ
ZXJmb3JtYW5jZUVudHJ5TGlzdCBnZXRFbnRyaWVzKCk7CisgICAgUGVyZm9ybWFuY2VFbnRyeUxp
c3QgZ2V0RW50cmllc0J5VHlwZShET01TdHJpbmcgdHlwZSk7CisgICAgUGVyZm9ybWFuY2VFbnRy
eUxpc3QgZ2V0RW50cmllc0J5TmFtZShET01TdHJpbmcgbmFtZSwgb3B0aW9uYWwgRE9NU3RyaW5n
IHR5cGUpOworfTsKKwordHlwZWRlZiBzZXF1ZW5jZTxQZXJmb3JtYW5jZUVudHJ5PiBQZXJmb3Jt
YW5jZUVudHJ5TGlzdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuY3BwCmluZGV4IDBhMzIzM2JkZmYxLi42NzY5ZTFkNTNmNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwCkBAIC03
Niw3ICs3Niw3IEBAIHN0YXRpYyBib29sIHBhc3Nlc1RpbWluZ0FsbG93Q2hlY2soY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIERvY3VtZW50KiByCiB9CiAKIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmc6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcoY29uc3QgQXRvbWljU3RyaW5n
JiBpbml0aWF0b3JUeXBlLCBjb25zdCBVUkwmIG9yaWdpbmFsVVJMLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiByZXNwb25zZSwgTG9hZFRpbWluZyBsb2FkVGltaW5nLCBEb2N1bWVudCogcmVxdWVz
dGluZ0RvY3VtZW50KQotICAgIDogUGVyZm9ybWFuY2VFbnRyeShvcmlnaW5hbFVSTC5zdHJpbmco
KSwgQVNDSUlMaXRlcmFsKCJyZXNvdXJjZSIpLCBtb25vdG9uaWNUaW1lVG9Eb2N1bWVudE1pbGxp
c2Vjb25kcyhyZXF1ZXN0aW5nRG9jdW1lbnQsIGxvYWRUaW1pbmcuc3RhcnRUaW1lKCkpLCBtb25v
dG9uaWNUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhyZXF1ZXN0aW5nRG9jdW1lbnQsIGxvYWRU
aW1pbmcucmVzcG9uc2VFbmQoKSkpCisgICAgOiBQZXJmb3JtYW5jZUVudHJ5KFBlcmZvcm1hbmNl
RW50cnk6OlR5cGU6OlJlc291cmNlLCBvcmlnaW5hbFVSTC5zdHJpbmcoKSwgQVNDSUlMaXRlcmFs
KCJyZXNvdXJjZSIpLCBtb25vdG9uaWNUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhyZXF1ZXN0
aW5nRG9jdW1lbnQsIGxvYWRUaW1pbmcuc3RhcnRUaW1lKCkpLCBtb25vdG9uaWNUaW1lVG9Eb2N1
bWVudE1pbGxpc2Vjb25kcyhyZXF1ZXN0aW5nRG9jdW1lbnQsIGxvYWRUaW1pbmcucmVzcG9uc2VF
bmQoKSkpCiAgICAgLCBtX2luaXRpYXRvclR5cGUoaW5pdGlhdG9yVHlwZSkKICAgICAsIG1fdGlt
aW5nKHJlc3BvbnNlLm5ldHdvcmtMb2FkVGltaW5nKCkpCiAgICAgLCBtX2xvYWRUaW1pbmcobG9h
ZFRpbWluZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VVc2Vy
VGltaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VVc2VyVGltaW5nLmNw
cAppbmRleCBhYmJlOTUwYjg4NS4uN2I5NDAwZDlkZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VVc2VyVGltaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlVXNlclRpbWluZy5jcHAKQEAgLTMwLDkgKzMwLDYgQEAKIAogI2luY2x1
ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgotI2luY2x1ZGUg
IlBlcmZvcm1hbmNlRW50cnkuaCIKLSNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIKLSNpbmNs
dWRlICJQZXJmb3JtYW5jZU1lYXN1cmUuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVRpbWluZy5o
IgogI2luY2x1ZGUgPGFycmF5PgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgpAQCAt
OTgsMTUgKzk1LDE1IEBAIHN0YXRpYyB2b2lkIGNsZWFyUGVyZm9ybWFuY2VFbnRyaWVzKFBlcmZv
cm1hbmNlRW50cnlNYXAmIHBlcmZvcm1hbmNlRW50cnlNYXAsIGNvCiAgICAgcGVyZm9ybWFuY2VF
bnRyeU1hcC5yZW1vdmUobmFtZSk7CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IFVzZXJUaW1pbmc6
Om1hcmsoY29uc3QgU3RyaW5nJiBtYXJrTmFtZSkKK0V4Y2VwdGlvbk9yPFJlZjxQZXJmb3JtYW5j
ZU1hcms+PiBVc2VyVGltaW5nOjptYXJrKGNvbnN0IFN0cmluZyYgbWFya05hbWUpCiB7CiAgICAg
aWYgKHJlc3RyaWN0ZWRNYXJrRnVuY3Rpb24obWFya05hbWUpKQogICAgICAgICByZXR1cm4gRXhj
ZXB0aW9uIHsgU1lOVEFYX0VSUiB9OwogCiAgICAgYXV0byYgcGVyZm9ybWFuY2VFbnRyeUxpc3Qg
PSBtX21hcmtzTWFwLmVuc3VyZShtYXJrTmFtZSwgW10geyByZXR1cm4gVmVjdG9yPFJlZlB0cjxQ
ZXJmb3JtYW5jZUVudHJ5Pj4oKTsgfSkuaXRlcmF0b3ItPnZhbHVlOwotICAgIHBlcmZvcm1hbmNl
RW50cnlMaXN0LmFwcGVuZChQZXJmb3JtYW5jZU1hcms6OmNyZWF0ZShtYXJrTmFtZSwgbV9wZXJm
b3JtYW5jZS5ub3coKSkpOwotCi0gICAgcmV0dXJuIHsgfTsKKyAgICBhdXRvIGVudHJ5ID0gUGVy
Zm9ybWFuY2VNYXJrOjpjcmVhdGUobWFya05hbWUsIG1fcGVyZm9ybWFuY2Uubm93KCkpOworICAg
IHBlcmZvcm1hbmNlRW50cnlMaXN0LmFwcGVuZChlbnRyeS5jb3B5UmVmKCkpOworICAgIHJldHVy
biBXVEZNb3ZlKGVudHJ5KTsKIH0KIAogdm9pZCBVc2VyVGltaW5nOjpjbGVhck1hcmtzKGNvbnN0
IFN0cmluZyYgbWFya05hbWUpCkBAIC0xMjksNyArMTI2LDcgQEAgRXhjZXB0aW9uT3I8ZG91Ymxl
PiBVc2VyVGltaW5nOjpmaW5kRXhpc3RpbmdNYXJrU3RhcnRUaW1lKGNvbnN0IFN0cmluZyYgbWFy
a05hbWUKICAgICByZXR1cm4gRXhjZXB0aW9uIHsgU1lOVEFYX0VSUiB9OwogfQogCi1FeGNlcHRp
b25Pcjx2b2lkPiBVc2VyVGltaW5nOjptZWFzdXJlKGNvbnN0IFN0cmluZyYgbWVhc3VyZU5hbWUs
IGNvbnN0IFN0cmluZyYgc3RhcnRNYXJrLCBjb25zdCBTdHJpbmcmIGVuZE1hcmspCitFeGNlcHRp
b25PcjxSZWY8UGVyZm9ybWFuY2VNZWFzdXJlPj4gVXNlclRpbWluZzo6bWVhc3VyZShjb25zdCBT
dHJpbmcmIG1lYXN1cmVOYW1lLCBjb25zdCBTdHJpbmcmIHN0YXJ0TWFyaywgY29uc3QgU3RyaW5n
JiBlbmRNYXJrKQogewogICAgIGRvdWJsZSBzdGFydFRpbWUgPSAwLjA7CiAgICAgZG91YmxlIGVu
ZFRpbWUgPSAwLjA7CkBAIC0xNTQsOSArMTUxLDkgQEAgRXhjZXB0aW9uT3I8dm9pZD4gVXNlclRp
bWluZzo6bWVhc3VyZShjb25zdCBTdHJpbmcmIG1lYXN1cmVOYW1lLCBjb25zdCBTdHJpbmcmIHMK
ICAgICB9CiAKICAgICBhdXRvJiBwZXJmb3JtYW5jZUVudHJ5TGlzdCA9IG1fbWVhc3VyZXNNYXAu
ZW5zdXJlKG1lYXN1cmVOYW1lLCBbXSB7IHJldHVybiBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNl
RW50cnk+PigpOyB9KS5pdGVyYXRvci0+dmFsdWU7Ci0gICAgcGVyZm9ybWFuY2VFbnRyeUxpc3Qu
YXBwZW5kKFBlcmZvcm1hbmNlTWVhc3VyZTo6Y3JlYXRlKG1lYXN1cmVOYW1lLCBzdGFydFRpbWUs
IGVuZFRpbWUpKTsKLQotICAgIHJldHVybiB7IH07CisgICAgYXV0byBlbnRyeSA9IFBlcmZvcm1h
bmNlTWVhc3VyZTo6Y3JlYXRlKG1lYXN1cmVOYW1lLCBzdGFydFRpbWUsIGVuZFRpbWUpOworICAg
IHBlcmZvcm1hbmNlRW50cnlMaXN0LmFwcGVuZChlbnRyeS5jb3B5UmVmKCkpOworICAgIHJldHVy
biBXVEZNb3ZlKGVudHJ5KTsKIH0KIAogdm9pZCBVc2VyVGltaW5nOjpjbGVhck1lYXN1cmVzKGNv
bnN0IFN0cmluZyYgbWVhc3VyZU5hbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlVXNlclRpbWluZy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZVVzZXJUaW1pbmcuaAppbmRleCA1NzRlMTI0MTVkOC4uNzgzMTM3Mzc4YTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VVc2VyVGltaW5nLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVVzZXJUaW1pbmcuaApAQCAtMjgsMTMgKzI4LDE0IEBA
CiAjaWYgRU5BQkxFKFdFQl9USU1JTkcpCiAKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgorI2lu
Y2x1ZGUgIlBlcmZvcm1hbmNlTWFyay5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlTWVhc3VyZS5o
IgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFz
aC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBlcmZvcm1hbmNlOwotY2xhc3Mg
UGVyZm9ybWFuY2VFbnRyeTsKIAogdXNpbmcgUGVyZm9ybWFuY2VFbnRyeU1hcCA9IEhhc2hNYXA8
U3RyaW5nLCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+Pj47CiAKQEAgLTQyLDEwICs0
MywxMCBAQCBjbGFzcyBVc2VyVGltaW5nIHsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBVc2VyVGlt
aW5nKFBlcmZvcm1hbmNlJik7CiAKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBtYXJrKGNvbnN0IFN0
cmluZyYgbWFya05hbWUpOworICAgIEV4Y2VwdGlvbk9yPFJlZjxQZXJmb3JtYW5jZU1hcms+PiBt
YXJrKGNvbnN0IFN0cmluZyYgbWFya05hbWUpOwogICAgIHZvaWQgY2xlYXJNYXJrcyhjb25zdCBT
dHJpbmcmIG1hcmtOYW1lKTsKIAotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IG1lYXN1cmUoY29uc3Qg
U3RyaW5nJiBtZWFzdXJlTmFtZSwgY29uc3QgU3RyaW5nJiBzdGFydE1hcmssIGNvbnN0IFN0cmlu
ZyYgZW5kTWFyayk7CisgICAgRXhjZXB0aW9uT3I8UmVmPFBlcmZvcm1hbmNlTWVhc3VyZT4+IG1l
YXN1cmUoY29uc3QgU3RyaW5nJiBtZWFzdXJlTmFtZSwgY29uc3QgU3RyaW5nJiBzdGFydE1hcmss
IGNvbnN0IFN0cmluZyYgZW5kTWFyayk7CiAgICAgdm9pZCBjbGVhck1lYXN1cmVzKGNvbnN0IFN0
cmluZyYgbWVhc3VyZU5hbWUpOwogCiAgICAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5
Pj4gZ2V0TWFya3MoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGI4YzYzYTc0
MGVhLi42NWM0MTJkN2NiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTctMDEtMzAgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKwor
ICAgICAgICBJbXBsZW1lbnQgUGVyZm9ybWFuY2VPYnNlcnZlcgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3NTQ2CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8zMDI0Nzk1OT4KKworICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9OYXRpdmVGdW5jdGlvblBhcmFtZXRlcnMuanM6
CisgICAgICAgIEltcHJvdmUgQVBJIHZpZXcgZGlzcGxheSBvZiBidWlsdC1pbiBwZXJmb3JtYW5j
ZSBtZXRob2RzLgorCiAyMDE3LTAxLTMwICBNYXR0IEJha2VyICA8bWF0dGJha2VyQGFwcGxlLmNv
bT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBOZWVkIHNvbWUgbGltaXQgb24gQXN5bmMgQ2Fs
bCBTdGFja3MgZm9yIGFzeW5jIGxvb3BzIChyQUYgbG9vcHMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvTmF0aXZlRnVuY3Rpb25QYXJhbWV0
ZXJzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL05hdGl2
ZUZ1bmN0aW9uUGFyYW1ldGVycy5qcwppbmRleCA4ZWE3MjRhNjk2Mi4uOWJhNTBhMjNhOTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9OYXRp
dmVGdW5jdGlvblBhcmFtZXRlcnMuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL05hdGl2ZUZ1bmN0aW9uUGFyYW1ldGVycy5qcwpAQCAtMTIzMSw2ICsx
MjMxLDI3IEBAIFdlYkluc3BlY3Rvci5OYXRpdmVQcm90b3R5cGVGdW5jdGlvblBhcmFtZXRlcnMg
PSB7CiAgICAgICAgIF9fcHJvdG9fXzogbnVsbCwKICAgICB9LAogCisgICAgUGVyZm9ybWFuY2U6
IHsKKyAgICAgICAgY2xlYXJNYXJrczogIltuYW1lXSIsCisgICAgICAgIGNsZWFyTWVhc3VyZXM6
ICJuYW1lIiwKKyAgICAgICAgZ2V0RW50cmllc0J5TmFtZTogIm5hbWUsIFt0eXBlXSIsCisgICAg
ICAgIGdldEVudHJpZXNCeVR5cGU6ICJ0eXBlIiwKKyAgICAgICAgbWFyazogIm5hbWUiLAorICAg
ICAgICBtZWFzdXJlOiAibmFtZSwgW3N0YXJ0TWFya10sIFtlbmRNYXJrXSIsCisgICAgICAgIF9f
cHJvdG9fXzogbnVsbCwKKyAgICB9LAorCisgICAgUGVyZm9ybWFuY2VPYnNlcnZlcjogeworICAg
ICAgICBvYnNlcnZlOiAib3B0aW9ucyIsCisgICAgICAgIF9fcHJvdG9fXzogbnVsbCwKKyAgICB9
LAorCisgICAgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdDogeworICAgICAgICBnZXRFbnRy
aWVzQnlOYW1lOiAibmFtZSwgW3R5cGVdIiwKKyAgICAgICAgZ2V0RW50cmllc0J5VHlwZTogInR5
cGUiLAorICAgICAgICBfX3Byb3RvX186IG51bGwsCisgICAgfSwKKwogICAgIFBsdWdpbjogewog
ICAgICAgICBpdGVtOiAiW2luZGV4XSIsCiAgICAgICAgIG5hbWVkSXRlbTogIltuYW1lXSIsCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300184</attachid>
            <date>2017-01-30 21:25:11 -0800</date>
            <delta_ts>2017-01-30 21:25:33 -0800</delta_ts>
            <desc>[PATCH] For Bots</desc>
            <filename>be-the-one-1.patch</filename>
            <type>text/plain</type>
            <size>133959</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmYWIwZTk5OTQ3ZC4uNGM4MzcyODY4ZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NCBAQAor
MjAxNy0wMS0zMCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAg
ICAgIEltcGxlbWVudCBQZXJmb3JtYW5jZU9ic2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc1NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzMwMjQ3OTU5PgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAg
ICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1hcGktZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIt
YXBpLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1v
YnNlcnZlci1iYXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNl
LWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1iYXNpYy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBw
ZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItY2FsbGJhY2stbXV0YXRlLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9i
c2VydmVyLWNhbGxiYWNrLW11dGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5j
ZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItY2FsbGJhY2stdGFzay1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1jYWxs
YmFjay10YXNrLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3Jt
YW5jZS1vYnNlcnZlci1lbnRyeS1zb3J0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWVudHJ5LXNvcnQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWV4Y2Vw
dGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJm
b3JtYW5jZS1vYnNlcnZlci1leGNlcHRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9y
bWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLW5lc3RlZC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1uZXN0ZWQu
aHRtbDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2Vy
dmVyLW9yZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZm9ybWFuY2UtYXBp
L3BlcmZvcm1hbmNlLW9ic2VydmVyLW9yZGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmZv
cm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1wZXJpb2RpYy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1wZXJp
b2RpYy5odG1sOiBBZGRlZC4KKyAgICAgICAgUGVyZm9ybWFuY2VPYnNlcnZlciB0ZXN0cy4KKwor
ICAgICAgICAqIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS10aW1lbGluZS1hcGktZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2UtdGlt
ZWxpbmUtYXBpLmh0bWw6IEFkZGVkLgorICAgICAgICBQZXJmb3JtYW5jZSB0aW1lbGluZSB0ZXN0
cy4KKworICAgICAgICAqIHBsYXRmb3JtL2VmbC9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1h
dHRyaWJ1dGVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvanMvZG9tL2ds
b2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vbWFjLWVsY2FwaXRhbi9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL2pzL2RvbS9nbG9iYWwt
Y29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy15b3NlbWl0ZS9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3Rv
cnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL2pzL2Rv
bS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICBO
ZXcgZ2xvYmFsIGNvbnN0cnVjdG9ycy4KKwogMjAxNy0wMS0zMCAgUnlhbiBIYWRkYWQgIDxyeWFu
aGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBNYXJraW5nIG1lZGlhL21vZGVybi1tZWRpYS1j
b250cm9scy9idXR0b25zLWNvbnRhaW5lci9idXR0b25zLWNvbnRhaW5lci1idXR0b25zLXByb3Bl
cnR5Lmh0bWwgYXMgZmxha3kgb24gbWFjT1MgV0sxLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWFwaS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItYXBpLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMjhlZmQ4NzAw
MTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9y
bWFuY2Utb2JzZXJ2ZXItYXBpLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM1IEBACitCYXNpYyBJ
bnRlcmZhY2UgdGVzdCBmb3IgUGVyZm9ybWFuY2VPYnNlcnZlciBBUElzLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworUGVyZm9ybWFuY2VPYnNlcnZlcgorUEFTUyBQZXJmb3JtYW5j
ZU9ic2VydmVyIGlzIGRlZmluZWQuCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIucHJvdG90eXBl
Lm9ic2VydmUgaXMgZGVmaW5lZC4KK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlci5wcm90b3R5cGUu
ZGlzY29ubmVjdCBpcyBkZWZpbmVkLgorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyKCkgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogQ29uc3RydWN0b3IgcmVxdWlyZXMgJ25ldycgb3BlcmF0b3Iu
CitQQVNTIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKDEp
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdjYWxsYmFjaycpIHRvIHRo
ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGNvbnN0cnVjdG9yIG11c3QgYmUgYSBmdW5jdGlvbi4KK1BB
U1Mgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbigpIHt9KSBkaWQg
bm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgb2JzZXJ2ZXIub2JzZXJ2ZSgpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBvYnNlcnZlci5vYnNl
cnZlKCJtYXJrIikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1Mg
b2JzZXJ2ZXIub2JzZXJ2ZSh7fSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTWVtYmVyIFBl
cmZvcm1hbmNlT2JzZXJ2ZXJJbml0LmVudHJ5VHlwZXMgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUg
YW4gaW5zdGFuY2Ugb2Ygc2VxdWVuY2UuCitQQVNTIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlw
ZXM6Im1hcmsifSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVmFsdWUgaXMgbm90IGEgc2Vx
dWVuY2UuCitQQVNTIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6W119KSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBlbnRyeVR5cGVzIGNhbm5vdCBiZSBhbiBlbXB0eSBsaXN0LgorUEFT
UyBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibm90LXJlYWwiXX0pIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IGVudHJ5VHlwZXMgY29udGFpbmVkIG9ubHkgdW5zdXBwb3J0ZWQgdHlw
ZXMuCitQQVNTIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6WyJtYXJrIl19KSBkaWQgbm90
IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczpbIm1h
cmsiLCAibm90LXJlYWwiXX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBvYnNlcnZl
ci5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibWFyayIsICJtZWFzdXJlIl19KSBkaWQgbm90IHRocm93
IGV4Y2VwdGlvbi4KK1BBU1Mgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpIGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgorUEFTUyBvYnNlcnZlci5kaXNjb25uZWN0KCkgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCisKK1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QKK1BBU1MgUGVyZm9ybWFuY2VPYnNl
cnZlckVudHJ5TGlzdCBpcyBkZWZpbmVkLgorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlM
aXN0LnByb3RvdHlwZS5nZXRFbnRyaWVzIGlzIGRlZmluZWQuCitQQVNTIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXJFbnRyeUxpc3QucHJvdG90eXBlLmdldEVudHJpZXNCeVR5cGUgaXMgZGVmaW5lZC4KK1BB
U1MgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5wcm90b3R5cGUuZ2V0RW50cmllc0J5TmFt
ZSBpcyBkZWZpbmVkLgorUEFTUyBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCgpIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChl
dmFsdWF0aW5nICduZXcgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCgpJykuCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWFwaS5odG1s
IGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWFwaS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi42NDhiYzQ1MGFhNgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5j
ZS1vYnNlcnZlci1hcGkuaHRtbApAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgSFRNTD4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJCYXNpYyBJ
bnRlcmZhY2UgdGVzdCBmb3IgUGVyZm9ybWFuY2VPYnNlcnZlciBBUElzLiIpOworCitkZWJ1Zygi
UGVyZm9ybWFuY2VPYnNlcnZlciIpOworc2hvdWxkQmVEZWZpbmVkKGBQZXJmb3JtYW5jZU9ic2Vy
dmVyYCk7CitzaG91bGRCZURlZmluZWQoYFBlcmZvcm1hbmNlT2JzZXJ2ZXIucHJvdG90eXBlLm9i
c2VydmVgKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9ybWFuY2VPYnNlcnZlci5wcm90b3R5cGUu
ZGlzY29ubmVjdGApOworc2hvdWxkVGhyb3coYFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKWApOworc2hv
dWxkVGhyb3coYG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKClgKTsKK3Nob3VsZFRocm93KGBuZXcg
UGVyZm9ybWFuY2VPYnNlcnZlcigxKWApOworc2hvdWxkTm90VGhyb3coYG9ic2VydmVyID0gbmV3
IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoZnVuY3Rpb24oKSB7fSlgKTsKK3Nob3VsZFRocm93KGBvYnNl
cnZlci5vYnNlcnZlKClgKTsKK3Nob3VsZFRocm93KGBvYnNlcnZlci5vYnNlcnZlKCJtYXJrIilg
KTsKK3Nob3VsZFRocm93KGBvYnNlcnZlci5vYnNlcnZlKHt9KWApOworc2hvdWxkVGhyb3coYG9i
c2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6Im1hcmsifSlgKTsKK3Nob3VsZFRocm93KGBvYnNl
cnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOltdfSlgKTsKK3Nob3VsZFRocm93KGBvYnNlcnZlci5v
YnNlcnZlKHtlbnRyeVR5cGVzOlsibm90LXJlYWwiXX0pYCk7CitzaG91bGROb3RUaHJvdyhgb2Jz
ZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczpbIm1hcmsiXX0pYCk7CitzaG91bGROb3RUaHJvdyhg
b2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczpbIm1hcmsiLCAibm90LXJlYWwiXX0pYCk7Citz
aG91bGROb3RUaHJvdyhgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczpbIm1hcmsiLCAibWVh
c3VyZSJdfSlgKTsKK3Nob3VsZE5vdFRocm93KGBvYnNlcnZlci5kaXNjb25uZWN0KClgKTsKK3No
b3VsZE5vdFRocm93KGBvYnNlcnZlci5kaXNjb25uZWN0KClgKTsKKworZGVidWcoIiIpOworZGVi
dWcoIlBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QiKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVy
Zm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdGApOworc2hvdWxkQmVEZWZpbmVkKGBQZXJmb3JtYW5j
ZU9ic2VydmVyRW50cnlMaXN0LnByb3RvdHlwZS5nZXRFbnRyaWVzYCk7CitzaG91bGRCZURlZmlu
ZWQoYFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QucHJvdG90eXBlLmdldEVudHJpZXNCeVR5
cGVgKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5wcm90
b3R5cGUuZ2V0RW50cmllc0J5TmFtZWApOworc2hvdWxkVGhyb3coYG5ldyBQZXJmb3JtYW5jZU9i
c2VydmVyRW50cnlMaXN0KClgKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWJhc2lj
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1v
YnNlcnZlci1iYXNpYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAuLjJiNDVlZDdkZDlmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGVy
Zm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUyIEBACitCYXNpYyBCZWhhdmlvciB0ZXN0IGZvciBQZXJmb3JtYW5jZU9ic2VydmVy
IEFQSXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitJbnNpZGUgUGVyZm9ybWFu
Y2VPYnNlcnZlciBjYWxsYmFjaworUEFTUyBhcmd1bWVudHNMZW5ndGggPT09IDIgaXMgdHJ1ZQor
UEFTUyBsaXN0IGluc3RhbmNlb2YgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCBpcyB0cnVl
CitQQVNTIG9icyBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgaXMgdHJ1ZQorUEFTUyBv
YnMgPT09IG9ic2VydmVyIGlzIHRydWUKK0ZBSUwgdGhpc09iamVjdCBpbnN0YW5jZW9mIFBlcmZv
cm1hbmNlT2JzZXJ2ZXIgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxzZS4KK0ZBSUwgdGhpc09iamVj
dCA9PT0gb2JzZXJ2ZXIgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxzZS4KKworUGVyZm9ybWFuY2VP
YnNlcnZlckVudHJ5TGlzdCBBUElzCitQQVNTIGxpc3QuZ2V0RW50cmllcygpIGluc3RhbmNlb2Yg
QXJyYXkgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXMoKS5sZW5ndGggPT09IDIgaXMgdHJ1
ZQorUEFTUyBsaXN0LmdldEVudHJpZXMoKVswXSBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50cnkg
aXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXMoKVswXS5uYW1lIGlzICJtYXJrMyIKK1BBU1Mg
bGlzdC5nZXRFbnRyaWVzKClbMV0ubmFtZSBpcyAibWFyazQiCitQQVNTIGxpc3QuZ2V0RW50cmll
cygpWzBdLnN0YXJ0VGltZSA8PSBsaXN0LmdldEVudHJpZXMoKVsxXS5zdGFydFRpbWUgaXMgdHJ1
ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeVR5cGUoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbGlzdC5nZXRFbnRyaWVzQnlUeXBlKCJub3Qt
cmVhbCIpLmxlbmd0aCA9PT0gMCBpcyB0cnVlCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5VHlwZSgi
bWFyayIpLmxlbmd0aCA9PT0gMiBpcyB0cnVlCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5VHlwZSgi
bWFyayIpWzBdIGluc3RhbmNlb2YgUGVyZm9ybWFuY2VFbnRyeSBpcyB0cnVlCitQQVNTIGxpc3Qu
Z2V0RW50cmllc0J5VHlwZSgibWFyayIpWzBdLm5hbWUgaXMgIm1hcmszIgorUEFTUyBsaXN0Lmdl
dEVudHJpZXNCeVR5cGUoIm1hcmsiKVsxXS5uYW1lIGlzICJtYXJrNCIKK1BBU1MgbGlzdC5nZXRF
bnRyaWVzQnlOYW1lKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1
bWVudHMuCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibm90LXJlYWwiKS5sZW5ndGggPT09
IDAgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcmsxIikubGVuZ3RoID09
PSAwIGlzIHRydWUKK1BBU1MgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrMyIpLmxlbmd0aCA9
PT0gMSBpcyB0cnVlCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibWFyazMiKVswXSBpbnN0
YW5jZW9mIFBlcmZvcm1hbmNlRW50cnkgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5h
bWUoIm1hcmszIilbMF0ubmFtZSBpcyAibWFyazMiCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5TmFt
ZSgibWFyazQiKS5sZW5ndGggPT09IDEgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5h
bWUoIm1hcms0IilbMF0gaW5zdGFuY2VvZiBQZXJmb3JtYW5jZUVudHJ5IGlzIHRydWUKK1BBU1Mg
bGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrNCIpWzBdLm5hbWUgaXMgIm1hcms0IgorUEFTUyBs
aXN0LmdldEVudHJpZXNCeU5hbWUoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5v
dWdoIGFyZ3VtZW50cy4KK1BBU1MgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJub3QtcmVhbCIpLmxl
bmd0aCA9PT0gMCBpcyB0cnVlCitQQVNTIGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibWFyazEiKS5s
ZW5ndGggPT09IDAgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcmszIiku
bGVuZ3RoID09PSAxIGlzIHRydWUKK1BBU1MgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrMyIp
WzBdIGluc3RhbmNlb2YgUGVyZm9ybWFuY2VFbnRyeSBpcyB0cnVlCitQQVNTIGxpc3QuZ2V0RW50
cmllc0J5TmFtZSgibWFyazMiKVswXS5uYW1lIGlzICJtYXJrMyIKK1BBU1MgbGlzdC5nZXRFbnRy
aWVzQnlOYW1lKCJtYXJrNCIpLmxlbmd0aCA9PT0gMSBpcyB0cnVlCitQQVNTIGxpc3QuZ2V0RW50
cmllc0J5TmFtZSgibWFyazQiKVswXSBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50cnkgaXMgdHJ1
ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcms0IilbMF0ubmFtZSBpcyAibWFyazQi
CitQQVNTIGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibWFyazMiLCAibm90LXJlYWwiKS5sZW5ndGgg
PT09IDAgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcmszIiwgIm1hcmsi
KS5sZW5ndGggPT09IDEgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5hbWUobnVsbCwg
Im1hcmsiKS5sZW5ndGggPT09IDAgaXMgdHJ1ZQorUEFTUyBsaXN0LmdldEVudHJpZXNCeU5hbWUo
dW5kZWZpbmVkLCAibWFyayIpLmxlbmd0aCA9PT0gMCBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWJhc2ljLmh0bWwgYi9MYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItYmFzaWMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNmIwZjZkNmQwOGQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2Jz
ZXJ2ZXItYmFzaWMuaHRtbApAQCAtMCwwICsxLDk1IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJCYXNpYyBCZWhh
dmlvciB0ZXN0IGZvciBQZXJmb3JtYW5jZU9ic2VydmVyIEFQSXMuIik7Cit3aW5kb3cuanNUZXN0
SXNBc3luYyA9IHRydWU7CisKKy8vIFBlcmZvcm1hbmNlT2JzZXJ2ZXJzIHRoYXQgYXJlIG5vdCBh
Y3RpdmVseSBvYnNlcnZpbmcgc2hvdWxkIG5vdCBmaXJlLgorbGV0IG9ic2VydmVyTm90T2JzZXJ2
aW5nID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoZnVuY3Rpb24oKSB7CisgICAgdGVzdEZhaWxl
ZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBuZXZlciByZWdpc3RlcmVkIHNob3VsZCBub3QgYmUgY2Fs
bGVkIik7Cit9KTsKKworbGV0IG9ic2VydmVyTm90T2JzZXJ2aW5nMiA9IG5ldyBQZXJmb3JtYW5j
ZU9ic2VydmVyKGZ1bmN0aW9uKCkgeworICAgIHRlc3RGYWlsZWQoIlBlcmZvcm1hbmNlT2JzZXJ2
ZXIgbm90IGFjdGl2ZWx5IG9ic2VydmluZyBzaG91bGQgbm90IGJlIGNhbGxlZCIpOworfSk7Citv
YnNlcnZlck5vdE9ic2VydmluZzIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJtYXJrIl19KTsKK29i
c2VydmVyTm90T2JzZXJ2aW5nMi5kaXNjb25uZWN0KCk7CisKKy8vIFBlcmZvcm1hbmNlT2JzZXJ2
ZXJzIGZvciBkaWZmZXJlbnQgZW50cnkgdHlwZXMgc2hvdWxkIG5vdCBmaXJlLgorbGV0IG9ic2Vy
dmVyTm90TWFya3MgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbigpIHsKKyAgICB0
ZXN0RmFpbGVkKCJQZXJmb3JtYW5jZU9ic2VydmVyIG9ic2VydmluZyBtZWFzdXJlcyBzaG91bGQg
bm90IGJlIGNhbGxlZCIpOworfSk7CisKKy8vIE9ic2VydmVyIHNlZXMgbWFya3Mgd2hpbGUgaXQg
aXMgcmVnaXN0ZXJlZC4KK3BlcmZvcm1hbmNlLm1hcmsoIm1hcmsxIik7Cit3aW5kb3cub2JzZXJ2
ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsaXN0LCBvYnMpIHsKKyAgICB3
aW5kb3cuYXJndW1lbnRzTGVuZ3RoID0gYXJndW1lbnRzLmxlbmd0aDsKKyAgICB3aW5kb3cubGlz
dCA9IGxpc3Q7CisgICAgd2luZG93Lm9icyA9IG9iczsKKyAgICB3aW5kb3cudGhpc09iamVjdCA9
IHRoaXM7CisKKyAgICBkZWJ1ZygiSW5zaWRlIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgY2FsbGJhY2si
KTsKKyAgICBzaG91bGRCZVRydWUoYGFyZ3VtZW50c0xlbmd0aCA9PT0gMmApOworICAgIHNob3Vs
ZEJlVHJ1ZShgbGlzdCBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3RgKTsK
KyAgICBzaG91bGRCZVRydWUoYG9icyBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlT2JzZXJ2ZXJgKTsK
KyAgICBzaG91bGRCZVRydWUoYG9icyA9PT0gb2JzZXJ2ZXJgKTsKKyAgICAvLyBGSVhNRTogPGh0
dHBzOi8vd2Via2l0Lm9yZy9iLzE2NzU0OT4gSW52b2tpbmcgZ2VuZXJhdGVkIGNhbGxiYWNrIHNo
b3VsZCBhbGxvdyBzZXR0aW5nIHRoZSBgdGhpc2Agb2JqZWN0CisgICAgc2hvdWxkQmVUcnVlKGB0
aGlzT2JqZWN0IGluc3RhbmNlb2YgUGVyZm9ybWFuY2VPYnNlcnZlcmApOworICAgIHNob3VsZEJl
VHJ1ZShgdGhpc09iamVjdCA9PT0gb2JzZXJ2ZXJgKTsKKworICAgIGRlYnVnKCIiKTsKKyAgICBk
ZWJ1ZygiUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCBBUElzIik7CisKKyAgICBzaG91bGRC
ZVRydWUoYGxpc3QuZ2V0RW50cmllcygpIGluc3RhbmNlb2YgQXJyYXlgKTsKKyAgICBzaG91bGRC
ZVRydWUoYGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aCA9PT0gMmApOworICAgIHNob3VsZEJlVHJ1
ZShgbGlzdC5nZXRFbnRyaWVzKClbMF0gaW5zdGFuY2VvZiBQZXJmb3JtYW5jZUVudHJ5YCk7Cisg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVswXS5uYW1lYCwgIm1h
cmszIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVsxXS5u
YW1lYCwgIm1hcms0Iik7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJpZXMoKVswXS5z
dGFydFRpbWUgPD0gbGlzdC5nZXRFbnRyaWVzKClbMV0uc3RhcnRUaW1lYCk7CisKKyAgICBzaG91
bGRUaHJvdyhgbGlzdC5nZXRFbnRyaWVzQnlUeXBlKClgKTsKKyAgICBzaG91bGRCZVRydWUoYGxp
c3QuZ2V0RW50cmllc0J5VHlwZSgibm90LXJlYWwiKS5sZW5ndGggPT09IDBgKTsKKyAgICBzaG91
bGRCZVRydWUoYGxpc3QuZ2V0RW50cmllc0J5VHlwZSgibWFyayIpLmxlbmd0aCA9PT0gMmApOwor
ICAgIHNob3VsZEJlVHJ1ZShgbGlzdC5nZXRFbnRyaWVzQnlUeXBlKCJtYXJrIilbMF0gaW5zdGFu
Y2VvZiBQZXJmb3JtYW5jZUVudHJ5YCk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0
LmdldEVudHJpZXNCeVR5cGUoIm1hcmsiKVswXS5uYW1lYCwgIm1hcmszIik7CisgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXNCeVR5cGUoIm1hcmsiKVsxXS5uYW1lYCwg
Im1hcms0Iik7CisKKyAgICBzaG91bGRUaHJvdyhgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKClgKTsK
KyAgICBzaG91bGRCZVRydWUoYGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibm90LXJlYWwiKS5sZW5n
dGggPT09IDBgKTsKKyAgICBzaG91bGRCZVRydWUoYGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibWFy
azEiKS5sZW5ndGggPT09IDBgKTsKKyAgICBzaG91bGRCZVRydWUoYGxpc3QuZ2V0RW50cmllc0J5
TmFtZSgibWFyazMiKS5sZW5ndGggPT09IDFgKTsKKyAgICBzaG91bGRCZVRydWUoYGxpc3QuZ2V0
RW50cmllc0J5TmFtZSgibWFyazMiKVswXSBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50cnlgKTsK
KyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0RW50cmllc0J5TmFtZSgibWFyazMi
KVswXS5uYW1lYCwgIm1hcmszIik7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJpZXNC
eU5hbWUoIm1hcms0IikubGVuZ3RoID09PSAxYCk7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0Lmdl
dEVudHJpZXNCeU5hbWUoIm1hcms0IilbMF0gaW5zdGFuY2VvZiBQZXJmb3JtYW5jZUVudHJ5YCk7
CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcms0
IilbMF0ubmFtZWAsICJtYXJrNCIpOworCisgICAgc2hvdWxkVGhyb3coYGxpc3QuZ2V0RW50cmll
c0J5TmFtZSgpYCk7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm5v
dC1yZWFsIikubGVuZ3RoID09PSAwYCk7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJp
ZXNCeU5hbWUoIm1hcmsxIikubGVuZ3RoID09PSAwYCk7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0
LmdldEVudHJpZXNCeU5hbWUoIm1hcmszIikubGVuZ3RoID09PSAxYCk7CisgICAgc2hvdWxkQmVU
cnVlKGBsaXN0LmdldEVudHJpZXNCeU5hbWUoIm1hcmszIilbMF0gaW5zdGFuY2VvZiBQZXJmb3Jt
YW5jZUVudHJ5YCk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXNC
eU5hbWUoIm1hcmszIilbMF0ubmFtZWAsICJtYXJrMyIpOworICAgIHNob3VsZEJlVHJ1ZShgbGlz
dC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrNCIpLmxlbmd0aCA9PT0gMWApOworICAgIHNob3VsZEJl
VHJ1ZShgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrNCIpWzBdIGluc3RhbmNlb2YgUGVyZm9y
bWFuY2VFbnRyeWApOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5nZXRFbnRyaWVz
QnlOYW1lKCJtYXJrNCIpWzBdLm5hbWVgLCAibWFyazQiKTsKKworICAgIHNob3VsZEJlVHJ1ZShg
bGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrMyIsICJub3QtcmVhbCIpLmxlbmd0aCA9PT0gMGAp
OworICAgIHNob3VsZEJlVHJ1ZShgbGlzdC5nZXRFbnRyaWVzQnlOYW1lKCJtYXJrMyIsICJtYXJr
IikubGVuZ3RoID09PSAxYCk7CisgICAgc2hvdWxkQmVUcnVlKGBsaXN0LmdldEVudHJpZXNCeU5h
bWUobnVsbCwgIm1hcmsiKS5sZW5ndGggPT09IDBgKTsKKyAgICBzaG91bGRCZVRydWUoYGxpc3Qu
Z2V0RW50cmllc0J5TmFtZSh1bmRlZmluZWQsICJtYXJrIikubGVuZ3RoID09PSAwYCk7CisKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK30pOworcGVyZm9ybWFuY2UubWFyaygibWFyazIiKTsKK29ic2Vy
dmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsibWFyayJdfSk7CitwZXJmb3JtYW5jZS5tYXJrKCJt
YXJrMyIpOworcGVyZm9ybWFuY2UubWFyaygibWFyazQiKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNl
LW9ic2VydmVyLWNhbGxiYWNrLW11dGF0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wZXJm
b3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItY2FsbGJhY2stbXV0YXRlLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOWVjNTQwZjJkYWUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFu
Y2Utb2JzZXJ2ZXItY2FsbGJhY2stbXV0YXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQyIEBA
CitUZXN0IFBlcmZvcm1hbmNlT2JzZXJ2ZXIgbXV0YXRpbmcgaXRzZWxmIHdoaWxlIGluIGl0cyBj
YWxsYmFjay4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK09ic2VydmVyaW5nOiBb
Im1lYXN1cmUiXQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrIGZpcmVkCitQQVNT
IGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aCBpcyAxCitQQVNTIGxpc3QuZ2V0RW50cmllcygpWzBd
LmVudHJ5VHlwZSBpcyAibWVhc3VyZSIKK1BBU1MgbGlzdC5nZXRFbnRyaWVzKClbMF0ubmFtZSBp
cyAibWVhc3VyZTEiCitPYnNlcnZlcmluZzogWyJtYXJrIl0KKyAtIG1lYXN1cmUxCitQQVNTIFBl
cmZvcm1hbmNlT2JzZXJ2ZXIgY2FsbGJhY2sgZmlyZWQKK1BBU1MgbGlzdC5nZXRFbnRyaWVzKCku
bGVuZ3RoIGlzIDEKK1BBU1MgbGlzdC5nZXRFbnRyaWVzKClbMF0uZW50cnlUeXBlIGlzICJtYXJr
IgorUEFTUyBsaXN0LmdldEVudHJpZXMoKVswXS5uYW1lIGlzICJtYXJrMiIKK09ic2VydmVyaW5n
OiBbIm1lYXN1cmUiXQorIC0gbWFyazIKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciBjYWxsYmFj
ayBmaXJlZAorUEFTUyBsaXN0LmdldEVudHJpZXMoKS5sZW5ndGggaXMgMgorUEFTUyBsaXN0Lmdl
dEVudHJpZXMoKVswXS5lbnRyeVR5cGUgaXMgIm1lYXN1cmUiCitQQVNTIGxpc3QuZ2V0RW50cmll
cygpWzBdLm5hbWUgaXMgIm1lYXN1cmUzIgorUEFTUyBsaXN0LmdldEVudHJpZXMoKVsxXS5lbnRy
eVR5cGUgaXMgIm1hcmsiCitQQVNTIGxpc3QuZ2V0RW50cmllcygpWzFdLm5hbWUgaXMgIm1hcmst
YmVmb3JlLWNoYW5nZS1vYnNlcnZlLXN0YXRlLXRvLW1lYXN1cmUiCitPYnNlcnZlcmluZzogWyJt
YXJrIiwibWVhc3VyZSJdCisgLSBtZWFzdXJlMworIC0gbWFyay1iZWZvcmUtY2hhbmdlLW9ic2Vy
dmUtc3RhdGUtdG8tbWVhc3VyZQorUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrIGZp
cmVkCitQQVNTIGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aCBpcyAzCitQQVNTIGxpc3QuZ2V0RW50
cmllcygpWzBdLmVudHJ5VHlwZSBpcyAibWVhc3VyZSIKK1BBU1MgbGlzdC5nZXRFbnRyaWVzKClb
MF0ubmFtZSBpcyAibWVhc3VyZS1iZWZvcmUtY2hhbmdlLW9ic2VydmUtc3RhdGUtdG8tYm90aCIK
K1BBU1MgbGlzdC5nZXRFbnRyaWVzKClbMV0uZW50cnlUeXBlIGlzICJtZWFzdXJlIgorUEFTUyBs
aXN0LmdldEVudHJpZXMoKVsxXS5uYW1lIGlzICJtZWFzdXJlNCIKK1BBU1MgbGlzdC5nZXRFbnRy
aWVzKClbMl0uZW50cnlUeXBlIGlzICJtYXJrIgorUEFTUyBsaXN0LmdldEVudHJpZXMoKVsyXS5u
YW1lIGlzICJtYXJrNCIKKyAtIG1lYXN1cmUtYmVmb3JlLWNoYW5nZS1vYnNlcnZlLXN0YXRlLXRv
LWJvdGgKKyAtIG1lYXN1cmU0CisgLSBtYXJrNAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BlcmZvcm1h
bmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1jYWxsYmFjay1tdXRhdGUuaHRtbCBiL0xheW91
dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1jYWxsYmFjay1tdXRh
dGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZjg4ZWNhNDUy
ODUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9y
bWFuY2Utb2JzZXJ2ZXItY2FsbGJhY2stbXV0YXRlLmh0bWwKQEAgLTAsMCArMSw5NyBAQAorPCFE
T0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNj
cmlwdGlvbigiVGVzdCBQZXJmb3JtYW5jZU9ic2VydmVyIG11dGF0aW5nIGl0c2VsZiB3aGlsZSBp
biBpdHMgY2FsbGJhY2suIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKy8vIE9i
c2VydmVyIGlzIGZpcnN0IHdhdGNoaW5nIG1lYXN1cmVzID0+IHRoZW4gbWFya3MgPT4gbWVhc3Vy
ZXMgPT4gYm90aC4KKy8vIE5PVEU6IE1lYXN1cmVzIGFyZSBzb3J0ZWQgYmVmb3JlIG1hcmtzIGR1
ZSB0byBzdGFydFRpbWUuCisKK3dpbmRvdy5jYWxsYmFja0NvdW50ID0gMDsKK3dpbmRvdy5saXN0
ID0gbnVsbDsKKworbGV0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGxpc3Qp
ID0+IHsKKyAgICB3aW5kb3cubGlzdCA9IGxpc3Q7CisgICAgY2FsbGJhY2tDb3VudCsrOworICAg
IHRlc3RQYXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgY2FsbGJhY2sgZmlyZWQiKTsKKworICAg
IGlmIChjYWxsYmFja0NvdW50ID09PSAxKSB7CisgICAgICAgIC8vIEV4cGVjdGVkOiBbbWVhc3Vy
ZTFdCisgICAgICAgIHNob3VsZEJlKGBsaXN0LmdldEVudHJpZXMoKS5sZW5ndGhgLCBgMWApOwor
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0RW50cmllcygpWzBdLmVudHJ5
VHlwZWAsICJtZWFzdXJlIik7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5n
ZXRFbnRyaWVzKClbMF0ubmFtZWAsICJtZWFzdXJlMSIpOworCisgICAgICAgIHVwZGF0ZU9ic2Vy
dmVyKFsibWFyayJdKTsKKworICAgICAgICBwZXJmb3JtYW5jZS5tYXJrKCJtYXJrMiIpOworICAg
ICAgICBwZXJmb3JtYW5jZS5tZWFzdXJlKCJtZWFzdXJlMiIpOworICAgIH0gZWxzZSBpZiAoY2Fs
bGJhY2tDb3VudCA9PT0gMikgeworICAgICAgICAvLyBFeHBlY3RlZDogW21hcmsyXQorICAgICAg
ICBzaG91bGRCZShgbGlzdC5nZXRFbnRyaWVzKCkubGVuZ3RoYCwgYDFgKTsKKyAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVswXS5lbnRyeVR5cGVgLCAibWFy
ayIpOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0RW50cmllcygpWzBd
Lm5hbWVgLCAibWFyazIiKTsKKworICAgICAgICBwZXJmb3JtYW5jZS5tYXJrKCJtYXJrLWJlZm9y
ZS1jaGFuZ2Utb2JzZXJ2ZS1zdGF0ZS10by1tZWFzdXJlIik7CisgICAgICAgIHBlcmZvcm1hbmNl
Lm1lYXN1cmUoIm1lYXN1cmUtYmVmb3JlLWNoYW5nZS1vYnNlcnZlLXN0YXRlLXRvLW1lYXN1cmUi
KTsKKworICAgICAgICB1cGRhdGVPYnNlcnZlcihbIm1lYXN1cmUiXSk7CisKKyAgICAgICAgcGVy
Zm9ybWFuY2UubWFyaygibWFyazMiKTsKKyAgICAgICAgcGVyZm9ybWFuY2UubWVhc3VyZSgibWVh
c3VyZTMiKTsKKyAgICB9IGVsc2UgaWYgKGNhbGxiYWNrQ291bnQgPT09IDMpIHsKKyAgICAgICAg
Ly8gRXhwZWN0ZWQ6IFttZWFzdXJlMywgbWFyay1iZWZvcmUtY2hhbmdlLW9ic2VydmUtc3RhdGUt
dG8tbWVhc3VyZV0KKyAgICAgICAgc2hvdWxkQmUoYGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aGAs
IGAyYCk7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5nZXRFbnRyaWVzKClb
MF0uZW50cnlUeXBlYCwgIm1lYXN1cmUiKTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KGBsaXN0LmdldEVudHJpZXMoKVswXS5uYW1lYCwgIm1lYXN1cmUzIik7CisgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5nZXRFbnRyaWVzKClbMV0uZW50cnlUeXBlYCwgIm1hcmsi
KTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVsxXS5u
YW1lYCwgIm1hcmstYmVmb3JlLWNoYW5nZS1vYnNlcnZlLXN0YXRlLXRvLW1lYXN1cmUiKTsKKwor
ICAgICAgICBwZXJmb3JtYW5jZS5tYXJrKCJtYXJrLWJlZm9yZS1jaGFuZ2Utb2JzZXJ2ZS1zdGF0
ZS10by1ib3RoIik7CisgICAgICAgIHBlcmZvcm1hbmNlLm1lYXN1cmUoIm1lYXN1cmUtYmVmb3Jl
LWNoYW5nZS1vYnNlcnZlLXN0YXRlLXRvLWJvdGgiKTsKKworICAgICAgICB1cGRhdGVPYnNlcnZl
cihbIm1hcmsiLCAibWVhc3VyZSJdKTsKKworICAgICAgICBwZXJmb3JtYW5jZS5tYXJrKCJtYXJr
NCIpOworICAgICAgICBwZXJmb3JtYW5jZS5tZWFzdXJlKCJtZWFzdXJlNCIpOworICAgIH0gZWxz
ZSBpZiAoY2FsbGJhY2tDb3VudCA9PT0gNCkgeworICAgICAgICAvLyBFeHBlY3RlZDogW21lYXN1
cmUtYmVmb3JlLWNoYW5nZS1vYnNlcnZlLXN0YXRlLXRvLWJvdGgsIG1lYXN1cmU0LCBtYXJrNF0K
KyAgICAgICAgc2hvdWxkQmUoYGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aGAsIGAzYCk7CisgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5nZXRFbnRyaWVzKClbMF0uZW50cnlUeXBl
YCwgIm1lYXN1cmUiKTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVu
dHJpZXMoKVswXS5uYW1lYCwgIm1lYXN1cmUtYmVmb3JlLWNoYW5nZS1vYnNlcnZlLXN0YXRlLXRv
LWJvdGgiKTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMo
KVsxXS5lbnRyeVR5cGVgLCAibWVhc3VyZSIpOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoYGxpc3QuZ2V0RW50cmllcygpWzFdLm5hbWVgLCAibWVhc3VyZTQiKTsKKyAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVsyXS5lbnRyeVR5cGVgLCAibWFy
ayIpOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0RW50cmllcygpWzJd
Lm5hbWVgLCAibWFyazQiKTsKKworICAgICAgICBwZXJmb3JtYW5jZS5tYXJrKCJtYXJrLWJlZm9y
ZS1kaXNjb25uZWN0Iik7CisgICAgICAgIHBlcmZvcm1hbmNlLm1lYXN1cmUoIm1lYXN1cmUtYmVm
b3JlLWRpc2Nvbm5lY3QiKTsKKworICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7CisKKyAg
ICAgICAgcGVyZm9ybWFuY2UubWFyaygibWFyay1hZnRlci1kaXNjb25uZWN0Iik7CisgICAgICAg
IHBlcmZvcm1hbmNlLm1lYXN1cmUoIm1lYXN1cmUtYWZ0ZXItZGlzY29ubmVjdCIpOworCisgICAg
ICAgIHNldFRpbWVvdXQoZmluaXNoSlNUZXN0LCA1MCk7CisgICAgfSBlbHNlIGlmIChjYWxsYmFj
a0NvdW50ID09PSA1KQorICAgICAgICB0ZXN0RmFpbGVkKCJTaG91bGQgbm90IGhhdmUgcmVjZWl2
ZWQgYW5vdGhlciBjYWxsYmFjaywgdGhlIG9ic2VydmVyIHdhcyBkaXNjb25uZWN0ZWQiKTsKKwor
ICAgIGZvciAobGV0IG1hcmsgb2YgbGlzdC5nZXRFbnRyaWVzKCkpCisgICAgICAgIGRlYnVnKCIg
LSAiICsgbWFyay5uYW1lKTsKK30pOworCitmdW5jdGlvbiB1cGRhdGVPYnNlcnZlcihlbnRyeVR5
cGVzKSB7CisgICAgZGVidWcoIk9ic2VydmVyaW5nOiAiICsgSlNPTi5zdHJpbmdpZnkoZW50cnlU
eXBlcykpOworICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXN9KTsKK30KKwordXBkYXRl
T2JzZXJ2ZXIoWyJtZWFzdXJlIl0pOworcGVyZm9ybWFuY2UubWFyaygibWFyazEiKTsKK3BlcmZv
cm1hbmNlLm1lYXN1cmUoIm1lYXN1cmUxIik7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZl
ci1jYWxsYmFjay10YXNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFw
aS9wZXJmb3JtYW5jZS1vYnNlcnZlci1jYWxsYmFjay10YXNrLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMjAzZTNhMDM5NTQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIt
Y2FsbGJhY2stdGFzay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVGVzdCBQZXJmb3Jt
YW5jZU9ic2VydmVyIGNhbGxiYWNrIGlzIGEgdGFzaywgbm90IGEgbWljcm90YXNrLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxi
YWNrIGZpcmVkCitQQVNTIG1pY3JvdGFza0V4ZWN1dGVkIGlzIGZhbHNlCitQQVNTIGxpc3QuZ2V0
RW50cmllcygpLmxlbmd0aCBpcyAxCitQQVNTIFByb21pc2UgbWljcm90YXNrIGZpcmVkCitQQVNT
IFBlcmZvcm1hbmNlT2JzZXJ2ZXIgY2FsbGJhY2sgZmlyZWQKK1BBU1MgbGlzdC5nZXRFbnRyaWVz
KCkubGVuZ3RoIGlzIDIKK1BBU1MgbWljcm90YXNrRXhlY3V0ZWQgaXMgdHJ1ZQorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1jYWxsYmFjay10
YXNrLmh0bWwgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2
ZXItY2FsbGJhY2stdGFzay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwLi42MTZlYTJmNjQwYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BlcmZvcm1h
bmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1jYWxsYmFjay10YXNrLmh0bWwKQEAgLTAsMCAr
MSw0OCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrIGlz
IGEgdGFzaywgbm90IGEgbWljcm90YXNrLiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
OworCit3aW5kb3cubWljcm90YXNrRXhlY3V0ZWQgPSBmYWxzZTsKK3dpbmRvdy5jYWxsYmFja0Nv
dW50ID0gMDsKK3dpbmRvdy5saXN0ID0gbnVsbDsKKworbGV0IG9ic2VydmVyID0gbmV3IFBlcmZv
cm1hbmNlT2JzZXJ2ZXIoKGxpc3QpID0+IHsKKyAgICB3aW5kb3cubGlzdCA9IGxpc3Q7CisgICAg
Y2FsbGJhY2tDb3VudCsrOworCisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciBj
YWxsYmFjayBmaXJlZCIpOworCisgICAgaWYgKGNhbGxiYWNrQ291bnQgPT09IDEpIHsKKyAgICAg
ICAgc2hvdWxkQmVGYWxzZShgbWljcm90YXNrRXhlY3V0ZWRgKTsKKyAgICAgICAgc2hvdWxkQmUo
YGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aGAsIGAxYCk7CisgICAgICAgIHBlcmZvcm1hbmNlLm1h
cmsoIm1hcmsyIik7CisgICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4geworICAg
ICAgICAgICAgdGVzdFBhc3NlZCgiUHJvbWlzZSBtaWNyb3Rhc2sgZmlyZWQiKTsKKyAgICAgICAg
ICAgIG1pY3JvdGFza0V4ZWN1dGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIHBlcmZvcm1hbmNlLm1h
cmsoIm1hcmszIik7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
aWYgKGNhbGxiYWNrQ291bnQgPT09IDIpIHsKKyAgICAgICAgc2hvdWxkQmUoYGxpc3QuZ2V0RW50
cmllcygpLmxlbmd0aGAsIGAyYCk7CisgICAgICAgIHNob3VsZEJlVHJ1ZShgbWljcm90YXNrRXhl
Y3V0ZWRgKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICB0ZXN0RmFpbGVkKCJDYWxsYmFjayBzaG91bGQgbm90IGhhdmUgZmlyZWQgYWdhaW4i
KTsKK30pOworCitvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbIm1hcmsiXX0pOworcGVy
Zm9ybWFuY2UubWFyaygibWFyazEiKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWVu
dHJ5LXNvcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZv
cm1hbmNlLW9ic2VydmVyLWVudHJ5LXNvcnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5jYmNiYjQxMDU3NgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1lbnRyeS1zb3J0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI3IEBACitUZXN0IFBlcmZvcm1hbmNlT2JzZXJ2ZXIg
bXV0YXRpbmcgaXRzZWxmIHdoaWxlIGluIGl0cyBjYWxsYmFjay4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciBjYWxsYmFjayBmaXJlZAor
UEFTUyBsaXN0LmdldEVudHJpZXMoKS5sZW5ndGggaXMgOAorUEFTUyBzb3J0ZWQgaXMgdHJ1ZQor
UEFTUyBsaXN0LmdldEVudHJpZXMoKVswXS5lbnRyeVR5cGUgaXMgIm1lYXN1cmUiCitQQVNTIGxp
c3QuZ2V0RW50cmllcygpWzFdLmVudHJ5VHlwZSBpcyAibWVhc3VyZSIKK1BBU1MgbGlzdC5nZXRF
bnRyaWVzKClbMl0uZW50cnlUeXBlIGlzICJtZWFzdXJlIgorUEFTUyBsaXN0LmdldEVudHJpZXMo
KVszXS5lbnRyeVR5cGUgaXMgIm1hcmsiCitQQVNTIGxpc3QuZ2V0RW50cmllcygpWzNdLm5hbWUg
aXMgIm1hcmsxIgorUEFTUyBsaXN0LmdldEVudHJpZXMoKVs3XS5lbnRyeVR5cGUgaXMgIm1hcmsi
CitQQVNTIGxpc3QuZ2V0RW50cmllcygpWzddLm5hbWUgaXMgIm1hcmszIgorUEFTUyBsaXN0Lmdl
dEVudHJpZXMoKVswXS5uYW1lIGlzICJtZWFzdXJlMSIKK1BBU1MgbGlzdC5nZXRFbnRyaWVzKClb
MV0ubmFtZSBpcyAibWVhc3VyZTIiCitQQVNTIGxpc3QuZ2V0RW50cmllcygpWzJdLm5hbWUgaXMg
Im1lYXN1cmUzIgorUEFTUyBsaXN0LmdldEVudHJpZXMoKVszXS5uYW1lIGlzICJtYXJrMSIKK1BB
U1MgbGlzdC5nZXRFbnRyaWVzKClbNF0ubmFtZSBpcyAibWFyazIiCitQQVNTIGxpc3QuZ2V0RW50
cmllcygpWzVdLm5hbWUgaXMgIm1lYXN1cmUtbWF0Y2hpbmctbWFyazItMSIKK1BBU1MgbGlzdC5n
ZXRFbnRyaWVzKClbNl0ubmFtZSBpcyAibWVhc3VyZS1tYXRjaGluZy1tYXJrMi0yIgorUEFTUyBs
aXN0LmdldEVudHJpZXMoKVs3XS5uYW1lIGlzICJtYXJrMyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
ZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZW50cnktc29ydC5odG1sIGIvTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWVudHJ5LXNvcnQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNmViMTkzMDgzZDgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFu
Y2Utb2JzZXJ2ZXItZW50cnktc29ydC5odG1sCkBAIC0wLDAgKzEsNzggQEAKKzwhRE9DVFlQRSBI
VE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24o
IlRlc3QgUGVyZm9ybWFuY2VPYnNlcnZlciBtdXRhdGluZyBpdHNlbGYgd2hpbGUgaW4gaXRzIGNh
bGxiYWNrLiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCitmdW5jdGlvbiB3YWl0
KCkgeworICAgIGxldCBub3cgPSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICB3aGlsZSAobm93ID09
PSBwZXJmb3JtYW5jZS5ub3coKSkKKyAgICAgICAgY29udGludWU7Cit9CisKK2xldCBvYnNlcnZl
ciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKChsaXN0KSA9PiB7CisgICAgdGVzdFBhc3NlZCgi
UGVyZm9ybWFuY2VPYnNlcnZlciBjYWxsYmFjayBmaXJlZCIpOworCisgICAgd2luZG93Lmxpc3Qg
PSBsaXN0OworICAgIHdpbmRvdy5zb3J0ZWQgPSB0cnVlOworCisgICAgbGV0IGVudHJpZXMgPSBs
aXN0LmdldEVudHJpZXMoKTsKKyAgICBsZXQgbGFzdFN0YXJ0VGltZSA9IGVudHJpZXNbMF0uc3Rh
cnRUaW1lOworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZW50cmllcy5sZW5ndGg7ICsraSkgewor
ICAgICAgICBsZXQgY3VycmVudFN0YXJ0VGltZSA9IGVudHJpZXNbaV0uc3RhcnRUaW1lOworICAg
ICAgICBpZiAobGFzdFN0YXJ0VGltZSA+IGN1cnJlbnRTdGFydFRpbWUpIHsKKyAgICAgICAgICAg
IHNvcnRlZCA9IGZhbHNlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAg
bGFzdFN0YXJ0VGltZSA9IGN1cnJlbnRTdGFydFRpbWU7CisgICAgfQorCisgICAgc2hvdWxkQmUo
YGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aGAsIGA4YCk7CisgICAgc2hvdWxkQmVUcnVlKGBzb3J0
ZWRgKTsKKworICAgIC8vIFJlZ2FyZGxlc3Mgb2YgaG93IGlkZW50aWNhbCBzdGFydCB0aW1lIGVs
ZW1lbnRzIGFyZSBzb3J0ZWQsCisgICAgLy8gdGhlIGZpcnN0IHRocmVlIHZhbHVlcyBzaG91bGQg
YmUgbWVhc3VyZXMxLDIsMyB3aXRoIDAgc3RhcnQgdGltZSwKKyAgICAvLyBmb2xsb3dlZCBieSBt
YXJrMS4gVGhlIGxhc3QgZW50cnkgd2lsbCBiZSBtYXJrMy4KKyAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoYGxpc3QuZ2V0RW50cmllcygpWzBdLmVudHJ5VHlwZWAsICJtZWFzdXJlIik7CisgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVsxXS5lbnRyeVR5cGVgLCAi
bWVhc3VyZSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5nZXRFbnRyaWVzKClb
Ml0uZW50cnlUeXBlYCwgIm1lYXN1cmUiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxp
c3QuZ2V0RW50cmllcygpWzNdLmVudHJ5VHlwZWAsICJtYXJrIik7CisgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVszXS5uYW1lYCwgIm1hcmsxIik7CisgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVs3XS5lbnRyeVR5cGVgLCAibWFy
ayIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5nZXRFbnRyaWVzKClbN10ubmFt
ZWAsICJtYXJrMyIpOworCisgICAgLy8gV2ViS2l0IHdhbnRzIGEgc3RhYmxlIHNvcnQgYmFzZWQg
bWF0Y2hpbmcgdXNlciBleHBlY3RhdGlvbnMuCisgICAgLy8gVGhlIHNwZWMgaXMgY3VycmVudGx5
IGltcHJlY2lzZSBoZXJlLgorICAgIC8vIDxodHRwczovL2dpdGh1Yi5jb20vdzNjL3BlcmZvcm1h
bmNlLXRpbWVsaW5lL2lzc3Vlcy82Nz4KKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3Qu
Z2V0RW50cmllcygpWzBdLm5hbWVgLCAibWVhc3VyZTEiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoYGxpc3QuZ2V0RW50cmllcygpWzFdLm5hbWVgLCAibWVhc3VyZTIiKTsKKyAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0RW50cmllcygpWzJdLm5hbWVgLCAibWVhc3VyZTMi
KTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0RW50cmllcygpWzNdLm5hbWVg
LCAibWFyazEiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0RW50cmllcygp
WzRdLm5hbWVgLCAibWFyazIiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYGxpc3QuZ2V0
RW50cmllcygpWzVdLm5hbWVgLCAibWVhc3VyZS1tYXRjaGluZy1tYXJrMi0xIik7CisgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKGBsaXN0LmdldEVudHJpZXMoKVs2XS5uYW1lYCwgIm1lYXN1cmUt
bWF0Y2hpbmctbWFyazItMiIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZyhgbGlzdC5nZXRF
bnRyaWVzKClbN10ubmFtZWAsICJtYXJrMyIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsK
Kworb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJtYXJrIiwgIm1lYXN1cmUiXX0pOwor
CitwZXJmb3JtYW5jZS5tYXJrKCJtYXJrMSIpOworcGVyZm9ybWFuY2UubWVhc3VyZSgibWVhc3Vy
ZTEiKTsKK3dhaXQoKTsgLy8gRW5zdXJlIG1hcmsxICE9PSBtYXJrMiBzdGFydFRpbWUgYnkgbWFr
aW5nIHN1cmUgcGVyZm9ybWFuY2Uubm93IGFkdmFuY2VzLgorcGVyZm9ybWFuY2UubWFyaygibWFy
azIiKTsKK3BlcmZvcm1hbmNlLm1lYXN1cmUoIm1lYXN1cmUyIik7CitwZXJmb3JtYW5jZS5tZWFz
dXJlKCJtZWFzdXJlLW1hdGNoaW5nLW1hcmsyLTEiLCAibWFyazIiKTsKK3dhaXQoKTsgLy8gRW5z
dXJlIG1hcmsyICE9PSBtYXJrMyBzdGFydFRpbWUgYnkgbWFraW5nIHN1cmUgcGVyZm9ybWFuY2Uu
bm93IGFkdmFuY2VzLgorcGVyZm9ybWFuY2UubWFyaygibWFyazMiKTsKK3BlcmZvcm1hbmNlLm1l
YXN1cmUoIm1lYXN1cmUzIik7CitwZXJmb3JtYW5jZS5tZWFzdXJlKCJtZWFzdXJlLW1hdGNoaW5n
LW1hcmsyLTIiLCAibWFyazIiKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWV4Y2Vw
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFu
Y2Utb2JzZXJ2ZXItZXhjZXB0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMC4uMGU1NjM2MjI2YzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZXhjZXB0aW9uLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6IEVYQ0VQ
VElPTiBNRVNTQUdFIElOIENBTExCQUNLCitFbnN1cmUgUGVyZm9ybWFuY2VPYnNlcnZlciBFeGNl
cHRpb25zIGFyZSBwcm9wb2dhdGVkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UGVyZm9ybWFuY2VPYnNlcnZlciBjYWxsYmFjayBmaXJlZAorUEFTUyBvbmVycm9yOiBFWENFUFRJ
T04gTUVTU0FHRSBJTiBDQUxMQkFDSworUEFTUyBvbmVycm9yOiBUeXBlRXJyb3I6IENhbm5vdCBj
YWxsIGEgY2xhc3MgY29uc3RydWN0b3Igd2l0aG91dCB8bmV3fAorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1leGNlcHRpb24uaHRtbCBiL0xh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1leGNlcHRpb24u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNmExMWNjYTRkYjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFu
Y2Utb2JzZXJ2ZXItZXhjZXB0aW9uLmh0bWwKQEAgLTAsMCArMSwzNSBAQAorPCFET0NUWVBFIEhU
TUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigi
RW5zdXJlIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgRXhjZXB0aW9ucyBhcmUgcHJvcG9nYXRlZC4iKTsK
K3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworbGV0IHNlZW5FeGNlcHRpb25zID0gMDsK
Kword2luZG93Lm9uZXJyb3IgPSBmdW5jdGlvbihtZXNzYWdlKSB7CisgICAgdGVzdFBhc3NlZCgi
b25lcnJvcjogIiArIG1lc3NhZ2UpOworCisgICAgc2VlbkV4Y2VwdGlvbnMrKzsKKyAgICBpZiAo
c2VlbkV4Y2VwdGlvbnMgPT09IDIpCisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitsZXQg
b2JzZXJ2ZXIxID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGxpc3QpID0+IHsKKyAgICBkZWJ1
ZygiUGVyZm9ybWFuY2VPYnNlcnZlciBjYWxsYmFjayBmaXJlZCIpOworICAgIHRocm93ICJFWENF
UFRJT04gTUVTU0FHRSBJTiBDQUxMQkFDSyI7Cit9KTsKKworY2xhc3MgTXlPYnNlcnZlciB7fTsK
K2xldCBvYnNlcnZlcjIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihNeU9ic2VydmVyKTsKKwor
b2JzZXJ2ZXIxLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsibWFyayJdfSk7CitvYnNlcnZlcjIub2Jz
ZXJ2ZSh7ZW50cnlUeXBlczogWyJtYXJrIl19KTsKK3BlcmZvcm1hbmNlLm1hcmsoIm1hcmsxIik7
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1uZXN0ZWQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLW5lc3RlZC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmViZmUwNTZh
OGRkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZv
cm1hbmNlLW9ic2VydmVyLW5lc3RlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAorVGVz
dCBQZXJmb3JtYW5jZU9ic2VydmVyIGhhbmRsaW5nIG9mIGVudHJpZXMgYWRkZWQgd2hpbGUgaW4g
Y2FsbGJhY2suCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIFBlcmZvcm1h
bmNlT2JzZXJ2ZXIgMSBjYWxsYmFjayBmaXJlZAorUEFTUyBsaXN0LmdldEVudHJpZXMoKS5sZW5n
dGggaXMgMQorIC0gbWFyazEKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciAyIGNhbGxiYWNrIGZp
cmVkCitQQVNTIGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aCBpcyAyCisgLSBtYXJrMQorIC0gbWFy
azIKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciAxIGNhbGxiYWNrIGZpcmVkCitQQVNTIGxpc3Qu
Z2V0RW50cmllcygpLmxlbmd0aCBpcyAyCisgLSBtYXJrMgorIC0gbWFyazMKK1BBU1MgUGVyZm9y
bWFuY2VPYnNlcnZlciAyIGNhbGxiYWNrIGZpcmVkCitQQVNTIGxpc3QuZ2V0RW50cmllcygpLmxl
bmd0aCBpcyAxCisgLSBtYXJrMworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9w
ZXJmb3JtYW5jZS1vYnNlcnZlci1uZXN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNl
LWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1uZXN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMC4uNmI4ODA0ZmJiMjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItbmVzdGVkLmh0bWwK
QEAgLTAsMCArMSw2MSBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBQZXJmb3JtYW5jZU9ic2VydmVyIGhh
bmRsaW5nIG9mIGVudHJpZXMgYWRkZWQgd2hpbGUgaW4gY2FsbGJhY2suIik7Cit3aW5kb3cuanNU
ZXN0SXNBc3luYyA9IHRydWU7CisKK3dpbmRvdy5jYWxsYmFja0NvdW50ID0gMDsKK3dpbmRvdy5s
aXN0ID0gbnVsbDsKKworbGV0IG9ic2VydmVyMSA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKChs
aXN0KSA9PiB7CisgICAgd2luZG93Lmxpc3QgPSBsaXN0OworICAgIGNhbGxiYWNrQ291bnQrKzsK
KyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVyIDEgY2FsbGJhY2sgZmlyZWQiKTsK
KworICAgIGlmIChjYWxsYmFja0NvdW50ID09PSAxKSB7CisgICAgICAgIHBlcmZvcm1hbmNlLm1h
cmsoIm1hcmsyIik7CisgICAgICAgIHNob3VsZEJlKGBsaXN0LmdldEVudHJpZXMoKS5sZW5ndGhg
LCBgMWApOworICAgIH0gZWxzZSBpZiAoY2FsbGJhY2tDb3VudCA9PT0gMykgeworICAgICAgICBz
aG91bGRCZShgbGlzdC5nZXRFbnRyaWVzKCkubGVuZ3RoYCwgYDJgKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICB0ZXN0RmFpbGVkKCJVbmV4cGVjdGVkIGNhbGxiYWNrIGNvdW50Iik7CisgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgIH0KKworICAgIGZvciAobGV0IG1hcmsgb2YgbGlzdC5nZXRF
bnRyaWVzKCkpCisgICAgICAgIGRlYnVnKCIgLSAiICsgbWFyay5uYW1lKTsKK30pOworCitsZXQg
b2JzZXJ2ZXIyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGxpc3QpID0+IHsKKyAgICB3aW5k
b3cubGlzdCA9IGxpc3Q7CisgICAgY2FsbGJhY2tDb3VudCsrOworICAgIHRlc3RQYXNzZWQoIlBl
cmZvcm1hbmNlT2JzZXJ2ZXIgMiBjYWxsYmFjayBmaXJlZCIpOworCisgICAgaWYgKGNhbGxiYWNr
Q291bnQgPT09IDIpIHsKKyAgICAgICAgcGVyZm9ybWFuY2UubWFyaygibWFyazMiKTsKKyAgICAg
ICAgc2hvdWxkQmUoYGxpc3QuZ2V0RW50cmllcygpLmxlbmd0aGAsIGAyYCk7CisgICAgfSBlbHNl
IGlmIChjYWxsYmFja0NvdW50ID09PSA0KSB7CisgICAgICAgIHNob3VsZEJlKGBsaXN0LmdldEVu
dHJpZXMoKS5sZW5ndGhgLCBgMWApOworICAgIH0gZWxzZSB7CisgICAgICAgIHRlc3RGYWlsZWQo
IlVuZXhwZWN0ZWQgY2FsbGJhY2sgY291bnQiKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgfQorCisgICAgZm9yIChsZXQgbWFyayBvZiBsaXN0LmdldEVudHJpZXMoKSkKKyAgICAgICAg
ZGVidWcoIiAtICIgKyBtYXJrLm5hbWUpOworCisgICAgaWYgKGNhbGxiYWNrQ291bnQgPT09IDQp
CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKK29ic2VydmVyMS5vYnNlcnZlKHtlbnRy
eVR5cGVzOiBbIm1hcmsiXX0pOworb2JzZXJ2ZXIyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsibWFy
ayJdfSk7CitwZXJmb3JtYW5jZS5tYXJrKCJtYXJrMSIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Ut
b2JzZXJ2ZXItb3JkZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBp
L3BlcmZvcm1hbmNlLW9ic2VydmVyLW9yZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOWExMTRkMmI0M2MKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItb3JkZXItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjEgQEAKK0Vuc3VyZSBQZXJmb3JtYW5jZU9ic2VydmVycyBh
cmUgbm90aWZpZWQgaW4gb3JkZXIgb2YgcmVnaXN0cmF0aW9uIChvYnNlcnZlKS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciAxIGNhbGxi
YWNrIGZpcmVkCitQQVNTIGNvdW50IGlzIDEKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciAyIGNh
bGxiYWNrIGZpcmVkCitQQVNTIGNvdW50IGlzIDIKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciAz
IGNhbGxiYWNrIGZpcmVkCitQQVNTIGNvdW50IGlzIDMKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZl
ciA0IGNhbGxiYWNrIGZpcmVkCitQQVNTIGNvdW50IGlzIDQKK1BBU1MgUGVyZm9ybWFuY2VPYnNl
cnZlciA1IGNhbGxiYWNrIGZpcmVkCitQQVNTIGNvdW50IGlzIDUKK1BBU1MgUGVyZm9ybWFuY2VP
YnNlcnZlciA2IGNhbGxiYWNrIGZpcmVkCitQQVNTIGNvdW50IGlzIDYKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItb3JkZXIuaHRtbCBiL0xh
eW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1vcmRlci5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi40NWQyNmNkZDBjZAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1v
YnNlcnZlci1vcmRlci5odG1sCkBAIC0wLDAgKzEsNjMgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIkVuc3VyZSBQ
ZXJmb3JtYW5jZU9ic2VydmVycyBhcmUgbm90aWZpZWQgaW4gb3JkZXIgb2YgcmVnaXN0cmF0aW9u
IChvYnNlcnZlKS4iKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKword2luZG93LmNv
dW50ID0gMDsKKworbGV0IG9ic2VydmVyMSA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKChsaXN0
KSA9PiB7CisgICAgY291bnQrKzsKKyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVy
IDEgY2FsbGJhY2sgZmlyZWQiKTsKKyAgICBzaG91bGRCZShgY291bnRgLCBgMWApOworfSk7CisK
K2xldCBvYnNlcnZlcjIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigobGlzdCkgPT4geworICAg
IGNvdW50Kys7CisgICAgdGVzdFBhc3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciAyIGNhbGxiYWNr
IGZpcmVkIik7CisgICAgc2hvdWxkQmUoYGNvdW50YCwgYDJgKTsKK30pOworCisvLyBFbnN1cmUg
Y3JlYXRpb24gZG9lc24ndCBpbXBhY3Qgb3JkZXIuCitsZXQgb2JzZXJ2ZXJTcGVjaWFsID0gbmV3
IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGxpc3QpID0+IHsKKyAgICBjb3VudCsrOworICAgIHRlc3RQ
YXNzZWQoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgNiBjYWxsYmFjayBmaXJlZCIpOworICAgIHNob3Vs
ZEJlKGBjb3VudGAsIGA2YCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKworbGV0IG9ic2Vy
dmVyMyA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKChsaXN0KSA9PiB7CisgICAgY291bnQrKzsK
KyAgICB0ZXN0UGFzc2VkKCJQZXJmb3JtYW5jZU9ic2VydmVyIDMgY2FsbGJhY2sgZmlyZWQiKTsK
KyAgICBzaG91bGRCZShgY291bnRgLCBgM2ApOworfSk7CisKK2xldCBvYnNlcnZlcjQgPSBuZXcg
UGVyZm9ybWFuY2VPYnNlcnZlcigobGlzdCkgPT4geworICAgIGNvdW50Kys7CisgICAgdGVzdFBh
c3NlZCgiUGVyZm9ybWFuY2VPYnNlcnZlciA0IGNhbGxiYWNrIGZpcmVkIik7CisgICAgc2hvdWxk
QmUoYGNvdW50YCwgYDRgKTsKK30pOworCitsZXQgb2JzZXJ2ZXI1ID0gbmV3IFBlcmZvcm1hbmNl
T2JzZXJ2ZXIoKGxpc3QpID0+IHsKKyAgICBjb3VudCsrOworICAgIHRlc3RQYXNzZWQoIlBlcmZv
cm1hbmNlT2JzZXJ2ZXIgNSBjYWxsYmFjayBmaXJlZCIpOworICAgIHNob3VsZEJlKGBjb3VudGAs
IGA1YCk7Cit9KTsKKworLy8gUmVnaXN0ZXIgYWxsIGluIG9yZGVyLgorZm9yIChsZXQgbyBvZiBb
b2JzZXJ2ZXIxLCBvYnNlcnZlcjIsIG9ic2VydmVyU3BlY2lhbCwgb2JzZXJ2ZXIzLCBvYnNlcnZl
cjQsIG9ic2VydmVyNV0pCisgICAgby5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbIm1hcmsiXX0pOwor
CisvLyBVbnJlZ2lzdGVyIGFuZCByZS1yZWdpc3RlciBtb3ZlcyB0aGlzIHRvIHRoZSBiYWNrIG9m
IHRoZSBsaW5lLgorb2JzZXJ2ZXJTcGVjaWFsLmRpc2Nvbm5lY3QoKTsKK29ic2VydmVyU3BlY2lh
bC5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbIm1hcmsiXX0pOworCitwZXJmb3JtYW5jZS5tYXJrKCJt
YXJrMSIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItcGVyaW9kaWMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLXBl
cmlvZGljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MC4uNTUwZmNhNjkyMDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5j
ZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItcGVyaW9kaWMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTYgQEAKK0Vuc3VyZSBQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrIGZpcmVzIGZvciBh
bGwgb2JzZXJ2ZWQgZW50cmllcyBiZXR3ZWVuIG9ic2VydmUvZGlzY29ubmVjdCBjYWxscy4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BlcmZvcm1hbmNlT2JzZXJ2ZXIgY2FsbGJh
Y2sgZmlyZWQ6IDEgZW50cmllcworUEFTUyBtYXJrMQorUGVyZm9ybWFuY2VPYnNlcnZlciBjYWxs
YmFjayBmaXJlZDogMiBlbnRyaWVzCitQQVNTIG1hcmsyCitQQVNTIG1hcmszCitQZXJmb3JtYW5j
ZU9ic2VydmVyIGNhbGxiYWNrIGZpcmVkOiAxIGVudHJpZXMKK1BBU1MgbWFyazcKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItcGVyaW9kaWMu
aHRtbCBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNlcnZlci1w
ZXJpb2RpYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zODc0
NmIzODI4MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BlcmZvcm1hbmNlLWFwaS9w
ZXJmb3JtYW5jZS1vYnNlcnZlci1wZXJpb2RpYy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3Jp
cHRpb24oIkVuc3VyZSBQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrIGZpcmVzIGZvciBhbGwg
b2JzZXJ2ZWQgZW50cmllcyBiZXR3ZWVuIG9ic2VydmUvZGlzY29ubmVjdCBjYWxscy4iKTsKK3dp
bmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworbGV0IHNob3VsZEVuZCA9IGZhbHNlOworCits
ZXQgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigobGlzdCkgPT4geworICAgIGRl
YnVnKCJQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrIGZpcmVkOiAiICsgbGlzdC5nZXRFbnRy
aWVzKCkubGVuZ3RoICsgIiBlbnRyaWVzIik7CisgICAgZm9yIChsZXQgbWFyayBvZiBsaXN0Lmdl
dEVudHJpZXMoKSkgeworICAgICAgICBpZiAobWFyay5uYW1lID09PSAibWFyazUiIHx8IG1hcmsu
bmFtZSA9PT0gIm1hcms2IikKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIlNob3VsZCBub3QgaGF2
ZSBvYnNlcnZlZCAiICsgbWFyay5uYW1lKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGVz
dFBhc3NlZChtYXJrLm5hbWUpOworICAgIH0KKyAgICBpZiAoc2hvdWxkRW5kKQorICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKK30pOworb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJtYXJr
Il19KTsKKworLy8gLS0tCisKK3BlcmZvcm1hbmNlLm1hcmsoIm1hcmsxIik7CisKK3NldFRpbWVv
dXQoKCkgPT4geworICAgIHBlcmZvcm1hbmNlLm1hcmsoIm1hcmsyIik7CisgICAgcGVyZm9ybWFu
Y2UubWFyaygibWFyazMiKTsKK30sIDUwKTsKKworc2V0VGltZW91dCgoKSA9PiB7CisgICAgcGVy
Zm9ybWFuY2UubWFyaygibWFyazQiKTsKKyAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7CisgICAg
cGVyZm9ybWFuY2UubWFyaygibWFyazUiKTsgLy8gTk9UIHNlZW4uCit9LCAxMDApOworCitzZXRU
aW1lb3V0KCgpID0+IHsKKyAgICBwZXJmb3JtYW5jZS5tYXJrKCJtYXJrNiIpOyAvLyBOT1Qgc2Vl
bi4KKyAgICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbIm1hcmsiXX0pOworICAgIHBl
cmZvcm1hbmNlLm1hcmsoIm1hcms3Iik7CisgICAgc2hvdWxkRW5kID0gdHJ1ZTsKK30sIDE1MCk7
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BlcmZv
cm1hbmNlLWFwaS9wZXJmb3JtYW5jZS10aW1lbGluZS1hcGktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLXRpbWVsaW5lLWFwaS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmUzZjIwNzYzM2ZmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNl
LXRpbWVsaW5lLWFwaS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0OCBAQAorQmFzaWMgSW50ZXJm
YWNlIHRlc3QgZm9yIHBlcmZvcm1hbmNlLXRpbWVsaW5lIEFQSXMuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQZXJmb3JtYW5jZUVudHJ5CitQQVNTIFBlcmZvcm1hbmNlRW50cnkg
aXMgZGVmaW5lZC4KK1BBU1MgIm5hbWUiIGluIFBlcmZvcm1hbmNlRW50cnkucHJvdG90eXBlIGlz
IHRydWUKK1BBU1MgImVudHJ5VHlwZSIgaW4gUGVyZm9ybWFuY2VFbnRyeS5wcm90b3R5cGUgaXMg
dHJ1ZQorUEFTUyAic3RhcnRUaW1lIiBpbiBQZXJmb3JtYW5jZUVudHJ5LnByb3RvdHlwZSBpcyB0
cnVlCitQQVNTICJkdXJhdGlvbiIgaW4gUGVyZm9ybWFuY2VFbnRyeS5wcm90b3R5cGUgaXMgdHJ1
ZQorUEFTUyBuZXcgUGVyZm9ybWFuY2VFbnRyeSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgUGVyZm9ybWFu
Y2VFbnRyeSgpJykuCisKK1BlcmZvcm1hbmNlIGV4dGVuc2lvbnMKK1BBU1MgUGVyZm9ybWFuY2Uu
cHJvdG90eXBlLmdldEVudHJpZXMgaXMgZGVmaW5lZC4KK1BBU1MgUGVyZm9ybWFuY2UucHJvdG90
eXBlLmdldEVudHJpZXNCeVR5cGUgaXMgZGVmaW5lZC4KK1BBU1MgUGVyZm9ybWFuY2UucHJvdG90
eXBlLmdldEVudHJpZXNCeU5hbWUgaXMgZGVmaW5lZC4KK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50
cmllcygpIGluc3RhbmNlb2YgQXJyYXkgaXMgdHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRy
aWVzKCkubGVuZ3RoID09PSAwIGlzIHRydWUKK1BBU1MgcGVyZm9ybWFuY2UubWFyaygidGVzdCIp
OyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllcygp
Lmxlbmd0aCA9PT0gMSBpcyB0cnVlCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXMoKVswXSBp
bnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50cnkgaXMgdHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5nZXRF
bnRyaWVzKClbMF0ubmFtZSBpcyAidGVzdCIKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllcygp
WzBdLmVudHJ5VHlwZSBpcyAibWFyayIKK1BBU1MgdHlwZW9mIHBlcmZvcm1hbmNlLmdldEVudHJp
ZXMoKVswXS5zdGFydFRpbWUgPT09ICJudW1iZXIiIGlzIHRydWUKK1BBU1MgdHlwZW9mIHBlcmZv
cm1hbmNlLmdldEVudHJpZXMoKVswXS5kdXJhdGlvbiA9PT0gIm51bWJlciIgaXMgdHJ1ZQorUEFT
UyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5
cGUoIm5vdC1yZWFsIikubGVuZ3RoID09PSAwIGlzIHRydWUKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0
RW50cmllc0J5VHlwZSgibWFyayIpLmxlbmd0aCA9PT0gMSBpcyB0cnVlCitQQVNTIHBlcmZvcm1h
bmNlLmdldEVudHJpZXNCeVR5cGUoIm1hcmsiKVswXSBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50
cnkgaXMgdHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJtYXJrIilbMF0u
bmFtZSBpcyAidGVzdCIKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibWFyayIp
WzBdLmVudHJ5VHlwZSBpcyAibWFyayIKK1BBU1MgdHlwZW9mIHBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeVR5cGUoIm1hcmsiKVswXS5zdGFydFRpbWUgPT09ICJudW1iZXIiIGlzIHRydWUKK1BBU1Mg
dHlwZW9mIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoIm1hcmsiKVswXS5kdXJhdGlvbiA9
PT0gIm51bWJlciIgaXMgdHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIHBl
cmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoIm5vdC1yZWFsIikubGVuZ3RoID09PSAwIGlzIHRy
dWUKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgidGVzdCIpLmxlbmd0aCA9PT0g
MSBpcyB0cnVlCitQQVNTIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoInRlc3QiKVswXSBp
bnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50cnkgaXMgdHJ1ZQorUEFTUyBwZXJmb3JtYW5jZS5nZXRF
bnRyaWVzQnlOYW1lKCJ0ZXN0IilbMF0ubmFtZSBpcyAidGVzdCIKK1BBU1MgcGVyZm9ybWFuY2Uu
Z2V0RW50cmllc0J5TmFtZSgidGVzdCIpWzBdLmVudHJ5VHlwZSBpcyAibWFyayIKK1BBU1MgdHlw
ZW9mIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoInRlc3QiKVswXS5zdGFydFRpbWUgPT09
ICJudW1iZXIiIGlzIHRydWUKK1BBU1MgdHlwZW9mIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5h
bWUoInRlc3QiKVswXS5kdXJhdGlvbiA9PT0gIm51bWJlciIgaXMgdHJ1ZQorUEFTUyBwZXJmb3Jt
YW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJ0ZXN0IiwgIm5vdC1yZWFsIikubGVuZ3RoID09PSAwIGlz
IHRydWUKK1BBU1MgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgidGVzdCIsICJtYXJrIiku
bGVuZ3RoID09PSAxIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1hcGkv
cGVyZm9ybWFuY2UtdGltZWxpbmUtYXBpLmh0bWwgYi9MYXlvdXRUZXN0cy9wZXJmb3JtYW5jZS1h
cGkvcGVyZm9ybWFuY2UtdGltZWxpbmUtYXBpLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAuLmUxNzM5MTk1Njk0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLXRpbWVsaW5lLWFwaS5odG1sCkBAIC0wLDAg
KzEsNTggQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0PgorZGVzY3JpcHRpb24oIkJhc2ljIEludGVyZmFjZSB0ZXN0IGZvciBwZXJmb3JtYW5j
ZS10aW1lbGluZSBBUElzLiIpOworCitkZWJ1ZygiUGVyZm9ybWFuY2VFbnRyeSIpOworc2hvdWxk
QmVEZWZpbmVkKCJQZXJmb3JtYW5jZUVudHJ5Iik7CitzaG91bGRCZVRydWUoYCJuYW1lIiBpbiBQ
ZXJmb3JtYW5jZUVudHJ5LnByb3RvdHlwZWApOworc2hvdWxkQmVUcnVlKGAiZW50cnlUeXBlIiBp
biBQZXJmb3JtYW5jZUVudHJ5LnByb3RvdHlwZWApOworc2hvdWxkQmVUcnVlKGAic3RhcnRUaW1l
IiBpbiBQZXJmb3JtYW5jZUVudHJ5LnByb3RvdHlwZWApOworc2hvdWxkQmVUcnVlKGAiZHVyYXRp
b24iIGluIFBlcmZvcm1hbmNlRW50cnkucHJvdG90eXBlYCk7CitzaG91bGRUaHJvdyhgbmV3IFBl
cmZvcm1hbmNlRW50cnkoKWApOworCisvLyBOT1RFOiBUaGUgQVBJcyBiZWxvdyBtYXkgYmUgZ29p
bmcgYXdheS4gUmVwbGFjZWQgYnkgUGVyZm9ybWFuY2VPYnNlcnZlci4KKworZGVidWcoIiIpOwor
ZGVidWcoIlBlcmZvcm1hbmNlIGV4dGVuc2lvbnMiKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9y
bWFuY2UucHJvdG90eXBlLmdldEVudHJpZXNgKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9ybWFu
Y2UucHJvdG90eXBlLmdldEVudHJpZXNCeVR5cGVgKTsKK3Nob3VsZEJlRGVmaW5lZChgUGVyZm9y
bWFuY2UucHJvdG90eXBlLmdldEVudHJpZXNCeU5hbWVgKTsKKworc2hvdWxkQmVUcnVlKGBwZXJm
b3JtYW5jZS5nZXRFbnRyaWVzKCkgaW5zdGFuY2VvZiBBcnJheWApOworc2hvdWxkQmVUcnVlKGBw
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzKCkubGVuZ3RoID09PSAwYCk7CitzaG91bGROb3RUaHJvdyhg
cGVyZm9ybWFuY2UubWFyaygidGVzdCIpO2ApOworc2hvdWxkQmVUcnVlKGBwZXJmb3JtYW5jZS5n
ZXRFbnRyaWVzKCkubGVuZ3RoID09PSAxYCk7CitzaG91bGRCZVRydWUoYHBlcmZvcm1hbmNlLmdl
dEVudHJpZXMoKVswXSBpbnN0YW5jZW9mIFBlcmZvcm1hbmNlRW50cnlgKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZyhgcGVyZm9ybWFuY2UuZ2V0RW50cmllcygpWzBdLm5hbWVgLCAidGVzdCIpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKClbMF0uZW50cnlU
eXBlYCwgIm1hcmsiKTsKK3Nob3VsZEJlVHJ1ZShgdHlwZW9mIHBlcmZvcm1hbmNlLmdldEVudHJp
ZXMoKVswXS5zdGFydFRpbWUgPT09ICJudW1iZXIiYCk7CitzaG91bGRCZVRydWUoYHR5cGVvZiBw
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzKClbMF0uZHVyYXRpb24gPT09ICJudW1iZXIiYCk7CisKK3No
b3VsZFRocm93KGBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKClgKTsKK3Nob3VsZEJlVHJ1
ZShgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibm90LXJlYWwiKS5sZW5ndGggPT09IDBg
KTsKK3Nob3VsZEJlVHJ1ZShgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibWFyayIpLmxl
bmd0aCA9PT0gMWApOworc2hvdWxkQmVUcnVlKGBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBl
KCJtYXJrIilbMF0gaW5zdGFuY2VvZiBQZXJmb3JtYW5jZUVudHJ5YCk7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoYHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoIm1hcmsiKVswXS5uYW1lYCwg
InRlc3QiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZyhgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5
VHlwZSgibWFyayIpWzBdLmVudHJ5VHlwZWAsICJtYXJrIik7CitzaG91bGRCZVRydWUoYHR5cGVv
ZiBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJtYXJrIilbMF0uc3RhcnRUaW1lID09PSAi
bnVtYmVyImApOworc2hvdWxkQmVUcnVlKGB0eXBlb2YgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5
VHlwZSgibWFyayIpWzBdLmR1cmF0aW9uID09PSAibnVtYmVyImApOworCitzaG91bGRUaHJvdyhg
cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgpYCk7CitzaG91bGRCZVRydWUoYHBlcmZvcm1h
bmNlLmdldEVudHJpZXNCeU5hbWUoIm5vdC1yZWFsIikubGVuZ3RoID09PSAwYCk7CitzaG91bGRC
ZVRydWUoYHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoInRlc3QiKS5sZW5ndGggPT09IDFg
KTsKK3Nob3VsZEJlVHJ1ZShgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgidGVzdCIpWzBd
IGluc3RhbmNlb2YgUGVyZm9ybWFuY2VFbnRyeWApOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGBw
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJ0ZXN0IilbMF0ubmFtZWAsICJ0ZXN0Iik7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoYHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoInRlc3Qi
KVswXS5lbnRyeVR5cGVgLCAibWFyayIpOworc2hvdWxkQmVUcnVlKGB0eXBlb2YgcGVyZm9ybWFu
Y2UuZ2V0RW50cmllc0J5TmFtZSgidGVzdCIpWzBdLnN0YXJ0VGltZSA9PT0gIm51bWJlciJgKTsK
K3Nob3VsZEJlVHJ1ZShgdHlwZW9mIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoInRlc3Qi
KVswXS5kdXJhdGlvbiA9PT0gIm51bWJlciJgKTsKK3Nob3VsZEJlVHJ1ZShgcGVyZm9ybWFuY2Uu
Z2V0RW50cmllc0J5TmFtZSgidGVzdCIsICJub3QtcmVhbCIpLmxlbmd0aCA9PT0gMGApOworc2hv
dWxkQmVUcnVlKGBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJ0ZXN0IiwgIm1hcmsiKS5s
ZW5ndGggPT09IDFgKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0
ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2pzL2RvbS9nbG9iYWwt
Y29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CmluZGV4IGE0YWVhMGEzMmIzLi41
ZmYwMGMyMjY0YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2pzL2RvbS9n
bG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2VmbC9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4
cGVjdGVkLnR4dApAQCAtMTAyOCw2ICsxMDI4LDE2IEBAIFBBU1MgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5oYXNPd25Qcm9w
CiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCiBQQVNTIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
JykuZW51bWVyYWJsZSBpcyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlvbicpLmNvbmZpZ3VyYWJsZSBpcyB0cnVl
CitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFu
Y2VPYnNlcnZlcicpLnZhbHVlIGlzIFBlcmZvcm1hbmNlT2JzZXJ2ZXIKK1BBU1MgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuaGFz
T3duUHJvcGVydHkoJ2dldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmhhc093blByb3BlcnR5KCdz
ZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2Jh
bCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicp
LmNvbmZpZ3VyYWJsZSBpcyB0cnVlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLnZhbHVlIGlzIFBlcmZv
cm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuaGFzT3duUHJvcGVy
dHkoJ2dldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
Z2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhhc093blByb3BlcnR5KCdz
ZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2Jh
bCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQ
QVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VP
YnNlcnZlckVudHJ5TGlzdCcpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCiBQQVNTIE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VUaW1pbmcnKS52YWx1ZSBp
cyBQZXJmb3JtYW5jZVRpbWluZwogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KGdsb2JhbCwgJ1BlcmZvcm1hbmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZh
bHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9y
bWFuY2VUaW1pbmcnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRy
aWJ1dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9qcy9kb20vZ2xv
YmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAppbmRleCA1MmFkOWZjNTQz
Yi4uM2U0NTg3Nzk5NWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9qcy9k
b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRl
cy1leHBlY3RlZC50eHQKQEAgLTExNTgsNiArMTE1OCwxNiBAQCBQQVNTIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuaGFzT3du
UHJvcAogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZv
cm1hbmNlTmF2aWdhdGlvbicpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQogUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdh
dGlvbicpLmVudW1lcmFibGUgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5jb25maWd1cmFibGUgaXMg
dHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZv
cm1hbmNlT2JzZXJ2ZXInKS52YWx1ZSBpcyBQZXJmb3JtYW5jZU9ic2VydmVyCitQQVNTIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicp
Lmhhc093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS5oYXNPd25Qcm9wZXJ0
eSgnc2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihn
bG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2
ZXInKS5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS52YWx1ZSBpcyBQ
ZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0CitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhhc093blBy
b3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5oYXNPd25Qcm9wZXJ0
eSgnc2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihn
bG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuZW51bWVyYWJsZSBpcyBmYWxz
ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1h
bmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5jb25maWd1cmFibGUgaXMgdHJ1ZQogUEFTUyBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlVGltaW5nJykudmFs
dWUgaXMgUGVyZm9ybWFuY2VUaW1pbmcKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZVRpbWluZycpLmhhc093blByb3BlcnR5KCdnZXQnKSBp
cyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1Bl
cmZvcm1hbmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtZWxjYXBpdGFuL2pzL2RvbS9nbG9iYWwtY29u
c3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLWVsY2FwaXRhbi9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVj
dGVkLnR4dAppbmRleCBhYjkxYjhlNWZjMi4uN2ZjMThlYWMxNzggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy1lbGNhcGl0YW4vanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMt
YXR0cmlidXRlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWVs
Y2FwaXRhbi9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4
dApAQCAtMTE5Myw2ICsxMTkzLDE2IEBAIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5oYXNPd25Qcm9wCiBQQVNTIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0
aW9uJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCiBQQVNTIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuZW51bWVy
YWJsZSBpcyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2Jh
bCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlvbicpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCitQQVNTIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZl
cicpLnZhbHVlIGlzIFBlcmZvcm1hbmNlT2JzZXJ2ZXIKK1BBU1MgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuaGFzT3duUHJvcGVy
dHkoJ2dldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
Z2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBm
YWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZv
cm1hbmNlT2JzZXJ2ZXInKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmNvbmZpZ3Vy
YWJsZSBpcyB0cnVlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFs
LCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLnZhbHVlIGlzIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXJFbnRyeUxpc3QKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9i
YWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuaGFzT3duUHJvcGVydHkoJ2dldCcp
IGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAn
UGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBm
YWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZv
cm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVu
dHJ5TGlzdCcpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VUaW1pbmcnKS52YWx1ZSBpcyBQZXJmb3Jt
YW5jZVRpbWluZwogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwg
J1BlcmZvcm1hbmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZhbHNlCiBQQVNT
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VUaW1p
bmcnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azEvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRl
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2pzL2RvbS9nbG9i
YWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CmluZGV4IGFiOTFiOGU1ZmMy
Li43ZmMxOGVhYzE3OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9q
cy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0
dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CkBAIC0xMTkzLDYgKzExOTMsMTYgQEAgUEFTUyBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlvbicp
Lmhhc093blByb3AKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWws
ICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UK
IFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5j
ZU5hdmlnYXRpb24nKS5lbnVtZXJhYmxlIGlzIGZhbHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuY29uZmlndXJh
YmxlIGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWws
ICdQZXJmb3JtYW5jZU9ic2VydmVyJykudmFsdWUgaXMgUGVyZm9ybWFuY2VPYnNlcnZlcgorUEFT
UyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXInKS5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuaGFzT3du
UHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmVudW1lcmFibGUgaXMgZmFsc2UK
K1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5j
ZU9ic2VydmVyJykuY29uZmlndXJhYmxlIGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykudmFs
dWUgaXMgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdAorUEFTUyBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5o
YXNPd25Qcm9wZXJ0eSgnZ2V0JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuaGFzT3du
UHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmVudW1lcmFibGUg
aXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQ
ZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuY29uZmlndXJhYmxlIGlzIHRydWUKIFBBU1Mg
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZVRpbWlu
ZycpLnZhbHVlIGlzIFBlcmZvcm1hbmNlVGltaW5nCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VUaW1pbmcnKS5oYXNPd25Qcm9wZXJ0eSgn
Z2V0JykgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9i
YWwsICdQZXJmb3JtYW5jZVRpbWluZycpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXlvc2VtaXRlL2pzL2RvbS9nbG9i
YWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXlvc2VtaXRlL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMt
ZXhwZWN0ZWQudHh0CmluZGV4IGQ1MTc1Njc0MzdmLi5iMDgxYWQyZWRjZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXlvc2VtaXRlL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0
b3JzLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy15b3NlbWl0ZS9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVk
LnR4dApAQCAtMTE4OCw2ICsxMTg4LDE2IEBAIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5oYXNPd25Qcm9wCiBQQVNT
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZp
Z2F0aW9uJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCiBQQVNTIE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuZW51
bWVyYWJsZSBpcyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGds
b2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlvbicpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCitQQVNT
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNl
cnZlcicpLnZhbHVlIGlzIFBlcmZvcm1hbmNlT2JzZXJ2ZXIKK1BBU1MgT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuaGFzT3duUHJv
cGVydHkoJ2dldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmhhc093blByb3BlcnR5KCdzZXQnKSBp
cyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1Bl
cmZvcm1hbmNlT2JzZXJ2ZXInKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmNvbmZp
Z3VyYWJsZSBpcyB0cnVlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xv
YmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLnZhbHVlIGlzIFBlcmZvcm1hbmNl
T2JzZXJ2ZXJFbnRyeUxpc3QKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihn
bG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuaGFzT3duUHJvcGVydHkoJ2dl
dCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFs
LCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhhc093blByb3BlcnR5KCdzZXQnKSBp
cyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1Bl
cmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZl
ckVudHJ5TGlzdCcpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VUaW1pbmcnKS52YWx1ZSBpcyBQZXJm
b3JtYW5jZVRpbWluZwogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2Jh
bCwgJ1BlcmZvcm1hbmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZhbHNlCiBQ
QVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VU
aW1pbmcnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9qcy9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9qcy9kb20vZ2xvYmFsLWNv
bnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAppbmRleCBkNTdlNzFjMjBhNi4uYWE4
MGVlNDUwZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9qcy9kb20vZ2xv
YmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBl
Y3RlZC50eHQKQEAgLTExOTgsNiArMTE5OCwxNiBAQCBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9uJykuaGFzT3duUHJvcAog
UEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNl
TmF2aWdhdGlvbicpLmhhc093blByb3BlcnR5KCdzZXQnKSBpcyBmYWxzZQogUEFTUyBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlvbicp
LmVudW1lcmFibGUgaXMgZmFsc2UKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5jb25maWd1cmFibGUgaXMgdHJ1ZQor
UEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNl
T2JzZXJ2ZXInKS52YWx1ZSBpcyBQZXJmb3JtYW5jZU9ic2VydmVyCitQQVNTIE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmhhc093
blByb3BlcnR5KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS5oYXNPd25Qcm9wZXJ0eSgnc2V0
JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWws
ICdQZXJmb3JtYW5jZU9ic2VydmVyJykuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFTUyBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS5j
b25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS52YWx1ZSBpcyBQZXJmb3Jt
YW5jZU9ic2VydmVyRW50cnlMaXN0CitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhhc093blByb3BlcnR5
KCdnZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGds
b2JhbCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0
JykgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWws
ICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFT
UyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXJFbnRyeUxpc3QnKS5jb25maWd1cmFibGUgaXMgdHJ1ZQogUEFTUyBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlVGltaW5nJykudmFsdWUgaXMg
UGVyZm9ybWFuY2VUaW1pbmcKIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihn
bG9iYWwsICdQZXJmb3JtYW5jZVRpbWluZycpLmhhc093blByb3BlcnR5KCdnZXQnKSBpcyBmYWxz
ZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgJ1BlcmZvcm1h
bmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vanMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmli
dXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vanMvZG9tL2dsb2Jh
bC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKaW5kZXggNjZhZWEyZDliYWQu
LjZlNWRlNTBjZjNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vanMvZG9t
L2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL2pzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMt
ZXhwZWN0ZWQudHh0CkBAIC04ODgsNiArODg4LDE2IEBAIFBBU1MgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU5hdmlnYXRpb24nKS5oYXNPd25Qcm9w
CiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uJykuaGFzT3duUHJvcGVydHkoJ3NldCcpIGlzIGZhbHNlCiBQQVNTIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
JykuZW51bWVyYWJsZSBpcyBmYWxzZQogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKGdsb2JhbCwgJ1BlcmZvcm1hbmNlTmF2aWdhdGlvbicpLmNvbmZpZ3VyYWJsZSBpcyB0cnVl
CitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFu
Y2VPYnNlcnZlcicpLnZhbHVlIGlzIFBlcmZvcm1hbmNlT2JzZXJ2ZXIKK1BBU1MgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyJykuaGFz
T3duUHJvcGVydHkoJ2dldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicpLmhhc093blByb3BlcnR5KCdz
ZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2Jh
bCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXInKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlcicp
LmNvbmZpZ3VyYWJsZSBpcyB0cnVlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLnZhbHVlIGlzIFBlcmZv
cm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihnbG9iYWwsICdQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0JykuaGFzT3duUHJvcGVy
dHkoJ2dldCcpIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
Z2xvYmFsLCAnUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCcpLmhhc093blByb3BlcnR5KCdz
ZXQnKSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2Jh
bCwgJ1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QnKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQ
QVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VP
YnNlcnZlckVudHJ5TGlzdCcpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCiBQQVNTIE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9ybWFuY2VUaW1pbmcnKS52YWx1ZSBp
cyBQZXJmb3JtYW5jZVRpbWluZwogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KGdsb2JhbCwgJ1BlcmZvcm1hbmNlVGltaW5nJykuaGFzT3duUHJvcGVydHkoJ2dldCcpIGlzIGZh
bHNlCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAnUGVyZm9y
bWFuY2VUaW1pbmcnKS5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgaXMgZmFsc2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q2hhbmdlTG9nCmluZGV4IGRhYzIwMTg1ODY0Li5hNTNhMDMwYjNkNiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMDEtMzAgIEpvc2VwaCBQZWNvcmFybyAg
PHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgUGVyZm9ybWFuY2VPYnNl
cnZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3
NTQ2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDI0Nzk1OT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBydW50aW1lL0NvbW1vbklkZW50aWZpZXJz
Lmg6CisKIDIwMTctMDEtMzAgIE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IE5lZWQgc29tZSBsaW1pdCBvbiBBc3luYyBDYWxsIFN0YWNr
cyBmb3IgYXN5bmMgbG9vcHMgKHJBRiBsb29wcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4IDQ1NWE0MTJlMmI3Li41Nzg3YWY1
NjAyMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRl
bnRpZmllcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVu
dGlmaWVycy5oCkBAIC04OSw2ICs4OSw4IEBACiAgICAgbWFjcm8oUGVyZm9ybWFuY2VFbnRyeUxp
c3QpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU1hcmspIFwKICAgICBtYWNybyhQZXJmb3JtYW5j
ZU1lYXN1cmUpIFwKKyAgICBtYWNybyhQZXJmb3JtYW5jZU9ic2VydmVyKSBcCisgICAgbWFjcm8o
UGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcpIFwKICAgICBtYWNybyhQcm9taXNlKSBcCiAgICAgbWFjcm8oUHJveHkpIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNDQzMTZkZWNiZDQuLjVjY2RkODNlMTBiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dApAQCAtNjAxLDYgKzYwMSw5IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURM
X0ZJTEVTCiAgICAgcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbAogICAgIHBhZ2UvUGVyZm9ybWFu
Y2VNYXJrLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbAorICAgIHBhZ2UvUGVy
Zm9ybWFuY2VPYnNlcnZlci5pZGwKKyAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFj
ay5pZGwKKyAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsCiAgICAgcGFn
ZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsCkBAIC0xOTkwLDYgKzE5
OTMsOCBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmcu
Y3BwCiAgICAgcGFnZS9QZXJmb3JtYW5jZU1vbml0b3IuY3BwCiAgICAgcGFnZS9QZXJmb3JtYW5j
ZU5hdmlnYXRpb24uY3BwCisgICAgcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAorICAgIHBh
Z2UvUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAKICAgICBwYWdlL1BlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcuY3BwCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5jcHAKICAgICBw
YWdlL1BlcmZvcm1hbmNlVXNlclRpbWluZy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkNWNjZGI2YWQxZS4u
NzU1ODI1MmMyZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4NyBAQAorMjAxNy0wMS0zMCAgSm9z
ZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBQ
ZXJmb3JtYW5jZU9ic2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjc1NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwMjQ3OTU5PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICBUaGlzIGltcGxlbWVu
dHMgUGVyZm9ybWFuY2VPYnNlcnZlciBmcm9tIFBlcmZvcm1hbmNlIFRpbWVsaW5lIExldmVsIDI6
CisgICAgICAgIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJmb3JtYW5jZS10aW1lbGluZS8KKwor
ICAgICAgICBUZXN0czogcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9ic2VydmVyLWFwaS5o
dG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXIt
YmFzaWMuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1hbmNlLW9i
c2VydmVyLWNhbGxiYWNrLW11dGF0ZS5odG1sCisgICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1h
cGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItY2FsbGJhY2stdGFzay5odG1sCisgICAgICAgICAgICAg
ICBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZW50cnktc29ydC5odG1sCisg
ICAgICAgICAgICAgICBwZXJmb3JtYW5jZS1hcGkvcGVyZm9ybWFuY2Utb2JzZXJ2ZXItZXhjZXB0
aW9uLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9wZXJmb3JtYW5jZS1vYnNl
cnZlci1uZXN0ZWQuaHRtbAorICAgICAgICAgICAgICAgcGVyZm9ybWFuY2UtYXBpL3BlcmZvcm1h
bmNlLW9ic2VydmVyLW9yZGVyLmh0bWwKKyAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlLWFwaS9w
ZXJmb3JtYW5jZS1vYnNlcnZlci1wZXJpb2RpYy5odG1sCisgICAgICAgICAgICAgICBwZXJmb3Jt
YW5jZS1hcGkvcGVyZm9ybWFuY2UtdGltZWxpbmUtYXBpLmh0bWwKKworICAgICAgICAqIENNYWtl
TGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICBOZXcgZmlsZXMuCisKKyAg
ICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmg6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6bWFyayk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6bWVhc3VyZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZTo6cmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZv
cm1hbmNlOjp1bnJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcik6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZTo6cXVldWVFbnRyeSk6CisgICAgICAgIFJlZ2lzdGVyIFBlcmZvcm1hbmNl
T2JzZXJ2ZXJzIHdpdGggdGhlIFBlcmZvcm1hbmNlIG9iamVjdC4KKyAgICAgICAgV2hlbiBuZXcg
UGVyZm9ybWFuY2VFbnRyaWVzIGFyZSBjcmVhdGVkIChNYXJrIGFuZCBNZWFzdXJlCisgICAgICAg
IHJpZ2h0IG5vdykgY2hlY2sgdGhlbSBhZ2FpbnN0IG9ic2VydmVycy4KKworICAgICAgICAqIHBh
Z2UvUGVyZm9ybWFuY2VFbnRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVu
dHJ5OjpQZXJmb3JtYW5jZUVudHJ5KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50
cnk6OnR5cGVGb3JFbnRyeVR5cGVTdHJpbmcpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VF
bnRyeS5oOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6dHlwZSk6CisgICAg
ICAgIEdpdmUgUGVyZm9ybWFuY2VFbnRyeSBhIGNvbnZlbmllbmNlIGVudW0gZm9yIGVhc3kgY29t
cGFyaXNvbgorICAgICAgICBhbmQgdG8ga25vdyBpZiBpdCBpcyBvbmUgb2YgdGhlIGJ1aWx0LWlu
IGtub3duIHR5cGVzICh3aGljaCB0aGUKKyAgICAgICAgUGVyZm9ybWFuY2VPYnNlcnZlciBBUEkg
dGFrZXMgaW50byBhY2NvdW50KS4KKworICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6UGVy
Zm9ybWFuY2VPYnNlcnZlcik6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVy
OjpvYnNlcnZlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlT2JzZXJ2ZXI6OmRpc2Nv
bm5lY3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6cXVldWVFbnRy
eSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyOjpkZWxpdmVyKToKKyAg
ICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBl
cmZvcm1hbmNlT2JzZXJ2ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZU9ic2VydmVyOjp0eXBlRmlsdGVyKToKKyAgICAgICAgLSBUeXBlRXJyb3JzIG9uIG9ic2VydmUg
YmFkIGJlaGF2aW9yCisgICAgICAgIC0gQ29tcGxldGVseSByZXBsYWNlIHR5cGVzIGZpbHRlciBv
biBvYnNlcnZlCisgICAgICAgIC0gSGFuZGxlIHJlZ2lzdGVyIGFuZCB1bnJlZ2lzdGVyCisgICAg
ICAgIC0gSGFuZGxlIGNhbGxpbmcgdGhlIGNhbGxiYWNrCisKKyAgICAgICAgKiBwYWdlL1BlcmZv
cm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGw6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvUGVyZm9y
bWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdDo6UGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCk6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0OjpnZXRFbnRy
aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Q6Omdl
dEVudHJpZXNCeVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlckVu
dHJ5TGlzdDo6Z2V0RW50cmllc0J5TmFtZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU9i
c2VydmVyRW50cnlMaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU9ic2VydmVy
RW50cnlMaXN0OjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckVu
dHJ5TGlzdC5pZGw6IEFkZGVkLgorICAgICAgICBJbXBsZW1lbnQgc29ydGluZyBhbmQgZmlsdGVy
aW5nIG9mIGVudHJpZXMuCisKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5oOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrOjp+UGVyZm9ybWFu
Y2VPYnNlcnZlckNhbGxiYWNrKToKKyAgICAgICAgTW9zdGx5IGF1dG9nZW5lcmF0ZWQuCisKKyAg
ICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlVXNlclRpbWluZy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpVc2VyVGltaW5nOjptYXJrKToKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJUaW1pbmc6Om1lYXN1
cmUpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VVc2VyVGltaW5nLmg6CisgICAgICAgIFVw
ZGF0ZSB0aGVzZSB0byByZXR1cm4gdGhlIGVudHJ5IHNvIGl0IGNhbiBiZSBwYXNzZWQgb24gdG8K
KyAgICAgICAgYW55IGludGVyZXN0ZWQgUGVyZm9ybWFuY2VPYnNlcnZlcnMuCisKIDIwMTctMDEt
MzAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBEcm9wIGxlZ2Fj
eSBBdHRyaWJ1dGVzLmlzSWQgYXR0cmlidXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpp
bmRleCAzOGU3Y2I5MzM5ZC4uNzEwNjZjNjI5ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQpAQCAtNTg0LDYgKzU4NCw5IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNv
cmUpL3BhZ2UvUGVyZm9ybWFuY2VNYXJrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZv
cm1hbmNlTWVhc3VyZS5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU5hdmln
YXRpb24uaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwg
XAorICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2suaWRsIFwK
KyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwgXAog
ICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbCBcCiAgICAgJChXZWJDb3JlKS9w
YWdlL1NjcmVlbi5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IGEzZWJiZDFiYWIwLi5jMGJkYjIyZTQxNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDA1
OCw2ICs0MDU4LDE3IEBACiAJCUE1QTJBRjBCMTgyOTczNDMwMERFMTcyOSAvKiBQYWdlRGVidWdn
YWJsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NUEyQUYwOTE4Mjk3MzQzMDBERTE3MjkgLyogUGFnZURlYnVnZ2FibGUuY3BwICovOyB9OwogCQlB
NUEyQUYwQzE4Mjk3MzQzMDBERTE3MjkgLyogUGFnZURlYnVnZ2FibGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QTJBRjBBMTgyOTczNDMwMERFMTcy
OSAvKiBQYWdlRGVidWdnYWJsZS5oICovOyB9OwogCQlBNUE3QUE0MzEzMkYwRUNDMDBEM0EzQzIg
LyogQXV0b2NhcGl0YWxpemVUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTVBN0FBNDIxMzJGMEVDQzAwRDNBM0MyIC8qIEF1dG9jYXBpdGFsaXpl
VHlwZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQlBNUE5OTMzRDFFMzdGQjE5MDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVBOTkzMzYxRTM3RkFG
RDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuaCAqLzsgfTsKKwkJQTVBOTkzM0UxRTM3
RkIxQzAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVBOTkzMzUxRTM3RkFGRDAwNUI1RTREIC8q
IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwICovOyB9OworCQlBNUE5OTMzRjFFMzdGQjFGMDA1QjVF
NEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUE5OTMzODFFMzdGQUZEMDA1QjVFNEQgLyogUGVy
Zm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmggKi87IH07CisJCUE1QTk5MzQwMUUzN0ZCMjUwMDVC
NUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QTk5MzNBMUUzN0ZBRkQwMDVCNUU0RCAv
KiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmNwcCAqLzsgfTsKKwkJQTVBOTkzNDExRTM3
RkIyODAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QTk5MzNCMUUzN0ZBRkQwMDVC
NUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmggKi87IH07CisJCUE1QTk5MzQ4
MUUzODA5QzYwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QTk5MzQzMUUzODA5OTkwMDVCNUU0
RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaCAqLzsgfTsKKwkJQTVBOTkzNDkxRTM4MDlDOTAw
NUI1RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QTk5MzQ0MUUzODA5OTkwMDVCNUU0
RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5jcHAgKi87IH07CisJCUE1QTk5MzRB
MUUzODA5Q0IwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVBOTkzNDUxRTM4MDk5
OTAwNUI1RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmggKi87IH07CisJCUE1
QTk5MzRCMUUzODA5Q0QwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Qu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVBOTkz
NDYxRTM4MDk5OTAwNUI1RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAg
Ki87IH07CisJCUE1QTk5MzRDMUUzODA5Q0YwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2
ZXJFbnRyeUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE1QTk5MzQ3MUUzODA5OTkwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRy
eUxpc3QuaCAqLzsgfTsKKwkJQTVBOTkzNEQxRTM4MDlENzAwNUI1RTREIC8qIEpTUGVyZm9ybWFu
Y2VPYnNlcnZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNUE5OTM0MjFFMzgwOTk5MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2VydmVyLmNw
cCAqLzsgfTsKIAkJQTVBRkIzNEYxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUFGQjM0RDExNTE1
MUE3MDBCMDQ1Q0IgLyogU3RlcFJhbmdlLmNwcCAqLzsgfTsKIAkJQTVBRkIzNTAxMTUxNTFBNzAw
QjA0NUNCIC8qIFN0ZXBSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTVBRkIzNEUxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE1REVCREEzMTZG
QjkwODcwMDgzNkZFMCAvKiBXZWJLaXRQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUV2ZW50LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1REVCRDlG
MTZGQjkwODcwMDgzNkZFMCAvKiBXZWJLaXRQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUV2ZW50
LmNwcCAqLzsgfTsKQEAgLTExNzc0LDYgKzExNzg1LDIwIEBACiAJCUE1QTJBRjA5MTgyOTczNDMw
MERFMTcyOSAvKiBQYWdlRGVidWdnYWJsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBQYWdlRGVidWdnYWJsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE1QTJBRjBBMTgyOTczNDMwMERFMTcyOSAvKiBQYWdlRGVidWdnYWJsZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYWdlRGVidWdnYWJsZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBNUE3QUE0MjEzMkYwRUNDMDBEM0EzQzIgLyogQXV0b2NhcGl0YWxp
emVUeXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdXRvY2FwaXRhbGl6
ZVR5cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QTk5MzM1MUUzN0ZBRkQw
MDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBNUE5OTMzNjFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNl
cnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZU9ic2Vy
dmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QTk5MzM3MUUzN0ZBRkQwMDVC
NUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQ
ZXJmb3JtYW5jZU9ic2VydmVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVB
OTkzMzgxRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJh
Y2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVBOTkzMzkxRTM3RkFGRDAwNUI1
RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTVBOTkzM0ExRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2
ZXJFbnRyeUxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVy
Zm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUE1QTk5MzNCMUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlM
aXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNlT2JzZXJ2
ZXJFbnRyeUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVBOTkzM0MxRTM3
RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBNUE5OTM0MjFFMzgwOTk5MDA1QjVFNEQgLyogSlNQZXJm
b3JtYW5jZU9ic2VydmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTUGVyZm9ybWFuY2VPYnNlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUE1QTk5MzQzMUUzODA5OTkwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQZXJmb3JtYW5jZU9ic2VydmVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QTk5MzQ0MUUzODA5OTkwMDVCNUU0RCAvKiBK
U1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QTk5MzQ1MUUzODA5OTkwMDVCNUU0RCAvKiBKU1BlcmZv
cm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBNUE5OTM0NjFFMzgwOTk5MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2VydmVy
RW50cnlMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUGVy
Zm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUE1QTk5MzQ3MUUzODA5OTkwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRy
eUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQZXJmb3JtYW5jZU9i
c2VydmVyRW50cnlMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1QUZCMzRE
MTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU3RlcFJhbmdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQTVBRkIzNEUxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTdGVwUmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQTVDOTc0Q0YxMTQ4NUZGMTAwNjZGMkFCIC8qIEtleUV2ZW50Q29jb2EuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gS2V5RXZlbnRDb2NvYS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTUzMTUsMTIgKzE1MzQwLDEyIEBACiAJCQkJMDc0NEVDRUMxRTBD
NEFFNTAwMEQwOTQ0IC8qIE1vY2tSZWFsdGltZUF1ZGlvU291cmNlTWFjLm1tICovLAogCQkJCTA3
RUU3NkVEMUJFQTYxOTgwMEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYy5oICov
LAogCQkJCTA3RUU3NkVFMUJFQTYxOTgwMEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJj
ZU1hYy5tbSAqLywKKwkJCQk0MTEwM0FBQTFFMzk3OTBBMDA3NjlGMDMgLyogUmVhbHRpbWVJbmNv
bWluZ0F1ZGlvU291cmNlLmNwcCAqLywKKwkJCQk0MTEwM0FBOTFFMzk3OTBBMDA3NjlGMDMgLyog
UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmggKi8sCiAJCQkJNEEwRkZBQTMxQUFGNUVGNjAw
NjI4MDNCIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwICovLAogCQkJCTRBMEZG
QUE0MUFBRjVFRjYwMDYyODAzQiAvKiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmggKi8s
CiAJCQkJNDExMDNBQTcxRTM5NzkwQTAwNzY5RjAzIC8qIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1Nv
dXJjZS5jcHAgKi8sCiAJCQkJNDExMDNBQTgxRTM5NzkwQTAwNzY5RjAzIC8qIFJlYWx0aW1lT3V0
Z29pbmdBdWRpb1NvdXJjZS5oICovLAotCQkJCTQxMTAzQUE5MUUzOTc5MEEwMDc2OUYwMyAvKiBS
ZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuaCAqLywKLQkJCQk0MTEwM0FBQTFFMzk3OTBBMDA3
NjlGMDMgLyogUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmNwcCAqLywKIAkJCQkwN0Q2Mzcz
RTFCQjBCMTEzMDAyNTZDRTkgLyogV2ViQXVkaW9Tb3VyY2VQcm92aWRlckFWRk9iakMuaCAqLywK
IAkJCQkwN0Q2MzczRjFCQjBCMTEzMDAyNTZDRTkgLyogV2ViQXVkaW9Tb3VyY2VQcm92aWRlckFW
Rk9iakMubW0gKi8sCiAJCQkpOwpAQCAtMTY3MTksOCArMTY3NDQsOCBAQAogCQkJCTUxMDU4QUQ4
MUQ2NzkyNTcwMDlBNTM4QyAvKiBNb2NrR2FtZXBhZC5oICovLAogCQkJCTUxMDU4QUQ5MUQ2Nzky
NTcwMDlBNTM4QyAvKiBNb2NrR2FtZXBhZFByb3ZpZGVyLmNwcCAqLywKIAkJCQk1MTA1OEFEQTFE
Njc5MjU3MDA5QTUzOEMgLyogTW9ja0dhbWVwYWRQcm92aWRlci5oICovLAotCQkJCTQxNTdFQkY4
MUUzQUIwNjgwMEFDOUZFOSAvKiBNb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uaCAqLywKIAkJ
CQk0MTU3RUJGOTFFM0FCMDY4MDBBQzlGRTkgLyogTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9u
LmNwcCAqLywKKwkJCQk0MTU3RUJGODFFM0FCMDY4MDBBQzlGRTkgLyogTW9ja0xpYldlYlJUQ1Bl
ZXJDb25uZWN0aW9uLmggKi8sCiAJCQkJMkQ2RjNFOEExQzFFQ0IxQzAwNjFEQkQ0IC8qIE1vY2tQ
YWdlT3ZlcmxheS5jcHAgKi8sCiAJCQkJMkQ2RjNFOEIxQzFFQ0IxQzAwNjFEQkQ0IC8qIE1vY2tQ
YWdlT3ZlcmxheS5oICovLAogCQkJCTJENkYzRThDMUMxRUNCMUMwMDYxREJENCAvKiBNb2NrUGFn
ZU92ZXJsYXkuaWRsICovLApAQCAtMTgxMjksNiArMTgxNTQsMTQgQEAKIAkJCQk4QUY0RTU1MjEx
REM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCAqLywKIAkJCQk4QUY0
RTU1MzExREM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmggKi8sCiAJCQkJ
OEFGNEU1NTQxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwgKi8s
CisJCQkJQTVBOTkzMzUxRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuY3Bw
ICovLAorCQkJCUE1QTk5MzM2MUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9ic2VydmVy
LmggKi8sCisJCQkJQTVBOTkzMzcxRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2
ZXIuaWRsICovLAorCQkJCUE1QTk5MzM4MUUzN0ZBRkQwMDVCNUU0RCAvKiBQZXJmb3JtYW5jZU9i
c2VydmVyQ2FsbGJhY2suaCAqLywKKwkJCQlBNUE5OTMzOTFFMzdGQUZEMDA1QjVFNEQgLyogUGVy
Zm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmlkbCAqLywKKwkJCQlBNUE5OTMzQTFFMzdGQUZEMDA1
QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5jcHAgKi8sCisJCQkJQTVBOTkz
M0IxRTM3RkFGRDAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaCAqLywK
KwkJCQlBNUE5OTMzQzFFMzdGQUZEMDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5
TGlzdC5pZGwgKi8sCiAJCQkJODY1MTJFREIxNTRBMkFFRTAwQTkwNDI2IC8qIFBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcuY3BwICovLAogCQkJCTg2NTEyRURDMTU0QTJBRUYwMEE5MDQyNiAvKiBQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggKi8sCiAJCQkJODY1MTJFREQxNTRBMkFFRjAwQTkw
NDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsICovLApAQCAtMTk4MTgsOCArMTk4
NTEsOCBAQAogCQlBNTlFM0MxQjExNTgwRjM0MDA3MjkyOEUgLyogaW9zICovID0gewogCQkJaXNh
ID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQlGNDgyMjMxMjFFMzg2RTI0MDA2NkZD
NzkgLyogQWJzdHJhY3RQYXN0ZWJvYXJkLmggKi8sCiAJCQkJQTE0ODMyOEIxODdGNTA2ODAwREE2
M0E2IC8qIHdhayAqLywKKwkJCQlGNDgyMjMxMjFFMzg2RTI0MDA2NkZDNzkgLyogQWJzdHJhY3RQ
YXN0ZWJvYXJkLmggKi8sCiAJCQkJMjY1NTQxNEIxNDg5QUEyQjAwMERGQzVEIC8qIEN1cnNvcklP
Uy5jcHAgKi8sCiAJCQkJQTFFRDc3OEExQkUzMjkzRjAwREMxNzkxIC8qIERldmljZS5jcHAgKi8s
CiAJCQkJQTFFRDc3OEIxQkUzMjk0MDAwREMxNzkxIC8qIERldmljZS5oICovLApAQCAtMTk4NzYs
NiArMTk5MDksOCBAQAogCQkJCUU0NTM5MDM4MEVBRkQ2MzcwMDM2OTVDOCAvKiBXZWJDb3JlU3lz
dGVtSW50ZXJmYWNlSU9TLm1tICovLAogCQkJCUZFMEQ4NEU4MTA0ODQzNDgwMDFBMTc5RSAvKiBX
ZWJFdmVudC5oICovLAogCQkJCUZFMEQ4NEVBMTA0ODQzNkUwMDFBMTc5RSAvKiBXZWJFdmVudC5t
bSAqLywKKwkJCQlGNDgyMjMwRjFFMzg2OUI4MDA2NkZDNzkgLyogV2ViSXRlbVByb3ZpZGVyUGFz
dGVib2FyZC5oICovLAorCQkJCUY0ODIyMzBFMUUzODY5QjgwMDY2RkM3OSAvKiBXZWJJdGVtUHJv
dmlkZXJQYXN0ZWJvYXJkLm1tICovLAogCQkJCUNEQTI5QTJFMUNCRjczRkMwMDkwMUNDRiAvKiBX
ZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5oICovLAogCQkJCUNEQTI5QTJGMUNCRjcz
RkMwMDkwMUNDRiAvKiBXZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5tbSAqLywKIAkJ
CQkzRjQyQjMxQjE4ODExOTFCMDAyNzhBQUMgLyogV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxl
ckFWS2l0LmggKi8sCkBAIC0xOTg4Myw4ICsxOTkxOCw2IEBACiAJCQkJM0ZCQzRBRjIxODk4ODE1
NjAwNDZFRTM4IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LmggKi8sCiAJCQkJ
M0ZCQzRBRjExODk4ODE1NjAwNDZFRTM4IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0Lm1tICovLAogCQkJCUU0NTM5MDNDMEVBRkQ2MzcwMDM2OTVDOCAvKiBXaWRnZXRJT1MubW0g
Ki8sCi0JCQkJRjQ4MjIzMEUxRTM4NjlCODAwNjZGQzc5IC8qIFdlYkl0ZW1Qcm92aWRlclBhc3Rl
Ym9hcmQubW0gKi8sCi0JCQkJRjQ4MjIzMEYxRTM4NjlCODAwNjZGQzc5IC8qIFdlYkl0ZW1Qcm92
aWRlclBhc3RlYm9hcmQuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gaW9zOwogCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKQEAgLTIyNDA1LDYgKzIyNDM4LDEyIEBACiAJCQkJQTU4QzU5Q0YxRTM4
MkVBOTAwNDc4NTlDIC8qIEpTUGVyZm9ybWFuY2VNZWFzdXJlLmggKi8sCiAJCQkJOEE5QTU4NkUx
MUU4NEMzNTAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCAqLywKIAkJCQk4
QTlBNTg2RjExRTg0QzM2MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCAqLywK
KwkJCQlBNUE5OTM0MjFFMzgwOTk5MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2VydmVyLmNw
cCAqLywKKwkJCQlBNUE5OTM0MzFFMzgwOTk5MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2Vy
dmVyLmggKi8sCisJCQkJQTVBOTkzNDQxRTM4MDk5OTAwNUI1RTREIC8qIEpTUGVyZm9ybWFuY2VP
YnNlcnZlckNhbGxiYWNrLmNwcCAqLywKKwkJCQlBNUE5OTM0NTFFMzgwOTk5MDA1QjVFNEQgLyog
SlNQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2suaCAqLywKKwkJCQlBNUE5OTM0NjFFMzgwOTk5
MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmNwcCAqLywKKwkJCQlB
NUE5OTM0NzFFMzgwOTk5MDA1QjVFNEQgLyogSlNQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0
LmggKi8sCiAJCQkJQ0IzOEZENTgxQ0QyMzE0NTAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZy5jcHAgKi8sCiAJCQkJQ0IzOEZENTkxQ0QyMzE0NTAwNTkyQTNGIC8qIEpTUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovLAogCQkJCTBGNDNDODVFMTg5RTE1QTYwMDAxOUFF
MiAvKiBKU1BlcmZvcm1hbmNlVGltaW5nLmNwcCAqLywKQEAgLTI0OTM0LDEzICsyNDk3MywxMyBA
QAogCQkJCUExQjVCMjlGMUFBQTg0NkYwMDhCNjA0MiAvKiBNb2NrQ29udGVudEZpbHRlclNldHRp
bmdzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTA1OEFEQzFENjc5MkMxMDA5QTUzOEMgLyogTW9j
a0dhbWVwYWQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMDU4QURFMUQ2NzkyQzEwMDlBNTM4QyAv
KiBNb2NrR2FtZXBhZFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTU3RUJGQjFFM0FC
NjdGMDBBQzlGRTkgLyogTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uLmggaW4gSGVhZGVycyAq
LywKIAkJCQkyRDZGM0U5MTFDMUVDQjJGMDA2MURCRDQgLyogTW9ja1BhZ2VPdmVybGF5LmggaW4g
SGVhZGVycyAqLywKIAkJCQkyRDk3RjA0ODE5REQ0MTQwMDAxRUU5QzMgLyogTW9ja1BhZ2VPdmVy
bGF5Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQwNjE4QzFFMkVDQTBBMDAzMkIzNEUg
LyogTW9ja1F1aWNrTG9va0hhbmRsZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUE1RjNC
OEQxNkNDMzNEMTAwNDU1RUIwIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBMTc2M0YzRjFFMjA1MjM0MDAxRDU4REUgLyogV2ViQXJjaGl2ZUR1
bXBTdXBwb3J0LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTgxNUMxRjEzODMxOTgzMDA1N0FBQTQg
LyogV2ViQ29yZVRlc3RTdXBwb3J0LmggaW4gSGVhZGVycyAqLywKLQkJCQk0MTU3RUJGQjFFM0FC
NjdGMDBBQzlGRTkgLyogTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uLmggaW4gSGVhZGVycyAq
LywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJ
fTsKQEAgLTI0OTQ4LDYgKzI0OTg3LDcgQEAKIAkJCWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBoYXNl
OwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAorCQkJCUY0
ODIyMzEzMUUzODZFMjQwMDY2RkM3OSAvKiBBYnN0cmFjdFBhc3RlYm9hcmQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQxRTFCMUQxMEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMjlBODEyMkUwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxp
dHlBUklBR3JpZENlbGwuaCBpbiBIZWFkZXJzICovLAogCQkJCTI5QTgxMjMzMEZCQjlDMUQwMDUx
MDI5MyAvKiBBY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3cuaCBpbiBIZWFkZXJzICovLApAQCAtMjUw
MDAsNyArMjUwNDAsNiBAQAogCQkJCTMxOTg0ODAxMUExRDgxN0IwMEExMzMxOCAvKiBBbmltYXRp
b25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlFOTEyQUQwRUZBQzkwNjAwOUQwQ0FGIC8q
IEFuaW1hdGlvbkxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxRENEMjlEMUFCNEZCREUwMDcy
RTgxNyAvKiBBbmltYXRpb25UcmlnZ2VyLmggaW4gSGVhZGVycyAqLywKLQkJCQk0MTc2MTJCMDFF
M0E5OTQwMDBDM0Q4MUQgLyogTGliV2ViUlRDTWVkaWFFbmRwb2ludC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMEY1ODBGQUYxNDk4MDBENDAwRkI1QkQ4IC8qIEFuaW1hdGlvblV0aWxpdGllcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlERDcwOTlFNjQ5MjAwNTZFNTgxIC8qIEFwcGVuZE5vZGVD
b21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzY1NzlFMzFFMDA4MjcwMDBFM0EyN0EgLyog
QXBwbGVQYXlMaW5lSXRlbS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTI4Myw3ICsyNTMyMiw2IEBA
CiAJCQkJQ0U3OTlGQTgxQzZBNTA1NzAwOTdCNTE4IC8qIENvbnRlbnRTZWN1cml0eVBvbGljeU1l
ZGlhTGlzdERpcmVjdGl2ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0U2REFERkExQzU5MUU2QTAw
M0Y2QTg4IC8qIENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQ0U3OTlGQTAxQzZBNEMxNjAwOTdCNTE4IC8qIENvbnRlbnRTZWN1cml0eVBv
bGljeVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRjQ4MjIzMTMxRTM4NkUyNDAwNjZGQzc5
IC8qIEFic3RyYWN0UGFzdGVib2FyZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0U3OTlGOTgxQzZB
NDZCQzAwOTdCNTE4IC8qIENvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3QuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUNFNzk5RkFDMUM2QTUwNjYwMDk3QjUxOCAvKiBDb250ZW50U2VjdXJpdHlQ
b2xpY3lTb3VyY2VMaXN0RGlyZWN0aXZlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MUQwMTVDQTBG
NEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuaCBpbiBIZWFkZXJzICovLApAQCAtMjU3OTAs
NyArMjU4MjgsNiBAQAogCQkJCTA4NUI5MkJCMEVGREU3M0QwMEU2MTIzQyAvKiBGb3JtRGF0YUJ1
aWxkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MTM2RDM4MDk3M0E4RTcwMEQ3NDQ2MyAvKiBG
b3JtRGF0YUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTdFRTY4NDY3MTJEMjZFMzgwMEU3OTQx
NSAvKiBGb3JtRGF0YVN0cmVhbUNGTmV0LmggaW4gSGVhZGVycyAqLywKLQkJCQk0MTU3NDc0QTFF
Mzg2OUFEMDBFOTE0RDggLyogTGliV2ViUlRDVXRpbHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
NEM3NjRFMENFOTIzNEUwMDdFRjNDRCAvKiBGb3JtRGF0YVN0cmVhbU1hYy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOUI1MEIxREUxN0NENEMwRjAwODdGNjNDIC8qIEZvcm1OYW1lZEl0ZW0uaCBpbiBI
ZWFkZXJzICovLAogCQkJCTY1NkQzNzNBMEFEQkE1REUwMEE0NTU0RCAvKiBGb3JtU3RhdGUuaCBp
biBIZWFkZXJzICovLApAQCAtMjU4NDksNyArMjU4ODYsNiBAQAogCQkJCUE4MEQ2NzA4MEU5RTlE
RUIwMEU0MjBGMCAvKiBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVDRy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEY1ODBCMEQwRjEyQTI2OTAwNTFENjg5IC8qIEdyYXBoaWNzTGF5ZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTQ5OUIzRUQ3MTI4Q0QzMTQwMEU3MjZDMiAvKiBHcmFwaGljc0xh
eWVyQ0EuaCBpbiBIZWFkZXJzICovLAotCQkJCTQxMTAzQUFEMUUzOTc5MTAwMDc2OUYwMyAvKiBS
ZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNTgwQjBF
MEYxMkEyNjkwMDUxRDY4OSAvKiBHcmFwaGljc0xheWVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQUM2OTU5MzE2MUExRTUzMDAzNzMyQ0IgLyogR3JhcGhpY3NMYXllckZhY3RvcnkuaCBp
biBIZWFkZXJzICovLAogCQkJCTBGQTI0RDdBMTYyREY5MTkwMEEzRjRDMCAvKiBHcmFwaGljc0xh
eWVyVXBkYXRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTg2NSw3ICsyNTkwMSw2IEBACiAJCQkJ
MjZFQTg5QTcxQjRGMkI3NTAwOEM1RkQyIC8qIEhhc2hhYmxlQWN0aW9uTGlzdC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODQ4MkI3NDYxMTk4QzM1NDAwQkZCMDA1IC8qIEhhc2hDaGFuZ2VFdmVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQTg3NDhCRTAxMkNCRjJEQzAwMUZCQTQxIC8qIEhhc2hUb29s
cy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTNFNEUyQTgxRTNCMTcxMDAwMjNCQjhBIC8qIFNjcmlw
dEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRjaGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNTVCM0RD
MDEyNTFGMTJEMDAzRUYyNjkgLyogSGlkZGVuSW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk1MTVCRTE5QzFENTRGNkMxMDBERDdDNjggLyogSElER2FtZXBhZC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTE1QkUxOUUxRDU0RjZDMTAwREQ3QzY4IC8qIEhJREdhbWVwYWRQcm92aWRlci5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0yNTg3NSw3ICsyNTkxMCw2IEBACiAJCQkJNDk2OUIwRjMxM0QwQjMz
RjAwREYzNTIxIC8qIEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMkQ4Mjg3RjcxNkU0QTAzODAwODZCRDAwIC8qIEhpdFRlc3RMb2NhdGlvbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJOTMwOTA4OTEwQUY3RURFNDAwODFERjAxIC8qIEhpdFRlc3RSZXF1ZXN0Lmgg
aW4gSGVhZGVycyAqLywKLQkJCQk0MTU3NDc0NzFFMzg2OUE0MDBFOTE0RDggLyogTGliV2ViUlRD
TWFjcm9zLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzA3RjFEODBBRjJENTkwMDBEQkEzMUEgLyog
SGl0VGVzdFJlc3VsdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMzQkMyOUMwRTkxQUIwRjAwODM1
NTg4IC8qIEhvc3RXaW5kb3cuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEMzE2MDk5MTJCMDI2Rjcw
MEMxQTM1OSAvKiBIUlRGRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovLApAQCAtMjY1NDAsNiArMjY1
NzQsOSBAQAogCQkJCUE1OEM1OUQxMUUzODJFQUUwMDQ3ODU5QyAvKiBKU1BlcmZvcm1hbmNlTWFy
ay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU4QzU5RDMxRTM4MkVCMjAwNDc4NTlDIC8qIEpTUGVy
Zm9ybWFuY2VNZWFzdXJlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4QTlBNTg3MTExRTg0QzM2MDA4
QUNGRDEgLyogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUE1
QTk5MzQ4MUUzODA5QzYwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUE1QTk5MzRBMUUzODA5Q0IwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXJDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTVBOTkzNEMxRTM4MDlDRjAwNUI1
RTREIC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQ0IzOEZENUIxQ0QyMzI1QjAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEE5QTU4ODgxMUU4NEYzNzAwOEFDRkQxIC8qIEpTUGVy
Zm9ybWFuY2VUaW1pbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCUZERUE2MjQ3MTUyMTAyRkMwMDQ3
OURGMCAvKiBKU1BlcmlvZGljV2F2ZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjg3Niw2ICsyNjkx
MywxMSBAQAogCQkJCUU1QkE3RDYzMTUxNDM3Q0EwMEZFMUUzRiAvKiBMZW5ndGhGdW5jdGlvbnMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTBGODcxNjcwMUM4NjlEODMwMDRGRjBERSAvKiBMZW5ndGhQ
b2ludC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNGRjY0OTIwRUFEMTVDMjAwQzFENkY3IC8qIExl
bmd0aFNpemUuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxNTc0NzQ3MUUzODY5QTQwMEU5MTREOCAv
KiBMaWJXZWJSVENNYWNyb3MuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxNzYxMkIwMUUzQTk5NDAw
MEMzRDgxRCAvKiBMaWJXZWJSVENNZWRpYUVuZHBvaW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk0
MTc2MTJCMjFFM0E5OTQwMDBDM0Q4MUQgLyogTGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5k
LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTU3NDc0ODFFMzg2OUE3MDBFOTE0RDggLyogTGliV2Vi
UlRDUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxNTc0NzRBMUUzODY5QUQwMEU5MTRE
OCAvKiBMaWJXZWJSVENVdGlscy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ3MzBEOTExMjQ4RjBC
MzAwRDNBOUM5IC8qIExpZ2h0U291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyNzk2NTBE
MDBCRjIyMDA3MUI3ODIgLyogTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzLmggaW4gSGVhZGVycyAq
LywKIAkJCQlBQjMxQzkxRTEwQUUxQjhFMDAwQzdCOTIgLyogTGluZUNsYW1wVmFsdWUuaCBpbiBI
ZWFkZXJzICovLApAQCAtMjcyNTQsNiArMjcyOTYsOSBAQAogCQkJCUFENUEwQzI1MURFQ0FDQ0Mw
MDcwNzA1NCAvKiBQZXJmb3JtYW5jZUxvZ2dpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzRkU5
MDI3MUUzMDdDMzAwMDNFOTE5OSAvKiBQZXJmb3JtYW5jZU1vbml0b3IuaCBpbiBIZWFkZXJzICov
LAogCQkJCThBRjRFNTU2MTFEQzVBMzYwMDBFRDNERSAvKiBQZXJmb3JtYW5jZU5hdmlnYXRpb24u
aCBpbiBIZWFkZXJzICovLAorCQkJCUE1QTk5MzNEMUUzN0ZCMTkwMDVCNUU0RCAvKiBQZXJmb3Jt
YW5jZU9ic2VydmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUE5OTMzRjFFMzdGQjFGMDA1QjVF
NEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlB
NUE5OTM0MTFFMzdGQjI4MDA1QjVFNEQgLyogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJODY1MTJFREYxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCThBRjRFNTVDMTFEQzVBNjMw
MDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU1NEI1
RjMxRTM4MzkzQTAwMUQ0RTAzIC8qIFBlcmZvcm1hbmNlVXNlclRpbWluZy5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yNzM2MywxMiArMjc0MDgsMTQgQEAKIAkJCQk0MTZFNkZFOTFCQkQxMkU1MDAwQTYw
NDMgLyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE2RTZG
RTgxQkJEMTJERjAwMEEzRjY0IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBp
biBIZWFkZXJzICovLAogCQkJCUZEMzE2MDNDMTJCMDI2NzYwMEMxQTM1OSAvKiBSZWFsdGltZUFu
YWx5c2VyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTEwM0FBRDFFMzk3OTEwMDA3NjlGMDMgLyog
UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0QTRGNjU3
MTFBQTk5N0YxMDBFMzhDREQgLyogUmVhbHRpbWVNZWRpYVNvdXJjZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNEE0RjY1NzIxQUE5OTdGMTAwRTM4Q0REIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VDYXBh
YmlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTRBMEZGQUEyMUFBRjVFQTIwMDYyODAzQiAv
KiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0QTBGRkFB
NjFBQUY1RUY2MDA2MjgwM0IgLyogUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNEE0RjY1NzQxQUE5OTdGMTAwRTM4Q0REIC8qIFJlYWx0aW1lTWVkaWFT
b3VyY2VTZXR0aW5ncy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdDMUMwRTUxQkZCNjBFRDAwQkQy
MjU2IC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cy5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNDExMDNBQUMxRTM5NzkxMDAwNzY5RjAzIC8qIFJlYWx0aW1lT3V0Z29pbmdB
dWRpb1NvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM0MzY4RTgwQzIyNkUzMjAwNUVGQjVG
IC8qIFJlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUZENDVBOTU4MTc1RDQxNEMwMEMyMUVDOCAv
KiBSZWN0YW5nbGVTaGFwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTgzMUFFNEExNTQyMjVDOTAw
RkUyNjQ0IC8qIFJlZmVycmVyUG9saWN5LmggaW4gSGVhZGVycyAqLywKQEAgLTI3NTM2LDcgKzI3
NTgzLDYgQEAKIAkJCQk0OTk4QUVDNjEzRjlEMEVBMDA5MEIxQUEgLyogUmVxdWVzdEFuaW1hdGlv
bkZyYW1lQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUY1NUIzREQwMTI1MUYxMkQwMDNF
RjI2OSAvKiBSZXNldElucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0VFNjg0NkExMkQy
NkUzODAwRTc5NDE1IC8qIFJlc291cmNlRXJyb3IuaCBpbiBIZWFkZXJzICovLAotCQkJCTQxNTc0
NzQ4MUUzODY5QTcwMEU5MTREOCAvKiBMaWJXZWJSVENQcm92aWRlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTM0RjcxM0MwRDVBNkYxOTAwMDE4RDY5IC8qIFJlc291cmNlRXJyb3JCYXNlLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1MTRDNzY3OTBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VIYW5k
bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTI2RkFFNENEMTg1MkUzQTUwMDRDOEM0NiAvKiBSZXNv
dXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKQEAgLTI3
NjI4LDYgKzI3Njc0LDcgQEAKIAkJCQk5M0I3MEQ3MDA5RUIwQzdDMDA5RDg0NjggLyogU2NyaXB0
Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk5OEFFRDIxM0ZCMjI0RDAwOTBCMUFB
IC8qIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDhB
NDg0NzgwRTUyNzJDNTAwQzNGRTc2IC8qIFNjcmlwdEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAor
CQkJCUUzRTRFMkE4MUUzQjE3MTAwMDIzQkI4QSAvKiBTY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0
RmV0Y2hlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTExQzlEOUIwRUIzNjgxMjAwRTQwOURCIC8q
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxRjA2NkU0MEY2
NEJDRjYwMEEwN0VBQyAvKiBTY3JpcHRHbG9iYWxPYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUUzODgzODk5MUJBRDE0NUYwMEQ2MkVFMyAvKiBTY3JpcHRNb2R1bGVMb2FkZXIuaCBpbiBIZWFk
ZXJzICovLApAQCAtMjc4MjEsNyArMjc4NjgsNiBAQAogCQkJCTQxNEI4MjA1MUQ2REYwRTUwMDc3
RUJFMyAvKiBTdHJ1Y3R1cmVkQ2xvbmUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNUVCNkEzMEU4
MURDNEYwMEIyNTk2NSAvKiBTdHlsZUJhY2tncm91bmREYXRhLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQzVFQjY3QjBFODFEM0JFMDBCMjU5NjUgLyogU3R5bGVCb3hEYXRhLmggaW4gSGVhZGVycyAq
LywKLQkJCQlGNDgyMjMxMTFFMzg2OUI4MDA2NkZDNzkgLyogV2ViSXRlbVByb3ZpZGVyUGFzdGVi
b2FyZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM4NkE5NkQxOUY2MUIyRTAwRTFFQzRBIC8qIFN0
eWxlQnVpbGRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODNCOTY4N0IxOUY4QUI4MzAwNEVGN0FG
IC8qIFN0eWxlQnVpbGRlckNvbnZlcnRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM1RDM2Mzcx
OUZGNjE5MzAwNEM5M0FCIC8qIFN0eWxlQnVpbGRlckN1c3RvbS5oIGluIEhlYWRlcnMgKi8sCkBA
IC0yNzg2NCw3ICsyNzkxMCw2IEBACiAJCQkJQThFQTgwMEMwQTE5NTE2RTAwQThFRjVGIC8qIFN0
eWxlU2hlZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0RjlFRUYzMTU2REEwMDcwMEQyM0U3RSAv
KiBTdHlsZVNoZWV0Q29udGVudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4RUE4MDBBMEExOTUx
NkUwMEE4RUY1RiAvKiBTdHlsZVNoZWV0TGlzdC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDE3NjEy
QjIxRTNBOTk0MDAwQzNEODFEIC8qIExpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkM1RUI1RTUwRTgxQkY2RDAwQjI1OTY1IC8qIFN0eWxlU3Vycm91
bmREYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzVFQjgxMDBFODFGMkNFMDBCMjU5NjUgLyog
U3R5bGVUcmFuc2Zvcm1EYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNERFQUExODE3QTkzREMz
MDAwRTA0MzAgLyogU3R5bGVUcmVlUmVzb2x2ZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMjc5MzIs
NyArMjc5NzcsNiBAQAogCQkJCUIyMjI3OUFFMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdEZWZzRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjc5QjEwRDAwQkYyMjAwNzFCNzgyIC8qIFNW
R0Rlc2NFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyNzlCNDBEMDBCRjIyMDA3MUI3
ODIgLyogU1ZHRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTQxMTAzQUFDMUUzOTc5MTAw
MDc2OUYwMyAvKiBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaCBpbiBIZWFkZXJzICovLAog
CQkJCUIyOEM2QTI4MEQwMEM0NDgwMDMzNEFBNCAvKiBTVkdEb2N1bWVudEV4dGVuc2lvbnMuaCBp
biBIZWFkZXJzICovLAogCQkJCUIyMjI3OUI3MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdFbGVtZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQk2NTY1ODFGRTA5RDE1MDhEMDAwRTYxRDcgLyogU1ZHRWxl
bWVudEZhY3RvcnkuaCBpbiBIZWFkZXJzICovLApAQCAtMjg0MTMsNiArMjg0NTcsNyBAQAogCQkJ
CTc3QTE3QTc4MTJGMjg2NDIwMDRFMDJGNiAvKiBXZWJHTFZlcnRleEFycmF5T2JqZWN0T0VTLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBNTg0MEUyNTE4N0I4QUMyMDA4NDNCMTAgLyogV2ViSW5qZWN0
ZWRTY3JpcHRIb3N0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTg0RkUzMDE4NjRDQjg0MDA4NDNC
MTAgLyogV2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKKwkJCQlGNDgy
MjMxMTFFMzg2OUI4MDA2NkZDNzkgLyogV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMzFDMEZGMjIwRTRDRUI2RTAwN0Q2RkU1IC8qIFdlYktpdEFuaW1hdGlv
bkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1REZFQkFCNzE4NTkyQjZEMDBDNzVCRUIgLyog
V2ViS2l0QXZhaWxhYmlsaXR5LmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTgzOTE1OTBGMUU3NzY5
MDBDMjM3ODIgLyogV2ViS2l0Q1NTTWF0cml4LmggaW4gSGVhZGVycyAqLywKQEAgLTI4ODY2LDcg
KzI4OTExLDYgQEAKIAkJCQk1MTcxNEVCMDFDRjY2NUNFMDA0NzIzQzQgLyogSlNHQ09ic2VydmF0
aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxN0RBNzFEMTM3MzVERkEwMDdDNTdGQiAvKiBK
U0ludGVybmFscy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNzQwQjVBNzE0QzkzNUFGMDBBNzdG
QTQgLyogSlNJbnRlcm5hbFNldHRpbmdzLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTQxNTdFQkZB
MUUzQUI2NzkwMEFDOUZFOSAvKiBNb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNTNFRDNGREUxNjdBODhFNzAwNjc2MkU2IC8qIEpTSW50ZXJuYWxTZXR0
aW5nc0dlbmVyYXRlZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNzQwQjU5NzE0QzkzNUFGMDBB
NzdGQTQgLyogSlNNYWxsb2NTdGF0aXN0aWNzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNERjRC
NzMzMUUwM0QxNDkwMEUyMzVBMiAvKiBKU01lZGlhS2V5c1JlcXVpcmVtZW50LmNwcCBpbiBTb3Vy
Y2VzICovLApAQCAtMjg4ODIsNiArMjg5MjYsNyBAQAogCQkJCUExQjVCMjlFMUFBQTg0NkUwMDhC
NjA0MiAvKiBNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTUxMDU4QURCMUQ2NzkyQzEwMDlBNTM4QyAvKiBNb2NrR2FtZXBhZC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk1MTA1OEFERDFENjc5MkMxMDA5QTUzOEMgLyogTW9ja0dhbWVwYWRQcm92aWRlci5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTU3RUJGQTFFM0FCNjc5MDBBQzlGRTkgLyogTW9ja0xp
YldlYlJUQ1BlZXJDb25uZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJENkYzRTkwMUMx
RUNCMjcwMDYxREJENCAvKiBNb2NrUGFnZU92ZXJsYXkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MkQ5N0YwNDcxOURENDEzQzAwMUVFOUMzIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlBMTQwNjE4QjFFMkVDQTBBMDAzMkIzNEUgLyogTW9ja1F1aWNrTG9v
a0hhbmRsZUNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI5MTkzLDcgKzI5MjM4LDYgQEAK
IAkJCQlFMUI0Q0QyNTEwQjMyMkUyMDBCRkZEN0UgLyogQ3JlZGVudGlhbFN0b3JhZ2VNYWMubW0g
aW4gU291cmNlcyAqLywKIAkJCQkyRDQ4MUYwMDE0NkI1QzRDMDBBQTc4MzQgLyogQ3Jvc3NmYWRl
R2VuZXJhdGVkSW1hZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFDNDE2MTcwRjY1NjMxODAw
OTJEMkZCIC8qIENyb3NzT3JpZ2luQWNjZXNzQ29udHJvbC5jcHAgaW4gU291cmNlcyAqLywKLQkJ
CQk0MTc2MTJCMTFFM0E5OTQwMDBDM0Q4MUQgLyogTGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNr
ZW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxQUJFNjdDMUQwNTgwRTAwMDZEODYyRCAvKiBD
cm9zc09yaWdpblByZWZsaWdodENoZWNrZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFDNDE1
REUwRjY1NUQ3QzAwOTJEMkZCIC8qIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJRTE2OTgwNDkxMTMzNjQ0NzAwODk0MTE1IC8qIENSdW50aW1l
T2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjkyODUsNyArMjkzMjksNiBAQAogCQkJCTk0
MTgyNzhFMUQ4Q0FGOTIwMDQ5Mjc2NCAvKiBDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJOTc3QjM4NjIxMjI4ODNFOTAwQjgxRkY4IC8qIENTU1ByZWxv
YWRTY2FubmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4MEU2RDA1MEExOTg5Q0EwMDdGQjhD
NSAvKiBDU1NQcmltaXRpdmVWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlGNDgyMjMxMDFF
Mzg2OUI4MDA2NkZDNzkgLyogV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZC5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCUE4MEU2Q0Y3MEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NQcm9wZXJ0eS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk3OEQwMkJDNTE1NEExOERGMDBCNjJEMDUgLyogQ1NTUHJvcGVydHlB
bmltYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFCQTc2Q0ExMUQyMEU1MDAwNEMyMDFD
IC8qIENTU1Byb3BlcnR5TmFtZXMuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yOTQzOSw3ICsyOTQ4
Miw2IEBACiAJCQkJMTVGQ0M5RkMxQjRERjdGMjAwRTcyMzI2IC8qIERPTVVSTE1lZGlhU3RyZWFt
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0MDNCOTk4MDlFQjEzQUYwMDc5N0M3RiAvKiBET01X
aW5kb3cuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE3RkJBMUUxNTFBQjE3QzAwQjU3OTU5IC8q
IERPTVdpbmRvd0V4dGVuc2lvbi5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk0MTEwM0FBRTFFMzk3
OTEwMDA3NjlGMDMgLyogUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTQxOEMzOTU2MUM4REFDN0YwMDUxQzhBMyAvKiBET01XaW5kb3dGZXRjaC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1MTg1RkM3NDFCQjRDNEU4MDAxMjg5OEYgLyogRE9NV2luZG93
SW5kZXhlZERhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3QjM4RTI4MTUxQzQyNzMw
MDQ2MjJFOSAvKiBET01XaW5kb3dOb3RpZmljYXRpb25zLmNwcCBpbiBTb3VyY2VzICovLApAQCAt
MzAzNDIsNiArMzAzODQsOSBAQAogCQkJCUE1OEM1OUQwMUUzODJFQUMwMDQ3ODU5QyAvKiBKU1Bl
cmZvcm1hbmNlTWFyay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNThDNTlEMjFFMzgyRUIwMDA0
Nzg1OUMgLyogSlNQZXJmb3JtYW5jZU1lYXN1cmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOEE5
QTU4NzAxMUU4NEMzNjAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUE1QTk5MzREMUUzODA5RDcwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNl
T2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVBOTkzNDkxRTM4MDlDOTAwNUI1RTRE
IC8qIEpTUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CUE1QTk5MzRCMUUzODA5Q0QwMDVCNUU0RCAvKiBKU1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxp
c3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0IzOEZENUExQ0QyMzI1ODAwNTkyQTNGIC8qIEpT
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjQzQzg1
RjE4OUUxNUE2MDAwMTlBRTIgLyogSlNQZXJmb3JtYW5jZVRpbWluZy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlGREVBNjI0NjE1MjEwMkZDMDA0NzlERjAgLyogSlNQZXJpb2RpY1dhdmUuY3BwIGlu
IFNvdXJjZXMgKi8sCkBAIC0zMDUwOSw3ICszMDU1NCw2IEBACiAJCQkJQjJGQTNEQkEwQUI3NUE2
RjAwMEU1QUM0IC8qIEpTU1ZHUGF0aFNlZ0FyY1JlbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
MkZBM0RCQzBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdQYXRoU2VnQ2xvc2VQYXRoLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUIyRkEzREJFMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1BhdGhTZWdD
dXJ2ZXRvQ3ViaWNBYnMuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNDE3NjEyQUYxRTNBOTk0MDAw
QzNEODFEIC8qIExpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QjJGQTNEQzAwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1JlbC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkZBM0RDMjBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdQ
YXRoU2VnQ3VydmV0b0N1YmljU21vb3RoQWJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyRkEz
REM0MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWwu
Y3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMDcxMyw2ICszMDc1Nyw5IEBACiAJCQkJRTU1RjQ5N0Ex
NTFCODg4MDAwQkI2N0RCIC8qIExlbmd0aEZ1bmN0aW9ucy5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkwRjg3MTY2RjFDODY5RDgzMDA0RkYwREUgLyogTGVuZ3RoUG9pbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEZFRjIwQ0UxQkQ0QTI0MTAwMTI4RTVEIC8qIExlbmd0aFNpemUuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNDE3NjEyQUYxRTNBOTk0MDAwQzNEODFEIC8qIExpYldlYlJUQ01lZGlh
RW5kcG9pbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDE3NjEyQjExRTNBOTk0MDAwQzNEODFE
IC8qIExpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQk0MTU3NDc0OTFFMzg2OUFBMDBFOTE0RDggLyogTGliV2ViUlRDVXRpbHMuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJRkZCNjk4Q0MxODMzRUUwRDAwMTU4QTMxIC8qIExpbmVCcmVha2VyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTg5QjVFQUExMTFFODAwM0QwMEYyMzY3RSAvKiBMaW5lRW5kaW5n
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZGQjY5OENGMTgzNDAyQkIwMDE1OEEzMSAvKiBMaW5l
SW5mby5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMxMDA0LDYgKzMxMDUxLDggQEAKIAkJCQlBRDVB
MEMyMzFERUNBQ0MwMDA3MDcwNTQgLyogUGVyZm9ybWFuY2VMb2dnaW5nQ29jb2EubW0gaW4gU291
cmNlcyAqLywKIAkJCQk4M0ZFOTAyODFFMzA3QzMzMDAzRTkxOTkgLyogUGVyZm9ybWFuY2VNb25p
dG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCThBRjRFNTU1MTFEQzVBMzYwMDBFRDNERSAvKiBQ
ZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTVBOTkzM0UxRTM3
RkIxQzAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJQTVBOTkzNDAxRTM3RkIyNTAwNUI1RTREIC8qIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxp
c3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODY1MTJFREUxNTRBMkFFRjAwQTkwNDI2IC8qIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0M0M4NUQx
ODlFMTBDRjAwMDE5QUUyIC8qIFBlcmZvcm1hbmNlVGltaW5nLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE1NTRCNUYyMUUzODM5MzgwMDFENEUwMyAvKiBQZXJmb3JtYW5jZVVzZXJUaW1pbmcuY3Bw
IGluIFNvdXJjZXMgKi8sCkBAIC0zMTA3NywxMSArMzExMjYsMTMgQEAKIAkJCQk2RTg0RTlFMDE3
NjY4QkVFMDA4MTVCNjggLyogUmFzdGVyU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE4
QzM5NjExQzhGMEFCMTAwNTFDOEEzIC8qIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQzMTYwM0IxMkIwMjY3NjAwQzFBMzU5IC8qIFJlYWx0
aW1lQW5hbHlzZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDExMDNBQUUxRTM5NzkxMDAwNzY5
RjAzIC8qIFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk0QTRGNjU3MDFBQTk5N0YxMDBFMzhDREQgLyogUmVhbHRpbWVNZWRpYVNvdXJjZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk0QTBGRkFBMTFBQUY1RUEyMDA2MjgwM0IgLyogUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0QTBGRkFBNTFBQUY1RUY2MDA2
MjgwM0IgLyogUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk0QTRGNjU3MzFBQTk5N0YxMDBFMzhDREQgLyogUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRp
bmdzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJFQzQxREU0MUMwNDEwQTMwMEQyOTRGRSAvKiBS
ZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHMuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJNDExMDNBQUIxRTM5NzkxMDAwNzY5RjAzIC8qIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1Nv
dXJjZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRDQ1QTk1QTE3NUQ0MTcxMDBDMjFFQzggLyog
UmVjdGFuZ2xlU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNBQjQxODExM0UzNTZFODAw
RDhBQUYzIC8qIFJlZ2lvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDREZDMzYwNTE4Q0E2MUMy
MDAyNkU1NkYgLyogUmVtb3RlQ29tbWFuZExpc3RlbmVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAt
MzEyOTIsNiArMzEzNDMsNyBAQAogCQkJCUE4M0UxQzc0MEU0OTA0MkMwMDE0MEI5QyAvKiBTY3Jp
cHRDb250cm9sbGVyTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk5OEFFRDExM0ZCMjI0RDAw
OTBCMUFBIC8qIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwOEE0ODQ3NzBFNTI3MkM1MDBDM0ZFNzYgLyogU2NyaXB0RWxlbWVudC5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQlFM0U0RTJBNzFFM0IxNzEwMDAyM0JCOEEgLyogU2NyaXB0RWxlbWVudENh
Y2hlZFNjcmlwdEZldGNoZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTExQzlEQjAwRUIzNjk5
NTAwRTQwOURCIC8qIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNDFGMDY2RTUwRjY0QkNGNjAwQTA3RUFDIC8qIFNjcmlwdEdsb2JhbE9iamVjdC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlFMzg4Mzg5ODFCQUQxNDVGMDBENjJFRTMgLyogU2NyaXB0TW9kdWxl
TG9hZGVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzEzODUsNyArMzE0MzcsNiBAQAogCQkJCTUx
MkREOEUzMEQ5MUUyQjQwMDBGODlFRSAvKiBTaGFyZWRCdWZmZXJDRi5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk5N0IxRjAyRTEzQjAyNUNBMDBGNTEwM0YgLyogU2hhcmVkQnVmZmVyQ2h1bmtSZWFk
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE0QTk1NTIwQjRFRENGRjAwMkQ4QzNDIC8qIFNo
YXJlZEJ1ZmZlckNvY29hLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJNDE1NzQ3NDkxRTM4NjlBQTAw
RTkxNEQ4IC8qIExpYldlYlJUQ1V0aWxzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE2M0U4OEY3
MTE4QTM5RDIwMEVEOTIzMSAvKiBTaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUU0ODk0NEEyMTgwQjU3RDgwMEYxNjVEOCAvKiBTaW1wbGVMaW5lTGF5b3V0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTU4NUQ2RTAzMUExQTc5MkUwMEZBNEYxMiAvKiBTaW1wbGVM
aW5lTGF5b3V0Rmxvd0NvbnRlbnRzLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzE3MTksNyArMzE3
NzAsNiBAQAogCQkJCTkzMzA5RTFCMDk5RTY0OTIwMDU2RTU4MSAvKiBUZXh0SXRlcmF0b3IuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJRTREOTg4QjYxN0JGRUIyMTAwODRGQjg4IC8qIFRleHROb2Rl
VHJhdmVyc2FsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFDMThEQTU4MTgxQUY2QTUwMEM0RUYy
MiAvKiBUZXh0UGFpbnRlci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk0MTEwM0FBQjFFMzk3OTEw
MDA3NjlGMDMgLyogUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUU0QzkxQTEwMTgwMjM0MzkwMEExN0Y2RCAvKiBUZXh0UGFpbnRTdHlsZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk5M0YxOUE5RDA4MjQ1RTU5MDAxRTlBQkMgLyogVGV4dFJlc291cmNl
RGVjb2Rlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzNzZEQ0NFMTEzQjRGOTY2MDAyRUJFRkMg
LyogVGV4dFJ1bi5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMxODUwLDcgKzMxOTAwLDYgQEAKIAkJ
CQkyOUE4MTI0QTBGQkI5Q0E5MDA1MTAyOTMgLyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJCYXNlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQUFBNzI4RjgxNkQxRDhCQzAwRDNCQkM2IC8q
IFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QUE0NzhBODAxNkNENzBDMzAwN0QxQkI0IC8qIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
TWFjLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJRTNFNEUyQTcxRTNCMTcxMDAwMjNCQjhBIC8qIFNj
cmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRjaGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJE
M0VGNDQ5MTkxNzkxNUMwMDAzNDE4NCAvKiBXZWJBY3Rpb25EaXNhYmxpbmdDQUxheWVyRGVsZWdh
dGUubW0gaW4gU291cmNlcyAqLywKIAkJCQkxMjBERTNFRDFDODZDQTNFMDBCNkQ0REQgLyogV2Vi
QW5pbWF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3RDYzNzQxMUJCMEIxMTMwMDI1NkNF
OSAvKiBXZWJBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5tbSBpbiBTb3VyY2VzICovLApAQCAt
MzE5MjMsNiArMzE5NzIsNyBAQAogCQkJCTc3QTE3QTc3MTJGMjg2NDIwMDRFMDJGNiAvKiBXZWJH
TFZlcnRleEFycmF5T2JqZWN0T0VTLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE1ODQwRTI0MTg3
QjhBQzIwMDg0M0IxMCAvKiBXZWJJbmplY3RlZFNjcmlwdEhvc3QuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQTU4NEZFMkYxODY0Q0I4NDAwODQzQjEwIC8qIFdlYkluamVjdGVkU2NyaXB0TWFuYWdl
ci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlGNDgyMjMxMDFFMzg2OUI4MDA2NkZDNzkgLyogV2Vi
SXRlbVByb3ZpZGVyUGFzdGVib2FyZC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTMxQzBGRjIxMEU0
Q0VCNkUwMDdENkZFNSAvKiBXZWJLaXRBbmltYXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk0OTgzOTE1ODBGMUU3NzY5MDBDMjM3ODIgLyogV2ViS2l0Q1NTTWF0cml4LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCThBQTYxQ0ZGMTQ0RDU5NUIwMEYzNzM1MCAvKiBXZWJLaXRDU1NSZWdp
b25SdWxlLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKaW5kZXggMDQ1NjU2NjA1NWUuLmRiODM5NzQ5N2RmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTEzNCw3ICsxMzQsNiBAQAogI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiTWVkaWFT
b3VyY2UuaCIKLSNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgogI2luY2x1ZGUgIlZpZGVvUGxheWJh
Y2tRdWFsaXR5LmgiCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNjhlZTc5ZTdiOWEuLjVhZTA4ZmRk
NTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAKQEAgLTU3LDcgKzU3LDYgQEAKICNpbmNsdWRlICJNYWluRnJhbWUuaCIK
ICNpbmNsdWRlICJNZW1vcnlDYWNoZS5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKLSNpbmNsdWRlICJQ
ZXJmb3JtYW5jZS5oIgogI2luY2x1ZGUgIlBpbmdMb2FkZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9y
bVN0cmF0ZWdpZXMuaCIKICNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmgKaW5kZXggYmViMDVlZjk1ZTEuLjEzZDU4ZjNj
ZmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5oCkBAIC0y
OSw3ICsyOSw2IEBACiAKICNpbmNsdWRlICJJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrLmgi
CiAjaW5jbHVkZSAiSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeS5oIgotI2luY2x1ZGUgPHd0Zi9P
cHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1Zh
cmlhbnQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZS5jcHAKaW5kZXggMmU1OWRhYTM2M2EuLjMyODNjOWFhMzViIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlLmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIkZyYW1l
LmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNl
TmF2aWdhdGlvbi5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlT2JzZXJ2ZXIuaCIKICNpbmNsdWRl
ICJQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VUaW1p
bmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVVzZXJUaW1pbmcuaCIKQEAgLTE3MSw3ICsxNzIs
MTQgQEAgRXhjZXB0aW9uT3I8dm9pZD4gUGVyZm9ybWFuY2U6Om1hcmsoY29uc3QgU3RyaW5nJiBt
YXJrTmFtZSkKIHsKICAgICBpZiAoIW1fdXNlclRpbWluZykKICAgICAgICAgbV91c2VyVGltaW5n
ID0gc3RkOjptYWtlX3VuaXF1ZTxVc2VyVGltaW5nPigqdGhpcyk7Ci0gICAgcmV0dXJuIG1fdXNl
clRpbWluZy0+bWFyayhtYXJrTmFtZSk7CisKKyAgICBhdXRvIHJlc3VsdCA9IG1fdXNlclRpbWlu
Zy0+bWFyayhtYXJrTmFtZSk7CisgICAgaWYgKHJlc3VsdC5oYXNFeGNlcHRpb24oKSkKKyAgICAg
ICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7CisKKyAgICBxdWV1ZUVudHJ5KHJl
c3VsdC5yZWxlYXNlUmV0dXJuVmFsdWUoKSk7CisKKyAgICByZXR1cm4geyB9OwogfQogCiB2b2lk
IFBlcmZvcm1hbmNlOjpjbGVhck1hcmtzKGNvbnN0IFN0cmluZyYgbWFya05hbWUpCkBAIC0xODUs
NyArMTkzLDE0IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFBlcmZvcm1hbmNlOjptZWFzdXJlKGNvbnN0
IFN0cmluZyYgbWVhc3VyZU5hbWUsIGNvbnN0IFN0cmluZyYKIHsKICAgICBpZiAoIW1fdXNlclRp
bWluZykKICAgICAgICAgbV91c2VyVGltaW5nID0gc3RkOjptYWtlX3VuaXF1ZTxVc2VyVGltaW5n
PigqdGhpcyk7Ci0gICAgcmV0dXJuIG1fdXNlclRpbWluZy0+bWVhc3VyZShtZWFzdXJlTmFtZSwg
c3RhcnRNYXJrLCBlbmRNYXJrKTsKKworICAgIGF1dG8gcmVzdWx0ID0gbV91c2VyVGltaW5nLT5t
ZWFzdXJlKG1lYXN1cmVOYW1lLCBzdGFydE1hcmssIGVuZE1hcmspOworICAgIGlmIChyZXN1bHQu
aGFzRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiByZXN1bHQucmVsZWFzZUV4Y2VwdGlvbigp
OworCisgICAgcXVldWVFbnRyeShyZXN1bHQucmVsZWFzZVJldHVyblZhbHVlKCkpOworCisgICAg
cmV0dXJuIHsgfTsKIH0KIAogdm9pZCBQZXJmb3JtYW5jZTo6Y2xlYXJNZWFzdXJlcyhjb25zdCBT
dHJpbmcmIG1lYXN1cmVOYW1lKQpAQCAtMTk1LDYgKzIxMCwxNiBAQCB2b2lkIFBlcmZvcm1hbmNl
OjpjbGVhck1lYXN1cmVzKGNvbnN0IFN0cmluZyYgbWVhc3VyZU5hbWUpCiAgICAgbV91c2VyVGlt
aW5nLT5jbGVhck1lYXN1cmVzKG1lYXN1cmVOYW1lKTsKIH0KIAordm9pZCBQZXJmb3JtYW5jZTo6
cmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXImIG9ic2VydmVy
KQoreworICAgIG1fb2JzZXJ2ZXJzLmFkZCgmb2JzZXJ2ZXIpOworfQorCit2b2lkIFBlcmZvcm1h
bmNlOjp1bnJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJiBv
YnNlcnZlcikKK3sKKyAgICBtX29ic2VydmVycy5yZW1vdmUoJm9ic2VydmVyKTsKK30KKwogZG91
YmxlIFBlcmZvcm1hbmNlOjpub3coKSBjb25zdAogewogICAgIGRvdWJsZSBub3dTZWNvbmRzID0g
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBtX3JlZmVyZW5jZVRpbWU7CkBAIC0yMDcs
NiArMjMyLDMwIEBAIGRvdWJsZSBQZXJmb3JtYW5jZTo6cmVkdWNlVGltZVJlc29sdXRpb24oZG91
YmxlIHNlY29uZHMpCiAgICAgcmV0dXJuIHN0ZDo6Zmxvb3Ioc2Vjb25kcyAvIHJlc29sdXRpb25T
ZWNvbmRzKSAqIHJlc29sdXRpb25TZWNvbmRzOwogfQogCit2b2lkIFBlcmZvcm1hbmNlOjpxdWV1
ZUVudHJ5KFBlcmZvcm1hbmNlRW50cnkmIGVudHJ5KQoreworICAgIGJvb2wgc2hvdWxkU2NoZWR1
bGVUYXNrID0gZmFsc2U7CisgICAgZm9yIChhdXRvJiBvYnNlcnZlciA6IG1fb2JzZXJ2ZXJzKSB7
CisgICAgICAgIGlmIChvYnNlcnZlci0+dHlwZUZpbHRlcigpLmNvbnRhaW5zKGVudHJ5LnR5cGUo
KSkpIHsKKyAgICAgICAgICAgIG9ic2VydmVyLT5xdWV1ZUVudHJ5KGVudHJ5KTsKKyAgICAgICAg
ICAgIHNob3VsZFNjaGVkdWxlVGFzayA9IHRydWU7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBp
ZiAoIXNob3VsZFNjaGVkdWxlVGFzaykKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fcGVy
Zm9ybWFuY2VUaW1lbGluZVRhc2tRdWV1ZS5oYXNQZW5kaW5nVGFza3MoKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgbV9wZXJmb3JtYW5jZVRpbWVsaW5lVGFza1F1ZXVlLmVucXVldWVUYXNrKFt0
aGlzXSAoKSB7CisgICAgICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VPYnNlcnZlcj4+IG9i
c2VydmVyczsKKyAgICAgICAgY29weVRvVmVjdG9yKG1fb2JzZXJ2ZXJzLCBvYnNlcnZlcnMpOwor
ICAgICAgICBmb3IgKGF1dG8mIG9ic2VydmVyIDogb2JzZXJ2ZXJzKQorICAgICAgICAgICAgb2Jz
ZXJ2ZXItPmRlbGl2ZXIoKTsKKyAgICB9KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9USU1JTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgK
aW5kZXggMGZlZWJjYzZkNDcuLmY3NDE0ZmM2ZTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZS5oCkBAIC0zNyw2ICszNyw4IEBACiAjaW5jbHVkZSAiRE9NV2luZG93UHJvcGVydHkuaCIKICNp
bmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCisjaW5jbHVk
ZSAiR2VuZXJpY1Rhc2tRdWV1ZS5oIgorI2luY2x1ZGUgPHd0Zi9MaXN0SGFzaFNldC5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ0LDYgKzQ2LDcgQEAgY2xhc3MgRG9jdW1lbnQ7CiBj
bGFzcyBMb2FkVGltaW5nOwogY2xhc3MgUGVyZm9ybWFuY2VFbnRyeTsKIGNsYXNzIFBlcmZvcm1h
bmNlTmF2aWdhdGlvbjsKK2NsYXNzIFBlcmZvcm1hbmNlT2JzZXJ2ZXI7CiBjbGFzcyBQZXJmb3Jt
YW5jZVRpbWluZzsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBVUkw7CkBAIC02Nywx
NyArNzAsMjAgQEAgcHVibGljOgogCiAgICAgdm9pZCBhZGRSZXNvdXJjZVRpbWluZyhjb25zdCBT
dHJpbmcmIGluaXRpYXRvck5hbWUsIERvY3VtZW50KiwgY29uc3QgVVJMJiBvcmlnaW5hbFVSTCwg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IExvYWRUaW1pbmcmKTsKIAotICAgIHVzaW5n
IFJlZkNvdW50ZWQ6OnJlZjsKLSAgICB1c2luZyBSZWZDb3VudGVkOjpkZXJlZjsKLQogICAgIEV4
Y2VwdGlvbk9yPHZvaWQ+IG1hcmsoY29uc3QgU3RyaW5nJiBtYXJrTmFtZSk7CiAgICAgdm9pZCBj
bGVhck1hcmtzKGNvbnN0IFN0cmluZyYgbWFya05hbWUpOwogCiAgICAgRXhjZXB0aW9uT3I8dm9p
ZD4gbWVhc3VyZShjb25zdCBTdHJpbmcmIG1lYXN1cmVOYW1lLCBjb25zdCBTdHJpbmcmIHN0YXJ0
TWFyaywgY29uc3QgU3RyaW5nJiBlbmRNYXJrKTsKICAgICB2b2lkIGNsZWFyTWVhc3VyZXMoY29u
c3QgU3RyaW5nJiBtZWFzdXJlTmFtZSk7CiAKKyAgICB2b2lkIHJlZ2lzdGVyUGVyZm9ybWFuY2VP
YnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CisgICAgdm9pZCB1bnJlZ2lzdGVyUGVyZm9y
bWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CisKICAgICBzdGF0aWMgZG91Ymxl
IHJlZHVjZVRpbWVSZXNvbHV0aW9uKGRvdWJsZSBzZWNvbmRzKTsKIAorICAgIHVzaW5nIFJlZkNv
dW50ZWQ6OnJlZjsKKyAgICB1c2luZyBSZWZDb3VudGVkOjpkZXJlZjsKKwogcHJpdmF0ZToKICAg
ICBleHBsaWNpdCBQZXJmb3JtYW5jZShGcmFtZSYpOwogCkBAIC04OSw2ICs5NSw4IEBAIHByaXZh
dGU6CiAKICAgICBib29sIGlzUmVzb3VyY2VUaW1pbmdCdWZmZXJGdWxsKCkgY29uc3Q7CiAKKyAg
ICB2b2lkIHF1ZXVlRW50cnkoUGVyZm9ybWFuY2VFbnRyeSYpOworCiAgICAgbXV0YWJsZSBSZWZQ
dHI8UGVyZm9ybWFuY2VOYXZpZ2F0aW9uPiBtX25hdmlnYXRpb247CiAgICAgbXV0YWJsZSBSZWZQ
dHI8UGVyZm9ybWFuY2VUaW1pbmc+IG1fdGltaW5nOwogCkBAIC05OSw2ICsxMDcsOSBAQCBwcml2
YXRlOgogICAgIGRvdWJsZSBtX3JlZmVyZW5jZVRpbWU7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
VXNlclRpbWluZz4gbV91c2VyVGltaW5nOworCisgICAgR2VuZXJpY1Rhc2tRdWV1ZTxUaW1lcj4g
bV9wZXJmb3JtYW5jZVRpbWVsaW5lVGFza1F1ZXVlOworICAgIExpc3RIYXNoU2V0PFJlZlB0cjxQ
ZXJmb3JtYW5jZU9ic2VydmVyPj4gbV9vYnNlcnZlcnM7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAppbmRleCAwYTZjNWU5ODg4NS4uYTg1ZmJkYjVmOWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcApAQCAtMzMsMTMgKzMz
LDE2IEBACiAKICNpZiBFTkFCTEUoV0VCX1RJTUlORykKIAorI2luY2x1ZGUgIlJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QZXJmb3JtYW5jZUVudHJ5
OjpQZXJmb3JtYW5jZUVudHJ5KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBlbnRy
eVR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBmaW5pc2hUaW1lKQorUGVyZm9ybWFuY2VF
bnRyeTo6UGVyZm9ybWFuY2VFbnRyeShUeXBlIHR5cGUsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiBlbnRyeVR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBmaW5pc2hUaW1l
KQogICAgIDogbV9uYW1lKG5hbWUpCiAgICAgLCBtX2VudHJ5VHlwZShlbnRyeVR5cGUpCiAgICAg
LCBtX3N0YXJ0VGltZShzdGFydFRpbWUpCiAgICAgLCBtX2R1cmF0aW9uKGZpbmlzaFRpbWUgLSBz
dGFydFRpbWUpCisgICAgLCBtX3R5cGUodHlwZSkKIHsKIH0KIApAQCAtNDcsNiArNTAsMjYgQEAg
UGVyZm9ybWFuY2VFbnRyeTo6flBlcmZvcm1hbmNlRW50cnkoKQogewogfQogCitzdGQ6Om9wdGlv
bmFsPFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IFBlcmZvcm1hbmNlRW50cnk6OnBhcnNlRW50cnlU
eXBlU3RyaW5nKGNvbnN0IFN0cmluZyYgZW50cnlUeXBlKQoreworICAgIGlmIChlbnRyeVR5cGUg
PT0gIm5hdmlnYXRpb24iKQorICAgICAgICByZXR1cm4gc3RkOjpvcHRpb25hbDxUeXBlPihUeXBl
OjpOYXZpZ2F0aW9uKTsKKworICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLnVzZXJUaW1pbmdFbmFibGVkKCkpIHsKKyAgICAgICAgaWYgKGVudHJ5VHlwZSA9
PSAibWFyayIpCisgICAgICAgICAgICByZXR1cm4gc3RkOjpvcHRpb25hbDxUeXBlPihUeXBlOjpN
YXJrKTsKKyAgICAgICAgaWYgKGVudHJ5VHlwZSA9PSAibWVhc3VyZSIpCisgICAgICAgICAgICBy
ZXR1cm4gc3RkOjpvcHRpb25hbDxUeXBlPihUeXBlOjpNZWFzdXJlKTsKKyAgICB9CisKKyAgICBp
ZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5yZXNvdXJjZVRpbWlu
Z0VuYWJsZWQoKSkgeworICAgICAgICBpZiAoZW50cnlUeXBlID09ICJyZXNvdXJjZSIpCisgICAg
ICAgICAgICByZXR1cm4gc3RkOjpvcHRpb25hbDxUeXBlPihUeXBlOjpSZXNvdXJjZSk7CisgICAg
fQorCisgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9USU1JTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VFbnRyeS5oCmluZGV4IDY4YzEwMTk0YjMyLi43ZWJlZTZhNGMzYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpZiBFTkFCTEUo
V0VCX1RJTUlORykKIAogI2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCisjaW5jbHVkZSA8d3RmL09w
dGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvVHlw
ZUNhc3RzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC00OSw2ICs1MCwx
NyBAQCBwdWJsaWM6CiAgICAgZG91YmxlIHN0YXJ0VGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3Rh
cnRUaW1lOyB9CiAgICAgZG91YmxlIGR1cmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9kdXJhdGlv
bjsgfQogCisgICAgZW51bSBjbGFzcyBUeXBlIHsKKyAgICAgICAgTmF2aWdhdGlvbiA9IDEgPDwg
MCwKKyAgICAgICAgTWFyayA9IDEgPDwgMSwKKyAgICAgICAgTWVhc3VyZSA9IDEgPDwgMiwKKyAg
ICAgICAgUmVzb3VyY2UgPSAxIDw8IDMsCisgICAgfTsKKworICAgIFR5cGUgdHlwZSgpIGNvbnN0
IHsgcmV0dXJuIG1fdHlwZTsgfQorCisgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8VHlwZT4gcGFy
c2VFbnRyeVR5cGVTdHJpbmcoY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUpOworCiAgICAgdmlydHVh
bCBib29sIGlzUmVzb3VyY2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCBpc01hcmsoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBp
c01lYXN1cmUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAtNTksMTMgKzcxLDE0IEBAIHB1
YmxpYzoKICAgICB9CiAKIHByb3RlY3RlZDoKLSAgICBQZXJmb3JtYW5jZUVudHJ5KGNvbnN0IFN0
cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRv
dWJsZSBmaW5pc2hUaW1lKTsKKyAgICBQZXJmb3JtYW5jZUVudHJ5KFR5cGUsIGNvbnN0IFN0cmlu
ZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJs
ZSBmaW5pc2hUaW1lKTsKIAogcHJpdmF0ZToKICAgICBjb25zdCBTdHJpbmcgbV9uYW1lOwogICAg
IGNvbnN0IFN0cmluZyBtX2VudHJ5VHlwZTsKICAgICBjb25zdCBkb3VibGUgbV9zdGFydFRpbWU7
CiAgICAgY29uc3QgZG91YmxlIG1fZHVyYXRpb247CisgICAgY29uc3QgVHlwZSBtX3R5cGU7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlTWFyay5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1h
cmsuaAppbmRleCA0ZmE5YWNlMzE2Yy4uNTI4YmExOTk2NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VNYXJrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZU1hcmsuaApAQCAtMzksNyArMzksMTEgQEAgcHVibGljOgogICAgIGJvb2wgaXNN
YXJrKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIAogcHJpdmF0ZToKLSAg
ICBQZXJmb3JtYW5jZU1hcmsoY29uc3QgU3RyaW5nJiBuYW1lLCBkb3VibGUgc3RhcnRUaW1lKSA6
IFBlcmZvcm1hbmNlRW50cnkobmFtZSwgQVNDSUlMaXRlcmFsKCJtYXJrIiksIHN0YXJ0VGltZSwg
c3RhcnRUaW1lKSB7IH0KKyAgICBQZXJmb3JtYW5jZU1hcmsoY29uc3QgU3RyaW5nJiBuYW1lLCBk
b3VibGUgc3RhcnRUaW1lKQorICAgICAgICA6IFBlcmZvcm1hbmNlRW50cnkoUGVyZm9ybWFuY2VF
bnRyeTo6VHlwZTo6TWFyaywgbmFtZSwgQVNDSUlMaXRlcmFsKCJtYXJrIiksIHN0YXJ0VGltZSwg
c3RhcnRUaW1lKQorICAgIHsKKyAgICB9CisKICAgICB+UGVyZm9ybWFuY2VNYXJrKCkgeyB9CiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTWVhc3VyZS5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1lYXN1cmUuaAppbmRleCBmMTIwZDkw
MDk2ZS4uY2RiMGI2YzU4OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VNZWFzdXJlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1lYXN1
cmUuaApAQCAtMzksNyArMzksMTEgQEAgcHVibGljOgogICAgIGJvb2wgaXNNZWFzdXJlKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogCiBwcml2YXRlOgotICAgIFBlcmZvcm1hbmNl
TWVhc3VyZShjb25zdCBTdHJpbmcmIG5hbWUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBkdXJh
dGlvbikgOiBQZXJmb3JtYW5jZUVudHJ5KG5hbWUsIEFTQ0lJTGl0ZXJhbCgibWVhc3VyZSIpLCBz
dGFydFRpbWUsIGR1cmF0aW9uKSB7IH0KKyAgICBQZXJmb3JtYW5jZU1lYXN1cmUoY29uc3QgU3Ry
aW5nJiBuYW1lLCBkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgZHVyYXRpb24pCisgICAgICAgIDog
UGVyZm9ybWFuY2VFbnRyeShQZXJmb3JtYW5jZUVudHJ5OjpUeXBlOjpNZWFzdXJlLCBuYW1lLCBB
U0NJSUxpdGVyYWwoIm1lYXN1cmUiKSwgc3RhcnRUaW1lLCBkdXJhdGlvbikKKyAgICB7CisgICAg
fQorCiAgICAgflBlcmZvcm1hbmNlTWVhc3VyZSgpIHsgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAuLjQ0YWUzZjU2Mjg3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcApAQCAtMCwwICsxLDEwNiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZU9ic2VydmVy
LmgiCisKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKKworI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgor
I2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1
ZGUgIlBlcmZvcm1hbmNlLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlz
dC5oIgorI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworUGVyZm9ybWFuY2VPYnNlcnZlcjo6UGVyZm9ybWFuY2VPYnNlcnZlcihTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBSZWY8UGVyZm9ybWFuY2VPYnNl
cnZlckNhbGxiYWNrPiYmIGNhbGxiYWNrKQorICAgIDogbV9jYWxsYmFjayhXVEZNb3ZlKGNhbGxi
YWNrKSkKK3sKKyAgICBpZiAoaXM8RG9jdW1lbnQ+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpKSB7
CisgICAgICAgIGF1dG8mIGRvY3VtZW50ID0gZG93bmNhc3Q8RG9jdW1lbnQ+KHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQpOworICAgICAgICBpZiAoRE9NV2luZG93KiB3aW5kb3cgPSBkb2N1bWVudC5k
b21XaW5kb3coKSkKKyAgICAgICAgICAgIG1fcGVyZm9ybWFuY2UgPSB3aW5kb3ctPnBlcmZvcm1h
bmNlKCk7CisgICAgfSBlbHNlIGlmIChpczxXb3JrZXJHbG9iYWxTY29wZT4oc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCkpIHsKKyAgICAgICAgLy8gRklYTUU6IFN1cHBvcnQgUGVyZm9ybWFuY2UgVGlt
ZWxpbmUgZm9yIFdvcmtlcnMuCisgICAgfSBlbHNlCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworfQorCitFeGNlcHRpb25Pcjx2b2lkPiBQZXJmb3JtYW5jZU9ic2VydmVyOjpvYnNlcnZl
KEluaXQmJiBpbml0KQoreworICAgIGlmICghbV9wZXJmb3JtYW5jZSkKKyAgICAgICAgcmV0dXJu
IEV4Y2VwdGlvbiB7IFR5cGVFcnJvciB9OworCisgICAgaWYgKGluaXQuZW50cnlUeXBlcy5pc0Vt
cHR5KCkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJh
bCgiZW50cnlUeXBlcyBjYW5ub3QgYmUgYW4gZW1wdHkgbGlzdCIpIH07CisKKyAgICBPcHRpb25T
ZXQ8UGVyZm9ybWFuY2VFbnRyeTo6VHlwZT4gZmlsdGVyOworICAgIGZvciAoY29uc3QgU3RyaW5n
JiBlbnRyeVR5cGUgOiBpbml0LmVudHJ5VHlwZXMpIHsKKyAgICAgICAgaWYgKGF1dG8gdHlwZSA9
IFBlcmZvcm1hbmNlRW50cnk6OnBhcnNlRW50cnlUeXBlU3RyaW5nKGVudHJ5VHlwZSkpCisgICAg
ICAgICAgICBmaWx0ZXIgfD0gKnR5cGU7CisgICAgfQorCisgICAgaWYgKGZpbHRlci5pc0VtcHR5
KCkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgi
ZW50cnlUeXBlcyBjb250YWluZWQgb25seSB1bnN1cHBvcnRlZCB0eXBlcyIpIH07CisKKyAgICBt
X3R5cGVGaWx0ZXIgPSBmaWx0ZXI7CisKKyAgICBpZiAoIW1fcmVnaXN0ZXJlZCkgeworICAgICAg
ICBtX3BlcmZvcm1hbmNlLT5yZWdpc3RlclBlcmZvcm1hbmNlT2JzZXJ2ZXIoKnRoaXMpOworICAg
ICAgICBtX3JlZ2lzdGVyZWQgPSB0cnVlOworICAgIH0KKworICAgIHJldHVybiB7IH07Cit9CisK
K3ZvaWQgUGVyZm9ybWFuY2VPYnNlcnZlcjo6ZGlzY29ubmVjdCgpCit7CisgICAgaWYgKG1fcGVy
Zm9ybWFuY2UpCisgICAgICAgIG1fcGVyZm9ybWFuY2UtPnVucmVnaXN0ZXJQZXJmb3JtYW5jZU9i
c2VydmVyKCp0aGlzKTsKKworICAgIG1fcmVnaXN0ZXJlZCA9IGZhbHNlOworICAgIG1fZW50cmll
c1RvRGVsaXZlci5jbGVhcigpOworfQorCit2b2lkIFBlcmZvcm1hbmNlT2JzZXJ2ZXI6OnF1ZXVl
RW50cnkoUGVyZm9ybWFuY2VFbnRyeSYgZW50cnkpCit7CisgICAgbV9lbnRyaWVzVG9EZWxpdmVy
LmFwcGVuZCgmZW50cnkpOworfQorCit2b2lkIFBlcmZvcm1hbmNlT2JzZXJ2ZXI6OmRlbGl2ZXIo
KQoreworICAgIGlmIChtX2VudHJpZXNUb0RlbGl2ZXIuaXNFbXB0eSgpKQorICAgICAgICByZXR1
cm47CisKKyAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBlbnRyaWVzID0gV1RG
TW92ZShtX2VudHJpZXNUb0RlbGl2ZXIpOworICAgIGF1dG8gbGlzdCA9IFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXJFbnRyeUxpc3Q6OmNyZWF0ZShXVEZNb3ZlKGVudHJpZXMpKTsKKyAgICBtX2NhbGxiYWNr
LT5oYW5kbGVFdmVudChsaXN0LnB0cigpLCB0aGlzKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9USU1JTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VPYnNlcnZlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwLi5mMTdmYzczZDVjOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VPYnNlcnZlci5oCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfVElNSU5HKQorCisjaW5jbHVkZSAiRXhjZXB0aW9u
T3IuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFu
Y2VPYnNlcnZlckNhbGxiYWNrLmgiCisjaW5jbHVkZSA8d3RmL09wdGlvblNldC5oPgorI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFBl
cmZvcm1hbmNlOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKworY2xhc3MgUGVyZm9y
bWFuY2VPYnNlcnZlciA6IHB1YmxpYyBSZWZDb3VudGVkPFBlcmZvcm1hbmNlT2JzZXJ2ZXI+IHsK
K3B1YmxpYzoKKyAgICBzdHJ1Y3QgSW5pdCB7CisgICAgICAgIFZlY3RvcjxTdHJpbmc+IGVudHJ5
VHlwZXM7CisgICAgfTsKKworICAgIHN0YXRpYyBSZWY8UGVyZm9ybWFuY2VPYnNlcnZlcj4gY3Jl
YXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJlZjxQZXJmb3JtYW5jZU9ic2Vy
dmVyQ2FsbGJhY2s+JiYgY2FsbGJhY2spCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGNvbnRleHQsIFdURk1vdmUoY2FsbGJhY2spKSk7Cisg
ICAgfQorCisgICAgRXhjZXB0aW9uT3I8dm9pZD4gb2JzZXJ2ZShJbml0JiYpOworICAgIHZvaWQg
ZGlzY29ubmVjdCgpOworCisgICAgT3B0aW9uU2V0PFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IHR5
cGVGaWx0ZXIoKSBjb25zdCB7IHJldHVybiBtX3R5cGVGaWx0ZXI7IH0KKworICAgIHZvaWQgcXVl
dWVFbnRyeShQZXJmb3JtYW5jZUVudHJ5Jik7CisgICAgdm9pZCBkZWxpdmVyKCk7CisKK3ByaXZh
dGU6CisgICAgUGVyZm9ybWFuY2VPYnNlcnZlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVm
PFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjaz4mJik7CisKKyAgICBSZWZQdHI8UGVyZm9ybWFu
Y2U+IG1fcGVyZm9ybWFuY2U7CisgICAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4g
bV9lbnRyaWVzVG9EZWxpdmVyOworICAgIFJlZjxQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2s+
IG1fY2FsbGJhY2s7CisgICAgT3B0aW9uU2V0PFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IG1fdHlw
ZUZpbHRlcjsKKyAgICBib29sIG1fcmVnaXN0ZXJlZCB7IGZhbHNlIH07Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1RJTUlORykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwLi41ODgzMzRlNzA2ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKQEAgLTAsMCArMSw0NCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJmb3JtYW5jZS10aW1lbGlu
ZS8KKworWworICAgIENvbmRpdGlvbmFsPVdFQl9USU1JTkcsCisgICAgQ29uc3RydWN0b3IoUGVy
Zm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrIGNhbGxiYWNrKSwKKyAgICBDb25zdHJ1Y3RvckNhbGxX
aXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsCisgICAgRW5hYmxlZEF0UnVudGltZT1QZXJmb3Jt
YW5jZVRpbWVsaW5lLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCitdIGludGVyZmFj
ZSBQZXJmb3JtYW5jZU9ic2VydmVyIHsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgb2Jz
ZXJ2ZShQZXJmb3JtYW5jZU9ic2VydmVySW5pdCBvcHRpb25zKTsKKyAgICB2b2lkIGRpc2Nvbm5l
Y3QoKTsKK307CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJfVElNSU5HLAorXQorZGljdGlvbmFy
eSBQZXJmb3JtYW5jZU9ic2VydmVySW5pdCB7CisgICAgcmVxdWlyZWQgc2VxdWVuY2U8RE9NU3Ry
aW5nPiBlbnRyeVR5cGVzOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlT2JzZXJ2ZXJDYWxsYmFjay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwLi45MTM1YzM5ODQ4NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrLmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9USU1JTkcpCisKKyNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFBlcmZvcm1h
bmNlT2JzZXJ2ZXI7CitjbGFzcyBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0OworCitjbGFz
cyBQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxQZXJmb3Jt
YW5jZU9ic2VydmVyQ2FsbGJhY2s+IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5QZXJmb3JtYW5j
ZU9ic2VydmVyQ2FsbGJhY2soKSB7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlRXZlbnQoUGVy
Zm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCosIFBlcmZvcm1hbmNlT2JzZXJ2ZXIqKSA9IDA7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1RJTUlO
RykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckNh
bGxiYWNrLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxi
YWNrLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uY2M5YTFkY2Y4
N2EKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXJDYWxsYmFjay5pZGwKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBz
Oi8vdzNjLmdpdGh1Yi5pby9wZXJmb3JtYW5jZS10aW1lbGluZS8KKworWworICAgIENvbmRpdGlv
bmFsPVdFQl9USU1JTkcsCitdIGNhbGxiYWNrIFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjayA9
IHZvaWQgKFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QgZW50cmllcywgUGVyZm9ybWFuY2VP
YnNlcnZlciBvYnNlcnZlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyRW50cnlMaXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMC4uN2QwOWVmMDM3ODcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuY3BwCkBAIC0wLDAgKzEsNzkgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VPYnNl
cnZlckVudHJ5TGlzdC5oIgorCisjaWYgRU5BQkxFKFdFQl9USU1JTkcpCisKKyNpbmNsdWRlICJQ
ZXJmb3JtYW5jZUVudHJ5LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPFBlcmZvcm1h
bmNlT2JzZXJ2ZXJFbnRyeUxpc3Q+IFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Q6OmNyZWF0
ZShWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiYmIGVudHJpZXMpCit7CisgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdChXVEZNb3ZlKGVu
dHJpZXMpKSk7Cit9CisKK1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Q6OlBlcmZvcm1hbmNl
T2JzZXJ2ZXJFbnRyeUxpc3QoVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4mJiBlbnRy
aWVzKQorICAgIDogbV9lbnRyaWVzKFdURk1vdmUoZW50cmllcykpCit7CisgICAgQVNTRVJUKCFt
X2VudHJpZXMuaXNFbXB0eSgpKTsKKworICAgIHN0ZDo6c3RhYmxlX3NvcnQobV9lbnRyaWVzLmJl
Z2luKCksIG1fZW50cmllcy5lbmQoKSwgUGVyZm9ybWFuY2VFbnRyeTo6c3RhcnRUaW1lQ29tcGFy
ZUxlc3NUaGFuKTsKK30KKworVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9y
bWFuY2VPYnNlcnZlckVudHJ5TGlzdDo6Z2V0RW50cmllc0J5VHlwZShjb25zdCBTdHJpbmcmIGVu
dHJ5VHlwZSkgY29uc3QKK3sKKyAgICByZXR1cm4gZ2V0RW50cmllc0J5TmFtZShTdHJpbmcoKSwg
ZW50cnlUeXBlKTsKK30KKworVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9y
bWFuY2VPYnNlcnZlckVudHJ5TGlzdDo6Z2V0RW50cmllc0J5TmFtZShjb25zdCBTdHJpbmcmIG5h
bWUsIGNvbnN0IFN0cmluZyYgZW50cnlUeXBlKSBjb25zdAoreworICAgIFZlY3RvcjxSZWZQdHI8
UGVyZm9ybWFuY2VFbnRyeT4+IGVudHJpZXM7CisKKyAgICAvLyBQZXJmb3JtYW5jZU9ic2VydmVy
cyBjYW4gb25seSBiZSByZWdpc3RlcmVkIGZvciB2YWxpZCB0eXBlcy4KKyAgICAvLyBTbyBpZiB0
aGUgaW5jb21pbmcgZW50cnlUeXBlIGlzIGFuIHVua25vd24gdHlwZSwgdGhlcmUgd2lsbCBiZSBu
byBtYXRjaGVzLgorICAgIHN0ZDo6b3B0aW9uYWw8UGVyZm9ybWFuY2VFbnRyeTo6VHlwZT4gdHlw
ZTsKKyAgICBpZiAoIWVudHJ5VHlwZS5pc051bGwoKSkgeworICAgICAgICB0eXBlID0gUGVyZm9y
bWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJpbmcoZW50cnlUeXBlKTsKKyAgICAgICAgaWYg
KCF0eXBlKQorICAgICAgICAgICAgcmV0dXJuIGVudHJpZXM7CisgICAgfQorCisgICAgZm9yIChh
dXRvJiBlbnRyeSA6IG1fZW50cmllcykgeworICAgICAgICBpZiAoIW5hbWUuaXNOdWxsKCkgJiYg
ZW50cnktPm5hbWUoKSAhPSBuYW1lKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIGlm
ICh0eXBlICYmIGVudHJ5LT50eXBlKCkgIT0gKnR5cGUpCisgICAgICAgICAgICBjb250aW51ZTsK
KyAgICAgICAgZW50cmllcy5hcHBlbmQoZW50cnkuY29weVJlZigpKTsKKyAgICB9CisKKyAgICBy
ZXR1cm4gZW50cmllczsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8g
RU5BQkxFKFdFQl9USU1JTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VPYnNlcnZlckVudHJ5TGlzdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwLi4zYWY2OTBjYTc0ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5oCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfVElNSU5HKQorCisjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGVyZm9y
bWFuY2VFbnRyeTsKKworY2xhc3MgUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCA6IHB1Ymxp
YyBSZWZDb3VudGVkPFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3Q+IHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXJFbnRyeUxpc3Q+IGNyZWF0ZShWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiYm
IGVudHJpZXMpOworCisgICAgY29uc3QgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4m
IGdldEVudHJpZXMoKSBjb25zdCB7IHJldHVybiBtX2VudHJpZXM7IH0KKyAgICBWZWN0b3I8UmVm
UHRyPFBlcmZvcm1hbmNlRW50cnk+PiBnZXRFbnRyaWVzQnlUeXBlKGNvbnN0IFN0cmluZyYgZW50
cnlUeXBlKSBjb25zdDsKKyAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBnZXRF
bnRyaWVzQnlOYW1lKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUp
IGNvbnN0OworCitwcml2YXRlOgorICAgIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QoVmVj
dG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4mJiBlbnRyaWVzKTsKKworICAgIFZlY3RvcjxS
ZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IG1fZW50cmllczsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfVElNSU5HKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjBlZTcwNDBmM2Y3Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0Lmlk
bApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlv
L3BlcmZvcm1hbmNlLXRpbWVsaW5lLworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCX1RJTUlORywK
KyAgICBFbmFibGVkQXRSdW50aW1lPVBlcmZvcm1hbmNlVGltZWxpbmUsCisgICAgSW1wbGVtZW50
YXRpb25MYWNrc1ZUYWJsZSwKK10gaW50ZXJmYWNlIFBlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxp
c3QgeworICAgIFBlcmZvcm1hbmNlRW50cnlMaXN0IGdldEVudHJpZXMoKTsKKyAgICBQZXJmb3Jt
YW5jZUVudHJ5TGlzdCBnZXRFbnRyaWVzQnlUeXBlKERPTVN0cmluZyB0eXBlKTsKKyAgICBQZXJm
b3JtYW5jZUVudHJ5TGlzdCBnZXRFbnRyaWVzQnlOYW1lKERPTVN0cmluZyBuYW1lLCBvcHRpb25h
bCBET01TdHJpbmcgdHlwZSk7Cit9OworCit0eXBlZGVmIHNlcXVlbmNlPFBlcmZvcm1hbmNlRW50
cnk+IFBlcmZvcm1hbmNlRW50cnlMaXN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKaW5kZXggMGEzMjMzYmRmZjEuLjY3NjllMWQ1M2Y1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5jcHAKQEAgLTc2LDcgKzc2LDcgQEAgc3RhdGljIGJvb2wgcGFzc2VzVGltaW5nQWxsb3dDaGVj
ayhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgRG9jdW1lbnQqIHIKIH0KIAogUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyhjb25zdCBB
dG9taWNTdHJpbmcmIGluaXRpYXRvclR5cGUsIGNvbnN0IFVSTCYgb3JpZ2luYWxVUkwsIGNvbnN0
IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBMb2FkVGltaW5nIGxvYWRUaW1pbmcsIERvY3Vt
ZW50KiByZXF1ZXN0aW5nRG9jdW1lbnQpCi0gICAgOiBQZXJmb3JtYW5jZUVudHJ5KG9yaWdpbmFs
VVJMLnN0cmluZygpLCBBU0NJSUxpdGVyYWwoInJlc291cmNlIiksIG1vbm90b25pY1RpbWVUb0Rv
Y3VtZW50TWlsbGlzZWNvbmRzKHJlcXVlc3RpbmdEb2N1bWVudCwgbG9hZFRpbWluZy5zdGFydFRp
bWUoKSksIG1vbm90b25pY1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKHJlcXVlc3RpbmdEb2N1
bWVudCwgbG9hZFRpbWluZy5yZXNwb25zZUVuZCgpKSkKKyAgICA6IFBlcmZvcm1hbmNlRW50cnko
UGVyZm9ybWFuY2VFbnRyeTo6VHlwZTo6UmVzb3VyY2UsIG9yaWdpbmFsVVJMLnN0cmluZygpLCBB
U0NJSUxpdGVyYWwoInJlc291cmNlIiksIG1vbm90b25pY1RpbWVUb0RvY3VtZW50TWlsbGlzZWNv
bmRzKHJlcXVlc3RpbmdEb2N1bWVudCwgbG9hZFRpbWluZy5zdGFydFRpbWUoKSksIG1vbm90b25p
Y1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKHJlcXVlc3RpbmdEb2N1bWVudCwgbG9hZFRpbWlu
Zy5yZXNwb25zZUVuZCgpKSkKICAgICAsIG1faW5pdGlhdG9yVHlwZShpbml0aWF0b3JUeXBlKQog
ICAgICwgbV90aW1pbmcocmVzcG9uc2UubmV0d29ya0xvYWRUaW1pbmcoKSkKICAgICAsIG1fbG9h
ZFRpbWluZyhsb2FkVGltaW5nKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZVVzZXJUaW1pbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVVz
ZXJUaW1pbmcuY3BwCmluZGV4IGFiYmU5NTBiODg1Li43Yjk0MDBkOWRlYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVVzZXJUaW1pbmcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VVc2VyVGltaW5nLmNwcApAQCAtMzAsOSArMzAsNiBA
QAogCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgi
Ci0jaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgotI2luY2x1ZGUgIlBlcmZvcm1hbmNlTWFy
ay5oIgotI2luY2x1ZGUgIlBlcmZvcm1hbmNlTWVhc3VyZS5oIgogI2luY2x1ZGUgIlBlcmZvcm1h
bmNlVGltaW5nLmgiCiAjaW5jbHVkZSA8YXJyYXk+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJv
eWVkLmg+CkBAIC05OCwxNSArOTUsMTUgQEAgc3RhdGljIHZvaWQgY2xlYXJQZXJmb3JtYW5jZUVu
dHJpZXMoUGVyZm9ybWFuY2VFbnRyeU1hcCYgcGVyZm9ybWFuY2VFbnRyeU1hcCwgY28KICAgICBw
ZXJmb3JtYW5jZUVudHJ5TWFwLnJlbW92ZShuYW1lKTsKIH0KIAotRXhjZXB0aW9uT3I8dm9pZD4g
VXNlclRpbWluZzo6bWFyayhjb25zdCBTdHJpbmcmIG1hcmtOYW1lKQorRXhjZXB0aW9uT3I8UmVm
PFBlcmZvcm1hbmNlTWFyaz4+IFVzZXJUaW1pbmc6Om1hcmsoY29uc3QgU3RyaW5nJiBtYXJrTmFt
ZSkKIHsKICAgICBpZiAocmVzdHJpY3RlZE1hcmtGdW5jdGlvbihtYXJrTmFtZSkpCiAgICAgICAg
IHJldHVybiBFeGNlcHRpb24geyBTWU5UQVhfRVJSIH07CiAKICAgICBhdXRvJiBwZXJmb3JtYW5j
ZUVudHJ5TGlzdCA9IG1fbWFya3NNYXAuZW5zdXJlKG1hcmtOYW1lLCBbXSB7IHJldHVybiBWZWN0
b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PigpOyB9KS5pdGVyYXRvci0+dmFsdWU7Ci0gICAg
cGVyZm9ybWFuY2VFbnRyeUxpc3QuYXBwZW5kKFBlcmZvcm1hbmNlTWFyazo6Y3JlYXRlKG1hcmtO
YW1lLCBtX3BlcmZvcm1hbmNlLm5vdygpKSk7Ci0KLSAgICByZXR1cm4geyB9OworICAgIGF1dG8g
ZW50cnkgPSBQZXJmb3JtYW5jZU1hcms6OmNyZWF0ZShtYXJrTmFtZSwgbV9wZXJmb3JtYW5jZS5u
b3coKSk7CisgICAgcGVyZm9ybWFuY2VFbnRyeUxpc3QuYXBwZW5kKGVudHJ5LmNvcHlSZWYoKSk7
CisgICAgcmV0dXJuIFdURk1vdmUoZW50cnkpOwogfQogCiB2b2lkIFVzZXJUaW1pbmc6OmNsZWFy
TWFya3MoY29uc3QgU3RyaW5nJiBtYXJrTmFtZSkKQEAgLTEyOSw3ICsxMjYsNyBAQCBFeGNlcHRp
b25Pcjxkb3VibGU+IFVzZXJUaW1pbmc6OmZpbmRFeGlzdGluZ01hcmtTdGFydFRpbWUoY29uc3Qg
U3RyaW5nJiBtYXJrTmFtZQogICAgIHJldHVybiBFeGNlcHRpb24geyBTWU5UQVhfRVJSIH07CiB9
CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IFVzZXJUaW1pbmc6Om1lYXN1cmUoY29uc3QgU3RyaW5nJiBt
ZWFzdXJlTmFtZSwgY29uc3QgU3RyaW5nJiBzdGFydE1hcmssIGNvbnN0IFN0cmluZyYgZW5kTWFy
aykKK0V4Y2VwdGlvbk9yPFJlZjxQZXJmb3JtYW5jZU1lYXN1cmU+PiBVc2VyVGltaW5nOjptZWFz
dXJlKGNvbnN0IFN0cmluZyYgbWVhc3VyZU5hbWUsIGNvbnN0IFN0cmluZyYgc3RhcnRNYXJrLCBj
b25zdCBTdHJpbmcmIGVuZE1hcmspCiB7CiAgICAgZG91YmxlIHN0YXJ0VGltZSA9IDAuMDsKICAg
ICBkb3VibGUgZW5kVGltZSA9IDAuMDsKQEAgLTE1NCw5ICsxNTEsOSBAQCBFeGNlcHRpb25Pcjx2
b2lkPiBVc2VyVGltaW5nOjptZWFzdXJlKGNvbnN0IFN0cmluZyYgbWVhc3VyZU5hbWUsIGNvbnN0
IFN0cmluZyYgcwogICAgIH0KIAogICAgIGF1dG8mIHBlcmZvcm1hbmNlRW50cnlMaXN0ID0gbV9t
ZWFzdXJlc01hcC5lbnN1cmUobWVhc3VyZU5hbWUsIFtdIHsgcmV0dXJuIFZlY3RvcjxSZWZQdHI8
UGVyZm9ybWFuY2VFbnRyeT4+KCk7IH0pLml0ZXJhdG9yLT52YWx1ZTsKLSAgICBwZXJmb3JtYW5j
ZUVudHJ5TGlzdC5hcHBlbmQoUGVyZm9ybWFuY2VNZWFzdXJlOjpjcmVhdGUobWVhc3VyZU5hbWUs
IHN0YXJ0VGltZSwgZW5kVGltZSkpOwotCi0gICAgcmV0dXJuIHsgfTsKKyAgICBhdXRvIGVudHJ5
ID0gUGVyZm9ybWFuY2VNZWFzdXJlOjpjcmVhdGUobWVhc3VyZU5hbWUsIHN0YXJ0VGltZSwgZW5k
VGltZSk7CisgICAgcGVyZm9ybWFuY2VFbnRyeUxpc3QuYXBwZW5kKGVudHJ5LmNvcHlSZWYoKSk7
CisgICAgcmV0dXJuIFdURk1vdmUoZW50cnkpOwogfQogCiB2b2lkIFVzZXJUaW1pbmc6OmNsZWFy
TWVhc3VyZXMoY29uc3QgU3RyaW5nJiBtZWFzdXJlTmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VVc2VyVGltaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlVXNlclRpbWluZy5oCmluZGV4IDU3NGUxMjQxNWQ4Li43ODMxMzczNzhhMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVVzZXJUaW1pbmcuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVXNlclRpbWluZy5oCkBAIC0yOCwx
MyArMjgsMTQgQEAKICNpZiBFTkFCTEUoV0VCX1RJTUlORykKIAogI2luY2x1ZGUgIkV4Y2VwdGlv
bk9yLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VNYXJrLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFu
Y2VNZWFzdXJlLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUGVyZm9ybWFu
Y2U7Ci1jbGFzcyBQZXJmb3JtYW5jZUVudHJ5OwogCiB1c2luZyBQZXJmb3JtYW5jZUVudHJ5TWFw
ID0gSGFzaE1hcDxTdHJpbmcsIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+PjsKIApA
QCAtNDIsMTAgKzQzLDEwIEBAIGNsYXNzIFVzZXJUaW1pbmcgewogcHVibGljOgogICAgIGV4cGxp
Y2l0IFVzZXJUaW1pbmcoUGVyZm9ybWFuY2UmKTsKIAotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IG1h
cmsoY29uc3QgU3RyaW5nJiBtYXJrTmFtZSk7CisgICAgRXhjZXB0aW9uT3I8UmVmPFBlcmZvcm1h
bmNlTWFyaz4+IG1hcmsoY29uc3QgU3RyaW5nJiBtYXJrTmFtZSk7CiAgICAgdm9pZCBjbGVhck1h
cmtzKGNvbnN0IFN0cmluZyYgbWFya05hbWUpOwogCi0gICAgRXhjZXB0aW9uT3I8dm9pZD4gbWVh
c3VyZShjb25zdCBTdHJpbmcmIG1lYXN1cmVOYW1lLCBjb25zdCBTdHJpbmcmIHN0YXJ0TWFyaywg
Y29uc3QgU3RyaW5nJiBlbmRNYXJrKTsKKyAgICBFeGNlcHRpb25PcjxSZWY8UGVyZm9ybWFuY2VN
ZWFzdXJlPj4gbWVhc3VyZShjb25zdCBTdHJpbmcmIG1lYXN1cmVOYW1lLCBjb25zdCBTdHJpbmcm
IHN0YXJ0TWFyaywgY29uc3QgU3RyaW5nJiBlbmRNYXJrKTsKICAgICB2b2lkIGNsZWFyTWVhc3Vy
ZXMoY29uc3QgU3RyaW5nJiBtZWFzdXJlTmFtZSk7CiAKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZv
cm1hbmNlRW50cnk+PiBnZXRNYXJrcygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5k
ZXggYjhjNjNhNzQwZWEuLjY1YzQxMmQ3Y2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNCBAQAorMjAxNy0wMS0zMCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBw
bGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBQZXJmb3JtYW5jZU9ic2VydmVyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc1NDYKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzMwMjQ3OTU5PgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2Ug
Tml3YS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL05hdGl2ZUZ1bmN0aW9uUGFy
YW1ldGVycy5qczoKKyAgICAgICAgSW1wcm92ZSBBUEkgdmlldyBkaXNwbGF5IG9mIGJ1aWx0LWlu
IHBlcmZvcm1hbmNlIG1ldGhvZHMuCisKIDIwMTctMDEtMzAgIE1hdHQgQmFrZXIgIDxtYXR0YmFr
ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5lZWQgc29tZSBsaW1pdCBv
biBBc3luYyBDYWxsIFN0YWNrcyBmb3IgYXN5bmMgbG9vcHMgKHJBRiBsb29wcykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9OYXRpdmVGdW5j
dGlvblBhcmFtZXRlcnMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9N
b2RlbHMvTmF0aXZlRnVuY3Rpb25QYXJhbWV0ZXJzLmpzCmluZGV4IDhlYTcyNGE2OTYyLi45YmE1
MGEyM2E5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TW9kZWxzL05hdGl2ZUZ1bmN0aW9uUGFyYW1ldGVycy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvTmF0aXZlRnVuY3Rpb25QYXJhbWV0ZXJzLmpzCkBA
IC0xMjMxLDYgKzEyMzEsMjcgQEAgV2ViSW5zcGVjdG9yLk5hdGl2ZVByb3RvdHlwZUZ1bmN0aW9u
UGFyYW1ldGVycyA9IHsKICAgICAgICAgX19wcm90b19fOiBudWxsLAogICAgIH0sCiAKKyAgICBQ
ZXJmb3JtYW5jZTogeworICAgICAgICBjbGVhck1hcmtzOiAiW25hbWVdIiwKKyAgICAgICAgY2xl
YXJNZWFzdXJlczogIm5hbWUiLAorICAgICAgICBnZXRFbnRyaWVzQnlOYW1lOiAibmFtZSwgW3R5
cGVdIiwKKyAgICAgICAgZ2V0RW50cmllc0J5VHlwZTogInR5cGUiLAorICAgICAgICBtYXJrOiAi
bmFtZSIsCisgICAgICAgIG1lYXN1cmU6ICJuYW1lLCBbc3RhcnRNYXJrXSwgW2VuZE1hcmtdIiwK
KyAgICAgICAgX19wcm90b19fOiBudWxsLAorICAgIH0sCisKKyAgICBQZXJmb3JtYW5jZU9ic2Vy
dmVyOiB7CisgICAgICAgIG9ic2VydmU6ICJvcHRpb25zIiwKKyAgICAgICAgX19wcm90b19fOiBu
dWxsLAorICAgIH0sCisKKyAgICBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0OiB7CisgICAg
ICAgIGdldEVudHJpZXNCeU5hbWU6ICJuYW1lLCBbdHlwZV0iLAorICAgICAgICBnZXRFbnRyaWVz
QnlUeXBlOiAidHlwZSIsCisgICAgICAgIF9fcHJvdG9fXzogbnVsbCwKKyAgICB9LAorCiAgICAg
UGx1Z2luOiB7CiAgICAgICAgIGl0ZW06ICJbaW5kZXhdIiwKICAgICAgICAgbmFtZWRJdGVtOiAi
W25hbWVdIiwK
</data>

          </attachment>
      

    </bug>

</bugzilla>