<?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>175455</bug_id>
          
          <creation_ts>2017-08-10 16:01:36 -0700</creation_ts>
          <short_desc>[Cache API] Adding generic support for CacheStorage and Cache methods</short_desc>
          <delta_ts>2017-08-15 14:05:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=174541</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>beidson</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1337662</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-10 16:01:36 -0700</bug_when>
    <thetext>[Cache API] Adding generic support for CacheStorage and Cache methods</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337674</commentid>
    <comment_count>1</comment_count>
      <attachid>317873</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-10 16:17:08 -0700</bug_when>
    <thetext>Created attachment 317873
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337676</commentid>
    <comment_count>2</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-10 16:19:16 -0700</bug_when>
    <thetext>Attachment 317873 did not pass style-queue:


ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:44:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:51:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:64:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:85:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/Cache.cpp:306:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/Cache.h:57:  The parameter name &quot;request&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 6 in 50 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>1337685</commentid>
    <comment_count>3</comment_count>
      <attachid>317878</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-10 16:30:30 -0700</bug_when>
    <thetext>Created attachment 317878
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337688</commentid>
    <comment_count>4</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-10 16:33:47 -0700</bug_when>
    <thetext>Attachment 317878 did not pass style-queue:


ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:44:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:51:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:64:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:85:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/Cache.cpp:306:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/Cache.h:57:  The parameter name &quot;request&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 6 in 51 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>1337737</commentid>
    <comment_count>5</comment_count>
      <attachid>317890</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-10 17:13:34 -0700</bug_when>
    <thetext>Created attachment 317890
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337740</commentid>
    <comment_count>6</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-10 17:15:41 -0700</bug_when>
    <thetext>Attachment 317890 did not pass style-queue:


ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:44:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:51:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:64:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:85:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/Cache.cpp:306:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/Cache.h:57:  The parameter name &quot;request&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 6 in 51 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>1337762</commentid>
    <comment_count>7</comment_count>
      <attachid>317894</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-10 17:46:16 -0700</bug_when>
    <thetext>Created attachment 317894
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337763</commentid>
    <comment_count>8</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-10 17:47:41 -0700</bug_when>
    <thetext>Attachment 317894 did not pass style-queue:


ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:44:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:51:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:64:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:85:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/Cache.cpp:306:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/Cache.h:57:  The parameter name &quot;request&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 6 in 50 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>1337801</commentid>
    <comment_count>9</comment_count>
      <attachid>317894</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-08-10 19:50:40 -0700</bug_when>
    <thetext>Comment on attachment 317894
Patch

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

&gt; Source/WebCore/ChangeLog:19
&gt; +        Adding a CacheStorageProvider abstraction that creates a CacheStorageConnection.
&gt; +        The CacheStorageProvider is accessed from the page for Document calls.
&gt; +        The CacheStorageConnection is responsible to implement the read/write operations on the cache database.
&gt; +        At the moment, it does nothing.
&gt; +
&gt; +        Implementing CacheStorage APIs and Cache APIs based on the CacheStorageConnection except for Cache add and addAll which will be implemented later on.
&gt; +
&gt; +        Adding support for CacheStorage.match function as a JS built-in as this involves promises and allows a clearer implementation.
&gt; +        Adding various accessors and constructors for Fetch constructs as needed by the Cache API implementation.
&gt; +

This is a big change. Can you add more detailed change information in the change file/function list below?

&gt; Source/WebCore/Modules/cache/Cache.cpp:52
&gt; +    auto* origin = m_context.securityOrigin();
&gt; +    return origin ? origin-&gt;toString() : emptyString();

In what situations does a context not have an origin?

&gt; Source/WebCore/Modules/cache/Cache.cpp:131
&gt; +        if (!protocolIsInHTTPFamily(request-&gt;url()) || request-&gt;method() != &quot;GET&quot;) {
&gt; +            promise.reject(Exception { TypeError, ASCIILiteral(&quot;Request is not HTTP/HTTPS or method is not GET&quot;) });
&gt; +            return;
&gt; +        }

Seems like this should be split up, so the error is specific to the issue.

&gt; Source/WebCore/Modules/cache/Cache.cpp:146
&gt; +    String varyValue = response-&gt;headers().internalHeaders().get(WebCore::HTTPHeaderName::Vary);

This can be auto.

&gt; Source/WebCore/Modules/cache/Cache.cpp:148
&gt; +    Vector&lt;String&gt; varyingHeaderNames;
&gt; +    varyValue.split(&apos;,&apos;, varyingHeaderNames);

Split returning a Vector is a pretty allocation heavy operation. Seems like the functor variant would be more appropriate here.

&gt; Source/WebCore/Modules/cache/Cache.cpp:161
&gt; +        promise.reject(Exception { TypeError, ASCIILiteral(&quot;Caching a loading Response is not yet supported&quot;) });

NotSupportedError?

&gt; Source/WebCore/Modules/cache/Cache.cpp:166
&gt; +        promise.reject(Exception { TypeError, ASCIILiteral(&quot;Caching a Response with data stored in a ReadableStream is not yet supported&quot;) });

NotSupportedError?

&gt; Source/WebCore/Modules/cache/Cache.cpp:312
&gt; +void Cache::batchPutOperation(const FetchRequest&amp; request, const FetchResponse&amp; response, Function&lt;void(CacheStorageConnection::Error)&gt;&amp;&amp; callback)

Can the function take an ExceptionOr&lt;void&gt; instead of an Error enum?

&gt; Source/WebCore/Modules/cache/Cache.idl:37
&gt; +    [NewObject, PrivateIdentifier, PublicIdentifier] Promise&lt;sequence&lt;FetchResponse&gt;&gt; matchAll(optional RequestInfo request, optional CacheQueryOptions options);

I have been making a concerted effort to remove js-builtin from the bindings, as they go agains the point of the bindings generator, to be generated.  

The changelog indicates that this is necessary to make a cleaner implementation. Can you go into more detail on that?

&gt; Source/WebCore/Modules/cache/CacheStorage.h:58
&gt; +    ScriptExecutionContext&amp; m_context;

Why is this reference safe? What is keeping the ScriptExecutionContext alive while the CacheStorage is alive?

&gt; Source/WebCore/Modules/cache/CacheStorage.idl:36
&gt; +    [NewObject, JSBuiltin] Promise&lt;any&gt; match(RequestInfo request, optional CacheQueryOptions options);

Can we avoid the builtin?

&gt; Source/WebCore/Modules/fetch/FetchRequest.h:60
&gt; +    struct InternalRequest {
&gt; +        ResourceRequest request;
&gt; +        FetchOptions options;
&gt; +        String referrer;
&gt; +    };

Can we just put FetchOptions and referrer into the ResourceRequest, and get rid of InternalRequest?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337834</commentid>
    <comment_count>10</comment_count>
      <attachid>317894</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-10 22:36:17 -0700</bug_when>
    <thetext>Comment on attachment 317894
Patch

Thanks for the feedback.
More inline.

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

&gt;&gt; Source/WebCore/ChangeLog:19
&gt;&gt; +
&gt; 
&gt; This is a big change. Can you add more detailed change information in the change file/function list below?

Right, I will do this.
Reason of this big change is to validate CacheStorageConnection, but maybe I should have split it further.

&gt;&gt; Source/WebCore/Modules/cache/Cache.cpp:52
&gt;&gt; +    return origin ? origin-&gt;toString() : emptyString();
&gt; 
&gt; In what situations does a context not have an origin?

Workers do that check when returning their origins but I am not sure why.
This might be old code that should be updated.
I can put a FIXME.

&gt;&gt; Source/WebCore/Modules/cache/Cache.cpp:131
&gt;&gt; +        }
&gt; 
&gt; Seems like this should be split up, so the error is specific to the issue.

OK

&gt;&gt; Source/WebCore/Modules/cache/Cache.cpp:146
&gt;&gt; +    String varyValue = response-&gt;headers().internalHeaders().get(WebCore::HTTPHeaderName::Vary);
&gt; 
&gt; This can be auto.

OK

&gt;&gt; Source/WebCore/Modules/cache/Cache.cpp:148
&gt;&gt; +    varyValue.split(&apos;,&apos;, varyingHeaderNames);
&gt; 
&gt; Split returning a Vector is a pretty allocation heavy operation. Seems like the functor variant would be more appropriate here.

OK

&gt;&gt; Source/WebCore/Modules/cache/Cache.cpp:161
&gt;&gt; +        promise.reject(Exception { TypeError, ASCIILiteral(&quot;Caching a loading Response is not yet supported&quot;) });
&gt; 
&gt; NotSupportedError?

OK

&gt;&gt; Source/WebCore/Modules/cache/Cache.cpp:166
&gt;&gt; +        promise.reject(Exception { TypeError, ASCIILiteral(&quot;Caching a Response with data stored in a ReadableStream is not yet supported&quot;) });
&gt; 
&gt; NotSupportedError?

OK

&gt;&gt; Source/WebCore/Modules/cache/Cache.cpp:312
&gt;&gt; +void Cache::batchPutOperation(const FetchRequest&amp; request, const FetchResponse&amp; response, Function&lt;void(CacheStorageConnection::Error)&gt;&amp;&amp; callback)
&gt; 
&gt; Can the function take an ExceptionOr&lt;void&gt; instead of an Error enum?

An exception error is an enum plus a string, which would need additional handling for workers or IPC.
At now, there is no need for custom strings that cannot be deduced from the error value.

&gt;&gt; Source/WebCore/Modules/cache/Cache.idl:37
&gt;&gt; +    [NewObject, PrivateIdentifier, PublicIdentifier] Promise&lt;sequence&lt;FetchResponse&gt;&gt; matchAll(optional RequestInfo request, optional CacheQueryOptions options);
&gt; 
&gt; I have been making a concerted effort to remove js-builtin from the bindings, as they go agains the point of the bindings generator, to be generated.  
&gt; 
&gt; The changelog indicates that this is necessary to make a cleaner implementation. Can you go into more detail on that?

The CacheStorage match spec implementation is based on promises and on Cache.@matchAll.
It iterates through the caches objects and call matchAll on each cache as soon as the previous matchAll promise is fulfilled.
This is probably doable in C++ but is more tedious and would be less close to the spec.

FWIW, I also plan to implement Cache.addAll as a JS builtin.
The principle in that case is to start several fetch calls at the same time and do a Promise.all on all fetch promises. Once done, write to the cache atomically.
Again, this is probably doable in C++ but the js builtin implementation will be easier, clearer and closer to the spec.

&gt;&gt; Source/WebCore/Modules/cache/CacheStorage.h:58
&gt;&gt; +    ScriptExecutionContext&amp; m_context;
&gt; 
&gt; Why is this reference safe? What is keeping the ScriptExecutionContext alive while the CacheStorage is alive?

Right, CacheStorage should be a ContextDestructionObserver or an ActiveDOMObject.

&gt;&gt; Source/WebCore/Modules/cache/CacheStorage.idl:36
&gt;&gt; +    [NewObject, JSBuiltin] Promise&lt;any&gt; match(RequestInfo request, optional CacheQueryOptions options);
&gt; 
&gt; Can we avoid the builtin?

As said above, we can probably avoid it but it will decrease the readability and ease of authoring.
If that is a blocker, let&apos;s split CacheStorage.match implementation from this patch.

&gt; Source/WebCore/Modules/cache/CacheStorageConnection.cpp:41
&gt; +        return Exception { TypeError, ASCIILiteral(&quot;Not implemented&quot;) };

Should be NotSupportedError then.

&gt;&gt; Source/WebCore/Modules/fetch/FetchRequest.h:60
&gt;&gt; +    };
&gt; 
&gt; Can we just put FetchOptions and referrer into the ResourceRequest, and get rid of InternalRequest?

We need an abstraction like this one for cache API and for the fetch event.

Referrer as is would be a bit odd in the ResourceRequest since it is not always the same as the request http header field.
There are specific values &quot;no-referrer&quot; and &quot;client&quot;.
Maybe this referrer should be an enumeration in ResourceRequest.

Adding fetch options into ResourceRequest would be a bigger change.
For instance, CachedResource blocks modifications of FetchOptions but not of its resource request.
FetchOptions is the base class of ResourceLoaderOptions/ThreadableLoaderOptions.
Somehow I feel that fetch options are immutable for a given fetch while the resource request may mutate.

Probably we can get rid of InternalRequest and inline request and options as regular FetchRequest members.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337919</commentid>
    <comment_count>11</comment_count>
      <attachid>317934</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-11 10:31:47 -0700</bug_when>
    <thetext>Created attachment 317934
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337927</commentid>
    <comment_count>12</comment_count>
      <attachid>317937</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-11 10:53:59 -0700</bug_when>
    <thetext>Created attachment 317937
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337929</commentid>
    <comment_count>13</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-11 10:57:12 -0700</bug_when>
    <thetext>Attachment 317937 did not pass style-queue:


ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:52:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:65:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:80:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:109:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/Cache.cpp:320:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/Cache.h:58:  The parameter name &quot;request&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 6 in 50 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>1337958</commentid>
    <comment_count>14</comment_count>
      <attachid>317946</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-11 11:59:45 -0700</bug_when>
    <thetext>Created attachment 317946
win fix try</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337959</commentid>
    <comment_count>15</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-11 12:04:18 -0700</bug_when>
    <thetext>Attachment 317946 did not pass style-queue:


ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:52:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:65:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:80:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:109:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/Cache.cpp:320:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/Cache.h:58:  The parameter name &quot;request&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 6 in 50 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>1338039</commentid>
    <comment_count>16</comment_count>
      <attachid>317972</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-11 15:49:17 -0700</bug_when>
    <thetext>Created attachment 317972
win fix try again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338040</commentid>
    <comment_count>17</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-11 15:50:44 -0700</bug_when>
    <thetext>Attachment 317972 did not pass style-queue:


ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:52:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:65:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:80:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:109:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/Cache.cpp:273:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorageConnection.h:46:  The parameter name &quot;request&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 6 in 50 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>1338041</commentid>
    <comment_count>18</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-11 15:55:18 -0700</bug_when>
    <thetext>I changed a bit the patch compared to the one reviewed by Sam yesterday:
- Adding an identifier to Cache. Passing an origin+name to the CacheStorageConnection is not sufficient (and not very efficient either). There is for instance the case where a page adds a Cache, removes it and adds another one with the same name. Both Caches should still work although the one that is removed will not persist once the web page is gone.
- Moving batchPutOperation to take a list of records, as it will be needed for addAll implementation.

I also updated the implementation according Sam comments.
One related change is making Cache/CacheStorage active DOM objects.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338045</commentid>
    <comment_count>19</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-08-11 16:29:20 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #10)
&gt; &gt;&gt; Source/WebCore/Modules/cache/Cache.cpp:312
&gt; &gt;&gt; +void Cache::batchPutOperation(const FetchRequest&amp; request, const FetchResponse&amp; response, Function&lt;void(CacheStorageConnection::Error)&gt;&amp;&amp; callback)
&gt; &gt; 
&gt; &gt; Can the function take an ExceptionOr&lt;void&gt; instead of an Error enum?
&gt; 
&gt; An exception error is an enum plus a string, which would need additional
&gt; handling for workers or IPC.
&gt; At now, there is no need for custom strings that cannot be deduced from the
&gt; error value.

Seems a bit unfortunate to have an alternate Exception mechanism here.

&gt; &gt;&gt; Source/WebCore/Modules/cache/Cache.idl:37
&gt; &gt;&gt; +    [NewObject, PrivateIdentifier, PublicIdentifier] Promise&lt;sequence&lt;FetchResponse&gt;&gt; matchAll(optional RequestInfo request, optional CacheQueryOptions options);
&gt; &gt; 
&gt; &gt; I have been making a concerted effort to remove js-builtin from the bindings, as they go agains the point of the bindings generator, to be generated.  
&gt; &gt; 
&gt; &gt; The changelog indicates that this is necessary to make a cleaner implementation. Can you go into more detail on that?
&gt; 
&gt; The CacheStorage match spec implementation is based on promises and on
&gt; Cache.@matchAll.
&gt; It iterates through the caches objects and call matchAll on each cache as
&gt; soon as the previous matchAll promise is fulfilled.
&gt; This is probably doable in C++ but is more tedious and would be less close
&gt; to the spec.
&gt; 
&gt; FWIW, I also plan to implement Cache.addAll as a JS builtin.
&gt; The principle in that case is to start several fetch calls at the same time
&gt; and do a Promise.all on all fetch promises. Once done, write to the cache
&gt; atomically.
&gt; Again, this is probably doable in C++ but the js builtin implementation will
&gt; be easier, clearer and closer to the spec.
&gt; 

...

&gt; 
&gt; &gt;&gt; Source/WebCore/Modules/cache/CacheStorage.idl:36
&gt; &gt;&gt; +    [NewObject, JSBuiltin] Promise&lt;any&gt; match(RequestInfo request, optional CacheQueryOptions options);
&gt; &gt; 
&gt; &gt; Can we avoid the builtin?
&gt; 
&gt; As said above, we can probably avoid it but it will decrease the readability
&gt; and ease of authoring.
&gt; If that is a blocker, let&apos;s split CacheStorage.match implementation from
&gt; this patch.

I&apos;d really like to see us evolve the C++ promise support rather than implement this as builtins. I actually find the opposite, that the builtins decrease readability, because you have to know how to jump between the JS code and the C++ code.

Perhaps splitting that out into a separate change will be good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338046</commentid>
    <comment_count>20</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-08-11 16:31:17 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #19)
&gt; I&apos;d really like to see us evolve the C++ promise support rather than
&gt; implement this as builtins. I actually find the opposite, that the builtins
&gt; decrease readability, because you have to know how to jump between the JS
&gt; code and the C++ code.

I could not agree more.

Promises are going to show up in more and more web APIs going forward, so its worth the investment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338058</commentid>
    <comment_count>21</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-08-11 16:38:50 -0700</bug_when>
    <thetext>(In reply to Brady Eidson from comment #20)
&gt; (In reply to Sam Weinig from comment #19)
&gt; &gt; I&apos;d really like to see us evolve the C++ promise support rather than
&gt; &gt; implement this as builtins. I actually find the opposite, that the builtins
&gt; &gt; decrease readability, because you have to know how to jump between the JS
&gt; &gt; code and the C++ code.
&gt; 
&gt; I could not agree more.
&gt; 
&gt; Promises are going to show up in more and more web APIs going forward, so
&gt; its worth the investment.

+1. I was very happy to see Sam&apos;s patches removing some of the JS builtins code. I think the new C++ code looked much better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338265</commentid>
    <comment_count>22</comment_count>
      <attachid>318017</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-13 17:56:54 -0700</bug_when>
    <thetext>Created attachment 318017
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338277</commentid>
    <comment_count>23</comment_count>
      <attachid>318022</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-13 20:59:41 -0700</bug_when>
    <thetext>Created attachment 318022
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338278</commentid>
    <comment_count>24</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-13 21:01:09 -0700</bug_when>
    <thetext>Attachment 318022 did not pass style-queue:


ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:57:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:70:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:85:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:115:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorageConnection.h:46:  The parameter name &quot;request&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/WebCore/Modules/cache/Cache.cpp:285:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 6 in 46 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>1338285</commentid>
    <comment_count>25</comment_count>
      <attachid>318026</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-13 22:57:02 -0700</bug_when>
    <thetext>Created attachment 318026
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338286</commentid>
    <comment_count>26</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-13 22:59:13 -0700</bug_when>
    <thetext>Attachment 318026 did not pass style-queue:


ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:57:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:72:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:92:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:122:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorageConnection.h:46:  The parameter name &quot;request&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/WebCore/Modules/cache/Cache.cpp:285:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 6 in 46 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>1338343</commentid>
    <comment_count>27</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-14 08:56:45 -0700</bug_when>
    <thetext>&gt; &gt; Source/WebCore/Modules/cache/Cache.cpp:312
&gt; &gt; +void Cache::batchPutOperation(const FetchRequest&amp; request, const FetchResponse&amp; response, Function&lt;void(CacheStorageConnection::Error)&gt;&amp;&amp; callback)
&gt; 
&gt; Can the function take an ExceptionOr&lt;void&gt; instead of an Error enum?

Rethinking about it, while CacheStorageConnection should use an Error enum, it would be better for this callback to be a Function&lt;void(ExceptionOr&lt;T&gt;&amp;&amp;)&amp;&amp;.
Especially if DOMPromiseDeferred has a method that gets an ExceptionOr&lt;T&gt;&amp;&amp; and call reject/resolve based on it.
I&apos;ll fix that later if possible.

&gt; I&apos;d really like to see us evolve the C++ promise support rather than
&gt; implement this as builtins. I actually find the opposite, that the builtins
&gt; decrease readability, because you have to know how to jump between the JS
&gt; code and the C++ code.

Sure, we could add  some more C++ code.
I am not sure that this is worth it though for CacheStorage.match.
Jumping between JS and C++ code is not very complicated, the only gotcha is the private id uses.


&gt; Perhaps splitting that out into a separate change will be good.

Done.
I&apos;ll try to check the C++ way for match and see the differences.
For addAll, I may actually go to C++ since the fetch promise resolves at response time while it might need a callback to the end of the load.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338439</commentid>
    <comment_count>28</comment_count>
      <attachid>318026</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-08-14 12:59:14 -0700</bug_when>
    <thetext>Comment on attachment 318026
Patch

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

&gt; Source/WebCore/Modules/cache/Cache.cpp:79
&gt; +        refreshRequestToResponseMap([this, promise = WTFMove(promise)]() {

I think refreshRequestToResponseMap is confusingly named. It is really hard for me to understand what it does.

&gt; Source/WebCore/Modules/cache/Cache.cpp:90
&gt; +            if (records.size()) {

!records.isEmpty()

&gt; Source/WebCore/Modules/cache/Cache.cpp:139
&gt; +    varyValue.split(&apos;,&apos;, false, [&amp;](const StringView&amp; view) {

We usually pass StringView type by value.

&gt; Source/WebCore/Modules/cache/Cache.cpp:140
&gt; +        if (!hasVaryHeaderStar &amp;&amp; view == &quot;*&quot;)

Looks like you are forgetting to update varyingHeaderNames Vector in your functor?

&gt; Source/WebCore/Modules/cache/Cache.cpp:171
&gt; +    batchPutOperation(*request, response.get(), [promise = WTFMove(promise)](CacheStorageConnection::Error error) mutable {

Is &quot;batch&quot; the right naming here? Are you really batching or merely queueing?

&gt; Source/WebCore/Modules/cache/Cache.cpp:287
&gt; +            callback(!!records.size(), error);

!records.isEmpty()

&gt; Source/WebCore/Modules/cache/Cache.cpp:326
&gt; +    Vector&lt;CacheStorageRecord&gt; newMap;

confusing naming.

&gt; Source/WebCore/Modules/cache/Cache.cpp:358
&gt; +    return !m_requestToResponseMap.size() &amp;&amp; !hasPendingActivity();

m_requestToResponseMap.isEmpty()

&gt; Source/WebCore/Modules/cache/Cache.h:46
&gt; +    enum class MatchType { All, OnlyFirst };

Could be private if comment below is applied.

&gt; Source/WebCore/Modules/cache/Cache.h:47
&gt; +    void match(RequestInfo&amp;&amp;, CacheQueryOptions&amp;&amp;, Ref&lt;DeferredPromise&gt;&amp;&amp;);

Why isn&apos;t this const?

&gt; Source/WebCore/Modules/cache/Cache.h:48
&gt; +    void matchAll(std::optional&lt;RequestInfo&gt;&amp;&amp;, CacheQueryOptions&amp;&amp;, Ref&lt;DeferredPromise&gt;&amp;&amp;, MatchType = MatchType::All);

Having a method named matchAll() which takes a MatchType parameter which can be OnlyFirst is confusing. My suggestion would be to have a private method that takes the MatchType parameter and have it called from match() / matchAll() using the right matchType. We could call this private method something like matchForType().

Also, why isn&apos;t this const?

&gt; Source/WebCore/Modules/cache/Cache.h:54
&gt; +    void keys(std::optional&lt;RequestInfo&gt;&amp;&amp;, CacheQueryOptions&amp;&amp;, KeysPromise&amp;&amp;);

Why isn&apos;t this const?

&gt; Source/WebCore/Modules/cache/Cache.h:67
&gt; +    void refreshRequestToResponseMap(WTF::Function&lt;void()&gt;&amp;&amp;);

This method name is confusing.

&gt; Source/WebCore/Modules/cache/Cache.h:73
&gt; +    void updateRequestToResponseMap(Vector&lt;CacheStorageConnection::Record&gt;&amp;&amp;);

This method name is confusing.

&gt; Source/WebCore/Modules/cache/Cache.h:79
&gt; +    Vector&lt;CacheStorageRecord&gt; m_requestToResponseMap;

Why is this called map? The variable naming is confusing given its Vector type. Could it something like m_cacheStorageRecords?

&gt; Source/WebCore/Modules/cache/CacheQueryOptions.h:33
&gt; +public:

Why this change? Looked better before.

&gt; Source/WebCore/Modules/cache/CacheStorage.cpp:61
&gt; +void CacheStorage::refreshCacheMap(WTF::Function&lt;void()&gt;&amp;&amp; callback)

refreshCacheMapThen? Otherwise, it is really unclear what the lambda is for.

&gt; Source/WebCore/Modules/cache/CacheStorage.cpp:68
&gt; +    m_connection-&gt;refreshCacheMap(origin, [this, callback = WTFMove(callback)](Vector&lt;CacheStorageConnection::CacheInfo&gt;&amp;&amp; cachesInfo) {

refreshCacheMapThen?

&gt; Source/WebCore/Modules/cache/CacheStorage.cpp:101
&gt; +            return;

So in this case we do not reject the promise?

&gt; Source/WebCore/Modules/cache/CacheStorage.cpp:130
&gt; +            return;

So in this case the promise is not resolved?

&gt; Source/WebCore/Modules/cache/CacheStorage.cpp:170
&gt; +    return !m_cacheMap.size() &amp;&amp; !hasPendingActivity();

m_cacheMap.isEmpty()

&gt; Source/WebCore/Modules/cache/CacheStorage.h:58
&gt; +    void refreshCacheMap(WTF::Function&lt;void()&gt;&amp;&amp;);

This name really does not make it clear what the lambda parameter is for.

&gt; Source/WebCore/Modules/cache/CacheStorage.h:61
&gt; +    Vector&lt;Ref&lt;Cache&gt;&gt; m_cacheMap;

Confusing naming given this is a Vector.

&gt; Source/WebCore/Modules/cache/CacheStorageConnection.cpp:41
&gt; +        return Exception { TypeError, ASCIILiteral(&quot;Not implemented&quot;) };

NotSupportedError?

&gt; Source/WebCore/Modules/cache/CacheStorageConnection.h:41
&gt; +    enum class Error {

Maybe it&apos;s just a personal preference but I think it&apos;s look better if we used std::optional&lt;Error&gt; rather than having a None value in the enum.

&gt; Source/WebCore/Modules/cache/CacheStorageConnection.h:67
&gt; +    static Ref&lt;CacheStorageConnection&gt; create() { return adoptRef(*new CacheStorageConnection()); }

We tend to have this one come first in our classes, for readability.

Also, you should make the constructor protected to force call sites to use your factory.
protected:
    CacheStorageConnection() = default;

&gt; Source/WebCore/Modules/cache/CacheStorageConnection.h:71
&gt; +    using CacheMapCallback = WTF::Function&lt;void(Vector&lt;CacheInfo&gt;&amp;&amp;)&gt;;

Confusing naming given the type.

&gt; Source/WebCore/Modules/cache/WorkerGlobalScopeCaches.h:37
&gt; +    WorkerGlobalScopeCaches(WorkerGlobalScope&amp; scope) : m_scope(scope) { };

Should not be on one line.

&gt; Source/WebCore/Modules/fetch/FetchRequest.cpp:77
&gt; +    if (!init.window.isUndefinedOrNull() &amp;&amp; !init.window.isEmpty())

Can&apos;t we just use jsNull() at the call site? Or default initialize window to jsNull() in the init struct?

&gt; Source/WebCore/Modules/fetch/FetchRequest.h:56
&gt; +    struct InternalRequest {

It is confusing to have an &quot;Internal&quot; request exposed in the public API.

&gt; Source/WebCore/Modules/fetch/FetchRequest.h:91
&gt; +    const URL&amp; internalRequestURL() const { return m_internalRequest.request.url(); }

The relationship between this getter and the url() one is unclear. Can we call the other one urlString() and call this one url() ?

&gt; Source/WebCore/page/CacheStorageProvider.h:36
&gt; +    static Ref&lt;CacheStorageProvider&gt; create() { return adoptRef(*new CacheStorageProvider); }

You also need to make the default constructor protected / private.

&gt; Source/WebKit/WebProcess/Cache/WebCacheStorageProvider.h:34
&gt; +    static Ref&lt;WebCacheStorageProvider&gt; create() { return adoptRef(*new WebCacheStorageProvider); }

You also need to make the default constructor private.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338466</commentid>
    <comment_count>29</comment_count>
      <attachid>318026</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-08-14 14:19:49 -0700</bug_when>
    <thetext>Comment on attachment 318026
Patch

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

&gt; Source/WebCore/Modules/cache/CacheStorageConnection.cpp:70
&gt; +    if (varyingHeaderNames.contains(&quot;*&quot;))

We could do this check in the loop below to avoid iterating over the vector twice.

&gt; Source/WebCore/Modules/cache/DOMWindowCaches.cpp:-62
&gt; -    if (!m_caches &amp;&amp; frame())

We normally have &quot;if (isCurrentlyDisplayedInFrame()) return nullptr;&quot; in DOMWindowProperty getters to make sure the Window is still the one displayed in the frame (frame is reused in case of navigation).

You can then drop the frame() and frame()-&gt;document() checks below.

&gt; Source/WebCore/Modules/fetch/FetchResponse.h:96
&gt; +    const ResourceResponse&amp; response() const { return m_response; }

Given this:
ResourceRequest FetchRequest::resourceRequest() const;

I would call this one resourceResponse() for consistency.

&gt; Source/WebKit/WebProcess/Cache/WebCacheStorageProvider.h:2
&gt; + * Copyright (C) 2016 Apple Inc. All rights reserved.

2017?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338552</commentid>
    <comment_count>30</comment_count>
      <attachid>318090</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-14 17:16:29 -0700</bug_when>
    <thetext>Created attachment 318090
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338553</commentid>
    <comment_count>31</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-14 17:18:12 -0700</bug_when>
    <thetext>Attachment 318090 did not pass style-queue:


ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:57:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:72:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:92:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:121:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorageConnection.h:49:  The parameter name &quot;request&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/WebCore/Modules/cache/Cache.cpp:289:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 6 in 62 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>1338555</commentid>
    <comment_count>32</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-14 17:31:06 -0700</bug_when>
    <thetext>Thanks for the review.

(In reply to Chris Dumez from comment #28)
&gt; Comment on attachment 318026 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=318026&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/cache/Cache.cpp:79
&gt; &gt; +        refreshRequestToResponseMap([this, promise = WTFMove(promise)]() {
&gt; 
&gt; I think refreshRequestToResponseMap is confusingly named. It is really hard
&gt; for me to understand what it does.

RequestToResponseMap is spec jargon.
I changed to to Records so the method is renamed retrieveRecords.

&gt; 
&gt; &gt; Source/WebCore/Modules/cache/Cache.cpp:90
&gt; &gt; +            if (records.size()) {
&gt; 
&gt; !records.isEmpty()

OK
 
&gt; &gt; Source/WebCore/Modules/cache/Cache.cpp:139
&gt; &gt; +    varyValue.split(&apos;,&apos;, false, [&amp;](const StringView&amp; view) {
&gt; 
&gt; We usually pass StringView type by value.

OK

&gt; &gt; Source/WebCore/Modules/cache/Cache.cpp:140
&gt; &gt; +        if (!hasVaryHeaderStar &amp;&amp; view == &quot;*&quot;)
&gt; 
&gt; Looks like you are forgetting to update varyingHeaderNames Vector in your
&gt; functor?

varyingHeaderNames is a left over from a previous patch.
I removed it.

&gt; &gt; Source/WebCore/Modules/cache/Cache.cpp:171
&gt; &gt; +    batchPutOperation(*request, response.get(), [promise = WTFMove(promise)](CacheStorageConnection::Error error) mutable {
&gt; 
&gt; Is &quot;batch&quot; the right naming here? Are you really batching or merely queueing?

batch operation is reusing spec terminology.
When implementing addAll, batchPutOperation will take a vector of records.


&gt; &gt; Source/WebCore/Modules/cache/Cache.cpp:287
&gt; &gt; +            callback(!!records.size(), error);
&gt; 
&gt; !records.isEmpty()

OK

&gt; &gt; Source/WebCore/Modules/cache/Cache.cpp:326
&gt; &gt; +    Vector&lt;CacheStorageRecord&gt; newMap;
&gt; 
&gt; confusing naming.

Changed to records.

&gt; &gt; Source/WebCore/Modules/cache/Cache.cpp:358
&gt; &gt; +    return !m_requestToResponseMap.size() &amp;&amp; !hasPendingActivity();
&gt; 
&gt; m_requestToResponseMap.isEmpty()
&gt; 
&gt; &gt; Source/WebCore/Modules/cache/Cache.h:46
&gt; &gt; +    enum class MatchType { All, OnlyFirst };
&gt; 
&gt; Could be private if comment below is applied.

OK

&gt; &gt; Source/WebCore/Modules/cache/Cache.h:47
&gt; &gt; +    void match(RequestInfo&amp;&amp;, CacheQueryOptions&amp;&amp;, Ref&lt;DeferredPromise&gt;&amp;&amp;);
&gt; 
&gt; Why isn&apos;t this const?

match is not really const here since we are retrieving the list of records.
We could try to make it const by making the records field mutable.
Not sure this is worth it.

&gt; &gt; Source/WebCore/Modules/cache/Cache.h:48
&gt; &gt; +    void matchAll(std::optional&lt;RequestInfo&gt;&amp;&amp;, CacheQueryOptions&amp;&amp;, Ref&lt;DeferredPromise&gt;&amp;&amp;, MatchType = MatchType::All);
&gt; 
&gt; Having a method named matchAll() which takes a MatchType parameter which can
&gt; be OnlyFirst is confusing. My suggestion would be to have a private method
&gt; that takes the MatchType parameter and have it called from match() /
&gt; matchAll() using the right matchType. We could call this private method
&gt; something like matchForType().

Changed.

&gt; Also, why isn&apos;t this const?

See above.

&gt; &gt; Source/WebCore/Modules/cache/Cache.h:54
&gt; &gt; +    void keys(std::optional&lt;RequestInfo&gt;&amp;&amp;, CacheQueryOptions&amp;&amp;, KeysPromise&amp;&amp;);
&gt; 
&gt; Why isn&apos;t this const?

Ditto.

&gt; &gt; Source/WebCore/Modules/cache/Cache.h:67
&gt; &gt; +    void refreshRequestToResponseMap(WTF::Function&lt;void()&gt;&amp;&amp;);
&gt; 
&gt; This method name is confusing.
&gt; 
&gt; &gt; Source/WebCore/Modules/cache/Cache.h:73
&gt; &gt; +    void updateRequestToResponseMap(Vector&lt;CacheStorageConnection::Record&gt;&amp;&amp;);
&gt; 
&gt; This method name is confusing.
&gt; 
&gt; &gt; Source/WebCore/Modules/cache/Cache.h:79
&gt; &gt; +    Vector&lt;CacheStorageRecord&gt; m_requestToResponseMap;
&gt; 
&gt; Why is this called map? The variable naming is confusing given its Vector
&gt; type. Could it something like m_cacheStorageRecords?

It is a map, sorted by insertion order, which ends up being implemented as a vector in WebKit. I changed it to m_records.


&gt; &gt; Source/WebCore/Modules/cache/CacheStorage.cpp:61
&gt; &gt; +void CacheStorage::refreshCacheMap(WTF::Function&lt;void()&gt;&amp;&amp; callback)
&gt; 
&gt; refreshCacheMapThen? Otherwise, it is really unclear what the lambda is for.

Used retrieveCaches.


&gt; &gt; Source/WebCore/Modules/cache/CacheStorage.cpp:68
&gt; &gt; +    m_connection-&gt;refreshCacheMap(origin, [this, callback = WTFMove(callback)](Vector&lt;CacheStorageConnection::CacheInfo&gt;&amp;&amp; cachesInfo) {
&gt; 
&gt; refreshCacheMapThen?
&gt; 
&gt; &gt; Source/WebCore/Modules/cache/CacheStorage.cpp:101
&gt; &gt; +            return;
&gt; 
&gt; So in this case we do not reject the promise?

Changed it to an assertion.


&gt; &gt; Source/WebCore/Modules/cache/CacheStorage.cpp:130
&gt; &gt; +            return;
&gt; 
&gt; So in this case the promise is not resolved?

Ditto, the callback should not be called if we en up with a null string.

&gt; &gt; Source/WebCore/Modules/cache/CacheStorage.cpp:170
&gt; &gt; +    return !m_cacheMap.size() &amp;&amp; !hasPendingActivity();
&gt; 
&gt; m_cacheMap.isEmpty()

Removed m_cacheMap.isEmpty() since each cache will know whether to suspend or not by itself.


&gt; &gt; Source/WebCore/Modules/cache/CacheStorageConnection.cpp:41
&gt; &gt; +        return Exception { TypeError, ASCIILiteral(&quot;Not implemented&quot;) };
&gt; 
&gt; NotSupportedError?

OK

&gt; &gt; Source/WebCore/Modules/cache/CacheStorageConnection.h:41
&gt; &gt; +    enum class Error {
&gt; 
&gt; Maybe it&apos;s just a personal preference but I think it&apos;s look better if we
&gt; used std::optional&lt;Error&gt; rather than having a None value in the enum.
&gt; 
&gt; &gt; Source/WebCore/Modules/cache/CacheStorageConnection.h:67
&gt; &gt; +    static Ref&lt;CacheStorageConnection&gt; create() { return adoptRef(*new CacheStorageConnection()); }
&gt; 
&gt; We tend to have this one come first in our classes, for readability.

Changed it.

&gt; Also, you should make the constructor protected to force call sites to use
&gt; your factory.

OK

&gt; protected:
&gt;     CacheStorageConnection() = default;
&gt; 
&gt; &gt; Source/WebCore/Modules/cache/CacheStorageConnection.h:71
&gt; &gt; +    using CacheMapCallback = WTF::Function&lt;void(Vector&lt;CacheInfo&gt;&amp;&amp;)&gt;;
&gt; 
&gt; Confusing naming given the type.
&gt; 
&gt; &gt; Source/WebCore/Modules/cache/WorkerGlobalScopeCaches.h:37
&gt; &gt; +    WorkerGlobalScopeCaches(WorkerGlobalScope&amp; scope) : m_scope(scope) { };
&gt; 
&gt; Should not be on one line.
&gt; 
&gt; &gt; Source/WebCore/Modules/fetch/FetchRequest.cpp:77
&gt; &gt; +    if (!init.window.isUndefinedOrNull() &amp;&amp; !init.window.isEmpty())
&gt; 
&gt; Can&apos;t we just use jsNull() at the call site? Or default initialize window to
&gt; jsNull() in the init struct?

We could, but it seems unnecessary to include JSC headers just for that.
 
&gt; &gt; Source/WebCore/Modules/fetch/FetchRequest.h:56
&gt; &gt; +    struct InternalRequest {
&gt; 
&gt; It is confusing to have an &quot;Internal&quot; request exposed in the public API.

Removed the getter.
We should remove this struct at some point.

&gt; &gt; Source/WebCore/Modules/fetch/FetchRequest.h:91
&gt; &gt; +    const URL&amp; internalRequestURL() const { return m_internalRequest.request.url(); }
&gt; 
&gt; The relationship between this getter and the url() one is unclear. Can we
&gt; call the other one urlString() and call this one url() ?

Changed it.

&gt; &gt; Source/WebCore/page/CacheStorageProvider.h:36
&gt; &gt; +    static Ref&lt;CacheStorageProvider&gt; create() { return adoptRef(*new CacheStorageProvider); }
&gt; 
&gt; You also need to make the default constructor protected / private.

OK

&gt; &gt; Source/WebKit/WebProcess/Cache/WebCacheStorageProvider.h:34
&gt; &gt; +    static Ref&lt;WebCacheStorageProvider&gt; create() { return adoptRef(*new WebCacheStorageProvider); }
&gt; 
&gt; You also need to make the default constructor private.

OK

(In reply to Chris Dumez from comment #29)
&gt; Comment on attachment 318026 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=318026&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/cache/CacheStorageConnection.cpp:70
&gt; &gt; +    if (varyingHeaderNames.contains(&quot;*&quot;))
&gt; 
&gt; We could do this check in the loop below to avoid iterating over the vector
&gt; twice.

OK

&gt; &gt; Source/WebCore/Modules/cache/DOMWindowCaches.cpp:-62
&gt; &gt; -    if (!m_caches &amp;&amp; frame())
&gt; 
&gt; We normally have &quot;if (isCurrentlyDisplayedInFrame()) return nullptr;&quot; in
&gt; DOMWindowProperty getters to make sure the Window is still the one displayed
&gt; in the frame (frame is reused in case of navigation).
&gt; 
&gt; You can then drop the frame() and frame()-&gt;document() checks below.

OK
 
&gt; &gt; Source/WebCore/Modules/fetch/FetchResponse.h:96
&gt; &gt; +    const ResourceResponse&amp; response() const { return m_response; }
&gt; 
&gt; Given this:
&gt; ResourceRequest FetchRequest::resourceRequest() const;
&gt; 
&gt; I would call this one resourceResponse() for consistency.

OK

&gt; &gt; Source/WebKit/WebProcess/Cache/WebCacheStorageProvider.h:2
&gt; &gt; + * Copyright (C) 2016 Apple Inc. All rights reserved.
&gt; 
&gt; 2017?

OK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338557</commentid>
    <comment_count>33</comment_count>
      <attachid>318092</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-14 17:32:25 -0700</bug_when>
    <thetext>Created attachment 318092
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338558</commentid>
    <comment_count>34</comment_count>
      <attachid>318093</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-14 17:37:23 -0700</bug_when>
    <thetext>Created attachment 318093
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338561</commentid>
    <comment_count>35</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-14 17:39:45 -0700</bug_when>
    <thetext>Attachment 318093 did not pass style-queue:


ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:57:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:72:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:92:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:121:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorageConnection.h:49:  The parameter name &quot;request&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/WebCore/Modules/cache/Cache.cpp:289:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 6 in 61 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>1338628</commentid>
    <comment_count>36</comment_count>
      <attachid>318113</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-14 22:25:02 -0700</bug_when>
    <thetext>Created attachment 318113
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338629</commentid>
    <comment_count>37</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-14 22:26:33 -0700</bug_when>
    <thetext>Attachment 318113 did not pass style-queue:


ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:57:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:72:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:92:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:121:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorageConnection.h:49:  The parameter name &quot;request&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/WebCore/Modules/cache/Cache.cpp:289:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 6 in 61 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>1338691</commentid>
    <comment_count>38</comment_count>
      <attachid>318113</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-08-15 09:18:41 -0700</bug_when>
    <thetext>Comment on attachment 318113
Patch

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

r=me with comments

&gt; Source/WebCore/Modules/cache/Cache.cpp:143
&gt; +    varyValue.split(&apos;,&apos;, false, [&amp;](StringView view) {

Vary header usually looks like so:
Vary: accept-encoding, accept-language

Because there is often a space after the comma, the code is is not sufficient. I believe you should strip surrounding spaces before doing comparison.

&gt; Source/WebCore/Modules/cache/Cache.cpp:236
&gt; +    queryCache(request.releaseNonNull(), WTFMove(options), [promise = WTFMove(promise)](const Vector&lt;CacheStorageRecord&gt;&amp; records) mutable {

const auto&amp; records would like work.

&gt; Source/WebCore/Modules/cache/Cache.cpp:302
&gt; +        cachedResponse.setHTTPHeaderField(header.key, header.value);

This merges existing headers and new ones.

&gt; Source/WebCore/Modules/cache/Cache.cpp:305
&gt; +    cachedRequest.setHTTPHeaderFields(request.headers().internalHeaders());

This replaces existing headers with new ones.

Which behavior is right?

&gt; Source/WebCore/Modules/cache/Cache.cpp:362
&gt; +    return !m_records.size() &amp;&amp; !hasPendingActivity();

m_records.isEmpty()

&gt; Source/WebCore/Modules/cache/CacheStorageConnection.cpp:72
&gt; +        if (name == &quot;*&quot;)

Vary header usually looks like so:
Vary: accept-encoding, accept-language

Because there is often a space after the comma, the code is is not sufficient. I believe you should strip surrounding spaces before doing comparison.

See stripLeadingAndTrailingHTTPSpaces() in HTTPParsers.h.

&gt; Source/WebCore/Modules/cache/WorkerGlobalScopeCaches.h:37
&gt; +    WorkerGlobalScopeCaches(WorkerGlobalScope&amp; scope) : m_scope(scope) { };

Should not be on one line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338764</commentid>
    <comment_count>39</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-15 11:47:30 -0700</bug_when>
    <thetext>Thanks for the review.

(In reply to Chris Dumez from comment #38)
&gt; Comment on attachment 318113 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=318113&amp;action=review
&gt; 
&gt; r=me with comments
&gt; 
&gt; &gt; Source/WebCore/Modules/cache/Cache.cpp:143
&gt; &gt; +    varyValue.split(&apos;,&apos;, false, [&amp;](StringView view) {
&gt; 
&gt; Vary header usually looks like so:
&gt; Vary: accept-encoding, accept-language
&gt; 
&gt; Because there is often a space after the comma, the code is is not
&gt; sufficient. I believe you should strip surrounding spaces before doing
&gt; comparison.

Right, I&apos;ll do the easy way and add a FIXME since I guess StringView should be able to strip whitespaces as well.

&gt; &gt; Source/WebCore/Modules/cache/Cache.cpp:236
&gt; &gt; +    queryCache(request.releaseNonNull(), WTFMove(options), [promise = WTFMove(promise)](const Vector&lt;CacheStorageRecord&gt;&amp; records) mutable {
&gt; 
&gt; const auto&amp; records would like work.
&gt; 
&gt; &gt; Source/WebCore/Modules/cache/Cache.cpp:302
&gt; &gt; +        cachedResponse.setHTTPHeaderField(header.key, header.value);
&gt; 
&gt; This merges existing headers and new ones.

This does not matter in practice.
There is a FIXME though to set all http header fields like done for ResourceRequest.

&gt; 
&gt; &gt; Source/WebCore/Modules/cache/Cache.cpp:305
&gt; &gt; +    cachedRequest.setHTTPHeaderFields(request.headers().internalHeaders());
&gt; 
&gt; This replaces existing headers with new ones.
&gt; 
&gt; Which behavior is right?

In this particular context, they should be no difference in behavior.
This particular implementation is better though.
Hence fix above.

&gt; &gt; Source/WebCore/Modules/cache/Cache.cpp:362
&gt; &gt; +    return !m_records.size() &amp;&amp; !hasPendingActivity();
&gt; 
&gt; m_records.isEmpty()

OK

&gt; &gt; Source/WebCore/Modules/cache/WorkerGlobalScopeCaches.h:37
&gt; &gt; +    WorkerGlobalScopeCaches(WorkerGlobalScope&amp; scope) : m_scope(scope) { };
&gt; 
&gt; Should not be on one line.

I like the one-line style.
It also seems used in many different headers in WebKit.
Should we update the style document to accept this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338772</commentid>
    <comment_count>40</comment_count>
      <attachid>318113</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-08-15 11:58:10 -0700</bug_when>
    <thetext>Comment on attachment 318113
Patch

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

&gt;&gt;&gt; Source/WebCore/Modules/cache/Cache.cpp:143
&gt;&gt;&gt; +    varyValue.split(&apos;,&apos;, false, [&amp;](StringView view) {
&gt;&gt; 
&gt;&gt; Vary header usually looks like so:
&gt;&gt; Vary: accept-encoding, accept-language
&gt;&gt; 
&gt;&gt; Because there is often a space after the comma, the code is is not sufficient. I believe you should strip surrounding spaces before doing comparison.
&gt; 
&gt; Right, I&apos;ll do the easy way and add a FIXME since I guess StringView should be able to strip whitespaces as well.

No, I believe Darin objected to doing this in https://bugs.webkit.org/show_bug.cgi?id=171731 so don&apos;t add a FIXME. I think you&apos;ll need to use a String.

&gt;&gt;&gt; Source/WebCore/Modules/cache/WorkerGlobalScopeCaches.h:37
&gt;&gt;&gt; +    WorkerGlobalScopeCaches(WorkerGlobalScope&amp; scope) : m_scope(scope) { };
&gt;&gt; 
&gt;&gt; Should not be on one line.
&gt; 
&gt; I like the one-line style.
&gt; It also seems used in many different headers in WebKit.
&gt; Should we update the style document to accept this?

This is not the WebKit coding style. If you want to start the mail thread about allowing this, go for it (I personally do not think it looks good on one line). But in the mean time, PLEASE follow the WebKit coding style.
The fact that it is used elsewhere is not evidence that it is OK to do so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338800</commentid>
    <comment_count>41</comment_count>
      <attachid>318151</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-15 12:48:19 -0700</bug_when>
    <thetext>Created attachment 318151
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338803</commentid>
    <comment_count>42</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-15 12:50:07 -0700</bug_when>
    <thetext>Attachment 318151 did not pass style-queue:


ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:57:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:72:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:92:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorage.cpp:121:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/Modules/cache/CacheStorageConnection.h:49:  The parameter name &quot;request&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/WebCore/Modules/cache/Cache.cpp:289:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 6 in 61 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>1338862</commentid>
    <comment_count>43</comment_count>
      <attachid>318151</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-15 14:04:43 -0700</bug_when>
    <thetext>Comment on attachment 318151
Patch

Clearing flags on attachment: 318151

Committed r220758: &lt;http://trac.webkit.org/changeset/220758&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338863</commentid>
    <comment_count>44</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-15 14:04:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338865</commentid>
    <comment_count>45</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-08-15 14:05:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/33903467&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317873</attachid>
            <date>2017-08-10 16:17:08 -0700</date>
            <delta_ts>2017-08-10 16:30:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175455-20170810161707.patch</filename>
            <type>text/plain</type>
            <size>102218</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODYzZjAzMzk5NTYzM2Vj
MTRkMGI5ZjQxMGQ5ZWIwOTMyMDQ2YWNhNC4uMTBiZWIzZTZlMGQyM2ZmYmQ2Njk2MmMzOGRlYmM5
ZTBlNDBiMzBlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMiBAQAorMjAxNy0wOC0xMCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRk
aW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5
IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgIEFkZGluZyBhIENhY2hlU3RvcmFnZVByb3ZpZGVy
IGFic3RyYWN0aW9uIHRoYXQgY3JlYXRlcyBhIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uCisgICAg
ICAgIFRoZSBDYWNoZVN0b3JhZ2VQcm92aWRlciBpcyBhY2Nlc3NlZCBmcm9tIHRoZSBwYWdlIGZv
ciBEb2N1bWVudCBjYWxscy4KKyAgICAgICAgVGhlIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24gaXMg
cmVzcG9uc2libGUgdG8gaW1wbGVtZW50IHRoZSByZWFkL3dyaXRlIG9wZXJhdGlvbnMgb24gdGhl
IGNhY2hlIGRhdGFiYXNlLgorICAgICAgICBBdCB0aGUgbW9tZW50LCBpdCBkb2VzIG5vdGhpbmcu
CisKKyAgICAgICAgSW1wbGVtZW50aW5nIENhY2hlU3RvcmFnZSBBUElzIGFuZCBDYWNoZSBBUElz
IGJhc2VkIG9uIHRoZSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uIGV4Y2VwdCBmb3IgQ2FjaGUgYWRk
IGFuZCBhZGRBbGwgd2hpY2ggd2lsbCBiZSBpbXBsZW1lbnRlZCBsYXRlciBvbi4KKworICAgICAg
ICBBZGRpbmcgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlLm1hdGNoIGZ1bmN0aW9uIGFzIGEgSlMg
YnVpbHQtaW4gYXMgdGhpcyBpbnZvbHZlcyBwcm9taXNlcyBhbmQgYWxsb3dzIGEgY2xlYXJlciBp
bXBsZW1lbnRhdGlvbi4KKyAgICAgICAgQWRkaW5nIHZhcmlvdXMgYWNjZXNzb3JzIGFuZCBjb25z
dHJ1Y3RvcnMgZm9yIEZldGNoIGNvbnN0cnVjdHMgYXMgbmVlZGVkIGJ5IHRoZSBDYWNoZSBBUEkg
aW1wbGVtZW50YXRpb24uCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OkNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
Ojp+Q2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6Om9yaWdpbiBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZTo6bWF0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6Om1h
dGNoQWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjpwdXQpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGU6OnJlbW92ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6a2V5cyk6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZTo6cmVmcmVzaFJlcXVlc3RUb1Jlc3BvbnNlTWFwKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlOjpxdWVyeUNhY2hlTWF0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGU6OnF1ZXJ5Q2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnF1ZXJ5Q2FjaGVX
aXRoVGFyZ2V0U3RvcmFnZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6YmF0Y2hEZWxldGVP
cGVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OmJhdGNoUHV0T3BlcmF0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjp1cGRhdGVSZXF1ZXN0VG9SZXNwb25zZU1hcCk6Cisg
ICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6bmFtZSBjb25zdCk6CisgICAgICAg
ICogTW9kdWxlcy9jYWNoZS9DYWNoZS5pZGw6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNo
ZVF1ZXJ5T3B0aW9ucy5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVRdWVyeU9wdGlvbnM6Omlz
b2xhdGVkQ29weSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpvcmlnaW4gY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpoYXMpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVTdG9yYWdlOjpyZWZyZXNoQ2FjaGVNYXApOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9y
YWdlOjpvcGVuKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6cmVtb3ZlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6a2V5cyk6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZVN0b3JhZ2U6OmNhY2hlTWFwKToKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hlU3Rv
cmFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpjcmVhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpDYWNoZVN0b3JhZ2UpOgorICAgICAgICAqIE1vZHVs
ZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hl
U3RvcmFnZS5qczogQWRkZWQuCisgICAgICAgIChtYXRjaC5yZXR1cm4uQ2FjaGVTdG9yYWdlLnBy
b3RvdHlwZS5jYWNoZU1hcC5jYWxsLnRoZW4pOgorICAgICAgICAobWF0Y2gpOgorICAgICAgICAq
IE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9yKToK
KyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQ6OnRvQ3Jv
c3NUaHJlYWREYXRhIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5l
Y3Rpb246OlJlY29yZDo6ZnJvbUNyb3NzVGhyZWFkRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVT
dG9yYWdlQ29ubmVjdGlvbjo6b3Blbik6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uOjpyZW1vdmUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29ubmVj
dGlvbjo6cmVmcmVzaENhY2hlTWFwKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNv
bm5lY3Rpb246OnJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcCk6CisgICAgICAgIChXZWJDb3Jl
OjpDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpiYXRjaERlbGV0ZU9wZXJhdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpiYXRjaFB1dE9wZXJhdGlvbik6Cisg
ICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VSZWNvcmQuaDogQWRkZWQuCisgICAg
ICAgICogTW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NV2luZG93Q2FjaGVzOjpjYWNoZXMgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvY2Fj
aGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
R2xvYmFsU2NvcGVDYWNoZXM6OmZyb20pOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFs
U2NvcGVDYWNoZXM6OmNhY2hlcyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9Xb3Jr
ZXJHbG9iYWxTY29wZUNhY2hlcy5oOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2Nv
cGVDYWNoZXM6Oldvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKToKKyAgICAgICAgKiBNb2R1bGVzL2Zl
dGNoL0ZldGNoQm9keU93bmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHlPd25lcjo6
aXNSZWFkYWJsZVN0cmVhbUJvZHkgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0
Y2hIZWFkZXJzLmg6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEhlYWRlcnM6OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpGZXRjaEhlYWRlcnM6Omd1YXJkIGNvbnN0KToKKyAgICAgICAgKiBN
b2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoTG9h
ZGVyOjpzdGFydCk6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6YnVpbGRPcHRpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OkZldGNo
UmVxdWVzdDo6cmVzb3VyY2VSZXF1ZXN0IGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNo
L0ZldGNoUmVxdWVzdC5oOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaFJlc3BvbnNlOjpib2R5Rm9ySW50ZXJuYWxSZXNw
b25zZSk6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmg6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
T3ZlcmxheS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JPdmVybGF5OjpvdmVybGF5
UGFnZSk6CisgICAgICAgICogbG9hZGVyL0ZldGNoT3B0aW9ucy5oOgorICAgICAgICAoV2ViQ29y
ZTo6RmV0Y2hPcHRpb25zOjppc29sYXRlZENvcHkgY29uc3QpOgorICAgICAgICAqIHBhZ2UvQ2Fj
aGVTdG9yYWdlUHJvdmlkZXIuaDogQWRkZWQuCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBhZ2U6OlBhZ2UpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6UGFnZTo6Y2FjaGVTdG9yYWdlUHJvdmlkZXIpOgorICAgICAgICAqIHBh
Z2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbmZpZ3Vy
YXRpb246OlBhZ2VDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0
aW9uLmg6CisgICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0ltYWdlOjpkYXRhQ2hhbmdlZCk6CisKIDIwMTctMDgtMTAgIEFudHRpIEtvaXZp
c3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFRyeSB0byBmaXggd2luZG93cyBidWls
ZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKaW5kZXggNjIxOTliOTA3MTdhYzQ4NjEzMzg1NzIzM2E2ZjI3YjgwOWQzZGUzZC4u
MjJhNzhmNDk0ZDVjMTk3MzNmZDI4NWYzOGRjNjAzMTViMzMwYTQ5NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxNy0wOC0xMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRkaW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVT
dG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvQ2FjaGUvV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaDogQWRkZWQu
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2Vi
S2l0OjptX2NwdUxpbWl0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6Y2FjaGVT
dG9yYWdlUHJvdmlkZXIpOgorCiAyMDE3LTA4LTEwICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtA
aWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBEb24ndCB1c2UgLS13aG9sZS1hcmNoaXZlIGxp
bmtpbmcgZmxhZ3MgZm9yIHRoZSBXZWJLaXQyIHRhcmdldCBsaWJyYXJpZXMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwppbmRleCBhNjYyOTRhMmUzYjM2M2EzMzMwN2ZhYzY2ODQ3NjZkMDRmMjk4
OTZhLi5jZWJlNmYyZmY2YTdmYzI4MWNhM2IwMTU0MGU3ODU1YmM4N2MzZWUxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMDgtMTAgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFtDYWNoZSBBUEldIEFkZGluZyBn
ZW5lcmljIHN1cHBvcnQgZm9yIENhY2hlU3RvcmFnZSBhbmQgQ2FjaGUgbWV0aG9kcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NDU1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZp
ZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1l
TmFtZTpncm91cE5hbWU6XSk6CisKIDIwMTctMDgtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBEaXNhYmxlIEJlYWNvbiBBUEkgb24gV0sxIERSVCBhbmQgV0sy
IHdoZW4gbm90IHVzaW5nIE5FVFdPUktfU0VTU0lPTgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBl
MWFkNThlM2VjZmU5YWUzNTEyMmMyY2RmYjFjZGNjNmVlN2JjMmIzLi44OWU2NWJjMmM1ZDc2NDZh
NjgxYmNkZDgyYzk5ZmYzNTRkMTg5ZGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtODkzLDYg
Kzg5Myw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKIAogICAgIE1vZHVsZXMvY2FjaGUvQ2FjaGUu
Y3BwCiAgICAgTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuY3BwCisgICAgTW9kdWxlcy9jYWNo
ZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcAogICAgIE1vZHVsZXMvY2FjaGUvRE9NV2luZG93
Q2FjaGVzLmNwcAogICAgIE1vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3Bw
CiAKQEAgLTM4NTIsNiArMzg1Myw3IEBAIGFkZF9kZXBlbmRlbmNpZXMoV2ViQ29yZVRlc3RTdXBw
b3J0QmluZGluZ3MgV2ViQ29yZURlcml2ZWRTb3VyY2VzKQogIyBXZWJDb3JlIEpTIEJ1aWx0aW5z
CiAKIHNldChXZWJDb3JlX0JVSUxUSU5TX1NPVVJDRVMKKyAgICAke1dFQkNPUkVfRElSfS9Nb2R1
bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5qcwogICAgICR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvZmV0
Y2gvRmV0Y2hJbnRlcm5hbHMuanMKICAgICAke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoUmVzcG9uc2UuanMKICAgICAke1dFQkNPUkVfRElSfS9Nb2R1bGVzL21lZGlhc3RyZWFtL05h
dmlnYXRvclVzZXJNZWRpYS5qcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggOGQ1
NjRlNjc3MGJmZDg0NDJkNTc4ZDU0YzJiOTgxZmI4NWUxYjdmOC4uN2UwNTM4YzQxMGQzZjM0YjU1
YzEwNGUxNzcwNzBhYWMwNDgzYzNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBA
IC0xMzk3LDYgKzEzOTcsNyBAQCBDb21tYW5kTGluZUFQSU1vZHVsZVNvdXJjZS5oIDogQ29tbWFu
ZExpbmVBUElNb2R1bGVTb3VyY2UuanMKICMgV2ViQ29yZSBKUyBCdWlsdGlucwogCiBXZWJDb3Jl
X0JVSUxUSU5TX1NPVVJDRVMgPSBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NhY2hlL0NhY2hl
U3RvcmFnZS5qcyBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2ZldGNoL0ZldGNoSW50ZXJuYWxz
LmpzIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5qcyBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvclVzZXJNZWRpYS5qcyBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCmluZGV4IGUxOWFmNTUwMjk1NjRk
OTU3NDU0MmIzZWIzMzQ4NDMyMzgzZjY3ZDUuLmZjOTE2YmE5NThmNjM4Mzg4NzRkMzRkYzYwMzIz
YjMxMWMyZWQxYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2Fj
aGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCkBAIC0y
NiwxNiArMjYsODggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDYWNoZS5oIgog
CisjaW5jbHVkZSAiQ2FjaGVRdWVyeU9wdGlvbnMuaCIKKyNpbmNsdWRlICJGZXRjaFJlc3BvbnNl
LmgiCisjaW5jbHVkZSAiSlNGZXRjaFJlcXVlc3QuaCIKKyNpbmNsdWRlICJKU0ZldGNoUmVzcG9u
c2UuaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCisjaW5jbHVkZSAiVVJM
LmgiCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdm9pZCBDYWNoZTo6bWF0Y2goUmVxdWVzdElu
Zm8mJiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgUmVmPERlZmVycmVkUHJv
bWlzZT4mJiBwcm9taXNlKQorQ2FjaGU6OkNhY2hlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQsIFN0cmluZyYmIG5hbWUsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYmIGNvbm5l
Y3Rpb24pCisgICAgOiBtX2NvbnRleHQoY29udGV4dCkKKyAgICAsIG1fbmFtZShXVEZNb3ZlKG5h
bWUpKQorICAgICwgbV9jb25uZWN0aW9uKFdURk1vdmUoY29ubmVjdGlvbikpCiB7Ci0gICAgcHJv
bWlzZS0+cmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1w
bGVtZW50ZWQiKX0pOwogfQogCi12b2lkIENhY2hlOjptYXRjaEFsbChzdGQ6Om9wdGlvbmFsPFJl
cXVlc3RJbmZvPiYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBNYXRjaEFs
bFByb21pc2UmJiBwcm9taXNlKQorQ2FjaGU6On5DYWNoZSgpCiB7Ci0gICAgcHJvbWlzZS5yZWpl
Y3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIp
fSk7Cit9CisKK1N0cmluZyBDYWNoZTo6b3JpZ2luKCkgY29uc3QKK3sKKyAgICBhdXRvKiBvcmln
aW4gPSBtX2NvbnRleHQuc2VjdXJpdHlPcmlnaW4oKTsKKyAgICByZXR1cm4gb3JpZ2luID8gb3Jp
Z2luLT50b1N0cmluZygpIDogZW1wdHlTdHJpbmcoKTsKK30KKwordm9pZCBDYWNoZTo6bWF0Y2go
UmVxdWVzdEluZm8mJiBpbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIFJlZjxEZWZl
cnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBtYXRjaEFsbChXVEZNb3ZlKGluZm8pLCBX
VEZNb3ZlKG9wdGlvbnMpLCBXVEZNb3ZlKHByb21pc2UpLCBNYXRjaFR5cGU6Ok9ubHlGaXJzdCk7
Cit9CisKK3ZvaWQgQ2FjaGU6Om1hdGNoQWxsKHN0ZDo6b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYg
aW5mbywgQ2FjaGVRdWVyeU9wdGlvbnMmJiBvcHRpb25zLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYm
IHByb21pc2UsIE1hdGNoVHlwZSBtYXRjaFR5cGUpCit7CisgICAgUmVmUHRyPEZldGNoUmVxdWVz
dD4gcmVxdWVzdDsKKyAgICBpZiAoaW5mbykgeworICAgICAgICBpZiAoV1RGOjpob2xkc19hbHRl
cm5hdGl2ZTxSZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4oaW5mby52YWx1ZSgpKSkgeworICAgICAgICAg
ICAgcmVxdWVzdCA9IFdURjo6Z2V0PFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvLnZhbHVlKCkp
LnJlbGVhc2VOb25OdWxsKCk7CisgICAgICAgICAgICBpZiAocmVxdWVzdC0+bWV0aG9kKCkgIT0g
IkdFVCIgJiYgIW9wdGlvbnMuaWdub3JlTWV0aG9kKSB7CisgICAgICAgICAgICAgICAgaWYgKG1h
dGNoVHlwZSA9PSBNYXRjaFR5cGU6Ok9ubHlGaXJzdCkgeworICAgICAgICAgICAgICAgICAgICBw
cm9taXNlLT5yZXNvbHZlKCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExTZXF1ZW5jZTxJ
RExJbnRlcmZhY2U8RmV0Y2hSZXNwb25zZT4+PihWZWN0b3I8UmVmPEZldGNoUmVzcG9uc2U+PiB7
IH0pOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIGF1dG8gcmVxdWVzdE9yRXJyb3IgPSBGZXRjaFJlcXVlc3Q6OmNy
ZWF0ZShtX2NvbnRleHQsIFdURjo6Z2V0PFN0cmluZz4oaW5mby52YWx1ZSgpKSwgeyB9KTsKKyAg
ICAgICAgICAgIGlmIChyZXF1ZXN0T3JFcnJvci5oYXNFeGNlcHRpb24oKSkgeworICAgICAgICAg
ICAgICAgIHByb21pc2UtPnJlamVjdChyZXF1ZXN0T3JFcnJvci5yZWxlYXNlRXhjZXB0aW9uKCkp
OworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJl
cXVlc3QgPSByZXF1ZXN0T3JFcnJvci5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKKyAgICAgICAgfQor
ICAgIH0KKworICAgIGlmICghcmVxdWVzdCkgeworICAgICAgICBBU1NFUlQobWF0Y2hUeXBlID09
IE1hdGNoVHlwZTo6QWxsKTsKKyAgICAgICAgcmVmcmVzaFJlcXVlc3RUb1Jlc3BvbnNlTWFwKFt0
aGlzLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSB7CisgICAgICAgICAgICBWZWN0b3I8
UmVmPEZldGNoUmVzcG9uc2U+PiByZXNwb25zZXM7CisgICAgICAgICAgICByZXNwb25zZXMucmVz
ZXJ2ZUluaXRpYWxDYXBhY2l0eShtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwLnNpemUoKSk7CisgICAg
ICAgICAgICBmb3IgKGF1dG8mIHJlY29yZCA6IG1fcmVxdWVzdFRvUmVzcG9uc2VNYXApCisgICAg
ICAgICAgICAgICAgcmVzcG9uc2VzLnVuY2hlY2tlZEFwcGVuZChyZWNvcmQucmVzcG9uc2UtPmNs
b25lRm9ySlMoKSk7CisgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElETFNlcXVlbmNlPElE
TEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4+KHJlc3BvbnNlcyk7CisgICAgICAgIH0pOworICAg
ICAgICByZXR1cm47CisgICAgfQorICAgIHF1ZXJ5Q2FjaGUocmVxdWVzdC5yZWxlYXNlTm9uTnVs
bCgpLCBXVEZNb3ZlKG9wdGlvbnMpLCBbbWF0Y2hUeXBlLCBwcm9taXNlID0gV1RGTW92ZShwcm9t
aXNlKV0oY29uc3QgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4mIHJlY29yZHMpIG11dGFibGUg
eworICAgICAgICBpZiAobWF0Y2hUeXBlID09IE1hdGNoVHlwZTo6T25seUZpcnN0KSB7CisgICAg
ICAgICAgICBpZiAocmVjb3Jkcy5zaXplKCkpIHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLT5y
ZXNvbHZlPElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4ocmVjb3Jkc1swXS5yZXNwb25zZS5n
ZXQoKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgcHJvbWlzZS0+cmVzb2x2ZSgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisK
KyAgICAgICAgVmVjdG9yPFJlZjxGZXRjaFJlc3BvbnNlPj4gcmVzcG9uc2VzOworICAgICAgICBy
ZXNwb25zZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShyZWNvcmRzLnNpemUoKSk7CisgICAgICAg
IGZvciAoYXV0byYgcmVjb3JkIDogcmVjb3JkcykKKyAgICAgICAgICAgIHJlc3BvbnNlcy51bmNo
ZWNrZWRBcHBlbmQocmVjb3JkLnJlc3BvbnNlLT5jbG9uZUZvckpTKCkpOworICAgICAgICBwcm9t
aXNlLT5yZXNvbHZlPElETFNlcXVlbmNlPElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4+KHJl
c3BvbnNlcyk7CisgICAgfSk7CiB9CiAKIHZvaWQgQ2FjaGU6OmFkZChSZXF1ZXN0SW5mbyYmLCBE
T01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQpAQCAtNDgsMjAgKzEyMCwyMzUgQEAg
dm9pZCBDYWNoZTo6YWRkQWxsKFZlY3RvcjxSZXF1ZXN0SW5mbz4mJiwgRE9NUHJvbWlzZURlZmVy
cmVkPHZvaWQ+JiYgcHJvbWlzZSkKICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBl
RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKIH0KIAotdm9pZCBDYWNo
ZTo6cHV0KFJlcXVlc3RJbmZvJiYsIFJlZjxGZXRjaFJlc3BvbnNlPiYmLCBET01Qcm9taXNlRGVm
ZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQordm9pZCBDYWNoZTo6cHV0KFJlcXVlc3RJbmZvJiYgaW5m
bywgUmVmPEZldGNoUmVzcG9uc2U+JiYgcmVzcG9uc2UsIERPTVByb21pc2VEZWZlcnJlZDx2b2lk
PiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9y
LCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgUmVmUHRyPEZldGNoUmVx
dWVzdD4gcmVxdWVzdDsKKyAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWZQdHI8RmV0
Y2hSZXF1ZXN0Pj4oaW5mbykpIHsKKyAgICAgICAgcmVxdWVzdCA9IFdURjo6Z2V0PFJlZlB0cjxG
ZXRjaFJlcXVlc3Q+PihpbmZvKS5yZWxlYXNlTm9uTnVsbCgpOworICAgICAgICBpZiAoIXByb3Rv
Y29sSXNJbkhUVFBGYW1pbHkocmVxdWVzdC0+dXJsKCkpIHx8IHJlcXVlc3QtPm1ldGhvZCgpICE9
ICJHRVQiKSB7CisgICAgICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJy
b3IsIEFTQ0lJTGl0ZXJhbCgiUmVxdWVzdCBpcyBub3QgSFRUUC9IVFRQUyBvciBtZXRob2QgaXMg
bm90IEdFVCIpIH0pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfSBlbHNl
IHsKKyAgICAgICAgU3RyaW5nIHVybCA9IFdURjo6Z2V0PFN0cmluZz4oaW5mbyk7CisgICAgICAg
IGlmICghcHJvdG9jb2xJc0luSFRUUEZhbWlseSh1cmwpKSB7CisgICAgICAgICAgICBwcm9taXNl
LnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiUmVxdWVzdCBpcyBu
b3QgSFRUUC9IVFRQUyIpIH0pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAg
ICAgIGF1dG8gcmVxdWVzdE9yRXJyb3IgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZShtX2NvbnRleHQs
IHVybCwgeyB9KTsKKyAgICAgICAgaWYgKHJlcXVlc3RPckVycm9yLmhhc0V4Y2VwdGlvbigpKSB7
CisgICAgICAgICAgICBwcm9taXNlLnJlamVjdChyZXF1ZXN0T3JFcnJvci5yZWxlYXNlRXhjZXB0
aW9uKCkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHJlcXVlc3Qg
PSByZXF1ZXN0T3JFcnJvci5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKKyAgICB9CisKKyAgICBTdHJp
bmcgdmFyeVZhbHVlID0gcmVzcG9uc2UtPmhlYWRlcnMoKS5pbnRlcm5hbEhlYWRlcnMoKS5nZXQo
V2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6OlZhcnkpOworICAgIFZlY3RvcjxTdHJpbmc+IHZhcnlp
bmdIZWFkZXJOYW1lczsKKyAgICB2YXJ5VmFsdWUuc3BsaXQoJywnLCB2YXJ5aW5nSGVhZGVyTmFt
ZXMpOworICAgIGlmICh2YXJ5aW5nSGVhZGVyTmFtZXMuY29udGFpbnMoIioiKSkgeworICAgICAg
ICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiUmVz
cG9uc2UgaGFzIGEgJyonIFZhcnkgaGVhZGVyIHZhbHVlIikgfSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBpZiAocmVzcG9uc2UtPmlzRGlzdHVyYmVkKCkpIHsKKyAgICAgICAgcHJv
bWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIlJlc3BvbnNl
IGlzIGRpc3R1cmJlZCBvciBsb2NrZWQiKSB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgYmVpbmcgbG9hZGVkIHJlc3BvbnNlcy4KKyAg
ICBpZiAocmVzcG9uc2UtPmlzTG9hZGluZygpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4
Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJDYWNoaW5nIGEgbG9hZGluZyBSZXNw
b25zZSBpcyBub3QgeWV0IHN1cHBvcnRlZCIpIH0pOworICAgICAgICByZXR1cm47CisgICAgfQor
ICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgUmVhZGFibGVTdHJlYW0uCisgICAgaWYgKHJl
c3BvbnNlLT5pc1JlYWRhYmxlU3RyZWFtQm9keSgpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0
KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJDYWNoaW5nIGEgUmVzcG9uc2Ug
d2l0aCBkYXRhIHN0b3JlZCBpbiBhIFJlYWRhYmxlU3RyZWFtIGlzIG5vdCB5ZXQgc3VwcG9ydGVk
IikgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBiYXRjaFB1dE9wZXJhdGlvbigq
cmVxdWVzdCwgcmVzcG9uc2UuZ2V0KCksIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oQ2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICBpZiAo
ZXJyb3IgIT0gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3I6Ok5vbmUpIHsKKyAgICAgICAg
ICAgIHByb21pc2UucmVqZWN0KENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlvbkZyb21F
cnJvcihlcnJvcikpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHBy
b21pc2UucmVzb2x2ZSgpOworICAgIH0pOwogfQogCi12b2lkIENhY2hlOjpyZW1vdmUoUmVxdWVz
dEluZm8mJiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgRE9NUHJvbWlzZURl
ZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKK3ZvaWQgQ2FjaGU6OnJlbW92ZShSZXF1ZXN0
SW5mbyYmIGluZm8sIENhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywgRE9NUHJvbWlzZURlZmVy
cmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRp
b24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICBS
ZWZQdHI8RmV0Y2hSZXF1ZXN0PiByZXF1ZXN0OworICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0
aXZlPFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvKSkgeworICAgICAgICByZXF1ZXN0ID0gV1RG
OjpnZXQ8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8pLnJlbGVhc2VOb25OdWxsKCk7CisgICAg
ICAgIGlmIChyZXF1ZXN0LT5tZXRob2QoKSAhPSAiR0VUIiAmJiAhb3B0aW9ucy5pZ25vcmVNZXRo
b2QpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShmYWxzZSk7CisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBhdXRvIHJlcXVlc3RPckVy
cm9yID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUobV9jb250ZXh0LCBXVEY6OmdldDxTdHJpbmc+KGlu
Zm8pLCB7IH0pOworICAgICAgICBpZiAocmVxdWVzdE9yRXJyb3IuaGFzRXhjZXB0aW9uKCkpIHsK
KyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KHJlcXVlc3RPckVycm9yLnJlbGVhc2VFeGNlcHRp
b24oKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgcmVxdWVzdCA9
IHJlcXVlc3RPckVycm9yLnJlbGVhc2VSZXR1cm5WYWx1ZSgpOworICAgIH0KKworICAgIGJhdGNo
RGVsZXRlT3BlcmF0aW9uKCpyZXF1ZXN0LCBXVEZNb3ZlKG9wdGlvbnMpLCBbcHJvbWlzZSA9IFdU
Rk1vdmUocHJvbWlzZSldKGJvb2wgZGlkRGVsZXRlLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpF
cnJvciBlcnJvcikgbXV0YWJsZSB7CisgICAgICAgIGlmIChlcnJvciAhPSAgQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbjo6RXJyb3I6Ok5vbmUpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KENh
Y2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlvbkZyb21FcnJvcihlcnJvcikpOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHByb21pc2UucmVzb2x2ZShkaWREZWxl
dGUpOworICAgIH0pOwogfQogCi12b2lkIENhY2hlOjprZXlzKHN0ZDo6b3B0aW9uYWw8UmVxdWVz
dEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIEtleXNQcm9taXNl
JiYgcHJvbWlzZSkKK3ZvaWQgQ2FjaGU6OmtleXMoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4m
JiBpbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIEtleXNQcm9taXNlJiYgcHJvbWlz
ZSkKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0
ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICBSZWZQdHI8RmV0Y2hSZXF1ZXN0PiByZXF1
ZXN0OworICAgIGlmIChpbmZvKSB7CisgICAgICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZl
PFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvLnZhbHVlKCkpKSB7CisgICAgICAgICAgICByZXF1
ZXN0ID0gV1RGOjpnZXQ8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8udmFsdWUoKSkucmVsZWFz
ZU5vbk51bGwoKTsKKyAgICAgICAgICAgIGlmIChyZXF1ZXN0LT5tZXRob2QoKSAhPSAiR0VUIiAm
JiAhb3B0aW9ucy5pZ25vcmVNZXRob2QpIHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLnJlc29s
dmUoVmVjdG9yPFJlZjxGZXRjaFJlcXVlc3Q+PiB7IH0pOworICAgICAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICByZXF1ZXN0ID0g
RmV0Y2hSZXF1ZXN0OjpjcmVhdGUobV9jb250ZXh0LCBXVEY6OmdldDxTdHJpbmc+KGluZm8udmFs
dWUoKSksIHsgfSkucmVsZWFzZVJldHVyblZhbHVlKCk7CisgICAgfQorCisgICAgaWYgKCFyZXF1
ZXN0KSB7CisgICAgICAgIHJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcChbdGhpcywgcHJvbWlz
ZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgICAgICBWZWN0b3I8UmVm
PEZldGNoUmVxdWVzdD4+IHJlcXVlc3RzOworICAgICAgICAgICAgcmVxdWVzdHMucmVzZXJ2ZUlu
aXRpYWxDYXBhY2l0eShtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwLnNpemUoKSk7CisgICAgICAgICAg
ICBmb3IgKGF1dG8mIHJlY29yZCA6IG1fcmVxdWVzdFRvUmVzcG9uc2VNYXApCisgICAgICAgICAg
ICAgICAgcmVxdWVzdHMudW5jaGVja2VkQXBwZW5kKHJlY29yZC5yZXF1ZXN0LmNvcHlSZWYoKSk7
CisgICAgICAgICAgICBwcm9taXNlLnJlc29sdmUocmVxdWVzdHMpOworICAgICAgICB9KTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHF1ZXJ5Q2FjaGUocmVxdWVzdC5yZWxlYXNlTm9u
TnVsbCgpLCBXVEZNb3ZlKG9wdGlvbnMpLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKGNv
bnN0IFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+JiByZWNvcmRzKSBtdXRhYmxlIHsKKyAgICAg
ICAgVmVjdG9yPFJlZjxGZXRjaFJlcXVlc3Q+PiByZXF1ZXN0czsKKyAgICAgICAgcmVxdWVzdHMu
cmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShyZWNvcmRzLnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0
byYgcmVjb3JkIDogcmVjb3JkcykKKyAgICAgICAgICAgIHJlcXVlc3RzLnVuY2hlY2tlZEFwcGVu
ZChyZWNvcmQucmVxdWVzdC5jb3B5UmVmKCkpOworICAgICAgICBwcm9taXNlLnJlc29sdmUocmVx
dWVzdHMpOworICAgIH0pOworfQorCit2b2lkIENhY2hlOjpyZWZyZXNoUmVxdWVzdFRvUmVzcG9u
c2VNYXAoRnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQoreworICAgIG1fY29ubmVjdGlvbi0+
cmVmcmVzaFJlcXVlc3RUb1Jlc3BvbnNlTWFwKG9yaWdpbigpLCBtX25hbWUsIFt0aGlzLCBwcm90
ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayld
KFZlY3RvcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQ+JiYgcmVjb3JkcykgeworICAg
ICAgICB1cGRhdGVSZXF1ZXN0VG9SZXNwb25zZU1hcChXVEZNb3ZlKHJlY29yZHMpKTsKKworICAg
ICAgICBjYWxsYmFjaygpOworICAgIH0pOworfQorCitib29sIENhY2hlOjpxdWVyeUNhY2hlTWF0
Y2goY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IGNhY2hlZFJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGNhY2hlZFJlc3BvbnNlLCBj
b25zdCBDYWNoZVF1ZXJ5T3B0aW9ucyYgb3B0aW9ucykKK3sKKyAgICBBU1NFUlQob3B0aW9ucy5p
Z25vcmVNZXRob2QgfHwgcmVxdWVzdC5odHRwTWV0aG9kKCkgPT0gIkdFVCIpOworCisgICAgVVJM
IHJlcXVlc3RVUkwgPSByZXF1ZXN0LnVybCgpOworICAgIFVSTCBjYWNoZWRSZXF1ZXN0VVJMID0g
Y2FjaGVkUmVxdWVzdC51cmwoKTsKKworICAgIGlmIChvcHRpb25zLmlnbm9yZVNlYXJjaCkgewor
ICAgICAgICByZXF1ZXN0VVJMLnNldFF1ZXJ5KHsgfSk7CisgICAgICAgIGNhY2hlZFJlcXVlc3RV
Ukwuc2V0UXVlcnkoeyB9KTsKKyAgICB9CisgICAgaWYgKCFlcXVhbElnbm9yaW5nRnJhZ21lbnRJ
ZGVudGlmaWVyKHJlcXVlc3RVUkwsIGNhY2hlZFJlcXVlc3RVUkwpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBpZiAob3B0aW9ucy5pZ25vcmVWYXJ5KQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKworICAgIFN0cmluZyB2YXJ5VmFsdWUgPSBjYWNoZWRSZXNwb25zZS5odHRwSGVhZGVyRmll
bGQoV2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6OlZhcnkpOworICAgIGlmICh2YXJ5VmFsdWUuaXNO
dWxsKCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgVmVjdG9yPFN0cmluZz4gdmFyeWlu
Z0hlYWRlck5hbWVzOworICAgIHZhcnlWYWx1ZS5zcGxpdCgnLCcsIHZhcnlpbmdIZWFkZXJOYW1l
cyk7CisgICAgaWYgKHZhcnlpbmdIZWFkZXJOYW1lcy5jb250YWlucygiKiIpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBmb3IgKGF1dG8mIG5hbWUgOiB2YXJ5aW5nSGVhZGVyTmFtZXMp
IHsKKyAgICAgICAgaWYgKGNhY2hlZFJlcXVlc3QuaHR0cEhlYWRlckZpZWxkKG5hbWUpICE9IHJl
cXVlc3QuaHR0cEhlYWRlckZpZWxkKG5hbWUpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBDYWNoZTo6cXVlcnlDYWNoZShSZWY8
RmV0Y2hSZXF1ZXN0PiYmIHJlcXVlc3QsIENhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywgRnVu
Y3Rpb248dm9pZChjb25zdCBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiYpPiYmIGNhbGxiYWNr
KQoreworICAgIHJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcChbdGhpcywgcmVxdWVzdCA9IFdU
Rk1vdmUocmVxdWVzdCksIG9wdGlvbnMgPSBXVEZNb3ZlKG9wdGlvbnMpLCBjYWxsYmFjayA9IFdU
Rk1vdmUoY2FsbGJhY2spXSgpIG11dGFibGUgeworICAgICAgICBjYWxsYmFjayhxdWVyeUNhY2hl
V2l0aFRhcmdldFN0b3JhZ2UocmVxdWVzdC5nZXQoKSwgb3B0aW9ucywgbV9yZXF1ZXN0VG9SZXNw
b25zZU1hcCkpOworICAgIH0pOworfQorCitWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiBDYWNo
ZTo6cXVlcnlDYWNoZVdpdGhUYXJnZXRTdG9yYWdlKGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxdWVz
dCwgY29uc3QgQ2FjaGVRdWVyeU9wdGlvbnMmIG9wdGlvbnMsIGNvbnN0IFZlY3RvcjxDYWNoZVN0
b3JhZ2VSZWNvcmQ+JiB0YXJnZXRTdG9yYWdlKQoreworICAgIGlmICghb3B0aW9ucy5pZ25vcmVN
ZXRob2QgJiYgcmVxdWVzdC5tZXRob2QoKSAhPSAiR0VUIikKKyAgICAgICAgcmV0dXJuIHsgfTsK
KworICAgIFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+IHJlY29yZHM7CisgICAgZm9yIChhdXRv
JiByZWNvcmQgOiB0YXJnZXRTdG9yYWdlKSB7CisgICAgICAgIGlmIChxdWVyeUNhY2hlTWF0Y2go
cmVxdWVzdC5pbnRlcm5hbFJlcXVlc3QoKS5yZXF1ZXN0LCByZWNvcmQucmVxdWVzdC0+aW50ZXJu
YWxSZXF1ZXN0KCkucmVxdWVzdCwgcmVjb3JkLnJlc3BvbnNlLT5yZXNwb25zZSgpLCBvcHRpb25z
KSkKKyAgICAgICAgICAgIHJlY29yZHMuYXBwZW5kKHsgcmVjb3JkLmlkZW50aWZpZXIsIHJlY29y
ZC5yZXF1ZXN0LmNvcHlSZWYoKSwgcmVjb3JkLnJlc3BvbnNlLmNvcHlSZWYoKSB9KTsKKyAgICB9
CisgICAgcmV0dXJuIHJlY29yZHM7Cit9CisKK3ZvaWQgQ2FjaGU6OmJhdGNoRGVsZXRlT3BlcmF0
aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgQ2FjaGVRdWVyeU9wdGlvbnMmJiBvcHRp
b25zLCBGdW5jdGlvbjx2b2lkKGJvb2wgZGlkUmVtb3ZhbCwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlv
bjo6RXJyb3IgZXJyb3IpPiYmIGNhbGxiYWNrKQoreworICAgIG1fY29ubmVjdGlvbi0+YmF0Y2hE
ZWxldGVPcGVyYXRpb24ob3JpZ2luKCksIG1fbmFtZSwgcmVxdWVzdC5pbnRlcm5hbFJlcXVlc3Qo
KS5yZXF1ZXN0LCBXVEZNb3ZlKG9wdGlvbnMpLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VS
ZWYoKnRoaXMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShWZWN0b3I8dWludDY0X3Q+
JiYgcmVjb3JkcywgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIHsKKyAgICAg
ICAgaWYgKGVycm9yID09IENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yOjpOb25lKQorICAg
ICAgICAgICAgbV9yZXF1ZXN0VG9SZXNwb25zZU1hcC5yZW1vdmVBbGxNYXRjaGluZyhbJl0oY29u
c3QgYXV0byYgaXRlbSkgeyByZXR1cm4gcmVjb3Jkcy5jb250YWlucyhpdGVtLmlkZW50aWZpZXIp
OyB9KTsKKworICAgICAgICBjYWxsYmFjayghIXJlY29yZHMuc2l6ZSgpLCBlcnJvcik7CisgICAg
fSk7Cit9CisKK3ZvaWQgQ2FjaGU6OmJhdGNoUHV0T3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVz
dCYgcmVxdWVzdCwgY29uc3QgRmV0Y2hSZXNwb25zZSYgcmVzcG9uc2UsIEZ1bmN0aW9uPHZvaWQo
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IpPiYmIGNhbGxiYWNrKQoreworICAgIC8vIEZJ
WE1FOiBBZGQgYSBzZXRIVFRQSGVhZGVyRmllbGRzIG9uIFJlc291cmNlUmVzcG9uc2VCYXNlLgor
ICAgIFJlc291cmNlUmVzcG9uc2UgY2FjaGVkUmVzcG9uc2UgPSByZXNwb25zZS5yZXNwb25zZSgp
OworICAgIGZvciAoYXV0byYgaGVhZGVyIDogcmVzcG9uc2UuaGVhZGVycygpLmludGVybmFsSGVh
ZGVycygpKQorICAgICAgICBjYWNoZWRSZXNwb25zZS5zZXRIVFRQSGVhZGVyRmllbGQoaGVhZGVy
LmtleSwgaGVhZGVyLnZhbHVlKTsKKworICAgIFJlc291cmNlUmVxdWVzdCBjYWNoZWRSZXF1ZXN0
ID0gcmVxdWVzdC5pbnRlcm5hbFJlcXVlc3QoKS5yZXF1ZXN0OworICAgIGNhY2hlZFJlcXVlc3Qu
c2V0SFRUUEhlYWRlckZpZWxkcyhyZXF1ZXN0LmhlYWRlcnMoKS5pbnRlcm5hbEhlYWRlcnMoKSk7
CisKKyAgICBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQgcmVjb3JkID0geyAwLAorICAg
ICAgICByZXF1ZXN0LmhlYWRlcnMoKS5ndWFyZCgpLCBXVEZNb3ZlKGNhY2hlZFJlcXVlc3QpLCBy
ZXF1ZXN0LmludGVybmFsUmVxdWVzdCgpLm9wdGlvbnMsIHJlcXVlc3QuaW50ZXJuYWxSZXF1ZXN0
KCkucmVmZXJyZXIsCisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMoKS5ndWFyZCgpLCBXVEZNb3Zl
KGNhY2hlZFJlc3BvbnNlKQorICAgIH07CisKKyAgICBtX2Nvbm5lY3Rpb24tPmJhdGNoUHV0T3Bl
cmF0aW9uKG9yaWdpbigpLCBtX25hbWUsIFdURk1vdmUocmVjb3JkKSwgW3RoaXMsIHByb3RlY3Rl
ZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oVmVj
dG9yPHVpbnQ2NF90PiYmLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJvciBlcnJvcikgewor
ICAgICAgICBjYWxsYmFjayhlcnJvcik7CisgICAgfSk7Cit9CisKK3ZvaWQgQ2FjaGU6OnVwZGF0
ZVJlcXVlc3RUb1Jlc3BvbnNlTWFwKFZlY3RvcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNv
cmQ+JiYgcmVjb3JkcykKK3sKKyAgICBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiBuZXdNYXA7
CisKKyAgICBmb3IgKGF1dG8mIHJlY29yZCA6IHJlY29yZHMpIHsKKyAgICAgICAgc2l6ZV90IGlu
ZGV4ID0gbV9yZXF1ZXN0VG9SZXNwb25zZU1hcC5maW5kTWF0Y2hpbmcoWyZdKGNvbnN0IGF1dG8m
IGl0ZW0pIHsgcmV0dXJuIGl0ZW0uaWRlbnRpZmllciA9PSByZWNvcmQuaWRlbnRpZmllcjsgfSk7
CisgICAgICAgIGlmIChpbmRleCAhPSBub3RGb3VuZCkKKyAgICAgICAgICAgIG5ld01hcC5hcHBl
bmQoV1RGTW92ZShtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwW2luZGV4XSkpOworICAgICAgICBlbHNl
IHsKKyAgICAgICAgICAgIGF1dG8gcmVxdWVzdEhlYWRlcnMgPSBGZXRjaEhlYWRlcnM6OmNyZWF0
ZShyZWNvcmQucmVxdWVzdEhlYWRlcnNHdWFyZCwgSFRUUEhlYWRlck1hcCB7IHJlY29yZC5yZXF1
ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSB9KTsKKyAgICAgICAgICAgIEZldGNoUmVxdWVzdDo6SW50
ZXJuYWxSZXF1ZXN0IGludGVybmFsUmVxdWVzdCA9IHsgV1RGTW92ZShyZWNvcmQucmVxdWVzdCks
IFdURk1vdmUocmVjb3JkLm9wdGlvbnMpLCBXVEZNb3ZlKHJlY29yZC5yZWZlcnJlcikgfTsKKyAg
ICAgICAgICAgIGF1dG8gcmVxdWVzdCA9IEZldGNoUmVxdWVzdDo6Y3JlYXRlKG1fY29udGV4dCwg
c3RkOjpudWxsb3B0LCBXVEZNb3ZlKHJlcXVlc3RIZWFkZXJzKSwgV1RGTW92ZShpbnRlcm5hbFJl
cXVlc3QpKTsKKworICAgICAgICAgICAgYXV0byByZXNwb25zZUhlYWRlcnMgPSBGZXRjaEhlYWRl
cnM6OmNyZWF0ZShyZWNvcmQucmVzcG9uc2VIZWFkZXJzR3VhcmQsIEhUVFBIZWFkZXJNYXAgeyBy
ZWNvcmQucmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkcygpIH0pOworICAgICAgICAgICAgYXV0byBy
ZXNwb25zZSA9IEZldGNoUmVzcG9uc2U6OmNyZWF0ZShtX2NvbnRleHQsIHN0ZDo6bnVsbG9wdCwg
V1RGTW92ZShyZXNwb25zZUhlYWRlcnMpLCBXVEZNb3ZlKHJlY29yZC5yZXNwb25zZSkpOworCisg
ICAgICAgICAgICBuZXdNYXAuYXBwZW5kKENhY2hlU3RvcmFnZVJlY29yZCB7IHJlY29yZC5pZGVu
dGlmaWVyLCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKHJlc3BvbnNlKSB9KTsKKyAgICAgICAg
fQorICAgIH0KKyAgICBtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwID0gV1RGTW92ZShuZXdNYXApOwor
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NhY2hlL0NhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hl
LmgKaW5kZXggMDA4MmFjZDU1NmRkZjVkZWU5Zjc1MDY2NWMyZjRlOWViOWRkOTY1ZS4uNDlmOTEx
Njg5NmFlZjVhZDliY2JlYmFkMmUxOTg3MDJkZWM2NTY1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2FjaGUvQ2FjaGUuaApAQCAtMjUsMzYgKzI1LDU1IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5j
bHVkZSAiRmV0Y2hSZXF1ZXN0LmgiCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5o
IgorI2luY2x1ZGUgIkNhY2hlU3RvcmFnZVJlY29yZC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIEZldGNoUmVzcG9uc2U7Ci0KLXN0cnVjdCBDYWNoZVF1ZXJ5T3B0aW9uczsKK2Ns
YXNzIENhY2hlUXVlcnlPcHRpb25zOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAog
Y2xhc3MgQ2FjaGUgOiBwdWJsaWMgUmVmQ291bnRlZDxDYWNoZT4gewogcHVibGljOgotICAgIHN0
YXRpYyBSZWY8Q2FjaGU+IGNyZWF0ZShTdHJpbmcmJiBuYW1lKSB7IHJldHVybiBhZG9wdFJlZigq
bmV3IENhY2hlKFdURk1vdmUobmFtZSkpKTsgfQorICAgIHN0YXRpYyBSZWY8Q2FjaGU+IGNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBTdHJpbmcmJiBuYW1lLCBSZWY8Q2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbj4mJiBjb25uZWN0aW9uKSB7IHJldHVybiBhZG9wdFJlZigqbmV3
IENhY2hlKGNvbnRleHQsIFdURk1vdmUobmFtZSksIFdURk1vdmUoY29ubmVjdGlvbikpKTsgfQor
ICAgIH5DYWNoZSgpOwogCiAgICAgdXNpbmcgUmVxdWVzdEluZm8gPSBGZXRjaFJlcXVlc3Q6Oklu
Zm87CiAKLSAgICB1c2luZyBNYXRjaEFsbFByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURM
U2VxdWVuY2U8SURMSW50ZXJmYWNlPEZldGNoUmVzcG9uc2U+Pj47CiAgICAgdXNpbmcgS2V5c1By
b21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMU2VxdWVuY2U8SURMSW50ZXJmYWNlPEZldGNo
UmVxdWVzdD4+PjsKIAotICAgIHZvaWQgbWF0Y2goUmVxdWVzdEluZm8mJiwgc3RkOjpvcHRpb25h
bDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7Ci0gICAgdm9p
ZCBtYXRjaEFsbChzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZvPiYmLCBzdGQ6Om9wdGlvbmFsPENh
Y2hlUXVlcnlPcHRpb25zPiYmLCBNYXRjaEFsbFByb21pc2UmJik7CisgICAgZW51bSBjbGFzcyBN
YXRjaFR5cGUgeyBBbGwsIE9ubHlGaXJzdCB9OworICAgIHZvaWQgbWF0Y2goUmVxdWVzdEluZm8m
JiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisgICAgdm9p
ZCBtYXRjaEFsbChzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZvPiYmLCBDYWNoZVF1ZXJ5T3B0aW9u
cyYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmLCBNYXRjaFR5cGUgPSBNYXRjaFR5cGU6OkFsbCk7
CiAgICAgdm9pZCBhZGQoUmVxdWVzdEluZm8mJiwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYp
OwogCiAgICAgdm9pZCBhZGRBbGwoVmVjdG9yPFJlcXVlc3RJbmZvPiYmLCBET01Qcm9taXNlRGVm
ZXJyZWQ8dm9pZD4mJik7CiAgICAgdm9pZCBwdXQoUmVxdWVzdEluZm8mJiwgUmVmPEZldGNoUmVz
cG9uc2U+JiYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKTsKLSAgICB2b2lkIHJlbW92ZShS
ZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBET01Qcm9t
aXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJik7Ci0gICAgdm9pZCBrZXlzKHN0ZDo6b3B0aW9uYWw8
UmVxdWVzdEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIEtleXNQ
cm9taXNlJiYpOworICAgIHZvaWQgcmVtb3ZlKFJlcXVlc3RJbmZvJiYsIENhY2hlUXVlcnlPcHRp
b25zJiYsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmKTsKKyAgICB2b2lkIGtleXMo
c3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4mJiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgS2V5c1By
b21pc2UmJik7CisKKyAgICBjb25zdCBTdHJpbmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25h
bWU7IH0KKworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIHF1ZXJ5Q2FjaGVNYXRjaChj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgY2Fj
aGVkUmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IENhY2hlUXVlcnlPcHRp
b25zJik7CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgQ2FjaGUoU3RyaW5nJiYgbmFtZSkgOiBt
X25hbWUoV1RGTW92ZShuYW1lKSkgeyB9CisgICAgQ2FjaGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYsIFN0cmluZyYmIG5hbWUsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYmKTsKKworICAg
IFN0cmluZyBvcmlnaW4oKSBjb25zdDsKIAorICAgIHZvaWQgcmVmcmVzaFJlcXVlc3RUb1Jlc3Bv
bnNlTWFwKEZ1bmN0aW9uPHZvaWQoKT4mJik7CisgICAgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29y
ZD4gcXVlcnlDYWNoZVdpdGhUYXJnZXRTdG9yYWdlKGNvbnN0IEZldGNoUmVxdWVzdCYsIGNvbnN0
IENhY2hlUXVlcnlPcHRpb25zJiwgY29uc3QgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4mKTsK
KyAgICB2b2lkIHF1ZXJ5Q2FjaGUoUmVmPEZldGNoUmVxdWVzdD4mJiwgQ2FjaGVRdWVyeU9wdGlv
bnMmJiwgRnVuY3Rpb248dm9pZChjb25zdCBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiYpPiYm
KTsKKyAgICB2b2lkIGJhdGNoRGVsZXRlT3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYsIENh
Y2hlUXVlcnlPcHRpb25zJiYsIEZ1bmN0aW9uPHZvaWQoYm9vbCBkaWRSZW1vdmFsLCBDYWNoZVN0
b3JhZ2VDb25uZWN0aW9uOjpFcnJvcik+JiYpOworICAgIHZvaWQgYmF0Y2hQdXRPcGVyYXRpb24o
Y29uc3QgRmV0Y2hSZXF1ZXN0JiwgY29uc3QgRmV0Y2hSZXNwb25zZSYsIEZ1bmN0aW9uPHZvaWQo
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IpPiYmKTsKKworICAgIHZvaWQgdXBkYXRlUmVx
dWVzdFRvUmVzcG9uc2VNYXAoVmVjdG9yPENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlY29yZD4m
Jik7CisKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBtX2NvbnRleHQ7CiAgICAgU3RyaW5n
IG1fbmFtZTsKKyAgICBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOwor
CisgICAgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4gbV9yZXF1ZXN0VG9SZXNwb25zZU1hcDsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvY2FjaGUvQ2FjaGUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9D
YWNoZS5pZGwKaW5kZXggZDQ3OTY5MTU1ZDIwYTRmN2JmYTM4YTZkYzBiMmRmMzIyNTZhOTRlMC4u
ODk3NDNhZWJkMjkxODZkOGQ4NjMyYjZkMmFlNjI2NGJmOTVjZWU0ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9DYWNoZS5pZGwKQEAgLTMwLDEyICszMCwxNiBAQCB0eXBlZGVmIChGZXRj
aFJlcXVlc3Qgb3IgVVNWU3RyaW5nKSBSZXF1ZXN0SW5mbzsKICAgICBFeHBvc2VkPShXaW5kb3cs
V29ya2VyKSwKICAgICBFbmFibGVkQXRSdW50aW1lPUNhY2hlQVBJLAogICAgIEltcGxlbWVudGF0
aW9uTGFja3NWVGFibGUsCisgICAgUHJpdmF0ZUlkZW50aWZpZXIsCisgICAgUHVibGljSWRlbnRp
ZmllciwKIF0gaW50ZXJmYWNlIENhY2hlIHsKICAgICBbTmV3T2JqZWN0XSBQcm9taXNlPGFueT4g
bWF0Y2goUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0
aW9ucyk7Ci0gICAgW05ld09iamVjdF0gUHJvbWlzZTxzZXF1ZW5jZTxGZXRjaFJlc3BvbnNlPj4g
bWF0Y2hBbGwob3B0aW9uYWwgUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVy
eU9wdGlvbnMgb3B0aW9ucyk7CisgICAgW05ld09iamVjdCwgUHJpdmF0ZUlkZW50aWZpZXIsIFB1
YmxpY0lkZW50aWZpZXJdIFByb21pc2U8c2VxdWVuY2U8RmV0Y2hSZXNwb25zZT4+IG1hdGNoQWxs
KG9wdGlvbmFsIFJlcXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25z
IG9wdGlvbnMpOwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gYWRkKFJlcXVlc3RJbmZv
IHJlcXVlc3QpOwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gYWRkQWxsKHNlcXVlbmNl
PFJlcXVlc3RJbmZvPiByZXF1ZXN0cyk7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiBw
dXQoUmVxdWVzdEluZm8gcmVxdWVzdCwgRmV0Y2hSZXNwb25zZSByZXNwb25zZSk7CiAgICAgW05l
d09iamVjdCwgSW1wbGVtZW50ZWRBcz1yZW1vdmVdIFByb21pc2U8Ym9vbGVhbj4gZGVsZXRlKFJl
cXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25zIG9wdGlvbnMpOwog
ICAgIFtOZXdPYmplY3RdIFByb21pc2U8c2VxdWVuY2U8UmVxdWVzdD4+IGtleXMob3B0aW9uYWwg
UmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9ucyk7
CisKKyAgICBbUHJpdmF0ZUlkZW50aWZpZXIsIEltcGxlbWVudGVkQXM9bmFtZV0gRE9NU3RyaW5n
IGNhY2hlTmFtZSgpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvQ2FjaGVRdWVyeU9wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2Fj
aGVRdWVyeU9wdGlvbnMuaAppbmRleCA2OGY2N2ZhY2YzNTY4NzFlZWY0ZTU1NDY5NThiNzI3YTY1
OTM2OTNiLi5iMjg3YWRlYWYzZDg0MTQ3ZGY0YzVjZGNmMjBjMjg3MWE2MjlhMzQ0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlUXVlcnlPcHRpb25zLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVF1ZXJ5T3B0aW9ucy5oCkBAIC0y
OSw3ICsyOSwxMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBDYWNoZVF1ZXJ5
T3B0aW9ucyB7CitjbGFzcyBDYWNoZVF1ZXJ5T3B0aW9ucyB7CitwdWJsaWM6CisgICAgQ2FjaGVR
dWVyeU9wdGlvbnMgaXNvbGF0ZWRDb3B5KCkgY29uc3QgeyByZXR1cm4gQ2FjaGVRdWVyeU9wdGlv
bnMgeyBpZ25vcmVTZWFyY2gsIGlnbm9yZU1ldGhvZCwgaWdub3JlVmFyeSwgY2FjaGVOYW1lLmlz
b2xhdGVkQ29weSgpIH07IH0KKwogICAgIGJvb2wgaWdub3JlU2VhcmNoIHsgZmFsc2UgfTsKICAg
ICBib29sIGlnbm9yZU1ldGhvZCB7IGZhbHNlIH07CiAgICAgYm9vbCBpZ25vcmVWYXJ5IHsgZmFs
c2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9y
YWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmNwcApp
bmRleCAxMjM2N2JlOTY2ZTFlM2EyOGE5ZTI5ZGJmZTRiODNiZDVhY2RlY2M2Li4xYTY0NTQyZjI2
NTY4NGVlMmVhMDgyYWJlMmQ4ZjVjZjQ2ODFmMDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuY3BwCkBAIC0yNiwzMSArMjYsOTQgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJDYWNoZVN0b3JhZ2UuaCIKIAorI2luY2x1ZGUgIkNhY2hl
UXVlcnlPcHRpb25zLmgiCisjaW5jbHVkZSAiSlNDYWNoZS5oIgorI2luY2x1ZGUgIlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12b2lkIENhY2hlU3Rv
cmFnZTo6bWF0Y2goUmVxdWVzdEluZm8mJiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9u
cz4mJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQorU3RyaW5nIENhY2hlU3RvcmFn
ZTo6b3JpZ2luKCkgY29uc3QKIHsKLSAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9uIHsgVHlw
ZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgYXV0byogb3Jp
Z2luID0gbV9jb250ZXh0LnNlY3VyaXR5T3JpZ2luKCk7CisgICAgcmV0dXJuIG9yaWdpbiA/IG9y
aWdpbi0+dG9TdHJpbmcoKSA6IGVtcHR5U3RyaW5nKCk7CiB9CiAKLXZvaWQgQ2FjaGVTdG9yYWdl
OjpoYXMoY29uc3QgU3RyaW5nJiwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYgcHJv
bWlzZSkKK3ZvaWQgQ2FjaGVTdG9yYWdlOjpoYXMoY29uc3QgU3RyaW5nJiBuYW1lLCBET01Qcm9t
aXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVqZWN0
KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0p
OworICAgIHJlZnJlc2hDYWNoZU1hcChbdGhpcywgbmFtZSwgcHJvbWlzZSA9IFdURk1vdmUocHJv
bWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgIHByb21pc2UucmVzb2x2ZShtX2NhY2hlTWFwLmZp
bmRNYXRjaGluZyhbJl0oYXV0byYgaXRlbSkgeyByZXR1cm4gaXRlbS0+bmFtZSgpID09IG5hbWU7
IH0pICE9IG5vdEZvdW5kKTsKKyAgICB9KTsKK30KKwordm9pZCBDYWNoZVN0b3JhZ2U6OnJlZnJl
c2hDYWNoZU1hcChGdW5jdGlvbjx2b2lkKCk+JiYgY2FsbGJhY2spCit7CisgICAgbV9jb25uZWN0
aW9uLT5yZWZyZXNoQ2FjaGVNYXAob3JpZ2luKCksIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFr
ZVJlZigqdGhpcyksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiBjYWNoZU5hbWVzKSB7CisgICAgICAgIG1fY2FjaGVNYXAucmVtb3ZlQWxsTWF0Y2hp
bmcoWyZdKGF1dG8mIGNhY2hlKSB7IHJldHVybiAhY2FjaGVOYW1lcy5jb250YWlucyhjYWNoZS0+
bmFtZSgpKTsgfSk7CisKKyAgICAgICAgc3RkOjpzb3J0KG1fY2FjaGVNYXAuYmVnaW4oKSwgbV9j
YWNoZU1hcC5lbmQoKSwgWyZdKGF1dG8mIGEsIGF1dG8mIGIpIHsKKyAgICAgICAgICAgIHJldHVy
biBjYWNoZU5hbWVzLmZpbmQoYS0+bmFtZSgpKSA8IGNhY2hlTmFtZXMuZmluZChiLT5uYW1lKCkp
OworICAgICAgICB9KTsKKworICAgICAgICBjYWxsYmFjaygpOworICAgIH0pOwogfQogCi12b2lk
IENhY2hlU3RvcmFnZTo6b3Blbihjb25zdCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURM
SW50ZXJmYWNlPENhY2hlPj4mJiBwcm9taXNlKQordm9pZCBDYWNoZVN0b3JhZ2U6Om9wZW4oY29u
c3QgU3RyaW5nJiBuYW1lLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPENhY2hlPj4m
JiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwg
QVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHJlZnJlc2hDYWNoZU1hcChb
dGhpcywgbmFtZSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAg
ICAgIGF1dG8gcG9zaXRpb24gPSBtX2NhY2hlTWFwLmZpbmRNYXRjaGluZyhbJl0oYXV0byYgaXRl
bSkgeyByZXR1cm4gaXRlbS0+bmFtZSgpID09IG5hbWU7IH0pOworICAgICAgICBpZiAocG9zaXRp
b24gIT0gbm90Rm91bmQpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShtX2NhY2hlTWFw
W3Bvc2l0aW9uXSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgbV9j
b25uZWN0aW9uLT5vcGVuKG9yaWdpbigpLCBuYW1lLCBbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYo
KnRoaXMpLCB0aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICAgICAgaWYgKGVy
cm9yICE9IENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yOjpOb25lKSB7CisgICAgICAgICAg
ICAgICAgcHJvbWlzZS5yZWplY3QoQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJv
bUVycm9yKGVycm9yKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQor
CisgICAgICAgICAgICBhdXRvIGNhY2hlID0gQ2FjaGU6OmNyZWF0ZShtX2NvbnRleHQsIFN0cmlu
ZyhuYW1lKSwgbV9jb25uZWN0aW9uLmNvcHlSZWYoKSk7CisgICAgICAgICAgICBwcm9taXNlLnJl
c29sdmUoY2FjaGUpOworICAgICAgICAgICAgbV9jYWNoZU1hcC5hcHBlbmQoV1RGTW92ZShjYWNo
ZSkpOworICAgICAgICB9KTsKKyAgICB9KTsKIH0KIAotdm9pZCBDYWNoZVN0b3JhZ2U6OnJlbW92
ZShjb25zdCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNl
KQordm9pZCBDYWNoZVN0b3JhZ2U6OnJlbW92ZShjb25zdCBTdHJpbmcmIG5hbWUsIERPTVByb21p
c2VEZWZlcnJlZDxJRExCb29sZWFuPiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS5yZWplY3Qo
RXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7
CisgICAgcmVmcmVzaENhY2hlTWFwKFt0aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9t
aXNlKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgYXV0byBwb3NpdGlvbiA9IG1fY2FjaGVNYXAuZmlu
ZE1hdGNoaW5nKFsmXShhdXRvJiBpdGVtKSB7IHJldHVybiBpdGVtLT5uYW1lKCkgPT0gbmFtZTsg
fSk7CisgICAgICAgIGlmIChwb3NpdGlvbiA9PSBub3RGb3VuZCkgeworICAgICAgICAgICAgcHJv
bWlzZS5yZXNvbHZlKGZhbHNlKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAg
ICAgICBtX2Nvbm5lY3Rpb24tPnJlbW92ZShvcmlnaW4oKSwgbmFtZSwgW3Byb3RlY3RlZFRoaXMg
PSBtYWtlUmVmKCp0aGlzKSwgbmFtZSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKENhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OkVycm9yIGVycm9yKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlm
IChlcnJvciAhPSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJvcjo6Tm9uZSkgeworICAgICAg
ICAgICAgICAgIHByb21pc2UucmVqZWN0KENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlv
bkZyb21FcnJvcihlcnJvcikpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZSh0cnVlKTsKKyAgICAgICAgfSk7CisgICAg
ICAgIG1fY2FjaGVNYXAucmVtb3ZlKHBvc2l0aW9uKTsKKyAgICB9KTsKIH0KIAogdm9pZCBDYWNo
ZVN0b3JhZ2U6OmtleXMoS2V5c1Byb21pc2UmJiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVq
ZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQi
KX0pOworICAgIHJlZnJlc2hDYWNoZU1hcChbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlz
ZSldKCkgbXV0YWJsZSB7CisgICAgICAgIFZlY3RvcjxTdHJpbmc+IGtleXM7CisgICAgICAgIGtl
eXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShtX2NhY2hlTWFwLnNpemUoKSk7CisgICAgICAgIGZv
ciAoYXV0byYgY2FjaGUgOiBtX2NhY2hlTWFwKQorICAgICAgICAgICAga2V5cy51bmNoZWNrZWRB
cHBlbmQoY2FjaGUtPm5hbWUoKSk7CisgICAgICAgIHByb21pc2UucmVzb2x2ZShrZXlzKTsKKyAg
ICB9KTsKK30KKwordm9pZCBDYWNoZVN0b3JhZ2U6OmNhY2hlTWFwKENhY2hlTWFwUHJvbWlzZSYm
IHByb21pc2UpCit7CisgICAgcmVmcmVzaENhY2hlTWFwKFt0aGlzLCBwcm9taXNlID0gV1RGTW92
ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgcHJvbWlzZS5yZXNvbHZlKG1fY2FjaGVN
YXApOworICAgIH0pOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaAppbmRleCBmYTI2OTAwMDM2YzMyNjczNjYy
MWZjYjgzN2M3NzcxZWFhOGQ4MjIzLi44NTMyODA0Mzg1OThiMWNlMmVhZDc3ZjdlNTc1NWNmY2E0
MTY2NTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3Rv
cmFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmgK
QEAgLTI1LDI5ICsyNSw0NSBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkNhY2hlLmgi
CisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIkZldGNoUmVx
dWVzdC5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY2xhc3MgQ2FjaGU7Ci0KLXN0cnVjdCBDYWNoZVF1ZXJ5T3B0aW9uczsKK2NsYXNzIENhY2hl
UXVlcnlPcHRpb25zOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAogY2xhc3MgQ2Fj
aGVTdG9yYWdlIDogcHVibGljIFJlZkNvdW50ZWQ8Q2FjaGVTdG9yYWdlPiB7CiBwdWJsaWM6Ci0g
ICAgc3RhdGljIFJlZjxDYWNoZVN0b3JhZ2U+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgQ2FjaGVTdG9yYWdlKCkpOyB9CisgICAgc3RhdGljIFJlZjxDYWNoZVN0b3JhZ2U+IGNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVj
dGlvbj4mJiBjb25uZWN0aW9uKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IENhY2hlU3RvcmFnZShj
b250ZXh0LCBXVEZNb3ZlKGNvbm5lY3Rpb24pKSk7IH0KIAotICAgIHVzaW5nIFJlcXVlc3RJbmZv
ID0gRmV0Y2hSZXF1ZXN0OjpJbmZvOwogICAgIHVzaW5nIEtleXNQcm9taXNlID0gRE9NUHJvbWlz
ZURlZmVycmVkPElETFNlcXVlbmNlPElETERPTVN0cmluZz4+OwogCi0gICAgdm9pZCBtYXRjaChS
ZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBSZWY8RGVm
ZXJyZWRQcm9taXNlPiYmKTsKICAgICB2b2lkIGhhcyhjb25zdCBTdHJpbmcmLCBET01Qcm9taXNl
RGVmZXJyZWQ8SURMQm9vbGVhbj4mJik7CiAgICAgdm9pZCBvcGVuKGNvbnN0IFN0cmluZyYsIERP
TVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8Q2FjaGU+PiYmKTsKICAgICB2b2lkIHJlbW92
ZShjb25zdCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJik7CiAgICAg
dm9pZCBrZXlzKEtleXNQcm9taXNlJiYpOwogCisgICAgdXNpbmcgQ2FjaGVNYXBQcm9taXNlID0g
RE9NUHJvbWlzZURlZmVycmVkPElETFNlcXVlbmNlPElETEludGVyZmFjZTxDYWNoZT4+PjsKKyAg
ICB2b2lkIGNhY2hlTWFwKENhY2hlTWFwUHJvbWlzZSYmKTsKKwogcHJpdmF0ZToKLSAgICBDYWNo
ZVN0b3JhZ2UoKSA9IGRlZmF1bHQ7CisgICAgQ2FjaGVTdG9yYWdlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmLCBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4mJik7CisKKyAgICB2b2lkIHJlZnJl
c2hDYWNoZU1hcChGdW5jdGlvbjx2b2lkKCk+JiYpOworICAgIFN0cmluZyBvcmlnaW4oKSBjb25z
dDsKKworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIG1fY29udGV4dDsKKyAgICBWZWN0b3I8
UmVmPENhY2hlPj4gbV9jYWNoZU1hcDsKKyAgICBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4g
bV9jb25uZWN0aW9uOwogfTsKIAoraW5saW5lIENhY2hlU3RvcmFnZTo6Q2FjaGVTdG9yYWdlKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
PiYmIGNvbm5lY3Rpb24pCisgICAgOiBtX2NvbnRleHQoY29udGV4dCkKKyAgICAsIG1fY29ubmVj
dGlvbihXVEZNb3ZlKGNvbm5lY3Rpb24pKQoreworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5pZGwKaW5kZXgg
OGQ3MWUwOTAzZTc2ZTFhNGI2MmJmYjZmMDI4NDk2ZmI5ODZmMDYyYS4uNjYzOTkzZGFkNjQwMGQ0
MDk3ODUyZjNiZGIzMzI0ODAwYTUxNzVmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2FjaGUvQ2FjaGVTdG9yYWdlLmlkbApAQCAtMzAsMTAgKzMwLDE0IEBAIHR5cGVkZWYgKEZldGNo
UmVxdWVzdCBvciBVU1ZTdHJpbmcpIFJlcXVlc3RJbmZvOwogICAgIEV4cG9zZWQ9KFdpbmRvdyxX
b3JrZXIpLAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9Q2FjaGVBUEksCiAgICAgSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZSwKKyAgICBQcml2YXRlSWRlbnRpZmllciwKKyAgICBQdWJsaWNJZGVudGlm
aWVyLAogXSBpbnRlcmZhY2UgQ2FjaGVTdG9yYWdlIHsKLSAgICBbTmV3T2JqZWN0XSBQcm9taXNl
PGFueT4gbWF0Y2goUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlv
bnMgb3B0aW9ucyk7CisgICAgW05ld09iamVjdCwgSlNCdWlsdGluXSBQcm9taXNlPGFueT4gbWF0
Y2goUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9u
cyk7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxib29sZWFuPiBoYXMoRE9NU3RyaW5nIGNhY2hl
TmFtZSk7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxDYWNoZT4gb3BlbihET01TdHJpbmcgY2Fj
aGVOYW1lKTsKICAgICBbTmV3T2JqZWN0LCBJbXBsZW1lbnRlZEFzPXJlbW92ZV0gUHJvbWlzZTxi
b29sZWFuPiBkZWxldGUoRE9NU3RyaW5nIGNhY2hlTmFtZSk7CiAgICAgW05ld09iamVjdF0gUHJv
bWlzZTxzZXF1ZW5jZTxET01TdHJpbmc+PiBrZXlzKCk7CisKKyAgICBbUHJpdmF0ZUlkZW50aWZp
ZXJdIFByb21pc2U8c2VxdWVuY2U8Q2FjaGU+PiBjYWNoZU1hcCgpOwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmpzIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDA1YzFhYmNl
N2Y3NTgzNDk3NjMwNWQ4MzJjYmYyODNhZGRmMmQ3OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmpzCkBAIC0wLDAgKzEsNTggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCitmdW5jdGlvbiBtYXRjaChyZXF1ZXN0KQoreworICBpZiAoISh0aGlzIGlu
c3RhbmNlb2YgQENhY2hlU3RvcmFnZSkpCisgICAgICAgcmV0dXJuIEBQcm9taXNlLkByZWplY3Qo
QG1ha2VUaGlzVHlwZUVycm9yKCJDYWNoZVN0b3JhZ2UiLCAibWF0Y2giKSk7CisKKyAgICByZXR1
cm4gQENhY2hlU3RvcmFnZS5wcm90b3R5cGUuQGNhY2hlTWFwLkBjYWxsKHRoaXMpLnRoZW4oKGNh
Y2hlTWFwKSA9PiB7CisgICAgICAgIGxldCBvcHRpb25zID0gYXJndW1lbnRzWzFdOworICAgICAg
ICBpZiAoQGlzT2JqZWN0KG9wdGlvbnMpICYmIG9wdGlvbnMuY2FjaGVOYW1lKSB7CisgICAgICAg
ICAgICBmb3IgKGxldCBjYWNoZSBvZiBjYWNoZU1hcCkgeworICAgICAgICAgICAgICAgIGlmIChA
Q2FjaGUucHJvdG90eXBlLkBjYWNoZU5hbWUuQGNhbGwoY2FjaGUpID09PSBvcHRpb25zLmNhY2hl
TmFtZSkgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4gQENhY2hlLnByb3RvdHlwZS5AbWF0
Y2hBbGwuQGNhbGwoY2FjaGUsIHJlcXVlc3QsIG9wdGlvbnMpLnRoZW4oKHJlc3VsdCkgPT4gewor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5sZW5ndGgpCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdFswXTsKKyAgICAgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIEBQ
cm9taXNlLkByZXNvbHZlKCk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBtYXRjaE5l
eHRDYWNoZShjYWNoZU1hcCwgcmVxdWVzdCwgb3B0aW9ucywgY291bnRlcikgeworICAgICAgICAg
ICAgaWYgKGNvdW50ZXIgPT09IGNhY2hlTWFwLmxlbmd0aCkKKyAgICAgICAgICAgICAgICByZXR1
cm4gQFByb21pc2UuQHJlc29sdmUoKTsKKworICAgICAgICAgICAgbGV0IGNhY2hlID0gQENhY2hl
U3RvcmFnZS5wcm90b3R5cGUuQGdldChjYWNoZU1hcFtjb3VudGVyXSk7CisgICAgICAgICAgICBy
ZXR1cm4gQENhY2hlLnByb3RvdHlwZS5AbWF0Y2hBbGwuQGNhbGwoY2FjaGUsIHJlcXVlc3QsIG9w
dGlvbnMpLnRoZW4oKHJlc3VsdCkgPT4geworICAgICAgICAgICAgICAgIGlmIChyZXN1bHQubGVu
Z3RoKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0WzBdOworICAgICAgICAgICAg
ICAgIHJldHVybiBtYXRjaE5leHRDYWNoZShjYWNoZU1hcCwgcmVxdWVzdCwgb3B0aW9ucywgY291
bnRlciArIDEpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIG1h
dGNoTmV4dENhY2hlKGNhY2hlTWFwLCByZXF1ZXN0LCBvcHRpb25zLCAwKTsKKyAgICB9KTsKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29u
bmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNv
bm5lY3Rpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI5ZWJiODFkNmNkYTI0ZDZjNGIwOTUyMTNkYTc2M2Zh
OTZkZTI5NGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hl
L0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCkBAIC0wLDAgKzEsNDYgQEAKKworLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
LmgiCisKKyNpbmNsdWRlICJFeGNlcHRpb24uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitF
eGNlcHRpb24gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9yKEVycm9y
IGVycm9yKQoreworICAgIHN3aXRjaCAoZXJyb3IpIHsKKyAgICBjYXNlIEVycm9yOjpOb25lOgor
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJVbmtub3duIGVycm9yIikgfTsKKyAgICBjYXNlIEVy
cm9yOjpOb3RJbXBsZW1lbnRlZDoKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJv
ciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKSB9OworICAgIH07Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9j
YWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nh
Y2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOTcxMjA3NjBjMzgxY2Vj
MzNlNzcwYzVjOWI1NjA1ODU0ZjFlZTk0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgKQEAgLTAsMCArMSw4OCBA
QAorCisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJGZXRjaEhlYWRlcnMu
aCIKKyNpbmNsdWRlICJGZXRjaE9wdGlvbnMuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3Qu
aCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCisjaW5jbHVkZSA8d3RmL1RocmVhZFNh
ZmVSZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2FjaGVRdWVy
eU9wdGlvbnM7CisKK2NsYXNzIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24gOiBwdWJsaWMgVGhyZWFk
U2FmZVJlZkNvdW50ZWQ8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4geworcHVibGljOgorICAgIGVu
dW0gY2xhc3MgRXJyb3IgeworICAgICAgICBOb25lLAorICAgICAgICBOb3RJbXBsZW1lbnRlZCwK
KyAgICB9OworCisgICAgc3RhdGljIEV4Y2VwdGlvbiBleGNlcHRpb25Gcm9tRXJyb3IoRXJyb3Ip
OworCisgICAgc3RydWN0IFJlY29yZCB7CisgICAgICAgIHVpbnQ2NF90IGlkZW50aWZpZXI7CisK
KyAgICAgICAgRmV0Y2hIZWFkZXJzOjpHdWFyZCByZXF1ZXN0SGVhZGVyc0d1YXJkOworICAgICAg
ICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdDsKKyAgICAgICAgRmV0Y2hPcHRpb25zIG9wdGlvbnM7
CisgICAgICAgIFN0cmluZyByZWZlcnJlcjsKKworICAgICAgICBGZXRjaEhlYWRlcnM6Okd1YXJk
IHJlc3BvbnNlSGVhZGVyc0d1YXJkOworICAgICAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNl
OworCisgICAgICAgIHN0cnVjdCBDcm9zc1RocmVhZERhdGEgeworICAgICAgICAgICAgdWludDY0
X3QgaWRlbnRpZmllcjsKKworICAgICAgICAgICAgRmV0Y2hIZWFkZXJzOjpHdWFyZCByZXF1ZXN0
SGVhZGVyc0d1YXJkOworICAgICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3Q7CisgICAg
ICAgICAgICBGZXRjaE9wdGlvbnMgb3B0aW9uczsKKyAgICAgICAgICAgIFN0cmluZyByZWZlcnJl
cjsKKworICAgICAgICAgICAgRmV0Y2hIZWFkZXJzOjpHdWFyZCByZXNwb25zZUhlYWRlcnNHdWFy
ZDsKKyAgICAgICAgICAgIFJlc291cmNlUmVzcG9uc2U6OkNyb3NzVGhyZWFkRGF0YSByZXNwb25z
ZTsKKyAgICAgICAgfTsKKworICAgICAgICBDcm9zc1RocmVhZERhdGEgdG9Dcm9zc1RocmVhZERh
dGEoKSBjb25zdCB7IHJldHVybiBDcm9zc1RocmVhZERhdGEgeyBpZGVudGlmaWVyLCByZXF1ZXN0
SGVhZGVyc0d1YXJkLCByZXF1ZXN0Lmlzb2xhdGVkQ29weSgpLCBvcHRpb25zLmlzb2xhdGVkQ29w
eSgpLCByZWZlcnJlci5pc29sYXRlZENvcHkoKSwgcmVzcG9uc2VIZWFkZXJzR3VhcmQsIHJlc3Bv
bnNlLmNyb3NzVGhyZWFkRGF0YSgpIH07IH0KKyAgICAgICAgc3RhdGljIFJlY29yZCBmcm9tQ3Jv
c3NUaHJlYWREYXRhKENyb3NzVGhyZWFkRGF0YSYmIGRhdGEpIHsgcmV0dXJuIFJlY29yZCB7IGRh
dGEuaWRlbnRpZmllciwgZGF0YS5yZXF1ZXN0SGVhZGVyc0d1YXJkLCBXVEZNb3ZlKGRhdGEucmVx
dWVzdCksIFdURk1vdmUoZGF0YS5vcHRpb25zKSwgV1RGTW92ZShkYXRhLnJlZmVycmVyKSwgZGF0
YS5yZXNwb25zZUhlYWRlcnNHdWFyZCwgUmVzb3VyY2VSZXNwb25zZTo6ZnJvbUNyb3NzVGhyZWFk
RGF0YShXVEZNb3ZlKGRhdGEucmVzcG9uc2UpKSB9OyB9CisgICAgfTsKKworICAgIHN0YXRpYyBS
ZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5l
dyBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uKCkpOyB9CisgICAgdmlydHVhbCB+Q2FjaGVTdG9yYWdl
Q29ubmVjdGlvbigpID0gZGVmYXVsdDsKKworICAgIHZpcnR1YWwgdm9pZCBvcGVuKGNvbnN0IFN0
cmluZyYgLyogb3JpZ2luICovLCBjb25zdCBTdHJpbmcmIC8qIGNhY2hlTmFtZSAqLywgRnVuY3Rp
b248dm9pZChFcnJvcik+JiYgY2FsbGJhY2spIHsgY2FsbGJhY2soRXJyb3I6Ok5vdEltcGxlbWVu
dGVkKTsgfQorICAgIHZpcnR1YWwgdm9pZCByZW1vdmUoY29uc3QgU3RyaW5nJiAvKiBvcmlnaW4g
Ki8sIGNvbnN0IFN0cmluZyYgLyogY2FjaGVOYW1lICovLCBGdW5jdGlvbjx2b2lkKEVycm9yKT4m
JiBjYWxsYmFjaykgeyBjYWxsYmFjayhFcnJvcjo6Tm90SW1wbGVtZW50ZWQpOyB9CisgICAgdmly
dHVhbCB2b2lkIHJlZnJlc2hDYWNoZU1hcChjb25zdCBTdHJpbmcmIC8qIG9yaWdpbiAqLywgRnVu
Y3Rpb248dm9pZChjb25zdCBWZWN0b3I8U3RyaW5nPiYpPiYmIGNhbGxiYWNrKSB7IGNhbGxiYWNr
KHsgfSk7IH0KKworICAgIHZpcnR1YWwgdm9pZCByZWZyZXNoUmVxdWVzdFRvUmVzcG9uc2VNYXAo
Y29uc3QgU3RyaW5nJiAvKiBvcmlnaW4gKi8sIGNvbnN0IFN0cmluZyYgLyogY2FjaGVOYW1lICov
LCBGdW5jdGlvbjx2b2lkKFZlY3RvcjxSZWNvcmQ+JiYpPiYmIGNhbGxiYWNrKSB7IGNhbGxiYWNr
KHsgfSk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgYmF0Y2hEZWxldGVPcGVyYXRpb24oY29uc3QgU3Ry
aW5nJiAvKiBvcmlnaW4gKi8sIGNvbnN0IFN0cmluZyYgLyogY2FjaGVOYW1lICovLCBjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBGdW5jdGlvbjx2b2lkKFZlY3Rv
cjx1aW50NjRfdD4mJiwgRXJyb3IpPiYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKHsgfSwgRXJyb3I6
Ok5vdEltcGxlbWVudGVkKTsgfQorICAgIHZpcnR1YWwgdm9pZCBiYXRjaFB1dE9wZXJhdGlvbihj
b25zdCBTdHJpbmcmIC8qIG9yaWdpbiAqLywgY29uc3QgU3RyaW5nJiAvKiBjYWNoZU5hbWUgKi8s
IFJlY29yZCYmLCBGdW5jdGlvbjx2b2lkKFZlY3Rvcjx1aW50NjRfdD4mJiwgRXJyb3IpPiYmIGNh
bGxiYWNrKSB7IGNhbGxiYWNrKHsgfSwgRXJyb3I6Ok5vdEltcGxlbWVudGVkKTsgfQorfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2NhY2hlL0NhY2hlU3RvcmFnZVJlY29yZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9j
YWNoZS9DYWNoZVN0b3JhZ2VSZWNvcmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMGE2YWNlNGJhNGMwOTFkYzA5
YTVkNDU1ZGY2YWM3Y2E1Y2FhMjdiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VSZWNvcmQuaApAQCAtMCwwICsxLDQwIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJGZXRjaFJlcXVlc3QuaCIKKyNpbmNs
dWRlICJGZXRjaFJlc3BvbnNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IENh
Y2hlU3RvcmFnZVJlY29yZCB7CisgICAgdWludDY0X3QgaWRlbnRpZmllcjsKKworICAgIFJlZjxG
ZXRjaFJlcXVlc3Q+IHJlcXVlc3Q7CisgICAgUmVmPEZldGNoUmVzcG9uc2U+IHJlc3BvbnNlOwor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwCmluZGV4IDg2NjVjNTU2NzJlYTVmNDZiMDlkNGY5
YjA3NWE2OTYyYzU5NTFlZDEuLmE4YTI2NjdiYWE1MjUxYWVkYTA2NWQ4NDgzODYyNTUzZDUwNTg1
NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NV2luZG93Q2Fj
aGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hl
cy5jcHAKQEAgLTI3LDcgKzI3LDExIEBACiAjaW5jbHVkZSAiRE9NV2luZG93Q2FjaGVzLmgiCiAK
ICNpbmNsdWRlICJDYWNoZVN0b3JhZ2UuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VQcm92aWRl
ci5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5j
bHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApAQCAtNTksOCArNjMsOCBAQCBDYWNoZVN0b3JhZ2UqIERPTVdpbmRvd0NhY2hlczo6Y2FjaGVz
KERPTVdpbmRvdyYgd2luZG93KQogCiBDYWNoZVN0b3JhZ2UqIERPTVdpbmRvd0NhY2hlczo6Y2Fj
aGVzKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fY2FjaGVzICYmIGZyYW1lKCkpCi0gICAgICAgIG1f
Y2FjaGVzID0gQ2FjaGVTdG9yYWdlOjpjcmVhdGUoKTsKKyAgICBpZiAoIW1fY2FjaGVzICYmIGZy
YW1lKCkgJiYgZnJhbWUoKS0+cGFnZSgpICYmIGZyYW1lKCktPmRvY3VtZW50KCkpCisgICAgICAg
IG1fY2FjaGVzID0gQ2FjaGVTdG9yYWdlOjpjcmVhdGUoKmZyYW1lKCktPmRvY3VtZW50KCksIGZy
YW1lKCktPnBhZ2UoKS0+Y2FjaGVTdG9yYWdlUHJvdmlkZXIoKS5jcmVhdGVDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uKGZyYW1lKCktPnBhZ2UoKS0+c2Vzc2lvbklEKCkpKTsKICAgICByZXR1cm4gbV9j
YWNoZXMuZ2V0KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9j
YWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAKaW5kZXggMDUxNjk4ZTdjNmU1NzkwY2Qy
NzBhMzE4MGZmZWI0M2M3ZDdkZWFhYS4uYzUzOWNkZTYzYjRiNGQyNzcxYzY5Y2ZmN2Q1OWI3ZjEy
NTg1YjgxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJH
bG9iYWxTY29wZUNhY2hlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9X
b3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAKQEAgLTQwLDcgKzQwLDcgQEAgV29ya2VyR2xvYmFs
U2NvcGVDYWNoZXMqIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzOjpmcm9tKFdvcmtlckdsb2JhbFNj
b3BlJiBzY29wZSkKIHsKICAgICBhdXRvKiBzdXBwbGVtZW50ID0gc3RhdGljX2Nhc3Q8V29ya2Vy
R2xvYmFsU2NvcGVDYWNoZXMqPihTdXBwbGVtZW50PFdvcmtlckdsb2JhbFNjb3BlPjo6ZnJvbSgm
c2NvcGUsIHN1cHBsZW1lbnROYW1lKCkpKTsKICAgICBpZiAoIXN1cHBsZW1lbnQpIHsKLSAgICAg
ICAgYXV0byBuZXdTdXBwbGVtZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxXb3JrZXJHbG9iYWxTY29w
ZUNhY2hlcz4oKTsKKyAgICAgICAgYXV0byBuZXdTdXBwbGVtZW50ID0gc3RkOjptYWtlX3VuaXF1
ZTxXb3JrZXJHbG9iYWxTY29wZUNhY2hlcz4oc2NvcGUpOwogICAgICAgICBzdXBwbGVtZW50ID0g
bmV3U3VwcGxlbWVudC5nZXQoKTsKICAgICAgICAgcHJvdmlkZVRvKCZzY29wZSwgc3VwcGxlbWVu
dE5hbWUoKSwgV1RGTW92ZShuZXdTdXBwbGVtZW50KSk7CiAgICAgfQpAQCAtNTUsNyArNTUsNyBA
QCBDYWNoZVN0b3JhZ2UqIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzOjpjYWNoZXMoV29ya2VyR2xv
YmFsU2NvcGUmIHNjb3BlKQogQ2FjaGVTdG9yYWdlKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6
Y2FjaGVzKCkgY29uc3QKIHsKICAgICBpZiAoIW1fY2FjaGVzKQotICAgICAgICBtX2NhY2hlcyA9
IENhY2hlU3RvcmFnZTo6Y3JlYXRlKCk7CisgICAgICAgIG1fY2FjaGVzID0gQ2FjaGVTdG9yYWdl
OjpjcmVhdGUobV9zY29wZSwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6Y3JlYXRlKCkpOwogICAg
IHJldHVybiBtX2NhY2hlcy5nZXQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oCmluZGV4IDc5NWViZDYxOWUy
NDIxZDRjZWIxYjc4Y2RlZTQzM2UxMjM1MTQ4NmQuLmY2Y2M4NTFlMDg1ZTFkM2E1YzIzY2FjNmVi
N2QzZTZmYWMzOTc2NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUv
V29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nh
Y2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmgKQEAgLTM0LDcgKzM0LDcgQEAgY2xhc3MgV29y
a2VyR2xvYmFsU2NvcGU7CiAKIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzIDogcHVibGlj
IFN1cHBsZW1lbnQ8V29ya2VyR2xvYmFsU2NvcGU+IHsKIHB1YmxpYzoKLSAgICBXb3JrZXJHbG9i
YWxTY29wZUNhY2hlcygpID0gZGVmYXVsdDsKKyAgICBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcyhX
b3JrZXJHbG9iYWxTY29wZSYgc2NvcGUpIDogbV9zY29wZShzY29wZSkgeyB9OwogCiAgICAgc3Rh
dGljIENhY2hlU3RvcmFnZSogY2FjaGVzKFdvcmtlckdsb2JhbFNjb3BlJik7CiAKQEAgLTQzLDYg
KzQzLDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUo
KTsKICAgICBDYWNoZVN0b3JhZ2UqIGNhY2hlcygpIGNvbnN0OwogCisgICAgV29ya2VyR2xvYmFs
U2NvcGUmIG1fc2NvcGU7CiAgICAgbXV0YWJsZSBSZWZQdHI8Q2FjaGVTdG9yYWdlPiBtX2NhY2hl
czsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hC
b2R5T3duZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIu
aAppbmRleCBjMzIxM2U5NzIxMzkzMDBkNGE1MTg1NGMwNTU5YWI1NTAxNGE5NTViLi43MWFmYzQ2
Y2UwNTFlNGE4NGUzMWFjOTM0NDgzOTZjOGY4NjFlMTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5oCkBAIC01Nyw2ICs1Nyw4IEBAIHB1YmxpYzoK
IAogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdCB7IHJldHVybiAhIW1fYmxvYkxvYWRlcjsgfQog
CisgICAgYm9vbCBpc1JlYWRhYmxlU3RyZWFtQm9keSgpIGNvbnN0IHsgcmV0dXJuIG1fYm9keSAm
JiBtX2JvZHktPmlzUmVhZGFibGVTdHJlYW0oKTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgY29uc3Qg
RmV0Y2hCb2R5JiBib2R5KCkgY29uc3QgeyByZXR1cm4gKm1fYm9keTsgfQogICAgIEZldGNoQm9k
eSYgYm9keSgpIHsgcmV0dXJuICptX2JvZHk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoSGVhZGVycy5oCmluZGV4IGZjM2IxMDhiOWEyZDVhZTU4MzdjMjNjNzkxZmUyMDlj
YjY4MzMyYzguLmZlZTFmOGYxZjM4MDkzYjBkMzM1YjkxOGQ5MWRjZTQ0ZmNkOTdkMTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaApAQCAtMzAsNiArMzAs
NyBAQAogCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRlICJIVFRQSGVhZGVyTWFw
LmgiCisjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFRyYWl0
cy5oPgogI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpA
QCAtNDksNyArNTAsNyBAQCBwdWJsaWM6CiAgICAgdXNpbmcgSW5pdCA9IFZhcmlhbnQ8VmVjdG9y
PFZlY3RvcjxTdHJpbmc+PiwgVmVjdG9yPFdURjo6S2V5VmFsdWVQYWlyPFN0cmluZywgU3RyaW5n
Pj4+OwogICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8RmV0Y2hIZWFkZXJzPj4gY3JlYXRlKHN0
ZDo6b3B0aW9uYWw8SW5pdD4mJik7CiAKLSAgICBzdGF0aWMgUmVmPEZldGNoSGVhZGVycz4gY3Jl
YXRlKEd1YXJkIGd1YXJkID0gR3VhcmQ6Ok5vbmUpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmV0
Y2hIZWFkZXJzIHsgZ3VhcmQgfSk7IH0KKyAgICBzdGF0aWMgUmVmPEZldGNoSGVhZGVycz4gY3Jl
YXRlKEd1YXJkIGd1YXJkID0gR3VhcmQ6Ok5vbmUsIEhUVFBIZWFkZXJNYXAmJiBoZWFkZXJzID0g
eyB9KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEZldGNoSGVhZGVycyB7IGd1YXJkLCBXVEZNb3Zl
KGhlYWRlcnMpIH0pOyB9CiAgICAgc3RhdGljIFJlZjxGZXRjaEhlYWRlcnM+IGNyZWF0ZShjb25z
dCBGZXRjaEhlYWRlcnMmIGhlYWRlcnMpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmV0Y2hIZWFk
ZXJzIHsgaGVhZGVycyB9KTsgfQogCiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gYXBwZW5kKGNvbnN0
IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSk7CkBAIC04Miw5ICs4MywxMCBAQCBw
dWJsaWM6CiAgICAgY29uc3QgSFRUUEhlYWRlck1hcCYgaW50ZXJuYWxIZWFkZXJzKCkgY29uc3Qg
eyByZXR1cm4gbV9oZWFkZXJzOyB9CiAKICAgICB2b2lkIHNldEd1YXJkKEd1YXJkKTsKKyAgICBH
dWFyZCBndWFyZCgpIGNvbnN0IHsgcmV0dXJuIG1fZ3VhcmQ7IH0KIAogcHJpdmF0ZToKLSAgICBl
eHBsaWNpdCBGZXRjaEhlYWRlcnMoR3VhcmQgZ3VhcmQsIEhUVFBIZWFkZXJNYXAmJiBoZWFkZXJz
ID0geyB9KTsKKyAgICBGZXRjaEhlYWRlcnMoR3VhcmQsIEhUVFBIZWFkZXJNYXAmJik7CiAgICAg
RmV0Y2hIZWFkZXJzKGNvbnN0IEZldGNoSGVhZGVycyYpOwogCiAgICAgR3VhcmQgbV9ndWFyZDsK
QEAgLTExMSwzICsxMTMsMTggQEAgaW5saW5lIHZvaWQgRmV0Y2hIZWFkZXJzOjpzZXRHdWFyZChH
dWFyZCBndWFyZCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RG
IHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpGZXRjaEhlYWRlcnM6
Okd1YXJkPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICBXZWJDb3JlOjpG
ZXRjaEhlYWRlcnM6Okd1YXJkLAorICAgIFdlYkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQ6Ok5v
bmUsCisgICAgV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZDo6SW1tdXRhYmxlLAorICAgIFdl
YkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQ6OlJlcXVlc3QsCisgICAgV2ViQ29yZTo6RmV0Y2hI
ZWFkZXJzOjpHdWFyZDo6UmVxdWVzdE5vQ29ycywKKyAgICBXZWJDb3JlOjpGZXRjaEhlYWRlcnM6
Okd1YXJkOjpSZXNwb25zZQorICAgID47Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCmluZGV4IGUzYTUxZjFhZTg0MzkyYmYzMGZjOGI1ZDMz
NTMxYTA5ZGI4NWNjYWMuLmVkZmFjNWMzODU5MWQ5OWU4OGVkMGZkZjM2ZThkYzRkODk1OGQ2MjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCkBAIC04
MCw3ICs4MCw3IEBAIHZvaWQgRmV0Y2hMb2FkZXI6OnN0YXJ0KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxCiAgICAgb3B0aW9ucy5kYXRhQnVm
ZmVyaW5nUG9saWN5ID0gRG9Ob3RCdWZmZXJEYXRhOwogICAgIG9wdGlvbnMuc2FtZU9yaWdpbkRh
dGFVUkxGbGFnID0gU2FtZU9yaWdpbkRhdGFVUkxGbGFnOjpTZXQ7CiAKLSAgICBSZXNvdXJjZVJl
cXVlc3QgZmV0Y2hSZXF1ZXN0ID0gcmVxdWVzdC5pbnRlcm5hbFJlcXVlc3QoKTsKKyAgICBSZXNv
dXJjZVJlcXVlc3QgZmV0Y2hSZXF1ZXN0ID0gcmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKTsKIAog
ICAgIEFTU0VSVChjb250ZXh0LmNvbnRlbnRTZWN1cml0eVBvbGljeSgpKTsKICAgICBhdXRvJiBj
b250ZW50U2VjdXJpdHlQb2xpY3kgPSAqY29udGV4dC5jb250ZW50U2VjdXJpdHlQb2xpY3koKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcAppbmRleCBl
NjZjMTVjOTk0Y2U1MWVkZDU0OTNhZDI1ODc0MmRkZTY4Y2EzZDRiLi44ZDBjMjM4NzgzYmFmMDM4
NGQyN2M0ZDQ4ZjYxN2M2MTAyNzY5ZTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaFJlcXVlc3QuY3BwCkBAIC03NCw3ICs3NCw3IEBAIHN0YXRpYyBzdGQ6Om9wdGlv
bmFsPEV4Y2VwdGlvbj4gc2V0UmVmZXJyZXIoRmV0Y2hSZXF1ZXN0OjpJbnRlcm5hbFJlcXVlc3Qm
IHJlcXVlCiAKIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbj4gYnVpbGRPcHRpb25zKEZl
dGNoUmVxdWVzdDo6SW50ZXJuYWxSZXF1ZXN0JiByZXF1ZXN0LCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBjb250ZXh0LCBjb25zdCBGZXRjaFJlcXVlc3Q6OkluaXQmIGluaXQpCiB7Ci0gICAgaWYg
KCFpbml0LndpbmRvdy5pc1VuZGVmaW5lZE9yTnVsbCgpKQorICAgIGlmICghaW5pdC53aW5kb3cu
aXNVbmRlZmluZWRPck51bGwoKSAmJiAhaW5pdC53aW5kb3cuaXNFbXB0eSgpKQogICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIldpbmRvdyBjYW4gb25s
eSBiZSBudWxsLiIpIH07CiAKICAgICBpZiAoIWluaXQucmVmZXJyZXIuaXNOdWxsKCkpIHsKQEAg
LTI2NCw3ICsyNjQsNyBAQCBjb25zdCBTdHJpbmcmIEZldGNoUmVxdWVzdDo6dXJsKCkgY29uc3QK
ICAgICByZXR1cm4gbV9yZXF1ZXN0VVJMOwogfQogCi1SZXNvdXJjZVJlcXVlc3QgRmV0Y2hSZXF1
ZXN0OjppbnRlcm5hbFJlcXVlc3QoKSBjb25zdAorUmVzb3VyY2VSZXF1ZXN0IEZldGNoUmVxdWVz
dDo6cmVzb3VyY2VSZXF1ZXN0KCkgY29uc3QKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0
LmgKaW5kZXggMWYwYjE2ZThhNWExNzlmMGZlYWMwYjU5N2RkNTg3NDlmYWVkYWJkZC4uNjFkY2Qy
YzU4NjMzMDk3ZDFlNjJlNmM1YTkxZWIxMDAyMTc3OWMzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5oCkBAIC01MywxMSArNTMsMTkgQEAgcHVibGljOgog
ICAgIHVzaW5nIFJlZGlyZWN0ID0gRmV0Y2hPcHRpb25zOjpSZWRpcmVjdDsKICAgICB1c2luZyBU
eXBlID0gRmV0Y2hPcHRpb25zOjpUeXBlOwogCisgICAgc3RydWN0IEludGVybmFsUmVxdWVzdCB7
CisgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0OworICAgICAgICBGZXRjaE9wdGlvbnMg
b3B0aW9uczsKKyAgICAgICAgU3RyaW5nIHJlZmVycmVyOworICAgIH07CisKICAgICBzdGF0aWMg
RXhjZXB0aW9uT3I8UmVmPEZldGNoUmVxdWVzdD4+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiwgSW5mbyYmLCBJbml0JiYpOworICAgIHN0YXRpYyBSZWY8RmV0Y2hSZXF1ZXN0PiBjcmVh
dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjpvcHRpb25hbDxGZXRjaEJv
ZHk+JiYgYm9keSwgUmVmPEZldGNoSGVhZGVycz4mJiBoZWFkZXJzLCBJbnRlcm5hbFJlcXVlc3Qm
JiByZXF1ZXN0KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEZldGNoUmVxdWVzdChjb250ZXh0LCBX
VEZNb3ZlKGJvZHkpLCBXVEZNb3ZlKGhlYWRlcnMpLCBXVEZNb3ZlKHJlcXVlc3QpKSk7IH0KIAog
ICAgIGNvbnN0IFN0cmluZyYgbWV0aG9kKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVl
c3QucmVxdWVzdC5odHRwTWV0aG9kKCk7IH0KICAgICBjb25zdCBTdHJpbmcmIHVybCgpIGNvbnN0
OwogICAgIEZldGNoSGVhZGVycyYgaGVhZGVycygpIHsgcmV0dXJuIG1faGVhZGVycy5nZXQoKTsg
fQorICAgIGNvbnN0IEZldGNoSGVhZGVycyYgaGVhZGVycygpIGNvbnN0IHsgcmV0dXJuIG1faGVh
ZGVycy5nZXQoKTsgfQogCiAgICAgVHlwZSB0eXBlKCkgY29uc3Q7CiAgICAgRGVzdGluYXRpb24g
ZGVzdGluYXRpb24oKSBjb25zdDsKQEAgLTczLDE3ICs4MSwxNCBAQCBwdWJsaWM6CiAKICAgICBF
eGNlcHRpb25PcjxSZWY8RmV0Y2hSZXF1ZXN0Pj4gY2xvbmUoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYpOwogCi0gICAgc3RydWN0IEludGVybmFsUmVxdWVzdCB7Ci0gICAgICAgIFJlc291cmNlUmVx
dWVzdCByZXF1ZXN0OwotICAgICAgICBGZXRjaE9wdGlvbnMgb3B0aW9uczsKLSAgICAgICAgU3Ry
aW5nIHJlZmVycmVyOwotICAgIH07CisgICAgY29uc3QgSW50ZXJuYWxSZXF1ZXN0JiBpbnRlcm5h
bFJlcXVlc3QoKSBjb25zdCB7IHJldHVybiBtX2ludGVybmFsUmVxdWVzdDsgfQogCiAgICAgY29u
c3QgRmV0Y2hPcHRpb25zJiBmZXRjaE9wdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX2ludGVybmFs
UmVxdWVzdC5vcHRpb25zOyB9Ci0gICAgUmVzb3VyY2VSZXF1ZXN0IGludGVybmFsUmVxdWVzdCgp
IGNvbnN0OworICAgIFJlc291cmNlUmVxdWVzdCByZXNvdXJjZVJlcXVlc3QoKSBjb25zdDsKICAg
ICBib29sIGlzQm9keVJlYWRhYmxlU3RyZWFtKCkgY29uc3QgeyByZXR1cm4gIWlzQm9keU51bGwo
KSAmJiBib2R5KCkuaXNSZWFkYWJsZVN0cmVhbSgpOyB9CiAKICAgICBjb25zdCBTdHJpbmcmIGlu
dGVybmFsUmVxdWVzdFJlZmVycmVyKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVlc3Qu
cmVmZXJyZXI7IH0KKyAgICBjb25zdCBVUkwmIGludGVybmFsUmVxdWVzdFVSTCgpIGNvbnN0IHsg
cmV0dXJuIG1faW50ZXJuYWxSZXF1ZXN0LnJlcXVlc3QudXJsKCk7IH0KIAogcHJpdmF0ZToKICAg
ICBGZXRjaFJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0ZDo6b3B0aW9uYWw8RmV0
Y2hCb2R5PiYmLCBSZWY8RmV0Y2hIZWFkZXJzPiYmLCBJbnRlcm5hbFJlcXVlc3QmJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcAppbmRleCA2OGFk
YjU1OWZlOTUzMGY3NDU2ZGM5NmY5ODg0YjdmZmRkNmE4MWJlLi5jNmRhMTExYjE5NTg3NDE2MzVm
MTMyMDM5MmU0YzZhYjc4MjM5ZmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hSZXNwb25zZS5jcHAKQEAgLTM1NSw2ICszNTUsMTQgQEAgdm9pZCBGZXRjaFJlc3Bv
bnNlOjpjYW5jZWwoKQogCiAjZW5kaWYKIAorUmVmUHRyPEZvcm1EYXRhPiBGZXRjaFJlc3BvbnNl
Ojpib2R5Rm9ySW50ZXJuYWxSZXNwb25zZSgpCit7CisgICAgQVNTRVJUKCFtX2lzRGlzdHVyYmVk
KTsKKyAgICBtX2lzRGlzdHVyYmVkID0gdHJ1ZTsKKyAgICByZXR1cm4gYm9keSgpLmJvZHlGb3JJ
bnRlcm5hbFJlcXVlc3QoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CisKK30KKwogdm9pZCBG
ZXRjaFJlc3BvbnNlOjpzdG9wKCkKIHsKICAgICBSZWZQdHI8RmV0Y2hSZXNwb25zZT4gcHJvdGVj
dGVkVGhpcyh0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hSZXNwb25zZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3Bv
bnNlLmgKaW5kZXggZjliMDJmYjBlNTg3YWI0ZWIzZDU1OTc5NGIzOTFmNzlmNWExZGM2Ni4uOTk2
Yjg5ZTZjZjI3YmY0MjI3NGVlZDA3ZmVhNzAxMDJjZWNlMzhmMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmgKQEAgLTU3LDYgKzU3LDggQEAgcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8RmV0Y2hSZXNwb25zZT4gZXJyb3IoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYpOwogICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8RmV0Y2hSZXNwb25zZT4+IHJlZGly
ZWN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTdHJpbmcmIHVybCwgaW50IHN0YXR1
cyk7CiAKKyAgICBzdGF0aWMgUmVmPEZldGNoUmVzcG9uc2U+IGNyZWF0ZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBjb250ZXh0LCBzdGQ6Om9wdGlvbmFsPEZldGNoQm9keT4mJiBib2R5LCBSZWY8
RmV0Y2hIZWFkZXJzPiYmIGhlYWRlcnMsIFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSkgeyBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBGZXRjaFJlc3BvbnNlKGNvbnRleHQsIFdURk1vdmUoYm9keSks
IFdURk1vdmUoaGVhZGVycyksIFdURk1vdmUocmVzcG9uc2UpKSk7IH0KKwogICAgIHVzaW5nIEZl
dGNoUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8RmV0Y2hSZXNwb25z
ZT4+OwogICAgIHN0YXRpYyB2b2lkIGZldGNoKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBGZXRj
aFJlcXVlc3QmLCBGZXRjaFByb21pc2UmJik7CiAKQEAgLTc4LDYgKzgwLDcgQEAgcHVibGljOgog
ICAgIGJvb2wgb2soKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlLmlzU3VjY2Vzc2Z1bCgpOyB9
CiAgICAgY29uc3QgU3RyaW5nJiBzdGF0dXNUZXh0KCkgY29uc3QgeyByZXR1cm4gbV9yZXNwb25z
ZS5odHRwU3RhdHVzVGV4dCgpOyB9CiAKKyAgICBjb25zdCBGZXRjaEhlYWRlcnMmIGhlYWRlcnMo
KSBjb25zdCB7IHJldHVybiBtX2hlYWRlcnM7IH0KICAgICBGZXRjaEhlYWRlcnMmIGhlYWRlcnMo
KSB7IHJldHVybiBtX2hlYWRlcnM7IH0KICAgICBSZWY8RmV0Y2hSZXNwb25zZT4gY2xvbmVGb3JK
UygpOwogCkBAIC05MCw2ICs5MywxMCBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzTG9hZGluZygp
IGNvbnN0IHsgcmV0dXJuICEhbV9ib2R5TG9hZGVyOyB9CiAKKyAgICBSZWZQdHI8Rm9ybURhdGE+
IGJvZHlGb3JJbnRlcm5hbFJlc3BvbnNlKCk7CisKKyAgICBjb25zdCBSZXNvdXJjZVJlc3BvbnNl
JiByZXNwb25zZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2U7IH0KKwogcHJpdmF0ZToKICAg
ICBGZXRjaFJlc3BvbnNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6Om9wdGlvbmFsPEZl
dGNoQm9keT4mJiwgUmVmPEZldGNoSGVhZGVycz4mJiwgUmVzb3VyY2VSZXNwb25zZSYmKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDRiNDA3MGEwYWZiNTliMWEyZGEyNmFkMThiNmZmNzkxYWNlN2FjNDkuLjAxMWEzNzYzNTYx
YWM1NmM2OTU0OWY5NjFkMTcxZTE4ZjRlYTk3ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE3ODQsNiArMTc4NCwxNCBAQAog
CQk0MUNGOEJFNzFENDYyMjY3MDA3MDdEQzkgLyogRmV0Y2hCb2R5Q29uc3VtZXIuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFDRjhCRTQxRDQ2MjIy
MDAwNzA3REM5IC8qIEZldGNoQm9keUNvbnN1bWVyLmNwcCAqLzsgfTsKIAkJNDFEMDE1Q0EwRjRC
NUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQwMTVDODBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5
cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
MUQwMTVDQjBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMDE1QzkwRjRCNUM3MTAwNEE2NjJG
IC8qIENvbnRlbnRUeXBlLmNwcCAqLzsgfTsKKwkJNDFEMTI5Q0UxRjNEMEVGNjAwRDE1RTQ3IC8q
IFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MUZCMjc4RDFGMzRDMjgyMDA3OTU0ODcgLyogV29ya2VyR2xvYmFs
U2NvcGVDYWNoZXMuaCAqLzsgfTsKKwkJNDFEMTI5Q0YxRjNEMEVGRTAwRDE1RTQ3IC8qIENhY2hl
U3RvcmFnZUNvbm5lY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDFEMTI5QzkxRjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5l
Y3Rpb24uY3BwICovOyB9OworCQk0MUQxMjlEMDFGM0QwRjA1MDBEMTVFNDcgLyogQ2FjaGVRdWVy
eU9wdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxRkIyNzlCMUYzNENFRjAwMDc5NTQ4NyAvKiBDYWNoZVF1ZXJ5T3B0aW9ucy5oICovOyB9Owor
CQk0MUQxMjlEMTFGM0QwRjBFMDBEMTVFNDcgLyogRE9NV2luZG93Q2FjaGVzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUZCMjc4QzFGMzRDMjgyMDA3
OTU0ODcgLyogRE9NV2luZG93Q2FjaGVzLmggKi87IH07CisJCTQxRDEyOUQyMUYzRDBGMTIwMEQx
NUU0NyAvKiBDYWNoZVN0b3JhZ2VSZWNvcmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDEyOUNBMUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3Jh
Z2VSZWNvcmQuaCAqLzsgfTsKKwkJNDFEMTI5RDMxRjNEMEYxNjAwRDE1RTQ3IC8qIENhY2hlU3Rv
cmFnZUNvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxRDEyOUNDMUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDFE
MTI5RDUxRjNEMEY2OTAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVByb3ZpZGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQxMjlENDFGM0QwRjY2MDBE
MTVFNDcgLyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0MUQxMjlEQjFGM0QxNDM4MDBEMTVFNDcgLyogRmV0
Y2hIZWFkZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MUY1NEY4MzFDNTBDNEY2MDAzMzg0ODggLyogRmV0Y2hIZWFkZXJzLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDFERUZDQjUxRTU2QzFCRDAw
MEQ5RTVGIC8qIEpTRE9NTWFwTGlrZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MURFRkNCMzFFNTZDMUI5MDAwRDlFNUYgLyogSlNET01NYXBMaWtl
LmNwcCAqLzsgfTsKIAkJNDFERUZDQjYxRTU2QzFCRDAwMEQ5RTVGIC8qIEpTRE9NTWFwTGlrZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFERUZDQjQx
RTU2QzFCOTAwMEQ5RTVGIC8qIEpTRE9NTWFwTGlrZS5oICovOyB9OwogCQk0MUUxQjFEMDBGRjU5
ODY5MDA1NzZCM0IgLyogQWJzdHJhY3RXb3JrZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFFMUIxQ0EwRkY1OTg2OTAwNTc2QjNCIC8qIEFic3Ry
YWN0V29ya2VyLmNwcCAqLzsgfTsKQEAgLTk0MzYsNiArOTQ0NCwxMSBAQAogCQk0MUNGOEJFNjFE
NDYyMjJDMDA3MDdEQzkgLyogRmV0Y2hJbnRlcm5hbHMuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmphdmFzY3JpcHQ7IHBhdGggPSBGZXRjaEludGVybmFscy5qczsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDFEMDE1QzgwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRUeXBlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQxRDAxNUM5MEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlw
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb250ZW50VHlwZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRDEyOUM5MUYzRDBFRTMwMEQxNUU0
NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk0MUQxMjlDQTFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUmVj
b3JkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlU3RvcmFnZVJlY29y
ZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUQxMjlDQjFGM0QwRUUzMDBEMTVF
NDcgLyogQ2FjaGVTdG9yYWdlLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBw
YXRoID0gQ2FjaGVTdG9yYWdlLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUQx
MjlDQzFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRDEyOUQ0MUYzRDBGNjYwMEQxNUU0NyAvKiBDYWNo
ZVN0b3JhZ2VQcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNo
ZVN0b3JhZ2VQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUQ1MUJC
MjFFNEUyRTgxMDAxMzFBNUIgLyogTGliV2ViUlRDQXVkaW9Gb3JtYXQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRDQXVkaW9Gb3JtYXQuaDsgcGF0aCA9IGxpYndl
YnJ0Yy9MaWJXZWJSVENBdWRpb0Zvcm1hdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MURFRkNCMjFFNTZDMUI5MDAwRDlFNUYgLyogSlNET01CaW5kaW5nSW50ZXJuYWxzLmpzICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gSlNET01CaW5kaW5nSW50ZXJu
YWxzLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MURFRkNCMzFFNTZDMUI5MDAw
RDlFNUYgLyogSlNET01NYXBMaWtlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTRE9NTWFwTGlrZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
NzYyMCw2ICsxNzYzMywxMCBAQAogCQkJCTQxMzgwQzIxMUYzNDM2OEQwMDE1NUZEQSAvKiBDYWNo
ZVN0b3JhZ2UuY3BwICovLAogCQkJCTQxMzgwQzIyMUYzNDM2OTAwMDE1NUZEQSAvKiBDYWNoZVN0
b3JhZ2UuaCAqLywKIAkJCQk0MTM4MEMyNDFGMzQzNjk3MDAxNTVGREEgLyogQ2FjaGVTdG9yYWdl
LmlkbCAqLywKKwkJCQk0MUQxMjlDQjFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlLmpz
ICovLAorCQkJCTQxRDEyOUM5MUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uLmNwcCAqLywKKwkJCQk0MUQxMjlDQzFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbi5oICovLAorCQkJCTQxRDEyOUNBMUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0
b3JhZ2VSZWNvcmQuaCAqLywKIAkJCQk0MUZCMjc4RTFGMzRDMjgyMDA3OTU0ODcgLyogRE9NV2lu
ZG93Q2FjaGVzLmNwcCAqLywKIAkJCQk0MUZCMjc4QzFGMzRDMjgyMDA3OTU0ODcgLyogRE9NV2lu
ZG93Q2FjaGVzLmggKi8sCiAJCQkJNDEzODBDMkIxRjM0M0UyRjAwMTU1RkRBIC8qIERPTVdpbmRv
d0NhY2hlcy5pZGwgKi8sCkBAIC0xOTE4OSw2ICsxOTIwNiw3IEBACiAJCQkJQkMxMjRFRTYwQzI2
NDFDRDAwOUUyMzQ5IC8qIEJhclByb3AuaWRsICovLAogCQkJCTQ2MEJCNjEzMUQwQTFCRUMwMDIy
MTgxMiAvKiBCYXNlNjRVdGlsaXRpZXMuY3BwICovLAogCQkJCTQ2MEJCNjE0MUQwQTFCRUMwMDIy
MTgxMiAvKiBCYXNlNjRVdGlsaXRpZXMuaCAqLywKKwkJCQk0MUQxMjlENDFGM0QwRjY2MDBEMTVF
NDcgLyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAqLywKIAkJCQkwNzJDQTg2MDE2Q0I0REMzMDA4
QUUxMzEgLyogQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAgKi8sCiAJCQkJMDc5RDA4NjcxNjJG
MjBFODAwREI4NjU4IC8qIENhcHRpb25Vc2VyUHJlZmVyZW5jZXMuaCAqLywKIAkJCQkwNzlEMDg2
QTE2MkYyMUY5MDBEQjg2NTggLyogQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwICov
LApAQCAtMjc5NjksNiArMjc5ODcsNyBAQAogCQkJCTg0ODJCNzUyMTE5OENCNkIwMEJGQjAwNSAv
KiBKU0hhc2hDaGFuZ2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM5NEQxNEYwQzI3NUM2
ODAwNkJDNjE3IC8qIEpTSGlzdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTc5NTdDQjcxRTk3
MkM3ODAwODA3MkFCIC8qIEpTSGtkZlBhcmFtcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5
REIxRjNEMTQzODAwRDE1RTQ3IC8qIEZldGNoSGVhZGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTdFMjMzNjcxRENBQjIxQzAwRjI4RDAxIC8qIEpTSG1hY0tleVBhcmFtcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkM5N0U0MTMxMDkxNTRGQTAwMTBEMzYxIC8qIEpTSFRNTEFsbENvbGxlY3Rpb24u
aCBpbiBIZWFkZXJzICovLAogCQkJCTFBNEEyREYwMEExQjg1MkEwMEM4MDdGOCAvKiBKU0hUTUxB
bmNob3JFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI4MDMwLDYgKzI4MDQ5LDcgQEAKIAkJ
CQkxQUUyQUJBQjBBMUNFOTA1MDBCNDJCMjUgLyogSlNIVE1MUHJlRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTQyMjZFNUMxMTYzRDY5NTAwOEI4Mzk3IC8qIEpTSFRNTFByb2dyZXNzRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFMkFFQzgwQTFEMjk3QjAwQjQyQjI1IC8qIEpT
SFRNTFF1b3RlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5RDAxRjNEMEYwNTAw
RDE1RTQ3IC8qIENhY2hlUXVlcnlPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUUyQUJB
RDBBMUNFOTA1MDBCNDJCMjUgLyogSlNIVE1MU2NyaXB0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTFFNkVFQTgwQjYyOERCMzAwNUYyRjcwIC8qIEpTSFRNTFNlbGVjdEVsZW1lbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTlCNjlEM0I5MUI5OTEwMDcwMEUzNTEyQiAvKiBKU0hUTUxTbG90
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yOTEzMiw2ICsyOTE1Miw3IEBACiAJCQkJNDM2
NzA4QzcxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNDM2NzA4QzkxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFJlbmRlclNWR0ltYWdl
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwODU0QjAxNTEyNTVFNEU2MDBCOUNERDAgLyogUmVuZGVy
U1ZHSW5saW5lLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUQxMjlDRTFGM0QwRUY2MDBEMTVFNDcg
LyogV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4NTRCMDE3
MTI1NUU0RTYwMEI5Q0REMCAvKiBSZW5kZXJTVkdJbmxpbmVUZXh0LmggaW4gSGVhZGVycyAqLywK
IAkJCQk0MzY3MDhDQjEyRDlDQTRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHTW9kZWxPYmplY3QuaCBp
biBIZWFkZXJzICovLAogCQkJCUFEREYxQUQ3MTI1N0NEOUEwMDAzQTc1OSAvKiBSZW5kZXJTVkdQ
YXRoLmggaW4gSGVhZGVycyAqLywKQEAgLTI5NDAyLDYgKzI5NDIzLDcgQEAKIAkJCQk1RDhDNERD
MDE0MjgyMjJDMDAyNkNFNzIgLyogU2xlZXBEaXNhYmxlckNvY29hLmggaW4gSGVhZGVycyAqLywK
IAkJCQk0MTUwRjlGMTEyQjZFMEU3MDAwOEM4NjAgLyogU2xpZGVyVGh1bWJFbGVtZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQk5QjUzMkVBNDFCQTkyODU3MDAzOEE4MjcgLyogU2xvdEFzc2lnbm1l
bnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxRDEyOUQzMUYzRDBGMTYwMEQxNUU0NyAvKiBDYWNo
ZVN0b3JhZ2VDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk0QjZGQTZGNDBDMzlFNDhD
MDAwODcwMTEgLyogU21hcnRSZXBsYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNEFGRDAwQzBE
QUYzMzU0MDBGNUY1NUMgLyogU01JTFRpbWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0QUZEMDBF
MERBRjMzNTUwMEY1RjU1QyAvKiBTTUlMVGltZUNvbnRhaW5lci5oIGluIEhlYWRlcnMgKi8sCkBA
IC0yOTY3OCw2ICsyOTcwMCw3IEBACiAJCQkJODQxOUQyQTkxMjBEOTJEMDAwMTQxRjhGIC8qIFNW
R1BhdGhCeXRlU3RyZWFtQnVpbGRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQxOUQyQUQxMjBE
OTJGQzAwMTQxRjhGIC8qIFNWR1BhdGhCeXRlU3RyZWFtU291cmNlLmggaW4gSGVhZGVycyAqLywK
IAkJCQk4NDc2QzlFQzExREY2QTI5MDA1NTVCMDIgLyogU1ZHUGF0aENvbnN1bWVyLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk0MUQxMjlENTFGM0QwRjY5MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUHJv
dmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTcxNTM3QTAxMTQ2QkQ5RDcwMDhCRDYxNSAvKiBT
VkdQYXRoRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBNTkwRDAwQkYyMjAwNzFCNzgy
IC8qIFNWR1BhdGhFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDc2QzlGMDExREY2QTU4
MDA1NTVCMDIgLyogU1ZHUGF0aFBhcnNlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yOTk4MSw2ICsz
MDAwNCw3IEBACiAJCQkJNDE5QkMyREYxNjg1MzI5OTAwRDY0RDZEIC8qIFZpc2l0ZWRMaW5rU3Rh
dGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQkE4MDAwMTg5NzM0MTIwMERDRTlENiAvKiBWaXNp
dGVkTGlua1N0b3JlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDQ2MTNCNjBDRDYzNDRFMDBGQURB
NzUgLyogVm9pZENhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUQxMjlEMTFGM0QwRjBF
MDBEMTVFNDcgLyogRE9NV2luZG93Q2FjaGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCRTIwNTA3
QTE4QTQ1ODZCMDA4MDY0N0UgLyogVlRUQ3VlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QUY5QjIw
MzE4Q0ZCMkRGMDBDNjRCRUYgLyogVlRUUmVnaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QUY5
QjIwNjE4Q0ZCMkRGMDBDNjRCRUYgLyogVlRUUmVnaW9uTGlzdC5oIGluIEhlYWRlcnMgKi8sCkBA
IC0zMDA4MCw2ICszMDEwNCw3IEBACiAJCQkJQTU4NDBFMjUxODdCOEFDMjAwODQzQjEwIC8qIFdl
YkluamVjdGVkU2NyaXB0SG9zdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU4NEZFMzAxODY0Q0I4
NDAwODQzQjEwIC8qIFdlYkluamVjdGVkU2NyaXB0TWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRjQ4MjIzMTExRTM4NjlCODAwNjZGQzc5IC8qIFdlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQu
aCBpbiBIZWFkZXJzICovLAorCQkJCTQxRDEyOUQyMUYzRDBGMTIwMEQxNUU0NyAvKiBDYWNoZVN0
b3JhZ2VSZWNvcmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxQzBGRjIyMEU0Q0VCNkUwMDdENkZF
NSAvKiBXZWJLaXRBbmltYXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNURGRUJBQjcx
ODU5MkI2RDAwQzc1QkVCIC8qIFdlYktpdEF2YWlsYWJpbGl0eS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNDk4MzkxNTkwRjFFNzc2OTAwQzIzNzgyIC8qIFdlYktpdENTU01hdHJpeC5oIGluIEhlYWRl
cnMgKi8sCkBAIC0zMDkyOCw2ICszMDk1Myw3IEBACiAJCQkJRTEyNUY4MzUxODIyRjE4QTAwRDg0
Q0Q5IC8qIENyeXB0b0tleUhNQUMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE5QUMzRjkxODI1
NjZGNzAwMzQ5NDI2IC8qIENyeXB0b0tleU1hYy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1N0U2
NTdFMDFFNzEzOTc4MDBGOTQxQ0EgLyogQ3J5cHRvS2V5UmF3LmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTQxRDEyOUNGMUYzRDBFRkUwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTU3RTIzMzZCMURDQzI2MjQwMEYyOEQwMSAvKiBDcnlwdG9L
ZXlSU0EuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE2NEZBQTUxODMxNUUxQTAwREI0RTYxIC8q
IENyeXB0b0tleVJTQU1hYy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTI1Rjg1OTE4MkMxQUE2
MDBEODRDRDkgLyogQ3J5cHRvS2V5U2VyaWFsaXphdGlvblJhdy5jcHAgaW4gU291cmNlcyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApp
bmRleCAwOWZlODFiYTQ3Y2E1M2M4Nzc1Y2I2NjI3YTc2ZDNiM2UyNjI3OWViLi43MjJlYTJlNDhl
MWYzM2UyMzYwYmRiNjAwNTZjMDAyZjljNGI0Mjc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0zOCw2ICszOCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhiYWNraW5nTWFwKSBcCiAgICAgbWFjcm8oYm9keSkg
XAogICAgIG1hY3JvKGJ5b2JSZXF1ZXN0KSBcCisgICAgbWFjcm8oY2FjaGVNYXApIFwKKyAgICBt
YWNybyhjYWNoZU5hbWUpIFwKICAgICBtYWNybyhjYW5jZWwpIFwKICAgICBtYWNybyhjbG9uZUFy
cmF5QnVmZmVyKSBcCiAgICAgbWFjcm8oY2xvbmVGb3JKUykgXApAQCAtNjMsNiArNjUsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8obG9jYWxTdHJlYW1zKSBcCiAgICAgbWFjcm8o
bWFrZVRoaXNUeXBlRXJyb3IpIFwKICAgICBtYWNybyhtYWtlR2V0dGVyVHlwZUVycm9yKSBcCisg
ICAgbWFjcm8obWF0Y2hBbGwpIFwKICAgICBtYWNybyhtZWRpYVN0cmVhbVRyYWNrQ29uc3RyYWlu
dHMpIFwKICAgICBtYWNybyhvcGVyYXRpb25zKSBcCiAgICAgbWFjcm8ob3duZXJSZWFkYWJsZVN0
cmVhbSkgXApAQCAtMTEzLDYgKzExNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNy
byh2aWV3KSBcCiAgICAgbWFjcm8od2ViUlRDTGVnYWN5QVBJRW5hYmxlZCkgXAogICAgIG1hY3Jv
KHdyaXRpbmcpIFwKKyAgICBtYWNybyhDYWNoZSkgXAorICAgIG1hY3JvKENhY2hlU3RvcmFnZSkg
XAogICAgIG1hY3JvKEhlYWRlcnMpIFwKICAgICBtYWNybyhNZWRpYVN0cmVhbSkgXAogICAgIG1h
Y3JvKE1lZGlhU3RyZWFtVHJhY2spIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JPdmVybGF5LmNwcAppbmRleCA2NmM3ZjA4ZjBmMjhiMDQ2YmI0YzM1ZThlOWJmMTlmYmRm
MmFiYzU1Li4yYTgxM2I2YTEyMGRmMzU4ZjA4YmQyNzE4Yzk2NTczNDMwMWRlZjQ5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCkBAIC0yOSw2ICsy
OSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yT3ZlcmxheS5o
IgogCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJEb2N1bWVu
dExvYWRlci5oIgogI2luY2x1ZGUgIkVkaXRvckNsaWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnQu
aCIKQEAgLTg2NSw3ICs4NjYsOCBAQCBQYWdlKiBJbnNwZWN0b3JPdmVybGF5OjpvdmVybGF5UGFn
ZSgpCiAgICAgUGFnZUNvbmZpZ3VyYXRpb24gcGFnZUNvbmZpZ3VyYXRpb24oCiAgICAgICAgIGNy
ZWF0ZUVtcHR5RWRpdG9yQ2xpZW50KCksCiAgICAgICAgIFNvY2tldFByb3ZpZGVyOjpjcmVhdGUo
KSwKLSAgICAgICAgbWFrZVVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4oKQorICAgICAgICBt
YWtlVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPigpLAorICAgICAgICBDYWNoZVN0b3JhZ2VQ
cm92aWRlcjo6Y3JlYXRlKCkKICAgICApOwogICAgIGZpbGxXaXRoRW1wdHlDbGllbnRzKHBhZ2VD
b25maWd1cmF0aW9uKTsKICAgICBtX292ZXJsYXlQYWdlID0gc3RkOjptYWtlX3VuaXF1ZTxQYWdl
PihXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRmV0Y2hPcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRmV0Y2hPcHRp
b25zLmgKaW5kZXggN2UxYTgzNzM4ZDIzOTdmMjRkNzI0Y2QwMTI2NjY3ZmE2MDRlMThiOC4uODFk
N2ZjMzBlZDRkZTgzMDkzNGQ1MjYyNzE4OTAzODc5MmIxNGM5ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ZldGNoT3B0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GZXRjaE9wdGlvbnMuaApAQCAtMzQsNiArMzQsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBzdHJ1Y3QgRmV0Y2hPcHRpb25zIHsKKyAgICBGZXRjaE9wdGlvbnMgaXNvbGF0ZWRDb3B5KCkg
Y29uc3QgeyByZXR1cm4gRmV0Y2hPcHRpb25zIHsgdHlwZSwgZGVzdGluYXRpb24sIG1vZGUsIGNy
ZWRlbnRpYWxzLCBjYWNoZSwgcmVkaXJlY3QsIHJlZmVycmVyUG9saWN5LCBpbnRlZ3JpdHkuaXNv
bGF0ZWRDb3B5KCksIGtlZXBBbGl2ZSB9OyB9CisKICAgICBlbnVtIGNsYXNzIFR5cGUgeyBFbXB0
eVN0cmluZywgQXVkaW8sIEZvbnQsIEltYWdlLCBTY3JpcHQsIFN0eWxlLCBUcmFjaywgVmlkZW8g
fTsKICAgICBUeXBlIHR5cGUgeyBUeXBlOjpFbXB0eVN0cmluZyB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NhY2hlU3RvcmFnZVByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NhY2hlU3RvcmFnZVByb3ZpZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDBiZjFkYzVjZDFmOGZi
Y2M2NjFjZjFkNmMwMGE0YThjYzJjODhhYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaApAQCAtMCwwICsxLDQxIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgi
CisjaW5jbHVkZSAiU2Vzc2lvbklELmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBXRUJDT1JFX0VYUE9SVCBDYWNoZVN0b3JhZ2VQ
cm92aWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPENhY2hlU3RvcmFnZVByb3ZpZGVyPiB7CitwdWJs
aWM6CisgICAgc3RhdGljIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4gY3JlYXRlKCkgeyByZXR1
cm4gYWRvcHRSZWYoKm5ldyBDYWNoZVN0b3JhZ2VQcm92aWRlcik7IH0KKyAgICB2aXJ0dWFsIFJl
ZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiBjcmVhdGVDYWNoZVN0b3JhZ2VDb25uZWN0aW9uKFNl
c3Npb25JRCkgeyByZXR1cm4gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6Y3JlYXRlKCk7IH0KKyAg
ICB2aXJ0dWFsIH5DYWNoZVN0b3JhZ2VQcm92aWRlcigpIHsgfTsKK307CisKK30KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuY3BwCmluZGV4IGMyNjk4N2Y4ZGNiMmU5ZTk2MDZkYWE5NzJkMmNmY2M3YmVjYzVmYjcuLjcw
NDFmMWNmMjk1OTU0ZWFmZjA0ZDZiOGE2MTY0ZjhmYWFjMGQ2NzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkJhY2tGb3J3YXJkQ2xpZW50LmgiCiAjaW5j
bHVkZSAiQmFja0ZvcndhcmRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiQ1NTQW5pbWF0aW9uQ29u
dHJvbGxlci5oIgorI2luY2x1ZGUgIkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAi
Q2hyb21lLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiQ29uc3RhbnRQ
cm9wZXJ0eU1hcC5oIgpAQCAtMjIyLDYgKzIyMyw3IEBAIFBhZ2U6OlBhZ2UoUGFnZUNvbmZpZ3Vy
YXRpb24mJiBwYWdlQ29uZmlndXJhdGlvbikKICNlbmRpZgogICAgICwgbV9zb2NrZXRQcm92aWRl
cihXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLnNvY2tldFByb3ZpZGVyKSkKICAgICAsIG1fYXBw
bGljYXRpb25DYWNoZVN0b3JhZ2UoKldURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uYXBwbGljYXRp
b25DYWNoZVN0b3JhZ2UpKQorICAgICwgbV9jYWNoZVN0b3JhZ2VQcm92aWRlcihXVEZNb3ZlKHBh
Z2VDb25maWd1cmF0aW9uLmNhY2hlU3RvcmFnZVByb3ZpZGVyKSkKICAgICAsIG1fZGF0YWJhc2VQ
cm92aWRlcigqV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi5kYXRhYmFzZVByb3ZpZGVyKSkKICAg
ICAsIG1fcGx1Z2luSW5mb1Byb3ZpZGVyKCpXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLnBsdWdp
bkluZm9Qcm92aWRlcikpCiAgICAgLCBtX3N0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcigqV1RGTW92
ZShwYWdlQ29uZmlndXJhdGlvbi5zdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aAppbmRleCA5MDlmMzc5MDJkMzNlMWQwZWYzZTVhOWI0ZjY0YmFiNGRmYTVmZjBiLi41ZmM4OWNk
YzU5MmM5NDllYjE4ZDljZWExN2Y2MWZiY2QzNTUxMjAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtNzcs
NiArNzcsNyBAQCBjbGFzcyBBbHRlcm5hdGl2ZVRleHRDbGllbnQ7CiBjbGFzcyBBcHBsaWNhdGlv
bkNhY2hlU3RvcmFnZTsKIGNsYXNzIEJhY2tGb3J3YXJkQ29udHJvbGxlcjsKIGNsYXNzIEJhY2tG
b3J3YXJkQ2xpZW50OworY2xhc3MgQ2FjaGVTdG9yYWdlUHJvdmlkZXI7CiBjbGFzcyBDaHJvbWU7
CiBjbGFzcyBDaHJvbWVDbGllbnQ7CiBjbGFzcyBDb2xvcjsKQEAgLTUxMCw2ICs1MTEsNyBAQCBw
dWJsaWM6CiAKICAgICBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSYgYXBwbGljYXRpb25DYWNoZVN0
b3JhZ2UoKSB7IHJldHVybiBtX2FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOyB9CiAgICAgRGF0YWJh
c2VQcm92aWRlciYgZGF0YWJhc2VQcm92aWRlcigpIHsgcmV0dXJuIG1fZGF0YWJhc2VQcm92aWRl
cjsgfQorICAgIENhY2hlU3RvcmFnZVByb3ZpZGVyJiBjYWNoZVN0b3JhZ2VQcm92aWRlcigpIHsg
cmV0dXJuIG1fY2FjaGVTdG9yYWdlUHJvdmlkZXI7IH0KICAgICBTb2NrZXRQcm92aWRlciYgc29j
a2V0UHJvdmlkZXIoKSB7IHJldHVybiBtX3NvY2tldFByb3ZpZGVyOyB9CiAKICAgICBTdG9yYWdl
TmFtZXNwYWNlUHJvdmlkZXImIHN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcigpIHsgcmV0dXJuIG1f
c3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyLmdldCgpOyB9CkBAIC03ODQsNiArNzg2LDcgQEAgcHJp
dmF0ZToKIAogICAgIFJlZjxTb2NrZXRQcm92aWRlcj4gbV9zb2NrZXRQcm92aWRlcjsKICAgICBS
ZWY8QXBwbGljYXRpb25DYWNoZVN0b3JhZ2U+IG1fYXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7Cisg
ICAgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyOwogICAg
IFJlZjxEYXRhYmFzZVByb3ZpZGVyPiBtX2RhdGFiYXNlUHJvdmlkZXI7CiAgICAgUmVmPFBsdWdp
bkluZm9Qcm92aWRlcj4gbV9wbHVnaW5JbmZvUHJvdmlkZXI7CiAgICAgUmVmPFN0b3JhZ2VOYW1l
c3BhY2VQcm92aWRlcj4gbV9zdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCmluZGV4IDExMjNkZDZkNDA1YTk0ODEzYTRhNzg3
NDJjN2Q2NmQyY2YxYmVlN2MuLmYxYjgyN2RjZmJhYWU2ZTZjOGRjY2FkOWQxOGQ0OTM3OWRjOTUx
YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCkBAIC0yOCw2
ICsyOCw3IEBACiAKICNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oIgogI2luY2x1
ZGUgIkJhY2tGb3J3YXJkQ2xpZW50LmgiCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlUHJvdmlkZXIu
aCIKICNpbmNsdWRlICJEYXRhYmFzZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiRGlhZ25vc3RpY0xv
Z2dpbmdDbGllbnQuaCIKICNpbmNsdWRlICJFZGl0b3JDbGllbnQuaCIKQEAgLTQzLDEwICs0NCwx
MSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhZ2VDb25maWd1cmF0aW9uOjpQYWdlQ29u
ZmlndXJhdGlvbihVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmIGVkaXRvckNsaWVudCwgUmVmPFNv
Y2tldFByb3ZpZGVyPiYmIHNvY2tldFByb3ZpZGVyLCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlk
ZXI+JiYgbGliV2ViUlRDUHJvdmlkZXIpCitQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3Vy
YXRpb24oVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiBlZGl0b3JDbGllbnQsIFJlZjxTb2NrZXRQ
cm92aWRlcj4mJiBzb2NrZXRQcm92aWRlciwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYm
IGxpYldlYlJUQ1Byb3ZpZGVyLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+JiYgY2FjaGVTdG9y
YWdlUHJvdmlkZXIpCiAgICAgOiBlZGl0b3JDbGllbnQoV1RGTW92ZShlZGl0b3JDbGllbnQpKQog
ICAgICwgc29ja2V0UHJvdmlkZXIoV1RGTW92ZShzb2NrZXRQcm92aWRlcikpCiAgICAgLCBsaWJX
ZWJSVENQcm92aWRlcihXVEZNb3ZlKGxpYldlYlJUQ1Byb3ZpZGVyKSkKKyAgICAsIGNhY2hlU3Rv
cmFnZVByb3ZpZGVyKFdURk1vdmUoY2FjaGVTdG9yYWdlUHJvdmlkZXIpKQogewogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKaW5kZXggZjUzYTEyYzM4N2VhZmI0MDRm
MmEwNjY2MDI3NTllYzlhN2ZjMGY1Zi4uYTg2MmQ0MzAyZTAzNjQ2NGY5MTBhNTdiMDFkNzdiNjRj
YzZlZjQyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaApAQCAtMzQs
NiArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBbHRlcm5hdGl2ZVRleHRDbGll
bnQ7CiBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTsKIGNsYXNzIEJhY2tGb3J3YXJkQ2xp
ZW50OworY2xhc3MgQ2FjaGVTdG9yYWdlUHJvdmlkZXI7CiBjbGFzcyBDaHJvbWVDbGllbnQ7CiBj
bGFzcyBDb250ZXh0TWVudUNsaWVudDsKIGNsYXNzIERhdGFiYXNlUHJvdmlkZXI7CkBAIC01OCw3
ICs1OSw3IEBAIGNsYXNzIFdlYkdMU3RhdGVUcmFja2VyOwogY2xhc3MgUGFnZUNvbmZpZ3VyYXRp
b24gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDb25maWd1cmF0aW9uKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgV0VCQ09SRV9FWFBPUlQgUGFnZUNvbmZp
Z3VyYXRpb24oVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiwgUmVmPFNvY2tldFByb3ZpZGVyPiYm
LCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYpOworICAgIFdFQkNPUkVfRVhQT1JUIFBh
Z2VDb25maWd1cmF0aW9uKFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYsIFJlZjxTb2NrZXRQcm92
aWRlcj4mJiwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmLCBSZWY8Q2FjaGVTdG9yYWdl
UHJvdmlkZXI+JiYpOwogICAgIFdFQkNPUkVfRVhQT1JUIH5QYWdlQ29uZmlndXJhdGlvbigpOwog
CiAgICAgQWx0ZXJuYXRpdmVUZXh0Q2xpZW50KiBhbHRlcm5hdGl2ZVRleHRDbGllbnQgeyBudWxs
cHRyIH07CkBAIC04Nyw2ICs4OCw3IEBAIHB1YmxpYzoKIAogICAgIFJlZlB0cjxBcHBsaWNhdGlv
bkNhY2hlU3RvcmFnZT4gYXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7CiAgICAgUmVmUHRyPERhdGFi
YXNlUHJvdmlkZXI+IGRhdGFiYXNlUHJvdmlkZXI7CisgICAgUmVmPENhY2hlU3RvcmFnZVByb3Zp
ZGVyPiBjYWNoZVN0b3JhZ2VQcm92aWRlcjsKICAgICBSZWZQdHI8UGx1Z2luSW5mb1Byb3ZpZGVy
PiBwbHVnaW5JbmZvUHJvdmlkZXI7CiAgICAgUmVmUHRyPFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRl
cj4gc3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyOwogICAgIFJlZlB0cjxVc2VyQ29udGVudFByb3Zp
ZGVyPiB1c2VyQ29udGVudFByb3ZpZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJ
bWFnZS5jcHAKaW5kZXggNzg2ZThmN2E3YmNhNjA4MDlhNTU1YjY1ZjgzNWMyYTUwYTAwODJlOC4u
ODI1OWIyZjhlMjg2NjNiMjE3Y2RlYTA0YzJmOGVjMzgzN2NkNzhmNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiU1ZHSW1hZ2UuaCIKIAorI2luY2x1ZGUgIkNhY2hlU3RvcmFn
ZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiQ2hyb21lLmgiCiAjaW5jbHVkZSAiQ29tbW9uVk0uaCIK
ICNpbmNsdWRlICJET01XaW5kb3cuaCIKQEAgLTQyOSw3ICs0MzAsOCBAQCBFbmNvZGVkRGF0YVN0
YXR1cyBTVkdJbWFnZTo6ZGF0YUNoYW5nZWQoYm9vbCBhbGxEYXRhUmVjZWl2ZWQpCiAgICAgICAg
IFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uKAogICAgICAgICAgICAgY3JlYXRl
RW1wdHlFZGl0b3JDbGllbnQoKSwKICAgICAgICAgICAgIFNvY2tldFByb3ZpZGVyOjpjcmVhdGUo
KSwKLSAgICAgICAgICAgIG1ha2VVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+KCkKKyAgICAg
ICAgICAgIG1ha2VVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+KCksCisgICAgICAgICAgICBD
YWNoZVN0b3JhZ2VQcm92aWRlcjo6Y3JlYXRlKCkKICAgICAgICAgKTsKICAgICAgICAgZmlsbFdp
dGhFbXB0eUNsaWVudHMocGFnZUNvbmZpZ3VyYXRpb24pOwogICAgICAgICBtX2Nocm9tZUNsaWVu
dCA9IHN0ZDo6bWFrZV91bmlxdWU8U1ZHSW1hZ2VDaHJvbWVDbGllbnQ+KHRoaXMpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNGUzYzIz
NGU4NWZiNzVkMmUyMGU3MWVmMzFlYWYyNDVkZDY1ZWQxMS4uNDkyYTI3OTFkYjZiYTVjNmJhYzE5
N2NjMzk2YWFkNTdiNDVkZGQxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC04OTEsNiArODkxLDcgQEAKIAkJNDEzMDc1QjIxREU4NUY1
ODAwMzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldEZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUE2MURFODVFRTcwMDM5RUM2OSAvKiBM
aWJXZWJSVENTb2NrZXRGYWN0b3J5LmggKi87IH07CiAJCTQxMzA3NUIzMURFODVGNTgwMDM5RUM2
OSAvKiBMaWJXZWJSVENQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVBNzFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDUHJv
dmlkZXIuY3BwICovOyB9OwogCQk0MTMwNzVCNDFERTg1RjU4MDAzOUVDNjkgLyogTGliV2ViUlRD
UHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxMzA3NUE4MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5oICovOyB9Owor
CQk0MUQxMjlEQTFGM0QxMDE4MDBEMTVFNDcgLyogV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDEyOUQ5MUYz
RDEwMTQwMEQxNUU0NyAvKiBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oICovOyB9OwogCQk0MURD
NDU5NjFFM0Q2RTIyMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MURDNDU5NDFFM0Q2RTFFMDBCMTFG
NTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmggKi87IH07CiAJCTQxREM0NTk3MUUzRDZFMjIwMEIx
MUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEQzQ1OTUxRTNENkUxRTAwQjExRjUxIC8qIE5ldHdvcmtS
VENQcm92aWRlci5jcHAgKi87IH07CiAJCTQxREM0NTlCMUUzREJCMjgwMEIxMUY1MSAvKiBMaWJX
ZWJSVENTb2NrZXRDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDFEQzQ1OTkxRTNEQkIyNDAwQjExRjUxIC8qIExpYldlYlJUQ1NvY2tldENs
aWVudC5jcHAgKi87IH07CkBAIC0zMTQwLDYgKzMxNDEsNyBAQAogCQk0MTMwNzVBNzFERTg1RUU3
MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBsaW5lRW5kaW5nID0gMDsgbmFtZSA9IExpYldlYlJUQ1Byb3ZpZGVyLmNwcDsgcGF0
aCA9IE5ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5j
cHA7IH07CiAJCTQxMzA3NUE4MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0gTGliV2Vi
UlRDUHJvdmlkZXIuaDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmll
ciA9IHhjb2RlLmxhbmcub2JqY3BwOyB9OwogCQk0MUFDODY4MTFFMDQyRTUzMDAzMDMwNzQgLyog
V2ViUlRDUmVzb2x2ZXIubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBsaW5lRW5kaW5nID0g
MDsgbmFtZSA9IFdlYlJUQ1Jlc29sdmVyLm1lc3NhZ2VzLmluOyBwYXRoID0gTmV0d29yay93ZWJy
dGMvV2ViUlRDUmVzb2x2ZXIubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhj
TGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9ICI8bm9uZT4iOyB9OworCQk0MUQxMjlE
OTFGM0QxMDE0MDBEMTVFNDcgLyogV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDFEQzQ1OTQxRTNENkUxRTAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3JrUlRDUHJvdmlkZXIuaDsgcGF0
aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFEQzQ1OTUxRTNENkUxRTAwQjExRjUxIC8qIE5ldHdvcmtS
VENQcm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBOZXR3
b3JrUlRDUHJvdmlkZXIuY3BwOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtS
VENQcm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxREM0NTk4MUUz
RDZFRDYwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW4gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBuYW1lID0gTmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluOyBwYXRoID0gTmV0
d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5tZXNzYWdlcy5pbjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTU5MDgsNiArNTkxMCwxNCBAQAogCQkJbmFtZSA9IHdl
YnJ0YzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTQxRDEyOUQ4MUYzRDEw
MTQwMEQxNUU0NyAvKiBDYWNoZSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRy
ZW4gPSAoCisJCQkJNDFEMTI5RDkxRjNEMTAxNDAwRDE1RTQ3IC8qIFdlYkNhY2hlU3RvcmFnZVBy
b3ZpZGVyLmggKi8sCisJCQkpOworCQkJcGF0aCA9IENhY2hlOworCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKKwkJfTsKIAkJNDQ1MEFFQkUxREMzRkFBQzAwOTk0M0YyIC8qIGNvY29hICovID0g
ewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTY1ODYsNiArNjU5Niw3
IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJCQkxQUIxRjc3MDFEMUIyRjVEMDA3QzlCRDEgLyogQXBw
bGVQYXkgKi8sCiAJCQkJMUMwQTE5NDMxQzhGRjFBODAwRkUwRUJCIC8qIEF1dG9tYXRpb24gKi8s
CisJCQkJNDFEMTI5RDgxRjNEMTAxNDAwRDE1RTQ3IC8qIENhY2hlICovLAogCQkJCTdDNkU3MEY4
MThCMkQ0N0UwMEYyNEUyRSAvKiBjb2NvYSAqLywKIAkJCQkzMzA5MzQ0QjEzMTVCOTNBMDA5N0E3
QkMgLyogQ29va2llcyAqLywKIAkJCQk1MTJBOTc1NDE4MERGOTI3MDAzOUExNDkgLyogRGF0YWJh
c2VzICovLApAQCAtODY2Myw2ICs4Njc0LDcgQEAKIAkJCQkyRDEyNUM1RTE4NTdFQTA1MDAzQkEz
Q0IgLyogVmlld0dlc3R1cmVDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDFCNUQ1
RTE4NTg2OUM4MDA2QzY1OTYgLyogVmlld0dlc3R1cmVDb250cm9sbGVyTWVzc2FnZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTJEODE5QkEyMTg2MjgwMEUwMDFGMDNEMSAvKiBWaWV3R2VzdHVyZUdl
b21ldHJ5Q29sbGVjdG9yTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxRDEyOURBMUYz
RDEwMTgwMEQxNUU0NyAvKiBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMkQ2Q0QxMTkxODkwNThBNTAwRTVBNEEwIC8qIFZpZXdTbmFwc2hvdFN0b3JlLmggaW4g
SGVhZGVycyAqLywKIAkJCQkyNjg0MDU1MzE4Qjg2RUQ2MDAyMkMzOEIgLyogVmlld1VwZGF0ZURp
c3BhdGNoZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjY4NDA1NDQxOEI4NUE2MzAw
MjJDMzhCIC8qIFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uaCBpbiBIZWFkZXJzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0NhY2hlL1dlYkNhY2hlU3RvcmFn
ZVByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQ2FjaGUvV2ViQ2FjaGVTdG9y
YWdlUHJvdmlkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNDIyMTZhMjA4NmNlNjg4MGUwZTM4YzE2ZGE5ODVi
ODdlMDY2N2ZhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0Nh
Y2hlL1dlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8V2ViQ29yZS9DYWNoZVN0b3JhZ2VQcm92aWRl
ci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViQ2FjaGVTdG9yYWdlUHJvdmlk
ZXIgZmluYWwgOiBwdWJsaWMgV2ViQ29yZTo6Q2FjaGVTdG9yYWdlUHJvdmlkZXIgeworcHVibGlj
OgorICAgIHN0YXRpYyBSZWY8V2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXI+IGNyZWF0ZSgpIHsgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIpOyB9Cit9OworCit9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDI1Yzc1
M2ZhOWE5NzRiZmE5ZmVhZDM2ZmRjMzg5YTBiZDljMGExMmMuLjA0ZmM2MTUzM2Q5MWEyMGViOGRh
ZTc1MTI2ZDc5MzNmMDgyOGNiYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCkBAIC02OCw2ICs2OCw3IEBACiAjaW5jbHVkZSAiV2ViQWx0ZXJuYXRp
dmVUZXh0Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViQmFja0ZvcndhcmRMaXN0SXRlbS5oIgogI2lu
Y2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmgiCisjaW5jbHVkZSAiV2ViQ2FjaGVTdG9y
YWdlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJXZWJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRlICJX
ZWJDb2xvckNob29zZXIuaCIKICNpbmNsdWRlICJXZWJDb250ZXh0TWVudS5oIgpAQCAtMzcxLDcg
KzM3Miw4IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBXZWJQYWdlQ3JlYXRp
b25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKICAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29u
ZmlndXJhdGlvbigKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJFZGl0b3JDbGllbnQ+KHRoaXMp
LAogICAgICAgICBXZWJTb2NrZXRQcm92aWRlcjo6Y3JlYXRlKCksCi0gICAgICAgIG1ha2VVbmlx
dWVSZWY8V2ViS2l0OjpMaWJXZWJSVENQcm92aWRlcj4oKQorICAgICAgICBtYWtlVW5pcXVlUmVm
PFdlYktpdDo6TGliV2ViUlRDUHJvdmlkZXI+KCksCisgICAgICAgIFdlYlByb2Nlc3M6OnNpbmds
ZXRvbigpLmNhY2hlU3RvcmFnZVByb3ZpZGVyKCkKICAgICApOwogICAgIHBhZ2VDb25maWd1cmF0
aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQoKnRoaXMpOwogI2lmIEVOQUJM
RShDT05URVhUX01FTlVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmlu
ZGV4IDlkMTZiNTA3NzgyNTI0MGE4NWM0NWRjZDRjOThjMDFiNTJhOTljNWIuLmQwNzQ0YzEzMTQ0
MDZjNDY3NTI4OGE5MjdmYWExYzAyODRkMzM1MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5jcHAKQEAgLTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlICJTdGF0aXN0aWNzRGF0
YS5oIgogI2luY2x1ZGUgIlVzZXJEYXRhLmgiCiAjaW5jbHVkZSAiV2ViQXV0b21hdGlvblNlc3Np
b25Qcm94eS5oIgorI2luY2x1ZGUgIldlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCiAjaW5jbHVk
ZSAiV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzLmgiCiAjaW5jbHVkZSAiV2ViQ29va2llTWFuYWdl
ci5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgpAQCAtMTU5LDYgKzE2MCw3
IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3MoKQogI2VuZGlmCiAgICAgLCBtX3dlYkluc3BlY3Rv
ckludGVycnVwdERpc3BhdGNoZXIoV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcjo6Y3Jl
YXRlKCkpCiAgICAgLCBtX3dlYkxvYWRlclN0cmF0ZWd5KCpuZXcgV2ViTG9hZGVyU3RyYXRlZ3kp
CisgICAgLCBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyKFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyOjpj
cmVhdGUoKSkKICAgICAsIG1fZG5zUHJlZmV0Y2hIeXN0ZXJlcmlzKFt0aGlzXShIeXN0ZXJlc2lz
U3RhdGUgc3RhdGUpIHsgaWYgKHN0YXRlID09IEh5c3RlcmVzaXNTdGF0ZTo6U3RvcHBlZCkgbV9k
bnNQcmVmZXRjaGVkSG9zdHMuY2xlYXIoKTsgfSkKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lO
X0FQSSkKICAgICAsIG1fcGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyKFBsdWdpblByb2Nl
c3NDb25uZWN0aW9uTWFuYWdlcjo6Y3JlYXRlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuaAppbmRleCBjZjJhYjgxM2IzNzkwMzczYjJkYTBmYTZmYWJmN2JhYzQ3YjJmNDk3Li4x
MjNjNGJiMTk4Y2FmNzBjZDk3NmY2OTU5OWY3Nzc5MGIxZDBiYjc0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTgwLDYgKzgwLDcgQEAgY2xhc3MgT2JqQ09iamVjdEdy
YXBoOwogY2xhc3MgVXNlckRhdGE7CiBjbGFzcyBXYXlsYW5kQ29tcG9zaXRvckRpc3BsYXk7CiBj
bGFzcyBXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5OworY2xhc3MgV2ViQ2FjaGVTdG9yYWdlUHJv
dmlkZXI7CiBjbGFzcyBXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M7CiBjbGFzcyBXZWJGcmFtZTsK
IGNsYXNzIFdlYkxvYWRlclN0cmF0ZWd5OwpAQCAtMjIyLDYgKzIyMyw4IEBAIHB1YmxpYzoKIAog
ICAgIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkqIGF1dG9tYXRpb25TZXNzaW9uUHJveHkoKSB7
IHJldHVybiBtX2F1dG9tYXRpb25TZXNzaW9uUHJveHkuZ2V0KCk7IH0KIAorICAgIFdlYkNhY2hl
U3RvcmFnZVByb3ZpZGVyJiBjYWNoZVN0b3JhZ2VQcm92aWRlcigpIHsgcmV0dXJuIG1fY2FjaGVT
dG9yYWdlUHJvdmlkZXIuZ2V0KCk7IH0KKwogcHJpdmF0ZToKICAgICBXZWJQcm9jZXNzKCk7CiAg
ICAgfldlYlByb2Nlc3MoKTsKQEAgLTM3NSw2ICszNzgsOCBAQCBwcml2YXRlOgogICAgIFJlZlB0
cjxOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24+IG1fbmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOwog
ICAgIFdlYkxvYWRlclN0cmF0ZWd5JiBtX3dlYkxvYWRlclN0cmF0ZWd5OwogCisgICAgUmVmPFdl
YkNhY2hlU3RvcmFnZVByb3ZpZGVyPiBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyOworCiAjaWYgVVNF
KExJQldFQlJUQykKICAgICBzdGQ6OnVuaXF1ZV9wdHI8TGliV2ViUlRDTmV0d29yaz4gbV9saWJX
ZWJSVENOZXR3b3JrOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0KaW5kZXggMWQ0OWI0OWY0NjgwOTMxYjllOWRkMDdiZmUwMTA4Mjg1MGNjMjJiZi4u
M2M1MmVmOTc1ZGY3MDYwNGRlMDBkYTUwYjljYjVlYWI3OGM5NmZkYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMTI0LDYgKzEyNCw3IEBACiAjaW1w
b3J0IDxXZWJDb3JlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9DU1NBbmltYXRpb25D
b250cm9sbGVyLmg+CisjaW1wb3J0IDxXZWJDb3JlL0NhY2hlU3RvcmFnZVByb3ZpZGVyLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL0Nocm9tZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Db2xvck1hYy5oPgog
I2ltcG9ydCA8V2ViQ29yZS9EYXRhYmFzZU1hbmFnZXIuaD4KQEAgLTE0MTMsNyArMTQxNCw4IEBA
IC0gKHZvaWQpX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTooTlNTdHJpbmcgKilm
cmFtZU5hbWUgZ3JvdXBOYW1lOihOU1N0CiAgICAgUGFnZUNvbmZpZ3VyYXRpb24gcGFnZUNvbmZp
Z3VyYXRpb24oCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViRWRpdG9yQ2xpZW50PihzZWxmKSwK
ICAgICAgICAgU29ja2V0UHJvdmlkZXI6OmNyZWF0ZSgpLAotICAgICAgICBtYWtlVW5pcXVlUmVm
PFdlYkNvcmU6OkxpYldlYlJUQ1Byb3ZpZGVyPigpCisgICAgICAgIG1ha2VVbmlxdWVSZWY8V2Vi
Q29yZTo6TGliV2ViUlRDUHJvdmlkZXI+KCksCisgICAgICAgIFdlYkNvcmU6OkNhY2hlU3RvcmFn
ZVByb3ZpZGVyOjpjcmVhdGUoKQogICAgICk7CiAjaWYgIVBMQVRGT1JNKElPUykKICAgICBwYWdl
Q29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50KHNlbGYpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDQ1N2QxMTRhMzM5ZTU0ZjRkOTlkNGJkYTljYjdiZjRjMWIwZmUwYTcuLjAwNTc3ODAz
NTkxZGI1YjRjYTAwYTZiMDMzZjk2YTNjYTUwNjllOTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAor
MjAxNy0wOC0xMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAg
W0NhY2hlIEFQSV0gQWRkaW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBD
YWNoZSBtZXRob2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzU0NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6IFNraXBwaW5nIGEgdGVzdCB0aGF0IHdvdWxkIHRpbWVv
dXQgb3RoZXJ3aXNlIGR1ZSB0byB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBsaW1pdGF0aW9u
cy4KKwogMjAxNy0wOC0xMCAgTWlndWVsIEdvbWV6ICA8bWFnb21lekBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQgR1RLKyBnYXJkZW5pbmcuIFVwZGF0ZSBleHBlY3RhdGlvbnMgb2Yg
c2V2ZXJhbCB0ZXN0cyBmYWlsaW5nIGF0IHIyMjA1MTYuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwppbmRleCBhOGJlMjZjZDZhYWNjZjU3MjE1M2Y4MzY2MWZmNDE5ZjNhOTI5NDJhLi4wOGIx
YmRmMjUyNmYyNGZlNDNjMDJhMjc3ODk5NmM0NGNhYjA0NGUxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNy0wOC0xMCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRkaW5nIGdlbmVyaWMg
c3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zZXJ2aWNld29ya2VyL2NyZWRlbnRpYWxzLmh0
dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
Y2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdl
L3dvcmtlci9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2Vy
L2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0OgorCiAyMDE3LTA4LTA5ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wb3J0IGJlYWNvbi9oZWFkZXJz
L2hlYWRlci1jb250ZW50LXR5cGUuaHRtbCBmcm9tIHVwc3RyZWFtIFdQVApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggZTZhZDJmMjU4MjdhZWI1MmJjNjM0MTE3Mzc2OTM5NzE1NTA3NmExOS4uNjlmYmY2
YzRhZWUxMDU2MTQxODQ0ODc1M2JhM2U5MWFjNTM2Mjk3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBA
IC0xMjEsNyArMTIxLDcgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc3R1Yi00LjYuMi1jYWNoZS5odG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zdHViLTQuNi4zLWNhY2hlLXN0b3JhZ2Uu
aHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvY2FjaGUtc3RvcmFnZSBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cgWyBQYXNzIEZhaWx1cmUg
XQotCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL2NvbW1vbi5odHRwcy5odG1sIFsgU2tpcCBdCiAKICMgdGV4dGFyZWEuYW5pbWF0
ZSBpcyBub3Qgc3VwcG9ydGVkCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtdWktMy9jYXJldC1jb2xvci0wMTguaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS9zZXJ2aWNld29ya2VyL2NyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jcmVkZW50aWFscy5odHRwcy1leHBlY3Rl
ZC50eHQKaW5kZXggMDc2MTY1MGRiYzQxZThiZDE1ZTY0ZTQ3ZTMwOGYyZGMzMmFiOWU1Yi4uMzhl
OTUyMzk3YzM0NjE5MjhmMWVmMWVkZjdhYmVlMzBjZTM4MTI3NyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS9zZXJ2aWNld29ya2VyL2NyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY3JlZGVudGlhbHMuaHR0cHMtZXhw
ZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIENhY2hlIEFQSSBtYXRjaGluZyBpbmNs
dWRlcyBjcmVkZW50aWFscyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUgQVBJ
IG1hdGNoaW5nIGluY2x1ZGVzIGNyZWRlbnRpYWxzIGFzc2VydF91bnJlYWNoZWQ6IHVucmVnaXN0
ZXIgc2hvdWxkIG5vdCBmYWlsOiBzZXJ2aWNlV29ya2VyLmdldFJlZ2lzdHJhdGlvbigpIGlzIG5v
dCB5ZXQgaW1wbGVtZW50ZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRw
cy1leHBlY3RlZC50eHQKaW5kZXggZmRlYWZlOTM2NmU5ZjU5OTk0N2QyMDM1OWFmMGE1NzRiM2My
ZDZmMy4uNzFmNWU3MGQyYjJjMzZkNTU3NGI1MzExYWIwY2FlNmViYzY5MGZlZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS1tYXRj
aC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTQsOCArNCw4IEBAIEZBSUwgQ2FjaGVTdG9yYWdlTWF0
Y2ggZnJvbSBvbmUgb2YgbWFueSBjYWNoZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIGZyb20gb25lIG9mIG1hbnkgY2FjaGVzIGJ5IG5h
bWUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIGEgc3Ry
aW5nIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBGQUlMIENhY2hlU3RvcmFnZU1h
dGNoIGEgSEVBRCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0
b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlZCBlbnRyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
LUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNoZXMgYXZhaWxhYmxlIGJ1dCBuYW1l
IHByb3ZpZGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorUEFTUyBDYWNoZVN0b3JhZ2VNYXRj
aCB3aXRoIG5vIGNhY2hlZCBlbnRyeSAKK1BBU1MgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBj
YWNoZXMgYXZhaWxhYmxlIGJ1dCBuYW1lIHByb3ZpZGVkIAogRkFJTCBDYWNoZVN0b3JhZ2VNYXRj
aCB3aXRoIGVtcHR5IGNhY2hlIG5hbWUgcHJvdmlkZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHN1cHBvcnRzIGlnbm9yZVNlYXJjaCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKIEZBSUwgQ2FjaGUubWF0Y2ggc3VwcG9ydHMgaWdub3JlTWV0aG9kIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogTm90IGltcGxlbWVudGVkIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5k
b3cvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dp
bmRvdy9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAwMDFlNmUzM2JkN2Fi
MzRlYTczNWFjYWRmOTQyMGNhZTEwODI5YjYxLi4xYWQ0NjAwMjhkYTc2OWVjMTk4MTRlMzEwYWQw
YTAwNzhlM2U3NzllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1z
dG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9j
YWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtNCw5ICs0LDkgQEAgRkFJTCBDYWNo
ZVN0b3JhZ2UuZGVsZXRlIGRvb21zLCBidXQgZG9lcyBub3QgZGVsZXRlIGltbWVkaWF0ZWx5IHBy
b21pc2VfdGVzdDogVW4KIEZBSUwgQ2FjaGVTdG9yYWdlLm9wZW4gd2l0aCBhbiBlbXB0eSBuYW1l
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgogUEFTUyBDYWNoZVN0b3JhZ2Uub3BlbiB3aXRoIG5v
IGFyZ3VtZW50cyAKIEZBSUwgQ2FjaGVTdG9yYWdlLmhhcyB3aXRoIGV4aXN0aW5nIGNhY2hlIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2UuaGFzIHdpdGggbm9uZXhp
c3RlbnQgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitQQVNTIENhY2hlU3RvcmFnZS5o
YXMgd2l0aCBub25leGlzdGVudCBjYWNoZSAKIEZBSUwgQ2FjaGVTdG9yYWdlLm9wZW4gd2l0aCBl
eGlzdGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIEZBSUwgQ2FjaGVTdG9yYWdl
LmRlbGV0ZSB3aXRoIGV4aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJ
TCBDYWNoZVN0b3JhZ2UuZGVsZXRlIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCitQQVNTIENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBub25leGlzdGVudCBj
YWNoZSAKIEZBSUwgQ2FjaGVTdG9yYWdlIG5hbWVzIGFyZSBET01TdHJpbmdzIG5vdCBVU1ZTdHJp
bmdzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9y
YWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2Nh
Y2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0
CmluZGV4IGZkZWFmZTkzNjZlOWY1OTk5NDdkMjAzNTlhZjBhNTc0YjNjMmQ2ZjMuLjcxZjVlNzBk
MmIyYzM2ZDU1NzRiNTMxMWFiMGNhZTZlYmM2OTBmZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0
b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0
ZWQudHh0CkBAIC00LDggKzQsOCBAQCBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIGZyb20gb25lIG9m
IG1hbnkgY2FjaGVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbgogRkFJTCBDYWNo
ZVN0b3JhZ2VNYXRjaCBmcm9tIG9uZSBvZiBtYW55IGNhY2hlcyBieSBuYW1lIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgogRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBhIHN0cmluZyByZXF1ZXN0IHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogTm90IGltcGxlbWVudGVkIgogRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBhIEhFQUQgcmVx
dWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0
aCBubyBjYWNoZWQgZW50cnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3Rv
cmFnZU1hdGNoIHdpdGggbm8gY2FjaGVzIGF2YWlsYWJsZSBidXQgbmFtZSBwcm92aWRlZCBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKK1BBU1MgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNo
ZWQgZW50cnkgCitQQVNTIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGVzIGF2YWlsYWJs
ZSBidXQgbmFtZSBwcm92aWRlZCAKIEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBlbXB0eSBj
YWNoZSBuYW1lIHByb3ZpZGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgogRkFJTCBDYWNoZVN0
b3JhZ2VNYXRjaCBzdXBwb3J0cyBpZ25vcmVTZWFyY2ggcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CiBGQUlMIENhY2hlLm1hdGNoIHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3Jh
Z2UuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3Rv
cmFnZS5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMDAxZTZlMzNiZDdhYjM0ZWE3MzVhY2FkZjk0
MjBjYWUxMDgyOWI2MS4uMWFkNDYwMDI4ZGE3NjllYzE5ODE0ZTMxMGFkMGEwMDc4ZTNlNzc5ZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS5odHRwcy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS5o
dHRwcy1leHBlY3RlZC50eHQKQEAgLTQsOSArNCw5IEBAIEZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0
ZSBkb29tcywgYnV0IGRvZXMgbm90IGRlbGV0ZSBpbW1lZGlhdGVseSBwcm9taXNlX3Rlc3Q6IFVu
CiBGQUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggYW4gZW1wdHkgbmFtZSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKIFBBU1MgQ2FjaGVTdG9yYWdlLm9wZW4gd2l0aCBubyBhcmd1bWVudHMgCiBG
QUlMIENhY2hlU3RvcmFnZS5oYXMgd2l0aCBleGlzdGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLmhhcyB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogTm90IGltcGxlbWVudGVkIgorUEFTUyBDYWNoZVN0b3JhZ2UuaGFzIHdpdGggbm9uZXhp
c3RlbnQgY2FjaGUgCiBGQUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggZXhpc3RpbmcgY2FjaGUg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBGQUlMIENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBl
eGlzdGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdl
LmRlbGV0ZSB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgor
UEFTUyBDYWNoZVN0b3JhZ2UuZGVsZXRlIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgCiBGQUlMIENh
Y2hlU3RvcmFnZSBuYW1lcyBhcmUgRE9NU3RyaW5ncyBub3QgVVNWU3RyaW5ncyBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317878</attachid>
            <date>2017-08-10 16:30:30 -0700</date>
            <delta_ts>2017-08-10 17:13:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175455-20170810163029.patch</filename>
            <type>text/plain</type>
            <size>108544</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODYzZjAzMzk5NTYzM2Vj
MTRkMGI5ZjQxMGQ5ZWIwOTMyMDQ2YWNhNC4uMTBiZWIzZTZlMGQyM2ZmYmQ2Njk2MmMzOGRlYmM5
ZTBlNDBiMzBlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMiBAQAorMjAxNy0wOC0xMCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRk
aW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5
IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgIEFkZGluZyBhIENhY2hlU3RvcmFnZVByb3ZpZGVy
IGFic3RyYWN0aW9uIHRoYXQgY3JlYXRlcyBhIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uCisgICAg
ICAgIFRoZSBDYWNoZVN0b3JhZ2VQcm92aWRlciBpcyBhY2Nlc3NlZCBmcm9tIHRoZSBwYWdlIGZv
ciBEb2N1bWVudCBjYWxscy4KKyAgICAgICAgVGhlIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24gaXMg
cmVzcG9uc2libGUgdG8gaW1wbGVtZW50IHRoZSByZWFkL3dyaXRlIG9wZXJhdGlvbnMgb24gdGhl
IGNhY2hlIGRhdGFiYXNlLgorICAgICAgICBBdCB0aGUgbW9tZW50LCBpdCBkb2VzIG5vdGhpbmcu
CisKKyAgICAgICAgSW1wbGVtZW50aW5nIENhY2hlU3RvcmFnZSBBUElzIGFuZCBDYWNoZSBBUElz
IGJhc2VkIG9uIHRoZSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uIGV4Y2VwdCBmb3IgQ2FjaGUgYWRk
IGFuZCBhZGRBbGwgd2hpY2ggd2lsbCBiZSBpbXBsZW1lbnRlZCBsYXRlciBvbi4KKworICAgICAg
ICBBZGRpbmcgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlLm1hdGNoIGZ1bmN0aW9uIGFzIGEgSlMg
YnVpbHQtaW4gYXMgdGhpcyBpbnZvbHZlcyBwcm9taXNlcyBhbmQgYWxsb3dzIGEgY2xlYXJlciBp
bXBsZW1lbnRhdGlvbi4KKyAgICAgICAgQWRkaW5nIHZhcmlvdXMgYWNjZXNzb3JzIGFuZCBjb25z
dHJ1Y3RvcnMgZm9yIEZldGNoIGNvbnN0cnVjdHMgYXMgbmVlZGVkIGJ5IHRoZSBDYWNoZSBBUEkg
aW1wbGVtZW50YXRpb24uCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OkNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
Ojp+Q2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6Om9yaWdpbiBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZTo6bWF0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6Om1h
dGNoQWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjpwdXQpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGU6OnJlbW92ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6a2V5cyk6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZTo6cmVmcmVzaFJlcXVlc3RUb1Jlc3BvbnNlTWFwKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlOjpxdWVyeUNhY2hlTWF0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGU6OnF1ZXJ5Q2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnF1ZXJ5Q2FjaGVX
aXRoVGFyZ2V0U3RvcmFnZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6YmF0Y2hEZWxldGVP
cGVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OmJhdGNoUHV0T3BlcmF0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjp1cGRhdGVSZXF1ZXN0VG9SZXNwb25zZU1hcCk6Cisg
ICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6bmFtZSBjb25zdCk6CisgICAgICAg
ICogTW9kdWxlcy9jYWNoZS9DYWNoZS5pZGw6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNo
ZVF1ZXJ5T3B0aW9ucy5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVRdWVyeU9wdGlvbnM6Omlz
b2xhdGVkQ29weSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpvcmlnaW4gY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpoYXMpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVTdG9yYWdlOjpyZWZyZXNoQ2FjaGVNYXApOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9y
YWdlOjpvcGVuKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6cmVtb3ZlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6a2V5cyk6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZVN0b3JhZ2U6OmNhY2hlTWFwKToKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hlU3Rv
cmFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpjcmVhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpDYWNoZVN0b3JhZ2UpOgorICAgICAgICAqIE1vZHVs
ZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hl
U3RvcmFnZS5qczogQWRkZWQuCisgICAgICAgIChtYXRjaC5yZXR1cm4uQ2FjaGVTdG9yYWdlLnBy
b3RvdHlwZS5jYWNoZU1hcC5jYWxsLnRoZW4pOgorICAgICAgICAobWF0Y2gpOgorICAgICAgICAq
IE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9yKToK
KyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQ6OnRvQ3Jv
c3NUaHJlYWREYXRhIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5l
Y3Rpb246OlJlY29yZDo6ZnJvbUNyb3NzVGhyZWFkRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVT
dG9yYWdlQ29ubmVjdGlvbjo6b3Blbik6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uOjpyZW1vdmUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29ubmVj
dGlvbjo6cmVmcmVzaENhY2hlTWFwKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNv
bm5lY3Rpb246OnJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcCk6CisgICAgICAgIChXZWJDb3Jl
OjpDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpiYXRjaERlbGV0ZU9wZXJhdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpiYXRjaFB1dE9wZXJhdGlvbik6Cisg
ICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VSZWNvcmQuaDogQWRkZWQuCisgICAg
ICAgICogTW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NV2luZG93Q2FjaGVzOjpjYWNoZXMgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvY2Fj
aGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
R2xvYmFsU2NvcGVDYWNoZXM6OmZyb20pOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFs
U2NvcGVDYWNoZXM6OmNhY2hlcyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9Xb3Jr
ZXJHbG9iYWxTY29wZUNhY2hlcy5oOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2Nv
cGVDYWNoZXM6Oldvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKToKKyAgICAgICAgKiBNb2R1bGVzL2Zl
dGNoL0ZldGNoQm9keU93bmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHlPd25lcjo6
aXNSZWFkYWJsZVN0cmVhbUJvZHkgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0
Y2hIZWFkZXJzLmg6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEhlYWRlcnM6OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpGZXRjaEhlYWRlcnM6Omd1YXJkIGNvbnN0KToKKyAgICAgICAgKiBN
b2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoTG9h
ZGVyOjpzdGFydCk6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6YnVpbGRPcHRpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OkZldGNo
UmVxdWVzdDo6cmVzb3VyY2VSZXF1ZXN0IGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNo
L0ZldGNoUmVxdWVzdC5oOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaFJlc3BvbnNlOjpib2R5Rm9ySW50ZXJuYWxSZXNw
b25zZSk6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmg6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
T3ZlcmxheS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JPdmVybGF5OjpvdmVybGF5
UGFnZSk6CisgICAgICAgICogbG9hZGVyL0ZldGNoT3B0aW9ucy5oOgorICAgICAgICAoV2ViQ29y
ZTo6RmV0Y2hPcHRpb25zOjppc29sYXRlZENvcHkgY29uc3QpOgorICAgICAgICAqIHBhZ2UvQ2Fj
aGVTdG9yYWdlUHJvdmlkZXIuaDogQWRkZWQuCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBhZ2U6OlBhZ2UpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6UGFnZTo6Y2FjaGVTdG9yYWdlUHJvdmlkZXIpOgorICAgICAgICAqIHBh
Z2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbmZpZ3Vy
YXRpb246OlBhZ2VDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0
aW9uLmg6CisgICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0ltYWdlOjpkYXRhQ2hhbmdlZCk6CisKIDIwMTctMDgtMTAgIEFudHRpIEtvaXZp
c3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFRyeSB0byBmaXggd2luZG93cyBidWls
ZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKaW5kZXggNjIxOTliOTA3MTdhYzQ4NjEzMzg1NzIzM2E2ZjI3YjgwOWQzZGUzZC4u
MjJhNzhmNDk0ZDVjMTk3MzNmZDI4NWYzOGRjNjAzMTViMzMwYTQ5NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxNy0wOC0xMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRkaW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVT
dG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvQ2FjaGUvV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaDogQWRkZWQu
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2Vi
S2l0OjptX2NwdUxpbWl0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6Y2FjaGVT
dG9yYWdlUHJvdmlkZXIpOgorCiAyMDE3LTA4LTEwICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtA
aWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBEb24ndCB1c2UgLS13aG9sZS1hcmNoaXZlIGxp
bmtpbmcgZmxhZ3MgZm9yIHRoZSBXZWJLaXQyIHRhcmdldCBsaWJyYXJpZXMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwppbmRleCBhNjYyOTRhMmUzYjM2M2EzMzMwN2ZhYzY2ODQ3NjZkMDRmMjk4
OTZhLi5jZWJlNmYyZmY2YTdmYzI4MWNhM2IwMTU0MGU3ODU1YmM4N2MzZWUxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMDgtMTAgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFtDYWNoZSBBUEldIEFkZGluZyBn
ZW5lcmljIHN1cHBvcnQgZm9yIENhY2hlU3RvcmFnZSBhbmQgQ2FjaGUgbWV0aG9kcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NDU1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZp
ZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1l
TmFtZTpncm91cE5hbWU6XSk6CisKIDIwMTctMDgtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBEaXNhYmxlIEJlYWNvbiBBUEkgb24gV0sxIERSVCBhbmQgV0sy
IHdoZW4gbm90IHVzaW5nIE5FVFdPUktfU0VTU0lPTgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBl
MWFkNThlM2VjZmU5YWUzNTEyMmMyY2RmYjFjZGNjNmVlN2JjMmIzLi44OWU2NWJjMmM1ZDc2NDZh
NjgxYmNkZDgyYzk5ZmYzNTRkMTg5ZGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtODkzLDYg
Kzg5Myw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKIAogICAgIE1vZHVsZXMvY2FjaGUvQ2FjaGUu
Y3BwCiAgICAgTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuY3BwCisgICAgTW9kdWxlcy9jYWNo
ZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcAogICAgIE1vZHVsZXMvY2FjaGUvRE9NV2luZG93
Q2FjaGVzLmNwcAogICAgIE1vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3Bw
CiAKQEAgLTM4NTIsNiArMzg1Myw3IEBAIGFkZF9kZXBlbmRlbmNpZXMoV2ViQ29yZVRlc3RTdXBw
b3J0QmluZGluZ3MgV2ViQ29yZURlcml2ZWRTb3VyY2VzKQogIyBXZWJDb3JlIEpTIEJ1aWx0aW5z
CiAKIHNldChXZWJDb3JlX0JVSUxUSU5TX1NPVVJDRVMKKyAgICAke1dFQkNPUkVfRElSfS9Nb2R1
bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5qcwogICAgICR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvZmV0
Y2gvRmV0Y2hJbnRlcm5hbHMuanMKICAgICAke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoUmVzcG9uc2UuanMKICAgICAke1dFQkNPUkVfRElSfS9Nb2R1bGVzL21lZGlhc3RyZWFtL05h
dmlnYXRvclVzZXJNZWRpYS5qcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggOGQ1
NjRlNjc3MGJmZDg0NDJkNTc4ZDU0YzJiOTgxZmI4NWUxYjdmOC4uN2UwNTM4YzQxMGQzZjM0YjU1
YzEwNGUxNzcwNzBhYWMwNDgzYzNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBA
IC0xMzk3LDYgKzEzOTcsNyBAQCBDb21tYW5kTGluZUFQSU1vZHVsZVNvdXJjZS5oIDogQ29tbWFu
ZExpbmVBUElNb2R1bGVTb3VyY2UuanMKICMgV2ViQ29yZSBKUyBCdWlsdGlucwogCiBXZWJDb3Jl
X0JVSUxUSU5TX1NPVVJDRVMgPSBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NhY2hlL0NhY2hl
U3RvcmFnZS5qcyBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2ZldGNoL0ZldGNoSW50ZXJuYWxz
LmpzIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5qcyBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvclVzZXJNZWRpYS5qcyBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCmluZGV4IGUxOWFmNTUwMjk1NjRk
OTU3NDU0MmIzZWIzMzQ4NDMyMzgzZjY3ZDUuLmZjOTE2YmE5NThmNjM4Mzg4NzRkMzRkYzYwMzIz
YjMxMWMyZWQxYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2Fj
aGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCkBAIC0y
NiwxNiArMjYsODggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDYWNoZS5oIgog
CisjaW5jbHVkZSAiQ2FjaGVRdWVyeU9wdGlvbnMuaCIKKyNpbmNsdWRlICJGZXRjaFJlc3BvbnNl
LmgiCisjaW5jbHVkZSAiSlNGZXRjaFJlcXVlc3QuaCIKKyNpbmNsdWRlICJKU0ZldGNoUmVzcG9u
c2UuaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCisjaW5jbHVkZSAiVVJM
LmgiCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdm9pZCBDYWNoZTo6bWF0Y2goUmVxdWVzdElu
Zm8mJiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgUmVmPERlZmVycmVkUHJv
bWlzZT4mJiBwcm9taXNlKQorQ2FjaGU6OkNhY2hlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQsIFN0cmluZyYmIG5hbWUsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYmIGNvbm5l
Y3Rpb24pCisgICAgOiBtX2NvbnRleHQoY29udGV4dCkKKyAgICAsIG1fbmFtZShXVEZNb3ZlKG5h
bWUpKQorICAgICwgbV9jb25uZWN0aW9uKFdURk1vdmUoY29ubmVjdGlvbikpCiB7Ci0gICAgcHJv
bWlzZS0+cmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1w
bGVtZW50ZWQiKX0pOwogfQogCi12b2lkIENhY2hlOjptYXRjaEFsbChzdGQ6Om9wdGlvbmFsPFJl
cXVlc3RJbmZvPiYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBNYXRjaEFs
bFByb21pc2UmJiBwcm9taXNlKQorQ2FjaGU6On5DYWNoZSgpCiB7Ci0gICAgcHJvbWlzZS5yZWpl
Y3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIp
fSk7Cit9CisKK1N0cmluZyBDYWNoZTo6b3JpZ2luKCkgY29uc3QKK3sKKyAgICBhdXRvKiBvcmln
aW4gPSBtX2NvbnRleHQuc2VjdXJpdHlPcmlnaW4oKTsKKyAgICByZXR1cm4gb3JpZ2luID8gb3Jp
Z2luLT50b1N0cmluZygpIDogZW1wdHlTdHJpbmcoKTsKK30KKwordm9pZCBDYWNoZTo6bWF0Y2go
UmVxdWVzdEluZm8mJiBpbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIFJlZjxEZWZl
cnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBtYXRjaEFsbChXVEZNb3ZlKGluZm8pLCBX
VEZNb3ZlKG9wdGlvbnMpLCBXVEZNb3ZlKHByb21pc2UpLCBNYXRjaFR5cGU6Ok9ubHlGaXJzdCk7
Cit9CisKK3ZvaWQgQ2FjaGU6Om1hdGNoQWxsKHN0ZDo6b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYg
aW5mbywgQ2FjaGVRdWVyeU9wdGlvbnMmJiBvcHRpb25zLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYm
IHByb21pc2UsIE1hdGNoVHlwZSBtYXRjaFR5cGUpCit7CisgICAgUmVmUHRyPEZldGNoUmVxdWVz
dD4gcmVxdWVzdDsKKyAgICBpZiAoaW5mbykgeworICAgICAgICBpZiAoV1RGOjpob2xkc19hbHRl
cm5hdGl2ZTxSZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4oaW5mby52YWx1ZSgpKSkgeworICAgICAgICAg
ICAgcmVxdWVzdCA9IFdURjo6Z2V0PFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvLnZhbHVlKCkp
LnJlbGVhc2VOb25OdWxsKCk7CisgICAgICAgICAgICBpZiAocmVxdWVzdC0+bWV0aG9kKCkgIT0g
IkdFVCIgJiYgIW9wdGlvbnMuaWdub3JlTWV0aG9kKSB7CisgICAgICAgICAgICAgICAgaWYgKG1h
dGNoVHlwZSA9PSBNYXRjaFR5cGU6Ok9ubHlGaXJzdCkgeworICAgICAgICAgICAgICAgICAgICBw
cm9taXNlLT5yZXNvbHZlKCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExTZXF1ZW5jZTxJ
RExJbnRlcmZhY2U8RmV0Y2hSZXNwb25zZT4+PihWZWN0b3I8UmVmPEZldGNoUmVzcG9uc2U+PiB7
IH0pOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIGF1dG8gcmVxdWVzdE9yRXJyb3IgPSBGZXRjaFJlcXVlc3Q6OmNy
ZWF0ZShtX2NvbnRleHQsIFdURjo6Z2V0PFN0cmluZz4oaW5mby52YWx1ZSgpKSwgeyB9KTsKKyAg
ICAgICAgICAgIGlmIChyZXF1ZXN0T3JFcnJvci5oYXNFeGNlcHRpb24oKSkgeworICAgICAgICAg
ICAgICAgIHByb21pc2UtPnJlamVjdChyZXF1ZXN0T3JFcnJvci5yZWxlYXNlRXhjZXB0aW9uKCkp
OworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJl
cXVlc3QgPSByZXF1ZXN0T3JFcnJvci5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKKyAgICAgICAgfQor
ICAgIH0KKworICAgIGlmICghcmVxdWVzdCkgeworICAgICAgICBBU1NFUlQobWF0Y2hUeXBlID09
IE1hdGNoVHlwZTo6QWxsKTsKKyAgICAgICAgcmVmcmVzaFJlcXVlc3RUb1Jlc3BvbnNlTWFwKFt0
aGlzLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSB7CisgICAgICAgICAgICBWZWN0b3I8
UmVmPEZldGNoUmVzcG9uc2U+PiByZXNwb25zZXM7CisgICAgICAgICAgICByZXNwb25zZXMucmVz
ZXJ2ZUluaXRpYWxDYXBhY2l0eShtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwLnNpemUoKSk7CisgICAg
ICAgICAgICBmb3IgKGF1dG8mIHJlY29yZCA6IG1fcmVxdWVzdFRvUmVzcG9uc2VNYXApCisgICAg
ICAgICAgICAgICAgcmVzcG9uc2VzLnVuY2hlY2tlZEFwcGVuZChyZWNvcmQucmVzcG9uc2UtPmNs
b25lRm9ySlMoKSk7CisgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElETFNlcXVlbmNlPElE
TEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4+KHJlc3BvbnNlcyk7CisgICAgICAgIH0pOworICAg
ICAgICByZXR1cm47CisgICAgfQorICAgIHF1ZXJ5Q2FjaGUocmVxdWVzdC5yZWxlYXNlTm9uTnVs
bCgpLCBXVEZNb3ZlKG9wdGlvbnMpLCBbbWF0Y2hUeXBlLCBwcm9taXNlID0gV1RGTW92ZShwcm9t
aXNlKV0oY29uc3QgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4mIHJlY29yZHMpIG11dGFibGUg
eworICAgICAgICBpZiAobWF0Y2hUeXBlID09IE1hdGNoVHlwZTo6T25seUZpcnN0KSB7CisgICAg
ICAgICAgICBpZiAocmVjb3Jkcy5zaXplKCkpIHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLT5y
ZXNvbHZlPElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4ocmVjb3Jkc1swXS5yZXNwb25zZS5n
ZXQoKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgcHJvbWlzZS0+cmVzb2x2ZSgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisK
KyAgICAgICAgVmVjdG9yPFJlZjxGZXRjaFJlc3BvbnNlPj4gcmVzcG9uc2VzOworICAgICAgICBy
ZXNwb25zZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShyZWNvcmRzLnNpemUoKSk7CisgICAgICAg
IGZvciAoYXV0byYgcmVjb3JkIDogcmVjb3JkcykKKyAgICAgICAgICAgIHJlc3BvbnNlcy51bmNo
ZWNrZWRBcHBlbmQocmVjb3JkLnJlc3BvbnNlLT5jbG9uZUZvckpTKCkpOworICAgICAgICBwcm9t
aXNlLT5yZXNvbHZlPElETFNlcXVlbmNlPElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4+KHJl
c3BvbnNlcyk7CisgICAgfSk7CiB9CiAKIHZvaWQgQ2FjaGU6OmFkZChSZXF1ZXN0SW5mbyYmLCBE
T01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQpAQCAtNDgsMjAgKzEyMCwyMzUgQEAg
dm9pZCBDYWNoZTo6YWRkQWxsKFZlY3RvcjxSZXF1ZXN0SW5mbz4mJiwgRE9NUHJvbWlzZURlZmVy
cmVkPHZvaWQ+JiYgcHJvbWlzZSkKICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBl
RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKIH0KIAotdm9pZCBDYWNo
ZTo6cHV0KFJlcXVlc3RJbmZvJiYsIFJlZjxGZXRjaFJlc3BvbnNlPiYmLCBET01Qcm9taXNlRGVm
ZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQordm9pZCBDYWNoZTo6cHV0KFJlcXVlc3RJbmZvJiYgaW5m
bywgUmVmPEZldGNoUmVzcG9uc2U+JiYgcmVzcG9uc2UsIERPTVByb21pc2VEZWZlcnJlZDx2b2lk
PiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9y
LCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgUmVmUHRyPEZldGNoUmVx
dWVzdD4gcmVxdWVzdDsKKyAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWZQdHI8RmV0
Y2hSZXF1ZXN0Pj4oaW5mbykpIHsKKyAgICAgICAgcmVxdWVzdCA9IFdURjo6Z2V0PFJlZlB0cjxG
ZXRjaFJlcXVlc3Q+PihpbmZvKS5yZWxlYXNlTm9uTnVsbCgpOworICAgICAgICBpZiAoIXByb3Rv
Y29sSXNJbkhUVFBGYW1pbHkocmVxdWVzdC0+dXJsKCkpIHx8IHJlcXVlc3QtPm1ldGhvZCgpICE9
ICJHRVQiKSB7CisgICAgICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJy
b3IsIEFTQ0lJTGl0ZXJhbCgiUmVxdWVzdCBpcyBub3QgSFRUUC9IVFRQUyBvciBtZXRob2QgaXMg
bm90IEdFVCIpIH0pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfSBlbHNl
IHsKKyAgICAgICAgU3RyaW5nIHVybCA9IFdURjo6Z2V0PFN0cmluZz4oaW5mbyk7CisgICAgICAg
IGlmICghcHJvdG9jb2xJc0luSFRUUEZhbWlseSh1cmwpKSB7CisgICAgICAgICAgICBwcm9taXNl
LnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiUmVxdWVzdCBpcyBu
b3QgSFRUUC9IVFRQUyIpIH0pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAg
ICAgIGF1dG8gcmVxdWVzdE9yRXJyb3IgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZShtX2NvbnRleHQs
IHVybCwgeyB9KTsKKyAgICAgICAgaWYgKHJlcXVlc3RPckVycm9yLmhhc0V4Y2VwdGlvbigpKSB7
CisgICAgICAgICAgICBwcm9taXNlLnJlamVjdChyZXF1ZXN0T3JFcnJvci5yZWxlYXNlRXhjZXB0
aW9uKCkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHJlcXVlc3Qg
PSByZXF1ZXN0T3JFcnJvci5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKKyAgICB9CisKKyAgICBTdHJp
bmcgdmFyeVZhbHVlID0gcmVzcG9uc2UtPmhlYWRlcnMoKS5pbnRlcm5hbEhlYWRlcnMoKS5nZXQo
V2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6OlZhcnkpOworICAgIFZlY3RvcjxTdHJpbmc+IHZhcnlp
bmdIZWFkZXJOYW1lczsKKyAgICB2YXJ5VmFsdWUuc3BsaXQoJywnLCB2YXJ5aW5nSGVhZGVyTmFt
ZXMpOworICAgIGlmICh2YXJ5aW5nSGVhZGVyTmFtZXMuY29udGFpbnMoIioiKSkgeworICAgICAg
ICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiUmVz
cG9uc2UgaGFzIGEgJyonIFZhcnkgaGVhZGVyIHZhbHVlIikgfSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBpZiAocmVzcG9uc2UtPmlzRGlzdHVyYmVkKCkpIHsKKyAgICAgICAgcHJv
bWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIlJlc3BvbnNl
IGlzIGRpc3R1cmJlZCBvciBsb2NrZWQiKSB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgYmVpbmcgbG9hZGVkIHJlc3BvbnNlcy4KKyAg
ICBpZiAocmVzcG9uc2UtPmlzTG9hZGluZygpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4
Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJDYWNoaW5nIGEgbG9hZGluZyBSZXNw
b25zZSBpcyBub3QgeWV0IHN1cHBvcnRlZCIpIH0pOworICAgICAgICByZXR1cm47CisgICAgfQor
ICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgUmVhZGFibGVTdHJlYW0uCisgICAgaWYgKHJl
c3BvbnNlLT5pc1JlYWRhYmxlU3RyZWFtQm9keSgpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0
KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJDYWNoaW5nIGEgUmVzcG9uc2Ug
d2l0aCBkYXRhIHN0b3JlZCBpbiBhIFJlYWRhYmxlU3RyZWFtIGlzIG5vdCB5ZXQgc3VwcG9ydGVk
IikgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBiYXRjaFB1dE9wZXJhdGlvbigq
cmVxdWVzdCwgcmVzcG9uc2UuZ2V0KCksIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oQ2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICBpZiAo
ZXJyb3IgIT0gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3I6Ok5vbmUpIHsKKyAgICAgICAg
ICAgIHByb21pc2UucmVqZWN0KENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlvbkZyb21F
cnJvcihlcnJvcikpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHBy
b21pc2UucmVzb2x2ZSgpOworICAgIH0pOwogfQogCi12b2lkIENhY2hlOjpyZW1vdmUoUmVxdWVz
dEluZm8mJiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgRE9NUHJvbWlzZURl
ZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKK3ZvaWQgQ2FjaGU6OnJlbW92ZShSZXF1ZXN0
SW5mbyYmIGluZm8sIENhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywgRE9NUHJvbWlzZURlZmVy
cmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRp
b24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICBS
ZWZQdHI8RmV0Y2hSZXF1ZXN0PiByZXF1ZXN0OworICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0
aXZlPFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvKSkgeworICAgICAgICByZXF1ZXN0ID0gV1RG
OjpnZXQ8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8pLnJlbGVhc2VOb25OdWxsKCk7CisgICAg
ICAgIGlmIChyZXF1ZXN0LT5tZXRob2QoKSAhPSAiR0VUIiAmJiAhb3B0aW9ucy5pZ25vcmVNZXRo
b2QpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShmYWxzZSk7CisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBhdXRvIHJlcXVlc3RPckVy
cm9yID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUobV9jb250ZXh0LCBXVEY6OmdldDxTdHJpbmc+KGlu
Zm8pLCB7IH0pOworICAgICAgICBpZiAocmVxdWVzdE9yRXJyb3IuaGFzRXhjZXB0aW9uKCkpIHsK
KyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KHJlcXVlc3RPckVycm9yLnJlbGVhc2VFeGNlcHRp
b24oKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgcmVxdWVzdCA9
IHJlcXVlc3RPckVycm9yLnJlbGVhc2VSZXR1cm5WYWx1ZSgpOworICAgIH0KKworICAgIGJhdGNo
RGVsZXRlT3BlcmF0aW9uKCpyZXF1ZXN0LCBXVEZNb3ZlKG9wdGlvbnMpLCBbcHJvbWlzZSA9IFdU
Rk1vdmUocHJvbWlzZSldKGJvb2wgZGlkRGVsZXRlLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpF
cnJvciBlcnJvcikgbXV0YWJsZSB7CisgICAgICAgIGlmIChlcnJvciAhPSAgQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbjo6RXJyb3I6Ok5vbmUpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KENh
Y2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlvbkZyb21FcnJvcihlcnJvcikpOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHByb21pc2UucmVzb2x2ZShkaWREZWxl
dGUpOworICAgIH0pOwogfQogCi12b2lkIENhY2hlOjprZXlzKHN0ZDo6b3B0aW9uYWw8UmVxdWVz
dEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIEtleXNQcm9taXNl
JiYgcHJvbWlzZSkKK3ZvaWQgQ2FjaGU6OmtleXMoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4m
JiBpbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIEtleXNQcm9taXNlJiYgcHJvbWlz
ZSkKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0
ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICBSZWZQdHI8RmV0Y2hSZXF1ZXN0PiByZXF1
ZXN0OworICAgIGlmIChpbmZvKSB7CisgICAgICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZl
PFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvLnZhbHVlKCkpKSB7CisgICAgICAgICAgICByZXF1
ZXN0ID0gV1RGOjpnZXQ8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8udmFsdWUoKSkucmVsZWFz
ZU5vbk51bGwoKTsKKyAgICAgICAgICAgIGlmIChyZXF1ZXN0LT5tZXRob2QoKSAhPSAiR0VUIiAm
JiAhb3B0aW9ucy5pZ25vcmVNZXRob2QpIHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLnJlc29s
dmUoVmVjdG9yPFJlZjxGZXRjaFJlcXVlc3Q+PiB7IH0pOworICAgICAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICByZXF1ZXN0ID0g
RmV0Y2hSZXF1ZXN0OjpjcmVhdGUobV9jb250ZXh0LCBXVEY6OmdldDxTdHJpbmc+KGluZm8udmFs
dWUoKSksIHsgfSkucmVsZWFzZVJldHVyblZhbHVlKCk7CisgICAgfQorCisgICAgaWYgKCFyZXF1
ZXN0KSB7CisgICAgICAgIHJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcChbdGhpcywgcHJvbWlz
ZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgICAgICBWZWN0b3I8UmVm
PEZldGNoUmVxdWVzdD4+IHJlcXVlc3RzOworICAgICAgICAgICAgcmVxdWVzdHMucmVzZXJ2ZUlu
aXRpYWxDYXBhY2l0eShtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwLnNpemUoKSk7CisgICAgICAgICAg
ICBmb3IgKGF1dG8mIHJlY29yZCA6IG1fcmVxdWVzdFRvUmVzcG9uc2VNYXApCisgICAgICAgICAg
ICAgICAgcmVxdWVzdHMudW5jaGVja2VkQXBwZW5kKHJlY29yZC5yZXF1ZXN0LmNvcHlSZWYoKSk7
CisgICAgICAgICAgICBwcm9taXNlLnJlc29sdmUocmVxdWVzdHMpOworICAgICAgICB9KTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHF1ZXJ5Q2FjaGUocmVxdWVzdC5yZWxlYXNlTm9u
TnVsbCgpLCBXVEZNb3ZlKG9wdGlvbnMpLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKGNv
bnN0IFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+JiByZWNvcmRzKSBtdXRhYmxlIHsKKyAgICAg
ICAgVmVjdG9yPFJlZjxGZXRjaFJlcXVlc3Q+PiByZXF1ZXN0czsKKyAgICAgICAgcmVxdWVzdHMu
cmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShyZWNvcmRzLnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0
byYgcmVjb3JkIDogcmVjb3JkcykKKyAgICAgICAgICAgIHJlcXVlc3RzLnVuY2hlY2tlZEFwcGVu
ZChyZWNvcmQucmVxdWVzdC5jb3B5UmVmKCkpOworICAgICAgICBwcm9taXNlLnJlc29sdmUocmVx
dWVzdHMpOworICAgIH0pOworfQorCit2b2lkIENhY2hlOjpyZWZyZXNoUmVxdWVzdFRvUmVzcG9u
c2VNYXAoRnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQoreworICAgIG1fY29ubmVjdGlvbi0+
cmVmcmVzaFJlcXVlc3RUb1Jlc3BvbnNlTWFwKG9yaWdpbigpLCBtX25hbWUsIFt0aGlzLCBwcm90
ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayld
KFZlY3RvcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQ+JiYgcmVjb3JkcykgeworICAg
ICAgICB1cGRhdGVSZXF1ZXN0VG9SZXNwb25zZU1hcChXVEZNb3ZlKHJlY29yZHMpKTsKKworICAg
ICAgICBjYWxsYmFjaygpOworICAgIH0pOworfQorCitib29sIENhY2hlOjpxdWVyeUNhY2hlTWF0
Y2goY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IGNhY2hlZFJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGNhY2hlZFJlc3BvbnNlLCBj
b25zdCBDYWNoZVF1ZXJ5T3B0aW9ucyYgb3B0aW9ucykKK3sKKyAgICBBU1NFUlQob3B0aW9ucy5p
Z25vcmVNZXRob2QgfHwgcmVxdWVzdC5odHRwTWV0aG9kKCkgPT0gIkdFVCIpOworCisgICAgVVJM
IHJlcXVlc3RVUkwgPSByZXF1ZXN0LnVybCgpOworICAgIFVSTCBjYWNoZWRSZXF1ZXN0VVJMID0g
Y2FjaGVkUmVxdWVzdC51cmwoKTsKKworICAgIGlmIChvcHRpb25zLmlnbm9yZVNlYXJjaCkgewor
ICAgICAgICByZXF1ZXN0VVJMLnNldFF1ZXJ5KHsgfSk7CisgICAgICAgIGNhY2hlZFJlcXVlc3RV
Ukwuc2V0UXVlcnkoeyB9KTsKKyAgICB9CisgICAgaWYgKCFlcXVhbElnbm9yaW5nRnJhZ21lbnRJ
ZGVudGlmaWVyKHJlcXVlc3RVUkwsIGNhY2hlZFJlcXVlc3RVUkwpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBpZiAob3B0aW9ucy5pZ25vcmVWYXJ5KQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKworICAgIFN0cmluZyB2YXJ5VmFsdWUgPSBjYWNoZWRSZXNwb25zZS5odHRwSGVhZGVyRmll
bGQoV2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6OlZhcnkpOworICAgIGlmICh2YXJ5VmFsdWUuaXNO
dWxsKCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgVmVjdG9yPFN0cmluZz4gdmFyeWlu
Z0hlYWRlck5hbWVzOworICAgIHZhcnlWYWx1ZS5zcGxpdCgnLCcsIHZhcnlpbmdIZWFkZXJOYW1l
cyk7CisgICAgaWYgKHZhcnlpbmdIZWFkZXJOYW1lcy5jb250YWlucygiKiIpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBmb3IgKGF1dG8mIG5hbWUgOiB2YXJ5aW5nSGVhZGVyTmFtZXMp
IHsKKyAgICAgICAgaWYgKGNhY2hlZFJlcXVlc3QuaHR0cEhlYWRlckZpZWxkKG5hbWUpICE9IHJl
cXVlc3QuaHR0cEhlYWRlckZpZWxkKG5hbWUpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBDYWNoZTo6cXVlcnlDYWNoZShSZWY8
RmV0Y2hSZXF1ZXN0PiYmIHJlcXVlc3QsIENhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywgRnVu
Y3Rpb248dm9pZChjb25zdCBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiYpPiYmIGNhbGxiYWNr
KQoreworICAgIHJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcChbdGhpcywgcmVxdWVzdCA9IFdU
Rk1vdmUocmVxdWVzdCksIG9wdGlvbnMgPSBXVEZNb3ZlKG9wdGlvbnMpLCBjYWxsYmFjayA9IFdU
Rk1vdmUoY2FsbGJhY2spXSgpIG11dGFibGUgeworICAgICAgICBjYWxsYmFjayhxdWVyeUNhY2hl
V2l0aFRhcmdldFN0b3JhZ2UocmVxdWVzdC5nZXQoKSwgb3B0aW9ucywgbV9yZXF1ZXN0VG9SZXNw
b25zZU1hcCkpOworICAgIH0pOworfQorCitWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiBDYWNo
ZTo6cXVlcnlDYWNoZVdpdGhUYXJnZXRTdG9yYWdlKGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxdWVz
dCwgY29uc3QgQ2FjaGVRdWVyeU9wdGlvbnMmIG9wdGlvbnMsIGNvbnN0IFZlY3RvcjxDYWNoZVN0
b3JhZ2VSZWNvcmQ+JiB0YXJnZXRTdG9yYWdlKQoreworICAgIGlmICghb3B0aW9ucy5pZ25vcmVN
ZXRob2QgJiYgcmVxdWVzdC5tZXRob2QoKSAhPSAiR0VUIikKKyAgICAgICAgcmV0dXJuIHsgfTsK
KworICAgIFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+IHJlY29yZHM7CisgICAgZm9yIChhdXRv
JiByZWNvcmQgOiB0YXJnZXRTdG9yYWdlKSB7CisgICAgICAgIGlmIChxdWVyeUNhY2hlTWF0Y2go
cmVxdWVzdC5pbnRlcm5hbFJlcXVlc3QoKS5yZXF1ZXN0LCByZWNvcmQucmVxdWVzdC0+aW50ZXJu
YWxSZXF1ZXN0KCkucmVxdWVzdCwgcmVjb3JkLnJlc3BvbnNlLT5yZXNwb25zZSgpLCBvcHRpb25z
KSkKKyAgICAgICAgICAgIHJlY29yZHMuYXBwZW5kKHsgcmVjb3JkLmlkZW50aWZpZXIsIHJlY29y
ZC5yZXF1ZXN0LmNvcHlSZWYoKSwgcmVjb3JkLnJlc3BvbnNlLmNvcHlSZWYoKSB9KTsKKyAgICB9
CisgICAgcmV0dXJuIHJlY29yZHM7Cit9CisKK3ZvaWQgQ2FjaGU6OmJhdGNoRGVsZXRlT3BlcmF0
aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgQ2FjaGVRdWVyeU9wdGlvbnMmJiBvcHRp
b25zLCBGdW5jdGlvbjx2b2lkKGJvb2wgZGlkUmVtb3ZhbCwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlv
bjo6RXJyb3IgZXJyb3IpPiYmIGNhbGxiYWNrKQoreworICAgIG1fY29ubmVjdGlvbi0+YmF0Y2hE
ZWxldGVPcGVyYXRpb24ob3JpZ2luKCksIG1fbmFtZSwgcmVxdWVzdC5pbnRlcm5hbFJlcXVlc3Qo
KS5yZXF1ZXN0LCBXVEZNb3ZlKG9wdGlvbnMpLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VS
ZWYoKnRoaXMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShWZWN0b3I8dWludDY0X3Q+
JiYgcmVjb3JkcywgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIHsKKyAgICAg
ICAgaWYgKGVycm9yID09IENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yOjpOb25lKQorICAg
ICAgICAgICAgbV9yZXF1ZXN0VG9SZXNwb25zZU1hcC5yZW1vdmVBbGxNYXRjaGluZyhbJl0oY29u
c3QgYXV0byYgaXRlbSkgeyByZXR1cm4gcmVjb3Jkcy5jb250YWlucyhpdGVtLmlkZW50aWZpZXIp
OyB9KTsKKworICAgICAgICBjYWxsYmFjayghIXJlY29yZHMuc2l6ZSgpLCBlcnJvcik7CisgICAg
fSk7Cit9CisKK3ZvaWQgQ2FjaGU6OmJhdGNoUHV0T3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVz
dCYgcmVxdWVzdCwgY29uc3QgRmV0Y2hSZXNwb25zZSYgcmVzcG9uc2UsIEZ1bmN0aW9uPHZvaWQo
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IpPiYmIGNhbGxiYWNrKQoreworICAgIC8vIEZJ
WE1FOiBBZGQgYSBzZXRIVFRQSGVhZGVyRmllbGRzIG9uIFJlc291cmNlUmVzcG9uc2VCYXNlLgor
ICAgIFJlc291cmNlUmVzcG9uc2UgY2FjaGVkUmVzcG9uc2UgPSByZXNwb25zZS5yZXNwb25zZSgp
OworICAgIGZvciAoYXV0byYgaGVhZGVyIDogcmVzcG9uc2UuaGVhZGVycygpLmludGVybmFsSGVh
ZGVycygpKQorICAgICAgICBjYWNoZWRSZXNwb25zZS5zZXRIVFRQSGVhZGVyRmllbGQoaGVhZGVy
LmtleSwgaGVhZGVyLnZhbHVlKTsKKworICAgIFJlc291cmNlUmVxdWVzdCBjYWNoZWRSZXF1ZXN0
ID0gcmVxdWVzdC5pbnRlcm5hbFJlcXVlc3QoKS5yZXF1ZXN0OworICAgIGNhY2hlZFJlcXVlc3Qu
c2V0SFRUUEhlYWRlckZpZWxkcyhyZXF1ZXN0LmhlYWRlcnMoKS5pbnRlcm5hbEhlYWRlcnMoKSk7
CisKKyAgICBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQgcmVjb3JkID0geyAwLAorICAg
ICAgICByZXF1ZXN0LmhlYWRlcnMoKS5ndWFyZCgpLCBXVEZNb3ZlKGNhY2hlZFJlcXVlc3QpLCBy
ZXF1ZXN0LmludGVybmFsUmVxdWVzdCgpLm9wdGlvbnMsIHJlcXVlc3QuaW50ZXJuYWxSZXF1ZXN0
KCkucmVmZXJyZXIsCisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMoKS5ndWFyZCgpLCBXVEZNb3Zl
KGNhY2hlZFJlc3BvbnNlKQorICAgIH07CisKKyAgICBtX2Nvbm5lY3Rpb24tPmJhdGNoUHV0T3Bl
cmF0aW9uKG9yaWdpbigpLCBtX25hbWUsIFdURk1vdmUocmVjb3JkKSwgW3RoaXMsIHByb3RlY3Rl
ZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oVmVj
dG9yPHVpbnQ2NF90PiYmLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJvciBlcnJvcikgewor
ICAgICAgICBjYWxsYmFjayhlcnJvcik7CisgICAgfSk7Cit9CisKK3ZvaWQgQ2FjaGU6OnVwZGF0
ZVJlcXVlc3RUb1Jlc3BvbnNlTWFwKFZlY3RvcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNv
cmQ+JiYgcmVjb3JkcykKK3sKKyAgICBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiBuZXdNYXA7
CisKKyAgICBmb3IgKGF1dG8mIHJlY29yZCA6IHJlY29yZHMpIHsKKyAgICAgICAgc2l6ZV90IGlu
ZGV4ID0gbV9yZXF1ZXN0VG9SZXNwb25zZU1hcC5maW5kTWF0Y2hpbmcoWyZdKGNvbnN0IGF1dG8m
IGl0ZW0pIHsgcmV0dXJuIGl0ZW0uaWRlbnRpZmllciA9PSByZWNvcmQuaWRlbnRpZmllcjsgfSk7
CisgICAgICAgIGlmIChpbmRleCAhPSBub3RGb3VuZCkKKyAgICAgICAgICAgIG5ld01hcC5hcHBl
bmQoV1RGTW92ZShtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwW2luZGV4XSkpOworICAgICAgICBlbHNl
IHsKKyAgICAgICAgICAgIGF1dG8gcmVxdWVzdEhlYWRlcnMgPSBGZXRjaEhlYWRlcnM6OmNyZWF0
ZShyZWNvcmQucmVxdWVzdEhlYWRlcnNHdWFyZCwgSFRUUEhlYWRlck1hcCB7IHJlY29yZC5yZXF1
ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSB9KTsKKyAgICAgICAgICAgIEZldGNoUmVxdWVzdDo6SW50
ZXJuYWxSZXF1ZXN0IGludGVybmFsUmVxdWVzdCA9IHsgV1RGTW92ZShyZWNvcmQucmVxdWVzdCks
IFdURk1vdmUocmVjb3JkLm9wdGlvbnMpLCBXVEZNb3ZlKHJlY29yZC5yZWZlcnJlcikgfTsKKyAg
ICAgICAgICAgIGF1dG8gcmVxdWVzdCA9IEZldGNoUmVxdWVzdDo6Y3JlYXRlKG1fY29udGV4dCwg
c3RkOjpudWxsb3B0LCBXVEZNb3ZlKHJlcXVlc3RIZWFkZXJzKSwgV1RGTW92ZShpbnRlcm5hbFJl
cXVlc3QpKTsKKworICAgICAgICAgICAgYXV0byByZXNwb25zZUhlYWRlcnMgPSBGZXRjaEhlYWRl
cnM6OmNyZWF0ZShyZWNvcmQucmVzcG9uc2VIZWFkZXJzR3VhcmQsIEhUVFBIZWFkZXJNYXAgeyBy
ZWNvcmQucmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkcygpIH0pOworICAgICAgICAgICAgYXV0byBy
ZXNwb25zZSA9IEZldGNoUmVzcG9uc2U6OmNyZWF0ZShtX2NvbnRleHQsIHN0ZDo6bnVsbG9wdCwg
V1RGTW92ZShyZXNwb25zZUhlYWRlcnMpLCBXVEZNb3ZlKHJlY29yZC5yZXNwb25zZSkpOworCisg
ICAgICAgICAgICBuZXdNYXAuYXBwZW5kKENhY2hlU3RvcmFnZVJlY29yZCB7IHJlY29yZC5pZGVu
dGlmaWVyLCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKHJlc3BvbnNlKSB9KTsKKyAgICAgICAg
fQorICAgIH0KKyAgICBtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwID0gV1RGTW92ZShuZXdNYXApOwor
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NhY2hlL0NhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hl
LmgKaW5kZXggMDA4MmFjZDU1NmRkZjVkZWU5Zjc1MDY2NWMyZjRlOWViOWRkOTY1ZS4uNDlmOTEx
Njg5NmFlZjVhZDliY2JlYmFkMmUxOTg3MDJkZWM2NTY1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2FjaGUvQ2FjaGUuaApAQCAtMjUsMzYgKzI1LDU1IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5j
bHVkZSAiRmV0Y2hSZXF1ZXN0LmgiCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5o
IgorI2luY2x1ZGUgIkNhY2hlU3RvcmFnZVJlY29yZC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIEZldGNoUmVzcG9uc2U7Ci0KLXN0cnVjdCBDYWNoZVF1ZXJ5T3B0aW9uczsKK2Ns
YXNzIENhY2hlUXVlcnlPcHRpb25zOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAog
Y2xhc3MgQ2FjaGUgOiBwdWJsaWMgUmVmQ291bnRlZDxDYWNoZT4gewogcHVibGljOgotICAgIHN0
YXRpYyBSZWY8Q2FjaGU+IGNyZWF0ZShTdHJpbmcmJiBuYW1lKSB7IHJldHVybiBhZG9wdFJlZigq
bmV3IENhY2hlKFdURk1vdmUobmFtZSkpKTsgfQorICAgIHN0YXRpYyBSZWY8Q2FjaGU+IGNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBTdHJpbmcmJiBuYW1lLCBSZWY8Q2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbj4mJiBjb25uZWN0aW9uKSB7IHJldHVybiBhZG9wdFJlZigqbmV3
IENhY2hlKGNvbnRleHQsIFdURk1vdmUobmFtZSksIFdURk1vdmUoY29ubmVjdGlvbikpKTsgfQor
ICAgIH5DYWNoZSgpOwogCiAgICAgdXNpbmcgUmVxdWVzdEluZm8gPSBGZXRjaFJlcXVlc3Q6Oklu
Zm87CiAKLSAgICB1c2luZyBNYXRjaEFsbFByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURM
U2VxdWVuY2U8SURMSW50ZXJmYWNlPEZldGNoUmVzcG9uc2U+Pj47CiAgICAgdXNpbmcgS2V5c1By
b21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMU2VxdWVuY2U8SURMSW50ZXJmYWNlPEZldGNo
UmVxdWVzdD4+PjsKIAotICAgIHZvaWQgbWF0Y2goUmVxdWVzdEluZm8mJiwgc3RkOjpvcHRpb25h
bDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7Ci0gICAgdm9p
ZCBtYXRjaEFsbChzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZvPiYmLCBzdGQ6Om9wdGlvbmFsPENh
Y2hlUXVlcnlPcHRpb25zPiYmLCBNYXRjaEFsbFByb21pc2UmJik7CisgICAgZW51bSBjbGFzcyBN
YXRjaFR5cGUgeyBBbGwsIE9ubHlGaXJzdCB9OworICAgIHZvaWQgbWF0Y2goUmVxdWVzdEluZm8m
JiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisgICAgdm9p
ZCBtYXRjaEFsbChzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZvPiYmLCBDYWNoZVF1ZXJ5T3B0aW9u
cyYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmLCBNYXRjaFR5cGUgPSBNYXRjaFR5cGU6OkFsbCk7
CiAgICAgdm9pZCBhZGQoUmVxdWVzdEluZm8mJiwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYp
OwogCiAgICAgdm9pZCBhZGRBbGwoVmVjdG9yPFJlcXVlc3RJbmZvPiYmLCBET01Qcm9taXNlRGVm
ZXJyZWQ8dm9pZD4mJik7CiAgICAgdm9pZCBwdXQoUmVxdWVzdEluZm8mJiwgUmVmPEZldGNoUmVz
cG9uc2U+JiYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKTsKLSAgICB2b2lkIHJlbW92ZShS
ZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBET01Qcm9t
aXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJik7Ci0gICAgdm9pZCBrZXlzKHN0ZDo6b3B0aW9uYWw8
UmVxdWVzdEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIEtleXNQ
cm9taXNlJiYpOworICAgIHZvaWQgcmVtb3ZlKFJlcXVlc3RJbmZvJiYsIENhY2hlUXVlcnlPcHRp
b25zJiYsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmKTsKKyAgICB2b2lkIGtleXMo
c3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4mJiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgS2V5c1By
b21pc2UmJik7CisKKyAgICBjb25zdCBTdHJpbmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25h
bWU7IH0KKworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIHF1ZXJ5Q2FjaGVNYXRjaChj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgY2Fj
aGVkUmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IENhY2hlUXVlcnlPcHRp
b25zJik7CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgQ2FjaGUoU3RyaW5nJiYgbmFtZSkgOiBt
X25hbWUoV1RGTW92ZShuYW1lKSkgeyB9CisgICAgQ2FjaGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYsIFN0cmluZyYmIG5hbWUsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYmKTsKKworICAg
IFN0cmluZyBvcmlnaW4oKSBjb25zdDsKIAorICAgIHZvaWQgcmVmcmVzaFJlcXVlc3RUb1Jlc3Bv
bnNlTWFwKEZ1bmN0aW9uPHZvaWQoKT4mJik7CisgICAgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29y
ZD4gcXVlcnlDYWNoZVdpdGhUYXJnZXRTdG9yYWdlKGNvbnN0IEZldGNoUmVxdWVzdCYsIGNvbnN0
IENhY2hlUXVlcnlPcHRpb25zJiwgY29uc3QgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4mKTsK
KyAgICB2b2lkIHF1ZXJ5Q2FjaGUoUmVmPEZldGNoUmVxdWVzdD4mJiwgQ2FjaGVRdWVyeU9wdGlv
bnMmJiwgRnVuY3Rpb248dm9pZChjb25zdCBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiYpPiYm
KTsKKyAgICB2b2lkIGJhdGNoRGVsZXRlT3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYsIENh
Y2hlUXVlcnlPcHRpb25zJiYsIEZ1bmN0aW9uPHZvaWQoYm9vbCBkaWRSZW1vdmFsLCBDYWNoZVN0
b3JhZ2VDb25uZWN0aW9uOjpFcnJvcik+JiYpOworICAgIHZvaWQgYmF0Y2hQdXRPcGVyYXRpb24o
Y29uc3QgRmV0Y2hSZXF1ZXN0JiwgY29uc3QgRmV0Y2hSZXNwb25zZSYsIEZ1bmN0aW9uPHZvaWQo
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IpPiYmKTsKKworICAgIHZvaWQgdXBkYXRlUmVx
dWVzdFRvUmVzcG9uc2VNYXAoVmVjdG9yPENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlY29yZD4m
Jik7CisKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBtX2NvbnRleHQ7CiAgICAgU3RyaW5n
IG1fbmFtZTsKKyAgICBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOwor
CisgICAgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4gbV9yZXF1ZXN0VG9SZXNwb25zZU1hcDsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvY2FjaGUvQ2FjaGUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9D
YWNoZS5pZGwKaW5kZXggZDQ3OTY5MTU1ZDIwYTRmN2JmYTM4YTZkYzBiMmRmMzIyNTZhOTRlMC4u
ODk3NDNhZWJkMjkxODZkOGQ4NjMyYjZkMmFlNjI2NGJmOTVjZWU0ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9DYWNoZS5pZGwKQEAgLTMwLDEyICszMCwxNiBAQCB0eXBlZGVmIChGZXRj
aFJlcXVlc3Qgb3IgVVNWU3RyaW5nKSBSZXF1ZXN0SW5mbzsKICAgICBFeHBvc2VkPShXaW5kb3cs
V29ya2VyKSwKICAgICBFbmFibGVkQXRSdW50aW1lPUNhY2hlQVBJLAogICAgIEltcGxlbWVudGF0
aW9uTGFja3NWVGFibGUsCisgICAgUHJpdmF0ZUlkZW50aWZpZXIsCisgICAgUHVibGljSWRlbnRp
ZmllciwKIF0gaW50ZXJmYWNlIENhY2hlIHsKICAgICBbTmV3T2JqZWN0XSBQcm9taXNlPGFueT4g
bWF0Y2goUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0
aW9ucyk7Ci0gICAgW05ld09iamVjdF0gUHJvbWlzZTxzZXF1ZW5jZTxGZXRjaFJlc3BvbnNlPj4g
bWF0Y2hBbGwob3B0aW9uYWwgUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVy
eU9wdGlvbnMgb3B0aW9ucyk7CisgICAgW05ld09iamVjdCwgUHJpdmF0ZUlkZW50aWZpZXIsIFB1
YmxpY0lkZW50aWZpZXJdIFByb21pc2U8c2VxdWVuY2U8RmV0Y2hSZXNwb25zZT4+IG1hdGNoQWxs
KG9wdGlvbmFsIFJlcXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25z
IG9wdGlvbnMpOwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gYWRkKFJlcXVlc3RJbmZv
IHJlcXVlc3QpOwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gYWRkQWxsKHNlcXVlbmNl
PFJlcXVlc3RJbmZvPiByZXF1ZXN0cyk7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiBw
dXQoUmVxdWVzdEluZm8gcmVxdWVzdCwgRmV0Y2hSZXNwb25zZSByZXNwb25zZSk7CiAgICAgW05l
d09iamVjdCwgSW1wbGVtZW50ZWRBcz1yZW1vdmVdIFByb21pc2U8Ym9vbGVhbj4gZGVsZXRlKFJl
cXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25zIG9wdGlvbnMpOwog
ICAgIFtOZXdPYmplY3RdIFByb21pc2U8c2VxdWVuY2U8UmVxdWVzdD4+IGtleXMob3B0aW9uYWwg
UmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9ucyk7
CisKKyAgICBbUHJpdmF0ZUlkZW50aWZpZXIsIEltcGxlbWVudGVkQXM9bmFtZV0gRE9NU3RyaW5n
IGNhY2hlTmFtZSgpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvQ2FjaGVRdWVyeU9wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2Fj
aGVRdWVyeU9wdGlvbnMuaAppbmRleCA2OGY2N2ZhY2YzNTY4NzFlZWY0ZTU1NDY5NThiNzI3YTY1
OTM2OTNiLi5iMjg3YWRlYWYzZDg0MTQ3ZGY0YzVjZGNmMjBjMjg3MWE2MjlhMzQ0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlUXVlcnlPcHRpb25zLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVF1ZXJ5T3B0aW9ucy5oCkBAIC0y
OSw3ICsyOSwxMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBDYWNoZVF1ZXJ5
T3B0aW9ucyB7CitjbGFzcyBDYWNoZVF1ZXJ5T3B0aW9ucyB7CitwdWJsaWM6CisgICAgQ2FjaGVR
dWVyeU9wdGlvbnMgaXNvbGF0ZWRDb3B5KCkgY29uc3QgeyByZXR1cm4gQ2FjaGVRdWVyeU9wdGlv
bnMgeyBpZ25vcmVTZWFyY2gsIGlnbm9yZU1ldGhvZCwgaWdub3JlVmFyeSwgY2FjaGVOYW1lLmlz
b2xhdGVkQ29weSgpIH07IH0KKwogICAgIGJvb2wgaWdub3JlU2VhcmNoIHsgZmFsc2UgfTsKICAg
ICBib29sIGlnbm9yZU1ldGhvZCB7IGZhbHNlIH07CiAgICAgYm9vbCBpZ25vcmVWYXJ5IHsgZmFs
c2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9y
YWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmNwcApp
bmRleCAxMjM2N2JlOTY2ZTFlM2EyOGE5ZTI5ZGJmZTRiODNiZDVhY2RlY2M2Li4xYTY0NTQyZjI2
NTY4NGVlMmVhMDgyYWJlMmQ4ZjVjZjQ2ODFmMDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuY3BwCkBAIC0yNiwzMSArMjYsOTQgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJDYWNoZVN0b3JhZ2UuaCIKIAorI2luY2x1ZGUgIkNhY2hl
UXVlcnlPcHRpb25zLmgiCisjaW5jbHVkZSAiSlNDYWNoZS5oIgorI2luY2x1ZGUgIlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12b2lkIENhY2hlU3Rv
cmFnZTo6bWF0Y2goUmVxdWVzdEluZm8mJiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9u
cz4mJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQorU3RyaW5nIENhY2hlU3RvcmFn
ZTo6b3JpZ2luKCkgY29uc3QKIHsKLSAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9uIHsgVHlw
ZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgYXV0byogb3Jp
Z2luID0gbV9jb250ZXh0LnNlY3VyaXR5T3JpZ2luKCk7CisgICAgcmV0dXJuIG9yaWdpbiA/IG9y
aWdpbi0+dG9TdHJpbmcoKSA6IGVtcHR5U3RyaW5nKCk7CiB9CiAKLXZvaWQgQ2FjaGVTdG9yYWdl
OjpoYXMoY29uc3QgU3RyaW5nJiwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYgcHJv
bWlzZSkKK3ZvaWQgQ2FjaGVTdG9yYWdlOjpoYXMoY29uc3QgU3RyaW5nJiBuYW1lLCBET01Qcm9t
aXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVqZWN0
KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0p
OworICAgIHJlZnJlc2hDYWNoZU1hcChbdGhpcywgbmFtZSwgcHJvbWlzZSA9IFdURk1vdmUocHJv
bWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgIHByb21pc2UucmVzb2x2ZShtX2NhY2hlTWFwLmZp
bmRNYXRjaGluZyhbJl0oYXV0byYgaXRlbSkgeyByZXR1cm4gaXRlbS0+bmFtZSgpID09IG5hbWU7
IH0pICE9IG5vdEZvdW5kKTsKKyAgICB9KTsKK30KKwordm9pZCBDYWNoZVN0b3JhZ2U6OnJlZnJl
c2hDYWNoZU1hcChGdW5jdGlvbjx2b2lkKCk+JiYgY2FsbGJhY2spCit7CisgICAgbV9jb25uZWN0
aW9uLT5yZWZyZXNoQ2FjaGVNYXAob3JpZ2luKCksIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFr
ZVJlZigqdGhpcyksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiBjYWNoZU5hbWVzKSB7CisgICAgICAgIG1fY2FjaGVNYXAucmVtb3ZlQWxsTWF0Y2hp
bmcoWyZdKGF1dG8mIGNhY2hlKSB7IHJldHVybiAhY2FjaGVOYW1lcy5jb250YWlucyhjYWNoZS0+
bmFtZSgpKTsgfSk7CisKKyAgICAgICAgc3RkOjpzb3J0KG1fY2FjaGVNYXAuYmVnaW4oKSwgbV9j
YWNoZU1hcC5lbmQoKSwgWyZdKGF1dG8mIGEsIGF1dG8mIGIpIHsKKyAgICAgICAgICAgIHJldHVy
biBjYWNoZU5hbWVzLmZpbmQoYS0+bmFtZSgpKSA8IGNhY2hlTmFtZXMuZmluZChiLT5uYW1lKCkp
OworICAgICAgICB9KTsKKworICAgICAgICBjYWxsYmFjaygpOworICAgIH0pOwogfQogCi12b2lk
IENhY2hlU3RvcmFnZTo6b3Blbihjb25zdCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURM
SW50ZXJmYWNlPENhY2hlPj4mJiBwcm9taXNlKQordm9pZCBDYWNoZVN0b3JhZ2U6Om9wZW4oY29u
c3QgU3RyaW5nJiBuYW1lLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPENhY2hlPj4m
JiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwg
QVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHJlZnJlc2hDYWNoZU1hcChb
dGhpcywgbmFtZSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAg
ICAgIGF1dG8gcG9zaXRpb24gPSBtX2NhY2hlTWFwLmZpbmRNYXRjaGluZyhbJl0oYXV0byYgaXRl
bSkgeyByZXR1cm4gaXRlbS0+bmFtZSgpID09IG5hbWU7IH0pOworICAgICAgICBpZiAocG9zaXRp
b24gIT0gbm90Rm91bmQpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShtX2NhY2hlTWFw
W3Bvc2l0aW9uXSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgbV9j
b25uZWN0aW9uLT5vcGVuKG9yaWdpbigpLCBuYW1lLCBbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYo
KnRoaXMpLCB0aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICAgICAgaWYgKGVy
cm9yICE9IENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yOjpOb25lKSB7CisgICAgICAgICAg
ICAgICAgcHJvbWlzZS5yZWplY3QoQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJv
bUVycm9yKGVycm9yKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQor
CisgICAgICAgICAgICBhdXRvIGNhY2hlID0gQ2FjaGU6OmNyZWF0ZShtX2NvbnRleHQsIFN0cmlu
ZyhuYW1lKSwgbV9jb25uZWN0aW9uLmNvcHlSZWYoKSk7CisgICAgICAgICAgICBwcm9taXNlLnJl
c29sdmUoY2FjaGUpOworICAgICAgICAgICAgbV9jYWNoZU1hcC5hcHBlbmQoV1RGTW92ZShjYWNo
ZSkpOworICAgICAgICB9KTsKKyAgICB9KTsKIH0KIAotdm9pZCBDYWNoZVN0b3JhZ2U6OnJlbW92
ZShjb25zdCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNl
KQordm9pZCBDYWNoZVN0b3JhZ2U6OnJlbW92ZShjb25zdCBTdHJpbmcmIG5hbWUsIERPTVByb21p
c2VEZWZlcnJlZDxJRExCb29sZWFuPiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS5yZWplY3Qo
RXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7
CisgICAgcmVmcmVzaENhY2hlTWFwKFt0aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9t
aXNlKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgYXV0byBwb3NpdGlvbiA9IG1fY2FjaGVNYXAuZmlu
ZE1hdGNoaW5nKFsmXShhdXRvJiBpdGVtKSB7IHJldHVybiBpdGVtLT5uYW1lKCkgPT0gbmFtZTsg
fSk7CisgICAgICAgIGlmIChwb3NpdGlvbiA9PSBub3RGb3VuZCkgeworICAgICAgICAgICAgcHJv
bWlzZS5yZXNvbHZlKGZhbHNlKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAg
ICAgICBtX2Nvbm5lY3Rpb24tPnJlbW92ZShvcmlnaW4oKSwgbmFtZSwgW3Byb3RlY3RlZFRoaXMg
PSBtYWtlUmVmKCp0aGlzKSwgbmFtZSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKENhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OkVycm9yIGVycm9yKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlm
IChlcnJvciAhPSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJvcjo6Tm9uZSkgeworICAgICAg
ICAgICAgICAgIHByb21pc2UucmVqZWN0KENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlv
bkZyb21FcnJvcihlcnJvcikpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZSh0cnVlKTsKKyAgICAgICAgfSk7CisgICAg
ICAgIG1fY2FjaGVNYXAucmVtb3ZlKHBvc2l0aW9uKTsKKyAgICB9KTsKIH0KIAogdm9pZCBDYWNo
ZVN0b3JhZ2U6OmtleXMoS2V5c1Byb21pc2UmJiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVq
ZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQi
KX0pOworICAgIHJlZnJlc2hDYWNoZU1hcChbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlz
ZSldKCkgbXV0YWJsZSB7CisgICAgICAgIFZlY3RvcjxTdHJpbmc+IGtleXM7CisgICAgICAgIGtl
eXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShtX2NhY2hlTWFwLnNpemUoKSk7CisgICAgICAgIGZv
ciAoYXV0byYgY2FjaGUgOiBtX2NhY2hlTWFwKQorICAgICAgICAgICAga2V5cy51bmNoZWNrZWRB
cHBlbmQoY2FjaGUtPm5hbWUoKSk7CisgICAgICAgIHByb21pc2UucmVzb2x2ZShrZXlzKTsKKyAg
ICB9KTsKK30KKwordm9pZCBDYWNoZVN0b3JhZ2U6OmNhY2hlTWFwKENhY2hlTWFwUHJvbWlzZSYm
IHByb21pc2UpCit7CisgICAgcmVmcmVzaENhY2hlTWFwKFt0aGlzLCBwcm9taXNlID0gV1RGTW92
ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgcHJvbWlzZS5yZXNvbHZlKG1fY2FjaGVN
YXApOworICAgIH0pOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaAppbmRleCBmYTI2OTAwMDM2YzMyNjczNjYy
MWZjYjgzN2M3NzcxZWFhOGQ4MjIzLi44NTMyODA0Mzg1OThiMWNlMmVhZDc3ZjdlNTc1NWNmY2E0
MTY2NTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3Rv
cmFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmgK
QEAgLTI1LDI5ICsyNSw0NSBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkNhY2hlLmgi
CisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIkZldGNoUmVx
dWVzdC5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY2xhc3MgQ2FjaGU7Ci0KLXN0cnVjdCBDYWNoZVF1ZXJ5T3B0aW9uczsKK2NsYXNzIENhY2hl
UXVlcnlPcHRpb25zOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAogY2xhc3MgQ2Fj
aGVTdG9yYWdlIDogcHVibGljIFJlZkNvdW50ZWQ8Q2FjaGVTdG9yYWdlPiB7CiBwdWJsaWM6Ci0g
ICAgc3RhdGljIFJlZjxDYWNoZVN0b3JhZ2U+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgQ2FjaGVTdG9yYWdlKCkpOyB9CisgICAgc3RhdGljIFJlZjxDYWNoZVN0b3JhZ2U+IGNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVj
dGlvbj4mJiBjb25uZWN0aW9uKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IENhY2hlU3RvcmFnZShj
b250ZXh0LCBXVEZNb3ZlKGNvbm5lY3Rpb24pKSk7IH0KIAotICAgIHVzaW5nIFJlcXVlc3RJbmZv
ID0gRmV0Y2hSZXF1ZXN0OjpJbmZvOwogICAgIHVzaW5nIEtleXNQcm9taXNlID0gRE9NUHJvbWlz
ZURlZmVycmVkPElETFNlcXVlbmNlPElETERPTVN0cmluZz4+OwogCi0gICAgdm9pZCBtYXRjaChS
ZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBSZWY8RGVm
ZXJyZWRQcm9taXNlPiYmKTsKICAgICB2b2lkIGhhcyhjb25zdCBTdHJpbmcmLCBET01Qcm9taXNl
RGVmZXJyZWQ8SURMQm9vbGVhbj4mJik7CiAgICAgdm9pZCBvcGVuKGNvbnN0IFN0cmluZyYsIERP
TVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8Q2FjaGU+PiYmKTsKICAgICB2b2lkIHJlbW92
ZShjb25zdCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJik7CiAgICAg
dm9pZCBrZXlzKEtleXNQcm9taXNlJiYpOwogCisgICAgdXNpbmcgQ2FjaGVNYXBQcm9taXNlID0g
RE9NUHJvbWlzZURlZmVycmVkPElETFNlcXVlbmNlPElETEludGVyZmFjZTxDYWNoZT4+PjsKKyAg
ICB2b2lkIGNhY2hlTWFwKENhY2hlTWFwUHJvbWlzZSYmKTsKKwogcHJpdmF0ZToKLSAgICBDYWNo
ZVN0b3JhZ2UoKSA9IGRlZmF1bHQ7CisgICAgQ2FjaGVTdG9yYWdlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmLCBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4mJik7CisKKyAgICB2b2lkIHJlZnJl
c2hDYWNoZU1hcChGdW5jdGlvbjx2b2lkKCk+JiYpOworICAgIFN0cmluZyBvcmlnaW4oKSBjb25z
dDsKKworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIG1fY29udGV4dDsKKyAgICBWZWN0b3I8
UmVmPENhY2hlPj4gbV9jYWNoZU1hcDsKKyAgICBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4g
bV9jb25uZWN0aW9uOwogfTsKIAoraW5saW5lIENhY2hlU3RvcmFnZTo6Q2FjaGVTdG9yYWdlKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
PiYmIGNvbm5lY3Rpb24pCisgICAgOiBtX2NvbnRleHQoY29udGV4dCkKKyAgICAsIG1fY29ubmVj
dGlvbihXVEZNb3ZlKGNvbm5lY3Rpb24pKQoreworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5pZGwKaW5kZXgg
OGQ3MWUwOTAzZTc2ZTFhNGI2MmJmYjZmMDI4NDk2ZmI5ODZmMDYyYS4uNjYzOTkzZGFkNjQwMGQ0
MDk3ODUyZjNiZGIzMzI0ODAwYTUxNzVmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2FjaGUvQ2FjaGVTdG9yYWdlLmlkbApAQCAtMzAsMTAgKzMwLDE0IEBAIHR5cGVkZWYgKEZldGNo
UmVxdWVzdCBvciBVU1ZTdHJpbmcpIFJlcXVlc3RJbmZvOwogICAgIEV4cG9zZWQ9KFdpbmRvdyxX
b3JrZXIpLAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9Q2FjaGVBUEksCiAgICAgSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZSwKKyAgICBQcml2YXRlSWRlbnRpZmllciwKKyAgICBQdWJsaWNJZGVudGlm
aWVyLAogXSBpbnRlcmZhY2UgQ2FjaGVTdG9yYWdlIHsKLSAgICBbTmV3T2JqZWN0XSBQcm9taXNl
PGFueT4gbWF0Y2goUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlv
bnMgb3B0aW9ucyk7CisgICAgW05ld09iamVjdCwgSlNCdWlsdGluXSBQcm9taXNlPGFueT4gbWF0
Y2goUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9u
cyk7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxib29sZWFuPiBoYXMoRE9NU3RyaW5nIGNhY2hl
TmFtZSk7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxDYWNoZT4gb3BlbihET01TdHJpbmcgY2Fj
aGVOYW1lKTsKICAgICBbTmV3T2JqZWN0LCBJbXBsZW1lbnRlZEFzPXJlbW92ZV0gUHJvbWlzZTxi
b29sZWFuPiBkZWxldGUoRE9NU3RyaW5nIGNhY2hlTmFtZSk7CiAgICAgW05ld09iamVjdF0gUHJv
bWlzZTxzZXF1ZW5jZTxET01TdHJpbmc+PiBrZXlzKCk7CisKKyAgICBbUHJpdmF0ZUlkZW50aWZp
ZXJdIFByb21pc2U8c2VxdWVuY2U8Q2FjaGU+PiBjYWNoZU1hcCgpOwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmpzIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDA1YzFhYmNl
N2Y3NTgzNDk3NjMwNWQ4MzJjYmYyODNhZGRmMmQ3OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmpzCkBAIC0wLDAgKzEsNTggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCitmdW5jdGlvbiBtYXRjaChyZXF1ZXN0KQoreworICBpZiAoISh0aGlzIGlu
c3RhbmNlb2YgQENhY2hlU3RvcmFnZSkpCisgICAgICAgcmV0dXJuIEBQcm9taXNlLkByZWplY3Qo
QG1ha2VUaGlzVHlwZUVycm9yKCJDYWNoZVN0b3JhZ2UiLCAibWF0Y2giKSk7CisKKyAgICByZXR1
cm4gQENhY2hlU3RvcmFnZS5wcm90b3R5cGUuQGNhY2hlTWFwLkBjYWxsKHRoaXMpLnRoZW4oKGNh
Y2hlTWFwKSA9PiB7CisgICAgICAgIGxldCBvcHRpb25zID0gYXJndW1lbnRzWzFdOworICAgICAg
ICBpZiAoQGlzT2JqZWN0KG9wdGlvbnMpICYmIG9wdGlvbnMuY2FjaGVOYW1lKSB7CisgICAgICAg
ICAgICBmb3IgKGxldCBjYWNoZSBvZiBjYWNoZU1hcCkgeworICAgICAgICAgICAgICAgIGlmIChA
Q2FjaGUucHJvdG90eXBlLkBjYWNoZU5hbWUuQGNhbGwoY2FjaGUpID09PSBvcHRpb25zLmNhY2hl
TmFtZSkgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4gQENhY2hlLnByb3RvdHlwZS5AbWF0
Y2hBbGwuQGNhbGwoY2FjaGUsIHJlcXVlc3QsIG9wdGlvbnMpLnRoZW4oKHJlc3VsdCkgPT4gewor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5sZW5ndGgpCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdFswXTsKKyAgICAgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIEBQ
cm9taXNlLkByZXNvbHZlKCk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBtYXRjaE5l
eHRDYWNoZShjYWNoZU1hcCwgcmVxdWVzdCwgb3B0aW9ucywgY291bnRlcikgeworICAgICAgICAg
ICAgaWYgKGNvdW50ZXIgPT09IGNhY2hlTWFwLmxlbmd0aCkKKyAgICAgICAgICAgICAgICByZXR1
cm4gQFByb21pc2UuQHJlc29sdmUoKTsKKworICAgICAgICAgICAgbGV0IGNhY2hlID0gQENhY2hl
U3RvcmFnZS5wcm90b3R5cGUuQGdldChjYWNoZU1hcFtjb3VudGVyXSk7CisgICAgICAgICAgICBy
ZXR1cm4gQENhY2hlLnByb3RvdHlwZS5AbWF0Y2hBbGwuQGNhbGwoY2FjaGUsIHJlcXVlc3QsIG9w
dGlvbnMpLnRoZW4oKHJlc3VsdCkgPT4geworICAgICAgICAgICAgICAgIGlmIChyZXN1bHQubGVu
Z3RoKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0WzBdOworICAgICAgICAgICAg
ICAgIHJldHVybiBtYXRjaE5leHRDYWNoZShjYWNoZU1hcCwgcmVxdWVzdCwgb3B0aW9ucywgY291
bnRlciArIDEpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIG1h
dGNoTmV4dENhY2hlKGNhY2hlTWFwLCByZXF1ZXN0LCBvcHRpb25zLCAwKTsKKyAgICB9KTsKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29u
bmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNv
bm5lY3Rpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI5ZWJiODFkNmNkYTI0ZDZjNGIwOTUyMTNkYTc2M2Zh
OTZkZTI5NGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hl
L0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCkBAIC0wLDAgKzEsNDYgQEAKKworLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
LmgiCisKKyNpbmNsdWRlICJFeGNlcHRpb24uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitF
eGNlcHRpb24gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9yKEVycm9y
IGVycm9yKQoreworICAgIHN3aXRjaCAoZXJyb3IpIHsKKyAgICBjYXNlIEVycm9yOjpOb25lOgor
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJVbmtub3duIGVycm9yIikgfTsKKyAgICBjYXNlIEVy
cm9yOjpOb3RJbXBsZW1lbnRlZDoKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJv
ciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKSB9OworICAgIH07Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9j
YWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nh
Y2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOTcxMjA3NjBjMzgxY2Vj
MzNlNzcwYzVjOWI1NjA1ODU0ZjFlZTk0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgKQEAgLTAsMCArMSw4OCBA
QAorCisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJGZXRjaEhlYWRlcnMu
aCIKKyNpbmNsdWRlICJGZXRjaE9wdGlvbnMuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3Qu
aCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCisjaW5jbHVkZSA8d3RmL1RocmVhZFNh
ZmVSZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2FjaGVRdWVy
eU9wdGlvbnM7CisKK2NsYXNzIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24gOiBwdWJsaWMgVGhyZWFk
U2FmZVJlZkNvdW50ZWQ8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4geworcHVibGljOgorICAgIGVu
dW0gY2xhc3MgRXJyb3IgeworICAgICAgICBOb25lLAorICAgICAgICBOb3RJbXBsZW1lbnRlZCwK
KyAgICB9OworCisgICAgc3RhdGljIEV4Y2VwdGlvbiBleGNlcHRpb25Gcm9tRXJyb3IoRXJyb3Ip
OworCisgICAgc3RydWN0IFJlY29yZCB7CisgICAgICAgIHVpbnQ2NF90IGlkZW50aWZpZXI7CisK
KyAgICAgICAgRmV0Y2hIZWFkZXJzOjpHdWFyZCByZXF1ZXN0SGVhZGVyc0d1YXJkOworICAgICAg
ICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdDsKKyAgICAgICAgRmV0Y2hPcHRpb25zIG9wdGlvbnM7
CisgICAgICAgIFN0cmluZyByZWZlcnJlcjsKKworICAgICAgICBGZXRjaEhlYWRlcnM6Okd1YXJk
IHJlc3BvbnNlSGVhZGVyc0d1YXJkOworICAgICAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNl
OworCisgICAgICAgIHN0cnVjdCBDcm9zc1RocmVhZERhdGEgeworICAgICAgICAgICAgdWludDY0
X3QgaWRlbnRpZmllcjsKKworICAgICAgICAgICAgRmV0Y2hIZWFkZXJzOjpHdWFyZCByZXF1ZXN0
SGVhZGVyc0d1YXJkOworICAgICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3Q7CisgICAg
ICAgICAgICBGZXRjaE9wdGlvbnMgb3B0aW9uczsKKyAgICAgICAgICAgIFN0cmluZyByZWZlcnJl
cjsKKworICAgICAgICAgICAgRmV0Y2hIZWFkZXJzOjpHdWFyZCByZXNwb25zZUhlYWRlcnNHdWFy
ZDsKKyAgICAgICAgICAgIFJlc291cmNlUmVzcG9uc2U6OkNyb3NzVGhyZWFkRGF0YSByZXNwb25z
ZTsKKyAgICAgICAgfTsKKworICAgICAgICBDcm9zc1RocmVhZERhdGEgdG9Dcm9zc1RocmVhZERh
dGEoKSBjb25zdCB7IHJldHVybiBDcm9zc1RocmVhZERhdGEgeyBpZGVudGlmaWVyLCByZXF1ZXN0
SGVhZGVyc0d1YXJkLCByZXF1ZXN0Lmlzb2xhdGVkQ29weSgpLCBvcHRpb25zLmlzb2xhdGVkQ29w
eSgpLCByZWZlcnJlci5pc29sYXRlZENvcHkoKSwgcmVzcG9uc2VIZWFkZXJzR3VhcmQsIHJlc3Bv
bnNlLmNyb3NzVGhyZWFkRGF0YSgpIH07IH0KKyAgICAgICAgc3RhdGljIFJlY29yZCBmcm9tQ3Jv
c3NUaHJlYWREYXRhKENyb3NzVGhyZWFkRGF0YSYmIGRhdGEpIHsgcmV0dXJuIFJlY29yZCB7IGRh
dGEuaWRlbnRpZmllciwgZGF0YS5yZXF1ZXN0SGVhZGVyc0d1YXJkLCBXVEZNb3ZlKGRhdGEucmVx
dWVzdCksIFdURk1vdmUoZGF0YS5vcHRpb25zKSwgV1RGTW92ZShkYXRhLnJlZmVycmVyKSwgZGF0
YS5yZXNwb25zZUhlYWRlcnNHdWFyZCwgUmVzb3VyY2VSZXNwb25zZTo6ZnJvbUNyb3NzVGhyZWFk
RGF0YShXVEZNb3ZlKGRhdGEucmVzcG9uc2UpKSB9OyB9CisgICAgfTsKKworICAgIHN0YXRpYyBS
ZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5l
dyBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uKCkpOyB9CisgICAgdmlydHVhbCB+Q2FjaGVTdG9yYWdl
Q29ubmVjdGlvbigpID0gZGVmYXVsdDsKKworICAgIHZpcnR1YWwgdm9pZCBvcGVuKGNvbnN0IFN0
cmluZyYgLyogb3JpZ2luICovLCBjb25zdCBTdHJpbmcmIC8qIGNhY2hlTmFtZSAqLywgRnVuY3Rp
b248dm9pZChFcnJvcik+JiYgY2FsbGJhY2spIHsgY2FsbGJhY2soRXJyb3I6Ok5vdEltcGxlbWVu
dGVkKTsgfQorICAgIHZpcnR1YWwgdm9pZCByZW1vdmUoY29uc3QgU3RyaW5nJiAvKiBvcmlnaW4g
Ki8sIGNvbnN0IFN0cmluZyYgLyogY2FjaGVOYW1lICovLCBGdW5jdGlvbjx2b2lkKEVycm9yKT4m
JiBjYWxsYmFjaykgeyBjYWxsYmFjayhFcnJvcjo6Tm90SW1wbGVtZW50ZWQpOyB9CisgICAgdmly
dHVhbCB2b2lkIHJlZnJlc2hDYWNoZU1hcChjb25zdCBTdHJpbmcmIC8qIG9yaWdpbiAqLywgRnVu
Y3Rpb248dm9pZChjb25zdCBWZWN0b3I8U3RyaW5nPiYpPiYmIGNhbGxiYWNrKSB7IGNhbGxiYWNr
KHsgfSk7IH0KKworICAgIHZpcnR1YWwgdm9pZCByZWZyZXNoUmVxdWVzdFRvUmVzcG9uc2VNYXAo
Y29uc3QgU3RyaW5nJiAvKiBvcmlnaW4gKi8sIGNvbnN0IFN0cmluZyYgLyogY2FjaGVOYW1lICov
LCBGdW5jdGlvbjx2b2lkKFZlY3RvcjxSZWNvcmQ+JiYpPiYmIGNhbGxiYWNrKSB7IGNhbGxiYWNr
KHsgfSk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgYmF0Y2hEZWxldGVPcGVyYXRpb24oY29uc3QgU3Ry
aW5nJiAvKiBvcmlnaW4gKi8sIGNvbnN0IFN0cmluZyYgLyogY2FjaGVOYW1lICovLCBjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBGdW5jdGlvbjx2b2lkKFZlY3Rv
cjx1aW50NjRfdD4mJiwgRXJyb3IpPiYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKHsgfSwgRXJyb3I6
Ok5vdEltcGxlbWVudGVkKTsgfQorICAgIHZpcnR1YWwgdm9pZCBiYXRjaFB1dE9wZXJhdGlvbihj
b25zdCBTdHJpbmcmIC8qIG9yaWdpbiAqLywgY29uc3QgU3RyaW5nJiAvKiBjYWNoZU5hbWUgKi8s
IFJlY29yZCYmLCBGdW5jdGlvbjx2b2lkKFZlY3Rvcjx1aW50NjRfdD4mJiwgRXJyb3IpPiYmIGNh
bGxiYWNrKSB7IGNhbGxiYWNrKHsgfSwgRXJyb3I6Ok5vdEltcGxlbWVudGVkKTsgfQorfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2NhY2hlL0NhY2hlU3RvcmFnZVJlY29yZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9j
YWNoZS9DYWNoZVN0b3JhZ2VSZWNvcmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMGE2YWNlNGJhNGMwOTFkYzA5
YTVkNDU1ZGY2YWM3Y2E1Y2FhMjdiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VSZWNvcmQuaApAQCAtMCwwICsxLDQwIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJGZXRjaFJlcXVlc3QuaCIKKyNpbmNs
dWRlICJGZXRjaFJlc3BvbnNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IENh
Y2hlU3RvcmFnZVJlY29yZCB7CisgICAgdWludDY0X3QgaWRlbnRpZmllcjsKKworICAgIFJlZjxG
ZXRjaFJlcXVlc3Q+IHJlcXVlc3Q7CisgICAgUmVmPEZldGNoUmVzcG9uc2U+IHJlc3BvbnNlOwor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwCmluZGV4IDg2NjVjNTU2NzJlYTVmNDZiMDlkNGY5
YjA3NWE2OTYyYzU5NTFlZDEuLmE4YTI2NjdiYWE1MjUxYWVkYTA2NWQ4NDgzODYyNTUzZDUwNTg1
NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NV2luZG93Q2Fj
aGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hl
cy5jcHAKQEAgLTI3LDcgKzI3LDExIEBACiAjaW5jbHVkZSAiRE9NV2luZG93Q2FjaGVzLmgiCiAK
ICNpbmNsdWRlICJDYWNoZVN0b3JhZ2UuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VQcm92aWRl
ci5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5j
bHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApAQCAtNTksOCArNjMsOCBAQCBDYWNoZVN0b3JhZ2UqIERPTVdpbmRvd0NhY2hlczo6Y2FjaGVz
KERPTVdpbmRvdyYgd2luZG93KQogCiBDYWNoZVN0b3JhZ2UqIERPTVdpbmRvd0NhY2hlczo6Y2Fj
aGVzKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fY2FjaGVzICYmIGZyYW1lKCkpCi0gICAgICAgIG1f
Y2FjaGVzID0gQ2FjaGVTdG9yYWdlOjpjcmVhdGUoKTsKKyAgICBpZiAoIW1fY2FjaGVzICYmIGZy
YW1lKCkgJiYgZnJhbWUoKS0+cGFnZSgpICYmIGZyYW1lKCktPmRvY3VtZW50KCkpCisgICAgICAg
IG1fY2FjaGVzID0gQ2FjaGVTdG9yYWdlOjpjcmVhdGUoKmZyYW1lKCktPmRvY3VtZW50KCksIGZy
YW1lKCktPnBhZ2UoKS0+Y2FjaGVTdG9yYWdlUHJvdmlkZXIoKS5jcmVhdGVDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uKGZyYW1lKCktPnBhZ2UoKS0+c2Vzc2lvbklEKCkpKTsKICAgICByZXR1cm4gbV9j
YWNoZXMuZ2V0KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9j
YWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAKaW5kZXggMDUxNjk4ZTdjNmU1NzkwY2Qy
NzBhMzE4MGZmZWI0M2M3ZDdkZWFhYS4uYzUzOWNkZTYzYjRiNGQyNzcxYzY5Y2ZmN2Q1OWI3ZjEy
NTg1YjgxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJH
bG9iYWxTY29wZUNhY2hlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9X
b3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAKQEAgLTQwLDcgKzQwLDcgQEAgV29ya2VyR2xvYmFs
U2NvcGVDYWNoZXMqIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzOjpmcm9tKFdvcmtlckdsb2JhbFNj
b3BlJiBzY29wZSkKIHsKICAgICBhdXRvKiBzdXBwbGVtZW50ID0gc3RhdGljX2Nhc3Q8V29ya2Vy
R2xvYmFsU2NvcGVDYWNoZXMqPihTdXBwbGVtZW50PFdvcmtlckdsb2JhbFNjb3BlPjo6ZnJvbSgm
c2NvcGUsIHN1cHBsZW1lbnROYW1lKCkpKTsKICAgICBpZiAoIXN1cHBsZW1lbnQpIHsKLSAgICAg
ICAgYXV0byBuZXdTdXBwbGVtZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxXb3JrZXJHbG9iYWxTY29w
ZUNhY2hlcz4oKTsKKyAgICAgICAgYXV0byBuZXdTdXBwbGVtZW50ID0gc3RkOjptYWtlX3VuaXF1
ZTxXb3JrZXJHbG9iYWxTY29wZUNhY2hlcz4oc2NvcGUpOwogICAgICAgICBzdXBwbGVtZW50ID0g
bmV3U3VwcGxlbWVudC5nZXQoKTsKICAgICAgICAgcHJvdmlkZVRvKCZzY29wZSwgc3VwcGxlbWVu
dE5hbWUoKSwgV1RGTW92ZShuZXdTdXBwbGVtZW50KSk7CiAgICAgfQpAQCAtNTUsNyArNTUsNyBA
QCBDYWNoZVN0b3JhZ2UqIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzOjpjYWNoZXMoV29ya2VyR2xv
YmFsU2NvcGUmIHNjb3BlKQogQ2FjaGVTdG9yYWdlKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6
Y2FjaGVzKCkgY29uc3QKIHsKICAgICBpZiAoIW1fY2FjaGVzKQotICAgICAgICBtX2NhY2hlcyA9
IENhY2hlU3RvcmFnZTo6Y3JlYXRlKCk7CisgICAgICAgIG1fY2FjaGVzID0gQ2FjaGVTdG9yYWdl
OjpjcmVhdGUobV9zY29wZSwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6Y3JlYXRlKCkpOwogICAg
IHJldHVybiBtX2NhY2hlcy5nZXQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oCmluZGV4IDc5NWViZDYxOWUy
NDIxZDRjZWIxYjc4Y2RlZTQzM2UxMjM1MTQ4NmQuLmY2Y2M4NTFlMDg1ZTFkM2E1YzIzY2FjNmVi
N2QzZTZmYWMzOTc2NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUv
V29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nh
Y2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmgKQEAgLTM0LDcgKzM0LDcgQEAgY2xhc3MgV29y
a2VyR2xvYmFsU2NvcGU7CiAKIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzIDogcHVibGlj
IFN1cHBsZW1lbnQ8V29ya2VyR2xvYmFsU2NvcGU+IHsKIHB1YmxpYzoKLSAgICBXb3JrZXJHbG9i
YWxTY29wZUNhY2hlcygpID0gZGVmYXVsdDsKKyAgICBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcyhX
b3JrZXJHbG9iYWxTY29wZSYgc2NvcGUpIDogbV9zY29wZShzY29wZSkgeyB9OwogCiAgICAgc3Rh
dGljIENhY2hlU3RvcmFnZSogY2FjaGVzKFdvcmtlckdsb2JhbFNjb3BlJik7CiAKQEAgLTQzLDYg
KzQzLDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUo
KTsKICAgICBDYWNoZVN0b3JhZ2UqIGNhY2hlcygpIGNvbnN0OwogCisgICAgV29ya2VyR2xvYmFs
U2NvcGUmIG1fc2NvcGU7CiAgICAgbXV0YWJsZSBSZWZQdHI8Q2FjaGVTdG9yYWdlPiBtX2NhY2hl
czsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hC
b2R5T3duZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIu
aAppbmRleCBjMzIxM2U5NzIxMzkzMDBkNGE1MTg1NGMwNTU5YWI1NTAxNGE5NTViLi43MWFmYzQ2
Y2UwNTFlNGE4NGUzMWFjOTM0NDgzOTZjOGY4NjFlMTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5oCkBAIC01Nyw2ICs1Nyw4IEBAIHB1YmxpYzoK
IAogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdCB7IHJldHVybiAhIW1fYmxvYkxvYWRlcjsgfQog
CisgICAgYm9vbCBpc1JlYWRhYmxlU3RyZWFtQm9keSgpIGNvbnN0IHsgcmV0dXJuIG1fYm9keSAm
JiBtX2JvZHktPmlzUmVhZGFibGVTdHJlYW0oKTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgY29uc3Qg
RmV0Y2hCb2R5JiBib2R5KCkgY29uc3QgeyByZXR1cm4gKm1fYm9keTsgfQogICAgIEZldGNoQm9k
eSYgYm9keSgpIHsgcmV0dXJuICptX2JvZHk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoSGVhZGVycy5oCmluZGV4IGZjM2IxMDhiOWEyZDVhZTU4MzdjMjNjNzkxZmUyMDlj
YjY4MzMyYzguLmZlZTFmOGYxZjM4MDkzYjBkMzM1YjkxOGQ5MWRjZTQ0ZmNkOTdkMTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaApAQCAtMzAsNiArMzAs
NyBAQAogCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRlICJIVFRQSGVhZGVyTWFw
LmgiCisjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFRyYWl0
cy5oPgogI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpA
QCAtNDksNyArNTAsNyBAQCBwdWJsaWM6CiAgICAgdXNpbmcgSW5pdCA9IFZhcmlhbnQ8VmVjdG9y
PFZlY3RvcjxTdHJpbmc+PiwgVmVjdG9yPFdURjo6S2V5VmFsdWVQYWlyPFN0cmluZywgU3RyaW5n
Pj4+OwogICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8RmV0Y2hIZWFkZXJzPj4gY3JlYXRlKHN0
ZDo6b3B0aW9uYWw8SW5pdD4mJik7CiAKLSAgICBzdGF0aWMgUmVmPEZldGNoSGVhZGVycz4gY3Jl
YXRlKEd1YXJkIGd1YXJkID0gR3VhcmQ6Ok5vbmUpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmV0
Y2hIZWFkZXJzIHsgZ3VhcmQgfSk7IH0KKyAgICBzdGF0aWMgUmVmPEZldGNoSGVhZGVycz4gY3Jl
YXRlKEd1YXJkIGd1YXJkID0gR3VhcmQ6Ok5vbmUsIEhUVFBIZWFkZXJNYXAmJiBoZWFkZXJzID0g
eyB9KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEZldGNoSGVhZGVycyB7IGd1YXJkLCBXVEZNb3Zl
KGhlYWRlcnMpIH0pOyB9CiAgICAgc3RhdGljIFJlZjxGZXRjaEhlYWRlcnM+IGNyZWF0ZShjb25z
dCBGZXRjaEhlYWRlcnMmIGhlYWRlcnMpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmV0Y2hIZWFk
ZXJzIHsgaGVhZGVycyB9KTsgfQogCiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gYXBwZW5kKGNvbnN0
IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSk7CkBAIC04Miw5ICs4MywxMCBAQCBw
dWJsaWM6CiAgICAgY29uc3QgSFRUUEhlYWRlck1hcCYgaW50ZXJuYWxIZWFkZXJzKCkgY29uc3Qg
eyByZXR1cm4gbV9oZWFkZXJzOyB9CiAKICAgICB2b2lkIHNldEd1YXJkKEd1YXJkKTsKKyAgICBH
dWFyZCBndWFyZCgpIGNvbnN0IHsgcmV0dXJuIG1fZ3VhcmQ7IH0KIAogcHJpdmF0ZToKLSAgICBl
eHBsaWNpdCBGZXRjaEhlYWRlcnMoR3VhcmQgZ3VhcmQsIEhUVFBIZWFkZXJNYXAmJiBoZWFkZXJz
ID0geyB9KTsKKyAgICBGZXRjaEhlYWRlcnMoR3VhcmQsIEhUVFBIZWFkZXJNYXAmJik7CiAgICAg
RmV0Y2hIZWFkZXJzKGNvbnN0IEZldGNoSGVhZGVycyYpOwogCiAgICAgR3VhcmQgbV9ndWFyZDsK
QEAgLTExMSwzICsxMTMsMTggQEAgaW5saW5lIHZvaWQgRmV0Y2hIZWFkZXJzOjpzZXRHdWFyZChH
dWFyZCBndWFyZCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RG
IHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpGZXRjaEhlYWRlcnM6
Okd1YXJkPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICBXZWJDb3JlOjpG
ZXRjaEhlYWRlcnM6Okd1YXJkLAorICAgIFdlYkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQ6Ok5v
bmUsCisgICAgV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZDo6SW1tdXRhYmxlLAorICAgIFdl
YkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQ6OlJlcXVlc3QsCisgICAgV2ViQ29yZTo6RmV0Y2hI
ZWFkZXJzOjpHdWFyZDo6UmVxdWVzdE5vQ29ycywKKyAgICBXZWJDb3JlOjpGZXRjaEhlYWRlcnM6
Okd1YXJkOjpSZXNwb25zZQorICAgID47Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCmluZGV4IGUzYTUxZjFhZTg0MzkyYmYzMGZjOGI1ZDMz
NTMxYTA5ZGI4NWNjYWMuLmVkZmFjNWMzODU5MWQ5OWU4OGVkMGZkZjM2ZThkYzRkODk1OGQ2MjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCkBAIC04
MCw3ICs4MCw3IEBAIHZvaWQgRmV0Y2hMb2FkZXI6OnN0YXJ0KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxCiAgICAgb3B0aW9ucy5kYXRhQnVm
ZmVyaW5nUG9saWN5ID0gRG9Ob3RCdWZmZXJEYXRhOwogICAgIG9wdGlvbnMuc2FtZU9yaWdpbkRh
dGFVUkxGbGFnID0gU2FtZU9yaWdpbkRhdGFVUkxGbGFnOjpTZXQ7CiAKLSAgICBSZXNvdXJjZVJl
cXVlc3QgZmV0Y2hSZXF1ZXN0ID0gcmVxdWVzdC5pbnRlcm5hbFJlcXVlc3QoKTsKKyAgICBSZXNv
dXJjZVJlcXVlc3QgZmV0Y2hSZXF1ZXN0ID0gcmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKTsKIAog
ICAgIEFTU0VSVChjb250ZXh0LmNvbnRlbnRTZWN1cml0eVBvbGljeSgpKTsKICAgICBhdXRvJiBj
b250ZW50U2VjdXJpdHlQb2xpY3kgPSAqY29udGV4dC5jb250ZW50U2VjdXJpdHlQb2xpY3koKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcAppbmRleCBl
NjZjMTVjOTk0Y2U1MWVkZDU0OTNhZDI1ODc0MmRkZTY4Y2EzZDRiLi44ZDBjMjM4NzgzYmFmMDM4
NGQyN2M0ZDQ4ZjYxN2M2MTAyNzY5ZTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaFJlcXVlc3QuY3BwCkBAIC03NCw3ICs3NCw3IEBAIHN0YXRpYyBzdGQ6Om9wdGlv
bmFsPEV4Y2VwdGlvbj4gc2V0UmVmZXJyZXIoRmV0Y2hSZXF1ZXN0OjpJbnRlcm5hbFJlcXVlc3Qm
IHJlcXVlCiAKIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbj4gYnVpbGRPcHRpb25zKEZl
dGNoUmVxdWVzdDo6SW50ZXJuYWxSZXF1ZXN0JiByZXF1ZXN0LCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBjb250ZXh0LCBjb25zdCBGZXRjaFJlcXVlc3Q6OkluaXQmIGluaXQpCiB7Ci0gICAgaWYg
KCFpbml0LndpbmRvdy5pc1VuZGVmaW5lZE9yTnVsbCgpKQorICAgIGlmICghaW5pdC53aW5kb3cu
aXNVbmRlZmluZWRPck51bGwoKSAmJiAhaW5pdC53aW5kb3cuaXNFbXB0eSgpKQogICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIldpbmRvdyBjYW4gb25s
eSBiZSBudWxsLiIpIH07CiAKICAgICBpZiAoIWluaXQucmVmZXJyZXIuaXNOdWxsKCkpIHsKQEAg
LTI2NCw3ICsyNjQsNyBAQCBjb25zdCBTdHJpbmcmIEZldGNoUmVxdWVzdDo6dXJsKCkgY29uc3QK
ICAgICByZXR1cm4gbV9yZXF1ZXN0VVJMOwogfQogCi1SZXNvdXJjZVJlcXVlc3QgRmV0Y2hSZXF1
ZXN0OjppbnRlcm5hbFJlcXVlc3QoKSBjb25zdAorUmVzb3VyY2VSZXF1ZXN0IEZldGNoUmVxdWVz
dDo6cmVzb3VyY2VSZXF1ZXN0KCkgY29uc3QKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0
LmgKaW5kZXggMWYwYjE2ZThhNWExNzlmMGZlYWMwYjU5N2RkNTg3NDlmYWVkYWJkZC4uNjFkY2Qy
YzU4NjMzMDk3ZDFlNjJlNmM1YTkxZWIxMDAyMTc3OWMzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5oCkBAIC01MywxMSArNTMsMTkgQEAgcHVibGljOgog
ICAgIHVzaW5nIFJlZGlyZWN0ID0gRmV0Y2hPcHRpb25zOjpSZWRpcmVjdDsKICAgICB1c2luZyBU
eXBlID0gRmV0Y2hPcHRpb25zOjpUeXBlOwogCisgICAgc3RydWN0IEludGVybmFsUmVxdWVzdCB7
CisgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0OworICAgICAgICBGZXRjaE9wdGlvbnMg
b3B0aW9uczsKKyAgICAgICAgU3RyaW5nIHJlZmVycmVyOworICAgIH07CisKICAgICBzdGF0aWMg
RXhjZXB0aW9uT3I8UmVmPEZldGNoUmVxdWVzdD4+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiwgSW5mbyYmLCBJbml0JiYpOworICAgIHN0YXRpYyBSZWY8RmV0Y2hSZXF1ZXN0PiBjcmVh
dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjpvcHRpb25hbDxGZXRjaEJv
ZHk+JiYgYm9keSwgUmVmPEZldGNoSGVhZGVycz4mJiBoZWFkZXJzLCBJbnRlcm5hbFJlcXVlc3Qm
JiByZXF1ZXN0KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEZldGNoUmVxdWVzdChjb250ZXh0LCBX
VEZNb3ZlKGJvZHkpLCBXVEZNb3ZlKGhlYWRlcnMpLCBXVEZNb3ZlKHJlcXVlc3QpKSk7IH0KIAog
ICAgIGNvbnN0IFN0cmluZyYgbWV0aG9kKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVl
c3QucmVxdWVzdC5odHRwTWV0aG9kKCk7IH0KICAgICBjb25zdCBTdHJpbmcmIHVybCgpIGNvbnN0
OwogICAgIEZldGNoSGVhZGVycyYgaGVhZGVycygpIHsgcmV0dXJuIG1faGVhZGVycy5nZXQoKTsg
fQorICAgIGNvbnN0IEZldGNoSGVhZGVycyYgaGVhZGVycygpIGNvbnN0IHsgcmV0dXJuIG1faGVh
ZGVycy5nZXQoKTsgfQogCiAgICAgVHlwZSB0eXBlKCkgY29uc3Q7CiAgICAgRGVzdGluYXRpb24g
ZGVzdGluYXRpb24oKSBjb25zdDsKQEAgLTczLDE3ICs4MSwxNCBAQCBwdWJsaWM6CiAKICAgICBF
eGNlcHRpb25PcjxSZWY8RmV0Y2hSZXF1ZXN0Pj4gY2xvbmUoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYpOwogCi0gICAgc3RydWN0IEludGVybmFsUmVxdWVzdCB7Ci0gICAgICAgIFJlc291cmNlUmVx
dWVzdCByZXF1ZXN0OwotICAgICAgICBGZXRjaE9wdGlvbnMgb3B0aW9uczsKLSAgICAgICAgU3Ry
aW5nIHJlZmVycmVyOwotICAgIH07CisgICAgY29uc3QgSW50ZXJuYWxSZXF1ZXN0JiBpbnRlcm5h
bFJlcXVlc3QoKSBjb25zdCB7IHJldHVybiBtX2ludGVybmFsUmVxdWVzdDsgfQogCiAgICAgY29u
c3QgRmV0Y2hPcHRpb25zJiBmZXRjaE9wdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX2ludGVybmFs
UmVxdWVzdC5vcHRpb25zOyB9Ci0gICAgUmVzb3VyY2VSZXF1ZXN0IGludGVybmFsUmVxdWVzdCgp
IGNvbnN0OworICAgIFJlc291cmNlUmVxdWVzdCByZXNvdXJjZVJlcXVlc3QoKSBjb25zdDsKICAg
ICBib29sIGlzQm9keVJlYWRhYmxlU3RyZWFtKCkgY29uc3QgeyByZXR1cm4gIWlzQm9keU51bGwo
KSAmJiBib2R5KCkuaXNSZWFkYWJsZVN0cmVhbSgpOyB9CiAKICAgICBjb25zdCBTdHJpbmcmIGlu
dGVybmFsUmVxdWVzdFJlZmVycmVyKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVlc3Qu
cmVmZXJyZXI7IH0KKyAgICBjb25zdCBVUkwmIGludGVybmFsUmVxdWVzdFVSTCgpIGNvbnN0IHsg
cmV0dXJuIG1faW50ZXJuYWxSZXF1ZXN0LnJlcXVlc3QudXJsKCk7IH0KIAogcHJpdmF0ZToKICAg
ICBGZXRjaFJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0ZDo6b3B0aW9uYWw8RmV0
Y2hCb2R5PiYmLCBSZWY8RmV0Y2hIZWFkZXJzPiYmLCBJbnRlcm5hbFJlcXVlc3QmJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcAppbmRleCA2OGFk
YjU1OWZlOTUzMGY3NDU2ZGM5NmY5ODg0YjdmZmRkNmE4MWJlLi5jNmRhMTExYjE5NTg3NDE2MzVm
MTMyMDM5MmU0YzZhYjc4MjM5ZmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hSZXNwb25zZS5jcHAKQEAgLTM1NSw2ICszNTUsMTQgQEAgdm9pZCBGZXRjaFJlc3Bv
bnNlOjpjYW5jZWwoKQogCiAjZW5kaWYKIAorUmVmUHRyPEZvcm1EYXRhPiBGZXRjaFJlc3BvbnNl
Ojpib2R5Rm9ySW50ZXJuYWxSZXNwb25zZSgpCit7CisgICAgQVNTRVJUKCFtX2lzRGlzdHVyYmVk
KTsKKyAgICBtX2lzRGlzdHVyYmVkID0gdHJ1ZTsKKyAgICByZXR1cm4gYm9keSgpLmJvZHlGb3JJ
bnRlcm5hbFJlcXVlc3QoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CisKK30KKwogdm9pZCBG
ZXRjaFJlc3BvbnNlOjpzdG9wKCkKIHsKICAgICBSZWZQdHI8RmV0Y2hSZXNwb25zZT4gcHJvdGVj
dGVkVGhpcyh0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hSZXNwb25zZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3Bv
bnNlLmgKaW5kZXggZjliMDJmYjBlNTg3YWI0ZWIzZDU1OTc5NGIzOTFmNzlmNWExZGM2Ni4uOTk2
Yjg5ZTZjZjI3YmY0MjI3NGVlZDA3ZmVhNzAxMDJjZWNlMzhmMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmgKQEAgLTU3LDYgKzU3LDggQEAgcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8RmV0Y2hSZXNwb25zZT4gZXJyb3IoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYpOwogICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8RmV0Y2hSZXNwb25zZT4+IHJlZGly
ZWN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTdHJpbmcmIHVybCwgaW50IHN0YXR1
cyk7CiAKKyAgICBzdGF0aWMgUmVmPEZldGNoUmVzcG9uc2U+IGNyZWF0ZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBjb250ZXh0LCBzdGQ6Om9wdGlvbmFsPEZldGNoQm9keT4mJiBib2R5LCBSZWY8
RmV0Y2hIZWFkZXJzPiYmIGhlYWRlcnMsIFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSkgeyBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBGZXRjaFJlc3BvbnNlKGNvbnRleHQsIFdURk1vdmUoYm9keSks
IFdURk1vdmUoaGVhZGVycyksIFdURk1vdmUocmVzcG9uc2UpKSk7IH0KKwogICAgIHVzaW5nIEZl
dGNoUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8RmV0Y2hSZXNwb25z
ZT4+OwogICAgIHN0YXRpYyB2b2lkIGZldGNoKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBGZXRj
aFJlcXVlc3QmLCBGZXRjaFByb21pc2UmJik7CiAKQEAgLTc4LDYgKzgwLDcgQEAgcHVibGljOgog
ICAgIGJvb2wgb2soKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlLmlzU3VjY2Vzc2Z1bCgpOyB9
CiAgICAgY29uc3QgU3RyaW5nJiBzdGF0dXNUZXh0KCkgY29uc3QgeyByZXR1cm4gbV9yZXNwb25z
ZS5odHRwU3RhdHVzVGV4dCgpOyB9CiAKKyAgICBjb25zdCBGZXRjaEhlYWRlcnMmIGhlYWRlcnMo
KSBjb25zdCB7IHJldHVybiBtX2hlYWRlcnM7IH0KICAgICBGZXRjaEhlYWRlcnMmIGhlYWRlcnMo
KSB7IHJldHVybiBtX2hlYWRlcnM7IH0KICAgICBSZWY8RmV0Y2hSZXNwb25zZT4gY2xvbmVGb3JK
UygpOwogCkBAIC05MCw2ICs5MywxMCBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzTG9hZGluZygp
IGNvbnN0IHsgcmV0dXJuICEhbV9ib2R5TG9hZGVyOyB9CiAKKyAgICBSZWZQdHI8Rm9ybURhdGE+
IGJvZHlGb3JJbnRlcm5hbFJlc3BvbnNlKCk7CisKKyAgICBjb25zdCBSZXNvdXJjZVJlc3BvbnNl
JiByZXNwb25zZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2U7IH0KKwogcHJpdmF0ZToKICAg
ICBGZXRjaFJlc3BvbnNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6Om9wdGlvbmFsPEZl
dGNoQm9keT4mJiwgUmVmPEZldGNoSGVhZGVycz4mJiwgUmVzb3VyY2VSZXNwb25zZSYmKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDRiNDA3MGEwYWZiNTliMWEyZGEyNmFkMThiNmZmNzkxYWNlN2FjNDkuLjY4NWNiNDFiNzNm
MTQyMDJkOTcyZDcyNTBlMDRjYmVlOGI3NTRiZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE3ODQsNiArMTc4NCwxNCBAQAog
CQk0MUNGOEJFNzFENDYyMjY3MDA3MDdEQzkgLyogRmV0Y2hCb2R5Q29uc3VtZXIuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFDRjhCRTQxRDQ2MjIy
MDAwNzA3REM5IC8qIEZldGNoQm9keUNvbnN1bWVyLmNwcCAqLzsgfTsKIAkJNDFEMDE1Q0EwRjRC
NUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQwMTVDODBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5
cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
MUQwMTVDQjBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMDE1QzkwRjRCNUM3MTAwNEE2NjJG
IC8qIENvbnRlbnRUeXBlLmNwcCAqLzsgfTsKKwkJNDFEMTI5Q0UxRjNEMEVGNjAwRDE1RTQ3IC8q
IFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MUZCMjc4RDFGMzRDMjgyMDA3OTU0ODcgLyogV29ya2VyR2xvYmFs
U2NvcGVDYWNoZXMuaCAqLzsgfTsKKwkJNDFEMTI5Q0YxRjNEMEVGRTAwRDE1RTQ3IC8qIENhY2hl
U3RvcmFnZUNvbm5lY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDFEMTI5QzkxRjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5l
Y3Rpb24uY3BwICovOyB9OworCQk0MUQxMjlEMDFGM0QwRjA1MDBEMTVFNDcgLyogQ2FjaGVRdWVy
eU9wdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxRkIyNzlCMUYzNENFRjAwMDc5NTQ4NyAvKiBDYWNoZVF1ZXJ5T3B0aW9ucy5oICovOyB9Owor
CQk0MUQxMjlEMTFGM0QwRjBFMDBEMTVFNDcgLyogRE9NV2luZG93Q2FjaGVzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUZCMjc4QzFGMzRDMjgyMDA3
OTU0ODcgLyogRE9NV2luZG93Q2FjaGVzLmggKi87IH07CisJCTQxRDEyOUQyMUYzRDBGMTIwMEQx
NUU0NyAvKiBDYWNoZVN0b3JhZ2VSZWNvcmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDEyOUNBMUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3Jh
Z2VSZWNvcmQuaCAqLzsgfTsKKwkJNDFEMTI5RDMxRjNEMEYxNjAwRDE1RTQ3IC8qIENhY2hlU3Rv
cmFnZUNvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxRDEyOUNDMUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDFE
MTI5RDUxRjNEMEY2OTAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVByb3ZpZGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQxMjlENDFGM0QwRjY2MDBE
MTVFNDcgLyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0MUQxMjlEQjFGM0QxNDM4MDBEMTVFNDcgLyogRmV0
Y2hIZWFkZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MUY1NEY4MzFDNTBDNEY2MDAzMzg0ODggLyogRmV0Y2hIZWFkZXJzLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDFERUZDQjUxRTU2QzFCRDAw
MEQ5RTVGIC8qIEpTRE9NTWFwTGlrZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MURFRkNCMzFFNTZDMUI5MDAwRDlFNUYgLyogSlNET01NYXBMaWtl
LmNwcCAqLzsgfTsKIAkJNDFERUZDQjYxRTU2QzFCRDAwMEQ5RTVGIC8qIEpTRE9NTWFwTGlrZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFERUZDQjQx
RTU2QzFCOTAwMEQ5RTVGIC8qIEpTRE9NTWFwTGlrZS5oICovOyB9OwogCQk0MUUxQjFEMDBGRjU5
ODY5MDA1NzZCM0IgLyogQWJzdHJhY3RXb3JrZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFFMUIxQ0EwRkY1OTg2OTAwNTc2QjNCIC8qIEFic3Ry
YWN0V29ya2VyLmNwcCAqLzsgfTsKQEAgLTk0MzYsNiArOTQ0NCwxMSBAQAogCQk0MUNGOEJFNjFE
NDYyMjJDMDA3MDdEQzkgLyogRmV0Y2hJbnRlcm5hbHMuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmphdmFzY3JpcHQ7IHBhdGggPSBGZXRjaEludGVybmFscy5qczsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDFEMDE1QzgwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRUeXBlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQxRDAxNUM5MEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlw
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb250ZW50VHlwZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRDEyOUM5MUYzRDBFRTMwMEQxNUU0
NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk0MUQxMjlDQTFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUmVj
b3JkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlU3RvcmFnZVJlY29y
ZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUQxMjlDQjFGM0QwRUUzMDBEMTVF
NDcgLyogQ2FjaGVTdG9yYWdlLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBw
YXRoID0gQ2FjaGVTdG9yYWdlLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUQx
MjlDQzFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRDEyOUQ0MUYzRDBGNjYwMEQxNUU0NyAvKiBDYWNo
ZVN0b3JhZ2VQcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNo
ZVN0b3JhZ2VQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUQ1MUJC
MjFFNEUyRTgxMDAxMzFBNUIgLyogTGliV2ViUlRDQXVkaW9Gb3JtYXQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRDQXVkaW9Gb3JtYXQuaDsgcGF0aCA9IGxpYndl
YnJ0Yy9MaWJXZWJSVENBdWRpb0Zvcm1hdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MURFRkNCMjFFNTZDMUI5MDAwRDlFNUYgLyogSlNET01CaW5kaW5nSW50ZXJuYWxzLmpzICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gSlNET01CaW5kaW5nSW50ZXJu
YWxzLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MURFRkNCMzFFNTZDMUI5MDAw
RDlFNUYgLyogSlNET01NYXBMaWtlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTRE9NTWFwTGlrZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
NzYyMCw2ICsxNzYzMywxMCBAQAogCQkJCTQxMzgwQzIxMUYzNDM2OEQwMDE1NUZEQSAvKiBDYWNo
ZVN0b3JhZ2UuY3BwICovLAogCQkJCTQxMzgwQzIyMUYzNDM2OTAwMDE1NUZEQSAvKiBDYWNoZVN0
b3JhZ2UuaCAqLywKIAkJCQk0MTM4MEMyNDFGMzQzNjk3MDAxNTVGREEgLyogQ2FjaGVTdG9yYWdl
LmlkbCAqLywKKwkJCQk0MUQxMjlDQjFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlLmpz
ICovLAorCQkJCTQxRDEyOUM5MUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uLmNwcCAqLywKKwkJCQk0MUQxMjlDQzFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbi5oICovLAorCQkJCTQxRDEyOUNBMUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0
b3JhZ2VSZWNvcmQuaCAqLywKIAkJCQk0MUZCMjc4RTFGMzRDMjgyMDA3OTU0ODcgLyogRE9NV2lu
ZG93Q2FjaGVzLmNwcCAqLywKIAkJCQk0MUZCMjc4QzFGMzRDMjgyMDA3OTU0ODcgLyogRE9NV2lu
ZG93Q2FjaGVzLmggKi8sCiAJCQkJNDEzODBDMkIxRjM0M0UyRjAwMTU1RkRBIC8qIERPTVdpbmRv
d0NhY2hlcy5pZGwgKi8sCkBAIC0xODU3OSwxMiArMTg1OTYsMTIgQEAKIAkJCQk1MTgyQzI1MjFG
MzE0MjUwMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyLmggKi8sCiAJCQkJNTE4MkMyNTExRjMx
NDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAgKi8sCiAJCQkJNTE4
MkMyNTQxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlckNvbnRhaW5lci5oICovLAot
CQkJCTUxRjE3NTAwMUYzNThCMzYwMEM3NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFD
YWNoZS5jcHAgKi8sCi0JCQkJNTFGMTc1MDExRjM1OEIzNjAwQzc0OTUwIC8qIEpTU2VydmljZVdv
cmtlclVwZGF0ZVZpYUNhY2hlLmggKi8sCiAJCQkJNTE4MkMyNEUxRjMxNDI1MDAwNTlCQTdDIC8q
IEpTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcCAqLywKIAkJCQk1MTgyQzI0RDFGMzE0MjUw
MDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCAqLywKIAkJCQk1MTgyQzI0
RjFGMzE0MjUwMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcCAqLywK
IAkJCQk1MTgyQzI1MDFGMzE0MjUwMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uLmggKi8sCisJCQkJNTFGMTc1MDAxRjM1OEIzNjAwQzc0OTUwIC8qIEpTU2VydmljZVdvcmtl
clVwZGF0ZVZpYUNhY2hlLmNwcCAqLywKKwkJCQk1MUYxNzUwMTFGMzU4QjM2MDBDNzQ5NTAgLyog
SlNTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuaCAqLywKIAkJCSk7CiAJCQluYW1lID0gU2Vy
dmljZVdvcmtlcnM7CiAJCQlwYXRoID0gRGVyaXZlZFNvdXJjZXM7CkBAIC0xOTE4OSw2ICsxOTIw
Niw3IEBACiAJCQkJQkMxMjRFRTYwQzI2NDFDRDAwOUUyMzQ5IC8qIEJhclByb3AuaWRsICovLAog
CQkJCTQ2MEJCNjEzMUQwQTFCRUMwMDIyMTgxMiAvKiBCYXNlNjRVdGlsaXRpZXMuY3BwICovLAog
CQkJCTQ2MEJCNjE0MUQwQTFCRUMwMDIyMTgxMiAvKiBCYXNlNjRVdGlsaXRpZXMuaCAqLywKKwkJ
CQk0MUQxMjlENDFGM0QwRjY2MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAqLywK
IAkJCQkwNzJDQTg2MDE2Q0I0REMzMDA4QUUxMzEgLyogQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5j
cHAgKi8sCiAJCQkJMDc5RDA4NjcxNjJGMjBFODAwREI4NjU4IC8qIENhcHRpb25Vc2VyUHJlZmVy
ZW5jZXMuaCAqLywKIAkJCQkwNzlEMDg2QTE2MkYyMUY5MDBEQjg2NTggLyogQ2FwdGlvblVzZXJQ
cmVmZXJlbmNlc01lZGlhQUYuY3BwICovLApAQCAtMjY2NzUsNyArMjY2OTMsMTEgQEAKIAkJCQkw
NzUzODYwMzE0NDg5RTk4MDBCNzg0NTIgLyogQ2FjaGVkVGV4dFRyYWNrLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQ0IxNkMyODA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVldC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk5NTAwODI0NUU1OTAwMUU5QUJDIC8qIENhY2hlUG9s
aWN5LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUQxMjlEMDFGM0QwRjA1MDBEMTVFNDcgLyogQ2Fj
aGVRdWVyeU9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxMzgwQzI5MUYzNDM2QUMwMDE1
NUZEQSAvKiBDYWNoZVN0b3JhZ2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxRDEyOUQzMUYzRDBG
MTYwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk0MUQxMjlENTFGM0QwRjY5MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTQxRDEyOUQyMUYzRDBGMTIwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VS
ZWNvcmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0M0FGOEU3MUFDNUI3RUMwMENBNzE3RSAvKiBD
YWNoZVZhbGlkYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5QUUyRDk3MTM0RUU1RjkwMDcy
OTIwQSAvKiBDYWxjdWxhdGlvblZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzFFOEQwMTFF
RDBDMkRBMDBCMUQ5ODMgLyogQ2FsbGJhY2tSZXN1bHQuaCBpbiBIZWFkZXJzICovLApAQCAtMjcx
NDcsNiArMjcxNjksNyBAQAogCQkJCTJFMzdERkRCMTJEQkFGQjgwMEE2QjIzMyAvKiBET01VUkwu
aCBpbiBIZWFkZXJzICovLAogCQkJCUNEOURFMTgyMTdBQUQ2QTQwMEVBMzg2RCAvKiBET01VUkxN
ZWRpYVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQwM0I5OTcwOUVCMTNBRjAwNzk3QzdG
IC8qIERPTVdpbmRvdy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5RDExRjNEMEYwRTAwRDE1
RTQ3IC8qIERPTVdpbmRvd0NhY2hlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGQTJENzgxNTIx
MzJCMzAwQzFCQTBCIC8qIERPTVdpbmRvd0V4dGVuc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTE4NUZDNzUxQkI0QzRFODAwMTI4OThGIC8qIERPTVdpbmRvd0luZGV4ZWREYXRhYmFzZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTdEMkFEMDQxNEI4MjNBNjAwOTNERjMyIC8qIERPTVdpbmRvd1By
b3BlcnR5LmggaW4gSGVhZGVycyAqLywKQEAgLTI3MjQyLDYgKzI3MjY1LDcgQEAKIAkJCQk4NDcz
MEQ4NTEyNDhGMEIzMDBEM0E5QzkgLyogRkVNb3JwaG9sb2d5LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk4NDczMEQ4NzEyNDhGMEIzMDBEM0E5QzkgLyogRkVPZmZzZXQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTg0NzMwRDg5MTI0OEYwQjMwMEQzQTlDOSAvKiBGRVNwZWN1bGFyTGlnaHRpbmcuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTQxRDEyOURCMUYzRDE0MzgwMEQxNUU0NyAvKiBGZXRjaEhlYWRlcnMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQxNkU2RkU4MUJCRDEyREYwMDBBNjAyMyAvKiBGZXRjaElu
dGVybmFsc0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MUFENzUzQTFDRUY2QkQxMDBB
MzE0ODYgLyogRmV0Y2hPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk3Q0UxOTE0RDFGMkE5
QUZCMDAyNzJGNzggLyogRmV0Y2hSZWZlcnJlclBvbGljeS5oIGluIEhlYWRlcnMgKi8sCkBAIC0y
NzM3NSw3ICsyNzM5OSw2IEBACiAJCQkJMzE2QkRCRjcxRTc2MkFENTAwREUwRDVBIC8qIEdQVURl
cHRoU3RlbmNpbERlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxNkJEQkYwMUU3NjI5
MjAwMERFMEQ1QSAvKiBHUFVEZXB0aFN0ZW5jaWxTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MzE2QkRCODYxRTZFMEEyNzAwREUwRDVBIC8qIEdQVURldmljZS5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJNTFGMTc0RkUxRjM1ODk5MjAwQzc0OTUwIC8qIFdvcmtlclR5cGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTMxNkJEQkNEMUU3NUYxODQwMERFMEQ1QSAvKiBHUFVEcmF3YWJsZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMzE2QkRCRkIxRTc2MkQwNDAwREUwRDVBIC8qIEdQVUVudW1zLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkzMTZCREI5NTFFNzBDODk3MDBERTBENUEgLyogR1BVRnVuY3Rpb24uaCBp
biBIZWFkZXJzICovLApAQCAtMjc0NjMsNyArMjc0ODYsNiBAQAogCQkJCUE4NzFENDVDMEExMjdD
QkMwMEIxMkE2OCAvKiBIVE1MRW1iZWRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzdC
Mzg2QTEyMjg4M0U5MDBCODFGRjggLyogSFRNTEVudGl0eVBhcnNlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTc3QjM4NkMxMjI4ODNFOTAwQjgxRkY4IC8qIEhUTUxFbnRpdHlTZWFyY2guaCBpbiBI
ZWFkZXJzICovLAotCQkJCTUxRjE3NEZGMUYzNTg5OTcwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2Vy
VXBkYXRlVmlhQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3N0IzODZEMTIyODgzRTkwMEI4
MUZGOCAvKiBIVE1MRW50aXR5VGFibGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MTM2OUQ0MDk3
Mzc0RjYwMEQ3NDQ2MyAvKiBIVE1MRmllbGRTZXRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBOENGRjdBNjBBMTU2OTc4MDAwQTQyMzQgLyogSFRNTEZvbnRFbGVtZW50LmggaW4gSGVhZGVy
cyAqLywKQEAgLTI4MjExLDYgKzI4MjMzLDcgQEAKIAkJCQk1MTgyQzI1ODFGMzE0M0NEMDA1OUJB
N0MgLyogSlNTZXJ2aWNlV29ya2VyQ29udGFpbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTgy
QzI1QTFGMzE0M0NEMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxODJDMjVDMUYzMTQzQ0QwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTUxRjE3NTAzMUYzNThCM0IwMEM3
NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOUJEQTY0RDgxQjk3NUNGMjAwOUM0Mzg3IC8qIEpTU2hhZG93Um9vdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDZERkY0OUMxREMyNjIwQjAwQjgwQjQ4IC8qIEpTU2hhZG93Um9vdE1vZGUuaCBp
biBIZWFkZXJzICovLAogCQkJCUNEOURFMTdCMTdBQUM3NUIwMEVBMzg2RCAvKiBKU1NvdXJjZUJ1
ZmZlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODQxMCw3ICsyODQzMyw2IEBACiAJCQkJNkUzRkFE
MzkxNDczM0Y0MDAwRTQyMzA2IC8qIEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTZFRThBNzczMTBGODAzRjMwMDVBNEEyNCAvKiBKU1dlYkdMQ29udGV4
dEF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMkNCRjRFMTQwRjFBQkQwMDM4NzlC
RSAvKiBKU1dlYkdMQ29udGV4dEV2ZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzUwNjFG
MzU4QkY3MDBDNzQ5NTAgLyogSlNXb3JrZXJUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RTNG
QUQzOTE0NzMzRjQwMTFFNDIzMDcgLyogSlNXZWJHTERlYnVnUmVuZGVyZXJJbmZvLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk2RTNGQUQzOTE0NzMzRjQwMjJFNDIzMDcgLyogSlNXZWJHTERlYnVnU2hh
ZGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkUzRkFEMzkxNDczM0Y0MDAwRTQyMzA3IC8qIEpT
V2ViR0xEZXB0aFRleHR1cmUuaCBpbiBIZWFkZXJzICovLApAQCAtMjg0NjgsNiArMjg0OTAsNyBA
QAogCQkJCUUxQzM2RDM1MEVCMEEwOTQwMDc0MTBCQyAvKiBKU1dvcmtlckdsb2JhbFNjb3BlQmFz
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFDMzYyRUYwRUFGMkFBOTAwNzQxMEJDIC8qIEpTV29y
a2VyTG9jYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMjcxQTU4MEVFRUNERTQwMEY2MTIx
MyAvKiBKU1dvcmtlck5hdmlnYXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTFGMTc1MDYxRjM1
OEJGNzAwQzc0OTUwIC8qIEpTV29ya2VyVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M0Qzk2
REQxQUQ0NDgzNTAwMzY1QTYwIC8qIEpTV3JpdGFibGVTdHJlYW0uaCBpbiBIZWFkZXJzICovLAog
CQkJCTgzNThDQjcwMUM1MzI3NzUwMEUwQzJEOCAvKiBKU1hNTERvY3VtZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzM0OEJENDBEQjdGODA0MDA0QUJBQjkgLyogSlNYTUxIdHRwUmVxdWVzdC5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yODY4OSw3ICsyODcxMiw2IEBACiAJCQkJNDEzRTAwNzkxREIw
RTRGMjAwMjM0MUQyIC8qIE1lbW9yeVJlbGVhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5
REZBMDk5RTY0OTIwMDU2RTU4MSAvKiBNZXJnZUlkZW50aWNhbEVsZW1lbnRzQ29tbWFuZC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTFBREVDQ0UwRTc2QUQ4QjAwNEExQTVFIC8qIE1lc3NhZ2VDaGFu
bmVsLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzUwMzFGMzU4QjNCMDBDNzQ5NTAgLyogSlNT
ZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTc1NzkzRTg0
MEQwQ0UwQjMwMDdGQzBBQyAvKiBNZXNzYWdlRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUx
QURFQ0JGMEU3NkFDRjEwMDRBMUE1RSAvKiBNZXNzYWdlUG9ydC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNDFCRjcwMEMwRkU4NkY0OTAwNUU4REVDIC8qIE1lc3NhZ2VQb3J0Q2hhbm5lbC5oIGluIEhl
YWRlcnMgKi8sCkBAIC0yOTM2OCw2ICsyOTM5MCw3IEBACiAJCQkJNTE4MkMyNDExRjMxM0EwOTAw
NTlCQTdDIC8qIFNlcnZpY2VXb3JrZXJDb250YWluZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
ODJDMjQzMUYzMTNBMDkwMDU5QkE3QyAvKiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxODJDMjQ1MUYzMTNBMDkwMDU5QkE3QyAvKiBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MUYxNzRGRjFGMzU4OTk3MDBDNzQ5
NTAgLyogU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3
NTZCMkNFMTE4QjcxMDE2MDBGRUNGQUEgLyogU2Vzc2lvbklELmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5MzMwOUUxMDA5OUU2NDkyMDA1NkU1ODEgLyogU2V0Tm9kZUF0dHJpYnV0ZUNvbW1hbmQuaCBp
biBIZWFkZXJzICovLAogCQkJCUI4REJEQjRDMTMwQjBGOEEwMEY1Q0RCMSAvKiBTZXRTZWxlY3Rp
b25Db21tYW5kLmggaW4gSGVhZGVycyAqLywKQEAgLTMwMTUyLDYgKzMwMTc1LDcgQEAKIAkJCQlB
NTJBNjg2NjFEQkQ0QjVEMDA4MzM3M0YgLyogV29ya2VyRGVidWdnZXJBZ2VudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTNFMjY0MzExNDc0ODk5MTAwNUE4NTg4IC8qIFdvcmtlckV2ZW50UXVldWUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjQ5MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJH
bG9iYWxTY29wZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5Q0UxRjNEMEVGNjAwRDE1RTQ3
IC8qIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTg1RkNC
NDFCQjRDNEU4MDAxMjg5OEYgLyogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuaCBp
biBIZWFkZXJzICovLAogCQkJCTJFNDM0NjRCMEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJHbG9i
YWxTY29wZVByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTRBMEM2MjFEQjdGOEMxMDAxN0E5
MEIgLyogV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDE3
Myw2ICszMDE5Nyw3IEBACiAJCQkJMEI5MDU2RjkwRjI2ODVGMzAwOTVGRjZBIC8qIFdvcmtlclRo
cmVhZGFibGVMb2FkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUFCRDJEMTRGQTA5RDUwMDc0
NTdBRSAvKiBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTU0QTBDNjgxREI4MDdEOTAwMTdBOTBCIC8qIFdvcmtlclRvUGFnZUZyb250ZW5kQ2hh
bm5lbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTFGMTc0RkUxRjM1ODk5MjAwQzc0OTUwIC8qIFdv
cmtlclR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5RTI0MDk5RTY0OTIwMDU2RTU4MSAv
KiBXcmFwQ29udGVudHNJbkR1bW15U3BhbkNvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQx
NkU2RkU5MUJCRDEyRTUwMDBBNjA1MyAvKiBXcml0YWJsZVN0cmVhbUJ1aWx0aW5zLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0MTZFNkZFODFCQkQxMkRGMDAwQTYwNTMgLyogV3JpdGFibGVTdHJlYW1J
bnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDc2Myw2ICszMDc4OCw3IEBA
CiAJCQkJMDc1Mzg2MDIxNDQ4OUU5ODAwQjc4NDUyIC8qIENhY2hlZFRleHRUcmFjay5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlCQ0IxNkMyNzA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5
bGVTaGVldC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MTM4MEMyODFGMzQzNkFDMDAxNTVGREEg
LyogQ2FjaGVTdG9yYWdlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxRDEyOUNGMUYzRDBFRkUw
MEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUU0M0FGOEU2MUFDNUI3RTgwMENBNzE3RSAvKiBDYWNoZVZhbGlkYXRpb24uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNDlBRTJEOTYxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGN1bGF0aW9uVmFsdWUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTUyMDc2MDQxRjI2NzVGRTAwN0QyQUFCIC8qIENhbGxU
cmFjZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMjA0NCw3ICszMjA3MCw2IEBACiAJCQkJMTJB
MjUzRTAxQzhGRkY2NjAwQzIyMjk1IC8qIEpTS2V5ZnJhbWVFZmZlY3QuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJOTM1RjQ1NDIwRjdDM0I1RjAwRDdDMUZCIC8qIEpTTGF6eUV2ZW50TGlzdGVuZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFMUM0M0IwRDk4MzBEMzAwM0IwMkYyIC8qIEpTTG9j
YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTFGMTc1MDcxRjM1OEJGOTAwQzc0OTUwIC8q
IEpTV29ya2VyVHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0UxQzQ0MDBEOTgzMEY0MDAz
QjAyRjIgLyogSlNMb2NhdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0E4MDYx
RjFFMDNCNTg1MDA4QTFGMjYgLyogSlNMb25nUmFuZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
OEZBQzc3NEQxMTk4NzJDQjAwMTVBRTk0IC8qIEpTTWFpblRocmVhZEV4ZWNTdGF0ZS5jcHAgaW4g
U291cmNlcyAqLywKQEAgLTMyMjAxLDYgKzMyMjI2LDcgQEAKIAkJCQk1MTgyQzI1NzFGMzE0M0NE
MDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTUxODJDMjU5MUYzMTQzQ0QwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29w
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTgyQzI1QjFGMzE0M0NEMDA1OUJBN0MgLyogSlNT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRjE3NTAy
MUYzNThCM0IwMEM3NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk5QkRBNjRENzFCOTc1Q0U1MDA5QzQzODcgLyogSlNTaGFkb3dSb290
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ2REZGNDlCMURDMjYyMEIwMEI4MEI0OCAvKiBKU1No
YWRvd1Jvb3RNb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNEOURFMTdBMTdBQUM3NUIwMEVB
Mzg2RCAvKiBKU1NvdXJjZUJ1ZmZlci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMyNDgzLDYgKzMy
NTA5LDcgQEAKIAkJCQlFMTgyNThBQzBFRjNDRDcwMDA5MzMyNDIgLyogSlNXb3JrZXJHbG9iYWxT
Y29wZUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUMzNjJGMDBFQUYyQUE5MDA3NDEw
QkMgLyogSlNXb3JrZXJMb2NhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTI3MUE1OTBF
RUVDREU0MDBGNjEyMTMgLyogSlNXb3JrZXJOYXZpZ2F0b3IuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJNTFGMTc1MDcxRjM1OEJGOTAwQzc0OTUwIC8qIEpTV29ya2VyVHlwZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk3QzRDOTZEQzFBRDQ0ODM1MDAzNjVBNjAgLyogSlNXcml0YWJsZVN0cmVhbS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk4MzU4Q0I2RjFDNTMyNzcyMDBFMEMyRDggLyogSlNYTUxE
b2N1bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4M0E0QTlGOTFDRTdGRDgxMDA3MDlCMDAg
LyogSlNYTUxEb2N1bWVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMzNjgwLDcgKzMz
NzA3LDYgQEAKIAkJCQk3QUY5QjIwMjE4Q0ZCMkRGMDBDNjRCRUYgLyogVlRUUmVnaW9uLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTdBRjlCMjA1MThDRkIyREYwMEM2NEJFRiAvKiBWVFRSZWdpb25M
aXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBOTM4Njg1MThEQ0MxNDUwMEI4MjYzRCAvKiBW
VFRTY2FubmVyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxRjE3NTAyMUYzNThCM0IwMEM3NDk1
MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBMTQ4MzJCMTE4N0Y2MUUxMDBEQTYzQTYgLyogV0FLQXBwS2l0U3R1YnMubSBpbiBTb3VyY2Vz
ICovLAogCQkJCUExNDgzMkIzMTg3RjYyOTEwMERBNjNBNiAvKiBXQUtDbGlwVmlldy5tIGluIFNv
dXJjZXMgKi8sCiAJCQkJQTE0ODMyQjUxODdGNjJGQzAwREE2M0E2IC8qIFdBS1Jlc3BvbmRlci5t
IGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9X
ZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3Jl
QnVpbHRpbk5hbWVzLmgKaW5kZXggMDlmZTgxYmE0N2NhNTNjODc3NWNiNjYyN2E3NmQzYjNlMjYy
NzllYi4uNzIyZWEyZTQ4ZTFmMzNlMjM2MGJkYjYwMDU2YzAwMmY5YzRiNDI3NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAtMzgs
NiArMzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oYmFja2luZ01hcCkgXAog
ICAgIG1hY3JvKGJvZHkpIFwKICAgICBtYWNybyhieW9iUmVxdWVzdCkgXAorICAgIG1hY3JvKGNh
Y2hlTWFwKSBcCisgICAgbWFjcm8oY2FjaGVOYW1lKSBcCiAgICAgbWFjcm8oY2FuY2VsKSBcCiAg
ICAgbWFjcm8oY2xvbmVBcnJheUJ1ZmZlcikgXAogICAgIG1hY3JvKGNsb25lRm9ySlMpIFwKQEAg
LTYzLDYgKzY1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKGxvY2FsU3RyZWFt
cykgXAogICAgIG1hY3JvKG1ha2VUaGlzVHlwZUVycm9yKSBcCiAgICAgbWFjcm8obWFrZUdldHRl
clR5cGVFcnJvcikgXAorICAgIG1hY3JvKG1hdGNoQWxsKSBcCiAgICAgbWFjcm8obWVkaWFTdHJl
YW1UcmFja0NvbnN0cmFpbnRzKSBcCiAgICAgbWFjcm8ob3BlcmF0aW9ucykgXAogICAgIG1hY3Jv
KG93bmVyUmVhZGFibGVTdHJlYW0pIFwKQEAgLTExMyw2ICsxMTYsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgbWFjcm8odmlldykgXAogICAgIG1hY3JvKHdlYlJUQ0xlZ2FjeUFQSUVuYWJs
ZWQpIFwKICAgICBtYWNybyh3cml0aW5nKSBcCisgICAgbWFjcm8oQ2FjaGUpIFwKKyAgICBtYWNy
byhDYWNoZVN0b3JhZ2UpIFwKICAgICBtYWNybyhIZWFkZXJzKSBcCiAgICAgbWFjcm8oTWVkaWFT
dHJlYW0pIFwKICAgICBtYWNybyhNZWRpYVN0cmVhbVRyYWNrKSBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKaW5kZXggNjZjN2YwOGYwZjI4YjA0NmJi
NGMzNWU4ZTliZjE5ZmJkZjJhYmM1NS4uMmE4MTNiNmExMjBkZjM1OGYwOGJkMjcxOGM5NjU3MzQz
MDFkZWY0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92
ZXJsYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5
LmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIklu
c3BlY3Rvck92ZXJsYXkuaCIKIAorI2luY2x1ZGUgIkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCiAj
aW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJFZGl0b3JDbGllbnQuaCIKICNp
bmNsdWRlICJFbGVtZW50LmgiCkBAIC04NjUsNyArODY2LDggQEAgUGFnZSogSW5zcGVjdG9yT3Zl
cmxheTo6b3ZlcmxheVBhZ2UoKQogICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0
aW9uKAogICAgICAgICBjcmVhdGVFbXB0eUVkaXRvckNsaWVudCgpLAogICAgICAgICBTb2NrZXRQ
cm92aWRlcjo6Y3JlYXRlKCksCi0gICAgICAgIG1ha2VVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlk
ZXI+KCkKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4oKSwKKyAgICAg
ICAgQ2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpCiAgICAgKTsKICAgICBmaWxsV2l0aEVt
cHR5Q2xpZW50cyhwYWdlQ29uZmlndXJhdGlvbik7CiAgICAgbV9vdmVybGF5UGFnZSA9IHN0ZDo6
bWFrZV91bmlxdWU8UGFnZT4oV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbikpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZldGNoT3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ZldGNoT3B0aW9ucy5oCmluZGV4IDdlMWE4MzczOGQyMzk3ZjI0ZDcyNGNkMDEyNjY2
N2ZhNjA0ZTE4YjguLjgxZDdmYzMwZWQ0ZGU4MzA5MzRkNTI2MjcxODkwMzg3OTJiMTRjOWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GZXRjaE9wdGlvbnMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRmV0Y2hPcHRpb25zLmgKQEAgLTM0LDYgKzM0LDggQEAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IEZldGNoT3B0aW9ucyB7CisgICAgRmV0Y2hPcHRpb25z
IGlzb2xhdGVkQ29weSgpIGNvbnN0IHsgcmV0dXJuIEZldGNoT3B0aW9ucyB7IHR5cGUsIGRlc3Rp
bmF0aW9uLCBtb2RlLCBjcmVkZW50aWFscywgY2FjaGUsIHJlZGlyZWN0LCByZWZlcnJlclBvbGlj
eSwgaW50ZWdyaXR5Lmlzb2xhdGVkQ29weSgpLCBrZWVwQWxpdmUgfTsgfQorCiAgICAgZW51bSBj
bGFzcyBUeXBlIHsgRW1wdHlTdHJpbmcsIEF1ZGlvLCBGb250LCBJbWFnZSwgU2NyaXB0LCBTdHls
ZSwgVHJhY2ssIFZpZGVvIH07CiAgICAgVHlwZSB0eXBlIHsgVHlwZTo6RW1wdHlTdHJpbmcgfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYWNoZVN0b3JhZ2VQcm92aWRlci5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYWNoZVN0b3JhZ2VQcm92aWRlci5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjAwYmYxZGM1Y2QxZjhmYmNjNjYxY2YxZDZjMDBhNGE4Y2MyYzg4YWIKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhY2hlU3RvcmFnZVByb3ZpZGVyLmgKQEAgLTAsMCAr
MSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIlNlc3Npb25JRC5oIgorI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV0VCQ09SRV9FWFBP
UlQgQ2FjaGVTdG9yYWdlUHJvdmlkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxDYWNoZVN0b3JhZ2VQ
cm92aWRlcj4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+
IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2FjaGVTdG9yYWdlUHJvdmlkZXIpOyB9
CisgICAgdmlydHVhbCBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4gY3JlYXRlQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbihTZXNzaW9uSUQpIHsgcmV0dXJuIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246
OmNyZWF0ZSgpOyB9CisgICAgdmlydHVhbCB+Q2FjaGVTdG9yYWdlUHJvdmlkZXIoKSB7IH07Cit9
OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCBjMjY5ODdmOGRjYjJlOWU5NjA2ZGFhOTcyZDJj
ZmNjN2JlY2M1ZmI3Li43MDQxZjFjZjI5NTk1NGVhZmYwNGQ2YjhhNjE2NGY4ZmFhYzBkNjc2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJCYWNrRm9yd2Fy
ZENsaWVudC5oIgogI2luY2x1ZGUgIkJhY2tGb3J3YXJkQ29udHJvbGxlci5oIgogI2luY2x1ZGUg
IkNTU0FuaW1hdGlvbkNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VQcm92aWRl
ci5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2lu
Y2x1ZGUgIkNvbnN0YW50UHJvcGVydHlNYXAuaCIKQEAgLTIyMiw2ICsyMjMsNyBAQCBQYWdlOjpQ
YWdlKFBhZ2VDb25maWd1cmF0aW9uJiYgcGFnZUNvbmZpZ3VyYXRpb24pCiAjZW5kaWYKICAgICAs
IG1fc29ja2V0UHJvdmlkZXIoV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi5zb2NrZXRQcm92aWRl
cikpCiAgICAgLCBtX2FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlKCpXVEZNb3ZlKHBhZ2VDb25maWd1
cmF0aW9uLmFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlKSkKKyAgICAsIG1fY2FjaGVTdG9yYWdlUHJv
dmlkZXIoV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi5jYWNoZVN0b3JhZ2VQcm92aWRlcikpCiAg
ICAgLCBtX2RhdGFiYXNlUHJvdmlkZXIoKldURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uZGF0YWJh
c2VQcm92aWRlcikpCiAgICAgLCBtX3BsdWdpbkluZm9Qcm92aWRlcigqV1RGTW92ZShwYWdlQ29u
ZmlndXJhdGlvbi5wbHVnaW5JbmZvUHJvdmlkZXIpKQogICAgICwgbV9zdG9yYWdlTmFtZXNwYWNl
UHJvdmlkZXIoKldURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uc3RvcmFnZU5hbWVzcGFjZVByb3Zp
ZGVyKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggOTA5ZjM3OTAyZDMzZTFkMGVmM2U1YTliNGY2NGJhYjRk
ZmE1ZmYwYi4uNWZjODljZGM1OTJjOTQ5ZWIxOGQ5Y2VhMTdmNjFmYmNkMzU1MTIwMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmgKQEAgLTc3LDYgKzc3LDcgQEAgY2xhc3MgQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Owog
Y2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7CiBjbGFzcyBCYWNrRm9yd2FyZENvbnRyb2xs
ZXI7CiBjbGFzcyBCYWNrRm9yd2FyZENsaWVudDsKK2NsYXNzIENhY2hlU3RvcmFnZVByb3ZpZGVy
OwogY2xhc3MgQ2hyb21lOwogY2xhc3MgQ2hyb21lQ2xpZW50OwogY2xhc3MgQ29sb3I7CkBAIC01
MTAsNiArNTExLDcgQEAgcHVibGljOgogCiAgICAgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UmIGFw
cGxpY2F0aW9uQ2FjaGVTdG9yYWdlKCkgeyByZXR1cm4gbV9hcHBsaWNhdGlvbkNhY2hlU3RvcmFn
ZTsgfQogICAgIERhdGFiYXNlUHJvdmlkZXImIGRhdGFiYXNlUHJvdmlkZXIoKSB7IHJldHVybiBt
X2RhdGFiYXNlUHJvdmlkZXI7IH0KKyAgICBDYWNoZVN0b3JhZ2VQcm92aWRlciYgY2FjaGVTdG9y
YWdlUHJvdmlkZXIoKSB7IHJldHVybiBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyOyB9CiAgICAgU29j
a2V0UHJvdmlkZXImIHNvY2tldFByb3ZpZGVyKCkgeyByZXR1cm4gbV9zb2NrZXRQcm92aWRlcjsg
fQogCiAgICAgU3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyJiBzdG9yYWdlTmFtZXNwYWNlUHJvdmlk
ZXIoKSB7IHJldHVybiBtX3N0b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5nZXQoKTsgfQpAQCAtNzg0
LDYgKzc4Niw3IEBAIHByaXZhdGU6CiAKICAgICBSZWY8U29ja2V0UHJvdmlkZXI+IG1fc29ja2V0
UHJvdmlkZXI7CiAgICAgUmVmPEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlPiBtX2FwcGxpY2F0aW9u
Q2FjaGVTdG9yYWdlOworICAgIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4gbV9jYWNoZVN0b3Jh
Z2VQcm92aWRlcjsKICAgICBSZWY8RGF0YWJhc2VQcm92aWRlcj4gbV9kYXRhYmFzZVByb3ZpZGVy
OwogICAgIFJlZjxQbHVnaW5JbmZvUHJvdmlkZXI+IG1fcGx1Z2luSW5mb1Byb3ZpZGVyOwogICAg
IFJlZjxTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI+IG1fc3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVy
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcAppbmRleCAxMTIzZGQ2
ZDQwNWE5NDgxM2E0YTc4NzQyYzdkNjZkMmNmMWJlZTdjLi5mMWI4MjdkY2ZiYWFlNmU2YzhkY2Nh
ZDlkMThkNDkzNzlkYzk1MWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VD
b25maWd1cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0
aW9uLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZVN0
b3JhZ2UuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZENsaWVudC5oIgorI2luY2x1ZGUgIkNhY2hl
U3RvcmFnZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VQcm92aWRlci5oIgogI2luY2x1
ZGUgIkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgiCiAjaW5jbHVkZSAiRWRpdG9yQ2xpZW50Lmgi
CkBAIC00MywxMCArNDQsMTEgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYWdlQ29uZmln
dXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24oVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiBlZGl0
b3JDbGllbnQsIFJlZjxTb2NrZXRQcm92aWRlcj4mJiBzb2NrZXRQcm92aWRlciwgVW5pcXVlUmVm
PExpYldlYlJUQ1Byb3ZpZGVyPiYmIGxpYldlYlJUQ1Byb3ZpZGVyKQorUGFnZUNvbmZpZ3VyYXRp
b246OlBhZ2VDb25maWd1cmF0aW9uKFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYgZWRpdG9yQ2xp
ZW50LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYgc29ja2V0UHJvdmlkZXIsIFVuaXF1ZVJlZjxMaWJX
ZWJSVENQcm92aWRlcj4mJiBsaWJXZWJSVENQcm92aWRlciwgUmVmPENhY2hlU3RvcmFnZVByb3Zp
ZGVyPiYmIGNhY2hlU3RvcmFnZVByb3ZpZGVyKQogICAgIDogZWRpdG9yQ2xpZW50KFdURk1vdmUo
ZWRpdG9yQ2xpZW50KSkKICAgICAsIHNvY2tldFByb3ZpZGVyKFdURk1vdmUoc29ja2V0UHJvdmlk
ZXIpKQogICAgICwgbGliV2ViUlRDUHJvdmlkZXIoV1RGTW92ZShsaWJXZWJSVENQcm92aWRlcikp
CisgICAgLCBjYWNoZVN0b3JhZ2VQcm92aWRlcihXVEZNb3ZlKGNhY2hlU3RvcmFnZVByb3ZpZGVy
KSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJh
dGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oCmluZGV4IGY1
M2ExMmMzODdlYWZiNDA0ZjJhMDY2NjAyNzU5ZWM5YTdmYzBmNWYuLmE4NjJkNDMwMmUwMzY0NjRm
OTEwYTU3YjAxZDc3YjY0Y2M2ZWY0MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1
cmF0aW9uLmgKQEAgLTM0LDYgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWx0
ZXJuYXRpdmVUZXh0Q2xpZW50OwogY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7CiBjbGFz
cyBCYWNrRm9yd2FyZENsaWVudDsKK2NsYXNzIENhY2hlU3RvcmFnZVByb3ZpZGVyOwogY2xhc3Mg
Q2hyb21lQ2xpZW50OwogY2xhc3MgQ29udGV4dE1lbnVDbGllbnQ7CiBjbGFzcyBEYXRhYmFzZVBy
b3ZpZGVyOwpAQCAtNTgsNyArNTksNyBAQCBjbGFzcyBXZWJHTFN0YXRlVHJhY2tlcjsKIGNsYXNz
IFBhZ2VDb25maWd1cmF0aW9uIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlQ29uZmln
dXJhdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFdFQkNPUkVf
RVhQT1JUIFBhZ2VDb25maWd1cmF0aW9uKFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYsIFJlZjxT
b2NrZXRQcm92aWRlcj4mJiwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCBQYWdlQ29uZmlndXJhdGlvbihVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYm
LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJiwg
UmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB+UGFnZUNv
bmZpZ3VyYXRpb24oKTsKIAogICAgIEFsdGVybmF0aXZlVGV4dENsaWVudCogYWx0ZXJuYXRpdmVU
ZXh0Q2xpZW50IHsgbnVsbHB0ciB9OwpAQCAtODcsNiArODgsNyBAQCBwdWJsaWM6CiAKICAgICBS
ZWZQdHI8QXBwbGljYXRpb25DYWNoZVN0b3JhZ2U+IGFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwog
ICAgIFJlZlB0cjxEYXRhYmFzZVByb3ZpZGVyPiBkYXRhYmFzZVByb3ZpZGVyOworICAgIFJlZjxD
YWNoZVN0b3JhZ2VQcm92aWRlcj4gY2FjaGVTdG9yYWdlUHJvdmlkZXI7CiAgICAgUmVmUHRyPFBs
dWdpbkluZm9Qcm92aWRlcj4gcGx1Z2luSW5mb1Byb3ZpZGVyOwogICAgIFJlZlB0cjxTdG9yYWdl
TmFtZXNwYWNlUHJvdmlkZXI+IHN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjsKICAgICBSZWZQdHI8
VXNlckNvbnRlbnRQcm92aWRlcj4gdXNlckNvbnRlbnRQcm92aWRlcjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCmluZGV4IDc4NmU4ZjdhN2JjYTYwODA5YTU1NWI2NWY4
MzVjMmE1MGEwMDgyZTguLjgyNTliMmY4ZTI4NjYzYjIxN2NkZWEwNGMyZjhlYzM4MzdjZDc4ZjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcApAQCAtMjgsNiArMjgs
NyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNWR0ltYWdlLmgiCiAKKyNpbmNs
dWRlICJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1
ZGUgIkNvbW1vblZNLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCkBAIC00MjksNyArNDMwLDgg
QEAgRW5jb2RlZERhdGFTdGF0dXMgU1ZHSW1hZ2U6OmRhdGFDaGFuZ2VkKGJvb2wgYWxsRGF0YVJl
Y2VpdmVkKQogICAgICAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbigKICAg
ICAgICAgICAgIGNyZWF0ZUVtcHR5RWRpdG9yQ2xpZW50KCksCiAgICAgICAgICAgICBTb2NrZXRQ
cm92aWRlcjo6Y3JlYXRlKCksCi0gICAgICAgICAgICBtYWtlVW5pcXVlUmVmPExpYldlYlJUQ1By
b3ZpZGVyPigpCisgICAgICAgICAgICBtYWtlVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPigp
LAorICAgICAgICAgICAgQ2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpCiAgICAgICAgICk7
CiAgICAgICAgIGZpbGxXaXRoRW1wdHlDbGllbnRzKHBhZ2VDb25maWd1cmF0aW9uKTsKICAgICAg
ICAgbV9jaHJvbWVDbGllbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPFNWR0ltYWdlQ2hyb21lQ2xpZW50
Pih0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CmluZGV4IDMzNGY2NjhiNzczYzg2YmIyZTE1NGM1NjRl
OGM0OWJmODBiYzc2NjQuLjZhYTg1NmRhYzU5MzUxMWJmYTczNzQyODQyYzRlNGUwYjVkOGFmMGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dl
YktpdC9DTWFrZUxpc3RzLnR4dApAQCAtNTIsNiArNTIsNyBAQCBzZXQoV2ViS2l0Ml9JTkNMVURF
X0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvQXBwbGVQYXkiCiAg
ICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvQXBwbGljYXRpb25DYWNoZSIKICAgICAiJHtX
RUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9BdXRvbWF0aW9uIgorICAgICIke1dFQktJVDJfRElSfS9X
ZWJQcm9jZXNzL0NhY2hlIgogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0Nvb2tpZXMi
CiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvRGF0YWJhc2VzIgogICAgICIke1dFQktJ
VDJfRElSfS9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0ZTNjMjM0ZTg1ZmI3NWQy
ZTIwZTcxZWYzMWVhZjI0NWRkNjVlZDExLi4zNGUzY2EyYTgyNDIwYTU5OTZhZWZhYzQzZGNjNjVm
YmVmYTBjYzIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTg5MSw2ICs4OTEsNyBAQAogCQk0MTMwNzVCMjFERTg1RjU4MDAzOUVDNjkg
LyogTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTYxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Nv
Y2tldEZhY3RvcnkuaCAqLzsgfTsKIAkJNDEzMDc1QjMxREU4NUY1ODAwMzlFQzY5IC8qIExpYldl
YlJUQ1Byb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxMzA3NUE3MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5jcHAg
Ki87IH07CiAJCTQxMzA3NUI0MURFODVGNTgwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTgx
REU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmggKi87IH07CisJCTQxRDEyOURB
MUYzRDEwMTgwMEQxNUU0NyAvKiBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMTI5RDkxRjNEMTAxNDAwRDE1
RTQ3IC8qIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmggKi87IH07CiAJCTQxREM0NTk2MUUzRDZF
MjIwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxREM0NTk0MUUzRDZFMUUwMEIxMUY1MSAvKiBOZXR3
b3JrUlRDUHJvdmlkZXIuaCAqLzsgfTsKIAkJNDFEQzQ1OTcxRTNENkUyMjAwQjExRjUxIC8qIE5l
dHdvcmtSVENQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MURDNDU5NTFFM0Q2RTFFMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVy
LmNwcCAqLzsgfTsKIAkJNDFEQzQ1OUIxRTNEQkIyODAwQjExRjUxIC8qIExpYldlYlJUQ1NvY2tl
dENsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MURDNDU5OTFFM0RCQjI0MDBCMTFGNTEgLyogTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcCAq
LzsgfTsKQEAgLTMxNDAsNiArMzE0MSw3IEBACiAJCTQxMzA3NUE3MURFODVFRTcwMDM5RUM2OSAv
KiBMaWJXZWJSVENQcm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxp
bmVFbmRpbmcgPSAwOyBuYW1lID0gTGliV2ViUlRDUHJvdmlkZXIuY3BwOyBwYXRoID0gTmV0d29y
ay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4
Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKIAkJ
NDEzMDc1QTgxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbGluZUVuZGluZyA9IDA7IG5hbWUgPSBMaWJXZWJSVENQcm92aWRl
ci5oOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUu
bGFuZy5vYmpjcHA7IH07CiAJCTQxQUM4NjgxMUUwNDJFNTMwMDMwMzA3NCAvKiBXZWJSVENSZXNv
bHZlci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0g
V2ViUlRDUmVzb2x2ZXIubWVzc2FnZXMuaW47IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJSVENS
ZXNvbHZlci5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNw
ZWNpZmljYXRpb25JZGVudGlmaWVyID0gIjxub25lPiI7IH07CisJCTQxRDEyOUQ5MUYzRDEwMTQw
MEQxNUU0NyAvKiBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJD
YWNoZVN0b3JhZ2VQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MURD
NDU5NDFFM0Q2RTFFMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtSVENQcm92aWRlci5oOyBwYXRoID0gTmV0d29y
a1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MURDNDU5NTFFM0Q2RTFFMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtSVENQcm92
aWRlci5jcHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFEQzQ1OTgxRTNENkVENjAwQjEx
RjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5h
bWUgPSBOZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW47IHBhdGggPSBOZXR3b3JrUHJvY2Vz
cy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtNTkwOCw2ICs1OTEwLDE0IEBACiAJCQluYW1lID0gd2VicnRjOwogCQkJ
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJNDFEMTI5RDgxRjNEMTAxNDAwRDE1RTQ3
IC8qIENhY2hlICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJ
CQk0MUQxMjlEOTFGM0QxMDE0MDBEMTVFNDcgLyogV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAq
LywKKwkJCSk7CisJCQlwYXRoID0gQ2FjaGU7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwor
CQl9OwogCQk0NDUwQUVCRTFEQzNGQUFDMDA5OTQzRjIgLyogY29jb2EgKi8gPSB7CiAJCQlpc2Eg
PSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtNjU4Niw2ICs2NTk2LDcgQEAKIAkJCWNo
aWxkcmVuID0gKAogCQkJCTFBQjFGNzcwMUQxQjJGNUQwMDdDOUJEMSAvKiBBcHBsZVBheSAqLywK
IAkJCQkxQzBBMTk0MzFDOEZGMUE4MDBGRTBFQkIgLyogQXV0b21hdGlvbiAqLywKKwkJCQk0MUQx
MjlEODFGM0QxMDE0MDBEMTVFNDcgLyogQ2FjaGUgKi8sCiAJCQkJN0M2RTcwRjgxOEIyRDQ3RTAw
RjI0RTJFIC8qIGNvY29hICovLAogCQkJCTMzMDkzNDRCMTMxNUI5M0EwMDk3QTdCQyAvKiBDb29r
aWVzICovLAogCQkJCTUxMkE5NzU0MTgwREY5MjcwMDM5QTE0OSAvKiBEYXRhYmFzZXMgKi8sCkBA
IC04NjgzLDYgKzg2OTQsNyBAQAogCQkJCUJDNzJCQTFFMTFFNjQ5MDcwMDFFQjRFQSAvKiBXZWJC
YWNrRm9yd2FyZExpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxOEQyQ0FFMTJENTE1M0IwMDNC
QjkzQiAvKiBXZWJCYWNrRm9yd2FyZExpc3RJdGVtLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzcy
QjlGQjExRTY0NzZCMDAxRUI0RUEgLyogV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTQxRDEyOURBMUYzRDEwMTgwMEQxNUU0NyAvKiBXZWJDYWNoZVN0b3JhZ2VQ
cm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNGNTA3MjgxMjQzMjlBQTAwNTk1NUFFIC8q
IFdlYkNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwMzJENzUxMEY0Mzc4
RDAwNThDMTVBIC8qIFdlYkNocm9tZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJM0Y4N0I5
QkUxNTg5NDAxOTAwOTBGRjYyIC8qIFdlYkNvbG9yQ2hvb3Nlci5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQ2FjaGUvV2ViQ2FjaGVTdG9yYWdl
UHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9DYWNoZS9XZWJDYWNoZVN0b3Jh
Z2VQcm92aWRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0MjIxNmEyMDg2Y2U2ODgwZTBlMzhjMTZkYTk4NWI4
N2UwNjY3ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQ2Fj
aGUvV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaApAQCAtMCwwICsxLDM3IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDxXZWJDb3JlL0NhY2hlU3RvcmFnZVByb3ZpZGVy
Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJDYWNoZVN0b3JhZ2VQcm92aWRl
ciBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpDYWNoZVN0b3JhZ2VQcm92aWRlciB7CitwdWJsaWM6
CisgICAgc3RhdGljIFJlZjxXZWJDYWNoZVN0b3JhZ2VQcm92aWRlcj4gY3JlYXRlKCkgeyByZXR1
cm4gYWRvcHRSZWYoKm5ldyBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlcik7IH0KK307CisKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMjVjNzUz
ZmE5YTk3NGJmYTlmZWFkMzZmZGMzODlhMGJkOWMwYTEyYy4uMDRmYzYxNTMzZDkxYTIwZWI4ZGFl
NzUxMjZkNzkzM2YwODI4Y2JiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKQEAgLTY4LDYgKzY4LDcgQEAKICNpbmNsdWRlICJXZWJBbHRlcm5hdGl2
ZVRleHRDbGllbnQuaCIKICNpbmNsdWRlICJXZWJCYWNrRm9yd2FyZExpc3RJdGVtLmgiCiAjaW5j
bHVkZSAiV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaCIKKyNpbmNsdWRlICJXZWJDYWNoZVN0b3Jh
Z2VQcm92aWRlci5oIgogI2luY2x1ZGUgIldlYkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIldl
YkNvbG9yQ2hvb3Nlci5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51LmgiCkBAIC0zNzEsNyAr
MzcyLDggQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlv
blBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25m
aWd1cmF0aW9uKAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkVkaXRvckNsaWVudD4odGhpcyks
CiAgICAgICAgIFdlYlNvY2tldFByb3ZpZGVyOjpjcmVhdGUoKSwKLSAgICAgICAgbWFrZVVuaXF1
ZVJlZjxXZWJLaXQ6OkxpYldlYlJUQ1Byb3ZpZGVyPigpCisgICAgICAgIG1ha2VVbmlxdWVSZWY8
V2ViS2l0OjpMaWJXZWJSVENQcm92aWRlcj4oKSwKKyAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkuY2FjaGVTdG9yYWdlUHJvdmlkZXIoKQogICAgICk7CiAgICAgcGFnZUNvbmZpZ3VyYXRp
b24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudCgqdGhpcyk7CiAjaWYgRU5BQkxF
KENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5k
ZXggOWQxNmI1MDc3ODI1MjQwYTg1YzQ1ZGNkNGM5OGMwMWI1MmE5OWM1Yi4uZDA3NDRjMTMxNDQw
NmM0Njc1Mjg4YTkyN2ZhYTFjMDI4NGQzMzUyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgIlN0YXRpc3RpY3NEYXRh
LmgiCiAjaW5jbHVkZSAiVXNlckRhdGEuaCIKICNpbmNsdWRlICJXZWJBdXRvbWF0aW9uU2Vzc2lv
blByb3h5LmgiCisjaW5jbHVkZSAiV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRl
ICJXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3MuaCIKICNpbmNsdWRlICJXZWJDb29raWVNYW5hZ2Vy
LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCkBAIC0xNTksNiArMTYwLDcg
QEAgV2ViUHJvY2Vzczo6V2ViUHJvY2VzcygpCiAjZW5kaWYKICAgICAsIG1fd2ViSW5zcGVjdG9y
SW50ZXJydXB0RGlzcGF0Y2hlcihXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyOjpjcmVh
dGUoKSkKICAgICAsIG1fd2ViTG9hZGVyU3RyYXRlZ3koKm5ldyBXZWJMb2FkZXJTdHJhdGVneSkK
KyAgICAsIG1fY2FjaGVTdG9yYWdlUHJvdmlkZXIoV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNy
ZWF0ZSgpKQogICAgICwgbV9kbnNQcmVmZXRjaEh5c3RlcmVyaXMoW3RoaXNdKEh5c3RlcmVzaXNT
dGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gSHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVkKSBtX2Ru
c1ByZWZldGNoZWRIb3N0cy5jbGVhcigpOyB9KQogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5f
QVBJKQogICAgICwgbV9wbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIoUGx1Z2luUHJvY2Vz
c0Nvbm5lY3Rpb25NYW5hZ2VyOjpjcmVhdGUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5oCmluZGV4IGNmMmFiODEzYjM3OTAzNzNiMmRhMGZhNmZhYmY3YmFjNDdiMmY0OTcuLjEy
M2M0YmIxOThjYWY3MGNkOTc2ZjY5NTk5Zjc3NzkwYjFkMGJiNzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtODAsNiArODAsNyBAQCBjbGFzcyBPYmpDT2JqZWN0R3Jh
cGg7CiBjbGFzcyBVc2VyRGF0YTsKIGNsYXNzIFdheWxhbmRDb21wb3NpdG9yRGlzcGxheTsKIGNs
YXNzIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk7CitjbGFzcyBXZWJDYWNoZVN0b3JhZ2VQcm92
aWRlcjsKIGNsYXNzIFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2VzczsKIGNsYXNzIFdlYkZyYW1lOwog
Y2xhc3MgV2ViTG9hZGVyU3RyYXRlZ3k7CkBAIC0yMjIsNiArMjIzLDggQEAgcHVibGljOgogCiAg
ICAgV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eSogYXV0b21hdGlvblNlc3Npb25Qcm94eSgpIHsg
cmV0dXJuIG1fYXV0b21hdGlvblNlc3Npb25Qcm94eS5nZXQoKTsgfQogCisgICAgV2ViQ2FjaGVT
dG9yYWdlUHJvdmlkZXImIGNhY2hlU3RvcmFnZVByb3ZpZGVyKCkgeyByZXR1cm4gbV9jYWNoZVN0
b3JhZ2VQcm92aWRlci5nZXQoKTsgfQorCiBwcml2YXRlOgogICAgIFdlYlByb2Nlc3MoKTsKICAg
ICB+V2ViUHJvY2VzcygpOwpAQCAtMzc1LDYgKzM3OCw4IEBAIHByaXZhdGU6CiAgICAgUmVmUHRy
PE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbj4gbV9uZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb247CiAg
ICAgV2ViTG9hZGVyU3RyYXRlZ3kmIG1fd2ViTG9hZGVyU3RyYXRlZ3k7CiAKKyAgICBSZWY8V2Vi
Q2FjaGVTdG9yYWdlUHJvdmlkZXI+IG1fY2FjaGVTdG9yYWdlUHJvdmlkZXI7CisKICNpZiBVU0Uo
TElCV0VCUlRDKQogICAgIHN0ZDo6dW5pcXVlX3B0cjxMaWJXZWJSVENOZXR3b3JrPiBtX2xpYldl
YlJUQ05ldHdvcms7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbQppbmRleCAxZDQ5YjQ5ZjQ2ODA5MzFiOWU5ZGQwN2JmZTAxMDgyODUwY2MyMmJmLi4z
YzUyZWY5NzVkZjcwNjA0ZGUwMGRhNTBiOWNiNWVhYjc4Yzk2ZmRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0xMjQsNiArMTI0LDcgQEAKICNpbXBv
cnQgPFdlYkNvcmUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUv
QmFja0ZvcndhcmRDb250cm9sbGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NTU0FuaW1hdGlvbkNv
bnRyb2xsZXIuaD4KKyNpbXBvcnQgPFdlYkNvcmUvQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaD4KICNp
bXBvcnQgPFdlYkNvcmUvQ2hyb21lLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NvbG9yTWFjLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL0RhdGFiYXNlTWFuYWdlci5oPgpAQCAtMTQxMyw3ICsxNDE0LDggQEAg
LSAodm9pZClfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOihOU1N0cmluZyAqKWZy
YW1lTmFtZSBncm91cE5hbWU6KE5TU3QKICAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmln
dXJhdGlvbigKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJFZGl0b3JDbGllbnQ+KHNlbGYpLAog
ICAgICAgICBTb2NrZXRQcm92aWRlcjo6Y3JlYXRlKCksCi0gICAgICAgIG1ha2VVbmlxdWVSZWY8
V2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXI+KCkKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJD
b3JlOjpMaWJXZWJSVENQcm92aWRlcj4oKSwKKyAgICAgICAgV2ViQ29yZTo6Q2FjaGVTdG9yYWdl
UHJvdmlkZXI6OmNyZWF0ZSgpCiAgICAgKTsKICNpZiAhUExBVEZPUk0oSU9TKQogICAgIHBhZ2VD
b25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQoc2VsZik7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggNDU3ZDExNGEzMzllNTRmNGQ5OWQ0YmRhOWNiN2JmNGMxYjBmZTBhNy4uMDA1Nzc4MDM1
OTFkYjViNGNhMDBhNmIwMzNmOTZhM2NhNTA2OWU5MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisy
MDE3LTA4LTEwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBb
Q2FjaGUgQVBJXSBBZGRpbmcgZ2VuZXJpYyBzdXBwb3J0IGZvciBDYWNoZVN0b3JhZ2UgYW5kIENh
Y2hlIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3NTQ1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogVGVzdEV4cGVjdGF0aW9uczogU2tpcHBpbmcgYSB0ZXN0IHRoYXQgd291bGQgdGltZW91
dCBvdGhlcndpc2UgZHVlIHRvIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIGxpbWl0YXRpb25z
LgorCiAyMDE3LTA4LTEwICBNaWd1ZWwgR29tZXogIDxtYWdvbWV6QGlnYWxpYS5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCBHVEsrIGdhcmRlbmluZy4gVXBkYXRlIGV4cGVjdGF0aW9ucyBvZiBz
ZXZlcmFsIHRlc3RzIGZhaWxpbmcgYXQgcjIyMDUxNi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCmluZGV4IGE4YmUyNmNkNmFhY2NmNTcyMTUzZjgzNjYxZmY0MTlmM2E5Mjk0MmEuLjA4YjFi
ZGYyNTI2ZjI0ZmU0M2MwMmEyNzc4OTk2YzQ0Y2FiMDQ0ZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTA4LTEwICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbQ2FjaGUgQVBJXSBBZGRpbmcgZ2VuZXJpYyBz
dXBwb3J0IGZvciBDYWNoZVN0b3JhZ2UgYW5kIENhY2hlIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTQ1NQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY3JlZGVudGlhbHMuaHR0
cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9j
YWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uv
d29ya2VyL2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIv
Y2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQ6CisKIDIwMTctMDgtMDkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBvcnQgYmVhY29uL2hlYWRlcnMv
aGVhZGVyLWNvbnRlbnQtdHlwZS5odG1sIGZyb20gdXBzdHJlYW0gV1BUCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cwppbmRleCBlNmFkMmYyNTgyN2FlYjUyYmM2MzQxMTczNzY5Mzk3MTU1MDc2YTE5Li42OWZiZjZj
NGFlZTEwNTYxNDE4NDQ4NzUzYmEzZTkxYWM1MzYyOTc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTEyMSw3ICsxMjEsNyBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zdHViLTQuNi4yLWNhY2hlLmh0bWwgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3N0dWItNC42LjMtY2FjaGUtc3RvcmFnZS5o
dG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9jYWNoZS1zdG9yYWdlIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdyBbIFBhc3MgRmFpbHVyZSBd
Ci0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hl
LXN0b3JhZ2UvY29tbW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0KIAogIyB0ZXh0YXJlYS5hbmltYXRl
IGlzIG5vdCBzdXBwb3J0ZWQKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy11aS0zL2NhcmV0LWNvbG9yLTAxOC5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvY2FjaGUtc3RvcmFnZS9zZXJ2aWNld29ya2VyL2NyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVk
LnR4dAppbmRleCAwNzYxNjUwZGJjNDFlOGJkMTVlNjRlNDdlMzA4ZjJkYzMyYWI5ZTViLi4zOGU5
NTIzOTdjMzQ2MTkyOGYxZWYxZWRmN2FiZWUzMGNlMzgxMjc3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jcmVkZW50aWFscy5odHRwcy1leHBl
Y3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgQ2FjaGUgQVBJIG1hdGNoaW5nIGluY2x1
ZGVzIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZSBBUEkg
bWF0Y2hpbmcgaW5jbHVkZXMgY3JlZGVudGlhbHMgYXNzZXJ0X3VucmVhY2hlZDogdW5yZWdpc3Rl
ciBzaG91bGQgbm90IGZhaWw6IHNlcnZpY2VXb3JrZXIuZ2V0UmVnaXN0cmF0aW9uKCkgaXMgbm90
IHlldCBpbXBsZW1lbnRlZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBz
LWV4cGVjdGVkLnR4dAppbmRleCBmZGVhZmU5MzY2ZTlmNTk5OTQ3ZDIwMzU5YWYwYTU3NGIzYzJk
NmYzLi43MWY1ZTcwZDJiMmMzNmQ1NTc0YjUzMTFhYjBjYWU2ZWJjNjkwZmVkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLW1hdGNo
Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtNCw4ICs0LDggQEAgRkFJTCBDYWNoZVN0b3JhZ2VNYXRj
aCBmcm9tIG9uZSBvZiBtYW55IGNhY2hlcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24KIEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2YgbWFueSBjYWNoZXMgYnkgbmFt
ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggYSBzdHJp
bmcgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIEZBSUwgQ2FjaGVTdG9yYWdlTWF0
Y2ggYSBIRUFEIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3Rv
cmFnZU1hdGNoIHdpdGggbm8gY2FjaGVkIGVudHJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgot
RkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlcyBhdmFpbGFibGUgYnV0IG5hbWUg
cHJvdmlkZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitQQVNTIENhY2hlU3RvcmFnZU1hdGNo
IHdpdGggbm8gY2FjaGVkIGVudHJ5IAorUEFTUyBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNh
Y2hlcyBhdmFpbGFibGUgYnV0IG5hbWUgcHJvdmlkZWQgCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNo
IHdpdGggZW1wdHkgY2FjaGUgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
IEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggc3VwcG9ydHMgaWdub3JlU2VhcmNoIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgogRkFJTCBDYWNoZS5tYXRjaCBzdXBwb3J0cyBpZ25vcmVNZXRob2QgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRv
dy9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2lu
ZG93L2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDAwMWU2ZTMzYmQ3YWIz
NGVhNzM1YWNhZGY5NDIwY2FlMTA4MjliNjEuLjFhZDQ2MDAyOGRhNzY5ZWMxOTgxNGUzMTBhZDBh
MDA3OGUzZTc3OWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0
b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2Nh
Y2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC00LDkgKzQsOSBAQCBGQUlMIENhY2hl
U3RvcmFnZS5kZWxldGUgZG9vbXMsIGJ1dCBkb2VzIG5vdCBkZWxldGUgaW1tZWRpYXRlbHkgcHJv
bWlzZV90ZXN0OiBVbgogRkFJTCBDYWNoZVN0b3JhZ2Uub3BlbiB3aXRoIGFuIGVtcHR5IG5hbWUg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBQQVNTIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggbm8g
YXJndW1lbnRzIAogRkFJTCBDYWNoZVN0b3JhZ2UuaGFzIHdpdGggZXhpc3RpbmcgY2FjaGUgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZS5oYXMgd2l0aCBub25leGlz
dGVudCBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK1BBU1MgQ2FjaGVTdG9yYWdlLmhh
cyB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIAogRkFJTCBDYWNoZVN0b3JhZ2Uub3BlbiB3aXRoIGV4
aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgogRkFJTCBDYWNoZVN0b3JhZ2Uu
ZGVsZXRlIHdpdGggZXhpc3RpbmcgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBub25leGlzdGVudCBjYWNoZSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKK1BBU1MgQ2FjaGVTdG9yYWdlLmRlbGV0ZSB3aXRoIG5vbmV4aXN0ZW50IGNh
Y2hlIAogRkFJTCBDYWNoZVN0b3JhZ2UgbmFtZXMgYXJlIERPTVN0cmluZ3Mgbm90IFVTVlN0cmlu
Z3MgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3Jh
Z2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQK
aW5kZXggZmRlYWZlOTM2NmU5ZjU5OTk0N2QyMDM1OWFmMGE1NzRiM2MyZDZmMy4uNzFmNWU3MGQy
YjJjMzZkNTU3NGI1MzExYWIwY2FlNmViYzY5MGZlZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3Rl
ZC50eHQKQEAgLTQsOCArNCw4IEBAIEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2Yg
bWFueSBjYWNoZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uCiBGQUlMIENhY2hl
U3RvcmFnZU1hdGNoIGZyb20gb25lIG9mIG1hbnkgY2FjaGVzIGJ5IG5hbWUgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIGEgc3RyaW5nIHJlcXVlc3QgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIGEgSEVBRCByZXF1
ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRo
IG5vIGNhY2hlZCBlbnRyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9y
YWdlTWF0Y2ggd2l0aCBubyBjYWNoZXMgYXZhaWxhYmxlIGJ1dCBuYW1lIHByb3ZpZGVkIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogTm90IGltcGxlbWVudGVkIgorUEFTUyBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hl
ZCBlbnRyeSAKK1BBU1MgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNoZXMgYXZhaWxhYmxl
IGJ1dCBuYW1lIHByb3ZpZGVkIAogRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIGVtcHR5IGNh
Y2hlIG5hbWUgcHJvdmlkZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBGQUlMIENhY2hlU3Rv
cmFnZU1hdGNoIHN1cHBvcnRzIGlnbm9yZVNlYXJjaCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
IEZBSUwgQ2FjaGUubWF0Y2ggc3VwcG9ydHMgaWdub3JlTWV0aG9kIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFn
ZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9y
YWdlLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAwMDFlNmUzM2JkN2FiMzRlYTczNWFjYWRmOTQy
MGNhZTEwODI5YjYxLi4xYWQ0NjAwMjhkYTc2OWVjMTk4MTRlMzEwYWQwYTAwNzhlM2U3NzllIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLmh0
dHBzLWV4cGVjdGVkLnR4dApAQCAtNCw5ICs0LDkgQEAgRkFJTCBDYWNoZVN0b3JhZ2UuZGVsZXRl
IGRvb21zLCBidXQgZG9lcyBub3QgZGVsZXRlIGltbWVkaWF0ZWx5IHByb21pc2VfdGVzdDogVW4K
IEZBSUwgQ2FjaGVTdG9yYWdlLm9wZW4gd2l0aCBhbiBlbXB0eSBuYW1lIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGlt
cGxlbWVudGVkIgogUEFTUyBDYWNoZVN0b3JhZ2Uub3BlbiB3aXRoIG5vIGFyZ3VtZW50cyAKIEZB
SUwgQ2FjaGVTdG9yYWdlLmhhcyB3aXRoIGV4aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2UuaGFzIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCitQQVNTIENhY2hlU3RvcmFnZS5oYXMgd2l0aCBub25leGlz
dGVudCBjYWNoZSAKIEZBSUwgQ2FjaGVTdG9yYWdlLm9wZW4gd2l0aCBleGlzdGluZyBjYWNoZSBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIEZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0ZSB3aXRoIGV4
aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2Uu
ZGVsZXRlIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitQ
QVNTIENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBub25leGlzdGVudCBjYWNoZSAKIEZBSUwgQ2Fj
aGVTdG9yYWdlIG5hbWVzIGFyZSBET01TdHJpbmdzIG5vdCBVU1ZTdHJpbmdzIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317890</attachid>
            <date>2017-08-10 17:13:34 -0700</date>
            <delta_ts>2017-08-10 17:46:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175455-20170810171333.patch</filename>
            <type>text/plain</type>
            <size>109029</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODYzZjAzMzk5NTYzM2Vj
MTRkMGI5ZjQxMGQ5ZWIwOTMyMDQ2YWNhNC4uMTBiZWIzZTZlMGQyM2ZmYmQ2Njk2MmMzOGRlYmM5
ZTBlNDBiMzBlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMiBAQAorMjAxNy0wOC0xMCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRk
aW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5
IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgIEFkZGluZyBhIENhY2hlU3RvcmFnZVByb3ZpZGVy
IGFic3RyYWN0aW9uIHRoYXQgY3JlYXRlcyBhIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uCisgICAg
ICAgIFRoZSBDYWNoZVN0b3JhZ2VQcm92aWRlciBpcyBhY2Nlc3NlZCBmcm9tIHRoZSBwYWdlIGZv
ciBEb2N1bWVudCBjYWxscy4KKyAgICAgICAgVGhlIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24gaXMg
cmVzcG9uc2libGUgdG8gaW1wbGVtZW50IHRoZSByZWFkL3dyaXRlIG9wZXJhdGlvbnMgb24gdGhl
IGNhY2hlIGRhdGFiYXNlLgorICAgICAgICBBdCB0aGUgbW9tZW50LCBpdCBkb2VzIG5vdGhpbmcu
CisKKyAgICAgICAgSW1wbGVtZW50aW5nIENhY2hlU3RvcmFnZSBBUElzIGFuZCBDYWNoZSBBUElz
IGJhc2VkIG9uIHRoZSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uIGV4Y2VwdCBmb3IgQ2FjaGUgYWRk
IGFuZCBhZGRBbGwgd2hpY2ggd2lsbCBiZSBpbXBsZW1lbnRlZCBsYXRlciBvbi4KKworICAgICAg
ICBBZGRpbmcgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlLm1hdGNoIGZ1bmN0aW9uIGFzIGEgSlMg
YnVpbHQtaW4gYXMgdGhpcyBpbnZvbHZlcyBwcm9taXNlcyBhbmQgYWxsb3dzIGEgY2xlYXJlciBp
bXBsZW1lbnRhdGlvbi4KKyAgICAgICAgQWRkaW5nIHZhcmlvdXMgYWNjZXNzb3JzIGFuZCBjb25z
dHJ1Y3RvcnMgZm9yIEZldGNoIGNvbnN0cnVjdHMgYXMgbmVlZGVkIGJ5IHRoZSBDYWNoZSBBUEkg
aW1wbGVtZW50YXRpb24uCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OkNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
Ojp+Q2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6Om9yaWdpbiBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZTo6bWF0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6Om1h
dGNoQWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjpwdXQpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGU6OnJlbW92ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6a2V5cyk6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZTo6cmVmcmVzaFJlcXVlc3RUb1Jlc3BvbnNlTWFwKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlOjpxdWVyeUNhY2hlTWF0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGU6OnF1ZXJ5Q2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnF1ZXJ5Q2FjaGVX
aXRoVGFyZ2V0U3RvcmFnZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6YmF0Y2hEZWxldGVP
cGVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OmJhdGNoUHV0T3BlcmF0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjp1cGRhdGVSZXF1ZXN0VG9SZXNwb25zZU1hcCk6Cisg
ICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6bmFtZSBjb25zdCk6CisgICAgICAg
ICogTW9kdWxlcy9jYWNoZS9DYWNoZS5pZGw6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNo
ZVF1ZXJ5T3B0aW9ucy5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVRdWVyeU9wdGlvbnM6Omlz
b2xhdGVkQ29weSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpvcmlnaW4gY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpoYXMpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVTdG9yYWdlOjpyZWZyZXNoQ2FjaGVNYXApOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9y
YWdlOjpvcGVuKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6cmVtb3ZlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6a2V5cyk6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZVN0b3JhZ2U6OmNhY2hlTWFwKToKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hlU3Rv
cmFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpjcmVhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpDYWNoZVN0b3JhZ2UpOgorICAgICAgICAqIE1vZHVs
ZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hl
U3RvcmFnZS5qczogQWRkZWQuCisgICAgICAgIChtYXRjaC5yZXR1cm4uQ2FjaGVTdG9yYWdlLnBy
b3RvdHlwZS5jYWNoZU1hcC5jYWxsLnRoZW4pOgorICAgICAgICAobWF0Y2gpOgorICAgICAgICAq
IE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9yKToK
KyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQ6OnRvQ3Jv
c3NUaHJlYWREYXRhIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5l
Y3Rpb246OlJlY29yZDo6ZnJvbUNyb3NzVGhyZWFkRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVT
dG9yYWdlQ29ubmVjdGlvbjo6b3Blbik6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uOjpyZW1vdmUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29ubmVj
dGlvbjo6cmVmcmVzaENhY2hlTWFwKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNv
bm5lY3Rpb246OnJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcCk6CisgICAgICAgIChXZWJDb3Jl
OjpDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpiYXRjaERlbGV0ZU9wZXJhdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpiYXRjaFB1dE9wZXJhdGlvbik6Cisg
ICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VSZWNvcmQuaDogQWRkZWQuCisgICAg
ICAgICogTW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NV2luZG93Q2FjaGVzOjpjYWNoZXMgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvY2Fj
aGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
R2xvYmFsU2NvcGVDYWNoZXM6OmZyb20pOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFs
U2NvcGVDYWNoZXM6OmNhY2hlcyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9Xb3Jr
ZXJHbG9iYWxTY29wZUNhY2hlcy5oOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2Nv
cGVDYWNoZXM6Oldvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKToKKyAgICAgICAgKiBNb2R1bGVzL2Zl
dGNoL0ZldGNoQm9keU93bmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHlPd25lcjo6
aXNSZWFkYWJsZVN0cmVhbUJvZHkgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0
Y2hIZWFkZXJzLmg6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEhlYWRlcnM6OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpGZXRjaEhlYWRlcnM6Omd1YXJkIGNvbnN0KToKKyAgICAgICAgKiBN
b2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoTG9h
ZGVyOjpzdGFydCk6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6YnVpbGRPcHRpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OkZldGNo
UmVxdWVzdDo6cmVzb3VyY2VSZXF1ZXN0IGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNo
L0ZldGNoUmVxdWVzdC5oOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaFJlc3BvbnNlOjpib2R5Rm9ySW50ZXJuYWxSZXNw
b25zZSk6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmg6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
T3ZlcmxheS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JPdmVybGF5OjpvdmVybGF5
UGFnZSk6CisgICAgICAgICogbG9hZGVyL0ZldGNoT3B0aW9ucy5oOgorICAgICAgICAoV2ViQ29y
ZTo6RmV0Y2hPcHRpb25zOjppc29sYXRlZENvcHkgY29uc3QpOgorICAgICAgICAqIHBhZ2UvQ2Fj
aGVTdG9yYWdlUHJvdmlkZXIuaDogQWRkZWQuCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBhZ2U6OlBhZ2UpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6UGFnZTo6Y2FjaGVTdG9yYWdlUHJvdmlkZXIpOgorICAgICAgICAqIHBh
Z2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbmZpZ3Vy
YXRpb246OlBhZ2VDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0
aW9uLmg6CisgICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0ltYWdlOjpkYXRhQ2hhbmdlZCk6CisKIDIwMTctMDgtMTAgIEFudHRpIEtvaXZp
c3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFRyeSB0byBmaXggd2luZG93cyBidWls
ZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKaW5kZXggNjIxOTliOTA3MTdhYzQ4NjEzMzg1NzIzM2E2ZjI3YjgwOWQzZGUzZC4u
MjJhNzhmNDk0ZDVjMTk3MzNmZDI4NWYzOGRjNjAzMTViMzMwYTQ5NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxNy0wOC0xMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRkaW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVT
dG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvQ2FjaGUvV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaDogQWRkZWQu
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2Vi
S2l0OjptX2NwdUxpbWl0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6Y2FjaGVT
dG9yYWdlUHJvdmlkZXIpOgorCiAyMDE3LTA4LTEwICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtA
aWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBEb24ndCB1c2UgLS13aG9sZS1hcmNoaXZlIGxp
bmtpbmcgZmxhZ3MgZm9yIHRoZSBXZWJLaXQyIHRhcmdldCBsaWJyYXJpZXMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwppbmRleCBhNjYyOTRhMmUzYjM2M2EzMzMwN2ZhYzY2ODQ3NjZkMDRmMjk4
OTZhLi5jZWJlNmYyZmY2YTdmYzI4MWNhM2IwMTU0MGU3ODU1YmM4N2MzZWUxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMDgtMTAgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFtDYWNoZSBBUEldIEFkZGluZyBn
ZW5lcmljIHN1cHBvcnQgZm9yIENhY2hlU3RvcmFnZSBhbmQgQ2FjaGUgbWV0aG9kcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NDU1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZp
ZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1l
TmFtZTpncm91cE5hbWU6XSk6CisKIDIwMTctMDgtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBEaXNhYmxlIEJlYWNvbiBBUEkgb24gV0sxIERSVCBhbmQgV0sy
IHdoZW4gbm90IHVzaW5nIE5FVFdPUktfU0VTU0lPTgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBl
MWFkNThlM2VjZmU5YWUzNTEyMmMyY2RmYjFjZGNjNmVlN2JjMmIzLi44OWU2NWJjMmM1ZDc2NDZh
NjgxYmNkZDgyYzk5ZmYzNTRkMTg5ZGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtODkzLDYg
Kzg5Myw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKIAogICAgIE1vZHVsZXMvY2FjaGUvQ2FjaGUu
Y3BwCiAgICAgTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuY3BwCisgICAgTW9kdWxlcy9jYWNo
ZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcAogICAgIE1vZHVsZXMvY2FjaGUvRE9NV2luZG93
Q2FjaGVzLmNwcAogICAgIE1vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3Bw
CiAKQEAgLTM4NTIsNiArMzg1Myw3IEBAIGFkZF9kZXBlbmRlbmNpZXMoV2ViQ29yZVRlc3RTdXBw
b3J0QmluZGluZ3MgV2ViQ29yZURlcml2ZWRTb3VyY2VzKQogIyBXZWJDb3JlIEpTIEJ1aWx0aW5z
CiAKIHNldChXZWJDb3JlX0JVSUxUSU5TX1NPVVJDRVMKKyAgICAke1dFQkNPUkVfRElSfS9Nb2R1
bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5qcwogICAgICR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvZmV0
Y2gvRmV0Y2hJbnRlcm5hbHMuanMKICAgICAke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoUmVzcG9uc2UuanMKICAgICAke1dFQkNPUkVfRElSfS9Nb2R1bGVzL21lZGlhc3RyZWFtL05h
dmlnYXRvclVzZXJNZWRpYS5qcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggOGQ1
NjRlNjc3MGJmZDg0NDJkNTc4ZDU0YzJiOTgxZmI4NWUxYjdmOC4uN2UwNTM4YzQxMGQzZjM0YjU1
YzEwNGUxNzcwNzBhYWMwNDgzYzNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBA
IC0xMzk3LDYgKzEzOTcsNyBAQCBDb21tYW5kTGluZUFQSU1vZHVsZVNvdXJjZS5oIDogQ29tbWFu
ZExpbmVBUElNb2R1bGVTb3VyY2UuanMKICMgV2ViQ29yZSBKUyBCdWlsdGlucwogCiBXZWJDb3Jl
X0JVSUxUSU5TX1NPVVJDRVMgPSBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NhY2hlL0NhY2hl
U3RvcmFnZS5qcyBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2ZldGNoL0ZldGNoSW50ZXJuYWxz
LmpzIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5qcyBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvclVzZXJNZWRpYS5qcyBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCmluZGV4IGUxOWFmNTUwMjk1NjRk
OTU3NDU0MmIzZWIzMzQ4NDMyMzgzZjY3ZDUuLmZjOTE2YmE5NThmNjM4Mzg4NzRkMzRkYzYwMzIz
YjMxMWMyZWQxYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2Fj
aGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCkBAIC0y
NiwxNiArMjYsODggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDYWNoZS5oIgog
CisjaW5jbHVkZSAiQ2FjaGVRdWVyeU9wdGlvbnMuaCIKKyNpbmNsdWRlICJGZXRjaFJlc3BvbnNl
LmgiCisjaW5jbHVkZSAiSlNGZXRjaFJlcXVlc3QuaCIKKyNpbmNsdWRlICJKU0ZldGNoUmVzcG9u
c2UuaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCisjaW5jbHVkZSAiVVJM
LmgiCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdm9pZCBDYWNoZTo6bWF0Y2goUmVxdWVzdElu
Zm8mJiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgUmVmPERlZmVycmVkUHJv
bWlzZT4mJiBwcm9taXNlKQorQ2FjaGU6OkNhY2hlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQsIFN0cmluZyYmIG5hbWUsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYmIGNvbm5l
Y3Rpb24pCisgICAgOiBtX2NvbnRleHQoY29udGV4dCkKKyAgICAsIG1fbmFtZShXVEZNb3ZlKG5h
bWUpKQorICAgICwgbV9jb25uZWN0aW9uKFdURk1vdmUoY29ubmVjdGlvbikpCiB7Ci0gICAgcHJv
bWlzZS0+cmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1w
bGVtZW50ZWQiKX0pOwogfQogCi12b2lkIENhY2hlOjptYXRjaEFsbChzdGQ6Om9wdGlvbmFsPFJl
cXVlc3RJbmZvPiYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBNYXRjaEFs
bFByb21pc2UmJiBwcm9taXNlKQorQ2FjaGU6On5DYWNoZSgpCiB7Ci0gICAgcHJvbWlzZS5yZWpl
Y3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIp
fSk7Cit9CisKK1N0cmluZyBDYWNoZTo6b3JpZ2luKCkgY29uc3QKK3sKKyAgICBhdXRvKiBvcmln
aW4gPSBtX2NvbnRleHQuc2VjdXJpdHlPcmlnaW4oKTsKKyAgICByZXR1cm4gb3JpZ2luID8gb3Jp
Z2luLT50b1N0cmluZygpIDogZW1wdHlTdHJpbmcoKTsKK30KKwordm9pZCBDYWNoZTo6bWF0Y2go
UmVxdWVzdEluZm8mJiBpbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIFJlZjxEZWZl
cnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBtYXRjaEFsbChXVEZNb3ZlKGluZm8pLCBX
VEZNb3ZlKG9wdGlvbnMpLCBXVEZNb3ZlKHByb21pc2UpLCBNYXRjaFR5cGU6Ok9ubHlGaXJzdCk7
Cit9CisKK3ZvaWQgQ2FjaGU6Om1hdGNoQWxsKHN0ZDo6b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYg
aW5mbywgQ2FjaGVRdWVyeU9wdGlvbnMmJiBvcHRpb25zLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYm
IHByb21pc2UsIE1hdGNoVHlwZSBtYXRjaFR5cGUpCit7CisgICAgUmVmUHRyPEZldGNoUmVxdWVz
dD4gcmVxdWVzdDsKKyAgICBpZiAoaW5mbykgeworICAgICAgICBpZiAoV1RGOjpob2xkc19hbHRl
cm5hdGl2ZTxSZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4oaW5mby52YWx1ZSgpKSkgeworICAgICAgICAg
ICAgcmVxdWVzdCA9IFdURjo6Z2V0PFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvLnZhbHVlKCkp
LnJlbGVhc2VOb25OdWxsKCk7CisgICAgICAgICAgICBpZiAocmVxdWVzdC0+bWV0aG9kKCkgIT0g
IkdFVCIgJiYgIW9wdGlvbnMuaWdub3JlTWV0aG9kKSB7CisgICAgICAgICAgICAgICAgaWYgKG1h
dGNoVHlwZSA9PSBNYXRjaFR5cGU6Ok9ubHlGaXJzdCkgeworICAgICAgICAgICAgICAgICAgICBw
cm9taXNlLT5yZXNvbHZlKCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExTZXF1ZW5jZTxJ
RExJbnRlcmZhY2U8RmV0Y2hSZXNwb25zZT4+PihWZWN0b3I8UmVmPEZldGNoUmVzcG9uc2U+PiB7
IH0pOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIGF1dG8gcmVxdWVzdE9yRXJyb3IgPSBGZXRjaFJlcXVlc3Q6OmNy
ZWF0ZShtX2NvbnRleHQsIFdURjo6Z2V0PFN0cmluZz4oaW5mby52YWx1ZSgpKSwgeyB9KTsKKyAg
ICAgICAgICAgIGlmIChyZXF1ZXN0T3JFcnJvci5oYXNFeGNlcHRpb24oKSkgeworICAgICAgICAg
ICAgICAgIHByb21pc2UtPnJlamVjdChyZXF1ZXN0T3JFcnJvci5yZWxlYXNlRXhjZXB0aW9uKCkp
OworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJl
cXVlc3QgPSByZXF1ZXN0T3JFcnJvci5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKKyAgICAgICAgfQor
ICAgIH0KKworICAgIGlmICghcmVxdWVzdCkgeworICAgICAgICBBU1NFUlQobWF0Y2hUeXBlID09
IE1hdGNoVHlwZTo6QWxsKTsKKyAgICAgICAgcmVmcmVzaFJlcXVlc3RUb1Jlc3BvbnNlTWFwKFt0
aGlzLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSB7CisgICAgICAgICAgICBWZWN0b3I8
UmVmPEZldGNoUmVzcG9uc2U+PiByZXNwb25zZXM7CisgICAgICAgICAgICByZXNwb25zZXMucmVz
ZXJ2ZUluaXRpYWxDYXBhY2l0eShtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwLnNpemUoKSk7CisgICAg
ICAgICAgICBmb3IgKGF1dG8mIHJlY29yZCA6IG1fcmVxdWVzdFRvUmVzcG9uc2VNYXApCisgICAg
ICAgICAgICAgICAgcmVzcG9uc2VzLnVuY2hlY2tlZEFwcGVuZChyZWNvcmQucmVzcG9uc2UtPmNs
b25lRm9ySlMoKSk7CisgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElETFNlcXVlbmNlPElE
TEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4+KHJlc3BvbnNlcyk7CisgICAgICAgIH0pOworICAg
ICAgICByZXR1cm47CisgICAgfQorICAgIHF1ZXJ5Q2FjaGUocmVxdWVzdC5yZWxlYXNlTm9uTnVs
bCgpLCBXVEZNb3ZlKG9wdGlvbnMpLCBbbWF0Y2hUeXBlLCBwcm9taXNlID0gV1RGTW92ZShwcm9t
aXNlKV0oY29uc3QgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4mIHJlY29yZHMpIG11dGFibGUg
eworICAgICAgICBpZiAobWF0Y2hUeXBlID09IE1hdGNoVHlwZTo6T25seUZpcnN0KSB7CisgICAg
ICAgICAgICBpZiAocmVjb3Jkcy5zaXplKCkpIHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLT5y
ZXNvbHZlPElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4ocmVjb3Jkc1swXS5yZXNwb25zZS5n
ZXQoKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgcHJvbWlzZS0+cmVzb2x2ZSgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisK
KyAgICAgICAgVmVjdG9yPFJlZjxGZXRjaFJlc3BvbnNlPj4gcmVzcG9uc2VzOworICAgICAgICBy
ZXNwb25zZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShyZWNvcmRzLnNpemUoKSk7CisgICAgICAg
IGZvciAoYXV0byYgcmVjb3JkIDogcmVjb3JkcykKKyAgICAgICAgICAgIHJlc3BvbnNlcy51bmNo
ZWNrZWRBcHBlbmQocmVjb3JkLnJlc3BvbnNlLT5jbG9uZUZvckpTKCkpOworICAgICAgICBwcm9t
aXNlLT5yZXNvbHZlPElETFNlcXVlbmNlPElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4+KHJl
c3BvbnNlcyk7CisgICAgfSk7CiB9CiAKIHZvaWQgQ2FjaGU6OmFkZChSZXF1ZXN0SW5mbyYmLCBE
T01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQpAQCAtNDgsMjAgKzEyMCwyMzUgQEAg
dm9pZCBDYWNoZTo6YWRkQWxsKFZlY3RvcjxSZXF1ZXN0SW5mbz4mJiwgRE9NUHJvbWlzZURlZmVy
cmVkPHZvaWQ+JiYgcHJvbWlzZSkKICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBl
RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKIH0KIAotdm9pZCBDYWNo
ZTo6cHV0KFJlcXVlc3RJbmZvJiYsIFJlZjxGZXRjaFJlc3BvbnNlPiYmLCBET01Qcm9taXNlRGVm
ZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQordm9pZCBDYWNoZTo6cHV0KFJlcXVlc3RJbmZvJiYgaW5m
bywgUmVmPEZldGNoUmVzcG9uc2U+JiYgcmVzcG9uc2UsIERPTVByb21pc2VEZWZlcnJlZDx2b2lk
PiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9y
LCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgUmVmUHRyPEZldGNoUmVx
dWVzdD4gcmVxdWVzdDsKKyAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWZQdHI8RmV0
Y2hSZXF1ZXN0Pj4oaW5mbykpIHsKKyAgICAgICAgcmVxdWVzdCA9IFdURjo6Z2V0PFJlZlB0cjxG
ZXRjaFJlcXVlc3Q+PihpbmZvKS5yZWxlYXNlTm9uTnVsbCgpOworICAgICAgICBpZiAoIXByb3Rv
Y29sSXNJbkhUVFBGYW1pbHkocmVxdWVzdC0+dXJsKCkpIHx8IHJlcXVlc3QtPm1ldGhvZCgpICE9
ICJHRVQiKSB7CisgICAgICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJy
b3IsIEFTQ0lJTGl0ZXJhbCgiUmVxdWVzdCBpcyBub3QgSFRUUC9IVFRQUyBvciBtZXRob2QgaXMg
bm90IEdFVCIpIH0pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfSBlbHNl
IHsKKyAgICAgICAgU3RyaW5nIHVybCA9IFdURjo6Z2V0PFN0cmluZz4oaW5mbyk7CisgICAgICAg
IGlmICghcHJvdG9jb2xJc0luSFRUUEZhbWlseSh1cmwpKSB7CisgICAgICAgICAgICBwcm9taXNl
LnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiUmVxdWVzdCBpcyBu
b3QgSFRUUC9IVFRQUyIpIH0pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAg
ICAgIGF1dG8gcmVxdWVzdE9yRXJyb3IgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZShtX2NvbnRleHQs
IHVybCwgeyB9KTsKKyAgICAgICAgaWYgKHJlcXVlc3RPckVycm9yLmhhc0V4Y2VwdGlvbigpKSB7
CisgICAgICAgICAgICBwcm9taXNlLnJlamVjdChyZXF1ZXN0T3JFcnJvci5yZWxlYXNlRXhjZXB0
aW9uKCkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHJlcXVlc3Qg
PSByZXF1ZXN0T3JFcnJvci5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKKyAgICB9CisKKyAgICBTdHJp
bmcgdmFyeVZhbHVlID0gcmVzcG9uc2UtPmhlYWRlcnMoKS5pbnRlcm5hbEhlYWRlcnMoKS5nZXQo
V2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6OlZhcnkpOworICAgIFZlY3RvcjxTdHJpbmc+IHZhcnlp
bmdIZWFkZXJOYW1lczsKKyAgICB2YXJ5VmFsdWUuc3BsaXQoJywnLCB2YXJ5aW5nSGVhZGVyTmFt
ZXMpOworICAgIGlmICh2YXJ5aW5nSGVhZGVyTmFtZXMuY29udGFpbnMoIioiKSkgeworICAgICAg
ICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiUmVz
cG9uc2UgaGFzIGEgJyonIFZhcnkgaGVhZGVyIHZhbHVlIikgfSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBpZiAocmVzcG9uc2UtPmlzRGlzdHVyYmVkKCkpIHsKKyAgICAgICAgcHJv
bWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIlJlc3BvbnNl
IGlzIGRpc3R1cmJlZCBvciBsb2NrZWQiKSB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgYmVpbmcgbG9hZGVkIHJlc3BvbnNlcy4KKyAg
ICBpZiAocmVzcG9uc2UtPmlzTG9hZGluZygpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4
Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJDYWNoaW5nIGEgbG9hZGluZyBSZXNw
b25zZSBpcyBub3QgeWV0IHN1cHBvcnRlZCIpIH0pOworICAgICAgICByZXR1cm47CisgICAgfQor
ICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgUmVhZGFibGVTdHJlYW0uCisgICAgaWYgKHJl
c3BvbnNlLT5pc1JlYWRhYmxlU3RyZWFtQm9keSgpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0
KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJDYWNoaW5nIGEgUmVzcG9uc2Ug
d2l0aCBkYXRhIHN0b3JlZCBpbiBhIFJlYWRhYmxlU3RyZWFtIGlzIG5vdCB5ZXQgc3VwcG9ydGVk
IikgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBiYXRjaFB1dE9wZXJhdGlvbigq
cmVxdWVzdCwgcmVzcG9uc2UuZ2V0KCksIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oQ2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICBpZiAo
ZXJyb3IgIT0gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3I6Ok5vbmUpIHsKKyAgICAgICAg
ICAgIHByb21pc2UucmVqZWN0KENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlvbkZyb21F
cnJvcihlcnJvcikpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHBy
b21pc2UucmVzb2x2ZSgpOworICAgIH0pOwogfQogCi12b2lkIENhY2hlOjpyZW1vdmUoUmVxdWVz
dEluZm8mJiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgRE9NUHJvbWlzZURl
ZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKK3ZvaWQgQ2FjaGU6OnJlbW92ZShSZXF1ZXN0
SW5mbyYmIGluZm8sIENhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywgRE9NUHJvbWlzZURlZmVy
cmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRp
b24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICBS
ZWZQdHI8RmV0Y2hSZXF1ZXN0PiByZXF1ZXN0OworICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0
aXZlPFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvKSkgeworICAgICAgICByZXF1ZXN0ID0gV1RG
OjpnZXQ8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8pLnJlbGVhc2VOb25OdWxsKCk7CisgICAg
ICAgIGlmIChyZXF1ZXN0LT5tZXRob2QoKSAhPSAiR0VUIiAmJiAhb3B0aW9ucy5pZ25vcmVNZXRo
b2QpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShmYWxzZSk7CisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBhdXRvIHJlcXVlc3RPckVy
cm9yID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUobV9jb250ZXh0LCBXVEY6OmdldDxTdHJpbmc+KGlu
Zm8pLCB7IH0pOworICAgICAgICBpZiAocmVxdWVzdE9yRXJyb3IuaGFzRXhjZXB0aW9uKCkpIHsK
KyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KHJlcXVlc3RPckVycm9yLnJlbGVhc2VFeGNlcHRp
b24oKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgcmVxdWVzdCA9
IHJlcXVlc3RPckVycm9yLnJlbGVhc2VSZXR1cm5WYWx1ZSgpOworICAgIH0KKworICAgIGJhdGNo
RGVsZXRlT3BlcmF0aW9uKCpyZXF1ZXN0LCBXVEZNb3ZlKG9wdGlvbnMpLCBbcHJvbWlzZSA9IFdU
Rk1vdmUocHJvbWlzZSldKGJvb2wgZGlkRGVsZXRlLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpF
cnJvciBlcnJvcikgbXV0YWJsZSB7CisgICAgICAgIGlmIChlcnJvciAhPSAgQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbjo6RXJyb3I6Ok5vbmUpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KENh
Y2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlvbkZyb21FcnJvcihlcnJvcikpOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHByb21pc2UucmVzb2x2ZShkaWREZWxl
dGUpOworICAgIH0pOwogfQogCi12b2lkIENhY2hlOjprZXlzKHN0ZDo6b3B0aW9uYWw8UmVxdWVz
dEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIEtleXNQcm9taXNl
JiYgcHJvbWlzZSkKK3ZvaWQgQ2FjaGU6OmtleXMoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4m
JiBpbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIEtleXNQcm9taXNlJiYgcHJvbWlz
ZSkKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0
ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICBSZWZQdHI8RmV0Y2hSZXF1ZXN0PiByZXF1
ZXN0OworICAgIGlmIChpbmZvKSB7CisgICAgICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZl
PFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvLnZhbHVlKCkpKSB7CisgICAgICAgICAgICByZXF1
ZXN0ID0gV1RGOjpnZXQ8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8udmFsdWUoKSkucmVsZWFz
ZU5vbk51bGwoKTsKKyAgICAgICAgICAgIGlmIChyZXF1ZXN0LT5tZXRob2QoKSAhPSAiR0VUIiAm
JiAhb3B0aW9ucy5pZ25vcmVNZXRob2QpIHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLnJlc29s
dmUoVmVjdG9yPFJlZjxGZXRjaFJlcXVlc3Q+PiB7IH0pOworICAgICAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICByZXF1ZXN0ID0g
RmV0Y2hSZXF1ZXN0OjpjcmVhdGUobV9jb250ZXh0LCBXVEY6OmdldDxTdHJpbmc+KGluZm8udmFs
dWUoKSksIHsgfSkucmVsZWFzZVJldHVyblZhbHVlKCk7CisgICAgfQorCisgICAgaWYgKCFyZXF1
ZXN0KSB7CisgICAgICAgIHJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcChbdGhpcywgcHJvbWlz
ZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgICAgICBWZWN0b3I8UmVm
PEZldGNoUmVxdWVzdD4+IHJlcXVlc3RzOworICAgICAgICAgICAgcmVxdWVzdHMucmVzZXJ2ZUlu
aXRpYWxDYXBhY2l0eShtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwLnNpemUoKSk7CisgICAgICAgICAg
ICBmb3IgKGF1dG8mIHJlY29yZCA6IG1fcmVxdWVzdFRvUmVzcG9uc2VNYXApCisgICAgICAgICAg
ICAgICAgcmVxdWVzdHMudW5jaGVja2VkQXBwZW5kKHJlY29yZC5yZXF1ZXN0LmNvcHlSZWYoKSk7
CisgICAgICAgICAgICBwcm9taXNlLnJlc29sdmUocmVxdWVzdHMpOworICAgICAgICB9KTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHF1ZXJ5Q2FjaGUocmVxdWVzdC5yZWxlYXNlTm9u
TnVsbCgpLCBXVEZNb3ZlKG9wdGlvbnMpLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKGNv
bnN0IFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+JiByZWNvcmRzKSBtdXRhYmxlIHsKKyAgICAg
ICAgVmVjdG9yPFJlZjxGZXRjaFJlcXVlc3Q+PiByZXF1ZXN0czsKKyAgICAgICAgcmVxdWVzdHMu
cmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShyZWNvcmRzLnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0
byYgcmVjb3JkIDogcmVjb3JkcykKKyAgICAgICAgICAgIHJlcXVlc3RzLnVuY2hlY2tlZEFwcGVu
ZChyZWNvcmQucmVxdWVzdC5jb3B5UmVmKCkpOworICAgICAgICBwcm9taXNlLnJlc29sdmUocmVx
dWVzdHMpOworICAgIH0pOworfQorCit2b2lkIENhY2hlOjpyZWZyZXNoUmVxdWVzdFRvUmVzcG9u
c2VNYXAoRnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQoreworICAgIG1fY29ubmVjdGlvbi0+
cmVmcmVzaFJlcXVlc3RUb1Jlc3BvbnNlTWFwKG9yaWdpbigpLCBtX25hbWUsIFt0aGlzLCBwcm90
ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayld
KFZlY3RvcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQ+JiYgcmVjb3JkcykgeworICAg
ICAgICB1cGRhdGVSZXF1ZXN0VG9SZXNwb25zZU1hcChXVEZNb3ZlKHJlY29yZHMpKTsKKworICAg
ICAgICBjYWxsYmFjaygpOworICAgIH0pOworfQorCitib29sIENhY2hlOjpxdWVyeUNhY2hlTWF0
Y2goY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IGNhY2hlZFJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGNhY2hlZFJlc3BvbnNlLCBj
b25zdCBDYWNoZVF1ZXJ5T3B0aW9ucyYgb3B0aW9ucykKK3sKKyAgICBBU1NFUlQob3B0aW9ucy5p
Z25vcmVNZXRob2QgfHwgcmVxdWVzdC5odHRwTWV0aG9kKCkgPT0gIkdFVCIpOworCisgICAgVVJM
IHJlcXVlc3RVUkwgPSByZXF1ZXN0LnVybCgpOworICAgIFVSTCBjYWNoZWRSZXF1ZXN0VVJMID0g
Y2FjaGVkUmVxdWVzdC51cmwoKTsKKworICAgIGlmIChvcHRpb25zLmlnbm9yZVNlYXJjaCkgewor
ICAgICAgICByZXF1ZXN0VVJMLnNldFF1ZXJ5KHsgfSk7CisgICAgICAgIGNhY2hlZFJlcXVlc3RV
Ukwuc2V0UXVlcnkoeyB9KTsKKyAgICB9CisgICAgaWYgKCFlcXVhbElnbm9yaW5nRnJhZ21lbnRJ
ZGVudGlmaWVyKHJlcXVlc3RVUkwsIGNhY2hlZFJlcXVlc3RVUkwpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBpZiAob3B0aW9ucy5pZ25vcmVWYXJ5KQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKworICAgIFN0cmluZyB2YXJ5VmFsdWUgPSBjYWNoZWRSZXNwb25zZS5odHRwSGVhZGVyRmll
bGQoV2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6OlZhcnkpOworICAgIGlmICh2YXJ5VmFsdWUuaXNO
dWxsKCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgVmVjdG9yPFN0cmluZz4gdmFyeWlu
Z0hlYWRlck5hbWVzOworICAgIHZhcnlWYWx1ZS5zcGxpdCgnLCcsIHZhcnlpbmdIZWFkZXJOYW1l
cyk7CisgICAgaWYgKHZhcnlpbmdIZWFkZXJOYW1lcy5jb250YWlucygiKiIpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBmb3IgKGF1dG8mIG5hbWUgOiB2YXJ5aW5nSGVhZGVyTmFtZXMp
IHsKKyAgICAgICAgaWYgKGNhY2hlZFJlcXVlc3QuaHR0cEhlYWRlckZpZWxkKG5hbWUpICE9IHJl
cXVlc3QuaHR0cEhlYWRlckZpZWxkKG5hbWUpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBDYWNoZTo6cXVlcnlDYWNoZShSZWY8
RmV0Y2hSZXF1ZXN0PiYmIHJlcXVlc3QsIENhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywgRnVu
Y3Rpb248dm9pZChjb25zdCBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiYpPiYmIGNhbGxiYWNr
KQoreworICAgIHJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcChbdGhpcywgcmVxdWVzdCA9IFdU
Rk1vdmUocmVxdWVzdCksIG9wdGlvbnMgPSBXVEZNb3ZlKG9wdGlvbnMpLCBjYWxsYmFjayA9IFdU
Rk1vdmUoY2FsbGJhY2spXSgpIG11dGFibGUgeworICAgICAgICBjYWxsYmFjayhxdWVyeUNhY2hl
V2l0aFRhcmdldFN0b3JhZ2UocmVxdWVzdC5nZXQoKSwgb3B0aW9ucywgbV9yZXF1ZXN0VG9SZXNw
b25zZU1hcCkpOworICAgIH0pOworfQorCitWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiBDYWNo
ZTo6cXVlcnlDYWNoZVdpdGhUYXJnZXRTdG9yYWdlKGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxdWVz
dCwgY29uc3QgQ2FjaGVRdWVyeU9wdGlvbnMmIG9wdGlvbnMsIGNvbnN0IFZlY3RvcjxDYWNoZVN0
b3JhZ2VSZWNvcmQ+JiB0YXJnZXRTdG9yYWdlKQoreworICAgIGlmICghb3B0aW9ucy5pZ25vcmVN
ZXRob2QgJiYgcmVxdWVzdC5tZXRob2QoKSAhPSAiR0VUIikKKyAgICAgICAgcmV0dXJuIHsgfTsK
KworICAgIFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+IHJlY29yZHM7CisgICAgZm9yIChhdXRv
JiByZWNvcmQgOiB0YXJnZXRTdG9yYWdlKSB7CisgICAgICAgIGlmIChxdWVyeUNhY2hlTWF0Y2go
cmVxdWVzdC5pbnRlcm5hbFJlcXVlc3QoKS5yZXF1ZXN0LCByZWNvcmQucmVxdWVzdC0+aW50ZXJu
YWxSZXF1ZXN0KCkucmVxdWVzdCwgcmVjb3JkLnJlc3BvbnNlLT5yZXNwb25zZSgpLCBvcHRpb25z
KSkKKyAgICAgICAgICAgIHJlY29yZHMuYXBwZW5kKHsgcmVjb3JkLmlkZW50aWZpZXIsIHJlY29y
ZC5yZXF1ZXN0LmNvcHlSZWYoKSwgcmVjb3JkLnJlc3BvbnNlLmNvcHlSZWYoKSB9KTsKKyAgICB9
CisgICAgcmV0dXJuIHJlY29yZHM7Cit9CisKK3ZvaWQgQ2FjaGU6OmJhdGNoRGVsZXRlT3BlcmF0
aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgQ2FjaGVRdWVyeU9wdGlvbnMmJiBvcHRp
b25zLCBGdW5jdGlvbjx2b2lkKGJvb2wgZGlkUmVtb3ZhbCwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlv
bjo6RXJyb3IgZXJyb3IpPiYmIGNhbGxiYWNrKQoreworICAgIG1fY29ubmVjdGlvbi0+YmF0Y2hE
ZWxldGVPcGVyYXRpb24ob3JpZ2luKCksIG1fbmFtZSwgcmVxdWVzdC5pbnRlcm5hbFJlcXVlc3Qo
KS5yZXF1ZXN0LCBXVEZNb3ZlKG9wdGlvbnMpLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VS
ZWYoKnRoaXMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShWZWN0b3I8dWludDY0X3Q+
JiYgcmVjb3JkcywgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIHsKKyAgICAg
ICAgaWYgKGVycm9yID09IENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yOjpOb25lKQorICAg
ICAgICAgICAgbV9yZXF1ZXN0VG9SZXNwb25zZU1hcC5yZW1vdmVBbGxNYXRjaGluZyhbJl0oY29u
c3QgYXV0byYgaXRlbSkgeyByZXR1cm4gcmVjb3Jkcy5jb250YWlucyhpdGVtLmlkZW50aWZpZXIp
OyB9KTsKKworICAgICAgICBjYWxsYmFjayghIXJlY29yZHMuc2l6ZSgpLCBlcnJvcik7CisgICAg
fSk7Cit9CisKK3ZvaWQgQ2FjaGU6OmJhdGNoUHV0T3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVz
dCYgcmVxdWVzdCwgY29uc3QgRmV0Y2hSZXNwb25zZSYgcmVzcG9uc2UsIEZ1bmN0aW9uPHZvaWQo
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IpPiYmIGNhbGxiYWNrKQoreworICAgIC8vIEZJ
WE1FOiBBZGQgYSBzZXRIVFRQSGVhZGVyRmllbGRzIG9uIFJlc291cmNlUmVzcG9uc2VCYXNlLgor
ICAgIFJlc291cmNlUmVzcG9uc2UgY2FjaGVkUmVzcG9uc2UgPSByZXNwb25zZS5yZXNwb25zZSgp
OworICAgIGZvciAoYXV0byYgaGVhZGVyIDogcmVzcG9uc2UuaGVhZGVycygpLmludGVybmFsSGVh
ZGVycygpKQorICAgICAgICBjYWNoZWRSZXNwb25zZS5zZXRIVFRQSGVhZGVyRmllbGQoaGVhZGVy
LmtleSwgaGVhZGVyLnZhbHVlKTsKKworICAgIFJlc291cmNlUmVxdWVzdCBjYWNoZWRSZXF1ZXN0
ID0gcmVxdWVzdC5pbnRlcm5hbFJlcXVlc3QoKS5yZXF1ZXN0OworICAgIGNhY2hlZFJlcXVlc3Qu
c2V0SFRUUEhlYWRlckZpZWxkcyhyZXF1ZXN0LmhlYWRlcnMoKS5pbnRlcm5hbEhlYWRlcnMoKSk7
CisKKyAgICBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQgcmVjb3JkID0geyAwLAorICAg
ICAgICByZXF1ZXN0LmhlYWRlcnMoKS5ndWFyZCgpLCBXVEZNb3ZlKGNhY2hlZFJlcXVlc3QpLCBy
ZXF1ZXN0LmludGVybmFsUmVxdWVzdCgpLm9wdGlvbnMsIHJlcXVlc3QuaW50ZXJuYWxSZXF1ZXN0
KCkucmVmZXJyZXIsCisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMoKS5ndWFyZCgpLCBXVEZNb3Zl
KGNhY2hlZFJlc3BvbnNlKQorICAgIH07CisKKyAgICBtX2Nvbm5lY3Rpb24tPmJhdGNoUHV0T3Bl
cmF0aW9uKG9yaWdpbigpLCBtX25hbWUsIFdURk1vdmUocmVjb3JkKSwgW3RoaXMsIHByb3RlY3Rl
ZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oVmVj
dG9yPHVpbnQ2NF90PiYmLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJvciBlcnJvcikgewor
ICAgICAgICBjYWxsYmFjayhlcnJvcik7CisgICAgfSk7Cit9CisKK3ZvaWQgQ2FjaGU6OnVwZGF0
ZVJlcXVlc3RUb1Jlc3BvbnNlTWFwKFZlY3RvcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNv
cmQ+JiYgcmVjb3JkcykKK3sKKyAgICBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiBuZXdNYXA7
CisKKyAgICBmb3IgKGF1dG8mIHJlY29yZCA6IHJlY29yZHMpIHsKKyAgICAgICAgc2l6ZV90IGlu
ZGV4ID0gbV9yZXF1ZXN0VG9SZXNwb25zZU1hcC5maW5kTWF0Y2hpbmcoWyZdKGNvbnN0IGF1dG8m
IGl0ZW0pIHsgcmV0dXJuIGl0ZW0uaWRlbnRpZmllciA9PSByZWNvcmQuaWRlbnRpZmllcjsgfSk7
CisgICAgICAgIGlmIChpbmRleCAhPSBub3RGb3VuZCkKKyAgICAgICAgICAgIG5ld01hcC5hcHBl
bmQoV1RGTW92ZShtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwW2luZGV4XSkpOworICAgICAgICBlbHNl
IHsKKyAgICAgICAgICAgIGF1dG8gcmVxdWVzdEhlYWRlcnMgPSBGZXRjaEhlYWRlcnM6OmNyZWF0
ZShyZWNvcmQucmVxdWVzdEhlYWRlcnNHdWFyZCwgSFRUUEhlYWRlck1hcCB7IHJlY29yZC5yZXF1
ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSB9KTsKKyAgICAgICAgICAgIEZldGNoUmVxdWVzdDo6SW50
ZXJuYWxSZXF1ZXN0IGludGVybmFsUmVxdWVzdCA9IHsgV1RGTW92ZShyZWNvcmQucmVxdWVzdCks
IFdURk1vdmUocmVjb3JkLm9wdGlvbnMpLCBXVEZNb3ZlKHJlY29yZC5yZWZlcnJlcikgfTsKKyAg
ICAgICAgICAgIGF1dG8gcmVxdWVzdCA9IEZldGNoUmVxdWVzdDo6Y3JlYXRlKG1fY29udGV4dCwg
c3RkOjpudWxsb3B0LCBXVEZNb3ZlKHJlcXVlc3RIZWFkZXJzKSwgV1RGTW92ZShpbnRlcm5hbFJl
cXVlc3QpKTsKKworICAgICAgICAgICAgYXV0byByZXNwb25zZUhlYWRlcnMgPSBGZXRjaEhlYWRl
cnM6OmNyZWF0ZShyZWNvcmQucmVzcG9uc2VIZWFkZXJzR3VhcmQsIEhUVFBIZWFkZXJNYXAgeyBy
ZWNvcmQucmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkcygpIH0pOworICAgICAgICAgICAgYXV0byBy
ZXNwb25zZSA9IEZldGNoUmVzcG9uc2U6OmNyZWF0ZShtX2NvbnRleHQsIHN0ZDo6bnVsbG9wdCwg
V1RGTW92ZShyZXNwb25zZUhlYWRlcnMpLCBXVEZNb3ZlKHJlY29yZC5yZXNwb25zZSkpOworCisg
ICAgICAgICAgICBuZXdNYXAuYXBwZW5kKENhY2hlU3RvcmFnZVJlY29yZCB7IHJlY29yZC5pZGVu
dGlmaWVyLCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKHJlc3BvbnNlKSB9KTsKKyAgICAgICAg
fQorICAgIH0KKyAgICBtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwID0gV1RGTW92ZShuZXdNYXApOwor
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NhY2hlL0NhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hl
LmgKaW5kZXggMDA4MmFjZDU1NmRkZjVkZWU5Zjc1MDY2NWMyZjRlOWViOWRkOTY1ZS4uNDlmOTEx
Njg5NmFlZjVhZDliY2JlYmFkMmUxOTg3MDJkZWM2NTY1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2FjaGUvQ2FjaGUuaApAQCAtMjUsMzYgKzI1LDU1IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5j
bHVkZSAiRmV0Y2hSZXF1ZXN0LmgiCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5o
IgorI2luY2x1ZGUgIkNhY2hlU3RvcmFnZVJlY29yZC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIEZldGNoUmVzcG9uc2U7Ci0KLXN0cnVjdCBDYWNoZVF1ZXJ5T3B0aW9uczsKK2Ns
YXNzIENhY2hlUXVlcnlPcHRpb25zOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAog
Y2xhc3MgQ2FjaGUgOiBwdWJsaWMgUmVmQ291bnRlZDxDYWNoZT4gewogcHVibGljOgotICAgIHN0
YXRpYyBSZWY8Q2FjaGU+IGNyZWF0ZShTdHJpbmcmJiBuYW1lKSB7IHJldHVybiBhZG9wdFJlZigq
bmV3IENhY2hlKFdURk1vdmUobmFtZSkpKTsgfQorICAgIHN0YXRpYyBSZWY8Q2FjaGU+IGNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBTdHJpbmcmJiBuYW1lLCBSZWY8Q2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbj4mJiBjb25uZWN0aW9uKSB7IHJldHVybiBhZG9wdFJlZigqbmV3
IENhY2hlKGNvbnRleHQsIFdURk1vdmUobmFtZSksIFdURk1vdmUoY29ubmVjdGlvbikpKTsgfQor
ICAgIH5DYWNoZSgpOwogCiAgICAgdXNpbmcgUmVxdWVzdEluZm8gPSBGZXRjaFJlcXVlc3Q6Oklu
Zm87CiAKLSAgICB1c2luZyBNYXRjaEFsbFByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURM
U2VxdWVuY2U8SURMSW50ZXJmYWNlPEZldGNoUmVzcG9uc2U+Pj47CiAgICAgdXNpbmcgS2V5c1By
b21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMU2VxdWVuY2U8SURMSW50ZXJmYWNlPEZldGNo
UmVxdWVzdD4+PjsKIAotICAgIHZvaWQgbWF0Y2goUmVxdWVzdEluZm8mJiwgc3RkOjpvcHRpb25h
bDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7Ci0gICAgdm9p
ZCBtYXRjaEFsbChzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZvPiYmLCBzdGQ6Om9wdGlvbmFsPENh
Y2hlUXVlcnlPcHRpb25zPiYmLCBNYXRjaEFsbFByb21pc2UmJik7CisgICAgZW51bSBjbGFzcyBN
YXRjaFR5cGUgeyBBbGwsIE9ubHlGaXJzdCB9OworICAgIHZvaWQgbWF0Y2goUmVxdWVzdEluZm8m
JiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisgICAgdm9p
ZCBtYXRjaEFsbChzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZvPiYmLCBDYWNoZVF1ZXJ5T3B0aW9u
cyYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmLCBNYXRjaFR5cGUgPSBNYXRjaFR5cGU6OkFsbCk7
CiAgICAgdm9pZCBhZGQoUmVxdWVzdEluZm8mJiwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYp
OwogCiAgICAgdm9pZCBhZGRBbGwoVmVjdG9yPFJlcXVlc3RJbmZvPiYmLCBET01Qcm9taXNlRGVm
ZXJyZWQ8dm9pZD4mJik7CiAgICAgdm9pZCBwdXQoUmVxdWVzdEluZm8mJiwgUmVmPEZldGNoUmVz
cG9uc2U+JiYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKTsKLSAgICB2b2lkIHJlbW92ZShS
ZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBET01Qcm9t
aXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJik7Ci0gICAgdm9pZCBrZXlzKHN0ZDo6b3B0aW9uYWw8
UmVxdWVzdEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIEtleXNQ
cm9taXNlJiYpOworICAgIHZvaWQgcmVtb3ZlKFJlcXVlc3RJbmZvJiYsIENhY2hlUXVlcnlPcHRp
b25zJiYsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmKTsKKyAgICB2b2lkIGtleXMo
c3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4mJiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgS2V5c1By
b21pc2UmJik7CisKKyAgICBjb25zdCBTdHJpbmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25h
bWU7IH0KKworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIHF1ZXJ5Q2FjaGVNYXRjaChj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgY2Fj
aGVkUmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IENhY2hlUXVlcnlPcHRp
b25zJik7CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgQ2FjaGUoU3RyaW5nJiYgbmFtZSkgOiBt
X25hbWUoV1RGTW92ZShuYW1lKSkgeyB9CisgICAgQ2FjaGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYsIFN0cmluZyYmIG5hbWUsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYmKTsKKworICAg
IFN0cmluZyBvcmlnaW4oKSBjb25zdDsKIAorICAgIHZvaWQgcmVmcmVzaFJlcXVlc3RUb1Jlc3Bv
bnNlTWFwKEZ1bmN0aW9uPHZvaWQoKT4mJik7CisgICAgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29y
ZD4gcXVlcnlDYWNoZVdpdGhUYXJnZXRTdG9yYWdlKGNvbnN0IEZldGNoUmVxdWVzdCYsIGNvbnN0
IENhY2hlUXVlcnlPcHRpb25zJiwgY29uc3QgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4mKTsK
KyAgICB2b2lkIHF1ZXJ5Q2FjaGUoUmVmPEZldGNoUmVxdWVzdD4mJiwgQ2FjaGVRdWVyeU9wdGlv
bnMmJiwgRnVuY3Rpb248dm9pZChjb25zdCBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiYpPiYm
KTsKKyAgICB2b2lkIGJhdGNoRGVsZXRlT3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYsIENh
Y2hlUXVlcnlPcHRpb25zJiYsIEZ1bmN0aW9uPHZvaWQoYm9vbCBkaWRSZW1vdmFsLCBDYWNoZVN0
b3JhZ2VDb25uZWN0aW9uOjpFcnJvcik+JiYpOworICAgIHZvaWQgYmF0Y2hQdXRPcGVyYXRpb24o
Y29uc3QgRmV0Y2hSZXF1ZXN0JiwgY29uc3QgRmV0Y2hSZXNwb25zZSYsIEZ1bmN0aW9uPHZvaWQo
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IpPiYmKTsKKworICAgIHZvaWQgdXBkYXRlUmVx
dWVzdFRvUmVzcG9uc2VNYXAoVmVjdG9yPENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlY29yZD4m
Jik7CisKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBtX2NvbnRleHQ7CiAgICAgU3RyaW5n
IG1fbmFtZTsKKyAgICBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOwor
CisgICAgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4gbV9yZXF1ZXN0VG9SZXNwb25zZU1hcDsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvY2FjaGUvQ2FjaGUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9D
YWNoZS5pZGwKaW5kZXggZDQ3OTY5MTU1ZDIwYTRmN2JmYTM4YTZkYzBiMmRmMzIyNTZhOTRlMC4u
ODk3NDNhZWJkMjkxODZkOGQ4NjMyYjZkMmFlNjI2NGJmOTVjZWU0ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9DYWNoZS5pZGwKQEAgLTMwLDEyICszMCwxNiBAQCB0eXBlZGVmIChGZXRj
aFJlcXVlc3Qgb3IgVVNWU3RyaW5nKSBSZXF1ZXN0SW5mbzsKICAgICBFeHBvc2VkPShXaW5kb3cs
V29ya2VyKSwKICAgICBFbmFibGVkQXRSdW50aW1lPUNhY2hlQVBJLAogICAgIEltcGxlbWVudGF0
aW9uTGFja3NWVGFibGUsCisgICAgUHJpdmF0ZUlkZW50aWZpZXIsCisgICAgUHVibGljSWRlbnRp
ZmllciwKIF0gaW50ZXJmYWNlIENhY2hlIHsKICAgICBbTmV3T2JqZWN0XSBQcm9taXNlPGFueT4g
bWF0Y2goUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0
aW9ucyk7Ci0gICAgW05ld09iamVjdF0gUHJvbWlzZTxzZXF1ZW5jZTxGZXRjaFJlc3BvbnNlPj4g
bWF0Y2hBbGwob3B0aW9uYWwgUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVy
eU9wdGlvbnMgb3B0aW9ucyk7CisgICAgW05ld09iamVjdCwgUHJpdmF0ZUlkZW50aWZpZXIsIFB1
YmxpY0lkZW50aWZpZXJdIFByb21pc2U8c2VxdWVuY2U8RmV0Y2hSZXNwb25zZT4+IG1hdGNoQWxs
KG9wdGlvbmFsIFJlcXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25z
IG9wdGlvbnMpOwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gYWRkKFJlcXVlc3RJbmZv
IHJlcXVlc3QpOwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gYWRkQWxsKHNlcXVlbmNl
PFJlcXVlc3RJbmZvPiByZXF1ZXN0cyk7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiBw
dXQoUmVxdWVzdEluZm8gcmVxdWVzdCwgRmV0Y2hSZXNwb25zZSByZXNwb25zZSk7CiAgICAgW05l
d09iamVjdCwgSW1wbGVtZW50ZWRBcz1yZW1vdmVdIFByb21pc2U8Ym9vbGVhbj4gZGVsZXRlKFJl
cXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25zIG9wdGlvbnMpOwog
ICAgIFtOZXdPYmplY3RdIFByb21pc2U8c2VxdWVuY2U8UmVxdWVzdD4+IGtleXMob3B0aW9uYWwg
UmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9ucyk7
CisKKyAgICBbUHJpdmF0ZUlkZW50aWZpZXIsIEltcGxlbWVudGVkQXM9bmFtZV0gRE9NU3RyaW5n
IGNhY2hlTmFtZSgpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvQ2FjaGVRdWVyeU9wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2Fj
aGVRdWVyeU9wdGlvbnMuaAppbmRleCA2OGY2N2ZhY2YzNTY4NzFlZWY0ZTU1NDY5NThiNzI3YTY1
OTM2OTNiLi5iMjg3YWRlYWYzZDg0MTQ3ZGY0YzVjZGNmMjBjMjg3MWE2MjlhMzQ0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlUXVlcnlPcHRpb25zLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVF1ZXJ5T3B0aW9ucy5oCkBAIC0y
OSw3ICsyOSwxMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBDYWNoZVF1ZXJ5
T3B0aW9ucyB7CitjbGFzcyBDYWNoZVF1ZXJ5T3B0aW9ucyB7CitwdWJsaWM6CisgICAgQ2FjaGVR
dWVyeU9wdGlvbnMgaXNvbGF0ZWRDb3B5KCkgY29uc3QgeyByZXR1cm4gQ2FjaGVRdWVyeU9wdGlv
bnMgeyBpZ25vcmVTZWFyY2gsIGlnbm9yZU1ldGhvZCwgaWdub3JlVmFyeSwgY2FjaGVOYW1lLmlz
b2xhdGVkQ29weSgpIH07IH0KKwogICAgIGJvb2wgaWdub3JlU2VhcmNoIHsgZmFsc2UgfTsKICAg
ICBib29sIGlnbm9yZU1ldGhvZCB7IGZhbHNlIH07CiAgICAgYm9vbCBpZ25vcmVWYXJ5IHsgZmFs
c2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9y
YWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmNwcApp
bmRleCAxMjM2N2JlOTY2ZTFlM2EyOGE5ZTI5ZGJmZTRiODNiZDVhY2RlY2M2Li4xYTY0NTQyZjI2
NTY4NGVlMmVhMDgyYWJlMmQ4ZjVjZjQ2ODFmMDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuY3BwCkBAIC0yNiwzMSArMjYsOTQgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJDYWNoZVN0b3JhZ2UuaCIKIAorI2luY2x1ZGUgIkNhY2hl
UXVlcnlPcHRpb25zLmgiCisjaW5jbHVkZSAiSlNDYWNoZS5oIgorI2luY2x1ZGUgIlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12b2lkIENhY2hlU3Rv
cmFnZTo6bWF0Y2goUmVxdWVzdEluZm8mJiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9u
cz4mJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQorU3RyaW5nIENhY2hlU3RvcmFn
ZTo6b3JpZ2luKCkgY29uc3QKIHsKLSAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9uIHsgVHlw
ZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgYXV0byogb3Jp
Z2luID0gbV9jb250ZXh0LnNlY3VyaXR5T3JpZ2luKCk7CisgICAgcmV0dXJuIG9yaWdpbiA/IG9y
aWdpbi0+dG9TdHJpbmcoKSA6IGVtcHR5U3RyaW5nKCk7CiB9CiAKLXZvaWQgQ2FjaGVTdG9yYWdl
OjpoYXMoY29uc3QgU3RyaW5nJiwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYgcHJv
bWlzZSkKK3ZvaWQgQ2FjaGVTdG9yYWdlOjpoYXMoY29uc3QgU3RyaW5nJiBuYW1lLCBET01Qcm9t
aXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVqZWN0
KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0p
OworICAgIHJlZnJlc2hDYWNoZU1hcChbdGhpcywgbmFtZSwgcHJvbWlzZSA9IFdURk1vdmUocHJv
bWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgIHByb21pc2UucmVzb2x2ZShtX2NhY2hlTWFwLmZp
bmRNYXRjaGluZyhbJl0oYXV0byYgaXRlbSkgeyByZXR1cm4gaXRlbS0+bmFtZSgpID09IG5hbWU7
IH0pICE9IG5vdEZvdW5kKTsKKyAgICB9KTsKK30KKwordm9pZCBDYWNoZVN0b3JhZ2U6OnJlZnJl
c2hDYWNoZU1hcChGdW5jdGlvbjx2b2lkKCk+JiYgY2FsbGJhY2spCit7CisgICAgbV9jb25uZWN0
aW9uLT5yZWZyZXNoQ2FjaGVNYXAob3JpZ2luKCksIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFr
ZVJlZigqdGhpcyksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiBjYWNoZU5hbWVzKSB7CisgICAgICAgIG1fY2FjaGVNYXAucmVtb3ZlQWxsTWF0Y2hp
bmcoWyZdKGF1dG8mIGNhY2hlKSB7IHJldHVybiAhY2FjaGVOYW1lcy5jb250YWlucyhjYWNoZS0+
bmFtZSgpKTsgfSk7CisKKyAgICAgICAgc3RkOjpzb3J0KG1fY2FjaGVNYXAuYmVnaW4oKSwgbV9j
YWNoZU1hcC5lbmQoKSwgWyZdKGF1dG8mIGEsIGF1dG8mIGIpIHsKKyAgICAgICAgICAgIHJldHVy
biBjYWNoZU5hbWVzLmZpbmQoYS0+bmFtZSgpKSA8IGNhY2hlTmFtZXMuZmluZChiLT5uYW1lKCkp
OworICAgICAgICB9KTsKKworICAgICAgICBjYWxsYmFjaygpOworICAgIH0pOwogfQogCi12b2lk
IENhY2hlU3RvcmFnZTo6b3Blbihjb25zdCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURM
SW50ZXJmYWNlPENhY2hlPj4mJiBwcm9taXNlKQordm9pZCBDYWNoZVN0b3JhZ2U6Om9wZW4oY29u
c3QgU3RyaW5nJiBuYW1lLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPENhY2hlPj4m
JiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwg
QVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHJlZnJlc2hDYWNoZU1hcChb
dGhpcywgbmFtZSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAg
ICAgIGF1dG8gcG9zaXRpb24gPSBtX2NhY2hlTWFwLmZpbmRNYXRjaGluZyhbJl0oYXV0byYgaXRl
bSkgeyByZXR1cm4gaXRlbS0+bmFtZSgpID09IG5hbWU7IH0pOworICAgICAgICBpZiAocG9zaXRp
b24gIT0gbm90Rm91bmQpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShtX2NhY2hlTWFw
W3Bvc2l0aW9uXSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgbV9j
b25uZWN0aW9uLT5vcGVuKG9yaWdpbigpLCBuYW1lLCBbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYo
KnRoaXMpLCB0aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICAgICAgaWYgKGVy
cm9yICE9IENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yOjpOb25lKSB7CisgICAgICAgICAg
ICAgICAgcHJvbWlzZS5yZWplY3QoQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJv
bUVycm9yKGVycm9yKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQor
CisgICAgICAgICAgICBhdXRvIGNhY2hlID0gQ2FjaGU6OmNyZWF0ZShtX2NvbnRleHQsIFN0cmlu
ZyhuYW1lKSwgbV9jb25uZWN0aW9uLmNvcHlSZWYoKSk7CisgICAgICAgICAgICBwcm9taXNlLnJl
c29sdmUoY2FjaGUpOworICAgICAgICAgICAgbV9jYWNoZU1hcC5hcHBlbmQoV1RGTW92ZShjYWNo
ZSkpOworICAgICAgICB9KTsKKyAgICB9KTsKIH0KIAotdm9pZCBDYWNoZVN0b3JhZ2U6OnJlbW92
ZShjb25zdCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNl
KQordm9pZCBDYWNoZVN0b3JhZ2U6OnJlbW92ZShjb25zdCBTdHJpbmcmIG5hbWUsIERPTVByb21p
c2VEZWZlcnJlZDxJRExCb29sZWFuPiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS5yZWplY3Qo
RXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7
CisgICAgcmVmcmVzaENhY2hlTWFwKFt0aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9t
aXNlKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgYXV0byBwb3NpdGlvbiA9IG1fY2FjaGVNYXAuZmlu
ZE1hdGNoaW5nKFsmXShhdXRvJiBpdGVtKSB7IHJldHVybiBpdGVtLT5uYW1lKCkgPT0gbmFtZTsg
fSk7CisgICAgICAgIGlmIChwb3NpdGlvbiA9PSBub3RGb3VuZCkgeworICAgICAgICAgICAgcHJv
bWlzZS5yZXNvbHZlKGZhbHNlKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAg
ICAgICBtX2Nvbm5lY3Rpb24tPnJlbW92ZShvcmlnaW4oKSwgbmFtZSwgW3Byb3RlY3RlZFRoaXMg
PSBtYWtlUmVmKCp0aGlzKSwgbmFtZSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKENhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OkVycm9yIGVycm9yKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlm
IChlcnJvciAhPSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJvcjo6Tm9uZSkgeworICAgICAg
ICAgICAgICAgIHByb21pc2UucmVqZWN0KENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlv
bkZyb21FcnJvcihlcnJvcikpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZSh0cnVlKTsKKyAgICAgICAgfSk7CisgICAg
ICAgIG1fY2FjaGVNYXAucmVtb3ZlKHBvc2l0aW9uKTsKKyAgICB9KTsKIH0KIAogdm9pZCBDYWNo
ZVN0b3JhZ2U6OmtleXMoS2V5c1Byb21pc2UmJiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVq
ZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQi
KX0pOworICAgIHJlZnJlc2hDYWNoZU1hcChbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlz
ZSldKCkgbXV0YWJsZSB7CisgICAgICAgIFZlY3RvcjxTdHJpbmc+IGtleXM7CisgICAgICAgIGtl
eXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShtX2NhY2hlTWFwLnNpemUoKSk7CisgICAgICAgIGZv
ciAoYXV0byYgY2FjaGUgOiBtX2NhY2hlTWFwKQorICAgICAgICAgICAga2V5cy51bmNoZWNrZWRB
cHBlbmQoY2FjaGUtPm5hbWUoKSk7CisgICAgICAgIHByb21pc2UucmVzb2x2ZShrZXlzKTsKKyAg
ICB9KTsKK30KKwordm9pZCBDYWNoZVN0b3JhZ2U6OmNhY2hlTWFwKENhY2hlTWFwUHJvbWlzZSYm
IHByb21pc2UpCit7CisgICAgcmVmcmVzaENhY2hlTWFwKFt0aGlzLCBwcm9taXNlID0gV1RGTW92
ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgcHJvbWlzZS5yZXNvbHZlKG1fY2FjaGVN
YXApOworICAgIH0pOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaAppbmRleCBmYTI2OTAwMDM2YzMyNjczNjYy
MWZjYjgzN2M3NzcxZWFhOGQ4MjIzLi44NTMyODA0Mzg1OThiMWNlMmVhZDc3ZjdlNTc1NWNmY2E0
MTY2NTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3Rv
cmFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmgK
QEAgLTI1LDI5ICsyNSw0NSBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkNhY2hlLmgi
CisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIkZldGNoUmVx
dWVzdC5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY2xhc3MgQ2FjaGU7Ci0KLXN0cnVjdCBDYWNoZVF1ZXJ5T3B0aW9uczsKK2NsYXNzIENhY2hl
UXVlcnlPcHRpb25zOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAogY2xhc3MgQ2Fj
aGVTdG9yYWdlIDogcHVibGljIFJlZkNvdW50ZWQ8Q2FjaGVTdG9yYWdlPiB7CiBwdWJsaWM6Ci0g
ICAgc3RhdGljIFJlZjxDYWNoZVN0b3JhZ2U+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgQ2FjaGVTdG9yYWdlKCkpOyB9CisgICAgc3RhdGljIFJlZjxDYWNoZVN0b3JhZ2U+IGNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVj
dGlvbj4mJiBjb25uZWN0aW9uKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IENhY2hlU3RvcmFnZShj
b250ZXh0LCBXVEZNb3ZlKGNvbm5lY3Rpb24pKSk7IH0KIAotICAgIHVzaW5nIFJlcXVlc3RJbmZv
ID0gRmV0Y2hSZXF1ZXN0OjpJbmZvOwogICAgIHVzaW5nIEtleXNQcm9taXNlID0gRE9NUHJvbWlz
ZURlZmVycmVkPElETFNlcXVlbmNlPElETERPTVN0cmluZz4+OwogCi0gICAgdm9pZCBtYXRjaChS
ZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBSZWY8RGVm
ZXJyZWRQcm9taXNlPiYmKTsKICAgICB2b2lkIGhhcyhjb25zdCBTdHJpbmcmLCBET01Qcm9taXNl
RGVmZXJyZWQ8SURMQm9vbGVhbj4mJik7CiAgICAgdm9pZCBvcGVuKGNvbnN0IFN0cmluZyYsIERP
TVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8Q2FjaGU+PiYmKTsKICAgICB2b2lkIHJlbW92
ZShjb25zdCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJik7CiAgICAg
dm9pZCBrZXlzKEtleXNQcm9taXNlJiYpOwogCisgICAgdXNpbmcgQ2FjaGVNYXBQcm9taXNlID0g
RE9NUHJvbWlzZURlZmVycmVkPElETFNlcXVlbmNlPElETEludGVyZmFjZTxDYWNoZT4+PjsKKyAg
ICB2b2lkIGNhY2hlTWFwKENhY2hlTWFwUHJvbWlzZSYmKTsKKwogcHJpdmF0ZToKLSAgICBDYWNo
ZVN0b3JhZ2UoKSA9IGRlZmF1bHQ7CisgICAgQ2FjaGVTdG9yYWdlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmLCBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4mJik7CisKKyAgICB2b2lkIHJlZnJl
c2hDYWNoZU1hcChGdW5jdGlvbjx2b2lkKCk+JiYpOworICAgIFN0cmluZyBvcmlnaW4oKSBjb25z
dDsKKworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIG1fY29udGV4dDsKKyAgICBWZWN0b3I8
UmVmPENhY2hlPj4gbV9jYWNoZU1hcDsKKyAgICBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4g
bV9jb25uZWN0aW9uOwogfTsKIAoraW5saW5lIENhY2hlU3RvcmFnZTo6Q2FjaGVTdG9yYWdlKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
PiYmIGNvbm5lY3Rpb24pCisgICAgOiBtX2NvbnRleHQoY29udGV4dCkKKyAgICAsIG1fY29ubmVj
dGlvbihXVEZNb3ZlKGNvbm5lY3Rpb24pKQoreworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5pZGwKaW5kZXgg
OGQ3MWUwOTAzZTc2ZTFhNGI2MmJmYjZmMDI4NDk2ZmI5ODZmMDYyYS4uNjYzOTkzZGFkNjQwMGQ0
MDk3ODUyZjNiZGIzMzI0ODAwYTUxNzVmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2FjaGUvQ2FjaGVTdG9yYWdlLmlkbApAQCAtMzAsMTAgKzMwLDE0IEBAIHR5cGVkZWYgKEZldGNo
UmVxdWVzdCBvciBVU1ZTdHJpbmcpIFJlcXVlc3RJbmZvOwogICAgIEV4cG9zZWQ9KFdpbmRvdyxX
b3JrZXIpLAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9Q2FjaGVBUEksCiAgICAgSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZSwKKyAgICBQcml2YXRlSWRlbnRpZmllciwKKyAgICBQdWJsaWNJZGVudGlm
aWVyLAogXSBpbnRlcmZhY2UgQ2FjaGVTdG9yYWdlIHsKLSAgICBbTmV3T2JqZWN0XSBQcm9taXNl
PGFueT4gbWF0Y2goUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlv
bnMgb3B0aW9ucyk7CisgICAgW05ld09iamVjdCwgSlNCdWlsdGluXSBQcm9taXNlPGFueT4gbWF0
Y2goUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9u
cyk7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxib29sZWFuPiBoYXMoRE9NU3RyaW5nIGNhY2hl
TmFtZSk7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxDYWNoZT4gb3BlbihET01TdHJpbmcgY2Fj
aGVOYW1lKTsKICAgICBbTmV3T2JqZWN0LCBJbXBsZW1lbnRlZEFzPXJlbW92ZV0gUHJvbWlzZTxi
b29sZWFuPiBkZWxldGUoRE9NU3RyaW5nIGNhY2hlTmFtZSk7CiAgICAgW05ld09iamVjdF0gUHJv
bWlzZTxzZXF1ZW5jZTxET01TdHJpbmc+PiBrZXlzKCk7CisKKyAgICBbUHJpdmF0ZUlkZW50aWZp
ZXJdIFByb21pc2U8c2VxdWVuY2U8Q2FjaGU+PiBjYWNoZU1hcCgpOwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmpzIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDA1YzFhYmNl
N2Y3NTgzNDk3NjMwNWQ4MzJjYmYyODNhZGRmMmQ3OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmpzCkBAIC0wLDAgKzEsNTggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCitmdW5jdGlvbiBtYXRjaChyZXF1ZXN0KQoreworICBpZiAoISh0aGlzIGlu
c3RhbmNlb2YgQENhY2hlU3RvcmFnZSkpCisgICAgICAgcmV0dXJuIEBQcm9taXNlLkByZWplY3Qo
QG1ha2VUaGlzVHlwZUVycm9yKCJDYWNoZVN0b3JhZ2UiLCAibWF0Y2giKSk7CisKKyAgICByZXR1
cm4gQENhY2hlU3RvcmFnZS5wcm90b3R5cGUuQGNhY2hlTWFwLkBjYWxsKHRoaXMpLnRoZW4oKGNh
Y2hlTWFwKSA9PiB7CisgICAgICAgIGxldCBvcHRpb25zID0gYXJndW1lbnRzWzFdOworICAgICAg
ICBpZiAoQGlzT2JqZWN0KG9wdGlvbnMpICYmIG9wdGlvbnMuY2FjaGVOYW1lKSB7CisgICAgICAg
ICAgICBmb3IgKGxldCBjYWNoZSBvZiBjYWNoZU1hcCkgeworICAgICAgICAgICAgICAgIGlmIChA
Q2FjaGUucHJvdG90eXBlLkBjYWNoZU5hbWUuQGNhbGwoY2FjaGUpID09PSBvcHRpb25zLmNhY2hl
TmFtZSkgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4gQENhY2hlLnByb3RvdHlwZS5AbWF0
Y2hBbGwuQGNhbGwoY2FjaGUsIHJlcXVlc3QsIG9wdGlvbnMpLnRoZW4oKHJlc3VsdCkgPT4gewor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5sZW5ndGgpCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdFswXTsKKyAgICAgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIEBQ
cm9taXNlLkByZXNvbHZlKCk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBtYXRjaE5l
eHRDYWNoZShjYWNoZU1hcCwgcmVxdWVzdCwgb3B0aW9ucywgY291bnRlcikgeworICAgICAgICAg
ICAgaWYgKGNvdW50ZXIgPT09IGNhY2hlTWFwLmxlbmd0aCkKKyAgICAgICAgICAgICAgICByZXR1
cm4gQFByb21pc2UuQHJlc29sdmUoKTsKKworICAgICAgICAgICAgbGV0IGNhY2hlID0gQENhY2hl
U3RvcmFnZS5wcm90b3R5cGUuQGdldChjYWNoZU1hcFtjb3VudGVyXSk7CisgICAgICAgICAgICBy
ZXR1cm4gQENhY2hlLnByb3RvdHlwZS5AbWF0Y2hBbGwuQGNhbGwoY2FjaGUsIHJlcXVlc3QsIG9w
dGlvbnMpLnRoZW4oKHJlc3VsdCkgPT4geworICAgICAgICAgICAgICAgIGlmIChyZXN1bHQubGVu
Z3RoKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0WzBdOworICAgICAgICAgICAg
ICAgIHJldHVybiBtYXRjaE5leHRDYWNoZShjYWNoZU1hcCwgcmVxdWVzdCwgb3B0aW9ucywgY291
bnRlciArIDEpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIG1h
dGNoTmV4dENhY2hlKGNhY2hlTWFwLCByZXF1ZXN0LCBvcHRpb25zLCAwKTsKKyAgICB9KTsKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29u
bmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNv
bm5lY3Rpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI5ZWJiODFkNmNkYTI0ZDZjNGIwOTUyMTNkYTc2M2Zh
OTZkZTI5NGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hl
L0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCkBAIC0wLDAgKzEsNDYgQEAKKworLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
LmgiCisKKyNpbmNsdWRlICJFeGNlcHRpb24uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitF
eGNlcHRpb24gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9yKEVycm9y
IGVycm9yKQoreworICAgIHN3aXRjaCAoZXJyb3IpIHsKKyAgICBjYXNlIEVycm9yOjpOb25lOgor
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJVbmtub3duIGVycm9yIikgfTsKKyAgICBjYXNlIEVy
cm9yOjpOb3RJbXBsZW1lbnRlZDoKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJv
ciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKSB9OworICAgIH07Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9j
YWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nh
Y2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOTcxMjA3NjBjMzgxY2Vj
MzNlNzcwYzVjOWI1NjA1ODU0ZjFlZTk0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgKQEAgLTAsMCArMSw4OCBA
QAorCisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJGZXRjaEhlYWRlcnMu
aCIKKyNpbmNsdWRlICJGZXRjaE9wdGlvbnMuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3Qu
aCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCisjaW5jbHVkZSA8d3RmL1RocmVhZFNh
ZmVSZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2FjaGVRdWVy
eU9wdGlvbnM7CisKK2NsYXNzIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24gOiBwdWJsaWMgVGhyZWFk
U2FmZVJlZkNvdW50ZWQ8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4geworcHVibGljOgorICAgIGVu
dW0gY2xhc3MgRXJyb3IgeworICAgICAgICBOb25lLAorICAgICAgICBOb3RJbXBsZW1lbnRlZCwK
KyAgICB9OworCisgICAgc3RhdGljIEV4Y2VwdGlvbiBleGNlcHRpb25Gcm9tRXJyb3IoRXJyb3Ip
OworCisgICAgc3RydWN0IFJlY29yZCB7CisgICAgICAgIHVpbnQ2NF90IGlkZW50aWZpZXI7CisK
KyAgICAgICAgRmV0Y2hIZWFkZXJzOjpHdWFyZCByZXF1ZXN0SGVhZGVyc0d1YXJkOworICAgICAg
ICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdDsKKyAgICAgICAgRmV0Y2hPcHRpb25zIG9wdGlvbnM7
CisgICAgICAgIFN0cmluZyByZWZlcnJlcjsKKworICAgICAgICBGZXRjaEhlYWRlcnM6Okd1YXJk
IHJlc3BvbnNlSGVhZGVyc0d1YXJkOworICAgICAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNl
OworCisgICAgICAgIHN0cnVjdCBDcm9zc1RocmVhZERhdGEgeworICAgICAgICAgICAgdWludDY0
X3QgaWRlbnRpZmllcjsKKworICAgICAgICAgICAgRmV0Y2hIZWFkZXJzOjpHdWFyZCByZXF1ZXN0
SGVhZGVyc0d1YXJkOworICAgICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3Q7CisgICAg
ICAgICAgICBGZXRjaE9wdGlvbnMgb3B0aW9uczsKKyAgICAgICAgICAgIFN0cmluZyByZWZlcnJl
cjsKKworICAgICAgICAgICAgRmV0Y2hIZWFkZXJzOjpHdWFyZCByZXNwb25zZUhlYWRlcnNHdWFy
ZDsKKyAgICAgICAgICAgIFJlc291cmNlUmVzcG9uc2U6OkNyb3NzVGhyZWFkRGF0YSByZXNwb25z
ZTsKKyAgICAgICAgfTsKKworICAgICAgICBDcm9zc1RocmVhZERhdGEgdG9Dcm9zc1RocmVhZERh
dGEoKSBjb25zdCB7IHJldHVybiBDcm9zc1RocmVhZERhdGEgeyBpZGVudGlmaWVyLCByZXF1ZXN0
SGVhZGVyc0d1YXJkLCByZXF1ZXN0Lmlzb2xhdGVkQ29weSgpLCBvcHRpb25zLmlzb2xhdGVkQ29w
eSgpLCByZWZlcnJlci5pc29sYXRlZENvcHkoKSwgcmVzcG9uc2VIZWFkZXJzR3VhcmQsIHJlc3Bv
bnNlLmNyb3NzVGhyZWFkRGF0YSgpIH07IH0KKyAgICAgICAgc3RhdGljIFJlY29yZCBmcm9tQ3Jv
c3NUaHJlYWREYXRhKENyb3NzVGhyZWFkRGF0YSYmIGRhdGEpIHsgcmV0dXJuIFJlY29yZCB7IGRh
dGEuaWRlbnRpZmllciwgZGF0YS5yZXF1ZXN0SGVhZGVyc0d1YXJkLCBXVEZNb3ZlKGRhdGEucmVx
dWVzdCksIFdURk1vdmUoZGF0YS5vcHRpb25zKSwgV1RGTW92ZShkYXRhLnJlZmVycmVyKSwgZGF0
YS5yZXNwb25zZUhlYWRlcnNHdWFyZCwgUmVzb3VyY2VSZXNwb25zZTo6ZnJvbUNyb3NzVGhyZWFk
RGF0YShXVEZNb3ZlKGRhdGEucmVzcG9uc2UpKSB9OyB9CisgICAgfTsKKworICAgIHN0YXRpYyBS
ZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5l
dyBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uKCkpOyB9CisgICAgdmlydHVhbCB+Q2FjaGVTdG9yYWdl
Q29ubmVjdGlvbigpID0gZGVmYXVsdDsKKworICAgIHZpcnR1YWwgdm9pZCBvcGVuKGNvbnN0IFN0
cmluZyYgLyogb3JpZ2luICovLCBjb25zdCBTdHJpbmcmIC8qIGNhY2hlTmFtZSAqLywgRnVuY3Rp
b248dm9pZChFcnJvcik+JiYgY2FsbGJhY2spIHsgY2FsbGJhY2soRXJyb3I6Ok5vdEltcGxlbWVu
dGVkKTsgfQorICAgIHZpcnR1YWwgdm9pZCByZW1vdmUoY29uc3QgU3RyaW5nJiAvKiBvcmlnaW4g
Ki8sIGNvbnN0IFN0cmluZyYgLyogY2FjaGVOYW1lICovLCBGdW5jdGlvbjx2b2lkKEVycm9yKT4m
JiBjYWxsYmFjaykgeyBjYWxsYmFjayhFcnJvcjo6Tm90SW1wbGVtZW50ZWQpOyB9CisgICAgdmly
dHVhbCB2b2lkIHJlZnJlc2hDYWNoZU1hcChjb25zdCBTdHJpbmcmIC8qIG9yaWdpbiAqLywgRnVu
Y3Rpb248dm9pZChjb25zdCBWZWN0b3I8U3RyaW5nPiYpPiYmIGNhbGxiYWNrKSB7IGNhbGxiYWNr
KHsgfSk7IH0KKworICAgIHZpcnR1YWwgdm9pZCByZWZyZXNoUmVxdWVzdFRvUmVzcG9uc2VNYXAo
Y29uc3QgU3RyaW5nJiAvKiBvcmlnaW4gKi8sIGNvbnN0IFN0cmluZyYgLyogY2FjaGVOYW1lICov
LCBGdW5jdGlvbjx2b2lkKFZlY3RvcjxSZWNvcmQ+JiYpPiYmIGNhbGxiYWNrKSB7IGNhbGxiYWNr
KHsgfSk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgYmF0Y2hEZWxldGVPcGVyYXRpb24oY29uc3QgU3Ry
aW5nJiAvKiBvcmlnaW4gKi8sIGNvbnN0IFN0cmluZyYgLyogY2FjaGVOYW1lICovLCBjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBGdW5jdGlvbjx2b2lkKFZlY3Rv
cjx1aW50NjRfdD4mJiwgRXJyb3IpPiYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKHsgfSwgRXJyb3I6
Ok5vdEltcGxlbWVudGVkKTsgfQorICAgIHZpcnR1YWwgdm9pZCBiYXRjaFB1dE9wZXJhdGlvbihj
b25zdCBTdHJpbmcmIC8qIG9yaWdpbiAqLywgY29uc3QgU3RyaW5nJiAvKiBjYWNoZU5hbWUgKi8s
IFJlY29yZCYmLCBGdW5jdGlvbjx2b2lkKFZlY3Rvcjx1aW50NjRfdD4mJiwgRXJyb3IpPiYmIGNh
bGxiYWNrKSB7IGNhbGxiYWNrKHsgfSwgRXJyb3I6Ok5vdEltcGxlbWVudGVkKTsgfQorfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2NhY2hlL0NhY2hlU3RvcmFnZVJlY29yZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9j
YWNoZS9DYWNoZVN0b3JhZ2VSZWNvcmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMGE2YWNlNGJhNGMwOTFkYzA5
YTVkNDU1ZGY2YWM3Y2E1Y2FhMjdiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VSZWNvcmQuaApAQCAtMCwwICsxLDQwIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJGZXRjaFJlcXVlc3QuaCIKKyNpbmNs
dWRlICJGZXRjaFJlc3BvbnNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IENh
Y2hlU3RvcmFnZVJlY29yZCB7CisgICAgdWludDY0X3QgaWRlbnRpZmllcjsKKworICAgIFJlZjxG
ZXRjaFJlcXVlc3Q+IHJlcXVlc3Q7CisgICAgUmVmPEZldGNoUmVzcG9uc2U+IHJlc3BvbnNlOwor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwCmluZGV4IDg2NjVjNTU2NzJlYTVmNDZiMDlkNGY5
YjA3NWE2OTYyYzU5NTFlZDEuLmE4YTI2NjdiYWE1MjUxYWVkYTA2NWQ4NDgzODYyNTUzZDUwNTg1
NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NV2luZG93Q2Fj
aGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hl
cy5jcHAKQEAgLTI3LDcgKzI3LDExIEBACiAjaW5jbHVkZSAiRE9NV2luZG93Q2FjaGVzLmgiCiAK
ICNpbmNsdWRlICJDYWNoZVN0b3JhZ2UuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VQcm92aWRl
ci5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5j
bHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApAQCAtNTksOCArNjMsOCBAQCBDYWNoZVN0b3JhZ2UqIERPTVdpbmRvd0NhY2hlczo6Y2FjaGVz
KERPTVdpbmRvdyYgd2luZG93KQogCiBDYWNoZVN0b3JhZ2UqIERPTVdpbmRvd0NhY2hlczo6Y2Fj
aGVzKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fY2FjaGVzICYmIGZyYW1lKCkpCi0gICAgICAgIG1f
Y2FjaGVzID0gQ2FjaGVTdG9yYWdlOjpjcmVhdGUoKTsKKyAgICBpZiAoIW1fY2FjaGVzICYmIGZy
YW1lKCkgJiYgZnJhbWUoKS0+cGFnZSgpICYmIGZyYW1lKCktPmRvY3VtZW50KCkpCisgICAgICAg
IG1fY2FjaGVzID0gQ2FjaGVTdG9yYWdlOjpjcmVhdGUoKmZyYW1lKCktPmRvY3VtZW50KCksIGZy
YW1lKCktPnBhZ2UoKS0+Y2FjaGVTdG9yYWdlUHJvdmlkZXIoKS5jcmVhdGVDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uKGZyYW1lKCktPnBhZ2UoKS0+c2Vzc2lvbklEKCkpKTsKICAgICByZXR1cm4gbV9j
YWNoZXMuZ2V0KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9j
YWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAKaW5kZXggMDUxNjk4ZTdjNmU1NzkwY2Qy
NzBhMzE4MGZmZWI0M2M3ZDdkZWFhYS4uYzUzOWNkZTYzYjRiNGQyNzcxYzY5Y2ZmN2Q1OWI3ZjEy
NTg1YjgxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJH
bG9iYWxTY29wZUNhY2hlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9X
b3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAKQEAgLTQwLDcgKzQwLDcgQEAgV29ya2VyR2xvYmFs
U2NvcGVDYWNoZXMqIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzOjpmcm9tKFdvcmtlckdsb2JhbFNj
b3BlJiBzY29wZSkKIHsKICAgICBhdXRvKiBzdXBwbGVtZW50ID0gc3RhdGljX2Nhc3Q8V29ya2Vy
R2xvYmFsU2NvcGVDYWNoZXMqPihTdXBwbGVtZW50PFdvcmtlckdsb2JhbFNjb3BlPjo6ZnJvbSgm
c2NvcGUsIHN1cHBsZW1lbnROYW1lKCkpKTsKICAgICBpZiAoIXN1cHBsZW1lbnQpIHsKLSAgICAg
ICAgYXV0byBuZXdTdXBwbGVtZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxXb3JrZXJHbG9iYWxTY29w
ZUNhY2hlcz4oKTsKKyAgICAgICAgYXV0byBuZXdTdXBwbGVtZW50ID0gc3RkOjptYWtlX3VuaXF1
ZTxXb3JrZXJHbG9iYWxTY29wZUNhY2hlcz4oc2NvcGUpOwogICAgICAgICBzdXBwbGVtZW50ID0g
bmV3U3VwcGxlbWVudC5nZXQoKTsKICAgICAgICAgcHJvdmlkZVRvKCZzY29wZSwgc3VwcGxlbWVu
dE5hbWUoKSwgV1RGTW92ZShuZXdTdXBwbGVtZW50KSk7CiAgICAgfQpAQCAtNTUsNyArNTUsNyBA
QCBDYWNoZVN0b3JhZ2UqIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzOjpjYWNoZXMoV29ya2VyR2xv
YmFsU2NvcGUmIHNjb3BlKQogQ2FjaGVTdG9yYWdlKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6
Y2FjaGVzKCkgY29uc3QKIHsKICAgICBpZiAoIW1fY2FjaGVzKQotICAgICAgICBtX2NhY2hlcyA9
IENhY2hlU3RvcmFnZTo6Y3JlYXRlKCk7CisgICAgICAgIG1fY2FjaGVzID0gQ2FjaGVTdG9yYWdl
OjpjcmVhdGUobV9zY29wZSwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6Y3JlYXRlKCkpOwogICAg
IHJldHVybiBtX2NhY2hlcy5nZXQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oCmluZGV4IDc5NWViZDYxOWUy
NDIxZDRjZWIxYjc4Y2RlZTQzM2UxMjM1MTQ4NmQuLmY2Y2M4NTFlMDg1ZTFkM2E1YzIzY2FjNmVi
N2QzZTZmYWMzOTc2NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUv
V29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nh
Y2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmgKQEAgLTM0LDcgKzM0LDcgQEAgY2xhc3MgV29y
a2VyR2xvYmFsU2NvcGU7CiAKIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzIDogcHVibGlj
IFN1cHBsZW1lbnQ8V29ya2VyR2xvYmFsU2NvcGU+IHsKIHB1YmxpYzoKLSAgICBXb3JrZXJHbG9i
YWxTY29wZUNhY2hlcygpID0gZGVmYXVsdDsKKyAgICBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcyhX
b3JrZXJHbG9iYWxTY29wZSYgc2NvcGUpIDogbV9zY29wZShzY29wZSkgeyB9OwogCiAgICAgc3Rh
dGljIENhY2hlU3RvcmFnZSogY2FjaGVzKFdvcmtlckdsb2JhbFNjb3BlJik7CiAKQEAgLTQzLDYg
KzQzLDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUo
KTsKICAgICBDYWNoZVN0b3JhZ2UqIGNhY2hlcygpIGNvbnN0OwogCisgICAgV29ya2VyR2xvYmFs
U2NvcGUmIG1fc2NvcGU7CiAgICAgbXV0YWJsZSBSZWZQdHI8Q2FjaGVTdG9yYWdlPiBtX2NhY2hl
czsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hC
b2R5T3duZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIu
aAppbmRleCBjMzIxM2U5NzIxMzkzMDBkNGE1MTg1NGMwNTU5YWI1NTAxNGE5NTViLi43MWFmYzQ2
Y2UwNTFlNGE4NGUzMWFjOTM0NDgzOTZjOGY4NjFlMTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5oCkBAIC01Nyw2ICs1Nyw4IEBAIHB1YmxpYzoK
IAogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdCB7IHJldHVybiAhIW1fYmxvYkxvYWRlcjsgfQog
CisgICAgYm9vbCBpc1JlYWRhYmxlU3RyZWFtQm9keSgpIGNvbnN0IHsgcmV0dXJuIG1fYm9keSAm
JiBtX2JvZHktPmlzUmVhZGFibGVTdHJlYW0oKTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgY29uc3Qg
RmV0Y2hCb2R5JiBib2R5KCkgY29uc3QgeyByZXR1cm4gKm1fYm9keTsgfQogICAgIEZldGNoQm9k
eSYgYm9keSgpIHsgcmV0dXJuICptX2JvZHk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoSGVhZGVycy5oCmluZGV4IGZjM2IxMDhiOWEyZDVhZTU4MzdjMjNjNzkxZmUyMDlj
YjY4MzMyYzguLmZlZTFmOGYxZjM4MDkzYjBkMzM1YjkxOGQ5MWRjZTQ0ZmNkOTdkMTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaApAQCAtMzAsNiArMzAs
NyBAQAogCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRlICJIVFRQSGVhZGVyTWFw
LmgiCisjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFRyYWl0
cy5oPgogI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpA
QCAtNDksNyArNTAsNyBAQCBwdWJsaWM6CiAgICAgdXNpbmcgSW5pdCA9IFZhcmlhbnQ8VmVjdG9y
PFZlY3RvcjxTdHJpbmc+PiwgVmVjdG9yPFdURjo6S2V5VmFsdWVQYWlyPFN0cmluZywgU3RyaW5n
Pj4+OwogICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8RmV0Y2hIZWFkZXJzPj4gY3JlYXRlKHN0
ZDo6b3B0aW9uYWw8SW5pdD4mJik7CiAKLSAgICBzdGF0aWMgUmVmPEZldGNoSGVhZGVycz4gY3Jl
YXRlKEd1YXJkIGd1YXJkID0gR3VhcmQ6Ok5vbmUpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmV0
Y2hIZWFkZXJzIHsgZ3VhcmQgfSk7IH0KKyAgICBzdGF0aWMgUmVmPEZldGNoSGVhZGVycz4gY3Jl
YXRlKEd1YXJkIGd1YXJkID0gR3VhcmQ6Ok5vbmUsIEhUVFBIZWFkZXJNYXAmJiBoZWFkZXJzID0g
eyB9KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEZldGNoSGVhZGVycyB7IGd1YXJkLCBXVEZNb3Zl
KGhlYWRlcnMpIH0pOyB9CiAgICAgc3RhdGljIFJlZjxGZXRjaEhlYWRlcnM+IGNyZWF0ZShjb25z
dCBGZXRjaEhlYWRlcnMmIGhlYWRlcnMpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmV0Y2hIZWFk
ZXJzIHsgaGVhZGVycyB9KTsgfQogCiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gYXBwZW5kKGNvbnN0
IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSk7CkBAIC04Miw5ICs4MywxMCBAQCBw
dWJsaWM6CiAgICAgY29uc3QgSFRUUEhlYWRlck1hcCYgaW50ZXJuYWxIZWFkZXJzKCkgY29uc3Qg
eyByZXR1cm4gbV9oZWFkZXJzOyB9CiAKICAgICB2b2lkIHNldEd1YXJkKEd1YXJkKTsKKyAgICBH
dWFyZCBndWFyZCgpIGNvbnN0IHsgcmV0dXJuIG1fZ3VhcmQ7IH0KIAogcHJpdmF0ZToKLSAgICBl
eHBsaWNpdCBGZXRjaEhlYWRlcnMoR3VhcmQgZ3VhcmQsIEhUVFBIZWFkZXJNYXAmJiBoZWFkZXJz
ID0geyB9KTsKKyAgICBGZXRjaEhlYWRlcnMoR3VhcmQsIEhUVFBIZWFkZXJNYXAmJik7CiAgICAg
RmV0Y2hIZWFkZXJzKGNvbnN0IEZldGNoSGVhZGVycyYpOwogCiAgICAgR3VhcmQgbV9ndWFyZDsK
QEAgLTExMSwzICsxMTMsMTggQEAgaW5saW5lIHZvaWQgRmV0Y2hIZWFkZXJzOjpzZXRHdWFyZChH
dWFyZCBndWFyZCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RG
IHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpGZXRjaEhlYWRlcnM6
Okd1YXJkPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICBXZWJDb3JlOjpG
ZXRjaEhlYWRlcnM6Okd1YXJkLAorICAgIFdlYkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQ6Ok5v
bmUsCisgICAgV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZDo6SW1tdXRhYmxlLAorICAgIFdl
YkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQ6OlJlcXVlc3QsCisgICAgV2ViQ29yZTo6RmV0Y2hI
ZWFkZXJzOjpHdWFyZDo6UmVxdWVzdE5vQ29ycywKKyAgICBXZWJDb3JlOjpGZXRjaEhlYWRlcnM6
Okd1YXJkOjpSZXNwb25zZQorICAgID47Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCmluZGV4IGUzYTUxZjFhZTg0MzkyYmYzMGZjOGI1ZDMz
NTMxYTA5ZGI4NWNjYWMuLmVkZmFjNWMzODU5MWQ5OWU4OGVkMGZkZjM2ZThkYzRkODk1OGQ2MjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCkBAIC04
MCw3ICs4MCw3IEBAIHZvaWQgRmV0Y2hMb2FkZXI6OnN0YXJ0KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxCiAgICAgb3B0aW9ucy5kYXRhQnVm
ZmVyaW5nUG9saWN5ID0gRG9Ob3RCdWZmZXJEYXRhOwogICAgIG9wdGlvbnMuc2FtZU9yaWdpbkRh
dGFVUkxGbGFnID0gU2FtZU9yaWdpbkRhdGFVUkxGbGFnOjpTZXQ7CiAKLSAgICBSZXNvdXJjZVJl
cXVlc3QgZmV0Y2hSZXF1ZXN0ID0gcmVxdWVzdC5pbnRlcm5hbFJlcXVlc3QoKTsKKyAgICBSZXNv
dXJjZVJlcXVlc3QgZmV0Y2hSZXF1ZXN0ID0gcmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKTsKIAog
ICAgIEFTU0VSVChjb250ZXh0LmNvbnRlbnRTZWN1cml0eVBvbGljeSgpKTsKICAgICBhdXRvJiBj
b250ZW50U2VjdXJpdHlQb2xpY3kgPSAqY29udGV4dC5jb250ZW50U2VjdXJpdHlQb2xpY3koKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcAppbmRleCBl
NjZjMTVjOTk0Y2U1MWVkZDU0OTNhZDI1ODc0MmRkZTY4Y2EzZDRiLi44ZDBjMjM4NzgzYmFmMDM4
NGQyN2M0ZDQ4ZjYxN2M2MTAyNzY5ZTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaFJlcXVlc3QuY3BwCkBAIC03NCw3ICs3NCw3IEBAIHN0YXRpYyBzdGQ6Om9wdGlv
bmFsPEV4Y2VwdGlvbj4gc2V0UmVmZXJyZXIoRmV0Y2hSZXF1ZXN0OjpJbnRlcm5hbFJlcXVlc3Qm
IHJlcXVlCiAKIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbj4gYnVpbGRPcHRpb25zKEZl
dGNoUmVxdWVzdDo6SW50ZXJuYWxSZXF1ZXN0JiByZXF1ZXN0LCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBjb250ZXh0LCBjb25zdCBGZXRjaFJlcXVlc3Q6OkluaXQmIGluaXQpCiB7Ci0gICAgaWYg
KCFpbml0LndpbmRvdy5pc1VuZGVmaW5lZE9yTnVsbCgpKQorICAgIGlmICghaW5pdC53aW5kb3cu
aXNVbmRlZmluZWRPck51bGwoKSAmJiAhaW5pdC53aW5kb3cuaXNFbXB0eSgpKQogICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIldpbmRvdyBjYW4gb25s
eSBiZSBudWxsLiIpIH07CiAKICAgICBpZiAoIWluaXQucmVmZXJyZXIuaXNOdWxsKCkpIHsKQEAg
LTI2NCw3ICsyNjQsNyBAQCBjb25zdCBTdHJpbmcmIEZldGNoUmVxdWVzdDo6dXJsKCkgY29uc3QK
ICAgICByZXR1cm4gbV9yZXF1ZXN0VVJMOwogfQogCi1SZXNvdXJjZVJlcXVlc3QgRmV0Y2hSZXF1
ZXN0OjppbnRlcm5hbFJlcXVlc3QoKSBjb25zdAorUmVzb3VyY2VSZXF1ZXN0IEZldGNoUmVxdWVz
dDo6cmVzb3VyY2VSZXF1ZXN0KCkgY29uc3QKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0
LmgKaW5kZXggMWYwYjE2ZThhNWExNzlmMGZlYWMwYjU5N2RkNTg3NDlmYWVkYWJkZC4uNjFkY2Qy
YzU4NjMzMDk3ZDFlNjJlNmM1YTkxZWIxMDAyMTc3OWMzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5oCkBAIC01MywxMSArNTMsMTkgQEAgcHVibGljOgog
ICAgIHVzaW5nIFJlZGlyZWN0ID0gRmV0Y2hPcHRpb25zOjpSZWRpcmVjdDsKICAgICB1c2luZyBU
eXBlID0gRmV0Y2hPcHRpb25zOjpUeXBlOwogCisgICAgc3RydWN0IEludGVybmFsUmVxdWVzdCB7
CisgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0OworICAgICAgICBGZXRjaE9wdGlvbnMg
b3B0aW9uczsKKyAgICAgICAgU3RyaW5nIHJlZmVycmVyOworICAgIH07CisKICAgICBzdGF0aWMg
RXhjZXB0aW9uT3I8UmVmPEZldGNoUmVxdWVzdD4+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiwgSW5mbyYmLCBJbml0JiYpOworICAgIHN0YXRpYyBSZWY8RmV0Y2hSZXF1ZXN0PiBjcmVh
dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjpvcHRpb25hbDxGZXRjaEJv
ZHk+JiYgYm9keSwgUmVmPEZldGNoSGVhZGVycz4mJiBoZWFkZXJzLCBJbnRlcm5hbFJlcXVlc3Qm
JiByZXF1ZXN0KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEZldGNoUmVxdWVzdChjb250ZXh0LCBX
VEZNb3ZlKGJvZHkpLCBXVEZNb3ZlKGhlYWRlcnMpLCBXVEZNb3ZlKHJlcXVlc3QpKSk7IH0KIAog
ICAgIGNvbnN0IFN0cmluZyYgbWV0aG9kKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVl
c3QucmVxdWVzdC5odHRwTWV0aG9kKCk7IH0KICAgICBjb25zdCBTdHJpbmcmIHVybCgpIGNvbnN0
OwogICAgIEZldGNoSGVhZGVycyYgaGVhZGVycygpIHsgcmV0dXJuIG1faGVhZGVycy5nZXQoKTsg
fQorICAgIGNvbnN0IEZldGNoSGVhZGVycyYgaGVhZGVycygpIGNvbnN0IHsgcmV0dXJuIG1faGVh
ZGVycy5nZXQoKTsgfQogCiAgICAgVHlwZSB0eXBlKCkgY29uc3Q7CiAgICAgRGVzdGluYXRpb24g
ZGVzdGluYXRpb24oKSBjb25zdDsKQEAgLTczLDE3ICs4MSwxNCBAQCBwdWJsaWM6CiAKICAgICBF
eGNlcHRpb25PcjxSZWY8RmV0Y2hSZXF1ZXN0Pj4gY2xvbmUoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYpOwogCi0gICAgc3RydWN0IEludGVybmFsUmVxdWVzdCB7Ci0gICAgICAgIFJlc291cmNlUmVx
dWVzdCByZXF1ZXN0OwotICAgICAgICBGZXRjaE9wdGlvbnMgb3B0aW9uczsKLSAgICAgICAgU3Ry
aW5nIHJlZmVycmVyOwotICAgIH07CisgICAgY29uc3QgSW50ZXJuYWxSZXF1ZXN0JiBpbnRlcm5h
bFJlcXVlc3QoKSBjb25zdCB7IHJldHVybiBtX2ludGVybmFsUmVxdWVzdDsgfQogCiAgICAgY29u
c3QgRmV0Y2hPcHRpb25zJiBmZXRjaE9wdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX2ludGVybmFs
UmVxdWVzdC5vcHRpb25zOyB9Ci0gICAgUmVzb3VyY2VSZXF1ZXN0IGludGVybmFsUmVxdWVzdCgp
IGNvbnN0OworICAgIFJlc291cmNlUmVxdWVzdCByZXNvdXJjZVJlcXVlc3QoKSBjb25zdDsKICAg
ICBib29sIGlzQm9keVJlYWRhYmxlU3RyZWFtKCkgY29uc3QgeyByZXR1cm4gIWlzQm9keU51bGwo
KSAmJiBib2R5KCkuaXNSZWFkYWJsZVN0cmVhbSgpOyB9CiAKICAgICBjb25zdCBTdHJpbmcmIGlu
dGVybmFsUmVxdWVzdFJlZmVycmVyKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVlc3Qu
cmVmZXJyZXI7IH0KKyAgICBjb25zdCBVUkwmIGludGVybmFsUmVxdWVzdFVSTCgpIGNvbnN0IHsg
cmV0dXJuIG1faW50ZXJuYWxSZXF1ZXN0LnJlcXVlc3QudXJsKCk7IH0KIAogcHJpdmF0ZToKICAg
ICBGZXRjaFJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0ZDo6b3B0aW9uYWw8RmV0
Y2hCb2R5PiYmLCBSZWY8RmV0Y2hIZWFkZXJzPiYmLCBJbnRlcm5hbFJlcXVlc3QmJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcAppbmRleCA2OGFk
YjU1OWZlOTUzMGY3NDU2ZGM5NmY5ODg0YjdmZmRkNmE4MWJlLi5jNmRhMTExYjE5NTg3NDE2MzVm
MTMyMDM5MmU0YzZhYjc4MjM5ZmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hSZXNwb25zZS5jcHAKQEAgLTM1NSw2ICszNTUsMTQgQEAgdm9pZCBGZXRjaFJlc3Bv
bnNlOjpjYW5jZWwoKQogCiAjZW5kaWYKIAorUmVmUHRyPEZvcm1EYXRhPiBGZXRjaFJlc3BvbnNl
Ojpib2R5Rm9ySW50ZXJuYWxSZXNwb25zZSgpCit7CisgICAgQVNTRVJUKCFtX2lzRGlzdHVyYmVk
KTsKKyAgICBtX2lzRGlzdHVyYmVkID0gdHJ1ZTsKKyAgICByZXR1cm4gYm9keSgpLmJvZHlGb3JJ
bnRlcm5hbFJlcXVlc3QoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CisKK30KKwogdm9pZCBG
ZXRjaFJlc3BvbnNlOjpzdG9wKCkKIHsKICAgICBSZWZQdHI8RmV0Y2hSZXNwb25zZT4gcHJvdGVj
dGVkVGhpcyh0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hSZXNwb25zZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3Bv
bnNlLmgKaW5kZXggZjliMDJmYjBlNTg3YWI0ZWIzZDU1OTc5NGIzOTFmNzlmNWExZGM2Ni4uOTk2
Yjg5ZTZjZjI3YmY0MjI3NGVlZDA3ZmVhNzAxMDJjZWNlMzhmMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmgKQEAgLTU3LDYgKzU3LDggQEAgcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8RmV0Y2hSZXNwb25zZT4gZXJyb3IoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYpOwogICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8RmV0Y2hSZXNwb25zZT4+IHJlZGly
ZWN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTdHJpbmcmIHVybCwgaW50IHN0YXR1
cyk7CiAKKyAgICBzdGF0aWMgUmVmPEZldGNoUmVzcG9uc2U+IGNyZWF0ZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBjb250ZXh0LCBzdGQ6Om9wdGlvbmFsPEZldGNoQm9keT4mJiBib2R5LCBSZWY8
RmV0Y2hIZWFkZXJzPiYmIGhlYWRlcnMsIFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSkgeyBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBGZXRjaFJlc3BvbnNlKGNvbnRleHQsIFdURk1vdmUoYm9keSks
IFdURk1vdmUoaGVhZGVycyksIFdURk1vdmUocmVzcG9uc2UpKSk7IH0KKwogICAgIHVzaW5nIEZl
dGNoUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8RmV0Y2hSZXNwb25z
ZT4+OwogICAgIHN0YXRpYyB2b2lkIGZldGNoKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBGZXRj
aFJlcXVlc3QmLCBGZXRjaFByb21pc2UmJik7CiAKQEAgLTc4LDYgKzgwLDcgQEAgcHVibGljOgog
ICAgIGJvb2wgb2soKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlLmlzU3VjY2Vzc2Z1bCgpOyB9
CiAgICAgY29uc3QgU3RyaW5nJiBzdGF0dXNUZXh0KCkgY29uc3QgeyByZXR1cm4gbV9yZXNwb25z
ZS5odHRwU3RhdHVzVGV4dCgpOyB9CiAKKyAgICBjb25zdCBGZXRjaEhlYWRlcnMmIGhlYWRlcnMo
KSBjb25zdCB7IHJldHVybiBtX2hlYWRlcnM7IH0KICAgICBGZXRjaEhlYWRlcnMmIGhlYWRlcnMo
KSB7IHJldHVybiBtX2hlYWRlcnM7IH0KICAgICBSZWY8RmV0Y2hSZXNwb25zZT4gY2xvbmVGb3JK
UygpOwogCkBAIC05MCw2ICs5MywxMCBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzTG9hZGluZygp
IGNvbnN0IHsgcmV0dXJuICEhbV9ib2R5TG9hZGVyOyB9CiAKKyAgICBSZWZQdHI8Rm9ybURhdGE+
IGJvZHlGb3JJbnRlcm5hbFJlc3BvbnNlKCk7CisKKyAgICBjb25zdCBSZXNvdXJjZVJlc3BvbnNl
JiByZXNwb25zZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2U7IH0KKwogcHJpdmF0ZToKICAg
ICBGZXRjaFJlc3BvbnNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6Om9wdGlvbmFsPEZl
dGNoQm9keT4mJiwgUmVmPEZldGNoSGVhZGVycz4mJiwgUmVzb3VyY2VSZXNwb25zZSYmKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDRiNDA3MGEwYWZiNTliMWEyZGEyNmFkMThiNmZmNzkxYWNlN2FjNDkuLjY4NWNiNDFiNzNm
MTQyMDJkOTcyZDcyNTBlMDRjYmVlOGI3NTRiZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE3ODQsNiArMTc4NCwxNCBAQAog
CQk0MUNGOEJFNzFENDYyMjY3MDA3MDdEQzkgLyogRmV0Y2hCb2R5Q29uc3VtZXIuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFDRjhCRTQxRDQ2MjIy
MDAwNzA3REM5IC8qIEZldGNoQm9keUNvbnN1bWVyLmNwcCAqLzsgfTsKIAkJNDFEMDE1Q0EwRjRC
NUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQwMTVDODBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5
cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
MUQwMTVDQjBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMDE1QzkwRjRCNUM3MTAwNEE2NjJG
IC8qIENvbnRlbnRUeXBlLmNwcCAqLzsgfTsKKwkJNDFEMTI5Q0UxRjNEMEVGNjAwRDE1RTQ3IC8q
IFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MUZCMjc4RDFGMzRDMjgyMDA3OTU0ODcgLyogV29ya2VyR2xvYmFs
U2NvcGVDYWNoZXMuaCAqLzsgfTsKKwkJNDFEMTI5Q0YxRjNEMEVGRTAwRDE1RTQ3IC8qIENhY2hl
U3RvcmFnZUNvbm5lY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDFEMTI5QzkxRjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5l
Y3Rpb24uY3BwICovOyB9OworCQk0MUQxMjlEMDFGM0QwRjA1MDBEMTVFNDcgLyogQ2FjaGVRdWVy
eU9wdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxRkIyNzlCMUYzNENFRjAwMDc5NTQ4NyAvKiBDYWNoZVF1ZXJ5T3B0aW9ucy5oICovOyB9Owor
CQk0MUQxMjlEMTFGM0QwRjBFMDBEMTVFNDcgLyogRE9NV2luZG93Q2FjaGVzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUZCMjc4QzFGMzRDMjgyMDA3
OTU0ODcgLyogRE9NV2luZG93Q2FjaGVzLmggKi87IH07CisJCTQxRDEyOUQyMUYzRDBGMTIwMEQx
NUU0NyAvKiBDYWNoZVN0b3JhZ2VSZWNvcmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDEyOUNBMUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3Jh
Z2VSZWNvcmQuaCAqLzsgfTsKKwkJNDFEMTI5RDMxRjNEMEYxNjAwRDE1RTQ3IC8qIENhY2hlU3Rv
cmFnZUNvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxRDEyOUNDMUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDFE
MTI5RDUxRjNEMEY2OTAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVByb3ZpZGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQxMjlENDFGM0QwRjY2MDBE
MTVFNDcgLyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0MUQxMjlEQjFGM0QxNDM4MDBEMTVFNDcgLyogRmV0
Y2hIZWFkZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MUY1NEY4MzFDNTBDNEY2MDAzMzg0ODggLyogRmV0Y2hIZWFkZXJzLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDFERUZDQjUxRTU2QzFCRDAw
MEQ5RTVGIC8qIEpTRE9NTWFwTGlrZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MURFRkNCMzFFNTZDMUI5MDAwRDlFNUYgLyogSlNET01NYXBMaWtl
LmNwcCAqLzsgfTsKIAkJNDFERUZDQjYxRTU2QzFCRDAwMEQ5RTVGIC8qIEpTRE9NTWFwTGlrZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFERUZDQjQx
RTU2QzFCOTAwMEQ5RTVGIC8qIEpTRE9NTWFwTGlrZS5oICovOyB9OwogCQk0MUUxQjFEMDBGRjU5
ODY5MDA1NzZCM0IgLyogQWJzdHJhY3RXb3JrZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFFMUIxQ0EwRkY1OTg2OTAwNTc2QjNCIC8qIEFic3Ry
YWN0V29ya2VyLmNwcCAqLzsgfTsKQEAgLTk0MzYsNiArOTQ0NCwxMSBAQAogCQk0MUNGOEJFNjFE
NDYyMjJDMDA3MDdEQzkgLyogRmV0Y2hJbnRlcm5hbHMuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmphdmFzY3JpcHQ7IHBhdGggPSBGZXRjaEludGVybmFscy5qczsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDFEMDE1QzgwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRUeXBlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQxRDAxNUM5MEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlw
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb250ZW50VHlwZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRDEyOUM5MUYzRDBFRTMwMEQxNUU0
NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk0MUQxMjlDQTFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUmVj
b3JkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlU3RvcmFnZVJlY29y
ZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUQxMjlDQjFGM0QwRUUzMDBEMTVF
NDcgLyogQ2FjaGVTdG9yYWdlLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBw
YXRoID0gQ2FjaGVTdG9yYWdlLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUQx
MjlDQzFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRDEyOUQ0MUYzRDBGNjYwMEQxNUU0NyAvKiBDYWNo
ZVN0b3JhZ2VQcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNo
ZVN0b3JhZ2VQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUQ1MUJC
MjFFNEUyRTgxMDAxMzFBNUIgLyogTGliV2ViUlRDQXVkaW9Gb3JtYXQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRDQXVkaW9Gb3JtYXQuaDsgcGF0aCA9IGxpYndl
YnJ0Yy9MaWJXZWJSVENBdWRpb0Zvcm1hdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MURFRkNCMjFFNTZDMUI5MDAwRDlFNUYgLyogSlNET01CaW5kaW5nSW50ZXJuYWxzLmpzICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gSlNET01CaW5kaW5nSW50ZXJu
YWxzLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MURFRkNCMzFFNTZDMUI5MDAw
RDlFNUYgLyogSlNET01NYXBMaWtlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTRE9NTWFwTGlrZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
NzYyMCw2ICsxNzYzMywxMCBAQAogCQkJCTQxMzgwQzIxMUYzNDM2OEQwMDE1NUZEQSAvKiBDYWNo
ZVN0b3JhZ2UuY3BwICovLAogCQkJCTQxMzgwQzIyMUYzNDM2OTAwMDE1NUZEQSAvKiBDYWNoZVN0
b3JhZ2UuaCAqLywKIAkJCQk0MTM4MEMyNDFGMzQzNjk3MDAxNTVGREEgLyogQ2FjaGVTdG9yYWdl
LmlkbCAqLywKKwkJCQk0MUQxMjlDQjFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlLmpz
ICovLAorCQkJCTQxRDEyOUM5MUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uLmNwcCAqLywKKwkJCQk0MUQxMjlDQzFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbi5oICovLAorCQkJCTQxRDEyOUNBMUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0
b3JhZ2VSZWNvcmQuaCAqLywKIAkJCQk0MUZCMjc4RTFGMzRDMjgyMDA3OTU0ODcgLyogRE9NV2lu
ZG93Q2FjaGVzLmNwcCAqLywKIAkJCQk0MUZCMjc4QzFGMzRDMjgyMDA3OTU0ODcgLyogRE9NV2lu
ZG93Q2FjaGVzLmggKi8sCiAJCQkJNDEzODBDMkIxRjM0M0UyRjAwMTU1RkRBIC8qIERPTVdpbmRv
d0NhY2hlcy5pZGwgKi8sCkBAIC0xODU3OSwxMiArMTg1OTYsMTIgQEAKIAkJCQk1MTgyQzI1MjFG
MzE0MjUwMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyLmggKi8sCiAJCQkJNTE4MkMyNTExRjMx
NDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAgKi8sCiAJCQkJNTE4
MkMyNTQxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlckNvbnRhaW5lci5oICovLAot
CQkJCTUxRjE3NTAwMUYzNThCMzYwMEM3NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFD
YWNoZS5jcHAgKi8sCi0JCQkJNTFGMTc1MDExRjM1OEIzNjAwQzc0OTUwIC8qIEpTU2VydmljZVdv
cmtlclVwZGF0ZVZpYUNhY2hlLmggKi8sCiAJCQkJNTE4MkMyNEUxRjMxNDI1MDAwNTlCQTdDIC8q
IEpTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcCAqLywKIAkJCQk1MTgyQzI0RDFGMzE0MjUw
MDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCAqLywKIAkJCQk1MTgyQzI0
RjFGMzE0MjUwMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcCAqLywK
IAkJCQk1MTgyQzI1MDFGMzE0MjUwMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uLmggKi8sCisJCQkJNTFGMTc1MDAxRjM1OEIzNjAwQzc0OTUwIC8qIEpTU2VydmljZVdvcmtl
clVwZGF0ZVZpYUNhY2hlLmNwcCAqLywKKwkJCQk1MUYxNzUwMTFGMzU4QjM2MDBDNzQ5NTAgLyog
SlNTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuaCAqLywKIAkJCSk7CiAJCQluYW1lID0gU2Vy
dmljZVdvcmtlcnM7CiAJCQlwYXRoID0gRGVyaXZlZFNvdXJjZXM7CkBAIC0xOTE4OSw2ICsxOTIw
Niw3IEBACiAJCQkJQkMxMjRFRTYwQzI2NDFDRDAwOUUyMzQ5IC8qIEJhclByb3AuaWRsICovLAog
CQkJCTQ2MEJCNjEzMUQwQTFCRUMwMDIyMTgxMiAvKiBCYXNlNjRVdGlsaXRpZXMuY3BwICovLAog
CQkJCTQ2MEJCNjE0MUQwQTFCRUMwMDIyMTgxMiAvKiBCYXNlNjRVdGlsaXRpZXMuaCAqLywKKwkJ
CQk0MUQxMjlENDFGM0QwRjY2MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAqLywK
IAkJCQkwNzJDQTg2MDE2Q0I0REMzMDA4QUUxMzEgLyogQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5j
cHAgKi8sCiAJCQkJMDc5RDA4NjcxNjJGMjBFODAwREI4NjU4IC8qIENhcHRpb25Vc2VyUHJlZmVy
ZW5jZXMuaCAqLywKIAkJCQkwNzlEMDg2QTE2MkYyMUY5MDBEQjg2NTggLyogQ2FwdGlvblVzZXJQ
cmVmZXJlbmNlc01lZGlhQUYuY3BwICovLApAQCAtMjY2NzUsNyArMjY2OTMsMTEgQEAKIAkJCQkw
NzUzODYwMzE0NDg5RTk4MDBCNzg0NTIgLyogQ2FjaGVkVGV4dFRyYWNrLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQ0IxNkMyODA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVldC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk5NTAwODI0NUU1OTAwMUU5QUJDIC8qIENhY2hlUG9s
aWN5LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUQxMjlEMDFGM0QwRjA1MDBEMTVFNDcgLyogQ2Fj
aGVRdWVyeU9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxMzgwQzI5MUYzNDM2QUMwMDE1
NUZEQSAvKiBDYWNoZVN0b3JhZ2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxRDEyOUQzMUYzRDBG
MTYwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk0MUQxMjlENTFGM0QwRjY5MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTQxRDEyOUQyMUYzRDBGMTIwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VS
ZWNvcmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0M0FGOEU3MUFDNUI3RUMwMENBNzE3RSAvKiBD
YWNoZVZhbGlkYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5QUUyRDk3MTM0RUU1RjkwMDcy
OTIwQSAvKiBDYWxjdWxhdGlvblZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzFFOEQwMTFF
RDBDMkRBMDBCMUQ5ODMgLyogQ2FsbGJhY2tSZXN1bHQuaCBpbiBIZWFkZXJzICovLApAQCAtMjcx
NDcsNiArMjcxNjksNyBAQAogCQkJCTJFMzdERkRCMTJEQkFGQjgwMEE2QjIzMyAvKiBET01VUkwu
aCBpbiBIZWFkZXJzICovLAogCQkJCUNEOURFMTgyMTdBQUQ2QTQwMEVBMzg2RCAvKiBET01VUkxN
ZWRpYVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQwM0I5OTcwOUVCMTNBRjAwNzk3QzdG
IC8qIERPTVdpbmRvdy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5RDExRjNEMEYwRTAwRDE1
RTQ3IC8qIERPTVdpbmRvd0NhY2hlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGQTJENzgxNTIx
MzJCMzAwQzFCQTBCIC8qIERPTVdpbmRvd0V4dGVuc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTE4NUZDNzUxQkI0QzRFODAwMTI4OThGIC8qIERPTVdpbmRvd0luZGV4ZWREYXRhYmFzZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTdEMkFEMDQxNEI4MjNBNjAwOTNERjMyIC8qIERPTVdpbmRvd1By
b3BlcnR5LmggaW4gSGVhZGVycyAqLywKQEAgLTI3MjQyLDYgKzI3MjY1LDcgQEAKIAkJCQk4NDcz
MEQ4NTEyNDhGMEIzMDBEM0E5QzkgLyogRkVNb3JwaG9sb2d5LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk4NDczMEQ4NzEyNDhGMEIzMDBEM0E5QzkgLyogRkVPZmZzZXQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTg0NzMwRDg5MTI0OEYwQjMwMEQzQTlDOSAvKiBGRVNwZWN1bGFyTGlnaHRpbmcuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTQxRDEyOURCMUYzRDE0MzgwMEQxNUU0NyAvKiBGZXRjaEhlYWRlcnMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQxNkU2RkU4MUJCRDEyREYwMDBBNjAyMyAvKiBGZXRjaElu
dGVybmFsc0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MUFENzUzQTFDRUY2QkQxMDBB
MzE0ODYgLyogRmV0Y2hPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk3Q0UxOTE0RDFGMkE5
QUZCMDAyNzJGNzggLyogRmV0Y2hSZWZlcnJlclBvbGljeS5oIGluIEhlYWRlcnMgKi8sCkBAIC0y
NzM3NSw3ICsyNzM5OSw2IEBACiAJCQkJMzE2QkRCRjcxRTc2MkFENTAwREUwRDVBIC8qIEdQVURl
cHRoU3RlbmNpbERlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxNkJEQkYwMUU3NjI5
MjAwMERFMEQ1QSAvKiBHUFVEZXB0aFN0ZW5jaWxTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MzE2QkRCODYxRTZFMEEyNzAwREUwRDVBIC8qIEdQVURldmljZS5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJNTFGMTc0RkUxRjM1ODk5MjAwQzc0OTUwIC8qIFdvcmtlclR5cGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTMxNkJEQkNEMUU3NUYxODQwMERFMEQ1QSAvKiBHUFVEcmF3YWJsZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMzE2QkRCRkIxRTc2MkQwNDAwREUwRDVBIC8qIEdQVUVudW1zLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkzMTZCREI5NTFFNzBDODk3MDBERTBENUEgLyogR1BVRnVuY3Rpb24uaCBp
biBIZWFkZXJzICovLApAQCAtMjc0NjMsNyArMjc0ODYsNiBAQAogCQkJCUE4NzFENDVDMEExMjdD
QkMwMEIxMkE2OCAvKiBIVE1MRW1iZWRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzdC
Mzg2QTEyMjg4M0U5MDBCODFGRjggLyogSFRNTEVudGl0eVBhcnNlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTc3QjM4NkMxMjI4ODNFOTAwQjgxRkY4IC8qIEhUTUxFbnRpdHlTZWFyY2guaCBpbiBI
ZWFkZXJzICovLAotCQkJCTUxRjE3NEZGMUYzNTg5OTcwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2Vy
VXBkYXRlVmlhQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3N0IzODZEMTIyODgzRTkwMEI4
MUZGOCAvKiBIVE1MRW50aXR5VGFibGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MTM2OUQ0MDk3
Mzc0RjYwMEQ3NDQ2MyAvKiBIVE1MRmllbGRTZXRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBOENGRjdBNjBBMTU2OTc4MDAwQTQyMzQgLyogSFRNTEZvbnRFbGVtZW50LmggaW4gSGVhZGVy
cyAqLywKQEAgLTI4MjExLDYgKzI4MjMzLDcgQEAKIAkJCQk1MTgyQzI1ODFGMzE0M0NEMDA1OUJB
N0MgLyogSlNTZXJ2aWNlV29ya2VyQ29udGFpbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTgy
QzI1QTFGMzE0M0NEMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxODJDMjVDMUYzMTQzQ0QwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTUxRjE3NTAzMUYzNThCM0IwMEM3
NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOUJEQTY0RDgxQjk3NUNGMjAwOUM0Mzg3IC8qIEpTU2hhZG93Um9vdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDZERkY0OUMxREMyNjIwQjAwQjgwQjQ4IC8qIEpTU2hhZG93Um9vdE1vZGUuaCBp
biBIZWFkZXJzICovLAogCQkJCUNEOURFMTdCMTdBQUM3NUIwMEVBMzg2RCAvKiBKU1NvdXJjZUJ1
ZmZlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODQxMCw3ICsyODQzMyw2IEBACiAJCQkJNkUzRkFE
MzkxNDczM0Y0MDAwRTQyMzA2IC8qIEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTZFRThBNzczMTBGODAzRjMwMDVBNEEyNCAvKiBKU1dlYkdMQ29udGV4
dEF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMkNCRjRFMTQwRjFBQkQwMDM4NzlC
RSAvKiBKU1dlYkdMQ29udGV4dEV2ZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzUwNjFG
MzU4QkY3MDBDNzQ5NTAgLyogSlNXb3JrZXJUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RTNG
QUQzOTE0NzMzRjQwMTFFNDIzMDcgLyogSlNXZWJHTERlYnVnUmVuZGVyZXJJbmZvLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk2RTNGQUQzOTE0NzMzRjQwMjJFNDIzMDcgLyogSlNXZWJHTERlYnVnU2hh
ZGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkUzRkFEMzkxNDczM0Y0MDAwRTQyMzA3IC8qIEpT
V2ViR0xEZXB0aFRleHR1cmUuaCBpbiBIZWFkZXJzICovLApAQCAtMjg0NjgsNiArMjg0OTAsNyBA
QAogCQkJCUUxQzM2RDM1MEVCMEEwOTQwMDc0MTBCQyAvKiBKU1dvcmtlckdsb2JhbFNjb3BlQmFz
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFDMzYyRUYwRUFGMkFBOTAwNzQxMEJDIC8qIEpTV29y
a2VyTG9jYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMjcxQTU4MEVFRUNERTQwMEY2MTIx
MyAvKiBKU1dvcmtlck5hdmlnYXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTFGMTc1MDYxRjM1
OEJGNzAwQzc0OTUwIC8qIEpTV29ya2VyVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M0Qzk2
REQxQUQ0NDgzNTAwMzY1QTYwIC8qIEpTV3JpdGFibGVTdHJlYW0uaCBpbiBIZWFkZXJzICovLAog
CQkJCTgzNThDQjcwMUM1MzI3NzUwMEUwQzJEOCAvKiBKU1hNTERvY3VtZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzM0OEJENDBEQjdGODA0MDA0QUJBQjkgLyogSlNYTUxIdHRwUmVxdWVzdC5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yODY4OSw3ICsyODcxMiw2IEBACiAJCQkJNDEzRTAwNzkxREIw
RTRGMjAwMjM0MUQyIC8qIE1lbW9yeVJlbGVhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5
REZBMDk5RTY0OTIwMDU2RTU4MSAvKiBNZXJnZUlkZW50aWNhbEVsZW1lbnRzQ29tbWFuZC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTFBREVDQ0UwRTc2QUQ4QjAwNEExQTVFIC8qIE1lc3NhZ2VDaGFu
bmVsLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzUwMzFGMzU4QjNCMDBDNzQ5NTAgLyogSlNT
ZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTc1NzkzRTg0
MEQwQ0UwQjMwMDdGQzBBQyAvKiBNZXNzYWdlRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUx
QURFQ0JGMEU3NkFDRjEwMDRBMUE1RSAvKiBNZXNzYWdlUG9ydC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNDFCRjcwMEMwRkU4NkY0OTAwNUU4REVDIC8qIE1lc3NhZ2VQb3J0Q2hhbm5lbC5oIGluIEhl
YWRlcnMgKi8sCkBAIC0yOTM2OCw2ICsyOTM5MCw3IEBACiAJCQkJNTE4MkMyNDExRjMxM0EwOTAw
NTlCQTdDIC8qIFNlcnZpY2VXb3JrZXJDb250YWluZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
ODJDMjQzMUYzMTNBMDkwMDU5QkE3QyAvKiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxODJDMjQ1MUYzMTNBMDkwMDU5QkE3QyAvKiBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MUYxNzRGRjFGMzU4OTk3MDBDNzQ5
NTAgLyogU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3
NTZCMkNFMTE4QjcxMDE2MDBGRUNGQUEgLyogU2Vzc2lvbklELmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5MzMwOUUxMDA5OUU2NDkyMDA1NkU1ODEgLyogU2V0Tm9kZUF0dHJpYnV0ZUNvbW1hbmQuaCBp
biBIZWFkZXJzICovLAogCQkJCUI4REJEQjRDMTMwQjBGOEEwMEY1Q0RCMSAvKiBTZXRTZWxlY3Rp
b25Db21tYW5kLmggaW4gSGVhZGVycyAqLywKQEAgLTMwMTUyLDYgKzMwMTc1LDcgQEAKIAkJCQlB
NTJBNjg2NjFEQkQ0QjVEMDA4MzM3M0YgLyogV29ya2VyRGVidWdnZXJBZ2VudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTNFMjY0MzExNDc0ODk5MTAwNUE4NTg4IC8qIFdvcmtlckV2ZW50UXVldWUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjQ5MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJH
bG9iYWxTY29wZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5Q0UxRjNEMEVGNjAwRDE1RTQ3
IC8qIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTg1RkNC
NDFCQjRDNEU4MDAxMjg5OEYgLyogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuaCBp
biBIZWFkZXJzICovLAogCQkJCTJFNDM0NjRCMEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJHbG9i
YWxTY29wZVByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTRBMEM2MjFEQjdGOEMxMDAxN0E5
MEIgLyogV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDE3
Myw2ICszMDE5Nyw3IEBACiAJCQkJMEI5MDU2RjkwRjI2ODVGMzAwOTVGRjZBIC8qIFdvcmtlclRo
cmVhZGFibGVMb2FkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUFCRDJEMTRGQTA5RDUwMDc0
NTdBRSAvKiBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTU0QTBDNjgxREI4MDdEOTAwMTdBOTBCIC8qIFdvcmtlclRvUGFnZUZyb250ZW5kQ2hh
bm5lbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTFGMTc0RkUxRjM1ODk5MjAwQzc0OTUwIC8qIFdv
cmtlclR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5RTI0MDk5RTY0OTIwMDU2RTU4MSAv
KiBXcmFwQ29udGVudHNJbkR1bW15U3BhbkNvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQx
NkU2RkU5MUJCRDEyRTUwMDBBNjA1MyAvKiBXcml0YWJsZVN0cmVhbUJ1aWx0aW5zLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0MTZFNkZFODFCQkQxMkRGMDAwQTYwNTMgLyogV3JpdGFibGVTdHJlYW1J
bnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDc2Myw2ICszMDc4OCw3IEBA
CiAJCQkJMDc1Mzg2MDIxNDQ4OUU5ODAwQjc4NDUyIC8qIENhY2hlZFRleHRUcmFjay5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlCQ0IxNkMyNzA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5
bGVTaGVldC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MTM4MEMyODFGMzQzNkFDMDAxNTVGREEg
LyogQ2FjaGVTdG9yYWdlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxRDEyOUNGMUYzRDBFRkUw
MEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUU0M0FGOEU2MUFDNUI3RTgwMENBNzE3RSAvKiBDYWNoZVZhbGlkYXRpb24uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNDlBRTJEOTYxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGN1bGF0aW9uVmFsdWUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTUyMDc2MDQxRjI2NzVGRTAwN0QyQUFCIC8qIENhbGxU
cmFjZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMjA0NCw3ICszMjA3MCw2IEBACiAJCQkJMTJB
MjUzRTAxQzhGRkY2NjAwQzIyMjk1IC8qIEpTS2V5ZnJhbWVFZmZlY3QuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJOTM1RjQ1NDIwRjdDM0I1RjAwRDdDMUZCIC8qIEpTTGF6eUV2ZW50TGlzdGVuZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFMUM0M0IwRDk4MzBEMzAwM0IwMkYyIC8qIEpTTG9j
YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTFGMTc1MDcxRjM1OEJGOTAwQzc0OTUwIC8q
IEpTV29ya2VyVHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0UxQzQ0MDBEOTgzMEY0MDAz
QjAyRjIgLyogSlNMb2NhdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0E4MDYx
RjFFMDNCNTg1MDA4QTFGMjYgLyogSlNMb25nUmFuZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
OEZBQzc3NEQxMTk4NzJDQjAwMTVBRTk0IC8qIEpTTWFpblRocmVhZEV4ZWNTdGF0ZS5jcHAgaW4g
U291cmNlcyAqLywKQEAgLTMyMjAxLDYgKzMyMjI2LDcgQEAKIAkJCQk1MTgyQzI1NzFGMzE0M0NE
MDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTUxODJDMjU5MUYzMTQzQ0QwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29w
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTgyQzI1QjFGMzE0M0NEMDA1OUJBN0MgLyogSlNT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRjE3NTAy
MUYzNThCM0IwMEM3NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk5QkRBNjRENzFCOTc1Q0U1MDA5QzQzODcgLyogSlNTaGFkb3dSb290
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ2REZGNDlCMURDMjYyMEIwMEI4MEI0OCAvKiBKU1No
YWRvd1Jvb3RNb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNEOURFMTdBMTdBQUM3NUIwMEVB
Mzg2RCAvKiBKU1NvdXJjZUJ1ZmZlci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMyNDgzLDYgKzMy
NTA5LDcgQEAKIAkJCQlFMTgyNThBQzBFRjNDRDcwMDA5MzMyNDIgLyogSlNXb3JrZXJHbG9iYWxT
Y29wZUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUMzNjJGMDBFQUYyQUE5MDA3NDEw
QkMgLyogSlNXb3JrZXJMb2NhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTI3MUE1OTBF
RUVDREU0MDBGNjEyMTMgLyogSlNXb3JrZXJOYXZpZ2F0b3IuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJNTFGMTc1MDcxRjM1OEJGOTAwQzc0OTUwIC8qIEpTV29ya2VyVHlwZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk3QzRDOTZEQzFBRDQ0ODM1MDAzNjVBNjAgLyogSlNXcml0YWJsZVN0cmVhbS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk4MzU4Q0I2RjFDNTMyNzcyMDBFMEMyRDggLyogSlNYTUxE
b2N1bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4M0E0QTlGOTFDRTdGRDgxMDA3MDlCMDAg
LyogSlNYTUxEb2N1bWVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMzNjgwLDcgKzMz
NzA3LDYgQEAKIAkJCQk3QUY5QjIwMjE4Q0ZCMkRGMDBDNjRCRUYgLyogVlRUUmVnaW9uLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTdBRjlCMjA1MThDRkIyREYwMEM2NEJFRiAvKiBWVFRSZWdpb25M
aXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBOTM4Njg1MThEQ0MxNDUwMEI4MjYzRCAvKiBW
VFRTY2FubmVyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxRjE3NTAyMUYzNThCM0IwMEM3NDk1
MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBMTQ4MzJCMTE4N0Y2MUUxMDBEQTYzQTYgLyogV0FLQXBwS2l0U3R1YnMubSBpbiBTb3VyY2Vz
ICovLAogCQkJCUExNDgzMkIzMTg3RjYyOTEwMERBNjNBNiAvKiBXQUtDbGlwVmlldy5tIGluIFNv
dXJjZXMgKi8sCiAJCQkJQTE0ODMyQjUxODdGNjJGQzAwREE2M0E2IC8qIFdBS1Jlc3BvbmRlci5t
IGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9X
ZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3Jl
QnVpbHRpbk5hbWVzLmgKaW5kZXggMDlmZTgxYmE0N2NhNTNjODc3NWNiNjYyN2E3NmQzYjNlMjYy
NzllYi4uNzIyZWEyZTQ4ZTFmMzNlMjM2MGJkYjYwMDU2YzAwMmY5YzRiNDI3NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAtMzgs
NiArMzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oYmFja2luZ01hcCkgXAog
ICAgIG1hY3JvKGJvZHkpIFwKICAgICBtYWNybyhieW9iUmVxdWVzdCkgXAorICAgIG1hY3JvKGNh
Y2hlTWFwKSBcCisgICAgbWFjcm8oY2FjaGVOYW1lKSBcCiAgICAgbWFjcm8oY2FuY2VsKSBcCiAg
ICAgbWFjcm8oY2xvbmVBcnJheUJ1ZmZlcikgXAogICAgIG1hY3JvKGNsb25lRm9ySlMpIFwKQEAg
LTYzLDYgKzY1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKGxvY2FsU3RyZWFt
cykgXAogICAgIG1hY3JvKG1ha2VUaGlzVHlwZUVycm9yKSBcCiAgICAgbWFjcm8obWFrZUdldHRl
clR5cGVFcnJvcikgXAorICAgIG1hY3JvKG1hdGNoQWxsKSBcCiAgICAgbWFjcm8obWVkaWFTdHJl
YW1UcmFja0NvbnN0cmFpbnRzKSBcCiAgICAgbWFjcm8ob3BlcmF0aW9ucykgXAogICAgIG1hY3Jv
KG93bmVyUmVhZGFibGVTdHJlYW0pIFwKQEAgLTExMyw2ICsxMTYsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgbWFjcm8odmlldykgXAogICAgIG1hY3JvKHdlYlJUQ0xlZ2FjeUFQSUVuYWJs
ZWQpIFwKICAgICBtYWNybyh3cml0aW5nKSBcCisgICAgbWFjcm8oQ2FjaGUpIFwKKyAgICBtYWNy
byhDYWNoZVN0b3JhZ2UpIFwKICAgICBtYWNybyhIZWFkZXJzKSBcCiAgICAgbWFjcm8oTWVkaWFT
dHJlYW0pIFwKICAgICBtYWNybyhNZWRpYVN0cmVhbVRyYWNrKSBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKaW5kZXggNjZjN2YwOGYwZjI4YjA0NmJi
NGMzNWU4ZTliZjE5ZmJkZjJhYmM1NS4uMmE4MTNiNmExMjBkZjM1OGYwOGJkMjcxOGM5NjU3MzQz
MDFkZWY0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92
ZXJsYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5
LmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIklu
c3BlY3Rvck92ZXJsYXkuaCIKIAorI2luY2x1ZGUgIkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCiAj
aW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJFZGl0b3JDbGllbnQuaCIKICNp
bmNsdWRlICJFbGVtZW50LmgiCkBAIC04NjUsNyArODY2LDggQEAgUGFnZSogSW5zcGVjdG9yT3Zl
cmxheTo6b3ZlcmxheVBhZ2UoKQogICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0
aW9uKAogICAgICAgICBjcmVhdGVFbXB0eUVkaXRvckNsaWVudCgpLAogICAgICAgICBTb2NrZXRQ
cm92aWRlcjo6Y3JlYXRlKCksCi0gICAgICAgIG1ha2VVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlk
ZXI+KCkKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4oKSwKKyAgICAg
ICAgQ2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpCiAgICAgKTsKICAgICBmaWxsV2l0aEVt
cHR5Q2xpZW50cyhwYWdlQ29uZmlndXJhdGlvbik7CiAgICAgbV9vdmVybGF5UGFnZSA9IHN0ZDo6
bWFrZV91bmlxdWU8UGFnZT4oV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbikpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZldGNoT3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ZldGNoT3B0aW9ucy5oCmluZGV4IDdlMWE4MzczOGQyMzk3ZjI0ZDcyNGNkMDEyNjY2
N2ZhNjA0ZTE4YjguLjgxZDdmYzMwZWQ0ZGU4MzA5MzRkNTI2MjcxODkwMzg3OTJiMTRjOWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GZXRjaE9wdGlvbnMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRmV0Y2hPcHRpb25zLmgKQEAgLTM0LDYgKzM0LDggQEAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IEZldGNoT3B0aW9ucyB7CisgICAgRmV0Y2hPcHRpb25z
IGlzb2xhdGVkQ29weSgpIGNvbnN0IHsgcmV0dXJuIEZldGNoT3B0aW9ucyB7IHR5cGUsIGRlc3Rp
bmF0aW9uLCBtb2RlLCBjcmVkZW50aWFscywgY2FjaGUsIHJlZGlyZWN0LCByZWZlcnJlclBvbGlj
eSwgaW50ZWdyaXR5Lmlzb2xhdGVkQ29weSgpLCBrZWVwQWxpdmUgfTsgfQorCiAgICAgZW51bSBj
bGFzcyBUeXBlIHsgRW1wdHlTdHJpbmcsIEF1ZGlvLCBGb250LCBJbWFnZSwgU2NyaXB0LCBTdHls
ZSwgVHJhY2ssIFZpZGVvIH07CiAgICAgVHlwZSB0eXBlIHsgVHlwZTo6RW1wdHlTdHJpbmcgfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYWNoZVN0b3JhZ2VQcm92aWRlci5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYWNoZVN0b3JhZ2VQcm92aWRlci5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjAwYmYxZGM1Y2QxZjhmYmNjNjYxY2YxZDZjMDBhNGE4Y2MyYzg4YWIKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhY2hlU3RvcmFnZVByb3ZpZGVyLmgKQEAgLTAsMCAr
MSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIlNlc3Npb25JRC5oIgorI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV0VCQ09SRV9FWFBP
UlQgQ2FjaGVTdG9yYWdlUHJvdmlkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxDYWNoZVN0b3JhZ2VQ
cm92aWRlcj4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+
IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2FjaGVTdG9yYWdlUHJvdmlkZXIpOyB9
CisgICAgdmlydHVhbCBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4gY3JlYXRlQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbihTZXNzaW9uSUQpIHsgcmV0dXJuIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246
OmNyZWF0ZSgpOyB9CisgICAgdmlydHVhbCB+Q2FjaGVTdG9yYWdlUHJvdmlkZXIoKSB7IH07Cit9
OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCBjMjY5ODdmOGRjYjJlOWU5NjA2ZGFhOTcyZDJj
ZmNjN2JlY2M1ZmI3Li43MDQxZjFjZjI5NTk1NGVhZmYwNGQ2YjhhNjE2NGY4ZmFhYzBkNjc2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJCYWNrRm9yd2Fy
ZENsaWVudC5oIgogI2luY2x1ZGUgIkJhY2tGb3J3YXJkQ29udHJvbGxlci5oIgogI2luY2x1ZGUg
IkNTU0FuaW1hdGlvbkNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VQcm92aWRl
ci5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2lu
Y2x1ZGUgIkNvbnN0YW50UHJvcGVydHlNYXAuaCIKQEAgLTIyMiw2ICsyMjMsNyBAQCBQYWdlOjpQ
YWdlKFBhZ2VDb25maWd1cmF0aW9uJiYgcGFnZUNvbmZpZ3VyYXRpb24pCiAjZW5kaWYKICAgICAs
IG1fc29ja2V0UHJvdmlkZXIoV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi5zb2NrZXRQcm92aWRl
cikpCiAgICAgLCBtX2FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlKCpXVEZNb3ZlKHBhZ2VDb25maWd1
cmF0aW9uLmFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlKSkKKyAgICAsIG1fY2FjaGVTdG9yYWdlUHJv
dmlkZXIoV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi5jYWNoZVN0b3JhZ2VQcm92aWRlcikpCiAg
ICAgLCBtX2RhdGFiYXNlUHJvdmlkZXIoKldURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uZGF0YWJh
c2VQcm92aWRlcikpCiAgICAgLCBtX3BsdWdpbkluZm9Qcm92aWRlcigqV1RGTW92ZShwYWdlQ29u
ZmlndXJhdGlvbi5wbHVnaW5JbmZvUHJvdmlkZXIpKQogICAgICwgbV9zdG9yYWdlTmFtZXNwYWNl
UHJvdmlkZXIoKldURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uc3RvcmFnZU5hbWVzcGFjZVByb3Zp
ZGVyKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggOTA5ZjM3OTAyZDMzZTFkMGVmM2U1YTliNGY2NGJhYjRk
ZmE1ZmYwYi4uNWZjODljZGM1OTJjOTQ5ZWIxOGQ5Y2VhMTdmNjFmYmNkMzU1MTIwMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmgKQEAgLTc3LDYgKzc3LDcgQEAgY2xhc3MgQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Owog
Y2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7CiBjbGFzcyBCYWNrRm9yd2FyZENvbnRyb2xs
ZXI7CiBjbGFzcyBCYWNrRm9yd2FyZENsaWVudDsKK2NsYXNzIENhY2hlU3RvcmFnZVByb3ZpZGVy
OwogY2xhc3MgQ2hyb21lOwogY2xhc3MgQ2hyb21lQ2xpZW50OwogY2xhc3MgQ29sb3I7CkBAIC01
MTAsNiArNTExLDcgQEAgcHVibGljOgogCiAgICAgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UmIGFw
cGxpY2F0aW9uQ2FjaGVTdG9yYWdlKCkgeyByZXR1cm4gbV9hcHBsaWNhdGlvbkNhY2hlU3RvcmFn
ZTsgfQogICAgIERhdGFiYXNlUHJvdmlkZXImIGRhdGFiYXNlUHJvdmlkZXIoKSB7IHJldHVybiBt
X2RhdGFiYXNlUHJvdmlkZXI7IH0KKyAgICBDYWNoZVN0b3JhZ2VQcm92aWRlciYgY2FjaGVTdG9y
YWdlUHJvdmlkZXIoKSB7IHJldHVybiBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyOyB9CiAgICAgU29j
a2V0UHJvdmlkZXImIHNvY2tldFByb3ZpZGVyKCkgeyByZXR1cm4gbV9zb2NrZXRQcm92aWRlcjsg
fQogCiAgICAgU3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyJiBzdG9yYWdlTmFtZXNwYWNlUHJvdmlk
ZXIoKSB7IHJldHVybiBtX3N0b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5nZXQoKTsgfQpAQCAtNzg0
LDYgKzc4Niw3IEBAIHByaXZhdGU6CiAKICAgICBSZWY8U29ja2V0UHJvdmlkZXI+IG1fc29ja2V0
UHJvdmlkZXI7CiAgICAgUmVmPEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlPiBtX2FwcGxpY2F0aW9u
Q2FjaGVTdG9yYWdlOworICAgIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4gbV9jYWNoZVN0b3Jh
Z2VQcm92aWRlcjsKICAgICBSZWY8RGF0YWJhc2VQcm92aWRlcj4gbV9kYXRhYmFzZVByb3ZpZGVy
OwogICAgIFJlZjxQbHVnaW5JbmZvUHJvdmlkZXI+IG1fcGx1Z2luSW5mb1Byb3ZpZGVyOwogICAg
IFJlZjxTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI+IG1fc3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVy
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcAppbmRleCAxMTIzZGQ2
ZDQwNWE5NDgxM2E0YTc4NzQyYzdkNjZkMmNmMWJlZTdjLi5mMWI4MjdkY2ZiYWFlNmU2YzhkY2Nh
ZDlkMThkNDkzNzlkYzk1MWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VD
b25maWd1cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0
aW9uLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZVN0
b3JhZ2UuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZENsaWVudC5oIgorI2luY2x1ZGUgIkNhY2hl
U3RvcmFnZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VQcm92aWRlci5oIgogI2luY2x1
ZGUgIkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgiCiAjaW5jbHVkZSAiRWRpdG9yQ2xpZW50Lmgi
CkBAIC00MywxMCArNDQsMTEgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYWdlQ29uZmln
dXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24oVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiBlZGl0
b3JDbGllbnQsIFJlZjxTb2NrZXRQcm92aWRlcj4mJiBzb2NrZXRQcm92aWRlciwgVW5pcXVlUmVm
PExpYldlYlJUQ1Byb3ZpZGVyPiYmIGxpYldlYlJUQ1Byb3ZpZGVyKQorUGFnZUNvbmZpZ3VyYXRp
b246OlBhZ2VDb25maWd1cmF0aW9uKFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYgZWRpdG9yQ2xp
ZW50LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYgc29ja2V0UHJvdmlkZXIsIFVuaXF1ZVJlZjxMaWJX
ZWJSVENQcm92aWRlcj4mJiBsaWJXZWJSVENQcm92aWRlciwgUmVmPENhY2hlU3RvcmFnZVByb3Zp
ZGVyPiYmIGNhY2hlU3RvcmFnZVByb3ZpZGVyKQogICAgIDogZWRpdG9yQ2xpZW50KFdURk1vdmUo
ZWRpdG9yQ2xpZW50KSkKICAgICAsIHNvY2tldFByb3ZpZGVyKFdURk1vdmUoc29ja2V0UHJvdmlk
ZXIpKQogICAgICwgbGliV2ViUlRDUHJvdmlkZXIoV1RGTW92ZShsaWJXZWJSVENQcm92aWRlcikp
CisgICAgLCBjYWNoZVN0b3JhZ2VQcm92aWRlcihXVEZNb3ZlKGNhY2hlU3RvcmFnZVByb3ZpZGVy
KSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJh
dGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oCmluZGV4IGY1
M2ExMmMzODdlYWZiNDA0ZjJhMDY2NjAyNzU5ZWM5YTdmYzBmNWYuLmE4NjJkNDMwMmUwMzY0NjRm
OTEwYTU3YjAxZDc3YjY0Y2M2ZWY0MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1
cmF0aW9uLmgKQEAgLTM0LDYgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWx0
ZXJuYXRpdmVUZXh0Q2xpZW50OwogY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7CiBjbGFz
cyBCYWNrRm9yd2FyZENsaWVudDsKK2NsYXNzIENhY2hlU3RvcmFnZVByb3ZpZGVyOwogY2xhc3Mg
Q2hyb21lQ2xpZW50OwogY2xhc3MgQ29udGV4dE1lbnVDbGllbnQ7CiBjbGFzcyBEYXRhYmFzZVBy
b3ZpZGVyOwpAQCAtNTgsNyArNTksNyBAQCBjbGFzcyBXZWJHTFN0YXRlVHJhY2tlcjsKIGNsYXNz
IFBhZ2VDb25maWd1cmF0aW9uIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlQ29uZmln
dXJhdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFdFQkNPUkVf
RVhQT1JUIFBhZ2VDb25maWd1cmF0aW9uKFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYsIFJlZjxT
b2NrZXRQcm92aWRlcj4mJiwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCBQYWdlQ29uZmlndXJhdGlvbihVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYm
LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJiwg
UmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB+UGFnZUNv
bmZpZ3VyYXRpb24oKTsKIAogICAgIEFsdGVybmF0aXZlVGV4dENsaWVudCogYWx0ZXJuYXRpdmVU
ZXh0Q2xpZW50IHsgbnVsbHB0ciB9OwpAQCAtODcsNiArODgsNyBAQCBwdWJsaWM6CiAKICAgICBS
ZWZQdHI8QXBwbGljYXRpb25DYWNoZVN0b3JhZ2U+IGFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwog
ICAgIFJlZlB0cjxEYXRhYmFzZVByb3ZpZGVyPiBkYXRhYmFzZVByb3ZpZGVyOworICAgIFJlZjxD
YWNoZVN0b3JhZ2VQcm92aWRlcj4gY2FjaGVTdG9yYWdlUHJvdmlkZXI7CiAgICAgUmVmUHRyPFBs
dWdpbkluZm9Qcm92aWRlcj4gcGx1Z2luSW5mb1Byb3ZpZGVyOwogICAgIFJlZlB0cjxTdG9yYWdl
TmFtZXNwYWNlUHJvdmlkZXI+IHN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjsKICAgICBSZWZQdHI8
VXNlckNvbnRlbnRQcm92aWRlcj4gdXNlckNvbnRlbnRQcm92aWRlcjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCmluZGV4IDc4NmU4ZjdhN2JjYTYwODA5YTU1NWI2NWY4
MzVjMmE1MGEwMDgyZTguLjgyNTliMmY4ZTI4NjYzYjIxN2NkZWEwNGMyZjhlYzM4MzdjZDc4ZjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcApAQCAtMjgsNiArMjgs
NyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNWR0ltYWdlLmgiCiAKKyNpbmNs
dWRlICJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1
ZGUgIkNvbW1vblZNLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCkBAIC00MjksNyArNDMwLDgg
QEAgRW5jb2RlZERhdGFTdGF0dXMgU1ZHSW1hZ2U6OmRhdGFDaGFuZ2VkKGJvb2wgYWxsRGF0YVJl
Y2VpdmVkKQogICAgICAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbigKICAg
ICAgICAgICAgIGNyZWF0ZUVtcHR5RWRpdG9yQ2xpZW50KCksCiAgICAgICAgICAgICBTb2NrZXRQ
cm92aWRlcjo6Y3JlYXRlKCksCi0gICAgICAgICAgICBtYWtlVW5pcXVlUmVmPExpYldlYlJUQ1By
b3ZpZGVyPigpCisgICAgICAgICAgICBtYWtlVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPigp
LAorICAgICAgICAgICAgQ2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpCiAgICAgICAgICk7
CiAgICAgICAgIGZpbGxXaXRoRW1wdHlDbGllbnRzKHBhZ2VDb25maWd1cmF0aW9uKTsKICAgICAg
ICAgbV9jaHJvbWVDbGllbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPFNWR0ltYWdlQ2hyb21lQ2xpZW50
Pih0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CmluZGV4IDMzNGY2NjhiNzczYzg2YmIyZTE1NGM1NjRl
OGM0OWJmODBiYzc2NjQuLjZhYTg1NmRhYzU5MzUxMWJmYTczNzQyODQyYzRlNGUwYjVkOGFmMGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dl
YktpdC9DTWFrZUxpc3RzLnR4dApAQCAtNTIsNiArNTIsNyBAQCBzZXQoV2ViS2l0Ml9JTkNMVURF
X0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvQXBwbGVQYXkiCiAg
ICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvQXBwbGljYXRpb25DYWNoZSIKICAgICAiJHtX
RUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9BdXRvbWF0aW9uIgorICAgICIke1dFQktJVDJfRElSfS9X
ZWJQcm9jZXNzL0NhY2hlIgogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0Nvb2tpZXMi
CiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvRGF0YWJhc2VzIgogICAgICIke1dFQktJ
VDJfRElSfS9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0ZTNjMjM0ZTg1ZmI3NWQy
ZTIwZTcxZWYzMWVhZjI0NWRkNjVlZDExLi4zNGUzY2EyYTgyNDIwYTU5OTZhZWZhYzQzZGNjNjVm
YmVmYTBjYzIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTg5MSw2ICs4OTEsNyBAQAogCQk0MTMwNzVCMjFERTg1RjU4MDAzOUVDNjkg
LyogTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTYxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Nv
Y2tldEZhY3RvcnkuaCAqLzsgfTsKIAkJNDEzMDc1QjMxREU4NUY1ODAwMzlFQzY5IC8qIExpYldl
YlJUQ1Byb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxMzA3NUE3MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5jcHAg
Ki87IH07CiAJCTQxMzA3NUI0MURFODVGNTgwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTgx
REU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmggKi87IH07CisJCTQxRDEyOURB
MUYzRDEwMTgwMEQxNUU0NyAvKiBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMTI5RDkxRjNEMTAxNDAwRDE1
RTQ3IC8qIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmggKi87IH07CiAJCTQxREM0NTk2MUUzRDZF
MjIwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxREM0NTk0MUUzRDZFMUUwMEIxMUY1MSAvKiBOZXR3
b3JrUlRDUHJvdmlkZXIuaCAqLzsgfTsKIAkJNDFEQzQ1OTcxRTNENkUyMjAwQjExRjUxIC8qIE5l
dHdvcmtSVENQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MURDNDU5NTFFM0Q2RTFFMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVy
LmNwcCAqLzsgfTsKIAkJNDFEQzQ1OUIxRTNEQkIyODAwQjExRjUxIC8qIExpYldlYlJUQ1NvY2tl
dENsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MURDNDU5OTFFM0RCQjI0MDBCMTFGNTEgLyogTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcCAq
LzsgfTsKQEAgLTMxNDAsNiArMzE0MSw3IEBACiAJCTQxMzA3NUE3MURFODVFRTcwMDM5RUM2OSAv
KiBMaWJXZWJSVENQcm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxp
bmVFbmRpbmcgPSAwOyBuYW1lID0gTGliV2ViUlRDUHJvdmlkZXIuY3BwOyBwYXRoID0gTmV0d29y
ay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4
Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKIAkJ
NDEzMDc1QTgxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbGluZUVuZGluZyA9IDA7IG5hbWUgPSBMaWJXZWJSVENQcm92aWRl
ci5oOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUu
bGFuZy5vYmpjcHA7IH07CiAJCTQxQUM4NjgxMUUwNDJFNTMwMDMwMzA3NCAvKiBXZWJSVENSZXNv
bHZlci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0g
V2ViUlRDUmVzb2x2ZXIubWVzc2FnZXMuaW47IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJSVENS
ZXNvbHZlci5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNw
ZWNpZmljYXRpb25JZGVudGlmaWVyID0gIjxub25lPiI7IH07CisJCTQxRDEyOUQ5MUYzRDEwMTQw
MEQxNUU0NyAvKiBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJD
YWNoZVN0b3JhZ2VQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MURD
NDU5NDFFM0Q2RTFFMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtSVENQcm92aWRlci5oOyBwYXRoID0gTmV0d29y
a1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MURDNDU5NTFFM0Q2RTFFMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtSVENQcm92
aWRlci5jcHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFEQzQ1OTgxRTNENkVENjAwQjEx
RjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5h
bWUgPSBOZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW47IHBhdGggPSBOZXR3b3JrUHJvY2Vz
cy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtNTkwOCw2ICs1OTEwLDE0IEBACiAJCQluYW1lID0gd2VicnRjOwogCQkJ
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJNDFEMTI5RDgxRjNEMTAxNDAwRDE1RTQ3
IC8qIENhY2hlICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJ
CQk0MUQxMjlEOTFGM0QxMDE0MDBEMTVFNDcgLyogV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAq
LywKKwkJCSk7CisJCQlwYXRoID0gQ2FjaGU7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwor
CQl9OwogCQk0NDUwQUVCRTFEQzNGQUFDMDA5OTQzRjIgLyogY29jb2EgKi8gPSB7CiAJCQlpc2Eg
PSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtNjU4Niw2ICs2NTk2LDcgQEAKIAkJCWNo
aWxkcmVuID0gKAogCQkJCTFBQjFGNzcwMUQxQjJGNUQwMDdDOUJEMSAvKiBBcHBsZVBheSAqLywK
IAkJCQkxQzBBMTk0MzFDOEZGMUE4MDBGRTBFQkIgLyogQXV0b21hdGlvbiAqLywKKwkJCQk0MUQx
MjlEODFGM0QxMDE0MDBEMTVFNDcgLyogQ2FjaGUgKi8sCiAJCQkJN0M2RTcwRjgxOEIyRDQ3RTAw
RjI0RTJFIC8qIGNvY29hICovLAogCQkJCTMzMDkzNDRCMTMxNUI5M0EwMDk3QTdCQyAvKiBDb29r
aWVzICovLAogCQkJCTUxMkE5NzU0MTgwREY5MjcwMDM5QTE0OSAvKiBEYXRhYmFzZXMgKi8sCkBA
IC04NjgzLDYgKzg2OTQsNyBAQAogCQkJCUJDNzJCQTFFMTFFNjQ5MDcwMDFFQjRFQSAvKiBXZWJC
YWNrRm9yd2FyZExpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxOEQyQ0FFMTJENTE1M0IwMDNC
QjkzQiAvKiBXZWJCYWNrRm9yd2FyZExpc3RJdGVtLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzcy
QjlGQjExRTY0NzZCMDAxRUI0RUEgLyogV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTQxRDEyOURBMUYzRDEwMTgwMEQxNUU0NyAvKiBXZWJDYWNoZVN0b3JhZ2VQ
cm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNGNTA3MjgxMjQzMjlBQTAwNTk1NUFFIC8q
IFdlYkNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwMzJENzUxMEY0Mzc4
RDAwNThDMTVBIC8qIFdlYkNocm9tZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJM0Y4N0I5
QkUxNTg5NDAxOTAwOTBGRjYyIC8qIFdlYkNvbG9yQ2hvb3Nlci5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQ2FjaGUvV2ViQ2FjaGVTdG9yYWdl
UHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9DYWNoZS9XZWJDYWNoZVN0b3Jh
Z2VQcm92aWRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0MjIxNmEyMDg2Y2U2ODgwZTBlMzhjMTZkYTk4NWI4
N2UwNjY3ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQ2Fj
aGUvV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaApAQCAtMCwwICsxLDM3IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDxXZWJDb3JlL0NhY2hlU3RvcmFnZVByb3ZpZGVy
Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJDYWNoZVN0b3JhZ2VQcm92aWRl
ciBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpDYWNoZVN0b3JhZ2VQcm92aWRlciB7CitwdWJsaWM6
CisgICAgc3RhdGljIFJlZjxXZWJDYWNoZVN0b3JhZ2VQcm92aWRlcj4gY3JlYXRlKCkgeyByZXR1
cm4gYWRvcHRSZWYoKm5ldyBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlcik7IH0KK307CisKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMjVjNzUz
ZmE5YTk3NGJmYTlmZWFkMzZmZGMzODlhMGJkOWMwYTEyYy4uMDRmYzYxNTMzZDkxYTIwZWI4ZGFl
NzUxMjZkNzkzM2YwODI4Y2JiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKQEAgLTY4LDYgKzY4LDcgQEAKICNpbmNsdWRlICJXZWJBbHRlcm5hdGl2
ZVRleHRDbGllbnQuaCIKICNpbmNsdWRlICJXZWJCYWNrRm9yd2FyZExpc3RJdGVtLmgiCiAjaW5j
bHVkZSAiV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaCIKKyNpbmNsdWRlICJXZWJDYWNoZVN0b3Jh
Z2VQcm92aWRlci5oIgogI2luY2x1ZGUgIldlYkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIldl
YkNvbG9yQ2hvb3Nlci5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51LmgiCkBAIC0zNzEsNyAr
MzcyLDggQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlv
blBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25m
aWd1cmF0aW9uKAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkVkaXRvckNsaWVudD4odGhpcyks
CiAgICAgICAgIFdlYlNvY2tldFByb3ZpZGVyOjpjcmVhdGUoKSwKLSAgICAgICAgbWFrZVVuaXF1
ZVJlZjxXZWJLaXQ6OkxpYldlYlJUQ1Byb3ZpZGVyPigpCisgICAgICAgIG1ha2VVbmlxdWVSZWY8
V2ViS2l0OjpMaWJXZWJSVENQcm92aWRlcj4oKSwKKyAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkuY2FjaGVTdG9yYWdlUHJvdmlkZXIoKQogICAgICk7CiAgICAgcGFnZUNvbmZpZ3VyYXRp
b24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudCgqdGhpcyk7CiAjaWYgRU5BQkxF
KENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5k
ZXggOWQxNmI1MDc3ODI1MjQwYTg1YzQ1ZGNkNGM5OGMwMWI1MmE5OWM1Yi4uZDA3NDRjMTMxNDQw
NmM0Njc1Mjg4YTkyN2ZhYTFjMDI4NGQzMzUyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgIlN0YXRpc3RpY3NEYXRh
LmgiCiAjaW5jbHVkZSAiVXNlckRhdGEuaCIKICNpbmNsdWRlICJXZWJBdXRvbWF0aW9uU2Vzc2lv
blByb3h5LmgiCisjaW5jbHVkZSAiV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRl
ICJXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3MuaCIKICNpbmNsdWRlICJXZWJDb29raWVNYW5hZ2Vy
LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCkBAIC0xNTksNiArMTYwLDcg
QEAgV2ViUHJvY2Vzczo6V2ViUHJvY2VzcygpCiAjZW5kaWYKICAgICAsIG1fd2ViSW5zcGVjdG9y
SW50ZXJydXB0RGlzcGF0Y2hlcihXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyOjpjcmVh
dGUoKSkKICAgICAsIG1fd2ViTG9hZGVyU3RyYXRlZ3koKm5ldyBXZWJMb2FkZXJTdHJhdGVneSkK
KyAgICAsIG1fY2FjaGVTdG9yYWdlUHJvdmlkZXIoV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNy
ZWF0ZSgpKQogICAgICwgbV9kbnNQcmVmZXRjaEh5c3RlcmVyaXMoW3RoaXNdKEh5c3RlcmVzaXNT
dGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gSHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVkKSBtX2Ru
c1ByZWZldGNoZWRIb3N0cy5jbGVhcigpOyB9KQogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5f
QVBJKQogICAgICwgbV9wbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIoUGx1Z2luUHJvY2Vz
c0Nvbm5lY3Rpb25NYW5hZ2VyOjpjcmVhdGUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5oCmluZGV4IGNmMmFiODEzYjM3OTAzNzNiMmRhMGZhNmZhYmY3YmFjNDdiMmY0OTcuLjEy
M2M0YmIxOThjYWY3MGNkOTc2ZjY5NTk5Zjc3NzkwYjFkMGJiNzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtODAsNiArODAsNyBAQCBjbGFzcyBPYmpDT2JqZWN0R3Jh
cGg7CiBjbGFzcyBVc2VyRGF0YTsKIGNsYXNzIFdheWxhbmRDb21wb3NpdG9yRGlzcGxheTsKIGNs
YXNzIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk7CitjbGFzcyBXZWJDYWNoZVN0b3JhZ2VQcm92
aWRlcjsKIGNsYXNzIFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2VzczsKIGNsYXNzIFdlYkZyYW1lOwog
Y2xhc3MgV2ViTG9hZGVyU3RyYXRlZ3k7CkBAIC0yMjIsNiArMjIzLDggQEAgcHVibGljOgogCiAg
ICAgV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eSogYXV0b21hdGlvblNlc3Npb25Qcm94eSgpIHsg
cmV0dXJuIG1fYXV0b21hdGlvblNlc3Npb25Qcm94eS5nZXQoKTsgfQogCisgICAgV2ViQ2FjaGVT
dG9yYWdlUHJvdmlkZXImIGNhY2hlU3RvcmFnZVByb3ZpZGVyKCkgeyByZXR1cm4gbV9jYWNoZVN0
b3JhZ2VQcm92aWRlci5nZXQoKTsgfQorCiBwcml2YXRlOgogICAgIFdlYlByb2Nlc3MoKTsKICAg
ICB+V2ViUHJvY2VzcygpOwpAQCAtMzc1LDYgKzM3OCw4IEBAIHByaXZhdGU6CiAgICAgUmVmUHRy
PE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbj4gbV9uZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb247CiAg
ICAgV2ViTG9hZGVyU3RyYXRlZ3kmIG1fd2ViTG9hZGVyU3RyYXRlZ3k7CiAKKyAgICBSZWY8V2Vi
Q2FjaGVTdG9yYWdlUHJvdmlkZXI+IG1fY2FjaGVTdG9yYWdlUHJvdmlkZXI7CisKICNpZiBVU0Uo
TElCV0VCUlRDKQogICAgIHN0ZDo6dW5pcXVlX3B0cjxMaWJXZWJSVENOZXR3b3JrPiBtX2xpYldl
YlJUQ05ldHdvcms7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbQppbmRleCAxZDQ5YjQ5ZjQ2ODA5MzFiOWU5ZGQwN2JmZTAxMDgyODUwY2MyMmJmLi40
NDkyZjU4ZDVmNTM2NGRhMGRhNzUwMjBmNGU1NGRmZWUwMjA2MjM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0xMjQsNiArMTI0LDcgQEAKICNpbXBv
cnQgPFdlYkNvcmUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUv
QmFja0ZvcndhcmRDb250cm9sbGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NTU0FuaW1hdGlvbkNv
bnRyb2xsZXIuaD4KKyNpbXBvcnQgPFdlYkNvcmUvQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaD4KICNp
bXBvcnQgPFdlYkNvcmUvQ2hyb21lLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NvbG9yTWFjLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL0RhdGFiYXNlTWFuYWdlci5oPgpAQCAtMTQxMyw3ICsxNDE0LDggQEAg
LSAodm9pZClfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOihOU1N0cmluZyAqKWZy
YW1lTmFtZSBncm91cE5hbWU6KE5TU3QKICAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmln
dXJhdGlvbigKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJFZGl0b3JDbGllbnQ+KHNlbGYpLAog
ICAgICAgICBTb2NrZXRQcm92aWRlcjo6Y3JlYXRlKCksCi0gICAgICAgIG1ha2VVbmlxdWVSZWY8
V2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXI+KCkKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJD
b3JlOjpMaWJXZWJSVENQcm92aWRlcj4oKSwKKyAgICAgICAgV2ViQ29yZTo6Q2FjaGVTdG9yYWdl
UHJvdmlkZXI6OmNyZWF0ZSgpCiAgICAgKTsKICNpZiAhUExBVEZPUk0oSU9TKQogICAgIHBhZ2VD
b25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQoc2VsZik7CkBA
IC0xNjc2LDcgKzE2NzgsOCBAQCAtIChpZClpbml0U2ltcGxlSFRNTERvY3VtZW50V2l0aFN0eWxl
OihOU1N0cmluZyAqKXN0eWxlIGZyYW1lOihDR1JlY3QpZnJhbWUgcHJlZgogICAgIFBhZ2VDb25m
aWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uKAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkVk
aXRvckNsaWVudD4oc2VsZiksCiAgICAgICAgIFNvY2tldFByb3ZpZGVyOjpjcmVhdGUoKSwKLSAg
ICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpMaWJXZWJSVENQcm92aWRlcj4oKQorICAgICAg
ICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkxpYldlYlJUQ1Byb3ZpZGVyPigpLAorICAgICAgICBX
ZWJDb3JlOjpDYWNoZVN0b3JhZ2VQcm92aWRlcjo6Y3JlYXRlKCkKICAgICApOwogICAgIHBhZ2VD
b25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnRJT1Moc2VsZik7
CiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0NTdkMTE0YTMzOWU1NGY0ZDk5ZDRi
ZGE5Y2I3YmY0YzFiMGZlMGE3Li4wMDU3NzgwMzU5MWRiNWI0Y2EwMGE2YjAzM2Y5NmEzY2E1MDY5
ZTkwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTctMDgtMTAgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFtDYWNoZSBBUEldIEFkZGluZyBnZW5lcmljIHN1
cHBvcnQgZm9yIENhY2hlU3RvcmFnZSBhbmQgQ2FjaGUgbWV0aG9kcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NDU1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOiBTa2lw
cGluZyBhIHRlc3QgdGhhdCB3b3VsZCB0aW1lb3V0IG90aGVyd2lzZSBkdWUgdG8gdGhlIGN1cnJl
bnQgaW1wbGVtZW50YXRpb24gbGltaXRhdGlvbnMuCisKIDIwMTctMDgtMTAgIE1pZ3VlbCBHb21l
eiAgPG1hZ29tZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIEdUSysgZ2FyZGVu
aW5nLiBVcGRhdGUgZXhwZWN0YXRpb25zIG9mIHNldmVyYWwgdGVzdHMgZmFpbGluZyBhdCByMjIw
NTE2LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYThiZTI2Y2Q2YWFjY2Y1NzIx
NTNmODM2NjFmZjQxOWYzYTkyOTQyYS4uMDhiMWJkZjI1MjZmMjRmZTQzYzAyYTI3Nzg5OTZjNDRj
YWIwNDRlMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTctMDgtMTAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAg
IFtDYWNoZSBBUEldIEFkZGluZyBnZW5lcmljIHN1cHBvcnQgZm9yIENhY2hlU3RvcmFnZSBhbmQg
Q2FjaGUgbWV0aG9kcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc1NDU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uv
c2VydmljZXdvcmtlci9jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9j
YWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0
b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS1tYXRjaC5o
dHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVk
LnR4dDoKKwogMjAxNy0wOC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAg
ICAgICAgIEltcG9ydCBiZWFjb24vaGVhZGVycy9oZWFkZXItY29udGVudC10eXBlLmh0bWwgZnJv
bSB1cHN0cmVhbSBXUFQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGU2YWQyZjI1ODI3YWViNTJiYzYz
NDExNzM3NjkzOTcxNTUwNzZhMTkuLjY5ZmJmNmM0YWVlMTA1NjE0MTg0NDg3NTNiYTNlOTFhYzUz
NjI5NzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTIxLDcgKzEyMSw3IEBAIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3N0dWItNC42LjItY2FjaGUuaHRt
bCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc3R1Yi00LjYuMy1jYWNoZS1zdG9yYWdlLmh0bWwgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UgWyBQYXNzIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0
b3JhZ2Uvd2luZG93IFsgUGFzcyBGYWlsdXJlIF0KLQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9jb21tb24uaHR0cHMuaHRtbCBb
IFNraXAgXQogCiAjIHRleHRhcmVhLmFuaW1hdGUgaXMgbm90IHN1cHBvcnRlZAogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXVpLTMvY2FyZXQtY29sb3ItMDE4Lmh0bWwg
WyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jcmVk
ZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3Jr
ZXIvY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDA3NjE2NTBkYmM0MWU4YmQx
NWU2NGU0N2UzMDhmMmRjMzJhYjllNWIuLjM4ZTk1MjM5N2MzNDYxOTI4ZjFlZjFlZGY3YWJlZTMw
Y2UzODEyNzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jcmVk
ZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zZXJ2aWNl
d29ya2VyL2NyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAot
RkFJTCBDYWNoZSBBUEkgbWF0Y2hpbmcgaW5jbHVkZXMgY3JlZGVudGlhbHMgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCitGQUlMIENhY2hlIEFQSSBtYXRjaGluZyBpbmNsdWRlcyBjcmVkZW50aWFs
cyBhc3NlcnRfdW5yZWFjaGVkOiB1bnJlZ2lzdGVyIHNob3VsZCBub3QgZmFpbDogc2VydmljZVdv
cmtlci5nZXRSZWdpc3RyYXRpb24oKSBpcyBub3QgeWV0IGltcGxlbWVudGVkIFJlYWNoZWQgdW5y
ZWFjaGFibGUgY29kZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNo
ZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2lu
ZG93L2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGZkZWFmZTkz
NjZlOWY1OTk5NDdkMjAzNTlhZjBhNTc0YjNjMmQ2ZjMuLjcxZjVlNzBkMmIyYzM2ZDU1NzRiNTMx
MWFiMGNhZTZlYmM2OTBmZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2Nh
Y2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3Jh
Z2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC00LDgg
KzQsOCBAQCBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIGZyb20gb25lIG9mIG1hbnkgY2FjaGVzIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbgogRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBm
cm9tIG9uZSBvZiBtYW55IGNhY2hlcyBieSBuYW1lIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgog
RkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBhIHN0cmluZyByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgogRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBhIEhFQUQgcmVxdWVzdCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNoZWQgZW50
cnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGgg
bm8gY2FjaGVzIGF2YWlsYWJsZSBidXQgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK1BBU1MgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNoZWQgZW50cnkgCitQQVNT
IENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGVzIGF2YWlsYWJsZSBidXQgbmFtZSBwcm92
aWRlZCAKIEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBlbXB0eSBjYWNoZSBuYW1lIHByb3Zp
ZGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgogRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBzdXBw
b3J0cyBpZ25vcmVTZWFyY2ggcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBGQUlMIENhY2hlLm1h
dGNoIHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBl
Y3RlZC50eHQKaW5kZXggMDAxZTZlMzNiZDdhYjM0ZWE3MzVhY2FkZjk0MjBjYWUxMDgyOWI2MS4u
MWFkNDYwMDI4ZGE3NjllYzE5ODE0ZTMxMGFkMGEwMDc4ZTNlNzc5ZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
Y2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50
eHQKQEAgLTQsOSArNCw5IEBAIEZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0ZSBkb29tcywgYnV0IGRv
ZXMgbm90IGRlbGV0ZSBpbW1lZGlhdGVseSBwcm9taXNlX3Rlc3Q6IFVuCiBGQUlMIENhY2hlU3Rv
cmFnZS5vcGVuIHdpdGggYW4gZW1wdHkgbmFtZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIFBB
U1MgQ2FjaGVTdG9yYWdlLm9wZW4gd2l0aCBubyBhcmd1bWVudHMgCiBGQUlMIENhY2hlU3RvcmFn
ZS5oYXMgd2l0aCBleGlzdGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwg
Q2FjaGVTdG9yYWdlLmhhcyB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgorUEFTUyBDYWNoZVN0b3JhZ2UuaGFzIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgCiBG
QUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggZXhpc3RpbmcgY2FjaGUgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCiBGQUlMIENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBleGlzdGluZyBjYWNoZSBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0ZSB3aXRoIG5v
bmV4aXN0ZW50IGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorUEFTUyBDYWNoZVN0b3Jh
Z2UuZGVsZXRlIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgCiBGQUlMIENhY2hlU3RvcmFnZSBuYW1l
cyBhcmUgRE9NU3RyaW5ncyBub3QgVVNWU3RyaW5ncyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS1tYXRj
aC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9y
YWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBmZGVhZmU5MzY2ZTlmNTk5OTQ3ZDIw
MzU5YWYwYTU3NGIzYzJkNmYzLi43MWY1ZTcwZDJiMmMzNmQ1NTc0YjUzMTFhYjBjYWU2ZWJjNjkw
ZmVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLW1h
dGNoLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNo
ZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtNCw4ICs0LDggQEAgRkFJTCBD
YWNoZVN0b3JhZ2VNYXRjaCBmcm9tIG9uZSBvZiBtYW55IGNhY2hlcyBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24KIEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2YgbWFu
eSBjYWNoZXMgYnkgbmFtZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIEZBSUwgQ2FjaGVTdG9y
YWdlTWF0Y2ggYSBzdHJpbmcgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIEZBSUwg
Q2FjaGVTdG9yYWdlTWF0Y2ggYSBIRUFEIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGVkIGVudHJ5IHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlcyBhdmFp
bGFibGUgYnV0IG5hbWUgcHJvdmlkZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitQQVNTIENh
Y2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGVkIGVudHJ5IAorUEFTUyBDYWNoZVN0b3JhZ2VN
YXRjaCB3aXRoIG5vIGNhY2hlcyBhdmFpbGFibGUgYnV0IG5hbWUgcHJvdmlkZWQgCiBGQUlMIENh
Y2hlU3RvcmFnZU1hdGNoIHdpdGggZW1wdHkgY2FjaGUgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKIEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggc3VwcG9ydHMgaWdub3JlU2Vh
cmNoIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgogRkFJTCBDYWNoZS5tYXRjaCBzdXBwb3J0cyBp
Z25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2Nh
Y2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4
IDAwMWU2ZTMzYmQ3YWIzNGVhNzM1YWNhZGY5NDIwY2FlMTA4MjliNjEuLjFhZDQ2MDAyOGRhNzY5
ZWMxOTgxNGUzMTBhZDBhMDA3OGUzZTc3OWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uv
d29ya2VyL2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0
b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC00LDkgKzQs
OSBAQCBGQUlMIENhY2hlU3RvcmFnZS5kZWxldGUgZG9vbXMsIGJ1dCBkb2VzIG5vdCBkZWxldGUg
aW1tZWRpYXRlbHkgcHJvbWlzZV90ZXN0OiBVbgogRkFJTCBDYWNoZVN0b3JhZ2Uub3BlbiB3aXRo
IGFuIGVtcHR5IG5hbWUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBQQVNTIENhY2hlU3RvcmFn
ZS5vcGVuIHdpdGggbm8gYXJndW1lbnRzIAogRkFJTCBDYWNoZVN0b3JhZ2UuaGFzIHdpdGggZXhp
c3RpbmcgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZS5o
YXMgd2l0aCBub25leGlzdGVudCBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK1BBU1Mg
Q2FjaGVTdG9yYWdlLmhhcyB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIAogRkFJTCBDYWNoZVN0b3Jh
Z2Uub3BlbiB3aXRoIGV4aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgogRkFJ
TCBDYWNoZVN0b3JhZ2UuZGVsZXRlIHdpdGggZXhpc3RpbmcgY2FjaGUgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBub25leGlzdGVudCBjYWNo
ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK1BBU1MgQ2FjaGVTdG9yYWdlLmRlbGV0ZSB3aXRo
IG5vbmV4aXN0ZW50IGNhY2hlIAogRkFJTCBDYWNoZVN0b3JhZ2UgbmFtZXMgYXJlIERPTVN0cmlu
Z3Mgbm90IFVTVlN0cmluZ3MgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317894</attachid>
            <date>2017-08-10 17:46:16 -0700</date>
            <delta_ts>2017-08-11 10:31:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175455-20170810174616.patch</filename>
            <type>text/plain</type>
            <size>107503</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODYzZjAzMzk5NTYzM2Vj
MTRkMGI5ZjQxMGQ5ZWIwOTMyMDQ2YWNhNC4uMTBiZWIzZTZlMGQyM2ZmYmQ2Njk2MmMzOGRlYmM5
ZTBlNDBiMzBlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMiBAQAorMjAxNy0wOC0xMCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRk
aW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5
IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgIEFkZGluZyBhIENhY2hlU3RvcmFnZVByb3ZpZGVy
IGFic3RyYWN0aW9uIHRoYXQgY3JlYXRlcyBhIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uCisgICAg
ICAgIFRoZSBDYWNoZVN0b3JhZ2VQcm92aWRlciBpcyBhY2Nlc3NlZCBmcm9tIHRoZSBwYWdlIGZv
ciBEb2N1bWVudCBjYWxscy4KKyAgICAgICAgVGhlIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24gaXMg
cmVzcG9uc2libGUgdG8gaW1wbGVtZW50IHRoZSByZWFkL3dyaXRlIG9wZXJhdGlvbnMgb24gdGhl
IGNhY2hlIGRhdGFiYXNlLgorICAgICAgICBBdCB0aGUgbW9tZW50LCBpdCBkb2VzIG5vdGhpbmcu
CisKKyAgICAgICAgSW1wbGVtZW50aW5nIENhY2hlU3RvcmFnZSBBUElzIGFuZCBDYWNoZSBBUElz
IGJhc2VkIG9uIHRoZSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uIGV4Y2VwdCBmb3IgQ2FjaGUgYWRk
IGFuZCBhZGRBbGwgd2hpY2ggd2lsbCBiZSBpbXBsZW1lbnRlZCBsYXRlciBvbi4KKworICAgICAg
ICBBZGRpbmcgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlLm1hdGNoIGZ1bmN0aW9uIGFzIGEgSlMg
YnVpbHQtaW4gYXMgdGhpcyBpbnZvbHZlcyBwcm9taXNlcyBhbmQgYWxsb3dzIGEgY2xlYXJlciBp
bXBsZW1lbnRhdGlvbi4KKyAgICAgICAgQWRkaW5nIHZhcmlvdXMgYWNjZXNzb3JzIGFuZCBjb25z
dHJ1Y3RvcnMgZm9yIEZldGNoIGNvbnN0cnVjdHMgYXMgbmVlZGVkIGJ5IHRoZSBDYWNoZSBBUEkg
aW1wbGVtZW50YXRpb24uCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OkNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
Ojp+Q2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6Om9yaWdpbiBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZTo6bWF0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6Om1h
dGNoQWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjpwdXQpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGU6OnJlbW92ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6a2V5cyk6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZTo6cmVmcmVzaFJlcXVlc3RUb1Jlc3BvbnNlTWFwKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlOjpxdWVyeUNhY2hlTWF0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGU6OnF1ZXJ5Q2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnF1ZXJ5Q2FjaGVX
aXRoVGFyZ2V0U3RvcmFnZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6YmF0Y2hEZWxldGVP
cGVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OmJhdGNoUHV0T3BlcmF0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjp1cGRhdGVSZXF1ZXN0VG9SZXNwb25zZU1hcCk6Cisg
ICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6bmFtZSBjb25zdCk6CisgICAgICAg
ICogTW9kdWxlcy9jYWNoZS9DYWNoZS5pZGw6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNo
ZVF1ZXJ5T3B0aW9ucy5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVRdWVyeU9wdGlvbnM6Omlz
b2xhdGVkQ29weSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpvcmlnaW4gY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpoYXMpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVTdG9yYWdlOjpyZWZyZXNoQ2FjaGVNYXApOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9y
YWdlOjpvcGVuKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6cmVtb3ZlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6a2V5cyk6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZVN0b3JhZ2U6OmNhY2hlTWFwKToKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hlU3Rv
cmFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpjcmVhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpDYWNoZVN0b3JhZ2UpOgorICAgICAgICAqIE1vZHVs
ZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hl
U3RvcmFnZS5qczogQWRkZWQuCisgICAgICAgIChtYXRjaC5yZXR1cm4uQ2FjaGVTdG9yYWdlLnBy
b3RvdHlwZS5jYWNoZU1hcC5jYWxsLnRoZW4pOgorICAgICAgICAobWF0Y2gpOgorICAgICAgICAq
IE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9yKToK
KyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQ6OnRvQ3Jv
c3NUaHJlYWREYXRhIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5l
Y3Rpb246OlJlY29yZDo6ZnJvbUNyb3NzVGhyZWFkRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVT
dG9yYWdlQ29ubmVjdGlvbjo6b3Blbik6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uOjpyZW1vdmUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29ubmVj
dGlvbjo6cmVmcmVzaENhY2hlTWFwKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNv
bm5lY3Rpb246OnJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcCk6CisgICAgICAgIChXZWJDb3Jl
OjpDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpiYXRjaERlbGV0ZU9wZXJhdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpiYXRjaFB1dE9wZXJhdGlvbik6Cisg
ICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VSZWNvcmQuaDogQWRkZWQuCisgICAg
ICAgICogTW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NV2luZG93Q2FjaGVzOjpjYWNoZXMgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvY2Fj
aGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
R2xvYmFsU2NvcGVDYWNoZXM6OmZyb20pOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFs
U2NvcGVDYWNoZXM6OmNhY2hlcyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9Xb3Jr
ZXJHbG9iYWxTY29wZUNhY2hlcy5oOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2Nv
cGVDYWNoZXM6Oldvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKToKKyAgICAgICAgKiBNb2R1bGVzL2Zl
dGNoL0ZldGNoQm9keU93bmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHlPd25lcjo6
aXNSZWFkYWJsZVN0cmVhbUJvZHkgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0
Y2hIZWFkZXJzLmg6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEhlYWRlcnM6OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpGZXRjaEhlYWRlcnM6Omd1YXJkIGNvbnN0KToKKyAgICAgICAgKiBN
b2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoTG9h
ZGVyOjpzdGFydCk6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6YnVpbGRPcHRpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OkZldGNo
UmVxdWVzdDo6cmVzb3VyY2VSZXF1ZXN0IGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNo
L0ZldGNoUmVxdWVzdC5oOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaFJlc3BvbnNlOjpib2R5Rm9ySW50ZXJuYWxSZXNw
b25zZSk6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmg6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
T3ZlcmxheS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JPdmVybGF5OjpvdmVybGF5
UGFnZSk6CisgICAgICAgICogbG9hZGVyL0ZldGNoT3B0aW9ucy5oOgorICAgICAgICAoV2ViQ29y
ZTo6RmV0Y2hPcHRpb25zOjppc29sYXRlZENvcHkgY29uc3QpOgorICAgICAgICAqIHBhZ2UvQ2Fj
aGVTdG9yYWdlUHJvdmlkZXIuaDogQWRkZWQuCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBhZ2U6OlBhZ2UpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6UGFnZTo6Y2FjaGVTdG9yYWdlUHJvdmlkZXIpOgorICAgICAgICAqIHBh
Z2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbmZpZ3Vy
YXRpb246OlBhZ2VDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0
aW9uLmg6CisgICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0ltYWdlOjpkYXRhQ2hhbmdlZCk6CisKIDIwMTctMDgtMTAgIEFudHRpIEtvaXZp
c3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFRyeSB0byBmaXggd2luZG93cyBidWls
ZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKaW5kZXggNjIxOTliOTA3MTdhYzQ4NjEzMzg1NzIzM2E2ZjI3YjgwOWQzZGUzZC4u
MjJhNzhmNDk0ZDVjMTk3MzNmZDI4NWYzOGRjNjAzMTViMzMwYTQ5NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxNy0wOC0xMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRkaW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVT
dG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvQ2FjaGUvV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaDogQWRkZWQu
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2Vi
S2l0OjptX2NwdUxpbWl0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6Y2FjaGVT
dG9yYWdlUHJvdmlkZXIpOgorCiAyMDE3LTA4LTEwICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtA
aWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBEb24ndCB1c2UgLS13aG9sZS1hcmNoaXZlIGxp
bmtpbmcgZmxhZ3MgZm9yIHRoZSBXZWJLaXQyIHRhcmdldCBsaWJyYXJpZXMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwppbmRleCBhNjYyOTRhMmUzYjM2M2EzMzMwN2ZhYzY2ODQ3NjZkMDRmMjk4
OTZhLi5jZWJlNmYyZmY2YTdmYzI4MWNhM2IwMTU0MGU3ODU1YmM4N2MzZWUxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMDgtMTAgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFtDYWNoZSBBUEldIEFkZGluZyBn
ZW5lcmljIHN1cHBvcnQgZm9yIENhY2hlU3RvcmFnZSBhbmQgQ2FjaGUgbWV0aG9kcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NDU1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZp
ZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1l
TmFtZTpncm91cE5hbWU6XSk6CisKIDIwMTctMDgtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBEaXNhYmxlIEJlYWNvbiBBUEkgb24gV0sxIERSVCBhbmQgV0sy
IHdoZW4gbm90IHVzaW5nIE5FVFdPUktfU0VTU0lPTgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBl
MWFkNThlM2VjZmU5YWUzNTEyMmMyY2RmYjFjZGNjNmVlN2JjMmIzLi44OWU2NWJjMmM1ZDc2NDZh
NjgxYmNkZDgyYzk5ZmYzNTRkMTg5ZGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtODkzLDYg
Kzg5Myw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKIAogICAgIE1vZHVsZXMvY2FjaGUvQ2FjaGUu
Y3BwCiAgICAgTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuY3BwCisgICAgTW9kdWxlcy9jYWNo
ZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcAogICAgIE1vZHVsZXMvY2FjaGUvRE9NV2luZG93
Q2FjaGVzLmNwcAogICAgIE1vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3Bw
CiAKQEAgLTM4NTIsNiArMzg1Myw3IEBAIGFkZF9kZXBlbmRlbmNpZXMoV2ViQ29yZVRlc3RTdXBw
b3J0QmluZGluZ3MgV2ViQ29yZURlcml2ZWRTb3VyY2VzKQogIyBXZWJDb3JlIEpTIEJ1aWx0aW5z
CiAKIHNldChXZWJDb3JlX0JVSUxUSU5TX1NPVVJDRVMKKyAgICAke1dFQkNPUkVfRElSfS9Nb2R1
bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5qcwogICAgICR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvZmV0
Y2gvRmV0Y2hJbnRlcm5hbHMuanMKICAgICAke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoUmVzcG9uc2UuanMKICAgICAke1dFQkNPUkVfRElSfS9Nb2R1bGVzL21lZGlhc3RyZWFtL05h
dmlnYXRvclVzZXJNZWRpYS5qcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggOGQ1
NjRlNjc3MGJmZDg0NDJkNTc4ZDU0YzJiOTgxZmI4NWUxYjdmOC4uN2UwNTM4YzQxMGQzZjM0YjU1
YzEwNGUxNzcwNzBhYWMwNDgzYzNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBA
IC0xMzk3LDYgKzEzOTcsNyBAQCBDb21tYW5kTGluZUFQSU1vZHVsZVNvdXJjZS5oIDogQ29tbWFu
ZExpbmVBUElNb2R1bGVTb3VyY2UuanMKICMgV2ViQ29yZSBKUyBCdWlsdGlucwogCiBXZWJDb3Jl
X0JVSUxUSU5TX1NPVVJDRVMgPSBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NhY2hlL0NhY2hl
U3RvcmFnZS5qcyBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2ZldGNoL0ZldGNoSW50ZXJuYWxz
LmpzIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5qcyBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvclVzZXJNZWRpYS5qcyBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCmluZGV4IGUxOWFmNTUwMjk1NjRk
OTU3NDU0MmIzZWIzMzQ4NDMyMzgzZjY3ZDUuLmZjOTE2YmE5NThmNjM4Mzg4NzRkMzRkYzYwMzIz
YjMxMWMyZWQxYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2Fj
aGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCkBAIC0y
NiwxNiArMjYsODggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDYWNoZS5oIgog
CisjaW5jbHVkZSAiQ2FjaGVRdWVyeU9wdGlvbnMuaCIKKyNpbmNsdWRlICJGZXRjaFJlc3BvbnNl
LmgiCisjaW5jbHVkZSAiSlNGZXRjaFJlcXVlc3QuaCIKKyNpbmNsdWRlICJKU0ZldGNoUmVzcG9u
c2UuaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCisjaW5jbHVkZSAiVVJM
LmgiCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdm9pZCBDYWNoZTo6bWF0Y2goUmVxdWVzdElu
Zm8mJiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgUmVmPERlZmVycmVkUHJv
bWlzZT4mJiBwcm9taXNlKQorQ2FjaGU6OkNhY2hlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQsIFN0cmluZyYmIG5hbWUsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYmIGNvbm5l
Y3Rpb24pCisgICAgOiBtX2NvbnRleHQoY29udGV4dCkKKyAgICAsIG1fbmFtZShXVEZNb3ZlKG5h
bWUpKQorICAgICwgbV9jb25uZWN0aW9uKFdURk1vdmUoY29ubmVjdGlvbikpCiB7Ci0gICAgcHJv
bWlzZS0+cmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1w
bGVtZW50ZWQiKX0pOwogfQogCi12b2lkIENhY2hlOjptYXRjaEFsbChzdGQ6Om9wdGlvbmFsPFJl
cXVlc3RJbmZvPiYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBNYXRjaEFs
bFByb21pc2UmJiBwcm9taXNlKQorQ2FjaGU6On5DYWNoZSgpCiB7Ci0gICAgcHJvbWlzZS5yZWpl
Y3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIp
fSk7Cit9CisKK1N0cmluZyBDYWNoZTo6b3JpZ2luKCkgY29uc3QKK3sKKyAgICBhdXRvKiBvcmln
aW4gPSBtX2NvbnRleHQuc2VjdXJpdHlPcmlnaW4oKTsKKyAgICByZXR1cm4gb3JpZ2luID8gb3Jp
Z2luLT50b1N0cmluZygpIDogZW1wdHlTdHJpbmcoKTsKK30KKwordm9pZCBDYWNoZTo6bWF0Y2go
UmVxdWVzdEluZm8mJiBpbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIFJlZjxEZWZl
cnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBtYXRjaEFsbChXVEZNb3ZlKGluZm8pLCBX
VEZNb3ZlKG9wdGlvbnMpLCBXVEZNb3ZlKHByb21pc2UpLCBNYXRjaFR5cGU6Ok9ubHlGaXJzdCk7
Cit9CisKK3ZvaWQgQ2FjaGU6Om1hdGNoQWxsKHN0ZDo6b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYg
aW5mbywgQ2FjaGVRdWVyeU9wdGlvbnMmJiBvcHRpb25zLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYm
IHByb21pc2UsIE1hdGNoVHlwZSBtYXRjaFR5cGUpCit7CisgICAgUmVmUHRyPEZldGNoUmVxdWVz
dD4gcmVxdWVzdDsKKyAgICBpZiAoaW5mbykgeworICAgICAgICBpZiAoV1RGOjpob2xkc19hbHRl
cm5hdGl2ZTxSZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4oaW5mby52YWx1ZSgpKSkgeworICAgICAgICAg
ICAgcmVxdWVzdCA9IFdURjo6Z2V0PFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvLnZhbHVlKCkp
LnJlbGVhc2VOb25OdWxsKCk7CisgICAgICAgICAgICBpZiAocmVxdWVzdC0+bWV0aG9kKCkgIT0g
IkdFVCIgJiYgIW9wdGlvbnMuaWdub3JlTWV0aG9kKSB7CisgICAgICAgICAgICAgICAgaWYgKG1h
dGNoVHlwZSA9PSBNYXRjaFR5cGU6Ok9ubHlGaXJzdCkgeworICAgICAgICAgICAgICAgICAgICBw
cm9taXNlLT5yZXNvbHZlKCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExTZXF1ZW5jZTxJ
RExJbnRlcmZhY2U8RmV0Y2hSZXNwb25zZT4+PihWZWN0b3I8UmVmPEZldGNoUmVzcG9uc2U+PiB7
IH0pOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIGF1dG8gcmVxdWVzdE9yRXJyb3IgPSBGZXRjaFJlcXVlc3Q6OmNy
ZWF0ZShtX2NvbnRleHQsIFdURjo6Z2V0PFN0cmluZz4oaW5mby52YWx1ZSgpKSwgeyB9KTsKKyAg
ICAgICAgICAgIGlmIChyZXF1ZXN0T3JFcnJvci5oYXNFeGNlcHRpb24oKSkgeworICAgICAgICAg
ICAgICAgIHByb21pc2UtPnJlamVjdChyZXF1ZXN0T3JFcnJvci5yZWxlYXNlRXhjZXB0aW9uKCkp
OworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJl
cXVlc3QgPSByZXF1ZXN0T3JFcnJvci5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKKyAgICAgICAgfQor
ICAgIH0KKworICAgIGlmICghcmVxdWVzdCkgeworICAgICAgICBBU1NFUlQobWF0Y2hUeXBlID09
IE1hdGNoVHlwZTo6QWxsKTsKKyAgICAgICAgcmVmcmVzaFJlcXVlc3RUb1Jlc3BvbnNlTWFwKFt0
aGlzLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSB7CisgICAgICAgICAgICBWZWN0b3I8
UmVmPEZldGNoUmVzcG9uc2U+PiByZXNwb25zZXM7CisgICAgICAgICAgICByZXNwb25zZXMucmVz
ZXJ2ZUluaXRpYWxDYXBhY2l0eShtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwLnNpemUoKSk7CisgICAg
ICAgICAgICBmb3IgKGF1dG8mIHJlY29yZCA6IG1fcmVxdWVzdFRvUmVzcG9uc2VNYXApCisgICAg
ICAgICAgICAgICAgcmVzcG9uc2VzLnVuY2hlY2tlZEFwcGVuZChyZWNvcmQucmVzcG9uc2UtPmNs
b25lRm9ySlMoKSk7CisgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElETFNlcXVlbmNlPElE
TEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4+KHJlc3BvbnNlcyk7CisgICAgICAgIH0pOworICAg
ICAgICByZXR1cm47CisgICAgfQorICAgIHF1ZXJ5Q2FjaGUocmVxdWVzdC5yZWxlYXNlTm9uTnVs
bCgpLCBXVEZNb3ZlKG9wdGlvbnMpLCBbbWF0Y2hUeXBlLCBwcm9taXNlID0gV1RGTW92ZShwcm9t
aXNlKV0oY29uc3QgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4mIHJlY29yZHMpIG11dGFibGUg
eworICAgICAgICBpZiAobWF0Y2hUeXBlID09IE1hdGNoVHlwZTo6T25seUZpcnN0KSB7CisgICAg
ICAgICAgICBpZiAocmVjb3Jkcy5zaXplKCkpIHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLT5y
ZXNvbHZlPElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4ocmVjb3Jkc1swXS5yZXNwb25zZS5n
ZXQoKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgcHJvbWlzZS0+cmVzb2x2ZSgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisK
KyAgICAgICAgVmVjdG9yPFJlZjxGZXRjaFJlc3BvbnNlPj4gcmVzcG9uc2VzOworICAgICAgICBy
ZXNwb25zZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShyZWNvcmRzLnNpemUoKSk7CisgICAgICAg
IGZvciAoYXV0byYgcmVjb3JkIDogcmVjb3JkcykKKyAgICAgICAgICAgIHJlc3BvbnNlcy51bmNo
ZWNrZWRBcHBlbmQocmVjb3JkLnJlc3BvbnNlLT5jbG9uZUZvckpTKCkpOworICAgICAgICBwcm9t
aXNlLT5yZXNvbHZlPElETFNlcXVlbmNlPElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4+KHJl
c3BvbnNlcyk7CisgICAgfSk7CiB9CiAKIHZvaWQgQ2FjaGU6OmFkZChSZXF1ZXN0SW5mbyYmLCBE
T01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQpAQCAtNDgsMjAgKzEyMCwyMzUgQEAg
dm9pZCBDYWNoZTo6YWRkQWxsKFZlY3RvcjxSZXF1ZXN0SW5mbz4mJiwgRE9NUHJvbWlzZURlZmVy
cmVkPHZvaWQ+JiYgcHJvbWlzZSkKICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBl
RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKIH0KIAotdm9pZCBDYWNo
ZTo6cHV0KFJlcXVlc3RJbmZvJiYsIFJlZjxGZXRjaFJlc3BvbnNlPiYmLCBET01Qcm9taXNlRGVm
ZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQordm9pZCBDYWNoZTo6cHV0KFJlcXVlc3RJbmZvJiYgaW5m
bywgUmVmPEZldGNoUmVzcG9uc2U+JiYgcmVzcG9uc2UsIERPTVByb21pc2VEZWZlcnJlZDx2b2lk
PiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9y
LCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgUmVmUHRyPEZldGNoUmVx
dWVzdD4gcmVxdWVzdDsKKyAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWZQdHI8RmV0
Y2hSZXF1ZXN0Pj4oaW5mbykpIHsKKyAgICAgICAgcmVxdWVzdCA9IFdURjo6Z2V0PFJlZlB0cjxG
ZXRjaFJlcXVlc3Q+PihpbmZvKS5yZWxlYXNlTm9uTnVsbCgpOworICAgICAgICBpZiAoIXByb3Rv
Y29sSXNJbkhUVFBGYW1pbHkocmVxdWVzdC0+dXJsKCkpIHx8IHJlcXVlc3QtPm1ldGhvZCgpICE9
ICJHRVQiKSB7CisgICAgICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJy
b3IsIEFTQ0lJTGl0ZXJhbCgiUmVxdWVzdCBpcyBub3QgSFRUUC9IVFRQUyBvciBtZXRob2QgaXMg
bm90IEdFVCIpIH0pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfSBlbHNl
IHsKKyAgICAgICAgU3RyaW5nIHVybCA9IFdURjo6Z2V0PFN0cmluZz4oaW5mbyk7CisgICAgICAg
IGlmICghcHJvdG9jb2xJc0luSFRUUEZhbWlseSh1cmwpKSB7CisgICAgICAgICAgICBwcm9taXNl
LnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiUmVxdWVzdCBpcyBu
b3QgSFRUUC9IVFRQUyIpIH0pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAg
ICAgIGF1dG8gcmVxdWVzdE9yRXJyb3IgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZShtX2NvbnRleHQs
IHVybCwgeyB9KTsKKyAgICAgICAgaWYgKHJlcXVlc3RPckVycm9yLmhhc0V4Y2VwdGlvbigpKSB7
CisgICAgICAgICAgICBwcm9taXNlLnJlamVjdChyZXF1ZXN0T3JFcnJvci5yZWxlYXNlRXhjZXB0
aW9uKCkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHJlcXVlc3Qg
PSByZXF1ZXN0T3JFcnJvci5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKKyAgICB9CisKKyAgICBTdHJp
bmcgdmFyeVZhbHVlID0gcmVzcG9uc2UtPmhlYWRlcnMoKS5pbnRlcm5hbEhlYWRlcnMoKS5nZXQo
V2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6OlZhcnkpOworICAgIFZlY3RvcjxTdHJpbmc+IHZhcnlp
bmdIZWFkZXJOYW1lczsKKyAgICB2YXJ5VmFsdWUuc3BsaXQoJywnLCB2YXJ5aW5nSGVhZGVyTmFt
ZXMpOworICAgIGlmICh2YXJ5aW5nSGVhZGVyTmFtZXMuY29udGFpbnMoIioiKSkgeworICAgICAg
ICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiUmVz
cG9uc2UgaGFzIGEgJyonIFZhcnkgaGVhZGVyIHZhbHVlIikgfSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBpZiAocmVzcG9uc2UtPmlzRGlzdHVyYmVkKCkpIHsKKyAgICAgICAgcHJv
bWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIlJlc3BvbnNl
IGlzIGRpc3R1cmJlZCBvciBsb2NrZWQiKSB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgYmVpbmcgbG9hZGVkIHJlc3BvbnNlcy4KKyAg
ICBpZiAocmVzcG9uc2UtPmlzTG9hZGluZygpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4
Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJDYWNoaW5nIGEgbG9hZGluZyBSZXNw
b25zZSBpcyBub3QgeWV0IHN1cHBvcnRlZCIpIH0pOworICAgICAgICByZXR1cm47CisgICAgfQor
ICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgUmVhZGFibGVTdHJlYW0uCisgICAgaWYgKHJl
c3BvbnNlLT5pc1JlYWRhYmxlU3RyZWFtQm9keSgpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0
KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJDYWNoaW5nIGEgUmVzcG9uc2Ug
d2l0aCBkYXRhIHN0b3JlZCBpbiBhIFJlYWRhYmxlU3RyZWFtIGlzIG5vdCB5ZXQgc3VwcG9ydGVk
IikgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBiYXRjaFB1dE9wZXJhdGlvbigq
cmVxdWVzdCwgcmVzcG9uc2UuZ2V0KCksIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oQ2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICBpZiAo
ZXJyb3IgIT0gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3I6Ok5vbmUpIHsKKyAgICAgICAg
ICAgIHByb21pc2UucmVqZWN0KENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlvbkZyb21F
cnJvcihlcnJvcikpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHBy
b21pc2UucmVzb2x2ZSgpOworICAgIH0pOwogfQogCi12b2lkIENhY2hlOjpyZW1vdmUoUmVxdWVz
dEluZm8mJiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgRE9NUHJvbWlzZURl
ZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKK3ZvaWQgQ2FjaGU6OnJlbW92ZShSZXF1ZXN0
SW5mbyYmIGluZm8sIENhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywgRE9NUHJvbWlzZURlZmVy
cmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRp
b24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICBS
ZWZQdHI8RmV0Y2hSZXF1ZXN0PiByZXF1ZXN0OworICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0
aXZlPFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvKSkgeworICAgICAgICByZXF1ZXN0ID0gV1RG
OjpnZXQ8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8pLnJlbGVhc2VOb25OdWxsKCk7CisgICAg
ICAgIGlmIChyZXF1ZXN0LT5tZXRob2QoKSAhPSAiR0VUIiAmJiAhb3B0aW9ucy5pZ25vcmVNZXRo
b2QpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShmYWxzZSk7CisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBhdXRvIHJlcXVlc3RPckVy
cm9yID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUobV9jb250ZXh0LCBXVEY6OmdldDxTdHJpbmc+KGlu
Zm8pLCB7IH0pOworICAgICAgICBpZiAocmVxdWVzdE9yRXJyb3IuaGFzRXhjZXB0aW9uKCkpIHsK
KyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KHJlcXVlc3RPckVycm9yLnJlbGVhc2VFeGNlcHRp
b24oKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgcmVxdWVzdCA9
IHJlcXVlc3RPckVycm9yLnJlbGVhc2VSZXR1cm5WYWx1ZSgpOworICAgIH0KKworICAgIGJhdGNo
RGVsZXRlT3BlcmF0aW9uKCpyZXF1ZXN0LCBXVEZNb3ZlKG9wdGlvbnMpLCBbcHJvbWlzZSA9IFdU
Rk1vdmUocHJvbWlzZSldKGJvb2wgZGlkRGVsZXRlLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpF
cnJvciBlcnJvcikgbXV0YWJsZSB7CisgICAgICAgIGlmIChlcnJvciAhPSAgQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbjo6RXJyb3I6Ok5vbmUpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KENh
Y2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlvbkZyb21FcnJvcihlcnJvcikpOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHByb21pc2UucmVzb2x2ZShkaWREZWxl
dGUpOworICAgIH0pOwogfQogCi12b2lkIENhY2hlOjprZXlzKHN0ZDo6b3B0aW9uYWw8UmVxdWVz
dEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIEtleXNQcm9taXNl
JiYgcHJvbWlzZSkKK3ZvaWQgQ2FjaGU6OmtleXMoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4m
JiBpbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIEtleXNQcm9taXNlJiYgcHJvbWlz
ZSkKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0
ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICBSZWZQdHI8RmV0Y2hSZXF1ZXN0PiByZXF1
ZXN0OworICAgIGlmIChpbmZvKSB7CisgICAgICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZl
PFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvLnZhbHVlKCkpKSB7CisgICAgICAgICAgICByZXF1
ZXN0ID0gV1RGOjpnZXQ8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8udmFsdWUoKSkucmVsZWFz
ZU5vbk51bGwoKTsKKyAgICAgICAgICAgIGlmIChyZXF1ZXN0LT5tZXRob2QoKSAhPSAiR0VUIiAm
JiAhb3B0aW9ucy5pZ25vcmVNZXRob2QpIHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLnJlc29s
dmUoVmVjdG9yPFJlZjxGZXRjaFJlcXVlc3Q+PiB7IH0pOworICAgICAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICByZXF1ZXN0ID0g
RmV0Y2hSZXF1ZXN0OjpjcmVhdGUobV9jb250ZXh0LCBXVEY6OmdldDxTdHJpbmc+KGluZm8udmFs
dWUoKSksIHsgfSkucmVsZWFzZVJldHVyblZhbHVlKCk7CisgICAgfQorCisgICAgaWYgKCFyZXF1
ZXN0KSB7CisgICAgICAgIHJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcChbdGhpcywgcHJvbWlz
ZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgICAgICBWZWN0b3I8UmVm
PEZldGNoUmVxdWVzdD4+IHJlcXVlc3RzOworICAgICAgICAgICAgcmVxdWVzdHMucmVzZXJ2ZUlu
aXRpYWxDYXBhY2l0eShtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwLnNpemUoKSk7CisgICAgICAgICAg
ICBmb3IgKGF1dG8mIHJlY29yZCA6IG1fcmVxdWVzdFRvUmVzcG9uc2VNYXApCisgICAgICAgICAg
ICAgICAgcmVxdWVzdHMudW5jaGVja2VkQXBwZW5kKHJlY29yZC5yZXF1ZXN0LmNvcHlSZWYoKSk7
CisgICAgICAgICAgICBwcm9taXNlLnJlc29sdmUocmVxdWVzdHMpOworICAgICAgICB9KTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHF1ZXJ5Q2FjaGUocmVxdWVzdC5yZWxlYXNlTm9u
TnVsbCgpLCBXVEZNb3ZlKG9wdGlvbnMpLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKGNv
bnN0IFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+JiByZWNvcmRzKSBtdXRhYmxlIHsKKyAgICAg
ICAgVmVjdG9yPFJlZjxGZXRjaFJlcXVlc3Q+PiByZXF1ZXN0czsKKyAgICAgICAgcmVxdWVzdHMu
cmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShyZWNvcmRzLnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0
byYgcmVjb3JkIDogcmVjb3JkcykKKyAgICAgICAgICAgIHJlcXVlc3RzLnVuY2hlY2tlZEFwcGVu
ZChyZWNvcmQucmVxdWVzdC5jb3B5UmVmKCkpOworICAgICAgICBwcm9taXNlLnJlc29sdmUocmVx
dWVzdHMpOworICAgIH0pOworfQorCit2b2lkIENhY2hlOjpyZWZyZXNoUmVxdWVzdFRvUmVzcG9u
c2VNYXAoRnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQoreworICAgIG1fY29ubmVjdGlvbi0+
cmVmcmVzaFJlcXVlc3RUb1Jlc3BvbnNlTWFwKG9yaWdpbigpLCBtX25hbWUsIFt0aGlzLCBwcm90
ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayld
KFZlY3RvcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQ+JiYgcmVjb3JkcykgeworICAg
ICAgICB1cGRhdGVSZXF1ZXN0VG9SZXNwb25zZU1hcChXVEZNb3ZlKHJlY29yZHMpKTsKKworICAg
ICAgICBjYWxsYmFjaygpOworICAgIH0pOworfQorCitib29sIENhY2hlOjpxdWVyeUNhY2hlTWF0
Y2goY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IGNhY2hlZFJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGNhY2hlZFJlc3BvbnNlLCBj
b25zdCBDYWNoZVF1ZXJ5T3B0aW9ucyYgb3B0aW9ucykKK3sKKyAgICBBU1NFUlQob3B0aW9ucy5p
Z25vcmVNZXRob2QgfHwgcmVxdWVzdC5odHRwTWV0aG9kKCkgPT0gIkdFVCIpOworCisgICAgVVJM
IHJlcXVlc3RVUkwgPSByZXF1ZXN0LnVybCgpOworICAgIFVSTCBjYWNoZWRSZXF1ZXN0VVJMID0g
Y2FjaGVkUmVxdWVzdC51cmwoKTsKKworICAgIGlmIChvcHRpb25zLmlnbm9yZVNlYXJjaCkgewor
ICAgICAgICByZXF1ZXN0VVJMLnNldFF1ZXJ5KHsgfSk7CisgICAgICAgIGNhY2hlZFJlcXVlc3RV
Ukwuc2V0UXVlcnkoeyB9KTsKKyAgICB9CisgICAgaWYgKCFlcXVhbElnbm9yaW5nRnJhZ21lbnRJ
ZGVudGlmaWVyKHJlcXVlc3RVUkwsIGNhY2hlZFJlcXVlc3RVUkwpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBpZiAob3B0aW9ucy5pZ25vcmVWYXJ5KQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKworICAgIFN0cmluZyB2YXJ5VmFsdWUgPSBjYWNoZWRSZXNwb25zZS5odHRwSGVhZGVyRmll
bGQoV2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6OlZhcnkpOworICAgIGlmICh2YXJ5VmFsdWUuaXNO
dWxsKCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgVmVjdG9yPFN0cmluZz4gdmFyeWlu
Z0hlYWRlck5hbWVzOworICAgIHZhcnlWYWx1ZS5zcGxpdCgnLCcsIHZhcnlpbmdIZWFkZXJOYW1l
cyk7CisgICAgaWYgKHZhcnlpbmdIZWFkZXJOYW1lcy5jb250YWlucygiKiIpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBmb3IgKGF1dG8mIG5hbWUgOiB2YXJ5aW5nSGVhZGVyTmFtZXMp
IHsKKyAgICAgICAgaWYgKGNhY2hlZFJlcXVlc3QuaHR0cEhlYWRlckZpZWxkKG5hbWUpICE9IHJl
cXVlc3QuaHR0cEhlYWRlckZpZWxkKG5hbWUpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBDYWNoZTo6cXVlcnlDYWNoZShSZWY8
RmV0Y2hSZXF1ZXN0PiYmIHJlcXVlc3QsIENhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywgRnVu
Y3Rpb248dm9pZChjb25zdCBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiYpPiYmIGNhbGxiYWNr
KQoreworICAgIHJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcChbdGhpcywgcmVxdWVzdCA9IFdU
Rk1vdmUocmVxdWVzdCksIG9wdGlvbnMgPSBXVEZNb3ZlKG9wdGlvbnMpLCBjYWxsYmFjayA9IFdU
Rk1vdmUoY2FsbGJhY2spXSgpIG11dGFibGUgeworICAgICAgICBjYWxsYmFjayhxdWVyeUNhY2hl
V2l0aFRhcmdldFN0b3JhZ2UocmVxdWVzdC5nZXQoKSwgb3B0aW9ucywgbV9yZXF1ZXN0VG9SZXNw
b25zZU1hcCkpOworICAgIH0pOworfQorCitWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiBDYWNo
ZTo6cXVlcnlDYWNoZVdpdGhUYXJnZXRTdG9yYWdlKGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxdWVz
dCwgY29uc3QgQ2FjaGVRdWVyeU9wdGlvbnMmIG9wdGlvbnMsIGNvbnN0IFZlY3RvcjxDYWNoZVN0
b3JhZ2VSZWNvcmQ+JiB0YXJnZXRTdG9yYWdlKQoreworICAgIGlmICghb3B0aW9ucy5pZ25vcmVN
ZXRob2QgJiYgcmVxdWVzdC5tZXRob2QoKSAhPSAiR0VUIikKKyAgICAgICAgcmV0dXJuIHsgfTsK
KworICAgIFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+IHJlY29yZHM7CisgICAgZm9yIChhdXRv
JiByZWNvcmQgOiB0YXJnZXRTdG9yYWdlKSB7CisgICAgICAgIGlmIChxdWVyeUNhY2hlTWF0Y2go
cmVxdWVzdC5pbnRlcm5hbFJlcXVlc3QoKS5yZXF1ZXN0LCByZWNvcmQucmVxdWVzdC0+aW50ZXJu
YWxSZXF1ZXN0KCkucmVxdWVzdCwgcmVjb3JkLnJlc3BvbnNlLT5yZXNwb25zZSgpLCBvcHRpb25z
KSkKKyAgICAgICAgICAgIHJlY29yZHMuYXBwZW5kKHsgcmVjb3JkLmlkZW50aWZpZXIsIHJlY29y
ZC5yZXF1ZXN0LmNvcHlSZWYoKSwgcmVjb3JkLnJlc3BvbnNlLmNvcHlSZWYoKSB9KTsKKyAgICB9
CisgICAgcmV0dXJuIHJlY29yZHM7Cit9CisKK3ZvaWQgQ2FjaGU6OmJhdGNoRGVsZXRlT3BlcmF0
aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgQ2FjaGVRdWVyeU9wdGlvbnMmJiBvcHRp
b25zLCBGdW5jdGlvbjx2b2lkKGJvb2wgZGlkUmVtb3ZhbCwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlv
bjo6RXJyb3IgZXJyb3IpPiYmIGNhbGxiYWNrKQoreworICAgIG1fY29ubmVjdGlvbi0+YmF0Y2hE
ZWxldGVPcGVyYXRpb24ob3JpZ2luKCksIG1fbmFtZSwgcmVxdWVzdC5pbnRlcm5hbFJlcXVlc3Qo
KS5yZXF1ZXN0LCBXVEZNb3ZlKG9wdGlvbnMpLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VS
ZWYoKnRoaXMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShWZWN0b3I8dWludDY0X3Q+
JiYgcmVjb3JkcywgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIHsKKyAgICAg
ICAgaWYgKGVycm9yID09IENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yOjpOb25lKQorICAg
ICAgICAgICAgbV9yZXF1ZXN0VG9SZXNwb25zZU1hcC5yZW1vdmVBbGxNYXRjaGluZyhbJl0oY29u
c3QgYXV0byYgaXRlbSkgeyByZXR1cm4gcmVjb3Jkcy5jb250YWlucyhpdGVtLmlkZW50aWZpZXIp
OyB9KTsKKworICAgICAgICBjYWxsYmFjayghIXJlY29yZHMuc2l6ZSgpLCBlcnJvcik7CisgICAg
fSk7Cit9CisKK3ZvaWQgQ2FjaGU6OmJhdGNoUHV0T3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVz
dCYgcmVxdWVzdCwgY29uc3QgRmV0Y2hSZXNwb25zZSYgcmVzcG9uc2UsIEZ1bmN0aW9uPHZvaWQo
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IpPiYmIGNhbGxiYWNrKQoreworICAgIC8vIEZJ
WE1FOiBBZGQgYSBzZXRIVFRQSGVhZGVyRmllbGRzIG9uIFJlc291cmNlUmVzcG9uc2VCYXNlLgor
ICAgIFJlc291cmNlUmVzcG9uc2UgY2FjaGVkUmVzcG9uc2UgPSByZXNwb25zZS5yZXNwb25zZSgp
OworICAgIGZvciAoYXV0byYgaGVhZGVyIDogcmVzcG9uc2UuaGVhZGVycygpLmludGVybmFsSGVh
ZGVycygpKQorICAgICAgICBjYWNoZWRSZXNwb25zZS5zZXRIVFRQSGVhZGVyRmllbGQoaGVhZGVy
LmtleSwgaGVhZGVyLnZhbHVlKTsKKworICAgIFJlc291cmNlUmVxdWVzdCBjYWNoZWRSZXF1ZXN0
ID0gcmVxdWVzdC5pbnRlcm5hbFJlcXVlc3QoKS5yZXF1ZXN0OworICAgIGNhY2hlZFJlcXVlc3Qu
c2V0SFRUUEhlYWRlckZpZWxkcyhyZXF1ZXN0LmhlYWRlcnMoKS5pbnRlcm5hbEhlYWRlcnMoKSk7
CisKKyAgICBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQgcmVjb3JkID0geyAwLAorICAg
ICAgICByZXF1ZXN0LmhlYWRlcnMoKS5ndWFyZCgpLCBXVEZNb3ZlKGNhY2hlZFJlcXVlc3QpLCBy
ZXF1ZXN0LmludGVybmFsUmVxdWVzdCgpLm9wdGlvbnMsIHJlcXVlc3QuaW50ZXJuYWxSZXF1ZXN0
KCkucmVmZXJyZXIsCisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMoKS5ndWFyZCgpLCBXVEZNb3Zl
KGNhY2hlZFJlc3BvbnNlKQorICAgIH07CisKKyAgICBtX2Nvbm5lY3Rpb24tPmJhdGNoUHV0T3Bl
cmF0aW9uKG9yaWdpbigpLCBtX25hbWUsIFdURk1vdmUocmVjb3JkKSwgW3RoaXMsIHByb3RlY3Rl
ZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oVmVj
dG9yPHVpbnQ2NF90PiYmLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJvciBlcnJvcikgewor
ICAgICAgICBjYWxsYmFjayhlcnJvcik7CisgICAgfSk7Cit9CisKK3ZvaWQgQ2FjaGU6OnVwZGF0
ZVJlcXVlc3RUb1Jlc3BvbnNlTWFwKFZlY3RvcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNv
cmQ+JiYgcmVjb3JkcykKK3sKKyAgICBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiBuZXdNYXA7
CisKKyAgICBmb3IgKGF1dG8mIHJlY29yZCA6IHJlY29yZHMpIHsKKyAgICAgICAgc2l6ZV90IGlu
ZGV4ID0gbV9yZXF1ZXN0VG9SZXNwb25zZU1hcC5maW5kTWF0Y2hpbmcoWyZdKGNvbnN0IGF1dG8m
IGl0ZW0pIHsgcmV0dXJuIGl0ZW0uaWRlbnRpZmllciA9PSByZWNvcmQuaWRlbnRpZmllcjsgfSk7
CisgICAgICAgIGlmIChpbmRleCAhPSBub3RGb3VuZCkKKyAgICAgICAgICAgIG5ld01hcC5hcHBl
bmQoV1RGTW92ZShtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwW2luZGV4XSkpOworICAgICAgICBlbHNl
IHsKKyAgICAgICAgICAgIGF1dG8gcmVxdWVzdEhlYWRlcnMgPSBGZXRjaEhlYWRlcnM6OmNyZWF0
ZShyZWNvcmQucmVxdWVzdEhlYWRlcnNHdWFyZCwgSFRUUEhlYWRlck1hcCB7IHJlY29yZC5yZXF1
ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSB9KTsKKyAgICAgICAgICAgIEZldGNoUmVxdWVzdDo6SW50
ZXJuYWxSZXF1ZXN0IGludGVybmFsUmVxdWVzdCA9IHsgV1RGTW92ZShyZWNvcmQucmVxdWVzdCks
IFdURk1vdmUocmVjb3JkLm9wdGlvbnMpLCBXVEZNb3ZlKHJlY29yZC5yZWZlcnJlcikgfTsKKyAg
ICAgICAgICAgIGF1dG8gcmVxdWVzdCA9IEZldGNoUmVxdWVzdDo6Y3JlYXRlKG1fY29udGV4dCwg
c3RkOjpudWxsb3B0LCBXVEZNb3ZlKHJlcXVlc3RIZWFkZXJzKSwgV1RGTW92ZShpbnRlcm5hbFJl
cXVlc3QpKTsKKworICAgICAgICAgICAgYXV0byByZXNwb25zZUhlYWRlcnMgPSBGZXRjaEhlYWRl
cnM6OmNyZWF0ZShyZWNvcmQucmVzcG9uc2VIZWFkZXJzR3VhcmQsIEhUVFBIZWFkZXJNYXAgeyBy
ZWNvcmQucmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkcygpIH0pOworICAgICAgICAgICAgYXV0byBy
ZXNwb25zZSA9IEZldGNoUmVzcG9uc2U6OmNyZWF0ZShtX2NvbnRleHQsIHN0ZDo6bnVsbG9wdCwg
V1RGTW92ZShyZXNwb25zZUhlYWRlcnMpLCBXVEZNb3ZlKHJlY29yZC5yZXNwb25zZSkpOworCisg
ICAgICAgICAgICBuZXdNYXAuYXBwZW5kKENhY2hlU3RvcmFnZVJlY29yZCB7IHJlY29yZC5pZGVu
dGlmaWVyLCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKHJlc3BvbnNlKSB9KTsKKyAgICAgICAg
fQorICAgIH0KKyAgICBtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwID0gV1RGTW92ZShuZXdNYXApOwor
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NhY2hlL0NhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hl
LmgKaW5kZXggMDA4MmFjZDU1NmRkZjVkZWU5Zjc1MDY2NWMyZjRlOWViOWRkOTY1ZS4uNDlmOTEx
Njg5NmFlZjVhZDliY2JlYmFkMmUxOTg3MDJkZWM2NTY1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2FjaGUvQ2FjaGUuaApAQCAtMjUsMzYgKzI1LDU1IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5j
bHVkZSAiRmV0Y2hSZXF1ZXN0LmgiCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5o
IgorI2luY2x1ZGUgIkNhY2hlU3RvcmFnZVJlY29yZC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIEZldGNoUmVzcG9uc2U7Ci0KLXN0cnVjdCBDYWNoZVF1ZXJ5T3B0aW9uczsKK2Ns
YXNzIENhY2hlUXVlcnlPcHRpb25zOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAog
Y2xhc3MgQ2FjaGUgOiBwdWJsaWMgUmVmQ291bnRlZDxDYWNoZT4gewogcHVibGljOgotICAgIHN0
YXRpYyBSZWY8Q2FjaGU+IGNyZWF0ZShTdHJpbmcmJiBuYW1lKSB7IHJldHVybiBhZG9wdFJlZigq
bmV3IENhY2hlKFdURk1vdmUobmFtZSkpKTsgfQorICAgIHN0YXRpYyBSZWY8Q2FjaGU+IGNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBTdHJpbmcmJiBuYW1lLCBSZWY8Q2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbj4mJiBjb25uZWN0aW9uKSB7IHJldHVybiBhZG9wdFJlZigqbmV3
IENhY2hlKGNvbnRleHQsIFdURk1vdmUobmFtZSksIFdURk1vdmUoY29ubmVjdGlvbikpKTsgfQor
ICAgIH5DYWNoZSgpOwogCiAgICAgdXNpbmcgUmVxdWVzdEluZm8gPSBGZXRjaFJlcXVlc3Q6Oklu
Zm87CiAKLSAgICB1c2luZyBNYXRjaEFsbFByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURM
U2VxdWVuY2U8SURMSW50ZXJmYWNlPEZldGNoUmVzcG9uc2U+Pj47CiAgICAgdXNpbmcgS2V5c1By
b21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMU2VxdWVuY2U8SURMSW50ZXJmYWNlPEZldGNo
UmVxdWVzdD4+PjsKIAotICAgIHZvaWQgbWF0Y2goUmVxdWVzdEluZm8mJiwgc3RkOjpvcHRpb25h
bDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7Ci0gICAgdm9p
ZCBtYXRjaEFsbChzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZvPiYmLCBzdGQ6Om9wdGlvbmFsPENh
Y2hlUXVlcnlPcHRpb25zPiYmLCBNYXRjaEFsbFByb21pc2UmJik7CisgICAgZW51bSBjbGFzcyBN
YXRjaFR5cGUgeyBBbGwsIE9ubHlGaXJzdCB9OworICAgIHZvaWQgbWF0Y2goUmVxdWVzdEluZm8m
JiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisgICAgdm9p
ZCBtYXRjaEFsbChzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZvPiYmLCBDYWNoZVF1ZXJ5T3B0aW9u
cyYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmLCBNYXRjaFR5cGUgPSBNYXRjaFR5cGU6OkFsbCk7
CiAgICAgdm9pZCBhZGQoUmVxdWVzdEluZm8mJiwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYp
OwogCiAgICAgdm9pZCBhZGRBbGwoVmVjdG9yPFJlcXVlc3RJbmZvPiYmLCBET01Qcm9taXNlRGVm
ZXJyZWQ8dm9pZD4mJik7CiAgICAgdm9pZCBwdXQoUmVxdWVzdEluZm8mJiwgUmVmPEZldGNoUmVz
cG9uc2U+JiYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKTsKLSAgICB2b2lkIHJlbW92ZShS
ZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBET01Qcm9t
aXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJik7Ci0gICAgdm9pZCBrZXlzKHN0ZDo6b3B0aW9uYWw8
UmVxdWVzdEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIEtleXNQ
cm9taXNlJiYpOworICAgIHZvaWQgcmVtb3ZlKFJlcXVlc3RJbmZvJiYsIENhY2hlUXVlcnlPcHRp
b25zJiYsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmKTsKKyAgICB2b2lkIGtleXMo
c3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4mJiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgS2V5c1By
b21pc2UmJik7CisKKyAgICBjb25zdCBTdHJpbmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25h
bWU7IH0KKworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIHF1ZXJ5Q2FjaGVNYXRjaChj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgY2Fj
aGVkUmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IENhY2hlUXVlcnlPcHRp
b25zJik7CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgQ2FjaGUoU3RyaW5nJiYgbmFtZSkgOiBt
X25hbWUoV1RGTW92ZShuYW1lKSkgeyB9CisgICAgQ2FjaGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYsIFN0cmluZyYmIG5hbWUsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYmKTsKKworICAg
IFN0cmluZyBvcmlnaW4oKSBjb25zdDsKIAorICAgIHZvaWQgcmVmcmVzaFJlcXVlc3RUb1Jlc3Bv
bnNlTWFwKEZ1bmN0aW9uPHZvaWQoKT4mJik7CisgICAgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29y
ZD4gcXVlcnlDYWNoZVdpdGhUYXJnZXRTdG9yYWdlKGNvbnN0IEZldGNoUmVxdWVzdCYsIGNvbnN0
IENhY2hlUXVlcnlPcHRpb25zJiwgY29uc3QgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4mKTsK
KyAgICB2b2lkIHF1ZXJ5Q2FjaGUoUmVmPEZldGNoUmVxdWVzdD4mJiwgQ2FjaGVRdWVyeU9wdGlv
bnMmJiwgRnVuY3Rpb248dm9pZChjb25zdCBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiYpPiYm
KTsKKyAgICB2b2lkIGJhdGNoRGVsZXRlT3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYsIENh
Y2hlUXVlcnlPcHRpb25zJiYsIEZ1bmN0aW9uPHZvaWQoYm9vbCBkaWRSZW1vdmFsLCBDYWNoZVN0
b3JhZ2VDb25uZWN0aW9uOjpFcnJvcik+JiYpOworICAgIHZvaWQgYmF0Y2hQdXRPcGVyYXRpb24o
Y29uc3QgRmV0Y2hSZXF1ZXN0JiwgY29uc3QgRmV0Y2hSZXNwb25zZSYsIEZ1bmN0aW9uPHZvaWQo
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IpPiYmKTsKKworICAgIHZvaWQgdXBkYXRlUmVx
dWVzdFRvUmVzcG9uc2VNYXAoVmVjdG9yPENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlY29yZD4m
Jik7CisKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBtX2NvbnRleHQ7CiAgICAgU3RyaW5n
IG1fbmFtZTsKKyAgICBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOwor
CisgICAgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4gbV9yZXF1ZXN0VG9SZXNwb25zZU1hcDsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvY2FjaGUvQ2FjaGUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9D
YWNoZS5pZGwKaW5kZXggZDQ3OTY5MTU1ZDIwYTRmN2JmYTM4YTZkYzBiMmRmMzIyNTZhOTRlMC4u
ODk3NDNhZWJkMjkxODZkOGQ4NjMyYjZkMmFlNjI2NGJmOTVjZWU0ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9DYWNoZS5pZGwKQEAgLTMwLDEyICszMCwxNiBAQCB0eXBlZGVmIChGZXRj
aFJlcXVlc3Qgb3IgVVNWU3RyaW5nKSBSZXF1ZXN0SW5mbzsKICAgICBFeHBvc2VkPShXaW5kb3cs
V29ya2VyKSwKICAgICBFbmFibGVkQXRSdW50aW1lPUNhY2hlQVBJLAogICAgIEltcGxlbWVudGF0
aW9uTGFja3NWVGFibGUsCisgICAgUHJpdmF0ZUlkZW50aWZpZXIsCisgICAgUHVibGljSWRlbnRp
ZmllciwKIF0gaW50ZXJmYWNlIENhY2hlIHsKICAgICBbTmV3T2JqZWN0XSBQcm9taXNlPGFueT4g
bWF0Y2goUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0
aW9ucyk7Ci0gICAgW05ld09iamVjdF0gUHJvbWlzZTxzZXF1ZW5jZTxGZXRjaFJlc3BvbnNlPj4g
bWF0Y2hBbGwob3B0aW9uYWwgUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVy
eU9wdGlvbnMgb3B0aW9ucyk7CisgICAgW05ld09iamVjdCwgUHJpdmF0ZUlkZW50aWZpZXIsIFB1
YmxpY0lkZW50aWZpZXJdIFByb21pc2U8c2VxdWVuY2U8RmV0Y2hSZXNwb25zZT4+IG1hdGNoQWxs
KG9wdGlvbmFsIFJlcXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25z
IG9wdGlvbnMpOwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gYWRkKFJlcXVlc3RJbmZv
IHJlcXVlc3QpOwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gYWRkQWxsKHNlcXVlbmNl
PFJlcXVlc3RJbmZvPiByZXF1ZXN0cyk7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiBw
dXQoUmVxdWVzdEluZm8gcmVxdWVzdCwgRmV0Y2hSZXNwb25zZSByZXNwb25zZSk7CiAgICAgW05l
d09iamVjdCwgSW1wbGVtZW50ZWRBcz1yZW1vdmVdIFByb21pc2U8Ym9vbGVhbj4gZGVsZXRlKFJl
cXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25zIG9wdGlvbnMpOwog
ICAgIFtOZXdPYmplY3RdIFByb21pc2U8c2VxdWVuY2U8UmVxdWVzdD4+IGtleXMob3B0aW9uYWwg
UmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9ucyk7
CisKKyAgICBbUHJpdmF0ZUlkZW50aWZpZXIsIEltcGxlbWVudGVkQXM9bmFtZV0gRE9NU3RyaW5n
IGNhY2hlTmFtZSgpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvQ2FjaGVRdWVyeU9wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2Fj
aGVRdWVyeU9wdGlvbnMuaAppbmRleCA2OGY2N2ZhY2YzNTY4NzFlZWY0ZTU1NDY5NThiNzI3YTY1
OTM2OTNiLi5iMjg3YWRlYWYzZDg0MTQ3ZGY0YzVjZGNmMjBjMjg3MWE2MjlhMzQ0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlUXVlcnlPcHRpb25zLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVF1ZXJ5T3B0aW9ucy5oCkBAIC0y
OSw3ICsyOSwxMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBDYWNoZVF1ZXJ5
T3B0aW9ucyB7CitjbGFzcyBDYWNoZVF1ZXJ5T3B0aW9ucyB7CitwdWJsaWM6CisgICAgQ2FjaGVR
dWVyeU9wdGlvbnMgaXNvbGF0ZWRDb3B5KCkgY29uc3QgeyByZXR1cm4gQ2FjaGVRdWVyeU9wdGlv
bnMgeyBpZ25vcmVTZWFyY2gsIGlnbm9yZU1ldGhvZCwgaWdub3JlVmFyeSwgY2FjaGVOYW1lLmlz
b2xhdGVkQ29weSgpIH07IH0KKwogICAgIGJvb2wgaWdub3JlU2VhcmNoIHsgZmFsc2UgfTsKICAg
ICBib29sIGlnbm9yZU1ldGhvZCB7IGZhbHNlIH07CiAgICAgYm9vbCBpZ25vcmVWYXJ5IHsgZmFs
c2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9y
YWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmNwcApp
bmRleCAxMjM2N2JlOTY2ZTFlM2EyOGE5ZTI5ZGJmZTRiODNiZDVhY2RlY2M2Li4xYTY0NTQyZjI2
NTY4NGVlMmVhMDgyYWJlMmQ4ZjVjZjQ2ODFmMDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuY3BwCkBAIC0yNiwzMSArMjYsOTQgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJDYWNoZVN0b3JhZ2UuaCIKIAorI2luY2x1ZGUgIkNhY2hl
UXVlcnlPcHRpb25zLmgiCisjaW5jbHVkZSAiSlNDYWNoZS5oIgorI2luY2x1ZGUgIlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12b2lkIENhY2hlU3Rv
cmFnZTo6bWF0Y2goUmVxdWVzdEluZm8mJiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9u
cz4mJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQorU3RyaW5nIENhY2hlU3RvcmFn
ZTo6b3JpZ2luKCkgY29uc3QKIHsKLSAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9uIHsgVHlw
ZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgYXV0byogb3Jp
Z2luID0gbV9jb250ZXh0LnNlY3VyaXR5T3JpZ2luKCk7CisgICAgcmV0dXJuIG9yaWdpbiA/IG9y
aWdpbi0+dG9TdHJpbmcoKSA6IGVtcHR5U3RyaW5nKCk7CiB9CiAKLXZvaWQgQ2FjaGVTdG9yYWdl
OjpoYXMoY29uc3QgU3RyaW5nJiwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYgcHJv
bWlzZSkKK3ZvaWQgQ2FjaGVTdG9yYWdlOjpoYXMoY29uc3QgU3RyaW5nJiBuYW1lLCBET01Qcm9t
aXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVqZWN0
KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0p
OworICAgIHJlZnJlc2hDYWNoZU1hcChbdGhpcywgbmFtZSwgcHJvbWlzZSA9IFdURk1vdmUocHJv
bWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgIHByb21pc2UucmVzb2x2ZShtX2NhY2hlTWFwLmZp
bmRNYXRjaGluZyhbJl0oYXV0byYgaXRlbSkgeyByZXR1cm4gaXRlbS0+bmFtZSgpID09IG5hbWU7
IH0pICE9IG5vdEZvdW5kKTsKKyAgICB9KTsKK30KKwordm9pZCBDYWNoZVN0b3JhZ2U6OnJlZnJl
c2hDYWNoZU1hcChGdW5jdGlvbjx2b2lkKCk+JiYgY2FsbGJhY2spCit7CisgICAgbV9jb25uZWN0
aW9uLT5yZWZyZXNoQ2FjaGVNYXAob3JpZ2luKCksIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFr
ZVJlZigqdGhpcyksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiBjYWNoZU5hbWVzKSB7CisgICAgICAgIG1fY2FjaGVNYXAucmVtb3ZlQWxsTWF0Y2hp
bmcoWyZdKGF1dG8mIGNhY2hlKSB7IHJldHVybiAhY2FjaGVOYW1lcy5jb250YWlucyhjYWNoZS0+
bmFtZSgpKTsgfSk7CisKKyAgICAgICAgc3RkOjpzb3J0KG1fY2FjaGVNYXAuYmVnaW4oKSwgbV9j
YWNoZU1hcC5lbmQoKSwgWyZdKGF1dG8mIGEsIGF1dG8mIGIpIHsKKyAgICAgICAgICAgIHJldHVy
biBjYWNoZU5hbWVzLmZpbmQoYS0+bmFtZSgpKSA8IGNhY2hlTmFtZXMuZmluZChiLT5uYW1lKCkp
OworICAgICAgICB9KTsKKworICAgICAgICBjYWxsYmFjaygpOworICAgIH0pOwogfQogCi12b2lk
IENhY2hlU3RvcmFnZTo6b3Blbihjb25zdCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURM
SW50ZXJmYWNlPENhY2hlPj4mJiBwcm9taXNlKQordm9pZCBDYWNoZVN0b3JhZ2U6Om9wZW4oY29u
c3QgU3RyaW5nJiBuYW1lLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPENhY2hlPj4m
JiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwg
QVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHJlZnJlc2hDYWNoZU1hcChb
dGhpcywgbmFtZSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAg
ICAgIGF1dG8gcG9zaXRpb24gPSBtX2NhY2hlTWFwLmZpbmRNYXRjaGluZyhbJl0oYXV0byYgaXRl
bSkgeyByZXR1cm4gaXRlbS0+bmFtZSgpID09IG5hbWU7IH0pOworICAgICAgICBpZiAocG9zaXRp
b24gIT0gbm90Rm91bmQpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShtX2NhY2hlTWFw
W3Bvc2l0aW9uXSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgbV9j
b25uZWN0aW9uLT5vcGVuKG9yaWdpbigpLCBuYW1lLCBbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYo
KnRoaXMpLCB0aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICAgICAgaWYgKGVy
cm9yICE9IENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yOjpOb25lKSB7CisgICAgICAgICAg
ICAgICAgcHJvbWlzZS5yZWplY3QoQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJv
bUVycm9yKGVycm9yKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQor
CisgICAgICAgICAgICBhdXRvIGNhY2hlID0gQ2FjaGU6OmNyZWF0ZShtX2NvbnRleHQsIFN0cmlu
ZyhuYW1lKSwgbV9jb25uZWN0aW9uLmNvcHlSZWYoKSk7CisgICAgICAgICAgICBwcm9taXNlLnJl
c29sdmUoY2FjaGUpOworICAgICAgICAgICAgbV9jYWNoZU1hcC5hcHBlbmQoV1RGTW92ZShjYWNo
ZSkpOworICAgICAgICB9KTsKKyAgICB9KTsKIH0KIAotdm9pZCBDYWNoZVN0b3JhZ2U6OnJlbW92
ZShjb25zdCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNl
KQordm9pZCBDYWNoZVN0b3JhZ2U6OnJlbW92ZShjb25zdCBTdHJpbmcmIG5hbWUsIERPTVByb21p
c2VEZWZlcnJlZDxJRExCb29sZWFuPiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS5yZWplY3Qo
RXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7
CisgICAgcmVmcmVzaENhY2hlTWFwKFt0aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9t
aXNlKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgYXV0byBwb3NpdGlvbiA9IG1fY2FjaGVNYXAuZmlu
ZE1hdGNoaW5nKFsmXShhdXRvJiBpdGVtKSB7IHJldHVybiBpdGVtLT5uYW1lKCkgPT0gbmFtZTsg
fSk7CisgICAgICAgIGlmIChwb3NpdGlvbiA9PSBub3RGb3VuZCkgeworICAgICAgICAgICAgcHJv
bWlzZS5yZXNvbHZlKGZhbHNlKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAg
ICAgICBtX2Nvbm5lY3Rpb24tPnJlbW92ZShvcmlnaW4oKSwgbmFtZSwgW3Byb3RlY3RlZFRoaXMg
PSBtYWtlUmVmKCp0aGlzKSwgbmFtZSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKENhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OkVycm9yIGVycm9yKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlm
IChlcnJvciAhPSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJvcjo6Tm9uZSkgeworICAgICAg
ICAgICAgICAgIHByb21pc2UucmVqZWN0KENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlv
bkZyb21FcnJvcihlcnJvcikpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZSh0cnVlKTsKKyAgICAgICAgfSk7CisgICAg
ICAgIG1fY2FjaGVNYXAucmVtb3ZlKHBvc2l0aW9uKTsKKyAgICB9KTsKIH0KIAogdm9pZCBDYWNo
ZVN0b3JhZ2U6OmtleXMoS2V5c1Byb21pc2UmJiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVq
ZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQi
KX0pOworICAgIHJlZnJlc2hDYWNoZU1hcChbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlz
ZSldKCkgbXV0YWJsZSB7CisgICAgICAgIFZlY3RvcjxTdHJpbmc+IGtleXM7CisgICAgICAgIGtl
eXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShtX2NhY2hlTWFwLnNpemUoKSk7CisgICAgICAgIGZv
ciAoYXV0byYgY2FjaGUgOiBtX2NhY2hlTWFwKQorICAgICAgICAgICAga2V5cy51bmNoZWNrZWRB
cHBlbmQoY2FjaGUtPm5hbWUoKSk7CisgICAgICAgIHByb21pc2UucmVzb2x2ZShrZXlzKTsKKyAg
ICB9KTsKK30KKwordm9pZCBDYWNoZVN0b3JhZ2U6OmNhY2hlTWFwKENhY2hlTWFwUHJvbWlzZSYm
IHByb21pc2UpCit7CisgICAgcmVmcmVzaENhY2hlTWFwKFt0aGlzLCBwcm9taXNlID0gV1RGTW92
ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgcHJvbWlzZS5yZXNvbHZlKG1fY2FjaGVN
YXApOworICAgIH0pOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaAppbmRleCBmYTI2OTAwMDM2YzMyNjczNjYy
MWZjYjgzN2M3NzcxZWFhOGQ4MjIzLi44NTMyODA0Mzg1OThiMWNlMmVhZDc3ZjdlNTc1NWNmY2E0
MTY2NTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3Rv
cmFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmgK
QEAgLTI1LDI5ICsyNSw0NSBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkNhY2hlLmgi
CisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIkZldGNoUmVx
dWVzdC5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY2xhc3MgQ2FjaGU7Ci0KLXN0cnVjdCBDYWNoZVF1ZXJ5T3B0aW9uczsKK2NsYXNzIENhY2hl
UXVlcnlPcHRpb25zOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAogY2xhc3MgQ2Fj
aGVTdG9yYWdlIDogcHVibGljIFJlZkNvdW50ZWQ8Q2FjaGVTdG9yYWdlPiB7CiBwdWJsaWM6Ci0g
ICAgc3RhdGljIFJlZjxDYWNoZVN0b3JhZ2U+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgQ2FjaGVTdG9yYWdlKCkpOyB9CisgICAgc3RhdGljIFJlZjxDYWNoZVN0b3JhZ2U+IGNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVj
dGlvbj4mJiBjb25uZWN0aW9uKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IENhY2hlU3RvcmFnZShj
b250ZXh0LCBXVEZNb3ZlKGNvbm5lY3Rpb24pKSk7IH0KIAotICAgIHVzaW5nIFJlcXVlc3RJbmZv
ID0gRmV0Y2hSZXF1ZXN0OjpJbmZvOwogICAgIHVzaW5nIEtleXNQcm9taXNlID0gRE9NUHJvbWlz
ZURlZmVycmVkPElETFNlcXVlbmNlPElETERPTVN0cmluZz4+OwogCi0gICAgdm9pZCBtYXRjaChS
ZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBSZWY8RGVm
ZXJyZWRQcm9taXNlPiYmKTsKICAgICB2b2lkIGhhcyhjb25zdCBTdHJpbmcmLCBET01Qcm9taXNl
RGVmZXJyZWQ8SURMQm9vbGVhbj4mJik7CiAgICAgdm9pZCBvcGVuKGNvbnN0IFN0cmluZyYsIERP
TVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8Q2FjaGU+PiYmKTsKICAgICB2b2lkIHJlbW92
ZShjb25zdCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJik7CiAgICAg
dm9pZCBrZXlzKEtleXNQcm9taXNlJiYpOwogCisgICAgdXNpbmcgQ2FjaGVNYXBQcm9taXNlID0g
RE9NUHJvbWlzZURlZmVycmVkPElETFNlcXVlbmNlPElETEludGVyZmFjZTxDYWNoZT4+PjsKKyAg
ICB2b2lkIGNhY2hlTWFwKENhY2hlTWFwUHJvbWlzZSYmKTsKKwogcHJpdmF0ZToKLSAgICBDYWNo
ZVN0b3JhZ2UoKSA9IGRlZmF1bHQ7CisgICAgQ2FjaGVTdG9yYWdlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmLCBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4mJik7CisKKyAgICB2b2lkIHJlZnJl
c2hDYWNoZU1hcChGdW5jdGlvbjx2b2lkKCk+JiYpOworICAgIFN0cmluZyBvcmlnaW4oKSBjb25z
dDsKKworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIG1fY29udGV4dDsKKyAgICBWZWN0b3I8
UmVmPENhY2hlPj4gbV9jYWNoZU1hcDsKKyAgICBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4g
bV9jb25uZWN0aW9uOwogfTsKIAoraW5saW5lIENhY2hlU3RvcmFnZTo6Q2FjaGVTdG9yYWdlKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
PiYmIGNvbm5lY3Rpb24pCisgICAgOiBtX2NvbnRleHQoY29udGV4dCkKKyAgICAsIG1fY29ubmVj
dGlvbihXVEZNb3ZlKGNvbm5lY3Rpb24pKQoreworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5pZGwKaW5kZXgg
OGQ3MWUwOTAzZTc2ZTFhNGI2MmJmYjZmMDI4NDk2ZmI5ODZmMDYyYS4uNjYzOTkzZGFkNjQwMGQ0
MDk3ODUyZjNiZGIzMzI0ODAwYTUxNzVmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2FjaGUvQ2FjaGVTdG9yYWdlLmlkbApAQCAtMzAsMTAgKzMwLDE0IEBAIHR5cGVkZWYgKEZldGNo
UmVxdWVzdCBvciBVU1ZTdHJpbmcpIFJlcXVlc3RJbmZvOwogICAgIEV4cG9zZWQ9KFdpbmRvdyxX
b3JrZXIpLAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9Q2FjaGVBUEksCiAgICAgSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZSwKKyAgICBQcml2YXRlSWRlbnRpZmllciwKKyAgICBQdWJsaWNJZGVudGlm
aWVyLAogXSBpbnRlcmZhY2UgQ2FjaGVTdG9yYWdlIHsKLSAgICBbTmV3T2JqZWN0XSBQcm9taXNl
PGFueT4gbWF0Y2goUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlv
bnMgb3B0aW9ucyk7CisgICAgW05ld09iamVjdCwgSlNCdWlsdGluXSBQcm9taXNlPGFueT4gbWF0
Y2goUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9u
cyk7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxib29sZWFuPiBoYXMoRE9NU3RyaW5nIGNhY2hl
TmFtZSk7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxDYWNoZT4gb3BlbihET01TdHJpbmcgY2Fj
aGVOYW1lKTsKICAgICBbTmV3T2JqZWN0LCBJbXBsZW1lbnRlZEFzPXJlbW92ZV0gUHJvbWlzZTxi
b29sZWFuPiBkZWxldGUoRE9NU3RyaW5nIGNhY2hlTmFtZSk7CiAgICAgW05ld09iamVjdF0gUHJv
bWlzZTxzZXF1ZW5jZTxET01TdHJpbmc+PiBrZXlzKCk7CisKKyAgICBbUHJpdmF0ZUlkZW50aWZp
ZXJdIFByb21pc2U8c2VxdWVuY2U8Q2FjaGU+PiBjYWNoZU1hcCgpOwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmpzIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDA1YzFhYmNl
N2Y3NTgzNDk3NjMwNWQ4MzJjYmYyODNhZGRmMmQ3OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmpzCkBAIC0wLDAgKzEsNTggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCitmdW5jdGlvbiBtYXRjaChyZXF1ZXN0KQoreworICBpZiAoISh0aGlzIGlu
c3RhbmNlb2YgQENhY2hlU3RvcmFnZSkpCisgICAgICAgcmV0dXJuIEBQcm9taXNlLkByZWplY3Qo
QG1ha2VUaGlzVHlwZUVycm9yKCJDYWNoZVN0b3JhZ2UiLCAibWF0Y2giKSk7CisKKyAgICByZXR1
cm4gQENhY2hlU3RvcmFnZS5wcm90b3R5cGUuQGNhY2hlTWFwLkBjYWxsKHRoaXMpLnRoZW4oKGNh
Y2hlTWFwKSA9PiB7CisgICAgICAgIGxldCBvcHRpb25zID0gYXJndW1lbnRzWzFdOworICAgICAg
ICBpZiAoQGlzT2JqZWN0KG9wdGlvbnMpICYmIG9wdGlvbnMuY2FjaGVOYW1lKSB7CisgICAgICAg
ICAgICBmb3IgKGxldCBjYWNoZSBvZiBjYWNoZU1hcCkgeworICAgICAgICAgICAgICAgIGlmIChA
Q2FjaGUucHJvdG90eXBlLkBjYWNoZU5hbWUuQGNhbGwoY2FjaGUpID09PSBvcHRpb25zLmNhY2hl
TmFtZSkgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4gQENhY2hlLnByb3RvdHlwZS5AbWF0
Y2hBbGwuQGNhbGwoY2FjaGUsIHJlcXVlc3QsIG9wdGlvbnMpLnRoZW4oKHJlc3VsdCkgPT4gewor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5sZW5ndGgpCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdFswXTsKKyAgICAgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIEBQ
cm9taXNlLkByZXNvbHZlKCk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBtYXRjaE5l
eHRDYWNoZShjYWNoZU1hcCwgcmVxdWVzdCwgb3B0aW9ucywgY291bnRlcikgeworICAgICAgICAg
ICAgaWYgKGNvdW50ZXIgPT09IGNhY2hlTWFwLmxlbmd0aCkKKyAgICAgICAgICAgICAgICByZXR1
cm4gQFByb21pc2UuQHJlc29sdmUoKTsKKworICAgICAgICAgICAgbGV0IGNhY2hlID0gQENhY2hl
U3RvcmFnZS5wcm90b3R5cGUuQGdldChjYWNoZU1hcFtjb3VudGVyXSk7CisgICAgICAgICAgICBy
ZXR1cm4gQENhY2hlLnByb3RvdHlwZS5AbWF0Y2hBbGwuQGNhbGwoY2FjaGUsIHJlcXVlc3QsIG9w
dGlvbnMpLnRoZW4oKHJlc3VsdCkgPT4geworICAgICAgICAgICAgICAgIGlmIChyZXN1bHQubGVu
Z3RoKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0WzBdOworICAgICAgICAgICAg
ICAgIHJldHVybiBtYXRjaE5leHRDYWNoZShjYWNoZU1hcCwgcmVxdWVzdCwgb3B0aW9ucywgY291
bnRlciArIDEpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIG1h
dGNoTmV4dENhY2hlKGNhY2hlTWFwLCByZXF1ZXN0LCBvcHRpb25zLCAwKTsKKyAgICB9KTsKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29u
bmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNv
bm5lY3Rpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI5ZWJiODFkNmNkYTI0ZDZjNGIwOTUyMTNkYTc2M2Zh
OTZkZTI5NGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hl
L0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCkBAIC0wLDAgKzEsNDYgQEAKKworLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
LmgiCisKKyNpbmNsdWRlICJFeGNlcHRpb24uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitF
eGNlcHRpb24gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9yKEVycm9y
IGVycm9yKQoreworICAgIHN3aXRjaCAoZXJyb3IpIHsKKyAgICBjYXNlIEVycm9yOjpOb25lOgor
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJVbmtub3duIGVycm9yIikgfTsKKyAgICBjYXNlIEVy
cm9yOjpOb3RJbXBsZW1lbnRlZDoKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJv
ciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKSB9OworICAgIH07Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9j
YWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nh
Y2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNDY3MzI0MjJhNTllYTQ3
NzdkNWQyMjUzYTVhNDlkOGVlMmRhNWY3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgKQEAgLTAsMCArMSw3MyBA
QAorCisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJGZXRjaEhlYWRlcnMu
aCIKKyNpbmNsdWRlICJGZXRjaE9wdGlvbnMuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3Qu
aCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCisjaW5jbHVkZSA8d3RmL1RocmVhZFNh
ZmVSZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2FjaGVRdWVy
eU9wdGlvbnM7CisKK2NsYXNzIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24gOiBwdWJsaWMgVGhyZWFk
U2FmZVJlZkNvdW50ZWQ8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4geworcHVibGljOgorICAgIGVu
dW0gY2xhc3MgRXJyb3IgeworICAgICAgICBOb25lLAorICAgICAgICBOb3RJbXBsZW1lbnRlZCwK
KyAgICB9OworCisgICAgc3RhdGljIEV4Y2VwdGlvbiBleGNlcHRpb25Gcm9tRXJyb3IoRXJyb3Ip
OworCisgICAgc3RydWN0IFJlY29yZCB7CisgICAgICAgIHVpbnQ2NF90IGlkZW50aWZpZXI7CisK
KyAgICAgICAgRmV0Y2hIZWFkZXJzOjpHdWFyZCByZXF1ZXN0SGVhZGVyc0d1YXJkOworICAgICAg
ICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdDsKKyAgICAgICAgRmV0Y2hPcHRpb25zIG9wdGlvbnM7
CisgICAgICAgIFN0cmluZyByZWZlcnJlcjsKKworICAgICAgICBGZXRjaEhlYWRlcnM6Okd1YXJk
IHJlc3BvbnNlSGVhZGVyc0d1YXJkOworICAgICAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNl
OworICAgIH07CisKKyAgICBzdGF0aWMgUmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IGNyZWF0
ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbigpKTsgfQor
ICAgIHZpcnR1YWwgfkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24oKSA9IGRlZmF1bHQ7CisKKyAgICB2
aXJ0dWFsIHZvaWQgb3Blbihjb25zdCBTdHJpbmcmIC8qIG9yaWdpbiAqLywgY29uc3QgU3RyaW5n
JiAvKiBjYWNoZU5hbWUgKi8sIEZ1bmN0aW9uPHZvaWQoRXJyb3IpPiYmIGNhbGxiYWNrKSB7IGNh
bGxiYWNrKEVycm9yOjpOb3RJbXBsZW1lbnRlZCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVtb3Zl
KGNvbnN0IFN0cmluZyYgLyogb3JpZ2luICovLCBjb25zdCBTdHJpbmcmIC8qIGNhY2hlTmFtZSAq
LywgRnVuY3Rpb248dm9pZChFcnJvcik+JiYgY2FsbGJhY2spIHsgY2FsbGJhY2soRXJyb3I6Ok5v
dEltcGxlbWVudGVkKTsgfQorICAgIHZpcnR1YWwgdm9pZCByZWZyZXNoQ2FjaGVNYXAoY29uc3Qg
U3RyaW5nJiAvKiBvcmlnaW4gKi8sIEZ1bmN0aW9uPHZvaWQoY29uc3QgVmVjdG9yPFN0cmluZz4m
KT4mJiBjYWxsYmFjaykgeyBjYWxsYmFjayh7IH0pOyB9CisKKyAgICB2aXJ0dWFsIHZvaWQgcmVm
cmVzaFJlcXVlc3RUb1Jlc3BvbnNlTWFwKGNvbnN0IFN0cmluZyYgLyogb3JpZ2luICovLCBjb25z
dCBTdHJpbmcmIC8qIGNhY2hlTmFtZSAqLywgRnVuY3Rpb248dm9pZChWZWN0b3I8UmVjb3JkPiYm
KT4mJiBjYWxsYmFjaykgeyBjYWxsYmFjayh7IH0pOyB9CisgICAgdmlydHVhbCB2b2lkIGJhdGNo
RGVsZXRlT3BlcmF0aW9uKGNvbnN0IFN0cmluZyYgLyogb3JpZ2luICovLCBjb25zdCBTdHJpbmcm
IC8qIGNhY2hlTmFtZSAqLywgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgQ2FjaGVRdWVyeU9wdGlv
bnMmJiwgRnVuY3Rpb248dm9pZChWZWN0b3I8dWludDY0X3Q+JiYsIEVycm9yKT4mJiBjYWxsYmFj
aykgeyBjYWxsYmFjayh7IH0sIEVycm9yOjpOb3RJbXBsZW1lbnRlZCk7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgYmF0Y2hQdXRPcGVyYXRpb24oY29uc3QgU3RyaW5nJiAvKiBvcmlnaW4gKi8sIGNvbnN0
IFN0cmluZyYgLyogY2FjaGVOYW1lICovLCBSZWNvcmQmJiwgRnVuY3Rpb248dm9pZChWZWN0b3I8
dWludDY0X3Q+JiYsIEVycm9yKT4mJiBjYWxsYmFjaykgeyBjYWxsYmFjayh7IH0sIEVycm9yOjpO
b3RJbXBsZW1lbnRlZCk7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VSZWNvcmQuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlUmVjb3JkLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDBhNmFjZTRiYTRjMDkxZGMwOWE1ZDQ1NWRmNmFjN2NhNWNhYTI3YgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlUmVjb3Jk
LmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVk
ZSAiRmV0Y2hSZXF1ZXN0LmgiCisjaW5jbHVkZSAiRmV0Y2hSZXNwb25zZS5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK3N0cnVjdCBDYWNoZVN0b3JhZ2VSZWNvcmQgeworICAgIHVpbnQ2NF90
IGlkZW50aWZpZXI7CisKKyAgICBSZWY8RmV0Y2hSZXF1ZXN0PiByZXF1ZXN0OworICAgIFJlZjxG
ZXRjaFJlc3BvbnNlPiByZXNwb25zZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NV2luZG93Q2FjaGVzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NV2luZG93Q2FjaGVzLmNwcAppbmRl
eCA4NjY1YzU1NjcyZWE1ZjQ2YjA5ZDRmOWIwNzVhNjk2MmM1OTUxZWQxLi5hOGEyNjY3YmFhNTI1
MWFlZGEwNjVkODQ4Mzg2MjU1M2Q1MDU4NTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwCkBAIC0yNyw3ICsyNywxMSBAQAogI2luY2x1
ZGUgIkRPTVdpbmRvd0NhY2hlcy5oIgogCiAjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlLmgiCisjaW5j
bHVkZSAiQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNp
bmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiUGFnZS5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTU5LDggKzYzLDggQEAgQ2FjaGVTdG9yYWdl
KiBET01XaW5kb3dDYWNoZXM6OmNhY2hlcyhET01XaW5kb3cmIHdpbmRvdykKIAogQ2FjaGVTdG9y
YWdlKiBET01XaW5kb3dDYWNoZXM6OmNhY2hlcygpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX2NhY2hl
cyAmJiBmcmFtZSgpKQotICAgICAgICBtX2NhY2hlcyA9IENhY2hlU3RvcmFnZTo6Y3JlYXRlKCk7
CisgICAgaWYgKCFtX2NhY2hlcyAmJiBmcmFtZSgpICYmIGZyYW1lKCktPnBhZ2UoKSAmJiBmcmFt
ZSgpLT5kb2N1bWVudCgpKQorICAgICAgICBtX2NhY2hlcyA9IENhY2hlU3RvcmFnZTo6Y3JlYXRl
KCpmcmFtZSgpLT5kb2N1bWVudCgpLCBmcmFtZSgpLT5wYWdlKCktPmNhY2hlU3RvcmFnZVByb3Zp
ZGVyKCkuY3JlYXRlQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbihmcmFtZSgpLT5wYWdlKCktPnNlc3Np
b25JRCgpKSk7CiAgICAgcmV0dXJuIG1fY2FjaGVzLmdldCgpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3Bw
CmluZGV4IDA1MTY5OGU3YzZlNTc5MGNkMjcwYTMxODBmZmViNDNjN2Q3ZGVhYWEuLmM1MzljZGU2
M2I0YjRkMjc3MWM2OWNmZjdkNTliN2YxMjU4NWI4MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwCkBAIC00
MCw3ICs0MCw3IEBAIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKiBXb3JrZXJHbG9iYWxTY29wZUNh
Y2hlczo6ZnJvbShXb3JrZXJHbG9iYWxTY29wZSYgc2NvcGUpCiB7CiAgICAgYXV0byogc3VwcGxl
bWVudCA9IHN0YXRpY19jYXN0PFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKj4oU3VwcGxlbWVudDxX
b3JrZXJHbG9iYWxTY29wZT46OmZyb20oJnNjb3BlLCBzdXBwbGVtZW50TmFtZSgpKSk7CiAgICAg
aWYgKCFzdXBwbGVtZW50KSB7Ci0gICAgICAgIGF1dG8gbmV3U3VwcGxlbWVudCA9IHN0ZDo6bWFr
ZV91bmlxdWU8V29ya2VyR2xvYmFsU2NvcGVDYWNoZXM+KCk7CisgICAgICAgIGF1dG8gbmV3U3Vw
cGxlbWVudCA9IHN0ZDo6bWFrZV91bmlxdWU8V29ya2VyR2xvYmFsU2NvcGVDYWNoZXM+KHNjb3Bl
KTsKICAgICAgICAgc3VwcGxlbWVudCA9IG5ld1N1cHBsZW1lbnQuZ2V0KCk7CiAgICAgICAgIHBy
b3ZpZGVUbygmc2NvcGUsIHN1cHBsZW1lbnROYW1lKCksIFdURk1vdmUobmV3U3VwcGxlbWVudCkp
OwogICAgIH0KQEAgLTU1LDcgKzU1LDcgQEAgQ2FjaGVTdG9yYWdlKiBXb3JrZXJHbG9iYWxTY29w
ZUNhY2hlczo6Y2FjaGVzKFdvcmtlckdsb2JhbFNjb3BlJiBzY29wZSkKIENhY2hlU3RvcmFnZSog
V29ya2VyR2xvYmFsU2NvcGVDYWNoZXM6OmNhY2hlcygpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2Nh
Y2hlcykKLSAgICAgICAgbV9jYWNoZXMgPSBDYWNoZVN0b3JhZ2U6OmNyZWF0ZSgpOworICAgICAg
ICBtX2NhY2hlcyA9IENhY2hlU3RvcmFnZTo6Y3JlYXRlKG1fc2NvcGUsIENhY2hlU3RvcmFnZUNv
bm5lY3Rpb246OmNyZWF0ZSgpKTsKICAgICByZXR1cm4gbV9jYWNoZXMuZ2V0KCk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVD
YWNoZXMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVD
YWNoZXMuaAppbmRleCA3OTVlYmQ2MTllMjQyMWQ0Y2ViMWI3OGNkZWU0MzNlMTIzNTE0ODZkLi5m
NmNjODUxZTA4NWUxZDNhNWMyM2NhYzZlYjdkM2U2ZmFjMzk3NjQwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oCkBA
IC0zNCw3ICszNCw3IEBAIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlOwogCiBjbGFzcyBXb3JrZXJH
bG9iYWxTY29wZUNhY2hlcyA6IHB1YmxpYyBTdXBwbGVtZW50PFdvcmtlckdsb2JhbFNjb3BlPiB7
CiBwdWJsaWM6Ci0gICAgV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMoKSA9IGRlZmF1bHQ7CisgICAg
V29ya2VyR2xvYmFsU2NvcGVDYWNoZXMoV29ya2VyR2xvYmFsU2NvcGUmIHNjb3BlKSA6IG1fc2Nv
cGUoc2NvcGUpIHsgfTsKIAogICAgIHN0YXRpYyBDYWNoZVN0b3JhZ2UqIGNhY2hlcyhXb3JrZXJH
bG9iYWxTY29wZSYpOwogCkBAIC00Myw2ICs0Myw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGNv
bnN0IGNoYXIqIHN1cHBsZW1lbnROYW1lKCk7CiAgICAgQ2FjaGVTdG9yYWdlKiBjYWNoZXMoKSBj
b25zdDsKIAorICAgIFdvcmtlckdsb2JhbFNjb3BlJiBtX3Njb3BlOwogICAgIG11dGFibGUgUmVm
UHRyPENhY2hlU3RvcmFnZT4gbV9jYWNoZXM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmgKaW5kZXggYzMyMTNlOTcyMTM5MzAwZDRhNTE4NTRj
MDU1OWFiNTUwMTRhOTU1Yi4uNzFhZmM0NmNlMDUxZTRhODRlMzFhYzkzNDQ4Mzk2YzhmODYxZTE5
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25l
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuaApA
QCAtNTcsNiArNTcsOCBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzQWN0aXZlKCkgY29uc3QgeyBy
ZXR1cm4gISFtX2Jsb2JMb2FkZXI7IH0KIAorICAgIGJvb2wgaXNSZWFkYWJsZVN0cmVhbUJvZHko
KSBjb25zdCB7IHJldHVybiBtX2JvZHkgJiYgbV9ib2R5LT5pc1JlYWRhYmxlU3RyZWFtKCk7IH0K
KwogcHJvdGVjdGVkOgogICAgIGNvbnN0IEZldGNoQm9keSYgYm9keSgpIGNvbnN0IHsgcmV0dXJu
ICptX2JvZHk7IH0KICAgICBGZXRjaEJvZHkmIGJvZHkoKSB7IHJldHVybiAqbV9ib2R5OyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaAppbmRleCBmYzNiMTA4
YjlhMmQ1YWU1ODM3YzIzYzc5MWZlMjA5Y2I2ODMzMmM4Li5mZWUxZjhmMWYzODA5M2IwZDMzNWI5
MThkOTFkY2U0NGZjZDk3ZDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoSGVhZGVycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0
Y2hIZWFkZXJzLmgKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgi
CiAjaW5jbHVkZSAiSFRUUEhlYWRlck1hcC5oIgorI2luY2x1ZGUgPHd0Zi9FbnVtVHJhaXRzLmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hUcmFpdHMuaD4KICNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgog
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTQ5LDcgKzUwLDcgQEAgcHVibGljOgogICAgIHVz
aW5nIEluaXQgPSBWYXJpYW50PFZlY3RvcjxWZWN0b3I8U3RyaW5nPj4sIFZlY3RvcjxXVEY6Oktl
eVZhbHVlUGFpcjxTdHJpbmcsIFN0cmluZz4+PjsKICAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVm
PEZldGNoSGVhZGVycz4+IGNyZWF0ZShzdGQ6Om9wdGlvbmFsPEluaXQ+JiYpOwogCi0gICAgc3Rh
dGljIFJlZjxGZXRjaEhlYWRlcnM+IGNyZWF0ZShHdWFyZCBndWFyZCA9IEd1YXJkOjpOb25lKSB7
IHJldHVybiBhZG9wdFJlZigqbmV3IEZldGNoSGVhZGVycyB7IGd1YXJkIH0pOyB9CisgICAgc3Rh
dGljIFJlZjxGZXRjaEhlYWRlcnM+IGNyZWF0ZShHdWFyZCBndWFyZCA9IEd1YXJkOjpOb25lLCBI
VFRQSGVhZGVyTWFwJiYgaGVhZGVycyA9IHsgfSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBGZXRj
aEhlYWRlcnMgeyBndWFyZCwgV1RGTW92ZShoZWFkZXJzKSB9KTsgfQogICAgIHN0YXRpYyBSZWY8
RmV0Y2hIZWFkZXJzPiBjcmVhdGUoY29uc3QgRmV0Y2hIZWFkZXJzJiBoZWFkZXJzKSB7IHJldHVy
biBhZG9wdFJlZigqbmV3IEZldGNoSGVhZGVycyB7IGhlYWRlcnMgfSk7IH0KIAogICAgIEV4Y2Vw
dGlvbk9yPHZvaWQ+IGFwcGVuZChjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmFs
dWUpOwpAQCAtODIsOSArODMsMTAgQEAgcHVibGljOgogICAgIGNvbnN0IEhUVFBIZWFkZXJNYXAm
IGludGVybmFsSGVhZGVycygpIGNvbnN0IHsgcmV0dXJuIG1faGVhZGVyczsgfQogCiAgICAgdm9p
ZCBzZXRHdWFyZChHdWFyZCk7CisgICAgR3VhcmQgZ3VhcmQoKSBjb25zdCB7IHJldHVybiBtX2d1
YXJkOyB9CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgRmV0Y2hIZWFkZXJzKEd1YXJkIGd1YXJk
LCBIVFRQSGVhZGVyTWFwJiYgaGVhZGVycyA9IHsgfSk7CisgICAgRmV0Y2hIZWFkZXJzKEd1YXJk
LCBIVFRQSGVhZGVyTWFwJiYpOwogICAgIEZldGNoSGVhZGVycyhjb25zdCBGZXRjaEhlYWRlcnMm
KTsKIAogICAgIEd1YXJkIG1fZ3VhcmQ7CkBAIC0xMTEsMyArMTEzLDE4IEBAIGlubGluZSB2b2lk
IEZldGNoSGVhZGVyczo6c2V0R3VhcmQoR3VhcmQgZ3VhcmQpCiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFp
dHM8V2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZD4geworICAgIHVzaW5nIHZhbHVlcyA9IEVu
dW1WYWx1ZXM8CisgICAgV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZCwKKyAgICBXZWJDb3Jl
OjpGZXRjaEhlYWRlcnM6Okd1YXJkOjpOb25lLAorICAgIFdlYkNvcmU6OkZldGNoSGVhZGVyczo6
R3VhcmQ6OkltbXV0YWJsZSwKKyAgICBXZWJDb3JlOjpGZXRjaEhlYWRlcnM6Okd1YXJkOjpSZXF1
ZXN0LAorICAgIFdlYkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQ6OlJlcXVlc3ROb0NvcnMsCisg
ICAgV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZDo6UmVzcG9uc2UKKyAgICA+OworfTsKKwor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcAppbmRleCBl
M2E1MWYxYWU4NDM5MmJmMzBmYzhiNWQzMzUzMWEwOWRiODVjY2FjLi5lZGZhYzVjMzg1OTFkOTll
ODhlZDBmZGYzNmU4ZGM0ZDg5NThkNjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoTG9hZGVyLmNwcApAQCAtODAsNyArODAsNyBAQCB2b2lkIEZldGNoTG9hZGVyOjpz
dGFydChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBGZXRjaFJlcXVlc3Qm
IHJlcQogICAgIG9wdGlvbnMuZGF0YUJ1ZmZlcmluZ1BvbGljeSA9IERvTm90QnVmZmVyRGF0YTsK
ICAgICBvcHRpb25zLnNhbWVPcmlnaW5EYXRhVVJMRmxhZyA9IFNhbWVPcmlnaW5EYXRhVVJMRmxh
Zzo6U2V0OwogCi0gICAgUmVzb3VyY2VSZXF1ZXN0IGZldGNoUmVxdWVzdCA9IHJlcXVlc3QuaW50
ZXJuYWxSZXF1ZXN0KCk7CisgICAgUmVzb3VyY2VSZXF1ZXN0IGZldGNoUmVxdWVzdCA9IHJlcXVl
c3QucmVzb3VyY2VSZXF1ZXN0KCk7CiAKICAgICBBU1NFUlQoY29udGV4dC5jb250ZW50U2VjdXJp
dHlQb2xpY3koKSk7CiAgICAgYXV0byYgY29udGVudFNlY3VyaXR5UG9saWN5ID0gKmNvbnRleHQu
Y29udGVudFNlY3VyaXR5UG9saWN5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNo
L0ZldGNoUmVxdWVzdC5jcHAKaW5kZXggZTY2YzE1Yzk5NGNlNTFlZGQ1NDkzYWQyNTg3NDJkZGU2
OGNhM2Q0Yi4uOGQwYzIzODc4M2JhZjAzODRkMjdjNGQ0OGY2MTdjNjEwMjc2OWU4MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcApAQCAtNzQsNyAr
NzQsNyBAQCBzdGF0aWMgc3RkOjpvcHRpb25hbDxFeGNlcHRpb24+IHNldFJlZmVycmVyKEZldGNo
UmVxdWVzdDo6SW50ZXJuYWxSZXF1ZXN0JiByZXF1ZQogCiBzdGF0aWMgc3RkOjpvcHRpb25hbDxF
eGNlcHRpb24+IGJ1aWxkT3B0aW9ucyhGZXRjaFJlcXVlc3Q6OkludGVybmFsUmVxdWVzdCYgcmVx
dWVzdCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmV0Y2hSZXF1ZXN0
OjpJbml0JiBpbml0KQogewotICAgIGlmICghaW5pdC53aW5kb3cuaXNVbmRlZmluZWRPck51bGwo
KSkKKyAgICBpZiAoIWluaXQud2luZG93LmlzVW5kZWZpbmVkT3JOdWxsKCkgJiYgIWluaXQud2lu
ZG93LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVND
SUlMaXRlcmFsKCJXaW5kb3cgY2FuIG9ubHkgYmUgbnVsbC4iKSB9OwogCiAgICAgaWYgKCFpbml0
LnJlZmVycmVyLmlzTnVsbCgpKSB7CkBAIC0yNjQsNyArMjY0LDcgQEAgY29uc3QgU3RyaW5nJiBG
ZXRjaFJlcXVlc3Q6OnVybCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcmVxdWVzdFVSTDsKIH0KIAot
UmVzb3VyY2VSZXF1ZXN0IEZldGNoUmVxdWVzdDo6aW50ZXJuYWxSZXF1ZXN0KCkgY29uc3QKK1Jl
c291cmNlUmVxdWVzdCBGZXRjaFJlcXVlc3Q6OnJlc291cmNlUmVxdWVzdCgpIGNvbnN0CiB7CiAg
ICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5oCmluZGV4IDFmMGIxNmU4YTVhMTc5ZjBmZWFjMGI1
OTdkZDU4NzQ5ZmFlZGFiZGQuLjYxZGNkMmM1ODYzMzA5N2QxZTYyZTZjNWE5MWViMTAwMjE3Nzlj
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaApAQCAt
NTMsMTEgKzUzLDE5IEBAIHB1YmxpYzoKICAgICB1c2luZyBSZWRpcmVjdCA9IEZldGNoT3B0aW9u
czo6UmVkaXJlY3Q7CiAgICAgdXNpbmcgVHlwZSA9IEZldGNoT3B0aW9uczo6VHlwZTsKIAorICAg
IHN0cnVjdCBJbnRlcm5hbFJlcXVlc3QgeworICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVz
dDsKKyAgICAgICAgRmV0Y2hPcHRpb25zIG9wdGlvbnM7CisgICAgICAgIFN0cmluZyByZWZlcnJl
cjsKKyAgICB9OworCiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxGZXRjaFJlcXVlc3Q+PiBj
cmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEluZm8mJiwgSW5pdCYmKTsKKyAgICBzdGF0
aWMgUmVmPEZldGNoUmVxdWVzdD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIHN0ZDo6b3B0aW9uYWw8RmV0Y2hCb2R5PiYmIGJvZHksIFJlZjxGZXRjaEhlYWRlcnM+JiYg
aGVhZGVycywgSW50ZXJuYWxSZXF1ZXN0JiYgcmVxdWVzdCkgeyByZXR1cm4gYWRvcHRSZWYoKm5l
dyBGZXRjaFJlcXVlc3QoY29udGV4dCwgV1RGTW92ZShib2R5KSwgV1RGTW92ZShoZWFkZXJzKSwg
V1RGTW92ZShyZXF1ZXN0KSkpOyB9CiAKICAgICBjb25zdCBTdHJpbmcmIG1ldGhvZCgpIGNvbnN0
IHsgcmV0dXJuIG1faW50ZXJuYWxSZXF1ZXN0LnJlcXVlc3QuaHR0cE1ldGhvZCgpOyB9CiAgICAg
Y29uc3QgU3RyaW5nJiB1cmwoKSBjb25zdDsKICAgICBGZXRjaEhlYWRlcnMmIGhlYWRlcnMoKSB7
IHJldHVybiBtX2hlYWRlcnMuZ2V0KCk7IH0KKyAgICBjb25zdCBGZXRjaEhlYWRlcnMmIGhlYWRl
cnMoKSBjb25zdCB7IHJldHVybiBtX2hlYWRlcnMuZ2V0KCk7IH0KIAogICAgIFR5cGUgdHlwZSgp
IGNvbnN0OwogICAgIERlc3RpbmF0aW9uIGRlc3RpbmF0aW9uKCkgY29uc3Q7CkBAIC03MywxNyAr
ODEsMTQgQEAgcHVibGljOgogCiAgICAgRXhjZXB0aW9uT3I8UmVmPEZldGNoUmVxdWVzdD4+IGNs
b25lKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKIAotICAgIHN0cnVjdCBJbnRlcm5hbFJlcXVl
c3QgewotICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdDsKLSAgICAgICAgRmV0Y2hPcHRp
b25zIG9wdGlvbnM7Ci0gICAgICAgIFN0cmluZyByZWZlcnJlcjsKLSAgICB9OworICAgIGNvbnN0
IEludGVybmFsUmVxdWVzdCYgaW50ZXJuYWxSZXF1ZXN0KCkgY29uc3QgeyByZXR1cm4gbV9pbnRl
cm5hbFJlcXVlc3Q7IH0KIAogICAgIGNvbnN0IEZldGNoT3B0aW9ucyYgZmV0Y2hPcHRpb25zKCkg
Y29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVlc3Qub3B0aW9uczsgfQotICAgIFJlc291cmNl
UmVxdWVzdCBpbnRlcm5hbFJlcXVlc3QoKSBjb25zdDsKKyAgICBSZXNvdXJjZVJlcXVlc3QgcmVz
b3VyY2VSZXF1ZXN0KCkgY29uc3Q7CiAgICAgYm9vbCBpc0JvZHlSZWFkYWJsZVN0cmVhbSgpIGNv
bnN0IHsgcmV0dXJuICFpc0JvZHlOdWxsKCkgJiYgYm9keSgpLmlzUmVhZGFibGVTdHJlYW0oKTsg
fQogCiAgICAgY29uc3QgU3RyaW5nJiBpbnRlcm5hbFJlcXVlc3RSZWZlcnJlcigpIGNvbnN0IHsg
cmV0dXJuIG1faW50ZXJuYWxSZXF1ZXN0LnJlZmVycmVyOyB9CisgICAgY29uc3QgVVJMJiBpbnRl
cm5hbFJlcXVlc3RVUkwoKSBjb25zdCB7IHJldHVybiBtX2ludGVybmFsUmVxdWVzdC5yZXF1ZXN0
LnVybCgpOyB9CiAKIHByaXZhdGU6CiAgICAgRmV0Y2hSZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmLCBzdGQ6Om9wdGlvbmFsPEZldGNoQm9keT4mJiwgUmVmPEZldGNoSGVhZGVycz4mJiwg
SW50ZXJuYWxSZXF1ZXN0JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaFJlc3BvbnNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0
Y2hSZXNwb25zZS5jcHAKaW5kZXggNjhhZGI1NTlmZTk1MzBmNzQ1NmRjOTZmOTg4NGI3ZmZkZDZh
ODFiZS4uYzZkYTExMWIxOTU4NzQxNjM1ZjEzMjAzOTJlNGM2YWI3ODIzOWZiNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCkBAIC0zNTUsNiAr
MzU1LDE0IEBAIHZvaWQgRmV0Y2hSZXNwb25zZTo6Y2FuY2VsKCkKIAogI2VuZGlmCiAKK1JlZlB0
cjxGb3JtRGF0YT4gRmV0Y2hSZXNwb25zZTo6Ym9keUZvckludGVybmFsUmVzcG9uc2UoKQorewor
ICAgIEFTU0VSVCghbV9pc0Rpc3R1cmJlZCk7CisgICAgbV9pc0Rpc3R1cmJlZCA9IHRydWU7Cisg
ICAgcmV0dXJuIGJvZHkoKS5ib2R5Rm9ySW50ZXJuYWxSZXF1ZXN0KCpzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkpOworCit9CisKIHZvaWQgRmV0Y2hSZXNwb25zZTo6c3RvcCgpCiB7CiAgICAgUmVm
UHRyPEZldGNoUmVzcG9uc2U+IHByb3RlY3RlZFRoaXModGhpcyk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oCmluZGV4IGY5YjAyZmIwZTU4N2FiNGViM2Q1
NTk3OTRiMzkxZjc5ZjVhMWRjNjYuLjk5NmI4OWU2Y2YyN2JmNDIyNzRlZWQwN2ZlYTcwMTAyY2Vj
ZTM4ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNw
b25zZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5o
CkBAIC01Nyw2ICs1Nyw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEZldGNoUmVzcG9uc2U+
IGVycm9yKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKICAgICBzdGF0aWMgRXhjZXB0aW9uT3I8
UmVmPEZldGNoUmVzcG9uc2U+PiByZWRpcmVjdChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29u
c3QgU3RyaW5nJiB1cmwsIGludCBzdGF0dXMpOwogCisgICAgc3RhdGljIFJlZjxGZXRjaFJlc3Bv
bnNlPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjpvcHRpb25h
bDxGZXRjaEJvZHk+JiYgYm9keSwgUmVmPEZldGNoSGVhZGVycz4mJiBoZWFkZXJzLCBSZXNvdXJj
ZVJlc3BvbnNlJiYgcmVzcG9uc2UpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmV0Y2hSZXNwb25z
ZShjb250ZXh0LCBXVEZNb3ZlKGJvZHkpLCBXVEZNb3ZlKGhlYWRlcnMpLCBXVEZNb3ZlKHJlc3Bv
bnNlKSkpOyB9CisKICAgICB1c2luZyBGZXRjaFByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8
SURMSW50ZXJmYWNlPEZldGNoUmVzcG9uc2U+PjsKICAgICBzdGF0aWMgdm9pZCBmZXRjaChTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiwgRmV0Y2hSZXF1ZXN0JiwgRmV0Y2hQcm9taXNlJiYpOwogCkBA
IC03OCw2ICs4MCw3IEBAIHB1YmxpYzoKICAgICBib29sIG9rKCkgY29uc3QgeyByZXR1cm4gbV9y
ZXNwb25zZS5pc1N1Y2Nlc3NmdWwoKTsgfQogICAgIGNvbnN0IFN0cmluZyYgc3RhdHVzVGV4dCgp
IGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2UuaHR0cFN0YXR1c1RleHQoKTsgfQogCisgICAgY29u
c3QgRmV0Y2hIZWFkZXJzJiBoZWFkZXJzKCkgY29uc3QgeyByZXR1cm4gbV9oZWFkZXJzOyB9CiAg
ICAgRmV0Y2hIZWFkZXJzJiBoZWFkZXJzKCkgeyByZXR1cm4gbV9oZWFkZXJzOyB9CiAgICAgUmVm
PEZldGNoUmVzcG9uc2U+IGNsb25lRm9ySlMoKTsKIApAQCAtOTAsNiArOTMsMTAgQEAgcHVibGlj
OgogCiAgICAgYm9vbCBpc0xvYWRpbmcoKSBjb25zdCB7IHJldHVybiAhIW1fYm9keUxvYWRlcjsg
fQogCisgICAgUmVmUHRyPEZvcm1EYXRhPiBib2R5Rm9ySW50ZXJuYWxSZXNwb25zZSgpOworCisg
ICAgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UoKSBjb25zdCB7IHJldHVybiBtX3Jl
c3BvbnNlOyB9CisKIHByaXZhdGU6CiAgICAgRmV0Y2hSZXNwb25zZShTY3JpcHRFeGVjdXRpb25D
b250ZXh0Jiwgc3RkOjpvcHRpb25hbDxGZXRjaEJvZHk+JiYsIFJlZjxGZXRjaEhlYWRlcnM+JiYs
IFJlc291cmNlUmVzcG9uc2UmJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0YjQwNzBhMGFmYjU5YjFhMmRhMjZhZDE4YjZm
Zjc5MWFjZTdhYzQ5Li42ODVjYjQxYjczZjE0MjAyZDk3MmQ3MjUwZTA0Y2JlZThiNzU0YmQ0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC0xNzg0LDYgKzE3ODQsMTQgQEAKIAkJNDFDRjhCRTcxRDQ2MjI2NzAwNzA3REM5IC8qIEZl
dGNoQm9keUNvbnN1bWVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxQ0Y4QkU0MUQ0NjIyMjAwMDcwN0RDOSAvKiBGZXRjaEJvZHlDb25zdW1lci5j
cHAgKi87IH07CiAJCTQxRDAxNUNBMEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlwZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMDE1QzgwRjRC
NUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDFEMDE1Q0IwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRl
bnRUeXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxRDAxNUM5MEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlwZS5jcHAgKi87IH07CisJCTQx
RDEyOUNFMUYzRDBFRjYwMEQxNUU0NyAvKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFGQjI3OEQxRjM0QzI4
MjAwNzk1NDg3IC8qIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmggKi87IH07CisJCTQxRDEyOUNG
MUYzRDBFRkUwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDEyOUM5MUYzRDBFRTMwMEQx
NUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCAqLzsgfTsKKwkJNDFEMTI5RDAxRjNE
MEYwNTAwRDE1RTQ3IC8qIENhY2hlUXVlcnlPcHRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUZCMjc5QjFGMzRDRUYwMDA3OTU0ODcgLyogQ2Fj
aGVRdWVyeU9wdGlvbnMuaCAqLzsgfTsKKwkJNDFEMTI5RDExRjNEMEYwRTAwRDE1RTQ3IC8qIERP
TVdpbmRvd0NhY2hlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDFGQjI3OEMxRjM0QzI4MjAwNzk1NDg3IC8qIERPTVdpbmRvd0NhY2hlcy5oICovOyB9
OworCQk0MUQxMjlEMjFGM0QwRjEyMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUmVjb3JkLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQxMjlDQTFGM0Qw
RUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUmVjb3JkLmggKi87IH07CisJCTQxRDEyOUQzMUYz
RDBGMTYwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQxMjlDQzFGM0QwRUUzMDBEMTVFNDcg
LyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTQxRDEyOUQ1MUYzRDBGNjkwMEQxNUU0NyAvKiBDYWNoZVN0
b3JhZ2VQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDFEMTI5RDQxRjNEMEY2NjAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVByb3ZpZGVyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDFEMTI5
REIxRjNEMTQzODAwRDE1RTQ3IC8qIEZldGNoSGVhZGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFGNTRGODMxQzUwQzRGNjAwMzM4NDg4IC8qIEZl
dGNoSGVhZGVycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTQxREVGQ0I1MUU1NkMxQkQwMDBEOUU1RiAvKiBKU0RPTU1hcExpa2UuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFERUZDQjMxRTU2QzFC
OTAwMEQ5RTVGIC8qIEpTRE9NTWFwTGlrZS5jcHAgKi87IH07CiAJCTQxREVGQ0I2MUU1NkMxQkQw
MDBEOUU1RiAvKiBKU0RPTU1hcExpa2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQxREVGQ0I0MUU1NkMxQjkwMDBEOUU1RiAvKiBKU0RPTU1hcExpa2Uu
aCAqLzsgfTsKIAkJNDFFMUIxRDAwRkY1OTg2OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2VyLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRTFCMUNB
MEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5jcHAgKi87IH07CkBAIC05NDM2LDYg
Kzk0NDQsMTEgQEAKIAkJNDFDRjhCRTYxRDQ2MjIyQzAwNzA3REM5IC8qIEZldGNoSW50ZXJuYWxz
LmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gRmV0Y2hJbnRlcm5h
bHMuanM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRDAxNUM4MEY0QjVDNzEwMDRB
NjYyRiAvKiBDb250ZW50VHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
b250ZW50VHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUQwMTVDOTBGNEI1
QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQ29udGVudFR5cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk0MUQxMjlDOTFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDFEMTI5Q0ExRjNEMEVFMzAw
RDE1RTQ3IC8qIENhY2hlU3RvcmFnZVJlY29yZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDYWNoZVN0b3JhZ2VSZWNvcmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNDFEMTI5Q0IxRjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZS5qcyAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9IENhY2hlU3RvcmFnZS5qczsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDFEMTI5Q0MxRjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3Rv
cmFnZUNvbm5lY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVT
dG9yYWdlQ29ubmVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUQxMjlE
NDFGM0QwRjY2MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDFENTFCQjIxRTRFMkU4MTAwMTMxQTVCIC8qIExpYldlYlJUQ0F1
ZGlvRm9ybWF0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExpYldlYlJUQ0F1
ZGlvRm9ybWF0Lmg7IHBhdGggPSBsaWJ3ZWJydGMvTGliV2ViUlRDQXVkaW9Gb3JtYXQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFERUZDQjIxRTU2QzFCOTAwMEQ5RTVGIC8qIEpT
RE9NQmluZGluZ0ludGVybmFscy5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsg
cGF0aCA9IEpTRE9NQmluZGluZ0ludGVybmFscy5qczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDFERUZDQjMxRTU2QzFCOTAwMEQ5RTVGIC8qIEpTRE9NTWFwTGlrZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTU1hcExpa2UuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTc2MjAsNiArMTc2MzMsMTAgQEAKIAkJCQk0MTM4MEMy
MTFGMzQzNjhEMDAxNTVGREEgLyogQ2FjaGVTdG9yYWdlLmNwcCAqLywKIAkJCQk0MTM4MEMyMjFG
MzQzNjkwMDAxNTVGREEgLyogQ2FjaGVTdG9yYWdlLmggKi8sCiAJCQkJNDEzODBDMjQxRjM0MzY5
NzAwMTU1RkRBIC8qIENhY2hlU3RvcmFnZS5pZGwgKi8sCisJCQkJNDFEMTI5Q0IxRjNEMEVFMzAw
RDE1RTQ3IC8qIENhY2hlU3RvcmFnZS5qcyAqLywKKwkJCQk0MUQxMjlDOTFGM0QwRUUzMDBEMTVF
NDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAgKi8sCisJCQkJNDFEMTI5Q0MxRjNEMEVF
MzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaCAqLywKKwkJCQk0MUQxMjlDQTFG
M0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUmVjb3JkLmggKi8sCiAJCQkJNDFGQjI3OEUx
RjM0QzI4MjAwNzk1NDg3IC8qIERPTVdpbmRvd0NhY2hlcy5jcHAgKi8sCiAJCQkJNDFGQjI3OEMx
RjM0QzI4MjAwNzk1NDg3IC8qIERPTVdpbmRvd0NhY2hlcy5oICovLAogCQkJCTQxMzgwQzJCMUYz
NDNFMkYwMDE1NUZEQSAvKiBET01XaW5kb3dDYWNoZXMuaWRsICovLApAQCAtMTg1NzksMTIgKzE4
NTk2LDEyIEBACiAJCQkJNTE4MkMyNTIxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtl
ci5oICovLAogCQkJCTUxODJDMjUxMUYzMTQyNTAwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXJD
b250YWluZXIuY3BwICovLAogCQkJCTUxODJDMjU0MUYzMTQyNTAwMDU5QkE3QyAvKiBKU1NlcnZp
Y2VXb3JrZXJDb250YWluZXIuaCAqLywKLQkJCQk1MUYxNzUwMDFGMzU4QjM2MDBDNzQ5NTAgLyog
SlNTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuY3BwICovLAotCQkJCTUxRjE3NTAxMUYzNThC
MzYwMEM3NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5oICovLAogCQkJCTUx
ODJDMjRFMUYzMTQyNTAwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5jcHAg
Ki8sCiAJCQkJNTE4MkMyNEQxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlckdsb2Jh
bFNjb3BlLmggKi8sCiAJCQkJNTE4MkMyNEYxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbi5jcHAgKi8sCiAJCQkJNTE4MkMyNTAxRjMxNDI1MDAwNTlCQTdDIC8q
IEpTU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oICovLAorCQkJCTUxRjE3NTAwMUYzNThCMzYw
MEM3NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5jcHAgKi8sCisJCQkJNTFG
MTc1MDExRjM1OEIzNjAwQzc0OTUwIC8qIEpTU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmgg
Ki8sCiAJCQkpOwogCQkJbmFtZSA9IFNlcnZpY2VXb3JrZXJzOwogCQkJcGF0aCA9IERlcml2ZWRT
b3VyY2VzOwpAQCAtMTkxODksNiArMTkyMDYsNyBAQAogCQkJCUJDMTI0RUU2MEMyNjQxQ0QwMDlF
MjM0OSAvKiBCYXJQcm9wLmlkbCAqLywKIAkJCQk0NjBCQjYxMzFEMEExQkVDMDAyMjE4MTIgLyog
QmFzZTY0VXRpbGl0aWVzLmNwcCAqLywKIAkJCQk0NjBCQjYxNDFEMEExQkVDMDAyMjE4MTIgLyog
QmFzZTY0VXRpbGl0aWVzLmggKi8sCisJCQkJNDFEMTI5RDQxRjNEMEY2NjAwRDE1RTQ3IC8qIENh
Y2hlU3RvcmFnZVByb3ZpZGVyLmggKi8sCiAJCQkJMDcyQ0E4NjAxNkNCNERDMzAwOEFFMTMxIC8q
IENhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwICovLAogCQkJCTA3OUQwODY3MTYyRjIwRTgwMERC
ODY1OCAvKiBDYXB0aW9uVXNlclByZWZlcmVuY2VzLmggKi8sCiAJCQkJMDc5RDA4NkExNjJGMjFG
OTAwREI4NjU4IC8qIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcCAqLywKQEAgLTI2
Njc1LDcgKzI2NjkzLDExIEBACiAJCQkJMDc1Mzg2MDMxNDQ4OUU5ODAwQjc4NDUyIC8qIENhY2hl
ZFRleHRUcmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNCMTZDMjgwOTc5QzNCRDAwNDY3NzQx
IC8qIENhY2hlZFhTTFN0eWxlU2hlZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRjE5OTUwMDgy
NDVFNTkwMDFFOUFCQyAvKiBDYWNoZVBvbGljeS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5
RDAxRjNEMEYwNTAwRDE1RTQ3IC8qIENhY2hlUXVlcnlPcHRpb25zLmggaW4gSGVhZGVycyAqLywK
IAkJCQk0MTM4MEMyOTFGMzQzNkFDMDAxNTVGREEgLyogQ2FjaGVTdG9yYWdlLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk0MUQxMjlEMzFGM0QwRjE2MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVj
dGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5RDUxRjNEMEY2OTAwRDE1RTQ3IC8qIENh
Y2hlU3RvcmFnZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUQxMjlEMjFGM0QwRjEy
MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUmVjb3JkLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDNB
RjhFNzFBQzVCN0VDMDBDQTcxN0UgLyogQ2FjaGVWYWxpZGF0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQk0OUFFMkQ5NzEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY3VsYXRpb25WYWx1ZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJN0MxRThEMDExRUQwQzJEQTAwQjFEOTgzIC8qIENhbGxiYWNrUmVzdWx0
LmggaW4gSGVhZGVycyAqLywKQEAgLTI3MTQ3LDYgKzI3MTY5LDcgQEAKIAkJCQkyRTM3REZEQjEy
REJBRkI4MDBBNkIyMzMgLyogRE9NVVJMLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDlERTE4MjE3
QUFENkE0MDBFQTM4NkQgLyogRE9NVVJMTWVkaWFTb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTE0MDNCOTk3MDlFQjEzQUYwMDc5N0M3RiAvKiBET01XaW5kb3cuaCBpbiBIZWFkZXJzICovLAor
CQkJCTQxRDEyOUQxMUYzRDBGMEUwMEQxNUU0NyAvKiBET01XaW5kb3dDYWNoZXMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUxRkEyRDc4MTUyMTMyQjMwMEMxQkEwQiAvKiBET01XaW5kb3dFeHRlbnNp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCTUxODVGQzc1MUJCNEM0RTgwMDEyODk4RiAvKiBET01X
aW5kb3dJbmRleGVkRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3RDJBRDA0MTRCODIz
QTYwMDkzREYzMiAvKiBET01XaW5kb3dQcm9wZXJ0eS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzI0
Miw2ICsyNzI2NSw3IEBACiAJCQkJODQ3MzBEODUxMjQ4RjBCMzAwRDNBOUM5IC8qIEZFTW9ycGhv
bG9neS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ3MzBEODcxMjQ4RjBCMzAwRDNBOUM5IC8qIEZF
T2Zmc2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDczMEQ4OTEyNDhGMEIzMDBEM0E5QzkgLyog
RkVTcGVjdWxhckxpZ2h0aW5nLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUQxMjlEQjFGM0QxNDM4
MDBEMTVFNDcgLyogRmV0Y2hIZWFkZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTZFNkZFODFC
QkQxMkRGMDAwQTYwMjMgLyogRmV0Y2hJbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDFBRDc1M0ExQ0VGNkJEMTAwQTMxNDg2IC8qIEZldGNoT3B0aW9ucy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJN0NFMTkxNEQxRjJBOUFGQjAwMjcyRjc4IC8qIEZldGNoUmVmZXJyZXJQb2xp
Y3kuaCBpbiBIZWFkZXJzICovLApAQCAtMjczNzUsNyArMjczOTksNiBAQAogCQkJCTMxNkJEQkY3
MUU3NjJBRDUwMERFMEQ1QSAvKiBHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkzMTZCREJGMDFFNzYyOTIwMDBERTBENUEgLyogR1BVRGVwdGhTdGVuY2lsU3Rh
dGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxNkJEQjg2MUU2RTBBMjcwMERFMEQ1QSAvKiBHUFVE
ZXZpY2UuaCBpbiBIZWFkZXJzICovLAotCQkJCTUxRjE3NEZFMUYzNTg5OTIwMEM3NDk1MCAvKiBX
b3JrZXJUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTZCREJDRDFFNzVGMTg0MDBERTBENUEg
LyogR1BVRHJhd2FibGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxNkJEQkZCMUU3NjJEMDQwMERF
MEQ1QSAvKiBHUFVFbnVtcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE2QkRCOTUxRTcwQzg5NzAw
REUwRDVBIC8qIEdQVUZ1bmN0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTI3NDYzLDcgKzI3NDg2
LDYgQEAKIAkJCQlBODcxRDQ1QzBBMTI3Q0JDMDBCMTJBNjggLyogSFRNTEVtYmVkRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTc3QjM4NkExMjI4ODNFOTAwQjgxRkY4IC8qIEhUTUxFbnRp
dHlQYXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3N0IzODZDMTIyODgzRTkwMEI4MUZGOCAv
KiBIVE1MRW50aXR5U2VhcmNoLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzRGRjFGMzU4OTk3
MDBDNzQ5NTAgLyogU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5NzdCMzg2RDEyMjg4M0U5MDBCODFGRjggLyogSFRNTEVudGl0eVRhYmxlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBODEzNjlENDA5NzM3NEY2MDBENzQ0NjMgLyogSFRNTEZpZWxkU2V0RWxl
bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThDRkY3QTYwQTE1Njk3ODAwMEE0MjM0IC8qIEhU
TUxGb250RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODIxMSw2ICsyODIzMyw3IEBACiAJ
CQkJNTE4MkMyNTgxRjMxNDNDRDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlckNvbnRhaW5lci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4MkMyNUExRjMxNDNDRDAwNTlCQTdDIC8qIEpTU2Vydmlj
ZVdvcmtlckdsb2JhbFNjb3BlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTgyQzI1QzFGMzE0M0NE
MDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmggaW4gSGVhZGVycyAqLywK
KwkJCQk1MUYxNzUwMzFGMzU4QjNCMDBDNzQ5NTAgLyogSlNTZXJ2aWNlV29ya2VyVXBkYXRlVmlh
Q2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTlCREE2NEQ4MUI5NzVDRjIwMDlDNDM4NyAvKiBK
U1NoYWRvd1Jvb3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ2REZGNDlDMURDMjYyMEIwMEI4MEI0
OCAvKiBKU1NoYWRvd1Jvb3RNb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDlERTE3QjE3QUFD
NzVCMDBFQTM4NkQgLyogSlNTb3VyY2VCdWZmZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMjg0MTAs
NyArMjg0MzMsNiBAQAogCQkJCTZFM0ZBRDM5MTQ3MzNGNDAwMEU0MjMwNiAvKiBKU1dlYkdMQ29t
cHJlc3NlZFRleHR1cmVTM1RDLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RUU4QTc3MzEwRjgwM0Yz
MDA1QTRBMjQgLyogSlNXZWJHTENvbnRleHRBdHRyaWJ1dGVzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQzJDQkY0RTE0MEYxQUJEMDAzODc5QkUgLyogSlNXZWJHTENvbnRleHRFdmVudC5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJNTFGMTc1MDYxRjM1OEJGNzAwQzc0OTUwIC8qIEpTV29ya2VyVHlwZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNkUzRkFEMzkxNDczM0Y0MDExRTQyMzA3IC8qIEpTV2ViR0xE
ZWJ1Z1JlbmRlcmVySW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkUzRkFEMzkxNDczM0Y0MDIy
RTQyMzA3IC8qIEpTV2ViR0xEZWJ1Z1NoYWRlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTZFM0ZB
RDM5MTQ3MzNGNDAwMEU0MjMwNyAvKiBKU1dlYkdMRGVwdGhUZXh0dXJlLmggaW4gSGVhZGVycyAq
LywKQEAgLTI4NDY4LDYgKzI4NDkwLDcgQEAKIAkJCQlFMUMzNkQzNTBFQjBBMDk0MDA3NDEwQkMg
LyogSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQzM2MkVG
MEVBRjJBQTkwMDc0MTBCQyAvKiBKU1dvcmtlckxvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMTI3MUE1ODBFRUVDREU0MDBGNjEyMTMgLyogSlNXb3JrZXJOYXZpZ2F0b3IuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTUxRjE3NTA2MUYzNThCRjcwMEM3NDk1MCAvKiBKU1dvcmtlclR5cGUuaCBp
biBIZWFkZXJzICovLAogCQkJCTdDNEM5NkREMUFENDQ4MzUwMDM2NUE2MCAvKiBKU1dyaXRhYmxl
U3RyZWFtLmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzU4Q0I3MDFDNTMyNzc1MDBFMEMyRDggLyog
SlNYTUxEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMzNDhCRDQwREI3RjgwNDAwNEFC
QUI5IC8qIEpTWE1MSHR0cFJlcXVlc3QuaCBpbiBIZWFkZXJzICovLApAQCAtMjg2ODksNyArMjg3
MTIsNiBAQAogCQkJCTQxM0UwMDc5MURCMEU0RjIwMDIzNDFEMiAvKiBNZW1vcnlSZWxlYXNlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOURGQTA5OUU2NDkyMDA1NkU1ODEgLyogTWVyZ2VJZGVu
dGljYWxFbGVtZW50c0NvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQURFQ0NFMEU3NkFE
OEIwMDRBMUE1RSAvKiBNZXNzYWdlQ2hhbm5lbC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTFGMTc1
MDMxRjM1OEIzQjAwQzc0OTUwIC8qIEpTU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggaW4g
SGVhZGVycyAqLywKIAkJCQk3NTc5M0U4NDBEMENFMEIzMDA3RkMwQUMgLyogTWVzc2FnZUV2ZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUFERUNCRjBFNzZBQ0YxMDA0QTFBNUUgLyogTWVzc2Fn
ZVBvcnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxQkY3MDBDMEZFODZGNDkwMDVFOERFQyAvKiBN
ZXNzYWdlUG9ydENoYW5uZWwuaCBpbiBIZWFkZXJzICovLApAQCAtMjkzNjgsNiArMjkzOTAsNyBA
QAogCQkJCTUxODJDMjQxMUYzMTNBMDkwMDU5QkE3QyAvKiBTZXJ2aWNlV29ya2VyQ29udGFpbmVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTgyQzI0MzFGMzEzQTA5MDA1OUJBN0MgLyogU2Vydmlj
ZVdvcmtlckdsb2JhbFNjb3BlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTgyQzI0NTFGMzEzQTA5
MDA1OUJBN0MgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNTFGMTc0RkYxRjM1ODk5NzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNo
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzU2QjJDRTExOEI3MTAxNjAwRkVDRkFBIC8qIFNlc3Np
b25JRC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlFMTAwOTlFNjQ5MjAwNTZFNTgxIC8qIFNl
dE5vZGVBdHRyaWJ1dGVDb21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlCOERCREI0QzEzMEIw
RjhBMDBGNUNEQjEgLyogU2V0U2VsZWN0aW9uQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCkBAIC0z
MDE1Miw2ICszMDE3NSw3IEBACiAJCQkJQTUyQTY4NjYxREJENEI1RDAwODMzNzNGIC8qIFdvcmtl
ckRlYnVnZ2VyQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUEzRTI2NDMxMTQ3NDg5OTEwMDVB
ODU4OCAvKiBXb3JrZXJFdmVudFF1ZXVlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY0OTBG
NTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTQxRDEyOUNFMUYzRDBFRjYwMEQxNUU0NyAvKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTE4NUZDQjQxQkI0QzRFODAwMTI4OThGIC8qIFdvcmtlckdsb2Jh
bFNjb3BlSW5kZXhlZERhdGFiYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY0QjBGNTQ2
QTgyMDBCMEYxQkEgLyogV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTU0QTBDNjIxREI3RjhDMTAwMTdBOTBCIC8qIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXIu
aCBpbiBIZWFkZXJzICovLApAQCAtMzAxNzMsNiArMzAxOTcsNyBAQAogCQkJCTBCOTA1NkY5MEYy
Njg1RjMwMDk1RkY2QSAvKiBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5N0FBQkQyRDE0RkEwOUQ1MDA3NDU3QUUgLyogV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tl
dENoYW5uZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1NEEwQzY4MURCODA3RDkwMDE3QTkwQiAv
KiBXb3JrZXJUb1BhZ2VGcm9udGVuZENoYW5uZWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxRjE3
NEZFMUYzNTg5OTIwMEM3NDk1MCAvKiBXb3JrZXJUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5
MzMwOUUyNDA5OUU2NDkyMDA1NkU1ODEgLyogV3JhcENvbnRlbnRzSW5EdW1teVNwYW5Db21tYW5k
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTZFNkZFOTFCQkQxMkU1MDAwQTYwNTMgLyogV3JpdGFi
bGVTdHJlYW1CdWlsdGlucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE2RTZGRTgxQkJEMTJERjAw
MEE2MDUzIC8qIFdyaXRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJzICov
LApAQCAtMzA3NjMsNiArMzA3ODgsNyBAQAogCQkJCTA3NTM4NjAyMTQ0ODlFOTgwMEI3ODQ1MiAv
KiBDYWNoZWRUZXh0VHJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNCMTZDMjcwOTc5QzNC
RDAwNDY3NzQxIC8qIENhY2hlZFhTTFN0eWxlU2hlZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NDEzODBDMjgxRjM0MzZBQzAwMTU1RkRBIC8qIENhY2hlU3RvcmFnZS5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQk0MUQxMjlDRjFGM0QwRUZFMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlv
bi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNDNBRjhFNjFBQzVCN0U4MDBDQTcxN0UgLyogQ2Fj
aGVWYWxpZGF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5QUUyRDk2MTM0RUU1RjkwMDcy
OTIwQSAvKiBDYWxjdWxhdGlvblZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk1MjA3NjA0
MUYyNjc1RkUwMDdEMkFBQiAvKiBDYWxsVHJhY2VyLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzIw
NDQsNyArMzIwNzAsNiBAQAogCQkJCTEyQTI1M0UwMUM4RkZGNjYwMEMyMjI5NSAvKiBKU0tleWZy
YW1lRWZmZWN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzNUY0NTQyMEY3QzNCNUYwMEQ3QzFG
QiAvKiBKU0xhenlFdmVudExpc3RlbmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRTFDNDNC
MEQ5ODMwRDMwMDNCMDJGMiAvKiBKU0xvY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUx
RjE3NTA3MUYzNThCRjkwMEM3NDk1MCAvKiBKU1dvcmtlclR5cGUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkNFMUM0NDAwRDk4MzBGNDAwM0IwMkYyIC8qIEpTTG9jYXRpb25DdXN0b20uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJOTNBODA2MUYxRTAzQjU4NTAwOEExRjI2IC8qIEpTTG9uZ1Jhbmdl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCThGQUM3NzREMTE5ODcyQ0IwMDE1QUU5NCAvKiBKU01h
aW5UaHJlYWRFeGVjU3RhdGUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMjIwMSw2ICszMjIyNiw3
IEBACiAJCQkJNTE4MkMyNTcxRjMxNDNDRDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlckNvbnRh
aW5lci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTgyQzI1OTFGMzE0M0NEMDA1OUJBN0MgLyog
SlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE4MkMy
NUIxRjMxNDNDRDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk1MUYxNzUwMjFGMzU4QjNCMDBDNzQ5NTAgLyogSlNTZXJ2aWNlV29y
a2VyVXBkYXRlVmlhQ2FjaGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOUJEQTY0RDcxQjk3NUNF
NTAwOUM0Mzg3IC8qIEpTU2hhZG93Um9vdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0NkRGRjQ5
QjFEQzI2MjBCMDBCODBCNDggLyogSlNTaGFkb3dSb290TW9kZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlDRDlERTE3QTE3QUFDNzVCMDBFQTM4NkQgLyogSlNTb3VyY2VCdWZmZXIuY3BwIGluIFNv
dXJjZXMgKi8sCkBAIC0zMjQ4Myw2ICszMjUwOSw3IEBACiAJCQkJRTE4MjU4QUMwRUYzQ0Q3MDAw
OTMzMjQyIC8qIEpTV29ya2VyR2xvYmFsU2NvcGVDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRTFDMzYyRjAwRUFGMkFBOTAwNzQxMEJDIC8qIEpTV29ya2VyTG9jYXRpb24uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRTEyNzFBNTkwRUVFQ0RFNDAwRjYxMjEzIC8qIEpTV29ya2VyTmF2aWdh
dG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRjE3NTA3MUYzNThCRjkwMEM3NDk1MCAvKiBK
U1dvcmtlclR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M0Qzk2REMxQUQ0NDgzNTAwMzY1
QTYwIC8qIEpTV3JpdGFibGVTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODM1OENCNkYx
QzUzMjc3MjAwRTBDMkQ4IC8qIEpTWE1MRG9jdW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
ODNBNEE5RjkxQ0U3RkQ4MTAwNzA5QjAwIC8qIEpTWE1MRG9jdW1lbnRDdXN0b20uY3BwIGluIFNv
dXJjZXMgKi8sCkBAIC0zMzY4MCw3ICszMzcwNyw2IEBACiAJCQkJN0FGOUIyMDIxOENGQjJERjAw
QzY0QkVGIC8qIFZUVFJlZ2lvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QUY5QjIwNTE4Q0ZC
MkRGMDBDNjRCRUYgLyogVlRUUmVnaW9uTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QTkz
ODY4NTE4RENDMTQ1MDBCODI2M0QgLyogVlRUU2Nhbm5lci5jcHAgaW4gU291cmNlcyAqLywKLQkJ
CQk1MUYxNzUwMjFGMzU4QjNCMDBDNzQ5NTAgLyogSlNTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2Fj
aGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTE0ODMyQjExODdGNjFFMTAwREE2M0E2IC8qIFdB
S0FwcEtpdFN0dWJzLm0gaW4gU291cmNlcyAqLywKIAkJCQlBMTQ4MzJCMzE4N0Y2MjkxMDBEQTYz
QTYgLyogV0FLQ2xpcFZpZXcubSBpbiBTb3VyY2VzICovLAogCQkJCUExNDgzMkI1MTg3RjYyRkMw
MERBNjNBNiAvKiBXQUtSZXNwb25kZXIubSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IDA5ZmU4MWJhNDdj
YTUzYzg3NzVjYjY2MjdhNzZkM2IzZTI2Mjc5ZWIuLjcyMmVhMmU0OGUxZjMzZTIzNjBiZGI2MDA1
NmMwMDJmOWM0YjQyNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dl
YkNvcmVCdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJD
b3JlQnVpbHRpbk5hbWVzLmgKQEAgLTM4LDYgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIG1hY3JvKGJhY2tpbmdNYXApIFwKICAgICBtYWNybyhib2R5KSBcCiAgICAgbWFjcm8oYnlv
YlJlcXVlc3QpIFwKKyAgICBtYWNybyhjYWNoZU1hcCkgXAorICAgIG1hY3JvKGNhY2hlTmFtZSkg
XAogICAgIG1hY3JvKGNhbmNlbCkgXAogICAgIG1hY3JvKGNsb25lQXJyYXlCdWZmZXIpIFwKICAg
ICBtYWNybyhjbG9uZUZvckpTKSBcCkBAIC02Myw2ICs2NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBtYWNybyhsb2NhbFN0cmVhbXMpIFwKICAgICBtYWNybyhtYWtlVGhpc1R5cGVFcnJv
cikgXAogICAgIG1hY3JvKG1ha2VHZXR0ZXJUeXBlRXJyb3IpIFwKKyAgICBtYWNybyhtYXRjaEFs
bCkgXAogICAgIG1hY3JvKG1lZGlhU3RyZWFtVHJhY2tDb25zdHJhaW50cykgXAogICAgIG1hY3Jv
KG9wZXJhdGlvbnMpIFwKICAgICBtYWNybyhvd25lclJlYWRhYmxlU3RyZWFtKSBcCkBAIC0xMTMs
NiArMTE2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKHZpZXcpIFwKICAgICBt
YWNybyh3ZWJSVENMZWdhY3lBUElFbmFibGVkKSBcCiAgICAgbWFjcm8od3JpdGluZykgXAorICAg
IG1hY3JvKENhY2hlKSBcCisgICAgbWFjcm8oQ2FjaGVTdG9yYWdlKSBcCiAgICAgbWFjcm8oSGVh
ZGVycykgXAogICAgIG1hY3JvKE1lZGlhU3RyZWFtKSBcCiAgICAgbWFjcm8oTWVkaWFTdHJlYW1U
cmFjaykgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92
ZXJsYXkuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3Bw
CmluZGV4IDY2YzdmMDhmMGYyOGIwNDZiYjRjMzVlOGU5YmYxOWZiZGYyYWJjNTUuLjJhODEzYjZh
MTIwZGYzNThmMDhiZDI3MThjOTY1NzM0MzAxZGVmNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JPdmVybGF5LmgiCiAKKyNpbmNsdWRlICJD
YWNoZVN0b3JhZ2VQcm92aWRlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5j
bHVkZSAiRWRpdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgpAQCAtODY1LDcgKzg2
Niw4IEBAIFBhZ2UqIEluc3BlY3Rvck92ZXJsYXk6Om92ZXJsYXlQYWdlKCkKICAgICBQYWdlQ29u
ZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbigKICAgICAgICAgY3JlYXRlRW1wdHlFZGl0b3JD
bGllbnQoKSwKICAgICAgICAgU29ja2V0UHJvdmlkZXI6OmNyZWF0ZSgpLAotICAgICAgICBtYWtl
VW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPigpCisgICAgICAgIG1ha2VVbmlxdWVSZWY8TGli
V2ViUlRDUHJvdmlkZXI+KCksCisgICAgICAgIENhY2hlU3RvcmFnZVByb3ZpZGVyOjpjcmVhdGUo
KQogICAgICk7CiAgICAgZmlsbFdpdGhFbXB0eUNsaWVudHMocGFnZUNvbmZpZ3VyYXRpb24pOwog
ICAgIG1fb3ZlcmxheVBhZ2UgPSBzdGQ6Om1ha2VfdW5pcXVlPFBhZ2U+KFdURk1vdmUocGFnZUNv
bmZpZ3VyYXRpb24pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FjaGVTdG9y
YWdlUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FjaGVTdG9yYWdlUHJvdmlkZXIu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wMGJmMWRjNWNkMWY4ZmJjYzY2MWNmMWQ2YzAwYTRhOGNjMmM4OGFiCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYWNoZVN0b3JhZ2VQcm92aWRl
ci5oCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1
ZGUgIkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJTZXNzaW9uSUQuaCIKKyNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IFdFQkNPUkVfRVhQT1JUIENhY2hlU3RvcmFnZVByb3ZpZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8
Q2FjaGVTdG9yYWdlUHJvdmlkZXI+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPENhY2hlU3Rv
cmFnZVByb3ZpZGVyPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IENhY2hlU3RvcmFn
ZVByb3ZpZGVyKTsgfQorICAgIHZpcnR1YWwgUmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IGNy
ZWF0ZUNhY2hlU3RvcmFnZUNvbm5lY3Rpb24oU2Vzc2lvbklEKSB7IHJldHVybiBDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uOjpjcmVhdGUoKTsgfQorICAgIHZpcnR1YWwgfkNhY2hlU3RvcmFnZVByb3Zp
ZGVyKCkgeyB9OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggYzI2OTg3ZjhkY2IyZTll
OTYwNmRhYTk3MmQyY2ZjYzdiZWNjNWZiNy4uNzA0MWYxY2YyOTU5NTRlYWZmMDRkNmI4YTYxNjRm
OGZhYWMwZDY3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVk
ZSAiQmFja0ZvcndhcmRDbGllbnQuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZENvbnRyb2xsZXIu
aCIKICNpbmNsdWRlICJDU1NBbmltYXRpb25Db250cm9sbGVyLmgiCisjaW5jbHVkZSAiQ2FjaGVT
dG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJDaHJvbWVD
bGllbnQuaCIKICNpbmNsdWRlICJDb25zdGFudFByb3BlcnR5TWFwLmgiCkBAIC0yMjIsNiArMjIz
LDcgQEAgUGFnZTo6UGFnZShQYWdlQ29uZmlndXJhdGlvbiYmIHBhZ2VDb25maWd1cmF0aW9uKQog
I2VuZGlmCiAgICAgLCBtX3NvY2tldFByb3ZpZGVyKFdURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24u
c29ja2V0UHJvdmlkZXIpKQogICAgICwgbV9hcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSgqV1RGTW92
ZShwYWdlQ29uZmlndXJhdGlvbi5hcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSkpCisgICAgLCBtX2Nh
Y2hlU3RvcmFnZVByb3ZpZGVyKFdURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uY2FjaGVTdG9yYWdl
UHJvdmlkZXIpKQogICAgICwgbV9kYXRhYmFzZVByb3ZpZGVyKCpXVEZNb3ZlKHBhZ2VDb25maWd1
cmF0aW9uLmRhdGFiYXNlUHJvdmlkZXIpKQogICAgICwgbV9wbHVnaW5JbmZvUHJvdmlkZXIoKldU
Rk1vdmUocGFnZUNvbmZpZ3VyYXRpb24ucGx1Z2luSW5mb1Byb3ZpZGVyKSkKICAgICAsIG1fc3Rv
cmFnZU5hbWVzcGFjZVByb3ZpZGVyKCpXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLnN0b3JhZ2VO
YW1lc3BhY2VQcm92aWRlcikpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IDkwOWYzNzkwMmQzM2UxZDBlZjNl
NWE5YjRmNjRiYWI0ZGZhNWZmMGIuLjVmYzg5Y2RjNTkyYzk0OWViMThkOWNlYTE3ZjYxZmJjZDM1
NTEyMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC03Nyw2ICs3Nyw3IEBAIGNsYXNzIEFsdGVybmF0aXZl
VGV4dENsaWVudDsKIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwogY2xhc3MgQmFja0Zv
cndhcmRDb250cm9sbGVyOwogY2xhc3MgQmFja0ZvcndhcmRDbGllbnQ7CitjbGFzcyBDYWNoZVN0
b3JhZ2VQcm92aWRlcjsKIGNsYXNzIENocm9tZTsKIGNsYXNzIENocm9tZUNsaWVudDsKIGNsYXNz
IENvbG9yOwpAQCAtNTEwLDYgKzUxMSw3IEBAIHB1YmxpYzoKIAogICAgIEFwcGxpY2F0aW9uQ2Fj
aGVTdG9yYWdlJiBhcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSgpIHsgcmV0dXJuIG1fYXBwbGljYXRp
b25DYWNoZVN0b3JhZ2U7IH0KICAgICBEYXRhYmFzZVByb3ZpZGVyJiBkYXRhYmFzZVByb3ZpZGVy
KCkgeyByZXR1cm4gbV9kYXRhYmFzZVByb3ZpZGVyOyB9CisgICAgQ2FjaGVTdG9yYWdlUHJvdmlk
ZXImIGNhY2hlU3RvcmFnZVByb3ZpZGVyKCkgeyByZXR1cm4gbV9jYWNoZVN0b3JhZ2VQcm92aWRl
cjsgfQogICAgIFNvY2tldFByb3ZpZGVyJiBzb2NrZXRQcm92aWRlcigpIHsgcmV0dXJuIG1fc29j
a2V0UHJvdmlkZXI7IH0KIAogICAgIFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlciYgc3RvcmFnZU5h
bWVzcGFjZVByb3ZpZGVyKCkgeyByZXR1cm4gbV9zdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIuZ2V0
KCk7IH0KQEAgLTc4NCw2ICs3ODYsNyBAQCBwcml2YXRlOgogCiAgICAgUmVmPFNvY2tldFByb3Zp
ZGVyPiBtX3NvY2tldFByb3ZpZGVyOwogICAgIFJlZjxBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZT4g
bV9hcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTsKKyAgICBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+
IG1fY2FjaGVTdG9yYWdlUHJvdmlkZXI7CiAgICAgUmVmPERhdGFiYXNlUHJvdmlkZXI+IG1fZGF0
YWJhc2VQcm92aWRlcjsKICAgICBSZWY8UGx1Z2luSW5mb1Byb3ZpZGVyPiBtX3BsdWdpbkluZm9Q
cm92aWRlcjsKICAgICBSZWY8U3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyPiBtX3N0b3JhZ2VOYW1l
c3BhY2VQcm92aWRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZp
Z3VyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAK
aW5kZXggMTEyM2RkNmQ0MDVhOTQ4MTNhNGE3ODc0MmM3ZDY2ZDJjZjFiZWU3Yy4uZjFiODI3ZGNm
YmFhZTZlNmM4ZGNjYWQ5ZDE4ZDQ5Mzc5ZGM5NTFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlQ29uZmlndXJhdGlvbi5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkFwcGxp
Y2F0aW9uQ2FjaGVTdG9yYWdlLmgiCiAjaW5jbHVkZSAiQmFja0ZvcndhcmRDbGllbnQuaCIKKyNp
bmNsdWRlICJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgogI2luY2x1ZGUgIkRhdGFiYXNlUHJvdmlk
ZXIuaCIKICNpbmNsdWRlICJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIgogI2luY2x1ZGUgIkVk
aXRvckNsaWVudC5oIgpAQCAtNDMsMTAgKzQ0LDExIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotUGFnZUNvbmZpZ3VyYXRpb246OlBhZ2VDb25maWd1cmF0aW9uKFVuaXF1ZVJlZjxFZGl0b3JD
bGllbnQ+JiYgZWRpdG9yQ2xpZW50LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYgc29ja2V0UHJvdmlk
ZXIsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJiBsaWJXZWJSVENQcm92aWRlcikKK1Bh
Z2VDb25maWd1cmF0aW9uOjpQYWdlQ29uZmlndXJhdGlvbihVbmlxdWVSZWY8RWRpdG9yQ2xpZW50
PiYmIGVkaXRvckNsaWVudCwgUmVmPFNvY2tldFByb3ZpZGVyPiYmIHNvY2tldFByb3ZpZGVyLCBV
bmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYgbGliV2ViUlRDUHJvdmlkZXIsIFJlZjxDYWNo
ZVN0b3JhZ2VQcm92aWRlcj4mJiBjYWNoZVN0b3JhZ2VQcm92aWRlcikKICAgICA6IGVkaXRvckNs
aWVudChXVEZNb3ZlKGVkaXRvckNsaWVudCkpCiAgICAgLCBzb2NrZXRQcm92aWRlcihXVEZNb3Zl
KHNvY2tldFByb3ZpZGVyKSkKICAgICAsIGxpYldlYlJUQ1Byb3ZpZGVyKFdURk1vdmUobGliV2Vi
UlRDUHJvdmlkZXIpKQorICAgICwgY2FjaGVTdG9yYWdlUHJvdmlkZXIoV1RGTW92ZShjYWNoZVN0
b3JhZ2VQcm92aWRlcikpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRp
b24uaAppbmRleCBmNTNhMTJjMzg3ZWFmYjQwNGYyYTA2NjYwMjc1OWVjOWE3ZmMwZjVmLi5hODYy
ZDQzMDJlMDM2NDY0ZjkxMGE1N2IwMWQ3N2I2NGNjNmVmNDI1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlQ29uZmlndXJhdGlvbi5oCkBAIC0zNCw2ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNsYXNzIEFsdGVybmF0aXZlVGV4dENsaWVudDsKIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVT
dG9yYWdlOwogY2xhc3MgQmFja0ZvcndhcmRDbGllbnQ7CitjbGFzcyBDYWNoZVN0b3JhZ2VQcm92
aWRlcjsKIGNsYXNzIENocm9tZUNsaWVudDsKIGNsYXNzIENvbnRleHRNZW51Q2xpZW50OwogY2xh
c3MgRGF0YWJhc2VQcm92aWRlcjsKQEAgLTU4LDcgKzU5LDcgQEAgY2xhc3MgV2ViR0xTdGF0ZVRy
YWNrZXI7CiBjbGFzcyBQYWdlQ29uZmlndXJhdGlvbiB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUGFnZUNvbmZpZ3VyYXRpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
LSAgICBXRUJDT1JFX0VYUE9SVCBQYWdlQ29uZmlndXJhdGlvbihVbmlxdWVSZWY8RWRpdG9yQ2xp
ZW50PiYmLCBSZWY8U29ja2V0UHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRl
cj4mJik7CisgICAgV0VCQ09SRV9FWFBPUlQgUGFnZUNvbmZpZ3VyYXRpb24oVW5pcXVlUmVmPEVk
aXRvckNsaWVudD4mJiwgUmVmPFNvY2tldFByb3ZpZGVyPiYmLCBVbmlxdWVSZWY8TGliV2ViUlRD
UHJvdmlkZXI+JiYsIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4mJik7CiAgICAgV0VCQ09SRV9F
WFBPUlQgflBhZ2VDb25maWd1cmF0aW9uKCk7CiAKICAgICBBbHRlcm5hdGl2ZVRleHRDbGllbnQq
IGFsdGVybmF0aXZlVGV4dENsaWVudCB7IG51bGxwdHIgfTsKQEAgLTg3LDYgKzg4LDcgQEAgcHVi
bGljOgogCiAgICAgUmVmUHRyPEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlPiBhcHBsaWNhdGlvbkNh
Y2hlU3RvcmFnZTsKICAgICBSZWZQdHI8RGF0YWJhc2VQcm92aWRlcj4gZGF0YWJhc2VQcm92aWRl
cjsKKyAgICBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+IGNhY2hlU3RvcmFnZVByb3ZpZGVyOwog
ICAgIFJlZlB0cjxQbHVnaW5JbmZvUHJvdmlkZXI+IHBsdWdpbkluZm9Qcm92aWRlcjsKICAgICBS
ZWZQdHI8U3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyPiBzdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI7
CiAgICAgUmVmUHRyPFVzZXJDb250ZW50UHJvdmlkZXI+IHVzZXJDb250ZW50UHJvdmlkZXI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAppbmRleCA3ODZlOGY3YTdiY2E2
MDgwOWE1NTViNjVmODM1YzJhNTBhMDA4MmU4Li44MjU5YjJmOGUyODY2M2IyMTdjZGVhMDRjMmY4
ZWMzODM3Y2Q3OGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZH
SW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAK
QEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTVkdJbWFn
ZS5oIgogCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJDaHJv
bWUuaCIKICNpbmNsdWRlICJDb21tb25WTS5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgpAQCAt
NDI5LDcgKzQzMCw4IEBAIEVuY29kZWREYXRhU3RhdHVzIFNWR0ltYWdlOjpkYXRhQ2hhbmdlZChi
b29sIGFsbERhdGFSZWNlaXZlZCkKICAgICAgICAgUGFnZUNvbmZpZ3VyYXRpb24gcGFnZUNvbmZp
Z3VyYXRpb24oCiAgICAgICAgICAgICBjcmVhdGVFbXB0eUVkaXRvckNsaWVudCgpLAogICAgICAg
ICAgICAgU29ja2V0UHJvdmlkZXI6OmNyZWF0ZSgpLAotICAgICAgICAgICAgbWFrZVVuaXF1ZVJl
ZjxMaWJXZWJSVENQcm92aWRlcj4oKQorICAgICAgICAgICAgbWFrZVVuaXF1ZVJlZjxMaWJXZWJS
VENQcm92aWRlcj4oKSwKKyAgICAgICAgICAgIENhY2hlU3RvcmFnZVByb3ZpZGVyOjpjcmVhdGUo
KQogICAgICAgICApOwogICAgICAgICBmaWxsV2l0aEVtcHR5Q2xpZW50cyhwYWdlQ29uZmlndXJh
dGlvbik7CiAgICAgICAgIG1fY2hyb21lQ2xpZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxTVkdJbWFn
ZUNocm9tZUNsaWVudD4odGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlz
dHMudHh0IGIvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dAppbmRleCAzMzRmNjY4Yjc3M2M4
NmJiMmUxNTRjNTY0ZThjNDliZjgwYmM3NjY0Li42YWE4NTZkYWM1OTM1MTFiZmE3Mzc0Mjg0MmM0
ZTRlMGI1ZDhhZjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0Cisr
KyBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKQEAgLTUyLDYgKzUyLDcgQEAgc2V0KFdl
YktpdDJfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNz
L0FwcGxlUGF5IgogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0FwcGxpY2F0aW9uQ2Fj
aGUiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvQXV0b21hdGlvbiIKKyAgICAiJHtX
RUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9DYWNoZSIKICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJv
Y2Vzcy9Db29raWVzIgogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0RhdGFiYXNlcyIK
ICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCIgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNGUz
YzIzNGU4NWZiNzVkMmUyMGU3MWVmMzFlYWYyNDVkZDY1ZWQxMS4uMzRlM2NhMmE4MjQyMGE1OTk2
YWVmYWM0M2RjYzY1ZmJlZmEwY2MyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04OTEsNiArODkxLDcgQEAKIAkJNDEzMDc1QjIxREU4
NUY1ODAwMzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldEZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUE2MURFODVFRTcwMDM5RUM2OSAv
KiBMaWJXZWJSVENTb2NrZXRGYWN0b3J5LmggKi87IH07CiAJCTQxMzA3NUIzMURFODVGNTgwMDM5
RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVBNzFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRD
UHJvdmlkZXIuY3BwICovOyB9OwogCQk0MTMwNzVCNDFERTg1RjU4MDAzOUVDNjkgLyogTGliV2Vi
UlRDUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQxMzA3NUE4MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5oICovOyB9
OworCQk0MUQxMjlEQTFGM0QxMDE4MDBEMTVFNDcgLyogV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDEyOUQ5
MUYzRDEwMTQwMEQxNUU0NyAvKiBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oICovOyB9OwogCQk0
MURDNDU5NjFFM0Q2RTIyMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MURDNDU5NDFFM0Q2RTFFMDBC
MTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmggKi87IH07CiAJCTQxREM0NTk3MUUzRDZFMjIw
MEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEQzQ1OTUxRTNENkUxRTAwQjExRjUxIC8qIE5ldHdv
cmtSVENQcm92aWRlci5jcHAgKi87IH07CiAJCTQxREM0NTlCMUUzREJCMjgwMEIxMUY1MSAvKiBM
aWJXZWJSVENTb2NrZXRDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDFEQzQ1OTkxRTNEQkIyNDAwQjExRjUxIC8qIExpYldlYlJUQ1NvY2tl
dENsaWVudC5jcHAgKi87IH07CkBAIC0zMTQwLDYgKzMxNDEsNyBAQAogCQk0MTMwNzVBNzFERTg1
RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBsaW5lRW5kaW5nID0gMDsgbmFtZSA9IExpYldlYlJUQ1Byb3ZpZGVyLmNwcDsg
cGF0aCA9IE5ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFu
Zy5jcHA7IH07CiAJCTQxMzA3NUE4MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0gTGli
V2ViUlRDUHJvdmlkZXIuaDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRp
ZmllciA9IHhjb2RlLmxhbmcub2JqY3BwOyB9OwogCQk0MUFDODY4MTFFMDQyRTUzMDAzMDMwNzQg
LyogV2ViUlRDUmVzb2x2ZXIubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBsaW5lRW5kaW5n
ID0gMDsgbmFtZSA9IFdlYlJUQ1Jlc29sdmVyLm1lc3NhZ2VzLmluOyBwYXRoID0gTmV0d29yay93
ZWJydGMvV2ViUlRDUmVzb2x2ZXIubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9ICI8bm9uZT4iOyB9OworCQk0MUQx
MjlEOTFGM0QxMDE0MDBEMTVFNDcgLyogV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDFEQzQ1OTQxRTNENkUxRTAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3JrUlRDUHJvdmlkZXIuaDsg
cGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFEQzQ1OTUxRTNENkUxRTAwQjExRjUxIC8qIE5ldHdv
cmtSVENQcm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBO
ZXR3b3JrUlRDUHJvdmlkZXIuY3BwOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdv
cmtSVENQcm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxREM0NTk4
MUUzRDZFRDYwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW4gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBuYW1lID0gTmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluOyBwYXRoID0g
TmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5tZXNzYWdlcy5pbjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTU5MDgsNiArNTkxMCwxNCBAQAogCQkJbmFtZSA9
IHdlYnJ0YzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTQxRDEyOUQ4MUYz
RDEwMTQwMEQxNUU0NyAvKiBDYWNoZSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hp
bGRyZW4gPSAoCisJCQkJNDFEMTI5RDkxRjNEMTAxNDAwRDE1RTQ3IC8qIFdlYkNhY2hlU3RvcmFn
ZVByb3ZpZGVyLmggKi8sCisJCQkpOworCQkJcGF0aCA9IENhY2hlOworCQkJc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsKKwkJfTsKIAkJNDQ1MEFFQkUxREMzRkFBQzAwOTk0M0YyIC8qIGNvY29hICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTY1ODYsNiArNjU5
Niw3IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJCQkxQUIxRjc3MDFEMUIyRjVEMDA3QzlCRDEgLyog
QXBwbGVQYXkgKi8sCiAJCQkJMUMwQTE5NDMxQzhGRjFBODAwRkUwRUJCIC8qIEF1dG9tYXRpb24g
Ki8sCisJCQkJNDFEMTI5RDgxRjNEMTAxNDAwRDE1RTQ3IC8qIENhY2hlICovLAogCQkJCTdDNkU3
MEY4MThCMkQ0N0UwMEYyNEUyRSAvKiBjb2NvYSAqLywKIAkJCQkzMzA5MzQ0QjEzMTVCOTNBMDA5
N0E3QkMgLyogQ29va2llcyAqLywKIAkJCQk1MTJBOTc1NDE4MERGOTI3MDAzOUExNDkgLyogRGF0
YWJhc2VzICovLApAQCAtODY4Myw2ICs4Njk0LDcgQEAKIAkJCQlCQzcyQkExRTExRTY0OTA3MDAx
RUI0RUEgLyogV2ViQmFja0ZvcndhcmRMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MThEMkNB
RTEyRDUxNTNCMDAzQkI5M0IgLyogV2ViQmFja0ZvcndhcmRMaXN0SXRlbS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkM3MkI5RkIxMUU2NDc2QjAwMUVCNEVBIC8qIFdlYkJhY2tGb3J3YXJkTGlzdFBy
b3h5LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUQxMjlEQTFGM0QxMDE4MDBEMTVFNDcgLyogV2Vi
Q2FjaGVTdG9yYWdlUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRjUwNzI4MTI0MzI5
QUEwMDU5NTVBRSAvKiBXZWJDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCUJD
MDMyRDc1MTBGNDM3OEQwMDU4QzE1QSAvKiBXZWJDaHJvbWVDbGllbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTNGODdCOUJFMTU4OTQwMTkwMDkwRkY2MiAvKiBXZWJDb2xvckNob29zZXIuaCBpbiBI
ZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0NhY2hlL1dl
YkNhY2hlU3RvcmFnZVByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQ2FjaGUv
V2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNDIyMTZhMjA4NmNlNjg4MGUw
ZTM4YzE2ZGE5ODViODdlMDY2N2ZhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0NhY2hlL1dlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgKQEAgLTAsMCArMSwzNyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8V2ViQ29yZS9DYWNoZVN0
b3JhZ2VQcm92aWRlci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViQ2FjaGVT
dG9yYWdlUHJvdmlkZXIgZmluYWwgOiBwdWJsaWMgV2ViQ29yZTo6Q2FjaGVTdG9yYWdlUHJvdmlk
ZXIgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8V2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXI+IGNy
ZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIpOyB9
Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CmluZGV4IDI1Yzc1M2ZhOWE5NzRiZmE5ZmVhZDM2ZmRjMzg5YTBiZDljMGExMmMuLjA0ZmM2MTUz
M2Q5MWEyMGViOGRhZTc1MTI2ZDc5MzNmMDgyOGNiYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC02OCw2ICs2OCw3IEBACiAjaW5jbHVkZSAi
V2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViQmFja0ZvcndhcmRMaXN0
SXRlbS5oIgogI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmgiCisjaW5jbHVkZSAi
V2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJXZWJDaHJvbWVDbGllbnQuaCIK
ICNpbmNsdWRlICJXZWJDb2xvckNob29zZXIuaCIKICNpbmNsdWRlICJXZWJDb250ZXh0TWVudS5o
IgpAQCAtMzcxLDcgKzM3Miw4IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBX
ZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKICAgICBQYWdlQ29uZmlndXJh
dGlvbiBwYWdlQ29uZmlndXJhdGlvbigKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJFZGl0b3JD
bGllbnQ+KHRoaXMpLAogICAgICAgICBXZWJTb2NrZXRQcm92aWRlcjo6Y3JlYXRlKCksCi0gICAg
ICAgIG1ha2VVbmlxdWVSZWY8V2ViS2l0OjpMaWJXZWJSVENQcm92aWRlcj4oKQorICAgICAgICBt
YWtlVW5pcXVlUmVmPFdlYktpdDo6TGliV2ViUlRDUHJvdmlkZXI+KCksCisgICAgICAgIFdlYlBy
b2Nlc3M6OnNpbmdsZXRvbigpLmNhY2hlU3RvcmFnZVByb3ZpZGVyKCkKICAgICApOwogICAgIHBh
Z2VDb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQoKnRoaXMp
OwogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwCmluZGV4IDlkMTZiNTA3NzgyNTI0MGE4NWM0NWRjZDRjOThjMDFiNTJhOTljNWIu
LmQwNzQ0YzEzMTQ0MDZjNDY3NTI4OGE5MjdmYWExYzAyODRkMzM1MjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlICJT
dGF0aXN0aWNzRGF0YS5oIgogI2luY2x1ZGUgIlVzZXJEYXRhLmgiCiAjaW5jbHVkZSAiV2ViQXV0
b21hdGlvblNlc3Npb25Qcm94eS5oIgorI2luY2x1ZGUgIldlYkNhY2hlU3RvcmFnZVByb3ZpZGVy
LmgiCiAjaW5jbHVkZSAiV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzLmgiCiAjaW5jbHVkZSAiV2Vi
Q29va2llTWFuYWdlci5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgpAQCAt
MTU5LDYgKzE2MCw3IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3MoKQogI2VuZGlmCiAgICAgLCBt
X3dlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIoV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlz
cGF0Y2hlcjo6Y3JlYXRlKCkpCiAgICAgLCBtX3dlYkxvYWRlclN0cmF0ZWd5KCpuZXcgV2ViTG9h
ZGVyU3RyYXRlZ3kpCisgICAgLCBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyKFdlYkNhY2hlU3RvcmFn
ZVByb3ZpZGVyOjpjcmVhdGUoKSkKICAgICAsIG1fZG5zUHJlZmV0Y2hIeXN0ZXJlcmlzKFt0aGlz
XShIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpIHsgaWYgKHN0YXRlID09IEh5c3RlcmVzaXNTdGF0ZTo6
U3RvcHBlZCkgbV9kbnNQcmVmZXRjaGVkSG9zdHMuY2xlYXIoKTsgfSkKICNpZiBFTkFCTEUoTkVU
U0NBUEVfUExVR0lOX0FQSSkKICAgICAsIG1fcGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2Vy
KFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcjo6Y3JlYXRlKCkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCBjZjJhYjgxM2IzNzkwMzczYjJkYTBmYTZmYWJmN2Jh
YzQ3YjJmNDk3Li4xMjNjNGJiMTk4Y2FmNzBjZDk3NmY2OTU5OWY3Nzc5MGIxZDBiYjc0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTgwLDYgKzgwLDcgQEAgY2xhc3Mg
T2JqQ09iamVjdEdyYXBoOwogY2xhc3MgVXNlckRhdGE7CiBjbGFzcyBXYXlsYW5kQ29tcG9zaXRv
ckRpc3BsYXk7CiBjbGFzcyBXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5OworY2xhc3MgV2ViQ2Fj
aGVTdG9yYWdlUHJvdmlkZXI7CiBjbGFzcyBXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M7CiBjbGFz
cyBXZWJGcmFtZTsKIGNsYXNzIFdlYkxvYWRlclN0cmF0ZWd5OwpAQCAtMjIyLDYgKzIyMyw4IEBA
IHB1YmxpYzoKIAogICAgIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkqIGF1dG9tYXRpb25TZXNz
aW9uUHJveHkoKSB7IHJldHVybiBtX2F1dG9tYXRpb25TZXNzaW9uUHJveHkuZ2V0KCk7IH0KIAor
ICAgIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyJiBjYWNoZVN0b3JhZ2VQcm92aWRlcigpIHsgcmV0
dXJuIG1fY2FjaGVTdG9yYWdlUHJvdmlkZXIuZ2V0KCk7IH0KKwogcHJpdmF0ZToKICAgICBXZWJQ
cm9jZXNzKCk7CiAgICAgfldlYlByb2Nlc3MoKTsKQEAgLTM3NSw2ICszNzgsOCBAQCBwcml2YXRl
OgogICAgIFJlZlB0cjxOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24+IG1fbmV0d29ya1Byb2Nlc3ND
b25uZWN0aW9uOwogICAgIFdlYkxvYWRlclN0cmF0ZWd5JiBtX3dlYkxvYWRlclN0cmF0ZWd5Owog
CisgICAgUmVmPFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyPiBtX2NhY2hlU3RvcmFnZVByb3ZpZGVy
OworCiAjaWYgVVNFKExJQldFQlJUQykKICAgICBzdGQ6OnVuaXF1ZV9wdHI8TGliV2ViUlRDTmV0
d29yaz4gbV9saWJXZWJSVENOZXR3b3JrOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggMWQ0OWI0OWY0NjgwOTMxYjllOWRkMDdiZmUwMTA4
Mjg1MGNjMjJiZi4uNDQ5MmY1OGQ1ZjUzNjRkYTBkYTc1MDIwZjRlNTRkZmVlMDIwNjIzOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMTI0LDYgKzEy
NCw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL0JhY2tGb3J3YXJkQ29udHJvbGxlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9D
U1NBbmltYXRpb25Db250cm9sbGVyLmg+CisjaW1wb3J0IDxXZWJDb3JlL0NhY2hlU3RvcmFnZVBy
b3ZpZGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Nocm9tZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9D
b2xvck1hYy5oPgogI2ltcG9ydCA8V2ViQ29yZS9EYXRhYmFzZU1hbmFnZXIuaD4KQEAgLTE0MTMs
NyArMTQxNCw4IEBAIC0gKHZvaWQpX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZToo
TlNTdHJpbmcgKilmcmFtZU5hbWUgZ3JvdXBOYW1lOihOU1N0CiAgICAgUGFnZUNvbmZpZ3VyYXRp
b24gcGFnZUNvbmZpZ3VyYXRpb24oCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViRWRpdG9yQ2xp
ZW50PihzZWxmKSwKICAgICAgICAgU29ja2V0UHJvdmlkZXI6OmNyZWF0ZSgpLAotICAgICAgICBt
YWtlVW5pcXVlUmVmPFdlYkNvcmU6OkxpYldlYlJUQ1Byb3ZpZGVyPigpCisgICAgICAgIG1ha2VV
bmlxdWVSZWY8V2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXI+KCksCisgICAgICAgIFdlYkNvcmU6
OkNhY2hlU3RvcmFnZVByb3ZpZGVyOjpjcmVhdGUoKQogICAgICk7CiAjaWYgIVBMQVRGT1JNKElP
UykKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xp
ZW50KHNlbGYpOwpAQCAtMTY3Niw3ICsxNjc4LDggQEAgLSAoaWQpaW5pdFNpbXBsZUhUTUxEb2N1
bWVudFdpdGhTdHlsZTooTlNTdHJpbmcgKilzdHlsZSBmcmFtZTooQ0dSZWN0KWZyYW1lIHByZWYK
ICAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbigKICAgICAgICAgbWFrZVVu
aXF1ZVJlZjxXZWJFZGl0b3JDbGllbnQ+KHNlbGYpLAogICAgICAgICBTb2NrZXRQcm92aWRlcjo6
Y3JlYXRlKCksCi0gICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6TGliV2ViUlRDUHJvdmlk
ZXI+KCkKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpMaWJXZWJSVENQcm92aWRlcj4o
KSwKKyAgICAgICAgV2ViQ29yZTo6Q2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpCiAgICAg
KTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xp
ZW50SU9TKHNlbGYpOwogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDU3ZDExNGEz
MzllNTRmNGQ5OWQ0YmRhOWNiN2JmNGMxYjBmZTBhNy4uMDA1Nzc4MDM1OTFkYjViNGNhMDBhNmIw
MzNmOTZhM2NhNTA2OWU5MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE3LTA4LTEwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbQ2FjaGUgQVBJXSBBZGRp
bmcgZ2VuZXJpYyBzdXBwb3J0IGZvciBDYWNoZVN0b3JhZ2UgYW5kIENhY2hlIG1ldGhvZHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTQ1NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdEV4cGVj
dGF0aW9uczogU2tpcHBpbmcgYSB0ZXN0IHRoYXQgd291bGQgdGltZW91dCBvdGhlcndpc2UgZHVl
IHRvIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIGxpbWl0YXRpb25zLgorCiAyMDE3LTA4LTEw
ICBNaWd1ZWwgR29tZXogIDxtYWdvbWV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCBHVEsrIGdhcmRlbmluZy4gVXBkYXRlIGV4cGVjdGF0aW9ucyBvZiBzZXZlcmFsIHRlc3RzIGZh
aWxpbmcgYXQgcjIyMDUxNi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGE4YmUy
NmNkNmFhY2NmNTcyMTUzZjgzNjYxZmY0MTlmM2E5Mjk0MmEuLjA4YjFiZGYyNTI2ZjI0ZmU0M2Mw
MmEyNzc4OTk2YzQ0Y2FiMDQ0ZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDE3LTA4LTEwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KKworICAgICAgICBbQ2FjaGUgQVBJXSBBZGRpbmcgZ2VuZXJpYyBzdXBwb3J0IGZvciBDYWNo
ZVN0b3JhZ2UgYW5kIENhY2hlIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3NTQ1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9j
YWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dp
bmRvdy9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0
b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS5o
dHRwcy1leHBlY3RlZC50eHQ6CisKIDIwMTctMDgtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBJbXBvcnQgYmVhY29uL2hlYWRlcnMvaGVhZGVyLWNvbnRlbnQt
dHlwZS5odG1sIGZyb20gdXBzdHJlYW0gV1BUCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlNmFkMmYy
NTgyN2FlYjUyYmM2MzQxMTczNzY5Mzk3MTU1MDc2YTE5Li42OWZiZjZjNGFlZTEwNTYxNDE4NDQ4
NzUzYmEzZTkxYWM1MzYyOTc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEyMSw3ICsxMjEsNyBA
QCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zdHViLTQu
Ni4yLWNhY2hlLmh0bWwgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3N0dWItNC42LjMtY2FjaGUtc3RvcmFnZS5odG1sIFsgUGFzcyBdCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9y
YWdlIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdyBbIFBhc3MgRmFpbHVyZSBdCi0KK2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UvY29tbW9u
Lmh0dHBzLmh0bWwgWyBTa2lwIF0KIAogIyB0ZXh0YXJlYS5hbmltYXRlIGlzIG5vdCBzdXBwb3J0
ZWQKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy11aS0zL2NhcmV0LWNv
bG9yLTAxOC5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZp
Y2V3b3JrZXIvY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFn
ZS9zZXJ2aWNld29ya2VyL2NyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAwNzYx
NjUwZGJjNDFlOGJkMTVlNjRlNDdlMzA4ZjJkYzMyYWI5ZTViLi4zOGU5NTIzOTdjMzQ2MTkyOGYx
ZWYxZWRmN2FiZWUzMGNlMzgxMjc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZp
Y2V3b3JrZXIvY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0
b3JhZ2Uvc2VydmljZXdvcmtlci9jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEs
MyArMSwzIEBACiAKLUZBSUwgQ2FjaGUgQVBJIG1hdGNoaW5nIGluY2x1ZGVzIGNyZWRlbnRpYWxz
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZSBBUEkgbWF0Y2hpbmcgaW5jbHVk
ZXMgY3JlZGVudGlhbHMgYXNzZXJ0X3VucmVhY2hlZDogdW5yZWdpc3RlciBzaG91bGQgbm90IGZh
aWw6IHNlcnZpY2VXb3JrZXIuZ2V0UmVnaXN0cmF0aW9uKCkgaXMgbm90IHlldCBpbXBsZW1lbnRl
ZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFn
ZS93aW5kb3cvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dApp
bmRleCBmZGVhZmU5MzY2ZTlmNTk5OTQ3ZDIwMzU5YWYwYTU3NGIzYzJkNmYzLi43MWY1ZTcwZDJi
MmMzNmQ1NTc0YjUzMTFhYjBjYWU2ZWJjNjkwZmVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9y
YWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVk
LnR4dApAQCAtNCw4ICs0LDggQEAgRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBmcm9tIG9uZSBvZiBt
YW55IGNhY2hlcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24KIEZBSUwgQ2FjaGVT
dG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2YgbWFueSBjYWNoZXMgYnkgbmFtZSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKIEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggYSBzdHJpbmcgcmVxdWVzdCBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKIEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggYSBIRUFEIHJlcXVl
c3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGgg
bm8gY2FjaGVkIGVudHJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3Jh
Z2VNYXRjaCB3aXRoIG5vIGNhY2hlcyBhdmFpbGFibGUgYnV0IG5hbWUgcHJvdmlkZWQgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCitQQVNTIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGVk
IGVudHJ5IAorUEFTUyBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlcyBhdmFpbGFibGUg
YnV0IG5hbWUgcHJvdmlkZWQgCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggZW1wdHkgY2Fj
aGUgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIEZBSUwgQ2FjaGVTdG9y
YWdlTWF0Y2ggc3VwcG9ydHMgaWdub3JlU2VhcmNoIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgog
RkFJTCBDYWNoZS5tYXRjaCBzdXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdl
Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3Jh
Z2UuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDAwMWU2ZTMzYmQ3YWIzNGVhNzM1YWNhZGY5NDIw
Y2FlMTA4MjliNjEuLjFhZDQ2MDAyOGRhNzY5ZWMxOTgxNGUzMTBhZDBhMDA3OGUzZTc3OWUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UuaHR0
cHMtZXhwZWN0ZWQudHh0CkBAIC00LDkgKzQsOSBAQCBGQUlMIENhY2hlU3RvcmFnZS5kZWxldGUg
ZG9vbXMsIGJ1dCBkb2VzIG5vdCBkZWxldGUgaW1tZWRpYXRlbHkgcHJvbWlzZV90ZXN0OiBVbgog
RkFJTCBDYWNoZVN0b3JhZ2Uub3BlbiB3aXRoIGFuIGVtcHR5IG5hbWUgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCiBQQVNTIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggbm8gYXJndW1lbnRzIAogRkFJ
TCBDYWNoZVN0b3JhZ2UuaGFzIHdpdGggZXhpc3RpbmcgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZS5oYXMgd2l0aCBub25leGlzdGVudCBjYWNoZSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKK1BBU1MgQ2FjaGVTdG9yYWdlLmhhcyB3aXRoIG5vbmV4aXN0
ZW50IGNhY2hlIAogRkFJTCBDYWNoZVN0b3JhZ2Uub3BlbiB3aXRoIGV4aXN0aW5nIGNhY2hlIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogTm90IGltcGxlbWVudGVkIgogRkFJTCBDYWNoZVN0b3JhZ2UuZGVsZXRlIHdpdGggZXhp
c3RpbmcgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZS5k
ZWxldGUgd2l0aCBub25leGlzdGVudCBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK1BB
U1MgQ2FjaGVTdG9yYWdlLmRlbGV0ZSB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIAogRkFJTCBDYWNo
ZVN0b3JhZ2UgbmFtZXMgYXJlIERPTVN0cmluZ3Mgbm90IFVTVlN0cmluZ3MgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hl
LXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3Jr
ZXIvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggZmRlYWZlOTM2
NmU5ZjU5OTk0N2QyMDM1OWFmMGE1NzRiM2MyZDZmMy4uNzFmNWU3MGQyYjJjMzZkNTU3NGI1MzEx
YWIwY2FlNmViYzY5MGZlZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2Fj
aGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFn
ZS93b3JrZXIvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTQsOCAr
NCw4IEBAIEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2YgbWFueSBjYWNoZXMgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIGZy
b20gb25lIG9mIG1hbnkgY2FjaGVzIGJ5IG5hbWUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBG
QUlMIENhY2hlU3RvcmFnZU1hdGNoIGEgc3RyaW5nIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIGEgSEVBRCByZXF1ZXN0IHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlZCBlbnRy
eSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBu
byBjYWNoZXMgYXZhaWxhYmxlIGJ1dCBuYW1lIHByb3ZpZGVkIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorUEFTUyBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlZCBlbnRyeSAKK1BBU1Mg
Q2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNoZXMgYXZhaWxhYmxlIGJ1dCBuYW1lIHByb3Zp
ZGVkIAogRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIGVtcHR5IGNhY2hlIG5hbWUgcHJvdmlk
ZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHN1cHBv
cnRzIGlnbm9yZVNlYXJjaCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIEZBSUwgQ2FjaGUubWF0
Y2ggc3VwcG9ydHMgaWdub3JlTWV0aG9kIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVj
dGVkLnR4dAppbmRleCAwMDFlNmUzM2JkN2FiMzRlYTczNWFjYWRmOTQyMGNhZTEwODI5YjYxLi4x
YWQ0NjAwMjhkYTc2OWVjMTk4MTRlMzEwYWQwYTAwNzhlM2U3NzllIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9j
YWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4
dApAQCAtNCw5ICs0LDkgQEAgRkFJTCBDYWNoZVN0b3JhZ2UuZGVsZXRlIGRvb21zLCBidXQgZG9l
cyBub3QgZGVsZXRlIGltbWVkaWF0ZWx5IHByb21pc2VfdGVzdDogVW4KIEZBSUwgQ2FjaGVTdG9y
YWdlLm9wZW4gd2l0aCBhbiBlbXB0eSBuYW1lIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgogUEFT
UyBDYWNoZVN0b3JhZ2Uub3BlbiB3aXRoIG5vIGFyZ3VtZW50cyAKIEZBSUwgQ2FjaGVTdG9yYWdl
LmhhcyB3aXRoIGV4aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBD
YWNoZVN0b3JhZ2UuaGFzIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitQQVNTIENhY2hlU3RvcmFnZS5oYXMgd2l0aCBub25leGlzdGVudCBjYWNoZSAKIEZB
SUwgQ2FjaGVTdG9yYWdlLm9wZW4gd2l0aCBleGlzdGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKIEZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0ZSB3aXRoIGV4aXN0aW5nIGNhY2hlIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2UuZGVsZXRlIHdpdGggbm9u
ZXhpc3RlbnQgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitQQVNTIENhY2hlU3RvcmFn
ZS5kZWxldGUgd2l0aCBub25leGlzdGVudCBjYWNoZSAKIEZBSUwgQ2FjaGVTdG9yYWdlIG5hbWVz
IGFyZSBET01TdHJpbmdzIG5vdCBVU1ZTdHJpbmdzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317934</attachid>
            <date>2017-08-11 10:31:47 -0700</date>
            <delta_ts>2017-08-11 10:53:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175455-20170811103145.patch</filename>
            <type>text/plain</type>
            <size>114987</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTYyZGVjYWY3NGM2MWMy
OWQzMGJiZWQ0ZWZmNjc1ZjRhYWQ5NjlkMC4uMzIyODM1MTIzOWQxMTkyZjU0YWQ0OGIyOTVhYWMz
OGQ3MTU4MGU2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2MCBAQAorMjAxNy0wOC0xMCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRk
aW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5
IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgIEFkZGluZyBhIENhY2hlU3RvcmFnZVByb3ZpZGVy
IGFic3RyYWN0aW9uIHRoYXQgY3JlYXRlcyBhIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uCisgICAg
ICAgIFRoZSBDYWNoZVN0b3JhZ2VQcm92aWRlciBpcyBhY2Nlc3NlZCBmcm9tIHRoZSBwYWdlIGZv
ciBEb2N1bWVudCBjYWxscy4KKyAgICAgICAgVGhlIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24gaXMg
cmVzcG9uc2libGUgdG8gaW1wbGVtZW50IHRoZSByZWFkL3dyaXRlIG9wZXJhdGlvbnMgb24gdGhl
IGNhY2hlIGRhdGFiYXNlLgorICAgICAgICBBdCB0aGUgbW9tZW50LCBpdCBkb2VzIG5vdGhpbmcu
CisKKyAgICAgICAgSW1wbGVtZW50aW5nIENhY2hlU3RvcmFnZSBBUElzIGFuZCBDYWNoZSBBUElz
IGJhc2VkIG9uIHRoZSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uIGV4Y2VwdCBmb3IgQ2FjaGUgYWRk
IGFuZCBhZGRBbGwgd2hpY2ggd2lsbCBiZSBpbXBsZW1lbnRlZCBsYXRlciBvbi4KKworICAgICAg
ICBBZGRpbmcgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlLm1hdGNoIGZ1bmN0aW9uIGFzIGEgSlMg
YnVpbHQtaW4gYXMgdGhpcyBpbnZvbHZlcyBwcm9taXNlcyBhbmQgYWxsb3dzIGEgY2xlYXJlciBp
bXBsZW1lbnRhdGlvbi4KKyAgICAgICAgQWRkaW5nIHZhcmlvdXMgYWNjZXNzb3JzIGFuZCBjb25z
dHJ1Y3RvcnMgZm9yIEZldGNoIGNvbnN0cnVjdHMgYXMgbmVlZGVkIGJ5IHRoZSBDYWNoZSBBUEkg
aW1wbGVtZW50YXRpb24uCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OkNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
Ojp+Q2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6Om9yaWdpbiBjb25zdCk6CisgICAg
ICAgIENvbXB1dGluZyB0aGUgY2FjaGUgb3JpZ2luIHRoYXQgaXMgcGFzc2VkIHRvIHRoZSBDYWNo
ZVN0b3JhZ2VDb25uZWN0aW9uLgorICAgICAgICBUaGUgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbiBp
cyBhIGdlbmVyaWMgY29ubmVjdGlvbiBhbmQgbm90IHRpZWQgdG8gYW55IGRvY3VtZW50L2NvbnRl
eHQuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6bWF0Y2gpOiBJbXBsZW1lbnRhdGlvbiBvZiBo
dHRwczovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEvI2NhY2hlLW1hdGNoLgorICAg
ICAgICBSZWRpcmVjdCB0byBtYXRjaEFsbCBhcyBwZXIgc3BlYy4KKyAgICAgICAgKFdlYkNvcmU6
OkNhY2hlOjptYXRjaEFsbCk6IEltcGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtbWF0Y2hBbGwuCisgICAgICAgIENoZWNrcyBmb3Ig
cmVxdWVzdCBhcyBwZXIgc3BlYy4gVGhlbiBlaXRoZXIgcmVmcmVzaCB0aGUgcmVxdWVzdCB0byBy
ZXNwb25zZSBtYXAgYW5kIHJldHVybiBhbGwgcmVzcG9uc2VzLgorICAgICAgICBPciBjYWxsIHRo
ZSBxdWVyeSBjYWNoZSBhbGdvcml0aG0gYW5kIHJldHVybiBjb3BpZXMgb2YgdGhlIHJlc3BvbnNl
cyAodXNpbmcgY2xvbmUpLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnB1dCk6CisgICAgICAg
IENoZWNrIHRoZSByZXF1ZXN0IGFuZCByZXNwb25zZSBhcyBwZXIgc3BlYy4KKyAgICAgICAgQWRk
IHRlbXBvcmFyeSByZWplY3Rpb24gY2FzZXMgKGJlaW5nIGxvYWRlZCByZXNwb25zZXMsIHJlc3Bv
bnNlcyB3aXRoIFJlYWRhYmxlU3RyZWFtKSBhcyB0aGVyZSBpcyBubyBzdXBwb3J0IGZvciB0aGVt
IHJpZ2h0IG5vdy4KKyAgICAgICAgQ2FsbCB0aGUgYmF0Y2ggcHV0IG9wZXJhdGlvbi4KKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlOjpyZW1vdmUpOgorICAgICAgICBDaGVjayB0aGUgcmVxdWVzdCBh
bmQgcmVzcG9uc2UgYXMgcGVyIHNwZWMuCisgICAgICAgIENhbGwgdGhlIGJhdGNoIGRlbGV0ZSBv
cGVyYXRpb24uCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6a2V5cyk6CisgICAgICAgIFJlZnJl
c2ggdGhlIHJlcXVlc3QgdG8gcmVzcG9uc2UgbWFwIGFuZCByZXR1cm4gY29ycmVzcG9uZGluZyBy
ZXF1ZXN0cy4KKyAgICAgICAgTWFraW5nIHN1cmUgdG8gcmV1c2UgdGhlIHNhbWUgcmVxdWVzdCBv
YmplY3RzIGFzIHBlciBzcGVjLgorICAgICAgICBBcyBwZXIgc3BlYywgdGhlIHJlcXVlc3QgdG8g
cmVzcG9uc2UgbWFwIGlzIG9yZGVyZWQuIFdlIGltcGxlbWVudCBpdCBhcyBhIFZlY3Rvci4KKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlOjpyZWZyZXNoUmVxdWVzdFRvUmVzcG9uc2VNYXApOgorICAg
ICAgICBVc2UgdGhlIGNhY2hlIHN0b3JhZ2UgY29ubmVjdGlvbiB0byBnZXQgYW4gdXAtdG8tZGF0
ZSBsaXN0IG9mIGNhY2hlZCByZWNvcmRzLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnF1ZXJ5
Q2FjaGVNYXRjaCk6CisgICAgICAgIEltcGxlbWVudHMgdGhlIG1hdGNoIGFsZ29yaXRobSBkZWZp
bmVkIGluIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jcXVlcnktY2Fj
aGUtYWxnb3JpdGhtLgorICAgICAgICBUaGlzIGlzIHNwbGl0IGZvciBxdWVyeUNhY2hlIGFzIGNh
Y2hlIHN0b3JhZ2UgZW5naW5lIHdpbGwgbmVlZCB0byB1c2UgaXQgd2hlbiBpbXBsZW1lbnRpbmcg
dGhlIGRlbGV0ZSBvcGVyYXRpb24uCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6cXVlcnlDYWNo
ZSk6CisgICAgICAgIEZ1bGwgaW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93d3cudzMub3JnL1RS
L3NlcnZpY2Utd29ya2Vycy0xLyNxdWVyeS1jYWNoZS1hbGdvcml0aG0gd2l0aCBubyB0YXJnZXRT
dG9yYWdlIGFyZ3VtZW50LgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnF1ZXJ5Q2FjaGVXaXRo
VGFyZ2V0U3RvcmFnZSk6CisgICAgICAgIEZ1bGwgaW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93
d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNxdWVyeS1jYWNoZS1hbGdvcml0aG0gd2l0
aCBhIHByb3ZpZGVkIHRhcmdldFN0b3JhZ2UgYXJndW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpD
YWNoZTo6YmF0Y2hEZWxldGVPcGVyYXRpb24pOgorICAgICAgICBJbXBsZW1lbnRhdGlvbiBvZiBo
dHRwczovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEvI2JhdGNoLWNhY2hlLW9wZXJh
dGlvbnMtYWxnb3JpdGhtIGJ1dCBkZWRpY2F0ZWQgdG8gYSBkZWxldGUgb3BlcmF0aW9uLgorICAg
ICAgICBEZWxldGUgb3BlcmF0aW9uIGFyZSBhbHdheXMgZG9uZSBvbmUgYXQgYSB0aW1lLgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGU6OmJhdGNoUHV0T3BlcmF0aW9uKToKKyAgICAgICAgSW1wbGVt
ZW50YXRpb24gb2YgaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNiYXRj
aC1jYWNoZS1vcGVyYXRpb25zLWFsZ29yaXRobSBkZWRpY2F0ZWQgdG8gYSBwdXQgb3BlcmF0aW9u
LgorICAgICAgICBQdXQgb3BlcmF0aW9uIGNhbiB0YWtlIHNldmVyYWwgcmVjb3JkcyBpbiB0aGUg
Y2FzZSBvZiBhZGRBbGwuIFRoaXMgY3VycmVudGx5IHRha2VzIG9ubHkgb25lIHJlY29yZCBhcyBp
bnB1dCBhcyBuZWVkZWQgZm9yIHB1dCBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6
OkNhY2hlOjp1cGRhdGVSZXF1ZXN0VG9SZXNwb25zZU1hcCk6CisgICAgICAgIFVwZGF0ZSB0aGUg
Y2FjaGUgcmVxdWVzdCB0byByZXNwb25zZSBtYXAgYmFzZWQgb24gdGhlIHJlY29yZHMgcmV0cmll
dmVkIGZyb20gdGhlIGNhY2hlIHN0b3JhZ2UgY29ubmVjdGlvbi4KKyAgICAgICAgKiBNb2R1bGVz
L2NhY2hlL0NhY2hlLmg6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlOjpuYW1lIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hl
L0NhY2hlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2U6Om9yaWdpbiBjb25zdCk6CisgICAgICAgIENv
bXB1dGluZyB0aGUgY2FjaGUgb3JpZ2luIHRoYXQgaXMgcGFzc2VkIHRvIHRoZSBDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uLgorICAgICAgICBUaGUgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbiBpcyBhIGdl
bmVyaWMgY29ubmVjdGlvbiBhbmQgbm90IHRpZWQgdG8gYW55IGRvY3VtZW50L2NvbnRleHQuCisg
ICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2U6Omhhcyk6CisgICAgICAgIEltcGxlbWVudGF0
aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtc3Rv
cmFnZS1oYXMuCisgICAgICAgIENhbGwgdGhlIGNhY2hlIHN0b3JhZ2UgY29ubmVjdGlvbiB0byBy
ZWZyZXNoIGl0cyBjYWNoZSBtYXAuCisgICAgICAgIFRoZW4gdXNlIGl0IHRvIGNoZWNrIHdoZXRo
ZXIgYSBjYWNoZSBleGlzdHMuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2U6OnJlZnJl
c2hDYWNoZU1hcCk6CisgICAgICAgIFVzZSB0aGUgY2FjaGUgc3RvcmFnZSBjb25uZWN0aW9uIHRv
IGdldCB0aGUgbGlzdCBvZiBleGlzdGluZyBjYWNoZXMuCisgICAgICAgIChXZWJDb3JlOjpDYWNo
ZVN0b3JhZ2U6Om9wZW4pOgorICAgICAgICBJbXBsZW1lbnRhdGlvbiBvZiBodHRwczovL3d3dy53
My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEvI2NhY2hlLXN0b3JhZ2Utb3Blbi4KKyAgICAgICAg
UmVmcmVzaGluZyB0aGUgY2FjaGUgbWFwIHNvIGFzIHRvIHJldHVybiBhIHByZS1leGlzdGluZyBj
YWNoZSBpZiBhbnkuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2U6OnJlbW92ZSk6Cisg
ICAgICAgIEltcGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdv
cmtlcnMtMS8jY2FjaGUtc3RvcmFnZS1kZWxldGUtbWV0aG9kLgorICAgICAgICBSZWZyZXNoaW5n
IHRoZSBjYWNoZSBtYXAgc28gYXMgdG8gZG8gbm90aGluZyBpZiB0aGVyZSBpcyBubyBjYWNoZSB0
byByZW1vdmUuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2U6OmtleXMpOgorICAgICAg
ICBJbXBsZW1lbnRhdGlvbiBvZiBodHRwczovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJz
LTEvI2NhY2hlLXN0b3JhZ2Uta2V5cy1tZXRob2QuCisgICAgICAgIFJlZnJlc2hpbmcgdGhlIGNh
Y2hlIG1hcCBhbmQgcmV0dXJuaW4gaXRzIGtleXMuCisgICAgICAgIEFzIHBlciBzcGVjLCB0aGUg
Y2FjaGUgbWFwIGlzIG9yZGVyZWQuIFdlIGltcGxlbWVudCBpdCBhcyBhIFZlY3Rvci4KKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6Y2FjaGVNYXApOgorICAgICAgICBHZXQgdGhlIGxp
c3Qgb2YgY2FjaGUgb2JqZWN0cywgdXNlZCBhcyBhIHByaXZhdGUgYWNjZXNzb3IgZm9yIEpTIGJ1
aWx0LWlucy4KKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVTdG9yYWdlOjpDYWNoZVN0b3JhZ2UpOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvQ2FjaGVT
dG9yYWdlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5qczogQWRk
ZWQuCisgICAgICAgIChtYXRjaCk6IEltcGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9y
Zy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtbWF0Y2guCisgICAgICAgIEFzIHBlciBzcGVj
LCB1c2luZyBDYWNoZS5AbWF0Y2ggb24gZWl0aGVyIGEgc3BlY2lmaWMgY2FjaGUgb3IgYWxsIGNh
Y2hlcy4KKyAgICAgICAgSW1wbGVtZW50aW5nIGluIEpTIGJ1aWx0LWluIGlzIGEgY29udmVuaWVu
dCB3YXkgdG8gaGF2ZSBhIHNpbXBsZSBpbXBsZW1lbnRhdGlvbgorICAgICAgICB0aGF0IGVhc2ls
eSByZWxhdGVzIHRvIHRoZSBzcGVjaWZpY2F0aW9uLgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUv
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9yKToKKyAgICAgICAgKiBNb2R1
bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaDogQWRkZWQuCisgICAgICAgIE1ha2Vz
IHRoZSBsaW5rIGJldHdlZW4gV2ViIGZhY2luZyBDYWNoZSBBUEkgYW5kIHRoZSBjYWNoZSBzdG9y
YWdlIGVuZ2luZS4KKyAgICAgICAgRW52aXNpb25lZCBpbXBsZW1lbnRhdGlvbiBhcmU6CisgICAg
ICAgIC0gT25lIG1haW4gdGhyZWFkIGNvbm5lY3Rpb24gdXNlZCBieSBhbGwgZG9jdW1lbnRzIGlu
IHRoZSBnaXZlbiBwcm9jZXNzLgorICAgICAgICAtIE9uZSBjb25uZWN0aW9uIHBlciB3b3JrZXIg
dGhhdCBmb3J3YXJkcyB0aGUgY2FsbHMgdG8gdGhlIG1haW4gdGhyZWFkIGFuZCB1c2UgdGhlIG1h
aW4gdGhyZWFkIGNvbm5lY3Rpb24gYWZ0ZXJ3YXJkcy4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uOjpvcGVuKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5l
Y3Rpb246OnJlbW92ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
OjpyZWZyZXNoQ2FjaGVNYXApOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29ubmVj
dGlvbjo6cmVmcmVzaFJlcXVlc3RUb1Jlc3BvbnNlTWFwKToKKyAgICAgICAgKFdlYkNvcmU6OkNh
Y2hlU3RvcmFnZUNvbm5lY3Rpb246OmJhdGNoRGVsZXRlT3BlcmF0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmJhdGNoUHV0T3BlcmF0aW9uKToKKyAgICAg
ICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZVJlY29yZC5oOiBBZGRlZC4gQSBmZXRjaCBy
ZWNvcmQgZnJvbSB0aGUgV2ViIGZhY2luZyBjYWNoZSBBUEkgcGVyc3BlY3RpdmUuCisgICAgICAg
ICogTW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RE9NV2luZG93Q2FjaGVzOjpjYWNoZXMgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUv
V29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xv
YmFsU2NvcGVDYWNoZXM6OmZyb20pOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2Nv
cGVDYWNoZXM6OmNhY2hlcyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9Xb3JrZXJH
bG9iYWxTY29wZUNhY2hlcy5oOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGVD
YWNoZXM6Oldvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKToKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNo
L0ZldGNoQm9keU93bmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHlPd25lcjo6aXNS
ZWFkYWJsZVN0cmVhbUJvZHkgY29uc3QpOiBBZGRlZCBnZXR0ZXIgYXMgaXQgaXMgdXNlZCBieSBj
YWNoZSBBUEkuCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZldGNoSGVhZGVyczo6Y3JlYXRlKTogQWRkIGFub3RoZXIgY3JlYXRlIGFz
IHVzZWQgYnkgdGhlIGNhY2hlIEFQSS4KKyAgICAgICAgKFdlYkNvcmU6OkZldGNoSGVhZGVyczo6
Z3VhcmQgY29uc3QpOiBBZGRlZCBnZXR0ZXIgYW5kIElQQyBzZXJpYWxpemVyIGFzIHRoaXMgaXMg
c29tZXRoaW5nIHRoYXQgd2lsbCBiZSBzdG9yZWQgYnkgdGhlIGNhY2hlIGVuZ2luZS4KKyAgICAg
ICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZl
dGNoTG9hZGVyOjpzdGFydCk6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6YnVpbGRPcHRpb25zKTogSW4gY2FzZSBGZXRjaFJlcXVl
c3Q6OmNyZWF0ZSBpcyBjYWxsZWQgZnJvbSBDKyssIHRoZXJlIGlzIG5vIG5lZWQgdG8gc2V0IGlu
aXQud2luZG93IHRvIGEgbnVsbCB2YWx1ZS4KKyAgICAgICAgQWRkIGEgY2hlY2sgc28gdGhhdCBu
byB2YWx1ZSBhdCBhbGwgaXMgdGhlIHNhbWUgYXMgYSB1bmxsL3VuZGVmaW5lZCB2YWx1ZS4KKyAg
ICAgICAgKFdlYkNvcmU6OkZldGNoUmVxdWVzdDo6cmVzb3VyY2VSZXF1ZXN0IGNvbnN0KToKKyAg
ICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5oOgorICAgICAgICAqIE1vZHVsZXMv
ZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaFJlc3BvbnNl
Ojpib2R5Rm9ySW50ZXJuYWxSZXNwb25zZSk6IENhY2hlIEFQSSBjYW4gY29uc3VtZSB0aGUgcmVz
cG9uc2UgYm9keS4gQWRkIHRoaXMgYWNjZXNzb3IgZm9yIHRoYXQgcHVycG9zZS4KKyAgICAgICAg
KiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0
aW5OYW1lcy5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck92ZXJsYXk6Om92ZXJsYXlQYWdlKToKKyAgICAgICAg
KiBwYWdlL0NhY2hlU3RvcmFnZVByb3ZpZGVyLmg6IEFkZGVkLgorICAgICAgICBJbnRlcmZhY2Ug
dG8gY3JlYXRlIG1haW4gdGhyZWFkIGNhY2hlIHN0b3JhZ2UgY29ubmVjdGlvbiBmb3IgdGhlIGdp
dmVuIHBhZ2UuCisgICAgICAgIFRoZXJlIHdpbGwgYmUgb25lIHByb3ZpZGVyIGZvciBlYWNoIHBy
b2Nlc3MuCisgICAgICAgIFBhc3NpbmcgYSBzZXNzaW9uSUQgc28gdGhhdCB3ZSB3aWxsIGNyZWF0
ZSBhIGNvbm5lY3Rpb24gcGVyIHNlc3Npb24uCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBhZ2U6OlBhZ2UpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6UGFnZTo6Y2FjaGVTdG9yYWdlUHJvdmlkZXIpOgorICAgICAgICAqIHBh
Z2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbmZpZ3Vy
YXRpb246OlBhZ2VDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0
aW9uLmg6CisgICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0ltYWdlOjpkYXRhQ2hhbmdlZCk6CisKKzIwMTctMDgtMTAgIEFudHRpIEtvaXZp
c3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFRyeSB0byBmaXggd2luZG93cyBidWls
ZC4KKworICAgICAgICAqIHN0eWxlL1N0eWxlVXBkYXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZTo6VGV4dFVwZGF0ZTo6VGV4dFVwZGF0ZSk6CisKIDIwMTctMDgtMTAgIENhcmxvcyBHYXJj
aWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIENyYXNoZXMg
aW4gV2ViQ29yZTo6UGFzdGVib2FyZEhlbHBlcjo6ZmlsbFNlbGVjdGlvbkRhdGEgd2hlbiBzb3Vy
Y2UgZmlsZSBvZiBkcmFnIGlzIHVuYXZhaWxhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDYyMTk5YjkwNzE3YWM0
ODYxMzM4NTcyMzNhNmYyN2I4MDlkM2RlM2QuLjIyYTc4ZjQ5NGQ1YzE5NzMzZmQyODVmMzhkYzYw
MzE1YjMzMGE0OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTctMDgtMTAgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFtDYWNoZSBBUEldIEFkZGlu
ZyBnZW5lcmljIHN1cHBvcnQgZm9yIENhY2hlU3RvcmFnZSBhbmQgQ2FjaGUgbWV0aG9kcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NDU1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0NhY2hlL1dlYkNh
Y2hlU3RvcmFnZVByb3ZpZGVyLmg6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bV9jcHVMaW1pdCk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6
V2ViUHJvY2Vzcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3M6OmNhY2hlU3RvcmFnZVByb3ZpZGVyKToKKwogMjAxNy0wOC0x
MCAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10g
RG9uJ3QgdXNlIC0td2hvbGUtYXJjaGl2ZSBsaW5raW5nIGZsYWdzIGZvciB0aGUgV2ViS2l0MiB0
YXJnZXQgbGlicmFyaWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggYTY2Mjk0YTJl
M2IzNjNhMzMzMDdmYWM2Njg0NzY2ZDA0ZjI5ODk2YS4uY2ViZTZmMmZmNmE3ZmMyODFjYTNiMDE1
NDBlNzg1NWJjODdjM2VlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEzIEBACisyMDE3LTA4LTEwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbQ2FjaGUgQVBJXSBBZGRpbmcgZ2VuZXJpYyBzdXBwb3J0IGZvciBDYWNoZVN0b3Jh
Z2UgYW5kIENhY2hlIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3NTQ1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9j
b21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6Z3JvdXBOYW1lOl0pOgorCiAyMDE3LTA4
LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgRGlzYWJsZSBC
ZWFjb24gQVBJIG9uIFdLMSBEUlQgYW5kIFdLMiB3aGVuIG5vdCB1c2luZyBORVRXT1JLX1NFU1NJ
T04KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZTFhZDU4ZTNlY2ZlOWFlMzUxMjJjMmNkZmIxY2Rj
YzZlZTdiYzJiMy4uODllNjViYzJjNWQ3NjQ2YTY4MWJjZGQ4MmM5OWZmMzU0ZDE4OWRlMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKQEAgLTg5Myw2ICs4OTMsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VT
CiAKICAgICBNb2R1bGVzL2NhY2hlL0NhY2hlLmNwcAogICAgIE1vZHVsZXMvY2FjaGUvQ2FjaGVT
dG9yYWdlLmNwcAorICAgIE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAK
ICAgICBNb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHAKICAgICBNb2R1bGVzL2NhY2hl
L1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmNwcAogCkBAIC0zODUyLDYgKzM4NTMsNyBAQCBhZGRf
ZGVwZW5kZW5jaWVzKFdlYkNvcmVUZXN0U3VwcG9ydEJpbmRpbmdzIFdlYkNvcmVEZXJpdmVkU291
cmNlcykKICMgV2ViQ29yZSBKUyBCdWlsdGlucwogCiBzZXQoV2ViQ29yZV9CVUlMVElOU19TT1VS
Q0VTCisgICAgJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuanMKICAg
ICAke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2ZldGNoL0ZldGNoSW50ZXJuYWxzLmpzCiAgICAgJHtX
RUJDT1JFX0RJUn0vTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmpzCiAgICAgJHtXRUJDT1JF
X0RJUn0vTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JVc2VyTWVkaWEuanMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDhkNTY0ZTY3NzBiZmQ4NDQyZDU3OGQ1NGMyYjk4MWZi
ODVlMWI3ZjguLjdlMDUzOGM0MTBkM2YzNGI1NWMxMDRlMTc3MDcwYWFjMDQ4M2MzYTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTM5Nyw2ICsxMzk3LDcgQEAgQ29tbWFuZExp
bmVBUElNb2R1bGVTb3VyY2UuaCA6IENvbW1hbmRMaW5lQVBJTW9kdWxlU291cmNlLmpzCiAjIFdl
YkNvcmUgSlMgQnVpbHRpbnMKIAogV2ViQ29yZV9CVUlMVElOU19TT1VSQ0VTID0gXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuanMgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9mZXRjaC9GZXRjaEludGVybmFscy5qcyBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L2ZldGNoL0ZldGNoUmVzcG9uc2UuanMgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0
cmVhbS9OYXZpZ2F0b3JVc2VyTWVkaWEuanMgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9DYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0Nh
Y2hlLmNwcAppbmRleCBlMTlhZjU1MDI5NTY0ZDk1NzQ1NDJiM2ViMzM0ODQzMjM4M2Y2N2Q1Li5i
OTMwZDI1ZmQ3OWZjNWRmYTZjMzBlNTBhZjJmMjA4NTE5OTViMWYxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NhY2hlL0NhY2hlLmNwcApAQCAtMjYsMTYgKzI2LDg3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiQ2FjaGUuaCIKIAorI2luY2x1ZGUgIkNhY2hlUXVlcnlPcHRpb25z
LmgiCisjaW5jbHVkZSAiRmV0Y2hSZXNwb25zZS5oIgorI2luY2x1ZGUgIkpTRmV0Y2hSZXF1ZXN0
LmgiCisjaW5jbHVkZSAiSlNGZXRjaFJlc3BvbnNlLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgIlVSTC5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LXZvaWQgQ2FjaGU6Om1hdGNoKFJlcXVlc3RJbmZvJiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVy
eU9wdGlvbnM+JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK0NhY2hlOjpDYWNo
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBTdHJpbmcmJiBuYW1lLCBSZWY8Q2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbj4mJiBjb25uZWN0aW9uKQorICAgIDogQWN0aXZlRE9NT2JqZWN0
KCZjb250ZXh0KQorICAgICwgbV9uYW1lKFdURk1vdmUobmFtZSkpCisgICAgLCBtX2Nvbm5lY3Rp
b24oV1RGTW92ZShjb25uZWN0aW9uKSkKIHsKLSAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9u
IHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgc3Vz
cGVuZElmTmVlZGVkKCk7CiB9CiAKLXZvaWQgQ2FjaGU6Om1hdGNoQWxsKHN0ZDo6b3B0aW9uYWw8
UmVxdWVzdEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIE1hdGNo
QWxsUHJvbWlzZSYmIHByb21pc2UpCitDYWNoZTo6fkNhY2hlKCkKIHsKLSAgICBwcm9taXNlLnJl
amVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVk
Iil9KTsKK30KKworU3RyaW5nIENhY2hlOjpvcmlnaW4oKSBjb25zdAoreworICAgIC8vIEZJWE1F
OiBEbyB3ZSByZWFsbHkgbmVlZCB0byBjaGVjayBmb3Igb3JpZ2luIGJlaW5nIG51bGw/CisgICAg
YXV0byogb3JpZ2luID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpID8gc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLT5zZWN1cml0eU9yaWdpbigpIDogbnVsbHB0cjsKKyAgICByZXR1cm4gb3JpZ2lu
ID8gb3JpZ2luLT50b1N0cmluZygpIDogU3RyaW5nKCk7Cit9CisKK3ZvaWQgQ2FjaGU6Om1hdGNo
KFJlcXVlc3RJbmZvJiYgaW5mbywgQ2FjaGVRdWVyeU9wdGlvbnMmJiBvcHRpb25zLCBSZWY8RGVm
ZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCit7CisgICAgbWF0Y2hBbGwoV1RGTW92ZShpbmZvKSwg
V1RGTW92ZShvcHRpb25zKSwgV1RGTW92ZShwcm9taXNlKSwgTWF0Y2hUeXBlOjpPbmx5Rmlyc3Qp
OworfQorCit2b2lkIENhY2hlOjptYXRjaEFsbChzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZvPiYm
IGluZm8sIENhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywgUmVmPERlZmVycmVkUHJvbWlzZT4m
JiBwcm9taXNlLCBNYXRjaFR5cGUgbWF0Y2hUeXBlKQoreworICAgIFJlZlB0cjxGZXRjaFJlcXVl
c3Q+IHJlcXVlc3Q7CisgICAgaWYgKGluZm8pIHsKKyAgICAgICAgaWYgKFdURjo6aG9sZHNfYWx0
ZXJuYXRpdmU8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8udmFsdWUoKSkpIHsKKyAgICAgICAg
ICAgIHJlcXVlc3QgPSBXVEY6OmdldDxSZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4oaW5mby52YWx1ZSgp
KS5yZWxlYXNlTm9uTnVsbCgpOworICAgICAgICAgICAgaWYgKHJlcXVlc3QtPm1ldGhvZCgpICE9
ICJHRVQiICYmICFvcHRpb25zLmlnbm9yZU1ldGhvZCkgeworICAgICAgICAgICAgICAgIGlmICht
YXRjaFR5cGUgPT0gTWF0Y2hUeXBlOjpPbmx5Rmlyc3QpIHsKKyAgICAgICAgICAgICAgICAgICAg
cHJvbWlzZS0+cmVzb2x2ZSgpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIHByb21pc2UtPnJlc29sdmU8SURMU2VxdWVuY2U8
SURMSW50ZXJmYWNlPEZldGNoUmVzcG9uc2U+Pj4oVmVjdG9yPFJlZjxGZXRjaFJlc3BvbnNlPj4g
eyB9KTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICBpZiAoVU5MSUtFTFkoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSkpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgcmVxdWVzdCA9IEZldGNo
UmVxdWVzdDo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFdURk1vdmUoaW5mby52
YWx1ZSgpKSwgeyB9KS5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKKyAgICAgICAgfQorICAgIH0KKwor
ICAgIGlmICghcmVxdWVzdCkgeworICAgICAgICBBU1NFUlQobWF0Y2hUeXBlID09IE1hdGNoVHlw
ZTo6QWxsKTsKKyAgICAgICAgcmVmcmVzaFJlcXVlc3RUb1Jlc3BvbnNlTWFwKFt0aGlzLCBwcm9t
aXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSB7CisgICAgICAgICAgICBWZWN0b3I8UmVmPEZldGNo
UmVzcG9uc2U+PiByZXNwb25zZXM7CisgICAgICAgICAgICByZXNwb25zZXMucmVzZXJ2ZUluaXRp
YWxDYXBhY2l0eShtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwLnNpemUoKSk7CisgICAgICAgICAgICBm
b3IgKGF1dG8mIHJlY29yZCA6IG1fcmVxdWVzdFRvUmVzcG9uc2VNYXApCisgICAgICAgICAgICAg
ICAgcmVzcG9uc2VzLnVuY2hlY2tlZEFwcGVuZChyZWNvcmQucmVzcG9uc2UtPmNsb25lRm9ySlMo
KSk7CisgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElETFNlcXVlbmNlPElETEludGVyZmFj
ZTxGZXRjaFJlc3BvbnNlPj4+KHJlc3BvbnNlcyk7CisgICAgICAgIH0pOworICAgICAgICByZXR1
cm47CisgICAgfQorICAgIHF1ZXJ5Q2FjaGUocmVxdWVzdC5yZWxlYXNlTm9uTnVsbCgpLCBXVEZN
b3ZlKG9wdGlvbnMpLCBbbWF0Y2hUeXBlLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oY29u
c3QgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4mIHJlY29yZHMpIG11dGFibGUgeworICAgICAg
ICBpZiAobWF0Y2hUeXBlID09IE1hdGNoVHlwZTo6T25seUZpcnN0KSB7CisgICAgICAgICAgICBp
ZiAocmVjb3Jkcy5zaXplKCkpIHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElE
TEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4ocmVjb3Jkc1swXS5yZXNwb25zZS5nZXQoKSk7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcHJvbWlz
ZS0+cmVzb2x2ZSgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAg
VmVjdG9yPFJlZjxGZXRjaFJlc3BvbnNlPj4gcmVzcG9uc2VzOworICAgICAgICByZXNwb25zZXMu
cmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShyZWNvcmRzLnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0
byYgcmVjb3JkIDogcmVjb3JkcykKKyAgICAgICAgICAgIHJlc3BvbnNlcy51bmNoZWNrZWRBcHBl
bmQocmVjb3JkLnJlc3BvbnNlLT5jbG9uZUZvckpTKCkpOworICAgICAgICBwcm9taXNlLT5yZXNv
bHZlPElETFNlcXVlbmNlPElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4+KHJlc3BvbnNlcyk7
CisgICAgfSk7CiB9CiAKIHZvaWQgQ2FjaGU6OmFkZChSZXF1ZXN0SW5mbyYmLCBET01Qcm9taXNl
RGVmZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQpAQCAtNDgsMTkgKzExOSwyNzYgQEAgdm9pZCBDYWNo
ZTo6YWRkQWxsKFZlY3RvcjxSZXF1ZXN0SW5mbz4mJiwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+
JiYgcHJvbWlzZSkKICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFT
Q0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKIH0KIAotdm9pZCBDYWNoZTo6cHV0KFJl
cXVlc3RJbmZvJiYsIFJlZjxGZXRjaFJlc3BvbnNlPiYmLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9p
ZD4mJiBwcm9taXNlKQordm9pZCBDYWNoZTo6cHV0KFJlcXVlc3RJbmZvJiYgaW5mbywgUmVmPEZl
dGNoUmVzcG9uc2U+JiYgcmVzcG9uc2UsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21p
c2UpCiB7Ci0gICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxp
dGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgUmVmUHRyPEZldGNoUmVxdWVzdD4gcmVx
dWVzdDsKKyAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWZQdHI8RmV0Y2hSZXF1ZXN0
Pj4oaW5mbykpIHsKKyAgICAgICAgcmVxdWVzdCA9IFdURjo6Z2V0PFJlZlB0cjxGZXRjaFJlcXVl
c3Q+PihpbmZvKS5yZWxlYXNlTm9uTnVsbCgpOworICAgICAgICBpZiAocmVxdWVzdC0+bWV0aG9k
KCkgIT0gIkdFVCIpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5
cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJSZXF1ZXN0IG1ldGhvZCBpcyBub3QgR0VUIikgfSk7Cisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBpZiAo
VU5MSUtFTFkoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkpCisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLCBXVEZNb3ZlKGluZm8pLCB7IH0pLnJlbGVhc2VSZXR1cm5WYWx1ZSgpOworICAg
IH0KKworICAgIGlmICghcHJvdG9jb2xJc0luSFRUUEZhbWlseShyZXF1ZXN0LT51cmwoKSkpIHsK
KyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVy
YWwoIlJlcXVlc3QgdXJsIGlzIG5vdCBIVFRQL0hUVFBTIikgfSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBhdXRvIHZhcnlWYWx1ZSA9IHJlc3BvbnNlLT5oZWFkZXJzKCkuaW50ZXJu
YWxIZWFkZXJzKCkuZ2V0KFdlYkNvcmU6OkhUVFBIZWFkZXJOYW1lOjpWYXJ5KTsKKyAgICBWZWN0
b3I8U3RyaW5nPiB2YXJ5aW5nSGVhZGVyTmFtZXM7CisgICAgYm9vbCBoYXNWYXJ5SGVhZGVyU3Rh
ciA9IGZhbHNlOworICAgIHZhcnlWYWx1ZS5zcGxpdCgnLCcsIGZhbHNlLCBbJl0oY29uc3QgU3Ry
aW5nVmlldyYgdmlldykgeworICAgICAgICBpZiAoIWhhc1ZhcnlIZWFkZXJTdGFyICYmIHZpZXcg
PT0gIioiKQorICAgICAgICAgICAgaGFzVmFyeUhlYWRlclN0YXIgPSB0cnVlOworICAgIH0pOwor
CisgICAgaWYgKGhhc1ZhcnlIZWFkZXJTdGFyKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4
Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJSZXNwb25zZSBoYXMgYSAnKicgVmFy
eSBoZWFkZXIgdmFsdWUiKSB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChy
ZXNwb25zZS0+aXNEaXN0dXJiZWQoKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRp
b24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiUmVzcG9uc2UgaXMgZGlzdHVyYmVkIG9yIGxv
Y2tlZCIpIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gRklYTUU6IEFkZCBz
dXBwb3J0IGZvciBiZWluZyBsb2FkZWQgcmVzcG9uc2VzLgorICAgIGlmIChyZXNwb25zZS0+aXNM
b2FkaW5nKCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgTm90U3VwcG9y
dGVkRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQ2FjaGluZyBhIGxvYWRpbmcgUmVzcG9uc2UgaXMgbm90
IHlldCBzdXBwb3J0ZWQiKSB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICAvLyBGSVhN
RTogQWRkIHN1cHBvcnQgZm9yIFJlYWRhYmxlU3RyZWFtLgorICAgIGlmIChyZXNwb25zZS0+aXNS
ZWFkYWJsZVN0cmVhbUJvZHkoKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24g
eyBOb3RTdXBwb3J0ZWRFcnJvciwgQVNDSUlMaXRlcmFsKCJDYWNoaW5nIGEgUmVzcG9uc2Ugd2l0
aCBkYXRhIHN0b3JlZCBpbiBhIFJlYWRhYmxlU3RyZWFtIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIikg
fSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBiYXRjaFB1dE9wZXJhdGlvbigqcmVx
dWVzdCwgcmVzcG9uc2UuZ2V0KCksIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oQ2FjaGVT
dG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICBpZiAoZXJy
b3IgIT0gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3I6Ok5vbmUpIHsKKyAgICAgICAgICAg
IHByb21pc2UucmVqZWN0KENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlvbkZyb21FcnJv
cihlcnJvcikpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHByb21p
c2UucmVzb2x2ZSgpOworICAgIH0pOwogfQogCi12b2lkIENhY2hlOjpyZW1vdmUoUmVxdWVzdElu
Zm8mJiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgRE9NUHJvbWlzZURlZmVy
cmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKK3ZvaWQgQ2FjaGU6OnJlbW92ZShSZXF1ZXN0SW5m
byYmIGluZm8sIENhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywgRE9NUHJvbWlzZURlZmVycmVk
PElETEJvb2xlYW4+JiYgcHJvbWlzZSkKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24g
eyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICBSZWZQ
dHI8RmV0Y2hSZXF1ZXN0PiByZXF1ZXN0OworICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZl
PFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvKSkgeworICAgICAgICByZXF1ZXN0ID0gV1RGOjpn
ZXQ8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8pLnJlbGVhc2VOb25OdWxsKCk7CisgICAgICAg
IGlmIChyZXF1ZXN0LT5tZXRob2QoKSAhPSAiR0VUIiAmJiAhb3B0aW9ucy5pZ25vcmVNZXRob2Qp
IHsKKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShmYWxzZSk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoVU5MSUtFTFkoIXNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSkpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIHJlcXVl
c3QgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBXVEZN
b3ZlKGluZm8pLCB7IH0pLnJlbGVhc2VSZXR1cm5WYWx1ZSgpOworICAgIH0KKworICAgIGJhdGNo
RGVsZXRlT3BlcmF0aW9uKCpyZXF1ZXN0LCBXVEZNb3ZlKG9wdGlvbnMpLCBbcHJvbWlzZSA9IFdU
Rk1vdmUocHJvbWlzZSldKGJvb2wgZGlkRGVsZXRlLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpF
cnJvciBlcnJvcikgbXV0YWJsZSB7CisgICAgICAgIGlmIChlcnJvciAhPSAgQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbjo6RXJyb3I6Ok5vbmUpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KENh
Y2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlvbkZyb21FcnJvcihlcnJvcikpOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHByb21pc2UucmVzb2x2ZShkaWREZWxl
dGUpOworICAgIH0pOwogfQogCi12b2lkIENhY2hlOjprZXlzKHN0ZDo6b3B0aW9uYWw8UmVxdWVz
dEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIEtleXNQcm9taXNl
JiYgcHJvbWlzZSkKK3ZvaWQgQ2FjaGU6OmtleXMoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4m
JiBpbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIEtleXNQcm9taXNlJiYgcHJvbWlz
ZSkKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0
ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICBSZWZQdHI8RmV0Y2hSZXF1ZXN0PiByZXF1
ZXN0OworICAgIGlmIChpbmZvKSB7CisgICAgICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZl
PFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvLnZhbHVlKCkpKSB7CisgICAgICAgICAgICByZXF1
ZXN0ID0gV1RGOjpnZXQ8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8udmFsdWUoKSkucmVsZWFz
ZU5vbk51bGwoKTsKKyAgICAgICAgICAgIGlmIChyZXF1ZXN0LT5tZXRob2QoKSAhPSAiR0VUIiAm
JiAhb3B0aW9ucy5pZ25vcmVNZXRob2QpIHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLnJlc29s
dmUoVmVjdG9yPFJlZjxGZXRjaFJlcXVlc3Q+PiB7IH0pOworICAgICAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmIChVTkxJ
S0VMWSghc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSkKKyAgICAgICAgICAgICAgICByZXR1cm47
CisgICAgICAgICAgICByZXF1ZXN0ID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUoKnNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSwgV1RGTW92ZShpbmZvLnZhbHVlKCkpLCB7IH0pLnJlbGVhc2VSZXR1cm5W
YWx1ZSgpOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCFyZXF1ZXN0KSB7CisgICAgICAg
IHJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcChbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJv
bWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgICAgICBWZWN0b3I8UmVmPEZldGNoUmVxdWVzdD4+
IHJlcXVlc3RzOworICAgICAgICAgICAgcmVxdWVzdHMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eSht
X3JlcXVlc3RUb1Jlc3BvbnNlTWFwLnNpemUoKSk7CisgICAgICAgICAgICBmb3IgKGF1dG8mIHJl
Y29yZCA6IG1fcmVxdWVzdFRvUmVzcG9uc2VNYXApCisgICAgICAgICAgICAgICAgcmVxdWVzdHMu
dW5jaGVja2VkQXBwZW5kKHJlY29yZC5yZXF1ZXN0LmNvcHlSZWYoKSk7CisgICAgICAgICAgICBw
cm9taXNlLnJlc29sdmUocmVxdWVzdHMpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIHF1ZXJ5Q2FjaGUocmVxdWVzdC5yZWxlYXNlTm9uTnVsbCgpLCBXVEZNb3Zl
KG9wdGlvbnMpLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKGNvbnN0IFZlY3RvcjxDYWNo
ZVN0b3JhZ2VSZWNvcmQ+JiByZWNvcmRzKSBtdXRhYmxlIHsKKyAgICAgICAgVmVjdG9yPFJlZjxG
ZXRjaFJlcXVlc3Q+PiByZXF1ZXN0czsKKyAgICAgICAgcmVxdWVzdHMucmVzZXJ2ZUluaXRpYWxD
YXBhY2l0eShyZWNvcmRzLnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0byYgcmVjb3JkIDogcmVj
b3JkcykKKyAgICAgICAgICAgIHJlcXVlc3RzLnVuY2hlY2tlZEFwcGVuZChyZWNvcmQucmVxdWVz
dC5jb3B5UmVmKCkpOworICAgICAgICBwcm9taXNlLnJlc29sdmUocmVxdWVzdHMpOworICAgIH0p
OworfQorCit2b2lkIENhY2hlOjpyZWZyZXNoUmVxdWVzdFRvUmVzcG9uc2VNYXAoRnVuY3Rpb248
dm9pZCgpPiYmIGNhbGxiYWNrKQoreworICAgIFN0cmluZyBvcmlnaW4gPSB0aGlzLT5vcmlnaW4o
KTsKKyAgICBpZiAob3JpZ2luLmlzTnVsbCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBzZXRQ
ZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgbV9jb25uZWN0aW9uLT5yZWZyZXNoUmVjb3Jkcyhv
cmlnaW4sIG1fbmFtZSwgW3RoaXMsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKFZlY3Rv
cjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQ+JiYgcmVjb3JkcykgeworICAgICAgICBp
ZiAoIW1faXNTdG9wcGVkKSB7CisgICAgICAgICAgICB1cGRhdGVSZXF1ZXN0VG9SZXNwb25zZU1h
cChXVEZNb3ZlKHJlY29yZHMpKTsKKyAgICAgICAgICAgIGNhbGxiYWNrKCk7CisgICAgICAgIH0K
KyAgICAgICAgdW5zZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgfSk7Cit9CisKK2Jvb2wg
Q2FjaGU6OnF1ZXJ5Q2FjaGVNYXRjaChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNv
bnN0IFJlc291cmNlUmVxdWVzdCYgY2FjaGVkUmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgY2FjaGVkUmVzcG9uc2UsIGNvbnN0IENhY2hlUXVlcnlPcHRpb25zJiBvcHRpb25zKQorewor
ICAgIEFTU0VSVChvcHRpb25zLmlnbm9yZU1ldGhvZCB8fCByZXF1ZXN0Lmh0dHBNZXRob2QoKSA9
PSAiR0VUIik7CisKKyAgICBVUkwgcmVxdWVzdFVSTCA9IHJlcXVlc3QudXJsKCk7CisgICAgVVJM
IGNhY2hlZFJlcXVlc3RVUkwgPSBjYWNoZWRSZXF1ZXN0LnVybCgpOworCisgICAgaWYgKG9wdGlv
bnMuaWdub3JlU2VhcmNoKSB7CisgICAgICAgIHJlcXVlc3RVUkwuc2V0UXVlcnkoeyB9KTsKKyAg
ICAgICAgY2FjaGVkUmVxdWVzdFVSTC5zZXRRdWVyeSh7IH0pOworICAgIH0KKyAgICBpZiAoIWVx
dWFsSWdub3JpbmdGcmFnbWVudElkZW50aWZpZXIocmVxdWVzdFVSTCwgY2FjaGVkUmVxdWVzdFVS
TCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChvcHRpb25zLmlnbm9yZVZhcnkp
CisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgYXV0byB2YXJ5VmFsdWUgPSBjYWNoZWRSZXNw
b25zZS5odHRwSGVhZGVyRmllbGQoV2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6OlZhcnkpOworICAg
IGlmICh2YXJ5VmFsdWUuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgVmVj
dG9yPFN0cmluZz4gdmFyeWluZ0hlYWRlck5hbWVzOworICAgIHZhcnlWYWx1ZS5zcGxpdCgnLCcs
IHZhcnlpbmdIZWFkZXJOYW1lcyk7CisgICAgaWYgKHZhcnlpbmdIZWFkZXJOYW1lcy5jb250YWlu
cygiKiIpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBmb3IgKGF1dG8mIG5hbWUgOiB2
YXJ5aW5nSGVhZGVyTmFtZXMpIHsKKyAgICAgICAgaWYgKGNhY2hlZFJlcXVlc3QuaHR0cEhlYWRl
ckZpZWxkKG5hbWUpICE9IHJlcXVlc3QuaHR0cEhlYWRlckZpZWxkKG5hbWUpKQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBDYWNo
ZTo6cXVlcnlDYWNoZShSZWY8RmV0Y2hSZXF1ZXN0PiYmIHJlcXVlc3QsIENhY2hlUXVlcnlPcHRp
b25zJiYgb3B0aW9ucywgRnVuY3Rpb248dm9pZChjb25zdCBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVj
b3JkPiYpPiYmIGNhbGxiYWNrKQoreworICAgIHJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcChb
dGhpcywgcmVxdWVzdCA9IFdURk1vdmUocmVxdWVzdCksIG9wdGlvbnMgPSBXVEZNb3ZlKG9wdGlv
bnMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSgpIG11dGFibGUgeworICAgICAgICBj
YWxsYmFjayhxdWVyeUNhY2hlV2l0aFRhcmdldFN0b3JhZ2UocmVxdWVzdC5nZXQoKSwgb3B0aW9u
cywgbV9yZXF1ZXN0VG9SZXNwb25zZU1hcCkpOworICAgIH0pOworfQorCitWZWN0b3I8Q2FjaGVT
dG9yYWdlUmVjb3JkPiBDYWNoZTo6cXVlcnlDYWNoZVdpdGhUYXJnZXRTdG9yYWdlKGNvbnN0IEZl
dGNoUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgQ2FjaGVRdWVyeU9wdGlvbnMmIG9wdGlvbnMsIGNv
bnN0IFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+JiB0YXJnZXRTdG9yYWdlKQoreworICAgIGlm
ICghb3B0aW9ucy5pZ25vcmVNZXRob2QgJiYgcmVxdWVzdC5tZXRob2QoKSAhPSAiR0VUIikKKyAg
ICAgICAgcmV0dXJuIHsgfTsKKworICAgIFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+IHJlY29y
ZHM7CisgICAgZm9yIChhdXRvJiByZWNvcmQgOiB0YXJnZXRTdG9yYWdlKSB7CisgICAgICAgIGlm
IChxdWVyeUNhY2hlTWF0Y2gocmVxdWVzdC5pbnRlcm5hbFJlcXVlc3QoKS5yZXF1ZXN0LCByZWNv
cmQucmVxdWVzdC0+aW50ZXJuYWxSZXF1ZXN0KCkucmVxdWVzdCwgcmVjb3JkLnJlc3BvbnNlLT5y
ZXNwb25zZSgpLCBvcHRpb25zKSkKKyAgICAgICAgICAgIHJlY29yZHMuYXBwZW5kKHsgcmVjb3Jk
LmlkZW50aWZpZXIsIHJlY29yZC5yZXF1ZXN0LmNvcHlSZWYoKSwgcmVjb3JkLnJlc3BvbnNlLmNv
cHlSZWYoKSB9KTsKKyAgICB9CisgICAgcmV0dXJuIHJlY29yZHM7Cit9CisKK3ZvaWQgQ2FjaGU6
OmJhdGNoRGVsZXRlT3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgQ2FjaGVR
dWVyeU9wdGlvbnMmJiBvcHRpb25zLCBGdW5jdGlvbjx2b2lkKGJvb2wgZGlkUmVtb3ZhbCwgQ2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpPiYmIGNhbGxiYWNrKQoreworICAgIFN0
cmluZyBvcmlnaW4gPSB0aGlzLT5vcmlnaW4oKTsKKyAgICBpZiAob3JpZ2luLmlzTnVsbCgpKQor
ICAgICAgICByZXR1cm47CisKKyAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgbV9j
b25uZWN0aW9uLT5iYXRjaERlbGV0ZU9wZXJhdGlvbihvcmlnaW4sIG1fbmFtZSwgcmVxdWVzdC5p
bnRlcm5hbFJlcXVlc3QoKS5yZXF1ZXN0LCBXVEZNb3ZlKG9wdGlvbnMpLCBbdGhpcywgY2FsbGJh
Y2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oVmVjdG9yPHVpbnQ2NF90PiYmIHJlY29yZHMsIENhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OkVycm9yIGVycm9yKSB7CisgICAgICAgIGlmICghbV9pc1N0b3Bw
ZWQpIHsKKyAgICAgICAgICAgIGlmIChlcnJvciA9PSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpF
cnJvcjo6Tm9uZSkKKyAgICAgICAgICAgICAgICBtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwLnJlbW92
ZUFsbE1hdGNoaW5nKFsmXShjb25zdCBhdXRvJiBpdGVtKSB7IHJldHVybiByZWNvcmRzLmNvbnRh
aW5zKGl0ZW0uaWRlbnRpZmllcik7IH0pOworCisgICAgICAgICAgICBjYWxsYmFjayghIXJlY29y
ZHMuc2l6ZSgpLCBlcnJvcik7CisgICAgICAgIH0KKyAgICAgICAgdW5zZXRQZW5kaW5nQWN0aXZp
dHkodGhpcyk7CisgICAgfSk7Cit9CisKK3ZvaWQgQ2FjaGU6OmJhdGNoUHV0T3BlcmF0aW9uKGNv
bnN0IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgRmV0Y2hSZXNwb25zZSYgcmVzcG9uc2Us
IEZ1bmN0aW9uPHZvaWQoQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IpPiYmIGNhbGxiYWNr
KQoreworICAgIC8vIEZJWE1FOiBBZGQgYSBzZXRIVFRQSGVhZGVyRmllbGRzIG9uIFJlc291cmNl
UmVzcG9uc2VCYXNlLgorICAgIFJlc291cmNlUmVzcG9uc2UgY2FjaGVkUmVzcG9uc2UgPSByZXNw
b25zZS5yZXNwb25zZSgpOworICAgIGZvciAoYXV0byYgaGVhZGVyIDogcmVzcG9uc2UuaGVhZGVy
cygpLmludGVybmFsSGVhZGVycygpKQorICAgICAgICBjYWNoZWRSZXNwb25zZS5zZXRIVFRQSGVh
ZGVyRmllbGQoaGVhZGVyLmtleSwgaGVhZGVyLnZhbHVlKTsKKworICAgIFJlc291cmNlUmVxdWVz
dCBjYWNoZWRSZXF1ZXN0ID0gcmVxdWVzdC5pbnRlcm5hbFJlcXVlc3QoKS5yZXF1ZXN0OworICAg
IGNhY2hlZFJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkcyhyZXF1ZXN0LmhlYWRlcnMoKS5pbnRl
cm5hbEhlYWRlcnMoKSk7CisKKyAgICBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQgcmVj
b3JkID0geyAwLAorICAgICAgICByZXF1ZXN0LmhlYWRlcnMoKS5ndWFyZCgpLCBXVEZNb3ZlKGNh
Y2hlZFJlcXVlc3QpLCByZXF1ZXN0LmludGVybmFsUmVxdWVzdCgpLm9wdGlvbnMsIHJlcXVlc3Qu
aW50ZXJuYWxSZXF1ZXN0KCkucmVmZXJyZXIsCisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMoKS5n
dWFyZCgpLCBXVEZNb3ZlKGNhY2hlZFJlc3BvbnNlKQorICAgIH07CisKKyAgICBTdHJpbmcgb3Jp
Z2luID0gdGhpcy0+b3JpZ2luKCk7CisgICAgaWYgKG9yaWdpbi5pc051bGwoKSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgIG1fY29ubmVjdGlv
bi0+YmF0Y2hQdXRPcGVyYXRpb24ob3JpZ2luLCBtX25hbWUsIFdURk1vdmUocmVjb3JkKSwgW3Ro
aXMsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKFZlY3Rvcjx1aW50NjRfdD4mJiwgQ2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIHsKKyAgICAgICAgaWYgKCFtX2lzU3Rv
cHBlZCkKKyAgICAgICAgICAgIGNhbGxiYWNrKGVycm9yKTsKKworICAgICAgICB1bnNldFBlbmRp
bmdBY3Rpdml0eSh0aGlzKTsKKyAgICB9KTsKK30KKwordm9pZCBDYWNoZTo6dXBkYXRlUmVxdWVz
dFRvUmVzcG9uc2VNYXAoVmVjdG9yPENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlY29yZD4mJiBy
ZWNvcmRzKQoreworICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworICAgIFZl
Y3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+IG5ld01hcDsKKworICAgIGZvciAoYXV0byYgcmVjb3Jk
IDogcmVjb3JkcykgeworICAgICAgICBzaXplX3QgaW5kZXggPSBtX3JlcXVlc3RUb1Jlc3BvbnNl
TWFwLmZpbmRNYXRjaGluZyhbJl0oY29uc3QgYXV0byYgaXRlbSkgeyByZXR1cm4gaXRlbS5pZGVu
dGlmaWVyID09IHJlY29yZC5pZGVudGlmaWVyOyB9KTsKKyAgICAgICAgaWYgKGluZGV4ICE9IG5v
dEZvdW5kKQorICAgICAgICAgICAgbmV3TWFwLmFwcGVuZChXVEZNb3ZlKG1fcmVxdWVzdFRvUmVz
cG9uc2VNYXBbaW5kZXhdKSk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgYXV0byByZXF1
ZXN0SGVhZGVycyA9IEZldGNoSGVhZGVyczo6Y3JlYXRlKHJlY29yZC5yZXF1ZXN0SGVhZGVyc0d1
YXJkLCBIVFRQSGVhZGVyTWFwIHsgcmVjb3JkLnJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpIH0p
OworICAgICAgICAgICAgRmV0Y2hSZXF1ZXN0OjpJbnRlcm5hbFJlcXVlc3QgaW50ZXJuYWxSZXF1
ZXN0ID0geyBXVEZNb3ZlKHJlY29yZC5yZXF1ZXN0KSwgV1RGTW92ZShyZWNvcmQub3B0aW9ucyks
IFdURk1vdmUocmVjb3JkLnJlZmVycmVyKSB9OworICAgICAgICAgICAgYXV0byByZXF1ZXN0ID0g
RmV0Y2hSZXF1ZXN0OjpjcmVhdGUoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgc3RkOjpudWxs
b3B0LCBXVEZNb3ZlKHJlcXVlc3RIZWFkZXJzKSwgV1RGTW92ZShpbnRlcm5hbFJlcXVlc3QpKTsK
KworICAgICAgICAgICAgYXV0byByZXNwb25zZUhlYWRlcnMgPSBGZXRjaEhlYWRlcnM6OmNyZWF0
ZShyZWNvcmQucmVzcG9uc2VIZWFkZXJzR3VhcmQsIEhUVFBIZWFkZXJNYXAgeyByZWNvcmQucmVz
cG9uc2UuaHR0cEhlYWRlckZpZWxkcygpIH0pOworICAgICAgICAgICAgYXV0byByZXNwb25zZSA9
IEZldGNoUmVzcG9uc2U6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBzdGQ6Om51
bGxvcHQsIFdURk1vdmUocmVzcG9uc2VIZWFkZXJzKSwgV1RGTW92ZShyZWNvcmQucmVzcG9uc2Up
KTsKKworICAgICAgICAgICAgbmV3TWFwLmFwcGVuZChDYWNoZVN0b3JhZ2VSZWNvcmQgeyByZWNv
cmQuaWRlbnRpZmllciwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShyZXNwb25zZSkgfSk7Cisg
ICAgICAgIH0KKyAgICB9CisgICAgbV9yZXF1ZXN0VG9SZXNwb25zZU1hcCA9IFdURk1vdmUobmV3
TWFwKTsKK30KKwordm9pZCBDYWNoZTo6c3RvcCgpCit7CisgICAgbV9pc1N0b3BwZWQgPSB0cnVl
OworfQorCitjb25zdCBjaGFyKiBDYWNoZTo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuICJDYWNoZSI7Cit9CisKK2Jvb2wgQ2FjaGU6OmNhblN1c3BlbmRGb3JEb2N1
bWVudFN1c3BlbnNpb24oKSBjb25zdAoreworICAgIHJldHVybiAhbV9yZXF1ZXN0VG9SZXNwb25z
ZU1hcC5zaXplKCkgJiYgIWhhc1BlbmRpbmdBY3Rpdml0eSgpOwogfQogCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvY2FjaGUvQ2FjaGUuaAppbmRleCAwMDgyYWNkNTU2ZGRmNWRlZTlmNzUwNjY1YzJmNGU5
ZWI5ZGQ5NjVlLi5jNmFlZmMxNzlhZmQwOTVlMjA0MjY4OGI1NTc4NTg1YzQwZDRiNjM1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5oCkBAIC0yNSwzNiArMjUsNjEgQEAKIAogI3By
YWdtYSBvbmNlCiAKLSNpbmNsdWRlICJGZXRjaFJlcXVlc3QuaCIKKyNpbmNsdWRlICJBY3RpdmVE
T01PYmplY3QuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgiCisjaW5jbHVk
ZSAiQ2FjaGVTdG9yYWdlUmVjb3JkLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
RmV0Y2hSZXNwb25zZTsKK2NsYXNzIENhY2hlUXVlcnlPcHRpb25zOworY2xhc3MgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDsKIAotc3RydWN0IENhY2hlUXVlcnlPcHRpb25zOwotCi1jbGFzcyBDYWNo
ZSA6IHB1YmxpYyBSZWZDb3VudGVkPENhY2hlPiB7CitjbGFzcyBDYWNoZSBmaW5hbCA6IHB1Ymxp
YyBSZWZDb3VudGVkPENhY2hlPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6Ci0g
ICAgc3RhdGljIFJlZjxDYWNoZT4gY3JlYXRlKFN0cmluZyYmIG5hbWUpIHsgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgQ2FjaGUoV1RGTW92ZShuYW1lKSkpOyB9CisgICAgc3RhdGljIFJlZjxDYWNoZT4g
Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFN0cmluZyYmIG5hbWUsIFJl
ZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYmIGNvbm5lY3Rpb24pIHsgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgQ2FjaGUoY29udGV4dCwgV1RGTW92ZShuYW1lKSwgV1RGTW92ZShjb25uZWN0aW9uKSkp
OyB9CisgICAgfkNhY2hlKCk7CiAKICAgICB1c2luZyBSZXF1ZXN0SW5mbyA9IEZldGNoUmVxdWVz
dDo6SW5mbzsKIAotICAgIHVzaW5nIE1hdGNoQWxsUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJl
ZDxJRExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8RmV0Y2hSZXNwb25zZT4+PjsKICAgICB1c2luZyBL
ZXlzUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8
RmV0Y2hSZXF1ZXN0Pj4+OwogCi0gICAgdm9pZCBtYXRjaChSZXF1ZXN0SW5mbyYmLCBzdGQ6Om9w
dGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKLSAg
ICB2b2lkIG1hdGNoQWxsKHN0ZDo6b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYsIHN0ZDo6b3B0aW9u
YWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIE1hdGNoQWxsUHJvbWlzZSYmKTsKKyAgICBlbnVtIGNs
YXNzIE1hdGNoVHlwZSB7IEFsbCwgT25seUZpcnN0IH07CisgICAgdm9pZCBtYXRjaChSZXF1ZXN0
SW5mbyYmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKKyAg
ICB2b2lkIG1hdGNoQWxsKHN0ZDo6b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYsIENhY2hlUXVlcnlP
cHRpb25zJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYsIE1hdGNoVHlwZSA9IE1hdGNoVHlwZTo6
QWxsKTsKICAgICB2b2lkIGFkZChSZXF1ZXN0SW5mbyYmLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9p
ZD4mJik7CiAKICAgICB2b2lkIGFkZEFsbChWZWN0b3I8UmVxdWVzdEluZm8+JiYsIERPTVByb21p
c2VEZWZlcnJlZDx2b2lkPiYmKTsKICAgICB2b2lkIHB1dChSZXF1ZXN0SW5mbyYmLCBSZWY8RmV0
Y2hSZXNwb25zZT4mJiwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYpOwotICAgIHZvaWQgcmVt
b3ZlKFJlcXVlc3RJbmZvJiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIERP
TVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmKTsKLSAgICB2b2lkIGtleXMoc3RkOjpvcHRp
b25hbDxSZXF1ZXN0SW5mbz4mJiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwg
S2V5c1Byb21pc2UmJik7CisgICAgdm9pZCByZW1vdmUoUmVxdWVzdEluZm8mJiwgQ2FjaGVRdWVy
eU9wdGlvbnMmJiwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYpOworICAgIHZvaWQg
a2V5cyhzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZvPiYmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBL
ZXlzUHJvbWlzZSYmKTsKKworICAgIGNvbnN0IFN0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJu
IG1fbmFtZTsgfQorCisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGJvb2wgcXVlcnlDYWNoZU1h
dGNoKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiBjYWNoZWRSZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgQ2FjaGVRdWVy
eU9wdGlvbnMmKTsKIAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBDYWNoZShTdHJpbmcmJiBuYW1l
KSA6IG1fbmFtZShXVEZNb3ZlKG5hbWUpKSB7IH0KKyAgICBDYWNoZShTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiwgU3RyaW5nJiYgbmFtZSwgUmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+JiYpOwor
CisgICAgLy8gQWN0aXZlRE9NT2JqZWN0CisgICAgdm9pZCBzdG9wKCkgZmluYWw7CisgICAgY29u
c3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFsOworICAgIGJvb2wgY2Fu
U3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IGZpbmFsOworCisgICAgU3RyaW5n
IG9yaWdpbigpIGNvbnN0OworCisgICAgdm9pZCByZWZyZXNoUmVxdWVzdFRvUmVzcG9uc2VNYXAo
RnVuY3Rpb248dm9pZCgpPiYmKTsKKyAgICBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiBxdWVy
eUNhY2hlV2l0aFRhcmdldFN0b3JhZ2UoY29uc3QgRmV0Y2hSZXF1ZXN0JiwgY29uc3QgQ2FjaGVR
dWVyeU9wdGlvbnMmLCBjb25zdCBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiYpOworICAgIHZv
aWQgcXVlcnlDYWNoZShSZWY8RmV0Y2hSZXF1ZXN0PiYmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBG
dW5jdGlvbjx2b2lkKGNvbnN0IFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+Jik+JiYpOworICAg
IHZvaWQgYmF0Y2hEZWxldGVPcGVyYXRpb24oY29uc3QgRmV0Y2hSZXF1ZXN0JiwgQ2FjaGVRdWVy
eU9wdGlvbnMmJiwgRnVuY3Rpb248dm9pZChib29sIGRpZFJlbW92YWwsIENhY2hlU3RvcmFnZUNv
bm5lY3Rpb246OkVycm9yKT4mJik7CisgICAgdm9pZCBiYXRjaFB1dE9wZXJhdGlvbihjb25zdCBG
ZXRjaFJlcXVlc3QmLCBjb25zdCBGZXRjaFJlc3BvbnNlJiwgRnVuY3Rpb248dm9pZChDYWNoZVN0
b3JhZ2VDb25uZWN0aW9uOjpFcnJvcik+JiYpOworCisgICAgdm9pZCB1cGRhdGVSZXF1ZXN0VG9S
ZXNwb25zZU1hcChWZWN0b3I8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6UmVjb3JkPiYmKTsKIAog
ICAgIFN0cmluZyBtX25hbWU7CisgICAgUmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IG1fY29u
bmVjdGlvbjsKKworICAgIFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+IG1fcmVxdWVzdFRvUmVz
cG9uc2VNYXA7CisgICAgYm9vbCBtX2lzU3RvcHBlZCB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hl
L0NhY2hlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaWRsCmluZGV4
IGQ0Nzk2OTE1NWQyMGE0ZjdiZmEzOGE2ZGMwYjJkZjMyMjU2YTk0ZTAuLjNlNmM3YWQ2N2M3Zjk2
Yjg0ODkzMmI4MTRjNTNlODI4NjJlNzY4ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvY2FjaGUvQ2FjaGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUv
Q2FjaGUuaWRsCkBAIC0yOSwxMyArMjksMTYgQEAgdHlwZWRlZiAoRmV0Y2hSZXF1ZXN0IG9yIFVT
VlN0cmluZykgUmVxdWVzdEluZm87CiAgICAgU2VjdXJlQ29udGV4dCwKICAgICBFeHBvc2VkPShX
aW5kb3csV29ya2VyKSwKICAgICBFbmFibGVkQXRSdW50aW1lPUNhY2hlQVBJLAotICAgIEltcGxl
bWVudGF0aW9uTGFja3NWVGFibGUsCisgICAgUHJpdmF0ZUlkZW50aWZpZXIsCisgICAgUHVibGlj
SWRlbnRpZmllciwKIF0gaW50ZXJmYWNlIENhY2hlIHsKICAgICBbTmV3T2JqZWN0XSBQcm9taXNl
PGFueT4gbWF0Y2goUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlv
bnMgb3B0aW9ucyk7Ci0gICAgW05ld09iamVjdF0gUHJvbWlzZTxzZXF1ZW5jZTxGZXRjaFJlc3Bv
bnNlPj4gbWF0Y2hBbGwob3B0aW9uYWwgUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2Fj
aGVRdWVyeU9wdGlvbnMgb3B0aW9ucyk7CisgICAgW05ld09iamVjdCwgUHJpdmF0ZUlkZW50aWZp
ZXIsIFB1YmxpY0lkZW50aWZpZXJdIFByb21pc2U8c2VxdWVuY2U8RmV0Y2hSZXNwb25zZT4+IG1h
dGNoQWxsKG9wdGlvbmFsIFJlcXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlP
cHRpb25zIG9wdGlvbnMpOwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gYWRkKFJlcXVl
c3RJbmZvIHJlcXVlc3QpOwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gYWRkQWxsKHNl
cXVlbmNlPFJlcXVlc3RJbmZvPiByZXF1ZXN0cyk7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTx2
b2lkPiBwdXQoUmVxdWVzdEluZm8gcmVxdWVzdCwgRmV0Y2hSZXNwb25zZSByZXNwb25zZSk7CiAg
ICAgW05ld09iamVjdCwgSW1wbGVtZW50ZWRBcz1yZW1vdmVdIFByb21pc2U8Ym9vbGVhbj4gZGVs
ZXRlKFJlcXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25zIG9wdGlv
bnMpOwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8c2VxdWVuY2U8UmVxdWVzdD4+IGtleXMob3B0
aW9uYWwgUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0
aW9ucyk7CisKKyAgICBbUHJpdmF0ZUlkZW50aWZpZXIsIEltcGxlbWVudGVkQXM9bmFtZV0gRE9N
U3RyaW5nIGNhY2hlTmFtZSgpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY2FjaGUvQ2FjaGVRdWVyeU9wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvQ2FjaGVRdWVyeU9wdGlvbnMuaAppbmRleCA2OGY2N2ZhY2YzNTY4NzFlZWY0ZTU1NDY5NThi
NzI3YTY1OTM2OTNiLi40ZjhiNGRlZWNhMWE3ZGY2ODE0NTcwNDAwMGE2YTYxYWMwY2IxOTBjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlUXVlcnlPcHRpb25z
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVF1ZXJ5T3B0aW9ucy5o
CkBAIC0yOSw3ICsyOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IENhY2hl
UXVlcnlPcHRpb25zIHsKK2NsYXNzIENhY2hlUXVlcnlPcHRpb25zIHsKK3B1YmxpYzoKICAgICBi
b29sIGlnbm9yZVNlYXJjaCB7IGZhbHNlIH07CiAgICAgYm9vbCBpZ25vcmVNZXRob2QgeyBmYWxz
ZSB9OwogICAgIGJvb2wgaWdub3JlVmFyeSB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5jcHAKaW5kZXggMTIzNjdiZTk2NmUxZTNhMjhhOWUy
OWRiZmU0YjgzYmQ1YWNkZWNjNi4uY2JkZTY3YjRjYTk4Njg4MjYyZjVkYzBjMGQxZTNjNmEzMDYw
MTk4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3Jh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmNw
cApAQCAtMjYsMzEgKzI2LDE0MSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkNh
Y2hlU3RvcmFnZS5oIgogCisjaW5jbHVkZSAiQ2FjaGVRdWVyeU9wdGlvbnMuaCIKKyNpbmNsdWRl
ICJKU0NhY2hlLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgQ2FjaGVTdG9yYWdlOjptYXRjaChSZXF1ZXN0SW5mbyYm
LCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBSZWY8RGVmZXJyZWRQcm9taXNl
PiYmIHByb21pc2UpCitDYWNoZVN0b3JhZ2U6OkNhY2hlU3RvcmFnZShTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0LCBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4mJiBjb25uZWN0aW9u
KQorICAgIDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQorICAgICwgbV9jb25uZWN0aW9uKFdU
Rk1vdmUoY29ubmVjdGlvbikpCit7CisgICAgc3VzcGVuZElmTmVlZGVkKCk7Cit9CisKK1N0cmlu
ZyBDYWNoZVN0b3JhZ2U6Om9yaWdpbigpIGNvbnN0CiB7Ci0gICAgcHJvbWlzZS0+cmVqZWN0KEV4
Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOwor
ICAgIC8vIEZJWE1FOiBEbyB3ZSByZWFsbHkgbmVlZCB0byBjaGVjayBmb3Igb3JpZ2luIGJlaW5n
IG51bGw/CisgICAgYXV0byogb3JpZ2luID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpID8gc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zZWN1cml0eU9yaWdpbigpIDogbnVsbHB0cjsKKyAgICBy
ZXR1cm4gb3JpZ2luID8gb3JpZ2luLT50b1N0cmluZygpIDogU3RyaW5nKCk7CiB9CiAKLXZvaWQg
Q2FjaGVTdG9yYWdlOjpoYXMoY29uc3QgU3RyaW5nJiwgRE9NUHJvbWlzZURlZmVycmVkPElETEJv
b2xlYW4+JiYgcHJvbWlzZSkKK3ZvaWQgQ2FjaGVTdG9yYWdlOjpoYXMoY29uc3QgU3RyaW5nJiBu
YW1lLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQogewotICAgIHBy
b21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1w
bGVtZW50ZWQiKX0pOworICAgIHJlZnJlc2hDYWNoZU1hcChbdGhpcywgbmFtZSwgcHJvbWlzZSA9
IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgIHByb21pc2UucmVzb2x2ZSht
X2NhY2hlTWFwLmZpbmRNYXRjaGluZyhbJl0oYXV0byYgaXRlbSkgeyByZXR1cm4gaXRlbS0+bmFt
ZSgpID09IG5hbWU7IH0pICE9IG5vdEZvdW5kKTsKKyAgICB9KTsKIH0KIAotdm9pZCBDYWNoZVN0
b3JhZ2U6Om9wZW4oY29uc3QgU3RyaW5nJiwgRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFj
ZTxDYWNoZT4+JiYgcHJvbWlzZSkKK3ZvaWQgQ2FjaGVTdG9yYWdlOjpyZWZyZXNoQ2FjaGVNYXAo
RnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2Vw
dGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAg
IFN0cmluZyBvcmlnaW4gPSB0aGlzLT5vcmlnaW4oKTsKKyAgICBpZiAob3JpZ2luLmlzTnVsbCgp
KQorICAgICAgICByZXR1cm47CisKKyAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAg
bV9jb25uZWN0aW9uLT5yZWZyZXNoQ2FjaGVNYXAob3JpZ2luLCBbdGhpcywgY2FsbGJhY2sgPSBX
VEZNb3ZlKGNhbGxiYWNrKV0oY29uc3QgVmVjdG9yPFN0cmluZz4mIGNhY2hlTmFtZXMpIHsKKyAg
ICAgICAgaWYgKCFtX2lzU3RvcHBlZCkgeworICAgICAgICAgICAgbV9jYWNoZU1hcC5yZW1vdmVB
bGxNYXRjaGluZyhbJl0oYXV0byYgY2FjaGUpIHsgcmV0dXJuICFjYWNoZU5hbWVzLmNvbnRhaW5z
KGNhY2hlLT5uYW1lKCkpOyB9KTsKKworICAgICAgICAgICAgc3RkOjpzb3J0KG1fY2FjaGVNYXAu
YmVnaW4oKSwgbV9jYWNoZU1hcC5lbmQoKSwgWyZdKGF1dG8mIGEsIGF1dG8mIGIpIHsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gY2FjaGVOYW1lcy5maW5kKGEtPm5hbWUoKSkgPCBjYWNoZU5hbWVz
LmZpbmQoYi0+bmFtZSgpKTsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICBjYWxsYmFj
aygpOworICAgICAgICB9CisgICAgICAgIHVuc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAg
IH0pOwogfQogCi12b2lkIENhY2hlU3RvcmFnZTo6cmVtb3ZlKGNvbnN0IFN0cmluZyYsIERPTVBy
b21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmIHByb21pc2UpCit2b2lkIENhY2hlU3RvcmFnZTo6
b3Blbihjb25zdCBTdHJpbmcmIG5hbWUsIERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8
Q2FjaGU+PiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlw
ZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgcmVmcmVzaENh
Y2hlTWFwKFt0aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRhYmxl
IHsKKyAgICAgICAgYXV0byBwb3NpdGlvbiA9IG1fY2FjaGVNYXAuZmluZE1hdGNoaW5nKFsmXShh
dXRvJiBpdGVtKSB7IHJldHVybiBpdGVtLT5uYW1lKCkgPT0gbmFtZTsgfSk7CisgICAgICAgIGlm
IChwb3NpdGlvbiAhPSBub3RGb3VuZCkgeworICAgICAgICAgICAgcHJvbWlzZS5yZXNvbHZlKG1f
Y2FjaGVNYXBbcG9zaXRpb25dKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisg
ICAgICAgIFN0cmluZyBvcmlnaW4gPSB0aGlzLT5vcmlnaW4oKTsKKyAgICAgICAgaWYgKG9yaWdp
bi5pc051bGwoKSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBzZXRQZW5kaW5nQWN0
aXZpdHkodGhpcyk7CisgICAgICAgIG1fY29ubmVjdGlvbi0+b3BlbihvcmlnaW4sIG5hbWUsIFt0
aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oQ2FjaGVTdG9yYWdlQ29ubmVj
dGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICAgICAgaWYgKCFtX2lzU3RvcHBl
ZCkgeworICAgICAgICAgICAgICAgIGlmIChlcnJvciAhPSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
OjpFcnJvcjo6Tm9uZSkKKyAgICAgICAgICAgICAgICAgICAgcHJvbWlzZS5yZWplY3QoQ2FjaGVT
dG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9yKGVycm9yKSk7CisgICAgICAgICAg
ICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gY2FjaGUgPSBDYWNoZTo6Y3Jl
YXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFN0cmluZyhuYW1lKSwgbV9jb25uZWN0aW9u
LmNvcHlSZWYoKSk7CisgICAgICAgICAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShjYWNoZSk7
CisgICAgICAgICAgICAgICAgICAgIG1fY2FjaGVNYXAuYXBwZW5kKFdURk1vdmUoY2FjaGUpKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICB1bnNldFBlbmRp
bmdBY3Rpdml0eSh0aGlzKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9CisKK3ZvaWQgQ2FjaGVT
dG9yYWdlOjpyZW1vdmUoY29uc3QgU3RyaW5nJiBuYW1lLCBET01Qcm9taXNlRGVmZXJyZWQ8SURM
Qm9vbGVhbj4mJiBwcm9taXNlKQoreworICAgIHJlZnJlc2hDYWNoZU1hcChbdGhpcywgbmFtZSwg
cHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgIGF1dG8gcG9z
aXRpb24gPSBtX2NhY2hlTWFwLmZpbmRNYXRjaGluZyhbJl0oYXV0byYgaXRlbSkgeyByZXR1cm4g
aXRlbS0+bmFtZSgpID09IG5hbWU7IH0pOworICAgICAgICBpZiAocG9zaXRpb24gPT0gbm90Rm91
bmQpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShmYWxzZSk7CisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBTdHJpbmcgb3JpZ2luID0gdGhpcy0+b3JpZ2lu
KCk7CisgICAgICAgIGlmIChvcmlnaW4uaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1cm47CisK
KyAgICAgICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgICAgICBtX2Nvbm5lY3Rpb24t
PnJlbW92ZShvcmlnaW4sIG5hbWUsIFt0aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9t
aXNlKV0oQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAg
ICAgICAgICAgaWYgKCFtX2lzU3RvcHBlZCkgeworICAgICAgICAgICAgICAgIGlmIChlcnJvciAh
PSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJvcjo6Tm9uZSkKKyAgICAgICAgICAgICAgICAg
ICAgcHJvbWlzZS5yZWplY3QoQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJvbUVy
cm9yKGVycm9yKSk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBw
cm9taXNlLnJlc29sdmUodHJ1ZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB1bnNldFBl
bmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICAgICAgfSk7CisgICAgICAgIG1fY2FjaGVNYXAucmVt
b3ZlKHBvc2l0aW9uKTsKKyAgICB9KTsKIH0KIAogdm9pZCBDYWNoZVN0b3JhZ2U6OmtleXMoS2V5
c1Byb21pc2UmJiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5
cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHJlZnJlc2hD
YWNoZU1hcChbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7Cisg
ICAgICAgIFZlY3RvcjxTdHJpbmc+IGtleXM7CisgICAgICAgIGtleXMucmVzZXJ2ZUluaXRpYWxD
YXBhY2l0eShtX2NhY2hlTWFwLnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0byYgY2FjaGUgOiBt
X2NhY2hlTWFwKQorICAgICAgICAgICAga2V5cy51bmNoZWNrZWRBcHBlbmQoY2FjaGUtPm5hbWUo
KSk7CisgICAgICAgIHByb21pc2UucmVzb2x2ZShrZXlzKTsKKyAgICB9KTsKK30KKwordm9pZCBD
YWNoZVN0b3JhZ2U6OmNhY2hlTWFwKENhY2hlTWFwUHJvbWlzZSYmIHByb21pc2UpCit7CisgICAg
cmVmcmVzaENhY2hlTWFwKFt0aGlzLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRh
YmxlIHsKKyAgICAgICAgcHJvbWlzZS5yZXNvbHZlKG1fY2FjaGVNYXApOworICAgIH0pOworfQor
Cit2b2lkIENhY2hlU3RvcmFnZTo6c3RvcCgpCit7CisgICAgbV9pc1N0b3BwZWQgPSB0cnVlOwor
fQorCitjb25zdCBjaGFyKiBDYWNoZVN0b3JhZ2U6OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25z
dAoreworICAgIHJldHVybiAiQ2FjaGVTdG9yYWdlIjsKK30KKworYm9vbCBDYWNoZVN0b3JhZ2U6
OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAoreworICAgIHJldHVybiAh
bV9jYWNoZU1hcC5zaXplKCkgJiYgIWhhc1BlbmRpbmdBY3Rpdml0eSgpOwogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hl
L0NhY2hlU3RvcmFnZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3Jh
Z2UuaAppbmRleCBmYTI2OTAwMDM2YzMyNjczNjYyMWZjYjgzN2M3NzcxZWFhOGQ4MjIzLi5kMDQ2
MTQxYjE5NzVlZGE4MWNhMWJkMDNlYjg3YTIxZjQyNjZhOWY5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmgKQEAgLTI1LDI5ICsyNSw0NCBAQAogCiAjcHJh
Z21hIG9uY2UKIAorI2luY2x1ZGUgIkNhY2hlLmgiCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlQ29u
bmVjdGlvbi5oIgogI2luY2x1ZGUgIkZldGNoUmVxdWVzdC5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ2FjaGU7CitjbGFzcyBDYWNo
ZVF1ZXJ5T3B0aW9uczsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLXN0cnVjdCBD
YWNoZVF1ZXJ5T3B0aW9uczsKLQotY2xhc3MgQ2FjaGVTdG9yYWdlIDogcHVibGljIFJlZkNvdW50
ZWQ8Q2FjaGVTdG9yYWdlPiB7CitjbGFzcyBDYWNoZVN0b3JhZ2UgOiBwdWJsaWMgUmVmQ291bnRl
ZDxDYWNoZVN0b3JhZ2U+LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKIHB1YmxpYzoKLSAgICBz
dGF0aWMgUmVmPENhY2hlU3RvcmFnZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBD
YWNoZVN0b3JhZ2UoKSk7IH0KKyAgICBzdGF0aWMgUmVmPENhY2hlU3RvcmFnZT4gY3JlYXRlKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
PiYmIGNvbm5lY3Rpb24pIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2FjaGVTdG9yYWdlKGNvbnRl
eHQsIFdURk1vdmUoY29ubmVjdGlvbikpKTsgfQogCi0gICAgdXNpbmcgUmVxdWVzdEluZm8gPSBG
ZXRjaFJlcXVlc3Q6OkluZm87CiAgICAgdXNpbmcgS2V5c1Byb21pc2UgPSBET01Qcm9taXNlRGVm
ZXJyZWQ8SURMU2VxdWVuY2U8SURMRE9NU3RyaW5nPj47CiAKLSAgICB2b2lkIG1hdGNoKFJlcXVl
c3RJbmZvJiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIFJlZjxEZWZlcnJl
ZFByb21pc2U+JiYpOwogICAgIHZvaWQgaGFzKGNvbnN0IFN0cmluZyYsIERPTVByb21pc2VEZWZl
cnJlZDxJRExCb29sZWFuPiYmKTsKICAgICB2b2lkIG9wZW4oY29uc3QgU3RyaW5nJiwgRE9NUHJv
bWlzZURlZmVycmVkPElETEludGVyZmFjZTxDYWNoZT4+JiYpOwogICAgIHZvaWQgcmVtb3ZlKGNv
bnN0IFN0cmluZyYsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmKTsKICAgICB2b2lk
IGtleXMoS2V5c1Byb21pc2UmJik7CiAKKyAgICB1c2luZyBDYWNoZU1hcFByb21pc2UgPSBET01Q
cm9taXNlRGVmZXJyZWQ8SURMU2VxdWVuY2U8SURMSW50ZXJmYWNlPENhY2hlPj4+OworICAgIHZv
aWQgY2FjaGVNYXAoQ2FjaGVNYXBQcm9taXNlJiYpOworCiBwcml2YXRlOgotICAgIENhY2hlU3Rv
cmFnZSgpID0gZGVmYXVsdDsKKyAgICBDYWNoZVN0b3JhZ2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYmKTsKKworICAgIC8vIEFjdGl2ZURPTU9i
amVjdAorICAgIHZvaWQgc3RvcCgpIGZpbmFsOworICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9i
amVjdE5hbWUoKSBjb25zdCBmaW5hbDsKKyAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1
c3BlbnNpb24oKSBjb25zdCBmaW5hbDsKKworICAgIHZvaWQgcmVmcmVzaENhY2hlTWFwKEZ1bmN0
aW9uPHZvaWQoKT4mJik7CisgICAgU3RyaW5nIG9yaWdpbigpIGNvbnN0OworCisgICAgVmVjdG9y
PFJlZjxDYWNoZT4+IG1fY2FjaGVNYXA7CisgICAgUmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+
IG1fY29ubmVjdGlvbjsKKyAgICBib29sIG1faXNTdG9wcGVkIHsgZmFsc2UgfTsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2FjaGUvQ2FjaGVTdG9yYWdlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2Fj
aGVTdG9yYWdlLmlkbAppbmRleCA4ZDcxZTA5MDNlNzZlMWE0YjYyYmZiNmYwMjg0OTZmYjk4NmYw
NjJhLi43OGY1NzM2ODJiMTE1MjAwOTE5Y2M5YTc5Yzg4YzY1NjRmYzg4NWFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaWRsCkBAIC0yOSwxMSArMjks
MTQgQEAgdHlwZWRlZiAoRmV0Y2hSZXF1ZXN0IG9yIFVTVlN0cmluZykgUmVxdWVzdEluZm87CiAg
ICAgU2VjdXJlQ29udGV4dCwKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKICAgICBFbmFi
bGVkQXRSdW50aW1lPUNhY2hlQVBJLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCisg
ICAgUHJpdmF0ZUlkZW50aWZpZXIsCisgICAgUHVibGljSWRlbnRpZmllciwKIF0gaW50ZXJmYWNl
IENhY2hlU3RvcmFnZSB7Ci0gICAgW05ld09iamVjdF0gUHJvbWlzZTxhbnk+IG1hdGNoKFJlcXVl
c3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25zIG9wdGlvbnMpOworICAg
IFtOZXdPYmplY3QsIEpTQnVpbHRpbl0gUHJvbWlzZTxhbnk+IG1hdGNoKFJlcXVlc3RJbmZvIHJl
cXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25zIG9wdGlvbnMpOwogICAgIFtOZXdPYmpl
Y3RdIFByb21pc2U8Ym9vbGVhbj4gaGFzKERPTVN0cmluZyBjYWNoZU5hbWUpOwogICAgIFtOZXdP
YmplY3RdIFByb21pc2U8Q2FjaGU+IG9wZW4oRE9NU3RyaW5nIGNhY2hlTmFtZSk7CiAgICAgW05l
d09iamVjdCwgSW1wbGVtZW50ZWRBcz1yZW1vdmVdIFByb21pc2U8Ym9vbGVhbj4gZGVsZXRlKERP
TVN0cmluZyBjYWNoZU5hbWUpOwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8c2VxdWVuY2U8RE9N
U3RyaW5nPj4ga2V5cygpOworCisgICAgW1ByaXZhdGVJZGVudGlmaWVyXSBQcm9taXNlPHNlcXVl
bmNlPENhY2hlPj4gY2FjaGVNYXAoKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvQ2FjaGVTdG9yYWdlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwNWMxYWJjZTdmNzU4MzQ5NzYzMDVkODMy
Y2JmMjgzYWRkZjJkNzgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2NhY2hlL0NhY2hlU3RvcmFnZS5qcwpAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworZnVu
Y3Rpb24gbWF0Y2gocmVxdWVzdCkKK3sKKyAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIEBDYWNoZVN0
b3JhZ2UpKQorICAgICAgIHJldHVybiBAUHJvbWlzZS5AcmVqZWN0KEBtYWtlVGhpc1R5cGVFcnJv
cigiQ2FjaGVTdG9yYWdlIiwgIm1hdGNoIikpOworCisgICAgcmV0dXJuIEBDYWNoZVN0b3JhZ2Uu
cHJvdG90eXBlLkBjYWNoZU1hcC5AY2FsbCh0aGlzKS50aGVuKChjYWNoZU1hcCkgPT4geworICAg
ICAgICBsZXQgb3B0aW9ucyA9IGFyZ3VtZW50c1sxXTsKKyAgICAgICAgaWYgKEBpc09iamVjdChv
cHRpb25zKSAmJiBvcHRpb25zLmNhY2hlTmFtZSkgeworICAgICAgICAgICAgZm9yIChsZXQgY2Fj
aGUgb2YgY2FjaGVNYXApIHsKKyAgICAgICAgICAgICAgICBpZiAoQENhY2hlLnByb3RvdHlwZS5A
Y2FjaGVOYW1lLkBjYWxsKGNhY2hlKSA9PT0gb3B0aW9ucy5jYWNoZU5hbWUpIHsKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIEBDYWNoZS5wcm90b3R5cGUuQG1hdGNoQWxsLkBjYWxsKGNhY2hl
LCByZXF1ZXN0LCBvcHRpb25zKS50aGVuKChyZXN1bHQpID0+IHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIChyZXN1bHQubGVuZ3RoKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl
dHVybiByZXN1bHRbMF07CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiBAUHJvbWlzZS5AcmVzb2x2ZSgp
OworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gbWF0Y2hOZXh0Q2FjaGUoY2FjaGVNYXAs
IHJlcXVlc3QsIG9wdGlvbnMsIGNvdW50ZXIpIHsKKyAgICAgICAgICAgIGlmIChjb3VudGVyID09
PSBjYWNoZU1hcC5sZW5ndGgpCisgICAgICAgICAgICAgICAgcmV0dXJuIEBQcm9taXNlLkByZXNv
bHZlKCk7CisKKyAgICAgICAgICAgIGxldCBjYWNoZSA9IEBDYWNoZVN0b3JhZ2UucHJvdG90eXBl
LkBnZXQoY2FjaGVNYXBbY291bnRlcl0pOworICAgICAgICAgICAgcmV0dXJuIEBDYWNoZS5wcm90
b3R5cGUuQG1hdGNoQWxsLkBjYWxsKGNhY2hlLCByZXF1ZXN0LCBvcHRpb25zKS50aGVuKChyZXN1
bHQpID0+IHsKKyAgICAgICAgICAgICAgICBpZiAocmVzdWx0Lmxlbmd0aCkKKyAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIHJlc3VsdFswXTsKKyAgICAgICAgICAgICAgICByZXR1cm4gbWF0Y2hO
ZXh0Q2FjaGUoY2FjaGVNYXAsIHJlcXVlc3QsIG9wdGlvbnMsIGNvdW50ZXIgKyAxKTsKKyAgICAg
ICAgICAgIH0pOworICAgICAgICB9CisgICAgICAgIHJldHVybiBtYXRjaE5leHRDYWNoZShjYWNo
ZU1hcCwgcmVxdWVzdCwgb3B0aW9ucywgMCk7CisgICAgfSk7Cit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yOWViYjgxZDZjZGEyNGQ2YzRiMDk1MjEzZGE3NjNmYTk2ZGUyOTRiCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25u
ZWN0aW9uLmNwcApAQCAtMCwwICsxLDQ2IEBACisKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIgorCisjaW5jbHVkZSAi
RXhjZXB0aW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRXhjZXB0aW9uIENhY2hlU3Rv
cmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlvbkZyb21FcnJvcihFcnJvciBlcnJvcikKK3sKKyAgICBz
d2l0Y2ggKGVycm9yKSB7CisgICAgY2FzZSBFcnJvcjo6Tm9uZToKKyAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJ
TGl0ZXJhbCgiVW5rbm93biBlcnJvciIpIH07CisgICAgY2FzZSBFcnJvcjo6Tm90SW1wbGVtZW50
ZWQ6CisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgi
Tm90IGltcGxlbWVudGVkIikgfTsKKyAgICB9OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VD
b25uZWN0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTYwOTFhZTVjMDRhZjBlYjVmODY1ZDZjNTI5YWE1N2Y3
NWI3OWYyNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUv
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oCkBAIC0wLDAgKzEsNzggQEAKKworLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiRmV0Y2hIZWFkZXJzLmgiCisjaW5jbHVkZSAiRmV0
Y2hPcHRpb25zLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCisjaW5jbHVkZSAiUmVz
b3VyY2VSZXNwb25zZS5oIgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENhY2hlUXVlcnlPcHRpb25zOworCitjbGFz
cyBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPENh
Y2hlU3RvcmFnZUNvbm5lY3Rpb24+IHsKK3B1YmxpYzoKKyAgICBlbnVtIGNsYXNzIEVycm9yIHsK
KyAgICAgICAgTm9uZSwKKyAgICAgICAgTm90SW1wbGVtZW50ZWQsCisgICAgfTsKKworICAgIHN0
YXRpYyBFeGNlcHRpb24gZXhjZXB0aW9uRnJvbUVycm9yKEVycm9yKTsKKworICAgIHN0cnVjdCBS
ZWNvcmQgeworICAgICAgICB1aW50NjRfdCBpZGVudGlmaWVyOworCisgICAgICAgIEZldGNoSGVh
ZGVyczo6R3VhcmQgcmVxdWVzdEhlYWRlcnNHdWFyZDsKKyAgICAgICAgUmVzb3VyY2VSZXF1ZXN0
IHJlcXVlc3Q7CisgICAgICAgIEZldGNoT3B0aW9ucyBvcHRpb25zOworICAgICAgICBTdHJpbmcg
cmVmZXJyZXI7CisKKyAgICAgICAgRmV0Y2hIZWFkZXJzOjpHdWFyZCByZXNwb25zZUhlYWRlcnNH
dWFyZDsKKyAgICAgICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZTsKKyAgICB9OworCisgICAg
c3RhdGljIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiBjcmVhdGUoKSB7IHJldHVybiBhZG9w
dFJlZigqbmV3IENhY2hlU3RvcmFnZUNvbm5lY3Rpb24oKSk7IH0KKyAgICB2aXJ0dWFsIH5DYWNo
ZVN0b3JhZ2VDb25uZWN0aW9uKCkgPSBkZWZhdWx0OworCisgICAgdXNpbmcgUmVwb3J0RXJyb3JD
YWxsYmFjayA9IFdURjo6RnVuY3Rpb248dm9pZChFcnJvcik+OworICAgIHVzaW5nIENhY2hlTWFw
Q2FsbGJhY2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoY29uc3QgVmVjdG9yPFN0cmluZz4mJik+Owor
ICAgIHVzaW5nIFJlY29yZHNDYWxsYmFjayA9IFdURjo6RnVuY3Rpb248dm9pZChWZWN0b3I8UmVj
b3JkPiYmKT47CisgICAgdXNpbmcgQmF0Y2hPcGVyYXRpb25DYWxsYmFjayA9IFdURjo6RnVuY3Rp
b248dm9pZChWZWN0b3I8dWludDY0X3Q+JiYsIEVycm9yKT47CisKKyAgICB2aXJ0dWFsIHZvaWQg
b3Blbihjb25zdCBTdHJpbmcmIC8qIG9yaWdpbiAqLywgY29uc3QgU3RyaW5nJiAvKiBjYWNoZU5h
bWUgKi8sIFJlcG9ydEVycm9yQ2FsbGJhY2smJiBjYWxsYmFjaykgeyBjYWxsYmFjayhFcnJvcjo6
Tm90SW1wbGVtZW50ZWQpOyB9CisgICAgdmlydHVhbCB2b2lkIHJlbW92ZShjb25zdCBTdHJpbmcm
IC8qIG9yaWdpbiAqLywgY29uc3QgU3RyaW5nJiAvKiBjYWNoZU5hbWUgKi8sIFJlcG9ydEVycm9y
Q2FsbGJhY2smJiBjYWxsYmFjaykgeyBjYWxsYmFjayhFcnJvcjo6Tm90SW1wbGVtZW50ZWQpOyB9
CisgICAgdmlydHVhbCB2b2lkIHJlZnJlc2hDYWNoZU1hcChjb25zdCBTdHJpbmcmIC8qIG9yaWdp
biAqLywgQ2FjaGVNYXBDYWxsYmFjayYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKHsgfSk7IH0KKwor
ICAgIHZpcnR1YWwgdm9pZCByZWZyZXNoUmVjb3Jkcyhjb25zdCBTdHJpbmcmIC8qIG9yaWdpbiAq
LywgY29uc3QgU3RyaW5nJiAvKiBjYWNoZU5hbWUgKi8sIFJlY29yZHNDYWxsYmFjayYmIGNhbGxi
YWNrKSB7IGNhbGxiYWNrKHsgfSk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgYmF0Y2hEZWxldGVPcGVy
YXRpb24oY29uc3QgU3RyaW5nJiAvKiBvcmlnaW4gKi8sIGNvbnN0IFN0cmluZyYgLyogY2FjaGVO
YW1lICovLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBCYXRj
aE9wZXJhdGlvbkNhbGxiYWNrJiYgY2FsbGJhY2spIHsgY2FsbGJhY2soeyB9LCBFcnJvcjo6Tm90
SW1wbGVtZW50ZWQpOyB9CisgICAgdmlydHVhbCB2b2lkIGJhdGNoUHV0T3BlcmF0aW9uKGNvbnN0
IFN0cmluZyYgLyogb3JpZ2luICovLCBjb25zdCBTdHJpbmcmIC8qIGNhY2hlTmFtZSAqLywgUmVj
b3JkJiYsIEJhdGNoT3BlcmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykgeyBjYWxsYmFjayh7IH0s
IEVycm9yOjpOb3RJbXBsZW1lbnRlZCk7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VS
ZWNvcmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlUmVjb3Jk
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDBhNmFjZTRiYTRjMDkxZGMwOWE1ZDQ1NWRmNmFjN2NhNWNhYTI3Ygot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9y
YWdlUmVjb3JkLmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaW5jbHVkZSAiRmV0Y2hSZXF1ZXN0LmgiCisjaW5jbHVkZSAiRmV0Y2hSZXNwb25zZS5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBDYWNoZVN0b3JhZ2VSZWNvcmQgeworICAg
IHVpbnQ2NF90IGlkZW50aWZpZXI7CisKKyAgICBSZWY8RmV0Y2hSZXF1ZXN0PiByZXF1ZXN0Owor
ICAgIFJlZjxGZXRjaFJlc3BvbnNlPiByZXNwb25zZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NV2luZG93
Q2FjaGVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NV2luZG93Q2FjaGVz
LmNwcAppbmRleCA4NjY1YzU1NjcyZWE1ZjQ2YjA5ZDRmOWIwNzVhNjk2MmM1OTUxZWQxLi5hOGEy
NjY3YmFhNTI1MWFlZGEwNjVkODQ4Mzg2MjU1M2Q1MDU4NTZkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwCkBAIC0yNyw3ICsyNywxMSBA
QAogI2luY2x1ZGUgIkRPTVdpbmRvd0NhY2hlcy5oIgogCiAjaW5jbHVkZSAiQ2FjaGVTdG9yYWdl
LmgiCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJET01XaW5k
b3cuaCIKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVk
ZSAiUGFnZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTU5LDggKzYzLDggQEAgQ2Fj
aGVTdG9yYWdlKiBET01XaW5kb3dDYWNoZXM6OmNhY2hlcyhET01XaW5kb3cmIHdpbmRvdykKIAog
Q2FjaGVTdG9yYWdlKiBET01XaW5kb3dDYWNoZXM6OmNhY2hlcygpIGNvbnN0CiB7Ci0gICAgaWYg
KCFtX2NhY2hlcyAmJiBmcmFtZSgpKQotICAgICAgICBtX2NhY2hlcyA9IENhY2hlU3RvcmFnZTo6
Y3JlYXRlKCk7CisgICAgaWYgKCFtX2NhY2hlcyAmJiBmcmFtZSgpICYmIGZyYW1lKCktPnBhZ2Uo
KSAmJiBmcmFtZSgpLT5kb2N1bWVudCgpKQorICAgICAgICBtX2NhY2hlcyA9IENhY2hlU3RvcmFn
ZTo6Y3JlYXRlKCpmcmFtZSgpLT5kb2N1bWVudCgpLCBmcmFtZSgpLT5wYWdlKCktPmNhY2hlU3Rv
cmFnZVByb3ZpZGVyKCkuY3JlYXRlQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbihmcmFtZSgpLT5wYWdl
KCktPnNlc3Npb25JRCgpKSk7CiAgICAgcmV0dXJuIG1fY2FjaGVzLmdldCgpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2Fj
aGVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVD
YWNoZXMuY3BwCmluZGV4IDA1MTY5OGU3YzZlNTc5MGNkMjcwYTMxODBmZmViNDNjN2Q3ZGVhYWEu
LmM1MzljZGU2M2I0YjRkMjc3MWM2OWNmZjdkNTliN2YxMjU4NWI4MTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMu
Y3BwCkBAIC00MCw3ICs0MCw3IEBAIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKiBXb3JrZXJHbG9i
YWxTY29wZUNhY2hlczo6ZnJvbShXb3JrZXJHbG9iYWxTY29wZSYgc2NvcGUpCiB7CiAgICAgYXV0
byogc3VwcGxlbWVudCA9IHN0YXRpY19jYXN0PFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKj4oU3Vw
cGxlbWVudDxXb3JrZXJHbG9iYWxTY29wZT46OmZyb20oJnNjb3BlLCBzdXBwbGVtZW50TmFtZSgp
KSk7CiAgICAgaWYgKCFzdXBwbGVtZW50KSB7Ci0gICAgICAgIGF1dG8gbmV3U3VwcGxlbWVudCA9
IHN0ZDo6bWFrZV91bmlxdWU8V29ya2VyR2xvYmFsU2NvcGVDYWNoZXM+KCk7CisgICAgICAgIGF1
dG8gbmV3U3VwcGxlbWVudCA9IHN0ZDo6bWFrZV91bmlxdWU8V29ya2VyR2xvYmFsU2NvcGVDYWNo
ZXM+KHNjb3BlKTsKICAgICAgICAgc3VwcGxlbWVudCA9IG5ld1N1cHBsZW1lbnQuZ2V0KCk7CiAg
ICAgICAgIHByb3ZpZGVUbygmc2NvcGUsIHN1cHBsZW1lbnROYW1lKCksIFdURk1vdmUobmV3U3Vw
cGxlbWVudCkpOwogICAgIH0KQEAgLTU1LDcgKzU1LDcgQEAgQ2FjaGVTdG9yYWdlKiBXb3JrZXJH
bG9iYWxTY29wZUNhY2hlczo6Y2FjaGVzKFdvcmtlckdsb2JhbFNjb3BlJiBzY29wZSkKIENhY2hl
U3RvcmFnZSogV29ya2VyR2xvYmFsU2NvcGVDYWNoZXM6OmNhY2hlcygpIGNvbnN0CiB7CiAgICAg
aWYgKCFtX2NhY2hlcykKLSAgICAgICAgbV9jYWNoZXMgPSBDYWNoZVN0b3JhZ2U6OmNyZWF0ZSgp
OworICAgICAgICBtX2NhY2hlcyA9IENhY2hlU3RvcmFnZTo6Y3JlYXRlKG1fc2NvcGUsIENhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OmNyZWF0ZSgpKTsKICAgICByZXR1cm4gbV9jYWNoZXMuZ2V0KCk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xv
YmFsU2NvcGVDYWNoZXMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xv
YmFsU2NvcGVDYWNoZXMuaAppbmRleCA3OTVlYmQ2MTllMjQyMWQ0Y2ViMWI3OGNkZWU0MzNlMTIz
NTE0ODZkLi5mNmNjODUxZTA4NWUxZDNhNWMyM2NhYzZlYjdkM2U2ZmFjMzk3NjQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNh
Y2hlcy5oCkBAIC0zNCw3ICszNCw3IEBAIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlOwogCiBjbGFz
cyBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcyA6IHB1YmxpYyBTdXBwbGVtZW50PFdvcmtlckdsb2Jh
bFNjb3BlPiB7CiBwdWJsaWM6Ci0gICAgV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMoKSA9IGRlZmF1
bHQ7CisgICAgV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMoV29ya2VyR2xvYmFsU2NvcGUmIHNjb3Bl
KSA6IG1fc2NvcGUoc2NvcGUpIHsgfTsKIAogICAgIHN0YXRpYyBDYWNoZVN0b3JhZ2UqIGNhY2hl
cyhXb3JrZXJHbG9iYWxTY29wZSYpOwogCkBAIC00Myw2ICs0Myw3IEBAIHByaXZhdGU6CiAgICAg
c3RhdGljIGNvbnN0IGNoYXIqIHN1cHBsZW1lbnROYW1lKCk7CiAgICAgQ2FjaGVTdG9yYWdlKiBj
YWNoZXMoKSBjb25zdDsKIAorICAgIFdvcmtlckdsb2JhbFNjb3BlJiBtX3Njb3BlOwogICAgIG11
dGFibGUgUmVmUHRyPENhY2hlU3RvcmFnZT4gbV9jYWNoZXM7CiB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmgKaW5kZXggYzMyMTNlOTcyMTM5MzAw
ZDRhNTE4NTRjMDU1OWFiNTUwMTRhOTU1Yi4uNzFhZmM0NmNlMDUxZTRhODRlMzFhYzkzNDQ4Mzk2
YzhmODYxZTE5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aEJvZHlPd25lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5
T3duZXIuaApAQCAtNTcsNiArNTcsOCBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzQWN0aXZlKCkg
Y29uc3QgeyByZXR1cm4gISFtX2Jsb2JMb2FkZXI7IH0KIAorICAgIGJvb2wgaXNSZWFkYWJsZVN0
cmVhbUJvZHkoKSBjb25zdCB7IHJldHVybiBtX2JvZHkgJiYgbV9ib2R5LT5pc1JlYWRhYmxlU3Ry
ZWFtKCk7IH0KKwogcHJvdGVjdGVkOgogICAgIGNvbnN0IEZldGNoQm9keSYgYm9keSgpIGNvbnN0
IHsgcmV0dXJuICptX2JvZHk7IH0KICAgICBGZXRjaEJvZHkmIGJvZHkoKSB7IHJldHVybiAqbV9i
b2R5OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVh
ZGVycy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaAppbmRl
eCBmYzNiMTA4YjlhMmQ1YWU1ODM3YzIzYzc5MWZlMjA5Y2I2ODMzMmM4Li5mZWUxZjhmMWYzODA5
M2IwZDMzNWI5MThkOTFkY2U0NGZjZDk3ZDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmV0Y2gvRmV0Y2hIZWFkZXJzLmgKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkV4Y2Vw
dGlvbk9yLmgiCiAjaW5jbHVkZSAiSFRUUEhlYWRlck1hcC5oIgorI2luY2x1ZGUgPHd0Zi9FbnVt
VHJhaXRzLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hUcmFpdHMuaD4KICNpbmNsdWRlIDx3dGYvVmFy
aWFudC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTQ5LDcgKzUwLDcgQEAgcHVibGlj
OgogICAgIHVzaW5nIEluaXQgPSBWYXJpYW50PFZlY3RvcjxWZWN0b3I8U3RyaW5nPj4sIFZlY3Rv
cjxXVEY6OktleVZhbHVlUGFpcjxTdHJpbmcsIFN0cmluZz4+PjsKICAgICBzdGF0aWMgRXhjZXB0
aW9uT3I8UmVmPEZldGNoSGVhZGVycz4+IGNyZWF0ZShzdGQ6Om9wdGlvbmFsPEluaXQ+JiYpOwog
Ci0gICAgc3RhdGljIFJlZjxGZXRjaEhlYWRlcnM+IGNyZWF0ZShHdWFyZCBndWFyZCA9IEd1YXJk
OjpOb25lKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEZldGNoSGVhZGVycyB7IGd1YXJkIH0pOyB9
CisgICAgc3RhdGljIFJlZjxGZXRjaEhlYWRlcnM+IGNyZWF0ZShHdWFyZCBndWFyZCA9IEd1YXJk
OjpOb25lLCBIVFRQSGVhZGVyTWFwJiYgaGVhZGVycyA9IHsgfSkgeyByZXR1cm4gYWRvcHRSZWYo
Km5ldyBGZXRjaEhlYWRlcnMgeyBndWFyZCwgV1RGTW92ZShoZWFkZXJzKSB9KTsgfQogICAgIHN0
YXRpYyBSZWY8RmV0Y2hIZWFkZXJzPiBjcmVhdGUoY29uc3QgRmV0Y2hIZWFkZXJzJiBoZWFkZXJz
KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEZldGNoSGVhZGVycyB7IGhlYWRlcnMgfSk7IH0KIAog
ICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGFwcGVuZChjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0
cmluZyYgdmFsdWUpOwpAQCAtODIsOSArODMsMTAgQEAgcHVibGljOgogICAgIGNvbnN0IEhUVFBI
ZWFkZXJNYXAmIGludGVybmFsSGVhZGVycygpIGNvbnN0IHsgcmV0dXJuIG1faGVhZGVyczsgfQog
CiAgICAgdm9pZCBzZXRHdWFyZChHdWFyZCk7CisgICAgR3VhcmQgZ3VhcmQoKSBjb25zdCB7IHJl
dHVybiBtX2d1YXJkOyB9CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgRmV0Y2hIZWFkZXJzKEd1
YXJkIGd1YXJkLCBIVFRQSGVhZGVyTWFwJiYgaGVhZGVycyA9IHsgfSk7CisgICAgRmV0Y2hIZWFk
ZXJzKEd1YXJkLCBIVFRQSGVhZGVyTWFwJiYpOwogICAgIEZldGNoSGVhZGVycyhjb25zdCBGZXRj
aEhlYWRlcnMmKTsKIAogICAgIEd1YXJkIG1fZ3VhcmQ7CkBAIC0xMTEsMyArMTEzLDE4IEBAIGlu
bGluZSB2b2lkIEZldGNoSGVhZGVyczo6c2V0R3VhcmQoR3VhcmQgZ3VhcmQpCiB9CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0
IEVudW1UcmFpdHM8V2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZD4geworICAgIHVzaW5nIHZh
bHVlcyA9IEVudW1WYWx1ZXM8CisgICAgV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZCwKKyAg
ICBXZWJDb3JlOjpGZXRjaEhlYWRlcnM6Okd1YXJkOjpOb25lLAorICAgIFdlYkNvcmU6OkZldGNo
SGVhZGVyczo6R3VhcmQ6OkltbXV0YWJsZSwKKyAgICBXZWJDb3JlOjpGZXRjaEhlYWRlcnM6Okd1
YXJkOjpSZXF1ZXN0LAorICAgIFdlYkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQ6OlJlcXVlc3RO
b0NvcnMsCisgICAgV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZDo6UmVzcG9uc2UKKyAgICA+
OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNw
cAppbmRleCBlM2E1MWYxYWU4NDM5MmJmMzBmYzhiNWQzMzUzMWEwOWRiODVjY2FjLi5lZGZhYzVj
Mzg1OTFkOTllODhlZDBmZGYzNmU4ZGM0ZDg5NThkNjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcApAQCAtODAsNyArODAsNyBAQCB2b2lkIEZldGNo
TG9hZGVyOjpzdGFydChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBGZXRj
aFJlcXVlc3QmIHJlcQogICAgIG9wdGlvbnMuZGF0YUJ1ZmZlcmluZ1BvbGljeSA9IERvTm90QnVm
ZmVyRGF0YTsKICAgICBvcHRpb25zLnNhbWVPcmlnaW5EYXRhVVJMRmxhZyA9IFNhbWVPcmlnaW5E
YXRhVVJMRmxhZzo6U2V0OwogCi0gICAgUmVzb3VyY2VSZXF1ZXN0IGZldGNoUmVxdWVzdCA9IHJl
cXVlc3QuaW50ZXJuYWxSZXF1ZXN0KCk7CisgICAgUmVzb3VyY2VSZXF1ZXN0IGZldGNoUmVxdWVz
dCA9IHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCk7CiAKICAgICBBU1NFUlQoY29udGV4dC5jb250
ZW50U2VjdXJpdHlQb2xpY3koKSk7CiAgICAgYXV0byYgY29udGVudFNlY3VyaXR5UG9saWN5ID0g
KmNvbnRleHQuY29udGVudFNlY3VyaXR5UG9saWN5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHAKaW5kZXggZTY2YzE1Yzk5NGNlNTFlZGQ1NDkzYWQy
NTg3NDJkZGU2OGNhM2Q0Yi4uOGQwYzIzODc4M2JhZjAzODRkMjdjNGQ0OGY2MTdjNjEwMjc2OWU4
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcApA
QCAtNzQsNyArNzQsNyBAQCBzdGF0aWMgc3RkOjpvcHRpb25hbDxFeGNlcHRpb24+IHNldFJlZmVy
cmVyKEZldGNoUmVxdWVzdDo6SW50ZXJuYWxSZXF1ZXN0JiByZXF1ZQogCiBzdGF0aWMgc3RkOjpv
cHRpb25hbDxFeGNlcHRpb24+IGJ1aWxkT3B0aW9ucyhGZXRjaFJlcXVlc3Q6OkludGVybmFsUmVx
dWVzdCYgcmVxdWVzdCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmV0
Y2hSZXF1ZXN0OjpJbml0JiBpbml0KQogewotICAgIGlmICghaW5pdC53aW5kb3cuaXNVbmRlZmlu
ZWRPck51bGwoKSkKKyAgICBpZiAoIWluaXQud2luZG93LmlzVW5kZWZpbmVkT3JOdWxsKCkgJiYg
IWluaXQud2luZG93LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVF
cnJvciwgQVNDSUlMaXRlcmFsKCJXaW5kb3cgY2FuIG9ubHkgYmUgbnVsbC4iKSB9OwogCiAgICAg
aWYgKCFpbml0LnJlZmVycmVyLmlzTnVsbCgpKSB7CkBAIC0yNjQsNyArMjY0LDcgQEAgY29uc3Qg
U3RyaW5nJiBGZXRjaFJlcXVlc3Q6OnVybCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcmVxdWVzdFVS
TDsKIH0KIAotUmVzb3VyY2VSZXF1ZXN0IEZldGNoUmVxdWVzdDo6aW50ZXJuYWxSZXF1ZXN0KCkg
Y29uc3QKK1Jlc291cmNlUmVxdWVzdCBGZXRjaFJlcXVlc3Q6OnJlc291cmNlUmVxdWVzdCgpIGNv
bnN0CiB7CiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5oCmluZGV4IDFmMGIxNmU4YTVhMTc5
ZjBmZWFjMGI1OTdkZDU4NzQ5ZmFlZGFiZGQuLjYxZGNkMmM1ODYzMzA5N2QxZTYyZTZjNWE5MWVi
MTAwMjE3NzljMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0
Y2hSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVl
c3QuaApAQCAtNTMsMTEgKzUzLDE5IEBAIHB1YmxpYzoKICAgICB1c2luZyBSZWRpcmVjdCA9IEZl
dGNoT3B0aW9uczo6UmVkaXJlY3Q7CiAgICAgdXNpbmcgVHlwZSA9IEZldGNoT3B0aW9uczo6VHlw
ZTsKIAorICAgIHN0cnVjdCBJbnRlcm5hbFJlcXVlc3QgeworICAgICAgICBSZXNvdXJjZVJlcXVl
c3QgcmVxdWVzdDsKKyAgICAgICAgRmV0Y2hPcHRpb25zIG9wdGlvbnM7CisgICAgICAgIFN0cmlu
ZyByZWZlcnJlcjsKKyAgICB9OworCiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxGZXRjaFJl
cXVlc3Q+PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEluZm8mJiwgSW5pdCYmKTsK
KyAgICBzdGF0aWMgUmVmPEZldGNoUmVxdWVzdD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIHN0ZDo6b3B0aW9uYWw8RmV0Y2hCb2R5PiYmIGJvZHksIFJlZjxGZXRjaEhl
YWRlcnM+JiYgaGVhZGVycywgSW50ZXJuYWxSZXF1ZXN0JiYgcmVxdWVzdCkgeyByZXR1cm4gYWRv
cHRSZWYoKm5ldyBGZXRjaFJlcXVlc3QoY29udGV4dCwgV1RGTW92ZShib2R5KSwgV1RGTW92ZSho
ZWFkZXJzKSwgV1RGTW92ZShyZXF1ZXN0KSkpOyB9CiAKICAgICBjb25zdCBTdHJpbmcmIG1ldGhv
ZCgpIGNvbnN0IHsgcmV0dXJuIG1faW50ZXJuYWxSZXF1ZXN0LnJlcXVlc3QuaHR0cE1ldGhvZCgp
OyB9CiAgICAgY29uc3QgU3RyaW5nJiB1cmwoKSBjb25zdDsKICAgICBGZXRjaEhlYWRlcnMmIGhl
YWRlcnMoKSB7IHJldHVybiBtX2hlYWRlcnMuZ2V0KCk7IH0KKyAgICBjb25zdCBGZXRjaEhlYWRl
cnMmIGhlYWRlcnMoKSBjb25zdCB7IHJldHVybiBtX2hlYWRlcnMuZ2V0KCk7IH0KIAogICAgIFR5
cGUgdHlwZSgpIGNvbnN0OwogICAgIERlc3RpbmF0aW9uIGRlc3RpbmF0aW9uKCkgY29uc3Q7CkBA
IC03MywxNyArODEsMTQgQEAgcHVibGljOgogCiAgICAgRXhjZXB0aW9uT3I8UmVmPEZldGNoUmVx
dWVzdD4+IGNsb25lKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKIAotICAgIHN0cnVjdCBJbnRl
cm5hbFJlcXVlc3QgewotICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdDsKLSAgICAgICAg
RmV0Y2hPcHRpb25zIG9wdGlvbnM7Ci0gICAgICAgIFN0cmluZyByZWZlcnJlcjsKLSAgICB9Owor
ICAgIGNvbnN0IEludGVybmFsUmVxdWVzdCYgaW50ZXJuYWxSZXF1ZXN0KCkgY29uc3QgeyByZXR1
cm4gbV9pbnRlcm5hbFJlcXVlc3Q7IH0KIAogICAgIGNvbnN0IEZldGNoT3B0aW9ucyYgZmV0Y2hP
cHRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVlc3Qub3B0aW9uczsgfQotICAg
IFJlc291cmNlUmVxdWVzdCBpbnRlcm5hbFJlcXVlc3QoKSBjb25zdDsKKyAgICBSZXNvdXJjZVJl
cXVlc3QgcmVzb3VyY2VSZXF1ZXN0KCkgY29uc3Q7CiAgICAgYm9vbCBpc0JvZHlSZWFkYWJsZVN0
cmVhbSgpIGNvbnN0IHsgcmV0dXJuICFpc0JvZHlOdWxsKCkgJiYgYm9keSgpLmlzUmVhZGFibGVT
dHJlYW0oKTsgfQogCiAgICAgY29uc3QgU3RyaW5nJiBpbnRlcm5hbFJlcXVlc3RSZWZlcnJlcigp
IGNvbnN0IHsgcmV0dXJuIG1faW50ZXJuYWxSZXF1ZXN0LnJlZmVycmVyOyB9CisgICAgY29uc3Qg
VVJMJiBpbnRlcm5hbFJlcXVlc3RVUkwoKSBjb25zdCB7IHJldHVybiBtX2ludGVybmFsUmVxdWVz
dC5yZXF1ZXN0LnVybCgpOyB9CiAKIHByaXZhdGU6CiAgICAgRmV0Y2hSZXF1ZXN0KFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmLCBzdGQ6Om9wdGlvbmFsPEZldGNoQm9keT4mJiwgUmVmPEZldGNoSGVh
ZGVycz4mJiwgSW50ZXJuYWxSZXF1ZXN0JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHAKaW5kZXggNjhhZGI1NTlmZTk1MzBmNzQ1NmRjOTZmOTg4
NGI3ZmZkZDZhODFiZS4uYzZkYTExMWIxOTU4NzQxNjM1ZjEzMjAzOTJlNGM2YWI3ODIzOWZiNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCkBA
IC0zNTUsNiArMzU1LDE0IEBAIHZvaWQgRmV0Y2hSZXNwb25zZTo6Y2FuY2VsKCkKIAogI2VuZGlm
CiAKK1JlZlB0cjxGb3JtRGF0YT4gRmV0Y2hSZXNwb25zZTo6Ym9keUZvckludGVybmFsUmVzcG9u
c2UoKQoreworICAgIEFTU0VSVCghbV9pc0Rpc3R1cmJlZCk7CisgICAgbV9pc0Rpc3R1cmJlZCA9
IHRydWU7CisgICAgcmV0dXJuIGJvZHkoKS5ib2R5Rm9ySW50ZXJuYWxSZXF1ZXN0KCpzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCkpOworCit9CisKIHZvaWQgRmV0Y2hSZXNwb25zZTo6c3RvcCgpCiB7
CiAgICAgUmVmUHRyPEZldGNoUmVzcG9uc2U+IHByb3RlY3RlZFRoaXModGhpcyk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oCmluZGV4IGY5YjAyZmIwZTU4
N2FiNGViM2Q1NTk3OTRiMzkxZjc5ZjVhMWRjNjYuLjk5NmI4OWU2Y2YyN2JmNDIyNzRlZWQwN2Zl
YTcwMTAyY2VjZTM4ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hSZXNwb25zZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hS
ZXNwb25zZS5oCkBAIC01Nyw2ICs1Nyw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEZldGNo
UmVzcG9uc2U+IGVycm9yKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKICAgICBzdGF0aWMgRXhj
ZXB0aW9uT3I8UmVmPEZldGNoUmVzcG9uc2U+PiByZWRpcmVjdChTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiwgY29uc3QgU3RyaW5nJiB1cmwsIGludCBzdGF0dXMpOwogCisgICAgc3RhdGljIFJlZjxG
ZXRjaFJlc3BvbnNlPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgc3Rk
OjpvcHRpb25hbDxGZXRjaEJvZHk+JiYgYm9keSwgUmVmPEZldGNoSGVhZGVycz4mJiBoZWFkZXJz
LCBSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2UpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmV0
Y2hSZXNwb25zZShjb250ZXh0LCBXVEZNb3ZlKGJvZHkpLCBXVEZNb3ZlKGhlYWRlcnMpLCBXVEZN
b3ZlKHJlc3BvbnNlKSkpOyB9CisKICAgICB1c2luZyBGZXRjaFByb21pc2UgPSBET01Qcm9taXNl
RGVmZXJyZWQ8SURMSW50ZXJmYWNlPEZldGNoUmVzcG9uc2U+PjsKICAgICBzdGF0aWMgdm9pZCBm
ZXRjaChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgRmV0Y2hSZXF1ZXN0JiwgRmV0Y2hQcm9taXNl
JiYpOwogCkBAIC03OCw2ICs4MCw3IEBAIHB1YmxpYzoKICAgICBib29sIG9rKCkgY29uc3QgeyBy
ZXR1cm4gbV9yZXNwb25zZS5pc1N1Y2Nlc3NmdWwoKTsgfQogICAgIGNvbnN0IFN0cmluZyYgc3Rh
dHVzVGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2UuaHR0cFN0YXR1c1RleHQoKTsgfQog
CisgICAgY29uc3QgRmV0Y2hIZWFkZXJzJiBoZWFkZXJzKCkgY29uc3QgeyByZXR1cm4gbV9oZWFk
ZXJzOyB9CiAgICAgRmV0Y2hIZWFkZXJzJiBoZWFkZXJzKCkgeyByZXR1cm4gbV9oZWFkZXJzOyB9
CiAgICAgUmVmPEZldGNoUmVzcG9uc2U+IGNsb25lRm9ySlMoKTsKIApAQCAtOTAsNiArOTMsMTAg
QEAgcHVibGljOgogCiAgICAgYm9vbCBpc0xvYWRpbmcoKSBjb25zdCB7IHJldHVybiAhIW1fYm9k
eUxvYWRlcjsgfQogCisgICAgUmVmUHRyPEZvcm1EYXRhPiBib2R5Rm9ySW50ZXJuYWxSZXNwb25z
ZSgpOworCisgICAgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UoKSBjb25zdCB7IHJl
dHVybiBtX3Jlc3BvbnNlOyB9CisKIHByaXZhdGU6CiAgICAgRmV0Y2hSZXNwb25zZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0Jiwgc3RkOjpvcHRpb25hbDxGZXRjaEJvZHk+JiYsIFJlZjxGZXRjaEhl
YWRlcnM+JiYsIFJlc291cmNlUmVzcG9uc2UmJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0YjQwNzBhMGFmYjU5YjFhMmRh
MjZhZDE4YjZmZjc5MWFjZTdhYzQ5Li42ODVjYjQxYjczZjE0MjAyZDk3MmQ3MjUwZTA0Y2JlZThi
NzU0YmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC0xNzg0LDYgKzE3ODQsMTQgQEAKIAkJNDFDRjhCRTcxRDQ2MjI2NzAwNzA3
REM5IC8qIEZldGNoQm9keUNvbnN1bWVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxQ0Y4QkU0MUQ0NjIyMjAwMDcwN0RDOSAvKiBGZXRjaEJvZHlD
b25zdW1lci5jcHAgKi87IH07CiAJCTQxRDAxNUNBMEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50
VHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFE
MDE1QzgwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDFEMDE1Q0IwRjRCNUM3MTAwNEE2NjJG
IC8qIENvbnRlbnRUeXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxRDAxNUM5MEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlwZS5jcHAgKi87
IH07CisJCTQxRDEyOUNFMUYzRDBFRjYwMEQxNUU0NyAvKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hl
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFGQjI3
OEQxRjM0QzI4MjAwNzk1NDg3IC8qIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmggKi87IH07CisJ
CTQxRDEyOUNGMUYzRDBFRkUwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDEyOUM5MUYz
RDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCAqLzsgfTsKKwkJNDFE
MTI5RDAxRjNEMEYwNTAwRDE1RTQ3IC8qIENhY2hlUXVlcnlPcHRpb25zLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUZCMjc5QjFGMzRDRUYwMDA3OTU0
ODcgLyogQ2FjaGVRdWVyeU9wdGlvbnMuaCAqLzsgfTsKKwkJNDFEMTI5RDExRjNEMEYwRTAwRDE1
RTQ3IC8qIERPTVdpbmRvd0NhY2hlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDFGQjI3OEMxRjM0QzI4MjAwNzk1NDg3IC8qIERPTVdpbmRvd0NhY2hl
cy5oICovOyB9OworCQk0MUQxMjlEMjFGM0QwRjEyMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUmVj
b3JkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQx
MjlDQTFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUmVjb3JkLmggKi87IH07CisJCTQx
RDEyOUQzMUYzRDBGMTYwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQxMjlDQzFGM0QwRUUz
MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTQxRDEyOUQ1MUYzRDBGNjkwMEQxNUU0NyAv
KiBDYWNoZVN0b3JhZ2VQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDFEMTI5RDQxRjNEMEY2NjAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVBy
b3ZpZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJNDFEMTI5REIxRjNEMTQzODAwRDE1RTQ3IC8qIEZldGNoSGVhZGVycy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFGNTRGODMxQzUwQzRGNjAwMzM4
NDg4IC8qIEZldGNoSGVhZGVycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTQxREVGQ0I1MUU1NkMxQkQwMDBEOUU1RiAvKiBKU0RPTU1hcExpa2Uu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFERUZD
QjMxRTU2QzFCOTAwMEQ5RTVGIC8qIEpTRE9NTWFwTGlrZS5jcHAgKi87IH07CiAJCTQxREVGQ0I2
MUU1NkMxQkQwMDBEOUU1RiAvKiBKU0RPTU1hcExpa2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxREVGQ0I0MUU1NkMxQjkwMDBEOUU1RiAvKiBKU0RP
TU1hcExpa2UuaCAqLzsgfTsKIAkJNDFFMUIxRDAwRkY1OTg2OTAwNTc2QjNCIC8qIEFic3RyYWN0
V29ya2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxRTFCMUNBMEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5jcHAgKi87IH07CkBA
IC05NDM2LDYgKzk0NDQsMTEgQEAKIAkJNDFDRjhCRTYxRDQ2MjIyQzAwNzA3REM5IC8qIEZldGNo
SW50ZXJuYWxzLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gRmV0
Y2hJbnRlcm5hbHMuanM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRDAxNUM4MEY0
QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDb250ZW50VHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUQw
MTVDOTBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQ29udGVudFR5cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0MUQxMjlDOTFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVj
dGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDFEMTI5Q0Ex
RjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVJlY29yZC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDYWNoZVN0b3JhZ2VSZWNvcmQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNDFEMTI5Q0IxRjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZS5qcyAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9IENhY2hlU3RvcmFnZS5qczsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDFEMTI5Q0MxRjNEMEVFMzAwRDE1RTQ3IC8q
IENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk0MUQxMjlENDFGM0QwRjY2MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFENTFCQjIxRTRFMkU4MTAwMTMxQTVCIC8qIExp
YldlYlJUQ0F1ZGlvRm9ybWF0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExp
YldlYlJUQ0F1ZGlvRm9ybWF0Lmg7IHBhdGggPSBsaWJ3ZWJydGMvTGliV2ViUlRDQXVkaW9Gb3Jt
YXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFERUZDQjIxRTU2QzFCOTAwMEQ5
RTVGIC8qIEpTRE9NQmluZGluZ0ludGVybmFscy5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2
YXNjcmlwdDsgcGF0aCA9IEpTRE9NQmluZGluZ0ludGVybmFscy5qczsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDFERUZDQjMxRTU2QzFCOTAwMEQ5RTVGIC8qIEpTRE9NTWFwTGlrZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTU1hcExpa2UuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTc2MjAsNiArMTc2MzMsMTAgQEAKIAkJ
CQk0MTM4MEMyMTFGMzQzNjhEMDAxNTVGREEgLyogQ2FjaGVTdG9yYWdlLmNwcCAqLywKIAkJCQk0
MTM4MEMyMjFGMzQzNjkwMDAxNTVGREEgLyogQ2FjaGVTdG9yYWdlLmggKi8sCiAJCQkJNDEzODBD
MjQxRjM0MzY5NzAwMTU1RkRBIC8qIENhY2hlU3RvcmFnZS5pZGwgKi8sCisJCQkJNDFEMTI5Q0Ix
RjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZS5qcyAqLywKKwkJCQk0MUQxMjlDOTFGM0Qw
RUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAgKi8sCisJCQkJNDFEMTI5
Q0MxRjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaCAqLywKKwkJCQk0
MUQxMjlDQTFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUmVjb3JkLmggKi8sCiAJCQkJ
NDFGQjI3OEUxRjM0QzI4MjAwNzk1NDg3IC8qIERPTVdpbmRvd0NhY2hlcy5jcHAgKi8sCiAJCQkJ
NDFGQjI3OEMxRjM0QzI4MjAwNzk1NDg3IC8qIERPTVdpbmRvd0NhY2hlcy5oICovLAogCQkJCTQx
MzgwQzJCMUYzNDNFMkYwMDE1NUZEQSAvKiBET01XaW5kb3dDYWNoZXMuaWRsICovLApAQCAtMTg1
NzksMTIgKzE4NTk2LDEyIEBACiAJCQkJNTE4MkMyNTIxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2Vy
dmljZVdvcmtlci5oICovLAogCQkJCTUxODJDMjUxMUYzMTQyNTAwMDU5QkE3QyAvKiBKU1NlcnZp
Y2VXb3JrZXJDb250YWluZXIuY3BwICovLAogCQkJCTUxODJDMjU0MUYzMTQyNTAwMDU5QkE3QyAv
KiBKU1NlcnZpY2VXb3JrZXJDb250YWluZXIuaCAqLywKLQkJCQk1MUYxNzUwMDFGMzU4QjM2MDBD
NzQ5NTAgLyogSlNTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuY3BwICovLAotCQkJCTUxRjE3
NTAxMUYzNThCMzYwMEM3NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5oICov
LAogCQkJCTUxODJDMjRFMUYzMTQyNTAwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZS5jcHAgKi8sCiAJCQkJNTE4MkMyNEQxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdv
cmtlckdsb2JhbFNjb3BlLmggKi8sCiAJCQkJNTE4MkMyNEYxRjMxNDI1MDAwNTlCQTdDIC8qIEpT
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAgKi8sCiAJCQkJNTE4MkMyNTAxRjMxNDI1MDAw
NTlCQTdDIC8qIEpTU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oICovLAorCQkJCTUxRjE3NTAw
MUYzNThCMzYwMEM3NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5jcHAgKi8s
CisJCQkJNTFGMTc1MDExRjM1OEIzNjAwQzc0OTUwIC8qIEpTU2VydmljZVdvcmtlclVwZGF0ZVZp
YUNhY2hlLmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IFNlcnZpY2VXb3JrZXJzOwogCQkJcGF0aCA9
IERlcml2ZWRTb3VyY2VzOwpAQCAtMTkxODksNiArMTkyMDYsNyBAQAogCQkJCUJDMTI0RUU2MEMy
NjQxQ0QwMDlFMjM0OSAvKiBCYXJQcm9wLmlkbCAqLywKIAkJCQk0NjBCQjYxMzFEMEExQkVDMDAy
MjE4MTIgLyogQmFzZTY0VXRpbGl0aWVzLmNwcCAqLywKIAkJCQk0NjBCQjYxNDFEMEExQkVDMDAy
MjE4MTIgLyogQmFzZTY0VXRpbGl0aWVzLmggKi8sCisJCQkJNDFEMTI5RDQxRjNEMEY2NjAwRDE1
RTQ3IC8qIENhY2hlU3RvcmFnZVByb3ZpZGVyLmggKi8sCiAJCQkJMDcyQ0E4NjAxNkNCNERDMzAw
OEFFMTMxIC8qIENhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwICovLAogCQkJCTA3OUQwODY3MTYy
RjIwRTgwMERCODY1OCAvKiBDYXB0aW9uVXNlclByZWZlcmVuY2VzLmggKi8sCiAJCQkJMDc5RDA4
NkExNjJGMjFGOTAwREI4NjU4IC8qIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcCAq
LywKQEAgLTI2Njc1LDcgKzI2NjkzLDExIEBACiAJCQkJMDc1Mzg2MDMxNDQ4OUU5ODAwQjc4NDUy
IC8qIENhY2hlZFRleHRUcmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNCMTZDMjgwOTc5QzNC
RDAwNDY3NzQxIC8qIENhY2hlZFhTTFN0eWxlU2hlZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkz
RjE5OTUwMDgyNDVFNTkwMDFFOUFCQyAvKiBDYWNoZVBvbGljeS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNDFEMTI5RDAxRjNEMEYwNTAwRDE1RTQ3IC8qIENhY2hlUXVlcnlPcHRpb25zLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0MTM4MEMyOTFGMzQzNkFDMDAxNTVGREEgLyogQ2FjaGVTdG9yYWdlLmgg
aW4gSGVhZGVycyAqLywKKwkJCQk0MUQxMjlEMzFGM0QwRjE2MDBEMTVFNDcgLyogQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5RDUxRjNEMEY2OTAwRDE1
RTQ3IC8qIENhY2hlU3RvcmFnZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUQxMjlE
MjFGM0QwRjEyMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUmVjb3JkLmggaW4gSGVhZGVycyAqLywK
IAkJCQlFNDNBRjhFNzFBQzVCN0VDMDBDQTcxN0UgLyogQ2FjaGVWYWxpZGF0aW9uLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0OUFFMkQ5NzEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY3VsYXRpb25WYWx1
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0MxRThEMDExRUQwQzJEQTAwQjFEOTgzIC8qIENhbGxi
YWNrUmVzdWx0LmggaW4gSGVhZGVycyAqLywKQEAgLTI3MTQ3LDYgKzI3MTY5LDcgQEAKIAkJCQky
RTM3REZEQjEyREJBRkI4MDBBNkIyMzMgLyogRE9NVVJMLmggaW4gSGVhZGVycyAqLywKIAkJCQlD
RDlERTE4MjE3QUFENkE0MDBFQTM4NkQgLyogRE9NVVJMTWVkaWFTb3VyY2UuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTE0MDNCOTk3MDlFQjEzQUYwMDc5N0M3RiAvKiBET01XaW5kb3cuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTQxRDEyOUQxMUYzRDBGMEUwMEQxNUU0NyAvKiBET01XaW5kb3dDYWNoZXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTUxRkEyRDc4MTUyMTMyQjMwMEMxQkEwQiAvKiBET01XaW5k
b3dFeHRlbnNpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTUxODVGQzc1MUJCNEM0RTgwMDEyODk4
RiAvKiBET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3RDJB
RDA0MTRCODIzQTYwMDkzREYzMiAvKiBET01XaW5kb3dQcm9wZXJ0eS5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yNzI0Miw2ICsyNzI2NSw3IEBACiAJCQkJODQ3MzBEODUxMjQ4RjBCMzAwRDNBOUM5IC8q
IEZFTW9ycGhvbG9neS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ3MzBEODcxMjQ4RjBCMzAwRDNB
OUM5IC8qIEZFT2Zmc2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDczMEQ4OTEyNDhGMEIzMDBE
M0E5QzkgLyogRkVTcGVjdWxhckxpZ2h0aW5nLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUQxMjlE
QjFGM0QxNDM4MDBEMTVFNDcgLyogRmV0Y2hIZWFkZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0
MTZFNkZFODFCQkQxMkRGMDAwQTYwMjMgLyogRmV0Y2hJbnRlcm5hbHNCdWlsdGlucy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNDFBRDc1M0ExQ0VGNkJEMTAwQTMxNDg2IC8qIEZldGNoT3B0aW9ucy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJN0NFMTkxNEQxRjJBOUFGQjAwMjcyRjc4IC8qIEZldGNoUmVm
ZXJyZXJQb2xpY3kuaCBpbiBIZWFkZXJzICovLApAQCAtMjczNzUsNyArMjczOTksNiBAQAogCQkJ
CTMxNkJEQkY3MUU3NjJBRDUwMERFMEQ1QSAvKiBHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkzMTZCREJGMDFFNzYyOTIwMDBERTBENUEgLyogR1BVRGVwdGhT
dGVuY2lsU3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxNkJEQjg2MUU2RTBBMjcwMERFMEQ1
QSAvKiBHUFVEZXZpY2UuaCBpbiBIZWFkZXJzICovLAotCQkJCTUxRjE3NEZFMUYzNTg5OTIwMEM3
NDk1MCAvKiBXb3JrZXJUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTZCREJDRDFFNzVGMTg0
MDBERTBENUEgLyogR1BVRHJhd2FibGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxNkJEQkZCMUU3
NjJEMDQwMERFMEQ1QSAvKiBHUFVFbnVtcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE2QkRCOTUx
RTcwQzg5NzAwREUwRDVBIC8qIEdQVUZ1bmN0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTI3NDYz
LDcgKzI3NDg2LDYgQEAKIAkJCQlBODcxRDQ1QzBBMTI3Q0JDMDBCMTJBNjggLyogSFRNTEVtYmVk
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc3QjM4NkExMjI4ODNFOTAwQjgxRkY4IC8q
IEhUTUxFbnRpdHlQYXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3N0IzODZDMTIyODgzRTkw
MEI4MUZGOCAvKiBIVE1MRW50aXR5U2VhcmNoLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzRG
RjFGMzU4OTk3MDBDNzQ5NTAgLyogU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk5NzdCMzg2RDEyMjg4M0U5MDBCODFGRjggLyogSFRNTEVudGl0eVRhYmxl
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBODEzNjlENDA5NzM3NEY2MDBENzQ0NjMgLyogSFRNTEZp
ZWxkU2V0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThDRkY3QTYwQTE1Njk3ODAwMEE0
MjM0IC8qIEhUTUxGb250RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODIxMSw2ICsyODIz
Myw3IEBACiAJCQkJNTE4MkMyNTgxRjMxNDNDRDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlckNv
bnRhaW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4MkMyNUExRjMxNDNDRDAwNTlCQTdDIC8q
IEpTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTgyQzI1
QzFGMzE0M0NEMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk1MUYxNzUwMzFGMzU4QjNCMDBDNzQ5NTAgLyogSlNTZXJ2aWNlV29ya2Vy
VXBkYXRlVmlhQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTlCREE2NEQ4MUI5NzVDRjIwMDlD
NDM4NyAvKiBKU1NoYWRvd1Jvb3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ2REZGNDlDMURDMjYy
MEIwMEI4MEI0OCAvKiBKU1NoYWRvd1Jvb3RNb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDlE
RTE3QjE3QUFDNzVCMDBFQTM4NkQgLyogSlNTb3VyY2VCdWZmZXIuaCBpbiBIZWFkZXJzICovLApA
QCAtMjg0MTAsNyArMjg0MzMsNiBAQAogCQkJCTZFM0ZBRDM5MTQ3MzNGNDAwMEU0MjMwNiAvKiBK
U1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RUU4QTc3
MzEwRjgwM0YzMDA1QTRBMjQgLyogSlNXZWJHTENvbnRleHRBdHRyaWJ1dGVzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzJDQkY0RTE0MEYxQUJEMDAzODc5QkUgLyogSlNXZWJHTENvbnRleHRFdmVu
dC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTFGMTc1MDYxRjM1OEJGNzAwQzc0OTUwIC8qIEpTV29y
a2VyVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkUzRkFEMzkxNDczM0Y0MDExRTQyMzA3IC8q
IEpTV2ViR0xEZWJ1Z1JlbmRlcmVySW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkUzRkFEMzkx
NDczM0Y0MDIyRTQyMzA3IC8qIEpTV2ViR0xEZWJ1Z1NoYWRlcnMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTZFM0ZBRDM5MTQ3MzNGNDAwMEU0MjMwNyAvKiBKU1dlYkdMRGVwdGhUZXh0dXJlLmggaW4g
SGVhZGVycyAqLywKQEAgLTI4NDY4LDYgKzI4NDkwLDcgQEAKIAkJCQlFMUMzNkQzNTBFQjBBMDk0
MDA3NDEwQkMgLyogSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUUxQzM2MkVGMEVBRjJBQTkwMDc0MTBCQyAvKiBKU1dvcmtlckxvY2F0aW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlFMTI3MUE1ODBFRUVDREU0MDBGNjEyMTMgLyogSlNXb3JrZXJOYXZpZ2F0b3Iu
aCBpbiBIZWFkZXJzICovLAorCQkJCTUxRjE3NTA2MUYzNThCRjcwMEM3NDk1MCAvKiBKU1dvcmtl
clR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNEM5NkREMUFENDQ4MzUwMDM2NUE2MCAvKiBK
U1dyaXRhYmxlU3RyZWFtLmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzU4Q0I3MDFDNTMyNzc1MDBF
MEMyRDggLyogSlNYTUxEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMzNDhCRDQwREI3
RjgwNDAwNEFCQUI5IC8qIEpTWE1MSHR0cFJlcXVlc3QuaCBpbiBIZWFkZXJzICovLApAQCAtMjg2
ODksNyArMjg3MTIsNiBAQAogCQkJCTQxM0UwMDc5MURCMEU0RjIwMDIzNDFEMiAvKiBNZW1vcnlS
ZWxlYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOURGQTA5OUU2NDkyMDA1NkU1ODEgLyog
TWVyZ2VJZGVudGljYWxFbGVtZW50c0NvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQURF
Q0NFMEU3NkFEOEIwMDRBMUE1RSAvKiBNZXNzYWdlQ2hhbm5lbC5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJNTFGMTc1MDMxRjM1OEIzQjAwQzc0OTUwIC8qIEpTU2VydmljZVdvcmtlclVwZGF0ZVZpYUNh
Y2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3NTc5M0U4NDBEMENFMEIzMDA3RkMwQUMgLyogTWVz
c2FnZUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUFERUNCRjBFNzZBQ0YxMDA0QTFBNUUg
LyogTWVzc2FnZVBvcnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxQkY3MDBDMEZFODZGNDkwMDVF
OERFQyAvKiBNZXNzYWdlUG9ydENoYW5uZWwuaCBpbiBIZWFkZXJzICovLApAQCAtMjkzNjgsNiAr
MjkzOTAsNyBAQAogCQkJCTUxODJDMjQxMUYzMTNBMDkwMDU5QkE3QyAvKiBTZXJ2aWNlV29ya2Vy
Q29udGFpbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTgyQzI0MzFGMzEzQTA5MDA1OUJBN0Mg
LyogU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTgyQzI0
NTFGMzEzQTA5MDA1OUJBN0MgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNTFGMTc0RkYxRjM1ODk5NzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJVcGRh
dGVWaWFDYWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzU2QjJDRTExOEI3MTAxNjAwRkVDRkFB
IC8qIFNlc3Npb25JRC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlFMTAwOTlFNjQ5MjAwNTZF
NTgxIC8qIFNldE5vZGVBdHRyaWJ1dGVDb21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlCOERC
REI0QzEzMEIwRjhBMDBGNUNEQjEgLyogU2V0U2VsZWN0aW9uQ29tbWFuZC5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0zMDE1Miw2ICszMDE3NSw3IEBACiAJCQkJQTUyQTY4NjYxREJENEI1RDAwODMzNzNG
IC8qIFdvcmtlckRlYnVnZ2VyQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUEzRTI2NDMxMTQ3
NDg5OTEwMDVBODU4OCAvKiBXb3JrZXJFdmVudFF1ZXVlLmggaW4gSGVhZGVycyAqLywKIAkJCQky
RTQzNDY0OTBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTQxRDEyOUNFMUYzRDBFRjYwMEQxNUU0NyAvKiBXb3JrZXJHbG9iYWxTY29wZUNh
Y2hlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4NUZDQjQxQkI0QzRFODAwMTI4OThGIC8qIFdv
cmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQz
NDY0QjBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTU0QTBDNjIxREI3RjhDMTAwMTdBOTBCIC8qIFdvcmtlckluc3BlY3RvckNv
bnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMzAxNzMsNiArMzAxOTcsNyBAQAogCQkJCTBC
OTA1NkY5MEYyNjg1RjMwMDk1RkY2QSAvKiBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk5N0FBQkQyRDE0RkEwOUQ1MDA3NDU3QUUgLyogV29ya2VyVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1NEEwQzY4MURCODA3RDkw
MDE3QTkwQiAvKiBXb3JrZXJUb1BhZ2VGcm9udGVuZENoYW5uZWwuaCBpbiBIZWFkZXJzICovLAor
CQkJCTUxRjE3NEZFMUYzNTg5OTIwMEM3NDk1MCAvKiBXb3JrZXJUeXBlLmggaW4gSGVhZGVycyAq
LywKIAkJCQk5MzMwOUUyNDA5OUU2NDkyMDA1NkU1ODEgLyogV3JhcENvbnRlbnRzSW5EdW1teVNw
YW5Db21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTZFNkZFOTFCQkQxMkU1MDAwQTYwNTMg
LyogV3JpdGFibGVTdHJlYW1CdWlsdGlucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE2RTZGRTgx
QkJEMTJERjAwMEE2MDUzIC8qIFdyaXRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBI
ZWFkZXJzICovLApAQCAtMzA3NjMsNiArMzA3ODgsNyBAQAogCQkJCTA3NTM4NjAyMTQ0ODlFOTgw
MEI3ODQ1MiAvKiBDYWNoZWRUZXh0VHJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNCMTZD
MjcwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFhTTFN0eWxlU2hlZXQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNDEzODBDMjgxRjM0MzZBQzAwMTU1RkRBIC8qIENhY2hlU3RvcmFnZS5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk0MUQxMjlDRjFGM0QwRUZFMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNDNBRjhFNjFBQzVCN0U4MDBDQTcx
N0UgLyogQ2FjaGVWYWxpZGF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5QUUyRDk2MTM0
RUU1RjkwMDcyOTIwQSAvKiBDYWxjdWxhdGlvblZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTk1MjA3NjA0MUYyNjc1RkUwMDdEMkFBQiAvKiBDYWxsVHJhY2VyLmNwcCBpbiBTb3VyY2VzICov
LApAQCAtMzIwNDQsNyArMzIwNzAsNiBAQAogCQkJCTEyQTI1M0UwMUM4RkZGNjYwMEMyMjI5NSAv
KiBKU0tleWZyYW1lRWZmZWN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzNUY0NTQyMEY3QzNC
NUYwMEQ3QzFGQiAvKiBKU0xhenlFdmVudExpc3RlbmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUJDRTFDNDNCMEQ5ODMwRDMwMDNCMDJGMiAvKiBKU0xvY2F0aW9uLmNwcCBpbiBTb3VyY2VzICov
LAotCQkJCTUxRjE3NTA3MUYzNThCRjkwMEM3NDk1MCAvKiBKU1dvcmtlclR5cGUuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQkNFMUM0NDAwRDk4MzBGNDAwM0IwMkYyIC8qIEpTTG9jYXRpb25DdXN0
b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNBODA2MUYxRTAzQjU4NTAwOEExRjI2IC8qIEpT
TG9uZ1JhbmdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCThGQUM3NzREMTE5ODcyQ0IwMDE1QUU5
NCAvKiBKU01haW5UaHJlYWRFeGVjU3RhdGUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMjIwMSw2
ICszMjIyNiw3IEBACiAJCQkJNTE4MkMyNTcxRjMxNDNDRDAwNTlCQTdDIC8qIEpTU2VydmljZVdv
cmtlckNvbnRhaW5lci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTgyQzI1OTFGMzE0M0NEMDA1
OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTE4MkMyNUIxRjMxNDNDRDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MUYxNzUwMjFGMzU4QjNCMDBDNzQ5NTAgLyogSlNT
ZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOUJEQTY0
RDcxQjk3NUNFNTAwOUM0Mzg3IC8qIEpTU2hhZG93Um9vdC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk0NkRGRjQ5QjFEQzI2MjBCMDBCODBCNDggLyogSlNTaGFkb3dSb290TW9kZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlDRDlERTE3QTE3QUFDNzVCMDBFQTM4NkQgLyogSlNTb3VyY2VCdWZmZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMjQ4Myw2ICszMjUwOSw3IEBACiAJCQkJRTE4MjU4QUMw
RUYzQ0Q3MDAwOTMzMjQyIC8qIEpTV29ya2VyR2xvYmFsU2NvcGVDdXN0b20uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJRTFDMzYyRjAwRUFGMkFBOTAwNzQxMEJDIC8qIEpTV29ya2VyTG9jYXRpb24u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTEyNzFBNTkwRUVFQ0RFNDAwRjYxMjEzIC8qIEpTV29y
a2VyTmF2aWdhdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRjE3NTA3MUYzNThCRjkwMEM3
NDk1MCAvKiBKU1dvcmtlclR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M0Qzk2REMxQUQ0
NDgzNTAwMzY1QTYwIC8qIEpTV3JpdGFibGVTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
ODM1OENCNkYxQzUzMjc3MjAwRTBDMkQ4IC8qIEpTWE1MRG9jdW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJODNBNEE5RjkxQ0U3RkQ4MTAwNzA5QjAwIC8qIEpTWE1MRG9jdW1lbnRDdXN0b20u
Y3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMzY4MCw3ICszMzcwNyw2IEBACiAJCQkJN0FGOUIyMDIx
OENGQjJERjAwQzY0QkVGIC8qIFZUVFJlZ2lvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QUY5
QjIwNTE4Q0ZCMkRGMDBDNjRCRUYgLyogVlRUUmVnaW9uTGlzdC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk3QTkzODY4NTE4RENDMTQ1MDBCODI2M0QgLyogVlRUU2Nhbm5lci5jcHAgaW4gU291cmNl
cyAqLywKLQkJCQk1MUYxNzUwMjFGMzU4QjNCMDBDNzQ5NTAgLyogSlNTZXJ2aWNlV29ya2VyVXBk
YXRlVmlhQ2FjaGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTE0ODMyQjExODdGNjFFMTAwREE2
M0E2IC8qIFdBS0FwcEtpdFN0dWJzLm0gaW4gU291cmNlcyAqLywKIAkJCQlBMTQ4MzJCMzE4N0Y2
MjkxMDBEQTYzQTYgLyogV0FLQ2xpcFZpZXcubSBpbiBTb3VyY2VzICovLAogCQkJCUExNDgzMkI1
MTg3RjYyRkMwMERBNjNBNiAvKiBXQUtSZXNwb25kZXIubSBpbiBTb3VyY2VzICovLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IDA5
ZmU4MWJhNDdjYTUzYzg3NzVjYjY2MjdhNzZkM2IzZTI2Mjc5ZWIuLjcyMmVhMmU0OGUxZjMzZTIz
NjBiZGI2MDA1NmMwMDJmOWM0YjQyNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAgLTM4LDYgKzM4LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIG1hY3JvKGJhY2tpbmdNYXApIFwKICAgICBtYWNybyhib2R5KSBcCiAgICAg
bWFjcm8oYnlvYlJlcXVlc3QpIFwKKyAgICBtYWNybyhjYWNoZU1hcCkgXAorICAgIG1hY3JvKGNh
Y2hlTmFtZSkgXAogICAgIG1hY3JvKGNhbmNlbCkgXAogICAgIG1hY3JvKGNsb25lQXJyYXlCdWZm
ZXIpIFwKICAgICBtYWNybyhjbG9uZUZvckpTKSBcCkBAIC02Myw2ICs2NSw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBtYWNybyhsb2NhbFN0cmVhbXMpIFwKICAgICBtYWNybyhtYWtlVGhp
c1R5cGVFcnJvcikgXAogICAgIG1hY3JvKG1ha2VHZXR0ZXJUeXBlRXJyb3IpIFwKKyAgICBtYWNy
byhtYXRjaEFsbCkgXAogICAgIG1hY3JvKG1lZGlhU3RyZWFtVHJhY2tDb25zdHJhaW50cykgXAog
ICAgIG1hY3JvKG9wZXJhdGlvbnMpIFwKICAgICBtYWNybyhvd25lclJlYWRhYmxlU3RyZWFtKSBc
CkBAIC0xMTMsNiArMTE2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKHZpZXcp
IFwKICAgICBtYWNybyh3ZWJSVENMZWdhY3lBUElFbmFibGVkKSBcCiAgICAgbWFjcm8od3JpdGlu
ZykgXAorICAgIG1hY3JvKENhY2hlKSBcCisgICAgbWFjcm8oQ2FjaGVTdG9yYWdlKSBcCiAgICAg
bWFjcm8oSGVhZGVycykgXAogICAgIG1hY3JvKE1lZGlhU3RyZWFtKSBcCiAgICAgbWFjcm8oTWVk
aWFTdHJlYW1UcmFjaykgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvck92ZXJsYXkuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92
ZXJsYXkuY3BwCmluZGV4IDY2YzdmMDhmMGYyOGIwNDZiYjRjMzVlOGU5YmYxOWZiZGYyYWJjNTUu
LjJhODEzYjZhMTIwZGYzNThmMDhiZDI3MThjOTY1NzM0MzAxZGVmNDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JPdmVybGF5LmgiCiAKKyNp
bmNsdWRlICJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVy
LmgiCiAjaW5jbHVkZSAiRWRpdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgpAQCAt
ODY1LDcgKzg2Niw4IEBAIFBhZ2UqIEluc3BlY3Rvck92ZXJsYXk6Om92ZXJsYXlQYWdlKCkKICAg
ICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbigKICAgICAgICAgY3JlYXRlRW1w
dHlFZGl0b3JDbGllbnQoKSwKICAgICAgICAgU29ja2V0UHJvdmlkZXI6OmNyZWF0ZSgpLAotICAg
ICAgICBtYWtlVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPigpCisgICAgICAgIG1ha2VVbmlx
dWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+KCksCisgICAgICAgIENhY2hlU3RvcmFnZVByb3ZpZGVy
OjpjcmVhdGUoKQogICAgICk7CiAgICAgZmlsbFdpdGhFbXB0eUNsaWVudHMocGFnZUNvbmZpZ3Vy
YXRpb24pOwogICAgIG1fb3ZlcmxheVBhZ2UgPSBzdGQ6Om1ha2VfdW5pcXVlPFBhZ2U+KFdURk1v
dmUocGFnZUNvbmZpZ3VyYXRpb24pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2FjaGVTdG9yYWdlUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FjaGVTdG9yYWdl
UHJvdmlkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMGJmMWRjNWNkMWY4ZmJjYzY2MWNmMWQ2YzAwYTRhOGNj
MmM4OGFiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYWNoZVN0b3Jh
Z2VQcm92aWRlci5oCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2luY2x1ZGUgIkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJTZXNzaW9u
SUQuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIFdFQkNPUkVfRVhQT1JUIENhY2hlU3RvcmFnZVByb3ZpZGVyIDogcHVibGljIFJl
ZkNvdW50ZWQ8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVm
PENhY2hlU3RvcmFnZVByb3ZpZGVyPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IENh
Y2hlU3RvcmFnZVByb3ZpZGVyKTsgfQorICAgIHZpcnR1YWwgUmVmPENhY2hlU3RvcmFnZUNvbm5l
Y3Rpb24+IGNyZWF0ZUNhY2hlU3RvcmFnZUNvbm5lY3Rpb24oU2Vzc2lvbklEKSB7IHJldHVybiBD
YWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpjcmVhdGUoKTsgfQorICAgIHZpcnR1YWwgfkNhY2hlU3Rv
cmFnZVByb3ZpZGVyKCkgeyB9OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggYzI2OTg3
ZjhkY2IyZTllOTYwNmRhYTk3MmQyY2ZjYzdiZWNjNWZiNy4uNzA0MWYxY2YyOTU5NTRlYWZmMDRk
NmI4YTYxNjRmOGZhYWMwZDY3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0yNiw2ICsyNiw3IEBA
CiAjaW5jbHVkZSAiQmFja0ZvcndhcmRDbGllbnQuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZENv
bnRyb2xsZXIuaCIKICNpbmNsdWRlICJDU1NBbmltYXRpb25Db250cm9sbGVyLmgiCisjaW5jbHVk
ZSAiQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRl
ICJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRlICJDb25zdGFudFByb3BlcnR5TWFwLmgiCkBAIC0y
MjIsNiArMjIzLDcgQEAgUGFnZTo6UGFnZShQYWdlQ29uZmlndXJhdGlvbiYmIHBhZ2VDb25maWd1
cmF0aW9uKQogI2VuZGlmCiAgICAgLCBtX3NvY2tldFByb3ZpZGVyKFdURk1vdmUocGFnZUNvbmZp
Z3VyYXRpb24uc29ja2V0UHJvdmlkZXIpKQogICAgICwgbV9hcHBsaWNhdGlvbkNhY2hlU3RvcmFn
ZSgqV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi5hcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSkpCisg
ICAgLCBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyKFdURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uY2Fj
aGVTdG9yYWdlUHJvdmlkZXIpKQogICAgICwgbV9kYXRhYmFzZVByb3ZpZGVyKCpXVEZNb3ZlKHBh
Z2VDb25maWd1cmF0aW9uLmRhdGFiYXNlUHJvdmlkZXIpKQogICAgICwgbV9wbHVnaW5JbmZvUHJv
dmlkZXIoKldURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24ucGx1Z2luSW5mb1Byb3ZpZGVyKSkKICAg
ICAsIG1fc3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyKCpXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9u
LnN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcikpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IDkwOWYzNzkwMmQz
M2UxZDBlZjNlNWE5YjRmNjRiYWI0ZGZhNWZmMGIuLjVmYzg5Y2RjNTkyYzk0OWViMThkOWNlYTE3
ZjYxZmJjZDM1NTEyMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC03Nyw2ICs3Nyw3IEBAIGNsYXNzIEFs
dGVybmF0aXZlVGV4dENsaWVudDsKIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwogY2xh
c3MgQmFja0ZvcndhcmRDb250cm9sbGVyOwogY2xhc3MgQmFja0ZvcndhcmRDbGllbnQ7CitjbGFz
cyBDYWNoZVN0b3JhZ2VQcm92aWRlcjsKIGNsYXNzIENocm9tZTsKIGNsYXNzIENocm9tZUNsaWVu
dDsKIGNsYXNzIENvbG9yOwpAQCAtNTEwLDYgKzUxMSw3IEBAIHB1YmxpYzoKIAogICAgIEFwcGxp
Y2F0aW9uQ2FjaGVTdG9yYWdlJiBhcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSgpIHsgcmV0dXJuIG1f
YXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7IH0KICAgICBEYXRhYmFzZVByb3ZpZGVyJiBkYXRhYmFz
ZVByb3ZpZGVyKCkgeyByZXR1cm4gbV9kYXRhYmFzZVByb3ZpZGVyOyB9CisgICAgQ2FjaGVTdG9y
YWdlUHJvdmlkZXImIGNhY2hlU3RvcmFnZVByb3ZpZGVyKCkgeyByZXR1cm4gbV9jYWNoZVN0b3Jh
Z2VQcm92aWRlcjsgfQogICAgIFNvY2tldFByb3ZpZGVyJiBzb2NrZXRQcm92aWRlcigpIHsgcmV0
dXJuIG1fc29ja2V0UHJvdmlkZXI7IH0KIAogICAgIFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlciYg
c3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyKCkgeyByZXR1cm4gbV9zdG9yYWdlTmFtZXNwYWNlUHJv
dmlkZXIuZ2V0KCk7IH0KQEAgLTc4NCw2ICs3ODYsNyBAQCBwcml2YXRlOgogCiAgICAgUmVmPFNv
Y2tldFByb3ZpZGVyPiBtX3NvY2tldFByb3ZpZGVyOwogICAgIFJlZjxBcHBsaWNhdGlvbkNhY2hl
U3RvcmFnZT4gbV9hcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTsKKyAgICBSZWY8Q2FjaGVTdG9yYWdl
UHJvdmlkZXI+IG1fY2FjaGVTdG9yYWdlUHJvdmlkZXI7CiAgICAgUmVmPERhdGFiYXNlUHJvdmlk
ZXI+IG1fZGF0YWJhc2VQcm92aWRlcjsKICAgICBSZWY8UGx1Z2luSW5mb1Byb3ZpZGVyPiBtX3Bs
dWdpbkluZm9Qcm92aWRlcjsKICAgICBSZWY8U3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyPiBtX3N0
b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZUNvbmZpZ3VyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJh
dGlvbi5jcHAKaW5kZXggMTEyM2RkNmQ0MDVhOTQ4MTNhNGE3ODc0MmM3ZDY2ZDJjZjFiZWU3Yy4u
ZjFiODI3ZGNmYmFhZTZlNmM4ZGNjYWQ5ZDE4ZDQ5Mzc5ZGM5NTFjNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1
ZGUgIkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgiCiAjaW5jbHVkZSAiQmFja0ZvcndhcmRDbGll
bnQuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgogI2luY2x1ZGUgIkRhdGFi
YXNlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIgogI2lu
Y2x1ZGUgIkVkaXRvckNsaWVudC5oIgpAQCAtNDMsMTAgKzQ0LDExIEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotUGFnZUNvbmZpZ3VyYXRpb246OlBhZ2VDb25maWd1cmF0aW9uKFVuaXF1ZVJl
ZjxFZGl0b3JDbGllbnQ+JiYgZWRpdG9yQ2xpZW50LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYgc29j
a2V0UHJvdmlkZXIsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJiBsaWJXZWJSVENQcm92
aWRlcikKK1BhZ2VDb25maWd1cmF0aW9uOjpQYWdlQ29uZmlndXJhdGlvbihVbmlxdWVSZWY8RWRp
dG9yQ2xpZW50PiYmIGVkaXRvckNsaWVudCwgUmVmPFNvY2tldFByb3ZpZGVyPiYmIHNvY2tldFBy
b3ZpZGVyLCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYgbGliV2ViUlRDUHJvdmlkZXIs
IFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4mJiBjYWNoZVN0b3JhZ2VQcm92aWRlcikKICAgICA6
IGVkaXRvckNsaWVudChXVEZNb3ZlKGVkaXRvckNsaWVudCkpCiAgICAgLCBzb2NrZXRQcm92aWRl
cihXVEZNb3ZlKHNvY2tldFByb3ZpZGVyKSkKICAgICAsIGxpYldlYlJUQ1Byb3ZpZGVyKFdURk1v
dmUobGliV2ViUlRDUHJvdmlkZXIpKQorICAgICwgY2FjaGVTdG9yYWdlUHJvdmlkZXIoV1RGTW92
ZShjYWNoZVN0b3JhZ2VQcm92aWRlcikpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNv
bmZpZ3VyYXRpb24uaAppbmRleCBmNTNhMTJjMzg3ZWFmYjQwNGYyYTA2NjYwMjc1OWVjOWE3ZmMw
ZjVmLi5hODYyZDQzMDJlMDM2NDY0ZjkxMGE1N2IwMWQ3N2I2NGNjNmVmNDI1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oCkBAIC0zNCw2ICszNCw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIEFsdGVybmF0aXZlVGV4dENsaWVudDsKIGNsYXNzIEFwcGxpY2F0
aW9uQ2FjaGVTdG9yYWdlOwogY2xhc3MgQmFja0ZvcndhcmRDbGllbnQ7CitjbGFzcyBDYWNoZVN0
b3JhZ2VQcm92aWRlcjsKIGNsYXNzIENocm9tZUNsaWVudDsKIGNsYXNzIENvbnRleHRNZW51Q2xp
ZW50OwogY2xhc3MgRGF0YWJhc2VQcm92aWRlcjsKQEAgLTU4LDcgKzU5LDcgQEAgY2xhc3MgV2Vi
R0xTdGF0ZVRyYWNrZXI7CiBjbGFzcyBQYWdlQ29uZmlndXJhdGlvbiB7CiAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUGFnZUNvbmZpZ3VyYXRpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBQYWdlQ29uZmlndXJhdGlvbihVbmlxdWVSZWY8
RWRpdG9yQ2xpZW50PiYmLCBSZWY8U29ja2V0UHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxMaWJXZWJS
VENQcm92aWRlcj4mJik7CisgICAgV0VCQ09SRV9FWFBPUlQgUGFnZUNvbmZpZ3VyYXRpb24oVW5p
cXVlUmVmPEVkaXRvckNsaWVudD4mJiwgUmVmPFNvY2tldFByb3ZpZGVyPiYmLCBVbmlxdWVSZWY8
TGliV2ViUlRDUHJvdmlkZXI+JiYsIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4mJik7CiAgICAg
V0VCQ09SRV9FWFBPUlQgflBhZ2VDb25maWd1cmF0aW9uKCk7CiAKICAgICBBbHRlcm5hdGl2ZVRl
eHRDbGllbnQqIGFsdGVybmF0aXZlVGV4dENsaWVudCB7IG51bGxwdHIgfTsKQEAgLTg3LDYgKzg4
LDcgQEAgcHVibGljOgogCiAgICAgUmVmUHRyPEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlPiBhcHBs
aWNhdGlvbkNhY2hlU3RvcmFnZTsKICAgICBSZWZQdHI8RGF0YWJhc2VQcm92aWRlcj4gZGF0YWJh
c2VQcm92aWRlcjsKKyAgICBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+IGNhY2hlU3RvcmFnZVBy
b3ZpZGVyOwogICAgIFJlZlB0cjxQbHVnaW5JbmZvUHJvdmlkZXI+IHBsdWdpbkluZm9Qcm92aWRl
cjsKICAgICBSZWZQdHI8U3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyPiBzdG9yYWdlTmFtZXNwYWNl
UHJvdmlkZXI7CiAgICAgUmVmUHRyPFVzZXJDb250ZW50UHJvdmlkZXI+IHVzZXJDb250ZW50UHJv
dmlkZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVVwZGF0ZS5oIGIv
U291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVVcGRhdGUuaAppbmRleCA1NTlkMmQ0YWQ3YjRmZGZi
NDMwYzA3ZDExOTYzODFjNWIwMTVkNjkxLi43MDgxNTVkMWMyYWQ2YTMwMjdhNzYzOGFkNmQyMDBk
MjljZmM5Yzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVVwZGF0ZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVXBkYXRlLmgKQEAgLTU1LDYgKzU1LDEy
IEBAIHN0cnVjdCBFbGVtZW50VXBkYXRlIHsKIH07CiAKIHN0cnVjdCBUZXh0VXBkYXRlIHsKKyAg
ICBUZXh0VXBkYXRlKCkgPSBkZWZhdWx0OworICAgIFRleHRVcGRhdGUodW5zaWduZWQgb2Zmc2V0
LCB1bnNpZ25lZCBsZW5ndGgpCisgICAgICAgIDogb2Zmc2V0KG9mZnNldCkKKyAgICAgICAgLCBs
ZW5ndGgobGVuZ3RoKQorICAgIHsgfQorCiAgICAgdW5zaWduZWQgb2Zmc2V0IHsgMCB9OwogICAg
IHVuc2lnbmVkIGxlbmd0aCB7IHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQ+OjptYXgoKSB9
OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCmluZGV4IDc4NmU4
ZjdhN2JjYTYwODA5YTU1NWI2NWY4MzVjMmE1MGEwMDgyZTguLjgyNTliMmY4ZTI4NjYzYjIxN2Nk
ZWEwNGMyZjhlYzM4MzdjZDc4ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFw
aGljcy9TVkdJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0lt
YWdlLmNwcApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IlNWR0ltYWdlLmgiCiAKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgogI2luY2x1
ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUgIkNvbW1vblZNLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93
LmgiCkBAIC00MjksNyArNDMwLDggQEAgRW5jb2RlZERhdGFTdGF0dXMgU1ZHSW1hZ2U6OmRhdGFD
aGFuZ2VkKGJvb2wgYWxsRGF0YVJlY2VpdmVkKQogICAgICAgICBQYWdlQ29uZmlndXJhdGlvbiBw
YWdlQ29uZmlndXJhdGlvbigKICAgICAgICAgICAgIGNyZWF0ZUVtcHR5RWRpdG9yQ2xpZW50KCks
CiAgICAgICAgICAgICBTb2NrZXRQcm92aWRlcjo6Y3JlYXRlKCksCi0gICAgICAgICAgICBtYWtl
VW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPigpCisgICAgICAgICAgICBtYWtlVW5pcXVlUmVm
PExpYldlYlJUQ1Byb3ZpZGVyPigpLAorICAgICAgICAgICAgQ2FjaGVTdG9yYWdlUHJvdmlkZXI6
OmNyZWF0ZSgpCiAgICAgICAgICk7CiAgICAgICAgIGZpbGxXaXRoRW1wdHlDbGllbnRzKHBhZ2VD
b25maWd1cmF0aW9uKTsKICAgICAgICAgbV9jaHJvbWVDbGllbnQgPSBzdGQ6Om1ha2VfdW5pcXVl
PFNWR0ltYWdlQ2hyb21lQ2xpZW50Pih0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CmluZGV4IDMzNGY2
NjhiNzczYzg2YmIyZTE1NGM1NjRlOGM0OWJmODBiYzc2NjQuLjZhYTg1NmRhYzU5MzUxMWJmYTcz
NzQyODQyYzRlNGUwYjVkOGFmMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dApAQCAtNTIsNiArNTIsNyBA
QCBzZXQoV2ViS2l0Ml9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dl
YlByb2Nlc3MvQXBwbGVQYXkiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvQXBwbGlj
YXRpb25DYWNoZSIKICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9BdXRvbWF0aW9uIgor
ICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0NhY2hlIgogICAgICIke1dFQktJVDJfRElS
fS9XZWJQcm9jZXNzL0Nvb2tpZXMiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvRGF0
YWJhc2VzIgogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVk
REIiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCA0ZTNjMjM0ZTg1ZmI3NWQyZTIwZTcxZWYzMWVhZjI0NWRkNjVlZDExLi4zNGUzY2EyYTgy
NDIwYTU5OTZhZWZhYzQzZGNjNjVmYmVmYTBjYzIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTg5MSw2ICs4OTEsNyBAQAogCQk0MTMw
NzVCMjFERTg1RjU4MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTYxREU4NUVFNzAw
MzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldEZhY3RvcnkuaCAqLzsgfTsKIAkJNDEzMDc1QjMxREU4
NUY1ODAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUE3MURFODVFRTcwMDM5RUM2OSAvKiBM
aWJXZWJSVENQcm92aWRlci5jcHAgKi87IH07CiAJCTQxMzA3NUI0MURFODVGNTgwMDM5RUM2OSAv
KiBMaWJXZWJSVENQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDEzMDc1QTgxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVy
LmggKi87IH07CisJCTQxRDEyOURBMUYzRDEwMTgwMEQxNUU0NyAvKiBXZWJDYWNoZVN0b3JhZ2VQ
cm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDFEMTI5RDkxRjNEMTAxNDAwRDE1RTQ3IC8qIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmggKi87
IH07CiAJCTQxREM0NTk2MUUzRDZFMjIwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxREM0NTk0MUUz
RDZFMUUwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuaCAqLzsgfTsKIAkJNDFEQzQ1OTcx
RTNENkUyMjAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MURDNDU5NTFFM0Q2RTFFMDBCMTFGNTEg
LyogTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcCAqLzsgfTsKIAkJNDFEQzQ1OUIxRTNEQkIyODAwQjEx
RjUxIC8qIExpYldlYlJUQ1NvY2tldENsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MURDNDU5OTFFM0RCQjI0MDBCMTFGNTEgLyogTGliV2Vi
UlRDU29ja2V0Q2xpZW50LmNwcCAqLzsgfTsKQEAgLTMxNDAsNiArMzE0MSw3IEBACiAJCTQxMzA3
NUE3MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0gTGliV2ViUlRDUHJvdmlk
ZXIuY3BwOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4
Y29kZS5sYW5nLmNwcDsgfTsKIAkJNDEzMDc1QTgxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJU
Q1Byb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbGluZUVuZGluZyA9IDA7IG5h
bWUgPSBMaWJXZWJSVENQcm92aWRlci5oOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRD
UHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRp
b25JZGVudGlmaWVyID0geGNvZGUubGFuZy5vYmpjcHA7IH07CiAJCTQxQUM4NjgxMUUwNDJFNTMw
MDMwMzA3NCAvKiBXZWJSVENSZXNvbHZlci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IGxp
bmVFbmRpbmcgPSAwOyBuYW1lID0gV2ViUlRDUmVzb2x2ZXIubWVzc2FnZXMuaW47IHBhdGggPSBO
ZXR3b3JrL3dlYnJ0Yy9XZWJSVENSZXNvbHZlci5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0gIjxub25lPiI7IH07
CisJCTQxRDEyOUQ5MUYzRDEwMTQwMEQxNUU0NyAvKiBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MURDNDU5NDFFM0Q2RTFFMDBCMTFGNTEgLyogTmV0d29ya1JUQ1By
b3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtSVENQcm92
aWRlci5oOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MURDNDU5NTFFM0Q2RTFFMDBCMTFGNTEg
LyogTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IE5ldHdvcmtSVENQcm92aWRlci5jcHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJy
dGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDFEQzQ1OTgxRTNENkVENjAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5tZXNzYWdlcy5p
biAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBOZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW47
IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2Vz
LmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTkwOCw2ICs1OTEwLDE0IEBACiAJ
CQluYW1lID0gd2VicnRjOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJNDFE
MTI5RDgxRjNEMTAxNDAwRDE1RTQ3IC8qIENhY2hlICovID0geworCQkJaXNhID0gUEJYR3JvdXA7
CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0MUQxMjlEOTFGM0QxMDE0MDBEMTVFNDcgLyogV2ViQ2Fj
aGVTdG9yYWdlUHJvdmlkZXIuaCAqLywKKwkJCSk7CisJCQlwYXRoID0gQ2FjaGU7CisJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk0NDUwQUVCRTFEQzNGQUFDMDA5OTQzRjIgLyog
Y29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtNjU4
Niw2ICs2NTk2LDcgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTFBQjFGNzcwMUQxQjJGNUQwMDdD
OUJEMSAvKiBBcHBsZVBheSAqLywKIAkJCQkxQzBBMTk0MzFDOEZGMUE4MDBGRTBFQkIgLyogQXV0
b21hdGlvbiAqLywKKwkJCQk0MUQxMjlEODFGM0QxMDE0MDBEMTVFNDcgLyogQ2FjaGUgKi8sCiAJ
CQkJN0M2RTcwRjgxOEIyRDQ3RTAwRjI0RTJFIC8qIGNvY29hICovLAogCQkJCTMzMDkzNDRCMTMx
NUI5M0EwMDk3QTdCQyAvKiBDb29raWVzICovLAogCQkJCTUxMkE5NzU0MTgwREY5MjcwMDM5QTE0
OSAvKiBEYXRhYmFzZXMgKi8sCkBAIC04NjgzLDYgKzg2OTQsNyBAQAogCQkJCUJDNzJCQTFFMTFF
NjQ5MDcwMDFFQjRFQSAvKiBXZWJCYWNrRm9yd2FyZExpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUxOEQyQ0FFMTJENTE1M0IwMDNCQjkzQiAvKiBXZWJCYWNrRm9yd2FyZExpc3RJdGVtLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQzcyQjlGQjExRTY0NzZCMDAxRUI0RUEgLyogV2ViQmFja0Zvcndh
cmRMaXN0UHJveHkuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxRDEyOURBMUYzRDEwMTgwMEQxNUU0
NyAvKiBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNGNTA3
MjgxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkMwMzJENzUxMEY0Mzc4RDAwNThDMTVBIC8qIFdlYkNocm9tZUNsaWVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJM0Y4N0I5QkUxNTg5NDAxOTAwOTBGRjYyIC8qIFdlYkNvbG9yQ2hvb3Nl
ci5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
Q2FjaGUvV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9DYWNoZS9XZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0MjIxNmEyMDg2
Y2U2ODgwZTBlMzhjMTZkYTk4NWI4N2UwNjY3ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvQ2FjaGUvV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaApAQCAtMCww
ICsxLDM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDxXZWJDb3Jl
L0NhY2hlU3RvcmFnZVByb3ZpZGVyLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBX
ZWJDYWNoZVN0b3JhZ2VQcm92aWRlciBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpDYWNoZVN0b3Jh
Z2VQcm92aWRlciB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxXZWJDYWNoZVN0b3JhZ2VQcm92
aWRlcj4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJDYWNoZVN0b3JhZ2VQcm92
aWRlcik7IH0KK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKaW5kZXggMjVjNzUzZmE5YTk3NGJmYTlmZWFkMzZmZGMzODlhMGJkOWMwYTEyYy4u
MDRmYzYxNTMzZDkxYTIwZWI4ZGFlNzUxMjZkNzkzM2YwODI4Y2JiMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTY4LDYgKzY4LDcgQEAKICNp
bmNsdWRlICJXZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQuaCIKICNpbmNsdWRlICJXZWJCYWNrRm9y
d2FyZExpc3RJdGVtLmgiCiAjaW5jbHVkZSAiV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaCIKKyNp
bmNsdWRlICJXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgogI2luY2x1ZGUgIldlYkNocm9tZUNs
aWVudC5oIgogI2luY2x1ZGUgIldlYkNvbG9yQ2hvb3Nlci5oIgogI2luY2x1ZGUgIldlYkNvbnRl
eHRNZW51LmgiCkBAIC0zNzEsNyArMzcyLDggQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBw
YWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogICAgIFBhZ2VD
b25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uKAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdl
YkVkaXRvckNsaWVudD4odGhpcyksCiAgICAgICAgIFdlYlNvY2tldFByb3ZpZGVyOjpjcmVhdGUo
KSwKLSAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJLaXQ6OkxpYldlYlJUQ1Byb3ZpZGVyPigpCisg
ICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViS2l0OjpMaWJXZWJSVENQcm92aWRlcj4oKSwKKyAgICAg
ICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuY2FjaGVTdG9yYWdlUHJvdmlkZXIoKQogICAgICk7
CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVu
dCgqdGhpcyk7CiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggOWQxNmI1MDc3ODI1MjQwYTg1YzQ1ZGNkNGM5OGMwMWI1
MmE5OWM1Yi4uZDA3NDRjMTMxNDQwNmM0Njc1Mjg4YTkyN2ZhYTFjMDI4NGQzMzUyNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2lu
Y2x1ZGUgIlN0YXRpc3RpY3NEYXRhLmgiCiAjaW5jbHVkZSAiVXNlckRhdGEuaCIKICNpbmNsdWRl
ICJXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5LmgiCisjaW5jbHVkZSAiV2ViQ2FjaGVTdG9yYWdl
UHJvdmlkZXIuaCIKICNpbmNsdWRlICJXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3MuaCIKICNpbmNs
dWRlICJXZWJDb29raWVNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmgiCkBAIC0xNTksNiArMTYwLDcgQEAgV2ViUHJvY2Vzczo6V2ViUHJvY2VzcygpCiAjZW5kaWYK
ICAgICAsIG1fd2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcihXZWJJbnNwZWN0b3JJbnRl
cnJ1cHREaXNwYXRjaGVyOjpjcmVhdGUoKSkKICAgICAsIG1fd2ViTG9hZGVyU3RyYXRlZ3koKm5l
dyBXZWJMb2FkZXJTdHJhdGVneSkKKyAgICAsIG1fY2FjaGVTdG9yYWdlUHJvdmlkZXIoV2ViQ2Fj
aGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpKQogICAgICwgbV9kbnNQcmVmZXRjaEh5c3RlcmVy
aXMoW3RoaXNdKEh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gSHlzdGVyZXNp
c1N0YXRlOjpTdG9wcGVkKSBtX2Ruc1ByZWZldGNoZWRIb3N0cy5jbGVhcigpOyB9KQogI2lmIEVO
QUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgICwgbV9wbHVnaW5Qcm9jZXNzQ29ubmVjdGlv
bk1hbmFnZXIoUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyOjpjcmVhdGUoKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IGNmMmFiODEzYjM3OTAzNzNiMmRhMGZh
NmZhYmY3YmFjNDdiMmY0OTcuLjEyM2M0YmIxOThjYWY3MGNkOTc2ZjY5NTk5Zjc3NzkwYjFkMGJi
NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtODAsNiArODAsNyBA
QCBjbGFzcyBPYmpDT2JqZWN0R3JhcGg7CiBjbGFzcyBVc2VyRGF0YTsKIGNsYXNzIFdheWxhbmRD
b21wb3NpdG9yRGlzcGxheTsKIGNsYXNzIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk7CitjbGFz
cyBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlcjsKIGNsYXNzIFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vz
czsKIGNsYXNzIFdlYkZyYW1lOwogY2xhc3MgV2ViTG9hZGVyU3RyYXRlZ3k7CkBAIC0yMjIsNiAr
MjIzLDggQEAgcHVibGljOgogCiAgICAgV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eSogYXV0b21h
dGlvblNlc3Npb25Qcm94eSgpIHsgcmV0dXJuIG1fYXV0b21hdGlvblNlc3Npb25Qcm94eS5nZXQo
KTsgfQogCisgICAgV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXImIGNhY2hlU3RvcmFnZVByb3ZpZGVy
KCkgeyByZXR1cm4gbV9jYWNoZVN0b3JhZ2VQcm92aWRlci5nZXQoKTsgfQorCiBwcml2YXRlOgog
ICAgIFdlYlByb2Nlc3MoKTsKICAgICB+V2ViUHJvY2VzcygpOwpAQCAtMzc1LDYgKzM3OCw4IEBA
IHByaXZhdGU6CiAgICAgUmVmUHRyPE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbj4gbV9uZXR3b3Jr
UHJvY2Vzc0Nvbm5lY3Rpb247CiAgICAgV2ViTG9hZGVyU3RyYXRlZ3kmIG1fd2ViTG9hZGVyU3Ry
YXRlZ3k7CiAKKyAgICBSZWY8V2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXI+IG1fY2FjaGVTdG9yYWdl
UHJvdmlkZXI7CisKICNpZiBVU0UoTElCV0VCUlRDKQogICAgIHN0ZDo6dW5pcXVlX3B0cjxMaWJX
ZWJSVENOZXR3b3JrPiBtX2xpYldlYlJUQ05ldHdvcms7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCAxZDQ5YjQ5ZjQ2ODA5MzFiOWU5ZGQw
N2JmZTAxMDgyODUwY2MyMmJmLi40NDkyZjU4ZDVmNTM2NGRhMGRhNzUwMjBmNGU1NGRmZWUwMjA2
MjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0x
MjQsNiArMTI0LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2Uu
aD4KICNpbXBvcnQgPFdlYkNvcmUvQmFja0ZvcndhcmRDb250cm9sbGVyLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL0NTU0FuaW1hdGlvbkNvbnRyb2xsZXIuaD4KKyNpbXBvcnQgPFdlYkNvcmUvQ2FjaGVT
dG9yYWdlUHJvdmlkZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ2hyb21lLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL0NvbG9yTWFjLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RhdGFiYXNlTWFuYWdlci5oPgpA
QCAtMTQxMyw3ICsxNDE0LDggQEAgc3RhdGljIHZvaWQgV2ViS2l0SW5pdGlhbGl6ZUdhbWVwYWRQ
cm92aWRlcklmTmVjZXNzYXJ5KCkKICAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJh
dGlvbigKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJFZGl0b3JDbGllbnQ+KHNlbGYpLAogICAg
ICAgICBTb2NrZXRQcm92aWRlcjo6Y3JlYXRlKCksCi0gICAgICAgIG1ha2VVbmlxdWVSZWY8V2Vi
Q29yZTo6TGliV2ViUlRDUHJvdmlkZXI+KCkKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3Jl
OjpMaWJXZWJSVENQcm92aWRlcj4oKSwKKyAgICAgICAgV2ViQ29yZTo6Q2FjaGVTdG9yYWdlUHJv
dmlkZXI6OmNyZWF0ZSgpCiAgICAgKTsKICNpZiAhUExBVEZPUk0oSU9TKQogICAgIHBhZ2VDb25m
aWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQoc2VsZik7CkBAIC0x
Njc2LDcgKzE2NzgsOCBAQCBzdGF0aWMgdm9pZCBXZWJLaXRJbml0aWFsaXplR2FtZXBhZFByb3Zp
ZGVySWZOZWNlc3NhcnkoKQogICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9u
KAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkVkaXRvckNsaWVudD4oc2VsZiksCiAgICAgICAg
IFNvY2tldFByb3ZpZGVyOjpjcmVhdGUoKSwKLSAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3Jl
OjpMaWJXZWJSVENQcm92aWRlcj4oKQorICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6Okxp
YldlYlJUQ1Byb3ZpZGVyPigpLAorICAgICAgICBXZWJDb3JlOjpDYWNoZVN0b3JhZ2VQcm92aWRl
cjo6Y3JlYXRlKCkKICAgICApOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9
IG5ldyBXZWJDaHJvbWVDbGllbnRJT1Moc2VsZik7CiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0NTdkMTE0YTMzOWU1NGY0ZDk5ZDRiZGE5Y2I3YmY0YzFiMGZlMGE3Li4wMDU3Nzgw
MzU5MWRiNWI0Y2EwMGE2YjAzM2Y5NmEzY2E1MDY5ZTkwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTctMDgtMTAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAg
IFtDYWNoZSBBUEldIEFkZGluZyBnZW5lcmljIHN1cHBvcnQgZm9yIENhY2hlU3RvcmFnZSBhbmQg
Q2FjaGUgbWV0aG9kcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc1NDU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOiBTa2lwcGluZyBhIHRlc3QgdGhhdCB3b3VsZCB0aW1l
b3V0IG90aGVyd2lzZSBkdWUgdG8gdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gbGltaXRhdGlv
bnMuCisKIDIwMTctMDgtMTAgIE1pZ3VlbCBHb21leiAgPG1hZ29tZXpAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkIEdUSysgZ2FyZGVuaW5nLiBVcGRhdGUgZXhwZWN0YXRpb25zIG9m
IHNldmVyYWwgdGVzdHMgZmFpbGluZyBhdCByMjIwNTE2LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKaW5kZXggYThiZTI2Y2Q2YWFjY2Y1NzIxNTNmODM2NjFmZjQxOWYzYTkyOTQyYS4uMDhi
MWJkZjI1MjZmMjRmZTQzYzAyYTI3Nzg5OTZjNDRjYWIwNDRlMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTctMDgtMTAgIFlvdWVubiBGYWJsZXQg
IDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFtDYWNoZSBBUEldIEFkZGluZyBnZW5lcmlj
IHN1cHBvcnQgZm9yIENhY2hlU3RvcmFnZSBhbmQgQ2FjaGUgbWV0aG9kcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NDU1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jcmVkZW50aWFscy5o
dHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFn
ZS93b3JrZXIvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtl
ci9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dDoKKwogMjAxNy0wOC0wOSAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEltcG9ydCBiZWFjb24vaGVhZGVy
cy9oZWFkZXItY29udGVudC10eXBlLmh0bWwgZnJvbSB1cHN0cmVhbSBXUFQKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IGU2YWQyZjI1ODI3YWViNTJiYzYzNDExNzM3NjkzOTcxNTUwNzZhMTkuLjY5ZmJm
NmM0YWVlMTA1NjE0MTg0NDg3NTNiYTNlOTFhYzUzNjI5NzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMTIxLDcgKzEyMSw3IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3N0dWItNC42LjItY2FjaGUuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc3R1Yi00LjYuMy1jYWNoZS1zdG9yYWdl
Lmh0bWwgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL2NhY2hlLXN0b3JhZ2UgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93IFsgUGFzcyBGYWlsdXJl
IF0KLQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS9jb21tb24uaHR0cHMuaHRtbCBbIFNraXAgXQogCiAjIHRleHRhcmVhLmFuaW1h
dGUgaXMgbm90IHN1cHBvcnRlZAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXVpLTMvY2FyZXQtY29sb3ItMDE4Lmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2Nh
Y2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0
ZWQudHh0CmluZGV4IDA3NjE2NTBkYmM0MWU4YmQxNWU2NGU0N2UzMDhmMmRjMzJhYjllNWIuLjM4
ZTk1MjM5N2MzNDYxOTI4ZjFlZjFlZGY3YWJlZTMwY2UzODEyNzcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2Nh
Y2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zZXJ2aWNld29ya2VyL2NyZWRlbnRpYWxzLmh0dHBzLWV4
cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBDYWNoZSBBUEkgbWF0Y2hpbmcgaW5j
bHVkZXMgY3JlZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlIEFQ
SSBtYXRjaGluZyBpbmNsdWRlcyBjcmVkZW50aWFscyBhc3NlcnRfdW5yZWFjaGVkOiB1bnJlZ2lz
dGVyIHNob3VsZCBub3QgZmFpbDogc2VydmljZVdvcmtlci5nZXRSZWdpc3RyYXRpb24oKSBpcyBu
b3QgeWV0IGltcGxlbWVudGVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0
cHMtZXhwZWN0ZWQudHh0CmluZGV4IGZkZWFmZTkzNjZlOWY1OTk5NDdkMjAzNTlhZjBhNTc0YjNj
MmQ2ZjMuLjcxZjVlNzBkMmIyYzM2ZDU1NzRiNTMxMWFiMGNhZTZlYmM2OTBmZWQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UtbWF0
Y2guaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC00LDggKzQsOCBAQCBGQUlMIENhY2hlU3RvcmFnZU1h
dGNoIGZyb20gb25lIG9mIG1hbnkgY2FjaGVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbgogRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBmcm9tIG9uZSBvZiBtYW55IGNhY2hlcyBieSBu
YW1lIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgogRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBhIHN0
cmluZyByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgogRkFJTCBDYWNoZVN0b3JhZ2VN
YXRjaCBhIEhFQUQgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVT
dG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNoZWQgZW50cnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGVzIGF2YWlsYWJsZSBidXQgbmFt
ZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK1BBU1MgQ2FjaGVTdG9yYWdlTWF0
Y2ggd2l0aCBubyBjYWNoZWQgZW50cnkgCitQQVNTIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8g
Y2FjaGVzIGF2YWlsYWJsZSBidXQgbmFtZSBwcm92aWRlZCAKIEZBSUwgQ2FjaGVTdG9yYWdlTWF0
Y2ggd2l0aCBlbXB0eSBjYWNoZSBuYW1lIHByb3ZpZGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgogRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBzdXBwb3J0cyBpZ25vcmVTZWFyY2ggcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCiBGQUlMIENhY2hlLm1hdGNoIHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2lu
ZG93L2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93
aW5kb3cvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMDAxZTZlMzNiZDdh
YjM0ZWE3MzVhY2FkZjk0MjBjYWUxMDgyOWI2MS4uMWFkNDYwMDI4ZGE3NjllYzE5ODE0ZTMxMGFk
MGEwMDc4ZTNlNzc5ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUt
c3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cv
Y2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTQsOSArNCw5IEBAIEZBSUwgQ2Fj
aGVTdG9yYWdlLmRlbGV0ZSBkb29tcywgYnV0IGRvZXMgbm90IGRlbGV0ZSBpbW1lZGlhdGVseSBw
cm9taXNlX3Rlc3Q6IFVuCiBGQUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggYW4gZW1wdHkgbmFt
ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIFBBU1MgQ2FjaGVTdG9yYWdlLm9wZW4gd2l0aCBu
byBhcmd1bWVudHMgCiBGQUlMIENhY2hlU3RvcmFnZS5oYXMgd2l0aCBleGlzdGluZyBjYWNoZSBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLmhhcyB3aXRoIG5vbmV4
aXN0ZW50IGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorUEFTUyBDYWNoZVN0b3JhZ2Uu
aGFzIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgCiBGQUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGgg
ZXhpc3RpbmcgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBGQUlMIENhY2hlU3RvcmFn
ZS5kZWxldGUgd2l0aCBleGlzdGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZB
SUwgQ2FjaGVTdG9yYWdlLmRlbGV0ZSB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgorUEFTUyBDYWNoZVN0b3JhZ2UuZGVsZXRlIHdpdGggbm9uZXhpc3RlbnQg
Y2FjaGUgCiBGQUlMIENhY2hlU3RvcmFnZSBuYW1lcyBhcmUgRE9NU3RyaW5ncyBub3QgVVNWU3Ry
aW5ncyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9j
YWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4
dAppbmRleCBmZGVhZmU5MzY2ZTlmNTk5OTQ3ZDIwMzU5YWYwYTU3NGIzYzJkNmYzLi43MWY1ZTcw
ZDJiMmMzNmQ1NTc0YjUzMTFhYjBjYWU2ZWJjNjkwZmVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1z
dG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVj
dGVkLnR4dApAQCAtNCw4ICs0LDggQEAgRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBmcm9tIG9uZSBv
ZiBtYW55IGNhY2hlcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24KIEZBSUwgQ2Fj
aGVTdG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2YgbWFueSBjYWNoZXMgYnkgbmFtZSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKIEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggYSBzdHJpbmcgcmVxdWVzdCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggYSBIRUFEIHJl
cXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdp
dGggbm8gY2FjaGVkIGVudHJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0
b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlcyBhdmFpbGFibGUgYnV0IG5hbWUgcHJvdmlkZWQgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCitQQVNTIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2Fj
aGVkIGVudHJ5IAorUEFTUyBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlcyBhdmFpbGFi
bGUgYnV0IG5hbWUgcHJvdmlkZWQgCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggZW1wdHkg
Y2FjaGUgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIEZBSUwgQ2FjaGVT
dG9yYWdlTWF0Y2ggc3VwcG9ydHMgaWdub3JlU2VhcmNoIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgogRkFJTCBDYWNoZS5tYXRjaCBzdXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9y
YWdlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0
b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDAwMWU2ZTMzYmQ3YWIzNGVhNzM1YWNhZGY5
NDIwY2FlMTA4MjliNjEuLjFhZDQ2MDAyOGRhNzY5ZWMxOTgxNGUzMTBhZDBhMDA3OGUzZTc3OWUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2UuaHR0cHMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2Uu
aHR0cHMtZXhwZWN0ZWQudHh0CkBAIC00LDkgKzQsOSBAQCBGQUlMIENhY2hlU3RvcmFnZS5kZWxl
dGUgZG9vbXMsIGJ1dCBkb2VzIG5vdCBkZWxldGUgaW1tZWRpYXRlbHkgcHJvbWlzZV90ZXN0OiBV
bgogRkFJTCBDYWNoZVN0b3JhZ2Uub3BlbiB3aXRoIGFuIGVtcHR5IG5hbWUgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCiBQQVNTIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggbm8gYXJndW1lbnRzIAog
RkFJTCBDYWNoZVN0b3JhZ2UuaGFzIHdpdGggZXhpc3RpbmcgY2FjaGUgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZS5oYXMgd2l0aCBub25leGlzdGVudCBjYWNoZSBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK1BBU1MgQ2FjaGVTdG9yYWdlLmhhcyB3aXRoIG5vbmV4
aXN0ZW50IGNhY2hlIAogRkFJTCBDYWNoZVN0b3JhZ2Uub3BlbiB3aXRoIGV4aXN0aW5nIGNhY2hl
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgogRkFJTCBDYWNoZVN0b3JhZ2UuZGVsZXRlIHdpdGgg
ZXhpc3RpbmcgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFn
ZS5kZWxldGUgd2l0aCBub25leGlzdGVudCBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
K1BBU1MgQ2FjaGVTdG9yYWdlLmRlbGV0ZSB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIAogRkFJTCBD
YWNoZVN0b3JhZ2UgbmFtZXMgYXJlIERPTVN0cmluZ3Mgbm90IFVTVlN0cmluZ3MgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317937</attachid>
            <date>2017-08-11 10:53:59 -0700</date>
            <delta_ts>2017-08-11 11:59:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175455-20170811105358.patch</filename>
            <type>text/plain</type>
            <size>121340</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNjA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2ZlMTZmNTQzMWVlNDZk
YTM0MDg3NWI5NWQ5MzlhNTVkZGU3ZDcwMC4uYWNkZGQ3YWJhNTliOGIyZGZjM2MzNmQ4NTNlNWRk
MTY0YjY5NmYwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1MyBAQAorMjAxNy0wOC0xMCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRk
aW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5
IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgIEFkZGluZyBhIENhY2hlU3RvcmFnZVByb3ZpZGVy
IGFic3RyYWN0aW9uIHRoYXQgY3JlYXRlcyBhIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uCisgICAg
ICAgIFRoZSBDYWNoZVN0b3JhZ2VQcm92aWRlciBpcyBhY2Nlc3NlZCBmcm9tIHRoZSBwYWdlIGZv
ciBEb2N1bWVudCBjYWxscy4KKyAgICAgICAgVGhlIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24gaXMg
cmVzcG9uc2libGUgdG8gaW1wbGVtZW50IHRoZSByZWFkL3dyaXRlIG9wZXJhdGlvbnMgb24gdGhl
IGNhY2hlIGRhdGFiYXNlLgorICAgICAgICBBdCB0aGUgbW9tZW50LCBpdCBkb2VzIG5vdGhpbmcu
CisKKyAgICAgICAgSW1wbGVtZW50aW5nIENhY2hlU3RvcmFnZSBBUElzIGFuZCBDYWNoZSBBUElz
IGJhc2VkIG9uIHRoZSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uIGV4Y2VwdCBmb3IgQ2FjaGUgYWRk
IGFuZCBhZGRBbGwgd2hpY2ggd2lsbCBiZSBpbXBsZW1lbnRlZCBsYXRlciBvbi4KKworICAgICAg
ICBBZGRpbmcgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlLm1hdGNoIGZ1bmN0aW9uIGFzIGEgSlMg
YnVpbHQtaW4gYXMgdGhpcyBpbnZvbHZlcyBwcm9taXNlcyBhbmQgYWxsb3dzIGEgY2xlYXJlciBp
bXBsZW1lbnRhdGlvbi4KKyAgICAgICAgQWRkaW5nIHZhcmlvdXMgYWNjZXNzb3JzIGFuZCBjb25z
dHJ1Y3RvcnMgZm9yIEZldGNoIGNvbnN0cnVjdHMgYXMgbmVlZGVkIGJ5IHRoZSBDYWNoZSBBUEkg
aW1wbGVtZW50YXRpb24uCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OkNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
Ojp+Q2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6Om9yaWdpbiBjb25zdCk6CisgICAg
ICAgIENvbXB1dGluZyB0aGUgY2FjaGUgb3JpZ2luIHRoYXQgaXMgcGFzc2VkIHRvIHRoZSBDYWNo
ZVN0b3JhZ2VDb25uZWN0aW9uLgorICAgICAgICBUaGUgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbiBp
cyBhIGdlbmVyaWMgY29ubmVjdGlvbiBhbmQgbm90IHRpZWQgdG8gYW55IGRvY3VtZW50L2NvbnRl
eHQuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6bWF0Y2gpOiBJbXBsZW1lbnRhdGlvbiBvZiBo
dHRwczovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEvI2NhY2hlLW1hdGNoLgorICAg
ICAgICBSZWRpcmVjdCB0byBtYXRjaEFsbCBhcyBwZXIgc3BlYy4KKyAgICAgICAgKFdlYkNvcmU6
OkNhY2hlOjptYXRjaEFsbCk6IEltcGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtbWF0Y2hBbGwuCisgICAgICAgIENoZWNrcyBmb3Ig
cmVxdWVzdCBhcyBwZXIgc3BlYy4gVGhlbiBlaXRoZXIgcmVmcmVzaCB0aGUgcmVxdWVzdCB0byBy
ZXNwb25zZSBtYXAgYW5kIHJldHVybiBhbGwgcmVzcG9uc2VzLgorICAgICAgICBPciBjYWxsIHRo
ZSBxdWVyeSBjYWNoZSBhbGdvcml0aG0gYW5kIHJldHVybiBjb3BpZXMgb2YgdGhlIHJlc3BvbnNl
cyAodXNpbmcgY2xvbmUpLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnB1dCk6CisgICAgICAg
IENoZWNrIHRoZSByZXF1ZXN0IGFuZCByZXNwb25zZSBhcyBwZXIgc3BlYy4KKyAgICAgICAgQWRk
IHRlbXBvcmFyeSByZWplY3Rpb24gY2FzZXMgKGJlaW5nIGxvYWRlZCByZXNwb25zZXMsIHJlc3Bv
bnNlcyB3aXRoIFJlYWRhYmxlU3RyZWFtKSBhcyB0aGVyZSBpcyBubyBzdXBwb3J0IGZvciB0aGVt
IHJpZ2h0IG5vdy4KKyAgICAgICAgQ2FsbCB0aGUgYmF0Y2ggcHV0IG9wZXJhdGlvbi4KKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlOjpyZW1vdmUpOgorICAgICAgICBDaGVjayB0aGUgcmVxdWVzdCBh
bmQgcmVzcG9uc2UgYXMgcGVyIHNwZWMuCisgICAgICAgIENhbGwgdGhlIGJhdGNoIGRlbGV0ZSBv
cGVyYXRpb24uCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6a2V5cyk6CisgICAgICAgIFJlZnJl
c2ggdGhlIHJlcXVlc3QgdG8gcmVzcG9uc2UgbWFwIGFuZCByZXR1cm4gY29ycmVzcG9uZGluZyBy
ZXF1ZXN0cy4KKyAgICAgICAgTWFraW5nIHN1cmUgdG8gcmV1c2UgdGhlIHNhbWUgcmVxdWVzdCBv
YmplY3RzIGFzIHBlciBzcGVjLgorICAgICAgICBBcyBwZXIgc3BlYywgdGhlIHJlcXVlc3QgdG8g
cmVzcG9uc2UgbWFwIGlzIG9yZGVyZWQuIFdlIGltcGxlbWVudCBpdCBhcyBhIFZlY3Rvci4KKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlOjpyZWZyZXNoUmVxdWVzdFRvUmVzcG9uc2VNYXApOgorICAg
ICAgICBVc2UgdGhlIGNhY2hlIHN0b3JhZ2UgY29ubmVjdGlvbiB0byBnZXQgYW4gdXAtdG8tZGF0
ZSBsaXN0IG9mIGNhY2hlZCByZWNvcmRzLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnF1ZXJ5
Q2FjaGVNYXRjaCk6CisgICAgICAgIEltcGxlbWVudHMgdGhlIG1hdGNoIGFsZ29yaXRobSBkZWZp
bmVkIGluIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jcXVlcnktY2Fj
aGUtYWxnb3JpdGhtLgorICAgICAgICBUaGlzIGlzIHNwbGl0IGZvciBxdWVyeUNhY2hlIGFzIGNh
Y2hlIHN0b3JhZ2UgZW5naW5lIHdpbGwgbmVlZCB0byB1c2UgaXQgd2hlbiBpbXBsZW1lbnRpbmcg
dGhlIGRlbGV0ZSBvcGVyYXRpb24uCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6cXVlcnlDYWNo
ZSk6CisgICAgICAgIEZ1bGwgaW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93d3cudzMub3JnL1RS
L3NlcnZpY2Utd29ya2Vycy0xLyNxdWVyeS1jYWNoZS1hbGdvcml0aG0gd2l0aCBubyB0YXJnZXRT
dG9yYWdlIGFyZ3VtZW50LgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnF1ZXJ5Q2FjaGVXaXRo
VGFyZ2V0U3RvcmFnZSk6CisgICAgICAgIEZ1bGwgaW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93
d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNxdWVyeS1jYWNoZS1hbGdvcml0aG0gd2l0
aCBhIHByb3ZpZGVkIHRhcmdldFN0b3JhZ2UgYXJndW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpD
YWNoZTo6YmF0Y2hEZWxldGVPcGVyYXRpb24pOgorICAgICAgICBJbXBsZW1lbnRhdGlvbiBvZiBo
dHRwczovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEvI2JhdGNoLWNhY2hlLW9wZXJh
dGlvbnMtYWxnb3JpdGhtIGJ1dCBkZWRpY2F0ZWQgdG8gYSBkZWxldGUgb3BlcmF0aW9uLgorICAg
ICAgICBEZWxldGUgb3BlcmF0aW9uIGFyZSBhbHdheXMgZG9uZSBvbmUgYXQgYSB0aW1lLgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGU6OmJhdGNoUHV0T3BlcmF0aW9uKToKKyAgICAgICAgSW1wbGVt
ZW50YXRpb24gb2YgaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNiYXRj
aC1jYWNoZS1vcGVyYXRpb25zLWFsZ29yaXRobSBkZWRpY2F0ZWQgdG8gYSBwdXQgb3BlcmF0aW9u
LgorICAgICAgICBQdXQgb3BlcmF0aW9uIGNhbiB0YWtlIHNldmVyYWwgcmVjb3JkcyBpbiB0aGUg
Y2FzZSBvZiBhZGRBbGwuIFRoaXMgY3VycmVudGx5IHRha2VzIG9ubHkgb25lIHJlY29yZCBhcyBp
bnB1dCBhcyBuZWVkZWQgZm9yIHB1dCBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6
OkNhY2hlOjp1cGRhdGVSZXF1ZXN0VG9SZXNwb25zZU1hcCk6CisgICAgICAgIFVwZGF0ZSB0aGUg
Y2FjaGUgcmVxdWVzdCB0byByZXNwb25zZSBtYXAgYmFzZWQgb24gdGhlIHJlY29yZHMgcmV0cmll
dmVkIGZyb20gdGhlIGNhY2hlIHN0b3JhZ2UgY29ubmVjdGlvbi4KKyAgICAgICAgKiBNb2R1bGVz
L2NhY2hlL0NhY2hlLmg6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlOjpuYW1lIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hl
L0NhY2hlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2U6Om9yaWdpbiBjb25zdCk6CisgICAgICAgIENv
bXB1dGluZyB0aGUgY2FjaGUgb3JpZ2luIHRoYXQgaXMgcGFzc2VkIHRvIHRoZSBDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uLgorICAgICAgICBUaGUgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbiBpcyBhIGdl
bmVyaWMgY29ubmVjdGlvbiBhbmQgbm90IHRpZWQgdG8gYW55IGRvY3VtZW50L2NvbnRleHQuCisg
ICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2U6Omhhcyk6CisgICAgICAgIEltcGxlbWVudGF0
aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtc3Rv
cmFnZS1oYXMuCisgICAgICAgIENhbGwgdGhlIGNhY2hlIHN0b3JhZ2UgY29ubmVjdGlvbiB0byBy
ZWZyZXNoIGl0cyBjYWNoZSBtYXAuCisgICAgICAgIFRoZW4gdXNlIGl0IHRvIGNoZWNrIHdoZXRo
ZXIgYSBjYWNoZSBleGlzdHMuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2U6OnJlZnJl
c2hDYWNoZU1hcCk6CisgICAgICAgIFVzZSB0aGUgY2FjaGUgc3RvcmFnZSBjb25uZWN0aW9uIHRv
IGdldCB0aGUgbGlzdCBvZiBleGlzdGluZyBjYWNoZXMuCisgICAgICAgIChXZWJDb3JlOjpDYWNo
ZVN0b3JhZ2U6Om9wZW4pOgorICAgICAgICBJbXBsZW1lbnRhdGlvbiBvZiBodHRwczovL3d3dy53
My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEvI2NhY2hlLXN0b3JhZ2Utb3Blbi4KKyAgICAgICAg
UmVmcmVzaGluZyB0aGUgY2FjaGUgbWFwIHNvIGFzIHRvIHJldHVybiBhIHByZS1leGlzdGluZyBj
YWNoZSBpZiBhbnkuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2U6OnJlbW92ZSk6Cisg
ICAgICAgIEltcGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdv
cmtlcnMtMS8jY2FjaGUtc3RvcmFnZS1kZWxldGUtbWV0aG9kLgorICAgICAgICBSZWZyZXNoaW5n
IHRoZSBjYWNoZSBtYXAgc28gYXMgdG8gZG8gbm90aGluZyBpZiB0aGVyZSBpcyBubyBjYWNoZSB0
byByZW1vdmUuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2U6OmtleXMpOgorICAgICAg
ICBJbXBsZW1lbnRhdGlvbiBvZiBodHRwczovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJz
LTEvI2NhY2hlLXN0b3JhZ2Uta2V5cy1tZXRob2QuCisgICAgICAgIFJlZnJlc2hpbmcgdGhlIGNh
Y2hlIG1hcCBhbmQgcmV0dXJuaW4gaXRzIGtleXMuCisgICAgICAgIEFzIHBlciBzcGVjLCB0aGUg
Y2FjaGUgbWFwIGlzIG9yZGVyZWQuIFdlIGltcGxlbWVudCBpdCBhcyBhIFZlY3Rvci4KKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6Y2FjaGVNYXApOgorICAgICAgICBHZXQgdGhlIGxp
c3Qgb2YgY2FjaGUgb2JqZWN0cywgdXNlZCBhcyBhIHByaXZhdGUgYWNjZXNzb3IgZm9yIEpTIGJ1
aWx0LWlucy4KKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVTdG9yYWdlOjpDYWNoZVN0b3JhZ2UpOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvQ2FjaGVT
dG9yYWdlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5qczogQWRk
ZWQuCisgICAgICAgIChtYXRjaCk6IEltcGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9y
Zy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtbWF0Y2guCisgICAgICAgIEFzIHBlciBzcGVj
LCB1c2luZyBDYWNoZS5AbWF0Y2ggb24gZWl0aGVyIGEgc3BlY2lmaWMgY2FjaGUgb3IgYWxsIGNh
Y2hlcy4KKyAgICAgICAgSW1wbGVtZW50aW5nIGluIEpTIGJ1aWx0LWluIGlzIGEgY29udmVuaWVu
dCB3YXkgdG8gaGF2ZSBhIHNpbXBsZSBpbXBsZW1lbnRhdGlvbgorICAgICAgICB0aGF0IGVhc2ls
eSByZWxhdGVzIHRvIHRoZSBzcGVjaWZpY2F0aW9uLgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUv
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9yKToKKyAgICAgICAgKiBNb2R1
bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaDogQWRkZWQuCisgICAgICAgIE1ha2Vz
IHRoZSBsaW5rIGJldHdlZW4gV2ViIGZhY2luZyBDYWNoZSBBUEkgYW5kIHRoZSBjYWNoZSBzdG9y
YWdlIGVuZ2luZS4KKyAgICAgICAgRW52aXNpb25lZCBpbXBsZW1lbnRhdGlvbiBhcmU6CisgICAg
ICAgIC0gT25lIG1haW4gdGhyZWFkIGNvbm5lY3Rpb24gdXNlZCBieSBhbGwgZG9jdW1lbnRzIGlu
IHRoZSBnaXZlbiBwcm9jZXNzLgorICAgICAgICAtIE9uZSBjb25uZWN0aW9uIHBlciB3b3JrZXIg
dGhhdCBmb3J3YXJkcyB0aGUgY2FsbHMgdG8gdGhlIG1haW4gdGhyZWFkIGFuZCB1c2UgdGhlIG1h
aW4gdGhyZWFkIGNvbm5lY3Rpb24gYWZ0ZXJ3YXJkcy4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uOjpvcGVuKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5l
Y3Rpb246OnJlbW92ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
OjpyZWZyZXNoQ2FjaGVNYXApOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29ubmVj
dGlvbjo6cmVmcmVzaFJlcXVlc3RUb1Jlc3BvbnNlTWFwKToKKyAgICAgICAgKFdlYkNvcmU6OkNh
Y2hlU3RvcmFnZUNvbm5lY3Rpb246OmJhdGNoRGVsZXRlT3BlcmF0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmJhdGNoUHV0T3BlcmF0aW9uKToKKyAgICAg
ICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZVJlY29yZC5oOiBBZGRlZC4gQSBmZXRjaCBy
ZWNvcmQgZnJvbSB0aGUgV2ViIGZhY2luZyBjYWNoZSBBUEkgcGVyc3BlY3RpdmUuCisgICAgICAg
ICogTW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RE9NV2luZG93Q2FjaGVzOjpjYWNoZXMgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUv
V29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xv
YmFsU2NvcGVDYWNoZXM6OmZyb20pOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2Nv
cGVDYWNoZXM6OmNhY2hlcyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9Xb3JrZXJH
bG9iYWxTY29wZUNhY2hlcy5oOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGVD
YWNoZXM6Oldvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKToKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNo
L0ZldGNoQm9keU93bmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHlPd25lcjo6aXNS
ZWFkYWJsZVN0cmVhbUJvZHkgY29uc3QpOiBBZGRlZCBnZXR0ZXIgYXMgaXQgaXMgdXNlZCBieSBj
YWNoZSBBUEkuCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZldGNoSGVhZGVyczo6Y3JlYXRlKTogQWRkIGFub3RoZXIgY3JlYXRlIGFz
IHVzZWQgYnkgdGhlIGNhY2hlIEFQSS4KKyAgICAgICAgKFdlYkNvcmU6OkZldGNoSGVhZGVyczo6
Z3VhcmQgY29uc3QpOiBBZGRlZCBnZXR0ZXIgYW5kIElQQyBzZXJpYWxpemVyIGFzIHRoaXMgaXMg
c29tZXRoaW5nIHRoYXQgd2lsbCBiZSBzdG9yZWQgYnkgdGhlIGNhY2hlIGVuZ2luZS4KKyAgICAg
ICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZl
dGNoTG9hZGVyOjpzdGFydCk6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6YnVpbGRPcHRpb25zKTogSW4gY2FzZSBGZXRjaFJlcXVl
c3Q6OmNyZWF0ZSBpcyBjYWxsZWQgZnJvbSBDKyssIHRoZXJlIGlzIG5vIG5lZWQgdG8gc2V0IGlu
aXQud2luZG93IHRvIGEgbnVsbCB2YWx1ZS4KKyAgICAgICAgQWRkIGEgY2hlY2sgc28gdGhhdCBu
byB2YWx1ZSBhdCBhbGwgaXMgdGhlIHNhbWUgYXMgYSB1bmxsL3VuZGVmaW5lZCB2YWx1ZS4KKyAg
ICAgICAgKFdlYkNvcmU6OkZldGNoUmVxdWVzdDo6cmVzb3VyY2VSZXF1ZXN0IGNvbnN0KToKKyAg
ICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5oOgorICAgICAgICAqIE1vZHVsZXMv
ZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaFJlc3BvbnNl
Ojpib2R5Rm9ySW50ZXJuYWxSZXNwb25zZSk6IENhY2hlIEFQSSBjYW4gY29uc3VtZSB0aGUgcmVz
cG9uc2UgYm9keS4gQWRkIHRoaXMgYWNjZXNzb3IgZm9yIHRoYXQgcHVycG9zZS4KKyAgICAgICAg
KiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0
aW5OYW1lcy5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck92ZXJsYXk6Om92ZXJsYXlQYWdlKToKKyAgICAgICAg
KiBwYWdlL0NhY2hlU3RvcmFnZVByb3ZpZGVyLmg6IEFkZGVkLgorICAgICAgICBJbnRlcmZhY2Ug
dG8gY3JlYXRlIG1haW4gdGhyZWFkIGNhY2hlIHN0b3JhZ2UgY29ubmVjdGlvbiBmb3IgdGhlIGdp
dmVuIHBhZ2UuCisgICAgICAgIFRoZXJlIHdpbGwgYmUgb25lIHByb3ZpZGVyIGZvciBlYWNoIHBy
b2Nlc3MuCisgICAgICAgIFBhc3NpbmcgYSBzZXNzaW9uSUQgc28gdGhhdCB3ZSB3aWxsIGNyZWF0
ZSBhIGNvbm5lY3Rpb24gcGVyIHNlc3Npb24uCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBhZ2U6OlBhZ2UpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6UGFnZTo6Y2FjaGVTdG9yYWdlUHJvdmlkZXIpOgorICAgICAgICAqIHBh
Z2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbmZpZ3Vy
YXRpb246OlBhZ2VDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0
aW9uLmg6CisgICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0ltYWdlOjpkYXRhQ2hhbmdlZCk6CisKIDIwMTctMDgtMTAgIFNhbSBXZWluaWcg
IDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBXVEY6OkZ1bmN0aW9uIGRvZXMgbm90IGFsbG93
IGZvciByZWZlcmVuY2UgLyBub24tZGVmYXVsdCBjb25zdHJ1Y3RpYmxlIHJldHVybiB0eXBlcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCA1MDIxMzJjMDgwOGU2M2U2ZjEzZDcwZWJlMDM2M2Q4ZDk2YWRkNjA1Li4zZWMz
ZjJkZGRhOGMxZDQ2NmNmZmY5YWQ5MGIxNmFhMjJhZjEzYzRhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE5IEBACisyMDE3LTA4LTEwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbQ2FjaGUgQVBJXSBBZGRpbmcgZ2VuZXJpYyBzdXBwb3J0IGZvciBDYWNoZVN0b3Jh
Z2UgYW5kIENhY2hlIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3NTQ1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9DYWNoZS9XZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oOiBBZGRlZC4KKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6
Om1fY3B1TGltaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OldlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpjYWNoZVN0b3Jh
Z2VQcm92aWRlcik6CisKIDIwMTctMDgtMTAgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBXVEY6OkZ1bmN0aW9uIGRvZXMgbm90IGFsbG93IGZvciByZWZlcmVuY2UgLyBu
b24tZGVmYXVsdCBjb25zdHJ1Y3RpYmxlIHJldHVybiB0eXBlcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hh
bmdlTG9nCmluZGV4IDU4NTJkYWIxMjNmNmFlMjJmNjE1NWU3NjY3NGQyN2EyMzNkY2EyZGUuLmIx
OTFhNWQ2NzkwZDRjYzMzOGRjOTZhY2FlZmE4NjBiZjFlMjE2ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0wOC0xMCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRkaW5nIGdlbmVyaWMg
c3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToK
KyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdy
b3VwTmFtZTpdKToKKwogMjAxNy0wOC0xMCAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJv
QGlnYWxpYS5jb20+CiAKICAgICAgICAgUmVtb3ZlIEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNjQ4MTYzMWU4ZjZhZDVhMWQxZjZmZjE5MGFkODYzZTQ3
ZDM1NTE0My4uMTk2ZDQ1MDNiZjBkM2JmOGMyZjM3ZWI0M2VkZWZkOGYzMzVjOTVhNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKQEAgLTg5MSw2ICs4OTEsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAK
ICAgICBNb2R1bGVzL2NhY2hlL0NhY2hlLmNwcAogICAgIE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9y
YWdlLmNwcAorICAgIE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAKICAg
ICBNb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHAKICAgICBNb2R1bGVzL2NhY2hlL1dv
cmtlckdsb2JhbFNjb3BlQ2FjaGVzLmNwcAogCkBAIC0zODMzLDYgKzM4MzQsNyBAQCBhZGRfZGVw
ZW5kZW5jaWVzKFdlYkNvcmVUZXN0U3VwcG9ydEJpbmRpbmdzIFdlYkNvcmVEZXJpdmVkU291cmNl
cykKICMgV2ViQ29yZSBKUyBCdWlsdGlucwogCiBzZXQoV2ViQ29yZV9CVUlMVElOU19TT1VSQ0VT
CisgICAgJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuanMKICAgICAk
e1dFQkNPUkVfRElSfS9Nb2R1bGVzL2ZldGNoL0ZldGNoSW50ZXJuYWxzLmpzCiAgICAgJHtXRUJD
T1JFX0RJUn0vTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmpzCiAgICAgJHtXRUJDT1JFX0RJ
Un0vTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JVc2VyTWVkaWEuanMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCmluZGV4IDhkNTY0ZTY3NzBiZmQ4NDQyZDU3OGQ1NGMyYjk4MWZiODVl
MWI3ZjguLjdlMDUzOGM0MTBkM2YzNGI1NWMxMDRlMTc3MDcwYWFjMDQ4M2MzYTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTM5Nyw2ICsxMzk3LDcgQEAgQ29tbWFuZExpbmVB
UElNb2R1bGVTb3VyY2UuaCA6IENvbW1hbmRMaW5lQVBJTW9kdWxlU291cmNlLmpzCiAjIFdlYkNv
cmUgSlMgQnVpbHRpbnMKIAogV2ViQ29yZV9CVUlMVElOU19TT1VSQ0VTID0gXAorICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuanMgXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9mZXRjaC9GZXRjaEludGVybmFscy5qcyBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoUmVzcG9uc2UuanMgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVh
bS9OYXZpZ2F0b3JVc2VyTWVkaWEuanMgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9jYWNoZS9DYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hl
LmNwcAppbmRleCBlMTlhZjU1MDI5NTY0ZDk1NzQ1NDJiM2ViMzM0ODQzMjM4M2Y2N2Q1Li5iOTMw
ZDI1ZmQ3OWZjNWRmYTZjMzBlNTBhZjJmMjA4NTE5OTViMWYxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2NhY2hlL0NhY2hlLmNwcApAQCAtMjYsMTYgKzI2LDg3IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiQ2FjaGUuaCIKIAorI2luY2x1ZGUgIkNhY2hlUXVlcnlPcHRpb25zLmgi
CisjaW5jbHVkZSAiRmV0Y2hSZXNwb25zZS5oIgorI2luY2x1ZGUgIkpTRmV0Y2hSZXF1ZXN0Lmgi
CisjaW5jbHVkZSAiSlNGZXRjaFJlc3BvbnNlLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9u
Q29udGV4dC5oIgorI2luY2x1ZGUgIlVSTC5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXZv
aWQgQ2FjaGU6Om1hdGNoKFJlcXVlc3RJbmZvJiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9w
dGlvbnM+JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK0NhY2hlOjpDYWNoZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBTdHJpbmcmJiBuYW1lLCBSZWY8Q2FjaGVT
dG9yYWdlQ29ubmVjdGlvbj4mJiBjb25uZWN0aW9uKQorICAgIDogQWN0aXZlRE9NT2JqZWN0KCZj
b250ZXh0KQorICAgICwgbV9uYW1lKFdURk1vdmUobmFtZSkpCisgICAgLCBtX2Nvbm5lY3Rpb24o
V1RGTW92ZShjb25uZWN0aW9uKSkKIHsKLSAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9uIHsg
VHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgc3VzcGVu
ZElmTmVlZGVkKCk7CiB9CiAKLXZvaWQgQ2FjaGU6Om1hdGNoQWxsKHN0ZDo6b3B0aW9uYWw8UmVx
dWVzdEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIE1hdGNoQWxs
UHJvbWlzZSYmIHByb21pc2UpCitDYWNoZTo6fkNhY2hlKCkKIHsKLSAgICBwcm9taXNlLnJlamVj
dChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9
KTsKK30KKworU3RyaW5nIENhY2hlOjpvcmlnaW4oKSBjb25zdAoreworICAgIC8vIEZJWE1FOiBE
byB3ZSByZWFsbHkgbmVlZCB0byBjaGVjayBmb3Igb3JpZ2luIGJlaW5nIG51bGw/CisgICAgYXV0
byogb3JpZ2luID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpID8gc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLT5zZWN1cml0eU9yaWdpbigpIDogbnVsbHB0cjsKKyAgICByZXR1cm4gb3JpZ2luID8g
b3JpZ2luLT50b1N0cmluZygpIDogU3RyaW5nKCk7Cit9CisKK3ZvaWQgQ2FjaGU6Om1hdGNoKFJl
cXVlc3RJbmZvJiYgaW5mbywgQ2FjaGVRdWVyeU9wdGlvbnMmJiBvcHRpb25zLCBSZWY8RGVmZXJy
ZWRQcm9taXNlPiYmIHByb21pc2UpCit7CisgICAgbWF0Y2hBbGwoV1RGTW92ZShpbmZvKSwgV1RG
TW92ZShvcHRpb25zKSwgV1RGTW92ZShwcm9taXNlKSwgTWF0Y2hUeXBlOjpPbmx5Rmlyc3QpOwor
fQorCit2b2lkIENhY2hlOjptYXRjaEFsbChzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZvPiYmIGlu
Zm8sIENhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBw
cm9taXNlLCBNYXRjaFR5cGUgbWF0Y2hUeXBlKQoreworICAgIFJlZlB0cjxGZXRjaFJlcXVlc3Q+
IHJlcXVlc3Q7CisgICAgaWYgKGluZm8pIHsKKyAgICAgICAgaWYgKFdURjo6aG9sZHNfYWx0ZXJu
YXRpdmU8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8udmFsdWUoKSkpIHsKKyAgICAgICAgICAg
IHJlcXVlc3QgPSBXVEY6OmdldDxSZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4oaW5mby52YWx1ZSgpKS5y
ZWxlYXNlTm9uTnVsbCgpOworICAgICAgICAgICAgaWYgKHJlcXVlc3QtPm1ldGhvZCgpICE9ICJH
RVQiICYmICFvcHRpb25zLmlnbm9yZU1ldGhvZCkgeworICAgICAgICAgICAgICAgIGlmIChtYXRj
aFR5cGUgPT0gTWF0Y2hUeXBlOjpPbmx5Rmlyc3QpIHsKKyAgICAgICAgICAgICAgICAgICAgcHJv
bWlzZS0+cmVzb2x2ZSgpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIHByb21pc2UtPnJlc29sdmU8SURMU2VxdWVuY2U8SURM
SW50ZXJmYWNlPEZldGNoUmVzcG9uc2U+Pj4oVmVjdG9yPFJlZjxGZXRjaFJlc3BvbnNlPj4geyB9
KTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICBpZiAoVU5MSUtFTFkoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkp
CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgcmVxdWVzdCA9IEZldGNoUmVx
dWVzdDo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFdURk1vdmUoaW5mby52YWx1
ZSgpKSwgeyB9KS5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKKyAgICAgICAgfQorICAgIH0KKworICAg
IGlmICghcmVxdWVzdCkgeworICAgICAgICBBU1NFUlQobWF0Y2hUeXBlID09IE1hdGNoVHlwZTo6
QWxsKTsKKyAgICAgICAgcmVmcmVzaFJlcXVlc3RUb1Jlc3BvbnNlTWFwKFt0aGlzLCBwcm9taXNl
ID0gV1RGTW92ZShwcm9taXNlKV0oKSB7CisgICAgICAgICAgICBWZWN0b3I8UmVmPEZldGNoUmVz
cG9uc2U+PiByZXNwb25zZXM7CisgICAgICAgICAgICByZXNwb25zZXMucmVzZXJ2ZUluaXRpYWxD
YXBhY2l0eShtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwLnNpemUoKSk7CisgICAgICAgICAgICBmb3Ig
KGF1dG8mIHJlY29yZCA6IG1fcmVxdWVzdFRvUmVzcG9uc2VNYXApCisgICAgICAgICAgICAgICAg
cmVzcG9uc2VzLnVuY2hlY2tlZEFwcGVuZChyZWNvcmQucmVzcG9uc2UtPmNsb25lRm9ySlMoKSk7
CisgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElETFNlcXVlbmNlPElETEludGVyZmFjZTxG
ZXRjaFJlc3BvbnNlPj4+KHJlc3BvbnNlcyk7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm47
CisgICAgfQorICAgIHF1ZXJ5Q2FjaGUocmVxdWVzdC5yZWxlYXNlTm9uTnVsbCgpLCBXVEZNb3Zl
KG9wdGlvbnMpLCBbbWF0Y2hUeXBlLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oY29uc3Qg
VmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4mIHJlY29yZHMpIG11dGFibGUgeworICAgICAgICBp
ZiAobWF0Y2hUeXBlID09IE1hdGNoVHlwZTo6T25seUZpcnN0KSB7CisgICAgICAgICAgICBpZiAo
cmVjb3Jkcy5zaXplKCkpIHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElETElu
dGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4ocmVjb3Jkc1swXS5yZXNwb25zZS5nZXQoKSk7CisgICAg
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcHJvbWlzZS0+
cmVzb2x2ZSgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgVmVj
dG9yPFJlZjxGZXRjaFJlc3BvbnNlPj4gcmVzcG9uc2VzOworICAgICAgICByZXNwb25zZXMucmVz
ZXJ2ZUluaXRpYWxDYXBhY2l0eShyZWNvcmRzLnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0byYg
cmVjb3JkIDogcmVjb3JkcykKKyAgICAgICAgICAgIHJlc3BvbnNlcy51bmNoZWNrZWRBcHBlbmQo
cmVjb3JkLnJlc3BvbnNlLT5jbG9uZUZvckpTKCkpOworICAgICAgICBwcm9taXNlLT5yZXNvbHZl
PElETFNlcXVlbmNlPElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4+KHJlc3BvbnNlcyk7Cisg
ICAgfSk7CiB9CiAKIHZvaWQgQ2FjaGU6OmFkZChSZXF1ZXN0SW5mbyYmLCBET01Qcm9taXNlRGVm
ZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQpAQCAtNDgsMTkgKzExOSwyNzYgQEAgdm9pZCBDYWNoZTo6
YWRkQWxsKFZlY3RvcjxSZXF1ZXN0SW5mbz4mJiwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYg
cHJvbWlzZSkKICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJ
TGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKIH0KIAotdm9pZCBDYWNoZTo6cHV0KFJlcXVl
c3RJbmZvJiYsIFJlZjxGZXRjaFJlc3BvbnNlPiYmLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4m
JiBwcm9taXNlKQordm9pZCBDYWNoZTo6cHV0KFJlcXVlc3RJbmZvJiYgaW5mbywgUmVmPEZldGNo
UmVzcG9uc2U+JiYgcmVzcG9uc2UsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2Up
CiB7Ci0gICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVy
YWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgUmVmUHRyPEZldGNoUmVxdWVzdD4gcmVxdWVz
dDsKKyAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4o
aW5mbykpIHsKKyAgICAgICAgcmVxdWVzdCA9IFdURjo6Z2V0PFJlZlB0cjxGZXRjaFJlcXVlc3Q+
PihpbmZvKS5yZWxlYXNlTm9uTnVsbCgpOworICAgICAgICBpZiAocmVxdWVzdC0+bWV0aG9kKCkg
IT0gIkdFVCIpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVF
cnJvciwgQVNDSUlMaXRlcmFsKCJSZXF1ZXN0IG1ldGhvZCBpcyBub3QgR0VUIikgfSk7CisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoVU5M
SUtFTFkoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkpCisgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLCBXVEZNb3ZlKGluZm8pLCB7IH0pLnJlbGVhc2VSZXR1cm5WYWx1ZSgpOworICAgIH0K
KworICAgIGlmICghcHJvdG9jb2xJc0luSFRUUEZhbWlseShyZXF1ZXN0LT51cmwoKSkpIHsKKyAg
ICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwo
IlJlcXVlc3QgdXJsIGlzIG5vdCBIVFRQL0hUVFBTIikgfSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBhdXRvIHZhcnlWYWx1ZSA9IHJlc3BvbnNlLT5oZWFkZXJzKCkuaW50ZXJuYWxI
ZWFkZXJzKCkuZ2V0KFdlYkNvcmU6OkhUVFBIZWFkZXJOYW1lOjpWYXJ5KTsKKyAgICBWZWN0b3I8
U3RyaW5nPiB2YXJ5aW5nSGVhZGVyTmFtZXM7CisgICAgYm9vbCBoYXNWYXJ5SGVhZGVyU3RhciA9
IGZhbHNlOworICAgIHZhcnlWYWx1ZS5zcGxpdCgnLCcsIGZhbHNlLCBbJl0oY29uc3QgU3RyaW5n
VmlldyYgdmlldykgeworICAgICAgICBpZiAoIWhhc1ZhcnlIZWFkZXJTdGFyICYmIHZpZXcgPT0g
IioiKQorICAgICAgICAgICAgaGFzVmFyeUhlYWRlclN0YXIgPSB0cnVlOworICAgIH0pOworCisg
ICAgaWYgKGhhc1ZhcnlIZWFkZXJTdGFyKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2Vw
dGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJSZXNwb25zZSBoYXMgYSAnKicgVmFyeSBo
ZWFkZXIgdmFsdWUiKSB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChyZXNw
b25zZS0+aXNEaXN0dXJiZWQoKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24g
eyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiUmVzcG9uc2UgaXMgZGlzdHVyYmVkIG9yIGxvY2tl
ZCIpIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gRklYTUU6IEFkZCBzdXBw
b3J0IGZvciBiZWluZyBsb2FkZWQgcmVzcG9uc2VzLgorICAgIGlmIChyZXNwb25zZS0+aXNMb2Fk
aW5nKCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVk
RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQ2FjaGluZyBhIGxvYWRpbmcgUmVzcG9uc2UgaXMgbm90IHll
dCBzdXBwb3J0ZWQiKSB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICAvLyBGSVhNRTog
QWRkIHN1cHBvcnQgZm9yIFJlYWRhYmxlU3RyZWFtLgorICAgIGlmIChyZXNwb25zZS0+aXNSZWFk
YWJsZVN0cmVhbUJvZHkoKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBO
b3RTdXBwb3J0ZWRFcnJvciwgQVNDSUlMaXRlcmFsKCJDYWNoaW5nIGEgUmVzcG9uc2Ugd2l0aCBk
YXRhIHN0b3JlZCBpbiBhIFJlYWRhYmxlU3RyZWFtIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIikgfSk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBiYXRjaFB1dE9wZXJhdGlvbigqcmVxdWVz
dCwgcmVzcG9uc2UuZ2V0KCksIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICBpZiAoZXJyb3Ig
IT0gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3I6Ok5vbmUpIHsKKyAgICAgICAgICAgIHBy
b21pc2UucmVqZWN0KENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlvbkZyb21FcnJvcihl
cnJvcikpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHByb21pc2Uu
cmVzb2x2ZSgpOworICAgIH0pOwogfQogCi12b2lkIENhY2hlOjpyZW1vdmUoUmVxdWVzdEluZm8m
Jiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgRE9NUHJvbWlzZURlZmVycmVk
PElETEJvb2xlYW4+JiYgcHJvbWlzZSkKK3ZvaWQgQ2FjaGU6OnJlbW92ZShSZXF1ZXN0SW5mbyYm
IGluZm8sIENhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywgRE9NUHJvbWlzZURlZmVycmVkPElE
TEJvb2xlYW4+JiYgcHJvbWlzZSkKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBU
eXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICBSZWZQdHI8
RmV0Y2hSZXF1ZXN0PiByZXF1ZXN0OworICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPFJl
ZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvKSkgeworICAgICAgICByZXF1ZXN0ID0gV1RGOjpnZXQ8
UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8pLnJlbGVhc2VOb25OdWxsKCk7CisgICAgICAgIGlm
IChyZXF1ZXN0LT5tZXRob2QoKSAhPSAiR0VUIiAmJiAhb3B0aW9ucy5pZ25vcmVNZXRob2QpIHsK
KyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShmYWxzZSk7CisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoVU5MSUtFTFkoIXNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKSkpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIHJlcXVlc3Qg
PSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBXVEZNb3Zl
KGluZm8pLCB7IH0pLnJlbGVhc2VSZXR1cm5WYWx1ZSgpOworICAgIH0KKworICAgIGJhdGNoRGVs
ZXRlT3BlcmF0aW9uKCpyZXF1ZXN0LCBXVEZNb3ZlKG9wdGlvbnMpLCBbcHJvbWlzZSA9IFdURk1v
dmUocHJvbWlzZSldKGJvb2wgZGlkRGVsZXRlLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJv
ciBlcnJvcikgbXV0YWJsZSB7CisgICAgICAgIGlmIChlcnJvciAhPSAgQ2FjaGVTdG9yYWdlQ29u
bmVjdGlvbjo6RXJyb3I6Ok5vbmUpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KENhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlvbkZyb21FcnJvcihlcnJvcikpOworICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHByb21pc2UucmVzb2x2ZShkaWREZWxldGUp
OworICAgIH0pOwogfQogCi12b2lkIENhY2hlOjprZXlzKHN0ZDo6b3B0aW9uYWw8UmVxdWVzdElu
Zm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIEtleXNQcm9taXNlJiYg
cHJvbWlzZSkKK3ZvaWQgQ2FjaGU6OmtleXMoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4mJiBp
bmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIEtleXNQcm9taXNlJiYgcHJvbWlzZSkK
IHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJh
bCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICBSZWZQdHI8RmV0Y2hSZXF1ZXN0PiByZXF1ZXN0
OworICAgIGlmIChpbmZvKSB7CisgICAgICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPFJl
ZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvLnZhbHVlKCkpKSB7CisgICAgICAgICAgICByZXF1ZXN0
ID0gV1RGOjpnZXQ8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8udmFsdWUoKSkucmVsZWFzZU5v
bk51bGwoKTsKKyAgICAgICAgICAgIGlmIChyZXF1ZXN0LT5tZXRob2QoKSAhPSAiR0VUIiAmJiAh
b3B0aW9ucy5pZ25vcmVNZXRob2QpIHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLnJlc29sdmUo
VmVjdG9yPFJlZjxGZXRjaFJlcXVlc3Q+PiB7IH0pOworICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmIChVTkxJS0VM
WSghc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSkKKyAgICAgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgICAgICByZXF1ZXN0ID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUoKnNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSwgV1RGTW92ZShpbmZvLnZhbHVlKCkpLCB7IH0pLnJlbGVhc2VSZXR1cm5WYWx1
ZSgpOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCFyZXF1ZXN0KSB7CisgICAgICAgIHJl
ZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcChbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlz
ZSldKCkgbXV0YWJsZSB7CisgICAgICAgICAgICBWZWN0b3I8UmVmPEZldGNoUmVxdWVzdD4+IHJl
cXVlc3RzOworICAgICAgICAgICAgcmVxdWVzdHMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShtX3Jl
cXVlc3RUb1Jlc3BvbnNlTWFwLnNpemUoKSk7CisgICAgICAgICAgICBmb3IgKGF1dG8mIHJlY29y
ZCA6IG1fcmVxdWVzdFRvUmVzcG9uc2VNYXApCisgICAgICAgICAgICAgICAgcmVxdWVzdHMudW5j
aGVja2VkQXBwZW5kKHJlY29yZC5yZXF1ZXN0LmNvcHlSZWYoKSk7CisgICAgICAgICAgICBwcm9t
aXNlLnJlc29sdmUocmVxdWVzdHMpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIHF1ZXJ5Q2FjaGUocmVxdWVzdC5yZWxlYXNlTm9uTnVsbCgpLCBXVEZNb3ZlKG9w
dGlvbnMpLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKGNvbnN0IFZlY3RvcjxDYWNoZVN0
b3JhZ2VSZWNvcmQ+JiByZWNvcmRzKSBtdXRhYmxlIHsKKyAgICAgICAgVmVjdG9yPFJlZjxGZXRj
aFJlcXVlc3Q+PiByZXF1ZXN0czsKKyAgICAgICAgcmVxdWVzdHMucmVzZXJ2ZUluaXRpYWxDYXBh
Y2l0eShyZWNvcmRzLnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0byYgcmVjb3JkIDogcmVjb3Jk
cykKKyAgICAgICAgICAgIHJlcXVlc3RzLnVuY2hlY2tlZEFwcGVuZChyZWNvcmQucmVxdWVzdC5j
b3B5UmVmKCkpOworICAgICAgICBwcm9taXNlLnJlc29sdmUocmVxdWVzdHMpOworICAgIH0pOwor
fQorCit2b2lkIENhY2hlOjpyZWZyZXNoUmVxdWVzdFRvUmVzcG9uc2VNYXAoRnVuY3Rpb248dm9p
ZCgpPiYmIGNhbGxiYWNrKQoreworICAgIFN0cmluZyBvcmlnaW4gPSB0aGlzLT5vcmlnaW4oKTsK
KyAgICBpZiAob3JpZ2luLmlzTnVsbCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBzZXRQZW5k
aW5nQWN0aXZpdHkodGhpcyk7CisgICAgbV9jb25uZWN0aW9uLT5yZWZyZXNoUmVjb3Jkcyhvcmln
aW4sIG1fbmFtZSwgW3RoaXMsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKFZlY3RvcjxD
YWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQ+JiYgcmVjb3JkcykgeworICAgICAgICBpZiAo
IW1faXNTdG9wcGVkKSB7CisgICAgICAgICAgICB1cGRhdGVSZXF1ZXN0VG9SZXNwb25zZU1hcChX
VEZNb3ZlKHJlY29yZHMpKTsKKyAgICAgICAgICAgIGNhbGxiYWNrKCk7CisgICAgICAgIH0KKyAg
ICAgICAgdW5zZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgfSk7Cit9CisKK2Jvb2wgQ2Fj
aGU6OnF1ZXJ5Q2FjaGVNYXRjaChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0
IFJlc291cmNlUmVxdWVzdCYgY2FjaGVkUmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYg
Y2FjaGVkUmVzcG9uc2UsIGNvbnN0IENhY2hlUXVlcnlPcHRpb25zJiBvcHRpb25zKQoreworICAg
IEFTU0VSVChvcHRpb25zLmlnbm9yZU1ldGhvZCB8fCByZXF1ZXN0Lmh0dHBNZXRob2QoKSA9PSAi
R0VUIik7CisKKyAgICBVUkwgcmVxdWVzdFVSTCA9IHJlcXVlc3QudXJsKCk7CisgICAgVVJMIGNh
Y2hlZFJlcXVlc3RVUkwgPSBjYWNoZWRSZXF1ZXN0LnVybCgpOworCisgICAgaWYgKG9wdGlvbnMu
aWdub3JlU2VhcmNoKSB7CisgICAgICAgIHJlcXVlc3RVUkwuc2V0UXVlcnkoeyB9KTsKKyAgICAg
ICAgY2FjaGVkUmVxdWVzdFVSTC5zZXRRdWVyeSh7IH0pOworICAgIH0KKyAgICBpZiAoIWVxdWFs
SWdub3JpbmdGcmFnbWVudElkZW50aWZpZXIocmVxdWVzdFVSTCwgY2FjaGVkUmVxdWVzdFVSTCkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChvcHRpb25zLmlnbm9yZVZhcnkpCisg
ICAgICAgIHJldHVybiB0cnVlOworCisgICAgYXV0byB2YXJ5VmFsdWUgPSBjYWNoZWRSZXNwb25z
ZS5odHRwSGVhZGVyRmllbGQoV2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6OlZhcnkpOworICAgIGlm
ICh2YXJ5VmFsdWUuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgVmVjdG9y
PFN0cmluZz4gdmFyeWluZ0hlYWRlck5hbWVzOworICAgIHZhcnlWYWx1ZS5zcGxpdCgnLCcsIHZh
cnlpbmdIZWFkZXJOYW1lcyk7CisgICAgaWYgKHZhcnlpbmdIZWFkZXJOYW1lcy5jb250YWlucygi
KiIpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBmb3IgKGF1dG8mIG5hbWUgOiB2YXJ5
aW5nSGVhZGVyTmFtZXMpIHsKKyAgICAgICAgaWYgKGNhY2hlZFJlcXVlc3QuaHR0cEhlYWRlckZp
ZWxkKG5hbWUpICE9IHJlcXVlc3QuaHR0cEhlYWRlckZpZWxkKG5hbWUpKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBDYWNoZTo6
cXVlcnlDYWNoZShSZWY8RmV0Y2hSZXF1ZXN0PiYmIHJlcXVlc3QsIENhY2hlUXVlcnlPcHRpb25z
JiYgb3B0aW9ucywgRnVuY3Rpb248dm9pZChjb25zdCBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3Jk
PiYpPiYmIGNhbGxiYWNrKQoreworICAgIHJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcChbdGhp
cywgcmVxdWVzdCA9IFdURk1vdmUocmVxdWVzdCksIG9wdGlvbnMgPSBXVEZNb3ZlKG9wdGlvbnMp
LCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSgpIG11dGFibGUgeworICAgICAgICBjYWxs
YmFjayhxdWVyeUNhY2hlV2l0aFRhcmdldFN0b3JhZ2UocmVxdWVzdC5nZXQoKSwgb3B0aW9ucywg
bV9yZXF1ZXN0VG9SZXNwb25zZU1hcCkpOworICAgIH0pOworfQorCitWZWN0b3I8Q2FjaGVTdG9y
YWdlUmVjb3JkPiBDYWNoZTo6cXVlcnlDYWNoZVdpdGhUYXJnZXRTdG9yYWdlKGNvbnN0IEZldGNo
UmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgQ2FjaGVRdWVyeU9wdGlvbnMmIG9wdGlvbnMsIGNvbnN0
IFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+JiB0YXJnZXRTdG9yYWdlKQoreworICAgIGlmICgh
b3B0aW9ucy5pZ25vcmVNZXRob2QgJiYgcmVxdWVzdC5tZXRob2QoKSAhPSAiR0VUIikKKyAgICAg
ICAgcmV0dXJuIHsgfTsKKworICAgIFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+IHJlY29yZHM7
CisgICAgZm9yIChhdXRvJiByZWNvcmQgOiB0YXJnZXRTdG9yYWdlKSB7CisgICAgICAgIGlmIChx
dWVyeUNhY2hlTWF0Y2gocmVxdWVzdC5pbnRlcm5hbFJlcXVlc3QoKS5yZXF1ZXN0LCByZWNvcmQu
cmVxdWVzdC0+aW50ZXJuYWxSZXF1ZXN0KCkucmVxdWVzdCwgcmVjb3JkLnJlc3BvbnNlLT5yZXNw
b25zZSgpLCBvcHRpb25zKSkKKyAgICAgICAgICAgIHJlY29yZHMuYXBwZW5kKHsgcmVjb3JkLmlk
ZW50aWZpZXIsIHJlY29yZC5yZXF1ZXN0LmNvcHlSZWYoKSwgcmVjb3JkLnJlc3BvbnNlLmNvcHlS
ZWYoKSB9KTsKKyAgICB9CisgICAgcmV0dXJuIHJlY29yZHM7Cit9CisKK3ZvaWQgQ2FjaGU6OmJh
dGNoRGVsZXRlT3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgQ2FjaGVRdWVy
eU9wdGlvbnMmJiBvcHRpb25zLCBGdW5jdGlvbjx2b2lkKGJvb2wgZGlkUmVtb3ZhbCwgQ2FjaGVT
dG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpPiYmIGNhbGxiYWNrKQoreworICAgIFN0cmlu
ZyBvcmlnaW4gPSB0aGlzLT5vcmlnaW4oKTsKKyAgICBpZiAob3JpZ2luLmlzTnVsbCgpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgbV9jb25u
ZWN0aW9uLT5iYXRjaERlbGV0ZU9wZXJhdGlvbihvcmlnaW4sIG1fbmFtZSwgcmVxdWVzdC5pbnRl
cm5hbFJlcXVlc3QoKS5yZXF1ZXN0LCBXVEZNb3ZlKG9wdGlvbnMpLCBbdGhpcywgY2FsbGJhY2sg
PSBXVEZNb3ZlKGNhbGxiYWNrKV0oVmVjdG9yPHVpbnQ2NF90PiYmIHJlY29yZHMsIENhY2hlU3Rv
cmFnZUNvbm5lY3Rpb246OkVycm9yIGVycm9yKSB7CisgICAgICAgIGlmICghbV9pc1N0b3BwZWQp
IHsKKyAgICAgICAgICAgIGlmIChlcnJvciA9PSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJv
cjo6Tm9uZSkKKyAgICAgICAgICAgICAgICBtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwLnJlbW92ZUFs
bE1hdGNoaW5nKFsmXShjb25zdCBhdXRvJiBpdGVtKSB7IHJldHVybiByZWNvcmRzLmNvbnRhaW5z
KGl0ZW0uaWRlbnRpZmllcik7IH0pOworCisgICAgICAgICAgICBjYWxsYmFjayghIXJlY29yZHMu
c2l6ZSgpLCBlcnJvcik7CisgICAgICAgIH0KKyAgICAgICAgdW5zZXRQZW5kaW5nQWN0aXZpdHko
dGhpcyk7CisgICAgfSk7Cit9CisKK3ZvaWQgQ2FjaGU6OmJhdGNoUHV0T3BlcmF0aW9uKGNvbnN0
IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgRmV0Y2hSZXNwb25zZSYgcmVzcG9uc2UsIEZ1
bmN0aW9uPHZvaWQoQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IpPiYmIGNhbGxiYWNrKQor
eworICAgIC8vIEZJWE1FOiBBZGQgYSBzZXRIVFRQSGVhZGVyRmllbGRzIG9uIFJlc291cmNlUmVz
cG9uc2VCYXNlLgorICAgIFJlc291cmNlUmVzcG9uc2UgY2FjaGVkUmVzcG9uc2UgPSByZXNwb25z
ZS5yZXNwb25zZSgpOworICAgIGZvciAoYXV0byYgaGVhZGVyIDogcmVzcG9uc2UuaGVhZGVycygp
LmludGVybmFsSGVhZGVycygpKQorICAgICAgICBjYWNoZWRSZXNwb25zZS5zZXRIVFRQSGVhZGVy
RmllbGQoaGVhZGVyLmtleSwgaGVhZGVyLnZhbHVlKTsKKworICAgIFJlc291cmNlUmVxdWVzdCBj
YWNoZWRSZXF1ZXN0ID0gcmVxdWVzdC5pbnRlcm5hbFJlcXVlc3QoKS5yZXF1ZXN0OworICAgIGNh
Y2hlZFJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkcyhyZXF1ZXN0LmhlYWRlcnMoKS5pbnRlcm5h
bEhlYWRlcnMoKSk7CisKKyAgICBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQgcmVjb3Jk
ID0geyAwLAorICAgICAgICByZXF1ZXN0LmhlYWRlcnMoKS5ndWFyZCgpLCBXVEZNb3ZlKGNhY2hl
ZFJlcXVlc3QpLCByZXF1ZXN0LmludGVybmFsUmVxdWVzdCgpLm9wdGlvbnMsIHJlcXVlc3QuaW50
ZXJuYWxSZXF1ZXN0KCkucmVmZXJyZXIsCisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMoKS5ndWFy
ZCgpLCBXVEZNb3ZlKGNhY2hlZFJlc3BvbnNlKQorICAgIH07CisKKyAgICBTdHJpbmcgb3JpZ2lu
ID0gdGhpcy0+b3JpZ2luKCk7CisgICAgaWYgKG9yaWdpbi5pc051bGwoKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgIG1fY29ubmVjdGlvbi0+
YmF0Y2hQdXRPcGVyYXRpb24ob3JpZ2luLCBtX25hbWUsIFdURk1vdmUocmVjb3JkKSwgW3RoaXMs
IGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKFZlY3Rvcjx1aW50NjRfdD4mJiwgQ2FjaGVT
dG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIHsKKyAgICAgICAgaWYgKCFtX2lzU3RvcHBl
ZCkKKyAgICAgICAgICAgIGNhbGxiYWNrKGVycm9yKTsKKworICAgICAgICB1bnNldFBlbmRpbmdB
Y3Rpdml0eSh0aGlzKTsKKyAgICB9KTsKK30KKwordm9pZCBDYWNoZTo6dXBkYXRlUmVxdWVzdFRv
UmVzcG9uc2VNYXAoVmVjdG9yPENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlY29yZD4mJiByZWNv
cmRzKQoreworICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworICAgIFZlY3Rv
cjxDYWNoZVN0b3JhZ2VSZWNvcmQ+IG5ld01hcDsKKworICAgIGZvciAoYXV0byYgcmVjb3JkIDog
cmVjb3JkcykgeworICAgICAgICBzaXplX3QgaW5kZXggPSBtX3JlcXVlc3RUb1Jlc3BvbnNlTWFw
LmZpbmRNYXRjaGluZyhbJl0oY29uc3QgYXV0byYgaXRlbSkgeyByZXR1cm4gaXRlbS5pZGVudGlm
aWVyID09IHJlY29yZC5pZGVudGlmaWVyOyB9KTsKKyAgICAgICAgaWYgKGluZGV4ICE9IG5vdEZv
dW5kKQorICAgICAgICAgICAgbmV3TWFwLmFwcGVuZChXVEZNb3ZlKG1fcmVxdWVzdFRvUmVzcG9u
c2VNYXBbaW5kZXhdKSk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgYXV0byByZXF1ZXN0
SGVhZGVycyA9IEZldGNoSGVhZGVyczo6Y3JlYXRlKHJlY29yZC5yZXF1ZXN0SGVhZGVyc0d1YXJk
LCBIVFRQSGVhZGVyTWFwIHsgcmVjb3JkLnJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpIH0pOwor
ICAgICAgICAgICAgRmV0Y2hSZXF1ZXN0OjpJbnRlcm5hbFJlcXVlc3QgaW50ZXJuYWxSZXF1ZXN0
ID0geyBXVEZNb3ZlKHJlY29yZC5yZXF1ZXN0KSwgV1RGTW92ZShyZWNvcmQub3B0aW9ucyksIFdU
Rk1vdmUocmVjb3JkLnJlZmVycmVyKSB9OworICAgICAgICAgICAgYXV0byByZXF1ZXN0ID0gRmV0
Y2hSZXF1ZXN0OjpjcmVhdGUoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgc3RkOjpudWxsb3B0
LCBXVEZNb3ZlKHJlcXVlc3RIZWFkZXJzKSwgV1RGTW92ZShpbnRlcm5hbFJlcXVlc3QpKTsKKwor
ICAgICAgICAgICAgYXV0byByZXNwb25zZUhlYWRlcnMgPSBGZXRjaEhlYWRlcnM6OmNyZWF0ZShy
ZWNvcmQucmVzcG9uc2VIZWFkZXJzR3VhcmQsIEhUVFBIZWFkZXJNYXAgeyByZWNvcmQucmVzcG9u
c2UuaHR0cEhlYWRlckZpZWxkcygpIH0pOworICAgICAgICAgICAgYXV0byByZXNwb25zZSA9IEZl
dGNoUmVzcG9uc2U6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBzdGQ6Om51bGxv
cHQsIFdURk1vdmUocmVzcG9uc2VIZWFkZXJzKSwgV1RGTW92ZShyZWNvcmQucmVzcG9uc2UpKTsK
KworICAgICAgICAgICAgbmV3TWFwLmFwcGVuZChDYWNoZVN0b3JhZ2VSZWNvcmQgeyByZWNvcmQu
aWRlbnRpZmllciwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShyZXNwb25zZSkgfSk7CisgICAg
ICAgIH0KKyAgICB9CisgICAgbV9yZXF1ZXN0VG9SZXNwb25zZU1hcCA9IFdURk1vdmUobmV3TWFw
KTsKK30KKwordm9pZCBDYWNoZTo6c3RvcCgpCit7CisgICAgbV9pc1N0b3BwZWQgPSB0cnVlOwor
fQorCitjb25zdCBjaGFyKiBDYWNoZTo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuICJDYWNoZSI7Cit9CisKK2Jvb2wgQ2FjaGU6OmNhblN1c3BlbmRGb3JEb2N1bWVu
dFN1c3BlbnNpb24oKSBjb25zdAoreworICAgIHJldHVybiAhbV9yZXF1ZXN0VG9SZXNwb25zZU1h
cC5zaXplKCkgJiYgIWhhc1BlbmRpbmdBY3Rpdml0eSgpOwogfQogCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY2FjaGUvQ2FjaGUuaAppbmRleCAwMDgyYWNkNTU2ZGRmNWRlZTlmNzUwNjY1YzJmNGU5ZWI5
ZGQ5NjVlLi5jNmFlZmMxNzlhZmQwOTVlMjA0MjY4OGI1NTc4NTg1YzQwZDRiNjM1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5oCkBAIC0yNSwzNiArMjUsNjEgQEAKIAogI3ByYWdt
YSBvbmNlCiAKLSNpbmNsdWRlICJGZXRjaFJlcXVlc3QuaCIKKyNpbmNsdWRlICJBY3RpdmVET01P
YmplY3QuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAi
Q2FjaGVTdG9yYWdlUmVjb3JkLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRmV0
Y2hSZXNwb25zZTsKK2NsYXNzIENhY2hlUXVlcnlPcHRpb25zOworY2xhc3MgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dDsKIAotc3RydWN0IENhY2hlUXVlcnlPcHRpb25zOwotCi1jbGFzcyBDYWNoZSA6
IHB1YmxpYyBSZWZDb3VudGVkPENhY2hlPiB7CitjbGFzcyBDYWNoZSBmaW5hbCA6IHB1YmxpYyBS
ZWZDb3VudGVkPENhY2hlPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6Ci0gICAg
c3RhdGljIFJlZjxDYWNoZT4gY3JlYXRlKFN0cmluZyYmIG5hbWUpIHsgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgQ2FjaGUoV1RGTW92ZShuYW1lKSkpOyB9CisgICAgc3RhdGljIFJlZjxDYWNoZT4gY3Jl
YXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFN0cmluZyYmIG5hbWUsIFJlZjxD
YWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYmIGNvbm5lY3Rpb24pIHsgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgQ2FjaGUoY29udGV4dCwgV1RGTW92ZShuYW1lKSwgV1RGTW92ZShjb25uZWN0aW9uKSkpOyB9
CisgICAgfkNhY2hlKCk7CiAKICAgICB1c2luZyBSZXF1ZXN0SW5mbyA9IEZldGNoUmVxdWVzdDo6
SW5mbzsKIAotICAgIHVzaW5nIE1hdGNoQWxsUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJ
RExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8RmV0Y2hSZXNwb25zZT4+PjsKICAgICB1c2luZyBLZXlz
UHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8RmV0
Y2hSZXF1ZXN0Pj4+OwogCi0gICAgdm9pZCBtYXRjaChSZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlv
bmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKLSAgICB2
b2lkIG1hdGNoQWxsKHN0ZDo6b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8
Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIE1hdGNoQWxsUHJvbWlzZSYmKTsKKyAgICBlbnVtIGNsYXNz
IE1hdGNoVHlwZSB7IEFsbCwgT25seUZpcnN0IH07CisgICAgdm9pZCBtYXRjaChSZXF1ZXN0SW5m
byYmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKKyAgICB2
b2lkIG1hdGNoQWxsKHN0ZDo6b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYsIENhY2hlUXVlcnlPcHRp
b25zJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYsIE1hdGNoVHlwZSA9IE1hdGNoVHlwZTo6QWxs
KTsKICAgICB2b2lkIGFkZChSZXF1ZXN0SW5mbyYmLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4m
Jik7CiAKICAgICB2b2lkIGFkZEFsbChWZWN0b3I8UmVxdWVzdEluZm8+JiYsIERPTVByb21pc2VE
ZWZlcnJlZDx2b2lkPiYmKTsKICAgICB2b2lkIHB1dChSZXF1ZXN0SW5mbyYmLCBSZWY8RmV0Y2hS
ZXNwb25zZT4mJiwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYpOwotICAgIHZvaWQgcmVtb3Zl
KFJlcXVlc3RJbmZvJiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIERPTVBy
b21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmKTsKLSAgICB2b2lkIGtleXMoc3RkOjpvcHRpb25h
bDxSZXF1ZXN0SW5mbz4mJiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgS2V5
c1Byb21pc2UmJik7CisgICAgdm9pZCByZW1vdmUoUmVxdWVzdEluZm8mJiwgQ2FjaGVRdWVyeU9w
dGlvbnMmJiwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYpOworICAgIHZvaWQga2V5
cyhzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZvPiYmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBLZXlz
UHJvbWlzZSYmKTsKKworICAgIGNvbnN0IFN0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1f
bmFtZTsgfQorCisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGJvb2wgcXVlcnlDYWNoZU1hdGNo
KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBj
YWNoZWRSZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgQ2FjaGVRdWVyeU9w
dGlvbnMmKTsKIAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBDYWNoZShTdHJpbmcmJiBuYW1lKSA6
IG1fbmFtZShXVEZNb3ZlKG5hbWUpKSB7IH0KKyAgICBDYWNoZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiwgU3RyaW5nJiYgbmFtZSwgUmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+JiYpOworCisg
ICAgLy8gQWN0aXZlRE9NT2JqZWN0CisgICAgdm9pZCBzdG9wKCkgZmluYWw7CisgICAgY29uc3Qg
Y2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFsOworICAgIGJvb2wgY2FuU3Vz
cGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IGZpbmFsOworCisgICAgU3RyaW5nIG9y
aWdpbigpIGNvbnN0OworCisgICAgdm9pZCByZWZyZXNoUmVxdWVzdFRvUmVzcG9uc2VNYXAoRnVu
Y3Rpb248dm9pZCgpPiYmKTsKKyAgICBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiBxdWVyeUNh
Y2hlV2l0aFRhcmdldFN0b3JhZ2UoY29uc3QgRmV0Y2hSZXF1ZXN0JiwgY29uc3QgQ2FjaGVRdWVy
eU9wdGlvbnMmLCBjb25zdCBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiYpOworICAgIHZvaWQg
cXVlcnlDYWNoZShSZWY8RmV0Y2hSZXF1ZXN0PiYmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBGdW5j
dGlvbjx2b2lkKGNvbnN0IFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+Jik+JiYpOworICAgIHZv
aWQgYmF0Y2hEZWxldGVPcGVyYXRpb24oY29uc3QgRmV0Y2hSZXF1ZXN0JiwgQ2FjaGVRdWVyeU9w
dGlvbnMmJiwgRnVuY3Rpb248dm9pZChib29sIGRpZFJlbW92YWwsIENhY2hlU3RvcmFnZUNvbm5l
Y3Rpb246OkVycm9yKT4mJik7CisgICAgdm9pZCBiYXRjaFB1dE9wZXJhdGlvbihjb25zdCBGZXRj
aFJlcXVlc3QmLCBjb25zdCBGZXRjaFJlc3BvbnNlJiwgRnVuY3Rpb248dm9pZChDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uOjpFcnJvcik+JiYpOworCisgICAgdm9pZCB1cGRhdGVSZXF1ZXN0VG9SZXNw
b25zZU1hcChWZWN0b3I8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6UmVjb3JkPiYmKTsKIAogICAg
IFN0cmluZyBtX25hbWU7CisgICAgUmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IG1fY29ubmVj
dGlvbjsKKworICAgIFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+IG1fcmVxdWVzdFRvUmVzcG9u
c2VNYXA7CisgICAgYm9vbCBtX2lzU3RvcHBlZCB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0Nh
Y2hlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaWRsCmluZGV4IGQ0
Nzk2OTE1NWQyMGE0ZjdiZmEzOGE2ZGMwYjJkZjMyMjU2YTk0ZTAuLjNlNmM3YWQ2N2M3Zjk2Yjg0
ODkzMmI4MTRjNTNlODI4NjJlNzY4ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY2FjaGUvQ2FjaGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2Fj
aGUuaWRsCkBAIC0yOSwxMyArMjksMTYgQEAgdHlwZWRlZiAoRmV0Y2hSZXF1ZXN0IG9yIFVTVlN0
cmluZykgUmVxdWVzdEluZm87CiAgICAgU2VjdXJlQ29udGV4dCwKICAgICBFeHBvc2VkPShXaW5k
b3csV29ya2VyKSwKICAgICBFbmFibGVkQXRSdW50aW1lPUNhY2hlQVBJLAotICAgIEltcGxlbWVu
dGF0aW9uTGFja3NWVGFibGUsCisgICAgUHJpdmF0ZUlkZW50aWZpZXIsCisgICAgUHVibGljSWRl
bnRpZmllciwKIF0gaW50ZXJmYWNlIENhY2hlIHsKICAgICBbTmV3T2JqZWN0XSBQcm9taXNlPGFu
eT4gbWF0Y2goUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMg
b3B0aW9ucyk7Ci0gICAgW05ld09iamVjdF0gUHJvbWlzZTxzZXF1ZW5jZTxGZXRjaFJlc3BvbnNl
Pj4gbWF0Y2hBbGwob3B0aW9uYWwgUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVR
dWVyeU9wdGlvbnMgb3B0aW9ucyk7CisgICAgW05ld09iamVjdCwgUHJpdmF0ZUlkZW50aWZpZXIs
IFB1YmxpY0lkZW50aWZpZXJdIFByb21pc2U8c2VxdWVuY2U8RmV0Y2hSZXNwb25zZT4+IG1hdGNo
QWxsKG9wdGlvbmFsIFJlcXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRp
b25zIG9wdGlvbnMpOwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gYWRkKFJlcXVlc3RJ
bmZvIHJlcXVlc3QpOwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gYWRkQWxsKHNlcXVl
bmNlPFJlcXVlc3RJbmZvPiByZXF1ZXN0cyk7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTx2b2lk
PiBwdXQoUmVxdWVzdEluZm8gcmVxdWVzdCwgRmV0Y2hSZXNwb25zZSByZXNwb25zZSk7CiAgICAg
W05ld09iamVjdCwgSW1wbGVtZW50ZWRBcz1yZW1vdmVdIFByb21pc2U8Ym9vbGVhbj4gZGVsZXRl
KFJlcXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25zIG9wdGlvbnMp
OwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8c2VxdWVuY2U8UmVxdWVzdD4+IGtleXMob3B0aW9u
YWwgUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9u
cyk7CisKKyAgICBbUHJpdmF0ZUlkZW50aWZpZXIsIEltcGxlbWVudGVkQXM9bmFtZV0gRE9NU3Ry
aW5nIGNhY2hlTmFtZSgpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2FjaGUvQ2FjaGVRdWVyeU9wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUv
Q2FjaGVRdWVyeU9wdGlvbnMuaAppbmRleCA2OGY2N2ZhY2YzNTY4NzFlZWY0ZTU1NDY5NThiNzI3
YTY1OTM2OTNiLi40ZjhiNGRlZWNhMWE3ZGY2ODE0NTcwNDAwMGE2YTYxYWMwY2IxOTBjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlUXVlcnlPcHRpb25zLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVF1ZXJ5T3B0aW9ucy5oCkBA
IC0yOSw3ICsyOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IENhY2hlUXVl
cnlPcHRpb25zIHsKK2NsYXNzIENhY2hlUXVlcnlPcHRpb25zIHsKK3B1YmxpYzoKICAgICBib29s
IGlnbm9yZVNlYXJjaCB7IGZhbHNlIH07CiAgICAgYm9vbCBpZ25vcmVNZXRob2QgeyBmYWxzZSB9
OwogICAgIGJvb2wgaWdub3JlVmFyeSB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5jcHAKaW5kZXggMTIzNjdiZTk2NmUxZTNhMjhhOWUyOWRi
ZmU0YjgzYmQ1YWNkZWNjNi4uY2JkZTY3YjRjYTk4Njg4MjYyZjVkYzBjMGQxZTNjNmEzMDYwMTk4
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmNwcApA
QCAtMjYsMzEgKzI2LDE0MSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkNhY2hl
U3RvcmFnZS5oIgogCisjaW5jbHVkZSAiQ2FjaGVRdWVyeU9wdGlvbnMuaCIKKyNpbmNsdWRlICJK
U0NhY2hlLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLXZvaWQgQ2FjaGVTdG9yYWdlOjptYXRjaChSZXF1ZXN0SW5mbyYmLCBz
dGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYm
IHByb21pc2UpCitDYWNoZVN0b3JhZ2U6OkNhY2hlU3RvcmFnZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBjb250ZXh0LCBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4mJiBjb25uZWN0aW9uKQor
ICAgIDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQorICAgICwgbV9jb25uZWN0aW9uKFdURk1v
dmUoY29ubmVjdGlvbikpCit7CisgICAgc3VzcGVuZElmTmVlZGVkKCk7Cit9CisKK1N0cmluZyBD
YWNoZVN0b3JhZ2U6Om9yaWdpbigpIGNvbnN0CiB7Ci0gICAgcHJvbWlzZS0+cmVqZWN0KEV4Y2Vw
dGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAg
IC8vIEZJWE1FOiBEbyB3ZSByZWFsbHkgbmVlZCB0byBjaGVjayBmb3Igb3JpZ2luIGJlaW5nIG51
bGw/CisgICAgYXV0byogb3JpZ2luID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpID8gc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLT5zZWN1cml0eU9yaWdpbigpIDogbnVsbHB0cjsKKyAgICByZXR1
cm4gb3JpZ2luID8gb3JpZ2luLT50b1N0cmluZygpIDogU3RyaW5nKCk7CiB9CiAKLXZvaWQgQ2Fj
aGVTdG9yYWdlOjpoYXMoY29uc3QgU3RyaW5nJiwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xl
YW4+JiYgcHJvbWlzZSkKK3ZvaWQgQ2FjaGVTdG9yYWdlOjpoYXMoY29uc3QgU3RyaW5nJiBuYW1l
LCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQogewotICAgIHByb21p
c2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVt
ZW50ZWQiKX0pOworICAgIHJlZnJlc2hDYWNoZU1hcChbdGhpcywgbmFtZSwgcHJvbWlzZSA9IFdU
Rk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgIHByb21pc2UucmVzb2x2ZShtX2Nh
Y2hlTWFwLmZpbmRNYXRjaGluZyhbJl0oYXV0byYgaXRlbSkgeyByZXR1cm4gaXRlbS0+bmFtZSgp
ID09IG5hbWU7IH0pICE9IG5vdEZvdW5kKTsKKyAgICB9KTsKIH0KIAotdm9pZCBDYWNoZVN0b3Jh
Z2U6Om9wZW4oY29uc3QgU3RyaW5nJiwgRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxD
YWNoZT4+JiYgcHJvbWlzZSkKK3ZvaWQgQ2FjaGVTdG9yYWdlOjpyZWZyZXNoQ2FjaGVNYXAoRnVu
Y3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlv
biB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIFN0
cmluZyBvcmlnaW4gPSB0aGlzLT5vcmlnaW4oKTsKKyAgICBpZiAob3JpZ2luLmlzTnVsbCgpKQor
ICAgICAgICByZXR1cm47CisKKyAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgbV9j
b25uZWN0aW9uLT5yZWZyZXNoQ2FjaGVNYXAob3JpZ2luLCBbdGhpcywgY2FsbGJhY2sgPSBXVEZN
b3ZlKGNhbGxiYWNrKV0oY29uc3QgVmVjdG9yPFN0cmluZz4mIGNhY2hlTmFtZXMpIHsKKyAgICAg
ICAgaWYgKCFtX2lzU3RvcHBlZCkgeworICAgICAgICAgICAgbV9jYWNoZU1hcC5yZW1vdmVBbGxN
YXRjaGluZyhbJl0oYXV0byYgY2FjaGUpIHsgcmV0dXJuICFjYWNoZU5hbWVzLmNvbnRhaW5zKGNh
Y2hlLT5uYW1lKCkpOyB9KTsKKworICAgICAgICAgICAgc3RkOjpzb3J0KG1fY2FjaGVNYXAuYmVn
aW4oKSwgbV9jYWNoZU1hcC5lbmQoKSwgWyZdKGF1dG8mIGEsIGF1dG8mIGIpIHsKKyAgICAgICAg
ICAgICAgICByZXR1cm4gY2FjaGVOYW1lcy5maW5kKGEtPm5hbWUoKSkgPCBjYWNoZU5hbWVzLmZp
bmQoYi0+bmFtZSgpKTsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICBjYWxsYmFjaygp
OworICAgICAgICB9CisgICAgICAgIHVuc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgIH0p
OwogfQogCi12b2lkIENhY2hlU3RvcmFnZTo6cmVtb3ZlKGNvbnN0IFN0cmluZyYsIERPTVByb21p
c2VEZWZlcnJlZDxJRExCb29sZWFuPiYmIHByb21pc2UpCit2b2lkIENhY2hlU3RvcmFnZTo6b3Bl
bihjb25zdCBTdHJpbmcmIG5hbWUsIERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8Q2Fj
aGU+PiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVy
cm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgcmVmcmVzaENhY2hl
TWFwKFt0aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsK
KyAgICAgICAgYXV0byBwb3NpdGlvbiA9IG1fY2FjaGVNYXAuZmluZE1hdGNoaW5nKFsmXShhdXRv
JiBpdGVtKSB7IHJldHVybiBpdGVtLT5uYW1lKCkgPT0gbmFtZTsgfSk7CisgICAgICAgIGlmIChw
b3NpdGlvbiAhPSBub3RGb3VuZCkgeworICAgICAgICAgICAgcHJvbWlzZS5yZXNvbHZlKG1fY2Fj
aGVNYXBbcG9zaXRpb25dKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAg
ICAgIFN0cmluZyBvcmlnaW4gPSB0aGlzLT5vcmlnaW4oKTsKKyAgICAgICAgaWYgKG9yaWdpbi5p
c051bGwoKSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBzZXRQZW5kaW5nQWN0aXZp
dHkodGhpcyk7CisgICAgICAgIG1fY29ubmVjdGlvbi0+b3BlbihvcmlnaW4sIG5hbWUsIFt0aGlz
LCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oQ2FjaGVTdG9yYWdlQ29ubmVjdGlv
bjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICAgICAgaWYgKCFtX2lzU3RvcHBlZCkg
eworICAgICAgICAgICAgICAgIGlmIChlcnJvciAhPSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpF
cnJvcjo6Tm9uZSkKKyAgICAgICAgICAgICAgICAgICAgcHJvbWlzZS5yZWplY3QoQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9yKGVycm9yKSk7CisgICAgICAgICAgICAg
ICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gY2FjaGUgPSBDYWNoZTo6Y3JlYXRl
KCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFN0cmluZyhuYW1lKSwgbV9jb25uZWN0aW9uLmNv
cHlSZWYoKSk7CisgICAgICAgICAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShjYWNoZSk7Cisg
ICAgICAgICAgICAgICAgICAgIG1fY2FjaGVNYXAuYXBwZW5kKFdURk1vdmUoY2FjaGUpKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICB1bnNldFBlbmRpbmdB
Y3Rpdml0eSh0aGlzKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9CisKK3ZvaWQgQ2FjaGVTdG9y
YWdlOjpyZW1vdmUoY29uc3QgU3RyaW5nJiBuYW1lLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9v
bGVhbj4mJiBwcm9taXNlKQoreworICAgIHJlZnJlc2hDYWNoZU1hcChbdGhpcywgbmFtZSwgcHJv
bWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgIGF1dG8gcG9zaXRp
b24gPSBtX2NhY2hlTWFwLmZpbmRNYXRjaGluZyhbJl0oYXV0byYgaXRlbSkgeyByZXR1cm4gaXRl
bS0+bmFtZSgpID09IG5hbWU7IH0pOworICAgICAgICBpZiAocG9zaXRpb24gPT0gbm90Rm91bmQp
IHsKKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShmYWxzZSk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKworICAgICAgICBTdHJpbmcgb3JpZ2luID0gdGhpcy0+b3JpZ2luKCk7
CisgICAgICAgIGlmIChvcmlnaW4uaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1cm47CisKKyAg
ICAgICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgICAgICBtX2Nvbm5lY3Rpb24tPnJl
bW92ZShvcmlnaW4sIG5hbWUsIFt0aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNl
KV0oQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAg
ICAgICAgaWYgKCFtX2lzU3RvcHBlZCkgeworICAgICAgICAgICAgICAgIGlmIChlcnJvciAhPSBD
YWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJvcjo6Tm9uZSkKKyAgICAgICAgICAgICAgICAgICAg
cHJvbWlzZS5yZWplY3QoQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9y
KGVycm9yKSk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBwcm9t
aXNlLnJlc29sdmUodHJ1ZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB1bnNldFBlbmRp
bmdBY3Rpdml0eSh0aGlzKTsKKyAgICAgICAgfSk7CisgICAgICAgIG1fY2FjaGVNYXAucmVtb3Zl
KHBvc2l0aW9uKTsKKyAgICB9KTsKIH0KIAogdm9pZCBDYWNoZVN0b3JhZ2U6OmtleXMoS2V5c1By
b21pc2UmJiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVF
cnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHJlZnJlc2hDYWNo
ZU1hcChbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAg
ICAgIFZlY3RvcjxTdHJpbmc+IGtleXM7CisgICAgICAgIGtleXMucmVzZXJ2ZUluaXRpYWxDYXBh
Y2l0eShtX2NhY2hlTWFwLnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0byYgY2FjaGUgOiBtX2Nh
Y2hlTWFwKQorICAgICAgICAgICAga2V5cy51bmNoZWNrZWRBcHBlbmQoY2FjaGUtPm5hbWUoKSk7
CisgICAgICAgIHByb21pc2UucmVzb2x2ZShrZXlzKTsKKyAgICB9KTsKK30KKwordm9pZCBDYWNo
ZVN0b3JhZ2U6OmNhY2hlTWFwKENhY2hlTWFwUHJvbWlzZSYmIHByb21pc2UpCit7CisgICAgcmVm
cmVzaENhY2hlTWFwKFt0aGlzLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRhYmxl
IHsKKyAgICAgICAgcHJvbWlzZS5yZXNvbHZlKG1fY2FjaGVNYXApOworICAgIH0pOworfQorCit2
b2lkIENhY2hlU3RvcmFnZTo6c3RvcCgpCit7CisgICAgbV9pc1N0b3BwZWQgPSB0cnVlOworfQor
Citjb25zdCBjaGFyKiBDYWNoZVN0b3JhZ2U6OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAor
eworICAgIHJldHVybiAiQ2FjaGVTdG9yYWdlIjsKK30KKworYm9vbCBDYWNoZVN0b3JhZ2U6OmNh
blN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAoreworICAgIHJldHVybiAhbV9j
YWNoZU1hcC5zaXplKCkgJiYgIWhhc1BlbmRpbmdBY3Rpdml0eSgpOwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0Nh
Y2hlU3RvcmFnZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2Uu
aAppbmRleCBmYTI2OTAwMDM2YzMyNjczNjYyMWZjYjgzN2M3NzcxZWFhOGQ4MjIzLi5kMDQ2MTQx
YjE5NzVlZGE4MWNhMWJkMDNlYjg3YTIxZjQyNjZhOWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmgKQEAgLTI1LDI5ICsyNSw0NCBAQAogCiAjcHJhZ21h
IG9uY2UKIAorI2luY2x1ZGUgIkNhY2hlLmgiCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlQ29ubmVj
dGlvbi5oIgogI2luY2x1ZGUgIkZldGNoUmVxdWVzdC5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ2FjaGU7CitjbGFzcyBDYWNoZVF1
ZXJ5T3B0aW9uczsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLXN0cnVjdCBDYWNo
ZVF1ZXJ5T3B0aW9uczsKLQotY2xhc3MgQ2FjaGVTdG9yYWdlIDogcHVibGljIFJlZkNvdW50ZWQ8
Q2FjaGVTdG9yYWdlPiB7CitjbGFzcyBDYWNoZVN0b3JhZ2UgOiBwdWJsaWMgUmVmQ291bnRlZDxD
YWNoZVN0b3JhZ2U+LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKIHB1YmxpYzoKLSAgICBzdGF0
aWMgUmVmPENhY2hlU3RvcmFnZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNo
ZVN0b3JhZ2UoKSk7IH0KKyAgICBzdGF0aWMgUmVmPENhY2hlU3RvcmFnZT4gY3JlYXRlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYm
IGNvbm5lY3Rpb24pIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2FjaGVTdG9yYWdlKGNvbnRleHQs
IFdURk1vdmUoY29ubmVjdGlvbikpKTsgfQogCi0gICAgdXNpbmcgUmVxdWVzdEluZm8gPSBGZXRj
aFJlcXVlc3Q6OkluZm87CiAgICAgdXNpbmcgS2V5c1Byb21pc2UgPSBET01Qcm9taXNlRGVmZXJy
ZWQ8SURMU2VxdWVuY2U8SURMRE9NU3RyaW5nPj47CiAKLSAgICB2b2lkIG1hdGNoKFJlcXVlc3RJ
bmZvJiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIFJlZjxEZWZlcnJlZFBy
b21pc2U+JiYpOwogICAgIHZvaWQgaGFzKGNvbnN0IFN0cmluZyYsIERPTVByb21pc2VEZWZlcnJl
ZDxJRExCb29sZWFuPiYmKTsKICAgICB2b2lkIG9wZW4oY29uc3QgU3RyaW5nJiwgRE9NUHJvbWlz
ZURlZmVycmVkPElETEludGVyZmFjZTxDYWNoZT4+JiYpOwogICAgIHZvaWQgcmVtb3ZlKGNvbnN0
IFN0cmluZyYsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmKTsKICAgICB2b2lkIGtl
eXMoS2V5c1Byb21pc2UmJik7CiAKKyAgICB1c2luZyBDYWNoZU1hcFByb21pc2UgPSBET01Qcm9t
aXNlRGVmZXJyZWQ8SURMU2VxdWVuY2U8SURMSW50ZXJmYWNlPENhY2hlPj4+OworICAgIHZvaWQg
Y2FjaGVNYXAoQ2FjaGVNYXBQcm9taXNlJiYpOworCiBwcml2YXRlOgotICAgIENhY2hlU3RvcmFn
ZSgpID0gZGVmYXVsdDsKKyAgICBDYWNoZVN0b3JhZ2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYs
IFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYmKTsKKworICAgIC8vIEFjdGl2ZURPTU9iamVj
dAorICAgIHZvaWQgc3RvcCgpIGZpbmFsOworICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVj
dE5hbWUoKSBjb25zdCBmaW5hbDsKKyAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3Bl
bnNpb24oKSBjb25zdCBmaW5hbDsKKworICAgIHZvaWQgcmVmcmVzaENhY2hlTWFwKEZ1bmN0aW9u
PHZvaWQoKT4mJik7CisgICAgU3RyaW5nIG9yaWdpbigpIGNvbnN0OworCisgICAgVmVjdG9yPFJl
ZjxDYWNoZT4+IG1fY2FjaGVNYXA7CisgICAgUmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IG1f
Y29ubmVjdGlvbjsKKyAgICBib29sIG1faXNTdG9wcGVkIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvQ2FjaGVTdG9yYWdlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVT
dG9yYWdlLmlkbAppbmRleCA4ZDcxZTA5MDNlNzZlMWE0YjYyYmZiNmYwMjg0OTZmYjk4NmYwNjJh
Li43OGY1NzM2ODJiMTE1MjAwOTE5Y2M5YTc5Yzg4YzY1NjRmYzg4NWFiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaWRsCkBAIC0yOSwxMSArMjksMTQg
QEAgdHlwZWRlZiAoRmV0Y2hSZXF1ZXN0IG9yIFVTVlN0cmluZykgUmVxdWVzdEluZm87CiAgICAg
U2VjdXJlQ29udGV4dCwKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKICAgICBFbmFibGVk
QXRSdW50aW1lPUNhY2hlQVBJLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCisgICAg
UHJpdmF0ZUlkZW50aWZpZXIsCisgICAgUHVibGljSWRlbnRpZmllciwKIF0gaW50ZXJmYWNlIENh
Y2hlU3RvcmFnZSB7Ci0gICAgW05ld09iamVjdF0gUHJvbWlzZTxhbnk+IG1hdGNoKFJlcXVlc3RJ
bmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25zIG9wdGlvbnMpOworICAgIFtO
ZXdPYmplY3QsIEpTQnVpbHRpbl0gUHJvbWlzZTxhbnk+IG1hdGNoKFJlcXVlc3RJbmZvIHJlcXVl
c3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25zIG9wdGlvbnMpOwogICAgIFtOZXdPYmplY3Rd
IFByb21pc2U8Ym9vbGVhbj4gaGFzKERPTVN0cmluZyBjYWNoZU5hbWUpOwogICAgIFtOZXdPYmpl
Y3RdIFByb21pc2U8Q2FjaGU+IG9wZW4oRE9NU3RyaW5nIGNhY2hlTmFtZSk7CiAgICAgW05ld09i
amVjdCwgSW1wbGVtZW50ZWRBcz1yZW1vdmVdIFByb21pc2U8Ym9vbGVhbj4gZGVsZXRlKERPTVN0
cmluZyBjYWNoZU5hbWUpOwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8c2VxdWVuY2U8RE9NU3Ry
aW5nPj4ga2V5cygpOworCisgICAgW1ByaXZhdGVJZGVudGlmaWVyXSBQcm9taXNlPHNlcXVlbmNl
PENhY2hlPj4gY2FjaGVNYXAoKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUv
Q2FjaGVTdG9yYWdlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwNWMxYWJjZTdmNzU4MzQ5NzYzMDVkODMyY2Jm
MjgzYWRkZjJkNzgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nh
Y2hlL0NhY2hlU3RvcmFnZS5qcwpAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworZnVuY3Rp
b24gbWF0Y2gocmVxdWVzdCkKK3sKKyAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIEBDYWNoZVN0b3Jh
Z2UpKQorICAgICAgIHJldHVybiBAUHJvbWlzZS5AcmVqZWN0KEBtYWtlVGhpc1R5cGVFcnJvcigi
Q2FjaGVTdG9yYWdlIiwgIm1hdGNoIikpOworCisgICAgcmV0dXJuIEBDYWNoZVN0b3JhZ2UucHJv
dG90eXBlLkBjYWNoZU1hcC5AY2FsbCh0aGlzKS50aGVuKChjYWNoZU1hcCkgPT4geworICAgICAg
ICBsZXQgb3B0aW9ucyA9IGFyZ3VtZW50c1sxXTsKKyAgICAgICAgaWYgKEBpc09iamVjdChvcHRp
b25zKSAmJiBvcHRpb25zLmNhY2hlTmFtZSkgeworICAgICAgICAgICAgZm9yIChsZXQgY2FjaGUg
b2YgY2FjaGVNYXApIHsKKyAgICAgICAgICAgICAgICBpZiAoQENhY2hlLnByb3RvdHlwZS5AY2Fj
aGVOYW1lLkBjYWxsKGNhY2hlKSA9PT0gb3B0aW9ucy5jYWNoZU5hbWUpIHsKKyAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIEBDYWNoZS5wcm90b3R5cGUuQG1hdGNoQWxsLkBjYWxsKGNhY2hlLCBy
ZXF1ZXN0LCBvcHRpb25zKS50aGVuKChyZXN1bHQpID0+IHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChyZXN1bHQubGVuZ3RoKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVy
biByZXN1bHRbMF07CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiBAUHJvbWlzZS5AcmVzb2x2ZSgpOwor
ICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gbWF0Y2hOZXh0Q2FjaGUoY2FjaGVNYXAsIHJl
cXVlc3QsIG9wdGlvbnMsIGNvdW50ZXIpIHsKKyAgICAgICAgICAgIGlmIChjb3VudGVyID09PSBj
YWNoZU1hcC5sZW5ndGgpCisgICAgICAgICAgICAgICAgcmV0dXJuIEBQcm9taXNlLkByZXNvbHZl
KCk7CisKKyAgICAgICAgICAgIGxldCBjYWNoZSA9IEBDYWNoZVN0b3JhZ2UucHJvdG90eXBlLkBn
ZXQoY2FjaGVNYXBbY291bnRlcl0pOworICAgICAgICAgICAgcmV0dXJuIEBDYWNoZS5wcm90b3R5
cGUuQG1hdGNoQWxsLkBjYWxsKGNhY2hlLCByZXF1ZXN0LCBvcHRpb25zKS50aGVuKChyZXN1bHQp
ID0+IHsKKyAgICAgICAgICAgICAgICBpZiAocmVzdWx0Lmxlbmd0aCkKKyAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIHJlc3VsdFswXTsKKyAgICAgICAgICAgICAgICByZXR1cm4gbWF0Y2hOZXh0
Q2FjaGUoY2FjaGVNYXAsIHJlcXVlc3QsIG9wdGlvbnMsIGNvdW50ZXIgKyAxKTsKKyAgICAgICAg
ICAgIH0pOworICAgICAgICB9CisgICAgICAgIHJldHVybiBtYXRjaE5leHRDYWNoZShjYWNoZU1h
cCwgcmVxdWVzdCwgb3B0aW9ucywgMCk7CisgICAgfSk7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yOWViYjgxZDZjZGEyNGQ2YzRiMDk1MjEzZGE3NjNmYTk2ZGUyOTRiCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0
aW9uLmNwcApAQCAtMCwwICsxLDQ2IEBACisKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIgorCisjaW5jbHVkZSAiRXhj
ZXB0aW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRXhjZXB0aW9uIENhY2hlU3RvcmFn
ZUNvbm5lY3Rpb246OmV4Y2VwdGlvbkZyb21FcnJvcihFcnJvciBlcnJvcikKK3sKKyAgICBzd2l0
Y2ggKGVycm9yKSB7CisgICAgY2FzZSBFcnJvcjo6Tm9uZToKKyAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0
ZXJhbCgiVW5rbm93biBlcnJvciIpIH07CisgICAgY2FzZSBFcnJvcjo6Tm90SW1wbGVtZW50ZWQ6
CisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90
IGltcGxlbWVudGVkIikgfTsKKyAgICB9OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29u
bmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25u
ZWN0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZTY0Njg0NmM5NmIyZWQwMzk2MzI5YTRkMzVmOTdiZTcwN2Rh
MTI3MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbi5oCkBAIC0wLDAgKzEsNzggQEAKKworLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaW5jbHVkZSAiRmV0Y2hIZWFkZXJzLmgiCisjaW5jbHVkZSAiRmV0Y2hP
cHRpb25zLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCisjaW5jbHVkZSAiUmVzb3Vy
Y2VSZXNwb25zZS5oIgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENhY2hlUXVlcnlPcHRpb25zOworCitjbGFzcyBD
YWNoZVN0b3JhZ2VDb25uZWN0aW9uIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPENhY2hl
U3RvcmFnZUNvbm5lY3Rpb24+IHsKK3B1YmxpYzoKKyAgICBlbnVtIGNsYXNzIEVycm9yIHsKKyAg
ICAgICAgTm9uZSwKKyAgICAgICAgTm90SW1wbGVtZW50ZWQsCisgICAgfTsKKworICAgIHN0YXRp
YyBFeGNlcHRpb24gZXhjZXB0aW9uRnJvbUVycm9yKEVycm9yKTsKKworICAgIHN0cnVjdCBSZWNv
cmQgeworICAgICAgICB1aW50NjRfdCBpZGVudGlmaWVyOworCisgICAgICAgIEZldGNoSGVhZGVy
czo6R3VhcmQgcmVxdWVzdEhlYWRlcnNHdWFyZDsKKyAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJl
cXVlc3Q7CisgICAgICAgIEZldGNoT3B0aW9ucyBvcHRpb25zOworICAgICAgICBTdHJpbmcgcmVm
ZXJyZXI7CisKKyAgICAgICAgRmV0Y2hIZWFkZXJzOjpHdWFyZCByZXNwb25zZUhlYWRlcnNHdWFy
ZDsKKyAgICAgICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZTsKKyAgICB9OworCisgICAgc3Rh
dGljIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJl
ZigqbmV3IENhY2hlU3RvcmFnZUNvbm5lY3Rpb24oKSk7IH0KKyAgICB2aXJ0dWFsIH5DYWNoZVN0
b3JhZ2VDb25uZWN0aW9uKCkgPSBkZWZhdWx0OworCisgICAgdXNpbmcgUmVwb3J0RXJyb3JDYWxs
YmFjayA9IFdURjo6RnVuY3Rpb248dm9pZChFcnJvcik+OworICAgIHVzaW5nIENhY2hlTWFwQ2Fs
bGJhY2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoY29uc3QgVmVjdG9yPFN0cmluZz4mKT47CisgICAg
dXNpbmcgUmVjb3Jkc0NhbGxiYWNrID0gV1RGOjpGdW5jdGlvbjx2b2lkKFZlY3RvcjxSZWNvcmQ+
JiYpPjsKKyAgICB1c2luZyBCYXRjaE9wZXJhdGlvbkNhbGxiYWNrID0gV1RGOjpGdW5jdGlvbjx2
b2lkKFZlY3Rvcjx1aW50NjRfdD4mJiwgRXJyb3IpPjsKKworICAgIHZpcnR1YWwgdm9pZCBvcGVu
KGNvbnN0IFN0cmluZyYgLyogb3JpZ2luICovLCBjb25zdCBTdHJpbmcmIC8qIGNhY2hlTmFtZSAq
LywgUmVwb3J0RXJyb3JDYWxsYmFjayYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKEVycm9yOjpOb3RJ
bXBsZW1lbnRlZCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlKGNvbnN0IFN0cmluZyYgLyog
b3JpZ2luICovLCBjb25zdCBTdHJpbmcmIC8qIGNhY2hlTmFtZSAqLywgUmVwb3J0RXJyb3JDYWxs
YmFjayYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKEVycm9yOjpOb3RJbXBsZW1lbnRlZCk7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgcmVmcmVzaENhY2hlTWFwKGNvbnN0IFN0cmluZyYgLyogb3JpZ2luICov
LCBDYWNoZU1hcENhbGxiYWNrJiYgY2FsbGJhY2spIHsgY2FsbGJhY2soeyB9KTsgfQorCisgICAg
dmlydHVhbCB2b2lkIHJlZnJlc2hSZWNvcmRzKGNvbnN0IFN0cmluZyYgLyogb3JpZ2luICovLCBj
b25zdCBTdHJpbmcmIC8qIGNhY2hlTmFtZSAqLywgUmVjb3Jkc0NhbGxiYWNrJiYgY2FsbGJhY2sp
IHsgY2FsbGJhY2soeyB9KTsgfQorICAgIHZpcnR1YWwgdm9pZCBiYXRjaERlbGV0ZU9wZXJhdGlv
bihjb25zdCBTdHJpbmcmIC8qIG9yaWdpbiAqLywgY29uc3QgU3RyaW5nJiAvKiBjYWNoZU5hbWUg
Ki8sIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIENhY2hlUXVlcnlPcHRpb25zJiYsIEJhdGNoT3Bl
cmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykgeyBjYWxsYmFjayh7IH0sIEVycm9yOjpOb3RJbXBs
ZW1lbnRlZCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgYmF0Y2hQdXRPcGVyYXRpb24oY29uc3QgU3Ry
aW5nJiAvKiBvcmlnaW4gKi8sIGNvbnN0IFN0cmluZyYgLyogY2FjaGVOYW1lICovLCBSZWNvcmQm
JiwgQmF0Y2hPcGVyYXRpb25DYWxsYmFjayYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKHsgfSwgRXJy
b3I6Ok5vdEltcGxlbWVudGVkKTsgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZVJlY29y
ZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VSZWNvcmQuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wMGE2YWNlNGJhNGMwOTFkYzA5YTVkNDU1ZGY2YWM3Y2E1Y2FhMjdiCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VS
ZWNvcmQuaApAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
bmNsdWRlICJGZXRjaFJlcXVlc3QuaCIKKyNpbmNsdWRlICJGZXRjaFJlc3BvbnNlLmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IENhY2hlU3RvcmFnZVJlY29yZCB7CisgICAgdWlu
dDY0X3QgaWRlbnRpZmllcjsKKworICAgIFJlZjxGZXRjaFJlcXVlc3Q+IHJlcXVlc3Q7CisgICAg
UmVmPEZldGNoUmVzcG9uc2U+IHJlc3BvbnNlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNo
ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3Bw
CmluZGV4IDg2NjVjNTU2NzJlYTVmNDZiMDlkNGY5YjA3NWE2OTYyYzU5NTFlZDEuLmE4YTI2Njdi
YWE1MjUxYWVkYTA2NWQ4NDgzODYyNTUzZDUwNTg1NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvY2FjaGUvRE9NV2luZG93Q2FjaGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHAKQEAgLTI3LDcgKzI3LDExIEBACiAj
aW5jbHVkZSAiRE9NV2luZG93Q2FjaGVzLmgiCiAKICNpbmNsdWRlICJDYWNoZVN0b3JhZ2UuaCIK
KyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5o
IgorI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJQ
YWdlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTksOCArNjMsOCBAQCBDYWNoZVN0
b3JhZ2UqIERPTVdpbmRvd0NhY2hlczo6Y2FjaGVzKERPTVdpbmRvdyYgd2luZG93KQogCiBDYWNo
ZVN0b3JhZ2UqIERPTVdpbmRvd0NhY2hlczo6Y2FjaGVzKCkgY29uc3QKIHsKLSAgICBpZiAoIW1f
Y2FjaGVzICYmIGZyYW1lKCkpCi0gICAgICAgIG1fY2FjaGVzID0gQ2FjaGVTdG9yYWdlOjpjcmVh
dGUoKTsKKyAgICBpZiAoIW1fY2FjaGVzICYmIGZyYW1lKCkgJiYgZnJhbWUoKS0+cGFnZSgpICYm
IGZyYW1lKCktPmRvY3VtZW50KCkpCisgICAgICAgIG1fY2FjaGVzID0gQ2FjaGVTdG9yYWdlOjpj
cmVhdGUoKmZyYW1lKCktPmRvY3VtZW50KCksIGZyYW1lKCktPnBhZ2UoKS0+Y2FjaGVTdG9yYWdl
UHJvdmlkZXIoKS5jcmVhdGVDYWNoZVN0b3JhZ2VDb25uZWN0aW9uKGZyYW1lKCktPnBhZ2UoKS0+
c2Vzc2lvbklEKCkpKTsKICAgICByZXR1cm4gbV9jYWNoZXMuZ2V0KCk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hl
cy5jcHAKaW5kZXggMDUxNjk4ZTdjNmU1NzkwY2QyNzBhMzE4MGZmZWI0M2M3ZDdkZWFhYS4uYzUz
OWNkZTYzYjRiNGQyNzcxYzY5Y2ZmN2Q1OWI3ZjEyNTg1YjgxOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAK
QEAgLTQwLDcgKzQwLDcgQEAgV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMqIFdvcmtlckdsb2JhbFNj
b3BlQ2FjaGVzOjpmcm9tKFdvcmtlckdsb2JhbFNjb3BlJiBzY29wZSkKIHsKICAgICBhdXRvKiBz
dXBwbGVtZW50ID0gc3RhdGljX2Nhc3Q8V29ya2VyR2xvYmFsU2NvcGVDYWNoZXMqPihTdXBwbGVt
ZW50PFdvcmtlckdsb2JhbFNjb3BlPjo6ZnJvbSgmc2NvcGUsIHN1cHBsZW1lbnROYW1lKCkpKTsK
ICAgICBpZiAoIXN1cHBsZW1lbnQpIHsKLSAgICAgICAgYXV0byBuZXdTdXBwbGVtZW50ID0gc3Rk
OjptYWtlX3VuaXF1ZTxXb3JrZXJHbG9iYWxTY29wZUNhY2hlcz4oKTsKKyAgICAgICAgYXV0byBu
ZXdTdXBwbGVtZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxXb3JrZXJHbG9iYWxTY29wZUNhY2hlcz4o
c2NvcGUpOwogICAgICAgICBzdXBwbGVtZW50ID0gbmV3U3VwcGxlbWVudC5nZXQoKTsKICAgICAg
ICAgcHJvdmlkZVRvKCZzY29wZSwgc3VwcGxlbWVudE5hbWUoKSwgV1RGTW92ZShuZXdTdXBwbGVt
ZW50KSk7CiAgICAgfQpAQCAtNTUsNyArNTUsNyBAQCBDYWNoZVN0b3JhZ2UqIFdvcmtlckdsb2Jh
bFNjb3BlQ2FjaGVzOjpjYWNoZXMoV29ya2VyR2xvYmFsU2NvcGUmIHNjb3BlKQogQ2FjaGVTdG9y
YWdlKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6Y2FjaGVzKCkgY29uc3QKIHsKICAgICBpZiAo
IW1fY2FjaGVzKQotICAgICAgICBtX2NhY2hlcyA9IENhY2hlU3RvcmFnZTo6Y3JlYXRlKCk7Cisg
ICAgICAgIG1fY2FjaGVzID0gQ2FjaGVTdG9yYWdlOjpjcmVhdGUobV9zY29wZSwgQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbjo6Y3JlYXRlKCkpOwogICAgIHJldHVybiBtX2NhY2hlcy5nZXQoKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxT
Y29wZUNhY2hlcy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxT
Y29wZUNhY2hlcy5oCmluZGV4IDc5NWViZDYxOWUyNDIxZDRjZWIxYjc4Y2RlZTQzM2UxMjM1MTQ4
NmQuLmY2Y2M4NTFlMDg1ZTFkM2E1YzIzY2FjNmViN2QzZTZmYWMzOTc2NDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVz
LmgKQEAgLTM0LDcgKzM0LDcgQEAgY2xhc3MgV29ya2VyR2xvYmFsU2NvcGU7CiAKIGNsYXNzIFdv
cmtlckdsb2JhbFNjb3BlQ2FjaGVzIDogcHVibGljIFN1cHBsZW1lbnQ8V29ya2VyR2xvYmFsU2Nv
cGU+IHsKIHB1YmxpYzoKLSAgICBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcygpID0gZGVmYXVsdDsK
KyAgICBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcyhXb3JrZXJHbG9iYWxTY29wZSYgc2NvcGUpIDog
bV9zY29wZShzY29wZSkgeyB9OwogCiAgICAgc3RhdGljIENhY2hlU3RvcmFnZSogY2FjaGVzKFdv
cmtlckdsb2JhbFNjb3BlJik7CiAKQEAgLTQzLDYgKzQzLDcgQEAgcHJpdmF0ZToKICAgICBzdGF0
aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKICAgICBDYWNoZVN0b3JhZ2UqIGNhY2hl
cygpIGNvbnN0OwogCisgICAgV29ya2VyR2xvYmFsU2NvcGUmIG1fc2NvcGU7CiAgICAgbXV0YWJs
ZSBSZWZQdHI8Q2FjaGVTdG9yYWdlPiBtX2NhY2hlczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuaAppbmRleCBjMzIxM2U5NzIxMzkzMDBkNGE1
MTg1NGMwNTU5YWI1NTAxNGE5NTViLi43MWFmYzQ2Y2UwNTFlNGE4NGUzMWFjOTM0NDgzOTZjOGY4
NjFlMTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9k
eU93bmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25l
ci5oCkBAIC01Nyw2ICs1Nyw4IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25z
dCB7IHJldHVybiAhIW1fYmxvYkxvYWRlcjsgfQogCisgICAgYm9vbCBpc1JlYWRhYmxlU3RyZWFt
Qm9keSgpIGNvbnN0IHsgcmV0dXJuIG1fYm9keSAmJiBtX2JvZHktPmlzUmVhZGFibGVTdHJlYW0o
KTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgY29uc3QgRmV0Y2hCb2R5JiBib2R5KCkgY29uc3QgeyBy
ZXR1cm4gKm1fYm9keTsgfQogICAgIEZldGNoQm9keSYgYm9keSgpIHsgcmV0dXJuICptX2JvZHk7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJz
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5oCmluZGV4IGZj
M2IxMDhiOWEyZDVhZTU4MzdjMjNjNzkxZmUyMDljYjY4MzMyYzguLmZlZTFmOGYxZjM4MDkzYjBk
MzM1YjkxOGQ5MWRjZTQ0ZmNkOTdkMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaEhlYWRlcnMuaApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiRXhjZXB0aW9u
T3IuaCIKICNpbmNsdWRlICJIVFRQSGVhZGVyTWFwLmgiCisjaW5jbHVkZSA8d3RmL0VudW1UcmFp
dHMuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFRyYWl0cy5oPgogI2luY2x1ZGUgPHd0Zi9WYXJpYW50
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtNDksNyArNTAsNyBAQCBwdWJsaWM6CiAg
ICAgdXNpbmcgSW5pdCA9IFZhcmlhbnQ8VmVjdG9yPFZlY3RvcjxTdHJpbmc+PiwgVmVjdG9yPFdU
Rjo6S2V5VmFsdWVQYWlyPFN0cmluZywgU3RyaW5nPj4+OwogICAgIHN0YXRpYyBFeGNlcHRpb25P
cjxSZWY8RmV0Y2hIZWFkZXJzPj4gY3JlYXRlKHN0ZDo6b3B0aW9uYWw8SW5pdD4mJik7CiAKLSAg
ICBzdGF0aWMgUmVmPEZldGNoSGVhZGVycz4gY3JlYXRlKEd1YXJkIGd1YXJkID0gR3VhcmQ6Ok5v
bmUpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmV0Y2hIZWFkZXJzIHsgZ3VhcmQgfSk7IH0KKyAg
ICBzdGF0aWMgUmVmPEZldGNoSGVhZGVycz4gY3JlYXRlKEd1YXJkIGd1YXJkID0gR3VhcmQ6Ok5v
bmUsIEhUVFBIZWFkZXJNYXAmJiBoZWFkZXJzID0geyB9KSB7IHJldHVybiBhZG9wdFJlZigqbmV3
IEZldGNoSGVhZGVycyB7IGd1YXJkLCBXVEZNb3ZlKGhlYWRlcnMpIH0pOyB9CiAgICAgc3RhdGlj
IFJlZjxGZXRjaEhlYWRlcnM+IGNyZWF0ZShjb25zdCBGZXRjaEhlYWRlcnMmIGhlYWRlcnMpIHsg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgRmV0Y2hIZWFkZXJzIHsgaGVhZGVycyB9KTsgfQogCiAgICAg
RXhjZXB0aW9uT3I8dm9pZD4gYXBwZW5kKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
JiB2YWx1ZSk7CkBAIC04Miw5ICs4MywxMCBAQCBwdWJsaWM6CiAgICAgY29uc3QgSFRUUEhlYWRl
ck1hcCYgaW50ZXJuYWxIZWFkZXJzKCkgY29uc3QgeyByZXR1cm4gbV9oZWFkZXJzOyB9CiAKICAg
ICB2b2lkIHNldEd1YXJkKEd1YXJkKTsKKyAgICBHdWFyZCBndWFyZCgpIGNvbnN0IHsgcmV0dXJu
IG1fZ3VhcmQ7IH0KIAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBGZXRjaEhlYWRlcnMoR3VhcmQg
Z3VhcmQsIEhUVFBIZWFkZXJNYXAmJiBoZWFkZXJzID0geyB9KTsKKyAgICBGZXRjaEhlYWRlcnMo
R3VhcmQsIEhUVFBIZWFkZXJNYXAmJik7CiAgICAgRmV0Y2hIZWFkZXJzKGNvbnN0IEZldGNoSGVh
ZGVycyYpOwogCiAgICAgR3VhcmQgbV9ndWFyZDsKQEAgLTExMSwzICsxMTMsMTggQEAgaW5saW5l
IHZvaWQgRmV0Y2hIZWFkZXJzOjpzZXRHdWFyZChHdWFyZCBndWFyZCkKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51
bVRyYWl0czxXZWJDb3JlOjpGZXRjaEhlYWRlcnM6Okd1YXJkPiB7CisgICAgdXNpbmcgdmFsdWVz
ID0gRW51bVZhbHVlczwKKyAgICBXZWJDb3JlOjpGZXRjaEhlYWRlcnM6Okd1YXJkLAorICAgIFdl
YkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQ6Ok5vbmUsCisgICAgV2ViQ29yZTo6RmV0Y2hIZWFk
ZXJzOjpHdWFyZDo6SW1tdXRhYmxlLAorICAgIFdlYkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQ6
OlJlcXVlc3QsCisgICAgV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZDo6UmVxdWVzdE5vQ29y
cywKKyAgICBXZWJDb3JlOjpGZXRjaEhlYWRlcnM6Okd1YXJkOjpSZXNwb25zZQorICAgID47Cit9
OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9h
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCmlu
ZGV4IGUzYTUxZjFhZTg0MzkyYmYzMGZjOGI1ZDMzNTMxYTA5ZGI4NWNjYWMuLmVkZmFjNWMzODU5
MWQ5OWU4OGVkMGZkZjM2ZThkYzRkODk1OGQ2MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCkBAIC04MCw3ICs4MCw3IEBAIHZvaWQgRmV0Y2hMb2Fk
ZXI6OnN0YXJ0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZldGNoUmVx
dWVzdCYgcmVxCiAgICAgb3B0aW9ucy5kYXRhQnVmZmVyaW5nUG9saWN5ID0gRG9Ob3RCdWZmZXJE
YXRhOwogICAgIG9wdGlvbnMuc2FtZU9yaWdpbkRhdGFVUkxGbGFnID0gU2FtZU9yaWdpbkRhdGFV
UkxGbGFnOjpTZXQ7CiAKLSAgICBSZXNvdXJjZVJlcXVlc3QgZmV0Y2hSZXF1ZXN0ID0gcmVxdWVz
dC5pbnRlcm5hbFJlcXVlc3QoKTsKKyAgICBSZXNvdXJjZVJlcXVlc3QgZmV0Y2hSZXF1ZXN0ID0g
cmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKTsKIAogICAgIEFTU0VSVChjb250ZXh0LmNvbnRlbnRT
ZWN1cml0eVBvbGljeSgpKTsKICAgICBhdXRvJiBjb250ZW50U2VjdXJpdHlQb2xpY3kgPSAqY29u
dGV4dC5jb250ZW50U2VjdXJpdHlQb2xpY3koKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcAppbmRleCBlNjZjMTVjOTk0Y2U1MWVkZDU0OTNhZDI1ODc0
MmRkZTY4Y2EzZDRiLi44ZDBjMjM4NzgzYmFmMDM4NGQyN2M0ZDQ4ZjYxN2M2MTAyNzY5ZTgzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuY3BwCkBAIC03
NCw3ICs3NCw3IEBAIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbj4gc2V0UmVmZXJyZXIo
RmV0Y2hSZXF1ZXN0OjpJbnRlcm5hbFJlcXVlc3QmIHJlcXVlCiAKIHN0YXRpYyBzdGQ6Om9wdGlv
bmFsPEV4Y2VwdGlvbj4gYnVpbGRPcHRpb25zKEZldGNoUmVxdWVzdDo6SW50ZXJuYWxSZXF1ZXN0
JiByZXF1ZXN0LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBGZXRjaFJl
cXVlc3Q6OkluaXQmIGluaXQpCiB7Ci0gICAgaWYgKCFpbml0LndpbmRvdy5pc1VuZGVmaW5lZE9y
TnVsbCgpKQorICAgIGlmICghaW5pdC53aW5kb3cuaXNVbmRlZmluZWRPck51bGwoKSAmJiAhaW5p
dC53aW5kb3cuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9y
LCBBU0NJSUxpdGVyYWwoIldpbmRvdyBjYW4gb25seSBiZSBudWxsLiIpIH07CiAKICAgICBpZiAo
IWluaXQucmVmZXJyZXIuaXNOdWxsKCkpIHsKQEAgLTI2NCw3ICsyNjQsNyBAQCBjb25zdCBTdHJp
bmcmIEZldGNoUmVxdWVzdDo6dXJsKCkgY29uc3QKICAgICByZXR1cm4gbV9yZXF1ZXN0VVJMOwog
fQogCi1SZXNvdXJjZVJlcXVlc3QgRmV0Y2hSZXF1ZXN0OjppbnRlcm5hbFJlcXVlc3QoKSBjb25z
dAorUmVzb3VyY2VSZXF1ZXN0IEZldGNoUmVxdWVzdDo6cmVzb3VyY2VSZXF1ZXN0KCkgY29uc3QK
IHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmgKaW5kZXggMWYwYjE2ZThhNWExNzlmMGZl
YWMwYjU5N2RkNTg3NDlmYWVkYWJkZC4uNjFkY2QyYzU4NjMzMDk3ZDFlNjJlNmM1YTkxZWIxMDAy
MTc3OWMzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJl
cXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5o
CkBAIC01MywxMSArNTMsMTkgQEAgcHVibGljOgogICAgIHVzaW5nIFJlZGlyZWN0ID0gRmV0Y2hP
cHRpb25zOjpSZWRpcmVjdDsKICAgICB1c2luZyBUeXBlID0gRmV0Y2hPcHRpb25zOjpUeXBlOwog
CisgICAgc3RydWN0IEludGVybmFsUmVxdWVzdCB7CisgICAgICAgIFJlc291cmNlUmVxdWVzdCBy
ZXF1ZXN0OworICAgICAgICBGZXRjaE9wdGlvbnMgb3B0aW9uczsKKyAgICAgICAgU3RyaW5nIHJl
ZmVycmVyOworICAgIH07CisKICAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPEZldGNoUmVxdWVz
dD4+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgSW5mbyYmLCBJbml0JiYpOworICAg
IHN0YXRpYyBSZWY8RmV0Y2hSZXF1ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCwgc3RkOjpvcHRpb25hbDxGZXRjaEJvZHk+JiYgYm9keSwgUmVmPEZldGNoSGVhZGVy
cz4mJiBoZWFkZXJzLCBJbnRlcm5hbFJlcXVlc3QmJiByZXF1ZXN0KSB7IHJldHVybiBhZG9wdFJl
ZigqbmV3IEZldGNoUmVxdWVzdChjb250ZXh0LCBXVEZNb3ZlKGJvZHkpLCBXVEZNb3ZlKGhlYWRl
cnMpLCBXVEZNb3ZlKHJlcXVlc3QpKSk7IH0KIAogICAgIGNvbnN0IFN0cmluZyYgbWV0aG9kKCkg
Y29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVlc3QucmVxdWVzdC5odHRwTWV0aG9kKCk7IH0K
ICAgICBjb25zdCBTdHJpbmcmIHVybCgpIGNvbnN0OwogICAgIEZldGNoSGVhZGVycyYgaGVhZGVy
cygpIHsgcmV0dXJuIG1faGVhZGVycy5nZXQoKTsgfQorICAgIGNvbnN0IEZldGNoSGVhZGVycyYg
aGVhZGVycygpIGNvbnN0IHsgcmV0dXJuIG1faGVhZGVycy5nZXQoKTsgfQogCiAgICAgVHlwZSB0
eXBlKCkgY29uc3Q7CiAgICAgRGVzdGluYXRpb24gZGVzdGluYXRpb24oKSBjb25zdDsKQEAgLTcz
LDE3ICs4MSwxNCBAQCBwdWJsaWM6CiAKICAgICBFeGNlcHRpb25PcjxSZWY8RmV0Y2hSZXF1ZXN0
Pj4gY2xvbmUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOwogCi0gICAgc3RydWN0IEludGVybmFs
UmVxdWVzdCB7Ci0gICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0OwotICAgICAgICBGZXRj
aE9wdGlvbnMgb3B0aW9uczsKLSAgICAgICAgU3RyaW5nIHJlZmVycmVyOwotICAgIH07CisgICAg
Y29uc3QgSW50ZXJuYWxSZXF1ZXN0JiBpbnRlcm5hbFJlcXVlc3QoKSBjb25zdCB7IHJldHVybiBt
X2ludGVybmFsUmVxdWVzdDsgfQogCiAgICAgY29uc3QgRmV0Y2hPcHRpb25zJiBmZXRjaE9wdGlv
bnMoKSBjb25zdCB7IHJldHVybiBtX2ludGVybmFsUmVxdWVzdC5vcHRpb25zOyB9Ci0gICAgUmVz
b3VyY2VSZXF1ZXN0IGludGVybmFsUmVxdWVzdCgpIGNvbnN0OworICAgIFJlc291cmNlUmVxdWVz
dCByZXNvdXJjZVJlcXVlc3QoKSBjb25zdDsKICAgICBib29sIGlzQm9keVJlYWRhYmxlU3RyZWFt
KCkgY29uc3QgeyByZXR1cm4gIWlzQm9keU51bGwoKSAmJiBib2R5KCkuaXNSZWFkYWJsZVN0cmVh
bSgpOyB9CiAKICAgICBjb25zdCBTdHJpbmcmIGludGVybmFsUmVxdWVzdFJlZmVycmVyKCkgY29u
c3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVlc3QucmVmZXJyZXI7IH0KKyAgICBjb25zdCBVUkwm
IGludGVybmFsUmVxdWVzdFVSTCgpIGNvbnN0IHsgcmV0dXJuIG1faW50ZXJuYWxSZXF1ZXN0LnJl
cXVlc3QudXJsKCk7IH0KIAogcHJpdmF0ZToKICAgICBGZXRjaFJlcXVlc3QoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYsIHN0ZDo6b3B0aW9uYWw8RmV0Y2hCb2R5PiYmLCBSZWY8RmV0Y2hIZWFkZXJz
PiYmLCBJbnRlcm5hbFJlcXVlc3QmJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaFJlc3BvbnNlLmNwcAppbmRleCA2OGFkYjU1OWZlOTUzMGY3NDU2ZGM5NmY5ODg0Yjdm
ZmRkNmE4MWJlLi5jNmRhMTExYjE5NTg3NDE2MzVmMTMyMDM5MmU0YzZhYjc4MjM5ZmI0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHAKQEAgLTM1
NSw2ICszNTUsMTQgQEAgdm9pZCBGZXRjaFJlc3BvbnNlOjpjYW5jZWwoKQogCiAjZW5kaWYKIAor
UmVmUHRyPEZvcm1EYXRhPiBGZXRjaFJlc3BvbnNlOjpib2R5Rm9ySW50ZXJuYWxSZXNwb25zZSgp
Cit7CisgICAgQVNTRVJUKCFtX2lzRGlzdHVyYmVkKTsKKyAgICBtX2lzRGlzdHVyYmVkID0gdHJ1
ZTsKKyAgICByZXR1cm4gYm9keSgpLmJvZHlGb3JJbnRlcm5hbFJlcXVlc3QoKnNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSk7CisKK30KKwogdm9pZCBGZXRjaFJlc3BvbnNlOjpzdG9wKCkKIHsKICAg
ICBSZWZQdHI8RmV0Y2hSZXNwb25zZT4gcHJvdGVjdGVkVGhpcyh0aGlzKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmgKaW5kZXggZjliMDJmYjBlNTg3YWI0
ZWIzZDU1OTc5NGIzOTFmNzlmNWExZGM2Ni4uOTk2Yjg5ZTZjZjI3YmY0MjI3NGVlZDA3ZmVhNzAx
MDJjZWNlMzhmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aFJlc3BvbnNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3Bv
bnNlLmgKQEAgLTU3LDYgKzU3LDggQEAgcHVibGljOgogICAgIHN0YXRpYyBSZWY8RmV0Y2hSZXNw
b25zZT4gZXJyb3IoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOwogICAgIHN0YXRpYyBFeGNlcHRp
b25PcjxSZWY8RmV0Y2hSZXNwb25zZT4+IHJlZGlyZWN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
LCBjb25zdCBTdHJpbmcmIHVybCwgaW50IHN0YXR1cyk7CiAKKyAgICBzdGF0aWMgUmVmPEZldGNo
UmVzcG9uc2U+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBzdGQ6Om9w
dGlvbmFsPEZldGNoQm9keT4mJiBib2R5LCBSZWY8RmV0Y2hIZWFkZXJzPiYmIGhlYWRlcnMsIFJl
c291cmNlUmVzcG9uc2UmJiByZXNwb25zZSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBGZXRjaFJl
c3BvbnNlKGNvbnRleHQsIFdURk1vdmUoYm9keSksIFdURk1vdmUoaGVhZGVycyksIFdURk1vdmUo
cmVzcG9uc2UpKSk7IH0KKwogICAgIHVzaW5nIEZldGNoUHJvbWlzZSA9IERPTVByb21pc2VEZWZl
cnJlZDxJRExJbnRlcmZhY2U8RmV0Y2hSZXNwb25zZT4+OwogICAgIHN0YXRpYyB2b2lkIGZldGNo
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBGZXRjaFJlcXVlc3QmLCBGZXRjaFByb21pc2UmJik7
CiAKQEAgLTc4LDYgKzgwLDcgQEAgcHVibGljOgogICAgIGJvb2wgb2soKSBjb25zdCB7IHJldHVy
biBtX3Jlc3BvbnNlLmlzU3VjY2Vzc2Z1bCgpOyB9CiAgICAgY29uc3QgU3RyaW5nJiBzdGF0dXNU
ZXh0KCkgY29uc3QgeyByZXR1cm4gbV9yZXNwb25zZS5odHRwU3RhdHVzVGV4dCgpOyB9CiAKKyAg
ICBjb25zdCBGZXRjaEhlYWRlcnMmIGhlYWRlcnMoKSBjb25zdCB7IHJldHVybiBtX2hlYWRlcnM7
IH0KICAgICBGZXRjaEhlYWRlcnMmIGhlYWRlcnMoKSB7IHJldHVybiBtX2hlYWRlcnM7IH0KICAg
ICBSZWY8RmV0Y2hSZXNwb25zZT4gY2xvbmVGb3JKUygpOwogCkBAIC05MCw2ICs5MywxMCBAQCBw
dWJsaWM6CiAKICAgICBib29sIGlzTG9hZGluZygpIGNvbnN0IHsgcmV0dXJuICEhbV9ib2R5TG9h
ZGVyOyB9CiAKKyAgICBSZWZQdHI8Rm9ybURhdGE+IGJvZHlGb3JJbnRlcm5hbFJlc3BvbnNlKCk7
CisKKyAgICBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSgpIGNvbnN0IHsgcmV0dXJu
IG1fcmVzcG9uc2U7IH0KKwogcHJpdmF0ZToKICAgICBGZXRjaFJlc3BvbnNlKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmLCBzdGQ6Om9wdGlvbmFsPEZldGNoQm9keT4mJiwgUmVmPEZldGNoSGVhZGVy
cz4mJiwgUmVzb3VyY2VSZXNwb25zZSYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDhhYTU3YWRlZDUzYWY5OTRkOWJhNjdi
OTQ3MWU1YjJjOWE4Nzc0YjMuLjcxMWVkNDgwNDc3YTVlNTg0MDg3OWJjMGQ0ODY0ZGQ5MmI0YTNk
ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTE3ODQsNiArMTc4NCwxNCBAQAogCQk0MUNGOEJFNzFENDYyMjY3MDA3MDdEQzkg
LyogRmV0Y2hCb2R5Q29uc3VtZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDFDRjhCRTQxRDQ2MjIyMDAwNzA3REM5IC8qIEZldGNoQm9keUNvbnN1
bWVyLmNwcCAqLzsgfTsKIAkJNDFEMDE1Q0EwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQwMTVD
ODBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MUQwMTVDQjBGNEI1QzcxMDA0QTY2MkYgLyog
Q29udGVudFR5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDFEMDE1QzkwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmNwcCAqLzsgfTsK
KwkJNDFEMTI5Q0UxRjNEMEVGNjAwRDE1RTQ3IC8qIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUZCMjc4RDFG
MzRDMjgyMDA3OTU0ODcgLyogV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuaCAqLzsgfTsKKwkJNDFE
MTI5Q0YxRjNEMEVGRTAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMTI5QzkxRjNEMEVF
MzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwICovOyB9OworCQk0MUQxMjlE
MDFGM0QwRjA1MDBEMTVFNDcgLyogQ2FjaGVRdWVyeU9wdGlvbnMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRkIyNzlCMUYzNENFRjAwMDc5NTQ4NyAv
KiBDYWNoZVF1ZXJ5T3B0aW9ucy5oICovOyB9OworCQk0MUQxMjlEMTFGM0QwRjBFMDBEMTVFNDcg
LyogRE9NV2luZG93Q2FjaGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MUZCMjc4QzFGMzRDMjgyMDA3OTU0ODcgLyogRE9NV2luZG93Q2FjaGVzLmgg
Ki87IH07CisJCTQxRDEyOUQyMUYzRDBGMTIwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VSZWNvcmQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDEyOUNB
MUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VSZWNvcmQuaCAqLzsgfTsKKwkJNDFEMTI5
RDMxRjNEMEYxNjAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDEyOUNDMUYzRDBFRTMwMEQx
NUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDFEMTI5RDUxRjNEMEY2OTAwRDE1RTQ3IC8qIENh
Y2hlU3RvcmFnZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MUQxMjlENDFGM0QwRjY2MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUHJvdmlk
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0
MUQxMjlEQjFGM0QxNDM4MDBEMTVFNDcgLyogRmV0Y2hIZWFkZXJzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUY1NEY4MzFDNTBDNEY2MDAzMzg0ODgg
LyogRmV0Y2hIZWFkZXJzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNDFERUZDQjUxRTU2QzFCRDAwMEQ5RTVGIC8qIEpTRE9NTWFwTGlrZS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MURFRkNCMzFF
NTZDMUI5MDAwRDlFNUYgLyogSlNET01NYXBMaWtlLmNwcCAqLzsgfTsKIAkJNDFERUZDQjYxRTU2
QzFCRDAwMEQ5RTVGIC8qIEpTRE9NTWFwTGlrZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDFERUZDQjQxRTU2QzFCOTAwMEQ5RTVGIC8qIEpTRE9NTWFw
TGlrZS5oICovOyB9OwogCQk0MUUxQjFEMDBGRjU5ODY5MDA1NzZCM0IgLyogQWJzdHJhY3RXb3Jr
ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFF
MUIxQ0EwRkY1OTg2OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2VyLmNwcCAqLzsgfTsKQEAgLTk0
NDQsNiArOTQ1MiwxMSBAQAogCQk0MUNGOEJFNjFENDYyMjJDMDA3MDdEQzkgLyogRmV0Y2hJbnRl
cm5hbHMuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBGZXRjaElu
dGVybmFscy5qczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFEMDE1QzgwRjRCNUM3
MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IENvbnRlbnRUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRDAxNUM5
MEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBDb250ZW50VHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTQxRDEyOUM5MUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhY2hlU3RvcmFnZUNv
bm5lY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUQxMjlDQTFGM0Qw
RUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUmVjb3JkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENhY2hlU3RvcmFnZVJlY29yZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk0MUQxMjlDQjFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlLmpzICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gQ2FjaGVTdG9yYWdlLmpzOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUQxMjlDQzFGM0QwRUUzMDBEMTVFNDcgLyogQ2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
YWNoZVN0b3JhZ2VDb25uZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQx
RDEyOUQ0MUYzRDBGNjYwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VQcm92aWRlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZVN0b3JhZ2VQcm92aWRlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MUQ1MUJCMjFFNEUyRTgxMDAxMzFBNUIgLyogTGliV2Vi
UlRDQXVkaW9Gb3JtYXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2Vi
UlRDQXVkaW9Gb3JtYXQuaDsgcGF0aCA9IGxpYndlYnJ0Yy9MaWJXZWJSVENBdWRpb0Zvcm1hdC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MURFRkNCMjFFNTZDMUI5MDAwRDlFNUYg
LyogSlNET01CaW5kaW5nSW50ZXJuYWxzLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2Ny
aXB0OyBwYXRoID0gSlNET01CaW5kaW5nSW50ZXJuYWxzLmpzOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MURFRkNCMzFFNTZDMUI5MDAwRDlFNUYgLyogSlNET01NYXBMaWtlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9NTWFwTGlrZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzY0NCw2ICsxNzY1NywxMCBAQAogCQkJCTQx
MzgwQzIxMUYzNDM2OEQwMDE1NUZEQSAvKiBDYWNoZVN0b3JhZ2UuY3BwICovLAogCQkJCTQxMzgw
QzIyMUYzNDM2OTAwMDE1NUZEQSAvKiBDYWNoZVN0b3JhZ2UuaCAqLywKIAkJCQk0MTM4MEMyNDFG
MzQzNjk3MDAxNTVGREEgLyogQ2FjaGVTdG9yYWdlLmlkbCAqLywKKwkJCQk0MUQxMjlDQjFGM0Qw
RUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlLmpzICovLAorCQkJCTQxRDEyOUM5MUYzRDBFRTMw
MEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCAqLywKKwkJCQk0MUQxMjlDQzFG
M0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oICovLAorCQkJCTQxRDEy
OUNBMUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VSZWNvcmQuaCAqLywKIAkJCQk0MUZC
Mjc4RTFGMzRDMjgyMDA3OTU0ODcgLyogRE9NV2luZG93Q2FjaGVzLmNwcCAqLywKIAkJCQk0MUZC
Mjc4QzFGMzRDMjgyMDA3OTU0ODcgLyogRE9NV2luZG93Q2FjaGVzLmggKi8sCiAJCQkJNDEzODBD
MkIxRjM0M0UyRjAwMTU1RkRBIC8qIERPTVdpbmRvd0NhY2hlcy5pZGwgKi8sCkBAIC0xODYwMywx
MiArMTg2MjAsMTIgQEAKIAkJCQk1MTgyQzI1MjFGMzE0MjUwMDA1OUJBN0MgLyogSlNTZXJ2aWNl
V29ya2VyLmggKi8sCiAJCQkJNTE4MkMyNTExRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdv
cmtlckNvbnRhaW5lci5jcHAgKi8sCiAJCQkJNTE4MkMyNTQxRjMxNDI1MDAwNTlCQTdDIC8qIEpT
U2VydmljZVdvcmtlckNvbnRhaW5lci5oICovLAotCQkJCTUxRjE3NTAwMUYzNThCMzYwMEM3NDk1
MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5jcHAgKi8sCi0JCQkJNTFGMTc1MDEx
RjM1OEIzNjAwQzc0OTUwIC8qIEpTU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggKi8sCiAJ
CQkJNTE4MkMyNEUxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
LmNwcCAqLywKIAkJCQk1MTgyQzI0RDFGMzE0MjUwMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGUuaCAqLywKIAkJCQk1MTgyQzI0RjFGMzE0MjUwMDA1OUJBN0MgLyogSlNTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcCAqLywKIAkJCQk1MTgyQzI1MDFGMzE0MjUwMDA1OUJB
N0MgLyogSlNTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmggKi8sCisJCQkJNTFGMTc1MDAxRjM1
OEIzNjAwQzc0OTUwIC8qIEpTU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmNwcCAqLywKKwkJ
CQk1MUYxNzUwMTFGMzU4QjM2MDBDNzQ5NTAgLyogSlNTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2Fj
aGUuaCAqLywKIAkJCSk7CiAJCQluYW1lID0gU2VydmljZVdvcmtlcnM7CiAJCQlwYXRoID0gRGVy
aXZlZFNvdXJjZXM7CkBAIC0xOTIxMyw2ICsxOTIzMCw3IEBACiAJCQkJQkMxMjRFRTYwQzI2NDFD
RDAwOUUyMzQ5IC8qIEJhclByb3AuaWRsICovLAogCQkJCTQ2MEJCNjEzMUQwQTFCRUMwMDIyMTgx
MiAvKiBCYXNlNjRVdGlsaXRpZXMuY3BwICovLAogCQkJCTQ2MEJCNjE0MUQwQTFCRUMwMDIyMTgx
MiAvKiBCYXNlNjRVdGlsaXRpZXMuaCAqLywKKwkJCQk0MUQxMjlENDFGM0QwRjY2MDBEMTVFNDcg
LyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAqLywKIAkJCQkwNzJDQTg2MDE2Q0I0REMzMDA4QUUx
MzEgLyogQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAgKi8sCiAJCQkJMDc5RDA4NjcxNjJGMjBF
ODAwREI4NjU4IC8qIENhcHRpb25Vc2VyUHJlZmVyZW5jZXMuaCAqLywKIAkJCQkwNzlEMDg2QTE2
MkYyMUY5MDBEQjg2NTggLyogQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwICovLApA
QCAtMjY2OTksNyArMjY3MTcsMTEgQEAKIAkJCQkwNzUzODYwMzE0NDg5RTk4MDBCNzg0NTIgLyog
Q2FjaGVkVGV4dFRyYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0IxNkMyODA5NzlDM0JEMDA0
Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk5
NTAwODI0NUU1OTAwMUU5QUJDIC8qIENhY2hlUG9saWN5LmggaW4gSGVhZGVycyAqLywKKwkJCQk0
MUQxMjlEMDFGM0QwRjA1MDBEMTVFNDcgLyogQ2FjaGVRdWVyeU9wdGlvbnMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQxMzgwQzI5MUYzNDM2QUMwMDE1NUZEQSAvKiBDYWNoZVN0b3JhZ2UuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTQxRDEyOUQzMUYzRDBGMTYwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUQxMjlENTFGM0QwRjY5MDBEMTVFNDcg
LyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxRDEyOUQyMUYz
RDBGMTIwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VSZWNvcmQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUU0M0FGOEU3MUFDNUI3RUMwMENBNzE3RSAvKiBDYWNoZVZhbGlkYXRpb24uaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQ5QUUyRDk3MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjdWxhdGlvblZhbHVlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk3QzFFOEQwMTFFRDBDMkRBMDBCMUQ5ODMgLyogQ2FsbGJhY2tS
ZXN1bHQuaCBpbiBIZWFkZXJzICovLApAQCAtMjY3NjQsNyArMjY3ODYsNiBAQAogCQkJCUE1ODRG
RTJDMTg2Mzg3MEYwMDg0M0IxMCAvKiBDb21tYW5kTGluZUFQSU1vZHVsZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTU4NEZFMjYxODYzN0RBQjAwODQzQjEwIC8qIENvbW1hbmRMaW5lQVBJTW9kdWxl
U291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NTUwQjZBMjA5OURGMDI3MDA5MEQ3ODEgLyog
Q29tbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTExQ0E2N0UxRjM5MDVBNjAwMTlFMDc0IC8q
IFNlcnZpY2VXb3JrZXJKb2IuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3RTY2NEZDMUU3MzcwMzMw
MDc2NTUzNiAvKiBDb21tb25DcnlwdG9ERVJVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUUxRkUxMzc1MTg0MDJBNjcwMDg5MkYxMyAvKiBDb21tb25DcnlwdG9VdGlsaXRpZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGNjBGMzJCMURGQkIxMDcwMDQxNkQ2QyAvKiBDb21tb25WTS5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0yNzE3Miw2ICsyNzE5Myw3IEBACiAJCQkJMkUzN0RGREIxMkRCQUZC
ODAwQTZCMjMzIC8qIERPTVVSTC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0Q5REUxODIxN0FBRDZB
NDAwRUEzODZEIC8qIERPTVVSTE1lZGlhU291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNDAz
Qjk5NzA5RUIxM0FGMDA3OTdDN0YgLyogRE9NV2luZG93LmggaW4gSGVhZGVycyAqLywKKwkJCQk0
MUQxMjlEMTFGM0QwRjBFMDBEMTVFNDcgLyogRE9NV2luZG93Q2FjaGVzLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1MUZBMkQ3ODE1MjEzMkIzMDBDMUJBMEIgLyogRE9NV2luZG93RXh0ZW5zaW9uLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1MTg1RkM3NTFCQjRDNEU4MDAxMjg5OEYgLyogRE9NV2luZG93
SW5kZXhlZERhdGFiYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0QyQUQwNDE0QjgyM0E2MDA5
M0RGMzIgLyogRE9NV2luZG93UHJvcGVydHkuaCBpbiBIZWFkZXJzICovLApAQCAtMjcyNjcsNiAr
MjcyODksNyBAQAogCQkJCTg0NzMwRDg1MTI0OEYwQjMwMEQzQTlDOSAvKiBGRU1vcnBob2xvZ3ku
aCBpbiBIZWFkZXJzICovLAogCQkJCTg0NzMwRDg3MTI0OEYwQjMwMEQzQTlDOSAvKiBGRU9mZnNl
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ3MzBEODkxMjQ4RjBCMzAwRDNBOUM5IC8qIEZFU3Bl
Y3VsYXJMaWdodGluZy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5REIxRjNEMTQzODAwRDE1
RTQ3IC8qIEZldGNoSGVhZGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE2RTZGRTgxQkJEMTJE
RjAwMEE2MDIzIC8qIEZldGNoSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTQxQUQ3NTNBMUNFRjZCRDEwMEEzMTQ4NiAvKiBGZXRjaE9wdGlvbnMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTdDRTE5MTREMUYyQTlBRkIwMDI3MkY3OCAvKiBGZXRjaFJlZmVycmVyUG9saWN5Lmgg
aW4gSGVhZGVycyAqLywKQEAgLTI3NDAwLDcgKzI3NDIzLDYgQEAKIAkJCQkzMTZCREJGNzFFNzYy
QUQ1MDBERTBENUEgLyogR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMzE2QkRCRjAxRTc2MjkyMDAwREUwRDVBIC8qIEdQVURlcHRoU3RlbmNpbFN0YXRlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkzMTZCREI4NjFFNkUwQTI3MDBERTBENUEgLyogR1BVRGV2aWNl
LmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzRGRTFGMzU4OTkyMDBDNzQ5NTAgLyogV29ya2Vy
VHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE2QkRCQ0QxRTc1RjE4NDAwREUwRDVBIC8qIEdQ
VURyYXdhYmxlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTZCREJGQjFFNzYyRDA0MDBERTBENUEg
LyogR1BVRW51bXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxNkJEQjk1MUU3MEM4OTcwMERFMEQ1
QSAvKiBHUFVGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzQ4MiwxNCArMjc1MDQsMTIg
QEAKIAkJCQk5M0YxOThFNTA4MjQ1RTU5MDAxRTlBQkMgLyogSFRNTERvY3VtZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk5NzdCMzg2NzEyMjg4M0U5MDBCODFGRjggLyogSFRNTERvY3VtZW50UGFy
c2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0YxOThFNjA4MjQ1RTU5MDAxRTlBQkMgLyogSFRN
TEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTUxQkVCNjM5MUYzQjk0QjAwMDUwMjlCOSAv
KiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTE3QzgxMjMwRjJBNUNGNzAwNURBQUVCIC8qIEhUTUxFbGVtZW50RmFjdG9yeS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJOTc3QjM3MjQxMjI4NzIxNzAwQjgxRkY4IC8qIEhUTUxFbGVtZW50U3RhY2su
aCBpbiBIZWFkZXJzICovLAogCQkJCUI1NjJEQjYwMTdEM0NENjMwMDEwQUY5NiAvKiBIVE1MRWxl
bWVudFR5cGVIZWxwZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODcxRDQ1QzBBMTI3Q0JDMDBC
MTJBNjggLyogSFRNTEVtYmVkRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc3QjM4NkEx
MjI4ODNFOTAwQjgxRkY4IC8qIEhUTUxFbnRpdHlQYXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTk3N0IzODZDMTIyODgzRTkwMEI4MUZGOCAvKiBIVE1MRW50aXR5U2VhcmNoLmggaW4gSGVhZGVy
cyAqLywKLQkJCQk1MUYxNzRGRjFGMzU4OTk3MDBDNzQ5NTAgLyogU2VydmljZVdvcmtlclVwZGF0
ZVZpYUNhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzdCMzg2RDEyMjg4M0U5MDBCODFGRjgg
LyogSFRNTEVudGl0eVRhYmxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODEzNjlENDA5NzM3NEY2
MDBENzQ0NjMgLyogSFRNTEZpZWxkU2V0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThD
RkY3QTYwQTE1Njk3ODAwMEE0MjM0IC8qIEhUTUxGb250RWxlbWVudC5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yODIzNyw2ICsyODI1Nyw3IEBACiAJCQkJNTE4MkMyNTgxRjMxNDNDRDAwNTlCQTdDIC8q
IEpTU2VydmljZVdvcmtlckNvbnRhaW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4MkMyNUEx
RjMxNDNDRDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1MTgyQzI1QzFGMzE0M0NEMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MUYxNzUwMzFGMzU4QjNCMDBDNzQ5NTAg
LyogSlNTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTlC
REE2NEQ4MUI5NzVDRjIwMDlDNDM4NyAvKiBKU1NoYWRvd1Jvb3QuaCBpbiBIZWFkZXJzICovLAog
CQkJCTQ2REZGNDlDMURDMjYyMEIwMEI4MEI0OCAvKiBKU1NoYWRvd1Jvb3RNb2RlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlDRDlERTE3QjE3QUFDNzVCMDBFQTM4NkQgLyogSlNTb3VyY2VCdWZmZXIu
aCBpbiBIZWFkZXJzICovLApAQCAtMjg0MzYsNyArMjg0NTcsNiBAQAogCQkJCTZFM0ZBRDM5MTQ3
MzNGNDAwMEU0MjMwNiAvKiBKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk2RUU4QTc3MzEwRjgwM0YzMDA1QTRBMjQgLyogSlNXZWJHTENvbnRleHRBdHRy
aWJ1dGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzJDQkY0RTE0MEYxQUJEMDAzODc5QkUgLyog
SlNXZWJHTENvbnRleHRFdmVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTFGMTc1MDYxRjM1OEJG
NzAwQzc0OTUwIC8qIEpTV29ya2VyVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkUzRkFEMzkx
NDczM0Y0MDExRTQyMzA3IC8qIEpTV2ViR0xEZWJ1Z1JlbmRlcmVySW5mby5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNkUzRkFEMzkxNDczM0Y0MDIyRTQyMzA3IC8qIEpTV2ViR0xEZWJ1Z1NoYWRlcnMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTZFM0ZBRDM5MTQ3MzNGNDAwMEU0MjMwNyAvKiBKU1dlYkdM
RGVwdGhUZXh0dXJlLmggaW4gSGVhZGVycyAqLywKQEAgLTI4NDk0LDYgKzI4NTE0LDcgQEAKIAkJ
CQlFMUMzNkQzNTBFQjBBMDk0MDA3NDEwQkMgLyogSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuaCBp
biBIZWFkZXJzICovLAogCQkJCUUxQzM2MkVGMEVBRjJBQTkwMDc0MTBCQyAvKiBKU1dvcmtlckxv
Y2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTI3MUE1ODBFRUVDREU0MDBGNjEyMTMgLyog
SlNXb3JrZXJOYXZpZ2F0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxRjE3NTA2MUYzNThCRjcw
MEM3NDk1MCAvKiBKU1dvcmtlclR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNEM5NkREMUFE
NDQ4MzUwMDM2NUE2MCAvKiBKU1dyaXRhYmxlU3RyZWFtLmggaW4gSGVhZGVycyAqLywKIAkJCQk4
MzU4Q0I3MDFDNTMyNzc1MDBFMEMyRDggLyogSlNYTUxEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkMzNDhCRDQwREI3RjgwNDAwNEFCQUI5IC8qIEpTWE1MSHR0cFJlcXVlc3QuaCBpbiBI
ZWFkZXJzICovLApAQCAtMjg3MTUsNyArMjg3MzYsNiBAQAogCQkJCTQxM0UwMDc5MURCMEU0RjIw
MDIzNDFEMiAvKiBNZW1vcnlSZWxlYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOURGQTA5
OUU2NDkyMDA1NkU1ODEgLyogTWVyZ2VJZGVudGljYWxFbGVtZW50c0NvbW1hbmQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUUxQURFQ0NFMEU3NkFEOEIwMDRBMUE1RSAvKiBNZXNzYWdlQ2hhbm5lbC5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJNTFGMTc1MDMxRjM1OEIzQjAwQzc0OTUwIC8qIEpTU2Vydmlj
ZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3NTc5M0U4NDBEMENF
MEIzMDA3RkMwQUMgLyogTWVzc2FnZUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUFERUNC
RjBFNzZBQ0YxMDA0QTFBNUUgLyogTWVzc2FnZVBvcnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQx
QkY3MDBDMEZFODZGNDkwMDVFOERFQyAvKiBNZXNzYWdlUG9ydENoYW5uZWwuaCBpbiBIZWFkZXJz
ICovLApAQCAtMjg3MzcsNyArMjg3NTcsNiBAQAogCQkJCTA3RUU3NkVDMUJFOTZEQjAwMEY4OTEz
MyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdFRTc2
RUYxQkVBNjE5ODAwRjg5MTMzIC8qIE1vY2tSZWFsdGltZVZpZGVvU291cmNlTWFjLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlDREYyQjAxNzE4MjA1NDA3MDBGMkI0MjQgLyogTW9ja1NvdXJjZUJ1ZmZl
clByaXZhdGUuaCBpbiBIZWFkZXJzICovLAotCQkJCTUxMUNBNjgwMUYzOTMzMUYwMDE5RTA3NCAv
KiBTZXJ2aWNlV29ya2VySm9iQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlDREYyQjAxOTE4
MjA1NDA3MDBGMkI0MjQgLyogTW9ja1RyYWNrcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzZENzRB
RDUwOUFBMjgyRTAwMEIwQTUyIC8qIE1vZGlmeVNlbGVjdGlvbkxpc3RMZXZlbC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNzA5QTAxRkUxRTNEMEJERDAwNkIwRDRDIC8qIE1vZHVsZUZldGNoRmFpbHVy
ZUtpbmQuaCBpbiBIZWFkZXJzICovLApAQCAtMjkwNTAsNyArMjkwNjksNiBAQAogCQkJCTA3QzFD
MEU1MUJGQjYwRUQwMEJEMjI1NiAvKiBSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3Ry
YWludHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxMTAzQUFDMUUzOTc5MTAwMDc2OUYwMyAvKiBS
ZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNDM2OEU4
MEMyMjZFMzIwMDVFRkI1RiAvKiBSZWN0LmggaW4gSGVhZGVycyAqLywKLQkJCQk1MTFDQTY4NDFG
M0EzQ0Q5MDAxOUUwNzQgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblBhcmFtZXRlcnMuaCBp
biBIZWFkZXJzICovLAogCQkJCUZENDVBOTU4MTc1RDQxNEMwMEMyMUVDOCAvKiBSZWN0YW5nbGVT
aGFwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTgzMUFFNEExNTQyMjVDOTAwRkUyNjQ0IC8qIFJl
ZmVycmVyUG9saWN5LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0FCNDE4MjEzRTM1NkU4MDBEOEFB
RjMgLyogUmVnaW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTI5Mzk1LDcgKzI5NDEzLDEzIEBACiAJ
CQkJNTE4MkMyM0YxRjMxM0EwOTAwNTlCQTdDIC8qIFNlcnZpY2VXb3JrZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTUxODJDMjQxMUYzMTNBMDkwMDU5QkE3QyAvKiBTZXJ2aWNlV29ya2VyQ29udGFp
bmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTgyQzI0MzFGMzEzQTA5MDA1OUJBN0MgLyogU2Vy
dmljZVdvcmtlckdsb2JhbFNjb3BlLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTFDQTY3RTFGMzkw
NUE2MDAxOUUwNzQgLyogU2VydmljZVdvcmtlckpvYi5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTEx
Q0E2ODAxRjM5MzMxRjAwMTlFMDc0IC8qIFNlcnZpY2VXb3JrZXJKb2JDbGllbnQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTUxMUNBNjdBMUYzOTA0QjEwMDE5RTA3NCAvKiBTZXJ2aWNlV29ya2VyUHJv
dmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxODJDMjQ1MUYzMTNBMDkwMDU5QkE3QyAvKiBT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MUJFQjYzOTFG
M0I5NEIwMDA1MDI5QjkgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlvbnMuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTUxMUNBNjg0MUYzQTNDRDkwMDE5RTA3NCAvKiBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTFGMTc0RkYxRjM1
ODk5NzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNzU2QjJDRTExOEI3MTAxNjAwRkVDRkFBIC8qIFNlc3Npb25JRC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJOTMzMDlFMTAwOTlFNjQ5MjAwNTZFNTgxIC8qIFNldE5vZGVBdHRyaWJ1dGVD
b21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlCOERCREI0QzEzMEIwRjhBMDBGNUNEQjEgLyog
U2V0U2VsZWN0aW9uQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yOTcyOCw3ICsyOTc1Miw2
IEBACiAJCQkJODNDMUQ0MkYxNzhENUFCNTAwMTQxRTY4IC8qIFNWR1BhdGhTZWdMaW5ldG9BYnMu
aCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QTc4MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdQYXRo
U2VnTGluZXRvSG9yaXpvbnRhbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODNDMUQ0MzAxNzhENUFC
NTAwMTQxRTY4IC8qIFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsQWJzLmggaW4gSGVhZGVycyAq
LywKLQkJCQk1MTFDQTY3QTFGMzkwNEIxMDAxOUUwNzQgLyogU2VydmljZVdvcmtlclByb3ZpZGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4M0MxRDQzMTE3OEQ1QUI1MDAxNDFFNjggLyogU1ZHUGF0
aFNlZ0xpbmV0b0hvcml6b250YWxSZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzQzFENDMyMTc4
RDVBQjUwMDE0MUU2OCAvKiBTVkdQYXRoU2VnTGluZXRvUmVsLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCMjIyN0E3RDBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsLmgg
aW4gSGVhZGVycyAqLywKQEAgLTMwMTgxLDYgKzMwMjA0LDcgQEAKIAkJCQlBNTJBNjg2NjFEQkQ0
QjVEMDA4MzM3M0YgLyogV29ya2VyRGVidWdnZXJBZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTNFMjY0MzExNDc0ODk5MTAwNUE4NTg4IC8qIFdvcmtlckV2ZW50UXVldWUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTJFNDM0NjQ5MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJHbG9iYWxTY29wZS5o
IGluIEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5Q0UxRjNEMEVGNjAwRDE1RTQ3IC8qIFdvcmtlckds
b2JhbFNjb3BlQ2FjaGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTg1RkNCNDFCQjRDNEU4MDAx
Mjg5OEYgLyogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuaCBpbiBIZWFkZXJzICov
LAogCQkJCTJFNDM0NjRCMEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJHbG9iYWxTY29wZVByb3h5
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTRBMEM2MjFEQjdGOEMxMDAxN0E5MEIgLyogV29ya2Vy
SW5zcGVjdG9yQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDIwMiw2ICszMDIyNiw3
IEBACiAJCQkJMEI5MDU2RjkwRjI2ODVGMzAwOTVGRjZBIC8qIFdvcmtlclRocmVhZGFibGVMb2Fk
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUFCRDJEMTRGQTA5RDUwMDc0NTdBRSAvKiBXb3Jr
ZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU0QTBD
NjgxREI4MDdEOTAwMTdBOTBCIC8qIFdvcmtlclRvUGFnZUZyb250ZW5kQ2hhbm5lbC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNTFGMTc0RkUxRjM1ODk5MjAwQzc0OTUwIC8qIFdvcmtlclR5cGUuaCBp
biBIZWFkZXJzICovLAogCQkJCTkzMzA5RTI0MDk5RTY0OTIwMDU2RTU4MSAvKiBXcmFwQ29udGVu
dHNJbkR1bW15U3BhbkNvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxNkU2RkU5MUJCRDEy
RTUwMDBBNjA1MyAvKiBXcml0YWJsZVN0cmVhbUJ1aWx0aW5zLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk0MTZFNkZFODFCQkQxMkRGMDAwQTYwNTMgLyogV3JpdGFibGVTdHJlYW1JbnRlcm5hbHNCdWls
dGlucy5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDc5Miw2ICszMDgxNyw3IEBACiAJCQkJMDc1Mzg2
MDIxNDQ4OUU5ODAwQjc4NDUyIC8qIENhY2hlZFRleHRUcmFjay5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlCQ0IxNkMyNzA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVldC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk0MTM4MEMyODFGMzQzNkFDMDAxNTVGREEgLyogQ2FjaGVTdG9y
YWdlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxRDEyOUNGMUYzRDBFRkUwMEQxNUU0NyAvKiBD
YWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0M0FGOEU2MUFD
NUI3RTgwMENBNzE3RSAvKiBDYWNoZVZhbGlkYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NDlBRTJEOTYxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGN1bGF0aW9uVmFsdWUuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJOTUyMDc2MDQxRjI2NzVGRTAwN0QyQUFCIC8qIENhbGxUcmFjZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCkBAIC0zMTQ0NSw3ICszMTQ3MSw2IEBACiAJCQkJNTE3NDFEMTIwQjA3MjU5
QTAwRUQ0NDJDIC8qIEhpc3RvcnlJdGVtLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxNjBGNDk4
MEIwQUE3NUYwMEMxRDJBRiAvKiBIaXN0b3J5SXRlbU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTQ5NjlCMEYyMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGUuY3Bw
IGluIFNvdXJjZXMgKi8sCi0JCQkJNTExQ0E2ODMxRjNBM0NEOTAwMTlFMDc0IC8qIFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25QYXJhbWV0ZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEODI4
N0Y2MTZFNEEwMzgwMDg2QkQwMCAvKiBIaXRUZXN0TG9jYXRpb24uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJOTMwN0YxRDcwQUYyRDU5MDAwREJBMzFBIC8qIEhpdFRlc3RSZXN1bHQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRkQzMTYwOTgxMkIwMjZGNzAwQzFBMzU5IC8qIEhSVEZEYXRhYmFzZS5j
cHAgaW4gU291cmNlcyAqLywKQEAgLTMyMDc0LDcgKzMyMDk5LDYgQEAKIAkJCQkxMkEyNTNFMDFD
OEZGRjY2MDBDMjIyOTUgLyogSlNLZXlmcmFtZUVmZmVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk5MzVGNDU0MjBGN0MzQjVGMDBEN0MxRkIgLyogSlNMYXp5RXZlbnRMaXN0ZW5lci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlCQ0UxQzQzQjBEOTgzMEQzMDAzQjAyRjIgLyogSlNMb2NhdGlvbi5j
cHAgaW4gU291cmNlcyAqLywKLQkJCQk1MUYxNzUwNzFGMzU4QkY5MDBDNzQ5NTAgLyogSlNXb3Jr
ZXJUeXBlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRTFDNDQwMEQ5ODMwRjQwMDNCMDJGMiAv
KiBKU0xvY2F0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzQTgwNjFGMUUwM0I1
ODUwMDhBMUYyNiAvKiBKU0xvbmdSYW5nZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4RkFDNzc0
RDExOTg3MkNCMDAxNUFFOTQgLyogSlNNYWluVGhyZWFkRXhlY1N0YXRlLmNwcCBpbiBTb3VyY2Vz
ICovLApAQCAtMzIyMzEsNiArMzIyNTUsNyBAQAogCQkJCTUxODJDMjU3MUYzMTQzQ0QwMDU5QkE3
QyAvKiBKU1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE4
MkMyNTkxRjMxNDNDRDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTUxODJDMjVCMUYzMTQzQ0QwMDU5QkE3QyAvKiBKU1NlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTFGMTc1MDIxRjM1OEIz
QjAwQzc0OTUwIC8qIEpTU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTlCREE2NEQ3MUI5NzVDRTUwMDlDNDM4NyAvKiBKU1NoYWRvd1Jvb3QuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNDZERkY0OUIxREMyNjIwQjAwQjgwQjQ4IC8qIEpTU2hhZG93Um9v
dE1vZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0Q5REUxN0ExN0FBQzc1QjAwRUEzODZEIC8q
IEpTU291cmNlQnVmZmVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzI1MTAsMTAgKzMyNTM1LDEw
IEBACiAJCQkJRTFDOEJFNUQwRThCRDE1QTAwNjRDQjdEIC8qIEpTV29ya2VyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUUxODI1NjhGMEVGMkIwMkQwMDkzMzI0MiAvKiBKU1dvcmtlckdsb2JhbFNj
b3BlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxQzM2RDM0MEVCMEEwOTQwMDc0MTBCQyAvKiBK
U1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1MTFDQTY3OTFG
MzkwNEIxMDAxOUUwNzQgLyogU2VydmljZVdvcmtlclByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUUxODI1OEFDMEVGM0NENzAwMDkzMzI0MiAvKiBKU1dvcmtlckdsb2JhbFNjb3BlQ3Vz
dG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxQzM2MkYwMEVBRjJBQTkwMDc0MTBCQyAvKiBK
U1dvcmtlckxvY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxMjcxQTU5MEVFRUNERTQw
MEY2MTIxMyAvKiBKU1dvcmtlck5hdmlnYXRvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MUYx
NzUwNzFGMzU4QkY5MDBDNzQ5NTAgLyogSlNXb3JrZXJUeXBlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTdDNEM5NkRDMUFENDQ4MzUwMDM2NUE2MCAvKiBKU1dyaXRhYmxlU3RyZWFtLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTgzNThDQjZGMUM1MzI3NzIwMEUwQzJEOCAvKiBKU1hNTERvY3VtZW50
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTgzQTRBOUY5MUNFN0ZEODEwMDcwOUIwMCAvKiBKU1hN
TERvY3VtZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzMwNTYsNyArMzMwODEsNiBA
QAogCQkJCUE4REY0QUU4MDk4MEM0MkMwMDUyOTgxQiAvKiBSZW5kZXJUYWJsZUNvbC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlBOERGNEFGMDA5ODBDNDJDMDA1Mjk4MUIgLyogUmVuZGVyVGFibGVS
b3cuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThERjRBRUQwOTgwQzQyQzAwNTI5ODFCIC8qIFJl
bmRlclRhYmxlU2VjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1MTFDQTY3RDFGMzkwNUE2
MDAxOUUwNzQgLyogU2VydmljZVdvcmtlckpvYi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0VB
NDg4QjA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyVGV4dC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBQjY3RDFBODA5N0YzQUUzMDBGOTM5MkUgLyogUmVuZGVyVGV4dENvbnRyb2wuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMDgzREFFQTYwRjAxQTdGQjAwMzQyNzU0IC8qIFJlbmRlclRleHRDb250
cm9sTXVsdGlMaW5lLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzMyNDIsNyArMzMyNjYsMTAgQEAK
IAkJCQk1MTgyQzIzRTFGMzEzQTA5MDA1OUJBN0MgLyogU2VydmljZVdvcmtlci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk1MTgyQzI0MDFGMzEzQTA5MDA1OUJBN0MgLyogU2VydmljZVdvcmtlckNv
bnRhaW5lci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTgyQzI0MjFGMzEzQTA5MDA1OUJBN0Mg
LyogU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxMUNB
NjdEMUYzOTA1QTYwMDE5RTA3NCAvKiBTZXJ2aWNlV29ya2VySm9iLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTUxMUNBNjc5MUYzOTA0QjEwMDE5RTA3NCAvKiBTZXJ2aWNlV29ya2VyUHJvdmlkZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE4MkMyNDQxRjMxM0EwOTAwNTlCQTdDIC8qIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTExQ0E2ODMxRjNB
M0NEOTAwMTlFMDc0IC8qIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25QYXJhbWV0ZXJzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTUxMUY3RDQ0MUVCMUMzOTEwMEU0N0I4MyAvKiBTZXNzaW9uSUQu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMzMDlFMEYwOTlFNjQ5MjAwNTZFNTgxIC8qIFNldE5v
ZGVBdHRyaWJ1dGVDb21tYW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUI4REJEQjRCMTMwQjBG
OEEwMEY1Q0RCMSAvKiBTZXRTZWxlY3Rpb25Db21tYW5kLmNwcCBpbiBTb3VyY2VzICovLApAQCAt
MzM3MTIsNyArMzM3MzksNiBAQAogCQkJCTdBRjlCMjAyMThDRkIyREYwMEM2NEJFRiAvKiBWVFRS
ZWdpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0FGOUIyMDUxOENGQjJERjAwQzY0QkVGIC8q
IFZUVFJlZ2lvbkxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0E5Mzg2ODUxOERDQzE0NTAw
QjgyNjNEIC8qIFZUVFNjYW5uZXIuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTFGMTc1MDIxRjM1
OEIzQjAwQzc0OTUwIC8qIEpTU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUExNDgzMkIxMTg3RjYxRTEwMERBNjNBNiAvKiBXQUtBcHBLaXRTdHVicy5t
IGluIFNvdXJjZXMgKi8sCiAJCQkJQTE0ODMyQjMxODdGNjI5MTAwREE2M0E2IC8qIFdBS0NsaXBW
aWV3Lm0gaW4gU291cmNlcyAqLywKIAkJCQlBMTQ4MzJCNTE4N0Y2MkZDMDBEQTYzQTYgLyogV0FL
UmVzcG9uZGVyLm0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCAwOWZlODFiYTQ3Y2E1M2M4Nzc1Y2I2NjI3
YTc2ZDNiM2UyNjI3OWViLi43MjJlYTJlNDhlMWYzM2UyMzYwYmRiNjAwNTZjMDAyZjljNGI0Mjc2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5h
bWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1l
cy5oCkBAIC0zOCw2ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhiYWNr
aW5nTWFwKSBcCiAgICAgbWFjcm8oYm9keSkgXAogICAgIG1hY3JvKGJ5b2JSZXF1ZXN0KSBcCisg
ICAgbWFjcm8oY2FjaGVNYXApIFwKKyAgICBtYWNybyhjYWNoZU5hbWUpIFwKICAgICBtYWNybyhj
YW5jZWwpIFwKICAgICBtYWNybyhjbG9uZUFycmF5QnVmZmVyKSBcCiAgICAgbWFjcm8oY2xvbmVG
b3JKUykgXApAQCAtNjMsNiArNjUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8o
bG9jYWxTdHJlYW1zKSBcCiAgICAgbWFjcm8obWFrZVRoaXNUeXBlRXJyb3IpIFwKICAgICBtYWNy
byhtYWtlR2V0dGVyVHlwZUVycm9yKSBcCisgICAgbWFjcm8obWF0Y2hBbGwpIFwKICAgICBtYWNy
byhtZWRpYVN0cmVhbVRyYWNrQ29uc3RyYWludHMpIFwKICAgICBtYWNybyhvcGVyYXRpb25zKSBc
CiAgICAgbWFjcm8ob3duZXJSZWFkYWJsZVN0cmVhbSkgXApAQCAtMTEzLDYgKzExNiw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyh2aWV3KSBcCiAgICAgbWFjcm8od2ViUlRDTGVn
YWN5QVBJRW5hYmxlZCkgXAogICAgIG1hY3JvKHdyaXRpbmcpIFwKKyAgICBtYWNybyhDYWNoZSkg
XAorICAgIG1hY3JvKENhY2hlU3RvcmFnZSkgXAogICAgIG1hY3JvKEhlYWRlcnMpIFwKICAgICBt
YWNybyhNZWRpYVN0cmVhbSkgXAogICAgIG1hY3JvKE1lZGlhU3RyZWFtVHJhY2spIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcAppbmRleCA2NmM3ZjA4
ZjBmMjhiMDQ2YmI0YzM1ZThlOWJmMTlmYmRmMmFiYzU1Li4yYTgxM2I2YTEyMGRmMzU4ZjA4YmQy
NzE4Yzk2NTczNDMwMWRlZjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yT3ZlcmxheS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvck92ZXJsYXkuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9yT3ZlcmxheS5oIgogCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlUHJv
dmlkZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1ZGUgIkVkaXRvckNs
aWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKQEAgLTg2NSw3ICs4NjYsOCBAQCBQYWdlKiBJ
bnNwZWN0b3JPdmVybGF5OjpvdmVybGF5UGFnZSgpCiAgICAgUGFnZUNvbmZpZ3VyYXRpb24gcGFn
ZUNvbmZpZ3VyYXRpb24oCiAgICAgICAgIGNyZWF0ZUVtcHR5RWRpdG9yQ2xpZW50KCksCiAgICAg
ICAgIFNvY2tldFByb3ZpZGVyOjpjcmVhdGUoKSwKLSAgICAgICAgbWFrZVVuaXF1ZVJlZjxMaWJX
ZWJSVENQcm92aWRlcj4oKQorICAgICAgICBtYWtlVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVy
PigpLAorICAgICAgICBDYWNoZVN0b3JhZ2VQcm92aWRlcjo6Y3JlYXRlKCkKICAgICApOwogICAg
IGZpbGxXaXRoRW1wdHlDbGllbnRzKHBhZ2VDb25maWd1cmF0aW9uKTsKICAgICBtX292ZXJsYXlQ
YWdlID0gc3RkOjptYWtlX3VuaXF1ZTxQYWdlPihXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhY2hlU3RvcmFnZVByb3ZpZGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhY2hlU3RvcmFnZVByb3ZpZGVyLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDBiZjFkYzVjZDFmOGZiY2M2NjFjZjFkNmMwMGE0YThjYzJjODhhYgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaApAQCAtMCwwICsx
LDQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiU2Vzc2lvbklELmgiCisjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBXRUJDT1JFX0VYUE9S
VCBDYWNoZVN0b3JhZ2VQcm92aWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPENhY2hlU3RvcmFnZVBy
b3ZpZGVyPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4g
Y3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNoZVN0b3JhZ2VQcm92aWRlcik7IH0K
KyAgICB2aXJ0dWFsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiBjcmVhdGVDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uKFNlc3Npb25JRCkgeyByZXR1cm4gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6
Y3JlYXRlKCk7IH0KKyAgICB2aXJ0dWFsIH5DYWNoZVN0b3JhZ2VQcm92aWRlcigpIHsgfTsKK307
CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGMyNjk4N2Y4ZGNiMmU5ZTk2MDZkYWE5NzJkMmNm
Y2M3YmVjYzVmYjcuLjcwNDFmMWNmMjk1OTU0ZWFmZjA0ZDZiOGE2MTY0ZjhmYWFjMGQ2NzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkJhY2tGb3J3YXJk
Q2xpZW50LmgiCiAjaW5jbHVkZSAiQmFja0ZvcndhcmRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAi
Q1NTQW5pbWF0aW9uQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIkNhY2hlU3RvcmFnZVByb3ZpZGVy
LmgiCiAjaW5jbHVkZSAiQ2hyb21lLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5j
bHVkZSAiQ29uc3RhbnRQcm9wZXJ0eU1hcC5oIgpAQCAtMjIyLDYgKzIyMyw3IEBAIFBhZ2U6OlBh
Z2UoUGFnZUNvbmZpZ3VyYXRpb24mJiBwYWdlQ29uZmlndXJhdGlvbikKICNlbmRpZgogICAgICwg
bV9zb2NrZXRQcm92aWRlcihXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLnNvY2tldFByb3ZpZGVy
KSkKICAgICAsIG1fYXBwbGljYXRpb25DYWNoZVN0b3JhZ2UoKldURk1vdmUocGFnZUNvbmZpZ3Vy
YXRpb24uYXBwbGljYXRpb25DYWNoZVN0b3JhZ2UpKQorICAgICwgbV9jYWNoZVN0b3JhZ2VQcm92
aWRlcihXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLmNhY2hlU3RvcmFnZVByb3ZpZGVyKSkKICAg
ICAsIG1fZGF0YWJhc2VQcm92aWRlcigqV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi5kYXRhYmFz
ZVByb3ZpZGVyKSkKICAgICAsIG1fcGx1Z2luSW5mb1Byb3ZpZGVyKCpXVEZNb3ZlKHBhZ2VDb25m
aWd1cmF0aW9uLnBsdWdpbkluZm9Qcm92aWRlcikpCiAgICAgLCBtX3N0b3JhZ2VOYW1lc3BhY2VQ
cm92aWRlcigqV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi5zdG9yYWdlTmFtZXNwYWNlUHJvdmlk
ZXIpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuaAppbmRleCA5MDlmMzc5MDJkMzNlMWQwZWYzZTVhOWI0ZjY0YmFiNGRm
YTVmZjBiLi41ZmM4OWNkYzU5MmM5NDllYjE4ZDljZWExN2Y2MWZiY2QzNTUxMjAzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuaApAQCAtNzcsNiArNzcsNyBAQCBjbGFzcyBBbHRlcm5hdGl2ZVRleHRDbGllbnQ7CiBj
bGFzcyBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTsKIGNsYXNzIEJhY2tGb3J3YXJkQ29udHJvbGxl
cjsKIGNsYXNzIEJhY2tGb3J3YXJkQ2xpZW50OworY2xhc3MgQ2FjaGVTdG9yYWdlUHJvdmlkZXI7
CiBjbGFzcyBDaHJvbWU7CiBjbGFzcyBDaHJvbWVDbGllbnQ7CiBjbGFzcyBDb2xvcjsKQEAgLTUx
MCw2ICs1MTEsNyBAQCBwdWJsaWM6CiAKICAgICBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSYgYXBw
bGljYXRpb25DYWNoZVN0b3JhZ2UoKSB7IHJldHVybiBtX2FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdl
OyB9CiAgICAgRGF0YWJhc2VQcm92aWRlciYgZGF0YWJhc2VQcm92aWRlcigpIHsgcmV0dXJuIG1f
ZGF0YWJhc2VQcm92aWRlcjsgfQorICAgIENhY2hlU3RvcmFnZVByb3ZpZGVyJiBjYWNoZVN0b3Jh
Z2VQcm92aWRlcigpIHsgcmV0dXJuIG1fY2FjaGVTdG9yYWdlUHJvdmlkZXI7IH0KICAgICBTb2Nr
ZXRQcm92aWRlciYgc29ja2V0UHJvdmlkZXIoKSB7IHJldHVybiBtX3NvY2tldFByb3ZpZGVyOyB9
CiAKICAgICBTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXImIHN0b3JhZ2VOYW1lc3BhY2VQcm92aWRl
cigpIHsgcmV0dXJuIG1fc3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyLmdldCgpOyB9CkBAIC03ODQs
NiArNzg2LDcgQEAgcHJpdmF0ZToKIAogICAgIFJlZjxTb2NrZXRQcm92aWRlcj4gbV9zb2NrZXRQ
cm92aWRlcjsKICAgICBSZWY8QXBwbGljYXRpb25DYWNoZVN0b3JhZ2U+IG1fYXBwbGljYXRpb25D
YWNoZVN0b3JhZ2U7CisgICAgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiBtX2NhY2hlU3RvcmFn
ZVByb3ZpZGVyOwogICAgIFJlZjxEYXRhYmFzZVByb3ZpZGVyPiBtX2RhdGFiYXNlUHJvdmlkZXI7
CiAgICAgUmVmPFBsdWdpbkluZm9Qcm92aWRlcj4gbV9wbHVnaW5JbmZvUHJvdmlkZXI7CiAgICAg
UmVmPFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcj4gbV9zdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCmluZGV4IDExMjNkZDZk
NDA1YTk0ODEzYTRhNzg3NDJjN2Q2NmQyY2YxYmVlN2MuLmYxYjgyN2RjZmJhYWU2ZTZjOGRjY2Fk
OWQxOGQ0OTM3OWRjOTUxYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNv
bmZpZ3VyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRp
b24uY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hlU3Rv
cmFnZS5oIgogI2luY2x1ZGUgIkJhY2tGb3J3YXJkQ2xpZW50LmgiCisjaW5jbHVkZSAiQ2FjaGVT
dG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJEYXRhYmFzZVByb3ZpZGVyLmgiCiAjaW5jbHVk
ZSAiRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCIKICNpbmNsdWRlICJFZGl0b3JDbGllbnQuaCIK
QEAgLTQzLDEwICs0NCwxMSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhZ2VDb25maWd1
cmF0aW9uOjpQYWdlQ29uZmlndXJhdGlvbihVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmIGVkaXRv
ckNsaWVudCwgUmVmPFNvY2tldFByb3ZpZGVyPiYmIHNvY2tldFByb3ZpZGVyLCBVbmlxdWVSZWY8
TGliV2ViUlRDUHJvdmlkZXI+JiYgbGliV2ViUlRDUHJvdmlkZXIpCitQYWdlQ29uZmlndXJhdGlv
bjo6UGFnZUNvbmZpZ3VyYXRpb24oVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiBlZGl0b3JDbGll
bnQsIFJlZjxTb2NrZXRQcm92aWRlcj4mJiBzb2NrZXRQcm92aWRlciwgVW5pcXVlUmVmPExpYldl
YlJUQ1Byb3ZpZGVyPiYmIGxpYldlYlJUQ1Byb3ZpZGVyLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlk
ZXI+JiYgY2FjaGVTdG9yYWdlUHJvdmlkZXIpCiAgICAgOiBlZGl0b3JDbGllbnQoV1RGTW92ZShl
ZGl0b3JDbGllbnQpKQogICAgICwgc29ja2V0UHJvdmlkZXIoV1RGTW92ZShzb2NrZXRQcm92aWRl
cikpCiAgICAgLCBsaWJXZWJSVENQcm92aWRlcihXVEZNb3ZlKGxpYldlYlJUQ1Byb3ZpZGVyKSkK
KyAgICAsIGNhY2hlU3RvcmFnZVByb3ZpZGVyKFdURk1vdmUoY2FjaGVTdG9yYWdlUHJvdmlkZXIp
KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKaW5kZXggZjUz
YTEyYzM4N2VhZmI0MDRmMmEwNjY2MDI3NTllYzlhN2ZjMGY1Zi4uYTg2MmQ0MzAyZTAzNjQ2NGY5
MTBhNTdiMDFkNzdiNjRjYzZlZjQyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3Vy
YXRpb24uaApAQCAtMzQsNiArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBbHRl
cm5hdGl2ZVRleHRDbGllbnQ7CiBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTsKIGNsYXNz
IEJhY2tGb3J3YXJkQ2xpZW50OworY2xhc3MgQ2FjaGVTdG9yYWdlUHJvdmlkZXI7CiBjbGFzcyBD
aHJvbWVDbGllbnQ7CiBjbGFzcyBDb250ZXh0TWVudUNsaWVudDsKIGNsYXNzIERhdGFiYXNlUHJv
dmlkZXI7CkBAIC01OCw3ICs1OSw3IEBAIGNsYXNzIFdlYkdMU3RhdGVUcmFja2VyOwogY2xhc3Mg
UGFnZUNvbmZpZ3VyYXRpb24gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDb25maWd1
cmF0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgV0VCQ09SRV9F
WFBPUlQgUGFnZUNvbmZpZ3VyYXRpb24oVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiwgUmVmPFNv
Y2tldFByb3ZpZGVyPiYmLCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYpOworICAgIFdF
QkNPUkVfRVhQT1JUIFBhZ2VDb25maWd1cmF0aW9uKFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYs
IFJlZjxTb2NrZXRQcm92aWRlcj4mJiwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmLCBS
ZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+JiYpOwogICAgIFdFQkNPUkVfRVhQT1JUIH5QYWdlQ29u
ZmlndXJhdGlvbigpOwogCiAgICAgQWx0ZXJuYXRpdmVUZXh0Q2xpZW50KiBhbHRlcm5hdGl2ZVRl
eHRDbGllbnQgeyBudWxscHRyIH07CkBAIC04Nyw2ICs4OCw3IEBAIHB1YmxpYzoKIAogICAgIFJl
ZlB0cjxBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZT4gYXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7CiAg
ICAgUmVmUHRyPERhdGFiYXNlUHJvdmlkZXI+IGRhdGFiYXNlUHJvdmlkZXI7CisgICAgUmVmPENh
Y2hlU3RvcmFnZVByb3ZpZGVyPiBjYWNoZVN0b3JhZ2VQcm92aWRlcjsKICAgICBSZWZQdHI8UGx1
Z2luSW5mb1Byb3ZpZGVyPiBwbHVnaW5JbmZvUHJvdmlkZXI7CiAgICAgUmVmUHRyPFN0b3JhZ2VO
YW1lc3BhY2VQcm92aWRlcj4gc3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyOwogICAgIFJlZlB0cjxV
c2VyQ29udGVudFByb3ZpZGVyPiB1c2VyQ29udGVudFByb3ZpZGVyOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKaW5kZXggNzg2ZThmN2E3YmNhNjA4MDlhNTU1YjY1Zjgz
NWMyYTUwYTAwODJlOC4uODI1OWIyZjhlMjg2NjNiMjE3Y2RlYTA0YzJmOGVjMzgzN2NkNzhmNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCkBAIC0yOCw2ICsyOCw3
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU1ZHSW1hZ2UuaCIKIAorI2luY2x1
ZGUgIkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiQ2hyb21lLmgiCiAjaW5jbHVk
ZSAiQ29tbW9uVk0uaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKQEAgLTQyOSw3ICs0MzAsOCBA
QCBFbmNvZGVkRGF0YVN0YXR1cyBTVkdJbWFnZTo6ZGF0YUNoYW5nZWQoYm9vbCBhbGxEYXRhUmVj
ZWl2ZWQpCiAgICAgICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uKAogICAg
ICAgICAgICAgY3JlYXRlRW1wdHlFZGl0b3JDbGllbnQoKSwKICAgICAgICAgICAgIFNvY2tldFBy
b3ZpZGVyOjpjcmVhdGUoKSwKLSAgICAgICAgICAgIG1ha2VVbmlxdWVSZWY8TGliV2ViUlRDUHJv
dmlkZXI+KCkKKyAgICAgICAgICAgIG1ha2VVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+KCks
CisgICAgICAgICAgICBDYWNoZVN0b3JhZ2VQcm92aWRlcjo6Y3JlYXRlKCkKICAgICAgICAgKTsK
ICAgICAgICAgZmlsbFdpdGhFbXB0eUNsaWVudHMocGFnZUNvbmZpZ3VyYXRpb24pOwogICAgICAg
ICBtX2Nocm9tZUNsaWVudCA9IHN0ZDo6bWFrZV91bmlxdWU8U1ZHSW1hZ2VDaHJvbWVDbGllbnQ+
KHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKaW5kZXggN2UzMWQ1MmIwNTc5M2MxNmU1M2UyNTYxMTBh
NjNiZmVhY2VhODM5YS4uOWI4NTgzZTM4YjZlY2FjZGY3NzAxZTAwOTIyMGI4YmY4MGNhMzkzZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0NNYWtlTGlzdHMudHh0CkBAIC01Miw2ICs1Miw3IEBAIHNldChXZWJLaXQyX0lOQ0xVREVf
RElSRUNUT1JJRVMKICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9BcHBsZVBheSIKICAg
ICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9BcHBsaWNhdGlvbkNhY2hlIgogICAgICIke1dF
QktJVDJfRElSfS9XZWJQcm9jZXNzL0F1dG9tYXRpb24iCisgICAgIiR7V0VCS0lUMl9ESVJ9L1dl
YlByb2Nlc3MvQ2FjaGUiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvQ29va2llcyIK
ICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9EYXRhYmFzZXMiCiAgICAgIiR7V0VCS0lU
Ml9ESVJ9L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQiIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDkwOWE1ZWNkN2Q3YjFhYjAy
MTRiMjkxOTcwNDk2MTg4NzA3MzY0MTIuLmE4Mzg4MTYwZDFlMWI4OWU0ODBiMWM2NDMzZjBmNzNh
NTAzNWY4ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtODkxLDYgKzg5MSw3IEBACiAJCTQxMzA3NUIyMURFODVGNTgwMDM5RUM2OSAv
KiBMaWJXZWJSVENTb2NrZXRGYWN0b3J5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVBNjFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDU29j
a2V0RmFjdG9yeS5oICovOyB9OwogCQk0MTMwNzVCMzFERTg1RjU4MDAzOUVDNjkgLyogTGliV2Vi
UlRDUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDEzMDc1QTcxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmNwcCAq
LzsgfTsKIAkJNDEzMDc1QjQxREU4NUY1ODAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVBODFE
RTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuaCAqLzsgfTsKKwkJNDFEMTI5REEx
RjNEMTAxODAwRDE1RTQ3IC8qIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQxMjlEOTFGM0QxMDE0MDBEMTVF
NDcgLyogV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAqLzsgfTsKIAkJNDFEQzQ1OTYxRTNENkUy
MjAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEQzQ1OTQxRTNENkUxRTAwQjExRjUxIC8qIE5ldHdv
cmtSVENQcm92aWRlci5oICovOyB9OwogCQk0MURDNDU5NzFFM0Q2RTIyMDBCMTFGNTEgLyogTmV0
d29ya1JUQ1Byb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxREM0NTk1MUUzRDZFMUUwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIu
Y3BwICovOyB9OwogCQk0MURDNDU5QjFFM0RCQjI4MDBCMTFGNTEgLyogTGliV2ViUlRDU29ja2V0
Q2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxREM0NTk5MUUzREJCMjQwMEIxMUY1MSAvKiBMaWJXZWJSVENTb2NrZXRDbGllbnQuY3BwICov
OyB9OwpAQCAtMzE0Miw2ICszMTQzLDcgQEAKIAkJNDEzMDc1QTcxREU4NUVFNzAwMzlFQzY5IC8q
IExpYldlYlJUQ1Byb3ZpZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGlu
ZUVuZGluZyA9IDA7IG5hbWUgPSBMaWJXZWJSVENQcm92aWRlci5jcHA7IHBhdGggPSBOZXR3b3Jr
L3dlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhj
TGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OwogCQk0
MTMwNzVBODFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBsaW5lRW5kaW5nID0gMDsgbmFtZSA9IExpYldlYlJUQ1Byb3ZpZGVy
Lmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5s
YW5nLm9iamNwcDsgfTsKIAkJNDFBQzg2ODExRTA0MkU1MzAwMzAzMDc0IC8qIFdlYlJUQ1Jlc29s
dmVyLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbGluZUVuZGluZyA9IDA7IG5hbWUgPSBX
ZWJSVENSZXNvbHZlci5tZXNzYWdlcy5pbjsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL1dlYlJUQ1Jl
c29sdmVyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3Bl
Y2lmaWNhdGlvbklkZW50aWZpZXIgPSAiPG5vbmU+IjsgfTsKKwkJNDFEMTI5RDkxRjNEMTAxNDAw
RDE1RTQ3IC8qIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNh
Y2hlU3RvcmFnZVByb3ZpZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxREM0
NTk0MUUzRDZFMUUwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gTmV0d29ya1JUQ1Byb3ZpZGVyLmg7IHBhdGggPSBOZXR3b3Jr
UHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQxREM0NTk1MUUzRDZFMUUwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29ya1JUQ1Byb3Zp
ZGVyLmNwcDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MURDNDU5ODFFM0Q2RUQ2MDBCMTFG
NTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFt
ZSA9IE5ldHdvcmtSVENQcm92aWRlci5tZXNzYWdlcy5pbjsgcGF0aCA9IE5ldHdvcmtQcm9jZXNz
L3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC01OTEyLDYgKzU5MTQsMTQgQEAKIAkJCW5hbWUgPSB3ZWJydGM7CiAJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk0MUQxMjlEODFGM0QxMDE0MDBEMTVFNDcg
LyogQ2FjaGUgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJ
CTQxRDEyOUQ5MUYzRDEwMTQwMEQxNUU0NyAvKiBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oICov
LAorCQkJKTsKKwkJCXBhdGggPSBDYWNoZTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJ
CX07CiAJCTQ0NTBBRUJFMURDM0ZBQUMwMDk5NDNGMiAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9
IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC02NTkyLDYgKzY2MDIsNyBAQAogCQkJY2hp
bGRyZW4gPSAoCiAJCQkJMUFCMUY3NzAxRDFCMkY1RDAwN0M5QkQxIC8qIEFwcGxlUGF5ICovLAog
CQkJCTFDMEExOTQzMUM4RkYxQTgwMEZFMEVCQiAvKiBBdXRvbWF0aW9uICovLAorCQkJCTQxRDEy
OUQ4MUYzRDEwMTQwMEQxNUU0NyAvKiBDYWNoZSAqLywKIAkJCQk3QzZFNzBGODE4QjJENDdFMDBG
MjRFMkUgLyogY29jb2EgKi8sCiAJCQkJMzMwOTM0NEIxMzE1QjkzQTAwOTdBN0JDIC8qIENvb2tp
ZXMgKi8sCiAJCQkJNTEyQTk3NTQxODBERjkyNzAwMzlBMTQ5IC8qIERhdGFiYXNlcyAqLywKQEAg
LTg2ODksNiArODcwMCw3IEBACiAJCQkJQkM3MkJBMUUxMUU2NDkwNzAwMUVCNEVBIC8qIFdlYkJh
Y2tGb3J3YXJkTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4RDJDQUUxMkQ1MTUzQjAwM0JC
OTNCIC8qIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNzJC
OUZCMTFFNjQ3NkIwMDFFQjRFQSAvKiBXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNDFEMTI5REExRjNEMTAxODAwRDE1RTQ3IC8qIFdlYkNhY2hlU3RvcmFnZVBy
b3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0Y1MDcyODEyNDMyOUFBMDA1OTU1QUUgLyog
V2ViQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzAzMkQ3NTEwRjQzNzhE
MDA1OEMxNUEgLyogV2ViQ2hyb21lQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkzRjg3QjlC
RTE1ODk0MDE5MDA5MEZGNjIgLyogV2ViQ29sb3JDaG9vc2VyLmggaW4gSGVhZGVycyAqLywKQEAg
LTg4MzEsNyArODg0Myw2IEBACiAJCQkJQkNFMEU0MjUxNjhCN0EyODAwNTdFNjZBIC8qIFdlYlBy
b2Nlc3NTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTFFMDkzNDE4ODYxRDM4MDBE
MkRDNDkgLyogV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1
MTJGNTg5RDEyQTg4Mzg4MDA2Mjk1MzAgLyogV2ViUHJvdGVjdGlvblNwYWNlLmggaW4gSGVhZGVy
cyAqLywKLQkJCQk1MUJFQjYyQzFGM0E1QUQ3MDA1MDI5QjkgLyogV2ViU2VydmljZVdvcmtlclBy
b3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzk0ODQwNDE1MEMzNTA2MDBFNTJDRTkgLyog
V2ViUmVuZGVyTGF5ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3NjA4ODFGMTUwNDEzRTkwMEZD
ODJDNyAvKiBXZWJSZW5kZXJPYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMEFGRkJBMTY1
NDIwNDgwMDFCQTA1RSAvKiBXZWJSZXNvdXJjZUxvYWRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC04
ODQzLDYgKzg4NTQsNyBAQAogCQkJCTQxREM0NTlGMUUzREJEQTUwMEIxMUY1MSAvKiBXZWJSVENT
b2NrZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDMzYxRDczMTkyN0ZBMzYwMDM2QTU5RCAvKiBX
ZWJTY3JpcHRNZXNzYWdlSGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNCOTQ4NDkxMUZG
NEI2NTAwMDMyQjM5IC8qIFdlYlNlYXJjaFBvcHVwTWVudS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NTFCRUI2MkMxRjNBNUFENzAwNTAyOUI5IC8qIFdlYlNlcnZpY2VXb3JrZXJQcm92aWRlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMUE0ODMyRDcxQTlDREY5NjAwOEI0REZFIC8qIFdlYnNpdGVEYXRh
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTQ4MzJEMTFBOUJEQzJGMDA4QjRERkUgLyogV2Vic2l0
ZURhdGFSZWNvcmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNTNDMkFBMUEzMjU3MzAwMDRFOEM3
MCAvKiBXZWJzaXRlRGF0YVN0b3JlLmggaW4gSGVhZGVycyAqLywKQEAgLTEwMzcxLDcgKzEwMzgz
LDYgQEAKIAkJCQkyREE5NDRBMTE4ODRFNEYwMDBFRDg2REIgLyogV2ViSU9TRXZlbnRGYWN0b3J5
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQzAzMzdERDMxMjdBMkEwRTAwOEZGNEY0IC8qIFdlYktl
eWJvYXJkRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE2MjgwRjMxOTE5OTgyQTAwNkFE
OUY5IC8qIFdlYktpdC5tIGluIFNvdXJjZXMgKi8sCi0JCQkJNTFCRUI2MkIxRjNBNUFENzAwNTAy
OUI5IC8qIFdlYlNlcnZpY2VXb3JrZXJQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
QzlCQTUwNDE2OTdDNDUzMDBFNDQ2MTYgLyogV2ViS2l0MkluaXRpYWxpemUuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNDY1MjUwRTYxRUNGNTJEQzAwMjAyNUNCIC8qIFdlYktpdDJJbml0aWFsaXpl
Q29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MUZCMDhGRjE2MzlERTFBMDBFQzMyNEEgLyog
V2ViTG9hZGVyU3RyYXRlZ3kuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMDQ2OSw2ICsxMDQ4MCw3
IEBACiAJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFDIC8qIFdlYlJUQ1NvY2tldE1lc3NhZ2VS
ZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzM2MUQ3MjE5MjdGQTM2MDAzNkE1OUQg
LyogV2ViU2NyaXB0TWVzc2FnZUhhbmRsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRDNCOTQ4
NDgxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlNlYXJjaFBvcHVwTWVudS5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQk1MUJFQjYyQjFGM0E1QUQ3MDA1MDI5QjkgLyogV2ViU2VydmljZVdvcmtlclByb3Zp
ZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNDgzMkQ2MUE5Q0RGOTYwMDhCNERGRSAvKiBX
ZWJzaXRlRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTQ4MzJEOTFBOUQxRkQyMDA4QjRE
RkUgLyogV2Vic2l0ZURhdGFSZWNvcmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE1M0MyQTkx
QTMyNTcyQjAwNEU4QzcwIC8qIFdlYnNpdGVEYXRhU3RvcmUuY3BwIGluIFNvdXJjZXMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQ2FjaGUvV2ViQ2FjaGVTdG9yYWdl
UHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9DYWNoZS9XZWJDYWNoZVN0b3Jh
Z2VQcm92aWRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0MjIxNmEyMDg2Y2U2ODgwZTBlMzhjMTZkYTk4NWI4
N2UwNjY3ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQ2Fj
aGUvV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaApAQCAtMCwwICsxLDM3IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDxXZWJDb3JlL0NhY2hlU3RvcmFnZVByb3ZpZGVy
Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJDYWNoZVN0b3JhZ2VQcm92aWRl
ciBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpDYWNoZVN0b3JhZ2VQcm92aWRlciB7CitwdWJsaWM6
CisgICAgc3RhdGljIFJlZjxXZWJDYWNoZVN0b3JhZ2VQcm92aWRlcj4gY3JlYXRlKCkgeyByZXR1
cm4gYWRvcHRSZWYoKm5ldyBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlcik7IH0KK307CisKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMTkwOTFi
NTkwM2ZhNTRjZGViOTczMzYzODgwOWQ1NWY1M2M0OWI2NS4uZGRhMDAxYWVjYjAxMmNmZjc1YWFi
MWIwNjRhOGU4OTg1YzA4NzczNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKQEAgLTY4LDYgKzY4LDcgQEAKICNpbmNsdWRlICJXZWJBbHRlcm5hdGl2
ZVRleHRDbGllbnQuaCIKICNpbmNsdWRlICJXZWJCYWNrRm9yd2FyZExpc3RJdGVtLmgiCiAjaW5j
bHVkZSAiV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaCIKKyNpbmNsdWRlICJXZWJDYWNoZVN0b3Jh
Z2VQcm92aWRlci5oIgogI2luY2x1ZGUgIldlYkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIldl
YkNvbG9yQ2hvb3Nlci5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51LmgiCkBAIC0zNzEsNyAr
MzcyLDggQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlv
blBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25m
aWd1cmF0aW9uKAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkVkaXRvckNsaWVudD4odGhpcyks
CiAgICAgICAgIFdlYlNvY2tldFByb3ZpZGVyOjpjcmVhdGUoKSwKLSAgICAgICAgbWFrZVVuaXF1
ZVJlZjxXZWJLaXQ6OkxpYldlYlJUQ1Byb3ZpZGVyPigpCisgICAgICAgIG1ha2VVbmlxdWVSZWY8
V2ViS2l0OjpMaWJXZWJSVENQcm92aWRlcj4oKSwKKyAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkuY2FjaGVTdG9yYWdlUHJvdmlkZXIoKQogICAgICk7CiAgICAgcGFnZUNvbmZpZ3VyYXRp
b24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudCgqdGhpcyk7CiAjaWYgRU5BQkxF
KENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5k
ZXggMzc4MjI4NjZhMjdkNzBkNmE0YWNkZThkMjZkNDc0OTQ5MTVhZmQwMS4uODcwZjNjZGU4NTM3
YzYyODlmYzE3NWYyN2JlN2M5ZDQ4NmMwN2E1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgIlN0YXRpc3RpY3NEYXRh
LmgiCiAjaW5jbHVkZSAiVXNlckRhdGEuaCIKICNpbmNsdWRlICJXZWJBdXRvbWF0aW9uU2Vzc2lv
blByb3h5LmgiCisjaW5jbHVkZSAiV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRl
ICJXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3MuaCIKICNpbmNsdWRlICJXZWJDb29raWVNYW5hZ2Vy
LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCkBAIC0xNjAsNiArMTYxLDcg
QEAgV2ViUHJvY2Vzczo6V2ViUHJvY2VzcygpCiAjZW5kaWYKICAgICAsIG1fd2ViSW5zcGVjdG9y
SW50ZXJydXB0RGlzcGF0Y2hlcihXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyOjpjcmVh
dGUoKSkKICAgICAsIG1fd2ViTG9hZGVyU3RyYXRlZ3koKm5ldyBXZWJMb2FkZXJTdHJhdGVneSkK
KyAgICAsIG1fY2FjaGVTdG9yYWdlUHJvdmlkZXIoV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNy
ZWF0ZSgpKQogICAgICwgbV9kbnNQcmVmZXRjaEh5c3RlcmVyaXMoW3RoaXNdKEh5c3RlcmVzaXNT
dGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gSHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVkKSBtX2Ru
c1ByZWZldGNoZWRIb3N0cy5jbGVhcigpOyB9KQogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5f
QVBJKQogICAgICwgbV9wbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIoUGx1Z2luUHJvY2Vz
c0Nvbm5lY3Rpb25NYW5hZ2VyOjpjcmVhdGUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5oCmluZGV4IGNmMmFiODEzYjM3OTAzNzNiMmRhMGZhNmZhYmY3YmFjNDdiMmY0OTcuLjEy
M2M0YmIxOThjYWY3MGNkOTc2ZjY5NTk5Zjc3NzkwYjFkMGJiNzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtODAsNiArODAsNyBAQCBjbGFzcyBPYmpDT2JqZWN0R3Jh
cGg7CiBjbGFzcyBVc2VyRGF0YTsKIGNsYXNzIFdheWxhbmRDb21wb3NpdG9yRGlzcGxheTsKIGNs
YXNzIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk7CitjbGFzcyBXZWJDYWNoZVN0b3JhZ2VQcm92
aWRlcjsKIGNsYXNzIFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2VzczsKIGNsYXNzIFdlYkZyYW1lOwog
Y2xhc3MgV2ViTG9hZGVyU3RyYXRlZ3k7CkBAIC0yMjIsNiArMjIzLDggQEAgcHVibGljOgogCiAg
ICAgV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eSogYXV0b21hdGlvblNlc3Npb25Qcm94eSgpIHsg
cmV0dXJuIG1fYXV0b21hdGlvblNlc3Npb25Qcm94eS5nZXQoKTsgfQogCisgICAgV2ViQ2FjaGVT
dG9yYWdlUHJvdmlkZXImIGNhY2hlU3RvcmFnZVByb3ZpZGVyKCkgeyByZXR1cm4gbV9jYWNoZVN0
b3JhZ2VQcm92aWRlci5nZXQoKTsgfQorCiBwcml2YXRlOgogICAgIFdlYlByb2Nlc3MoKTsKICAg
ICB+V2ViUHJvY2VzcygpOwpAQCAtMzc1LDYgKzM3OCw4IEBAIHByaXZhdGU6CiAgICAgUmVmUHRy
PE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbj4gbV9uZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb247CiAg
ICAgV2ViTG9hZGVyU3RyYXRlZ3kmIG1fd2ViTG9hZGVyU3RyYXRlZ3k7CiAKKyAgICBSZWY8V2Vi
Q2FjaGVTdG9yYWdlUHJvdmlkZXI+IG1fY2FjaGVTdG9yYWdlUHJvdmlkZXI7CisKICNpZiBVU0Uo
TElCV0VCUlRDKQogICAgIHN0ZDo6dW5pcXVlX3B0cjxMaWJXZWJSVENOZXR3b3JrPiBtX2xpYldl
YlJUQ05ldHdvcms7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbQppbmRleCAxZDQ5YjQ5ZjQ2ODA5MzFiOWU5ZGQwN2JmZTAxMDgyODUwY2MyMmJmLi40
NDkyZjU4ZDVmNTM2NGRhMGRhNzUwMjBmNGU1NGRmZWUwMjA2MjM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0xMjQsNiArMTI0LDcgQEAKICNpbXBv
cnQgPFdlYkNvcmUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUv
QmFja0ZvcndhcmRDb250cm9sbGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NTU0FuaW1hdGlvbkNv
bnRyb2xsZXIuaD4KKyNpbXBvcnQgPFdlYkNvcmUvQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaD4KICNp
bXBvcnQgPFdlYkNvcmUvQ2hyb21lLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NvbG9yTWFjLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL0RhdGFiYXNlTWFuYWdlci5oPgpAQCAtMTQxMyw3ICsxNDE0LDggQEAg
c3RhdGljIHZvaWQgV2ViS2l0SW5pdGlhbGl6ZUdhbWVwYWRQcm92aWRlcklmTmVjZXNzYXJ5KCkK
ICAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbigKICAgICAgICAgbWFrZVVu
aXF1ZVJlZjxXZWJFZGl0b3JDbGllbnQ+KHNlbGYpLAogICAgICAgICBTb2NrZXRQcm92aWRlcjo6
Y3JlYXRlKCksCi0gICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6TGliV2ViUlRDUHJvdmlk
ZXI+KCkKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpMaWJXZWJSVENQcm92aWRlcj4o
KSwKKyAgICAgICAgV2ViQ29yZTo6Q2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpCiAgICAg
KTsKICNpZiAhUExBVEZPUk0oSU9TKQogICAgIHBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNsaWVu
dCA9IG5ldyBXZWJDaHJvbWVDbGllbnQoc2VsZik7CkBAIC0xNjc2LDcgKzE2NzgsOCBAQCBzdGF0
aWMgdm9pZCBXZWJLaXRJbml0aWFsaXplR2FtZXBhZFByb3ZpZGVySWZOZWNlc3NhcnkoKQogICAg
IFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uKAogICAgICAgICBtYWtlVW5pcXVl
UmVmPFdlYkVkaXRvckNsaWVudD4oc2VsZiksCiAgICAgICAgIFNvY2tldFByb3ZpZGVyOjpjcmVh
dGUoKSwKLSAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpMaWJXZWJSVENQcm92aWRlcj4o
KQorICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkxpYldlYlJUQ1Byb3ZpZGVyPigpLAor
ICAgICAgICBXZWJDb3JlOjpDYWNoZVN0b3JhZ2VQcm92aWRlcjo6Y3JlYXRlKCkKICAgICApOwog
ICAgIHBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnRJ
T1Moc2VsZik7CiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1ZTE0MGEwYzI0MGRl
NDc3Y2M1YTkwMTUzNGIwNjRiYTIxMmI3Y2ZmLi44ZTlkYzcxMDlmMjQxZDlmYTkxYjM5NmUwMmRk
YjM0NDFhNDkzMzZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTctMDgtMTAgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFtDYWNoZSBBUEldIEFkZGluZyBn
ZW5lcmljIHN1cHBvcnQgZm9yIENhY2hlU3RvcmFnZSBhbmQgQ2FjaGUgbWV0aG9kcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NDU1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRp
b25zOiBTa2lwcGluZyBhIHRlc3QgdGhhdCB3b3VsZCB0aW1lb3V0IG90aGVyd2lzZSBkdWUgdG8g
dGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gbGltaXRhdGlvbnMuCisKIDIwMTctMDgtMTAgIE5h
biBXYW5nICA8bl93YW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBMYXlvdXQgdGVzdCBhY2Nlc3Np
YmlsaXR5L3ByZXNzLXRhcmdldC11c2VzLXRleHQtZGVzY2VuZGFudC1ub2RlLmh0bWwgaXMgZmxh
a3kuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBhOGJlMjZjZDZhYWNjZjU3MjE1
M2Y4MzY2MWZmNDE5ZjNhOTI5NDJhLi4wOGIxYmRmMjUyNmYyNGZlNDNjMDJhMjc3ODk5NmM0NGNh
YjA0NGUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAor
MjAxNy0wOC0xMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAg
W0NhY2hlIEFQSV0gQWRkaW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBD
YWNoZSBtZXRob2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzU0NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9z
ZXJ2aWNld29ya2VyL2NyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2Nh
Y2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3Rv
cmFnZS5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0
dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0ZWQu
dHh0OgorCiAyMDE3LTA4LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAg
ICAgICAgSW1wb3J0IGJlYWNvbi9oZWFkZXJzL2hlYWRlci1jb250ZW50LXR5cGUuaHRtbCBmcm9t
IHVwc3RyZWFtIFdQVApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNzc1N2FhNTFiNGZkZTI5ZWM3ZGEy
YmUxZThjOWEzZmUxMmEzODJhNC4uMzc1ZTRjYjFlNWZhMjg4M2QzNTNkZjMwNjRjMjRiMTgwZmE5
YTU5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMjEsNyArMTIxLDcgQEAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc3R1Yi00LjYuMi1jYWNoZS5odG1s
IFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zdHViLTQuNi4zLWNhY2hlLXN0b3JhZ2UuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZSBbIFBhc3MgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93aW5kb3cgWyBQYXNzIEZhaWx1cmUgXQotCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL2NvbW1vbi5odHRwcy5odG1sIFsg
U2tpcCBdCiAKICMgdGV4dGFyZWEuYW5pbWF0ZSBpcyBub3Qgc3VwcG9ydGVkCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdWktMy9jYXJldC1jb2xvci0wMTguaHRtbCBb
IFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zZXJ2aWNld29ya2VyL2NyZWRl
bnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtl
ci9jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMDc2MTY1MGRiYzQxZThiZDE1
ZTY0ZTQ3ZTMwOGYyZGMzMmFiOWU1Yi4uMzhlOTUyMzk3YzM0NjE5MjhmMWVmMWVkZjdhYmVlMzBj
ZTM4MTI3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zZXJ2aWNld29ya2VyL2NyZWRl
bnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3
b3JrZXIvY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1G
QUlMIENhY2hlIEFQSSBtYXRjaGluZyBpbmNsdWRlcyBjcmVkZW50aWFscyBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUgQVBJIG1hdGNoaW5nIGluY2x1ZGVzIGNyZWRlbnRpYWxz
IGFzc2VydF91bnJlYWNoZWQ6IHVucmVnaXN0ZXIgc2hvdWxkIG5vdCBmYWlsOiBzZXJ2aWNlV29y
a2VyLmdldFJlZ2lzdHJhdGlvbigpIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQgUmVhY2hlZCB1bnJl
YWNoYWJsZSBjb2RlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hl
LXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5k
b3cvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggZmRlYWZlOTM2
NmU5ZjU5OTk0N2QyMDM1OWFmMGE1NzRiM2MyZDZmMy4uNzFmNWU3MGQyYjJjMzZkNTU3NGI1MzEx
YWIwY2FlNmViYzY5MGZlZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2Fj
aGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFn
ZS93aW5kb3cvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTQsOCAr
NCw4IEBAIEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2YgbWFueSBjYWNoZXMgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIGZy
b20gb25lIG9mIG1hbnkgY2FjaGVzIGJ5IG5hbWUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBG
QUlMIENhY2hlU3RvcmFnZU1hdGNoIGEgc3RyaW5nIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIGEgSEVBRCByZXF1ZXN0IHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlZCBlbnRy
eSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBu
byBjYWNoZXMgYXZhaWxhYmxlIGJ1dCBuYW1lIHByb3ZpZGVkIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorUEFTUyBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlZCBlbnRyeSAKK1BBU1Mg
Q2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNoZXMgYXZhaWxhYmxlIGJ1dCBuYW1lIHByb3Zp
ZGVkIAogRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIGVtcHR5IGNhY2hlIG5hbWUgcHJvdmlk
ZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHN1cHBv
cnRzIGlnbm9yZVNlYXJjaCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIEZBSUwgQ2FjaGUubWF0
Y2ggc3VwcG9ydHMgaWdub3JlTWV0aG9kIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVj
dGVkLnR4dAppbmRleCAwMDFlNmUzM2JkN2FiMzRlYTczNWFjYWRmOTQyMGNhZTEwODI5YjYxLi4x
YWQ0NjAwMjhkYTc2OWVjMTk4MTRlMzEwYWQwYTAwNzhlM2U3NzllIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9j
YWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4
dApAQCAtNCw5ICs0LDkgQEAgRkFJTCBDYWNoZVN0b3JhZ2UuZGVsZXRlIGRvb21zLCBidXQgZG9l
cyBub3QgZGVsZXRlIGltbWVkaWF0ZWx5IHByb21pc2VfdGVzdDogVW4KIEZBSUwgQ2FjaGVTdG9y
YWdlLm9wZW4gd2l0aCBhbiBlbXB0eSBuYW1lIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgogUEFT
UyBDYWNoZVN0b3JhZ2Uub3BlbiB3aXRoIG5vIGFyZ3VtZW50cyAKIEZBSUwgQ2FjaGVTdG9yYWdl
LmhhcyB3aXRoIGV4aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBD
YWNoZVN0b3JhZ2UuaGFzIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitQQVNTIENhY2hlU3RvcmFnZS5oYXMgd2l0aCBub25leGlzdGVudCBjYWNoZSAKIEZB
SUwgQ2FjaGVTdG9yYWdlLm9wZW4gd2l0aCBleGlzdGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKIEZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0ZSB3aXRoIGV4aXN0aW5nIGNhY2hlIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2UuZGVsZXRlIHdpdGggbm9u
ZXhpc3RlbnQgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitQQVNTIENhY2hlU3RvcmFn
ZS5kZWxldGUgd2l0aCBub25leGlzdGVudCBjYWNoZSAKIEZBSUwgQ2FjaGVTdG9yYWdlIG5hbWVz
IGFyZSBET01TdHJpbmdzIG5vdCBVU1ZTdHJpbmdzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLW1hdGNo
Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3Jh
Z2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGZkZWFmZTkzNjZlOWY1OTk5NDdkMjAz
NTlhZjBhNTc0YjNjMmQ2ZjMuLjcxZjVlNzBkMmIyYzM2ZDU1NzRiNTMxMWFiMGNhZTZlYmM2OTBm
ZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2UtbWF0
Y2guaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hl
LXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC00LDggKzQsOCBAQCBGQUlMIENh
Y2hlU3RvcmFnZU1hdGNoIGZyb20gb25lIG9mIG1hbnkgY2FjaGVzIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbgogRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBmcm9tIG9uZSBvZiBtYW55
IGNhY2hlcyBieSBuYW1lIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgogRkFJTCBDYWNoZVN0b3Jh
Z2VNYXRjaCBhIHN0cmluZyByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgogRkFJTCBD
YWNoZVN0b3JhZ2VNYXRjaCBhIEhFQUQgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
LUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNoZWQgZW50cnkgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGVzIGF2YWls
YWJsZSBidXQgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK1BBU1MgQ2Fj
aGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNoZWQgZW50cnkgCitQQVNTIENhY2hlU3RvcmFnZU1h
dGNoIHdpdGggbm8gY2FjaGVzIGF2YWlsYWJsZSBidXQgbmFtZSBwcm92aWRlZCAKIEZBSUwgQ2Fj
aGVTdG9yYWdlTWF0Y2ggd2l0aCBlbXB0eSBjYWNoZSBuYW1lIHByb3ZpZGVkIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgogRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBzdXBwb3J0cyBpZ25vcmVTZWFy
Y2ggcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBGQUlMIENhY2hlLm1hdGNoIHN1cHBvcnRzIGln
bm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hl
LXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQKaW5kZXgg
MDAxZTZlMzNiZDdhYjM0ZWE3MzVhY2FkZjk0MjBjYWUxMDgyOWI2MS4uMWFkNDYwMDI4ZGE3Njll
YzE5ODE0ZTMxMGFkMGEwMDc4ZTNlNzc5ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93
b3JrZXIvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTQsOSArNCw5
IEBAIEZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0ZSBkb29tcywgYnV0IGRvZXMgbm90IGRlbGV0ZSBp
bW1lZGlhdGVseSBwcm9taXNlX3Rlc3Q6IFVuCiBGQUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGgg
YW4gZW1wdHkgbmFtZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIFBBU1MgQ2FjaGVTdG9yYWdl
Lm9wZW4gd2l0aCBubyBhcmd1bWVudHMgCiBGQUlMIENhY2hlU3RvcmFnZS5oYXMgd2l0aCBleGlz
dGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLmhh
cyB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorUEFTUyBD
YWNoZVN0b3JhZ2UuaGFzIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgCiBGQUlMIENhY2hlU3RvcmFn
ZS5vcGVuIHdpdGggZXhpc3RpbmcgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBGQUlM
IENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBleGlzdGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0ZSB3aXRoIG5vbmV4aXN0ZW50IGNhY2hl
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorUEFTUyBDYWNoZVN0b3JhZ2UuZGVsZXRlIHdpdGgg
bm9uZXhpc3RlbnQgY2FjaGUgCiBGQUlMIENhY2hlU3RvcmFnZSBuYW1lcyBhcmUgRE9NU3RyaW5n
cyBub3QgVVNWU3RyaW5ncyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317946</attachid>
            <date>2017-08-11 11:59:45 -0700</date>
            <delta_ts>2017-08-11 15:49:14 -0700</delta_ts>
            <desc>win fix try</desc>
            <filename>bug-175455-20170811115944.patch</filename>
            <type>text/plain</type>
            <size>121390</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNjA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2ZlMTZmNTQzMWVlNDZk
YTM0MDg3NWI5NWQ5MzlhNTVkZGU3ZDcwMC4uYWNkZGQ3YWJhNTliOGIyZGZjM2MzNmQ4NTNlNWRk
MTY0YjY5NmYwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1MyBAQAorMjAxNy0wOC0xMCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRk
aW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5
IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgIEFkZGluZyBhIENhY2hlU3RvcmFnZVByb3ZpZGVy
IGFic3RyYWN0aW9uIHRoYXQgY3JlYXRlcyBhIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uCisgICAg
ICAgIFRoZSBDYWNoZVN0b3JhZ2VQcm92aWRlciBpcyBhY2Nlc3NlZCBmcm9tIHRoZSBwYWdlIGZv
ciBEb2N1bWVudCBjYWxscy4KKyAgICAgICAgVGhlIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24gaXMg
cmVzcG9uc2libGUgdG8gaW1wbGVtZW50IHRoZSByZWFkL3dyaXRlIG9wZXJhdGlvbnMgb24gdGhl
IGNhY2hlIGRhdGFiYXNlLgorICAgICAgICBBdCB0aGUgbW9tZW50LCBpdCBkb2VzIG5vdGhpbmcu
CisKKyAgICAgICAgSW1wbGVtZW50aW5nIENhY2hlU3RvcmFnZSBBUElzIGFuZCBDYWNoZSBBUElz
IGJhc2VkIG9uIHRoZSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uIGV4Y2VwdCBmb3IgQ2FjaGUgYWRk
IGFuZCBhZGRBbGwgd2hpY2ggd2lsbCBiZSBpbXBsZW1lbnRlZCBsYXRlciBvbi4KKworICAgICAg
ICBBZGRpbmcgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlLm1hdGNoIGZ1bmN0aW9uIGFzIGEgSlMg
YnVpbHQtaW4gYXMgdGhpcyBpbnZvbHZlcyBwcm9taXNlcyBhbmQgYWxsb3dzIGEgY2xlYXJlciBp
bXBsZW1lbnRhdGlvbi4KKyAgICAgICAgQWRkaW5nIHZhcmlvdXMgYWNjZXNzb3JzIGFuZCBjb25z
dHJ1Y3RvcnMgZm9yIEZldGNoIGNvbnN0cnVjdHMgYXMgbmVlZGVkIGJ5IHRoZSBDYWNoZSBBUEkg
aW1wbGVtZW50YXRpb24uCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OkNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
Ojp+Q2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6Om9yaWdpbiBjb25zdCk6CisgICAg
ICAgIENvbXB1dGluZyB0aGUgY2FjaGUgb3JpZ2luIHRoYXQgaXMgcGFzc2VkIHRvIHRoZSBDYWNo
ZVN0b3JhZ2VDb25uZWN0aW9uLgorICAgICAgICBUaGUgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbiBp
cyBhIGdlbmVyaWMgY29ubmVjdGlvbiBhbmQgbm90IHRpZWQgdG8gYW55IGRvY3VtZW50L2NvbnRl
eHQuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6bWF0Y2gpOiBJbXBsZW1lbnRhdGlvbiBvZiBo
dHRwczovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEvI2NhY2hlLW1hdGNoLgorICAg
ICAgICBSZWRpcmVjdCB0byBtYXRjaEFsbCBhcyBwZXIgc3BlYy4KKyAgICAgICAgKFdlYkNvcmU6
OkNhY2hlOjptYXRjaEFsbCk6IEltcGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtbWF0Y2hBbGwuCisgICAgICAgIENoZWNrcyBmb3Ig
cmVxdWVzdCBhcyBwZXIgc3BlYy4gVGhlbiBlaXRoZXIgcmVmcmVzaCB0aGUgcmVxdWVzdCB0byBy
ZXNwb25zZSBtYXAgYW5kIHJldHVybiBhbGwgcmVzcG9uc2VzLgorICAgICAgICBPciBjYWxsIHRo
ZSBxdWVyeSBjYWNoZSBhbGdvcml0aG0gYW5kIHJldHVybiBjb3BpZXMgb2YgdGhlIHJlc3BvbnNl
cyAodXNpbmcgY2xvbmUpLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnB1dCk6CisgICAgICAg
IENoZWNrIHRoZSByZXF1ZXN0IGFuZCByZXNwb25zZSBhcyBwZXIgc3BlYy4KKyAgICAgICAgQWRk
IHRlbXBvcmFyeSByZWplY3Rpb24gY2FzZXMgKGJlaW5nIGxvYWRlZCByZXNwb25zZXMsIHJlc3Bv
bnNlcyB3aXRoIFJlYWRhYmxlU3RyZWFtKSBhcyB0aGVyZSBpcyBubyBzdXBwb3J0IGZvciB0aGVt
IHJpZ2h0IG5vdy4KKyAgICAgICAgQ2FsbCB0aGUgYmF0Y2ggcHV0IG9wZXJhdGlvbi4KKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlOjpyZW1vdmUpOgorICAgICAgICBDaGVjayB0aGUgcmVxdWVzdCBh
bmQgcmVzcG9uc2UgYXMgcGVyIHNwZWMuCisgICAgICAgIENhbGwgdGhlIGJhdGNoIGRlbGV0ZSBv
cGVyYXRpb24uCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6a2V5cyk6CisgICAgICAgIFJlZnJl
c2ggdGhlIHJlcXVlc3QgdG8gcmVzcG9uc2UgbWFwIGFuZCByZXR1cm4gY29ycmVzcG9uZGluZyBy
ZXF1ZXN0cy4KKyAgICAgICAgTWFraW5nIHN1cmUgdG8gcmV1c2UgdGhlIHNhbWUgcmVxdWVzdCBv
YmplY3RzIGFzIHBlciBzcGVjLgorICAgICAgICBBcyBwZXIgc3BlYywgdGhlIHJlcXVlc3QgdG8g
cmVzcG9uc2UgbWFwIGlzIG9yZGVyZWQuIFdlIGltcGxlbWVudCBpdCBhcyBhIFZlY3Rvci4KKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlOjpyZWZyZXNoUmVxdWVzdFRvUmVzcG9uc2VNYXApOgorICAg
ICAgICBVc2UgdGhlIGNhY2hlIHN0b3JhZ2UgY29ubmVjdGlvbiB0byBnZXQgYW4gdXAtdG8tZGF0
ZSBsaXN0IG9mIGNhY2hlZCByZWNvcmRzLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnF1ZXJ5
Q2FjaGVNYXRjaCk6CisgICAgICAgIEltcGxlbWVudHMgdGhlIG1hdGNoIGFsZ29yaXRobSBkZWZp
bmVkIGluIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jcXVlcnktY2Fj
aGUtYWxnb3JpdGhtLgorICAgICAgICBUaGlzIGlzIHNwbGl0IGZvciBxdWVyeUNhY2hlIGFzIGNh
Y2hlIHN0b3JhZ2UgZW5naW5lIHdpbGwgbmVlZCB0byB1c2UgaXQgd2hlbiBpbXBsZW1lbnRpbmcg
dGhlIGRlbGV0ZSBvcGVyYXRpb24uCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6cXVlcnlDYWNo
ZSk6CisgICAgICAgIEZ1bGwgaW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93d3cudzMub3JnL1RS
L3NlcnZpY2Utd29ya2Vycy0xLyNxdWVyeS1jYWNoZS1hbGdvcml0aG0gd2l0aCBubyB0YXJnZXRT
dG9yYWdlIGFyZ3VtZW50LgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnF1ZXJ5Q2FjaGVXaXRo
VGFyZ2V0U3RvcmFnZSk6CisgICAgICAgIEZ1bGwgaW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93
d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNxdWVyeS1jYWNoZS1hbGdvcml0aG0gd2l0
aCBhIHByb3ZpZGVkIHRhcmdldFN0b3JhZ2UgYXJndW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpD
YWNoZTo6YmF0Y2hEZWxldGVPcGVyYXRpb24pOgorICAgICAgICBJbXBsZW1lbnRhdGlvbiBvZiBo
dHRwczovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEvI2JhdGNoLWNhY2hlLW9wZXJh
dGlvbnMtYWxnb3JpdGhtIGJ1dCBkZWRpY2F0ZWQgdG8gYSBkZWxldGUgb3BlcmF0aW9uLgorICAg
ICAgICBEZWxldGUgb3BlcmF0aW9uIGFyZSBhbHdheXMgZG9uZSBvbmUgYXQgYSB0aW1lLgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGU6OmJhdGNoUHV0T3BlcmF0aW9uKToKKyAgICAgICAgSW1wbGVt
ZW50YXRpb24gb2YgaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNiYXRj
aC1jYWNoZS1vcGVyYXRpb25zLWFsZ29yaXRobSBkZWRpY2F0ZWQgdG8gYSBwdXQgb3BlcmF0aW9u
LgorICAgICAgICBQdXQgb3BlcmF0aW9uIGNhbiB0YWtlIHNldmVyYWwgcmVjb3JkcyBpbiB0aGUg
Y2FzZSBvZiBhZGRBbGwuIFRoaXMgY3VycmVudGx5IHRha2VzIG9ubHkgb25lIHJlY29yZCBhcyBp
bnB1dCBhcyBuZWVkZWQgZm9yIHB1dCBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6
OkNhY2hlOjp1cGRhdGVSZXF1ZXN0VG9SZXNwb25zZU1hcCk6CisgICAgICAgIFVwZGF0ZSB0aGUg
Y2FjaGUgcmVxdWVzdCB0byByZXNwb25zZSBtYXAgYmFzZWQgb24gdGhlIHJlY29yZHMgcmV0cmll
dmVkIGZyb20gdGhlIGNhY2hlIHN0b3JhZ2UgY29ubmVjdGlvbi4KKyAgICAgICAgKiBNb2R1bGVz
L2NhY2hlL0NhY2hlLmg6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlOjpuYW1lIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hl
L0NhY2hlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2U6Om9yaWdpbiBjb25zdCk6CisgICAgICAgIENv
bXB1dGluZyB0aGUgY2FjaGUgb3JpZ2luIHRoYXQgaXMgcGFzc2VkIHRvIHRoZSBDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uLgorICAgICAgICBUaGUgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbiBpcyBhIGdl
bmVyaWMgY29ubmVjdGlvbiBhbmQgbm90IHRpZWQgdG8gYW55IGRvY3VtZW50L2NvbnRleHQuCisg
ICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2U6Omhhcyk6CisgICAgICAgIEltcGxlbWVudGF0
aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtc3Rv
cmFnZS1oYXMuCisgICAgICAgIENhbGwgdGhlIGNhY2hlIHN0b3JhZ2UgY29ubmVjdGlvbiB0byBy
ZWZyZXNoIGl0cyBjYWNoZSBtYXAuCisgICAgICAgIFRoZW4gdXNlIGl0IHRvIGNoZWNrIHdoZXRo
ZXIgYSBjYWNoZSBleGlzdHMuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2U6OnJlZnJl
c2hDYWNoZU1hcCk6CisgICAgICAgIFVzZSB0aGUgY2FjaGUgc3RvcmFnZSBjb25uZWN0aW9uIHRv
IGdldCB0aGUgbGlzdCBvZiBleGlzdGluZyBjYWNoZXMuCisgICAgICAgIChXZWJDb3JlOjpDYWNo
ZVN0b3JhZ2U6Om9wZW4pOgorICAgICAgICBJbXBsZW1lbnRhdGlvbiBvZiBodHRwczovL3d3dy53
My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEvI2NhY2hlLXN0b3JhZ2Utb3Blbi4KKyAgICAgICAg
UmVmcmVzaGluZyB0aGUgY2FjaGUgbWFwIHNvIGFzIHRvIHJldHVybiBhIHByZS1leGlzdGluZyBj
YWNoZSBpZiBhbnkuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2U6OnJlbW92ZSk6Cisg
ICAgICAgIEltcGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdv
cmtlcnMtMS8jY2FjaGUtc3RvcmFnZS1kZWxldGUtbWV0aG9kLgorICAgICAgICBSZWZyZXNoaW5n
IHRoZSBjYWNoZSBtYXAgc28gYXMgdG8gZG8gbm90aGluZyBpZiB0aGVyZSBpcyBubyBjYWNoZSB0
byByZW1vdmUuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2U6OmtleXMpOgorICAgICAg
ICBJbXBsZW1lbnRhdGlvbiBvZiBodHRwczovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJz
LTEvI2NhY2hlLXN0b3JhZ2Uta2V5cy1tZXRob2QuCisgICAgICAgIFJlZnJlc2hpbmcgdGhlIGNh
Y2hlIG1hcCBhbmQgcmV0dXJuaW4gaXRzIGtleXMuCisgICAgICAgIEFzIHBlciBzcGVjLCB0aGUg
Y2FjaGUgbWFwIGlzIG9yZGVyZWQuIFdlIGltcGxlbWVudCBpdCBhcyBhIFZlY3Rvci4KKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6Y2FjaGVNYXApOgorICAgICAgICBHZXQgdGhlIGxp
c3Qgb2YgY2FjaGUgb2JqZWN0cywgdXNlZCBhcyBhIHByaXZhdGUgYWNjZXNzb3IgZm9yIEpTIGJ1
aWx0LWlucy4KKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVTdG9yYWdlOjpDYWNoZVN0b3JhZ2UpOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvQ2FjaGVT
dG9yYWdlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5qczogQWRk
ZWQuCisgICAgICAgIChtYXRjaCk6IEltcGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9y
Zy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtbWF0Y2guCisgICAgICAgIEFzIHBlciBzcGVj
LCB1c2luZyBDYWNoZS5AbWF0Y2ggb24gZWl0aGVyIGEgc3BlY2lmaWMgY2FjaGUgb3IgYWxsIGNh
Y2hlcy4KKyAgICAgICAgSW1wbGVtZW50aW5nIGluIEpTIGJ1aWx0LWluIGlzIGEgY29udmVuaWVu
dCB3YXkgdG8gaGF2ZSBhIHNpbXBsZSBpbXBsZW1lbnRhdGlvbgorICAgICAgICB0aGF0IGVhc2ls
eSByZWxhdGVzIHRvIHRoZSBzcGVjaWZpY2F0aW9uLgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUv
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9yKToKKyAgICAgICAgKiBNb2R1
bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaDogQWRkZWQuCisgICAgICAgIE1ha2Vz
IHRoZSBsaW5rIGJldHdlZW4gV2ViIGZhY2luZyBDYWNoZSBBUEkgYW5kIHRoZSBjYWNoZSBzdG9y
YWdlIGVuZ2luZS4KKyAgICAgICAgRW52aXNpb25lZCBpbXBsZW1lbnRhdGlvbiBhcmU6CisgICAg
ICAgIC0gT25lIG1haW4gdGhyZWFkIGNvbm5lY3Rpb24gdXNlZCBieSBhbGwgZG9jdW1lbnRzIGlu
IHRoZSBnaXZlbiBwcm9jZXNzLgorICAgICAgICAtIE9uZSBjb25uZWN0aW9uIHBlciB3b3JrZXIg
dGhhdCBmb3J3YXJkcyB0aGUgY2FsbHMgdG8gdGhlIG1haW4gdGhyZWFkIGFuZCB1c2UgdGhlIG1h
aW4gdGhyZWFkIGNvbm5lY3Rpb24gYWZ0ZXJ3YXJkcy4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uOjpvcGVuKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5l
Y3Rpb246OnJlbW92ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
OjpyZWZyZXNoQ2FjaGVNYXApOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29ubmVj
dGlvbjo6cmVmcmVzaFJlcXVlc3RUb1Jlc3BvbnNlTWFwKToKKyAgICAgICAgKFdlYkNvcmU6OkNh
Y2hlU3RvcmFnZUNvbm5lY3Rpb246OmJhdGNoRGVsZXRlT3BlcmF0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmJhdGNoUHV0T3BlcmF0aW9uKToKKyAgICAg
ICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZVJlY29yZC5oOiBBZGRlZC4gQSBmZXRjaCBy
ZWNvcmQgZnJvbSB0aGUgV2ViIGZhY2luZyBjYWNoZSBBUEkgcGVyc3BlY3RpdmUuCisgICAgICAg
ICogTW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RE9NV2luZG93Q2FjaGVzOjpjYWNoZXMgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUv
V29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xv
YmFsU2NvcGVDYWNoZXM6OmZyb20pOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2Nv
cGVDYWNoZXM6OmNhY2hlcyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9Xb3JrZXJH
bG9iYWxTY29wZUNhY2hlcy5oOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGVD
YWNoZXM6Oldvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKToKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNo
L0ZldGNoQm9keU93bmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHlPd25lcjo6aXNS
ZWFkYWJsZVN0cmVhbUJvZHkgY29uc3QpOiBBZGRlZCBnZXR0ZXIgYXMgaXQgaXMgdXNlZCBieSBj
YWNoZSBBUEkuCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZldGNoSGVhZGVyczo6Y3JlYXRlKTogQWRkIGFub3RoZXIgY3JlYXRlIGFz
IHVzZWQgYnkgdGhlIGNhY2hlIEFQSS4KKyAgICAgICAgKFdlYkNvcmU6OkZldGNoSGVhZGVyczo6
Z3VhcmQgY29uc3QpOiBBZGRlZCBnZXR0ZXIgYW5kIElQQyBzZXJpYWxpemVyIGFzIHRoaXMgaXMg
c29tZXRoaW5nIHRoYXQgd2lsbCBiZSBzdG9yZWQgYnkgdGhlIGNhY2hlIGVuZ2luZS4KKyAgICAg
ICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZl
dGNoTG9hZGVyOjpzdGFydCk6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6YnVpbGRPcHRpb25zKTogSW4gY2FzZSBGZXRjaFJlcXVl
c3Q6OmNyZWF0ZSBpcyBjYWxsZWQgZnJvbSBDKyssIHRoZXJlIGlzIG5vIG5lZWQgdG8gc2V0IGlu
aXQud2luZG93IHRvIGEgbnVsbCB2YWx1ZS4KKyAgICAgICAgQWRkIGEgY2hlY2sgc28gdGhhdCBu
byB2YWx1ZSBhdCBhbGwgaXMgdGhlIHNhbWUgYXMgYSB1bmxsL3VuZGVmaW5lZCB2YWx1ZS4KKyAg
ICAgICAgKFdlYkNvcmU6OkZldGNoUmVxdWVzdDo6cmVzb3VyY2VSZXF1ZXN0IGNvbnN0KToKKyAg
ICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5oOgorICAgICAgICAqIE1vZHVsZXMv
ZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaFJlc3BvbnNl
Ojpib2R5Rm9ySW50ZXJuYWxSZXNwb25zZSk6IENhY2hlIEFQSSBjYW4gY29uc3VtZSB0aGUgcmVz
cG9uc2UgYm9keS4gQWRkIHRoaXMgYWNjZXNzb3IgZm9yIHRoYXQgcHVycG9zZS4KKyAgICAgICAg
KiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0
aW5OYW1lcy5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck92ZXJsYXk6Om92ZXJsYXlQYWdlKToKKyAgICAgICAg
KiBwYWdlL0NhY2hlU3RvcmFnZVByb3ZpZGVyLmg6IEFkZGVkLgorICAgICAgICBJbnRlcmZhY2Ug
dG8gY3JlYXRlIG1haW4gdGhyZWFkIGNhY2hlIHN0b3JhZ2UgY29ubmVjdGlvbiBmb3IgdGhlIGdp
dmVuIHBhZ2UuCisgICAgICAgIFRoZXJlIHdpbGwgYmUgb25lIHByb3ZpZGVyIGZvciBlYWNoIHBy
b2Nlc3MuCisgICAgICAgIFBhc3NpbmcgYSBzZXNzaW9uSUQgc28gdGhhdCB3ZSB3aWxsIGNyZWF0
ZSBhIGNvbm5lY3Rpb24gcGVyIHNlc3Npb24uCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBhZ2U6OlBhZ2UpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6UGFnZTo6Y2FjaGVTdG9yYWdlUHJvdmlkZXIpOgorICAgICAgICAqIHBh
Z2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbmZpZ3Vy
YXRpb246OlBhZ2VDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0
aW9uLmg6CisgICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0ltYWdlOjpkYXRhQ2hhbmdlZCk6CisKIDIwMTctMDgtMTAgIFNhbSBXZWluaWcg
IDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBXVEY6OkZ1bmN0aW9uIGRvZXMgbm90IGFsbG93
IGZvciByZWZlcmVuY2UgLyBub24tZGVmYXVsdCBjb25zdHJ1Y3RpYmxlIHJldHVybiB0eXBlcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCA1MDIxMzJjMDgwOGU2M2U2ZjEzZDcwZWJlMDM2M2Q4ZDk2YWRkNjA1Li4zZWMz
ZjJkZGRhOGMxZDQ2NmNmZmY5YWQ5MGIxNmFhMjJhZjEzYzRhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE5IEBACisyMDE3LTA4LTEwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbQ2FjaGUgQVBJXSBBZGRpbmcgZ2VuZXJpYyBzdXBwb3J0IGZvciBDYWNoZVN0b3Jh
Z2UgYW5kIENhY2hlIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3NTQ1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9DYWNoZS9XZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oOiBBZGRlZC4KKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6
Om1fY3B1TGltaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OldlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpjYWNoZVN0b3Jh
Z2VQcm92aWRlcik6CisKIDIwMTctMDgtMTAgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBXVEY6OkZ1bmN0aW9uIGRvZXMgbm90IGFsbG93IGZvciByZWZlcmVuY2UgLyBu
b24tZGVmYXVsdCBjb25zdHJ1Y3RpYmxlIHJldHVybiB0eXBlcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hh
bmdlTG9nCmluZGV4IDU4NTJkYWIxMjNmNmFlMjJmNjE1NWU3NjY3NGQyN2EyMzNkY2EyZGUuLmIx
OTFhNWQ2NzkwZDRjYzMzOGRjOTZhY2FlZmE4NjBiZjFlMjE2ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0wOC0xMCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRkaW5nIGdlbmVyaWMg
c3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToK
KyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdy
b3VwTmFtZTpdKToKKwogMjAxNy0wOC0xMCAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJv
QGlnYWxpYS5jb20+CiAKICAgICAgICAgUmVtb3ZlIEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNjQ4MTYzMWU4ZjZhZDVhMWQxZjZmZjE5MGFkODYzZTQ3
ZDM1NTE0My4uMTk2ZDQ1MDNiZjBkM2JmOGMyZjM3ZWI0M2VkZWZkOGYzMzVjOTVhNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKQEAgLTg5MSw2ICs4OTEsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAK
ICAgICBNb2R1bGVzL2NhY2hlL0NhY2hlLmNwcAogICAgIE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9y
YWdlLmNwcAorICAgIE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAKICAg
ICBNb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHAKICAgICBNb2R1bGVzL2NhY2hlL1dv
cmtlckdsb2JhbFNjb3BlQ2FjaGVzLmNwcAogCkBAIC0zODMzLDYgKzM4MzQsNyBAQCBhZGRfZGVw
ZW5kZW5jaWVzKFdlYkNvcmVUZXN0U3VwcG9ydEJpbmRpbmdzIFdlYkNvcmVEZXJpdmVkU291cmNl
cykKICMgV2ViQ29yZSBKUyBCdWlsdGlucwogCiBzZXQoV2ViQ29yZV9CVUlMVElOU19TT1VSQ0VT
CisgICAgJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuanMKICAgICAk
e1dFQkNPUkVfRElSfS9Nb2R1bGVzL2ZldGNoL0ZldGNoSW50ZXJuYWxzLmpzCiAgICAgJHtXRUJD
T1JFX0RJUn0vTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmpzCiAgICAgJHtXRUJDT1JFX0RJ
Un0vTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JVc2VyTWVkaWEuanMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCmluZGV4IDhkNTY0ZTY3NzBiZmQ4NDQyZDU3OGQ1NGMyYjk4MWZiODVl
MWI3ZjguLjdlMDUzOGM0MTBkM2YzNGI1NWMxMDRlMTc3MDcwYWFjMDQ4M2MzYTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTM5Nyw2ICsxMzk3LDcgQEAgQ29tbWFuZExpbmVB
UElNb2R1bGVTb3VyY2UuaCA6IENvbW1hbmRMaW5lQVBJTW9kdWxlU291cmNlLmpzCiAjIFdlYkNv
cmUgSlMgQnVpbHRpbnMKIAogV2ViQ29yZV9CVUlMVElOU19TT1VSQ0VTID0gXAorICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuanMgXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9mZXRjaC9GZXRjaEludGVybmFscy5qcyBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoUmVzcG9uc2UuanMgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVh
bS9OYXZpZ2F0b3JVc2VyTWVkaWEuanMgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9jYWNoZS9DYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hl
LmNwcAppbmRleCBlMTlhZjU1MDI5NTY0ZDk1NzQ1NDJiM2ViMzM0ODQzMjM4M2Y2N2Q1Li4yZmQ4
OGRjZjMwMzMzOGM4ZmUyZjRhZjVlMTVjYzAyMTA2YjRhZDFiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2NhY2hlL0NhY2hlLmNwcApAQCAtMjYsMTYgKzI2LDg3IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiQ2FjaGUuaCIKIAorI2luY2x1ZGUgIkNhY2hlUXVlcnlPcHRpb25zLmgi
CisjaW5jbHVkZSAiRmV0Y2hSZXNwb25zZS5oIgorI2luY2x1ZGUgIkpTRmV0Y2hSZXF1ZXN0Lmgi
CisjaW5jbHVkZSAiSlNGZXRjaFJlc3BvbnNlLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9u
Q29udGV4dC5oIgorI2luY2x1ZGUgIlVSTC5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXZv
aWQgQ2FjaGU6Om1hdGNoKFJlcXVlc3RJbmZvJiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9w
dGlvbnM+JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK0NhY2hlOjpDYWNoZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBTdHJpbmcmJiBuYW1lLCBSZWY8Q2FjaGVT
dG9yYWdlQ29ubmVjdGlvbj4mJiBjb25uZWN0aW9uKQorICAgIDogQWN0aXZlRE9NT2JqZWN0KCZj
b250ZXh0KQorICAgICwgbV9uYW1lKFdURk1vdmUobmFtZSkpCisgICAgLCBtX2Nvbm5lY3Rpb24o
V1RGTW92ZShjb25uZWN0aW9uKSkKIHsKLSAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9uIHsg
VHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgc3VzcGVu
ZElmTmVlZGVkKCk7CiB9CiAKLXZvaWQgQ2FjaGU6Om1hdGNoQWxsKHN0ZDo6b3B0aW9uYWw8UmVx
dWVzdEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIE1hdGNoQWxs
UHJvbWlzZSYmIHByb21pc2UpCitDYWNoZTo6fkNhY2hlKCkKIHsKLSAgICBwcm9taXNlLnJlamVj
dChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9
KTsKK30KKworU3RyaW5nIENhY2hlOjpvcmlnaW4oKSBjb25zdAoreworICAgIC8vIEZJWE1FOiBE
byB3ZSByZWFsbHkgbmVlZCB0byBjaGVjayBmb3Igb3JpZ2luIGJlaW5nIG51bGw/CisgICAgYXV0
byogb3JpZ2luID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpID8gc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLT5zZWN1cml0eU9yaWdpbigpIDogbnVsbHB0cjsKKyAgICByZXR1cm4gb3JpZ2luID8g
b3JpZ2luLT50b1N0cmluZygpIDogU3RyaW5nKCk7Cit9CisKK3ZvaWQgQ2FjaGU6Om1hdGNoKFJl
cXVlc3RJbmZvJiYgaW5mbywgQ2FjaGVRdWVyeU9wdGlvbnMmJiBvcHRpb25zLCBSZWY8RGVmZXJy
ZWRQcm9taXNlPiYmIHByb21pc2UpCit7CisgICAgbWF0Y2hBbGwoV1RGTW92ZShpbmZvKSwgV1RG
TW92ZShvcHRpb25zKSwgV1RGTW92ZShwcm9taXNlKSwgTWF0Y2hUeXBlOjpPbmx5Rmlyc3QpOwor
fQorCit2b2lkIENhY2hlOjptYXRjaEFsbChzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZvPiYmIGlu
Zm8sIENhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBw
cm9taXNlLCBNYXRjaFR5cGUgbWF0Y2hUeXBlKQoreworICAgIFJlZlB0cjxGZXRjaFJlcXVlc3Q+
IHJlcXVlc3Q7CisgICAgaWYgKGluZm8pIHsKKyAgICAgICAgaWYgKFdURjo6aG9sZHNfYWx0ZXJu
YXRpdmU8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8udmFsdWUoKSkpIHsKKyAgICAgICAgICAg
IHJlcXVlc3QgPSBXVEY6OmdldDxSZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4oaW5mby52YWx1ZSgpKS5y
ZWxlYXNlTm9uTnVsbCgpOworICAgICAgICAgICAgaWYgKHJlcXVlc3QtPm1ldGhvZCgpICE9ICJH
RVQiICYmICFvcHRpb25zLmlnbm9yZU1ldGhvZCkgeworICAgICAgICAgICAgICAgIGlmIChtYXRj
aFR5cGUgPT0gTWF0Y2hUeXBlOjpPbmx5Rmlyc3QpIHsKKyAgICAgICAgICAgICAgICAgICAgcHJv
bWlzZS0+cmVzb2x2ZSgpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIHByb21pc2UtPnJlc29sdmU8SURMU2VxdWVuY2U8SURM
SW50ZXJmYWNlPEZldGNoUmVzcG9uc2U+Pj4oVmVjdG9yPFJlZjxGZXRjaFJlc3BvbnNlPj4geyB9
KTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICBpZiAoVU5MSUtFTFkoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkp
CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgcmVxdWVzdCA9IEZldGNoUmVx
dWVzdDo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFdURk1vdmUoaW5mby52YWx1
ZSgpKSwgeyB9KS5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKKyAgICAgICAgfQorICAgIH0KKworICAg
IGlmICghcmVxdWVzdCkgeworICAgICAgICBBU1NFUlQobWF0Y2hUeXBlID09IE1hdGNoVHlwZTo6
QWxsKTsKKyAgICAgICAgcmVmcmVzaFJlcXVlc3RUb1Jlc3BvbnNlTWFwKFt0aGlzLCBwcm9taXNl
ID0gV1RGTW92ZShwcm9taXNlKV0oKSB7CisgICAgICAgICAgICBWZWN0b3I8UmVmPEZldGNoUmVz
cG9uc2U+PiByZXNwb25zZXM7CisgICAgICAgICAgICByZXNwb25zZXMucmVzZXJ2ZUluaXRpYWxD
YXBhY2l0eShtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwLnNpemUoKSk7CisgICAgICAgICAgICBmb3Ig
KGF1dG8mIHJlY29yZCA6IG1fcmVxdWVzdFRvUmVzcG9uc2VNYXApCisgICAgICAgICAgICAgICAg
cmVzcG9uc2VzLnVuY2hlY2tlZEFwcGVuZChyZWNvcmQucmVzcG9uc2UtPmNsb25lRm9ySlMoKSk7
CisgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElETFNlcXVlbmNlPElETEludGVyZmFjZTxG
ZXRjaFJlc3BvbnNlPj4+KHJlc3BvbnNlcyk7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm47
CisgICAgfQorICAgIHF1ZXJ5Q2FjaGUocmVxdWVzdC5yZWxlYXNlTm9uTnVsbCgpLCBXVEZNb3Zl
KG9wdGlvbnMpLCBbbWF0Y2hUeXBlLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oY29uc3Qg
VmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4mIHJlY29yZHMpIG11dGFibGUgeworICAgICAgICBp
ZiAobWF0Y2hUeXBlID09IE1hdGNoVHlwZTo6T25seUZpcnN0KSB7CisgICAgICAgICAgICBpZiAo
cmVjb3Jkcy5zaXplKCkpIHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElETElu
dGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4ocmVjb3Jkc1swXS5yZXNwb25zZS5nZXQoKSk7CisgICAg
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcHJvbWlzZS0+
cmVzb2x2ZSgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgVmVj
dG9yPFJlZjxGZXRjaFJlc3BvbnNlPj4gcmVzcG9uc2VzOworICAgICAgICByZXNwb25zZXMucmVz
ZXJ2ZUluaXRpYWxDYXBhY2l0eShyZWNvcmRzLnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0byYg
cmVjb3JkIDogcmVjb3JkcykKKyAgICAgICAgICAgIHJlc3BvbnNlcy51bmNoZWNrZWRBcHBlbmQo
cmVjb3JkLnJlc3BvbnNlLT5jbG9uZUZvckpTKCkpOworICAgICAgICBwcm9taXNlLT5yZXNvbHZl
PElETFNlcXVlbmNlPElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4+KHJlc3BvbnNlcyk7Cisg
ICAgfSk7CiB9CiAKIHZvaWQgQ2FjaGU6OmFkZChSZXF1ZXN0SW5mbyYmLCBET01Qcm9taXNlRGVm
ZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQpAQCAtNDgsMTkgKzExOSwyNzYgQEAgdm9pZCBDYWNoZTo6
YWRkQWxsKFZlY3RvcjxSZXF1ZXN0SW5mbz4mJiwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYg
cHJvbWlzZSkKICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJ
TGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKIH0KIAotdm9pZCBDYWNoZTo6cHV0KFJlcXVl
c3RJbmZvJiYsIFJlZjxGZXRjaFJlc3BvbnNlPiYmLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4m
JiBwcm9taXNlKQordm9pZCBDYWNoZTo6cHV0KFJlcXVlc3RJbmZvJiYgaW5mbywgUmVmPEZldGNo
UmVzcG9uc2U+JiYgcmVzcG9uc2UsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2Up
CiB7Ci0gICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVy
YWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgUmVmUHRyPEZldGNoUmVxdWVzdD4gcmVxdWVz
dDsKKyAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4o
aW5mbykpIHsKKyAgICAgICAgcmVxdWVzdCA9IFdURjo6Z2V0PFJlZlB0cjxGZXRjaFJlcXVlc3Q+
PihpbmZvKS5yZWxlYXNlTm9uTnVsbCgpOworICAgICAgICBpZiAocmVxdWVzdC0+bWV0aG9kKCkg
IT0gIkdFVCIpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVF
cnJvciwgQVNDSUlMaXRlcmFsKCJSZXF1ZXN0IG1ldGhvZCBpcyBub3QgR0VUIikgfSk7CisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoVU5M
SUtFTFkoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkpCisgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLCBXVEZNb3ZlKGluZm8pLCB7IH0pLnJlbGVhc2VSZXR1cm5WYWx1ZSgpOworICAgIH0K
KworICAgIGlmICghcHJvdG9jb2xJc0luSFRUUEZhbWlseShyZXF1ZXN0LT51cmwoKSkpIHsKKyAg
ICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwo
IlJlcXVlc3QgdXJsIGlzIG5vdCBIVFRQL0hUVFBTIikgfSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBhdXRvIHZhcnlWYWx1ZSA9IHJlc3BvbnNlLT5oZWFkZXJzKCkuaW50ZXJuYWxI
ZWFkZXJzKCkuZ2V0KFdlYkNvcmU6OkhUVFBIZWFkZXJOYW1lOjpWYXJ5KTsKKyAgICBWZWN0b3I8
U3RyaW5nPiB2YXJ5aW5nSGVhZGVyTmFtZXM7CisgICAgYm9vbCBoYXNWYXJ5SGVhZGVyU3RhciA9
IGZhbHNlOworICAgIHZhcnlWYWx1ZS5zcGxpdCgnLCcsIGZhbHNlLCBbJl0oY29uc3QgU3RyaW5n
VmlldyYgdmlldykgeworICAgICAgICBpZiAoIWhhc1ZhcnlIZWFkZXJTdGFyICYmIHZpZXcgPT0g
IioiKQorICAgICAgICAgICAgaGFzVmFyeUhlYWRlclN0YXIgPSB0cnVlOworICAgIH0pOworCisg
ICAgaWYgKGhhc1ZhcnlIZWFkZXJTdGFyKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2Vw
dGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJSZXNwb25zZSBoYXMgYSAnKicgVmFyeSBo
ZWFkZXIgdmFsdWUiKSB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChyZXNw
b25zZS0+aXNEaXN0dXJiZWQoKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24g
eyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiUmVzcG9uc2UgaXMgZGlzdHVyYmVkIG9yIGxvY2tl
ZCIpIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gRklYTUU6IEFkZCBzdXBw
b3J0IGZvciBiZWluZyBsb2FkZWQgcmVzcG9uc2VzLgorICAgIGlmIChyZXNwb25zZS0+aXNMb2Fk
aW5nKCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVk
RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQ2FjaGluZyBhIGxvYWRpbmcgUmVzcG9uc2UgaXMgbm90IHll
dCBzdXBwb3J0ZWQiKSB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICAvLyBGSVhNRTog
QWRkIHN1cHBvcnQgZm9yIFJlYWRhYmxlU3RyZWFtLgorICAgIGlmIChyZXNwb25zZS0+aXNSZWFk
YWJsZVN0cmVhbUJvZHkoKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBO
b3RTdXBwb3J0ZWRFcnJvciwgQVNDSUlMaXRlcmFsKCJDYWNoaW5nIGEgUmVzcG9uc2Ugd2l0aCBk
YXRhIHN0b3JlZCBpbiBhIFJlYWRhYmxlU3RyZWFtIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIikgfSk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBiYXRjaFB1dE9wZXJhdGlvbigqcmVxdWVz
dCwgcmVzcG9uc2UuZ2V0KCksIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICBpZiAoZXJyb3Ig
IT0gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3I6Ok5vbmUpIHsKKyAgICAgICAgICAgIHBy
b21pc2UucmVqZWN0KENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlvbkZyb21FcnJvcihl
cnJvcikpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHByb21pc2Uu
cmVzb2x2ZSgpOworICAgIH0pOwogfQogCi12b2lkIENhY2hlOjpyZW1vdmUoUmVxdWVzdEluZm8m
Jiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgRE9NUHJvbWlzZURlZmVycmVk
PElETEJvb2xlYW4+JiYgcHJvbWlzZSkKK3ZvaWQgQ2FjaGU6OnJlbW92ZShSZXF1ZXN0SW5mbyYm
IGluZm8sIENhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywgRE9NUHJvbWlzZURlZmVycmVkPElE
TEJvb2xlYW4+JiYgcHJvbWlzZSkKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBU
eXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICBSZWZQdHI8
RmV0Y2hSZXF1ZXN0PiByZXF1ZXN0OworICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPFJl
ZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvKSkgeworICAgICAgICByZXF1ZXN0ID0gV1RGOjpnZXQ8
UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8pLnJlbGVhc2VOb25OdWxsKCk7CisgICAgICAgIGlm
IChyZXF1ZXN0LT5tZXRob2QoKSAhPSAiR0VUIiAmJiAhb3B0aW9ucy5pZ25vcmVNZXRob2QpIHsK
KyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShmYWxzZSk7CisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoVU5MSUtFTFkoIXNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKSkpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIHJlcXVlc3Qg
PSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBXVEZNb3Zl
KGluZm8pLCB7IH0pLnJlbGVhc2VSZXR1cm5WYWx1ZSgpOworICAgIH0KKworICAgIGJhdGNoRGVs
ZXRlT3BlcmF0aW9uKCpyZXF1ZXN0LCBXVEZNb3ZlKG9wdGlvbnMpLCBbcHJvbWlzZSA9IFdURk1v
dmUocHJvbWlzZSldKGJvb2wgZGlkRGVsZXRlLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJv
ciBlcnJvcikgbXV0YWJsZSB7CisgICAgICAgIGlmIChlcnJvciAhPSAgQ2FjaGVTdG9yYWdlQ29u
bmVjdGlvbjo6RXJyb3I6Ok5vbmUpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KENhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlvbkZyb21FcnJvcihlcnJvcikpOworICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHByb21pc2UucmVzb2x2ZShkaWREZWxldGUp
OworICAgIH0pOwogfQogCi12b2lkIENhY2hlOjprZXlzKHN0ZDo6b3B0aW9uYWw8UmVxdWVzdElu
Zm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIEtleXNQcm9taXNlJiYg
cHJvbWlzZSkKK3ZvaWQgQ2FjaGU6OmtleXMoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4mJiBp
bmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIEtleXNQcm9taXNlJiYgcHJvbWlzZSkK
IHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJh
bCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICBSZWZQdHI8RmV0Y2hSZXF1ZXN0PiByZXF1ZXN0
OworICAgIGlmIChpbmZvKSB7CisgICAgICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPFJl
ZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvLnZhbHVlKCkpKSB7CisgICAgICAgICAgICByZXF1ZXN0
ID0gV1RGOjpnZXQ8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8udmFsdWUoKSkucmVsZWFzZU5v
bk51bGwoKTsKKyAgICAgICAgICAgIGlmIChyZXF1ZXN0LT5tZXRob2QoKSAhPSAiR0VUIiAmJiAh
b3B0aW9ucy5pZ25vcmVNZXRob2QpIHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLnJlc29sdmUo
VmVjdG9yPFJlZjxGZXRjaFJlcXVlc3Q+PiB7IH0pOworICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmIChVTkxJS0VM
WSghc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSkKKyAgICAgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgICAgICByZXF1ZXN0ID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUoKnNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSwgV1RGTW92ZShpbmZvLnZhbHVlKCkpLCB7IH0pLnJlbGVhc2VSZXR1cm5WYWx1
ZSgpOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCFyZXF1ZXN0KSB7CisgICAgICAgIHJl
ZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcChbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlz
ZSldKCkgbXV0YWJsZSB7CisgICAgICAgICAgICBWZWN0b3I8UmVmPEZldGNoUmVxdWVzdD4+IHJl
cXVlc3RzOworICAgICAgICAgICAgcmVxdWVzdHMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShtX3Jl
cXVlc3RUb1Jlc3BvbnNlTWFwLnNpemUoKSk7CisgICAgICAgICAgICBmb3IgKGF1dG8mIHJlY29y
ZCA6IG1fcmVxdWVzdFRvUmVzcG9uc2VNYXApCisgICAgICAgICAgICAgICAgcmVxdWVzdHMudW5j
aGVja2VkQXBwZW5kKHJlY29yZC5yZXF1ZXN0LmNvcHlSZWYoKSk7CisgICAgICAgICAgICBwcm9t
aXNlLnJlc29sdmUocmVxdWVzdHMpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIHF1ZXJ5Q2FjaGUocmVxdWVzdC5yZWxlYXNlTm9uTnVsbCgpLCBXVEZNb3ZlKG9w
dGlvbnMpLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKGNvbnN0IFZlY3RvcjxDYWNoZVN0
b3JhZ2VSZWNvcmQ+JiByZWNvcmRzKSBtdXRhYmxlIHsKKyAgICAgICAgVmVjdG9yPFJlZjxGZXRj
aFJlcXVlc3Q+PiByZXF1ZXN0czsKKyAgICAgICAgcmVxdWVzdHMucmVzZXJ2ZUluaXRpYWxDYXBh
Y2l0eShyZWNvcmRzLnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0byYgcmVjb3JkIDogcmVjb3Jk
cykKKyAgICAgICAgICAgIHJlcXVlc3RzLnVuY2hlY2tlZEFwcGVuZChyZWNvcmQucmVxdWVzdC5j
b3B5UmVmKCkpOworICAgICAgICBwcm9taXNlLnJlc29sdmUocmVxdWVzdHMpOworICAgIH0pOwor
fQorCit2b2lkIENhY2hlOjpyZWZyZXNoUmVxdWVzdFRvUmVzcG9uc2VNYXAoV1RGOjpGdW5jdGlv
bjx2b2lkKCk+JiYgY2FsbGJhY2spCit7CisgICAgU3RyaW5nIG9yaWdpbiA9IHRoaXMtPm9yaWdp
bigpOworICAgIGlmIChvcmlnaW4uaXNOdWxsKCkpCisgICAgICAgIHJldHVybjsKKworICAgIHNl
dFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICBtX2Nvbm5lY3Rpb24tPnJlZnJlc2hSZWNvcmRz
KG9yaWdpbiwgbV9uYW1lLCBbdGhpcywgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oVmVj
dG9yPENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlY29yZD4mJiByZWNvcmRzKSB7CisgICAgICAg
IGlmICghbV9pc1N0b3BwZWQpIHsKKyAgICAgICAgICAgIHVwZGF0ZVJlcXVlc3RUb1Jlc3BvbnNl
TWFwKFdURk1vdmUocmVjb3JkcykpOworICAgICAgICAgICAgY2FsbGJhY2soKTsKKyAgICAgICAg
fQorICAgICAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICB9KTsKK30KKworYm9v
bCBDYWNoZTo6cXVlcnlDYWNoZU1hdGNoKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBjYWNoZWRSZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiBjYWNoZWRSZXNwb25zZSwgY29uc3QgQ2FjaGVRdWVyeU9wdGlvbnMmIG9wdGlvbnMpCit7
CisgICAgQVNTRVJUKG9wdGlvbnMuaWdub3JlTWV0aG9kIHx8IHJlcXVlc3QuaHR0cE1ldGhvZCgp
ID09ICJHRVQiKTsKKworICAgIFVSTCByZXF1ZXN0VVJMID0gcmVxdWVzdC51cmwoKTsKKyAgICBV
UkwgY2FjaGVkUmVxdWVzdFVSTCA9IGNhY2hlZFJlcXVlc3QudXJsKCk7CisKKyAgICBpZiAob3B0
aW9ucy5pZ25vcmVTZWFyY2gpIHsKKyAgICAgICAgcmVxdWVzdFVSTC5zZXRRdWVyeSh7IH0pOwor
ICAgICAgICBjYWNoZWRSZXF1ZXN0VVJMLnNldFF1ZXJ5KHsgfSk7CisgICAgfQorICAgIGlmICgh
ZXF1YWxJZ25vcmluZ0ZyYWdtZW50SWRlbnRpZmllcihyZXF1ZXN0VVJMLCBjYWNoZWRSZXF1ZXN0
VVJMKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKG9wdGlvbnMuaWdub3JlVmFy
eSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBhdXRvIHZhcnlWYWx1ZSA9IGNhY2hlZFJl
c3BvbnNlLmh0dHBIZWFkZXJGaWVsZChXZWJDb3JlOjpIVFRQSGVhZGVyTmFtZTo6VmFyeSk7Cisg
ICAgaWYgKHZhcnlWYWx1ZS5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBW
ZWN0b3I8U3RyaW5nPiB2YXJ5aW5nSGVhZGVyTmFtZXM7CisgICAgdmFyeVZhbHVlLnNwbGl0KCcs
JywgdmFyeWluZ0hlYWRlck5hbWVzKTsKKyAgICBpZiAodmFyeWluZ0hlYWRlck5hbWVzLmNvbnRh
aW5zKCIqIikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGZvciAoYXV0byYgbmFtZSA6
IHZhcnlpbmdIZWFkZXJOYW1lcykgeworICAgICAgICBpZiAoY2FjaGVkUmVxdWVzdC5odHRwSGVh
ZGVyRmllbGQobmFtZSkgIT0gcmVxdWVzdC5odHRwSGVhZGVyRmllbGQobmFtZSkpCisgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIENh
Y2hlOjpxdWVyeUNhY2hlKFJlZjxGZXRjaFJlcXVlc3Q+JiYgcmVxdWVzdCwgQ2FjaGVRdWVyeU9w
dGlvbnMmJiBvcHRpb25zLCBXVEY6OkZ1bmN0aW9uPHZvaWQoY29uc3QgVmVjdG9yPENhY2hlU3Rv
cmFnZVJlY29yZD4mKT4mJiBjYWxsYmFjaykKK3sKKyAgICByZWZyZXNoUmVxdWVzdFRvUmVzcG9u
c2VNYXAoW3RoaXMsIHJlcXVlc3QgPSBXVEZNb3ZlKHJlcXVlc3QpLCBvcHRpb25zID0gV1RGTW92
ZShvcHRpb25zKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oKSBtdXRhYmxlIHsKKyAg
ICAgICAgY2FsbGJhY2socXVlcnlDYWNoZVdpdGhUYXJnZXRTdG9yYWdlKHJlcXVlc3QuZ2V0KCks
IG9wdGlvbnMsIG1fcmVxdWVzdFRvUmVzcG9uc2VNYXApKTsKKyAgICB9KTsKK30KKworVmVjdG9y
PENhY2hlU3RvcmFnZVJlY29yZD4gQ2FjaGU6OnF1ZXJ5Q2FjaGVXaXRoVGFyZ2V0U3RvcmFnZShj
b25zdCBGZXRjaFJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IENhY2hlUXVlcnlPcHRpb25zJiBvcHRp
b25zLCBjb25zdCBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiYgdGFyZ2V0U3RvcmFnZSkKK3sK
KyAgICBpZiAoIW9wdGlvbnMuaWdub3JlTWV0aG9kICYmIHJlcXVlc3QubWV0aG9kKCkgIT0gIkdF
VCIpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3Jk
PiByZWNvcmRzOworICAgIGZvciAoYXV0byYgcmVjb3JkIDogdGFyZ2V0U3RvcmFnZSkgeworICAg
ICAgICBpZiAocXVlcnlDYWNoZU1hdGNoKHJlcXVlc3QuaW50ZXJuYWxSZXF1ZXN0KCkucmVxdWVz
dCwgcmVjb3JkLnJlcXVlc3QtPmludGVybmFsUmVxdWVzdCgpLnJlcXVlc3QsIHJlY29yZC5yZXNw
b25zZS0+cmVzcG9uc2UoKSwgb3B0aW9ucykpCisgICAgICAgICAgICByZWNvcmRzLmFwcGVuZCh7
IHJlY29yZC5pZGVudGlmaWVyLCByZWNvcmQucmVxdWVzdC5jb3B5UmVmKCksIHJlY29yZC5yZXNw
b25zZS5jb3B5UmVmKCkgfSk7CisgICAgfQorICAgIHJldHVybiByZWNvcmRzOworfQorCit2b2lk
IENhY2hlOjpiYXRjaERlbGV0ZU9wZXJhdGlvbihjb25zdCBGZXRjaFJlcXVlc3QmIHJlcXVlc3Qs
IENhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywgV1RGOjpGdW5jdGlvbjx2b2lkKGJvb2wgZGlk
UmVtb3ZhbCwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpPiYmIGNhbGxiYWNr
KQoreworICAgIFN0cmluZyBvcmlnaW4gPSB0aGlzLT5vcmlnaW4oKTsKKyAgICBpZiAob3JpZ2lu
LmlzTnVsbCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhp
cyk7CisgICAgbV9jb25uZWN0aW9uLT5iYXRjaERlbGV0ZU9wZXJhdGlvbihvcmlnaW4sIG1fbmFt
ZSwgcmVxdWVzdC5pbnRlcm5hbFJlcXVlc3QoKS5yZXF1ZXN0LCBXVEZNb3ZlKG9wdGlvbnMpLCBb
dGhpcywgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oVmVjdG9yPHVpbnQ2NF90PiYmIHJl
Y29yZHMsIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yIGVycm9yKSB7CisgICAgICAgIGlm
ICghbV9pc1N0b3BwZWQpIHsKKyAgICAgICAgICAgIGlmIChlcnJvciA9PSBDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uOjpFcnJvcjo6Tm9uZSkKKyAgICAgICAgICAgICAgICBtX3JlcXVlc3RUb1Jlc3Bv
bnNlTWFwLnJlbW92ZUFsbE1hdGNoaW5nKFsmXShjb25zdCBhdXRvJiBpdGVtKSB7IHJldHVybiBy
ZWNvcmRzLmNvbnRhaW5zKGl0ZW0uaWRlbnRpZmllcik7IH0pOworCisgICAgICAgICAgICBjYWxs
YmFjayghIXJlY29yZHMuc2l6ZSgpLCBlcnJvcik7CisgICAgICAgIH0KKyAgICAgICAgdW5zZXRQ
ZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgfSk7Cit9CisKK3ZvaWQgQ2FjaGU6OmJhdGNoUHV0
T3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgRmV0Y2hSZXNwb25z
ZSYgcmVzcG9uc2UsIFdURjo6RnVuY3Rpb248dm9pZChDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpF
cnJvcik+JiYgY2FsbGJhY2spCit7CisgICAgLy8gRklYTUU6IEFkZCBhIHNldEhUVFBIZWFkZXJG
aWVsZHMgb24gUmVzb3VyY2VSZXNwb25zZUJhc2UuCisgICAgUmVzb3VyY2VSZXNwb25zZSBjYWNo
ZWRSZXNwb25zZSA9IHJlc3BvbnNlLnJlc3BvbnNlKCk7CisgICAgZm9yIChhdXRvJiBoZWFkZXIg
OiByZXNwb25zZS5oZWFkZXJzKCkuaW50ZXJuYWxIZWFkZXJzKCkpCisgICAgICAgIGNhY2hlZFJl
c3BvbnNlLnNldEhUVFBIZWFkZXJGaWVsZChoZWFkZXIua2V5LCBoZWFkZXIudmFsdWUpOworCisg
ICAgUmVzb3VyY2VSZXF1ZXN0IGNhY2hlZFJlcXVlc3QgPSByZXF1ZXN0LmludGVybmFsUmVxdWVz
dCgpLnJlcXVlc3Q7CisgICAgY2FjaGVkUmVxdWVzdC5zZXRIVFRQSGVhZGVyRmllbGRzKHJlcXVl
c3QuaGVhZGVycygpLmludGVybmFsSGVhZGVycygpKTsKKworICAgIENhY2hlU3RvcmFnZUNvbm5l
Y3Rpb246OlJlY29yZCByZWNvcmQgPSB7IDAsCisgICAgICAgIHJlcXVlc3QuaGVhZGVycygpLmd1
YXJkKCksIFdURk1vdmUoY2FjaGVkUmVxdWVzdCksIHJlcXVlc3QuaW50ZXJuYWxSZXF1ZXN0KCku
b3B0aW9ucywgcmVxdWVzdC5pbnRlcm5hbFJlcXVlc3QoKS5yZWZlcnJlciwKKyAgICAgICAgcmVz
cG9uc2UuaGVhZGVycygpLmd1YXJkKCksIFdURk1vdmUoY2FjaGVkUmVzcG9uc2UpCisgICAgfTsK
KworICAgIFN0cmluZyBvcmlnaW4gPSB0aGlzLT5vcmlnaW4oKTsKKyAgICBpZiAob3JpZ2luLmlz
TnVsbCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7
CisgICAgbV9jb25uZWN0aW9uLT5iYXRjaFB1dE9wZXJhdGlvbihvcmlnaW4sIG1fbmFtZSwgV1RG
TW92ZShyZWNvcmQpLCBbdGhpcywgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oVmVjdG9y
PHVpbnQ2NF90PiYmLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJvciBlcnJvcikgeworICAg
ICAgICBpZiAoIW1faXNTdG9wcGVkKQorICAgICAgICAgICAgY2FsbGJhY2soZXJyb3IpOworCisg
ICAgICAgIHVuc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgIH0pOworfQorCit2b2lkIENh
Y2hlOjp1cGRhdGVSZXF1ZXN0VG9SZXNwb25zZU1hcChWZWN0b3I8Q2FjaGVTdG9yYWdlQ29ubmVj
dGlvbjo6UmVjb3JkPiYmIHJlY29yZHMpCit7CisgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKSk7CisgICAgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4gbmV3TWFwOworCisgICAg
Zm9yIChhdXRvJiByZWNvcmQgOiByZWNvcmRzKSB7CisgICAgICAgIHNpemVfdCBpbmRleCA9IG1f
cmVxdWVzdFRvUmVzcG9uc2VNYXAuZmluZE1hdGNoaW5nKFsmXShjb25zdCBhdXRvJiBpdGVtKSB7
IHJldHVybiBpdGVtLmlkZW50aWZpZXIgPT0gcmVjb3JkLmlkZW50aWZpZXI7IH0pOworICAgICAg
ICBpZiAoaW5kZXggIT0gbm90Rm91bmQpCisgICAgICAgICAgICBuZXdNYXAuYXBwZW5kKFdURk1v
dmUobV9yZXF1ZXN0VG9SZXNwb25zZU1hcFtpbmRleF0pKTsKKyAgICAgICAgZWxzZSB7CisgICAg
ICAgICAgICBhdXRvIHJlcXVlc3RIZWFkZXJzID0gRmV0Y2hIZWFkZXJzOjpjcmVhdGUocmVjb3Jk
LnJlcXVlc3RIZWFkZXJzR3VhcmQsIEhUVFBIZWFkZXJNYXAgeyByZWNvcmQucmVxdWVzdC5odHRw
SGVhZGVyRmllbGRzKCkgfSk7CisgICAgICAgICAgICBGZXRjaFJlcXVlc3Q6OkludGVybmFsUmVx
dWVzdCBpbnRlcm5hbFJlcXVlc3QgPSB7IFdURk1vdmUocmVjb3JkLnJlcXVlc3QpLCBXVEZNb3Zl
KHJlY29yZC5vcHRpb25zKSwgV1RGTW92ZShyZWNvcmQucmVmZXJyZXIpIH07CisgICAgICAgICAg
ICBhdXRvIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLCBzdGQ6Om51bGxvcHQsIFdURk1vdmUocmVxdWVzdEhlYWRlcnMpLCBXVEZNb3ZlKGlu
dGVybmFsUmVxdWVzdCkpOworCisgICAgICAgICAgICBhdXRvIHJlc3BvbnNlSGVhZGVycyA9IEZl
dGNoSGVhZGVyczo6Y3JlYXRlKHJlY29yZC5yZXNwb25zZUhlYWRlcnNHdWFyZCwgSFRUUEhlYWRl
ck1hcCB7IHJlY29yZC5yZXNwb25zZS5odHRwSGVhZGVyRmllbGRzKCkgfSk7CisgICAgICAgICAg
ICBhdXRvIHJlc3BvbnNlID0gRmV0Y2hSZXNwb25zZTo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCksIHN0ZDo6bnVsbG9wdCwgV1RGTW92ZShyZXNwb25zZUhlYWRlcnMpLCBXVEZNb3Zl
KHJlY29yZC5yZXNwb25zZSkpOworCisgICAgICAgICAgICBuZXdNYXAuYXBwZW5kKENhY2hlU3Rv
cmFnZVJlY29yZCB7IHJlY29yZC5pZGVudGlmaWVyLCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3Zl
KHJlc3BvbnNlKSB9KTsKKyAgICAgICAgfQorICAgIH0KKyAgICBtX3JlcXVlc3RUb1Jlc3BvbnNl
TWFwID0gV1RGTW92ZShuZXdNYXApOworfQorCit2b2lkIENhY2hlOjpzdG9wKCkKK3sKKyAgICBt
X2lzU3RvcHBlZCA9IHRydWU7Cit9CisKK2NvbnN0IGNoYXIqIENhY2hlOjphY3RpdmVET01PYmpl
Y3ROYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gIkNhY2hlIjsKK30KKworYm9vbCBDYWNoZTo6
Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0Cit7CisgICAgcmV0dXJuICFt
X3JlcXVlc3RUb1Jlc3BvbnNlTWFwLnNpemUoKSAmJiAhaGFzUGVuZGluZ0FjdGl2aXR5KCk7CiB9
CiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5oCmluZGV4IDAwODJhY2Q1NTZkZGY1
ZGVlOWY3NTA2NjVjMmY0ZTllYjlkZDk2NWUuLjk5MzZmZjg4YWNlMGVjM2Y3YzhhOTMwOTdlZjE3
ODdlMmE2MzU1OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2Fj
aGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmgKQEAgLTI1LDM2
ICsyNSw2MSBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkZldGNoUmVxdWVzdC5oIgor
I2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgorI2luY2x1ZGUgIkNhY2hlU3RvcmFnZUNvbm5l
Y3Rpb24uaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VSZWNvcmQuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBGZXRjaFJlc3BvbnNlOworY2xhc3MgQ2FjaGVRdWVyeU9wdGlvbnM7
CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCi1zdHJ1Y3QgQ2FjaGVRdWVyeU9wdGlv
bnM7Ci0KLWNsYXNzIENhY2hlIDogcHVibGljIFJlZkNvdW50ZWQ8Q2FjaGU+IHsKK2NsYXNzIENh
Y2hlIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8Q2FjaGU+LCBwdWJsaWMgQWN0aXZlRE9NT2Jq
ZWN0IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPENhY2hlPiBjcmVhdGUoU3RyaW5nJiYgbmFt
ZSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNoZShXVEZNb3ZlKG5hbWUpKSk7IH0KKyAgICBz
dGF0aWMgUmVmPENhY2hlPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwg
U3RyaW5nJiYgbmFtZSwgUmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+JiYgY29ubmVjdGlvbikg
eyByZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNoZShjb250ZXh0LCBXVEZNb3ZlKG5hbWUpLCBXVEZN
b3ZlKGNvbm5lY3Rpb24pKSk7IH0KKyAgICB+Q2FjaGUoKTsKIAogICAgIHVzaW5nIFJlcXVlc3RJ
bmZvID0gRmV0Y2hSZXF1ZXN0OjpJbmZvOwogCi0gICAgdXNpbmcgTWF0Y2hBbGxQcm9taXNlID0g
RE9NUHJvbWlzZURlZmVycmVkPElETFNlcXVlbmNlPElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNl
Pj4+OwogICAgIHVzaW5nIEtleXNQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElETFNlcXVl
bmNlPElETEludGVyZmFjZTxGZXRjaFJlcXVlc3Q+Pj47CiAKLSAgICB2b2lkIG1hdGNoKFJlcXVl
c3RJbmZvJiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIFJlZjxEZWZlcnJl
ZFByb21pc2U+JiYpOwotICAgIHZvaWQgbWF0Y2hBbGwoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5m
bz4mJiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgTWF0Y2hBbGxQcm9taXNl
JiYpOworICAgIGVudW0gY2xhc3MgTWF0Y2hUeXBlIHsgQWxsLCBPbmx5Rmlyc3QgfTsKKyAgICB2
b2lkIG1hdGNoKFJlcXVlc3RJbmZvJiYsIENhY2hlUXVlcnlPcHRpb25zJiYsIFJlZjxEZWZlcnJl
ZFByb21pc2U+JiYpOworICAgIHZvaWQgbWF0Y2hBbGwoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5m
bz4mJiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiwgTWF0Y2hU
eXBlID0gTWF0Y2hUeXBlOjpBbGwpOwogICAgIHZvaWQgYWRkKFJlcXVlc3RJbmZvJiYsIERPTVBy
b21pc2VEZWZlcnJlZDx2b2lkPiYmKTsKIAogICAgIHZvaWQgYWRkQWxsKFZlY3RvcjxSZXF1ZXN0
SW5mbz4mJiwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYpOwogICAgIHZvaWQgcHV0KFJlcXVl
c3RJbmZvJiYsIFJlZjxGZXRjaFJlc3BvbnNlPiYmLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4m
Jik7Ci0gICAgdm9pZCByZW1vdmUoUmVxdWVzdEluZm8mJiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1
ZXJ5T3B0aW9ucz4mJiwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYpOwotICAgIHZv
aWQga2V5cyhzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZvPiYmLCBzdGQ6Om9wdGlvbmFsPENhY2hl
UXVlcnlPcHRpb25zPiYmLCBLZXlzUHJvbWlzZSYmKTsKKyAgICB2b2lkIHJlbW92ZShSZXF1ZXN0
SW5mbyYmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVh
bj4mJik7CisgICAgdm9pZCBrZXlzKHN0ZDo6b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYsIENhY2hl
UXVlcnlPcHRpb25zJiYsIEtleXNQcm9taXNlJiYpOworCisgICAgY29uc3QgU3RyaW5nJiBuYW1l
KCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9CisKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMg
Ym9vbCBxdWVyeUNhY2hlTWF0Y2goY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIGNhY2hlZFJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
LCBjb25zdCBDYWNoZVF1ZXJ5T3B0aW9ucyYpOwogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IENh
Y2hlKFN0cmluZyYmIG5hbWUpIDogbV9uYW1lKFdURk1vdmUobmFtZSkpIHsgfQorICAgIENhY2hl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBTdHJpbmcmJiBuYW1lLCBSZWY8Q2FjaGVTdG9yYWdl
Q29ubmVjdGlvbj4mJik7CisKKyAgICAvLyBBY3RpdmVET01PYmplY3QKKyAgICB2b2lkIHN0b3Ao
KSBmaW5hbDsKKyAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmlu
YWw7CisgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QgZmlu
YWw7CisKKyAgICBTdHJpbmcgb3JpZ2luKCkgY29uc3Q7CisKKyAgICB2b2lkIHJlZnJlc2hSZXF1
ZXN0VG9SZXNwb25zZU1hcChXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJik7CisgICAgVmVjdG9yPENh
Y2hlU3RvcmFnZVJlY29yZD4gcXVlcnlDYWNoZVdpdGhUYXJnZXRTdG9yYWdlKGNvbnN0IEZldGNo
UmVxdWVzdCYsIGNvbnN0IENhY2hlUXVlcnlPcHRpb25zJiwgY29uc3QgVmVjdG9yPENhY2hlU3Rv
cmFnZVJlY29yZD4mKTsKKyAgICB2b2lkIHF1ZXJ5Q2FjaGUoUmVmPEZldGNoUmVxdWVzdD4mJiwg
Q2FjaGVRdWVyeU9wdGlvbnMmJiwgV1RGOjpGdW5jdGlvbjx2b2lkKGNvbnN0IFZlY3RvcjxDYWNo
ZVN0b3JhZ2VSZWNvcmQ+Jik+JiYpOworICAgIHZvaWQgYmF0Y2hEZWxldGVPcGVyYXRpb24oY29u
c3QgRmV0Y2hSZXF1ZXN0JiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgV1RGOjpGdW5jdGlvbjx2b2lk
KGJvb2wgZGlkUmVtb3ZhbCwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IpPiYmKTsKKyAg
ICB2b2lkIGJhdGNoUHV0T3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYsIGNvbnN0IEZldGNo
UmVzcG9uc2UmLCBXVEY6OkZ1bmN0aW9uPHZvaWQoQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJy
b3IpPiYmKTsKKworICAgIHZvaWQgdXBkYXRlUmVxdWVzdFRvUmVzcG9uc2VNYXAoVmVjdG9yPENh
Y2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlY29yZD4mJik7CiAKICAgICBTdHJpbmcgbV9uYW1lOwor
ICAgIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CisKKyAgICBWZWN0
b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiBtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwOworICAgIGJvb2wg
bV9pc1N0b3BwZWQgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmlkbAppbmRleCBkNDc5NjkxNTVkMjBhNGY3YmZh
MzhhNmRjMGIyZGYzMjI1NmE5NGUwLi4zZTZjN2FkNjdjN2Y5NmI4NDg5MzJiODE0YzUzZTgyODYy
ZTc2OGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmlkbApAQCAtMjksMTMg
KzI5LDE2IEBAIHR5cGVkZWYgKEZldGNoUmVxdWVzdCBvciBVU1ZTdHJpbmcpIFJlcXVlc3RJbmZv
OwogICAgIFNlY3VyZUNvbnRleHQsCiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCiAgICAg
RW5hYmxlZEF0UnVudGltZT1DYWNoZUFQSSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxl
LAorICAgIFByaXZhdGVJZGVudGlmaWVyLAorICAgIFB1YmxpY0lkZW50aWZpZXIsCiBdIGludGVy
ZmFjZSBDYWNoZSB7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxhbnk+IG1hdGNoKFJlcXVlc3RJ
bmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25zIG9wdGlvbnMpOwotICAgIFtO
ZXdPYmplY3RdIFByb21pc2U8c2VxdWVuY2U8RmV0Y2hSZXNwb25zZT4+IG1hdGNoQWxsKG9wdGlv
bmFsIFJlcXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25zIG9wdGlv
bnMpOworICAgIFtOZXdPYmplY3QsIFByaXZhdGVJZGVudGlmaWVyLCBQdWJsaWNJZGVudGlmaWVy
XSBQcm9taXNlPHNlcXVlbmNlPEZldGNoUmVzcG9uc2U+PiBtYXRjaEFsbChvcHRpb25hbCBSZXF1
ZXN0SW5mbyByZXF1ZXN0LCBvcHRpb25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsKICAg
ICBbTmV3T2JqZWN0XSBQcm9taXNlPHZvaWQ+IGFkZChSZXF1ZXN0SW5mbyByZXF1ZXN0KTsKICAg
ICBbTmV3T2JqZWN0XSBQcm9taXNlPHZvaWQ+IGFkZEFsbChzZXF1ZW5jZTxSZXF1ZXN0SW5mbz4g
cmVxdWVzdHMpOwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gcHV0KFJlcXVlc3RJbmZv
IHJlcXVlc3QsIEZldGNoUmVzcG9uc2UgcmVzcG9uc2UpOwogICAgIFtOZXdPYmplY3QsIEltcGxl
bWVudGVkQXM9cmVtb3ZlXSBQcm9taXNlPGJvb2xlYW4+IGRlbGV0ZShSZXF1ZXN0SW5mbyByZXF1
ZXN0LCBvcHRpb25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsKICAgICBbTmV3T2JqZWN0
XSBQcm9taXNlPHNlcXVlbmNlPFJlcXVlc3Q+PiBrZXlzKG9wdGlvbmFsIFJlcXVlc3RJbmZvIHJl
cXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25zIG9wdGlvbnMpOworCisgICAgW1ByaXZh
dGVJZGVudGlmaWVyLCBJbXBsZW1lbnRlZEFzPW5hbWVdIERPTVN0cmluZyBjYWNoZU5hbWUoKTsK
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlUXVlcnlP
cHRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlUXVlcnlPcHRpb25z
LmgKaW5kZXggNjhmNjdmYWNmMzU2ODcxZWVmNGU1NTQ2OTU4YjcyN2E2NTkzNjkzYi4uNGY4YjRk
ZWVjYTFhN2RmNjgxNDU3MDQwMDBhNmE2MWFjMGNiMTkwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVF1ZXJ5T3B0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVRdWVyeU9wdGlvbnMuaApAQCAtMjksNyArMjksOCBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBDYWNoZVF1ZXJ5T3B0aW9ucyB7CitjbGFz
cyBDYWNoZVF1ZXJ5T3B0aW9ucyB7CitwdWJsaWM6CiAgICAgYm9vbCBpZ25vcmVTZWFyY2ggeyBm
YWxzZSB9OwogICAgIGJvb2wgaWdub3JlTWV0aG9kIHsgZmFsc2UgfTsKICAgICBib29sIGlnbm9y
ZVZhcnkgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNo
ZS9DYWNoZVN0b3JhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0
b3JhZ2UuY3BwCmluZGV4IDEyMzY3YmU5NjZlMWUzYTI4YTllMjlkYmZlNGI4M2JkNWFjZGVjYzYu
LjRkNmEwMGMzNWJmNWY2ZTU4MWRmYjdiODNkMjdmYTNhOWU4NzAyMzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5jcHAKQEAgLTI2LDMxICsyNiwxNDEg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDYWNoZVN0b3JhZ2UuaCIKIAorI2lu
Y2x1ZGUgIkNhY2hlUXVlcnlPcHRpb25zLmgiCisjaW5jbHVkZSAiSlNDYWNoZS5oIgorI2luY2x1
ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12
b2lkIENhY2hlU3RvcmFnZTo6bWF0Y2goUmVxdWVzdEluZm8mJiwgc3RkOjpvcHRpb25hbDxDYWNo
ZVF1ZXJ5T3B0aW9ucz4mJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQorQ2FjaGVT
dG9yYWdlOjpDYWNoZVN0b3JhZ2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgUmVm
PENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+JiYgY29ubmVjdGlvbikKKyAgICA6IEFjdGl2ZURPTU9i
amVjdCgmY29udGV4dCkKKyAgICAsIG1fY29ubmVjdGlvbihXVEZNb3ZlKGNvbm5lY3Rpb24pKQor
eworICAgIHN1c3BlbmRJZk5lZWRlZCgpOworfQorCitTdHJpbmcgQ2FjaGVTdG9yYWdlOjpvcmln
aW4oKSBjb25zdAogewotICAgIHByb21pc2UtPnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3Is
IEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICAvLyBGSVhNRTogRG8gd2Ug
cmVhbGx5IG5lZWQgdG8gY2hlY2sgZm9yIG9yaWdpbiBiZWluZyBudWxsPworICAgIGF1dG8qIG9y
aWdpbiA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSA/IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KS0+c2VjdXJpdHlPcmlnaW4oKSA6IG51bGxwdHI7CisgICAgcmV0dXJuIG9yaWdpbiA/IG9yaWdp
bi0+dG9TdHJpbmcoKSA6IFN0cmluZygpOwogfQogCi12b2lkIENhY2hlU3RvcmFnZTo6aGFzKGNv
bnN0IFN0cmluZyYsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmIHByb21pc2UpCit2
b2lkIENhY2hlU3RvcmFnZTo6aGFzKGNvbnN0IFN0cmluZyYgbmFtZSwgRE9NUHJvbWlzZURlZmVy
cmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRp
b24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICBy
ZWZyZXNoQ2FjaGVNYXAoW3RoaXMsIG5hbWUsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSgp
IG11dGFibGUgeworICAgICAgICBwcm9taXNlLnJlc29sdmUobV9jYWNoZU1hcC5maW5kTWF0Y2hp
bmcoWyZdKGF1dG8mIGl0ZW0pIHsgcmV0dXJuIGl0ZW0tPm5hbWUoKSA9PSBuYW1lOyB9KSAhPSBu
b3RGb3VuZCk7CisgICAgfSk7CiB9CiAKLXZvaWQgQ2FjaGVTdG9yYWdlOjpvcGVuKGNvbnN0IFN0
cmluZyYsIERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8Q2FjaGU+PiYmIHByb21pc2Up
Cit2b2lkIENhY2hlU3RvcmFnZTo6cmVmcmVzaENhY2hlTWFwKFdURjo6RnVuY3Rpb248dm9pZCgp
PiYmIGNhbGxiYWNrKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJv
ciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIFN0cmluZyBvcmlnaW4g
PSB0aGlzLT5vcmlnaW4oKTsKKyAgICBpZiAob3JpZ2luLmlzTnVsbCgpKQorICAgICAgICByZXR1
cm47CisKKyAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgbV9jb25uZWN0aW9uLT5y
ZWZyZXNoQ2FjaGVNYXAob3JpZ2luLCBbdGhpcywgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNr
KV0oY29uc3QgVmVjdG9yPFN0cmluZz4mIGNhY2hlTmFtZXMpIHsKKyAgICAgICAgaWYgKCFtX2lz
U3RvcHBlZCkgeworICAgICAgICAgICAgbV9jYWNoZU1hcC5yZW1vdmVBbGxNYXRjaGluZyhbJl0o
YXV0byYgY2FjaGUpIHsgcmV0dXJuICFjYWNoZU5hbWVzLmNvbnRhaW5zKGNhY2hlLT5uYW1lKCkp
OyB9KTsKKworICAgICAgICAgICAgc3RkOjpzb3J0KG1fY2FjaGVNYXAuYmVnaW4oKSwgbV9jYWNo
ZU1hcC5lbmQoKSwgWyZdKGF1dG8mIGEsIGF1dG8mIGIpIHsKKyAgICAgICAgICAgICAgICByZXR1
cm4gY2FjaGVOYW1lcy5maW5kKGEtPm5hbWUoKSkgPCBjYWNoZU5hbWVzLmZpbmQoYi0+bmFtZSgp
KTsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICBjYWxsYmFjaygpOworICAgICAgICB9
CisgICAgICAgIHVuc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgIH0pOwogfQogCi12b2lk
IENhY2hlU3RvcmFnZTo6cmVtb3ZlKGNvbnN0IFN0cmluZyYsIERPTVByb21pc2VEZWZlcnJlZDxJ
RExCb29sZWFuPiYmIHByb21pc2UpCit2b2lkIENhY2hlU3RvcmFnZTo6b3Blbihjb25zdCBTdHJp
bmcmIG5hbWUsIERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8Q2FjaGU+PiYmIHByb21p
c2UpCiB7Ci0gICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxp
dGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgcmVmcmVzaENhY2hlTWFwKFt0aGlzLCBu
YW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgYXV0
byBwb3NpdGlvbiA9IG1fY2FjaGVNYXAuZmluZE1hdGNoaW5nKFsmXShhdXRvJiBpdGVtKSB7IHJl
dHVybiBpdGVtLT5uYW1lKCkgPT0gbmFtZTsgfSk7CisgICAgICAgIGlmIChwb3NpdGlvbiAhPSBu
b3RGb3VuZCkgeworICAgICAgICAgICAgcHJvbWlzZS5yZXNvbHZlKG1fY2FjaGVNYXBbcG9zaXRp
b25dKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIFN0cmluZyBv
cmlnaW4gPSB0aGlzLT5vcmlnaW4oKTsKKyAgICAgICAgaWYgKG9yaWdpbi5pc051bGwoKSkKKyAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7Cisg
ICAgICAgIG1fY29ubmVjdGlvbi0+b3BlbihvcmlnaW4sIG5hbWUsIFt0aGlzLCBuYW1lLCBwcm9t
aXNlID0gV1RGTW92ZShwcm9taXNlKV0oQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJy
b3IpIG11dGFibGUgeworICAgICAgICAgICAgaWYgKCFtX2lzU3RvcHBlZCkgeworICAgICAgICAg
ICAgICAgIGlmIChlcnJvciAhPSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJvcjo6Tm9uZSkK
KyAgICAgICAgICAgICAgICAgICAgcHJvbWlzZS5yZWplY3QoQ2FjaGVTdG9yYWdlQ29ubmVjdGlv
bjo6ZXhjZXB0aW9uRnJvbUVycm9yKGVycm9yKSk7CisgICAgICAgICAgICAgICAgZWxzZSB7Cisg
ICAgICAgICAgICAgICAgICAgIGF1dG8gY2FjaGUgPSBDYWNoZTo6Y3JlYXRlKCpzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCksIFN0cmluZyhuYW1lKSwgbV9jb25uZWN0aW9uLmNvcHlSZWYoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShjYWNoZSk7CisgICAgICAgICAgICAg
ICAgICAgIG1fY2FjaGVNYXAuYXBwZW5kKFdURk1vdmUoY2FjaGUpKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0aGlz
KTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9CisKK3ZvaWQgQ2FjaGVTdG9yYWdlOjpyZW1vdmUo
Y29uc3QgU3RyaW5nJiBuYW1lLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9t
aXNlKQoreworICAgIHJlZnJlc2hDYWNoZU1hcChbdGhpcywgbmFtZSwgcHJvbWlzZSA9IFdURk1v
dmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgIGF1dG8gcG9zaXRpb24gPSBtX2NhY2hl
TWFwLmZpbmRNYXRjaGluZyhbJl0oYXV0byYgaXRlbSkgeyByZXR1cm4gaXRlbS0+bmFtZSgpID09
IG5hbWU7IH0pOworICAgICAgICBpZiAocG9zaXRpb24gPT0gbm90Rm91bmQpIHsKKyAgICAgICAg
ICAgIHByb21pc2UucmVzb2x2ZShmYWxzZSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAg
IH0KKworICAgICAgICBTdHJpbmcgb3JpZ2luID0gdGhpcy0+b3JpZ2luKCk7CisgICAgICAgIGlm
IChvcmlnaW4uaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgc2V0UGVu
ZGluZ0FjdGl2aXR5KHRoaXMpOworICAgICAgICBtX2Nvbm5lY3Rpb24tPnJlbW92ZShvcmlnaW4s
IG5hbWUsIFt0aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICAgICAgaWYgKCFt
X2lzU3RvcHBlZCkgeworICAgICAgICAgICAgICAgIGlmIChlcnJvciAhPSBDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uOjpFcnJvcjo6Tm9uZSkKKyAgICAgICAgICAgICAgICAgICAgcHJvbWlzZS5yZWpl
Y3QoQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9yKGVycm9yKSk7Cisg
ICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBwcm9taXNlLnJlc29sdmUo
dHJ1ZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0
aGlzKTsKKyAgICAgICAgfSk7CisgICAgICAgIG1fY2FjaGVNYXAucmVtb3ZlKHBvc2l0aW9uKTsK
KyAgICB9KTsKIH0KIAogdm9pZCBDYWNoZVN0b3JhZ2U6OmtleXMoS2V5c1Byb21pc2UmJiBwcm9t
aXNlKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlM
aXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHJlZnJlc2hDYWNoZU1hcChbdGhpcywg
cHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgIFZlY3RvcjxT
dHJpbmc+IGtleXM7CisgICAgICAgIGtleXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShtX2NhY2hl
TWFwLnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0byYgY2FjaGUgOiBtX2NhY2hlTWFwKQorICAg
ICAgICAgICAga2V5cy51bmNoZWNrZWRBcHBlbmQoY2FjaGUtPm5hbWUoKSk7CisgICAgICAgIHBy
b21pc2UucmVzb2x2ZShrZXlzKTsKKyAgICB9KTsKK30KKwordm9pZCBDYWNoZVN0b3JhZ2U6OmNh
Y2hlTWFwKENhY2hlTWFwUHJvbWlzZSYmIHByb21pc2UpCit7CisgICAgcmVmcmVzaENhY2hlTWFw
KFt0aGlzLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsKKyAgICAgICAg
cHJvbWlzZS5yZXNvbHZlKG1fY2FjaGVNYXApOworICAgIH0pOworfQorCit2b2lkIENhY2hlU3Rv
cmFnZTo6c3RvcCgpCit7CisgICAgbV9pc1N0b3BwZWQgPSB0cnVlOworfQorCitjb25zdCBjaGFy
KiBDYWNoZVN0b3JhZ2U6OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAoreworICAgIHJldHVy
biAiQ2FjaGVTdG9yYWdlIjsKK30KKworYm9vbCBDYWNoZVN0b3JhZ2U6OmNhblN1c3BlbmRGb3JE
b2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAoreworICAgIHJldHVybiAhbV9jYWNoZU1hcC5zaXpl
KCkgJiYgIWhhc1BlbmRpbmdBY3Rpdml0eSgpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaAppbmRleCBmYTI2
OTAwMDM2YzMyNjczNjYyMWZjYjgzN2M3NzcxZWFhOGQ4MjIzLi42MzFmNmY4MzhhZjdkYTQ2ZTM5
MmYxYTMxMTZkNDc3MjdhOTQzMmRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2NhY2hlL0NhY2hlU3RvcmFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUv
Q2FjaGVTdG9yYWdlLmgKQEAgLTI1LDI5ICsyNSw0NCBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2lu
Y2x1ZGUgIkNhY2hlLmgiCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIgogI2lu
Y2x1ZGUgIkZldGNoUmVxdWVzdC5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ2FjaGU7CitjbGFzcyBDYWNoZVF1ZXJ5T3B0aW9uczsK
K2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLXN0cnVjdCBDYWNoZVF1ZXJ5T3B0aW9u
czsKLQotY2xhc3MgQ2FjaGVTdG9yYWdlIDogcHVibGljIFJlZkNvdW50ZWQ8Q2FjaGVTdG9yYWdl
PiB7CitjbGFzcyBDYWNoZVN0b3JhZ2UgOiBwdWJsaWMgUmVmQ291bnRlZDxDYWNoZVN0b3JhZ2U+
LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPENhY2hl
U3RvcmFnZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNoZVN0b3JhZ2UoKSk7
IH0KKyAgICBzdGF0aWMgUmVmPENhY2hlU3RvcmFnZT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYmIGNvbm5lY3Rpb24p
IHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2FjaGVTdG9yYWdlKGNvbnRleHQsIFdURk1vdmUoY29u
bmVjdGlvbikpKTsgfQogCi0gICAgdXNpbmcgUmVxdWVzdEluZm8gPSBGZXRjaFJlcXVlc3Q6Oklu
Zm87CiAgICAgdXNpbmcgS2V5c1Byb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMU2VxdWVu
Y2U8SURMRE9NU3RyaW5nPj47CiAKLSAgICB2b2lkIG1hdGNoKFJlcXVlc3RJbmZvJiYsIHN0ZDo6
b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwog
ICAgIHZvaWQgaGFzKGNvbnN0IFN0cmluZyYsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFu
PiYmKTsKICAgICB2b2lkIG9wZW4oY29uc3QgU3RyaW5nJiwgRE9NUHJvbWlzZURlZmVycmVkPElE
TEludGVyZmFjZTxDYWNoZT4+JiYpOwogICAgIHZvaWQgcmVtb3ZlKGNvbnN0IFN0cmluZyYsIERP
TVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmKTsKICAgICB2b2lkIGtleXMoS2V5c1Byb21p
c2UmJik7CiAKKyAgICB1c2luZyBDYWNoZU1hcFByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8
SURMU2VxdWVuY2U8SURMSW50ZXJmYWNlPENhY2hlPj4+OworICAgIHZvaWQgY2FjaGVNYXAoQ2Fj
aGVNYXBQcm9taXNlJiYpOworCiBwcml2YXRlOgotICAgIENhY2hlU3RvcmFnZSgpID0gZGVmYXVs
dDsKKyAgICBDYWNoZVN0b3JhZ2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxDYWNoZVN0
b3JhZ2VDb25uZWN0aW9uPiYmKTsKKworICAgIC8vIEFjdGl2ZURPTU9iamVjdAorICAgIHZvaWQg
c3RvcCgpIGZpbmFsOworICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25z
dCBmaW5hbDsKKyAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25z
dCBmaW5hbDsKKworICAgIHZvaWQgcmVmcmVzaENhY2hlTWFwKFdURjo6RnVuY3Rpb248dm9pZCgp
PiYmKTsKKyAgICBTdHJpbmcgb3JpZ2luKCkgY29uc3Q7CisKKyAgICBWZWN0b3I8UmVmPENhY2hl
Pj4gbV9jYWNoZU1hcDsKKyAgICBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4gbV9jb25uZWN0
aW9uOworICAgIGJvb2wgbV9pc1N0b3BwZWQgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNo
ZVN0b3JhZ2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2Uu
aWRsCmluZGV4IDhkNzFlMDkwM2U3NmUxYTRiNjJiZmI2ZjAyODQ5NmZiOTg2ZjA2MmEuLjc4ZjU3
MzY4MmIxMTUyMDA5MTljYzlhNzljODhjNjU2NGZjODg1YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5pZGwKQEAgLTI5LDExICsyOSwxNCBAQCB0eXBl
ZGVmIChGZXRjaFJlcXVlc3Qgb3IgVVNWU3RyaW5nKSBSZXF1ZXN0SW5mbzsKICAgICBTZWN1cmVD
b250ZXh0LAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAogICAgIEVuYWJsZWRBdFJ1bnRp
bWU9Q2FjaGVBUEksCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKKyAgICBQcml2YXRl
SWRlbnRpZmllciwKKyAgICBQdWJsaWNJZGVudGlmaWVyLAogXSBpbnRlcmZhY2UgQ2FjaGVTdG9y
YWdlIHsKLSAgICBbTmV3T2JqZWN0XSBQcm9taXNlPGFueT4gbWF0Y2goUmVxdWVzdEluZm8gcmVx
dWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9ucyk7CisgICAgW05ld09iamVj
dCwgSlNCdWlsdGluXSBQcm9taXNlPGFueT4gbWF0Y2goUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0
aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9ucyk7CiAgICAgW05ld09iamVjdF0gUHJvbWlz
ZTxib29sZWFuPiBoYXMoRE9NU3RyaW5nIGNhY2hlTmFtZSk7CiAgICAgW05ld09iamVjdF0gUHJv
bWlzZTxDYWNoZT4gb3BlbihET01TdHJpbmcgY2FjaGVOYW1lKTsKICAgICBbTmV3T2JqZWN0LCBJ
bXBsZW1lbnRlZEFzPXJlbW92ZV0gUHJvbWlzZTxib29sZWFuPiBkZWxldGUoRE9NU3RyaW5nIGNh
Y2hlTmFtZSk7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxzZXF1ZW5jZTxET01TdHJpbmc+PiBr
ZXlzKCk7CisKKyAgICBbUHJpdmF0ZUlkZW50aWZpZXJdIFByb21pc2U8c2VxdWVuY2U8Q2FjaGU+
PiBjYWNoZU1hcCgpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvQ2FjaGVTdG9yYWdlLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0
b3JhZ2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZDA1YzFhYmNlN2Y3NTgzNDk3NjMwNWQ4MzJjYmYyODNhZGRm
MmQ3OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2Fj
aGVTdG9yYWdlLmpzCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitmdW5jdGlvbiBtYXRj
aChyZXF1ZXN0KQoreworICBpZiAoISh0aGlzIGluc3RhbmNlb2YgQENhY2hlU3RvcmFnZSkpCisg
ICAgICAgcmV0dXJuIEBQcm9taXNlLkByZWplY3QoQG1ha2VUaGlzVHlwZUVycm9yKCJDYWNoZVN0
b3JhZ2UiLCAibWF0Y2giKSk7CisKKyAgICByZXR1cm4gQENhY2hlU3RvcmFnZS5wcm90b3R5cGUu
QGNhY2hlTWFwLkBjYWxsKHRoaXMpLnRoZW4oKGNhY2hlTWFwKSA9PiB7CisgICAgICAgIGxldCBv
cHRpb25zID0gYXJndW1lbnRzWzFdOworICAgICAgICBpZiAoQGlzT2JqZWN0KG9wdGlvbnMpICYm
IG9wdGlvbnMuY2FjaGVOYW1lKSB7CisgICAgICAgICAgICBmb3IgKGxldCBjYWNoZSBvZiBjYWNo
ZU1hcCkgeworICAgICAgICAgICAgICAgIGlmIChAQ2FjaGUucHJvdG90eXBlLkBjYWNoZU5hbWUu
QGNhbGwoY2FjaGUpID09PSBvcHRpb25zLmNhY2hlTmFtZSkgeworICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gQENhY2hlLnByb3RvdHlwZS5AbWF0Y2hBbGwuQGNhbGwoY2FjaGUsIHJlcXVlc3Qs
IG9wdGlvbnMpLnRoZW4oKHJlc3VsdCkgPT4geworICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KHJlc3VsdC5sZW5ndGgpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3Vs
dFswXTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIEBQcm9taXNlLkByZXNvbHZlKCk7CisgICAgICAg
IH0KKworICAgICAgICBmdW5jdGlvbiBtYXRjaE5leHRDYWNoZShjYWNoZU1hcCwgcmVxdWVzdCwg
b3B0aW9ucywgY291bnRlcikgeworICAgICAgICAgICAgaWYgKGNvdW50ZXIgPT09IGNhY2hlTWFw
Lmxlbmd0aCkKKyAgICAgICAgICAgICAgICByZXR1cm4gQFByb21pc2UuQHJlc29sdmUoKTsKKwor
ICAgICAgICAgICAgbGV0IGNhY2hlID0gQENhY2hlU3RvcmFnZS5wcm90b3R5cGUuQGdldChjYWNo
ZU1hcFtjb3VudGVyXSk7CisgICAgICAgICAgICByZXR1cm4gQENhY2hlLnByb3RvdHlwZS5AbWF0
Y2hBbGwuQGNhbGwoY2FjaGUsIHJlcXVlc3QsIG9wdGlvbnMpLnRoZW4oKHJlc3VsdCkgPT4gewor
ICAgICAgICAgICAgICAgIGlmIChyZXN1bHQubGVuZ3RoKQorICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gcmVzdWx0WzBdOworICAgICAgICAgICAgICAgIHJldHVybiBtYXRjaE5leHRDYWNoZShj
YWNoZU1hcCwgcmVxdWVzdCwgb3B0aW9ucywgY291bnRlciArIDEpOworICAgICAgICAgICAgfSk7
CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIG1hdGNoTmV4dENhY2hlKGNhY2hlTWFwLCByZXF1
ZXN0LCBvcHRpb25zLCAwKTsKKyAgICB9KTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI5
ZWJiODFkNmNkYTI0ZDZjNGIwOTUyMTNkYTc2M2ZhOTZkZTI5NGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3Bw
CkBAIC0wLDAgKzEsNDYgQEAKKworLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgiCisKKyNpbmNsdWRlICJFeGNlcHRpb24u
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitFeGNlcHRpb24gQ2FjaGVTdG9yYWdlQ29ubmVj
dGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9yKEVycm9yIGVycm9yKQoreworICAgIHN3aXRjaCAoZXJy
b3IpIHsKKyAgICBjYXNlIEVycm9yOjpOb25lOgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJV
bmtub3duIGVycm9yIikgfTsKKyAgICBjYXNlIEVycm9yOjpOb3RJbXBsZW1lbnRlZDoKKyAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVt
ZW50ZWQiKSB9OworICAgIH07Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24u
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5lNjQ2ODQ2Yzk2YjJlZDAzOTYzMjlhNGQzNWY5N2JlNzA3ZGExMjczCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uLmgKQEAgLTAsMCArMSw3OCBAQAorCisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlICJGZXRjaEhlYWRlcnMuaCIKKyNpbmNsdWRlICJGZXRjaE9wdGlvbnMu
aCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlc3Bv
bnNlLmgiCisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgQ2FjaGVRdWVyeU9wdGlvbnM7CisKK2NsYXNzIENhY2hlU3Rv
cmFnZUNvbm5lY3Rpb24gOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8Q2FjaGVTdG9yYWdl
Q29ubmVjdGlvbj4geworcHVibGljOgorICAgIGVudW0gY2xhc3MgRXJyb3IgeworICAgICAgICBO
b25lLAorICAgICAgICBOb3RJbXBsZW1lbnRlZCwKKyAgICB9OworCisgICAgc3RhdGljIEV4Y2Vw
dGlvbiBleGNlcHRpb25Gcm9tRXJyb3IoRXJyb3IpOworCisgICAgc3RydWN0IFJlY29yZCB7Cisg
ICAgICAgIHVpbnQ2NF90IGlkZW50aWZpZXI7CisKKyAgICAgICAgRmV0Y2hIZWFkZXJzOjpHdWFy
ZCByZXF1ZXN0SGVhZGVyc0d1YXJkOworICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdDsK
KyAgICAgICAgRmV0Y2hPcHRpb25zIG9wdGlvbnM7CisgICAgICAgIFN0cmluZyByZWZlcnJlcjsK
KworICAgICAgICBGZXRjaEhlYWRlcnM6Okd1YXJkIHJlc3BvbnNlSGVhZGVyc0d1YXJkOworICAg
ICAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlOworICAgIH07CisKKyAgICBzdGF0aWMgUmVm
PENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbigpKTsgfQorICAgIHZpcnR1YWwgfkNhY2hlU3RvcmFnZUNv
bm5lY3Rpb24oKSA9IGRlZmF1bHQ7CisKKyAgICB1c2luZyBSZXBvcnRFcnJvckNhbGxiYWNrID0g
V1RGOjpGdW5jdGlvbjx2b2lkKEVycm9yKT47CisgICAgdXNpbmcgQ2FjaGVNYXBDYWxsYmFjayA9
IFdURjo6RnVuY3Rpb248dm9pZChjb25zdCBWZWN0b3I8U3RyaW5nPiYpPjsKKyAgICB1c2luZyBS
ZWNvcmRzQ2FsbGJhY2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoVmVjdG9yPFJlY29yZD4mJik+Owor
ICAgIHVzaW5nIEJhdGNoT3BlcmF0aW9uQ2FsbGJhY2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoVmVj
dG9yPHVpbnQ2NF90PiYmLCBFcnJvcik+OworCisgICAgdmlydHVhbCB2b2lkIG9wZW4oY29uc3Qg
U3RyaW5nJiAvKiBvcmlnaW4gKi8sIGNvbnN0IFN0cmluZyYgLyogY2FjaGVOYW1lICovLCBSZXBv
cnRFcnJvckNhbGxiYWNrJiYgY2FsbGJhY2spIHsgY2FsbGJhY2soRXJyb3I6Ok5vdEltcGxlbWVu
dGVkKTsgfQorICAgIHZpcnR1YWwgdm9pZCByZW1vdmUoY29uc3QgU3RyaW5nJiAvKiBvcmlnaW4g
Ki8sIGNvbnN0IFN0cmluZyYgLyogY2FjaGVOYW1lICovLCBSZXBvcnRFcnJvckNhbGxiYWNrJiYg
Y2FsbGJhY2spIHsgY2FsbGJhY2soRXJyb3I6Ok5vdEltcGxlbWVudGVkKTsgfQorICAgIHZpcnR1
YWwgdm9pZCByZWZyZXNoQ2FjaGVNYXAoY29uc3QgU3RyaW5nJiAvKiBvcmlnaW4gKi8sIENhY2hl
TWFwQ2FsbGJhY2smJiBjYWxsYmFjaykgeyBjYWxsYmFjayh7IH0pOyB9CisKKyAgICB2aXJ0dWFs
IHZvaWQgcmVmcmVzaFJlY29yZHMoY29uc3QgU3RyaW5nJiAvKiBvcmlnaW4gKi8sIGNvbnN0IFN0
cmluZyYgLyogY2FjaGVOYW1lICovLCBSZWNvcmRzQ2FsbGJhY2smJiBjYWxsYmFjaykgeyBjYWxs
YmFjayh7IH0pOyB9CisgICAgdmlydHVhbCB2b2lkIGJhdGNoRGVsZXRlT3BlcmF0aW9uKGNvbnN0
IFN0cmluZyYgLyogb3JpZ2luICovLCBjb25zdCBTdHJpbmcmIC8qIGNhY2hlTmFtZSAqLywgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgQmF0Y2hPcGVyYXRpb25D
YWxsYmFjayYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKHsgfSwgRXJyb3I6Ok5vdEltcGxlbWVudGVk
KTsgfQorICAgIHZpcnR1YWwgdm9pZCBiYXRjaFB1dE9wZXJhdGlvbihjb25zdCBTdHJpbmcmIC8q
IG9yaWdpbiAqLywgY29uc3QgU3RyaW5nJiAvKiBjYWNoZU5hbWUgKi8sIFJlY29yZCYmLCBCYXRj
aE9wZXJhdGlvbkNhbGxiYWNrJiYgY2FsbGJhY2spIHsgY2FsbGJhY2soeyB9LCBFcnJvcjo6Tm90
SW1wbGVtZW50ZWQpOyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlUmVjb3JkLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZVJlY29yZC5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjAwYTZhY2U0YmE0YzA5MWRjMDlhNWQ0NTVkZjZhYzdjYTVjYWEyN2IKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZVJlY29yZC5o
CkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUg
IkZldGNoUmVxdWVzdC5oIgorI2luY2x1ZGUgIkZldGNoUmVzcG9uc2UuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitzdHJ1Y3QgQ2FjaGVTdG9yYWdlUmVjb3JkIHsKKyAgICB1aW50NjRfdCBp
ZGVudGlmaWVyOworCisgICAgUmVmPEZldGNoUmVxdWVzdD4gcmVxdWVzdDsKKyAgICBSZWY8RmV0
Y2hSZXNwb25zZT4gcmVzcG9uc2U7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHAKaW5kZXgg
ODY2NWM1NTY3MmVhNWY0NmIwOWQ0ZjliMDc1YTY5NjJjNTk1MWVkMS4uYThhMjY2N2JhYTUyNTFh
ZWRhMDY1ZDg0ODM4NjI1NTNkNTA1ODU2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY2FjaGUvRE9NV2luZG93Q2FjaGVzLmNwcApAQCAtMjcsNyArMjcsMTEgQEAKICNpbmNsdWRl
ICJET01XaW5kb3dDYWNoZXMuaCIKIAogI2luY2x1ZGUgIkNhY2hlU3RvcmFnZS5oIgorI2luY2x1
ZGUgIkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCisjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIlBhZ2UuaCIK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01OSw4ICs2Myw4IEBAIENhY2hlU3RvcmFnZSog
RE9NV2luZG93Q2FjaGVzOjpjYWNoZXMoRE9NV2luZG93JiB3aW5kb3cpCiAKIENhY2hlU3RvcmFn
ZSogRE9NV2luZG93Q2FjaGVzOjpjYWNoZXMoKSBjb25zdAogewotICAgIGlmICghbV9jYWNoZXMg
JiYgZnJhbWUoKSkKLSAgICAgICAgbV9jYWNoZXMgPSBDYWNoZVN0b3JhZ2U6OmNyZWF0ZSgpOwor
ICAgIGlmICghbV9jYWNoZXMgJiYgZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkgJiYgZnJhbWUo
KS0+ZG9jdW1lbnQoKSkKKyAgICAgICAgbV9jYWNoZXMgPSBDYWNoZVN0b3JhZ2U6OmNyZWF0ZSgq
ZnJhbWUoKS0+ZG9jdW1lbnQoKSwgZnJhbWUoKS0+cGFnZSgpLT5jYWNoZVN0b3JhZ2VQcm92aWRl
cigpLmNyZWF0ZUNhY2hlU3RvcmFnZUNvbm5lY3Rpb24oZnJhbWUoKS0+cGFnZSgpLT5zZXNzaW9u
SUQoKSkpOwogICAgIHJldHVybiBtX2NhY2hlcy5nZXQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmNwcApp
bmRleCAwNTE2OThlN2M2ZTU3OTBjZDI3MGEzMTgwZmZlYjQzYzdkN2RlYWFhLi5jNTM5Y2RlNjNi
NGI0ZDI3NzFjNjljZmY3ZDU5YjdmMTI1ODViODE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmNwcApAQCAtNDAs
NyArNDAsNyBAQCBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcyogV29ya2VyR2xvYmFsU2NvcGVDYWNo
ZXM6OmZyb20oV29ya2VyR2xvYmFsU2NvcGUmIHNjb3BlKQogewogICAgIGF1dG8qIHN1cHBsZW1l
bnQgPSBzdGF0aWNfY2FzdDxXb3JrZXJHbG9iYWxTY29wZUNhY2hlcyo+KFN1cHBsZW1lbnQ8V29y
a2VyR2xvYmFsU2NvcGU+Ojpmcm9tKCZzY29wZSwgc3VwcGxlbWVudE5hbWUoKSkpOwogICAgIGlm
ICghc3VwcGxlbWVudCkgewotICAgICAgICBhdXRvIG5ld1N1cHBsZW1lbnQgPSBzdGQ6Om1ha2Vf
dW5pcXVlPFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzPigpOworICAgICAgICBhdXRvIG5ld1N1cHBs
ZW1lbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzPihzY29wZSk7
CiAgICAgICAgIHN1cHBsZW1lbnQgPSBuZXdTdXBwbGVtZW50LmdldCgpOwogICAgICAgICBwcm92
aWRlVG8oJnNjb3BlLCBzdXBwbGVtZW50TmFtZSgpLCBXVEZNb3ZlKG5ld1N1cHBsZW1lbnQpKTsK
ICAgICB9CkBAIC01NSw3ICs1NSw3IEBAIENhY2hlU3RvcmFnZSogV29ya2VyR2xvYmFsU2NvcGVD
YWNoZXM6OmNhY2hlcyhXb3JrZXJHbG9iYWxTY29wZSYgc2NvcGUpCiBDYWNoZVN0b3JhZ2UqIFdv
cmtlckdsb2JhbFNjb3BlQ2FjaGVzOjpjYWNoZXMoKSBjb25zdAogewogICAgIGlmICghbV9jYWNo
ZXMpCi0gICAgICAgIG1fY2FjaGVzID0gQ2FjaGVTdG9yYWdlOjpjcmVhdGUoKTsKKyAgICAgICAg
bV9jYWNoZXMgPSBDYWNoZVN0b3JhZ2U6OmNyZWF0ZShtX3Njb3BlLCBDYWNoZVN0b3JhZ2VDb25u
ZWN0aW9uOjpjcmVhdGUoKSk7CiAgICAgcmV0dXJuIG1fY2FjaGVzLmdldCgpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2Fj
aGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2Fj
aGVzLmgKaW5kZXggNzk1ZWJkNjE5ZTI0MjFkNGNlYjFiNzhjZGVlNDMzZTEyMzUxNDg2ZC4uZjZj
Yzg1MWUwODVlMWQzYTVjMjNjYWM2ZWI3ZDNlNmZhYzM5NzY0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuaApAQCAt
MzQsNyArMzQsNyBAQCBjbGFzcyBXb3JrZXJHbG9iYWxTY29wZTsKIAogY2xhc3MgV29ya2VyR2xv
YmFsU2NvcGVDYWNoZXMgOiBwdWJsaWMgU3VwcGxlbWVudDxXb3JrZXJHbG9iYWxTY29wZT4gewog
cHVibGljOgotICAgIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKCkgPSBkZWZhdWx0OworICAgIFdv
cmtlckdsb2JhbFNjb3BlQ2FjaGVzKFdvcmtlckdsb2JhbFNjb3BlJiBzY29wZSkgOiBtX3Njb3Bl
KHNjb3BlKSB7IH07CiAKICAgICBzdGF0aWMgQ2FjaGVTdG9yYWdlKiBjYWNoZXMoV29ya2VyR2xv
YmFsU2NvcGUmKTsKIApAQCAtNDMsNiArNDMsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBjb25z
dCBjaGFyKiBzdXBwbGVtZW50TmFtZSgpOwogICAgIENhY2hlU3RvcmFnZSogY2FjaGVzKCkgY29u
c3Q7CiAKKyAgICBXb3JrZXJHbG9iYWxTY29wZSYgbV9zY29wZTsKICAgICBtdXRhYmxlIFJlZlB0
cjxDYWNoZVN0b3JhZ2U+IG1fY2FjaGVzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9mZXRjaC9GZXRjaEJvZHlPd25lci5oCmluZGV4IGMzMjEzZTk3MjEzOTMwMGQ0YTUxODU0YzA1
NTlhYjU1MDE0YTk1NWIuLjcxYWZjNDZjZTA1MWU0YTg0ZTMxYWM5MzQ0ODM5NmM4Zjg2MWUxOWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmgKQEAg
LTU3LDYgKzU3LDggQEAgcHVibGljOgogCiAgICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0IHsgcmV0
dXJuICEhbV9ibG9iTG9hZGVyOyB9CiAKKyAgICBib29sIGlzUmVhZGFibGVTdHJlYW1Cb2R5KCkg
Y29uc3QgeyByZXR1cm4gbV9ib2R5ICYmIG1fYm9keS0+aXNSZWFkYWJsZVN0cmVhbSgpOyB9CisK
IHByb3RlY3RlZDoKICAgICBjb25zdCBGZXRjaEJvZHkmIGJvZHkoKSBjb25zdCB7IHJldHVybiAq
bV9ib2R5OyB9CiAgICAgRmV0Y2hCb2R5JiBib2R5KCkgeyByZXR1cm4gKm1fYm9keTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmgKaW5kZXggZmMzYjEwOGI5
YTJkNWFlNTgzN2MyM2M3OTFmZTIwOWNiNjgzMzJjOC4uZmVlMWY4ZjFmMzgwOTNiMGQzMzViOTE4
ZDkxZGNlNDRmY2Q5N2QxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaEhlYWRlcnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNo
SGVhZGVycy5oCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgog
I2luY2x1ZGUgIkhUVFBIZWFkZXJNYXAuaCIKKyNpbmNsdWRlIDx3dGYvRW51bVRyYWl0cy5oPgog
I2luY2x1ZGUgPHd0Zi9IYXNoVHJhaXRzLmg+CiAjaW5jbHVkZSA8d3RmL1ZhcmlhbnQuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC00OSw3ICs1MCw3IEBAIHB1YmxpYzoKICAgICB1c2lu
ZyBJbml0ID0gVmFyaWFudDxWZWN0b3I8VmVjdG9yPFN0cmluZz4+LCBWZWN0b3I8V1RGOjpLZXlW
YWx1ZVBhaXI8U3RyaW5nLCBTdHJpbmc+Pj47CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxG
ZXRjaEhlYWRlcnM+PiBjcmVhdGUoc3RkOjpvcHRpb25hbDxJbml0PiYmKTsKIAotICAgIHN0YXRp
YyBSZWY8RmV0Y2hIZWFkZXJzPiBjcmVhdGUoR3VhcmQgZ3VhcmQgPSBHdWFyZDo6Tm9uZSkgeyBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBGZXRjaEhlYWRlcnMgeyBndWFyZCB9KTsgfQorICAgIHN0YXRp
YyBSZWY8RmV0Y2hIZWFkZXJzPiBjcmVhdGUoR3VhcmQgZ3VhcmQgPSBHdWFyZDo6Tm9uZSwgSFRU
UEhlYWRlck1hcCYmIGhlYWRlcnMgPSB7IH0pIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmV0Y2hI
ZWFkZXJzIHsgZ3VhcmQsIFdURk1vdmUoaGVhZGVycykgfSk7IH0KICAgICBzdGF0aWMgUmVmPEZl
dGNoSGVhZGVycz4gY3JlYXRlKGNvbnN0IEZldGNoSGVhZGVycyYgaGVhZGVycykgeyByZXR1cm4g
YWRvcHRSZWYoKm5ldyBGZXRjaEhlYWRlcnMgeyBoZWFkZXJzIH0pOyB9CiAKICAgICBFeGNlcHRp
b25Pcjx2b2lkPiBhcHBlbmQoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVl
KTsKQEAgLTgyLDkgKzgzLDEwIEBAIHB1YmxpYzoKICAgICBjb25zdCBIVFRQSGVhZGVyTWFwJiBp
bnRlcm5hbEhlYWRlcnMoKSBjb25zdCB7IHJldHVybiBtX2hlYWRlcnM7IH0KIAogICAgIHZvaWQg
c2V0R3VhcmQoR3VhcmQpOworICAgIEd1YXJkIGd1YXJkKCkgY29uc3QgeyByZXR1cm4gbV9ndWFy
ZDsgfQogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IEZldGNoSGVhZGVycyhHdWFyZCBndWFyZCwg
SFRUUEhlYWRlck1hcCYmIGhlYWRlcnMgPSB7IH0pOworICAgIEZldGNoSGVhZGVycyhHdWFyZCwg
SFRUUEhlYWRlck1hcCYmKTsKICAgICBGZXRjaEhlYWRlcnMoY29uc3QgRmV0Y2hIZWFkZXJzJik7
CiAKICAgICBHdWFyZCBtX2d1YXJkOwpAQCAtMTExLDMgKzExMywxOCBAQCBpbmxpbmUgdm9pZCBG
ZXRjaEhlYWRlcnM6OnNldEd1YXJkKEd1YXJkIGd1YXJkKQogfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRz
PFdlYkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQ+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVt
VmFsdWVzPAorICAgIFdlYkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQsCisgICAgV2ViQ29yZTo6
RmV0Y2hIZWFkZXJzOjpHdWFyZDo6Tm9uZSwKKyAgICBXZWJDb3JlOjpGZXRjaEhlYWRlcnM6Okd1
YXJkOjpJbW11dGFibGUsCisgICAgV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZDo6UmVxdWVz
dCwKKyAgICBXZWJDb3JlOjpGZXRjaEhlYWRlcnM6Okd1YXJkOjpSZXF1ZXN0Tm9Db3JzLAorICAg
IFdlYkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQ6OlJlc3BvbnNlCisgICAgPjsKK307CisKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKaW5kZXggZTNh
NTFmMWFlODQzOTJiZjMwZmM4YjVkMzM1MzFhMDlkYjg1Y2NhYy4uZWRmYWM1YzM4NTkxZDk5ZTg4
ZWQwZmRmMzZlOGRjNGQ4OTU4ZDYyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9mZXRjaC9GZXRjaExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaExvYWRlci5jcHAKQEAgLTgwLDcgKzgwLDcgQEAgdm9pZCBGZXRjaExvYWRlcjo6c3Rh
cnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmV0Y2hSZXF1ZXN0JiBy
ZXEKICAgICBvcHRpb25zLmRhdGFCdWZmZXJpbmdQb2xpY3kgPSBEb05vdEJ1ZmZlckRhdGE7CiAg
ICAgb3B0aW9ucy5zYW1lT3JpZ2luRGF0YVVSTEZsYWcgPSBTYW1lT3JpZ2luRGF0YVVSTEZsYWc6
OlNldDsKIAotICAgIFJlc291cmNlUmVxdWVzdCBmZXRjaFJlcXVlc3QgPSByZXF1ZXN0LmludGVy
bmFsUmVxdWVzdCgpOworICAgIFJlc291cmNlUmVxdWVzdCBmZXRjaFJlcXVlc3QgPSByZXF1ZXN0
LnJlc291cmNlUmVxdWVzdCgpOwogCiAgICAgQVNTRVJUKGNvbnRleHQuY29udGVudFNlY3VyaXR5
UG9saWN5KCkpOwogICAgIGF1dG8mIGNvbnRlbnRTZWN1cml0eVBvbGljeSA9ICpjb250ZXh0LmNv
bnRlbnRTZWN1cml0eVBvbGljeSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9mZXRjaC9GZXRjaFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaFJlcXVlc3QuY3BwCmluZGV4IGU2NmMxNWM5OTRjZTUxZWRkNTQ5M2FkMjU4NzQyZGRlNjhj
YTNkNGIuLjhkMGMyMzg3ODNiYWYwMzg0ZDI3YzRkNDhmNjE3YzYxMDI3NjllODMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHAKQEAgLTc0LDcgKzc0
LDcgQEAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8RXhjZXB0aW9uPiBzZXRSZWZlcnJlcihGZXRjaFJl
cXVlc3Q6OkludGVybmFsUmVxdWVzdCYgcmVxdWUKIAogc3RhdGljIHN0ZDo6b3B0aW9uYWw8RXhj
ZXB0aW9uPiBidWlsZE9wdGlvbnMoRmV0Y2hSZXF1ZXN0OjpJbnRlcm5hbFJlcXVlc3QmIHJlcXVl
c3QsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZldGNoUmVxdWVzdDo6
SW5pdCYgaW5pdCkKIHsKLSAgICBpZiAoIWluaXQud2luZG93LmlzVW5kZWZpbmVkT3JOdWxsKCkp
CisgICAgaWYgKCFpbml0LndpbmRvdy5pc1VuZGVmaW5lZE9yTnVsbCgpICYmICFpbml0LndpbmRv
dy5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJ
TGl0ZXJhbCgiV2luZG93IGNhbiBvbmx5IGJlIG51bGwuIikgfTsKIAogICAgIGlmICghaW5pdC5y
ZWZlcnJlci5pc051bGwoKSkgewpAQCAtMjY0LDcgKzI2NCw3IEBAIGNvbnN0IFN0cmluZyYgRmV0
Y2hSZXF1ZXN0Ojp1cmwoKSBjb25zdAogICAgIHJldHVybiBtX3JlcXVlc3RVUkw7CiB9CiAKLVJl
c291cmNlUmVxdWVzdCBGZXRjaFJlcXVlc3Q6OmludGVybmFsUmVxdWVzdCgpIGNvbnN0CitSZXNv
dXJjZVJlcXVlc3QgRmV0Y2hSZXF1ZXN0OjpyZXNvdXJjZVJlcXVlc3QoKSBjb25zdAogewogICAg
IEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaAppbmRleCAxZjBiMTZlOGE1YTE3OWYwZmVhYzBiNTk3
ZGQ1ODc0OWZhZWRhYmRkLi42MWRjZDJjNTg2MzMwOTdkMWU2MmU2YzVhOTFlYjEwMDIxNzc5YzM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmgKQEAgLTUz
LDExICs1MywxOSBAQCBwdWJsaWM6CiAgICAgdXNpbmcgUmVkaXJlY3QgPSBGZXRjaE9wdGlvbnM6
OlJlZGlyZWN0OwogICAgIHVzaW5nIFR5cGUgPSBGZXRjaE9wdGlvbnM6OlR5cGU7CiAKKyAgICBz
dHJ1Y3QgSW50ZXJuYWxSZXF1ZXN0IHsKKyAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3Q7
CisgICAgICAgIEZldGNoT3B0aW9ucyBvcHRpb25zOworICAgICAgICBTdHJpbmcgcmVmZXJyZXI7
CisgICAgfTsKKwogICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8RmV0Y2hSZXF1ZXN0Pj4gY3Jl
YXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBJbmZvJiYsIEluaXQmJik7CisgICAgc3RhdGlj
IFJlZjxGZXRjaFJlcXVlc3Q+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0
LCBzdGQ6Om9wdGlvbmFsPEZldGNoQm9keT4mJiBib2R5LCBSZWY8RmV0Y2hIZWFkZXJzPiYmIGhl
YWRlcnMsIEludGVybmFsUmVxdWVzdCYmIHJlcXVlc3QpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
RmV0Y2hSZXF1ZXN0KGNvbnRleHQsIFdURk1vdmUoYm9keSksIFdURk1vdmUoaGVhZGVycyksIFdU
Rk1vdmUocmVxdWVzdCkpKTsgfQogCiAgICAgY29uc3QgU3RyaW5nJiBtZXRob2QoKSBjb25zdCB7
IHJldHVybiBtX2ludGVybmFsUmVxdWVzdC5yZXF1ZXN0Lmh0dHBNZXRob2QoKTsgfQogICAgIGNv
bnN0IFN0cmluZyYgdXJsKCkgY29uc3Q7CiAgICAgRmV0Y2hIZWFkZXJzJiBoZWFkZXJzKCkgeyBy
ZXR1cm4gbV9oZWFkZXJzLmdldCgpOyB9CisgICAgY29uc3QgRmV0Y2hIZWFkZXJzJiBoZWFkZXJz
KCkgY29uc3QgeyByZXR1cm4gbV9oZWFkZXJzLmdldCgpOyB9CiAKICAgICBUeXBlIHR5cGUoKSBj
b25zdDsKICAgICBEZXN0aW5hdGlvbiBkZXN0aW5hdGlvbigpIGNvbnN0OwpAQCAtNzMsMTcgKzgx
LDE0IEBAIHB1YmxpYzoKIAogICAgIEV4Y2VwdGlvbk9yPFJlZjxGZXRjaFJlcXVlc3Q+PiBjbG9u
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CiAKLSAgICBzdHJ1Y3QgSW50ZXJuYWxSZXF1ZXN0
IHsKLSAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3Q7Ci0gICAgICAgIEZldGNoT3B0aW9u
cyBvcHRpb25zOwotICAgICAgICBTdHJpbmcgcmVmZXJyZXI7Ci0gICAgfTsKKyAgICBjb25zdCBJ
bnRlcm5hbFJlcXVlc3QmIGludGVybmFsUmVxdWVzdCgpIGNvbnN0IHsgcmV0dXJuIG1faW50ZXJu
YWxSZXF1ZXN0OyB9CiAKICAgICBjb25zdCBGZXRjaE9wdGlvbnMmIGZldGNoT3B0aW9ucygpIGNv
bnN0IHsgcmV0dXJuIG1faW50ZXJuYWxSZXF1ZXN0Lm9wdGlvbnM7IH0KLSAgICBSZXNvdXJjZVJl
cXVlc3QgaW50ZXJuYWxSZXF1ZXN0KCkgY29uc3Q7CisgICAgUmVzb3VyY2VSZXF1ZXN0IHJlc291
cmNlUmVxdWVzdCgpIGNvbnN0OwogICAgIGJvb2wgaXNCb2R5UmVhZGFibGVTdHJlYW0oKSBjb25z
dCB7IHJldHVybiAhaXNCb2R5TnVsbCgpICYmIGJvZHkoKS5pc1JlYWRhYmxlU3RyZWFtKCk7IH0K
IAogICAgIGNvbnN0IFN0cmluZyYgaW50ZXJuYWxSZXF1ZXN0UmVmZXJyZXIoKSBjb25zdCB7IHJl
dHVybiBtX2ludGVybmFsUmVxdWVzdC5yZWZlcnJlcjsgfQorICAgIGNvbnN0IFVSTCYgaW50ZXJu
YWxSZXF1ZXN0VVJMKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVlc3QucmVxdWVzdC51
cmwoKTsgfQogCiBwcml2YXRlOgogICAgIEZldGNoUmVxdWVzdChTY3JpcHRFeGVjdXRpb25Db250
ZXh0Jiwgc3RkOjpvcHRpb25hbDxGZXRjaEJvZHk+JiYsIFJlZjxGZXRjaEhlYWRlcnM+JiYsIElu
dGVybmFsUmVxdWVzdCYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hSZXNwb25zZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNo
UmVzcG9uc2UuY3BwCmluZGV4IDY4YWRiNTU5ZmU5NTMwZjc0NTZkYzk2Zjk4ODRiN2ZmZGQ2YTgx
YmUuLmM2ZGExMTFiMTk1ODc0MTYzNWYxMzIwMzkyZTRjNmFiNzgyMzlmYjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcApAQCAtMzU1LDYgKzM1
NSwxNCBAQCB2b2lkIEZldGNoUmVzcG9uc2U6OmNhbmNlbCgpCiAKICNlbmRpZgogCitSZWZQdHI8
Rm9ybURhdGE+IEZldGNoUmVzcG9uc2U6OmJvZHlGb3JJbnRlcm5hbFJlc3BvbnNlKCkKK3sKKyAg
ICBBU1NFUlQoIW1faXNEaXN0dXJiZWQpOworICAgIG1faXNEaXN0dXJiZWQgPSB0cnVlOworICAg
IHJldHVybiBib2R5KCkuYm9keUZvckludGVybmFsUmVxdWVzdCgqc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpKTsKKworfQorCiB2b2lkIEZldGNoUmVzcG9uc2U6OnN0b3AoKQogewogICAgIFJlZlB0
cjxGZXRjaFJlc3BvbnNlPiBwcm90ZWN0ZWRUaGlzKHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaAppbmRleCBmOWIwMmZiMGU1ODdhYjRlYjNkNTU5
Nzk0YjM5MWY3OWY1YTFkYzY2Li45OTZiODllNmNmMjdiZjQyMjc0ZWVkMDdmZWE3MDEwMmNlY2Uz
OGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9u
c2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaApA
QCAtNTcsNiArNTcsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxGZXRjaFJlc3BvbnNlPiBl
cnJvcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJl
ZjxGZXRjaFJlc3BvbnNlPj4gcmVkaXJlY3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0
IFN0cmluZyYgdXJsLCBpbnQgc3RhdHVzKTsKIAorICAgIHN0YXRpYyBSZWY8RmV0Y2hSZXNwb25z
ZT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6b3B0aW9uYWw8
RmV0Y2hCb2R5PiYmIGJvZHksIFJlZjxGZXRjaEhlYWRlcnM+JiYgaGVhZGVycywgUmVzb3VyY2VS
ZXNwb25zZSYmIHJlc3BvbnNlKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEZldGNoUmVzcG9uc2Uo
Y29udGV4dCwgV1RGTW92ZShib2R5KSwgV1RGTW92ZShoZWFkZXJzKSwgV1RGTW92ZShyZXNwb25z
ZSkpKTsgfQorCiAgICAgdXNpbmcgRmV0Y2hQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElE
TEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj47CiAgICAgc3RhdGljIHZvaWQgZmV0Y2goU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYsIEZldGNoUmVxdWVzdCYsIEZldGNoUHJvbWlzZSYmKTsKIApAQCAt
NzgsNiArODAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBvaygpIGNvbnN0IHsgcmV0dXJuIG1fcmVz
cG9uc2UuaXNTdWNjZXNzZnVsKCk7IH0KICAgICBjb25zdCBTdHJpbmcmIHN0YXR1c1RleHQoKSBj
b25zdCB7IHJldHVybiBtX3Jlc3BvbnNlLmh0dHBTdGF0dXNUZXh0KCk7IH0KIAorICAgIGNvbnN0
IEZldGNoSGVhZGVycyYgaGVhZGVycygpIGNvbnN0IHsgcmV0dXJuIG1faGVhZGVyczsgfQogICAg
IEZldGNoSGVhZGVycyYgaGVhZGVycygpIHsgcmV0dXJuIG1faGVhZGVyczsgfQogICAgIFJlZjxG
ZXRjaFJlc3BvbnNlPiBjbG9uZUZvckpTKCk7CiAKQEAgLTkwLDYgKzkzLDEwIEBAIHB1YmxpYzoK
IAogICAgIGJvb2wgaXNMb2FkaW5nKCkgY29uc3QgeyByZXR1cm4gISFtX2JvZHlMb2FkZXI7IH0K
IAorICAgIFJlZlB0cjxGb3JtRGF0YT4gYm9keUZvckludGVybmFsUmVzcG9uc2UoKTsKKworICAg
IGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKCkgY29uc3QgeyByZXR1cm4gbV9yZXNw
b25zZTsgfQorCiBwcml2YXRlOgogICAgIEZldGNoUmVzcG9uc2UoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYsIHN0ZDo6b3B0aW9uYWw8RmV0Y2hCb2R5PiYmLCBSZWY8RmV0Y2hIZWFkZXJzPiYmLCBS
ZXNvdXJjZVJlc3BvbnNlJiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOGFhNTdhZGVkNTNhZjk5NGQ5YmE2N2I5NDcxZTVi
MmM5YTg3NzRiMy4uNzExZWQ0ODA0NzdhNWU1ODQwODc5YmMwZDQ4NjRkZDkyYjRhM2RmMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtMTc4NCw2ICsxNzg0LDE0IEBACiAJCTQxQ0Y4QkU3MUQ0NjIyNjcwMDcwN0RDOSAvKiBGZXRj
aEJvZHlDb25zdW1lci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MUNGOEJFNDFENDYyMjIwMDA3MDdEQzkgLyogRmV0Y2hCb2R5Q29uc3VtZXIuY3Bw
ICovOyB9OwogCQk0MUQwMTVDQTBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDAxNUM4MEY0QjVD
NzEwMDRBNjYyRiAvKiBDb250ZW50VHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTQxRDAxNUNCMEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50
VHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MUQwMTVDOTBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuY3BwICovOyB9OworCQk0MUQx
MjlDRTFGM0QwRUY2MDBEMTVFNDcgLyogV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRkIyNzhEMUYzNEMyODIw
MDc5NTQ4NyAvKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oICovOyB9OworCQk0MUQxMjlDRjFG
M0QwRUZFMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQxMjlDOTFGM0QwRUUzMDBEMTVF
NDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAgKi87IH07CisJCTQxRDEyOUQwMUYzRDBG
MDUwMEQxNUU0NyAvKiBDYWNoZVF1ZXJ5T3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFGQjI3OUIxRjM0Q0VGMDAwNzk1NDg3IC8qIENhY2hl
UXVlcnlPcHRpb25zLmggKi87IH07CisJCTQxRDEyOUQxMUYzRDBGMEUwMEQxNUU0NyAvKiBET01X
aW5kb3dDYWNoZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQxRkIyNzhDMUYzNEMyODIwMDc5NTQ4NyAvKiBET01XaW5kb3dDYWNoZXMuaCAqLzsgfTsK
KwkJNDFEMTI5RDIxRjNEMEYxMjAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVJlY29yZC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMTI5Q0ExRjNEMEVF
MzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVJlY29yZC5oICovOyB9OworCQk0MUQxMjlEMzFGM0Qw
RjE2MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMTI5Q0MxRjNEMEVFMzAwRDE1RTQ3IC8q
IENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQk0MUQxMjlENTFGM0QwRjY5MDBEMTVFNDcgLyogQ2FjaGVTdG9y
YWdlUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQxRDEyOUQ0MUYzRDBGNjYwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VQcm92aWRlci5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTQxRDEyOURC
MUYzRDE0MzgwMEQxNUU0NyAvKiBGZXRjaEhlYWRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRjU0RjgzMUM1MEM0RjYwMDMzODQ4OCAvKiBGZXRj
aEhlYWRlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk0MURFRkNCNTFFNTZDMUJEMDAwRDlFNUYgLyogSlNET01NYXBMaWtlLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxREVGQ0IzMUU1NkMxQjkw
MDBEOUU1RiAvKiBKU0RPTU1hcExpa2UuY3BwICovOyB9OwogCQk0MURFRkNCNjFFNTZDMUJEMDAw
RDlFNUYgLyogSlNET01NYXBMaWtlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MURFRkNCNDFFNTZDMUI5MDAwRDlFNUYgLyogSlNET01NYXBMaWtlLmgg
Ki87IH07CiAJCTQxRTFCMUQwMEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUUxQjFDQTBG
RjU5ODY5MDA1NzZCM0IgLyogQWJzdHJhY3RXb3JrZXIuY3BwICovOyB9OwpAQCAtOTQ0NCw2ICs5
NDUyLDExIEBACiAJCTQxQ0Y4QkU2MUQ0NjIyMkMwMDcwN0RDOSAvKiBGZXRjaEludGVybmFscy5q
cyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9IEZldGNoSW50ZXJuYWxz
LmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUQwMTVDODBGNEI1QzcxMDA0QTY2
MkYgLyogQ29udGVudFR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29u
dGVudFR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFEMDE1QzkwRjRCNUM3
MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IENvbnRlbnRUeXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NDFEMTI5QzkxRjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FjaGVTdG9yYWdlQ29ubmVjdGlv
bi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRDEyOUNBMUYzRDBFRTMwMEQx
NUU0NyAvKiBDYWNoZVN0b3JhZ2VSZWNvcmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQ2FjaGVTdG9yYWdlUmVjb3JkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTQxRDEyOUNCMUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2UuanMgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBDYWNoZVN0b3JhZ2UuanM7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQxRDEyOUNDMUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlU3Rv
cmFnZUNvbm5lY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDFEMTI5RDQx
RjNEMEY2NjAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVByb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlU3RvcmFnZVByb3ZpZGVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQxRDUxQkIyMUU0RTJFODEwMDEzMUE1QiAvKiBMaWJXZWJSVENBdWRp
b0Zvcm1hdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMaWJXZWJSVENBdWRp
b0Zvcm1hdC5oOyBwYXRoID0gbGlid2VicnRjL0xpYldlYlJUQ0F1ZGlvRm9ybWF0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxREVGQ0IyMUU1NkMxQjkwMDBEOUU1RiAvKiBKU0RP
TUJpbmRpbmdJbnRlcm5hbHMuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBh
dGggPSBKU0RPTUJpbmRpbmdJbnRlcm5hbHMuanM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQxREVGQ0IzMUU1NkMxQjkwMDBEOUU1RiAvKiBKU0RPTU1hcExpa2UuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01NYXBMaWtlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3NjQ0LDYgKzE3NjU3LDEwIEBACiAJCQkJNDEzODBDMjEx
RjM0MzY4RDAwMTU1RkRBIC8qIENhY2hlU3RvcmFnZS5jcHAgKi8sCiAJCQkJNDEzODBDMjIxRjM0
MzY5MDAwMTU1RkRBIC8qIENhY2hlU3RvcmFnZS5oICovLAogCQkJCTQxMzgwQzI0MUYzNDM2OTcw
MDE1NUZEQSAvKiBDYWNoZVN0b3JhZ2UuaWRsICovLAorCQkJCTQxRDEyOUNCMUYzRDBFRTMwMEQx
NUU0NyAvKiBDYWNoZVN0b3JhZ2UuanMgKi8sCisJCQkJNDFEMTI5QzkxRjNEMEVFMzAwRDE1RTQ3
IC8qIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwICovLAorCQkJCTQxRDEyOUNDMUYzRDBFRTMw
MEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmggKi8sCisJCQkJNDFEMTI5Q0ExRjNE
MEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVJlY29yZC5oICovLAogCQkJCTQxRkIyNzhFMUYz
NEMyODIwMDc5NTQ4NyAvKiBET01XaW5kb3dDYWNoZXMuY3BwICovLAogCQkJCTQxRkIyNzhDMUYz
NEMyODIwMDc5NTQ4NyAvKiBET01XaW5kb3dDYWNoZXMuaCAqLywKIAkJCQk0MTM4MEMyQjFGMzQz
RTJGMDAxNTVGREEgLyogRE9NV2luZG93Q2FjaGVzLmlkbCAqLywKQEAgLTE4NjAzLDEyICsxODYy
MCwxMiBAQAogCQkJCTUxODJDMjUyMUYzMTQyNTAwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXIu
aCAqLywKIAkJCQk1MTgyQzI1MTFGMzE0MjUwMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyQ29u
dGFpbmVyLmNwcCAqLywKIAkJCQk1MTgyQzI1NDFGMzE0MjUwMDA1OUJBN0MgLyogSlNTZXJ2aWNl
V29ya2VyQ29udGFpbmVyLmggKi8sCi0JCQkJNTFGMTc1MDAxRjM1OEIzNjAwQzc0OTUwIC8qIEpT
U2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmNwcCAqLywKLQkJCQk1MUYxNzUwMTFGMzU4QjM2
MDBDNzQ5NTAgLyogSlNTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuaCAqLywKIAkJCQk1MTgy
QzI0RTFGMzE0MjUwMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwICov
LAogCQkJCTUxODJDMjREMUYzMTQyNTAwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZS5oICovLAogCQkJCTUxODJDMjRGMUYzMTQyNTAwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb24uY3BwICovLAogCQkJCTUxODJDMjUwMUYzMTQyNTAwMDU5QkE3QyAvKiBK
U1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaCAqLywKKwkJCQk1MUYxNzUwMDFGMzU4QjM2MDBD
NzQ5NTAgLyogSlNTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuY3BwICovLAorCQkJCTUxRjE3
NTAxMUYzNThCMzYwMEM3NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5oICov
LAogCQkJKTsKIAkJCW5hbWUgPSBTZXJ2aWNlV29ya2VyczsKIAkJCXBhdGggPSBEZXJpdmVkU291
cmNlczsKQEAgLTE5MjEzLDYgKzE5MjMwLDcgQEAKIAkJCQlCQzEyNEVFNjBDMjY0MUNEMDA5RTIz
NDkgLyogQmFyUHJvcC5pZGwgKi8sCiAJCQkJNDYwQkI2MTMxRDBBMUJFQzAwMjIxODEyIC8qIEJh
c2U2NFV0aWxpdGllcy5jcHAgKi8sCiAJCQkJNDYwQkI2MTQxRDBBMUJFQzAwMjIxODEyIC8qIEJh
c2U2NFV0aWxpdGllcy5oICovLAorCQkJCTQxRDEyOUQ0MUYzRDBGNjYwMEQxNUU0NyAvKiBDYWNo
ZVN0b3JhZ2VQcm92aWRlci5oICovLAogCQkJCTA3MkNBODYwMTZDQjREQzMwMDhBRTEzMSAvKiBD
YXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcCAqLywKIAkJCQkwNzlEMDg2NzE2MkYyMEU4MDBEQjg2
NTggLyogQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5oICovLAogCQkJCTA3OUQwODZBMTYyRjIxRjkw
MERCODY1OCAvKiBDYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAgKi8sCkBAIC0yNjY5
OSw3ICsyNjcxNywxMSBAQAogCQkJCTA3NTM4NjAzMTQ0ODlFOTgwMEI3ODQ1MiAvKiBDYWNoZWRU
ZXh0VHJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQjE2QzI4MDk3OUMzQkQwMDQ2Nzc0MSAv
KiBDYWNoZWRYU0xTdHlsZVNoZWV0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0YxOTk1MDA4MjQ1
RTU5MDAxRTlBQkMgLyogQ2FjaGVQb2xpY3kuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxRDEyOUQw
MUYzRDBGMDUwMEQxNUU0NyAvKiBDYWNoZVF1ZXJ5T3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNDEzODBDMjkxRjM0MzZBQzAwMTU1RkRBIC8qIENhY2hlU3RvcmFnZS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNDFEMTI5RDMxRjNEMEYxNjAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5lY3Rp
b24uaCBpbiBIZWFkZXJzICovLAorCQkJCTQxRDEyOUQ1MUYzRDBGNjkwMEQxNUU0NyAvKiBDYWNo
ZVN0b3JhZ2VQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5RDIxRjNEMEYxMjAw
RDE1RTQ3IC8qIENhY2hlU3RvcmFnZVJlY29yZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQzQUY4
RTcxQUM1QjdFQzAwQ0E3MTdFIC8qIENhY2hlVmFsaWRhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNDlBRTJEOTcxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGN1bGF0aW9uVmFsdWUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTdDMUU4RDAxMUVEMEMyREEwMEIxRDk4MyAvKiBDYWxsYmFja1Jlc3VsdC5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yNjc2NCw3ICsyNjc4Niw2IEBACiAJCQkJQTU4NEZFMkMxODYz
ODcwRjAwODQzQjEwIC8qIENvbW1hbmRMaW5lQVBJTW9kdWxlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBNTg0RkUyNjE4NjM3REFCMDA4NDNCMTAgLyogQ29tbWFuZExpbmVBUElNb2R1bGVTb3VyY2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCTY1NTBCNkEyMDk5REYwMjcwMDkwRDc4MSAvKiBDb21tZW50
LmggaW4gSGVhZGVycyAqLywKLQkJCQk1MTFDQTY3RTFGMzkwNUE2MDAxOUUwNzQgLyogU2Vydmlj
ZVdvcmtlckpvYi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTdFNjY0RkMxRTczNzAzMzAwNzY1NTM2
IC8qIENvbW1vbkNyeXB0b0RFUlV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFGRTEz
NzUxODQwMkE2NzAwODkyRjEzIC8qIENvbW1vbkNyeXB0b1V0aWxpdGllcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEY2MEYzMkIxREZCQjEwNzAwNDE2RDZDIC8qIENvbW1vblZNLmggaW4gSGVhZGVy
cyAqLywKQEAgLTI3MTcyLDYgKzI3MTkzLDcgQEAKIAkJCQkyRTM3REZEQjEyREJBRkI4MDBBNkIy
MzMgLyogRE9NVVJMLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDlERTE4MjE3QUFENkE0MDBFQTM4
NkQgLyogRE9NVVJMTWVkaWFTb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0MDNCOTk3MDlF
QjEzQUYwMDc5N0M3RiAvKiBET01XaW5kb3cuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxRDEyOUQx
MUYzRDBGMEUwMEQxNUU0NyAvKiBET01XaW5kb3dDYWNoZXMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUxRkEyRDc4MTUyMTMyQjMwMEMxQkEwQiAvKiBET01XaW5kb3dFeHRlbnNpb24uaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUxODVGQzc1MUJCNEM0RTgwMDEyODk4RiAvKiBET01XaW5kb3dJbmRleGVk
RGF0YWJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3RDJBRDA0MTRCODIzQTYwMDkzREYzMiAv
KiBET01XaW5kb3dQcm9wZXJ0eS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzI2Nyw2ICsyNzI4OSw3
IEBACiAJCQkJODQ3MzBEODUxMjQ4RjBCMzAwRDNBOUM5IC8qIEZFTW9ycGhvbG9neS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJODQ3MzBEODcxMjQ4RjBCMzAwRDNBOUM5IC8qIEZFT2Zmc2V0LmggaW4g
SGVhZGVycyAqLywKIAkJCQk4NDczMEQ4OTEyNDhGMEIzMDBEM0E5QzkgLyogRkVTcGVjdWxhckxp
Z2h0aW5nLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUQxMjlEQjFGM0QxNDM4MDBEMTVFNDcgLyog
RmV0Y2hIZWFkZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTZFNkZFODFCQkQxMkRGMDAwQTYw
MjMgLyogRmV0Y2hJbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFBRDc1
M0ExQ0VGNkJEMTAwQTMxNDg2IC8qIEZldGNoT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
N0NFMTkxNEQxRjJBOUFGQjAwMjcyRjc4IC8qIEZldGNoUmVmZXJyZXJQb2xpY3kuaCBpbiBIZWFk
ZXJzICovLApAQCAtMjc0MDAsNyArMjc0MjMsNiBAQAogCQkJCTMxNkJEQkY3MUU3NjJBRDUwMERF
MEQ1QSAvKiBHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQkz
MTZCREJGMDFFNzYyOTIwMDBERTBENUEgLyogR1BVRGVwdGhTdGVuY2lsU3RhdGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTMxNkJEQjg2MUU2RTBBMjcwMERFMEQ1QSAvKiBHUFVEZXZpY2UuaCBpbiBI
ZWFkZXJzICovLAotCQkJCTUxRjE3NEZFMUYzNTg5OTIwMEM3NDk1MCAvKiBXb3JrZXJUeXBlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkzMTZCREJDRDFFNzVGMTg0MDBERTBENUEgLyogR1BVRHJhd2Fi
bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxNkJEQkZCMUU3NjJEMDQwMERFMEQ1QSAvKiBHUFVF
bnVtcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE2QkRCOTUxRTcwQzg5NzAwREUwRDVBIC8qIEdQ
VUZ1bmN0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTI3NDgyLDE0ICsyNzUwNCwxMiBAQAogCQkJ
CTkzRjE5OEU1MDgyNDVFNTkwMDFFOUFCQyAvKiBIVE1MRG9jdW1lbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTk3N0IzODY3MTIyODgzRTkwMEI4MUZGOCAvKiBIVE1MRG9jdW1lbnRQYXJzZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTkzRjE5OEU2MDgyNDVFNTkwMDFFOUFCQyAvKiBIVE1MRWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTFCRUI2MzkxRjNCOTRCMDAwNTAyOUI5IC8qIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25PcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTdDODEy
MzBGMkE1Q0Y3MDA1REFBRUIgLyogSFRNTEVsZW1lbnRGYWN0b3J5LmggaW4gSGVhZGVycyAqLywK
IAkJCQk5NzdCMzcyNDEyMjg3MjE3MDBCODFGRjggLyogSFRNTEVsZW1lbnRTdGFjay5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQjU2MkRCNjAxN0QzQ0Q2MzAwMTBBRjk2IC8qIEhUTUxFbGVtZW50VHlw
ZUhlbHBlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NzFENDVDMEExMjdDQkMwMEIxMkE2OCAv
KiBIVE1MRW1iZWRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzdCMzg2QTEyMjg4M0U5
MDBCODFGRjggLyogSFRNTEVudGl0eVBhcnNlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc3QjM4
NkMxMjI4ODNFOTAwQjgxRkY4IC8qIEhUTUxFbnRpdHlTZWFyY2guaCBpbiBIZWFkZXJzICovLAot
CQkJCTUxRjE3NEZGMUYzNTg5OTcwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2Fj
aGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3N0IzODZEMTIyODgzRTkwMEI4MUZGOCAvKiBIVE1M
RW50aXR5VGFibGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MTM2OUQ0MDk3Mzc0RjYwMEQ3NDQ2
MyAvKiBIVE1MRmllbGRTZXRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOENGRjdBNjBB
MTU2OTc4MDAwQTQyMzQgLyogSFRNTEZvbnRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI4
MjM3LDYgKzI4MjU3LDcgQEAKIAkJCQk1MTgyQzI1ODFGMzE0M0NEMDA1OUJBN0MgLyogSlNTZXJ2
aWNlV29ya2VyQ29udGFpbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTgyQzI1QTFGMzE0M0NE
MDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTUxODJDMjVDMUYzMTQzQ0QwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b24uaCBpbiBIZWFkZXJzICovLAorCQkJCTUxRjE3NTAzMUYzNThCM0IwMEM3NDk1MCAvKiBKU1Nl
cnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOUJEQTY0RDgx
Qjk3NUNGMjAwOUM0Mzg3IC8qIEpTU2hhZG93Um9vdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDZE
RkY0OUMxREMyNjIwQjAwQjgwQjQ4IC8qIEpTU2hhZG93Um9vdE1vZGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCUNEOURFMTdCMTdBQUM3NUIwMEVBMzg2RCAvKiBKU1NvdXJjZUJ1ZmZlci5oIGluIEhl
YWRlcnMgKi8sCkBAIC0yODQzNiw3ICsyODQ1Nyw2IEBACiAJCQkJNkUzRkFEMzkxNDczM0Y0MDAw
RTQyMzA2IC8qIEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTZFRThBNzczMTBGODAzRjMwMDVBNEEyNCAvKiBKU1dlYkdMQ29udGV4dEF0dHJpYnV0ZXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDMkNCRjRFMTQwRjFBQkQwMDM4NzlCRSAvKiBKU1dlYkdM
Q29udGV4dEV2ZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzUwNjFGMzU4QkY3MDBDNzQ5
NTAgLyogSlNXb3JrZXJUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RTNGQUQzOTE0NzMzRjQw
MTFFNDIzMDcgLyogSlNXZWJHTERlYnVnUmVuZGVyZXJJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk2RTNGQUQzOTE0NzMzRjQwMjJFNDIzMDcgLyogSlNXZWJHTERlYnVnU2hhZGVycy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNkUzRkFEMzkxNDczM0Y0MDAwRTQyMzA3IC8qIEpTV2ViR0xEZXB0aFRl
eHR1cmUuaCBpbiBIZWFkZXJzICovLApAQCAtMjg0OTQsNiArMjg1MTQsNyBAQAogCQkJCUUxQzM2
RDM1MEVCMEEwOTQwMDc0MTBCQyAvKiBKU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRTFDMzYyRUYwRUFGMkFBOTAwNzQxMEJDIC8qIEpTV29ya2VyTG9jYXRpb24u
aCBpbiBIZWFkZXJzICovLAogCQkJCUUxMjcxQTU4MEVFRUNERTQwMEY2MTIxMyAvKiBKU1dvcmtl
ck5hdmlnYXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTFGMTc1MDYxRjM1OEJGNzAwQzc0OTUw
IC8qIEpTV29ya2VyVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M0Qzk2REQxQUQ0NDgzNTAw
MzY1QTYwIC8qIEpTV3JpdGFibGVTdHJlYW0uaCBpbiBIZWFkZXJzICovLAogCQkJCTgzNThDQjcw
MUM1MzI3NzUwMEUwQzJEOCAvKiBKU1hNTERvY3VtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzM0OEJENDBEQjdGODA0MDA0QUJBQjkgLyogSlNYTUxIdHRwUmVxdWVzdC5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yODcxNSw3ICsyODczNiw2IEBACiAJCQkJNDEzRTAwNzkxREIwRTRGMjAwMjM0MUQy
IC8qIE1lbW9yeVJlbGVhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5REZBMDk5RTY0OTIw
MDU2RTU4MSAvKiBNZXJnZUlkZW50aWNhbEVsZW1lbnRzQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTFBREVDQ0UwRTc2QUQ4QjAwNEExQTVFIC8qIE1lc3NhZ2VDaGFubmVsLmggaW4gSGVh
ZGVycyAqLywKLQkJCQk1MUYxNzUwMzFGMzU4QjNCMDBDNzQ5NTAgLyogSlNTZXJ2aWNlV29ya2Vy
VXBkYXRlVmlhQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTc1NzkzRTg0MEQwQ0UwQjMwMDdG
QzBBQyAvKiBNZXNzYWdlRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQURFQ0JGMEU3NkFD
RjEwMDRBMUE1RSAvKiBNZXNzYWdlUG9ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFCRjcwMEMw
RkU4NkY0OTAwNUU4REVDIC8qIE1lc3NhZ2VQb3J0Q2hhbm5lbC5oIGluIEhlYWRlcnMgKi8sCkBA
IC0yODczNyw3ICsyODc1Nyw2IEBACiAJCQkJMDdFRTc2RUMxQkU5NkRCMDAwRjg5MTMzIC8qIE1v
Y2tSZWFsdGltZVZpZGVvU291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwN0VFNzZFRjFCRUE2
MTk4MDBGODkxMzMgLyogTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VNYWMuaCBpbiBIZWFkZXJzICov
LAogCQkJCUNERjJCMDE3MTgyMDU0MDcwMEYyQjQyNCAvKiBNb2NrU291cmNlQnVmZmVyUHJpdmF0
ZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTExQ0E2ODAxRjM5MzMxRjAwMTlFMDc0IC8qIFNlcnZp
Y2VXb3JrZXJKb2JDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUNERjJCMDE5MTgyMDU0MDcw
MEYyQjQyNCAvKiBNb2NrVHJhY2tzLmggaW4gSGVhZGVycyAqLywKIAkJCQlDNkQ3NEFENTA5QUEy
ODJFMDAwQjBBNTIgLyogTW9kaWZ5U2VsZWN0aW9uTGlzdExldmVsLmggaW4gSGVhZGVycyAqLywK
IAkJCQk3MDlBMDFGRTFFM0QwQkREMDA2QjBENEMgLyogTW9kdWxlRmV0Y2hGYWlsdXJlS2luZC5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yOTA1MCw3ICsyOTA2OSw2IEBACiAJCQkJMDdDMUMwRTUxQkZC
NjBFRDAwQkQyMjU2IC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDExMDNBQUMxRTM5NzkxMDAwNzY5RjAzIC8qIFJlYWx0aW1l
T3V0Z29pbmdBdWRpb1NvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM0MzY4RTgwQzIyNkUz
MjAwNUVGQjVGIC8qIFJlY3QuaCBpbiBIZWFkZXJzICovLAotCQkJCTUxMUNBNjg0MUYzQTNDRDkw
MDE5RTA3NCAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uUGFyYW1ldGVycy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRkQ0NUE5NTgxNzVENDE0QzAwQzIxRUM4IC8qIFJlY3RhbmdsZVNoYXBlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5ODMxQUU0QTE1NDIyNUM5MDBGRTI2NDQgLyogUmVmZXJyZXJQ
b2xpY3kuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQUI0MTgyMTNFMzU2RTgwMEQ4QUFGMyAvKiBS
ZWdpb24uaCBpbiBIZWFkZXJzICovLApAQCAtMjkzOTUsNyArMjk0MTMsMTMgQEAKIAkJCQk1MTgy
QzIzRjFGMzEzQTA5MDA1OUJBN0MgLyogU2VydmljZVdvcmtlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNTE4MkMyNDExRjMxM0EwOTAwNTlCQTdDIC8qIFNlcnZpY2VXb3JrZXJDb250YWluZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTUxODJDMjQzMUYzMTNBMDkwMDU5QkE3QyAvKiBTZXJ2aWNlV29y
a2VyR2xvYmFsU2NvcGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxMUNBNjdFMUYzOTA1QTYwMDE5
RTA3NCAvKiBTZXJ2aWNlV29ya2VySm9iLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTFDQTY4MDFG
MzkzMzFGMDAxOUUwNzQgLyogU2VydmljZVdvcmtlckpvYkNsaWVudC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJNTExQ0E2N0ExRjM5MDRCMTAwMTlFMDc0IC8qIFNlcnZpY2VXb3JrZXJQcm92aWRlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4MkMyNDUxRjMxM0EwOTAwNTlCQTdDIC8qIFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTUxQkVCNjM5MUYzQjk0QjAw
MDUwMjlCOSAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNTExQ0E2ODQxRjNBM0NEOTAwMTlFMDc0IC8qIFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25QYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MUYxNzRGRjFGMzU4OTk3MDBD
NzQ5NTAgLyogU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk3NTZCMkNFMTE4QjcxMDE2MDBGRUNGQUEgLyogU2Vzc2lvbklELmggaW4gSGVhZGVycyAqLywK
IAkJCQk5MzMwOUUxMDA5OUU2NDkyMDA1NkU1ODEgLyogU2V0Tm9kZUF0dHJpYnV0ZUNvbW1hbmQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUI4REJEQjRDMTMwQjBGOEEwMEY1Q0RCMSAvKiBTZXRTZWxl
Y3Rpb25Db21tYW5kLmggaW4gSGVhZGVycyAqLywKQEAgLTI5NzI4LDcgKzI5NzUyLDYgQEAKIAkJ
CQk4M0MxRDQyRjE3OEQ1QUI1MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0xpbmV0b0Ficy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQjIyMjdBNzgwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1BhdGhTZWdMaW5l
dG9Ib3Jpem9udGFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk4M0MxRDQzMDE3OEQ1QUI1MDAxNDFF
NjggLyogU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxBYnMuaCBpbiBIZWFkZXJzICovLAotCQkJ
CTUxMUNBNjdBMUYzOTA0QjEwMDE5RTA3NCAvKiBTZXJ2aWNlV29ya2VyUHJvdmlkZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTgzQzFENDMxMTc4RDVBQjUwMDE0MUU2OCAvKiBTVkdQYXRoU2VnTGlu
ZXRvSG9yaXpvbnRhbFJlbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODNDMUQ0MzIxNzhENUFCNTAw
MTQxRTY4IC8qIFNWR1BhdGhTZWdMaW5ldG9SZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3
QTdEMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdQYXRoU2VnTGluZXRvVmVydGljYWwuaCBpbiBIZWFk
ZXJzICovLApAQCAtMzAxODEsNiArMzAyMDQsNyBAQAogCQkJCUE1MkE2ODY2MURCRDRCNUQwMDgz
MzczRiAvKiBXb3JrZXJEZWJ1Z2dlckFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBM0UyNjQz
MTE0NzQ4OTkxMDA1QTg1ODggLyogV29ya2VyRXZlbnRRdWV1ZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMkU0MzQ2NDkwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlckdsb2JhbFNjb3BlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk0MUQxMjlDRTFGM0QwRUY2MDBEMTVFNDcgLyogV29ya2VyR2xvYmFsU2Nv
cGVDYWNoZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxODVGQ0I0MUJCNEM0RTgwMDEyODk4RiAv
KiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MkU0MzQ2NEIwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlckdsb2JhbFNjb3BlUHJveHkuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE1NEEwQzYyMURCN0Y4QzEwMDE3QTkwQiAvKiBXb3JrZXJJbnNwZWN0
b3JDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTMwMjAyLDYgKzMwMjI2LDcgQEAKIAkJ
CQkwQjkwNTZGOTBGMjY4NUYzMDA5NUZGNkEgLyogV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTdBQUJEMkQxNEZBMDlENTAwNzQ1N0FFIC8qIFdvcmtlclRocmVh
ZGFibGVXZWJTb2NrZXRDaGFubmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTRBMEM2ODFEQjgw
N0Q5MDAxN0E5MEIgLyogV29ya2VyVG9QYWdlRnJvbnRlbmRDaGFubmVsLmggaW4gSGVhZGVycyAq
LywKKwkJCQk1MUYxNzRGRTFGMzU4OTkyMDBDNzQ5NTAgLyogV29ya2VyVHlwZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJOTMzMDlFMjQwOTlFNjQ5MjAwNTZFNTgxIC8qIFdyYXBDb250ZW50c0luRHVt
bXlTcGFuQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE2RTZGRTkxQkJEMTJFNTAwMEE2
MDUzIC8qIFdyaXRhYmxlU3RyZWFtQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxNkU2
RkU4MUJCRDEyREYwMDBBNjA1MyAvKiBXcml0YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmgg
aW4gSGVhZGVycyAqLywKQEAgLTMwNzkyLDYgKzMwODE3LDcgQEAKIAkJCQkwNzUzODYwMjE0NDg5
RTk4MDBCNzg0NTIgLyogQ2FjaGVkVGV4dFRyYWNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJD
QjE2QzI3MDk3OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRYU0xTdHlsZVNoZWV0LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTQxMzgwQzI4MUYzNDM2QUMwMDE1NUZEQSAvKiBDYWNoZVN0b3JhZ2UuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJNDFEMTI5Q0YxRjNEMEVGRTAwRDE1RTQ3IC8qIENhY2hlU3Rv
cmFnZUNvbm5lY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTQzQUY4RTYxQUM1QjdFODAw
Q0E3MTdFIC8qIENhY2hlVmFsaWRhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUFFMkQ5
NjEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY3VsYXRpb25WYWx1ZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk5NTIwNzYwNDFGMjY3NUZFMDA3RDJBQUIgLyogQ2FsbFRyYWNlci5jcHAgaW4gU291cmNl
cyAqLywKQEAgLTMxNDQ1LDcgKzMxNDcxLDYgQEAKIAkJCQk1MTc0MUQxMjBCMDcyNTlBMDBFRDQ0
MkMgLyogSGlzdG9yeUl0ZW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE2MEY0OTgwQjBBQTc1
RjAwQzFEMkFGIC8qIEhpc3RvcnlJdGVtTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk2OUIw
RjIxM0QwQjMzRjAwREYzNTIxIC8qIEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5jcHAgaW4gU291
cmNlcyAqLywKLQkJCQk1MTFDQTY4MzFGM0EzQ0Q5MDAxOUUwNzQgLyogU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvblBhcmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ4Mjg3RjYxNkU0
QTAzODAwODZCRDAwIC8qIEhpdFRlc3RMb2NhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5
MzA3RjFENzBBRjJENTkwMDBEQkEzMUEgLyogSGl0VGVzdFJlc3VsdC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlGRDMxNjA5ODEyQjAyNkY3MDBDMUEzNTkgLyogSFJURkRhdGFiYXNlLmNwcCBpbiBT
b3VyY2VzICovLApAQCAtMzIwNzQsNyArMzIwOTksNiBAQAogCQkJCTEyQTI1M0UwMUM4RkZGNjYw
MEMyMjI5NSAvKiBKU0tleWZyYW1lRWZmZWN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzNUY0
NTQyMEY3QzNCNUYwMEQ3QzFGQiAvKiBKU0xhenlFdmVudExpc3RlbmVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUJDRTFDNDNCMEQ5ODMwRDMwMDNCMDJGMiAvKiBKU0xvY2F0aW9uLmNwcCBpbiBT
b3VyY2VzICovLAotCQkJCTUxRjE3NTA3MUYzNThCRjkwMEM3NDk1MCAvKiBKU1dvcmtlclR5cGUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFMUM0NDAwRDk4MzBGNDAwM0IwMkYyIC8qIEpTTG9j
YXRpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNBODA2MUYxRTAzQjU4NTAwOEEx
RjI2IC8qIEpTTG9uZ1JhbmdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCThGQUM3NzREMTE5ODcy
Q0IwMDE1QUU5NCAvKiBKU01haW5UaHJlYWRFeGVjU3RhdGUuY3BwIGluIFNvdXJjZXMgKi8sCkBA
IC0zMjIzMSw2ICszMjI1NSw3IEBACiAJCQkJNTE4MkMyNTcxRjMxNDNDRDAwNTlCQTdDIC8qIEpT
U2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTgyQzI1OTFG
MzE0M0NEMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTE4MkMyNUIxRjMxNDNDRDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MUYxNzUwMjFGMzU4QjNCMDBDNzQ5
NTAgLyogSlNTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJOUJEQTY0RDcxQjk3NUNFNTAwOUM0Mzg3IC8qIEpTU2hhZG93Um9vdC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk0NkRGRjQ5QjFEQzI2MjBCMDBCODBCNDggLyogSlNTaGFkb3dSb290TW9kZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlDRDlERTE3QTE3QUFDNzVCMDBFQTM4NkQgLyogSlNTb3Vy
Y2VCdWZmZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMjUxMCwxMCArMzI1MzUsMTAgQEAKIAkJ
CQlFMUM4QkU1RDBFOEJEMTVBMDA2NENCN0QgLyogSlNXb3JrZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJRTE4MjU2OEYwRUYyQjAyRDAwOTMzMjQyIC8qIEpTV29ya2VyR2xvYmFsU2NvcGUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJRTFDMzZEMzQwRUIwQTA5NDAwNzQxMEJDIC8qIEpTV29ya2Vy
R2xvYmFsU2NvcGVCYXNlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxMUNBNjc5MUYzOTA0QjEw
MDE5RTA3NCAvKiBTZXJ2aWNlV29ya2VyUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RTE4MjU4QUMwRUYzQ0Q3MDAwOTMzMjQyIC8qIEpTV29ya2VyR2xvYmFsU2NvcGVDdXN0b20uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJRTFDMzYyRjAwRUFGMkFBOTAwNzQxMEJDIC8qIEpTV29ya2Vy
TG9jYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTEyNzFBNTkwRUVFQ0RFNDAwRjYxMjEz
IC8qIEpTV29ya2VyTmF2aWdhdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRjE3NTA3MUYz
NThCRjkwMEM3NDk1MCAvKiBKU1dvcmtlclR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M0
Qzk2REMxQUQ0NDgzNTAwMzY1QTYwIC8qIEpTV3JpdGFibGVTdHJlYW0uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJODM1OENCNkYxQzUzMjc3MjAwRTBDMkQ4IC8qIEpTWE1MRG9jdW1lbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJODNBNEE5RjkxQ0U3RkQ4MTAwNzA5QjAwIC8qIEpTWE1MRG9jdW1l
bnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMzA1Niw3ICszMzA4MSw2IEBACiAJCQkJ
QThERjRBRTgwOTgwQzQyQzAwNTI5ODFCIC8qIFJlbmRlclRhYmxlQ29sLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUE4REY0QUYwMDk4MEM0MkMwMDUyOTgxQiAvKiBSZW5kZXJUYWJsZVJvdy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlBOERGNEFFRDA5ODBDNDJDMDA1Mjk4MUIgLyogUmVuZGVyVGFi
bGVTZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxMUNBNjdEMUYzOTA1QTYwMDE5RTA3
NCAvKiBTZXJ2aWNlV29ya2VySm9iLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRUE0ODhCMDk3
RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJUZXh0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUFCNjdE
MUE4MDk3RjNBRTMwMEY5MzkyRSAvKiBSZW5kZXJUZXh0Q29udHJvbC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwODNEQUVBNjBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xNdWx0
aUxpbmUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMzI0Miw3ICszMzI2NiwxMCBAQAogCQkJCTUx
ODJDMjNFMUYzMTNBMDkwMDU5QkE3QyAvKiBTZXJ2aWNlV29ya2VyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTUxODJDMjQwMUYzMTNBMDkwMDU5QkE3QyAvKiBTZXJ2aWNlV29ya2VyQ29udGFpbmVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxODJDMjQyMUYzMTNBMDkwMDU5QkE3QyAvKiBTZXJ2
aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTExQ0E2N0QxRjM5
MDVBNjAwMTlFMDc0IC8qIFNlcnZpY2VXb3JrZXJKb2IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
NTExQ0E2NzkxRjM5MDRCMTAwMTlFMDc0IC8qIFNlcnZpY2VXb3JrZXJQcm92aWRlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1MTgyQzI0NDFGMzEzQTA5MDA1OUJBN0MgLyogU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MTFDQTY4MzFGM0EzQ0Q5MDAx
OUUwNzQgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblBhcmFtZXRlcnMuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTExRjdENDQxRUIxQzM5MTAwRTQ3QjgzIC8qIFNlc3Npb25JRC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk5MzMwOUUwRjA5OUU2NDkyMDA1NkU1ODEgLyogU2V0Tm9kZUF0dHJp
YnV0ZUNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjhEQkRCNEIxMzBCMEY4QTAwRjVD
REIxIC8qIFNldFNlbGVjdGlvbkNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMzcxMiw3
ICszMzczOSw2IEBACiAJCQkJN0FGOUIyMDIxOENGQjJERjAwQzY0QkVGIC8qIFZUVFJlZ2lvbi5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk3QUY5QjIwNTE4Q0ZCMkRGMDBDNjRCRUYgLyogVlRUUmVn
aW9uTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QTkzODY4NTE4RENDMTQ1MDBCODI2M0Qg
LyogVlRUU2Nhbm5lci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1MUYxNzUwMjFGMzU4QjNCMDBD
NzQ5NTAgLyogSlNTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQTE0ODMyQjExODdGNjFFMTAwREE2M0E2IC8qIFdBS0FwcEtpdFN0dWJzLm0gaW4gU291
cmNlcyAqLywKIAkJCQlBMTQ4MzJCMzE4N0Y2MjkxMDBEQTYzQTYgLyogV0FLQ2xpcFZpZXcubSBp
biBTb3VyY2VzICovLAogCQkJCUExNDgzMkI1MTg3RjYyRkMwMERBNjNBNiAvKiBXQUtSZXNwb25k
ZXIubSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2Vi
Q29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IDA5ZmU4MWJhNDdjYTUzYzg3NzVjYjY2MjdhNzZkM2Iz
ZTI2Mjc5ZWIuLjcyMmVhMmU0OGUxZjMzZTIzNjBiZGI2MDA1NmMwMDJmOWM0YjQyNzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAg
LTM4LDYgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKGJhY2tpbmdNYXAp
IFwKICAgICBtYWNybyhib2R5KSBcCiAgICAgbWFjcm8oYnlvYlJlcXVlc3QpIFwKKyAgICBtYWNy
byhjYWNoZU1hcCkgXAorICAgIG1hY3JvKGNhY2hlTmFtZSkgXAogICAgIG1hY3JvKGNhbmNlbCkg
XAogICAgIG1hY3JvKGNsb25lQXJyYXlCdWZmZXIpIFwKICAgICBtYWNybyhjbG9uZUZvckpTKSBc
CkBAIC02Myw2ICs2NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhsb2NhbFN0
cmVhbXMpIFwKICAgICBtYWNybyhtYWtlVGhpc1R5cGVFcnJvcikgXAogICAgIG1hY3JvKG1ha2VH
ZXR0ZXJUeXBlRXJyb3IpIFwKKyAgICBtYWNybyhtYXRjaEFsbCkgXAogICAgIG1hY3JvKG1lZGlh
U3RyZWFtVHJhY2tDb25zdHJhaW50cykgXAogICAgIG1hY3JvKG9wZXJhdGlvbnMpIFwKICAgICBt
YWNybyhvd25lclJlYWRhYmxlU3RyZWFtKSBcCkBAIC0xMTMsNiArMTE2LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIG1hY3JvKHZpZXcpIFwKICAgICBtYWNybyh3ZWJSVENMZWdhY3lBUElF
bmFibGVkKSBcCiAgICAgbWFjcm8od3JpdGluZykgXAorICAgIG1hY3JvKENhY2hlKSBcCisgICAg
bWFjcm8oQ2FjaGVTdG9yYWdlKSBcCiAgICAgbWFjcm8oSGVhZGVycykgXAogICAgIG1hY3JvKE1l
ZGlhU3RyZWFtKSBcCiAgICAgbWFjcm8oTWVkaWFTdHJlYW1UcmFjaykgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCmluZGV4IDY2YzdmMDhmMGYyOGIw
NDZiYjRjMzVlOGU5YmYxOWZiZGYyYWJjNTUuLjJhODEzYjZhMTIwZGYzNThmMDhiZDI3MThjOTY1
NzM0MzAxZGVmNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3Zl
cmxheS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJJbnNwZWN0b3JPdmVybGF5LmgiCiAKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VQcm92aWRlci5o
IgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAiRWRpdG9yQ2xpZW50Lmgi
CiAjaW5jbHVkZSAiRWxlbWVudC5oIgpAQCAtODY1LDcgKzg2Niw4IEBAIFBhZ2UqIEluc3BlY3Rv
ck92ZXJsYXk6Om92ZXJsYXlQYWdlKCkKICAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmln
dXJhdGlvbigKICAgICAgICAgY3JlYXRlRW1wdHlFZGl0b3JDbGllbnQoKSwKICAgICAgICAgU29j
a2V0UHJvdmlkZXI6OmNyZWF0ZSgpLAotICAgICAgICBtYWtlVW5pcXVlUmVmPExpYldlYlJUQ1By
b3ZpZGVyPigpCisgICAgICAgIG1ha2VVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+KCksCisg
ICAgICAgIENhY2hlU3RvcmFnZVByb3ZpZGVyOjpjcmVhdGUoKQogICAgICk7CiAgICAgZmlsbFdp
dGhFbXB0eUNsaWVudHMocGFnZUNvbmZpZ3VyYXRpb24pOwogICAgIG1fb3ZlcmxheVBhZ2UgPSBz
dGQ6Om1ha2VfdW5pcXVlPFBhZ2U+KFdURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24pKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMGJmMWRj
NWNkMWY4ZmJjYzY2MWNmMWQ2YzAwYTRhOGNjMmM4OGFiCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DYWNoZVN0b3JhZ2VQcm92aWRlci5oCkBAIC0wLDAgKzEsNDEgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkNhY2hlU3RvcmFnZUNvbm5l
Y3Rpb24uaCIKKyNpbmNsdWRlICJTZXNzaW9uSUQuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRl
ZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdFQkNPUkVfRVhQT1JUIENhY2hl
U3RvcmFnZVByb3ZpZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+
IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiBjcmVhdGUo
KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IENhY2hlU3RvcmFnZVByb3ZpZGVyKTsgfQorICAgIHZp
cnR1YWwgUmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IGNyZWF0ZUNhY2hlU3RvcmFnZUNvbm5l
Y3Rpb24oU2Vzc2lvbklEKSB7IHJldHVybiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpjcmVhdGUo
KTsgfQorICAgIHZpcnR1YWwgfkNhY2hlU3RvcmFnZVByb3ZpZGVyKCkgeyB9OworfTsKKworfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZS5jcHAKaW5kZXggYzI2OTg3ZjhkY2IyZTllOTYwNmRhYTk3MmQyY2ZjYzdiZWNj
NWZiNy4uNzA0MWYxY2YyOTU5NTRlYWZmMDRkNmI4YTYxNjRmOGZhYWMwZDY3NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiQmFja0ZvcndhcmRDbGllbnQu
aCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJDU1NBbmlt
YXRpb25Db250cm9sbGVyLmgiCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCIKICNp
bmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRlICJD
b25zdGFudFByb3BlcnR5TWFwLmgiCkBAIC0yMjIsNiArMjIzLDcgQEAgUGFnZTo6UGFnZShQYWdl
Q29uZmlndXJhdGlvbiYmIHBhZ2VDb25maWd1cmF0aW9uKQogI2VuZGlmCiAgICAgLCBtX3NvY2tl
dFByb3ZpZGVyKFdURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uc29ja2V0UHJvdmlkZXIpKQogICAg
ICwgbV9hcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSgqV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi5h
cHBsaWNhdGlvbkNhY2hlU3RvcmFnZSkpCisgICAgLCBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyKFdU
Rk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uY2FjaGVTdG9yYWdlUHJvdmlkZXIpKQogICAgICwgbV9k
YXRhYmFzZVByb3ZpZGVyKCpXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLmRhdGFiYXNlUHJvdmlk
ZXIpKQogICAgICwgbV9wbHVnaW5JbmZvUHJvdmlkZXIoKldURk1vdmUocGFnZUNvbmZpZ3VyYXRp
b24ucGx1Z2luSW5mb1Byb3ZpZGVyKSkKICAgICAsIG1fc3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVy
KCpXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLnN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcikpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5oCmluZGV4IDkwOWYzNzkwMmQzM2UxZDBlZjNlNWE5YjRmNjRiYWI0ZGZhNWZmMGIu
LjVmYzg5Y2RjNTkyYzk0OWViMThkOWNlYTE3ZjYxZmJjZDM1NTEyMDMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5o
CkBAIC03Nyw2ICs3Nyw3IEBAIGNsYXNzIEFsdGVybmF0aXZlVGV4dENsaWVudDsKIGNsYXNzIEFw
cGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwogY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyOwogY2xh
c3MgQmFja0ZvcndhcmRDbGllbnQ7CitjbGFzcyBDYWNoZVN0b3JhZ2VQcm92aWRlcjsKIGNsYXNz
IENocm9tZTsKIGNsYXNzIENocm9tZUNsaWVudDsKIGNsYXNzIENvbG9yOwpAQCAtNTEwLDYgKzUx
MSw3IEBAIHB1YmxpYzoKIAogICAgIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlJiBhcHBsaWNhdGlv
bkNhY2hlU3RvcmFnZSgpIHsgcmV0dXJuIG1fYXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7IH0KICAg
ICBEYXRhYmFzZVByb3ZpZGVyJiBkYXRhYmFzZVByb3ZpZGVyKCkgeyByZXR1cm4gbV9kYXRhYmFz
ZVByb3ZpZGVyOyB9CisgICAgQ2FjaGVTdG9yYWdlUHJvdmlkZXImIGNhY2hlU3RvcmFnZVByb3Zp
ZGVyKCkgeyByZXR1cm4gbV9jYWNoZVN0b3JhZ2VQcm92aWRlcjsgfQogICAgIFNvY2tldFByb3Zp
ZGVyJiBzb2NrZXRQcm92aWRlcigpIHsgcmV0dXJuIG1fc29ja2V0UHJvdmlkZXI7IH0KIAogICAg
IFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlciYgc3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyKCkgeyBy
ZXR1cm4gbV9zdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIuZ2V0KCk7IH0KQEAgLTc4NCw2ICs3ODYs
NyBAQCBwcml2YXRlOgogCiAgICAgUmVmPFNvY2tldFByb3ZpZGVyPiBtX3NvY2tldFByb3ZpZGVy
OwogICAgIFJlZjxBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZT4gbV9hcHBsaWNhdGlvbkNhY2hlU3Rv
cmFnZTsKKyAgICBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+IG1fY2FjaGVTdG9yYWdlUHJvdmlk
ZXI7CiAgICAgUmVmPERhdGFiYXNlUHJvdmlkZXI+IG1fZGF0YWJhc2VQcm92aWRlcjsKICAgICBS
ZWY8UGx1Z2luSW5mb1Byb3ZpZGVyPiBtX3BsdWdpbkluZm9Qcm92aWRlcjsKICAgICBSZWY8U3Rv
cmFnZU5hbWVzcGFjZVByb3ZpZGVyPiBtX3N0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAKaW5kZXggMTEyM2RkNmQ0MDVhOTQ4
MTNhNGE3ODc0MmM3ZDY2ZDJjZjFiZWU3Yy4uZjFiODI3ZGNmYmFhZTZlNmM4ZGNjYWQ5ZDE4ZDQ5
Mzc5ZGM5NTFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJh
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAK
QEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgi
CiAjaW5jbHVkZSAiQmFja0ZvcndhcmRDbGllbnQuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VQ
cm92aWRlci5oIgogI2luY2x1ZGUgIkRhdGFiYXNlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJEaWFn
bm9zdGljTG9nZ2luZ0NsaWVudC5oIgogI2luY2x1ZGUgIkVkaXRvckNsaWVudC5oIgpAQCAtNDMs
MTAgKzQ0LDExIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFnZUNvbmZpZ3VyYXRpb246
OlBhZ2VDb25maWd1cmF0aW9uKFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYgZWRpdG9yQ2xpZW50
LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYgc29ja2V0UHJvdmlkZXIsIFVuaXF1ZVJlZjxMaWJXZWJS
VENQcm92aWRlcj4mJiBsaWJXZWJSVENQcm92aWRlcikKK1BhZ2VDb25maWd1cmF0aW9uOjpQYWdl
Q29uZmlndXJhdGlvbihVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmIGVkaXRvckNsaWVudCwgUmVm
PFNvY2tldFByb3ZpZGVyPiYmIHNvY2tldFByb3ZpZGVyLCBVbmlxdWVSZWY8TGliV2ViUlRDUHJv
dmlkZXI+JiYgbGliV2ViUlRDUHJvdmlkZXIsIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4mJiBj
YWNoZVN0b3JhZ2VQcm92aWRlcikKICAgICA6IGVkaXRvckNsaWVudChXVEZNb3ZlKGVkaXRvckNs
aWVudCkpCiAgICAgLCBzb2NrZXRQcm92aWRlcihXVEZNb3ZlKHNvY2tldFByb3ZpZGVyKSkKICAg
ICAsIGxpYldlYlJUQ1Byb3ZpZGVyKFdURk1vdmUobGliV2ViUlRDUHJvdmlkZXIpKQorICAgICwg
Y2FjaGVTdG9yYWdlUHJvdmlkZXIoV1RGTW92ZShjYWNoZVN0b3JhZ2VQcm92aWRlcikpCiB7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaAppbmRleCBmNTNhMTJjMzg3
ZWFmYjQwNGYyYTA2NjYwMjc1OWVjOWE3ZmMwZjVmLi5hODYyZDQzMDJlMDM2NDY0ZjkxMGE1N2Iw
MWQ3N2I2NGNjNmVmNDI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25m
aWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5o
CkBAIC0zNCw2ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFsdGVybmF0aXZl
VGV4dENsaWVudDsKIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwogY2xhc3MgQmFja0Zv
cndhcmRDbGllbnQ7CitjbGFzcyBDYWNoZVN0b3JhZ2VQcm92aWRlcjsKIGNsYXNzIENocm9tZUNs
aWVudDsKIGNsYXNzIENvbnRleHRNZW51Q2xpZW50OwogY2xhc3MgRGF0YWJhc2VQcm92aWRlcjsK
QEAgLTU4LDcgKzU5LDcgQEAgY2xhc3MgV2ViR0xTdGF0ZVRyYWNrZXI7CiBjbGFzcyBQYWdlQ29u
ZmlndXJhdGlvbiB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNvbmZpZ3VyYXRpb24p
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBQ
YWdlQ29uZmlndXJhdGlvbihVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmLCBSZWY8U29ja2V0UHJv
dmlkZXI+JiYsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJik7CisgICAgV0VCQ09SRV9F
WFBPUlQgUGFnZUNvbmZpZ3VyYXRpb24oVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiwgUmVmPFNv
Y2tldFByb3ZpZGVyPiYmLCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYsIFJlZjxDYWNo
ZVN0b3JhZ2VQcm92aWRlcj4mJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgflBhZ2VDb25maWd1cmF0
aW9uKCk7CiAKICAgICBBbHRlcm5hdGl2ZVRleHRDbGllbnQqIGFsdGVybmF0aXZlVGV4dENsaWVu
dCB7IG51bGxwdHIgfTsKQEAgLTg3LDYgKzg4LDcgQEAgcHVibGljOgogCiAgICAgUmVmUHRyPEFw
cGxpY2F0aW9uQ2FjaGVTdG9yYWdlPiBhcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTsKICAgICBSZWZQ
dHI8RGF0YWJhc2VQcm92aWRlcj4gZGF0YWJhc2VQcm92aWRlcjsKKyAgICBSZWY8Q2FjaGVTdG9y
YWdlUHJvdmlkZXI+IGNhY2hlU3RvcmFnZVByb3ZpZGVyOwogICAgIFJlZlB0cjxQbHVnaW5JbmZv
UHJvdmlkZXI+IHBsdWdpbkluZm9Qcm92aWRlcjsKICAgICBSZWZQdHI8U3RvcmFnZU5hbWVzcGFj
ZVByb3ZpZGVyPiBzdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI7CiAgICAgUmVmUHRyPFVzZXJDb250
ZW50UHJvdmlkZXI+IHVzZXJDb250ZW50UHJvdmlkZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBo
aWNzL1NWR0ltYWdlLmNwcAppbmRleCA3ODZlOGY3YTdiY2E2MDgwOWE1NTViNjVmODM1YzJhNTBh
MDA4MmU4Li44MjU5YjJmOGUyODY2M2IyMTdjZGVhMDRjMmY4ZWMzODM3Y2Q3OGY0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTVkdJbWFnZS5oIgogCisjaW5jbHVkZSAiQ2Fj
aGVTdG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJDb21t
b25WTS5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgpAQCAtNDI5LDcgKzQzMCw4IEBAIEVuY29k
ZWREYXRhU3RhdHVzIFNWR0ltYWdlOjpkYXRhQ2hhbmdlZChib29sIGFsbERhdGFSZWNlaXZlZCkK
ICAgICAgICAgUGFnZUNvbmZpZ3VyYXRpb24gcGFnZUNvbmZpZ3VyYXRpb24oCiAgICAgICAgICAg
ICBjcmVhdGVFbXB0eUVkaXRvckNsaWVudCgpLAogICAgICAgICAgICAgU29ja2V0UHJvdmlkZXI6
OmNyZWF0ZSgpLAotICAgICAgICAgICAgbWFrZVVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4o
KQorICAgICAgICAgICAgbWFrZVVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4oKSwKKyAgICAg
ICAgICAgIENhY2hlU3RvcmFnZVByb3ZpZGVyOjpjcmVhdGUoKQogICAgICAgICApOwogICAgICAg
ICBmaWxsV2l0aEVtcHR5Q2xpZW50cyhwYWdlQ29uZmlndXJhdGlvbik7CiAgICAgICAgIG1fY2hy
b21lQ2xpZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxTVkdJbWFnZUNocm9tZUNsaWVudD4odGhpcyk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktp
dC9DTWFrZUxpc3RzLnR4dAppbmRleCA3ZTMxZDUyYjA1NzkzYzE2ZTUzZTI1NjExMGE2M2JmZWFj
ZWE4MzlhLi45Yjg1ODNlMzhiNmVjYWNkZjc3MDFlMDA5MjIwYjhiZjgwY2EzOTNlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvQ01h
a2VMaXN0cy50eHQKQEAgLTUyLDYgKzUyLDcgQEAgc2V0KFdlYktpdDJfSU5DTFVERV9ESVJFQ1RP
UklFUwogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0FwcGxlUGF5IgogICAgICIke1dF
QktJVDJfRElSfS9XZWJQcm9jZXNzL0FwcGxpY2F0aW9uQ2FjaGUiCiAgICAgIiR7V0VCS0lUMl9E
SVJ9L1dlYlByb2Nlc3MvQXV0b21hdGlvbiIKKyAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vz
cy9DYWNoZSIKICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9Db29raWVzIgogICAgICIk
e1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0RhdGFiYXNlcyIKICAgICAiJHtXRUJLSVQyX0RJUn0v
V2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTA5YTVlY2Q3ZDdiMWFiMDIxNGIyOTE5
NzA0OTYxODg3MDczNjQxMi4uYTgzODgxNjBkMWUxYjg5ZTQ4MGIxYzY0MzNmMGY3M2E1MDM1Zjhm
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC04OTEsNiArODkxLDcgQEAKIAkJNDEzMDc1QjIxREU4NUY1ODAwMzlFQzY5IC8qIExpYldl
YlJUQ1NvY2tldEZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxMzA3NUE2MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENTb2NrZXRGYWN0
b3J5LmggKi87IH07CiAJCTQxMzA3NUIzMURFODVGNTgwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92
aWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTMwNzVBNzFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuY3BwICovOyB9Owog
CQk0MTMwNzVCNDFERTg1RjU4MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUE4MURFODVFRTcw
MDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5oICovOyB9OworCQk0MUQxMjlEQTFGM0QxMDE4
MDBEMTVFNDcgLyogV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDEyOUQ5MUYzRDEwMTQwMEQxNUU0NyAvKiBX
ZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oICovOyB9OwogCQk0MURDNDU5NjFFM0Q2RTIyMDBCMTFG
NTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MURDNDU5NDFFM0Q2RTFFMDBCMTFGNTEgLyogTmV0d29ya1JUQ1By
b3ZpZGVyLmggKi87IH07CiAJCTQxREM0NTk3MUUzRDZFMjIwMEIxMUY1MSAvKiBOZXR3b3JrUlRD
UHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDFEQzQ1OTUxRTNENkUxRTAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5jcHAgKi87
IH07CiAJCTQxREM0NTlCMUUzREJCMjgwMEIxMUY1MSAvKiBMaWJXZWJSVENTb2NrZXRDbGllbnQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEQzQ1
OTkxRTNEQkIyNDAwQjExRjUxIC8qIExpYldlYlJUQ1NvY2tldENsaWVudC5jcHAgKi87IH07CkBA
IC0zMTQyLDYgKzMxNDMsNyBAQAogCQk0MTMwNzVBNzFERTg1RUU3MDAzOUVDNjkgLyogTGliV2Vi
UlRDUHJvdmlkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBsaW5lRW5kaW5n
ID0gMDsgbmFtZSA9IExpYldlYlJUQ1Byb3ZpZGVyLmNwcDsgcGF0aCA9IE5ldHdvcmsvd2VicnRj
L0xpYldlYlJUQ1Byb3ZpZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFn
ZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07CiAJCTQxMzA3NUE4
MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0gTGliV2ViUlRDUHJvdmlkZXIuaDsgcGF0
aCA9IE5ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcub2Jq
Y3BwOyB9OwogCQk0MUFDODY4MTFFMDQyRTUzMDAzMDMwNzQgLyogV2ViUlRDUmVzb2x2ZXIubWVz
c2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBsaW5lRW5kaW5nID0gMDsgbmFtZSA9IFdlYlJUQ1Jl
c29sdmVyLm1lc3NhZ2VzLmluOyBwYXRoID0gTmV0d29yay93ZWJydGMvV2ViUlRDUmVzb2x2ZXIu
bWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0
aW9uSWRlbnRpZmllciA9ICI8bm9uZT4iOyB9OworCQk0MUQxMjlEOTFGM0QxMDE0MDBEMTVFNDcg
LyogV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ2FjaGVTdG9y
YWdlUHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFEQzQ1OTQxRTNE
NkUxRTAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBOZXR3b3JrUlRDUHJvdmlkZXIuaDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNz
L3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDFEQzQ1OTUxRTNENkUxRTAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBOZXR3b3JrUlRDUHJvdmlkZXIuY3Bw
OyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxREM0NTk4MUUzRDZFRDYwMEIxMUY1MSAvKiBO
ZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gTmV0
d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRj
L05ldHdvcmtSVENQcm92aWRlci5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTU5MTIsNiArNTkxNCwxNCBAQAogCQkJbmFtZSA9IHdlYnJ0YzsKIAkJCXNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTQxRDEyOUQ4MUYzRDEwMTQwMEQxNUU0NyAvKiBDYWNo
ZSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNDFEMTI5
RDkxRjNEMTAxNDAwRDE1RTQ3IC8qIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmggKi8sCisJCQkp
OworCQkJcGF0aCA9IENhY2hlOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJ
NDQ1MEFFQkUxREMzRkFBQzAwOTk0M0YyIC8qIGNvY29hICovID0gewogCQkJaXNhID0gUEJYR3Jv
dXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTY1OTIsNiArNjYwMiw3IEBACiAJCQljaGlsZHJlbiA9
ICgKIAkJCQkxQUIxRjc3MDFEMUIyRjVEMDA3QzlCRDEgLyogQXBwbGVQYXkgKi8sCiAJCQkJMUMw
QTE5NDMxQzhGRjFBODAwRkUwRUJCIC8qIEF1dG9tYXRpb24gKi8sCisJCQkJNDFEMTI5RDgxRjNE
MTAxNDAwRDE1RTQ3IC8qIENhY2hlICovLAogCQkJCTdDNkU3MEY4MThCMkQ0N0UwMEYyNEUyRSAv
KiBjb2NvYSAqLywKIAkJCQkzMzA5MzQ0QjEzMTVCOTNBMDA5N0E3QkMgLyogQ29va2llcyAqLywK
IAkJCQk1MTJBOTc1NDE4MERGOTI3MDAzOUExNDkgLyogRGF0YWJhc2VzICovLApAQCAtODY4OSw2
ICs4NzAwLDcgQEAKIAkJCQlCQzcyQkExRTExRTY0OTA3MDAxRUI0RUEgLyogV2ViQmFja0Zvcndh
cmRMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MThEMkNBRTEyRDUxNTNCMDAzQkI5M0IgLyog
V2ViQmFja0ZvcndhcmRMaXN0SXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM3MkI5RkIxMUU2
NDc2QjAwMUVCNEVBIC8qIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmggaW4gSGVhZGVycyAqLywK
KwkJCQk0MUQxMjlEQTFGM0QxMDE4MDBEMTVFNDcgLyogV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDRjUwNzI4MTI0MzI5QUEwMDU5NTVBRSAvKiBXZWJDZXJ0
aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDMyRDc1MTBGNDM3OEQwMDU4QzE1
QSAvKiBXZWJDaHJvbWVDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTNGODdCOUJFMTU4OTQw
MTkwMDkwRkY2MiAvKiBXZWJDb2xvckNob29zZXIuaCBpbiBIZWFkZXJzICovLApAQCAtODgzMSw3
ICs4ODQzLDYgQEAKIAkJCQlCQ0UwRTQyNTE2OEI3QTI4MDA1N0U2NkEgLyogV2ViUHJvY2Vzc1N1
cHBsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMUUwOTM0MTg4NjFEMzgwMEQyREM0OSAv
KiBXZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMkY1ODlE
MTJBODgzODgwMDYyOTUzMCAvKiBXZWJQcm90ZWN0aW9uU3BhY2UuaCBpbiBIZWFkZXJzICovLAot
CQkJCTUxQkVCNjJDMUYzQTVBRDcwMDUwMjlCOSAvKiBXZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTM3OTQ4NDA0MTUwQzM1MDYwMEU1MkNFOSAvKiBXZWJSZW5k
ZXJMYXllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzc2MDg4MUYxNTA0MTNFOTAwRkM4MkM3IC8q
IFdlYlJlbmRlck9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwQUZGQkExNjU0MjA0ODAw
MUJBMDVFIC8qIFdlYlJlc291cmNlTG9hZGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTg4NDMsNiAr
ODg1NCw3IEBACiAJCQkJNDFEQzQ1OUYxRTNEQkRBNTAwQjExRjUxIC8qIFdlYlJUQ1NvY2tldC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJN0MzNjFENzMxOTI3RkEzNjAwMzZBNTlEIC8qIFdlYlNjcmlw
dE1lc3NhZ2VIYW5kbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlEM0I5NDg0OTExRkY0QjY1MDAw
MzJCMzkgLyogV2ViU2VhcmNoUG9wdXBNZW51LmggaW4gSGVhZGVycyAqLywKKwkJCQk1MUJFQjYy
QzFGM0E1QUQ3MDA1MDI5QjkgLyogV2ViU2VydmljZVdvcmtlclByb3ZpZGVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxQTQ4MzJENzFBOUNERjk2MDA4QjRERkUgLyogV2Vic2l0ZURhdGEuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFBNDgzMkQxMUE5QkRDMkYwMDhCNERGRSAvKiBXZWJzaXRlRGF0YVJl
Y29yZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE1M0MyQUExQTMyNTczMDAwNEU4QzcwIC8qIFdl
YnNpdGVEYXRhU3RvcmUuaCBpbiBIZWFkZXJzICovLApAQCAtMTAzNzEsNyArMTAzODMsNiBAQAog
CQkJCTJEQTk0NEExMTg4NEU0RjAwMEVEODZEQiAvKiBXZWJJT1NFdmVudEZhY3RvcnkubW0gaW4g
U291cmNlcyAqLywKIAkJCQlDMDMzN0REMzEyN0EyQTBFMDA4RkY0RjQgLyogV2ViS2V5Ym9hcmRF
dmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTYyODBGMzE5MTk5ODJBMDA2QUQ5RjkgLyog
V2ViS2l0Lm0gaW4gU291cmNlcyAqLywKLQkJCQk1MUJFQjYyQjFGM0E1QUQ3MDA1MDI5QjkgLyog
V2ViU2VydmljZVdvcmtlclByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDOUJBNTA0
MTY5N0M0NTMwMEU0NDYxNiAvKiBXZWJLaXQySW5pdGlhbGl6ZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk0NjUyNTBFNjFFQ0Y1MkRDMDAyMDI1Q0IgLyogV2ViS2l0MkluaXRpYWxpemVDb2NvYS5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTUxRkIwOEZGMTYzOURFMUEwMEVDMzI0QSAvKiBXZWJMb2Fk
ZXJTdHJhdGVneS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTEwNDY5LDYgKzEwNDgwLDcgQEAKIAkJ
CQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUMgLyogV2ViUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDMzYxRDcyMTkyN0ZBMzYwMDM2QTU5RCAvKiBXZWJT
Y3JpcHRNZXNzYWdlSGFuZGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlEM0I5NDg0ODExRkY0
QjY1MDAwMzJCMzkgLyogV2ViU2VhcmNoUG9wdXBNZW51LmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTUxQkVCNjJCMUYzQTVBRDcwMDUwMjlCOSAvKiBXZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMUE0ODMyRDYxQTlDREY5NjAwOEI0REZFIC8qIFdlYnNpdGVE
YXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNDgzMkQ5MUE5RDFGRDIwMDhCNERGRSAvKiBX
ZWJzaXRlRGF0YVJlY29yZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTUzQzJBOTFBMzI1NzJC
MDA0RThDNzAgLyogV2Vic2l0ZURhdGFTdG9yZS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9DYWNoZS9XZWJDYWNoZVN0b3JhZ2VQcm92aWRl
ci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0NhY2hlL1dlYkNhY2hlU3RvcmFnZVByb3Zp
ZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYTQyMjE2YTIwODZjZTY4ODBlMGUzOGMxNmRhOTg1Yjg3ZTA2Njdm
YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9DYWNoZS9XZWJD
YWNoZVN0b3JhZ2VQcm92aWRlci5oCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2luY2x1ZGUgPFdlYkNvcmUvQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaD4KKwor
bmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyIGZpbmFs
IDogcHVibGljIFdlYkNvcmU6OkNhY2hlU3RvcmFnZVByb3ZpZGVyIHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUmVmPFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyPiBjcmVhdGUoKSB7IHJldHVybiBhZG9w
dFJlZigqbmV3IFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyKTsgfQorfTsKKworfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAxOTA5MWI1OTAzZmE1
NGNkZWI5NzMzNjM4ODA5ZDU1ZjUzYzQ5YjY1Li5kZGEwMDFhZWNiMDEyY2ZmNzVhYWIxYjA2NGE4
ZTg5ODVjMDg3NzM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcApAQCAtNjgsNiArNjgsNyBAQAogI2luY2x1ZGUgIldlYkFsdGVybmF0aXZlVGV4dENs
aWVudC5oIgogI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uaCIKICNpbmNsdWRlICJX
ZWJCYWNrRm9yd2FyZExpc3RQcm94eS5oIgorI2luY2x1ZGUgIldlYkNhY2hlU3RvcmFnZVByb3Zp
ZGVyLmgiCiAjaW5jbHVkZSAiV2ViQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViQ29sb3JD
aG9vc2VyLmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnUuaCIKQEAgLTM3MSw3ICszNzIsOCBA
QCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1l
dGVycyYmIHBhcmFtZXRlcnMpCiAgICAgUGFnZUNvbmZpZ3VyYXRpb24gcGFnZUNvbmZpZ3VyYXRp
b24oCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViRWRpdG9yQ2xpZW50Pih0aGlzKSwKICAgICAg
ICAgV2ViU29ja2V0UHJvdmlkZXI6OmNyZWF0ZSgpLAotICAgICAgICBtYWtlVW5pcXVlUmVmPFdl
YktpdDo6TGliV2ViUlRDUHJvdmlkZXI+KCkKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJLaXQ6
OkxpYldlYlJUQ1Byb3ZpZGVyPigpLAorICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5j
YWNoZVN0b3JhZ2VQcm92aWRlcigpCiAgICAgKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJv
bWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50KCp0aGlzKTsKICNpZiBFTkFCTEUoQ09OVEVY
VF9NRU5VUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCAzNzgy
Mjg2NmEyN2Q3MGQ2YTRhY2RlOGQyNmQ0NzQ5NDkxNWFmZDAxLi44NzBmM2NkZTg1MzdjNjI4OWZj
MTc1ZjI3YmU3YzlkNDg2YzA3YTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuY3BwCkBAIC00NCw2ICs0NCw3IEBACiAjaW5jbHVkZSAiU3RhdGlzdGljc0RhdGEuaCIKICNp
bmNsdWRlICJVc2VyRGF0YS5oIgogI2luY2x1ZGUgIldlYkF1dG9tYXRpb25TZXNzaW9uUHJveHku
aCIKKyNpbmNsdWRlICJXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgogI2luY2x1ZGUgIldlYkNv
bm5lY3Rpb25Ub1VJUHJvY2Vzcy5oIgogI2luY2x1ZGUgIldlYkNvb2tpZU1hbmFnZXIuaCIKICNp
bmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKQEAgLTE2MCw2ICsxNjEsNyBAQCBXZWJQ
cm9jZXNzOjpXZWJQcm9jZXNzKCkKICNlbmRpZgogICAgICwgbV93ZWJJbnNwZWN0b3JJbnRlcnJ1
cHREaXNwYXRjaGVyKFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXI6OmNyZWF0ZSgpKQog
ICAgICwgbV93ZWJMb2FkZXJTdHJhdGVneSgqbmV3IFdlYkxvYWRlclN0cmF0ZWd5KQorICAgICwg
bV9jYWNoZVN0b3JhZ2VQcm92aWRlcihXZWJDYWNoZVN0b3JhZ2VQcm92aWRlcjo6Y3JlYXRlKCkp
CiAgICAgLCBtX2Ruc1ByZWZldGNoSHlzdGVyZXJpcyhbdGhpc10oSHlzdGVyZXNpc1N0YXRlIHN0
YXRlKSB7IGlmIChzdGF0ZSA9PSBIeXN0ZXJlc2lzU3RhdGU6OlN0b3BwZWQpIG1fZG5zUHJlZmV0
Y2hlZEhvc3RzLmNsZWFyKCk7IH0pCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAg
ICAgLCBtX3BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcihQbHVnaW5Qcm9jZXNzQ29ubmVj
dGlvbk1hbmFnZXI6OmNyZWF0ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgK
aW5kZXggY2YyYWI4MTNiMzc5MDM3M2IyZGEwZmE2ZmFiZjdiYWM0N2IyZjQ5Ny4uMTIzYzRiYjE5
OGNhZjcwY2Q5NzZmNjk1OTlmNzc3OTBiMWQwYmI3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oCkBAIC04MCw2ICs4MCw3IEBAIGNsYXNzIE9iakNPYmplY3RHcmFwaDsKIGNs
YXNzIFVzZXJEYXRhOwogY2xhc3MgV2F5bGFuZENvbXBvc2l0b3JEaXNwbGF5OwogY2xhc3MgV2Vi
QXV0b21hdGlvblNlc3Npb25Qcm94eTsKK2NsYXNzIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyOwog
Y2xhc3MgV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzOwogY2xhc3MgV2ViRnJhbWU7CiBjbGFzcyBX
ZWJMb2FkZXJTdHJhdGVneTsKQEAgLTIyMiw2ICsyMjMsOCBAQCBwdWJsaWM6CiAKICAgICBXZWJB
dXRvbWF0aW9uU2Vzc2lvblByb3h5KiBhdXRvbWF0aW9uU2Vzc2lvblByb3h5KCkgeyByZXR1cm4g
bV9hdXRvbWF0aW9uU2Vzc2lvblByb3h5LmdldCgpOyB9CiAKKyAgICBXZWJDYWNoZVN0b3JhZ2VQ
cm92aWRlciYgY2FjaGVTdG9yYWdlUHJvdmlkZXIoKSB7IHJldHVybiBtX2NhY2hlU3RvcmFnZVBy
b3ZpZGVyLmdldCgpOyB9CisKIHByaXZhdGU6CiAgICAgV2ViUHJvY2VzcygpOwogICAgIH5XZWJQ
cm9jZXNzKCk7CkBAIC0zNzUsNiArMzc4LDggQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8TmV0d29y
a1Byb2Nlc3NDb25uZWN0aW9uPiBtX25ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjsKICAgICBXZWJM
b2FkZXJTdHJhdGVneSYgbV93ZWJMb2FkZXJTdHJhdGVneTsKIAorICAgIFJlZjxXZWJDYWNoZVN0
b3JhZ2VQcm92aWRlcj4gbV9jYWNoZVN0b3JhZ2VQcm92aWRlcjsKKwogI2lmIFVTRShMSUJXRUJS
VEMpCiAgICAgc3RkOjp1bmlxdWVfcHRyPExpYldlYlJUQ05ldHdvcms+IG1fbGliV2ViUlRDTmV0
d29yazsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
CmluZGV4IDFkNDliNDlmNDY4MDkzMWI5ZTlkZDA3YmZlMDEwODI4NTBjYzIyYmYuLjQ0OTJmNThk
NWY1MzY0ZGEwZGE3NTAyMGY0ZTU0ZGZlZTAyMDYyMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTEyNCw2ICsxMjQsNyBAQAogI2ltcG9ydCA8V2Vi
Q29yZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9CYWNrRm9y
d2FyZENvbnRyb2xsZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ1NTQW5pbWF0aW9uQ29udHJvbGxl
ci5oPgorI2ltcG9ydCA8V2ViQ29yZS9DYWNoZVN0b3JhZ2VQcm92aWRlci5oPgogI2ltcG9ydCA8
V2ViQ29yZS9DaHJvbWUuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29sb3JNYWMuaD4KICNpbXBvcnQg
PFdlYkNvcmUvRGF0YWJhc2VNYW5hZ2VyLmg+CkBAIC0xNDEzLDcgKzE0MTQsOCBAQCBzdGF0aWMg
dm9pZCBXZWJLaXRJbml0aWFsaXplR2FtZXBhZFByb3ZpZGVySWZOZWNlc3NhcnkoKQogICAgIFBh
Z2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uKAogICAgICAgICBtYWtlVW5pcXVlUmVm
PFdlYkVkaXRvckNsaWVudD4oc2VsZiksCiAgICAgICAgIFNvY2tldFByb3ZpZGVyOjpjcmVhdGUo
KSwKLSAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpMaWJXZWJSVENQcm92aWRlcj4oKQor
ICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkxpYldlYlJUQ1Byb3ZpZGVyPigpLAorICAg
ICAgICBXZWJDb3JlOjpDYWNoZVN0b3JhZ2VQcm92aWRlcjo6Y3JlYXRlKCkKICAgICApOwogI2lm
ICFQTEFURk9STShJT1MpCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0gbmV3
IFdlYkNocm9tZUNsaWVudChzZWxmKTsKQEAgLTE2NzYsNyArMTY3OCw4IEBAIHN0YXRpYyB2b2lk
IFdlYktpdEluaXRpYWxpemVHYW1lcGFkUHJvdmlkZXJJZk5lY2Vzc2FyeSgpCiAgICAgUGFnZUNv
bmZpZ3VyYXRpb24gcGFnZUNvbmZpZ3VyYXRpb24oCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2Vi
RWRpdG9yQ2xpZW50PihzZWxmKSwKICAgICAgICAgU29ja2V0UHJvdmlkZXI6OmNyZWF0ZSgpLAot
ICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkxpYldlYlJUQ1Byb3ZpZGVyPigpCisgICAg
ICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXI+KCksCisgICAgICAg
IFdlYkNvcmU6OkNhY2hlU3RvcmFnZVByb3ZpZGVyOjpjcmVhdGUoKQogICAgICk7CiAgICAgcGFn
ZUNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudElPUyhzZWxm
KTsKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDVlMTQwYTBjMjQwZGU0NzdjYzVh
OTAxNTM0YjA2NGJhMjEyYjdjZmYuLjhlOWRjNzEwOWYyNDFkOWZhOTFiMzk2ZTAyZGRiMzQ0MWE0
OTMzNmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNy0wOC0xMCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRkaW5nIGdlbmVyaWMg
c3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6IFNr
aXBwaW5nIGEgdGVzdCB0aGF0IHdvdWxkIHRpbWVvdXQgb3RoZXJ3aXNlIGR1ZSB0byB0aGUgY3Vy
cmVudCBpbXBsZW1lbnRhdGlvbiBsaW1pdGF0aW9ucy4KKwogMjAxNy0wOC0xMCAgTmFuIFdhbmcg
IDxuX3dhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIExheW91dCB0ZXN0IGFjY2Vzc2liaWxpdHkv
cHJlc3MtdGFyZ2V0LXVzZXMtdGV4dC1kZXNjZW5kYW50LW5vZGUuaHRtbCBpcyBmbGFreS4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGE4YmUyNmNkNmFhY2NmNTcyMTUzZjgzNjYx
ZmY0MTlmM2E5Mjk0MmEuLjA4YjFiZGYyNTI2ZjI0ZmU0M2MwMmEyNzc4OTk2YzQ0Y2FiMDQ0ZTEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTA4
LTEwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbQ2FjaGUg
QVBJXSBBZGRpbmcgZ2VuZXJpYyBzdXBwb3J0IGZvciBDYWNoZVN0b3JhZ2UgYW5kIENhY2hlIG1l
dGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NTQ1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3
b3JrZXIvY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3Rv
cmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLmh0
dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
Y2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQ6CisK
IDIwMTctMDgtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBJ
bXBvcnQgYmVhY29uL2hlYWRlcnMvaGVhZGVyLWNvbnRlbnQtdHlwZS5odG1sIGZyb20gdXBzdHJl
YW0gV1BUCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3NzU3YWE1MWI0ZmRlMjllYzdkYTJiZTFlOGM5
YTNmZTEyYTM4MmE0Li4zNzVlNGNiMWU1ZmEyODgzZDM1M2RmMzA2NGMyNGIxODBmYTlhNTk5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEyMSw3ICsxMjEsNyBAQCBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zdHViLTQuNi4yLWNhY2hlLmh0bWwgWyBQYXNz
IF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3N0dWIt
NC42LjMtY2FjaGUtc3RvcmFnZS5odG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlIFsgUGFzcyBdCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dp
bmRvdyBbIFBhc3MgRmFpbHVyZSBdCi0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UvY29tbW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0K
IAogIyB0ZXh0YXJlYS5hbmltYXRlIGlzIG5vdCBzdXBwb3J0ZWQKIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy11aS0zL2NhcmV0LWNvbG9yLTAxOC5odG1sIFsgU2tpcCBd
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY3JlZGVudGlhbHMu
aHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zZXJ2aWNld29ya2VyL2NyZWRl
bnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAwNzYxNjUwZGJjNDFlOGJkMTVlNjRlNDdl
MzA4ZjJkYzMyYWI5ZTViLi4zOGU5NTIzOTdjMzQ2MTkyOGYxZWYxZWRmN2FiZWUzMGNlMzgxMjc3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY3JlZGVudGlhbHMu
aHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9j
cmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgQ2Fj
aGUgQVBJIG1hdGNoaW5nIGluY2x1ZGVzIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorRkFJTCBDYWNoZSBBUEkgbWF0Y2hpbmcgaW5jbHVkZXMgY3JlZGVudGlhbHMgYXNzZXJ0
X3VucmVhY2hlZDogdW5yZWdpc3RlciBzaG91bGQgbm90IGZhaWw6IHNlcnZpY2VXb3JrZXIuZ2V0
UmVnaXN0cmF0aW9uKCkgaXMgbm90IHlldCBpbXBsZW1lbnRlZCBSZWFjaGVkIHVucmVhY2hhYmxl
IGNvZGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFn
ZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNo
ZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBmZGVhZmU5MzY2ZTlmNTk5
OTQ3ZDIwMzU5YWYwYTU3NGIzYzJkNmYzLi43MWY1ZTcwZDJiMmMzNmQ1NTc0YjUzMTFhYjBjYWU2
ZWJjNjkwZmVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9y
YWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRv
dy9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtNCw4ICs0LDggQEAg
RkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBmcm9tIG9uZSBvZiBtYW55IGNhY2hlcyBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24KIEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBvbmUg
b2YgbWFueSBjYWNoZXMgYnkgbmFtZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIEZBSUwgQ2Fj
aGVTdG9yYWdlTWF0Y2ggYSBzdHJpbmcgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
IEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggYSBIRUFEIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGVkIGVudHJ5IHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hl
cyBhdmFpbGFibGUgYnV0IG5hbWUgcHJvdmlkZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitQ
QVNTIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGVkIGVudHJ5IAorUEFTUyBDYWNoZVN0
b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlcyBhdmFpbGFibGUgYnV0IG5hbWUgcHJvdmlkZWQgCiBG
QUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggZW1wdHkgY2FjaGUgbmFtZSBwcm92aWRlZCBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKIEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggc3VwcG9ydHMgaWdu
b3JlU2VhcmNoIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgogRkFJTCBDYWNoZS5tYXRjaCBzdXBw
b3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0
CmluZGV4IDAwMWU2ZTMzYmQ3YWIzNGVhNzM1YWNhZGY5NDIwY2FlMTA4MjliNjEuLjFhZDQ2MDAy
OGRhNzY5ZWMxOTgxNGUzMTBhZDBhMDA3OGUzZTc3OWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0
b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2Nh
Y2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC00
LDkgKzQsOSBAQCBGQUlMIENhY2hlU3RvcmFnZS5kZWxldGUgZG9vbXMsIGJ1dCBkb2VzIG5vdCBk
ZWxldGUgaW1tZWRpYXRlbHkgcHJvbWlzZV90ZXN0OiBVbgogRkFJTCBDYWNoZVN0b3JhZ2Uub3Bl
biB3aXRoIGFuIGVtcHR5IG5hbWUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBQQVNTIENhY2hl
U3RvcmFnZS5vcGVuIHdpdGggbm8gYXJndW1lbnRzIAogRkFJTCBDYWNoZVN0b3JhZ2UuaGFzIHdp
dGggZXhpc3RpbmcgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3Rv
cmFnZS5oYXMgd2l0aCBub25leGlzdGVudCBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
K1BBU1MgQ2FjaGVTdG9yYWdlLmhhcyB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIAogRkFJTCBDYWNo
ZVN0b3JhZ2Uub3BlbiB3aXRoIGV4aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgogRkFJTCBDYWNoZVN0b3JhZ2UuZGVsZXRlIHdpdGggZXhpc3RpbmcgY2FjaGUgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBub25leGlzdGVu
dCBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK1BBU1MgQ2FjaGVTdG9yYWdlLmRlbGV0
ZSB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIAogRkFJTCBDYWNoZVN0b3JhZ2UgbmFtZXMgYXJlIERP
TVN0cmluZ3Mgbm90IFVTVlN0cmluZ3MgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS1tYXRj
aC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggZmRlYWZlOTM2NmU5ZjU5OTk0N2QyMDM1OWFmMGE1
NzRiM2MyZDZmMy4uNzFmNWU3MGQyYjJjMzZkNTU3NGI1MzExYWIwY2FlNmViYzY5MGZlZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRw
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFn
ZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTQsOCArNCw4IEBAIEZBSUwgQ2FjaGVTdG9y
YWdlTWF0Y2ggZnJvbSBvbmUgb2YgbWFueSBjYWNoZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIGZyb20gb25lIG9mIG1hbnkgY2FjaGVz
IGJ5IG5hbWUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNo
IGEgc3RyaW5nIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBGQUlMIENhY2hlU3Rv
cmFnZU1hdGNoIGEgSEVBRCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBD
YWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlZCBlbnRyeSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNoZXMgYXZhaWxhYmxlIGJ1
dCBuYW1lIHByb3ZpZGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorUEFTUyBDYWNoZVN0b3Jh
Z2VNYXRjaCB3aXRoIG5vIGNhY2hlZCBlbnRyeSAKK1BBU1MgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0
aCBubyBjYWNoZXMgYXZhaWxhYmxlIGJ1dCBuYW1lIHByb3ZpZGVkIAogRkFJTCBDYWNoZVN0b3Jh
Z2VNYXRjaCB3aXRoIGVtcHR5IGNhY2hlIG5hbWUgcHJvdmlkZWQgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHN1cHBvcnRzIGlnbm9yZVNlYXJjaCBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKIEZBSUwgQ2FjaGUubWF0Y2ggc3VwcG9ydHMgaWdub3JlTWV0
aG9kIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFn
ZS93b3JrZXIvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9y
YWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAwMDFlNmUz
M2JkN2FiMzRlYTczNWFjYWRmOTQyMGNhZTEwODI5YjYxLi4xYWQ0NjAwMjhkYTc2OWVjMTk4MTRl
MzEwYWQwYTAwNzhlM2U3NzllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9j
YWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dv
cmtlci9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtNCw5ICs0LDkgQEAgRkFJ
TCBDYWNoZVN0b3JhZ2UuZGVsZXRlIGRvb21zLCBidXQgZG9lcyBub3QgZGVsZXRlIGltbWVkaWF0
ZWx5IHByb21pc2VfdGVzdDogVW4KIEZBSUwgQ2FjaGVTdG9yYWdlLm9wZW4gd2l0aCBhbiBlbXB0
eSBuYW1lIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgogUEFTUyBDYWNoZVN0b3JhZ2Uub3BlbiB3
aXRoIG5vIGFyZ3VtZW50cyAKIEZBSUwgQ2FjaGVTdG9yYWdlLmhhcyB3aXRoIGV4aXN0aW5nIGNh
Y2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2UuaGFzIHdpdGgg
bm9uZXhpc3RlbnQgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitQQVNTIENhY2hlU3Rv
cmFnZS5oYXMgd2l0aCBub25leGlzdGVudCBjYWNoZSAKIEZBSUwgQ2FjaGVTdG9yYWdlLm9wZW4g
d2l0aCBleGlzdGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIEZBSUwgQ2FjaGVT
dG9yYWdlLmRlbGV0ZSB3aXRoIGV4aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgotRkFJTCBDYWNoZVN0b3JhZ2UuZGVsZXRlIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCitQQVNTIENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBub25leGlz
dGVudCBjYWNoZSAKIEZBSUwgQ2FjaGVTdG9yYWdlIG5hbWVzIGFyZSBET01TdHJpbmdzIG5vdCBV
U1ZTdHJpbmdzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317972</attachid>
            <date>2017-08-11 15:49:17 -0700</date>
            <delta_ts>2017-08-13 17:56:52 -0700</delta_ts>
            <desc>win fix try again</desc>
            <filename>bug-175455-20170811154915.patch</filename>
            <type>text/plain</type>
            <size>121769</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNjA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2ZlMTZmNTQzMWVlNDZk
YTM0MDg3NWI5NWQ5MzlhNTVkZGU3ZDcwMC4uMWYxMTdkY2UzODUxOGIzZDEyOTc3MWJmYmI5Mzg4
Yjc5ZDE2YjdmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1OCBAQAorMjAxNy0wOC0xMCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRk
aW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5
IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgIEFkZGluZyBhIENhY2hlU3RvcmFnZVByb3ZpZGVy
IGFic3RyYWN0aW9uIHRoYXQgY3JlYXRlcyBhIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uCisgICAg
ICAgIFRoZSBDYWNoZVN0b3JhZ2VQcm92aWRlciBpcyBhY2Nlc3NlZCBmcm9tIHRoZSBwYWdlIGZv
ciBEb2N1bWVudCBjYWxscy4KKyAgICAgICAgVGhlIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24gaXMg
cmVzcG9uc2libGUgdG8gaW1wbGVtZW50IHRoZSByZWFkL3dyaXRlIG9wZXJhdGlvbnMgb24gdGhl
IGNhY2hlIGRhdGFiYXNlLgorICAgICAgICBBdCB0aGUgbW9tZW50LCBpdCBkb2VzIG5vdGhpbmcg
YnV0IHJldHVybiBub3QgaW1wbGVtZW50ZWQgZXJyb3JzLgorCisgICAgICAgIEltcGxlbWVudGlu
ZyBDYWNoZVN0b3JhZ2UgQVBJcyBhbmQgQ2FjaGUgQVBJcyBiYXNlZCBvbiB0aGUgQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbiBleGNlcHQgZm9yIENhY2hlIGFkZCBhbmQgYWRkQWxsIHdoaWNoIHdpbGwg
YmUgaW1wbGVtZW50ZWQgbGF0ZXIgb24uCisgICAgICAgIENhY2hlU3RvcmFnQ29ubmVjdGlvbiBp
cyByZXNwb25zaWJsZSB0byByZWFkL3dyaXRlIENhY2hlU3RvcmFnZSBsaXN0IG9mIGNhY2hlcyBh
bmQgZWFjaCBpbmRpdmlkdWFsIGNhY2hlLgorICAgICAgICBUaGUgQ2FjaGVTdG9yYWdlQ29ubmVj
dGlvbiBpcyBhIGdlbmVyaWMgY29ubmVjdGlvbiBhbmQgbm90IHRpZWQgdG8gYW55IGRvY3VtZW50
L2NvbnRleHQuCisgICAgICAgIENhY2hlU3RvcmFnZSBvYmplY3RzIGFyZSBtYW5pcHVsYXRlZCBi
eSBwcm92aWRpbmcgdG8gdGhlIGNvbm5lY3Rpb24gdGhlIG9yaWdpbiBvZiB0aGUgY29udGV4dC4K
KyAgICAgICAgQ2FjaGVTdG9yYWdlIGFyZSBnbG9iYWwgdG8gYWxsIGNvbnRleHRzIHdpdGggdGhl
IHNhbWUgb3JpZ2luLgorICAgICAgICBDYWNoZSBvYmplY3RzIGFyZSBtYW5pcHVsYXRlZCBieSBh
biBJRCB0aGF0IGlzIGdpdmVuIGluaXRpYWxseSBieSB0aGUgQ2FjaGVTdG9yYWdlRW5naW5lIHdo
ZW4gb3BlbmluZyB0aGUgQ2FjaGUgb2JqZWN0LgorCisgICAgICAgIEFkZGluZyBzdXBwb3J0IGZv
ciBDYWNoZVN0b3JhZ2UubWF0Y2ggZnVuY3Rpb24gYXMgYSBKUyBidWlsdC1pbiB0byBoYXZlIGEg
Y2xlYXJlciBpbXBsZW1lbnRhdGlvbjoKKyAgICAgICAgLSBTcGVjIG1ha2VzIHVzZSBvZiBDYWNo
ZS5AbWF0Y2ggb24gZWl0aGVyIGEgc3BlY2lmaWMgY2FjaGUgb3IgYWxsIGNhY2hlcworICAgICAg
ICAtIEluIGNhc2UgaXRlcmF0aW5nIHRocm91Z2ggYWxsIGNhY2hlcywgdGhlIGl0ZXJhdGlvbiBp
cyBkb25lIG9uZSBwcm9taXNlIHJlc29sdXRpb24gYXQgYSB0aW1lLCB3aGljaCBpcyBlYXNpZXIg
dG8gaW1wbGVtZW50IGluIEpTIGJ1aWx0aW4uCisKKyAgICAgICAgQWRkaW5nIHZhcmlvdXMgYWNj
ZXNzb3JzIGFuZCBjb25zdHJ1Y3RvcnMgZm9yIEZldGNoIGNvbnN0cnVjdHMgYXMgbmVlZGVkIGJ5
IHRoZSBDYWNoZSBBUEkgaW1wbGVtZW50YXRpb24uCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvY2Fj
aGUvQ2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OkNhY2hlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNhY2hlOjp+Q2FjaGUpOgorICAgICAgICBUaGUgQ2FjaGVTdG9yYWdlQ29ubmVj
dGlvbiBpcyBhIGdlbmVyaWMgY29ubmVjdGlvbiBhbmQgbm90IHRpZWQgdG8gYW55IGRvY3VtZW50
L2NvbnRleHQuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6bWF0Y2gpOiBJbXBsZW1lbnRhdGlv
biBvZiBodHRwczovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEvI2NhY2hlLW1hdGNo
LgorICAgICAgICBSZWRpcmVjdCB0byBtYXRjaEFsbCBhcyBwZXIgc3BlYy4KKyAgICAgICAgKFdl
YkNvcmU6OkNhY2hlOjptYXRjaEFsbCk6IEltcGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3Lncz
Lm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtbWF0Y2hBbGwuCisgICAgICAgIENoZWNr
cyBmb3IgcmVxdWVzdCBhcyBwZXIgc3BlYy4gVGhlbiBlaXRoZXIgcmVmcmVzaCB0aGUgcmVxdWVz
dCB0byByZXNwb25zZSBtYXAgYW5kIHJldHVybiBhbGwgcmVzcG9uc2VzLgorICAgICAgICBPciBj
YWxsIHRoZSBxdWVyeSBjYWNoZSBhbGdvcml0aG0gYW5kIHJldHVybiBjb3BpZXMgb2YgdGhlIHJl
c3BvbnNlcyAodXNpbmcgY2xvbmUpLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnB1dCk6Cisg
ICAgICAgIENoZWNrIHRoZSByZXF1ZXN0IGFuZCByZXNwb25zZSBhcyBwZXIgc3BlYy4KKyAgICAg
ICAgQWRkIHRlbXBvcmFyeSByZWplY3Rpb24gY2FzZXMgKGJlaW5nIGxvYWRlZCByZXNwb25zZXMs
IHJlc3BvbnNlcyB3aXRoIFJlYWRhYmxlU3RyZWFtKSBhcyB0aGVyZSBpcyBubyBzdXBwb3J0IGZv
ciB0aGVtIHJpZ2h0IG5vdy4KKyAgICAgICAgQ2FsbCB0aGUgYmF0Y2ggcHV0IG9wZXJhdGlvbi4K
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjpyZW1vdmUpOgorICAgICAgICBDaGVjayB0aGUgcmVx
dWVzdCBhbmQgcmVzcG9uc2UgYXMgcGVyIHNwZWMuCisgICAgICAgIENhbGwgdGhlIGJhdGNoIGRl
bGV0ZSBvcGVyYXRpb24uCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6a2V5cyk6CisgICAgICAg
IFJlZnJlc2ggdGhlIHJlcXVlc3QgdG8gcmVzcG9uc2UgbWFwIGFuZCByZXR1cm4gY29ycmVzcG9u
ZGluZyByZXF1ZXN0cy4KKyAgICAgICAgTWFraW5nIHN1cmUgdG8gcmV1c2UgdGhlIHNhbWUgcmVx
dWVzdCBvYmplY3RzIGFzIHBlciBzcGVjLgorICAgICAgICBBcyBwZXIgc3BlYywgdGhlIHJlcXVl
c3QgdG8gcmVzcG9uc2UgbWFwIGlzIG9yZGVyZWQuIFdlIGltcGxlbWVudCBpdCBhcyBhIFZlY3Rv
ci4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjpyZWZyZXNoUmVxdWVzdFRvUmVzcG9uc2VNYXAp
OgorICAgICAgICBVc2UgdGhlIGNhY2hlIHN0b3JhZ2UgY29ubmVjdGlvbiB0byBnZXQgYW4gdXAt
dG8tZGF0ZSBsaXN0IG9mIGNhY2hlZCByZWNvcmRzLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6
OnF1ZXJ5Q2FjaGVNYXRjaCk6CisgICAgICAgIEltcGxlbWVudHMgdGhlIG1hdGNoIGFsZ29yaXRo
bSBkZWZpbmVkIGluIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jcXVl
cnktY2FjaGUtYWxnb3JpdGhtLgorICAgICAgICBUaGlzIGlzIHNwbGl0IGZvciBxdWVyeUNhY2hl
IGFzIGNhY2hlIHN0b3JhZ2UgZW5naW5lIHdpbGwgbmVlZCB0byB1c2UgaXQgd2hlbiBpbXBsZW1l
bnRpbmcgdGhlIGRlbGV0ZSBvcGVyYXRpb24uCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6cXVl
cnlDYWNoZSk6CisgICAgICAgIEZ1bGwgaW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93d3cudzMu
b3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNxdWVyeS1jYWNoZS1hbGdvcml0aG0gd2l0aCBubyB0
YXJnZXRTdG9yYWdlIGFyZ3VtZW50LgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnF1ZXJ5Q2Fj
aGVXaXRoVGFyZ2V0U3RvcmFnZSk6CisgICAgICAgIEZ1bGwgaW1wbGVtZW50YXRpb24gb2YgaHR0
cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNxdWVyeS1jYWNoZS1hbGdvcml0
aG0gd2l0aCBhIHByb3ZpZGVkIHRhcmdldFN0b3JhZ2UgYXJndW1lbnQuCisgICAgICAgIChXZWJD
b3JlOjpDYWNoZTo6YmF0Y2hEZWxldGVPcGVyYXRpb24pOgorICAgICAgICBJbXBsZW1lbnRhdGlv
biBvZiBodHRwczovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEvI2JhdGNoLWNhY2hl
LW9wZXJhdGlvbnMtYWxnb3JpdGhtIGJ1dCBkZWRpY2F0ZWQgdG8gYSBkZWxldGUgb3BlcmF0aW9u
LgorICAgICAgICBEZWxldGUgb3BlcmF0aW9uIGFyZSBhbHdheXMgZG9uZSBvbmUgYXQgYSB0aW1l
LgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OmJhdGNoUHV0T3BlcmF0aW9uKToKKyAgICAgICAg
SW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy0x
LyNiYXRjaC1jYWNoZS1vcGVyYXRpb25zLWFsZ29yaXRobSBkZWRpY2F0ZWQgdG8gYSBwdXQgb3Bl
cmF0aW9uLgorICAgICAgICBQdXQgb3BlcmF0aW9uIHRha2VzIG9uZSByZWNvcmQgZm9yIHB1dCBi
dXQgY2FuIHRha2Ugc2V2ZXJhbCByZWNvcmRzIGluIHRoZSBjYXNlIG9mIGFkZEFsbCwgaGVuY2Ug
dGhlIGN1cnJlbnQgZGVzaWduLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnVwZGF0ZVJlcXVl
c3RUb1Jlc3BvbnNlTWFwKToKKyAgICAgICAgVXBkYXRlIHRoZSBjYWNoZSByZXF1ZXN0IHRvIHJl
c3BvbnNlIG1hcCBiYXNlZCBvbiB0aGUgcmVjb3JkcyByZXRyaWV2ZWQgZnJvbSB0aGUgY2FjaGUg
c3RvcmFnZSBjb25uZWN0aW9uLgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvQ2FjaGUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6
Om5hbWUgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvQ2FjaGUuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNh
Y2hlU3RvcmFnZTo6b3JpZ2luIGNvbnN0KToKKyAgICAgICAgQ29tcHV0aW5nIHRoZSBjYWNoZSBv
cmlnaW4gdGhhdCBpcyBwYXNzZWQgdG8gdGhlIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uCisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2U6Omhhcyk6CisgICAgICAgIEltcGxlbWVudGF0aW9u
IG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtc3RvcmFn
ZS1oYXMuCisgICAgICAgIENhbGwgdGhlIGNhY2hlIHN0b3JhZ2UgY29ubmVjdGlvbiB0byByZWZy
ZXNoIGl0cyBjYWNoZSBtYXAuCisgICAgICAgIFRoZW4gdXNlIGl0IHRvIGNoZWNrIHdoZXRoZXIg
YSBjYWNoZSBleGlzdHMuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2U6OnJlZnJlc2hD
YWNoZU1hcCk6CisgICAgICAgIFVzZSB0aGUgY2FjaGUgc3RvcmFnZSBjb25uZWN0aW9uIHRvIGdl
dCB0aGUgbGlzdCBvZiBleGlzdGluZyBjYWNoZXMuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0
b3JhZ2U6Om9wZW4pOgorICAgICAgICBJbXBsZW1lbnRhdGlvbiBvZiBodHRwczovL3d3dy53My5v
cmcvVFIvc2VydmljZS13b3JrZXJzLTEvI2NhY2hlLXN0b3JhZ2Utb3Blbi4KKyAgICAgICAgUmVm
cmVzaGluZyB0aGUgY2FjaGUgbWFwIHNvIGFzIHRvIHJldHVybiBhIHByZS1leGlzdGluZyBjYWNo
ZSBpZiBhbnkuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2U6OnJlbW92ZSk6CisgICAg
ICAgIEltcGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtl
cnMtMS8jY2FjaGUtc3RvcmFnZS1kZWxldGUtbWV0aG9kLgorICAgICAgICBSZWZyZXNoaW5nIHRo
ZSBjYWNoZSBtYXAgc28gYXMgdG8gZG8gbm90aGluZyBpZiB0aGVyZSBpcyBubyBjYWNoZSB0byBy
ZW1vdmUuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2U6OmtleXMpOgorICAgICAgICBJ
bXBsZW1lbnRhdGlvbiBvZiBodHRwczovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEv
I2NhY2hlLXN0b3JhZ2Uta2V5cy1tZXRob2QuCisgICAgICAgIFJlZnJlc2hpbmcgdGhlIGNhY2hl
IG1hcCBhbmQgcmV0dXJuaW4gaXRzIGtleXMuCisgICAgICAgIEFzIHBlciBzcGVjLCB0aGUgY2Fj
aGUgbWFwIGlzIG9yZGVyZWQuIFdlIGltcGxlbWVudCBpdCBhcyBhIFZlY3Rvci4KKyAgICAgICAg
KFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6Y2FjaGVNYXApOgorICAgICAgICBHZXQgdGhlIGxpc3Qg
b2YgY2FjaGUgb2JqZWN0cywgdXNlZCBhcyBhIHByaXZhdGUgYWNjZXNzb3IgZm9yIEpTIGJ1aWx0
LWlucy4KKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5oOgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVT
dG9yYWdlOjpDYWNoZVN0b3JhZ2UpOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9y
YWdlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5qczogQWRkZWQu
CisgICAgICAgIChtYXRjaCk6IEltcGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtbWF0Y2guCisgICAgICAgIEFzIHBlciBzcGVjLCB1
c2luZyBDYWNoZS5AbWF0Y2ggb24gZWl0aGVyIGEgc3BlY2lmaWMgY2FjaGUgb3IgYWxsIGNhY2hl
cy4KKyAgICAgICAgSW1wbGVtZW50aW5nIGluIEpTIGJ1aWx0LWluIGlzIGEgY29udmVuaWVudCB3
YXkgdG8gaGF2ZSBhIHNpbXBsZSBpbXBsZW1lbnRhdGlvbgorICAgICAgICB0aGF0IGVhc2lseSBy
ZWxhdGVzIHRvIHRoZSBzcGVjaWZpY2F0aW9uLgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvQ2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVT
dG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9yKToKKyAgICAgICAgKiBNb2R1bGVz
L2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaDogQWRkZWQuCisgICAgICAgIE1ha2VzIHRo
ZSBsaW5rIGJldHdlZW4gV2ViIGZhY2luZyBDYWNoZSBBUEkgYW5kIHRoZSBjYWNoZSBzdG9yYWdl
IGVuZ2luZS4KKyAgICAgICAgRW52aXNpb25lZCBpbXBsZW1lbnRhdGlvbiBhcmU6CisgICAgICAg
IC0gT25lIG1haW4gdGhyZWFkIGNvbm5lY3Rpb24gdXNlZCBieSBhbGwgZG9jdW1lbnRzIGluIHRo
ZSBnaXZlbiBwcm9jZXNzLgorICAgICAgICAtIE9uZSBjb25uZWN0aW9uIHBlciB3b3JrZXIgdGhh
dCBmb3J3YXJkcyB0aGUgY2FsbHMgdG8gdGhlIG1haW4gdGhyZWFkIGFuZCB1c2UgdGhlIG1haW4g
dGhyZWFkIGNvbm5lY3Rpb24gYWZ0ZXJ3YXJkcy4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3Rv
cmFnZUNvbm5lY3Rpb246OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uOjpvcGVuKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5lY3Rp
b246OnJlbW92ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpy
ZWZyZXNoQ2FjaGVNYXApOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29ubmVjdGlv
bjo6cmVmcmVzaFJlcXVlc3RUb1Jlc3BvbnNlTWFwKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OmJhdGNoRGVsZXRlT3BlcmF0aW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmJhdGNoUHV0T3BlcmF0aW9uKToKKyAgICAgICAg
KiBNb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZVJlY29yZC5oOiBBZGRlZC4gQSBmZXRjaCByZWNv
cmQgZnJvbSB0aGUgV2ViIGZhY2luZyBjYWNoZSBBUEkgcGVyc3BlY3RpdmUuCisgICAgICAgICog
TW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9N
V2luZG93Q2FjaGVzOjpjYWNoZXMgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvV29y
a2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFs
U2NvcGVDYWNoZXM6OmZyb20pOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGVD
YWNoZXM6OmNhY2hlcyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9i
YWxTY29wZUNhY2hlcy5oOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGVDYWNo
ZXM6Oldvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKToKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0Zl
dGNoQm9keU93bmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHlPd25lcjo6aXNSZWFk
YWJsZVN0cmVhbUJvZHkgY29uc3QpOiBBZGRlZCBnZXR0ZXIgYXMgaXQgaXMgdXNlZCBieSBjYWNo
ZSBBUEkuCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkZldGNoSGVhZGVyczo6Y3JlYXRlKTogQWRkIGFub3RoZXIgY3JlYXRlIGFzIHVz
ZWQgYnkgdGhlIGNhY2hlIEFQSS4KKyAgICAgICAgKFdlYkNvcmU6OkZldGNoSGVhZGVyczo6Z3Vh
cmQgY29uc3QpOiBBZGRlZCBnZXR0ZXIgYW5kIElQQyBzZXJpYWxpemVyIGFzIHRoaXMgaXMgc29t
ZXRoaW5nIHRoYXQgd2lsbCBiZSBzdG9yZWQgYnkgdGhlIGNhY2hlIGVuZ2luZS4KKyAgICAgICAg
KiBNb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZldGNo
TG9hZGVyOjpzdGFydCk6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6YnVpbGRPcHRpb25zKTogSW4gY2FzZSBGZXRjaFJlcXVlc3Q6
OmNyZWF0ZSBpcyBjYWxsZWQgZnJvbSBDKyssIHRoZXJlIGlzIG5vIG5lZWQgdG8gc2V0IGluaXQu
d2luZG93IHRvIGEgbnVsbCB2YWx1ZS4KKyAgICAgICAgQWRkIGEgY2hlY2sgc28gdGhhdCBubyB2
YWx1ZSBhdCBhbGwgaXMgdGhlIHNhbWUgYXMgYSB1bmxsL3VuZGVmaW5lZCB2YWx1ZS4KKyAgICAg
ICAgKFdlYkNvcmU6OkZldGNoUmVxdWVzdDo6cmVzb3VyY2VSZXF1ZXN0IGNvbnN0KToKKyAgICAg
ICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5oOgorICAgICAgICAqIE1vZHVsZXMvZmV0
Y2gvRmV0Y2hSZXNwb25zZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaFJlc3BvbnNlOjpi
b2R5Rm9ySW50ZXJuYWxSZXNwb25zZSk6IENhY2hlIEFQSSBjYW4gY29uc3VtZSB0aGUgcmVzcG9u
c2UgYm9keS4gQWRkIHRoaXMgYWNjZXNzb3IgZm9yIHRoYXQgcHVycG9zZS4KKyAgICAgICAgKiBN
b2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5O
YW1lcy5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvck92ZXJsYXk6Om92ZXJsYXlQYWdlKToKKyAgICAgICAgKiBw
YWdlL0NhY2hlU3RvcmFnZVByb3ZpZGVyLmg6IEFkZGVkLgorICAgICAgICBJbnRlcmZhY2UgdG8g
Y3JlYXRlIG1haW4gdGhyZWFkIGNhY2hlIHN0b3JhZ2UgY29ubmVjdGlvbiBmb3IgdGhlIGdpdmVu
IHBhZ2UuCisgICAgICAgIFRoZXJlIHdpbGwgYmUgb25lIHByb3ZpZGVyIGZvciBlYWNoIHByb2Nl
c3MuCisgICAgICAgIFBhc3NpbmcgYSBzZXNzaW9uSUQgc28gdGhhdCB3ZSB3aWxsIGNyZWF0ZSBh
IGNvbm5lY3Rpb24gcGVyIHNlc3Npb24uCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlBhZ2U6OlBhZ2UpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6UGFnZTo6Y2FjaGVTdG9yYWdlUHJvdmlkZXIpOgorICAgICAgICAqIHBhZ2Uv
UGFnZUNvbmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbmZpZ3VyYXRp
b246OlBhZ2VDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0aW9u
Lmg6CisgICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0ltYWdlOjpkYXRhQ2hhbmdlZCk6CisKIDIwMTctMDgtMTAgIFNhbSBXZWluaWcgIDxz
YW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBXVEY6OkZ1bmN0aW9uIGRvZXMgbm90IGFsbG93IGZv
ciByZWZlcmVuY2UgLyBub24tZGVmYXVsdCBjb25zdHJ1Y3RpYmxlIHJldHVybiB0eXBlcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCA1MDIxMzJjMDgwOGU2M2U2ZjEzZDcwZWJlMDM2M2Q4ZDk2YWRkNjA1Li4zZWMzZjJk
ZGRhOGMxZDQ2NmNmZmY5YWQ5MGIxNmFhMjJhZjEzYzRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDE3LTA4LTEwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAg
ICAgICBbQ2FjaGUgQVBJXSBBZGRpbmcgZ2VuZXJpYyBzdXBwb3J0IGZvciBDYWNoZVN0b3JhZ2Ug
YW5kIENhY2hlIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3NTQ1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
V2ViUHJvY2Vzcy9DYWNoZS9XZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oOiBBZGRlZC4KKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1f
Y3B1TGltaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3M6OldlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpjYWNoZVN0b3JhZ2VQ
cm92aWRlcik6CisKIDIwMTctMDgtMTAgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBXVEY6OkZ1bmN0aW9uIGRvZXMgbm90IGFsbG93IGZvciByZWZlcmVuY2UgLyBub24t
ZGVmYXVsdCBjb25zdHJ1Y3RpYmxlIHJldHVybiB0eXBlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nCmluZGV4IDU4NTJkYWIxMjNmNmFlMjJmNjE1NWU3NjY3NGQyN2EyMzNkY2EyZGUuLmIxOTFh
NWQ2NzkwZDRjYzMzOGRjOTZhY2FlZmE4NjBiZjFlMjE2ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0wOC0xMCAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRkaW5nIGdlbmVyaWMgc3Vw
cG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAg
ICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3Vw
TmFtZTpdKToKKwogMjAxNy0wOC0xMCAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGln
YWxpYS5jb20+CiAKICAgICAgICAgUmVtb3ZlIEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKaW5kZXggNjQ4MTYzMWU4ZjZhZDVhMWQxZjZmZjE5MGFkODYzZTQ3ZDM1
NTE0My4uMTk2ZDQ1MDNiZjBkM2JmOGMyZjM3ZWI0M2VkZWZkOGYzMzVjOTVhNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKQEAgLTg5MSw2ICs4OTEsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAKICAg
ICBNb2R1bGVzL2NhY2hlL0NhY2hlLmNwcAogICAgIE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdl
LmNwcAorICAgIE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAKICAgICBN
b2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHAKICAgICBNb2R1bGVzL2NhY2hlL1dvcmtl
ckdsb2JhbFNjb3BlQ2FjaGVzLmNwcAogCkBAIC0zODMzLDYgKzM4MzQsNyBAQCBhZGRfZGVwZW5k
ZW5jaWVzKFdlYkNvcmVUZXN0U3VwcG9ydEJpbmRpbmdzIFdlYkNvcmVEZXJpdmVkU291cmNlcykK
ICMgV2ViQ29yZSBKUyBCdWlsdGlucwogCiBzZXQoV2ViQ29yZV9CVUlMVElOU19TT1VSQ0VTCisg
ICAgJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuanMKICAgICAke1dF
QkNPUkVfRElSfS9Nb2R1bGVzL2ZldGNoL0ZldGNoSW50ZXJuYWxzLmpzCiAgICAgJHtXRUJDT1JF
X0RJUn0vTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmpzCiAgICAgJHtXRUJDT1JFX0RJUn0v
TW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JVc2VyTWVkaWEuanMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCmluZGV4IDhkNTY0ZTY3NzBiZmQ4NDQyZDU3OGQ1NGMyYjk4MWZiODVlMWI3
ZjguLjdlMDUzOGM0MTBkM2YzNGI1NWMxMDRlMTc3MDcwYWFjMDQ4M2MzYTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTM5Nyw2ICsxMzk3LDcgQEAgQ29tbWFuZExpbmVBUElN
b2R1bGVTb3VyY2UuaCA6IENvbW1hbmRMaW5lQVBJTW9kdWxlU291cmNlLmpzCiAjIFdlYkNvcmUg
SlMgQnVpbHRpbnMKIAogV2ViQ29yZV9CVUlMVElOU19TT1VSQ0VTID0gXAorICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuanMgXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9mZXRjaC9GZXRjaEludGVybmFscy5qcyBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2ZldGNo
L0ZldGNoUmVzcG9uc2UuanMgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9O
YXZpZ2F0b3JVc2VyTWVkaWEuanMgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9jYWNoZS9DYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmNw
cAppbmRleCBlMTlhZjU1MDI5NTY0ZDk1NzQ1NDJiM2ViMzM0ODQzMjM4M2Y2N2Q1Li5lOTg5ZDdl
ZmIyMTNjMWE3NTk4MzM5MDVlOTExYWYxYTE5NjE1MTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2NhY2hlL0NhY2hlLmNwcApAQCAtMjYsMTYgKzI2LDgxIEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiQ2FjaGUuaCIKIAorI2luY2x1ZGUgIkNhY2hlUXVlcnlPcHRpb25zLmgiCisj
aW5jbHVkZSAiRmV0Y2hSZXNwb25zZS5oIgorI2luY2x1ZGUgIkpTRmV0Y2hSZXF1ZXN0LmgiCisj
aW5jbHVkZSAiSlNGZXRjaFJlc3BvbnNlLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5oIgorI2luY2x1ZGUgIlVSTC5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQg
Q2FjaGU6Om1hdGNoKFJlcXVlc3RJbmZvJiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlv
bnM+JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK0NhY2hlOjpDYWNoZShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBTdHJpbmcmJiBuYW1lLCB1aW50NjRfdCBpZGVu
dGlmaWVyLCBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4mJiBjb25uZWN0aW9uKQorICAgIDog
QWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQorICAgICwgbV9uYW1lKFdURk1vdmUobmFtZSkpCisg
ICAgLCBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKKyAgICAsIG1fY29ubmVjdGlvbihXVEZNb3Zl
KGNvbm5lY3Rpb24pKQogewotICAgIHByb21pc2UtPnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJy
b3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICBzdXNwZW5kSWZOZWVk
ZWQoKTsKIH0KIAotdm9pZCBDYWNoZTo6bWF0Y2hBbGwoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5m
bz4mJiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgTWF0Y2hBbGxQcm9taXNl
JiYgcHJvbWlzZSkKK0NhY2hlOjp+Q2FjaGUoKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2Vw
dGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworfQor
Cit2b2lkIENhY2hlOjptYXRjaChSZXF1ZXN0SW5mbyYmIGluZm8sIENhY2hlUXVlcnlPcHRpb25z
JiYgb3B0aW9ucywgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQoreworICAgIG1hdGNo
QWxsKFdURk1vdmUoaW5mbyksIFdURk1vdmUob3B0aW9ucyksIFdURk1vdmUocHJvbWlzZSksIE1h
dGNoVHlwZTo6T25seUZpcnN0KTsKK30KKwordm9pZCBDYWNoZTo6bWF0Y2hBbGwoc3RkOjpvcHRp
b25hbDxSZXF1ZXN0SW5mbz4mJiBpbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSwgTWF0Y2hUeXBlIG1hdGNoVHlwZSkKK3sKKyAg
ICBSZWZQdHI8RmV0Y2hSZXF1ZXN0PiByZXF1ZXN0OworICAgIGlmIChpbmZvKSB7CisgICAgICAg
IGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvLnZh
bHVlKCkpKSB7CisgICAgICAgICAgICByZXF1ZXN0ID0gV1RGOjpnZXQ8UmVmUHRyPEZldGNoUmVx
dWVzdD4+KGluZm8udmFsdWUoKSkucmVsZWFzZU5vbk51bGwoKTsKKyAgICAgICAgICAgIGlmIChy
ZXF1ZXN0LT5tZXRob2QoKSAhPSAiR0VUIiAmJiAhb3B0aW9ucy5pZ25vcmVNZXRob2QpIHsKKyAg
ICAgICAgICAgICAgICBpZiAobWF0Y2hUeXBlID09IE1hdGNoVHlwZTo6T25seUZpcnN0KSB7Cisg
ICAgICAgICAgICAgICAgICAgIHByb21pc2UtPnJlc29sdmUoKTsKKyAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBwcm9taXNlLT5y
ZXNvbHZlPElETFNlcXVlbmNlPElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4+KFZlY3RvcjxS
ZWY8RmV0Y2hSZXNwb25zZT4+IHsgfSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKFVOTElLRUxZKCFzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCkpKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLCBXVEZNb3ZlKGluZm8udmFsdWUoKSksIHsgfSkucmVsZWFzZVJldHVyblZhbHVlKCk7Cisg
ICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoIXJlcXVlc3QpIHsKKyAgICAgICAgQVNTRVJUKG1h
dGNoVHlwZSA9PSBNYXRjaFR5cGU6OkFsbCk7CisgICAgICAgIHJlZnJlc2hSZXF1ZXN0VG9SZXNw
b25zZU1hcChbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgeworICAgICAgICAg
ICAgVmVjdG9yPFJlZjxGZXRjaFJlc3BvbnNlPj4gcmVzcG9uc2VzOworICAgICAgICAgICAgcmVz
cG9uc2VzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobV9yZXF1ZXN0VG9SZXNwb25zZU1hcC5zaXpl
KCkpOworICAgICAgICAgICAgZm9yIChhdXRvJiByZWNvcmQgOiBtX3JlcXVlc3RUb1Jlc3BvbnNl
TWFwKQorICAgICAgICAgICAgICAgIHJlc3BvbnNlcy51bmNoZWNrZWRBcHBlbmQocmVjb3JkLnJl
c3BvbnNlLT5jbG9uZUZvckpTKCkpOworICAgICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExT
ZXF1ZW5jZTxJRExJbnRlcmZhY2U8RmV0Y2hSZXNwb25zZT4+PihyZXNwb25zZXMpOworICAgICAg
ICB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBxdWVyeUNhY2hlKHJlcXVlc3QucmVs
ZWFzZU5vbk51bGwoKSwgV1RGTW92ZShvcHRpb25zKSwgW21hdGNoVHlwZSwgcHJvbWlzZSA9IFdU
Rk1vdmUocHJvbWlzZSldKGNvbnN0IFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+JiByZWNvcmRz
KSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKG1hdGNoVHlwZSA9PSBNYXRjaFR5cGU6Ok9ubHlGaXJz
dCkgeworICAgICAgICAgICAgaWYgKHJlY29yZHMuc2l6ZSgpKSB7CisgICAgICAgICAgICAgICAg
cHJvbWlzZS0+cmVzb2x2ZTxJRExJbnRlcmZhY2U8RmV0Y2hSZXNwb25zZT4+KHJlY29yZHNbMF0u
cmVzcG9uc2UuZ2V0KCkpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIHByb21pc2UtPnJlc29sdmUoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQorCisgICAgICAgIFZlY3RvcjxSZWY8RmV0Y2hSZXNwb25zZT4+IHJlc3BvbnNlczsK
KyAgICAgICAgcmVzcG9uc2VzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkocmVjb3Jkcy5zaXplKCkp
OworICAgICAgICBmb3IgKGF1dG8mIHJlY29yZCA6IHJlY29yZHMpCisgICAgICAgICAgICByZXNw
b25zZXMudW5jaGVja2VkQXBwZW5kKHJlY29yZC5yZXNwb25zZS0+Y2xvbmVGb3JKUygpKTsKKyAg
ICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8RmV0Y2hSZXNw
b25zZT4+PihyZXNwb25zZXMpOworICAgIH0pOwogfQogCiB2b2lkIENhY2hlOjphZGQoUmVxdWVz
dEluZm8mJiwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlzZSkKQEAgLTQ4LDE5ICsx
MTMsMjM0IEBAIHZvaWQgQ2FjaGU6OmFkZEFsbChWZWN0b3I8UmVxdWVzdEluZm8+JiYsIERPTVBy
b21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCiAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0
aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CiB9CiAK
LXZvaWQgQ2FjaGU6OnB1dChSZXF1ZXN0SW5mbyYmLCBSZWY8RmV0Y2hSZXNwb25zZT4mJiwgRE9N
UHJvbWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlzZSkKK3ZvaWQgQ2FjaGU6OnB1dChSZXF1ZXN0
SW5mbyYmIGluZm8sIFJlZjxGZXRjaFJlc3BvbnNlPiYmIHJlc3BvbnNlLCBET01Qcm9taXNlRGVm
ZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7
IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIFJlZlB0
cjxGZXRjaFJlcXVlc3Q+IHJlcXVlc3Q7CisgICAgaWYgKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8
UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8pKSB7CisgICAgICAgIHJlcXVlc3QgPSBXVEY6Omdl
dDxSZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4oaW5mbykucmVsZWFzZU5vbk51bGwoKTsKKyAgICAgICAg
aWYgKHJlcXVlc3QtPm1ldGhvZCgpICE9ICJHRVQiKSB7CisgICAgICAgICAgICBwcm9taXNlLnJl
amVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiUmVxdWVzdCBtZXRob2Qg
aXMgbm90IEdFVCIpIH0pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfSBl
bHNlIHsKKyAgICAgICAgaWYgKFVOTElLRUxZKCFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpKQor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICByZXF1ZXN0ID0gRmV0Y2hSZXF1ZXN0OjpjcmVh
dGUoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgV1RGTW92ZShpbmZvKSwgeyB9KS5yZWxlYXNl
UmV0dXJuVmFsdWUoKTsKKyAgICB9CisKKyAgICBpZiAoIXByb3RvY29sSXNJbkhUVFBGYW1pbHko
cmVxdWVzdC0+dXJsKCkpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5
cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJSZXF1ZXN0IHVybCBpcyBub3QgSFRUUC9IVFRQUyIpIH0p
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0byB2YXJ5VmFsdWUgPSByZXNwb25z
ZS0+aGVhZGVycygpLmludGVybmFsSGVhZGVycygpLmdldChXZWJDb3JlOjpIVFRQSGVhZGVyTmFt
ZTo6VmFyeSk7CisgICAgVmVjdG9yPFN0cmluZz4gdmFyeWluZ0hlYWRlck5hbWVzOworICAgIGJv
b2wgaGFzVmFyeUhlYWRlclN0YXIgPSBmYWxzZTsKKyAgICB2YXJ5VmFsdWUuc3BsaXQoJywnLCBm
YWxzZSwgWyZdKGNvbnN0IFN0cmluZ1ZpZXcmIHZpZXcpIHsKKyAgICAgICAgaWYgKCFoYXNWYXJ5
SGVhZGVyU3RhciAmJiB2aWV3ID09ICIqIikKKyAgICAgICAgICAgIGhhc1ZhcnlIZWFkZXJTdGFy
ID0gdHJ1ZTsKKyAgICB9KTsKKworICAgIGlmIChoYXNWYXJ5SGVhZGVyU3RhcikgeworICAgICAg
ICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiUmVz
cG9uc2UgaGFzIGEgJyonIFZhcnkgaGVhZGVyIHZhbHVlIikgfSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBpZiAocmVzcG9uc2UtPmlzRGlzdHVyYmVkKCkpIHsKKyAgICAgICAgcHJv
bWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIlJlc3BvbnNl
IGlzIGRpc3R1cmJlZCBvciBsb2NrZWQiKSB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgYmVpbmcgbG9hZGVkIHJlc3BvbnNlcy4KKyAg
ICBpZiAocmVzcG9uc2UtPmlzTG9hZGluZygpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4
Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yLCBBU0NJSUxpdGVyYWwoIkNhY2hpbmcgYSBsb2Fk
aW5nIFJlc3BvbnNlIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIikgfSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisgICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBSZWFkYWJsZVN0cmVhbS4KKyAg
ICBpZiAocmVzcG9uc2UtPmlzUmVhZGFibGVTdHJlYW1Cb2R5KCkpIHsKKyAgICAgICAgcHJvbWlz
ZS5yZWplY3QoRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQ2Fj
aGluZyBhIFJlc3BvbnNlIHdpdGggZGF0YSBzdG9yZWQgaW4gYSBSZWFkYWJsZVN0cmVhbSBpcyBu
b3QgeWV0IHN1cHBvcnRlZCIpIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYmF0
Y2hQdXRPcGVyYXRpb24oKnJlcXVlc3QsIHJlc3BvbnNlLmdldCgpLCBbcHJvbWlzZSA9IFdURk1v
dmUocHJvbWlzZSldKENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yIGVycm9yKSBtdXRhYmxl
IHsKKyAgICAgICAgaWYgKGVycm9yICE9IENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yOjpO
b25lKSB7CisgICAgICAgICAgICBwcm9taXNlLnJlamVjdChDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
OjpleGNlcHRpb25Gcm9tRXJyb3IoZXJyb3IpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgfQorICAgICAgICBwcm9taXNlLnJlc29sdmUoKTsKKyAgICB9KTsKIH0KIAotdm9pZCBDYWNo
ZTo6cmVtb3ZlKFJlcXVlc3RJbmZvJiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+
JiYsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmIHByb21pc2UpCit2b2lkIENhY2hl
OjpyZW1vdmUoUmVxdWVzdEluZm8mJiBpbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMs
IERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlz
ZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1l
bnRlZCIpfSk7CisgICAgUmVmUHRyPEZldGNoUmVxdWVzdD4gcmVxdWVzdDsKKyAgICBpZiAoV1RG
Ojpob2xkc19hbHRlcm5hdGl2ZTxSZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4oaW5mbykpIHsKKyAgICAg
ICAgcmVxdWVzdCA9IFdURjo6Z2V0PFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvKS5yZWxlYXNl
Tm9uTnVsbCgpOworICAgICAgICBpZiAocmVxdWVzdC0+bWV0aG9kKCkgIT0gIkdFVCIgJiYgIW9w
dGlvbnMuaWdub3JlTWV0aG9kKSB7CisgICAgICAgICAgICBwcm9taXNlLnJlc29sdmUoZmFsc2Up
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAg
aWYgKFVOTElLRUxZKCFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpKQorICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICByZXF1ZXN0ID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUoKnNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSwgV1RGTW92ZShpbmZvKSwgeyB9KS5yZWxlYXNlUmV0dXJuVmFsdWUoKTsK
KyAgICB9CisKKyAgICBiYXRjaERlbGV0ZU9wZXJhdGlvbigqcmVxdWVzdCwgV1RGTW92ZShvcHRp
b25zKSwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShib29sIGRpZERlbGV0ZSwgQ2FjaGVT
dG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICBpZiAoZXJy
b3IgIT0gIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yOjpOb25lKSB7CisgICAgICAgICAg
ICBwcm9taXNlLnJlamVjdChDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpleGNlcHRpb25Gcm9tRXJy
b3IoZXJyb3IpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBwcm9t
aXNlLnJlc29sdmUoZGlkRGVsZXRlKTsKKyAgICB9KTsKIH0KIAotdm9pZCBDYWNoZTo6a2V5cyhz
dGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZvPiYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRp
b25zPiYmLCBLZXlzUHJvbWlzZSYmIHByb21pc2UpCit2b2lkIENhY2hlOjprZXlzKHN0ZDo6b3B0
aW9uYWw8UmVxdWVzdEluZm8+JiYgaW5mbywgQ2FjaGVRdWVyeU9wdGlvbnMmJiBvcHRpb25zLCBL
ZXlzUHJvbWlzZSYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsg
VHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgUmVmUHRy
PEZldGNoUmVxdWVzdD4gcmVxdWVzdDsKKyAgICBpZiAoaW5mbykgeworICAgICAgICBpZiAoV1RG
Ojpob2xkc19hbHRlcm5hdGl2ZTxSZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4oaW5mby52YWx1ZSgpKSkg
eworICAgICAgICAgICAgcmVxdWVzdCA9IFdURjo6Z2V0PFJlZlB0cjxGZXRjaFJlcXVlc3Q+Pihp
bmZvLnZhbHVlKCkpLnJlbGVhc2VOb25OdWxsKCk7CisgICAgICAgICAgICBpZiAocmVxdWVzdC0+
bWV0aG9kKCkgIT0gIkdFVCIgJiYgIW9wdGlvbnMuaWdub3JlTWV0aG9kKSB7CisgICAgICAgICAg
ICAgICAgcHJvbWlzZS5yZXNvbHZlKFZlY3RvcjxSZWY8RmV0Y2hSZXF1ZXN0Pj4geyB9KTsKKyAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICBpZiAoVU5MSUtFTFkoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkpCisgICAg
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgcmVxdWVzdCA9IEZldGNoUmVxdWVzdDo6
Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFdURk1vdmUoaW5mby52YWx1ZSgpKSwg
eyB9KS5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmICgh
cmVxdWVzdCkgeworICAgICAgICByZWZyZXNoUmVxdWVzdFRvUmVzcG9uc2VNYXAoW3RoaXMsIHBy
b21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSgpIG11dGFibGUgeworICAgICAgICAgICAgVmVjdG9y
PFJlZjxGZXRjaFJlcXVlc3Q+PiByZXF1ZXN0czsKKyAgICAgICAgICAgIHJlcXVlc3RzLnJlc2Vy
dmVJbml0aWFsQ2FwYWNpdHkobV9yZXF1ZXN0VG9SZXNwb25zZU1hcC5zaXplKCkpOworICAgICAg
ICAgICAgZm9yIChhdXRvJiByZWNvcmQgOiBtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwKQorICAgICAg
ICAgICAgICAgIHJlcXVlc3RzLnVuY2hlY2tlZEFwcGVuZChyZWNvcmQucmVxdWVzdC5jb3B5UmVm
KCkpOworICAgICAgICAgICAgcHJvbWlzZS5yZXNvbHZlKHJlcXVlc3RzKTsKKyAgICAgICAgfSk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBxdWVyeUNhY2hlKHJlcXVlc3QucmVsZWFz
ZU5vbk51bGwoKSwgV1RGTW92ZShvcHRpb25zKSwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2Up
XShjb25zdCBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiYgcmVjb3JkcykgbXV0YWJsZSB7Cisg
ICAgICAgIFZlY3RvcjxSZWY8RmV0Y2hSZXF1ZXN0Pj4gcmVxdWVzdHM7CisgICAgICAgIHJlcXVl
c3RzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkocmVjb3Jkcy5zaXplKCkpOworICAgICAgICBmb3Ig
KGF1dG8mIHJlY29yZCA6IHJlY29yZHMpCisgICAgICAgICAgICByZXF1ZXN0cy51bmNoZWNrZWRB
cHBlbmQocmVjb3JkLnJlcXVlc3QuY29weVJlZigpKTsKKyAgICAgICAgcHJvbWlzZS5yZXNvbHZl
KHJlcXVlc3RzKTsKKyAgICB9KTsKK30KKwordm9pZCBDYWNoZTo6cmVmcmVzaFJlcXVlc3RUb1Jl
c3BvbnNlTWFwKFdURjo6RnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQoreworICAgIHNldFBl
bmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICBtX2Nvbm5lY3Rpb24tPnJlZnJlc2hSZWNvcmRzKG1f
aWRlbnRpZmllciwgW3RoaXMsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKFZlY3RvcjxD
YWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQ+JiYgcmVjb3JkcykgeworICAgICAgICBpZiAo
IW1faXNTdG9wcGVkKSB7CisgICAgICAgICAgICB1cGRhdGVSZXF1ZXN0VG9SZXNwb25zZU1hcChX
VEZNb3ZlKHJlY29yZHMpKTsKKyAgICAgICAgICAgIGNhbGxiYWNrKCk7CisgICAgICAgIH0KKyAg
ICAgICAgdW5zZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgfSk7Cit9CisKK3ZvaWQgQ2Fj
aGU6OnF1ZXJ5Q2FjaGUoUmVmPEZldGNoUmVxdWVzdD4mJiByZXF1ZXN0LCBDYWNoZVF1ZXJ5T3B0
aW9ucyYmIG9wdGlvbnMsIFdURjo6RnVuY3Rpb248dm9pZChjb25zdCBWZWN0b3I8Q2FjaGVTdG9y
YWdlUmVjb3JkPiYpPiYmIGNhbGxiYWNrKQoreworICAgIHJlZnJlc2hSZXF1ZXN0VG9SZXNwb25z
ZU1hcChbdGhpcywgcmVxdWVzdCA9IFdURk1vdmUocmVxdWVzdCksIG9wdGlvbnMgPSBXVEZNb3Zl
KG9wdGlvbnMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSgpIG11dGFibGUgeworICAg
ICAgICBjYWxsYmFjayhxdWVyeUNhY2hlV2l0aFRhcmdldFN0b3JhZ2UocmVxdWVzdC5nZXQoKSwg
b3B0aW9ucywgbV9yZXF1ZXN0VG9SZXNwb25zZU1hcCkpOworICAgIH0pOworfQorCitWZWN0b3I8
Q2FjaGVTdG9yYWdlUmVjb3JkPiBDYWNoZTo6cXVlcnlDYWNoZVdpdGhUYXJnZXRTdG9yYWdlKGNv
bnN0IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgQ2FjaGVRdWVyeU9wdGlvbnMmIG9wdGlv
bnMsIGNvbnN0IFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+JiB0YXJnZXRTdG9yYWdlKQorewor
ICAgIGlmICghb3B0aW9ucy5pZ25vcmVNZXRob2QgJiYgcmVxdWVzdC5tZXRob2QoKSAhPSAiR0VU
IikKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+
IHJlY29yZHM7CisgICAgZm9yIChhdXRvJiByZWNvcmQgOiB0YXJnZXRTdG9yYWdlKSB7CisgICAg
ICAgIGlmIChDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpxdWVyeUNhY2hlTWF0Y2gocmVxdWVzdC5p
bnRlcm5hbFJlcXVlc3QoKS5yZXF1ZXN0LCByZWNvcmQucmVxdWVzdC0+aW50ZXJuYWxSZXF1ZXN0
KCkucmVxdWVzdCwgcmVjb3JkLnJlc3BvbnNlLT5yZXNwb25zZSgpLCBvcHRpb25zKSkKKyAgICAg
ICAgICAgIHJlY29yZHMuYXBwZW5kKHsgcmVjb3JkLmlkZW50aWZpZXIsIHJlY29yZC5yZXF1ZXN0
LmNvcHlSZWYoKSwgcmVjb3JkLnJlc3BvbnNlLmNvcHlSZWYoKSB9KTsKKyAgICB9CisgICAgcmV0
dXJuIHJlY29yZHM7Cit9CisKK3ZvaWQgQ2FjaGU6OmJhdGNoRGVsZXRlT3BlcmF0aW9uKGNvbnN0
IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgQ2FjaGVRdWVyeU9wdGlvbnMmJiBvcHRpb25zLCBXVEY6
OkZ1bmN0aW9uPHZvaWQoYm9vbCBkaWRSZW1vdmFsLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpF
cnJvciBlcnJvcik+JiYgY2FsbGJhY2spCit7CisgICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMp
OworICAgIG1fY29ubmVjdGlvbi0+YmF0Y2hEZWxldGVPcGVyYXRpb24obV9pZGVudGlmaWVyLCBy
ZXF1ZXN0LmludGVybmFsUmVxdWVzdCgpLnJlcXVlc3QsIFdURk1vdmUob3B0aW9ucyksIFt0aGlz
LCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShWZWN0b3I8dWludDY0X3Q+JiYgcmVjb3Jk
cywgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIHsKKyAgICAgICAgaWYgKCFt
X2lzU3RvcHBlZCkgeworICAgICAgICAgICAgaWYgKGVycm9yID09IENhY2hlU3RvcmFnZUNvbm5l
Y3Rpb246OkVycm9yOjpOb25lKQorICAgICAgICAgICAgICAgIG1fcmVxdWVzdFRvUmVzcG9uc2VN
YXAucmVtb3ZlQWxsTWF0Y2hpbmcoWyZdKGNvbnN0IGF1dG8mIGl0ZW0pIHsgcmV0dXJuIHJlY29y
ZHMuY29udGFpbnMoaXRlbS5pZGVudGlmaWVyKTsgfSk7CisKKyAgICAgICAgICAgIGNhbGxiYWNr
KCEhcmVjb3Jkcy5zaXplKCksIGVycm9yKTsKKyAgICAgICAgfQorICAgICAgICB1bnNldFBlbmRp
bmdBY3Rpdml0eSh0aGlzKTsKKyAgICB9KTsKK30KKwordm9pZCBDYWNoZTo6YmF0Y2hQdXRPcGVy
YXRpb24oY29uc3QgRmV0Y2hSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBGZXRjaFJlc3BvbnNlJiBy
ZXNwb25zZSwgV1RGOjpGdW5jdGlvbjx2b2lkKENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9y
KT4mJiBjYWxsYmFjaykKK3sKKyAgICAvLyBGSVhNRTogQWRkIGEgc2V0SFRUUEhlYWRlckZpZWxk
cyBvbiBSZXNvdXJjZVJlc3BvbnNlQmFzZS4KKyAgICBSZXNvdXJjZVJlc3BvbnNlIGNhY2hlZFJl
c3BvbnNlID0gcmVzcG9uc2UucmVzcG9uc2UoKTsKKyAgICBmb3IgKGF1dG8mIGhlYWRlciA6IHJl
c3BvbnNlLmhlYWRlcnMoKS5pbnRlcm5hbEhlYWRlcnMoKSkKKyAgICAgICAgY2FjaGVkUmVzcG9u
c2Uuc2V0SFRUUEhlYWRlckZpZWxkKGhlYWRlci5rZXksIGhlYWRlci52YWx1ZSk7CisKKyAgICBS
ZXNvdXJjZVJlcXVlc3QgY2FjaGVkUmVxdWVzdCA9IHJlcXVlc3QuaW50ZXJuYWxSZXF1ZXN0KCku
cmVxdWVzdDsKKyAgICBjYWNoZWRSZXF1ZXN0LnNldEhUVFBIZWFkZXJGaWVsZHMocmVxdWVzdC5o
ZWFkZXJzKCkuaW50ZXJuYWxIZWFkZXJzKCkpOworCisgICAgQ2FjaGVTdG9yYWdlQ29ubmVjdGlv
bjo6UmVjb3JkIHJlY29yZCA9IHsgMCwKKyAgICAgICAgcmVxdWVzdC5oZWFkZXJzKCkuZ3VhcmQo
KSwgV1RGTW92ZShjYWNoZWRSZXF1ZXN0KSwgcmVxdWVzdC5pbnRlcm5hbFJlcXVlc3QoKS5vcHRp
b25zLCByZXF1ZXN0LmludGVybmFsUmVxdWVzdCgpLnJlZmVycmVyLAorICAgICAgICByZXNwb25z
ZS5oZWFkZXJzKCkuZ3VhcmQoKSwgV1RGTW92ZShjYWNoZWRSZXNwb25zZSkKKyAgICB9OworCisg
ICAgVmVjdG9yPENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlY29yZD4gcmVjb3JkczsKKyAgICBy
ZWNvcmRzLmFwcGVuZChXVEZNb3ZlKHJlY29yZCkpOworCisgICAgc2V0UGVuZGluZ0FjdGl2aXR5
KHRoaXMpOworICAgIG1fY29ubmVjdGlvbi0+YmF0Y2hQdXRPcGVyYXRpb24obV9pZGVudGlmaWVy
LCBXVEZNb3ZlKHJlY29yZHMpLCBbdGhpcywgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0o
VmVjdG9yPHVpbnQ2NF90PiYmLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJvciBlcnJvcikg
eworICAgICAgICBpZiAoIW1faXNTdG9wcGVkKQorICAgICAgICAgICAgY2FsbGJhY2soZXJyb3Ip
OworCisgICAgICAgIHVuc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgIH0pOworfQorCit2
b2lkIENhY2hlOjp1cGRhdGVSZXF1ZXN0VG9SZXNwb25zZU1hcChWZWN0b3I8Q2FjaGVTdG9yYWdl
Q29ubmVjdGlvbjo6UmVjb3JkPiYmIHJlY29yZHMpCit7CisgICAgQVNTRVJUKHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSk7CisgICAgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4gbmV3TWFwOwor
CisgICAgZm9yIChhdXRvJiByZWNvcmQgOiByZWNvcmRzKSB7CisgICAgICAgIHNpemVfdCBpbmRl
eCA9IG1fcmVxdWVzdFRvUmVzcG9uc2VNYXAuZmluZE1hdGNoaW5nKFsmXShjb25zdCBhdXRvJiBp
dGVtKSB7IHJldHVybiBpdGVtLmlkZW50aWZpZXIgPT0gcmVjb3JkLmlkZW50aWZpZXI7IH0pOwor
ICAgICAgICBpZiAoaW5kZXggIT0gbm90Rm91bmQpCisgICAgICAgICAgICBuZXdNYXAuYXBwZW5k
KFdURk1vdmUobV9yZXF1ZXN0VG9SZXNwb25zZU1hcFtpbmRleF0pKTsKKyAgICAgICAgZWxzZSB7
CisgICAgICAgICAgICBhdXRvIHJlcXVlc3RIZWFkZXJzID0gRmV0Y2hIZWFkZXJzOjpjcmVhdGUo
cmVjb3JkLnJlcXVlc3RIZWFkZXJzR3VhcmQsIEhUVFBIZWFkZXJNYXAgeyByZWNvcmQucmVxdWVz
dC5odHRwSGVhZGVyRmllbGRzKCkgfSk7CisgICAgICAgICAgICBGZXRjaFJlcXVlc3Q6OkludGVy
bmFsUmVxdWVzdCBpbnRlcm5hbFJlcXVlc3QgPSB7IFdURk1vdmUocmVjb3JkLnJlcXVlc3QpLCBX
VEZNb3ZlKHJlY29yZC5vcHRpb25zKSwgV1RGTW92ZShyZWNvcmQucmVmZXJyZXIpIH07CisgICAg
ICAgICAgICBhdXRvIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpLCBzdGQ6Om51bGxvcHQsIFdURk1vdmUocmVxdWVzdEhlYWRlcnMpLCBXVEZN
b3ZlKGludGVybmFsUmVxdWVzdCkpOworCisgICAgICAgICAgICBhdXRvIHJlc3BvbnNlSGVhZGVy
cyA9IEZldGNoSGVhZGVyczo6Y3JlYXRlKHJlY29yZC5yZXNwb25zZUhlYWRlcnNHdWFyZCwgSFRU
UEhlYWRlck1hcCB7IHJlY29yZC5yZXNwb25zZS5odHRwSGVhZGVyRmllbGRzKCkgfSk7CisgICAg
ICAgICAgICBhdXRvIHJlc3BvbnNlID0gRmV0Y2hSZXNwb25zZTo6Y3JlYXRlKCpzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCksIHN0ZDo6bnVsbG9wdCwgV1RGTW92ZShyZXNwb25zZUhlYWRlcnMpLCBX
VEZNb3ZlKHJlY29yZC5yZXNwb25zZSkpOworCisgICAgICAgICAgICBuZXdNYXAuYXBwZW5kKENh
Y2hlU3RvcmFnZVJlY29yZCB7IHJlY29yZC5pZGVudGlmaWVyLCBXVEZNb3ZlKHJlcXVlc3QpLCBX
VEZNb3ZlKHJlc3BvbnNlKSB9KTsKKyAgICAgICAgfQorICAgIH0KKyAgICBtX3JlcXVlc3RUb1Jl
c3BvbnNlTWFwID0gV1RGTW92ZShuZXdNYXApOworfQorCit2b2lkIENhY2hlOjpzdG9wKCkKK3sK
KyAgICBtX2lzU3RvcHBlZCA9IHRydWU7Cit9CisKK2NvbnN0IGNoYXIqIENhY2hlOjphY3RpdmVE
T01PYmplY3ROYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gIkNhY2hlIjsKK30KKworYm9vbCBD
YWNoZTo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0Cit7CisgICAgcmV0
dXJuICFtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwLnNpemUoKSAmJiAhaGFzUGVuZGluZ0FjdGl2aXR5
KCk7CiB9CiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNo
ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5oCmluZGV4IDAwODJhY2Q1
NTZkZGY1ZGVlOWY3NTA2NjVjMmY0ZTllYjlkZDk2NWUuLjljZDY5ZWQ0NzNkN2YzZDY4YzIwYWEw
OTZlZDA1NjA4MTUzOTY4NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvQ2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmgKQEAg
LTI1LDM2ICsyNSw1OSBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkZldGNoUmVxdWVz
dC5oIgorI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgorI2luY2x1ZGUgIkNhY2hlU3RvcmFn
ZUNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VSZWNvcmQuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1jbGFzcyBGZXRjaFJlc3BvbnNlOworY2xhc3MgQ2FjaGVRdWVyeU9w
dGlvbnM7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCi1zdHJ1Y3QgQ2FjaGVRdWVy
eU9wdGlvbnM7Ci0KLWNsYXNzIENhY2hlIDogcHVibGljIFJlZkNvdW50ZWQ8Q2FjaGU+IHsKK2Ns
YXNzIENhY2hlIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8Q2FjaGU+LCBwdWJsaWMgQWN0aXZl
RE9NT2JqZWN0IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPENhY2hlPiBjcmVhdGUoU3RyaW5n
JiYgbmFtZSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNoZShXVEZNb3ZlKG5hbWUpKSk7IH0K
KyAgICBzdGF0aWMgUmVmPENhY2hlPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29u
dGV4dCwgU3RyaW5nJiYgbmFtZSwgdWludDY0X3QgaWRlbnRpZmllciwgUmVmPENhY2hlU3RvcmFn
ZUNvbm5lY3Rpb24+JiYgY29ubmVjdGlvbikgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNoZShj
b250ZXh0LCBXVEZNb3ZlKG5hbWUpLCBpZGVudGlmaWVyLCBXVEZNb3ZlKGNvbm5lY3Rpb24pKSk7
IH0KKyAgICB+Q2FjaGUoKTsKIAogICAgIHVzaW5nIFJlcXVlc3RJbmZvID0gRmV0Y2hSZXF1ZXN0
OjpJbmZvOwogCi0gICAgdXNpbmcgTWF0Y2hBbGxQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVk
PElETFNlcXVlbmNlPElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4+OwogICAgIHVzaW5nIEtl
eXNQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElETFNlcXVlbmNlPElETEludGVyZmFjZTxG
ZXRjaFJlcXVlc3Q+Pj47CiAKLSAgICB2b2lkIG1hdGNoKFJlcXVlc3RJbmZvJiYsIHN0ZDo6b3B0
aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwotICAg
IHZvaWQgbWF0Y2hBbGwoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4mJiwgc3RkOjpvcHRpb25h
bDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgTWF0Y2hBbGxQcm9taXNlJiYpOworICAgIGVudW0gY2xh
c3MgTWF0Y2hUeXBlIHsgQWxsLCBPbmx5Rmlyc3QgfTsKKyAgICB2b2lkIG1hdGNoKFJlcXVlc3RJ
bmZvJiYsIENhY2hlUXVlcnlPcHRpb25zJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworICAg
IHZvaWQgbWF0Y2hBbGwoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4mJiwgQ2FjaGVRdWVyeU9w
dGlvbnMmJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiwgTWF0Y2hUeXBlID0gTWF0Y2hUeXBlOjpB
bGwpOwogICAgIHZvaWQgYWRkKFJlcXVlc3RJbmZvJiYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lk
PiYmKTsKIAogICAgIHZvaWQgYWRkQWxsKFZlY3RvcjxSZXF1ZXN0SW5mbz4mJiwgRE9NUHJvbWlz
ZURlZmVycmVkPHZvaWQ+JiYpOwogICAgIHZvaWQgcHV0KFJlcXVlc3RJbmZvJiYsIFJlZjxGZXRj
aFJlc3BvbnNlPiYmLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJik7Ci0gICAgdm9pZCByZW1v
dmUoUmVxdWVzdEluZm8mJiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgRE9N
UHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYpOwotICAgIHZvaWQga2V5cyhzdGQ6Om9wdGlv
bmFsPFJlcXVlc3RJbmZvPiYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBL
ZXlzUHJvbWlzZSYmKTsKKyAgICB2b2lkIHJlbW92ZShSZXF1ZXN0SW5mbyYmLCBDYWNoZVF1ZXJ5
T3B0aW9ucyYmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJik7CisgICAgdm9pZCBr
ZXlzKHN0ZDo6b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYsIENhY2hlUXVlcnlPcHRpb25zJiYsIEtl
eXNQcm9taXNlJiYpOworCisgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1cm4g
bV9uYW1lOyB9CisgICAgdWludDY0X3QgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRl
bnRpZmllcjsgfQogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IENhY2hlKFN0cmluZyYmIG5hbWUp
IDogbV9uYW1lKFdURk1vdmUobmFtZSkpIHsgfQorICAgIENhY2hlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmLCBTdHJpbmcmJiBuYW1lLCB1aW50NjRfdCBpZGVudGlmaWVyLCBSZWY8Q2FjaGVTdG9y
YWdlQ29ubmVjdGlvbj4mJik7CisKKyAgICAvLyBBY3RpdmVET01PYmplY3QKKyAgICB2b2lkIHN0
b3AoKSBmaW5hbDsKKyAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3Qg
ZmluYWw7CisgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3Qg
ZmluYWw7CisKKyAgICB2b2lkIHJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcChXVEY6OkZ1bmN0
aW9uPHZvaWQoKT4mJik7CisgICAgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4gcXVlcnlDYWNo
ZVdpdGhUYXJnZXRTdG9yYWdlKGNvbnN0IEZldGNoUmVxdWVzdCYsIGNvbnN0IENhY2hlUXVlcnlP
cHRpb25zJiwgY29uc3QgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4mKTsKKyAgICB2b2lkIHF1
ZXJ5Q2FjaGUoUmVmPEZldGNoUmVxdWVzdD4mJiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgV1RGOjpG
dW5jdGlvbjx2b2lkKGNvbnN0IFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+Jik+JiYpOworICAg
IHZvaWQgYmF0Y2hEZWxldGVPcGVyYXRpb24oY29uc3QgRmV0Y2hSZXF1ZXN0JiwgQ2FjaGVRdWVy
eU9wdGlvbnMmJiwgV1RGOjpGdW5jdGlvbjx2b2lkKGJvb2wgZGlkUmVtb3ZhbCwgQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbjo6RXJyb3IpPiYmKTsKKyAgICB2b2lkIGJhdGNoUHV0T3BlcmF0aW9uKGNv
bnN0IEZldGNoUmVxdWVzdCYsIGNvbnN0IEZldGNoUmVzcG9uc2UmLCBXVEY6OkZ1bmN0aW9uPHZv
aWQoQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IpPiYmKTsKKworICAgIHZvaWQgdXBkYXRl
UmVxdWVzdFRvUmVzcG9uc2VNYXAoVmVjdG9yPENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlY29y
ZD4mJik7CiAKICAgICBTdHJpbmcgbV9uYW1lOworICAgIHVpbnQ2NF90IG1faWRlbnRpZmllcjsK
KyAgICBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOworCisgICAgVmVj
dG9yPENhY2hlU3RvcmFnZVJlY29yZD4gbV9yZXF1ZXN0VG9SZXNwb25zZU1hcDsKKyAgICBib29s
IG1faXNTdG9wcGVkIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaWRsIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5pZGwKaW5kZXggZDQ3OTY5MTU1ZDIwYTRmN2Jm
YTM4YTZkYzBiMmRmMzIyNTZhOTRlMC4uM2U2YzdhZDY3YzdmOTZiODQ4OTMyYjgxNGM1M2U4Mjg2
MmU3NjhmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5pZGwKQEAgLTI5LDEz
ICsyOSwxNiBAQCB0eXBlZGVmIChGZXRjaFJlcXVlc3Qgb3IgVVNWU3RyaW5nKSBSZXF1ZXN0SW5m
bzsKICAgICBTZWN1cmVDb250ZXh0LAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAogICAg
IEVuYWJsZWRBdFJ1bnRpbWU9Q2FjaGVBUEksCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJs
ZSwKKyAgICBQcml2YXRlSWRlbnRpZmllciwKKyAgICBQdWJsaWNJZGVudGlmaWVyLAogXSBpbnRl
cmZhY2UgQ2FjaGUgewogICAgIFtOZXdPYmplY3RdIFByb21pc2U8YW55PiBtYXRjaChSZXF1ZXN0
SW5mbyByZXF1ZXN0LCBvcHRpb25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsKLSAgICBb
TmV3T2JqZWN0XSBQcm9taXNlPHNlcXVlbmNlPEZldGNoUmVzcG9uc2U+PiBtYXRjaEFsbChvcHRp
b25hbCBSZXF1ZXN0SW5mbyByZXF1ZXN0LCBvcHRpb25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRp
b25zKTsKKyAgICBbTmV3T2JqZWN0LCBQcml2YXRlSWRlbnRpZmllciwgUHVibGljSWRlbnRpZmll
cl0gUHJvbWlzZTxzZXF1ZW5jZTxGZXRjaFJlc3BvbnNlPj4gbWF0Y2hBbGwob3B0aW9uYWwgUmVx
dWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9ucyk7CiAg
ICAgW05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiBhZGQoUmVxdWVzdEluZm8gcmVxdWVzdCk7CiAg
ICAgW05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiBhZGRBbGwoc2VxdWVuY2U8UmVxdWVzdEluZm8+
IHJlcXVlc3RzKTsKICAgICBbTmV3T2JqZWN0XSBQcm9taXNlPHZvaWQ+IHB1dChSZXF1ZXN0SW5m
byByZXF1ZXN0LCBGZXRjaFJlc3BvbnNlIHJlc3BvbnNlKTsKICAgICBbTmV3T2JqZWN0LCBJbXBs
ZW1lbnRlZEFzPXJlbW92ZV0gUHJvbWlzZTxib29sZWFuPiBkZWxldGUoUmVxdWVzdEluZm8gcmVx
dWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9ucyk7CiAgICAgW05ld09iamVj
dF0gUHJvbWlzZTxzZXF1ZW5jZTxSZXF1ZXN0Pj4ga2V5cyhvcHRpb25hbCBSZXF1ZXN0SW5mbyBy
ZXF1ZXN0LCBvcHRpb25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsKKworICAgIFtQcml2
YXRlSWRlbnRpZmllciwgSW1wbGVtZW50ZWRBcz1uYW1lXSBET01TdHJpbmcgY2FjaGVOYW1lKCk7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVF1ZXJ5
T3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVF1ZXJ5T3B0aW9u
cy5oCmluZGV4IDY4ZjY3ZmFjZjM1Njg3MWVlZjRlNTU0Njk1OGI3MjdhNjU5MzY5M2IuLjRmOGI0
ZGVlY2ExYTdkZjY4MTQ1NzA0MDAwYTZhNjFhYzBjYjE5MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVRdWVyeU9wdGlvbnMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlUXVlcnlPcHRpb25zLmgKQEAgLTI5LDcgKzI5LDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdHJ1Y3QgQ2FjaGVRdWVyeU9wdGlvbnMgeworY2xh
c3MgQ2FjaGVRdWVyeU9wdGlvbnMgeworcHVibGljOgogICAgIGJvb2wgaWdub3JlU2VhcmNoIHsg
ZmFsc2UgfTsKICAgICBib29sIGlnbm9yZU1ldGhvZCB7IGZhbHNlIH07CiAgICAgYm9vbCBpZ25v
cmVWYXJ5IHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvQ2FjaGVTdG9yYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVT
dG9yYWdlLmNwcAppbmRleCAxMjM2N2JlOTY2ZTFlM2EyOGE5ZTI5ZGJmZTRiODNiZDVhY2RlY2M2
Li45ZjM0MTg4MDk4M2NhMGE3YzVmZjcwOWRiNGRhOTNmYTQxNTMyYmVjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuY3BwCkBAIC0yNiwzMSArMjYsMTQy
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlLmgiCiAKKyNp
bmNsdWRlICJDYWNoZVF1ZXJ5T3B0aW9ucy5oIgorI2luY2x1ZGUgIkpTQ2FjaGUuaCIKKyNpbmNs
dWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
dm9pZCBDYWNoZVN0b3JhZ2U6Om1hdGNoKFJlcXVlc3RJbmZvJiYsIHN0ZDo6b3B0aW9uYWw8Q2Fj
aGVRdWVyeU9wdGlvbnM+JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK0NhY2hl
U3RvcmFnZTo6Q2FjaGVTdG9yYWdlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJl
ZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYmIGNvbm5lY3Rpb24pCisgICAgOiBBY3RpdmVET01P
YmplY3QoJmNvbnRleHQpCisgICAgLCBtX2Nvbm5lY3Rpb24oV1RGTW92ZShjb25uZWN0aW9uKSkK
K3sKKyAgICBzdXNwZW5kSWZOZWVkZWQoKTsKK30KKworU3RyaW5nIENhY2hlU3RvcmFnZTo6b3Jp
Z2luKCkgY29uc3QKIHsKLSAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9y
LCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgLy8gRklYTUU6IERvIHdl
IHJlYWxseSBuZWVkIHRvIGNoZWNrIGZvciBvcmlnaW4gYmVpbmcgbnVsbD8KKyAgICBhdXRvKiBv
cmlnaW4gPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgPyBzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCktPnNlY3VyaXR5T3JpZ2luKCkgOiBudWxscHRyOworICAgIHJldHVybiBvcmlnaW4gPyBvcmln
aW4tPnRvU3RyaW5nKCkgOiBTdHJpbmcoKTsKIH0KIAotdm9pZCBDYWNoZVN0b3JhZ2U6Omhhcyhj
b25zdCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQor
dm9pZCBDYWNoZVN0b3JhZ2U6Omhhcyhjb25zdCBTdHJpbmcmIG5hbWUsIERPTVByb21pc2VEZWZl
cnJlZDxJRExCb29sZWFuPiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0
aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAg
cmVmcmVzaENhY2hlTWFwKFt0aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0o
KSBtdXRhYmxlIHsKKyAgICAgICAgcHJvbWlzZS5yZXNvbHZlKG1fY2FjaGVNYXAuZmluZE1hdGNo
aW5nKFsmXShhdXRvJiBpdGVtKSB7IHJldHVybiBpdGVtLT5uYW1lKCkgPT0gbmFtZTsgfSkgIT0g
bm90Rm91bmQpOworICAgIH0pOwogfQogCi12b2lkIENhY2hlU3RvcmFnZTo6b3Blbihjb25zdCBT
dHJpbmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPENhY2hlPj4mJiBwcm9taXNl
KQordm9pZCBDYWNoZVN0b3JhZ2U6OnJlZnJlc2hDYWNoZU1hcChXVEY6OkZ1bmN0aW9uPHZvaWQo
KT4mJiBjYWxsYmFjaykKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJy
b3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICBTdHJpbmcgb3JpZ2lu
ID0gdGhpcy0+b3JpZ2luKCk7CisgICAgaWYgKG9yaWdpbi5pc051bGwoKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgIG1fY29ubmVjdGlvbi0+
cmVmcmVzaENhY2hlTWFwKG9yaWdpbiwgW3RoaXMsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFj
ayldKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBjYWNoZU5hbWVzKSB7CisgICAgICAgIGlmICghbV9p
c1N0b3BwZWQpIHsKKyAgICAgICAgICAgIG1fY2FjaGVNYXAucmVtb3ZlQWxsTWF0Y2hpbmcoWyZd
KGF1dG8mIGNhY2hlKSB7IHJldHVybiAhY2FjaGVOYW1lcy5jb250YWlucyhjYWNoZS0+bmFtZSgp
KTsgfSk7CisKKyAgICAgICAgICAgIHN0ZDo6c29ydChtX2NhY2hlTWFwLmJlZ2luKCksIG1fY2Fj
aGVNYXAuZW5kKCksIFsmXShhdXRvJiBhLCBhdXRvJiBiKSB7CisgICAgICAgICAgICAgICAgcmV0
dXJuIGNhY2hlTmFtZXMuZmluZChhLT5uYW1lKCkpIDwgY2FjaGVOYW1lcy5maW5kKGItPm5hbWUo
KSk7CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgY2FsbGJhY2soKTsKKyAgICAgICAg
fQorICAgICAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICB9KTsKIH0KIAotdm9p
ZCBDYWNoZVN0b3JhZ2U6OnJlbW92ZShjb25zdCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8
SURMQm9vbGVhbj4mJiBwcm9taXNlKQordm9pZCBDYWNoZVN0b3JhZ2U6Om9wZW4oY29uc3QgU3Ry
aW5nJiBuYW1lLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPENhY2hlPj4mJiBwcm9t
aXNlKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlM
aXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHJlZnJlc2hDYWNoZU1hcChbdGhpcywg
bmFtZSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgIGF1
dG8gcG9zaXRpb24gPSBtX2NhY2hlTWFwLmZpbmRNYXRjaGluZyhbJl0oYXV0byYgaXRlbSkgeyBy
ZXR1cm4gaXRlbS0+bmFtZSgpID09IG5hbWU7IH0pOworICAgICAgICBpZiAocG9zaXRpb24gIT0g
bm90Rm91bmQpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShtX2NhY2hlTWFwW3Bvc2l0
aW9uXSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBTdHJpbmcg
b3JpZ2luID0gdGhpcy0+b3JpZ2luKCk7CisgICAgICAgIGlmIChvcmlnaW4uaXNOdWxsKCkpCisg
ICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOwor
ICAgICAgICBtX2Nvbm5lY3Rpb24tPm9wZW4ob3JpZ2luLCBuYW1lLCBbdGhpcywgbmFtZSwgcHJv
bWlzZSA9IFdURk1vdmUocHJvbWlzZSldKHVpbnQ2NF90IGNhY2hlSWRlbnRpZmllciwgQ2FjaGVT
dG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICAgICAgaWYg
KCFtX2lzU3RvcHBlZCkgeworICAgICAgICAgICAgICAgIGlmIChlcnJvciAhPSBDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uOjpFcnJvcjo6Tm9uZSkKKyAgICAgICAgICAgICAgICAgICAgcHJvbWlzZS5y
ZWplY3QoQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9yKGVycm9yKSk7
CisgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gY2FjaGUg
PSBDYWNoZTo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFN0cmluZyhuYW1lKSwg
Y2FjaGVJZGVudGlmaWVyLCBtX2Nvbm5lY3Rpb24uY29weVJlZigpKTsKKyAgICAgICAgICAgICAg
ICAgICAgcHJvbWlzZS5yZXNvbHZlKGNhY2hlKTsKKyAgICAgICAgICAgICAgICAgICAgbV9jYWNo
ZU1hcC5hcHBlbmQoV1RGTW92ZShjYWNoZSkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIHVuc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgICAgICB9
KTsKKyAgICB9KTsKK30KKwordm9pZCBDYWNoZVN0b3JhZ2U6OnJlbW92ZShjb25zdCBTdHJpbmcm
IG5hbWUsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmIHByb21pc2UpCit7CisgICAg
cmVmcmVzaENhY2hlTWFwKFt0aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0o
KSBtdXRhYmxlIHsKKyAgICAgICAgYXV0byBwb3NpdGlvbiA9IG1fY2FjaGVNYXAuZmluZE1hdGNo
aW5nKFsmXShhdXRvJiBpdGVtKSB7IHJldHVybiBpdGVtLT5uYW1lKCkgPT0gbmFtZTsgfSk7Cisg
ICAgICAgIGlmIChwb3NpdGlvbiA9PSBub3RGb3VuZCkgeworICAgICAgICAgICAgcHJvbWlzZS5y
ZXNvbHZlKGZhbHNlKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAg
IFN0cmluZyBvcmlnaW4gPSB0aGlzLT5vcmlnaW4oKTsKKyAgICAgICAgaWYgKG9yaWdpbi5pc051
bGwoKSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBzZXRQZW5kaW5nQWN0aXZpdHko
dGhpcyk7CisgICAgICAgIG1fY29ubmVjdGlvbi0+cmVtb3ZlKG1fY2FjaGVNYXBbcG9zaXRpb25d
LT5pZGVudGlmaWVyKCksIFt0aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0o
dWludDY0X3QgY2FjaGVJZGVudGlmaWVyLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJvciBl
cnJvcikgbXV0YWJsZSB7CisgICAgICAgICAgICBVTlVTRURfUEFSQU0oY2FjaGVJZGVudGlmaWVy
KTsKKyAgICAgICAgICAgIGlmICghbV9pc1N0b3BwZWQpIHsKKyAgICAgICAgICAgICAgICBpZiAo
ZXJyb3IgIT0gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3I6Ok5vbmUpCisgICAgICAgICAg
ICAgICAgICAgIHByb21pc2UucmVqZWN0KENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlv
bkZyb21FcnJvcihlcnJvcikpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAg
ICAgICAgcHJvbWlzZS5yZXNvbHZlKHRydWUpOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
dW5zZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgICAgIH0pOworICAgICAgICBtX2NhY2hl
TWFwLnJlbW92ZShwb3NpdGlvbik7CisgICAgfSk7CiB9CiAKIHZvaWQgQ2FjaGVTdG9yYWdlOjpr
ZXlzKEtleXNQcm9taXNlJiYgcHJvbWlzZSkKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRp
b24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICBy
ZWZyZXNoQ2FjaGVNYXAoW3RoaXMsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSgpIG11dGFi
bGUgeworICAgICAgICBWZWN0b3I8U3RyaW5nPiBrZXlzOworICAgICAgICBrZXlzLnJlc2VydmVJ
bml0aWFsQ2FwYWNpdHkobV9jYWNoZU1hcC5zaXplKCkpOworICAgICAgICBmb3IgKGF1dG8mIGNh
Y2hlIDogbV9jYWNoZU1hcCkKKyAgICAgICAgICAgIGtleXMudW5jaGVja2VkQXBwZW5kKGNhY2hl
LT5uYW1lKCkpOworICAgICAgICBwcm9taXNlLnJlc29sdmUoa2V5cyk7CisgICAgfSk7Cit9CisK
K3ZvaWQgQ2FjaGVTdG9yYWdlOjpjYWNoZU1hcChDYWNoZU1hcFByb21pc2UmJiBwcm9taXNlKQor
eworICAgIHJlZnJlc2hDYWNoZU1hcChbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSld
KCkgbXV0YWJsZSB7CisgICAgICAgIHByb21pc2UucmVzb2x2ZShtX2NhY2hlTWFwKTsKKyAgICB9
KTsKK30KKwordm9pZCBDYWNoZVN0b3JhZ2U6OnN0b3AoKQoreworICAgIG1faXNTdG9wcGVkID0g
dHJ1ZTsKK30KKworY29uc3QgY2hhciogQ2FjaGVTdG9yYWdlOjphY3RpdmVET01PYmplY3ROYW1l
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gIkNhY2hlU3RvcmFnZSI7Cit9CisKK2Jvb2wgQ2FjaGVT
dG9yYWdlOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gIW1fY2FjaGVNYXAuc2l6ZSgpICYmICFoYXNQZW5kaW5nQWN0aXZpdHkoKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9jYWNoZS9DYWNoZVN0b3JhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2Fj
aGVTdG9yYWdlLmgKaW5kZXggZmEyNjkwMDAzNmMzMjY3MzY2MjFmY2I4MzdjNzc3MWVhYThkODIy
My4uNjMxZjZmODM4YWY3ZGE0NmUzOTJmMWEzMTE2ZDQ3NzI3YTk0MzJkZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5oCkBAIC0yNSwyOSArMjUsNDQgQEAK
IAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJDYWNoZS5oIgorI2luY2x1ZGUgIkNhY2hlU3Rv
cmFnZUNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJGZXRjaFJlcXVlc3QuaCIKKyNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENhY2hlOworY2xh
c3MgQ2FjaGVRdWVyeU9wdGlvbnM7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCi1z
dHJ1Y3QgQ2FjaGVRdWVyeU9wdGlvbnM7Ci0KLWNsYXNzIENhY2hlU3RvcmFnZSA6IHB1YmxpYyBS
ZWZDb3VudGVkPENhY2hlU3RvcmFnZT4geworY2xhc3MgQ2FjaGVTdG9yYWdlIDogcHVibGljIFJl
ZkNvdW50ZWQ8Q2FjaGVTdG9yYWdlPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6
Ci0gICAgc3RhdGljIFJlZjxDYWNoZVN0b3JhZ2U+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgQ2FjaGVTdG9yYWdlKCkpOyB9CisgICAgc3RhdGljIFJlZjxDYWNoZVN0b3JhZ2U+IGNy
ZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8Q2FjaGVTdG9yYWdlQ29u
bmVjdGlvbj4mJiBjb25uZWN0aW9uKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IENhY2hlU3RvcmFn
ZShjb250ZXh0LCBXVEZNb3ZlKGNvbm5lY3Rpb24pKSk7IH0KIAotICAgIHVzaW5nIFJlcXVlc3RJ
bmZvID0gRmV0Y2hSZXF1ZXN0OjpJbmZvOwogICAgIHVzaW5nIEtleXNQcm9taXNlID0gRE9NUHJv
bWlzZURlZmVycmVkPElETFNlcXVlbmNlPElETERPTVN0cmluZz4+OwogCi0gICAgdm9pZCBtYXRj
aChSZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBSZWY8
RGVmZXJyZWRQcm9taXNlPiYmKTsKICAgICB2b2lkIGhhcyhjb25zdCBTdHJpbmcmLCBET01Qcm9t
aXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJik7CiAgICAgdm9pZCBvcGVuKGNvbnN0IFN0cmluZyYs
IERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8Q2FjaGU+PiYmKTsKICAgICB2b2lkIHJl
bW92ZShjb25zdCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJik7CiAg
ICAgdm9pZCBrZXlzKEtleXNQcm9taXNlJiYpOwogCisgICAgdXNpbmcgQ2FjaGVNYXBQcm9taXNl
ID0gRE9NUHJvbWlzZURlZmVycmVkPElETFNlcXVlbmNlPElETEludGVyZmFjZTxDYWNoZT4+PjsK
KyAgICB2b2lkIGNhY2hlTWFwKENhY2hlTWFwUHJvbWlzZSYmKTsKKwogcHJpdmF0ZToKLSAgICBD
YWNoZVN0b3JhZ2UoKSA9IGRlZmF1bHQ7CisgICAgQ2FjaGVTdG9yYWdlKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmLCBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4mJik7CisKKyAgICAvLyBBY3Rp
dmVET01PYmplY3QKKyAgICB2b2lkIHN0b3AoKSBmaW5hbDsKKyAgICBjb25zdCBjaGFyKiBhY3Rp
dmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7CisgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9j
dW1lbnRTdXNwZW5zaW9uKCkgY29uc3QgZmluYWw7CisKKyAgICB2b2lkIHJlZnJlc2hDYWNoZU1h
cChXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJik7CisgICAgU3RyaW5nIG9yaWdpbigpIGNvbnN0Owor
CisgICAgVmVjdG9yPFJlZjxDYWNoZT4+IG1fY2FjaGVNYXA7CisgICAgUmVmPENhY2hlU3RvcmFn
ZUNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKKyAgICBib29sIG1faXNTdG9wcGVkIHsgZmFsc2Ug
fTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmlkbAppbmRleCA4ZDcxZTA5MDNlNzZlMWE0YjYyYmZiNmYw
Mjg0OTZmYjk4NmYwNjJhLi43OGY1NzM2ODJiMTE1MjAwOTE5Y2M5YTc5Yzg4YzY1NjRmYzg4NWFi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaWRsCkBA
IC0yOSwxMSArMjksMTQgQEAgdHlwZWRlZiAoRmV0Y2hSZXF1ZXN0IG9yIFVTVlN0cmluZykgUmVx
dWVzdEluZm87CiAgICAgU2VjdXJlQ29udGV4dCwKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2Vy
KSwKICAgICBFbmFibGVkQXRSdW50aW1lPUNhY2hlQVBJLAotICAgIEltcGxlbWVudGF0aW9uTGFj
a3NWVGFibGUsCisgICAgUHJpdmF0ZUlkZW50aWZpZXIsCisgICAgUHVibGljSWRlbnRpZmllciwK
IF0gaW50ZXJmYWNlIENhY2hlU3RvcmFnZSB7Ci0gICAgW05ld09iamVjdF0gUHJvbWlzZTxhbnk+
IG1hdGNoKFJlcXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25zIG9w
dGlvbnMpOworICAgIFtOZXdPYmplY3QsIEpTQnVpbHRpbl0gUHJvbWlzZTxhbnk+IG1hdGNoKFJl
cXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25zIG9wdGlvbnMpOwog
ICAgIFtOZXdPYmplY3RdIFByb21pc2U8Ym9vbGVhbj4gaGFzKERPTVN0cmluZyBjYWNoZU5hbWUp
OwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8Q2FjaGU+IG9wZW4oRE9NU3RyaW5nIGNhY2hlTmFt
ZSk7CiAgICAgW05ld09iamVjdCwgSW1wbGVtZW50ZWRBcz1yZW1vdmVdIFByb21pc2U8Ym9vbGVh
bj4gZGVsZXRlKERPTVN0cmluZyBjYWNoZU5hbWUpOwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8
c2VxdWVuY2U8RE9NU3RyaW5nPj4ga2V5cygpOworCisgICAgW1ByaXZhdGVJZGVudGlmaWVyXSBQ
cm9taXNlPHNlcXVlbmNlPENhY2hlPj4gY2FjaGVNYXAoKTsKIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5qcyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwNWMxYWJjZTdmNzU4
MzQ5NzYzMDVkODMyY2JmMjgzYWRkZjJkNzgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5qcwpAQCAtMCwwICsxLDU4IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworZnVuY3Rpb24gbWF0Y2gocmVxdWVzdCkKK3sKKyAgaWYgKCEodGhpcyBpbnN0YW5j
ZW9mIEBDYWNoZVN0b3JhZ2UpKQorICAgICAgIHJldHVybiBAUHJvbWlzZS5AcmVqZWN0KEBtYWtl
VGhpc1R5cGVFcnJvcigiQ2FjaGVTdG9yYWdlIiwgIm1hdGNoIikpOworCisgICAgcmV0dXJuIEBD
YWNoZVN0b3JhZ2UucHJvdG90eXBlLkBjYWNoZU1hcC5AY2FsbCh0aGlzKS50aGVuKChjYWNoZU1h
cCkgPT4geworICAgICAgICBsZXQgb3B0aW9ucyA9IGFyZ3VtZW50c1sxXTsKKyAgICAgICAgaWYg
KEBpc09iamVjdChvcHRpb25zKSAmJiBvcHRpb25zLmNhY2hlTmFtZSkgeworICAgICAgICAgICAg
Zm9yIChsZXQgY2FjaGUgb2YgY2FjaGVNYXApIHsKKyAgICAgICAgICAgICAgICBpZiAoQENhY2hl
LnByb3RvdHlwZS5AY2FjaGVOYW1lLkBjYWxsKGNhY2hlKSA9PT0gb3B0aW9ucy5jYWNoZU5hbWUp
IHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEBDYWNoZS5wcm90b3R5cGUuQG1hdGNoQWxs
LkBjYWxsKGNhY2hlLCByZXF1ZXN0LCBvcHRpb25zKS50aGVuKChyZXN1bHQpID0+IHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQubGVuZ3RoKQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiByZXN1bHRbMF07CisgICAgICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiBAUHJvbWlz
ZS5AcmVzb2x2ZSgpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gbWF0Y2hOZXh0Q2Fj
aGUoY2FjaGVNYXAsIHJlcXVlc3QsIG9wdGlvbnMsIGNvdW50ZXIpIHsKKyAgICAgICAgICAgIGlm
IChjb3VudGVyID09PSBjYWNoZU1hcC5sZW5ndGgpCisgICAgICAgICAgICAgICAgcmV0dXJuIEBQ
cm9taXNlLkByZXNvbHZlKCk7CisKKyAgICAgICAgICAgIGxldCBjYWNoZSA9IEBDYWNoZVN0b3Jh
Z2UucHJvdG90eXBlLkBnZXQoY2FjaGVNYXBbY291bnRlcl0pOworICAgICAgICAgICAgcmV0dXJu
IEBDYWNoZS5wcm90b3R5cGUuQG1hdGNoQWxsLkBjYWxsKGNhY2hlLCByZXF1ZXN0LCBvcHRpb25z
KS50aGVuKChyZXN1bHQpID0+IHsKKyAgICAgICAgICAgICAgICBpZiAocmVzdWx0Lmxlbmd0aCkK
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdFswXTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gbWF0Y2hOZXh0Q2FjaGUoY2FjaGVNYXAsIHJlcXVlc3QsIG9wdGlvbnMsIGNvdW50ZXIg
KyAxKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgICAgIHJldHVybiBtYXRjaE5l
eHRDYWNoZShjYWNoZU1hcCwgcmVxdWVzdCwgb3B0aW9ucywgMCk7CisgICAgfSk7Cit9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0
aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40YzViMjI0ZTU2YzFhMjg3OTE0NDUxYjY3MTY0ZjI1NTcxMzEx
MWRlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNo
ZVN0b3JhZ2VDb25uZWN0aW9uLmNwcApAQCAtMCwwICsxLDgxIEBACisKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIgor
CisjaW5jbHVkZSAiQ2FjaGVRdWVyeU9wdGlvbnMuaCIKKyNpbmNsdWRlICJFeGNlcHRpb24uaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitFeGNlcHRpb24gQ2FjaGVTdG9yYWdlQ29ubmVjdGlv
bjo6ZXhjZXB0aW9uRnJvbUVycm9yKEVycm9yIGVycm9yKQoreworICAgIEFTU0VSVChlcnJvciAh
PSBFcnJvcjo6Tm9uZSk7CisKKyAgICBzd2l0Y2ggKGVycm9yKSB7CisgICAgY2FzZSBFcnJvcjo6
Tm90SW1wbGVtZW50ZWQ6CisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFT
Q0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIikgfTsKKyAgICBkZWZhdWx0OgorICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIlVua25vd24gZXJyb3Ii
KSB9OworICAgIH07Cit9CisKK2Jvb2wgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6cXVlcnlDYWNo
ZU1hdGNoKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiBjYWNoZWRSZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBjYWNoZWRSZXNwb25z
ZSwgY29uc3QgQ2FjaGVRdWVyeU9wdGlvbnMmIG9wdGlvbnMpCit7CisgICAgQVNTRVJUKG9wdGlv
bnMuaWdub3JlTWV0aG9kIHx8IHJlcXVlc3QuaHR0cE1ldGhvZCgpID09ICJHRVQiKTsKKworICAg
IFVSTCByZXF1ZXN0VVJMID0gcmVxdWVzdC51cmwoKTsKKyAgICBVUkwgY2FjaGVkUmVxdWVzdFVS
TCA9IGNhY2hlZFJlcXVlc3QudXJsKCk7CisKKyAgICBpZiAob3B0aW9ucy5pZ25vcmVTZWFyY2gp
IHsKKyAgICAgICAgcmVxdWVzdFVSTC5zZXRRdWVyeSh7IH0pOworICAgICAgICBjYWNoZWRSZXF1
ZXN0VVJMLnNldFF1ZXJ5KHsgfSk7CisgICAgfQorICAgIGlmICghZXF1YWxJZ25vcmluZ0ZyYWdt
ZW50SWRlbnRpZmllcihyZXF1ZXN0VVJMLCBjYWNoZWRSZXF1ZXN0VVJMKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgaWYgKG9wdGlvbnMuaWdub3JlVmFyeSkKKyAgICAgICAgcmV0dXJu
IHRydWU7CisKKyAgICBTdHJpbmcgdmFyeVZhbHVlID0gY2FjaGVkUmVzcG9uc2UuaHR0cEhlYWRl
ckZpZWxkKFdlYkNvcmU6OkhUVFBIZWFkZXJOYW1lOjpWYXJ5KTsKKyAgICBpZiAodmFyeVZhbHVl
LmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIFZlY3RvcjxTdHJpbmc+IHZh
cnlpbmdIZWFkZXJOYW1lczsKKyAgICB2YXJ5VmFsdWUuc3BsaXQoJywnLCB2YXJ5aW5nSGVhZGVy
TmFtZXMpOworICAgIGlmICh2YXJ5aW5nSGVhZGVyTmFtZXMuY29udGFpbnMoIioiKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgZm9yIChhdXRvJiBuYW1lIDogdmFyeWluZ0hlYWRlck5h
bWVzKSB7CisgICAgICAgIGlmIChjYWNoZWRSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZChuYW1lKSAh
PSByZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZChuYW1lKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICB9CisgICAgcmV0dXJuIHRydWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VD
b25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNv
bm5lY3Rpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZDg2YWQ3ZjZhODE5ZWZiMjZhMTc4YWVjNDAyNWM3NWJj
Yzg2ZmExCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9D
YWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgKQEAgLTAsMCArMSw4MCBAQAorCisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJGZXRjaEhlYWRlcnMuaCIKKyNpbmNsdWRlICJGZXRj
aE9wdGlvbnMuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJSZXNv
dXJjZVJlc3BvbnNlLmgiCisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2FjaGVRdWVyeU9wdGlvbnM7CisKK2NsYXNz
IENhY2hlU3RvcmFnZUNvbm5lY3Rpb24gOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8Q2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbj4geworcHVibGljOgorICAgIGVudW0gY2xhc3MgRXJyb3Igewor
ICAgICAgICBOb25lLAorICAgICAgICBOb3RJbXBsZW1lbnRlZCwKKyAgICB9OworCisgICAgV0VC
Q09SRV9FWFBPUlQgc3RhdGljIGJvb2wgcXVlcnlDYWNoZU1hdGNoKGNvbnN0IFJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBjYWNoZWRSZXF1ZXN0LCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgQ2FjaGVRdWVyeU9wdGlvbnMmKTsKKworICAgIHN0
YXRpYyBFeGNlcHRpb24gZXhjZXB0aW9uRnJvbUVycm9yKEVycm9yKTsKKworICAgIHN0cnVjdCBS
ZWNvcmQgeworICAgICAgICB1aW50NjRfdCBpZGVudGlmaWVyOworCisgICAgICAgIEZldGNoSGVh
ZGVyczo6R3VhcmQgcmVxdWVzdEhlYWRlcnNHdWFyZDsKKyAgICAgICAgUmVzb3VyY2VSZXF1ZXN0
IHJlcXVlc3Q7CisgICAgICAgIEZldGNoT3B0aW9ucyBvcHRpb25zOworICAgICAgICBTdHJpbmcg
cmVmZXJyZXI7CisKKyAgICAgICAgRmV0Y2hIZWFkZXJzOjpHdWFyZCByZXNwb25zZUhlYWRlcnNH
dWFyZDsKKyAgICAgICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZTsKKyAgICB9OworCisgICAg
c3RhdGljIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiBjcmVhdGUoKSB7IHJldHVybiBhZG9w
dFJlZigqbmV3IENhY2hlU3RvcmFnZUNvbm5lY3Rpb24oKSk7IH0KKyAgICB2aXJ0dWFsIH5DYWNo
ZVN0b3JhZ2VDb25uZWN0aW9uKCkgPSBkZWZhdWx0OworCisgICAgdXNpbmcgT3BlblJlbW92ZUNh
bGxiYWNrID0gV1RGOjpGdW5jdGlvbjx2b2lkKHVpbnQ2NF90LCBFcnJvcik+OworICAgIHVzaW5n
IENhY2hlTWFwQ2FsbGJhY2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoY29uc3QgVmVjdG9yPFN0cmlu
Zz4mKT47CisgICAgdXNpbmcgUmVjb3Jkc0NhbGxiYWNrID0gV1RGOjpGdW5jdGlvbjx2b2lkKFZl
Y3RvcjxSZWNvcmQ+JiYpPjsKKyAgICB1c2luZyBCYXRjaE9wZXJhdGlvbkNhbGxiYWNrID0gV1RG
OjpGdW5jdGlvbjx2b2lkKFZlY3Rvcjx1aW50NjRfdD4mJiwgRXJyb3IpPjsKKworICAgIHZpcnR1
YWwgdm9pZCBvcGVuKGNvbnN0IFN0cmluZyYgLyogb3JpZ2luICovLCBjb25zdCBTdHJpbmcmIC8q
IGNhY2hlTmFtZSAqLywgT3BlblJlbW92ZUNhbGxiYWNrJiYgY2FsbGJhY2spIHsgY2FsbGJhY2so
MCwgRXJyb3I6Ok5vdEltcGxlbWVudGVkKTsgfQorICAgIHZpcnR1YWwgdm9pZCByZW1vdmUodWlu
dDY0X3QgLyogY2FjaGVJZGVudGlmaWVyICovLCBPcGVuUmVtb3ZlQ2FsbGJhY2smJiBjYWxsYmFj
aykgeyBjYWxsYmFjaygwLCBFcnJvcjo6Tm90SW1wbGVtZW50ZWQpOyB9CisgICAgdmlydHVhbCB2
b2lkIHJlZnJlc2hDYWNoZU1hcChjb25zdCBTdHJpbmcmIC8qIG9yaWdpbiAqLywgQ2FjaGVNYXBD
YWxsYmFjayYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKHsgfSk7IH0KKworICAgIHZpcnR1YWwgdm9p
ZCByZWZyZXNoUmVjb3Jkcyh1aW50NjRfdCAvKiBjYWNoZUlkZW50aWZpZXIgKi8sIFJlY29yZHND
YWxsYmFjayYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKHsgfSk7IH0KKyAgICB2aXJ0dWFsIHZvaWQg
YmF0Y2hEZWxldGVPcGVyYXRpb24odWludDY0X3QgLyogY2FjaGVJZGVudGlmaWVyICovLCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBCYXRjaE9wZXJhdGlvbkNh
bGxiYWNrJiYgY2FsbGJhY2spIHsgY2FsbGJhY2soeyB9LCBFcnJvcjo6Tm90SW1wbGVtZW50ZWQp
OyB9CisgICAgdmlydHVhbCB2b2lkIGJhdGNoUHV0T3BlcmF0aW9uKHVpbnQ2NF90IC8qIGNhY2hl
SWRlbnRpZmllciAqLywgVmVjdG9yPFJlY29yZD4mJiwgQmF0Y2hPcGVyYXRpb25DYWxsYmFjayYm
IGNhbGxiYWNrKSB7IGNhbGxiYWNrKHsgfSwgRXJyb3I6Ok5vdEltcGxlbWVudGVkKTsgfQorfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZVJlY29yZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9jYWNoZS9DYWNoZVN0b3JhZ2VSZWNvcmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMGE2YWNlNGJhNGMwOTFk
YzA5YTVkNDU1ZGY2YWM3Y2E1Y2FhMjdiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VSZWNvcmQuaApAQCAtMCwwICsxLDQwIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJGZXRjaFJlcXVlc3QuaCIKKyNp
bmNsdWRlICJGZXRjaFJlc3BvbnNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0
IENhY2hlU3RvcmFnZVJlY29yZCB7CisgICAgdWludDY0X3QgaWRlbnRpZmllcjsKKworICAgIFJl
ZjxGZXRjaFJlcXVlc3Q+IHJlcXVlc3Q7CisgICAgUmVmPEZldGNoUmVzcG9uc2U+IHJlc3BvbnNl
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwCmluZGV4IDg2NjVjNTU2NzJlYTVmNDZiMDlk
NGY5YjA3NWE2OTYyYzU5NTFlZDEuLmE4YTI2NjdiYWE1MjUxYWVkYTA2NWQ4NDgzODYyNTUzZDUw
NTg1NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NV2luZG93
Q2FjaGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0Nh
Y2hlcy5jcHAKQEAgLTI3LDcgKzI3LDExIEBACiAjaW5jbHVkZSAiRE9NV2luZG93Q2FjaGVzLmgi
CiAKICNpbmNsdWRlICJDYWNoZVN0b3JhZ2UuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VQcm92
aWRlci5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkRvY3VtZW50LmgiCisj
aW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtNTksOCArNjMsOCBAQCBDYWNoZVN0b3JhZ2UqIERPTVdpbmRvd0NhY2hlczo6Y2Fj
aGVzKERPTVdpbmRvdyYgd2luZG93KQogCiBDYWNoZVN0b3JhZ2UqIERPTVdpbmRvd0NhY2hlczo6
Y2FjaGVzKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fY2FjaGVzICYmIGZyYW1lKCkpCi0gICAgICAg
IG1fY2FjaGVzID0gQ2FjaGVTdG9yYWdlOjpjcmVhdGUoKTsKKyAgICBpZiAoIW1fY2FjaGVzICYm
IGZyYW1lKCkgJiYgZnJhbWUoKS0+cGFnZSgpICYmIGZyYW1lKCktPmRvY3VtZW50KCkpCisgICAg
ICAgIG1fY2FjaGVzID0gQ2FjaGVTdG9yYWdlOjpjcmVhdGUoKmZyYW1lKCktPmRvY3VtZW50KCks
IGZyYW1lKCktPnBhZ2UoKS0+Y2FjaGVTdG9yYWdlUHJvdmlkZXIoKS5jcmVhdGVDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uKGZyYW1lKCktPnBhZ2UoKS0+c2Vzc2lvbklEKCkpKTsKICAgICByZXR1cm4g
bV9jYWNoZXMuZ2V0KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAKaW5kZXggMDUxNjk4ZTdjNmU1Nzkw
Y2QyNzBhMzE4MGZmZWI0M2M3ZDdkZWFhYS4uYzUzOWNkZTYzYjRiNGQyNzcxYzY5Y2ZmN2Q1OWI3
ZjEyNTg1YjgxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3Jr
ZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNo
ZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAKQEAgLTQwLDcgKzQwLDcgQEAgV29ya2VyR2xv
YmFsU2NvcGVDYWNoZXMqIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzOjpmcm9tKFdvcmtlckdsb2Jh
bFNjb3BlJiBzY29wZSkKIHsKICAgICBhdXRvKiBzdXBwbGVtZW50ID0gc3RhdGljX2Nhc3Q8V29y
a2VyR2xvYmFsU2NvcGVDYWNoZXMqPihTdXBwbGVtZW50PFdvcmtlckdsb2JhbFNjb3BlPjo6ZnJv
bSgmc2NvcGUsIHN1cHBsZW1lbnROYW1lKCkpKTsKICAgICBpZiAoIXN1cHBsZW1lbnQpIHsKLSAg
ICAgICAgYXV0byBuZXdTdXBwbGVtZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxXb3JrZXJHbG9iYWxT
Y29wZUNhY2hlcz4oKTsKKyAgICAgICAgYXV0byBuZXdTdXBwbGVtZW50ID0gc3RkOjptYWtlX3Vu
aXF1ZTxXb3JrZXJHbG9iYWxTY29wZUNhY2hlcz4oc2NvcGUpOwogICAgICAgICBzdXBwbGVtZW50
ID0gbmV3U3VwcGxlbWVudC5nZXQoKTsKICAgICAgICAgcHJvdmlkZVRvKCZzY29wZSwgc3VwcGxl
bWVudE5hbWUoKSwgV1RGTW92ZShuZXdTdXBwbGVtZW50KSk7CiAgICAgfQpAQCAtNTUsNyArNTUs
NyBAQCBDYWNoZVN0b3JhZ2UqIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzOjpjYWNoZXMoV29ya2Vy
R2xvYmFsU2NvcGUmIHNjb3BlKQogQ2FjaGVTdG9yYWdlKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hl
czo6Y2FjaGVzKCkgY29uc3QKIHsKICAgICBpZiAoIW1fY2FjaGVzKQotICAgICAgICBtX2NhY2hl
cyA9IENhY2hlU3RvcmFnZTo6Y3JlYXRlKCk7CisgICAgICAgIG1fY2FjaGVzID0gQ2FjaGVTdG9y
YWdlOjpjcmVhdGUobV9zY29wZSwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6Y3JlYXRlKCkpOwog
ICAgIHJldHVybiBtX2NhY2hlcy5nZXQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oCmluZGV4IDc5NWViZDYx
OWUyNDIxZDRjZWIxYjc4Y2RlZTQzM2UxMjM1MTQ4NmQuLmY2Y2M4NTFlMDg1ZTFkM2E1YzIzY2Fj
NmViN2QzZTZmYWMzOTc2NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmgKQEAgLTM0LDcgKzM0LDcgQEAgY2xhc3Mg
V29ya2VyR2xvYmFsU2NvcGU7CiAKIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzIDogcHVi
bGljIFN1cHBsZW1lbnQ8V29ya2VyR2xvYmFsU2NvcGU+IHsKIHB1YmxpYzoKLSAgICBXb3JrZXJH
bG9iYWxTY29wZUNhY2hlcygpID0gZGVmYXVsdDsKKyAgICBXb3JrZXJHbG9iYWxTY29wZUNhY2hl
cyhXb3JrZXJHbG9iYWxTY29wZSYgc2NvcGUpIDogbV9zY29wZShzY29wZSkgeyB9OwogCiAgICAg
c3RhdGljIENhY2hlU3RvcmFnZSogY2FjaGVzKFdvcmtlckdsb2JhbFNjb3BlJik7CiAKQEAgLTQz
LDYgKzQzLDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5h
bWUoKTsKICAgICBDYWNoZVN0b3JhZ2UqIGNhY2hlcygpIGNvbnN0OwogCisgICAgV29ya2VyR2xv
YmFsU2NvcGUmIG1fc2NvcGU7CiAgICAgbXV0YWJsZSBSZWZQdHI8Q2FjaGVTdG9yYWdlPiBtX2Nh
Y2hlczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0
Y2hCb2R5T3duZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3du
ZXIuaAppbmRleCBjMzIxM2U5NzIxMzkzMDBkNGE1MTg1NGMwNTU5YWI1NTAxNGE5NTViLi43MWFm
YzQ2Y2UwNTFlNGE4NGUzMWFjOTM0NDgzOTZjOGY4NjFlMTljIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5oCkBAIC01Nyw2ICs1Nyw4IEBAIHB1Ymxp
YzoKIAogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdCB7IHJldHVybiAhIW1fYmxvYkxvYWRlcjsg
fQogCisgICAgYm9vbCBpc1JlYWRhYmxlU3RyZWFtQm9keSgpIGNvbnN0IHsgcmV0dXJuIG1fYm9k
eSAmJiBtX2JvZHktPmlzUmVhZGFibGVTdHJlYW0oKTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgY29u
c3QgRmV0Y2hCb2R5JiBib2R5KCkgY29uc3QgeyByZXR1cm4gKm1fYm9keTsgfQogICAgIEZldGNo
Qm9keSYgYm9keSgpIHsgcmV0dXJuICptX2JvZHk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZldGNoL0ZldGNoSGVhZGVycy5oCmluZGV4IGZjM2IxMDhiOWEyZDVhZTU4MzdjMjNjNzkxZmUy
MDljYjY4MzMyYzguLmZlZTFmOGYxZjM4MDkzYjBkMzM1YjkxOGQ5MWRjZTQ0ZmNkOTdkMTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaApAQCAtMzAsNiAr
MzAsNyBAQAogCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRlICJIVFRQSGVhZGVy
TWFwLmgiCisjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFRy
YWl0cy5oPgogI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgpAQCAtNDksNyArNTAsNyBAQCBwdWJsaWM6CiAgICAgdXNpbmcgSW5pdCA9IFZhcmlhbnQ8VmVj
dG9yPFZlY3RvcjxTdHJpbmc+PiwgVmVjdG9yPFdURjo6S2V5VmFsdWVQYWlyPFN0cmluZywgU3Ry
aW5nPj4+OwogICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8RmV0Y2hIZWFkZXJzPj4gY3JlYXRl
KHN0ZDo6b3B0aW9uYWw8SW5pdD4mJik7CiAKLSAgICBzdGF0aWMgUmVmPEZldGNoSGVhZGVycz4g
Y3JlYXRlKEd1YXJkIGd1YXJkID0gR3VhcmQ6Ok5vbmUpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
RmV0Y2hIZWFkZXJzIHsgZ3VhcmQgfSk7IH0KKyAgICBzdGF0aWMgUmVmPEZldGNoSGVhZGVycz4g
Y3JlYXRlKEd1YXJkIGd1YXJkID0gR3VhcmQ6Ok5vbmUsIEhUVFBIZWFkZXJNYXAmJiBoZWFkZXJz
ID0geyB9KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEZldGNoSGVhZGVycyB7IGd1YXJkLCBXVEZN
b3ZlKGhlYWRlcnMpIH0pOyB9CiAgICAgc3RhdGljIFJlZjxGZXRjaEhlYWRlcnM+IGNyZWF0ZShj
b25zdCBGZXRjaEhlYWRlcnMmIGhlYWRlcnMpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmV0Y2hI
ZWFkZXJzIHsgaGVhZGVycyB9KTsgfQogCiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gYXBwZW5kKGNv
bnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSk7CkBAIC04Miw5ICs4MywxMCBA
QCBwdWJsaWM6CiAgICAgY29uc3QgSFRUUEhlYWRlck1hcCYgaW50ZXJuYWxIZWFkZXJzKCkgY29u
c3QgeyByZXR1cm4gbV9oZWFkZXJzOyB9CiAKICAgICB2b2lkIHNldEd1YXJkKEd1YXJkKTsKKyAg
ICBHdWFyZCBndWFyZCgpIGNvbnN0IHsgcmV0dXJuIG1fZ3VhcmQ7IH0KIAogcHJpdmF0ZToKLSAg
ICBleHBsaWNpdCBGZXRjaEhlYWRlcnMoR3VhcmQgZ3VhcmQsIEhUVFBIZWFkZXJNYXAmJiBoZWFk
ZXJzID0geyB9KTsKKyAgICBGZXRjaEhlYWRlcnMoR3VhcmQsIEhUVFBIZWFkZXJNYXAmJik7CiAg
ICAgRmV0Y2hIZWFkZXJzKGNvbnN0IEZldGNoSGVhZGVycyYpOwogCiAgICAgR3VhcmQgbV9ndWFy
ZDsKQEAgLTExMSwzICsxMTMsMTggQEAgaW5saW5lIHZvaWQgRmV0Y2hIZWFkZXJzOjpzZXRHdWFy
ZChHdWFyZCBndWFyZCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCituYW1lc3BhY2Ug
V1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpGZXRjaEhlYWRl
cnM6Okd1YXJkPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICBXZWJDb3Jl
OjpGZXRjaEhlYWRlcnM6Okd1YXJkLAorICAgIFdlYkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQ6
Ok5vbmUsCisgICAgV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZDo6SW1tdXRhYmxlLAorICAg
IFdlYkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQ6OlJlcXVlc3QsCisgICAgV2ViQ29yZTo6RmV0
Y2hIZWFkZXJzOjpHdWFyZDo6UmVxdWVzdE5vQ29ycywKKyAgICBXZWJDb3JlOjpGZXRjaEhlYWRl
cnM6Okd1YXJkOjpSZXNwb25zZQorICAgID47Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCmluZGV4IGUzYTUxZjFhZTg0MzkyYmYzMGZjOGI1
ZDMzNTMxYTA5ZGI4NWNjYWMuLmVkZmFjNWMzODU5MWQ5OWU4OGVkMGZkZjM2ZThkYzRkODk1OGQ2
MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCkBA
IC04MCw3ICs4MCw3IEBAIHZvaWQgRmV0Y2hMb2FkZXI6OnN0YXJ0KFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQsIGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxCiAgICAgb3B0aW9ucy5kYXRh
QnVmZmVyaW5nUG9saWN5ID0gRG9Ob3RCdWZmZXJEYXRhOwogICAgIG9wdGlvbnMuc2FtZU9yaWdp
bkRhdGFVUkxGbGFnID0gU2FtZU9yaWdpbkRhdGFVUkxGbGFnOjpTZXQ7CiAKLSAgICBSZXNvdXJj
ZVJlcXVlc3QgZmV0Y2hSZXF1ZXN0ID0gcmVxdWVzdC5pbnRlcm5hbFJlcXVlc3QoKTsKKyAgICBS
ZXNvdXJjZVJlcXVlc3QgZmV0Y2hSZXF1ZXN0ID0gcmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKTsK
IAogICAgIEFTU0VSVChjb250ZXh0LmNvbnRlbnRTZWN1cml0eVBvbGljeSgpKTsKICAgICBhdXRv
JiBjb250ZW50U2VjdXJpdHlQb2xpY3kgPSAqY29udGV4dC5jb250ZW50U2VjdXJpdHlQb2xpY3ko
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcAppbmRl
eCBlNjZjMTVjOTk0Y2U1MWVkZDU0OTNhZDI1ODc0MmRkZTY4Y2EzZDRiLi44ZDBjMjM4NzgzYmFm
MDM4NGQyN2M0ZDQ4ZjYxN2M2MTAyNzY5ZTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9mZXRjaC9GZXRjaFJlcXVlc3QuY3BwCkBAIC03NCw3ICs3NCw3IEBAIHN0YXRpYyBzdGQ6Om9w
dGlvbmFsPEV4Y2VwdGlvbj4gc2V0UmVmZXJyZXIoRmV0Y2hSZXF1ZXN0OjpJbnRlcm5hbFJlcXVl
c3QmIHJlcXVlCiAKIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbj4gYnVpbGRPcHRpb25z
KEZldGNoUmVxdWVzdDo6SW50ZXJuYWxSZXF1ZXN0JiByZXF1ZXN0LCBTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0LCBjb25zdCBGZXRjaFJlcXVlc3Q6OkluaXQmIGluaXQpCiB7Ci0gICAg
aWYgKCFpbml0LndpbmRvdy5pc1VuZGVmaW5lZE9yTnVsbCgpKQorICAgIGlmICghaW5pdC53aW5k
b3cuaXNVbmRlZmluZWRPck51bGwoKSAmJiAhaW5pdC53aW5kb3cuaXNFbXB0eSgpKQogICAgICAg
ICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIldpbmRvdyBjYW4g
b25seSBiZSBudWxsLiIpIH07CiAKICAgICBpZiAoIWluaXQucmVmZXJyZXIuaXNOdWxsKCkpIHsK
QEAgLTI2NCw3ICsyNjQsNyBAQCBjb25zdCBTdHJpbmcmIEZldGNoUmVxdWVzdDo6dXJsKCkgY29u
c3QKICAgICByZXR1cm4gbV9yZXF1ZXN0VVJMOwogfQogCi1SZXNvdXJjZVJlcXVlc3QgRmV0Y2hS
ZXF1ZXN0OjppbnRlcm5hbFJlcXVlc3QoKSBjb25zdAorUmVzb3VyY2VSZXF1ZXN0IEZldGNoUmVx
dWVzdDo6cmVzb3VyY2VSZXF1ZXN0KCkgY29uc3QKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1
ZXN0LmgKaW5kZXggMWYwYjE2ZThhNWExNzlmMGZlYWMwYjU5N2RkNTg3NDlmYWVkYWJkZC4uNjFk
Y2QyYzU4NjMzMDk3ZDFlNjJlNmM1YTkxZWIxMDAyMTc3OWMzNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5oCkBAIC01MywxMSArNTMsMTkgQEAgcHVibGlj
OgogICAgIHVzaW5nIFJlZGlyZWN0ID0gRmV0Y2hPcHRpb25zOjpSZWRpcmVjdDsKICAgICB1c2lu
ZyBUeXBlID0gRmV0Y2hPcHRpb25zOjpUeXBlOwogCisgICAgc3RydWN0IEludGVybmFsUmVxdWVz
dCB7CisgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0OworICAgICAgICBGZXRjaE9wdGlv
bnMgb3B0aW9uczsKKyAgICAgICAgU3RyaW5nIHJlZmVycmVyOworICAgIH07CisKICAgICBzdGF0
aWMgRXhjZXB0aW9uT3I8UmVmPEZldGNoUmVxdWVzdD4+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiwgSW5mbyYmLCBJbml0JiYpOworICAgIHN0YXRpYyBSZWY8RmV0Y2hSZXF1ZXN0PiBj
cmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjpvcHRpb25hbDxGZXRj
aEJvZHk+JiYgYm9keSwgUmVmPEZldGNoSGVhZGVycz4mJiBoZWFkZXJzLCBJbnRlcm5hbFJlcXVl
c3QmJiByZXF1ZXN0KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEZldGNoUmVxdWVzdChjb250ZXh0
LCBXVEZNb3ZlKGJvZHkpLCBXVEZNb3ZlKGhlYWRlcnMpLCBXVEZNb3ZlKHJlcXVlc3QpKSk7IH0K
IAogICAgIGNvbnN0IFN0cmluZyYgbWV0aG9kKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJl
cXVlc3QucmVxdWVzdC5odHRwTWV0aG9kKCk7IH0KICAgICBjb25zdCBTdHJpbmcmIHVybCgpIGNv
bnN0OwogICAgIEZldGNoSGVhZGVycyYgaGVhZGVycygpIHsgcmV0dXJuIG1faGVhZGVycy5nZXQo
KTsgfQorICAgIGNvbnN0IEZldGNoSGVhZGVycyYgaGVhZGVycygpIGNvbnN0IHsgcmV0dXJuIG1f
aGVhZGVycy5nZXQoKTsgfQogCiAgICAgVHlwZSB0eXBlKCkgY29uc3Q7CiAgICAgRGVzdGluYXRp
b24gZGVzdGluYXRpb24oKSBjb25zdDsKQEAgLTczLDE3ICs4MSwxNCBAQCBwdWJsaWM6CiAKICAg
ICBFeGNlcHRpb25PcjxSZWY8RmV0Y2hSZXF1ZXN0Pj4gY2xvbmUoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYpOwogCi0gICAgc3RydWN0IEludGVybmFsUmVxdWVzdCB7Ci0gICAgICAgIFJlc291cmNl
UmVxdWVzdCByZXF1ZXN0OwotICAgICAgICBGZXRjaE9wdGlvbnMgb3B0aW9uczsKLSAgICAgICAg
U3RyaW5nIHJlZmVycmVyOwotICAgIH07CisgICAgY29uc3QgSW50ZXJuYWxSZXF1ZXN0JiBpbnRl
cm5hbFJlcXVlc3QoKSBjb25zdCB7IHJldHVybiBtX2ludGVybmFsUmVxdWVzdDsgfQogCiAgICAg
Y29uc3QgRmV0Y2hPcHRpb25zJiBmZXRjaE9wdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX2ludGVy
bmFsUmVxdWVzdC5vcHRpb25zOyB9Ci0gICAgUmVzb3VyY2VSZXF1ZXN0IGludGVybmFsUmVxdWVz
dCgpIGNvbnN0OworICAgIFJlc291cmNlUmVxdWVzdCByZXNvdXJjZVJlcXVlc3QoKSBjb25zdDsK
ICAgICBib29sIGlzQm9keVJlYWRhYmxlU3RyZWFtKCkgY29uc3QgeyByZXR1cm4gIWlzQm9keU51
bGwoKSAmJiBib2R5KCkuaXNSZWFkYWJsZVN0cmVhbSgpOyB9CiAKICAgICBjb25zdCBTdHJpbmcm
IGludGVybmFsUmVxdWVzdFJlZmVycmVyKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVl
c3QucmVmZXJyZXI7IH0KKyAgICBjb25zdCBVUkwmIGludGVybmFsUmVxdWVzdFVSTCgpIGNvbnN0
IHsgcmV0dXJuIG1faW50ZXJuYWxSZXF1ZXN0LnJlcXVlc3QudXJsKCk7IH0KIAogcHJpdmF0ZToK
ICAgICBGZXRjaFJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0ZDo6b3B0aW9uYWw8
RmV0Y2hCb2R5PiYmLCBSZWY8RmV0Y2hIZWFkZXJzPiYmLCBJbnRlcm5hbFJlcXVlc3QmJik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcAppbmRleCA2
OGFkYjU1OWZlOTUzMGY3NDU2ZGM5NmY5ODg0YjdmZmRkNmE4MWJlLi5jNmRhMTExYjE5NTg3NDE2
MzVmMTMyMDM5MmU0YzZhYjc4MjM5ZmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHAKQEAgLTM1NSw2ICszNTUsMTQgQEAgdm9pZCBGZXRjaFJl
c3BvbnNlOjpjYW5jZWwoKQogCiAjZW5kaWYKIAorUmVmUHRyPEZvcm1EYXRhPiBGZXRjaFJlc3Bv
bnNlOjpib2R5Rm9ySW50ZXJuYWxSZXNwb25zZSgpCit7CisgICAgQVNTRVJUKCFtX2lzRGlzdHVy
YmVkKTsKKyAgICBtX2lzRGlzdHVyYmVkID0gdHJ1ZTsKKyAgICByZXR1cm4gYm9keSgpLmJvZHlG
b3JJbnRlcm5hbFJlcXVlc3QoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CisKK30KKwogdm9p
ZCBGZXRjaFJlc3BvbnNlOjpzdG9wKCkKIHsKICAgICBSZWZQdHI8RmV0Y2hSZXNwb25zZT4gcHJv
dGVjdGVkVGhpcyh0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hSZXNwb25zZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJl
c3BvbnNlLmgKaW5kZXggZjliMDJmYjBlNTg3YWI0ZWIzZDU1OTc5NGIzOTFmNzlmNWExZGM2Ni4u
OTk2Yjg5ZTZjZjI3YmY0MjI3NGVlZDA3ZmVhNzAxMDJjZWNlMzhmMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmgKQEAgLTU3LDYgKzU3LDggQEAgcHVi
bGljOgogICAgIHN0YXRpYyBSZWY8RmV0Y2hSZXNwb25zZT4gZXJyb3IoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYpOwogICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8RmV0Y2hSZXNwb25zZT4+IHJl
ZGlyZWN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTdHJpbmcmIHVybCwgaW50IHN0
YXR1cyk7CiAKKyAgICBzdGF0aWMgUmVmPEZldGNoUmVzcG9uc2U+IGNyZWF0ZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBjb250ZXh0LCBzdGQ6Om9wdGlvbmFsPEZldGNoQm9keT4mJiBib2R5LCBS
ZWY8RmV0Y2hIZWFkZXJzPiYmIGhlYWRlcnMsIFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSkg
eyByZXR1cm4gYWRvcHRSZWYoKm5ldyBGZXRjaFJlc3BvbnNlKGNvbnRleHQsIFdURk1vdmUoYm9k
eSksIFdURk1vdmUoaGVhZGVycyksIFdURk1vdmUocmVzcG9uc2UpKSk7IH0KKwogICAgIHVzaW5n
IEZldGNoUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8RmV0Y2hSZXNw
b25zZT4+OwogICAgIHN0YXRpYyB2b2lkIGZldGNoKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBG
ZXRjaFJlcXVlc3QmLCBGZXRjaFByb21pc2UmJik7CiAKQEAgLTc4LDYgKzgwLDcgQEAgcHVibGlj
OgogICAgIGJvb2wgb2soKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlLmlzU3VjY2Vzc2Z1bCgp
OyB9CiAgICAgY29uc3QgU3RyaW5nJiBzdGF0dXNUZXh0KCkgY29uc3QgeyByZXR1cm4gbV9yZXNw
b25zZS5odHRwU3RhdHVzVGV4dCgpOyB9CiAKKyAgICBjb25zdCBGZXRjaEhlYWRlcnMmIGhlYWRl
cnMoKSBjb25zdCB7IHJldHVybiBtX2hlYWRlcnM7IH0KICAgICBGZXRjaEhlYWRlcnMmIGhlYWRl
cnMoKSB7IHJldHVybiBtX2hlYWRlcnM7IH0KICAgICBSZWY8RmV0Y2hSZXNwb25zZT4gY2xvbmVG
b3JKUygpOwogCkBAIC05MCw2ICs5MywxMCBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzTG9hZGlu
ZygpIGNvbnN0IHsgcmV0dXJuICEhbV9ib2R5TG9hZGVyOyB9CiAKKyAgICBSZWZQdHI8Rm9ybURh
dGE+IGJvZHlGb3JJbnRlcm5hbFJlc3BvbnNlKCk7CisKKyAgICBjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiByZXNwb25zZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2U7IH0KKwogcHJpdmF0ZToK
ICAgICBGZXRjaFJlc3BvbnNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6Om9wdGlvbmFs
PEZldGNoQm9keT4mJiwgUmVmPEZldGNoSGVhZGVycz4mJiwgUmVzb3VyY2VSZXNwb25zZSYmKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDhhYTU3YWRlZDUzYWY5OTRkOWJhNjdiOTQ3MWU1YjJjOWE4Nzc0YjMuLjcxMWVkNDgw
NDc3YTVlNTg0MDg3OWJjMGQ0ODY0ZGQ5MmI0YTNkZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE3ODQsNiArMTc4NCwxNCBA
QAogCQk0MUNGOEJFNzFENDYyMjY3MDA3MDdEQzkgLyogRmV0Y2hCb2R5Q29uc3VtZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFDRjhCRTQxRDQ2
MjIyMDAwNzA3REM5IC8qIEZldGNoQm9keUNvbnN1bWVyLmNwcCAqLzsgfTsKIAkJNDFEMDE1Q0Ew
RjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQwMTVDODBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVu
dFR5cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk0MUQwMTVDQjBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMDE1QzkwRjRCNUM3MTAwNEE2
NjJGIC8qIENvbnRlbnRUeXBlLmNwcCAqLzsgfTsKKwkJNDFEMTI5Q0UxRjNEMEVGNjAwRDE1RTQ3
IC8qIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MUZCMjc4RDFGMzRDMjgyMDA3OTU0ODcgLyogV29ya2VyR2xv
YmFsU2NvcGVDYWNoZXMuaCAqLzsgfTsKKwkJNDFEMTI5Q0YxRjNEMEVGRTAwRDE1RTQ3IC8qIENh
Y2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDFEMTI5QzkxRjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNv
bm5lY3Rpb24uY3BwICovOyB9OworCQk0MUQxMjlEMDFGM0QwRjA1MDBEMTVFNDcgLyogQ2FjaGVR
dWVyeU9wdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQxRkIyNzlCMUYzNENFRjAwMDc5NTQ4NyAvKiBDYWNoZVF1ZXJ5T3B0aW9ucy5oICovOyB9
OworCQk0MUQxMjlEMTFGM0QwRjBFMDBEMTVFNDcgLyogRE9NV2luZG93Q2FjaGVzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUZCMjc4QzFGMzRDMjgy
MDA3OTU0ODcgLyogRE9NV2luZG93Q2FjaGVzLmggKi87IH07CisJCTQxRDEyOUQyMUYzRDBGMTIw
MEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VSZWNvcmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDEyOUNBMUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0
b3JhZ2VSZWNvcmQuaCAqLzsgfTsKKwkJNDFEMTI5RDMxRjNEMEYxNjAwRDE1RTQ3IC8qIENhY2hl
U3RvcmFnZUNvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxRDEyOUNDMUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
NDFEMTI5RDUxRjNEMEY2OTAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVByb3ZpZGVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQxMjlENDFGM0QwRjY2
MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0MUQxMjlEQjFGM0QxNDM4MDBEMTVFNDcgLyog
RmV0Y2hIZWFkZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MUY1NEY4MzFDNTBDNEY2MDAzMzg0ODggLyogRmV0Y2hIZWFkZXJzLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDFERUZDQjUxRTU2QzFC
RDAwMEQ5RTVGIC8qIEpTRE9NTWFwTGlrZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MURFRkNCMzFFNTZDMUI5MDAwRDlFNUYgLyogSlNET01NYXBM
aWtlLmNwcCAqLzsgfTsKIAkJNDFERUZDQjYxRTU2QzFCRDAwMEQ5RTVGIC8qIEpTRE9NTWFwTGlr
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFERUZD
QjQxRTU2QzFCOTAwMEQ5RTVGIC8qIEpTRE9NTWFwTGlrZS5oICovOyB9OwogCQk0MUUxQjFEMDBG
RjU5ODY5MDA1NzZCM0IgLyogQWJzdHJhY3RXb3JrZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFFMUIxQ0EwRkY1OTg2OTAwNTc2QjNCIC8qIEFi
c3RyYWN0V29ya2VyLmNwcCAqLzsgfTsKQEAgLTk0NDQsNiArOTQ1MiwxMSBAQAogCQk0MUNGOEJF
NjFENDYyMjJDMDA3MDdEQzkgLyogRmV0Y2hJbnRlcm5hbHMuanMgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmphdmFzY3JpcHQ7IHBhdGggPSBGZXRjaEludGVybmFscy5qczsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDFEMDE1QzgwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRUeXBlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRDAxNUM5MEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50
VHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb250ZW50VHlw
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRDEyOUM5MUYzRDBFRTMwMEQx
NUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk0MUQxMjlDQTFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdl
UmVjb3JkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlU3RvcmFnZVJl
Y29yZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUQxMjlDQjFGM0QwRUUzMDBE
MTVFNDcgLyogQ2FjaGVTdG9yYWdlLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0
OyBwYXRoID0gQ2FjaGVTdG9yYWdlLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0
MUQxMjlDQzFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRDEyOUQ0MUYzRDBGNjYwMEQxNUU0NyAvKiBD
YWNoZVN0b3JhZ2VQcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
YWNoZVN0b3JhZ2VQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUQ1
MUJCMjFFNEUyRTgxMDAxMzFBNUIgLyogTGliV2ViUlRDQXVkaW9Gb3JtYXQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRDQXVkaW9Gb3JtYXQuaDsgcGF0aCA9IGxp
YndlYnJ0Yy9MaWJXZWJSVENBdWRpb0Zvcm1hdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0MURFRkNCMjFFNTZDMUI5MDAwRDlFNUYgLyogSlNET01CaW5kaW5nSW50ZXJuYWxzLmpz
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gSlNET01CaW5kaW5nSW50
ZXJuYWxzLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MURFRkNCMzFFNTZDMUI5
MDAwRDlFNUYgLyogSlNET01NYXBMaWtlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTRE9NTWFwTGlrZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0xNzY0NCw2ICsxNzY1NywxMCBAQAogCQkJCTQxMzgwQzIxMUYzNDM2OEQwMDE1NUZEQSAvKiBD
YWNoZVN0b3JhZ2UuY3BwICovLAogCQkJCTQxMzgwQzIyMUYzNDM2OTAwMDE1NUZEQSAvKiBDYWNo
ZVN0b3JhZ2UuaCAqLywKIAkJCQk0MTM4MEMyNDFGMzQzNjk3MDAxNTVGREEgLyogQ2FjaGVTdG9y
YWdlLmlkbCAqLywKKwkJCQk0MUQxMjlDQjFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdl
LmpzICovLAorCQkJCTQxRDEyOUM5MUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25u
ZWN0aW9uLmNwcCAqLywKKwkJCQk0MUQxMjlDQzFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbi5oICovLAorCQkJCTQxRDEyOUNBMUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNo
ZVN0b3JhZ2VSZWNvcmQuaCAqLywKIAkJCQk0MUZCMjc4RTFGMzRDMjgyMDA3OTU0ODcgLyogRE9N
V2luZG93Q2FjaGVzLmNwcCAqLywKIAkJCQk0MUZCMjc4QzFGMzRDMjgyMDA3OTU0ODcgLyogRE9N
V2luZG93Q2FjaGVzLmggKi8sCiAJCQkJNDEzODBDMkIxRjM0M0UyRjAwMTU1RkRBIC8qIERPTVdp
bmRvd0NhY2hlcy5pZGwgKi8sCkBAIC0xODYwMywxMiArMTg2MjAsMTIgQEAKIAkJCQk1MTgyQzI1
MjFGMzE0MjUwMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyLmggKi8sCiAJCQkJNTE4MkMyNTEx
RjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAgKi8sCiAJCQkJ
NTE4MkMyNTQxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlckNvbnRhaW5lci5oICov
LAotCQkJCTUxRjE3NTAwMUYzNThCMzYwMEM3NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVW
aWFDYWNoZS5jcHAgKi8sCi0JCQkJNTFGMTc1MDExRjM1OEIzNjAwQzc0OTUwIC8qIEpTU2Vydmlj
ZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggKi8sCiAJCQkJNTE4MkMyNEUxRjMxNDI1MDAwNTlCQTdD
IC8qIEpTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcCAqLywKIAkJCQk1MTgyQzI0RDFGMzE0
MjUwMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCAqLywKIAkJCQk1MTgy
QzI0RjFGMzE0MjUwMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcCAq
LywKIAkJCQk1MTgyQzI1MDFGMzE0MjUwMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uLmggKi8sCisJCQkJNTFGMTc1MDAxRjM1OEIzNjAwQzc0OTUwIC8qIEpTU2VydmljZVdv
cmtlclVwZGF0ZVZpYUNhY2hlLmNwcCAqLywKKwkJCQk1MUYxNzUwMTFGMzU4QjM2MDBDNzQ5NTAg
LyogSlNTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuaCAqLywKIAkJCSk7CiAJCQluYW1lID0g
U2VydmljZVdvcmtlcnM7CiAJCQlwYXRoID0gRGVyaXZlZFNvdXJjZXM7CkBAIC0xOTIxMyw2ICsx
OTIzMCw3IEBACiAJCQkJQkMxMjRFRTYwQzI2NDFDRDAwOUUyMzQ5IC8qIEJhclByb3AuaWRsICov
LAogCQkJCTQ2MEJCNjEzMUQwQTFCRUMwMDIyMTgxMiAvKiBCYXNlNjRVdGlsaXRpZXMuY3BwICov
LAogCQkJCTQ2MEJCNjE0MUQwQTFCRUMwMDIyMTgxMiAvKiBCYXNlNjRVdGlsaXRpZXMuaCAqLywK
KwkJCQk0MUQxMjlENDFGM0QwRjY2MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAq
LywKIAkJCQkwNzJDQTg2MDE2Q0I0REMzMDA4QUUxMzEgLyogQ2FwdGlvblVzZXJQcmVmZXJlbmNl
cy5jcHAgKi8sCiAJCQkJMDc5RDA4NjcxNjJGMjBFODAwREI4NjU4IC8qIENhcHRpb25Vc2VyUHJl
ZmVyZW5jZXMuaCAqLywKIAkJCQkwNzlEMDg2QTE2MkYyMUY5MDBEQjg2NTggLyogQ2FwdGlvblVz
ZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwICovLApAQCAtMjY2OTksNyArMjY3MTcsMTEgQEAKIAkJ
CQkwNzUzODYwMzE0NDg5RTk4MDBCNzg0NTIgLyogQ2FjaGVkVGV4dFRyYWNrLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQ0IxNkMyODA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVl
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk5NTAwODI0NUU1OTAwMUU5QUJDIC8qIENhY2hl
UG9saWN5LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUQxMjlEMDFGM0QwRjA1MDBEMTVFNDcgLyog
Q2FjaGVRdWVyeU9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxMzgwQzI5MUYzNDM2QUMw
MDE1NUZEQSAvKiBDYWNoZVN0b3JhZ2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxRDEyOUQzMUYz
RDBGMTYwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywK
KwkJCQk0MUQxMjlENTFGM0QwRjY5MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCBp
biBIZWFkZXJzICovLAorCQkJCTQxRDEyOUQyMUYzRDBGMTIwMEQxNUU0NyAvKiBDYWNoZVN0b3Jh
Z2VSZWNvcmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0M0FGOEU3MUFDNUI3RUMwMENBNzE3RSAv
KiBDYWNoZVZhbGlkYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5QUUyRDk3MTM0RUU1Rjkw
MDcyOTIwQSAvKiBDYWxjdWxhdGlvblZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzFFOEQw
MTFFRDBDMkRBMDBCMUQ5ODMgLyogQ2FsbGJhY2tSZXN1bHQuaCBpbiBIZWFkZXJzICovLApAQCAt
MjY3NjQsNyArMjY3ODYsNiBAQAogCQkJCUE1ODRGRTJDMTg2Mzg3MEYwMDg0M0IxMCAvKiBDb21t
YW5kTGluZUFQSU1vZHVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU4NEZFMjYxODYzN0RBQjAw
ODQzQjEwIC8qIENvbW1hbmRMaW5lQVBJTW9kdWxlU291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk2NTUwQjZBMjA5OURGMDI3MDA5MEQ3ODEgLyogQ29tbWVudC5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJNTExQ0E2N0UxRjM5MDVBNjAwMTlFMDc0IC8qIFNlcnZpY2VXb3JrZXJKb2IuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTU3RTY2NEZDMUU3MzcwMzMwMDc2NTUzNiAvKiBDb21tb25DcnlwdG9ERVJV
dGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxRkUxMzc1MTg0MDJBNjcwMDg5MkYxMyAv
KiBDb21tb25DcnlwdG9VdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNjBGMzJCMURG
QkIxMDcwMDQxNkQ2QyAvKiBDb21tb25WTS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzE3Miw2ICsy
NzE5Myw3IEBACiAJCQkJMkUzN0RGREIxMkRCQUZCODAwQTZCMjMzIC8qIERPTVVSTC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQ0Q5REUxODIxN0FBRDZBNDAwRUEzODZEIC8qIERPTVVSTE1lZGlhU291
cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNDAzQjk5NzA5RUIxM0FGMDA3OTdDN0YgLyogRE9N
V2luZG93LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUQxMjlEMTFGM0QwRjBFMDBEMTVFNDcgLyog
RE9NV2luZG93Q2FjaGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUZBMkQ3ODE1MjEzMkIzMDBD
MUJBMEIgLyogRE9NV2luZG93RXh0ZW5zaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTg1RkM3
NTFCQjRDNEU4MDAxMjg5OEYgLyogRE9NV2luZG93SW5kZXhlZERhdGFiYXNlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk5N0QyQUQwNDE0QjgyM0E2MDA5M0RGMzIgLyogRE9NV2luZG93UHJvcGVydHku
aCBpbiBIZWFkZXJzICovLApAQCAtMjcyNjcsNiArMjcyODksNyBAQAogCQkJCTg0NzMwRDg1MTI0
OEYwQjMwMEQzQTlDOSAvKiBGRU1vcnBob2xvZ3kuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0NzMw
RDg3MTI0OEYwQjMwMEQzQTlDOSAvKiBGRU9mZnNldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ3
MzBEODkxMjQ4RjBCMzAwRDNBOUM5IC8qIEZFU3BlY3VsYXJMaWdodGluZy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNDFEMTI5REIxRjNEMTQzODAwRDE1RTQ3IC8qIEZldGNoSGVhZGVycy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNDE2RTZGRTgxQkJEMTJERjAwMEE2MDIzIC8qIEZldGNoSW50ZXJuYWxz
QnVpbHRpbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxQUQ3NTNBMUNFRjZCRDEwMEEzMTQ4NiAv
KiBGZXRjaE9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDRTE5MTREMUYyQTlBRkIwMDI3
MkY3OCAvKiBGZXRjaFJlZmVycmVyUG9saWN5LmggaW4gSGVhZGVycyAqLywKQEAgLTI3NDAwLDcg
KzI3NDIzLDYgQEAKIAkJCQkzMTZCREJGNzFFNzYyQUQ1MDBERTBENUEgLyogR1BVRGVwdGhTdGVu
Y2lsRGVzY3JpcHRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE2QkRCRjAxRTc2MjkyMDAwREUw
RDVBIC8qIEdQVURlcHRoU3RlbmNpbFN0YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTZCREI4
NjFFNkUwQTI3MDBERTBENUEgLyogR1BVRGV2aWNlLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYx
NzRGRTFGMzU4OTkyMDBDNzQ5NTAgLyogV29ya2VyVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MzE2QkRCQ0QxRTc1RjE4NDAwREUwRDVBIC8qIEdQVURyYXdhYmxlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkzMTZCREJGQjFFNzYyRDA0MDBERTBENUEgLyogR1BVRW51bXMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTMxNkJEQjk1MUU3MEM4OTcwMERFMEQ1QSAvKiBHUFVGdW5jdGlvbi5oIGluIEhlYWRl
cnMgKi8sCkBAIC0yNzQ4MiwxNCArMjc1MDQsMTIgQEAKIAkJCQk5M0YxOThFNTA4MjQ1RTU5MDAx
RTlBQkMgLyogSFRNTERvY3VtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzdCMzg2NzEyMjg4
M0U5MDBCODFGRjggLyogSFRNTERvY3VtZW50UGFyc2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5
M0YxOThFNjA4MjQ1RTU5MDAxRTlBQkMgLyogSFRNTEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAot
CQkJCTUxQkVCNjM5MUYzQjk0QjAwMDUwMjlCOSAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
T3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE3QzgxMjMwRjJBNUNGNzAwNURBQUVCIC8q
IEhUTUxFbGVtZW50RmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc3QjM3MjQxMjI4NzIx
NzAwQjgxRkY4IC8qIEhUTUxFbGVtZW50U3RhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUI1NjJE
QjYwMTdEM0NENjMwMDEwQUY5NiAvKiBIVE1MRWxlbWVudFR5cGVIZWxwZXJzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBODcxRDQ1QzBBMTI3Q0JDMDBCMTJBNjggLyogSFRNTEVtYmVkRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTc3QjM4NkExMjI4ODNFOTAwQjgxRkY4IC8qIEhUTUxFbnRp
dHlQYXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3N0IzODZDMTIyODgzRTkwMEI4MUZGOCAv
KiBIVE1MRW50aXR5U2VhcmNoLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzRGRjFGMzU4OTk3
MDBDNzQ5NTAgLyogU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5NzdCMzg2RDEyMjg4M0U5MDBCODFGRjggLyogSFRNTEVudGl0eVRhYmxlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBODEzNjlENDA5NzM3NEY2MDBENzQ0NjMgLyogSFRNTEZpZWxkU2V0RWxl
bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThDRkY3QTYwQTE1Njk3ODAwMEE0MjM0IC8qIEhU
TUxGb250RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODIzNyw2ICsyODI1Nyw3IEBACiAJ
CQkJNTE4MkMyNTgxRjMxNDNDRDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlckNvbnRhaW5lci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4MkMyNUExRjMxNDNDRDAwNTlCQTdDIC8qIEpTU2Vydmlj
ZVdvcmtlckdsb2JhbFNjb3BlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTgyQzI1QzFGMzE0M0NE
MDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmggaW4gSGVhZGVycyAqLywK
KwkJCQk1MUYxNzUwMzFGMzU4QjNCMDBDNzQ5NTAgLyogSlNTZXJ2aWNlV29ya2VyVXBkYXRlVmlh
Q2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTlCREE2NEQ4MUI5NzVDRjIwMDlDNDM4NyAvKiBK
U1NoYWRvd1Jvb3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ2REZGNDlDMURDMjYyMEIwMEI4MEI0
OCAvKiBKU1NoYWRvd1Jvb3RNb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDlERTE3QjE3QUFD
NzVCMDBFQTM4NkQgLyogSlNTb3VyY2VCdWZmZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMjg0MzYs
NyArMjg0NTcsNiBAQAogCQkJCTZFM0ZBRDM5MTQ3MzNGNDAwMEU0MjMwNiAvKiBKU1dlYkdMQ29t
cHJlc3NlZFRleHR1cmVTM1RDLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RUU4QTc3MzEwRjgwM0Yz
MDA1QTRBMjQgLyogSlNXZWJHTENvbnRleHRBdHRyaWJ1dGVzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQzJDQkY0RTE0MEYxQUJEMDAzODc5QkUgLyogSlNXZWJHTENvbnRleHRFdmVudC5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJNTFGMTc1MDYxRjM1OEJGNzAwQzc0OTUwIC8qIEpTV29ya2VyVHlwZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNkUzRkFEMzkxNDczM0Y0MDExRTQyMzA3IC8qIEpTV2ViR0xE
ZWJ1Z1JlbmRlcmVySW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkUzRkFEMzkxNDczM0Y0MDIy
RTQyMzA3IC8qIEpTV2ViR0xEZWJ1Z1NoYWRlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTZFM0ZB
RDM5MTQ3MzNGNDAwMEU0MjMwNyAvKiBKU1dlYkdMRGVwdGhUZXh0dXJlLmggaW4gSGVhZGVycyAq
LywKQEAgLTI4NDk0LDYgKzI4NTE0LDcgQEAKIAkJCQlFMUMzNkQzNTBFQjBBMDk0MDA3NDEwQkMg
LyogSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQzM2MkVG
MEVBRjJBQTkwMDc0MTBCQyAvKiBKU1dvcmtlckxvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMTI3MUE1ODBFRUVDREU0MDBGNjEyMTMgLyogSlNXb3JrZXJOYXZpZ2F0b3IuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTUxRjE3NTA2MUYzNThCRjcwMEM3NDk1MCAvKiBKU1dvcmtlclR5cGUuaCBp
biBIZWFkZXJzICovLAogCQkJCTdDNEM5NkREMUFENDQ4MzUwMDM2NUE2MCAvKiBKU1dyaXRhYmxl
U3RyZWFtLmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzU4Q0I3MDFDNTMyNzc1MDBFMEMyRDggLyog
SlNYTUxEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMzNDhCRDQwREI3RjgwNDAwNEFC
QUI5IC8qIEpTWE1MSHR0cFJlcXVlc3QuaCBpbiBIZWFkZXJzICovLApAQCAtMjg3MTUsNyArMjg3
MzYsNiBAQAogCQkJCTQxM0UwMDc5MURCMEU0RjIwMDIzNDFEMiAvKiBNZW1vcnlSZWxlYXNlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOURGQTA5OUU2NDkyMDA1NkU1ODEgLyogTWVyZ2VJZGVu
dGljYWxFbGVtZW50c0NvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQURFQ0NFMEU3NkFE
OEIwMDRBMUE1RSAvKiBNZXNzYWdlQ2hhbm5lbC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTFGMTc1
MDMxRjM1OEIzQjAwQzc0OTUwIC8qIEpTU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggaW4g
SGVhZGVycyAqLywKIAkJCQk3NTc5M0U4NDBEMENFMEIzMDA3RkMwQUMgLyogTWVzc2FnZUV2ZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUFERUNCRjBFNzZBQ0YxMDA0QTFBNUUgLyogTWVzc2Fn
ZVBvcnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxQkY3MDBDMEZFODZGNDkwMDVFOERFQyAvKiBN
ZXNzYWdlUG9ydENoYW5uZWwuaCBpbiBIZWFkZXJzICovLApAQCAtMjg3MzcsNyArMjg3NTcsNiBA
QAogCQkJCTA3RUU3NkVDMUJFOTZEQjAwMEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJj
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdFRTc2RUYxQkVBNjE5ODAwRjg5MTMzIC8qIE1vY2tS
ZWFsdGltZVZpZGVvU291cmNlTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREYyQjAxNzE4MjA1
NDA3MDBGMkI0MjQgLyogTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuaCBpbiBIZWFkZXJzICovLAot
CQkJCTUxMUNBNjgwMUYzOTMzMUYwMDE5RTA3NCAvKiBTZXJ2aWNlV29ya2VySm9iQ2xpZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlDREYyQjAxOTE4MjA1NDA3MDBGMkI0MjQgLyogTW9ja1RyYWNr
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzZENzRBRDUwOUFBMjgyRTAwMEIwQTUyIC8qIE1vZGlm
eVNlbGVjdGlvbkxpc3RMZXZlbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzA5QTAxRkUxRTNEMEJE
RDAwNkIwRDRDIC8qIE1vZHVsZUZldGNoRmFpbHVyZUtpbmQuaCBpbiBIZWFkZXJzICovLApAQCAt
MjkwNTAsNyArMjkwNjksNiBAQAogCQkJCTA3QzFDMEU1MUJGQjYwRUQwMEJEMjI1NiAvKiBSZWFs
dGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTQxMTAzQUFDMUUzOTc5MTAwMDc2OUYwMyAvKiBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDNDM2OEU4MEMyMjZFMzIwMDVFRkI1RiAvKiBSZWN0Lmgg
aW4gSGVhZGVycyAqLywKLQkJCQk1MTFDQTY4NDFGM0EzQ0Q5MDAxOUUwNzQgLyogU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvblBhcmFtZXRlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUZENDVBOTU4
MTc1RDQxNEMwMEMyMUVDOCAvKiBSZWN0YW5nbGVTaGFwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTgzMUFFNEExNTQyMjVDOTAwRkUyNjQ0IC8qIFJlZmVycmVyUG9saWN5LmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQ0FCNDE4MjEzRTM1NkU4MDBEOEFBRjMgLyogUmVnaW9uLmggaW4gSGVhZGVycyAq
LywKQEAgLTI5Mzk1LDcgKzI5NDEzLDEzIEBACiAJCQkJNTE4MkMyM0YxRjMxM0EwOTAwNTlCQTdD
IC8qIFNlcnZpY2VXb3JrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxODJDMjQxMUYzMTNBMDkw
MDU5QkE3QyAvKiBTZXJ2aWNlV29ya2VyQ29udGFpbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
MTgyQzI0MzFGMzEzQTA5MDA1OUJBN0MgLyogU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmggaW4g
SGVhZGVycyAqLywKKwkJCQk1MTFDQTY3RTFGMzkwNUE2MDAxOUUwNzQgLyogU2VydmljZVdvcmtl
ckpvYi5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTExQ0E2ODAxRjM5MzMxRjAwMTlFMDc0IC8qIFNl
cnZpY2VXb3JrZXJKb2JDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxMUNBNjdBMUYzOTA0
QjEwMDE5RTA3NCAvKiBTZXJ2aWNlV29ya2VyUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUxODJDMjQ1MUYzMTNBMDkwMDU5QkE3QyAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgg
aW4gSGVhZGVycyAqLywKKwkJCQk1MUJFQjYzOTFGM0I5NEIwMDA1MDI5QjkgLyogU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbk9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxMUNBNjg0MUYz
QTNDRDkwMDE5RTA3NCAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uUGFyYW1ldGVycy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJNTFGMTc0RkYxRjM1ODk5NzAwQzc0OTUwIC8qIFNlcnZpY2VXb3Jr
ZXJVcGRhdGVWaWFDYWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzU2QjJDRTExOEI3MTAxNjAw
RkVDRkFBIC8qIFNlc3Npb25JRC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlFMTAwOTlFNjQ5
MjAwNTZFNTgxIC8qIFNldE5vZGVBdHRyaWJ1dGVDb21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCOERCREI0QzEzMEIwRjhBMDBGNUNEQjEgLyogU2V0U2VsZWN0aW9uQ29tbWFuZC5oIGluIEhl
YWRlcnMgKi8sCkBAIC0yOTcyOCw3ICsyOTc1Miw2IEBACiAJCQkJODNDMUQ0MkYxNzhENUFCNTAw
MTQxRTY4IC8qIFNWR1BhdGhTZWdMaW5ldG9BYnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3
QTc4MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJODNDMUQ0MzAxNzhENUFCNTAwMTQxRTY4IC8qIFNWR1BhdGhTZWdMaW5l
dG9Ib3Jpem9udGFsQWJzLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MTFDQTY3QTFGMzkwNEIxMDAx
OUUwNzQgLyogU2VydmljZVdvcmtlclByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk4M0Mx
RDQzMTE3OEQ1QUI1MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxSZWwuaCBp
biBIZWFkZXJzICovLAogCQkJCTgzQzFENDMyMTc4RDVBQjUwMDE0MUU2OCAvKiBTVkdQYXRoU2Vn
TGluZXRvUmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0E3RDBEMDBCRjIyMDA3MUI3ODIg
LyogU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsLmggaW4gSGVhZGVycyAqLywKQEAgLTMwMTgxLDYg
KzMwMjA0LDcgQEAKIAkJCQlBNTJBNjg2NjFEQkQ0QjVEMDA4MzM3M0YgLyogV29ya2VyRGVidWdn
ZXJBZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTNFMjY0MzExNDc0ODk5MTAwNUE4NTg4IC8q
IFdvcmtlckV2ZW50UXVldWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjQ5MEY1NDZBODIw
MEIwRjFCQSAvKiBXb3JrZXJHbG9iYWxTY29wZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5
Q0UxRjNEMEVGNjAwRDE1RTQ3IC8qIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1MTg1RkNCNDFCQjRDNEU4MDAxMjg5OEYgLyogV29ya2VyR2xvYmFsU2NvcGVJ
bmRleGVkRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjRCMEY1NDZBODIwMEIw
RjFCQSAvKiBXb3JrZXJHbG9iYWxTY29wZVByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTRB
MEM2MjFEQjdGOEMxMDAxN0E5MEIgLyogV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oIGluIEhl
YWRlcnMgKi8sCkBAIC0zMDIwMiw2ICszMDIyNiw3IEBACiAJCQkJMEI5MDU2RjkwRjI2ODVGMzAw
OTVGRjZBIC8qIFdvcmtlclRocmVhZGFibGVMb2FkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3
QUFCRDJEMTRGQTA5RDUwMDc0NTdBRSAvKiBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5l
bC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU0QTBDNjgxREI4MDdEOTAwMTdBOTBCIC8qIFdvcmtl
clRvUGFnZUZyb250ZW5kQ2hhbm5lbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTFGMTc0RkUxRjM1
ODk5MjAwQzc0OTUwIC8qIFdvcmtlclR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5RTI0
MDk5RTY0OTIwMDU2RTU4MSAvKiBXcmFwQ29udGVudHNJbkR1bW15U3BhbkNvbW1hbmQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTQxNkU2RkU5MUJCRDEyRTUwMDBBNjA1MyAvKiBXcml0YWJsZVN0cmVh
bUJ1aWx0aW5zLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTZFNkZFODFCQkQxMkRGMDAwQTYwNTMg
LyogV3JpdGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8sCkBAIC0z
MDc5Miw2ICszMDgxNyw3IEBACiAJCQkJMDc1Mzg2MDIxNDQ4OUU5ODAwQjc4NDUyIC8qIENhY2hl
ZFRleHRUcmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0IxNkMyNzA5NzlDM0JEMDA0Njc3
NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVldC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MTM4MEMy
ODFGMzQzNkFDMDAxNTVGREEgLyogQ2FjaGVTdG9yYWdlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTQxRDEyOUNGMUYzRDBFRkUwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUU0M0FGOEU2MUFDNUI3RTgwMENBNzE3RSAvKiBDYWNoZVZhbGlk
YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlBRTJEOTYxMzRFRTVGOTAwNzI5MjBBIC8q
IENhbGN1bGF0aW9uVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTUyMDc2MDQxRjI2NzVG
RTAwN0QyQUFCIC8qIENhbGxUcmFjZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMTQ0NSw3ICsz
MTQ3MSw2IEBACiAJCQkJNTE3NDFEMTIwQjA3MjU5QTAwRUQ0NDJDIC8qIEhpc3RvcnlJdGVtLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTUxNjBGNDk4MEIwQUE3NUYwMEMxRDJBRiAvKiBIaXN0b3J5
SXRlbU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTQ5NjlCMEYyMTNEMEIzM0YwMERGMzUyMSAv
KiBIaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGUuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTExQ0E2
ODMxRjNBM0NEOTAwMTlFMDc0IC8qIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25QYXJhbWV0ZXJz
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEODI4N0Y2MTZFNEEwMzgwMDg2QkQwMCAvKiBIaXRU
ZXN0TG9jYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMwN0YxRDcwQUYyRDU5MDAwREJB
MzFBIC8qIEhpdFRlc3RSZXN1bHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQzMTYwOTgxMkIw
MjZGNzAwQzFBMzU5IC8qIEhSVEZEYXRhYmFzZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMyMDc0
LDcgKzMyMDk5LDYgQEAKIAkJCQkxMkEyNTNFMDFDOEZGRjY2MDBDMjIyOTUgLyogSlNLZXlmcmFt
ZUVmZmVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzVGNDU0MjBGN0MzQjVGMDBEN0MxRkIg
LyogSlNMYXp5RXZlbnRMaXN0ZW5lci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0UxQzQzQjBE
OTgzMEQzMDAzQjAyRjIgLyogSlNMb2NhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1MUYx
NzUwNzFGMzU4QkY5MDBDNzQ5NTAgLyogSlNXb3JrZXJUeXBlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUJDRTFDNDQwMEQ5ODMwRjQwMDNCMDJGMiAvKiBKU0xvY2F0aW9uQ3VzdG9tLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTkzQTgwNjFGMUUwM0I1ODUwMDhBMUYyNiAvKiBKU0xvbmdSYW5nZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk4RkFDNzc0RDExOTg3MkNCMDAxNUFFOTQgLyogSlNNYWlu
VGhyZWFkRXhlY1N0YXRlLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzIyMzEsNiArMzIyNTUsNyBA
QAogCQkJCTUxODJDMjU3MUYzMTQzQ0QwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXJDb250YWlu
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE4MkMyNTkxRjMxNDNDRDAwNTlCQTdDIC8qIEpT
U2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxODJDMjVC
MUYzMTQzQ0QwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNTFGMTc1MDIxRjM1OEIzQjAwQzc0OTUwIC8qIEpTU2VydmljZVdvcmtl
clVwZGF0ZVZpYUNhY2hlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTlCREE2NEQ3MUI5NzVDRTUw
MDlDNDM4NyAvKiBKU1NoYWRvd1Jvb3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDZERkY0OUIx
REMyNjIwQjAwQjgwQjQ4IC8qIEpTU2hhZG93Um9vdE1vZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQ0Q5REUxN0ExN0FBQzc1QjAwRUEzODZEIC8qIEpTU291cmNlQnVmZmVyLmNwcCBpbiBTb3Vy
Y2VzICovLApAQCAtMzI1MTAsMTAgKzMyNTM1LDEwIEBACiAJCQkJRTFDOEJFNUQwRThCRDE1QTAw
NjRDQjdEIC8qIEpTV29ya2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxODI1NjhGMEVGMkIw
MkQwMDkzMzI0MiAvKiBKU1dvcmtlckdsb2JhbFNjb3BlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUUxQzM2RDM0MEVCMEEwOTQwMDc0MTBCQyAvKiBKU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAg
aW4gU291cmNlcyAqLywKLQkJCQk1MTFDQTY3OTFGMzkwNEIxMDAxOUUwNzQgLyogU2VydmljZVdv
cmtlclByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxODI1OEFDMEVGM0NENzAwMDkz
MzI0MiAvKiBKU1dvcmtlckdsb2JhbFNjb3BlQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUUxQzM2MkYwMEVBRjJBQTkwMDc0MTBCQyAvKiBKU1dvcmtlckxvY2F0aW9uLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUUxMjcxQTU5MEVFRUNERTQwMEY2MTIxMyAvKiBKU1dvcmtlck5hdmlnYXRv
ci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MUYxNzUwNzFGMzU4QkY5MDBDNzQ5NTAgLyogSlNX
b3JrZXJUeXBlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDNEM5NkRDMUFENDQ4MzUwMDM2NUE2
MCAvKiBKU1dyaXRhYmxlU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTgzNThDQjZGMUM1
MzI3NzIwMEUwQzJEOCAvKiBKU1hNTERvY3VtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTgz
QTRBOUY5MUNFN0ZEODEwMDcwOUIwMCAvKiBKU1hNTERvY3VtZW50Q3VzdG9tLmNwcCBpbiBTb3Vy
Y2VzICovLApAQCAtMzMwNTYsNyArMzMwODEsNiBAQAogCQkJCUE4REY0QUU4MDk4MEM0MkMwMDUy
OTgxQiAvKiBSZW5kZXJUYWJsZUNvbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOERGNEFGMDA5
ODBDNDJDMDA1Mjk4MUIgLyogUmVuZGVyVGFibGVSb3cuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QThERjRBRUQwOTgwQzQyQzAwNTI5ODFCIC8qIFJlbmRlclRhYmxlU2VjdGlvbi5jcHAgaW4gU291
cmNlcyAqLywKLQkJCQk1MTFDQTY3RDFGMzkwNUE2MDAxOUUwNzQgLyogU2VydmljZVdvcmtlckpv
Yi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0VBNDg4QjA5N0Q5MzAyMDA5NEM5RTQgLyogUmVu
ZGVyVGV4dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBQjY3RDFBODA5N0YzQUUzMDBGOTM5MkUg
LyogUmVuZGVyVGV4dENvbnRyb2wuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDgzREFFQTYwRjAx
QTdGQjAwMzQyNzU0IC8qIFJlbmRlclRleHRDb250cm9sTXVsdGlMaW5lLmNwcCBpbiBTb3VyY2Vz
ICovLApAQCAtMzMyNDIsNyArMzMyNjYsMTAgQEAKIAkJCQk1MTgyQzIzRTFGMzEzQTA5MDA1OUJB
N0MgLyogU2VydmljZVdvcmtlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTgyQzI0MDFGMzEz
QTA5MDA1OUJBN0MgLyogU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk1MTgyQzI0MjFGMzEzQTA5MDA1OUJBN0MgLyogU2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxMUNBNjdEMUYzOTA1QTYwMDE5RTA3NCAvKiBTZXJ2
aWNlV29ya2VySm9iLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxMUNBNjc5MUYzOTA0QjEwMDE5
RTA3NCAvKiBTZXJ2aWNlV29ya2VyUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE4
MkMyNDQxRjMxM0EwOTAwNTlCQTdDIC8qIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJNTExQ0E2ODMxRjNBM0NEOTAwMTlFMDc0IC8qIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25QYXJhbWV0ZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMUY3RDQ0
MUVCMUMzOTEwMEU0N0I4MyAvKiBTZXNzaW9uSUQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMz
MDlFMEYwOTlFNjQ5MjAwNTZFNTgxIC8qIFNldE5vZGVBdHRyaWJ1dGVDb21tYW5kLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUI4REJEQjRCMTMwQjBGOEEwMEY1Q0RCMSAvKiBTZXRTZWxlY3Rpb25D
b21tYW5kLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzM3MTIsNyArMzM3MzksNiBAQAogCQkJCTdB
RjlCMjAyMThDRkIyREYwMEM2NEJFRiAvKiBWVFRSZWdpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJN0FGOUIyMDUxOENGQjJERjAwQzY0QkVGIC8qIFZUVFJlZ2lvbkxpc3QuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJN0E5Mzg2ODUxOERDQzE0NTAwQjgyNjNEIC8qIFZUVFNjYW5uZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCi0JCQkJNTFGMTc1MDIxRjM1OEIzQjAwQzc0OTUwIC8qIEpTU2VydmljZVdv
cmtlclVwZGF0ZVZpYUNhY2hlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUExNDgzMkIxMTg3RjYx
RTEwMERBNjNBNiAvKiBXQUtBcHBLaXRTdHVicy5tIGluIFNvdXJjZXMgKi8sCiAJCQkJQTE0ODMy
QjMxODdGNjI5MTAwREE2M0E2IC8qIFdBS0NsaXBWaWV3Lm0gaW4gU291cmNlcyAqLywKIAkJCQlB
MTQ4MzJCNTE4N0Y2MkZDMDBEQTYzQTYgLyogV0FLUmVzcG9uZGVyLm0gaW4gU291cmNlcyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApp
bmRleCAwOWZlODFiYTQ3Y2E1M2M4Nzc1Y2I2NjI3YTc2ZDNiM2UyNjI3OWViLi43MjJlYTJlNDhl
MWYzM2UyMzYwYmRiNjAwNTZjMDAyZjljNGI0Mjc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0zOCw2ICszOCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhiYWNraW5nTWFwKSBcCiAgICAgbWFjcm8oYm9keSkg
XAogICAgIG1hY3JvKGJ5b2JSZXF1ZXN0KSBcCisgICAgbWFjcm8oY2FjaGVNYXApIFwKKyAgICBt
YWNybyhjYWNoZU5hbWUpIFwKICAgICBtYWNybyhjYW5jZWwpIFwKICAgICBtYWNybyhjbG9uZUFy
cmF5QnVmZmVyKSBcCiAgICAgbWFjcm8oY2xvbmVGb3JKUykgXApAQCAtNjMsNiArNjUsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8obG9jYWxTdHJlYW1zKSBcCiAgICAgbWFjcm8o
bWFrZVRoaXNUeXBlRXJyb3IpIFwKICAgICBtYWNybyhtYWtlR2V0dGVyVHlwZUVycm9yKSBcCisg
ICAgbWFjcm8obWF0Y2hBbGwpIFwKICAgICBtYWNybyhtZWRpYVN0cmVhbVRyYWNrQ29uc3RyYWlu
dHMpIFwKICAgICBtYWNybyhvcGVyYXRpb25zKSBcCiAgICAgbWFjcm8ob3duZXJSZWFkYWJsZVN0
cmVhbSkgXApAQCAtMTEzLDYgKzExNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNy
byh2aWV3KSBcCiAgICAgbWFjcm8od2ViUlRDTGVnYWN5QVBJRW5hYmxlZCkgXAogICAgIG1hY3Jv
KHdyaXRpbmcpIFwKKyAgICBtYWNybyhDYWNoZSkgXAorICAgIG1hY3JvKENhY2hlU3RvcmFnZSkg
XAogICAgIG1hY3JvKEhlYWRlcnMpIFwKICAgICBtYWNybyhNZWRpYVN0cmVhbSkgXAogICAgIG1h
Y3JvKE1lZGlhU3RyZWFtVHJhY2spIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JPdmVybGF5LmNwcAppbmRleCA2NmM3ZjA4ZjBmMjhiMDQ2YmI0YzM1ZThlOWJmMTlmYmRm
MmFiYzU1Li4yYTgxM2I2YTEyMGRmMzU4ZjA4YmQyNzE4Yzk2NTczNDMwMWRlZjQ5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCkBAIC0yOSw2ICsy
OSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yT3ZlcmxheS5o
IgogCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJEb2N1bWVu
dExvYWRlci5oIgogI2luY2x1ZGUgIkVkaXRvckNsaWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnQu
aCIKQEAgLTg2NSw3ICs4NjYsOCBAQCBQYWdlKiBJbnNwZWN0b3JPdmVybGF5OjpvdmVybGF5UGFn
ZSgpCiAgICAgUGFnZUNvbmZpZ3VyYXRpb24gcGFnZUNvbmZpZ3VyYXRpb24oCiAgICAgICAgIGNy
ZWF0ZUVtcHR5RWRpdG9yQ2xpZW50KCksCiAgICAgICAgIFNvY2tldFByb3ZpZGVyOjpjcmVhdGUo
KSwKLSAgICAgICAgbWFrZVVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4oKQorICAgICAgICBt
YWtlVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPigpLAorICAgICAgICBDYWNoZVN0b3JhZ2VQ
cm92aWRlcjo6Y3JlYXRlKCkKICAgICApOwogICAgIGZpbGxXaXRoRW1wdHlDbGllbnRzKHBhZ2VD
b25maWd1cmF0aW9uKTsKICAgICBtX292ZXJsYXlQYWdlID0gc3RkOjptYWtlX3VuaXF1ZTxQYWdl
PihXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NhY2hlU3RvcmFnZVByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhY2hl
U3RvcmFnZVByb3ZpZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDBiZjFkYzVjZDFmOGZiY2M2NjFjZjFkNmMw
MGE0YThjYzJjODhhYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2Fj
aGVTdG9yYWdlUHJvdmlkZXIuaApAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAi
U2Vzc2lvbklELmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBXRUJDT1JFX0VYUE9SVCBDYWNoZVN0b3JhZ2VQcm92aWRlciA6IHB1
YmxpYyBSZWZDb3VudGVkPENhY2hlU3RvcmFnZVByb3ZpZGVyPiB7CitwdWJsaWM6CisgICAgc3Rh
dGljIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYo
Km5ldyBDYWNoZVN0b3JhZ2VQcm92aWRlcik7IH0KKyAgICB2aXJ0dWFsIFJlZjxDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uPiBjcmVhdGVDYWNoZVN0b3JhZ2VDb25uZWN0aW9uKFNlc3Npb25JRCkgeyBy
ZXR1cm4gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6Y3JlYXRlKCk7IH0KKyAgICB2aXJ0dWFsIH5D
YWNoZVN0b3JhZ2VQcm92aWRlcigpIHsgfTsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4
IGMyNjk4N2Y4ZGNiMmU5ZTk2MDZkYWE5NzJkMmNmY2M3YmVjYzVmYjcuLjcwNDFmMWNmMjk1OTU0
ZWFmZjA0ZDZiOGE2MTY0ZjhmYWFjMGQ2NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMjYsNiAr
MjYsNyBAQAogI2luY2x1ZGUgIkJhY2tGb3J3YXJkQ2xpZW50LmgiCiAjaW5jbHVkZSAiQmFja0Zv
cndhcmRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiQ1NTQW5pbWF0aW9uQ29udHJvbGxlci5oIgor
I2luY2x1ZGUgIkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiQ2hyb21lLmgiCiAj
aW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiQ29uc3RhbnRQcm9wZXJ0eU1hcC5o
IgpAQCAtMjIyLDYgKzIyMyw3IEBAIFBhZ2U6OlBhZ2UoUGFnZUNvbmZpZ3VyYXRpb24mJiBwYWdl
Q29uZmlndXJhdGlvbikKICNlbmRpZgogICAgICwgbV9zb2NrZXRQcm92aWRlcihXVEZNb3ZlKHBh
Z2VDb25maWd1cmF0aW9uLnNvY2tldFByb3ZpZGVyKSkKICAgICAsIG1fYXBwbGljYXRpb25DYWNo
ZVN0b3JhZ2UoKldURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25DYWNoZVN0b3Jh
Z2UpKQorICAgICwgbV9jYWNoZVN0b3JhZ2VQcm92aWRlcihXVEZNb3ZlKHBhZ2VDb25maWd1cmF0
aW9uLmNhY2hlU3RvcmFnZVByb3ZpZGVyKSkKICAgICAsIG1fZGF0YWJhc2VQcm92aWRlcigqV1RG
TW92ZShwYWdlQ29uZmlndXJhdGlvbi5kYXRhYmFzZVByb3ZpZGVyKSkKICAgICAsIG1fcGx1Z2lu
SW5mb1Byb3ZpZGVyKCpXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLnBsdWdpbkluZm9Qcm92aWRl
cikpCiAgICAgLCBtX3N0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcigqV1RGTW92ZShwYWdlQ29uZmln
dXJhdGlvbi5zdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCA5MDlm
Mzc5MDJkMzNlMWQwZWYzZTVhOWI0ZjY0YmFiNGRmYTVmZjBiLi41ZmM4OWNkYzU5MmM5NDllYjE4
ZDljZWExN2Y2MWZiY2QzNTUxMjAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtNzcsNiArNzcsNyBAQCBj
bGFzcyBBbHRlcm5hdGl2ZVRleHRDbGllbnQ7CiBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlU3RvcmFn
ZTsKIGNsYXNzIEJhY2tGb3J3YXJkQ29udHJvbGxlcjsKIGNsYXNzIEJhY2tGb3J3YXJkQ2xpZW50
OworY2xhc3MgQ2FjaGVTdG9yYWdlUHJvdmlkZXI7CiBjbGFzcyBDaHJvbWU7CiBjbGFzcyBDaHJv
bWVDbGllbnQ7CiBjbGFzcyBDb2xvcjsKQEAgLTUxMCw2ICs1MTEsNyBAQCBwdWJsaWM6CiAKICAg
ICBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSYgYXBwbGljYXRpb25DYWNoZVN0b3JhZ2UoKSB7IHJl
dHVybiBtX2FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOyB9CiAgICAgRGF0YWJhc2VQcm92aWRlciYg
ZGF0YWJhc2VQcm92aWRlcigpIHsgcmV0dXJuIG1fZGF0YWJhc2VQcm92aWRlcjsgfQorICAgIENh
Y2hlU3RvcmFnZVByb3ZpZGVyJiBjYWNoZVN0b3JhZ2VQcm92aWRlcigpIHsgcmV0dXJuIG1fY2Fj
aGVTdG9yYWdlUHJvdmlkZXI7IH0KICAgICBTb2NrZXRQcm92aWRlciYgc29ja2V0UHJvdmlkZXIo
KSB7IHJldHVybiBtX3NvY2tldFByb3ZpZGVyOyB9CiAKICAgICBTdG9yYWdlTmFtZXNwYWNlUHJv
dmlkZXImIHN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcigpIHsgcmV0dXJuIG1fc3RvcmFnZU5hbWVz
cGFjZVByb3ZpZGVyLmdldCgpOyB9CkBAIC03ODQsNiArNzg2LDcgQEAgcHJpdmF0ZToKIAogICAg
IFJlZjxTb2NrZXRQcm92aWRlcj4gbV9zb2NrZXRQcm92aWRlcjsKICAgICBSZWY8QXBwbGljYXRp
b25DYWNoZVN0b3JhZ2U+IG1fYXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7CisgICAgUmVmPENhY2hl
U3RvcmFnZVByb3ZpZGVyPiBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyOwogICAgIFJlZjxEYXRhYmFz
ZVByb3ZpZGVyPiBtX2RhdGFiYXNlUHJvdmlkZXI7CiAgICAgUmVmPFBsdWdpbkluZm9Qcm92aWRl
cj4gbV9wbHVnaW5JbmZvUHJvdmlkZXI7CiAgICAgUmVmPFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRl
cj4gbV9zdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNv
bmZpZ3VyYXRpb24uY3BwCmluZGV4IDExMjNkZDZkNDA1YTk0ODEzYTRhNzg3NDJjN2Q2NmQyY2Yx
YmVlN2MuLmYxYjgyN2RjZmJhYWU2ZTZjOGRjY2FkOWQxOGQ0OTM3OWRjOTUxYzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAK
ICNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oIgogI2luY2x1ZGUgIkJhY2tGb3J3
YXJkQ2xpZW50LmgiCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRl
ICJEYXRhYmFzZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQu
aCIKICNpbmNsdWRlICJFZGl0b3JDbGllbnQuaCIKQEAgLTQzLDEwICs0NCwxMSBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLVBhZ2VDb25maWd1cmF0aW9uOjpQYWdlQ29uZmlndXJhdGlvbihV
bmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmIGVkaXRvckNsaWVudCwgUmVmPFNvY2tldFByb3ZpZGVy
PiYmIHNvY2tldFByb3ZpZGVyLCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYgbGliV2Vi
UlRDUHJvdmlkZXIpCitQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24oVW5pcXVl
UmVmPEVkaXRvckNsaWVudD4mJiBlZGl0b3JDbGllbnQsIFJlZjxTb2NrZXRQcm92aWRlcj4mJiBz
b2NrZXRQcm92aWRlciwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmIGxpYldlYlJUQ1By
b3ZpZGVyLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+JiYgY2FjaGVTdG9yYWdlUHJvdmlkZXIp
CiAgICAgOiBlZGl0b3JDbGllbnQoV1RGTW92ZShlZGl0b3JDbGllbnQpKQogICAgICwgc29ja2V0
UHJvdmlkZXIoV1RGTW92ZShzb2NrZXRQcm92aWRlcikpCiAgICAgLCBsaWJXZWJSVENQcm92aWRl
cihXVEZNb3ZlKGxpYldlYlJUQ1Byb3ZpZGVyKSkKKyAgICAsIGNhY2hlU3RvcmFnZVByb3ZpZGVy
KFdURk1vdmUoY2FjaGVTdG9yYWdlUHJvdmlkZXIpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2VDb25maWd1cmF0aW9uLmgKaW5kZXggZjUzYTEyYzM4N2VhZmI0MDRmMmEwNjY2MDI3NTll
YzlhN2ZjMGY1Zi4uYTg2MmQ0MzAyZTAzNjQ2NGY5MTBhNTdiMDFkNzdiNjRjYzZlZjQyNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaApAQCAtMzQsNiArMzQsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBbHRlcm5hdGl2ZVRleHRDbGllbnQ7CiBjbGFzcyBB
cHBsaWNhdGlvbkNhY2hlU3RvcmFnZTsKIGNsYXNzIEJhY2tGb3J3YXJkQ2xpZW50OworY2xhc3Mg
Q2FjaGVTdG9yYWdlUHJvdmlkZXI7CiBjbGFzcyBDaHJvbWVDbGllbnQ7CiBjbGFzcyBDb250ZXh0
TWVudUNsaWVudDsKIGNsYXNzIERhdGFiYXNlUHJvdmlkZXI7CkBAIC01OCw3ICs1OSw3IEBAIGNs
YXNzIFdlYkdMU3RhdGVUcmFja2VyOwogY2xhc3MgUGFnZUNvbmZpZ3VyYXRpb24gewogICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDb25maWd1cmF0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6Ci0gICAgV0VCQ09SRV9FWFBPUlQgUGFnZUNvbmZpZ3VyYXRpb24oVW5p
cXVlUmVmPEVkaXRvckNsaWVudD4mJiwgUmVmPFNvY2tldFByb3ZpZGVyPiYmLCBVbmlxdWVSZWY8
TGliV2ViUlRDUHJvdmlkZXI+JiYpOworICAgIFdFQkNPUkVfRVhQT1JUIFBhZ2VDb25maWd1cmF0
aW9uKFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYsIFJlZjxTb2NrZXRQcm92aWRlcj4mJiwgVW5p
cXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+JiYp
OwogICAgIFdFQkNPUkVfRVhQT1JUIH5QYWdlQ29uZmlndXJhdGlvbigpOwogCiAgICAgQWx0ZXJu
YXRpdmVUZXh0Q2xpZW50KiBhbHRlcm5hdGl2ZVRleHRDbGllbnQgeyBudWxscHRyIH07CkBAIC04
Nyw2ICs4OCw3IEBAIHB1YmxpYzoKIAogICAgIFJlZlB0cjxBcHBsaWNhdGlvbkNhY2hlU3RvcmFn
ZT4gYXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7CiAgICAgUmVmUHRyPERhdGFiYXNlUHJvdmlkZXI+
IGRhdGFiYXNlUHJvdmlkZXI7CisgICAgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiBjYWNoZVN0
b3JhZ2VQcm92aWRlcjsKICAgICBSZWZQdHI8UGx1Z2luSW5mb1Byb3ZpZGVyPiBwbHVnaW5JbmZv
UHJvdmlkZXI7CiAgICAgUmVmUHRyPFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcj4gc3RvcmFnZU5h
bWVzcGFjZVByb3ZpZGVyOwogICAgIFJlZlB0cjxVc2VyQ29udGVudFByb3ZpZGVyPiB1c2VyQ29u
dGVudFByb3ZpZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NW
R0ltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKaW5k
ZXggNzg2ZThmN2E3YmNhNjA4MDlhNTU1YjY1ZjgzNWMyYTUwYTAwODJlOC4uODI1OWIyZjhlMjg2
NjNiMjE3Y2RlYTA0YzJmOGVjMzgzN2NkNzhmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhp
Y3MvU1ZHSW1hZ2UuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiU1ZHSW1hZ2UuaCIKIAorI2luY2x1ZGUgIkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgi
CiAjaW5jbHVkZSAiQ2hyb21lLmgiCiAjaW5jbHVkZSAiQ29tbW9uVk0uaCIKICNpbmNsdWRlICJE
T01XaW5kb3cuaCIKQEAgLTQyOSw3ICs0MzAsOCBAQCBFbmNvZGVkRGF0YVN0YXR1cyBTVkdJbWFn
ZTo6ZGF0YUNoYW5nZWQoYm9vbCBhbGxEYXRhUmVjZWl2ZWQpCiAgICAgICAgIFBhZ2VDb25maWd1
cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uKAogICAgICAgICAgICAgY3JlYXRlRW1wdHlFZGl0b3JD
bGllbnQoKSwKICAgICAgICAgICAgIFNvY2tldFByb3ZpZGVyOjpjcmVhdGUoKSwKLSAgICAgICAg
ICAgIG1ha2VVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+KCkKKyAgICAgICAgICAgIG1ha2VV
bmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+KCksCisgICAgICAgICAgICBDYWNoZVN0b3JhZ2VQ
cm92aWRlcjo6Y3JlYXRlKCkKICAgICAgICAgKTsKICAgICAgICAgZmlsbFdpdGhFbXB0eUNsaWVu
dHMocGFnZUNvbmZpZ3VyYXRpb24pOwogICAgICAgICBtX2Nocm9tZUNsaWVudCA9IHN0ZDo6bWFr
ZV91bmlxdWU8U1ZHSW1hZ2VDaHJvbWVDbGllbnQ+KHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKaW5k
ZXggN2UzMWQ1MmIwNTc5M2MxNmU1M2UyNTYxMTBhNjNiZmVhY2VhODM5YS4uOWI4NTgzZTM4YjZl
Y2FjZGY3NzAxZTAwOTIyMGI4YmY4MGNhMzkzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
TWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CkBAIC01Miw2
ICs1Miw3IEBAIHNldChXZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJLSVQy
X0RJUn0vV2ViUHJvY2Vzcy9BcHBsZVBheSIKICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vz
cy9BcHBsaWNhdGlvbkNhY2hlIgogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0F1dG9t
YXRpb24iCisgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvQ2FjaGUiCiAgICAgIiR7V0VC
S0lUMl9ESVJ9L1dlYlByb2Nlc3MvQ29va2llcyIKICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJv
Y2Vzcy9EYXRhYmFzZXMiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvRGF0YWJhc2Vz
L0luZGV4ZWREQiIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDkwOWE1ZWNkN2Q3YjFhYjAyMTRiMjkxOTcwNDk2MTg4NzA3MzY0MTIuLmE4
Mzg4MTYwZDFlMWI4OWU0ODBiMWM2NDMzZjBmNzNhNTAzNWY4ZjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtODkxLDYgKzg5MSw3IEBA
CiAJCTQxMzA3NUIyMURFODVGNTgwMDM5RUM2OSAvKiBMaWJXZWJSVENTb2NrZXRGYWN0b3J5Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVBNjFE
RTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oICovOyB9OwogCQk0MTMw
NzVCMzFERTg1RjU4MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTcxREU4NUVFNzAwMzlF
QzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmNwcCAqLzsgfTsKIAkJNDEzMDc1QjQxREU4NUY1ODAw
MzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVBODFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRD
UHJvdmlkZXIuaCAqLzsgfTsKKwkJNDFEMTI5REExRjNEMTAxODAwRDE1RTQ3IC8qIFdlYkNhY2hl
U3RvcmFnZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MUQxMjlEOTFGM0QxMDE0MDBEMTVFNDcgLyogV2ViQ2FjaGVTdG9yYWdlUHJvdmlk
ZXIuaCAqLzsgfTsKIAkJNDFEQzQ1OTYxRTNENkUyMjAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92
aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFE
QzQ1OTQxRTNENkUxRTAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5oICovOyB9OwogCQk0
MURDNDU5NzFFM0Q2RTIyMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxREM0NTk1MUUzRDZFMUUw
MEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuY3BwICovOyB9OwogCQk0MURDNDU5QjFFM0RC
QjI4MDBCMTFGNTEgLyogTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxREM0NTk5MUUzREJCMjQwMEIxMUY1MSAv
KiBMaWJXZWJSVENTb2NrZXRDbGllbnQuY3BwICovOyB9OwpAQCAtMzE0Miw2ICszMTQzLDcgQEAK
IAkJNDEzMDc1QTcxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IG5hbWUgPSBMaWJXZWJS
VENQcm92aWRlci5jcHA7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRp
ZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OwogCQk0MTMwNzVBODFERTg1RUU3MDAzOUVDNjkgLyog
TGliV2ViUlRDUHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBsaW5lRW5kaW5n
ID0gMDsgbmFtZSA9IExpYldlYlJUQ1Byb3ZpZGVyLmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9M
aWJXZWJSVENQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3Bl
Y2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLm9iamNwcDsgfTsKIAkJNDFBQzg2ODEx
RTA0MkU1MzAwMzAzMDc0IC8qIFdlYlJUQ1Jlc29sdmVyLm1lc3NhZ2VzLmluICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgbGluZUVuZGluZyA9IDA7IG5hbWUgPSBXZWJSVENSZXNvbHZlci5tZXNzYWdlcy5pbjsg
cGF0aCA9IE5ldHdvcmsvd2VicnRjL1dlYlJUQ1Jlc29sdmVyLm1lc3NhZ2VzLmluOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSAiPG5v
bmU+IjsgfTsKKwkJNDFEMTI5RDkxRjNEMTAxNDAwRDE1RTQ3IC8qIFdlYkNhY2hlU3RvcmFnZVBy
b3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxREM0NTk0MUUzRDZFMUUwMEIxMUY1MSAvKiBOZXR3
b3JrUlRDUHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTmV0d29y
a1JUQ1Byb3ZpZGVyLmg7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1By
b3ZpZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxREM0NTk1MUUzRDZFMUUw
MEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcDsgcGF0aCA9IE5ldHdvcmtQcm9j
ZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0MURDNDU5ODFFM0Q2RUQ2MDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLm1l
c3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IE5ldHdvcmtSVENQcm92aWRlci5tZXNz
YWdlcy5pbjsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIu
bWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01OTEyLDYgKzU5MTQs
MTQgQEAKIAkJCW5hbWUgPSB3ZWJydGM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9
OworCQk0MUQxMjlEODFGM0QxMDE0MDBEMTVFNDcgLyogQ2FjaGUgKi8gPSB7CisJCQlpc2EgPSBQ
QlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTQxRDEyOUQ5MUYzRDEwMTQwMEQxNUU0NyAv
KiBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oICovLAorCQkJKTsKKwkJCXBhdGggPSBDYWNoZTsK
KwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTQ0NTBBRUJFMURDM0ZBQUMwMDk5
NDNGMiAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAo
CkBAIC02NTkyLDYgKzY2MDIsNyBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJMUFCMUY3NzAxRDFC
MkY1RDAwN0M5QkQxIC8qIEFwcGxlUGF5ICovLAogCQkJCTFDMEExOTQzMUM4RkYxQTgwMEZFMEVC
QiAvKiBBdXRvbWF0aW9uICovLAorCQkJCTQxRDEyOUQ4MUYzRDEwMTQwMEQxNUU0NyAvKiBDYWNo
ZSAqLywKIAkJCQk3QzZFNzBGODE4QjJENDdFMDBGMjRFMkUgLyogY29jb2EgKi8sCiAJCQkJMzMw
OTM0NEIxMzE1QjkzQTAwOTdBN0JDIC8qIENvb2tpZXMgKi8sCiAJCQkJNTEyQTk3NTQxODBERjky
NzAwMzlBMTQ5IC8qIERhdGFiYXNlcyAqLywKQEAgLTg2ODksNiArODcwMCw3IEBACiAJCQkJQkM3
MkJBMUUxMUU2NDkwNzAwMUVCNEVBIC8qIFdlYkJhY2tGb3J3YXJkTGlzdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNTE4RDJDQUUxMkQ1MTUzQjAwM0JCOTNCIC8qIFdlYkJhY2tGb3J3YXJkTGlzdEl0
ZW0uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNzJCOUZCMTFFNjQ3NkIwMDFFQjRFQSAvKiBXZWJC
YWNrRm9yd2FyZExpc3RQcm94eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5REExRjNEMTAx
ODAwRDE1RTQ3IC8qIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQ0Y1MDcyODEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQzAzMkQ3NTEwRjQzNzhEMDA1OEMxNUEgLyogV2ViQ2hyb21lQ2xpZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQkzRjg3QjlCRTE1ODk0MDE5MDA5MEZGNjIgLyogV2ViQ29s
b3JDaG9vc2VyLmggaW4gSGVhZGVycyAqLywKQEAgLTg4MzEsNyArODg0Myw2IEBACiAJCQkJQkNF
MEU0MjUxNjhCN0EyODAwNTdFNjZBIC8qIFdlYlByb2Nlc3NTdXBwbGVtZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxQTFFMDkzNDE4ODYxRDM4MDBEMkRDNDkgLyogV2ViUHJvZ3Jlc3NUcmFja2Vy
Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTJGNTg5RDEyQTg4Mzg4MDA2Mjk1MzAgLyog
V2ViUHJvdGVjdGlvblNwYWNlLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUJFQjYyQzFGM0E1QUQ3
MDA1MDI5QjkgLyogV2ViU2VydmljZVdvcmtlclByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkzNzk0ODQwNDE1MEMzNTA2MDBFNTJDRTkgLyogV2ViUmVuZGVyTGF5ZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTM3NjA4ODFGMTUwNDEzRTkwMEZDODJDNyAvKiBXZWJSZW5kZXJPYmplY3QuaCBp
biBIZWFkZXJzICovLAogCQkJCTUxMEFGRkJBMTY1NDIwNDgwMDFCQTA1RSAvKiBXZWJSZXNvdXJj
ZUxvYWRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC04ODQzLDYgKzg4NTQsNyBAQAogCQkJCTQxREM0
NTlGMUUzREJEQTUwMEIxMUY1MSAvKiBXZWJSVENTb2NrZXQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTdDMzYxRDczMTkyN0ZBMzYwMDM2QTU5RCAvKiBXZWJTY3JpcHRNZXNzYWdlSGFuZGxlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRDNCOTQ4NDkxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlNlYXJjaFBv
cHVwTWVudS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTFCRUI2MkMxRjNBNUFENzAwNTAyOUI5IC8q
IFdlYlNlcnZpY2VXb3JrZXJQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE0ODMyRDcx
QTlDREY5NjAwOEI0REZFIC8qIFdlYnNpdGVEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTQ4
MzJEMTFBOUJEQzJGMDA4QjRERkUgLyogV2Vic2l0ZURhdGFSZWNvcmQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTFBNTNDMkFBMUEzMjU3MzAwMDRFOEM3MCAvKiBXZWJzaXRlRGF0YVN0b3JlLmggaW4g
SGVhZGVycyAqLywKQEAgLTEwMzcxLDcgKzEwMzgzLDYgQEAKIAkJCQkyREE5NDRBMTE4ODRFNEYw
MDBFRDg2REIgLyogV2ViSU9TRXZlbnRGYWN0b3J5Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQzAz
MzdERDMxMjdBMkEwRTAwOEZGNEY0IC8qIFdlYktleWJvYXJkRXZlbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMUE2MjgwRjMxOTE5OTgyQTAwNkFEOUY5IC8qIFdlYktpdC5tIGluIFNvdXJjZXMg
Ki8sCi0JCQkJNTFCRUI2MkIxRjNBNUFENzAwNTAyOUI5IC8qIFdlYlNlcnZpY2VXb3JrZXJQcm92
aWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzlCQTUwNDE2OTdDNDUzMDBFNDQ2MTYgLyog
V2ViS2l0MkluaXRpYWxpemUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDY1MjUwRTYxRUNGNTJE
QzAwMjAyNUNCIC8qIFdlYktpdDJJbml0aWFsaXplQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJ
CQk1MUZCMDhGRjE2MzlERTFBMDBFQzMyNEEgLyogV2ViTG9hZGVyU3RyYXRlZ3kuY3BwIGluIFNv
dXJjZXMgKi8sCkBAIC0xMDQ2OSw2ICsxMDQ4MCw3IEBACiAJCQkJNTFGMDYwRTExNjU0MzE4NTAw
RjMyODFDIC8qIFdlYlJUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk3QzM2MUQ3MjE5MjdGQTM2MDAzNkE1OUQgLyogV2ViU2NyaXB0TWVzc2FnZUhhbmRsZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRDNCOTQ4NDgxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlNl
YXJjaFBvcHVwTWVudS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MUJFQjYyQjFGM0E1QUQ3MDA1
MDI5QjkgLyogV2ViU2VydmljZVdvcmtlclByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTFBNDgzMkQ2MUE5Q0RGOTYwMDhCNERGRSAvKiBXZWJzaXRlRGF0YS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkxQTQ4MzJEOTFBOUQxRkQyMDA4QjRERkUgLyogV2Vic2l0ZURhdGFSZWNvcmQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMUE1M0MyQTkxQTMyNTcyQjAwNEU4QzcwIC8qIFdlYnNpdGVE
YXRhU3RvcmUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvQ2FjaGUvV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9DYWNoZS9XZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0
MjIxNmEyMDg2Y2U2ODgwZTBlMzhjMTZkYTk4NWI4N2UwNjY3ZmEKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQ2FjaGUvV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIu
aApAQCAtMCwwICsxLDM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRl
IDxXZWJDb3JlL0NhY2hlU3RvcmFnZVByb3ZpZGVyLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgewor
CitjbGFzcyBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlciBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpD
YWNoZVN0b3JhZ2VQcm92aWRlciB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxXZWJDYWNoZVN0
b3JhZ2VQcm92aWRlcj4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJDYWNoZVN0
b3JhZ2VQcm92aWRlcik7IH0KK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMTkwOTFiNTkwM2ZhNTRjZGViOTczMzYzODgwOWQ1NWY1
M2M0OWI2NS4uZGRhMDAxYWVjYjAxMmNmZjc1YWFiMWIwNjRhOGU4OTg1YzA4NzczNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTY4LDYgKzY4
LDcgQEAKICNpbmNsdWRlICJXZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQuaCIKICNpbmNsdWRlICJX
ZWJCYWNrRm9yd2FyZExpc3RJdGVtLmgiCiAjaW5jbHVkZSAiV2ViQmFja0ZvcndhcmRMaXN0UHJv
eHkuaCIKKyNpbmNsdWRlICJXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgogI2luY2x1ZGUgIldl
YkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIldlYkNvbG9yQ2hvb3Nlci5oIgogI2luY2x1ZGUg
IldlYkNvbnRleHRNZW51LmgiCkBAIC0zNzEsNyArMzcyLDggQEAgV2ViUGFnZTo6V2ViUGFnZSh1
aW50NjRfdCBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQog
ICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uKAogICAgICAgICBtYWtlVW5p
cXVlUmVmPFdlYkVkaXRvckNsaWVudD4odGhpcyksCiAgICAgICAgIFdlYlNvY2tldFByb3ZpZGVy
OjpjcmVhdGUoKSwKLSAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJLaXQ6OkxpYldlYlJUQ1Byb3Zp
ZGVyPigpCisgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViS2l0OjpMaWJXZWJSVENQcm92aWRlcj4o
KSwKKyAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuY2FjaGVTdG9yYWdlUHJvdmlkZXIo
KQogICAgICk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNo
cm9tZUNsaWVudCgqdGhpcyk7CiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggMzc4MjI4NjZhMjdkNzBkNmE0YWNkZThk
MjZkNDc0OTQ5MTVhZmQwMS4uODcwZjNjZGU4NTM3YzYyODlmYzE3NWYyN2JlN2M5ZDQ4NmMwN2E1
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtNDQsNiArNDQs
NyBAQAogI2luY2x1ZGUgIlN0YXRpc3RpY3NEYXRhLmgiCiAjaW5jbHVkZSAiVXNlckRhdGEuaCIK
ICNpbmNsdWRlICJXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5LmgiCisjaW5jbHVkZSAiV2ViQ2Fj
aGVTdG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3Mu
aCIKICNpbmNsdWRlICJXZWJDb29raWVNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmgiCkBAIC0xNjAsNiArMTYxLDcgQEAgV2ViUHJvY2Vzczo6V2ViUHJvY2Vzcygp
CiAjZW5kaWYKICAgICAsIG1fd2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcihXZWJJbnNw
ZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyOjpjcmVhdGUoKSkKICAgICAsIG1fd2ViTG9hZGVyU3Ry
YXRlZ3koKm5ldyBXZWJMb2FkZXJTdHJhdGVneSkKKyAgICAsIG1fY2FjaGVTdG9yYWdlUHJvdmlk
ZXIoV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpKQogICAgICwgbV9kbnNQcmVmZXRj
aEh5c3RlcmVyaXMoW3RoaXNdKEh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0g
SHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVkKSBtX2Ruc1ByZWZldGNoZWRIb3N0cy5jbGVhcigpOyB9
KQogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgICwgbV9wbHVnaW5Qcm9jZXNz
Q29ubmVjdGlvbk1hbmFnZXIoUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyOjpjcmVhdGUo
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IGNmMmFiODEzYjM3OTAz
NzNiMmRhMGZhNmZhYmY3YmFjNDdiMmY0OTcuLjEyM2M0YmIxOThjYWY3MGNkOTc2ZjY5NTk5Zjc3
NzkwYjFkMGJiNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtODAs
NiArODAsNyBAQCBjbGFzcyBPYmpDT2JqZWN0R3JhcGg7CiBjbGFzcyBVc2VyRGF0YTsKIGNsYXNz
IFdheWxhbmRDb21wb3NpdG9yRGlzcGxheTsKIGNsYXNzIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJv
eHk7CitjbGFzcyBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlcjsKIGNsYXNzIFdlYkNvbm5lY3Rpb25U
b1VJUHJvY2VzczsKIGNsYXNzIFdlYkZyYW1lOwogY2xhc3MgV2ViTG9hZGVyU3RyYXRlZ3k7CkBA
IC0yMjIsNiArMjIzLDggQEAgcHVibGljOgogCiAgICAgV2ViQXV0b21hdGlvblNlc3Npb25Qcm94
eSogYXV0b21hdGlvblNlc3Npb25Qcm94eSgpIHsgcmV0dXJuIG1fYXV0b21hdGlvblNlc3Npb25Q
cm94eS5nZXQoKTsgfQogCisgICAgV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXImIGNhY2hlU3RvcmFn
ZVByb3ZpZGVyKCkgeyByZXR1cm4gbV9jYWNoZVN0b3JhZ2VQcm92aWRlci5nZXQoKTsgfQorCiBw
cml2YXRlOgogICAgIFdlYlByb2Nlc3MoKTsKICAgICB+V2ViUHJvY2VzcygpOwpAQCAtMzc1LDYg
KzM3OCw4IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbj4g
bV9uZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb247CiAgICAgV2ViTG9hZGVyU3RyYXRlZ3kmIG1fd2Vi
TG9hZGVyU3RyYXRlZ3k7CiAKKyAgICBSZWY8V2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXI+IG1fY2Fj
aGVTdG9yYWdlUHJvdmlkZXI7CisKICNpZiBVU0UoTElCV0VCUlRDKQogICAgIHN0ZDo6dW5pcXVl
X3B0cjxMaWJXZWJSVENOZXR3b3JrPiBtX2xpYldlYlJUQ05ldHdvcms7CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCAxZDQ5YjQ5ZjQ2ODA5
MzFiOWU5ZGQwN2JmZTAxMDgyODUwY2MyMmJmLi40NDkyZjU4ZDVmNTM2NGRhMGRhNzUwMjBmNGU1
NGRmZWUwMjA2MjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tCkBAIC0xMjQsNiArMTI0LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvQXBwbGljYXRpb25DYWNo
ZVN0b3JhZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvQmFja0ZvcndhcmRDb250cm9sbGVyLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL0NTU0FuaW1hdGlvbkNvbnRyb2xsZXIuaD4KKyNpbXBvcnQgPFdlYkNv
cmUvQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ2hyb21lLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL0NvbG9yTWFjLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RhdGFiYXNlTWFu
YWdlci5oPgpAQCAtMTQxMyw3ICsxNDE0LDggQEAgc3RhdGljIHZvaWQgV2ViS2l0SW5pdGlhbGl6
ZUdhbWVwYWRQcm92aWRlcklmTmVjZXNzYXJ5KCkKICAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdl
Q29uZmlndXJhdGlvbigKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJFZGl0b3JDbGllbnQ+KHNl
bGYpLAogICAgICAgICBTb2NrZXRQcm92aWRlcjo6Y3JlYXRlKCksCi0gICAgICAgIG1ha2VVbmlx
dWVSZWY8V2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXI+KCkKKyAgICAgICAgbWFrZVVuaXF1ZVJl
ZjxXZWJDb3JlOjpMaWJXZWJSVENQcm92aWRlcj4oKSwKKyAgICAgICAgV2ViQ29yZTo6Q2FjaGVT
dG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpCiAgICAgKTsKICNpZiAhUExBVEZPUk0oSU9TKQogICAg
IHBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQoc2Vs
Zik7CkBAIC0xNjc2LDcgKzE2NzgsOCBAQCBzdGF0aWMgdm9pZCBXZWJLaXRJbml0aWFsaXplR2Ft
ZXBhZFByb3ZpZGVySWZOZWNlc3NhcnkoKQogICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25m
aWd1cmF0aW9uKAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkVkaXRvckNsaWVudD4oc2VsZiks
CiAgICAgICAgIFNvY2tldFByb3ZpZGVyOjpjcmVhdGUoKSwKLSAgICAgICAgbWFrZVVuaXF1ZVJl
ZjxXZWJDb3JlOjpMaWJXZWJSVENQcm92aWRlcj4oKQorICAgICAgICBtYWtlVW5pcXVlUmVmPFdl
YkNvcmU6OkxpYldlYlJUQ1Byb3ZpZGVyPigpLAorICAgICAgICBXZWJDb3JlOjpDYWNoZVN0b3Jh
Z2VQcm92aWRlcjo6Y3JlYXRlKCkKICAgICApOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLmNocm9t
ZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnRJT1Moc2VsZik7CiAjaWYgRU5BQkxFKERSQUdf
U1VQUE9SVCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA1ZTE0MGEwYzI0MGRlNDc3Y2M1YTkwMTUzNGIwNjRiYTIxMmI3Y2Zm
Li44ZTlkYzcxMDlmMjQxZDlmYTkxYjM5NmUwMmRkYjM0NDFhNDkzMzZiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTIgQEAKKzIwMTctMDgtMTAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgor
CisgICAgICAgIFtDYWNoZSBBUEldIEFkZGluZyBnZW5lcmljIHN1cHBvcnQgZm9yIENhY2hlU3Rv
cmFnZSBhbmQgQ2FjaGUgbWV0aG9kcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTc1NDU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOiBTa2lwcGluZyBhIHRlc3QgdGhhdCB3
b3VsZCB0aW1lb3V0IG90aGVyd2lzZSBkdWUgdG8gdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24g
bGltaXRhdGlvbnMuCisKIDIwMTctMDgtMTAgIE5hbiBXYW5nICA8bl93YW5nQGFwcGxlLmNvbT4K
IAogICAgICAgICBMYXlvdXQgdGVzdCBhY2Nlc3NpYmlsaXR5L3ByZXNzLXRhcmdldC11c2VzLXRl
eHQtZGVzY2VuZGFudC1ub2RlLmh0bWwgaXMgZmxha3kuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwppbmRleCBhOGJlMjZjZDZhYWNjZjU3MjE1M2Y4MzY2MWZmNDE5ZjNhOTI5NDJhLi4wOGIx
YmRmMjUyNmYyNGZlNDNjMDJhMjc3ODk5NmM0NGNhYjA0NGUxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNy0wOC0xMCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRkaW5nIGdlbmVyaWMg
c3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zZXJ2aWNld29ya2VyL2NyZWRlbnRpYWxzLmh0
dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
Y2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdl
L3dvcmtlci9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2Vy
L2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0OgorCiAyMDE3LTA4LTA5ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wb3J0IGJlYWNvbi9oZWFkZXJz
L2hlYWRlci1jb250ZW50LXR5cGUuaHRtbCBmcm9tIHVwc3RyZWFtIFdQVApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggNzc1N2FhNTFiNGZkZTI5ZWM3ZGEyYmUxZThjOWEzZmUxMmEzODJhNC4uMzc1ZTRj
YjFlNWZhMjg4M2QzNTNkZjMwNjRjMjRiMTgwZmE5YTU5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBA
IC0xMjEsNyArMTIxLDcgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc3R1Yi00LjYuMi1jYWNoZS5odG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zdHViLTQuNi4zLWNhY2hlLXN0b3JhZ2Uu
aHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvY2FjaGUtc3RvcmFnZSBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cgWyBQYXNzIEZhaWx1cmUg
XQotCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL2NvbW1vbi5odHRwcy5odG1sIFsgU2tpcCBdCiAKICMgdGV4dGFyZWEuYW5pbWF0
ZSBpcyBub3Qgc3VwcG9ydGVkCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtdWktMy9jYXJldC1jb2xvci0wMTguaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS9zZXJ2aWNld29ya2VyL2NyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jcmVkZW50aWFscy5odHRwcy1leHBlY3Rl
ZC50eHQKaW5kZXggMDc2MTY1MGRiYzQxZThiZDE1ZTY0ZTQ3ZTMwOGYyZGMzMmFiOWU1Yi4uMzhl
OTUyMzk3YzM0NjE5MjhmMWVmMWVkZjdhYmVlMzBjZTM4MTI3NyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS9zZXJ2aWNld29ya2VyL2NyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY3JlZGVudGlhbHMuaHR0cHMtZXhw
ZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIENhY2hlIEFQSSBtYXRjaGluZyBpbmNs
dWRlcyBjcmVkZW50aWFscyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUgQVBJ
IG1hdGNoaW5nIGluY2x1ZGVzIGNyZWRlbnRpYWxzIGFzc2VydF91bnJlYWNoZWQ6IHVucmVnaXN0
ZXIgc2hvdWxkIG5vdCBmYWlsOiBzZXJ2aWNlV29ya2VyLmdldFJlZ2lzdHJhdGlvbigpIGlzIG5v
dCB5ZXQgaW1wbGVtZW50ZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRw
cy1leHBlY3RlZC50eHQKaW5kZXggZmRlYWZlOTM2NmU5ZjU5OTk0N2QyMDM1OWFmMGE1NzRiM2My
ZDZmMy4uNzFmNWU3MGQyYjJjMzZkNTU3NGI1MzExYWIwY2FlNmViYzY5MGZlZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS1tYXRj
aC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTQsOCArNCw4IEBAIEZBSUwgQ2FjaGVTdG9yYWdlTWF0
Y2ggZnJvbSBvbmUgb2YgbWFueSBjYWNoZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIGZyb20gb25lIG9mIG1hbnkgY2FjaGVzIGJ5IG5h
bWUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIGEgc3Ry
aW5nIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBGQUlMIENhY2hlU3RvcmFnZU1h
dGNoIGEgSEVBRCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0
b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlZCBlbnRyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
LUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNoZXMgYXZhaWxhYmxlIGJ1dCBuYW1l
IHByb3ZpZGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorUEFTUyBDYWNoZVN0b3JhZ2VNYXRj
aCB3aXRoIG5vIGNhY2hlZCBlbnRyeSAKK1BBU1MgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBj
YWNoZXMgYXZhaWxhYmxlIGJ1dCBuYW1lIHByb3ZpZGVkIAogRkFJTCBDYWNoZVN0b3JhZ2VNYXRj
aCB3aXRoIGVtcHR5IGNhY2hlIG5hbWUgcHJvdmlkZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHN1cHBvcnRzIGlnbm9yZVNlYXJjaCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKIEZBSUwgQ2FjaGUubWF0Y2ggc3VwcG9ydHMgaWdub3JlTWV0aG9kIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogTm90IGltcGxlbWVudGVkIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5k
b3cvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dp
bmRvdy9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAwMDFlNmUzM2JkN2Fi
MzRlYTczNWFjYWRmOTQyMGNhZTEwODI5YjYxLi4xYWQ0NjAwMjhkYTc2OWVjMTk4MTRlMzEwYWQw
YTAwNzhlM2U3NzllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1z
dG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9j
YWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtNCw5ICs0LDkgQEAgRkFJTCBDYWNo
ZVN0b3JhZ2UuZGVsZXRlIGRvb21zLCBidXQgZG9lcyBub3QgZGVsZXRlIGltbWVkaWF0ZWx5IHBy
b21pc2VfdGVzdDogVW4KIEZBSUwgQ2FjaGVTdG9yYWdlLm9wZW4gd2l0aCBhbiBlbXB0eSBuYW1l
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgogUEFTUyBDYWNoZVN0b3JhZ2Uub3BlbiB3aXRoIG5v
IGFyZ3VtZW50cyAKIEZBSUwgQ2FjaGVTdG9yYWdlLmhhcyB3aXRoIGV4aXN0aW5nIGNhY2hlIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2UuaGFzIHdpdGggbm9uZXhp
c3RlbnQgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitQQVNTIENhY2hlU3RvcmFnZS5o
YXMgd2l0aCBub25leGlzdGVudCBjYWNoZSAKIEZBSUwgQ2FjaGVTdG9yYWdlLm9wZW4gd2l0aCBl
eGlzdGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIEZBSUwgQ2FjaGVTdG9yYWdl
LmRlbGV0ZSB3aXRoIGV4aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJ
TCBDYWNoZVN0b3JhZ2UuZGVsZXRlIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCitQQVNTIENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBub25leGlzdGVudCBj
YWNoZSAKIEZBSUwgQ2FjaGVTdG9yYWdlIG5hbWVzIGFyZSBET01TdHJpbmdzIG5vdCBVU1ZTdHJp
bmdzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9y
YWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2Nh
Y2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0
CmluZGV4IGZkZWFmZTkzNjZlOWY1OTk5NDdkMjAzNTlhZjBhNTc0YjNjMmQ2ZjMuLjcxZjVlNzBk
MmIyYzM2ZDU1NzRiNTMxMWFiMGNhZTZlYmM2OTBmZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0
b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0
ZWQudHh0CkBAIC00LDggKzQsOCBAQCBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIGZyb20gb25lIG9m
IG1hbnkgY2FjaGVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbgogRkFJTCBDYWNo
ZVN0b3JhZ2VNYXRjaCBmcm9tIG9uZSBvZiBtYW55IGNhY2hlcyBieSBuYW1lIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgogRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBhIHN0cmluZyByZXF1ZXN0IHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogTm90IGltcGxlbWVudGVkIgogRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBhIEhFQUQgcmVx
dWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0
aCBubyBjYWNoZWQgZW50cnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3Rv
cmFnZU1hdGNoIHdpdGggbm8gY2FjaGVzIGF2YWlsYWJsZSBidXQgbmFtZSBwcm92aWRlZCBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKK1BBU1MgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNo
ZWQgZW50cnkgCitQQVNTIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGVzIGF2YWlsYWJs
ZSBidXQgbmFtZSBwcm92aWRlZCAKIEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBlbXB0eSBj
YWNoZSBuYW1lIHByb3ZpZGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgogRkFJTCBDYWNoZVN0
b3JhZ2VNYXRjaCBzdXBwb3J0cyBpZ25vcmVTZWFyY2ggcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CiBGQUlMIENhY2hlLm1hdGNoIHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3Jh
Z2UuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3Rv
cmFnZS5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMDAxZTZlMzNiZDdhYjM0ZWE3MzVhY2FkZjk0
MjBjYWUxMDgyOWI2MS4uMWFkNDYwMDI4ZGE3NjllYzE5ODE0ZTMxMGFkMGEwMDc4ZTNlNzc5ZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS5odHRwcy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS5o
dHRwcy1leHBlY3RlZC50eHQKQEAgLTQsOSArNCw5IEBAIEZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0
ZSBkb29tcywgYnV0IGRvZXMgbm90IGRlbGV0ZSBpbW1lZGlhdGVseSBwcm9taXNlX3Rlc3Q6IFVu
CiBGQUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggYW4gZW1wdHkgbmFtZSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKIFBBU1MgQ2FjaGVTdG9yYWdlLm9wZW4gd2l0aCBubyBhcmd1bWVudHMgCiBG
QUlMIENhY2hlU3RvcmFnZS5oYXMgd2l0aCBleGlzdGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLmhhcyB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogTm90IGltcGxlbWVudGVkIgorUEFTUyBDYWNoZVN0b3JhZ2UuaGFzIHdpdGggbm9uZXhp
c3RlbnQgY2FjaGUgCiBGQUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggZXhpc3RpbmcgY2FjaGUg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBGQUlMIENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBl
eGlzdGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdl
LmRlbGV0ZSB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgor
UEFTUyBDYWNoZVN0b3JhZ2UuZGVsZXRlIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgCiBGQUlMIENh
Y2hlU3RvcmFnZSBuYW1lcyBhcmUgRE9NU3RyaW5ncyBub3QgVVNWU3RyaW5ncyBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318017</attachid>
            <date>2017-08-13 17:56:54 -0700</date>
            <delta_ts>2017-08-13 20:59:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175455-20170813175653.patch</filename>
            <type>text/plain</type>
            <size>116696</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNjA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2ZlMTZmNTQzMWVlNDZk
YTM0MDg3NWI5NWQ5MzlhNTVkZGU3ZDcwMC4uMjkyNjkzZmQyM2ZlYjI1NGQ1YTVjNDcxMTcxZmYx
Y2UxNzU2MGIzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0MyBAQAorMjAxNy0wOC0xMCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRk
aW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5
IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgIEFkZGluZyBhIENhY2hlU3RvcmFnZVByb3ZpZGVy
IGFic3RyYWN0aW9uIHRoYXQgY3JlYXRlcyBhIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uCisgICAg
ICAgIFRoZSBDYWNoZVN0b3JhZ2VQcm92aWRlciBpcyBhY2Nlc3NlZCBmcm9tIHRoZSBwYWdlIGZv
ciBEb2N1bWVudCBjYWxscy4KKyAgICAgICAgVGhlIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24gaXMg
cmVzcG9uc2libGUgdG8gaW1wbGVtZW50IHRoZSByZWFkL3dyaXRlIG9wZXJhdGlvbnMgb24gdGhl
IGNhY2hlIGRhdGFiYXNlLgorICAgICAgICBBdCB0aGUgbW9tZW50LCBpdCBkb2VzIG5vdGhpbmcg
YnV0IHJldHVybiBub3QgaW1wbGVtZW50ZWQgZXJyb3JzLgorCisgICAgICAgIEltcGxlbWVudGlu
ZyBDYWNoZVN0b3JhZ2UgQVBJcyBhbmQgQ2FjaGUgQVBJcyBiYXNlZCBvbiB0aGUgQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbiBleGNlcHQgZm9yIENhY2hlIGFkZCBhbmQgYWRkQWxsIHdoaWNoIHdpbGwg
YmUgaW1wbGVtZW50ZWQgbGF0ZXIgb24uCisgICAgICAgIENhY2hlU3RvcmFnQ29ubmVjdGlvbiBp
cyByZXNwb25zaWJsZSB0byByZWFkL3dyaXRlIENhY2hlU3RvcmFnZSBsaXN0IG9mIGNhY2hlcyBh
bmQgZWFjaCBpbmRpdmlkdWFsIGNhY2hlLgorICAgICAgICBUaGUgQ2FjaGVTdG9yYWdlQ29ubmVj
dGlvbiBpcyBhIGdlbmVyaWMgY29ubmVjdGlvbiBhbmQgbm90IHRpZWQgdG8gYW55IGRvY3VtZW50
L2NvbnRleHQuCisgICAgICAgIENhY2hlU3RvcmFnZSBvYmplY3RzIGFyZSBtYW5pcHVsYXRlZCBi
eSBwcm92aWRpbmcgdG8gdGhlIGNvbm5lY3Rpb24gdGhlIG9yaWdpbiBvZiB0aGUgY29udGV4dC4K
KyAgICAgICAgQ2FjaGVTdG9yYWdlIGFyZSBnbG9iYWwgdG8gYWxsIGNvbnRleHRzIHdpdGggdGhl
IHNhbWUgb3JpZ2luLgorICAgICAgICBDYWNoZSBvYmplY3RzIGFyZSBtYW5pcHVsYXRlZCBieSBh
biBJRCB0aGF0IGlzIGdpdmVuIGluaXRpYWxseSBieSB0aGUgQ2FjaGVTdG9yYWdlRW5naW5lIHdo
ZW4gb3BlbmluZyB0aGUgQ2FjaGUgb2JqZWN0LgorCisgICAgICAgIEFkZGluZyB2YXJpb3VzIGFj
Y2Vzc29ycyBhbmQgY29uc3RydWN0b3JzIGZvciBGZXRjaCBjb25zdHJ1Y3RzIGFzIG5lZWRlZCBi
eSB0aGUgQ2FjaGUgQVBJIGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogTW9kdWxlcy9jYWNo
ZS9DYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6Q2FjaGUpOgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGU6On5DYWNoZSk6CisgICAgICAgIFRoZSBDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uIGlzIGEgZ2VuZXJpYyBjb25uZWN0aW9uIGFuZCBub3QgdGllZCB0byBhbnkgZG9jdW1lbnQv
Y29udGV4dC4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjptYXRjaCk6IEltcGxlbWVudGF0aW9u
IG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtbWF0Y2gu
CisgICAgICAgIFJlZGlyZWN0IHRvIG1hdGNoQWxsIGFzIHBlciBzcGVjLgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGU6Om1hdGNoQWxsKTogSW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93d3cudzMu
b3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNjYWNoZS1tYXRjaEFsbC4KKyAgICAgICAgQ2hlY2tz
IGZvciByZXF1ZXN0IGFzIHBlciBzcGVjLiBUaGVuIGVpdGhlciByZWZyZXNoIHRoZSByZXF1ZXN0
IHRvIHJlc3BvbnNlIG1hcCBhbmQgcmV0dXJuIGFsbCByZXNwb25zZXMuCisgICAgICAgIE9yIGNh
bGwgdGhlIHF1ZXJ5IGNhY2hlIGFsZ29yaXRobSBhbmQgcmV0dXJuIGNvcGllcyBvZiB0aGUgcmVz
cG9uc2VzICh1c2luZyBjbG9uZSkuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6cHV0KToKKyAg
ICAgICAgQ2hlY2sgdGhlIHJlcXVlc3QgYW5kIHJlc3BvbnNlIGFzIHBlciBzcGVjLgorICAgICAg
ICBBZGQgdGVtcG9yYXJ5IHJlamVjdGlvbiBjYXNlcyAoYmVpbmcgbG9hZGVkIHJlc3BvbnNlcywg
cmVzcG9uc2VzIHdpdGggUmVhZGFibGVTdHJlYW0pIGFzIHRoZXJlIGlzIG5vIHN1cHBvcnQgZm9y
IHRoZW0gcmlnaHQgbm93LgorICAgICAgICBDYWxsIHRoZSBiYXRjaCBwdXQgb3BlcmF0aW9uLgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnJlbW92ZSk6CisgICAgICAgIENoZWNrIHRoZSByZXF1
ZXN0IGFuZCByZXNwb25zZSBhcyBwZXIgc3BlYy4KKyAgICAgICAgQ2FsbCB0aGUgYmF0Y2ggZGVs
ZXRlIG9wZXJhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjprZXlzKToKKyAgICAgICAg
UmVmcmVzaCB0aGUgcmVxdWVzdCB0byByZXNwb25zZSBtYXAgYW5kIHJldHVybiBjb3JyZXNwb25k
aW5nIHJlcXVlc3RzLgorICAgICAgICBNYWtpbmcgc3VyZSB0byByZXVzZSB0aGUgc2FtZSByZXF1
ZXN0IG9iamVjdHMgYXMgcGVyIHNwZWMuCisgICAgICAgIEFzIHBlciBzcGVjLCB0aGUgcmVxdWVz
dCB0byByZXNwb25zZSBtYXAgaXMgb3JkZXJlZC4gV2UgaW1wbGVtZW50IGl0IGFzIGEgVmVjdG9y
LgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcCk6
CisgICAgICAgIFVzZSB0aGUgY2FjaGUgc3RvcmFnZSBjb25uZWN0aW9uIHRvIGdldCBhbiB1cC10
by1kYXRlIGxpc3Qgb2YgY2FjaGVkIHJlY29yZHMuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6
cXVlcnlDYWNoZU1hdGNoKToKKyAgICAgICAgSW1wbGVtZW50cyB0aGUgbWF0Y2ggYWxnb3JpdGht
IGRlZmluZWQgaW4gaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNxdWVy
eS1jYWNoZS1hbGdvcml0aG0uCisgICAgICAgIFRoaXMgaXMgc3BsaXQgZm9yIHF1ZXJ5Q2FjaGUg
YXMgY2FjaGUgc3RvcmFnZSBlbmdpbmUgd2lsbCBuZWVkIHRvIHVzZSBpdCB3aGVuIGltcGxlbWVu
dGluZyB0aGUgZGVsZXRlIG9wZXJhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjpxdWVy
eUNhY2hlKToKKyAgICAgICAgRnVsbCBpbXBsZW1lbnRhdGlvbiBvZiBodHRwczovL3d3dy53My5v
cmcvVFIvc2VydmljZS13b3JrZXJzLTEvI3F1ZXJ5LWNhY2hlLWFsZ29yaXRobSB3aXRoIG5vIHRh
cmdldFN0b3JhZ2UgYXJndW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6cXVlcnlDYWNo
ZVdpdGhUYXJnZXRTdG9yYWdlKToKKyAgICAgICAgRnVsbCBpbXBsZW1lbnRhdGlvbiBvZiBodHRw
czovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEvI3F1ZXJ5LWNhY2hlLWFsZ29yaXRo
bSB3aXRoIGEgcHJvdmlkZWQgdGFyZ2V0U3RvcmFnZSBhcmd1bWVudC4KKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlOjpiYXRjaERlbGV0ZU9wZXJhdGlvbik6CisgICAgICAgIEltcGxlbWVudGF0aW9u
IG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jYmF0Y2gtY2FjaGUt
b3BlcmF0aW9ucy1hbGdvcml0aG0gYnV0IGRlZGljYXRlZCB0byBhIGRlbGV0ZSBvcGVyYXRpb24u
CisgICAgICAgIERlbGV0ZSBvcGVyYXRpb24gYXJlIGFsd2F5cyBkb25lIG9uZSBhdCBhIHRpbWUu
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6YmF0Y2hQdXRPcGVyYXRpb24pOgorICAgICAgICBJ
bXBsZW1lbnRhdGlvbiBvZiBodHRwczovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEv
I2JhdGNoLWNhY2hlLW9wZXJhdGlvbnMtYWxnb3JpdGhtIGRlZGljYXRlZCB0byBhIHB1dCBvcGVy
YXRpb24uCisgICAgICAgIFB1dCBvcGVyYXRpb24gdGFrZXMgb25lIHJlY29yZCBmb3IgcHV0IGJ1
dCBjYW4gdGFrZSBzZXZlcmFsIHJlY29yZHMgaW4gdGhlIGNhc2Ugb2YgYWRkQWxsLCBoZW5jZSB0
aGUgY3VycmVudCBkZXNpZ24uCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6dXBkYXRlUmVxdWVz
dFRvUmVzcG9uc2VNYXApOgorICAgICAgICBVcGRhdGUgdGhlIGNhY2hlIHJlcXVlc3QgdG8gcmVz
cG9uc2UgbWFwIGJhc2VkIG9uIHRoZSByZWNvcmRzIHJldHJpZXZlZCBmcm9tIHRoZSBjYWNoZSBz
dG9yYWdlIGNvbm5lY3Rpb24uCisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6
bmFtZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZS5pZGw6CisgICAgICAg
ICogTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVTdG9yYWdlOjpvcmlnaW4gY29uc3QpOgorICAgICAgICBDb21wdXRpbmcgdGhlIGNhY2hlIG9y
aWdpbiB0aGF0IGlzIHBhc3NlZCB0byB0aGUgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi4KKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6aGFzKToKKyAgICAgICAgSW1wbGVtZW50YXRpb24g
b2YgaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNjYWNoZS1zdG9yYWdl
LWhhcy4KKyAgICAgICAgQ2FsbCB0aGUgY2FjaGUgc3RvcmFnZSBjb25uZWN0aW9uIHRvIHJlZnJl
c2ggaXRzIGNhY2hlIG1hcC4KKyAgICAgICAgVGhlbiB1c2UgaXQgdG8gY2hlY2sgd2hldGhlciBh
IGNhY2hlIGV4aXN0cy4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6cmVmcmVzaENh
Y2hlTWFwKToKKyAgICAgICAgVXNlIHRoZSBjYWNoZSBzdG9yYWdlIGNvbm5lY3Rpb24gdG8gZ2V0
IHRoZSBsaXN0IG9mIGV4aXN0aW5nIGNhY2hlcy4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3Rv
cmFnZTo6b3Blbik6CisgICAgICAgIEltcGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9y
Zy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtc3RvcmFnZS1vcGVuLgorICAgICAgICBSZWZy
ZXNoaW5nIHRoZSBjYWNoZSBtYXAgc28gYXMgdG8gcmV0dXJuIGEgcHJlLWV4aXN0aW5nIGNhY2hl
IGlmIGFueS4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6cmVtb3ZlKToKKyAgICAg
ICAgSW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vy
cy0xLyNjYWNoZS1zdG9yYWdlLWRlbGV0ZS1tZXRob2QuCisgICAgICAgIFJlZnJlc2hpbmcgdGhl
IGNhY2hlIG1hcCBzbyBhcyB0byBkbyBub3RoaW5nIGlmIHRoZXJlIGlzIG5vIGNhY2hlIHRvIHJl
bW92ZS4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6a2V5cyk6CisgICAgICAgIElt
cGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8j
Y2FjaGUtc3RvcmFnZS1rZXlzLW1ldGhvZC4KKyAgICAgICAgUmVmcmVzaGluZyB0aGUgY2FjaGUg
bWFwIGFuZCByZXR1cm5pbiBpdHMga2V5cy4KKyAgICAgICAgQXMgcGVyIHNwZWMsIHRoZSBjYWNo
ZSBtYXAgaXMgb3JkZXJlZC4gV2UgaW1wbGVtZW50IGl0IGFzIGEgVmVjdG9yLgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpjYWNoZU1hcCk6CisgICAgICAgIEdldCB0aGUgbGlzdCBv
ZiBjYWNoZSBvYmplY3RzLCB1c2VkIGFzIGEgcHJpdmF0ZSBhY2Nlc3NvciBmb3IgSlMgYnVpbHQt
aW5zLgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZVN0b3JhZ2U6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0
b3JhZ2U6OkNhY2hlU3RvcmFnZSk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uOjpleGNlcHRpb25Gcm9tRXJyb3IpOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUv
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oOiBBZGRlZC4KKyAgICAgICAgTWFrZXMgdGhlIGxpbmsg
YmV0d2VlbiBXZWIgZmFjaW5nIENhY2hlIEFQSSBhbmQgdGhlIGNhY2hlIHN0b3JhZ2UgZW5naW5l
LgorICAgICAgICBFbnZpc2lvbmVkIGltcGxlbWVudGF0aW9uIGFyZToKKyAgICAgICAgLSBPbmUg
bWFpbiB0aHJlYWQgY29ubmVjdGlvbiB1c2VkIGJ5IGFsbCBkb2N1bWVudHMgaW4gdGhlIGdpdmVu
IHByb2Nlc3MuCisgICAgICAgIC0gT25lIGNvbm5lY3Rpb24gcGVyIHdvcmtlciB0aGF0IGZvcndh
cmRzIHRoZSBjYWxscyB0byB0aGUgbWFpbiB0aHJlYWQgYW5kIHVzZSB0aGUgbWFpbiB0aHJlYWQg
Y29ubmVjdGlvbiBhZnRlcndhcmRzLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29u
bmVjdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5lY3Rp
b246Om9wZW4pOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6cmVt
b3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246OnJlZnJlc2hD
YWNoZU1hcCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpyZWZy
ZXNoUmVxdWVzdFRvUmVzcG9uc2VNYXApOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdl
Q29ubmVjdGlvbjo6YmF0Y2hEZWxldGVPcGVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbjo6YmF0Y2hQdXRPcGVyYXRpb24pOgorICAgICAgICAqIE1vZHVs
ZXMvY2FjaGUvQ2FjaGVTdG9yYWdlUmVjb3JkLmg6IEFkZGVkLiBBIGZldGNoIHJlY29yZCBmcm9t
IHRoZSBXZWIgZmFjaW5nIGNhY2hlIEFQSSBwZXJzcGVjdGl2ZS4KKyAgICAgICAgKiBNb2R1bGVz
L2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3dD
YWNoZXM6OmNhY2hlcyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9i
YWxTY29wZUNhY2hlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUNh
Y2hlczo6ZnJvbSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6
Y2FjaGVzIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3Bl
Q2FjaGVzLmg6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6V29y
a2VyR2xvYmFsU2NvcGVDYWNoZXMpOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5
T3duZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoQm9keU93bmVyOjppc1JlYWRhYmxlU3Ry
ZWFtQm9keSBjb25zdCk6IEFkZGVkIGdldHRlciBhcyBpdCBpcyB1c2VkIGJ5IGNhY2hlIEFQSS4K
KyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5oOgorICAgICAgICAoV2ViQ29y
ZTo6RmV0Y2hIZWFkZXJzOjpjcmVhdGUpOiBBZGQgYW5vdGhlciBjcmVhdGUgYXMgdXNlZCBieSB0
aGUgY2FjaGUgQVBJLgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpndWFyZCBjb25z
dCk6IEFkZGVkIGdldHRlciBhbmQgSVBDIHNlcmlhbGl6ZXIgYXMgdGhpcyBpcyBzb21ldGhpbmcg
dGhhdCB3aWxsIGJlIHN0b3JlZCBieSB0aGUgY2FjaGUgZW5naW5lLgorICAgICAgICAqIE1vZHVs
ZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hMb2FkZXI6
OnN0YXJ0KToKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpidWlsZE9wdGlvbnMpOiBJbiBjYXNlIEZldGNoUmVxdWVzdDo6Y3JlYXRl
IGlzIGNhbGxlZCBmcm9tIEMrKywgdGhlcmUgaXMgbm8gbmVlZCB0byBzZXQgaW5pdC53aW5kb3cg
dG8gYSBudWxsIHZhbHVlLgorICAgICAgICBBZGQgYSBjaGVjayBzbyB0aGF0IG5vIHZhbHVlIGF0
IGFsbCBpcyB0aGUgc2FtZSBhcyBhIG51bGwvdW5kZWZpbmVkIHZhbHVlLgorICAgICAgICAoV2Vi
Q29yZTo6RmV0Y2hSZXF1ZXN0OjpyZXNvdXJjZVJlcXVlc3QgY29uc3QpOgorICAgICAgICAqIE1v
ZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0Lmg6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRj
aFJlc3BvbnNlLmg6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvck92ZXJsYXk6Om92ZXJsYXlQYWdlKToKKyAgICAgICAgKiBwYWdlL0Nh
Y2hlU3RvcmFnZVByb3ZpZGVyLmg6IEFkZGVkLgorICAgICAgICBJbnRlcmZhY2UgdG8gY3JlYXRl
IG1haW4gdGhyZWFkIGNhY2hlIHN0b3JhZ2UgY29ubmVjdGlvbiBmb3IgdGhlIGdpdmVuIHBhZ2Uu
CisgICAgICAgIFRoZXJlIHdpbGwgYmUgb25lIHByb3ZpZGVyIGZvciBlYWNoIHByb2Nlc3MuCisg
ICAgICAgIFBhc3NpbmcgYSBzZXNzaW9uSUQgc28gdGhhdCB3ZSB3aWxsIGNyZWF0ZSBhIGNvbm5l
Y3Rpb24gcGVyIHNlc3Npb24uCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBhZ2U6OlBhZ2UpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UGFnZTo6Y2FjaGVTdG9yYWdlUHJvdmlkZXIpOgorICAgICAgICAqIHBhZ2UvUGFnZUNv
bmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbmZpZ3VyYXRpb246OlBh
Z2VDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0aW9uLmg6Cisg
ICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0ltYWdlOjpkYXRhQ2hhbmdlZCk6CisKIDIwMTctMDgtMTAgIFNhbSBXZWluaWcgIDxzYW1Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBXVEY6OkZ1bmN0aW9uIGRvZXMgbm90IGFsbG93IGZvciByZWZl
cmVuY2UgLyBub24tZGVmYXVsdCBjb25zdHJ1Y3RpYmxlIHJldHVybiB0eXBlcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCA1MDIxMzJjMDgwOGU2M2U2ZjEzZDcwZWJlMDM2M2Q4ZDk2YWRkNjA1Li4zZWMzZjJkZGRhOGMx
ZDQ2NmNmZmY5YWQ5MGIxNmFhMjJhZjEzYzRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisy
MDE3LTA4LTEwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBb
Q2FjaGUgQVBJXSBBZGRpbmcgZ2VuZXJpYyBzdXBwb3J0IGZvciBDYWNoZVN0b3JhZ2UgYW5kIENh
Y2hlIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3NTQ1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9DYWNoZS9XZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oOiBBZGRlZC4KKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fY3B1TGlt
aXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlByb2Nlc3M6OldlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpjYWNoZVN0b3JhZ2VQcm92aWRl
cik6CisKIDIwMTctMDgtMTAgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBXVEY6OkZ1bmN0aW9uIGRvZXMgbm90IGFsbG93IGZvciByZWZlcmVuY2UgLyBub24tZGVmYXVs
dCBjb25zdHJ1Y3RpYmxlIHJldHVybiB0eXBlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmlu
ZGV4IDU4NTJkYWIxMjNmNmFlMjJmNjE1NWU3NjY3NGQyN2EyMzNkY2EyZGUuLmIxOTFhNWQ2Nzkw
ZDRjYzMzOGRjOTZhY2FlZmE4NjBiZjFlMjE2ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0wOC0xMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRkaW5nIGdlbmVyaWMgc3VwcG9ydCBm
b3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAg
KC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpd
KToKKwogMjAxNy0wOC0xMCAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGlnYWxpYS5j
b20+CiAKICAgICAgICAgUmVtb3ZlIEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL0NoYW5nZUxvZwppbmRleCA1ZWNmY2ExOGY2OGJkODBiNDNmYTQyMzE1ZWZlZDYxMjkz
Mzc0YmI1Li43YmY1ZDNkZjFmMTFlOGZmZTg2ZGI2NGU3N2U1ZmJmY2Q2ZTg3ZTYxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMDgtMTMgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFtDYWNoZSBBUEldIEFkZGlu
ZyBnZW5lcmljIHN1cHBvcnQgZm9yIENhY2hlU3RvcmFnZSBhbmQgQ2FjaGUgbWV0aG9kcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NDU1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3LmNw
cDoKKyAgICAgICAgKFdlYlZpZXc6OmluaXRXaXRoRnJhbWUpOgorCiAyMDE3LTA4LTA5ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjE5
MDEzKTogT0F1dGggZmxvd3MgYXJlIGJyb2tlbiB3aGVuIHJlZGlyZWN0aW5nIGJhY2sgdG8gYXBw
bGljYXRpb24gYWZ0ZXIgYXV0aGVudGljYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNjQ4
MTYzMWU4ZjZhZDVhMWQxZjZmZjE5MGFkODYzZTQ3ZDM1NTE0My4uNjgxNmU0OGEwNGE1YzRjNDQy
ZDFmODQ4N2YwNTRhNWEzMDlmNGUyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTg5MSw2ICs4
OTEsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAKICAgICBNb2R1bGVzL2NhY2hlL0NhY2hlLmNw
cAogICAgIE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmNwcAorICAgIE1vZHVsZXMvY2FjaGUv
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAKICAgICBNb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0Nh
Y2hlcy5jcHAKICAgICBNb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmNwcAog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCmluZGV4IGUxOWFmNTUwMjk1NjRk
OTU3NDU0MmIzZWIzMzQ4NDMyMzgzZjY3ZDUuLjhlMTU4ZjFlYzNhYTgyYzY5NjZhY2Q5MGJlZTM5
ODYwOGM3NjQ4M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2Fj
aGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCkBAIC0y
Niw0MSArMjYsMzM2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ2FjaGUuaCIK
IAorI2luY2x1ZGUgIkNhY2hlUXVlcnlPcHRpb25zLmgiCisjaW5jbHVkZSAiRmV0Y2hSZXNwb25z
ZS5oIgorI2luY2x1ZGUgIkpTRmV0Y2hSZXF1ZXN0LmgiCisjaW5jbHVkZSAiSlNGZXRjaFJlc3Bv
bnNlLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgIlVS
TC5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgQ2FjaGU6Om1hdGNoKFJlcXVlc3RJ
bmZvJiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIFJlZjxEZWZlcnJlZFBy
b21pc2U+JiYgcHJvbWlzZSkKK0NhY2hlOjpDYWNoZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0LCBTdHJpbmcmJiBuYW1lLCB1aW50NjRfdCBpZGVudGlmaWVyLCBSZWY8Q2FjaGVTdG9y
YWdlQ29ubmVjdGlvbj4mJiBjb25uZWN0aW9uKQorICAgIDogQWN0aXZlRE9NT2JqZWN0KCZjb250
ZXh0KQorICAgICwgbV9uYW1lKFdURk1vdmUobmFtZSkpCisgICAgLCBtX2lkZW50aWZpZXIoaWRl
bnRpZmllcikKKyAgICAsIG1fY29ubmVjdGlvbihXVEZNb3ZlKGNvbm5lY3Rpb24pKQoreworICAg
IHN1c3BlbmRJZk5lZWRlZCgpOworfQorCitDYWNoZTo6fkNhY2hlKCkKIHsKLSAgICBwcm9taXNl
LT5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1l
bnRlZCIpfSk7CiB9CiAKLXZvaWQgQ2FjaGU6Om1hdGNoQWxsKHN0ZDo6b3B0aW9uYWw8UmVxdWVz
dEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIE1hdGNoQWxsUHJv
bWlzZSYmIHByb21pc2UpCit2b2lkIENhY2hlOjptYXRjaChSZXF1ZXN0SW5mbyYmIGluZm8sIENh
Y2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNl
KQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRl
cmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIG1hdGNoQWxsKFdURk1vdmUoaW5mbyksIFdU
Rk1vdmUob3B0aW9ucyksIFdURk1vdmUocHJvbWlzZSksIE1hdGNoVHlwZTo6T25seUZpcnN0KTsK
K30KKwordm9pZCBDYWNoZTo6bWF0Y2hBbGwoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4mJiBp
bmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYg
cHJvbWlzZSwgTWF0Y2hUeXBlIG1hdGNoVHlwZSkKK3sKKyAgICBSZWZQdHI8RmV0Y2hSZXF1ZXN0
PiByZXF1ZXN0OworICAgIGlmIChpbmZvKSB7CisgICAgICAgIGlmIChXVEY6OmhvbGRzX2FsdGVy
bmF0aXZlPFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvLnZhbHVlKCkpKSB7CisgICAgICAgICAg
ICByZXF1ZXN0ID0gV1RGOjpnZXQ8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8udmFsdWUoKSku
cmVsZWFzZU5vbk51bGwoKTsKKyAgICAgICAgICAgIGlmIChyZXF1ZXN0LT5tZXRob2QoKSAhPSAi
R0VUIiAmJiAhb3B0aW9ucy5pZ25vcmVNZXRob2QpIHsKKyAgICAgICAgICAgICAgICBpZiAobWF0
Y2hUeXBlID09IE1hdGNoVHlwZTo6T25seUZpcnN0KSB7CisgICAgICAgICAgICAgICAgICAgIHBy
b21pc2UtPnJlc29sdmUoKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElETFNlcXVlbmNlPElE
TEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4+KFZlY3RvcjxSZWY8RmV0Y2hSZXNwb25zZT4+IHsg
fSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgaWYgKFVOTElLRUxZKCFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkp
KQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIHJlcXVlc3QgPSBGZXRjaFJl
cXVlc3Q6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBXVEZNb3ZlKGluZm8udmFs
dWUoKSksIHsgfSkucmVsZWFzZVJldHVyblZhbHVlKCk7CisgICAgICAgIH0KKyAgICB9CisKKyAg
ICBpZiAoIXJlcXVlc3QpIHsKKyAgICAgICAgQVNTRVJUKG1hdGNoVHlwZSA9PSBNYXRjaFR5cGU6
OkFsbCk7CisgICAgICAgIHJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcChbdGhpcywgcHJvbWlz
ZSA9IFdURk1vdmUocHJvbWlzZSldKCkgeworICAgICAgICAgICAgVmVjdG9yPFJlZjxGZXRjaFJl
c3BvbnNlPj4gcmVzcG9uc2VzOworICAgICAgICAgICAgcmVzcG9uc2VzLnJlc2VydmVJbml0aWFs
Q2FwYWNpdHkobV9yZXF1ZXN0VG9SZXNwb25zZU1hcC5zaXplKCkpOworICAgICAgICAgICAgZm9y
IChhdXRvJiByZWNvcmQgOiBtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwKQorICAgICAgICAgICAgICAg
IHJlc3BvbnNlcy51bmNoZWNrZWRBcHBlbmQocmVjb3JkLnJlc3BvbnNlLT5jbG9uZUZvckpTKCkp
OworICAgICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8
RmV0Y2hSZXNwb25zZT4+PihyZXNwb25zZXMpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKyAgICBxdWVyeUNhY2hlKHJlcXVlc3QucmVsZWFzZU5vbk51bGwoKSwgV1RGTW92
ZShvcHRpb25zKSwgW21hdGNoVHlwZSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKGNvbnN0
IFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+JiByZWNvcmRzKSBtdXRhYmxlIHsKKyAgICAgICAg
aWYgKG1hdGNoVHlwZSA9PSBNYXRjaFR5cGU6Ok9ubHlGaXJzdCkgeworICAgICAgICAgICAgaWYg
KHJlY29yZHMuc2l6ZSgpKSB7CisgICAgICAgICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExJ
bnRlcmZhY2U8RmV0Y2hSZXNwb25zZT4+KHJlY29yZHNbMF0ucmVzcG9uc2UtPmNsb25lRm9ySlMo
KSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
cHJvbWlzZS0+cmVzb2x2ZSgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAg
ICAgICAgVmVjdG9yPFJlZjxGZXRjaFJlc3BvbnNlPj4gcmVzcG9uc2VzOworICAgICAgICByZXNw
b25zZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShyZWNvcmRzLnNpemUoKSk7CisgICAgICAgIGZv
ciAoYXV0byYgcmVjb3JkIDogcmVjb3JkcykKKyAgICAgICAgICAgIHJlc3BvbnNlcy51bmNoZWNr
ZWRBcHBlbmQocmVjb3JkLnJlc3BvbnNlLT5jbG9uZUZvckpTKCkpOworICAgICAgICBwcm9taXNl
LT5yZXNvbHZlPElETFNlcXVlbmNlPElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4+KHJlc3Bv
bnNlcyk7CisgICAgfSk7CiB9CiAKIHZvaWQgQ2FjaGU6OmFkZChSZXF1ZXN0SW5mbyYmLCBET01Q
cm9taXNlRGVmZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVqZWN0KEV4
Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOwor
ICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yLCBBU0NJSUxp
dGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CiB9CiAKIHZvaWQgQ2FjaGU6OmFkZEFsbChWZWN0
b3I8UmVxdWVzdEluZm8+JiYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCiB7
Ci0gICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwo
Ik5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgTm90
U3VwcG9ydGVkRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKK30KKwor
dm9pZCBDYWNoZTo6cHV0KFJlcXVlc3RJbmZvJiYgaW5mbywgUmVmPEZldGNoUmVzcG9uc2U+JiYg
cmVzcG9uc2UsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCit7CisgICAgUmVm
UHRyPEZldGNoUmVxdWVzdD4gcmVxdWVzdDsKKyAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2
ZTxSZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4oaW5mbykpIHsKKyAgICAgICAgcmVxdWVzdCA9IFdURjo6
Z2V0PFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvKS5yZWxlYXNlTm9uTnVsbCgpOworICAgICAg
ICBpZiAocmVxdWVzdC0+bWV0aG9kKCkgIT0gIkdFVCIpIHsKKyAgICAgICAgICAgIHByb21pc2Uu
cmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJSZXF1ZXN0IG1ldGhv
ZCBpcyBub3QgR0VUIikgfSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9
IGVsc2UgeworICAgICAgICBpZiAoVU5MSUtFTFkoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkp
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNy
ZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBXVEZNb3ZlKGluZm8pLCB7IH0pLnJlbGVh
c2VSZXR1cm5WYWx1ZSgpOworICAgIH0KKworICAgIGlmICghcHJvdG9jb2xJc0luSFRUUEZhbWls
eShyZXF1ZXN0LT51cmwoKSkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsg
VHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIlJlcXVlc3QgdXJsIGlzIG5vdCBIVFRQL0hUVFBTIikg
fSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIHZhcnlWYWx1ZSA9IHJlc3Bv
bnNlLT5oZWFkZXJzKCkuaW50ZXJuYWxIZWFkZXJzKCkuZ2V0KFdlYkNvcmU6OkhUVFBIZWFkZXJO
YW1lOjpWYXJ5KTsKKyAgICBWZWN0b3I8U3RyaW5nPiB2YXJ5aW5nSGVhZGVyTmFtZXM7CisgICAg
Ym9vbCBoYXNWYXJ5SGVhZGVyU3RhciA9IGZhbHNlOworICAgIHZhcnlWYWx1ZS5zcGxpdCgnLCcs
IGZhbHNlLCBbJl0oY29uc3QgU3RyaW5nVmlldyYgdmlldykgeworICAgICAgICBpZiAoIWhhc1Zh
cnlIZWFkZXJTdGFyICYmIHZpZXcgPT0gIioiKQorICAgICAgICAgICAgaGFzVmFyeUhlYWRlclN0
YXIgPSB0cnVlOworICAgIH0pOworCisgICAgaWYgKGhhc1ZhcnlIZWFkZXJTdGFyKSB7CisgICAg
ICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJS
ZXNwb25zZSBoYXMgYSAnKicgVmFyeSBoZWFkZXIgdmFsdWUiKSB9KTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIGlmIChyZXNwb25zZS0+aXNEaXN0dXJiZWQoKSkgeworICAgICAgICBw
cm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiUmVzcG9u
c2UgaXMgZGlzdHVyYmVkIG9yIGxvY2tlZCIpIH0pOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgaWYgKHJlc3BvbnNlLT5zdGF0dXMoKSA9PSAyMDYpIHsKKyAgICAgICAgcHJvbWlzZS5y
ZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIlJlc3BvbnNlIGlzIGEg
MjA2IHBhcnRpYWwiKSB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIEZJWE1F
OiBBZGQgc3VwcG9ydCBmb3IgYmVpbmcgbG9hZGVkIHJlc3BvbnNlcy4KKyAgICBpZiAocmVzcG9u
c2UtPmlzTG9hZGluZygpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IE5v
dFN1cHBvcnRlZEVycm9yLCBBU0NJSUxpdGVyYWwoIkNhY2hpbmcgYSBsb2FkaW5nIFJlc3BvbnNl
IGlzIG5vdCB5ZXQgc3VwcG9ydGVkIikgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICAvLyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIFJlYWRhYmxlU3RyZWFtLgorICAgIGlmIChyZXNw
b25zZS0+aXNSZWFkYWJsZVN0cmVhbUJvZHkoKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChF
eGNlcHRpb24geyBOb3RTdXBwb3J0ZWRFcnJvciwgQVNDSUlMaXRlcmFsKCJDYWNoaW5nIGEgUmVz
cG9uc2Ugd2l0aCBkYXRhIHN0b3JlZCBpbiBhIFJlYWRhYmxlU3RyZWFtIGlzIG5vdCB5ZXQgc3Vw
cG9ydGVkIikgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBiYXRjaFB1dE9wZXJh
dGlvbigqcmVxdWVzdCwgcmVzcG9uc2UuZ2V0KCksIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNl
KV0oQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAg
ICBpZiAoZXJyb3IgIT0gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3I6Ok5vbmUpIHsKKyAg
ICAgICAgICAgIHByb21pc2UucmVqZWN0KENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlv
bkZyb21FcnJvcihlcnJvcikpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAg
ICAgIHByb21pc2UucmVzb2x2ZSgpOworICAgIH0pOworfQorCit2b2lkIENhY2hlOjpyZW1vdmUo
UmVxdWVzdEluZm8mJiBpbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIERPTVByb21p
c2VEZWZlcnJlZDxJRExCb29sZWFuPiYmIHByb21pc2UpCit7CisgICAgUmVmUHRyPEZldGNoUmVx
dWVzdD4gcmVxdWVzdDsKKyAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWZQdHI8RmV0
Y2hSZXF1ZXN0Pj4oaW5mbykpIHsKKyAgICAgICAgcmVxdWVzdCA9IFdURjo6Z2V0PFJlZlB0cjxG
ZXRjaFJlcXVlc3Q+PihpbmZvKS5yZWxlYXNlTm9uTnVsbCgpOworICAgICAgICBpZiAocmVxdWVz
dC0+bWV0aG9kKCkgIT0gIkdFVCIgJiYgIW9wdGlvbnMuaWdub3JlTWV0aG9kKSB7CisgICAgICAg
ICAgICBwcm9taXNlLnJlc29sdmUoZmFsc2UpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKFVOTElLRUxZKCFzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICByZXF1ZXN0ID0gRmV0Y2hS
ZXF1ZXN0OjpjcmVhdGUoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgV1RGTW92ZShpbmZvKSwg
eyB9KS5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKKyAgICB9CisKKyAgICBiYXRjaERlbGV0ZU9wZXJh
dGlvbigqcmVxdWVzdCwgV1RGTW92ZShvcHRpb25zKSwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21p
c2UpXShib29sIGRpZERlbGV0ZSwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3Ip
IG11dGFibGUgeworICAgICAgICBpZiAoZXJyb3IgIT0gIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246
OkVycm9yOjpOb25lKSB7CisgICAgICAgICAgICBwcm9taXNlLnJlamVjdChDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uOjpleGNlcHRpb25Gcm9tRXJyb3IoZXJyb3IpKTsKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQorICAgICAgICBwcm9taXNlLnJlc29sdmUoZGlkRGVsZXRlKTsKKyAgICB9
KTsKK30KKwordm9pZCBDYWNoZTo6a2V5cyhzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZvPiYmIGlu
Zm8sIENhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywgS2V5c1Byb21pc2UmJiBwcm9taXNlKQor
eworICAgIFJlZlB0cjxGZXRjaFJlcXVlc3Q+IHJlcXVlc3Q7CisgICAgaWYgKGluZm8pIHsKKyAg
ICAgICAgaWYgKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGlu
Zm8udmFsdWUoKSkpIHsKKyAgICAgICAgICAgIHJlcXVlc3QgPSBXVEY6OmdldDxSZWZQdHI8RmV0
Y2hSZXF1ZXN0Pj4oaW5mby52YWx1ZSgpKS5yZWxlYXNlTm9uTnVsbCgpOworICAgICAgICAgICAg
aWYgKHJlcXVlc3QtPm1ldGhvZCgpICE9ICJHRVQiICYmICFvcHRpb25zLmlnbm9yZU1ldGhvZCkg
eworICAgICAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShWZWN0b3I8UmVmPEZldGNoUmVxdWVz
dD4+IHsgfSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKFVOTElLRUxZKCFzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCkpKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIHJlcXVlc3QgPSBG
ZXRjaFJlcXVlc3Q6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBXVEZNb3ZlKGlu
Zm8udmFsdWUoKSksIHsgfSkucmVsZWFzZVJldHVyblZhbHVlKCk7CisgICAgICAgIH0KKyAgICB9
CisKKyAgICBpZiAoIXJlcXVlc3QpIHsKKyAgICAgICAgcmVmcmVzaFJlcXVlc3RUb1Jlc3BvbnNl
TWFwKFt0aGlzLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsKKyAgICAg
ICAgICAgIFZlY3RvcjxSZWY8RmV0Y2hSZXF1ZXN0Pj4gcmVxdWVzdHM7CisgICAgICAgICAgICBy
ZXF1ZXN0cy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1fcmVxdWVzdFRvUmVzcG9uc2VNYXAuc2l6
ZSgpKTsKKyAgICAgICAgICAgIGZvciAoYXV0byYgcmVjb3JkIDogbV9yZXF1ZXN0VG9SZXNwb25z
ZU1hcCkKKyAgICAgICAgICAgICAgICByZXF1ZXN0cy51bmNoZWNrZWRBcHBlbmQocmVjb3JkLnJl
cXVlc3QuY29weVJlZigpKTsKKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShyZXF1ZXN0cyk7
CisgICAgICAgIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgcXVlcnlDYWNoZShy
ZXF1ZXN0LnJlbGVhc2VOb25OdWxsKCksIFdURk1vdmUob3B0aW9ucyksIFtwcm9taXNlID0gV1RG
TW92ZShwcm9taXNlKV0oY29uc3QgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4mIHJlY29yZHMp
IG11dGFibGUgeworICAgICAgICBWZWN0b3I8UmVmPEZldGNoUmVxdWVzdD4+IHJlcXVlc3RzOwor
ICAgICAgICByZXF1ZXN0cy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHJlY29yZHMuc2l6ZSgpKTsK
KyAgICAgICAgZm9yIChhdXRvJiByZWNvcmQgOiByZWNvcmRzKQorICAgICAgICAgICAgcmVxdWVz
dHMudW5jaGVja2VkQXBwZW5kKHJlY29yZC5yZXF1ZXN0LmNvcHlSZWYoKSk7CisgICAgICAgIHBy
b21pc2UucmVzb2x2ZShyZXF1ZXN0cyk7CisgICAgfSk7Cit9CisKK3ZvaWQgQ2FjaGU6OnJlZnJl
c2hSZXF1ZXN0VG9SZXNwb25zZU1hcChXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJiBjYWxsYmFjaykK
K3sKKyAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgbV9jb25uZWN0aW9uLT5yZWZy
ZXNoUmVjb3JkcyhtX2lkZW50aWZpZXIsIFt0aGlzLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJh
Y2spXShWZWN0b3I8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6UmVjb3JkPiYmIHJlY29yZHMpIHsK
KyAgICAgICAgaWYgKCFtX2lzU3RvcHBlZCkgeworICAgICAgICAgICAgdXBkYXRlUmVxdWVzdFRv
UmVzcG9uc2VNYXAoV1RGTW92ZShyZWNvcmRzKSk7CisgICAgICAgICAgICBjYWxsYmFjaygpOwor
ICAgICAgICB9CisgICAgICAgIHVuc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgIH0pOwor
fQorCit2b2lkIENhY2hlOjpxdWVyeUNhY2hlKFJlZjxGZXRjaFJlcXVlc3Q+JiYgcmVxdWVzdCwg
Q2FjaGVRdWVyeU9wdGlvbnMmJiBvcHRpb25zLCBXVEY6OkZ1bmN0aW9uPHZvaWQoY29uc3QgVmVj
dG9yPENhY2hlU3RvcmFnZVJlY29yZD4mKT4mJiBjYWxsYmFjaykKK3sKKyAgICByZWZyZXNoUmVx
dWVzdFRvUmVzcG9uc2VNYXAoW3RoaXMsIHJlcXVlc3QgPSBXVEZNb3ZlKHJlcXVlc3QpLCBvcHRp
b25zID0gV1RGTW92ZShvcHRpb25zKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oKSBt
dXRhYmxlIHsKKyAgICAgICAgY2FsbGJhY2socXVlcnlDYWNoZVdpdGhUYXJnZXRTdG9yYWdlKHJl
cXVlc3QuZ2V0KCksIG9wdGlvbnMsIG1fcmVxdWVzdFRvUmVzcG9uc2VNYXApKTsKKyAgICB9KTsK
K30KKworc3RhdGljIGlubGluZSBib29sIHF1ZXJ5Q2FjaGVNYXRjaChjb25zdCBGZXRjaFJlcXVl
c3QmIHJlcXVlc3QsIGNvbnN0IEZldGNoUmVxdWVzdCYgY2FjaGVkUmVxdWVzdCwgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgY2FjaGVkUmVzcG9uc2UsIGNvbnN0IENhY2hlUXVlcnlPcHRpb25zJiBv
cHRpb25zKQoreworICAgIC8vIFdlIG5lZWQgdG8gcGFzcyB0aGUgcmVzb3VyY2UgcmVxdWVzdCB3
aXRoIGFsbCBjb3JyZWN0IGhlYWRlcnMgaGVuY2Ugd2h5IHdlIGNhbGwgcmVzb3VyY2VSZXF1ZXN0
KCkuCisgICAgcmV0dXJuIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OnF1ZXJ5Q2FjaGVNYXRjaChy
ZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLCBjYWNoZWRSZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgp
LCBjYWNoZWRSZXNwb25zZSwgb3B0aW9ucyk7Cit9CisKK1ZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNv
cmQ+IENhY2hlOjpxdWVyeUNhY2hlV2l0aFRhcmdldFN0b3JhZ2UoY29uc3QgRmV0Y2hSZXF1ZXN0
JiByZXF1ZXN0LCBjb25zdCBDYWNoZVF1ZXJ5T3B0aW9ucyYgb3B0aW9ucywgY29uc3QgVmVjdG9y
PENhY2hlU3RvcmFnZVJlY29yZD4mIHRhcmdldFN0b3JhZ2UpCit7CisgICAgaWYgKCFvcHRpb25z
Lmlnbm9yZU1ldGhvZCAmJiByZXF1ZXN0Lm1ldGhvZCgpICE9ICJHRVQiKQorICAgICAgICByZXR1
cm4geyB9OworCisgICAgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4gcmVjb3JkczsKKyAgICBm
b3IgKGF1dG8mIHJlY29yZCA6IHRhcmdldFN0b3JhZ2UpIHsKKyAgICAgICAgaWYgKHF1ZXJ5Q2Fj
aGVNYXRjaChyZXF1ZXN0LCByZWNvcmQucmVxdWVzdC5nZXQoKSwgcmVjb3JkLnJlc3BvbnNlLT5y
ZXNwb25zZSgpLCBvcHRpb25zKSkKKyAgICAgICAgICAgIHJlY29yZHMuYXBwZW5kKHsgcmVjb3Jk
LmlkZW50aWZpZXIsIHJlY29yZC5yZXF1ZXN0LmNvcHlSZWYoKSwgcmVjb3JkLnJlc3BvbnNlLmNv
cHlSZWYoKSB9KTsKKyAgICB9CisgICAgcmV0dXJuIHJlY29yZHM7Cit9CisKK3ZvaWQgQ2FjaGU6
OmJhdGNoRGVsZXRlT3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgQ2FjaGVR
dWVyeU9wdGlvbnMmJiBvcHRpb25zLCBXVEY6OkZ1bmN0aW9uPHZvaWQoYm9vbCBkaWRSZW1vdmFs
LCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJvciBlcnJvcik+JiYgY2FsbGJhY2spCit7Cisg
ICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgIG1fY29ubmVjdGlvbi0+YmF0Y2hEZWxl
dGVPcGVyYXRpb24obV9pZGVudGlmaWVyLCByZXF1ZXN0LmludGVybmFsUmVxdWVzdCgpLnJlcXVl
c3QsIFdURk1vdmUob3B0aW9ucyksIFt0aGlzLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2sp
XShWZWN0b3I8dWludDY0X3Q+JiYgcmVjb3JkcywgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJy
b3IgZXJyb3IpIHsKKyAgICAgICAgaWYgKCFtX2lzU3RvcHBlZCkgeworICAgICAgICAgICAgaWYg
KGVycm9yID09IENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yOjpOb25lKQorICAgICAgICAg
ICAgICAgIG1fcmVxdWVzdFRvUmVzcG9uc2VNYXAucmVtb3ZlQWxsTWF0Y2hpbmcoWyZdKGNvbnN0
IGF1dG8mIGl0ZW0pIHsgcmV0dXJuIHJlY29yZHMuY29udGFpbnMoaXRlbS5pZGVudGlmaWVyKTsg
fSk7CisKKyAgICAgICAgICAgIGNhbGxiYWNrKCEhcmVjb3Jkcy5zaXplKCksIGVycm9yKTsKKyAg
ICAgICAgfQorICAgICAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICB9KTsKK30K
Kworc3RhdGljIGlubGluZSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQgdG9Db25uZWN0
aW9uUmVjb3JkKGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgRmV0Y2hSZXNwb25zZSYgcmVz
cG9uc2UpCit7CisgICAgLy8gRklYTUU6IEFkZCBhIHNldEhUVFBIZWFkZXJGaWVsZHMgb24gUmVz
b3VyY2VSZXNwb25zZUJhc2UuCisgICAgUmVzb3VyY2VSZXNwb25zZSBjYWNoZWRSZXNwb25zZSA9
IHJlc3BvbnNlLnJlc3BvbnNlKCk7CisgICAgZm9yIChhdXRvJiBoZWFkZXIgOiByZXNwb25zZS5o
ZWFkZXJzKCkuaW50ZXJuYWxIZWFkZXJzKCkpCisgICAgICAgIGNhY2hlZFJlc3BvbnNlLnNldEhU
VFBIZWFkZXJGaWVsZChoZWFkZXIua2V5LCBoZWFkZXIudmFsdWUpOworCisgICAgUmVzb3VyY2VS
ZXF1ZXN0IGNhY2hlZFJlcXVlc3QgPSByZXF1ZXN0LmludGVybmFsUmVxdWVzdCgpLnJlcXVlc3Q7
CisgICAgY2FjaGVkUmVxdWVzdC5zZXRIVFRQSGVhZGVyRmllbGRzKHJlcXVlc3QuaGVhZGVycygp
LmludGVybmFsSGVhZGVycygpKTsKKworICAgIHJldHVybiB7IDAsCisgICAgICAgIHJlcXVlc3Qu
aGVhZGVycygpLmd1YXJkKCksIFdURk1vdmUoY2FjaGVkUmVxdWVzdCksIHJlcXVlc3QuaW50ZXJu
YWxSZXF1ZXN0KCkub3B0aW9ucywgcmVxdWVzdC5pbnRlcm5hbFJlcXVlc3QoKS5yZWZlcnJlciwK
KyAgICAgICAgcmVzcG9uc2UuaGVhZGVycygpLmd1YXJkKCksIFdURk1vdmUoY2FjaGVkUmVzcG9u
c2UpCisgICAgfTsKK30KKwordm9pZCBDYWNoZTo6YmF0Y2hQdXRPcGVyYXRpb24oY29uc3QgRmV0
Y2hSZXF1ZXN0JiByZXF1ZXN0LCBGZXRjaFJlc3BvbnNlJiByZXNwb25zZSwgV1RGOjpGdW5jdGlv
bjx2b2lkKENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yKT4mJiBjYWxsYmFjaykKK3sKKyAg
ICBWZWN0b3I8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6UmVjb3JkPiByZWNvcmRzOworICAgIHJl
Y29yZHMuYXBwZW5kKHRvQ29ubmVjdGlvblJlY29yZChyZXF1ZXN0LCByZXNwb25zZSkpOworCisg
ICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgIG1fY29ubmVjdGlvbi0+YmF0Y2hQdXRP
cGVyYXRpb24obV9pZGVudGlmaWVyLCBXVEZNb3ZlKHJlY29yZHMpLCBbdGhpcywgY2FsbGJhY2sg
PSBXVEZNb3ZlKGNhbGxiYWNrKV0oVmVjdG9yPHVpbnQ2NF90PiYmLCBDYWNoZVN0b3JhZ2VDb25u
ZWN0aW9uOjpFcnJvciBlcnJvcikgeworICAgICAgICBpZiAoIW1faXNTdG9wcGVkKQorICAgICAg
ICAgICAgY2FsbGJhY2soZXJyb3IpOworCisgICAgICAgIHVuc2V0UGVuZGluZ0FjdGl2aXR5KHRo
aXMpOworICAgIH0pOworfQorCit2b2lkIENhY2hlOjp1cGRhdGVSZXF1ZXN0VG9SZXNwb25zZU1h
cChWZWN0b3I8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6UmVjb3JkPiYmIHJlY29yZHMpCit7Cisg
ICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CisgICAgVmVjdG9yPENhY2hlU3Rv
cmFnZVJlY29yZD4gbmV3TWFwOworCisgICAgZm9yIChhdXRvJiByZWNvcmQgOiByZWNvcmRzKSB7
CisgICAgICAgIHNpemVfdCBpbmRleCA9IG1fcmVxdWVzdFRvUmVzcG9uc2VNYXAuZmluZE1hdGNo
aW5nKFsmXShjb25zdCBhdXRvJiBpdGVtKSB7IHJldHVybiBpdGVtLmlkZW50aWZpZXIgPT0gcmVj
b3JkLmlkZW50aWZpZXI7IH0pOworICAgICAgICBpZiAoaW5kZXggIT0gbm90Rm91bmQpCisgICAg
ICAgICAgICBuZXdNYXAuYXBwZW5kKFdURk1vdmUobV9yZXF1ZXN0VG9SZXNwb25zZU1hcFtpbmRl
eF0pKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBhdXRvIHJlcXVlc3RIZWFkZXJzID0g
RmV0Y2hIZWFkZXJzOjpjcmVhdGUocmVjb3JkLnJlcXVlc3RIZWFkZXJzR3VhcmQsIEhUVFBIZWFk
ZXJNYXAgeyByZWNvcmQucmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkgfSk7CisgICAgICAgICAg
ICBGZXRjaFJlcXVlc3Q6OkludGVybmFsUmVxdWVzdCBpbnRlcm5hbFJlcXVlc3QgPSB7IFdURk1v
dmUocmVjb3JkLnJlcXVlc3QpLCBXVEZNb3ZlKHJlY29yZC5vcHRpb25zKSwgV1RGTW92ZShyZWNv
cmQucmVmZXJyZXIpIH07CisgICAgICAgICAgICBhdXRvIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6
OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBzdGQ6Om51bGxvcHQsIFdURk1vdmUo
cmVxdWVzdEhlYWRlcnMpLCBXVEZNb3ZlKGludGVybmFsUmVxdWVzdCkpOworCisgICAgICAgICAg
ICBhdXRvIHJlc3BvbnNlSGVhZGVycyA9IEZldGNoSGVhZGVyczo6Y3JlYXRlKHJlY29yZC5yZXNw
b25zZUhlYWRlcnNHdWFyZCwgSFRUUEhlYWRlck1hcCB7IHJlY29yZC5yZXNwb25zZS5odHRwSGVh
ZGVyRmllbGRzKCkgfSk7CisgICAgICAgICAgICBhdXRvIHJlc3BvbnNlID0gRmV0Y2hSZXNwb25z
ZTo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHN0ZDo6bnVsbG9wdCwgV1RGTW92
ZShyZXNwb25zZUhlYWRlcnMpLCBXVEZNb3ZlKHJlY29yZC5yZXNwb25zZSkpOworCisgICAgICAg
ICAgICBuZXdNYXAuYXBwZW5kKENhY2hlU3RvcmFnZVJlY29yZCB7IHJlY29yZC5pZGVudGlmaWVy
LCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKHJlc3BvbnNlKSB9KTsKKyAgICAgICAgfQorICAg
IH0KKyAgICBtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwID0gV1RGTW92ZShuZXdNYXApOwogfQogCi12
b2lkIENhY2hlOjpwdXQoUmVxdWVzdEluZm8mJiwgUmVmPEZldGNoUmVzcG9uc2U+JiYsIERPTVBy
b21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCit2b2lkIENhY2hlOjpzdG9wKCkKIHsKLSAg
ICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90
IGltcGxlbWVudGVkIil9KTsKKyAgICBtX2lzU3RvcHBlZCA9IHRydWU7CiB9CiAKLXZvaWQgQ2Fj
aGU6OnJlbW92ZShSZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25z
PiYmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQorY29uc3QgY2hh
ciogQ2FjaGU6OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAogewotICAgIHByb21pc2UucmVq
ZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQi
KX0pOworICAgIHJldHVybiAiQ2FjaGUiOwogfQogCi12b2lkIENhY2hlOjprZXlzKHN0ZDo6b3B0
aW9uYWw8UmVxdWVzdEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYs
IEtleXNQcm9taXNlJiYgcHJvbWlzZSkKK2Jvb2wgQ2FjaGU6OmNhblN1c3BlbmRGb3JEb2N1bWVu
dFN1c3BlbnNpb24oKSBjb25zdAogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5
cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHJldHVybiAh
bV9yZXF1ZXN0VG9SZXNwb25zZU1hcC5zaXplKCkgJiYgIWhhc1BlbmRpbmdBY3Rpdml0eSgpOwog
fQogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaAppbmRleCAwMDgyYWNkNTU2ZGRm
NWRlZTlmNzUwNjY1YzJmNGU5ZWI5ZGQ5NjVlLi43MzQ0YTg5MDBjYWQyMGQwMTUxNTcxMzRhNzc3
YzAxZmM4NTU2M2YxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0Nh
Y2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5oCkBAIC0yNSwz
NiArMjUsNTkgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJGZXRjaFJlcXVlc3QuaCIK
KyNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VDb25u
ZWN0aW9uLmgiCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlUmVjb3JkLmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgRmV0Y2hSZXNwb25zZTsKK2NsYXNzIENhY2hlUXVlcnlPcHRpb25z
OworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAotc3RydWN0IENhY2hlUXVlcnlPcHRp
b25zOwotCi1jbGFzcyBDYWNoZSA6IHB1YmxpYyBSZWZDb3VudGVkPENhY2hlPiB7CitjbGFzcyBD
YWNoZSBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPENhY2hlPiwgcHVibGljIEFjdGl2ZURPTU9i
amVjdCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxDYWNoZT4gY3JlYXRlKFN0cmluZyYmIG5h
bWUpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2FjaGUoV1RGTW92ZShuYW1lKSkpOyB9CisgICAg
c3RhdGljIFJlZjxDYWNoZT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQs
IFN0cmluZyYmIG5hbWUsIHVpbnQ2NF90IGlkZW50aWZpZXIsIFJlZjxDYWNoZVN0b3JhZ2VDb25u
ZWN0aW9uPiYmIGNvbm5lY3Rpb24pIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2FjaGUoY29udGV4
dCwgV1RGTW92ZShuYW1lKSwgaWRlbnRpZmllciwgV1RGTW92ZShjb25uZWN0aW9uKSkpOyB9Cisg
ICAgfkNhY2hlKCk7CiAKICAgICB1c2luZyBSZXF1ZXN0SW5mbyA9IEZldGNoUmVxdWVzdDo6SW5m
bzsKIAotICAgIHVzaW5nIE1hdGNoQWxsUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExT
ZXF1ZW5jZTxJRExJbnRlcmZhY2U8RmV0Y2hSZXNwb25zZT4+PjsKICAgICB1c2luZyBLZXlzUHJv
bWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8RmV0Y2hS
ZXF1ZXN0Pj4+OwogCi0gICAgdm9pZCBtYXRjaChSZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlvbmFs
PENhY2hlUXVlcnlPcHRpb25zPiYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKLSAgICB2b2lk
IG1hdGNoQWxsKHN0ZDo6b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2Fj
aGVRdWVyeU9wdGlvbnM+JiYsIE1hdGNoQWxsUHJvbWlzZSYmKTsKKyAgICBlbnVtIGNsYXNzIE1h
dGNoVHlwZSB7IEFsbCwgT25seUZpcnN0IH07CisgICAgdm9pZCBtYXRjaChSZXF1ZXN0SW5mbyYm
LCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKKyAgICB2b2lk
IG1hdGNoQWxsKHN0ZDo6b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYsIENhY2hlUXVlcnlPcHRpb25z
JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYsIE1hdGNoVHlwZSA9IE1hdGNoVHlwZTo6QWxsKTsK
ICAgICB2b2lkIGFkZChSZXF1ZXN0SW5mbyYmLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJik7
CiAKICAgICB2b2lkIGFkZEFsbChWZWN0b3I8UmVxdWVzdEluZm8+JiYsIERPTVByb21pc2VEZWZl
cnJlZDx2b2lkPiYmKTsKICAgICB2b2lkIHB1dChSZXF1ZXN0SW5mbyYmLCBSZWY8RmV0Y2hSZXNw
b25zZT4mJiwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYpOwotICAgIHZvaWQgcmVtb3ZlKFJl
cXVlc3RJbmZvJiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIERPTVByb21p
c2VEZWZlcnJlZDxJRExCb29sZWFuPiYmKTsKLSAgICB2b2lkIGtleXMoc3RkOjpvcHRpb25hbDxS
ZXF1ZXN0SW5mbz4mJiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgS2V5c1By
b21pc2UmJik7CisgICAgdm9pZCByZW1vdmUoUmVxdWVzdEluZm8mJiwgQ2FjaGVRdWVyeU9wdGlv
bnMmJiwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYpOworICAgIHZvaWQga2V5cyhz
dGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZvPiYmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBLZXlzUHJv
bWlzZSYmKTsKKworICAgIGNvbnN0IFN0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFt
ZTsgfQorICAgIHVpbnQ2NF90IGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZp
ZXI7IH0KIAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBDYWNoZShTdHJpbmcmJiBuYW1lKSA6IG1f
bmFtZShXVEZNb3ZlKG5hbWUpKSB7IH0KKyAgICBDYWNoZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiwgU3RyaW5nJiYgbmFtZSwgdWludDY0X3QgaWRlbnRpZmllciwgUmVmPENhY2hlU3RvcmFnZUNv
bm5lY3Rpb24+JiYpOworCisgICAgLy8gQWN0aXZlRE9NT2JqZWN0CisgICAgdm9pZCBzdG9wKCkg
ZmluYWw7CisgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFs
OworICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IGZpbmFs
OworCisgICAgdm9pZCByZWZyZXNoUmVxdWVzdFRvUmVzcG9uc2VNYXAoV1RGOjpGdW5jdGlvbjx2
b2lkKCk+JiYpOworICAgIFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+IHF1ZXJ5Q2FjaGVXaXRo
VGFyZ2V0U3RvcmFnZShjb25zdCBGZXRjaFJlcXVlc3QmLCBjb25zdCBDYWNoZVF1ZXJ5T3B0aW9u
cyYsIGNvbnN0IFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+Jik7CisgICAgdm9pZCBxdWVyeUNh
Y2hlKFJlZjxGZXRjaFJlcXVlc3Q+JiYsIENhY2hlUXVlcnlPcHRpb25zJiYsIFdURjo6RnVuY3Rp
b248dm9pZChjb25zdCBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiYpPiYmKTsKKyAgICB2b2lk
IGJhdGNoRGVsZXRlT3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYsIENhY2hlUXVlcnlPcHRp
b25zJiYsIFdURjo6RnVuY3Rpb248dm9pZChib29sIGRpZFJlbW92YWwsIENhY2hlU3RvcmFnZUNv
bm5lY3Rpb246OkVycm9yKT4mJik7CisgICAgdm9pZCBiYXRjaFB1dE9wZXJhdGlvbihjb25zdCBG
ZXRjaFJlcXVlc3QmLCBGZXRjaFJlc3BvbnNlJiwgV1RGOjpGdW5jdGlvbjx2b2lkKENhY2hlU3Rv
cmFnZUNvbm5lY3Rpb246OkVycm9yKT4mJik7CisKKyAgICB2b2lkIHVwZGF0ZVJlcXVlc3RUb1Jl
c3BvbnNlTWFwKFZlY3RvcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQ+JiYpOwogCiAg
ICAgU3RyaW5nIG1fbmFtZTsKKyAgICB1aW50NjRfdCBtX2lkZW50aWZpZXI7CisgICAgUmVmPENh
Y2hlU3RvcmFnZUNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKKworICAgIFZlY3RvcjxDYWNoZVN0
b3JhZ2VSZWNvcmQ+IG1fcmVxdWVzdFRvUmVzcG9uc2VNYXA7CisgICAgYm9vbCBtX2lzU3RvcHBl
ZCB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvY2FjaGUvQ2FjaGUuaWRsCmluZGV4IGQ0Nzk2OTE1NWQyMGE0ZjdiZmEzOGE2ZGMwYjJk
ZjMyMjU2YTk0ZTAuLjFlN2RmNmNhZDIzNGM4MGE2NTI4NDJhYmQ4ODM4YmI2OWY3MWFiNzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaWRsCkBAIC0yOSw3ICsyOSw2IEBAIHR5
cGVkZWYgKEZldGNoUmVxdWVzdCBvciBVU1ZTdHJpbmcpIFJlcXVlc3RJbmZvOwogICAgIFNlY3Vy
ZUNvbnRleHQsCiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCiAgICAgRW5hYmxlZEF0UnVu
dGltZT1DYWNoZUFQSSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogXSBpbnRlcmZh
Y2UgQ2FjaGUgewogICAgIFtOZXdPYmplY3RdIFByb21pc2U8YW55PiBtYXRjaChSZXF1ZXN0SW5m
byByZXF1ZXN0LCBvcHRpb25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsKICAgICBbTmV3
T2JqZWN0XSBQcm9taXNlPHNlcXVlbmNlPEZldGNoUmVzcG9uc2U+PiBtYXRjaEFsbChvcHRpb25h
bCBSZXF1ZXN0SW5mbyByZXF1ZXN0LCBvcHRpb25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25z
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVRdWVyeU9w
dGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVRdWVyeU9wdGlvbnMu
aAppbmRleCA2OGY2N2ZhY2YzNTY4NzFlZWY0ZTU1NDY5NThiNzI3YTY1OTM2OTNiLi40ZjhiNGRl
ZWNhMWE3ZGY2ODE0NTcwNDAwMGE2YTYxYWMwY2IxOTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlUXVlcnlPcHRpb25zLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9DYWNoZVF1ZXJ5T3B0aW9ucy5oCkBAIC0yOSw3ICsyOSw4IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IENhY2hlUXVlcnlPcHRpb25zIHsKK2NsYXNz
IENhY2hlUXVlcnlPcHRpb25zIHsKK3B1YmxpYzoKICAgICBib29sIGlnbm9yZVNlYXJjaCB7IGZh
bHNlIH07CiAgICAgYm9vbCBpZ25vcmVNZXRob2QgeyBmYWxzZSB9OwogICAgIGJvb2wgaWdub3Jl
VmFyeSB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hl
L0NhY2hlU3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3Rv
cmFnZS5jcHAKaW5kZXggMTIzNjdiZTk2NmUxZTNhMjhhOWUyOWRiZmU0YjgzYmQ1YWNkZWNjNi4u
NjE1OTc5M2E5NmQ1MmRkN2YxODQ5NjRhMjQ0YjkzNTkyNGI1MTIyOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmNwcApAQCAtMjYsMzEgKzI2LDE0MSBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkNhY2hlU3RvcmFnZS5oIgogCisjaW5j
bHVkZSAiQ2FjaGVRdWVyeU9wdGlvbnMuaCIKKyNpbmNsdWRlICJKU0NhY2hlLmgiCisjaW5jbHVk
ZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXZv
aWQgQ2FjaGVTdG9yYWdlOjptYXRjaChSZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hl
UXVlcnlPcHRpb25zPiYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCitDYWNoZVN0
b3JhZ2U6OkNhY2hlU3RvcmFnZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4mJiBjb25uZWN0aW9uKQorICAgIDogQWN0aXZlRE9NT2Jq
ZWN0KCZjb250ZXh0KQorICAgICwgbV9jb25uZWN0aW9uKFdURk1vdmUoY29ubmVjdGlvbikpCit7
CisgICAgc3VzcGVuZElmTmVlZGVkKCk7Cit9CisKK1N0cmluZyBDYWNoZVN0b3JhZ2U6Om9yaWdp
bigpIGNvbnN0Cit7CisgICAgLy8gRklYTUU6IERvIHdlIHJlYWxseSBuZWVkIHRvIGNoZWNrIGZv
ciBvcmlnaW4gYmVpbmcgbnVsbD8KKyAgICBhdXRvKiBvcmlnaW4gPSBzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkgPyBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCkgOiBu
dWxscHRyOworICAgIHJldHVybiBvcmlnaW4gPyBvcmlnaW4tPnRvU3RyaW5nKCkgOiBTdHJpbmco
KTsKK30KKwordm9pZCBDYWNoZVN0b3JhZ2U6Om1hdGNoKENhY2hlOjpSZXF1ZXN0SW5mbyYmLCBD
YWNoZVF1ZXJ5T3B0aW9ucyYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7Ci0g
ICAgcHJvbWlzZS0+cmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJO
b3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHByb21pc2UtPnJlamVjdChFeGNlcHRpb24geyBOb3RT
dXBwb3J0ZWRFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOwogfQogCi12
b2lkIENhY2hlU3RvcmFnZTo6aGFzKGNvbnN0IFN0cmluZyYsIERPTVByb21pc2VEZWZlcnJlZDxJ
RExCb29sZWFuPiYmIHByb21pc2UpCit2b2lkIENhY2hlU3RvcmFnZTo6aGFzKGNvbnN0IFN0cmlu
ZyYgbmFtZSwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKIHsKLSAg
ICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90
IGltcGxlbWVudGVkIil9KTsKKyAgICByZWZyZXNoQ2FjaGVNYXAoW3RoaXMsIG5hbWUsIHByb21p
c2UgPSBXVEZNb3ZlKHByb21pc2UpXSgpIG11dGFibGUgeworICAgICAgICBwcm9taXNlLnJlc29s
dmUobV9jYWNoZU1hcC5maW5kTWF0Y2hpbmcoWyZdKGF1dG8mIGl0ZW0pIHsgcmV0dXJuIGl0ZW0t
Pm5hbWUoKSA9PSBuYW1lOyB9KSAhPSBub3RGb3VuZCk7CisgICAgfSk7Cit9CisKK3ZvaWQgQ2Fj
aGVTdG9yYWdlOjpyZWZyZXNoQ2FjaGVNYXAoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgY2FsbGJh
Y2spCit7CisgICAgU3RyaW5nIG9yaWdpbiA9IHRoaXMtPm9yaWdpbigpOworICAgIGlmIChvcmln
aW4uaXNOdWxsKCkpCisgICAgICAgIHJldHVybjsKKworICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0
aGlzKTsKKyAgICBtX2Nvbm5lY3Rpb24tPnJlZnJlc2hDYWNoZU1hcChvcmlnaW4sIFt0aGlzLCBj
YWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShjb25zdCBWZWN0b3I8U3RyaW5nPiYgY2FjaGVO
YW1lcykgeworICAgICAgICBpZiAoIW1faXNTdG9wcGVkKSB7CisgICAgICAgICAgICBtX2NhY2hl
TWFwLnJlbW92ZUFsbE1hdGNoaW5nKFsmXShhdXRvJiBjYWNoZSkgeyByZXR1cm4gIWNhY2hlTmFt
ZXMuY29udGFpbnMoY2FjaGUtPm5hbWUoKSk7IH0pOworCisgICAgICAgICAgICBzdGQ6OnNvcnQo
bV9jYWNoZU1hcC5iZWdpbigpLCBtX2NhY2hlTWFwLmVuZCgpLCBbJl0oYXV0byYgYSwgYXV0byYg
YikgeworICAgICAgICAgICAgICAgIHJldHVybiBjYWNoZU5hbWVzLmZpbmQoYS0+bmFtZSgpKSA8
IGNhY2hlTmFtZXMuZmluZChiLT5uYW1lKCkpOworICAgICAgICAgICAgfSk7CisKKyAgICAgICAg
ICAgIGNhbGxiYWNrKCk7CisgICAgICAgIH0KKyAgICAgICAgdW5zZXRQZW5kaW5nQWN0aXZpdHko
dGhpcyk7CisgICAgfSk7CiB9CiAKLXZvaWQgQ2FjaGVTdG9yYWdlOjpvcGVuKGNvbnN0IFN0cmlu
ZyYsIERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8Q2FjaGU+PiYmIHByb21pc2UpCit2
b2lkIENhY2hlU3RvcmFnZTo6b3Blbihjb25zdCBTdHJpbmcmIG5hbWUsIERPTVByb21pc2VEZWZl
cnJlZDxJRExJbnRlcmZhY2U8Q2FjaGU+PiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS5yZWpl
Y3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIp
fSk7CisgICAgcmVmcmVzaENhY2hlTWFwKFt0aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShw
cm9taXNlKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgYXV0byBwb3NpdGlvbiA9IG1fY2FjaGVNYXAu
ZmluZE1hdGNoaW5nKFsmXShhdXRvJiBpdGVtKSB7IHJldHVybiBpdGVtLT5uYW1lKCkgPT0gbmFt
ZTsgfSk7CisgICAgICAgIGlmIChwb3NpdGlvbiAhPSBub3RGb3VuZCkgeworICAgICAgICAgICAg
YXV0byYgY2FjaGUgPSBtX2NhY2hlTWFwW3Bvc2l0aW9uXTsKKyAgICAgICAgICAgIHByb21pc2Uu
cmVzb2x2ZShDYWNoZTo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFN0cmluZyB7
IGNhY2hlLT5uYW1lKCkgfSwgY2FjaGUtPmlkZW50aWZpZXIoKSwgbV9jb25uZWN0aW9uLmNvcHlS
ZWYoKSkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgU3RyaW5n
IG9yaWdpbiA9IHRoaXMtPm9yaWdpbigpOworICAgICAgICBpZiAob3JpZ2luLmlzTnVsbCgpKQor
ICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsK
KyAgICAgICAgbV9jb25uZWN0aW9uLT5vcGVuKG9yaWdpbiwgbmFtZSwgW3RoaXMsIG5hbWUsIHBy
b21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSh1aW50NjRfdCBjYWNoZUlkZW50aWZpZXIsIENhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OkVycm9yIGVycm9yKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlm
ICghbV9pc1N0b3BwZWQpIHsKKyAgICAgICAgICAgICAgICBpZiAoZXJyb3IgIT0gQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbjo6RXJyb3I6Ok5vbmUpCisgICAgICAgICAgICAgICAgICAgIHByb21pc2Uu
cmVqZWN0KENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlvbkZyb21FcnJvcihlcnJvcikp
OworICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgICAgICBhdXRvIGNhY2hl
ID0gQ2FjaGU6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBTdHJpbmcgeyBuYW1l
IH0sIGNhY2hlSWRlbnRpZmllciwgbV9jb25uZWN0aW9uLmNvcHlSZWYoKSk7CisgICAgICAgICAg
ICAgICAgICAgIHByb21pc2UucmVzb2x2ZShjYWNoZSk7CisgICAgICAgICAgICAgICAgICAgIG1f
Y2FjaGVNYXAuYXBwZW5kKFdURk1vdmUoY2FjaGUpKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICAg
ICAgfSk7CisgICAgfSk7CiB9CiAKLXZvaWQgQ2FjaGVTdG9yYWdlOjpyZW1vdmUoY29uc3QgU3Ry
aW5nJiwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKK3ZvaWQgQ2Fj
aGVTdG9yYWdlOjpyZW1vdmUoY29uc3QgU3RyaW5nJiBuYW1lLCBET01Qcm9taXNlRGVmZXJyZWQ8
SURMQm9vbGVhbj4mJiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7
IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHJlZnJl
c2hDYWNoZU1hcChbdGhpcywgbmFtZSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0
YWJsZSB7CisgICAgICAgIGF1dG8gcG9zaXRpb24gPSBtX2NhY2hlTWFwLmZpbmRNYXRjaGluZyhb
Jl0oYXV0byYgaXRlbSkgeyByZXR1cm4gaXRlbS0+bmFtZSgpID09IG5hbWU7IH0pOworICAgICAg
ICBpZiAocG9zaXRpb24gPT0gbm90Rm91bmQpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2
ZShmYWxzZSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBTdHJp
bmcgb3JpZ2luID0gdGhpcy0+b3JpZ2luKCk7CisgICAgICAgIGlmIChvcmlnaW4uaXNOdWxsKCkp
CisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMp
OworICAgICAgICBtX2Nvbm5lY3Rpb24tPnJlbW92ZShtX2NhY2hlTWFwW3Bvc2l0aW9uXS0+aWRl
bnRpZmllcigpLCBbdGhpcywgbmFtZSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKHVpbnQ2
NF90IGNhY2hlSWRlbnRpZmllciwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3Ip
IG11dGFibGUgeworICAgICAgICAgICAgVU5VU0VEX1BBUkFNKGNhY2hlSWRlbnRpZmllcik7Cisg
ICAgICAgICAgICBpZiAoIW1faXNTdG9wcGVkKSB7CisgICAgICAgICAgICAgICAgaWYgKGVycm9y
ICE9IENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yOjpOb25lKQorICAgICAgICAgICAgICAg
ICAgICBwcm9taXNlLnJlamVjdChDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpleGNlcHRpb25Gcm9t
RXJyb3IoZXJyb3IpKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAg
IHByb21pc2UucmVzb2x2ZSh0cnVlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHVuc2V0
UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgICAgICB9KTsKKyAgICAgICAgbV9jYWNoZU1hcC5y
ZW1vdmUocG9zaXRpb24pOworICAgIH0pOwogfQogCiB2b2lkIENhY2hlU3RvcmFnZTo6a2V5cyhL
ZXlzUHJvbWlzZSYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsg
VHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgcmVmcmVz
aENhY2hlTWFwKFt0aGlzLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsK
KyAgICAgICAgVmVjdG9yPFN0cmluZz4ga2V5czsKKyAgICAgICAga2V5cy5yZXNlcnZlSW5pdGlh
bENhcGFjaXR5KG1fY2FjaGVNYXAuc2l6ZSgpKTsKKyAgICAgICAgZm9yIChhdXRvJiBjYWNoZSA6
IG1fY2FjaGVNYXApCisgICAgICAgICAgICBrZXlzLnVuY2hlY2tlZEFwcGVuZChjYWNoZS0+bmFt
ZSgpKTsKKyAgICAgICAgcHJvbWlzZS5yZXNvbHZlKGtleXMpOworICAgIH0pOworfQorCit2b2lk
IENhY2hlU3RvcmFnZTo6c3RvcCgpCit7CisgICAgbV9pc1N0b3BwZWQgPSB0cnVlOworfQorCitj
b25zdCBjaGFyKiBDYWNoZVN0b3JhZ2U6OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAorewor
ICAgIHJldHVybiAiQ2FjaGVTdG9yYWdlIjsKK30KKworYm9vbCBDYWNoZVN0b3JhZ2U6OmNhblN1
c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAoreworICAgIHJldHVybiAhbV9jYWNo
ZU1hcC5zaXplKCkgJiYgIWhhc1BlbmRpbmdBY3Rpdml0eSgpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hl
U3RvcmFnZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaApp
bmRleCBmYTI2OTAwMDM2YzMyNjczNjYyMWZjYjgzN2M3NzcxZWFhOGQ4MjIzLi5lMDVmODJhZjJj
OTRmYjQ4OTI0Y2FlNzZlMzRmZjJlMmVmOWQyMzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmgKQEAgLTI1LDI5ICsyNSw0MiBAQAogCiAjcHJhZ21hIG9u
Y2UKIAorI2luY2x1ZGUgIkNhY2hlLmgiCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlQ29ubmVjdGlv
bi5oIgogI2luY2x1ZGUgIkZldGNoUmVxdWVzdC5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ2FjaGU7CitjbGFzcyBDYWNoZVF1ZXJ5
T3B0aW9uczsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLXN0cnVjdCBDYWNoZVF1
ZXJ5T3B0aW9uczsKLQotY2xhc3MgQ2FjaGVTdG9yYWdlIDogcHVibGljIFJlZkNvdW50ZWQ8Q2Fj
aGVTdG9yYWdlPiB7CitjbGFzcyBDYWNoZVN0b3JhZ2UgOiBwdWJsaWMgUmVmQ291bnRlZDxDYWNo
ZVN0b3JhZ2U+LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMg
UmVmPENhY2hlU3RvcmFnZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNoZVN0
b3JhZ2UoKSk7IH0KKyAgICBzdGF0aWMgUmVmPENhY2hlU3RvcmFnZT4gY3JlYXRlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYmIGNv
bm5lY3Rpb24pIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2FjaGVTdG9yYWdlKGNvbnRleHQsIFdU
Rk1vdmUoY29ubmVjdGlvbikpKTsgfQogCi0gICAgdXNpbmcgUmVxdWVzdEluZm8gPSBGZXRjaFJl
cXVlc3Q6OkluZm87CiAgICAgdXNpbmcgS2V5c1Byb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8
SURMU2VxdWVuY2U8SURMRE9NU3RyaW5nPj47CiAKLSAgICB2b2lkIG1hdGNoKFJlcXVlc3RJbmZv
JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIFJlZjxEZWZlcnJlZFByb21p
c2U+JiYpOworICAgIHZvaWQgbWF0Y2goQ2FjaGU6OlJlcXVlc3RJbmZvJiYsIENhY2hlUXVlcnlP
cHRpb25zJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwogICAgIHZvaWQgaGFzKGNvbnN0IFN0
cmluZyYsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmKTsKICAgICB2b2lkIG9wZW4o
Y29uc3QgU3RyaW5nJiwgRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxDYWNoZT4+JiYp
OwogICAgIHZvaWQgcmVtb3ZlKGNvbnN0IFN0cmluZyYsIERPTVByb21pc2VEZWZlcnJlZDxJRExC
b29sZWFuPiYmKTsKICAgICB2b2lkIGtleXMoS2V5c1Byb21pc2UmJik7CiAKIHByaXZhdGU6Ci0g
ICAgQ2FjaGVTdG9yYWdlKCkgPSBkZWZhdWx0OworICAgIENhY2hlU3RvcmFnZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiwgUmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+JiYpOworCisgICAgLy8g
QWN0aXZlRE9NT2JqZWN0CisgICAgdm9pZCBzdG9wKCkgZmluYWw7CisgICAgY29uc3QgY2hhciog
YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFsOworICAgIGJvb2wgY2FuU3VzcGVuZEZv
ckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IGZpbmFsOworCisgICAgdm9pZCByZWZyZXNoQ2Fj
aGVNYXAoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYpOworICAgIFN0cmluZyBvcmlnaW4oKSBjb25z
dDsKKworICAgIFZlY3RvcjxSZWY8Q2FjaGU+PiBtX2NhY2hlTWFwOworICAgIFJlZjxDYWNoZVN0
b3JhZ2VDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CisgICAgYm9vbCBtX2lzU3RvcHBlZCB7IGZh
bHNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5pZGwKaW5kZXggOGQ3MWUwOTAzZTc2ZTFhNGI2MmJm
YjZmMDI4NDk2ZmI5ODZmMDYyYS4uYjQ0NmFlYTc3ZmM3MDVmMGNjMDE2N2NlNGE2ZjZmZTEwNzU3
MjBhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3Jh
Z2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmlk
bApAQCAtMjksNyArMjksNiBAQCB0eXBlZGVmIChGZXRjaFJlcXVlc3Qgb3IgVVNWU3RyaW5nKSBS
ZXF1ZXN0SW5mbzsKICAgICBTZWN1cmVDb250ZXh0LAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3Jr
ZXIpLAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9Q2FjaGVBUEksCi0gICAgSW1wbGVtZW50YXRpb25M
YWNrc1ZUYWJsZSwKIF0gaW50ZXJmYWNlIENhY2hlU3RvcmFnZSB7CiAgICAgW05ld09iamVjdF0g
UHJvbWlzZTxhbnk+IG1hdGNoKFJlcXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVl
cnlPcHRpb25zIG9wdGlvbnMpOwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8Ym9vbGVhbj4gaGFz
KERPTVN0cmluZyBjYWNoZU5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGM1YjIyNGU1
NmMxYTI4NzkxNDQ1MWI2NzE2NGYyNTU3MTMxMTFkZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAKQEAgLTAs
MCArMSw4MSBAQAorCisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaCIKKworI2luY2x1ZGUgIkNhY2hlUXVlcnlPcHRpb25z
LmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRXhj
ZXB0aW9uIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlvbkZyb21FcnJvcihFcnJvciBl
cnJvcikKK3sKKyAgICBBU1NFUlQoZXJyb3IgIT0gRXJyb3I6Ok5vbmUpOworCisgICAgc3dpdGNo
IChlcnJvcikgeworICAgIGNhc2UgRXJyb3I6Ok5vdEltcGxlbWVudGVkOgorICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIp
IH07CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwg
QVNDSUlMaXRlcmFsKCJVbmtub3duIGVycm9yIikgfTsKKyAgICB9OworfQorCitib29sIENhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OnF1ZXJ5Q2FjaGVNYXRjaChjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgY2FjaGVkUmVxdWVzdCwgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgY2FjaGVkUmVzcG9uc2UsIGNvbnN0IENhY2hlUXVlcnlPcHRpb25zJiBv
cHRpb25zKQoreworICAgIEFTU0VSVChvcHRpb25zLmlnbm9yZU1ldGhvZCB8fCByZXF1ZXN0Lmh0
dHBNZXRob2QoKSA9PSAiR0VUIik7CisKKyAgICBVUkwgcmVxdWVzdFVSTCA9IHJlcXVlc3QudXJs
KCk7CisgICAgVVJMIGNhY2hlZFJlcXVlc3RVUkwgPSBjYWNoZWRSZXF1ZXN0LnVybCgpOworCisg
ICAgaWYgKG9wdGlvbnMuaWdub3JlU2VhcmNoKSB7CisgICAgICAgIHJlcXVlc3RVUkwuc2V0UXVl
cnkoeyB9KTsKKyAgICAgICAgY2FjaGVkUmVxdWVzdFVSTC5zZXRRdWVyeSh7IH0pOworICAgIH0K
KyAgICBpZiAoIWVxdWFsSWdub3JpbmdGcmFnbWVudElkZW50aWZpZXIocmVxdWVzdFVSTCwgY2Fj
aGVkUmVxdWVzdFVSTCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChvcHRpb25z
Lmlnbm9yZVZhcnkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgU3RyaW5nIHZhcnlWYWx1
ZSA9IGNhY2hlZFJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChXZWJDb3JlOjpIVFRQSGVhZGVyTmFt
ZTo6VmFyeSk7CisgICAgaWYgKHZhcnlWYWx1ZS5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisKKyAgICBWZWN0b3I8U3RyaW5nPiB2YXJ5aW5nSGVhZGVyTmFtZXM7CisgICAgdmFyeVZh
bHVlLnNwbGl0KCcsJywgdmFyeWluZ0hlYWRlck5hbWVzKTsKKyAgICBpZiAodmFyeWluZ0hlYWRl
ck5hbWVzLmNvbnRhaW5zKCIqIikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGZvciAo
YXV0byYgbmFtZSA6IHZhcnlpbmdIZWFkZXJOYW1lcykgeworICAgICAgICBpZiAoY2FjaGVkUmVx
dWVzdC5odHRwSGVhZGVyRmllbGQobmFtZSkgIT0gcmVxdWVzdC5odHRwSGVhZGVyRmllbGQobmFt
ZSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHJldHVybiB0cnVlOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQ4NmFk
N2Y2YTgxOWVmYjI2YTE3OGFlYzQwMjVjNzViY2M4NmZhMQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oCkBAIC0w
LDAgKzEsODAgQEAKKworLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiRmV0
Y2hIZWFkZXJzLmgiCisjaW5jbHVkZSAiRmV0Y2hPcHRpb25zLmgiCisjaW5jbHVkZSAiUmVzb3Vy
Y2VSZXF1ZXN0LmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgorI2luY2x1ZGUgPHd0
Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IENhY2hlUXVlcnlPcHRpb25zOworCitjbGFzcyBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uIDogcHVi
bGljIFRocmVhZFNhZmVSZWZDb3VudGVkPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IHsKK3B1Ymxp
YzoKKyAgICBlbnVtIGNsYXNzIEVycm9yIHsKKyAgICAgICAgTm9uZSwKKyAgICAgICAgTm90SW1w
bGVtZW50ZWQsCisgICAgfTsKKworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIHF1ZXJ5
Q2FjaGVNYXRjaChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYgY2FjaGVkUmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IENh
Y2hlUXVlcnlPcHRpb25zJik7CisKKyAgICBzdGF0aWMgRXhjZXB0aW9uIGV4Y2VwdGlvbkZyb21F
cnJvcihFcnJvcik7CisKKyAgICBzdHJ1Y3QgUmVjb3JkIHsKKyAgICAgICAgdWludDY0X3QgaWRl
bnRpZmllcjsKKworICAgICAgICBGZXRjaEhlYWRlcnM6Okd1YXJkIHJlcXVlc3RIZWFkZXJzR3Vh
cmQ7CisgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0OworICAgICAgICBGZXRjaE9wdGlv
bnMgb3B0aW9uczsKKyAgICAgICAgU3RyaW5nIHJlZmVycmVyOworCisgICAgICAgIEZldGNoSGVh
ZGVyczo6R3VhcmQgcmVzcG9uc2VIZWFkZXJzR3VhcmQ7CisgICAgICAgIFJlc291cmNlUmVzcG9u
c2UgcmVzcG9uc2U7CisgICAgfTsKKworICAgIHN0YXRpYyBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVj
dGlvbj4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uKCkpOyB9CisgICAgdmlydHVhbCB+Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbigpID0gZGVmYXVs
dDsKKworICAgIHVzaW5nIE9wZW5SZW1vdmVDYWxsYmFjayA9IFdURjo6RnVuY3Rpb248dm9pZCh1
aW50NjRfdCwgRXJyb3IpPjsKKyAgICB1c2luZyBDYWNoZU1hcENhbGxiYWNrID0gV1RGOjpGdW5j
dGlvbjx2b2lkKGNvbnN0IFZlY3RvcjxTdHJpbmc+Jik+OworICAgIHVzaW5nIFJlY29yZHNDYWxs
YmFjayA9IFdURjo6RnVuY3Rpb248dm9pZChWZWN0b3I8UmVjb3JkPiYmKT47CisgICAgdXNpbmcg
QmF0Y2hPcGVyYXRpb25DYWxsYmFjayA9IFdURjo6RnVuY3Rpb248dm9pZChWZWN0b3I8dWludDY0
X3Q+JiYsIEVycm9yKT47CisKKyAgICB2aXJ0dWFsIHZvaWQgb3Blbihjb25zdCBTdHJpbmcmIC8q
IG9yaWdpbiAqLywgY29uc3QgU3RyaW5nJiAvKiBjYWNoZU5hbWUgKi8sIE9wZW5SZW1vdmVDYWxs
YmFjayYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKDAsIEVycm9yOjpOb3RJbXBsZW1lbnRlZCk7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlKHVpbnQ2NF90IC8qIGNhY2hlSWRlbnRpZmllciAqLywg
T3BlblJlbW92ZUNhbGxiYWNrJiYgY2FsbGJhY2spIHsgY2FsbGJhY2soMCwgRXJyb3I6Ok5vdElt
cGxlbWVudGVkKTsgfQorICAgIHZpcnR1YWwgdm9pZCByZWZyZXNoQ2FjaGVNYXAoY29uc3QgU3Ry
aW5nJiAvKiBvcmlnaW4gKi8sIENhY2hlTWFwQ2FsbGJhY2smJiBjYWxsYmFjaykgeyBjYWxsYmFj
ayh7IH0pOyB9CisKKyAgICB2aXJ0dWFsIHZvaWQgcmVmcmVzaFJlY29yZHModWludDY0X3QgLyog
Y2FjaGVJZGVudGlmaWVyICovLCBSZWNvcmRzQ2FsbGJhY2smJiBjYWxsYmFjaykgeyBjYWxsYmFj
ayh7IH0pOyB9CisgICAgdmlydHVhbCB2b2lkIGJhdGNoRGVsZXRlT3BlcmF0aW9uKHVpbnQ2NF90
IC8qIGNhY2hlSWRlbnRpZmllciAqLywgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgQ2FjaGVRdWVy
eU9wdGlvbnMmJiwgQmF0Y2hPcGVyYXRpb25DYWxsYmFjayYmIGNhbGxiYWNrKSB7IGNhbGxiYWNr
KHsgfSwgRXJyb3I6Ok5vdEltcGxlbWVudGVkKTsgfQorICAgIHZpcnR1YWwgdm9pZCBiYXRjaFB1
dE9wZXJhdGlvbih1aW50NjRfdCAvKiBjYWNoZUlkZW50aWZpZXIgKi8sIFZlY3RvcjxSZWNvcmQ+
JiYsIEJhdGNoT3BlcmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykgeyBjYWxsYmFjayh7IH0sIEVy
cm9yOjpOb3RJbXBsZW1lbnRlZCk7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VSZWNv
cmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlUmVjb3JkLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMDBhNmFjZTRiYTRjMDkxZGMwOWE1ZDQ1NWRmNmFjN2NhNWNhYTI3YgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdl
UmVjb3JkLmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aW5jbHVkZSAiRmV0Y2hSZXF1ZXN0LmgiCisjaW5jbHVkZSAiRmV0Y2hSZXNwb25zZS5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBDYWNoZVN0b3JhZ2VSZWNvcmQgeworICAgIHVp
bnQ2NF90IGlkZW50aWZpZXI7CisKKyAgICBSZWY8RmV0Y2hSZXF1ZXN0PiByZXF1ZXN0OworICAg
IFJlZjxGZXRjaFJlc3BvbnNlPiByZXNwb25zZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NV2luZG93Q2Fj
aGVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NV2luZG93Q2FjaGVzLmNw
cAppbmRleCA4NjY1YzU1NjcyZWE1ZjQ2YjA5ZDRmOWIwNzVhNjk2MmM1OTUxZWQxLi5hOGEyNjY3
YmFhNTI1MWFlZGEwNjVkODQ4Mzg2MjU1M2Q1MDU4NTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwCkBAIC0yNyw3ICsyNywxMSBAQAog
I2luY2x1ZGUgIkRPTVdpbmRvd0NhY2hlcy5oIgogCiAjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlLmgi
CisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJET01XaW5kb3cu
aCIKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAi
UGFnZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTU5LDggKzYzLDggQEAgQ2FjaGVT
dG9yYWdlKiBET01XaW5kb3dDYWNoZXM6OmNhY2hlcyhET01XaW5kb3cmIHdpbmRvdykKIAogQ2Fj
aGVTdG9yYWdlKiBET01XaW5kb3dDYWNoZXM6OmNhY2hlcygpIGNvbnN0CiB7Ci0gICAgaWYgKCFt
X2NhY2hlcyAmJiBmcmFtZSgpKQotICAgICAgICBtX2NhY2hlcyA9IENhY2hlU3RvcmFnZTo6Y3Jl
YXRlKCk7CisgICAgaWYgKCFtX2NhY2hlcyAmJiBmcmFtZSgpICYmIGZyYW1lKCktPnBhZ2UoKSAm
JiBmcmFtZSgpLT5kb2N1bWVudCgpKQorICAgICAgICBtX2NhY2hlcyA9IENhY2hlU3RvcmFnZTo6
Y3JlYXRlKCpmcmFtZSgpLT5kb2N1bWVudCgpLCBmcmFtZSgpLT5wYWdlKCktPmNhY2hlU3RvcmFn
ZVByb3ZpZGVyKCkuY3JlYXRlQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbihmcmFtZSgpLT5wYWdlKCkt
PnNlc3Npb25JRCgpKSk7CiAgICAgcmV0dXJuIG1fY2FjaGVzLmdldCgpOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNo
ZXMuY3BwCmluZGV4IDA1MTY5OGU3YzZlNTc5MGNkMjcwYTMxODBmZmViNDNjN2Q3ZGVhYWEuLmM1
MzljZGU2M2I0YjRkMjc3MWM2OWNmZjdkNTliN2YxMjU4NWI4MTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3Bw
CkBAIC00MCw3ICs0MCw3IEBAIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKiBXb3JrZXJHbG9iYWxT
Y29wZUNhY2hlczo6ZnJvbShXb3JrZXJHbG9iYWxTY29wZSYgc2NvcGUpCiB7CiAgICAgYXV0byog
c3VwcGxlbWVudCA9IHN0YXRpY19jYXN0PFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKj4oU3VwcGxl
bWVudDxXb3JrZXJHbG9iYWxTY29wZT46OmZyb20oJnNjb3BlLCBzdXBwbGVtZW50TmFtZSgpKSk7
CiAgICAgaWYgKCFzdXBwbGVtZW50KSB7Ci0gICAgICAgIGF1dG8gbmV3U3VwcGxlbWVudCA9IHN0
ZDo6bWFrZV91bmlxdWU8V29ya2VyR2xvYmFsU2NvcGVDYWNoZXM+KCk7CisgICAgICAgIGF1dG8g
bmV3U3VwcGxlbWVudCA9IHN0ZDo6bWFrZV91bmlxdWU8V29ya2VyR2xvYmFsU2NvcGVDYWNoZXM+
KHNjb3BlKTsKICAgICAgICAgc3VwcGxlbWVudCA9IG5ld1N1cHBsZW1lbnQuZ2V0KCk7CiAgICAg
ICAgIHByb3ZpZGVUbygmc2NvcGUsIHN1cHBsZW1lbnROYW1lKCksIFdURk1vdmUobmV3U3VwcGxl
bWVudCkpOwogICAgIH0KQEAgLTU1LDcgKzU1LDcgQEAgQ2FjaGVTdG9yYWdlKiBXb3JrZXJHbG9i
YWxTY29wZUNhY2hlczo6Y2FjaGVzKFdvcmtlckdsb2JhbFNjb3BlJiBzY29wZSkKIENhY2hlU3Rv
cmFnZSogV29ya2VyR2xvYmFsU2NvcGVDYWNoZXM6OmNhY2hlcygpIGNvbnN0CiB7CiAgICAgaWYg
KCFtX2NhY2hlcykKLSAgICAgICAgbV9jYWNoZXMgPSBDYWNoZVN0b3JhZ2U6OmNyZWF0ZSgpOwor
ICAgICAgICBtX2NhY2hlcyA9IENhY2hlU3RvcmFnZTo6Y3JlYXRlKG1fc2NvcGUsIENhY2hlU3Rv
cmFnZUNvbm5lY3Rpb246OmNyZWF0ZSgpKTsKICAgICByZXR1cm4gbV9jYWNoZXMuZ2V0KCk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFs
U2NvcGVDYWNoZXMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFs
U2NvcGVDYWNoZXMuaAppbmRleCA3OTVlYmQ2MTllMjQyMWQ0Y2ViMWI3OGNkZWU0MzNlMTIzNTE0
ODZkLi5mNmNjODUxZTA4NWUxZDNhNWMyM2NhYzZlYjdkM2U2ZmFjMzk3NjQwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hl
cy5oCkBAIC0zNCw3ICszNCw3IEBAIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlOwogCiBjbGFzcyBX
b3JrZXJHbG9iYWxTY29wZUNhY2hlcyA6IHB1YmxpYyBTdXBwbGVtZW50PFdvcmtlckdsb2JhbFNj
b3BlPiB7CiBwdWJsaWM6Ci0gICAgV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMoKSA9IGRlZmF1bHQ7
CisgICAgV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMoV29ya2VyR2xvYmFsU2NvcGUmIHNjb3BlKSA6
IG1fc2NvcGUoc2NvcGUpIHsgfTsKIAogICAgIHN0YXRpYyBDYWNoZVN0b3JhZ2UqIGNhY2hlcyhX
b3JrZXJHbG9iYWxTY29wZSYpOwogCkBAIC00Myw2ICs0Myw3IEBAIHByaXZhdGU6CiAgICAgc3Rh
dGljIGNvbnN0IGNoYXIqIHN1cHBsZW1lbnROYW1lKCk7CiAgICAgQ2FjaGVTdG9yYWdlKiBjYWNo
ZXMoKSBjb25zdDsKIAorICAgIFdvcmtlckdsb2JhbFNjb3BlJiBtX3Njb3BlOwogICAgIG11dGFi
bGUgUmVmUHRyPENhY2hlU3RvcmFnZT4gbV9jYWNoZXM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmgKaW5kZXggYzMyMTNlOTcyMTM5MzAwZDRh
NTE4NTRjMDU1OWFiNTUwMTRhOTU1Yi4uNzFhZmM0NmNlMDUxZTRhODRlMzFhYzkzNDQ4Mzk2Yzhm
ODYxZTE5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJv
ZHlPd25lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3du
ZXIuaApAQCAtNTcsNiArNTcsOCBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzQWN0aXZlKCkgY29u
c3QgeyByZXR1cm4gISFtX2Jsb2JMb2FkZXI7IH0KIAorICAgIGJvb2wgaXNSZWFkYWJsZVN0cmVh
bUJvZHkoKSBjb25zdCB7IHJldHVybiBtX2JvZHkgJiYgbV9ib2R5LT5pc1JlYWRhYmxlU3RyZWFt
KCk7IH0KKwogcHJvdGVjdGVkOgogICAgIGNvbnN0IEZldGNoQm9keSYgYm9keSgpIGNvbnN0IHsg
cmV0dXJuICptX2JvZHk7IH0KICAgICBGZXRjaEJvZHkmIGJvZHkoKSB7IHJldHVybiAqbV9ib2R5
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVy
cy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaAppbmRleCBm
YzNiMTA4YjlhMmQ1YWU1ODM3YzIzYzc5MWZlMjA5Y2I2ODMzMmM4Li5mZWUxZjhmMWYzODA5M2Iw
ZDMzNWI5MThkOTFkY2U0NGZjZDk3ZDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hIZWFkZXJzLmgKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkV4Y2VwdGlv
bk9yLmgiCiAjaW5jbHVkZSAiSFRUUEhlYWRlck1hcC5oIgorI2luY2x1ZGUgPHd0Zi9FbnVtVHJh
aXRzLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hUcmFpdHMuaD4KICNpbmNsdWRlIDx3dGYvVmFyaWFu
dC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTQ5LDcgKzUwLDcgQEAgcHVibGljOgog
ICAgIHVzaW5nIEluaXQgPSBWYXJpYW50PFZlY3RvcjxWZWN0b3I8U3RyaW5nPj4sIFZlY3RvcjxX
VEY6OktleVZhbHVlUGFpcjxTdHJpbmcsIFN0cmluZz4+PjsKICAgICBzdGF0aWMgRXhjZXB0aW9u
T3I8UmVmPEZldGNoSGVhZGVycz4+IGNyZWF0ZShzdGQ6Om9wdGlvbmFsPEluaXQ+JiYpOwogCi0g
ICAgc3RhdGljIFJlZjxGZXRjaEhlYWRlcnM+IGNyZWF0ZShHdWFyZCBndWFyZCA9IEd1YXJkOjpO
b25lKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEZldGNoSGVhZGVycyB7IGd1YXJkIH0pOyB9Cisg
ICAgc3RhdGljIFJlZjxGZXRjaEhlYWRlcnM+IGNyZWF0ZShHdWFyZCBndWFyZCA9IEd1YXJkOjpO
b25lLCBIVFRQSGVhZGVyTWFwJiYgaGVhZGVycyA9IHsgfSkgeyByZXR1cm4gYWRvcHRSZWYoKm5l
dyBGZXRjaEhlYWRlcnMgeyBndWFyZCwgV1RGTW92ZShoZWFkZXJzKSB9KTsgfQogICAgIHN0YXRp
YyBSZWY8RmV0Y2hIZWFkZXJzPiBjcmVhdGUoY29uc3QgRmV0Y2hIZWFkZXJzJiBoZWFkZXJzKSB7
IHJldHVybiBhZG9wdFJlZigqbmV3IEZldGNoSGVhZGVycyB7IGhlYWRlcnMgfSk7IH0KIAogICAg
IEV4Y2VwdGlvbk9yPHZvaWQ+IGFwcGVuZChjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmlu
ZyYgdmFsdWUpOwpAQCAtODIsOSArODMsMTAgQEAgcHVibGljOgogICAgIGNvbnN0IEhUVFBIZWFk
ZXJNYXAmIGludGVybmFsSGVhZGVycygpIGNvbnN0IHsgcmV0dXJuIG1faGVhZGVyczsgfQogCiAg
ICAgdm9pZCBzZXRHdWFyZChHdWFyZCk7CisgICAgR3VhcmQgZ3VhcmQoKSBjb25zdCB7IHJldHVy
biBtX2d1YXJkOyB9CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgRmV0Y2hIZWFkZXJzKEd1YXJk
IGd1YXJkLCBIVFRQSGVhZGVyTWFwJiYgaGVhZGVycyA9IHsgfSk7CisgICAgRmV0Y2hIZWFkZXJz
KEd1YXJkLCBIVFRQSGVhZGVyTWFwJiYpOwogICAgIEZldGNoSGVhZGVycyhjb25zdCBGZXRjaEhl
YWRlcnMmKTsKIAogICAgIEd1YXJkIG1fZ3VhcmQ7CkBAIC0xMTEsMyArMTEzLDE4IEBAIGlubGlu
ZSB2b2lkIEZldGNoSGVhZGVyczo6c2V0R3VhcmQoR3VhcmQgZ3VhcmQpCiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0IEVu
dW1UcmFpdHM8V2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZD4geworICAgIHVzaW5nIHZhbHVl
cyA9IEVudW1WYWx1ZXM8CisgICAgV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZCwKKyAgICBX
ZWJDb3JlOjpGZXRjaEhlYWRlcnM6Okd1YXJkOjpOb25lLAorICAgIFdlYkNvcmU6OkZldGNoSGVh
ZGVyczo6R3VhcmQ6OkltbXV0YWJsZSwKKyAgICBXZWJDb3JlOjpGZXRjaEhlYWRlcnM6Okd1YXJk
OjpSZXF1ZXN0LAorICAgIFdlYkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQ6OlJlcXVlc3ROb0Nv
cnMsCisgICAgV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZDo6UmVzcG9uc2UKKyAgICA+Owor
fTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExv
YWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcApp
bmRleCBlM2E1MWYxYWU4NDM5MmJmMzBmYzhiNWQzMzUzMWEwOWRiODVjY2FjLi5lZGZhYzVjMzg1
OTFkOTllODhlZDBmZGYzNmU4ZGM0ZDg5NThkNjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcApAQCAtODAsNyArODAsNyBAQCB2b2lkIEZldGNoTG9h
ZGVyOjpzdGFydChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBGZXRjaFJl
cXVlc3QmIHJlcQogICAgIG9wdGlvbnMuZGF0YUJ1ZmZlcmluZ1BvbGljeSA9IERvTm90QnVmZmVy
RGF0YTsKICAgICBvcHRpb25zLnNhbWVPcmlnaW5EYXRhVVJMRmxhZyA9IFNhbWVPcmlnaW5EYXRh
VVJMRmxhZzo6U2V0OwogCi0gICAgUmVzb3VyY2VSZXF1ZXN0IGZldGNoUmVxdWVzdCA9IHJlcXVl
c3QuaW50ZXJuYWxSZXF1ZXN0KCk7CisgICAgUmVzb3VyY2VSZXF1ZXN0IGZldGNoUmVxdWVzdCA9
IHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCk7CiAKICAgICBBU1NFUlQoY29udGV4dC5jb250ZW50
U2VjdXJpdHlQb2xpY3koKSk7CiAgICAgYXV0byYgY29udGVudFNlY3VyaXR5UG9saWN5ID0gKmNv
bnRleHQuY29udGVudFNlY3VyaXR5UG9saWN5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZldGNoL0ZldGNoUmVxdWVzdC5jcHAKaW5kZXggZTY2YzE1Yzk5NGNlNTFlZGQ1NDkzYWQyNTg3
NDJkZGU2OGNhM2Q0Yi4uOGQwYzIzODc4M2JhZjAzODRkMjdjNGQ0OGY2MTdjNjEwMjc2OWU4MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcApAQCAt
NzQsNyArNzQsNyBAQCBzdGF0aWMgc3RkOjpvcHRpb25hbDxFeGNlcHRpb24+IHNldFJlZmVycmVy
KEZldGNoUmVxdWVzdDo6SW50ZXJuYWxSZXF1ZXN0JiByZXF1ZQogCiBzdGF0aWMgc3RkOjpvcHRp
b25hbDxFeGNlcHRpb24+IGJ1aWxkT3B0aW9ucyhGZXRjaFJlcXVlc3Q6OkludGVybmFsUmVxdWVz
dCYgcmVxdWVzdCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmV0Y2hS
ZXF1ZXN0OjpJbml0JiBpbml0KQogewotICAgIGlmICghaW5pdC53aW5kb3cuaXNVbmRlZmluZWRP
ck51bGwoKSkKKyAgICBpZiAoIWluaXQud2luZG93LmlzVW5kZWZpbmVkT3JOdWxsKCkgJiYgIWlu
aXQud2luZG93LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJv
ciwgQVNDSUlMaXRlcmFsKCJXaW5kb3cgY2FuIG9ubHkgYmUgbnVsbC4iKSB9OwogCiAgICAgaWYg
KCFpbml0LnJlZmVycmVyLmlzTnVsbCgpKSB7CkBAIC0yNjQsNyArMjY0LDcgQEAgY29uc3QgU3Ry
aW5nJiBGZXRjaFJlcXVlc3Q6OnVybCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcmVxdWVzdFVSTDsK
IH0KIAotUmVzb3VyY2VSZXF1ZXN0IEZldGNoUmVxdWVzdDo6aW50ZXJuYWxSZXF1ZXN0KCkgY29u
c3QKK1Jlc291cmNlUmVxdWVzdCBGZXRjaFJlcXVlc3Q6OnJlc291cmNlUmVxdWVzdCgpIGNvbnN0
CiB7CiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5oCmluZGV4IDFmMGIxNmU4YTVhMTc5ZjBm
ZWFjMGI1OTdkZDU4NzQ5ZmFlZGFiZGQuLjYxZGNkMmM1ODYzMzA5N2QxZTYyZTZjNWE5MWViMTAw
MjE3NzljMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hS
ZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3Qu
aApAQCAtNTMsMTEgKzUzLDE5IEBAIHB1YmxpYzoKICAgICB1c2luZyBSZWRpcmVjdCA9IEZldGNo
T3B0aW9uczo6UmVkaXJlY3Q7CiAgICAgdXNpbmcgVHlwZSA9IEZldGNoT3B0aW9uczo6VHlwZTsK
IAorICAgIHN0cnVjdCBJbnRlcm5hbFJlcXVlc3QgeworICAgICAgICBSZXNvdXJjZVJlcXVlc3Qg
cmVxdWVzdDsKKyAgICAgICAgRmV0Y2hPcHRpb25zIG9wdGlvbnM7CisgICAgICAgIFN0cmluZyBy
ZWZlcnJlcjsKKyAgICB9OworCiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxGZXRjaFJlcXVl
c3Q+PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEluZm8mJiwgSW5pdCYmKTsKKyAg
ICBzdGF0aWMgUmVmPEZldGNoUmVxdWVzdD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQsIHN0ZDo6b3B0aW9uYWw8RmV0Y2hCb2R5PiYmIGJvZHksIFJlZjxGZXRjaEhlYWRl
cnM+JiYgaGVhZGVycywgSW50ZXJuYWxSZXF1ZXN0JiYgcmVxdWVzdCkgeyByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBGZXRjaFJlcXVlc3QoY29udGV4dCwgV1RGTW92ZShib2R5KSwgV1RGTW92ZShoZWFk
ZXJzKSwgV1RGTW92ZShyZXF1ZXN0KSkpOyB9CiAKICAgICBjb25zdCBTdHJpbmcmIG1ldGhvZCgp
IGNvbnN0IHsgcmV0dXJuIG1faW50ZXJuYWxSZXF1ZXN0LnJlcXVlc3QuaHR0cE1ldGhvZCgpOyB9
CiAgICAgY29uc3QgU3RyaW5nJiB1cmwoKSBjb25zdDsKICAgICBGZXRjaEhlYWRlcnMmIGhlYWRl
cnMoKSB7IHJldHVybiBtX2hlYWRlcnMuZ2V0KCk7IH0KKyAgICBjb25zdCBGZXRjaEhlYWRlcnMm
IGhlYWRlcnMoKSBjb25zdCB7IHJldHVybiBtX2hlYWRlcnMuZ2V0KCk7IH0KIAogICAgIFR5cGUg
dHlwZSgpIGNvbnN0OwogICAgIERlc3RpbmF0aW9uIGRlc3RpbmF0aW9uKCkgY29uc3Q7CkBAIC03
MywxNyArODEsMTQgQEAgcHVibGljOgogCiAgICAgRXhjZXB0aW9uT3I8UmVmPEZldGNoUmVxdWVz
dD4+IGNsb25lKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKIAotICAgIHN0cnVjdCBJbnRlcm5h
bFJlcXVlc3QgewotICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdDsKLSAgICAgICAgRmV0
Y2hPcHRpb25zIG9wdGlvbnM7Ci0gICAgICAgIFN0cmluZyByZWZlcnJlcjsKLSAgICB9OworICAg
IGNvbnN0IEludGVybmFsUmVxdWVzdCYgaW50ZXJuYWxSZXF1ZXN0KCkgY29uc3QgeyByZXR1cm4g
bV9pbnRlcm5hbFJlcXVlc3Q7IH0KIAogICAgIGNvbnN0IEZldGNoT3B0aW9ucyYgZmV0Y2hPcHRp
b25zKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVlc3Qub3B0aW9uczsgfQotICAgIFJl
c291cmNlUmVxdWVzdCBpbnRlcm5hbFJlcXVlc3QoKSBjb25zdDsKKyAgICBSZXNvdXJjZVJlcXVl
c3QgcmVzb3VyY2VSZXF1ZXN0KCkgY29uc3Q7CiAgICAgYm9vbCBpc0JvZHlSZWFkYWJsZVN0cmVh
bSgpIGNvbnN0IHsgcmV0dXJuICFpc0JvZHlOdWxsKCkgJiYgYm9keSgpLmlzUmVhZGFibGVTdHJl
YW0oKTsgfQogCiAgICAgY29uc3QgU3RyaW5nJiBpbnRlcm5hbFJlcXVlc3RSZWZlcnJlcigpIGNv
bnN0IHsgcmV0dXJuIG1faW50ZXJuYWxSZXF1ZXN0LnJlZmVycmVyOyB9CisgICAgY29uc3QgVVJM
JiBpbnRlcm5hbFJlcXVlc3RVUkwoKSBjb25zdCB7IHJldHVybiBtX2ludGVybmFsUmVxdWVzdC5y
ZXF1ZXN0LnVybCgpOyB9CiAKIHByaXZhdGU6CiAgICAgRmV0Y2hSZXF1ZXN0KFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmLCBzdGQ6Om9wdGlvbmFsPEZldGNoQm9keT4mJiwgUmVmPEZldGNoSGVhZGVy
cz4mJiwgSW50ZXJuYWxSZXF1ZXN0JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNo
L0ZldGNoUmVzcG9uc2UuaAppbmRleCBmOWIwMmZiMGU1ODdhYjRlYjNkNTU5Nzk0YjM5MWY3OWY1
YTFkYzY2Li43ZDUzZGZjNzc4MjgwYTA2ZTA2NDlhZDlhZDk4ZmFmN2YwNzVlNjRlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaApAQCAtNTcsNiArNTcs
OCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxGZXRjaFJlc3BvbnNlPiBlcnJvcihTY3JpcHRF
eGVjdXRpb25Db250ZXh0Jik7CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxGZXRjaFJlc3Bv
bnNlPj4gcmVkaXJlY3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFN0cmluZyYgdXJs
LCBpbnQgc3RhdHVzKTsKIAorICAgIHN0YXRpYyBSZWY8RmV0Y2hSZXNwb25zZT4gY3JlYXRlKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6b3B0aW9uYWw8RmV0Y2hCb2R5PiYm
IGJvZHksIFJlZjxGZXRjaEhlYWRlcnM+JiYgaGVhZGVycywgUmVzb3VyY2VSZXNwb25zZSYmIHJl
c3BvbnNlKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEZldGNoUmVzcG9uc2UoY29udGV4dCwgV1RG
TW92ZShib2R5KSwgV1RGTW92ZShoZWFkZXJzKSwgV1RGTW92ZShyZXNwb25zZSkpKTsgfQorCiAg
ICAgdXNpbmcgRmV0Y2hQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxG
ZXRjaFJlc3BvbnNlPj47CiAgICAgc3RhdGljIHZvaWQgZmV0Y2goU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYsIEZldGNoUmVxdWVzdCYsIEZldGNoUHJvbWlzZSYmKTsKIApAQCAtNzgsNiArODAsNyBA
QCBwdWJsaWM6CiAgICAgYm9vbCBvaygpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2UuaXNTdWNj
ZXNzZnVsKCk7IH0KICAgICBjb25zdCBTdHJpbmcmIHN0YXR1c1RleHQoKSBjb25zdCB7IHJldHVy
biBtX3Jlc3BvbnNlLmh0dHBTdGF0dXNUZXh0KCk7IH0KIAorICAgIGNvbnN0IEZldGNoSGVhZGVy
cyYgaGVhZGVycygpIGNvbnN0IHsgcmV0dXJuIG1faGVhZGVyczsgfQogICAgIEZldGNoSGVhZGVy
cyYgaGVhZGVycygpIHsgcmV0dXJuIG1faGVhZGVyczsgfQogICAgIFJlZjxGZXRjaFJlc3BvbnNl
PiBjbG9uZUZvckpTKCk7CiAKQEAgLTkwLDYgKzkzLDggQEAgcHVibGljOgogCiAgICAgYm9vbCBp
c0xvYWRpbmcoKSBjb25zdCB7IHJldHVybiAhIW1fYm9keUxvYWRlcjsgfQogCisgICAgY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlOyB9
CisKIHByaXZhdGU6CiAgICAgRmV0Y2hSZXNwb25zZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwg
c3RkOjpvcHRpb25hbDxGZXRjaEJvZHk+JiYsIFJlZjxGZXRjaEhlYWRlcnM+JiYsIFJlc291cmNl
UmVzcG9uc2UmJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCA4YWE1N2FkZWQ1M2FmOTk0ZDliYTY3Yjk0NzFlNWIyYzlhODc3
NGIzLi4xYmZlZjQ5Y2NlNjQwMjJlZTJkMjQyMzRjNmJkZGE3Y2Q5ODg4Yjc4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNzg0
LDYgKzE3ODQsMTQgQEAKIAkJNDFDRjhCRTcxRDQ2MjI2NzAwNzA3REM5IC8qIEZldGNoQm9keUNv
bnN1bWVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxQ0Y4QkU0MUQ0NjIyMjAwMDcwN0RDOSAvKiBGZXRjaEJvZHlDb25zdW1lci5jcHAgKi87IH07
CiAJCTQxRDAxNUNBMEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlwZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMDE1QzgwRjRCNUM3MTAwNEE2
NjJGIC8qIENvbnRlbnRUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJNDFEMDE1Q0IwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDAxNUM5
MEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlwZS5jcHAgKi87IH07CisJCTQxRDEyOUNFMUYz
RDBFRjYwMEQxNUU0NyAvKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFGQjI3OEQxRjM0QzI4MjAwNzk1NDg3
IC8qIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmggKi87IH07CisJCTQxRDEyOUNGMUYzRDBFRkUw
MEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDEyOUM5MUYzRDBFRTMwMEQxNUU0NyAvKiBD
YWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCAqLzsgfTsKKwkJNDFEMTI5RDAxRjNEMEYwNTAwRDE1
RTQ3IC8qIENhY2hlUXVlcnlPcHRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MUZCMjc5QjFGMzRDRUYwMDA3OTU0ODcgLyogQ2FjaGVRdWVyeU9w
dGlvbnMuaCAqLzsgfTsKKwkJNDFEMTI5RDExRjNEMEYwRTAwRDE1RTQ3IC8qIERPTVdpbmRvd0Nh
Y2hlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFG
QjI3OEMxRjM0QzI4MjAwNzk1NDg3IC8qIERPTVdpbmRvd0NhY2hlcy5oICovOyB9OworCQk0MUQx
MjlEMjFGM0QwRjEyMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUmVjb3JkLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQxMjlDQTFGM0QwRUUzMDBEMTVF
NDcgLyogQ2FjaGVTdG9yYWdlUmVjb3JkLmggKi87IH07CisJCTQxRDEyOUQzMUYzRDBGMTYwMEQx
NUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQxMjlDQzFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVT
dG9yYWdlQ29ubmVjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTQxRDEyOUQ1MUYzRDBGNjkwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VQcm92
aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFE
MTI5RDQxRjNEMEY2NjAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVByb3ZpZGVyLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDFEMTI5REIxRjNEMTQz
ODAwRDE1RTQ3IC8qIEZldGNoSGVhZGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDFGNTRGODMxQzUwQzRGNjAwMzM4NDg4IC8qIEZldGNoSGVhZGVy
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQx
REVGQ0I1MUU1NkMxQkQwMDBEOUU1RiAvKiBKU0RPTU1hcExpa2UuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFERUZDQjMxRTU2QzFCOTAwMEQ5RTVG
IC8qIEpTRE9NTWFwTGlrZS5jcHAgKi87IH07CiAJCTQxREVGQ0I2MUU1NkMxQkQwMDBEOUU1RiAv
KiBKU0RPTU1hcExpa2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxREVGQ0I0MUU1NkMxQjkwMDBEOUU1RiAvKiBKU0RPTU1hcExpa2UuaCAqLzsgfTsK
IAkJNDFFMUIxRDAwRkY1OTg2OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2VyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRTFCMUNBMEZGNTk4Njkw
MDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5jcHAgKi87IH07CkBAIC05NDQ0LDYgKzk0NTIsMTAg
QEAKIAkJNDFDRjhCRTYxRDQ2MjIyQzAwNzA3REM5IC8qIEZldGNoSW50ZXJuYWxzLmpzICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gRmV0Y2hJbnRlcm5hbHMuanM7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRDAxNUM4MEY0QjVDNzEwMDRBNjYyRiAvKiBD
b250ZW50VHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb250ZW50VHlw
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUQwMTVDOTBGNEI1QzcxMDA0QTY2
MkYgLyogQ29udGVudFR5cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gQ29udGVudFR5cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUQxMjlD
OTFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDFEMTI5Q0ExRjNEMEVFMzAwRDE1RTQ3IC8q
IENhY2hlU3RvcmFnZVJlY29yZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
YWNoZVN0b3JhZ2VSZWNvcmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDFEMTI5
Q0MxRjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0MUQxMjlENDFGM0QwRjY2MDBEMTVFNDcgLyogQ2FjaGVT
dG9yYWdlUHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVT
dG9yYWdlUHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFENTFCQjIx
RTRFMkU4MTAwMTMxQTVCIC8qIExpYldlYlJUQ0F1ZGlvRm9ybWF0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IExpYldlYlJUQ0F1ZGlvRm9ybWF0Lmg7IHBhdGggPSBsaWJ3ZWJy
dGMvTGliV2ViUlRDQXVkaW9Gb3JtYXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDFERUZDQjIxRTU2QzFCOTAwMEQ5RTVGIC8qIEpTRE9NQmluZGluZ0ludGVybmFscy5qcyAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9IEpTRE9NQmluZGluZ0ludGVybmFs
cy5qczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFERUZDQjMxRTU2QzFCOTAwMEQ5
RTVGIC8qIEpTRE9NTWFwTGlrZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0RPTU1hcExpa2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTc2
NDQsNiArMTc2NTYsOSBAQAogCQkJCTQxMzgwQzIxMUYzNDM2OEQwMDE1NUZEQSAvKiBDYWNoZVN0
b3JhZ2UuY3BwICovLAogCQkJCTQxMzgwQzIyMUYzNDM2OTAwMDE1NUZEQSAvKiBDYWNoZVN0b3Jh
Z2UuaCAqLywKIAkJCQk0MTM4MEMyNDFGMzQzNjk3MDAxNTVGREEgLyogQ2FjaGVTdG9yYWdlLmlk
bCAqLywKKwkJCQk0MUQxMjlDOTFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVj
dGlvbi5jcHAgKi8sCisJCQkJNDFEMTI5Q0MxRjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFn
ZUNvbm5lY3Rpb24uaCAqLywKKwkJCQk0MUQxMjlDQTFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVT
dG9yYWdlUmVjb3JkLmggKi8sCiAJCQkJNDFGQjI3OEUxRjM0QzI4MjAwNzk1NDg3IC8qIERPTVdp
bmRvd0NhY2hlcy5jcHAgKi8sCiAJCQkJNDFGQjI3OEMxRjM0QzI4MjAwNzk1NDg3IC8qIERPTVdp
bmRvd0NhY2hlcy5oICovLAogCQkJCTQxMzgwQzJCMUYzNDNFMkYwMDE1NUZEQSAvKiBET01XaW5k
b3dDYWNoZXMuaWRsICovLApAQCAtMTg2MDMsMTIgKzE4NjE4LDEyIEBACiAJCQkJNTE4MkMyNTIx
RjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlci5oICovLAogCQkJCTUxODJDMjUxMUYz
MTQyNTAwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwICovLAogCQkJCTUx
ODJDMjU0MUYzMTQyNTAwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXJDb250YWluZXIuaCAqLywK
LQkJCQk1MUYxNzUwMDFGMzU4QjM2MDBDNzQ5NTAgLyogSlNTZXJ2aWNlV29ya2VyVXBkYXRlVmlh
Q2FjaGUuY3BwICovLAotCQkJCTUxRjE3NTAxMUYzNThCMzYwMEM3NDk1MCAvKiBKU1NlcnZpY2VX
b3JrZXJVcGRhdGVWaWFDYWNoZS5oICovLAogCQkJCTUxODJDMjRFMUYzMTQyNTAwMDU5QkE3QyAv
KiBKU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5jcHAgKi8sCiAJCQkJNTE4MkMyNEQxRjMxNDI1
MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmggKi8sCiAJCQkJNTE4MkMy
NEYxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAgKi8s
CiAJCQkJNTE4MkMyNTAxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbi5oICovLAorCQkJCTUxRjE3NTAwMUYzNThCMzYwMEM3NDk1MCAvKiBKU1NlcnZpY2VXb3Jr
ZXJVcGRhdGVWaWFDYWNoZS5jcHAgKi8sCisJCQkJNTFGMTc1MDExRjM1OEIzNjAwQzc0OTUwIC8q
IEpTU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IFNl
cnZpY2VXb3JrZXJzOwogCQkJcGF0aCA9IERlcml2ZWRTb3VyY2VzOwpAQCAtMTkyMTMsNiArMTky
MjgsNyBAQAogCQkJCUJDMTI0RUU2MEMyNjQxQ0QwMDlFMjM0OSAvKiBCYXJQcm9wLmlkbCAqLywK
IAkJCQk0NjBCQjYxMzFEMEExQkVDMDAyMjE4MTIgLyogQmFzZTY0VXRpbGl0aWVzLmNwcCAqLywK
IAkJCQk0NjBCQjYxNDFEMEExQkVDMDAyMjE4MTIgLyogQmFzZTY0VXRpbGl0aWVzLmggKi8sCisJ
CQkJNDFEMTI5RDQxRjNEMEY2NjAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVByb3ZpZGVyLmggKi8s
CiAJCQkJMDcyQ0E4NjAxNkNCNERDMzAwOEFFMTMxIC8qIENhcHRpb25Vc2VyUHJlZmVyZW5jZXMu
Y3BwICovLAogCQkJCTA3OUQwODY3MTYyRjIwRTgwMERCODY1OCAvKiBDYXB0aW9uVXNlclByZWZl
cmVuY2VzLmggKi8sCiAJCQkJMDc5RDA4NkExNjJGMjFGOTAwREI4NjU4IC8qIENhcHRpb25Vc2Vy
UHJlZmVyZW5jZXNNZWRpYUFGLmNwcCAqLywKQEAgLTI2Njk5LDcgKzI2NzE1LDExIEBACiAJCQkJ
MDc1Mzg2MDMxNDQ4OUU5ODAwQjc4NDUyIC8qIENhY2hlZFRleHRUcmFjay5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkNCMTZDMjgwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFhTTFN0eWxlU2hlZXQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTkzRjE5OTUwMDgyNDVFNTkwMDFFOUFCQyAvKiBDYWNoZVBv
bGljeS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5RDAxRjNEMEYwNTAwRDE1RTQ3IC8qIENh
Y2hlUXVlcnlPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTM4MEMyOTFGMzQzNkFDMDAx
NTVGREEgLyogQ2FjaGVTdG9yYWdlLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUQxMjlEMzFGM0Qw
RjE2MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNDFEMTI5RDUxRjNEMEY2OTAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVByb3ZpZGVyLmggaW4g
SGVhZGVycyAqLywKKwkJCQk0MUQxMjlEMjFGM0QwRjEyMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdl
UmVjb3JkLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDNBRjhFNzFBQzVCN0VDMDBDQTcxN0UgLyog
Q2FjaGVWYWxpZGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUFFMkQ5NzEzNEVFNUY5MDA3
MjkyMEEgLyogQ2FsY3VsYXRpb25WYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0MxRThEMDEx
RUQwQzJEQTAwQjFEOTgzIC8qIENhbGxiYWNrUmVzdWx0LmggaW4gSGVhZGVycyAqLywKQEAgLTI2
NzY0LDcgKzI2Nzg0LDYgQEAKIAkJCQlBNTg0RkUyQzE4NjM4NzBGMDA4NDNCMTAgLyogQ29tbWFu
ZExpbmVBUElNb2R1bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1ODRGRTI2MTg2MzdEQUIwMDg0
M0IxMCAvKiBDb21tYW5kTGluZUFQSU1vZHVsZVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NjU1MEI2QTIwOTlERjAyNzAwOTBENzgxIC8qIENvbW1lbnQuaCBpbiBIZWFkZXJzICovLAotCQkJ
CTUxMUNBNjdFMUYzOTA1QTYwMDE5RTA3NCAvKiBTZXJ2aWNlV29ya2VySm9iLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1N0U2NjRGQzFFNzM3MDMzMDA3NjU1MzYgLyogQ29tbW9uQ3J5cHRvREVSVXRp
bGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUZFMTM3NTE4NDAyQTY3MDA4OTJGMTMgLyog
Q29tbW9uQ3J5cHRvVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjYwRjMyQjFERkJC
MTA3MDA0MTZENkMgLyogQ29tbW9uVk0uaCBpbiBIZWFkZXJzICovLApAQCAtMjcxNzIsNiArMjcx
OTEsNyBAQAogCQkJCTJFMzdERkRCMTJEQkFGQjgwMEE2QjIzMyAvKiBET01VUkwuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUNEOURFMTgyMTdBQUQ2QTQwMEVBMzg2RCAvKiBET01VUkxNZWRpYVNvdXJj
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQwM0I5OTcwOUVCMTNBRjAwNzk3QzdGIC8qIERPTVdp
bmRvdy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5RDExRjNEMEYwRTAwRDE1RTQ3IC8qIERP
TVdpbmRvd0NhY2hlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGQTJENzgxNTIxMzJCMzAwQzFC
QTBCIC8qIERPTVdpbmRvd0V4dGVuc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4NUZDNzUx
QkI0QzRFODAwMTI4OThGIC8qIERPTVdpbmRvd0luZGV4ZWREYXRhYmFzZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTdEMkFEMDQxNEI4MjNBNjAwOTNERjMyIC8qIERPTVdpbmRvd1Byb3BlcnR5Lmgg
aW4gSGVhZGVycyAqLywKQEAgLTI3MjY3LDYgKzI3Mjg3LDcgQEAKIAkJCQk4NDczMEQ4NTEyNDhG
MEIzMDBEM0E5QzkgLyogRkVNb3JwaG9sb2d5LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDczMEQ4
NzEyNDhGMEIzMDBEM0E5QzkgLyogRkVPZmZzZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0NzMw
RDg5MTI0OEYwQjMwMEQzQTlDOSAvKiBGRVNwZWN1bGFyTGlnaHRpbmcuaCBpbiBIZWFkZXJzICov
LAorCQkJCTQxRDEyOURCMUYzRDE0MzgwMEQxNUU0NyAvKiBGZXRjaEhlYWRlcnMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTQxNkU2RkU4MUJCRDEyREYwMDBBNjAyMyAvKiBGZXRjaEludGVybmFsc0J1
aWx0aW5zLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MUFENzUzQTFDRUY2QkQxMDBBMzE0ODYgLyog
RmV0Y2hPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk3Q0UxOTE0RDFGMkE5QUZCMDAyNzJG
NzggLyogRmV0Y2hSZWZlcnJlclBvbGljeS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzQwMCw3ICsy
NzQyMSw2IEBACiAJCQkJMzE2QkRCRjcxRTc2MkFENTAwREUwRDVBIC8qIEdQVURlcHRoU3RlbmNp
bERlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxNkJEQkYwMUU3NjI5MjAwMERFMEQ1
QSAvKiBHUFVEZXB0aFN0ZW5jaWxTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE2QkRCODYx
RTZFMEEyNzAwREUwRDVBIC8qIEdQVURldmljZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTFGMTc0
RkUxRjM1ODk5MjAwQzc0OTUwIC8qIFdvcmtlclR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTMx
NkJEQkNEMUU3NUYxODQwMERFMEQ1QSAvKiBHUFVEcmF3YWJsZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMzE2QkRCRkIxRTc2MkQwNDAwREUwRDVBIC8qIEdQVUVudW1zLmggaW4gSGVhZGVycyAqLywK
IAkJCQkzMTZCREI5NTFFNzBDODk3MDBERTBENUEgLyogR1BVRnVuY3Rpb24uaCBpbiBIZWFkZXJz
ICovLApAQCAtMjc0ODIsMTQgKzI3NTAyLDEyIEBACiAJCQkJOTNGMTk4RTUwODI0NUU1OTAwMUU5
QUJDIC8qIEhUTUxEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc3QjM4NjcxMjI4ODNF
OTAwQjgxRkY4IC8qIEhUTUxEb2N1bWVudFBhcnNlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNG
MTk4RTYwODI0NUU1OTAwMUU5QUJDIC8qIEhUTUxFbGVtZW50LmggaW4gSGVhZGVycyAqLywKLQkJ
CQk1MUJFQjYzOTFGM0I5NEIwMDA1MDI5QjkgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9w
dGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUExN0M4MTIzMEYyQTVDRjcwMDVEQUFFQiAvKiBI
VE1MRWxlbWVudEZhY3RvcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3N0IzNzI0MTIyODcyMTcw
MEI4MUZGOCAvKiBIVE1MRWxlbWVudFN0YWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlCNTYyREI2
MDE3RDNDRDYzMDAxMEFGOTYgLyogSFRNTEVsZW1lbnRUeXBlSGVscGVycy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTg3MUQ0NUMwQTEyN0NCQzAwQjEyQTY4IC8qIEhUTUxFbWJlZEVsZW1lbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTk3N0IzODZBMTIyODgzRTkwMEI4MUZGOCAvKiBIVE1MRW50aXR5
UGFyc2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzdCMzg2QzEyMjg4M0U5MDBCODFGRjggLyog
SFRNTEVudGl0eVNlYXJjaC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTFGMTc0RkYxRjM1ODk5NzAw
Qzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOTc3QjM4NkQxMjI4ODNFOTAwQjgxRkY4IC8qIEhUTUxFbnRpdHlUYWJsZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTgxMzY5RDQwOTczNzRGNjAwRDc0NDYzIC8qIEhUTUxGaWVsZFNldEVsZW1l
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4Q0ZGN0E2MEExNTY5NzgwMDBBNDIzNCAvKiBIVE1M
Rm9udEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjgyMzcsNiArMjgyNTUsNyBAQAogCQkJ
CTUxODJDMjU4MUYzMTQzQ0QwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXJDb250YWluZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTUxODJDMjVBMUYzMTQzQ0QwMDU5QkE3QyAvKiBKU1NlcnZpY2VX
b3JrZXJHbG9iYWxTY29wZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4MkMyNUMxRjMxNDNDRDAw
NTlCQTdDIC8qIEpTU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNTFGMTc1MDMxRjM1OEIzQjAwQzc0OTUwIC8qIEpTU2VydmljZVdvcmtlclVwZGF0ZVZpYUNh
Y2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5QkRBNjREODFCOTc1Q0YyMDA5QzQzODcgLyogSlNT
aGFkb3dSb290LmggaW4gSGVhZGVycyAqLywKIAkJCQk0NkRGRjQ5QzFEQzI2MjBCMDBCODBCNDgg
LyogSlNTaGFkb3dSb290TW9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0Q5REUxN0IxN0FBQzc1
QjAwRUEzODZEIC8qIEpTU291cmNlQnVmZmVyLmggaW4gSGVhZGVycyAqLywKQEAgLTI4NDM2LDcg
KzI4NDU1LDYgQEAKIAkJCQk2RTNGQUQzOTE0NzMzRjQwMDBFNDIzMDYgLyogSlNXZWJHTENvbXBy
ZXNzZWRUZXh0dXJlUzNUQy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkVFOEE3NzMxMEY4MDNGMzAw
NUE0QTI0IC8qIEpTV2ViR0xDb250ZXh0QXR0cmlidXRlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkMyQ0JGNEUxNDBGMUFCRDAwMzg3OUJFIC8qIEpTV2ViR0xDb250ZXh0RXZlbnQuaCBpbiBIZWFk
ZXJzICovLAotCQkJCTUxRjE3NTA2MUYzNThCRjcwMEM3NDk1MCAvKiBKU1dvcmtlclR5cGUuaCBp
biBIZWFkZXJzICovLAogCQkJCTZFM0ZBRDM5MTQ3MzNGNDAxMUU0MjMwNyAvKiBKU1dlYkdMRGVi
dWdSZW5kZXJlckluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTZFM0ZBRDM5MTQ3MzNGNDAyMkU0
MjMwNyAvKiBKU1dlYkdMRGVidWdTaGFkZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RTNGQUQz
OTE0NzMzRjQwMDBFNDIzMDcgLyogSlNXZWJHTERlcHRoVGV4dHVyZS5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yODQ5NCw2ICsyODUxMiw3IEBACiAJCQkJRTFDMzZEMzUwRUIwQTA5NDAwNzQxMEJDIC8q
IEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUMzNjJFRjBF
QUYyQUE5MDA3NDEwQkMgLyogSlNXb3JrZXJMb2NhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RTEyNzFBNTgwRUVFQ0RFNDAwRjYxMjEzIC8qIEpTV29ya2VyTmF2aWdhdG9yLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk1MUYxNzUwNjFGMzU4QkY3MDBDNzQ5NTAgLyogSlNXb3JrZXJUeXBlLmggaW4g
SGVhZGVycyAqLywKIAkJCQk3QzRDOTZERDFBRDQ0ODM1MDAzNjVBNjAgLyogSlNXcml0YWJsZVN0
cmVhbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM1OENCNzAxQzUzMjc3NTAwRTBDMkQ4IC8qIEpT
WE1MRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMzQ4QkQ0MERCN0Y4MDQwMDRBQkFC
OSAvKiBKU1hNTEh0dHBSZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKQEAgLTI4NzE1LDcgKzI4NzM0
LDYgQEAKIAkJCQk0MTNFMDA3OTFEQjBFNEYyMDAyMzQxRDIgLyogTWVtb3J5UmVsZWFzZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlERkEwOTlFNjQ5MjAwNTZFNTgxIC8qIE1lcmdlSWRlbnRp
Y2FsRWxlbWVudHNDb21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUFERUNDRTBFNzZBRDhC
MDA0QTFBNUUgLyogTWVzc2FnZUNoYW5uZWwuaCBpbiBIZWFkZXJzICovLAotCQkJCTUxRjE3NTAz
MUYzNThCM0IwMEM3NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNzU3OTNFODQwRDBDRTBCMzAwN0ZDMEFDIC8qIE1lc3NhZ2VFdmVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRTFBREVDQkYwRTc2QUNGMTAwNEExQTVFIC8qIE1lc3NhZ2VQ
b3J0LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MUJGNzAwQzBGRTg2RjQ5MDA1RThERUMgLyogTWVz
c2FnZVBvcnRDaGFubmVsLmggaW4gSGVhZGVycyAqLywKQEAgLTI4NzM3LDcgKzI4NzU1LDYgQEAK
IAkJCQkwN0VFNzZFQzFCRTk2REIwMDBGODkxMzMgLyogTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCTA3RUU3NkVGMUJFQTYxOTgwMEY4OTEzMyAvKiBNb2NrUmVh
bHRpbWVWaWRlb1NvdXJjZU1hYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RGMkIwMTcxODIwNTQw
NzAwRjJCNDI0IC8qIE1vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLywKLQkJ
CQk1MTFDQTY4MDFGMzkzMzFGMDAxOUUwNzQgLyogU2VydmljZVdvcmtlckpvYkNsaWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQ0RGMkIwMTkxODIwNTQwNzAwRjJCNDI0IC8qIE1vY2tUcmFja3Mu
aCBpbiBIZWFkZXJzICovLAogCQkJCUM2RDc0QUQ1MDlBQTI4MkUwMDBCMEE1MiAvKiBNb2RpZnlT
ZWxlY3Rpb25MaXN0TGV2ZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTcwOUEwMUZFMUUzRDBCREQw
MDZCMEQ0QyAvKiBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kLmggaW4gSGVhZGVycyAqLywKQEAgLTI5
MDUwLDcgKzI5MDY3LDYgQEAKIAkJCQkwN0MxQzBFNTFCRkI2MEVEMDBCRDIyNTYgLyogUmVhbHRp
bWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0
MTEwM0FBQzFFMzk3OTEwMDA3NjlGMDMgLyogUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzQzNjhFODBDMjI2RTMyMDA1RUZCNUYgLyogUmVjdC5oIGlu
IEhlYWRlcnMgKi8sCi0JCQkJNTExQ0E2ODQxRjNBM0NEOTAwMTlFMDc0IC8qIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25QYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDQ1QTk1ODE3
NUQ0MTRDMDBDMjFFQzggLyogUmVjdGFuZ2xlU2hhcGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTk4
MzFBRTRBMTU0MjI1QzkwMEZFMjY0NCAvKiBSZWZlcnJlclBvbGljeS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkNBQjQxODIxM0UzNTZFODAwRDhBQUYzIC8qIFJlZ2lvbi5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yOTM5NSw3ICsyOTQxMSwxMyBAQAogCQkJCTUxODJDMjNGMUYzMTNBMDkwMDU5QkE3QyAv
KiBTZXJ2aWNlV29ya2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTgyQzI0MTFGMzEzQTA5MDA1
OUJBN0MgLyogU2VydmljZVdvcmtlckNvbnRhaW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4
MkMyNDMxRjMxM0EwOTAwNTlCQTdDIC8qIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNTExQ0E2N0UxRjM5MDVBNjAwMTlFMDc0IC8qIFNlcnZpY2VXb3JrZXJK
b2IuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxMUNBNjgwMUYzOTMzMUYwMDE5RTA3NCAvKiBTZXJ2
aWNlV29ya2VySm9iQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTFDQTY3QTFGMzkwNEIx
MDAxOUUwNzQgLyogU2VydmljZVdvcmtlclByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
MTgyQzI0NTFGMzEzQTA5MDA1OUJBN0MgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJNTFCRUI2MzkxRjNCOTRCMDAwNTAyOUI5IC8qIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25PcHRpb25zLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTFDQTY4NDFGM0Ez
Q0Q5MDAxOUUwNzQgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblBhcmFtZXRlcnMuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTUxRjE3NEZGMUYzNTg5OTcwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2Vy
VXBkYXRlVmlhQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTc1NkIyQ0UxMThCNzEwMTYwMEZF
Q0ZBQSAvKiBTZXNzaW9uSUQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5RTEwMDk5RTY0OTIw
MDU2RTU4MSAvKiBTZXROb2RlQXR0cmlidXRlQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QjhEQkRCNEMxMzBCMEY4QTAwRjVDREIxIC8qIFNldFNlbGVjdGlvbkNvbW1hbmQuaCBpbiBIZWFk
ZXJzICovLApAQCAtMjk3MjgsNyArMjk3NTAsNiBAQAogCQkJCTgzQzFENDJGMTc4RDVBQjUwMDE0
MUU2OCAvKiBTVkdQYXRoU2VnTGluZXRvQWJzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0E3
ODBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWwuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTgzQzFENDMwMTc4RDVBQjUwMDE0MUU2OCAvKiBTVkdQYXRoU2VnTGluZXRv
SG9yaXpvbnRhbEFicy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTExQ0E2N0ExRjM5MDRCMTAwMTlF
MDc0IC8qIFNlcnZpY2VXb3JrZXJQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODNDMUQ0
MzExNzhENUFCNTAwMTQxRTY4IC8qIFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsUmVsLmggaW4g
SGVhZGVycyAqLywKIAkJCQk4M0MxRDQzMjE3OEQ1QUI1MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0xp
bmV0b1JlbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBN0QwRDAwQkYyMjAwNzFCNzgyIC8q
IFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDE4MSw2ICsz
MDIwMiw3IEBACiAJCQkJQTUyQTY4NjYxREJENEI1RDAwODMzNzNGIC8qIFdvcmtlckRlYnVnZ2Vy
QWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUEzRTI2NDMxMTQ3NDg5OTEwMDVBODU4OCAvKiBX
b3JrZXJFdmVudFF1ZXVlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY0OTBGNTQ2QTgyMDBC
MEYxQkEgLyogV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxRDEyOUNF
MUYzRDBFRjYwMEQxNUU0NyAvKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNTE4NUZDQjQxQkI0QzRFODAwMTI4OThGIC8qIFdvcmtlckdsb2JhbFNjb3BlSW5k
ZXhlZERhdGFiYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY0QjBGNTQ2QTgyMDBCMEYx
QkEgLyogV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU0QTBD
NjIxREI3RjhDMTAwMTdBOTBCIC8qIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaCBpbiBIZWFk
ZXJzICovLApAQCAtMzAyMDIsNiArMzAyMjQsNyBAQAogCQkJCTBCOTA1NkY5MEYyNjg1RjMwMDk1
RkY2QSAvKiBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0FB
QkQyRDE0RkEwOUQ1MDA3NDU3QUUgLyogV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwu
aCBpbiBIZWFkZXJzICovLAogCQkJCUE1NEEwQzY4MURCODA3RDkwMDE3QTkwQiAvKiBXb3JrZXJU
b1BhZ2VGcm9udGVuZENoYW5uZWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxRjE3NEZFMUYzNTg5
OTIwMEM3NDk1MCAvKiBXb3JrZXJUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOUUyNDA5
OUU2NDkyMDA1NkU1ODEgLyogV3JhcENvbnRlbnRzSW5EdW1teVNwYW5Db21tYW5kLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0MTZFNkZFOTFCQkQxMkU1MDAwQTYwNTMgLyogV3JpdGFibGVTdHJlYW1C
dWlsdGlucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE2RTZGRTgxQkJEMTJERjAwMEE2MDUzIC8q
IFdyaXRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovLApAQCAtMzA3
OTIsNiArMzA4MTUsNyBAQAogCQkJCTA3NTM4NjAyMTQ0ODlFOTgwMEI3ODQ1MiAvKiBDYWNoZWRU
ZXh0VHJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNCMTZDMjcwOTc5QzNCRDAwNDY3NzQx
IC8qIENhY2hlZFhTTFN0eWxlU2hlZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDEzODBDMjgx
RjM0MzZBQzAwMTU1RkRBIC8qIENhY2hlU3RvcmFnZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0
MUQxMjlDRjFGM0QwRUZFMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlFNDNBRjhFNjFBQzVCN0U4MDBDQTcxN0UgLyogQ2FjaGVWYWxpZGF0
aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5QUUyRDk2MTM0RUU1RjkwMDcyOTIwQSAvKiBD
YWxjdWxhdGlvblZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk1MjA3NjA0MUYyNjc1RkUw
MDdEMkFBQiAvKiBDYWxsVHJhY2VyLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzE0NDUsNyArMzE0
NjksNiBAQAogCQkJCTUxNzQxRDEyMEIwNzI1OUEwMEVENDQyQyAvKiBIaXN0b3J5SXRlbS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1MTYwRjQ5ODBCMEFBNzVGMDBDMUQyQUYgLyogSGlzdG9yeUl0
ZW1NYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk0OTY5QjBGMjEzRDBCMzNGMDBERjM1MjEgLyog
SGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxMUNBNjgz
MUYzQTNDRDkwMDE5RTA3NCAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uUGFyYW1ldGVycy5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDgyODdGNjE2RTRBMDM4MDA4NkJEMDAgLyogSGl0VGVz
dExvY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMDdGMUQ3MEFGMkQ1OTAwMERCQTMx
QSAvKiBIaXRUZXN0UmVzdWx0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEMzE2MDk4MTJCMDI2
RjcwMEMxQTM1OSAvKiBIUlRGRGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMjA3NCw3
ICszMjA5Nyw2IEBACiAJCQkJMTJBMjUzRTAxQzhGRkY2NjAwQzIyMjk1IC8qIEpTS2V5ZnJhbWVF
ZmZlY3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM1RjQ1NDIwRjdDM0I1RjAwRDdDMUZCIC8q
IEpTTGF6eUV2ZW50TGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFMUM0M0IwRDk4
MzBEMzAwM0IwMkYyIC8qIEpTTG9jYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTFGMTc1
MDcxRjM1OEJGOTAwQzc0OTUwIC8qIEpTV29ya2VyVHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlCQ0UxQzQ0MDBEOTgzMEY0MDAzQjAyRjIgLyogSlNMb2NhdGlvbkN1c3RvbS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk5M0E4MDYxRjFFMDNCNTg1MDA4QTFGMjYgLyogSlNMb25nUmFuZ2UuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJOEZBQzc3NEQxMTk4NzJDQjAwMTVBRTk0IC8qIEpTTWFpblRo
cmVhZEV4ZWNTdGF0ZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMyMjMxLDYgKzMyMjUzLDcgQEAK
IAkJCQk1MTgyQzI1NzFGMzE0M0NEMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyQ29udGFpbmVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxODJDMjU5MUYzMTQzQ0QwMDU5QkE3QyAvKiBKU1Nl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTgyQzI1QjFG
MzE0M0NEMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTUxRjE3NTAyMUYzNThCM0IwMEM3NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJV
cGRhdGVWaWFDYWNoZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5QkRBNjRENzFCOTc1Q0U1MDA5
QzQzODcgLyogSlNTaGFkb3dSb290LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ2REZGNDlCMURD
MjYyMEIwMEI4MEI0OCAvKiBKU1NoYWRvd1Jvb3RNb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUNEOURFMTdBMTdBQUM3NUIwMEVBMzg2RCAvKiBKU1NvdXJjZUJ1ZmZlci5jcHAgaW4gU291cmNl
cyAqLywKQEAgLTMyNTEwLDEwICszMjUzMywxMCBAQAogCQkJCUUxQzhCRTVEMEU4QkQxNUEwMDY0
Q0I3RCAvKiBKU1dvcmtlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTgyNTY4RjBFRjJCMDJE
MDA5MzMyNDIgLyogSlNXb3JrZXJHbG9iYWxTY29wZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlF
MUMzNkQzNDBFQjBBMDk0MDA3NDEwQkMgLyogSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwIGlu
IFNvdXJjZXMgKi8sCi0JCQkJNTExQ0E2NzkxRjM5MDRCMTAwMTlFMDc0IC8qIFNlcnZpY2VXb3Jr
ZXJQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTgyNThBQzBFRjNDRDcwMDA5MzMy
NDIgLyogSlNXb3JrZXJHbG9iYWxTY29wZUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlF
MUMzNjJGMDBFQUYyQUE5MDA3NDEwQkMgLyogSlNXb3JrZXJMb2NhdGlvbi5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlFMTI3MUE1OTBFRUVDREU0MDBGNjEyMTMgLyogSlNXb3JrZXJOYXZpZ2F0b3Iu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTFGMTc1MDcxRjM1OEJGOTAwQzc0OTUwIC8qIEpTV29y
a2VyVHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzRDOTZEQzFBRDQ0ODM1MDAzNjVBNjAg
LyogSlNXcml0YWJsZVN0cmVhbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4MzU4Q0I2RjFDNTMy
NzcyMDBFMEMyRDggLyogSlNYTUxEb2N1bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4M0E0
QTlGOTFDRTdGRDgxMDA3MDlCMDAgLyogSlNYTUxEb2N1bWVudEN1c3RvbS5jcHAgaW4gU291cmNl
cyAqLywKQEAgLTMzMDU2LDcgKzMzMDc5LDYgQEAKIAkJCQlBOERGNEFFODA5ODBDNDJDMDA1Mjk4
MUIgLyogUmVuZGVyVGFibGVDb2wuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThERjRBRjAwOTgw
QzQyQzAwNTI5ODFCIC8qIFJlbmRlclRhYmxlUm93LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4
REY0QUVEMDk4MEM0MkMwMDUyOTgxQiAvKiBSZW5kZXJUYWJsZVNlY3Rpb24uY3BwIGluIFNvdXJj
ZXMgKi8sCi0JCQkJNTExQ0E2N0QxRjM5MDVBNjAwMTlFMDc0IC8qIFNlcnZpY2VXb3JrZXJKb2Iu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFQTQ4OEIwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRl
clRleHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQUI2N0QxQTgwOTdGM0FFMzAwRjkzOTJFIC8q
IFJlbmRlclRleHRDb250cm9sLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA4M0RBRUE2MEYwMUE3
RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZS5jcHAgaW4gU291cmNlcyAq
LywKQEAgLTMzMjQyLDcgKzMzMjY0LDEwIEBACiAJCQkJNTE4MkMyM0UxRjMxM0EwOTAwNTlCQTdD
IC8qIFNlcnZpY2VXb3JrZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE4MkMyNDAxRjMxM0Ew
OTAwNTlCQTdDIC8qIFNlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTE4MkMyNDIxRjMxM0EwOTAwNTlCQTdDIC8qIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk1MTFDQTY3RDFGMzkwNUE2MDAxOUUwNzQgLyogU2Vydmlj
ZVdvcmtlckpvYi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MTFDQTY3OTFGMzkwNEIxMDAxOUUw
NzQgLyogU2VydmljZVdvcmtlclByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxODJD
MjQ0MUYzMTNBMDkwMDU5QkE3QyAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTUxMUNBNjgzMUYzQTNDRDkwMDE5RTA3NCAvKiBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uUGFyYW1ldGVycy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTFGN0Q0NDFF
QjFDMzkxMDBFNDdCODMgLyogU2Vzc2lvbklELmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMzA5
RTBGMDk5RTY0OTIwMDU2RTU4MSAvKiBTZXROb2RlQXR0cmlidXRlQ29tbWFuZC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCOERCREI0QjEzMEIwRjhBMDBGNUNEQjEgLyogU2V0U2VsZWN0aW9uQ29t
bWFuZC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMzNzEyLDcgKzMzNzM3LDYgQEAKIAkJCQk3QUY5
QjIwMjE4Q0ZCMkRGMDBDNjRCRUYgLyogVlRUUmVnaW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTdBRjlCMjA1MThDRkIyREYwMEM2NEJFRiAvKiBWVFRSZWdpb25MaXN0LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTdBOTM4Njg1MThEQ0MxNDUwMEI4MjYzRCAvKiBWVFRTY2FubmVyLmNwcCBpbiBT
b3VyY2VzICovLAotCQkJCTUxRjE3NTAyMUYzNThCM0IwMEM3NDk1MCAvKiBKU1NlcnZpY2VXb3Jr
ZXJVcGRhdGVWaWFDYWNoZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMTQ4MzJCMTE4N0Y2MUUx
MDBEQTYzQTYgLyogV0FLQXBwS2l0U3R1YnMubSBpbiBTb3VyY2VzICovLAogCQkJCUExNDgzMkIz
MTg3RjYyOTEwMERBNjNBNiAvKiBXQUtDbGlwVmlldy5tIGluIFNvdXJjZXMgKi8sCiAJCQkJQTE0
ODMyQjUxODdGNjJGQzAwREE2M0E2IC8qIFdBS1Jlc3BvbmRlci5tIGluIFNvdXJjZXMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKaW5kZXggNjZj
N2YwOGYwZjI4YjA0NmJiNGMzNWU4ZTliZjE5ZmJkZjJhYmM1NS4uMmE4MTNiNmExMjBkZjM1OGYw
OGJkMjcxOGM5NjU3MzQzMDFkZWY0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JPdmVybGF5LmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIkluc3BlY3Rvck92ZXJsYXkuaCIKIAorI2luY2x1ZGUgIkNhY2hlU3RvcmFn
ZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJFZGl0
b3JDbGllbnQuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCkBAIC04NjUsNyArODY2LDggQEAgUGFn
ZSogSW5zcGVjdG9yT3ZlcmxheTo6b3ZlcmxheVBhZ2UoKQogICAgIFBhZ2VDb25maWd1cmF0aW9u
IHBhZ2VDb25maWd1cmF0aW9uKAogICAgICAgICBjcmVhdGVFbXB0eUVkaXRvckNsaWVudCgpLAog
ICAgICAgICBTb2NrZXRQcm92aWRlcjo6Y3JlYXRlKCksCi0gICAgICAgIG1ha2VVbmlxdWVSZWY8
TGliV2ViUlRDUHJvdmlkZXI+KCkKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxMaWJXZWJSVENQcm92
aWRlcj4oKSwKKyAgICAgICAgQ2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpCiAgICAgKTsK
ICAgICBmaWxsV2l0aEVtcHR5Q2xpZW50cyhwYWdlQ29uZmlndXJhdGlvbik7CiAgICAgbV9vdmVy
bGF5UGFnZSA9IHN0ZDo6bWFrZV91bmlxdWU8UGFnZT4oV1RGTW92ZShwYWdlQ29uZmlndXJhdGlv
bikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYWNoZVN0b3JhZ2VQcm92aWRl
ci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYWNoZVN0b3JhZ2VQcm92aWRlci5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjAwYmYxZGM1Y2QxZjhmYmNjNjYxY2YxZDZjMDBhNGE4Y2MyYzg4YWIKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhY2hlU3RvcmFnZVByb3ZpZGVyLmgKQEAgLTAs
MCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQ2FjaGVT
dG9yYWdlQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIlNlc3Npb25JRC5oIgorI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV0VCQ09SRV9F
WFBPUlQgQ2FjaGVTdG9yYWdlUHJvdmlkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxDYWNoZVN0b3Jh
Z2VQcm92aWRlcj4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlk
ZXI+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2FjaGVTdG9yYWdlUHJvdmlkZXIp
OyB9CisgICAgdmlydHVhbCBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4gY3JlYXRlQ2FjaGVT
dG9yYWdlQ29ubmVjdGlvbihTZXNzaW9uSUQpIHsgcmV0dXJuIENhY2hlU3RvcmFnZUNvbm5lY3Rp
b246OmNyZWF0ZSgpOyB9CisgICAgdmlydHVhbCB+Q2FjaGVTdG9yYWdlUHJvdmlkZXIoKSB7IH07
Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCBjMjY5ODdmOGRjYjJlOWU5NjA2ZGFhOTcy
ZDJjZmNjN2JlY2M1ZmI3Li43MDQxZjFjZjI5NTk1NGVhZmYwNGQ2YjhhNjE2NGY4ZmFhYzBkNjc2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJCYWNrRm9y
d2FyZENsaWVudC5oIgogI2luY2x1ZGUgIkJhY2tGb3J3YXJkQ29udHJvbGxlci5oIgogI2luY2x1
ZGUgIkNTU0FuaW1hdGlvbkNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VQcm92
aWRlci5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgog
I2luY2x1ZGUgIkNvbnN0YW50UHJvcGVydHlNYXAuaCIKQEAgLTIyMiw2ICsyMjMsNyBAQCBQYWdl
OjpQYWdlKFBhZ2VDb25maWd1cmF0aW9uJiYgcGFnZUNvbmZpZ3VyYXRpb24pCiAjZW5kaWYKICAg
ICAsIG1fc29ja2V0UHJvdmlkZXIoV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi5zb2NrZXRQcm92
aWRlcikpCiAgICAgLCBtX2FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlKCpXVEZNb3ZlKHBhZ2VDb25m
aWd1cmF0aW9uLmFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlKSkKKyAgICAsIG1fY2FjaGVTdG9yYWdl
UHJvdmlkZXIoV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi5jYWNoZVN0b3JhZ2VQcm92aWRlcikp
CiAgICAgLCBtX2RhdGFiYXNlUHJvdmlkZXIoKldURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uZGF0
YWJhc2VQcm92aWRlcikpCiAgICAgLCBtX3BsdWdpbkluZm9Qcm92aWRlcigqV1RGTW92ZShwYWdl
Q29uZmlndXJhdGlvbi5wbHVnaW5JbmZvUHJvdmlkZXIpKQogICAgICwgbV9zdG9yYWdlTmFtZXNw
YWNlUHJvdmlkZXIoKldURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uc3RvcmFnZU5hbWVzcGFjZVBy
b3ZpZGVyKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggOTA5ZjM3OTAyZDMzZTFkMGVmM2U1YTliNGY2NGJh
YjRkZmE1ZmYwYi4uNWZjODljZGM1OTJjOTQ5ZWIxOGQ5Y2VhMTdmNjFmYmNkMzU1MTIwMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmgKQEAgLTc3LDYgKzc3LDcgQEAgY2xhc3MgQWx0ZXJuYXRpdmVUZXh0Q2xpZW50
OwogY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7CiBjbGFzcyBCYWNrRm9yd2FyZENvbnRy
b2xsZXI7CiBjbGFzcyBCYWNrRm9yd2FyZENsaWVudDsKK2NsYXNzIENhY2hlU3RvcmFnZVByb3Zp
ZGVyOwogY2xhc3MgQ2hyb21lOwogY2xhc3MgQ2hyb21lQ2xpZW50OwogY2xhc3MgQ29sb3I7CkBA
IC01MTAsNiArNTExLDcgQEAgcHVibGljOgogCiAgICAgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2Um
IGFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlKCkgeyByZXR1cm4gbV9hcHBsaWNhdGlvbkNhY2hlU3Rv
cmFnZTsgfQogICAgIERhdGFiYXNlUHJvdmlkZXImIGRhdGFiYXNlUHJvdmlkZXIoKSB7IHJldHVy
biBtX2RhdGFiYXNlUHJvdmlkZXI7IH0KKyAgICBDYWNoZVN0b3JhZ2VQcm92aWRlciYgY2FjaGVT
dG9yYWdlUHJvdmlkZXIoKSB7IHJldHVybiBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyOyB9CiAgICAg
U29ja2V0UHJvdmlkZXImIHNvY2tldFByb3ZpZGVyKCkgeyByZXR1cm4gbV9zb2NrZXRQcm92aWRl
cjsgfQogCiAgICAgU3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyJiBzdG9yYWdlTmFtZXNwYWNlUHJv
dmlkZXIoKSB7IHJldHVybiBtX3N0b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5nZXQoKTsgfQpAQCAt
Nzg0LDYgKzc4Niw3IEBAIHByaXZhdGU6CiAKICAgICBSZWY8U29ja2V0UHJvdmlkZXI+IG1fc29j
a2V0UHJvdmlkZXI7CiAgICAgUmVmPEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlPiBtX2FwcGxpY2F0
aW9uQ2FjaGVTdG9yYWdlOworICAgIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4gbV9jYWNoZVN0
b3JhZ2VQcm92aWRlcjsKICAgICBSZWY8RGF0YWJhc2VQcm92aWRlcj4gbV9kYXRhYmFzZVByb3Zp
ZGVyOwogICAgIFJlZjxQbHVnaW5JbmZvUHJvdmlkZXI+IG1fcGx1Z2luSW5mb1Byb3ZpZGVyOwog
ICAgIFJlZjxTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI+IG1fc3RvcmFnZU5hbWVzcGFjZVByb3Zp
ZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcAppbmRleCAxMTIz
ZGQ2ZDQwNWE5NDgxM2E0YTc4NzQyYzdkNjZkMmNmMWJlZTdjLi5mMWI4MjdkY2ZiYWFlNmU2Yzhk
Y2NhZDlkMThkNDkzNzlkYzk1MWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VDb25maWd1cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1
cmF0aW9uLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNo
ZVN0b3JhZ2UuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZENsaWVudC5oIgorI2luY2x1ZGUgIkNh
Y2hlU3RvcmFnZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VQcm92aWRlci5oIgogI2lu
Y2x1ZGUgIkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgiCiAjaW5jbHVkZSAiRWRpdG9yQ2xpZW50
LmgiCkBAIC00MywxMCArNDQsMTEgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYWdlQ29u
ZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24oVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiBl
ZGl0b3JDbGllbnQsIFJlZjxTb2NrZXRQcm92aWRlcj4mJiBzb2NrZXRQcm92aWRlciwgVW5pcXVl
UmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmIGxpYldlYlJUQ1Byb3ZpZGVyKQorUGFnZUNvbmZpZ3Vy
YXRpb246OlBhZ2VDb25maWd1cmF0aW9uKFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYgZWRpdG9y
Q2xpZW50LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYgc29ja2V0UHJvdmlkZXIsIFVuaXF1ZVJlZjxM
aWJXZWJSVENQcm92aWRlcj4mJiBsaWJXZWJSVENQcm92aWRlciwgUmVmPENhY2hlU3RvcmFnZVBy
b3ZpZGVyPiYmIGNhY2hlU3RvcmFnZVByb3ZpZGVyKQogICAgIDogZWRpdG9yQ2xpZW50KFdURk1v
dmUoZWRpdG9yQ2xpZW50KSkKICAgICAsIHNvY2tldFByb3ZpZGVyKFdURk1vdmUoc29ja2V0UHJv
dmlkZXIpKQogICAgICwgbGliV2ViUlRDUHJvdmlkZXIoV1RGTW92ZShsaWJXZWJSVENQcm92aWRl
cikpCisgICAgLCBjYWNoZVN0b3JhZ2VQcm92aWRlcihXVEZNb3ZlKGNhY2hlU3RvcmFnZVByb3Zp
ZGVyKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmln
dXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oCmluZGV4
IGY1M2ExMmMzODdlYWZiNDA0ZjJhMDY2NjAyNzU5ZWM5YTdmYzBmNWYuLmE4NjJkNDMwMmUwMzY0
NjRmOTEwYTU3YjAxZDc3YjY0Y2M2ZWY0MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25m
aWd1cmF0aW9uLmgKQEAgLTM0LDYgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
QWx0ZXJuYXRpdmVUZXh0Q2xpZW50OwogY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7CiBj
bGFzcyBCYWNrRm9yd2FyZENsaWVudDsKK2NsYXNzIENhY2hlU3RvcmFnZVByb3ZpZGVyOwogY2xh
c3MgQ2hyb21lQ2xpZW50OwogY2xhc3MgQ29udGV4dE1lbnVDbGllbnQ7CiBjbGFzcyBEYXRhYmFz
ZVByb3ZpZGVyOwpAQCAtNTgsNyArNTksNyBAQCBjbGFzcyBXZWJHTFN0YXRlVHJhY2tlcjsKIGNs
YXNzIFBhZ2VDb25maWd1cmF0aW9uIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlQ29u
ZmlndXJhdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFdFQkNP
UkVfRVhQT1JUIFBhZ2VDb25maWd1cmF0aW9uKFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYsIFJl
ZjxTb2NrZXRQcm92aWRlcj4mJiwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCBQYWdlQ29uZmlndXJhdGlvbihVbmlxdWVSZWY8RWRpdG9yQ2xpZW50
PiYmLCBSZWY8U29ja2V0UHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4m
JiwgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB+UGFn
ZUNvbmZpZ3VyYXRpb24oKTsKIAogICAgIEFsdGVybmF0aXZlVGV4dENsaWVudCogYWx0ZXJuYXRp
dmVUZXh0Q2xpZW50IHsgbnVsbHB0ciB9OwpAQCAtODcsNiArODgsNyBAQCBwdWJsaWM6CiAKICAg
ICBSZWZQdHI8QXBwbGljYXRpb25DYWNoZVN0b3JhZ2U+IGFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdl
OwogICAgIFJlZlB0cjxEYXRhYmFzZVByb3ZpZGVyPiBkYXRhYmFzZVByb3ZpZGVyOworICAgIFJl
ZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4gY2FjaGVTdG9yYWdlUHJvdmlkZXI7CiAgICAgUmVmUHRy
PFBsdWdpbkluZm9Qcm92aWRlcj4gcGx1Z2luSW5mb1Byb3ZpZGVyOwogICAgIFJlZlB0cjxTdG9y
YWdlTmFtZXNwYWNlUHJvdmlkZXI+IHN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjsKICAgICBSZWZQ
dHI8VXNlckNvbnRlbnRQcm92aWRlcj4gdXNlckNvbnRlbnRQcm92aWRlcjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCmluZGV4IDc4NmU4ZjdhN2JjYTYwODA5YTU1NWI2
NWY4MzVjMmE1MGEwMDgyZTguLjgyNTliMmY4ZTI4NjYzYjIxN2NkZWEwNGMyZjhlYzM4MzdjZDc4
ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcApAQCAtMjgsNiAr
MjgsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNWR0ltYWdlLmgiCiAKKyNp
bmNsdWRlICJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgogI2lu
Y2x1ZGUgIkNvbW1vblZNLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCkBAIC00MjksNyArNDMw
LDggQEAgRW5jb2RlZERhdGFTdGF0dXMgU1ZHSW1hZ2U6OmRhdGFDaGFuZ2VkKGJvb2wgYWxsRGF0
YVJlY2VpdmVkKQogICAgICAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbigK
ICAgICAgICAgICAgIGNyZWF0ZUVtcHR5RWRpdG9yQ2xpZW50KCksCiAgICAgICAgICAgICBTb2Nr
ZXRQcm92aWRlcjo6Y3JlYXRlKCksCi0gICAgICAgICAgICBtYWtlVW5pcXVlUmVmPExpYldlYlJU
Q1Byb3ZpZGVyPigpCisgICAgICAgICAgICBtYWtlVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVy
PigpLAorICAgICAgICAgICAgQ2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpCiAgICAgICAg
ICk7CiAgICAgICAgIGZpbGxXaXRoRW1wdHlDbGllbnRzKHBhZ2VDb25maWd1cmF0aW9uKTsKICAg
ICAgICAgbV9jaHJvbWVDbGllbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPFNWR0ltYWdlQ2hyb21lQ2xp
ZW50Pih0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CmluZGV4IDdlMzFkNTJiMDU3OTNjMTZlNTNlMjU2
MTEwYTYzYmZlYWNlYTgzOWEuLjliODU4M2UzOGI2ZWNhY2RmNzcwMWUwMDkyMjBiOGJmODBjYTM5
M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNl
L1dlYktpdC9DTWFrZUxpc3RzLnR4dApAQCAtNTIsNiArNTIsNyBAQCBzZXQoV2ViS2l0Ml9JTkNM
VURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvQXBwbGVQYXki
CiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvQXBwbGljYXRpb25DYWNoZSIKICAgICAi
JHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9BdXRvbWF0aW9uIgorICAgICIke1dFQktJVDJfRElS
fS9XZWJQcm9jZXNzL0NhY2hlIgogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0Nvb2tp
ZXMiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvRGF0YWJhc2VzIgogICAgICIke1dF
QktJVDJfRElSfS9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5MDlhNWVjZDdkN2Ix
YWIwMjE0YjI5MTk3MDQ5NjE4ODcwNzM2NDEyLi5hODM4ODE2MGQxZTFiODllNDgwYjFjNjQzM2Yw
ZjczYTUwMzVmOGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTg5MSw2ICs4OTEsNyBAQAogCQk0MTMwNzVCMjFERTg1RjU4MDAzOUVD
NjkgLyogTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTYxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJU
Q1NvY2tldEZhY3RvcnkuaCAqLzsgfTsKIAkJNDEzMDc1QjMxREU4NUY1ODAwMzlFQzY5IC8qIExp
YldlYlJUQ1Byb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxMzA3NUE3MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5j
cHAgKi87IH07CiAJCTQxMzA3NUI0MURFODVGNTgwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1
QTgxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmggKi87IH07CisJCTQxRDEy
OURBMUYzRDEwMTgwMEQxNUU0NyAvKiBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMTI5RDkxRjNEMTAxNDAw
RDE1RTQ3IC8qIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmggKi87IH07CiAJCTQxREM0NTk2MUUz
RDZFMjIwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxREM0NTk0MUUzRDZFMUUwMEIxMUY1MSAvKiBO
ZXR3b3JrUlRDUHJvdmlkZXIuaCAqLzsgfTsKIAkJNDFEQzQ1OTcxRTNENkUyMjAwQjExRjUxIC8q
IE5ldHdvcmtSVENQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MURDNDU5NTFFM0Q2RTFFMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3Zp
ZGVyLmNwcCAqLzsgfTsKIAkJNDFEQzQ1OUIxRTNEQkIyODAwQjExRjUxIC8qIExpYldlYlJUQ1Nv
Y2tldENsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MURDNDU5OTFFM0RCQjI0MDBCMTFGNTEgLyogTGliV2ViUlRDU29ja2V0Q2xpZW50LmNw
cCAqLzsgfTsKQEAgLTMxNDIsNiArMzE0Myw3IEBACiAJCTQxMzA3NUE3MURFODVFRTcwMDM5RUM2
OSAvKiBMaWJXZWJSVENQcm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0gTGliV2ViUlRDUHJvdmlkZXIuY3BwOyBwYXRoID0gTmV0
d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsK
IAkJNDEzMDc1QTgxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbGluZUVuZGluZyA9IDA7IG5hbWUgPSBMaWJXZWJSVENQcm92
aWRlci5oOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNv
ZGUubGFuZy5vYmpjcHA7IH07CiAJCTQxQUM4NjgxMUUwNDJFNTMwMDMwMzA3NCAvKiBXZWJSVENS
ZXNvbHZlci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IGxpbmVFbmRpbmcgPSAwOyBuYW1l
ID0gV2ViUlRDUmVzb2x2ZXIubWVzc2FnZXMuaW47IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJS
VENSZXNvbHZlci5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFn
ZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0gIjxub25lPiI7IH07CisJCTQxRDEyOUQ5MUYzRDEw
MTQwMEQxNUU0NyAvKiBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
ZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
MURDNDU5NDFFM0Q2RTFFMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtSVENQcm92aWRlci5oOyBwYXRoID0gTmV0
d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0MURDNDU5NTFFM0Q2RTFFMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3Zp
ZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtSVENQ
cm92aWRlci5jcHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3Zp
ZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFEQzQ1OTgxRTNENkVENjAw
QjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IG5hbWUgPSBOZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW47IHBhdGggPSBOZXR3b3JrUHJv
Y2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtNTkxMiw2ICs1OTE0LDE0IEBACiAJCQluYW1lID0gd2VicnRjOwog
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJNDFEMTI5RDgxRjNEMTAxNDAwRDE1
RTQ3IC8qIENhY2hlICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgK
KwkJCQk0MUQxMjlEOTFGM0QxMDE0MDBEMTVFNDcgLyogV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIu
aCAqLywKKwkJCSk7CisJCQlwYXRoID0gQ2FjaGU7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4i
OworCQl9OwogCQk0NDUwQUVCRTFEQzNGQUFDMDA5OTQzRjIgLyogY29jb2EgKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtNjU5Miw2ICs2NjAyLDcgQEAKIAkJ
CWNoaWxkcmVuID0gKAogCQkJCTFBQjFGNzcwMUQxQjJGNUQwMDdDOUJEMSAvKiBBcHBsZVBheSAq
LywKIAkJCQkxQzBBMTk0MzFDOEZGMUE4MDBGRTBFQkIgLyogQXV0b21hdGlvbiAqLywKKwkJCQk0
MUQxMjlEODFGM0QxMDE0MDBEMTVFNDcgLyogQ2FjaGUgKi8sCiAJCQkJN0M2RTcwRjgxOEIyRDQ3
RTAwRjI0RTJFIC8qIGNvY29hICovLAogCQkJCTMzMDkzNDRCMTMxNUI5M0EwMDk3QTdCQyAvKiBD
b29raWVzICovLAogCQkJCTUxMkE5NzU0MTgwREY5MjcwMDM5QTE0OSAvKiBEYXRhYmFzZXMgKi8s
CkBAIC04Njg5LDYgKzg3MDAsNyBAQAogCQkJCUJDNzJCQTFFMTFFNjQ5MDcwMDFFQjRFQSAvKiBX
ZWJCYWNrRm9yd2FyZExpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxOEQyQ0FFMTJENTE1M0Iw
MDNCQjkzQiAvKiBXZWJCYWNrRm9yd2FyZExpc3RJdGVtLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzcyQjlGQjExRTY0NzZCMDAxRUI0RUEgLyogV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTQxRDEyOURBMUYzRDEwMTgwMEQxNUU0NyAvKiBXZWJDYWNoZVN0b3Jh
Z2VQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNGNTA3MjgxMjQzMjlBQTAwNTk1NUFF
IC8qIFdlYkNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwMzJENzUxMEY0
Mzc4RDAwNThDMTVBIC8qIFdlYkNocm9tZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJM0Y4
N0I5QkUxNTg5NDAxOTAwOTBGRjYyIC8qIFdlYkNvbG9yQ2hvb3Nlci5oIGluIEhlYWRlcnMgKi8s
CkBAIC04ODMxLDcgKzg4NDMsNiBAQAogCQkJCUJDRTBFNDI1MTY4QjdBMjgwMDU3RTY2QSAvKiBX
ZWJQcm9jZXNzU3VwcGxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUExRTA5MzQxODg2MUQz
ODAwRDJEQzQ5IC8qIFdlYlByb2dyZXNzVHJhY2tlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNTEyRjU4OUQxMkE4ODM4ODAwNjI5NTMwIC8qIFdlYlByb3RlY3Rpb25TcGFjZS5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJNTFCRUI2MkMxRjNBNUFENzAwNTAyOUI5IC8qIFdlYlNlcnZpY2VXb3Jr
ZXJQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzc5NDg0MDQxNTBDMzUwNjAwRTUyQ0U5
IC8qIFdlYlJlbmRlckxheWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzYwODgxRjE1MDQxM0U5
MDBGQzgyQzcgLyogV2ViUmVuZGVyT2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTBBRkZC
QTE2NTQyMDQ4MDAxQkEwNUUgLyogV2ViUmVzb3VyY2VMb2FkZXIuaCBpbiBIZWFkZXJzICovLApA
QCAtODg0Myw2ICs4ODU0LDcgQEAKIAkJCQk0MURDNDU5RjFFM0RCREE1MDBCMTFGNTEgLyogV2Vi
UlRDU29ja2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzM2MUQ3MzE5MjdGQTM2MDAzNkE1OUQg
LyogV2ViU2NyaXB0TWVzc2FnZUhhbmRsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUQzQjk0ODQ5
MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJTZWFyY2hQb3B1cE1lbnUuaCBpbiBIZWFkZXJzICovLAor
CQkJCTUxQkVCNjJDMUYzQTVBRDcwMDUwMjlCOSAvKiBXZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTFBNDgzMkQ3MUE5Q0RGOTYwMDhCNERGRSAvKiBXZWJzaXRl
RGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE0ODMyRDExQTlCREMyRjAwOEI0REZFIC8qIFdl
YnNpdGVEYXRhUmVjb3JkLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTUzQzJBQTFBMzI1NzMwMDA0
RThDNzAgLyogV2Vic2l0ZURhdGFTdG9yZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMDM3MSw3ICsx
MDM4Myw2IEBACiAJCQkJMkRBOTQ0QTExODg0RTRGMDAwRUQ4NkRCIC8qIFdlYklPU0V2ZW50RmFj
dG9yeS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUMwMzM3REQzMTI3QTJBMEUwMDhGRjRGNCAvKiBX
ZWJLZXlib2FyZEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNjI4MEYzMTkxOTk4MkEw
MDZBRDlGOSAvKiBXZWJLaXQubSBpbiBTb3VyY2VzICovLAotCQkJCTUxQkVCNjJCMUYzQTVBRDcw
MDUwMjlCOSAvKiBXZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQkM5QkE1MDQxNjk3QzQ1MzAwRTQ0NjE2IC8qIFdlYktpdDJJbml0aWFsaXplLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTQ2NTI1MEU2MUVDRjUyREMwMDIwMjVDQiAvKiBXZWJLaXQySW5pdGlh
bGl6ZUNvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGQjA4RkYxNjM5REUxQTAwRUMzMjRB
IC8qIFdlYkxvYWRlclN0cmF0ZWd5LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMTA0NjksNiArMTA0
ODAsNyBAQAogCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQyAvKiBXZWJSVENTb2NrZXRNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0MzNjFENzIxOTI3RkEzNjAwMzZB
NTlEIC8qIFdlYlNjcmlwdE1lc3NhZ2VIYW5kbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUQz
Qjk0ODQ4MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJTZWFyY2hQb3B1cE1lbnUuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJNTFCRUI2MkIxRjNBNUFENzAwNTAyOUI5IC8qIFdlYlNlcnZpY2VXb3JrZXJQ
cm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTQ4MzJENjFBOUNERjk2MDA4QjRERkUg
LyogV2Vic2l0ZURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE0ODMyRDkxQTlEMUZEMjAw
OEI0REZFIC8qIFdlYnNpdGVEYXRhUmVjb3JkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNTND
MkE5MUEzMjU3MkIwMDRFOEM3MCAvKiBXZWJzaXRlRGF0YVN0b3JlLmNwcCBpbiBTb3VyY2VzICov
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0NhY2hlL1dlYkNhY2hlU3Rv
cmFnZVByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQ2FjaGUvV2ViQ2FjaGVT
dG9yYWdlUHJvdmlkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNDIyMTZhMjA4NmNlNjg4MGUwZTM4YzE2ZGE5
ODViODdlMDY2N2ZhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0NhY2hlL1dlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8V2ViQ29yZS9DYWNoZVN0b3JhZ2VQcm92
aWRlci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViQ2FjaGVTdG9yYWdlUHJv
dmlkZXIgZmluYWwgOiBwdWJsaWMgV2ViQ29yZTo6Q2FjaGVTdG9yYWdlUHJvdmlkZXIgeworcHVi
bGljOgorICAgIHN0YXRpYyBSZWY8V2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXI+IGNyZWF0ZSgpIHsg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIpOyB9Cit9OworCit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDE5
MDkxYjU5MDNmYTU0Y2RlYjk3MzM2Mzg4MDlkNTVmNTNjNDliNjUuLmRkYTAwMWFlY2IwMTJjZmY3
NWFhYjFiMDY0YThlODk4NWMwODc3MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC02OCw2ICs2OCw3IEBACiAjaW5jbHVkZSAiV2ViQWx0ZXJu
YXRpdmVUZXh0Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViQmFja0ZvcndhcmRMaXN0SXRlbS5oIgog
I2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmgiCisjaW5jbHVkZSAiV2ViQ2FjaGVT
dG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJXZWJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRl
ICJXZWJDb2xvckNob29zZXIuaCIKICNpbmNsdWRlICJXZWJDb250ZXh0TWVudS5oIgpAQCAtMzcx
LDcgKzM3Miw4IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBXZWJQYWdlQ3Jl
YXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKICAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdl
Q29uZmlndXJhdGlvbigKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJFZGl0b3JDbGllbnQ+KHRo
aXMpLAogICAgICAgICBXZWJTb2NrZXRQcm92aWRlcjo6Y3JlYXRlKCksCi0gICAgICAgIG1ha2VV
bmlxdWVSZWY8V2ViS2l0OjpMaWJXZWJSVENQcm92aWRlcj4oKQorICAgICAgICBtYWtlVW5pcXVl
UmVmPFdlYktpdDo6TGliV2ViUlRDUHJvdmlkZXI+KCksCisgICAgICAgIFdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLmNhY2hlU3RvcmFnZVByb3ZpZGVyKCkKICAgICApOwogICAgIHBhZ2VDb25maWd1
cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQoKnRoaXMpOwogI2lmIEVO
QUJMRShDT05URVhUX01FTlVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3Bw
CmluZGV4IDM3ODIyODY2YTI3ZDcwZDZhNGFjZGU4ZDI2ZDQ3NDk0OTE1YWZkMDEuLjg3MGYzY2Rl
ODUzN2M2Mjg5ZmMxNzVmMjdiZTdjOWQ0ODZjMDdhNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlICJTdGF0aXN0aWNz
RGF0YS5oIgogI2luY2x1ZGUgIlVzZXJEYXRhLmgiCiAjaW5jbHVkZSAiV2ViQXV0b21hdGlvblNl
c3Npb25Qcm94eS5oIgorI2luY2x1ZGUgIldlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCiAjaW5j
bHVkZSAiV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzLmgiCiAjaW5jbHVkZSAiV2ViQ29va2llTWFu
YWdlci5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgpAQCAtMTYwLDYgKzE2
MSw3IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3MoKQogI2VuZGlmCiAgICAgLCBtX3dlYkluc3Bl
Y3RvckludGVycnVwdERpc3BhdGNoZXIoV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcjo6
Y3JlYXRlKCkpCiAgICAgLCBtX3dlYkxvYWRlclN0cmF0ZWd5KCpuZXcgV2ViTG9hZGVyU3RyYXRl
Z3kpCisgICAgLCBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyKFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVy
OjpjcmVhdGUoKSkKICAgICAsIG1fZG5zUHJlZmV0Y2hIeXN0ZXJlcmlzKFt0aGlzXShIeXN0ZXJl
c2lzU3RhdGUgc3RhdGUpIHsgaWYgKHN0YXRlID09IEh5c3RlcmVzaXNTdGF0ZTo6U3RvcHBlZCkg
bV9kbnNQcmVmZXRjaGVkSG9zdHMuY2xlYXIoKTsgfSkKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExV
R0lOX0FQSSkKICAgICAsIG1fcGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyKFBsdWdpblBy
b2Nlc3NDb25uZWN0aW9uTWFuYWdlcjo6Y3JlYXRlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuaAppbmRleCBjZjJhYjgxM2IzNzkwMzczYjJkYTBmYTZmYWJmN2JhYzQ3YjJmNDk3
Li4xMjNjNGJiMTk4Y2FmNzBjZDk3NmY2OTU5OWY3Nzc5MGIxZDBiYjc0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTgwLDYgKzgwLDcgQEAgY2xhc3MgT2JqQ09iamVj
dEdyYXBoOwogY2xhc3MgVXNlckRhdGE7CiBjbGFzcyBXYXlsYW5kQ29tcG9zaXRvckRpc3BsYXk7
CiBjbGFzcyBXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5OworY2xhc3MgV2ViQ2FjaGVTdG9yYWdl
UHJvdmlkZXI7CiBjbGFzcyBXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M7CiBjbGFzcyBXZWJGcmFt
ZTsKIGNsYXNzIFdlYkxvYWRlclN0cmF0ZWd5OwpAQCAtMjIyLDYgKzIyMyw4IEBAIHB1YmxpYzoK
IAogICAgIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkqIGF1dG9tYXRpb25TZXNzaW9uUHJveHko
KSB7IHJldHVybiBtX2F1dG9tYXRpb25TZXNzaW9uUHJveHkuZ2V0KCk7IH0KIAorICAgIFdlYkNh
Y2hlU3RvcmFnZVByb3ZpZGVyJiBjYWNoZVN0b3JhZ2VQcm92aWRlcigpIHsgcmV0dXJuIG1fY2Fj
aGVTdG9yYWdlUHJvdmlkZXIuZ2V0KCk7IH0KKwogcHJpdmF0ZToKICAgICBXZWJQcm9jZXNzKCk7
CiAgICAgfldlYlByb2Nlc3MoKTsKQEAgLTM3NSw2ICszNzgsOCBAQCBwcml2YXRlOgogICAgIFJl
ZlB0cjxOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24+IG1fbmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
OwogICAgIFdlYkxvYWRlclN0cmF0ZWd5JiBtX3dlYkxvYWRlclN0cmF0ZWd5OwogCisgICAgUmVm
PFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyPiBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyOworCiAjaWYg
VVNFKExJQldFQlJUQykKICAgICBzdGQ6OnVuaXF1ZV9wdHI8TGliV2ViUlRDTmV0d29yaz4gbV9s
aWJXZWJSVENOZXR3b3JrOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0KaW5kZXggMWQ0OWI0OWY0NjgwOTMxYjllOWRkMDdiZmUwMTA4Mjg1MGNjMjJi
Zi4uNDQ5MmY1OGQ1ZjUzNjRkYTBkYTc1MDIwZjRlNTRkZmVlMDIwNjIzOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMTI0LDYgKzEyNCw3IEBACiAj
aW1wb3J0IDxXZWJDb3JlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL0JhY2tGb3J3YXJkQ29udHJvbGxlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9DU1NBbmltYXRp
b25Db250cm9sbGVyLmg+CisjaW1wb3J0IDxXZWJDb3JlL0NhY2hlU3RvcmFnZVByb3ZpZGVyLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL0Nocm9tZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Db2xvck1hYy5o
PgogI2ltcG9ydCA8V2ViQ29yZS9EYXRhYmFzZU1hbmFnZXIuaD4KQEAgLTE0MTMsNyArMTQxNCw4
IEBAIHN0YXRpYyB2b2lkIFdlYktpdEluaXRpYWxpemVHYW1lcGFkUHJvdmlkZXJJZk5lY2Vzc2Fy
eSgpCiAgICAgUGFnZUNvbmZpZ3VyYXRpb24gcGFnZUNvbmZpZ3VyYXRpb24oCiAgICAgICAgIG1h
a2VVbmlxdWVSZWY8V2ViRWRpdG9yQ2xpZW50PihzZWxmKSwKICAgICAgICAgU29ja2V0UHJvdmlk
ZXI6OmNyZWF0ZSgpLAotICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkxpYldlYlJUQ1By
b3ZpZGVyPigpCisgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6TGliV2ViUlRDUHJvdmlk
ZXI+KCksCisgICAgICAgIFdlYkNvcmU6OkNhY2hlU3RvcmFnZVByb3ZpZGVyOjpjcmVhdGUoKQog
ICAgICk7CiAjaWYgIVBMQVRGT1JNKElPUykKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVD
bGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50KHNlbGYpOwpAQCAtMTY3Niw3ICsxNjc4LDggQEAg
c3RhdGljIHZvaWQgV2ViS2l0SW5pdGlhbGl6ZUdhbWVwYWRQcm92aWRlcklmTmVjZXNzYXJ5KCkK
ICAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbigKICAgICAgICAgbWFrZVVu
aXF1ZVJlZjxXZWJFZGl0b3JDbGllbnQ+KHNlbGYpLAogICAgICAgICBTb2NrZXRQcm92aWRlcjo6
Y3JlYXRlKCksCi0gICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6TGliV2ViUlRDUHJvdmlk
ZXI+KCkKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpMaWJXZWJSVENQcm92aWRlcj4o
KSwKKyAgICAgICAgV2ViQ29yZTo6Q2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpCiAgICAg
KTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xp
ZW50SU9TKHNlbGYpOwogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYlZpZXcuY3BwCmluZGV4IGYyZWNjMjJhY2YxZTFkNWVhM2QxNGRmZDk5MTY3Zjk1YzdiMDZk
YWEuLjYyZTM0NGM5ZTc1NmNjYTkzMjZlYjFmNzdmNmIyNzZiNDZmNmIyMjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL1dlYlZpZXcuY3BwCkBAIC04NCw2ICs4NCw3IEBACiAjaW5jbHVkZSA8V2ViQ29y
ZS9CU3RyaW5nLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0JpdG1hcEluZm8uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0NhY2hl
U3RvcmFnZVByb3ZpZGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DaHJvbWUuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0NvbnRleHRNZW51Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Db250ZXh0TWVudUNv
bnRyb2xsZXIuaD4KQEAgLTMxMDIsNyArMzEwMyw4IEBAIEhSRVNVTFQgV2ViVmlldzo6aW5pdFdp
dGhGcmFtZShSRUNUIGZyYW1lLCBfSW5fIEJTVFIgZnJhbWVOYW1lLCBfSW5fIEJTVFIgZ3JvdXBO
CiAgICAgUGFnZUNvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbigKICAgICAgICAgbWFrZVVuaXF1
ZVJlZjxXZWJFZGl0b3JDbGllbnQ+KHRoaXMpLAogICAgICAgICBTb2NrZXRQcm92aWRlcjo6Y3Jl
YXRlKCksCi0gICAgICAgIG1ha2VVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+KCkKKyAgICAg
ICAgbWFrZVVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4oKSwKKyAgICAgICAgV2ViQ29yZTo6
Q2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpCiAgICAgKTsKICAgICBjb25maWd1cmF0aW9u
LmJhY2tGb3J3YXJkQ2xpZW50ID0gQmFja0ZvcndhcmRMaXN0OjpjcmVhdGUoKTsKICAgICBjb25m
aWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQodGhpcyk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggNWUxNDBhMGMyNDBkZTQ3N2NjNWE5MDE1MzRiMDY0YmEyMTJiN2NmZi4uOGU5ZGM3MTA5ZjI0
MWQ5ZmE5MWIzOTZlMDJkZGIzNDQxYTQ5MzM2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE3
LTA4LTEwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbQ2Fj
aGUgQVBJXSBBZGRpbmcgZ2VuZXJpYyBzdXBwb3J0IGZvciBDYWNoZVN0b3JhZ2UgYW5kIENhY2hl
IG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3NTQ1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogVGVzdEV4cGVjdGF0aW9uczogU2tpcHBpbmcgYSB0ZXN0IHRoYXQgd291bGQgdGltZW91dCBv
dGhlcndpc2UgZHVlIHRvIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIGxpbWl0YXRpb25zLgor
CiAyMDE3LTA4LTEwICBOYW4gV2FuZyAgPG5fd2FuZ0BhcHBsZS5jb20+CiAKICAgICAgICAgTGF5
b3V0IHRlc3QgYWNjZXNzaWJpbGl0eS9wcmVzcy10YXJnZXQtdXNlcy10ZXh0LWRlc2NlbmRhbnQt
bm9kZS5odG1sIGlzIGZsYWt5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYThi
ZTI2Y2Q2YWFjY2Y1NzIxNTNmODM2NjFmZjQxOWYzYTkyOTQyYS4uMDhiMWJkZjI1MjZmMjRmZTQz
YzAyYTI3Nzg5OTZjNDRjYWIwNDRlMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTctMDgtMTAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgorCisgICAgICAgIFtDYWNoZSBBUEldIEFkZGluZyBnZW5lcmljIHN1cHBvcnQgZm9yIENh
Y2hlU3RvcmFnZSBhbmQgQ2FjaGUgbWV0aG9kcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NDU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1z
dG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uv
d2luZG93L2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUt
c3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdl
Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKwogMjAxNy0wOC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgogCiAgICAgICAgIEltcG9ydCBiZWFjb24vaGVhZGVycy9oZWFkZXItY29udGVu
dC10eXBlLmh0bWwgZnJvbSB1cHN0cmVhbSBXUFQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDc3NTdh
YTUxYjRmZGUyOWVjN2RhMmJlMWU4YzlhM2ZlMTJhMzgyYTQuLjM3NWU0Y2IxZTVmYTI4ODNkMzUz
ZGYzMDY0YzI0YjE4MGZhOWE1OTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTIxLDcgKzEyMSw3
IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3N0dWIt
NC42LjItY2FjaGUuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc3R1Yi00LjYuMy1jYWNoZS1zdG9yYWdlLmh0bWwgWyBQYXNzIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0
b3JhZ2UgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93IFsgUGFzcyBGYWlsdXJlIF0KLQoraW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9jb21t
b24uaHR0cHMuaHRtbCBbIFNraXAgXQogCiAjIHRleHRhcmVhLmFuaW1hdGUgaXMgbm90IHN1cHBv
cnRlZAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXVpLTMvY2FyZXQt
Y29sb3ItMDE4Lmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2Vy
dmljZXdvcmtlci9jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9y
YWdlL3NlcnZpY2V3b3JrZXIvY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDA3
NjE2NTBkYmM0MWU4YmQxNWU2NGU0N2UzMDhmMmRjMzJhYjllNWIuLjM4ZTk1MjM5N2MzNDYxOTI4
ZjFlZjFlZGY3YWJlZTMwY2UzODEyNzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2Vy
dmljZXdvcmtlci9jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUt
c3RvcmFnZS9zZXJ2aWNld29ya2VyL2NyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAt
MSwzICsxLDMgQEAKIAotRkFJTCBDYWNoZSBBUEkgbWF0Y2hpbmcgaW5jbHVkZXMgY3JlZGVudGlh
bHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlIEFQSSBtYXRjaGluZyBpbmNs
dWRlcyBjcmVkZW50aWFscyBhc3NlcnRfdW5yZWFjaGVkOiB1bnJlZ2lzdGVyIHNob3VsZCBub3Qg
ZmFpbDogc2VydmljZVdvcmtlci5nZXRSZWdpc3RyYXRpb24oKSBpcyBub3QgeWV0IGltcGxlbWVu
dGVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9y
YWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2Nh
Y2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0
CmluZGV4IGZkZWFmZTkzNjZlOWY1OTk5NDdkMjAzNTlhZjBhNTc0YjNjMmQ2ZjMuLmU1ZDZiN2Rj
NTI0NTNkNTc0OTc4OTNhYTcyOGE1MGI2OTU1NDAzMWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0
b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0
ZWQudHh0CkBAIC00LDggKzQsOCBAQCBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIGZyb20gb25lIG9m
IG1hbnkgY2FjaGVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbgogRkFJTCBDYWNo
ZVN0b3JhZ2VNYXRjaCBmcm9tIG9uZSBvZiBtYW55IGNhY2hlcyBieSBuYW1lIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgogRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBhIHN0cmluZyByZXF1ZXN0IHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogTm90IGltcGxlbWVudGVkIgogRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBhIEhFQUQgcmVx
dWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0
aCBubyBjYWNoZWQgZW50cnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3Rv
cmFnZU1hdGNoIHdpdGggbm8gY2FjaGVzIGF2YWlsYWJsZSBidXQgbmFtZSBwcm92aWRlZCBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNo
ZWQgZW50cnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9y
YWdlTWF0Y2ggd2l0aCBubyBjYWNoZXMgYXZhaWxhYmxlIGJ1dCBuYW1lIHByb3ZpZGVkIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGgg
ZW1wdHkgY2FjaGUgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIEZBSUwg
Q2FjaGVTdG9yYWdlTWF0Y2ggc3VwcG9ydHMgaWdub3JlU2VhcmNoIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgogRkFJTCBDYWNoZS5tYXRjaCBzdXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNo
ZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2Nh
Y2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDAwMWU2ZTMzYmQ3YWIzNGVhNzM1
YWNhZGY5NDIwY2FlMTA4MjliNjEuLjFhZDQ2MDAyOGRhNzY5ZWMxOTgxNGUzMTBhZDBhMDA3OGUz
ZTc3OWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2Uu
aHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0
b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC00LDkgKzQsOSBAQCBGQUlMIENhY2hlU3RvcmFn
ZS5kZWxldGUgZG9vbXMsIGJ1dCBkb2VzIG5vdCBkZWxldGUgaW1tZWRpYXRlbHkgcHJvbWlzZV90
ZXN0OiBVbgogRkFJTCBDYWNoZVN0b3JhZ2Uub3BlbiB3aXRoIGFuIGVtcHR5IG5hbWUgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCiBQQVNTIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggbm8gYXJndW1l
bnRzIAogRkFJTCBDYWNoZVN0b3JhZ2UuaGFzIHdpdGggZXhpc3RpbmcgY2FjaGUgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZS5oYXMgd2l0aCBub25leGlzdGVudCBj
YWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK1BBU1MgQ2FjaGVTdG9yYWdlLmhhcyB3aXRo
IG5vbmV4aXN0ZW50IGNhY2hlIAogRkFJTCBDYWNoZVN0b3JhZ2Uub3BlbiB3aXRoIGV4aXN0aW5n
IGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgogRkFJTCBDYWNoZVN0b3JhZ2UuZGVsZXRl
IHdpdGggZXhpc3RpbmcgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
U3RvcmFnZS5kZWxldGUgd2l0aCBub25leGlzdGVudCBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK1BBU1MgQ2FjaGVTdG9yYWdlLmRlbGV0ZSB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIAog
RkFJTCBDYWNoZVN0b3JhZ2UgbmFtZXMgYXJlIERPTVN0cmluZ3Mgbm90IFVTVlN0cmluZ3MgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29y
a2VyL2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXgg
ZmRlYWZlOTM2NmU5ZjU5OTk0N2QyMDM1OWFmMGE1NzRiM2MyZDZmMy4uZTVkNmI3ZGM1MjQ1M2Q1
NzQ5Nzg5M2FhNzI4YTUwYjY5NTU0MDMxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93
b3JrZXIvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQK
QEAgLTQsOCArNCw4IEBAIEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2YgbWFueSBj
YWNoZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uCiBGQUlMIENhY2hlU3RvcmFn
ZU1hdGNoIGZyb20gb25lIG9mIG1hbnkgY2FjaGVzIGJ5IG5hbWUgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIGEgc3RyaW5nIHJlcXVlc3QgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIGEgSEVBRCByZXF1ZXN0IHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNh
Y2hlZCBlbnRyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0
Y2ggd2l0aCBubyBjYWNoZXMgYXZhaWxhYmxlIGJ1dCBuYW1lIHByb3ZpZGVkIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlZCBlbnRy
eSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRj
aCB3aXRoIG5vIGNhY2hlcyBhdmFpbGFibGUgYnV0IG5hbWUgcHJvdmlkZWQgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKIEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBlbXB0eSBj
YWNoZSBuYW1lIHByb3ZpZGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgogRkFJTCBDYWNoZVN0
b3JhZ2VNYXRjaCBzdXBwb3J0cyBpZ25vcmVTZWFyY2ggcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CiBGQUlMIENhY2hlLm1hdGNoIHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3Jh
Z2UuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3Rv
cmFnZS5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMDAxZTZlMzNiZDdhYjM0ZWE3MzVhY2FkZjk0
MjBjYWUxMDgyOWI2MS4uMWFkNDYwMDI4ZGE3NjllYzE5ODE0ZTMxMGFkMGEwMDc4ZTNlNzc5ZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS5odHRwcy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS5o
dHRwcy1leHBlY3RlZC50eHQKQEAgLTQsOSArNCw5IEBAIEZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0
ZSBkb29tcywgYnV0IGRvZXMgbm90IGRlbGV0ZSBpbW1lZGlhdGVseSBwcm9taXNlX3Rlc3Q6IFVu
CiBGQUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggYW4gZW1wdHkgbmFtZSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKIFBBU1MgQ2FjaGVTdG9yYWdlLm9wZW4gd2l0aCBubyBhcmd1bWVudHMgCiBG
QUlMIENhY2hlU3RvcmFnZS5oYXMgd2l0aCBleGlzdGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLmhhcyB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogTm90IGltcGxlbWVudGVkIgorUEFTUyBDYWNoZVN0b3JhZ2UuaGFzIHdpdGggbm9uZXhp
c3RlbnQgY2FjaGUgCiBGQUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggZXhpc3RpbmcgY2FjaGUg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBGQUlMIENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBl
eGlzdGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdl
LmRlbGV0ZSB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgor
UEFTUyBDYWNoZVN0b3JhZ2UuZGVsZXRlIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgCiBGQUlMIENh
Y2hlU3RvcmFnZSBuYW1lcyBhcmUgRE9NU3RyaW5ncyBub3QgVVNWU3RyaW5ncyBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318022</attachid>
            <date>2017-08-13 20:59:41 -0700</date>
            <delta_ts>2017-08-13 22:56:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175455-20170813205940.patch</filename>
            <type>text/plain</type>
            <size>115429</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNjMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTcxMzdkZGFkODNiZTBm
NjEyNmQ0ZDc1MjVkY2Q0MTc2ZWNkYWE3Ny4uMTQ1NWY5ZTg3Nzk3NzAwZGE2MGY3ZDQwNjJmOTg5
YmI3OGU3MWM5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0MyBAQAorMjAxNy0wOC0xMyAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRk
aW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5
IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgIEFkZGluZyBhIENhY2hlU3RvcmFnZVByb3ZpZGVy
IGFic3RyYWN0aW9uIHRoYXQgY3JlYXRlcyBhIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uCisgICAg
ICAgIFRoZSBDYWNoZVN0b3JhZ2VQcm92aWRlciBpcyBhY2Nlc3NlZCBmcm9tIHRoZSBwYWdlIGZv
ciBEb2N1bWVudCBjYWxscy4KKyAgICAgICAgVGhlIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24gaXMg
cmVzcG9uc2libGUgdG8gaW1wbGVtZW50IHRoZSByZWFkL3dyaXRlIG9wZXJhdGlvbnMgb24gdGhl
IGNhY2hlIGRhdGFiYXNlLgorICAgICAgICBBdCB0aGUgbW9tZW50LCBpdCBkb2VzIG5vdGhpbmcg
YnV0IHJldHVybiBub3QgaW1wbGVtZW50ZWQgZXJyb3JzLgorCisgICAgICAgIEltcGxlbWVudGlu
ZyBDYWNoZVN0b3JhZ2UgQVBJcyBhbmQgQ2FjaGUgQVBJcyBiYXNlZCBvbiB0aGUgQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbiBleGNlcHQgZm9yIENhY2hlIGFkZCBhbmQgYWRkQWxsIHdoaWNoIHdpbGwg
YmUgaW1wbGVtZW50ZWQgbGF0ZXIgb24uCisgICAgICAgIENhY2hlU3RvcmFnQ29ubmVjdGlvbiBp
cyByZXNwb25zaWJsZSB0byByZWFkL3dyaXRlIENhY2hlU3RvcmFnZSBsaXN0IG9mIGNhY2hlcyBh
bmQgZWFjaCBpbmRpdmlkdWFsIGNhY2hlLgorICAgICAgICBUaGUgQ2FjaGVTdG9yYWdlQ29ubmVj
dGlvbiBpcyBhIGdlbmVyaWMgY29ubmVjdGlvbiBhbmQgbm90IHRpZWQgdG8gYW55IGRvY3VtZW50
L2NvbnRleHQuCisgICAgICAgIENhY2hlU3RvcmFnZSBvYmplY3RzIGFyZSBtYW5pcHVsYXRlZCBi
eSBwcm92aWRpbmcgdG8gdGhlIGNvbm5lY3Rpb24gdGhlIG9yaWdpbiBvZiB0aGUgY29udGV4dC4K
KyAgICAgICAgQ2FjaGVTdG9yYWdlIGFyZSBnbG9iYWwgdG8gYWxsIGNvbnRleHRzIHdpdGggdGhl
IHNhbWUgb3JpZ2luLgorICAgICAgICBDYWNoZSBvYmplY3RzIGFyZSBtYW5pcHVsYXRlZCBieSBh
biBJRCB0aGF0IGlzIGdpdmVuIGluaXRpYWxseSBieSB0aGUgQ2FjaGVTdG9yYWdlRW5naW5lIHdo
ZW4gb3BlbmluZyB0aGUgQ2FjaGUgb2JqZWN0LgorCisgICAgICAgIEFkZGluZyB2YXJpb3VzIGFj
Y2Vzc29ycyBhbmQgY29uc3RydWN0b3JzIGZvciBGZXRjaCBjb25zdHJ1Y3RzIGFzIG5lZWRlZCBi
eSB0aGUgQ2FjaGUgQVBJIGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogTW9kdWxlcy9jYWNo
ZS9DYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6Q2FjaGUpOgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGU6On5DYWNoZSk6CisgICAgICAgIFRoZSBDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uIGlzIGEgZ2VuZXJpYyBjb25uZWN0aW9uIGFuZCBub3QgdGllZCB0byBhbnkgZG9jdW1lbnQv
Y29udGV4dC4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjptYXRjaCk6IEltcGxlbWVudGF0aW9u
IG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtbWF0Y2gu
CisgICAgICAgIFJlZGlyZWN0IHRvIG1hdGNoQWxsIGFzIHBlciBzcGVjLgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGU6Om1hdGNoQWxsKTogSW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93d3cudzMu
b3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNjYWNoZS1tYXRjaEFsbC4KKyAgICAgICAgQ2hlY2tz
IGZvciByZXF1ZXN0IGFzIHBlciBzcGVjLiBUaGVuIGVpdGhlciByZWZyZXNoIHRoZSByZXF1ZXN0
IHRvIHJlc3BvbnNlIG1hcCBhbmQgcmV0dXJuIGFsbCByZXNwb25zZXMuCisgICAgICAgIE9yIGNh
bGwgdGhlIHF1ZXJ5IGNhY2hlIGFsZ29yaXRobSBhbmQgcmV0dXJuIGNvcGllcyBvZiB0aGUgcmVz
cG9uc2VzICh1c2luZyBjbG9uZSkuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6cHV0KToKKyAg
ICAgICAgQ2hlY2sgdGhlIHJlcXVlc3QgYW5kIHJlc3BvbnNlIGFzIHBlciBzcGVjLgorICAgICAg
ICBBZGQgdGVtcG9yYXJ5IHJlamVjdGlvbiBjYXNlcyAoYmVpbmcgbG9hZGVkIHJlc3BvbnNlcywg
cmVzcG9uc2VzIHdpdGggUmVhZGFibGVTdHJlYW0pIGFzIHRoZXJlIGlzIG5vIHN1cHBvcnQgZm9y
IHRoZW0gcmlnaHQgbm93LgorICAgICAgICBDYWxsIHRoZSBiYXRjaCBwdXQgb3BlcmF0aW9uLgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnJlbW92ZSk6CisgICAgICAgIENoZWNrIHRoZSByZXF1
ZXN0IGFuZCByZXNwb25zZSBhcyBwZXIgc3BlYy4KKyAgICAgICAgQ2FsbCB0aGUgYmF0Y2ggZGVs
ZXRlIG9wZXJhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjprZXlzKToKKyAgICAgICAg
UmVmcmVzaCB0aGUgcmVxdWVzdCB0byByZXNwb25zZSBtYXAgYW5kIHJldHVybiBjb3JyZXNwb25k
aW5nIHJlcXVlc3RzLgorICAgICAgICBNYWtpbmcgc3VyZSB0byByZXVzZSB0aGUgc2FtZSByZXF1
ZXN0IG9iamVjdHMgYXMgcGVyIHNwZWMuCisgICAgICAgIEFzIHBlciBzcGVjLCB0aGUgcmVxdWVz
dCB0byByZXNwb25zZSBtYXAgaXMgb3JkZXJlZC4gV2UgaW1wbGVtZW50IGl0IGFzIGEgVmVjdG9y
LgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcCk6
CisgICAgICAgIFVzZSB0aGUgY2FjaGUgc3RvcmFnZSBjb25uZWN0aW9uIHRvIGdldCBhbiB1cC10
by1kYXRlIGxpc3Qgb2YgY2FjaGVkIHJlY29yZHMuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6
cXVlcnlDYWNoZU1hdGNoKToKKyAgICAgICAgSW1wbGVtZW50cyB0aGUgbWF0Y2ggYWxnb3JpdGht
IGRlZmluZWQgaW4gaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNxdWVy
eS1jYWNoZS1hbGdvcml0aG0uCisgICAgICAgIFRoaXMgaXMgc3BsaXQgZm9yIHF1ZXJ5Q2FjaGUg
YXMgY2FjaGUgc3RvcmFnZSBlbmdpbmUgd2lsbCBuZWVkIHRvIHVzZSBpdCB3aGVuIGltcGxlbWVu
dGluZyB0aGUgZGVsZXRlIG9wZXJhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjpxdWVy
eUNhY2hlKToKKyAgICAgICAgRnVsbCBpbXBsZW1lbnRhdGlvbiBvZiBodHRwczovL3d3dy53My5v
cmcvVFIvc2VydmljZS13b3JrZXJzLTEvI3F1ZXJ5LWNhY2hlLWFsZ29yaXRobSB3aXRoIG5vIHRh
cmdldFN0b3JhZ2UgYXJndW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6cXVlcnlDYWNo
ZVdpdGhUYXJnZXRTdG9yYWdlKToKKyAgICAgICAgRnVsbCBpbXBsZW1lbnRhdGlvbiBvZiBodHRw
czovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEvI3F1ZXJ5LWNhY2hlLWFsZ29yaXRo
bSB3aXRoIGEgcHJvdmlkZWQgdGFyZ2V0U3RvcmFnZSBhcmd1bWVudC4KKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlOjpiYXRjaERlbGV0ZU9wZXJhdGlvbik6CisgICAgICAgIEltcGxlbWVudGF0aW9u
IG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jYmF0Y2gtY2FjaGUt
b3BlcmF0aW9ucy1hbGdvcml0aG0gYnV0IGRlZGljYXRlZCB0byBhIGRlbGV0ZSBvcGVyYXRpb24u
CisgICAgICAgIERlbGV0ZSBvcGVyYXRpb24gYXJlIGFsd2F5cyBkb25lIG9uZSBhdCBhIHRpbWUu
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6YmF0Y2hQdXRPcGVyYXRpb24pOgorICAgICAgICBJ
bXBsZW1lbnRhdGlvbiBvZiBodHRwczovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEv
I2JhdGNoLWNhY2hlLW9wZXJhdGlvbnMtYWxnb3JpdGhtIGRlZGljYXRlZCB0byBhIHB1dCBvcGVy
YXRpb24uCisgICAgICAgIFB1dCBvcGVyYXRpb24gdGFrZXMgb25lIHJlY29yZCBmb3IgcHV0IGJ1
dCBjYW4gdGFrZSBzZXZlcmFsIHJlY29yZHMgaW4gdGhlIGNhc2Ugb2YgYWRkQWxsLCBoZW5jZSB0
aGUgY3VycmVudCBkZXNpZ24uCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6dXBkYXRlUmVxdWVz
dFRvUmVzcG9uc2VNYXApOgorICAgICAgICBVcGRhdGUgdGhlIGNhY2hlIHJlcXVlc3QgdG8gcmVz
cG9uc2UgbWFwIGJhc2VkIG9uIHRoZSByZWNvcmRzIHJldHJpZXZlZCBmcm9tIHRoZSBjYWNoZSBz
dG9yYWdlIGNvbm5lY3Rpb24uCisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6
bmFtZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZS5pZGw6CisgICAgICAg
ICogTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVTdG9yYWdlOjpvcmlnaW4gY29uc3QpOgorICAgICAgICBDb21wdXRpbmcgdGhlIGNhY2hlIG9y
aWdpbiB0aGF0IGlzIHBhc3NlZCB0byB0aGUgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi4KKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6aGFzKToKKyAgICAgICAgSW1wbGVtZW50YXRpb24g
b2YgaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNjYWNoZS1zdG9yYWdl
LWhhcy4KKyAgICAgICAgQ2FsbCB0aGUgY2FjaGUgc3RvcmFnZSBjb25uZWN0aW9uIHRvIHJlZnJl
c2ggaXRzIGNhY2hlIG1hcC4KKyAgICAgICAgVGhlbiB1c2UgaXQgdG8gY2hlY2sgd2hldGhlciBh
IGNhY2hlIGV4aXN0cy4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6cmVmcmVzaENh
Y2hlTWFwKToKKyAgICAgICAgVXNlIHRoZSBjYWNoZSBzdG9yYWdlIGNvbm5lY3Rpb24gdG8gZ2V0
IHRoZSBsaXN0IG9mIGV4aXN0aW5nIGNhY2hlcy4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3Rv
cmFnZTo6b3Blbik6CisgICAgICAgIEltcGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9y
Zy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtc3RvcmFnZS1vcGVuLgorICAgICAgICBSZWZy
ZXNoaW5nIHRoZSBjYWNoZSBtYXAgc28gYXMgdG8gcmV0dXJuIGEgcHJlLWV4aXN0aW5nIGNhY2hl
IGlmIGFueS4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6cmVtb3ZlKToKKyAgICAg
ICAgSW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vy
cy0xLyNjYWNoZS1zdG9yYWdlLWRlbGV0ZS1tZXRob2QuCisgICAgICAgIFJlZnJlc2hpbmcgdGhl
IGNhY2hlIG1hcCBzbyBhcyB0byBkbyBub3RoaW5nIGlmIHRoZXJlIGlzIG5vIGNhY2hlIHRvIHJl
bW92ZS4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6a2V5cyk6CisgICAgICAgIElt
cGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8j
Y2FjaGUtc3RvcmFnZS1rZXlzLW1ldGhvZC4KKyAgICAgICAgUmVmcmVzaGluZyB0aGUgY2FjaGUg
bWFwIGFuZCByZXR1cm5pbiBpdHMga2V5cy4KKyAgICAgICAgQXMgcGVyIHNwZWMsIHRoZSBjYWNo
ZSBtYXAgaXMgb3JkZXJlZC4gV2UgaW1wbGVtZW50IGl0IGFzIGEgVmVjdG9yLgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpjYWNoZU1hcCk6CisgICAgICAgIEdldCB0aGUgbGlzdCBv
ZiBjYWNoZSBvYmplY3RzLCB1c2VkIGFzIGEgcHJpdmF0ZSBhY2Nlc3NvciBmb3IgSlMgYnVpbHQt
aW5zLgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZVN0b3JhZ2U6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0
b3JhZ2U6OkNhY2hlU3RvcmFnZSk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uOjpleGNlcHRpb25Gcm9tRXJyb3IpOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUv
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oOiBBZGRlZC4KKyAgICAgICAgTWFrZXMgdGhlIGxpbmsg
YmV0d2VlbiBXZWIgZmFjaW5nIENhY2hlIEFQSSBhbmQgdGhlIGNhY2hlIHN0b3JhZ2UgZW5naW5l
LgorICAgICAgICBFbnZpc2lvbmVkIGltcGxlbWVudGF0aW9uIGFyZToKKyAgICAgICAgLSBPbmUg
bWFpbiB0aHJlYWQgY29ubmVjdGlvbiB1c2VkIGJ5IGFsbCBkb2N1bWVudHMgaW4gdGhlIGdpdmVu
IHByb2Nlc3MuCisgICAgICAgIC0gT25lIGNvbm5lY3Rpb24gcGVyIHdvcmtlciB0aGF0IGZvcndh
cmRzIHRoZSBjYWxscyB0byB0aGUgbWFpbiB0aHJlYWQgYW5kIHVzZSB0aGUgbWFpbiB0aHJlYWQg
Y29ubmVjdGlvbiBhZnRlcndhcmRzLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29u
bmVjdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5lY3Rp
b246Om9wZW4pOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6cmVt
b3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246OnJlZnJlc2hD
YWNoZU1hcCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpyZWZy
ZXNoUmVxdWVzdFRvUmVzcG9uc2VNYXApOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdl
Q29ubmVjdGlvbjo6YmF0Y2hEZWxldGVPcGVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbjo6YmF0Y2hQdXRPcGVyYXRpb24pOgorICAgICAgICAqIE1vZHVs
ZXMvY2FjaGUvQ2FjaGVTdG9yYWdlUmVjb3JkLmg6IEFkZGVkLiBBIGZldGNoIHJlY29yZCBmcm9t
IHRoZSBXZWIgZmFjaW5nIGNhY2hlIEFQSSBwZXJzcGVjdGl2ZS4KKyAgICAgICAgKiBNb2R1bGVz
L2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3dD
YWNoZXM6OmNhY2hlcyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9i
YWxTY29wZUNhY2hlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUNh
Y2hlczo6ZnJvbSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6
Y2FjaGVzIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3Bl
Q2FjaGVzLmg6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6V29y
a2VyR2xvYmFsU2NvcGVDYWNoZXMpOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5
T3duZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoQm9keU93bmVyOjppc1JlYWRhYmxlU3Ry
ZWFtQm9keSBjb25zdCk6IEFkZGVkIGdldHRlciBhcyBpdCBpcyB1c2VkIGJ5IGNhY2hlIEFQSS4K
KyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5oOgorICAgICAgICAoV2ViQ29y
ZTo6RmV0Y2hIZWFkZXJzOjpjcmVhdGUpOiBBZGQgYW5vdGhlciBjcmVhdGUgYXMgdXNlZCBieSB0
aGUgY2FjaGUgQVBJLgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpndWFyZCBjb25z
dCk6IEFkZGVkIGdldHRlciBhbmQgSVBDIHNlcmlhbGl6ZXIgYXMgdGhpcyBpcyBzb21ldGhpbmcg
dGhhdCB3aWxsIGJlIHN0b3JlZCBieSB0aGUgY2FjaGUgZW5naW5lLgorICAgICAgICAqIE1vZHVs
ZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hMb2FkZXI6
OnN0YXJ0KToKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpidWlsZE9wdGlvbnMpOiBJbiBjYXNlIEZldGNoUmVxdWVzdDo6Y3JlYXRl
IGlzIGNhbGxlZCBmcm9tIEMrKywgdGhlcmUgaXMgbm8gbmVlZCB0byBzZXQgaW5pdC53aW5kb3cg
dG8gYSBudWxsIHZhbHVlLgorICAgICAgICBBZGQgYSBjaGVjayBzbyB0aGF0IG5vIHZhbHVlIGF0
IGFsbCBpcyB0aGUgc2FtZSBhcyBhIG51bGwvdW5kZWZpbmVkIHZhbHVlLgorICAgICAgICAoV2Vi
Q29yZTo6RmV0Y2hSZXF1ZXN0OjpyZXNvdXJjZVJlcXVlc3QgY29uc3QpOgorICAgICAgICAqIE1v
ZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0Lmg6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRj
aFJlc3BvbnNlLmg6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvck92ZXJsYXk6Om92ZXJsYXlQYWdlKToKKyAgICAgICAgKiBwYWdlL0Nh
Y2hlU3RvcmFnZVByb3ZpZGVyLmg6IEFkZGVkLgorICAgICAgICBJbnRlcmZhY2UgdG8gY3JlYXRl
IG1haW4gdGhyZWFkIGNhY2hlIHN0b3JhZ2UgY29ubmVjdGlvbiBmb3IgdGhlIGdpdmVuIHBhZ2Uu
CisgICAgICAgIFRoZXJlIHdpbGwgYmUgb25lIHByb3ZpZGVyIGZvciBlYWNoIHByb2Nlc3MuCisg
ICAgICAgIFBhc3NpbmcgYSBzZXNzaW9uSUQgc28gdGhhdCB3ZSB3aWxsIGNyZWF0ZSBhIGNvbm5l
Y3Rpb24gcGVyIHNlc3Npb24uCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBhZ2U6OlBhZ2UpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UGFnZTo6Y2FjaGVTdG9yYWdlUHJvdmlkZXIpOgorICAgICAgICAqIHBhZ2UvUGFnZUNv
bmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbmZpZ3VyYXRpb246OlBh
Z2VDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0aW9uLmg6Cisg
ICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0ltYWdlOjpkYXRhQ2hhbmdlZCk6CisKIDIwMTctMDgtMTMgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KIAogICAgICAgICBEcm9wIG5vbi1jb25zdCBnZXR0ZXIgZm9yIENhY2hlZFJl
c291cmNlOjpyZXNvdXJjZVJlcXVlc3QoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA4ZDhhYTVkNjhjODUyZDMxNjg1
YmU0ZmMzMjQ1MDY3N2EzZGVmY2E1Li41MmFkOTI5YzA4MWM4YjE2YmViMDM3ZGM4YjkwNTc5MTFh
ZGI3MDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE3LTA4LTEzICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbQ2FjaGUgQVBJXSBBZGRpbmcgZ2Vu
ZXJpYyBzdXBwb3J0IGZvciBDYWNoZVN0b3JhZ2UgYW5kIENhY2hlIG1ldGhvZHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTQ1NQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9DYWNoZS9XZWJDYWNoZVN0
b3JhZ2VQcm92aWRlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fY3B1TGltaXQpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OldlYlBy
b2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzOjpjYWNoZVN0b3JhZ2VQcm92aWRlcik6CisKIDIwMTctMDgtMTMgIEFk
cmlhbiBQZXJleiBkZSBDYXN0cm8gIDxhcGVyZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV1BF
XSBJbXBsZW1lbnQgV2ViQ29yZTo6c3RhbmRhcmRVc2VyQWdlbnQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nCmluZGV4IDhhNjY4MjQ2YWIwYTU3YjJlNjJmOWY0ZGY5MTI2ZGUzYTQzOTA3ZmIu
LjRiMmZhYjNhNDU1NzI0NjJkODkzZjIwNDM2MGFiYzIxZDA4NzEzMzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0wOC0xMyAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRkaW5nIGdlbmVy
aWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5t
bToKKyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1l
Omdyb3VwTmFtZTpdKToKKwogMjAxNy0wOC0xMSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0
Lm9yZz4KIAogICAgICAgICBSZXBsYWNlIERBVEFfVFJBTlNGRVJfSVRFTVMgYnkgYSBydW50aW1l
IGZsYWcgYW5kIGFkZCBhIHN0dWIgaW1wbGVtZW50YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5n
ZUxvZwppbmRleCA1ZWNmY2ExOGY2OGJkODBiNDNmYTQyMzE1ZWZlZDYxMjkzMzc0YmI1Li43YmY1
ZDNkZjFmMTFlOGZmZTg2ZGI2NGU3N2U1ZmJmY2Q2ZTg3ZTYxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMDgtMTMgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFtDYWNoZSBBUEldIEFkZGluZyBnZW5lcmljIHN1
cHBvcnQgZm9yIENhY2hlU3RvcmFnZSBhbmQgQ2FjaGUgbWV0aG9kcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NDU1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAg
KFdlYlZpZXc6OmluaXRXaXRoRnJhbWUpOgorCiAyMDE3LTA4LTA5ICBEYW5pZWwgQmF0ZXMgIDxk
YWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjE5MDEzKTogT0F1dGgg
Zmxvd3MgYXJlIGJyb2tlbiB3aGVuIHJlZGlyZWN0aW5nIGJhY2sgdG8gYXBwbGljYXRpb24gYWZ0
ZXIgYXV0aGVudGljYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYjlhNGE5OGMxNDIwYzRm
ZmIzMWVmYzM0YTFmOGZlNTA1NTNjMGY4Ny4uMWJjMDE5ZWUxMzU4MTQ4YWQ4ODZmNTdkNmJmYjYz
NjU1YjIwZTQzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTkwMCw2ICs5MDAsNyBAQCBzZXQo
V2ViQ29yZV9TT1VSQ0VTCiAKICAgICBNb2R1bGVzL2NhY2hlL0NhY2hlLmNwcAogICAgIE1vZHVs
ZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmNwcAorICAgIE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbi5jcHAKICAgICBNb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHAKICAg
ICBNb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmNwcAogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCmluZGV4IGUxOWFmNTUwMjk1NjRkOTU3NDU0MmIzZWIz
MzQ4NDMyMzgzZjY3ZDUuLjhlMTU4ZjFlYzNhYTgyYzY5NjZhY2Q5MGJlZTM5ODYwOGM3NjQ4M2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCkBAIC0yNiw0MSArMjYsMzM2
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ2FjaGUuaCIKIAorI2luY2x1ZGUg
IkNhY2hlUXVlcnlPcHRpb25zLmgiCisjaW5jbHVkZSAiRmV0Y2hSZXNwb25zZS5oIgorI2luY2x1
ZGUgIkpTRmV0Y2hSZXF1ZXN0LmgiCisjaW5jbHVkZSAiSlNGZXRjaFJlc3BvbnNlLmgiCisjaW5j
bHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgIlVSTC5oIgorCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgQ2FjaGU6Om1hdGNoKFJlcXVlc3RJbmZvJiYsIHN0ZDo6
b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJv
bWlzZSkKK0NhY2hlOjpDYWNoZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBTdHJp
bmcmJiBuYW1lLCB1aW50NjRfdCBpZGVudGlmaWVyLCBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlv
bj4mJiBjb25uZWN0aW9uKQorICAgIDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQorICAgICwg
bV9uYW1lKFdURk1vdmUobmFtZSkpCisgICAgLCBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKKyAg
ICAsIG1fY29ubmVjdGlvbihXVEZNb3ZlKGNvbm5lY3Rpb24pKQoreworICAgIHN1c3BlbmRJZk5l
ZWRlZCgpOworfQorCitDYWNoZTo6fkNhY2hlKCkKIHsKLSAgICBwcm9taXNlLT5yZWplY3QoRXhj
ZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CiB9
CiAKLXZvaWQgQ2FjaGU6Om1hdGNoQWxsKHN0ZDo6b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYsIHN0
ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIE1hdGNoQWxsUHJvbWlzZSYmIHByb21p
c2UpCit2b2lkIENhY2hlOjptYXRjaChSZXF1ZXN0SW5mbyYmIGluZm8sIENhY2hlUXVlcnlPcHRp
b25zJiYgb3B0aW9ucywgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogewotICAgIHBy
b21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1w
bGVtZW50ZWQiKX0pOworICAgIG1hdGNoQWxsKFdURk1vdmUoaW5mbyksIFdURk1vdmUob3B0aW9u
cyksIFdURk1vdmUocHJvbWlzZSksIE1hdGNoVHlwZTo6T25seUZpcnN0KTsKK30KKwordm9pZCBD
YWNoZTo6bWF0Y2hBbGwoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4mJiBpbmZvLCBDYWNoZVF1
ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSwgTWF0
Y2hUeXBlIG1hdGNoVHlwZSkKK3sKKyAgICBSZWZQdHI8RmV0Y2hSZXF1ZXN0PiByZXF1ZXN0Owor
ICAgIGlmIChpbmZvKSB7CisgICAgICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPFJlZlB0
cjxGZXRjaFJlcXVlc3Q+PihpbmZvLnZhbHVlKCkpKSB7CisgICAgICAgICAgICByZXF1ZXN0ID0g
V1RGOjpnZXQ8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8udmFsdWUoKSkucmVsZWFzZU5vbk51
bGwoKTsKKyAgICAgICAgICAgIGlmIChyZXF1ZXN0LT5tZXRob2QoKSAhPSAiR0VUIiAmJiAhb3B0
aW9ucy5pZ25vcmVNZXRob2QpIHsKKyAgICAgICAgICAgICAgICBpZiAobWF0Y2hUeXBlID09IE1h
dGNoVHlwZTo6T25seUZpcnN0KSB7CisgICAgICAgICAgICAgICAgICAgIHByb21pc2UtPnJlc29s
dmUoKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElETFNlcXVlbmNlPElETEludGVyZmFjZTxG
ZXRjaFJlc3BvbnNlPj4+KFZlY3RvcjxSZWY8RmV0Y2hSZXNwb25zZT4+IHsgfSk7CisgICAgICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgaWYgKFVOTElLRUxZKCFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpKQorICAgICAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0
ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBXVEZNb3ZlKGluZm8udmFsdWUoKSksIHsgfSku
cmVsZWFzZVJldHVyblZhbHVlKCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoIXJlcXVl
c3QpIHsKKyAgICAgICAgQVNTRVJUKG1hdGNoVHlwZSA9PSBNYXRjaFR5cGU6OkFsbCk7CisgICAg
ICAgIHJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcChbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUo
cHJvbWlzZSldKCkgeworICAgICAgICAgICAgVmVjdG9yPFJlZjxGZXRjaFJlc3BvbnNlPj4gcmVz
cG9uc2VzOworICAgICAgICAgICAgcmVzcG9uc2VzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobV9y
ZXF1ZXN0VG9SZXNwb25zZU1hcC5zaXplKCkpOworICAgICAgICAgICAgZm9yIChhdXRvJiByZWNv
cmQgOiBtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwKQorICAgICAgICAgICAgICAgIHJlc3BvbnNlcy51
bmNoZWNrZWRBcHBlbmQocmVjb3JkLnJlc3BvbnNlLT5jbG9uZUZvckpTKCkpOworICAgICAgICAg
ICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8RmV0Y2hSZXNwb25z
ZT4+PihyZXNwb25zZXMpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAg
ICBxdWVyeUNhY2hlKHJlcXVlc3QucmVsZWFzZU5vbk51bGwoKSwgV1RGTW92ZShvcHRpb25zKSwg
W21hdGNoVHlwZSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKGNvbnN0IFZlY3RvcjxDYWNo
ZVN0b3JhZ2VSZWNvcmQ+JiByZWNvcmRzKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKG1hdGNoVHlw
ZSA9PSBNYXRjaFR5cGU6Ok9ubHlGaXJzdCkgeworICAgICAgICAgICAgaWYgKHJlY29yZHMuc2l6
ZSgpKSB7CisgICAgICAgICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExJbnRlcmZhY2U8RmV0
Y2hSZXNwb25zZT4+KHJlY29yZHNbMF0ucmVzcG9uc2UtPmNsb25lRm9ySlMoKSk7CisgICAgICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcHJvbWlzZS0+cmVz
b2x2ZSgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgVmVjdG9y
PFJlZjxGZXRjaFJlc3BvbnNlPj4gcmVzcG9uc2VzOworICAgICAgICByZXNwb25zZXMucmVzZXJ2
ZUluaXRpYWxDYXBhY2l0eShyZWNvcmRzLnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0byYgcmVj
b3JkIDogcmVjb3JkcykKKyAgICAgICAgICAgIHJlc3BvbnNlcy51bmNoZWNrZWRBcHBlbmQocmVj
b3JkLnJlc3BvbnNlLT5jbG9uZUZvckpTKCkpOworICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElE
TFNlcXVlbmNlPElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4+KHJlc3BvbnNlcyk7CisgICAg
fSk7CiB9CiAKIHZvaWQgQ2FjaGU6OmFkZChSZXF1ZXN0SW5mbyYmLCBET01Qcm9taXNlRGVmZXJy
ZWQ8dm9pZD4mJiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5
cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHByb21pc2Uu
cmVqZWN0KEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBp
bXBsZW1lbnRlZCIpfSk7CiB9CiAKIHZvaWQgQ2FjaGU6OmFkZEFsbChWZWN0b3I8UmVxdWVzdElu
Zm8+JiYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlz
ZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1l
bnRlZCIpfSk7CisgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJy
b3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKK30KKwordm9pZCBDYWNoZTo6
cHV0KFJlcXVlc3RJbmZvJiYgaW5mbywgUmVmPEZldGNoUmVzcG9uc2U+JiYgcmVzcG9uc2UsIERP
TVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCit7CisgICAgUmVmUHRyPEZldGNoUmVx
dWVzdD4gcmVxdWVzdDsKKyAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWZQdHI8RmV0
Y2hSZXF1ZXN0Pj4oaW5mbykpIHsKKyAgICAgICAgcmVxdWVzdCA9IFdURjo6Z2V0PFJlZlB0cjxG
ZXRjaFJlcXVlc3Q+PihpbmZvKS5yZWxlYXNlTm9uTnVsbCgpOworICAgICAgICBpZiAocmVxdWVz
dC0+bWV0aG9kKCkgIT0gIkdFVCIpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2Vw
dGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJSZXF1ZXN0IG1ldGhvZCBpcyBub3QgR0VU
IikgfSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAg
ICAgICBpZiAoVU5MSUtFTFkoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkpCisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZSgqc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLCBXVEZNb3ZlKGluZm8pLCB7IH0pLnJlbGVhc2VSZXR1cm5WYWx1
ZSgpOworICAgIH0KKworICAgIGlmICghcHJvdG9jb2xJc0luSFRUUEZhbWlseShyZXF1ZXN0LT51
cmwoKSkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBB
U0NJSUxpdGVyYWwoIlJlcXVlc3QgdXJsIGlzIG5vdCBIVFRQL0hUVFBTIikgfSk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIHZhcnlWYWx1ZSA9IHJlc3BvbnNlLT5oZWFkZXJz
KCkuaW50ZXJuYWxIZWFkZXJzKCkuZ2V0KFdlYkNvcmU6OkhUVFBIZWFkZXJOYW1lOjpWYXJ5KTsK
KyAgICBWZWN0b3I8U3RyaW5nPiB2YXJ5aW5nSGVhZGVyTmFtZXM7CisgICAgYm9vbCBoYXNWYXJ5
SGVhZGVyU3RhciA9IGZhbHNlOworICAgIHZhcnlWYWx1ZS5zcGxpdCgnLCcsIGZhbHNlLCBbJl0o
Y29uc3QgU3RyaW5nVmlldyYgdmlldykgeworICAgICAgICBpZiAoIWhhc1ZhcnlIZWFkZXJTdGFy
ICYmIHZpZXcgPT0gIioiKQorICAgICAgICAgICAgaGFzVmFyeUhlYWRlclN0YXIgPSB0cnVlOwor
ICAgIH0pOworCisgICAgaWYgKGhhc1ZhcnlIZWFkZXJTdGFyKSB7CisgICAgICAgIHByb21pc2Uu
cmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJSZXNwb25zZSBoYXMg
YSAnKicgVmFyeSBoZWFkZXIgdmFsdWUiKSB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIGlmIChyZXNwb25zZS0+aXNEaXN0dXJiZWQoKSkgeworICAgICAgICBwcm9taXNlLnJlamVj
dChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiUmVzcG9uc2UgaXMgZGlzdHVy
YmVkIG9yIGxvY2tlZCIpIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHJl
c3BvbnNlLT5zdGF0dXMoKSA9PSAyMDYpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0
aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIlJlc3BvbnNlIGlzIGEgMjA2IHBhcnRpYWwi
KSB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9y
dCBmb3IgYmVpbmcgbG9hZGVkIHJlc3BvbnNlcy4KKyAgICBpZiAocmVzcG9uc2UtPmlzTG9hZGlu
ZygpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVy
cm9yLCBBU0NJSUxpdGVyYWwoIkNhY2hpbmcgYSBsb2FkaW5nIFJlc3BvbnNlIGlzIG5vdCB5ZXQg
c3VwcG9ydGVkIikgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyBGSVhNRTog
QWRkIHN1cHBvcnQgZm9yIFJlYWRhYmxlU3RyZWFtLgorICAgIGlmIChyZXNwb25zZS0+aXNSZWFk
YWJsZVN0cmVhbUJvZHkoKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBO
b3RTdXBwb3J0ZWRFcnJvciwgQVNDSUlMaXRlcmFsKCJDYWNoaW5nIGEgUmVzcG9uc2Ugd2l0aCBk
YXRhIHN0b3JlZCBpbiBhIFJlYWRhYmxlU3RyZWFtIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIikgfSk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBiYXRjaFB1dE9wZXJhdGlvbigqcmVxdWVz
dCwgcmVzcG9uc2UuZ2V0KCksIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICBpZiAoZXJyb3Ig
IT0gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3I6Ok5vbmUpIHsKKyAgICAgICAgICAgIHBy
b21pc2UucmVqZWN0KENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlvbkZyb21FcnJvcihl
cnJvcikpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHByb21pc2Uu
cmVzb2x2ZSgpOworICAgIH0pOworfQorCit2b2lkIENhY2hlOjpyZW1vdmUoUmVxdWVzdEluZm8m
JiBpbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIERPTVByb21pc2VEZWZlcnJlZDxJ
RExCb29sZWFuPiYmIHByb21pc2UpCit7CisgICAgUmVmUHRyPEZldGNoUmVxdWVzdD4gcmVxdWVz
dDsKKyAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4o
aW5mbykpIHsKKyAgICAgICAgcmVxdWVzdCA9IFdURjo6Z2V0PFJlZlB0cjxGZXRjaFJlcXVlc3Q+
PihpbmZvKS5yZWxlYXNlTm9uTnVsbCgpOworICAgICAgICBpZiAocmVxdWVzdC0+bWV0aG9kKCkg
IT0gIkdFVCIgJiYgIW9wdGlvbnMuaWdub3JlTWV0aG9kKSB7CisgICAgICAgICAgICBwcm9taXNl
LnJlc29sdmUoZmFsc2UpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfSBl
bHNlIHsKKyAgICAgICAgaWYgKFVOTElLRUxZKCFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpKQor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICByZXF1ZXN0ID0gRmV0Y2hSZXF1ZXN0OjpjcmVh
dGUoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgV1RGTW92ZShpbmZvKSwgeyB9KS5yZWxlYXNl
UmV0dXJuVmFsdWUoKTsKKyAgICB9CisKKyAgICBiYXRjaERlbGV0ZU9wZXJhdGlvbigqcmVxdWVz
dCwgV1RGTW92ZShvcHRpb25zKSwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShib29sIGRp
ZERlbGV0ZSwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgewor
ICAgICAgICBpZiAoZXJyb3IgIT0gIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yOjpOb25l
KSB7CisgICAgICAgICAgICBwcm9taXNlLnJlamVjdChDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpl
eGNlcHRpb25Gcm9tRXJyb3IoZXJyb3IpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
fQorICAgICAgICBwcm9taXNlLnJlc29sdmUoZGlkRGVsZXRlKTsKKyAgICB9KTsKK30KKwordm9p
ZCBDYWNoZTo6a2V5cyhzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZvPiYmIGluZm8sIENhY2hlUXVl
cnlPcHRpb25zJiYgb3B0aW9ucywgS2V5c1Byb21pc2UmJiBwcm9taXNlKQoreworICAgIFJlZlB0
cjxGZXRjaFJlcXVlc3Q+IHJlcXVlc3Q7CisgICAgaWYgKGluZm8pIHsKKyAgICAgICAgaWYgKFdU
Rjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8udmFsdWUoKSkp
IHsKKyAgICAgICAgICAgIHJlcXVlc3QgPSBXVEY6OmdldDxSZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4o
aW5mby52YWx1ZSgpKS5yZWxlYXNlTm9uTnVsbCgpOworICAgICAgICAgICAgaWYgKHJlcXVlc3Qt
Pm1ldGhvZCgpICE9ICJHRVQiICYmICFvcHRpb25zLmlnbm9yZU1ldGhvZCkgeworICAgICAgICAg
ICAgICAgIHByb21pc2UucmVzb2x2ZShWZWN0b3I8UmVmPEZldGNoUmVxdWVzdD4+IHsgfSk7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgaWYgKFVOTElLRUxZKCFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpKQorICAg
ICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6
OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBXVEZNb3ZlKGluZm8udmFsdWUoKSks
IHsgfSkucmVsZWFzZVJldHVyblZhbHVlKCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAo
IXJlcXVlc3QpIHsKKyAgICAgICAgcmVmcmVzaFJlcXVlc3RUb1Jlc3BvbnNlTWFwKFt0aGlzLCBw
cm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIFZlY3Rv
cjxSZWY8RmV0Y2hSZXF1ZXN0Pj4gcmVxdWVzdHM7CisgICAgICAgICAgICByZXF1ZXN0cy5yZXNl
cnZlSW5pdGlhbENhcGFjaXR5KG1fcmVxdWVzdFRvUmVzcG9uc2VNYXAuc2l6ZSgpKTsKKyAgICAg
ICAgICAgIGZvciAoYXV0byYgcmVjb3JkIDogbV9yZXF1ZXN0VG9SZXNwb25zZU1hcCkKKyAgICAg
ICAgICAgICAgICByZXF1ZXN0cy51bmNoZWNrZWRBcHBlbmQocmVjb3JkLnJlcXVlc3QuY29weVJl
ZigpKTsKKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShyZXF1ZXN0cyk7CisgICAgICAgIH0p
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgcXVlcnlDYWNoZShyZXF1ZXN0LnJlbGVh
c2VOb25OdWxsKCksIFdURk1vdmUob3B0aW9ucyksIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNl
KV0oY29uc3QgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4mIHJlY29yZHMpIG11dGFibGUgewor
ICAgICAgICBWZWN0b3I8UmVmPEZldGNoUmVxdWVzdD4+IHJlcXVlc3RzOworICAgICAgICByZXF1
ZXN0cy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHJlY29yZHMuc2l6ZSgpKTsKKyAgICAgICAgZm9y
IChhdXRvJiByZWNvcmQgOiByZWNvcmRzKQorICAgICAgICAgICAgcmVxdWVzdHMudW5jaGVja2Vk
QXBwZW5kKHJlY29yZC5yZXF1ZXN0LmNvcHlSZWYoKSk7CisgICAgICAgIHByb21pc2UucmVzb2x2
ZShyZXF1ZXN0cyk7CisgICAgfSk7Cit9CisKK3ZvaWQgQ2FjaGU6OnJlZnJlc2hSZXF1ZXN0VG9S
ZXNwb25zZU1hcChXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJiBjYWxsYmFjaykKK3sKKyAgICBzZXRQ
ZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgbV9jb25uZWN0aW9uLT5yZWZyZXNoUmVjb3Jkcyht
X2lkZW50aWZpZXIsIFt0aGlzLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShWZWN0b3I8
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6UmVjb3JkPiYmIHJlY29yZHMpIHsKKyAgICAgICAgaWYg
KCFtX2lzU3RvcHBlZCkgeworICAgICAgICAgICAgdXBkYXRlUmVxdWVzdFRvUmVzcG9uc2VNYXAo
V1RGTW92ZShyZWNvcmRzKSk7CisgICAgICAgICAgICBjYWxsYmFjaygpOworICAgICAgICB9Cisg
ICAgICAgIHVuc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgIH0pOworfQorCit2b2lkIENh
Y2hlOjpxdWVyeUNhY2hlKFJlZjxGZXRjaFJlcXVlc3Q+JiYgcmVxdWVzdCwgQ2FjaGVRdWVyeU9w
dGlvbnMmJiBvcHRpb25zLCBXVEY6OkZ1bmN0aW9uPHZvaWQoY29uc3QgVmVjdG9yPENhY2hlU3Rv
cmFnZVJlY29yZD4mKT4mJiBjYWxsYmFjaykKK3sKKyAgICByZWZyZXNoUmVxdWVzdFRvUmVzcG9u
c2VNYXAoW3RoaXMsIHJlcXVlc3QgPSBXVEZNb3ZlKHJlcXVlc3QpLCBvcHRpb25zID0gV1RGTW92
ZShvcHRpb25zKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oKSBtdXRhYmxlIHsKKyAg
ICAgICAgY2FsbGJhY2socXVlcnlDYWNoZVdpdGhUYXJnZXRTdG9yYWdlKHJlcXVlc3QuZ2V0KCks
IG9wdGlvbnMsIG1fcmVxdWVzdFRvUmVzcG9uc2VNYXApKTsKKyAgICB9KTsKK30KKworc3RhdGlj
IGlubGluZSBib29sIHF1ZXJ5Q2FjaGVNYXRjaChjb25zdCBGZXRjaFJlcXVlc3QmIHJlcXVlc3Qs
IGNvbnN0IEZldGNoUmVxdWVzdCYgY2FjaGVkUmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgY2FjaGVkUmVzcG9uc2UsIGNvbnN0IENhY2hlUXVlcnlPcHRpb25zJiBvcHRpb25zKQorewor
ICAgIC8vIFdlIG5lZWQgdG8gcGFzcyB0aGUgcmVzb3VyY2UgcmVxdWVzdCB3aXRoIGFsbCBjb3Jy
ZWN0IGhlYWRlcnMgaGVuY2Ugd2h5IHdlIGNhbGwgcmVzb3VyY2VSZXF1ZXN0KCkuCisgICAgcmV0
dXJuIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OnF1ZXJ5Q2FjaGVNYXRjaChyZXF1ZXN0LnJlc291
cmNlUmVxdWVzdCgpLCBjYWNoZWRSZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLCBjYWNoZWRSZXNw
b25zZSwgb3B0aW9ucyk7Cit9CisKK1ZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+IENhY2hlOjpx
dWVyeUNhY2hlV2l0aFRhcmdldFN0b3JhZ2UoY29uc3QgRmV0Y2hSZXF1ZXN0JiByZXF1ZXN0LCBj
b25zdCBDYWNoZVF1ZXJ5T3B0aW9ucyYgb3B0aW9ucywgY29uc3QgVmVjdG9yPENhY2hlU3RvcmFn
ZVJlY29yZD4mIHRhcmdldFN0b3JhZ2UpCit7CisgICAgaWYgKCFvcHRpb25zLmlnbm9yZU1ldGhv
ZCAmJiByZXF1ZXN0Lm1ldGhvZCgpICE9ICJHRVQiKQorICAgICAgICByZXR1cm4geyB9OworCisg
ICAgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4gcmVjb3JkczsKKyAgICBmb3IgKGF1dG8mIHJl
Y29yZCA6IHRhcmdldFN0b3JhZ2UpIHsKKyAgICAgICAgaWYgKHF1ZXJ5Q2FjaGVNYXRjaChyZXF1
ZXN0LCByZWNvcmQucmVxdWVzdC5nZXQoKSwgcmVjb3JkLnJlc3BvbnNlLT5yZXNwb25zZSgpLCBv
cHRpb25zKSkKKyAgICAgICAgICAgIHJlY29yZHMuYXBwZW5kKHsgcmVjb3JkLmlkZW50aWZpZXIs
IHJlY29yZC5yZXF1ZXN0LmNvcHlSZWYoKSwgcmVjb3JkLnJlc3BvbnNlLmNvcHlSZWYoKSB9KTsK
KyAgICB9CisgICAgcmV0dXJuIHJlY29yZHM7Cit9CisKK3ZvaWQgQ2FjaGU6OmJhdGNoRGVsZXRl
T3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgQ2FjaGVRdWVyeU9wdGlvbnMm
JiBvcHRpb25zLCBXVEY6OkZ1bmN0aW9uPHZvaWQoYm9vbCBkaWRSZW1vdmFsLCBDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uOjpFcnJvciBlcnJvcik+JiYgY2FsbGJhY2spCit7CisgICAgc2V0UGVuZGlu
Z0FjdGl2aXR5KHRoaXMpOworICAgIG1fY29ubmVjdGlvbi0+YmF0Y2hEZWxldGVPcGVyYXRpb24o
bV9pZGVudGlmaWVyLCByZXF1ZXN0LmludGVybmFsUmVxdWVzdCgpLnJlcXVlc3QsIFdURk1vdmUo
b3B0aW9ucyksIFt0aGlzLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShWZWN0b3I8dWlu
dDY0X3Q+JiYgcmVjb3JkcywgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIHsK
KyAgICAgICAgaWYgKCFtX2lzU3RvcHBlZCkgeworICAgICAgICAgICAgaWYgKGVycm9yID09IENh
Y2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yOjpOb25lKQorICAgICAgICAgICAgICAgIG1fcmVx
dWVzdFRvUmVzcG9uc2VNYXAucmVtb3ZlQWxsTWF0Y2hpbmcoWyZdKGNvbnN0IGF1dG8mIGl0ZW0p
IHsgcmV0dXJuIHJlY29yZHMuY29udGFpbnMoaXRlbS5pZGVudGlmaWVyKTsgfSk7CisKKyAgICAg
ICAgICAgIGNhbGxiYWNrKCEhcmVjb3Jkcy5zaXplKCksIGVycm9yKTsKKyAgICAgICAgfQorICAg
ICAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICB9KTsKK30KKworc3RhdGljIGlu
bGluZSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQgdG9Db25uZWN0aW9uUmVjb3JkKGNv
bnN0IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgRmV0Y2hSZXNwb25zZSYgcmVzcG9uc2UpCit7Cisg
ICAgLy8gRklYTUU6IEFkZCBhIHNldEhUVFBIZWFkZXJGaWVsZHMgb24gUmVzb3VyY2VSZXNwb25z
ZUJhc2UuCisgICAgUmVzb3VyY2VSZXNwb25zZSBjYWNoZWRSZXNwb25zZSA9IHJlc3BvbnNlLnJl
c3BvbnNlKCk7CisgICAgZm9yIChhdXRvJiBoZWFkZXIgOiByZXNwb25zZS5oZWFkZXJzKCkuaW50
ZXJuYWxIZWFkZXJzKCkpCisgICAgICAgIGNhY2hlZFJlc3BvbnNlLnNldEhUVFBIZWFkZXJGaWVs
ZChoZWFkZXIua2V5LCBoZWFkZXIudmFsdWUpOworCisgICAgUmVzb3VyY2VSZXF1ZXN0IGNhY2hl
ZFJlcXVlc3QgPSByZXF1ZXN0LmludGVybmFsUmVxdWVzdCgpLnJlcXVlc3Q7CisgICAgY2FjaGVk
UmVxdWVzdC5zZXRIVFRQSGVhZGVyRmllbGRzKHJlcXVlc3QuaGVhZGVycygpLmludGVybmFsSGVh
ZGVycygpKTsKKworICAgIHJldHVybiB7IDAsCisgICAgICAgIHJlcXVlc3QuaGVhZGVycygpLmd1
YXJkKCksIFdURk1vdmUoY2FjaGVkUmVxdWVzdCksIHJlcXVlc3QuaW50ZXJuYWxSZXF1ZXN0KCku
b3B0aW9ucywgcmVxdWVzdC5pbnRlcm5hbFJlcXVlc3QoKS5yZWZlcnJlciwKKyAgICAgICAgcmVz
cG9uc2UuaGVhZGVycygpLmd1YXJkKCksIFdURk1vdmUoY2FjaGVkUmVzcG9uc2UpCisgICAgfTsK
K30KKwordm9pZCBDYWNoZTo6YmF0Y2hQdXRPcGVyYXRpb24oY29uc3QgRmV0Y2hSZXF1ZXN0JiBy
ZXF1ZXN0LCBGZXRjaFJlc3BvbnNlJiByZXNwb25zZSwgV1RGOjpGdW5jdGlvbjx2b2lkKENhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OkVycm9yKT4mJiBjYWxsYmFjaykKK3sKKyAgICBWZWN0b3I8Q2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbjo6UmVjb3JkPiByZWNvcmRzOworICAgIHJlY29yZHMuYXBwZW5k
KHRvQ29ubmVjdGlvblJlY29yZChyZXF1ZXN0LCByZXNwb25zZSkpOworCisgICAgc2V0UGVuZGlu
Z0FjdGl2aXR5KHRoaXMpOworICAgIG1fY29ubmVjdGlvbi0+YmF0Y2hQdXRPcGVyYXRpb24obV9p
ZGVudGlmaWVyLCBXVEZNb3ZlKHJlY29yZHMpLCBbdGhpcywgY2FsbGJhY2sgPSBXVEZNb3ZlKGNh
bGxiYWNrKV0oVmVjdG9yPHVpbnQ2NF90PiYmLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJv
ciBlcnJvcikgeworICAgICAgICBpZiAoIW1faXNTdG9wcGVkKQorICAgICAgICAgICAgY2FsbGJh
Y2soZXJyb3IpOworCisgICAgICAgIHVuc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgIH0p
OworfQorCit2b2lkIENhY2hlOjp1cGRhdGVSZXF1ZXN0VG9SZXNwb25zZU1hcChWZWN0b3I8Q2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbjo6UmVjb3JkPiYmIHJlY29yZHMpCit7CisgICAgQVNTRVJUKHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CisgICAgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4g
bmV3TWFwOworCisgICAgZm9yIChhdXRvJiByZWNvcmQgOiByZWNvcmRzKSB7CisgICAgICAgIHNp
emVfdCBpbmRleCA9IG1fcmVxdWVzdFRvUmVzcG9uc2VNYXAuZmluZE1hdGNoaW5nKFsmXShjb25z
dCBhdXRvJiBpdGVtKSB7IHJldHVybiBpdGVtLmlkZW50aWZpZXIgPT0gcmVjb3JkLmlkZW50aWZp
ZXI7IH0pOworICAgICAgICBpZiAoaW5kZXggIT0gbm90Rm91bmQpCisgICAgICAgICAgICBuZXdN
YXAuYXBwZW5kKFdURk1vdmUobV9yZXF1ZXN0VG9SZXNwb25zZU1hcFtpbmRleF0pKTsKKyAgICAg
ICAgZWxzZSB7CisgICAgICAgICAgICBhdXRvIHJlcXVlc3RIZWFkZXJzID0gRmV0Y2hIZWFkZXJz
OjpjcmVhdGUocmVjb3JkLnJlcXVlc3RIZWFkZXJzR3VhcmQsIEhUVFBIZWFkZXJNYXAgeyByZWNv
cmQucmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkgfSk7CisgICAgICAgICAgICBGZXRjaFJlcXVl
c3Q6OkludGVybmFsUmVxdWVzdCBpbnRlcm5hbFJlcXVlc3QgPSB7IFdURk1vdmUocmVjb3JkLnJl
cXVlc3QpLCBXVEZNb3ZlKHJlY29yZC5vcHRpb25zKSwgV1RGTW92ZShyZWNvcmQucmVmZXJyZXIp
IH07CisgICAgICAgICAgICBhdXRvIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZSgqc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLCBzdGQ6Om51bGxvcHQsIFdURk1vdmUocmVxdWVzdEhlYWRl
cnMpLCBXVEZNb3ZlKGludGVybmFsUmVxdWVzdCkpOworCisgICAgICAgICAgICBhdXRvIHJlc3Bv
bnNlSGVhZGVycyA9IEZldGNoSGVhZGVyczo6Y3JlYXRlKHJlY29yZC5yZXNwb25zZUhlYWRlcnNH
dWFyZCwgSFRUUEhlYWRlck1hcCB7IHJlY29yZC5yZXNwb25zZS5odHRwSGVhZGVyRmllbGRzKCkg
fSk7CisgICAgICAgICAgICBhdXRvIHJlc3BvbnNlID0gRmV0Y2hSZXNwb25zZTo6Y3JlYXRlKCpz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHN0ZDo6bnVsbG9wdCwgV1RGTW92ZShyZXNwb25zZUhl
YWRlcnMpLCBXVEZNb3ZlKHJlY29yZC5yZXNwb25zZSkpOworCisgICAgICAgICAgICBuZXdNYXAu
YXBwZW5kKENhY2hlU3RvcmFnZVJlY29yZCB7IHJlY29yZC5pZGVudGlmaWVyLCBXVEZNb3ZlKHJl
cXVlc3QpLCBXVEZNb3ZlKHJlc3BvbnNlKSB9KTsKKyAgICAgICAgfQorICAgIH0KKyAgICBtX3Jl
cXVlc3RUb1Jlc3BvbnNlTWFwID0gV1RGTW92ZShuZXdNYXApOwogfQogCi12b2lkIENhY2hlOjpw
dXQoUmVxdWVzdEluZm8mJiwgUmVmPEZldGNoUmVzcG9uc2U+JiYsIERPTVByb21pc2VEZWZlcnJl
ZDx2b2lkPiYmIHByb21pc2UpCit2b2lkIENhY2hlOjpzdG9wKCkKIHsKLSAgICBwcm9taXNlLnJl
amVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVk
Iil9KTsKKyAgICBtX2lzU3RvcHBlZCA9IHRydWU7CiB9CiAKLXZvaWQgQ2FjaGU6OnJlbW92ZShS
ZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBET01Qcm9t
aXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQorY29uc3QgY2hhciogQ2FjaGU6OmFj
dGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlv
biB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHJl
dHVybiAiQ2FjaGUiOwogfQogCi12b2lkIENhY2hlOjprZXlzKHN0ZDo6b3B0aW9uYWw8UmVxdWVz
dEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIEtleXNQcm9taXNl
JiYgcHJvbWlzZSkKK2Jvb2wgQ2FjaGU6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24o
KSBjb25zdAogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVND
SUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHJldHVybiAhbV9yZXF1ZXN0VG9S
ZXNwb25zZU1hcC5zaXplKCkgJiYgIWhhc1BlbmRpbmdBY3Rpdml0eSgpOwogfQogCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaAppbmRleCAwMDgyYWNkNTU2ZGRmNWRlZTlmNzUwNjY1
YzJmNGU5ZWI5ZGQ5NjVlLi43MzQ0YTg5MDBjYWQyMGQwMTUxNTcxMzRhNzc3YzAxZmM4NTU2M2Yx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5oCkBAIC0yNSwzNiArMjUsNTkgQEAK
IAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJGZXRjaFJlcXVlc3QuaCIKKyNpbmNsdWRlICJB
Y3RpdmVET01PYmplY3QuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgiCisj
aW5jbHVkZSAiQ2FjaGVTdG9yYWdlUmVjb3JkLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgRmV0Y2hSZXNwb25zZTsKK2NsYXNzIENhY2hlUXVlcnlPcHRpb25zOworY2xhc3MgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDsKIAotc3RydWN0IENhY2hlUXVlcnlPcHRpb25zOwotCi1jbGFz
cyBDYWNoZSA6IHB1YmxpYyBSZWZDb3VudGVkPENhY2hlPiB7CitjbGFzcyBDYWNoZSBmaW5hbCA6
IHB1YmxpYyBSZWZDb3VudGVkPENhY2hlPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFJlZjxDYWNoZT4gY3JlYXRlKFN0cmluZyYmIG5hbWUpIHsgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgQ2FjaGUoV1RGTW92ZShuYW1lKSkpOyB9CisgICAgc3RhdGljIFJlZjxD
YWNoZT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFN0cmluZyYmIG5h
bWUsIHVpbnQ2NF90IGlkZW50aWZpZXIsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYmIGNv
bm5lY3Rpb24pIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2FjaGUoY29udGV4dCwgV1RGTW92ZShu
YW1lKSwgaWRlbnRpZmllciwgV1RGTW92ZShjb25uZWN0aW9uKSkpOyB9CisgICAgfkNhY2hlKCk7
CiAKICAgICB1c2luZyBSZXF1ZXN0SW5mbyA9IEZldGNoUmVxdWVzdDo6SW5mbzsKIAotICAgIHVz
aW5nIE1hdGNoQWxsUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExTZXF1ZW5jZTxJRExJ
bnRlcmZhY2U8RmV0Y2hSZXNwb25zZT4+PjsKICAgICB1c2luZyBLZXlzUHJvbWlzZSA9IERPTVBy
b21pc2VEZWZlcnJlZDxJRExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8RmV0Y2hSZXF1ZXN0Pj4+Owog
Ci0gICAgdm9pZCBtYXRjaChSZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlP
cHRpb25zPiYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKLSAgICB2b2lkIG1hdGNoQWxsKHN0
ZDo6b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlv
bnM+JiYsIE1hdGNoQWxsUHJvbWlzZSYmKTsKKyAgICBlbnVtIGNsYXNzIE1hdGNoVHlwZSB7IEFs
bCwgT25seUZpcnN0IH07CisgICAgdm9pZCBtYXRjaChSZXF1ZXN0SW5mbyYmLCBDYWNoZVF1ZXJ5
T3B0aW9ucyYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKKyAgICB2b2lkIG1hdGNoQWxsKHN0
ZDo6b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYsIENhY2hlUXVlcnlPcHRpb25zJiYsIFJlZjxEZWZl
cnJlZFByb21pc2U+JiYsIE1hdGNoVHlwZSA9IE1hdGNoVHlwZTo6QWxsKTsKICAgICB2b2lkIGFk
ZChSZXF1ZXN0SW5mbyYmLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJik7CiAKICAgICB2b2lk
IGFkZEFsbChWZWN0b3I8UmVxdWVzdEluZm8+JiYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYm
KTsKICAgICB2b2lkIHB1dChSZXF1ZXN0SW5mbyYmLCBSZWY8RmV0Y2hSZXNwb25zZT4mJiwgRE9N
UHJvbWlzZURlZmVycmVkPHZvaWQ+JiYpOwotICAgIHZvaWQgcmVtb3ZlKFJlcXVlc3RJbmZvJiYs
IHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIERPTVByb21pc2VEZWZlcnJlZDxJ
RExCb29sZWFuPiYmKTsKLSAgICB2b2lkIGtleXMoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4m
Jiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgS2V5c1Byb21pc2UmJik7Cisg
ICAgdm9pZCByZW1vdmUoUmVxdWVzdEluZm8mJiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgRE9NUHJv
bWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYpOworICAgIHZvaWQga2V5cyhzdGQ6Om9wdGlvbmFs
PFJlcXVlc3RJbmZvPiYmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBLZXlzUHJvbWlzZSYmKTsKKwor
ICAgIGNvbnN0IFN0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQorICAgIHVp
bnQ2NF90IGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KIAogcHJp
dmF0ZToKLSAgICBleHBsaWNpdCBDYWNoZShTdHJpbmcmJiBuYW1lKSA6IG1fbmFtZShXVEZNb3Zl
KG5hbWUpKSB7IH0KKyAgICBDYWNoZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgU3RyaW5nJiYg
bmFtZSwgdWludDY0X3QgaWRlbnRpZmllciwgUmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+JiYp
OworCisgICAgLy8gQWN0aXZlRE9NT2JqZWN0CisgICAgdm9pZCBzdG9wKCkgZmluYWw7CisgICAg
Y29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFsOworICAgIGJvb2wg
Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IGZpbmFsOworCisgICAgdm9p
ZCByZWZyZXNoUmVxdWVzdFRvUmVzcG9uc2VNYXAoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYpOwor
ICAgIFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+IHF1ZXJ5Q2FjaGVXaXRoVGFyZ2V0U3RvcmFn
ZShjb25zdCBGZXRjaFJlcXVlc3QmLCBjb25zdCBDYWNoZVF1ZXJ5T3B0aW9ucyYsIGNvbnN0IFZl
Y3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+Jik7CisgICAgdm9pZCBxdWVyeUNhY2hlKFJlZjxGZXRj
aFJlcXVlc3Q+JiYsIENhY2hlUXVlcnlPcHRpb25zJiYsIFdURjo6RnVuY3Rpb248dm9pZChjb25z
dCBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiYpPiYmKTsKKyAgICB2b2lkIGJhdGNoRGVsZXRl
T3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYsIENhY2hlUXVlcnlPcHRpb25zJiYsIFdURjo6
RnVuY3Rpb248dm9pZChib29sIGRpZFJlbW92YWwsIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVy
cm9yKT4mJik7CisgICAgdm9pZCBiYXRjaFB1dE9wZXJhdGlvbihjb25zdCBGZXRjaFJlcXVlc3Qm
LCBGZXRjaFJlc3BvbnNlJiwgV1RGOjpGdW5jdGlvbjx2b2lkKENhY2hlU3RvcmFnZUNvbm5lY3Rp
b246OkVycm9yKT4mJik7CisKKyAgICB2b2lkIHVwZGF0ZVJlcXVlc3RUb1Jlc3BvbnNlTWFwKFZl
Y3RvcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQ+JiYpOwogCiAgICAgU3RyaW5nIG1f
bmFtZTsKKyAgICB1aW50NjRfdCBtX2lkZW50aWZpZXI7CisgICAgUmVmPENhY2hlU3RvcmFnZUNv
bm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKKworICAgIFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+
IG1fcmVxdWVzdFRvUmVzcG9uc2VNYXA7CisgICAgYm9vbCBtX2lzU3RvcHBlZCB7IGZhbHNlIH07
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUv
Q2FjaGUuaWRsCmluZGV4IGQ0Nzk2OTE1NWQyMGE0ZjdiZmEzOGE2ZGMwYjJkZjMyMjU2YTk0ZTAu
LjFlN2RmNmNhZDIzNGM4MGE2NTI4NDJhYmQ4ODM4YmI2OWY3MWFiNzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvY2FjaGUvQ2FjaGUuaWRsCkBAIC0yOSw3ICsyOSw2IEBAIHR5cGVkZWYgKEZldGNo
UmVxdWVzdCBvciBVU1ZTdHJpbmcpIFJlcXVlc3RJbmZvOwogICAgIFNlY3VyZUNvbnRleHQsCiAg
ICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCiAgICAgRW5hYmxlZEF0UnVudGltZT1DYWNoZUFQ
SSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogXSBpbnRlcmZhY2UgQ2FjaGUgewog
ICAgIFtOZXdPYmplY3RdIFByb21pc2U8YW55PiBtYXRjaChSZXF1ZXN0SW5mbyByZXF1ZXN0LCBv
cHRpb25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsKICAgICBbTmV3T2JqZWN0XSBQcm9t
aXNlPHNlcXVlbmNlPEZldGNoUmVzcG9uc2U+PiBtYXRjaEFsbChvcHRpb25hbCBSZXF1ZXN0SW5m
byByZXF1ZXN0LCBvcHRpb25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVRdWVyeU9wdGlvbnMuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVRdWVyeU9wdGlvbnMuaAppbmRleCA2OGY2
N2ZhY2YzNTY4NzFlZWY0ZTU1NDY5NThiNzI3YTY1OTM2OTNiLi40ZjhiNGRlZWNhMWE3ZGY2ODE0
NTcwNDAwMGE2YTYxYWMwY2IxOTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2NhY2hlL0NhY2hlUXVlcnlPcHRpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9j
YWNoZS9DYWNoZVF1ZXJ5T3B0aW9ucy5oCkBAIC0yOSw3ICsyOSw4IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotc3RydWN0IENhY2hlUXVlcnlPcHRpb25zIHsKK2NsYXNzIENhY2hlUXVlcnlP
cHRpb25zIHsKK3B1YmxpYzoKICAgICBib29sIGlnbm9yZVNlYXJjaCB7IGZhbHNlIH07CiAgICAg
Ym9vbCBpZ25vcmVNZXRob2QgeyBmYWxzZSB9OwogICAgIGJvb2wgaWdub3JlVmFyeSB7IGZhbHNl
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFn
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5jcHAKaW5k
ZXggMTIzNjdiZTk2NmUxZTNhMjhhOWUyOWRiZmU0YjgzYmQ1YWNkZWNjNi4uNjE1OTc5M2E5NmQ1
MmRkN2YxODQ5NjRhMjQ0YjkzNTkyNGI1MTIyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmNwcApAQCAtMjYsMzEgKzI2LDE0MSBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIkNhY2hlU3RvcmFnZS5oIgogCisjaW5jbHVkZSAiQ2FjaGVR
dWVyeU9wdGlvbnMuaCIKKyNpbmNsdWRlICJKU0NhY2hlLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgQ2FjaGVTdG9y
YWdlOjptYXRjaChSZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25z
PiYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCitDYWNoZVN0b3JhZ2U6OkNhY2hl
U3RvcmFnZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8Q2FjaGVTdG9yYWdl
Q29ubmVjdGlvbj4mJiBjb25uZWN0aW9uKQorICAgIDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0
KQorICAgICwgbV9jb25uZWN0aW9uKFdURk1vdmUoY29ubmVjdGlvbikpCit7CisgICAgc3VzcGVu
ZElmTmVlZGVkKCk7Cit9CisKK1N0cmluZyBDYWNoZVN0b3JhZ2U6Om9yaWdpbigpIGNvbnN0Cit7
CisgICAgLy8gRklYTUU6IERvIHdlIHJlYWxseSBuZWVkIHRvIGNoZWNrIGZvciBvcmlnaW4gYmVp
bmcgbnVsbD8KKyAgICBhdXRvKiBvcmlnaW4gPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgPyBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCkgOiBudWxscHRyOworICAg
IHJldHVybiBvcmlnaW4gPyBvcmlnaW4tPnRvU3RyaW5nKCkgOiBTdHJpbmcoKTsKK30KKwordm9p
ZCBDYWNoZVN0b3JhZ2U6Om1hdGNoKENhY2hlOjpSZXF1ZXN0SW5mbyYmLCBDYWNoZVF1ZXJ5T3B0
aW9ucyYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS0+
cmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50
ZWQiKX0pOworICAgIHByb21pc2UtPnJlamVjdChFeGNlcHRpb24geyBOb3RTdXBwb3J0ZWRFcnJv
ciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOwogfQogCi12b2lkIENhY2hlU3Rv
cmFnZTo6aGFzKGNvbnN0IFN0cmluZyYsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYm
IHByb21pc2UpCit2b2lkIENhY2hlU3RvcmFnZTo6aGFzKGNvbnN0IFN0cmluZyYgbmFtZSwgRE9N
UHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKIHsKLSAgICBwcm9taXNlLnJl
amVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVk
Iil9KTsKKyAgICByZWZyZXNoQ2FjaGVNYXAoW3RoaXMsIG5hbWUsIHByb21pc2UgPSBXVEZNb3Zl
KHByb21pc2UpXSgpIG11dGFibGUgeworICAgICAgICBwcm9taXNlLnJlc29sdmUobV9jYWNoZU1h
cC5maW5kTWF0Y2hpbmcoWyZdKGF1dG8mIGl0ZW0pIHsgcmV0dXJuIGl0ZW0tPm5hbWUoKSA9PSBu
YW1lOyB9KSAhPSBub3RGb3VuZCk7CisgICAgfSk7Cit9CisKK3ZvaWQgQ2FjaGVTdG9yYWdlOjpy
ZWZyZXNoQ2FjaGVNYXAoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgY2FsbGJhY2spCit7CisgICAg
U3RyaW5nIG9yaWdpbiA9IHRoaXMtPm9yaWdpbigpOworICAgIGlmIChvcmlnaW4uaXNOdWxsKCkp
CisgICAgICAgIHJldHVybjsKKworICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICBt
X2Nvbm5lY3Rpb24tPnJlZnJlc2hDYWNoZU1hcChvcmlnaW4sIFt0aGlzLCBjYWxsYmFjayA9IFdU
Rk1vdmUoY2FsbGJhY2spXShjb25zdCBWZWN0b3I8U3RyaW5nPiYgY2FjaGVOYW1lcykgeworICAg
ICAgICBpZiAoIW1faXNTdG9wcGVkKSB7CisgICAgICAgICAgICBtX2NhY2hlTWFwLnJlbW92ZUFs
bE1hdGNoaW5nKFsmXShhdXRvJiBjYWNoZSkgeyByZXR1cm4gIWNhY2hlTmFtZXMuY29udGFpbnMo
Y2FjaGUtPm5hbWUoKSk7IH0pOworCisgICAgICAgICAgICBzdGQ6OnNvcnQobV9jYWNoZU1hcC5i
ZWdpbigpLCBtX2NhY2hlTWFwLmVuZCgpLCBbJl0oYXV0byYgYSwgYXV0byYgYikgeworICAgICAg
ICAgICAgICAgIHJldHVybiBjYWNoZU5hbWVzLmZpbmQoYS0+bmFtZSgpKSA8IGNhY2hlTmFtZXMu
ZmluZChiLT5uYW1lKCkpOworICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIGNhbGxiYWNr
KCk7CisgICAgICAgIH0KKyAgICAgICAgdW5zZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAg
fSk7CiB9CiAKLXZvaWQgQ2FjaGVTdG9yYWdlOjpvcGVuKGNvbnN0IFN0cmluZyYsIERPTVByb21p
c2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8Q2FjaGU+PiYmIHByb21pc2UpCit2b2lkIENhY2hlU3Rv
cmFnZTo6b3Blbihjb25zdCBTdHJpbmcmIG5hbWUsIERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRl
cmZhY2U8Q2FjaGU+PiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9u
IHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgcmVm
cmVzaENhY2hlTWFwKFt0aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBt
dXRhYmxlIHsKKyAgICAgICAgYXV0byBwb3NpdGlvbiA9IG1fY2FjaGVNYXAuZmluZE1hdGNoaW5n
KFsmXShhdXRvJiBpdGVtKSB7IHJldHVybiBpdGVtLT5uYW1lKCkgPT0gbmFtZTsgfSk7CisgICAg
ICAgIGlmIChwb3NpdGlvbiAhPSBub3RGb3VuZCkgeworICAgICAgICAgICAgYXV0byYgY2FjaGUg
PSBtX2NhY2hlTWFwW3Bvc2l0aW9uXTsKKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShDYWNo
ZTo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFN0cmluZyB7IGNhY2hlLT5uYW1l
KCkgfSwgY2FjaGUtPmlkZW50aWZpZXIoKSwgbV9jb25uZWN0aW9uLmNvcHlSZWYoKSkpOworICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgU3RyaW5nIG9yaWdpbiA9IHRo
aXMtPm9yaWdpbigpOworICAgICAgICBpZiAob3JpZ2luLmlzTnVsbCgpKQorICAgICAgICAgICAg
cmV0dXJuOworCisgICAgICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICAgICAgbV9j
b25uZWN0aW9uLT5vcGVuKG9yaWdpbiwgbmFtZSwgW3RoaXMsIG5hbWUsIHByb21pc2UgPSBXVEZN
b3ZlKHByb21pc2UpXSh1aW50NjRfdCBjYWNoZUlkZW50aWZpZXIsIENhY2hlU3RvcmFnZUNvbm5l
Y3Rpb246OkVycm9yIGVycm9yKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlmICghbV9pc1N0b3Bw
ZWQpIHsKKyAgICAgICAgICAgICAgICBpZiAoZXJyb3IgIT0gQ2FjaGVTdG9yYWdlQ29ubmVjdGlv
bjo6RXJyb3I6Ok5vbmUpCisgICAgICAgICAgICAgICAgICAgIHByb21pc2UucmVqZWN0KENhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlvbkZyb21FcnJvcihlcnJvcikpOworICAgICAgICAg
ICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgICAgICBhdXRvIGNhY2hlID0gQ2FjaGU6OmNy
ZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBTdHJpbmcgeyBuYW1lIH0sIGNhY2hlSWRl
bnRpZmllciwgbV9jb25uZWN0aW9uLmNvcHlSZWYoKSk7CisgICAgICAgICAgICAgICAgICAgIHBy
b21pc2UucmVzb2x2ZShjYWNoZSk7CisgICAgICAgICAgICAgICAgICAgIG1fY2FjaGVNYXAuYXBw
ZW5kKFdURk1vdmUoY2FjaGUpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICAgICAgfSk7CisgICAg
fSk7CiB9CiAKLXZvaWQgQ2FjaGVTdG9yYWdlOjpyZW1vdmUoY29uc3QgU3RyaW5nJiwgRE9NUHJv
bWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKK3ZvaWQgQ2FjaGVTdG9yYWdlOjpy
ZW1vdmUoY29uc3QgU3RyaW5nJiBuYW1lLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4m
JiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwg
QVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHJlZnJlc2hDYWNoZU1hcChb
dGhpcywgbmFtZSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAg
ICAgIGF1dG8gcG9zaXRpb24gPSBtX2NhY2hlTWFwLmZpbmRNYXRjaGluZyhbJl0oYXV0byYgaXRl
bSkgeyByZXR1cm4gaXRlbS0+bmFtZSgpID09IG5hbWU7IH0pOworICAgICAgICBpZiAocG9zaXRp
b24gPT0gbm90Rm91bmQpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShmYWxzZSk7Cisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBTdHJpbmcgb3JpZ2luID0g
dGhpcy0+b3JpZ2luKCk7CisgICAgICAgIGlmIChvcmlnaW4uaXNOdWxsKCkpCisgICAgICAgICAg
ICByZXR1cm47CisKKyAgICAgICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgICAgICBt
X2Nvbm5lY3Rpb24tPnJlbW92ZShtX2NhY2hlTWFwW3Bvc2l0aW9uXS0+aWRlbnRpZmllcigpLCBb
dGhpcywgbmFtZSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKHVpbnQ2NF90IGNhY2hlSWRl
bnRpZmllciwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgewor
ICAgICAgICAgICAgVU5VU0VEX1BBUkFNKGNhY2hlSWRlbnRpZmllcik7CisgICAgICAgICAgICBp
ZiAoIW1faXNTdG9wcGVkKSB7CisgICAgICAgICAgICAgICAgaWYgKGVycm9yICE9IENhY2hlU3Rv
cmFnZUNvbm5lY3Rpb246OkVycm9yOjpOb25lKQorICAgICAgICAgICAgICAgICAgICBwcm9taXNl
LnJlamVjdChDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpleGNlcHRpb25Gcm9tRXJyb3IoZXJyb3Ip
KTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHByb21pc2UucmVz
b2x2ZSh0cnVlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHVuc2V0UGVuZGluZ0FjdGl2
aXR5KHRoaXMpOworICAgICAgICB9KTsKKyAgICAgICAgbV9jYWNoZU1hcC5yZW1vdmUocG9zaXRp
b24pOworICAgIH0pOwogfQogCiB2b2lkIENhY2hlU3RvcmFnZTo6a2V5cyhLZXlzUHJvbWlzZSYm
IHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBB
U0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgcmVmcmVzaENhY2hlTWFwKFt0
aGlzLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgVmVj
dG9yPFN0cmluZz4ga2V5czsKKyAgICAgICAga2V5cy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1f
Y2FjaGVNYXAuc2l6ZSgpKTsKKyAgICAgICAgZm9yIChhdXRvJiBjYWNoZSA6IG1fY2FjaGVNYXAp
CisgICAgICAgICAgICBrZXlzLnVuY2hlY2tlZEFwcGVuZChjYWNoZS0+bmFtZSgpKTsKKyAgICAg
ICAgcHJvbWlzZS5yZXNvbHZlKGtleXMpOworICAgIH0pOworfQorCit2b2lkIENhY2hlU3RvcmFn
ZTo6c3RvcCgpCit7CisgICAgbV9pc1N0b3BwZWQgPSB0cnVlOworfQorCitjb25zdCBjaGFyKiBD
YWNoZVN0b3JhZ2U6OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAoreworICAgIHJldHVybiAi
Q2FjaGVTdG9yYWdlIjsKK30KKworYm9vbCBDYWNoZVN0b3JhZ2U6OmNhblN1c3BlbmRGb3JEb2N1
bWVudFN1c3BlbnNpb24oKSBjb25zdAoreworICAgIHJldHVybiAhbV9jYWNoZU1hcC5zaXplKCkg
JiYgIWhhc1BlbmRpbmdBY3Rpdml0eSgpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaAppbmRleCBmYTI2OTAw
MDM2YzMyNjczNjYyMWZjYjgzN2M3NzcxZWFhOGQ4MjIzLi5lMDVmODJhZjJjOTRmYjQ4OTI0Y2Fl
NzZlMzRmZjJlMmVmOWQyMzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nh
Y2hlL0NhY2hlU3RvcmFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2Fj
aGVTdG9yYWdlLmgKQEAgLTI1LDI5ICsyNSw0MiBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1
ZGUgIkNhY2hlLmgiCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIgogI2luY2x1
ZGUgIkZldGNoUmVxdWVzdC5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotY2xhc3MgQ2FjaGU7CitjbGFzcyBDYWNoZVF1ZXJ5T3B0aW9uczsKK2Ns
YXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLXN0cnVjdCBDYWNoZVF1ZXJ5T3B0aW9uczsK
LQotY2xhc3MgQ2FjaGVTdG9yYWdlIDogcHVibGljIFJlZkNvdW50ZWQ8Q2FjaGVTdG9yYWdlPiB7
CitjbGFzcyBDYWNoZVN0b3JhZ2UgOiBwdWJsaWMgUmVmQ291bnRlZDxDYWNoZVN0b3JhZ2U+LCBw
dWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPENhY2hlU3Rv
cmFnZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNoZVN0b3JhZ2UoKSk7IH0K
KyAgICBzdGF0aWMgUmVmPENhY2hlU3RvcmFnZT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYmIGNvbm5lY3Rpb24pIHsg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2FjaGVTdG9yYWdlKGNvbnRleHQsIFdURk1vdmUoY29ubmVj
dGlvbikpKTsgfQogCi0gICAgdXNpbmcgUmVxdWVzdEluZm8gPSBGZXRjaFJlcXVlc3Q6OkluZm87
CiAgICAgdXNpbmcgS2V5c1Byb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMU2VxdWVuY2U8
SURMRE9NU3RyaW5nPj47CiAKLSAgICB2b2lkIG1hdGNoKFJlcXVlc3RJbmZvJiYsIHN0ZDo6b3B0
aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworICAg
IHZvaWQgbWF0Y2goQ2FjaGU6OlJlcXVlc3RJbmZvJiYsIENhY2hlUXVlcnlPcHRpb25zJiYsIFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYpOwogICAgIHZvaWQgaGFzKGNvbnN0IFN0cmluZyYsIERPTVBy
b21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmKTsKICAgICB2b2lkIG9wZW4oY29uc3QgU3RyaW5n
JiwgRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxDYWNoZT4+JiYpOwogICAgIHZvaWQg
cmVtb3ZlKGNvbnN0IFN0cmluZyYsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmKTsK
ICAgICB2b2lkIGtleXMoS2V5c1Byb21pc2UmJik7CiAKIHByaXZhdGU6Ci0gICAgQ2FjaGVTdG9y
YWdlKCkgPSBkZWZhdWx0OworICAgIENhY2hlU3RvcmFnZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiwgUmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+JiYpOworCisgICAgLy8gQWN0aXZlRE9NT2Jq
ZWN0CisgICAgdm9pZCBzdG9wKCkgZmluYWw7CisgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2Jq
ZWN0TmFtZSgpIGNvbnN0IGZpbmFsOworICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3Vz
cGVuc2lvbigpIGNvbnN0IGZpbmFsOworCisgICAgdm9pZCByZWZyZXNoQ2FjaGVNYXAoV1RGOjpG
dW5jdGlvbjx2b2lkKCk+JiYpOworICAgIFN0cmluZyBvcmlnaW4oKSBjb25zdDsKKworICAgIFZl
Y3RvcjxSZWY8Q2FjaGU+PiBtX2NhY2hlTWFwOworICAgIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uPiBtX2Nvbm5lY3Rpb247CisgICAgYm9vbCBtX2lzU3RvcHBlZCB7IGZhbHNlIH07CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hl
L0NhY2hlU3RvcmFnZS5pZGwKaW5kZXggOGQ3MWUwOTAzZTc2ZTFhNGI2MmJmYjZmMDI4NDk2ZmI5
ODZmMDYyYS4uYjQ0NmFlYTc3ZmM3MDVmMGNjMDE2N2NlNGE2ZjZmZTEwNzU3MjBhZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmlkbApAQCAtMjksNyAr
MjksNiBAQCB0eXBlZGVmIChGZXRjaFJlcXVlc3Qgb3IgVVNWU3RyaW5nKSBSZXF1ZXN0SW5mbzsK
ICAgICBTZWN1cmVDb250ZXh0LAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAogICAgIEVu
YWJsZWRBdFJ1bnRpbWU9Q2FjaGVBUEksCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwK
IF0gaW50ZXJmYWNlIENhY2hlU3RvcmFnZSB7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxhbnk+
IG1hdGNoKFJlcXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25zIG9w
dGlvbnMpOwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8Ym9vbGVhbj4gaGFzKERPTVN0cmluZyBj
YWNoZU5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNo
ZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGM1YjIyNGU1NmMxYTI4NzkxNDQ1
MWI2NzE2NGYyNTU3MTMxMTFkZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAKQEAgLTAsMCArMSw4MSBAQAor
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNhY2hlU3RvcmFn
ZUNvbm5lY3Rpb24uaCIKKworI2luY2x1ZGUgIkNhY2hlUXVlcnlPcHRpb25zLmgiCisjaW5jbHVk
ZSAiRXhjZXB0aW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRXhjZXB0aW9uIENhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlvbkZyb21FcnJvcihFcnJvciBlcnJvcikKK3sKKyAg
ICBBU1NFUlQoZXJyb3IgIT0gRXJyb3I6Ok5vbmUpOworCisgICAgc3dpdGNoIChlcnJvcikgewor
ICAgIGNhc2UgRXJyb3I6Ok5vdEltcGxlbWVudGVkOgorICAgICAgICByZXR1cm4gRXhjZXB0aW9u
IHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpIH07CisgICAgZGVm
YXVsdDoKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFs
KCJVbmtub3duIGVycm9yIikgfTsKKyAgICB9OworfQorCitib29sIENhY2hlU3RvcmFnZUNvbm5l
Y3Rpb246OnF1ZXJ5Q2FjaGVNYXRjaChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNv
bnN0IFJlc291cmNlUmVxdWVzdCYgY2FjaGVkUmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgY2FjaGVkUmVzcG9uc2UsIGNvbnN0IENhY2hlUXVlcnlPcHRpb25zJiBvcHRpb25zKQorewor
ICAgIEFTU0VSVChvcHRpb25zLmlnbm9yZU1ldGhvZCB8fCByZXF1ZXN0Lmh0dHBNZXRob2QoKSA9
PSAiR0VUIik7CisKKyAgICBVUkwgcmVxdWVzdFVSTCA9IHJlcXVlc3QudXJsKCk7CisgICAgVVJM
IGNhY2hlZFJlcXVlc3RVUkwgPSBjYWNoZWRSZXF1ZXN0LnVybCgpOworCisgICAgaWYgKG9wdGlv
bnMuaWdub3JlU2VhcmNoKSB7CisgICAgICAgIHJlcXVlc3RVUkwuc2V0UXVlcnkoeyB9KTsKKyAg
ICAgICAgY2FjaGVkUmVxdWVzdFVSTC5zZXRRdWVyeSh7IH0pOworICAgIH0KKyAgICBpZiAoIWVx
dWFsSWdub3JpbmdGcmFnbWVudElkZW50aWZpZXIocmVxdWVzdFVSTCwgY2FjaGVkUmVxdWVzdFVS
TCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChvcHRpb25zLmlnbm9yZVZhcnkp
CisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgU3RyaW5nIHZhcnlWYWx1ZSA9IGNhY2hlZFJl
c3BvbnNlLmh0dHBIZWFkZXJGaWVsZChXZWJDb3JlOjpIVFRQSGVhZGVyTmFtZTo6VmFyeSk7Cisg
ICAgaWYgKHZhcnlWYWx1ZS5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBW
ZWN0b3I8U3RyaW5nPiB2YXJ5aW5nSGVhZGVyTmFtZXM7CisgICAgdmFyeVZhbHVlLnNwbGl0KCcs
JywgdmFyeWluZ0hlYWRlck5hbWVzKTsKKyAgICBpZiAodmFyeWluZ0hlYWRlck5hbWVzLmNvbnRh
aW5zKCIqIikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGZvciAoYXV0byYgbmFtZSA6
IHZhcnlpbmdIZWFkZXJOYW1lcykgeworICAgICAgICBpZiAoY2FjaGVkUmVxdWVzdC5odHRwSGVh
ZGVyRmllbGQobmFtZSkgIT0gcmVxdWVzdC5odHRwSGVhZGVyRmllbGQobmFtZSkpCisgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNo
ZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQ4NmFkN2Y2YTgxOWVmYjI2
YTE3OGFlYzQwMjVjNzViY2M4NmZhMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oCkBAIC0wLDAgKzEsODAgQEAK
KworLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiRmV0Y2hIZWFkZXJzLmgi
CisjaW5jbHVkZSAiRmV0Y2hPcHRpb25zLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0Lmgi
CisjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZl
UmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENhY2hlUXVlcnlP
cHRpb25zOworCitjbGFzcyBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uIDogcHVibGljIFRocmVhZFNh
ZmVSZWZDb3VudGVkPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IHsKK3B1YmxpYzoKKyAgICBlbnVt
IGNsYXNzIEVycm9yIHsKKyAgICAgICAgTm9uZSwKKyAgICAgICAgTm90SW1wbGVtZW50ZWQsCisg
ICAgfTsKKworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIHF1ZXJ5Q2FjaGVNYXRjaChj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgY2Fj
aGVkUmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IENhY2hlUXVlcnlPcHRp
b25zJik7CisKKyAgICBzdGF0aWMgRXhjZXB0aW9uIGV4Y2VwdGlvbkZyb21FcnJvcihFcnJvcik7
CisKKyAgICBzdHJ1Y3QgUmVjb3JkIHsKKyAgICAgICAgdWludDY0X3QgaWRlbnRpZmllcjsKKwor
ICAgICAgICBGZXRjaEhlYWRlcnM6Okd1YXJkIHJlcXVlc3RIZWFkZXJzR3VhcmQ7CisgICAgICAg
IFJlc291cmNlUmVxdWVzdCByZXF1ZXN0OworICAgICAgICBGZXRjaE9wdGlvbnMgb3B0aW9uczsK
KyAgICAgICAgU3RyaW5nIHJlZmVycmVyOworCisgICAgICAgIEZldGNoSGVhZGVyczo6R3VhcmQg
cmVzcG9uc2VIZWFkZXJzR3VhcmQ7CisgICAgICAgIFJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2U7
CisgICAgfTsKKworICAgIHN0YXRpYyBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4gY3JlYXRl
KCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uKCkpOyB9Cisg
ICAgdmlydHVhbCB+Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbigpID0gZGVmYXVsdDsKKworICAgIHVz
aW5nIE9wZW5SZW1vdmVDYWxsYmFjayA9IFdURjo6RnVuY3Rpb248dm9pZCh1aW50NjRfdCwgRXJy
b3IpPjsKKyAgICB1c2luZyBDYWNoZU1hcENhbGxiYWNrID0gV1RGOjpGdW5jdGlvbjx2b2lkKGNv
bnN0IFZlY3RvcjxTdHJpbmc+Jik+OworICAgIHVzaW5nIFJlY29yZHNDYWxsYmFjayA9IFdURjo6
RnVuY3Rpb248dm9pZChWZWN0b3I8UmVjb3JkPiYmKT47CisgICAgdXNpbmcgQmF0Y2hPcGVyYXRp
b25DYWxsYmFjayA9IFdURjo6RnVuY3Rpb248dm9pZChWZWN0b3I8dWludDY0X3Q+JiYsIEVycm9y
KT47CisKKyAgICB2aXJ0dWFsIHZvaWQgb3Blbihjb25zdCBTdHJpbmcmIC8qIG9yaWdpbiAqLywg
Y29uc3QgU3RyaW5nJiAvKiBjYWNoZU5hbWUgKi8sIE9wZW5SZW1vdmVDYWxsYmFjayYmIGNhbGxi
YWNrKSB7IGNhbGxiYWNrKDAsIEVycm9yOjpOb3RJbXBsZW1lbnRlZCk7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgcmVtb3ZlKHVpbnQ2NF90IC8qIGNhY2hlSWRlbnRpZmllciAqLywgT3BlblJlbW92ZUNh
bGxiYWNrJiYgY2FsbGJhY2spIHsgY2FsbGJhY2soMCwgRXJyb3I6Ok5vdEltcGxlbWVudGVkKTsg
fQorICAgIHZpcnR1YWwgdm9pZCByZWZyZXNoQ2FjaGVNYXAoY29uc3QgU3RyaW5nJiAvKiBvcmln
aW4gKi8sIENhY2hlTWFwQ2FsbGJhY2smJiBjYWxsYmFjaykgeyBjYWxsYmFjayh7IH0pOyB9CisK
KyAgICB2aXJ0dWFsIHZvaWQgcmVmcmVzaFJlY29yZHModWludDY0X3QgLyogY2FjaGVJZGVudGlm
aWVyICovLCBSZWNvcmRzQ2FsbGJhY2smJiBjYWxsYmFjaykgeyBjYWxsYmFjayh7IH0pOyB9Cisg
ICAgdmlydHVhbCB2b2lkIGJhdGNoRGVsZXRlT3BlcmF0aW9uKHVpbnQ2NF90IC8qIGNhY2hlSWRl
bnRpZmllciAqLywgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwg
QmF0Y2hPcGVyYXRpb25DYWxsYmFjayYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKHsgfSwgRXJyb3I6
Ok5vdEltcGxlbWVudGVkKTsgfQorICAgIHZpcnR1YWwgdm9pZCBiYXRjaFB1dE9wZXJhdGlvbih1
aW50NjRfdCAvKiBjYWNoZUlkZW50aWZpZXIgKi8sIFZlY3RvcjxSZWNvcmQ+JiYsIEJhdGNoT3Bl
cmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykgeyBjYWxsYmFjayh7IH0sIEVycm9yOjpOb3RJbXBs
ZW1lbnRlZCk7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VSZWNvcmQuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlUmVjb3JkLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDBhNmFjZTRiYTRjMDkxZGMwOWE1ZDQ1NWRmNmFjN2NhNWNhYTI3YgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlUmVjb3JkLmgKQEAg
LTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiRmV0
Y2hSZXF1ZXN0LmgiCisjaW5jbHVkZSAiRmV0Y2hSZXNwb25zZS5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK3N0cnVjdCBDYWNoZVN0b3JhZ2VSZWNvcmQgeworICAgIHVpbnQ2NF90IGlkZW50
aWZpZXI7CisKKyAgICBSZWY8RmV0Y2hSZXF1ZXN0PiByZXF1ZXN0OworICAgIFJlZjxGZXRjaFJl
c3BvbnNlPiByZXNwb25zZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NV2luZG93Q2FjaGVzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NV2luZG93Q2FjaGVzLmNwcAppbmRleCA4NjY1
YzU1NjcyZWE1ZjQ2YjA5ZDRmOWIwNzVhNjk2MmM1OTUxZWQxLi5hOGEyNjY3YmFhNTI1MWFlZGEw
NjVkODQ4Mzg2MjU1M2Q1MDU4NTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9j
YWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwCkBAIC0yNyw3ICsyNywxMSBAQAogI2luY2x1ZGUgIkRP
TVdpbmRvd0NhY2hlcy5oIgogCiAjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlLmgiCisjaW5jbHVkZSAi
Q2FjaGVTdG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNsdWRl
ICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiUGFnZS5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTU5LDggKzYzLDggQEAgQ2FjaGVTdG9yYWdlKiBET01X
aW5kb3dDYWNoZXM6OmNhY2hlcyhET01XaW5kb3cmIHdpbmRvdykKIAogQ2FjaGVTdG9yYWdlKiBE
T01XaW5kb3dDYWNoZXM6OmNhY2hlcygpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX2NhY2hlcyAmJiBm
cmFtZSgpKQotICAgICAgICBtX2NhY2hlcyA9IENhY2hlU3RvcmFnZTo6Y3JlYXRlKCk7CisgICAg
aWYgKCFtX2NhY2hlcyAmJiBmcmFtZSgpICYmIGZyYW1lKCktPnBhZ2UoKSAmJiBmcmFtZSgpLT5k
b2N1bWVudCgpKQorICAgICAgICBtX2NhY2hlcyA9IENhY2hlU3RvcmFnZTo6Y3JlYXRlKCpmcmFt
ZSgpLT5kb2N1bWVudCgpLCBmcmFtZSgpLT5wYWdlKCktPmNhY2hlU3RvcmFnZVByb3ZpZGVyKCku
Y3JlYXRlQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbihmcmFtZSgpLT5wYWdlKCktPnNlc3Npb25JRCgp
KSk7CiAgICAgcmV0dXJuIG1fY2FjaGVzLmdldCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwCmluZGV4
IDA1MTY5OGU3YzZlNTc5MGNkMjcwYTMxODBmZmViNDNjN2Q3ZGVhYWEuLmM1MzljZGU2M2I0YjRk
Mjc3MWM2OWNmZjdkNTliN2YxMjU4NWI4MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwCkBAIC00MCw3ICs0
MCw3IEBAIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6
ZnJvbShXb3JrZXJHbG9iYWxTY29wZSYgc2NvcGUpCiB7CiAgICAgYXV0byogc3VwcGxlbWVudCA9
IHN0YXRpY19jYXN0PFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKj4oU3VwcGxlbWVudDxXb3JrZXJH
bG9iYWxTY29wZT46OmZyb20oJnNjb3BlLCBzdXBwbGVtZW50TmFtZSgpKSk7CiAgICAgaWYgKCFz
dXBwbGVtZW50KSB7Ci0gICAgICAgIGF1dG8gbmV3U3VwcGxlbWVudCA9IHN0ZDo6bWFrZV91bmlx
dWU8V29ya2VyR2xvYmFsU2NvcGVDYWNoZXM+KCk7CisgICAgICAgIGF1dG8gbmV3U3VwcGxlbWVu
dCA9IHN0ZDo6bWFrZV91bmlxdWU8V29ya2VyR2xvYmFsU2NvcGVDYWNoZXM+KHNjb3BlKTsKICAg
ICAgICAgc3VwcGxlbWVudCA9IG5ld1N1cHBsZW1lbnQuZ2V0KCk7CiAgICAgICAgIHByb3ZpZGVU
bygmc2NvcGUsIHN1cHBsZW1lbnROYW1lKCksIFdURk1vdmUobmV3U3VwcGxlbWVudCkpOwogICAg
IH0KQEAgLTU1LDcgKzU1LDcgQEAgQ2FjaGVTdG9yYWdlKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hl
czo6Y2FjaGVzKFdvcmtlckdsb2JhbFNjb3BlJiBzY29wZSkKIENhY2hlU3RvcmFnZSogV29ya2Vy
R2xvYmFsU2NvcGVDYWNoZXM6OmNhY2hlcygpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2NhY2hlcykK
LSAgICAgICAgbV9jYWNoZXMgPSBDYWNoZVN0b3JhZ2U6OmNyZWF0ZSgpOworICAgICAgICBtX2Nh
Y2hlcyA9IENhY2hlU3RvcmFnZTo6Y3JlYXRlKG1fc2NvcGUsIENhY2hlU3RvcmFnZUNvbm5lY3Rp
b246OmNyZWF0ZSgpKTsKICAgICByZXR1cm4gbV9jYWNoZXMuZ2V0KCk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMu
aAppbmRleCA3OTVlYmQ2MTllMjQyMWQ0Y2ViMWI3OGNkZWU0MzNlMTIzNTE0ODZkLi5mNmNjODUx
ZTA4NWUxZDNhNWMyM2NhYzZlYjdkM2U2ZmFjMzk3NjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oCkBAIC0zNCw3
ICszNCw3IEBAIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlOwogCiBjbGFzcyBXb3JrZXJHbG9iYWxT
Y29wZUNhY2hlcyA6IHB1YmxpYyBTdXBwbGVtZW50PFdvcmtlckdsb2JhbFNjb3BlPiB7CiBwdWJs
aWM6Ci0gICAgV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMoKSA9IGRlZmF1bHQ7CisgICAgV29ya2Vy
R2xvYmFsU2NvcGVDYWNoZXMoV29ya2VyR2xvYmFsU2NvcGUmIHNjb3BlKSA6IG1fc2NvcGUoc2Nv
cGUpIHsgfTsKIAogICAgIHN0YXRpYyBDYWNoZVN0b3JhZ2UqIGNhY2hlcyhXb3JrZXJHbG9iYWxT
Y29wZSYpOwogCkBAIC00Myw2ICs0Myw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGNvbnN0IGNo
YXIqIHN1cHBsZW1lbnROYW1lKCk7CiAgICAgQ2FjaGVTdG9yYWdlKiBjYWNoZXMoKSBjb25zdDsK
IAorICAgIFdvcmtlckdsb2JhbFNjb3BlJiBtX3Njb3BlOwogICAgIG11dGFibGUgUmVmUHRyPENh
Y2hlU3RvcmFnZT4gbV9jYWNoZXM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoQm9keU93bmVyLmgKaW5kZXggNWI4M2QyNjcxZjBjZjQ5ZjgxMzVmNzAxOWQxYmZj
YWVjNTExYzUyZi4uMzQxZjFmYWM0MmY0NjNmZWRkMDFiZGY4ZTVhN2NhNDJmMDY5MzYwMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuaApAQCAtNTcs
NiArNTcsOCBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzQWN0aXZlKCkgY29uc3QgeyByZXR1cm4g
ISFtX2Jsb2JMb2FkZXI7IH0KIAorICAgIGJvb2wgaXNSZWFkYWJsZVN0cmVhbUJvZHkoKSBjb25z
dCB7IHJldHVybiBtX2JvZHkgJiYgbV9ib2R5LT5pc1JlYWRhYmxlU3RyZWFtKCk7IH0KKwogcHJv
dGVjdGVkOgogICAgIGNvbnN0IEZldGNoQm9keSYgYm9keSgpIGNvbnN0IHsgcmV0dXJuICptX2Jv
ZHk7IH0KICAgICBGZXRjaEJvZHkmIGJvZHkoKSB7IHJldHVybiAqbV9ib2R5OyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaAppbmRleCBmYzNiMTA4YjlhMmQ1
YWU1ODM3YzIzYzc5MWZlMjA5Y2I2ODMzMmM4Li5mZWUxZjhmMWYzODA5M2IwZDMzNWI5MThkOTFk
Y2U0NGZjZDk3ZDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoSGVhZGVycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFk
ZXJzLmgKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5j
bHVkZSAiSFRUUEhlYWRlck1hcC5oIgorI2luY2x1ZGUgPHd0Zi9FbnVtVHJhaXRzLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hUcmFpdHMuaD4KICNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTQ5LDcgKzUwLDcgQEAgcHVibGljOgogICAgIHVzaW5nIElu
aXQgPSBWYXJpYW50PFZlY3RvcjxWZWN0b3I8U3RyaW5nPj4sIFZlY3RvcjxXVEY6OktleVZhbHVl
UGFpcjxTdHJpbmcsIFN0cmluZz4+PjsKICAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPEZldGNo
SGVhZGVycz4+IGNyZWF0ZShzdGQ6Om9wdGlvbmFsPEluaXQ+JiYpOwogCi0gICAgc3RhdGljIFJl
ZjxGZXRjaEhlYWRlcnM+IGNyZWF0ZShHdWFyZCBndWFyZCA9IEd1YXJkOjpOb25lKSB7IHJldHVy
biBhZG9wdFJlZigqbmV3IEZldGNoSGVhZGVycyB7IGd1YXJkIH0pOyB9CisgICAgc3RhdGljIFJl
ZjxGZXRjaEhlYWRlcnM+IGNyZWF0ZShHdWFyZCBndWFyZCA9IEd1YXJkOjpOb25lLCBIVFRQSGVh
ZGVyTWFwJiYgaGVhZGVycyA9IHsgfSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBGZXRjaEhlYWRl
cnMgeyBndWFyZCwgV1RGTW92ZShoZWFkZXJzKSB9KTsgfQogICAgIHN0YXRpYyBSZWY8RmV0Y2hI
ZWFkZXJzPiBjcmVhdGUoY29uc3QgRmV0Y2hIZWFkZXJzJiBoZWFkZXJzKSB7IHJldHVybiBhZG9w
dFJlZigqbmV3IEZldGNoSGVhZGVycyB7IGhlYWRlcnMgfSk7IH0KIAogICAgIEV4Y2VwdGlvbk9y
PHZvaWQ+IGFwcGVuZChjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUpOwpA
QCAtODIsOSArODMsMTAgQEAgcHVibGljOgogICAgIGNvbnN0IEhUVFBIZWFkZXJNYXAmIGludGVy
bmFsSGVhZGVycygpIGNvbnN0IHsgcmV0dXJuIG1faGVhZGVyczsgfQogCiAgICAgdm9pZCBzZXRH
dWFyZChHdWFyZCk7CisgICAgR3VhcmQgZ3VhcmQoKSBjb25zdCB7IHJldHVybiBtX2d1YXJkOyB9
CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgRmV0Y2hIZWFkZXJzKEd1YXJkIGd1YXJkLCBIVFRQ
SGVhZGVyTWFwJiYgaGVhZGVycyA9IHsgfSk7CisgICAgRmV0Y2hIZWFkZXJzKEd1YXJkLCBIVFRQ
SGVhZGVyTWFwJiYpOwogICAgIEZldGNoSGVhZGVycyhjb25zdCBGZXRjaEhlYWRlcnMmKTsKIAog
ICAgIEd1YXJkIG1fZ3VhcmQ7CkBAIC0xMTEsMyArMTEzLDE4IEBAIGlubGluZSB2b2lkIEZldGNo
SGVhZGVyczo6c2V0R3VhcmQoR3VhcmQgZ3VhcmQpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2Vi
Q29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZD4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1
ZXM8CisgICAgV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZCwKKyAgICBXZWJDb3JlOjpGZXRj
aEhlYWRlcnM6Okd1YXJkOjpOb25lLAorICAgIFdlYkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQ6
OkltbXV0YWJsZSwKKyAgICBXZWJDb3JlOjpGZXRjaEhlYWRlcnM6Okd1YXJkOjpSZXF1ZXN0LAor
ICAgIFdlYkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQ6OlJlcXVlc3ROb0NvcnMsCisgICAgV2Vi
Q29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZDo6UmVzcG9uc2UKKyAgICA+OworfTsKKworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcAppbmRleCA0YzJiZjgz
YzQzM2RkOTA2NDcwMzZmM2NkM2RlMmY4MmJlYzg4OGQ5Li5iNDQ1MzJlYWVjYzQyNWE2MjcwYzUw
MDllODRiMDkwNmVjNzI5MjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoTG9hZGVyLmNwcApAQCAtODEsNyArODEsNyBAQCB2b2lkIEZldGNoTG9hZGVyOjpzdGFydChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBGZXRjaFJlcXVlc3QmIHJlcQog
ICAgIG9wdGlvbnMuZGF0YUJ1ZmZlcmluZ1BvbGljeSA9IERvTm90QnVmZmVyRGF0YTsKICAgICBv
cHRpb25zLnNhbWVPcmlnaW5EYXRhVVJMRmxhZyA9IFNhbWVPcmlnaW5EYXRhVVJMRmxhZzo6U2V0
OwogCi0gICAgUmVzb3VyY2VSZXF1ZXN0IGZldGNoUmVxdWVzdCA9IHJlcXVlc3QuaW50ZXJuYWxS
ZXF1ZXN0KCk7CisgICAgUmVzb3VyY2VSZXF1ZXN0IGZldGNoUmVxdWVzdCA9IHJlcXVlc3QucmVz
b3VyY2VSZXF1ZXN0KCk7CiAKICAgICBBU1NFUlQoY29udGV4dC5jb250ZW50U2VjdXJpdHlQb2xp
Y3koKSk7CiAgICAgYXV0byYgY29udGVudFNlY3VyaXR5UG9saWN5ID0gKmNvbnRleHQuY29udGVu
dFNlY3VyaXR5UG9saWN5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNo
UmVxdWVzdC5jcHAKaW5kZXggZTY2YzE1Yzk5NGNlNTFlZGQ1NDkzYWQyNTg3NDJkZGU2OGNhM2Q0
Yi4uOGQwYzIzODc4M2JhZjAzODRkMjdjNGQ0OGY2MTdjNjEwMjc2OWU4MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcApAQCAtNzQsNyArNzQsNyBA
QCBzdGF0aWMgc3RkOjpvcHRpb25hbDxFeGNlcHRpb24+IHNldFJlZmVycmVyKEZldGNoUmVxdWVz
dDo6SW50ZXJuYWxSZXF1ZXN0JiByZXF1ZQogCiBzdGF0aWMgc3RkOjpvcHRpb25hbDxFeGNlcHRp
b24+IGJ1aWxkT3B0aW9ucyhGZXRjaFJlcXVlc3Q6OkludGVybmFsUmVxdWVzdCYgcmVxdWVzdCwg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmV0Y2hSZXF1ZXN0OjpJbml0
JiBpbml0KQogewotICAgIGlmICghaW5pdC53aW5kb3cuaXNVbmRlZmluZWRPck51bGwoKSkKKyAg
ICBpZiAoIWluaXQud2luZG93LmlzVW5kZWZpbmVkT3JOdWxsKCkgJiYgIWluaXQud2luZG93Lmlz
RW1wdHkoKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRl
cmFsKCJXaW5kb3cgY2FuIG9ubHkgYmUgbnVsbC4iKSB9OwogCiAgICAgaWYgKCFpbml0LnJlZmVy
cmVyLmlzTnVsbCgpKSB7CkBAIC0yNjQsNyArMjY0LDcgQEAgY29uc3QgU3RyaW5nJiBGZXRjaFJl
cXVlc3Q6OnVybCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcmVxdWVzdFVSTDsKIH0KIAotUmVzb3Vy
Y2VSZXF1ZXN0IEZldGNoUmVxdWVzdDo6aW50ZXJuYWxSZXF1ZXN0KCkgY29uc3QKK1Jlc291cmNl
UmVxdWVzdCBGZXRjaFJlcXVlc3Q6OnJlc291cmNlUmVxdWVzdCgpIGNvbnN0CiB7CiAgICAgQVNT
RVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZldGNoL0ZldGNoUmVxdWVzdC5oCmluZGV4IDFmMGIxNmU4YTVhMTc5ZjBmZWFjMGI1OTdkZDU4
NzQ5ZmFlZGFiZGQuLjYxZGNkMmM1ODYzMzA5N2QxZTYyZTZjNWE5MWViMTAwMjE3NzljMzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaApAQCAtNTMsMTEg
KzUzLDE5IEBAIHB1YmxpYzoKICAgICB1c2luZyBSZWRpcmVjdCA9IEZldGNoT3B0aW9uczo6UmVk
aXJlY3Q7CiAgICAgdXNpbmcgVHlwZSA9IEZldGNoT3B0aW9uczo6VHlwZTsKIAorICAgIHN0cnVj
dCBJbnRlcm5hbFJlcXVlc3QgeworICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdDsKKyAg
ICAgICAgRmV0Y2hPcHRpb25zIG9wdGlvbnM7CisgICAgICAgIFN0cmluZyByZWZlcnJlcjsKKyAg
ICB9OworCiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxGZXRjaFJlcXVlc3Q+PiBjcmVhdGUo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEluZm8mJiwgSW5pdCYmKTsKKyAgICBzdGF0aWMgUmVm
PEZldGNoUmVxdWVzdD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0
ZDo6b3B0aW9uYWw8RmV0Y2hCb2R5PiYmIGJvZHksIFJlZjxGZXRjaEhlYWRlcnM+JiYgaGVhZGVy
cywgSW50ZXJuYWxSZXF1ZXN0JiYgcmVxdWVzdCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBGZXRj
aFJlcXVlc3QoY29udGV4dCwgV1RGTW92ZShib2R5KSwgV1RGTW92ZShoZWFkZXJzKSwgV1RGTW92
ZShyZXF1ZXN0KSkpOyB9CiAKICAgICBjb25zdCBTdHJpbmcmIG1ldGhvZCgpIGNvbnN0IHsgcmV0
dXJuIG1faW50ZXJuYWxSZXF1ZXN0LnJlcXVlc3QuaHR0cE1ldGhvZCgpOyB9CiAgICAgY29uc3Qg
U3RyaW5nJiB1cmwoKSBjb25zdDsKICAgICBGZXRjaEhlYWRlcnMmIGhlYWRlcnMoKSB7IHJldHVy
biBtX2hlYWRlcnMuZ2V0KCk7IH0KKyAgICBjb25zdCBGZXRjaEhlYWRlcnMmIGhlYWRlcnMoKSBj
b25zdCB7IHJldHVybiBtX2hlYWRlcnMuZ2V0KCk7IH0KIAogICAgIFR5cGUgdHlwZSgpIGNvbnN0
OwogICAgIERlc3RpbmF0aW9uIGRlc3RpbmF0aW9uKCkgY29uc3Q7CkBAIC03MywxNyArODEsMTQg
QEAgcHVibGljOgogCiAgICAgRXhjZXB0aW9uT3I8UmVmPEZldGNoUmVxdWVzdD4+IGNsb25lKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKIAotICAgIHN0cnVjdCBJbnRlcm5hbFJlcXVlc3Qgewot
ICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdDsKLSAgICAgICAgRmV0Y2hPcHRpb25zIG9w
dGlvbnM7Ci0gICAgICAgIFN0cmluZyByZWZlcnJlcjsKLSAgICB9OworICAgIGNvbnN0IEludGVy
bmFsUmVxdWVzdCYgaW50ZXJuYWxSZXF1ZXN0KCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJl
cXVlc3Q7IH0KIAogICAgIGNvbnN0IEZldGNoT3B0aW9ucyYgZmV0Y2hPcHRpb25zKCkgY29uc3Qg
eyByZXR1cm4gbV9pbnRlcm5hbFJlcXVlc3Qub3B0aW9uczsgfQotICAgIFJlc291cmNlUmVxdWVz
dCBpbnRlcm5hbFJlcXVlc3QoKSBjb25zdDsKKyAgICBSZXNvdXJjZVJlcXVlc3QgcmVzb3VyY2VS
ZXF1ZXN0KCkgY29uc3Q7CiAgICAgYm9vbCBpc0JvZHlSZWFkYWJsZVN0cmVhbSgpIGNvbnN0IHsg
cmV0dXJuICFpc0JvZHlOdWxsKCkgJiYgYm9keSgpLmlzUmVhZGFibGVTdHJlYW0oKTsgfQogCiAg
ICAgY29uc3QgU3RyaW5nJiBpbnRlcm5hbFJlcXVlc3RSZWZlcnJlcigpIGNvbnN0IHsgcmV0dXJu
IG1faW50ZXJuYWxSZXF1ZXN0LnJlZmVycmVyOyB9CisgICAgY29uc3QgVVJMJiBpbnRlcm5hbFJl
cXVlc3RVUkwoKSBjb25zdCB7IHJldHVybiBtX2ludGVybmFsUmVxdWVzdC5yZXF1ZXN0LnVybCgp
OyB9CiAKIHByaXZhdGU6CiAgICAgRmV0Y2hSZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
LCBzdGQ6Om9wdGlvbmFsPEZldGNoQm9keT4mJiwgUmVmPEZldGNoSGVhZGVycz4mJiwgSW50ZXJu
YWxSZXF1ZXN0JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaFJlc3BvbnNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9u
c2UuaAppbmRleCA1NDBlNjdiMzljY2QzYWRiZDgxMGI0YmI3NjM3MDc2MjFkZWZjY2E5Li42OGYy
NGQwN2YzNjJmNjZkYWFlZDFiMWQwNmFhYjBkNWJmMTcwYjkzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaApAQCAtNTcsNiArNTcsOCBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIFJlZjxGZXRjaFJlc3BvbnNlPiBlcnJvcihTY3JpcHRFeGVjdXRpb25Db250
ZXh0Jik7CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxGZXRjaFJlc3BvbnNlPj4gcmVkaXJl
Y3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFN0cmluZyYgdXJsLCBpbnQgc3RhdHVz
KTsKIAorICAgIHN0YXRpYyBSZWY8RmV0Y2hSZXNwb25zZT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6b3B0aW9uYWw8RmV0Y2hCb2R5PiYmIGJvZHksIFJlZjxG
ZXRjaEhlYWRlcnM+JiYgaGVhZGVycywgUmVzb3VyY2VSZXNwb25zZSYmIHJlc3BvbnNlKSB7IHJl
dHVybiBhZG9wdFJlZigqbmV3IEZldGNoUmVzcG9uc2UoY29udGV4dCwgV1RGTW92ZShib2R5KSwg
V1RGTW92ZShoZWFkZXJzKSwgV1RGTW92ZShyZXNwb25zZSkpKTsgfQorCiAgICAgdXNpbmcgRmV0
Y2hQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNl
Pj47CiAgICAgc3RhdGljIHZvaWQgZmV0Y2goU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEZldGNo
UmVxdWVzdCYsIEZldGNoUHJvbWlzZSYmKTsKIApAQCAtNzgsNiArODAsNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBvaygpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2UuaXNTdWNjZXNzZnVsKCk7IH0K
ICAgICBjb25zdCBTdHJpbmcmIHN0YXR1c1RleHQoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNl
Lmh0dHBTdGF0dXNUZXh0KCk7IH0KIAorICAgIGNvbnN0IEZldGNoSGVhZGVycyYgaGVhZGVycygp
IGNvbnN0IHsgcmV0dXJuIG1faGVhZGVyczsgfQogICAgIEZldGNoSGVhZGVycyYgaGVhZGVycygp
IHsgcmV0dXJuIG1faGVhZGVyczsgfQogICAgIFJlZjxGZXRjaFJlc3BvbnNlPiBjbG9uZUZvckpT
KCk7CiAKQEAgLTkwLDYgKzkzLDggQEAgcHVibGljOgogCiAgICAgYm9vbCBpc0xvYWRpbmcoKSBj
b25zdCB7IHJldHVybiAhIW1fYm9keUxvYWRlcjsgfQogCisgICAgY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYgcmVzcG9uc2UoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlOyB9CisKIHByaXZhdGU6
CiAgICAgRmV0Y2hSZXNwb25zZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwgc3RkOjpvcHRpb25h
bDxGZXRjaEJvZHk+JiYsIFJlZjxGZXRjaEhlYWRlcnM+JiYsIFJlc291cmNlUmVzcG9uc2UmJik7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCA2OWYwODE4ZDMwMGNjZmEwZGY3ZWU3YWYwY2YzMGM4YzRmNjUxYmNmLi44NTE5MDE2
OTk3ZDUxNzVlOTk2ODkwODU1ZjJhNDAxNGY0NzgzYWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNzg0LDYgKzE3ODQsMTQg
QEAKIAkJNDFDRjhCRTcxRDQ2MjI2NzAwNzA3REM5IC8qIEZldGNoQm9keUNvbnN1bWVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQ0Y4QkU0MUQ0
NjIyMjAwMDcwN0RDOSAvKiBGZXRjaEJvZHlDb25zdW1lci5jcHAgKi87IH07CiAJCTQxRDAxNUNB
MEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMDE1QzgwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRl
bnRUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNDFEMDE1Q0IwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDAxNUM5MEY0QjVDNzEwMDRB
NjYyRiAvKiBDb250ZW50VHlwZS5jcHAgKi87IH07CisJCTQxRDEyOUNFMUYzRDBFRjYwMEQxNUU0
NyAvKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDFGQjI3OEQxRjM0QzI4MjAwNzk1NDg3IC8qIFdvcmtlckds
b2JhbFNjb3BlQ2FjaGVzLmggKi87IH07CisJCTQxRDEyOUNGMUYzRDBFRkUwMEQxNUU0NyAvKiBD
YWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQxRDEyOUM5MUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uLmNwcCAqLzsgfTsKKwkJNDFEMTI5RDAxRjNEMEYwNTAwRDE1RTQ3IC8qIENhY2hl
UXVlcnlPcHRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MUZCMjc5QjFGMzRDRUYwMDA3OTU0ODcgLyogQ2FjaGVRdWVyeU9wdGlvbnMuaCAqLzsg
fTsKKwkJNDFEMTI5RDExRjNEMEYwRTAwRDE1RTQ3IC8qIERPTVdpbmRvd0NhY2hlcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFGQjI3OEMxRjM0QzI4
MjAwNzk1NDg3IC8qIERPTVdpbmRvd0NhY2hlcy5oICovOyB9OworCQk0MUQxMjlEMjFGM0QwRjEy
MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUmVjb3JkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQxMjlDQTFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVT
dG9yYWdlUmVjb3JkLmggKi87IH07CisJCTQxRDEyOUQzMUYzRDBGMTYwMEQxNUU0NyAvKiBDYWNo
ZVN0b3JhZ2VDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MUQxMjlDQzFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVj
dGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTQxRDEyOUQ1MUYzRDBGNjkwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VQcm92aWRlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMTI5RDQxRjNEMEY2
NjAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVByb3ZpZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDFEMTI5REIxRjNEMTQzODAwRDE1RTQ3IC8q
IEZldGNoSGVhZGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDFGNTRGODMxQzUwQzRGNjAwMzM4NDg4IC8qIEZldGNoSGVhZGVycy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxREVGQ0I1MUU1NkMx
QkQwMDBEOUU1RiAvKiBKU0RPTU1hcExpa2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDFERUZDQjMxRTU2QzFCOTAwMEQ5RTVGIC8qIEpTRE9NTWFw
TGlrZS5jcHAgKi87IH07CiAJCTQxREVGQ0I2MUU1NkMxQkQwMDBEOUU1RiAvKiBKU0RPTU1hcExp
a2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxREVG
Q0I0MUU1NkMxQjkwMDBEOUU1RiAvKiBKU0RPTU1hcExpa2UuaCAqLzsgfTsKIAkJNDFFMUIxRDAw
RkY1OTg2OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRTFCMUNBMEZGNTk4NjkwMDU3NkIzQiAvKiBB
YnN0cmFjdFdvcmtlci5jcHAgKi87IH07CkBAIC05NDY1LDYgKzk0NzMsMTAgQEAKIAkJNDFDRjhC
RTYxRDQ2MjIyQzAwNzA3REM5IC8qIEZldGNoSW50ZXJuYWxzLmpzICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5qYXZhc2NyaXB0OyBwYXRoID0gRmV0Y2hJbnRlcm5hbHMuanM7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQxRDAxNUM4MEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlwZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb250ZW50VHlwZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MUQwMTVDOTBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVu
dFR5cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29udGVudFR5
cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUQxMjlDOTFGM0QwRUUzMDBE
MTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDFEMTI5Q0ExRjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFn
ZVJlY29yZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZVN0b3JhZ2VS
ZWNvcmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDFEMTI5Q0MxRjNEMEVFMzAw
RDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0MUQxMjlENDFGM0QwRjY2MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUHJvdmlk
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVTdG9yYWdlUHJvdmlk
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFENTFCQjIxRTRFMkU4MTAwMTMx
QTVCIC8qIExpYldlYlJUQ0F1ZGlvRm9ybWF0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IExpYldlYlJUQ0F1ZGlvRm9ybWF0Lmg7IHBhdGggPSBsaWJ3ZWJydGMvTGliV2ViUlRD
QXVkaW9Gb3JtYXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFERUZDQjIxRTU2
QzFCOTAwMEQ5RTVGIC8qIEpTRE9NQmluZGluZ0ludGVybmFscy5qcyAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9IEpTRE9NQmluZGluZ0ludGVybmFscy5qczsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFERUZDQjMxRTU2QzFCOTAwMEQ5RTVGIC8qIEpTRE9N
TWFwTGlrZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTU1h
cExpa2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTc2NzQsNiArMTc2ODYs
OSBAQAogCQkJCTQxMzgwQzIxMUYzNDM2OEQwMDE1NUZEQSAvKiBDYWNoZVN0b3JhZ2UuY3BwICov
LAogCQkJCTQxMzgwQzIyMUYzNDM2OTAwMDE1NUZEQSAvKiBDYWNoZVN0b3JhZ2UuaCAqLywKIAkJ
CQk0MTM4MEMyNDFGMzQzNjk3MDAxNTVGREEgLyogQ2FjaGVTdG9yYWdlLmlkbCAqLywKKwkJCQk0
MUQxMjlDOTFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAgKi8s
CisJCQkJNDFEMTI5Q0MxRjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24u
aCAqLywKKwkJCQk0MUQxMjlDQTFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUmVjb3Jk
LmggKi8sCiAJCQkJNDFGQjI3OEUxRjM0QzI4MjAwNzk1NDg3IC8qIERPTVdpbmRvd0NhY2hlcy5j
cHAgKi8sCiAJCQkJNDFGQjI3OEMxRjM0QzI4MjAwNzk1NDg3IC8qIERPTVdpbmRvd0NhY2hlcy5o
ICovLAogCQkJCTQxMzgwQzJCMUYzNDNFMkYwMDE1NUZEQSAvKiBET01XaW5kb3dDYWNoZXMuaWRs
ICovLApAQCAtMTkyNzIsNiArMTkyODcsNyBAQAogCQkJCUJDMTI0RUU2MEMyNjQxQ0QwMDlFMjM0
OSAvKiBCYXJQcm9wLmlkbCAqLywKIAkJCQk0NjBCQjYxMzFEMEExQkVDMDAyMjE4MTIgLyogQmFz
ZTY0VXRpbGl0aWVzLmNwcCAqLywKIAkJCQk0NjBCQjYxNDFEMEExQkVDMDAyMjE4MTIgLyogQmFz
ZTY0VXRpbGl0aWVzLmggKi8sCisJCQkJNDFEMTI5RDQxRjNEMEY2NjAwRDE1RTQ3IC8qIENhY2hl
U3RvcmFnZVByb3ZpZGVyLmggKi8sCiAJCQkJMDcyQ0E4NjAxNkNCNERDMzAwOEFFMTMxIC8qIENh
cHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwICovLAogCQkJCTA3OUQwODY3MTYyRjIwRTgwMERCODY1
OCAvKiBDYXB0aW9uVXNlclByZWZlcmVuY2VzLmggKi8sCiAJCQkJMDc5RDA4NkExNjJGMjFGOTAw
REI4NjU4IC8qIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcCAqLywKQEAgLTI2NTYz
LDcgKzI2NTc5LDYgQEAKIAkJCQkyOUFDQjIxMjE0M0U3MTI4MDA2QkNBNUYgLyogQWNjZXNzaWJp
bGl0eU1vY2tPYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTI5QTgxMjM2MEZCQjlDMUQwMDUx
MDI5MyAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNDA5Qzk4
NTExNkQwREREMDA3MTk3QkQgLyogQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmggaW4g
SGVhZGVycyAqLywKLQkJCQk1MUYxNzU2NDFGM0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdvcmtl
ckpvYkNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjlBODEyMzkwRkJCOUMxRDAwNTEwMjkz
IC8qIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzQzRG
NkVCMTEwOEY5QTUwMDk5RDBEQiAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xsYmFyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkyOTQ4OUZDNzEyQzAwRjAzMDBEODNGMEYgLyogQWNjZXNzaWJpbGl0eVNjcm9s
bFZpZXcuaCBpbiBIZWFkZXJzICovLApAQCAtMjY3ODksNyArMjY4MDQsMTEgQEAKIAkJCQkwNzUz
ODYwMzE0NDg5RTk4MDBCNzg0NTIgLyogQ2FjaGVkVGV4dFRyYWNrLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQ0IxNkMyODA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVldC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk5NTAwODI0NUU1OTAwMUU5QUJDIC8qIENhY2hlUG9saWN5
LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUQxMjlEMDFGM0QwRjA1MDBEMTVFNDcgLyogQ2FjaGVR
dWVyeU9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxMzgwQzI5MUYzNDM2QUMwMDE1NUZE
QSAvKiBDYWNoZVN0b3JhZ2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxRDEyOUQzMUYzRDBGMTYw
MEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk0
MUQxMjlENTFGM0QwRjY5MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTQxRDEyOUQyMUYzRDBGMTIwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VSZWNv
cmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0M0FGOEU3MUFDNUI3RUMwMENBNzE3RSAvKiBDYWNo
ZVZhbGlkYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5QUUyRDk3MTM0RUU1RjkwMDcyOTIw
QSAvKiBDYWxjdWxhdGlvblZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzFFOEQwMTFFRDBD
MkRBMDBCMUQ5ODMgLyogQ2FsbGJhY2tSZXN1bHQuaCBpbiBIZWFkZXJzICovLApAQCAtMjY4NTAs
NyArMjY4NjksNiBAQAogCQkJCUJDREQ0NTRFMTIzNkM5NUMwMDlBNzk4NSAvKiBDb2x1bW5JbmZv
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0M0VERDY3RjFCNDg1REJGMDA2NDBFNzUgLyogQ29tYmlu
ZWRGaWx0ZXJzQWxwaGFiZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTI2RTk0NEQ5MUFDNEIyREQw
MDdCODVCNSAvKiBDb21iaW5lZFVSTEZpbHRlcnMuaCBpbiBIZWFkZXJzICovLAotCQkJCTUxRjE3
NTY5MUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQTU4NEZFMzUxODY0RDVBRjAwODQzQjEwIC8qIENvbW1hbmRM
aW5lQVBJSG9zdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU4NEZFMkMxODYzODcwRjAwODQzQjEw
IC8qIENvbW1hbmRMaW5lQVBJTW9kdWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTg0RkUyNjE4
NjM3REFCMDA4NDNCMTAgLyogQ29tbWFuZExpbmVBUElNb2R1bGVTb3VyY2UuaCBpbiBIZWFkZXJz
ICovLApAQCAtMjcxOTIsNyArMjcyMTAsNiBAQAogCQkJCTgzNzJEQjMxMUE2NzgwQTgwMEM2OTdD
NSAvKiBEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUNF
Q0FERkM3MTUzNzc4RkYwMEUzNzA2OCAvKiBEaWN0YXRpb25BbHRlcm5hdGl2ZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQ0VDQURGQzkxNTM3NzhGRjAwRTM3MDY4IC8qIERpY3RhdGlvbkNvbW1hbmQu
aCBpbiBIZWFkZXJzICovLAotCQkJCTUxRjE3NTYzMUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2aWNl
V29ya2VySm9iLmggaW4gSGVhZGVycyAqLywKIAkJCQlEMEJENEY1RDE0MDg4NTBGMDA2ODM5QjYg
LyogRGljdGF0aW9uQ29tbWFuZElPUy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM3RkYzRDUxQTEw
MTJENjAwOEVCQTMxIC8qIERpY3Rpb25hcnlMb29rdXAuaCBpbiBIZWFkZXJzICovLAogCQkJCTJE
NTY0NkIwMUI4Rjg0OTMwMDNDNDk5NCAvKiBEaWN0aW9uYXJ5UG9wdXBJbmZvLmggaW4gSGVhZGVy
cyAqLywKQEAgLTI3MjQ2LDcgKzI3MjYzLDYgQEAKIAkJCQlBOUM2RTRFODBENzQ1RTE4MDA2NDQy
RTkgLyogRE9NTWltZVR5cGVBcnJheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTJCNkM5QzMxNUUz
RjRERjAwNjkwQjA1IC8qIERPTU5hbWVkRmxvd0NvbGxlY3Rpb24uaCBpbiBIZWFkZXJzICovLAog
CQkJCTFBQ0U1M0U4MEE4RDE4RTcwMDIyOTQ3RCAvKiBET01QYXJzZXIuaCBpbiBIZWFkZXJzICov
LAotCQkJCTUxRjE3NTVGMUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyQ29udGFpbmVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QTU0ODgxNzE0RTQzMkExMDA2QUUwNUEgLyogRE9NUGF0
Y2hTdXBwb3J0LmggaW4gSGVhZGVycyAqLywKIAkJCQlGQjkxMzkyNDE2QUU0QzE3MDAxRkU2ODIg
LyogRE9NUGF0aC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTlDNkU0RUMwRDc0NUUyQjAwNjQ0MkU5
IC8qIERPTVBsdWdpbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzI3MCw2ICsyNzI4Niw3IEBACiAJ
CQkJMkUzN0RGREIxMkRCQUZCODAwQTZCMjMzIC8qIERPTVVSTC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQ0Q5REUxODIxN0FBRDZBNDAwRUEzODZEIC8qIERPTVVSTE1lZGlhU291cmNlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxNDAzQjk5NzA5RUIxM0FGMDA3OTdDN0YgLyogRE9NV2luZG93LmggaW4g
SGVhZGVycyAqLywKKwkJCQk0MUQxMjlEMTFGM0QwRjBFMDBEMTVFNDcgLyogRE9NV2luZG93Q2Fj
aGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUZBMkQ3ODE1MjEzMkIzMDBDMUJBMEIgLyogRE9N
V2luZG93RXh0ZW5zaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTg1RkM3NTFCQjRDNEU4MDAx
Mjg5OEYgLyogRE9NV2luZG93SW5kZXhlZERhdGFiYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5
N0QyQUQwNDE0QjgyM0E2MDA5M0RGMzIgLyogRE9NV2luZG93UHJvcGVydHkuaCBpbiBIZWFkZXJz
ICovLApAQCAtMjczNjUsNiArMjczODIsNyBAQAogCQkJCTg0NzMwRDg1MTI0OEYwQjMwMEQzQTlD
OSAvKiBGRU1vcnBob2xvZ3kuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0NzMwRDg3MTI0OEYwQjMw
MEQzQTlDOSAvKiBGRU9mZnNldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ3MzBEODkxMjQ4RjBC
MzAwRDNBOUM5IC8qIEZFU3BlY3VsYXJMaWdodGluZy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFE
MTI5REIxRjNEMTQzODAwRDE1RTQ3IC8qIEZldGNoSGVhZGVycy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNDE2RTZGRTgxQkJEMTJERjAwMEE2MDIzIC8qIEZldGNoSW50ZXJuYWxzQnVpbHRpbnMuaCBp
biBIZWFkZXJzICovLAogCQkJCTQxQUQ3NTNBMUNFRjZCRDEwMEEzMTQ4NiAvKiBGZXRjaE9wdGlv
bnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDRTE5MTREMUYyQTlBRkIwMDI3MkY3OCAvKiBGZXRj
aFJlZmVycmVyUG9saWN5LmggaW4gSGVhZGVycyAqLywKQEAgLTI4MzI1LDcgKzI4MzQzLDYgQEAK
IAkJCQk1RTJDNDM3NDFCQ0YwRDc1MDAwMUUyQkMgLyogSlNSVENSdHBTZW5kZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTVFMkM0MzcyMUJDRjBENzUwMDAxRTJCRCAvKiBKU1JUQ1J0cFRyYW5zY2Vp
dmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTZEQ0IyMjFFNzhDQTU1MDAxQjVGODcgLyogSlNS
VENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTFGMTc1NkMx
RjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMDc5NjlEQkMxN0QxNDE1MTAwN0ZGODQyIC8qIEpTUlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTZEQ0I1MDFFNzkxMEE2MDAxQjVGODcgLyog
SlNSVENTaWduYWxpbmdTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc5NjlEQzIxN0QxNDE1
MTAwN0ZGODQyIC8qIEpTUlRDU3RhdHNSZXBvcnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjg0MTEs
NyArMjg0MjgsNiBAQAogCQkJCUIyRkEzRDgxMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0ZFRnVu
Y1JFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0Q4MzBBQjc1QTZGMDAwRTVBQzQg
LyogSlNTVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEz
RDg1MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0ZFSW1hZ2VFbGVtZW50LmggaW4gSGVhZGVycyAq
LywKLQkJCQk1MUYxNzU2ODFGM0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNEODcwQUI3NUE2RjAwMEU1QUM0IC8qIEpT
U1ZHRkVNZXJnZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRDg5MEFCNzVBNkYw
MDBFNUFDNCAvKiBKU1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
ODQyMjQxODQxMDdFNzdGNDAwNzY2QTg3IC8qIEpTU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0yODY4NSw3ICsyODcwMSw2IEBACiAJCQkJQTUxNkU4QjcxMzZFMDRE
QjAwNzZDM0MwIC8qIExvY2FsaXplZERhdGVDYWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM1
MjA3QkUwOUJENDEwQTAwRjIwMzhEIC8qIExvY2FsaXplZFN0cmluZ3MuaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDRTFDNDFCMEQ5ODI5ODAwMDNCMDJGMiAvKiBMb2NhdGlvbi5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJNTFGMTc1NjExRjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgyMzlFMDEwOUIzQ0Y4QTAwQjYwNjQxIC8qIExv
Z2dpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTlCQTI3M0Y0MTcyMjA2QkIwMDk3Q0U0NyAvKiBM
b2dpY2FsU2VsZWN0aW9uT2Zmc2V0Q2FjaGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkRDRDdG
MzFENDdFNjU1MDA5RjA4QkMgLyogTG9nSW5pdGlhbGl6YXRpb24uaCBpbiBIZWFkZXJzICovLApA
QCAtMjkwNTMsNyArMjkwNjgsNiBAQAogCQkJCTkzNUM0NzY4MDlBQzRENDMwMEE2QUFCNCAvKiBQ
bGF0Zm9ybUtleWJvYXJkRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTA1NjJGOTYxMTU3M0Y4
OEYwMDMxQ0ExNiAvKiBQbGF0Zm9ybUxheWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNTQ0Rjc4
OTE1Q0ZCMkE4MDBBRjMzQTggLyogUGxhdGZvcm1Mb2NhbGUuaCBpbiBIZWFkZXJzICovLAotCQkJ
CTUxRjE3NTVEMUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlDRUVGQ0Q3QzE5REIzM0RDMDAzODc2RDcgLyogUGxhdGZvcm1NZWRpYVJlc291cmNl
TG9hZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzBFMDkxOTE4NzVFRUZDMDAzQTFEM0MgLyog
UGxhdGZvcm1NZWRpYVNlc3Npb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTA3Rjk0NDE2MTg2NEQw
NDYwMDVEMzFDQiAvKiBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCBpbiBIZWFkZXJzICov
LApAQCAtMjk0MjgsNyArMjk0NDIsNiBAQAogCQkJCUNBM0JGNjdFMTBEOTlCQUUwMEU2Q0U1MyAv
KiBTY3JvbGxBbmltYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYxNzc0ODAxMzc4Qjc3MjAw
OURBNzZBIC8qIFNjcm9sbEFuaW1hdG9ySU9TLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0FFMUZB
NzEyOTM5REI3MDA0Q0IwMjYgLyogU2Nyb2xsQW5pbWF0b3JNYWMuaCBpbiBIZWFkZXJzICovLAot
CQkJCTUxRjE3NTZCMUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
UGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUNCMzdGRkYxQzYyRDJBMTAwRjIwMTg4
IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk5QjgwODI0
NUU1OTAwMUU5QUJDIC8qIFNjcm9sbGJhci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM4Qjg1NEIw
RTdDN0Y1NjAwQUI2OTg0IC8qIFNjcm9sbGJhclRoZW1lLmggaW4gSGVhZGVycyAqLywKQEAgLTI5
NDk2LDYgKzI5NTA5LDE2IEBACiAJCQkJQTc1RTQ5NzYxMDc1MkFDQjAwQzlCODk2IC8qIFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE2RjdGNkQxQzMxRTM5QTAw
RjExMURDIC8qIFNlcnZlck9wZW5EQlJlcXVlc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTJEOTNB
RUUzMTlERjU2NDEwMDJBODZDMyAvKiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk1MUYxNzU1RDFGM0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdvcmtlci5o
IGluIEhlYWRlcnMgKi8sCisJCQkJNTFGMTc1NUYxRjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VX
b3JrZXJDb250YWluZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxRjE3NTYxMUYzRUJDODMwMEM3
NDk1MCAvKiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTUx
RjE3NTYzMUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VySm9iLmggaW4gSGVhZGVycyAq
LywKKwkJCQk1MUYxNzU2NDFGM0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdvcmtlckpvYkNsaWVu
dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTFGMTc1NjYxRjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZp
Y2VXb3JrZXJQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTFGMTc1NjgxRjNFQkM4MzAw
Qzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJ
CTUxRjE3NTY5MUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0
aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTFGMTc1NkIxRjNFQkM4MzAwQzc0OTUwIC8qIFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25QYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLywKKwkJCQk1
MUYxNzU2QzFGM0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk3NTZCMkNFMTE4QjcxMDE2MDBGRUNGQUEgLyogU2Vzc2lvbklE
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOUUxMDA5OUU2NDkyMDA1NkU1ODEgLyogU2V0Tm9k
ZUF0dHJpYnV0ZUNvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUI4REJEQjRDMTMwQjBGOEEw
MEY1Q0RCMSAvKiBTZXRTZWxlY3Rpb25Db21tYW5kLmggaW4gSGVhZGVycyAqLywKQEAgLTMwMDA4
LDcgKzMwMDMxLDYgQEAKIAkJCQkyRDdFRDBBQjFCQUU5OTE3MDA0M0IzRTUgLyogVGltZXJFdmVu
dEJhc2VkTW9jay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlFOTEyQUUwRUZBQzkwNjAwOUQwQ0FG
IC8qIFRpbWluZ0Z1bmN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjU0REQwODE4ODFENUY1
MDAzRUVEQkIgLyogVG91Y2guaCBpbiBIZWFkZXJzICovLAotCQkJCTUxRjE3NTY2MUYzRUJDODMw
MEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTBG
NTRERDA5MTg4MUQ1RjUwMDNFRURCQiAvKiBUb3VjaEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwRjU0REQwQTE4ODFENUY1MDAzRUVEQkIgLyogVG91Y2hMaXN0LmggaW4gSGVhZGVycyAqLywK
IAkJCQkwNzAzMzRENzE0NTlGRkQ1MDA4RDhENDUgLyogVHJhY2tCYXNlLmggaW4gSGVhZGVycyAq
LywKQEAgLTMwMjgwLDYgKzMwMzAyLDcgQEAKIAkJCQlBNTJBNjg2NjFEQkQ0QjVEMDA4MzM3M0Yg
LyogV29ya2VyRGVidWdnZXJBZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTNFMjY0MzExNDc0
ODk5MTAwNUE4NTg4IC8qIFdvcmtlckV2ZW50UXVldWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTJF
NDM0NjQ5MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJHbG9iYWxTY29wZS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNDFEMTI5Q0UxRjNEMEVGNjAwRDE1RTQ3IC8qIFdvcmtlckdsb2JhbFNjb3BlQ2Fj
aGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTg1RkNCNDFCQjRDNEU4MDAxMjg5OEYgLyogV29y
a2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0
NjRCMEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJHbG9iYWxTY29wZVByb3h5LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBNTRBMEM2MjFEQjdGOEMxMDAxN0E5MEIgLyogV29ya2VySW5zcGVjdG9yQ29u
dHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDg5Miw2ICszMDkxNSw3IEBACiAJCQkJMDc1
Mzg2MDIxNDQ4OUU5ODAwQjc4NDUyIC8qIENhY2hlZFRleHRUcmFjay5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlCQ0IxNkMyNzA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVldC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk0MTM4MEMyODFGMzQzNkFDMDAxNTVGREEgLyogQ2FjaGVT
dG9yYWdlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxRDEyOUNGMUYzRDBFRkUwMEQxNUU0NyAv
KiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0M0FGOEU2
MUFDNUI3RTgwMENBNzE3RSAvKiBDYWNoZVZhbGlkYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNDlBRTJEOTYxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGN1bGF0aW9uVmFsdWUuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJOTUyMDc2MDQxRjI2NzVGRTAwN0QyQUFCIC8qIENhbGxUcmFjZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCkBAIC0zMTIxOCw3ICszMTI0Miw2IEBACiAJCQkJQ0VDQURGQzYxNTM3
NzhGRjAwRTM3MDY4IC8qIERpY3RhdGlvbkFsdGVybmF0aXZlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUNFQ0FERkM4MTUzNzc4RkYwMEUzNzA2OCAvKiBEaWN0YXRpb25Db21tYW5kLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUQwQkQ0RjVDMTQwODg1MEYwMDY4MzlCNiAvKiBEaWN0YXRpb25Db21t
YW5kSU9TLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxRjE3NTZBMUYzRUJDODMwMEM3NDk1MCAv
KiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uUGFyYW1ldGVycy5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk5MzdGRjNENzFBMTAxMzFCMDA4RUJBMzEgLyogRGljdGlvbmFyeUxvb2t1cC5tbSBpbiBT
b3VyY2VzICovLAogCQkJCUZEQUYxOTk4MTUxM0QxMzEwMDhEQjBDMyAvKiBEaXJlY3RDb252b2x2
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0U0REUxMEQxOThCMTBCNjAwNTFDQjAyIC8qIERp
c2tDYWNoZU1vbml0b3JDb2NvYS5tbSBpbiBTb3VyY2VzICovLApAQCAtMzE3MzAsNyArMzE3NTMs
NiBAQAogCQkJCUE3Nzk3OTE5MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNTU1Qjg3RUMxQ0FBRjBBQjAwMzQ5NDI1IC8qIEltYWdlRGVjb2RlckNH
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3MjA1QUI1MTIzOTI5MTAwMEIxNzM4MCAvKiBJbWFn
ZURvY3VtZW50LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxRjE3NTVDMUYzRUJDODMwMEM3NDk1
MCAvKiBTZXJ2aWNlV29ya2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU1NzZBNTY0MUQ4OEE3
MDgwMENDQzA0QyAvKiBJbWFnZUZyYW1lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU1OTdGODI2
MUQ5MUMzMTMwMDY2QkMyMSAvKiBJbWFnZUZyYW1lQ2FjaGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRjU1QjNEQzExMjUxRjEyRDAwM0VGMjY5IC8qIEltYWdlSW5wdXRUeXBlLmNwcCBpbiBTb3Vy
Y2VzICovLApAQCAtMzIxMDUsNyArMzIxMjcsNiBAQAogCQkJCTFBRTJBQTJFMEExQ0RBQjQwMEI0
MkIyNSAvKiBKU0hUTUxIZWFkaW5nRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUUy
QUEzMDBBMUNEQUI0MDBCNDJCMjUgLyogSlNIVE1MSFJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTFBODVCMThGMEExQjE4QTIwMEQ4Qzg3QyAvKiBKU0hUTUxIdG1sRWxlbWVudC5jcHAg
aW4gU291cmNlcyAqLywKLQkJCQk1MUYxNzU2MjFGM0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdv
cmtlckpvYi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzQ5MThDODBCRkVBMDUwMDA5RDYzMTYg
LyogSlNIVE1MSUZyYW1lRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUUyQUE5NzBB
MUNERDJEMDBCNDJCMjUgLyogSlNIVE1MSW1hZ2VFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE4MEU3RTk4MEExQTgzRTMwMDdGQjhDNSAvKiBKU0hUTUxJbnB1dEVsZW1lbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCkBAIC0zMzEwNCw3ICszMzEyNSw2IEBACiAJCQkJMEZEMzA4RDUxMTdEMTY4
NTAwQTc5MUY3IC8qIFJlbmRlcklGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0VBNDg3
NTA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVySW1hZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MDhGMkYwMDkxMjEzRTYxNzAwRENFQzQ4IC8qIFJlbmRlckltYWdlUmVzb3VyY2UuY3BwIGluIFNv
dXJjZXMgKi8sCi0JCQkJNTFGMTc1NjcxRjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDg2NDFENDcxMjE0MkY3RDAwOERF
OUY2IC8qIFJlbmRlckltYWdlUmVzb3VyY2VTdHlsZUltYWdlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUJDRUE0ODc3MDk3RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJJbmxpbmUuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQkNFQTQ4NzkwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlckxheWVyLmNwcCBp
biBTb3VyY2VzICovLApAQCAtMzMxNDksNyArMzMxNjksNiBAQAogCQkJCUJDRTkzRjQ3MTUxN0M2
RDUwMDhDQ0Y3NCAvKiBSZW5kZXJSZWdpb25TZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg3
MURGRTIwQTE1Mzc2QjAwQjEyQTY4IC8qIFJlbmRlclJlcGxhY2VkLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUJDQTg0NkQ2MERDNjdBMzUwMDI2QzMwOSAvKiBSZW5kZXJSZXBsaWNhLmNwcCBpbiBT
b3VyY2VzICovLAotCQkJCTUxRjE3NTVFMUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2Vy
Q29udGFpbmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0NzlGQUVEMTA5QUUzNzUwMERFRDY1
NSAvKiBSZW5kZXJSdWJ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0NzlGQUVGMTA5QUUzNzUw
MERFRDY1NSAvKiBSZW5kZXJSdWJ5QmFzZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDc5RkFG
MTEwOUFFMzc1MDBERUQ2NTUgLyogUmVuZGVyUnVieVJ1bi5jcHAgaW4gU291cmNlcyAqLywKQEAg
LTMzMzUyLDYgKzMzMzcxLDEzIEBACiAJCQkJQTc1RTQ5NzcxMDc1MkFDQjAwQzlCODk2IC8qIFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTZGN0Y2RTFDMzFF
MzlDMDBGMTExREMgLyogU2VydmVyT3BlbkRCUmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkyRDkzQUVFNDE5REY1NjQxMDAyQTg2QzMgLyogU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5t
bSBpbiBTb3VyY2VzICovLAorCQkJCTUxRjE3NTVDMUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2aWNl
V29ya2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRjE3NTVFMUYzRUJDODMwMEM3NDk1MCAv
KiBTZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRjE3NTYw
MUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJNTFGMTc1NjIxRjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJKb2Iu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTFGMTc1NjUxRjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZp
Y2VXb3JrZXJQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MUYxNzU2NzFGM0VCQzgz
MDBDNzQ5NTAgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk1MUYxNzU2QTFGM0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
blBhcmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTExRjdENDQxRUIxQzM5MTAwRTQ3
QjgzIC8qIFNlc3Npb25JRC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzMwOUUwRjA5OUU2NDky
MDA1NkU1ODEgLyogU2V0Tm9kZUF0dHJpYnV0ZUNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQjhEQkRCNEIxMzBCMEY4QTAwRjVDREIxIC8qIFNldFNlbGVjdGlvbkNvbW1hbmQuY3BwIGlu
IFNvdXJjZXMgKi8sCkBAIC0zMzYyOSw3ICszMzY1NSw2IEBACiAJCQkJQkMyMjc0N0EwRTgzNjZF
MjAwRTdGOTc1IC8qIFNWR1JlbmRlclN0eWxlRGVmcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
MjIyN0FBMjBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHU2NyaXB0RWxlbWVudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlCMjIyN0FBNTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHU2V0RWxlbWVudC5jcHAg
aW4gU291cmNlcyAqLywKLQkJCQk1MUYxNzU2MDFGM0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdv
cmtlckdsb2JhbFNjb3BlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0QUZEMDBGMERBRjMzNTUw
MEY1RjU1QyAvKiBTVkdTTUlMRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMjIyN0FB
ODBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHU3RvcEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJN0MzOUMzNzYxRERCQjkwRDAwRkVGQjI5IC8qIFNWR1N0cmluZ0xpc3RWYWx1ZXMuY3BwIGlu
IFNvdXJjZXMgKi8sCkBAIC0zMzczMSw3ICszMzc1Niw2IEBACiAJCQkJN0FBM0E2OTkxOTRBNjRF
NzAwMUNCRDI0IC8qIFRpbGVDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFGNzJC
RjBBMTg3RkQ0NDkwMDA5QkNCMyAvKiBUaWxlQ29udHJvbGxlck1lbW9yeUhhbmRsZXJJT1MuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJN0FBM0E2QTMxOTRCNUMyMjAwMUNCRDI0IC8qIFRpbGVDb3Zl
cmFnZU1hcC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1MUYxNzU2NTFGM0VCQzgzMDBDNzQ5NTAg
LyogU2VydmljZVdvcmtlclByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBQTNBNjlC
MTk0QTY0RTcwMDFDQkQyNCAvKiBUaWxlR3JpZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OTg3
NzBGMjEyNDJDNTM1MDAyMjI2QkEgLyogVGlsaW5nRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlGNTVCM0REQjEyNTFGMTJEMDAzRUYyNjkgLyogVGltZUlucHV0VHlwZS5jcHAgaW4gU291cmNl
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVy
bGF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcApp
bmRleCA2NmM3ZjA4ZjBmMjhiMDQ2YmI0YzM1ZThlOWJmMTlmYmRmMmFiYzU1Li4yYTgxM2I2YTEy
MGRmMzU4ZjA4YmQyNzE4Yzk2NTczNDMwMWRlZjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yT3ZlcmxheS5oIgogCisjaW5jbHVkZSAiQ2Fj
aGVTdG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1
ZGUgIkVkaXRvckNsaWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKQEAgLTg2NSw3ICs4NjYs
OCBAQCBQYWdlKiBJbnNwZWN0b3JPdmVybGF5OjpvdmVybGF5UGFnZSgpCiAgICAgUGFnZUNvbmZp
Z3VyYXRpb24gcGFnZUNvbmZpZ3VyYXRpb24oCiAgICAgICAgIGNyZWF0ZUVtcHR5RWRpdG9yQ2xp
ZW50KCksCiAgICAgICAgIFNvY2tldFByb3ZpZGVyOjpjcmVhdGUoKSwKLSAgICAgICAgbWFrZVVu
aXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4oKQorICAgICAgICBtYWtlVW5pcXVlUmVmPExpYldl
YlJUQ1Byb3ZpZGVyPigpLAorICAgICAgICBDYWNoZVN0b3JhZ2VQcm92aWRlcjo6Y3JlYXRlKCkK
ICAgICApOwogICAgIGZpbGxXaXRoRW1wdHlDbGllbnRzKHBhZ2VDb25maWd1cmF0aW9uKTsKICAg
ICBtX292ZXJsYXlQYWdlID0gc3RkOjptYWtlX3VuaXF1ZTxQYWdlPihXVEZNb3ZlKHBhZ2VDb25m
aWd1cmF0aW9uKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhY2hlU3RvcmFn
ZVByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhY2hlU3RvcmFnZVByb3ZpZGVyLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMDBiZjFkYzVjZDFmOGZiY2M2NjFjZjFkNmMwMGE0YThjYzJjODhhYgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FjaGVTdG9yYWdlUHJvdmlkZXIu
aApAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRl
ICJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiU2Vzc2lvbklELmgiCisjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBX
RUJDT1JFX0VYUE9SVCBDYWNoZVN0b3JhZ2VQcm92aWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPENh
Y2hlU3RvcmFnZVByb3ZpZGVyPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxDYWNoZVN0b3Jh
Z2VQcm92aWRlcj4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNoZVN0b3JhZ2VQ
cm92aWRlcik7IH0KKyAgICB2aXJ0dWFsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiBjcmVh
dGVDYWNoZVN0b3JhZ2VDb25uZWN0aW9uKFNlc3Npb25JRCkgeyByZXR1cm4gQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbjo6Y3JlYXRlKCk7IH0KKyAgICB2aXJ0dWFsIH5DYWNoZVN0b3JhZ2VQcm92aWRl
cigpIHsgfTsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGMyNjk4N2Y4ZGNiMmU5ZTk2
MDZkYWE5NzJkMmNmY2M3YmVjYzVmYjcuLjcwNDFmMWNmMjk1OTU0ZWFmZjA0ZDZiOGE2MTY0Zjhm
YWFjMGQ2NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUg
IkJhY2tGb3J3YXJkQ2xpZW50LmgiCiAjaW5jbHVkZSAiQmFja0ZvcndhcmRDb250cm9sbGVyLmgi
CiAjaW5jbHVkZSAiQ1NTQW5pbWF0aW9uQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIkNhY2hlU3Rv
cmFnZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiQ2hyb21lLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xp
ZW50LmgiCiAjaW5jbHVkZSAiQ29uc3RhbnRQcm9wZXJ0eU1hcC5oIgpAQCAtMjIyLDYgKzIyMyw3
IEBAIFBhZ2U6OlBhZ2UoUGFnZUNvbmZpZ3VyYXRpb24mJiBwYWdlQ29uZmlndXJhdGlvbikKICNl
bmRpZgogICAgICwgbV9zb2NrZXRQcm92aWRlcihXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLnNv
Y2tldFByb3ZpZGVyKSkKICAgICAsIG1fYXBwbGljYXRpb25DYWNoZVN0b3JhZ2UoKldURk1vdmUo
cGFnZUNvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25DYWNoZVN0b3JhZ2UpKQorICAgICwgbV9jYWNo
ZVN0b3JhZ2VQcm92aWRlcihXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLmNhY2hlU3RvcmFnZVBy
b3ZpZGVyKSkKICAgICAsIG1fZGF0YWJhc2VQcm92aWRlcigqV1RGTW92ZShwYWdlQ29uZmlndXJh
dGlvbi5kYXRhYmFzZVByb3ZpZGVyKSkKICAgICAsIG1fcGx1Z2luSW5mb1Byb3ZpZGVyKCpXVEZN
b3ZlKHBhZ2VDb25maWd1cmF0aW9uLnBsdWdpbkluZm9Qcm92aWRlcikpCiAgICAgLCBtX3N0b3Jh
Z2VOYW1lc3BhY2VQcm92aWRlcigqV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi5zdG9yYWdlTmFt
ZXNwYWNlUHJvdmlkZXIpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCA5MDlmMzc5MDJkMzNlMWQwZWYzZTVh
OWI0ZjY0YmFiNGRmYTVmZjBiLi41ZmM4OWNkYzU5MmM5NDllYjE4ZDljZWExN2Y2MWZiY2QzNTUx
MjAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtNzcsNiArNzcsNyBAQCBjbGFzcyBBbHRlcm5hdGl2ZVRl
eHRDbGllbnQ7CiBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTsKIGNsYXNzIEJhY2tGb3J3
YXJkQ29udHJvbGxlcjsKIGNsYXNzIEJhY2tGb3J3YXJkQ2xpZW50OworY2xhc3MgQ2FjaGVTdG9y
YWdlUHJvdmlkZXI7CiBjbGFzcyBDaHJvbWU7CiBjbGFzcyBDaHJvbWVDbGllbnQ7CiBjbGFzcyBD
b2xvcjsKQEAgLTUxMCw2ICs1MTEsNyBAQCBwdWJsaWM6CiAKICAgICBBcHBsaWNhdGlvbkNhY2hl
U3RvcmFnZSYgYXBwbGljYXRpb25DYWNoZVN0b3JhZ2UoKSB7IHJldHVybiBtX2FwcGxpY2F0aW9u
Q2FjaGVTdG9yYWdlOyB9CiAgICAgRGF0YWJhc2VQcm92aWRlciYgZGF0YWJhc2VQcm92aWRlcigp
IHsgcmV0dXJuIG1fZGF0YWJhc2VQcm92aWRlcjsgfQorICAgIENhY2hlU3RvcmFnZVByb3ZpZGVy
JiBjYWNoZVN0b3JhZ2VQcm92aWRlcigpIHsgcmV0dXJuIG1fY2FjaGVTdG9yYWdlUHJvdmlkZXI7
IH0KICAgICBTb2NrZXRQcm92aWRlciYgc29ja2V0UHJvdmlkZXIoKSB7IHJldHVybiBtX3NvY2tl
dFByb3ZpZGVyOyB9CiAKICAgICBTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXImIHN0b3JhZ2VOYW1l
c3BhY2VQcm92aWRlcigpIHsgcmV0dXJuIG1fc3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyLmdldCgp
OyB9CkBAIC03ODQsNiArNzg2LDcgQEAgcHJpdmF0ZToKIAogICAgIFJlZjxTb2NrZXRQcm92aWRl
cj4gbV9zb2NrZXRQcm92aWRlcjsKICAgICBSZWY8QXBwbGljYXRpb25DYWNoZVN0b3JhZ2U+IG1f
YXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7CisgICAgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiBt
X2NhY2hlU3RvcmFnZVByb3ZpZGVyOwogICAgIFJlZjxEYXRhYmFzZVByb3ZpZGVyPiBtX2RhdGFi
YXNlUHJvdmlkZXI7CiAgICAgUmVmPFBsdWdpbkluZm9Qcm92aWRlcj4gbV9wbHVnaW5JbmZvUHJv
dmlkZXI7CiAgICAgUmVmPFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcj4gbV9zdG9yYWdlTmFtZXNw
YWNlUHJvdmlkZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1
cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCmlu
ZGV4IDExMjNkZDZkNDA1YTk0ODEzYTRhNzg3NDJjN2Q2NmQyY2YxYmVlN2MuLmYxYjgyN2RjZmJh
YWU2ZTZjOGRjY2FkOWQxOGQ0OTM3OWRjOTUxYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZUNvbmZpZ3VyYXRpb24uY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJBcHBsaWNh
dGlvbkNhY2hlU3RvcmFnZS5oIgogI2luY2x1ZGUgIkJhY2tGb3J3YXJkQ2xpZW50LmgiCisjaW5j
bHVkZSAiQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJEYXRhYmFzZVByb3ZpZGVy
LmgiCiAjaW5jbHVkZSAiRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCIKICNpbmNsdWRlICJFZGl0
b3JDbGllbnQuaCIKQEAgLTQzLDEwICs0NCwxMSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LVBhZ2VDb25maWd1cmF0aW9uOjpQYWdlQ29uZmlndXJhdGlvbihVbmlxdWVSZWY8RWRpdG9yQ2xp
ZW50PiYmIGVkaXRvckNsaWVudCwgUmVmPFNvY2tldFByb3ZpZGVyPiYmIHNvY2tldFByb3ZpZGVy
LCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYgbGliV2ViUlRDUHJvdmlkZXIpCitQYWdl
Q29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24oVW5pcXVlUmVmPEVkaXRvckNsaWVudD4m
JiBlZGl0b3JDbGllbnQsIFJlZjxTb2NrZXRQcm92aWRlcj4mJiBzb2NrZXRQcm92aWRlciwgVW5p
cXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmIGxpYldlYlJUQ1Byb3ZpZGVyLCBSZWY8Q2FjaGVT
dG9yYWdlUHJvdmlkZXI+JiYgY2FjaGVTdG9yYWdlUHJvdmlkZXIpCiAgICAgOiBlZGl0b3JDbGll
bnQoV1RGTW92ZShlZGl0b3JDbGllbnQpKQogICAgICwgc29ja2V0UHJvdmlkZXIoV1RGTW92ZShz
b2NrZXRQcm92aWRlcikpCiAgICAgLCBsaWJXZWJSVENQcm92aWRlcihXVEZNb3ZlKGxpYldlYlJU
Q1Byb3ZpZGVyKSkKKyAgICAsIGNhY2hlU3RvcmFnZVByb3ZpZGVyKFdURk1vdmUoY2FjaGVTdG9y
YWdlUHJvdmlkZXIpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9u
LmgKaW5kZXggZjUzYTEyYzM4N2VhZmI0MDRmMmEwNjY2MDI3NTllYzlhN2ZjMGY1Zi4uYTg2MmQ0
MzAyZTAzNjQ2NGY5MTBhNTdiMDFkNzdiNjRjYzZlZjQyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZUNvbmZpZ3VyYXRpb24uaApAQCAtMzQsNiArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBBbHRlcm5hdGl2ZVRleHRDbGllbnQ7CiBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlU3Rv
cmFnZTsKIGNsYXNzIEJhY2tGb3J3YXJkQ2xpZW50OworY2xhc3MgQ2FjaGVTdG9yYWdlUHJvdmlk
ZXI7CiBjbGFzcyBDaHJvbWVDbGllbnQ7CiBjbGFzcyBDb250ZXh0TWVudUNsaWVudDsKIGNsYXNz
IERhdGFiYXNlUHJvdmlkZXI7CkBAIC01OCw3ICs1OSw3IEBAIGNsYXNzIFdlYkdMU3RhdGVUcmFj
a2VyOwogY2xhc3MgUGFnZUNvbmZpZ3VyYXRpb24gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFBhZ2VDb25maWd1cmF0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0g
ICAgV0VCQ09SRV9FWFBPUlQgUGFnZUNvbmZpZ3VyYXRpb24oVW5pcXVlUmVmPEVkaXRvckNsaWVu
dD4mJiwgUmVmPFNvY2tldFByb3ZpZGVyPiYmLCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+
JiYpOworICAgIFdFQkNPUkVfRVhQT1JUIFBhZ2VDb25maWd1cmF0aW9uKFVuaXF1ZVJlZjxFZGl0
b3JDbGllbnQ+JiYsIFJlZjxTb2NrZXRQcm92aWRlcj4mJiwgVW5pcXVlUmVmPExpYldlYlJUQ1By
b3ZpZGVyPiYmLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+JiYpOwogICAgIFdFQkNPUkVfRVhQ
T1JUIH5QYWdlQ29uZmlndXJhdGlvbigpOwogCiAgICAgQWx0ZXJuYXRpdmVUZXh0Q2xpZW50KiBh
bHRlcm5hdGl2ZVRleHRDbGllbnQgeyBudWxscHRyIH07CkBAIC04Nyw2ICs4OCw3IEBAIHB1Ymxp
YzoKIAogICAgIFJlZlB0cjxBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZT4gYXBwbGljYXRpb25DYWNo
ZVN0b3JhZ2U7CiAgICAgUmVmUHRyPERhdGFiYXNlUHJvdmlkZXI+IGRhdGFiYXNlUHJvdmlkZXI7
CisgICAgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiBjYWNoZVN0b3JhZ2VQcm92aWRlcjsKICAg
ICBSZWZQdHI8UGx1Z2luSW5mb1Byb3ZpZGVyPiBwbHVnaW5JbmZvUHJvdmlkZXI7CiAgICAgUmVm
UHRyPFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcj4gc3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyOwog
ICAgIFJlZlB0cjxVc2VyQ29udGVudFByb3ZpZGVyPiB1c2VyQ29udGVudFByb3ZpZGVyOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKaW5kZXggNzg2ZThmN2E3YmNhNjA4
MDlhNTU1YjY1ZjgzNWMyYTUwYTAwODJlOC4uODI1OWIyZjhlMjg2NjNiMjE3Y2RlYTA0YzJmOGVj
MzgzN2NkNzhmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0lt
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCkBA
IC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU1ZHSW1hZ2Uu
aCIKIAorI2luY2x1ZGUgIkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiQ2hyb21l
LmgiCiAjaW5jbHVkZSAiQ29tbW9uVk0uaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKQEAgLTQy
OSw3ICs0MzAsOCBAQCBFbmNvZGVkRGF0YVN0YXR1cyBTVkdJbWFnZTo6ZGF0YUNoYW5nZWQoYm9v
bCBhbGxEYXRhUmVjZWl2ZWQpCiAgICAgICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1
cmF0aW9uKAogICAgICAgICAgICAgY3JlYXRlRW1wdHlFZGl0b3JDbGllbnQoKSwKICAgICAgICAg
ICAgIFNvY2tldFByb3ZpZGVyOjpjcmVhdGUoKSwKLSAgICAgICAgICAgIG1ha2VVbmlxdWVSZWY8
TGliV2ViUlRDUHJvdmlkZXI+KCkKKyAgICAgICAgICAgIG1ha2VVbmlxdWVSZWY8TGliV2ViUlRD
UHJvdmlkZXI+KCksCisgICAgICAgICAgICBDYWNoZVN0b3JhZ2VQcm92aWRlcjo6Y3JlYXRlKCkK
ICAgICAgICAgKTsKICAgICAgICAgZmlsbFdpdGhFbXB0eUNsaWVudHMocGFnZUNvbmZpZ3VyYXRp
b24pOwogICAgICAgICBtX2Nocm9tZUNsaWVudCA9IHN0ZDo6bWFrZV91bmlxdWU8U1ZHSW1hZ2VD
aHJvbWVDbGllbnQ+KHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3Rz
LnR4dCBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKaW5kZXggN2UzMWQ1MmIwNTc5M2Mx
NmU1M2UyNTYxMTBhNjNiZmVhY2VhODM5YS4uOWI4NTgzZTM4YjZlY2FjZGY3NzAxZTAwOTIyMGI4
YmY4MGNhMzkzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dAorKysg
Yi9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CkBAIC01Miw2ICs1Miw3IEBAIHNldChXZWJL
aXQyX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9B
cHBsZVBheSIKICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9BcHBsaWNhdGlvbkNhY2hl
IgogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0F1dG9tYXRpb24iCisgICAgIiR7V0VC
S0lUMl9ESVJ9L1dlYlByb2Nlc3MvQ2FjaGUiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nl
c3MvQ29va2llcyIKICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9EYXRhYmFzZXMiCiAg
ICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQiIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDkwOWE1
ZWNkN2Q3YjFhYjAyMTRiMjkxOTcwNDk2MTg4NzA3MzY0MTIuLmE4Mzg4MTYwZDFlMWI4OWU0ODBi
MWM2NDMzZjBmNzNhNTAzNWY4ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtODkxLDYgKzg5MSw3IEBACiAJCTQxMzA3NUIyMURFODVG
NTgwMDM5RUM2OSAvKiBMaWJXZWJSVENTb2NrZXRGYWN0b3J5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVBNjFERTg1RUU3MDAzOUVDNjkgLyog
TGliV2ViUlRDU29ja2V0RmFjdG9yeS5oICovOyB9OwogCQk0MTMwNzVCMzFERTg1RjU4MDAzOUVD
NjkgLyogTGliV2ViUlRDUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTcxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1By
b3ZpZGVyLmNwcCAqLzsgfTsKIAkJNDEzMDc1QjQxREU4NUY1ODAwMzlFQzY5IC8qIExpYldlYlJU
Q1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MTMwNzVBODFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuaCAqLzsgfTsK
KwkJNDFEMTI5REExRjNEMTAxODAwRDE1RTQ3IC8qIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQxMjlEOTFG
M0QxMDE0MDBEMTVFNDcgLyogV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAqLzsgfTsKIAkJNDFE
QzQ1OTYxRTNENkUyMjAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEQzQ1OTQxRTNENkUxRTAwQjEx
RjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5oICovOyB9OwogCQk0MURDNDU5NzFFM0Q2RTIyMDBC
MTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxREM0NTk1MUUzRDZFMUUwMEIxMUY1MSAvKiBOZXR3b3Jr
UlRDUHJvdmlkZXIuY3BwICovOyB9OwogCQk0MURDNDU5QjFFM0RCQjI4MDBCMTFGNTEgLyogTGli
V2ViUlRDU29ja2V0Q2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxREM0NTk5MUUzREJCMjQwMEIxMUY1MSAvKiBMaWJXZWJSVENTb2NrZXRD
bGllbnQuY3BwICovOyB9OwpAQCAtMzE0Miw2ICszMTQzLDcgQEAKIAkJNDEzMDc1QTcxREU4NUVF
NzAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IG5hbWUgPSBMaWJXZWJSVENQcm92aWRlci5jcHA7IHBh
dGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcu
Y3BwOyB9OwogCQk0MTMwNzVBODFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBsaW5lRW5kaW5nID0gMDsgbmFtZSA9IExpYldl
YlJUQ1Byb3ZpZGVyLmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZp
ZXIgPSB4Y29kZS5sYW5nLm9iamNwcDsgfTsKIAkJNDFBQzg2ODExRTA0MkU1MzAwMzAzMDc0IC8q
IFdlYlJUQ1Jlc29sdmVyLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbGluZUVuZGluZyA9
IDA7IG5hbWUgPSBXZWJSVENSZXNvbHZlci5tZXNzYWdlcy5pbjsgcGF0aCA9IE5ldHdvcmsvd2Vi
cnRjL1dlYlJUQ1Jlc29sdmVyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4
Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSAiPG5vbmU+IjsgfTsKKwkJNDFEMTI5
RDkxRjNEMTAxNDAwRDE1RTQ3IC8qIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQxREM0NTk0MUUzRDZFMUUwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTmV0d29ya1JUQ1Byb3ZpZGVyLmg7IHBh
dGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxREM0NTk1MUUzRDZFMUUwMEIxMUY1MSAvKiBOZXR3b3Jr
UlRDUHJvdmlkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0
d29ya1JUQ1Byb3ZpZGVyLmNwcDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3Jr
UlRDUHJvdmlkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MURDNDU5ODFF
M0Q2RUQ2MDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgbmFtZSA9IE5ldHdvcmtSVENQcm92aWRlci5tZXNzYWdlcy5pbjsgcGF0aCA9IE5l
dHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW47IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01OTEyLDYgKzU5MTQsMTQgQEAKIAkJCW5hbWUgPSB3
ZWJydGM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk0MUQxMjlEODFGM0Qx
MDE0MDBEMTVFNDcgLyogQ2FjaGUgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxk
cmVuID0gKAorCQkJCTQxRDEyOUQ5MUYzRDEwMTQwMEQxNUU0NyAvKiBXZWJDYWNoZVN0b3JhZ2VQ
cm92aWRlci5oICovLAorCQkJKTsKKwkJCXBhdGggPSBDYWNoZTsKKwkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CisJCX07CiAJCTQ0NTBBRUJFMURDM0ZBQUMwMDk5NDNGMiAvKiBjb2NvYSAqLyA9
IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC02NTkyLDYgKzY2MDIs
NyBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJMUFCMUY3NzAxRDFCMkY1RDAwN0M5QkQxIC8qIEFw
cGxlUGF5ICovLAogCQkJCTFDMEExOTQzMUM4RkYxQTgwMEZFMEVCQiAvKiBBdXRvbWF0aW9uICov
LAorCQkJCTQxRDEyOUQ4MUYzRDEwMTQwMEQxNUU0NyAvKiBDYWNoZSAqLywKIAkJCQk3QzZFNzBG
ODE4QjJENDdFMDBGMjRFMkUgLyogY29jb2EgKi8sCiAJCQkJMzMwOTM0NEIxMzE1QjkzQTAwOTdB
N0JDIC8qIENvb2tpZXMgKi8sCiAJCQkJNTEyQTk3NTQxODBERjkyNzAwMzlBMTQ5IC8qIERhdGFi
YXNlcyAqLywKQEAgLTg2ODksNiArODcwMCw3IEBACiAJCQkJQkM3MkJBMUUxMUU2NDkwNzAwMUVC
NEVBIC8qIFdlYkJhY2tGb3J3YXJkTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4RDJDQUUx
MkQ1MTUzQjAwM0JCOTNCIC8qIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDNzJCOUZCMTFFNjQ3NkIwMDFFQjRFQSAvKiBXZWJCYWNrRm9yd2FyZExpc3RQcm94
eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5REExRjNEMTAxODAwRDE1RTQ3IC8qIFdlYkNh
Y2hlU3RvcmFnZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0Y1MDcyODEyNDMyOUFB
MDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzAz
MkQ3NTEwRjQzNzhEMDA1OEMxNUEgLyogV2ViQ2hyb21lQ2xpZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQkzRjg3QjlCRTE1ODk0MDE5MDA5MEZGNjIgLyogV2ViQ29sb3JDaG9vc2VyLmggaW4gSGVh
ZGVycyAqLywKQEAgLTg4MzEsNyArODg0Myw2IEBACiAJCQkJQkNFMEU0MjUxNjhCN0EyODAwNTdF
NjZBIC8qIFdlYlByb2Nlc3NTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTFFMDkz
NDE4ODYxRDM4MDBEMkRDNDkgLyogV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1MTJGNTg5RDEyQTg4Mzg4MDA2Mjk1MzAgLyogV2ViUHJvdGVjdGlvblNwYWNl
LmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUJFQjYyQzFGM0E1QUQ3MDA1MDI5QjkgLyogV2ViU2Vy
dmljZVdvcmtlclByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzk0ODQwNDE1MEMzNTA2
MDBFNTJDRTkgLyogV2ViUmVuZGVyTGF5ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3NjA4ODFG
MTUwNDEzRTkwMEZDODJDNyAvKiBXZWJSZW5kZXJPYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUxMEFGRkJBMTY1NDIwNDgwMDFCQTA1RSAvKiBXZWJSZXNvdXJjZUxvYWRlci5oIGluIEhlYWRl
cnMgKi8sCkBAIC04ODQzLDYgKzg4NTQsNyBAQAogCQkJCTQxREM0NTlGMUUzREJEQTUwMEIxMUY1
MSAvKiBXZWJSVENTb2NrZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDMzYxRDczMTkyN0ZBMzYw
MDM2QTU5RCAvKiBXZWJTY3JpcHRNZXNzYWdlSGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RDNCOTQ4NDkxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlNlYXJjaFBvcHVwTWVudS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNTFCRUI2MkMxRjNBNUFENzAwNTAyOUI5IC8qIFdlYlNlcnZpY2VXb3JrZXJQ
cm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE0ODMyRDcxQTlDREY5NjAwOEI0REZFIC8q
IFdlYnNpdGVEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTQ4MzJEMTFBOUJEQzJGMDA4QjRE
RkUgLyogV2Vic2l0ZURhdGFSZWNvcmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNTNDMkFBMUEz
MjU3MzAwMDRFOEM3MCAvKiBXZWJzaXRlRGF0YVN0b3JlLmggaW4gSGVhZGVycyAqLywKQEAgLTEw
MzcxLDcgKzEwMzgzLDYgQEAKIAkJCQkyREE5NDRBMTE4ODRFNEYwMDBFRDg2REIgLyogV2ViSU9T
RXZlbnRGYWN0b3J5Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQzAzMzdERDMxMjdBMkEwRTAwOEZG
NEY0IC8qIFdlYktleWJvYXJkRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE2MjgwRjMx
OTE5OTgyQTAwNkFEOUY5IC8qIFdlYktpdC5tIGluIFNvdXJjZXMgKi8sCi0JCQkJNTFCRUI2MkIx
RjNBNUFENzAwNTAyOUI5IC8qIFdlYlNlcnZpY2VXb3JrZXJQcm92aWRlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlCQzlCQTUwNDE2OTdDNDUzMDBFNDQ2MTYgLyogV2ViS2l0MkluaXRpYWxpemUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDY1MjUwRTYxRUNGNTJEQzAwMjAyNUNCIC8qIFdlYktp
dDJJbml0aWFsaXplQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MUZCMDhGRjE2MzlERTFB
MDBFQzMyNEEgLyogV2ViTG9hZGVyU3RyYXRlZ3kuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMDQ2
OSw2ICsxMDQ4MCw3IEBACiAJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFDIC8qIFdlYlJUQ1Nv
Y2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzM2MUQ3MjE5MjdG
QTM2MDAzNkE1OUQgLyogV2ViU2NyaXB0TWVzc2FnZUhhbmRsZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJRDNCOTQ4NDgxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlNlYXJjaFBvcHVwTWVudS5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQk1MUJFQjYyQjFGM0E1QUQ3MDA1MDI5QjkgLyogV2ViU2Vydmlj
ZVdvcmtlclByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNDgzMkQ2MUE5Q0RGOTYw
MDhCNERGRSAvKiBXZWJzaXRlRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTQ4MzJEOTFB
OUQxRkQyMDA4QjRERkUgLyogV2Vic2l0ZURhdGFSZWNvcmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMUE1M0MyQTkxQTMyNTcyQjAwNEU4QzcwIC8qIFdlYnNpdGVEYXRhU3RvcmUuY3BwIGluIFNv
dXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQ2FjaGUvV2Vi
Q2FjaGVTdG9yYWdlUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9DYWNoZS9X
ZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0MjIxNmEyMDg2Y2U2ODgwZTBl
MzhjMTZkYTk4NWI4N2UwNjY3ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvQ2FjaGUvV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaApAQCAtMCwwICsxLDM3IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDxXZWJDb3JlL0NhY2hlU3Rv
cmFnZVByb3ZpZGVyLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJDYWNoZVN0
b3JhZ2VQcm92aWRlciBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpDYWNoZVN0b3JhZ2VQcm92aWRl
ciB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxXZWJDYWNoZVN0b3JhZ2VQcm92aWRlcj4gY3Jl
YXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlcik7IH0K
K307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
aW5kZXggODgwZjM1OWQzMTZjNmE3NjZjMjk5NjQxNWI3YzgzMjBjODBiNzY5Yi4uNDVmYWJmY2Uw
ZDAzN2UxN2JlOTBhNTYwNmJlOGIxMmJjZTBkNWUzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTY4LDYgKzY4LDcgQEAKICNpbmNsdWRlICJX
ZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQuaCIKICNpbmNsdWRlICJXZWJCYWNrRm9yd2FyZExpc3RJ
dGVtLmgiCiAjaW5jbHVkZSAiV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaCIKKyNpbmNsdWRlICJX
ZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgogI2luY2x1ZGUgIldlYkNocm9tZUNsaWVudC5oIgog
I2luY2x1ZGUgIldlYkNvbG9yQ2hvb3Nlci5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51Lmgi
CkBAIC0zNzEsNyArMzcyLDggQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIFdl
YlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogICAgIFBhZ2VDb25maWd1cmF0
aW9uIHBhZ2VDb25maWd1cmF0aW9uKAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkVkaXRvckNs
aWVudD4odGhpcyksCiAgICAgICAgIFdlYlNvY2tldFByb3ZpZGVyOjpjcmVhdGUoKSwKLSAgICAg
ICAgbWFrZVVuaXF1ZVJlZjxXZWJLaXQ6OkxpYldlYlJUQ1Byb3ZpZGVyPigpCisgICAgICAgIG1h
a2VVbmlxdWVSZWY8V2ViS2l0OjpMaWJXZWJSVENQcm92aWRlcj4oKSwKKyAgICAgICAgV2ViUHJv
Y2Vzczo6c2luZ2xldG9uKCkuY2FjaGVTdG9yYWdlUHJvdmlkZXIoKQogICAgICk7CiAgICAgcGFn
ZUNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudCgqdGhpcyk7
CiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHAKaW5kZXggMzc4MjI4NjZhMjdkNzBkNmE0YWNkZThkMjZkNDc0OTQ5MTVhZmQwMS4u
ODcwZjNjZGU4NTM3YzYyODlmYzE3NWYyN2JlN2M5ZDQ4NmMwN2E1OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgIlN0
YXRpc3RpY3NEYXRhLmgiCiAjaW5jbHVkZSAiVXNlckRhdGEuaCIKICNpbmNsdWRlICJXZWJBdXRv
bWF0aW9uU2Vzc2lvblByb3h5LmgiCisjaW5jbHVkZSAiV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIu
aCIKICNpbmNsdWRlICJXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3MuaCIKICNpbmNsdWRlICJXZWJD
b29raWVNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCkBAIC0x
NjAsNiArMTYxLDcgQEAgV2ViUHJvY2Vzczo6V2ViUHJvY2VzcygpCiAjZW5kaWYKICAgICAsIG1f
d2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcihXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNw
YXRjaGVyOjpjcmVhdGUoKSkKICAgICAsIG1fd2ViTG9hZGVyU3RyYXRlZ3koKm5ldyBXZWJMb2Fk
ZXJTdHJhdGVneSkKKyAgICAsIG1fY2FjaGVTdG9yYWdlUHJvdmlkZXIoV2ViQ2FjaGVTdG9yYWdl
UHJvdmlkZXI6OmNyZWF0ZSgpKQogICAgICwgbV9kbnNQcmVmZXRjaEh5c3RlcmVyaXMoW3RoaXNd
KEh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gSHlzdGVyZXNpc1N0YXRlOjpT
dG9wcGVkKSBtX2Ruc1ByZWZldGNoZWRIb3N0cy5jbGVhcigpOyB9KQogI2lmIEVOQUJMRShORVRT
Q0FQRV9QTFVHSU5fQVBJKQogICAgICwgbV9wbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIo
UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyOjpjcmVhdGUoKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IGNmMmFiODEzYjM3OTAzNzNiMmRhMGZhNmZhYmY3YmFj
NDdiMmY0OTcuLjEyM2M0YmIxOThjYWY3MGNkOTc2ZjY5NTk5Zjc3NzkwYjFkMGJiNzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtODAsNiArODAsNyBAQCBjbGFzcyBP
YmpDT2JqZWN0R3JhcGg7CiBjbGFzcyBVc2VyRGF0YTsKIGNsYXNzIFdheWxhbmRDb21wb3NpdG9y
RGlzcGxheTsKIGNsYXNzIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk7CitjbGFzcyBXZWJDYWNo
ZVN0b3JhZ2VQcm92aWRlcjsKIGNsYXNzIFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2VzczsKIGNsYXNz
IFdlYkZyYW1lOwogY2xhc3MgV2ViTG9hZGVyU3RyYXRlZ3k7CkBAIC0yMjIsNiArMjIzLDggQEAg
cHVibGljOgogCiAgICAgV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eSogYXV0b21hdGlvblNlc3Np
b25Qcm94eSgpIHsgcmV0dXJuIG1fYXV0b21hdGlvblNlc3Npb25Qcm94eS5nZXQoKTsgfQogCisg
ICAgV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXImIGNhY2hlU3RvcmFnZVByb3ZpZGVyKCkgeyByZXR1
cm4gbV9jYWNoZVN0b3JhZ2VQcm92aWRlci5nZXQoKTsgfQorCiBwcml2YXRlOgogICAgIFdlYlBy
b2Nlc3MoKTsKICAgICB+V2ViUHJvY2VzcygpOwpAQCAtMzc1LDYgKzM3OCw4IEBAIHByaXZhdGU6
CiAgICAgUmVmUHRyPE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbj4gbV9uZXR3b3JrUHJvY2Vzc0Nv
bm5lY3Rpb247CiAgICAgV2ViTG9hZGVyU3RyYXRlZ3kmIG1fd2ViTG9hZGVyU3RyYXRlZ3k7CiAK
KyAgICBSZWY8V2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXI+IG1fY2FjaGVTdG9yYWdlUHJvdmlkZXI7
CisKICNpZiBVU0UoTElCV0VCUlRDKQogICAgIHN0ZDo6dW5pcXVlX3B0cjxMaWJXZWJSVENOZXR3
b3JrPiBtX2xpYldlYlJUQ05ldHdvcms7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBjMDAxZjAwMjgwNjUzMjAyYjg4M2M2MGFmYTQ5Mzdk
NGEzZjY2OTBkLi5hZjBmN2UyYTlmNmJkNjEzNTVmMTZlODMyNmViNGE2NzY2NDY5OWM1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0xMjQsNiArMTI0
LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaD4KICNpbXBv
cnQgPFdlYkNvcmUvQmFja0ZvcndhcmRDb250cm9sbGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NT
U0FuaW1hdGlvbkNvbnRyb2xsZXIuaD4KKyNpbXBvcnQgPFdlYkNvcmUvQ2FjaGVTdG9yYWdlUHJv
dmlkZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ2hyb21lLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Nv
bG9yTWFjLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RhdGFiYXNlTWFuYWdlci5oPgpAQCAtMTQxMyw3
ICsxNDE0LDggQEAgc3RhdGljIHZvaWQgV2ViS2l0SW5pdGlhbGl6ZUdhbWVwYWRQcm92aWRlcklm
TmVjZXNzYXJ5KCkKICAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbigKICAg
ICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJFZGl0b3JDbGllbnQ+KHNlbGYpLAogICAgICAgICBTb2Nr
ZXRQcm92aWRlcjo6Y3JlYXRlKCksCi0gICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6TGli
V2ViUlRDUHJvdmlkZXI+KCkKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpMaWJXZWJS
VENQcm92aWRlcj4oKSwKKyAgICAgICAgV2ViQ29yZTo6Q2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNy
ZWF0ZSgpCiAgICAgKTsKICNpZiAhUExBVEZPUk0oSU9TKQogICAgIHBhZ2VDb25maWd1cmF0aW9u
LmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQoc2VsZik7CkBAIC0xNjc2LDcgKzE2
NzgsOCBAQCBzdGF0aWMgdm9pZCBXZWJLaXRJbml0aWFsaXplR2FtZXBhZFByb3ZpZGVySWZOZWNl
c3NhcnkoKQogICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uKAogICAgICAg
ICBtYWtlVW5pcXVlUmVmPFdlYkVkaXRvckNsaWVudD4oc2VsZiksCiAgICAgICAgIFNvY2tldFBy
b3ZpZGVyOjpjcmVhdGUoKSwKLSAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpMaWJXZWJS
VENQcm92aWRlcj4oKQorICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkxpYldlYlJUQ1By
b3ZpZGVyPigpLAorICAgICAgICBXZWJDb3JlOjpDYWNoZVN0b3JhZ2VQcm92aWRlcjo6Y3JlYXRl
KCkKICAgICApOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJD
aHJvbWVDbGllbnRJT1Moc2VsZik7CiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViVmlldy5jcHAKaW5kZXggZjJlY2MyMmFjZjFlMWQ1ZWEzZDE0ZGZkOTkxNjdm
OTVjN2IwNmRhYS4uNjJlMzQ0YzllNzU2Y2NhOTMyNmViMWY3N2Y2YjI3NmI0NmY2YjIyNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKQEAgLTg0LDYgKzg0LDcgQEAKICNpbmNsdWRl
IDxXZWJDb3JlL0JTdHJpbmcuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0JhY2tGb3J3YXJkQ29udHJv
bGxlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQml0bWFwSW5mby5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Nocm9tZS5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvQ29udGV4dE1lbnUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0NvbnRl
eHRNZW51Q29udHJvbGxlci5oPgpAQCAtMzEwMiw3ICszMTAzLDggQEAgSFJFU1VMVCBXZWJWaWV3
Ojppbml0V2l0aEZyYW1lKFJFQ1QgZnJhbWUsIF9Jbl8gQlNUUiBmcmFtZU5hbWUsIF9Jbl8gQlNU
UiBncm91cE4KICAgICBQYWdlQ29uZmlndXJhdGlvbiBjb25maWd1cmF0aW9uKAogICAgICAgICBt
YWtlVW5pcXVlUmVmPFdlYkVkaXRvckNsaWVudD4odGhpcyksCiAgICAgICAgIFNvY2tldFByb3Zp
ZGVyOjpjcmVhdGUoKSwKLSAgICAgICAgbWFrZVVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4o
KQorICAgICAgICBtYWtlVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPigpLAorICAgICAgICBX
ZWJDb3JlOjpDYWNoZVN0b3JhZ2VQcm92aWRlcjo6Y3JlYXRlKCkKICAgICApOwogICAgIGNvbmZp
Z3VyYXRpb24uYmFja0ZvcndhcmRDbGllbnQgPSBCYWNrRm9yd2FyZExpc3Q6OmNyZWF0ZSgpOwog
ICAgIGNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudCh0aGlz
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCA4MjBkOGI5Y2JhMDY1MDdkYzVkNzkwYmYwMzE0NDMzZjQ4NjkwNzJiLi4xYjNl
Nzk1ZDM5NGZjODYyZDY3N2M4YTM3MmNmZTA2MTg2MGYyNTEzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIg
QEAKKzIwMTctMDgtMTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAg
ICAgIFtDYWNoZSBBUEldIEFkZGluZyBnZW5lcmljIHN1cHBvcnQgZm9yIENhY2hlU3RvcmFnZSBh
bmQgQ2FjaGUgbWV0aG9kcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTc1NDU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOiBTa2lwcGluZyBhIHRlc3QgdGhhdCB3b3VsZCB0
aW1lb3V0IG90aGVyd2lzZSBkdWUgdG8gdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gbGltaXRh
dGlvbnMuCisKIDIwMTctMDgtMTEgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUmVwbGFjZSBEQVRBX1RSQU5TRkVSX0lURU1TIGJ5IGEgcnVudGltZSBmbGFnIGFu
ZCBhZGQgYSBzdHViIGltcGxlbWVudGF0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCAzMDBjMzU1NWE3ZTEwMDI3ODU3MGYxNTgxNzQ0ODM5NjBiYzQ3MDg1Li5kZWQ5Y2I2OGFi
YjczMjkxNDUxNWRkNDUyYjdiOTBhZGMwYmY0OThmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNy0wOC0xMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRkaW5nIGdlbmVyaWMgc3VwcG9y
dCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zZXJ2aWNld29ya2VyL2NyZWRlbnRpYWxzLmh0dHBzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUt
c3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtl
ci9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hl
LXN0b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0OgorCiAyMDE3LTA4LTEyICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkcmVzcyBmbGFraW5lc3MgcmVsYXRlZCB0
byBkb3dubG9hZCB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggM2Q0OGI3NDkwOTAyMjlmYmVk
MWJmNTQ3OTA2ZmJjMWI1YjgwNmZjZS4uZDk0ZDA4MWQwOTA3OWE4YmZkZjg0YjExNzU5NmNmOGU4
ODA1ZGMyNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMjEsNyArMTIxLDcgQEAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc3R1Yi00LjYuMi1jYWNoZS5o
dG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zdHViLTQuNi4zLWNhY2hlLXN0b3JhZ2UuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZSBbIFBhc3Mg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUt
c3RvcmFnZS93aW5kb3cgWyBQYXNzIEZhaWx1cmUgXQotCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL2NvbW1vbi5odHRwcy5odG1s
IFsgU2tpcCBdCiAKICMgdGV4dGFyZWEuYW5pbWF0ZSBpcyBub3Qgc3VwcG9ydGVkCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdWktMy9jYXJldC1jb2xvci0wMTguaHRt
bCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zZXJ2aWNld29ya2VyL2Ny
ZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdv
cmtlci9jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMDc2MTY1MGRiYzQxZThi
ZDE1ZTY0ZTQ3ZTMwOGYyZGMzMmFiOWU1Yi4uMzhlOTUyMzk3YzM0NjE5MjhmMWVmMWVkZjdhYmVl
MzBjZTM4MTI3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zZXJ2aWNld29ya2VyL2Ny
ZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZp
Y2V3b3JrZXIvY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAog
Ci1GQUlMIENhY2hlIEFQSSBtYXRjaGluZyBpbmNsdWRlcyBjcmVkZW50aWFscyBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUgQVBJIG1hdGNoaW5nIGluY2x1ZGVzIGNyZWRlbnRp
YWxzIGFzc2VydF91bnJlYWNoZWQ6IHVucmVnaXN0ZXIgc2hvdWxkIG5vdCBmYWlsOiBzZXJ2aWNl
V29ya2VyLmdldFJlZ2lzdHJhdGlvbigpIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQgUmVhY2hlZCB1
bnJlYWNoYWJsZSBjb2RlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2Nh
Y2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93
aW5kb3cvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggZmRlYWZl
OTM2NmU5ZjU5OTk0N2QyMDM1OWFmMGE1NzRiM2MyZDZmMy4uZTVkNmI3ZGM1MjQ1M2Q1NzQ5Nzg5
M2FhNzI4YTUwYjY5NTU0MDMxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cv
Y2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTQs
OCArNCw4IEBAIEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2YgbWFueSBjYWNoZXMg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNo
IGZyb20gb25lIG9mIG1hbnkgY2FjaGVzIGJ5IG5hbWUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIGEgc3RyaW5nIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIGEgSEVBRCByZXF1ZXN0IHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
Tm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlZCBl
bnRyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0
aCBubyBjYWNoZXMgYXZhaWxhYmxlIGJ1dCBuYW1lIHByb3ZpZGVkIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlZCBlbnRyeSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRo
IG5vIGNhY2hlcyBhdmFpbGFibGUgYnV0IG5hbWUgcHJvdmlkZWQgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKIEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBlbXB0eSBjYWNoZSBu
YW1lIHByb3ZpZGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgogRkFJTCBDYWNoZVN0b3JhZ2VN
YXRjaCBzdXBwb3J0cyBpZ25vcmVTZWFyY2ggcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBGQUlM
IENhY2hlLm1hdGNoIHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UuaHR0
cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS5o
dHRwcy1leHBlY3RlZC50eHQKaW5kZXggMDAxZTZlMzNiZDdhYjM0ZWE3MzVhY2FkZjk0MjBjYWUx
MDgyOWI2MS4uMWFkNDYwMDI4ZGE3NjllYzE5ODE0ZTMxMGFkMGEwMDc4ZTNlNzc5ZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS5odHRwcy1l
eHBlY3RlZC50eHQKQEAgLTQsOSArNCw5IEBAIEZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0ZSBkb29t
cywgYnV0IGRvZXMgbm90IGRlbGV0ZSBpbW1lZGlhdGVseSBwcm9taXNlX3Rlc3Q6IFVuCiBGQUlM
IENhY2hlU3RvcmFnZS5vcGVuIHdpdGggYW4gZW1wdHkgbmFtZSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKIFBBU1MgQ2FjaGVTdG9yYWdlLm9wZW4gd2l0aCBubyBhcmd1bWVudHMgCiBGQUlMIENh
Y2hlU3RvcmFnZS5oYXMgd2l0aCBleGlzdGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLmhhcyB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
Tm90IGltcGxlbWVudGVkIgorUEFTUyBDYWNoZVN0b3JhZ2UuaGFzIHdpdGggbm9uZXhpc3RlbnQg
Y2FjaGUgCiBGQUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggZXhpc3RpbmcgY2FjaGUgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCiBGQUlMIENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBleGlzdGlu
ZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0
ZSB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorUEFTUyBD
YWNoZVN0b3JhZ2UuZGVsZXRlIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgCiBGQUlMIENhY2hlU3Rv
cmFnZSBuYW1lcyBhcmUgRE9NU3RyaW5ncyBub3QgVVNWU3RyaW5ncyBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3Rv
cmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9j
YWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBmZGVhZmU5MzY2ZTlm
NTk5OTQ3ZDIwMzU5YWYwYTU3NGIzYzJkNmYzLi5lNWQ2YjdkYzUyNDUzZDU3NDk3ODkzYWE3Mjhh
NTBiNjk1NTQwMzFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1z
dG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dv
cmtlci9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtNCw4ICs0LDgg
QEAgRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBmcm9tIG9uZSBvZiBtYW55IGNhY2hlcyBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24KIEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBv
bmUgb2YgbWFueSBjYWNoZXMgYnkgbmFtZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIEZBSUwg
Q2FjaGVTdG9yYWdlTWF0Y2ggYSBzdHJpbmcgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKIEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggYSBIRUFEIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGVkIGVudHJ5IHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNh
Y2hlcyBhdmFpbGFibGUgYnV0IG5hbWUgcHJvdmlkZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CitGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGVkIGVudHJ5IHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2Fj
aGVzIGF2YWlsYWJsZSBidXQgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxl
bWVudGVkIgogRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIGVtcHR5IGNhY2hlIG5hbWUgcHJv
dmlkZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHN1
cHBvcnRzIGlnbm9yZVNlYXJjaCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIEZBSUwgQ2FjaGUu
bWF0Y2ggc3VwcG9ydHMgaWdub3JlTWV0aG9kIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4
cGVjdGVkLnR4dAppbmRleCAwMDFlNmUzM2JkN2FiMzRlYTczNWFjYWRmOTQyMGNhZTEwODI5YjYx
Li4xYWQ0NjAwMjhkYTc2OWVjMTk4MTRlMzEwYWQwYTAwNzhlM2U3NzllIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVk
LnR4dApAQCAtNCw5ICs0LDkgQEAgRkFJTCBDYWNoZVN0b3JhZ2UuZGVsZXRlIGRvb21zLCBidXQg
ZG9lcyBub3QgZGVsZXRlIGltbWVkaWF0ZWx5IHByb21pc2VfdGVzdDogVW4KIEZBSUwgQ2FjaGVT
dG9yYWdlLm9wZW4gd2l0aCBhbiBlbXB0eSBuYW1lIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgog
UEFTUyBDYWNoZVN0b3JhZ2Uub3BlbiB3aXRoIG5vIGFyZ3VtZW50cyAKIEZBSUwgQ2FjaGVTdG9y
YWdlLmhhcyB3aXRoIGV4aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJ
TCBDYWNoZVN0b3JhZ2UuaGFzIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCitQQVNTIENhY2hlU3RvcmFnZS5oYXMgd2l0aCBub25leGlzdGVudCBjYWNoZSAK
IEZBSUwgQ2FjaGVTdG9yYWdlLm9wZW4gd2l0aCBleGlzdGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKIEZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0ZSB3aXRoIGV4aXN0aW5nIGNhY2hl
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2UuZGVsZXRlIHdpdGgg
bm9uZXhpc3RlbnQgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitQQVNTIENhY2hlU3Rv
cmFnZS5kZWxldGUgd2l0aCBub25leGlzdGVudCBjYWNoZSAKIEZBSUwgQ2FjaGVTdG9yYWdlIG5h
bWVzIGFyZSBET01TdHJpbmdzIG5vdCBVU1ZTdHJpbmdzIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318026</attachid>
            <date>2017-08-13 22:57:02 -0700</date>
            <delta_ts>2017-08-14 17:16:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175455-20170813225659.patch</filename>
            <type>text/plain</type>
            <size>116000</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNjMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTcxMzdkZGFkODNiZTBm
NjEyNmQ0ZDc1MjVkY2Q0MTc2ZWNkYWE3Ny4uMTQ1NWY5ZTg3Nzk3NzAwZGE2MGY3ZDQwNjJmOTg5
YmI3OGU3MWM5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0MyBAQAorMjAxNy0wOC0xMyAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRk
aW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5
IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgIEFkZGluZyBhIENhY2hlU3RvcmFnZVByb3ZpZGVy
IGFic3RyYWN0aW9uIHRoYXQgY3JlYXRlcyBhIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uCisgICAg
ICAgIFRoZSBDYWNoZVN0b3JhZ2VQcm92aWRlciBpcyBhY2Nlc3NlZCBmcm9tIHRoZSBwYWdlIGZv
ciBEb2N1bWVudCBjYWxscy4KKyAgICAgICAgVGhlIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24gaXMg
cmVzcG9uc2libGUgdG8gaW1wbGVtZW50IHRoZSByZWFkL3dyaXRlIG9wZXJhdGlvbnMgb24gdGhl
IGNhY2hlIGRhdGFiYXNlLgorICAgICAgICBBdCB0aGUgbW9tZW50LCBpdCBkb2VzIG5vdGhpbmcg
YnV0IHJldHVybiBub3QgaW1wbGVtZW50ZWQgZXJyb3JzLgorCisgICAgICAgIEltcGxlbWVudGlu
ZyBDYWNoZVN0b3JhZ2UgQVBJcyBhbmQgQ2FjaGUgQVBJcyBiYXNlZCBvbiB0aGUgQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbiBleGNlcHQgZm9yIENhY2hlIGFkZCBhbmQgYWRkQWxsIHdoaWNoIHdpbGwg
YmUgaW1wbGVtZW50ZWQgbGF0ZXIgb24uCisgICAgICAgIENhY2hlU3RvcmFnQ29ubmVjdGlvbiBp
cyByZXNwb25zaWJsZSB0byByZWFkL3dyaXRlIENhY2hlU3RvcmFnZSBsaXN0IG9mIGNhY2hlcyBh
bmQgZWFjaCBpbmRpdmlkdWFsIGNhY2hlLgorICAgICAgICBUaGUgQ2FjaGVTdG9yYWdlQ29ubmVj
dGlvbiBpcyBhIGdlbmVyaWMgY29ubmVjdGlvbiBhbmQgbm90IHRpZWQgdG8gYW55IGRvY3VtZW50
L2NvbnRleHQuCisgICAgICAgIENhY2hlU3RvcmFnZSBvYmplY3RzIGFyZSBtYW5pcHVsYXRlZCBi
eSBwcm92aWRpbmcgdG8gdGhlIGNvbm5lY3Rpb24gdGhlIG9yaWdpbiBvZiB0aGUgY29udGV4dC4K
KyAgICAgICAgQ2FjaGVTdG9yYWdlIGFyZSBnbG9iYWwgdG8gYWxsIGNvbnRleHRzIHdpdGggdGhl
IHNhbWUgb3JpZ2luLgorICAgICAgICBDYWNoZSBvYmplY3RzIGFyZSBtYW5pcHVsYXRlZCBieSBh
biBJRCB0aGF0IGlzIGdpdmVuIGluaXRpYWxseSBieSB0aGUgQ2FjaGVTdG9yYWdlRW5naW5lIHdo
ZW4gb3BlbmluZyB0aGUgQ2FjaGUgb2JqZWN0LgorCisgICAgICAgIEFkZGluZyB2YXJpb3VzIGFj
Y2Vzc29ycyBhbmQgY29uc3RydWN0b3JzIGZvciBGZXRjaCBjb25zdHJ1Y3RzIGFzIG5lZWRlZCBi
eSB0aGUgQ2FjaGUgQVBJIGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogTW9kdWxlcy9jYWNo
ZS9DYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6Q2FjaGUpOgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGU6On5DYWNoZSk6CisgICAgICAgIFRoZSBDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uIGlzIGEgZ2VuZXJpYyBjb25uZWN0aW9uIGFuZCBub3QgdGllZCB0byBhbnkgZG9jdW1lbnQv
Y29udGV4dC4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjptYXRjaCk6IEltcGxlbWVudGF0aW9u
IG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtbWF0Y2gu
CisgICAgICAgIFJlZGlyZWN0IHRvIG1hdGNoQWxsIGFzIHBlciBzcGVjLgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGU6Om1hdGNoQWxsKTogSW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93d3cudzMu
b3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNjYWNoZS1tYXRjaEFsbC4KKyAgICAgICAgQ2hlY2tz
IGZvciByZXF1ZXN0IGFzIHBlciBzcGVjLiBUaGVuIGVpdGhlciByZWZyZXNoIHRoZSByZXF1ZXN0
IHRvIHJlc3BvbnNlIG1hcCBhbmQgcmV0dXJuIGFsbCByZXNwb25zZXMuCisgICAgICAgIE9yIGNh
bGwgdGhlIHF1ZXJ5IGNhY2hlIGFsZ29yaXRobSBhbmQgcmV0dXJuIGNvcGllcyBvZiB0aGUgcmVz
cG9uc2VzICh1c2luZyBjbG9uZSkuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6cHV0KToKKyAg
ICAgICAgQ2hlY2sgdGhlIHJlcXVlc3QgYW5kIHJlc3BvbnNlIGFzIHBlciBzcGVjLgorICAgICAg
ICBBZGQgdGVtcG9yYXJ5IHJlamVjdGlvbiBjYXNlcyAoYmVpbmcgbG9hZGVkIHJlc3BvbnNlcywg
cmVzcG9uc2VzIHdpdGggUmVhZGFibGVTdHJlYW0pIGFzIHRoZXJlIGlzIG5vIHN1cHBvcnQgZm9y
IHRoZW0gcmlnaHQgbm93LgorICAgICAgICBDYWxsIHRoZSBiYXRjaCBwdXQgb3BlcmF0aW9uLgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnJlbW92ZSk6CisgICAgICAgIENoZWNrIHRoZSByZXF1
ZXN0IGFuZCByZXNwb25zZSBhcyBwZXIgc3BlYy4KKyAgICAgICAgQ2FsbCB0aGUgYmF0Y2ggZGVs
ZXRlIG9wZXJhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjprZXlzKToKKyAgICAgICAg
UmVmcmVzaCB0aGUgcmVxdWVzdCB0byByZXNwb25zZSBtYXAgYW5kIHJldHVybiBjb3JyZXNwb25k
aW5nIHJlcXVlc3RzLgorICAgICAgICBNYWtpbmcgc3VyZSB0byByZXVzZSB0aGUgc2FtZSByZXF1
ZXN0IG9iamVjdHMgYXMgcGVyIHNwZWMuCisgICAgICAgIEFzIHBlciBzcGVjLCB0aGUgcmVxdWVz
dCB0byByZXNwb25zZSBtYXAgaXMgb3JkZXJlZC4gV2UgaW1wbGVtZW50IGl0IGFzIGEgVmVjdG9y
LgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcCk6
CisgICAgICAgIFVzZSB0aGUgY2FjaGUgc3RvcmFnZSBjb25uZWN0aW9uIHRvIGdldCBhbiB1cC10
by1kYXRlIGxpc3Qgb2YgY2FjaGVkIHJlY29yZHMuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6
cXVlcnlDYWNoZU1hdGNoKToKKyAgICAgICAgSW1wbGVtZW50cyB0aGUgbWF0Y2ggYWxnb3JpdGht
IGRlZmluZWQgaW4gaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNxdWVy
eS1jYWNoZS1hbGdvcml0aG0uCisgICAgICAgIFRoaXMgaXMgc3BsaXQgZm9yIHF1ZXJ5Q2FjaGUg
YXMgY2FjaGUgc3RvcmFnZSBlbmdpbmUgd2lsbCBuZWVkIHRvIHVzZSBpdCB3aGVuIGltcGxlbWVu
dGluZyB0aGUgZGVsZXRlIG9wZXJhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjpxdWVy
eUNhY2hlKToKKyAgICAgICAgRnVsbCBpbXBsZW1lbnRhdGlvbiBvZiBodHRwczovL3d3dy53My5v
cmcvVFIvc2VydmljZS13b3JrZXJzLTEvI3F1ZXJ5LWNhY2hlLWFsZ29yaXRobSB3aXRoIG5vIHRh
cmdldFN0b3JhZ2UgYXJndW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6cXVlcnlDYWNo
ZVdpdGhUYXJnZXRTdG9yYWdlKToKKyAgICAgICAgRnVsbCBpbXBsZW1lbnRhdGlvbiBvZiBodHRw
czovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEvI3F1ZXJ5LWNhY2hlLWFsZ29yaXRo
bSB3aXRoIGEgcHJvdmlkZWQgdGFyZ2V0U3RvcmFnZSBhcmd1bWVudC4KKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlOjpiYXRjaERlbGV0ZU9wZXJhdGlvbik6CisgICAgICAgIEltcGxlbWVudGF0aW9u
IG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jYmF0Y2gtY2FjaGUt
b3BlcmF0aW9ucy1hbGdvcml0aG0gYnV0IGRlZGljYXRlZCB0byBhIGRlbGV0ZSBvcGVyYXRpb24u
CisgICAgICAgIERlbGV0ZSBvcGVyYXRpb24gYXJlIGFsd2F5cyBkb25lIG9uZSBhdCBhIHRpbWUu
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6YmF0Y2hQdXRPcGVyYXRpb24pOgorICAgICAgICBJ
bXBsZW1lbnRhdGlvbiBvZiBodHRwczovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEv
I2JhdGNoLWNhY2hlLW9wZXJhdGlvbnMtYWxnb3JpdGhtIGRlZGljYXRlZCB0byBhIHB1dCBvcGVy
YXRpb24uCisgICAgICAgIFB1dCBvcGVyYXRpb24gdGFrZXMgb25lIHJlY29yZCBmb3IgcHV0IGJ1
dCBjYW4gdGFrZSBzZXZlcmFsIHJlY29yZHMgaW4gdGhlIGNhc2Ugb2YgYWRkQWxsLCBoZW5jZSB0
aGUgY3VycmVudCBkZXNpZ24uCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6dXBkYXRlUmVxdWVz
dFRvUmVzcG9uc2VNYXApOgorICAgICAgICBVcGRhdGUgdGhlIGNhY2hlIHJlcXVlc3QgdG8gcmVz
cG9uc2UgbWFwIGJhc2VkIG9uIHRoZSByZWNvcmRzIHJldHJpZXZlZCBmcm9tIHRoZSBjYWNoZSBz
dG9yYWdlIGNvbm5lY3Rpb24uCisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6
bmFtZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZS5pZGw6CisgICAgICAg
ICogTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVTdG9yYWdlOjpvcmlnaW4gY29uc3QpOgorICAgICAgICBDb21wdXRpbmcgdGhlIGNhY2hlIG9y
aWdpbiB0aGF0IGlzIHBhc3NlZCB0byB0aGUgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi4KKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6aGFzKToKKyAgICAgICAgSW1wbGVtZW50YXRpb24g
b2YgaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNjYWNoZS1zdG9yYWdl
LWhhcy4KKyAgICAgICAgQ2FsbCB0aGUgY2FjaGUgc3RvcmFnZSBjb25uZWN0aW9uIHRvIHJlZnJl
c2ggaXRzIGNhY2hlIG1hcC4KKyAgICAgICAgVGhlbiB1c2UgaXQgdG8gY2hlY2sgd2hldGhlciBh
IGNhY2hlIGV4aXN0cy4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6cmVmcmVzaENh
Y2hlTWFwKToKKyAgICAgICAgVXNlIHRoZSBjYWNoZSBzdG9yYWdlIGNvbm5lY3Rpb24gdG8gZ2V0
IHRoZSBsaXN0IG9mIGV4aXN0aW5nIGNhY2hlcy4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3Rv
cmFnZTo6b3Blbik6CisgICAgICAgIEltcGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9y
Zy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtc3RvcmFnZS1vcGVuLgorICAgICAgICBSZWZy
ZXNoaW5nIHRoZSBjYWNoZSBtYXAgc28gYXMgdG8gcmV0dXJuIGEgcHJlLWV4aXN0aW5nIGNhY2hl
IGlmIGFueS4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6cmVtb3ZlKToKKyAgICAg
ICAgSW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vy
cy0xLyNjYWNoZS1zdG9yYWdlLWRlbGV0ZS1tZXRob2QuCisgICAgICAgIFJlZnJlc2hpbmcgdGhl
IGNhY2hlIG1hcCBzbyBhcyB0byBkbyBub3RoaW5nIGlmIHRoZXJlIGlzIG5vIGNhY2hlIHRvIHJl
bW92ZS4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6a2V5cyk6CisgICAgICAgIElt
cGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8j
Y2FjaGUtc3RvcmFnZS1rZXlzLW1ldGhvZC4KKyAgICAgICAgUmVmcmVzaGluZyB0aGUgY2FjaGUg
bWFwIGFuZCByZXR1cm5pbiBpdHMga2V5cy4KKyAgICAgICAgQXMgcGVyIHNwZWMsIHRoZSBjYWNo
ZSBtYXAgaXMgb3JkZXJlZC4gV2UgaW1wbGVtZW50IGl0IGFzIGEgVmVjdG9yLgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpjYWNoZU1hcCk6CisgICAgICAgIEdldCB0aGUgbGlzdCBv
ZiBjYWNoZSBvYmplY3RzLCB1c2VkIGFzIGEgcHJpdmF0ZSBhY2Nlc3NvciBmb3IgSlMgYnVpbHQt
aW5zLgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZVN0b3JhZ2U6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0
b3JhZ2U6OkNhY2hlU3RvcmFnZSk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uOjpleGNlcHRpb25Gcm9tRXJyb3IpOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUv
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oOiBBZGRlZC4KKyAgICAgICAgTWFrZXMgdGhlIGxpbmsg
YmV0d2VlbiBXZWIgZmFjaW5nIENhY2hlIEFQSSBhbmQgdGhlIGNhY2hlIHN0b3JhZ2UgZW5naW5l
LgorICAgICAgICBFbnZpc2lvbmVkIGltcGxlbWVudGF0aW9uIGFyZToKKyAgICAgICAgLSBPbmUg
bWFpbiB0aHJlYWQgY29ubmVjdGlvbiB1c2VkIGJ5IGFsbCBkb2N1bWVudHMgaW4gdGhlIGdpdmVu
IHByb2Nlc3MuCisgICAgICAgIC0gT25lIGNvbm5lY3Rpb24gcGVyIHdvcmtlciB0aGF0IGZvcndh
cmRzIHRoZSBjYWxscyB0byB0aGUgbWFpbiB0aHJlYWQgYW5kIHVzZSB0aGUgbWFpbiB0aHJlYWQg
Y29ubmVjdGlvbiBhZnRlcndhcmRzLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29u
bmVjdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5lY3Rp
b246Om9wZW4pOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6cmVt
b3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246OnJlZnJlc2hD
YWNoZU1hcCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpyZWZy
ZXNoUmVxdWVzdFRvUmVzcG9uc2VNYXApOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdl
Q29ubmVjdGlvbjo6YmF0Y2hEZWxldGVPcGVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbjo6YmF0Y2hQdXRPcGVyYXRpb24pOgorICAgICAgICAqIE1vZHVs
ZXMvY2FjaGUvQ2FjaGVTdG9yYWdlUmVjb3JkLmg6IEFkZGVkLiBBIGZldGNoIHJlY29yZCBmcm9t
IHRoZSBXZWIgZmFjaW5nIGNhY2hlIEFQSSBwZXJzcGVjdGl2ZS4KKyAgICAgICAgKiBNb2R1bGVz
L2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3dD
YWNoZXM6OmNhY2hlcyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9i
YWxTY29wZUNhY2hlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUNh
Y2hlczo6ZnJvbSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6
Y2FjaGVzIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3Bl
Q2FjaGVzLmg6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6V29y
a2VyR2xvYmFsU2NvcGVDYWNoZXMpOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5
T3duZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoQm9keU93bmVyOjppc1JlYWRhYmxlU3Ry
ZWFtQm9keSBjb25zdCk6IEFkZGVkIGdldHRlciBhcyBpdCBpcyB1c2VkIGJ5IGNhY2hlIEFQSS4K
KyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5oOgorICAgICAgICAoV2ViQ29y
ZTo6RmV0Y2hIZWFkZXJzOjpjcmVhdGUpOiBBZGQgYW5vdGhlciBjcmVhdGUgYXMgdXNlZCBieSB0
aGUgY2FjaGUgQVBJLgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpndWFyZCBjb25z
dCk6IEFkZGVkIGdldHRlciBhbmQgSVBDIHNlcmlhbGl6ZXIgYXMgdGhpcyBpcyBzb21ldGhpbmcg
dGhhdCB3aWxsIGJlIHN0b3JlZCBieSB0aGUgY2FjaGUgZW5naW5lLgorICAgICAgICAqIE1vZHVs
ZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hMb2FkZXI6
OnN0YXJ0KToKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpidWlsZE9wdGlvbnMpOiBJbiBjYXNlIEZldGNoUmVxdWVzdDo6Y3JlYXRl
IGlzIGNhbGxlZCBmcm9tIEMrKywgdGhlcmUgaXMgbm8gbmVlZCB0byBzZXQgaW5pdC53aW5kb3cg
dG8gYSBudWxsIHZhbHVlLgorICAgICAgICBBZGQgYSBjaGVjayBzbyB0aGF0IG5vIHZhbHVlIGF0
IGFsbCBpcyB0aGUgc2FtZSBhcyBhIG51bGwvdW5kZWZpbmVkIHZhbHVlLgorICAgICAgICAoV2Vi
Q29yZTo6RmV0Y2hSZXF1ZXN0OjpyZXNvdXJjZVJlcXVlc3QgY29uc3QpOgorICAgICAgICAqIE1v
ZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0Lmg6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRj
aFJlc3BvbnNlLmg6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvck92ZXJsYXk6Om92ZXJsYXlQYWdlKToKKyAgICAgICAgKiBwYWdlL0Nh
Y2hlU3RvcmFnZVByb3ZpZGVyLmg6IEFkZGVkLgorICAgICAgICBJbnRlcmZhY2UgdG8gY3JlYXRl
IG1haW4gdGhyZWFkIGNhY2hlIHN0b3JhZ2UgY29ubmVjdGlvbiBmb3IgdGhlIGdpdmVuIHBhZ2Uu
CisgICAgICAgIFRoZXJlIHdpbGwgYmUgb25lIHByb3ZpZGVyIGZvciBlYWNoIHByb2Nlc3MuCisg
ICAgICAgIFBhc3NpbmcgYSBzZXNzaW9uSUQgc28gdGhhdCB3ZSB3aWxsIGNyZWF0ZSBhIGNvbm5l
Y3Rpb24gcGVyIHNlc3Npb24uCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBhZ2U6OlBhZ2UpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UGFnZTo6Y2FjaGVTdG9yYWdlUHJvdmlkZXIpOgorICAgICAgICAqIHBhZ2UvUGFnZUNv
bmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbmZpZ3VyYXRpb246OlBh
Z2VDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0aW9uLmg6Cisg
ICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0ltYWdlOjpkYXRhQ2hhbmdlZCk6CisKIDIwMTctMDgtMTMgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KIAogICAgICAgICBEcm9wIG5vbi1jb25zdCBnZXR0ZXIgZm9yIENhY2hlZFJl
c291cmNlOjpyZXNvdXJjZVJlcXVlc3QoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA4ZDhhYTVkNjhjODUyZDMxNjg1
YmU0ZmMzMjQ1MDY3N2EzZGVmY2E1Li41MmFkOTI5YzA4MWM4YjE2YmViMDM3ZGM4YjkwNTc5MTFh
ZGI3MDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE3LTA4LTEzICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbQ2FjaGUgQVBJXSBBZGRpbmcgZ2Vu
ZXJpYyBzdXBwb3J0IGZvciBDYWNoZVN0b3JhZ2UgYW5kIENhY2hlIG1ldGhvZHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTQ1NQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9DYWNoZS9XZWJDYWNoZVN0
b3JhZ2VQcm92aWRlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fY3B1TGltaXQpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OldlYlBy
b2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzOjpjYWNoZVN0b3JhZ2VQcm92aWRlcik6CisKIDIwMTctMDgtMTMgIEFk
cmlhbiBQZXJleiBkZSBDYXN0cm8gIDxhcGVyZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV1BF
XSBJbXBsZW1lbnQgV2ViQ29yZTo6c3RhbmRhcmRVc2VyQWdlbnQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nCmluZGV4IDhhNjY4MjQ2YWIwYTU3YjJlNjJmOWY0ZGY5MTI2ZGUzYTQzOTA3ZmIu
LjRiMmZhYjNhNDU1NzI0NjJkODkzZjIwNDM2MGFiYzIxZDA4NzEzMzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0wOC0xMyAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRkaW5nIGdlbmVy
aWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5t
bToKKyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1l
Omdyb3VwTmFtZTpdKToKKwogMjAxNy0wOC0xMSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0
Lm9yZz4KIAogICAgICAgICBSZXBsYWNlIERBVEFfVFJBTlNGRVJfSVRFTVMgYnkgYSBydW50aW1l
IGZsYWcgYW5kIGFkZCBhIHN0dWIgaW1wbGVtZW50YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5n
ZUxvZwppbmRleCA1ZWNmY2ExOGY2OGJkODBiNDNmYTQyMzE1ZWZlZDYxMjkzMzc0YmI1Li43YmY1
ZDNkZjFmMTFlOGZmZTg2ZGI2NGU3N2U1ZmJmY2Q2ZTg3ZTYxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMDgtMTMgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFtDYWNoZSBBUEldIEFkZGluZyBnZW5lcmljIHN1
cHBvcnQgZm9yIENhY2hlU3RvcmFnZSBhbmQgQ2FjaGUgbWV0aG9kcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NDU1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAg
KFdlYlZpZXc6OmluaXRXaXRoRnJhbWUpOgorCiAyMDE3LTA4LTA5ICBEYW5pZWwgQmF0ZXMgIDxk
YWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjE5MDEzKTogT0F1dGgg
Zmxvd3MgYXJlIGJyb2tlbiB3aGVuIHJlZGlyZWN0aW5nIGJhY2sgdG8gYXBwbGljYXRpb24gYWZ0
ZXIgYXV0aGVudGljYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYjlhNGE5OGMxNDIwYzRm
ZmIzMWVmYzM0YTFmOGZlNTA1NTNjMGY4Ny4uMWJjMDE5ZWUxMzU4MTQ4YWQ4ODZmNTdkNmJmYjYz
NjU1YjIwZTQzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTkwMCw2ICs5MDAsNyBAQCBzZXQo
V2ViQ29yZV9TT1VSQ0VTCiAKICAgICBNb2R1bGVzL2NhY2hlL0NhY2hlLmNwcAogICAgIE1vZHVs
ZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmNwcAorICAgIE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbi5jcHAKICAgICBNb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHAKICAg
ICBNb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmNwcAogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCmluZGV4IGUxOWFmNTUwMjk1NjRkOTU3NDU0MmIzZWIz
MzQ4NDMyMzgzZjY3ZDUuLjhlMTU4ZjFlYzNhYTgyYzY5NjZhY2Q5MGJlZTM5ODYwOGM3NjQ4M2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCkBAIC0yNiw0MSArMjYsMzM2
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ2FjaGUuaCIKIAorI2luY2x1ZGUg
IkNhY2hlUXVlcnlPcHRpb25zLmgiCisjaW5jbHVkZSAiRmV0Y2hSZXNwb25zZS5oIgorI2luY2x1
ZGUgIkpTRmV0Y2hSZXF1ZXN0LmgiCisjaW5jbHVkZSAiSlNGZXRjaFJlc3BvbnNlLmgiCisjaW5j
bHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgIlVSTC5oIgorCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgQ2FjaGU6Om1hdGNoKFJlcXVlc3RJbmZvJiYsIHN0ZDo6
b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJv
bWlzZSkKK0NhY2hlOjpDYWNoZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBTdHJp
bmcmJiBuYW1lLCB1aW50NjRfdCBpZGVudGlmaWVyLCBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlv
bj4mJiBjb25uZWN0aW9uKQorICAgIDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQorICAgICwg
bV9uYW1lKFdURk1vdmUobmFtZSkpCisgICAgLCBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKKyAg
ICAsIG1fY29ubmVjdGlvbihXVEZNb3ZlKGNvbm5lY3Rpb24pKQoreworICAgIHN1c3BlbmRJZk5l
ZWRlZCgpOworfQorCitDYWNoZTo6fkNhY2hlKCkKIHsKLSAgICBwcm9taXNlLT5yZWplY3QoRXhj
ZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CiB9
CiAKLXZvaWQgQ2FjaGU6Om1hdGNoQWxsKHN0ZDo6b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYsIHN0
ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIE1hdGNoQWxsUHJvbWlzZSYmIHByb21p
c2UpCit2b2lkIENhY2hlOjptYXRjaChSZXF1ZXN0SW5mbyYmIGluZm8sIENhY2hlUXVlcnlPcHRp
b25zJiYgb3B0aW9ucywgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogewotICAgIHBy
b21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1w
bGVtZW50ZWQiKX0pOworICAgIG1hdGNoQWxsKFdURk1vdmUoaW5mbyksIFdURk1vdmUob3B0aW9u
cyksIFdURk1vdmUocHJvbWlzZSksIE1hdGNoVHlwZTo6T25seUZpcnN0KTsKK30KKwordm9pZCBD
YWNoZTo6bWF0Y2hBbGwoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4mJiBpbmZvLCBDYWNoZVF1
ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSwgTWF0
Y2hUeXBlIG1hdGNoVHlwZSkKK3sKKyAgICBSZWZQdHI8RmV0Y2hSZXF1ZXN0PiByZXF1ZXN0Owor
ICAgIGlmIChpbmZvKSB7CisgICAgICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPFJlZlB0
cjxGZXRjaFJlcXVlc3Q+PihpbmZvLnZhbHVlKCkpKSB7CisgICAgICAgICAgICByZXF1ZXN0ID0g
V1RGOjpnZXQ8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8udmFsdWUoKSkucmVsZWFzZU5vbk51
bGwoKTsKKyAgICAgICAgICAgIGlmIChyZXF1ZXN0LT5tZXRob2QoKSAhPSAiR0VUIiAmJiAhb3B0
aW9ucy5pZ25vcmVNZXRob2QpIHsKKyAgICAgICAgICAgICAgICBpZiAobWF0Y2hUeXBlID09IE1h
dGNoVHlwZTo6T25seUZpcnN0KSB7CisgICAgICAgICAgICAgICAgICAgIHByb21pc2UtPnJlc29s
dmUoKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElETFNlcXVlbmNlPElETEludGVyZmFjZTxG
ZXRjaFJlc3BvbnNlPj4+KFZlY3RvcjxSZWY8RmV0Y2hSZXNwb25zZT4+IHsgfSk7CisgICAgICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgaWYgKFVOTElLRUxZKCFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpKQorICAgICAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0
ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBXVEZNb3ZlKGluZm8udmFsdWUoKSksIHsgfSku
cmVsZWFzZVJldHVyblZhbHVlKCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoIXJlcXVl
c3QpIHsKKyAgICAgICAgQVNTRVJUKG1hdGNoVHlwZSA9PSBNYXRjaFR5cGU6OkFsbCk7CisgICAg
ICAgIHJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcChbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUo
cHJvbWlzZSldKCkgeworICAgICAgICAgICAgVmVjdG9yPFJlZjxGZXRjaFJlc3BvbnNlPj4gcmVz
cG9uc2VzOworICAgICAgICAgICAgcmVzcG9uc2VzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobV9y
ZXF1ZXN0VG9SZXNwb25zZU1hcC5zaXplKCkpOworICAgICAgICAgICAgZm9yIChhdXRvJiByZWNv
cmQgOiBtX3JlcXVlc3RUb1Jlc3BvbnNlTWFwKQorICAgICAgICAgICAgICAgIHJlc3BvbnNlcy51
bmNoZWNrZWRBcHBlbmQocmVjb3JkLnJlc3BvbnNlLT5jbG9uZUZvckpTKCkpOworICAgICAgICAg
ICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8RmV0Y2hSZXNwb25z
ZT4+PihyZXNwb25zZXMpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAg
ICBxdWVyeUNhY2hlKHJlcXVlc3QucmVsZWFzZU5vbk51bGwoKSwgV1RGTW92ZShvcHRpb25zKSwg
W21hdGNoVHlwZSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKGNvbnN0IFZlY3RvcjxDYWNo
ZVN0b3JhZ2VSZWNvcmQ+JiByZWNvcmRzKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKG1hdGNoVHlw
ZSA9PSBNYXRjaFR5cGU6Ok9ubHlGaXJzdCkgeworICAgICAgICAgICAgaWYgKHJlY29yZHMuc2l6
ZSgpKSB7CisgICAgICAgICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExJbnRlcmZhY2U8RmV0
Y2hSZXNwb25zZT4+KHJlY29yZHNbMF0ucmVzcG9uc2UtPmNsb25lRm9ySlMoKSk7CisgICAgICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcHJvbWlzZS0+cmVz
b2x2ZSgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgVmVjdG9y
PFJlZjxGZXRjaFJlc3BvbnNlPj4gcmVzcG9uc2VzOworICAgICAgICByZXNwb25zZXMucmVzZXJ2
ZUluaXRpYWxDYXBhY2l0eShyZWNvcmRzLnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0byYgcmVj
b3JkIDogcmVjb3JkcykKKyAgICAgICAgICAgIHJlc3BvbnNlcy51bmNoZWNrZWRBcHBlbmQocmVj
b3JkLnJlc3BvbnNlLT5jbG9uZUZvckpTKCkpOworICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElE
TFNlcXVlbmNlPElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4+KHJlc3BvbnNlcyk7CisgICAg
fSk7CiB9CiAKIHZvaWQgQ2FjaGU6OmFkZChSZXF1ZXN0SW5mbyYmLCBET01Qcm9taXNlRGVmZXJy
ZWQ8dm9pZD4mJiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5
cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHByb21pc2Uu
cmVqZWN0KEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBp
bXBsZW1lbnRlZCIpfSk7CiB9CiAKIHZvaWQgQ2FjaGU6OmFkZEFsbChWZWN0b3I8UmVxdWVzdElu
Zm8+JiYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlz
ZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1l
bnRlZCIpfSk7CisgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJy
b3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKK30KKwordm9pZCBDYWNoZTo6
cHV0KFJlcXVlc3RJbmZvJiYgaW5mbywgUmVmPEZldGNoUmVzcG9uc2U+JiYgcmVzcG9uc2UsIERP
TVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCit7CisgICAgUmVmUHRyPEZldGNoUmVx
dWVzdD4gcmVxdWVzdDsKKyAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWZQdHI8RmV0
Y2hSZXF1ZXN0Pj4oaW5mbykpIHsKKyAgICAgICAgcmVxdWVzdCA9IFdURjo6Z2V0PFJlZlB0cjxG
ZXRjaFJlcXVlc3Q+PihpbmZvKS5yZWxlYXNlTm9uTnVsbCgpOworICAgICAgICBpZiAocmVxdWVz
dC0+bWV0aG9kKCkgIT0gIkdFVCIpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2Vw
dGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJSZXF1ZXN0IG1ldGhvZCBpcyBub3QgR0VU
IikgfSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAg
ICAgICBpZiAoVU5MSUtFTFkoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkpCisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZSgqc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLCBXVEZNb3ZlKGluZm8pLCB7IH0pLnJlbGVhc2VSZXR1cm5WYWx1
ZSgpOworICAgIH0KKworICAgIGlmICghcHJvdG9jb2xJc0luSFRUUEZhbWlseShyZXF1ZXN0LT51
cmwoKSkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBB
U0NJSUxpdGVyYWwoIlJlcXVlc3QgdXJsIGlzIG5vdCBIVFRQL0hUVFBTIikgfSk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIHZhcnlWYWx1ZSA9IHJlc3BvbnNlLT5oZWFkZXJz
KCkuaW50ZXJuYWxIZWFkZXJzKCkuZ2V0KFdlYkNvcmU6OkhUVFBIZWFkZXJOYW1lOjpWYXJ5KTsK
KyAgICBWZWN0b3I8U3RyaW5nPiB2YXJ5aW5nSGVhZGVyTmFtZXM7CisgICAgYm9vbCBoYXNWYXJ5
SGVhZGVyU3RhciA9IGZhbHNlOworICAgIHZhcnlWYWx1ZS5zcGxpdCgnLCcsIGZhbHNlLCBbJl0o
Y29uc3QgU3RyaW5nVmlldyYgdmlldykgeworICAgICAgICBpZiAoIWhhc1ZhcnlIZWFkZXJTdGFy
ICYmIHZpZXcgPT0gIioiKQorICAgICAgICAgICAgaGFzVmFyeUhlYWRlclN0YXIgPSB0cnVlOwor
ICAgIH0pOworCisgICAgaWYgKGhhc1ZhcnlIZWFkZXJTdGFyKSB7CisgICAgICAgIHByb21pc2Uu
cmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJSZXNwb25zZSBoYXMg
YSAnKicgVmFyeSBoZWFkZXIgdmFsdWUiKSB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIGlmIChyZXNwb25zZS0+aXNEaXN0dXJiZWQoKSkgeworICAgICAgICBwcm9taXNlLnJlamVj
dChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiUmVzcG9uc2UgaXMgZGlzdHVy
YmVkIG9yIGxvY2tlZCIpIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHJl
c3BvbnNlLT5zdGF0dXMoKSA9PSAyMDYpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0
aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIlJlc3BvbnNlIGlzIGEgMjA2IHBhcnRpYWwi
KSB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9y
dCBmb3IgYmVpbmcgbG9hZGVkIHJlc3BvbnNlcy4KKyAgICBpZiAocmVzcG9uc2UtPmlzTG9hZGlu
ZygpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVy
cm9yLCBBU0NJSUxpdGVyYWwoIkNhY2hpbmcgYSBsb2FkaW5nIFJlc3BvbnNlIGlzIG5vdCB5ZXQg
c3VwcG9ydGVkIikgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyBGSVhNRTog
QWRkIHN1cHBvcnQgZm9yIFJlYWRhYmxlU3RyZWFtLgorICAgIGlmIChyZXNwb25zZS0+aXNSZWFk
YWJsZVN0cmVhbUJvZHkoKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBO
b3RTdXBwb3J0ZWRFcnJvciwgQVNDSUlMaXRlcmFsKCJDYWNoaW5nIGEgUmVzcG9uc2Ugd2l0aCBk
YXRhIHN0b3JlZCBpbiBhIFJlYWRhYmxlU3RyZWFtIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIikgfSk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBiYXRjaFB1dE9wZXJhdGlvbigqcmVxdWVz
dCwgcmVzcG9uc2UuZ2V0KCksIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICBpZiAoZXJyb3Ig
IT0gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3I6Ok5vbmUpIHsKKyAgICAgICAgICAgIHBy
b21pc2UucmVqZWN0KENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlvbkZyb21FcnJvcihl
cnJvcikpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHByb21pc2Uu
cmVzb2x2ZSgpOworICAgIH0pOworfQorCit2b2lkIENhY2hlOjpyZW1vdmUoUmVxdWVzdEluZm8m
JiBpbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIERPTVByb21pc2VEZWZlcnJlZDxJ
RExCb29sZWFuPiYmIHByb21pc2UpCit7CisgICAgUmVmUHRyPEZldGNoUmVxdWVzdD4gcmVxdWVz
dDsKKyAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4o
aW5mbykpIHsKKyAgICAgICAgcmVxdWVzdCA9IFdURjo6Z2V0PFJlZlB0cjxGZXRjaFJlcXVlc3Q+
PihpbmZvKS5yZWxlYXNlTm9uTnVsbCgpOworICAgICAgICBpZiAocmVxdWVzdC0+bWV0aG9kKCkg
IT0gIkdFVCIgJiYgIW9wdGlvbnMuaWdub3JlTWV0aG9kKSB7CisgICAgICAgICAgICBwcm9taXNl
LnJlc29sdmUoZmFsc2UpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfSBl
bHNlIHsKKyAgICAgICAgaWYgKFVOTElLRUxZKCFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpKQor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICByZXF1ZXN0ID0gRmV0Y2hSZXF1ZXN0OjpjcmVh
dGUoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgV1RGTW92ZShpbmZvKSwgeyB9KS5yZWxlYXNl
UmV0dXJuVmFsdWUoKTsKKyAgICB9CisKKyAgICBiYXRjaERlbGV0ZU9wZXJhdGlvbigqcmVxdWVz
dCwgV1RGTW92ZShvcHRpb25zKSwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShib29sIGRp
ZERlbGV0ZSwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgewor
ICAgICAgICBpZiAoZXJyb3IgIT0gIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yOjpOb25l
KSB7CisgICAgICAgICAgICBwcm9taXNlLnJlamVjdChDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpl
eGNlcHRpb25Gcm9tRXJyb3IoZXJyb3IpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
fQorICAgICAgICBwcm9taXNlLnJlc29sdmUoZGlkRGVsZXRlKTsKKyAgICB9KTsKK30KKwordm9p
ZCBDYWNoZTo6a2V5cyhzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZvPiYmIGluZm8sIENhY2hlUXVl
cnlPcHRpb25zJiYgb3B0aW9ucywgS2V5c1Byb21pc2UmJiBwcm9taXNlKQoreworICAgIFJlZlB0
cjxGZXRjaFJlcXVlc3Q+IHJlcXVlc3Q7CisgICAgaWYgKGluZm8pIHsKKyAgICAgICAgaWYgKFdU
Rjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8udmFsdWUoKSkp
IHsKKyAgICAgICAgICAgIHJlcXVlc3QgPSBXVEY6OmdldDxSZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4o
aW5mby52YWx1ZSgpKS5yZWxlYXNlTm9uTnVsbCgpOworICAgICAgICAgICAgaWYgKHJlcXVlc3Qt
Pm1ldGhvZCgpICE9ICJHRVQiICYmICFvcHRpb25zLmlnbm9yZU1ldGhvZCkgeworICAgICAgICAg
ICAgICAgIHByb21pc2UucmVzb2x2ZShWZWN0b3I8UmVmPEZldGNoUmVxdWVzdD4+IHsgfSk7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgaWYgKFVOTElLRUxZKCFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpKQorICAg
ICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6
OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBXVEZNb3ZlKGluZm8udmFsdWUoKSks
IHsgfSkucmVsZWFzZVJldHVyblZhbHVlKCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAo
IXJlcXVlc3QpIHsKKyAgICAgICAgcmVmcmVzaFJlcXVlc3RUb1Jlc3BvbnNlTWFwKFt0aGlzLCBw
cm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIFZlY3Rv
cjxSZWY8RmV0Y2hSZXF1ZXN0Pj4gcmVxdWVzdHM7CisgICAgICAgICAgICByZXF1ZXN0cy5yZXNl
cnZlSW5pdGlhbENhcGFjaXR5KG1fcmVxdWVzdFRvUmVzcG9uc2VNYXAuc2l6ZSgpKTsKKyAgICAg
ICAgICAgIGZvciAoYXV0byYgcmVjb3JkIDogbV9yZXF1ZXN0VG9SZXNwb25zZU1hcCkKKyAgICAg
ICAgICAgICAgICByZXF1ZXN0cy51bmNoZWNrZWRBcHBlbmQocmVjb3JkLnJlcXVlc3QuY29weVJl
ZigpKTsKKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShyZXF1ZXN0cyk7CisgICAgICAgIH0p
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgcXVlcnlDYWNoZShyZXF1ZXN0LnJlbGVh
c2VOb25OdWxsKCksIFdURk1vdmUob3B0aW9ucyksIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNl
KV0oY29uc3QgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4mIHJlY29yZHMpIG11dGFibGUgewor
ICAgICAgICBWZWN0b3I8UmVmPEZldGNoUmVxdWVzdD4+IHJlcXVlc3RzOworICAgICAgICByZXF1
ZXN0cy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHJlY29yZHMuc2l6ZSgpKTsKKyAgICAgICAgZm9y
IChhdXRvJiByZWNvcmQgOiByZWNvcmRzKQorICAgICAgICAgICAgcmVxdWVzdHMudW5jaGVja2Vk
QXBwZW5kKHJlY29yZC5yZXF1ZXN0LmNvcHlSZWYoKSk7CisgICAgICAgIHByb21pc2UucmVzb2x2
ZShyZXF1ZXN0cyk7CisgICAgfSk7Cit9CisKK3ZvaWQgQ2FjaGU6OnJlZnJlc2hSZXF1ZXN0VG9S
ZXNwb25zZU1hcChXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJiBjYWxsYmFjaykKK3sKKyAgICBzZXRQ
ZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgbV9jb25uZWN0aW9uLT5yZWZyZXNoUmVjb3Jkcyht
X2lkZW50aWZpZXIsIFt0aGlzLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShWZWN0b3I8
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6UmVjb3JkPiYmIHJlY29yZHMpIHsKKyAgICAgICAgaWYg
KCFtX2lzU3RvcHBlZCkgeworICAgICAgICAgICAgdXBkYXRlUmVxdWVzdFRvUmVzcG9uc2VNYXAo
V1RGTW92ZShyZWNvcmRzKSk7CisgICAgICAgICAgICBjYWxsYmFjaygpOworICAgICAgICB9Cisg
ICAgICAgIHVuc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgIH0pOworfQorCit2b2lkIENh
Y2hlOjpxdWVyeUNhY2hlKFJlZjxGZXRjaFJlcXVlc3Q+JiYgcmVxdWVzdCwgQ2FjaGVRdWVyeU9w
dGlvbnMmJiBvcHRpb25zLCBXVEY6OkZ1bmN0aW9uPHZvaWQoY29uc3QgVmVjdG9yPENhY2hlU3Rv
cmFnZVJlY29yZD4mKT4mJiBjYWxsYmFjaykKK3sKKyAgICByZWZyZXNoUmVxdWVzdFRvUmVzcG9u
c2VNYXAoW3RoaXMsIHJlcXVlc3QgPSBXVEZNb3ZlKHJlcXVlc3QpLCBvcHRpb25zID0gV1RGTW92
ZShvcHRpb25zKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oKSBtdXRhYmxlIHsKKyAg
ICAgICAgY2FsbGJhY2socXVlcnlDYWNoZVdpdGhUYXJnZXRTdG9yYWdlKHJlcXVlc3QuZ2V0KCks
IG9wdGlvbnMsIG1fcmVxdWVzdFRvUmVzcG9uc2VNYXApKTsKKyAgICB9KTsKK30KKworc3RhdGlj
IGlubGluZSBib29sIHF1ZXJ5Q2FjaGVNYXRjaChjb25zdCBGZXRjaFJlcXVlc3QmIHJlcXVlc3Qs
IGNvbnN0IEZldGNoUmVxdWVzdCYgY2FjaGVkUmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgY2FjaGVkUmVzcG9uc2UsIGNvbnN0IENhY2hlUXVlcnlPcHRpb25zJiBvcHRpb25zKQorewor
ICAgIC8vIFdlIG5lZWQgdG8gcGFzcyB0aGUgcmVzb3VyY2UgcmVxdWVzdCB3aXRoIGFsbCBjb3Jy
ZWN0IGhlYWRlcnMgaGVuY2Ugd2h5IHdlIGNhbGwgcmVzb3VyY2VSZXF1ZXN0KCkuCisgICAgcmV0
dXJuIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OnF1ZXJ5Q2FjaGVNYXRjaChyZXF1ZXN0LnJlc291
cmNlUmVxdWVzdCgpLCBjYWNoZWRSZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLCBjYWNoZWRSZXNw
b25zZSwgb3B0aW9ucyk7Cit9CisKK1ZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+IENhY2hlOjpx
dWVyeUNhY2hlV2l0aFRhcmdldFN0b3JhZ2UoY29uc3QgRmV0Y2hSZXF1ZXN0JiByZXF1ZXN0LCBj
b25zdCBDYWNoZVF1ZXJ5T3B0aW9ucyYgb3B0aW9ucywgY29uc3QgVmVjdG9yPENhY2hlU3RvcmFn
ZVJlY29yZD4mIHRhcmdldFN0b3JhZ2UpCit7CisgICAgaWYgKCFvcHRpb25zLmlnbm9yZU1ldGhv
ZCAmJiByZXF1ZXN0Lm1ldGhvZCgpICE9ICJHRVQiKQorICAgICAgICByZXR1cm4geyB9OworCisg
ICAgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4gcmVjb3JkczsKKyAgICBmb3IgKGF1dG8mIHJl
Y29yZCA6IHRhcmdldFN0b3JhZ2UpIHsKKyAgICAgICAgaWYgKHF1ZXJ5Q2FjaGVNYXRjaChyZXF1
ZXN0LCByZWNvcmQucmVxdWVzdC5nZXQoKSwgcmVjb3JkLnJlc3BvbnNlLT5yZXNwb25zZSgpLCBv
cHRpb25zKSkKKyAgICAgICAgICAgIHJlY29yZHMuYXBwZW5kKHsgcmVjb3JkLmlkZW50aWZpZXIs
IHJlY29yZC5yZXF1ZXN0LmNvcHlSZWYoKSwgcmVjb3JkLnJlc3BvbnNlLmNvcHlSZWYoKSB9KTsK
KyAgICB9CisgICAgcmV0dXJuIHJlY29yZHM7Cit9CisKK3ZvaWQgQ2FjaGU6OmJhdGNoRGVsZXRl
T3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgQ2FjaGVRdWVyeU9wdGlvbnMm
JiBvcHRpb25zLCBXVEY6OkZ1bmN0aW9uPHZvaWQoYm9vbCBkaWRSZW1vdmFsLCBDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uOjpFcnJvciBlcnJvcik+JiYgY2FsbGJhY2spCit7CisgICAgc2V0UGVuZGlu
Z0FjdGl2aXR5KHRoaXMpOworICAgIG1fY29ubmVjdGlvbi0+YmF0Y2hEZWxldGVPcGVyYXRpb24o
bV9pZGVudGlmaWVyLCByZXF1ZXN0LmludGVybmFsUmVxdWVzdCgpLnJlcXVlc3QsIFdURk1vdmUo
b3B0aW9ucyksIFt0aGlzLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShWZWN0b3I8dWlu
dDY0X3Q+JiYgcmVjb3JkcywgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIHsK
KyAgICAgICAgaWYgKCFtX2lzU3RvcHBlZCkgeworICAgICAgICAgICAgaWYgKGVycm9yID09IENh
Y2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yOjpOb25lKQorICAgICAgICAgICAgICAgIG1fcmVx
dWVzdFRvUmVzcG9uc2VNYXAucmVtb3ZlQWxsTWF0Y2hpbmcoWyZdKGNvbnN0IGF1dG8mIGl0ZW0p
IHsgcmV0dXJuIHJlY29yZHMuY29udGFpbnMoaXRlbS5pZGVudGlmaWVyKTsgfSk7CisKKyAgICAg
ICAgICAgIGNhbGxiYWNrKCEhcmVjb3Jkcy5zaXplKCksIGVycm9yKTsKKyAgICAgICAgfQorICAg
ICAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICB9KTsKK30KKworc3RhdGljIGlu
bGluZSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQgdG9Db25uZWN0aW9uUmVjb3JkKGNv
bnN0IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgRmV0Y2hSZXNwb25zZSYgcmVzcG9uc2UpCit7Cisg
ICAgLy8gRklYTUU6IEFkZCBhIHNldEhUVFBIZWFkZXJGaWVsZHMgb24gUmVzb3VyY2VSZXNwb25z
ZUJhc2UuCisgICAgUmVzb3VyY2VSZXNwb25zZSBjYWNoZWRSZXNwb25zZSA9IHJlc3BvbnNlLnJl
c3BvbnNlKCk7CisgICAgZm9yIChhdXRvJiBoZWFkZXIgOiByZXNwb25zZS5oZWFkZXJzKCkuaW50
ZXJuYWxIZWFkZXJzKCkpCisgICAgICAgIGNhY2hlZFJlc3BvbnNlLnNldEhUVFBIZWFkZXJGaWVs
ZChoZWFkZXIua2V5LCBoZWFkZXIudmFsdWUpOworCisgICAgUmVzb3VyY2VSZXF1ZXN0IGNhY2hl
ZFJlcXVlc3QgPSByZXF1ZXN0LmludGVybmFsUmVxdWVzdCgpLnJlcXVlc3Q7CisgICAgY2FjaGVk
UmVxdWVzdC5zZXRIVFRQSGVhZGVyRmllbGRzKHJlcXVlc3QuaGVhZGVycygpLmludGVybmFsSGVh
ZGVycygpKTsKKworICAgIHJldHVybiB7IDAsCisgICAgICAgIHJlcXVlc3QuaGVhZGVycygpLmd1
YXJkKCksIFdURk1vdmUoY2FjaGVkUmVxdWVzdCksIHJlcXVlc3QuaW50ZXJuYWxSZXF1ZXN0KCku
b3B0aW9ucywgcmVxdWVzdC5pbnRlcm5hbFJlcXVlc3QoKS5yZWZlcnJlciwKKyAgICAgICAgcmVz
cG9uc2UuaGVhZGVycygpLmd1YXJkKCksIFdURk1vdmUoY2FjaGVkUmVzcG9uc2UpCisgICAgfTsK
K30KKwordm9pZCBDYWNoZTo6YmF0Y2hQdXRPcGVyYXRpb24oY29uc3QgRmV0Y2hSZXF1ZXN0JiBy
ZXF1ZXN0LCBGZXRjaFJlc3BvbnNlJiByZXNwb25zZSwgV1RGOjpGdW5jdGlvbjx2b2lkKENhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OkVycm9yKT4mJiBjYWxsYmFjaykKK3sKKyAgICBWZWN0b3I8Q2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbjo6UmVjb3JkPiByZWNvcmRzOworICAgIHJlY29yZHMuYXBwZW5k
KHRvQ29ubmVjdGlvblJlY29yZChyZXF1ZXN0LCByZXNwb25zZSkpOworCisgICAgc2V0UGVuZGlu
Z0FjdGl2aXR5KHRoaXMpOworICAgIG1fY29ubmVjdGlvbi0+YmF0Y2hQdXRPcGVyYXRpb24obV9p
ZGVudGlmaWVyLCBXVEZNb3ZlKHJlY29yZHMpLCBbdGhpcywgY2FsbGJhY2sgPSBXVEZNb3ZlKGNh
bGxiYWNrKV0oVmVjdG9yPHVpbnQ2NF90PiYmLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJv
ciBlcnJvcikgeworICAgICAgICBpZiAoIW1faXNTdG9wcGVkKQorICAgICAgICAgICAgY2FsbGJh
Y2soZXJyb3IpOworCisgICAgICAgIHVuc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgIH0p
OworfQorCit2b2lkIENhY2hlOjp1cGRhdGVSZXF1ZXN0VG9SZXNwb25zZU1hcChWZWN0b3I8Q2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbjo6UmVjb3JkPiYmIHJlY29yZHMpCit7CisgICAgQVNTRVJUKHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CisgICAgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4g
bmV3TWFwOworCisgICAgZm9yIChhdXRvJiByZWNvcmQgOiByZWNvcmRzKSB7CisgICAgICAgIHNp
emVfdCBpbmRleCA9IG1fcmVxdWVzdFRvUmVzcG9uc2VNYXAuZmluZE1hdGNoaW5nKFsmXShjb25z
dCBhdXRvJiBpdGVtKSB7IHJldHVybiBpdGVtLmlkZW50aWZpZXIgPT0gcmVjb3JkLmlkZW50aWZp
ZXI7IH0pOworICAgICAgICBpZiAoaW5kZXggIT0gbm90Rm91bmQpCisgICAgICAgICAgICBuZXdN
YXAuYXBwZW5kKFdURk1vdmUobV9yZXF1ZXN0VG9SZXNwb25zZU1hcFtpbmRleF0pKTsKKyAgICAg
ICAgZWxzZSB7CisgICAgICAgICAgICBhdXRvIHJlcXVlc3RIZWFkZXJzID0gRmV0Y2hIZWFkZXJz
OjpjcmVhdGUocmVjb3JkLnJlcXVlc3RIZWFkZXJzR3VhcmQsIEhUVFBIZWFkZXJNYXAgeyByZWNv
cmQucmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkgfSk7CisgICAgICAgICAgICBGZXRjaFJlcXVl
c3Q6OkludGVybmFsUmVxdWVzdCBpbnRlcm5hbFJlcXVlc3QgPSB7IFdURk1vdmUocmVjb3JkLnJl
cXVlc3QpLCBXVEZNb3ZlKHJlY29yZC5vcHRpb25zKSwgV1RGTW92ZShyZWNvcmQucmVmZXJyZXIp
IH07CisgICAgICAgICAgICBhdXRvIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZSgqc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLCBzdGQ6Om51bGxvcHQsIFdURk1vdmUocmVxdWVzdEhlYWRl
cnMpLCBXVEZNb3ZlKGludGVybmFsUmVxdWVzdCkpOworCisgICAgICAgICAgICBhdXRvIHJlc3Bv
bnNlSGVhZGVycyA9IEZldGNoSGVhZGVyczo6Y3JlYXRlKHJlY29yZC5yZXNwb25zZUhlYWRlcnNH
dWFyZCwgSFRUUEhlYWRlck1hcCB7IHJlY29yZC5yZXNwb25zZS5odHRwSGVhZGVyRmllbGRzKCkg
fSk7CisgICAgICAgICAgICBhdXRvIHJlc3BvbnNlID0gRmV0Y2hSZXNwb25zZTo6Y3JlYXRlKCpz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHN0ZDo6bnVsbG9wdCwgV1RGTW92ZShyZXNwb25zZUhl
YWRlcnMpLCBXVEZNb3ZlKHJlY29yZC5yZXNwb25zZSkpOworCisgICAgICAgICAgICBuZXdNYXAu
YXBwZW5kKENhY2hlU3RvcmFnZVJlY29yZCB7IHJlY29yZC5pZGVudGlmaWVyLCBXVEZNb3ZlKHJl
cXVlc3QpLCBXVEZNb3ZlKHJlc3BvbnNlKSB9KTsKKyAgICAgICAgfQorICAgIH0KKyAgICBtX3Jl
cXVlc3RUb1Jlc3BvbnNlTWFwID0gV1RGTW92ZShuZXdNYXApOwogfQogCi12b2lkIENhY2hlOjpw
dXQoUmVxdWVzdEluZm8mJiwgUmVmPEZldGNoUmVzcG9uc2U+JiYsIERPTVByb21pc2VEZWZlcnJl
ZDx2b2lkPiYmIHByb21pc2UpCit2b2lkIENhY2hlOjpzdG9wKCkKIHsKLSAgICBwcm9taXNlLnJl
amVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVk
Iil9KTsKKyAgICBtX2lzU3RvcHBlZCA9IHRydWU7CiB9CiAKLXZvaWQgQ2FjaGU6OnJlbW92ZShS
ZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBET01Qcm9t
aXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQorY29uc3QgY2hhciogQ2FjaGU6OmFj
dGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlv
biB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHJl
dHVybiAiQ2FjaGUiOwogfQogCi12b2lkIENhY2hlOjprZXlzKHN0ZDo6b3B0aW9uYWw8UmVxdWVz
dEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIEtleXNQcm9taXNl
JiYgcHJvbWlzZSkKK2Jvb2wgQ2FjaGU6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24o
KSBjb25zdAogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVND
SUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHJldHVybiAhbV9yZXF1ZXN0VG9S
ZXNwb25zZU1hcC5zaXplKCkgJiYgIWhhc1BlbmRpbmdBY3Rpdml0eSgpOwogfQogCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaAppbmRleCAwMDgyYWNkNTU2ZGRmNWRlZTlmNzUwNjY1
YzJmNGU5ZWI5ZGQ5NjVlLi43MzQ0YTg5MDBjYWQyMGQwMTUxNTcxMzRhNzc3YzAxZmM4NTU2M2Yx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5oCkBAIC0yNSwzNiArMjUsNTkgQEAK
IAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJGZXRjaFJlcXVlc3QuaCIKKyNpbmNsdWRlICJB
Y3RpdmVET01PYmplY3QuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgiCisj
aW5jbHVkZSAiQ2FjaGVTdG9yYWdlUmVjb3JkLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgRmV0Y2hSZXNwb25zZTsKK2NsYXNzIENhY2hlUXVlcnlPcHRpb25zOworY2xhc3MgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDsKIAotc3RydWN0IENhY2hlUXVlcnlPcHRpb25zOwotCi1jbGFz
cyBDYWNoZSA6IHB1YmxpYyBSZWZDb3VudGVkPENhY2hlPiB7CitjbGFzcyBDYWNoZSBmaW5hbCA6
IHB1YmxpYyBSZWZDb3VudGVkPENhY2hlPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFJlZjxDYWNoZT4gY3JlYXRlKFN0cmluZyYmIG5hbWUpIHsgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgQ2FjaGUoV1RGTW92ZShuYW1lKSkpOyB9CisgICAgc3RhdGljIFJlZjxD
YWNoZT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFN0cmluZyYmIG5h
bWUsIHVpbnQ2NF90IGlkZW50aWZpZXIsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYmIGNv
bm5lY3Rpb24pIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2FjaGUoY29udGV4dCwgV1RGTW92ZShu
YW1lKSwgaWRlbnRpZmllciwgV1RGTW92ZShjb25uZWN0aW9uKSkpOyB9CisgICAgfkNhY2hlKCk7
CiAKICAgICB1c2luZyBSZXF1ZXN0SW5mbyA9IEZldGNoUmVxdWVzdDo6SW5mbzsKIAotICAgIHVz
aW5nIE1hdGNoQWxsUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExTZXF1ZW5jZTxJRExJ
bnRlcmZhY2U8RmV0Y2hSZXNwb25zZT4+PjsKICAgICB1c2luZyBLZXlzUHJvbWlzZSA9IERPTVBy
b21pc2VEZWZlcnJlZDxJRExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8RmV0Y2hSZXF1ZXN0Pj4+Owog
Ci0gICAgdm9pZCBtYXRjaChSZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlP
cHRpb25zPiYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKLSAgICB2b2lkIG1hdGNoQWxsKHN0
ZDo6b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlv
bnM+JiYsIE1hdGNoQWxsUHJvbWlzZSYmKTsKKyAgICBlbnVtIGNsYXNzIE1hdGNoVHlwZSB7IEFs
bCwgT25seUZpcnN0IH07CisgICAgdm9pZCBtYXRjaChSZXF1ZXN0SW5mbyYmLCBDYWNoZVF1ZXJ5
T3B0aW9ucyYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKKyAgICB2b2lkIG1hdGNoQWxsKHN0
ZDo6b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYsIENhY2hlUXVlcnlPcHRpb25zJiYsIFJlZjxEZWZl
cnJlZFByb21pc2U+JiYsIE1hdGNoVHlwZSA9IE1hdGNoVHlwZTo6QWxsKTsKICAgICB2b2lkIGFk
ZChSZXF1ZXN0SW5mbyYmLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJik7CiAKICAgICB2b2lk
IGFkZEFsbChWZWN0b3I8UmVxdWVzdEluZm8+JiYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYm
KTsKICAgICB2b2lkIHB1dChSZXF1ZXN0SW5mbyYmLCBSZWY8RmV0Y2hSZXNwb25zZT4mJiwgRE9N
UHJvbWlzZURlZmVycmVkPHZvaWQ+JiYpOwotICAgIHZvaWQgcmVtb3ZlKFJlcXVlc3RJbmZvJiYs
IHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIERPTVByb21pc2VEZWZlcnJlZDxJ
RExCb29sZWFuPiYmKTsKLSAgICB2b2lkIGtleXMoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4m
Jiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgS2V5c1Byb21pc2UmJik7Cisg
ICAgdm9pZCByZW1vdmUoUmVxdWVzdEluZm8mJiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgRE9NUHJv
bWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYpOworICAgIHZvaWQga2V5cyhzdGQ6Om9wdGlvbmFs
PFJlcXVlc3RJbmZvPiYmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBLZXlzUHJvbWlzZSYmKTsKKwor
ICAgIGNvbnN0IFN0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQorICAgIHVp
bnQ2NF90IGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KIAogcHJp
dmF0ZToKLSAgICBleHBsaWNpdCBDYWNoZShTdHJpbmcmJiBuYW1lKSA6IG1fbmFtZShXVEZNb3Zl
KG5hbWUpKSB7IH0KKyAgICBDYWNoZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgU3RyaW5nJiYg
bmFtZSwgdWludDY0X3QgaWRlbnRpZmllciwgUmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+JiYp
OworCisgICAgLy8gQWN0aXZlRE9NT2JqZWN0CisgICAgdm9pZCBzdG9wKCkgZmluYWw7CisgICAg
Y29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFsOworICAgIGJvb2wg
Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IGZpbmFsOworCisgICAgdm9p
ZCByZWZyZXNoUmVxdWVzdFRvUmVzcG9uc2VNYXAoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYpOwor
ICAgIFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+IHF1ZXJ5Q2FjaGVXaXRoVGFyZ2V0U3RvcmFn
ZShjb25zdCBGZXRjaFJlcXVlc3QmLCBjb25zdCBDYWNoZVF1ZXJ5T3B0aW9ucyYsIGNvbnN0IFZl
Y3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+Jik7CisgICAgdm9pZCBxdWVyeUNhY2hlKFJlZjxGZXRj
aFJlcXVlc3Q+JiYsIENhY2hlUXVlcnlPcHRpb25zJiYsIFdURjo6RnVuY3Rpb248dm9pZChjb25z
dCBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiYpPiYmKTsKKyAgICB2b2lkIGJhdGNoRGVsZXRl
T3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYsIENhY2hlUXVlcnlPcHRpb25zJiYsIFdURjo6
RnVuY3Rpb248dm9pZChib29sIGRpZFJlbW92YWwsIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVy
cm9yKT4mJik7CisgICAgdm9pZCBiYXRjaFB1dE9wZXJhdGlvbihjb25zdCBGZXRjaFJlcXVlc3Qm
LCBGZXRjaFJlc3BvbnNlJiwgV1RGOjpGdW5jdGlvbjx2b2lkKENhY2hlU3RvcmFnZUNvbm5lY3Rp
b246OkVycm9yKT4mJik7CisKKyAgICB2b2lkIHVwZGF0ZVJlcXVlc3RUb1Jlc3BvbnNlTWFwKFZl
Y3RvcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQ+JiYpOwogCiAgICAgU3RyaW5nIG1f
bmFtZTsKKyAgICB1aW50NjRfdCBtX2lkZW50aWZpZXI7CisgICAgUmVmPENhY2hlU3RvcmFnZUNv
bm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKKworICAgIFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+
IG1fcmVxdWVzdFRvUmVzcG9uc2VNYXA7CisgICAgYm9vbCBtX2lzU3RvcHBlZCB7IGZhbHNlIH07
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUv
Q2FjaGUuaWRsCmluZGV4IGQ0Nzk2OTE1NWQyMGE0ZjdiZmEzOGE2ZGMwYjJkZjMyMjU2YTk0ZTAu
LjFlN2RmNmNhZDIzNGM4MGE2NTI4NDJhYmQ4ODM4YmI2OWY3MWFiNzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvY2FjaGUvQ2FjaGUuaWRsCkBAIC0yOSw3ICsyOSw2IEBAIHR5cGVkZWYgKEZldGNo
UmVxdWVzdCBvciBVU1ZTdHJpbmcpIFJlcXVlc3RJbmZvOwogICAgIFNlY3VyZUNvbnRleHQsCiAg
ICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCiAgICAgRW5hYmxlZEF0UnVudGltZT1DYWNoZUFQ
SSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogXSBpbnRlcmZhY2UgQ2FjaGUgewog
ICAgIFtOZXdPYmplY3RdIFByb21pc2U8YW55PiBtYXRjaChSZXF1ZXN0SW5mbyByZXF1ZXN0LCBv
cHRpb25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsKICAgICBbTmV3T2JqZWN0XSBQcm9t
aXNlPHNlcXVlbmNlPEZldGNoUmVzcG9uc2U+PiBtYXRjaEFsbChvcHRpb25hbCBSZXF1ZXN0SW5m
byByZXF1ZXN0LCBvcHRpb25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVRdWVyeU9wdGlvbnMuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVRdWVyeU9wdGlvbnMuaAppbmRleCA2OGY2
N2ZhY2YzNTY4NzFlZWY0ZTU1NDY5NThiNzI3YTY1OTM2OTNiLi40ZjhiNGRlZWNhMWE3ZGY2ODE0
NTcwNDAwMGE2YTYxYWMwY2IxOTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2NhY2hlL0NhY2hlUXVlcnlPcHRpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9j
YWNoZS9DYWNoZVF1ZXJ5T3B0aW9ucy5oCkBAIC0yOSw3ICsyOSw4IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotc3RydWN0IENhY2hlUXVlcnlPcHRpb25zIHsKK2NsYXNzIENhY2hlUXVlcnlP
cHRpb25zIHsKK3B1YmxpYzoKICAgICBib29sIGlnbm9yZVNlYXJjaCB7IGZhbHNlIH07CiAgICAg
Ym9vbCBpZ25vcmVNZXRob2QgeyBmYWxzZSB9OwogICAgIGJvb2wgaWdub3JlVmFyeSB7IGZhbHNl
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFn
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5jcHAKaW5k
ZXggMTIzNjdiZTk2NmUxZTNhMjhhOWUyOWRiZmU0YjgzYmQ1YWNkZWNjNi4uYjFiYTEwMTA4YjU1
ODAyMmVkMWVmYjYzNDQ0ZjNjOTg3NWY5YWIzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmNwcApAQCAtMjYsMzEgKzI2LDE0OCBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIkNhY2hlU3RvcmFnZS5oIgogCisjaW5jbHVkZSAiQ2FjaGVR
dWVyeU9wdGlvbnMuaCIKKyNpbmNsdWRlICJKU0NhY2hlLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgQ2FjaGVTdG9y
YWdlOjptYXRjaChSZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25z
PiYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCitDYWNoZVN0b3JhZ2U6OkNhY2hl
U3RvcmFnZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8Q2FjaGVTdG9yYWdl
Q29ubmVjdGlvbj4mJiBjb25uZWN0aW9uKQorICAgIDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0
KQorICAgICwgbV9jb25uZWN0aW9uKFdURk1vdmUoY29ubmVjdGlvbikpCit7CisgICAgc3VzcGVu
ZElmTmVlZGVkKCk7Cit9CisKK1N0cmluZyBDYWNoZVN0b3JhZ2U6Om9yaWdpbigpIGNvbnN0Cit7
CisgICAgLy8gRklYTUU6IERvIHdlIHJlYWxseSBuZWVkIHRvIGNoZWNrIGZvciBvcmlnaW4gYmVp
bmcgbnVsbD8KKyAgICBhdXRvKiBvcmlnaW4gPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgPyBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCkgOiBudWxscHRyOworICAg
IHJldHVybiBvcmlnaW4gPyBvcmlnaW4tPnRvU3RyaW5nKCkgOiBTdHJpbmcoKTsKK30KKwordm9p
ZCBDYWNoZVN0b3JhZ2U6Om1hdGNoKENhY2hlOjpSZXF1ZXN0SW5mbyYmLCBDYWNoZVF1ZXJ5T3B0
aW9ucyYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS0+
cmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50
ZWQiKX0pOworICAgIHByb21pc2UtPnJlamVjdChFeGNlcHRpb24geyBOb3RTdXBwb3J0ZWRFcnJv
ciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOwogfQogCi12b2lkIENhY2hlU3Rv
cmFnZTo6aGFzKGNvbnN0IFN0cmluZyYsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYm
IHByb21pc2UpCit2b2lkIENhY2hlU3RvcmFnZTo6aGFzKGNvbnN0IFN0cmluZyYgbmFtZSwgRE9N
UHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKIHsKLSAgICBwcm9taXNlLnJl
amVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVk
Iil9KTsKKyAgICByZWZyZXNoQ2FjaGVNYXAoW3RoaXMsIG5hbWUsIHByb21pc2UgPSBXVEZNb3Zl
KHByb21pc2UpXSgpIG11dGFibGUgeworICAgICAgICBwcm9taXNlLnJlc29sdmUobV9jYWNoZU1h
cC5maW5kTWF0Y2hpbmcoWyZdKGF1dG8mIGl0ZW0pIHsgcmV0dXJuIGl0ZW0tPm5hbWUoKSA9PSBu
YW1lOyB9KSAhPSBub3RGb3VuZCk7CisgICAgfSk7Cit9CisKK3ZvaWQgQ2FjaGVTdG9yYWdlOjpy
ZWZyZXNoQ2FjaGVNYXAoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgY2FsbGJhY2spCit7CisgICAg
U3RyaW5nIG9yaWdpbiA9IHRoaXMtPm9yaWdpbigpOworICAgIGlmIChvcmlnaW4uaXNOdWxsKCkp
CisgICAgICAgIHJldHVybjsKKworICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICBt
X2Nvbm5lY3Rpb24tPnJlZnJlc2hDYWNoZU1hcChvcmlnaW4sIFt0aGlzLCBjYWxsYmFjayA9IFdU
Rk1vdmUoY2FsbGJhY2spXShWZWN0b3I8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6Q2FjaGVJbmZv
PiYmIGNhY2hlc0luZm8pIHsKKyAgICAgICAgaWYgKCFtX2lzU3RvcHBlZCkgeworICAgICAgICAg
ICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CisgICAgICAgICAgICBtX2NhY2hl
TWFwLnJlbW92ZUFsbE1hdGNoaW5nKFsmXShhdXRvJiBjYWNoZSkgeworICAgICAgICAgICAgICAg
IHJldHVybiBjYWNoZXNJbmZvLmZpbmRNYXRjaGluZyhbJl0oY29uc3QgYXV0byYgaW5mbykgeyBy
ZXR1cm4gaW5mby5pZGVudGlmaWVyID09IGNhY2hlLT5pZGVudGlmaWVyKCk7IH0pID09IG5vdEZv
dW5kOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBmb3IgKGF1dG8mIGluZm8gOiBjYWNo
ZXNJbmZvKSB7CisgICAgICAgICAgICAgICAgaWYgKG1fY2FjaGVNYXAuZmluZE1hdGNoaW5nKFsm
XShjb25zdCBhdXRvJiBjYWNoZSkgeyByZXR1cm4gaW5mby5pZGVudGlmaWVyID09IGNhY2hlLT5p
ZGVudGlmaWVyKCk7IH0pID09IG5vdEZvdW5kKQorICAgICAgICAgICAgICAgICAgICBtX2NhY2hl
TWFwLmFwcGVuZChDYWNoZTo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFdURk1v
dmUoaW5mby5uYW1lKSwgaW5mby5pZGVudGlmaWVyLCBtX2Nvbm5lY3Rpb24uY29weVJlZigpKSk7
CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHN0ZDo6c29ydChtX2NhY2hlTWFwLmJlZ2lu
KCksIG1fY2FjaGVNYXAuZW5kKCksIFsmXShhdXRvJiBhLCBhdXRvJiBiKSB7CisgICAgICAgICAg
ICAgICAgcmV0dXJuIGEtPmlkZW50aWZpZXIoKSA8IGItPmlkZW50aWZpZXIoKTsKKyAgICAgICAg
ICAgIH0pOworCisgICAgICAgICAgICBjYWxsYmFjaygpOworICAgICAgICB9CisgICAgICAgIHVu
c2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgIH0pOwogfQogCi12b2lkIENhY2hlU3RvcmFn
ZTo6b3Blbihjb25zdCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPENh
Y2hlPj4mJiBwcm9taXNlKQordm9pZCBDYWNoZVN0b3JhZ2U6Om9wZW4oY29uc3QgU3RyaW5nJiBu
YW1lLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPENhY2hlPj4mJiBwcm9taXNlKQog
ewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFs
KCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHJlZnJlc2hDYWNoZU1hcChbdGhpcywgbmFtZSwg
cHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgIGF1dG8gcG9z
aXRpb24gPSBtX2NhY2hlTWFwLmZpbmRNYXRjaGluZyhbJl0oYXV0byYgaXRlbSkgeyByZXR1cm4g
aXRlbS0+bmFtZSgpID09IG5hbWU7IH0pOworICAgICAgICBpZiAocG9zaXRpb24gIT0gbm90Rm91
bmQpIHsKKyAgICAgICAgICAgIGF1dG8mIGNhY2hlID0gbV9jYWNoZU1hcFtwb3NpdGlvbl07Cisg
ICAgICAgICAgICBwcm9taXNlLnJlc29sdmUoQ2FjaGU6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLCBTdHJpbmcgeyBjYWNoZS0+bmFtZSgpIH0sIGNhY2hlLT5pZGVudGlmaWVyKCks
IG1fY29ubmVjdGlvbi5jb3B5UmVmKCkpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
fQorCisgICAgICAgIFN0cmluZyBvcmlnaW4gPSB0aGlzLT5vcmlnaW4oKTsKKyAgICAgICAgaWYg
KG9yaWdpbi5pc051bGwoKSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBzZXRQZW5k
aW5nQWN0aXZpdHkodGhpcyk7CisgICAgICAgIG1fY29ubmVjdGlvbi0+b3BlbihvcmlnaW4sIG5h
bWUsIFt0aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0odWludDY0X3QgY2Fj
aGVJZGVudGlmaWVyLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJvciBlcnJvcikgbXV0YWJs
ZSB7CisgICAgICAgICAgICBpZiAoIW1faXNTdG9wcGVkKSB7CisgICAgICAgICAgICAgICAgaWYg
KGVycm9yICE9IENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yOjpOb25lKQorICAgICAgICAg
ICAgICAgICAgICBwcm9taXNlLnJlamVjdChDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpleGNlcHRp
b25Gcm9tRXJyb3IoZXJyb3IpKTsKKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAg
ICAgICAgICAgYXV0byBjYWNoZSA9IENhY2hlOjpjcmVhdGUoKnNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSwgU3RyaW5nIHsgbmFtZSB9LCBjYWNoZUlkZW50aWZpZXIsIG1fY29ubmVjdGlvbi5jb3B5
UmVmKCkpOworICAgICAgICAgICAgICAgICAgICBwcm9taXNlLnJlc29sdmUoY2FjaGUpOworICAg
ICAgICAgICAgICAgICAgICBtX2NhY2hlTWFwLmFwcGVuZChXVEZNb3ZlKGNhY2hlKSk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgdW5zZXRQZW5kaW5nQWN0
aXZpdHkodGhpcyk7CisgICAgICAgIH0pOworICAgIH0pOwogfQogCi12b2lkIENhY2hlU3RvcmFn
ZTo6cmVtb3ZlKGNvbnN0IFN0cmluZyYsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYm
IHByb21pc2UpCit2b2lkIENhY2hlU3RvcmFnZTo6cmVtb3ZlKGNvbnN0IFN0cmluZyYgbmFtZSwg
RE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKIHsKLSAgICBwcm9taXNl
LnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVu
dGVkIil9KTsKKyAgICByZWZyZXNoQ2FjaGVNYXAoW3RoaXMsIG5hbWUsIHByb21pc2UgPSBXVEZN
b3ZlKHByb21pc2UpXSgpIG11dGFibGUgeworICAgICAgICBhdXRvIHBvc2l0aW9uID0gbV9jYWNo
ZU1hcC5maW5kTWF0Y2hpbmcoWyZdKGF1dG8mIGl0ZW0pIHsgcmV0dXJuIGl0ZW0tPm5hbWUoKSA9
PSBuYW1lOyB9KTsKKyAgICAgICAgaWYgKHBvc2l0aW9uID09IG5vdEZvdW5kKSB7CisgICAgICAg
ICAgICBwcm9taXNlLnJlc29sdmUoZmFsc2UpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICB9CisKKyAgICAgICAgU3RyaW5nIG9yaWdpbiA9IHRoaXMtPm9yaWdpbigpOworICAgICAgICBp
ZiAob3JpZ2luLmlzTnVsbCgpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHNldFBl
bmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICAgICAgbV9jb25uZWN0aW9uLT5yZW1vdmUobV9jYWNo
ZU1hcFtwb3NpdGlvbl0tPmlkZW50aWZpZXIoKSwgW3RoaXMsIG5hbWUsIHByb21pc2UgPSBXVEZN
b3ZlKHByb21pc2UpXSh1aW50NjRfdCBjYWNoZUlkZW50aWZpZXIsIENhY2hlU3RvcmFnZUNvbm5l
Y3Rpb246OkVycm9yIGVycm9yKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIFVOVVNFRF9QQVJBTShj
YWNoZUlkZW50aWZpZXIpOworICAgICAgICAgICAgaWYgKCFtX2lzU3RvcHBlZCkgeworICAgICAg
ICAgICAgICAgIGlmIChlcnJvciAhPSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJvcjo6Tm9u
ZSkKKyAgICAgICAgICAgICAgICAgICAgcHJvbWlzZS5yZWplY3QoQ2FjaGVTdG9yYWdlQ29ubmVj
dGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9yKGVycm9yKSk7CisgICAgICAgICAgICAgICAgZWxzZQor
ICAgICAgICAgICAgICAgICAgICBwcm9taXNlLnJlc29sdmUodHJ1ZSk7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICAgICAgfSk7Cisg
ICAgICAgIG1fY2FjaGVNYXAucmVtb3ZlKHBvc2l0aW9uKTsKKyAgICB9KTsKIH0KIAogdm9pZCBD
YWNoZVN0b3JhZ2U6OmtleXMoS2V5c1Byb21pc2UmJiBwcm9taXNlKQogewotICAgIHByb21pc2Uu
cmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50
ZWQiKX0pOworICAgIHJlZnJlc2hDYWNoZU1hcChbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJv
bWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgIFZlY3RvcjxTdHJpbmc+IGtleXM7CisgICAgICAg
IGtleXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShtX2NhY2hlTWFwLnNpemUoKSk7CisgICAgICAg
IGZvciAoYXV0byYgY2FjaGUgOiBtX2NhY2hlTWFwKQorICAgICAgICAgICAga2V5cy51bmNoZWNr
ZWRBcHBlbmQoY2FjaGUtPm5hbWUoKSk7CisgICAgICAgIHByb21pc2UucmVzb2x2ZShrZXlzKTsK
KyAgICB9KTsKK30KKwordm9pZCBDYWNoZVN0b3JhZ2U6OnN0b3AoKQoreworICAgIG1faXNTdG9w
cGVkID0gdHJ1ZTsKK30KKworY29uc3QgY2hhciogQ2FjaGVTdG9yYWdlOjphY3RpdmVET01PYmpl
Y3ROYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gIkNhY2hlU3RvcmFnZSI7Cit9CisKK2Jvb2wg
Q2FjaGVTdG9yYWdlOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gIW1fY2FjaGVNYXAuc2l6ZSgpICYmICFoYXNQZW5kaW5nQWN0aXZpdHkoKTsK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvQ2FjaGVTdG9yYWdlLmgKaW5kZXggZmEyNjkwMDAzNmMzMjY3MzY2MjFmY2I4MzdjNzc3MWVh
YThkODIyMy4uZTA1ZjgyYWYyYzk0ZmI0ODkyNGNhZTc2ZTM0ZmYyZTJlZjlkMjM1MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5oCkBAIC0yNSwyOSArMjUs
NDIgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJDYWNoZS5oIgorI2luY2x1ZGUgIkNh
Y2hlU3RvcmFnZUNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJGZXRjaFJlcXVlc3QuaCIKKyNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENhY2hl
OworY2xhc3MgQ2FjaGVRdWVyeU9wdGlvbnM7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0
OwogCi1zdHJ1Y3QgQ2FjaGVRdWVyeU9wdGlvbnM7Ci0KLWNsYXNzIENhY2hlU3RvcmFnZSA6IHB1
YmxpYyBSZWZDb3VudGVkPENhY2hlU3RvcmFnZT4geworY2xhc3MgQ2FjaGVTdG9yYWdlIDogcHVi
bGljIFJlZkNvdW50ZWQ8Q2FjaGVTdG9yYWdlPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBw
dWJsaWM6Ci0gICAgc3RhdGljIFJlZjxDYWNoZVN0b3JhZ2U+IGNyZWF0ZSgpIHsgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgQ2FjaGVTdG9yYWdlKCkpOyB9CisgICAgc3RhdGljIFJlZjxDYWNoZVN0b3Jh
Z2U+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8Q2FjaGVTdG9y
YWdlQ29ubmVjdGlvbj4mJiBjb25uZWN0aW9uKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IENhY2hl
U3RvcmFnZShjb250ZXh0LCBXVEZNb3ZlKGNvbm5lY3Rpb24pKSk7IH0KIAotICAgIHVzaW5nIFJl
cXVlc3RJbmZvID0gRmV0Y2hSZXF1ZXN0OjpJbmZvOwogICAgIHVzaW5nIEtleXNQcm9taXNlID0g
RE9NUHJvbWlzZURlZmVycmVkPElETFNlcXVlbmNlPElETERPTVN0cmluZz4+OwogCi0gICAgdm9p
ZCBtYXRjaChSZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYm
LCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKKyAgICB2b2lkIG1hdGNoKENhY2hlOjpSZXF1ZXN0
SW5mbyYmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKICAg
ICB2b2lkIGhhcyhjb25zdCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4m
Jik7CiAgICAgdm9pZCBvcGVuKGNvbnN0IFN0cmluZyYsIERPTVByb21pc2VEZWZlcnJlZDxJRExJ
bnRlcmZhY2U8Q2FjaGU+PiYmKTsKICAgICB2b2lkIHJlbW92ZShjb25zdCBTdHJpbmcmLCBET01Q
cm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJik7CiAgICAgdm9pZCBrZXlzKEtleXNQcm9taXNl
JiYpOwogCiBwcml2YXRlOgotICAgIENhY2hlU3RvcmFnZSgpID0gZGVmYXVsdDsKKyAgICBDYWNo
ZVN0b3JhZ2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uPiYmKTsKKworICAgIC8vIEFjdGl2ZURPTU9iamVjdAorICAgIHZvaWQgc3RvcCgpIGZpbmFs
OworICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKKyAg
ICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBmaW5hbDsKKwor
ICAgIHZvaWQgcmVmcmVzaENhY2hlTWFwKFdURjo6RnVuY3Rpb248dm9pZCgpPiYmKTsKKyAgICBT
dHJpbmcgb3JpZ2luKCkgY29uc3Q7CisKKyAgICBWZWN0b3I8UmVmPENhY2hlPj4gbV9jYWNoZU1h
cDsKKyAgICBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOworICAgIGJv
b2wgbV9pc1N0b3BwZWQgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaWRsCmluZGV4IDhk
NzFlMDkwM2U3NmUxYTRiNjJiZmI2ZjAyODQ5NmZiOTg2ZjA2MmEuLmI0NDZhZWE3N2ZjNzA1ZjBj
YzAxNjdjZTRhNmY2ZmUxMDc1NzIwYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nh
Y2hlL0NhY2hlU3RvcmFnZS5pZGwKQEAgLTI5LDcgKzI5LDYgQEAgdHlwZWRlZiAoRmV0Y2hSZXF1
ZXN0IG9yIFVTVlN0cmluZykgUmVxdWVzdEluZm87CiAgICAgU2VjdXJlQ29udGV4dCwKICAgICBF
eHBvc2VkPShXaW5kb3csV29ya2VyKSwKICAgICBFbmFibGVkQXRSdW50aW1lPUNhY2hlQVBJLAot
ICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiBdIGludGVyZmFjZSBDYWNoZVN0b3JhZ2Ug
ewogICAgIFtOZXdPYmplY3RdIFByb21pc2U8YW55PiBtYXRjaChSZXF1ZXN0SW5mbyByZXF1ZXN0
LCBvcHRpb25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsKICAgICBbTmV3T2JqZWN0XSBQ
cm9taXNlPGJvb2xlYW4+IGhhcyhET01TdHJpbmcgY2FjaGVOYW1lKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjRjNWIyMjRlNTZjMWEyODc5MTQ0NTFiNjcxNjRmMjU1NzEzMTExZGUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNv
bm5lY3Rpb24uY3BwCkBAIC0wLDAgKzEsODEgQEAKKworLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgiCisKKyNpbmNsdWRl
ICJDYWNoZVF1ZXJ5T3B0aW9ucy5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbi5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK0V4Y2VwdGlvbiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpleGNlcHRp
b25Gcm9tRXJyb3IoRXJyb3IgZXJyb3IpCit7CisgICAgQVNTRVJUKGVycm9yICE9IEVycm9yOjpO
b25lKTsKKworICAgIHN3aXRjaCAoZXJyb3IpIHsKKyAgICBjYXNlIEVycm9yOjpOb3RJbXBsZW1l
bnRlZDoKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFs
KCJOb3QgaW1wbGVtZW50ZWQiKSB9OworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBFeGNl
cHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiVW5rbm93biBlcnJvciIpIH07CisgICAg
fTsKK30KKworYm9vbCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpxdWVyeUNhY2hlTWF0Y2goY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGNhY2hl
ZFJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGNhY2hlZFJlc3BvbnNlLCBjb25zdCBD
YWNoZVF1ZXJ5T3B0aW9ucyYgb3B0aW9ucykKK3sKKyAgICBBU1NFUlQob3B0aW9ucy5pZ25vcmVN
ZXRob2QgfHwgcmVxdWVzdC5odHRwTWV0aG9kKCkgPT0gIkdFVCIpOworCisgICAgVVJMIHJlcXVl
c3RVUkwgPSByZXF1ZXN0LnVybCgpOworICAgIFVSTCBjYWNoZWRSZXF1ZXN0VVJMID0gY2FjaGVk
UmVxdWVzdC51cmwoKTsKKworICAgIGlmIChvcHRpb25zLmlnbm9yZVNlYXJjaCkgeworICAgICAg
ICByZXF1ZXN0VVJMLnNldFF1ZXJ5KHsgfSk7CisgICAgICAgIGNhY2hlZFJlcXVlc3RVUkwuc2V0
UXVlcnkoeyB9KTsKKyAgICB9CisgICAgaWYgKCFlcXVhbElnbm9yaW5nRnJhZ21lbnRJZGVudGlm
aWVyKHJlcXVlc3RVUkwsIGNhY2hlZFJlcXVlc3RVUkwpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICBpZiAob3B0aW9ucy5pZ25vcmVWYXJ5KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwor
ICAgIFN0cmluZyB2YXJ5VmFsdWUgPSBjYWNoZWRSZXNwb25zZS5odHRwSGVhZGVyRmllbGQoV2Vi
Q29yZTo6SFRUUEhlYWRlck5hbWU6OlZhcnkpOworICAgIGlmICh2YXJ5VmFsdWUuaXNOdWxsKCkp
CisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgVmVjdG9yPFN0cmluZz4gdmFyeWluZ0hlYWRl
ck5hbWVzOworICAgIHZhcnlWYWx1ZS5zcGxpdCgnLCcsIHZhcnlpbmdIZWFkZXJOYW1lcyk7Cisg
ICAgaWYgKHZhcnlpbmdIZWFkZXJOYW1lcy5jb250YWlucygiKiIpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBmb3IgKGF1dG8mIG5hbWUgOiB2YXJ5aW5nSGVhZGVyTmFtZXMpIHsKKyAg
ICAgICAgaWYgKGNhY2hlZFJlcXVlc3QuaHR0cEhlYWRlckZpZWxkKG5hbWUpICE9IHJlcXVlc3Qu
aHR0cEhlYWRlckZpZWxkKG5hbWUpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K
KyAgICByZXR1cm4gdHJ1ZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjk3OTdjMDI2ZjAzZWU3ZGZjZjMwNTU3ZDc2NzExNTBjZmY5ZjRmZDYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFn
ZUNvbm5lY3Rpb24uaApAQCAtMCwwICsxLDg1IEBACisKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworI2luY2x1ZGUgIkZldGNoSGVhZGVycy5oIgorI2luY2x1ZGUgIkZldGNoT3B0aW9ucy5o
IgorI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVzcG9u
c2UuaCIKKyNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBDYWNoZVF1ZXJ5T3B0aW9uczsKKworY2xhc3MgQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbiA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uPiB7CitwdWJsaWM6CisgICAgZW51bSBjbGFzcyBFcnJvciB7CisgICAgICAgIE5v
bmUsCisgICAgICAgIE5vdEltcGxlbWVudGVkLAorICAgIH07CisKKyAgICBXRUJDT1JFX0VYUE9S
VCBzdGF0aWMgYm9vbCBxdWVyeUNhY2hlTWF0Y2goY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1
ZXN0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGNhY2hlZFJlcXVlc3QsIGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmLCBjb25zdCBDYWNoZVF1ZXJ5T3B0aW9ucyYpOworCisgICAgc3RhdGljIEV4Y2Vw
dGlvbiBleGNlcHRpb25Gcm9tRXJyb3IoRXJyb3IpOworCisgICAgc3RydWN0IFJlY29yZCB7Cisg
ICAgICAgIHVpbnQ2NF90IGlkZW50aWZpZXI7CisKKyAgICAgICAgRmV0Y2hIZWFkZXJzOjpHdWFy
ZCByZXF1ZXN0SGVhZGVyc0d1YXJkOworICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdDsK
KyAgICAgICAgRmV0Y2hPcHRpb25zIG9wdGlvbnM7CisgICAgICAgIFN0cmluZyByZWZlcnJlcjsK
KworICAgICAgICBGZXRjaEhlYWRlcnM6Okd1YXJkIHJlc3BvbnNlSGVhZGVyc0d1YXJkOworICAg
ICAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlOworICAgIH07CisKKyAgICBzdHJ1Y3QgQ2Fj
aGVJbmZvIHsKKyAgICAgICAgdWludDY0X3QgaWRlbnRpZmllcjsKKyAgICAgICAgU3RyaW5nIG5h
bWU7CisgICAgfTsKKworICAgIHN0YXRpYyBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4gY3Jl
YXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uKCkpOyB9
CisgICAgdmlydHVhbCB+Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbigpID0gZGVmYXVsdDsKKworICAg
IHVzaW5nIE9wZW5SZW1vdmVDYWxsYmFjayA9IFdURjo6RnVuY3Rpb248dm9pZCh1aW50NjRfdCwg
RXJyb3IpPjsKKyAgICB1c2luZyBDYWNoZU1hcENhbGxiYWNrID0gV1RGOjpGdW5jdGlvbjx2b2lk
KFZlY3RvcjxDYWNoZUluZm8+JiYpPjsKKyAgICB1c2luZyBSZWNvcmRzQ2FsbGJhY2sgPSBXVEY6
OkZ1bmN0aW9uPHZvaWQoVmVjdG9yPFJlY29yZD4mJik+OworICAgIHVzaW5nIEJhdGNoT3BlcmF0
aW9uQ2FsbGJhY2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoVmVjdG9yPHVpbnQ2NF90PiYmLCBFcnJv
cik+OworCisgICAgdmlydHVhbCB2b2lkIG9wZW4oY29uc3QgU3RyaW5nJiAvKiBvcmlnaW4gKi8s
IGNvbnN0IFN0cmluZyYgLyogY2FjaGVOYW1lICovLCBPcGVuUmVtb3ZlQ2FsbGJhY2smJiBjYWxs
YmFjaykgeyBjYWxsYmFjaygwLCBFcnJvcjo6Tm90SW1wbGVtZW50ZWQpOyB9CisgICAgdmlydHVh
bCB2b2lkIHJlbW92ZSh1aW50NjRfdCAvKiBjYWNoZUlkZW50aWZpZXIgKi8sIE9wZW5SZW1vdmVD
YWxsYmFjayYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKDAsIEVycm9yOjpOb3RJbXBsZW1lbnRlZCk7
IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVmcmVzaENhY2hlTWFwKGNvbnN0IFN0cmluZyYgLyogb3Jp
Z2luICovLCBDYWNoZU1hcENhbGxiYWNrJiYgY2FsbGJhY2spIHsgY2FsbGJhY2soeyB9KTsgfQor
CisgICAgdmlydHVhbCB2b2lkIHJlZnJlc2hSZWNvcmRzKHVpbnQ2NF90IC8qIGNhY2hlSWRlbnRp
ZmllciAqLywgUmVjb3Jkc0NhbGxiYWNrJiYgY2FsbGJhY2spIHsgY2FsbGJhY2soeyB9KTsgfQor
ICAgIHZpcnR1YWwgdm9pZCBiYXRjaERlbGV0ZU9wZXJhdGlvbih1aW50NjRfdCAvKiBjYWNoZUlk
ZW50aWZpZXIgKi8sIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIENhY2hlUXVlcnlPcHRpb25zJiYs
IEJhdGNoT3BlcmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykgeyBjYWxsYmFjayh7IH0sIEVycm9y
OjpOb3RJbXBsZW1lbnRlZCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgYmF0Y2hQdXRPcGVyYXRpb24o
dWludDY0X3QgLyogY2FjaGVJZGVudGlmaWVyICovLCBWZWN0b3I8UmVjb3JkPiYmLCBCYXRjaE9w
ZXJhdGlvbkNhbGxiYWNrJiYgY2FsbGJhY2spIHsgY2FsbGJhY2soeyB9LCBFcnJvcjo6Tm90SW1w
bGVtZW50ZWQpOyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlUmVjb3JkLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZVJlY29yZC5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjAwYTZhY2U0YmE0YzA5MWRjMDlhNWQ0NTVkZjZhYzdjYTVjYWEyN2IKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZVJlY29yZC5oCkBA
IC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkZl
dGNoUmVxdWVzdC5oIgorI2luY2x1ZGUgIkZldGNoUmVzcG9uc2UuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitzdHJ1Y3QgQ2FjaGVTdG9yYWdlUmVjb3JkIHsKKyAgICB1aW50NjRfdCBpZGVu
dGlmaWVyOworCisgICAgUmVmPEZldGNoUmVxdWVzdD4gcmVxdWVzdDsKKyAgICBSZWY8RmV0Y2hS
ZXNwb25zZT4gcmVzcG9uc2U7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHAKaW5kZXggODY2
NWM1NTY3MmVhNWY0NmIwOWQ0ZjliMDc1YTY5NjJjNTk1MWVkMS4uYThhMjY2N2JhYTUyNTFhZWRh
MDY1ZDg0ODM4NjI1NTNkNTA1ODU2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2FjaGUvRE9NV2luZG93Q2FjaGVzLmNwcApAQCAtMjcsNyArMjcsMTEgQEAKICNpbmNsdWRlICJE
T01XaW5kb3dDYWNoZXMuaCIKIAogI2luY2x1ZGUgIkNhY2hlU3RvcmFnZS5oIgorI2luY2x1ZGUg
IkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCisjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01OSw4ICs2Myw4IEBAIENhY2hlU3RvcmFnZSogRE9N
V2luZG93Q2FjaGVzOjpjYWNoZXMoRE9NV2luZG93JiB3aW5kb3cpCiAKIENhY2hlU3RvcmFnZSog
RE9NV2luZG93Q2FjaGVzOjpjYWNoZXMoKSBjb25zdAogewotICAgIGlmICghbV9jYWNoZXMgJiYg
ZnJhbWUoKSkKLSAgICAgICAgbV9jYWNoZXMgPSBDYWNoZVN0b3JhZ2U6OmNyZWF0ZSgpOworICAg
IGlmICghbV9jYWNoZXMgJiYgZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkgJiYgZnJhbWUoKS0+
ZG9jdW1lbnQoKSkKKyAgICAgICAgbV9jYWNoZXMgPSBDYWNoZVN0b3JhZ2U6OmNyZWF0ZSgqZnJh
bWUoKS0+ZG9jdW1lbnQoKSwgZnJhbWUoKS0+cGFnZSgpLT5jYWNoZVN0b3JhZ2VQcm92aWRlcigp
LmNyZWF0ZUNhY2hlU3RvcmFnZUNvbm5lY3Rpb24oZnJhbWUoKS0+cGFnZSgpLT5zZXNzaW9uSUQo
KSkpOwogICAgIHJldHVybiBtX2NhY2hlcy5nZXQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmNwcAppbmRl
eCAwNTE2OThlN2M2ZTU3OTBjZDI3MGEzMTgwZmZlYjQzYzdkN2RlYWFhLi5jNTM5Y2RlNjNiNGI0
ZDI3NzFjNjljZmY3ZDU5YjdmMTI1ODViODE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmNwcApAQCAtNDAsNyAr
NDAsNyBAQCBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcyogV29ya2VyR2xvYmFsU2NvcGVDYWNoZXM6
OmZyb20oV29ya2VyR2xvYmFsU2NvcGUmIHNjb3BlKQogewogICAgIGF1dG8qIHN1cHBsZW1lbnQg
PSBzdGF0aWNfY2FzdDxXb3JrZXJHbG9iYWxTY29wZUNhY2hlcyo+KFN1cHBsZW1lbnQ8V29ya2Vy
R2xvYmFsU2NvcGU+Ojpmcm9tKCZzY29wZSwgc3VwcGxlbWVudE5hbWUoKSkpOwogICAgIGlmICgh
c3VwcGxlbWVudCkgewotICAgICAgICBhdXRvIG5ld1N1cHBsZW1lbnQgPSBzdGQ6Om1ha2VfdW5p
cXVlPFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzPigpOworICAgICAgICBhdXRvIG5ld1N1cHBsZW1l
bnQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzPihzY29wZSk7CiAg
ICAgICAgIHN1cHBsZW1lbnQgPSBuZXdTdXBwbGVtZW50LmdldCgpOwogICAgICAgICBwcm92aWRl
VG8oJnNjb3BlLCBzdXBwbGVtZW50TmFtZSgpLCBXVEZNb3ZlKG5ld1N1cHBsZW1lbnQpKTsKICAg
ICB9CkBAIC01NSw3ICs1NSw3IEBAIENhY2hlU3RvcmFnZSogV29ya2VyR2xvYmFsU2NvcGVDYWNo
ZXM6OmNhY2hlcyhXb3JrZXJHbG9iYWxTY29wZSYgc2NvcGUpCiBDYWNoZVN0b3JhZ2UqIFdvcmtl
ckdsb2JhbFNjb3BlQ2FjaGVzOjpjYWNoZXMoKSBjb25zdAogewogICAgIGlmICghbV9jYWNoZXMp
Ci0gICAgICAgIG1fY2FjaGVzID0gQ2FjaGVTdG9yYWdlOjpjcmVhdGUoKTsKKyAgICAgICAgbV9j
YWNoZXMgPSBDYWNoZVN0b3JhZ2U6OmNyZWF0ZShtX3Njb3BlLCBDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uOjpjcmVhdGUoKSk7CiAgICAgcmV0dXJuIG1fY2FjaGVzLmdldCgpOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVz
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVz
LmgKaW5kZXggNzk1ZWJkNjE5ZTI0MjFkNGNlYjFiNzhjZGVlNDMzZTEyMzUxNDg2ZC4uZjZjYzg1
MWUwODVlMWQzYTVjMjNjYWM2ZWI3ZDNlNmZhYzM5NzY0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuaApAQCAtMzQs
NyArMzQsNyBAQCBjbGFzcyBXb3JrZXJHbG9iYWxTY29wZTsKIAogY2xhc3MgV29ya2VyR2xvYmFs
U2NvcGVDYWNoZXMgOiBwdWJsaWMgU3VwcGxlbWVudDxXb3JrZXJHbG9iYWxTY29wZT4gewogcHVi
bGljOgotICAgIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKCkgPSBkZWZhdWx0OworICAgIFdvcmtl
ckdsb2JhbFNjb3BlQ2FjaGVzKFdvcmtlckdsb2JhbFNjb3BlJiBzY29wZSkgOiBtX3Njb3BlKHNj
b3BlKSB7IH07CiAKICAgICBzdGF0aWMgQ2FjaGVTdG9yYWdlKiBjYWNoZXMoV29ya2VyR2xvYmFs
U2NvcGUmKTsKIApAQCAtNDMsNiArNDMsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBjb25zdCBj
aGFyKiBzdXBwbGVtZW50TmFtZSgpOwogICAgIENhY2hlU3RvcmFnZSogY2FjaGVzKCkgY29uc3Q7
CiAKKyAgICBXb3JrZXJHbG9iYWxTY29wZSYgbV9zY29wZTsKICAgICBtdXRhYmxlIFJlZlB0cjxD
YWNoZVN0b3JhZ2U+IG1fY2FjaGVzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaEJvZHlPd25lci5oCmluZGV4IDViODNkMjY3MWYwY2Y0OWY4MTM1ZjcwMTlkMWJm
Y2FlYzUxMWM1MmYuLjM0MWYxZmFjNDJmNDYzZmVkZDAxYmRmOGU1YTdjYTQyZjA2OTM2MDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmgKQEAgLTU3
LDYgKzU3LDggQEAgcHVibGljOgogCiAgICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0IHsgcmV0dXJu
ICEhbV9ibG9iTG9hZGVyOyB9CiAKKyAgICBib29sIGlzUmVhZGFibGVTdHJlYW1Cb2R5KCkgY29u
c3QgeyByZXR1cm4gbV9ib2R5ICYmIG1fYm9keS0+aXNSZWFkYWJsZVN0cmVhbSgpOyB9CisKIHBy
b3RlY3RlZDoKICAgICBjb25zdCBGZXRjaEJvZHkmIGJvZHkoKSBjb25zdCB7IHJldHVybiAqbV9i
b2R5OyB9CiAgICAgRmV0Y2hCb2R5JiBib2R5KCkgeyByZXR1cm4gKm1fYm9keTsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmgKaW5kZXggZmMzYjEwOGI5YTJk
NWFlNTgzN2MyM2M3OTFmZTIwOWNiNjgzMzJjOC4uZmVlMWY4ZjFmMzgwOTNiMGQzMzViOTE4ZDkx
ZGNlNDRmY2Q5N2QxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaEhlYWRlcnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVh
ZGVycy5oCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgogI2lu
Y2x1ZGUgIkhUVFBIZWFkZXJNYXAuaCIKKyNpbmNsdWRlIDx3dGYvRW51bVRyYWl0cy5oPgogI2lu
Y2x1ZGUgPHd0Zi9IYXNoVHJhaXRzLmg+CiAjaW5jbHVkZSA8d3RmL1ZhcmlhbnQuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CkBAIC00OSw3ICs1MCw3IEBAIHB1YmxpYzoKICAgICB1c2luZyBJ
bml0ID0gVmFyaWFudDxWZWN0b3I8VmVjdG9yPFN0cmluZz4+LCBWZWN0b3I8V1RGOjpLZXlWYWx1
ZVBhaXI8U3RyaW5nLCBTdHJpbmc+Pj47CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxGZXRj
aEhlYWRlcnM+PiBjcmVhdGUoc3RkOjpvcHRpb25hbDxJbml0PiYmKTsKIAotICAgIHN0YXRpYyBS
ZWY8RmV0Y2hIZWFkZXJzPiBjcmVhdGUoR3VhcmQgZ3VhcmQgPSBHdWFyZDo6Tm9uZSkgeyByZXR1
cm4gYWRvcHRSZWYoKm5ldyBGZXRjaEhlYWRlcnMgeyBndWFyZCB9KTsgfQorICAgIHN0YXRpYyBS
ZWY8RmV0Y2hIZWFkZXJzPiBjcmVhdGUoR3VhcmQgZ3VhcmQgPSBHdWFyZDo6Tm9uZSwgSFRUUEhl
YWRlck1hcCYmIGhlYWRlcnMgPSB7IH0pIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmV0Y2hIZWFk
ZXJzIHsgZ3VhcmQsIFdURk1vdmUoaGVhZGVycykgfSk7IH0KICAgICBzdGF0aWMgUmVmPEZldGNo
SGVhZGVycz4gY3JlYXRlKGNvbnN0IEZldGNoSGVhZGVycyYgaGVhZGVycykgeyByZXR1cm4gYWRv
cHRSZWYoKm5ldyBGZXRjaEhlYWRlcnMgeyBoZWFkZXJzIH0pOyB9CiAKICAgICBFeGNlcHRpb25P
cjx2b2lkPiBhcHBlbmQoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlKTsK
QEAgLTgyLDkgKzgzLDEwIEBAIHB1YmxpYzoKICAgICBjb25zdCBIVFRQSGVhZGVyTWFwJiBpbnRl
cm5hbEhlYWRlcnMoKSBjb25zdCB7IHJldHVybiBtX2hlYWRlcnM7IH0KIAogICAgIHZvaWQgc2V0
R3VhcmQoR3VhcmQpOworICAgIEd1YXJkIGd1YXJkKCkgY29uc3QgeyByZXR1cm4gbV9ndWFyZDsg
fQogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IEZldGNoSGVhZGVycyhHdWFyZCBndWFyZCwgSFRU
UEhlYWRlck1hcCYmIGhlYWRlcnMgPSB7IH0pOworICAgIEZldGNoSGVhZGVycyhHdWFyZCwgSFRU
UEhlYWRlck1hcCYmKTsKICAgICBGZXRjaEhlYWRlcnMoY29uc3QgRmV0Y2hIZWFkZXJzJik7CiAK
ICAgICBHdWFyZCBtX2d1YXJkOwpAQCAtMTExLDMgKzExMywxOCBAQCBpbmxpbmUgdm9pZCBGZXRj
aEhlYWRlcnM6OnNldEd1YXJkKEd1YXJkIGd1YXJkKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdl
YkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQ+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFs
dWVzPAorICAgIFdlYkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQsCisgICAgV2ViQ29yZTo6RmV0
Y2hIZWFkZXJzOjpHdWFyZDo6Tm9uZSwKKyAgICBXZWJDb3JlOjpGZXRjaEhlYWRlcnM6Okd1YXJk
OjpJbW11dGFibGUsCisgICAgV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZDo6UmVxdWVzdCwK
KyAgICBXZWJDb3JlOjpGZXRjaEhlYWRlcnM6Okd1YXJkOjpSZXF1ZXN0Tm9Db3JzLAorICAgIFdl
YkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQ6OlJlc3BvbnNlCisgICAgPjsKK307CisKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKaW5kZXggNGMyYmY4
M2M0MzNkZDkwNjQ3MDM2ZjNjZDNkZTJmODJiZWM4ODhkOS4uYjQ0NTMyZWFlY2M0MjVhNjI3MGM1
MDA5ZTg0YjA5MDZlYzcyOTI2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaExvYWRlci5jcHAKQEAgLTgxLDcgKzgxLDcgQEAgdm9pZCBGZXRjaExvYWRlcjo6c3RhcnQo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmV0Y2hSZXF1ZXN0JiByZXEK
ICAgICBvcHRpb25zLmRhdGFCdWZmZXJpbmdQb2xpY3kgPSBEb05vdEJ1ZmZlckRhdGE7CiAgICAg
b3B0aW9ucy5zYW1lT3JpZ2luRGF0YVVSTEZsYWcgPSBTYW1lT3JpZ2luRGF0YVVSTEZsYWc6OlNl
dDsKIAotICAgIFJlc291cmNlUmVxdWVzdCBmZXRjaFJlcXVlc3QgPSByZXF1ZXN0LmludGVybmFs
UmVxdWVzdCgpOworICAgIFJlc291cmNlUmVxdWVzdCBmZXRjaFJlcXVlc3QgPSByZXF1ZXN0LnJl
c291cmNlUmVxdWVzdCgpOwogCiAgICAgQVNTRVJUKGNvbnRleHQuY29udGVudFNlY3VyaXR5UG9s
aWN5KCkpOwogICAgIGF1dG8mIGNvbnRlbnRTZWN1cml0eVBvbGljeSA9ICpjb250ZXh0LmNvbnRl
bnRTZWN1cml0eVBvbGljeSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aFJlcXVlc3QuY3BwCmluZGV4IGU2NmMxNWM5OTRjZTUxZWRkNTQ5M2FkMjU4NzQyZGRlNjhjYTNk
NGIuLjhkMGMyMzg3ODNiYWYwMzg0ZDI3YzRkNDhmNjE3YzYxMDI3NjllODMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHAKQEAgLTc0LDcgKzc0LDcg
QEAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8RXhjZXB0aW9uPiBzZXRSZWZlcnJlcihGZXRjaFJlcXVl
c3Q6OkludGVybmFsUmVxdWVzdCYgcmVxdWUKIAogc3RhdGljIHN0ZDo6b3B0aW9uYWw8RXhjZXB0
aW9uPiBidWlsZE9wdGlvbnMoRmV0Y2hSZXF1ZXN0OjpJbnRlcm5hbFJlcXVlc3QmIHJlcXVlc3Qs
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZldGNoUmVxdWVzdDo6SW5p
dCYgaW5pdCkKIHsKLSAgICBpZiAoIWluaXQud2luZG93LmlzVW5kZWZpbmVkT3JOdWxsKCkpCisg
ICAgaWYgKCFpbml0LndpbmRvdy5pc1VuZGVmaW5lZE9yTnVsbCgpICYmICFpbml0LndpbmRvdy5p
c0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0
ZXJhbCgiV2luZG93IGNhbiBvbmx5IGJlIG51bGwuIikgfTsKIAogICAgIGlmICghaW5pdC5yZWZl
cnJlci5pc051bGwoKSkgewpAQCAtMjY0LDcgKzI2NCw3IEBAIGNvbnN0IFN0cmluZyYgRmV0Y2hS
ZXF1ZXN0Ojp1cmwoKSBjb25zdAogICAgIHJldHVybiBtX3JlcXVlc3RVUkw7CiB9CiAKLVJlc291
cmNlUmVxdWVzdCBGZXRjaFJlcXVlc3Q6OmludGVybmFsUmVxdWVzdCgpIGNvbnN0CitSZXNvdXJj
ZVJlcXVlc3QgRmV0Y2hSZXF1ZXN0OjpyZXNvdXJjZVJlcXVlc3QoKSBjb25zdAogewogICAgIEFT
U0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9mZXRjaC9GZXRjaFJlcXVlc3QuaAppbmRleCAxZjBiMTZlOGE1YTE3OWYwZmVhYzBiNTk3ZGQ1
ODc0OWZhZWRhYmRkLi42MWRjZDJjNTg2MzMwOTdkMWU2MmU2YzVhOTFlYjEwMDIxNzc5YzM0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmgKQEAgLTUzLDEx
ICs1MywxOSBAQCBwdWJsaWM6CiAgICAgdXNpbmcgUmVkaXJlY3QgPSBGZXRjaE9wdGlvbnM6OlJl
ZGlyZWN0OwogICAgIHVzaW5nIFR5cGUgPSBGZXRjaE9wdGlvbnM6OlR5cGU7CiAKKyAgICBzdHJ1
Y3QgSW50ZXJuYWxSZXF1ZXN0IHsKKyAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3Q7Cisg
ICAgICAgIEZldGNoT3B0aW9ucyBvcHRpb25zOworICAgICAgICBTdHJpbmcgcmVmZXJyZXI7Cisg
ICAgfTsKKwogICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8RmV0Y2hSZXF1ZXN0Pj4gY3JlYXRl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBJbmZvJiYsIEluaXQmJik7CisgICAgc3RhdGljIFJl
ZjxGZXRjaFJlcXVlc3Q+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBz
dGQ6Om9wdGlvbmFsPEZldGNoQm9keT4mJiBib2R5LCBSZWY8RmV0Y2hIZWFkZXJzPiYmIGhlYWRl
cnMsIEludGVybmFsUmVxdWVzdCYmIHJlcXVlc3QpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmV0
Y2hSZXF1ZXN0KGNvbnRleHQsIFdURk1vdmUoYm9keSksIFdURk1vdmUoaGVhZGVycyksIFdURk1v
dmUocmVxdWVzdCkpKTsgfQogCiAgICAgY29uc3QgU3RyaW5nJiBtZXRob2QoKSBjb25zdCB7IHJl
dHVybiBtX2ludGVybmFsUmVxdWVzdC5yZXF1ZXN0Lmh0dHBNZXRob2QoKTsgfQogICAgIGNvbnN0
IFN0cmluZyYgdXJsKCkgY29uc3Q7CiAgICAgRmV0Y2hIZWFkZXJzJiBoZWFkZXJzKCkgeyByZXR1
cm4gbV9oZWFkZXJzLmdldCgpOyB9CisgICAgY29uc3QgRmV0Y2hIZWFkZXJzJiBoZWFkZXJzKCkg
Y29uc3QgeyByZXR1cm4gbV9oZWFkZXJzLmdldCgpOyB9CiAKICAgICBUeXBlIHR5cGUoKSBjb25z
dDsKICAgICBEZXN0aW5hdGlvbiBkZXN0aW5hdGlvbigpIGNvbnN0OwpAQCAtNzMsMTcgKzgxLDE0
IEBAIHB1YmxpYzoKIAogICAgIEV4Y2VwdGlvbk9yPFJlZjxGZXRjaFJlcXVlc3Q+PiBjbG9uZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CiAKLSAgICBzdHJ1Y3QgSW50ZXJuYWxSZXF1ZXN0IHsK
LSAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3Q7Ci0gICAgICAgIEZldGNoT3B0aW9ucyBv
cHRpb25zOwotICAgICAgICBTdHJpbmcgcmVmZXJyZXI7Ci0gICAgfTsKKyAgICBjb25zdCBJbnRl
cm5hbFJlcXVlc3QmIGludGVybmFsUmVxdWVzdCgpIGNvbnN0IHsgcmV0dXJuIG1faW50ZXJuYWxS
ZXF1ZXN0OyB9CiAKICAgICBjb25zdCBGZXRjaE9wdGlvbnMmIGZldGNoT3B0aW9ucygpIGNvbnN0
IHsgcmV0dXJuIG1faW50ZXJuYWxSZXF1ZXN0Lm9wdGlvbnM7IH0KLSAgICBSZXNvdXJjZVJlcXVl
c3QgaW50ZXJuYWxSZXF1ZXN0KCkgY29uc3Q7CisgICAgUmVzb3VyY2VSZXF1ZXN0IHJlc291cmNl
UmVxdWVzdCgpIGNvbnN0OwogICAgIGJvb2wgaXNCb2R5UmVhZGFibGVTdHJlYW0oKSBjb25zdCB7
IHJldHVybiAhaXNCb2R5TnVsbCgpICYmIGJvZHkoKS5pc1JlYWRhYmxlU3RyZWFtKCk7IH0KIAog
ICAgIGNvbnN0IFN0cmluZyYgaW50ZXJuYWxSZXF1ZXN0UmVmZXJyZXIoKSBjb25zdCB7IHJldHVy
biBtX2ludGVybmFsUmVxdWVzdC5yZWZlcnJlcjsgfQorICAgIGNvbnN0IFVSTCYgaW50ZXJuYWxS
ZXF1ZXN0VVJMKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVlc3QucmVxdWVzdC51cmwo
KTsgfQogCiBwcml2YXRlOgogICAgIEZldGNoUmVxdWVzdChTY3JpcHRFeGVjdXRpb25Db250ZXh0
Jiwgc3RkOjpvcHRpb25hbDxGZXRjaEJvZHk+JiYsIFJlZjxGZXRjaEhlYWRlcnM+JiYsIEludGVy
bmFsUmVxdWVzdCYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hSZXNwb25zZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3Bv
bnNlLmgKaW5kZXggNTQwZTY3YjM5Y2NkM2FkYmQ4MTBiNGJiNzYzNzA3NjIxZGVmY2NhOS4uNjhm
MjRkMDdmMzYyZjY2ZGFhZWQxYjFkMDZhYWIwZDViZjE3MGI5MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmgKQEAgLTU3LDYgKzU3LDggQEAgcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8RmV0Y2hSZXNwb25zZT4gZXJyb3IoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYpOwogICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8RmV0Y2hSZXNwb25zZT4+IHJlZGly
ZWN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTdHJpbmcmIHVybCwgaW50IHN0YXR1
cyk7CiAKKyAgICBzdGF0aWMgUmVmPEZldGNoUmVzcG9uc2U+IGNyZWF0ZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBjb250ZXh0LCBzdGQ6Om9wdGlvbmFsPEZldGNoQm9keT4mJiBib2R5LCBSZWY8
RmV0Y2hIZWFkZXJzPiYmIGhlYWRlcnMsIFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSkgeyBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBGZXRjaFJlc3BvbnNlKGNvbnRleHQsIFdURk1vdmUoYm9keSks
IFdURk1vdmUoaGVhZGVycyksIFdURk1vdmUocmVzcG9uc2UpKSk7IH0KKwogICAgIHVzaW5nIEZl
dGNoUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8RmV0Y2hSZXNwb25z
ZT4+OwogICAgIHN0YXRpYyB2b2lkIGZldGNoKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBGZXRj
aFJlcXVlc3QmLCBGZXRjaFByb21pc2UmJik7CiAKQEAgLTc4LDYgKzgwLDcgQEAgcHVibGljOgog
ICAgIGJvb2wgb2soKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlLmlzU3VjY2Vzc2Z1bCgpOyB9
CiAgICAgY29uc3QgU3RyaW5nJiBzdGF0dXNUZXh0KCkgY29uc3QgeyByZXR1cm4gbV9yZXNwb25z
ZS5odHRwU3RhdHVzVGV4dCgpOyB9CiAKKyAgICBjb25zdCBGZXRjaEhlYWRlcnMmIGhlYWRlcnMo
KSBjb25zdCB7IHJldHVybiBtX2hlYWRlcnM7IH0KICAgICBGZXRjaEhlYWRlcnMmIGhlYWRlcnMo
KSB7IHJldHVybiBtX2hlYWRlcnM7IH0KICAgICBSZWY8RmV0Y2hSZXNwb25zZT4gY2xvbmVGb3JK
UygpOwogCkBAIC05MCw2ICs5Myw4IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNMb2FkaW5nKCkg
Y29uc3QgeyByZXR1cm4gISFtX2JvZHlMb2FkZXI7IH0KIAorICAgIGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmIHJlc3BvbnNlKCkgY29uc3QgeyByZXR1cm4gbV9yZXNwb25zZTsgfQorCiBwcml2YXRl
OgogICAgIEZldGNoUmVzcG9uc2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0ZDo6b3B0aW9u
YWw8RmV0Y2hCb2R5PiYmLCBSZWY8RmV0Y2hIZWFkZXJzPiYmLCBSZXNvdXJjZVJlc3BvbnNlJiYp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggNjlmMDgxOGQzMDBjY2ZhMGRmN2VlN2FmMGNmMzBjOGM0ZjY1MWJjZi4uODUxOTAx
Njk5N2Q1MTc1ZTk5Njg5MDg1NWYyYTQwMTRmNDc4M2FiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTc4NCw2ICsxNzg0LDE0
IEBACiAJCTQxQ0Y4QkU3MUQ0NjIyNjcwMDcwN0RDOSAvKiBGZXRjaEJvZHlDb25zdW1lci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUNGOEJFNDFE
NDYyMjIwMDA3MDdEQzkgLyogRmV0Y2hCb2R5Q29uc3VtZXIuY3BwICovOyB9OwogCQk0MUQwMTVD
QTBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDAxNUM4MEY0QjVDNzEwMDRBNjYyRiAvKiBDb250
ZW50VHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTQxRDAxNUNCMEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlwZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQwMTVDOTBGNEI1QzcxMDA0
QTY2MkYgLyogQ29udGVudFR5cGUuY3BwICovOyB9OworCQk0MUQxMjlDRTFGM0QwRUY2MDBEMTVF
NDcgLyogV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRkIyNzhEMUYzNEMyODIwMDc5NTQ4NyAvKiBXb3JrZXJH
bG9iYWxTY29wZUNhY2hlcy5oICovOyB9OworCQk0MUQxMjlDRjFGM0QwRUZFMDBEMTVFNDcgLyog
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MUQxMjlDOTFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbi5jcHAgKi87IH07CisJCTQxRDEyOUQwMUYzRDBGMDUwMEQxNUU0NyAvKiBDYWNo
ZVF1ZXJ5T3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDFGQjI3OUIxRjM0Q0VGMDAwNzk1NDg3IC8qIENhY2hlUXVlcnlPcHRpb25zLmggKi87
IH07CisJCTQxRDEyOUQxMUYzRDBGMEUwMEQxNUU0NyAvKiBET01XaW5kb3dDYWNoZXMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRkIyNzhDMUYzNEMy
ODIwMDc5NTQ4NyAvKiBET01XaW5kb3dDYWNoZXMuaCAqLzsgfTsKKwkJNDFEMTI5RDIxRjNEMEYx
MjAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVJlY29yZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMTI5Q0ExRjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hl
U3RvcmFnZVJlY29yZC5oICovOyB9OworCQk0MUQxMjlEMzFGM0QwRjE2MDBEMTVFNDcgLyogQ2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDFEMTI5Q0MxRjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5l
Y3Rpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQk0MUQxMjlENTFGM0QwRjY5MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDEyOUQ0MUYzRDBG
NjYwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VQcm92aWRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTQxRDEyOURCMUYzRDE0MzgwMEQxNUU0NyAv
KiBGZXRjaEhlYWRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxRjU0RjgzMUM1MEM0RjYwMDMzODQ4OCAvKiBGZXRjaEhlYWRlcnMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MURFRkNCNTFFNTZD
MUJEMDAwRDlFNUYgLyogSlNET01NYXBMaWtlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxREVGQ0IzMUU1NkMxQjkwMDBEOUU1RiAvKiBKU0RPTU1h
cExpa2UuY3BwICovOyB9OwogCQk0MURFRkNCNjFFNTZDMUJEMDAwRDlFNUYgLyogSlNET01NYXBM
aWtlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MURF
RkNCNDFFNTZDMUI5MDAwRDlFNUYgLyogSlNET01NYXBMaWtlLmggKi87IH07CiAJCTQxRTFCMUQw
MEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUUxQjFDQTBGRjU5ODY5MDA1NzZCM0IgLyog
QWJzdHJhY3RXb3JrZXIuY3BwICovOyB9OwpAQCAtOTQ2NSw2ICs5NDczLDEwIEBACiAJCTQxQ0Y4
QkU2MUQ0NjIyMkMwMDcwN0RDOSAvKiBGZXRjaEludGVybmFscy5qcyAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9IEZldGNoSW50ZXJuYWxzLmpzOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MUQwMTVDODBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29udGVudFR5cGUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFEMDE1QzkwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRl
bnRUeXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbnRlbnRU
eXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDFEMTI5QzkxRjNEMEVFMzAw
RDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQxRDEyOUNBMUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3Jh
Z2VSZWNvcmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVTdG9yYWdl
UmVjb3JkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRDEyOUNDMUYzRDBFRTMw
MEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNDFEMTI5RDQxRjNEMEY2NjAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVByb3Zp
ZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlU3RvcmFnZVByb3Zp
ZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRDUxQkIyMUU0RTJFODEwMDEz
MUE1QiAvKiBMaWJXZWJSVENBdWRpb0Zvcm1hdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBMaWJXZWJSVENBdWRpb0Zvcm1hdC5oOyBwYXRoID0gbGlid2VicnRjL0xpYldlYlJU
Q0F1ZGlvRm9ybWF0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxREVGQ0IyMUU1
NkMxQjkwMDBEOUU1RiAvKiBKU0RPTUJpbmRpbmdJbnRlcm5hbHMuanMgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBKU0RPTUJpbmRpbmdJbnRlcm5hbHMuanM7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxREVGQ0IzMUU1NkMxQjkwMDBEOUU1RiAvKiBKU0RP
TU1hcExpa2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01N
YXBMaWtlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3Njc0LDYgKzE3Njg2
LDkgQEAKIAkJCQk0MTM4MEMyMTFGMzQzNjhEMDAxNTVGREEgLyogQ2FjaGVTdG9yYWdlLmNwcCAq
LywKIAkJCQk0MTM4MEMyMjFGMzQzNjkwMDAxNTVGREEgLyogQ2FjaGVTdG9yYWdlLmggKi8sCiAJ
CQkJNDEzODBDMjQxRjM0MzY5NzAwMTU1RkRBIC8qIENhY2hlU3RvcmFnZS5pZGwgKi8sCisJCQkJ
NDFEMTI5QzkxRjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwICov
LAorCQkJCTQxRDEyOUNDMUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
LmggKi8sCisJCQkJNDFEMTI5Q0ExRjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVJlY29y
ZC5oICovLAogCQkJCTQxRkIyNzhFMUYzNEMyODIwMDc5NTQ4NyAvKiBET01XaW5kb3dDYWNoZXMu
Y3BwICovLAogCQkJCTQxRkIyNzhDMUYzNEMyODIwMDc5NTQ4NyAvKiBET01XaW5kb3dDYWNoZXMu
aCAqLywKIAkJCQk0MTM4MEMyQjFGMzQzRTJGMDAxNTVGREEgLyogRE9NV2luZG93Q2FjaGVzLmlk
bCAqLywKQEAgLTE5MjcyLDYgKzE5Mjg3LDcgQEAKIAkJCQlCQzEyNEVFNjBDMjY0MUNEMDA5RTIz
NDkgLyogQmFyUHJvcC5pZGwgKi8sCiAJCQkJNDYwQkI2MTMxRDBBMUJFQzAwMjIxODEyIC8qIEJh
c2U2NFV0aWxpdGllcy5jcHAgKi8sCiAJCQkJNDYwQkI2MTQxRDBBMUJFQzAwMjIxODEyIC8qIEJh
c2U2NFV0aWxpdGllcy5oICovLAorCQkJCTQxRDEyOUQ0MUYzRDBGNjYwMEQxNUU0NyAvKiBDYWNo
ZVN0b3JhZ2VQcm92aWRlci5oICovLAogCQkJCTA3MkNBODYwMTZDQjREQzMwMDhBRTEzMSAvKiBD
YXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcCAqLywKIAkJCQkwNzlEMDg2NzE2MkYyMEU4MDBEQjg2
NTggLyogQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5oICovLAogCQkJCTA3OUQwODZBMTYyRjIxRjkw
MERCODY1OCAvKiBDYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAgKi8sCkBAIC0yNjU2
Myw3ICsyNjU3OSw2IEBACiAJCQkJMjlBQ0IyMTIxNDNFNzEyODAwNkJDQTVGIC8qIEFjY2Vzc2li
aWxpdHlNb2NrT2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQkyOUE4MTIzNjBGQkI5QzFEMDA1
MTAyOTMgLyogQWNjZXNzaWJpbGl0eU9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTQwOUM5
ODUxMTZEMERERDAwNzE5N0JEIC8qIEFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvci5oIGlu
IEhlYWRlcnMgKi8sCi0JCQkJNTFGMTc1NjQxRjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3Jr
ZXJKb2JDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTI5QTgxMjM5MEZCQjlDMUQwMDUxMDI5
MyAvKiBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0M0
RjZFQjExMDhGOUE1MDA5OUQwREIgLyogQWNjZXNzaWJpbGl0eVNjcm9sbGJhci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMjk0ODlGQzcxMkMwMEYwMzAwRDgzRjBGIC8qIEFjY2Vzc2liaWxpdHlTY3Jv
bGxWaWV3LmggaW4gSGVhZGVycyAqLywKQEAgLTI2Nzg5LDcgKzI2ODA0LDExIEBACiAJCQkJMDc1
Mzg2MDMxNDQ4OUU5ODAwQjc4NDUyIC8qIENhY2hlZFRleHRUcmFjay5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkNCMTZDMjgwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFhTTFN0eWxlU2hlZXQuaCBp
biBIZWFkZXJzICovLAogCQkJCTkzRjE5OTUwMDgyNDVFNTkwMDFFOUFCQyAvKiBDYWNoZVBvbGlj
eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5RDAxRjNEMEYwNTAwRDE1RTQ3IC8qIENhY2hl
UXVlcnlPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTM4MEMyOTFGMzQzNkFDMDAxNTVG
REEgLyogQ2FjaGVTdG9yYWdlLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUQxMjlEMzFGM0QwRjE2
MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NDFEMTI5RDUxRjNEMEY2OTAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVByb3ZpZGVyLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk0MUQxMjlEMjFGM0QwRjEyMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUmVj
b3JkLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDNBRjhFNzFBQzVCN0VDMDBDQTcxN0UgLyogQ2Fj
aGVWYWxpZGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUFFMkQ5NzEzNEVFNUY5MDA3Mjky
MEEgLyogQ2FsY3VsYXRpb25WYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0MxRThEMDExRUQw
QzJEQTAwQjFEOTgzIC8qIENhbGxiYWNrUmVzdWx0LmggaW4gSGVhZGVycyAqLywKQEAgLTI2ODUw
LDcgKzI2ODY5LDYgQEAKIAkJCQlCQ0RENDU0RTEyMzZDOTVDMDA5QTc5ODUgLyogQ29sdW1uSW5m
by5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDNFREQ2N0YxQjQ4NURCRjAwNjQwRTc1IC8qIENvbWJp
bmVkRmlsdGVyc0FscGhhYmV0LmggaW4gSGVhZGVycyAqLywKIAkJCQkyNkU5NDREOTFBQzRCMkRE
MDA3Qjg1QjUgLyogQ29tYmluZWRVUkxGaWx0ZXJzLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYx
NzU2OTFGM0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlvbnMu
aCBpbiBIZWFkZXJzICovLAogCQkJCUE1ODRGRTM1MTg2NEQ1QUYwMDg0M0IxMCAvKiBDb21tYW5k
TGluZUFQSUhvc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1ODRGRTJDMTg2Mzg3MEYwMDg0M0Ix
MCAvKiBDb21tYW5kTGluZUFQSU1vZHVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU4NEZFMjYx
ODYzN0RBQjAwODQzQjEwIC8qIENvbW1hbmRMaW5lQVBJTW9kdWxlU291cmNlLmggaW4gSGVhZGVy
cyAqLywKQEAgLTI3MTkyLDcgKzI3MjEwLDYgQEAKIAkJCQk4MzcyREIzMTFBNjc4MEE4MDBDNjk3
QzUgLyogRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlD
RUNBREZDNzE1Mzc3OEZGMDBFMzcwNjggLyogRGljdGF0aW9uQWx0ZXJuYXRpdmUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUNFQ0FERkM5MTUzNzc4RkYwMEUzNzA2OCAvKiBEaWN0YXRpb25Db21tYW5k
LmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzU2MzFGM0VCQzgzMDBDNzQ5NTAgLyogU2Vydmlj
ZVdvcmtlckpvYi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDBCRDRGNUQxNDA4ODUwRjAwNjgzOUI2
IC8qIERpY3RhdGlvbkNvbW1hbmRJT1MuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzN0ZGM0Q1MUEx
MDEyRDYwMDhFQkEzMSAvKiBEaWN0aW9uYXJ5TG9va3VwLmggaW4gSGVhZGVycyAqLywKIAkJCQky
RDU2NDZCMDFCOEY4NDkzMDAzQzQ5OTQgLyogRGljdGlvbmFyeVBvcHVwSW5mby5oIGluIEhlYWRl
cnMgKi8sCkBAIC0yNzI0Niw3ICsyNzI2Myw2IEBACiAJCQkJQTlDNkU0RTgwRDc0NUUxODAwNjQ0
MkU5IC8qIERPTU1pbWVUeXBlQXJyYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTUyQjZDOUMzMTVF
M0Y0REYwMDY5MEIwNSAvKiBET01OYW1lZEZsb3dDb2xsZWN0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQUNFNTNFODBBOEQxOEU3MDAyMjk0N0QgLyogRE9NUGFyc2VyLmggaW4gSGVhZGVycyAq
LywKLQkJCQk1MUYxNzU1RjFGM0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdvcmtlckNvbnRhaW5l
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0E1NDg4MTcxNEU0MzJBMTAwNkFFMDVBIC8qIERPTVBh
dGNoU3VwcG9ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkI5MTM5MjQxNkFFNEMxNzAwMUZFNjgy
IC8qIERPTVBhdGguaCBpbiBIZWFkZXJzICovLAogCQkJCUE5QzZFNEVDMEQ3NDVFMkIwMDY0NDJF
OSAvKiBET01QbHVnaW4uaCBpbiBIZWFkZXJzICovLApAQCAtMjcyNzAsNiArMjcyODYsNyBAQAog
CQkJCTJFMzdERkRCMTJEQkFGQjgwMEE2QjIzMyAvKiBET01VUkwuaCBpbiBIZWFkZXJzICovLAog
CQkJCUNEOURFMTgyMTdBQUQ2QTQwMEVBMzg2RCAvKiBET01VUkxNZWRpYVNvdXJjZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMTQwM0I5OTcwOUVCMTNBRjAwNzk3QzdGIC8qIERPTVdpbmRvdy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5RDExRjNEMEYwRTAwRDE1RTQ3IC8qIERPTVdpbmRvd0Nh
Y2hlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGQTJENzgxNTIxMzJCMzAwQzFCQTBCIC8qIERP
TVdpbmRvd0V4dGVuc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4NUZDNzUxQkI0QzRFODAw
MTI4OThGIC8qIERPTVdpbmRvd0luZGV4ZWREYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTdEMkFEMDQxNEI4MjNBNjAwOTNERjMyIC8qIERPTVdpbmRvd1Byb3BlcnR5LmggaW4gSGVhZGVy
cyAqLywKQEAgLTI3MzY1LDYgKzI3MzgyLDcgQEAKIAkJCQk4NDczMEQ4NTEyNDhGMEIzMDBEM0E5
QzkgLyogRkVNb3JwaG9sb2d5LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDczMEQ4NzEyNDhGMEIz
MDBEM0E5QzkgLyogRkVPZmZzZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0NzMwRDg5MTI0OEYw
QjMwMEQzQTlDOSAvKiBGRVNwZWN1bGFyTGlnaHRpbmcuaCBpbiBIZWFkZXJzICovLAorCQkJCTQx
RDEyOURCMUYzRDE0MzgwMEQxNUU0NyAvKiBGZXRjaEhlYWRlcnMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTQxNkU2RkU4MUJCRDEyREYwMDBBNjAyMyAvKiBGZXRjaEludGVybmFsc0J1aWx0aW5zLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk0MUFENzUzQTFDRUY2QkQxMDBBMzE0ODYgLyogRmV0Y2hPcHRp
b25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk3Q0UxOTE0RDFGMkE5QUZCMDAyNzJGNzggLyogRmV0
Y2hSZWZlcnJlclBvbGljeS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODMyNSw3ICsyODM0Myw2IEBA
CiAJCQkJNUUyQzQzNzQxQkNGMEQ3NTAwMDFFMkJDIC8qIEpTUlRDUnRwU2VuZGVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1RTJDNDM3MjFCQ0YwRDc1MDAwMUUyQkQgLyogSlNSVENSdHBUcmFuc2Nl
aXZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE2RENCMjIxRTc4Q0E1NTAwMUI1Rjg3IC8qIEpT
UlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uaCBpbiBIZWFkZXJzICovLAotCQkJCTUxRjE3NTZD
MUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTA3OTY5REJDMTdEMTQxNTEwMDdGRjg0MiAvKiBKU1JUQ1Nlc3Npb25EZXNj
cmlwdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE2RENCNTAxRTc5MTBBNjAwMUI1Rjg3IC8q
IEpTUlRDU2lnbmFsaW5nU3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3OTY5REMyMTdEMTQx
NTEwMDdGRjg0MiAvKiBKU1JUQ1N0YXRzUmVwb3J0LmggaW4gSGVhZGVycyAqLywKQEAgLTI4NDEx
LDcgKzI4NDI4LDYgQEAKIAkJCQlCMkZBM0Q4MTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdGRUZ1
bmNSRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNEODMwQUI3NUE2RjAwMEU1QUM0
IC8qIEpTU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZB
M0Q4NTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdGRUltYWdlRWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJNTFGMTc1NjgxRjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRDg3MEFCNzVBNkYwMDBFNUFDNCAvKiBK
U1NWR0ZFTWVyZ2VFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0Q4OTBBQjc1QTZG
MDAwRTVBQzQgLyogSlNTVkdGRU1lcmdlTm9kZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTg0MjI0MTg0MTA3RTc3RjQwMDc2NkE4NyAvKiBKU1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuaCBp
biBIZWFkZXJzICovLApAQCAtMjg2ODUsNyArMjg3MDEsNiBAQAogCQkJCUE1MTZFOEI3MTM2RTA0
REIwMDc2QzNDMCAvKiBMb2NhbGl6ZWREYXRlQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTkz
NTIwN0JFMDlCRDQxMEEwMEYyMDM4RCAvKiBMb2NhbGl6ZWRTdHJpbmdzLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQ0UxQzQxQjBEOTgyOTgwMDAzQjAyRjIgLyogTG9jYXRpb24uaCBpbiBIZWFkZXJz
ICovLAotCQkJCTUxRjE3NTYxMUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyR2xvYmFs
U2NvcGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MjM5RTAxMDlCM0NGOEEwMEI2MDY0MSAvKiBM
b2dnaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk5QkEyNzNGNDE3MjIwNkJCMDA5N0NFNDcgLyog
TG9naWNhbFNlbGVjdGlvbk9mZnNldENhY2hlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZEQ0Q3
RjMxRDQ3RTY1NTAwOUYwOEJDIC8qIExvZ0luaXRpYWxpemF0aW9uLmggaW4gSGVhZGVycyAqLywK
QEAgLTI5MDUzLDcgKzI5MDY4LDYgQEAKIAkJCQk5MzVDNDc2ODA5QUM0RDQzMDBBNkFBQjQgLyog
UGxhdGZvcm1LZXlib2FyZEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwNTYyRjk2MTE1NzNG
ODhGMDAzMUNBMTYgLyogUGxhdGZvcm1MYXllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjU0NEY3
ODkxNUNGQjJBODAwQUYzM0E4IC8qIFBsYXRmb3JtTG9jYWxlLmggaW4gSGVhZGVycyAqLywKLQkJ
CQk1MUYxNzU1RDFGM0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdvcmtlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQ0VFRkNEN0MxOURCMzNEQzAwMzg3NkQ3IC8qIFBsYXRmb3JtTWVkaWFSZXNvdXJj
ZUxvYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDcwRTA5MTkxODc1RUVGQzAwM0ExRDNDIC8q
IFBsYXRmb3JtTWVkaWFTZXNzaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkwN0Y5NDQxNjE4NjRE
MDQ2MDA1RDMxQ0IgLyogUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmggaW4gSGVhZGVycyAq
LywKQEAgLTI5NDI4LDcgKzI5NDQyLDYgQEAKIAkJCQlDQTNCRjY3RTEwRDk5QkFFMDBFNkNFNTMg
LyogU2Nyb2xsQW5pbWF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMTc3NDgwMTM3OEI3NzIw
MDlEQTc2QSAvKiBTY3JvbGxBbmltYXRvcklPUy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNBRTFG
QTcxMjkzOURCNzAwNENCMDI2IC8qIFNjcm9sbEFuaW1hdG9yTWFjLmggaW4gSGVhZGVycyAqLywK
LQkJCQk1MUYxNzU2QjFGM0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
blBhcmFtZXRlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDQjM3RkZGMUM2MkQyQTEwMEYyMDE4
OCAvKiBTY3JvbGxBbmltYXRvck1vY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRjE5OUI4MDgy
NDVFNTkwMDFFOUFCQyAvKiBTY3JvbGxiYXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDOEI4NTRC
MEU3QzdGNTYwMEFCNjk4NCAvKiBTY3JvbGxiYXJUaGVtZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0y
OTQ5Niw2ICsyOTUwOSwxNiBAQAogCQkJCUE3NUU0OTc2MTA3NTJBQ0IwMEM5Qjg5NiAvKiBTZXJp
YWxpemVkU2NyaXB0VmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNkY3RjZEMUMzMUUzOUEw
MEYxMTFEQyAvKiBTZXJ2ZXJPcGVuREJSZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDkz
QUVFMzE5REY1NjQxMDAyQTg2QzMgLyogU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNTFGMTc1NUQxRjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXIu
aCBpbiBIZWFkZXJzICovLAorCQkJCTUxRjE3NTVGMUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2aWNl
V29ya2VyQ29udGFpbmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MUYxNzU2MTFGM0VCQzgzMDBD
NzQ5NTAgLyogU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmggaW4gSGVhZGVycyAqLywKKwkJCQk1
MUYxNzU2MzFGM0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdvcmtlckpvYi5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNTFGMTc1NjQxRjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJKb2JDbGll
bnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxRjE3NTY2MUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2
aWNlV29ya2VyUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxRjE3NTY4MUYzRUJDODMw
MEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk1MUYxNzU2OTFGM0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9w
dGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxRjE3NTZCMUYzRUJDODMwMEM3NDk1MCAvKiBT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NTFGMTc1NkMxRjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNzU2QjJDRTExOEI3MTAxNjAwRkVDRkFBIC8qIFNlc3Npb25J
RC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlFMTAwOTlFNjQ5MjAwNTZFNTgxIC8qIFNldE5v
ZGVBdHRyaWJ1dGVDb21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlCOERCREI0QzEzMEIwRjhB
MDBGNUNEQjEgLyogU2V0U2VsZWN0aW9uQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDAw
OCw3ICszMDAzMSw2IEBACiAJCQkJMkQ3RUQwQUIxQkFFOTkxNzAwNDNCM0U1IC8qIFRpbWVyRXZl
bnRCYXNlZE1vY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMkFFMEVGQUM5MDYwMDlEMENB
RiAvKiBUaW1pbmdGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1NEREMDgxODgxRDVG
NTAwM0VFREJCIC8qIFRvdWNoLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzU2NjFGM0VCQzgz
MDBDNzQ5NTAgLyogU2VydmljZVdvcmtlclByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkw
RjU0REQwOTE4ODFENUY1MDAzRUVEQkIgLyogVG91Y2hFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEY1NEREMEExODgxRDVGNTAwM0VFREJCIC8qIFRvdWNoTGlzdC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMDcwMzM0RDcxNDU5RkZENTAwOEQ4RDQ1IC8qIFRyYWNrQmFzZS5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0zMDI4MCw2ICszMDMwMiw3IEBACiAJCQkJQTUyQTY4NjYxREJENEI1RDAwODMzNzNG
IC8qIFdvcmtlckRlYnVnZ2VyQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUEzRTI2NDMxMTQ3
NDg5OTEwMDVBODU4OCAvKiBXb3JrZXJFdmVudFF1ZXVlLmggaW4gSGVhZGVycyAqLywKIAkJCQky
RTQzNDY0OTBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTQxRDEyOUNFMUYzRDBFRjYwMEQxNUU0NyAvKiBXb3JrZXJHbG9iYWxTY29wZUNh
Y2hlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4NUZDQjQxQkI0QzRFODAwMTI4OThGIC8qIFdv
cmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQz
NDY0QjBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTU0QTBDNjIxREI3RjhDMTAwMTdBOTBCIC8qIFdvcmtlckluc3BlY3RvckNv
bnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMzA4OTIsNiArMzA5MTUsNyBAQAogCQkJCTA3
NTM4NjAyMTQ0ODlFOTgwMEI3ODQ1MiAvKiBDYWNoZWRUZXh0VHJhY2suY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQkNCMTZDMjcwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFhTTFN0eWxlU2hlZXQu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDEzODBDMjgxRjM0MzZBQzAwMTU1RkRBIC8qIENhY2hl
U3RvcmFnZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MUQxMjlDRjFGM0QwRUZFMDBEMTVFNDcg
LyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNDNBRjhF
NjFBQzVCN0U4MDBDQTcxN0UgLyogQ2FjaGVWYWxpZGF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTQ5QUUyRDk2MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjdWxhdGlvblZhbHVlLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTk1MjA3NjA0MUYyNjc1RkUwMDdEMkFBQiAvKiBDYWxsVHJhY2VyLmNw
cCBpbiBTb3VyY2VzICovLApAQCAtMzEyMTgsNyArMzEyNDIsNiBAQAogCQkJCUNFQ0FERkM2MTUz
Nzc4RkYwMEUzNzA2OCAvKiBEaWN0YXRpb25BbHRlcm5hdGl2ZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlDRUNBREZDODE1Mzc3OEZGMDBFMzcwNjggLyogRGljdGF0aW9uQ29tbWFuZC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlEMEJENEY1QzE0MDg4NTBGMDA2ODM5QjYgLyogRGljdGF0aW9uQ29t
bWFuZElPUy5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1MUYxNzU2QTFGM0VCQzgzMDBDNzQ5NTAg
LyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblBhcmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJOTM3RkYzRDcxQTEwMTMxQjAwOEVCQTMxIC8qIERpY3Rpb25hcnlMb29rdXAubW0gaW4g
U291cmNlcyAqLywKIAkJCQlGREFGMTk5ODE1MTNEMTMxMDA4REIwQzMgLyogRGlyZWN0Q29udm9s
dmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdFNERFMTBEMTk4QjEwQjYwMDUxQ0IwMiAvKiBE
aXNrQ2FjaGVNb25pdG9yQ29jb2EubW0gaW4gU291cmNlcyAqLywKQEAgLTMxNzMwLDcgKzMxNzUz
LDYgQEAKIAkJCQlBNzc5NzkxOTBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTU1NUI4N0VDMUNBQUYwQUIwMDM0OTQyNSAvKiBJbWFnZURlY29kZXJD
Ry5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzIwNUFCNTEyMzkyOTEwMDBCMTczODAgLyogSW1h
Z2VEb2N1bWVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1MUYxNzU1QzFGM0VCQzgzMDBDNzQ5
NTAgLyogU2VydmljZVdvcmtlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1NTc2QTU2NDFEODhB
NzA4MDBDQ0MwNEMgLyogSW1hZ2VGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1NTk3Rjgy
NjFEOTFDMzEzMDA2NkJDMjEgLyogSW1hZ2VGcmFtZUNhY2hlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUY1NUIzREMxMTI1MUYxMkQwMDNFRjI2OSAvKiBJbWFnZUlucHV0VHlwZS5jcHAgaW4gU291
cmNlcyAqLywKQEAgLTMyMTA1LDcgKzMyMTI3LDYgQEAKIAkJCQkxQUUyQUEyRTBBMUNEQUI0MDBC
NDJCMjUgLyogSlNIVE1MSGVhZGluZ0VsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFF
MkFBMzAwQTFDREFCNDAwQjQyQjI1IC8qIEpTSFRNTEhSRWxlbWVudC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkxQTg1QjE4RjBBMUIxOEEyMDBEOEM4N0MgLyogSlNIVE1MSHRtbEVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCi0JCQkJNTFGMTc1NjIxRjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VX
b3JrZXJKb2IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM0OTE4QzgwQkZFQTA1MDAwOUQ2MzE2
IC8qIEpTSFRNTElGcmFtZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFFMkFBOTcw
QTFDREQyRDAwQjQyQjI1IC8qIEpTSFRNTEltYWdlRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlBODBFN0U5ODBBMUE4M0UzMDA3RkI4QzUgLyogSlNIVE1MSW5wdXRFbGVtZW50LmNwcCBp
biBTb3VyY2VzICovLApAQCAtMzMxMDQsNyArMzMxMjUsNiBAQAogCQkJCTBGRDMwOEQ1MTE3RDE2
ODUwMEE3OTFGNyAvKiBSZW5kZXJJRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFQTQ4
NzUwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlckltYWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTA4RjJGMDA5MTIxM0U2MTcwMERDRUM0OCAvKiBSZW5kZXJJbWFnZVJlc291cmNlLmNwcCBpbiBT
b3VyY2VzICovLAotCQkJCTUxRjE3NTY3MUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA4NjQxRDQ3MTIxNDJGN0QwMDhE
RTlGNiAvKiBSZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlCQ0VBNDg3NzA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVySW5saW5lLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUJDRUE0ODc5MDk3RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJMYXllci5jcHAg
aW4gU291cmNlcyAqLywKQEAgLTMzMTQ5LDcgKzMzMTY5LDYgQEAKIAkJCQlCQ0U5M0Y0NzE1MTdD
NkQ1MDA4Q0NGNzQgLyogUmVuZGVyUmVnaW9uU2V0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4
NzFERkUyMEExNTM3NkIwMEIxMkE2OCAvKiBSZW5kZXJSZXBsYWNlZC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlCQ0E4NDZENjBEQzY3QTM1MDAyNkMzMDkgLyogUmVuZGVyUmVwbGljYS5jcHAgaW4g
U291cmNlcyAqLywKLQkJCQk1MUYxNzU1RTFGM0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdvcmtl
ckNvbnRhaW5lci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDc5RkFFRDEwOUFFMzc1MDBERUQ2
NTUgLyogUmVuZGVyUnVieS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDc5RkFFRjEwOUFFMzc1
MDBERUQ2NTUgLyogUmVuZGVyUnVieUJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ3OUZB
RjExMDlBRTM3NTAwREVENjU1IC8qIFJlbmRlclJ1YnlSdW4uY3BwIGluIFNvdXJjZXMgKi8sCkBA
IC0zMzM1Miw2ICszMzM3MSwxMyBAQAogCQkJCUE3NUU0OTc3MTA3NTJBQ0IwMEM5Qjg5NiAvKiBT
ZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE2RjdGNkUxQzMx
RTM5QzAwRjExMURDIC8qIFNlcnZlck9wZW5EQlJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMkQ5M0FFRTQxOURGNTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIu
bW0gaW4gU291cmNlcyAqLywKKwkJCQk1MUYxNzU1QzFGM0VCQzgzMDBDNzQ5NTAgLyogU2Vydmlj
ZVdvcmtlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MUYxNzU1RTFGM0VCQzgzMDBDNzQ5NTAg
LyogU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MUYxNzU2
MDFGM0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTUxRjE3NTYyMUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VySm9i
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRjE3NTY1MUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2
aWNlV29ya2VyUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTFGMTc1NjcxRjNFQkM4
MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJNTFGMTc1NkExRjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25QYXJhbWV0ZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMUY3RDQ0MUVCMUMzOTEwMEU0
N0I4MyAvKiBTZXNzaW9uSUQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMzMDlFMEYwOTlFNjQ5
MjAwNTZFNTgxIC8qIFNldE5vZGVBdHRyaWJ1dGVDb21tYW5kLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUI4REJEQjRCMTMwQjBGOEEwMEY1Q0RCMSAvKiBTZXRTZWxlY3Rpb25Db21tYW5kLmNwcCBp
biBTb3VyY2VzICovLApAQCAtMzM2MjksNyArMzM2NTUsNiBAQAogCQkJCUJDMjI3NDdBMEU4MzY2
RTIwMEU3Rjk3NSAvKiBTVkdSZW5kZXJTdHlsZURlZnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QjIyMjdBQTIwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1NjcmlwdEVsZW1lbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQjIyMjdBQTUwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1NldEVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCi0JCQkJNTFGMTc1NjAxRjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VX
b3JrZXJHbG9iYWxTY29wZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNEFGRDAwRjBEQUYzMzU1
MDBGNUY1NUMgLyogU1ZHU01JTEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjIyMjdB
QTgwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1N0b3BFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTdDMzlDMzc2MUREQkI5MEQwMEZFRkIyOSAvKiBTVkdTdHJpbmdMaXN0VmFsdWVzLmNwcCBp
biBTb3VyY2VzICovLApAQCAtMzM3MzEsNyArMzM3NTYsNiBAQAogCQkJCTdBQTNBNjk5MTk0QTY0
RTcwMDFDQkQyNCAvKiBUaWxlQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxRjcy
QkYwQTE4N0ZENDQ5MDAwOUJDQjMgLyogVGlsZUNvbnRyb2xsZXJNZW1vcnlIYW5kbGVySU9TLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTdBQTNBNkEzMTk0QjVDMjIwMDFDQkQyNCAvKiBUaWxlQ292
ZXJhZ2VNYXAuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTFGMTc1NjUxRjNFQkM4MzAwQzc0OTUw
IC8qIFNlcnZpY2VXb3JrZXJQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QUEzQTY5
QjE5NEE2NEU3MDAxQ0JEMjQgLyogVGlsZUdyaWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk4
NzcwRjIxMjQyQzUzNTAwMjIyNkJBIC8qIFRpbGluZ0RhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRjU1QjNEREIxMjUxRjEyRDAwM0VGMjY5IC8qIFRpbWVJbnB1dFR5cGUuY3BwIGluIFNvdXJj
ZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3Zl
cmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAK
aW5kZXggNjZjN2YwOGYwZjI4YjA0NmJiNGMzNWU4ZTliZjE5ZmJkZjJhYmM1NS4uMmE4MTNiNmEx
MjBkZjM1OGYwOGJkMjcxOGM5NjU3MzQzMDFkZWY0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3Rvck92ZXJsYXkuaCIKIAorI2luY2x1ZGUgIkNh
Y2hlU3RvcmFnZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNs
dWRlICJFZGl0b3JDbGllbnQuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCkBAIC04NjUsNyArODY2
LDggQEAgUGFnZSogSW5zcGVjdG9yT3ZlcmxheTo6b3ZlcmxheVBhZ2UoKQogICAgIFBhZ2VDb25m
aWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uKAogICAgICAgICBjcmVhdGVFbXB0eUVkaXRvckNs
aWVudCgpLAogICAgICAgICBTb2NrZXRQcm92aWRlcjo6Y3JlYXRlKCksCi0gICAgICAgIG1ha2VV
bmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+KCkKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxMaWJX
ZWJSVENQcm92aWRlcj4oKSwKKyAgICAgICAgQ2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgp
CiAgICAgKTsKICAgICBmaWxsV2l0aEVtcHR5Q2xpZW50cyhwYWdlQ29uZmlndXJhdGlvbik7CiAg
ICAgbV9vdmVybGF5UGFnZSA9IHN0ZDo6bWFrZV91bmlxdWU8UGFnZT4oV1RGTW92ZShwYWdlQ29u
ZmlndXJhdGlvbikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYWNoZVN0b3Jh
Z2VQcm92aWRlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYWNoZVN0b3JhZ2VQcm92aWRlci5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjAwYmYxZGM1Y2QxZjhmYmNjNjYxY2YxZDZjMDBhNGE4Y2MyYzg4YWIKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhY2hlU3RvcmFnZVByb3ZpZGVy
LmgKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVk
ZSAiQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIlNlc3Npb25JRC5oIgorI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
V0VCQ09SRV9FWFBPUlQgQ2FjaGVTdG9yYWdlUHJvdmlkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxD
YWNoZVN0b3JhZ2VQcm92aWRlcj4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8Q2FjaGVTdG9y
YWdlUHJvdmlkZXI+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2FjaGVTdG9yYWdl
UHJvdmlkZXIpOyB9CisgICAgdmlydHVhbCBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4gY3Jl
YXRlQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbihTZXNzaW9uSUQpIHsgcmV0dXJuIENhY2hlU3RvcmFn
ZUNvbm5lY3Rpb246OmNyZWF0ZSgpOyB9CisgICAgdmlydHVhbCB+Q2FjaGVTdG9yYWdlUHJvdmlk
ZXIoKSB7IH07Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCBjMjY5ODdmOGRjYjJlOWU5
NjA2ZGFhOTcyZDJjZmNjN2JlY2M1ZmI3Li43MDQxZjFjZjI5NTk1NGVhZmYwNGQ2YjhhNjE2NGY4
ZmFhYzBkNjc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRl
ICJCYWNrRm9yd2FyZENsaWVudC5oIgogI2luY2x1ZGUgIkJhY2tGb3J3YXJkQ29udHJvbGxlci5o
IgogI2luY2x1ZGUgIkNTU0FuaW1hdGlvbkNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJDYWNoZVN0
b3JhZ2VQcm92aWRlci5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUgIkNocm9tZUNs
aWVudC5oIgogI2luY2x1ZGUgIkNvbnN0YW50UHJvcGVydHlNYXAuaCIKQEAgLTIyMiw2ICsyMjMs
NyBAQCBQYWdlOjpQYWdlKFBhZ2VDb25maWd1cmF0aW9uJiYgcGFnZUNvbmZpZ3VyYXRpb24pCiAj
ZW5kaWYKICAgICAsIG1fc29ja2V0UHJvdmlkZXIoV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi5z
b2NrZXRQcm92aWRlcikpCiAgICAgLCBtX2FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlKCpXVEZNb3Zl
KHBhZ2VDb25maWd1cmF0aW9uLmFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlKSkKKyAgICAsIG1fY2Fj
aGVTdG9yYWdlUHJvdmlkZXIoV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi5jYWNoZVN0b3JhZ2VQ
cm92aWRlcikpCiAgICAgLCBtX2RhdGFiYXNlUHJvdmlkZXIoKldURk1vdmUocGFnZUNvbmZpZ3Vy
YXRpb24uZGF0YWJhc2VQcm92aWRlcikpCiAgICAgLCBtX3BsdWdpbkluZm9Qcm92aWRlcigqV1RG
TW92ZShwYWdlQ29uZmlndXJhdGlvbi5wbHVnaW5JbmZvUHJvdmlkZXIpKQogICAgICwgbV9zdG9y
YWdlTmFtZXNwYWNlUHJvdmlkZXIoKldURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uc3RvcmFnZU5h
bWVzcGFjZVByb3ZpZGVyKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggOTA5ZjM3OTAyZDMzZTFkMGVmM2U1
YTliNGY2NGJhYjRkZmE1ZmYwYi4uNWZjODljZGM1OTJjOTQ5ZWIxOGQ5Y2VhMTdmNjFmYmNkMzU1
MTIwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTc3LDYgKzc3LDcgQEAgY2xhc3MgQWx0ZXJuYXRpdmVU
ZXh0Q2xpZW50OwogY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7CiBjbGFzcyBCYWNrRm9y
d2FyZENvbnRyb2xsZXI7CiBjbGFzcyBCYWNrRm9yd2FyZENsaWVudDsKK2NsYXNzIENhY2hlU3Rv
cmFnZVByb3ZpZGVyOwogY2xhc3MgQ2hyb21lOwogY2xhc3MgQ2hyb21lQ2xpZW50OwogY2xhc3Mg
Q29sb3I7CkBAIC01MTAsNiArNTExLDcgQEAgcHVibGljOgogCiAgICAgQXBwbGljYXRpb25DYWNo
ZVN0b3JhZ2UmIGFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlKCkgeyByZXR1cm4gbV9hcHBsaWNhdGlv
bkNhY2hlU3RvcmFnZTsgfQogICAgIERhdGFiYXNlUHJvdmlkZXImIGRhdGFiYXNlUHJvdmlkZXIo
KSB7IHJldHVybiBtX2RhdGFiYXNlUHJvdmlkZXI7IH0KKyAgICBDYWNoZVN0b3JhZ2VQcm92aWRl
ciYgY2FjaGVTdG9yYWdlUHJvdmlkZXIoKSB7IHJldHVybiBtX2NhY2hlU3RvcmFnZVByb3ZpZGVy
OyB9CiAgICAgU29ja2V0UHJvdmlkZXImIHNvY2tldFByb3ZpZGVyKCkgeyByZXR1cm4gbV9zb2Nr
ZXRQcm92aWRlcjsgfQogCiAgICAgU3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyJiBzdG9yYWdlTmFt
ZXNwYWNlUHJvdmlkZXIoKSB7IHJldHVybiBtX3N0b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5nZXQo
KTsgfQpAQCAtNzg0LDYgKzc4Niw3IEBAIHByaXZhdGU6CiAKICAgICBSZWY8U29ja2V0UHJvdmlk
ZXI+IG1fc29ja2V0UHJvdmlkZXI7CiAgICAgUmVmPEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlPiBt
X2FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOworICAgIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4g
bV9jYWNoZVN0b3JhZ2VQcm92aWRlcjsKICAgICBSZWY8RGF0YWJhc2VQcm92aWRlcj4gbV9kYXRh
YmFzZVByb3ZpZGVyOwogICAgIFJlZjxQbHVnaW5JbmZvUHJvdmlkZXI+IG1fcGx1Z2luSW5mb1By
b3ZpZGVyOwogICAgIFJlZjxTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI+IG1fc3RvcmFnZU5hbWVz
cGFjZVByb3ZpZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmln
dXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcApp
bmRleCAxMTIzZGQ2ZDQwNWE5NDgxM2E0YTc4NzQyYzdkNjZkMmNmMWJlZTdjLi5mMWI4MjdkY2Zi
YWFlNmU2YzhkY2NhZDlkMThkNDkzNzlkYzk1MWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VDb25maWd1cmF0aW9uLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQXBwbGlj
YXRpb25DYWNoZVN0b3JhZ2UuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZENsaWVudC5oIgorI2lu
Y2x1ZGUgIkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VQcm92aWRl
ci5oIgogI2luY2x1ZGUgIkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgiCiAjaW5jbHVkZSAiRWRp
dG9yQ2xpZW50LmgiCkBAIC00MywxMCArNDQsMTEgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1QYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24oVW5pcXVlUmVmPEVkaXRvckNs
aWVudD4mJiBlZGl0b3JDbGllbnQsIFJlZjxTb2NrZXRQcm92aWRlcj4mJiBzb2NrZXRQcm92aWRl
ciwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmIGxpYldlYlJUQ1Byb3ZpZGVyKQorUGFn
ZUNvbmZpZ3VyYXRpb246OlBhZ2VDb25maWd1cmF0aW9uKFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+
JiYgZWRpdG9yQ2xpZW50LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYgc29ja2V0UHJvdmlkZXIsIFVu
aXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJiBsaWJXZWJSVENQcm92aWRlciwgUmVmPENhY2hl
U3RvcmFnZVByb3ZpZGVyPiYmIGNhY2hlU3RvcmFnZVByb3ZpZGVyKQogICAgIDogZWRpdG9yQ2xp
ZW50KFdURk1vdmUoZWRpdG9yQ2xpZW50KSkKICAgICAsIHNvY2tldFByb3ZpZGVyKFdURk1vdmUo
c29ja2V0UHJvdmlkZXIpKQogICAgICwgbGliV2ViUlRDUHJvdmlkZXIoV1RGTW92ZShsaWJXZWJS
VENQcm92aWRlcikpCisgICAgLCBjYWNoZVN0b3JhZ2VQcm92aWRlcihXVEZNb3ZlKGNhY2hlU3Rv
cmFnZVByb3ZpZGVyKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlv
bi5oCmluZGV4IGY1M2ExMmMzODdlYWZiNDA0ZjJhMDY2NjAyNzU5ZWM5YTdmYzBmNWYuLmE4NjJk
NDMwMmUwMzY0NjRmOTEwYTU3YjAxZDc3YjY0Y2M2ZWY0MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2VDb25maWd1cmF0aW9uLmgKQEAgLTM0LDYgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogY2xhc3MgQWx0ZXJuYXRpdmVUZXh0Q2xpZW50OwogY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0
b3JhZ2U7CiBjbGFzcyBCYWNrRm9yd2FyZENsaWVudDsKK2NsYXNzIENhY2hlU3RvcmFnZVByb3Zp
ZGVyOwogY2xhc3MgQ2hyb21lQ2xpZW50OwogY2xhc3MgQ29udGV4dE1lbnVDbGllbnQ7CiBjbGFz
cyBEYXRhYmFzZVByb3ZpZGVyOwpAQCAtNTgsNyArNTksNyBAQCBjbGFzcyBXZWJHTFN0YXRlVHJh
Y2tlcjsKIGNsYXNzIFBhZ2VDb25maWd1cmF0aW9uIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShQYWdlQ29uZmlndXJhdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgot
ICAgIFdFQkNPUkVfRVhQT1JUIFBhZ2VDb25maWd1cmF0aW9uKFVuaXF1ZVJlZjxFZGl0b3JDbGll
bnQ+JiYsIFJlZjxTb2NrZXRQcm92aWRlcj4mJiwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVy
PiYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBQYWdlQ29uZmlndXJhdGlvbihVbmlxdWVSZWY8RWRp
dG9yQ2xpZW50PiYmLCBSZWY8U29ja2V0UHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxMaWJXZWJSVENQ
cm92aWRlcj4mJiwgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmKTsKICAgICBXRUJDT1JFX0VY
UE9SVCB+UGFnZUNvbmZpZ3VyYXRpb24oKTsKIAogICAgIEFsdGVybmF0aXZlVGV4dENsaWVudCog
YWx0ZXJuYXRpdmVUZXh0Q2xpZW50IHsgbnVsbHB0ciB9OwpAQCAtODcsNiArODgsNyBAQCBwdWJs
aWM6CiAKICAgICBSZWZQdHI8QXBwbGljYXRpb25DYWNoZVN0b3JhZ2U+IGFwcGxpY2F0aW9uQ2Fj
aGVTdG9yYWdlOwogICAgIFJlZlB0cjxEYXRhYmFzZVByb3ZpZGVyPiBkYXRhYmFzZVByb3ZpZGVy
OworICAgIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4gY2FjaGVTdG9yYWdlUHJvdmlkZXI7CiAg
ICAgUmVmUHRyPFBsdWdpbkluZm9Qcm92aWRlcj4gcGx1Z2luSW5mb1Byb3ZpZGVyOwogICAgIFJl
ZlB0cjxTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI+IHN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjsK
ICAgICBSZWZQdHI8VXNlckNvbnRlbnRQcm92aWRlcj4gdXNlckNvbnRlbnRQcm92aWRlcjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCmluZGV4IDc4NmU4ZjdhN2JjYTYw
ODA5YTU1NWI2NWY4MzVjMmE1MGEwMDgyZTguLjgyNTliMmY4ZTI4NjYzYjIxN2NkZWEwNGMyZjhl
YzM4MzdjZDc4ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJ
bWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcApA
QCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNWR0ltYWdl
LmgiCiAKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgogI2luY2x1ZGUgIkNocm9t
ZS5oIgogI2luY2x1ZGUgIkNvbW1vblZNLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCkBAIC00
MjksNyArNDMwLDggQEAgRW5jb2RlZERhdGFTdGF0dXMgU1ZHSW1hZ2U6OmRhdGFDaGFuZ2VkKGJv
b2wgYWxsRGF0YVJlY2VpdmVkKQogICAgICAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmln
dXJhdGlvbigKICAgICAgICAgICAgIGNyZWF0ZUVtcHR5RWRpdG9yQ2xpZW50KCksCiAgICAgICAg
ICAgICBTb2NrZXRQcm92aWRlcjo6Y3JlYXRlKCksCi0gICAgICAgICAgICBtYWtlVW5pcXVlUmVm
PExpYldlYlJUQ1Byb3ZpZGVyPigpCisgICAgICAgICAgICBtYWtlVW5pcXVlUmVmPExpYldlYlJU
Q1Byb3ZpZGVyPigpLAorICAgICAgICAgICAgQ2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgp
CiAgICAgICAgICk7CiAgICAgICAgIGZpbGxXaXRoRW1wdHlDbGllbnRzKHBhZ2VDb25maWd1cmF0
aW9uKTsKICAgICAgICAgbV9jaHJvbWVDbGllbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPFNWR0ltYWdl
Q2hyb21lQ2xpZW50Pih0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0
cy50eHQgYi9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CmluZGV4IDdlMzFkNTJiMDU3OTNj
MTZlNTNlMjU2MTEwYTYzYmZlYWNlYTgzOWEuLjliODU4M2UzOGI2ZWNhY2RmNzcwMWUwMDkyMjBi
OGJmODBjYTM5M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dApAQCAtNTIsNiArNTIsNyBAQCBzZXQoV2Vi
S2l0Ml9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3Mv
QXBwbGVQYXkiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvQXBwbGljYXRpb25DYWNo
ZSIKICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9BdXRvbWF0aW9uIgorICAgICIke1dF
QktJVDJfRElSfS9XZWJQcm9jZXNzL0NhY2hlIgogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9j
ZXNzL0Nvb2tpZXMiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvRGF0YWJhc2VzIgog
ICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5MDlh
NWVjZDdkN2IxYWIwMjE0YjI5MTk3MDQ5NjE4ODcwNzM2NDEyLi5hODM4ODE2MGQxZTFiODllNDgw
YjFjNjQzM2YwZjczYTUwMzVmOGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTg5MSw2ICs4OTEsNyBAQAogCQk0MTMwNzVCMjFERTg1
RjU4MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTYxREU4NUVFNzAwMzlFQzY5IC8q
IExpYldlYlJUQ1NvY2tldEZhY3RvcnkuaCAqLzsgfTsKIAkJNDEzMDc1QjMxREU4NUY1ODAwMzlF
QzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUE3MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENQ
cm92aWRlci5jcHAgKi87IH07CiAJCTQxMzA3NUI0MURFODVGNTgwMDM5RUM2OSAvKiBMaWJXZWJS
VENQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDEzMDc1QTgxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmggKi87IH07
CisJCTQxRDEyOURBMUYzRDEwMTgwMEQxNUU0NyAvKiBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMTI5RDkx
RjNEMTAxNDAwRDE1RTQ3IC8qIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmggKi87IH07CiAJCTQx
REM0NTk2MUUzRDZFMjIwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxREM0NTk0MUUzRDZFMUUwMEIx
MUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuaCAqLzsgfTsKIAkJNDFEQzQ1OTcxRTNENkUyMjAw
QjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MURDNDU5NTFFM0Q2RTFFMDBCMTFGNTEgLyogTmV0d29y
a1JUQ1Byb3ZpZGVyLmNwcCAqLzsgfTsKIAkJNDFEQzQ1OUIxRTNEQkIyODAwQjExRjUxIC8qIExp
YldlYlJUQ1NvY2tldENsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MURDNDU5OTFFM0RCQjI0MDBCMTFGNTEgLyogTGliV2ViUlRDU29ja2V0
Q2xpZW50LmNwcCAqLzsgfTsKQEAgLTMxNDIsNiArMzE0Myw3IEBACiAJCTQxMzA3NUE3MURFODVF
RTcwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0gTGliV2ViUlRDUHJvdmlkZXIuY3BwOyBw
YXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5n
LmNwcDsgfTsKIAkJNDEzMDc1QTgxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbGluZUVuZGluZyA9IDA7IG5hbWUgPSBMaWJX
ZWJSVENQcm92aWRlci5oOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlm
aWVyID0geGNvZGUubGFuZy5vYmpjcHA7IH07CiAJCTQxQUM4NjgxMUUwNDJFNTMwMDMwMzA3NCAv
KiBXZWJSVENSZXNvbHZlci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IGxpbmVFbmRpbmcg
PSAwOyBuYW1lID0gV2ViUlRDUmVzb2x2ZXIubWVzc2FnZXMuaW47IHBhdGggPSBOZXR3b3JrL3dl
YnJ0Yy9XZWJSVENSZXNvbHZlci5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
eGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0gIjxub25lPiI7IH07CisJCTQxRDEy
OUQ5MUYzRDEwMTQwMEQxNUU0NyAvKiBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0MURDNDU5NDFFM0Q2RTFFMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtSVENQcm92aWRlci5oOyBw
YXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MURDNDU5NTFFM0Q2RTFFMDBCMTFGNTEgLyogTmV0d29y
a1JUQ1Byb3ZpZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5l
dHdvcmtSVENQcm92aWRlci5jcHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29y
a1JUQ1Byb3ZpZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFEQzQ1OTgx
RTNENkVENjAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5tZXNzYWdlcy5pbiAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IG5hbWUgPSBOZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW47IHBhdGggPSBO
ZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTkxMiw2ICs1OTE0LDE0IEBACiAJCQluYW1lID0g
d2VicnRjOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJNDFEMTI5RDgxRjNE
MTAxNDAwRDE1RTQ3IC8qIENhY2hlICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGls
ZHJlbiA9ICgKKwkJCQk0MUQxMjlEOTFGM0QxMDE0MDBEMTVFNDcgLyogV2ViQ2FjaGVTdG9yYWdl
UHJvdmlkZXIuaCAqLywKKwkJCSk7CisJCQlwYXRoID0gQ2FjaGU7CisJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOworCQl9OwogCQk0NDUwQUVCRTFEQzNGQUFDMDA5OTQzRjIgLyogY29jb2EgKi8g
PSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtNjU5Miw2ICs2NjAy
LDcgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTFBQjFGNzcwMUQxQjJGNUQwMDdDOUJEMSAvKiBB
cHBsZVBheSAqLywKIAkJCQkxQzBBMTk0MzFDOEZGMUE4MDBGRTBFQkIgLyogQXV0b21hdGlvbiAq
LywKKwkJCQk0MUQxMjlEODFGM0QxMDE0MDBEMTVFNDcgLyogQ2FjaGUgKi8sCiAJCQkJN0M2RTcw
RjgxOEIyRDQ3RTAwRjI0RTJFIC8qIGNvY29hICovLAogCQkJCTMzMDkzNDRCMTMxNUI5M0EwMDk3
QTdCQyAvKiBDb29raWVzICovLAogCQkJCTUxMkE5NzU0MTgwREY5MjcwMDM5QTE0OSAvKiBEYXRh
YmFzZXMgKi8sCkBAIC04Njg5LDYgKzg3MDAsNyBAQAogCQkJCUJDNzJCQTFFMTFFNjQ5MDcwMDFF
QjRFQSAvKiBXZWJCYWNrRm9yd2FyZExpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxOEQyQ0FF
MTJENTE1M0IwMDNCQjkzQiAvKiBXZWJCYWNrRm9yd2FyZExpc3RJdGVtLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQzcyQjlGQjExRTY0NzZCMDAxRUI0RUEgLyogV2ViQmFja0ZvcndhcmRMaXN0UHJv
eHkuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxRDEyOURBMUYzRDEwMTgwMEQxNUU0NyAvKiBXZWJD
YWNoZVN0b3JhZ2VQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNGNTA3MjgxMjQzMjlB
QTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMw
MzJENzUxMEY0Mzc4RDAwNThDMTVBIC8qIFdlYkNocm9tZUNsaWVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJM0Y4N0I5QkUxNTg5NDAxOTAwOTBGRjYyIC8qIFdlYkNvbG9yQ2hvb3Nlci5oIGluIEhl
YWRlcnMgKi8sCkBAIC04ODMxLDcgKzg4NDMsNiBAQAogCQkJCUJDRTBFNDI1MTY4QjdBMjgwMDU3
RTY2QSAvKiBXZWJQcm9jZXNzU3VwcGxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUExRTA5
MzQxODg2MUQzODAwRDJEQzQ5IC8qIFdlYlByb2dyZXNzVHJhY2tlckNsaWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTEyRjU4OUQxMkE4ODM4ODAwNjI5NTMwIC8qIFdlYlByb3RlY3Rpb25TcGFj
ZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTFCRUI2MkMxRjNBNUFENzAwNTAyOUI5IC8qIFdlYlNl
cnZpY2VXb3JrZXJQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzc5NDg0MDQxNTBDMzUw
NjAwRTUyQ0U5IC8qIFdlYlJlbmRlckxheWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzYwODgx
RjE1MDQxM0U5MDBGQzgyQzcgLyogV2ViUmVuZGVyT2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk1MTBBRkZCQTE2NTQyMDQ4MDAxQkEwNUUgLyogV2ViUmVzb3VyY2VMb2FkZXIuaCBpbiBIZWFk
ZXJzICovLApAQCAtODg0Myw2ICs4ODU0LDcgQEAKIAkJCQk0MURDNDU5RjFFM0RCREE1MDBCMTFG
NTEgLyogV2ViUlRDU29ja2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzM2MUQ3MzE5MjdGQTM2
MDAzNkE1OUQgLyogV2ViU2NyaXB0TWVzc2FnZUhhbmRsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUQzQjk0ODQ5MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJTZWFyY2hQb3B1cE1lbnUuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTUxQkVCNjJDMUYzQTVBRDcwMDUwMjlCOSAvKiBXZWJTZXJ2aWNlV29ya2Vy
UHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNDgzMkQ3MUE5Q0RGOTYwMDhCNERGRSAv
KiBXZWJzaXRlRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE0ODMyRDExQTlCREMyRjAwOEI0
REZFIC8qIFdlYnNpdGVEYXRhUmVjb3JkLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTUzQzJBQTFB
MzI1NzMwMDA0RThDNzAgLyogV2Vic2l0ZURhdGFTdG9yZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0x
MDM3MSw3ICsxMDM4Myw2IEBACiAJCQkJMkRBOTQ0QTExODg0RTRGMDAwRUQ4NkRCIC8qIFdlYklP
U0V2ZW50RmFjdG9yeS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUMwMzM3REQzMTI3QTJBMEUwMDhG
RjRGNCAvKiBXZWJLZXlib2FyZEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNjI4MEYz
MTkxOTk4MkEwMDZBRDlGOSAvKiBXZWJLaXQubSBpbiBTb3VyY2VzICovLAotCQkJCTUxQkVCNjJC
MUYzQTVBRDcwMDUwMjlCOSAvKiBXZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQkM5QkE1MDQxNjk3QzQ1MzAwRTQ0NjE2IC8qIFdlYktpdDJJbml0aWFsaXpl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ2NTI1MEU2MUVDRjUyREMwMDIwMjVDQiAvKiBXZWJL
aXQySW5pdGlhbGl6ZUNvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGQjA4RkYxNjM5REUx
QTAwRUMzMjRBIC8qIFdlYkxvYWRlclN0cmF0ZWd5LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMTA0
NjksNiArMTA0ODAsNyBAQAogCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQyAvKiBXZWJSVENT
b2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0MzNjFENzIxOTI3
RkEzNjAwMzZBNTlEIC8qIFdlYlNjcmlwdE1lc3NhZ2VIYW5kbGVyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUQzQjk0ODQ4MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJTZWFyY2hQb3B1cE1lbnUuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJNTFCRUI2MkIxRjNBNUFENzAwNTAyOUI5IC8qIFdlYlNlcnZp
Y2VXb3JrZXJQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTQ4MzJENjFBOUNERjk2
MDA4QjRERkUgLyogV2Vic2l0ZURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE0ODMyRDkx
QTlEMUZEMjAwOEI0REZFIC8qIFdlYnNpdGVEYXRhUmVjb3JkLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTFBNTNDMkE5MUEzMjU3MkIwMDRFOEM3MCAvKiBXZWJzaXRlRGF0YVN0b3JlLmNwcCBpbiBT
b3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0NhY2hlL1dl
YkNhY2hlU3RvcmFnZVByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQ2FjaGUv
V2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNDIyMTZhMjA4NmNlNjg4MGUw
ZTM4YzE2ZGE5ODViODdlMDY2N2ZhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0NhY2hlL1dlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgKQEAgLTAsMCArMSwzNyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8V2ViQ29yZS9DYWNoZVN0
b3JhZ2VQcm92aWRlci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViQ2FjaGVT
dG9yYWdlUHJvdmlkZXIgZmluYWwgOiBwdWJsaWMgV2ViQ29yZTo6Q2FjaGVTdG9yYWdlUHJvdmlk
ZXIgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8V2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXI+IGNy
ZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIpOyB9
Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CmluZGV4IDg4MGYzNTlkMzE2YzZhNzY2YzI5OTY0MTViN2M4MzIwYzgwYjc2OWIuLjQ1ZmFiZmNl
MGQwMzdlMTdiZTkwYTU2MDZiZThiMTJiY2UwZDVlMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC02OCw2ICs2OCw3IEBACiAjaW5jbHVkZSAi
V2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViQmFja0ZvcndhcmRMaXN0
SXRlbS5oIgogI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmgiCisjaW5jbHVkZSAi
V2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJXZWJDaHJvbWVDbGllbnQuaCIK
ICNpbmNsdWRlICJXZWJDb2xvckNob29zZXIuaCIKICNpbmNsdWRlICJXZWJDb250ZXh0TWVudS5o
IgpAQCAtMzcxLDcgKzM3Miw4IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBX
ZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKICAgICBQYWdlQ29uZmlndXJh
dGlvbiBwYWdlQ29uZmlndXJhdGlvbigKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJFZGl0b3JD
bGllbnQ+KHRoaXMpLAogICAgICAgICBXZWJTb2NrZXRQcm92aWRlcjo6Y3JlYXRlKCksCi0gICAg
ICAgIG1ha2VVbmlxdWVSZWY8V2ViS2l0OjpMaWJXZWJSVENQcm92aWRlcj4oKQorICAgICAgICBt
YWtlVW5pcXVlUmVmPFdlYktpdDo6TGliV2ViUlRDUHJvdmlkZXI+KCksCisgICAgICAgIFdlYlBy
b2Nlc3M6OnNpbmdsZXRvbigpLmNhY2hlU3RvcmFnZVByb3ZpZGVyKCkKICAgICApOwogICAgIHBh
Z2VDb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQoKnRoaXMp
OwogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwCmluZGV4IDM3ODIyODY2YTI3ZDcwZDZhNGFjZGU4ZDI2ZDQ3NDk0OTE1YWZkMDEu
Ljg3MGYzY2RlODUzN2M2Mjg5ZmMxNzVmMjdiZTdjOWQ0ODZjMDdhNTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlICJT
dGF0aXN0aWNzRGF0YS5oIgogI2luY2x1ZGUgIlVzZXJEYXRhLmgiCiAjaW5jbHVkZSAiV2ViQXV0
b21hdGlvblNlc3Npb25Qcm94eS5oIgorI2luY2x1ZGUgIldlYkNhY2hlU3RvcmFnZVByb3ZpZGVy
LmgiCiAjaW5jbHVkZSAiV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzLmgiCiAjaW5jbHVkZSAiV2Vi
Q29va2llTWFuYWdlci5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgpAQCAt
MTYwLDYgKzE2MSw3IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3MoKQogI2VuZGlmCiAgICAgLCBt
X3dlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIoV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlz
cGF0Y2hlcjo6Y3JlYXRlKCkpCiAgICAgLCBtX3dlYkxvYWRlclN0cmF0ZWd5KCpuZXcgV2ViTG9h
ZGVyU3RyYXRlZ3kpCisgICAgLCBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyKFdlYkNhY2hlU3RvcmFn
ZVByb3ZpZGVyOjpjcmVhdGUoKSkKICAgICAsIG1fZG5zUHJlZmV0Y2hIeXN0ZXJlcmlzKFt0aGlz
XShIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpIHsgaWYgKHN0YXRlID09IEh5c3RlcmVzaXNTdGF0ZTo6
U3RvcHBlZCkgbV9kbnNQcmVmZXRjaGVkSG9zdHMuY2xlYXIoKTsgfSkKICNpZiBFTkFCTEUoTkVU
U0NBUEVfUExVR0lOX0FQSSkKICAgICAsIG1fcGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2Vy
KFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcjo6Y3JlYXRlKCkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCBjZjJhYjgxM2IzNzkwMzczYjJkYTBmYTZmYWJmN2Jh
YzQ3YjJmNDk3Li4xMjNjNGJiMTk4Y2FmNzBjZDk3NmY2OTU5OWY3Nzc5MGIxZDBiYjc0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTgwLDYgKzgwLDcgQEAgY2xhc3Mg
T2JqQ09iamVjdEdyYXBoOwogY2xhc3MgVXNlckRhdGE7CiBjbGFzcyBXYXlsYW5kQ29tcG9zaXRv
ckRpc3BsYXk7CiBjbGFzcyBXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5OworY2xhc3MgV2ViQ2Fj
aGVTdG9yYWdlUHJvdmlkZXI7CiBjbGFzcyBXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M7CiBjbGFz
cyBXZWJGcmFtZTsKIGNsYXNzIFdlYkxvYWRlclN0cmF0ZWd5OwpAQCAtMjIyLDYgKzIyMyw4IEBA
IHB1YmxpYzoKIAogICAgIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkqIGF1dG9tYXRpb25TZXNz
aW9uUHJveHkoKSB7IHJldHVybiBtX2F1dG9tYXRpb25TZXNzaW9uUHJveHkuZ2V0KCk7IH0KIAor
ICAgIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyJiBjYWNoZVN0b3JhZ2VQcm92aWRlcigpIHsgcmV0
dXJuIG1fY2FjaGVTdG9yYWdlUHJvdmlkZXIuZ2V0KCk7IH0KKwogcHJpdmF0ZToKICAgICBXZWJQ
cm9jZXNzKCk7CiAgICAgfldlYlByb2Nlc3MoKTsKQEAgLTM3NSw2ICszNzgsOCBAQCBwcml2YXRl
OgogICAgIFJlZlB0cjxOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24+IG1fbmV0d29ya1Byb2Nlc3ND
b25uZWN0aW9uOwogICAgIFdlYkxvYWRlclN0cmF0ZWd5JiBtX3dlYkxvYWRlclN0cmF0ZWd5Owog
CisgICAgUmVmPFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyPiBtX2NhY2hlU3RvcmFnZVByb3ZpZGVy
OworCiAjaWYgVVNFKExJQldFQlJUQykKICAgICBzdGQ6OnVuaXF1ZV9wdHI8TGliV2ViUlRDTmV0
d29yaz4gbV9saWJXZWJSVENOZXR3b3JrOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggYzAwMWYwMDI4MDY1MzIwMmI4ODNjNjBhZmE0OTM3
ZDRhM2Y2NjkwZC4uYWYwZjdlMmE5ZjZiZDYxMzU1ZjE2ZTgzMjZlYjRhNjc2NjQ2OTljNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMTI0LDYgKzEy
NCw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL0JhY2tGb3J3YXJkQ29udHJvbGxlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9D
U1NBbmltYXRpb25Db250cm9sbGVyLmg+CisjaW1wb3J0IDxXZWJDb3JlL0NhY2hlU3RvcmFnZVBy
b3ZpZGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Nocm9tZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9D
b2xvck1hYy5oPgogI2ltcG9ydCA8V2ViQ29yZS9EYXRhYmFzZU1hbmFnZXIuaD4KQEAgLTE0MTMs
NyArMTQxNCw4IEBAIHN0YXRpYyB2b2lkIFdlYktpdEluaXRpYWxpemVHYW1lcGFkUHJvdmlkZXJJ
Zk5lY2Vzc2FyeSgpCiAgICAgUGFnZUNvbmZpZ3VyYXRpb24gcGFnZUNvbmZpZ3VyYXRpb24oCiAg
ICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViRWRpdG9yQ2xpZW50PihzZWxmKSwKICAgICAgICAgU29j
a2V0UHJvdmlkZXI6OmNyZWF0ZSgpLAotICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6Okxp
YldlYlJUQ1Byb3ZpZGVyPigpCisgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6TGliV2Vi
UlRDUHJvdmlkZXI+KCksCisgICAgICAgIFdlYkNvcmU6OkNhY2hlU3RvcmFnZVByb3ZpZGVyOjpj
cmVhdGUoKQogICAgICk7CiAjaWYgIVBMQVRGT1JNKElPUykKICAgICBwYWdlQ29uZmlndXJhdGlv
bi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50KHNlbGYpOwpAQCAtMTY3Niw3ICsx
Njc4LDggQEAgc3RhdGljIHZvaWQgV2ViS2l0SW5pdGlhbGl6ZUdhbWVwYWRQcm92aWRlcklmTmVj
ZXNzYXJ5KCkKICAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbigKICAgICAg
ICAgbWFrZVVuaXF1ZVJlZjxXZWJFZGl0b3JDbGllbnQ+KHNlbGYpLAogICAgICAgICBTb2NrZXRQ
cm92aWRlcjo6Y3JlYXRlKCksCi0gICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6TGliV2Vi
UlRDUHJvdmlkZXI+KCkKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpMaWJXZWJSVENQ
cm92aWRlcj4oKSwKKyAgICAgICAgV2ViQ29yZTo6Q2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0
ZSgpCiAgICAgKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2Vi
Q2hyb21lQ2xpZW50SU9TKHNlbGYpOwogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL1dlYlZpZXcuY3BwCmluZGV4IGYyZWNjMjJhY2YxZTFkNWVhM2QxNGRmZDk5MTY3
Zjk1YzdiMDZkYWEuLjYyZTM0NGM5ZTc1NmNjYTkzMjZlYjFmNzdmNmIyNzZiNDZmNmIyMjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCkBAIC04NCw2ICs4NCw3IEBACiAjaW5jbHVk
ZSA8V2ViQ29yZS9CU3RyaW5nLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9CYWNrRm9yd2FyZENvbnRy
b2xsZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0JpdG1hcEluZm8uaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL0NhY2hlU3RvcmFnZVByb3ZpZGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DaHJvbWUuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0NvbnRleHRNZW51Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Db250
ZXh0TWVudUNvbnRyb2xsZXIuaD4KQEAgLTMxMDIsNyArMzEwMyw4IEBAIEhSRVNVTFQgV2ViVmll
dzo6aW5pdFdpdGhGcmFtZShSRUNUIGZyYW1lLCBfSW5fIEJTVFIgZnJhbWVOYW1lLCBfSW5fIEJT
VFIgZ3JvdXBOCiAgICAgUGFnZUNvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbigKICAgICAgICAg
bWFrZVVuaXF1ZVJlZjxXZWJFZGl0b3JDbGllbnQ+KHRoaXMpLAogICAgICAgICBTb2NrZXRQcm92
aWRlcjo6Y3JlYXRlKCksCi0gICAgICAgIG1ha2VVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+
KCkKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4oKSwKKyAgICAgICAg
V2ViQ29yZTo6Q2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpCiAgICAgKTsKICAgICBjb25m
aWd1cmF0aW9uLmJhY2tGb3J3YXJkQ2xpZW50ID0gQmFja0ZvcndhcmRMaXN0OjpjcmVhdGUoKTsK
ICAgICBjb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQodGhp
cyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggODIwZDhiOWNiYTA2NTA3ZGM1ZDc5MGJmMDMxNDQzM2Y0ODY5MDcyYi4uMWIz
ZTc5NWQzOTRmYzg2MmQ2NzdjOGEzNzJjZmUwNjE4NjBmMjUxMyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEy
IEBACisyMDE3LTA4LTEzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAg
ICAgICBbQ2FjaGUgQVBJXSBBZGRpbmcgZ2VuZXJpYyBzdXBwb3J0IGZvciBDYWNoZVN0b3JhZ2Ug
YW5kIENhY2hlIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3NTQ1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczogU2tpcHBpbmcgYSB0ZXN0IHRoYXQgd291bGQg
dGltZW91dCBvdGhlcndpc2UgZHVlIHRvIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIGxpbWl0
YXRpb25zLgorCiAyMDE3LTA4LTExICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJlcGxhY2UgREFUQV9UUkFOU0ZFUl9JVEVNUyBieSBhIHJ1bnRpbWUgZmxhZyBh
bmQgYWRkIGEgc3R1YiBpbXBsZW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
aW5kZXggMzAwYzM1NTVhN2UxMDAyNzg1NzBmMTU4MTc0NDgzOTYwYmM0NzA4NS4uZGVkOWNiNjhh
YmI3MzI5MTQ1MTVkZDQ1MmI3YjkwYWRjMGJmNDk4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTctMDgtMTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIFtDYWNoZSBBUEldIEFkZGluZyBnZW5lcmljIHN1cHBv
cnQgZm9yIENhY2hlU3RvcmFnZSBhbmQgQ2FjaGUgbWV0aG9kcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NDU1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jcmVkZW50aWFscy5odHRwcy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hl
LXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3Jr
ZXIvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNo
ZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dDoKKwogMjAxNy0wOC0xMiAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZHJlc3MgZmxha2luZXNzIHJlbGF0ZWQg
dG8gZG93bmxvYWQgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDNkNDhiNzQ5MDkwMjI5ZmJl
ZDFiZjU0NzkwNmZiYzFiNWI4MDZmY2UuLmQ5NGQwODFkMDkwNzlhOGJmZGY4NGIxMTc1OTZjZjhl
ODgwNWRjMjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTIxLDcgKzEyMSw3IEBAIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3N0dWItNC42LjItY2FjaGUu
aHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc3R1Yi00LjYuMy1jYWNoZS1zdG9yYWdlLmh0bWwgWyBQYXNzIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UgWyBQYXNz
IF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hl
LXN0b3JhZ2Uvd2luZG93IFsgUGFzcyBGYWlsdXJlIF0KLQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9jb21tb24uaHR0cHMuaHRt
bCBbIFNraXAgXQogCiAjIHRleHRhcmVhLmFuaW1hdGUgaXMgbm90IHN1cHBvcnRlZAogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXVpLTMvY2FyZXQtY29sb3ItMDE4Lmh0
bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9j
cmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3
b3JrZXIvY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDA3NjE2NTBkYmM0MWU4
YmQxNWU2NGU0N2UzMDhmMmRjMzJhYjllNWIuLjM4ZTk1MjM5N2MzNDYxOTI4ZjFlZjFlZGY3YWJl
ZTMwY2UzODEyNzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9j
cmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zZXJ2
aWNld29ya2VyL2NyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAK
IAotRkFJTCBDYWNoZSBBUEkgbWF0Y2hpbmcgaW5jbHVkZXMgY3JlZGVudGlhbHMgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlIEFQSSBtYXRjaGluZyBpbmNsdWRlcyBjcmVkZW50
aWFscyBhc3NlcnRfdW5yZWFjaGVkOiB1bnJlZ2lzdGVyIHNob3VsZCBub3QgZmFpbDogc2Vydmlj
ZVdvcmtlci5nZXRSZWdpc3RyYXRpb24oKSBpcyBub3QgeWV0IGltcGxlbWVudGVkIFJlYWNoZWQg
dW5yZWFjaGFibGUgY29kZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9j
YWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uv
d2luZG93L2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGZkZWFm
ZTkzNjZlOWY1OTk5NDdkMjAzNTlhZjBhNTc0YjNjMmQ2ZjMuLmU1ZDZiN2RjNTI0NTNkNTc0OTc4
OTNhYTcyOGE1MGI2OTU1NDAzMWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93
L2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0
b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC00
LDggKzQsOCBAQCBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIGZyb20gb25lIG9mIG1hbnkgY2FjaGVz
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbgogRkFJTCBDYWNoZVN0b3JhZ2VNYXRj
aCBmcm9tIG9uZSBvZiBtYW55IGNhY2hlcyBieSBuYW1lIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgogRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBhIHN0cmluZyByZXF1ZXN0IHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGlt
cGxlbWVudGVkIgogRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBhIEhFQUQgcmVxdWVzdCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNoZWQg
ZW50cnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdp
dGggbm8gY2FjaGVzIGF2YWlsYWJsZSBidXQgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNoZWQgZW50cnkgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0
aCBubyBjYWNoZXMgYXZhaWxhYmxlIGJ1dCBuYW1lIHByb3ZpZGVkIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggZW1wdHkgY2FjaGUg
bmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIEZBSUwgQ2FjaGVTdG9yYWdl
TWF0Y2ggc3VwcG9ydHMgaWdub3JlU2VhcmNoIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgogRkFJ
TCBDYWNoZS5tYXRjaCBzdXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2Uu
aHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDAwMWU2ZTMzYmQ3YWIzNGVhNzM1YWNhZGY5NDIwY2Fl
MTA4MjliNjEuLjFhZDQ2MDAyOGRhNzY5ZWMxOTgxNGUzMTBhZDBhMDA3OGUzZTc3OWUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UuaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC00LDkgKzQsOSBAQCBGQUlMIENhY2hlU3RvcmFnZS5kZWxldGUgZG9v
bXMsIGJ1dCBkb2VzIG5vdCBkZWxldGUgaW1tZWRpYXRlbHkgcHJvbWlzZV90ZXN0OiBVbgogRkFJ
TCBDYWNoZVN0b3JhZ2Uub3BlbiB3aXRoIGFuIGVtcHR5IG5hbWUgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCiBQQVNTIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggbm8gYXJndW1lbnRzIAogRkFJTCBD
YWNoZVN0b3JhZ2UuaGFzIHdpdGggZXhpc3RpbmcgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlU3RvcmFnZS5oYXMgd2l0aCBub25leGlzdGVudCBjYWNoZSBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKK1BBU1MgQ2FjaGVTdG9yYWdlLmhhcyB3aXRoIG5vbmV4aXN0ZW50
IGNhY2hlIAogRkFJTCBDYWNoZVN0b3JhZ2Uub3BlbiB3aXRoIGV4aXN0aW5nIGNhY2hlIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogTm90IGltcGxlbWVudGVkIgogRkFJTCBDYWNoZVN0b3JhZ2UuZGVsZXRlIHdpdGggZXhpc3Rp
bmcgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZS5kZWxl
dGUgd2l0aCBub25leGlzdGVudCBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK1BBU1Mg
Q2FjaGVTdG9yYWdlLmRlbGV0ZSB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIAogRkFJTCBDYWNoZVN0
b3JhZ2UgbmFtZXMgYXJlIERPTVN0cmluZ3Mgbm90IFVTVlN0cmluZ3MgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0
b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIv
Y2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggZmRlYWZlOTM2NmU5
ZjU5OTk0N2QyMDM1OWFmMGE1NzRiM2MyZDZmMy4uZTVkNmI3ZGM1MjQ1M2Q1NzQ5Nzg5M2FhNzI4
YTUwYjY5NTU0MDMxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUt
c3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93
b3JrZXIvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTQsOCArNCw4
IEBAIEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2YgbWFueSBjYWNoZXMgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIGZyb20g
b25lIG9mIG1hbnkgY2FjaGVzIGJ5IG5hbWUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBGQUlM
IENhY2hlU3RvcmFnZU1hdGNoIGEgc3RyaW5nIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCiBGQUlMIENhY2hlU3RvcmFnZU1hdGNoIGEgSEVBRCByZXF1ZXN0IHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGlt
cGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlZCBlbnRyeSBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBj
YWNoZXMgYXZhaWxhYmxlIGJ1dCBuYW1lIHByb3ZpZGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlZCBlbnRyeSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRF
cnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNh
Y2hlcyBhdmFpbGFibGUgYnV0IG5hbWUgcHJvdmlkZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKIEZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBlbXB0eSBjYWNoZSBuYW1lIHBy
b3ZpZGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgogRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBz
dXBwb3J0cyBpZ25vcmVTZWFyY2ggcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBGQUlMIENhY2hl
Lm1hdGNoIHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS5odHRwcy1l
eHBlY3RlZC50eHQKaW5kZXggMDAxZTZlMzNiZDdhYjM0ZWE3MzVhY2FkZjk0MjBjYWUxMDgyOWI2
MS4uMWFkNDYwMDI4ZGE3NjllYzE5ODE0ZTMxMGFkMGEwMDc4ZTNlNzc5ZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3Rl
ZC50eHQKQEAgLTQsOSArNCw5IEBAIEZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0ZSBkb29tcywgYnV0
IGRvZXMgbm90IGRlbGV0ZSBpbW1lZGlhdGVseSBwcm9taXNlX3Rlc3Q6IFVuCiBGQUlMIENhY2hl
U3RvcmFnZS5vcGVuIHdpdGggYW4gZW1wdHkgbmFtZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
IFBBU1MgQ2FjaGVTdG9yYWdlLm9wZW4gd2l0aCBubyBhcmd1bWVudHMgCiBGQUlMIENhY2hlU3Rv
cmFnZS5oYXMgd2l0aCBleGlzdGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZB
SUwgQ2FjaGVTdG9yYWdlLmhhcyB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGlt
cGxlbWVudGVkIgorUEFTUyBDYWNoZVN0b3JhZ2UuaGFzIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUg
CiBGQUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggZXhpc3RpbmcgY2FjaGUgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCiBGQUlMIENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBleGlzdGluZyBjYWNo
ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0ZSB3aXRo
IG5vbmV4aXN0ZW50IGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorUEFTUyBDYWNoZVN0
b3JhZ2UuZGVsZXRlIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgCiBGQUlMIENhY2hlU3RvcmFnZSBu
YW1lcyBhcmUgRE9NU3RyaW5ncyBub3QgVVNWU3RyaW5ncyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318090</attachid>
            <date>2017-08-14 17:16:29 -0700</date>
            <delta_ts>2017-08-14 17:32:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175455-20170814171628.patch</filename>
            <type>text/plain</type>
            <size>173318</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzdiNTY1ZDA2ZjdlYWMz
MGVmNzliNzZhMGZmYjljZTIzZTZhMDc0My4uOTFkNzg1OGMyZmVkOWQ1N2RmYWMwMmVlZWU0NDAw
MGI0YWU3NmZkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0MyBAQAorMjAxNy0wOC0xMyAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRk
aW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5
IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgIEFkZGluZyBhIENhY2hlU3RvcmFnZVByb3ZpZGVy
IGFic3RyYWN0aW9uIHRoYXQgY3JlYXRlcyBhIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uCisgICAg
ICAgIFRoZSBDYWNoZVN0b3JhZ2VQcm92aWRlciBpcyBhY2Nlc3NlZCBmcm9tIHRoZSBwYWdlIGZv
ciBEb2N1bWVudCBjYWxscy4KKyAgICAgICAgVGhlIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24gaXMg
cmVzcG9uc2libGUgdG8gaW1wbGVtZW50IHRoZSByZWFkL3dyaXRlIG9wZXJhdGlvbnMgb24gdGhl
IGNhY2hlIGRhdGFiYXNlLgorICAgICAgICBBdCB0aGUgbW9tZW50LCBpdCBkb2VzIG5vdGhpbmcg
YnV0IHJldHVybiBub3QgaW1wbGVtZW50ZWQgZXJyb3JzLgorCisgICAgICAgIEltcGxlbWVudGlu
ZyBDYWNoZVN0b3JhZ2UgQVBJcyBhbmQgQ2FjaGUgQVBJcyBiYXNlZCBvbiB0aGUgQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbiBleGNlcHQgZm9yIENhY2hlIGFkZCBhbmQgYWRkQWxsIHdoaWNoIHdpbGwg
YmUgaW1wbGVtZW50ZWQgbGF0ZXIgb24uCisgICAgICAgIENhY2hlU3RvcmFnQ29ubmVjdGlvbiBp
cyByZXNwb25zaWJsZSB0byByZWFkL3dyaXRlIENhY2hlU3RvcmFnZSBsaXN0IG9mIGNhY2hlcyBh
bmQgZWFjaCBpbmRpdmlkdWFsIGNhY2hlLgorICAgICAgICBUaGUgQ2FjaGVTdG9yYWdlQ29ubmVj
dGlvbiBpcyBhIGdlbmVyaWMgY29ubmVjdGlvbiBhbmQgbm90IHRpZWQgdG8gYW55IGRvY3VtZW50
L2NvbnRleHQuCisgICAgICAgIENhY2hlU3RvcmFnZSBvYmplY3RzIGFyZSBtYW5pcHVsYXRlZCBi
eSBwcm92aWRpbmcgdG8gdGhlIGNvbm5lY3Rpb24gdGhlIG9yaWdpbiBvZiB0aGUgY29udGV4dC4K
KyAgICAgICAgQ2FjaGVTdG9yYWdlIGFyZSBnbG9iYWwgdG8gYWxsIGNvbnRleHRzIHdpdGggdGhl
IHNhbWUgb3JpZ2luLgorICAgICAgICBDYWNoZSBvYmplY3RzIGFyZSBtYW5pcHVsYXRlZCBieSBh
biBJRCB0aGF0IGlzIGdpdmVuIGluaXRpYWxseSBieSB0aGUgQ2FjaGVTdG9yYWdlRW5naW5lIHdo
ZW4gb3BlbmluZyB0aGUgQ2FjaGUgb2JqZWN0LgorCisgICAgICAgIEFkZGluZyB2YXJpb3VzIGFj
Y2Vzc29ycyBhbmQgY29uc3RydWN0b3JzIGZvciBGZXRjaCBjb25zdHJ1Y3RzIGFzIG5lZWRlZCBi
eSB0aGUgQ2FjaGUgQVBJIGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogTW9kdWxlcy9jYWNo
ZS9DYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6Q2FjaGUpOgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGU6On5DYWNoZSk6CisgICAgICAgIFRoZSBDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uIGlzIGEgZ2VuZXJpYyBjb25uZWN0aW9uIGFuZCBub3QgdGllZCB0byBhbnkgZG9jdW1lbnQv
Y29udGV4dC4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjptYXRjaCk6IEltcGxlbWVudGF0aW9u
IG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtbWF0Y2gu
CisgICAgICAgIFJlZGlyZWN0IHRvIG1hdGNoQWxsIGFzIHBlciBzcGVjLgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGU6Om1hdGNoQWxsKTogSW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93d3cudzMu
b3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNjYWNoZS1tYXRjaEFsbC4KKyAgICAgICAgQ2hlY2tz
IGZvciByZXF1ZXN0IGFzIHBlciBzcGVjLiBUaGVuIGVpdGhlciByZWZyZXNoIHRoZSByZXF1ZXN0
IHRvIHJlc3BvbnNlIG1hcCBhbmQgcmV0dXJuIGFsbCByZXNwb25zZXMuCisgICAgICAgIE9yIGNh
bGwgdGhlIHF1ZXJ5IGNhY2hlIGFsZ29yaXRobSBhbmQgcmV0dXJuIGNvcGllcyBvZiB0aGUgcmVz
cG9uc2VzICh1c2luZyBjbG9uZSkuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6cHV0KToKKyAg
ICAgICAgQ2hlY2sgdGhlIHJlcXVlc3QgYW5kIHJlc3BvbnNlIGFzIHBlciBzcGVjLgorICAgICAg
ICBBZGQgdGVtcG9yYXJ5IHJlamVjdGlvbiBjYXNlcyAoYmVpbmcgbG9hZGVkIHJlc3BvbnNlcywg
cmVzcG9uc2VzIHdpdGggUmVhZGFibGVTdHJlYW0pIGFzIHRoZXJlIGlzIG5vIHN1cHBvcnQgZm9y
IHRoZW0gcmlnaHQgbm93LgorICAgICAgICBDYWxsIHRoZSBiYXRjaCBwdXQgb3BlcmF0aW9uLgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnJlbW92ZSk6CisgICAgICAgIENoZWNrIHRoZSByZXF1
ZXN0IGFuZCByZXNwb25zZSBhcyBwZXIgc3BlYy4KKyAgICAgICAgQ2FsbCB0aGUgYmF0Y2ggZGVs
ZXRlIG9wZXJhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjprZXlzKToKKyAgICAgICAg
UmVmcmVzaCB0aGUgcmVxdWVzdCB0byByZXNwb25zZSBtYXAgYW5kIHJldHVybiBjb3JyZXNwb25k
aW5nIHJlcXVlc3RzLgorICAgICAgICBNYWtpbmcgc3VyZSB0byByZXVzZSB0aGUgc2FtZSByZXF1
ZXN0IG9iamVjdHMgYXMgcGVyIHNwZWMuCisgICAgICAgIEFzIHBlciBzcGVjLCB0aGUgcmVxdWVz
dCB0byByZXNwb25zZSBtYXAgaXMgb3JkZXJlZC4gV2UgaW1wbGVtZW50IGl0IGFzIGEgVmVjdG9y
LgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcCk6
CisgICAgICAgIFVzZSB0aGUgY2FjaGUgc3RvcmFnZSBjb25uZWN0aW9uIHRvIGdldCBhbiB1cC10
by1kYXRlIGxpc3Qgb2YgY2FjaGVkIHJlY29yZHMuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6
cXVlcnlDYWNoZU1hdGNoKToKKyAgICAgICAgSW1wbGVtZW50cyB0aGUgbWF0Y2ggYWxnb3JpdGht
IGRlZmluZWQgaW4gaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNxdWVy
eS1jYWNoZS1hbGdvcml0aG0uCisgICAgICAgIFRoaXMgaXMgc3BsaXQgZm9yIHF1ZXJ5Q2FjaGUg
YXMgY2FjaGUgc3RvcmFnZSBlbmdpbmUgd2lsbCBuZWVkIHRvIHVzZSBpdCB3aGVuIGltcGxlbWVu
dGluZyB0aGUgZGVsZXRlIG9wZXJhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjpxdWVy
eUNhY2hlKToKKyAgICAgICAgRnVsbCBpbXBsZW1lbnRhdGlvbiBvZiBodHRwczovL3d3dy53My5v
cmcvVFIvc2VydmljZS13b3JrZXJzLTEvI3F1ZXJ5LWNhY2hlLWFsZ29yaXRobSB3aXRoIG5vIHRh
cmdldFN0b3JhZ2UgYXJndW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6cXVlcnlDYWNo
ZVdpdGhUYXJnZXRTdG9yYWdlKToKKyAgICAgICAgRnVsbCBpbXBsZW1lbnRhdGlvbiBvZiBodHRw
czovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEvI3F1ZXJ5LWNhY2hlLWFsZ29yaXRo
bSB3aXRoIGEgcHJvdmlkZWQgdGFyZ2V0U3RvcmFnZSBhcmd1bWVudC4KKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlOjpiYXRjaERlbGV0ZU9wZXJhdGlvbik6CisgICAgICAgIEltcGxlbWVudGF0aW9u
IG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jYmF0Y2gtY2FjaGUt
b3BlcmF0aW9ucy1hbGdvcml0aG0gYnV0IGRlZGljYXRlZCB0byBhIGRlbGV0ZSBvcGVyYXRpb24u
CisgICAgICAgIERlbGV0ZSBvcGVyYXRpb24gYXJlIGFsd2F5cyBkb25lIG9uZSBhdCBhIHRpbWUu
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6YmF0Y2hQdXRPcGVyYXRpb24pOgorICAgICAgICBJ
bXBsZW1lbnRhdGlvbiBvZiBodHRwczovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEv
I2JhdGNoLWNhY2hlLW9wZXJhdGlvbnMtYWxnb3JpdGhtIGRlZGljYXRlZCB0byBhIHB1dCBvcGVy
YXRpb24uCisgICAgICAgIFB1dCBvcGVyYXRpb24gdGFrZXMgb25lIHJlY29yZCBmb3IgcHV0IGJ1
dCBjYW4gdGFrZSBzZXZlcmFsIHJlY29yZHMgaW4gdGhlIGNhc2Ugb2YgYWRkQWxsLCBoZW5jZSB0
aGUgY3VycmVudCBkZXNpZ24uCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6dXBkYXRlUmVxdWVz
dFRvUmVzcG9uc2VNYXApOgorICAgICAgICBVcGRhdGUgdGhlIGNhY2hlIHJlcXVlc3QgdG8gcmVz
cG9uc2UgbWFwIGJhc2VkIG9uIHRoZSByZWNvcmRzIHJldHJpZXZlZCBmcm9tIHRoZSBjYWNoZSBz
dG9yYWdlIGNvbm5lY3Rpb24uCisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6
bmFtZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZS5pZGw6CisgICAgICAg
ICogTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVTdG9yYWdlOjpvcmlnaW4gY29uc3QpOgorICAgICAgICBDb21wdXRpbmcgdGhlIGNhY2hlIG9y
aWdpbiB0aGF0IGlzIHBhc3NlZCB0byB0aGUgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi4KKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6aGFzKToKKyAgICAgICAgSW1wbGVtZW50YXRpb24g
b2YgaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNjYWNoZS1zdG9yYWdl
LWhhcy4KKyAgICAgICAgQ2FsbCB0aGUgY2FjaGUgc3RvcmFnZSBjb25uZWN0aW9uIHRvIHJlZnJl
c2ggaXRzIGNhY2hlIG1hcC4KKyAgICAgICAgVGhlbiB1c2UgaXQgdG8gY2hlY2sgd2hldGhlciBh
IGNhY2hlIGV4aXN0cy4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6cmVmcmVzaENh
Y2hlTWFwKToKKyAgICAgICAgVXNlIHRoZSBjYWNoZSBzdG9yYWdlIGNvbm5lY3Rpb24gdG8gZ2V0
IHRoZSBsaXN0IG9mIGV4aXN0aW5nIGNhY2hlcy4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3Rv
cmFnZTo6b3Blbik6CisgICAgICAgIEltcGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9y
Zy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtc3RvcmFnZS1vcGVuLgorICAgICAgICBSZWZy
ZXNoaW5nIHRoZSBjYWNoZSBtYXAgc28gYXMgdG8gcmV0dXJuIGEgcHJlLWV4aXN0aW5nIGNhY2hl
IGlmIGFueS4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6cmVtb3ZlKToKKyAgICAg
ICAgSW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vy
cy0xLyNjYWNoZS1zdG9yYWdlLWRlbGV0ZS1tZXRob2QuCisgICAgICAgIFJlZnJlc2hpbmcgdGhl
IGNhY2hlIG1hcCBzbyBhcyB0byBkbyBub3RoaW5nIGlmIHRoZXJlIGlzIG5vIGNhY2hlIHRvIHJl
bW92ZS4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6a2V5cyk6CisgICAgICAgIElt
cGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8j
Y2FjaGUtc3RvcmFnZS1rZXlzLW1ldGhvZC4KKyAgICAgICAgUmVmcmVzaGluZyB0aGUgY2FjaGUg
bWFwIGFuZCByZXR1cm5pbiBpdHMga2V5cy4KKyAgICAgICAgQXMgcGVyIHNwZWMsIHRoZSBjYWNo
ZSBtYXAgaXMgb3JkZXJlZC4gV2UgaW1wbGVtZW50IGl0IGFzIGEgVmVjdG9yLgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpjYWNoZU1hcCk6CisgICAgICAgIEdldCB0aGUgbGlzdCBv
ZiBjYWNoZSBvYmplY3RzLCB1c2VkIGFzIGEgcHJpdmF0ZSBhY2Nlc3NvciBmb3IgSlMgYnVpbHQt
aW5zLgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZVN0b3JhZ2U6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0
b3JhZ2U6OkNhY2hlU3RvcmFnZSk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uOjpleGNlcHRpb25Gcm9tRXJyb3IpOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUv
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oOiBBZGRlZC4KKyAgICAgICAgTWFrZXMgdGhlIGxpbmsg
YmV0d2VlbiBXZWIgZmFjaW5nIENhY2hlIEFQSSBhbmQgdGhlIGNhY2hlIHN0b3JhZ2UgZW5naW5l
LgorICAgICAgICBFbnZpc2lvbmVkIGltcGxlbWVudGF0aW9uIGFyZToKKyAgICAgICAgLSBPbmUg
bWFpbiB0aHJlYWQgY29ubmVjdGlvbiB1c2VkIGJ5IGFsbCBkb2N1bWVudHMgaW4gdGhlIGdpdmVu
IHByb2Nlc3MuCisgICAgICAgIC0gT25lIGNvbm5lY3Rpb24gcGVyIHdvcmtlciB0aGF0IGZvcndh
cmRzIHRoZSBjYWxscyB0byB0aGUgbWFpbiB0aHJlYWQgYW5kIHVzZSB0aGUgbWFpbiB0aHJlYWQg
Y29ubmVjdGlvbiBhZnRlcndhcmRzLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29u
bmVjdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5lY3Rp
b246Om9wZW4pOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6cmVt
b3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246OnJlZnJlc2hD
YWNoZU1hcCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpyZWZy
ZXNoUmVxdWVzdFRvUmVzcG9uc2VNYXApOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdl
Q29ubmVjdGlvbjo6YmF0Y2hEZWxldGVPcGVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbjo6YmF0Y2hQdXRPcGVyYXRpb24pOgorICAgICAgICAqIE1vZHVs
ZXMvY2FjaGUvQ2FjaGVTdG9yYWdlUmVjb3JkLmg6IEFkZGVkLiBBIGZldGNoIHJlY29yZCBmcm9t
IHRoZSBXZWIgZmFjaW5nIGNhY2hlIEFQSSBwZXJzcGVjdGl2ZS4KKyAgICAgICAgKiBNb2R1bGVz
L2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3dD
YWNoZXM6OmNhY2hlcyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9i
YWxTY29wZUNhY2hlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUNh
Y2hlczo6ZnJvbSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6
Y2FjaGVzIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3Bl
Q2FjaGVzLmg6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6V29y
a2VyR2xvYmFsU2NvcGVDYWNoZXMpOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5
T3duZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoQm9keU93bmVyOjppc1JlYWRhYmxlU3Ry
ZWFtQm9keSBjb25zdCk6IEFkZGVkIGdldHRlciBhcyBpdCBpcyB1c2VkIGJ5IGNhY2hlIEFQSS4K
KyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5oOgorICAgICAgICAoV2ViQ29y
ZTo6RmV0Y2hIZWFkZXJzOjpjcmVhdGUpOiBBZGQgYW5vdGhlciBjcmVhdGUgYXMgdXNlZCBieSB0
aGUgY2FjaGUgQVBJLgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpndWFyZCBjb25z
dCk6IEFkZGVkIGdldHRlciBhbmQgSVBDIHNlcmlhbGl6ZXIgYXMgdGhpcyBpcyBzb21ldGhpbmcg
dGhhdCB3aWxsIGJlIHN0b3JlZCBieSB0aGUgY2FjaGUgZW5naW5lLgorICAgICAgICAqIE1vZHVs
ZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hMb2FkZXI6
OnN0YXJ0KToKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpidWlsZE9wdGlvbnMpOiBJbiBjYXNlIEZldGNoUmVxdWVzdDo6Y3JlYXRl
IGlzIGNhbGxlZCBmcm9tIEMrKywgdGhlcmUgaXMgbm8gbmVlZCB0byBzZXQgaW5pdC53aW5kb3cg
dG8gYSBudWxsIHZhbHVlLgorICAgICAgICBBZGQgYSBjaGVjayBzbyB0aGF0IG5vIHZhbHVlIGF0
IGFsbCBpcyB0aGUgc2FtZSBhcyBhIG51bGwvdW5kZWZpbmVkIHZhbHVlLgorICAgICAgICAoV2Vi
Q29yZTo6RmV0Y2hSZXF1ZXN0OjpyZXNvdXJjZVJlcXVlc3QgY29uc3QpOgorICAgICAgICAqIE1v
ZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0Lmg6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRj
aFJlc3BvbnNlLmg6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvck92ZXJsYXk6Om92ZXJsYXlQYWdlKToKKyAgICAgICAgKiBwYWdlL0Nh
Y2hlU3RvcmFnZVByb3ZpZGVyLmg6IEFkZGVkLgorICAgICAgICBJbnRlcmZhY2UgdG8gY3JlYXRl
IG1haW4gdGhyZWFkIGNhY2hlIHN0b3JhZ2UgY29ubmVjdGlvbiBmb3IgdGhlIGdpdmVuIHBhZ2Uu
CisgICAgICAgIFRoZXJlIHdpbGwgYmUgb25lIHByb3ZpZGVyIGZvciBlYWNoIHByb2Nlc3MuCisg
ICAgICAgIFBhc3NpbmcgYSBzZXNzaW9uSUQgc28gdGhhdCB3ZSB3aWxsIGNyZWF0ZSBhIGNvbm5l
Y3Rpb24gcGVyIHNlc3Npb24uCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBhZ2U6OlBhZ2UpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UGFnZTo6Y2FjaGVTdG9yYWdlUHJvdmlkZXIpOgorICAgICAgICAqIHBhZ2UvUGFnZUNv
bmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbmZpZ3VyYXRpb246OlBh
Z2VDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0aW9uLmg6Cisg
ICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0ltYWdlOjpkYXRhQ2hhbmdlZCk6CisKIDIwMTctMDgtMTQgIEFkcmlhbiBQZXJleiBkZSBDYXN0
cm8gIDxhcGVyZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV1BFXSBJbXBsZW1lbnQgV2ViQ29y
ZTo6c3RhbmRhcmRVc2VyQWdlbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiODUxZjA3ZTMzYzRjM2QyOWY2MDk1
YmU3Y2Y1MTg1ZGQzNDA1YWY5Li43ZGYyNTI3MDEzNTJkN2Y0YmYzN2Q2ZjRkNjRjNmQ2M2I5NTI0
MmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE3LTA4LTEzICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbQ2FjaGUgQVBJXSBBZGRpbmcgZ2VuZXJp
YyBzdXBwb3J0IGZvciBDYWNoZVN0b3JhZ2UgYW5kIENhY2hlIG1ldGhvZHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTQ1NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9DYWNoZS9XZWJDYWNoZVN0b3Jh
Z2VQcm92aWRlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fY3B1TGltaXQpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OldlYlByb2Nl
c3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzOjpjYWNoZVN0b3JhZ2VQcm92aWRlcik6CisKIDIwMTctMDgtMTQgIFRpbSBI
b3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgT25seSBjcmVhdGUg
ZGlyZWN0b3J5IGFuZCBzYW5kYm94IGV4dGVuc2lvbiBoYW5kbGUgZm9yIHN0b3JhZ2UgZGlyZWN0
b3JpZXMgaWYgdGhleSBhcmUgc2V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggOWQ4
YTNlZDdkYmZmM2JjZDI1YWZmYWRhYmYxODZiYjUyZTY3ZWI3OC4uZGM1YTRiNDIyNGQ5ZTkzZDY3
NjZmMzVjNmViYzFhOTU4MGExNTFkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEzIEBACisyMDE3LTA4LTEzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KKworICAgICAgICBbQ2FjaGUgQVBJXSBBZGRpbmcgZ2VuZXJpYyBzdXBwb3J0IGZvciBDYWNo
ZVN0b3JhZ2UgYW5kIENhY2hlIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3NTQ1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJW
aWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6Z3JvdXBOYW1lOl0pOgorCiAy
MDE3LTA4LTEzICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAg
ICAgICAgIENvbXBvc2l0aW9uIHVuZGVybGluZSBjb2xvciBpcyBhbHdheXMgYmxhY2sKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCA3YzViZWExMmI5OTYzOGI0YmE1NjU5MDdmNzg5NDdh
ZWIyOTRiNTE0Li5mYzg3ZDQ5NGYyMDQ4MGZmNDBkMTIxYTMzZDI1NWE4MzZiNGIyMGViIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMDgtMTMgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFtDYWNoZSBBUEldIEFk
ZGluZyBnZW5lcmljIHN1cHBvcnQgZm9yIENhY2hlU3RvcmFnZSBhbmQgQ2FjaGUgbWV0aG9kcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NDU1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3
LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OmluaXRXaXRoRnJhbWUpOgorCiAyMDE3LTA4LTEzICBN
YW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIENvbXBv
c2l0aW9uIHVuZGVybGluZSBjb2xvciBpcyBhbHdheXMgYmxhY2sKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
aW5kZXggZTNmNGM5MmI2OTg4Yzg5ZTI3OTE4NmNlMmZhMzQ3MzA0MjA2ZTdiMi4uMDI5ZTI3NWM0
NTliZjg5N2E1MDFkYTUwYTM4OWU4YTJkOGQ3NGQ5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAg
LTkwMCw2ICs5MDAsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAKICAgICBNb2R1bGVzL2NhY2hl
L0NhY2hlLmNwcAogICAgIE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmNwcAorICAgIE1vZHVs
ZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAKICAgICBNb2R1bGVzL2NhY2hlL0RP
TVdpbmRvd0NhY2hlcy5jcHAKICAgICBNb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2Fj
aGVzLmNwcAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCmluZGV4IGUxOWFm
NTUwMjk1NjRkOTU3NDU0MmIzZWIzMzQ4NDMyMzgzZjY3ZDUuLjY2NDQyMzQ0ZmJmM2JlNTVlN2Jk
YjE3MzUyMGJkYjFkNjY1Y2I0NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2FjaGUvQ2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUu
Y3BwCkBAIC0yNiw0MSArMjYsMzQwIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
Q2FjaGUuaCIKIAorI2luY2x1ZGUgIkNhY2hlUXVlcnlPcHRpb25zLmgiCisjaW5jbHVkZSAiRmV0
Y2hSZXNwb25zZS5oIgorI2luY2x1ZGUgIkpTRmV0Y2hSZXF1ZXN0LmgiCisjaW5jbHVkZSAiSlNG
ZXRjaFJlc3BvbnNlLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2lu
Y2x1ZGUgIlVSTC5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgQ2FjaGU6Om1hdGNo
KFJlcXVlc3RJbmZvJiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIFJlZjxE
ZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK0NhY2hlOjpDYWNoZShTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0LCBTdHJpbmcmJiBuYW1lLCB1aW50NjRfdCBpZGVudGlmaWVyLCBSZWY8
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4mJiBjb25uZWN0aW9uKQorICAgIDogQWN0aXZlRE9NT2Jq
ZWN0KCZjb250ZXh0KQorICAgICwgbV9uYW1lKFdURk1vdmUobmFtZSkpCisgICAgLCBtX2lkZW50
aWZpZXIoaWRlbnRpZmllcikKKyAgICAsIG1fY29ubmVjdGlvbihXVEZNb3ZlKGNvbm5lY3Rpb24p
KQogewotICAgIHByb21pc2UtPnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0
ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICBzdXNwZW5kSWZOZWVkZWQoKTsKIH0KIAot
dm9pZCBDYWNoZTo6bWF0Y2hBbGwoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4mJiwgc3RkOjpv
cHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgTWF0Y2hBbGxQcm9taXNlJiYgcHJvbWlzZSkK
K0NhY2hlOjp+Q2FjaGUoKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVF
cnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworfQorCit2b2lkIENhY2hl
OjptYXRjaChSZXF1ZXN0SW5mbyYmIGluZm8sIENhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywg
UmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQoreworICAgIGRvTWF0Y2goV1RGTW92ZShp
bmZvKSwgV1RGTW92ZShvcHRpb25zKSwgV1RGTW92ZShwcm9taXNlKSwgTWF0Y2hUeXBlOjpPbmx5
Rmlyc3QpOworfQorCit2b2lkIENhY2hlOjptYXRjaEFsbChzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJ
bmZvPiYmIGluZm8sIENhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywgUmVmPERlZmVycmVkUHJv
bWlzZT4mJiBwcm9taXNlKQoreworICAgIGRvTWF0Y2goV1RGTW92ZShpbmZvKSwgV1RGTW92ZShv
cHRpb25zKSwgV1RGTW92ZShwcm9taXNlKSwgTWF0Y2hUeXBlOjpBbGwpOworfQorCit2b2lkIENh
Y2hlOjpkb01hdGNoKHN0ZDo6b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYgaW5mbywgQ2FjaGVRdWVy
eU9wdGlvbnMmJiBvcHRpb25zLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UsIE1hdGNo
VHlwZSBtYXRjaFR5cGUpCit7CisgICAgUmVmUHRyPEZldGNoUmVxdWVzdD4gcmVxdWVzdDsKKyAg
ICBpZiAoaW5mbykgeworICAgICAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWZQdHI8
RmV0Y2hSZXF1ZXN0Pj4oaW5mby52YWx1ZSgpKSkgeworICAgICAgICAgICAgcmVxdWVzdCA9IFdU
Rjo6Z2V0PFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvLnZhbHVlKCkpLnJlbGVhc2VOb25OdWxs
KCk7CisgICAgICAgICAgICBpZiAocmVxdWVzdC0+bWV0aG9kKCkgIT0gIkdFVCIgJiYgIW9wdGlv
bnMuaWdub3JlTWV0aG9kKSB7CisgICAgICAgICAgICAgICAgaWYgKG1hdGNoVHlwZSA9PSBNYXRj
aFR5cGU6Ok9ubHlGaXJzdCkgeworICAgICAgICAgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZl
KCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8RmV0
Y2hSZXNwb25zZT4+PihWZWN0b3I8UmVmPEZldGNoUmVzcG9uc2U+PiB7IH0pOworICAgICAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgIGlmIChVTkxJS0VMWSghc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSkKKyAgICAgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgICAgICByZXF1ZXN0ID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUo
KnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgV1RGTW92ZShpbmZvLnZhbHVlKCkpLCB7IH0pLnJl
bGVhc2VSZXR1cm5WYWx1ZSgpOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCFyZXF1ZXN0
KSB7CisgICAgICAgIEFTU0VSVChtYXRjaFR5cGUgPT0gTWF0Y2hUeXBlOjpBbGwpOworICAgICAg
ICByZXRyaWV2ZVJlY29yZHMoW3RoaXMsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSgpIHsK
KyAgICAgICAgICAgIFZlY3RvcjxSZWY8RmV0Y2hSZXNwb25zZT4+IHJlc3BvbnNlczsKKyAgICAg
ICAgICAgIHJlc3BvbnNlcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1fcmVjb3Jkcy5zaXplKCkp
OworICAgICAgICAgICAgZm9yIChhdXRvJiByZWNvcmQgOiBtX3JlY29yZHMpCisgICAgICAgICAg
ICAgICAgcmVzcG9uc2VzLnVuY2hlY2tlZEFwcGVuZChyZWNvcmQucmVzcG9uc2UtPmNsb25lRm9y
SlMoKSk7CisgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElETFNlcXVlbmNlPElETEludGVy
ZmFjZTxGZXRjaFJlc3BvbnNlPj4+KHJlc3BvbnNlcyk7CisgICAgICAgIH0pOworICAgICAgICBy
ZXR1cm47CisgICAgfQorICAgIHF1ZXJ5Q2FjaGUocmVxdWVzdC5yZWxlYXNlTm9uTnVsbCgpLCBX
VEZNb3ZlKG9wdGlvbnMpLCBbbWF0Y2hUeXBlLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0o
Y29uc3QgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4mIHJlY29yZHMpIG11dGFibGUgeworICAg
ICAgICBpZiAobWF0Y2hUeXBlID09IE1hdGNoVHlwZTo6T25seUZpcnN0KSB7CisgICAgICAgICAg
ICBpZiAocmVjb3Jkcy5zaXplKCkpIHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZl
PElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4ocmVjb3Jkc1swXS5yZXNwb25zZS0+Y2xvbmVG
b3JKUygpKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICBwcm9taXNlLT5yZXNvbHZlKCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KworICAgICAgICBWZWN0b3I8UmVmPEZldGNoUmVzcG9uc2U+PiByZXNwb25zZXM7CisgICAgICAg
IHJlc3BvbnNlcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHJlY29yZHMuc2l6ZSgpKTsKKyAgICAg
ICAgZm9yIChhdXRvJiByZWNvcmQgOiByZWNvcmRzKQorICAgICAgICAgICAgcmVzcG9uc2VzLnVu
Y2hlY2tlZEFwcGVuZChyZWNvcmQucmVzcG9uc2UtPmNsb25lRm9ySlMoKSk7CisgICAgICAgIHBy
b21pc2UtPnJlc29sdmU8SURMU2VxdWVuY2U8SURMSW50ZXJmYWNlPEZldGNoUmVzcG9uc2U+Pj4o
cmVzcG9uc2VzKTsKKyAgICB9KTsKIH0KIAogdm9pZCBDYWNoZTo6YWRkKFJlcXVlc3RJbmZvJiYs
IERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS5yZWpl
Y3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIp
fSk7CisgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IsIEFT
Q0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKIH0KIAogdm9pZCBDYWNoZTo6YWRkQWxs
KFZlY3RvcjxSZXF1ZXN0SW5mbz4mJiwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlz
ZSkKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0
ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24g
eyBOb3RTdXBwb3J0ZWRFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOwor
fQorCit2b2lkIENhY2hlOjpwdXQoUmVxdWVzdEluZm8mJiBpbmZvLCBSZWY8RmV0Y2hSZXNwb25z
ZT4mJiByZXNwb25zZSwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlzZSkKK3sKKyAg
ICBSZWZQdHI8RmV0Y2hSZXF1ZXN0PiByZXF1ZXN0OworICAgIGlmIChXVEY6OmhvbGRzX2FsdGVy
bmF0aXZlPFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvKSkgeworICAgICAgICByZXF1ZXN0ID0g
V1RGOjpnZXQ8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8pLnJlbGVhc2VOb25OdWxsKCk7Cisg
ICAgICAgIGlmIChyZXF1ZXN0LT5tZXRob2QoKSAhPSAiR0VUIikgeworICAgICAgICAgICAgcHJv
bWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIlJlcXVlc3Qg
bWV0aG9kIGlzIG5vdCBHRVQiKSB9KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQor
ICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChVTkxJS0VMWSghc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgcmVxdWVzdCA9IEZldGNoUmVxdWVz
dDo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFdURk1vdmUoaW5mbyksIHsgfSku
cmVsZWFzZVJldHVyblZhbHVlKCk7CisgICAgfQorCisgICAgaWYgKCFwcm90b2NvbElzSW5IVFRQ
RmFtaWx5KHJlcXVlc3QtPnVybCgpKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRp
b24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiUmVxdWVzdCB1cmwgaXMgbm90IEhUVFAvSFRU
UFMiKSB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gdmFyeVZhbHVlID0g
cmVzcG9uc2UtPmhlYWRlcnMoKS5pbnRlcm5hbEhlYWRlcnMoKS5nZXQoV2ViQ29yZTo6SFRUUEhl
YWRlck5hbWU6OlZhcnkpOworICAgIGJvb2wgaGFzVmFyeUhlYWRlclN0YXIgPSBmYWxzZTsKKyAg
ICB2YXJ5VmFsdWUuc3BsaXQoJywnLCBmYWxzZSwgWyZdKFN0cmluZ1ZpZXcgdmlldykgeworICAg
ICAgICBpZiAoIWhhc1ZhcnlIZWFkZXJTdGFyICYmIHZpZXcgPT0gIioiKQorICAgICAgICAgICAg
aGFzVmFyeUhlYWRlclN0YXIgPSB0cnVlOworICAgIH0pOworCisgICAgaWYgKGhhc1ZhcnlIZWFk
ZXJTdGFyKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwg
QVNDSUlMaXRlcmFsKCJSZXNwb25zZSBoYXMgYSAnKicgVmFyeSBoZWFkZXIgdmFsdWUiKSB9KTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChyZXNwb25zZS0+aXNEaXN0dXJiZWQo
KSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJ
TGl0ZXJhbCgiUmVzcG9uc2UgaXMgZGlzdHVyYmVkIG9yIGxvY2tlZCIpIH0pOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgaWYgKHJlc3BvbnNlLT5zdGF0dXMoKSA9PSAyMDYpIHsKKyAg
ICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwo
IlJlc3BvbnNlIGlzIGEgMjA2IHBhcnRpYWwiKSB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgYmVpbmcgbG9hZGVkIHJlc3BvbnNlcy4K
KyAgICBpZiAocmVzcG9uc2UtPmlzTG9hZGluZygpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0
KEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yLCBBU0NJSUxpdGVyYWwoIkNhY2hpbmcgYSBs
b2FkaW5nIFJlc3BvbnNlIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIikgfSk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIFJlYWRhYmxlU3RyZWFt
LgorICAgIGlmIChyZXNwb25zZS0+aXNSZWFkYWJsZVN0cmVhbUJvZHkoKSkgeworICAgICAgICBw
cm9taXNlLnJlamVjdChFeGNlcHRpb24geyBOb3RTdXBwb3J0ZWRFcnJvciwgQVNDSUlMaXRlcmFs
KCJDYWNoaW5nIGEgUmVzcG9uc2Ugd2l0aCBkYXRhIHN0b3JlZCBpbiBhIFJlYWRhYmxlU3RyZWFt
IGlzIG5vdCB5ZXQgc3VwcG9ydGVkIikgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBiYXRjaFB1dE9wZXJhdGlvbigqcmVxdWVzdCwgcmVzcG9uc2UuZ2V0KCksIFtwcm9taXNlID0g
V1RGTW92ZShwcm9taXNlKV0oQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11
dGFibGUgeworICAgICAgICBpZiAoZXJyb3IgIT0gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJy
b3I6Ok5vbmUpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KENhY2hlU3RvcmFnZUNvbm5l
Y3Rpb246OmV4Y2VwdGlvbkZyb21FcnJvcihlcnJvcikpOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CisgICAgICAgIHByb21pc2UucmVzb2x2ZSgpOworICAgIH0pOworfQorCit2b2lk
IENhY2hlOjpyZW1vdmUoUmVxdWVzdEluZm8mJiBpbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9w
dGlvbnMsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmIHByb21pc2UpCit7CisgICAg
UmVmUHRyPEZldGNoUmVxdWVzdD4gcmVxdWVzdDsKKyAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5h
dGl2ZTxSZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4oaW5mbykpIHsKKyAgICAgICAgcmVxdWVzdCA9IFdU
Rjo6Z2V0PFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvKS5yZWxlYXNlTm9uTnVsbCgpOworICAg
ICAgICBpZiAocmVxdWVzdC0+bWV0aG9kKCkgIT0gIkdFVCIgJiYgIW9wdGlvbnMuaWdub3JlTWV0
aG9kKSB7CisgICAgICAgICAgICBwcm9taXNlLnJlc29sdmUoZmFsc2UpOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKFVOTElLRUxZKCFz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBy
ZXF1ZXN0ID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwg
V1RGTW92ZShpbmZvKSwgeyB9KS5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKKyAgICB9CisKKyAgICBi
YXRjaERlbGV0ZU9wZXJhdGlvbigqcmVxdWVzdCwgV1RGTW92ZShvcHRpb25zKSwgW3Byb21pc2Ug
PSBXVEZNb3ZlKHByb21pc2UpXShib29sIGRpZERlbGV0ZSwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlv
bjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICBpZiAoZXJyb3IgIT0gIENhY2hlU3Rv
cmFnZUNvbm5lY3Rpb246OkVycm9yOjpOb25lKSB7CisgICAgICAgICAgICBwcm9taXNlLnJlamVj
dChDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpleGNlcHRpb25Gcm9tRXJyb3IoZXJyb3IpKTsKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBwcm9taXNlLnJlc29sdmUoZGlk
RGVsZXRlKTsKKyAgICB9KTsKK30KKwordm9pZCBDYWNoZTo6a2V5cyhzdGQ6Om9wdGlvbmFsPFJl
cXVlc3RJbmZvPiYmIGluZm8sIENhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywgS2V5c1Byb21p
c2UmJiBwcm9taXNlKQoreworICAgIFJlZlB0cjxGZXRjaFJlcXVlc3Q+IHJlcXVlc3Q7CisgICAg
aWYgKGluZm8pIHsKKyAgICAgICAgaWYgKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmUHRyPEZl
dGNoUmVxdWVzdD4+KGluZm8udmFsdWUoKSkpIHsKKyAgICAgICAgICAgIHJlcXVlc3QgPSBXVEY6
OmdldDxSZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4oaW5mby52YWx1ZSgpKS5yZWxlYXNlTm9uTnVsbCgp
OworICAgICAgICAgICAgaWYgKHJlcXVlc3QtPm1ldGhvZCgpICE9ICJHRVQiICYmICFvcHRpb25z
Lmlnbm9yZU1ldGhvZCkgeworICAgICAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShWZWN0b3I8
UmVmPEZldGNoUmVxdWVzdD4+IHsgfSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKFVOTElLRUxZKCFzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCkpKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLCBXVEZNb3ZlKGluZm8udmFsdWUoKSksIHsgfSkucmVsZWFzZVJldHVyblZhbHVlKCk7Cisg
ICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoIXJlcXVlc3QpIHsKKyAgICAgICAgcmV0cmlldmVS
ZWNvcmRzKFt0aGlzLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsKKyAg
ICAgICAgICAgIFZlY3RvcjxSZWY8RmV0Y2hSZXF1ZXN0Pj4gcmVxdWVzdHM7CisgICAgICAgICAg
ICByZXF1ZXN0cy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1fcmVjb3Jkcy5zaXplKCkpOworICAg
ICAgICAgICAgZm9yIChhdXRvJiByZWNvcmQgOiBtX3JlY29yZHMpCisgICAgICAgICAgICAgICAg
cmVxdWVzdHMudW5jaGVja2VkQXBwZW5kKHJlY29yZC5yZXF1ZXN0LmNvcHlSZWYoKSk7CisgICAg
ICAgICAgICBwcm9taXNlLnJlc29sdmUocmVxdWVzdHMpOworICAgICAgICB9KTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIHF1ZXJ5Q2FjaGUocmVxdWVzdC5yZWxlYXNlTm9uTnVsbCgp
LCBXVEZNb3ZlKG9wdGlvbnMpLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKGNvbnN0IFZl
Y3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+JiByZWNvcmRzKSBtdXRhYmxlIHsKKyAgICAgICAgVmVj
dG9yPFJlZjxGZXRjaFJlcXVlc3Q+PiByZXF1ZXN0czsKKyAgICAgICAgcmVxdWVzdHMucmVzZXJ2
ZUluaXRpYWxDYXBhY2l0eShyZWNvcmRzLnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0byYgcmVj
b3JkIDogcmVjb3JkcykKKyAgICAgICAgICAgIHJlcXVlc3RzLnVuY2hlY2tlZEFwcGVuZChyZWNv
cmQucmVxdWVzdC5jb3B5UmVmKCkpOworICAgICAgICBwcm9taXNlLnJlc29sdmUocmVxdWVzdHMp
OworICAgIH0pOworfQorCit2b2lkIENhY2hlOjpyZXRyaWV2ZVJlY29yZHMoV1RGOjpGdW5jdGlv
bjx2b2lkKCk+JiYgY2FsbGJhY2spCit7CisgICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOwor
ICAgIG1fY29ubmVjdGlvbi0+cmV0cmlldmVSZWNvcmRzKG1faWRlbnRpZmllciwgW3RoaXMsIGNh
bGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKFZlY3RvcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
OjpSZWNvcmQ+JiYgcmVjb3JkcykgeworICAgICAgICBpZiAoIW1faXNTdG9wcGVkKSB7CisgICAg
ICAgICAgICB1cGRhdGVSZWNvcmRzKFdURk1vdmUocmVjb3JkcykpOworICAgICAgICAgICAgY2Fs
bGJhY2soKTsKKyAgICAgICAgfQorICAgICAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsK
KyAgICB9KTsKK30KKwordm9pZCBDYWNoZTo6cXVlcnlDYWNoZShSZWY8RmV0Y2hSZXF1ZXN0PiYm
IHJlcXVlc3QsIENhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywgV1RGOjpGdW5jdGlvbjx2b2lk
KGNvbnN0IFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+Jik+JiYgY2FsbGJhY2spCit7CisgICAg
cmV0cmlldmVSZWNvcmRzKFt0aGlzLCByZXF1ZXN0ID0gV1RGTW92ZShyZXF1ZXN0KSwgb3B0aW9u
cyA9IFdURk1vdmUob3B0aW9ucyksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKCkgbXV0
YWJsZSB7CisgICAgICAgIGNhbGxiYWNrKHF1ZXJ5Q2FjaGVXaXRoVGFyZ2V0U3RvcmFnZShyZXF1
ZXN0LmdldCgpLCBvcHRpb25zLCBtX3JlY29yZHMpKTsKKyAgICB9KTsKK30KKworc3RhdGljIGlu
bGluZSBib29sIHF1ZXJ5Q2FjaGVNYXRjaChjb25zdCBGZXRjaFJlcXVlc3QmIHJlcXVlc3QsIGNv
bnN0IEZldGNoUmVxdWVzdCYgY2FjaGVkUmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYg
Y2FjaGVkUmVzcG9uc2UsIGNvbnN0IENhY2hlUXVlcnlPcHRpb25zJiBvcHRpb25zKQoreworICAg
IC8vIFdlIG5lZWQgdG8gcGFzcyB0aGUgcmVzb3VyY2UgcmVxdWVzdCB3aXRoIGFsbCBjb3JyZWN0
IGhlYWRlcnMgaGVuY2Ugd2h5IHdlIGNhbGwgcmVzb3VyY2VSZXF1ZXN0KCkuCisgICAgcmV0dXJu
IENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OnF1ZXJ5Q2FjaGVNYXRjaChyZXF1ZXN0LnJlc291cmNl
UmVxdWVzdCgpLCBjYWNoZWRSZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLCBjYWNoZWRSZXNwb25z
ZSwgb3B0aW9ucyk7Cit9CisKK1ZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+IENhY2hlOjpxdWVy
eUNhY2hlV2l0aFRhcmdldFN0b3JhZ2UoY29uc3QgRmV0Y2hSZXF1ZXN0JiByZXF1ZXN0LCBjb25z
dCBDYWNoZVF1ZXJ5T3B0aW9ucyYgb3B0aW9ucywgY29uc3QgVmVjdG9yPENhY2hlU3RvcmFnZVJl
Y29yZD4mIHRhcmdldFN0b3JhZ2UpCit7CisgICAgaWYgKCFvcHRpb25zLmlnbm9yZU1ldGhvZCAm
JiByZXF1ZXN0Lm1ldGhvZCgpICE9ICJHRVQiKQorICAgICAgICByZXR1cm4geyB9OworCisgICAg
VmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4gcmVjb3JkczsKKyAgICBmb3IgKGF1dG8mIHJlY29y
ZCA6IHRhcmdldFN0b3JhZ2UpIHsKKyAgICAgICAgaWYgKHF1ZXJ5Q2FjaGVNYXRjaChyZXF1ZXN0
LCByZWNvcmQucmVxdWVzdC5nZXQoKSwgcmVjb3JkLnJlc3BvbnNlLT5yZXNvdXJjZVJlc3BvbnNl
KCksIG9wdGlvbnMpKQorICAgICAgICAgICAgcmVjb3Jkcy5hcHBlbmQoeyByZWNvcmQuaWRlbnRp
ZmllciwgcmVjb3JkLnJlcXVlc3QuY29weVJlZigpLCByZWNvcmQucmVzcG9uc2UuY29weVJlZigp
IH0pOworICAgIH0KKyAgICByZXR1cm4gcmVjb3JkczsKK30KKwordm9pZCBDYWNoZTo6YmF0Y2hE
ZWxldGVPcGVyYXRpb24oY29uc3QgRmV0Y2hSZXF1ZXN0JiByZXF1ZXN0LCBDYWNoZVF1ZXJ5T3B0
aW9ucyYmIG9wdGlvbnMsIFdURjo6RnVuY3Rpb248dm9pZChib29sIGRpZFJlbW92YWwsIENhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OkVycm9yIGVycm9yKT4mJiBjYWxsYmFjaykKK3sKKyAgICBzZXRQ
ZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgbV9jb25uZWN0aW9uLT5iYXRjaERlbGV0ZU9wZXJh
dGlvbihtX2lkZW50aWZpZXIsIHJlcXVlc3QuaW50ZXJuYWxSZXF1ZXN0KCksIFdURk1vdmUob3B0
aW9ucyksIFt0aGlzLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShWZWN0b3I8dWludDY0
X3Q+JiYgcmVjb3JkcywgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIHsKKyAg
ICAgICAgaWYgKCFtX2lzU3RvcHBlZCkgeworICAgICAgICAgICAgaWYgKGVycm9yID09IENhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OkVycm9yOjpOb25lKQorICAgICAgICAgICAgICAgIG1fcmVjb3Jk
cy5yZW1vdmVBbGxNYXRjaGluZyhbJl0oY29uc3QgYXV0byYgaXRlbSkgeyByZXR1cm4gcmVjb3Jk
cy5jb250YWlucyhpdGVtLmlkZW50aWZpZXIpOyB9KTsKKworICAgICAgICAgICAgY2FsbGJhY2so
IXJlY29yZHMuaXNFbXB0eSgpLCBlcnJvcik7CisgICAgICAgIH0KKyAgICAgICAgdW5zZXRQZW5k
aW5nQWN0aXZpdHkodGhpcyk7CisgICAgfSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbjo6UmVjb3JkIHRvQ29ubmVjdGlvblJlY29yZChjb25zdCBGZXRjaFJlcXVl
c3QmIHJlcXVlc3QsIEZldGNoUmVzcG9uc2UmIHJlc3BvbnNlKQoreworICAgIC8vIEZJWE1FOiBB
ZGQgYSBzZXRIVFRQSGVhZGVyRmllbGRzIG9uIFJlc291cmNlUmVzcG9uc2VCYXNlLgorICAgIFJl
c291cmNlUmVzcG9uc2UgY2FjaGVkUmVzcG9uc2UgPSByZXNwb25zZS5yZXNvdXJjZVJlc3BvbnNl
KCk7CisgICAgZm9yIChhdXRvJiBoZWFkZXIgOiByZXNwb25zZS5oZWFkZXJzKCkuaW50ZXJuYWxI
ZWFkZXJzKCkpCisgICAgICAgIGNhY2hlZFJlc3BvbnNlLnNldEhUVFBIZWFkZXJGaWVsZChoZWFk
ZXIua2V5LCBoZWFkZXIudmFsdWUpOworCisgICAgUmVzb3VyY2VSZXF1ZXN0IGNhY2hlZFJlcXVl
c3QgPSByZXF1ZXN0LmludGVybmFsUmVxdWVzdCgpOworICAgIGNhY2hlZFJlcXVlc3Quc2V0SFRU
UEhlYWRlckZpZWxkcyhyZXF1ZXN0LmhlYWRlcnMoKS5pbnRlcm5hbEhlYWRlcnMoKSk7CisKKyAg
ICByZXR1cm4geyAwLAorICAgICAgICByZXF1ZXN0LmhlYWRlcnMoKS5ndWFyZCgpLCBXVEZNb3Zl
KGNhY2hlZFJlcXVlc3QpLCByZXF1ZXN0LmZldGNoT3B0aW9ucygpLCByZXF1ZXN0LmludGVybmFs
UmVxdWVzdFJlZmVycmVyKCksCisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMoKS5ndWFyZCgpLCBX
VEZNb3ZlKGNhY2hlZFJlc3BvbnNlKQorICAgIH07Cit9CisKK3ZvaWQgQ2FjaGU6OmJhdGNoUHV0
T3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgRmV0Y2hSZXNwb25zZSYgcmVz
cG9uc2UsIFdURjo6RnVuY3Rpb248dm9pZChDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJvcik+
JiYgY2FsbGJhY2spCit7CisgICAgVmVjdG9yPENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlY29y
ZD4gcmVjb3JkczsKKyAgICByZWNvcmRzLmFwcGVuZCh0b0Nvbm5lY3Rpb25SZWNvcmQocmVxdWVz
dCwgcmVzcG9uc2UpKTsKKworICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICBtX2Nv
bm5lY3Rpb24tPmJhdGNoUHV0T3BlcmF0aW9uKG1faWRlbnRpZmllciwgV1RGTW92ZShyZWNvcmRz
KSwgW3RoaXMsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKFZlY3Rvcjx1aW50NjRfdD4m
JiwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIHsKKyAgICAgICAgaWYgKCFt
X2lzU3RvcHBlZCkKKyAgICAgICAgICAgIGNhbGxiYWNrKGVycm9yKTsKKworICAgICAgICB1bnNl
dFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICB9KTsKK30KKwordm9pZCBDYWNoZTo6dXBkYXRl
UmVjb3JkcyhWZWN0b3I8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6UmVjb3JkPiYmIHJlY29yZHMp
Cit7CisgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CisgICAgVmVjdG9yPENh
Y2hlU3RvcmFnZVJlY29yZD4gbmV3UmVjb3JkczsKKworICAgIGZvciAoYXV0byYgcmVjb3JkIDog
cmVjb3JkcykgeworICAgICAgICBzaXplX3QgaW5kZXggPSBtX3JlY29yZHMuZmluZE1hdGNoaW5n
KFsmXShjb25zdCBhdXRvJiBpdGVtKSB7IHJldHVybiBpdGVtLmlkZW50aWZpZXIgPT0gcmVjb3Jk
LmlkZW50aWZpZXI7IH0pOworICAgICAgICBpZiAoaW5kZXggIT0gbm90Rm91bmQpCisgICAgICAg
ICAgICBuZXdSZWNvcmRzLmFwcGVuZChXVEZNb3ZlKG1fcmVjb3Jkc1tpbmRleF0pKTsKKyAgICAg
ICAgZWxzZSB7CisgICAgICAgICAgICBhdXRvIHJlcXVlc3RIZWFkZXJzID0gRmV0Y2hIZWFkZXJz
OjpjcmVhdGUocmVjb3JkLnJlcXVlc3RIZWFkZXJzR3VhcmQsIEhUVFBIZWFkZXJNYXAgeyByZWNv
cmQucmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkgfSk7CisgICAgICAgICAgICBGZXRjaFJlcXVl
c3Q6OkludGVybmFsUmVxdWVzdCBpbnRlcm5hbFJlcXVlc3QgPSB7IFdURk1vdmUocmVjb3JkLnJl
cXVlc3QpLCBXVEZNb3ZlKHJlY29yZC5vcHRpb25zKSwgV1RGTW92ZShyZWNvcmQucmVmZXJyZXIp
IH07CisgICAgICAgICAgICBhdXRvIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZSgqc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLCBzdGQ6Om51bGxvcHQsIFdURk1vdmUocmVxdWVzdEhlYWRl
cnMpLCBXVEZNb3ZlKGludGVybmFsUmVxdWVzdCkpOworCisgICAgICAgICAgICBhdXRvIHJlc3Bv
bnNlSGVhZGVycyA9IEZldGNoSGVhZGVyczo6Y3JlYXRlKHJlY29yZC5yZXNwb25zZUhlYWRlcnNH
dWFyZCwgSFRUUEhlYWRlck1hcCB7IHJlY29yZC5yZXNwb25zZS5odHRwSGVhZGVyRmllbGRzKCkg
fSk7CisgICAgICAgICAgICBhdXRvIHJlc3BvbnNlID0gRmV0Y2hSZXNwb25zZTo6Y3JlYXRlKCpz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHN0ZDo6bnVsbG9wdCwgV1RGTW92ZShyZXNwb25zZUhl
YWRlcnMpLCBXVEZNb3ZlKHJlY29yZC5yZXNwb25zZSkpOworCisgICAgICAgICAgICBuZXdSZWNv
cmRzLmFwcGVuZChDYWNoZVN0b3JhZ2VSZWNvcmQgeyByZWNvcmQuaWRlbnRpZmllciwgV1RGTW92
ZShyZXF1ZXN0KSwgV1RGTW92ZShyZXNwb25zZSkgfSk7CisgICAgICAgIH0KKyAgICB9CisgICAg
bV9yZWNvcmRzID0gV1RGTW92ZShuZXdSZWNvcmRzKTsKIH0KIAotdm9pZCBDYWNoZTo6cHV0KFJl
cXVlc3RJbmZvJiYsIFJlZjxGZXRjaFJlc3BvbnNlPiYmLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9p
ZD4mJiBwcm9taXNlKQordm9pZCBDYWNoZTo6c3RvcCgpCiB7Ci0gICAgcHJvbWlzZS5yZWplY3Qo
RXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7
CisgICAgbV9pc1N0b3BwZWQgPSB0cnVlOwogfQogCi12b2lkIENhY2hlOjpyZW1vdmUoUmVxdWVz
dEluZm8mJiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgRE9NUHJvbWlzZURl
ZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKK2NvbnN0IGNoYXIqIENhY2hlOjphY3RpdmVE
T01PYmplY3ROYW1lKCkgY29uc3QKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBU
eXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICByZXR1cm4g
IkNhY2hlIjsKIH0KIAotdm9pZCBDYWNoZTo6a2V5cyhzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZv
PiYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBLZXlzUHJvbWlzZSYmIHBy
b21pc2UpCitib29sIENhY2hlOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29u
c3QKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0
ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICByZXR1cm4gIW1fcmVjb3Jkcy5zaXplKCkg
JiYgIWhhc1BlbmRpbmdBY3Rpdml0eSgpOwogfQogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUv
Q2FjaGUuaAppbmRleCAwMDgyYWNkNTU2ZGRmNWRlZTlmNzUwNjY1YzJmNGU5ZWI5ZGQ5NjVlLi5k
OTkxYTIzNTU3MDEzYTQ1MDhiZjU0MDYwN2YxYTkxYTljZmQ5MmNlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9jYWNoZS9DYWNoZS5oCkBAIC0yNSwzNiArMjUsNjEgQEAKIAogI3ByYWdtYSBvbmNlCiAK
LSNpbmNsdWRlICJGZXRjaFJlcXVlc3QuaCIKKyNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIK
KyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiQ2FjaGVTdG9y
YWdlUmVjb3JkLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRmV0Y2hSZXNwb25z
ZTsKK2NsYXNzIENhY2hlUXVlcnlPcHRpb25zOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDsKIAotc3RydWN0IENhY2hlUXVlcnlPcHRpb25zOwotCi1jbGFzcyBDYWNoZSA6IHB1YmxpYyBS
ZWZDb3VudGVkPENhY2hlPiB7CitjbGFzcyBDYWNoZSBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVk
PENhY2hlPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJl
ZjxDYWNoZT4gY3JlYXRlKFN0cmluZyYmIG5hbWUpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2Fj
aGUoV1RGTW92ZShuYW1lKSkpOyB9CisgICAgc3RhdGljIFJlZjxDYWNoZT4gY3JlYXRlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFN0cmluZyYmIG5hbWUsIHVpbnQ2NF90IGlkZW50
aWZpZXIsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYmIGNvbm5lY3Rpb24pIHsgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgQ2FjaGUoY29udGV4dCwgV1RGTW92ZShuYW1lKSwgaWRlbnRpZmllciwg
V1RGTW92ZShjb25uZWN0aW9uKSkpOyB9CisgICAgfkNhY2hlKCk7CiAKICAgICB1c2luZyBSZXF1
ZXN0SW5mbyA9IEZldGNoUmVxdWVzdDo6SW5mbzsKIAotICAgIHVzaW5nIE1hdGNoQWxsUHJvbWlz
ZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8RmV0Y2hSZXNw
b25zZT4+PjsKICAgICB1c2luZyBLZXlzUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExT
ZXF1ZW5jZTxJRExJbnRlcmZhY2U8RmV0Y2hSZXF1ZXN0Pj4+OwogCi0gICAgdm9pZCBtYXRjaChS
ZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBSZWY8RGVm
ZXJyZWRQcm9taXNlPiYmKTsKLSAgICB2b2lkIG1hdGNoQWxsKHN0ZDo6b3B0aW9uYWw8UmVxdWVz
dEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIE1hdGNoQWxsUHJv
bWlzZSYmKTsKKyAgICB2b2lkIG1hdGNoKFJlcXVlc3RJbmZvJiYsIENhY2hlUXVlcnlPcHRpb25z
JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworICAgIHZvaWQgbWF0Y2hBbGwoc3RkOjpvcHRp
b25hbDxSZXF1ZXN0SW5mbz4mJiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgUmVmPERlZmVycmVkUHJv
bWlzZT4mJik7CiAgICAgdm9pZCBhZGQoUmVxdWVzdEluZm8mJiwgRE9NUHJvbWlzZURlZmVycmVk
PHZvaWQ+JiYpOwogCiAgICAgdm9pZCBhZGRBbGwoVmVjdG9yPFJlcXVlc3RJbmZvPiYmLCBET01Q
cm9taXNlRGVmZXJyZWQ8dm9pZD4mJik7CiAgICAgdm9pZCBwdXQoUmVxdWVzdEluZm8mJiwgUmVm
PEZldGNoUmVzcG9uc2U+JiYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKTsKLSAgICB2b2lk
IHJlbW92ZShSZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYm
LCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJik7Ci0gICAgdm9pZCBrZXlzKHN0ZDo6
b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+
JiYsIEtleXNQcm9taXNlJiYpOworICAgIHZvaWQgcmVtb3ZlKFJlcXVlc3RJbmZvJiYsIENhY2hl
UXVlcnlPcHRpb25zJiYsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmKTsKKyAgICB2
b2lkIGtleXMoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4mJiwgQ2FjaGVRdWVyeU9wdGlvbnMm
JiwgS2V5c1Byb21pc2UmJik7CisKKyAgICBjb25zdCBTdHJpbmcmIG5hbWUoKSBjb25zdCB7IHJl
dHVybiBtX25hbWU7IH0KKyAgICB1aW50NjRfdCBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4g
bV9pZGVudGlmaWVyOyB9CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgQ2FjaGUoU3RyaW5nJiYg
bmFtZSkgOiBtX25hbWUoV1RGTW92ZShuYW1lKSkgeyB9CisgICAgQ2FjaGUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYsIFN0cmluZyYmIG5hbWUsIHVpbnQ2NF90IGlkZW50aWZpZXIsIFJlZjxDYWNo
ZVN0b3JhZ2VDb25uZWN0aW9uPiYmKTsKKworICAgIGVudW0gY2xhc3MgTWF0Y2hUeXBlIHsgQWxs
LCBPbmx5Rmlyc3QgfTsKKyAgICB2b2lkIGRvTWF0Y2goc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5m
bz4mJiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiwgTWF0Y2hU
eXBlKTsKKworICAgIC8vIEFjdGl2ZURPTU9iamVjdAorICAgIHZvaWQgc3RvcCgpIGZpbmFsOwor
ICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKKyAgICBi
b29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBmaW5hbDsKKworICAg
IHZvaWQgcmV0cmlldmVSZWNvcmRzKFdURjo6RnVuY3Rpb248dm9pZCgpPiYmKTsKKyAgICBWZWN0
b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiBxdWVyeUNhY2hlV2l0aFRhcmdldFN0b3JhZ2UoY29uc3Qg
RmV0Y2hSZXF1ZXN0JiwgY29uc3QgQ2FjaGVRdWVyeU9wdGlvbnMmLCBjb25zdCBWZWN0b3I8Q2Fj
aGVTdG9yYWdlUmVjb3JkPiYpOworICAgIHZvaWQgcXVlcnlDYWNoZShSZWY8RmV0Y2hSZXF1ZXN0
PiYmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBXVEY6OkZ1bmN0aW9uPHZvaWQoY29uc3QgVmVjdG9y
PENhY2hlU3RvcmFnZVJlY29yZD4mKT4mJik7CisgICAgdm9pZCBiYXRjaERlbGV0ZU9wZXJhdGlv
bihjb25zdCBGZXRjaFJlcXVlc3QmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBXVEY6OkZ1bmN0aW9u
PHZvaWQoYm9vbCBkaWRSZW1vdmFsLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJvcik+JiYp
OworICAgIHZvaWQgYmF0Y2hQdXRPcGVyYXRpb24oY29uc3QgRmV0Y2hSZXF1ZXN0JiwgRmV0Y2hS
ZXNwb25zZSYsIFdURjo6RnVuY3Rpb248dm9pZChDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJv
cik+JiYpOworCisgICAgdm9pZCB1cGRhdGVSZWNvcmRzKFZlY3RvcjxDYWNoZVN0b3JhZ2VDb25u
ZWN0aW9uOjpSZWNvcmQ+JiYpOwogCiAgICAgU3RyaW5nIG1fbmFtZTsKKyAgICB1aW50NjRfdCBt
X2lkZW50aWZpZXI7CisgICAgUmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IG1fY29ubmVjdGlv
bjsKKworICAgIFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+IG1fcmVjb3JkczsKKyAgICBib29s
IG1faXNTdG9wcGVkIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaWRsIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5pZGwKaW5kZXggZDQ3OTY5MTU1ZDIwYTRmN2Jm
YTM4YTZkYzBiMmRmMzIyNTZhOTRlMC4uMWU3ZGY2Y2FkMjM0YzgwYTY1Mjg0MmFiZDg4MzhiYjY5
ZjcxYWI3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5pZGwKQEAgLTI5LDcg
KzI5LDYgQEAgdHlwZWRlZiAoRmV0Y2hSZXF1ZXN0IG9yIFVTVlN0cmluZykgUmVxdWVzdEluZm87
CiAgICAgU2VjdXJlQ29udGV4dCwKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKICAgICBF
bmFibGVkQXRSdW50aW1lPUNhY2hlQVBJLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUs
CiBdIGludGVyZmFjZSBDYWNoZSB7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxhbnk+IG1hdGNo
KFJlcXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25zIG9wdGlvbnMp
OwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8c2VxdWVuY2U8RmV0Y2hSZXNwb25zZT4+IG1hdGNo
QWxsKG9wdGlvbmFsIFJlcXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRp
b25zIG9wdGlvbnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9D
YWNoZVF1ZXJ5T3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVF1
ZXJ5T3B0aW9ucy5oCmluZGV4IDY4ZjY3ZmFjZjM1Njg3MWVlZjRlNTU0Njk1OGI3MjdhNjU5MzY5
M2IuLjRmOGI0ZGVlY2ExYTdkZjY4MTQ1NzA0MDAwYTZhNjFhYzBjYjE5MGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVRdWVyeU9wdGlvbnMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlUXVlcnlPcHRpb25zLmgKQEAgLTI5LDcg
KzI5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdHJ1Y3QgQ2FjaGVRdWVyeU9wdGlv
bnMgeworY2xhc3MgQ2FjaGVRdWVyeU9wdGlvbnMgeworcHVibGljOgogICAgIGJvb2wgaWdub3Jl
U2VhcmNoIHsgZmFsc2UgfTsKICAgICBib29sIGlnbm9yZU1ldGhvZCB7IGZhbHNlIH07CiAgICAg
Ym9vbCBpZ25vcmVWYXJ5IHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvQ2FjaGVTdG9yYWdlLmNwcAppbmRleCAxMjM2N2JlOTY2ZTFlM2EyOGE5ZTI5ZGJmZTRiODNi
ZDVhY2RlY2M2Li5hMGMyOWRlOWJkNDIzYmU1YTI0NGQ2YmRjMTg3MTRlMThlNmZjOTdjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuY3BwCkBAIC0yNiwz
MSArMjYsMTQ2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ2FjaGVTdG9yYWdl
LmgiCiAKKyNpbmNsdWRlICJDYWNoZVF1ZXJ5T3B0aW9ucy5oIgorI2luY2x1ZGUgIkpTQ2FjaGUu
aCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCisKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotdm9pZCBDYWNoZVN0b3JhZ2U6Om1hdGNoKFJlcXVlc3RJbmZvJiYsIHN0ZDo6b3B0
aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlz
ZSkKK0NhY2hlU3RvcmFnZTo6Q2FjaGVTdG9yYWdlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYmIGNvbm5lY3Rpb24pCisgICAgOiBB
Y3RpdmVET01PYmplY3QoJmNvbnRleHQpCisgICAgLCBtX2Nvbm5lY3Rpb24oV1RGTW92ZShjb25u
ZWN0aW9uKSkKK3sKKyAgICBzdXNwZW5kSWZOZWVkZWQoKTsKK30KKworU3RyaW5nIENhY2hlU3Rv
cmFnZTo6b3JpZ2luKCkgY29uc3QKK3sKKyAgICAvLyBGSVhNRTogRG8gd2UgcmVhbGx5IG5lZWQg
dG8gY2hlY2sgZm9yIG9yaWdpbiBiZWluZyBudWxsPworICAgIGF1dG8qIG9yaWdpbiA9IHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSA/IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlP
cmlnaW4oKSA6IG51bGxwdHI7CisgICAgcmV0dXJuIG9yaWdpbiA/IG9yaWdpbi0+dG9TdHJpbmco
KSA6IFN0cmluZygpOworfQorCit2b2lkIENhY2hlU3RvcmFnZTo6bWF0Y2goQ2FjaGU6OlJlcXVl
c3RJbmZvJiYsIENhY2hlUXVlcnlPcHRpb25zJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJv
bWlzZSkKIHsKLSAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJ
SUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgcHJvbWlzZS0+cmVqZWN0KEV4Y2Vw
dGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIp
fSk7CiB9CiAKLXZvaWQgQ2FjaGVTdG9yYWdlOjpoYXMoY29uc3QgU3RyaW5nJiwgRE9NUHJvbWlz
ZURlZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKK3ZvaWQgQ2FjaGVTdG9yYWdlOjpoYXMo
Y29uc3QgU3RyaW5nJiBuYW1lLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9t
aXNlKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlM
aXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHJldHJpZXZlQ2FjaGVzKFt0aGlzLCBu
YW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgcHJv
bWlzZS5yZXNvbHZlKG1fY2FjaGVzLmZpbmRNYXRjaGluZyhbJl0oYXV0byYgaXRlbSkgeyByZXR1
cm4gaXRlbS0+bmFtZSgpID09IG5hbWU7IH0pICE9IG5vdEZvdW5kKTsKKyAgICB9KTsKK30KKwor
dm9pZCBDYWNoZVN0b3JhZ2U6OnJldHJpZXZlQ2FjaGVzKFdURjo6RnVuY3Rpb248dm9pZCgpPiYm
IGNhbGxiYWNrKQoreworICAgIFN0cmluZyBvcmlnaW4gPSB0aGlzLT5vcmlnaW4oKTsKKyAgICBp
ZiAob3JpZ2luLmlzTnVsbCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBzZXRQZW5kaW5nQWN0
aXZpdHkodGhpcyk7CisgICAgbV9jb25uZWN0aW9uLT5yZXRyaWV2ZUNhY2hlcyhvcmlnaW4sIFt0
aGlzLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShWZWN0b3I8Q2FjaGVTdG9yYWdlQ29u
bmVjdGlvbjo6Q2FjaGVJbmZvPiYmIGNhY2hlc0luZm8pIHsKKyAgICAgICAgaWYgKCFtX2lzU3Rv
cHBlZCkgeworICAgICAgICAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Cisg
ICAgICAgICAgICBtX2NhY2hlcy5yZW1vdmVBbGxNYXRjaGluZyhbJl0oYXV0byYgY2FjaGUpIHsK
KyAgICAgICAgICAgICAgICByZXR1cm4gY2FjaGVzSW5mby5maW5kTWF0Y2hpbmcoWyZdKGNvbnN0
IGF1dG8mIGluZm8pIHsgcmV0dXJuIGluZm8uaWRlbnRpZmllciA9PSBjYWNoZS0+aWRlbnRpZmll
cigpOyB9KSA9PSBub3RGb3VuZDsKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgZm9yIChh
dXRvJiBpbmZvIDogY2FjaGVzSW5mbykgeworICAgICAgICAgICAgICAgIGlmIChtX2NhY2hlcy5m
aW5kTWF0Y2hpbmcoWyZdKGNvbnN0IGF1dG8mIGNhY2hlKSB7IHJldHVybiBpbmZvLmlkZW50aWZp
ZXIgPT0gY2FjaGUtPmlkZW50aWZpZXIoKTsgfSkgPT0gbm90Rm91bmQpCisgICAgICAgICAgICAg
ICAgICAgIG1fY2FjaGVzLmFwcGVuZChDYWNoZTo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCksIFdURk1vdmUoaW5mby5uYW1lKSwgaW5mby5pZGVudGlmaWVyLCBtX2Nvbm5lY3Rpb24u
Y29weVJlZigpKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHN0ZDo6c29ydChtX2Nh
Y2hlcy5iZWdpbigpLCBtX2NhY2hlcy5lbmQoKSwgWyZdKGF1dG8mIGEsIGF1dG8mIGIpIHsKKyAg
ICAgICAgICAgICAgICByZXR1cm4gYS0+aWRlbnRpZmllcigpIDwgYi0+aWRlbnRpZmllcigpOwor
ICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIGNhbGxiYWNrKCk7CisgICAgICAgIH0KKyAg
ICAgICAgdW5zZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgfSk7CiB9CiAKLXZvaWQgQ2Fj
aGVTdG9yYWdlOjpvcGVuKGNvbnN0IFN0cmluZyYsIERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRl
cmZhY2U8Q2FjaGU+PiYmIHByb21pc2UpCit2b2lkIENhY2hlU3RvcmFnZTo6b3Blbihjb25zdCBT
dHJpbmcmIG5hbWUsIERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8Q2FjaGU+PiYmIHBy
b21pc2UpCiB7Ci0gICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJ
SUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgcmV0cmlldmVDYWNoZXMoW3RoaXMs
IG5hbWUsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSgpIG11dGFibGUgeworICAgICAgICBh
dXRvIHBvc2l0aW9uID0gbV9jYWNoZXMuZmluZE1hdGNoaW5nKFsmXShhdXRvJiBpdGVtKSB7IHJl
dHVybiBpdGVtLT5uYW1lKCkgPT0gbmFtZTsgfSk7CisgICAgICAgIGlmIChwb3NpdGlvbiAhPSBu
b3RGb3VuZCkgeworICAgICAgICAgICAgYXV0byYgY2FjaGUgPSBtX2NhY2hlc1twb3NpdGlvbl07
CisgICAgICAgICAgICBwcm9taXNlLnJlc29sdmUoQ2FjaGU6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpLCBTdHJpbmcgeyBjYWNoZS0+bmFtZSgpIH0sIGNhY2hlLT5pZGVudGlmaWVy
KCksIG1fY29ubmVjdGlvbi5jb3B5UmVmKCkpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgfQorCisgICAgICAgIFN0cmluZyBvcmlnaW4gPSB0aGlzLT5vcmlnaW4oKTsKKyAgICAgICAg
QVNTRVJUKCFvcmlnaW4uaXNOdWxsKCkpOworCisgICAgICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0
aGlzKTsKKyAgICAgICAgbV9jb25uZWN0aW9uLT5vcGVuKG9yaWdpbiwgbmFtZSwgW3RoaXMsIG5h
bWUsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSh1aW50NjRfdCBjYWNoZUlkZW50aWZpZXIs
IENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yIGVycm9yKSBtdXRhYmxlIHsKKyAgICAgICAg
ICAgIGlmICghbV9pc1N0b3BwZWQpIHsKKyAgICAgICAgICAgICAgICBpZiAoZXJyb3IgIT0gQ2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3I6Ok5vbmUpCisgICAgICAgICAgICAgICAgICAgIHBy
b21pc2UucmVqZWN0KENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlvbkZyb21FcnJvcihl
cnJvcikpOworICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgICAgICBhdXRv
IGNhY2hlID0gQ2FjaGU6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBTdHJpbmcg
eyBuYW1lIH0sIGNhY2hlSWRlbnRpZmllciwgbV9jb25uZWN0aW9uLmNvcHlSZWYoKSk7CisgICAg
ICAgICAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShjYWNoZSk7CisgICAgICAgICAgICAgICAg
ICAgIG1fY2FjaGVzLmFwcGVuZChXVEZNb3ZlKGNhY2hlKSk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgdW5zZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7Cisg
ICAgICAgIH0pOworICAgIH0pOwogfQogCi12b2lkIENhY2hlU3RvcmFnZTo6cmVtb3ZlKGNvbnN0
IFN0cmluZyYsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmIHByb21pc2UpCit2b2lk
IENhY2hlU3RvcmFnZTo6cmVtb3ZlKGNvbnN0IFN0cmluZyYgbmFtZSwgRE9NUHJvbWlzZURlZmVy
cmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRp
b24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICBy
ZXRyaWV2ZUNhY2hlcyhbdGhpcywgbmFtZSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkg
bXV0YWJsZSB7CisgICAgICAgIGF1dG8gcG9zaXRpb24gPSBtX2NhY2hlcy5maW5kTWF0Y2hpbmco
WyZdKGF1dG8mIGl0ZW0pIHsgcmV0dXJuIGl0ZW0tPm5hbWUoKSA9PSBuYW1lOyB9KTsKKyAgICAg
ICAgaWYgKHBvc2l0aW9uID09IG5vdEZvdW5kKSB7CisgICAgICAgICAgICBwcm9taXNlLnJlc29s
dmUoZmFsc2UpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgU3Ry
aW5nIG9yaWdpbiA9IHRoaXMtPm9yaWdpbigpOworICAgICAgICBBU1NFUlQoIW9yaWdpbi5pc051
bGwoKSk7CisKKyAgICAgICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgICAgICBtX2Nv
bm5lY3Rpb24tPnJlbW92ZShtX2NhY2hlc1twb3NpdGlvbl0tPmlkZW50aWZpZXIoKSwgW3RoaXMs
IG5hbWUsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSh1aW50NjRfdCBjYWNoZUlkZW50aWZp
ZXIsIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yIGVycm9yKSBtdXRhYmxlIHsKKyAgICAg
ICAgICAgIFVOVVNFRF9QQVJBTShjYWNoZUlkZW50aWZpZXIpOworICAgICAgICAgICAgaWYgKCFt
X2lzU3RvcHBlZCkgeworICAgICAgICAgICAgICAgIGlmIChlcnJvciAhPSBDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uOjpFcnJvcjo6Tm9uZSkKKyAgICAgICAgICAgICAgICAgICAgcHJvbWlzZS5yZWpl
Y3QoQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9yKGVycm9yKSk7Cisg
ICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBwcm9taXNlLnJlc29sdmUo
dHJ1ZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0
aGlzKTsKKyAgICAgICAgfSk7CisgICAgICAgIG1fY2FjaGVzLnJlbW92ZShwb3NpdGlvbik7Cisg
ICAgfSk7CiB9CiAKIHZvaWQgQ2FjaGVTdG9yYWdlOjprZXlzKEtleXNQcm9taXNlJiYgcHJvbWlz
ZSkKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0
ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICByZXRyaWV2ZUNhY2hlcyhbdGhpcywgcHJv
bWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgIFZlY3RvcjxTdHJp
bmc+IGtleXM7CisgICAgICAgIGtleXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShtX2NhY2hlcy5z
aXplKCkpOworICAgICAgICBmb3IgKGF1dG8mIGNhY2hlIDogbV9jYWNoZXMpCisgICAgICAgICAg
ICBrZXlzLnVuY2hlY2tlZEFwcGVuZChjYWNoZS0+bmFtZSgpKTsKKyAgICAgICAgcHJvbWlzZS5y
ZXNvbHZlKGtleXMpOworICAgIH0pOworfQorCit2b2lkIENhY2hlU3RvcmFnZTo6c3RvcCgpCit7
CisgICAgbV9pc1N0b3BwZWQgPSB0cnVlOworfQorCitjb25zdCBjaGFyKiBDYWNoZVN0b3JhZ2U6
OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAoreworICAgIHJldHVybiAiQ2FjaGVTdG9yYWdl
IjsKK30KKworYm9vbCBDYWNoZVN0b3JhZ2U6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNp
b24oKSBjb25zdAoreworICAgIHJldHVybiAhaGFzUGVuZGluZ0FjdGl2aXR5KCk7CiB9CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2FjaGUvQ2FjaGVTdG9yYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hl
U3RvcmFnZS5oCmluZGV4IGZhMjY5MDAwMzZjMzI2NzM2NjIxZmNiODM3Yzc3NzFlYWE4ZDgyMjMu
LjI2MTdlMjU4NTJjNmVhZTY3MDlmNzhkMGNmY2M1MzY2YzdiZjg2YWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaApAQCAtMjUsMjkgKzI1LDQyIEBACiAK
ICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQ2FjaGUuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiRmV0Y2hSZXF1ZXN0LmgiCisjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDYWNoZTsKK2NsYXNz
IENhY2hlUXVlcnlPcHRpb25zOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAotc3Ry
dWN0IENhY2hlUXVlcnlPcHRpb25zOwotCi1jbGFzcyBDYWNoZVN0b3JhZ2UgOiBwdWJsaWMgUmVm
Q291bnRlZDxDYWNoZVN0b3JhZ2U+IHsKK2NsYXNzIENhY2hlU3RvcmFnZSA6IHB1YmxpYyBSZWZD
b3VudGVkPENhY2hlU3RvcmFnZT4sIHB1YmxpYyBBY3RpdmVET01PYmplY3QgewogcHVibGljOgot
ICAgIHN0YXRpYyBSZWY8Q2FjaGVTdG9yYWdlPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigq
bmV3IENhY2hlU3RvcmFnZSgpKTsgfQorICAgIHN0YXRpYyBSZWY8Q2FjaGVTdG9yYWdlPiBjcmVh
dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgUmVmPENhY2hlU3RvcmFnZUNvbm5l
Y3Rpb24+JiYgY29ubmVjdGlvbikgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNoZVN0b3JhZ2Uo
Y29udGV4dCwgV1RGTW92ZShjb25uZWN0aW9uKSkpOyB9CiAKLSAgICB1c2luZyBSZXF1ZXN0SW5m
byA9IEZldGNoUmVxdWVzdDo6SW5mbzsKICAgICB1c2luZyBLZXlzUHJvbWlzZSA9IERPTVByb21p
c2VEZWZlcnJlZDxJRExTZXF1ZW5jZTxJRExET01TdHJpbmc+PjsKIAotICAgIHZvaWQgbWF0Y2go
UmVxdWVzdEluZm8mJiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgUmVmPERl
ZmVycmVkUHJvbWlzZT4mJik7CisgICAgdm9pZCBtYXRjaChDYWNoZTo6UmVxdWVzdEluZm8mJiwg
Q2FjaGVRdWVyeU9wdGlvbnMmJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAgICAgdm9pZCBo
YXMoY29uc3QgU3RyaW5nJiwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYpOwogICAg
IHZvaWQgb3Blbihjb25zdCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNl
PENhY2hlPj4mJik7CiAgICAgdm9pZCByZW1vdmUoY29uc3QgU3RyaW5nJiwgRE9NUHJvbWlzZURl
ZmVycmVkPElETEJvb2xlYW4+JiYpOwogICAgIHZvaWQga2V5cyhLZXlzUHJvbWlzZSYmKTsKIAog
cHJpdmF0ZToKLSAgICBDYWNoZVN0b3JhZ2UoKSA9IGRlZmF1bHQ7CisgICAgQ2FjaGVTdG9yYWdl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4mJik7
CisKKyAgICAvLyBBY3RpdmVET01PYmplY3QKKyAgICB2b2lkIHN0b3AoKSBmaW5hbDsKKyAgICBj
b25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7CisgICAgYm9vbCBj
YW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QgZmluYWw7CisKKyAgICB2b2lk
IHJldHJpZXZlQ2FjaGVzKFdURjo6RnVuY3Rpb248dm9pZCgpPiYmKTsKKyAgICBTdHJpbmcgb3Jp
Z2luKCkgY29uc3Q7CisKKyAgICBWZWN0b3I8UmVmPENhY2hlPj4gbV9jYWNoZXM7CisgICAgUmVm
PENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKKyAgICBib29sIG1faXNTdG9w
cGVkIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmlkbAppbmRleCA4ZDcxZTA5MDNlNzZl
MWE0YjYyYmZiNmYwMjg0OTZmYjk4NmYwNjJhLi5iNDQ2YWVhNzdmYzcwNWYwY2MwMTY3Y2U0YTZm
NmZlMTA3NTcyMGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0Nh
Y2hlU3RvcmFnZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0
b3JhZ2UuaWRsCkBAIC0yOSw3ICsyOSw2IEBAIHR5cGVkZWYgKEZldGNoUmVxdWVzdCBvciBVU1ZT
dHJpbmcpIFJlcXVlc3RJbmZvOwogICAgIFNlY3VyZUNvbnRleHQsCiAgICAgRXhwb3NlZD0oV2lu
ZG93LFdvcmtlciksCiAgICAgRW5hYmxlZEF0UnVudGltZT1DYWNoZUFQSSwKLSAgICBJbXBsZW1l
bnRhdGlvbkxhY2tzVlRhYmxlLAogXSBpbnRlcmZhY2UgQ2FjaGVTdG9yYWdlIHsKICAgICBbTmV3
T2JqZWN0XSBQcm9taXNlPGFueT4gbWF0Y2goUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwg
Q2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9ucyk7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxib29s
ZWFuPiBoYXMoRE9NU3RyaW5nIGNhY2hlTmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MTA0Mjc0M2JmYjMwNWY4ZWZmMDdjZWQ2Y2RhNzQzMjdhOTFlNDBiCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNw
cApAQCAtMCwwICsxLDgxIEBACisKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIgorCisjaW5jbHVkZSAiQ2FjaGVRdWVy
eU9wdGlvbnMuaCIKKyNpbmNsdWRlICJFeGNlcHRpb24uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitFeGNlcHRpb24gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9y
KEVycm9yIGVycm9yKQoreworICAgIEFTU0VSVChlcnJvciAhPSBFcnJvcjo6Tm9uZSk7CisKKyAg
ICBzd2l0Y2ggKGVycm9yKSB7CisgICAgY2FzZSBFcnJvcjo6Tm90SW1wbGVtZW50ZWQ6CisgICAg
ICAgIHJldHVybiBFeGNlcHRpb24geyBOb3RTdXBwb3J0ZWRFcnJvciwgQVNDSUlMaXRlcmFsKCJO
b3QgaW1wbGVtZW50ZWQiKSB9OworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBFeGNlcHRp
b24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiVW5rbm93biBlcnJvciIpIH07CisgICAgfTsK
K30KKworYm9vbCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpxdWVyeUNhY2hlTWF0Y2goY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGNhY2hlZFJl
cXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGNhY2hlZFJlc3BvbnNlLCBjb25zdCBDYWNo
ZVF1ZXJ5T3B0aW9ucyYgb3B0aW9ucykKK3sKKyAgICBBU1NFUlQob3B0aW9ucy5pZ25vcmVNZXRo
b2QgfHwgcmVxdWVzdC5odHRwTWV0aG9kKCkgPT0gIkdFVCIpOworCisgICAgVVJMIHJlcXVlc3RV
UkwgPSByZXF1ZXN0LnVybCgpOworICAgIFVSTCBjYWNoZWRSZXF1ZXN0VVJMID0gY2FjaGVkUmVx
dWVzdC51cmwoKTsKKworICAgIGlmIChvcHRpb25zLmlnbm9yZVNlYXJjaCkgeworICAgICAgICBy
ZXF1ZXN0VVJMLnNldFF1ZXJ5KHsgfSk7CisgICAgICAgIGNhY2hlZFJlcXVlc3RVUkwuc2V0UXVl
cnkoeyB9KTsKKyAgICB9CisgICAgaWYgKCFlcXVhbElnbm9yaW5nRnJhZ21lbnRJZGVudGlmaWVy
KHJlcXVlc3RVUkwsIGNhY2hlZFJlcXVlc3RVUkwpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBpZiAob3B0aW9ucy5pZ25vcmVWYXJ5KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAg
IFN0cmluZyB2YXJ5VmFsdWUgPSBjYWNoZWRSZXNwb25zZS5odHRwSGVhZGVyRmllbGQoV2ViQ29y
ZTo6SFRUUEhlYWRlck5hbWU6OlZhcnkpOworICAgIGlmICh2YXJ5VmFsdWUuaXNOdWxsKCkpCisg
ICAgICAgIHJldHVybiB0cnVlOworCisgICAgVmVjdG9yPFN0cmluZz4gdmFyeWluZ0hlYWRlck5h
bWVzOworICAgIHZhcnlWYWx1ZS5zcGxpdCgnLCcsIHZhcnlpbmdIZWFkZXJOYW1lcyk7CisKKyAg
ICBmb3IgKGF1dG8mIG5hbWUgOiB2YXJ5aW5nSGVhZGVyTmFtZXMpIHsKKyAgICAgICAgaWYgKG5h
bWUgPT0gIioiKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoY2FjaGVk
UmVxdWVzdC5odHRwSGVhZGVyRmllbGQobmFtZSkgIT0gcmVxdWVzdC5odHRwSGVhZGVyRmllbGQo
bmFtZSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHJldHVybiB0cnVl
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODRm
NjFmYmIxODA2NThhYjRkMGY3NTQ4OTI0YzBlMDYzMDQ3YmI2YQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oCkBA
IC0wLDAgKzEsODggQEAKKworLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAi
RmV0Y2hIZWFkZXJzLmgiCisjaW5jbHVkZSAiRmV0Y2hPcHRpb25zLmgiCisjaW5jbHVkZSAiUmVz
b3VyY2VSZXF1ZXN0LmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgorI2luY2x1ZGUg
PHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIENhY2hlUXVlcnlPcHRpb25zOworCitjbGFzcyBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uIDog
cHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IHsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IGNyZWF0ZSgpIHsg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbigpKTsgfQorICAgIHZp
cnR1YWwgfkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24oKSA9IGRlZmF1bHQ7CisKKyAgICBlbnVtIGNs
YXNzIEVycm9yIHsKKyAgICAgICAgTm9uZSwKKyAgICAgICAgTm90SW1wbGVtZW50ZWQsCisgICAg
fTsKKworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIHF1ZXJ5Q2FjaGVNYXRjaChjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgY2FjaGVk
UmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IENhY2hlUXVlcnlPcHRpb25z
Jik7CisKKyAgICBzdGF0aWMgRXhjZXB0aW9uIGV4Y2VwdGlvbkZyb21FcnJvcihFcnJvcik7CisK
KyAgICBzdHJ1Y3QgUmVjb3JkIHsKKyAgICAgICAgdWludDY0X3QgaWRlbnRpZmllcjsKKworICAg
ICAgICBGZXRjaEhlYWRlcnM6Okd1YXJkIHJlcXVlc3RIZWFkZXJzR3VhcmQ7CisgICAgICAgIFJl
c291cmNlUmVxdWVzdCByZXF1ZXN0OworICAgICAgICBGZXRjaE9wdGlvbnMgb3B0aW9uczsKKyAg
ICAgICAgU3RyaW5nIHJlZmVycmVyOworCisgICAgICAgIEZldGNoSGVhZGVyczo6R3VhcmQgcmVz
cG9uc2VIZWFkZXJzR3VhcmQ7CisgICAgICAgIFJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2U7Cisg
ICAgfTsKKworICAgIHN0cnVjdCBDYWNoZUluZm8geworICAgICAgICB1aW50NjRfdCBpZGVudGlm
aWVyOworICAgICAgICBTdHJpbmcgbmFtZTsKKyAgICB9OworCisgICAgdXNpbmcgT3BlblJlbW92
ZUNhbGxiYWNrID0gV1RGOjpGdW5jdGlvbjx2b2lkKHVpbnQ2NF90LCBFcnJvcik+OworICAgIHVz
aW5nIENhY2hlTWFwQ2FsbGJhY2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoVmVjdG9yPENhY2hlSW5m
bz4mJik+OworICAgIHVzaW5nIFJlY29yZHNDYWxsYmFjayA9IFdURjo6RnVuY3Rpb248dm9pZChW
ZWN0b3I8UmVjb3JkPiYmKT47CisgICAgdXNpbmcgQmF0Y2hPcGVyYXRpb25DYWxsYmFjayA9IFdU
Rjo6RnVuY3Rpb248dm9pZChWZWN0b3I8dWludDY0X3Q+JiYsIEVycm9yKT47CisKKyAgICB2aXJ0
dWFsIHZvaWQgb3Blbihjb25zdCBTdHJpbmcmIC8qIG9yaWdpbiAqLywgY29uc3QgU3RyaW5nJiAv
KiBjYWNoZU5hbWUgKi8sIE9wZW5SZW1vdmVDYWxsYmFjayYmIGNhbGxiYWNrKSB7IGNhbGxiYWNr
KDAsIEVycm9yOjpOb3RJbXBsZW1lbnRlZCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlKHVp
bnQ2NF90IC8qIGNhY2hlSWRlbnRpZmllciAqLywgT3BlblJlbW92ZUNhbGxiYWNrJiYgY2FsbGJh
Y2spIHsgY2FsbGJhY2soMCwgRXJyb3I6Ok5vdEltcGxlbWVudGVkKTsgfQorICAgIHZpcnR1YWwg
dm9pZCByZXRyaWV2ZUNhY2hlcyhjb25zdCBTdHJpbmcmIC8qIG9yaWdpbiAqLywgQ2FjaGVNYXBD
YWxsYmFjayYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKHsgfSk7IH0KKworICAgIHZpcnR1YWwgdm9p
ZCByZXRyaWV2ZVJlY29yZHModWludDY0X3QgLyogY2FjaGVJZGVudGlmaWVyICovLCBSZWNvcmRz
Q2FsbGJhY2smJiBjYWxsYmFjaykgeyBjYWxsYmFjayh7IH0pOyB9CisgICAgdmlydHVhbCB2b2lk
IGJhdGNoRGVsZXRlT3BlcmF0aW9uKHVpbnQ2NF90IC8qIGNhY2hlSWRlbnRpZmllciAqLywgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgQmF0Y2hPcGVyYXRpb25D
YWxsYmFjayYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKHsgfSwgRXJyb3I6Ok5vdEltcGxlbWVudGVk
KTsgfQorICAgIHZpcnR1YWwgdm9pZCBiYXRjaFB1dE9wZXJhdGlvbih1aW50NjRfdCAvKiBjYWNo
ZUlkZW50aWZpZXIgKi8sIFZlY3RvcjxSZWNvcmQ+JiYsIEJhdGNoT3BlcmF0aW9uQ2FsbGJhY2sm
JiBjYWxsYmFjaykgeyBjYWxsYmFjayh7IH0sIEVycm9yOjpOb3RJbXBsZW1lbnRlZCk7IH0KKwor
cHJvdGVjdGVkOgorICAgIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24oKSA9ICBkZWZhdWx0OworfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZVJlY29yZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9jYWNoZS9DYWNoZVN0b3JhZ2VSZWNvcmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMGE2YWNlNGJhNGMwOTFk
YzA5YTVkNDU1ZGY2YWM3Y2E1Y2FhMjdiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VSZWNvcmQuaApAQCAtMCwwICsxLDQwIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJGZXRjaFJlcXVlc3QuaCIKKyNp
bmNsdWRlICJGZXRjaFJlc3BvbnNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0
IENhY2hlU3RvcmFnZVJlY29yZCB7CisgICAgdWludDY0X3QgaWRlbnRpZmllcjsKKworICAgIFJl
ZjxGZXRjaFJlcXVlc3Q+IHJlcXVlc3Q7CisgICAgUmVmPEZldGNoUmVzcG9uc2U+IHJlc3BvbnNl
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwCmluZGV4IDg2NjVjNTU2NzJlYTVmNDZiMDlk
NGY5YjA3NWE2OTYyYzU5NTFlZDEuLjQzNTllYzFhYTQyYmM3ZTljMDE1MjRlMmVjNTgzM2ZiNjhh
Y2M5ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NV2luZG93
Q2FjaGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0Nh
Y2hlcy5jcHAKQEAgLTI3LDcgKzI3LDExIEBACiAjaW5jbHVkZSAiRE9NV2luZG93Q2FjaGVzLmgi
CiAKICNpbmNsdWRlICJDYWNoZVN0b3JhZ2UuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VQcm92
aWRlci5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkRvY3VtZW50LmgiCisj
aW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtNTQsMTMgKzU4LDE2IEBAIERPTVdpbmRvd0NhY2hlcyogRE9NV2luZG93Q2FjaGVz
Ojpmcm9tKERPTVdpbmRvdyogd2luZG93KQogCiBDYWNoZVN0b3JhZ2UqIERPTVdpbmRvd0NhY2hl
czo6Y2FjaGVzKERPTVdpbmRvdyYgd2luZG93KQogeworICAgIGlmICghd2luZG93LmlzQ3VycmVu
dGx5RGlzcGxheWVkSW5GcmFtZSgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKwogICAgIHJl
dHVybiBET01XaW5kb3dDYWNoZXM6OmZyb20oJndpbmRvdyktPmNhY2hlcygpOwogfQogCiBDYWNo
ZVN0b3JhZ2UqIERPTVdpbmRvd0NhY2hlczo6Y2FjaGVzKCkgY29uc3QKIHsKLSAgICBpZiAoIW1f
Y2FjaGVzICYmIGZyYW1lKCkpCi0gICAgICAgIG1fY2FjaGVzID0gQ2FjaGVTdG9yYWdlOjpjcmVh
dGUoKTsKKyAgICBpZiAoIW1fY2FjaGVzICYmIGZyYW1lKCkgJiYgZnJhbWUoKS0+cGFnZSgpICYm
IGZyYW1lKCktPmRvY3VtZW50KCkpCisgICAgICAgIG1fY2FjaGVzID0gQ2FjaGVTdG9yYWdlOjpj
cmVhdGUoKmZyYW1lKCktPmRvY3VtZW50KCksIGZyYW1lKCktPnBhZ2UoKS0+Y2FjaGVTdG9yYWdl
UHJvdmlkZXIoKS5jcmVhdGVDYWNoZVN0b3JhZ2VDb25uZWN0aW9uKGZyYW1lKCktPnBhZ2UoKS0+
c2Vzc2lvbklEKCkpKTsKICAgICByZXR1cm4gbV9jYWNoZXMuZ2V0KCk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hl
cy5jcHAKaW5kZXggMDUxNjk4ZTdjNmU1NzkwY2QyNzBhMzE4MGZmZWI0M2M3ZDdkZWFhYS4uYzUz
OWNkZTYzYjRiNGQyNzcxYzY5Y2ZmN2Q1OWI3ZjEyNTg1YjgxOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAK
QEAgLTQwLDcgKzQwLDcgQEAgV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMqIFdvcmtlckdsb2JhbFNj
b3BlQ2FjaGVzOjpmcm9tKFdvcmtlckdsb2JhbFNjb3BlJiBzY29wZSkKIHsKICAgICBhdXRvKiBz
dXBwbGVtZW50ID0gc3RhdGljX2Nhc3Q8V29ya2VyR2xvYmFsU2NvcGVDYWNoZXMqPihTdXBwbGVt
ZW50PFdvcmtlckdsb2JhbFNjb3BlPjo6ZnJvbSgmc2NvcGUsIHN1cHBsZW1lbnROYW1lKCkpKTsK
ICAgICBpZiAoIXN1cHBsZW1lbnQpIHsKLSAgICAgICAgYXV0byBuZXdTdXBwbGVtZW50ID0gc3Rk
OjptYWtlX3VuaXF1ZTxXb3JrZXJHbG9iYWxTY29wZUNhY2hlcz4oKTsKKyAgICAgICAgYXV0byBu
ZXdTdXBwbGVtZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxXb3JrZXJHbG9iYWxTY29wZUNhY2hlcz4o
c2NvcGUpOwogICAgICAgICBzdXBwbGVtZW50ID0gbmV3U3VwcGxlbWVudC5nZXQoKTsKICAgICAg
ICAgcHJvdmlkZVRvKCZzY29wZSwgc3VwcGxlbWVudE5hbWUoKSwgV1RGTW92ZShuZXdTdXBwbGVt
ZW50KSk7CiAgICAgfQpAQCAtNTUsNyArNTUsNyBAQCBDYWNoZVN0b3JhZ2UqIFdvcmtlckdsb2Jh
bFNjb3BlQ2FjaGVzOjpjYWNoZXMoV29ya2VyR2xvYmFsU2NvcGUmIHNjb3BlKQogQ2FjaGVTdG9y
YWdlKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6Y2FjaGVzKCkgY29uc3QKIHsKICAgICBpZiAo
IW1fY2FjaGVzKQotICAgICAgICBtX2NhY2hlcyA9IENhY2hlU3RvcmFnZTo6Y3JlYXRlKCk7Cisg
ICAgICAgIG1fY2FjaGVzID0gQ2FjaGVTdG9yYWdlOjpjcmVhdGUobV9zY29wZSwgQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbjo6Y3JlYXRlKCkpOwogICAgIHJldHVybiBtX2NhY2hlcy5nZXQoKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxT
Y29wZUNhY2hlcy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxT
Y29wZUNhY2hlcy5oCmluZGV4IDc5NWViZDYxOWUyNDIxZDRjZWIxYjc4Y2RlZTQzM2UxMjM1MTQ4
NmQuLmY2Y2M4NTFlMDg1ZTFkM2E1YzIzY2FjNmViN2QzZTZmYWMzOTc2NDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVz
LmgKQEAgLTM0LDcgKzM0LDcgQEAgY2xhc3MgV29ya2VyR2xvYmFsU2NvcGU7CiAKIGNsYXNzIFdv
cmtlckdsb2JhbFNjb3BlQ2FjaGVzIDogcHVibGljIFN1cHBsZW1lbnQ8V29ya2VyR2xvYmFsU2Nv
cGU+IHsKIHB1YmxpYzoKLSAgICBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcygpID0gZGVmYXVsdDsK
KyAgICBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcyhXb3JrZXJHbG9iYWxTY29wZSYgc2NvcGUpIDog
bV9zY29wZShzY29wZSkgeyB9OwogCiAgICAgc3RhdGljIENhY2hlU3RvcmFnZSogY2FjaGVzKFdv
cmtlckdsb2JhbFNjb3BlJik7CiAKQEAgLTQzLDYgKzQzLDcgQEAgcHJpdmF0ZToKICAgICBzdGF0
aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKICAgICBDYWNoZVN0b3JhZ2UqIGNhY2hl
cygpIGNvbnN0OwogCisgICAgV29ya2VyR2xvYmFsU2NvcGUmIG1fc2NvcGU7CiAgICAgbXV0YWJs
ZSBSZWZQdHI8Q2FjaGVTdG9yYWdlPiBtX2NhY2hlczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuaAppbmRleCBjMzIxM2U5NzIxMzkzMDBkNGE1
MTg1NGMwNTU5YWI1NTAxNGE5NTViLi43MWFmYzQ2Y2UwNTFlNGE4NGUzMWFjOTM0NDgzOTZjOGY4
NjFlMTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9k
eU93bmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25l
ci5oCkBAIC01Nyw2ICs1Nyw4IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25z
dCB7IHJldHVybiAhIW1fYmxvYkxvYWRlcjsgfQogCisgICAgYm9vbCBpc1JlYWRhYmxlU3RyZWFt
Qm9keSgpIGNvbnN0IHsgcmV0dXJuIG1fYm9keSAmJiBtX2JvZHktPmlzUmVhZGFibGVTdHJlYW0o
KTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgY29uc3QgRmV0Y2hCb2R5JiBib2R5KCkgY29uc3QgeyBy
ZXR1cm4gKm1fYm9keTsgfQogICAgIEZldGNoQm9keSYgYm9keSgpIHsgcmV0dXJuICptX2JvZHk7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJz
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5oCmluZGV4IGZj
M2IxMDhiOWEyZDVhZTU4MzdjMjNjNzkxZmUyMDljYjY4MzMyYzguLmZlZTFmOGYxZjM4MDkzYjBk
MzM1YjkxOGQ5MWRjZTQ0ZmNkOTdkMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaEhlYWRlcnMuaApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiRXhjZXB0aW9u
T3IuaCIKICNpbmNsdWRlICJIVFRQSGVhZGVyTWFwLmgiCisjaW5jbHVkZSA8d3RmL0VudW1UcmFp
dHMuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFRyYWl0cy5oPgogI2luY2x1ZGUgPHd0Zi9WYXJpYW50
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtNDksNyArNTAsNyBAQCBwdWJsaWM6CiAg
ICAgdXNpbmcgSW5pdCA9IFZhcmlhbnQ8VmVjdG9yPFZlY3RvcjxTdHJpbmc+PiwgVmVjdG9yPFdU
Rjo6S2V5VmFsdWVQYWlyPFN0cmluZywgU3RyaW5nPj4+OwogICAgIHN0YXRpYyBFeGNlcHRpb25P
cjxSZWY8RmV0Y2hIZWFkZXJzPj4gY3JlYXRlKHN0ZDo6b3B0aW9uYWw8SW5pdD4mJik7CiAKLSAg
ICBzdGF0aWMgUmVmPEZldGNoSGVhZGVycz4gY3JlYXRlKEd1YXJkIGd1YXJkID0gR3VhcmQ6Ok5v
bmUpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmV0Y2hIZWFkZXJzIHsgZ3VhcmQgfSk7IH0KKyAg
ICBzdGF0aWMgUmVmPEZldGNoSGVhZGVycz4gY3JlYXRlKEd1YXJkIGd1YXJkID0gR3VhcmQ6Ok5v
bmUsIEhUVFBIZWFkZXJNYXAmJiBoZWFkZXJzID0geyB9KSB7IHJldHVybiBhZG9wdFJlZigqbmV3
IEZldGNoSGVhZGVycyB7IGd1YXJkLCBXVEZNb3ZlKGhlYWRlcnMpIH0pOyB9CiAgICAgc3RhdGlj
IFJlZjxGZXRjaEhlYWRlcnM+IGNyZWF0ZShjb25zdCBGZXRjaEhlYWRlcnMmIGhlYWRlcnMpIHsg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgRmV0Y2hIZWFkZXJzIHsgaGVhZGVycyB9KTsgfQogCiAgICAg
RXhjZXB0aW9uT3I8dm9pZD4gYXBwZW5kKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
JiB2YWx1ZSk7CkBAIC04Miw5ICs4MywxMCBAQCBwdWJsaWM6CiAgICAgY29uc3QgSFRUUEhlYWRl
ck1hcCYgaW50ZXJuYWxIZWFkZXJzKCkgY29uc3QgeyByZXR1cm4gbV9oZWFkZXJzOyB9CiAKICAg
ICB2b2lkIHNldEd1YXJkKEd1YXJkKTsKKyAgICBHdWFyZCBndWFyZCgpIGNvbnN0IHsgcmV0dXJu
IG1fZ3VhcmQ7IH0KIAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBGZXRjaEhlYWRlcnMoR3VhcmQg
Z3VhcmQsIEhUVFBIZWFkZXJNYXAmJiBoZWFkZXJzID0geyB9KTsKKyAgICBGZXRjaEhlYWRlcnMo
R3VhcmQsIEhUVFBIZWFkZXJNYXAmJik7CiAgICAgRmV0Y2hIZWFkZXJzKGNvbnN0IEZldGNoSGVh
ZGVycyYpOwogCiAgICAgR3VhcmQgbV9ndWFyZDsKQEAgLTExMSwzICsxMTMsMTggQEAgaW5saW5l
IHZvaWQgRmV0Y2hIZWFkZXJzOjpzZXRHdWFyZChHdWFyZCBndWFyZCkKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51
bVRyYWl0czxXZWJDb3JlOjpGZXRjaEhlYWRlcnM6Okd1YXJkPiB7CisgICAgdXNpbmcgdmFsdWVz
ID0gRW51bVZhbHVlczwKKyAgICBXZWJDb3JlOjpGZXRjaEhlYWRlcnM6Okd1YXJkLAorICAgIFdl
YkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQ6Ok5vbmUsCisgICAgV2ViQ29yZTo6RmV0Y2hIZWFk
ZXJzOjpHdWFyZDo6SW1tdXRhYmxlLAorICAgIFdlYkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQ6
OlJlcXVlc3QsCisgICAgV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZDo6UmVxdWVzdE5vQ29y
cywKKyAgICBXZWJDb3JlOjpGZXRjaEhlYWRlcnM6Okd1YXJkOjpSZXNwb25zZQorICAgID47Cit9
OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9h
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCmlu
ZGV4IGUzYTUxZjFhZTg0MzkyYmYzMGZjOGI1ZDMzNTMxYTA5ZGI4NWNjYWMuLmVkZmFjNWMzODU5
MWQ5OWU4OGVkMGZkZjM2ZThkYzRkODk1OGQ2MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCkBAIC04MCw3ICs4MCw3IEBAIHZvaWQgRmV0Y2hMb2Fk
ZXI6OnN0YXJ0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZldGNoUmVx
dWVzdCYgcmVxCiAgICAgb3B0aW9ucy5kYXRhQnVmZmVyaW5nUG9saWN5ID0gRG9Ob3RCdWZmZXJE
YXRhOwogICAgIG9wdGlvbnMuc2FtZU9yaWdpbkRhdGFVUkxGbGFnID0gU2FtZU9yaWdpbkRhdGFV
UkxGbGFnOjpTZXQ7CiAKLSAgICBSZXNvdXJjZVJlcXVlc3QgZmV0Y2hSZXF1ZXN0ID0gcmVxdWVz
dC5pbnRlcm5hbFJlcXVlc3QoKTsKKyAgICBSZXNvdXJjZVJlcXVlc3QgZmV0Y2hSZXF1ZXN0ID0g
cmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKTsKIAogICAgIEFTU0VSVChjb250ZXh0LmNvbnRlbnRT
ZWN1cml0eVBvbGljeSgpKTsKICAgICBhdXRvJiBjb250ZW50U2VjdXJpdHlQb2xpY3kgPSAqY29u
dGV4dC5jb250ZW50U2VjdXJpdHlQb2xpY3koKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcAppbmRleCBlNjZjMTVjOTk0Y2U1MWVkZDU0OTNhZDI1ODc0
MmRkZTY4Y2EzZDRiLi5hNTI2ZjUyODgzOTc4M2UwN2U5ZTQ2YTU0Y2RiMWRlOWNkZjk2NDY3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuY3BwCkBAIC03
NCw3ICs3NCw3IEBAIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbj4gc2V0UmVmZXJyZXIo
RmV0Y2hSZXF1ZXN0OjpJbnRlcm5hbFJlcXVlc3QmIHJlcXVlCiAKIHN0YXRpYyBzdGQ6Om9wdGlv
bmFsPEV4Y2VwdGlvbj4gYnVpbGRPcHRpb25zKEZldGNoUmVxdWVzdDo6SW50ZXJuYWxSZXF1ZXN0
JiByZXF1ZXN0LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBGZXRjaFJl
cXVlc3Q6OkluaXQmIGluaXQpCiB7Ci0gICAgaWYgKCFpbml0LndpbmRvdy5pc1VuZGVmaW5lZE9y
TnVsbCgpKQorICAgIGlmICghaW5pdC53aW5kb3cuaXNVbmRlZmluZWRPck51bGwoKSAmJiAhaW5p
dC53aW5kb3cuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9y
LCBBU0NJSUxpdGVyYWwoIldpbmRvdyBjYW4gb25seSBiZSBudWxsLiIpIH07CiAKICAgICBpZiAo
IWluaXQucmVmZXJyZXIuaXNOdWxsKCkpIHsKQEAgLTI1NywxNCArMjU3LDE0IEBAIFN0cmluZyBG
ZXRjaFJlcXVlc3Q6OnJlZmVycmVyKCkgY29uc3QKICAgICByZXR1cm4gbV9pbnRlcm5hbFJlcXVl
c3QucmVmZXJyZXI7CiB9CiAKLWNvbnN0IFN0cmluZyYgRmV0Y2hSZXF1ZXN0Ojp1cmwoKSBjb25z
dAorY29uc3QgU3RyaW5nJiBGZXRjaFJlcXVlc3Q6OnVybFN0cmluZygpIGNvbnN0CiB7CiAgICAg
aWYgKG1fcmVxdWVzdFVSTC5pc051bGwoKSkKICAgICAgICAgbV9yZXF1ZXN0VVJMID0gbV9pbnRl
cm5hbFJlcXVlc3QucmVxdWVzdC51cmwoKS5zZXJpYWxpemUoKTsKICAgICByZXR1cm4gbV9yZXF1
ZXN0VVJMOwogfQogCi1SZXNvdXJjZVJlcXVlc3QgRmV0Y2hSZXF1ZXN0OjppbnRlcm5hbFJlcXVl
c3QoKSBjb25zdAorUmVzb3VyY2VSZXF1ZXN0IEZldGNoUmVxdWVzdDo6cmVzb3VyY2VSZXF1ZXN0
KCkgY29uc3QKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmgKaW5kZXggMWYwYjE2ZThh
NWExNzlmMGZlYWMwYjU5N2RkNTg3NDlmYWVkYWJkZC4uNWFkNzQxNDEzOWE0N2ZkYTU4NDJiY2Ji
NzQ5MTNjMzI2NzNiZGM3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNo
UmVxdWVzdC5oCkBAIC01MywxMSArNTMsMTkgQEAgcHVibGljOgogICAgIHVzaW5nIFJlZGlyZWN0
ID0gRmV0Y2hPcHRpb25zOjpSZWRpcmVjdDsKICAgICB1c2luZyBUeXBlID0gRmV0Y2hPcHRpb25z
OjpUeXBlOwogCisgICAgc3RydWN0IEludGVybmFsUmVxdWVzdCB7CisgICAgICAgIFJlc291cmNl
UmVxdWVzdCByZXF1ZXN0OworICAgICAgICBGZXRjaE9wdGlvbnMgb3B0aW9uczsKKyAgICAgICAg
U3RyaW5nIHJlZmVycmVyOworICAgIH07CisKICAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPEZl
dGNoUmVxdWVzdD4+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgSW5mbyYmLCBJbml0
JiYpOworICAgIHN0YXRpYyBSZWY8RmV0Y2hSZXF1ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCwgc3RkOjpvcHRpb25hbDxGZXRjaEJvZHk+JiYgYm9keSwgUmVmPEZl
dGNoSGVhZGVycz4mJiBoZWFkZXJzLCBJbnRlcm5hbFJlcXVlc3QmJiByZXF1ZXN0KSB7IHJldHVy
biBhZG9wdFJlZigqbmV3IEZldGNoUmVxdWVzdChjb250ZXh0LCBXVEZNb3ZlKGJvZHkpLCBXVEZN
b3ZlKGhlYWRlcnMpLCBXVEZNb3ZlKHJlcXVlc3QpKSk7IH0KIAogICAgIGNvbnN0IFN0cmluZyYg
bWV0aG9kKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVlc3QucmVxdWVzdC5odHRwTWV0
aG9kKCk7IH0KLSAgICBjb25zdCBTdHJpbmcmIHVybCgpIGNvbnN0OworICAgIGNvbnN0IFN0cmlu
ZyYgdXJsU3RyaW5nKCkgY29uc3Q7CiAgICAgRmV0Y2hIZWFkZXJzJiBoZWFkZXJzKCkgeyByZXR1
cm4gbV9oZWFkZXJzLmdldCgpOyB9CisgICAgY29uc3QgRmV0Y2hIZWFkZXJzJiBoZWFkZXJzKCkg
Y29uc3QgeyByZXR1cm4gbV9oZWFkZXJzLmdldCgpOyB9CiAKICAgICBUeXBlIHR5cGUoKSBjb25z
dDsKICAgICBEZXN0aW5hdGlvbiBkZXN0aW5hdGlvbigpIGNvbnN0OwpAQCAtNzMsMTcgKzgxLDEz
IEBAIHB1YmxpYzoKIAogICAgIEV4Y2VwdGlvbk9yPFJlZjxGZXRjaFJlcXVlc3Q+PiBjbG9uZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CiAKLSAgICBzdHJ1Y3QgSW50ZXJuYWxSZXF1ZXN0IHsK
LSAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3Q7Ci0gICAgICAgIEZldGNoT3B0aW9ucyBv
cHRpb25zOwotICAgICAgICBTdHJpbmcgcmVmZXJyZXI7Ci0gICAgfTsKLQogICAgIGNvbnN0IEZl
dGNoT3B0aW9ucyYgZmV0Y2hPcHRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVl
c3Qub3B0aW9uczsgfQotICAgIFJlc291cmNlUmVxdWVzdCBpbnRlcm5hbFJlcXVlc3QoKSBjb25z
dDsKKyAgICBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGludGVybmFsUmVxdWVzdCgpIGNvbnN0IHsg
cmV0dXJuIG1faW50ZXJuYWxSZXF1ZXN0LnJlcXVlc3Q7IH0KKyAgICBjb25zdCBTdHJpbmcmIGlu
dGVybmFsUmVxdWVzdFJlZmVycmVyKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVlc3Qu
cmVmZXJyZXI7IH0KKyAgICBjb25zdCBVUkwmIHVybCgpIGNvbnN0IHsgcmV0dXJuIG1faW50ZXJu
YWxSZXF1ZXN0LnJlcXVlc3QudXJsKCk7IH0KICAgICBib29sIGlzQm9keVJlYWRhYmxlU3RyZWFt
KCkgY29uc3QgeyByZXR1cm4gIWlzQm9keU51bGwoKSAmJiBib2R5KCkuaXNSZWFkYWJsZVN0cmVh
bSgpOyB9CiAKLSAgICBjb25zdCBTdHJpbmcmIGludGVybmFsUmVxdWVzdFJlZmVycmVyKCkgY29u
c3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVlc3QucmVmZXJyZXI7IH0KKyAgICBSZXNvdXJjZVJl
cXVlc3QgcmVzb3VyY2VSZXF1ZXN0KCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgRmV0Y2hSZXF1
ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6Om9wdGlvbmFsPEZldGNoQm9keT4mJiwg
UmVmPEZldGNoSGVhZGVycz4mJiwgSW50ZXJuYWxSZXF1ZXN0JiYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaWRsCmluZGV4IDFhNWU2MjZmNTFjMTY2MmU4
YmIwMDNiNjA0MDg3NmQzOWE4ZDBjOTkuLmIzZDJhNjMwMDgxY2RiYzNkOTc5YTY1MTc0MjY0MGY3
ZjM2MTgxNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hS
ZXF1ZXN0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVz
dC5pZGwKQEAgLTQ0LDcgKzQ0LDcgQEAgdHlwZWRlZiAoQmxvYiBvciBCdWZmZXJTb3VyY2Ugb3Ig
RE9NRm9ybURhdGEgb3IgVVJMU2VhcmNoUGFyYW1zIG9yIFVTVlN0cmluZykgQm8KICAgICBJbnRl
cmZhY2VOYW1lPVJlcXVlc3QsCiBdIGludGVyZmFjZSBGZXRjaFJlcXVlc3QgewogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBCeXRlU3RyaW5nIG1ldGhvZDsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUg
VVNWU3RyaW5nIHVybDsKKyAgICBbSW1wbGVtZW50ZWRBcz11cmxTdHJpbmddIHJlYWRvbmx5IGF0
dHJpYnV0ZSBVU1ZTdHJpbmcgdXJsOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBGZXRjaEhlYWRl
cnMgaGVhZGVyczsgLy8gRklYTUU6IFNob3VsZCBiZSBbU2FtZU9iamVjdF0uCiAKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgRmV0Y2hSZXF1ZXN0VHlwZSB0eXBlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaAppbmRleCBmOWIwMmZiMGU1ODdhYjRlYjNkNTU5
Nzk0YjM5MWY3OWY1YTFkYzY2Li5kYzc1NzMxM2VmYThmZmI4ZjVmYjI5MmE1MjBlMDA1N2NkMGEz
YmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9u
c2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaApA
QCAtNTcsNiArNTcsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxGZXRjaFJlc3BvbnNlPiBl
cnJvcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJl
ZjxGZXRjaFJlc3BvbnNlPj4gcmVkaXJlY3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0
IFN0cmluZyYgdXJsLCBpbnQgc3RhdHVzKTsKIAorICAgIHN0YXRpYyBSZWY8RmV0Y2hSZXNwb25z
ZT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6b3B0aW9uYWw8
RmV0Y2hCb2R5PiYmIGJvZHksIFJlZjxGZXRjaEhlYWRlcnM+JiYgaGVhZGVycywgUmVzb3VyY2VS
ZXNwb25zZSYmIHJlc3BvbnNlKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEZldGNoUmVzcG9uc2Uo
Y29udGV4dCwgV1RGTW92ZShib2R5KSwgV1RGTW92ZShoZWFkZXJzKSwgV1RGTW92ZShyZXNwb25z
ZSkpKTsgfQorCiAgICAgdXNpbmcgRmV0Y2hQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElE
TEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj47CiAgICAgc3RhdGljIHZvaWQgZmV0Y2goU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYsIEZldGNoUmVxdWVzdCYsIEZldGNoUHJvbWlzZSYmKTsKIApAQCAt
NzgsNiArODAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBvaygpIGNvbnN0IHsgcmV0dXJuIG1fcmVz
cG9uc2UuaXNTdWNjZXNzZnVsKCk7IH0KICAgICBjb25zdCBTdHJpbmcmIHN0YXR1c1RleHQoKSBj
b25zdCB7IHJldHVybiBtX3Jlc3BvbnNlLmh0dHBTdGF0dXNUZXh0KCk7IH0KIAorICAgIGNvbnN0
IEZldGNoSGVhZGVycyYgaGVhZGVycygpIGNvbnN0IHsgcmV0dXJuIG1faGVhZGVyczsgfQogICAg
IEZldGNoSGVhZGVycyYgaGVhZGVycygpIHsgcmV0dXJuIG1faGVhZGVyczsgfQogICAgIFJlZjxG
ZXRjaFJlc3BvbnNlPiBjbG9uZUZvckpTKCk7CiAKQEAgLTkwLDYgKzkzLDggQEAgcHVibGljOgog
CiAgICAgYm9vbCBpc0xvYWRpbmcoKSBjb25zdCB7IHJldHVybiAhIW1fYm9keUxvYWRlcjsgfQog
CisgICAgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzb3VyY2VSZXNwb25zZSgpIGNvbnN0IHsg
cmV0dXJuIG1fcmVzcG9uc2U7IH0KKwogcHJpdmF0ZToKICAgICBGZXRjaFJlc3BvbnNlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6Om9wdGlvbmFsPEZldGNoQm9keT4mJiwgUmVmPEZldGNo
SGVhZGVycz4mJiwgUmVzb3VyY2VSZXNwb25zZSYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDA1MDY1NzE4NGU2YTMwODRm
NGMwMzQ2MDU0YjY1MTc2NDFhNWYxZWEuLjQzOGM2NTg1ODM5NGQ3ZmVmMzQzYjlmNzQ1ZTVkNzM0
ZDM2NTU3YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTE3ODQsNiArMTc4NCwxNCBAQAogCQk0MUNGOEJFNzFENDYyMjY3MDA3
MDdEQzkgLyogRmV0Y2hCb2R5Q29uc3VtZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDFDRjhCRTQxRDQ2MjIyMDAwNzA3REM5IC8qIEZldGNoQm9k
eUNvbnN1bWVyLmNwcCAqLzsgfTsKIAkJNDFEMDE1Q0EwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRl
bnRUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MUQwMTVDODBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MUQwMTVDQjBGNEI1QzcxMDA0QTY2
MkYgLyogQ29udGVudFR5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDFEMDE1QzkwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmNwcCAq
LzsgfTsKKwkJNDFEMTI5Q0UxRjNEMEVGNjAwRDE1RTQ3IC8qIFdvcmtlckdsb2JhbFNjb3BlQ2Fj
aGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUZC
Mjc4RDFGMzRDMjgyMDA3OTU0ODcgLyogV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuaCAqLzsgfTsK
KwkJNDFEMTI5Q0YxRjNEMEVGRTAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMTI5Qzkx
RjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwICovOyB9OworCQk0
MUQxMjlEMDFGM0QwRjA1MDBEMTVFNDcgLyogQ2FjaGVRdWVyeU9wdGlvbnMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRkIyNzlCMUYzNENFRjAwMDc5
NTQ4NyAvKiBDYWNoZVF1ZXJ5T3B0aW9ucy5oICovOyB9OworCQk0MUQxMjlEMTFGM0QwRjBFMDBE
MTVFNDcgLyogRE9NV2luZG93Q2FjaGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MUZCMjc4QzFGMzRDMjgyMDA3OTU0ODcgLyogRE9NV2luZG93Q2Fj
aGVzLmggKi87IH07CisJCTQxRDEyOUQyMUYzRDBGMTIwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VS
ZWNvcmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
RDEyOUNBMUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VSZWNvcmQuaCAqLzsgfTsKKwkJ
NDFEMTI5RDMxRjNEMEYxNjAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDEyOUNDMUYzRDBF
RTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDFEMTI5RDUxRjNEMEY2OTAwRDE1RTQ3
IC8qIENhY2hlU3RvcmFnZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MUQxMjlENDFGM0QwRjY2MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdl
UHJvdmlkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQk0MUQxMjlEQjFGM0QxNDM4MDBEMTVFNDcgLyogRmV0Y2hIZWFkZXJzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUY1NEY4MzFDNTBDNEY2MDAz
Mzg0ODggLyogRmV0Y2hIZWFkZXJzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNDFERUZDQjUxRTU2QzFCRDAwMEQ5RTVGIC8qIEpTRE9NTWFwTGlr
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MURF
RkNCMzFFNTZDMUI5MDAwRDlFNUYgLyogSlNET01NYXBMaWtlLmNwcCAqLzsgfTsKIAkJNDFERUZD
QjYxRTU2QzFCRDAwMEQ5RTVGIC8qIEpTRE9NTWFwTGlrZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFERUZDQjQxRTU2QzFCOTAwMEQ5RTVGIC8qIEpT
RE9NTWFwTGlrZS5oICovOyB9OwogCQk0MUUxQjFEMDBGRjU5ODY5MDA1NzZCM0IgLyogQWJzdHJh
Y3RXb3JrZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDFFMUIxQ0EwRkY1OTg2OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2VyLmNwcCAqLzsgfTsK
QEAgLTk0NjMsNiArOTQ3MSwxMCBAQAogCQk0MUNGOEJFNjFENDYyMjJDMDA3MDdEQzkgLyogRmV0
Y2hJbnRlcm5hbHMuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBG
ZXRjaEludGVybmFscy5qczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFEMDE1Qzgw
RjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENvbnRlbnRUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQx
RDAxNUM5MEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlwZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb250ZW50VHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTQxRDEyOUM5MUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25u
ZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhY2hlU3Rv
cmFnZUNvbm5lY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUQxMjlD
QTFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUmVjb3JkLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlU3RvcmFnZVJlY29yZC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk0MUQxMjlDQzFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29u
bmVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRDEyOUQ0MUYzRDBG
NjYwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VQcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDYWNoZVN0b3JhZ2VQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MUQ1MUJCMjFFNEUyRTgxMDAxMzFBNUIgLyogTGliV2ViUlRDQXVkaW9Gb3Jt
YXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRDQXVkaW9Gb3Jt
YXQuaDsgcGF0aCA9IGxpYndlYnJ0Yy9MaWJXZWJSVENBdWRpb0Zvcm1hdC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0MURFRkNCMjFFNTZDMUI5MDAwRDlFNUYgLyogSlNET01CaW5k
aW5nSW50ZXJuYWxzLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0g
SlNET01CaW5kaW5nSW50ZXJuYWxzLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
MURFRkNCMzFFNTZDMUI5MDAwRDlFNUYgLyogSlNET01NYXBMaWtlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9NTWFwTGlrZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xNzY3MCw2ICsxNzY4Miw5IEBACiAJCQkJNDEzODBDMjExRjM0MzY4
RDAwMTU1RkRBIC8qIENhY2hlU3RvcmFnZS5jcHAgKi8sCiAJCQkJNDEzODBDMjIxRjM0MzY5MDAw
MTU1RkRBIC8qIENhY2hlU3RvcmFnZS5oICovLAogCQkJCTQxMzgwQzI0MUYzNDM2OTcwMDE1NUZE
QSAvKiBDYWNoZVN0b3JhZ2UuaWRsICovLAorCQkJCTQxRDEyOUM5MUYzRDBFRTMwMEQxNUU0NyAv
KiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCAqLywKKwkJCQk0MUQxMjlDQzFGM0QwRUUzMDBE
MTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oICovLAorCQkJCTQxRDEyOUNBMUYzRDBF
RTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VSZWNvcmQuaCAqLywKIAkJCQk0MUZCMjc4RTFGMzRD
MjgyMDA3OTU0ODcgLyogRE9NV2luZG93Q2FjaGVzLmNwcCAqLywKIAkJCQk0MUZCMjc4QzFGMzRD
MjgyMDA3OTU0ODcgLyogRE9NV2luZG93Q2FjaGVzLmggKi8sCiAJCQkJNDEzODBDMkIxRjM0M0Uy
RjAwMTU1RkRBIC8qIERPTVdpbmRvd0NhY2hlcy5pZGwgKi8sCkBAIC0xOTI2OCw2ICsxOTI4Myw3
IEBACiAJCQkJQkMxMjRFRTYwQzI2NDFDRDAwOUUyMzQ5IC8qIEJhclByb3AuaWRsICovLAogCQkJ
CTQ2MEJCNjEzMUQwQTFCRUMwMDIyMTgxMiAvKiBCYXNlNjRVdGlsaXRpZXMuY3BwICovLAogCQkJ
CTQ2MEJCNjE0MUQwQTFCRUMwMDIyMTgxMiAvKiBCYXNlNjRVdGlsaXRpZXMuaCAqLywKKwkJCQk0
MUQxMjlENDFGM0QwRjY2MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAqLywKIAkJ
CQkwNzJDQTg2MDE2Q0I0REMzMDA4QUUxMzEgLyogQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAg
Ki8sCiAJCQkJMDc5RDA4NjcxNjJGMjBFODAwREI4NjU4IC8qIENhcHRpb25Vc2VyUHJlZmVyZW5j
ZXMuaCAqLywKIAkJCQkwNzlEMDg2QTE2MkYyMUY5MDBEQjg2NTggLyogQ2FwdGlvblVzZXJQcmVm
ZXJlbmNlc01lZGlhQUYuY3BwICovLApAQCAtMjY3ODMsNyArMjY3OTksMTEgQEAKIAkJCQkwNzUz
ODYwMzE0NDg5RTk4MDBCNzg0NTIgLyogQ2FjaGVkVGV4dFRyYWNrLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQ0IxNkMyODA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVldC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk5NTAwODI0NUU1OTAwMUU5QUJDIC8qIENhY2hlUG9saWN5
LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUQxMjlEMDFGM0QwRjA1MDBEMTVFNDcgLyogQ2FjaGVR
dWVyeU9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxMzgwQzI5MUYzNDM2QUMwMDE1NUZE
QSAvKiBDYWNoZVN0b3JhZ2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxRDEyOUQzMUYzRDBGMTYw
MEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk0
MUQxMjlENTFGM0QwRjY5MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTQxRDEyOUQyMUYzRDBGMTIwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VSZWNv
cmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0M0FGOEU3MUFDNUI3RUMwMENBNzE3RSAvKiBDYWNo
ZVZhbGlkYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5QUUyRDk3MTM0RUU1RjkwMDcyOTIw
QSAvKiBDYWxjdWxhdGlvblZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzFFOEQwMTFFRDBD
MkRBMDBCMUQ5ODMgLyogQ2FsbGJhY2tSZXN1bHQuaCBpbiBIZWFkZXJzICovLApAQCAtMjcyNjUs
NiArMjcyODUsNyBAQAogCQkJCTJFMzdERkRCMTJEQkFGQjgwMEE2QjIzMyAvKiBET01VUkwuaCBp
biBIZWFkZXJzICovLAogCQkJCUNEOURFMTgyMTdBQUQ2QTQwMEVBMzg2RCAvKiBET01VUkxNZWRp
YVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQwM0I5OTcwOUVCMTNBRjAwNzk3QzdGIC8q
IERPTVdpbmRvdy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5RDExRjNEMEYwRTAwRDE1RTQ3
IC8qIERPTVdpbmRvd0NhY2hlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGQTJENzgxNTIxMzJC
MzAwQzFCQTBCIC8qIERPTVdpbmRvd0V4dGVuc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4
NUZDNzUxQkI0QzRFODAwMTI4OThGIC8qIERPTVdpbmRvd0luZGV4ZWREYXRhYmFzZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTdEMkFEMDQxNEI4MjNBNjAwOTNERjMyIC8qIERPTVdpbmRvd1Byb3Bl
cnR5LmggaW4gSGVhZGVycyAqLywKQEAgLTI3MzYwLDYgKzI3MzgxLDcgQEAKIAkJCQk4NDczMEQ4
NTEyNDhGMEIzMDBEM0E5QzkgLyogRkVNb3JwaG9sb2d5LmggaW4gSGVhZGVycyAqLywKIAkJCQk4
NDczMEQ4NzEyNDhGMEIzMDBEM0E5QzkgLyogRkVPZmZzZXQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTg0NzMwRDg5MTI0OEYwQjMwMEQzQTlDOSAvKiBGRVNwZWN1bGFyTGlnaHRpbmcuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTQxRDEyOURCMUYzRDE0MzgwMEQxNUU0NyAvKiBGZXRjaEhlYWRlcnMuaCBp
biBIZWFkZXJzICovLAogCQkJCTQxNkU2RkU4MUJCRDEyREYwMDBBNjAyMyAvKiBGZXRjaEludGVy
bmFsc0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MUFENzUzQTFDRUY2QkQxMDBBMzE0
ODYgLyogRmV0Y2hPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk3Q0UxOTE0RDFGMkE5QUZC
MDAyNzJGNzggLyogRmV0Y2hSZWZlcnJlclBvbGljeS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDI4
Myw2ICszMDMwNSw3IEBACiAJCQkJQTUyQTY4NjYxREJENEI1RDAwODMzNzNGIC8qIFdvcmtlckRl
YnVnZ2VyQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUEzRTI2NDMxMTQ3NDg5OTEwMDVBODU4
OCAvKiBXb3JrZXJFdmVudFF1ZXVlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY0OTBGNTQ2
QTgyMDBCMEYxQkEgLyogV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTQx
RDEyOUNFMUYzRDBFRjYwMEQxNUU0NyAvKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTE4NUZDQjQxQkI0QzRFODAwMTI4OThGIC8qIFdvcmtlckdsb2JhbFNj
b3BlSW5kZXhlZERhdGFiYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY0QjBGNTQ2QTgy
MDBCMEYxQkEgLyogV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTU0QTBDNjIxREI3RjhDMTAwMTdBOTBCIC8qIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaCBp
biBIZWFkZXJzICovLApAQCAtMzA4OTUsNiArMzA5MTgsNyBAQAogCQkJCTA3NTM4NjAyMTQ0ODlF
OTgwMEI3ODQ1MiAvKiBDYWNoZWRUZXh0VHJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNC
MTZDMjcwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFhTTFN0eWxlU2hlZXQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNDEzODBDMjgxRjM0MzZBQzAwMTU1RkRBIC8qIENhY2hlU3RvcmFnZS5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQk0MUQxMjlDRjFGM0QwRUZFMDBEMTVFNDcgLyogQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNDNBRjhFNjFBQzVCN0U4MDBD
QTcxN0UgLyogQ2FjaGVWYWxpZGF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5QUUyRDk2
MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjdWxhdGlvblZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTk1MjA3NjA0MUYyNjc1RkUwMDdEMkFBQiAvKiBDYWxsVHJhY2VyLmNwcCBpbiBTb3VyY2Vz
ICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJs
YXkuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCmlu
ZGV4IDY2YzdmMDhmMGYyOGIwNDZiYjRjMzVlOGU5YmYxOWZiZGYyYWJjNTUuLjJhODEzYjZhMTIw
ZGYzNThmMDhiZDI3MThjOTY1NzM0MzAxZGVmNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JPdmVybGF5LmgiCiAKKyNpbmNsdWRlICJDYWNo
ZVN0b3JhZ2VQcm92aWRlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5jbHVk
ZSAiRWRpdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgpAQCAtODY1LDcgKzg2Niw4
IEBAIFBhZ2UqIEluc3BlY3Rvck92ZXJsYXk6Om92ZXJsYXlQYWdlKCkKICAgICBQYWdlQ29uZmln
dXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbigKICAgICAgICAgY3JlYXRlRW1wdHlFZGl0b3JDbGll
bnQoKSwKICAgICAgICAgU29ja2V0UHJvdmlkZXI6OmNyZWF0ZSgpLAotICAgICAgICBtYWtlVW5p
cXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPigpCisgICAgICAgIG1ha2VVbmlxdWVSZWY8TGliV2Vi
UlRDUHJvdmlkZXI+KCksCisgICAgICAgIENhY2hlU3RvcmFnZVByb3ZpZGVyOjpjcmVhdGUoKQog
ICAgICk7CiAgICAgZmlsbFdpdGhFbXB0eUNsaWVudHMocGFnZUNvbmZpZ3VyYXRpb24pOwogICAg
IG1fb3ZlcmxheVBhZ2UgPSBzdGQ6Om1ha2VfdW5pcXVlPFBhZ2U+KFdURk1vdmUocGFnZUNvbmZp
Z3VyYXRpb24pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FjaGVTdG9yYWdl
UHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41YWVjOWY0NjE5OGFhNDFhN2EyYjYyZmY1MmEwNWRmYjdlM2M4M2IxCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYWNoZVN0b3JhZ2VQcm92aWRlci5o
CkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUg
IkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJTZXNzaW9uSUQuaCIKKyNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdF
QkNPUkVfRVhQT1JUIENhY2hlU3RvcmFnZVByb3ZpZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8Q2Fj
aGVTdG9yYWdlUHJvdmlkZXI+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPENhY2hlU3RvcmFn
ZVByb3ZpZGVyPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IENhY2hlU3RvcmFnZVBy
b3ZpZGVyKTsgfQorICAgIHZpcnR1YWwgUmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IGNyZWF0
ZUNhY2hlU3RvcmFnZUNvbm5lY3Rpb24oU2Vzc2lvbklEKSB7IHJldHVybiBDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uOjpjcmVhdGUoKTsgfQorICAgIHZpcnR1YWwgfkNhY2hlU3RvcmFnZVByb3ZpZGVy
KCkgeyB9OworCitwcm90ZWN0ZWQ6CisgICAgQ2FjaGVTdG9yYWdlUHJvdmlkZXIoKSA9IGRlZmF1
bHQ7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCBjMjY5ODdmOGRjYjJlOWU5NjA2ZGFh
OTcyZDJjZmNjN2JlY2M1ZmI3Li43MDQxZjFjZjI5NTk1NGVhZmYwNGQ2YjhhNjE2NGY4ZmFhYzBk
Njc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJCYWNr
Rm9yd2FyZENsaWVudC5oIgogI2luY2x1ZGUgIkJhY2tGb3J3YXJkQ29udHJvbGxlci5oIgogI2lu
Y2x1ZGUgIkNTU0FuaW1hdGlvbkNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VQ
cm92aWRlci5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5o
IgogI2luY2x1ZGUgIkNvbnN0YW50UHJvcGVydHlNYXAuaCIKQEAgLTIyMiw2ICsyMjMsNyBAQCBQ
YWdlOjpQYWdlKFBhZ2VDb25maWd1cmF0aW9uJiYgcGFnZUNvbmZpZ3VyYXRpb24pCiAjZW5kaWYK
ICAgICAsIG1fc29ja2V0UHJvdmlkZXIoV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi5zb2NrZXRQ
cm92aWRlcikpCiAgICAgLCBtX2FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlKCpXVEZNb3ZlKHBhZ2VD
b25maWd1cmF0aW9uLmFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlKSkKKyAgICAsIG1fY2FjaGVTdG9y
YWdlUHJvdmlkZXIoV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi5jYWNoZVN0b3JhZ2VQcm92aWRl
cikpCiAgICAgLCBtX2RhdGFiYXNlUHJvdmlkZXIoKldURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24u
ZGF0YWJhc2VQcm92aWRlcikpCiAgICAgLCBtX3BsdWdpbkluZm9Qcm92aWRlcigqV1RGTW92ZShw
YWdlQ29uZmlndXJhdGlvbi5wbHVnaW5JbmZvUHJvdmlkZXIpKQogICAgICwgbV9zdG9yYWdlTmFt
ZXNwYWNlUHJvdmlkZXIoKldURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uc3RvcmFnZU5hbWVzcGFj
ZVByb3ZpZGVyKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggOTA5ZjM3OTAyZDMzZTFkMGVmM2U1YTliNGY2
NGJhYjRkZmE1ZmYwYi4uNWZjODljZGM1OTJjOTQ5ZWIxOGQ5Y2VhMTdmNjFmYmNkMzU1MTIwMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmgKQEAgLTc3LDYgKzc3LDcgQEAgY2xhc3MgQWx0ZXJuYXRpdmVUZXh0Q2xp
ZW50OwogY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7CiBjbGFzcyBCYWNrRm9yd2FyZENv
bnRyb2xsZXI7CiBjbGFzcyBCYWNrRm9yd2FyZENsaWVudDsKK2NsYXNzIENhY2hlU3RvcmFnZVBy
b3ZpZGVyOwogY2xhc3MgQ2hyb21lOwogY2xhc3MgQ2hyb21lQ2xpZW50OwogY2xhc3MgQ29sb3I7
CkBAIC01MTAsNiArNTExLDcgQEAgcHVibGljOgogCiAgICAgQXBwbGljYXRpb25DYWNoZVN0b3Jh
Z2UmIGFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlKCkgeyByZXR1cm4gbV9hcHBsaWNhdGlvbkNhY2hl
U3RvcmFnZTsgfQogICAgIERhdGFiYXNlUHJvdmlkZXImIGRhdGFiYXNlUHJvdmlkZXIoKSB7IHJl
dHVybiBtX2RhdGFiYXNlUHJvdmlkZXI7IH0KKyAgICBDYWNoZVN0b3JhZ2VQcm92aWRlciYgY2Fj
aGVTdG9yYWdlUHJvdmlkZXIoKSB7IHJldHVybiBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyOyB9CiAg
ICAgU29ja2V0UHJvdmlkZXImIHNvY2tldFByb3ZpZGVyKCkgeyByZXR1cm4gbV9zb2NrZXRQcm92
aWRlcjsgfQogCiAgICAgU3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyJiBzdG9yYWdlTmFtZXNwYWNl
UHJvdmlkZXIoKSB7IHJldHVybiBtX3N0b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5nZXQoKTsgfQpA
QCAtNzg0LDYgKzc4Niw3IEBAIHByaXZhdGU6CiAKICAgICBSZWY8U29ja2V0UHJvdmlkZXI+IG1f
c29ja2V0UHJvdmlkZXI7CiAgICAgUmVmPEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlPiBtX2FwcGxp
Y2F0aW9uQ2FjaGVTdG9yYWdlOworICAgIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4gbV9jYWNo
ZVN0b3JhZ2VQcm92aWRlcjsKICAgICBSZWY8RGF0YWJhc2VQcm92aWRlcj4gbV9kYXRhYmFzZVBy
b3ZpZGVyOwogICAgIFJlZjxQbHVnaW5JbmZvUHJvdmlkZXI+IG1fcGx1Z2luSW5mb1Byb3ZpZGVy
OwogICAgIFJlZjxTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI+IG1fc3RvcmFnZU5hbWVzcGFjZVBy
b3ZpZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcAppbmRleCAx
MTIzZGQ2ZDQwNWE5NDgxM2E0YTc4NzQyYzdkNjZkMmNmMWJlZTdjLi5mMWI4MjdkY2ZiYWFlNmU2
YzhkY2NhZDlkMThkNDkzNzlkYzk1MWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2VDb25maWd1cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25m
aWd1cmF0aW9uLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQXBwbGljYXRpb25D
YWNoZVN0b3JhZ2UuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZENsaWVudC5oIgorI2luY2x1ZGUg
IkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VQcm92aWRlci5oIgog
I2luY2x1ZGUgIkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgiCiAjaW5jbHVkZSAiRWRpdG9yQ2xp
ZW50LmgiCkBAIC00MywxMCArNDQsMTEgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYWdl
Q29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24oVW5pcXVlUmVmPEVkaXRvckNsaWVudD4m
JiBlZGl0b3JDbGllbnQsIFJlZjxTb2NrZXRQcm92aWRlcj4mJiBzb2NrZXRQcm92aWRlciwgVW5p
cXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmIGxpYldlYlJUQ1Byb3ZpZGVyKQorUGFnZUNvbmZp
Z3VyYXRpb246OlBhZ2VDb25maWd1cmF0aW9uKFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYgZWRp
dG9yQ2xpZW50LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYgc29ja2V0UHJvdmlkZXIsIFVuaXF1ZVJl
ZjxMaWJXZWJSVENQcm92aWRlcj4mJiBsaWJXZWJSVENQcm92aWRlciwgUmVmPENhY2hlU3RvcmFn
ZVByb3ZpZGVyPiYmIGNhY2hlU3RvcmFnZVByb3ZpZGVyKQogICAgIDogZWRpdG9yQ2xpZW50KFdU
Rk1vdmUoZWRpdG9yQ2xpZW50KSkKICAgICAsIHNvY2tldFByb3ZpZGVyKFdURk1vdmUoc29ja2V0
UHJvdmlkZXIpKQogICAgICwgbGliV2ViUlRDUHJvdmlkZXIoV1RGTW92ZShsaWJXZWJSVENQcm92
aWRlcikpCisgICAgLCBjYWNoZVN0b3JhZ2VQcm92aWRlcihXVEZNb3ZlKGNhY2hlU3RvcmFnZVBy
b3ZpZGVyKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29u
ZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oCmlu
ZGV4IGY1M2ExMmMzODdlYWZiNDA0ZjJhMDY2NjAyNzU5ZWM5YTdmYzBmNWYuLmE4NjJkNDMwMmUw
MzY0NjRmOTEwYTU3YjAxZDc3YjY0Y2M2ZWY0MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VD
b25maWd1cmF0aW9uLmgKQEAgLTM0LDYgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgQWx0ZXJuYXRpdmVUZXh0Q2xpZW50OwogY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7
CiBjbGFzcyBCYWNrRm9yd2FyZENsaWVudDsKK2NsYXNzIENhY2hlU3RvcmFnZVByb3ZpZGVyOwog
Y2xhc3MgQ2hyb21lQ2xpZW50OwogY2xhc3MgQ29udGV4dE1lbnVDbGllbnQ7CiBjbGFzcyBEYXRh
YmFzZVByb3ZpZGVyOwpAQCAtNTgsNyArNTksNyBAQCBjbGFzcyBXZWJHTFN0YXRlVHJhY2tlcjsK
IGNsYXNzIFBhZ2VDb25maWd1cmF0aW9uIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdl
Q29uZmlndXJhdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFdF
QkNPUkVfRVhQT1JUIFBhZ2VDb25maWd1cmF0aW9uKFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYs
IFJlZjxTb2NrZXRQcm92aWRlcj4mJiwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmKTsK
KyAgICBXRUJDT1JFX0VYUE9SVCBQYWdlQ29uZmlndXJhdGlvbihVbmlxdWVSZWY8RWRpdG9yQ2xp
ZW50PiYmLCBSZWY8U29ja2V0UHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRl
cj4mJiwgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB+
UGFnZUNvbmZpZ3VyYXRpb24oKTsKIAogICAgIEFsdGVybmF0aXZlVGV4dENsaWVudCogYWx0ZXJu
YXRpdmVUZXh0Q2xpZW50IHsgbnVsbHB0ciB9OwpAQCAtODcsNiArODgsNyBAQCBwdWJsaWM6CiAK
ICAgICBSZWZQdHI8QXBwbGljYXRpb25DYWNoZVN0b3JhZ2U+IGFwcGxpY2F0aW9uQ2FjaGVTdG9y
YWdlOwogICAgIFJlZlB0cjxEYXRhYmFzZVByb3ZpZGVyPiBkYXRhYmFzZVByb3ZpZGVyOworICAg
IFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4gY2FjaGVTdG9yYWdlUHJvdmlkZXI7CiAgICAgUmVm
UHRyPFBsdWdpbkluZm9Qcm92aWRlcj4gcGx1Z2luSW5mb1Byb3ZpZGVyOwogICAgIFJlZlB0cjxT
dG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI+IHN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjsKICAgICBS
ZWZQdHI8VXNlckNvbnRlbnRQcm92aWRlcj4gdXNlckNvbnRlbnRQcm92aWRlcjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCmluZGV4IDc4NmU4ZjdhN2JjYTYwODA5YTU1
NWI2NWY4MzVjMmE1MGEwMDgyZTguLjgyNTliMmY4ZTI4NjYzYjIxN2NkZWEwNGMyZjhlYzM4Mzdj
ZDc4ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcApAQCAtMjgs
NiArMjgsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNWR0ltYWdlLmgiCiAK
KyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgog
I2luY2x1ZGUgIkNvbW1vblZNLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCkBAIC00MjksNyAr
NDMwLDggQEAgRW5jb2RlZERhdGFTdGF0dXMgU1ZHSW1hZ2U6OmRhdGFDaGFuZ2VkKGJvb2wgYWxs
RGF0YVJlY2VpdmVkKQogICAgICAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlv
bigKICAgICAgICAgICAgIGNyZWF0ZUVtcHR5RWRpdG9yQ2xpZW50KCksCiAgICAgICAgICAgICBT
b2NrZXRQcm92aWRlcjo6Y3JlYXRlKCksCi0gICAgICAgICAgICBtYWtlVW5pcXVlUmVmPExpYldl
YlJUQ1Byb3ZpZGVyPigpCisgICAgICAgICAgICBtYWtlVW5pcXVlUmVmPExpYldlYlJUQ1Byb3Zp
ZGVyPigpLAorICAgICAgICAgICAgQ2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpCiAgICAg
ICAgICk7CiAgICAgICAgIGZpbGxXaXRoRW1wdHlDbGllbnRzKHBhZ2VDb25maWd1cmF0aW9uKTsK
ICAgICAgICAgbV9jaHJvbWVDbGllbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPFNWR0ltYWdlQ2hyb21l
Q2xpZW50Pih0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CmluZGV4IDdlMzFkNTJiMDU3OTNjMTZlNTNl
MjU2MTEwYTYzYmZlYWNlYTgzOWEuLjliODU4M2UzOGI2ZWNhY2RmNzcwMWUwMDkyMjBiOGJmODBj
YTM5M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dApAQCAtNTIsNiArNTIsNyBAQCBzZXQoV2ViS2l0Ml9J
TkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvQXBwbGVQ
YXkiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvQXBwbGljYXRpb25DYWNoZSIKICAg
ICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9BdXRvbWF0aW9uIgorICAgICIke1dFQktJVDJf
RElSfS9XZWJQcm9jZXNzL0NhY2hlIgogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0Nv
b2tpZXMiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvRGF0YWJhc2VzIgogICAgICIk
e1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5MDlhNWVjZDdk
N2IxYWIwMjE0YjI5MTk3MDQ5NjE4ODcwNzM2NDEyLi5hODM4ODE2MGQxZTFiODllNDgwYjFjNjQz
M2YwZjczYTUwMzVmOGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTg5MSw2ICs4OTEsNyBAQAogCQk0MTMwNzVCMjFERTg1RjU4MDAz
OUVDNjkgLyogTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTYxREU4NUVFNzAwMzlFQzY5IC8qIExpYldl
YlJUQ1NvY2tldEZhY3RvcnkuaCAqLzsgfTsKIAkJNDEzMDc1QjMxREU4NUY1ODAwMzlFQzY5IC8q
IExpYldlYlJUQ1Byb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxMzA3NUE3MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRl
ci5jcHAgKi87IH07CiAJCTQxMzA3NUI0MURFODVGNTgwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92
aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEz
MDc1QTgxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmggKi87IH07CisJCTQx
RDEyOURBMUYzRDEwMTgwMEQxNUU0NyAvKiBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMTI5RDkxRjNEMTAx
NDAwRDE1RTQ3IC8qIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmggKi87IH07CiAJCTQxREM0NTk2
MUUzRDZFMjIwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxREM0NTk0MUUzRDZFMUUwMEIxMUY1MSAv
KiBOZXR3b3JrUlRDUHJvdmlkZXIuaCAqLzsgfTsKIAkJNDFEQzQ1OTcxRTNENkUyMjAwQjExRjUx
IC8qIE5ldHdvcmtSVENQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MURDNDU5NTFFM0Q2RTFFMDBCMTFGNTEgLyogTmV0d29ya1JUQ1By
b3ZpZGVyLmNwcCAqLzsgfTsKIAkJNDFEQzQ1OUIxRTNEQkIyODAwQjExRjUxIC8qIExpYldlYlJU
Q1NvY2tldENsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MURDNDU5OTFFM0RCQjI0MDBCMTFGNTEgLyogTGliV2ViUlRDU29ja2V0Q2xpZW50
LmNwcCAqLzsgfTsKQEAgLTMxNDIsNiArMzE0Myw3IEBACiAJCTQxMzA3NUE3MURFODVFRTcwMDM5
RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0gTGliV2ViUlRDUHJvdmlkZXIuY3BwOyBwYXRoID0g
TmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsg
fTsKIAkJNDEzMDc1QTgxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbGluZUVuZGluZyA9IDA7IG5hbWUgPSBMaWJXZWJSVENQ
cm92aWRlci5oOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0g
eGNvZGUubGFuZy5vYmpjcHA7IH07CiAJCTQxQUM4NjgxMUUwNDJFNTMwMDMwMzA3NCAvKiBXZWJS
VENSZXNvbHZlci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IGxpbmVFbmRpbmcgPSAwOyBu
YW1lID0gV2ViUlRDUmVzb2x2ZXIubWVzc2FnZXMuaW47IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9X
ZWJSVENSZXNvbHZlci5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5n
dWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0gIjxub25lPiI7IH07CisJCTQxRDEyOUQ5MUYz
RDEwMTQwMEQxNUU0NyAvKiBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MURDNDU5NDFFM0Q2RTFFMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtSVENQcm92aWRlci5oOyBwYXRoID0g
TmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MURDNDU5NTFFM0Q2RTFFMDBCMTFGNTEgLyogTmV0d29ya1JUQ1By
b3ZpZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtS
VENQcm92aWRlci5jcHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1By
b3ZpZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFEQzQ1OTgxRTNENkVE
NjAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IG5hbWUgPSBOZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW47IHBhdGggPSBOZXR3b3Jr
UHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtNTkxMiw2ICs1OTE0LDE0IEBACiAJCQluYW1lID0gd2VicnRj
OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJNDFEMTI5RDgxRjNEMTAxNDAw
RDE1RTQ3IC8qIENhY2hlICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9
ICgKKwkJCQk0MUQxMjlEOTFGM0QxMDE0MDBEMTVFNDcgLyogV2ViQ2FjaGVTdG9yYWdlUHJvdmlk
ZXIuaCAqLywKKwkJCSk7CisJCQlwYXRoID0gQ2FjaGU7CisJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOworCQl9OwogCQk0NDUwQUVCRTFEQzNGQUFDMDA5OTQzRjIgLyogY29jb2EgKi8gPSB7CiAJ
CQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtNjU5Miw2ICs2NjAyLDcgQEAK
IAkJCWNoaWxkcmVuID0gKAogCQkJCTFBQjFGNzcwMUQxQjJGNUQwMDdDOUJEMSAvKiBBcHBsZVBh
eSAqLywKIAkJCQkxQzBBMTk0MzFDOEZGMUE4MDBGRTBFQkIgLyogQXV0b21hdGlvbiAqLywKKwkJ
CQk0MUQxMjlEODFGM0QxMDE0MDBEMTVFNDcgLyogQ2FjaGUgKi8sCiAJCQkJN0M2RTcwRjgxOEIy
RDQ3RTAwRjI0RTJFIC8qIGNvY29hICovLAogCQkJCTMzMDkzNDRCMTMxNUI5M0EwMDk3QTdCQyAv
KiBDb29raWVzICovLAogCQkJCTUxMkE5NzU0MTgwREY5MjcwMDM5QTE0OSAvKiBEYXRhYmFzZXMg
Ki8sCkBAIC04Njg5LDYgKzg3MDAsNyBAQAogCQkJCUJDNzJCQTFFMTFFNjQ5MDcwMDFFQjRFQSAv
KiBXZWJCYWNrRm9yd2FyZExpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxOEQyQ0FFMTJENTE1
M0IwMDNCQjkzQiAvKiBXZWJCYWNrRm9yd2FyZExpc3RJdGVtLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQzcyQjlGQjExRTY0NzZCMDAxRUI0RUEgLyogV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaCBp
biBIZWFkZXJzICovLAorCQkJCTQxRDEyOURBMUYzRDEwMTgwMEQxNUU0NyAvKiBXZWJDYWNoZVN0
b3JhZ2VQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNGNTA3MjgxMjQzMjlBQTAwNTk1
NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwMzJENzUx
MEY0Mzc4RDAwNThDMTVBIC8qIFdlYkNocm9tZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
M0Y4N0I5QkUxNTg5NDAxOTAwOTBGRjYyIC8qIFdlYkNvbG9yQ2hvb3Nlci5oIGluIEhlYWRlcnMg
Ki8sCkBAIC04ODMxLDcgKzg4NDMsNiBAQAogCQkJCUJDRTBFNDI1MTY4QjdBMjgwMDU3RTY2QSAv
KiBXZWJQcm9jZXNzU3VwcGxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUExRTA5MzQxODg2
MUQzODAwRDJEQzQ5IC8qIFdlYlByb2dyZXNzVHJhY2tlckNsaWVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTEyRjU4OUQxMkE4ODM4ODAwNjI5NTMwIC8qIFdlYlByb3RlY3Rpb25TcGFjZS5oIGlu
IEhlYWRlcnMgKi8sCi0JCQkJNTFCRUI2MkMxRjNBNUFENzAwNTAyOUI5IC8qIFdlYlNlcnZpY2VX
b3JrZXJQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzc5NDg0MDQxNTBDMzUwNjAwRTUy
Q0U5IC8qIFdlYlJlbmRlckxheWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzYwODgxRjE1MDQx
M0U5MDBGQzgyQzcgLyogV2ViUmVuZGVyT2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTBB
RkZCQTE2NTQyMDQ4MDAxQkEwNUUgLyogV2ViUmVzb3VyY2VMb2FkZXIuaCBpbiBIZWFkZXJzICov
LApAQCAtODg0Myw2ICs4ODU0LDcgQEAKIAkJCQk0MURDNDU5RjFFM0RCREE1MDBCMTFGNTEgLyog
V2ViUlRDU29ja2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzM2MUQ3MzE5MjdGQTM2MDAzNkE1
OUQgLyogV2ViU2NyaXB0TWVzc2FnZUhhbmRsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUQzQjk0
ODQ5MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJTZWFyY2hQb3B1cE1lbnUuaCBpbiBIZWFkZXJzICov
LAorCQkJCTUxQkVCNjJDMUYzQTVBRDcwMDUwMjlCOSAvKiBXZWJTZXJ2aWNlV29ya2VyUHJvdmlk
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNDgzMkQ3MUE5Q0RGOTYwMDhCNERGRSAvKiBXZWJz
aXRlRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE0ODMyRDExQTlCREMyRjAwOEI0REZFIC8q
IFdlYnNpdGVEYXRhUmVjb3JkLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTUzQzJBQTFBMzI1NzMw
MDA0RThDNzAgLyogV2Vic2l0ZURhdGFTdG9yZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMDM3MSw3
ICsxMDM4Myw2IEBACiAJCQkJMkRBOTQ0QTExODg0RTRGMDAwRUQ4NkRCIC8qIFdlYklPU0V2ZW50
RmFjdG9yeS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUMwMzM3REQzMTI3QTJBMEUwMDhGRjRGNCAv
KiBXZWJLZXlib2FyZEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNjI4MEYzMTkxOTk4
MkEwMDZBRDlGOSAvKiBXZWJLaXQubSBpbiBTb3VyY2VzICovLAotCQkJCTUxQkVCNjJCMUYzQTVB
RDcwMDUwMjlCOSAvKiBXZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkM5QkE1MDQxNjk3QzQ1MzAwRTQ0NjE2IC8qIFdlYktpdDJJbml0aWFsaXplLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTQ2NTI1MEU2MUVDRjUyREMwMDIwMjVDQiAvKiBXZWJLaXQySW5p
dGlhbGl6ZUNvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGQjA4RkYxNjM5REUxQTAwRUMz
MjRBIC8qIFdlYkxvYWRlclN0cmF0ZWd5LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMTA0NjksNiAr
MTA0ODAsNyBAQAogCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQyAvKiBXZWJSVENTb2NrZXRN
ZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0MzNjFENzIxOTI3RkEzNjAw
MzZBNTlEIC8qIFdlYlNjcmlwdE1lc3NhZ2VIYW5kbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUQzQjk0ODQ4MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJTZWFyY2hQb3B1cE1lbnUuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNTFCRUI2MkIxRjNBNUFENzAwNTAyOUI5IC8qIFdlYlNlcnZpY2VXb3Jr
ZXJQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTQ4MzJENjFBOUNERjk2MDA4QjRE
RkUgLyogV2Vic2l0ZURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE0ODMyRDkxQTlEMUZE
MjAwOEI0REZFIC8qIFdlYnNpdGVEYXRhUmVjb3JkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFB
NTNDMkE5MUEzMjU3MkIwMDRFOEM3MCAvKiBXZWJzaXRlRGF0YVN0b3JlLmNwcCBpbiBTb3VyY2Vz
ICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0NhY2hlL1dlYkNhY2hl
U3RvcmFnZVByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQ2FjaGUvV2ViQ2Fj
aGVTdG9yYWdlUHJvdmlkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTc4ODM0ZGY3YTNkOGI0MGMxZTI5OWQ3
NDY3OWM5OTg2YzU4YWQ2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0NhY2hlL1dlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgKQEAgLTAsMCArMSw0MCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8V2ViQ29yZS9DYWNoZVN0b3JhZ2VQ
cm92aWRlci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViQ2FjaGVTdG9yYWdl
UHJvdmlkZXIgZmluYWwgOiBwdWJsaWMgV2ViQ29yZTo6Q2FjaGVTdG9yYWdlUHJvdmlkZXIgewor
cHVibGljOgorICAgIHN0YXRpYyBSZWY8V2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXI+IGNyZWF0ZSgp
IHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIpOyB9CisKK3By
aXZhdGU6CisgICAgV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIoKSA9IGRlZmF1bHQ7Cit9OworCit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDhj
ZTZhMmU2YTQ5Y2UxMGI4MThlN2Y3NjdmOTY4NjM1NDNkYjFjMWMuLmZlMzdlMGQ1NDExODVlNTk4
OGEwY2RlYmI1ZDc0YmRmZjEzZTY0NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC02OCw2ICs2OCw3IEBACiAjaW5jbHVkZSAiV2ViQWx0ZXJu
YXRpdmVUZXh0Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViQmFja0ZvcndhcmRMaXN0SXRlbS5oIgog
I2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmgiCisjaW5jbHVkZSAiV2ViQ2FjaGVT
dG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJXZWJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRl
ICJXZWJDb2xvckNob29zZXIuaCIKICNpbmNsdWRlICJXZWJDb250ZXh0TWVudS5oIgpAQCAtMzcx
LDcgKzM3Miw4IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBXZWJQYWdlQ3Jl
YXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKICAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdl
Q29uZmlndXJhdGlvbigKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJFZGl0b3JDbGllbnQ+KHRo
aXMpLAogICAgICAgICBXZWJTb2NrZXRQcm92aWRlcjo6Y3JlYXRlKCksCi0gICAgICAgIG1ha2VV
bmlxdWVSZWY8V2ViS2l0OjpMaWJXZWJSVENQcm92aWRlcj4oKQorICAgICAgICBtYWtlVW5pcXVl
UmVmPFdlYktpdDo6TGliV2ViUlRDUHJvdmlkZXI+KCksCisgICAgICAgIFdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLmNhY2hlU3RvcmFnZVByb3ZpZGVyKCkKICAgICApOwogICAgIHBhZ2VDb25maWd1
cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQoKnRoaXMpOwogI2lmIEVO
QUJMRShDT05URVhUX01FTlVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3Bw
CmluZGV4IDM3ODIyODY2YTI3ZDcwZDZhNGFjZGU4ZDI2ZDQ3NDk0OTE1YWZkMDEuLjg3MGYzY2Rl
ODUzN2M2Mjg5ZmMxNzVmMjdiZTdjOWQ0ODZjMDdhNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlICJTdGF0aXN0aWNz
RGF0YS5oIgogI2luY2x1ZGUgIlVzZXJEYXRhLmgiCiAjaW5jbHVkZSAiV2ViQXV0b21hdGlvblNl
c3Npb25Qcm94eS5oIgorI2luY2x1ZGUgIldlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCiAjaW5j
bHVkZSAiV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzLmgiCiAjaW5jbHVkZSAiV2ViQ29va2llTWFu
YWdlci5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgpAQCAtMTYwLDYgKzE2
MSw3IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3MoKQogI2VuZGlmCiAgICAgLCBtX3dlYkluc3Bl
Y3RvckludGVycnVwdERpc3BhdGNoZXIoV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcjo6
Y3JlYXRlKCkpCiAgICAgLCBtX3dlYkxvYWRlclN0cmF0ZWd5KCpuZXcgV2ViTG9hZGVyU3RyYXRl
Z3kpCisgICAgLCBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyKFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVy
OjpjcmVhdGUoKSkKICAgICAsIG1fZG5zUHJlZmV0Y2hIeXN0ZXJlcmlzKFt0aGlzXShIeXN0ZXJl
c2lzU3RhdGUgc3RhdGUpIHsgaWYgKHN0YXRlID09IEh5c3RlcmVzaXNTdGF0ZTo6U3RvcHBlZCkg
bV9kbnNQcmVmZXRjaGVkSG9zdHMuY2xlYXIoKTsgfSkKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExV
R0lOX0FQSSkKICAgICAsIG1fcGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyKFBsdWdpblBy
b2Nlc3NDb25uZWN0aW9uTWFuYWdlcjo6Y3JlYXRlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuaAppbmRleCBjZjJhYjgxM2IzNzkwMzczYjJkYTBmYTZmYWJmN2JhYzQ3YjJmNDk3
Li4xMjNjNGJiMTk4Y2FmNzBjZDk3NmY2OTU5OWY3Nzc5MGIxZDBiYjc0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTgwLDYgKzgwLDcgQEAgY2xhc3MgT2JqQ09iamVj
dEdyYXBoOwogY2xhc3MgVXNlckRhdGE7CiBjbGFzcyBXYXlsYW5kQ29tcG9zaXRvckRpc3BsYXk7
CiBjbGFzcyBXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5OworY2xhc3MgV2ViQ2FjaGVTdG9yYWdl
UHJvdmlkZXI7CiBjbGFzcyBXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M7CiBjbGFzcyBXZWJGcmFt
ZTsKIGNsYXNzIFdlYkxvYWRlclN0cmF0ZWd5OwpAQCAtMjIyLDYgKzIyMyw4IEBAIHB1YmxpYzoK
IAogICAgIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkqIGF1dG9tYXRpb25TZXNzaW9uUHJveHko
KSB7IHJldHVybiBtX2F1dG9tYXRpb25TZXNzaW9uUHJveHkuZ2V0KCk7IH0KIAorICAgIFdlYkNh
Y2hlU3RvcmFnZVByb3ZpZGVyJiBjYWNoZVN0b3JhZ2VQcm92aWRlcigpIHsgcmV0dXJuIG1fY2Fj
aGVTdG9yYWdlUHJvdmlkZXIuZ2V0KCk7IH0KKwogcHJpdmF0ZToKICAgICBXZWJQcm9jZXNzKCk7
CiAgICAgfldlYlByb2Nlc3MoKTsKQEAgLTM3NSw2ICszNzgsOCBAQCBwcml2YXRlOgogICAgIFJl
ZlB0cjxOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24+IG1fbmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
OwogICAgIFdlYkxvYWRlclN0cmF0ZWd5JiBtX3dlYkxvYWRlclN0cmF0ZWd5OwogCisgICAgUmVm
PFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyPiBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyOworCiAjaWYg
VVNFKExJQldFQlJUQykKICAgICBzdGQ6OnVuaXF1ZV9wdHI8TGliV2ViUlRDTmV0d29yaz4gbV9s
aWJXZWJSVENOZXR3b3JrOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0KaW5kZXggYzAwMWYwMDI4MDY1MzIwMmI4ODNjNjBhZmE0OTM3ZDRhM2Y2Njkw
ZC4uYWYwZjdlMmE5ZjZiZDYxMzU1ZjE2ZTgzMjZlYjRhNjc2NjQ2OTljNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMTI0LDYgKzEyNCw3IEBACiAj
aW1wb3J0IDxXZWJDb3JlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL0JhY2tGb3J3YXJkQ29udHJvbGxlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9DU1NBbmltYXRp
b25Db250cm9sbGVyLmg+CisjaW1wb3J0IDxXZWJDb3JlL0NhY2hlU3RvcmFnZVByb3ZpZGVyLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL0Nocm9tZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Db2xvck1hYy5o
PgogI2ltcG9ydCA8V2ViQ29yZS9EYXRhYmFzZU1hbmFnZXIuaD4KQEAgLTE0MTMsNyArMTQxNCw4
IEBAIC0gKHZvaWQpX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTooTlNTdHJpbmcg
KilmcmFtZU5hbWUgZ3JvdXBOYW1lOihOU1N0CiAgICAgUGFnZUNvbmZpZ3VyYXRpb24gcGFnZUNv
bmZpZ3VyYXRpb24oCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViRWRpdG9yQ2xpZW50PihzZWxm
KSwKICAgICAgICAgU29ja2V0UHJvdmlkZXI6OmNyZWF0ZSgpLAotICAgICAgICBtYWtlVW5pcXVl
UmVmPFdlYkNvcmU6OkxpYldlYlJUQ1Byb3ZpZGVyPigpCisgICAgICAgIG1ha2VVbmlxdWVSZWY8
V2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXI+KCksCisgICAgICAgIFdlYkNvcmU6OkNhY2hlU3Rv
cmFnZVByb3ZpZGVyOjpjcmVhdGUoKQogICAgICk7CiAjaWYgIVBMQVRGT1JNKElPUykKICAgICBw
YWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50KHNlbGYp
OwpAQCAtMTY3Niw3ICsxNjc4LDggQEAgLSAoaWQpaW5pdFNpbXBsZUhUTUxEb2N1bWVudFdpdGhT
dHlsZTooTlNTdHJpbmcgKilzdHlsZSBmcmFtZTooQ0dSZWN0KWZyYW1lIHByZWYKICAgICBQYWdl
Q29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbigKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxX
ZWJFZGl0b3JDbGllbnQ+KHNlbGYpLAogICAgICAgICBTb2NrZXRQcm92aWRlcjo6Y3JlYXRlKCks
Ci0gICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXI+KCkKKyAg
ICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpMaWJXZWJSVENQcm92aWRlcj4oKSwKKyAgICAg
ICAgV2ViQ29yZTo6Q2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpCiAgICAgKTsKICAgICBw
YWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50SU9TKHNl
bGYpOwogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcu
Y3BwCmluZGV4IDY2ZWZlMjMxNzBlZmQ1NjQwYmFmNmE0MzFiZWU0OWJkNDk3MGUyNzAuLjRhYWEw
OTI4YzgyYjI1OWY0MTM1YzkyZmUxZjcxMGY5NWMxMmI5YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYlZpZXcuY3BwCkBAIC04NCw2ICs4NCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9CU3RyaW5n
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0JpdG1hcEluZm8uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0NhY2hlU3RvcmFnZVBy
b3ZpZGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DaHJvbWUuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0NvbnRleHRNZW51Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Db250ZXh0TWVudUNvbnRyb2xsZXIu
aD4KQEAgLTMxMDIsNyArMzEwMyw4IEBAIEhSRVNVTFQgV2ViVmlldzo6aW5pdFdpdGhGcmFtZShS
RUNUIGZyYW1lLCBfSW5fIEJTVFIgZnJhbWVOYW1lLCBfSW5fIEJTVFIgZ3JvdXBOCiAgICAgUGFn
ZUNvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbigKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJF
ZGl0b3JDbGllbnQ+KHRoaXMpLAogICAgICAgICBTb2NrZXRQcm92aWRlcjo6Y3JlYXRlKCksCi0g
ICAgICAgIG1ha2VVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+KCkKKyAgICAgICAgbWFrZVVu
aXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4oKSwKKyAgICAgICAgV2ViQ29yZTo6Q2FjaGVTdG9y
YWdlUHJvdmlkZXI6OmNyZWF0ZSgpCiAgICAgKTsKICAgICBjb25maWd1cmF0aW9uLmJhY2tGb3J3
YXJkQ2xpZW50ID0gQmFja0ZvcndhcmRMaXN0OjpjcmVhdGUoKTsKICAgICBjb25maWd1cmF0aW9u
LmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQodGhpcyk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDlmYTM5
YWZiYjFmYWQ5MzJiZDA0ZjgxMmViNTkwNTJkZTExZGVkYS4uMmY4MmNmYjQxMTE5NDQ4OGZjODRl
YjEwMzYxYjM2ZTRhNDRiZjE3YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE3LTA4LTEzICBZ
b3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbQ2FjaGUgQVBJXSBB
ZGRpbmcgZ2VuZXJpYyBzdXBwb3J0IGZvciBDYWNoZVN0b3JhZ2UgYW5kIENhY2hlIG1ldGhvZHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTQ1NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdEV4
cGVjdGF0aW9uczogU2tpcHBpbmcgYSB0ZXN0IHRoYXQgd291bGQgdGltZW91dCBvdGhlcndpc2Ug
ZHVlIHRvIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIGxpbWl0YXRpb25zLgorCiAyMDE3LTA4
LTE0ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbY3NzLXVp
XSBJbXBsZW1lbnQgY2FyZXQtY29sb3Igc3VwcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKaW5kZXggZDcyMDM0NDM3OGMwODIzZDY4NmIyMzU3MzI5NDNkNjAzMzM1ZGFjYy4uNjFkZGFk
MWViMzYwNzEzYjNkMDQ1Mzc3YTgxZDVmODg5NjI2NjNkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTctMDgtMTMgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFtDYWNoZSBBUEldIEFkZGluZyBnZW5lcmljIHN1
cHBvcnQgZm9yIENhY2hlU3RvcmFnZSBhbmQgQ2FjaGUgbWV0aG9kcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NDU1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jcmVkZW50aWFscy5odHRw
cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2Nh
Y2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93
b3JrZXIvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9j
YWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dDoKKwogMjAxNy0wOC0xNCAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxvdXQgcjIy
MDYyMiAmIHIyMjA2OTYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGI5NTYxODkyNDYxNjNhMDFiZjU3
YWFjZjM5NGQ0ZmUwM2QwZDhjMDUuLmM3YWVlYzRhY2FkZmEzNGIyNDFkMDE4NDIxNjEyMGU0MWEx
MTJlMTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTIxLDcgKzEyMSw3IEBAIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3N0dWItNC42LjItY2FjaGUuaHRt
bCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc3R1Yi00LjYuMy1jYWNoZS1zdG9yYWdlLmh0bWwgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UgWyBQYXNzIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0
b3JhZ2Uvd2luZG93IFsgUGFzcyBGYWlsdXJlIF0KLQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9jb21tb24uaHR0cHMuaHRtbCBb
IFNraXAgXQogCiAjIHRleHRhcmVhLmFuaW1hdGUgaXMgbm90IHN1cHBvcnRlZAogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXVpLTMvY2FyZXQtY29sb3ItMDE4Lmh0bWwg
WyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jcmVk
ZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3Jr
ZXIvY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDA3NjE2NTBkYmM0MWU4YmQx
NWU2NGU0N2UzMDhmMmRjMzJhYjllNWIuLjM4ZTk1MjM5N2MzNDYxOTI4ZjFlZjFlZGY3YWJlZTMw
Y2UzODEyNzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jcmVk
ZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zZXJ2aWNl
d29ya2VyL2NyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAot
RkFJTCBDYWNoZSBBUEkgbWF0Y2hpbmcgaW5jbHVkZXMgY3JlZGVudGlhbHMgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCitGQUlMIENhY2hlIEFQSSBtYXRjaGluZyBpbmNsdWRlcyBjcmVkZW50aWFs
cyBhc3NlcnRfdW5yZWFjaGVkOiB1bnJlZ2lzdGVyIHNob3VsZCBub3QgZmFpbDogc2VydmljZVdv
cmtlci5nZXRSZWdpc3RyYXRpb24oKSBpcyBub3QgeWV0IGltcGxlbWVudGVkIFJlYWNoZWQgdW5y
ZWFjaGFibGUgY29kZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNo
ZS1hZGQuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUt
YWRkLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA0OWE0Njc4MjhkOTE3NDI2NTEwOTVlYzk2NjA3
MGIyNTFmOTU0NmEyLi5lZjRiNTJjZjY2ODM0MGUwZjRhMGQ3MmZmZGEwMzk0NzQ3MTkzZjQ2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1hZGQuaHR0cHMtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLWFkZC5odHRwcy1leHBl
Y3RlZC50eHQKQEAgLTEsMjAgKzEsMjAgQEAKIAotRkFJTCBDYWNoZS5hZGQgY2FsbGVkIHdpdGgg
bm8gYXJndW1lbnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGQgY2Fs
bGVkIHdpdGggcmVsYXRpdmUgVVJMIHNwZWNpZmllZCBhcyBhIHN0cmluZyBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRoIG5vbi1IVFRQL0hUVFBTIFVS
TCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRoIFJl
cXVlc3Qgb2JqZWN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGQgY2Fs
bGVkIHdpdGggUE9TVCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNo
ZS5hZGQgY2FsbGVkIHR3aWNlIHdpdGggdGhlIHNhbWUgUmVxdWVzdCBvYmplY3QgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZCB3aXRoIHJlcXVlc3Qgd2l0aCBudWxsIGJv
ZHkgKG5vdCBjb25zdW1lZCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFk
ZCB3aXRoIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUu
YWRkQWxsIHdpdGggMjA2IHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBD
YWNoZS5hZGQgd2l0aCByZXF1ZXN0IHRoYXQgcmVzdWx0cyBpbiBhIHN0YXR1cyBvZiA0MDQgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZCB3aXRoIHJlcXVlc3QgdGhhdCBy
ZXN1bHRzIGluIGEgc3RhdHVzIG9mIDUwMCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwg
Q2FjaGUuYWRkQWxsIHdpdGggbm8gYXJndW1lbnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgot
RkFJTCBDYWNoZS5hZGRBbGwgd2l0aCBhIG1peCBvZiB2YWxpZCBhbmQgdW5kZWZpbmVkIGFyZ3Vt
ZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggYW4g
ZW1wdHkgYXJyYXkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZEFsbCB3
aXRoIHN0cmluZyBVUkwgYXJndW1lbnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBD
YWNoZS5hZGRBbGwgd2l0aCBSZXF1ZXN0IGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKLUZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggYSBtaXggb2Ygc3VjY2VlZGluZyBhbmQgZmFpbGlu
ZyByZXF1ZXN0cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkQWxsIGNh
bGxlZCB3aXRoIHRoZSBzYW1lIFJlcXVlc3Qgb2JqZWN0IHNwZWNpZmllZCB0d2ljZSBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50
cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgY2FsbGVk
IHdpdGggcmVsYXRpdmUgVVJMIHNwZWNpZmllZCBhcyBhIHN0cmluZyBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjog
Tm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgY2FsbGVkIHdpdGggbm9uLUhUVFAvSFRU
UFMgVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZCBj
YWxsZWQgd2l0aCBSZXF1ZXN0IG9iamVjdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVk
IgorRkFJTCBDYWNoZS5hZGQgY2FsbGVkIHdpdGggUE9TVCByZXF1ZXN0IHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZCBjYWxsZWQgdHdpY2Ugd2l0aCB0aGUg
c2FtZSBSZXF1ZXN0IG9iamVjdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJ
TCBDYWNoZS5hZGQgd2l0aCByZXF1ZXN0IHdpdGggbnVsbCBib2R5IChub3QgY29uc3VtZWQpIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1
cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZCB3aXRoIDIwNiBy
ZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGRB
bGwgd2l0aCAyMDYgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZB
SUwgQ2FjaGUuYWRkIHdpdGggcmVxdWVzdCB0aGF0IHJlc3VsdHMgaW4gYSBzdGF0dXMgb2YgNDA0
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5v
dFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZCB3aXRoIHJl
cXVlc3QgdGhhdCByZXN1bHRzIGluIGEgc3RhdHVzIG9mIDUwMCBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90
IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGRBbGwgd2l0aCBubyBhcmd1bWVudHMgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9y
dGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggYSBtaXgg
b2YgdmFsaWQgYW5kIHVuZGVmaW5lZCBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggYW4gZW1wdHkgYXJyYXkgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVk
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggc3RyaW5nIFVS
TCBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUu
YWRkQWxsIHdpdGggUmVxdWVzdCBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggYSBtaXggb2Ygc3VjY2VlZGluZyBhbmQgZmFp
bGluZyByZXF1ZXN0cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNo
ZS5hZGRBbGwgY2FsbGVkIHdpdGggdGhlIHNhbWUgUmVxdWVzdCBvYmplY3Qgc3BlY2lmaWVkIHR3
aWNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2Nh
Y2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLWRlbGV0ZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9j
YWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1kZWxldGUuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4
IDJkZmFlNWM4YmNiYmQzZDViMDVjY2NjOTEzYTYzZTNlNjkyYTFmNzAuLmUzM2U4NThiZmRkMjc0
OTUzMDUyZTBmNjI5YWNhNGFjYTI2MGY3NjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uv
d2luZG93L2NhY2hlLWRlbGV0ZS5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93aW5kb3cvY2FjaGUtZGVsZXRlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwxMCArMSwx
MCBAQAogCi1GQUlMIENhY2hlLmRlbGV0ZSB3aXRoIG5vIGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuZGVsZXRlIGNhbGxlZCB3aXRoIGEgc3RyaW5nIFVSTCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuZGVsZXRlIGNhbGxlZCB3aXRoIGEg
UmVxdWVzdCBvYmplY3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmRlbGV0
ZSBjYWxsZWQgd2l0aCBhIEhFQUQgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZB
SUwgQ2FjaGUuZGVsZXRlIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLmRlbGV0ZSB3aXRoIGEgbm9uLWV4aXN0ZW50IGVudHJ5IHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
Tm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5kZWxldGUgd2l0aCBpZ25vcmVTZWFyY2ggb3B0
aW9uIChyZXF1ZXN0IHdpdGggc2VhcmNoIHBhcmFtZXRlcnMpIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVu
dGVkIgotRkFJTCBDYWNoZS5kZWxldGUgd2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uICh3aGVuIGl0
IGlzIHNwZWNpZmllZCBhcyBmYWxzZSkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENh
Y2hlLmRlbGV0ZSB3aXRoIG5vIGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorRkFJTCBDYWNoZS5kZWxldGUgY2FsbGVkIHdpdGggYSBzdHJpbmcgVVJMIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRl
ZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmRlbGV0ZSBjYWxsZWQgd2l0aCBh
IFJlcXVlc3Qgb2JqZWN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENh
Y2hlLmRlbGV0ZSBjYWxsZWQgd2l0aCBhIEhFQUQgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90
IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5kZWxldGUgc3VwcG9ydHMgaWdub3JlVmFyeSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5kZWxldGUgd2l0aCBhIG5v
bi1leGlzdGVudCBlbnRyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZS5kZWxldGUgd2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uIChyZXF1ZXN0IHdpdGggc2VhcmNo
IHBhcmFtZXRlcnMpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hl
LmRlbGV0ZSB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHdoZW4gaXQgaXMgc3BlY2lmaWVkIGFz
IGZhbHNlKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLWtleXMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4
IDdlMWEzNzM2ZDQzZjM3NjQ0YzJhNjgwOGY0MWQyMTA0YTJhNjQwZTAuLmE1OGFjOWJjNzJmMGEz
NmEyNWQ3ODdmYWYwOTE3YmI3NzMzMDQ2NDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uv
d2luZG93L2NhY2hlLWtleXMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3Jh
Z2Uvd2luZG93L2NhY2hlLWtleXMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDE1ICsxLDE1IEBA
CiAKLUZBSUwgQ2FjaGUua2V5cygpIGNhbGxlZCBvbiBhbiBlbXB0eSBjYWNoZSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRoIG5vIG1hdGNoaW5nIGVudHJpZXMg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmtleXMgd2l0aCBVUkwgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmtleXMgd2l0aCBSZXF1ZXN0IHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
Tm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggbmV3IFJlcXVlc3QgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmtleXMgd2l0aCBpZ25vcmVTZWFyY2ggb3B0
aW9uIChyZXF1ZXN0IHdpdGggbm8gc2VhcmNoIHBhcmFtZXRlcnMpIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVz
dCB3aXRoIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwg
Q2FjaGUua2V5cyBzdXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlLmtleXMgc3VwcG9ydHMgaWdub3JlVmFyeSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRoIFVSTCBjb250YWluaW5nIGZyYWdtZW50IHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggc3RyaW5nIGZyYWdtZW50
ICJodHRwIiBhcyBxdWVyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUua2V5
cyB3aXRob3V0IHBhcmFtZXRlcnMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
LmtleXMgd2l0aCBhIEhFQUQgUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwg
Q2FjaGUua2V5cygpIGNhbGxlZCBvbiBhbiBlbXB0eSBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90
IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGggbm8gbWF0Y2hpbmcgZW50cmllcyBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGggVVJM
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5v
dFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmtleXMgd2l0aCBS
ZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmtleXMg
d2l0aCBuZXcgUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZS5rZXlzIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIG5vIHNlYXJj
aCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNo
ZS5rZXlzIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIHNlYXJjaCBwYXJh
bWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlz
IHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgor
RkFJTCBDYWNoZS5rZXlzIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5cyB3aXRoIFVSTCBjb250YWluaW5nIGZyYWdtZW50
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5v
dFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmtleXMgd2l0aCBz
dHJpbmcgZnJhZ21lbnQgImh0dHAiIGFzIHF1ZXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitGQUlMIENhY2hlLmtleXMgd2l0aG91dCBwYXJhbWV0ZXJzIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmtleXMgd2l0aCBhIEhFQUQgUmVxdWVzdCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1z
dG9yYWdlL3dpbmRvdy9jYWNoZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1z
dG9yYWdlL3dpbmRvdy9jYWNoZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggNTdhNTFj
ZjliYTQ5ZDk1ZTdhNTdmYjljYTU1ZjI2YjUwM2Y2OGJjMS4uY2U2YmU1MzdlMWFlOTg2NjdkZDgz
MWVjNDllM2Y0ZjgxNGYwYTEwMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cv
Y2FjaGUtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2lu
ZG93L2NhY2hlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwyMiArMSwyMiBAQAogCi1G
QUlMIENhY2hlLm1hdGNoIHdpdGggbm8gbWF0Y2hpbmcgZW50cmllcyBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBVUkwgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBtdWx0aXBsZSBjYWNoZSBoaXRzIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3aXRoIG5ldyBSZXF1ZXN0IHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
Tm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3aXRoIEhFQUQgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAo
cmVxdWVzdCB3aXRoIG5vIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uIChyZXF1ZXN0IHdp
dGggc2VhcmNoIHBhcmFtZXRlcikgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
Lm1hdGNoIHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZB
SUwgQ2FjaGUubWF0Y2ggc3VwcG9ydHMgaWdub3JlVmFyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBVUkwgY29udGFpbmluZyBmcmFnbWVudCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBzdHJpbmcgZnJhZ21lbnQg
Imh0dHAiIGFzIHF1ZXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRj
aCB3aXRoIHJlc3BvbnNlcyBjb250YWluaW5nICJWYXJ5IiBoZWFkZXIgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggUmVxdWVzdCBhbmQgUmVzcG9uc2Ugb2Jq
ZWN0cyB3aXRoIGRpZmZlcmVudCBVUkxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBD
YWNoZS5tYXRjaCBpbnZva2VkIG11bHRpcGxlIHRpbWVzIGZvciB0aGUgc2FtZSBSZXF1ZXN0L1Jl
c3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCBibG9iIHNo
b3VsZCBiZSBzbGljZWFibGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1h
dGNoIHdpdGggUE9TVCBSZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNo
ZS5tYXRjaCB3aXRoIGEgbm9uLTJ4eCBSZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
LUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBhIG5ldHdvcmsgZXJyb3IgUmVzcG9uc2UgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlIHByb2R1Y2VzIGxhcmdlIFJlc3BvbnNlcyB0aGF0
IGNhbiBiZSBjbG9uZWQgYW5kIHJlYWQgY29ycmVjdGx5LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBubyBtYXRjaGluZyBlbnRyaWVzIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoIHdpdGggVVJMIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRl
ZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoIHdpdGggUmVxdWVzdCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIG11
bHRpcGxlIGNhY2hlIGhpdHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwg
Q2FjaGUubWF0Y2ggd2l0aCBuZXcgUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIEhFQUQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uIChyZXF1
ZXN0IHdpdGggbm8gc2VhcmNoIHBhcmFtZXRlcnMpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVz
dCB3aXRoIHNlYXJjaCBwYXJhbWV0ZXIpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CitGQUlMIENhY2hlLm1hdGNoIHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjog
Tm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCBzdXBwb3J0cyBpZ25vcmVWYXJ5IHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1
cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoIHdpdGggVVJM
IGNvbnRhaW5pbmcgZnJhZ21lbnQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZB
SUwgQ2FjaGUubWF0Y2ggd2l0aCBzdHJpbmcgZnJhZ21lbnQgImh0dHAiIGFzIHF1ZXJ5IHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoIHdpdGggcmVzcG9u
c2VzIGNvbnRhaW5pbmcgIlZhcnkiIGhlYWRlciBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFJlcXVlc3QgYW5kIFJlc3BvbnNlIG9iamVjdHMg
d2l0aCBkaWZmZXJlbnQgVVJMcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJ
TCBDYWNoZS5tYXRjaCBpbnZva2VkIG11bHRpcGxlIHRpbWVzIGZvciB0aGUgc2FtZSBSZXF1ZXN0
L1Jlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1h
dGNoIGJsb2Igc2hvdWxkIGJlIHNsaWNlYWJsZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFBPU1QgUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjog
Tm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIGEgbm9uLTJ4eCBSZXNwb25z
ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRo
IGEgbmV0d29yayBlcnJvciBSZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVk
IgorRkFJTCBDYWNoZSBwcm9kdWNlcyBsYXJnZSBSZXNwb25zZXMgdGhhdCBjYW4gYmUgY2xvbmVk
IGFuZCByZWFkIGNvcnJlY3RseS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtbWF0Y2hBbGwuaHR0cHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtbWF0Y2hBbGwuaHR0
cHMtZXhwZWN0ZWQudHh0CmluZGV4IDYyYmYzNjMzMzJlMzUxZTYzYzZmMjNmNjQ5NTY1N2Q2OTQ2
NDhkYTcuLjc3MDQ0ODcyMjdiMzU0OTNlNDM0NjM2Y2E4MWY4YjY1OWFhZTgzZTggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLW1hdGNoQWxsLmh0dHBzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1tYXRjaEFsbC5odHRwcy1l
eHBlY3RlZC50eHQKQEAgLTEsMTYgKzEsMTYgQEAKIAotRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRo
IG5vIG1hdGNoaW5nIGVudHJpZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
Lm1hdGNoQWxsIHdpdGggVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5t
YXRjaEFsbCB3aXRoIFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
Lm1hdGNoQWxsIHdpdGggbmV3IFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLm1hdGNoQWxsIHdpdGggSEVBRCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwg
Q2FjaGUubWF0Y2hBbGwgd2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uIChyZXF1ZXN0IHdpdGggbm8g
c2VhcmNoIHBhcmFtZXRlcnMpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5t
YXRjaEFsbCB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBzZWFyY2ggcGFy
YW1ldGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoQWxsIHN1
cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUu
bWF0Y2hBbGwgc3VwcG9ydHMgaWdub3JlVmFyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZB
SUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBVUkwgY29udGFpbmluZyBmcmFnbWVudCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBzdHJpbmcgZnJhZ21lbnQg
Imh0dHAiIGFzIHF1ZXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRj
aEFsbCB3aXRob3V0IHBhcmFtZXRlcnMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENh
Y2hlLm1hdGNoQWxsIHdpdGggcmVzcG9uc2VzIGNvbnRhaW5pbmcgIlZhcnkiIGhlYWRlciBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBtdWx0aXBsZSB2
YXJ5IHBhaXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3
aXRoIG5vIG1hdGNoaW5nIGVudHJpZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
K0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBVUkwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBSZXF1ZXN0IHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggbmV3IFJlcXVlc3QgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBI
RUFEIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxs
IHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIG5vIHNlYXJjaCBwYXJhbWV0
ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFs
bCB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBzZWFyY2ggcGFyYW1ldGVy
cykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
Tm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwg
c3VwcG9ydHMgaWdub3JlTWV0aG9kIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitG
QUlMIENhY2hlLm1hdGNoQWxsIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBVUkwgY29udGFpbmluZyBm
cmFnbWVudCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRj
aEFsbCB3aXRoIHN0cmluZyBmcmFnbWVudCAiaHR0cCIgYXMgcXVlcnkgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aG91dCBwYXJhbWV0ZXJz
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5v
dFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdp
dGggcmVzcG9uc2VzIGNvbnRhaW5pbmcgIlZhcnkiIGhlYWRlciBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90
IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRoIG11bHRpcGxlIHZhcnkgcGFp
cnMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
Tm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtcHV0Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hl
LXN0b3JhZ2Uvd2luZG93L2NhY2hlLXB1dC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggODk4OGQ4
NTQ0MTA3MGJiYmIxYTY0ZGJhYjhhZDc3YThkMmQwYWM4Zi4uZjZhYWRhZWJlM2Q5YzU5YmZlMDhh
NWNmNTZlOTg1ZGEzYzMxMzI1MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cv
Y2FjaGUtcHV0Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRv
dy9jYWNoZS1wdXQuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDI1ICsxLDI1IEBACiAKLUZBSUwg
Q2FjaGUucHV0IGNhbGxlZCB3aXRoIHNpbXBsZSBSZXF1ZXN0IGFuZCBSZXNwb25zZSBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IGNhbGxlZCB3aXRoIFJlcXVlc3QgYW5k
IFJlc3BvbnNlIGZyb20gZmV0Y2goKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2Fj
aGUucHV0IHdpdGggUmVxdWVzdCB3aXRob3V0IGEgYm9keSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggUmVzcG9uc2Ugd2l0aG91dCBhIGJvZHkgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIGEgUmVzcG9uc2UgY29udGFpbmlu
ZyBhbiBlbXB0eSBVUkwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3
aXRoIGFuIGVtcHR5IHJlc3BvbnNlIGJvZHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLnB1dCB3aXRoIHN5bnRoZXRpYyAyMDYgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIEhUVFAgMjA2IHJlc3BvbnNlIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBIVFRQIDUwMCByZXNwb25zZSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IGNhbGxlZCB0d2ljZSB3aXRoIG1h
dGNoaW5nIFJlcXVlc3RzIGFuZCBkaWZmZXJlbnQgUmVzcG9uc2VzIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgotRkFJTCBDYWNoZS5wdXQgY2FsbGVkIHR3aWNlIHdpdGggcmVxdWVzdCBVUkxzIHRo
YXQgZGlmZmVyIG9ubHkgYnkgYSBmcmFnbWVudCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZB
SUwgQ2FjaGUucHV0IHdpdGggYSBzdHJpbmcgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggYW4gaW52YWxpZCByZXNwb25zZSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggYSBub24tSFRUUC9IVFRQUyByZXF1ZXN0
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBhIHJlbGF0aXZl
IFVSTCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggYSBub24t
R0VUIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRo
IGEgbnVsbCByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0
IHdpdGggYSBQT1NUIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
LnB1dCB3aXRoIGEgdXNlZCByZXNwb25zZSBib2R5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgot
RkFJTCBnZXRSZWFkZXIoKSBhZnRlciBDYWNoZS5wdXQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlLnB1dCB3aXRoIGEgVkFSWToqIFJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBhbiBlbWJlZGRlZCBWQVJZOiogUmVzcG9uc2Ug
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCBzaG91bGQgc3RvcmUgUmVz
cG9uc2UucmVkaXJlY3QoKSBjb3JyZWN0bHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlLnB1dCBjYWxsZWQgd2l0aCBzaW1wbGUgUmVxdWVzdCBhbmQgUmVzcG9uc2UgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9y
dGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IGNhbGxlZCB3aXRoIFJl
cXVlc3QgYW5kIFJlc3BvbnNlIGZyb20gZmV0Y2goKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxl
bWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBSZXF1ZXN0IHdpdGhvdXQgYSBib2R5IHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIFJlc3BvbnNl
IHdpdGhvdXQgYSBib2R5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENh
Y2hlLnB1dCB3aXRoIGEgUmVzcG9uc2UgY29udGFpbmluZyBhbiBlbXB0eSBVUkwgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVk
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYW4gZW1wdHkgcmVz
cG9uc2UgYm9keSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5w
dXQgd2l0aCBzeW50aGV0aWMgMjA2IHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIEhUVFAgMjA2IHJlc3BvbnNlIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIEhUVFAgNTAwIHJlc3Bv
bnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCBjYWxs
ZWQgdHdpY2Ugd2l0aCBtYXRjaGluZyBSZXF1ZXN0cyBhbmQgZGlmZmVyZW50IFJlc3BvbnNlcyBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgY2FsbGVkIHR3
aWNlIHdpdGggcmVxdWVzdCBVUkxzIHRoYXQgZGlmZmVyIG9ubHkgYnkgYSBmcmFnbWVudCBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBhIHN0cmlu
ZyByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1
dCB3aXRoIGFuIGludmFsaWQgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYSBub24tSFRUUC9IVFRQUyByZXF1ZXN0IHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRl
ZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIGEgcmVsYXRpdmUg
VVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRo
IGEgbm9uLUdFVCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlLnB1dCB3aXRoIGEgbnVsbCByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxl
bWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBhIFBPU1QgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJv
cjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBhIHVzZWQgcmVzcG9uc2Ug
Ym9keSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBnZXRSZWFkZXIoKSBh
ZnRlciBDYWNoZS5wdXQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2Fj
aGUucHV0IHdpdGggYSBWQVJZOiogUmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYW4gZW1iZWRkZWQgVkFSWToqIFJlc3BvbnNlIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1
cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCBzaG91bGQgc3Rv
cmUgUmVzcG9uc2UucmVkaXJlY3QoKSBjb3JyZWN0bHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3Rv
cmFnZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2Nh
Y2hlLXN0b3JhZ2Uta2V5cy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMWQ4MWVkMzQyZmMwMmU0
YzY2ODFhZDAyZDhjNTNjNjJiMjM0N2E3MC4uYmZhOTZjZDJhZGJjZTY2ZDM3MjA4NjYyZjI3OTFk
YzU5YzRkZDQ5NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3Rv
cmFnZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRv
dy9jYWNoZS1zdG9yYWdlLWtleXMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAog
Ci1GQUlMIENhY2hlU3RvcmFnZSBrZXlzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZVN0b3JhZ2Uga2V5cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UtbWF0
Y2guaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGZkZWFmZTkzNjZlOWY1OTk5NDdkMjAzNTlhZjBh
NTc0YjNjMmQ2ZjMuLmU3ODA1MDQzNTcxNDcxNDNjOTVlOWI4NDI1NjA3OTc5ZWQyMGI5M2UgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0
cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3Jh
Z2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDEzICsxLDEzIEBACiAKLUZBSUwgQ2Fj
aGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNoZSBuYW1lIHByb3ZpZGVkIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGlt
cGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBmcm9tIG9uZSBvZiBtYW55IGNhY2hl
cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBv
bmUgb2YgbWFueSBjYWNoZXMgYnkgbmFtZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwg
Q2FjaGVTdG9yYWdlTWF0Y2ggYSBzdHJpbmcgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggYSBIRUFEIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGVkIGVudHJ5IHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNh
Y2hlcyBhdmFpbGFibGUgYnV0IG5hbWUgcHJvdmlkZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggZW1wdHkgY2FjaGUgbmFtZSBwcm92aWRlZCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggc3VwcG9ydHMg
aWdub3JlU2VhcmNoIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCBz
dXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
U3RvcmFnZU1hdGNoIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CitGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGUgbmFtZSBwcm92aWRlZCBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBmcm9t
IG9uZSBvZiBtYW55IGNhY2hlcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJ
TCBDYWNoZVN0b3JhZ2VNYXRjaCBmcm9tIG9uZSBvZiBtYW55IGNhY2hlcyBieSBuYW1lIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZU1hdGNoIGEgc3Ry
aW5nIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVT
dG9yYWdlTWF0Y2ggYSBIRUFEIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKK0ZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNoZWQgZW50cnkgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVk
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBj
YWNoZXMgYXZhaWxhYmxlIGJ1dCBuYW1lIHByb3ZpZGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggZW1wdHkgY2FjaGUgbmFtZSBw
cm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3Jh
Z2VNYXRjaCBzdXBwb3J0cyBpZ25vcmVTZWFyY2ggcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggc3VwcG9ydHMgaWdub3JlTWV0aG9kIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHN1cHBvcnRzIGln
bm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4
dAppbmRleCAwMDFlNmUzM2JkN2FiMzRlYTczNWFjYWRmOTQyMGNhZTEwODI5YjYxLi44YzMwZTY4
OGFhMDZkNjhlZWViMjBmYTYzZTM2ZjQwNzI0ZGM0M2ViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1z
dG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9j
YWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAt
MSwxMiArMSwxMiBAQAogCi1GQUlMIENhY2hlU3RvcmFnZS5vcGVuIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2UuZGVsZXRlIGRvb21zLCBidXQgZG9lcyBub3QgZGVs
ZXRlIGltbWVkaWF0ZWx5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3Jh
Z2Uub3BlbiB3aXRoIGFuIGVtcHR5IG5hbWUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlU3RvcmFnZS5vcGVuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlU3RvcmFnZS5kZWxldGUgZG9vbXMsIGJ1dCBkb2VzIG5vdCBkZWxldGUgaW1tZWRpYXRl
bHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
Tm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdlLm9w
ZW4gd2l0aCBhbiBlbXB0eSBuYW1lIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBQ
QVNTIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggbm8gYXJndW1lbnRzIAotRkFJTCBDYWNoZVN0b3Jh
Z2UuaGFzIHdpdGggZXhpc3RpbmcgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlU3RvcmFnZS5oYXMgd2l0aCBub25leGlzdGVudCBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLm9wZW4gd2l0aCBleGlzdGluZyBjYWNoZSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0ZSB3aXRoIGV4aXN0
aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2UuZGVs
ZXRlIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlU3RvcmFnZSBuYW1lcyBhcmUgRE9NU3RyaW5ncyBub3QgVVNWU3RyaW5ncyBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdlLmhhcyB3aXRoIGV4aXN0aW5nIGNh
Y2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitQQVNTIENhY2hlU3RvcmFnZS5o
YXMgd2l0aCBub25leGlzdGVudCBjYWNoZSAKK0ZBSUwgQ2FjaGVTdG9yYWdlLm9wZW4gd2l0aCBl
eGlzdGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNo
ZVN0b3JhZ2UuZGVsZXRlIHdpdGggZXhpc3RpbmcgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKK1BBU1MgQ2FjaGVTdG9yYWdlLmRlbGV0ZSB3aXRoIG5vbmV4aXN0ZW50IGNh
Y2hlIAorRkFJTCBDYWNoZVN0b3JhZ2UgbmFtZXMgYXJlIERPTVN0cmluZ3Mgbm90IFVTVlN0cmlu
Z3MgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
Tm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS93aW5kb3cvc2FuZGJveGVkLWlmcmFtZXMuaHR0cHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvc2FuZGJveGVkLWlmcmFtZXMuaHR0cHMtZXhwZWN0ZWQu
dHh0CmluZGV4IDMxZmJiOGRlMzA1ZWIzMGQxYmU5ZTYwNmRmOTMzZjhhZGZkOGZjM2QuLmJhOWQy
MjkzMThhYjNiNTkzYWI4OGEwOGI3Zjc0NDUyZjVmM2I5ZTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hl
LXN0b3JhZ2Uvd2luZG93L3NhbmRib3hlZC1pZnJhbWVzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9zYW5kYm94ZWQtaWZyYW1lcy5odHRwcy1leHBlY3Rl
ZC50eHQKQEAgLTEsNSArMSw1IEBACiAKIAogRkFJTCBTYW5kYm94ZWQgaWZyYW1lIHdpdGggYWxs
b3ctc2FtZS1vcmlnaW4gaXMgYWxsb3dlZCBhY2Nlc3MgYXNzZXJ0X2VxdWFsczogQWNjZXNzIHNo
b3VsZCBiZSBhbGxvd2VkIGlmIHNhbmRib3ggaGFzIGFsbG93LXNhbWUtb3JpZ2luIGV4cGVjdGVk
ICJhbGxvd2VkIiBidXQgZ290ICJkZW5pZWQiCi1GQUlMIFNhbmRib3hlZCBpZnJhbWUgd2l0aG91
dCBhbGxvdy1zYW1lLW9yaWdpbiBpcyBkZW5pZWQgYWNjZXNzIGFzc2VydF9lcXVhbHM6IEZhaWx1
cmUgc2hvdWxkIGJlIGEgU2VjdXJpdHlFcnJvciBleHBlY3RlZCAiU2VjdXJpdHlFcnJvciIgYnV0
IGdvdCAiVHlwZUVycm9yIgorRkFJTCBTYW5kYm94ZWQgaWZyYW1lIHdpdGhvdXQgYWxsb3ctc2Ft
ZS1vcmlnaW4gaXMgZGVuaWVkIGFjY2VzcyBhc3NlcnRfZXF1YWxzOiBGYWlsdXJlIHNob3VsZCBi
ZSBhIFNlY3VyaXR5RXJyb3IgZXhwZWN0ZWQgIlNlY3VyaXR5RXJyb3IiIGJ1dCBnb3QgIk5vdFN1
cHBvcnRlZEVycm9yIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNo
ZS1hZGQuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUt
YWRkLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA0OWE0Njc4MjhkOTE3NDI2NTEwOTVlYzk2NjA3
MGIyNTFmOTU0NmEyLi5lZjRiNTJjZjY2ODM0MGUwZjRhMGQ3MmZmZGEwMzk0NzQ3MTkzZjQ2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1hZGQuaHR0cHMtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLWFkZC5odHRwcy1leHBl
Y3RlZC50eHQKQEAgLTEsMjAgKzEsMjAgQEAKIAotRkFJTCBDYWNoZS5hZGQgY2FsbGVkIHdpdGgg
bm8gYXJndW1lbnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGQgY2Fs
bGVkIHdpdGggcmVsYXRpdmUgVVJMIHNwZWNpZmllZCBhcyBhIHN0cmluZyBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRoIG5vbi1IVFRQL0hUVFBTIFVS
TCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRoIFJl
cXVlc3Qgb2JqZWN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGQgY2Fs
bGVkIHdpdGggUE9TVCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNo
ZS5hZGQgY2FsbGVkIHR3aWNlIHdpdGggdGhlIHNhbWUgUmVxdWVzdCBvYmplY3QgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZCB3aXRoIHJlcXVlc3Qgd2l0aCBudWxsIGJv
ZHkgKG5vdCBjb25zdW1lZCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFk
ZCB3aXRoIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUu
YWRkQWxsIHdpdGggMjA2IHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBD
YWNoZS5hZGQgd2l0aCByZXF1ZXN0IHRoYXQgcmVzdWx0cyBpbiBhIHN0YXR1cyBvZiA0MDQgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZCB3aXRoIHJlcXVlc3QgdGhhdCBy
ZXN1bHRzIGluIGEgc3RhdHVzIG9mIDUwMCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwg
Q2FjaGUuYWRkQWxsIHdpdGggbm8gYXJndW1lbnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgot
RkFJTCBDYWNoZS5hZGRBbGwgd2l0aCBhIG1peCBvZiB2YWxpZCBhbmQgdW5kZWZpbmVkIGFyZ3Vt
ZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggYW4g
ZW1wdHkgYXJyYXkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZEFsbCB3
aXRoIHN0cmluZyBVUkwgYXJndW1lbnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBD
YWNoZS5hZGRBbGwgd2l0aCBSZXF1ZXN0IGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKLUZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggYSBtaXggb2Ygc3VjY2VlZGluZyBhbmQgZmFpbGlu
ZyByZXF1ZXN0cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkQWxsIGNh
bGxlZCB3aXRoIHRoZSBzYW1lIFJlcXVlc3Qgb2JqZWN0IHNwZWNpZmllZCB0d2ljZSBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50
cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgY2FsbGVk
IHdpdGggcmVsYXRpdmUgVVJMIHNwZWNpZmllZCBhcyBhIHN0cmluZyBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjog
Tm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgY2FsbGVkIHdpdGggbm9uLUhUVFAvSFRU
UFMgVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZCBj
YWxsZWQgd2l0aCBSZXF1ZXN0IG9iamVjdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVk
IgorRkFJTCBDYWNoZS5hZGQgY2FsbGVkIHdpdGggUE9TVCByZXF1ZXN0IHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZCBjYWxsZWQgdHdpY2Ugd2l0aCB0aGUg
c2FtZSBSZXF1ZXN0IG9iamVjdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJ
TCBDYWNoZS5hZGQgd2l0aCByZXF1ZXN0IHdpdGggbnVsbCBib2R5IChub3QgY29uc3VtZWQpIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1
cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZCB3aXRoIDIwNiBy
ZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGRB
bGwgd2l0aCAyMDYgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZB
SUwgQ2FjaGUuYWRkIHdpdGggcmVxdWVzdCB0aGF0IHJlc3VsdHMgaW4gYSBzdGF0dXMgb2YgNDA0
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5v
dFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZCB3aXRoIHJl
cXVlc3QgdGhhdCByZXN1bHRzIGluIGEgc3RhdHVzIG9mIDUwMCBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90
IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGRBbGwgd2l0aCBubyBhcmd1bWVudHMgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9y
dGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggYSBtaXgg
b2YgdmFsaWQgYW5kIHVuZGVmaW5lZCBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggYW4gZW1wdHkgYXJyYXkgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVk
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggc3RyaW5nIFVS
TCBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUu
YWRkQWxsIHdpdGggUmVxdWVzdCBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggYSBtaXggb2Ygc3VjY2VlZGluZyBhbmQgZmFp
bGluZyByZXF1ZXN0cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNo
ZS5hZGRBbGwgY2FsbGVkIHdpdGggdGhlIHNhbWUgUmVxdWVzdCBvYmplY3Qgc3BlY2lmaWVkIHR3
aWNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2Nh
Y2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLWRlbGV0ZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9j
YWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1kZWxldGUuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4
IDJkZmFlNWM4YmNiYmQzZDViMDVjY2NjOTEzYTYzZTNlNjkyYTFmNzAuLmUzM2U4NThiZmRkMjc0
OTUzMDUyZTBmNjI5YWNhNGFjYTI2MGY3NjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uv
d29ya2VyL2NhY2hlLWRlbGV0ZS5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93b3JrZXIvY2FjaGUtZGVsZXRlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwxMCArMSwx
MCBAQAogCi1GQUlMIENhY2hlLmRlbGV0ZSB3aXRoIG5vIGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuZGVsZXRlIGNhbGxlZCB3aXRoIGEgc3RyaW5nIFVSTCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuZGVsZXRlIGNhbGxlZCB3aXRoIGEg
UmVxdWVzdCBvYmplY3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmRlbGV0
ZSBjYWxsZWQgd2l0aCBhIEhFQUQgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZB
SUwgQ2FjaGUuZGVsZXRlIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLmRlbGV0ZSB3aXRoIGEgbm9uLWV4aXN0ZW50IGVudHJ5IHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
Tm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5kZWxldGUgd2l0aCBpZ25vcmVTZWFyY2ggb3B0
aW9uIChyZXF1ZXN0IHdpdGggc2VhcmNoIHBhcmFtZXRlcnMpIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVu
dGVkIgotRkFJTCBDYWNoZS5kZWxldGUgd2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uICh3aGVuIGl0
IGlzIHNwZWNpZmllZCBhcyBmYWxzZSkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENh
Y2hlLmRlbGV0ZSB3aXRoIG5vIGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorRkFJTCBDYWNoZS5kZWxldGUgY2FsbGVkIHdpdGggYSBzdHJpbmcgVVJMIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRl
ZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmRlbGV0ZSBjYWxsZWQgd2l0aCBh
IFJlcXVlc3Qgb2JqZWN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENh
Y2hlLmRlbGV0ZSBjYWxsZWQgd2l0aCBhIEhFQUQgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90
IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5kZWxldGUgc3VwcG9ydHMgaWdub3JlVmFyeSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5kZWxldGUgd2l0aCBhIG5v
bi1leGlzdGVudCBlbnRyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZS5kZWxldGUgd2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uIChyZXF1ZXN0IHdpdGggc2VhcmNo
IHBhcmFtZXRlcnMpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hl
LmRlbGV0ZSB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHdoZW4gaXQgaXMgc3BlY2lmaWVkIGFz
IGZhbHNlKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLWtleXMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4
IDdlMWEzNzM2ZDQzZjM3NjQ0YzJhNjgwOGY0MWQyMTA0YTJhNjQwZTAuLmE1OGFjOWJjNzJmMGEz
NmEyNWQ3ODdmYWYwOTE3YmI3NzMzMDQ2NDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uv
d29ya2VyL2NhY2hlLWtleXMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3Jh
Z2Uvd29ya2VyL2NhY2hlLWtleXMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDE1ICsxLDE1IEBA
CiAKLUZBSUwgQ2FjaGUua2V5cygpIGNhbGxlZCBvbiBhbiBlbXB0eSBjYWNoZSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRoIG5vIG1hdGNoaW5nIGVudHJpZXMg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmtleXMgd2l0aCBVUkwgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmtleXMgd2l0aCBSZXF1ZXN0IHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
Tm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggbmV3IFJlcXVlc3QgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmtleXMgd2l0aCBpZ25vcmVTZWFyY2ggb3B0
aW9uIChyZXF1ZXN0IHdpdGggbm8gc2VhcmNoIHBhcmFtZXRlcnMpIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVz
dCB3aXRoIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwg
Q2FjaGUua2V5cyBzdXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlLmtleXMgc3VwcG9ydHMgaWdub3JlVmFyeSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRoIFVSTCBjb250YWluaW5nIGZyYWdtZW50IHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggc3RyaW5nIGZyYWdtZW50
ICJodHRwIiBhcyBxdWVyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUua2V5
cyB3aXRob3V0IHBhcmFtZXRlcnMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
LmtleXMgd2l0aCBhIEhFQUQgUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwg
Q2FjaGUua2V5cygpIGNhbGxlZCBvbiBhbiBlbXB0eSBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90
IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGggbm8gbWF0Y2hpbmcgZW50cmllcyBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGggVVJM
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5v
dFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmtleXMgd2l0aCBS
ZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmtleXMg
d2l0aCBuZXcgUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZS5rZXlzIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIG5vIHNlYXJj
aCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNo
ZS5rZXlzIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIHNlYXJjaCBwYXJh
bWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlz
IHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgor
RkFJTCBDYWNoZS5rZXlzIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5cyB3aXRoIFVSTCBjb250YWluaW5nIGZyYWdtZW50
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5v
dFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmtleXMgd2l0aCBz
dHJpbmcgZnJhZ21lbnQgImh0dHAiIGFzIHF1ZXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitGQUlMIENhY2hlLmtleXMgd2l0aG91dCBwYXJhbWV0ZXJzIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmtleXMgd2l0aCBhIEhFQUQgUmVxdWVzdCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1z
dG9yYWdlL3dvcmtlci9jYWNoZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1z
dG9yYWdlL3dvcmtlci9jYWNoZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggNTdhNTFj
ZjliYTQ5ZDk1ZTdhNTdmYjljYTU1ZjI2YjUwM2Y2OGJjMS4uY2U2YmU1MzdlMWFlOTg2NjdkZDgz
MWVjNDllM2Y0ZjgxNGYwYTEwMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIv
Y2FjaGUtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29y
a2VyL2NhY2hlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwyMiArMSwyMiBAQAogCi1G
QUlMIENhY2hlLm1hdGNoIHdpdGggbm8gbWF0Y2hpbmcgZW50cmllcyBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBVUkwgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBtdWx0aXBsZSBjYWNoZSBoaXRzIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3aXRoIG5ldyBSZXF1ZXN0IHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
Tm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3aXRoIEhFQUQgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAo
cmVxdWVzdCB3aXRoIG5vIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uIChyZXF1ZXN0IHdp
dGggc2VhcmNoIHBhcmFtZXRlcikgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
Lm1hdGNoIHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZB
SUwgQ2FjaGUubWF0Y2ggc3VwcG9ydHMgaWdub3JlVmFyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBVUkwgY29udGFpbmluZyBmcmFnbWVudCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBzdHJpbmcgZnJhZ21lbnQg
Imh0dHAiIGFzIHF1ZXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRj
aCB3aXRoIHJlc3BvbnNlcyBjb250YWluaW5nICJWYXJ5IiBoZWFkZXIgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggUmVxdWVzdCBhbmQgUmVzcG9uc2Ugb2Jq
ZWN0cyB3aXRoIGRpZmZlcmVudCBVUkxzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBD
YWNoZS5tYXRjaCBpbnZva2VkIG11bHRpcGxlIHRpbWVzIGZvciB0aGUgc2FtZSBSZXF1ZXN0L1Jl
c3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCBibG9iIHNo
b3VsZCBiZSBzbGljZWFibGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1h
dGNoIHdpdGggUE9TVCBSZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNo
ZS5tYXRjaCB3aXRoIGEgbm9uLTJ4eCBSZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
LUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBhIG5ldHdvcmsgZXJyb3IgUmVzcG9uc2UgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlIHByb2R1Y2VzIGxhcmdlIFJlc3BvbnNlcyB0aGF0
IGNhbiBiZSBjbG9uZWQgYW5kIHJlYWQgY29ycmVjdGx5LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBubyBtYXRjaGluZyBlbnRyaWVzIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoIHdpdGggVVJMIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRl
ZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoIHdpdGggUmVxdWVzdCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIG11
bHRpcGxlIGNhY2hlIGhpdHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwg
Q2FjaGUubWF0Y2ggd2l0aCBuZXcgUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIEhFQUQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uIChyZXF1
ZXN0IHdpdGggbm8gc2VhcmNoIHBhcmFtZXRlcnMpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVz
dCB3aXRoIHNlYXJjaCBwYXJhbWV0ZXIpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CitGQUlMIENhY2hlLm1hdGNoIHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjog
Tm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCBzdXBwb3J0cyBpZ25vcmVWYXJ5IHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1
cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoIHdpdGggVVJM
IGNvbnRhaW5pbmcgZnJhZ21lbnQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZB
SUwgQ2FjaGUubWF0Y2ggd2l0aCBzdHJpbmcgZnJhZ21lbnQgImh0dHAiIGFzIHF1ZXJ5IHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoIHdpdGggcmVzcG9u
c2VzIGNvbnRhaW5pbmcgIlZhcnkiIGhlYWRlciBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFJlcXVlc3QgYW5kIFJlc3BvbnNlIG9iamVjdHMg
d2l0aCBkaWZmZXJlbnQgVVJMcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJ
TCBDYWNoZS5tYXRjaCBpbnZva2VkIG11bHRpcGxlIHRpbWVzIGZvciB0aGUgc2FtZSBSZXF1ZXN0
L1Jlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1h
dGNoIGJsb2Igc2hvdWxkIGJlIHNsaWNlYWJsZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFBPU1QgUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjog
Tm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIGEgbm9uLTJ4eCBSZXNwb25z
ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRo
IGEgbmV0d29yayBlcnJvciBSZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVk
IgorRkFJTCBDYWNoZSBwcm9kdWNlcyBsYXJnZSBSZXNwb25zZXMgdGhhdCBjYW4gYmUgY2xvbmVk
IGFuZCByZWFkIGNvcnJlY3RseS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtbWF0Y2hBbGwuaHR0cHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtbWF0Y2hBbGwuaHR0
cHMtZXhwZWN0ZWQudHh0CmluZGV4IDYyYmYzNjMzMzJlMzUxZTYzYzZmMjNmNjQ5NTY1N2Q2OTQ2
NDhkYTcuLjc3MDQ0ODcyMjdiMzU0OTNlNDM0NjM2Y2E4MWY4YjY1OWFhZTgzZTggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLW1hdGNoQWxsLmh0dHBzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1tYXRjaEFsbC5odHRwcy1l
eHBlY3RlZC50eHQKQEAgLTEsMTYgKzEsMTYgQEAKIAotRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRo
IG5vIG1hdGNoaW5nIGVudHJpZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
Lm1hdGNoQWxsIHdpdGggVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5t
YXRjaEFsbCB3aXRoIFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
Lm1hdGNoQWxsIHdpdGggbmV3IFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLm1hdGNoQWxsIHdpdGggSEVBRCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwg
Q2FjaGUubWF0Y2hBbGwgd2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uIChyZXF1ZXN0IHdpdGggbm8g
c2VhcmNoIHBhcmFtZXRlcnMpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5t
YXRjaEFsbCB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBzZWFyY2ggcGFy
YW1ldGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoQWxsIHN1
cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUu
bWF0Y2hBbGwgc3VwcG9ydHMgaWdub3JlVmFyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZB
SUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBVUkwgY29udGFpbmluZyBmcmFnbWVudCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBzdHJpbmcgZnJhZ21lbnQg
Imh0dHAiIGFzIHF1ZXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRj
aEFsbCB3aXRob3V0IHBhcmFtZXRlcnMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENh
Y2hlLm1hdGNoQWxsIHdpdGggcmVzcG9uc2VzIGNvbnRhaW5pbmcgIlZhcnkiIGhlYWRlciBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBtdWx0aXBsZSB2
YXJ5IHBhaXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3
aXRoIG5vIG1hdGNoaW5nIGVudHJpZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
K0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBVUkwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBSZXF1ZXN0IHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggbmV3IFJlcXVlc3QgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBI
RUFEIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxs
IHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIG5vIHNlYXJjaCBwYXJhbWV0
ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFs
bCB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBzZWFyY2ggcGFyYW1ldGVy
cykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
Tm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwg
c3VwcG9ydHMgaWdub3JlTWV0aG9kIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitG
QUlMIENhY2hlLm1hdGNoQWxsIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBVUkwgY29udGFpbmluZyBm
cmFnbWVudCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRj
aEFsbCB3aXRoIHN0cmluZyBmcmFnbWVudCAiaHR0cCIgYXMgcXVlcnkgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aG91dCBwYXJhbWV0ZXJz
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5v
dFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdp
dGggcmVzcG9uc2VzIGNvbnRhaW5pbmcgIlZhcnkiIGhlYWRlciBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90
IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRoIG11bHRpcGxlIHZhcnkgcGFp
cnMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
Tm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtcHV0Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hl
LXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXB1dC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggODk4OGQ4
NTQ0MTA3MGJiYmIxYTY0ZGJhYjhhZDc3YThkMmQwYWM4Zi4uZjZhYWRhZWJlM2Q5YzU5YmZlMDhh
NWNmNTZlOTg1ZGEzYzMxMzI1MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIv
Y2FjaGUtcHV0Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtl
ci9jYWNoZS1wdXQuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDI1ICsxLDI1IEBACiAKLUZBSUwg
Q2FjaGUucHV0IGNhbGxlZCB3aXRoIHNpbXBsZSBSZXF1ZXN0IGFuZCBSZXNwb25zZSBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IGNhbGxlZCB3aXRoIFJlcXVlc3QgYW5k
IFJlc3BvbnNlIGZyb20gZmV0Y2goKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2Fj
aGUucHV0IHdpdGggUmVxdWVzdCB3aXRob3V0IGEgYm9keSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggUmVzcG9uc2Ugd2l0aG91dCBhIGJvZHkgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIGEgUmVzcG9uc2UgY29udGFpbmlu
ZyBhbiBlbXB0eSBVUkwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3
aXRoIGFuIGVtcHR5IHJlc3BvbnNlIGJvZHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLnB1dCB3aXRoIHN5bnRoZXRpYyAyMDYgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIEhUVFAgMjA2IHJlc3BvbnNlIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBIVFRQIDUwMCByZXNwb25zZSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IGNhbGxlZCB0d2ljZSB3aXRoIG1h
dGNoaW5nIFJlcXVlc3RzIGFuZCBkaWZmZXJlbnQgUmVzcG9uc2VzIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgotRkFJTCBDYWNoZS5wdXQgY2FsbGVkIHR3aWNlIHdpdGggcmVxdWVzdCBVUkxzIHRo
YXQgZGlmZmVyIG9ubHkgYnkgYSBmcmFnbWVudCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZB
SUwgQ2FjaGUucHV0IHdpdGggYSBzdHJpbmcgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggYW4gaW52YWxpZCByZXNwb25zZSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggYSBub24tSFRUUC9IVFRQUyByZXF1ZXN0
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBhIHJlbGF0aXZl
IFVSTCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggYSBub24t
R0VUIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRo
IGEgbnVsbCByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0
IHdpdGggYSBQT1NUIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
LnB1dCB3aXRoIGEgdXNlZCByZXNwb25zZSBib2R5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgot
RkFJTCBnZXRSZWFkZXIoKSBhZnRlciBDYWNoZS5wdXQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlLnB1dCB3aXRoIGEgVkFSWToqIFJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBhbiBlbWJlZGRlZCBWQVJZOiogUmVzcG9uc2Ug
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCBzaG91bGQgc3RvcmUgUmVz
cG9uc2UucmVkaXJlY3QoKSBjb3JyZWN0bHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlLnB1dCBjYWxsZWQgd2l0aCBzaW1wbGUgUmVxdWVzdCBhbmQgUmVzcG9uc2UgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9y
dGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IGNhbGxlZCB3aXRoIFJl
cXVlc3QgYW5kIFJlc3BvbnNlIGZyb20gZmV0Y2goKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxl
bWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBSZXF1ZXN0IHdpdGhvdXQgYSBib2R5IHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIFJlc3BvbnNl
IHdpdGhvdXQgYSBib2R5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENh
Y2hlLnB1dCB3aXRoIGEgUmVzcG9uc2UgY29udGFpbmluZyBhbiBlbXB0eSBVUkwgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVk
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYW4gZW1wdHkgcmVz
cG9uc2UgYm9keSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5w
dXQgd2l0aCBzeW50aGV0aWMgMjA2IHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIEhUVFAgMjA2IHJlc3BvbnNlIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIEhUVFAgNTAwIHJlc3Bv
bnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCBjYWxs
ZWQgdHdpY2Ugd2l0aCBtYXRjaGluZyBSZXF1ZXN0cyBhbmQgZGlmZmVyZW50IFJlc3BvbnNlcyBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgY2FsbGVkIHR3
aWNlIHdpdGggcmVxdWVzdCBVUkxzIHRoYXQgZGlmZmVyIG9ubHkgYnkgYSBmcmFnbWVudCBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBhIHN0cmlu
ZyByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1
dCB3aXRoIGFuIGludmFsaWQgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYSBub24tSFRUUC9IVFRQUyByZXF1ZXN0IHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRl
ZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIGEgcmVsYXRpdmUg
VVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRo
IGEgbm9uLUdFVCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlLnB1dCB3aXRoIGEgbnVsbCByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxl
bWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBhIFBPU1QgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJv
cjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBhIHVzZWQgcmVzcG9uc2Ug
Ym9keSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBnZXRSZWFkZXIoKSBh
ZnRlciBDYWNoZS5wdXQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2Fj
aGUucHV0IHdpdGggYSBWQVJZOiogUmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYW4gZW1iZWRkZWQgVkFSWToqIFJlc3BvbnNlIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1
cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCBzaG91bGQgc3Rv
cmUgUmVzcG9uc2UucmVkaXJlY3QoKSBjb3JyZWN0bHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3Rv
cmFnZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2Nh
Y2hlLXN0b3JhZ2Uta2V5cy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMWQ4MWVkMzQyZmMwMmU0
YzY2ODFhZDAyZDhjNTNjNjJiMjM0N2E3MC4uYmZhOTZjZDJhZGJjZTY2ZDM3MjA4NjYyZjI3OTFk
YzU5YzRkZDQ5NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3Rv
cmFnZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtl
ci9jYWNoZS1zdG9yYWdlLWtleXMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAog
Ci1GQUlMIENhY2hlU3RvcmFnZSBrZXlzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZVN0b3JhZ2Uga2V5cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2UtbWF0
Y2guaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGZkZWFmZTkzNjZlOWY1OTk5NDdkMjAzNTlhZjBh
NTc0YjNjMmQ2ZjMuLmU3ODA1MDQzNTcxNDcxNDNjOTVlOWI4NDI1NjA3OTc5ZWQyMGI5M2UgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0
cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3Jh
Z2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDEzICsxLDEzIEBACiAKLUZBSUwgQ2Fj
aGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNoZSBuYW1lIHByb3ZpZGVkIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGlt
cGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBmcm9tIG9uZSBvZiBtYW55IGNhY2hl
cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBv
bmUgb2YgbWFueSBjYWNoZXMgYnkgbmFtZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwg
Q2FjaGVTdG9yYWdlTWF0Y2ggYSBzdHJpbmcgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggYSBIRUFEIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGVkIGVudHJ5IHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNh
Y2hlcyBhdmFpbGFibGUgYnV0IG5hbWUgcHJvdmlkZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggZW1wdHkgY2FjaGUgbmFtZSBwcm92aWRlZCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggc3VwcG9ydHMg
aWdub3JlU2VhcmNoIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCBz
dXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
U3RvcmFnZU1hdGNoIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CitGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGUgbmFtZSBwcm92aWRlZCBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBmcm9t
IG9uZSBvZiBtYW55IGNhY2hlcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJ
TCBDYWNoZVN0b3JhZ2VNYXRjaCBmcm9tIG9uZSBvZiBtYW55IGNhY2hlcyBieSBuYW1lIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZU1hdGNoIGEgc3Ry
aW5nIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVT
dG9yYWdlTWF0Y2ggYSBIRUFEIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKK0ZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNoZWQgZW50cnkgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVk
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBj
YWNoZXMgYXZhaWxhYmxlIGJ1dCBuYW1lIHByb3ZpZGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggZW1wdHkgY2FjaGUgbmFtZSBw
cm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3Jh
Z2VNYXRjaCBzdXBwb3J0cyBpZ25vcmVTZWFyY2ggcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggc3VwcG9ydHMgaWdub3JlTWV0aG9kIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHN1cHBvcnRzIGln
bm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4
dAppbmRleCAwMDFlNmUzM2JkN2FiMzRlYTczNWFjYWRmOTQyMGNhZTEwODI5YjYxLi44YzMwZTY4
OGFhMDZkNjhlZWViMjBmYTYzZTM2ZjQwNzI0ZGM0M2ViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1z
dG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9j
YWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAt
MSwxMiArMSwxMiBAQAogCi1GQUlMIENhY2hlU3RvcmFnZS5vcGVuIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2UuZGVsZXRlIGRvb21zLCBidXQgZG9lcyBub3QgZGVs
ZXRlIGltbWVkaWF0ZWx5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3Jh
Z2Uub3BlbiB3aXRoIGFuIGVtcHR5IG5hbWUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlU3RvcmFnZS5vcGVuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlU3RvcmFnZS5kZWxldGUgZG9vbXMsIGJ1dCBkb2VzIG5vdCBkZWxldGUgaW1tZWRpYXRl
bHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
Tm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdlLm9w
ZW4gd2l0aCBhbiBlbXB0eSBuYW1lIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiBQ
QVNTIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggbm8gYXJndW1lbnRzIAotRkFJTCBDYWNoZVN0b3Jh
Z2UuaGFzIHdpdGggZXhpc3RpbmcgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlU3RvcmFnZS5oYXMgd2l0aCBub25leGlzdGVudCBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLm9wZW4gd2l0aCBleGlzdGluZyBjYWNoZSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0ZSB3aXRoIGV4aXN0
aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2UuZGVs
ZXRlIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlU3RvcmFnZSBuYW1lcyBhcmUgRE9NU3RyaW5ncyBub3QgVVNWU3RyaW5ncyBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdlLmhhcyB3aXRoIGV4aXN0aW5nIGNh
Y2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitQQVNTIENhY2hlU3RvcmFnZS5o
YXMgd2l0aCBub25leGlzdGVudCBjYWNoZSAKK0ZBSUwgQ2FjaGVTdG9yYWdlLm9wZW4gd2l0aCBl
eGlzdGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNo
ZVN0b3JhZ2UuZGVsZXRlIHdpdGggZXhpc3RpbmcgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKK1BBU1MgQ2FjaGVTdG9yYWdlLmRlbGV0ZSB3aXRoIG5vbmV4aXN0ZW50IGNh
Y2hlIAorRkFJTCBDYWNoZVN0b3JhZ2UgbmFtZXMgYXJlIERPTVN0cmluZ3Mgbm90IFVTVlN0cmlu
Z3MgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
Tm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318092</attachid>
            <date>2017-08-14 17:32:25 -0700</date>
            <delta_ts>2017-08-14 17:37:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175455-20170814173224.patch</filename>
            <type>text/plain</type>
            <size>188877</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzdiNTY1ZDA2ZjdlYWMz
MGVmNzliNzZhMGZmYjljZTIzZTZhMDc0My4uOTFkNzg1OGMyZmVkOWQ1N2RmYWMwMmVlZWU0NDAw
MGI0YWU3NmZkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0MyBAQAorMjAxNy0wOC0xMyAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRk
aW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5
IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgIEFkZGluZyBhIENhY2hlU3RvcmFnZVByb3ZpZGVy
IGFic3RyYWN0aW9uIHRoYXQgY3JlYXRlcyBhIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uCisgICAg
ICAgIFRoZSBDYWNoZVN0b3JhZ2VQcm92aWRlciBpcyBhY2Nlc3NlZCBmcm9tIHRoZSBwYWdlIGZv
ciBEb2N1bWVudCBjYWxscy4KKyAgICAgICAgVGhlIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24gaXMg
cmVzcG9uc2libGUgdG8gaW1wbGVtZW50IHRoZSByZWFkL3dyaXRlIG9wZXJhdGlvbnMgb24gdGhl
IGNhY2hlIGRhdGFiYXNlLgorICAgICAgICBBdCB0aGUgbW9tZW50LCBpdCBkb2VzIG5vdGhpbmcg
YnV0IHJldHVybiBub3QgaW1wbGVtZW50ZWQgZXJyb3JzLgorCisgICAgICAgIEltcGxlbWVudGlu
ZyBDYWNoZVN0b3JhZ2UgQVBJcyBhbmQgQ2FjaGUgQVBJcyBiYXNlZCBvbiB0aGUgQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbiBleGNlcHQgZm9yIENhY2hlIGFkZCBhbmQgYWRkQWxsIHdoaWNoIHdpbGwg
YmUgaW1wbGVtZW50ZWQgbGF0ZXIgb24uCisgICAgICAgIENhY2hlU3RvcmFnQ29ubmVjdGlvbiBp
cyByZXNwb25zaWJsZSB0byByZWFkL3dyaXRlIENhY2hlU3RvcmFnZSBsaXN0IG9mIGNhY2hlcyBh
bmQgZWFjaCBpbmRpdmlkdWFsIGNhY2hlLgorICAgICAgICBUaGUgQ2FjaGVTdG9yYWdlQ29ubmVj
dGlvbiBpcyBhIGdlbmVyaWMgY29ubmVjdGlvbiBhbmQgbm90IHRpZWQgdG8gYW55IGRvY3VtZW50
L2NvbnRleHQuCisgICAgICAgIENhY2hlU3RvcmFnZSBvYmplY3RzIGFyZSBtYW5pcHVsYXRlZCBi
eSBwcm92aWRpbmcgdG8gdGhlIGNvbm5lY3Rpb24gdGhlIG9yaWdpbiBvZiB0aGUgY29udGV4dC4K
KyAgICAgICAgQ2FjaGVTdG9yYWdlIGFyZSBnbG9iYWwgdG8gYWxsIGNvbnRleHRzIHdpdGggdGhl
IHNhbWUgb3JpZ2luLgorICAgICAgICBDYWNoZSBvYmplY3RzIGFyZSBtYW5pcHVsYXRlZCBieSBh
biBJRCB0aGF0IGlzIGdpdmVuIGluaXRpYWxseSBieSB0aGUgQ2FjaGVTdG9yYWdlRW5naW5lIHdo
ZW4gb3BlbmluZyB0aGUgQ2FjaGUgb2JqZWN0LgorCisgICAgICAgIEFkZGluZyB2YXJpb3VzIGFj
Y2Vzc29ycyBhbmQgY29uc3RydWN0b3JzIGZvciBGZXRjaCBjb25zdHJ1Y3RzIGFzIG5lZWRlZCBi
eSB0aGUgQ2FjaGUgQVBJIGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogTW9kdWxlcy9jYWNo
ZS9DYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6Q2FjaGUpOgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGU6On5DYWNoZSk6CisgICAgICAgIFRoZSBDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uIGlzIGEgZ2VuZXJpYyBjb25uZWN0aW9uIGFuZCBub3QgdGllZCB0byBhbnkgZG9jdW1lbnQv
Y29udGV4dC4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjptYXRjaCk6IEltcGxlbWVudGF0aW9u
IG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtbWF0Y2gu
CisgICAgICAgIFJlZGlyZWN0IHRvIG1hdGNoQWxsIGFzIHBlciBzcGVjLgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGU6Om1hdGNoQWxsKTogSW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93d3cudzMu
b3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNjYWNoZS1tYXRjaEFsbC4KKyAgICAgICAgQ2hlY2tz
IGZvciByZXF1ZXN0IGFzIHBlciBzcGVjLiBUaGVuIGVpdGhlciByZWZyZXNoIHRoZSByZXF1ZXN0
IHRvIHJlc3BvbnNlIG1hcCBhbmQgcmV0dXJuIGFsbCByZXNwb25zZXMuCisgICAgICAgIE9yIGNh
bGwgdGhlIHF1ZXJ5IGNhY2hlIGFsZ29yaXRobSBhbmQgcmV0dXJuIGNvcGllcyBvZiB0aGUgcmVz
cG9uc2VzICh1c2luZyBjbG9uZSkuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6cHV0KToKKyAg
ICAgICAgQ2hlY2sgdGhlIHJlcXVlc3QgYW5kIHJlc3BvbnNlIGFzIHBlciBzcGVjLgorICAgICAg
ICBBZGQgdGVtcG9yYXJ5IHJlamVjdGlvbiBjYXNlcyAoYmVpbmcgbG9hZGVkIHJlc3BvbnNlcywg
cmVzcG9uc2VzIHdpdGggUmVhZGFibGVTdHJlYW0pIGFzIHRoZXJlIGlzIG5vIHN1cHBvcnQgZm9y
IHRoZW0gcmlnaHQgbm93LgorICAgICAgICBDYWxsIHRoZSBiYXRjaCBwdXQgb3BlcmF0aW9uLgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnJlbW92ZSk6CisgICAgICAgIENoZWNrIHRoZSByZXF1
ZXN0IGFuZCByZXNwb25zZSBhcyBwZXIgc3BlYy4KKyAgICAgICAgQ2FsbCB0aGUgYmF0Y2ggZGVs
ZXRlIG9wZXJhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjprZXlzKToKKyAgICAgICAg
UmVmcmVzaCB0aGUgcmVxdWVzdCB0byByZXNwb25zZSBtYXAgYW5kIHJldHVybiBjb3JyZXNwb25k
aW5nIHJlcXVlc3RzLgorICAgICAgICBNYWtpbmcgc3VyZSB0byByZXVzZSB0aGUgc2FtZSByZXF1
ZXN0IG9iamVjdHMgYXMgcGVyIHNwZWMuCisgICAgICAgIEFzIHBlciBzcGVjLCB0aGUgcmVxdWVz
dCB0byByZXNwb25zZSBtYXAgaXMgb3JkZXJlZC4gV2UgaW1wbGVtZW50IGl0IGFzIGEgVmVjdG9y
LgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcCk6
CisgICAgICAgIFVzZSB0aGUgY2FjaGUgc3RvcmFnZSBjb25uZWN0aW9uIHRvIGdldCBhbiB1cC10
by1kYXRlIGxpc3Qgb2YgY2FjaGVkIHJlY29yZHMuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6
cXVlcnlDYWNoZU1hdGNoKToKKyAgICAgICAgSW1wbGVtZW50cyB0aGUgbWF0Y2ggYWxnb3JpdGht
IGRlZmluZWQgaW4gaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNxdWVy
eS1jYWNoZS1hbGdvcml0aG0uCisgICAgICAgIFRoaXMgaXMgc3BsaXQgZm9yIHF1ZXJ5Q2FjaGUg
YXMgY2FjaGUgc3RvcmFnZSBlbmdpbmUgd2lsbCBuZWVkIHRvIHVzZSBpdCB3aGVuIGltcGxlbWVu
dGluZyB0aGUgZGVsZXRlIG9wZXJhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjpxdWVy
eUNhY2hlKToKKyAgICAgICAgRnVsbCBpbXBsZW1lbnRhdGlvbiBvZiBodHRwczovL3d3dy53My5v
cmcvVFIvc2VydmljZS13b3JrZXJzLTEvI3F1ZXJ5LWNhY2hlLWFsZ29yaXRobSB3aXRoIG5vIHRh
cmdldFN0b3JhZ2UgYXJndW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6cXVlcnlDYWNo
ZVdpdGhUYXJnZXRTdG9yYWdlKToKKyAgICAgICAgRnVsbCBpbXBsZW1lbnRhdGlvbiBvZiBodHRw
czovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEvI3F1ZXJ5LWNhY2hlLWFsZ29yaXRo
bSB3aXRoIGEgcHJvdmlkZWQgdGFyZ2V0U3RvcmFnZSBhcmd1bWVudC4KKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlOjpiYXRjaERlbGV0ZU9wZXJhdGlvbik6CisgICAgICAgIEltcGxlbWVudGF0aW9u
IG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jYmF0Y2gtY2FjaGUt
b3BlcmF0aW9ucy1hbGdvcml0aG0gYnV0IGRlZGljYXRlZCB0byBhIGRlbGV0ZSBvcGVyYXRpb24u
CisgICAgICAgIERlbGV0ZSBvcGVyYXRpb24gYXJlIGFsd2F5cyBkb25lIG9uZSBhdCBhIHRpbWUu
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6YmF0Y2hQdXRPcGVyYXRpb24pOgorICAgICAgICBJ
bXBsZW1lbnRhdGlvbiBvZiBodHRwczovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEv
I2JhdGNoLWNhY2hlLW9wZXJhdGlvbnMtYWxnb3JpdGhtIGRlZGljYXRlZCB0byBhIHB1dCBvcGVy
YXRpb24uCisgICAgICAgIFB1dCBvcGVyYXRpb24gdGFrZXMgb25lIHJlY29yZCBmb3IgcHV0IGJ1
dCBjYW4gdGFrZSBzZXZlcmFsIHJlY29yZHMgaW4gdGhlIGNhc2Ugb2YgYWRkQWxsLCBoZW5jZSB0
aGUgY3VycmVudCBkZXNpZ24uCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6dXBkYXRlUmVxdWVz
dFRvUmVzcG9uc2VNYXApOgorICAgICAgICBVcGRhdGUgdGhlIGNhY2hlIHJlcXVlc3QgdG8gcmVz
cG9uc2UgbWFwIGJhc2VkIG9uIHRoZSByZWNvcmRzIHJldHJpZXZlZCBmcm9tIHRoZSBjYWNoZSBz
dG9yYWdlIGNvbm5lY3Rpb24uCisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6
bmFtZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZS5pZGw6CisgICAgICAg
ICogTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVTdG9yYWdlOjpvcmlnaW4gY29uc3QpOgorICAgICAgICBDb21wdXRpbmcgdGhlIGNhY2hlIG9y
aWdpbiB0aGF0IGlzIHBhc3NlZCB0byB0aGUgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi4KKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6aGFzKToKKyAgICAgICAgSW1wbGVtZW50YXRpb24g
b2YgaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNjYWNoZS1zdG9yYWdl
LWhhcy4KKyAgICAgICAgQ2FsbCB0aGUgY2FjaGUgc3RvcmFnZSBjb25uZWN0aW9uIHRvIHJlZnJl
c2ggaXRzIGNhY2hlIG1hcC4KKyAgICAgICAgVGhlbiB1c2UgaXQgdG8gY2hlY2sgd2hldGhlciBh
IGNhY2hlIGV4aXN0cy4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6cmVmcmVzaENh
Y2hlTWFwKToKKyAgICAgICAgVXNlIHRoZSBjYWNoZSBzdG9yYWdlIGNvbm5lY3Rpb24gdG8gZ2V0
IHRoZSBsaXN0IG9mIGV4aXN0aW5nIGNhY2hlcy4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3Rv
cmFnZTo6b3Blbik6CisgICAgICAgIEltcGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9y
Zy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtc3RvcmFnZS1vcGVuLgorICAgICAgICBSZWZy
ZXNoaW5nIHRoZSBjYWNoZSBtYXAgc28gYXMgdG8gcmV0dXJuIGEgcHJlLWV4aXN0aW5nIGNhY2hl
IGlmIGFueS4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6cmVtb3ZlKToKKyAgICAg
ICAgSW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vy
cy0xLyNjYWNoZS1zdG9yYWdlLWRlbGV0ZS1tZXRob2QuCisgICAgICAgIFJlZnJlc2hpbmcgdGhl
IGNhY2hlIG1hcCBzbyBhcyB0byBkbyBub3RoaW5nIGlmIHRoZXJlIGlzIG5vIGNhY2hlIHRvIHJl
bW92ZS4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6a2V5cyk6CisgICAgICAgIElt
cGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8j
Y2FjaGUtc3RvcmFnZS1rZXlzLW1ldGhvZC4KKyAgICAgICAgUmVmcmVzaGluZyB0aGUgY2FjaGUg
bWFwIGFuZCByZXR1cm5pbiBpdHMga2V5cy4KKyAgICAgICAgQXMgcGVyIHNwZWMsIHRoZSBjYWNo
ZSBtYXAgaXMgb3JkZXJlZC4gV2UgaW1wbGVtZW50IGl0IGFzIGEgVmVjdG9yLgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpjYWNoZU1hcCk6CisgICAgICAgIEdldCB0aGUgbGlzdCBv
ZiBjYWNoZSBvYmplY3RzLCB1c2VkIGFzIGEgcHJpdmF0ZSBhY2Nlc3NvciBmb3IgSlMgYnVpbHQt
aW5zLgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZVN0b3JhZ2U6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0
b3JhZ2U6OkNhY2hlU3RvcmFnZSk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uOjpleGNlcHRpb25Gcm9tRXJyb3IpOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUv
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oOiBBZGRlZC4KKyAgICAgICAgTWFrZXMgdGhlIGxpbmsg
YmV0d2VlbiBXZWIgZmFjaW5nIENhY2hlIEFQSSBhbmQgdGhlIGNhY2hlIHN0b3JhZ2UgZW5naW5l
LgorICAgICAgICBFbnZpc2lvbmVkIGltcGxlbWVudGF0aW9uIGFyZToKKyAgICAgICAgLSBPbmUg
bWFpbiB0aHJlYWQgY29ubmVjdGlvbiB1c2VkIGJ5IGFsbCBkb2N1bWVudHMgaW4gdGhlIGdpdmVu
IHByb2Nlc3MuCisgICAgICAgIC0gT25lIGNvbm5lY3Rpb24gcGVyIHdvcmtlciB0aGF0IGZvcndh
cmRzIHRoZSBjYWxscyB0byB0aGUgbWFpbiB0aHJlYWQgYW5kIHVzZSB0aGUgbWFpbiB0aHJlYWQg
Y29ubmVjdGlvbiBhZnRlcndhcmRzLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29u
bmVjdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5lY3Rp
b246Om9wZW4pOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6cmVt
b3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246OnJlZnJlc2hD
YWNoZU1hcCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpyZWZy
ZXNoUmVxdWVzdFRvUmVzcG9uc2VNYXApOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdl
Q29ubmVjdGlvbjo6YmF0Y2hEZWxldGVPcGVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbjo6YmF0Y2hQdXRPcGVyYXRpb24pOgorICAgICAgICAqIE1vZHVs
ZXMvY2FjaGUvQ2FjaGVTdG9yYWdlUmVjb3JkLmg6IEFkZGVkLiBBIGZldGNoIHJlY29yZCBmcm9t
IHRoZSBXZWIgZmFjaW5nIGNhY2hlIEFQSSBwZXJzcGVjdGl2ZS4KKyAgICAgICAgKiBNb2R1bGVz
L2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3dD
YWNoZXM6OmNhY2hlcyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9i
YWxTY29wZUNhY2hlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUNh
Y2hlczo6ZnJvbSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6
Y2FjaGVzIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3Bl
Q2FjaGVzLmg6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6V29y
a2VyR2xvYmFsU2NvcGVDYWNoZXMpOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5
T3duZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoQm9keU93bmVyOjppc1JlYWRhYmxlU3Ry
ZWFtQm9keSBjb25zdCk6IEFkZGVkIGdldHRlciBhcyBpdCBpcyB1c2VkIGJ5IGNhY2hlIEFQSS4K
KyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5oOgorICAgICAgICAoV2ViQ29y
ZTo6RmV0Y2hIZWFkZXJzOjpjcmVhdGUpOiBBZGQgYW5vdGhlciBjcmVhdGUgYXMgdXNlZCBieSB0
aGUgY2FjaGUgQVBJLgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpndWFyZCBjb25z
dCk6IEFkZGVkIGdldHRlciBhbmQgSVBDIHNlcmlhbGl6ZXIgYXMgdGhpcyBpcyBzb21ldGhpbmcg
dGhhdCB3aWxsIGJlIHN0b3JlZCBieSB0aGUgY2FjaGUgZW5naW5lLgorICAgICAgICAqIE1vZHVs
ZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hMb2FkZXI6
OnN0YXJ0KToKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpidWlsZE9wdGlvbnMpOiBJbiBjYXNlIEZldGNoUmVxdWVzdDo6Y3JlYXRl
IGlzIGNhbGxlZCBmcm9tIEMrKywgdGhlcmUgaXMgbm8gbmVlZCB0byBzZXQgaW5pdC53aW5kb3cg
dG8gYSBudWxsIHZhbHVlLgorICAgICAgICBBZGQgYSBjaGVjayBzbyB0aGF0IG5vIHZhbHVlIGF0
IGFsbCBpcyB0aGUgc2FtZSBhcyBhIG51bGwvdW5kZWZpbmVkIHZhbHVlLgorICAgICAgICAoV2Vi
Q29yZTo6RmV0Y2hSZXF1ZXN0OjpyZXNvdXJjZVJlcXVlc3QgY29uc3QpOgorICAgICAgICAqIE1v
ZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0Lmg6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRj
aFJlc3BvbnNlLmg6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvck92ZXJsYXk6Om92ZXJsYXlQYWdlKToKKyAgICAgICAgKiBwYWdlL0Nh
Y2hlU3RvcmFnZVByb3ZpZGVyLmg6IEFkZGVkLgorICAgICAgICBJbnRlcmZhY2UgdG8gY3JlYXRl
IG1haW4gdGhyZWFkIGNhY2hlIHN0b3JhZ2UgY29ubmVjdGlvbiBmb3IgdGhlIGdpdmVuIHBhZ2Uu
CisgICAgICAgIFRoZXJlIHdpbGwgYmUgb25lIHByb3ZpZGVyIGZvciBlYWNoIHByb2Nlc3MuCisg
ICAgICAgIFBhc3NpbmcgYSBzZXNzaW9uSUQgc28gdGhhdCB3ZSB3aWxsIGNyZWF0ZSBhIGNvbm5l
Y3Rpb24gcGVyIHNlc3Npb24uCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBhZ2U6OlBhZ2UpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UGFnZTo6Y2FjaGVTdG9yYWdlUHJvdmlkZXIpOgorICAgICAgICAqIHBhZ2UvUGFnZUNv
bmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbmZpZ3VyYXRpb246OlBh
Z2VDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0aW9uLmg6Cisg
ICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0ltYWdlOjpkYXRhQ2hhbmdlZCk6CisKIDIwMTctMDgtMTQgIEFkcmlhbiBQZXJleiBkZSBDYXN0
cm8gIDxhcGVyZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV1BFXSBJbXBsZW1lbnQgV2ViQ29y
ZTo6c3RhbmRhcmRVc2VyQWdlbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiODUxZjA3ZTMzYzRjM2QyOWY2MDk1
YmU3Y2Y1MTg1ZGQzNDA1YWY5Li43ZGYyNTI3MDEzNTJkN2Y0YmYzN2Q2ZjRkNjRjNmQ2M2I5NTI0
MmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE3LTA4LTEzICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbQ2FjaGUgQVBJXSBBZGRpbmcgZ2VuZXJp
YyBzdXBwb3J0IGZvciBDYWNoZVN0b3JhZ2UgYW5kIENhY2hlIG1ldGhvZHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTQ1NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9DYWNoZS9XZWJDYWNoZVN0b3Jh
Z2VQcm92aWRlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fY3B1TGltaXQpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OldlYlByb2Nl
c3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzOjpjYWNoZVN0b3JhZ2VQcm92aWRlcik6CisKIDIwMTctMDgtMTQgIFRpbSBI
b3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgT25seSBjcmVhdGUg
ZGlyZWN0b3J5IGFuZCBzYW5kYm94IGV4dGVuc2lvbiBoYW5kbGUgZm9yIHN0b3JhZ2UgZGlyZWN0
b3JpZXMgaWYgdGhleSBhcmUgc2V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggOWQ4
YTNlZDdkYmZmM2JjZDI1YWZmYWRhYmYxODZiYjUyZTY3ZWI3OC4uZGM1YTRiNDIyNGQ5ZTkzZDY3
NjZmMzVjNmViYzFhOTU4MGExNTFkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEzIEBACisyMDE3LTA4LTEzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KKworICAgICAgICBbQ2FjaGUgQVBJXSBBZGRpbmcgZ2VuZXJpYyBzdXBwb3J0IGZvciBDYWNo
ZVN0b3JhZ2UgYW5kIENhY2hlIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3NTQ1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJW
aWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6Z3JvdXBOYW1lOl0pOgorCiAy
MDE3LTA4LTEzICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAg
ICAgICAgIENvbXBvc2l0aW9uIHVuZGVybGluZSBjb2xvciBpcyBhbHdheXMgYmxhY2sKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCA3YzViZWExMmI5OTYzOGI0YmE1NjU5MDdmNzg5NDdh
ZWIyOTRiNTE0Li5mYzg3ZDQ5NGYyMDQ4MGZmNDBkMTIxYTMzZDI1NWE4MzZiNGIyMGViIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMDgtMTMgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFtDYWNoZSBBUEldIEFk
ZGluZyBnZW5lcmljIHN1cHBvcnQgZm9yIENhY2hlU3RvcmFnZSBhbmQgQ2FjaGUgbWV0aG9kcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NDU1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3
LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OmluaXRXaXRoRnJhbWUpOgorCiAyMDE3LTA4LTEzICBN
YW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIENvbXBv
c2l0aW9uIHVuZGVybGluZSBjb2xvciBpcyBhbHdheXMgYmxhY2sKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
aW5kZXggZTNmNGM5MmI2OTg4Yzg5ZTI3OTE4NmNlMmZhMzQ3MzA0MjA2ZTdiMi4uMDI5ZTI3NWM0
NTliZjg5N2E1MDFkYTUwYTM4OWU4YTJkOGQ3NGQ5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAg
LTkwMCw2ICs5MDAsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAKICAgICBNb2R1bGVzL2NhY2hl
L0NhY2hlLmNwcAogICAgIE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmNwcAorICAgIE1vZHVs
ZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAKICAgICBNb2R1bGVzL2NhY2hlL0RP
TVdpbmRvd0NhY2hlcy5jcHAKICAgICBNb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2Fj
aGVzLmNwcAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuY3BwCmluZGV4IGUxOWFm
NTUwMjk1NjRkOTU3NDU0MmIzZWIzMzQ4NDMyMzgzZjY3ZDUuLjY2NDQyMzQ0ZmJmM2JlNTVlN2Jk
YjE3MzUyMGJkYjFkNjY1Y2I0NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2FjaGUvQ2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUu
Y3BwCkBAIC0yNiw0MSArMjYsMzQwIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
Q2FjaGUuaCIKIAorI2luY2x1ZGUgIkNhY2hlUXVlcnlPcHRpb25zLmgiCisjaW5jbHVkZSAiRmV0
Y2hSZXNwb25zZS5oIgorI2luY2x1ZGUgIkpTRmV0Y2hSZXF1ZXN0LmgiCisjaW5jbHVkZSAiSlNG
ZXRjaFJlc3BvbnNlLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2lu
Y2x1ZGUgIlVSTC5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgQ2FjaGU6Om1hdGNo
KFJlcXVlc3RJbmZvJiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIFJlZjxE
ZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK0NhY2hlOjpDYWNoZShTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0LCBTdHJpbmcmJiBuYW1lLCB1aW50NjRfdCBpZGVudGlmaWVyLCBSZWY8
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4mJiBjb25uZWN0aW9uKQorICAgIDogQWN0aXZlRE9NT2Jq
ZWN0KCZjb250ZXh0KQorICAgICwgbV9uYW1lKFdURk1vdmUobmFtZSkpCisgICAgLCBtX2lkZW50
aWZpZXIoaWRlbnRpZmllcikKKyAgICAsIG1fY29ubmVjdGlvbihXVEZNb3ZlKGNvbm5lY3Rpb24p
KQogewotICAgIHByb21pc2UtPnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0
ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICBzdXNwZW5kSWZOZWVkZWQoKTsKIH0KIAot
dm9pZCBDYWNoZTo6bWF0Y2hBbGwoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4mJiwgc3RkOjpv
cHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgTWF0Y2hBbGxQcm9taXNlJiYgcHJvbWlzZSkK
K0NhY2hlOjp+Q2FjaGUoKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVF
cnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworfQorCit2b2lkIENhY2hl
OjptYXRjaChSZXF1ZXN0SW5mbyYmIGluZm8sIENhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywg
UmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQoreworICAgIGRvTWF0Y2goV1RGTW92ZShp
bmZvKSwgV1RGTW92ZShvcHRpb25zKSwgV1RGTW92ZShwcm9taXNlKSwgTWF0Y2hUeXBlOjpPbmx5
Rmlyc3QpOworfQorCit2b2lkIENhY2hlOjptYXRjaEFsbChzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJ
bmZvPiYmIGluZm8sIENhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywgUmVmPERlZmVycmVkUHJv
bWlzZT4mJiBwcm9taXNlKQoreworICAgIGRvTWF0Y2goV1RGTW92ZShpbmZvKSwgV1RGTW92ZShv
cHRpb25zKSwgV1RGTW92ZShwcm9taXNlKSwgTWF0Y2hUeXBlOjpBbGwpOworfQorCit2b2lkIENh
Y2hlOjpkb01hdGNoKHN0ZDo6b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYgaW5mbywgQ2FjaGVRdWVy
eU9wdGlvbnMmJiBvcHRpb25zLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UsIE1hdGNo
VHlwZSBtYXRjaFR5cGUpCit7CisgICAgUmVmUHRyPEZldGNoUmVxdWVzdD4gcmVxdWVzdDsKKyAg
ICBpZiAoaW5mbykgeworICAgICAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWZQdHI8
RmV0Y2hSZXF1ZXN0Pj4oaW5mby52YWx1ZSgpKSkgeworICAgICAgICAgICAgcmVxdWVzdCA9IFdU
Rjo6Z2V0PFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvLnZhbHVlKCkpLnJlbGVhc2VOb25OdWxs
KCk7CisgICAgICAgICAgICBpZiAocmVxdWVzdC0+bWV0aG9kKCkgIT0gIkdFVCIgJiYgIW9wdGlv
bnMuaWdub3JlTWV0aG9kKSB7CisgICAgICAgICAgICAgICAgaWYgKG1hdGNoVHlwZSA9PSBNYXRj
aFR5cGU6Ok9ubHlGaXJzdCkgeworICAgICAgICAgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZl
KCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8RmV0
Y2hSZXNwb25zZT4+PihWZWN0b3I8UmVmPEZldGNoUmVzcG9uc2U+PiB7IH0pOworICAgICAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgIGlmIChVTkxJS0VMWSghc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSkKKyAgICAgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgICAgICByZXF1ZXN0ID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUo
KnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgV1RGTW92ZShpbmZvLnZhbHVlKCkpLCB7IH0pLnJl
bGVhc2VSZXR1cm5WYWx1ZSgpOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCFyZXF1ZXN0
KSB7CisgICAgICAgIEFTU0VSVChtYXRjaFR5cGUgPT0gTWF0Y2hUeXBlOjpBbGwpOworICAgICAg
ICByZXRyaWV2ZVJlY29yZHMoW3RoaXMsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSgpIHsK
KyAgICAgICAgICAgIFZlY3RvcjxSZWY8RmV0Y2hSZXNwb25zZT4+IHJlc3BvbnNlczsKKyAgICAg
ICAgICAgIHJlc3BvbnNlcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1fcmVjb3Jkcy5zaXplKCkp
OworICAgICAgICAgICAgZm9yIChhdXRvJiByZWNvcmQgOiBtX3JlY29yZHMpCisgICAgICAgICAg
ICAgICAgcmVzcG9uc2VzLnVuY2hlY2tlZEFwcGVuZChyZWNvcmQucmVzcG9uc2UtPmNsb25lRm9y
SlMoKSk7CisgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElETFNlcXVlbmNlPElETEludGVy
ZmFjZTxGZXRjaFJlc3BvbnNlPj4+KHJlc3BvbnNlcyk7CisgICAgICAgIH0pOworICAgICAgICBy
ZXR1cm47CisgICAgfQorICAgIHF1ZXJ5Q2FjaGUocmVxdWVzdC5yZWxlYXNlTm9uTnVsbCgpLCBX
VEZNb3ZlKG9wdGlvbnMpLCBbbWF0Y2hUeXBlLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0o
Y29uc3QgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4mIHJlY29yZHMpIG11dGFibGUgeworICAg
ICAgICBpZiAobWF0Y2hUeXBlID09IE1hdGNoVHlwZTo6T25seUZpcnN0KSB7CisgICAgICAgICAg
ICBpZiAocmVjb3Jkcy5zaXplKCkpIHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZl
PElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4ocmVjb3Jkc1swXS5yZXNwb25zZS0+Y2xvbmVG
b3JKUygpKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICBwcm9taXNlLT5yZXNvbHZlKCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KworICAgICAgICBWZWN0b3I8UmVmPEZldGNoUmVzcG9uc2U+PiByZXNwb25zZXM7CisgICAgICAg
IHJlc3BvbnNlcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHJlY29yZHMuc2l6ZSgpKTsKKyAgICAg
ICAgZm9yIChhdXRvJiByZWNvcmQgOiByZWNvcmRzKQorICAgICAgICAgICAgcmVzcG9uc2VzLnVu
Y2hlY2tlZEFwcGVuZChyZWNvcmQucmVzcG9uc2UtPmNsb25lRm9ySlMoKSk7CisgICAgICAgIHBy
b21pc2UtPnJlc29sdmU8SURMU2VxdWVuY2U8SURMSW50ZXJmYWNlPEZldGNoUmVzcG9uc2U+Pj4o
cmVzcG9uc2VzKTsKKyAgICB9KTsKIH0KIAogdm9pZCBDYWNoZTo6YWRkKFJlcXVlc3RJbmZvJiYs
IERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS5yZWpl
Y3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIp
fSk7CisgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IsIEFT
Q0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKIH0KIAogdm9pZCBDYWNoZTo6YWRkQWxs
KFZlY3RvcjxSZXF1ZXN0SW5mbz4mJiwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlz
ZSkKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0
ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24g
eyBOb3RTdXBwb3J0ZWRFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOwor
fQorCit2b2lkIENhY2hlOjpwdXQoUmVxdWVzdEluZm8mJiBpbmZvLCBSZWY8RmV0Y2hSZXNwb25z
ZT4mJiByZXNwb25zZSwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlzZSkKK3sKKyAg
ICBSZWZQdHI8RmV0Y2hSZXF1ZXN0PiByZXF1ZXN0OworICAgIGlmIChXVEY6OmhvbGRzX2FsdGVy
bmF0aXZlPFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvKSkgeworICAgICAgICByZXF1ZXN0ID0g
V1RGOjpnZXQ8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8pLnJlbGVhc2VOb25OdWxsKCk7Cisg
ICAgICAgIGlmIChyZXF1ZXN0LT5tZXRob2QoKSAhPSAiR0VUIikgeworICAgICAgICAgICAgcHJv
bWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIlJlcXVlc3Qg
bWV0aG9kIGlzIG5vdCBHRVQiKSB9KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQor
ICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChVTkxJS0VMWSghc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgcmVxdWVzdCA9IEZldGNoUmVxdWVz
dDo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFdURk1vdmUoaW5mbyksIHsgfSku
cmVsZWFzZVJldHVyblZhbHVlKCk7CisgICAgfQorCisgICAgaWYgKCFwcm90b2NvbElzSW5IVFRQ
RmFtaWx5KHJlcXVlc3QtPnVybCgpKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRp
b24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiUmVxdWVzdCB1cmwgaXMgbm90IEhUVFAvSFRU
UFMiKSB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gdmFyeVZhbHVlID0g
cmVzcG9uc2UtPmhlYWRlcnMoKS5pbnRlcm5hbEhlYWRlcnMoKS5nZXQoV2ViQ29yZTo6SFRUUEhl
YWRlck5hbWU6OlZhcnkpOworICAgIGJvb2wgaGFzVmFyeUhlYWRlclN0YXIgPSBmYWxzZTsKKyAg
ICB2YXJ5VmFsdWUuc3BsaXQoJywnLCBmYWxzZSwgWyZdKFN0cmluZ1ZpZXcgdmlldykgeworICAg
ICAgICBpZiAoIWhhc1ZhcnlIZWFkZXJTdGFyICYmIHZpZXcgPT0gIioiKQorICAgICAgICAgICAg
aGFzVmFyeUhlYWRlclN0YXIgPSB0cnVlOworICAgIH0pOworCisgICAgaWYgKGhhc1ZhcnlIZWFk
ZXJTdGFyKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwg
QVNDSUlMaXRlcmFsKCJSZXNwb25zZSBoYXMgYSAnKicgVmFyeSBoZWFkZXIgdmFsdWUiKSB9KTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChyZXNwb25zZS0+aXNEaXN0dXJiZWQo
KSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJ
TGl0ZXJhbCgiUmVzcG9uc2UgaXMgZGlzdHVyYmVkIG9yIGxvY2tlZCIpIH0pOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgaWYgKHJlc3BvbnNlLT5zdGF0dXMoKSA9PSAyMDYpIHsKKyAg
ICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwo
IlJlc3BvbnNlIGlzIGEgMjA2IHBhcnRpYWwiKSB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgYmVpbmcgbG9hZGVkIHJlc3BvbnNlcy4K
KyAgICBpZiAocmVzcG9uc2UtPmlzTG9hZGluZygpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0
KEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yLCBBU0NJSUxpdGVyYWwoIkNhY2hpbmcgYSBs
b2FkaW5nIFJlc3BvbnNlIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIikgfSk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIFJlYWRhYmxlU3RyZWFt
LgorICAgIGlmIChyZXNwb25zZS0+aXNSZWFkYWJsZVN0cmVhbUJvZHkoKSkgeworICAgICAgICBw
cm9taXNlLnJlamVjdChFeGNlcHRpb24geyBOb3RTdXBwb3J0ZWRFcnJvciwgQVNDSUlMaXRlcmFs
KCJDYWNoaW5nIGEgUmVzcG9uc2Ugd2l0aCBkYXRhIHN0b3JlZCBpbiBhIFJlYWRhYmxlU3RyZWFt
IGlzIG5vdCB5ZXQgc3VwcG9ydGVkIikgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBiYXRjaFB1dE9wZXJhdGlvbigqcmVxdWVzdCwgcmVzcG9uc2UuZ2V0KCksIFtwcm9taXNlID0g
V1RGTW92ZShwcm9taXNlKV0oQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11
dGFibGUgeworICAgICAgICBpZiAoZXJyb3IgIT0gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJy
b3I6Ok5vbmUpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KENhY2hlU3RvcmFnZUNvbm5l
Y3Rpb246OmV4Y2VwdGlvbkZyb21FcnJvcihlcnJvcikpOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CisgICAgICAgIHByb21pc2UucmVzb2x2ZSgpOworICAgIH0pOworfQorCit2b2lk
IENhY2hlOjpyZW1vdmUoUmVxdWVzdEluZm8mJiBpbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9w
dGlvbnMsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmIHByb21pc2UpCit7CisgICAg
UmVmUHRyPEZldGNoUmVxdWVzdD4gcmVxdWVzdDsKKyAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5h
dGl2ZTxSZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4oaW5mbykpIHsKKyAgICAgICAgcmVxdWVzdCA9IFdU
Rjo6Z2V0PFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvKS5yZWxlYXNlTm9uTnVsbCgpOworICAg
ICAgICBpZiAocmVxdWVzdC0+bWV0aG9kKCkgIT0gIkdFVCIgJiYgIW9wdGlvbnMuaWdub3JlTWV0
aG9kKSB7CisgICAgICAgICAgICBwcm9taXNlLnJlc29sdmUoZmFsc2UpOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKFVOTElLRUxZKCFz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBy
ZXF1ZXN0ID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwg
V1RGTW92ZShpbmZvKSwgeyB9KS5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKKyAgICB9CisKKyAgICBi
YXRjaERlbGV0ZU9wZXJhdGlvbigqcmVxdWVzdCwgV1RGTW92ZShvcHRpb25zKSwgW3Byb21pc2Ug
PSBXVEZNb3ZlKHByb21pc2UpXShib29sIGRpZERlbGV0ZSwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlv
bjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICBpZiAoZXJyb3IgIT0gIENhY2hlU3Rv
cmFnZUNvbm5lY3Rpb246OkVycm9yOjpOb25lKSB7CisgICAgICAgICAgICBwcm9taXNlLnJlamVj
dChDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpleGNlcHRpb25Gcm9tRXJyb3IoZXJyb3IpKTsKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBwcm9taXNlLnJlc29sdmUoZGlk
RGVsZXRlKTsKKyAgICB9KTsKK30KKwordm9pZCBDYWNoZTo6a2V5cyhzdGQ6Om9wdGlvbmFsPFJl
cXVlc3RJbmZvPiYmIGluZm8sIENhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywgS2V5c1Byb21p
c2UmJiBwcm9taXNlKQoreworICAgIFJlZlB0cjxGZXRjaFJlcXVlc3Q+IHJlcXVlc3Q7CisgICAg
aWYgKGluZm8pIHsKKyAgICAgICAgaWYgKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmUHRyPEZl
dGNoUmVxdWVzdD4+KGluZm8udmFsdWUoKSkpIHsKKyAgICAgICAgICAgIHJlcXVlc3QgPSBXVEY6
OmdldDxSZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4oaW5mby52YWx1ZSgpKS5yZWxlYXNlTm9uTnVsbCgp
OworICAgICAgICAgICAgaWYgKHJlcXVlc3QtPm1ldGhvZCgpICE9ICJHRVQiICYmICFvcHRpb25z
Lmlnbm9yZU1ldGhvZCkgeworICAgICAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShWZWN0b3I8
UmVmPEZldGNoUmVxdWVzdD4+IHsgfSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKFVOTElLRUxZKCFzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCkpKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLCBXVEZNb3ZlKGluZm8udmFsdWUoKSksIHsgfSkucmVsZWFzZVJldHVyblZhbHVlKCk7Cisg
ICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoIXJlcXVlc3QpIHsKKyAgICAgICAgcmV0cmlldmVS
ZWNvcmRzKFt0aGlzLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsKKyAg
ICAgICAgICAgIFZlY3RvcjxSZWY8RmV0Y2hSZXF1ZXN0Pj4gcmVxdWVzdHM7CisgICAgICAgICAg
ICByZXF1ZXN0cy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1fcmVjb3Jkcy5zaXplKCkpOworICAg
ICAgICAgICAgZm9yIChhdXRvJiByZWNvcmQgOiBtX3JlY29yZHMpCisgICAgICAgICAgICAgICAg
cmVxdWVzdHMudW5jaGVja2VkQXBwZW5kKHJlY29yZC5yZXF1ZXN0LmNvcHlSZWYoKSk7CisgICAg
ICAgICAgICBwcm9taXNlLnJlc29sdmUocmVxdWVzdHMpOworICAgICAgICB9KTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIHF1ZXJ5Q2FjaGUocmVxdWVzdC5yZWxlYXNlTm9uTnVsbCgp
LCBXVEZNb3ZlKG9wdGlvbnMpLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKGNvbnN0IFZl
Y3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+JiByZWNvcmRzKSBtdXRhYmxlIHsKKyAgICAgICAgVmVj
dG9yPFJlZjxGZXRjaFJlcXVlc3Q+PiByZXF1ZXN0czsKKyAgICAgICAgcmVxdWVzdHMucmVzZXJ2
ZUluaXRpYWxDYXBhY2l0eShyZWNvcmRzLnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0byYgcmVj
b3JkIDogcmVjb3JkcykKKyAgICAgICAgICAgIHJlcXVlc3RzLnVuY2hlY2tlZEFwcGVuZChyZWNv
cmQucmVxdWVzdC5jb3B5UmVmKCkpOworICAgICAgICBwcm9taXNlLnJlc29sdmUocmVxdWVzdHMp
OworICAgIH0pOworfQorCit2b2lkIENhY2hlOjpyZXRyaWV2ZVJlY29yZHMoV1RGOjpGdW5jdGlv
bjx2b2lkKCk+JiYgY2FsbGJhY2spCit7CisgICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOwor
ICAgIG1fY29ubmVjdGlvbi0+cmV0cmlldmVSZWNvcmRzKG1faWRlbnRpZmllciwgW3RoaXMsIGNh
bGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKFZlY3RvcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
OjpSZWNvcmQ+JiYgcmVjb3JkcykgeworICAgICAgICBpZiAoIW1faXNTdG9wcGVkKSB7CisgICAg
ICAgICAgICB1cGRhdGVSZWNvcmRzKFdURk1vdmUocmVjb3JkcykpOworICAgICAgICAgICAgY2Fs
bGJhY2soKTsKKyAgICAgICAgfQorICAgICAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsK
KyAgICB9KTsKK30KKwordm9pZCBDYWNoZTo6cXVlcnlDYWNoZShSZWY8RmV0Y2hSZXF1ZXN0PiYm
IHJlcXVlc3QsIENhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywgV1RGOjpGdW5jdGlvbjx2b2lk
KGNvbnN0IFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+Jik+JiYgY2FsbGJhY2spCit7CisgICAg
cmV0cmlldmVSZWNvcmRzKFt0aGlzLCByZXF1ZXN0ID0gV1RGTW92ZShyZXF1ZXN0KSwgb3B0aW9u
cyA9IFdURk1vdmUob3B0aW9ucyksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKCkgbXV0
YWJsZSB7CisgICAgICAgIGNhbGxiYWNrKHF1ZXJ5Q2FjaGVXaXRoVGFyZ2V0U3RvcmFnZShyZXF1
ZXN0LmdldCgpLCBvcHRpb25zLCBtX3JlY29yZHMpKTsKKyAgICB9KTsKK30KKworc3RhdGljIGlu
bGluZSBib29sIHF1ZXJ5Q2FjaGVNYXRjaChjb25zdCBGZXRjaFJlcXVlc3QmIHJlcXVlc3QsIGNv
bnN0IEZldGNoUmVxdWVzdCYgY2FjaGVkUmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYg
Y2FjaGVkUmVzcG9uc2UsIGNvbnN0IENhY2hlUXVlcnlPcHRpb25zJiBvcHRpb25zKQoreworICAg
IC8vIFdlIG5lZWQgdG8gcGFzcyB0aGUgcmVzb3VyY2UgcmVxdWVzdCB3aXRoIGFsbCBjb3JyZWN0
IGhlYWRlcnMgaGVuY2Ugd2h5IHdlIGNhbGwgcmVzb3VyY2VSZXF1ZXN0KCkuCisgICAgcmV0dXJu
IENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OnF1ZXJ5Q2FjaGVNYXRjaChyZXF1ZXN0LnJlc291cmNl
UmVxdWVzdCgpLCBjYWNoZWRSZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLCBjYWNoZWRSZXNwb25z
ZSwgb3B0aW9ucyk7Cit9CisKK1ZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+IENhY2hlOjpxdWVy
eUNhY2hlV2l0aFRhcmdldFN0b3JhZ2UoY29uc3QgRmV0Y2hSZXF1ZXN0JiByZXF1ZXN0LCBjb25z
dCBDYWNoZVF1ZXJ5T3B0aW9ucyYgb3B0aW9ucywgY29uc3QgVmVjdG9yPENhY2hlU3RvcmFnZVJl
Y29yZD4mIHRhcmdldFN0b3JhZ2UpCit7CisgICAgaWYgKCFvcHRpb25zLmlnbm9yZU1ldGhvZCAm
JiByZXF1ZXN0Lm1ldGhvZCgpICE9ICJHRVQiKQorICAgICAgICByZXR1cm4geyB9OworCisgICAg
VmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4gcmVjb3JkczsKKyAgICBmb3IgKGF1dG8mIHJlY29y
ZCA6IHRhcmdldFN0b3JhZ2UpIHsKKyAgICAgICAgaWYgKHF1ZXJ5Q2FjaGVNYXRjaChyZXF1ZXN0
LCByZWNvcmQucmVxdWVzdC5nZXQoKSwgcmVjb3JkLnJlc3BvbnNlLT5yZXNvdXJjZVJlc3BvbnNl
KCksIG9wdGlvbnMpKQorICAgICAgICAgICAgcmVjb3Jkcy5hcHBlbmQoeyByZWNvcmQuaWRlbnRp
ZmllciwgcmVjb3JkLnJlcXVlc3QuY29weVJlZigpLCByZWNvcmQucmVzcG9uc2UuY29weVJlZigp
IH0pOworICAgIH0KKyAgICByZXR1cm4gcmVjb3JkczsKK30KKwordm9pZCBDYWNoZTo6YmF0Y2hE
ZWxldGVPcGVyYXRpb24oY29uc3QgRmV0Y2hSZXF1ZXN0JiByZXF1ZXN0LCBDYWNoZVF1ZXJ5T3B0
aW9ucyYmIG9wdGlvbnMsIFdURjo6RnVuY3Rpb248dm9pZChib29sIGRpZFJlbW92YWwsIENhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OkVycm9yIGVycm9yKT4mJiBjYWxsYmFjaykKK3sKKyAgICBzZXRQ
ZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgbV9jb25uZWN0aW9uLT5iYXRjaERlbGV0ZU9wZXJh
dGlvbihtX2lkZW50aWZpZXIsIHJlcXVlc3QuaW50ZXJuYWxSZXF1ZXN0KCksIFdURk1vdmUob3B0
aW9ucyksIFt0aGlzLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShWZWN0b3I8dWludDY0
X3Q+JiYgcmVjb3JkcywgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIHsKKyAg
ICAgICAgaWYgKCFtX2lzU3RvcHBlZCkgeworICAgICAgICAgICAgaWYgKGVycm9yID09IENhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OkVycm9yOjpOb25lKQorICAgICAgICAgICAgICAgIG1fcmVjb3Jk
cy5yZW1vdmVBbGxNYXRjaGluZyhbJl0oY29uc3QgYXV0byYgaXRlbSkgeyByZXR1cm4gcmVjb3Jk
cy5jb250YWlucyhpdGVtLmlkZW50aWZpZXIpOyB9KTsKKworICAgICAgICAgICAgY2FsbGJhY2so
IXJlY29yZHMuaXNFbXB0eSgpLCBlcnJvcik7CisgICAgICAgIH0KKyAgICAgICAgdW5zZXRQZW5k
aW5nQWN0aXZpdHkodGhpcyk7CisgICAgfSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbjo6UmVjb3JkIHRvQ29ubmVjdGlvblJlY29yZChjb25zdCBGZXRjaFJlcXVl
c3QmIHJlcXVlc3QsIEZldGNoUmVzcG9uc2UmIHJlc3BvbnNlKQoreworICAgIC8vIEZJWE1FOiBB
ZGQgYSBzZXRIVFRQSGVhZGVyRmllbGRzIG9uIFJlc291cmNlUmVzcG9uc2VCYXNlLgorICAgIFJl
c291cmNlUmVzcG9uc2UgY2FjaGVkUmVzcG9uc2UgPSByZXNwb25zZS5yZXNvdXJjZVJlc3BvbnNl
KCk7CisgICAgZm9yIChhdXRvJiBoZWFkZXIgOiByZXNwb25zZS5oZWFkZXJzKCkuaW50ZXJuYWxI
ZWFkZXJzKCkpCisgICAgICAgIGNhY2hlZFJlc3BvbnNlLnNldEhUVFBIZWFkZXJGaWVsZChoZWFk
ZXIua2V5LCBoZWFkZXIudmFsdWUpOworCisgICAgUmVzb3VyY2VSZXF1ZXN0IGNhY2hlZFJlcXVl
c3QgPSByZXF1ZXN0LmludGVybmFsUmVxdWVzdCgpOworICAgIGNhY2hlZFJlcXVlc3Quc2V0SFRU
UEhlYWRlckZpZWxkcyhyZXF1ZXN0LmhlYWRlcnMoKS5pbnRlcm5hbEhlYWRlcnMoKSk7CisKKyAg
ICByZXR1cm4geyAwLAorICAgICAgICByZXF1ZXN0LmhlYWRlcnMoKS5ndWFyZCgpLCBXVEZNb3Zl
KGNhY2hlZFJlcXVlc3QpLCByZXF1ZXN0LmZldGNoT3B0aW9ucygpLCByZXF1ZXN0LmludGVybmFs
UmVxdWVzdFJlZmVycmVyKCksCisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMoKS5ndWFyZCgpLCBX
VEZNb3ZlKGNhY2hlZFJlc3BvbnNlKQorICAgIH07Cit9CisKK3ZvaWQgQ2FjaGU6OmJhdGNoUHV0
T3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgRmV0Y2hSZXNwb25zZSYgcmVz
cG9uc2UsIFdURjo6RnVuY3Rpb248dm9pZChDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJvcik+
JiYgY2FsbGJhY2spCit7CisgICAgVmVjdG9yPENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlY29y
ZD4gcmVjb3JkczsKKyAgICByZWNvcmRzLmFwcGVuZCh0b0Nvbm5lY3Rpb25SZWNvcmQocmVxdWVz
dCwgcmVzcG9uc2UpKTsKKworICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICBtX2Nv
bm5lY3Rpb24tPmJhdGNoUHV0T3BlcmF0aW9uKG1faWRlbnRpZmllciwgV1RGTW92ZShyZWNvcmRz
KSwgW3RoaXMsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKFZlY3Rvcjx1aW50NjRfdD4m
JiwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIHsKKyAgICAgICAgaWYgKCFt
X2lzU3RvcHBlZCkKKyAgICAgICAgICAgIGNhbGxiYWNrKGVycm9yKTsKKworICAgICAgICB1bnNl
dFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICB9KTsKK30KKwordm9pZCBDYWNoZTo6dXBkYXRl
UmVjb3JkcyhWZWN0b3I8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6UmVjb3JkPiYmIHJlY29yZHMp
Cit7CisgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CisgICAgVmVjdG9yPENh
Y2hlU3RvcmFnZVJlY29yZD4gbmV3UmVjb3JkczsKKworICAgIGZvciAoYXV0byYgcmVjb3JkIDog
cmVjb3JkcykgeworICAgICAgICBzaXplX3QgaW5kZXggPSBtX3JlY29yZHMuZmluZE1hdGNoaW5n
KFsmXShjb25zdCBhdXRvJiBpdGVtKSB7IHJldHVybiBpdGVtLmlkZW50aWZpZXIgPT0gcmVjb3Jk
LmlkZW50aWZpZXI7IH0pOworICAgICAgICBpZiAoaW5kZXggIT0gbm90Rm91bmQpCisgICAgICAg
ICAgICBuZXdSZWNvcmRzLmFwcGVuZChXVEZNb3ZlKG1fcmVjb3Jkc1tpbmRleF0pKTsKKyAgICAg
ICAgZWxzZSB7CisgICAgICAgICAgICBhdXRvIHJlcXVlc3RIZWFkZXJzID0gRmV0Y2hIZWFkZXJz
OjpjcmVhdGUocmVjb3JkLnJlcXVlc3RIZWFkZXJzR3VhcmQsIEhUVFBIZWFkZXJNYXAgeyByZWNv
cmQucmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkgfSk7CisgICAgICAgICAgICBGZXRjaFJlcXVl
c3Q6OkludGVybmFsUmVxdWVzdCBpbnRlcm5hbFJlcXVlc3QgPSB7IFdURk1vdmUocmVjb3JkLnJl
cXVlc3QpLCBXVEZNb3ZlKHJlY29yZC5vcHRpb25zKSwgV1RGTW92ZShyZWNvcmQucmVmZXJyZXIp
IH07CisgICAgICAgICAgICBhdXRvIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZSgqc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLCBzdGQ6Om51bGxvcHQsIFdURk1vdmUocmVxdWVzdEhlYWRl
cnMpLCBXVEZNb3ZlKGludGVybmFsUmVxdWVzdCkpOworCisgICAgICAgICAgICBhdXRvIHJlc3Bv
bnNlSGVhZGVycyA9IEZldGNoSGVhZGVyczo6Y3JlYXRlKHJlY29yZC5yZXNwb25zZUhlYWRlcnNH
dWFyZCwgSFRUUEhlYWRlck1hcCB7IHJlY29yZC5yZXNwb25zZS5odHRwSGVhZGVyRmllbGRzKCkg
fSk7CisgICAgICAgICAgICBhdXRvIHJlc3BvbnNlID0gRmV0Y2hSZXNwb25zZTo6Y3JlYXRlKCpz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHN0ZDo6bnVsbG9wdCwgV1RGTW92ZShyZXNwb25zZUhl
YWRlcnMpLCBXVEZNb3ZlKHJlY29yZC5yZXNwb25zZSkpOworCisgICAgICAgICAgICBuZXdSZWNv
cmRzLmFwcGVuZChDYWNoZVN0b3JhZ2VSZWNvcmQgeyByZWNvcmQuaWRlbnRpZmllciwgV1RGTW92
ZShyZXF1ZXN0KSwgV1RGTW92ZShyZXNwb25zZSkgfSk7CisgICAgICAgIH0KKyAgICB9CisgICAg
bV9yZWNvcmRzID0gV1RGTW92ZShuZXdSZWNvcmRzKTsKIH0KIAotdm9pZCBDYWNoZTo6cHV0KFJl
cXVlc3RJbmZvJiYsIFJlZjxGZXRjaFJlc3BvbnNlPiYmLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9p
ZD4mJiBwcm9taXNlKQordm9pZCBDYWNoZTo6c3RvcCgpCiB7Ci0gICAgcHJvbWlzZS5yZWplY3Qo
RXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7
CisgICAgbV9pc1N0b3BwZWQgPSB0cnVlOwogfQogCi12b2lkIENhY2hlOjpyZW1vdmUoUmVxdWVz
dEluZm8mJiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgRE9NUHJvbWlzZURl
ZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKK2NvbnN0IGNoYXIqIENhY2hlOjphY3RpdmVE
T01PYmplY3ROYW1lKCkgY29uc3QKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBU
eXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICByZXR1cm4g
IkNhY2hlIjsKIH0KIAotdm9pZCBDYWNoZTo6a2V5cyhzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZv
PiYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBLZXlzUHJvbWlzZSYmIHBy
b21pc2UpCitib29sIENhY2hlOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29u
c3QKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0
ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICByZXR1cm4gIW1fcmVjb3Jkcy5zaXplKCkg
JiYgIWhhc1BlbmRpbmdBY3Rpdml0eSgpOwogfQogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUv
Q2FjaGUuaAppbmRleCAwMDgyYWNkNTU2ZGRmNWRlZTlmNzUwNjY1YzJmNGU5ZWI5ZGQ5NjVlLi5k
OTkxYTIzNTU3MDEzYTQ1MDhiZjU0MDYwN2YxYTkxYTljZmQ5MmNlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9jYWNoZS9DYWNoZS5oCkBAIC0yNSwzNiArMjUsNjEgQEAKIAogI3ByYWdtYSBvbmNlCiAK
LSNpbmNsdWRlICJGZXRjaFJlcXVlc3QuaCIKKyNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIK
KyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiQ2FjaGVTdG9y
YWdlUmVjb3JkLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRmV0Y2hSZXNwb25z
ZTsKK2NsYXNzIENhY2hlUXVlcnlPcHRpb25zOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDsKIAotc3RydWN0IENhY2hlUXVlcnlPcHRpb25zOwotCi1jbGFzcyBDYWNoZSA6IHB1YmxpYyBS
ZWZDb3VudGVkPENhY2hlPiB7CitjbGFzcyBDYWNoZSBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVk
PENhY2hlPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJl
ZjxDYWNoZT4gY3JlYXRlKFN0cmluZyYmIG5hbWUpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2Fj
aGUoV1RGTW92ZShuYW1lKSkpOyB9CisgICAgc3RhdGljIFJlZjxDYWNoZT4gY3JlYXRlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFN0cmluZyYmIG5hbWUsIHVpbnQ2NF90IGlkZW50
aWZpZXIsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYmIGNvbm5lY3Rpb24pIHsgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgQ2FjaGUoY29udGV4dCwgV1RGTW92ZShuYW1lKSwgaWRlbnRpZmllciwg
V1RGTW92ZShjb25uZWN0aW9uKSkpOyB9CisgICAgfkNhY2hlKCk7CiAKICAgICB1c2luZyBSZXF1
ZXN0SW5mbyA9IEZldGNoUmVxdWVzdDo6SW5mbzsKIAotICAgIHVzaW5nIE1hdGNoQWxsUHJvbWlz
ZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8RmV0Y2hSZXNw
b25zZT4+PjsKICAgICB1c2luZyBLZXlzUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExT
ZXF1ZW5jZTxJRExJbnRlcmZhY2U8RmV0Y2hSZXF1ZXN0Pj4+OwogCi0gICAgdm9pZCBtYXRjaChS
ZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBSZWY8RGVm
ZXJyZWRQcm9taXNlPiYmKTsKLSAgICB2b2lkIG1hdGNoQWxsKHN0ZDo6b3B0aW9uYWw8UmVxdWVz
dEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIE1hdGNoQWxsUHJv
bWlzZSYmKTsKKyAgICB2b2lkIG1hdGNoKFJlcXVlc3RJbmZvJiYsIENhY2hlUXVlcnlPcHRpb25z
JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworICAgIHZvaWQgbWF0Y2hBbGwoc3RkOjpvcHRp
b25hbDxSZXF1ZXN0SW5mbz4mJiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgUmVmPERlZmVycmVkUHJv
bWlzZT4mJik7CiAgICAgdm9pZCBhZGQoUmVxdWVzdEluZm8mJiwgRE9NUHJvbWlzZURlZmVycmVk
PHZvaWQ+JiYpOwogCiAgICAgdm9pZCBhZGRBbGwoVmVjdG9yPFJlcXVlc3RJbmZvPiYmLCBET01Q
cm9taXNlRGVmZXJyZWQ8dm9pZD4mJik7CiAgICAgdm9pZCBwdXQoUmVxdWVzdEluZm8mJiwgUmVm
PEZldGNoUmVzcG9uc2U+JiYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKTsKLSAgICB2b2lk
IHJlbW92ZShSZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYm
LCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJik7Ci0gICAgdm9pZCBrZXlzKHN0ZDo6
b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+
JiYsIEtleXNQcm9taXNlJiYpOworICAgIHZvaWQgcmVtb3ZlKFJlcXVlc3RJbmZvJiYsIENhY2hl
UXVlcnlPcHRpb25zJiYsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmKTsKKyAgICB2
b2lkIGtleXMoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4mJiwgQ2FjaGVRdWVyeU9wdGlvbnMm
JiwgS2V5c1Byb21pc2UmJik7CisKKyAgICBjb25zdCBTdHJpbmcmIG5hbWUoKSBjb25zdCB7IHJl
dHVybiBtX25hbWU7IH0KKyAgICB1aW50NjRfdCBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4g
bV9pZGVudGlmaWVyOyB9CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgQ2FjaGUoU3RyaW5nJiYg
bmFtZSkgOiBtX25hbWUoV1RGTW92ZShuYW1lKSkgeyB9CisgICAgQ2FjaGUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYsIFN0cmluZyYmIG5hbWUsIHVpbnQ2NF90IGlkZW50aWZpZXIsIFJlZjxDYWNo
ZVN0b3JhZ2VDb25uZWN0aW9uPiYmKTsKKworICAgIGVudW0gY2xhc3MgTWF0Y2hUeXBlIHsgQWxs
LCBPbmx5Rmlyc3QgfTsKKyAgICB2b2lkIGRvTWF0Y2goc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5m
bz4mJiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiwgTWF0Y2hU
eXBlKTsKKworICAgIC8vIEFjdGl2ZURPTU9iamVjdAorICAgIHZvaWQgc3RvcCgpIGZpbmFsOwor
ICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKKyAgICBi
b29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBmaW5hbDsKKworICAg
IHZvaWQgcmV0cmlldmVSZWNvcmRzKFdURjo6RnVuY3Rpb248dm9pZCgpPiYmKTsKKyAgICBWZWN0
b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiBxdWVyeUNhY2hlV2l0aFRhcmdldFN0b3JhZ2UoY29uc3Qg
RmV0Y2hSZXF1ZXN0JiwgY29uc3QgQ2FjaGVRdWVyeU9wdGlvbnMmLCBjb25zdCBWZWN0b3I8Q2Fj
aGVTdG9yYWdlUmVjb3JkPiYpOworICAgIHZvaWQgcXVlcnlDYWNoZShSZWY8RmV0Y2hSZXF1ZXN0
PiYmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBXVEY6OkZ1bmN0aW9uPHZvaWQoY29uc3QgVmVjdG9y
PENhY2hlU3RvcmFnZVJlY29yZD4mKT4mJik7CisgICAgdm9pZCBiYXRjaERlbGV0ZU9wZXJhdGlv
bihjb25zdCBGZXRjaFJlcXVlc3QmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBXVEY6OkZ1bmN0aW9u
PHZvaWQoYm9vbCBkaWRSZW1vdmFsLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJvcik+JiYp
OworICAgIHZvaWQgYmF0Y2hQdXRPcGVyYXRpb24oY29uc3QgRmV0Y2hSZXF1ZXN0JiwgRmV0Y2hS
ZXNwb25zZSYsIFdURjo6RnVuY3Rpb248dm9pZChDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJv
cik+JiYpOworCisgICAgdm9pZCB1cGRhdGVSZWNvcmRzKFZlY3RvcjxDYWNoZVN0b3JhZ2VDb25u
ZWN0aW9uOjpSZWNvcmQ+JiYpOwogCiAgICAgU3RyaW5nIG1fbmFtZTsKKyAgICB1aW50NjRfdCBt
X2lkZW50aWZpZXI7CisgICAgUmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IG1fY29ubmVjdGlv
bjsKKworICAgIFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+IG1fcmVjb3JkczsKKyAgICBib29s
IG1faXNTdG9wcGVkIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaWRsIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5pZGwKaW5kZXggZDQ3OTY5MTU1ZDIwYTRmN2Jm
YTM4YTZkYzBiMmRmMzIyNTZhOTRlMC4uMWU3ZGY2Y2FkMjM0YzgwYTY1Mjg0MmFiZDg4MzhiYjY5
ZjcxYWI3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5pZGwKQEAgLTI5LDcg
KzI5LDYgQEAgdHlwZWRlZiAoRmV0Y2hSZXF1ZXN0IG9yIFVTVlN0cmluZykgUmVxdWVzdEluZm87
CiAgICAgU2VjdXJlQ29udGV4dCwKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKICAgICBF
bmFibGVkQXRSdW50aW1lPUNhY2hlQVBJLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUs
CiBdIGludGVyZmFjZSBDYWNoZSB7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxhbnk+IG1hdGNo
KFJlcXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25zIG9wdGlvbnMp
OwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8c2VxdWVuY2U8RmV0Y2hSZXNwb25zZT4+IG1hdGNo
QWxsKG9wdGlvbmFsIFJlcXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRp
b25zIG9wdGlvbnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9D
YWNoZVN0b3JhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3Jh
Z2UuY3BwCmluZGV4IDEyMzY3YmU5NjZlMWUzYTI4YTllMjlkYmZlNGI4M2JkNWFjZGVjYzYuLmEw
YzI5ZGU5YmQ0MjNiZTVhMjQ0ZDZiZGMxODcxNGUxOGU2ZmM5N2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5jcHAKQEAgLTI2LDMxICsyNiwxNDYgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDYWNoZVN0b3JhZ2UuaCIKIAorI2luY2x1
ZGUgIkNhY2hlUXVlcnlPcHRpb25zLmgiCisjaW5jbHVkZSAiSlNDYWNoZS5oIgorI2luY2x1ZGUg
IlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12b2lk
IENhY2hlU3RvcmFnZTo6bWF0Y2goUmVxdWVzdEluZm8mJiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1
ZXJ5T3B0aW9ucz4mJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQorQ2FjaGVTdG9y
YWdlOjpDYWNoZVN0b3JhZ2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgUmVmPENh
Y2hlU3RvcmFnZUNvbm5lY3Rpb24+JiYgY29ubmVjdGlvbikKKyAgICA6IEFjdGl2ZURPTU9iamVj
dCgmY29udGV4dCkKKyAgICAsIG1fY29ubmVjdGlvbihXVEZNb3ZlKGNvbm5lY3Rpb24pKQorewor
ICAgIHN1c3BlbmRJZk5lZWRlZCgpOworfQorCitTdHJpbmcgQ2FjaGVTdG9yYWdlOjpvcmlnaW4o
KSBjb25zdAoreworICAgIC8vIEZJWE1FOiBEbyB3ZSByZWFsbHkgbmVlZCB0byBjaGVjayBmb3Ig
b3JpZ2luIGJlaW5nIG51bGw/CisgICAgYXV0byogb3JpZ2luID0gc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpID8gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zZWN1cml0eU9yaWdpbigpIDogbnVs
bHB0cjsKKyAgICByZXR1cm4gb3JpZ2luID8gb3JpZ2luLT50b1N0cmluZygpIDogU3RyaW5nKCk7
Cit9CisKK3ZvaWQgQ2FjaGVTdG9yYWdlOjptYXRjaChDYWNoZTo6UmVxdWVzdEluZm8mJiwgQ2Fj
aGVRdWVyeU9wdGlvbnMmJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogewotICAg
IHByb21pc2UtPnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90
IGltcGxlbWVudGVkIil9KTsKKyAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9uIHsgTm90U3Vw
cG9ydGVkRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKIH0KIAotdm9p
ZCBDYWNoZVN0b3JhZ2U6Omhhcyhjb25zdCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURM
Qm9vbGVhbj4mJiBwcm9taXNlKQordm9pZCBDYWNoZVN0b3JhZ2U6Omhhcyhjb25zdCBTdHJpbmcm
IG5hbWUsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmIHByb21pc2UpCiB7Ci0gICAg
cHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBp
bXBsZW1lbnRlZCIpfSk7CisgICAgcmV0cmlldmVDYWNoZXMoW3RoaXMsIG5hbWUsIHByb21pc2Ug
PSBXVEZNb3ZlKHByb21pc2UpXSgpIG11dGFibGUgeworICAgICAgICBwcm9taXNlLnJlc29sdmUo
bV9jYWNoZXMuZmluZE1hdGNoaW5nKFsmXShhdXRvJiBpdGVtKSB7IHJldHVybiBpdGVtLT5uYW1l
KCkgPT0gbmFtZTsgfSkgIT0gbm90Rm91bmQpOworICAgIH0pOworfQorCit2b2lkIENhY2hlU3Rv
cmFnZTo6cmV0cmlldmVDYWNoZXMoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgY2FsbGJhY2spCit7
CisgICAgU3RyaW5nIG9yaWdpbiA9IHRoaXMtPm9yaWdpbigpOworICAgIGlmIChvcmlnaW4uaXNO
dWxsKCkpCisgICAgICAgIHJldHVybjsKKworICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsK
KyAgICBtX2Nvbm5lY3Rpb24tPnJldHJpZXZlQ2FjaGVzKG9yaWdpbiwgW3RoaXMsIGNhbGxiYWNr
ID0gV1RGTW92ZShjYWxsYmFjayldKFZlY3RvcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpDYWNo
ZUluZm8+JiYgY2FjaGVzSW5mbykgeworICAgICAgICBpZiAoIW1faXNTdG9wcGVkKSB7CisgICAg
ICAgICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICAgICAgICAgIG1f
Y2FjaGVzLnJlbW92ZUFsbE1hdGNoaW5nKFsmXShhdXRvJiBjYWNoZSkgeworICAgICAgICAgICAg
ICAgIHJldHVybiBjYWNoZXNJbmZvLmZpbmRNYXRjaGluZyhbJl0oY29uc3QgYXV0byYgaW5mbykg
eyByZXR1cm4gaW5mby5pZGVudGlmaWVyID09IGNhY2hlLT5pZGVudGlmaWVyKCk7IH0pID09IG5v
dEZvdW5kOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBmb3IgKGF1dG8mIGluZm8gOiBj
YWNoZXNJbmZvKSB7CisgICAgICAgICAgICAgICAgaWYgKG1fY2FjaGVzLmZpbmRNYXRjaGluZyhb
Jl0oY29uc3QgYXV0byYgY2FjaGUpIHsgcmV0dXJuIGluZm8uaWRlbnRpZmllciA9PSBjYWNoZS0+
aWRlbnRpZmllcigpOyB9KSA9PSBub3RGb3VuZCkKKyAgICAgICAgICAgICAgICAgICAgbV9jYWNo
ZXMuYXBwZW5kKENhY2hlOjpjcmVhdGUoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgV1RGTW92
ZShpbmZvLm5hbWUpLCBpbmZvLmlkZW50aWZpZXIsIG1fY29ubmVjdGlvbi5jb3B5UmVmKCkpKTsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgc3RkOjpzb3J0KG1fY2FjaGVzLmJlZ2luKCks
IG1fY2FjaGVzLmVuZCgpLCBbJl0oYXV0byYgYSwgYXV0byYgYikgeworICAgICAgICAgICAgICAg
IHJldHVybiBhLT5pZGVudGlmaWVyKCkgPCBiLT5pZGVudGlmaWVyKCk7CisgICAgICAgICAgICB9
KTsKKworICAgICAgICAgICAgY2FsbGJhY2soKTsKKyAgICAgICAgfQorICAgICAgICB1bnNldFBl
bmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICB9KTsKIH0KIAotdm9pZCBDYWNoZVN0b3JhZ2U6Om9w
ZW4oY29uc3QgU3RyaW5nJiwgRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxDYWNoZT4+
JiYgcHJvbWlzZSkKK3ZvaWQgQ2FjaGVTdG9yYWdlOjpvcGVuKGNvbnN0IFN0cmluZyYgbmFtZSwg
RE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxDYWNoZT4+JiYgcHJvbWlzZSkKIHsKLSAg
ICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90
IGltcGxlbWVudGVkIil9KTsKKyAgICByZXRyaWV2ZUNhY2hlcyhbdGhpcywgbmFtZSwgcHJvbWlz
ZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgIGF1dG8gcG9zaXRpb24g
PSBtX2NhY2hlcy5maW5kTWF0Y2hpbmcoWyZdKGF1dG8mIGl0ZW0pIHsgcmV0dXJuIGl0ZW0tPm5h
bWUoKSA9PSBuYW1lOyB9KTsKKyAgICAgICAgaWYgKHBvc2l0aW9uICE9IG5vdEZvdW5kKSB7Cisg
ICAgICAgICAgICBhdXRvJiBjYWNoZSA9IG1fY2FjaGVzW3Bvc2l0aW9uXTsKKyAgICAgICAgICAg
IHByb21pc2UucmVzb2x2ZShDYWNoZTo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCks
IFN0cmluZyB7IGNhY2hlLT5uYW1lKCkgfSwgY2FjaGUtPmlkZW50aWZpZXIoKSwgbV9jb25uZWN0
aW9uLmNvcHlSZWYoKSkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAg
ICAgU3RyaW5nIG9yaWdpbiA9IHRoaXMtPm9yaWdpbigpOworICAgICAgICBBU1NFUlQoIW9yaWdp
bi5pc051bGwoKSk7CisKKyAgICAgICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgICAg
ICBtX2Nvbm5lY3Rpb24tPm9wZW4ob3JpZ2luLCBuYW1lLCBbdGhpcywgbmFtZSwgcHJvbWlzZSA9
IFdURk1vdmUocHJvbWlzZSldKHVpbnQ2NF90IGNhY2hlSWRlbnRpZmllciwgQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICAgICAgaWYgKCFtX2lz
U3RvcHBlZCkgeworICAgICAgICAgICAgICAgIGlmIChlcnJvciAhPSBDYWNoZVN0b3JhZ2VDb25u
ZWN0aW9uOjpFcnJvcjo6Tm9uZSkKKyAgICAgICAgICAgICAgICAgICAgcHJvbWlzZS5yZWplY3Qo
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9yKGVycm9yKSk7CisgICAg
ICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gY2FjaGUgPSBDYWNo
ZTo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFN0cmluZyB7IG5hbWUgfSwgY2Fj
aGVJZGVudGlmaWVyLCBtX2Nvbm5lY3Rpb24uY29weVJlZigpKTsKKyAgICAgICAgICAgICAgICAg
ICAgcHJvbWlzZS5yZXNvbHZlKGNhY2hlKTsKKyAgICAgICAgICAgICAgICAgICAgbV9jYWNoZXMu
YXBwZW5kKFdURk1vdmUoY2FjaGUpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
CisgICAgICAgICAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICAgICAgfSk7Cisg
ICAgfSk7CiB9CiAKLXZvaWQgQ2FjaGVTdG9yYWdlOjpyZW1vdmUoY29uc3QgU3RyaW5nJiwgRE9N
UHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKK3ZvaWQgQ2FjaGVTdG9yYWdl
OjpyZW1vdmUoY29uc3QgU3RyaW5nJiBuYW1lLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVh
bj4mJiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJv
ciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHJldHJpZXZlQ2FjaGVz
KFt0aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsKKyAg
ICAgICAgYXV0byBwb3NpdGlvbiA9IG1fY2FjaGVzLmZpbmRNYXRjaGluZyhbJl0oYXV0byYgaXRl
bSkgeyByZXR1cm4gaXRlbS0+bmFtZSgpID09IG5hbWU7IH0pOworICAgICAgICBpZiAocG9zaXRp
b24gPT0gbm90Rm91bmQpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShmYWxzZSk7Cisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBTdHJpbmcgb3JpZ2luID0g
dGhpcy0+b3JpZ2luKCk7CisgICAgICAgIEFTU0VSVCghb3JpZ2luLmlzTnVsbCgpKTsKKworICAg
ICAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgICAgIG1fY29ubmVjdGlvbi0+cmVt
b3ZlKG1fY2FjaGVzW3Bvc2l0aW9uXS0+aWRlbnRpZmllcigpLCBbdGhpcywgbmFtZSwgcHJvbWlz
ZSA9IFdURk1vdmUocHJvbWlzZSldKHVpbnQ2NF90IGNhY2hlSWRlbnRpZmllciwgQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICAgICAgVU5VU0VE
X1BBUkFNKGNhY2hlSWRlbnRpZmllcik7CisgICAgICAgICAgICBpZiAoIW1faXNTdG9wcGVkKSB7
CisgICAgICAgICAgICAgICAgaWYgKGVycm9yICE9IENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVy
cm9yOjpOb25lKQorICAgICAgICAgICAgICAgICAgICBwcm9taXNlLnJlamVjdChDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uOjpleGNlcHRpb25Gcm9tRXJyb3IoZXJyb3IpKTsKKyAgICAgICAgICAgICAg
ICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZSh0cnVlKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIHVuc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgICAg
ICB9KTsKKyAgICAgICAgbV9jYWNoZXMucmVtb3ZlKHBvc2l0aW9uKTsKKyAgICB9KTsKIH0KIAog
dm9pZCBDYWNoZVN0b3JhZ2U6OmtleXMoS2V5c1Byb21pc2UmJiBwcm9taXNlKQogewotICAgIHBy
b21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1w
bGVtZW50ZWQiKX0pOworICAgIHJldHJpZXZlQ2FjaGVzKFt0aGlzLCBwcm9taXNlID0gV1RGTW92
ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgVmVjdG9yPFN0cmluZz4ga2V5czsKKyAg
ICAgICAga2V5cy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1fY2FjaGVzLnNpemUoKSk7CisgICAg
ICAgIGZvciAoYXV0byYgY2FjaGUgOiBtX2NhY2hlcykKKyAgICAgICAgICAgIGtleXMudW5jaGVj
a2VkQXBwZW5kKGNhY2hlLT5uYW1lKCkpOworICAgICAgICBwcm9taXNlLnJlc29sdmUoa2V5cyk7
CisgICAgfSk7Cit9CisKK3ZvaWQgQ2FjaGVTdG9yYWdlOjpzdG9wKCkKK3sKKyAgICBtX2lzU3Rv
cHBlZCA9IHRydWU7Cit9CisKK2NvbnN0IGNoYXIqIENhY2hlU3RvcmFnZTo6YWN0aXZlRE9NT2Jq
ZWN0TmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuICJDYWNoZVN0b3JhZ2UiOworfQorCitib29s
IENhY2hlU3RvcmFnZTo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0Cit7
CisgICAgcmV0dXJuICFoYXNQZW5kaW5nQWN0aXZpdHkoKTsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0
b3JhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmgKaW5k
ZXggZmEyNjkwMDAzNmMzMjY3MzY2MjFmY2I4MzdjNzc3MWVhYThkODIyMy4uMjYxN2UyNTg1MmM2
ZWFlNjcwOWY3OGQwY2ZjYzUzNjZjN2JmODZhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2NhY2hlL0NhY2hlU3RvcmFnZS5oCkBAIC0yNSwyOSArMjUsNDIgQEAKIAogI3ByYWdtYSBvbmNl
CiAKKyNpbmNsdWRlICJDYWNoZS5oIgorI2luY2x1ZGUgIkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24u
aCIKICNpbmNsdWRlICJGZXRjaFJlcXVlc3QuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENhY2hlOworY2xhc3MgQ2FjaGVRdWVyeU9w
dGlvbnM7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCi1zdHJ1Y3QgQ2FjaGVRdWVy
eU9wdGlvbnM7Ci0KLWNsYXNzIENhY2hlU3RvcmFnZSA6IHB1YmxpYyBSZWZDb3VudGVkPENhY2hl
U3RvcmFnZT4geworY2xhc3MgQ2FjaGVTdG9yYWdlIDogcHVibGljIFJlZkNvdW50ZWQ8Q2FjaGVT
dG9yYWdlPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJl
ZjxDYWNoZVN0b3JhZ2U+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2FjaGVTdG9y
YWdlKCkpOyB9CisgICAgc3RhdGljIFJlZjxDYWNoZVN0b3JhZ2U+IGNyZWF0ZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4mJiBjb25u
ZWN0aW9uKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IENhY2hlU3RvcmFnZShjb250ZXh0LCBXVEZN
b3ZlKGNvbm5lY3Rpb24pKSk7IH0KIAotICAgIHVzaW5nIFJlcXVlc3RJbmZvID0gRmV0Y2hSZXF1
ZXN0OjpJbmZvOwogICAgIHVzaW5nIEtleXNQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElE
TFNlcXVlbmNlPElETERPTVN0cmluZz4+OwogCi0gICAgdm9pZCBtYXRjaChSZXF1ZXN0SW5mbyYm
LCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBSZWY8RGVmZXJyZWRQcm9taXNl
PiYmKTsKKyAgICB2b2lkIG1hdGNoKENhY2hlOjpSZXF1ZXN0SW5mbyYmLCBDYWNoZVF1ZXJ5T3B0
aW9ucyYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKICAgICB2b2lkIGhhcyhjb25zdCBTdHJp
bmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJik7CiAgICAgdm9pZCBvcGVuKGNv
bnN0IFN0cmluZyYsIERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8Q2FjaGU+PiYmKTsK
ICAgICB2b2lkIHJlbW92ZShjb25zdCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9v
bGVhbj4mJik7CiAgICAgdm9pZCBrZXlzKEtleXNQcm9taXNlJiYpOwogCiBwcml2YXRlOgotICAg
IENhY2hlU3RvcmFnZSgpID0gZGVmYXVsdDsKKyAgICBDYWNoZVN0b3JhZ2UoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYmKTsKKworICAgIC8vIEFj
dGl2ZURPTU9iamVjdAorICAgIHZvaWQgc3RvcCgpIGZpbmFsOworICAgIGNvbnN0IGNoYXIqIGFj
dGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKKyAgICBib29sIGNhblN1c3BlbmRGb3JE
b2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBmaW5hbDsKKworICAgIHZvaWQgcmV0cmlldmVDYWNo
ZXMoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYpOworICAgIFN0cmluZyBvcmlnaW4oKSBjb25zdDsK
KworICAgIFZlY3RvcjxSZWY8Q2FjaGU+PiBtX2NhY2hlczsKKyAgICBSZWY8Q2FjaGVTdG9yYWdl
Q29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOworICAgIGJvb2wgbV9pc1N0b3BwZWQgeyBmYWxzZSB9
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9jYWNoZS9DYWNoZVN0b3JhZ2UuaWRsCmluZGV4IDhkNzFlMDkwM2U3NmUxYTRiNjJiZmI2ZjAy
ODQ5NmZiOTg2ZjA2MmEuLmI0NDZhZWE3N2ZjNzA1ZjBjYzAxNjdjZTRhNmY2ZmUxMDc1NzIwYWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5pZGwKQEAg
LTI5LDcgKzI5LDYgQEAgdHlwZWRlZiAoRmV0Y2hSZXF1ZXN0IG9yIFVTVlN0cmluZykgUmVxdWVz
dEluZm87CiAgICAgU2VjdXJlQ29udGV4dCwKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwK
ICAgICBFbmFibGVkQXRSdW50aW1lPUNhY2hlQVBJLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUsCiBdIGludGVyZmFjZSBDYWNoZVN0b3JhZ2UgewogICAgIFtOZXdPYmplY3RdIFByb21p
c2U8YW55PiBtYXRjaChSZXF1ZXN0SW5mbyByZXF1ZXN0LCBvcHRpb25hbCBDYWNoZVF1ZXJ5T3B0
aW9ucyBvcHRpb25zKTsKICAgICBbTmV3T2JqZWN0XSBQcm9taXNlPGJvb2xlYW4+IGhhcyhET01T
dHJpbmcgY2FjaGVOYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nh
Y2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjExMDQyNzQzYmZiMzA1
ZjhlZmYwN2NlZDZjZGE3NDMyN2E5MWU0MGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCkBAIC0wLDAgKzEs
ODEgQEAKKworLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDYWNo
ZVN0b3JhZ2VDb25uZWN0aW9uLmgiCisKKyNpbmNsdWRlICJDYWNoZVF1ZXJ5T3B0aW9ucy5oIgor
I2luY2x1ZGUgIkV4Y2VwdGlvbi5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0V4Y2VwdGlv
biBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpleGNlcHRpb25Gcm9tRXJyb3IoRXJyb3IgZXJyb3Ip
Cit7CisgICAgQVNTRVJUKGVycm9yICE9IEVycm9yOjpOb25lKTsKKworICAgIHN3aXRjaCAoZXJy
b3IpIHsKKyAgICBjYXNlIEVycm9yOjpOb3RJbXBsZW1lbnRlZDoKKyAgICAgICAgcmV0dXJuIEV4
Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRl
ZCIpIH07CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJv
ciwgQVNDSUlMaXRlcmFsKCJVbmtub3duIGVycm9yIikgfTsKKyAgICB9OworfQorCitib29sIENh
Y2hlU3RvcmFnZUNvbm5lY3Rpb246OnF1ZXJ5Q2FjaGVNYXRjaChjb25zdCBSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgY2FjaGVkUmVxdWVzdCwgY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgY2FjaGVkUmVzcG9uc2UsIGNvbnN0IENhY2hlUXVlcnlPcHRpb25z
JiBvcHRpb25zKQoreworICAgIEFTU0VSVChvcHRpb25zLmlnbm9yZU1ldGhvZCB8fCByZXF1ZXN0
Lmh0dHBNZXRob2QoKSA9PSAiR0VUIik7CisKKyAgICBVUkwgcmVxdWVzdFVSTCA9IHJlcXVlc3Qu
dXJsKCk7CisgICAgVVJMIGNhY2hlZFJlcXVlc3RVUkwgPSBjYWNoZWRSZXF1ZXN0LnVybCgpOwor
CisgICAgaWYgKG9wdGlvbnMuaWdub3JlU2VhcmNoKSB7CisgICAgICAgIHJlcXVlc3RVUkwuc2V0
UXVlcnkoeyB9KTsKKyAgICAgICAgY2FjaGVkUmVxdWVzdFVSTC5zZXRRdWVyeSh7IH0pOworICAg
IH0KKyAgICBpZiAoIWVxdWFsSWdub3JpbmdGcmFnbWVudElkZW50aWZpZXIocmVxdWVzdFVSTCwg
Y2FjaGVkUmVxdWVzdFVSTCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChvcHRp
b25zLmlnbm9yZVZhcnkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgU3RyaW5nIHZhcnlW
YWx1ZSA9IGNhY2hlZFJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChXZWJDb3JlOjpIVFRQSGVhZGVy
TmFtZTo6VmFyeSk7CisgICAgaWYgKHZhcnlWYWx1ZS5pc051bGwoKSkKKyAgICAgICAgcmV0dXJu
IHRydWU7CisKKyAgICBWZWN0b3I8U3RyaW5nPiB2YXJ5aW5nSGVhZGVyTmFtZXM7CisgICAgdmFy
eVZhbHVlLnNwbGl0KCcsJywgdmFyeWluZ0hlYWRlck5hbWVzKTsKKworICAgIGZvciAoYXV0byYg
bmFtZSA6IHZhcnlpbmdIZWFkZXJOYW1lcykgeworICAgICAgICBpZiAobmFtZSA9PSAiKiIpCisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGlmIChjYWNoZWRSZXF1ZXN0Lmh0dHBI
ZWFkZXJGaWVsZChuYW1lKSAhPSByZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZChuYW1lKSkKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgcmV0dXJuIHRydWU7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9j
YWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nh
Y2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NGY2MWZiYjE4MDY1OGFi
NGQwZjc1NDg5MjRjMGUwNjMwNDdiYjZhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgKQEAgLTAsMCArMSw4OCBA
QAorCisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJGZXRjaEhlYWRlcnMu
aCIKKyNpbmNsdWRlICJGZXRjaE9wdGlvbnMuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3Qu
aCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCisjaW5jbHVkZSA8d3RmL1RocmVhZFNh
ZmVSZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2FjaGVRdWVy
eU9wdGlvbnM7CisKK2NsYXNzIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24gOiBwdWJsaWMgVGhyZWFk
U2FmZVJlZkNvdW50ZWQ8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4geworcHVibGljOgorICAgIHN0
YXRpYyBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uKCkpOyB9CisgICAgdmlydHVhbCB+Q2FjaGVT
dG9yYWdlQ29ubmVjdGlvbigpID0gZGVmYXVsdDsKKworICAgIGVudW0gY2xhc3MgRXJyb3Igewor
ICAgICAgICBOb25lLAorICAgICAgICBOb3RJbXBsZW1lbnRlZCwKKyAgICB9OworCisgICAgV0VC
Q09SRV9FWFBPUlQgc3RhdGljIGJvb2wgcXVlcnlDYWNoZU1hdGNoKGNvbnN0IFJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBjYWNoZWRSZXF1ZXN0LCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgQ2FjaGVRdWVyeU9wdGlvbnMmKTsKKworICAgIHN0
YXRpYyBFeGNlcHRpb24gZXhjZXB0aW9uRnJvbUVycm9yKEVycm9yKTsKKworICAgIHN0cnVjdCBS
ZWNvcmQgeworICAgICAgICB1aW50NjRfdCBpZGVudGlmaWVyOworCisgICAgICAgIEZldGNoSGVh
ZGVyczo6R3VhcmQgcmVxdWVzdEhlYWRlcnNHdWFyZDsKKyAgICAgICAgUmVzb3VyY2VSZXF1ZXN0
IHJlcXVlc3Q7CisgICAgICAgIEZldGNoT3B0aW9ucyBvcHRpb25zOworICAgICAgICBTdHJpbmcg
cmVmZXJyZXI7CisKKyAgICAgICAgRmV0Y2hIZWFkZXJzOjpHdWFyZCByZXNwb25zZUhlYWRlcnNH
dWFyZDsKKyAgICAgICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZTsKKyAgICB9OworCisgICAg
c3RydWN0IENhY2hlSW5mbyB7CisgICAgICAgIHVpbnQ2NF90IGlkZW50aWZpZXI7CisgICAgICAg
IFN0cmluZyBuYW1lOworICAgIH07CisKKyAgICB1c2luZyBPcGVuUmVtb3ZlQ2FsbGJhY2sgPSBX
VEY6OkZ1bmN0aW9uPHZvaWQodWludDY0X3QsIEVycm9yKT47CisgICAgdXNpbmcgQ2FjaGVNYXBD
YWxsYmFjayA9IFdURjo6RnVuY3Rpb248dm9pZChWZWN0b3I8Q2FjaGVJbmZvPiYmKT47CisgICAg
dXNpbmcgUmVjb3Jkc0NhbGxiYWNrID0gV1RGOjpGdW5jdGlvbjx2b2lkKFZlY3RvcjxSZWNvcmQ+
JiYpPjsKKyAgICB1c2luZyBCYXRjaE9wZXJhdGlvbkNhbGxiYWNrID0gV1RGOjpGdW5jdGlvbjx2
b2lkKFZlY3Rvcjx1aW50NjRfdD4mJiwgRXJyb3IpPjsKKworICAgIHZpcnR1YWwgdm9pZCBvcGVu
KGNvbnN0IFN0cmluZyYgLyogb3JpZ2luICovLCBjb25zdCBTdHJpbmcmIC8qIGNhY2hlTmFtZSAq
LywgT3BlblJlbW92ZUNhbGxiYWNrJiYgY2FsbGJhY2spIHsgY2FsbGJhY2soMCwgRXJyb3I6Ok5v
dEltcGxlbWVudGVkKTsgfQorICAgIHZpcnR1YWwgdm9pZCByZW1vdmUodWludDY0X3QgLyogY2Fj
aGVJZGVudGlmaWVyICovLCBPcGVuUmVtb3ZlQ2FsbGJhY2smJiBjYWxsYmFjaykgeyBjYWxsYmFj
aygwLCBFcnJvcjo6Tm90SW1wbGVtZW50ZWQpOyB9CisgICAgdmlydHVhbCB2b2lkIHJldHJpZXZl
Q2FjaGVzKGNvbnN0IFN0cmluZyYgLyogb3JpZ2luICovLCBDYWNoZU1hcENhbGxiYWNrJiYgY2Fs
bGJhY2spIHsgY2FsbGJhY2soeyB9KTsgfQorCisgICAgdmlydHVhbCB2b2lkIHJldHJpZXZlUmVj
b3Jkcyh1aW50NjRfdCAvKiBjYWNoZUlkZW50aWZpZXIgKi8sIFJlY29yZHNDYWxsYmFjayYmIGNh
bGxiYWNrKSB7IGNhbGxiYWNrKHsgfSk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgYmF0Y2hEZWxldGVP
cGVyYXRpb24odWludDY0X3QgLyogY2FjaGVJZGVudGlmaWVyICovLCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBCYXRjaE9wZXJhdGlvbkNhbGxiYWNrJiYgY2Fs
bGJhY2spIHsgY2FsbGJhY2soeyB9LCBFcnJvcjo6Tm90SW1wbGVtZW50ZWQpOyB9CisgICAgdmly
dHVhbCB2b2lkIGJhdGNoUHV0T3BlcmF0aW9uKHVpbnQ2NF90IC8qIGNhY2hlSWRlbnRpZmllciAq
LywgVmVjdG9yPFJlY29yZD4mJiwgQmF0Y2hPcGVyYXRpb25DYWxsYmFjayYmIGNhbGxiYWNrKSB7
IGNhbGxiYWNrKHsgfSwgRXJyb3I6Ok5vdEltcGxlbWVudGVkKTsgfQorCitwcm90ZWN0ZWQ6Cisg
ICAgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbigpID0gIGRlZmF1bHQ7Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUv
Q2FjaGVTdG9yYWdlUmVjb3JkLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hl
U3RvcmFnZVJlY29yZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAwYTZhY2U0YmE0YzA5MWRjMDlhNWQ0NTVkZjZh
YzdjYTVjYWEyN2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nh
Y2hlL0NhY2hlU3RvcmFnZVJlY29yZC5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkZldGNoUmVxdWVzdC5oIgorI2luY2x1ZGUgIkZldGNo
UmVzcG9uc2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgQ2FjaGVTdG9yYWdl
UmVjb3JkIHsKKyAgICB1aW50NjRfdCBpZGVudGlmaWVyOworCisgICAgUmVmPEZldGNoUmVxdWVz
dD4gcmVxdWVzdDsKKyAgICBSZWY8RmV0Y2hSZXNwb25zZT4gcmVzcG9uc2U7Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nh
Y2hlL0RPTVdpbmRvd0NhY2hlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RP
TVdpbmRvd0NhY2hlcy5jcHAKaW5kZXggODY2NWM1NTY3MmVhNWY0NmIwOWQ0ZjliMDc1YTY5NjJj
NTk1MWVkMS4uMzhhNGM5YjBmOTNkNGQ4NTFmNGU0ZmUyNzhhOTAxN2JiNzdkY2Q1MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NV2luZG93Q2FjaGVzLmNwcApAQCAt
MjcsNyArMjcsMTEgQEAKICNpbmNsdWRlICJET01XaW5kb3dDYWNoZXMuaCIKIAogI2luY2x1ZGUg
IkNhY2hlU3RvcmFnZS5oIgorI2luY2x1ZGUgIkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCiAjaW5j
bHVkZSAiRE9NV2luZG93LmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJGcmFt
ZS5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01NCwx
MyArNTgsMTggQEAgRE9NV2luZG93Q2FjaGVzKiBET01XaW5kb3dDYWNoZXM6OmZyb20oRE9NV2lu
ZG93KiB3aW5kb3cpCiAKIENhY2hlU3RvcmFnZSogRE9NV2luZG93Q2FjaGVzOjpjYWNoZXMoRE9N
V2luZG93JiB3aW5kb3cpCiB7CisgICAgaWYgKCF3aW5kb3cuaXNDdXJyZW50bHlEaXNwbGF5ZWRJ
bkZyYW1lKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCiAgICAgcmV0dXJuIERPTVdpbmRv
d0NhY2hlczo6ZnJvbSgmd2luZG93KS0+Y2FjaGVzKCk7CiB9CiAKIENhY2hlU3RvcmFnZSogRE9N
V2luZG93Q2FjaGVzOjpjYWNoZXMoKSBjb25zdAogewotICAgIGlmICghbV9jYWNoZXMgJiYgZnJh
bWUoKSkKLSAgICAgICAgbV9jYWNoZXMgPSBDYWNoZVN0b3JhZ2U6OmNyZWF0ZSgpOworICAgIEFT
U0VSVChmcmFtZSgpKTsKKyAgICBBU1NFUlQoZnJhbWUoKS0+ZG9jdW1lbnQoKSk7CisgICAgaWYg
KCFtX2NhY2hlcyAmJiBmcmFtZSgpLT5wYWdlKCkpCisgICAgICAgIG1fY2FjaGVzID0gQ2FjaGVT
dG9yYWdlOjpjcmVhdGUoKmZyYW1lKCktPmRvY3VtZW50KCksIGZyYW1lKCktPnBhZ2UoKS0+Y2Fj
aGVTdG9yYWdlUHJvdmlkZXIoKS5jcmVhdGVDYWNoZVN0b3JhZ2VDb25uZWN0aW9uKGZyYW1lKCkt
PnBhZ2UoKS0+c2Vzc2lvbklEKCkpKTsKICAgICByZXR1cm4gbV9jYWNoZXMuZ2V0KCk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2Nv
cGVDYWNoZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxT
Y29wZUNhY2hlcy5jcHAKaW5kZXggMDUxNjk4ZTdjNmU1NzkwY2QyNzBhMzE4MGZmZWI0M2M3ZDdk
ZWFhYS4uYzUzOWNkZTYzYjRiNGQyNzcxYzY5Y2ZmN2Q1OWI3ZjEyNTg1YjgxOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNh
Y2hlcy5jcHAKQEAgLTQwLDcgKzQwLDcgQEAgV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMqIFdvcmtl
ckdsb2JhbFNjb3BlQ2FjaGVzOjpmcm9tKFdvcmtlckdsb2JhbFNjb3BlJiBzY29wZSkKIHsKICAg
ICBhdXRvKiBzdXBwbGVtZW50ID0gc3RhdGljX2Nhc3Q8V29ya2VyR2xvYmFsU2NvcGVDYWNoZXMq
PihTdXBwbGVtZW50PFdvcmtlckdsb2JhbFNjb3BlPjo6ZnJvbSgmc2NvcGUsIHN1cHBsZW1lbnRO
YW1lKCkpKTsKICAgICBpZiAoIXN1cHBsZW1lbnQpIHsKLSAgICAgICAgYXV0byBuZXdTdXBwbGVt
ZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxXb3JrZXJHbG9iYWxTY29wZUNhY2hlcz4oKTsKKyAgICAg
ICAgYXV0byBuZXdTdXBwbGVtZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxXb3JrZXJHbG9iYWxTY29w
ZUNhY2hlcz4oc2NvcGUpOwogICAgICAgICBzdXBwbGVtZW50ID0gbmV3U3VwcGxlbWVudC5nZXQo
KTsKICAgICAgICAgcHJvdmlkZVRvKCZzY29wZSwgc3VwcGxlbWVudE5hbWUoKSwgV1RGTW92ZShu
ZXdTdXBwbGVtZW50KSk7CiAgICAgfQpAQCAtNTUsNyArNTUsNyBAQCBDYWNoZVN0b3JhZ2UqIFdv
cmtlckdsb2JhbFNjb3BlQ2FjaGVzOjpjYWNoZXMoV29ya2VyR2xvYmFsU2NvcGUmIHNjb3BlKQog
Q2FjaGVTdG9yYWdlKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6Y2FjaGVzKCkgY29uc3QKIHsK
ICAgICBpZiAoIW1fY2FjaGVzKQotICAgICAgICBtX2NhY2hlcyA9IENhY2hlU3RvcmFnZTo6Y3Jl
YXRlKCk7CisgICAgICAgIG1fY2FjaGVzID0gQ2FjaGVTdG9yYWdlOjpjcmVhdGUobV9zY29wZSwg
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6Y3JlYXRlKCkpOwogICAgIHJldHVybiBtX2NhY2hlcy5n
ZXQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3Jr
ZXJHbG9iYWxTY29wZUNhY2hlcy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3Jr
ZXJHbG9iYWxTY29wZUNhY2hlcy5oCmluZGV4IDc5NWViZDYxOWUyNDIxZDRjZWIxYjc4Y2RlZTQz
M2UxMjM1MTQ4NmQuLmY2Y2M4NTFlMDg1ZTFkM2E1YzIzY2FjNmViN2QzZTZmYWMzOTc2NDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVD
YWNoZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNj
b3BlQ2FjaGVzLmgKQEAgLTM0LDcgKzM0LDcgQEAgY2xhc3MgV29ya2VyR2xvYmFsU2NvcGU7CiAK
IGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzIDogcHVibGljIFN1cHBsZW1lbnQ8V29ya2Vy
R2xvYmFsU2NvcGU+IHsKIHB1YmxpYzoKLSAgICBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcygpID0g
ZGVmYXVsdDsKKyAgICBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcyhXb3JrZXJHbG9iYWxTY29wZSYg
c2NvcGUpIDogbV9zY29wZShzY29wZSkgeyB9OwogCiAgICAgc3RhdGljIENhY2hlU3RvcmFnZSog
Y2FjaGVzKFdvcmtlckdsb2JhbFNjb3BlJik7CiAKQEAgLTQzLDYgKzQzLDcgQEAgcHJpdmF0ZToK
ICAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKICAgICBDYWNoZVN0b3Jh
Z2UqIGNhY2hlcygpIGNvbnN0OwogCisgICAgV29ya2VyR2xvYmFsU2NvcGUmIG1fc2NvcGU7CiAg
ICAgbXV0YWJsZSBSZWZQdHI8Q2FjaGVTdG9yYWdlPiBtX2NhY2hlczsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuaAppbmRleCBjMzIxM2U5NzIx
MzkzMDBkNGE1MTg1NGMwNTU5YWI1NTAxNGE5NTViLi43MWFmYzQ2Y2UwNTFlNGE4NGUzMWFjOTM0
NDgzOTZjOGY4NjFlMTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNo
L0ZldGNoQm9keU93bmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aEJvZHlPd25lci5oCkBAIC01Nyw2ICs1Nyw4IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNBY3Rp
dmUoKSBjb25zdCB7IHJldHVybiAhIW1fYmxvYkxvYWRlcjsgfQogCisgICAgYm9vbCBpc1JlYWRh
YmxlU3RyZWFtQm9keSgpIGNvbnN0IHsgcmV0dXJuIG1fYm9keSAmJiBtX2JvZHktPmlzUmVhZGFi
bGVTdHJlYW0oKTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgY29uc3QgRmV0Y2hCb2R5JiBib2R5KCkg
Y29uc3QgeyByZXR1cm4gKm1fYm9keTsgfQogICAgIEZldGNoQm9keSYgYm9keSgpIHsgcmV0dXJu
ICptX2JvZHk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0
Y2hIZWFkZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5o
CmluZGV4IGZjM2IxMDhiOWEyZDVhZTU4MzdjMjNjNzkxZmUyMDljYjY4MzMyYzguLmZlZTFmOGYx
ZjM4MDkzYjBkMzM1YjkxOGQ5MWRjZTQ0ZmNkOTdkMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAi
RXhjZXB0aW9uT3IuaCIKICNpbmNsdWRlICJIVFRQSGVhZGVyTWFwLmgiCisjaW5jbHVkZSA8d3Rm
L0VudW1UcmFpdHMuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFRyYWl0cy5oPgogI2luY2x1ZGUgPHd0
Zi9WYXJpYW50Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtNDksNyArNTAsNyBAQCBw
dWJsaWM6CiAgICAgdXNpbmcgSW5pdCA9IFZhcmlhbnQ8VmVjdG9yPFZlY3RvcjxTdHJpbmc+Piwg
VmVjdG9yPFdURjo6S2V5VmFsdWVQYWlyPFN0cmluZywgU3RyaW5nPj4+OwogICAgIHN0YXRpYyBF
eGNlcHRpb25PcjxSZWY8RmV0Y2hIZWFkZXJzPj4gY3JlYXRlKHN0ZDo6b3B0aW9uYWw8SW5pdD4m
Jik7CiAKLSAgICBzdGF0aWMgUmVmPEZldGNoSGVhZGVycz4gY3JlYXRlKEd1YXJkIGd1YXJkID0g
R3VhcmQ6Ok5vbmUpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmV0Y2hIZWFkZXJzIHsgZ3VhcmQg
fSk7IH0KKyAgICBzdGF0aWMgUmVmPEZldGNoSGVhZGVycz4gY3JlYXRlKEd1YXJkIGd1YXJkID0g
R3VhcmQ6Ok5vbmUsIEhUVFBIZWFkZXJNYXAmJiBoZWFkZXJzID0geyB9KSB7IHJldHVybiBhZG9w
dFJlZigqbmV3IEZldGNoSGVhZGVycyB7IGd1YXJkLCBXVEZNb3ZlKGhlYWRlcnMpIH0pOyB9CiAg
ICAgc3RhdGljIFJlZjxGZXRjaEhlYWRlcnM+IGNyZWF0ZShjb25zdCBGZXRjaEhlYWRlcnMmIGhl
YWRlcnMpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmV0Y2hIZWFkZXJzIHsgaGVhZGVycyB9KTsg
fQogCiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gYXBwZW5kKGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiB2YWx1ZSk7CkBAIC04Miw5ICs4MywxMCBAQCBwdWJsaWM6CiAgICAgY29uc3Qg
SFRUUEhlYWRlck1hcCYgaW50ZXJuYWxIZWFkZXJzKCkgY29uc3QgeyByZXR1cm4gbV9oZWFkZXJz
OyB9CiAKICAgICB2b2lkIHNldEd1YXJkKEd1YXJkKTsKKyAgICBHdWFyZCBndWFyZCgpIGNvbnN0
IHsgcmV0dXJuIG1fZ3VhcmQ7IH0KIAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBGZXRjaEhlYWRl
cnMoR3VhcmQgZ3VhcmQsIEhUVFBIZWFkZXJNYXAmJiBoZWFkZXJzID0geyB9KTsKKyAgICBGZXRj
aEhlYWRlcnMoR3VhcmQsIEhUVFBIZWFkZXJNYXAmJik7CiAgICAgRmV0Y2hIZWFkZXJzKGNvbnN0
IEZldGNoSGVhZGVycyYpOwogCiAgICAgR3VhcmQgbV9ndWFyZDsKQEAgLTExMSwzICsxMTMsMTgg
QEAgaW5saW5lIHZvaWQgRmV0Y2hIZWFkZXJzOjpzZXRHdWFyZChHdWFyZCBndWFyZCkKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBz
dHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpGZXRjaEhlYWRlcnM6Okd1YXJkPiB7CisgICAgdXNp
bmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICBXZWJDb3JlOjpGZXRjaEhlYWRlcnM6Okd1YXJk
LAorICAgIFdlYkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQ6Ok5vbmUsCisgICAgV2ViQ29yZTo6
RmV0Y2hIZWFkZXJzOjpHdWFyZDo6SW1tdXRhYmxlLAorICAgIFdlYkNvcmU6OkZldGNoSGVhZGVy
czo6R3VhcmQ6OlJlcXVlc3QsCisgICAgV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZDo6UmVx
dWVzdE5vQ29ycywKKyAgICBXZWJDb3JlOjpGZXRjaEhlYWRlcnM6Okd1YXJkOjpSZXNwb25zZQor
ICAgID47Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNo
L0ZldGNoTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2Fk
ZXIuY3BwCmluZGV4IGUzYTUxZjFhZTg0MzkyYmYzMGZjOGI1ZDMzNTMxYTA5ZGI4NWNjYWMuLmVk
ZmFjNWMzODU5MWQ5OWU4OGVkMGZkZjM2ZThkYzRkODk1OGQ2MjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCkBAIC04MCw3ICs4MCw3IEBAIHZvaWQg
RmV0Y2hMb2FkZXI6OnN0YXJ0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0
IEZldGNoUmVxdWVzdCYgcmVxCiAgICAgb3B0aW9ucy5kYXRhQnVmZmVyaW5nUG9saWN5ID0gRG9O
b3RCdWZmZXJEYXRhOwogICAgIG9wdGlvbnMuc2FtZU9yaWdpbkRhdGFVUkxGbGFnID0gU2FtZU9y
aWdpbkRhdGFVUkxGbGFnOjpTZXQ7CiAKLSAgICBSZXNvdXJjZVJlcXVlc3QgZmV0Y2hSZXF1ZXN0
ID0gcmVxdWVzdC5pbnRlcm5hbFJlcXVlc3QoKTsKKyAgICBSZXNvdXJjZVJlcXVlc3QgZmV0Y2hS
ZXF1ZXN0ID0gcmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKTsKIAogICAgIEFTU0VSVChjb250ZXh0
LmNvbnRlbnRTZWN1cml0eVBvbGljeSgpKTsKICAgICBhdXRvJiBjb250ZW50U2VjdXJpdHlQb2xp
Y3kgPSAqY29udGV4dC5jb250ZW50U2VjdXJpdHlQb2xpY3koKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcAppbmRleCBlNjZjMTVjOTk0Y2U1MWVkZDU0
OTNhZDI1ODc0MmRkZTY4Y2EzZDRiLi5hNTI2ZjUyODgzOTc4M2UwN2U5ZTQ2YTU0Y2RiMWRlOWNk
Zjk2NDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVx
dWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3Qu
Y3BwCkBAIC03NCw3ICs3NCw3IEBAIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbj4gc2V0
UmVmZXJyZXIoRmV0Y2hSZXF1ZXN0OjpJbnRlcm5hbFJlcXVlc3QmIHJlcXVlCiAKIHN0YXRpYyBz
dGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbj4gYnVpbGRPcHRpb25zKEZldGNoUmVxdWVzdDo6SW50ZXJu
YWxSZXF1ZXN0JiByZXF1ZXN0LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25z
dCBGZXRjaFJlcXVlc3Q6OkluaXQmIGluaXQpCiB7Ci0gICAgaWYgKCFpbml0LndpbmRvdy5pc1Vu
ZGVmaW5lZE9yTnVsbCgpKQorICAgIGlmICghaW5pdC53aW5kb3cuaXNVbmRlZmluZWRPck51bGwo
KSAmJiAhaW5pdC53aW5kb3cuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsg
VHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIldpbmRvdyBjYW4gb25seSBiZSBudWxsLiIpIH07CiAK
ICAgICBpZiAoIWluaXQucmVmZXJyZXIuaXNOdWxsKCkpIHsKQEAgLTI1NywxNCArMjU3LDE0IEBA
IFN0cmluZyBGZXRjaFJlcXVlc3Q6OnJlZmVycmVyKCkgY29uc3QKICAgICByZXR1cm4gbV9pbnRl
cm5hbFJlcXVlc3QucmVmZXJyZXI7CiB9CiAKLWNvbnN0IFN0cmluZyYgRmV0Y2hSZXF1ZXN0Ojp1
cmwoKSBjb25zdAorY29uc3QgU3RyaW5nJiBGZXRjaFJlcXVlc3Q6OnVybFN0cmluZygpIGNvbnN0
CiB7CiAgICAgaWYgKG1fcmVxdWVzdFVSTC5pc051bGwoKSkKICAgICAgICAgbV9yZXF1ZXN0VVJM
ID0gbV9pbnRlcm5hbFJlcXVlc3QucmVxdWVzdC51cmwoKS5zZXJpYWxpemUoKTsKICAgICByZXR1
cm4gbV9yZXF1ZXN0VVJMOwogfQogCi1SZXNvdXJjZVJlcXVlc3QgRmV0Y2hSZXF1ZXN0OjppbnRl
cm5hbFJlcXVlc3QoKSBjb25zdAorUmVzb3VyY2VSZXF1ZXN0IEZldGNoUmVxdWVzdDo6cmVzb3Vy
Y2VSZXF1ZXN0KCkgY29uc3QKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVl
c3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmgKaW5kZXgg
MWYwYjE2ZThhNWExNzlmMGZlYWMwYjU5N2RkNTg3NDlmYWVkYWJkZC4uNWFkNzQxNDEzOWE0N2Zk
YTU4NDJiY2JiNzQ5MTNjMzI2NzNiZGM3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoUmVxdWVzdC5oCkBAIC01MywxMSArNTMsMTkgQEAgcHVibGljOgogICAgIHVzaW5n
IFJlZGlyZWN0ID0gRmV0Y2hPcHRpb25zOjpSZWRpcmVjdDsKICAgICB1c2luZyBUeXBlID0gRmV0
Y2hPcHRpb25zOjpUeXBlOwogCisgICAgc3RydWN0IEludGVybmFsUmVxdWVzdCB7CisgICAgICAg
IFJlc291cmNlUmVxdWVzdCByZXF1ZXN0OworICAgICAgICBGZXRjaE9wdGlvbnMgb3B0aW9uczsK
KyAgICAgICAgU3RyaW5nIHJlZmVycmVyOworICAgIH07CisKICAgICBzdGF0aWMgRXhjZXB0aW9u
T3I8UmVmPEZldGNoUmVxdWVzdD4+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgSW5m
byYmLCBJbml0JiYpOworICAgIHN0YXRpYyBSZWY8RmV0Y2hSZXF1ZXN0PiBjcmVhdGUoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjpvcHRpb25hbDxGZXRjaEJvZHk+JiYgYm9k
eSwgUmVmPEZldGNoSGVhZGVycz4mJiBoZWFkZXJzLCBJbnRlcm5hbFJlcXVlc3QmJiByZXF1ZXN0
KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEZldGNoUmVxdWVzdChjb250ZXh0LCBXVEZNb3ZlKGJv
ZHkpLCBXVEZNb3ZlKGhlYWRlcnMpLCBXVEZNb3ZlKHJlcXVlc3QpKSk7IH0KIAogICAgIGNvbnN0
IFN0cmluZyYgbWV0aG9kKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVlc3QucmVxdWVz
dC5odHRwTWV0aG9kKCk7IH0KLSAgICBjb25zdCBTdHJpbmcmIHVybCgpIGNvbnN0OworICAgIGNv
bnN0IFN0cmluZyYgdXJsU3RyaW5nKCkgY29uc3Q7CiAgICAgRmV0Y2hIZWFkZXJzJiBoZWFkZXJz
KCkgeyByZXR1cm4gbV9oZWFkZXJzLmdldCgpOyB9CisgICAgY29uc3QgRmV0Y2hIZWFkZXJzJiBo
ZWFkZXJzKCkgY29uc3QgeyByZXR1cm4gbV9oZWFkZXJzLmdldCgpOyB9CiAKICAgICBUeXBlIHR5
cGUoKSBjb25zdDsKICAgICBEZXN0aW5hdGlvbiBkZXN0aW5hdGlvbigpIGNvbnN0OwpAQCAtNzMs
MTcgKzgxLDEzIEBAIHB1YmxpYzoKIAogICAgIEV4Y2VwdGlvbk9yPFJlZjxGZXRjaFJlcXVlc3Q+
PiBjbG9uZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CiAKLSAgICBzdHJ1Y3QgSW50ZXJuYWxS
ZXF1ZXN0IHsKLSAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3Q7Ci0gICAgICAgIEZldGNo
T3B0aW9ucyBvcHRpb25zOwotICAgICAgICBTdHJpbmcgcmVmZXJyZXI7Ci0gICAgfTsKLQogICAg
IGNvbnN0IEZldGNoT3B0aW9ucyYgZmV0Y2hPcHRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9pbnRl
cm5hbFJlcXVlc3Qub3B0aW9uczsgfQotICAgIFJlc291cmNlUmVxdWVzdCBpbnRlcm5hbFJlcXVl
c3QoKSBjb25zdDsKKyAgICBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGludGVybmFsUmVxdWVzdCgp
IGNvbnN0IHsgcmV0dXJuIG1faW50ZXJuYWxSZXF1ZXN0LnJlcXVlc3Q7IH0KKyAgICBjb25zdCBT
dHJpbmcmIGludGVybmFsUmVxdWVzdFJlZmVycmVyKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5h
bFJlcXVlc3QucmVmZXJyZXI7IH0KKyAgICBjb25zdCBVUkwmIHVybCgpIGNvbnN0IHsgcmV0dXJu
IG1faW50ZXJuYWxSZXF1ZXN0LnJlcXVlc3QudXJsKCk7IH0KICAgICBib29sIGlzQm9keVJlYWRh
YmxlU3RyZWFtKCkgY29uc3QgeyByZXR1cm4gIWlzQm9keU51bGwoKSAmJiBib2R5KCkuaXNSZWFk
YWJsZVN0cmVhbSgpOyB9CiAKLSAgICBjb25zdCBTdHJpbmcmIGludGVybmFsUmVxdWVzdFJlZmVy
cmVyKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVlc3QucmVmZXJyZXI7IH0KKyAgICBS
ZXNvdXJjZVJlcXVlc3QgcmVzb3VyY2VSZXF1ZXN0KCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAg
RmV0Y2hSZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6Om9wdGlvbmFsPEZldGNo
Qm9keT4mJiwgUmVmPEZldGNoSGVhZGVycz4mJiwgSW50ZXJuYWxSZXF1ZXN0JiYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaWRsCmluZGV4IDFhNWU2MjZm
NTFjMTY2MmU4YmIwMDNiNjA0MDg3NmQzOWE4ZDBjOTkuLmIzZDJhNjMwMDgxY2RiYzNkOTc5YTY1
MTc0MjY0MGY3ZjM2MTgxNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hSZXF1ZXN0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoUmVxdWVzdC5pZGwKQEAgLTQ0LDcgKzQ0LDcgQEAgdHlwZWRlZiAoQmxvYiBvciBCdWZmZXJT
b3VyY2Ugb3IgRE9NRm9ybURhdGEgb3IgVVJMU2VhcmNoUGFyYW1zIG9yIFVTVlN0cmluZykgQm8K
ICAgICBJbnRlcmZhY2VOYW1lPVJlcXVlc3QsCiBdIGludGVyZmFjZSBGZXRjaFJlcXVlc3Qgewog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBCeXRlU3RyaW5nIG1ldGhvZDsKLSAgICByZWFkb25seSBh
dHRyaWJ1dGUgVVNWU3RyaW5nIHVybDsKKyAgICBbSW1wbGVtZW50ZWRBcz11cmxTdHJpbmddIHJl
YWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgdXJsOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBG
ZXRjaEhlYWRlcnMgaGVhZGVyczsgLy8gRklYTUU6IFNob3VsZCBiZSBbU2FtZU9iamVjdF0uCiAK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgRmV0Y2hSZXF1ZXN0VHlwZSB0eXBlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaAppbmRleCBmOWIwMmZiMGU1ODdh
YjRlYjNkNTU5Nzk0YjM5MWY3OWY1YTFkYzY2Li5kYzc1NzMxM2VmYThmZmI4ZjVmYjI5MmE1MjBl
MDA1N2NkMGEzYmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoUmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVz
cG9uc2UuaApAQCAtNTcsNiArNTcsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxGZXRjaFJl
c3BvbnNlPiBlcnJvcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CiAgICAgc3RhdGljIEV4Y2Vw
dGlvbk9yPFJlZjxGZXRjaFJlc3BvbnNlPj4gcmVkaXJlY3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYsIGNvbnN0IFN0cmluZyYgdXJsLCBpbnQgc3RhdHVzKTsKIAorICAgIHN0YXRpYyBSZWY8RmV0
Y2hSZXNwb25zZT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6
b3B0aW9uYWw8RmV0Y2hCb2R5PiYmIGJvZHksIFJlZjxGZXRjaEhlYWRlcnM+JiYgaGVhZGVycywg
UmVzb3VyY2VSZXNwb25zZSYmIHJlc3BvbnNlKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEZldGNo
UmVzcG9uc2UoY29udGV4dCwgV1RGTW92ZShib2R5KSwgV1RGTW92ZShoZWFkZXJzKSwgV1RGTW92
ZShyZXNwb25zZSkpKTsgfQorCiAgICAgdXNpbmcgRmV0Y2hQcm9taXNlID0gRE9NUHJvbWlzZURl
ZmVycmVkPElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj47CiAgICAgc3RhdGljIHZvaWQgZmV0
Y2goU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEZldGNoUmVxdWVzdCYsIEZldGNoUHJvbWlzZSYm
KTsKIApAQCAtNzgsNiArODAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBvaygpIGNvbnN0IHsgcmV0
dXJuIG1fcmVzcG9uc2UuaXNTdWNjZXNzZnVsKCk7IH0KICAgICBjb25zdCBTdHJpbmcmIHN0YXR1
c1RleHQoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlLmh0dHBTdGF0dXNUZXh0KCk7IH0KIAor
ICAgIGNvbnN0IEZldGNoSGVhZGVycyYgaGVhZGVycygpIGNvbnN0IHsgcmV0dXJuIG1faGVhZGVy
czsgfQogICAgIEZldGNoSGVhZGVycyYgaGVhZGVycygpIHsgcmV0dXJuIG1faGVhZGVyczsgfQog
ICAgIFJlZjxGZXRjaFJlc3BvbnNlPiBjbG9uZUZvckpTKCk7CiAKQEAgLTkwLDYgKzkzLDggQEAg
cHVibGljOgogCiAgICAgYm9vbCBpc0xvYWRpbmcoKSBjb25zdCB7IHJldHVybiAhIW1fYm9keUxv
YWRlcjsgfQogCisgICAgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzb3VyY2VSZXNwb25zZSgp
IGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2U7IH0KKwogcHJpdmF0ZToKICAgICBGZXRjaFJlc3Bv
bnNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6Om9wdGlvbmFsPEZldGNoQm9keT4mJiwg
UmVmPEZldGNoSGVhZGVycz4mJiwgUmVzb3VyY2VSZXNwb25zZSYmKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDA1MDY1NzE4
NGU2YTMwODRmNGMwMzQ2MDU0YjY1MTc2NDFhNWYxZWEuLmFmNWYzNmVjNmVlZjBlOTI1MjExNjBj
MGVjMjZhOThmOGU1OTEzODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE3ODQsNiArMTc4NCwxNCBAQAogCQk0MUNGOEJFNzFE
NDYyMjY3MDA3MDdEQzkgLyogRmV0Y2hCb2R5Q29uc3VtZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFDRjhCRTQxRDQ2MjIyMDAwNzA3REM5IC8q
IEZldGNoQm9keUNvbnN1bWVyLmNwcCAqLzsgfTsKIAkJNDFEMDE1Q0EwRjRCNUM3MTAwNEE2NjJG
IC8qIENvbnRlbnRUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MUQwMTVDODBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MUQwMTVDQjBGNEI1
QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMDE1QzkwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRU
eXBlLmNwcCAqLzsgfTsKKwkJNDFEMTI5Q0UxRjNEMEVGNjAwRDE1RTQ3IC8qIFdvcmtlckdsb2Jh
bFNjb3BlQ2FjaGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MUZCMjc4RDFGMzRDMjgyMDA3OTU0ODcgLyogV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMu
aCAqLzsgfTsKKwkJNDFEMTI5Q0YxRjNEMEVGRTAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5l
Y3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDFEMTI5QzkxRjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwICov
OyB9OworCQk0MUQxMjlEMDFGM0QwRjA1MDBEMTVFNDcgLyogQ2FjaGVRdWVyeU9wdGlvbnMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRkIyNzlCMUYz
NENFRjAwMDc5NTQ4NyAvKiBDYWNoZVF1ZXJ5T3B0aW9ucy5oICovOyB9OworCQk0MUQxMjlEMTFG
M0QwRjBFMDBEMTVFNDcgLyogRE9NV2luZG93Q2FjaGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUZCMjc4QzFGMzRDMjgyMDA3OTU0ODcgLyogRE9N
V2luZG93Q2FjaGVzLmggKi87IH07CisJCTQxRDEyOUQyMUYzRDBGMTIwMEQxNUU0NyAvKiBDYWNo
ZVN0b3JhZ2VSZWNvcmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxRDEyOUNBMUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VSZWNvcmQuaCAq
LzsgfTsKKwkJNDFEMTI5RDMxRjNEMEYxNjAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5lY3Rp
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDEy
OUNDMUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDFEMTI5RDUxRjNEMEY2
OTAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQxMjlENDFGM0QwRjY2MDBEMTVFNDcgLyogQ2Fj
aGVTdG9yYWdlUHJvdmlkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQk0MUQxMjlEQjFGM0QxNDM4MDBEMTVFNDcgLyogRmV0Y2hIZWFkZXJzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUY1NEY4MzFD
NTBDNEY2MDAzMzg0ODggLyogRmV0Y2hIZWFkZXJzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDFERUZDQjUxRTU2QzFCRDAwMEQ5RTVGIC8qIEpT
RE9NTWFwTGlrZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MURFRkNCMzFFNTZDMUI5MDAwRDlFNUYgLyogSlNET01NYXBMaWtlLmNwcCAqLzsgfTsK
IAkJNDFERUZDQjYxRTU2QzFCRDAwMEQ5RTVGIC8qIEpTRE9NTWFwTGlrZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFERUZDQjQxRTU2QzFCOTAwMEQ5
RTVGIC8qIEpTRE9NTWFwTGlrZS5oICovOyB9OwogCQk0MUUxQjFEMDBGRjU5ODY5MDA1NzZCM0Ig
LyogQWJzdHJhY3RXb3JrZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDFFMUIxQ0EwRkY1OTg2OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2VyLmNw
cCAqLzsgfTsKQEAgLTk0NjMsNiArOTQ3MSwxMCBAQAogCQk0MUNGOEJFNjFENDYyMjJDMDA3MDdE
QzkgLyogRmV0Y2hJbnRlcm5hbHMuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7
IHBhdGggPSBGZXRjaEludGVybmFscy5qczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDFEMDE1QzgwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQxRDAxNUM5MEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlwZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb250ZW50VHlwZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRDEyOUM5MUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0
b3JhZ2VDb25uZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk0MUQxMjlDQTFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUmVjb3JkLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlU3RvcmFnZVJlY29yZC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0MUQxMjlDQzFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVT
dG9yYWdlQ29ubmVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNo
ZVN0b3JhZ2VDb25uZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRDEy
OUQ0MUYzRDBGNjYwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VQcm92aWRlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZVN0b3JhZ2VQcm92aWRlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0MUQ1MUJCMjFFNEUyRTgxMDAxMzFBNUIgLyogTGliV2ViUlRD
QXVkaW9Gb3JtYXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRD
QXVkaW9Gb3JtYXQuaDsgcGF0aCA9IGxpYndlYnJ0Yy9MaWJXZWJSVENBdWRpb0Zvcm1hdC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MURFRkNCMjFFNTZDMUI5MDAwRDlFNUYgLyog
SlNET01CaW5kaW5nSW50ZXJuYWxzLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0
OyBwYXRoID0gSlNET01CaW5kaW5nSW50ZXJuYWxzLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0MURFRkNCMzFFNTZDMUI5MDAwRDlFNUYgLyogSlNET01NYXBMaWtlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9NTWFwTGlrZS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzY3MCw2ICsxNzY4Miw5IEBACiAJCQkJNDEzODBD
MjExRjM0MzY4RDAwMTU1RkRBIC8qIENhY2hlU3RvcmFnZS5jcHAgKi8sCiAJCQkJNDEzODBDMjIx
RjM0MzY5MDAwMTU1RkRBIC8qIENhY2hlU3RvcmFnZS5oICovLAogCQkJCTQxMzgwQzI0MUYzNDM2
OTcwMDE1NUZEQSAvKiBDYWNoZVN0b3JhZ2UuaWRsICovLAorCQkJCTQxRDEyOUM5MUYzRDBFRTMw
MEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCAqLywKKwkJCQk0MUQxMjlDQzFG
M0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oICovLAorCQkJCTQxRDEy
OUNBMUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VSZWNvcmQuaCAqLywKIAkJCQk0MUZC
Mjc4RTFGMzRDMjgyMDA3OTU0ODcgLyogRE9NV2luZG93Q2FjaGVzLmNwcCAqLywKIAkJCQk0MUZC
Mjc4QzFGMzRDMjgyMDA3OTU0ODcgLyogRE9NV2luZG93Q2FjaGVzLmggKi8sCiAJCQkJNDEzODBD
MkIxRjM0M0UyRjAwMTU1RkRBIC8qIERPTVdpbmRvd0NhY2hlcy5pZGwgKi8sCkBAIC0xOTI2OCw2
ICsxOTI4Myw3IEBACiAJCQkJQkMxMjRFRTYwQzI2NDFDRDAwOUUyMzQ5IC8qIEJhclByb3AuaWRs
ICovLAogCQkJCTQ2MEJCNjEzMUQwQTFCRUMwMDIyMTgxMiAvKiBCYXNlNjRVdGlsaXRpZXMuY3Bw
ICovLAogCQkJCTQ2MEJCNjE0MUQwQTFCRUMwMDIyMTgxMiAvKiBCYXNlNjRVdGlsaXRpZXMuaCAq
LywKKwkJCQk0MUQxMjlENDFGM0QwRjY2MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIu
aCAqLywKIAkJCQkwNzJDQTg2MDE2Q0I0REMzMDA4QUUxMzEgLyogQ2FwdGlvblVzZXJQcmVmZXJl
bmNlcy5jcHAgKi8sCiAJCQkJMDc5RDA4NjcxNjJGMjBFODAwREI4NjU4IC8qIENhcHRpb25Vc2Vy
UHJlZmVyZW5jZXMuaCAqLywKIAkJCQkwNzlEMDg2QTE2MkYyMUY5MDBEQjg2NTggLyogQ2FwdGlv
blVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwICovLApAQCAtMjY1NTcsNyArMjY1NzMsNiBAQAog
CQkJCTI5QUNCMjEyMTQzRTcxMjgwMDZCQ0E1RiAvKiBBY2Nlc3NpYmlsaXR5TW9ja09iamVjdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMjlBODEyMzYwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2li
aWxpdHlPYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUE0MDlDOTg1MTE2RDBEREQwMDcxOTdC
RCAvKiBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IuaCBpbiBIZWFkZXJzICovLAotCQkJ
CTUxRjE3NTY0MUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VySm9iQ2xpZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQkyOUE4MTIzOTBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNDNEY2RUIxMTA4RjlBNTAwOTlE
MERCIC8qIEFjY2Vzc2liaWxpdHlTY3JvbGxiYXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTI5NDg5
RkM3MTJDMDBGMDMwMEQ4M0YwRiAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldy5oIGluIEhlYWRl
cnMgKi8sCkBAIC0yNjc4Myw3ICsyNjc5OCwxMSBAQAogCQkJCTA3NTM4NjAzMTQ0ODlFOTgwMEI3
ODQ1MiAvKiBDYWNoZWRUZXh0VHJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQjE2QzI4MDk3
OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRYU0xTdHlsZVNoZWV0LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5M0YxOTk1MDA4MjQ1RTU5MDAxRTlBQkMgLyogQ2FjaGVQb2xpY3kuaCBpbiBIZWFkZXJzICov
LAorCQkJCTQxRDEyOUQwMUYzRDBGMDUwMEQxNUU0NyAvKiBDYWNoZVF1ZXJ5T3B0aW9ucy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNDEzODBDMjkxRjM0MzZBQzAwMTU1RkRBIC8qIENhY2hlU3RvcmFn
ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5RDMxRjNEMEYxNjAwRDE1RTQ3IC8qIENhY2hl
U3RvcmFnZUNvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTQxRDEyOUQ1MUYzRDBGNjkw
MEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFE
MTI5RDIxRjNEMEYxMjAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVJlY29yZC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRTQzQUY4RTcxQUM1QjdFQzAwQ0E3MTdFIC8qIENhY2hlVmFsaWRhdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNDlBRTJEOTcxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGN1bGF0aW9u
VmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDMUU4RDAxMUVEMEMyREEwMEIxRDk4MyAvKiBD
YWxsYmFja1Jlc3VsdC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjg0NCwxMiArMjY4NjMsMTAgQEAK
IAkJCQlCQ0RENDU0RTEyMzZDOTVDMDA5QTc5ODUgLyogQ29sdW1uSW5mby5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDNFREQ2N0YxQjQ4NURCRjAwNjQwRTc1IC8qIENvbWJpbmVkRmlsdGVyc0FscGhh
YmV0LmggaW4gSGVhZGVycyAqLywKIAkJCQkyNkU5NDREOTFBQzRCMkREMDA3Qjg1QjUgLyogQ29t
YmluZWRVUkxGaWx0ZXJzLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzU2OTFGM0VCQzgzMDBD
NzQ5NTAgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlvbnMuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE1ODRGRTM1MTg2NEQ1QUYwMDg0M0IxMCAvKiBDb21tYW5kTGluZUFQSUhvc3QuaCBp
biBIZWFkZXJzICovLAogCQkJCUE1ODRGRTJDMTg2Mzg3MEYwMDg0M0IxMCAvKiBDb21tYW5kTGlu
ZUFQSU1vZHVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU4NEZFMjYxODYzN0RBQjAwODQzQjEw
IC8qIENvbW1hbmRMaW5lQVBJTW9kdWxlU291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NTUw
QjZBMjA5OURGMDI3MDA5MEQ3ODEgLyogQ29tbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTEx
Q0E2N0UxRjM5MDVBNjAwMTlFMDc0IC8qIFNlcnZpY2VXb3JrZXJKb2IuaCBpbiBIZWFkZXJzICov
LAogCQkJCTU3RTY2NEZDMUU3MzcwMzMwMDc2NTUzNiAvKiBDb21tb25DcnlwdG9ERVJVdGlsaXRp
ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxRkUxMzc1MTg0MDJBNjcwMDg5MkYxMyAvKiBDb21t
b25DcnlwdG9VdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNjBGMzJCMURGQkIxMDcw
MDQxNkQ2QyAvKiBDb21tb25WTS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzE4Nyw3ICsyNzIwNCw2
IEBACiAJCQkJODM3MkRCMzExQTY3ODBBODAwQzY5N0M1IC8qIERpYWdub3N0aWNMb2dnaW5nUmVz
dWx0VHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0VDQURGQzcxNTM3NzhGRjAwRTM3MDY4IC8q
IERpY3RhdGlvbkFsdGVybmF0aXZlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRUNBREZDOTE1Mzc3
OEZGMDBFMzcwNjggLyogRGljdGF0aW9uQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTFG
MTc1NjMxRjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJKb2IuaCBpbiBIZWFkZXJzICov
LAogCQkJCUQwQkQ0RjVEMTQwODg1MEYwMDY4MzlCNiAvKiBEaWN0YXRpb25Db21tYW5kSU9TLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5MzdGRjNENTFBMTAxMkQ2MDA4RUJBMzEgLyogRGljdGlvbmFy
eUxvb2t1cC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ1NjQ2QjAxQjhGODQ5MzAwM0M0OTk0IC8q
IERpY3Rpb25hcnlQb3B1cEluZm8uaCBpbiBIZWFkZXJzICovLApAQCAtMjcyNDEsNyArMjcyNTcs
NiBAQAogCQkJCUE5QzZFNEU4MEQ3NDVFMTgwMDY0NDJFOSAvKiBET01NaW1lVHlwZUFycmF5Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1MkI2QzlDMzE1RTNGNERGMDA2OTBCMDUgLyogRE9NTmFtZWRG
bG93Q29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFDRTUzRTgwQThEMThFNzAwMjI5
NDdEIC8qIERPTVBhcnNlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTFGMTc1NUYxRjNFQkM4MzAw
Qzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJDb250YWluZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTdB
NTQ4ODE3MTRFNDMyQTEwMDZBRTA1QSAvKiBET01QYXRjaFN1cHBvcnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUZCOTEzOTI0MTZBRTRDMTcwMDFGRTY4MiAvKiBET01QYXRoLmggaW4gSGVhZGVycyAq
LywKIAkJCQlBOUM2RTRFQzBENzQ1RTJCMDA2NDQyRTkgLyogRE9NUGx1Z2luLmggaW4gSGVhZGVy
cyAqLywKQEAgLTI3MjY1LDYgKzI3MjgwLDcgQEAKIAkJCQkyRTM3REZEQjEyREJBRkI4MDBBNkIy
MzMgLyogRE9NVVJMLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDlERTE4MjE3QUFENkE0MDBFQTM4
NkQgLyogRE9NVVJMTWVkaWFTb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0MDNCOTk3MDlF
QjEzQUYwMDc5N0M3RiAvKiBET01XaW5kb3cuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxRDEyOUQx
MUYzRDBGMEUwMEQxNUU0NyAvKiBET01XaW5kb3dDYWNoZXMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUxRkEyRDc4MTUyMTMyQjMwMEMxQkEwQiAvKiBET01XaW5kb3dFeHRlbnNpb24uaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUxODVGQzc1MUJCNEM0RTgwMDEyODk4RiAvKiBET01XaW5kb3dJbmRleGVk
RGF0YWJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3RDJBRDA0MTRCODIzQTYwMDkzREYzMiAv
KiBET01XaW5kb3dQcm9wZXJ0eS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzM2MCw2ICsyNzM3Niw3
IEBACiAJCQkJODQ3MzBEODUxMjQ4RjBCMzAwRDNBOUM5IC8qIEZFTW9ycGhvbG9neS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJODQ3MzBEODcxMjQ4RjBCMzAwRDNBOUM5IC8qIEZFT2Zmc2V0LmggaW4g
SGVhZGVycyAqLywKIAkJCQk4NDczMEQ4OTEyNDhGMEIzMDBEM0E5QzkgLyogRkVTcGVjdWxhckxp
Z2h0aW5nLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUQxMjlEQjFGM0QxNDM4MDBEMTVFNDcgLyog
RmV0Y2hIZWFkZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTZFNkZFODFCQkQxMkRGMDAwQTYw
MjMgLyogRmV0Y2hJbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFBRDc1
M0ExQ0VGNkJEMTAwQTMxNDg2IC8qIEZldGNoT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
N0NFMTkxNEQxRjJBOUFGQjAwMjcyRjc4IC8qIEZldGNoUmVmZXJyZXJQb2xpY3kuaCBpbiBIZWFk
ZXJzICovLApAQCAtMjc1NzQsNyArMjc1OTEsNiBAQAogCQkJCTkzRjE5OEU1MDgyNDVFNTkwMDFF
OUFCQyAvKiBIVE1MRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3N0IzODY3MTIyODgz
RTkwMEI4MUZGOCAvKiBIVE1MRG9jdW1lbnRQYXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTkz
RjE5OEU2MDgyNDVFNTkwMDFFOUFCQyAvKiBIVE1MRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJNTFCRUI2MzkxRjNCOTRCMDAwNTAyOUI5IC8qIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25P
cHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTdDODEyMzBGMkE1Q0Y3MDA1REFBRUIgLyog
SFRNTEVsZW1lbnRGYWN0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzdCMzcyNDEyMjg3MjE3
MDBCODFGRjggLyogSFRNTEVsZW1lbnRTdGFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjU2MkRC
NjAxN0QzQ0Q2MzAwMTBBRjk2IC8qIEhUTUxFbGVtZW50VHlwZUhlbHBlcnMuaCBpbiBIZWFkZXJz
ICovLApAQCAtMjgzMjEsNyArMjgzMzcsNiBAQAogCQkJCTVFMkM0Mzc0MUJDRjBENzUwMDAxRTJC
QyAvKiBKU1JUQ1J0cFNlbmRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUUyQzQzNzIxQkNGMEQ3
NTAwMDFFMkJEIC8qIEpTUlRDUnRwVHJhbnNjZWl2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTMx
NkRDQjIyMUU3OENBNTUwMDFCNUY4NyAvKiBKU1JUQ1J0cFRyYW5zY2VpdmVyRGlyZWN0aW9uLmgg
aW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzU2QzFGM0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdv
cmtlclVwZGF0ZVZpYUNhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzk2OURCQzE3RDE0MTUx
MDA3RkY4NDIgLyogSlNSVENTZXNzaW9uRGVzY3JpcHRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJ
CTMxNkRDQjUwMUU3OTEwQTYwMDFCNUY4NyAvKiBKU1JUQ1NpZ25hbGluZ1N0YXRlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkwNzk2OURDMjE3RDE0MTUxMDA3RkY4NDIgLyogSlNSVENTdGF0c1JlcG9y
dC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODQwNyw3ICsyODQyMiw2IEBACiAJCQkJQjJGQTNEODEw
QUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHRkVGdW5jUkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUIyRkEzRDgzMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNEODUwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZH
RkVJbWFnZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTUxRjE3NTY4MUYzRUJDODMwMEM3
NDk1MCAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
MkZBM0Q4NzBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdGRU1lcmdlRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQjJGQTNEODkwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHRkVNZXJnZU5vZGVF
bGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDIyNDE4NDEwN0U3N0Y0MDA3NjZBODcgLyog
SlNTVkdGRU1vcnBob2xvZ3lFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI4NjgwLDcgKzI4
Njk0LDYgQEAKIAkJCQlBNTE2RThCNzEzNkUwNERCMDA3NkMzQzAgLyogTG9jYWxpemVkRGF0ZUNh
Y2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzUyMDdCRTA5QkQ0MTBBMDBGMjAzOEQgLyogTG9j
YWxpemVkU3RyaW5ncy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFMUM0MUIwRDk4Mjk4MDAwM0Iw
MkYyIC8qIExvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzU2MTFGM0VCQzgzMDBD
NzQ5NTAgLyogU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
ODIzOUUwMTA5QjNDRjhBMDBCNjA2NDEgLyogTG9nZ2luZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OUJBMjczRjQxNzIyMDZCQjAwOTdDRTQ3IC8qIExvZ2ljYWxTZWxlY3Rpb25PZmZzZXRDYWNoZXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTBGRENEN0YzMUQ0N0U2NTUwMDlGMDhCQyAvKiBMb2dJbml0
aWFsaXphdGlvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODgzNiw3ICsyODg0OSw2IEBACiAJCQkJ
MDdFRTc2RUMxQkU5NkRCMDAwRjg5MTMzIC8qIE1vY2tSZWFsdGltZVZpZGVvU291cmNlLmggaW4g
SGVhZGVycyAqLywKIAkJCQkwN0VFNzZFRjFCRUE2MTk4MDBGODkxMzMgLyogTW9ja1JlYWx0aW1l
VmlkZW9Tb3VyY2VNYWMuaCBpbiBIZWFkZXJzICovLAogCQkJCUNERjJCMDE3MTgyMDU0MDcwMEYy
QjQyNCAvKiBNb2NrU291cmNlQnVmZmVyUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTEx
Q0E2ODAxRjM5MzMxRjAwMTlFMDc0IC8qIFNlcnZpY2VXb3JrZXJKb2JDbGllbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUNERjJCMDE5MTgyMDU0MDcwMEYyQjQyNCAvKiBNb2NrVHJhY2tzLmggaW4g
SGVhZGVycyAqLywKIAkJCQlDNkQ3NEFENTA5QUEyODJFMDAwQjBBNTIgLyogTW9kaWZ5U2VsZWN0
aW9uTGlzdExldmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQk3MDlBMDFGRTFFM0QwQkREMDA2QjBE
NEMgLyogTW9kdWxlRmV0Y2hGYWlsdXJlS2luZC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yOTA0OSw3
ICsyOTA2MSw2IEBACiAJCQkJOTM1QzQ3NjgwOUFDNEQ0MzAwQTZBQUI0IC8qIFBsYXRmb3JtS2V5
Ym9hcmRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDU2MkY5NjExNTczRjg4RjAwMzFDQTE2
IC8qIFBsYXRmb3JtTGF5ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUY1NDRGNzg5MTVDRkIyQTgw
MEFGMzNBOCAvKiBQbGF0Zm9ybUxvY2FsZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTFGMTc1NUQx
RjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUNF
RUZDRDdDMTlEQjMzREMwMDM4NzZENyAvKiBQbGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTA3MEUwOTE5MTg3NUVFRkMwMDNBMUQzQyAvKiBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdGOTQ0MTYxODY0RDA0NjAwNUQzMUNC
IC8qIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yOTE1
MCw3ICsyOTE2MSw2IEBACiAJCQkJMDdDMUMwRTUxQkZCNjBFRDAwQkQyMjU2IC8qIFJlYWx0aW1l
TWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDEx
MDNBQUMxRTM5NzkxMDAwNzY5RjAzIC8qIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkM0MzY4RTgwQzIyNkUzMjAwNUVGQjVGIC8qIFJlY3QuaCBpbiBI
ZWFkZXJzICovLAotCQkJCTUxMUNBNjg0MUYzQTNDRDkwMDE5RTA3NCAvKiBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ0NUE5NTgxNzVE
NDE0QzAwQzIxRUM4IC8qIFJlY3RhbmdsZVNoYXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5ODMx
QUU0QTE1NDIyNUM5MDBGRTI2NDQgLyogUmVmZXJyZXJQb2xpY3kuaCBpbiBIZWFkZXJzICovLAog
CQkJCUJDQUI0MTgyMTNFMzU2RTgwMEQ4QUFGMyAvKiBSZWdpb24uaCBpbiBIZWFkZXJzICovLApA
QCAtMjk0MjUsNyArMjk0MzUsNiBAQAogCQkJCUNBM0JGNjdFMTBEOTlCQUUwMEU2Q0U1MyAvKiBT
Y3JvbGxBbmltYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYxNzc0ODAxMzc4Qjc3MjAwOURB
NzZBIC8qIFNjcm9sbEFuaW1hdG9ySU9TLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0FFMUZBNzEy
OTM5REI3MDA0Q0IwMjYgLyogU2Nyb2xsQW5pbWF0b3JNYWMuaCBpbiBIZWFkZXJzICovLAotCQkJ
CTUxRjE3NTZCMUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uUGFy
YW1ldGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUNCMzdGRkYxQzYyRDJBMTAwRjIwMTg4IC8q
IFNjcm9sbEFuaW1hdG9yTW9jay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk5QjgwODI0NUU1
OTAwMUU5QUJDIC8qIFNjcm9sbGJhci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM4Qjg1NEIwRTdD
N0Y1NjAwQUI2OTg0IC8qIFNjcm9sbGJhclRoZW1lLmggaW4gSGVhZGVycyAqLywKQEAgLTI5NDkz
LDEwICsyOTUwMiwyNSBAQAogCQkJCUE3NUU0OTc2MTA3NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxp
emVkU2NyaXB0VmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNkY3RjZEMUMzMUUzOUEwMEYx
MTFEQyAvKiBTZXJ2ZXJPcGVuREJSZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDkzQUVF
MzE5REY1NjQxMDAyQTg2QzMgLyogU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNTFGMTc1NUQxRjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTUxODJDMjNGMUYzMTNBMDkwMDU5QkE3QyAvKiBTZXJ2aWNlV29y
a2VyLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MUYxNzU1RjFGM0VCQzgzMDBDNzQ5NTAgLyogU2Vy
dmljZVdvcmtlckNvbnRhaW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4MkMyNDExRjMxM0Ew
OTAwNTlCQTdDIC8qIFNlcnZpY2VXb3JrZXJDb250YWluZXIuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTUxRjE3NTYxMUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCBp
biBIZWFkZXJzICovLAogCQkJCTUxODJDMjQzMUYzMTNBMDkwMDU5QkE3QyAvKiBTZXJ2aWNlV29y
a2VyR2xvYmFsU2NvcGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxMUNBNjdFMUYzOTA1QTYwMDE5
RTA3NCAvKiBTZXJ2aWNlV29ya2VySm9iLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MUYxNzU2MzFG
M0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdvcmtlckpvYi5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NTFGMTc1NjQxRjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJKb2JDbGllbnQuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTUxMUNBNjgwMUYzOTMzMUYwMDE5RTA3NCAvKiBTZXJ2aWNlV29ya2Vy
Sm9iQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTFDQTY3QTFGMzkwNEIxMDAxOUUwNzQg
LyogU2VydmljZVdvcmtlclByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MUYxNzU2NjFG
M0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdvcmtlclByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywK
KwkJCQk1MUYxNzU2ODFGM0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4MkMyNDUxRjMxM0EwOTAwNTlCQTdDIC8qIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTUxRjE3NTY5MUYzRUJD
ODMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucy5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNTFCRUI2MzkxRjNCOTRCMDAwNTAyOUI5IC8qIFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25PcHRpb25zLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTFDQTY4NDFGM0EzQ0Q5MDAx
OUUwNzQgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblBhcmFtZXRlcnMuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTUxRjE3NTZCMUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTFGMTc1NkMxRjNFQkM4MzAw
Qzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNTFGMTc0RkYxRjM1ODk5NzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNo
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzU2QjJDRTExOEI3MTAxNjAwRkVDRkFBIC8qIFNlc3Np
b25JRC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlFMTAwOTlFNjQ5MjAwNTZFNTgxIC8qIFNl
dE5vZGVBdHRyaWJ1dGVDb21tYW5kLmggaW4gSGVhZGVycyAqLywKQEAgLTI5ODMwLDcgKzI5ODU0
LDYgQEAKIAkJCQk4M0MxRDQyRjE3OEQ1QUI1MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0xpbmV0b0Fi
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBNzgwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1Bh
dGhTZWdMaW5ldG9Ib3Jpem9udGFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk4M0MxRDQzMDE3OEQ1
QUI1MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxBYnMuaCBpbiBIZWFkZXJz
ICovLAotCQkJCTUxMUNBNjdBMUYzOTA0QjEwMDE5RTA3NCAvKiBTZXJ2aWNlV29ya2VyUHJvdmlk
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzQzFENDMxMTc4RDVBQjUwMDE0MUU2OCAvKiBTVkdQ
YXRoU2VnTGluZXRvSG9yaXpvbnRhbFJlbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODNDMUQ0MzIx
NzhENUFCNTAwMTQxRTY4IC8qIFNWR1BhdGhTZWdMaW5ldG9SZWwuaCBpbiBIZWFkZXJzICovLAog
CQkJCUIyMjI3QTdEMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdQYXRoU2VnTGluZXRvVmVydGljYWwu
aCBpbiBIZWFkZXJzICovLApAQCAtMzAwMTEsNyArMzAwMzQsNiBAQAogCQkJCTJEN0VEMEFCMUJB
RTk5MTcwMDQzQjNFNSAvKiBUaW1lckV2ZW50QmFzZWRNb2NrLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk0OUU5MTJBRTBFRkFDOTA2MDA5RDBDQUYgLyogVGltaW5nRnVuY3Rpb24uaCBpbiBIZWFkZXJz
ICovLAogCQkJCTBGNTRERDA4MTg4MUQ1RjUwMDNFRURCQiAvKiBUb3VjaC5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJNTFGMTc1NjYxRjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJQcm92aWRl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1NEREMDkxODgxRDVGNTAwM0VFREJCIC8qIFRvdWNo
RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNTRERDBBMTg4MUQ1RjUwMDNFRURCQiAvKiBU
b3VjaExpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3MDMzNEQ3MTQ1OUZGRDUwMDhEOEQ0NSAv
KiBUcmFja0Jhc2UuaCBpbiBIZWFkZXJzICovLApAQCAtMzAyODMsNiArMzAzMDUsNyBAQAogCQkJ
CUE1MkE2ODY2MURCRDRCNUQwMDgzMzczRiAvKiBXb3JrZXJEZWJ1Z2dlckFnZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBM0UyNjQzMTE0NzQ4OTkxMDA1QTg1ODggLyogV29ya2VyRXZlbnRRdWV1
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NDkwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtl
ckdsb2JhbFNjb3BlLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUQxMjlDRTFGM0QwRUY2MDBEMTVF
NDcgLyogV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxODVG
Q0I0MUJCNEM0RTgwMDEyODk4RiAvKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NEIwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlckds
b2JhbFNjb3BlUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1NEEwQzYyMURCN0Y4QzEwMDE3
QTkwQiAvKiBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTMw
ODk1LDYgKzMwOTE4LDcgQEAKIAkJCQkwNzUzODYwMjE0NDg5RTk4MDBCNzg0NTIgLyogQ2FjaGVk
VGV4dFRyYWNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQjE2QzI3MDk3OUMzQkQwMDQ2Nzc0
MSAvKiBDYWNoZWRYU0xTdHlsZVNoZWV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxMzgwQzI4
MUYzNDM2QUMwMDE1NUZEQSAvKiBDYWNoZVN0b3JhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
NDFEMTI5Q0YxRjNEMEVGRTAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJRTQzQUY4RTYxQUM1QjdFODAwQ0E3MTdFIC8qIENhY2hlVmFsaWRh
dGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUFFMkQ5NjEzNEVFNUY5MDA3MjkyMEEgLyog
Q2FsY3VsYXRpb25WYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NTIwNzYwNDFGMjY3NUZF
MDA3RDJBQUIgLyogQ2FsbFRyYWNlci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMxMjIxLDcgKzMx
MjQ1LDYgQEAKIAkJCQlDRUNBREZDNjE1Mzc3OEZGMDBFMzcwNjggLyogRGljdGF0aW9uQWx0ZXJu
YXRpdmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0VDQURGQzgxNTM3NzhGRjAwRTM3MDY4IC8q
IERpY3RhdGlvbkNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRDBCRDRGNUMxNDA4ODUw
RjAwNjgzOUI2IC8qIERpY3RhdGlvbkNvbW1hbmRJT1MuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJ
NTFGMTc1NkExRjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25QYXJh
bWV0ZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzN0ZGM0Q3MUExMDEzMUIwMDhFQkEzMSAv
KiBEaWN0aW9uYXJ5TG9va3VwLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRkRBRjE5OTgxNTEzRDEz
MTAwOERCMEMzIC8qIERpcmVjdENvbnZvbHZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3RTRE
RTEwRDE5OEIxMEI2MDA1MUNCMDIgLyogRGlza0NhY2hlTW9uaXRvckNvY29hLm1tIGluIFNvdXJj
ZXMgKi8sCkBAIC0zMTU1MSw3ICszMTU3NCw2IEBACiAJCQkJNTE3NDFEMTIwQjA3MjU5QTAwRUQ0
NDJDIC8qIEhpc3RvcnlJdGVtLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxNjBGNDk4MEIwQUE3
NUYwMEMxRDJBRiAvKiBIaXN0b3J5SXRlbU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTQ5NjlC
MEYyMTNEMEIzM0YwMERGMzUyMSAvKiBIaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGUuY3BwIGluIFNv
dXJjZXMgKi8sCi0JCQkJNTExQ0E2ODMxRjNBM0NEOTAwMTlFMDc0IC8qIFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25QYXJhbWV0ZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEODI4N0Y2MTZF
NEEwMzgwMDg2QkQwMCAvKiBIaXRUZXN0TG9jYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
OTMwN0YxRDcwQUYyRDU5MDAwREJBMzFBIC8qIEhpdFRlc3RSZXN1bHQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJRkQzMTYwOTgxMkIwMjZGNzAwQzFBMzU5IC8qIEhSVEZEYXRhYmFzZS5jcHAgaW4g
U291cmNlcyAqLywKQEAgLTMxNzM0LDcgKzMxNzU2LDYgQEAKIAkJCQlBNzc5NzkxOTBENkI5RDBD
MDAzODUxQjkgLyogSW1hZ2VEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU1NUI4N0VDMUNB
QUYwQUIwMDM0OTQyNSAvKiBJbWFnZURlY29kZXJDRy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5
NzIwNUFCNTEyMzkyOTEwMDBCMTczODAgLyogSW1hZ2VEb2N1bWVudC5jcHAgaW4gU291cmNlcyAq
LywKLQkJCQk1MUYxNzU1QzFGM0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdvcmtlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1NTc2QTU2NDFEODhBNzA4MDBDQ0MwNEMgLyogSW1hZ2VGcmFtZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk1NTk3RjgyNjFEOTFDMzEzMDA2NkJDMjEgLyogSW1hZ2VG
cmFtZUNhY2hlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUY1NUIzREMxMTI1MUYxMkQwMDNFRjI2
OSAvKiBJbWFnZUlucHV0VHlwZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMyMTA5LDcgKzMyMTMw
LDYgQEAKIAkJCQkxQUUyQUEyRTBBMUNEQUI0MDBCNDJCMjUgLyogSlNIVE1MSGVhZGluZ0VsZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFFMkFBMzAwQTFDREFCNDAwQjQyQjI1IC8qIEpT
SFRNTEhSRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTg1QjE4RjBBMUIxOEEyMDBE
OEM4N0MgLyogSlNIVE1MSHRtbEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTFGMTc1
NjIxRjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJKb2IuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkM0OTE4QzgwQkZFQTA1MDAwOUQ2MzE2IC8qIEpTSFRNTElGcmFtZUVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMUFFMkFBOTcwQTFDREQyRDAwQjQyQjI1IC8qIEpTSFRNTElt
YWdlRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODBFN0U5ODBBMUE4M0UzMDA3RkI4
QzUgLyogSlNIVE1MSW5wdXRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzI2MjUsNyAr
MzI2NDUsNiBAQAogCQkJCUUxQzhCRTVEMEU4QkQxNUEwMDY0Q0I3RCAvKiBKU1dvcmtlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlFMTgyNTY4RjBFRjJCMDJEMDA5MzMyNDIgLyogSlNXb3JrZXJH
bG9iYWxTY29wZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUMzNkQzNDBFQjBBMDk0MDA3NDEw
QkMgLyogSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTEx
Q0E2NzkxRjM5MDRCMTAwMTlFMDc0IC8qIFNlcnZpY2VXb3JrZXJQcm92aWRlci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlFMTgyNThBQzBFRjNDRDcwMDA5MzMyNDIgLyogSlNXb3JrZXJHbG9iYWxT
Y29wZUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUMzNjJGMDBFQUYyQUE5MDA3NDEw
QkMgLyogSlNXb3JrZXJMb2NhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTI3MUE1OTBF
RUVDREU0MDBGNjEyMTMgLyogSlNXb3JrZXJOYXZpZ2F0b3IuY3BwIGluIFNvdXJjZXMgKi8sCkBA
IC0zMzEwOCw3ICszMzEyNyw2IEBACiAJCQkJMEZEMzA4RDUxMTdEMTY4NTAwQTc5MUY3IC8qIFJl
bmRlcklGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0VBNDg3NTA5N0Q5MzAyMDA5NEM5
RTQgLyogUmVuZGVySW1hZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDhGMkYwMDkxMjEzRTYx
NzAwRENFQzQ4IC8qIFJlbmRlckltYWdlUmVzb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJ
NTFGMTc1NjcxRjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMDg2NDFENDcxMjE0MkY3RDAwOERFOUY2IC8qIFJlbmRlcklt
YWdlUmVzb3VyY2VTdHlsZUltYWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRUE0ODc3MDk3
RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJJbmxpbmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNF
QTQ4NzkwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlckxheWVyLmNwcCBpbiBTb3VyY2VzICovLApA
QCAtMzMxNTMsNyArMzMxNzEsNiBAQAogCQkJCUJDRTkzRjQ3MTUxN0M2RDUwMDhDQ0Y3NCAvKiBS
ZW5kZXJSZWdpb25TZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg3MURGRTIwQTE1Mzc2QjAw
QjEyQTY4IC8qIFJlbmRlclJlcGxhY2VkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQTg0NkQ2
MERDNjdBMzUwMDI2QzMwOSAvKiBSZW5kZXJSZXBsaWNhLmNwcCBpbiBTb3VyY2VzICovLAotCQkJ
CTUxRjE3NTVFMUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTE0NzlGQUVEMTA5QUUzNzUwMERFRDY1NSAvKiBSZW5kZXJSdWJ5
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0NzlGQUVGMTA5QUUzNzUwMERFRDY1NSAvKiBSZW5k
ZXJSdWJ5QmFzZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDc5RkFGMTEwOUFFMzc1MDBERUQ2
NTUgLyogUmVuZGVyUnVieVJ1bi5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMzMTc0LDcgKzMzMTkx
LDYgQEAKIAkJCQlBOERGNEFFODA5ODBDNDJDMDA1Mjk4MUIgLyogUmVuZGVyVGFibGVDb2wuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQThERjRBRjAwOTgwQzQyQzAwNTI5ODFCIC8qIFJlbmRlclRh
YmxlUm93LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4REY0QUVEMDk4MEM0MkMwMDUyOTgxQiAv
KiBSZW5kZXJUYWJsZVNlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTExQ0E2N0QxRjM5
MDVBNjAwMTlFMDc0IC8qIFNlcnZpY2VXb3JrZXJKb2IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkNFQTQ4OEIwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlclRleHQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQUI2N0QxQTgwOTdGM0FFMzAwRjkzOTJFIC8qIFJlbmRlclRleHRDb250cm9sLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTA4M0RBRUE2MEYwMUE3RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0
Q29udHJvbE11bHRpTGluZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMzMzU3LDEwICszMzM3Mywy
MCBAQAogCQkJCUE3NUU0OTc3MTA3NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxpemVkU2NyaXB0VmFs
dWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE2RjdGNkUxQzMxRTM5QzAwRjExMURDIC8qIFNl
cnZlck9wZW5EQlJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5M0FFRTQxOURGNTY0
MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLywK
KwkJCQk1MUYxNzU1QzFGM0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdvcmtlci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk1MTgyQzIzRTFGMzEzQTA5MDA1OUJBN0MgLyogU2VydmljZVdvcmtlci5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk1MUYxNzU1RTFGM0VCQzgzMDBDNzQ5NTAgLyogU2Vydmlj
ZVdvcmtlckNvbnRhaW5lci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTgyQzI0MDFGMzEzQTA5
MDA1OUJBN0MgLyogU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk1MTgyQzI0MjFGMzEzQTA5MDA1OUJBN0MgLyogU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTUxRjE3NTYwMUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2aWNl
V29ya2VyR2xvYmFsU2NvcGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTFGMTc1NjIxRjNFQkM4
MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJKb2IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTEx
Q0E2N0QxRjM5MDVBNjAwMTlFMDc0IC8qIFNlcnZpY2VXb3JrZXJKb2IuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJNTExQ0E2NzkxRjM5MDRCMTAwMTlFMDc0IC8qIFNlcnZpY2VXb3JrZXJQcm92aWRl
ci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MUYxNzU2NTFGM0VCQzgzMDBDNzQ5NTAgLyogU2Vy
dmljZVdvcmtlclByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRjE3NTY3MUYzRUJD
ODMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTUxODJDMjQ0MUYzMTNBMDkwMDU5QkE3QyAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRjE3NTZBMUYzRUJDODMwMEM3NDk1MCAvKiBT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uUGFyYW1ldGVycy5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQk1MTFDQTY4MzFGM0EzQ0Q5MDAxOUUwNzQgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblBh
cmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTExRjdENDQxRUIxQzM5MTAwRTQ3Qjgz
IC8qIFNlc3Npb25JRC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzMwOUUwRjA5OUU2NDkyMDA1
NkU1ODEgLyogU2V0Tm9kZUF0dHJpYnV0ZUNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QjhEQkRCNEIxMzBCMEY4QTAwRjVDREIxIC8qIFNldFNlbGVjdGlvbkNvbW1hbmQuY3BwIGluIFNv
dXJjZXMgKi8sCkBAIC0zMzYzOCw3ICszMzY2NCw2IEBACiAJCQkJQkMyMjc0N0EwRTgzNjZFMjAw
RTdGOTc1IC8qIFNWR1JlbmRlclN0eWxlRGVmcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMjIy
N0FBMjBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHU2NyaXB0RWxlbWVudC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlCMjIyN0FBNTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHU2V0RWxlbWVudC5jcHAgaW4g
U291cmNlcyAqLywKLQkJCQk1MUYxNzU2MDFGM0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdvcmtl
ckdsb2JhbFNjb3BlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0QUZEMDBGMERBRjMzNTUwMEY1
RjU1QyAvKiBTVkdTTUlMRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMjIyN0FBODBE
MDBCRjIyMDA3MUI3ODIgLyogU1ZHU3RvcEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
N0MzOUMzNzYxRERCQjkwRDAwRkVGQjI5IC8qIFNWR1N0cmluZ0xpc3RWYWx1ZXMuY3BwIGluIFNv
dXJjZXMgKi8sCkBAIC0zMzc0MCw3ICszMzc2NSw2IEBACiAJCQkJN0FBM0E2OTkxOTRBNjRFNzAw
MUNCRDI0IC8qIFRpbGVDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFGNzJCRjBB
MTg3RkQ0NDkwMDA5QkNCMyAvKiBUaWxlQ29udHJvbGxlck1lbW9yeUhhbmRsZXJJT1MuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJN0FBM0E2QTMxOTRCNUMyMjAwMUNCRDI0IC8qIFRpbGVDb3ZlcmFn
ZU1hcC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1MUYxNzU2NTFGM0VCQzgzMDBDNzQ5NTAgLyog
U2VydmljZVdvcmtlclByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBQTNBNjlCMTk0
QTY0RTcwMDFDQkQyNCAvKiBUaWxlR3JpZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OTg3NzBG
MjEyNDJDNTM1MDAyMjI2QkEgLyogVGlsaW5nRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlG
NTVCM0REQjEyNTFGMTJEMDAzRUYyNjkgLyogVGltZUlucHV0VHlwZS5jcHAgaW4gU291cmNlcyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcAppbmRl
eCA2NmM3ZjA4ZjBmMjhiMDQ2YmI0YzM1ZThlOWJmMTlmYmRmMmFiYzU1Li4yYTgxM2I2YTEyMGRm
MzU4ZjA4YmQyNzE4Yzk2NTczNDMwMWRlZjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yT3ZlcmxheS5oIgogCisjaW5jbHVkZSAiQ2FjaGVT
dG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1ZGUg
IkVkaXRvckNsaWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKQEAgLTg2NSw3ICs4NjYsOCBA
QCBQYWdlKiBJbnNwZWN0b3JPdmVybGF5OjpvdmVybGF5UGFnZSgpCiAgICAgUGFnZUNvbmZpZ3Vy
YXRpb24gcGFnZUNvbmZpZ3VyYXRpb24oCiAgICAgICAgIGNyZWF0ZUVtcHR5RWRpdG9yQ2xpZW50
KCksCiAgICAgICAgIFNvY2tldFByb3ZpZGVyOjpjcmVhdGUoKSwKLSAgICAgICAgbWFrZVVuaXF1
ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4oKQorICAgICAgICBtYWtlVW5pcXVlUmVmPExpYldlYlJU
Q1Byb3ZpZGVyPigpLAorICAgICAgICBDYWNoZVN0b3JhZ2VQcm92aWRlcjo6Y3JlYXRlKCkKICAg
ICApOwogICAgIGZpbGxXaXRoRW1wdHlDbGllbnRzKHBhZ2VDb25maWd1cmF0aW9uKTsKICAgICBt
X292ZXJsYXlQYWdlID0gc3RkOjptYWtlX3VuaXF1ZTxQYWdlPihXVEZNb3ZlKHBhZ2VDb25maWd1
cmF0aW9uKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhY2hlU3RvcmFnZVBy
b3ZpZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhY2hlU3RvcmFnZVByb3ZpZGVyLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNWFlYzlmNDYxOThhYTQxYTdhMmI2MmZmNTJhMDVkZmI3ZTNjODNiMQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaApA
QCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJD
YWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiU2Vzc2lvbklELmgiCisjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBXRUJD
T1JFX0VYUE9SVCBDYWNoZVN0b3JhZ2VQcm92aWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPENhY2hl
U3RvcmFnZVByb3ZpZGVyPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxDYWNoZVN0b3JhZ2VQ
cm92aWRlcj4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNoZVN0b3JhZ2VQcm92
aWRlcik7IH0KKyAgICB2aXJ0dWFsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiBjcmVhdGVD
YWNoZVN0b3JhZ2VDb25uZWN0aW9uKFNlc3Npb25JRCkgeyByZXR1cm4gQ2FjaGVTdG9yYWdlQ29u
bmVjdGlvbjo6Y3JlYXRlKCk7IH0KKyAgICB2aXJ0dWFsIH5DYWNoZVN0b3JhZ2VQcm92aWRlcigp
IHsgfTsKKworcHJvdGVjdGVkOgorICAgIENhY2hlU3RvcmFnZVByb3ZpZGVyKCkgPSBkZWZhdWx0
OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggYzI2OTg3ZjhkY2IyZTllOTYwNmRhYTk3
MmQyY2ZjYzdiZWNjNWZiNy4uNzA0MWYxY2YyOTU5NTRlYWZmMDRkNmI4YTYxNjRmOGZhYWMwZDY3
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiQmFja0Zv
cndhcmRDbGllbnQuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZENvbnRyb2xsZXIuaCIKICNpbmNs
dWRlICJDU1NBbmltYXRpb25Db250cm9sbGVyLmgiCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlUHJv
dmlkZXIuaCIKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIK
ICNpbmNsdWRlICJDb25zdGFudFByb3BlcnR5TWFwLmgiCkBAIC0yMjIsNiArMjIzLDcgQEAgUGFn
ZTo6UGFnZShQYWdlQ29uZmlndXJhdGlvbiYmIHBhZ2VDb25maWd1cmF0aW9uKQogI2VuZGlmCiAg
ICAgLCBtX3NvY2tldFByb3ZpZGVyKFdURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uc29ja2V0UHJv
dmlkZXIpKQogICAgICwgbV9hcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSgqV1RGTW92ZShwYWdlQ29u
ZmlndXJhdGlvbi5hcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSkpCisgICAgLCBtX2NhY2hlU3RvcmFn
ZVByb3ZpZGVyKFdURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uY2FjaGVTdG9yYWdlUHJvdmlkZXIp
KQogICAgICwgbV9kYXRhYmFzZVByb3ZpZGVyKCpXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLmRh
dGFiYXNlUHJvdmlkZXIpKQogICAgICwgbV9wbHVnaW5JbmZvUHJvdmlkZXIoKldURk1vdmUocGFn
ZUNvbmZpZ3VyYXRpb24ucGx1Z2luSW5mb1Byb3ZpZGVyKSkKICAgICAsIG1fc3RvcmFnZU5hbWVz
cGFjZVByb3ZpZGVyKCpXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLnN0b3JhZ2VOYW1lc3BhY2VQ
cm92aWRlcikpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IDkwOWYzNzkwMmQzM2UxZDBlZjNlNWE5YjRmNjRi
YWI0ZGZhNWZmMGIuLjVmYzg5Y2RjNTkyYzk0OWViMThkOWNlYTE3ZjYxZmJjZDM1NTEyMDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZS5oCkBAIC03Nyw2ICs3Nyw3IEBAIGNsYXNzIEFsdGVybmF0aXZlVGV4dENsaWVu
dDsKIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwogY2xhc3MgQmFja0ZvcndhcmRDb250
cm9sbGVyOwogY2xhc3MgQmFja0ZvcndhcmRDbGllbnQ7CitjbGFzcyBDYWNoZVN0b3JhZ2VQcm92
aWRlcjsKIGNsYXNzIENocm9tZTsKIGNsYXNzIENocm9tZUNsaWVudDsKIGNsYXNzIENvbG9yOwpA
QCAtNTEwLDYgKzUxMSw3IEBAIHB1YmxpYzoKIAogICAgIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdl
JiBhcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSgpIHsgcmV0dXJuIG1fYXBwbGljYXRpb25DYWNoZVN0
b3JhZ2U7IH0KICAgICBEYXRhYmFzZVByb3ZpZGVyJiBkYXRhYmFzZVByb3ZpZGVyKCkgeyByZXR1
cm4gbV9kYXRhYmFzZVByb3ZpZGVyOyB9CisgICAgQ2FjaGVTdG9yYWdlUHJvdmlkZXImIGNhY2hl
U3RvcmFnZVByb3ZpZGVyKCkgeyByZXR1cm4gbV9jYWNoZVN0b3JhZ2VQcm92aWRlcjsgfQogICAg
IFNvY2tldFByb3ZpZGVyJiBzb2NrZXRQcm92aWRlcigpIHsgcmV0dXJuIG1fc29ja2V0UHJvdmlk
ZXI7IH0KIAogICAgIFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlciYgc3RvcmFnZU5hbWVzcGFjZVBy
b3ZpZGVyKCkgeyByZXR1cm4gbV9zdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIuZ2V0KCk7IH0KQEAg
LTc4NCw2ICs3ODYsNyBAQCBwcml2YXRlOgogCiAgICAgUmVmPFNvY2tldFByb3ZpZGVyPiBtX3Nv
Y2tldFByb3ZpZGVyOwogICAgIFJlZjxBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZT4gbV9hcHBsaWNh
dGlvbkNhY2hlU3RvcmFnZTsKKyAgICBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+IG1fY2FjaGVT
dG9yYWdlUHJvdmlkZXI7CiAgICAgUmVmPERhdGFiYXNlUHJvdmlkZXI+IG1fZGF0YWJhc2VQcm92
aWRlcjsKICAgICBSZWY8UGx1Z2luSW5mb1Byb3ZpZGVyPiBtX3BsdWdpbkluZm9Qcm92aWRlcjsK
ICAgICBSZWY8U3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyPiBtX3N0b3JhZ2VOYW1lc3BhY2VQcm92
aWRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAKaW5kZXggMTEy
M2RkNmQ0MDVhOTQ4MTNhNGE3ODc0MmM3ZDY2ZDJjZjFiZWU3Yy4uZjFiODI3ZGNmYmFhZTZlNmM4
ZGNjYWQ5ZDE4ZDQ5Mzc5ZGM5NTFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlQ29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmln
dXJhdGlvbi5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2Fj
aGVTdG9yYWdlLmgiCiAjaW5jbHVkZSAiQmFja0ZvcndhcmRDbGllbnQuaCIKKyNpbmNsdWRlICJD
YWNoZVN0b3JhZ2VQcm92aWRlci5oIgogI2luY2x1ZGUgIkRhdGFiYXNlUHJvdmlkZXIuaCIKICNp
bmNsdWRlICJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIgogI2luY2x1ZGUgIkVkaXRvckNsaWVu
dC5oIgpAQCAtNDMsMTAgKzQ0LDExIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFnZUNv
bmZpZ3VyYXRpb246OlBhZ2VDb25maWd1cmF0aW9uKFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYg
ZWRpdG9yQ2xpZW50LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYgc29ja2V0UHJvdmlkZXIsIFVuaXF1
ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJiBsaWJXZWJSVENQcm92aWRlcikKK1BhZ2VDb25maWd1
cmF0aW9uOjpQYWdlQ29uZmlndXJhdGlvbihVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmIGVkaXRv
ckNsaWVudCwgUmVmPFNvY2tldFByb3ZpZGVyPiYmIHNvY2tldFByb3ZpZGVyLCBVbmlxdWVSZWY8
TGliV2ViUlRDUHJvdmlkZXI+JiYgbGliV2ViUlRDUHJvdmlkZXIsIFJlZjxDYWNoZVN0b3JhZ2VQ
cm92aWRlcj4mJiBjYWNoZVN0b3JhZ2VQcm92aWRlcikKICAgICA6IGVkaXRvckNsaWVudChXVEZN
b3ZlKGVkaXRvckNsaWVudCkpCiAgICAgLCBzb2NrZXRQcm92aWRlcihXVEZNb3ZlKHNvY2tldFBy
b3ZpZGVyKSkKICAgICAsIGxpYldlYlJUQ1Byb3ZpZGVyKFdURk1vdmUobGliV2ViUlRDUHJvdmlk
ZXIpKQorICAgICwgY2FjaGVTdG9yYWdlUHJvdmlkZXIoV1RGTW92ZShjYWNoZVN0b3JhZ2VQcm92
aWRlcikpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZp
Z3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaAppbmRl
eCBmNTNhMTJjMzg3ZWFmYjQwNGYyYTA2NjYwMjc1OWVjOWE3ZmMwZjVmLi5hODYyZDQzMDJlMDM2
NDY0ZjkxMGE1N2IwMWQ3N2I2NGNjNmVmNDI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29u
ZmlndXJhdGlvbi5oCkBAIC0zNCw2ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IEFsdGVybmF0aXZlVGV4dENsaWVudDsKIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwog
Y2xhc3MgQmFja0ZvcndhcmRDbGllbnQ7CitjbGFzcyBDYWNoZVN0b3JhZ2VQcm92aWRlcjsKIGNs
YXNzIENocm9tZUNsaWVudDsKIGNsYXNzIENvbnRleHRNZW51Q2xpZW50OwogY2xhc3MgRGF0YWJh
c2VQcm92aWRlcjsKQEAgLTU4LDcgKzU5LDcgQEAgY2xhc3MgV2ViR0xTdGF0ZVRyYWNrZXI7CiBj
bGFzcyBQYWdlQ29uZmlndXJhdGlvbiB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNv
bmZpZ3VyYXRpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBXRUJD
T1JFX0VYUE9SVCBQYWdlQ29uZmlndXJhdGlvbihVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmLCBS
ZWY8U29ja2V0UHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJik7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgUGFnZUNvbmZpZ3VyYXRpb24oVW5pcXVlUmVmPEVkaXRvckNsaWVu
dD4mJiwgUmVmPFNvY2tldFByb3ZpZGVyPiYmLCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+
JiYsIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4mJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgflBh
Z2VDb25maWd1cmF0aW9uKCk7CiAKICAgICBBbHRlcm5hdGl2ZVRleHRDbGllbnQqIGFsdGVybmF0
aXZlVGV4dENsaWVudCB7IG51bGxwdHIgfTsKQEAgLTg3LDYgKzg4LDcgQEAgcHVibGljOgogCiAg
ICAgUmVmUHRyPEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlPiBhcHBsaWNhdGlvbkNhY2hlU3RvcmFn
ZTsKICAgICBSZWZQdHI8RGF0YWJhc2VQcm92aWRlcj4gZGF0YWJhc2VQcm92aWRlcjsKKyAgICBS
ZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+IGNhY2hlU3RvcmFnZVByb3ZpZGVyOwogICAgIFJlZlB0
cjxQbHVnaW5JbmZvUHJvdmlkZXI+IHBsdWdpbkluZm9Qcm92aWRlcjsKICAgICBSZWZQdHI8U3Rv
cmFnZU5hbWVzcGFjZVByb3ZpZGVyPiBzdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI7CiAgICAgUmVm
UHRyPFVzZXJDb250ZW50UHJvdmlkZXI+IHVzZXJDb250ZW50UHJvdmlkZXI7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAppbmRleCA3ODZlOGY3YTdiY2E2MDgwOWE1NTVi
NjVmODM1YzJhNTBhMDA4MmU4Li44MjU5YjJmOGUyODY2M2IyMTdjZGVhMDRjMmY4ZWMzODM3Y2Q3
OGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKQEAgLTI4LDYg
KzI4LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTVkdJbWFnZS5oIgogCisj
aW5jbHVkZSAiQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJDaHJvbWUuaCIKICNp
bmNsdWRlICJDb21tb25WTS5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgpAQCAtNDI5LDcgKzQz
MCw4IEBAIEVuY29kZWREYXRhU3RhdHVzIFNWR0ltYWdlOjpkYXRhQ2hhbmdlZChib29sIGFsbERh
dGFSZWNlaXZlZCkKICAgICAgICAgUGFnZUNvbmZpZ3VyYXRpb24gcGFnZUNvbmZpZ3VyYXRpb24o
CiAgICAgICAgICAgICBjcmVhdGVFbXB0eUVkaXRvckNsaWVudCgpLAogICAgICAgICAgICAgU29j
a2V0UHJvdmlkZXI6OmNyZWF0ZSgpLAotICAgICAgICAgICAgbWFrZVVuaXF1ZVJlZjxMaWJXZWJS
VENQcm92aWRlcj4oKQorICAgICAgICAgICAgbWFrZVVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRl
cj4oKSwKKyAgICAgICAgICAgIENhY2hlU3RvcmFnZVByb3ZpZGVyOjpjcmVhdGUoKQogICAgICAg
ICApOwogICAgICAgICBmaWxsV2l0aEVtcHR5Q2xpZW50cyhwYWdlQ29uZmlndXJhdGlvbik7CiAg
ICAgICAgIG1fY2hyb21lQ2xpZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxTVkdJbWFnZUNocm9tZUNs
aWVudD4odGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dAppbmRleCA3ZTMxZDUyYjA1NzkzYzE2ZTUzZTI1
NjExMGE2M2JmZWFjZWE4MzlhLi45Yjg1ODNlMzhiNmVjYWNkZjc3MDFlMDA5MjIwYjhiZjgwY2Ez
OTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKQEAgLTUyLDYgKzUyLDcgQEAgc2V0KFdlYktpdDJfSU5D
TFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0FwcGxlUGF5
IgogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0FwcGxpY2F0aW9uQ2FjaGUiCiAgICAg
IiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvQXV0b21hdGlvbiIKKyAgICAiJHtXRUJLSVQyX0RJ
Un0vV2ViUHJvY2Vzcy9DYWNoZSIKICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9Db29r
aWVzIgogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0RhdGFiYXNlcyIKICAgICAiJHtX
RUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTA5YTVlY2Q3ZDdi
MWFiMDIxNGIyOTE5NzA0OTYxODg3MDczNjQxMi4uYTgzODgxNjBkMWUxYjg5ZTQ4MGIxYzY0MzNm
MGY3M2E1MDM1ZjhmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC04OTEsNiArODkxLDcgQEAKIAkJNDEzMDc1QjIxREU4NUY1ODAwMzlF
QzY5IC8qIExpYldlYlJUQ1NvY2tldEZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUE2MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJS
VENTb2NrZXRGYWN0b3J5LmggKi87IH07CiAJCTQxMzA3NUIzMURFODVGNTgwMDM5RUM2OSAvKiBM
aWJXZWJSVENQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MTMwNzVBNzFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIu
Y3BwICovOyB9OwogCQk0MTMwNzVCNDFERTg1RjU4MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlk
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3
NUE4MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5oICovOyB9OworCQk0MUQx
MjlEQTFGM0QxMDE4MDBEMTVFNDcgLyogV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDEyOUQ5MUYzRDEwMTQw
MEQxNUU0NyAvKiBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oICovOyB9OwogCQk0MURDNDU5NjFF
M0Q2RTIyMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MURDNDU5NDFFM0Q2RTFFMDBCMTFGNTEgLyog
TmV0d29ya1JUQ1Byb3ZpZGVyLmggKi87IH07CiAJCTQxREM0NTk3MUUzRDZFMjIwMEIxMUY1MSAv
KiBOZXR3b3JrUlRDUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDFEQzQ1OTUxRTNENkUxRTAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92
aWRlci5jcHAgKi87IH07CiAJCTQxREM0NTlCMUUzREJCMjgwMEIxMUY1MSAvKiBMaWJXZWJSVENT
b2NrZXRDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDFEQzQ1OTkxRTNEQkIyNDAwQjExRjUxIC8qIExpYldlYlJUQ1NvY2tldENsaWVudC5j
cHAgKi87IH07CkBAIC0zMTQyLDYgKzMxNDMsNyBAQAogCQk0MTMwNzVBNzFERTg1RUU3MDAzOUVD
NjkgLyogTGliV2ViUlRDUHJvdmlkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBsaW5lRW5kaW5nID0gMDsgbmFtZSA9IExpYldlYlJUQ1Byb3ZpZGVyLmNwcDsgcGF0aCA9IE5l
dHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07
CiAJCTQxMzA3NUE4MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0gTGliV2ViUlRDUHJv
dmlkZXIuaDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhj
b2RlLmxhbmcub2JqY3BwOyB9OwogCQk0MUFDODY4MTFFMDQyRTUzMDAzMDMwNzQgLyogV2ViUlRD
UmVzb2x2ZXIubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBsaW5lRW5kaW5nID0gMDsgbmFt
ZSA9IFdlYlJUQ1Jlc29sdmVyLm1lc3NhZ2VzLmluOyBwYXRoID0gTmV0d29yay93ZWJydGMvV2Vi
UlRDUmVzb2x2ZXIubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3Vh
Z2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9ICI8bm9uZT4iOyB9OworCQk0MUQxMjlEOTFGM0Qx
MDE0MDBEMTVFNDcgLyogV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDFEQzQ1OTQxRTNENkUxRTAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3JrUlRDUHJvdmlkZXIuaDsgcGF0aCA9IE5l
dHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDFEQzQ1OTUxRTNENkUxRTAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92
aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBOZXR3b3JrUlRD
UHJvdmlkZXIuY3BwOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92
aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxREM0NTk4MUUzRDZFRDYw
MEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBuYW1lID0gTmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluOyBwYXRoID0gTmV0d29ya1By
b2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTU5MTIsNiArNTkxNCwxNCBAQAogCQkJbmFtZSA9IHdlYnJ0YzsK
IAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTQxRDEyOUQ4MUYzRDEwMTQwMEQx
NUU0NyAvKiBDYWNoZSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAo
CisJCQkJNDFEMTI5RDkxRjNEMTAxNDAwRDE1RTQ3IC8qIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVy
LmggKi8sCisJCQkpOworCQkJcGF0aCA9IENhY2hlOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsKKwkJfTsKIAkJNDQ1MEFFQkUxREMzRkFBQzAwOTk0M0YyIC8qIGNvY29hICovID0gewogCQkJ
aXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTY1OTIsNiArNjYwMiw3IEBACiAJ
CQljaGlsZHJlbiA9ICgKIAkJCQkxQUIxRjc3MDFEMUIyRjVEMDA3QzlCRDEgLyogQXBwbGVQYXkg
Ki8sCiAJCQkJMUMwQTE5NDMxQzhGRjFBODAwRkUwRUJCIC8qIEF1dG9tYXRpb24gKi8sCisJCQkJ
NDFEMTI5RDgxRjNEMTAxNDAwRDE1RTQ3IC8qIENhY2hlICovLAogCQkJCTdDNkU3MEY4MThCMkQ0
N0UwMEYyNEUyRSAvKiBjb2NvYSAqLywKIAkJCQkzMzA5MzQ0QjEzMTVCOTNBMDA5N0E3QkMgLyog
Q29va2llcyAqLywKIAkJCQk1MTJBOTc1NDE4MERGOTI3MDAzOUExNDkgLyogRGF0YWJhc2VzICov
LApAQCAtODY4OSw2ICs4NzAwLDcgQEAKIAkJCQlCQzcyQkExRTExRTY0OTA3MDAxRUI0RUEgLyog
V2ViQmFja0ZvcndhcmRMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MThEMkNBRTEyRDUxNTNC
MDAzQkI5M0IgLyogV2ViQmFja0ZvcndhcmRMaXN0SXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkM3MkI5RkIxMUU2NDc2QjAwMUVCNEVBIC8qIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmggaW4g
SGVhZGVycyAqLywKKwkJCQk0MUQxMjlEQTFGM0QxMDE4MDBEMTVFNDcgLyogV2ViQ2FjaGVTdG9y
YWdlUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRjUwNzI4MTI0MzI5QUEwMDU5NTVB
RSAvKiBXZWJDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDMyRDc1MTBG
NDM3OEQwMDU4QzE1QSAvKiBXZWJDaHJvbWVDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTNG
ODdCOUJFMTU4OTQwMTkwMDkwRkY2MiAvKiBXZWJDb2xvckNob29zZXIuaCBpbiBIZWFkZXJzICov
LApAQCAtODgzMSw3ICs4ODQzLDYgQEAKIAkJCQlCQ0UwRTQyNTE2OEI3QTI4MDA1N0U2NkEgLyog
V2ViUHJvY2Vzc1N1cHBsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMUUwOTM0MTg4NjFE
MzgwMEQyREM0OSAvKiBXZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTUxMkY1ODlEMTJBODgzODgwMDYyOTUzMCAvKiBXZWJQcm90ZWN0aW9uU3BhY2UuaCBpbiBI
ZWFkZXJzICovLAotCQkJCTUxQkVCNjJDMUYzQTVBRDcwMDUwMjlCOSAvKiBXZWJTZXJ2aWNlV29y
a2VyUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3OTQ4NDA0MTUwQzM1MDYwMEU1MkNF
OSAvKiBXZWJSZW5kZXJMYXllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzc2MDg4MUYxNTA0MTNF
OTAwRkM4MkM3IC8qIFdlYlJlbmRlck9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwQUZG
QkExNjU0MjA0ODAwMUJBMDVFIC8qIFdlYlJlc291cmNlTG9hZGVyLmggaW4gSGVhZGVycyAqLywK
QEAgLTg4NDMsNiArODg1NCw3IEBACiAJCQkJNDFEQzQ1OUYxRTNEQkRBNTAwQjExRjUxIC8qIFdl
YlJUQ1NvY2tldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0MzNjFENzMxOTI3RkEzNjAwMzZBNTlE
IC8qIFdlYlNjcmlwdE1lc3NhZ2VIYW5kbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlEM0I5NDg0
OTExRkY0QjY1MDAwMzJCMzkgLyogV2ViU2VhcmNoUG9wdXBNZW51LmggaW4gSGVhZGVycyAqLywK
KwkJCQk1MUJFQjYyQzFGM0E1QUQ3MDA1MDI5QjkgLyogV2ViU2VydmljZVdvcmtlclByb3ZpZGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTQ4MzJENzFBOUNERjk2MDA4QjRERkUgLyogV2Vic2l0
ZURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNDgzMkQxMUE5QkRDMkYwMDhCNERGRSAvKiBX
ZWJzaXRlRGF0YVJlY29yZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE1M0MyQUExQTMyNTczMDAw
NEU4QzcwIC8qIFdlYnNpdGVEYXRhU3RvcmUuaCBpbiBIZWFkZXJzICovLApAQCAtMTAzNzEsNyAr
MTAzODMsNiBAQAogCQkJCTJEQTk0NEExMTg4NEU0RjAwMEVEODZEQiAvKiBXZWJJT1NFdmVudEZh
Y3RvcnkubW0gaW4gU291cmNlcyAqLywKIAkJCQlDMDMzN0REMzEyN0EyQTBFMDA4RkY0RjQgLyog
V2ViS2V5Ym9hcmRFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTYyODBGMzE5MTk5ODJB
MDA2QUQ5RjkgLyogV2ViS2l0Lm0gaW4gU291cmNlcyAqLywKLQkJCQk1MUJFQjYyQjFGM0E1QUQ3
MDA1MDI5QjkgLyogV2ViU2VydmljZVdvcmtlclByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUJDOUJBNTA0MTY5N0M0NTMwMEU0NDYxNiAvKiBXZWJLaXQySW5pdGlhbGl6ZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk0NjUyNTBFNjFFQ0Y1MkRDMDAyMDI1Q0IgLyogV2ViS2l0MkluaXRp
YWxpemVDb2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxRkIwOEZGMTYzOURFMUEwMEVDMzI0
QSAvKiBXZWJMb2FkZXJTdHJhdGVneS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTEwNDY5LDYgKzEw
NDgwLDcgQEAKIAkJCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUMgLyogV2ViUlRDU29ja2V0TWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDMzYxRDcyMTkyN0ZBMzYwMDM2
QTU5RCAvKiBXZWJTY3JpcHRNZXNzYWdlSGFuZGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlE
M0I5NDg0ODExRkY0QjY1MDAwMzJCMzkgLyogV2ViU2VhcmNoUG9wdXBNZW51LmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTUxQkVCNjJCMUYzQTVBRDcwMDUwMjlCOSAvKiBXZWJTZXJ2aWNlV29ya2Vy
UHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE0ODMyRDYxQTlDREY5NjAwOEI0REZF
IC8qIFdlYnNpdGVEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNDgzMkQ5MUE5RDFGRDIw
MDhCNERGRSAvKiBXZWJzaXRlRGF0YVJlY29yZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTUz
QzJBOTFBMzI1NzJCMDA0RThDNzAgLyogV2Vic2l0ZURhdGFTdG9yZS5jcHAgaW4gU291cmNlcyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9DYWNoZS9XZWJDYWNoZVN0
b3JhZ2VQcm92aWRlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0NhY2hlL1dlYkNhY2hl
U3RvcmFnZVByb3ZpZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGU3ODgzNGRmN2EzZDhiNDBjMWUyOTlkNzQ2
NzljOTk4NmM1OGFkNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9DYWNoZS9XZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPFdlYkNvcmUvQ2FjaGVTdG9yYWdlUHJv
dmlkZXIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYkNhY2hlU3RvcmFnZVBy
b3ZpZGVyIGZpbmFsIDogcHVibGljIFdlYkNvcmU6OkNhY2hlU3RvcmFnZVByb3ZpZGVyIHsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUmVmPFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyPiBjcmVhdGUoKSB7
IHJldHVybiBhZG9wdFJlZigqbmV3IFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyKTsgfQorCitwcml2
YXRlOgorICAgIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyKCkgPSBkZWZhdWx0OworfTsKKworfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA4Y2U2
YTJlNmE0OWNlMTBiODE4ZTdmNzY3Zjk2ODYzNTQzZGIxYzFjLi5mZTM3ZTBkNTQxMTg1ZTU5ODhh
MGNkZWJiNWQ3NGJkZmYxM2U2NDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcApAQCAtNjgsNiArNjgsNyBAQAogI2luY2x1ZGUgIldlYkFsdGVybmF0
aXZlVGV4dENsaWVudC5oIgogI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uaCIKICNp
bmNsdWRlICJXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5oIgorI2luY2x1ZGUgIldlYkNhY2hlU3Rv
cmFnZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiV2ViQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAi
V2ViQ29sb3JDaG9vc2VyLmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnUuaCIKQEAgLTM3MSw3
ICszNzIsOCBAQCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgV2ViUGFnZUNyZWF0
aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiAgICAgUGFnZUNvbmZpZ3VyYXRpb24gcGFnZUNv
bmZpZ3VyYXRpb24oCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViRWRpdG9yQ2xpZW50Pih0aGlz
KSwKICAgICAgICAgV2ViU29ja2V0UHJvdmlkZXI6OmNyZWF0ZSgpLAotICAgICAgICBtYWtlVW5p
cXVlUmVmPFdlYktpdDo6TGliV2ViUlRDUHJvdmlkZXI+KCkKKyAgICAgICAgbWFrZVVuaXF1ZVJl
ZjxXZWJLaXQ6OkxpYldlYlJUQ1Byb3ZpZGVyPigpLAorICAgICAgICBXZWJQcm9jZXNzOjpzaW5n
bGV0b24oKS5jYWNoZVN0b3JhZ2VQcm92aWRlcigpCiAgICAgKTsKICAgICBwYWdlQ29uZmlndXJh
dGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50KCp0aGlzKTsKICNpZiBFTkFC
TEUoQ09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApp
bmRleCAzNzgyMjg2NmEyN2Q3MGQ2YTRhY2RlOGQyNmQ0NzQ5NDkxNWFmZDAxLi44NzBmM2NkZTg1
MzdjNjI4OWZjMTc1ZjI3YmU3YzlkNDg2YzA3YTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuY3BwCkBAIC00NCw2ICs0NCw3IEBACiAjaW5jbHVkZSAiU3RhdGlzdGljc0Rh
dGEuaCIKICNpbmNsdWRlICJVc2VyRGF0YS5oIgogI2luY2x1ZGUgIldlYkF1dG9tYXRpb25TZXNz
aW9uUHJveHkuaCIKKyNpbmNsdWRlICJXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgogI2luY2x1
ZGUgIldlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcy5oIgogI2luY2x1ZGUgIldlYkNvb2tpZU1hbmFn
ZXIuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKQEAgLTE2MCw2ICsxNjEs
NyBAQCBXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKCkKICNlbmRpZgogICAgICwgbV93ZWJJbnNwZWN0
b3JJbnRlcnJ1cHREaXNwYXRjaGVyKFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXI6OmNy
ZWF0ZSgpKQogICAgICwgbV93ZWJMb2FkZXJTdHJhdGVneSgqbmV3IFdlYkxvYWRlclN0cmF0ZWd5
KQorICAgICwgbV9jYWNoZVN0b3JhZ2VQcm92aWRlcihXZWJDYWNoZVN0b3JhZ2VQcm92aWRlcjo6
Y3JlYXRlKCkpCiAgICAgLCBtX2Ruc1ByZWZldGNoSHlzdGVyZXJpcyhbdGhpc10oSHlzdGVyZXNp
c1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0ZSA9PSBIeXN0ZXJlc2lzU3RhdGU6OlN0b3BwZWQpIG1f
ZG5zUHJlZmV0Y2hlZEhvc3RzLmNsZWFyKCk7IH0pCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJ
Tl9BUEkpCiAgICAgLCBtX3BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcihQbHVnaW5Qcm9j
ZXNzQ29ubmVjdGlvbk1hbmFnZXI6OmNyZWF0ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmgKaW5kZXggY2YyYWI4MTNiMzc5MDM3M2IyZGEwZmE2ZmFiZjdiYWM0N2IyZjQ5Ny4u
MTIzYzRiYjE5OGNhZjcwY2Q5NzZmNjk1OTlmNzc3OTBiMWQwYmI3NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC04MCw2ICs4MCw3IEBAIGNsYXNzIE9iakNPYmplY3RH
cmFwaDsKIGNsYXNzIFVzZXJEYXRhOwogY2xhc3MgV2F5bGFuZENvbXBvc2l0b3JEaXNwbGF5Owog
Y2xhc3MgV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eTsKK2NsYXNzIFdlYkNhY2hlU3RvcmFnZVBy
b3ZpZGVyOwogY2xhc3MgV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzOwogY2xhc3MgV2ViRnJhbWU7
CiBjbGFzcyBXZWJMb2FkZXJTdHJhdGVneTsKQEAgLTIyMiw2ICsyMjMsOCBAQCBwdWJsaWM6CiAK
ICAgICBXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5KiBhdXRvbWF0aW9uU2Vzc2lvblByb3h5KCkg
eyByZXR1cm4gbV9hdXRvbWF0aW9uU2Vzc2lvblByb3h5LmdldCgpOyB9CiAKKyAgICBXZWJDYWNo
ZVN0b3JhZ2VQcm92aWRlciYgY2FjaGVTdG9yYWdlUHJvdmlkZXIoKSB7IHJldHVybiBtX2NhY2hl
U3RvcmFnZVByb3ZpZGVyLmdldCgpOyB9CisKIHByaXZhdGU6CiAgICAgV2ViUHJvY2VzcygpOwog
ICAgIH5XZWJQcm9jZXNzKCk7CkBAIC0zNzUsNiArMzc4LDggQEAgcHJpdmF0ZToKICAgICBSZWZQ
dHI8TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uPiBtX25ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjsK
ICAgICBXZWJMb2FkZXJTdHJhdGVneSYgbV93ZWJMb2FkZXJTdHJhdGVneTsKIAorICAgIFJlZjxX
ZWJDYWNoZVN0b3JhZ2VQcm92aWRlcj4gbV9jYWNoZVN0b3JhZ2VQcm92aWRlcjsKKwogI2lmIFVT
RShMSUJXRUJSVEMpCiAgICAgc3RkOjp1bmlxdWVfcHRyPExpYldlYlJUQ05ldHdvcms+IG1fbGli
V2ViUlRDTmV0d29yazsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCmluZGV4IGMwMDFmMDAyODA2NTMyMDJiODgzYzYwYWZhNDkzN2Q0YTNmNjY5MGQu
LmFmMGY3ZTJhOWY2YmQ2MTM1NWYxNmU4MzI2ZWI0YTY3NjY0Njk5YzUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTEyNCw2ICsxMjQsNyBAQAogI2lt
cG9ydCA8V2ViQ29yZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ1NTQW5pbWF0aW9u
Q29udHJvbGxlci5oPgorI2ltcG9ydCA8V2ViQ29yZS9DYWNoZVN0b3JhZ2VQcm92aWRlci5oPgog
I2ltcG9ydCA8V2ViQ29yZS9DaHJvbWUuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29sb3JNYWMuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvRGF0YWJhc2VNYW5hZ2VyLmg+CkBAIC0xNDEzLDcgKzE0MTQsOCBA
QCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6KE5TU3RyaW5nICop
ZnJhbWVOYW1lIGdyb3VwTmFtZTooTlNTdAogICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25m
aWd1cmF0aW9uKAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkVkaXRvckNsaWVudD4oc2VsZiks
CiAgICAgICAgIFNvY2tldFByb3ZpZGVyOjpjcmVhdGUoKSwKLSAgICAgICAgbWFrZVVuaXF1ZVJl
ZjxXZWJDb3JlOjpMaWJXZWJSVENQcm92aWRlcj4oKQorICAgICAgICBtYWtlVW5pcXVlUmVmPFdl
YkNvcmU6OkxpYldlYlJUQ1Byb3ZpZGVyPigpLAorICAgICAgICBXZWJDb3JlOjpDYWNoZVN0b3Jh
Z2VQcm92aWRlcjo6Y3JlYXRlKCkKICAgICApOwogI2lmICFQTEFURk9STShJT1MpCiAgICAgcGFn
ZUNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudChzZWxmKTsK
QEAgLTE2NzYsNyArMTY3OCw4IEBAIC0gKGlkKWluaXRTaW1wbGVIVE1MRG9jdW1lbnRXaXRoU3R5
bGU6KE5TU3RyaW5nICopc3R5bGUgZnJhbWU6KENHUmVjdClmcmFtZSBwcmVmCiAgICAgUGFnZUNv
bmZpZ3VyYXRpb24gcGFnZUNvbmZpZ3VyYXRpb24oCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2Vi
RWRpdG9yQ2xpZW50PihzZWxmKSwKICAgICAgICAgU29ja2V0UHJvdmlkZXI6OmNyZWF0ZSgpLAot
ICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkxpYldlYlJUQ1Byb3ZpZGVyPigpCisgICAg
ICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXI+KCksCisgICAgICAg
IFdlYkNvcmU6OkNhY2hlU3RvcmFnZVByb3ZpZGVyOjpjcmVhdGUoKQogICAgICk7CiAgICAgcGFn
ZUNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudElPUyhzZWxm
KTsKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNw
cAppbmRleCA2NmVmZTIzMTcwZWZkNTY0MGJhZjZhNDMxYmVlNDliZDQ5NzBlMjcwLi40YWFhMDky
OGM4MmIyNTlmNDEzNWM5MmZlMWY3MTBmOTVjMTJiOWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJWaWV3LmNwcApAQCAtODQsNiArODQsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvQlN0cmluZy5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvQmFja0ZvcndhcmRDb250cm9sbGVyLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9CaXRtYXBJbmZvLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DYWNoZVN0b3JhZ2VQcm92
aWRlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ2hyb21lLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9D
b250ZXh0TWVudS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ29udGV4dE1lbnVDb250cm9sbGVyLmg+
CkBAIC0zMTAyLDcgKzMxMDMsOCBAQCBIUkVTVUxUIFdlYlZpZXc6OmluaXRXaXRoRnJhbWUoUkVD
VCBmcmFtZSwgX0luXyBCU1RSIGZyYW1lTmFtZSwgX0luXyBCU1RSIGdyb3VwTgogICAgIFBhZ2VD
b25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24oCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViRWRp
dG9yQ2xpZW50Pih0aGlzKSwKICAgICAgICAgU29ja2V0UHJvdmlkZXI6OmNyZWF0ZSgpLAotICAg
ICAgICBtYWtlVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPigpCisgICAgICAgIG1ha2VVbmlx
dWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+KCksCisgICAgICAgIFdlYkNvcmU6OkNhY2hlU3RvcmFn
ZVByb3ZpZGVyOjpjcmVhdGUoKQogICAgICk7CiAgICAgY29uZmlndXJhdGlvbi5iYWNrRm9yd2Fy
ZENsaWVudCA9IEJhY2tGb3J3YXJkTGlzdDo6Y3JlYXRlKCk7CiAgICAgY29uZmlndXJhdGlvbi5j
aHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50KHRoaXMpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQ5ZmEzOWFm
YmIxZmFkOTMyYmQwNGY4MTJlYjU5MDUyZGUxMWRlZGEuLjJmODJjZmI0MTExOTQ0ODhmYzg0ZWIx
MDM2MWIzNmU0YTQ0YmYxN2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNy0wOC0xMyAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRk
aW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBl
Y3RhdGlvbnM6IFNraXBwaW5nIGEgdGVzdCB0aGF0IHdvdWxkIHRpbWVvdXQgb3RoZXJ3aXNlIGR1
ZSB0byB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBsaW1pdGF0aW9ucy4KKwogMjAxNy0wOC0x
NCAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgW2Nzcy11aV0g
SW1wbGVtZW50IGNhcmV0LWNvbG9yIHN1cHBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CmluZGV4IGQ3MjAzNDQzNzhjMDgyM2Q2ODZiMjM1NzMyOTQzZDYwMzMzNWRhY2MuLjYxZGRhZDFl
YjM2MDcxM2IzZDA0NTM3N2E4MWQ1Zjg4OTYyNjYzZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTA4LTEzICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbQ2FjaGUgQVBJXSBBZGRpbmcgZ2VuZXJpYyBzdXBw
b3J0IGZvciBDYWNoZVN0b3JhZ2UgYW5kIENhY2hlIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTQ1NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY3JlZGVudGlhbHMuaHR0cHMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29y
a2VyL2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2Fj
aGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQ6CisKIDIwMTctMDgtMTQgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsb3V0IHIyMjA2
MjIgJiByMjIwNjk2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBiOTU2MTg5MjQ2MTYzYTAxYmY1N2Fh
Y2YzOTRkNGZlMDNkMGQ4YzA1Li5jN2FlZWM0YWNhZGZhMzRiMjQxZDAxODQyMTYxMjBlNDFhMTEy
ZTE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEyMSw3ICsxMjEsNyBAQCBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zdHViLTQuNi4yLWNhY2hlLmh0bWwg
WyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3N0dWItNC42LjMtY2FjaGUtc3RvcmFnZS5odG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlIFsgUGFzcyBdCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9y
YWdlL3dpbmRvdyBbIFBhc3MgRmFpbHVyZSBdCi0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UvY29tbW9uLmh0dHBzLmh0bWwgWyBT
a2lwIF0KIAogIyB0ZXh0YXJlYS5hbmltYXRlIGlzIG5vdCBzdXBwb3J0ZWQKIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy11aS0zL2NhcmV0LWNvbG9yLTAxOC5odG1sIFsg
U2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY3JlZGVu
dGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zZXJ2aWNld29ya2Vy
L2NyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAwNzYxNjUwZGJjNDFlOGJkMTVl
NjRlNDdlMzA4ZjJkYzMyYWI5ZTViLi4zOGU5NTIzOTdjMzQ2MTkyOGYxZWYxZWRmN2FiZWUzMGNl
MzgxMjc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY3JlZGVu
dGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdv
cmtlci9jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZB
SUwgQ2FjaGUgQVBJIG1hdGNoaW5nIGluY2x1ZGVzIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGlt
cGxlbWVudGVkIgorRkFJTCBDYWNoZSBBUEkgbWF0Y2hpbmcgaW5jbHVkZXMgY3JlZGVudGlhbHMg
YXNzZXJ0X3VucmVhY2hlZDogdW5yZWdpc3RlciBzaG91bGQgbm90IGZhaWw6IHNlcnZpY2VXb3Jr
ZXIuZ2V0UmVnaXN0cmF0aW9uKCkgaXMgbm90IHlldCBpbXBsZW1lbnRlZCBSZWFjaGVkIHVucmVh
Y2hhYmxlIGNvZGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUt
YWRkLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLWFk
ZC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggNDlhNDY3ODI4ZDkxNzQyNjUxMDk1ZWM5NjYwNzBi
MjUxZjk1NDZhMi4uZWY0YjUyY2Y2NjgzNDBlMGY0YTBkNzJmZmRhMDM5NDc0NzE5M2Y0NiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtYWRkLmh0dHBzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1hZGQuaHR0cHMtZXhwZWN0
ZWQudHh0CkBAIC0xLDIwICsxLDIwIEBACiAKLUZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRoIG5v
IGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkIGNhbGxl
ZCB3aXRoIHJlbGF0aXZlIFVSTCBzcGVjaWZpZWQgYXMgYSBzdHJpbmcgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZCBjYWxsZWQgd2l0aCBub24tSFRUUC9IVFRQUyBVUkwg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZCBjYWxsZWQgd2l0aCBSZXF1
ZXN0IG9iamVjdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkIGNhbGxl
ZCB3aXRoIFBPU1QgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUu
YWRkIGNhbGxlZCB0d2ljZSB3aXRoIHRoZSBzYW1lIFJlcXVlc3Qgb2JqZWN0IHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGQgd2l0aCByZXF1ZXN0IHdpdGggbnVsbCBib2R5
IChub3QgY29uc3VtZWQpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGQg
d2l0aCAyMDYgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFk
ZEFsbCB3aXRoIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2Fj
aGUuYWRkIHdpdGggcmVxdWVzdCB0aGF0IHJlc3VsdHMgaW4gYSBzdGF0dXMgb2YgNDA0IHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGQgd2l0aCByZXF1ZXN0IHRoYXQgcmVz
dWx0cyBpbiBhIHN0YXR1cyBvZiA1MDAgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENh
Y2hlLmFkZEFsbCB3aXRoIG5vIGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZB
SUwgQ2FjaGUuYWRkQWxsIHdpdGggYSBtaXggb2YgdmFsaWQgYW5kIHVuZGVmaW5lZCBhcmd1bWVu
dHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZEFsbCB3aXRoIGFuIGVt
cHR5IGFycmF5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGRBbGwgd2l0
aCBzdHJpbmcgVVJMIGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2Fj
aGUuYWRkQWxsIHdpdGggUmVxdWVzdCBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlLmFkZEFsbCB3aXRoIGEgbWl4IG9mIHN1Y2NlZWRpbmcgYW5kIGZhaWxpbmcg
cmVxdWVzdHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZEFsbCBjYWxs
ZWQgd2l0aCB0aGUgc2FtZSBSZXF1ZXN0IG9iamVjdCBzcGVjaWZpZWQgdHdpY2UgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZCBjYWxsZWQgd2l0aCBubyBhcmd1bWVudHMg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3
aXRoIHJlbGF0aXZlIFVSTCBzcGVjaWZpZWQgYXMgYSBzdHJpbmcgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRoIG5vbi1IVFRQL0hUVFBT
IFVSTCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgY2Fs
bGVkIHdpdGggUmVxdWVzdCBvYmplY3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
K0ZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRoIFBPU1QgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjog
Tm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgY2FsbGVkIHR3aWNlIHdpdGggdGhlIHNh
bWUgUmVxdWVzdCBvYmplY3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwg
Q2FjaGUuYWRkIHdpdGggcmVxdWVzdCB3aXRoIG51bGwgYm9keSAobm90IGNvbnN1bWVkKSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgd2l0aCAyMDYgcmVz
cG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxs
IHdpdGggMjA2IHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlLmFkZCB3aXRoIHJlcXVlc3QgdGhhdCByZXN1bHRzIGluIGEgc3RhdHVzIG9mIDQwNCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgd2l0aCByZXF1
ZXN0IHRoYXQgcmVzdWx0cyBpbiBhIHN0YXR1cyBvZiA1MDAgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggbm8gYXJndW1lbnRzIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRl
ZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZEFsbCB3aXRoIGEgbWl4IG9m
IHZhbGlkIGFuZCB1bmRlZmluZWQgYXJndW1lbnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitGQUlMIENhY2hlLmFkZEFsbCB3aXRoIGFuIGVtcHR5IGFycmF5IHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZEFsbCB3aXRoIHN0cmluZyBVUkwg
YXJndW1lbnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFk
ZEFsbCB3aXRoIFJlcXVlc3QgYXJndW1lbnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCitGQUlMIENhY2hlLmFkZEFsbCB3aXRoIGEgbWl4IG9mIHN1Y2NlZWRpbmcgYW5kIGZhaWxp
bmcgcmVxdWVzdHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUu
YWRkQWxsIGNhbGxlZCB3aXRoIHRoZSBzYW1lIFJlcXVlc3Qgb2JqZWN0IHNwZWNpZmllZCB0d2lj
ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1kZWxldGUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtZGVsZXRlLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAy
ZGZhZTVjOGJjYmJkM2Q1YjA1Y2NjYzkxM2E2M2UzZTY5MmExZjcwLi5lMzNlODU4YmZkZDI3NDk1
MzA1MmUwZjYyOWFjYTRhY2EyNjBmNzYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dp
bmRvdy9jYWNoZS1kZWxldGUuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3Jh
Z2Uvd2luZG93L2NhY2hlLWRlbGV0ZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEsMTAg
QEAKIAotRkFJTCBDYWNoZS5kZWxldGUgd2l0aCBubyBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlLmRlbGV0ZSBjYWxsZWQgd2l0aCBhIHN0cmluZyBVUkwgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmRlbGV0ZSBjYWxsZWQgd2l0aCBhIFJl
cXVlc3Qgb2JqZWN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5kZWxldGUg
Y2FsbGVkIHdpdGggYSBIRUFEIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLmRlbGV0ZSBzdXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgotRkFJTCBDYWNoZS5kZWxldGUgd2l0aCBhIG5vbi1leGlzdGVudCBlbnRyeSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuZGVsZXRlIHdpdGggaWdub3JlU2VhcmNoIG9wdGlv
biAocmVxdWVzdCB3aXRoIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKLUZBSUwgQ2FjaGUuZGVsZXRlIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAod2hlbiBpdCBp
cyBzcGVjaWZpZWQgYXMgZmFsc2UpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNo
ZS5kZWxldGUgd2l0aCBubyBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKK0ZBSUwgQ2FjaGUuZGVsZXRlIGNhbGxlZCB3aXRoIGEgc3RyaW5nIFVSTCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRF
cnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5kZWxldGUgY2FsbGVkIHdpdGggYSBS
ZXF1ZXN0IG9iamVjdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNo
ZS5kZWxldGUgY2FsbGVkIHdpdGggYSBIRUFEIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuZGVsZXRlIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9y
dGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuZGVsZXRlIHdpdGggYSBub24t
ZXhpc3RlbnQgZW50cnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2Fj
aGUuZGVsZXRlIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIHNlYXJjaCBw
YXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5k
ZWxldGUgd2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uICh3aGVuIGl0IGlzIHNwZWNpZmllZCBhcyBm
YWxzZSkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
Y2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUta2V5cy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9j
YWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA3
ZTFhMzczNmQ0M2YzNzY0NGMyYTY4MDhmNDFkMjEwNGEyYTY0MGUwLi5hNThhYzliYzcyZjBhMzZh
MjVkNzg3ZmFmMDkxN2JiNzczMzA0NjQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dp
bmRvdy9jYWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdl
L3dpbmRvdy9jYWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwxNSArMSwxNSBAQAog
Ci1GQUlMIENhY2hlLmtleXMoKSBjYWxsZWQgb24gYW4gZW1wdHkgY2FjaGUgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmtleXMgd2l0aCBubyBtYXRjaGluZyBlbnRyaWVzIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggVVJMIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
Tm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggUmVxdWVzdCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRoIG5ldyBSZXF1ZXN0IHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
Tm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggaWdub3JlU2VhcmNoIG9wdGlv
biAocmVxdWVzdCB3aXRoIG5vIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qg
d2l0aCBzZWFyY2ggcGFyYW1ldGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENh
Y2hlLmtleXMgc3VwcG9ydHMgaWdub3JlTWV0aG9kIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgot
RkFJTCBDYWNoZS5rZXlzIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLmtleXMgd2l0aCBVUkwgY29udGFpbmluZyBmcmFnbWVudCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRoIHN0cmluZyBmcmFnbWVudCAi
aHR0cCIgYXMgcXVlcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmtleXMg
d2l0aG91dCBwYXJhbWV0ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5r
ZXlzIHdpdGggYSBIRUFEIFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENh
Y2hlLmtleXMoKSBjYWxsZWQgb24gYW4gZW1wdHkgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5cyB3aXRoIG5vIG1hdGNoaW5nIGVudHJpZXMgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5cyB3aXRoIFVSTCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGggUmVx
dWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdp
dGggbmV3IFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2Fj
aGUua2V5cyB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBubyBzZWFyY2gg
cGFyYW1ldGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUu
a2V5cyB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBzZWFyY2ggcGFyYW1l
dGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5cyBz
dXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZB
SUwgQ2FjaGUua2V5cyBzdXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCitGQUlMIENhY2hlLmtleXMgd2l0aCBVUkwgY29udGFpbmluZyBmcmFnbWVudCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGggc3Ry
aW5nIGZyYWdtZW50ICJodHRwIiBhcyBxdWVyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGhvdXQgcGFyYW1ldGVycyBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjog
Tm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGggYSBIRUFEIFJlcXVlc3QgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93aW5kb3cvY2FjaGUtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93aW5kb3cvY2FjaGUtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDU3YTUxY2Y5
YmE0OWQ5NWU3YTU3ZmI5Y2E1NWYyNmI1MDNmNjhiYzEuLmNlNmJlNTM3ZTFhZTk4NjY3ZGQ4MzFl
YzQ5ZTNmNGY4MTRmMGExMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2Nh
Y2hlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRv
dy9jYWNoZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMjIgKzEsMjIgQEAKIAotRkFJ
TCBDYWNoZS5tYXRjaCB3aXRoIG5vIG1hdGNoaW5nIGVudHJpZXMgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgotRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlLm1hdGNoIHdpdGggbXVsdGlwbGUgY2FjaGUgaGl0cyBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBuZXcgUmVxdWVzdCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBIRUFEIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGlt
cGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJl
cXVlc3Qgd2l0aCBubyBzZWFyY2ggcGFyYW1ldGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlLm1hdGNoIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRo
IHNlYXJjaCBwYXJhbWV0ZXIpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5t
YXRjaCBzdXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLm1hdGNoIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlLm1hdGNoIHdpdGggVVJMIGNvbnRhaW5pbmcgZnJhZ21lbnQgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggc3RyaW5nIGZyYWdtZW50ICJo
dHRwIiBhcyBxdWVyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2gg
d2l0aCByZXNwb25zZXMgY29udGFpbmluZyAiVmFyeSIgaGVhZGVyIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFJlcXVlc3QgYW5kIFJlc3BvbnNlIG9iamVj
dHMgd2l0aCBkaWZmZXJlbnQgVVJMcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2Fj
aGUubWF0Y2ggaW52b2tlZCBtdWx0aXBsZSB0aW1lcyBmb3IgdGhlIHNhbWUgUmVxdWVzdC9SZXNw
b25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggYmxvYiBzaG91
bGQgYmUgc2xpY2VhYmxlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRj
aCB3aXRoIFBPU1QgUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUu
bWF0Y2ggd2l0aCBhIG5vbi0yeHggUmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1G
QUlMIENhY2hlLm1hdGNoIHdpdGggYSBuZXR3b3JrIGVycm9yIFJlc3BvbnNlIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZSBwcm9kdWNlcyBsYXJnZSBSZXNwb25zZXMgdGhhdCBj
YW4gYmUgY2xvbmVkIGFuZCByZWFkIGNvcnJlY3RseS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CitGQUlMIENhY2hlLm1hdGNoIHdpdGggbm8gbWF0Y2hpbmcgZW50cmllcyBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJv
cjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFVSTCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRF
cnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFJlcXVlc3QgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBtdWx0
aXBsZSBjYWNoZSBoaXRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENh
Y2hlLm1hdGNoIHdpdGggbmV3IFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBIRUFEIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVz
dCB3aXRoIG5vIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qg
d2l0aCBzZWFyY2ggcGFyYW1ldGVyKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgor
RkFJTCBDYWNoZS5tYXRjaCBzdXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggc3VwcG9ydHMgaWdub3JlVmFyeSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFVSTCBj
b250YWluaW5nIGZyYWdtZW50IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlLm1hdGNoIHdpdGggc3RyaW5nIGZyYWdtZW50ICJodHRwIiBhcyBxdWVyeSBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIHJlc3BvbnNl
cyBjb250YWluaW5nICJWYXJ5IiBoZWFkZXIgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBSZXF1ZXN0IGFuZCBSZXNwb25zZSBvYmplY3RzIHdp
dGggZGlmZmVyZW50IFVSTHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwg
Q2FjaGUubWF0Y2ggaW52b2tlZCBtdWx0aXBsZSB0aW1lcyBmb3IgdGhlIHNhbWUgUmVxdWVzdC9S
ZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRj
aCBibG9iIHNob3VsZCBiZSBzbGljZWFibGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBQT1NUIFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBhIG5vbi0yeHggUmVzcG9uc2Ug
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBh
IG5ldHdvcmsgZXJyb3IgUmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
K0ZBSUwgQ2FjaGUgcHJvZHVjZXMgbGFyZ2UgUmVzcG9uc2VzIHRoYXQgY2FuIGJlIGNsb25lZCBh
bmQgcmVhZCBjb3JyZWN0bHkuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLW1hdGNoQWxsLmh0dHBzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLW1hdGNoQWxsLmh0dHBz
LWV4cGVjdGVkLnR4dAppbmRleCA2MmJmMzYzMzMyZTM1MWU2M2M2ZjIzZjY0OTU2NTdkNjk0NjQ4
ZGE3Li43NzA0NDg3MjI3YjM1NDkzZTQzNDYzNmNhODFmOGI2NTlhYWU4M2U4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1tYXRjaEFsbC5odHRwcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtbWF0Y2hBbGwuaHR0cHMtZXhw
ZWN0ZWQudHh0CkBAIC0xLDE2ICsxLDE2IEBACiAKLUZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBu
byBtYXRjaGluZyBlbnRyaWVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5t
YXRjaEFsbCB3aXRoIFVSTCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0
Y2hBbGwgd2l0aCBSZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5t
YXRjaEFsbCB3aXRoIG5ldyBSZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBD
YWNoZS5tYXRjaEFsbCB3aXRoIEhFQUQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENh
Y2hlLm1hdGNoQWxsIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIG5vIHNl
YXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0
Y2hBbGwgd2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uIChyZXF1ZXN0IHdpdGggc2VhcmNoIHBhcmFt
ZXRlcnMpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaEFsbCBzdXBw
b3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1h
dGNoQWxsIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLm1hdGNoQWxsIHdpdGggVVJMIGNvbnRhaW5pbmcgZnJhZ21lbnQgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggc3RyaW5nIGZyYWdtZW50ICJo
dHRwIiBhcyBxdWVyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2hB
bGwgd2l0aG91dCBwYXJhbWV0ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNo
ZS5tYXRjaEFsbCB3aXRoIHJlc3BvbnNlcyBjb250YWluaW5nICJWYXJ5IiBoZWFkZXIgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggbXVsdGlwbGUgdmFy
eSBwYWlycyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0
aCBubyBtYXRjaGluZyBlbnRyaWVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitG
QUlMIENhY2hlLm1hdGNoQWxsIHdpdGggVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90
IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRoIG5ldyBSZXF1ZXN0IHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggSEVB
RCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3
aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBubyBzZWFyY2ggcGFyYW1ldGVy
cykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
Tm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwg
d2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uIChyZXF1ZXN0IHdpdGggc2VhcmNoIHBhcmFtZXRlcnMp
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5v
dFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHN1
cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJ
TCBDYWNoZS5tYXRjaEFsbCBzdXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggVVJMIGNvbnRhaW5pbmcgZnJh
Z21lbnQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hB
bGwgd2l0aCBzdHJpbmcgZnJhZ21lbnQgImh0dHAiIGFzIHF1ZXJ5IHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGhvdXQgcGFyYW1ldGVycyBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRo
IHJlc3BvbnNlcyBjb250YWluaW5nICJWYXJ5IiBoZWFkZXIgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBtdWx0aXBsZSB2YXJ5IHBhaXJz
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5v
dFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hl
LXN0b3JhZ2Uvd2luZG93L2NhY2hlLXB1dC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1z
dG9yYWdlL3dpbmRvdy9jYWNoZS1wdXQuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDg5ODhkODU0
NDEwNzBiYmJiMWE2NGRiYWI4YWQ3N2E4ZDJkMGFjOGYuLmY2YWFkYWViZTNkOWM1OWJmZTA4YTVj
ZjU2ZTk4NWRhM2MzMTMyNTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2Nh
Y2hlLXB1dC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cv
Y2FjaGUtcHV0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwyNSArMSwyNSBAQAogCi1GQUlMIENh
Y2hlLnB1dCBjYWxsZWQgd2l0aCBzaW1wbGUgUmVxdWVzdCBhbmQgUmVzcG9uc2UgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCBjYWxsZWQgd2l0aCBSZXF1ZXN0IGFuZCBS
ZXNwb25zZSBmcm9tIGZldGNoKCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
LnB1dCB3aXRoIFJlcXVlc3Qgd2l0aG91dCBhIGJvZHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlLnB1dCB3aXRoIFJlc3BvbnNlIHdpdGhvdXQgYSBib2R5IHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBhIFJlc3BvbnNlIGNvbnRhaW5pbmcg
YW4gZW1wdHkgVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0
aCBhbiBlbXB0eSByZXNwb25zZSBib2R5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBD
YWNoZS5wdXQgd2l0aCBzeW50aGV0aWMgMjA2IHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVu
dGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBIVFRQIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggSFRUUCA1MDAgcmVzcG9uc2UgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCBjYWxsZWQgdHdpY2Ugd2l0aCBtYXRj
aGluZyBSZXF1ZXN0cyBhbmQgZGlmZmVyZW50IFJlc3BvbnNlcyBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKLUZBSUwgQ2FjaGUucHV0IGNhbGxlZCB0d2ljZSB3aXRoIHJlcXVlc3QgVVJMcyB0aGF0
IGRpZmZlciBvbmx5IGJ5IGEgZnJhZ21lbnQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLnB1dCB3aXRoIGEgc3RyaW5nIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlLnB1dCB3aXRoIGFuIGludmFsaWQgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIGEgbm9uLUhUVFAvSFRUUFMgcmVxdWVzdCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggYSByZWxhdGl2ZSBV
UkwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIGEgbm9uLUdF
VCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBh
IG51bGwgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3
aXRoIGEgUE9TVCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5w
dXQgd2l0aCBhIHVzZWQgcmVzcG9uc2UgYm9keSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZB
SUwgZ2V0UmVhZGVyKCkgYWZ0ZXIgQ2FjaGUucHV0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgot
RkFJTCBDYWNoZS5wdXQgd2l0aCBhIFZBUlk6KiBSZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggYW4gZW1iZWRkZWQgVkFSWToqIFJlc3BvbnNlIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgc2hvdWxkIHN0b3JlIFJlc3Bv
bnNlLnJlZGlyZWN0KCkgY29ycmVjdGx5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZS5wdXQgY2FsbGVkIHdpdGggc2ltcGxlIFJlcXVlc3QgYW5kIFJlc3BvbnNlIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRl
ZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCBjYWxsZWQgd2l0aCBSZXF1
ZXN0IGFuZCBSZXNwb25zZSBmcm9tIGZldGNoKCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggUmVxdWVzdCB3aXRob3V0IGEgYm9keSBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBSZXNwb25zZSB3
aXRob3V0IGEgYm9keSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNo
ZS5wdXQgd2l0aCBhIFJlc3BvbnNlIGNvbnRhaW5pbmcgYW4gZW1wdHkgVVJMIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIGFuIGVtcHR5IHJlc3Bv
bnNlIGJvZHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0
IHdpdGggc3ludGhldGljIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBIVFRQIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJv
cjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBIVFRQIDUwMCByZXNwb25z
ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgY2FsbGVk
IHR3aWNlIHdpdGggbWF0Y2hpbmcgUmVxdWVzdHMgYW5kIGRpZmZlcmVudCBSZXNwb25zZXMgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IGNhbGxlZCB0d2lj
ZSB3aXRoIHJlcXVlc3QgVVJMcyB0aGF0IGRpZmZlciBvbmx5IGJ5IGEgZnJhZ21lbnQgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9y
dGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYSBzdHJpbmcg
cmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQg
d2l0aCBhbiBpbnZhbGlkIHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CitGQUlMIENhY2hlLnB1dCB3aXRoIGEgbm9uLUhUVFAvSFRUUFMgcmVxdWVzdCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRF
cnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBhIHJlbGF0aXZlIFVS
TCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBh
IG5vbi1HRVQgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZS5wdXQgd2l0aCBhIG51bGwgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYSBQT1NUIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYSB1c2VkIHJlc3BvbnNlIGJv
ZHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
Tm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgZ2V0UmVhZGVyKCkgYWZ0
ZXIgQ2FjaGUucHV0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hl
LnB1dCB3aXRoIGEgVkFSWToqIFJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIGFuIGVtYmVkZGVkIFZBUlk6KiBSZXNwb25zZSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgc2hvdWxkIHN0b3Jl
IFJlc3BvbnNlLnJlZGlyZWN0KCkgY29ycmVjdGx5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3Jh
Z2Uta2V5cy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNo
ZS1zdG9yYWdlLWtleXMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDFkODFlZDM0MmZjMDJlNGM2
NjgxYWQwMmQ4YzUzYzYyYjIzNDdhNzAuLmJmYTk2Y2QyYWRiY2U2NmQzNzIwODY2MmYyNzkxZGM1
OWM0ZGQ0OTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3Jh
Z2Uta2V5cy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cv
Y2FjaGUtc3RvcmFnZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAot
RkFJTCBDYWNoZVN0b3JhZ2Uga2V5cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2Fj
aGVTdG9yYWdlIGtleXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLW1hdGNo
Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBmZGVhZmU5MzY2ZTlmNTk5OTQ3ZDIwMzU5YWYwYTU3
NGIzYzJkNmYzLi5lNzgwNTA0MzU3MTQ3MTQzYzk1ZTliODQyNTYwNzk3OWVkMjBiOTNlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdl
LW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwxMyBAQAogCi1GQUlMIENhY2hl
U3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGUgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2YgbWFueSBjYWNoZXMg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIGZyb20gb25l
IG9mIG1hbnkgY2FjaGVzIGJ5IG5hbWUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENh
Y2hlU3RvcmFnZU1hdGNoIGEgc3RyaW5nIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIGEgSEVBRCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlZCBlbnRyeSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNo
ZXMgYXZhaWxhYmxlIGJ1dCBuYW1lIHByb3ZpZGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgot
RkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIGVtcHR5IGNhY2hlIG5hbWUgcHJvdmlkZWQgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIHN1cHBvcnRzIGln
bm9yZVNlYXJjaCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggc3Vw
cG9ydHMgaWdub3JlTWV0aG9kIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0
b3JhZ2VNYXRjaCBzdXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgor
RkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlIG5hbWUgcHJvdmlkZWQgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9y
dGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBv
bmUgb2YgbWFueSBjYWNoZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwg
Q2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2YgbWFueSBjYWNoZXMgYnkgbmFtZSBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBhIHN0cmlu
ZyByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3Rv
cmFnZU1hdGNoIGEgSEVBRCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CitGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGVkIGVudHJ5IHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2Fj
aGVzIGF2YWlsYWJsZSBidXQgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxl
bWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIGVtcHR5IGNhY2hlIG5hbWUgcHJv
dmlkZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdl
TWF0Y2ggc3VwcG9ydHMgaWdub3JlU2VhcmNoIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCitGQUlMIENhY2hlLm1hdGNoIHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJv
cjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBzdXBwb3J0cyBpZ25v
cmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQK
aW5kZXggMDAxZTZlMzNiZDdhYjM0ZWE3MzVhY2FkZjk0MjBjYWUxMDgyOWI2MS4uOGMzMGU2ODhh
YTA2ZDY4ZWVlYjIwZmE2M2UzNmY0MDcyNGRjNDNlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEs
MTIgKzEsMTIgQEAKIAotRkFJTCBDYWNoZVN0b3JhZ2Uub3BlbiBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0ZSBkb29tcywgYnV0IGRvZXMgbm90IGRlbGV0
ZSBpbW1lZGlhdGVseSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdl
Lm9wZW4gd2l0aCBhbiBlbXB0eSBuYW1lIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZVN0b3JhZ2Uub3BlbiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZVN0b3JhZ2UuZGVsZXRlIGRvb21zLCBidXQgZG9lcyBub3QgZGVsZXRlIGltbWVkaWF0ZWx5
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5v
dFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZS5vcGVu
IHdpdGggYW4gZW1wdHkgbmFtZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgogUEFT
UyBDYWNoZVN0b3JhZ2Uub3BlbiB3aXRoIG5vIGFyZ3VtZW50cyAKLUZBSUwgQ2FjaGVTdG9yYWdl
LmhhcyB3aXRoIGV4aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBD
YWNoZVN0b3JhZ2UuaGFzIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggZXhpc3RpbmcgY2FjaGUgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBleGlzdGlu
ZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0
ZSB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBD
YWNoZVN0b3JhZ2UgbmFtZXMgYXJlIERPTVN0cmluZ3Mgbm90IFVTVlN0cmluZ3MgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZS5oYXMgd2l0aCBleGlzdGluZyBjYWNo
ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorUEFTUyBDYWNoZVN0b3JhZ2UuaGFz
IHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgCitGQUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggZXhp
c3RpbmcgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVT
dG9yYWdlLmRlbGV0ZSB3aXRoIGV4aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCitQQVNTIENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBub25leGlzdGVudCBjYWNo
ZSAKK0ZBSUwgQ2FjaGVTdG9yYWdlIG5hbWVzIGFyZSBET01TdHJpbmdzIG5vdCBVU1ZTdHJpbmdz
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5v
dFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hl
LXN0b3JhZ2Uvd2luZG93L3NhbmRib3hlZC1pZnJhbWVzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L2NhY2hlLXN0b3JhZ2Uvd2luZG93L3NhbmRib3hlZC1pZnJhbWVzLmh0dHBzLWV4cGVjdGVkLnR4
dAppbmRleCAzMWZiYjhkZTMwNWViMzBkMWJlOWU2MDZkZjkzM2Y4YWRmZDhmYzNkLi5iYTlkMjI5
MzE4YWIzYjU5M2FiODhhMDhiN2Y3NDQ1MmY1ZjNiOWU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1z
dG9yYWdlL3dpbmRvdy9zYW5kYm94ZWQtaWZyYW1lcy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvc2FuZGJveGVkLWlmcmFtZXMuaHR0cHMtZXhwZWN0ZWQu
dHh0CkBAIC0xLDUgKzEsNSBAQAogCiAKIEZBSUwgU2FuZGJveGVkIGlmcmFtZSB3aXRoIGFsbG93
LXNhbWUtb3JpZ2luIGlzIGFsbG93ZWQgYWNjZXNzIGFzc2VydF9lcXVhbHM6IEFjY2VzcyBzaG91
bGQgYmUgYWxsb3dlZCBpZiBzYW5kYm94IGhhcyBhbGxvdy1zYW1lLW9yaWdpbiBleHBlY3RlZCAi
YWxsb3dlZCIgYnV0IGdvdCAiZGVuaWVkIgotRkFJTCBTYW5kYm94ZWQgaWZyYW1lIHdpdGhvdXQg
YWxsb3ctc2FtZS1vcmlnaW4gaXMgZGVuaWVkIGFjY2VzcyBhc3NlcnRfZXF1YWxzOiBGYWlsdXJl
IHNob3VsZCBiZSBhIFNlY3VyaXR5RXJyb3IgZXhwZWN0ZWQgIlNlY3VyaXR5RXJyb3IiIGJ1dCBn
b3QgIlR5cGVFcnJvciIKK0ZBSUwgU2FuZGJveGVkIGlmcmFtZSB3aXRob3V0IGFsbG93LXNhbWUt
b3JpZ2luIGlzIGRlbmllZCBhY2Nlc3MgYXNzZXJ0X2VxdWFsczogRmFpbHVyZSBzaG91bGQgYmUg
YSBTZWN1cml0eUVycm9yIGV4cGVjdGVkICJTZWN1cml0eUVycm9yIiBidXQgZ290ICJOb3RTdXBw
b3J0ZWRFcnJvciIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUt
YWRkLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLWFk
ZC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggNDlhNDY3ODI4ZDkxNzQyNjUxMDk1ZWM5NjYwNzBi
MjUxZjk1NDZhMi4uZWY0YjUyY2Y2NjgzNDBlMGY0YTBkNzJmZmRhMDM5NDc0NzE5M2Y0NiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtYWRkLmh0dHBzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1hZGQuaHR0cHMtZXhwZWN0
ZWQudHh0CkBAIC0xLDIwICsxLDIwIEBACiAKLUZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRoIG5v
IGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkIGNhbGxl
ZCB3aXRoIHJlbGF0aXZlIFVSTCBzcGVjaWZpZWQgYXMgYSBzdHJpbmcgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZCBjYWxsZWQgd2l0aCBub24tSFRUUC9IVFRQUyBVUkwg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZCBjYWxsZWQgd2l0aCBSZXF1
ZXN0IG9iamVjdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkIGNhbGxl
ZCB3aXRoIFBPU1QgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUu
YWRkIGNhbGxlZCB0d2ljZSB3aXRoIHRoZSBzYW1lIFJlcXVlc3Qgb2JqZWN0IHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGQgd2l0aCByZXF1ZXN0IHdpdGggbnVsbCBib2R5
IChub3QgY29uc3VtZWQpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGQg
d2l0aCAyMDYgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFk
ZEFsbCB3aXRoIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2Fj
aGUuYWRkIHdpdGggcmVxdWVzdCB0aGF0IHJlc3VsdHMgaW4gYSBzdGF0dXMgb2YgNDA0IHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGQgd2l0aCByZXF1ZXN0IHRoYXQgcmVz
dWx0cyBpbiBhIHN0YXR1cyBvZiA1MDAgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENh
Y2hlLmFkZEFsbCB3aXRoIG5vIGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZB
SUwgQ2FjaGUuYWRkQWxsIHdpdGggYSBtaXggb2YgdmFsaWQgYW5kIHVuZGVmaW5lZCBhcmd1bWVu
dHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZEFsbCB3aXRoIGFuIGVt
cHR5IGFycmF5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGRBbGwgd2l0
aCBzdHJpbmcgVVJMIGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2Fj
aGUuYWRkQWxsIHdpdGggUmVxdWVzdCBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlLmFkZEFsbCB3aXRoIGEgbWl4IG9mIHN1Y2NlZWRpbmcgYW5kIGZhaWxpbmcg
cmVxdWVzdHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZEFsbCBjYWxs
ZWQgd2l0aCB0aGUgc2FtZSBSZXF1ZXN0IG9iamVjdCBzcGVjaWZpZWQgdHdpY2UgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZCBjYWxsZWQgd2l0aCBubyBhcmd1bWVudHMg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3
aXRoIHJlbGF0aXZlIFVSTCBzcGVjaWZpZWQgYXMgYSBzdHJpbmcgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRoIG5vbi1IVFRQL0hUVFBT
IFVSTCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgY2Fs
bGVkIHdpdGggUmVxdWVzdCBvYmplY3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
K0ZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRoIFBPU1QgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjog
Tm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgY2FsbGVkIHR3aWNlIHdpdGggdGhlIHNh
bWUgUmVxdWVzdCBvYmplY3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwg
Q2FjaGUuYWRkIHdpdGggcmVxdWVzdCB3aXRoIG51bGwgYm9keSAobm90IGNvbnN1bWVkKSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgd2l0aCAyMDYgcmVz
cG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxs
IHdpdGggMjA2IHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlLmFkZCB3aXRoIHJlcXVlc3QgdGhhdCByZXN1bHRzIGluIGEgc3RhdHVzIG9mIDQwNCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgd2l0aCByZXF1
ZXN0IHRoYXQgcmVzdWx0cyBpbiBhIHN0YXR1cyBvZiA1MDAgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggbm8gYXJndW1lbnRzIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRl
ZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZEFsbCB3aXRoIGEgbWl4IG9m
IHZhbGlkIGFuZCB1bmRlZmluZWQgYXJndW1lbnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitGQUlMIENhY2hlLmFkZEFsbCB3aXRoIGFuIGVtcHR5IGFycmF5IHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZEFsbCB3aXRoIHN0cmluZyBVUkwg
YXJndW1lbnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFk
ZEFsbCB3aXRoIFJlcXVlc3QgYXJndW1lbnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCitGQUlMIENhY2hlLmFkZEFsbCB3aXRoIGEgbWl4IG9mIHN1Y2NlZWRpbmcgYW5kIGZhaWxp
bmcgcmVxdWVzdHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUu
YWRkQWxsIGNhbGxlZCB3aXRoIHRoZSBzYW1lIFJlcXVlc3Qgb2JqZWN0IHNwZWNpZmllZCB0d2lj
ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1kZWxldGUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtZGVsZXRlLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAy
ZGZhZTVjOGJjYmJkM2Q1YjA1Y2NjYzkxM2E2M2UzZTY5MmExZjcwLi5lMzNlODU4YmZkZDI3NDk1
MzA1MmUwZjYyOWFjYTRhY2EyNjBmNzYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dv
cmtlci9jYWNoZS1kZWxldGUuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3Jh
Z2Uvd29ya2VyL2NhY2hlLWRlbGV0ZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEsMTAg
QEAKIAotRkFJTCBDYWNoZS5kZWxldGUgd2l0aCBubyBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlLmRlbGV0ZSBjYWxsZWQgd2l0aCBhIHN0cmluZyBVUkwgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmRlbGV0ZSBjYWxsZWQgd2l0aCBhIFJl
cXVlc3Qgb2JqZWN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5kZWxldGUg
Y2FsbGVkIHdpdGggYSBIRUFEIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLmRlbGV0ZSBzdXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgotRkFJTCBDYWNoZS5kZWxldGUgd2l0aCBhIG5vbi1leGlzdGVudCBlbnRyeSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuZGVsZXRlIHdpdGggaWdub3JlU2VhcmNoIG9wdGlv
biAocmVxdWVzdCB3aXRoIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKLUZBSUwgQ2FjaGUuZGVsZXRlIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAod2hlbiBpdCBp
cyBzcGVjaWZpZWQgYXMgZmFsc2UpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNo
ZS5kZWxldGUgd2l0aCBubyBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKK0ZBSUwgQ2FjaGUuZGVsZXRlIGNhbGxlZCB3aXRoIGEgc3RyaW5nIFVSTCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRF
cnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5kZWxldGUgY2FsbGVkIHdpdGggYSBS
ZXF1ZXN0IG9iamVjdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNo
ZS5kZWxldGUgY2FsbGVkIHdpdGggYSBIRUFEIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuZGVsZXRlIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9y
dGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuZGVsZXRlIHdpdGggYSBub24t
ZXhpc3RlbnQgZW50cnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2Fj
aGUuZGVsZXRlIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIHNlYXJjaCBw
YXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5k
ZWxldGUgd2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uICh3aGVuIGl0IGlzIHNwZWNpZmllZCBhcyBm
YWxzZSkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
Y2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUta2V5cy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9j
YWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA3
ZTFhMzczNmQ0M2YzNzY0NGMyYTY4MDhmNDFkMjEwNGEyYTY0MGUwLi5hNThhYzliYzcyZjBhMzZh
MjVkNzg3ZmFmMDkxN2JiNzczMzA0NjQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dv
cmtlci9jYWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdl
L3dvcmtlci9jYWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwxNSArMSwxNSBAQAog
Ci1GQUlMIENhY2hlLmtleXMoKSBjYWxsZWQgb24gYW4gZW1wdHkgY2FjaGUgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmtleXMgd2l0aCBubyBtYXRjaGluZyBlbnRyaWVzIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggVVJMIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
Tm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggUmVxdWVzdCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRoIG5ldyBSZXF1ZXN0IHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
Tm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggaWdub3JlU2VhcmNoIG9wdGlv
biAocmVxdWVzdCB3aXRoIG5vIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qg
d2l0aCBzZWFyY2ggcGFyYW1ldGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENh
Y2hlLmtleXMgc3VwcG9ydHMgaWdub3JlTWV0aG9kIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgot
RkFJTCBDYWNoZS5rZXlzIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLmtleXMgd2l0aCBVUkwgY29udGFpbmluZyBmcmFnbWVudCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRoIHN0cmluZyBmcmFnbWVudCAi
aHR0cCIgYXMgcXVlcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmtleXMg
d2l0aG91dCBwYXJhbWV0ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5r
ZXlzIHdpdGggYSBIRUFEIFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENh
Y2hlLmtleXMoKSBjYWxsZWQgb24gYW4gZW1wdHkgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5cyB3aXRoIG5vIG1hdGNoaW5nIGVudHJpZXMgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5cyB3aXRoIFVSTCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGggUmVx
dWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdp
dGggbmV3IFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2Fj
aGUua2V5cyB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBubyBzZWFyY2gg
cGFyYW1ldGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUu
a2V5cyB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBzZWFyY2ggcGFyYW1l
dGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5cyBz
dXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZB
SUwgQ2FjaGUua2V5cyBzdXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCitGQUlMIENhY2hlLmtleXMgd2l0aCBVUkwgY29udGFpbmluZyBmcmFnbWVudCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGggc3Ry
aW5nIGZyYWdtZW50ICJodHRwIiBhcyBxdWVyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGhvdXQgcGFyYW1ldGVycyBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjog
Tm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGggYSBIRUFEIFJlcXVlc3QgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93b3JrZXIvY2FjaGUtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93b3JrZXIvY2FjaGUtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDU3YTUxY2Y5
YmE0OWQ5NWU3YTU3ZmI5Y2E1NWYyNmI1MDNmNjhiYzEuLmNlNmJlNTM3ZTFhZTk4NjY3ZGQ4MzFl
YzQ5ZTNmNGY4MTRmMGExMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2Nh
Y2hlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtl
ci9jYWNoZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMjIgKzEsMjIgQEAKIAotRkFJ
TCBDYWNoZS5tYXRjaCB3aXRoIG5vIG1hdGNoaW5nIGVudHJpZXMgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgotRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlLm1hdGNoIHdpdGggbXVsdGlwbGUgY2FjaGUgaGl0cyBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBuZXcgUmVxdWVzdCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBIRUFEIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGlt
cGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJl
cXVlc3Qgd2l0aCBubyBzZWFyY2ggcGFyYW1ldGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlLm1hdGNoIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRo
IHNlYXJjaCBwYXJhbWV0ZXIpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5t
YXRjaCBzdXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLm1hdGNoIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlLm1hdGNoIHdpdGggVVJMIGNvbnRhaW5pbmcgZnJhZ21lbnQgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggc3RyaW5nIGZyYWdtZW50ICJo
dHRwIiBhcyBxdWVyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2gg
d2l0aCByZXNwb25zZXMgY29udGFpbmluZyAiVmFyeSIgaGVhZGVyIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFJlcXVlc3QgYW5kIFJlc3BvbnNlIG9iamVj
dHMgd2l0aCBkaWZmZXJlbnQgVVJMcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2Fj
aGUubWF0Y2ggaW52b2tlZCBtdWx0aXBsZSB0aW1lcyBmb3IgdGhlIHNhbWUgUmVxdWVzdC9SZXNw
b25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggYmxvYiBzaG91
bGQgYmUgc2xpY2VhYmxlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRj
aCB3aXRoIFBPU1QgUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUu
bWF0Y2ggd2l0aCBhIG5vbi0yeHggUmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1G
QUlMIENhY2hlLm1hdGNoIHdpdGggYSBuZXR3b3JrIGVycm9yIFJlc3BvbnNlIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZSBwcm9kdWNlcyBsYXJnZSBSZXNwb25zZXMgdGhhdCBj
YW4gYmUgY2xvbmVkIGFuZCByZWFkIGNvcnJlY3RseS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CitGQUlMIENhY2hlLm1hdGNoIHdpdGggbm8gbWF0Y2hpbmcgZW50cmllcyBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJv
cjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFVSTCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRF
cnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFJlcXVlc3QgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBtdWx0
aXBsZSBjYWNoZSBoaXRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENh
Y2hlLm1hdGNoIHdpdGggbmV3IFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBIRUFEIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVz
dCB3aXRoIG5vIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qg
d2l0aCBzZWFyY2ggcGFyYW1ldGVyKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgor
RkFJTCBDYWNoZS5tYXRjaCBzdXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggc3VwcG9ydHMgaWdub3JlVmFyeSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFVSTCBj
b250YWluaW5nIGZyYWdtZW50IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlLm1hdGNoIHdpdGggc3RyaW5nIGZyYWdtZW50ICJodHRwIiBhcyBxdWVyeSBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIHJlc3BvbnNl
cyBjb250YWluaW5nICJWYXJ5IiBoZWFkZXIgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBSZXF1ZXN0IGFuZCBSZXNwb25zZSBvYmplY3RzIHdp
dGggZGlmZmVyZW50IFVSTHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwg
Q2FjaGUubWF0Y2ggaW52b2tlZCBtdWx0aXBsZSB0aW1lcyBmb3IgdGhlIHNhbWUgUmVxdWVzdC9S
ZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRj
aCBibG9iIHNob3VsZCBiZSBzbGljZWFibGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBQT1NUIFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBhIG5vbi0yeHggUmVzcG9uc2Ug
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBh
IG5ldHdvcmsgZXJyb3IgUmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
K0ZBSUwgQ2FjaGUgcHJvZHVjZXMgbGFyZ2UgUmVzcG9uc2VzIHRoYXQgY2FuIGJlIGNsb25lZCBh
bmQgcmVhZCBjb3JyZWN0bHkuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLW1hdGNoQWxsLmh0dHBzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLW1hdGNoQWxsLmh0dHBz
LWV4cGVjdGVkLnR4dAppbmRleCA2MmJmMzYzMzMyZTM1MWU2M2M2ZjIzZjY0OTU2NTdkNjk0NjQ4
ZGE3Li43NzA0NDg3MjI3YjM1NDkzZTQzNDYzNmNhODFmOGI2NTlhYWU4M2U4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1tYXRjaEFsbC5odHRwcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtbWF0Y2hBbGwuaHR0cHMtZXhw
ZWN0ZWQudHh0CkBAIC0xLDE2ICsxLDE2IEBACiAKLUZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBu
byBtYXRjaGluZyBlbnRyaWVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5t
YXRjaEFsbCB3aXRoIFVSTCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0
Y2hBbGwgd2l0aCBSZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5t
YXRjaEFsbCB3aXRoIG5ldyBSZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBD
YWNoZS5tYXRjaEFsbCB3aXRoIEhFQUQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENh
Y2hlLm1hdGNoQWxsIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIG5vIHNl
YXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0
Y2hBbGwgd2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uIChyZXF1ZXN0IHdpdGggc2VhcmNoIHBhcmFt
ZXRlcnMpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaEFsbCBzdXBw
b3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1h
dGNoQWxsIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLm1hdGNoQWxsIHdpdGggVVJMIGNvbnRhaW5pbmcgZnJhZ21lbnQgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggc3RyaW5nIGZyYWdtZW50ICJo
dHRwIiBhcyBxdWVyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2hB
bGwgd2l0aG91dCBwYXJhbWV0ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNo
ZS5tYXRjaEFsbCB3aXRoIHJlc3BvbnNlcyBjb250YWluaW5nICJWYXJ5IiBoZWFkZXIgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggbXVsdGlwbGUgdmFy
eSBwYWlycyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0
aCBubyBtYXRjaGluZyBlbnRyaWVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitG
QUlMIENhY2hlLm1hdGNoQWxsIHdpdGggVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90
IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRoIG5ldyBSZXF1ZXN0IHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggSEVB
RCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3
aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBubyBzZWFyY2ggcGFyYW1ldGVy
cykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
Tm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwg
d2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uIChyZXF1ZXN0IHdpdGggc2VhcmNoIHBhcmFtZXRlcnMp
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5v
dFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHN1
cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJ
TCBDYWNoZS5tYXRjaEFsbCBzdXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggVVJMIGNvbnRhaW5pbmcgZnJh
Z21lbnQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hB
bGwgd2l0aCBzdHJpbmcgZnJhZ21lbnQgImh0dHAiIGFzIHF1ZXJ5IHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGhvdXQgcGFyYW1ldGVycyBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRo
IHJlc3BvbnNlcyBjb250YWluaW5nICJWYXJ5IiBoZWFkZXIgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBtdWx0aXBsZSB2YXJ5IHBhaXJz
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5v
dFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hl
LXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXB1dC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1z
dG9yYWdlL3dvcmtlci9jYWNoZS1wdXQuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDg5ODhkODU0
NDEwNzBiYmJiMWE2NGRiYWI4YWQ3N2E4ZDJkMGFjOGYuLmY2YWFkYWViZTNkOWM1OWJmZTA4YTVj
ZjU2ZTk4NWRhM2MzMTMyNTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2Nh
Y2hlLXB1dC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIv
Y2FjaGUtcHV0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwyNSArMSwyNSBAQAogCi1GQUlMIENh
Y2hlLnB1dCBjYWxsZWQgd2l0aCBzaW1wbGUgUmVxdWVzdCBhbmQgUmVzcG9uc2UgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCBjYWxsZWQgd2l0aCBSZXF1ZXN0IGFuZCBS
ZXNwb25zZSBmcm9tIGZldGNoKCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
LnB1dCB3aXRoIFJlcXVlc3Qgd2l0aG91dCBhIGJvZHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlLnB1dCB3aXRoIFJlc3BvbnNlIHdpdGhvdXQgYSBib2R5IHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBhIFJlc3BvbnNlIGNvbnRhaW5pbmcg
YW4gZW1wdHkgVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0
aCBhbiBlbXB0eSByZXNwb25zZSBib2R5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBD
YWNoZS5wdXQgd2l0aCBzeW50aGV0aWMgMjA2IHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVu
dGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBIVFRQIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggSFRUUCA1MDAgcmVzcG9uc2UgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCBjYWxsZWQgdHdpY2Ugd2l0aCBtYXRj
aGluZyBSZXF1ZXN0cyBhbmQgZGlmZmVyZW50IFJlc3BvbnNlcyBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKLUZBSUwgQ2FjaGUucHV0IGNhbGxlZCB0d2ljZSB3aXRoIHJlcXVlc3QgVVJMcyB0aGF0
IGRpZmZlciBvbmx5IGJ5IGEgZnJhZ21lbnQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLnB1dCB3aXRoIGEgc3RyaW5nIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlLnB1dCB3aXRoIGFuIGludmFsaWQgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIGEgbm9uLUhUVFAvSFRUUFMgcmVxdWVzdCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggYSByZWxhdGl2ZSBV
UkwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIGEgbm9uLUdF
VCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBh
IG51bGwgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3
aXRoIGEgUE9TVCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5w
dXQgd2l0aCBhIHVzZWQgcmVzcG9uc2UgYm9keSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZB
SUwgZ2V0UmVhZGVyKCkgYWZ0ZXIgQ2FjaGUucHV0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgot
RkFJTCBDYWNoZS5wdXQgd2l0aCBhIFZBUlk6KiBSZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggYW4gZW1iZWRkZWQgVkFSWToqIFJlc3BvbnNlIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgc2hvdWxkIHN0b3JlIFJlc3Bv
bnNlLnJlZGlyZWN0KCkgY29ycmVjdGx5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZS5wdXQgY2FsbGVkIHdpdGggc2ltcGxlIFJlcXVlc3QgYW5kIFJlc3BvbnNlIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRl
ZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCBjYWxsZWQgd2l0aCBSZXF1
ZXN0IGFuZCBSZXNwb25zZSBmcm9tIGZldGNoKCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggUmVxdWVzdCB3aXRob3V0IGEgYm9keSBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBSZXNwb25zZSB3
aXRob3V0IGEgYm9keSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNo
ZS5wdXQgd2l0aCBhIFJlc3BvbnNlIGNvbnRhaW5pbmcgYW4gZW1wdHkgVVJMIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIGFuIGVtcHR5IHJlc3Bv
bnNlIGJvZHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0
IHdpdGggc3ludGhldGljIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBIVFRQIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJv
cjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBIVFRQIDUwMCByZXNwb25z
ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgY2FsbGVk
IHR3aWNlIHdpdGggbWF0Y2hpbmcgUmVxdWVzdHMgYW5kIGRpZmZlcmVudCBSZXNwb25zZXMgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IGNhbGxlZCB0d2lj
ZSB3aXRoIHJlcXVlc3QgVVJMcyB0aGF0IGRpZmZlciBvbmx5IGJ5IGEgZnJhZ21lbnQgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9y
dGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYSBzdHJpbmcg
cmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQg
d2l0aCBhbiBpbnZhbGlkIHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CitGQUlMIENhY2hlLnB1dCB3aXRoIGEgbm9uLUhUVFAvSFRUUFMgcmVxdWVzdCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRF
cnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBhIHJlbGF0aXZlIFVS
TCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBh
IG5vbi1HRVQgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZS5wdXQgd2l0aCBhIG51bGwgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYSBQT1NUIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYSB1c2VkIHJlc3BvbnNlIGJv
ZHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
Tm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgZ2V0UmVhZGVyKCkgYWZ0
ZXIgQ2FjaGUucHV0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hl
LnB1dCB3aXRoIGEgVkFSWToqIFJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIGFuIGVtYmVkZGVkIFZBUlk6KiBSZXNwb25zZSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgc2hvdWxkIHN0b3Jl
IFJlc3BvbnNlLnJlZGlyZWN0KCkgY29ycmVjdGx5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3Jh
Z2Uta2V5cy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNo
ZS1zdG9yYWdlLWtleXMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDFkODFlZDM0MmZjMDJlNGM2
NjgxYWQwMmQ4YzUzYzYyYjIzNDdhNzAuLmJmYTk2Y2QyYWRiY2U2NmQzNzIwODY2MmYyNzkxZGM1
OWM0ZGQ0OTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3Jh
Z2Uta2V5cy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIv
Y2FjaGUtc3RvcmFnZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAot
RkFJTCBDYWNoZVN0b3JhZ2Uga2V5cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2Fj
aGVTdG9yYWdlIGtleXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLW1hdGNo
Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBmZGVhZmU5MzY2ZTlmNTk5OTQ3ZDIwMzU5YWYwYTU3
NGIzYzJkNmYzLi5lNzgwNTA0MzU3MTQ3MTQzYzk1ZTliODQyNTYwNzk3OWVkMjBiOTNlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdl
LW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwxMyBAQAogCi1GQUlMIENhY2hl
U3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGUgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2YgbWFueSBjYWNoZXMg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIGZyb20gb25l
IG9mIG1hbnkgY2FjaGVzIGJ5IG5hbWUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENh
Y2hlU3RvcmFnZU1hdGNoIGEgc3RyaW5nIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIGEgSEVBRCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlZCBlbnRyeSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNo
ZXMgYXZhaWxhYmxlIGJ1dCBuYW1lIHByb3ZpZGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgot
RkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIGVtcHR5IGNhY2hlIG5hbWUgcHJvdmlkZWQgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIHN1cHBvcnRzIGln
bm9yZVNlYXJjaCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggc3Vw
cG9ydHMgaWdub3JlTWV0aG9kIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0
b3JhZ2VNYXRjaCBzdXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgor
RkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlIG5hbWUgcHJvdmlkZWQgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9y
dGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBv
bmUgb2YgbWFueSBjYWNoZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwg
Q2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2YgbWFueSBjYWNoZXMgYnkgbmFtZSBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBhIHN0cmlu
ZyByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3Rv
cmFnZU1hdGNoIGEgSEVBRCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CitGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGVkIGVudHJ5IHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2Fj
aGVzIGF2YWlsYWJsZSBidXQgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxl
bWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIGVtcHR5IGNhY2hlIG5hbWUgcHJv
dmlkZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdl
TWF0Y2ggc3VwcG9ydHMgaWdub3JlU2VhcmNoIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCitGQUlMIENhY2hlLm1hdGNoIHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJv
cjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBzdXBwb3J0cyBpZ25v
cmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQK
aW5kZXggMDAxZTZlMzNiZDdhYjM0ZWE3MzVhY2FkZjk0MjBjYWUxMDgyOWI2MS4uOGMzMGU2ODhh
YTA2ZDY4ZWVlYjIwZmE2M2UzNmY0MDcyNGRjNDNlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEs
MTIgKzEsMTIgQEAKIAotRkFJTCBDYWNoZVN0b3JhZ2Uub3BlbiBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0ZSBkb29tcywgYnV0IGRvZXMgbm90IGRlbGV0
ZSBpbW1lZGlhdGVseSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdl
Lm9wZW4gd2l0aCBhbiBlbXB0eSBuYW1lIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZVN0b3JhZ2Uub3BlbiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZVN0b3JhZ2UuZGVsZXRlIGRvb21zLCBidXQgZG9lcyBub3QgZGVsZXRlIGltbWVkaWF0ZWx5
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5v
dFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZS5vcGVu
IHdpdGggYW4gZW1wdHkgbmFtZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgogUEFT
UyBDYWNoZVN0b3JhZ2Uub3BlbiB3aXRoIG5vIGFyZ3VtZW50cyAKLUZBSUwgQ2FjaGVTdG9yYWdl
LmhhcyB3aXRoIGV4aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBD
YWNoZVN0b3JhZ2UuaGFzIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggZXhpc3RpbmcgY2FjaGUgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBleGlzdGlu
ZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0
ZSB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBD
YWNoZVN0b3JhZ2UgbmFtZXMgYXJlIERPTVN0cmluZ3Mgbm90IFVTVlN0cmluZ3MgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZS5oYXMgd2l0aCBleGlzdGluZyBjYWNo
ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorUEFTUyBDYWNoZVN0b3JhZ2UuaGFz
IHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgCitGQUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggZXhp
c3RpbmcgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVT
dG9yYWdlLmRlbGV0ZSB3aXRoIGV4aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCitQQVNTIENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBub25leGlzdGVudCBjYWNo
ZSAKK0ZBSUwgQ2FjaGVTdG9yYWdlIG5hbWVzIGFyZSBET01TdHJpbmdzIG5vdCBVU1ZTdHJpbmdz
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5v
dFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318093</attachid>
            <date>2017-08-14 17:37:23 -0700</date>
            <delta_ts>2017-08-14 22:24:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175455-20170814173723.patch</filename>
            <type>text/plain</type>
            <size>172769</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNzI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzFmOTA3YjY0NDhhZGVj
MzE3OTNmMTkwMjY2YjdjYWIxYzQ5Y2M0MS4uMjgxOTc3ZjVjZDEwZmZhMmE2OWU5OTRhMjdkNWQz
ZTlhY2FiNDdiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0MyBAQAorMjAxNy0wOC0xMyAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRk
aW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5
IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgIEFkZGluZyBhIENhY2hlU3RvcmFnZVByb3ZpZGVy
IGFic3RyYWN0aW9uIHRoYXQgY3JlYXRlcyBhIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uCisgICAg
ICAgIFRoZSBDYWNoZVN0b3JhZ2VQcm92aWRlciBpcyBhY2Nlc3NlZCBmcm9tIHRoZSBwYWdlIGZv
ciBEb2N1bWVudCBjYWxscy4KKyAgICAgICAgVGhlIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24gaXMg
cmVzcG9uc2libGUgdG8gaW1wbGVtZW50IHRoZSByZWFkL3dyaXRlIG9wZXJhdGlvbnMgb24gdGhl
IGNhY2hlIGRhdGFiYXNlLgorICAgICAgICBBdCB0aGUgbW9tZW50LCBpdCBkb2VzIG5vdGhpbmcg
YnV0IHJldHVybiBub3QgaW1wbGVtZW50ZWQgZXJyb3JzLgorCisgICAgICAgIEltcGxlbWVudGlu
ZyBDYWNoZVN0b3JhZ2UgQVBJcyBhbmQgQ2FjaGUgQVBJcyBiYXNlZCBvbiB0aGUgQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbiBleGNlcHQgZm9yIENhY2hlIGFkZCBhbmQgYWRkQWxsIHdoaWNoIHdpbGwg
YmUgaW1wbGVtZW50ZWQgbGF0ZXIgb24uCisgICAgICAgIENhY2hlU3RvcmFnQ29ubmVjdGlvbiBp
cyByZXNwb25zaWJsZSB0byByZWFkL3dyaXRlIENhY2hlU3RvcmFnZSBsaXN0IG9mIGNhY2hlcyBh
bmQgZWFjaCBpbmRpdmlkdWFsIGNhY2hlLgorICAgICAgICBUaGUgQ2FjaGVTdG9yYWdlQ29ubmVj
dGlvbiBpcyBhIGdlbmVyaWMgY29ubmVjdGlvbiBhbmQgbm90IHRpZWQgdG8gYW55IGRvY3VtZW50
L2NvbnRleHQuCisgICAgICAgIENhY2hlU3RvcmFnZSBvYmplY3RzIGFyZSBtYW5pcHVsYXRlZCBi
eSBwcm92aWRpbmcgdG8gdGhlIGNvbm5lY3Rpb24gdGhlIG9yaWdpbiBvZiB0aGUgY29udGV4dC4K
KyAgICAgICAgQ2FjaGVTdG9yYWdlIGFyZSBnbG9iYWwgdG8gYWxsIGNvbnRleHRzIHdpdGggdGhl
IHNhbWUgb3JpZ2luLgorICAgICAgICBDYWNoZSBvYmplY3RzIGFyZSBtYW5pcHVsYXRlZCBieSBh
biBJRCB0aGF0IGlzIGdpdmVuIGluaXRpYWxseSBieSB0aGUgQ2FjaGVTdG9yYWdlRW5naW5lIHdo
ZW4gb3BlbmluZyB0aGUgQ2FjaGUgb2JqZWN0LgorCisgICAgICAgIEFkZGluZyB2YXJpb3VzIGFj
Y2Vzc29ycyBhbmQgY29uc3RydWN0b3JzIGZvciBGZXRjaCBjb25zdHJ1Y3RzIGFzIG5lZWRlZCBi
eSB0aGUgQ2FjaGUgQVBJIGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogTW9kdWxlcy9jYWNo
ZS9DYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6Q2FjaGUpOgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGU6On5DYWNoZSk6CisgICAgICAgIFRoZSBDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uIGlzIGEgZ2VuZXJpYyBjb25uZWN0aW9uIGFuZCBub3QgdGllZCB0byBhbnkgZG9jdW1lbnQv
Y29udGV4dC4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjptYXRjaCk6IEltcGxlbWVudGF0aW9u
IG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtbWF0Y2gu
CisgICAgICAgIFJlZGlyZWN0IHRvIG1hdGNoQWxsIGFzIHBlciBzcGVjLgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGU6Om1hdGNoQWxsKTogSW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93d3cudzMu
b3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNjYWNoZS1tYXRjaEFsbC4KKyAgICAgICAgQ2hlY2tz
IGZvciByZXF1ZXN0IGFzIHBlciBzcGVjLiBUaGVuIGVpdGhlciByZWZyZXNoIHRoZSByZXF1ZXN0
IHRvIHJlc3BvbnNlIG1hcCBhbmQgcmV0dXJuIGFsbCByZXNwb25zZXMuCisgICAgICAgIE9yIGNh
bGwgdGhlIHF1ZXJ5IGNhY2hlIGFsZ29yaXRobSBhbmQgcmV0dXJuIGNvcGllcyBvZiB0aGUgcmVz
cG9uc2VzICh1c2luZyBjbG9uZSkuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6cHV0KToKKyAg
ICAgICAgQ2hlY2sgdGhlIHJlcXVlc3QgYW5kIHJlc3BvbnNlIGFzIHBlciBzcGVjLgorICAgICAg
ICBBZGQgdGVtcG9yYXJ5IHJlamVjdGlvbiBjYXNlcyAoYmVpbmcgbG9hZGVkIHJlc3BvbnNlcywg
cmVzcG9uc2VzIHdpdGggUmVhZGFibGVTdHJlYW0pIGFzIHRoZXJlIGlzIG5vIHN1cHBvcnQgZm9y
IHRoZW0gcmlnaHQgbm93LgorICAgICAgICBDYWxsIHRoZSBiYXRjaCBwdXQgb3BlcmF0aW9uLgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnJlbW92ZSk6CisgICAgICAgIENoZWNrIHRoZSByZXF1
ZXN0IGFuZCByZXNwb25zZSBhcyBwZXIgc3BlYy4KKyAgICAgICAgQ2FsbCB0aGUgYmF0Y2ggZGVs
ZXRlIG9wZXJhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjprZXlzKToKKyAgICAgICAg
UmVmcmVzaCB0aGUgcmVxdWVzdCB0byByZXNwb25zZSBtYXAgYW5kIHJldHVybiBjb3JyZXNwb25k
aW5nIHJlcXVlc3RzLgorICAgICAgICBNYWtpbmcgc3VyZSB0byByZXVzZSB0aGUgc2FtZSByZXF1
ZXN0IG9iamVjdHMgYXMgcGVyIHNwZWMuCisgICAgICAgIEFzIHBlciBzcGVjLCB0aGUgcmVxdWVz
dCB0byByZXNwb25zZSBtYXAgaXMgb3JkZXJlZC4gV2UgaW1wbGVtZW50IGl0IGFzIGEgVmVjdG9y
LgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcCk6
CisgICAgICAgIFVzZSB0aGUgY2FjaGUgc3RvcmFnZSBjb25uZWN0aW9uIHRvIGdldCBhbiB1cC10
by1kYXRlIGxpc3Qgb2YgY2FjaGVkIHJlY29yZHMuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6
cXVlcnlDYWNoZU1hdGNoKToKKyAgICAgICAgSW1wbGVtZW50cyB0aGUgbWF0Y2ggYWxnb3JpdGht
IGRlZmluZWQgaW4gaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNxdWVy
eS1jYWNoZS1hbGdvcml0aG0uCisgICAgICAgIFRoaXMgaXMgc3BsaXQgZm9yIHF1ZXJ5Q2FjaGUg
YXMgY2FjaGUgc3RvcmFnZSBlbmdpbmUgd2lsbCBuZWVkIHRvIHVzZSBpdCB3aGVuIGltcGxlbWVu
dGluZyB0aGUgZGVsZXRlIG9wZXJhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjpxdWVy
eUNhY2hlKToKKyAgICAgICAgRnVsbCBpbXBsZW1lbnRhdGlvbiBvZiBodHRwczovL3d3dy53My5v
cmcvVFIvc2VydmljZS13b3JrZXJzLTEvI3F1ZXJ5LWNhY2hlLWFsZ29yaXRobSB3aXRoIG5vIHRh
cmdldFN0b3JhZ2UgYXJndW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6cXVlcnlDYWNo
ZVdpdGhUYXJnZXRTdG9yYWdlKToKKyAgICAgICAgRnVsbCBpbXBsZW1lbnRhdGlvbiBvZiBodHRw
czovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEvI3F1ZXJ5LWNhY2hlLWFsZ29yaXRo
bSB3aXRoIGEgcHJvdmlkZWQgdGFyZ2V0U3RvcmFnZSBhcmd1bWVudC4KKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlOjpiYXRjaERlbGV0ZU9wZXJhdGlvbik6CisgICAgICAgIEltcGxlbWVudGF0aW9u
IG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jYmF0Y2gtY2FjaGUt
b3BlcmF0aW9ucy1hbGdvcml0aG0gYnV0IGRlZGljYXRlZCB0byBhIGRlbGV0ZSBvcGVyYXRpb24u
CisgICAgICAgIERlbGV0ZSBvcGVyYXRpb24gYXJlIGFsd2F5cyBkb25lIG9uZSBhdCBhIHRpbWUu
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6YmF0Y2hQdXRPcGVyYXRpb24pOgorICAgICAgICBJ
bXBsZW1lbnRhdGlvbiBvZiBodHRwczovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEv
I2JhdGNoLWNhY2hlLW9wZXJhdGlvbnMtYWxnb3JpdGhtIGRlZGljYXRlZCB0byBhIHB1dCBvcGVy
YXRpb24uCisgICAgICAgIFB1dCBvcGVyYXRpb24gdGFrZXMgb25lIHJlY29yZCBmb3IgcHV0IGJ1
dCBjYW4gdGFrZSBzZXZlcmFsIHJlY29yZHMgaW4gdGhlIGNhc2Ugb2YgYWRkQWxsLCBoZW5jZSB0
aGUgY3VycmVudCBkZXNpZ24uCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6dXBkYXRlUmVxdWVz
dFRvUmVzcG9uc2VNYXApOgorICAgICAgICBVcGRhdGUgdGhlIGNhY2hlIHJlcXVlc3QgdG8gcmVz
cG9uc2UgbWFwIGJhc2VkIG9uIHRoZSByZWNvcmRzIHJldHJpZXZlZCBmcm9tIHRoZSBjYWNoZSBz
dG9yYWdlIGNvbm5lY3Rpb24uCisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6
bmFtZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZS5pZGw6CisgICAgICAg
ICogTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVTdG9yYWdlOjpvcmlnaW4gY29uc3QpOgorICAgICAgICBDb21wdXRpbmcgdGhlIGNhY2hlIG9y
aWdpbiB0aGF0IGlzIHBhc3NlZCB0byB0aGUgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi4KKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6aGFzKToKKyAgICAgICAgSW1wbGVtZW50YXRpb24g
b2YgaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNjYWNoZS1zdG9yYWdl
LWhhcy4KKyAgICAgICAgQ2FsbCB0aGUgY2FjaGUgc3RvcmFnZSBjb25uZWN0aW9uIHRvIHJlZnJl
c2ggaXRzIGNhY2hlIG1hcC4KKyAgICAgICAgVGhlbiB1c2UgaXQgdG8gY2hlY2sgd2hldGhlciBh
IGNhY2hlIGV4aXN0cy4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6cmVmcmVzaENh
Y2hlTWFwKToKKyAgICAgICAgVXNlIHRoZSBjYWNoZSBzdG9yYWdlIGNvbm5lY3Rpb24gdG8gZ2V0
IHRoZSBsaXN0IG9mIGV4aXN0aW5nIGNhY2hlcy4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3Rv
cmFnZTo6b3Blbik6CisgICAgICAgIEltcGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9y
Zy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtc3RvcmFnZS1vcGVuLgorICAgICAgICBSZWZy
ZXNoaW5nIHRoZSBjYWNoZSBtYXAgc28gYXMgdG8gcmV0dXJuIGEgcHJlLWV4aXN0aW5nIGNhY2hl
IGlmIGFueS4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6cmVtb3ZlKToKKyAgICAg
ICAgSW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vy
cy0xLyNjYWNoZS1zdG9yYWdlLWRlbGV0ZS1tZXRob2QuCisgICAgICAgIFJlZnJlc2hpbmcgdGhl
IGNhY2hlIG1hcCBzbyBhcyB0byBkbyBub3RoaW5nIGlmIHRoZXJlIGlzIG5vIGNhY2hlIHRvIHJl
bW92ZS4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6a2V5cyk6CisgICAgICAgIElt
cGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8j
Y2FjaGUtc3RvcmFnZS1rZXlzLW1ldGhvZC4KKyAgICAgICAgUmVmcmVzaGluZyB0aGUgY2FjaGUg
bWFwIGFuZCByZXR1cm5pbiBpdHMga2V5cy4KKyAgICAgICAgQXMgcGVyIHNwZWMsIHRoZSBjYWNo
ZSBtYXAgaXMgb3JkZXJlZC4gV2UgaW1wbGVtZW50IGl0IGFzIGEgVmVjdG9yLgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpjYWNoZU1hcCk6CisgICAgICAgIEdldCB0aGUgbGlzdCBv
ZiBjYWNoZSBvYmplY3RzLCB1c2VkIGFzIGEgcHJpdmF0ZSBhY2Nlc3NvciBmb3IgSlMgYnVpbHQt
aW5zLgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZVN0b3JhZ2U6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0
b3JhZ2U6OkNhY2hlU3RvcmFnZSk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uOjpleGNlcHRpb25Gcm9tRXJyb3IpOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUv
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oOiBBZGRlZC4KKyAgICAgICAgTWFrZXMgdGhlIGxpbmsg
YmV0d2VlbiBXZWIgZmFjaW5nIENhY2hlIEFQSSBhbmQgdGhlIGNhY2hlIHN0b3JhZ2UgZW5naW5l
LgorICAgICAgICBFbnZpc2lvbmVkIGltcGxlbWVudGF0aW9uIGFyZToKKyAgICAgICAgLSBPbmUg
bWFpbiB0aHJlYWQgY29ubmVjdGlvbiB1c2VkIGJ5IGFsbCBkb2N1bWVudHMgaW4gdGhlIGdpdmVu
IHByb2Nlc3MuCisgICAgICAgIC0gT25lIGNvbm5lY3Rpb24gcGVyIHdvcmtlciB0aGF0IGZvcndh
cmRzIHRoZSBjYWxscyB0byB0aGUgbWFpbiB0aHJlYWQgYW5kIHVzZSB0aGUgbWFpbiB0aHJlYWQg
Y29ubmVjdGlvbiBhZnRlcndhcmRzLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29u
bmVjdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5lY3Rp
b246Om9wZW4pOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6cmVt
b3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246OnJlZnJlc2hD
YWNoZU1hcCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpyZWZy
ZXNoUmVxdWVzdFRvUmVzcG9uc2VNYXApOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdl
Q29ubmVjdGlvbjo6YmF0Y2hEZWxldGVPcGVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbjo6YmF0Y2hQdXRPcGVyYXRpb24pOgorICAgICAgICAqIE1vZHVs
ZXMvY2FjaGUvQ2FjaGVTdG9yYWdlUmVjb3JkLmg6IEFkZGVkLiBBIGZldGNoIHJlY29yZCBmcm9t
IHRoZSBXZWIgZmFjaW5nIGNhY2hlIEFQSSBwZXJzcGVjdGl2ZS4KKyAgICAgICAgKiBNb2R1bGVz
L2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3dD
YWNoZXM6OmNhY2hlcyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9i
YWxTY29wZUNhY2hlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUNh
Y2hlczo6ZnJvbSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6
Y2FjaGVzIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3Bl
Q2FjaGVzLmg6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6V29y
a2VyR2xvYmFsU2NvcGVDYWNoZXMpOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5
T3duZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoQm9keU93bmVyOjppc1JlYWRhYmxlU3Ry
ZWFtQm9keSBjb25zdCk6IEFkZGVkIGdldHRlciBhcyBpdCBpcyB1c2VkIGJ5IGNhY2hlIEFQSS4K
KyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5oOgorICAgICAgICAoV2ViQ29y
ZTo6RmV0Y2hIZWFkZXJzOjpjcmVhdGUpOiBBZGQgYW5vdGhlciBjcmVhdGUgYXMgdXNlZCBieSB0
aGUgY2FjaGUgQVBJLgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpndWFyZCBjb25z
dCk6IEFkZGVkIGdldHRlciBhbmQgSVBDIHNlcmlhbGl6ZXIgYXMgdGhpcyBpcyBzb21ldGhpbmcg
dGhhdCB3aWxsIGJlIHN0b3JlZCBieSB0aGUgY2FjaGUgZW5naW5lLgorICAgICAgICAqIE1vZHVs
ZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hMb2FkZXI6
OnN0YXJ0KToKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpidWlsZE9wdGlvbnMpOiBJbiBjYXNlIEZldGNoUmVxdWVzdDo6Y3JlYXRl
IGlzIGNhbGxlZCBmcm9tIEMrKywgdGhlcmUgaXMgbm8gbmVlZCB0byBzZXQgaW5pdC53aW5kb3cg
dG8gYSBudWxsIHZhbHVlLgorICAgICAgICBBZGQgYSBjaGVjayBzbyB0aGF0IG5vIHZhbHVlIGF0
IGFsbCBpcyB0aGUgc2FtZSBhcyBhIG51bGwvdW5kZWZpbmVkIHZhbHVlLgorICAgICAgICAoV2Vi
Q29yZTo6RmV0Y2hSZXF1ZXN0OjpyZXNvdXJjZVJlcXVlc3QgY29uc3QpOgorICAgICAgICAqIE1v
ZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0Lmg6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRj
aFJlc3BvbnNlLmg6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvck92ZXJsYXk6Om92ZXJsYXlQYWdlKToKKyAgICAgICAgKiBwYWdlL0Nh
Y2hlU3RvcmFnZVByb3ZpZGVyLmg6IEFkZGVkLgorICAgICAgICBJbnRlcmZhY2UgdG8gY3JlYXRl
IG1haW4gdGhyZWFkIGNhY2hlIHN0b3JhZ2UgY29ubmVjdGlvbiBmb3IgdGhlIGdpdmVuIHBhZ2Uu
CisgICAgICAgIFRoZXJlIHdpbGwgYmUgb25lIHByb3ZpZGVyIGZvciBlYWNoIHByb2Nlc3MuCisg
ICAgICAgIFBhc3NpbmcgYSBzZXNzaW9uSUQgc28gdGhhdCB3ZSB3aWxsIGNyZWF0ZSBhIGNvbm5l
Y3Rpb24gcGVyIHNlc3Npb24uCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBhZ2U6OlBhZ2UpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UGFnZTo6Y2FjaGVTdG9yYWdlUHJvdmlkZXIpOgorICAgICAgICAqIHBhZ2UvUGFnZUNv
bmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbmZpZ3VyYXRpb246OlBh
Z2VDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0aW9uLmg6Cisg
ICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0ltYWdlOjpkYXRhQ2hhbmdlZCk6CisKIDIwMTctMDgtMTQgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBQYXJzZSBmb250LWRpc3BsYXkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
aW5kZXggNDc1ZDhkOTI3NGRmNDI5YTkwYjA5NmZjMjQwNDEyZWE2ODRhNzQxZC4uNTY3MzQ1OTI3
ODc0NzA2M2ExMDZjZGFjZDIwMDRkYzZhNWU3MmZiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBA
QAorMjAxNy0wOC0xMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAg
ICAgW0NhY2hlIEFQSV0gQWRkaW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFu
ZCBDYWNoZSBtZXRob2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzU0NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdl
YlByb2Nlc3MvQ2FjaGUvV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaDogQWRkZWQuCisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjptX2Nw
dUxpbWl0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlByb2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6Y2FjaGVTdG9yYWdlUHJv
dmlkZXIpOgorCiAyMDE3LTA4LTE0ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbQXBwbGUgUGF5XSBBZGQgc3VwcG9ydCBmb3IgcGhvbmV0aWMgY29udGFjdCBuYW1l
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDlkOGEzZWQ3ZGJmZjNiY2QyNWFmZmFk
YWJmMTg2YmI1MmU2N2ViNzguLmRjNWE0YjQyMjRkOWU5M2Q2NzY2ZjM1YzZlYmMxYTk1ODBhMTUx
ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0w
OC0xMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hl
IEFQSV0gQWRkaW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBt
ZXRob2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzU0NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6
YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpdKToKKwogMjAxNy0wOC0xMyAgTWFudWVsIFJl
Z28gQ2FzYXNub3ZhcyAgPHJlZ29AaWdhbGlhLmNvbT4KIAogICAgICAgICBDb21wb3NpdGlvbiB1
bmRlcmxpbmUgY29sb3IgaXMgYWx3YXlzIGJsYWNrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cK
aW5kZXggN2M1YmVhMTJiOTk2MzhiNGJhNTY1OTA3Zjc4OTQ3YWViMjk0YjUxNC4uZmM4N2Q0OTRm
MjA0ODBmZjQwZDEyMWEzM2QyNTVhODM2YjRiMjBlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE3LTA4LTEzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KKworICAgICAgICBbQ2FjaGUgQVBJXSBBZGRpbmcgZ2VuZXJpYyBzdXBwb3J0
IGZvciBDYWNoZVN0b3JhZ2UgYW5kIENhY2hlIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTQ1NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJW
aWV3Ojppbml0V2l0aEZyYW1lKToKKwogMjAxNy0wOC0xMyAgTWFudWVsIFJlZ28gQ2FzYXNub3Zh
cyAgPHJlZ29AaWdhbGlhLmNvbT4KIAogICAgICAgICBDb21wb3NpdGlvbiB1bmRlcmxpbmUgY29s
b3IgaXMgYWx3YXlzIGJsYWNrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGUzZjRjOTJiNjk4OGM4
OWUyNzkxODZjZTJmYTM0NzMwNDIwNmU3YjIuLjAyOWUyNzVjNDU5YmY4OTdhNTAxZGE1MGEzODll
OGEyZDhkNzRkOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC05MDAsNiArOTAwLDcgQEAgc2V0
KFdlYkNvcmVfU09VUkNFUwogCiAgICAgTW9kdWxlcy9jYWNoZS9DYWNoZS5jcHAKICAgICBNb2R1
bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5jcHAKKyAgICBNb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFn
ZUNvbm5lY3Rpb24uY3BwCiAgICAgTW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwCiAg
ICAgTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmNwcAppbmRleCBlMTlhZjU1MDI5NTY0ZDk1NzQ1NDJiM2Vi
MzM0ODQzMjM4M2Y2N2Q1Li42NjQ0MjM0NGZiZjNiZTU1ZTdiZGIxNzM1MjBiZGIxZDY2NWNiNDQy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmNwcApAQCAtMjYsNDEgKzI2LDM0
MCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkNhY2hlLmgiCiAKKyNpbmNsdWRl
ICJDYWNoZVF1ZXJ5T3B0aW9ucy5oIgorI2luY2x1ZGUgIkZldGNoUmVzcG9uc2UuaCIKKyNpbmNs
dWRlICJKU0ZldGNoUmVxdWVzdC5oIgorI2luY2x1ZGUgIkpTRmV0Y2hSZXNwb25zZS5oIgorI2lu
Y2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlICJVUkwuaCIKKwogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi12b2lkIENhY2hlOjptYXRjaChSZXF1ZXN0SW5mbyYmLCBzdGQ6
Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHBy
b21pc2UpCitDYWNoZTo6Q2FjaGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgU3Ry
aW5nJiYgbmFtZSwgdWludDY0X3QgaWRlbnRpZmllciwgUmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rp
b24+JiYgY29ubmVjdGlvbikKKyAgICA6IEFjdGl2ZURPTU9iamVjdCgmY29udGV4dCkKKyAgICAs
IG1fbmFtZShXVEZNb3ZlKG5hbWUpKQorICAgICwgbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCisg
ICAgLCBtX2Nvbm5lY3Rpb24oV1RGTW92ZShjb25uZWN0aW9uKSkKIHsKLSAgICBwcm9taXNlLT5y
ZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRl
ZCIpfSk7CisgICAgc3VzcGVuZElmTmVlZGVkKCk7CiB9CiAKLXZvaWQgQ2FjaGU6Om1hdGNoQWxs
KHN0ZDo6b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9w
dGlvbnM+JiYsIE1hdGNoQWxsUHJvbWlzZSYmIHByb21pc2UpCitDYWNoZTo6fkNhY2hlKCkKIHsK
LSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgi
Tm90IGltcGxlbWVudGVkIil9KTsKK30KKwordm9pZCBDYWNoZTo6bWF0Y2goUmVxdWVzdEluZm8m
JiBpbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIFJlZjxEZWZlcnJlZFByb21pc2U+
JiYgcHJvbWlzZSkKK3sKKyAgICBkb01hdGNoKFdURk1vdmUoaW5mbyksIFdURk1vdmUob3B0aW9u
cyksIFdURk1vdmUocHJvbWlzZSksIE1hdGNoVHlwZTo6T25seUZpcnN0KTsKK30KKwordm9pZCBD
YWNoZTo6bWF0Y2hBbGwoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4mJiBpbmZvLCBDYWNoZVF1
ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sK
KyAgICBkb01hdGNoKFdURk1vdmUoaW5mbyksIFdURk1vdmUob3B0aW9ucyksIFdURk1vdmUocHJv
bWlzZSksIE1hdGNoVHlwZTo6QWxsKTsKK30KKwordm9pZCBDYWNoZTo6ZG9NYXRjaChzdGQ6Om9w
dGlvbmFsPFJlcXVlc3RJbmZvPiYmIGluZm8sIENhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywg
UmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlLCBNYXRjaFR5cGUgbWF0Y2hUeXBlKQorewor
ICAgIFJlZlB0cjxGZXRjaFJlcXVlc3Q+IHJlcXVlc3Q7CisgICAgaWYgKGluZm8pIHsKKyAgICAg
ICAgaWYgKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8u
dmFsdWUoKSkpIHsKKyAgICAgICAgICAgIHJlcXVlc3QgPSBXVEY6OmdldDxSZWZQdHI8RmV0Y2hS
ZXF1ZXN0Pj4oaW5mby52YWx1ZSgpKS5yZWxlYXNlTm9uTnVsbCgpOworICAgICAgICAgICAgaWYg
KHJlcXVlc3QtPm1ldGhvZCgpICE9ICJHRVQiICYmICFvcHRpb25zLmlnbm9yZU1ldGhvZCkgewor
ICAgICAgICAgICAgICAgIGlmIChtYXRjaFR5cGUgPT0gTWF0Y2hUeXBlOjpPbmx5Rmlyc3QpIHsK
KyAgICAgICAgICAgICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZSgpOworICAgICAgICAgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHByb21pc2Ut
PnJlc29sdmU8SURMU2VxdWVuY2U8SURMSW50ZXJmYWNlPEZldGNoUmVzcG9uc2U+Pj4oVmVjdG9y
PFJlZjxGZXRjaFJlc3BvbnNlPj4geyB9KTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAoVU5MSUtFTFkoIXNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICAgICAgcmVxdWVzdCA9IEZldGNoUmVxdWVzdDo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCksIFdURk1vdmUoaW5mby52YWx1ZSgpKSwgeyB9KS5yZWxlYXNlUmV0dXJuVmFsdWUoKTsK
KyAgICAgICAgfQorICAgIH0KKworICAgIGlmICghcmVxdWVzdCkgeworICAgICAgICBBU1NFUlQo
bWF0Y2hUeXBlID09IE1hdGNoVHlwZTo6QWxsKTsKKyAgICAgICAgcmV0cmlldmVSZWNvcmRzKFt0
aGlzLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSB7CisgICAgICAgICAgICBWZWN0b3I8
UmVmPEZldGNoUmVzcG9uc2U+PiByZXNwb25zZXM7CisgICAgICAgICAgICByZXNwb25zZXMucmVz
ZXJ2ZUluaXRpYWxDYXBhY2l0eShtX3JlY29yZHMuc2l6ZSgpKTsKKyAgICAgICAgICAgIGZvciAo
YXV0byYgcmVjb3JkIDogbV9yZWNvcmRzKQorICAgICAgICAgICAgICAgIHJlc3BvbnNlcy51bmNo
ZWNrZWRBcHBlbmQocmVjb3JkLnJlc3BvbnNlLT5jbG9uZUZvckpTKCkpOworICAgICAgICAgICAg
cHJvbWlzZS0+cmVzb2x2ZTxJRExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8RmV0Y2hSZXNwb25zZT4+
PihyZXNwb25zZXMpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBx
dWVyeUNhY2hlKHJlcXVlc3QucmVsZWFzZU5vbk51bGwoKSwgV1RGTW92ZShvcHRpb25zKSwgW21h
dGNoVHlwZSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKGNvbnN0IFZlY3RvcjxDYWNoZVN0
b3JhZ2VSZWNvcmQ+JiByZWNvcmRzKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKG1hdGNoVHlwZSA9
PSBNYXRjaFR5cGU6Ok9ubHlGaXJzdCkgeworICAgICAgICAgICAgaWYgKHJlY29yZHMuc2l6ZSgp
KSB7CisgICAgICAgICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExJbnRlcmZhY2U8RmV0Y2hS
ZXNwb25zZT4+KHJlY29yZHNbMF0ucmVzcG9uc2UtPmNsb25lRm9ySlMoKSk7CisgICAgICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcHJvbWlzZS0+cmVzb2x2
ZSgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgVmVjdG9yPFJl
ZjxGZXRjaFJlc3BvbnNlPj4gcmVzcG9uc2VzOworICAgICAgICByZXNwb25zZXMucmVzZXJ2ZUlu
aXRpYWxDYXBhY2l0eShyZWNvcmRzLnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0byYgcmVjb3Jk
IDogcmVjb3JkcykKKyAgICAgICAgICAgIHJlc3BvbnNlcy51bmNoZWNrZWRBcHBlbmQocmVjb3Jk
LnJlc3BvbnNlLT5jbG9uZUZvckpTKCkpOworICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElETFNl
cXVlbmNlPElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4+KHJlc3BvbnNlcyk7CisgICAgfSk7
CiB9CiAKIHZvaWQgQ2FjaGU6OmFkZChSZXF1ZXN0SW5mbyYmLCBET01Qcm9taXNlRGVmZXJyZWQ8
dm9pZD4mJiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVF
cnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHByb21pc2UucmVq
ZWN0KEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBs
ZW1lbnRlZCIpfSk7CiB9CiAKIHZvaWQgQ2FjaGU6OmFkZEFsbChWZWN0b3I8UmVxdWVzdEluZm8+
JiYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS5y
ZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRl
ZCIpfSk7CisgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3Is
IEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKK30KKwordm9pZCBDYWNoZTo6cHV0
KFJlcXVlc3RJbmZvJiYgaW5mbywgUmVmPEZldGNoUmVzcG9uc2U+JiYgcmVzcG9uc2UsIERPTVBy
b21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCit7CisgICAgUmVmUHRyPEZldGNoUmVxdWVz
dD4gcmVxdWVzdDsKKyAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWZQdHI8RmV0Y2hS
ZXF1ZXN0Pj4oaW5mbykpIHsKKyAgICAgICAgcmVxdWVzdCA9IFdURjo6Z2V0PFJlZlB0cjxGZXRj
aFJlcXVlc3Q+PihpbmZvKS5yZWxlYXNlTm9uTnVsbCgpOworICAgICAgICBpZiAocmVxdWVzdC0+
bWV0aG9kKCkgIT0gIkdFVCIpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlv
biB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJSZXF1ZXN0IG1ldGhvZCBpcyBub3QgR0VUIikg
fSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAg
ICBpZiAoVU5MSUtFTFkoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkpCisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZSgqc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLCBXVEZNb3ZlKGluZm8pLCB7IH0pLnJlbGVhc2VSZXR1cm5WYWx1ZSgp
OworICAgIH0KKworICAgIGlmICghcHJvdG9jb2xJc0luSFRUUEZhbWlseShyZXF1ZXN0LT51cmwo
KSkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJ
SUxpdGVyYWwoIlJlcXVlc3QgdXJsIGlzIG5vdCBIVFRQL0hUVFBTIikgfSk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICBhdXRvIHZhcnlWYWx1ZSA9IHJlc3BvbnNlLT5oZWFkZXJzKCku
aW50ZXJuYWxIZWFkZXJzKCkuZ2V0KFdlYkNvcmU6OkhUVFBIZWFkZXJOYW1lOjpWYXJ5KTsKKyAg
ICBib29sIGhhc1ZhcnlIZWFkZXJTdGFyID0gZmFsc2U7CisgICAgdmFyeVZhbHVlLnNwbGl0KCcs
JywgZmFsc2UsIFsmXShTdHJpbmdWaWV3IHZpZXcpIHsKKyAgICAgICAgaWYgKCFoYXNWYXJ5SGVh
ZGVyU3RhciAmJiB2aWV3ID09ICIqIikKKyAgICAgICAgICAgIGhhc1ZhcnlIZWFkZXJTdGFyID0g
dHJ1ZTsKKyAgICB9KTsKKworICAgIGlmIChoYXNWYXJ5SGVhZGVyU3RhcikgeworICAgICAgICBw
cm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiUmVzcG9u
c2UgaGFzIGEgJyonIFZhcnkgaGVhZGVyIHZhbHVlIikgfSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBpZiAocmVzcG9uc2UtPmlzRGlzdHVyYmVkKCkpIHsKKyAgICAgICAgcHJvbWlz
ZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIlJlc3BvbnNlIGlz
IGRpc3R1cmJlZCBvciBsb2NrZWQiKSB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IGlmIChyZXNwb25zZS0+c3RhdHVzKCkgPT0gMjA2KSB7CisgICAgICAgIHByb21pc2UucmVqZWN0
KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJSZXNwb25zZSBpcyBhIDIwNiBw
YXJ0aWFsIikgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyBGSVhNRTogQWRk
IHN1cHBvcnQgZm9yIGJlaW5nIGxvYWRlZCByZXNwb25zZXMuCisgICAgaWYgKHJlc3BvbnNlLT5p
c0xvYWRpbmcoKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBOb3RTdXBw
b3J0ZWRFcnJvciwgQVNDSUlMaXRlcmFsKCJDYWNoaW5nIGEgbG9hZGluZyBSZXNwb25zZSBpcyBu
b3QgeWV0IHN1cHBvcnRlZCIpIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8g
RklYTUU6IEFkZCBzdXBwb3J0IGZvciBSZWFkYWJsZVN0cmVhbS4KKyAgICBpZiAocmVzcG9uc2Ut
PmlzUmVhZGFibGVTdHJlYW1Cb2R5KCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0
aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQ2FjaGluZyBhIFJlc3BvbnNl
IHdpdGggZGF0YSBzdG9yZWQgaW4gYSBSZWFkYWJsZVN0cmVhbSBpcyBub3QgeWV0IHN1cHBvcnRl
ZCIpIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYmF0Y2hQdXRPcGVyYXRpb24o
KnJlcXVlc3QsIHJlc3BvbnNlLmdldCgpLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKENh
Y2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yIGVycm9yKSBtdXRhYmxlIHsKKyAgICAgICAgaWYg
KGVycm9yICE9IENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yOjpOb25lKSB7CisgICAgICAg
ICAgICBwcm9taXNlLnJlamVjdChDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpleGNlcHRpb25Gcm9t
RXJyb3IoZXJyb3IpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBw
cm9taXNlLnJlc29sdmUoKTsKKyAgICB9KTsKK30KKwordm9pZCBDYWNoZTo6cmVtb3ZlKFJlcXVl
c3RJbmZvJiYgaW5mbywgQ2FjaGVRdWVyeU9wdGlvbnMmJiBvcHRpb25zLCBET01Qcm9taXNlRGVm
ZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQoreworICAgIFJlZlB0cjxGZXRjaFJlcXVlc3Q+
IHJlcXVlc3Q7CisgICAgaWYgKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmUHRyPEZldGNoUmVx
dWVzdD4+KGluZm8pKSB7CisgICAgICAgIHJlcXVlc3QgPSBXVEY6OmdldDxSZWZQdHI8RmV0Y2hS
ZXF1ZXN0Pj4oaW5mbykucmVsZWFzZU5vbk51bGwoKTsKKyAgICAgICAgaWYgKHJlcXVlc3QtPm1l
dGhvZCgpICE9ICJHRVQiICYmICFvcHRpb25zLmlnbm9yZU1ldGhvZCkgeworICAgICAgICAgICAg
cHJvbWlzZS5yZXNvbHZlKGZhbHNlKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQor
ICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChVTkxJS0VMWSghc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgcmVxdWVzdCA9IEZldGNoUmVxdWVz
dDo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFdURk1vdmUoaW5mbyksIHsgfSku
cmVsZWFzZVJldHVyblZhbHVlKCk7CisgICAgfQorCisgICAgYmF0Y2hEZWxldGVPcGVyYXRpb24o
KnJlcXVlc3QsIFdURk1vdmUob3B0aW9ucyksIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0o
Ym9vbCBkaWREZWxldGUsIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yIGVycm9yKSBtdXRh
YmxlIHsKKyAgICAgICAgaWYgKGVycm9yICE9ICBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJv
cjo6Tm9uZSkgeworICAgICAgICAgICAgcHJvbWlzZS5yZWplY3QoQ2FjaGVTdG9yYWdlQ29ubmVj
dGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9yKGVycm9yKSk7CisgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIH0KKyAgICAgICAgcHJvbWlzZS5yZXNvbHZlKGRpZERlbGV0ZSk7CisgICAgfSk7Cit9
CisKK3ZvaWQgQ2FjaGU6OmtleXMoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4mJiBpbmZvLCBD
YWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIEtleXNQcm9taXNlJiYgcHJvbWlzZSkKK3sKKyAg
ICBSZWZQdHI8RmV0Y2hSZXF1ZXN0PiByZXF1ZXN0OworICAgIGlmIChpbmZvKSB7CisgICAgICAg
IGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvLnZh
bHVlKCkpKSB7CisgICAgICAgICAgICByZXF1ZXN0ID0gV1RGOjpnZXQ8UmVmUHRyPEZldGNoUmVx
dWVzdD4+KGluZm8udmFsdWUoKSkucmVsZWFzZU5vbk51bGwoKTsKKyAgICAgICAgICAgIGlmIChy
ZXF1ZXN0LT5tZXRob2QoKSAhPSAiR0VUIiAmJiAhb3B0aW9ucy5pZ25vcmVNZXRob2QpIHsKKyAg
ICAgICAgICAgICAgICBwcm9taXNlLnJlc29sdmUoVmVjdG9yPFJlZjxGZXRjaFJlcXVlc3Q+PiB7
IH0pOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWSghc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
KSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICByZXF1ZXN0ID0gRmV0Y2hS
ZXF1ZXN0OjpjcmVhdGUoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgV1RGTW92ZShpbmZvLnZh
bHVlKCkpLCB7IH0pLnJlbGVhc2VSZXR1cm5WYWx1ZSgpOworICAgICAgICB9CisgICAgfQorCisg
ICAgaWYgKCFyZXF1ZXN0KSB7CisgICAgICAgIHJldHJpZXZlUmVjb3JkcyhbdGhpcywgcHJvbWlz
ZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgICAgICBWZWN0b3I8UmVm
PEZldGNoUmVxdWVzdD4+IHJlcXVlc3RzOworICAgICAgICAgICAgcmVxdWVzdHMucmVzZXJ2ZUlu
aXRpYWxDYXBhY2l0eShtX3JlY29yZHMuc2l6ZSgpKTsKKyAgICAgICAgICAgIGZvciAoYXV0byYg
cmVjb3JkIDogbV9yZWNvcmRzKQorICAgICAgICAgICAgICAgIHJlcXVlc3RzLnVuY2hlY2tlZEFw
cGVuZChyZWNvcmQucmVxdWVzdC5jb3B5UmVmKCkpOworICAgICAgICAgICAgcHJvbWlzZS5yZXNv
bHZlKHJlcXVlc3RzKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBxdWVyeUNhY2hlKHJlcXVlc3QucmVsZWFzZU5vbk51bGwoKSwgV1RGTW92ZShvcHRpb25zKSwg
W3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShjb25zdCBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVj
b3JkPiYgcmVjb3JkcykgbXV0YWJsZSB7CisgICAgICAgIFZlY3RvcjxSZWY8RmV0Y2hSZXF1ZXN0
Pj4gcmVxdWVzdHM7CisgICAgICAgIHJlcXVlc3RzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkocmVj
b3Jkcy5zaXplKCkpOworICAgICAgICBmb3IgKGF1dG8mIHJlY29yZCA6IHJlY29yZHMpCisgICAg
ICAgICAgICByZXF1ZXN0cy51bmNoZWNrZWRBcHBlbmQocmVjb3JkLnJlcXVlc3QuY29weVJlZigp
KTsKKyAgICAgICAgcHJvbWlzZS5yZXNvbHZlKHJlcXVlc3RzKTsKKyAgICB9KTsKK30KKwordm9p
ZCBDYWNoZTo6cmV0cmlldmVSZWNvcmRzKFdURjo6RnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNr
KQoreworICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICBtX2Nvbm5lY3Rpb24tPnJl
dHJpZXZlUmVjb3JkcyhtX2lkZW50aWZpZXIsIFt0aGlzLCBjYWxsYmFjayA9IFdURk1vdmUoY2Fs
bGJhY2spXShWZWN0b3I8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6UmVjb3JkPiYmIHJlY29yZHMp
IHsKKyAgICAgICAgaWYgKCFtX2lzU3RvcHBlZCkgeworICAgICAgICAgICAgdXBkYXRlUmVjb3Jk
cyhXVEZNb3ZlKHJlY29yZHMpKTsKKyAgICAgICAgICAgIGNhbGxiYWNrKCk7CisgICAgICAgIH0K
KyAgICAgICAgdW5zZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgfSk7Cit9CisKK3ZvaWQg
Q2FjaGU6OnF1ZXJ5Q2FjaGUoUmVmPEZldGNoUmVxdWVzdD4mJiByZXF1ZXN0LCBDYWNoZVF1ZXJ5
T3B0aW9ucyYmIG9wdGlvbnMsIFdURjo6RnVuY3Rpb248dm9pZChjb25zdCBWZWN0b3I8Q2FjaGVT
dG9yYWdlUmVjb3JkPiYpPiYmIGNhbGxiYWNrKQoreworICAgIHJldHJpZXZlUmVjb3JkcyhbdGhp
cywgcmVxdWVzdCA9IFdURk1vdmUocmVxdWVzdCksIG9wdGlvbnMgPSBXVEZNb3ZlKG9wdGlvbnMp
LCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSgpIG11dGFibGUgeworICAgICAgICBjYWxs
YmFjayhxdWVyeUNhY2hlV2l0aFRhcmdldFN0b3JhZ2UocmVxdWVzdC5nZXQoKSwgb3B0aW9ucywg
bV9yZWNvcmRzKSk7CisgICAgfSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgYm9vbCBxdWVyeUNhY2hl
TWF0Y2goY29uc3QgRmV0Y2hSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBGZXRjaFJlcXVlc3QmIGNh
Y2hlZFJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGNhY2hlZFJlc3BvbnNlLCBjb25z
dCBDYWNoZVF1ZXJ5T3B0aW9ucyYgb3B0aW9ucykKK3sKKyAgICAvLyBXZSBuZWVkIHRvIHBhc3Mg
dGhlIHJlc291cmNlIHJlcXVlc3Qgd2l0aCBhbGwgY29ycmVjdCBoZWFkZXJzIGhlbmNlIHdoeSB3
ZSBjYWxsIHJlc291cmNlUmVxdWVzdCgpLgorICAgIHJldHVybiBDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uOjpxdWVyeUNhY2hlTWF0Y2gocmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKSwgY2FjaGVkUmVx
dWVzdC5yZXNvdXJjZVJlcXVlc3QoKSwgY2FjaGVkUmVzcG9uc2UsIG9wdGlvbnMpOworfQorCitW
ZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiBDYWNoZTo6cXVlcnlDYWNoZVdpdGhUYXJnZXRTdG9y
YWdlKGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgQ2FjaGVRdWVyeU9wdGlvbnMm
IG9wdGlvbnMsIGNvbnN0IFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+JiB0YXJnZXRTdG9yYWdl
KQoreworICAgIGlmICghb3B0aW9ucy5pZ25vcmVNZXRob2QgJiYgcmVxdWVzdC5tZXRob2QoKSAh
PSAiR0VUIikKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIFZlY3RvcjxDYWNoZVN0b3JhZ2VS
ZWNvcmQ+IHJlY29yZHM7CisgICAgZm9yIChhdXRvJiByZWNvcmQgOiB0YXJnZXRTdG9yYWdlKSB7
CisgICAgICAgIGlmIChxdWVyeUNhY2hlTWF0Y2gocmVxdWVzdCwgcmVjb3JkLnJlcXVlc3QuZ2V0
KCksIHJlY29yZC5yZXNwb25zZS0+cmVzb3VyY2VSZXNwb25zZSgpLCBvcHRpb25zKSkKKyAgICAg
ICAgICAgIHJlY29yZHMuYXBwZW5kKHsgcmVjb3JkLmlkZW50aWZpZXIsIHJlY29yZC5yZXF1ZXN0
LmNvcHlSZWYoKSwgcmVjb3JkLnJlc3BvbnNlLmNvcHlSZWYoKSB9KTsKKyAgICB9CisgICAgcmV0
dXJuIHJlY29yZHM7Cit9CisKK3ZvaWQgQ2FjaGU6OmJhdGNoRGVsZXRlT3BlcmF0aW9uKGNvbnN0
IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgQ2FjaGVRdWVyeU9wdGlvbnMmJiBvcHRpb25zLCBXVEY6
OkZ1bmN0aW9uPHZvaWQoYm9vbCBkaWRSZW1vdmFsLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpF
cnJvciBlcnJvcik+JiYgY2FsbGJhY2spCit7CisgICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMp
OworICAgIG1fY29ubmVjdGlvbi0+YmF0Y2hEZWxldGVPcGVyYXRpb24obV9pZGVudGlmaWVyLCBy
ZXF1ZXN0LmludGVybmFsUmVxdWVzdCgpLCBXVEZNb3ZlKG9wdGlvbnMpLCBbdGhpcywgY2FsbGJh
Y2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oVmVjdG9yPHVpbnQ2NF90PiYmIHJlY29yZHMsIENhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OkVycm9yIGVycm9yKSB7CisgICAgICAgIGlmICghbV9pc1N0b3Bw
ZWQpIHsKKyAgICAgICAgICAgIGlmIChlcnJvciA9PSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpF
cnJvcjo6Tm9uZSkKKyAgICAgICAgICAgICAgICBtX3JlY29yZHMucmVtb3ZlQWxsTWF0Y2hpbmco
WyZdKGNvbnN0IGF1dG8mIGl0ZW0pIHsgcmV0dXJuIHJlY29yZHMuY29udGFpbnMoaXRlbS5pZGVu
dGlmaWVyKTsgfSk7CisKKyAgICAgICAgICAgIGNhbGxiYWNrKCFyZWNvcmRzLmlzRW1wdHkoKSwg
ZXJyb3IpOworICAgICAgICB9CisgICAgICAgIHVuc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOwor
ICAgIH0pOworfQorCitzdGF0aWMgaW5saW5lIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlY29y
ZCB0b0Nvbm5lY3Rpb25SZWNvcmQoY29uc3QgRmV0Y2hSZXF1ZXN0JiByZXF1ZXN0LCBGZXRjaFJl
c3BvbnNlJiByZXNwb25zZSkKK3sKKyAgICAvLyBGSVhNRTogQWRkIGEgc2V0SFRUUEhlYWRlckZp
ZWxkcyBvbiBSZXNvdXJjZVJlc3BvbnNlQmFzZS4KKyAgICBSZXNvdXJjZVJlc3BvbnNlIGNhY2hl
ZFJlc3BvbnNlID0gcmVzcG9uc2UucmVzb3VyY2VSZXNwb25zZSgpOworICAgIGZvciAoYXV0byYg
aGVhZGVyIDogcmVzcG9uc2UuaGVhZGVycygpLmludGVybmFsSGVhZGVycygpKQorICAgICAgICBj
YWNoZWRSZXNwb25zZS5zZXRIVFRQSGVhZGVyRmllbGQoaGVhZGVyLmtleSwgaGVhZGVyLnZhbHVl
KTsKKworICAgIFJlc291cmNlUmVxdWVzdCBjYWNoZWRSZXF1ZXN0ID0gcmVxdWVzdC5pbnRlcm5h
bFJlcXVlc3QoKTsKKyAgICBjYWNoZWRSZXF1ZXN0LnNldEhUVFBIZWFkZXJGaWVsZHMocmVxdWVz
dC5oZWFkZXJzKCkuaW50ZXJuYWxIZWFkZXJzKCkpOworCisgICAgcmV0dXJuIHsgMCwKKyAgICAg
ICAgcmVxdWVzdC5oZWFkZXJzKCkuZ3VhcmQoKSwgV1RGTW92ZShjYWNoZWRSZXF1ZXN0KSwgcmVx
dWVzdC5mZXRjaE9wdGlvbnMoKSwgcmVxdWVzdC5pbnRlcm5hbFJlcXVlc3RSZWZlcnJlcigpLAor
ICAgICAgICByZXNwb25zZS5oZWFkZXJzKCkuZ3VhcmQoKSwgV1RGTW92ZShjYWNoZWRSZXNwb25z
ZSkKKyAgICB9OworfQorCit2b2lkIENhY2hlOjpiYXRjaFB1dE9wZXJhdGlvbihjb25zdCBGZXRj
aFJlcXVlc3QmIHJlcXVlc3QsIEZldGNoUmVzcG9uc2UmIHJlc3BvbnNlLCBXVEY6OkZ1bmN0aW9u
PHZvaWQoQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IpPiYmIGNhbGxiYWNrKQoreworICAg
IFZlY3RvcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQ+IHJlY29yZHM7CisgICAgcmVj
b3Jkcy5hcHBlbmQodG9Db25uZWN0aW9uUmVjb3JkKHJlcXVlc3QsIHJlc3BvbnNlKSk7CisKKyAg
ICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgbV9jb25uZWN0aW9uLT5iYXRjaFB1dE9w
ZXJhdGlvbihtX2lkZW50aWZpZXIsIFdURk1vdmUocmVjb3JkcyksIFt0aGlzLCBjYWxsYmFjayA9
IFdURk1vdmUoY2FsbGJhY2spXShWZWN0b3I8dWludDY0X3Q+JiYsIENhY2hlU3RvcmFnZUNvbm5l
Y3Rpb246OkVycm9yIGVycm9yKSB7CisgICAgICAgIGlmICghbV9pc1N0b3BwZWQpCisgICAgICAg
ICAgICBjYWxsYmFjayhlcnJvcik7CisKKyAgICAgICAgdW5zZXRQZW5kaW5nQWN0aXZpdHkodGhp
cyk7CisgICAgfSk7Cit9CisKK3ZvaWQgQ2FjaGU6OnVwZGF0ZVJlY29yZHMoVmVjdG9yPENhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OlJlY29yZD4mJiByZWNvcmRzKQoreworICAgIEFTU0VSVChzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCkpOworICAgIFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+IG5l
d1JlY29yZHM7CisKKyAgICBmb3IgKGF1dG8mIHJlY29yZCA6IHJlY29yZHMpIHsKKyAgICAgICAg
c2l6ZV90IGluZGV4ID0gbV9yZWNvcmRzLmZpbmRNYXRjaGluZyhbJl0oY29uc3QgYXV0byYgaXRl
bSkgeyByZXR1cm4gaXRlbS5pZGVudGlmaWVyID09IHJlY29yZC5pZGVudGlmaWVyOyB9KTsKKyAg
ICAgICAgaWYgKGluZGV4ICE9IG5vdEZvdW5kKQorICAgICAgICAgICAgbmV3UmVjb3Jkcy5hcHBl
bmQoV1RGTW92ZShtX3JlY29yZHNbaW5kZXhdKSk7CisgICAgICAgIGVsc2UgeworICAgICAgICAg
ICAgYXV0byByZXF1ZXN0SGVhZGVycyA9IEZldGNoSGVhZGVyczo6Y3JlYXRlKHJlY29yZC5yZXF1
ZXN0SGVhZGVyc0d1YXJkLCBIVFRQSGVhZGVyTWFwIHsgcmVjb3JkLnJlcXVlc3QuaHR0cEhlYWRl
ckZpZWxkcygpIH0pOworICAgICAgICAgICAgRmV0Y2hSZXF1ZXN0OjpJbnRlcm5hbFJlcXVlc3Qg
aW50ZXJuYWxSZXF1ZXN0ID0geyBXVEZNb3ZlKHJlY29yZC5yZXF1ZXN0KSwgV1RGTW92ZShyZWNv
cmQub3B0aW9ucyksIFdURk1vdmUocmVjb3JkLnJlZmVycmVyKSB9OworICAgICAgICAgICAgYXV0
byByZXF1ZXN0ID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSwgc3RkOjpudWxsb3B0LCBXVEZNb3ZlKHJlcXVlc3RIZWFkZXJzKSwgV1RGTW92ZShpbnRlcm5h
bFJlcXVlc3QpKTsKKworICAgICAgICAgICAgYXV0byByZXNwb25zZUhlYWRlcnMgPSBGZXRjaEhl
YWRlcnM6OmNyZWF0ZShyZWNvcmQucmVzcG9uc2VIZWFkZXJzR3VhcmQsIEhUVFBIZWFkZXJNYXAg
eyByZWNvcmQucmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkcygpIH0pOworICAgICAgICAgICAgYXV0
byByZXNwb25zZSA9IEZldGNoUmVzcG9uc2U6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLCBzdGQ6Om51bGxvcHQsIFdURk1vdmUocmVzcG9uc2VIZWFkZXJzKSwgV1RGTW92ZShyZWNv
cmQucmVzcG9uc2UpKTsKKworICAgICAgICAgICAgbmV3UmVjb3Jkcy5hcHBlbmQoQ2FjaGVTdG9y
YWdlUmVjb3JkIHsgcmVjb3JkLmlkZW50aWZpZXIsIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUo
cmVzcG9uc2UpIH0pOworICAgICAgICB9CisgICAgfQorICAgIG1fcmVjb3JkcyA9IFdURk1vdmUo
bmV3UmVjb3Jkcyk7CiB9CiAKLXZvaWQgQ2FjaGU6OnB1dChSZXF1ZXN0SW5mbyYmLCBSZWY8RmV0
Y2hSZXNwb25zZT4mJiwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlzZSkKK3ZvaWQg
Q2FjaGU6OnN0b3AoKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJv
ciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIG1faXNTdG9wcGVkID0g
dHJ1ZTsKIH0KIAotdm9pZCBDYWNoZTo6cmVtb3ZlKFJlcXVlc3RJbmZvJiYsIHN0ZDo6b3B0aW9u
YWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYm
IHByb21pc2UpCitjb25zdCBjaGFyKiBDYWNoZTo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0
CiB7Ci0gICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVy
YWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgcmV0dXJuICJDYWNoZSI7CiB9CiAKLXZvaWQg
Q2FjaGU6OmtleXMoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4mJiwgc3RkOjpvcHRpb25hbDxD
YWNoZVF1ZXJ5T3B0aW9ucz4mJiwgS2V5c1Byb21pc2UmJiBwcm9taXNlKQorYm9vbCBDYWNoZTo6
Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0CiB7Ci0gICAgcHJvbWlzZS5y
ZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRl
ZCIpfSk7CisgICAgcmV0dXJuICFtX3JlY29yZHMuc2l6ZSgpICYmICFoYXNQZW5kaW5nQWN0aXZp
dHkoKTsKIH0KIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0Nh
Y2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmgKaW5kZXggMDA4MmFj
ZDU1NmRkZjVkZWU5Zjc1MDY2NWMyZjRlOWViOWRkOTY1ZS4uZDk5MWEyMzU1NzAxM2E0NTA4YmY1
NDA2MDdmMWE5MWE5Y2ZkOTJjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9j
YWNoZS9DYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaApA
QCAtMjUsMzYgKzI1LDYxIEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiRmV0Y2hSZXF1
ZXN0LmgiCisjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCisjaW5jbHVkZSAiQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIkNhY2hlU3RvcmFnZVJlY29yZC5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEZldGNoUmVzcG9uc2U7CitjbGFzcyBDYWNoZVF1ZXJ5
T3B0aW9uczsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLXN0cnVjdCBDYWNoZVF1
ZXJ5T3B0aW9uczsKLQotY2xhc3MgQ2FjaGUgOiBwdWJsaWMgUmVmQ291bnRlZDxDYWNoZT4gewor
Y2xhc3MgQ2FjaGUgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxDYWNoZT4sIHB1YmxpYyBBY3Rp
dmVET01PYmplY3QgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8Q2FjaGU+IGNyZWF0ZShTdHJp
bmcmJiBuYW1lKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IENhY2hlKFdURk1vdmUobmFtZSkpKTsg
fQorICAgIHN0YXRpYyBSZWY8Q2FjaGU+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0LCBTdHJpbmcmJiBuYW1lLCB1aW50NjRfdCBpZGVudGlmaWVyLCBSZWY8Q2FjaGVTdG9y
YWdlQ29ubmVjdGlvbj4mJiBjb25uZWN0aW9uKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IENhY2hl
KGNvbnRleHQsIFdURk1vdmUobmFtZSksIGlkZW50aWZpZXIsIFdURk1vdmUoY29ubmVjdGlvbikp
KTsgfQorICAgIH5DYWNoZSgpOwogCiAgICAgdXNpbmcgUmVxdWVzdEluZm8gPSBGZXRjaFJlcXVl
c3Q6OkluZm87CiAKLSAgICB1c2luZyBNYXRjaEFsbFByb21pc2UgPSBET01Qcm9taXNlRGVmZXJy
ZWQ8SURMU2VxdWVuY2U8SURMSW50ZXJmYWNlPEZldGNoUmVzcG9uc2U+Pj47CiAgICAgdXNpbmcg
S2V5c1Byb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMU2VxdWVuY2U8SURMSW50ZXJmYWNl
PEZldGNoUmVxdWVzdD4+PjsKIAotICAgIHZvaWQgbWF0Y2goUmVxdWVzdEluZm8mJiwgc3RkOjpv
cHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7Ci0g
ICAgdm9pZCBtYXRjaEFsbChzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZvPiYmLCBzdGQ6Om9wdGlv
bmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBNYXRjaEFsbFByb21pc2UmJik7CisgICAgdm9pZCBt
YXRjaChSZXF1ZXN0SW5mbyYmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBSZWY8RGVmZXJyZWRQcm9t
aXNlPiYmKTsKKyAgICB2b2lkIG1hdGNoQWxsKHN0ZDo6b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYs
IENhY2hlUXVlcnlPcHRpb25zJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwogICAgIHZvaWQg
YWRkKFJlcXVlc3RJbmZvJiYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKTsKIAogICAgIHZv
aWQgYWRkQWxsKFZlY3RvcjxSZXF1ZXN0SW5mbz4mJiwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+
JiYpOwogICAgIHZvaWQgcHV0KFJlcXVlc3RJbmZvJiYsIFJlZjxGZXRjaFJlc3BvbnNlPiYmLCBE
T01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJik7Ci0gICAgdm9pZCByZW1vdmUoUmVxdWVzdEluZm8m
Jiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgRE9NUHJvbWlzZURlZmVycmVk
PElETEJvb2xlYW4+JiYpOwotICAgIHZvaWQga2V5cyhzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZv
PiYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBLZXlzUHJvbWlzZSYmKTsK
KyAgICB2b2lkIHJlbW92ZShSZXF1ZXN0SW5mbyYmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBET01Q
cm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJik7CisgICAgdm9pZCBrZXlzKHN0ZDo6b3B0aW9u
YWw8UmVxdWVzdEluZm8+JiYsIENhY2hlUXVlcnlPcHRpb25zJiYsIEtleXNQcm9taXNlJiYpOwor
CisgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9CisgICAg
dWludDY0X3QgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQogCiBw
cml2YXRlOgotICAgIGV4cGxpY2l0IENhY2hlKFN0cmluZyYmIG5hbWUpIDogbV9uYW1lKFdURk1v
dmUobmFtZSkpIHsgfQorICAgIENhY2hlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBTdHJpbmcm
JiBuYW1lLCB1aW50NjRfdCBpZGVudGlmaWVyLCBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4m
Jik7CisKKyAgICBlbnVtIGNsYXNzIE1hdGNoVHlwZSB7IEFsbCwgT25seUZpcnN0IH07CisgICAg
dm9pZCBkb01hdGNoKHN0ZDo6b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYsIENhY2hlUXVlcnlPcHRp
b25zJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYsIE1hdGNoVHlwZSk7CisKKyAgICAvLyBBY3Rp
dmVET01PYmplY3QKKyAgICB2b2lkIHN0b3AoKSBmaW5hbDsKKyAgICBjb25zdCBjaGFyKiBhY3Rp
dmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7CisgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9j
dW1lbnRTdXNwZW5zaW9uKCkgY29uc3QgZmluYWw7CisKKyAgICB2b2lkIHJldHJpZXZlUmVjb3Jk
cyhXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJik7CisgICAgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29y
ZD4gcXVlcnlDYWNoZVdpdGhUYXJnZXRTdG9yYWdlKGNvbnN0IEZldGNoUmVxdWVzdCYsIGNvbnN0
IENhY2hlUXVlcnlPcHRpb25zJiwgY29uc3QgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4mKTsK
KyAgICB2b2lkIHF1ZXJ5Q2FjaGUoUmVmPEZldGNoUmVxdWVzdD4mJiwgQ2FjaGVRdWVyeU9wdGlv
bnMmJiwgV1RGOjpGdW5jdGlvbjx2b2lkKGNvbnN0IFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+
Jik+JiYpOworICAgIHZvaWQgYmF0Y2hEZWxldGVPcGVyYXRpb24oY29uc3QgRmV0Y2hSZXF1ZXN0
JiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgV1RGOjpGdW5jdGlvbjx2b2lkKGJvb2wgZGlkUmVtb3Zh
bCwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IpPiYmKTsKKyAgICB2b2lkIGJhdGNoUHV0
T3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYsIEZldGNoUmVzcG9uc2UmLCBXVEY6OkZ1bmN0
aW9uPHZvaWQoQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IpPiYmKTsKKworICAgIHZvaWQg
dXBkYXRlUmVjb3JkcyhWZWN0b3I8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6UmVjb3JkPiYmKTsK
IAogICAgIFN0cmluZyBtX25hbWU7CisgICAgdWludDY0X3QgbV9pZGVudGlmaWVyOworICAgIFJl
ZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CisKKyAgICBWZWN0b3I8Q2Fj
aGVTdG9yYWdlUmVjb3JkPiBtX3JlY29yZHM7CisgICAgYm9vbCBtX2lzU3RvcHBlZCB7IGZhbHNl
IH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvQ2FjaGUuaWRsCmluZGV4IGQ0Nzk2OTE1NWQyMGE0ZjdiZmEzOGE2ZGMwYjJkZjMyMjU2YTk0
ZTAuLjFlN2RmNmNhZDIzNGM4MGE2NTI4NDJhYmQ4ODM4YmI2OWY3MWFiNzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaWRsCkBAIC0yOSw3ICsyOSw2IEBAIHR5cGVkZWYgKEZl
dGNoUmVxdWVzdCBvciBVU1ZTdHJpbmcpIFJlcXVlc3RJbmZvOwogICAgIFNlY3VyZUNvbnRleHQs
CiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCiAgICAgRW5hYmxlZEF0UnVudGltZT1DYWNo
ZUFQSSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogXSBpbnRlcmZhY2UgQ2FjaGUg
ewogICAgIFtOZXdPYmplY3RdIFByb21pc2U8YW55PiBtYXRjaChSZXF1ZXN0SW5mbyByZXF1ZXN0
LCBvcHRpb25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsKICAgICBbTmV3T2JqZWN0XSBQ
cm9taXNlPHNlcXVlbmNlPEZldGNoUmVzcG9uc2U+PiBtYXRjaEFsbChvcHRpb25hbCBSZXF1ZXN0
SW5mbyByZXF1ZXN0LCBvcHRpb25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmNwcAppbmRleCAxMjM2N2Jl
OTY2ZTFlM2EyOGE5ZTI5ZGJmZTRiODNiZDVhY2RlY2M2Li5hMGMyOWRlOWJkNDIzYmU1YTI0NGQ2
YmRjMTg3MTRlMThlNmZjOTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nh
Y2hlL0NhY2hlU3RvcmFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9D
YWNoZVN0b3JhZ2UuY3BwCkBAIC0yNiwzMSArMjYsMTQ2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlLmgiCiAKKyNpbmNsdWRlICJDYWNoZVF1ZXJ5T3B0aW9u
cy5oIgorI2luY2x1ZGUgIkpTQ2FjaGUuaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250
ZXh0LmgiCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdm9pZCBDYWNoZVN0b3JhZ2U6Om1hdGNo
KFJlcXVlc3RJbmZvJiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIFJlZjxE
ZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK0NhY2hlU3RvcmFnZTo6Q2FjaGVTdG9yYWdlKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
PiYmIGNvbm5lY3Rpb24pCisgICAgOiBBY3RpdmVET01PYmplY3QoJmNvbnRleHQpCisgICAgLCBt
X2Nvbm5lY3Rpb24oV1RGTW92ZShjb25uZWN0aW9uKSkKK3sKKyAgICBzdXNwZW5kSWZOZWVkZWQo
KTsKK30KKworU3RyaW5nIENhY2hlU3RvcmFnZTo6b3JpZ2luKCkgY29uc3QKK3sKKyAgICAvLyBG
SVhNRTogRG8gd2UgcmVhbGx5IG5lZWQgdG8gY2hlY2sgZm9yIG9yaWdpbiBiZWluZyBudWxsPwor
ICAgIGF1dG8qIG9yaWdpbiA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSA/IHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKSA6IG51bGxwdHI7CisgICAgcmV0dXJuIG9y
aWdpbiA/IG9yaWdpbi0+dG9TdHJpbmcoKSA6IFN0cmluZygpOworfQorCit2b2lkIENhY2hlU3Rv
cmFnZTo6bWF0Y2goQ2FjaGU6OlJlcXVlc3RJbmZvJiYsIENhY2hlUXVlcnlPcHRpb25zJiYsIFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKIHsKLSAgICBwcm9taXNlLT5yZWplY3QoRXhj
ZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7Cisg
ICAgcHJvbWlzZS0+cmVqZWN0KEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yLCBBU0NJSUxp
dGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CiB9CiAKLXZvaWQgQ2FjaGVTdG9yYWdlOjpoYXMo
Y29uc3QgU3RyaW5nJiwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkK
K3ZvaWQgQ2FjaGVTdG9yYWdlOjpoYXMoY29uc3QgU3RyaW5nJiBuYW1lLCBET01Qcm9taXNlRGVm
ZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2Vw
dGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAg
IHJldHJpZXZlQ2FjaGVzKFt0aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0o
KSBtdXRhYmxlIHsKKyAgICAgICAgcHJvbWlzZS5yZXNvbHZlKG1fY2FjaGVzLmZpbmRNYXRjaGlu
ZyhbJl0oYXV0byYgaXRlbSkgeyByZXR1cm4gaXRlbS0+bmFtZSgpID09IG5hbWU7IH0pICE9IG5v
dEZvdW5kKTsKKyAgICB9KTsKK30KKwordm9pZCBDYWNoZVN0b3JhZ2U6OnJldHJpZXZlQ2FjaGVz
KFdURjo6RnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQoreworICAgIFN0cmluZyBvcmlnaW4g
PSB0aGlzLT5vcmlnaW4oKTsKKyAgICBpZiAob3JpZ2luLmlzTnVsbCgpKQorICAgICAgICByZXR1
cm47CisKKyAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgbV9jb25uZWN0aW9uLT5y
ZXRyaWV2ZUNhY2hlcyhvcmlnaW4sIFt0aGlzLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2sp
XShWZWN0b3I8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6Q2FjaGVJbmZvPiYmIGNhY2hlc0luZm8p
IHsKKyAgICAgICAgaWYgKCFtX2lzU3RvcHBlZCkgeworICAgICAgICAgICAgQVNTRVJUKHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSk7CisgICAgICAgICAgICBtX2NhY2hlcy5yZW1vdmVBbGxNYXRj
aGluZyhbJl0oYXV0byYgY2FjaGUpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gY2FjaGVzSW5m
by5maW5kTWF0Y2hpbmcoWyZdKGNvbnN0IGF1dG8mIGluZm8pIHsgcmV0dXJuIGluZm8uaWRlbnRp
ZmllciA9PSBjYWNoZS0+aWRlbnRpZmllcigpOyB9KSA9PSBub3RGb3VuZDsKKyAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgZm9yIChhdXRvJiBpbmZvIDogY2FjaGVzSW5mbykgeworICAgICAg
ICAgICAgICAgIGlmIChtX2NhY2hlcy5maW5kTWF0Y2hpbmcoWyZdKGNvbnN0IGF1dG8mIGNhY2hl
KSB7IHJldHVybiBpbmZvLmlkZW50aWZpZXIgPT0gY2FjaGUtPmlkZW50aWZpZXIoKTsgfSkgPT0g
bm90Rm91bmQpCisgICAgICAgICAgICAgICAgICAgIG1fY2FjaGVzLmFwcGVuZChDYWNoZTo6Y3Jl
YXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFdURk1vdmUoaW5mby5uYW1lKSwgaW5mby5p
ZGVudGlmaWVyLCBtX2Nvbm5lY3Rpb24uY29weVJlZigpKSk7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIHN0ZDo6c29ydChtX2NhY2hlcy5iZWdpbigpLCBtX2NhY2hlcy5lbmQoKSwgWyZd
KGF1dG8mIGEsIGF1dG8mIGIpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gYS0+aWRlbnRpZmll
cigpIDwgYi0+aWRlbnRpZmllcigpOworICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIGNh
bGxiYWNrKCk7CisgICAgICAgIH0KKyAgICAgICAgdW5zZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7
CisgICAgfSk7CiB9CiAKLXZvaWQgQ2FjaGVTdG9yYWdlOjpvcGVuKGNvbnN0IFN0cmluZyYsIERP
TVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8Q2FjaGU+PiYmIHByb21pc2UpCit2b2lkIENh
Y2hlU3RvcmFnZTo6b3Blbihjb25zdCBTdHJpbmcmIG5hbWUsIERPTVByb21pc2VEZWZlcnJlZDxJ
RExJbnRlcmZhY2U8Q2FjaGU+PiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS5yZWplY3QoRXhj
ZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7Cisg
ICAgcmV0cmlldmVDYWNoZXMoW3RoaXMsIG5hbWUsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2Up
XSgpIG11dGFibGUgeworICAgICAgICBhdXRvIHBvc2l0aW9uID0gbV9jYWNoZXMuZmluZE1hdGNo
aW5nKFsmXShhdXRvJiBpdGVtKSB7IHJldHVybiBpdGVtLT5uYW1lKCkgPT0gbmFtZTsgfSk7Cisg
ICAgICAgIGlmIChwb3NpdGlvbiAhPSBub3RGb3VuZCkgeworICAgICAgICAgICAgYXV0byYgY2Fj
aGUgPSBtX2NhY2hlc1twb3NpdGlvbl07CisgICAgICAgICAgICBwcm9taXNlLnJlc29sdmUoQ2Fj
aGU6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBTdHJpbmcgeyBjYWNoZS0+bmFt
ZSgpIH0sIGNhY2hlLT5pZGVudGlmaWVyKCksIG1fY29ubmVjdGlvbi5jb3B5UmVmKCkpKTsKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIFN0cmluZyBvcmlnaW4gPSB0
aGlzLT5vcmlnaW4oKTsKKyAgICAgICAgQVNTRVJUKCFvcmlnaW4uaXNOdWxsKCkpOworCisgICAg
ICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICAgICAgbV9jb25uZWN0aW9uLT5vcGVu
KG9yaWdpbiwgbmFtZSwgW3RoaXMsIG5hbWUsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSh1
aW50NjRfdCBjYWNoZUlkZW50aWZpZXIsIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yIGVy
cm9yKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlmICghbV9pc1N0b3BwZWQpIHsKKyAgICAgICAg
ICAgICAgICBpZiAoZXJyb3IgIT0gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3I6Ok5vbmUp
CisgICAgICAgICAgICAgICAgICAgIHByb21pc2UucmVqZWN0KENhY2hlU3RvcmFnZUNvbm5lY3Rp
b246OmV4Y2VwdGlvbkZyb21FcnJvcihlcnJvcikpOworICAgICAgICAgICAgICAgIGVsc2Ugewor
ICAgICAgICAgICAgICAgICAgICBhdXRvIGNhY2hlID0gQ2FjaGU6OmNyZWF0ZSgqc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLCBTdHJpbmcgeyBuYW1lIH0sIGNhY2hlSWRlbnRpZmllciwgbV9jb25u
ZWN0aW9uLmNvcHlSZWYoKSk7CisgICAgICAgICAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShj
YWNoZSk7CisgICAgICAgICAgICAgICAgICAgIG1fY2FjaGVzLmFwcGVuZChXVEZNb3ZlKGNhY2hl
KSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgdW5zZXRQ
ZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgICAgIH0pOworICAgIH0pOwogfQogCi12b2lkIENh
Y2hlU3RvcmFnZTo6cmVtb3ZlKGNvbnN0IFN0cmluZyYsIERPTVByb21pc2VEZWZlcnJlZDxJRExC
b29sZWFuPiYmIHByb21pc2UpCit2b2lkIENhY2hlU3RvcmFnZTo6cmVtb3ZlKGNvbnN0IFN0cmlu
ZyYgbmFtZSwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKIHsKLSAg
ICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90
IGltcGxlbWVudGVkIil9KTsKKyAgICByZXRyaWV2ZUNhY2hlcyhbdGhpcywgbmFtZSwgcHJvbWlz
ZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgIGF1dG8gcG9zaXRpb24g
PSBtX2NhY2hlcy5maW5kTWF0Y2hpbmcoWyZdKGF1dG8mIGl0ZW0pIHsgcmV0dXJuIGl0ZW0tPm5h
bWUoKSA9PSBuYW1lOyB9KTsKKyAgICAgICAgaWYgKHBvc2l0aW9uID09IG5vdEZvdW5kKSB7Cisg
ICAgICAgICAgICBwcm9taXNlLnJlc29sdmUoZmFsc2UpOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CisKKyAgICAgICAgU3RyaW5nIG9yaWdpbiA9IHRoaXMtPm9yaWdpbigpOworICAg
ICAgICBBU1NFUlQoIW9yaWdpbi5pc051bGwoKSk7CisKKyAgICAgICAgc2V0UGVuZGluZ0FjdGl2
aXR5KHRoaXMpOworICAgICAgICBtX2Nvbm5lY3Rpb24tPnJlbW92ZShtX2NhY2hlc1twb3NpdGlv
bl0tPmlkZW50aWZpZXIoKSwgW3RoaXMsIG5hbWUsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2Up
XSh1aW50NjRfdCBjYWNoZUlkZW50aWZpZXIsIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9y
IGVycm9yKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIFVOVVNFRF9QQVJBTShjYWNoZUlkZW50aWZp
ZXIpOworICAgICAgICAgICAgaWYgKCFtX2lzU3RvcHBlZCkgeworICAgICAgICAgICAgICAgIGlm
IChlcnJvciAhPSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJvcjo6Tm9uZSkKKyAgICAgICAg
ICAgICAgICAgICAgcHJvbWlzZS5yZWplY3QoQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0
aW9uRnJvbUVycm9yKGVycm9yKSk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgICAgICBwcm9taXNlLnJlc29sdmUodHJ1ZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICAgICAgfSk7CisgICAgICAgIG1fY2Fj
aGVzLnJlbW92ZShwb3NpdGlvbik7CisgICAgfSk7CiB9CiAKIHZvaWQgQ2FjaGVTdG9yYWdlOjpr
ZXlzKEtleXNQcm9taXNlJiYgcHJvbWlzZSkKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRp
b24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICBy
ZXRyaWV2ZUNhY2hlcyhbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJs
ZSB7CisgICAgICAgIFZlY3RvcjxTdHJpbmc+IGtleXM7CisgICAgICAgIGtleXMucmVzZXJ2ZUlu
aXRpYWxDYXBhY2l0eShtX2NhY2hlcy5zaXplKCkpOworICAgICAgICBmb3IgKGF1dG8mIGNhY2hl
IDogbV9jYWNoZXMpCisgICAgICAgICAgICBrZXlzLnVuY2hlY2tlZEFwcGVuZChjYWNoZS0+bmFt
ZSgpKTsKKyAgICAgICAgcHJvbWlzZS5yZXNvbHZlKGtleXMpOworICAgIH0pOworfQorCit2b2lk
IENhY2hlU3RvcmFnZTo6c3RvcCgpCit7CisgICAgbV9pc1N0b3BwZWQgPSB0cnVlOworfQorCitj
b25zdCBjaGFyKiBDYWNoZVN0b3JhZ2U6OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAorewor
ICAgIHJldHVybiAiQ2FjaGVTdG9yYWdlIjsKK30KKworYm9vbCBDYWNoZVN0b3JhZ2U6OmNhblN1
c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAoreworICAgIHJldHVybiAhaGFzUGVu
ZGluZ0FjdGl2aXR5KCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5oCmluZGV4IGZhMjY5MDAwMzZjMzI2NzM2
NjIxZmNiODM3Yzc3NzFlYWE4ZDgyMjMuLjI2MTdlMjU4NTJjNmVhZTY3MDlmNzhkMGNmY2M1MzY2
YzdiZjg2YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVT
dG9yYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2Uu
aApAQCAtMjUsMjkgKzI1LDQyIEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQ2FjaGUu
aCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiRmV0Y2hS
ZXF1ZXN0LmgiCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jbGFzcyBDYWNoZTsKK2NsYXNzIENhY2hlUXVlcnlPcHRpb25zOworY2xhc3MgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dDsKIAotc3RydWN0IENhY2hlUXVlcnlPcHRpb25zOwotCi1jbGFzcyBD
YWNoZVN0b3JhZ2UgOiBwdWJsaWMgUmVmQ291bnRlZDxDYWNoZVN0b3JhZ2U+IHsKK2NsYXNzIENh
Y2hlU3RvcmFnZSA6IHB1YmxpYyBSZWZDb3VudGVkPENhY2hlU3RvcmFnZT4sIHB1YmxpYyBBY3Rp
dmVET01PYmplY3QgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8Q2FjaGVTdG9yYWdlPiBjcmVh
dGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IENhY2hlU3RvcmFnZSgpKTsgfQorICAgIHN0YXRp
YyBSZWY8Q2FjaGVTdG9yYWdlPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4
dCwgUmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+JiYgY29ubmVjdGlvbikgeyByZXR1cm4gYWRv
cHRSZWYoKm5ldyBDYWNoZVN0b3JhZ2UoY29udGV4dCwgV1RGTW92ZShjb25uZWN0aW9uKSkpOyB9
CiAKLSAgICB1c2luZyBSZXF1ZXN0SW5mbyA9IEZldGNoUmVxdWVzdDo6SW5mbzsKICAgICB1c2lu
ZyBLZXlzUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExTZXF1ZW5jZTxJRExET01TdHJp
bmc+PjsKIAotICAgIHZvaWQgbWF0Y2goUmVxdWVzdEluZm8mJiwgc3RkOjpvcHRpb25hbDxDYWNo
ZVF1ZXJ5T3B0aW9ucz4mJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisgICAgdm9pZCBtYXRj
aChDYWNoZTo6UmVxdWVzdEluZm8mJiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgUmVmPERlZmVycmVk
UHJvbWlzZT4mJik7CiAgICAgdm9pZCBoYXMoY29uc3QgU3RyaW5nJiwgRE9NUHJvbWlzZURlZmVy
cmVkPElETEJvb2xlYW4+JiYpOwogICAgIHZvaWQgb3Blbihjb25zdCBTdHJpbmcmLCBET01Qcm9t
aXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPENhY2hlPj4mJik7CiAgICAgdm9pZCByZW1vdmUoY29u
c3QgU3RyaW5nJiwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYpOwogICAgIHZvaWQg
a2V5cyhLZXlzUHJvbWlzZSYmKTsKIAogcHJpdmF0ZToKLSAgICBDYWNoZVN0b3JhZ2UoKSA9IGRl
ZmF1bHQ7CisgICAgQ2FjaGVTdG9yYWdlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWY8Q2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbj4mJik7CisKKyAgICAvLyBBY3RpdmVET01PYmplY3QKKyAgICB2
b2lkIHN0b3AoKSBmaW5hbDsKKyAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkg
Y29uc3QgZmluYWw7CisgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkg
Y29uc3QgZmluYWw7CisKKyAgICB2b2lkIHJldHJpZXZlQ2FjaGVzKFdURjo6RnVuY3Rpb248dm9p
ZCgpPiYmKTsKKyAgICBTdHJpbmcgb3JpZ2luKCkgY29uc3Q7CisKKyAgICBWZWN0b3I8UmVmPENh
Y2hlPj4gbV9jYWNoZXM7CisgICAgUmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IG1fY29ubmVj
dGlvbjsKKyAgICBib29sIG1faXNTdG9wcGVkIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2Fj
aGVTdG9yYWdlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdl
LmlkbAppbmRleCA4ZDcxZTA5MDNlNzZlMWE0YjYyYmZiNmYwMjg0OTZmYjk4NmYwNjJhLi5iNDQ2
YWVhNzdmYzcwNWYwY2MwMTY3Y2U0YTZmNmZlMTA3NTcyMGFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaWRsCkBAIC0yOSw3ICsyOSw2IEBAIHR5cGVk
ZWYgKEZldGNoUmVxdWVzdCBvciBVU1ZTdHJpbmcpIFJlcXVlc3RJbmZvOwogICAgIFNlY3VyZUNv
bnRleHQsCiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCiAgICAgRW5hYmxlZEF0UnVudGlt
ZT1DYWNoZUFQSSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogXSBpbnRlcmZhY2Ug
Q2FjaGVTdG9yYWdlIHsKICAgICBbTmV3T2JqZWN0XSBQcm9taXNlPGFueT4gbWF0Y2goUmVxdWVz
dEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9ucyk7CiAgICAg
W05ld09iamVjdF0gUHJvbWlzZTxib29sZWFuPiBoYXMoRE9NU3RyaW5nIGNhY2hlTmFtZSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5l
Y3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25u
ZWN0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMTA0Mjc0M2JmYjMwNWY4ZWZmMDdjZWQ2Y2RhNzQzMjdh
OTFlNDBiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9D
YWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcApAQCAtMCwwICsxLDgxIEBACisKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5o
IgorCisjaW5jbHVkZSAiQ2FjaGVRdWVyeU9wdGlvbnMuaCIKKyNpbmNsdWRlICJFeGNlcHRpb24u
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitFeGNlcHRpb24gQ2FjaGVTdG9yYWdlQ29ubmVj
dGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9yKEVycm9yIGVycm9yKQoreworICAgIEFTU0VSVChlcnJv
ciAhPSBFcnJvcjo6Tm9uZSk7CisKKyAgICBzd2l0Y2ggKGVycm9yKSB7CisgICAgY2FzZSBFcnJv
cjo6Tm90SW1wbGVtZW50ZWQ6CisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBOb3RTdXBwb3J0
ZWRFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKSB9OworICAgIGRlZmF1bHQ6
CisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiVW5r
bm93biBlcnJvciIpIH07CisgICAgfTsKK30KKworYm9vbCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
OjpxdWVyeUNhY2hlTWF0Y2goY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmIGNhY2hlZFJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGNh
Y2hlZFJlc3BvbnNlLCBjb25zdCBDYWNoZVF1ZXJ5T3B0aW9ucyYgb3B0aW9ucykKK3sKKyAgICBB
U1NFUlQob3B0aW9ucy5pZ25vcmVNZXRob2QgfHwgcmVxdWVzdC5odHRwTWV0aG9kKCkgPT0gIkdF
VCIpOworCisgICAgVVJMIHJlcXVlc3RVUkwgPSByZXF1ZXN0LnVybCgpOworICAgIFVSTCBjYWNo
ZWRSZXF1ZXN0VVJMID0gY2FjaGVkUmVxdWVzdC51cmwoKTsKKworICAgIGlmIChvcHRpb25zLmln
bm9yZVNlYXJjaCkgeworICAgICAgICByZXF1ZXN0VVJMLnNldFF1ZXJ5KHsgfSk7CisgICAgICAg
IGNhY2hlZFJlcXVlc3RVUkwuc2V0UXVlcnkoeyB9KTsKKyAgICB9CisgICAgaWYgKCFlcXVhbEln
bm9yaW5nRnJhZ21lbnRJZGVudGlmaWVyKHJlcXVlc3RVUkwsIGNhY2hlZFJlcXVlc3RVUkwpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAob3B0aW9ucy5pZ25vcmVWYXJ5KQorICAg
ICAgICByZXR1cm4gdHJ1ZTsKKworICAgIFN0cmluZyB2YXJ5VmFsdWUgPSBjYWNoZWRSZXNwb25z
ZS5odHRwSGVhZGVyRmllbGQoV2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6OlZhcnkpOworICAgIGlm
ICh2YXJ5VmFsdWUuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgVmVjdG9y
PFN0cmluZz4gdmFyeWluZ0hlYWRlck5hbWVzOworICAgIHZhcnlWYWx1ZS5zcGxpdCgnLCcsIHZh
cnlpbmdIZWFkZXJOYW1lcyk7CisKKyAgICBmb3IgKGF1dG8mIG5hbWUgOiB2YXJ5aW5nSGVhZGVy
TmFtZXMpIHsKKyAgICAgICAgaWYgKG5hbWUgPT0gIioiKQorICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICBpZiAoY2FjaGVkUmVxdWVzdC5odHRwSGVhZGVyRmllbGQobmFtZSkgIT0g
cmVxdWVzdC5odHRwSGVhZGVyRmllbGQobmFtZSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29u
bmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25u
ZWN0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODRmNjFmYmIxODA2NThhYjRkMGY3NTQ4OTI0YzBlMDYzMDQ3
YmI2YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbi5oCkBAIC0wLDAgKzEsODggQEAKKworLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaW5jbHVkZSAiRmV0Y2hIZWFkZXJzLmgiCisjaW5jbHVkZSAiRmV0Y2hP
cHRpb25zLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCisjaW5jbHVkZSAiUmVzb3Vy
Y2VSZXNwb25zZS5oIgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENhY2hlUXVlcnlPcHRpb25zOworCitjbGFzcyBD
YWNoZVN0b3JhZ2VDb25uZWN0aW9uIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPENhY2hl
U3RvcmFnZUNvbm5lY3Rpb24+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPENhY2hlU3RvcmFn
ZUNvbm5lY3Rpb24+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbigpKTsgfQorICAgIHZpcnR1YWwgfkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24oKSA9
IGRlZmF1bHQ7CisKKyAgICBlbnVtIGNsYXNzIEVycm9yIHsKKyAgICAgICAgTm9uZSwKKyAgICAg
ICAgTm90SW1wbGVtZW50ZWQsCisgICAgfTsKKworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBi
b29sIHF1ZXJ5Q2FjaGVNYXRjaChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0
IFJlc291cmNlUmVxdWVzdCYgY2FjaGVkUmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYs
IGNvbnN0IENhY2hlUXVlcnlPcHRpb25zJik7CisKKyAgICBzdGF0aWMgRXhjZXB0aW9uIGV4Y2Vw
dGlvbkZyb21FcnJvcihFcnJvcik7CisKKyAgICBzdHJ1Y3QgUmVjb3JkIHsKKyAgICAgICAgdWlu
dDY0X3QgaWRlbnRpZmllcjsKKworICAgICAgICBGZXRjaEhlYWRlcnM6Okd1YXJkIHJlcXVlc3RI
ZWFkZXJzR3VhcmQ7CisgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0OworICAgICAgICBG
ZXRjaE9wdGlvbnMgb3B0aW9uczsKKyAgICAgICAgU3RyaW5nIHJlZmVycmVyOworCisgICAgICAg
IEZldGNoSGVhZGVyczo6R3VhcmQgcmVzcG9uc2VIZWFkZXJzR3VhcmQ7CisgICAgICAgIFJlc291
cmNlUmVzcG9uc2UgcmVzcG9uc2U7CisgICAgfTsKKworICAgIHN0cnVjdCBDYWNoZUluZm8gewor
ICAgICAgICB1aW50NjRfdCBpZGVudGlmaWVyOworICAgICAgICBTdHJpbmcgbmFtZTsKKyAgICB9
OworCisgICAgdXNpbmcgT3BlblJlbW92ZUNhbGxiYWNrID0gV1RGOjpGdW5jdGlvbjx2b2lkKHVp
bnQ2NF90LCBFcnJvcik+OworICAgIHVzaW5nIENhY2hlTWFwQ2FsbGJhY2sgPSBXVEY6OkZ1bmN0
aW9uPHZvaWQoVmVjdG9yPENhY2hlSW5mbz4mJik+OworICAgIHVzaW5nIFJlY29yZHNDYWxsYmFj
ayA9IFdURjo6RnVuY3Rpb248dm9pZChWZWN0b3I8UmVjb3JkPiYmKT47CisgICAgdXNpbmcgQmF0
Y2hPcGVyYXRpb25DYWxsYmFjayA9IFdURjo6RnVuY3Rpb248dm9pZChWZWN0b3I8dWludDY0X3Q+
JiYsIEVycm9yKT47CisKKyAgICB2aXJ0dWFsIHZvaWQgb3Blbihjb25zdCBTdHJpbmcmIC8qIG9y
aWdpbiAqLywgY29uc3QgU3RyaW5nJiAvKiBjYWNoZU5hbWUgKi8sIE9wZW5SZW1vdmVDYWxsYmFj
ayYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKDAsIEVycm9yOjpOb3RJbXBsZW1lbnRlZCk7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgcmVtb3ZlKHVpbnQ2NF90IC8qIGNhY2hlSWRlbnRpZmllciAqLywgT3Bl
blJlbW92ZUNhbGxiYWNrJiYgY2FsbGJhY2spIHsgY2FsbGJhY2soMCwgRXJyb3I6Ok5vdEltcGxl
bWVudGVkKTsgfQorICAgIHZpcnR1YWwgdm9pZCByZXRyaWV2ZUNhY2hlcyhjb25zdCBTdHJpbmcm
IC8qIG9yaWdpbiAqLywgQ2FjaGVNYXBDYWxsYmFjayYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKHsg
fSk7IH0KKworICAgIHZpcnR1YWwgdm9pZCByZXRyaWV2ZVJlY29yZHModWludDY0X3QgLyogY2Fj
aGVJZGVudGlmaWVyICovLCBSZWNvcmRzQ2FsbGJhY2smJiBjYWxsYmFjaykgeyBjYWxsYmFjayh7
IH0pOyB9CisgICAgdmlydHVhbCB2b2lkIGJhdGNoRGVsZXRlT3BlcmF0aW9uKHVpbnQ2NF90IC8q
IGNhY2hlSWRlbnRpZmllciAqLywgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgQ2FjaGVRdWVyeU9w
dGlvbnMmJiwgQmF0Y2hPcGVyYXRpb25DYWxsYmFjayYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKHsg
fSwgRXJyb3I6Ok5vdEltcGxlbWVudGVkKTsgfQorICAgIHZpcnR1YWwgdm9pZCBiYXRjaFB1dE9w
ZXJhdGlvbih1aW50NjRfdCAvKiBjYWNoZUlkZW50aWZpZXIgKi8sIFZlY3RvcjxSZWNvcmQ+JiYs
IEJhdGNoT3BlcmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykgeyBjYWxsYmFjayh7IH0sIEVycm9y
OjpOb3RJbXBsZW1lbnRlZCk7IH0KKworcHJvdGVjdGVkOgorICAgIENhY2hlU3RvcmFnZUNvbm5l
Y3Rpb24oKSA9ICBkZWZhdWx0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZVJlY29yZC5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VSZWNvcmQuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wMGE2YWNlNGJhNGMwOTFkYzA5YTVkNDU1ZGY2YWM3Y2E1Y2FhMjdiCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VSZWNv
cmQuaApAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNs
dWRlICJGZXRjaFJlcXVlc3QuaCIKKyNpbmNsdWRlICJGZXRjaFJlc3BvbnNlLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworc3RydWN0IENhY2hlU3RvcmFnZVJlY29yZCB7CisgICAgdWludDY0
X3QgaWRlbnRpZmllcjsKKworICAgIFJlZjxGZXRjaFJlcXVlc3Q+IHJlcXVlc3Q7CisgICAgUmVm
PEZldGNoUmVzcG9uc2U+IHJlc3BvbnNlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwCmlu
ZGV4IDg2NjVjNTU2NzJlYTVmNDZiMDlkNGY5YjA3NWE2OTYyYzU5NTFlZDEuLjM4YTRjOWIwZjkz
ZDRkODUxZjRlNGZlMjc4YTkwMTdiYjc3ZGNkNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvY2FjaGUvRE9NV2luZG93Q2FjaGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHAKQEAgLTI3LDcgKzI3LDExIEBACiAjaW5j
bHVkZSAiRE9NV2luZG93Q2FjaGVzLmgiCiAKICNpbmNsdWRlICJDYWNoZVN0b3JhZ2UuaCIKKyNp
bmNsdWRlICJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgor
I2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJQYWdl
LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTQsMTMgKzU4LDE4IEBAIERPTVdpbmRv
d0NhY2hlcyogRE9NV2luZG93Q2FjaGVzOjpmcm9tKERPTVdpbmRvdyogd2luZG93KQogCiBDYWNo
ZVN0b3JhZ2UqIERPTVdpbmRvd0NhY2hlczo6Y2FjaGVzKERPTVdpbmRvdyYgd2luZG93KQogewor
ICAgIGlmICghd2luZG93LmlzQ3VycmVudGx5RGlzcGxheWVkSW5GcmFtZSgpKQorICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKwogICAgIHJldHVybiBET01XaW5kb3dDYWNoZXM6OmZyb20oJndpbmRv
dyktPmNhY2hlcygpOwogfQogCiBDYWNoZVN0b3JhZ2UqIERPTVdpbmRvd0NhY2hlczo6Y2FjaGVz
KCkgY29uc3QKIHsKLSAgICBpZiAoIW1fY2FjaGVzICYmIGZyYW1lKCkpCi0gICAgICAgIG1fY2Fj
aGVzID0gQ2FjaGVTdG9yYWdlOjpjcmVhdGUoKTsKKyAgICBBU1NFUlQoZnJhbWUoKSk7CisgICAg
QVNTRVJUKGZyYW1lKCktPmRvY3VtZW50KCkpOworICAgIGlmICghbV9jYWNoZXMgJiYgZnJhbWUo
KS0+cGFnZSgpKQorICAgICAgICBtX2NhY2hlcyA9IENhY2hlU3RvcmFnZTo6Y3JlYXRlKCpmcmFt
ZSgpLT5kb2N1bWVudCgpLCBmcmFtZSgpLT5wYWdlKCktPmNhY2hlU3RvcmFnZVByb3ZpZGVyKCku
Y3JlYXRlQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbihmcmFtZSgpLT5wYWdlKCktPnNlc3Npb25JRCgp
KSk7CiAgICAgcmV0dXJuIG1fY2FjaGVzLmdldCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwCmluZGV4
IDA1MTY5OGU3YzZlNTc5MGNkMjcwYTMxODBmZmViNDNjN2Q3ZGVhYWEuLmM1MzljZGU2M2I0YjRk
Mjc3MWM2OWNmZjdkNTliN2YxMjU4NWI4MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwCkBAIC00MCw3ICs0
MCw3IEBAIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6
ZnJvbShXb3JrZXJHbG9iYWxTY29wZSYgc2NvcGUpCiB7CiAgICAgYXV0byogc3VwcGxlbWVudCA9
IHN0YXRpY19jYXN0PFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKj4oU3VwcGxlbWVudDxXb3JrZXJH
bG9iYWxTY29wZT46OmZyb20oJnNjb3BlLCBzdXBwbGVtZW50TmFtZSgpKSk7CiAgICAgaWYgKCFz
dXBwbGVtZW50KSB7Ci0gICAgICAgIGF1dG8gbmV3U3VwcGxlbWVudCA9IHN0ZDo6bWFrZV91bmlx
dWU8V29ya2VyR2xvYmFsU2NvcGVDYWNoZXM+KCk7CisgICAgICAgIGF1dG8gbmV3U3VwcGxlbWVu
dCA9IHN0ZDo6bWFrZV91bmlxdWU8V29ya2VyR2xvYmFsU2NvcGVDYWNoZXM+KHNjb3BlKTsKICAg
ICAgICAgc3VwcGxlbWVudCA9IG5ld1N1cHBsZW1lbnQuZ2V0KCk7CiAgICAgICAgIHByb3ZpZGVU
bygmc2NvcGUsIHN1cHBsZW1lbnROYW1lKCksIFdURk1vdmUobmV3U3VwcGxlbWVudCkpOwogICAg
IH0KQEAgLTU1LDcgKzU1LDcgQEAgQ2FjaGVTdG9yYWdlKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hl
czo6Y2FjaGVzKFdvcmtlckdsb2JhbFNjb3BlJiBzY29wZSkKIENhY2hlU3RvcmFnZSogV29ya2Vy
R2xvYmFsU2NvcGVDYWNoZXM6OmNhY2hlcygpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2NhY2hlcykK
LSAgICAgICAgbV9jYWNoZXMgPSBDYWNoZVN0b3JhZ2U6OmNyZWF0ZSgpOworICAgICAgICBtX2Nh
Y2hlcyA9IENhY2hlU3RvcmFnZTo6Y3JlYXRlKG1fc2NvcGUsIENhY2hlU3RvcmFnZUNvbm5lY3Rp
b246OmNyZWF0ZSgpKTsKICAgICByZXR1cm4gbV9jYWNoZXMuZ2V0KCk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMu
aAppbmRleCA3OTVlYmQ2MTllMjQyMWQ0Y2ViMWI3OGNkZWU0MzNlMTIzNTE0ODZkLi5mNmNjODUx
ZTA4NWUxZDNhNWMyM2NhYzZlYjdkM2U2ZmFjMzk3NjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oCkBAIC0zNCw3
ICszNCw3IEBAIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlOwogCiBjbGFzcyBXb3JrZXJHbG9iYWxT
Y29wZUNhY2hlcyA6IHB1YmxpYyBTdXBwbGVtZW50PFdvcmtlckdsb2JhbFNjb3BlPiB7CiBwdWJs
aWM6Ci0gICAgV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMoKSA9IGRlZmF1bHQ7CisgICAgV29ya2Vy
R2xvYmFsU2NvcGVDYWNoZXMoV29ya2VyR2xvYmFsU2NvcGUmIHNjb3BlKSA6IG1fc2NvcGUoc2Nv
cGUpIHsgfTsKIAogICAgIHN0YXRpYyBDYWNoZVN0b3JhZ2UqIGNhY2hlcyhXb3JrZXJHbG9iYWxT
Y29wZSYpOwogCkBAIC00Myw2ICs0Myw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGNvbnN0IGNo
YXIqIHN1cHBsZW1lbnROYW1lKCk7CiAgICAgQ2FjaGVTdG9yYWdlKiBjYWNoZXMoKSBjb25zdDsK
IAorICAgIFdvcmtlckdsb2JhbFNjb3BlJiBtX3Njb3BlOwogICAgIG11dGFibGUgUmVmUHRyPENh
Y2hlU3RvcmFnZT4gbV9jYWNoZXM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoQm9keU93bmVyLmgKaW5kZXggYzMyMTNlOTcyMTM5MzAwZDRhNTE4NTRjMDU1OWFi
NTUwMTRhOTU1Yi4uNzFhZmM0NmNlMDUxZTRhODRlMzFhYzkzNDQ4Mzk2YzhmODYxZTE5YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuaApAQCAtNTcs
NiArNTcsOCBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzQWN0aXZlKCkgY29uc3QgeyByZXR1cm4g
ISFtX2Jsb2JMb2FkZXI7IH0KIAorICAgIGJvb2wgaXNSZWFkYWJsZVN0cmVhbUJvZHkoKSBjb25z
dCB7IHJldHVybiBtX2JvZHkgJiYgbV9ib2R5LT5pc1JlYWRhYmxlU3RyZWFtKCk7IH0KKwogcHJv
dGVjdGVkOgogICAgIGNvbnN0IEZldGNoQm9keSYgYm9keSgpIGNvbnN0IHsgcmV0dXJuICptX2Jv
ZHk7IH0KICAgICBGZXRjaEJvZHkmIGJvZHkoKSB7IHJldHVybiAqbV9ib2R5OyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaAppbmRleCBmYzNiMTA4YjlhMmQ1
YWU1ODM3YzIzYzc5MWZlMjA5Y2I2ODMzMmM4Li5mZWUxZjhmMWYzODA5M2IwZDMzNWI5MThkOTFk
Y2U0NGZjZDk3ZDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoSGVhZGVycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFk
ZXJzLmgKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5j
bHVkZSAiSFRUUEhlYWRlck1hcC5oIgorI2luY2x1ZGUgPHd0Zi9FbnVtVHJhaXRzLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hUcmFpdHMuaD4KICNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTQ5LDcgKzUwLDcgQEAgcHVibGljOgogICAgIHVzaW5nIElu
aXQgPSBWYXJpYW50PFZlY3RvcjxWZWN0b3I8U3RyaW5nPj4sIFZlY3RvcjxXVEY6OktleVZhbHVl
UGFpcjxTdHJpbmcsIFN0cmluZz4+PjsKICAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPEZldGNo
SGVhZGVycz4+IGNyZWF0ZShzdGQ6Om9wdGlvbmFsPEluaXQ+JiYpOwogCi0gICAgc3RhdGljIFJl
ZjxGZXRjaEhlYWRlcnM+IGNyZWF0ZShHdWFyZCBndWFyZCA9IEd1YXJkOjpOb25lKSB7IHJldHVy
biBhZG9wdFJlZigqbmV3IEZldGNoSGVhZGVycyB7IGd1YXJkIH0pOyB9CisgICAgc3RhdGljIFJl
ZjxGZXRjaEhlYWRlcnM+IGNyZWF0ZShHdWFyZCBndWFyZCA9IEd1YXJkOjpOb25lLCBIVFRQSGVh
ZGVyTWFwJiYgaGVhZGVycyA9IHsgfSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBGZXRjaEhlYWRl
cnMgeyBndWFyZCwgV1RGTW92ZShoZWFkZXJzKSB9KTsgfQogICAgIHN0YXRpYyBSZWY8RmV0Y2hI
ZWFkZXJzPiBjcmVhdGUoY29uc3QgRmV0Y2hIZWFkZXJzJiBoZWFkZXJzKSB7IHJldHVybiBhZG9w
dFJlZigqbmV3IEZldGNoSGVhZGVycyB7IGhlYWRlcnMgfSk7IH0KIAogICAgIEV4Y2VwdGlvbk9y
PHZvaWQ+IGFwcGVuZChjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUpOwpA
QCAtODIsOSArODMsMTAgQEAgcHVibGljOgogICAgIGNvbnN0IEhUVFBIZWFkZXJNYXAmIGludGVy
bmFsSGVhZGVycygpIGNvbnN0IHsgcmV0dXJuIG1faGVhZGVyczsgfQogCiAgICAgdm9pZCBzZXRH
dWFyZChHdWFyZCk7CisgICAgR3VhcmQgZ3VhcmQoKSBjb25zdCB7IHJldHVybiBtX2d1YXJkOyB9
CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgRmV0Y2hIZWFkZXJzKEd1YXJkIGd1YXJkLCBIVFRQ
SGVhZGVyTWFwJiYgaGVhZGVycyA9IHsgfSk7CisgICAgRmV0Y2hIZWFkZXJzKEd1YXJkLCBIVFRQ
SGVhZGVyTWFwJiYpOwogICAgIEZldGNoSGVhZGVycyhjb25zdCBGZXRjaEhlYWRlcnMmKTsKIAog
ICAgIEd1YXJkIG1fZ3VhcmQ7CkBAIC0xMTEsMyArMTEzLDE4IEBAIGlubGluZSB2b2lkIEZldGNo
SGVhZGVyczo6c2V0R3VhcmQoR3VhcmQgZ3VhcmQpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2Vi
Q29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZD4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1
ZXM8CisgICAgV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZCwKKyAgICBXZWJDb3JlOjpGZXRj
aEhlYWRlcnM6Okd1YXJkOjpOb25lLAorICAgIFdlYkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQ6
OkltbXV0YWJsZSwKKyAgICBXZWJDb3JlOjpGZXRjaEhlYWRlcnM6Okd1YXJkOjpSZXF1ZXN0LAor
ICAgIFdlYkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQ6OlJlcXVlc3ROb0NvcnMsCisgICAgV2Vi
Q29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZDo6UmVzcG9uc2UKKyAgICA+OworfTsKKworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcAppbmRleCBlM2E1MWYx
YWU4NDM5MmJmMzBmYzhiNWQzMzUzMWEwOWRiODVjY2FjLi5lZGZhYzVjMzg1OTFkOTllODhlZDBm
ZGYzNmU4ZGM0ZDg5NThkNjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoTG9hZGVyLmNwcApAQCAtODAsNyArODAsNyBAQCB2b2lkIEZldGNoTG9hZGVyOjpzdGFydChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBGZXRjaFJlcXVlc3QmIHJlcQog
ICAgIG9wdGlvbnMuZGF0YUJ1ZmZlcmluZ1BvbGljeSA9IERvTm90QnVmZmVyRGF0YTsKICAgICBv
cHRpb25zLnNhbWVPcmlnaW5EYXRhVVJMRmxhZyA9IFNhbWVPcmlnaW5EYXRhVVJMRmxhZzo6U2V0
OwogCi0gICAgUmVzb3VyY2VSZXF1ZXN0IGZldGNoUmVxdWVzdCA9IHJlcXVlc3QuaW50ZXJuYWxS
ZXF1ZXN0KCk7CisgICAgUmVzb3VyY2VSZXF1ZXN0IGZldGNoUmVxdWVzdCA9IHJlcXVlc3QucmVz
b3VyY2VSZXF1ZXN0KCk7CiAKICAgICBBU1NFUlQoY29udGV4dC5jb250ZW50U2VjdXJpdHlQb2xp
Y3koKSk7CiAgICAgYXV0byYgY29udGVudFNlY3VyaXR5UG9saWN5ID0gKmNvbnRleHQuY29udGVu
dFNlY3VyaXR5UG9saWN5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNo
UmVxdWVzdC5jcHAKaW5kZXggZTY2YzE1Yzk5NGNlNTFlZGQ1NDkzYWQyNTg3NDJkZGU2OGNhM2Q0
Yi4uYTUyNmY1Mjg4Mzk3ODNlMDdlOWU0NmE1NGNkYjFkZTljZGY5NjQ2NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcApAQCAtNzQsNyArNzQsNyBA
QCBzdGF0aWMgc3RkOjpvcHRpb25hbDxFeGNlcHRpb24+IHNldFJlZmVycmVyKEZldGNoUmVxdWVz
dDo6SW50ZXJuYWxSZXF1ZXN0JiByZXF1ZQogCiBzdGF0aWMgc3RkOjpvcHRpb25hbDxFeGNlcHRp
b24+IGJ1aWxkT3B0aW9ucyhGZXRjaFJlcXVlc3Q6OkludGVybmFsUmVxdWVzdCYgcmVxdWVzdCwg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmV0Y2hSZXF1ZXN0OjpJbml0
JiBpbml0KQogewotICAgIGlmICghaW5pdC53aW5kb3cuaXNVbmRlZmluZWRPck51bGwoKSkKKyAg
ICBpZiAoIWluaXQud2luZG93LmlzVW5kZWZpbmVkT3JOdWxsKCkgJiYgIWluaXQud2luZG93Lmlz
RW1wdHkoKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRl
cmFsKCJXaW5kb3cgY2FuIG9ubHkgYmUgbnVsbC4iKSB9OwogCiAgICAgaWYgKCFpbml0LnJlZmVy
cmVyLmlzTnVsbCgpKSB7CkBAIC0yNTcsMTQgKzI1NywxNCBAQCBTdHJpbmcgRmV0Y2hSZXF1ZXN0
OjpyZWZlcnJlcigpIGNvbnN0CiAgICAgcmV0dXJuIG1faW50ZXJuYWxSZXF1ZXN0LnJlZmVycmVy
OwogfQogCi1jb25zdCBTdHJpbmcmIEZldGNoUmVxdWVzdDo6dXJsKCkgY29uc3QKK2NvbnN0IFN0
cmluZyYgRmV0Y2hSZXF1ZXN0Ojp1cmxTdHJpbmcoKSBjb25zdAogewogICAgIGlmIChtX3JlcXVl
c3RVUkwuaXNOdWxsKCkpCiAgICAgICAgIG1fcmVxdWVzdFVSTCA9IG1faW50ZXJuYWxSZXF1ZXN0
LnJlcXVlc3QudXJsKCkuc2VyaWFsaXplKCk7CiAgICAgcmV0dXJuIG1fcmVxdWVzdFVSTDsKIH0K
IAotUmVzb3VyY2VSZXF1ZXN0IEZldGNoUmVxdWVzdDo6aW50ZXJuYWxSZXF1ZXN0KCkgY29uc3QK
K1Jlc291cmNlUmVxdWVzdCBGZXRjaFJlcXVlc3Q6OnJlc291cmNlUmVxdWVzdCgpIGNvbnN0CiB7
CiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5oCmluZGV4IDFmMGIxNmU4YTVhMTc5ZjBmZWFj
MGI1OTdkZDU4NzQ5ZmFlZGFiZGQuLjVhZDc0MTQxMzlhNDdmZGE1ODQyYmNiYjc0OTEzYzMyNjcz
YmRjN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1
ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaApA
QCAtNTMsMTEgKzUzLDE5IEBAIHB1YmxpYzoKICAgICB1c2luZyBSZWRpcmVjdCA9IEZldGNoT3B0
aW9uczo6UmVkaXJlY3Q7CiAgICAgdXNpbmcgVHlwZSA9IEZldGNoT3B0aW9uczo6VHlwZTsKIAor
ICAgIHN0cnVjdCBJbnRlcm5hbFJlcXVlc3QgeworICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVx
dWVzdDsKKyAgICAgICAgRmV0Y2hPcHRpb25zIG9wdGlvbnM7CisgICAgICAgIFN0cmluZyByZWZl
cnJlcjsKKyAgICB9OworCiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxGZXRjaFJlcXVlc3Q+
PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEluZm8mJiwgSW5pdCYmKTsKKyAgICBz
dGF0aWMgUmVmPEZldGNoUmVxdWVzdD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQsIHN0ZDo6b3B0aW9uYWw8RmV0Y2hCb2R5PiYmIGJvZHksIFJlZjxGZXRjaEhlYWRlcnM+
JiYgaGVhZGVycywgSW50ZXJuYWxSZXF1ZXN0JiYgcmVxdWVzdCkgeyByZXR1cm4gYWRvcHRSZWYo
Km5ldyBGZXRjaFJlcXVlc3QoY29udGV4dCwgV1RGTW92ZShib2R5KSwgV1RGTW92ZShoZWFkZXJz
KSwgV1RGTW92ZShyZXF1ZXN0KSkpOyB9CiAKICAgICBjb25zdCBTdHJpbmcmIG1ldGhvZCgpIGNv
bnN0IHsgcmV0dXJuIG1faW50ZXJuYWxSZXF1ZXN0LnJlcXVlc3QuaHR0cE1ldGhvZCgpOyB9Ci0g
ICAgY29uc3QgU3RyaW5nJiB1cmwoKSBjb25zdDsKKyAgICBjb25zdCBTdHJpbmcmIHVybFN0cmlu
ZygpIGNvbnN0OwogICAgIEZldGNoSGVhZGVycyYgaGVhZGVycygpIHsgcmV0dXJuIG1faGVhZGVy
cy5nZXQoKTsgfQorICAgIGNvbnN0IEZldGNoSGVhZGVycyYgaGVhZGVycygpIGNvbnN0IHsgcmV0
dXJuIG1faGVhZGVycy5nZXQoKTsgfQogCiAgICAgVHlwZSB0eXBlKCkgY29uc3Q7CiAgICAgRGVz
dGluYXRpb24gZGVzdGluYXRpb24oKSBjb25zdDsKQEAgLTczLDE3ICs4MSwxMyBAQCBwdWJsaWM6
CiAKICAgICBFeGNlcHRpb25PcjxSZWY8RmV0Y2hSZXF1ZXN0Pj4gY2xvbmUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYpOwogCi0gICAgc3RydWN0IEludGVybmFsUmVxdWVzdCB7Ci0gICAgICAgIFJl
c291cmNlUmVxdWVzdCByZXF1ZXN0OwotICAgICAgICBGZXRjaE9wdGlvbnMgb3B0aW9uczsKLSAg
ICAgICAgU3RyaW5nIHJlZmVycmVyOwotICAgIH07Ci0KICAgICBjb25zdCBGZXRjaE9wdGlvbnMm
IGZldGNoT3B0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1faW50ZXJuYWxSZXF1ZXN0Lm9wdGlvbnM7
IH0KLSAgICBSZXNvdXJjZVJlcXVlc3QgaW50ZXJuYWxSZXF1ZXN0KCkgY29uc3Q7CisgICAgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiBpbnRlcm5hbFJlcXVlc3QoKSBjb25zdCB7IHJldHVybiBtX2lu
dGVybmFsUmVxdWVzdC5yZXF1ZXN0OyB9CisgICAgY29uc3QgU3RyaW5nJiBpbnRlcm5hbFJlcXVl
c3RSZWZlcnJlcigpIGNvbnN0IHsgcmV0dXJuIG1faW50ZXJuYWxSZXF1ZXN0LnJlZmVycmVyOyB9
CisgICAgY29uc3QgVVJMJiB1cmwoKSBjb25zdCB7IHJldHVybiBtX2ludGVybmFsUmVxdWVzdC5y
ZXF1ZXN0LnVybCgpOyB9CiAgICAgYm9vbCBpc0JvZHlSZWFkYWJsZVN0cmVhbSgpIGNvbnN0IHsg
cmV0dXJuICFpc0JvZHlOdWxsKCkgJiYgYm9keSgpLmlzUmVhZGFibGVTdHJlYW0oKTsgfQogCi0g
ICAgY29uc3QgU3RyaW5nJiBpbnRlcm5hbFJlcXVlc3RSZWZlcnJlcigpIGNvbnN0IHsgcmV0dXJu
IG1faW50ZXJuYWxSZXF1ZXN0LnJlZmVycmVyOyB9CisgICAgUmVzb3VyY2VSZXF1ZXN0IHJlc291
cmNlUmVxdWVzdCgpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIEZldGNoUmVxdWVzdChTY3JpcHRF
eGVjdXRpb25Db250ZXh0Jiwgc3RkOjpvcHRpb25hbDxGZXRjaEJvZHk+JiYsIFJlZjxGZXRjaEhl
YWRlcnM+JiYsIEludGVybmFsUmVxdWVzdCYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmV0Y2gvRmV0Y2hSZXF1ZXN0LmlkbAppbmRleCAxYTVlNjI2ZjUxYzE2NjJlOGJiMDAzYjYwNDA4
NzZkMzlhOGQwYzk5Li5iM2QyYTYzMDA4MWNkYmMzZDk3OWE2NTE3NDI2NDBmN2YzNjE4MTUxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaWRsCkBAIC00
NCw3ICs0NCw3IEBAIHR5cGVkZWYgKEJsb2Igb3IgQnVmZmVyU291cmNlIG9yIERPTUZvcm1EYXRh
IG9yIFVSTFNlYXJjaFBhcmFtcyBvciBVU1ZTdHJpbmcpIEJvCiAgICAgSW50ZXJmYWNlTmFtZT1S
ZXF1ZXN0LAogXSBpbnRlcmZhY2UgRmV0Y2hSZXF1ZXN0IHsKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgQnl0ZVN0cmluZyBtZXRob2Q7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyB1
cmw7CisgICAgW0ltcGxlbWVudGVkQXM9dXJsU3RyaW5nXSByZWFkb25seSBhdHRyaWJ1dGUgVVNW
U3RyaW5nIHVybDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRmV0Y2hIZWFkZXJzIGhlYWRlcnM7
IC8vIEZJWE1FOiBTaG91bGQgYmUgW1NhbWVPYmplY3RdLgogCiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIEZldGNoUmVxdWVzdFR5cGUgdHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaFJlc3BvbnNlLmgKaW5kZXggZjliMDJmYjBlNTg3YWI0ZWIzZDU1OTc5NGIzOTFmNzlm
NWExZGM2Ni4uZGM3NTczMTNlZmE4ZmZiOGY1ZmIyOTJhNTIwZTAwNTdjZDBhM2JjZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmgKQEAgLTU3LDYgKzU3
LDggQEAgcHVibGljOgogICAgIHN0YXRpYyBSZWY8RmV0Y2hSZXNwb25zZT4gZXJyb3IoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYpOwogICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8RmV0Y2hSZXNw
b25zZT4+IHJlZGlyZWN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTdHJpbmcmIHVy
bCwgaW50IHN0YXR1cyk7CiAKKyAgICBzdGF0aWMgUmVmPEZldGNoUmVzcG9uc2U+IGNyZWF0ZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBzdGQ6Om9wdGlvbmFsPEZldGNoQm9keT4m
JiBib2R5LCBSZWY8RmV0Y2hIZWFkZXJzPiYmIGhlYWRlcnMsIFJlc291cmNlUmVzcG9uc2UmJiBy
ZXNwb25zZSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBGZXRjaFJlc3BvbnNlKGNvbnRleHQsIFdU
Rk1vdmUoYm9keSksIFdURk1vdmUoaGVhZGVycyksIFdURk1vdmUocmVzcG9uc2UpKSk7IH0KKwog
ICAgIHVzaW5nIEZldGNoUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8
RmV0Y2hSZXNwb25zZT4+OwogICAgIHN0YXRpYyB2b2lkIGZldGNoKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmLCBGZXRjaFJlcXVlc3QmLCBGZXRjaFByb21pc2UmJik7CiAKQEAgLTc4LDYgKzgwLDcg
QEAgcHVibGljOgogICAgIGJvb2wgb2soKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlLmlzU3Vj
Y2Vzc2Z1bCgpOyB9CiAgICAgY29uc3QgU3RyaW5nJiBzdGF0dXNUZXh0KCkgY29uc3QgeyByZXR1
cm4gbV9yZXNwb25zZS5odHRwU3RhdHVzVGV4dCgpOyB9CiAKKyAgICBjb25zdCBGZXRjaEhlYWRl
cnMmIGhlYWRlcnMoKSBjb25zdCB7IHJldHVybiBtX2hlYWRlcnM7IH0KICAgICBGZXRjaEhlYWRl
cnMmIGhlYWRlcnMoKSB7IHJldHVybiBtX2hlYWRlcnM7IH0KICAgICBSZWY8RmV0Y2hSZXNwb25z
ZT4gY2xvbmVGb3JKUygpOwogCkBAIC05MCw2ICs5Myw4IEBAIHB1YmxpYzoKIAogICAgIGJvb2wg
aXNMb2FkaW5nKCkgY29uc3QgeyByZXR1cm4gISFtX2JvZHlMb2FkZXI7IH0KIAorICAgIGNvbnN0
IFJlc291cmNlUmVzcG9uc2UmIHJlc291cmNlUmVzcG9uc2UoKSBjb25zdCB7IHJldHVybiBtX3Jl
c3BvbnNlOyB9CisKIHByaXZhdGU6CiAgICAgRmV0Y2hSZXNwb25zZShTY3JpcHRFeGVjdXRpb25D
b250ZXh0Jiwgc3RkOjpvcHRpb25hbDxGZXRjaEJvZHk+JiYsIFJlZjxGZXRjaEhlYWRlcnM+JiYs
IFJlc291cmNlUmVzcG9uc2UmJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAzMGI0ODM5ODE4NDg3NTczYTg4NDBlYWE0M2I4
MjU5ZDM5Y2ZlYTk3Li5kOTVjNDliNTgwODg1Y2M2NzAyMjU1MGFiNzQ1MDkyZTkzNDNiZDcwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC0xNzg0LDYgKzE3ODQsMTQgQEAKIAkJNDFDRjhCRTcxRDQ2MjI2NzAwNzA3REM5IC8qIEZl
dGNoQm9keUNvbnN1bWVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxQ0Y4QkU0MUQ0NjIyMjAwMDcwN0RDOSAvKiBGZXRjaEJvZHlDb25zdW1lci5j
cHAgKi87IH07CiAJCTQxRDAxNUNBMEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlwZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMDE1QzgwRjRC
NUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDFEMDE1Q0IwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRl
bnRUeXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxRDAxNUM5MEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlwZS5jcHAgKi87IH07CisJCTQx
RDEyOUNFMUYzRDBFRjYwMEQxNUU0NyAvKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFGQjI3OEQxRjM0QzI4
MjAwNzk1NDg3IC8qIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmggKi87IH07CisJCTQxRDEyOUNG
MUYzRDBFRkUwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDEyOUM5MUYzRDBFRTMwMEQx
NUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCAqLzsgfTsKKwkJNDFEMTI5RDAxRjNE
MEYwNTAwRDE1RTQ3IC8qIENhY2hlUXVlcnlPcHRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUZCMjc5QjFGMzRDRUYwMDA3OTU0ODcgLyogQ2Fj
aGVRdWVyeU9wdGlvbnMuaCAqLzsgfTsKKwkJNDFEMTI5RDExRjNEMEYwRTAwRDE1RTQ3IC8qIERP
TVdpbmRvd0NhY2hlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDFGQjI3OEMxRjM0QzI4MjAwNzk1NDg3IC8qIERPTVdpbmRvd0NhY2hlcy5oICovOyB9
OworCQk0MUQxMjlEMjFGM0QwRjEyMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUmVjb3JkLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQxMjlDQTFGM0Qw
RUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUmVjb3JkLmggKi87IH07CisJCTQxRDEyOUQzMUYz
RDBGMTYwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQxMjlDQzFGM0QwRUUzMDBEMTVFNDcg
LyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTQxRDEyOUQ1MUYzRDBGNjkwMEQxNUU0NyAvKiBDYWNoZVN0
b3JhZ2VQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDFEMTI5RDQxRjNEMEY2NjAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVByb3ZpZGVyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDFEMTI5
REIxRjNEMTQzODAwRDE1RTQ3IC8qIEZldGNoSGVhZGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFGNTRGODMxQzUwQzRGNjAwMzM4NDg4IC8qIEZl
dGNoSGVhZGVycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTQxREVGQ0I1MUU1NkMxQkQwMDBEOUU1RiAvKiBKU0RPTU1hcExpa2UuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFERUZDQjMxRTU2QzFC
OTAwMEQ5RTVGIC8qIEpTRE9NTWFwTGlrZS5jcHAgKi87IH07CiAJCTQxREVGQ0I2MUU1NkMxQkQw
MDBEOUU1RiAvKiBKU0RPTU1hcExpa2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQxREVGQ0I0MUU1NkMxQjkwMDBEOUU1RiAvKiBKU0RPTU1hcExpa2Uu
aCAqLzsgfTsKIAkJNDFFMUIxRDAwRkY1OTg2OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2VyLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRTFCMUNB
MEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5jcHAgKi87IH07CkBAIC05NDYzLDYg
Kzk0NzEsMTAgQEAKIAkJNDFDRjhCRTYxRDQ2MjIyQzAwNzA3REM5IC8qIEZldGNoSW50ZXJuYWxz
LmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gRmV0Y2hJbnRlcm5h
bHMuanM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRDAxNUM4MEY0QjVDNzEwMDRB
NjYyRiAvKiBDb250ZW50VHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
b250ZW50VHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUQwMTVDOTBGNEI1
QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQ29udGVudFR5cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk0MUQxMjlDOTFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDFEMTI5Q0ExRjNEMEVFMzAw
RDE1RTQ3IC8qIENhY2hlU3RvcmFnZVJlY29yZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDYWNoZVN0b3JhZ2VSZWNvcmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNDFEMTI5Q0MxRjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUQxMjlENDFGM0QwRjY2MDBEMTVFNDcg
LyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDFENTFCQjIxRTRFMkU4MTAwMTMxQTVCIC8qIExpYldlYlJUQ0F1ZGlvRm9ybWF0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExpYldlYlJUQ0F1ZGlvRm9ybWF0Lmg7IHBhdGgg
PSBsaWJ3ZWJydGMvTGliV2ViUlRDQXVkaW9Gb3JtYXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDFERUZDQjIxRTU2QzFCOTAwMEQ5RTVGIC8qIEpTRE9NQmluZGluZ0ludGVybmFs
cy5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9IEpTRE9NQmluZGlu
Z0ludGVybmFscy5qczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFERUZDQjMxRTU2
QzFCOTAwMEQ5RTVGIC8qIEpTRE9NTWFwTGlrZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU0RPTU1hcExpa2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTc2NzAsNiArMTc2ODIsOSBAQAogCQkJCTQxMzgwQzIxMUYzNDM2OEQwMDE1NUZEQSAv
KiBDYWNoZVN0b3JhZ2UuY3BwICovLAogCQkJCTQxMzgwQzIyMUYzNDM2OTAwMDE1NUZEQSAvKiBD
YWNoZVN0b3JhZ2UuaCAqLywKIAkJCQk0MTM4MEMyNDFGMzQzNjk3MDAxNTVGREEgLyogQ2FjaGVT
dG9yYWdlLmlkbCAqLywKKwkJCQk0MUQxMjlDOTFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbi5jcHAgKi8sCisJCQkJNDFEMTI5Q0MxRjNEMEVFMzAwRDE1RTQ3IC8qIENh
Y2hlU3RvcmFnZUNvbm5lY3Rpb24uaCAqLywKKwkJCQk0MUQxMjlDQTFGM0QwRUUzMDBEMTVFNDcg
LyogQ2FjaGVTdG9yYWdlUmVjb3JkLmggKi8sCiAJCQkJNDFGQjI3OEUxRjM0QzI4MjAwNzk1NDg3
IC8qIERPTVdpbmRvd0NhY2hlcy5jcHAgKi8sCiAJCQkJNDFGQjI3OEMxRjM0QzI4MjAwNzk1NDg3
IC8qIERPTVdpbmRvd0NhY2hlcy5oICovLAogCQkJCTQxMzgwQzJCMUYzNDNFMkYwMDE1NUZEQSAv
KiBET01XaW5kb3dDYWNoZXMuaWRsICovLApAQCAtMTkyNjgsNiArMTkyODMsNyBAQAogCQkJCUJD
MTI0RUU2MEMyNjQxQ0QwMDlFMjM0OSAvKiBCYXJQcm9wLmlkbCAqLywKIAkJCQk0NjBCQjYxMzFE
MEExQkVDMDAyMjE4MTIgLyogQmFzZTY0VXRpbGl0aWVzLmNwcCAqLywKIAkJCQk0NjBCQjYxNDFE
MEExQkVDMDAyMjE4MTIgLyogQmFzZTY0VXRpbGl0aWVzLmggKi8sCisJCQkJNDFEMTI5RDQxRjNE
MEY2NjAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVByb3ZpZGVyLmggKi8sCiAJCQkJMDcyQ0E4NjAx
NkNCNERDMzAwOEFFMTMxIC8qIENhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwICovLAogCQkJCTA3
OUQwODY3MTYyRjIwRTgwMERCODY1OCAvKiBDYXB0aW9uVXNlclByZWZlcmVuY2VzLmggKi8sCiAJ
CQkJMDc5RDA4NkExNjJGMjFGOTAwREI4NjU4IC8qIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRp
YUFGLmNwcCAqLywKQEAgLTI2NzgyLDcgKzI2Nzk4LDExIEBACiAJCQkJMDc1Mzg2MDMxNDQ4OUU5
ODAwQjc4NDUyIC8qIENhY2hlZFRleHRUcmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNCMTZD
MjgwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFhTTFN0eWxlU2hlZXQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTkzRjE5OTUwMDgyNDVFNTkwMDFFOUFCQyAvKiBDYWNoZVBvbGljeS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNDFEMTI5RDAxRjNEMEYwNTAwRDE1RTQ3IC8qIENhY2hlUXVlcnlPcHRpb25z
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTM4MEMyOTFGMzQzNkFDMDAxNTVGREEgLyogQ2FjaGVT
dG9yYWdlLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUQxMjlEMzFGM0QwRjE2MDBEMTVFNDcgLyog
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5RDUxRjNE
MEY2OTAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk0MUQxMjlEMjFGM0QwRjEyMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUmVjb3JkLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFNDNBRjhFNzFBQzVCN0VDMDBDQTcxN0UgLyogQ2FjaGVWYWxpZGF0aW9u
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUFFMkQ5NzEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY3Vs
YXRpb25WYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0MxRThEMDExRUQwQzJEQTAwQjFEOTgz
IC8qIENhbGxiYWNrUmVzdWx0LmggaW4gSGVhZGVycyAqLywKQEAgLTI3MjYwLDYgKzI3MjgwLDcg
QEAKIAkJCQkyRTM3REZEQjEyREJBRkI4MDBBNkIyMzMgLyogRE9NVVJMLmggaW4gSGVhZGVycyAq
LywKIAkJCQlDRDlERTE4MjE3QUFENkE0MDBFQTM4NkQgLyogRE9NVVJMTWVkaWFTb3VyY2UuaCBp
biBIZWFkZXJzICovLAogCQkJCTE0MDNCOTk3MDlFQjEzQUYwMDc5N0M3RiAvKiBET01XaW5kb3cu
aCBpbiBIZWFkZXJzICovLAorCQkJCTQxRDEyOUQxMUYzRDBGMEUwMEQxNUU0NyAvKiBET01XaW5k
b3dDYWNoZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRkEyRDc4MTUyMTMyQjMwMEMxQkEwQiAv
KiBET01XaW5kb3dFeHRlbnNpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTUxODVGQzc1MUJCNEM0
RTgwMDEyODk4RiAvKiBET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovLAog
CQkJCTk3RDJBRDA0MTRCODIzQTYwMDkzREYzMiAvKiBET01XaW5kb3dQcm9wZXJ0eS5oIGluIEhl
YWRlcnMgKi8sCkBAIC0yNzM1NSw2ICsyNzM3Niw3IEBACiAJCQkJODQ3MzBEODUxMjQ4RjBCMzAw
RDNBOUM5IC8qIEZFTW9ycGhvbG9neS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ3MzBEODcxMjQ4
RjBCMzAwRDNBOUM5IC8qIEZFT2Zmc2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDczMEQ4OTEy
NDhGMEIzMDBEM0E5QzkgLyogRkVTcGVjdWxhckxpZ2h0aW5nLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk0MUQxMjlEQjFGM0QxNDM4MDBEMTVFNDcgLyogRmV0Y2hIZWFkZXJzLmggaW4gSGVhZGVycyAq
LywKIAkJCQk0MTZFNkZFODFCQkQxMkRGMDAwQTYwMjMgLyogRmV0Y2hJbnRlcm5hbHNCdWlsdGlu
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFBRDc1M0ExQ0VGNkJEMTAwQTMxNDg2IC8qIEZldGNo
T3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0NFMTkxNEQxRjJBOUFGQjAwMjcyRjc4IC8q
IEZldGNoUmVmZXJyZXJQb2xpY3kuaCBpbiBIZWFkZXJzICovLApAQCAtMzAyODEsNiArMzAzMDMs
NyBAQAogCQkJCUE1MkE2ODY2MURCRDRCNUQwMDgzMzczRiAvKiBXb3JrZXJEZWJ1Z2dlckFnZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBM0UyNjQzMTE0NzQ4OTkxMDA1QTg1ODggLyogV29ya2Vy
RXZlbnRRdWV1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NDkwRjU0NkE4MjAwQjBGMUJB
IC8qIFdvcmtlckdsb2JhbFNjb3BlLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUQxMjlDRTFGM0Qw
RUY2MDBEMTVFNDcgLyogV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTUxODVGQ0I0MUJCNEM0RTgwMDEyODk4RiAvKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWRE
YXRhYmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NEIwRjU0NkE4MjAwQjBGMUJBIC8q
IFdvcmtlckdsb2JhbFNjb3BlUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1NEEwQzYyMURC
N0Y4QzEwMDE3QTkwQiAvKiBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmggaW4gSGVhZGVycyAq
LywKQEAgLTMwODkzLDYgKzMwOTE2LDcgQEAKIAkJCQkwNzUzODYwMjE0NDg5RTk4MDBCNzg0NTIg
LyogQ2FjaGVkVGV4dFRyYWNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQjE2QzI3MDk3OUMz
QkQwMDQ2Nzc0MSAvKiBDYWNoZWRYU0xTdHlsZVNoZWV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTQxMzgwQzI4MUYzNDM2QUMwMDE1NUZEQSAvKiBDYWNoZVN0b3JhZ2UuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJNDFEMTI5Q0YxRjNEMEVGRTAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5lY3Rp
b24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTQzQUY4RTYxQUM1QjdFODAwQ0E3MTdFIC8qIENh
Y2hlVmFsaWRhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUFFMkQ5NjEzNEVFNUY5MDA3
MjkyMEEgLyogQ2FsY3VsYXRpb25WYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NTIwNzYw
NDFGMjY3NUZFMDA3RDJBQUIgLyogQ2FsbFRyYWNlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcAppbmRleCA2NmM3ZjA4
ZjBmMjhiMDQ2YmI0YzM1ZThlOWJmMTlmYmRmMmFiYzU1Li4yYTgxM2I2YTEyMGRmMzU4ZjA4YmQy
NzE4Yzk2NTczNDMwMWRlZjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yT3ZlcmxheS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvck92ZXJsYXkuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9yT3ZlcmxheS5oIgogCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlUHJv
dmlkZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1ZGUgIkVkaXRvckNs
aWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKQEAgLTg2NSw3ICs4NjYsOCBAQCBQYWdlKiBJ
bnNwZWN0b3JPdmVybGF5OjpvdmVybGF5UGFnZSgpCiAgICAgUGFnZUNvbmZpZ3VyYXRpb24gcGFn
ZUNvbmZpZ3VyYXRpb24oCiAgICAgICAgIGNyZWF0ZUVtcHR5RWRpdG9yQ2xpZW50KCksCiAgICAg
ICAgIFNvY2tldFByb3ZpZGVyOjpjcmVhdGUoKSwKLSAgICAgICAgbWFrZVVuaXF1ZVJlZjxMaWJX
ZWJSVENQcm92aWRlcj4oKQorICAgICAgICBtYWtlVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVy
PigpLAorICAgICAgICBDYWNoZVN0b3JhZ2VQcm92aWRlcjo6Y3JlYXRlKCkKICAgICApOwogICAg
IGZpbGxXaXRoRW1wdHlDbGllbnRzKHBhZ2VDb25maWd1cmF0aW9uKTsKICAgICBtX292ZXJsYXlQ
YWdlID0gc3RkOjptYWtlX3VuaXF1ZTxQYWdlPihXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhY2hlU3RvcmFnZVByb3ZpZGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhY2hlU3RvcmFnZVByb3ZpZGVyLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NWFlYzlmNDYxOThhYTQxYTdhMmI2MmZmNTJhMDVkZmI3ZTNjODNiMQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaApAQCAtMCwwICsx
LDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiU2Vzc2lvbklELmgiCisjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBXRUJDT1JFX0VYUE9S
VCBDYWNoZVN0b3JhZ2VQcm92aWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPENhY2hlU3RvcmFnZVBy
b3ZpZGVyPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4g
Y3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNoZVN0b3JhZ2VQcm92aWRlcik7IH0K
KyAgICB2aXJ0dWFsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiBjcmVhdGVDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uKFNlc3Npb25JRCkgeyByZXR1cm4gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6
Y3JlYXRlKCk7IH0KKyAgICB2aXJ0dWFsIH5DYWNoZVN0b3JhZ2VQcm92aWRlcigpIHsgfTsKKwor
cHJvdGVjdGVkOgorICAgIENhY2hlU3RvcmFnZVByb3ZpZGVyKCkgPSBkZWZhdWx0OworfTsKKwor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggYzI2OTg3ZjhkY2IyZTllOTYwNmRhYTk3MmQyY2ZjYzdi
ZWNjNWZiNy4uNzA0MWYxY2YyOTU5NTRlYWZmMDRkNmI4YTYxNjRmOGZhYWMwZDY3NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiQmFja0ZvcndhcmRDbGll
bnQuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJDU1NB
bmltYXRpb25Db250cm9sbGVyLmgiCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCIK
ICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRl
ICJDb25zdGFudFByb3BlcnR5TWFwLmgiCkBAIC0yMjIsNiArMjIzLDcgQEAgUGFnZTo6UGFnZShQ
YWdlQ29uZmlndXJhdGlvbiYmIHBhZ2VDb25maWd1cmF0aW9uKQogI2VuZGlmCiAgICAgLCBtX3Nv
Y2tldFByb3ZpZGVyKFdURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uc29ja2V0UHJvdmlkZXIpKQog
ICAgICwgbV9hcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSgqV1RGTW92ZShwYWdlQ29uZmlndXJhdGlv
bi5hcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSkpCisgICAgLCBtX2NhY2hlU3RvcmFnZVByb3ZpZGVy
KFdURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uY2FjaGVTdG9yYWdlUHJvdmlkZXIpKQogICAgICwg
bV9kYXRhYmFzZVByb3ZpZGVyKCpXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLmRhdGFiYXNlUHJv
dmlkZXIpKQogICAgICwgbV9wbHVnaW5JbmZvUHJvdmlkZXIoKldURk1vdmUocGFnZUNvbmZpZ3Vy
YXRpb24ucGx1Z2luSW5mb1Byb3ZpZGVyKSkKICAgICAsIG1fc3RvcmFnZU5hbWVzcGFjZVByb3Zp
ZGVyKCpXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLnN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcikp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZS5oCmluZGV4IDkwOWYzNzkwMmQzM2UxZDBlZjNlNWE5YjRmNjRiYWI0ZGZhNWZm
MGIuLjVmYzg5Y2RjNTkyYzk0OWViMThkOWNlYTE3ZjYxZmJjZDM1NTEyMDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5oCkBAIC03Nyw2ICs3Nyw3IEBAIGNsYXNzIEFsdGVybmF0aXZlVGV4dENsaWVudDsKIGNsYXNz
IEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwogY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyOwog
Y2xhc3MgQmFja0ZvcndhcmRDbGllbnQ7CitjbGFzcyBDYWNoZVN0b3JhZ2VQcm92aWRlcjsKIGNs
YXNzIENocm9tZTsKIGNsYXNzIENocm9tZUNsaWVudDsKIGNsYXNzIENvbG9yOwpAQCAtNTEwLDYg
KzUxMSw3IEBAIHB1YmxpYzoKIAogICAgIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlJiBhcHBsaWNh
dGlvbkNhY2hlU3RvcmFnZSgpIHsgcmV0dXJuIG1fYXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7IH0K
ICAgICBEYXRhYmFzZVByb3ZpZGVyJiBkYXRhYmFzZVByb3ZpZGVyKCkgeyByZXR1cm4gbV9kYXRh
YmFzZVByb3ZpZGVyOyB9CisgICAgQ2FjaGVTdG9yYWdlUHJvdmlkZXImIGNhY2hlU3RvcmFnZVBy
b3ZpZGVyKCkgeyByZXR1cm4gbV9jYWNoZVN0b3JhZ2VQcm92aWRlcjsgfQogICAgIFNvY2tldFBy
b3ZpZGVyJiBzb2NrZXRQcm92aWRlcigpIHsgcmV0dXJuIG1fc29ja2V0UHJvdmlkZXI7IH0KIAog
ICAgIFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlciYgc3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyKCkg
eyByZXR1cm4gbV9zdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIuZ2V0KCk7IH0KQEAgLTc4NCw2ICs3
ODYsNyBAQCBwcml2YXRlOgogCiAgICAgUmVmPFNvY2tldFByb3ZpZGVyPiBtX3NvY2tldFByb3Zp
ZGVyOwogICAgIFJlZjxBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZT4gbV9hcHBsaWNhdGlvbkNhY2hl
U3RvcmFnZTsKKyAgICBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+IG1fY2FjaGVTdG9yYWdlUHJv
dmlkZXI7CiAgICAgUmVmPERhdGFiYXNlUHJvdmlkZXI+IG1fZGF0YWJhc2VQcm92aWRlcjsKICAg
ICBSZWY8UGx1Z2luSW5mb1Byb3ZpZGVyPiBtX3BsdWdpbkluZm9Qcm92aWRlcjsKICAgICBSZWY8
U3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyPiBtX3N0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAKaW5kZXggMTEyM2RkNmQ0MDVh
OTQ4MTNhNGE3ODc0MmM3ZDY2ZDJjZjFiZWU3Yy4uZjFiODI3ZGNmYmFhZTZlNmM4ZGNjYWQ5ZDE4
ZDQ5Mzc5ZGM5NTFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmln
dXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5j
cHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdl
LmgiCiAjaW5jbHVkZSAiQmFja0ZvcndhcmRDbGllbnQuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3Jh
Z2VQcm92aWRlci5oIgogI2luY2x1ZGUgIkRhdGFiYXNlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJE
aWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIgogI2luY2x1ZGUgIkVkaXRvckNsaWVudC5oIgpAQCAt
NDMsMTAgKzQ0LDExIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFnZUNvbmZpZ3VyYXRp
b246OlBhZ2VDb25maWd1cmF0aW9uKFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYgZWRpdG9yQ2xp
ZW50LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYgc29ja2V0UHJvdmlkZXIsIFVuaXF1ZVJlZjxMaWJX
ZWJSVENQcm92aWRlcj4mJiBsaWJXZWJSVENQcm92aWRlcikKK1BhZ2VDb25maWd1cmF0aW9uOjpQ
YWdlQ29uZmlndXJhdGlvbihVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmIGVkaXRvckNsaWVudCwg
UmVmPFNvY2tldFByb3ZpZGVyPiYmIHNvY2tldFByb3ZpZGVyLCBVbmlxdWVSZWY8TGliV2ViUlRD
UHJvdmlkZXI+JiYgbGliV2ViUlRDUHJvdmlkZXIsIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4m
JiBjYWNoZVN0b3JhZ2VQcm92aWRlcikKICAgICA6IGVkaXRvckNsaWVudChXVEZNb3ZlKGVkaXRv
ckNsaWVudCkpCiAgICAgLCBzb2NrZXRQcm92aWRlcihXVEZNb3ZlKHNvY2tldFByb3ZpZGVyKSkK
ICAgICAsIGxpYldlYlJUQ1Byb3ZpZGVyKFdURk1vdmUobGliV2ViUlRDUHJvdmlkZXIpKQorICAg
ICwgY2FjaGVTdG9yYWdlUHJvdmlkZXIoV1RGTW92ZShjYWNoZVN0b3JhZ2VQcm92aWRlcikpCiB7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaAppbmRleCBmNTNhMTJj
Mzg3ZWFmYjQwNGYyYTA2NjYwMjc1OWVjOWE3ZmMwZjVmLi5hODYyZDQzMDJlMDM2NDY0ZjkxMGE1
N2IwMWQ3N2I2NGNjNmVmNDI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VD
b25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlv
bi5oCkBAIC0zNCw2ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFsdGVybmF0
aXZlVGV4dENsaWVudDsKIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwogY2xhc3MgQmFj
a0ZvcndhcmRDbGllbnQ7CitjbGFzcyBDYWNoZVN0b3JhZ2VQcm92aWRlcjsKIGNsYXNzIENocm9t
ZUNsaWVudDsKIGNsYXNzIENvbnRleHRNZW51Q2xpZW50OwogY2xhc3MgRGF0YWJhc2VQcm92aWRl
cjsKQEAgLTU4LDcgKzU5LDcgQEAgY2xhc3MgV2ViR0xTdGF0ZVRyYWNrZXI7CiBjbGFzcyBQYWdl
Q29uZmlndXJhdGlvbiB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNvbmZpZ3VyYXRp
b24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9S
VCBQYWdlQ29uZmlndXJhdGlvbihVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmLCBSZWY8U29ja2V0
UHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJik7CisgICAgV0VCQ09S
RV9FWFBPUlQgUGFnZUNvbmZpZ3VyYXRpb24oVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiwgUmVm
PFNvY2tldFByb3ZpZGVyPiYmLCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYsIFJlZjxD
YWNoZVN0b3JhZ2VQcm92aWRlcj4mJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgflBhZ2VDb25maWd1
cmF0aW9uKCk7CiAKICAgICBBbHRlcm5hdGl2ZVRleHRDbGllbnQqIGFsdGVybmF0aXZlVGV4dENs
aWVudCB7IG51bGxwdHIgfTsKQEAgLTg3LDYgKzg4LDcgQEAgcHVibGljOgogCiAgICAgUmVmUHRy
PEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlPiBhcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTsKICAgICBS
ZWZQdHI8RGF0YWJhc2VQcm92aWRlcj4gZGF0YWJhc2VQcm92aWRlcjsKKyAgICBSZWY8Q2FjaGVT
dG9yYWdlUHJvdmlkZXI+IGNhY2hlU3RvcmFnZVByb3ZpZGVyOwogICAgIFJlZlB0cjxQbHVnaW5J
bmZvUHJvdmlkZXI+IHBsdWdpbkluZm9Qcm92aWRlcjsKICAgICBSZWZQdHI8U3RvcmFnZU5hbWVz
cGFjZVByb3ZpZGVyPiBzdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI7CiAgICAgUmVmUHRyPFVzZXJD
b250ZW50UHJvdmlkZXI+IHVzZXJDb250ZW50UHJvdmlkZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL2dy
YXBoaWNzL1NWR0ltYWdlLmNwcAppbmRleCA3ODZlOGY3YTdiY2E2MDgwOWE1NTViNjVmODM1YzJh
NTBhMDA4MmU4Li44MjU5YjJmOGUyODY2M2IyMTdjZGVhMDRjMmY4ZWMzODM3Y2Q3OGY0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTVkdJbWFnZS5oIgogCisjaW5jbHVkZSAi
Q2FjaGVTdG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJD
b21tb25WTS5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgpAQCAtNDI5LDcgKzQzMCw4IEBAIEVu
Y29kZWREYXRhU3RhdHVzIFNWR0ltYWdlOjpkYXRhQ2hhbmdlZChib29sIGFsbERhdGFSZWNlaXZl
ZCkKICAgICAgICAgUGFnZUNvbmZpZ3VyYXRpb24gcGFnZUNvbmZpZ3VyYXRpb24oCiAgICAgICAg
ICAgICBjcmVhdGVFbXB0eUVkaXRvckNsaWVudCgpLAogICAgICAgICAgICAgU29ja2V0UHJvdmlk
ZXI6OmNyZWF0ZSgpLAotICAgICAgICAgICAgbWFrZVVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRl
cj4oKQorICAgICAgICAgICAgbWFrZVVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4oKSwKKyAg
ICAgICAgICAgIENhY2hlU3RvcmFnZVByb3ZpZGVyOjpjcmVhdGUoKQogICAgICAgICApOwogICAg
ICAgICBmaWxsV2l0aEVtcHR5Q2xpZW50cyhwYWdlQ29uZmlndXJhdGlvbik7CiAgICAgICAgIG1f
Y2hyb21lQ2xpZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxTVkdJbWFnZUNocm9tZUNsaWVudD4odGhp
cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dl
YktpdC9DTWFrZUxpc3RzLnR4dAppbmRleCA3ZTMxZDUyYjA1NzkzYzE2ZTUzZTI1NjExMGE2M2Jm
ZWFjZWE4MzlhLi45Yjg1ODNlMzhiNmVjYWNkZjc3MDFlMDA5MjIwYjhiZjgwY2EzOTNlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQv
Q01ha2VMaXN0cy50eHQKQEAgLTUyLDYgKzUyLDcgQEAgc2V0KFdlYktpdDJfSU5DTFVERV9ESVJF
Q1RPUklFUwogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0FwcGxlUGF5IgogICAgICIk
e1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0FwcGxpY2F0aW9uQ2FjaGUiCiAgICAgIiR7V0VCS0lU
Ml9ESVJ9L1dlYlByb2Nlc3MvQXV0b21hdGlvbiIKKyAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJv
Y2Vzcy9DYWNoZSIKICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9Db29raWVzIgogICAg
ICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0RhdGFiYXNlcyIKICAgICAiJHtXRUJLSVQyX0RJ
Un0vV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTA5YTVlY2Q3ZDdiMWFiMDIxNGIy
OTE5NzA0OTYxODg3MDczNjQxMi4uYTgzODgxNjBkMWUxYjg5ZTQ4MGIxYzY0MzNmMGY3M2E1MDM1
ZjhmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC04OTEsNiArODkxLDcgQEAKIAkJNDEzMDc1QjIxREU4NUY1ODAwMzlFQzY5IC8qIExp
YldlYlJUQ1NvY2tldEZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxMzA3NUE2MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENTb2NrZXRG
YWN0b3J5LmggKi87IH07CiAJCTQxMzA3NUIzMURFODVGNTgwMDM5RUM2OSAvKiBMaWJXZWJSVENQ
cm92aWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MTMwNzVBNzFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuY3BwICovOyB9
OwogCQk0MTMwNzVCNDFERTg1RjU4MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUE4MURFODVF
RTcwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5oICovOyB9OworCQk0MUQxMjlEQTFGM0Qx
MDE4MDBEMTVFNDcgLyogV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDEyOUQ5MUYzRDEwMTQwMEQxNUU0NyAv
KiBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oICovOyB9OwogCQk0MURDNDU5NjFFM0Q2RTIyMDBC
MTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MURDNDU5NDFFM0Q2RTFFMDBCMTFGNTEgLyogTmV0d29ya1JU
Q1Byb3ZpZGVyLmggKi87IH07CiAJCTQxREM0NTk3MUUzRDZFMjIwMEIxMUY1MSAvKiBOZXR3b3Jr
UlRDUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDFEQzQ1OTUxRTNENkUxRTAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5jcHAg
Ki87IH07CiAJCTQxREM0NTlCMUUzREJCMjgwMEIxMUY1MSAvKiBMaWJXZWJSVENTb2NrZXRDbGll
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFE
QzQ1OTkxRTNEQkIyNDAwQjExRjUxIC8qIExpYldlYlJUQ1NvY2tldENsaWVudC5jcHAgKi87IH07
CkBAIC0zMTQyLDYgKzMxNDMsNyBAQAogCQk0MTMwNzVBNzFERTg1RUU3MDAzOUVDNjkgLyogTGli
V2ViUlRDUHJvdmlkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBsaW5lRW5k
aW5nID0gMDsgbmFtZSA9IExpYldlYlJUQ1Byb3ZpZGVyLmNwcDsgcGF0aCA9IE5ldHdvcmsvd2Vi
cnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5n
dWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07CiAJCTQxMzA3
NUE4MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0gTGliV2ViUlRDUHJvdmlkZXIuaDsg
cGF0aCA9IE5ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcu
b2JqY3BwOyB9OwogCQk0MUFDODY4MTFFMDQyRTUzMDAzMDMwNzQgLyogV2ViUlRDUmVzb2x2ZXIu
bWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBsaW5lRW5kaW5nID0gMDsgbmFtZSA9IFdlYlJU
Q1Jlc29sdmVyLm1lc3NhZ2VzLmluOyBwYXRoID0gTmV0d29yay93ZWJydGMvV2ViUlRDUmVzb2x2
ZXIubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZp
Y2F0aW9uSWRlbnRpZmllciA9ICI8bm9uZT4iOyB9OworCQk0MUQxMjlEOTFGM0QxMDE0MDBEMTVF
NDcgLyogV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ2FjaGVT
dG9yYWdlUHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFEQzQ1OTQx
RTNENkUxRTAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBOZXR3b3JrUlRDUHJvdmlkZXIuaDsgcGF0aCA9IE5ldHdvcmtQcm9j
ZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDFEQzQ1OTUxRTNENkUxRTAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBOZXR3b3JrUlRDUHJvdmlkZXIu
Y3BwOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxREM0NTk4MUUzRDZFRDYwMEIxMUY1MSAv
KiBOZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0g
TmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mvd2Vi
cnRjL05ldHdvcmtSVENQcm92aWRlci5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTU5MTIsNiArNTkxNCwxNCBAQAogCQkJbmFtZSA9IHdlYnJ0YzsKIAkJCXNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTQxRDEyOUQ4MUYzRDEwMTQwMEQxNUU0NyAvKiBD
YWNoZSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNDFE
MTI5RDkxRjNEMTAxNDAwRDE1RTQ3IC8qIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmggKi8sCisJ
CQkpOworCQkJcGF0aCA9IENhY2hlOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsK
IAkJNDQ1MEFFQkUxREMzRkFBQzAwOTk0M0YyIC8qIGNvY29hICovID0gewogCQkJaXNhID0gUEJY
R3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTY1OTIsNiArNjYwMiw3IEBACiAJCQljaGlsZHJl
biA9ICgKIAkJCQkxQUIxRjc3MDFEMUIyRjVEMDA3QzlCRDEgLyogQXBwbGVQYXkgKi8sCiAJCQkJ
MUMwQTE5NDMxQzhGRjFBODAwRkUwRUJCIC8qIEF1dG9tYXRpb24gKi8sCisJCQkJNDFEMTI5RDgx
RjNEMTAxNDAwRDE1RTQ3IC8qIENhY2hlICovLAogCQkJCTdDNkU3MEY4MThCMkQ0N0UwMEYyNEUy
RSAvKiBjb2NvYSAqLywKIAkJCQkzMzA5MzQ0QjEzMTVCOTNBMDA5N0E3QkMgLyogQ29va2llcyAq
LywKIAkJCQk1MTJBOTc1NDE4MERGOTI3MDAzOUExNDkgLyogRGF0YWJhc2VzICovLApAQCAtODY4
OSw2ICs4NzAwLDcgQEAKIAkJCQlCQzcyQkExRTExRTY0OTA3MDAxRUI0RUEgLyogV2ViQmFja0Zv
cndhcmRMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MThEMkNBRTEyRDUxNTNCMDAzQkI5M0Ig
LyogV2ViQmFja0ZvcndhcmRMaXN0SXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM3MkI5RkIx
MUU2NDc2QjAwMUVCNEVBIC8qIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmggaW4gSGVhZGVycyAq
LywKKwkJCQk0MUQxMjlEQTFGM0QxMDE4MDBEMTVFNDcgLyogV2ViQ2FjaGVTdG9yYWdlUHJvdmlk
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRjUwNzI4MTI0MzI5QUEwMDU5NTVBRSAvKiBXZWJD
ZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDMyRDc1MTBGNDM3OEQwMDU4
QzE1QSAvKiBXZWJDaHJvbWVDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTNGODdCOUJFMTU4
OTQwMTkwMDkwRkY2MiAvKiBXZWJDb2xvckNob29zZXIuaCBpbiBIZWFkZXJzICovLApAQCAtODgz
MSw3ICs4ODQzLDYgQEAKIAkJCQlCQ0UwRTQyNTE2OEI3QTI4MDA1N0U2NkEgLyogV2ViUHJvY2Vz
c1N1cHBsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMUUwOTM0MTg4NjFEMzgwMEQyREM0
OSAvKiBXZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMkY1
ODlEMTJBODgzODgwMDYyOTUzMCAvKiBXZWJQcm90ZWN0aW9uU3BhY2UuaCBpbiBIZWFkZXJzICov
LAotCQkJCTUxQkVCNjJDMUYzQTVBRDcwMDUwMjlCOSAvKiBXZWJTZXJ2aWNlV29ya2VyUHJvdmlk
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3OTQ4NDA0MTUwQzM1MDYwMEU1MkNFOSAvKiBXZWJS
ZW5kZXJMYXllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzc2MDg4MUYxNTA0MTNFOTAwRkM4MkM3
IC8qIFdlYlJlbmRlck9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwQUZGQkExNjU0MjA0
ODAwMUJBMDVFIC8qIFdlYlJlc291cmNlTG9hZGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTg4NDMs
NiArODg1NCw3IEBACiAJCQkJNDFEQzQ1OUYxRTNEQkRBNTAwQjExRjUxIC8qIFdlYlJUQ1NvY2tl
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0MzNjFENzMxOTI3RkEzNjAwMzZBNTlEIC8qIFdlYlNj
cmlwdE1lc3NhZ2VIYW5kbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlEM0I5NDg0OTExRkY0QjY1
MDAwMzJCMzkgLyogV2ViU2VhcmNoUG9wdXBNZW51LmggaW4gSGVhZGVycyAqLywKKwkJCQk1MUJF
QjYyQzFGM0E1QUQ3MDA1MDI5QjkgLyogV2ViU2VydmljZVdvcmtlclByb3ZpZGVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxQTQ4MzJENzFBOUNERjk2MDA4QjRERkUgLyogV2Vic2l0ZURhdGEuaCBp
biBIZWFkZXJzICovLAogCQkJCTFBNDgzMkQxMUE5QkRDMkYwMDhCNERGRSAvKiBXZWJzaXRlRGF0
YVJlY29yZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE1M0MyQUExQTMyNTczMDAwNEU4QzcwIC8q
IFdlYnNpdGVEYXRhU3RvcmUuaCBpbiBIZWFkZXJzICovLApAQCAtMTAzNzEsNyArMTAzODMsNiBA
QAogCQkJCTJEQTk0NEExMTg4NEU0RjAwMEVEODZEQiAvKiBXZWJJT1NFdmVudEZhY3RvcnkubW0g
aW4gU291cmNlcyAqLywKIAkJCQlDMDMzN0REMzEyN0EyQTBFMDA4RkY0RjQgLyogV2ViS2V5Ym9h
cmRFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTYyODBGMzE5MTk5ODJBMDA2QUQ5Rjkg
LyogV2ViS2l0Lm0gaW4gU291cmNlcyAqLywKLQkJCQk1MUJFQjYyQjFGM0E1QUQ3MDA1MDI5Qjkg
LyogV2ViU2VydmljZVdvcmtlclByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDOUJB
NTA0MTY5N0M0NTMwMEU0NDYxNiAvKiBXZWJLaXQySW5pdGlhbGl6ZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk0NjUyNTBFNjFFQ0Y1MkRDMDAyMDI1Q0IgLyogV2ViS2l0MkluaXRpYWxpemVDb2Nv
YS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxRkIwOEZGMTYzOURFMUEwMEVDMzI0QSAvKiBXZWJM
b2FkZXJTdHJhdGVneS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTEwNDY5LDYgKzEwNDgwLDcgQEAK
IAkJCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUMgLyogV2ViUlRDU29ja2V0TWVzc2FnZVJlY2Vp
dmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDMzYxRDcyMTkyN0ZBMzYwMDM2QTU5RCAvKiBX
ZWJTY3JpcHRNZXNzYWdlSGFuZGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlEM0I5NDg0ODEx
RkY0QjY1MDAwMzJCMzkgLyogV2ViU2VhcmNoUG9wdXBNZW51LmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTUxQkVCNjJCMUYzQTVBRDcwMDUwMjlCOSAvKiBXZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE0ODMyRDYxQTlDREY5NjAwOEI0REZFIC8qIFdlYnNp
dGVEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNDgzMkQ5MUE5RDFGRDIwMDhCNERGRSAv
KiBXZWJzaXRlRGF0YVJlY29yZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTUzQzJBOTFBMzI1
NzJCMDA0RThDNzAgLyogV2Vic2l0ZURhdGFTdG9yZS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9DYWNoZS9XZWJDYWNoZVN0b3JhZ2VQcm92
aWRlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0NhY2hlL1dlYkNhY2hlU3RvcmFnZVBy
b3ZpZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMGU3ODgzNGRmN2EzZDhiNDBjMWUyOTlkNzQ2NzljOTk4NmM1
OGFkNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9DYWNoZS9X
ZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPFdlYkNvcmUvQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaD4K
KworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyIGZp
bmFsIDogcHVibGljIFdlYkNvcmU6OkNhY2hlU3RvcmFnZVByb3ZpZGVyIHsKK3B1YmxpYzoKKyAg
ICBzdGF0aWMgUmVmPFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyPiBjcmVhdGUoKSB7IHJldHVybiBh
ZG9wdFJlZigqbmV3IFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyKTsgfQorCitwcml2YXRlOgorICAg
IFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyKCkgPSBkZWZhdWx0OworfTsKKworfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA4Y2U2YTJlNmE0OWNl
MTBiODE4ZTdmNzY3Zjk2ODYzNTQzZGIxYzFjLi5mZTM3ZTBkNTQxMTg1ZTU5ODhhMGNkZWJiNWQ3
NGJkZmYxM2U2NDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcApAQCAtNjgsNiArNjgsNyBAQAogI2luY2x1ZGUgIldlYkFsdGVybmF0aXZlVGV4dENs
aWVudC5oIgogI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uaCIKICNpbmNsdWRlICJX
ZWJCYWNrRm9yd2FyZExpc3RQcm94eS5oIgorI2luY2x1ZGUgIldlYkNhY2hlU3RvcmFnZVByb3Zp
ZGVyLmgiCiAjaW5jbHVkZSAiV2ViQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViQ29sb3JD
aG9vc2VyLmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnUuaCIKQEAgLTM3MSw3ICszNzIsOCBA
QCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1l
dGVycyYmIHBhcmFtZXRlcnMpCiAgICAgUGFnZUNvbmZpZ3VyYXRpb24gcGFnZUNvbmZpZ3VyYXRp
b24oCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViRWRpdG9yQ2xpZW50Pih0aGlzKSwKICAgICAg
ICAgV2ViU29ja2V0UHJvdmlkZXI6OmNyZWF0ZSgpLAotICAgICAgICBtYWtlVW5pcXVlUmVmPFdl
YktpdDo6TGliV2ViUlRDUHJvdmlkZXI+KCkKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJLaXQ6
OkxpYldlYlJUQ1Byb3ZpZGVyPigpLAorICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5j
YWNoZVN0b3JhZ2VQcm92aWRlcigpCiAgICAgKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJv
bWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50KCp0aGlzKTsKICNpZiBFTkFCTEUoQ09OVEVY
VF9NRU5VUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCAzNzgy
Mjg2NmEyN2Q3MGQ2YTRhY2RlOGQyNmQ0NzQ5NDkxNWFmZDAxLi44NzBmM2NkZTg1MzdjNjI4OWZj
MTc1ZjI3YmU3YzlkNDg2YzA3YTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuY3BwCkBAIC00NCw2ICs0NCw3IEBACiAjaW5jbHVkZSAiU3RhdGlzdGljc0RhdGEuaCIKICNp
bmNsdWRlICJVc2VyRGF0YS5oIgogI2luY2x1ZGUgIldlYkF1dG9tYXRpb25TZXNzaW9uUHJveHku
aCIKKyNpbmNsdWRlICJXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgogI2luY2x1ZGUgIldlYkNv
bm5lY3Rpb25Ub1VJUHJvY2Vzcy5oIgogI2luY2x1ZGUgIldlYkNvb2tpZU1hbmFnZXIuaCIKICNp
bmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKQEAgLTE2MCw2ICsxNjEsNyBAQCBXZWJQ
cm9jZXNzOjpXZWJQcm9jZXNzKCkKICNlbmRpZgogICAgICwgbV93ZWJJbnNwZWN0b3JJbnRlcnJ1
cHREaXNwYXRjaGVyKFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXI6OmNyZWF0ZSgpKQog
ICAgICwgbV93ZWJMb2FkZXJTdHJhdGVneSgqbmV3IFdlYkxvYWRlclN0cmF0ZWd5KQorICAgICwg
bV9jYWNoZVN0b3JhZ2VQcm92aWRlcihXZWJDYWNoZVN0b3JhZ2VQcm92aWRlcjo6Y3JlYXRlKCkp
CiAgICAgLCBtX2Ruc1ByZWZldGNoSHlzdGVyZXJpcyhbdGhpc10oSHlzdGVyZXNpc1N0YXRlIHN0
YXRlKSB7IGlmIChzdGF0ZSA9PSBIeXN0ZXJlc2lzU3RhdGU6OlN0b3BwZWQpIG1fZG5zUHJlZmV0
Y2hlZEhvc3RzLmNsZWFyKCk7IH0pCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAg
ICAgLCBtX3BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcihQbHVnaW5Qcm9jZXNzQ29ubmVj
dGlvbk1hbmFnZXI6OmNyZWF0ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgK
aW5kZXggY2YyYWI4MTNiMzc5MDM3M2IyZGEwZmE2ZmFiZjdiYWM0N2IyZjQ5Ny4uMTIzYzRiYjE5
OGNhZjcwY2Q5NzZmNjk1OTlmNzc3OTBiMWQwYmI3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oCkBAIC04MCw2ICs4MCw3IEBAIGNsYXNzIE9iakNPYmplY3RHcmFwaDsKIGNs
YXNzIFVzZXJEYXRhOwogY2xhc3MgV2F5bGFuZENvbXBvc2l0b3JEaXNwbGF5OwogY2xhc3MgV2Vi
QXV0b21hdGlvblNlc3Npb25Qcm94eTsKK2NsYXNzIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyOwog
Y2xhc3MgV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzOwogY2xhc3MgV2ViRnJhbWU7CiBjbGFzcyBX
ZWJMb2FkZXJTdHJhdGVneTsKQEAgLTIyMiw2ICsyMjMsOCBAQCBwdWJsaWM6CiAKICAgICBXZWJB
dXRvbWF0aW9uU2Vzc2lvblByb3h5KiBhdXRvbWF0aW9uU2Vzc2lvblByb3h5KCkgeyByZXR1cm4g
bV9hdXRvbWF0aW9uU2Vzc2lvblByb3h5LmdldCgpOyB9CiAKKyAgICBXZWJDYWNoZVN0b3JhZ2VQ
cm92aWRlciYgY2FjaGVTdG9yYWdlUHJvdmlkZXIoKSB7IHJldHVybiBtX2NhY2hlU3RvcmFnZVBy
b3ZpZGVyLmdldCgpOyB9CisKIHByaXZhdGU6CiAgICAgV2ViUHJvY2VzcygpOwogICAgIH5XZWJQ
cm9jZXNzKCk7CkBAIC0zNzUsNiArMzc4LDggQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8TmV0d29y
a1Byb2Nlc3NDb25uZWN0aW9uPiBtX25ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjsKICAgICBXZWJM
b2FkZXJTdHJhdGVneSYgbV93ZWJMb2FkZXJTdHJhdGVneTsKIAorICAgIFJlZjxXZWJDYWNoZVN0
b3JhZ2VQcm92aWRlcj4gbV9jYWNoZVN0b3JhZ2VQcm92aWRlcjsKKwogI2lmIFVTRShMSUJXRUJS
VEMpCiAgICAgc3RkOjp1bmlxdWVfcHRyPExpYldlYlJUQ05ldHdvcms+IG1fbGliV2ViUlRDTmV0
d29yazsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
CmluZGV4IGMwMDFmMDAyODA2NTMyMDJiODgzYzYwYWZhNDkzN2Q0YTNmNjY5MGQuLmFmMGY3ZTJh
OWY2YmQ2MTM1NWYxNmU4MzI2ZWI0YTY3NjY0Njk5YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTEyNCw2ICsxMjQsNyBAQAogI2ltcG9ydCA8V2Vi
Q29yZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9CYWNrRm9y
d2FyZENvbnRyb2xsZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ1NTQW5pbWF0aW9uQ29udHJvbGxl
ci5oPgorI2ltcG9ydCA8V2ViQ29yZS9DYWNoZVN0b3JhZ2VQcm92aWRlci5oPgogI2ltcG9ydCA8
V2ViQ29yZS9DaHJvbWUuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29sb3JNYWMuaD4KICNpbXBvcnQg
PFdlYkNvcmUvRGF0YWJhc2VNYW5hZ2VyLmg+CkBAIC0xNDEzLDcgKzE0MTQsOCBAQCAtICh2b2lk
KV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6KE5TU3RyaW5nICopZnJhbWVOYW1l
IGdyb3VwTmFtZTooTlNTdAogICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9u
KAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkVkaXRvckNsaWVudD4oc2VsZiksCiAgICAgICAg
IFNvY2tldFByb3ZpZGVyOjpjcmVhdGUoKSwKLSAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3Jl
OjpMaWJXZWJSVENQcm92aWRlcj4oKQorICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6Okxp
YldlYlJUQ1Byb3ZpZGVyPigpLAorICAgICAgICBXZWJDb3JlOjpDYWNoZVN0b3JhZ2VQcm92aWRl
cjo6Y3JlYXRlKCkKICAgICApOwogI2lmICFQTEFURk9STShJT1MpCiAgICAgcGFnZUNvbmZpZ3Vy
YXRpb24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudChzZWxmKTsKQEAgLTE2NzYs
NyArMTY3OCw4IEBAIC0gKGlkKWluaXRTaW1wbGVIVE1MRG9jdW1lbnRXaXRoU3R5bGU6KE5TU3Ry
aW5nICopc3R5bGUgZnJhbWU6KENHUmVjdClmcmFtZSBwcmVmCiAgICAgUGFnZUNvbmZpZ3VyYXRp
b24gcGFnZUNvbmZpZ3VyYXRpb24oCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViRWRpdG9yQ2xp
ZW50PihzZWxmKSwKICAgICAgICAgU29ja2V0UHJvdmlkZXI6OmNyZWF0ZSgpLAotICAgICAgICBt
YWtlVW5pcXVlUmVmPFdlYkNvcmU6OkxpYldlYlJUQ1Byb3ZpZGVyPigpCisgICAgICAgIG1ha2VV
bmlxdWVSZWY8V2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXI+KCksCisgICAgICAgIFdlYkNvcmU6
OkNhY2hlU3RvcmFnZVByb3ZpZGVyOjpjcmVhdGUoKQogICAgICk7CiAgICAgcGFnZUNvbmZpZ3Vy
YXRpb24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudElPUyhzZWxmKTsKICNpZiBF
TkFCTEUoRFJBR19TVVBQT1JUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAppbmRleCA2
NmVmZTIzMTcwZWZkNTY0MGJhZjZhNDMxYmVlNDliZDQ5NzBlMjcwLi40YWFhMDkyOGM4MmIyNTlm
NDEzNWM5MmZlMWY3MTBmOTVjMTJiOWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNw
cApAQCAtODQsNiArODQsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvQlN0cmluZy5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvQmFja0ZvcndhcmRDb250cm9sbGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9C
aXRtYXBJbmZvLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DYWNoZVN0b3JhZ2VQcm92aWRlci5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvQ2hyb21lLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Db250ZXh0TWVu
dS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ29udGV4dE1lbnVDb250cm9sbGVyLmg+CkBAIC0zMTAy
LDcgKzMxMDMsOCBAQCBIUkVTVUxUIFdlYlZpZXc6OmluaXRXaXRoRnJhbWUoUkVDVCBmcmFtZSwg
X0luXyBCU1RSIGZyYW1lTmFtZSwgX0luXyBCU1RSIGdyb3VwTgogICAgIFBhZ2VDb25maWd1cmF0
aW9uIGNvbmZpZ3VyYXRpb24oCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViRWRpdG9yQ2xpZW50
Pih0aGlzKSwKICAgICAgICAgU29ja2V0UHJvdmlkZXI6OmNyZWF0ZSgpLAotICAgICAgICBtYWtl
VW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPigpCisgICAgICAgIG1ha2VVbmlxdWVSZWY8TGli
V2ViUlRDUHJvdmlkZXI+KCksCisgICAgICAgIFdlYkNvcmU6OkNhY2hlU3RvcmFnZVByb3ZpZGVy
OjpjcmVhdGUoKQogICAgICk7CiAgICAgY29uZmlndXJhdGlvbi5iYWNrRm9yd2FyZENsaWVudCA9
IEJhY2tGb3J3YXJkTGlzdDo6Y3JlYXRlKCk7CiAgICAgY29uZmlndXJhdGlvbi5jaHJvbWVDbGll
bnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50KHRoaXMpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDAwMWVhODBmZTM1NTQ0ZjM5
MGI0Y2MyNTNjOTM4MzJhZTBmYjk0YzguLjJkOWZkYmVkZTFmMGUzMzhmMzc2YzBlNTZkYmQwNjlk
NzhmMDhiNDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNy0wOC0xMyAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRkaW5nIGdlbmVy
aWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6
IFNraXBwaW5nIGEgdGVzdCB0aGF0IHdvdWxkIHRpbWVvdXQgb3RoZXJ3aXNlIGR1ZSB0byB0aGUg
Y3VycmVudCBpbXBsZW1lbnRhdGlvbiBsaW1pdGF0aW9ucy4KKwogMjAxNy0wOC0xNCAgUnlhbiBI
YWRkYWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWJhc2VsaW5lIGVkaXRp
bmcvbWFjL2lucHV0L2ZpcnN0cmVjdGZvcmNoYXJhY3RlcnJhbmdlLXN0eWxlZC5odG1sLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZDcyMDM0NDM3OGMwODIzZDY4NmIyMzU3MzI5
NDNkNjAzMzM1ZGFjYy4uNjFkZGFkMWViMzYwNzEzYjNkMDQ1Mzc3YTgxZDVmODg5NjI2NjNkZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTctMDgt
MTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFtDYWNoZSBB
UEldIEFkZGluZyBnZW5lcmljIHN1cHBvcnQgZm9yIENhY2hlU3RvcmFnZSBhbmQgQ2FjaGUgbWV0
aG9kcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1
NDU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdv
cmtlci9jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9y
YWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UuaHR0
cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9j
YWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dDoKKwog
MjAxNy0wOC0xNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxvdXQgcjIyMDYyMiAmIHIyMjA2OTYKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IGI5NTYxODkyNDYxNjNhMDFiZjU3YWFjZjM5NGQ0ZmUwM2QwZDhjMDUuLmM3YWVlYzRhY2FkZmEz
NGIyNDFkMDE4NDIxNjEyMGU0MWExMTJlMTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTIxLDcg
KzEyMSw3IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3N0dWItNC42LjItY2FjaGUuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc3R1Yi00LjYuMy1jYWNoZS1zdG9yYWdlLmh0bWwgWyBQ
YXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2Nh
Y2hlLXN0b3JhZ2UgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93IFsgUGFzcyBGYWlsdXJlIF0KLQoraW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFn
ZS9jb21tb24uaHR0cHMuaHRtbCBbIFNraXAgXQogCiAjIHRleHRhcmVhLmFuaW1hdGUgaXMgbm90
IHN1cHBvcnRlZAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXVpLTMv
Y2FyZXQtY29sb3ItMDE4Lmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3Jh
Z2Uvc2VydmljZXdvcmtlci9jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDA3NjE2NTBkYmM0MWU4YmQxNWU2NGU0N2UzMDhmMmRjMzJhYjllNWIuLjM4ZTk1MjM5N2Mz
NDYxOTI4ZjFlZjFlZGY3YWJlZTMwY2UzODEyNzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3Jh
Z2Uvc2VydmljZXdvcmtlci9jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
Y2FjaGUtc3RvcmFnZS9zZXJ2aWNld29ya2VyL2NyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4
dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBDYWNoZSBBUEkgbWF0Y2hpbmcgaW5jbHVkZXMgY3Jl
ZGVudGlhbHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlIEFQSSBtYXRjaGlu
ZyBpbmNsdWRlcyBjcmVkZW50aWFscyBhc3NlcnRfdW5yZWFjaGVkOiB1bnJlZ2lzdGVyIHNob3Vs
ZCBub3QgZmFpbDogc2VydmljZVdvcmtlci5nZXRSZWdpc3RyYXRpb24oKSBpcyBub3QgeWV0IGlt
cGxlbWVudGVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1hZGQuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUt
c3RvcmFnZS93aW5kb3cvY2FjaGUtYWRkLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA0OWE0Njc4
MjhkOTE3NDI2NTEwOTVlYzk2NjA3MGIyNTFmOTU0NmEyLi5lZjRiNTJjZjY2ODM0MGUwZjRhMGQ3
MmZmZGEwMzk0NzQ3MTkzZjQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9j
YWNoZS1hZGQuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93
L2NhY2hlLWFkZC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMjAgKzEsMjAgQEAKIAotRkFJTCBD
YWNoZS5hZGQgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgotRkFJTCBDYWNoZS5hZGQgY2FsbGVkIHdpdGggcmVsYXRpdmUgVVJMIHNwZWNpZmllZCBhcyBh
IHN0cmluZyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3
aXRoIG5vbi1IVFRQL0hUVFBTIFVSTCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2Fj
aGUuYWRkIGNhbGxlZCB3aXRoIFJlcXVlc3Qgb2JqZWN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgotRkFJTCBDYWNoZS5hZGQgY2FsbGVkIHdpdGggUE9TVCByZXF1ZXN0IHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGlt
cGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGQgY2FsbGVkIHR3aWNlIHdpdGggdGhlIHNhbWUgUmVx
dWVzdCBvYmplY3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZCB3aXRo
IHJlcXVlc3Qgd2l0aCBudWxsIGJvZHkgKG5vdCBjb25zdW1lZCkgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCi1GQUlMIENhY2hlLmFkZCB3aXRoIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggMjA2IHJlc3BvbnNlIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGQgd2l0aCByZXF1ZXN0IHRoYXQgcmVzdWx0cyBp
biBhIHN0YXR1cyBvZiA0MDQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFk
ZCB3aXRoIHJlcXVlc3QgdGhhdCByZXN1bHRzIGluIGEgc3RhdHVzIG9mIDUwMCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggbm8gYXJndW1lbnRzIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGRBbGwgd2l0aCBhIG1peCBvZiB2YWxp
ZCBhbmQgdW5kZWZpbmVkIGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwg
Q2FjaGUuYWRkQWxsIHdpdGggYW4gZW1wdHkgYXJyYXkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlLmFkZEFsbCB3aXRoIHN0cmluZyBVUkwgYXJndW1lbnRzIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGRBbGwgd2l0aCBSZXF1ZXN0IGFyZ3VtZW50cyBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggYSBtaXggb2Yg
c3VjY2VlZGluZyBhbmQgZmFpbGluZyByZXF1ZXN0cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
LUZBSUwgQ2FjaGUuYWRkQWxsIGNhbGxlZCB3aXRoIHRoZSBzYW1lIFJlcXVlc3Qgb2JqZWN0IHNw
ZWNpZmllZCB0d2ljZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkIGNh
bGxlZCB3aXRoIG5vIGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgor
RkFJTCBDYWNoZS5hZGQgY2FsbGVkIHdpdGggcmVsYXRpdmUgVVJMIHNwZWNpZmllZCBhcyBhIHN0
cmluZyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgY2Fs
bGVkIHdpdGggbm9uLUhUVFAvSFRUUFMgVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCitGQUlMIENhY2hlLmFkZCBjYWxsZWQgd2l0aCBSZXF1ZXN0IG9iamVjdCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRF
cnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgY2FsbGVkIHdpdGggUE9TVCBy
ZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZCBj
YWxsZWQgdHdpY2Ugd2l0aCB0aGUgc2FtZSBSZXF1ZXN0IG9iamVjdCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjog
Tm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgd2l0aCByZXF1ZXN0IHdpdGggbnVsbCBi
b2R5IChub3QgY29uc3VtZWQpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlLmFkZCB3aXRoIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorRkFJTCBDYWNoZS5hZGRBbGwgd2l0aCAyMDYgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkIHdpdGggcmVxdWVzdCB0aGF0IHJlc3Vs
dHMgaW4gYSBzdGF0dXMgb2YgNDA0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitG
QUlMIENhY2hlLmFkZCB3aXRoIHJlcXVlc3QgdGhhdCByZXN1bHRzIGluIGEgc3RhdHVzIG9mIDUw
MCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGRBbGwgd2l0
aCBubyBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2Fj
aGUuYWRkQWxsIHdpdGggYSBtaXggb2YgdmFsaWQgYW5kIHVuZGVmaW5lZCBhcmd1bWVudHMgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggYW4g
ZW1wdHkgYXJyYXkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUu
YWRkQWxsIHdpdGggc3RyaW5nIFVSTCBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggUmVxdWVzdCBhcmd1bWVudHMgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9y
dGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggYSBtaXgg
b2Ygc3VjY2VlZGluZyBhbmQgZmFpbGluZyByZXF1ZXN0cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGlt
cGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGRBbGwgY2FsbGVkIHdpdGggdGhlIHNhbWUgUmVxdWVz
dCBvYmplY3Qgc3BlY2lmaWVkIHR3aWNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLWRlbGV0ZS5odHRw
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1kZWxldGUuaHR0
cHMtZXhwZWN0ZWQudHh0CmluZGV4IDJkZmFlNWM4YmNiYmQzZDViMDVjY2NjOTEzYTYzZTNlNjky
YTFmNzAuLmUzM2U4NThiZmRkMjc0OTUzMDUyZTBmNjI5YWNhNGFjYTI2MGY3NjMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLWRlbGV0ZS5odHRwcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtZGVsZXRlLmh0dHBzLWV4cGVj
dGVkLnR4dApAQCAtMSwxMCArMSwxMCBAQAogCi1GQUlMIENhY2hlLmRlbGV0ZSB3aXRoIG5vIGFy
Z3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuZGVsZXRlIGNhbGxl
ZCB3aXRoIGEgc3RyaW5nIFVSTCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUu
ZGVsZXRlIGNhbGxlZCB3aXRoIGEgUmVxdWVzdCBvYmplY3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLmRlbGV0ZSBjYWxsZWQgd2l0aCBhIEhFQUQgcmVxdWVzdCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuZGVsZXRlIHN1cHBvcnRzIGlnbm9yZVZhcnkg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmRlbGV0ZSB3aXRoIGEgbm9uLWV4
aXN0ZW50IGVudHJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5kZWxldGUg
d2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uIChyZXF1ZXN0IHdpdGggc2VhcmNoIHBhcmFtZXRlcnMp
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5kZWxldGUgd2l0aCBpZ25vcmVT
ZWFyY2ggb3B0aW9uICh3aGVuIGl0IGlzIHNwZWNpZmllZCBhcyBmYWxzZSkgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmRlbGV0ZSB3aXRoIG5vIGFyZ3VtZW50cyBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5kZWxldGUgY2FsbGVkIHdpdGgg
YSBzdHJpbmcgVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hl
LmRlbGV0ZSBjYWxsZWQgd2l0aCBhIFJlcXVlc3Qgb2JqZWN0IHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmRlbGV0ZSBjYWxsZWQgd2l0aCBhIEhFQUQgcmVxdWVz
dCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5kZWxldGUgc3Vw
cG9ydHMgaWdub3JlVmFyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZS5kZWxldGUgd2l0aCBhIG5vbi1leGlzdGVudCBlbnRyeSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90
IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5kZWxldGUgd2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9u
IChyZXF1ZXN0IHdpdGggc2VhcmNoIHBhcmFtZXRlcnMpIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCitGQUlMIENhY2hlLmRlbGV0ZSB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHdo
ZW4gaXQgaXMgc3BlY2lmaWVkIGFzIGZhbHNlKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVu
dGVkIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1rZXlzLmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLWtleXMuaHR0
cHMtZXhwZWN0ZWQudHh0CmluZGV4IDdlMWEzNzM2ZDQzZjM3NjQ0YzJhNjgwOGY0MWQyMTA0YTJh
NjQwZTAuLmE1OGFjOWJjNzJmMGEzNmEyNWQ3ODdmYWYwOTE3YmI3NzMzMDQ2NDcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLWtleXMuaHR0cHMtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLWtleXMuaHR0cHMtZXhwZWN0ZWQu
dHh0CkBAIC0xLDE1ICsxLDE1IEBACiAKLUZBSUwgQ2FjaGUua2V5cygpIGNhbGxlZCBvbiBhbiBl
bXB0eSBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRo
IG5vIG1hdGNoaW5nIGVudHJpZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
LmtleXMgd2l0aCBVUkwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmtleXMg
d2l0aCBSZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdp
dGggbmV3IFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmtleXMg
d2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uIChyZXF1ZXN0IHdpdGggbm8gc2VhcmNoIHBhcmFtZXRl
cnMpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggaWdub3Jl
U2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUua2V5cyBzdXBwb3J0cyBpZ25vcmVNZXRob2QgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmtleXMgc3VwcG9ydHMgaWdub3JlVmFy
eSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRoIFVSTCBjb250
YWluaW5nIGZyYWdtZW50IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlz
IHdpdGggc3RyaW5nIGZyYWdtZW50ICJodHRwIiBhcyBxdWVyeSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRob3V0IHBhcmFtZXRlcnMgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlLmtleXMgd2l0aCBhIEhFQUQgUmVxdWVzdCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5cygpIGNhbGxlZCBvbiBhbiBlbXB0eSBjYWNo
ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGgg
bm8gbWF0Y2hpbmcgZW50cmllcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJ
TCBDYWNoZS5rZXlzIHdpdGggVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitG
QUlMIENhY2hlLmtleXMgd2l0aCBSZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCitGQUlMIENhY2hlLmtleXMgd2l0aCBuZXcgUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90
IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAo
cmVxdWVzdCB3aXRoIG5vIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGlt
cGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVx
dWVzdCB3aXRoIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorRkFJTCBDYWNoZS5rZXlzIHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJv
cjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHN1cHBvcnRzIGlnbm9yZVZhcnkg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5cyB3aXRoIFVS
TCBjb250YWluaW5nIGZyYWdtZW50IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitG
QUlMIENhY2hlLmtleXMgd2l0aCBzdHJpbmcgZnJhZ21lbnQgImh0dHAiIGFzIHF1ZXJ5IHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmtleXMgd2l0aG91dCBwYXJh
bWV0ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmtleXMg
d2l0aCBhIEhFQUQgUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1tYXRjaC5odHRwcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1tYXRjaC5odHRwcy1leHBl
Y3RlZC50eHQKaW5kZXggNTdhNTFjZjliYTQ5ZDk1ZTdhNTdmYjljYTU1ZjI2YjUwM2Y2OGJjMS4u
Y2U2YmU1MzdlMWFlOTg2NjdkZDgzMWVjNDllM2Y0ZjgxNGYwYTEwMyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
Y2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dApA
QCAtMSwyMiArMSwyMiBAQAogCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggbm8gbWF0Y2hpbmcgZW50
cmllcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBVUkwg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggUmVxdWVzdCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBtdWx0aXBsZSBj
YWNoZSBoaXRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3aXRo
IG5ldyBSZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3
aXRoIEhFQUQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGgg
aWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIG5vIHNlYXJjaCBwYXJhbWV0ZXJzKSBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBpZ25vcmVTZWFy
Y2ggb3B0aW9uIChyZXF1ZXN0IHdpdGggc2VhcmNoIHBhcmFtZXRlcikgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggc3VwcG9ydHMgaWdub3JlVmFyeSBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBVUkwgY29udGFp
bmluZyBmcmFnbWVudCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2gg
d2l0aCBzdHJpbmcgZnJhZ21lbnQgImh0dHAiIGFzIHF1ZXJ5IHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVu
dGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3aXRoIHJlc3BvbnNlcyBjb250YWluaW5nICJWYXJ5IiBo
ZWFkZXIgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggUmVx
dWVzdCBhbmQgUmVzcG9uc2Ugb2JqZWN0cyB3aXRoIGRpZmZlcmVudCBVUkxzIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCBpbnZva2VkIG11bHRpcGxlIHRpbWVzIGZv
ciB0aGUgc2FtZSBSZXF1ZXN0L1Jlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJ
TCBDYWNoZS5tYXRjaCBibG9iIHNob3VsZCBiZSBzbGljZWFibGUgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggUE9TVCBSZXF1ZXN0IHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGlt
cGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3aXRoIGEgbm9uLTJ4eCBSZXNwb25zZSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBhIG5ldHdvcmsgZXJy
b3IgUmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlIHByb2R1Y2Vz
IGxhcmdlIFJlc3BvbnNlcyB0aGF0IGNhbiBiZSBjbG9uZWQgYW5kIHJlYWQgY29ycmVjdGx5LiBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBubyBtYXRjaGlu
ZyBlbnRyaWVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1h
dGNoIHdpdGggVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hl
Lm1hdGNoIHdpdGggUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJ
TCBDYWNoZS5tYXRjaCB3aXRoIG11bHRpcGxlIGNhY2hlIGhpdHMgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBuZXcgUmVxdWVzdCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIEhFQUQgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBpZ25v
cmVTZWFyY2ggb3B0aW9uIChyZXF1ZXN0IHdpdGggbm8gc2VhcmNoIHBhcmFtZXRlcnMpIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoIHdpdGggaWdub3Jl
U2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIHNlYXJjaCBwYXJhbWV0ZXIpIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoIHN1cHBvcnRzIGlnbm9yZU1l
dGhvZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCBz
dXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlLm1hdGNoIHdpdGggVVJMIGNvbnRhaW5pbmcgZnJhZ21lbnQgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBzdHJpbmcgZnJhZ21lbnQg
Imh0dHAiIGFzIHF1ZXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENh
Y2hlLm1hdGNoIHdpdGggcmVzcG9uc2VzIGNvbnRhaW5pbmcgIlZhcnkiIGhlYWRlciBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFJlcXVlc3Qg
YW5kIFJlc3BvbnNlIG9iamVjdHMgd2l0aCBkaWZmZXJlbnQgVVJMcyBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjog
Tm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCBpbnZva2VkIG11bHRpcGxlIHRpbWVz
IGZvciB0aGUgc2FtZSBSZXF1ZXN0L1Jlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoIGJsb2Igc2hvdWxkIGJlIHNsaWNlYWJsZSBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFBPU1QgUmVx
dWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3
aXRoIGEgbm9uLTJ4eCBSZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgor
RkFJTCBDYWNoZS5tYXRjaCB3aXRoIGEgbmV0d29yayBlcnJvciBSZXNwb25zZSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRF
cnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZSBwcm9kdWNlcyBsYXJnZSBSZXNwb25z
ZXMgdGhhdCBjYW4gYmUgY2xvbmVkIGFuZCByZWFkIGNvcnJlY3RseS4gcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cv
Y2FjaGUtbWF0Y2hBbGwuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5k
b3cvY2FjaGUtbWF0Y2hBbGwuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDYyYmYzNjMzMzJlMzUx
ZTYzYzZmMjNmNjQ5NTY1N2Q2OTQ2NDhkYTcuLjc3MDQ0ODcyMjdiMzU0OTNlNDM0NjM2Y2E4MWY4
YjY1OWFhZTgzZTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLW1h
dGNoQWxsLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9j
YWNoZS1tYXRjaEFsbC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMTYgKzEsMTYgQEAKIAotRkFJ
TCBDYWNoZS5tYXRjaEFsbCB3aXRoIG5vIG1hdGNoaW5nIGVudHJpZXMgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggVVJMIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRoIFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggbmV3IFJlcXVlc3QgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggSEVBRCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBpZ25vcmVTZWFyY2ggb3B0
aW9uIChyZXF1ZXN0IHdpdGggbm8gc2VhcmNoIHBhcmFtZXRlcnMpIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJl
cXVlc3Qgd2l0aCBzZWFyY2ggcGFyYW1ldGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1G
QUlMIENhY2hlLm1hdGNoQWxsIHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2hBbGwgc3VwcG9ydHMgaWdub3JlVmFyeSBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBVUkwgY29udGFpbmlu
ZyBmcmFnbWVudCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2hBbGwg
d2l0aCBzdHJpbmcgZnJhZ21lbnQgImh0dHAiIGFzIHF1ZXJ5IHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVu
dGVkIgotRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRob3V0IHBhcmFtZXRlcnMgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggcmVzcG9uc2VzIGNvbnRhaW5p
bmcgIlZhcnkiIGhlYWRlciBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0
Y2hBbGwgd2l0aCBtdWx0aXBsZSB2YXJ5IHBhaXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgor
RkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRoIG5vIG1hdGNoaW5nIGVudHJpZXMgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBVUkwgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9y
dGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBSZXF1
ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxs
IHdpdGggbmV3IFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwg
Q2FjaGUubWF0Y2hBbGwgd2l0aCBIRUFEIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3
aXRoIG5vIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVk
IgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qg
d2l0aCBzZWFyY2ggcGFyYW1ldGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
K0ZBSUwgQ2FjaGUubWF0Y2hBbGwgc3VwcG9ydHMgaWdub3JlTWV0aG9kIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHN1cHBvcnRzIGlnbm9yZVZh
cnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
Tm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwg
d2l0aCBVUkwgY29udGFpbmluZyBmcmFnbWVudCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRoIHN0cmluZyBmcmFnbWVudCAiaHR0cCIgYXMg
cXVlcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hB
bGwgd2l0aG91dCBwYXJhbWV0ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitG
QUlMIENhY2hlLm1hdGNoQWxsIHdpdGggcmVzcG9uc2VzIGNvbnRhaW5pbmcgIlZhcnkiIGhlYWRl
ciBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3
aXRoIG11bHRpcGxlIHZhcnkgcGFpcnMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtcHV0Lmh0dHBzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXB1dC5odHRwcy1leHBl
Y3RlZC50eHQKaW5kZXggODk4OGQ4NTQ0MTA3MGJiYmIxYTY0ZGJhYjhhZDc3YThkMmQwYWM4Zi4u
ZjZhYWRhZWJlM2Q5YzU5YmZlMDhhNWNmNTZlOTg1ZGEzYzMxMzI1MyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
Y2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtcHV0Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1wdXQuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0x
LDI1ICsxLDI1IEBACiAKLUZBSUwgQ2FjaGUucHV0IGNhbGxlZCB3aXRoIHNpbXBsZSBSZXF1ZXN0
IGFuZCBSZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IGNh
bGxlZCB3aXRoIFJlcXVlc3QgYW5kIFJlc3BvbnNlIGZyb20gZmV0Y2goKSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggUmVxdWVzdCB3aXRob3V0IGEgYm9keSBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggUmVzcG9uc2Ugd2l0
aG91dCBhIGJvZHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRo
IGEgUmVzcG9uc2UgY29udGFpbmluZyBhbiBlbXB0eSBVUkwgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIGFuIGVtcHR5IHJlc3BvbnNlIGJvZHkgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIHN5bnRoZXRpYyAyMDYgcmVzcG9u
c2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIEhUVFAgMjA2
IHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBI
VFRQIDUwMCByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0
IGNhbGxlZCB0d2ljZSB3aXRoIG1hdGNoaW5nIFJlcXVlc3RzIGFuZCBkaWZmZXJlbnQgUmVzcG9u
c2VzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgY2FsbGVkIHR3aWNl
IHdpdGggcmVxdWVzdCBVUkxzIHRoYXQgZGlmZmVyIG9ubHkgYnkgYSBmcmFnbWVudCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggYSBzdHJpbmcgcmVxdWVzdCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggYW4gaW52YWxpZCBy
ZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggYSBu
b24tSFRUUC9IVFRQUyByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNo
ZS5wdXQgd2l0aCBhIHJlbGF0aXZlIFVSTCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwg
Q2FjaGUucHV0IHdpdGggYSBub24tR0VUIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlLnB1dCB3aXRoIGEgbnVsbCByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggYSBQT1NUIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIGEgdXNlZCByZXNwb25zZSBib2R5IHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogTm90IGltcGxlbWVudGVkIgotRkFJTCBnZXRSZWFkZXIoKSBhZnRlciBDYWNoZS5wdXQgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIGEgVkFSWToqIFJlc3Bv
bnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBhbiBlbWJl
ZGRlZCBWQVJZOiogUmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
LnB1dCBzaG91bGQgc3RvcmUgUmVzcG9uc2UucmVkaXJlY3QoKSBjb3JyZWN0bHkgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCBjYWxsZWQgd2l0aCBzaW1wbGUgUmVxdWVz
dCBhbmQgUmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2Fj
aGUucHV0IGNhbGxlZCB3aXRoIFJlcXVlc3QgYW5kIFJlc3BvbnNlIGZyb20gZmV0Y2goKSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBSZXF1ZXN0
IHdpdGhvdXQgYSBib2R5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENh
Y2hlLnB1dCB3aXRoIFJlc3BvbnNlIHdpdGhvdXQgYSBib2R5IHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIGEgUmVzcG9uc2UgY29udGFpbmluZyBh
biBlbXB0eSBVUkwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUu
cHV0IHdpdGggYW4gZW1wdHkgcmVzcG9uc2UgYm9keSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxl
bWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBzeW50aGV0aWMgMjA2IHJlc3BvbnNlIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIEhUVFAgMjA2
IHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1
dCB3aXRoIEhUVFAgNTAwIHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CitGQUlMIENhY2hlLnB1dCBjYWxsZWQgdHdpY2Ugd2l0aCBtYXRjaGluZyBSZXF1ZXN0cyBhbmQg
ZGlmZmVyZW50IFJlc3BvbnNlcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJ
TCBDYWNoZS5wdXQgY2FsbGVkIHR3aWNlIHdpdGggcmVxdWVzdCBVUkxzIHRoYXQgZGlmZmVyIG9u
bHkgYnkgYSBmcmFnbWVudCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZS5wdXQgd2l0aCBhIHN0cmluZyByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIGFuIGludmFsaWQgcmVzcG9uc2UgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVk
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYSBub24tSFRUUC9I
VFRQUyByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hl
LnB1dCB3aXRoIGEgcmVsYXRpdmUgVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CitGQUlMIENhY2hlLnB1dCB3aXRoIGEgbm9uLUdFVCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIGEgbnVsbCByZXNwb25zZSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBhIFBPU1Qg
cmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQg
d2l0aCBhIHVzZWQgcmVzcG9uc2UgYm9keSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVk
IgorRkFJTCBnZXRSZWFkZXIoKSBhZnRlciBDYWNoZS5wdXQgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYSBWQVJZOiogUmVzcG9uc2UgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9y
dGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYW4gZW1iZWRk
ZWQgVkFSWToqIFJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlLnB1dCBzaG91bGQgc3RvcmUgUmVzcG9uc2UucmVkaXJlY3QoKSBjb3JyZWN0bHkgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2Nh
Y2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2Uta2V5cy5odHRwcy1leHBlY3RlZC50eHQK
aW5kZXggMWQ4MWVkMzQyZmMwMmU0YzY2ODFhZDAyZDhjNTNjNjJiMjM0N2E3MC4uYmZhOTZjZDJh
ZGJjZTY2ZDM3MjA4NjYyZjI3OTFkYzU5YzRkZDQ5NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLWtleXMuaHR0cHMtZXhwZWN0ZWQu
dHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIENhY2hlU3RvcmFnZSBrZXlzIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2Uga2V5cyBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90
IGltcGxlbWVudGVkIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNo
ZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2lu
ZG93L2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGZkZWFmZTkz
NjZlOWY1OTk5NDdkMjAzNTlhZjBhNTc0YjNjMmQ2ZjMuLmU3ODA1MDQzNTcxNDcxNDNjOTVlOWI4
NDI1NjA3OTc5ZWQyMGI5M2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2Nh
Y2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3Jh
Z2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDEz
ICsxLDEzIEBACiAKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNoZSBuYW1lIHBy
b3ZpZGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBm
cm9tIG9uZSBvZiBtYW55IGNhY2hlcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2Fj
aGVTdG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2YgbWFueSBjYWNoZXMgYnkgbmFtZSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggYSBzdHJpbmcgcmVxdWVzdCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggYSBIRUFEIHJl
cXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdp
dGggbm8gY2FjaGVkIGVudHJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0
b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlcyBhdmFpbGFibGUgYnV0IG5hbWUgcHJvdmlkZWQgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggZW1wdHkg
Y2FjaGUgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVT
dG9yYWdlTWF0Y2ggc3VwcG9ydHMgaWdub3JlU2VhcmNoIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgotRkFJTCBDYWNoZS5tYXRjaCBzdXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2Fj
aGUgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZVN0b3JhZ2VNYXRjaCBmcm9tIG9uZSBvZiBtYW55IGNhY2hlcyBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjog
Tm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBmcm9tIG9uZSBvZiBtYW55
IGNhY2hlcyBieSBuYW1lIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENh
Y2hlU3RvcmFnZU1hdGNoIGEgc3RyaW5nIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggYSBIRUFEIHJlcXVlc3QgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVk
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBj
YWNoZWQgZW50cnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVT
dG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNoZXMgYXZhaWxhYmxlIGJ1dCBuYW1lIHByb3ZpZGVkIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1
cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdp
dGggZW1wdHkgY2FjaGUgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBzdXBwb3J0cyBpZ25vcmVTZWFyY2ggcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9y
dGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggc3VwcG9ydHMgaWdu
b3JlTWV0aG9kIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3Rv
cmFnZU1hdGNoIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFn
ZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9y
YWdlLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAwMDFlNmUzM2JkN2FiMzRlYTczNWFjYWRmOTQy
MGNhZTEwODI5YjYxLi44YzMwZTY4OGFhMDZkNjhlZWViMjBmYTYzZTM2ZjQwNzI0ZGM0M2ViIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLmh0
dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwxMiArMSwxMiBAQAogCi1GQUlMIENhY2hlU3RvcmFnZS5v
cGVuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2UuZGVsZXRlIGRv
b21zLCBidXQgZG9lcyBub3QgZGVsZXRlIGltbWVkaWF0ZWx5IHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVu
dGVkIgotRkFJTCBDYWNoZVN0b3JhZ2Uub3BlbiB3aXRoIGFuIGVtcHR5IG5hbWUgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZS5vcGVuIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZS5kZWxldGUgZG9vbXMsIGJ1dCBkb2Vz
IG5vdCBkZWxldGUgaW1tZWRpYXRlbHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
K0ZBSUwgQ2FjaGVTdG9yYWdlLm9wZW4gd2l0aCBhbiBlbXB0eSBuYW1lIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCiBQQVNTIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggbm8gYXJndW1l
bnRzIAotRkFJTCBDYWNoZVN0b3JhZ2UuaGFzIHdpdGggZXhpc3RpbmcgY2FjaGUgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZS5oYXMgd2l0aCBub25leGlzdGVudCBj
YWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLm9wZW4gd2l0
aCBleGlzdGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9y
YWdlLmRlbGV0ZSB3aXRoIGV4aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgot
RkFJTCBDYWNoZVN0b3JhZ2UuZGVsZXRlIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZSBuYW1lcyBhcmUgRE9NU3RyaW5ncyBu
b3QgVVNWU3RyaW5ncyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdl
LmhhcyB3aXRoIGV4aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CitQQVNTIENhY2hlU3RvcmFnZS5oYXMgd2l0aCBub25leGlzdGVudCBjYWNoZSAKK0ZBSUwgQ2Fj
aGVTdG9yYWdlLm9wZW4gd2l0aCBleGlzdGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGlt
cGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2UuZGVsZXRlIHdpdGggZXhpc3RpbmcgY2FjaGUg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK1BBU1MgQ2FjaGVTdG9yYWdlLmRlbGV0
ZSB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIAorRkFJTCBDYWNoZVN0b3JhZ2UgbmFtZXMgYXJlIERP
TVN0cmluZ3Mgbm90IFVTVlN0cmluZ3MgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvc2FuZGJveGVkLWlmcmFtZXMu
aHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvc2FuZGJveGVkLWlm
cmFtZXMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDMxZmJiOGRlMzA1ZWIzMGQxYmU5ZTYwNmRm
OTMzZjhhZGZkOGZjM2QuLmJhOWQyMjkzMThhYjNiNTkzYWI4OGEwOGI3Zjc0NDUyZjVmM2I5ZTQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L3NhbmRib3hlZC1pZnJhbWVzLmh0
dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9zYW5kYm94ZWQt
aWZyYW1lcy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKIAogRkFJTCBTYW5k
Ym94ZWQgaWZyYW1lIHdpdGggYWxsb3ctc2FtZS1vcmlnaW4gaXMgYWxsb3dlZCBhY2Nlc3MgYXNz
ZXJ0X2VxdWFsczogQWNjZXNzIHNob3VsZCBiZSBhbGxvd2VkIGlmIHNhbmRib3ggaGFzIGFsbG93
LXNhbWUtb3JpZ2luIGV4cGVjdGVkICJhbGxvd2VkIiBidXQgZ290ICJkZW5pZWQiCi1GQUlMIFNh
bmRib3hlZCBpZnJhbWUgd2l0aG91dCBhbGxvdy1zYW1lLW9yaWdpbiBpcyBkZW5pZWQgYWNjZXNz
IGFzc2VydF9lcXVhbHM6IEZhaWx1cmUgc2hvdWxkIGJlIGEgU2VjdXJpdHlFcnJvciBleHBlY3Rl
ZCAiU2VjdXJpdHlFcnJvciIgYnV0IGdvdCAiVHlwZUVycm9yIgorRkFJTCBTYW5kYm94ZWQgaWZy
YW1lIHdpdGhvdXQgYWxsb3ctc2FtZS1vcmlnaW4gaXMgZGVuaWVkIGFjY2VzcyBhc3NlcnRfZXF1
YWxzOiBGYWlsdXJlIHNob3VsZCBiZSBhIFNlY3VyaXR5RXJyb3IgZXhwZWN0ZWQgIlNlY3VyaXR5
RXJyb3IiIGJ1dCBnb3QgIk5vdFN1cHBvcnRlZEVycm9yIgogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1hZGQuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUt
c3RvcmFnZS93b3JrZXIvY2FjaGUtYWRkLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA0OWE0Njc4
MjhkOTE3NDI2NTEwOTVlYzk2NjA3MGIyNTFmOTU0NmEyLi5lZjRiNTJjZjY2ODM0MGUwZjRhMGQ3
MmZmZGEwMzk0NzQ3MTkzZjQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9j
YWNoZS1hZGQuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2Vy
L2NhY2hlLWFkZC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMjAgKzEsMjAgQEAKIAotRkFJTCBD
YWNoZS5hZGQgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgotRkFJTCBDYWNoZS5hZGQgY2FsbGVkIHdpdGggcmVsYXRpdmUgVVJMIHNwZWNpZmllZCBhcyBh
IHN0cmluZyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3
aXRoIG5vbi1IVFRQL0hUVFBTIFVSTCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2Fj
aGUuYWRkIGNhbGxlZCB3aXRoIFJlcXVlc3Qgb2JqZWN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgotRkFJTCBDYWNoZS5hZGQgY2FsbGVkIHdpdGggUE9TVCByZXF1ZXN0IHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGlt
cGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGQgY2FsbGVkIHR3aWNlIHdpdGggdGhlIHNhbWUgUmVx
dWVzdCBvYmplY3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZCB3aXRo
IHJlcXVlc3Qgd2l0aCBudWxsIGJvZHkgKG5vdCBjb25zdW1lZCkgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCi1GQUlMIENhY2hlLmFkZCB3aXRoIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggMjA2IHJlc3BvbnNlIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGQgd2l0aCByZXF1ZXN0IHRoYXQgcmVzdWx0cyBp
biBhIHN0YXR1cyBvZiA0MDQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFk
ZCB3aXRoIHJlcXVlc3QgdGhhdCByZXN1bHRzIGluIGEgc3RhdHVzIG9mIDUwMCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggbm8gYXJndW1lbnRzIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGRBbGwgd2l0aCBhIG1peCBvZiB2YWxp
ZCBhbmQgdW5kZWZpbmVkIGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwg
Q2FjaGUuYWRkQWxsIHdpdGggYW4gZW1wdHkgYXJyYXkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlLmFkZEFsbCB3aXRoIHN0cmluZyBVUkwgYXJndW1lbnRzIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGRBbGwgd2l0aCBSZXF1ZXN0IGFyZ3VtZW50cyBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggYSBtaXggb2Yg
c3VjY2VlZGluZyBhbmQgZmFpbGluZyByZXF1ZXN0cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
LUZBSUwgQ2FjaGUuYWRkQWxsIGNhbGxlZCB3aXRoIHRoZSBzYW1lIFJlcXVlc3Qgb2JqZWN0IHNw
ZWNpZmllZCB0d2ljZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkIGNh
bGxlZCB3aXRoIG5vIGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgor
RkFJTCBDYWNoZS5hZGQgY2FsbGVkIHdpdGggcmVsYXRpdmUgVVJMIHNwZWNpZmllZCBhcyBhIHN0
cmluZyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgY2Fs
bGVkIHdpdGggbm9uLUhUVFAvSFRUUFMgVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCitGQUlMIENhY2hlLmFkZCBjYWxsZWQgd2l0aCBSZXF1ZXN0IG9iamVjdCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRF
cnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgY2FsbGVkIHdpdGggUE9TVCBy
ZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZCBj
YWxsZWQgdHdpY2Ugd2l0aCB0aGUgc2FtZSBSZXF1ZXN0IG9iamVjdCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjog
Tm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgd2l0aCByZXF1ZXN0IHdpdGggbnVsbCBi
b2R5IChub3QgY29uc3VtZWQpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlLmFkZCB3aXRoIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorRkFJTCBDYWNoZS5hZGRBbGwgd2l0aCAyMDYgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkIHdpdGggcmVxdWVzdCB0aGF0IHJlc3Vs
dHMgaW4gYSBzdGF0dXMgb2YgNDA0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitG
QUlMIENhY2hlLmFkZCB3aXRoIHJlcXVlc3QgdGhhdCByZXN1bHRzIGluIGEgc3RhdHVzIG9mIDUw
MCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGRBbGwgd2l0
aCBubyBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2Fj
aGUuYWRkQWxsIHdpdGggYSBtaXggb2YgdmFsaWQgYW5kIHVuZGVmaW5lZCBhcmd1bWVudHMgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggYW4g
ZW1wdHkgYXJyYXkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUu
YWRkQWxsIHdpdGggc3RyaW5nIFVSTCBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggUmVxdWVzdCBhcmd1bWVudHMgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9y
dGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggYSBtaXgg
b2Ygc3VjY2VlZGluZyBhbmQgZmFpbGluZyByZXF1ZXN0cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGlt
cGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGRBbGwgY2FsbGVkIHdpdGggdGhlIHNhbWUgUmVxdWVz
dCBvYmplY3Qgc3BlY2lmaWVkIHR3aWNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLWRlbGV0ZS5odHRw
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1kZWxldGUuaHR0
cHMtZXhwZWN0ZWQudHh0CmluZGV4IDJkZmFlNWM4YmNiYmQzZDViMDVjY2NjOTEzYTYzZTNlNjky
YTFmNzAuLmUzM2U4NThiZmRkMjc0OTUzMDUyZTBmNjI5YWNhNGFjYTI2MGY3NjMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLWRlbGV0ZS5odHRwcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtZGVsZXRlLmh0dHBzLWV4cGVj
dGVkLnR4dApAQCAtMSwxMCArMSwxMCBAQAogCi1GQUlMIENhY2hlLmRlbGV0ZSB3aXRoIG5vIGFy
Z3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuZGVsZXRlIGNhbGxl
ZCB3aXRoIGEgc3RyaW5nIFVSTCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUu
ZGVsZXRlIGNhbGxlZCB3aXRoIGEgUmVxdWVzdCBvYmplY3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLmRlbGV0ZSBjYWxsZWQgd2l0aCBhIEhFQUQgcmVxdWVzdCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuZGVsZXRlIHN1cHBvcnRzIGlnbm9yZVZhcnkg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmRlbGV0ZSB3aXRoIGEgbm9uLWV4
aXN0ZW50IGVudHJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5kZWxldGUg
d2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uIChyZXF1ZXN0IHdpdGggc2VhcmNoIHBhcmFtZXRlcnMp
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5kZWxldGUgd2l0aCBpZ25vcmVT
ZWFyY2ggb3B0aW9uICh3aGVuIGl0IGlzIHNwZWNpZmllZCBhcyBmYWxzZSkgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmRlbGV0ZSB3aXRoIG5vIGFyZ3VtZW50cyBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5kZWxldGUgY2FsbGVkIHdpdGgg
YSBzdHJpbmcgVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hl
LmRlbGV0ZSBjYWxsZWQgd2l0aCBhIFJlcXVlc3Qgb2JqZWN0IHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmRlbGV0ZSBjYWxsZWQgd2l0aCBhIEhFQUQgcmVxdWVz
dCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5kZWxldGUgc3Vw
cG9ydHMgaWdub3JlVmFyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZS5kZWxldGUgd2l0aCBhIG5vbi1leGlzdGVudCBlbnRyeSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90
IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5kZWxldGUgd2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9u
IChyZXF1ZXN0IHdpdGggc2VhcmNoIHBhcmFtZXRlcnMpIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCitGQUlMIENhY2hlLmRlbGV0ZSB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHdo
ZW4gaXQgaXMgc3BlY2lmaWVkIGFzIGZhbHNlKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVu
dGVkIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1rZXlzLmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLWtleXMuaHR0
cHMtZXhwZWN0ZWQudHh0CmluZGV4IDdlMWEzNzM2ZDQzZjM3NjQ0YzJhNjgwOGY0MWQyMTA0YTJh
NjQwZTAuLmE1OGFjOWJjNzJmMGEzNmEyNWQ3ODdmYWYwOTE3YmI3NzMzMDQ2NDcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLWtleXMuaHR0cHMtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLWtleXMuaHR0cHMtZXhwZWN0ZWQu
dHh0CkBAIC0xLDE1ICsxLDE1IEBACiAKLUZBSUwgQ2FjaGUua2V5cygpIGNhbGxlZCBvbiBhbiBl
bXB0eSBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRo
IG5vIG1hdGNoaW5nIGVudHJpZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
LmtleXMgd2l0aCBVUkwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmtleXMg
d2l0aCBSZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdp
dGggbmV3IFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmtleXMg
d2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uIChyZXF1ZXN0IHdpdGggbm8gc2VhcmNoIHBhcmFtZXRl
cnMpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggaWdub3Jl
U2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUua2V5cyBzdXBwb3J0cyBpZ25vcmVNZXRob2QgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmtleXMgc3VwcG9ydHMgaWdub3JlVmFy
eSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRoIFVSTCBjb250
YWluaW5nIGZyYWdtZW50IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlz
IHdpdGggc3RyaW5nIGZyYWdtZW50ICJodHRwIiBhcyBxdWVyeSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRob3V0IHBhcmFtZXRlcnMgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlLmtleXMgd2l0aCBhIEhFQUQgUmVxdWVzdCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5cygpIGNhbGxlZCBvbiBhbiBlbXB0eSBjYWNo
ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGgg
bm8gbWF0Y2hpbmcgZW50cmllcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJ
TCBDYWNoZS5rZXlzIHdpdGggVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitG
QUlMIENhY2hlLmtleXMgd2l0aCBSZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCitGQUlMIENhY2hlLmtleXMgd2l0aCBuZXcgUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90
IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAo
cmVxdWVzdCB3aXRoIG5vIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGlt
cGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVx
dWVzdCB3aXRoIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorRkFJTCBDYWNoZS5rZXlzIHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJv
cjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHN1cHBvcnRzIGlnbm9yZVZhcnkg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5cyB3aXRoIFVS
TCBjb250YWluaW5nIGZyYWdtZW50IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitG
QUlMIENhY2hlLmtleXMgd2l0aCBzdHJpbmcgZnJhZ21lbnQgImh0dHAiIGFzIHF1ZXJ5IHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmtleXMgd2l0aG91dCBwYXJh
bWV0ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmtleXMg
d2l0aCBhIEhFQUQgUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1tYXRjaC5odHRwcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1tYXRjaC5odHRwcy1leHBl
Y3RlZC50eHQKaW5kZXggNTdhNTFjZjliYTQ5ZDk1ZTdhNTdmYjljYTU1ZjI2YjUwM2Y2OGJjMS4u
Y2U2YmU1MzdlMWFlOTg2NjdkZDgzMWVjNDllM2Y0ZjgxNGYwYTEwMyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
Y2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dApA
QCAtMSwyMiArMSwyMiBAQAogCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggbm8gbWF0Y2hpbmcgZW50
cmllcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBVUkwg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggUmVxdWVzdCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBtdWx0aXBsZSBj
YWNoZSBoaXRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3aXRo
IG5ldyBSZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3
aXRoIEhFQUQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGgg
aWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIG5vIHNlYXJjaCBwYXJhbWV0ZXJzKSBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBpZ25vcmVTZWFy
Y2ggb3B0aW9uIChyZXF1ZXN0IHdpdGggc2VhcmNoIHBhcmFtZXRlcikgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggc3VwcG9ydHMgaWdub3JlVmFyeSBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBVUkwgY29udGFp
bmluZyBmcmFnbWVudCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2gg
d2l0aCBzdHJpbmcgZnJhZ21lbnQgImh0dHAiIGFzIHF1ZXJ5IHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVu
dGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3aXRoIHJlc3BvbnNlcyBjb250YWluaW5nICJWYXJ5IiBo
ZWFkZXIgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggUmVx
dWVzdCBhbmQgUmVzcG9uc2Ugb2JqZWN0cyB3aXRoIGRpZmZlcmVudCBVUkxzIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCBpbnZva2VkIG11bHRpcGxlIHRpbWVzIGZv
ciB0aGUgc2FtZSBSZXF1ZXN0L1Jlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJ
TCBDYWNoZS5tYXRjaCBibG9iIHNob3VsZCBiZSBzbGljZWFibGUgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggUE9TVCBSZXF1ZXN0IHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGlt
cGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3aXRoIGEgbm9uLTJ4eCBSZXNwb25zZSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBhIG5ldHdvcmsgZXJy
b3IgUmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlIHByb2R1Y2Vz
IGxhcmdlIFJlc3BvbnNlcyB0aGF0IGNhbiBiZSBjbG9uZWQgYW5kIHJlYWQgY29ycmVjdGx5LiBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBubyBtYXRjaGlu
ZyBlbnRyaWVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1h
dGNoIHdpdGggVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hl
Lm1hdGNoIHdpdGggUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJ
TCBDYWNoZS5tYXRjaCB3aXRoIG11bHRpcGxlIGNhY2hlIGhpdHMgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBuZXcgUmVxdWVzdCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIEhFQUQgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBpZ25v
cmVTZWFyY2ggb3B0aW9uIChyZXF1ZXN0IHdpdGggbm8gc2VhcmNoIHBhcmFtZXRlcnMpIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoIHdpdGggaWdub3Jl
U2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIHNlYXJjaCBwYXJhbWV0ZXIpIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoIHN1cHBvcnRzIGlnbm9yZU1l
dGhvZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCBz
dXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlLm1hdGNoIHdpdGggVVJMIGNvbnRhaW5pbmcgZnJhZ21lbnQgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBzdHJpbmcgZnJhZ21lbnQg
Imh0dHAiIGFzIHF1ZXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENh
Y2hlLm1hdGNoIHdpdGggcmVzcG9uc2VzIGNvbnRhaW5pbmcgIlZhcnkiIGhlYWRlciBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFJlcXVlc3Qg
YW5kIFJlc3BvbnNlIG9iamVjdHMgd2l0aCBkaWZmZXJlbnQgVVJMcyBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjog
Tm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCBpbnZva2VkIG11bHRpcGxlIHRpbWVz
IGZvciB0aGUgc2FtZSBSZXF1ZXN0L1Jlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoIGJsb2Igc2hvdWxkIGJlIHNsaWNlYWJsZSBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFBPU1QgUmVx
dWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3
aXRoIGEgbm9uLTJ4eCBSZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgor
RkFJTCBDYWNoZS5tYXRjaCB3aXRoIGEgbmV0d29yayBlcnJvciBSZXNwb25zZSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRF
cnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZSBwcm9kdWNlcyBsYXJnZSBSZXNwb25z
ZXMgdGhhdCBjYW4gYmUgY2xvbmVkIGFuZCByZWFkIGNvcnJlY3RseS4gcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIv
Y2FjaGUtbWF0Y2hBbGwuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3Jr
ZXIvY2FjaGUtbWF0Y2hBbGwuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDYyYmYzNjMzMzJlMzUx
ZTYzYzZmMjNmNjQ5NTY1N2Q2OTQ2NDhkYTcuLjc3MDQ0ODcyMjdiMzU0OTNlNDM0NjM2Y2E4MWY4
YjY1OWFhZTgzZTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLW1h
dGNoQWxsLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9j
YWNoZS1tYXRjaEFsbC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMTYgKzEsMTYgQEAKIAotRkFJ
TCBDYWNoZS5tYXRjaEFsbCB3aXRoIG5vIG1hdGNoaW5nIGVudHJpZXMgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggVVJMIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRoIFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggbmV3IFJlcXVlc3QgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggSEVBRCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBpZ25vcmVTZWFyY2ggb3B0
aW9uIChyZXF1ZXN0IHdpdGggbm8gc2VhcmNoIHBhcmFtZXRlcnMpIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJl
cXVlc3Qgd2l0aCBzZWFyY2ggcGFyYW1ldGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1G
QUlMIENhY2hlLm1hdGNoQWxsIHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2hBbGwgc3VwcG9ydHMgaWdub3JlVmFyeSBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBVUkwgY29udGFpbmlu
ZyBmcmFnbWVudCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2hBbGwg
d2l0aCBzdHJpbmcgZnJhZ21lbnQgImh0dHAiIGFzIHF1ZXJ5IHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVu
dGVkIgotRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRob3V0IHBhcmFtZXRlcnMgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggcmVzcG9uc2VzIGNvbnRhaW5p
bmcgIlZhcnkiIGhlYWRlciBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0
Y2hBbGwgd2l0aCBtdWx0aXBsZSB2YXJ5IHBhaXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgor
RkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRoIG5vIG1hdGNoaW5nIGVudHJpZXMgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBVUkwgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9y
dGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBSZXF1
ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxs
IHdpdGggbmV3IFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwg
Q2FjaGUubWF0Y2hBbGwgd2l0aCBIRUFEIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3
aXRoIG5vIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVk
IgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qg
d2l0aCBzZWFyY2ggcGFyYW1ldGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
K0ZBSUwgQ2FjaGUubWF0Y2hBbGwgc3VwcG9ydHMgaWdub3JlTWV0aG9kIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHN1cHBvcnRzIGlnbm9yZVZh
cnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
Tm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwg
d2l0aCBVUkwgY29udGFpbmluZyBmcmFnbWVudCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRoIHN0cmluZyBmcmFnbWVudCAiaHR0cCIgYXMg
cXVlcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hB
bGwgd2l0aG91dCBwYXJhbWV0ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitG
QUlMIENhY2hlLm1hdGNoQWxsIHdpdGggcmVzcG9uc2VzIGNvbnRhaW5pbmcgIlZhcnkiIGhlYWRl
ciBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3
aXRoIG11bHRpcGxlIHZhcnkgcGFpcnMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtcHV0Lmh0dHBzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXB1dC5odHRwcy1leHBl
Y3RlZC50eHQKaW5kZXggODk4OGQ4NTQ0MTA3MGJiYmIxYTY0ZGJhYjhhZDc3YThkMmQwYWM4Zi4u
ZjZhYWRhZWJlM2Q5YzU5YmZlMDhhNWNmNTZlOTg1ZGEzYzMxMzI1MyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
Y2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtcHV0Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1wdXQuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0x
LDI1ICsxLDI1IEBACiAKLUZBSUwgQ2FjaGUucHV0IGNhbGxlZCB3aXRoIHNpbXBsZSBSZXF1ZXN0
IGFuZCBSZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IGNh
bGxlZCB3aXRoIFJlcXVlc3QgYW5kIFJlc3BvbnNlIGZyb20gZmV0Y2goKSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggUmVxdWVzdCB3aXRob3V0IGEgYm9keSBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggUmVzcG9uc2Ugd2l0
aG91dCBhIGJvZHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRo
IGEgUmVzcG9uc2UgY29udGFpbmluZyBhbiBlbXB0eSBVUkwgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIGFuIGVtcHR5IHJlc3BvbnNlIGJvZHkgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIHN5bnRoZXRpYyAyMDYgcmVzcG9u
c2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIEhUVFAgMjA2
IHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBI
VFRQIDUwMCByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0
IGNhbGxlZCB0d2ljZSB3aXRoIG1hdGNoaW5nIFJlcXVlc3RzIGFuZCBkaWZmZXJlbnQgUmVzcG9u
c2VzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgY2FsbGVkIHR3aWNl
IHdpdGggcmVxdWVzdCBVUkxzIHRoYXQgZGlmZmVyIG9ubHkgYnkgYSBmcmFnbWVudCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggYSBzdHJpbmcgcmVxdWVzdCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggYW4gaW52YWxpZCBy
ZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggYSBu
b24tSFRUUC9IVFRQUyByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNo
ZS5wdXQgd2l0aCBhIHJlbGF0aXZlIFVSTCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwg
Q2FjaGUucHV0IHdpdGggYSBub24tR0VUIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlLnB1dCB3aXRoIGEgbnVsbCByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggYSBQT1NUIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIGEgdXNlZCByZXNwb25zZSBib2R5IHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogTm90IGltcGxlbWVudGVkIgotRkFJTCBnZXRSZWFkZXIoKSBhZnRlciBDYWNoZS5wdXQgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIGEgVkFSWToqIFJlc3Bv
bnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBhbiBlbWJl
ZGRlZCBWQVJZOiogUmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
LnB1dCBzaG91bGQgc3RvcmUgUmVzcG9uc2UucmVkaXJlY3QoKSBjb3JyZWN0bHkgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCBjYWxsZWQgd2l0aCBzaW1wbGUgUmVxdWVz
dCBhbmQgUmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2Fj
aGUucHV0IGNhbGxlZCB3aXRoIFJlcXVlc3QgYW5kIFJlc3BvbnNlIGZyb20gZmV0Y2goKSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBSZXF1ZXN0
IHdpdGhvdXQgYSBib2R5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENh
Y2hlLnB1dCB3aXRoIFJlc3BvbnNlIHdpdGhvdXQgYSBib2R5IHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIGEgUmVzcG9uc2UgY29udGFpbmluZyBh
biBlbXB0eSBVUkwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUu
cHV0IHdpdGggYW4gZW1wdHkgcmVzcG9uc2UgYm9keSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxl
bWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBzeW50aGV0aWMgMjA2IHJlc3BvbnNlIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIEhUVFAgMjA2
IHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1
dCB3aXRoIEhUVFAgNTAwIHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CitGQUlMIENhY2hlLnB1dCBjYWxsZWQgdHdpY2Ugd2l0aCBtYXRjaGluZyBSZXF1ZXN0cyBhbmQg
ZGlmZmVyZW50IFJlc3BvbnNlcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJ
TCBDYWNoZS5wdXQgY2FsbGVkIHR3aWNlIHdpdGggcmVxdWVzdCBVUkxzIHRoYXQgZGlmZmVyIG9u
bHkgYnkgYSBmcmFnbWVudCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZS5wdXQgd2l0aCBhIHN0cmluZyByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIGFuIGludmFsaWQgcmVzcG9uc2UgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVk
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYSBub24tSFRUUC9I
VFRQUyByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hl
LnB1dCB3aXRoIGEgcmVsYXRpdmUgVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CitGQUlMIENhY2hlLnB1dCB3aXRoIGEgbm9uLUdFVCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIGEgbnVsbCByZXNwb25zZSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBhIFBPU1Qg
cmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQg
d2l0aCBhIHVzZWQgcmVzcG9uc2UgYm9keSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVk
IgorRkFJTCBnZXRSZWFkZXIoKSBhZnRlciBDYWNoZS5wdXQgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYSBWQVJZOiogUmVzcG9uc2UgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9y
dGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYW4gZW1iZWRk
ZWQgVkFSWToqIFJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlLnB1dCBzaG91bGQgc3RvcmUgUmVzcG9uc2UucmVkaXJlY3QoKSBjb3JyZWN0bHkgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2Nh
Y2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2Uta2V5cy5odHRwcy1leHBlY3RlZC50eHQK
aW5kZXggMWQ4MWVkMzQyZmMwMmU0YzY2ODFhZDAyZDhjNTNjNjJiMjM0N2E3MC4uYmZhOTZjZDJh
ZGJjZTY2ZDM3MjA4NjYyZjI3OTFkYzU5YzRkZDQ5NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLWtleXMuaHR0cHMtZXhwZWN0ZWQu
dHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIENhY2hlU3RvcmFnZSBrZXlzIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2Uga2V5cyBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90
IGltcGxlbWVudGVkIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNo
ZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29y
a2VyL2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGZkZWFmZTkz
NjZlOWY1OTk5NDdkMjAzNTlhZjBhNTc0YjNjMmQ2ZjMuLmU3ODA1MDQzNTcxNDcxNDNjOTVlOWI4
NDI1NjA3OTc5ZWQyMGI5M2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2Nh
Y2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3Jh
Z2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDEz
ICsxLDEzIEBACiAKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNoZSBuYW1lIHBy
b3ZpZGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBm
cm9tIG9uZSBvZiBtYW55IGNhY2hlcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2Fj
aGVTdG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2YgbWFueSBjYWNoZXMgYnkgbmFtZSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggYSBzdHJpbmcgcmVxdWVzdCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggYSBIRUFEIHJl
cXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdp
dGggbm8gY2FjaGVkIGVudHJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0
b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlcyBhdmFpbGFibGUgYnV0IG5hbWUgcHJvdmlkZWQgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggZW1wdHkg
Y2FjaGUgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVT
dG9yYWdlTWF0Y2ggc3VwcG9ydHMgaWdub3JlU2VhcmNoIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgotRkFJTCBDYWNoZS5tYXRjaCBzdXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2Fj
aGUgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZVN0b3JhZ2VNYXRjaCBmcm9tIG9uZSBvZiBtYW55IGNhY2hlcyBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjog
Tm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBmcm9tIG9uZSBvZiBtYW55
IGNhY2hlcyBieSBuYW1lIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENh
Y2hlU3RvcmFnZU1hdGNoIGEgc3RyaW5nIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggYSBIRUFEIHJlcXVlc3QgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVk
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBj
YWNoZWQgZW50cnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVT
dG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNoZXMgYXZhaWxhYmxlIGJ1dCBuYW1lIHByb3ZpZGVkIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1
cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdp
dGggZW1wdHkgY2FjaGUgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBzdXBwb3J0cyBpZ25vcmVTZWFyY2ggcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9y
dGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggc3VwcG9ydHMgaWdu
b3JlTWV0aG9kIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3Rv
cmFnZU1hdGNoIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFn
ZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9y
YWdlLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAwMDFlNmUzM2JkN2FiMzRlYTczNWFjYWRmOTQy
MGNhZTEwODI5YjYxLi44YzMwZTY4OGFhMDZkNjhlZWViMjBmYTYzZTM2ZjQwNzI0ZGM0M2ViIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLmh0
dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwxMiArMSwxMiBAQAogCi1GQUlMIENhY2hlU3RvcmFnZS5v
cGVuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2UuZGVsZXRlIGRv
b21zLCBidXQgZG9lcyBub3QgZGVsZXRlIGltbWVkaWF0ZWx5IHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVu
dGVkIgotRkFJTCBDYWNoZVN0b3JhZ2Uub3BlbiB3aXRoIGFuIGVtcHR5IG5hbWUgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZS5vcGVuIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZS5kZWxldGUgZG9vbXMsIGJ1dCBkb2Vz
IG5vdCBkZWxldGUgaW1tZWRpYXRlbHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
K0ZBSUwgQ2FjaGVTdG9yYWdlLm9wZW4gd2l0aCBhbiBlbXB0eSBuYW1lIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCiBQQVNTIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggbm8gYXJndW1l
bnRzIAotRkFJTCBDYWNoZVN0b3JhZ2UuaGFzIHdpdGggZXhpc3RpbmcgY2FjaGUgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZS5oYXMgd2l0aCBub25leGlzdGVudCBj
YWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLm9wZW4gd2l0
aCBleGlzdGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9y
YWdlLmRlbGV0ZSB3aXRoIGV4aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgot
RkFJTCBDYWNoZVN0b3JhZ2UuZGVsZXRlIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZSBuYW1lcyBhcmUgRE9NU3RyaW5ncyBu
b3QgVVNWU3RyaW5ncyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdl
LmhhcyB3aXRoIGV4aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CitQQVNTIENhY2hlU3RvcmFnZS5oYXMgd2l0aCBub25leGlzdGVudCBjYWNoZSAKK0ZBSUwgQ2Fj
aGVTdG9yYWdlLm9wZW4gd2l0aCBleGlzdGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGlt
cGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2UuZGVsZXRlIHdpdGggZXhpc3RpbmcgY2FjaGUg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK1BBU1MgQ2FjaGVTdG9yYWdlLmRlbGV0
ZSB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIAorRkFJTCBDYWNoZVN0b3JhZ2UgbmFtZXMgYXJlIERP
TVN0cmluZ3Mgbm90IFVTVlN0cmluZ3MgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318113</attachid>
            <date>2017-08-14 22:25:02 -0700</date>
            <delta_ts>2017-08-15 12:47:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175455-20170814222501.patch</filename>
            <type>text/plain</type>
            <size>172626</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNzM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGMxZTQ0OGQ4YWFjZThl
ODUxYzQzYzYyMzhjZjk0ZmY1MTEwYzNkNS4uMjU4MDRhYjM1ZmNjYmM2ZGM4NzBhNzdmNjhlMGVl
ZmMwNzliZjUyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0MyBAQAorMjAxNy0wOC0xNCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRk
aW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5
IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgIEFkZGluZyBhIENhY2hlU3RvcmFnZVByb3ZpZGVy
IGFic3RyYWN0aW9uIHRoYXQgY3JlYXRlcyBhIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uCisgICAg
ICAgIFRoZSBDYWNoZVN0b3JhZ2VQcm92aWRlciBpcyBhY2Nlc3NlZCBmcm9tIHRoZSBwYWdlIGZv
ciBEb2N1bWVudCBjYWxscy4KKyAgICAgICAgVGhlIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24gaXMg
cmVzcG9uc2libGUgdG8gaW1wbGVtZW50IHRoZSByZWFkL3dyaXRlIG9wZXJhdGlvbnMgb24gdGhl
IGNhY2hlIGRhdGFiYXNlLgorICAgICAgICBBdCB0aGUgbW9tZW50LCBpdCBkb2VzIG5vdGhpbmcg
YnV0IHJldHVybiBub3QgaW1wbGVtZW50ZWQgZXJyb3JzLgorCisgICAgICAgIEltcGxlbWVudGlu
ZyBDYWNoZVN0b3JhZ2UgQVBJcyBhbmQgQ2FjaGUgQVBJcyBiYXNlZCBvbiB0aGUgQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbiBleGNlcHQgZm9yIENhY2hlIGFkZCBhbmQgYWRkQWxsIHdoaWNoIHdpbGwg
YmUgaW1wbGVtZW50ZWQgbGF0ZXIgb24uCisgICAgICAgIENhY2hlU3RvcmFnQ29ubmVjdGlvbiBp
cyByZXNwb25zaWJsZSB0byByZWFkL3dyaXRlIENhY2hlU3RvcmFnZSBsaXN0IG9mIGNhY2hlcyBh
bmQgZWFjaCBpbmRpdmlkdWFsIGNhY2hlLgorICAgICAgICBUaGUgQ2FjaGVTdG9yYWdlQ29ubmVj
dGlvbiBpcyBhIGdlbmVyaWMgY29ubmVjdGlvbiBhbmQgbm90IHRpZWQgdG8gYW55IGRvY3VtZW50
L2NvbnRleHQuCisgICAgICAgIENhY2hlU3RvcmFnZSBvYmplY3RzIGFyZSBtYW5pcHVsYXRlZCBi
eSBwcm92aWRpbmcgdG8gdGhlIGNvbm5lY3Rpb24gdGhlIG9yaWdpbiBvZiB0aGUgY29udGV4dC4K
KyAgICAgICAgQ2FjaGVTdG9yYWdlIGFyZSBnbG9iYWwgdG8gYWxsIGNvbnRleHRzIHdpdGggdGhl
IHNhbWUgb3JpZ2luLgorICAgICAgICBDYWNoZSBvYmplY3RzIGFyZSBtYW5pcHVsYXRlZCBieSBh
biBJRCB0aGF0IGlzIGdpdmVuIGluaXRpYWxseSBieSB0aGUgQ2FjaGVTdG9yYWdlRW5naW5lIHdo
ZW4gb3BlbmluZyB0aGUgQ2FjaGUgb2JqZWN0LgorCisgICAgICAgIEFkZGluZyB2YXJpb3VzIGFj
Y2Vzc29ycyBhbmQgY29uc3RydWN0b3JzIGZvciBGZXRjaCBjb25zdHJ1Y3RzIGFzIG5lZWRlZCBi
eSB0aGUgQ2FjaGUgQVBJIGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogTW9kdWxlcy9jYWNo
ZS9DYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6Q2FjaGUpOgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGU6On5DYWNoZSk6CisgICAgICAgIFRoZSBDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uIGlzIGEgZ2VuZXJpYyBjb25uZWN0aW9uIGFuZCBub3QgdGllZCB0byBhbnkgZG9jdW1lbnQv
Y29udGV4dC4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjptYXRjaCk6IEltcGxlbWVudGF0aW9u
IG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtbWF0Y2gu
CisgICAgICAgIFJlZGlyZWN0IHRvIG1hdGNoQWxsIGFzIHBlciBzcGVjLgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGU6Om1hdGNoQWxsKTogSW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93d3cudzMu
b3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNjYWNoZS1tYXRjaEFsbC4KKyAgICAgICAgQ2hlY2tz
IGZvciByZXF1ZXN0IGFzIHBlciBzcGVjLiBUaGVuIGVpdGhlciByZWZyZXNoIHRoZSByZXF1ZXN0
IHRvIHJlc3BvbnNlIG1hcCBhbmQgcmV0dXJuIGFsbCByZXNwb25zZXMuCisgICAgICAgIE9yIGNh
bGwgdGhlIHF1ZXJ5IGNhY2hlIGFsZ29yaXRobSBhbmQgcmV0dXJuIGNvcGllcyBvZiB0aGUgcmVz
cG9uc2VzICh1c2luZyBjbG9uZSkuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6cHV0KToKKyAg
ICAgICAgQ2hlY2sgdGhlIHJlcXVlc3QgYW5kIHJlc3BvbnNlIGFzIHBlciBzcGVjLgorICAgICAg
ICBBZGQgdGVtcG9yYXJ5IHJlamVjdGlvbiBjYXNlcyAoYmVpbmcgbG9hZGVkIHJlc3BvbnNlcywg
cmVzcG9uc2VzIHdpdGggUmVhZGFibGVTdHJlYW0pIGFzIHRoZXJlIGlzIG5vIHN1cHBvcnQgZm9y
IHRoZW0gcmlnaHQgbm93LgorICAgICAgICBDYWxsIHRoZSBiYXRjaCBwdXQgb3BlcmF0aW9uLgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnJlbW92ZSk6CisgICAgICAgIENoZWNrIHRoZSByZXF1
ZXN0IGFuZCByZXNwb25zZSBhcyBwZXIgc3BlYy4KKyAgICAgICAgQ2FsbCB0aGUgYmF0Y2ggZGVs
ZXRlIG9wZXJhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjprZXlzKToKKyAgICAgICAg
UmVmcmVzaCB0aGUgcmVxdWVzdCB0byByZXNwb25zZSBtYXAgYW5kIHJldHVybiBjb3JyZXNwb25k
aW5nIHJlcXVlc3RzLgorICAgICAgICBNYWtpbmcgc3VyZSB0byByZXVzZSB0aGUgc2FtZSByZXF1
ZXN0IG9iamVjdHMgYXMgcGVyIHNwZWMuCisgICAgICAgIEFzIHBlciBzcGVjLCB0aGUgcmVxdWVz
dCB0byByZXNwb25zZSBtYXAgaXMgb3JkZXJlZC4gV2UgaW1wbGVtZW50IGl0IGFzIGEgVmVjdG9y
LgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcCk6
CisgICAgICAgIFVzZSB0aGUgY2FjaGUgc3RvcmFnZSBjb25uZWN0aW9uIHRvIGdldCBhbiB1cC10
by1kYXRlIGxpc3Qgb2YgY2FjaGVkIHJlY29yZHMuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6
cXVlcnlDYWNoZU1hdGNoKToKKyAgICAgICAgSW1wbGVtZW50cyB0aGUgbWF0Y2ggYWxnb3JpdGht
IGRlZmluZWQgaW4gaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNxdWVy
eS1jYWNoZS1hbGdvcml0aG0uCisgICAgICAgIFRoaXMgaXMgc3BsaXQgZm9yIHF1ZXJ5Q2FjaGUg
YXMgY2FjaGUgc3RvcmFnZSBlbmdpbmUgd2lsbCBuZWVkIHRvIHVzZSBpdCB3aGVuIGltcGxlbWVu
dGluZyB0aGUgZGVsZXRlIG9wZXJhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjpxdWVy
eUNhY2hlKToKKyAgICAgICAgRnVsbCBpbXBsZW1lbnRhdGlvbiBvZiBodHRwczovL3d3dy53My5v
cmcvVFIvc2VydmljZS13b3JrZXJzLTEvI3F1ZXJ5LWNhY2hlLWFsZ29yaXRobSB3aXRoIG5vIHRh
cmdldFN0b3JhZ2UgYXJndW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6cXVlcnlDYWNo
ZVdpdGhUYXJnZXRTdG9yYWdlKToKKyAgICAgICAgRnVsbCBpbXBsZW1lbnRhdGlvbiBvZiBodHRw
czovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEvI3F1ZXJ5LWNhY2hlLWFsZ29yaXRo
bSB3aXRoIGEgcHJvdmlkZWQgdGFyZ2V0U3RvcmFnZSBhcmd1bWVudC4KKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlOjpiYXRjaERlbGV0ZU9wZXJhdGlvbik6CisgICAgICAgIEltcGxlbWVudGF0aW9u
IG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jYmF0Y2gtY2FjaGUt
b3BlcmF0aW9ucy1hbGdvcml0aG0gYnV0IGRlZGljYXRlZCB0byBhIGRlbGV0ZSBvcGVyYXRpb24u
CisgICAgICAgIERlbGV0ZSBvcGVyYXRpb24gYXJlIGFsd2F5cyBkb25lIG9uZSBhdCBhIHRpbWUu
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6YmF0Y2hQdXRPcGVyYXRpb24pOgorICAgICAgICBJ
bXBsZW1lbnRhdGlvbiBvZiBodHRwczovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEv
I2JhdGNoLWNhY2hlLW9wZXJhdGlvbnMtYWxnb3JpdGhtIGRlZGljYXRlZCB0byBhIHB1dCBvcGVy
YXRpb24uCisgICAgICAgIFB1dCBvcGVyYXRpb24gdGFrZXMgb25lIHJlY29yZCBmb3IgcHV0IGJ1
dCBjYW4gdGFrZSBzZXZlcmFsIHJlY29yZHMgaW4gdGhlIGNhc2Ugb2YgYWRkQWxsLCBoZW5jZSB0
aGUgY3VycmVudCBkZXNpZ24uCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6dXBkYXRlUmVxdWVz
dFRvUmVzcG9uc2VNYXApOgorICAgICAgICBVcGRhdGUgdGhlIGNhY2hlIHJlcXVlc3QgdG8gcmVz
cG9uc2UgbWFwIGJhc2VkIG9uIHRoZSByZWNvcmRzIHJldHJpZXZlZCBmcm9tIHRoZSBjYWNoZSBz
dG9yYWdlIGNvbm5lY3Rpb24uCisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6
bmFtZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZS5pZGw6CisgICAgICAg
ICogTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVTdG9yYWdlOjpvcmlnaW4gY29uc3QpOgorICAgICAgICBDb21wdXRpbmcgdGhlIGNhY2hlIG9y
aWdpbiB0aGF0IGlzIHBhc3NlZCB0byB0aGUgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi4KKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6aGFzKToKKyAgICAgICAgSW1wbGVtZW50YXRpb24g
b2YgaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNjYWNoZS1zdG9yYWdl
LWhhcy4KKyAgICAgICAgQ2FsbCB0aGUgY2FjaGUgc3RvcmFnZSBjb25uZWN0aW9uIHRvIHJlZnJl
c2ggaXRzIGNhY2hlIG1hcC4KKyAgICAgICAgVGhlbiB1c2UgaXQgdG8gY2hlY2sgd2hldGhlciBh
IGNhY2hlIGV4aXN0cy4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6cmVmcmVzaENh
Y2hlTWFwKToKKyAgICAgICAgVXNlIHRoZSBjYWNoZSBzdG9yYWdlIGNvbm5lY3Rpb24gdG8gZ2V0
IHRoZSBsaXN0IG9mIGV4aXN0aW5nIGNhY2hlcy4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3Rv
cmFnZTo6b3Blbik6CisgICAgICAgIEltcGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9y
Zy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtc3RvcmFnZS1vcGVuLgorICAgICAgICBSZWZy
ZXNoaW5nIHRoZSBjYWNoZSBtYXAgc28gYXMgdG8gcmV0dXJuIGEgcHJlLWV4aXN0aW5nIGNhY2hl
IGlmIGFueS4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6cmVtb3ZlKToKKyAgICAg
ICAgSW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vy
cy0xLyNjYWNoZS1zdG9yYWdlLWRlbGV0ZS1tZXRob2QuCisgICAgICAgIFJlZnJlc2hpbmcgdGhl
IGNhY2hlIG1hcCBzbyBhcyB0byBkbyBub3RoaW5nIGlmIHRoZXJlIGlzIG5vIGNhY2hlIHRvIHJl
bW92ZS4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6a2V5cyk6CisgICAgICAgIElt
cGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8j
Y2FjaGUtc3RvcmFnZS1rZXlzLW1ldGhvZC4KKyAgICAgICAgUmVmcmVzaGluZyB0aGUgY2FjaGUg
bWFwIGFuZCByZXR1cm5pbiBpdHMga2V5cy4KKyAgICAgICAgQXMgcGVyIHNwZWMsIHRoZSBjYWNo
ZSBtYXAgaXMgb3JkZXJlZC4gV2UgaW1wbGVtZW50IGl0IGFzIGEgVmVjdG9yLgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVTdG9yYWdlOjpjYWNoZU1hcCk6CisgICAgICAgIEdldCB0aGUgbGlzdCBv
ZiBjYWNoZSBvYmplY3RzLCB1c2VkIGFzIGEgcHJpdmF0ZSBhY2Nlc3NvciBmb3IgSlMgYnVpbHQt
aW5zLgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZVN0b3JhZ2U6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0
b3JhZ2U6OkNhY2hlU3RvcmFnZSk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uOjpleGNlcHRpb25Gcm9tRXJyb3IpOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUv
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oOiBBZGRlZC4KKyAgICAgICAgTWFrZXMgdGhlIGxpbmsg
YmV0d2VlbiBXZWIgZmFjaW5nIENhY2hlIEFQSSBhbmQgdGhlIGNhY2hlIHN0b3JhZ2UgZW5naW5l
LgorICAgICAgICBFbnZpc2lvbmVkIGltcGxlbWVudGF0aW9uIGFyZToKKyAgICAgICAgLSBPbmUg
bWFpbiB0aHJlYWQgY29ubmVjdGlvbiB1c2VkIGJ5IGFsbCBkb2N1bWVudHMgaW4gdGhlIGdpdmVu
IHByb2Nlc3MuCisgICAgICAgIC0gT25lIGNvbm5lY3Rpb24gcGVyIHdvcmtlciB0aGF0IGZvcndh
cmRzIHRoZSBjYWxscyB0byB0aGUgbWFpbiB0aHJlYWQgYW5kIHVzZSB0aGUgbWFpbiB0aHJlYWQg
Y29ubmVjdGlvbiBhZnRlcndhcmRzLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29u
bmVjdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5lY3Rp
b246Om9wZW4pOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6cmVt
b3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246OnJlZnJlc2hD
YWNoZU1hcCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpyZWZy
ZXNoUmVxdWVzdFRvUmVzcG9uc2VNYXApOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdl
Q29ubmVjdGlvbjo6YmF0Y2hEZWxldGVPcGVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbjo6YmF0Y2hQdXRPcGVyYXRpb24pOgorICAgICAgICAqIE1vZHVs
ZXMvY2FjaGUvQ2FjaGVTdG9yYWdlUmVjb3JkLmg6IEFkZGVkLiBBIGZldGNoIHJlY29yZCBmcm9t
IHRoZSBXZWIgZmFjaW5nIGNhY2hlIEFQSSBwZXJzcGVjdGl2ZS4KKyAgICAgICAgKiBNb2R1bGVz
L2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3dD
YWNoZXM6OmNhY2hlcyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9i
YWxTY29wZUNhY2hlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUNh
Y2hlczo6ZnJvbSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6
Y2FjaGVzIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3Bl
Q2FjaGVzLmg6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6V29y
a2VyR2xvYmFsU2NvcGVDYWNoZXMpOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5
T3duZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoQm9keU93bmVyOjppc1JlYWRhYmxlU3Ry
ZWFtQm9keSBjb25zdCk6IEFkZGVkIGdldHRlciBhcyBpdCBpcyB1c2VkIGJ5IGNhY2hlIEFQSS4K
KyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5oOgorICAgICAgICAoV2ViQ29y
ZTo6RmV0Y2hIZWFkZXJzOjpjcmVhdGUpOiBBZGQgYW5vdGhlciBjcmVhdGUgYXMgdXNlZCBieSB0
aGUgY2FjaGUgQVBJLgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpndWFyZCBjb25z
dCk6IEFkZGVkIGdldHRlciBhbmQgSVBDIHNlcmlhbGl6ZXIgYXMgdGhpcyBpcyBzb21ldGhpbmcg
dGhhdCB3aWxsIGJlIHN0b3JlZCBieSB0aGUgY2FjaGUgZW5naW5lLgorICAgICAgICAqIE1vZHVs
ZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hMb2FkZXI6
OnN0YXJ0KToKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpidWlsZE9wdGlvbnMpOiBJbiBjYXNlIEZldGNoUmVxdWVzdDo6Y3JlYXRl
IGlzIGNhbGxlZCBmcm9tIEMrKywgdGhlcmUgaXMgbm8gbmVlZCB0byBzZXQgaW5pdC53aW5kb3cg
dG8gYSBudWxsIHZhbHVlLgorICAgICAgICBBZGQgYSBjaGVjayBzbyB0aGF0IG5vIHZhbHVlIGF0
IGFsbCBpcyB0aGUgc2FtZSBhcyBhIG51bGwvdW5kZWZpbmVkIHZhbHVlLgorICAgICAgICAoV2Vi
Q29yZTo6RmV0Y2hSZXF1ZXN0OjpyZXNvdXJjZVJlcXVlc3QgY29uc3QpOgorICAgICAgICAqIE1v
ZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0Lmg6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRj
aFJlc3BvbnNlLmg6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvck92ZXJsYXk6Om92ZXJsYXlQYWdlKToKKyAgICAgICAgKiBwYWdlL0Nh
Y2hlU3RvcmFnZVByb3ZpZGVyLmg6IEFkZGVkLgorICAgICAgICBJbnRlcmZhY2UgdG8gY3JlYXRl
IG1haW4gdGhyZWFkIGNhY2hlIHN0b3JhZ2UgY29ubmVjdGlvbiBmb3IgdGhlIGdpdmVuIHBhZ2Uu
CisgICAgICAgIFRoZXJlIHdpbGwgYmUgb25lIHByb3ZpZGVyIGZvciBlYWNoIHByb2Nlc3MuCisg
ICAgICAgIFBhc3NpbmcgYSBzZXNzaW9uSUQgc28gdGhhdCB3ZSB3aWxsIGNyZWF0ZSBhIGNvbm5l
Y3Rpb24gcGVyIHNlc3Npb24uCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBhZ2U6OlBhZ2UpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UGFnZTo6Y2FjaGVTdG9yYWdlUHJvdmlkZXIpOgorICAgICAgICAqIHBhZ2UvUGFnZUNv
bmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbmZpZ3VyYXRpb246OlBh
Z2VDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0aW9uLmg6Cisg
ICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0ltYWdlOjpkYXRhQ2hhbmdlZCk6CisKIDIwMTctMDgtMTQgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIFByb3hpbWl0eSBFdmVudHMgYW5k
IHJlbGF0ZWQgY29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA4Y2UyNDA2Zjg1ZjI4ZGM3NDdlYjc4YTMyODcxZTRh
YzYwODI3Mzg4Li5lNjg2MDIyYzUyZDBkYjA1ZDQ2MDg2YzQzMTg0ZTdhNjg5ODEzNWRlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE3LTA4LTE0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KKworICAgICAgICBbQ2FjaGUgQVBJXSBBZGRpbmcgZ2VuZXJpYyBzdXBwb3J0
IGZvciBDYWNoZVN0b3JhZ2UgYW5kIENhY2hlIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTQ1NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9DYWNoZS9XZWJDYWNoZVN0b3JhZ2VQcm92aWRl
ci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Om1fY3B1TGltaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OldlYlByb2Nlc3MpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzOjpjYWNoZVN0b3JhZ2VQcm92aWRlcik6CisKIDIwMTctMDgtMTQgIFNpbW9uIEZyYXNlciAg
PHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIFByb3hpbWl0eSBFdmVu
dHMgYW5kIHJlbGF0ZWQgY29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IGMxZjE3
M2U1NzRkMzE5Yjg2NmFhMjYwMzYwODZlMjY0MzBmN2M1MTQuLmEyNWI0MTcwN2JjNWE4MzQzOGI4
OWM2OTYwOTNmMTg1MTA3ZDRjMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxNy0wOC0xNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRkaW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVT
dG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmll
dyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpdKToKKwogMjAx
Ny0wOC0xNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZW1vdmUgUHJveGltaXR5IEV2ZW50cyBhbmQgcmVsYXRlZCBjb2RlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9DaGFuZ2VMb2cKaW5kZXggN2M1YmVhMTJiOTk2MzhiNGJhNTY1OTA3Zjc4OTQ3YWViMjk0YjUx
NC4uNDA4NjcyY2Q5ZDE3NzczNzhiY2YzNzk4NTIyMzRhOWMzM2NkMGUxMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE3LTA4LTE0ICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbQ2FjaGUgQVBJXSBBZGRpbmcgZ2Vu
ZXJpYyBzdXBwb3J0IGZvciBDYWNoZVN0b3JhZ2UgYW5kIENhY2hlIG1ldGhvZHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTQ1NQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy5jcHA6Cisg
ICAgICAgIChXZWJWaWV3Ojppbml0V2l0aEZyYW1lKToKKwogMjAxNy0wOC0xMyAgTWFudWVsIFJl
Z28gQ2FzYXNub3ZhcyAgPHJlZ29AaWdhbGlhLmNvbT4KIAogICAgICAgICBDb21wb3NpdGlvbiB1
bmRlcmxpbmUgY29sb3IgaXMgYWx3YXlzIGJsYWNrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDFh
NGUwYjczYjJlYmUxNTE5ZjhmZWI5MDZkYmJhYTIyYWU4ZjE4MGEuLjdjZGQ0ODJmZTM5ZDc3NTQ4
NDI2YjExNDExYjZlYmYyNzQ5NmEzYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC04OTYsNiAr
ODk2LDcgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogCiAgICAgTW9kdWxlcy9jYWNoZS9DYWNoZS5j
cHAKICAgICBNb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5jcHAKKyAgICBNb2R1bGVzL2NhY2hl
L0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCiAgICAgTW9kdWxlcy9jYWNoZS9ET01XaW5kb3dD
YWNoZXMuY3BwCiAgICAgTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmNwcAppbmRleCBlMTlhZjU1MDI5NTY0
ZDk1NzQ1NDJiM2ViMzM0ODQzMjM4M2Y2N2Q1Li42NjQ0MjM0NGZiZjNiZTU1ZTdiZGIxNzM1MjBi
ZGIxZDY2NWNiNDQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0Nh
Y2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmNwcApAQCAt
MjYsNDEgKzI2LDM0MCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkNhY2hlLmgi
CiAKKyNpbmNsdWRlICJDYWNoZVF1ZXJ5T3B0aW9ucy5oIgorI2luY2x1ZGUgIkZldGNoUmVzcG9u
c2UuaCIKKyNpbmNsdWRlICJKU0ZldGNoUmVxdWVzdC5oIgorI2luY2x1ZGUgIkpTRmV0Y2hSZXNw
b25zZS5oIgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlICJV
UkwuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12b2lkIENhY2hlOjptYXRjaChSZXF1ZXN0
SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBSZWY8RGVmZXJyZWRQ
cm9taXNlPiYmIHByb21pc2UpCitDYWNoZTo6Q2FjaGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCwgU3RyaW5nJiYgbmFtZSwgdWludDY0X3QgaWRlbnRpZmllciwgUmVmPENhY2hlU3Rv
cmFnZUNvbm5lY3Rpb24+JiYgY29ubmVjdGlvbikKKyAgICA6IEFjdGl2ZURPTU9iamVjdCgmY29u
dGV4dCkKKyAgICAsIG1fbmFtZShXVEZNb3ZlKG5hbWUpKQorICAgICwgbV9pZGVudGlmaWVyKGlk
ZW50aWZpZXIpCisgICAgLCBtX2Nvbm5lY3Rpb24oV1RGTW92ZShjb25uZWN0aW9uKSkKIHsKLSAg
ICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5v
dCBpbXBsZW1lbnRlZCIpfSk7CisgICAgc3VzcGVuZElmTmVlZGVkKCk7CiB9CiAKLXZvaWQgQ2Fj
aGU6Om1hdGNoQWxsKHN0ZDo6b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8
Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIE1hdGNoQWxsUHJvbWlzZSYmIHByb21pc2UpCitDYWNoZTo6
fkNhY2hlKCkKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFT
Q0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKK30KKwordm9pZCBDYWNoZTo6bWF0Y2go
UmVxdWVzdEluZm8mJiBpbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIFJlZjxEZWZl
cnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBkb01hdGNoKFdURk1vdmUoaW5mbyksIFdU
Rk1vdmUob3B0aW9ucyksIFdURk1vdmUocHJvbWlzZSksIE1hdGNoVHlwZTo6T25seUZpcnN0KTsK
K30KKwordm9pZCBDYWNoZTo6bWF0Y2hBbGwoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4mJiBp
bmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYg
cHJvbWlzZSkKK3sKKyAgICBkb01hdGNoKFdURk1vdmUoaW5mbyksIFdURk1vdmUob3B0aW9ucyks
IFdURk1vdmUocHJvbWlzZSksIE1hdGNoVHlwZTo6QWxsKTsKK30KKwordm9pZCBDYWNoZTo6ZG9N
YXRjaChzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZvPiYmIGluZm8sIENhY2hlUXVlcnlPcHRpb25z
JiYgb3B0aW9ucywgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlLCBNYXRjaFR5cGUgbWF0
Y2hUeXBlKQoreworICAgIFJlZlB0cjxGZXRjaFJlcXVlc3Q+IHJlcXVlc3Q7CisgICAgaWYgKGlu
Zm8pIHsKKyAgICAgICAgaWYgKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmUHRyPEZldGNoUmVx
dWVzdD4+KGluZm8udmFsdWUoKSkpIHsKKyAgICAgICAgICAgIHJlcXVlc3QgPSBXVEY6OmdldDxS
ZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4oaW5mby52YWx1ZSgpKS5yZWxlYXNlTm9uTnVsbCgpOworICAg
ICAgICAgICAgaWYgKHJlcXVlc3QtPm1ldGhvZCgpICE9ICJHRVQiICYmICFvcHRpb25zLmlnbm9y
ZU1ldGhvZCkgeworICAgICAgICAgICAgICAgIGlmIChtYXRjaFR5cGUgPT0gTWF0Y2hUeXBlOjpP
bmx5Rmlyc3QpIHsKKyAgICAgICAgICAgICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZSgpOworICAg
ICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgIHByb21pc2UtPnJlc29sdmU8SURMU2VxdWVuY2U8SURMSW50ZXJmYWNlPEZldGNoUmVzcG9u
c2U+Pj4oVmVjdG9yPFJlZjxGZXRjaFJlc3BvbnNlPj4geyB9KTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAo
VU5MSUtFTFkoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkpCisgICAgICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICAgICAgcmVxdWVzdCA9IEZldGNoUmVxdWVzdDo6Y3JlYXRlKCpzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCksIFdURk1vdmUoaW5mby52YWx1ZSgpKSwgeyB9KS5yZWxlYXNlUmV0
dXJuVmFsdWUoKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmICghcmVxdWVzdCkgeworICAg
ICAgICBBU1NFUlQobWF0Y2hUeXBlID09IE1hdGNoVHlwZTo6QWxsKTsKKyAgICAgICAgcmV0cmll
dmVSZWNvcmRzKFt0aGlzLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSB7CisgICAgICAg
ICAgICBWZWN0b3I8UmVmPEZldGNoUmVzcG9uc2U+PiByZXNwb25zZXM7CisgICAgICAgICAgICBy
ZXNwb25zZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShtX3JlY29yZHMuc2l6ZSgpKTsKKyAgICAg
ICAgICAgIGZvciAoYXV0byYgcmVjb3JkIDogbV9yZWNvcmRzKQorICAgICAgICAgICAgICAgIHJl
c3BvbnNlcy51bmNoZWNrZWRBcHBlbmQocmVjb3JkLnJlc3BvbnNlLT5jbG9uZUZvckpTKCkpOwor
ICAgICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8RmV0
Y2hSZXNwb25zZT4+PihyZXNwb25zZXMpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKyAgICBxdWVyeUNhY2hlKHJlcXVlc3QucmVsZWFzZU5vbk51bGwoKSwgV1RGTW92ZShv
cHRpb25zKSwgW21hdGNoVHlwZSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKGNvbnN0IFZl
Y3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+JiByZWNvcmRzKSBtdXRhYmxlIHsKKyAgICAgICAgaWYg
KG1hdGNoVHlwZSA9PSBNYXRjaFR5cGU6Ok9ubHlGaXJzdCkgeworICAgICAgICAgICAgaWYgKHJl
Y29yZHMuc2l6ZSgpKSB7CisgICAgICAgICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExJbnRl
cmZhY2U8RmV0Y2hSZXNwb25zZT4+KHJlY29yZHNbMF0ucmVzcG9uc2UtPmNsb25lRm9ySlMoKSk7
CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcHJv
bWlzZS0+cmVzb2x2ZSgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAg
ICAgVmVjdG9yPFJlZjxGZXRjaFJlc3BvbnNlPj4gcmVzcG9uc2VzOworICAgICAgICByZXNwb25z
ZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShyZWNvcmRzLnNpemUoKSk7CisgICAgICAgIGZvciAo
YXV0byYgcmVjb3JkIDogcmVjb3JkcykKKyAgICAgICAgICAgIHJlc3BvbnNlcy51bmNoZWNrZWRB
cHBlbmQocmVjb3JkLnJlc3BvbnNlLT5jbG9uZUZvckpTKCkpOworICAgICAgICBwcm9taXNlLT5y
ZXNvbHZlPElETFNlcXVlbmNlPElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4+KHJlc3BvbnNl
cyk7CisgICAgfSk7CiB9CiAKIHZvaWQgQ2FjaGU6OmFkZChSZXF1ZXN0SW5mbyYmLCBET01Qcm9t
aXNlRGVmZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2Vw
dGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAg
IHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yLCBBU0NJSUxpdGVy
YWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CiB9CiAKIHZvaWQgQ2FjaGU6OmFkZEFsbChWZWN0b3I8
UmVxdWVzdEluZm8+JiYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCiB7Ci0g
ICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5v
dCBpbXBsZW1lbnRlZCIpfSk7CisgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgTm90U3Vw
cG9ydGVkRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKK30KKwordm9p
ZCBDYWNoZTo6cHV0KFJlcXVlc3RJbmZvJiYgaW5mbywgUmVmPEZldGNoUmVzcG9uc2U+JiYgcmVz
cG9uc2UsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCit7CisgICAgUmVmUHRy
PEZldGNoUmVxdWVzdD4gcmVxdWVzdDsKKyAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxS
ZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4oaW5mbykpIHsKKyAgICAgICAgcmVxdWVzdCA9IFdURjo6Z2V0
PFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvKS5yZWxlYXNlTm9uTnVsbCgpOworICAgICAgICBp
ZiAocmVxdWVzdC0+bWV0aG9kKCkgIT0gIkdFVCIpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVq
ZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJSZXF1ZXN0IG1ldGhvZCBp
cyBub3QgR0VUIikgfSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9IGVs
c2UgeworICAgICAgICBpZiAoVU5MSUtFTFkoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkpCisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0
ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBXVEZNb3ZlKGluZm8pLCB7IH0pLnJlbGVhc2VS
ZXR1cm5WYWx1ZSgpOworICAgIH0KKworICAgIGlmICghcHJvdG9jb2xJc0luSFRUUEZhbWlseShy
ZXF1ZXN0LT51cmwoKSkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlw
ZUVycm9yLCBBU0NJSUxpdGVyYWwoIlJlcXVlc3QgdXJsIGlzIG5vdCBIVFRQL0hUVFBTIikgfSk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIHZhcnlWYWx1ZSA9IHJlc3BvbnNl
LT5oZWFkZXJzKCkuaW50ZXJuYWxIZWFkZXJzKCkuZ2V0KFdlYkNvcmU6OkhUVFBIZWFkZXJOYW1l
OjpWYXJ5KTsKKyAgICBib29sIGhhc1ZhcnlIZWFkZXJTdGFyID0gZmFsc2U7CisgICAgdmFyeVZh
bHVlLnNwbGl0KCcsJywgZmFsc2UsIFsmXShTdHJpbmdWaWV3IHZpZXcpIHsKKyAgICAgICAgaWYg
KCFoYXNWYXJ5SGVhZGVyU3RhciAmJiB2aWV3ID09ICIqIikKKyAgICAgICAgICAgIGhhc1ZhcnlI
ZWFkZXJTdGFyID0gdHJ1ZTsKKyAgICB9KTsKKworICAgIGlmIChoYXNWYXJ5SGVhZGVyU3Rhcikg
eworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0
ZXJhbCgiUmVzcG9uc2UgaGFzIGEgJyonIFZhcnkgaGVhZGVyIHZhbHVlIikgfSk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICBpZiAocmVzcG9uc2UtPmlzRGlzdHVyYmVkKCkpIHsKKyAg
ICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwo
IlJlc3BvbnNlIGlzIGRpc3R1cmJlZCBvciBsb2NrZWQiKSB9KTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIGlmIChyZXNwb25zZS0+c3RhdHVzKCkgPT0gMjA2KSB7CisgICAgICAgIHBy
b21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJSZXNwb25z
ZSBpcyBhIDIwNiBwYXJ0aWFsIikgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAv
LyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIGJlaW5nIGxvYWRlZCByZXNwb25zZXMuCisgICAgaWYg
KHJlc3BvbnNlLT5pc0xvYWRpbmcoKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRp
b24geyBOb3RTdXBwb3J0ZWRFcnJvciwgQVNDSUlMaXRlcmFsKCJDYWNoaW5nIGEgbG9hZGluZyBS
ZXNwb25zZSBpcyBub3QgeWV0IHN1cHBvcnRlZCIpIH0pOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBSZWFkYWJsZVN0cmVhbS4KKyAgICBp
ZiAocmVzcG9uc2UtPmlzUmVhZGFibGVTdHJlYW1Cb2R5KCkpIHsKKyAgICAgICAgcHJvbWlzZS5y
ZWplY3QoRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQ2FjaGlu
ZyBhIFJlc3BvbnNlIHdpdGggZGF0YSBzdG9yZWQgaW4gYSBSZWFkYWJsZVN0cmVhbSBpcyBub3Qg
eWV0IHN1cHBvcnRlZCIpIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYmF0Y2hQ
dXRPcGVyYXRpb24oKnJlcXVlc3QsIHJlc3BvbnNlLmdldCgpLCBbcHJvbWlzZSA9IFdURk1vdmUo
cHJvbWlzZSldKENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yIGVycm9yKSBtdXRhYmxlIHsK
KyAgICAgICAgaWYgKGVycm9yICE9IENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yOjpOb25l
KSB7CisgICAgICAgICAgICBwcm9taXNlLnJlamVjdChDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpl
eGNlcHRpb25Gcm9tRXJyb3IoZXJyb3IpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
fQorICAgICAgICBwcm9taXNlLnJlc29sdmUoKTsKKyAgICB9KTsKK30KKwordm9pZCBDYWNoZTo6
cmVtb3ZlKFJlcXVlc3RJbmZvJiYgaW5mbywgQ2FjaGVRdWVyeU9wdGlvbnMmJiBvcHRpb25zLCBE
T01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQoreworICAgIFJlZlB0cjxG
ZXRjaFJlcXVlc3Q+IHJlcXVlc3Q7CisgICAgaWYgKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVm
UHRyPEZldGNoUmVxdWVzdD4+KGluZm8pKSB7CisgICAgICAgIHJlcXVlc3QgPSBXVEY6OmdldDxS
ZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4oaW5mbykucmVsZWFzZU5vbk51bGwoKTsKKyAgICAgICAgaWYg
KHJlcXVlc3QtPm1ldGhvZCgpICE9ICJHRVQiICYmICFvcHRpb25zLmlnbm9yZU1ldGhvZCkgewor
ICAgICAgICAgICAgcHJvbWlzZS5yZXNvbHZlKGZhbHNlKTsKKyAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChVTkxJS0VMWSghc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgcmVxdWVzdCA9
IEZldGNoUmVxdWVzdDo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFdURk1vdmUo
aW5mbyksIHsgfSkucmVsZWFzZVJldHVyblZhbHVlKCk7CisgICAgfQorCisgICAgYmF0Y2hEZWxl
dGVPcGVyYXRpb24oKnJlcXVlc3QsIFdURk1vdmUob3B0aW9ucyksIFtwcm9taXNlID0gV1RGTW92
ZShwcm9taXNlKV0oYm9vbCBkaWREZWxldGUsIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9y
IGVycm9yKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKGVycm9yICE9ICBDYWNoZVN0b3JhZ2VDb25u
ZWN0aW9uOjpFcnJvcjo6Tm9uZSkgeworICAgICAgICAgICAgcHJvbWlzZS5yZWplY3QoQ2FjaGVT
dG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9yKGVycm9yKSk7CisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgcHJvbWlzZS5yZXNvbHZlKGRpZERlbGV0ZSk7
CisgICAgfSk7Cit9CisKK3ZvaWQgQ2FjaGU6OmtleXMoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5m
bz4mJiBpbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIEtleXNQcm9taXNlJiYgcHJv
bWlzZSkKK3sKKyAgICBSZWZQdHI8RmV0Y2hSZXF1ZXN0PiByZXF1ZXN0OworICAgIGlmIChpbmZv
KSB7CisgICAgICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPFJlZlB0cjxGZXRjaFJlcXVl
c3Q+PihpbmZvLnZhbHVlKCkpKSB7CisgICAgICAgICAgICByZXF1ZXN0ID0gV1RGOjpnZXQ8UmVm
UHRyPEZldGNoUmVxdWVzdD4+KGluZm8udmFsdWUoKSkucmVsZWFzZU5vbk51bGwoKTsKKyAgICAg
ICAgICAgIGlmIChyZXF1ZXN0LT5tZXRob2QoKSAhPSAiR0VUIiAmJiAhb3B0aW9ucy5pZ25vcmVN
ZXRob2QpIHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLnJlc29sdmUoVmVjdG9yPFJlZjxGZXRj
aFJlcXVlc3Q+PiB7IH0pOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWSghc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpKSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICByZXF1
ZXN0ID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgV1RG
TW92ZShpbmZvLnZhbHVlKCkpLCB7IH0pLnJlbGVhc2VSZXR1cm5WYWx1ZSgpOworICAgICAgICB9
CisgICAgfQorCisgICAgaWYgKCFyZXF1ZXN0KSB7CisgICAgICAgIHJldHJpZXZlUmVjb3Jkcyhb
dGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgICAg
ICBWZWN0b3I8UmVmPEZldGNoUmVxdWVzdD4+IHJlcXVlc3RzOworICAgICAgICAgICAgcmVxdWVz
dHMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShtX3JlY29yZHMuc2l6ZSgpKTsKKyAgICAgICAgICAg
IGZvciAoYXV0byYgcmVjb3JkIDogbV9yZWNvcmRzKQorICAgICAgICAgICAgICAgIHJlcXVlc3Rz
LnVuY2hlY2tlZEFwcGVuZChyZWNvcmQucmVxdWVzdC5jb3B5UmVmKCkpOworICAgICAgICAgICAg
cHJvbWlzZS5yZXNvbHZlKHJlcXVlc3RzKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBxdWVyeUNhY2hlKHJlcXVlc3QucmVsZWFzZU5vbk51bGwoKSwgV1RGTW92
ZShvcHRpb25zKSwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShjb25zdCBWZWN0b3I8Q2Fj
aGVTdG9yYWdlUmVjb3JkPiYgcmVjb3JkcykgbXV0YWJsZSB7CisgICAgICAgIFZlY3RvcjxSZWY8
RmV0Y2hSZXF1ZXN0Pj4gcmVxdWVzdHM7CisgICAgICAgIHJlcXVlc3RzLnJlc2VydmVJbml0aWFs
Q2FwYWNpdHkocmVjb3Jkcy5zaXplKCkpOworICAgICAgICBmb3IgKGF1dG8mIHJlY29yZCA6IHJl
Y29yZHMpCisgICAgICAgICAgICByZXF1ZXN0cy51bmNoZWNrZWRBcHBlbmQocmVjb3JkLnJlcXVl
c3QuY29weVJlZigpKTsKKyAgICAgICAgcHJvbWlzZS5yZXNvbHZlKHJlcXVlc3RzKTsKKyAgICB9
KTsKK30KKwordm9pZCBDYWNoZTo6cmV0cmlldmVSZWNvcmRzKFdURjo6RnVuY3Rpb248dm9pZCgp
PiYmIGNhbGxiYWNrKQoreworICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICBtX2Nv
bm5lY3Rpb24tPnJldHJpZXZlUmVjb3JkcyhtX2lkZW50aWZpZXIsIFt0aGlzLCBjYWxsYmFjayA9
IFdURk1vdmUoY2FsbGJhY2spXShWZWN0b3I8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6UmVjb3Jk
PiYmIHJlY29yZHMpIHsKKyAgICAgICAgaWYgKCFtX2lzU3RvcHBlZCkgeworICAgICAgICAgICAg
dXBkYXRlUmVjb3JkcyhXVEZNb3ZlKHJlY29yZHMpKTsKKyAgICAgICAgICAgIGNhbGxiYWNrKCk7
CisgICAgICAgIH0KKyAgICAgICAgdW5zZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgfSk7
Cit9CisKK3ZvaWQgQ2FjaGU6OnF1ZXJ5Q2FjaGUoUmVmPEZldGNoUmVxdWVzdD4mJiByZXF1ZXN0
LCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIFdURjo6RnVuY3Rpb248dm9pZChjb25zdCBW
ZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiYpPiYmIGNhbGxiYWNrKQoreworICAgIHJldHJpZXZl
UmVjb3JkcyhbdGhpcywgcmVxdWVzdCA9IFdURk1vdmUocmVxdWVzdCksIG9wdGlvbnMgPSBXVEZN
b3ZlKG9wdGlvbnMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSgpIG11dGFibGUgewor
ICAgICAgICBjYWxsYmFjayhxdWVyeUNhY2hlV2l0aFRhcmdldFN0b3JhZ2UocmVxdWVzdC5nZXQo
KSwgb3B0aW9ucywgbV9yZWNvcmRzKSk7CisgICAgfSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgYm9v
bCBxdWVyeUNhY2hlTWF0Y2goY29uc3QgRmV0Y2hSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBGZXRj
aFJlcXVlc3QmIGNhY2hlZFJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGNhY2hlZFJl
c3BvbnNlLCBjb25zdCBDYWNoZVF1ZXJ5T3B0aW9ucyYgb3B0aW9ucykKK3sKKyAgICAvLyBXZSBu
ZWVkIHRvIHBhc3MgdGhlIHJlc291cmNlIHJlcXVlc3Qgd2l0aCBhbGwgY29ycmVjdCBoZWFkZXJz
IGhlbmNlIHdoeSB3ZSBjYWxsIHJlc291cmNlUmVxdWVzdCgpLgorICAgIHJldHVybiBDYWNoZVN0
b3JhZ2VDb25uZWN0aW9uOjpxdWVyeUNhY2hlTWF0Y2gocmVxdWVzdC5yZXNvdXJjZVJlcXVlc3Qo
KSwgY2FjaGVkUmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKSwgY2FjaGVkUmVzcG9uc2UsIG9wdGlv
bnMpOworfQorCitWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiBDYWNoZTo6cXVlcnlDYWNoZVdp
dGhUYXJnZXRTdG9yYWdlKGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgQ2FjaGVR
dWVyeU9wdGlvbnMmIG9wdGlvbnMsIGNvbnN0IFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+JiB0
YXJnZXRTdG9yYWdlKQoreworICAgIGlmICghb3B0aW9ucy5pZ25vcmVNZXRob2QgJiYgcmVxdWVz
dC5tZXRob2QoKSAhPSAiR0VUIikKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIFZlY3RvcjxD
YWNoZVN0b3JhZ2VSZWNvcmQ+IHJlY29yZHM7CisgICAgZm9yIChhdXRvJiByZWNvcmQgOiB0YXJn
ZXRTdG9yYWdlKSB7CisgICAgICAgIGlmIChxdWVyeUNhY2hlTWF0Y2gocmVxdWVzdCwgcmVjb3Jk
LnJlcXVlc3QuZ2V0KCksIHJlY29yZC5yZXNwb25zZS0+cmVzb3VyY2VSZXNwb25zZSgpLCBvcHRp
b25zKSkKKyAgICAgICAgICAgIHJlY29yZHMuYXBwZW5kKHsgcmVjb3JkLmlkZW50aWZpZXIsIHJl
Y29yZC5yZXF1ZXN0LmNvcHlSZWYoKSwgcmVjb3JkLnJlc3BvbnNlLmNvcHlSZWYoKSB9KTsKKyAg
ICB9CisgICAgcmV0dXJuIHJlY29yZHM7Cit9CisKK3ZvaWQgQ2FjaGU6OmJhdGNoRGVsZXRlT3Bl
cmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgQ2FjaGVRdWVyeU9wdGlvbnMmJiBv
cHRpb25zLCBXVEY6OkZ1bmN0aW9uPHZvaWQoYm9vbCBkaWRSZW1vdmFsLCBDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uOjpFcnJvciBlcnJvcik+JiYgY2FsbGJhY2spCit7CisgICAgc2V0UGVuZGluZ0Fj
dGl2aXR5KHRoaXMpOworICAgIG1fY29ubmVjdGlvbi0+YmF0Y2hEZWxldGVPcGVyYXRpb24obV9p
ZGVudGlmaWVyLCByZXF1ZXN0LmludGVybmFsUmVxdWVzdCgpLCBXVEZNb3ZlKG9wdGlvbnMpLCBb
dGhpcywgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oVmVjdG9yPHVpbnQ2NF90PiYmIHJl
Y29yZHMsIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yIGVycm9yKSB7CisgICAgICAgIGlm
ICghbV9pc1N0b3BwZWQpIHsKKyAgICAgICAgICAgIGlmIChlcnJvciA9PSBDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uOjpFcnJvcjo6Tm9uZSkKKyAgICAgICAgICAgICAgICBtX3JlY29yZHMucmVtb3Zl
QWxsTWF0Y2hpbmcoWyZdKGNvbnN0IGF1dG8mIGl0ZW0pIHsgcmV0dXJuIHJlY29yZHMuY29udGFp
bnMoaXRlbS5pZGVudGlmaWVyKTsgfSk7CisKKyAgICAgICAgICAgIGNhbGxiYWNrKCFyZWNvcmRz
LmlzRW1wdHkoKSwgZXJyb3IpOworICAgICAgICB9CisgICAgICAgIHVuc2V0UGVuZGluZ0FjdGl2
aXR5KHRoaXMpOworICAgIH0pOworfQorCitzdGF0aWMgaW5saW5lIENhY2hlU3RvcmFnZUNvbm5l
Y3Rpb246OlJlY29yZCB0b0Nvbm5lY3Rpb25SZWNvcmQoY29uc3QgRmV0Y2hSZXF1ZXN0JiByZXF1
ZXN0LCBGZXRjaFJlc3BvbnNlJiByZXNwb25zZSkKK3sKKyAgICAvLyBGSVhNRTogQWRkIGEgc2V0
SFRUUEhlYWRlckZpZWxkcyBvbiBSZXNvdXJjZVJlc3BvbnNlQmFzZS4KKyAgICBSZXNvdXJjZVJl
c3BvbnNlIGNhY2hlZFJlc3BvbnNlID0gcmVzcG9uc2UucmVzb3VyY2VSZXNwb25zZSgpOworICAg
IGZvciAoYXV0byYgaGVhZGVyIDogcmVzcG9uc2UuaGVhZGVycygpLmludGVybmFsSGVhZGVycygp
KQorICAgICAgICBjYWNoZWRSZXNwb25zZS5zZXRIVFRQSGVhZGVyRmllbGQoaGVhZGVyLmtleSwg
aGVhZGVyLnZhbHVlKTsKKworICAgIFJlc291cmNlUmVxdWVzdCBjYWNoZWRSZXF1ZXN0ID0gcmVx
dWVzdC5pbnRlcm5hbFJlcXVlc3QoKTsKKyAgICBjYWNoZWRSZXF1ZXN0LnNldEhUVFBIZWFkZXJG
aWVsZHMocmVxdWVzdC5oZWFkZXJzKCkuaW50ZXJuYWxIZWFkZXJzKCkpOworCisgICAgcmV0dXJu
IHsgMCwKKyAgICAgICAgcmVxdWVzdC5oZWFkZXJzKCkuZ3VhcmQoKSwgV1RGTW92ZShjYWNoZWRS
ZXF1ZXN0KSwgcmVxdWVzdC5mZXRjaE9wdGlvbnMoKSwgcmVxdWVzdC5pbnRlcm5hbFJlcXVlc3RS
ZWZlcnJlcigpLAorICAgICAgICByZXNwb25zZS5oZWFkZXJzKCkuZ3VhcmQoKSwgV1RGTW92ZShj
YWNoZWRSZXNwb25zZSkKKyAgICB9OworfQorCit2b2lkIENhY2hlOjpiYXRjaFB1dE9wZXJhdGlv
bihjb25zdCBGZXRjaFJlcXVlc3QmIHJlcXVlc3QsIEZldGNoUmVzcG9uc2UmIHJlc3BvbnNlLCBX
VEY6OkZ1bmN0aW9uPHZvaWQoQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IpPiYmIGNhbGxi
YWNrKQoreworICAgIFZlY3RvcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQ+IHJlY29y
ZHM7CisgICAgcmVjb3Jkcy5hcHBlbmQodG9Db25uZWN0aW9uUmVjb3JkKHJlcXVlc3QsIHJlc3Bv
bnNlKSk7CisKKyAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgbV9jb25uZWN0aW9u
LT5iYXRjaFB1dE9wZXJhdGlvbihtX2lkZW50aWZpZXIsIFdURk1vdmUocmVjb3JkcyksIFt0aGlz
LCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShWZWN0b3I8dWludDY0X3Q+JiYsIENhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OkVycm9yIGVycm9yKSB7CisgICAgICAgIGlmICghbV9pc1N0b3Bw
ZWQpCisgICAgICAgICAgICBjYWxsYmFjayhlcnJvcik7CisKKyAgICAgICAgdW5zZXRQZW5kaW5n
QWN0aXZpdHkodGhpcyk7CisgICAgfSk7Cit9CisKK3ZvaWQgQ2FjaGU6OnVwZGF0ZVJlY29yZHMo
VmVjdG9yPENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlY29yZD4mJiByZWNvcmRzKQoreworICAg
IEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworICAgIFZlY3RvcjxDYWNoZVN0b3Jh
Z2VSZWNvcmQ+IG5ld1JlY29yZHM7CisKKyAgICBmb3IgKGF1dG8mIHJlY29yZCA6IHJlY29yZHMp
IHsKKyAgICAgICAgc2l6ZV90IGluZGV4ID0gbV9yZWNvcmRzLmZpbmRNYXRjaGluZyhbJl0oY29u
c3QgYXV0byYgaXRlbSkgeyByZXR1cm4gaXRlbS5pZGVudGlmaWVyID09IHJlY29yZC5pZGVudGlm
aWVyOyB9KTsKKyAgICAgICAgaWYgKGluZGV4ICE9IG5vdEZvdW5kKQorICAgICAgICAgICAgbmV3
UmVjb3Jkcy5hcHBlbmQoV1RGTW92ZShtX3JlY29yZHNbaW5kZXhdKSk7CisgICAgICAgIGVsc2Ug
eworICAgICAgICAgICAgYXV0byByZXF1ZXN0SGVhZGVycyA9IEZldGNoSGVhZGVyczo6Y3JlYXRl
KHJlY29yZC5yZXF1ZXN0SGVhZGVyc0d1YXJkLCBIVFRQSGVhZGVyTWFwIHsgcmVjb3JkLnJlcXVl
c3QuaHR0cEhlYWRlckZpZWxkcygpIH0pOworICAgICAgICAgICAgRmV0Y2hSZXF1ZXN0OjpJbnRl
cm5hbFJlcXVlc3QgaW50ZXJuYWxSZXF1ZXN0ID0geyBXVEZNb3ZlKHJlY29yZC5yZXF1ZXN0KSwg
V1RGTW92ZShyZWNvcmQub3B0aW9ucyksIFdURk1vdmUocmVjb3JkLnJlZmVycmVyKSB9OworICAg
ICAgICAgICAgYXV0byByZXF1ZXN0ID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUoKnNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSwgc3RkOjpudWxsb3B0LCBXVEZNb3ZlKHJlcXVlc3RIZWFkZXJzKSwgV1RG
TW92ZShpbnRlcm5hbFJlcXVlc3QpKTsKKworICAgICAgICAgICAgYXV0byByZXNwb25zZUhlYWRl
cnMgPSBGZXRjaEhlYWRlcnM6OmNyZWF0ZShyZWNvcmQucmVzcG9uc2VIZWFkZXJzR3VhcmQsIEhU
VFBIZWFkZXJNYXAgeyByZWNvcmQucmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkcygpIH0pOworICAg
ICAgICAgICAgYXV0byByZXNwb25zZSA9IEZldGNoUmVzcG9uc2U6OmNyZWF0ZSgqc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLCBzdGQ6Om51bGxvcHQsIFdURk1vdmUocmVzcG9uc2VIZWFkZXJzKSwg
V1RGTW92ZShyZWNvcmQucmVzcG9uc2UpKTsKKworICAgICAgICAgICAgbmV3UmVjb3Jkcy5hcHBl
bmQoQ2FjaGVTdG9yYWdlUmVjb3JkIHsgcmVjb3JkLmlkZW50aWZpZXIsIFdURk1vdmUocmVxdWVz
dCksIFdURk1vdmUocmVzcG9uc2UpIH0pOworICAgICAgICB9CisgICAgfQorICAgIG1fcmVjb3Jk
cyA9IFdURk1vdmUobmV3UmVjb3Jkcyk7CiB9CiAKLXZvaWQgQ2FjaGU6OnB1dChSZXF1ZXN0SW5m
byYmLCBSZWY8RmV0Y2hSZXNwb25zZT4mJiwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYgcHJv
bWlzZSkKK3ZvaWQgQ2FjaGU6OnN0b3AoKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlv
biB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIG1f
aXNTdG9wcGVkID0gdHJ1ZTsKIH0KIAotdm9pZCBDYWNoZTo6cmVtb3ZlKFJlcXVlc3RJbmZvJiYs
IHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIERPTVByb21pc2VEZWZlcnJlZDxJ
RExCb29sZWFuPiYmIHByb21pc2UpCitjb25zdCBjaGFyKiBDYWNoZTo6YWN0aXZlRE9NT2JqZWN0
TmFtZSgpIGNvbnN0CiB7Ci0gICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9y
LCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgcmV0dXJuICJDYWNoZSI7
CiB9CiAKLXZvaWQgQ2FjaGU6OmtleXMoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4mJiwgc3Rk
OjpvcHRpb25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgS2V5c1Byb21pc2UmJiBwcm9taXNlKQor
Ym9vbCBDYWNoZTo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0CiB7Ci0g
ICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5v
dCBpbXBsZW1lbnRlZCIpfSk7CisgICAgcmV0dXJuICFtX3JlY29yZHMuc2l6ZSgpICYmICFoYXNQ
ZW5kaW5nQWN0aXZpdHkoKTsKIH0KIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2NhY2hlL0NhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmgK
aW5kZXggMDA4MmFjZDU1NmRkZjVkZWU5Zjc1MDY2NWMyZjRlOWViOWRkOTY1ZS4uMjEwOTczMzgw
MDc4M2JkZmQzYjI2NjFjNjAyNDc0NDQwY2FhODhmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvQ2FjaGUuaApAQCAtMjUsMzYgKzI1LDYwIEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVk
ZSAiRmV0Y2hSZXF1ZXN0LmgiCisjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCisjaW5jbHVk
ZSAiQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIkNhY2hlU3RvcmFnZVJlY29y
ZC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEZldGNoUmVzcG9uc2U7CitjbGFz
cyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCi1zdHJ1Y3QgQ2FjaGVRdWVyeU9wdGlvbnM7Ci0K
LWNsYXNzIENhY2hlIDogcHVibGljIFJlZkNvdW50ZWQ8Q2FjaGU+IHsKK2NsYXNzIENhY2hlIGZp
bmFsIDogcHVibGljIFJlZkNvdW50ZWQ8Q2FjaGU+LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPENhY2hlPiBjcmVhdGUoU3RyaW5nJiYgbmFtZSkgeyBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNoZShXVEZNb3ZlKG5hbWUpKSk7IH0KKyAgICBzdGF0aWMg
UmVmPENhY2hlPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgU3RyaW5n
JiYgbmFtZSwgdWludDY0X3QgaWRlbnRpZmllciwgUmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+
JiYgY29ubmVjdGlvbikgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNoZShjb250ZXh0LCBXVEZN
b3ZlKG5hbWUpLCBpZGVudGlmaWVyLCBXVEZNb3ZlKGNvbm5lY3Rpb24pKSk7IH0KKyAgICB+Q2Fj
aGUoKTsKIAogICAgIHVzaW5nIFJlcXVlc3RJbmZvID0gRmV0Y2hSZXF1ZXN0OjpJbmZvOwogCi0g
ICAgdXNpbmcgTWF0Y2hBbGxQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElETFNlcXVlbmNl
PElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4+OwogICAgIHVzaW5nIEtleXNQcm9taXNlID0g
RE9NUHJvbWlzZURlZmVycmVkPElETFNlcXVlbmNlPElETEludGVyZmFjZTxGZXRjaFJlcXVlc3Q+
Pj47CiAKLSAgICB2b2lkIG1hdGNoKFJlcXVlc3RJbmZvJiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVR
dWVyeU9wdGlvbnM+JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwotICAgIHZvaWQgbWF0Y2hB
bGwoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4mJiwgc3RkOjpvcHRpb25hbDxDYWNoZVF1ZXJ5
T3B0aW9ucz4mJiwgTWF0Y2hBbGxQcm9taXNlJiYpOworICAgIHZvaWQgbWF0Y2goUmVxdWVzdElu
Zm8mJiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisgICAg
dm9pZCBtYXRjaEFsbChzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZvPiYmLCBDYWNoZVF1ZXJ5T3B0
aW9ucyYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKICAgICB2b2lkIGFkZChSZXF1ZXN0SW5m
byYmLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJik7CiAKICAgICB2b2lkIGFkZEFsbChWZWN0
b3I8UmVxdWVzdEluZm8+JiYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKTsKICAgICB2b2lk
IHB1dChSZXF1ZXN0SW5mbyYmLCBSZWY8RmV0Y2hSZXNwb25zZT4mJiwgRE9NUHJvbWlzZURlZmVy
cmVkPHZvaWQ+JiYpOwotICAgIHZvaWQgcmVtb3ZlKFJlcXVlc3RJbmZvJiYsIHN0ZDo6b3B0aW9u
YWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYm
KTsKLSAgICB2b2lkIGtleXMoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4mJiwgc3RkOjpvcHRp
b25hbDxDYWNoZVF1ZXJ5T3B0aW9ucz4mJiwgS2V5c1Byb21pc2UmJik7CisgICAgdm9pZCByZW1v
dmUoUmVxdWVzdEluZm8mJiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgRE9NUHJvbWlzZURlZmVycmVk
PElETEJvb2xlYW4+JiYpOworICAgIHZvaWQga2V5cyhzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZv
PiYmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBLZXlzUHJvbWlzZSYmKTsKKworICAgIGNvbnN0IFN0
cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQorICAgIHVpbnQ2NF90IGlkZW50
aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KIAogcHJpdmF0ZToKLSAgICBl
eHBsaWNpdCBDYWNoZShTdHJpbmcmJiBuYW1lKSA6IG1fbmFtZShXVEZNb3ZlKG5hbWUpKSB7IH0K
KyAgICBDYWNoZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgU3RyaW5nJiYgbmFtZSwgdWludDY0
X3QgaWRlbnRpZmllciwgUmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+JiYpOworCisgICAgZW51
bSBjbGFzcyBNYXRjaFR5cGUgeyBBbGwsIE9ubHlGaXJzdCB9OworICAgIHZvaWQgZG9NYXRjaChz
dGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZvPiYmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBSZWY8RGVm
ZXJyZWRQcm9taXNlPiYmLCBNYXRjaFR5cGUpOworCisgICAgLy8gQWN0aXZlRE9NT2JqZWN0Cisg
ICAgdm9pZCBzdG9wKCkgZmluYWw7CisgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFt
ZSgpIGNvbnN0IGZpbmFsOworICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lv
bigpIGNvbnN0IGZpbmFsOworCisgICAgdm9pZCByZXRyaWV2ZVJlY29yZHMoV1RGOjpGdW5jdGlv
bjx2b2lkKCk+JiYpOworICAgIFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+IHF1ZXJ5Q2FjaGVX
aXRoVGFyZ2V0U3RvcmFnZShjb25zdCBGZXRjaFJlcXVlc3QmLCBjb25zdCBDYWNoZVF1ZXJ5T3B0
aW9ucyYsIGNvbnN0IFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+Jik7CisgICAgdm9pZCBxdWVy
eUNhY2hlKFJlZjxGZXRjaFJlcXVlc3Q+JiYsIENhY2hlUXVlcnlPcHRpb25zJiYsIFdURjo6RnVu
Y3Rpb248dm9pZChjb25zdCBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiYpPiYmKTsKKyAgICB2
b2lkIGJhdGNoRGVsZXRlT3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVzdCYsIENhY2hlUXVlcnlP
cHRpb25zJiYsIFdURjo6RnVuY3Rpb248dm9pZChib29sIGRpZFJlbW92YWwsIENhY2hlU3RvcmFn
ZUNvbm5lY3Rpb246OkVycm9yKT4mJik7CisgICAgdm9pZCBiYXRjaFB1dE9wZXJhdGlvbihjb25z
dCBGZXRjaFJlcXVlc3QmLCBGZXRjaFJlc3BvbnNlJiwgV1RGOjpGdW5jdGlvbjx2b2lkKENhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OkVycm9yKT4mJik7CisKKyAgICB2b2lkIHVwZGF0ZVJlY29yZHMo
VmVjdG9yPENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlY29yZD4mJik7CiAKICAgICBTdHJpbmcg
bV9uYW1lOworICAgIHVpbnQ2NF90IG1faWRlbnRpZmllcjsKKyAgICBSZWY8Q2FjaGVTdG9yYWdl
Q29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOworCisgICAgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29y
ZD4gbV9yZWNvcmRzOworICAgIGJvb2wgbV9pc1N0b3BwZWQgeyBmYWxzZSB9OwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9j
YWNoZS9DYWNoZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmlkbApp
bmRleCBkNDc5NjkxNTVkMjBhNGY3YmZhMzhhNmRjMGIyZGYzMjI1NmE5NGUwLi4xZTdkZjZjYWQy
MzRjODBhNjUyODQyYWJkODgzOGJiNjlmNzFhYjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nh
Y2hlL0NhY2hlLmlkbApAQCAtMjksNyArMjksNiBAQCB0eXBlZGVmIChGZXRjaFJlcXVlc3Qgb3Ig
VVNWU3RyaW5nKSBSZXF1ZXN0SW5mbzsKICAgICBTZWN1cmVDb250ZXh0LAogICAgIEV4cG9zZWQ9
KFdpbmRvdyxXb3JrZXIpLAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9Q2FjaGVBUEksCi0gICAgSW1w
bGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKIF0gaW50ZXJmYWNlIENhY2hlIHsKICAgICBbTmV3T2Jq
ZWN0XSBQcm9taXNlPGFueT4gbWF0Y2goUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2Fj
aGVRdWVyeU9wdGlvbnMgb3B0aW9ucyk7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxzZXF1ZW5j
ZTxGZXRjaFJlc3BvbnNlPj4gbWF0Y2hBbGwob3B0aW9uYWwgUmVxdWVzdEluZm8gcmVxdWVzdCwg
b3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9ucyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5jcHAKaW5kZXggMTIzNjdiZTk2NmUxZTNhMjhhOWUy
OWRiZmU0YjgzYmQ1YWNkZWNjNi4uYTBjMjlkZTliZDQyM2JlNWEyNDRkNmJkYzE4NzE0ZTE4ZTZm
Yzk3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3Jh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmNw
cApAQCAtMjYsMzEgKzI2LDE0NiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkNh
Y2hlU3RvcmFnZS5oIgogCisjaW5jbHVkZSAiQ2FjaGVRdWVyeU9wdGlvbnMuaCIKKyNpbmNsdWRl
ICJKU0NhY2hlLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgQ2FjaGVTdG9yYWdlOjptYXRjaChSZXF1ZXN0SW5mbyYm
LCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBSZWY8RGVmZXJyZWRQcm9taXNl
PiYmIHByb21pc2UpCitDYWNoZVN0b3JhZ2U6OkNhY2hlU3RvcmFnZShTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0LCBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4mJiBjb25uZWN0aW9u
KQorICAgIDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQorICAgICwgbV9jb25uZWN0aW9uKFdU
Rk1vdmUoY29ubmVjdGlvbikpCit7CisgICAgc3VzcGVuZElmTmVlZGVkKCk7Cit9CisKK1N0cmlu
ZyBDYWNoZVN0b3JhZ2U6Om9yaWdpbigpIGNvbnN0Cit7CisgICAgLy8gRklYTUU6IERvIHdlIHJl
YWxseSBuZWVkIHRvIGNoZWNrIGZvciBvcmlnaW4gYmVpbmcgbnVsbD8KKyAgICBhdXRvKiBvcmln
aW4gPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgPyBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkt
PnNlY3VyaXR5T3JpZ2luKCkgOiBudWxscHRyOworICAgIHJldHVybiBvcmlnaW4gPyBvcmlnaW4t
PnRvU3RyaW5nKCkgOiBTdHJpbmcoKTsKK30KKwordm9pZCBDYWNoZVN0b3JhZ2U6Om1hdGNoKENh
Y2hlOjpSZXF1ZXN0SW5mbyYmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBSZWY8RGVmZXJyZWRQcm9t
aXNlPiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS0+cmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVF
cnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHByb21pc2UtPnJl
amVjdChFeGNlcHRpb24geyBOb3RTdXBwb3J0ZWRFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1w
bGVtZW50ZWQiKX0pOwogfQogCi12b2lkIENhY2hlU3RvcmFnZTo6aGFzKGNvbnN0IFN0cmluZyYs
IERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmIHByb21pc2UpCit2b2lkIENhY2hlU3Rv
cmFnZTo6aGFzKGNvbnN0IFN0cmluZyYgbmFtZSwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xl
YW4+JiYgcHJvbWlzZSkKIHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJy
b3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICByZXRyaWV2ZUNhY2hl
cyhbdGhpcywgbmFtZSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7Cisg
ICAgICAgIHByb21pc2UucmVzb2x2ZShtX2NhY2hlcy5maW5kTWF0Y2hpbmcoWyZdKGF1dG8mIGl0
ZW0pIHsgcmV0dXJuIGl0ZW0tPm5hbWUoKSA9PSBuYW1lOyB9KSAhPSBub3RGb3VuZCk7CisgICAg
fSk7Cit9CisKK3ZvaWQgQ2FjaGVTdG9yYWdlOjpyZXRyaWV2ZUNhY2hlcyhXVEY6OkZ1bmN0aW9u
PHZvaWQoKT4mJiBjYWxsYmFjaykKK3sKKyAgICBTdHJpbmcgb3JpZ2luID0gdGhpcy0+b3JpZ2lu
KCk7CisgICAgaWYgKG9yaWdpbi5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgc2V0
UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgIG1fY29ubmVjdGlvbi0+cmV0cmlldmVDYWNoZXMo
b3JpZ2luLCBbdGhpcywgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oVmVjdG9yPENhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OkNhY2hlSW5mbz4mJiBjYWNoZXNJbmZvKSB7CisgICAgICAgIGlm
ICghbV9pc1N0b3BwZWQpIHsKKyAgICAgICAgICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCkpOworICAgICAgICAgICAgbV9jYWNoZXMucmVtb3ZlQWxsTWF0Y2hpbmcoWyZdKGF1dG8m
IGNhY2hlKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGNhY2hlc0luZm8uZmluZE1hdGNoaW5n
KFsmXShjb25zdCBhdXRvJiBpbmZvKSB7IHJldHVybiBpbmZvLmlkZW50aWZpZXIgPT0gY2FjaGUt
PmlkZW50aWZpZXIoKTsgfSkgPT0gbm90Rm91bmQ7CisgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIGZvciAoYXV0byYgaW5mbyA6IGNhY2hlc0luZm8pIHsKKyAgICAgICAgICAgICAgICBpZiAo
bV9jYWNoZXMuZmluZE1hdGNoaW5nKFsmXShjb25zdCBhdXRvJiBjYWNoZSkgeyByZXR1cm4gaW5m
by5pZGVudGlmaWVyID09IGNhY2hlLT5pZGVudGlmaWVyKCk7IH0pID09IG5vdEZvdW5kKQorICAg
ICAgICAgICAgICAgICAgICBtX2NhY2hlcy5hcHBlbmQoQ2FjaGU6OmNyZWF0ZSgqc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLCBXVEZNb3ZlKGluZm8ubmFtZSksIGluZm8uaWRlbnRpZmllciwgbV9j
b25uZWN0aW9uLmNvcHlSZWYoKSkpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBzdGQ6
OnNvcnQobV9jYWNoZXMuYmVnaW4oKSwgbV9jYWNoZXMuZW5kKCksIFsmXShhdXRvJiBhLCBhdXRv
JiBiKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGEtPmlkZW50aWZpZXIoKSA8IGItPmlkZW50
aWZpZXIoKTsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICBjYWxsYmFjaygpOworICAg
ICAgICB9CisgICAgICAgIHVuc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgIH0pOwogfQog
Ci12b2lkIENhY2hlU3RvcmFnZTo6b3Blbihjb25zdCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJy
ZWQ8SURMSW50ZXJmYWNlPENhY2hlPj4mJiBwcm9taXNlKQordm9pZCBDYWNoZVN0b3JhZ2U6Om9w
ZW4oY29uc3QgU3RyaW5nJiBuYW1lLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPENh
Y2hlPj4mJiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVF
cnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHJldHJpZXZlQ2Fj
aGVzKFt0aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsK
KyAgICAgICAgYXV0byBwb3NpdGlvbiA9IG1fY2FjaGVzLmZpbmRNYXRjaGluZyhbJl0oYXV0byYg
aXRlbSkgeyByZXR1cm4gaXRlbS0+bmFtZSgpID09IG5hbWU7IH0pOworICAgICAgICBpZiAocG9z
aXRpb24gIT0gbm90Rm91bmQpIHsKKyAgICAgICAgICAgIGF1dG8mIGNhY2hlID0gbV9jYWNoZXNb
cG9zaXRpb25dOworICAgICAgICAgICAgcHJvbWlzZS5yZXNvbHZlKENhY2hlOjpjcmVhdGUoKnNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgU3RyaW5nIHsgY2FjaGUtPm5hbWUoKSB9LCBjYWNoZS0+
aWRlbnRpZmllcigpLCBtX2Nvbm5lY3Rpb24uY29weVJlZigpKSk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKworICAgICAgICBTdHJpbmcgb3JpZ2luID0gdGhpcy0+b3JpZ2luKCk7
CisgICAgICAgIEFTU0VSVCghb3JpZ2luLmlzTnVsbCgpKTsKKworICAgICAgICBzZXRQZW5kaW5n
QWN0aXZpdHkodGhpcyk7CisgICAgICAgIG1fY29ubmVjdGlvbi0+b3BlbihvcmlnaW4sIG5hbWUs
IFt0aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0odWludDY0X3QgY2FjaGVJ
ZGVudGlmaWVyLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJvciBlcnJvcikgbXV0YWJsZSB7
CisgICAgICAgICAgICBpZiAoIW1faXNTdG9wcGVkKSB7CisgICAgICAgICAgICAgICAgaWYgKGVy
cm9yICE9IENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yOjpOb25lKQorICAgICAgICAgICAg
ICAgICAgICBwcm9taXNlLnJlamVjdChDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpleGNlcHRpb25G
cm9tRXJyb3IoZXJyb3IpKTsKKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAg
ICAgICAgYXV0byBjYWNoZSA9IENhY2hlOjpjcmVhdGUoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSwgU3RyaW5nIHsgbmFtZSB9LCBjYWNoZUlkZW50aWZpZXIsIG1fY29ubmVjdGlvbi5jb3B5UmVm
KCkpOworICAgICAgICAgICAgICAgICAgICBwcm9taXNlLnJlc29sdmUoY2FjaGUpOworICAgICAg
ICAgICAgICAgICAgICBtX2NhY2hlcy5hcHBlbmQoV1RGTW92ZShjYWNoZSkpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHVuc2V0UGVuZGluZ0FjdGl2aXR5
KHRoaXMpOworICAgICAgICB9KTsKKyAgICB9KTsKIH0KIAotdm9pZCBDYWNoZVN0b3JhZ2U6OnJl
bW92ZShjb25zdCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9t
aXNlKQordm9pZCBDYWNoZVN0b3JhZ2U6OnJlbW92ZShjb25zdCBTdHJpbmcmIG5hbWUsIERPTVBy
b21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS5yZWpl
Y3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIp
fSk7CisgICAgcmV0cmlldmVDYWNoZXMoW3RoaXMsIG5hbWUsIHByb21pc2UgPSBXVEZNb3ZlKHBy
b21pc2UpXSgpIG11dGFibGUgeworICAgICAgICBhdXRvIHBvc2l0aW9uID0gbV9jYWNoZXMuZmlu
ZE1hdGNoaW5nKFsmXShhdXRvJiBpdGVtKSB7IHJldHVybiBpdGVtLT5uYW1lKCkgPT0gbmFtZTsg
fSk7CisgICAgICAgIGlmIChwb3NpdGlvbiA9PSBub3RGb3VuZCkgeworICAgICAgICAgICAgcHJv
bWlzZS5yZXNvbHZlKGZhbHNlKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisg
ICAgICAgIFN0cmluZyBvcmlnaW4gPSB0aGlzLT5vcmlnaW4oKTsKKyAgICAgICAgQVNTRVJUKCFv
cmlnaW4uaXNOdWxsKCkpOworCisgICAgICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAg
ICAgICAgbV9jb25uZWN0aW9uLT5yZW1vdmUobV9jYWNoZXNbcG9zaXRpb25dLT5pZGVudGlmaWVy
KCksIFt0aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0odWludDY0X3QgY2Fj
aGVJZGVudGlmaWVyLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJvciBlcnJvcikgbXV0YWJs
ZSB7CisgICAgICAgICAgICBVTlVTRURfUEFSQU0oY2FjaGVJZGVudGlmaWVyKTsKKyAgICAgICAg
ICAgIGlmICghbV9pc1N0b3BwZWQpIHsKKyAgICAgICAgICAgICAgICBpZiAoZXJyb3IgIT0gQ2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3I6Ok5vbmUpCisgICAgICAgICAgICAgICAgICAgIHBy
b21pc2UucmVqZWN0KENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlvbkZyb21FcnJvcihl
cnJvcikpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgcHJvbWlz
ZS5yZXNvbHZlKHRydWUpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdW5zZXRQZW5kaW5n
QWN0aXZpdHkodGhpcyk7CisgICAgICAgIH0pOworICAgICAgICBtX2NhY2hlcy5yZW1vdmUocG9z
aXRpb24pOworICAgIH0pOwogfQogCiB2b2lkIENhY2hlU3RvcmFnZTo6a2V5cyhLZXlzUHJvbWlz
ZSYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9y
LCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgcmV0cmlldmVDYWNoZXMo
W3RoaXMsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSgpIG11dGFibGUgeworICAgICAgICBW
ZWN0b3I8U3RyaW5nPiBrZXlzOworICAgICAgICBrZXlzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHko
bV9jYWNoZXMuc2l6ZSgpKTsKKyAgICAgICAgZm9yIChhdXRvJiBjYWNoZSA6IG1fY2FjaGVzKQor
ICAgICAgICAgICAga2V5cy51bmNoZWNrZWRBcHBlbmQoY2FjaGUtPm5hbWUoKSk7CisgICAgICAg
IHByb21pc2UucmVzb2x2ZShrZXlzKTsKKyAgICB9KTsKK30KKwordm9pZCBDYWNoZVN0b3JhZ2U6
OnN0b3AoKQoreworICAgIG1faXNTdG9wcGVkID0gdHJ1ZTsKK30KKworY29uc3QgY2hhciogQ2Fj
aGVTdG9yYWdlOjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gIkNh
Y2hlU3RvcmFnZSI7Cit9CisKK2Jvb2wgQ2FjaGVTdG9yYWdlOjpjYW5TdXNwZW5kRm9yRG9jdW1l
bnRTdXNwZW5zaW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gIWhhc1BlbmRpbmdBY3Rpdml0eSgp
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9j
YWNoZS9DYWNoZVN0b3JhZ2UuaAppbmRleCBmYTI2OTAwMDM2YzMyNjczNjYyMWZjYjgzN2M3Nzcx
ZWFhOGQ4MjIzLi45Y2JlM2RiZDIxMGVkMGRmYTRkMGQ5MzRmYTE4MTMzZTQ1YjAzYzI3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmgKQEAgLTI1LDI5ICsy
NSwzOSBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkNhY2hlLmgiCisjaW5jbHVkZSAi
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIkZldGNoUmVxdWVzdC5oIgorI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ2Fj
aGU7Ci0KLXN0cnVjdCBDYWNoZVF1ZXJ5T3B0aW9uczsKLQotY2xhc3MgQ2FjaGVTdG9yYWdlIDog
cHVibGljIFJlZkNvdW50ZWQ8Q2FjaGVTdG9yYWdlPiB7CitjbGFzcyBDYWNoZVN0b3JhZ2UgOiBw
dWJsaWMgUmVmQ291bnRlZDxDYWNoZVN0b3JhZ2U+LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPENhY2hlU3RvcmFnZT4gY3JlYXRlKCkgeyByZXR1cm4g
YWRvcHRSZWYoKm5ldyBDYWNoZVN0b3JhZ2UoKSk7IH0KKyAgICBzdGF0aWMgUmVmPENhY2hlU3Rv
cmFnZT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJlZjxDYWNoZVN0
b3JhZ2VDb25uZWN0aW9uPiYmIGNvbm5lY3Rpb24pIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2Fj
aGVTdG9yYWdlKGNvbnRleHQsIFdURk1vdmUoY29ubmVjdGlvbikpKTsgfQogCi0gICAgdXNpbmcg
UmVxdWVzdEluZm8gPSBGZXRjaFJlcXVlc3Q6OkluZm87CiAgICAgdXNpbmcgS2V5c1Byb21pc2Ug
PSBET01Qcm9taXNlRGVmZXJyZWQ8SURMU2VxdWVuY2U8SURMRE9NU3RyaW5nPj47CiAKLSAgICB2
b2lkIG1hdGNoKFJlcXVlc3RJbmZvJiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+
JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworICAgIHZvaWQgbWF0Y2goQ2FjaGU6OlJlcXVl
c3RJbmZvJiYsIENhY2hlUXVlcnlPcHRpb25zJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwog
ICAgIHZvaWQgaGFzKGNvbnN0IFN0cmluZyYsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFu
PiYmKTsKICAgICB2b2lkIG9wZW4oY29uc3QgU3RyaW5nJiwgRE9NUHJvbWlzZURlZmVycmVkPElE
TEludGVyZmFjZTxDYWNoZT4+JiYpOwogICAgIHZvaWQgcmVtb3ZlKGNvbnN0IFN0cmluZyYsIERP
TVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmKTsKICAgICB2b2lkIGtleXMoS2V5c1Byb21p
c2UmJik7CiAKIHByaXZhdGU6Ci0gICAgQ2FjaGVTdG9yYWdlKCkgPSBkZWZhdWx0OworICAgIENh
Y2hlU3RvcmFnZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmPENhY2hlU3RvcmFnZUNvbm5l
Y3Rpb24+JiYpOworCisgICAgLy8gQWN0aXZlRE9NT2JqZWN0CisgICAgdm9pZCBzdG9wKCkgZmlu
YWw7CisgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFsOwor
ICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IGZpbmFsOwor
CisgICAgdm9pZCByZXRyaWV2ZUNhY2hlcyhXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJik7CisgICAg
U3RyaW5nIG9yaWdpbigpIGNvbnN0OworCisgICAgVmVjdG9yPFJlZjxDYWNoZT4+IG1fY2FjaGVz
OworICAgIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CisgICAgYm9v
bCBtX2lzU3RvcHBlZCB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5pZGwKaW5kZXggOGQ3
MWUwOTAzZTc2ZTFhNGI2MmJmYjZmMDI4NDk2ZmI5ODZmMDYyYS4uYjQ0NmFlYTc3ZmM3MDVmMGNj
MDE2N2NlNGE2ZjZmZTEwNzU3MjBhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9jYWNoZS9DYWNoZVN0b3JhZ2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvQ2FjaGVTdG9yYWdlLmlkbApAQCAtMjksNyArMjksNiBAQCB0eXBlZGVmIChGZXRjaFJlcXVl
c3Qgb3IgVVNWU3RyaW5nKSBSZXF1ZXN0SW5mbzsKICAgICBTZWN1cmVDb250ZXh0LAogICAgIEV4
cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9Q2FjaGVBUEksCi0g
ICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKIF0gaW50ZXJmYWNlIENhY2hlU3RvcmFnZSB7
CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxhbnk+IG1hdGNoKFJlcXVlc3RJbmZvIHJlcXVlc3Qs
IG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25zIG9wdGlvbnMpOwogICAgIFtOZXdPYmplY3RdIFBy
b21pc2U8Ym9vbGVhbj4gaGFzKERPTVN0cmluZyBjYWNoZU5hbWUpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTEwNDI3NDNiZmIzMDVmOGVmZjA3Y2VkNmNkYTc0MzI3YTkxZTQwYgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29u
bmVjdGlvbi5jcHAKQEAgLTAsMCArMSw4MSBAQAorCisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaCIKKworI2luY2x1ZGUg
IkNhY2hlUXVlcnlPcHRpb25zLmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uLmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworRXhjZXB0aW9uIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlv
bkZyb21FcnJvcihFcnJvciBlcnJvcikKK3sKKyAgICBBU1NFUlQoZXJyb3IgIT0gRXJyb3I6Ok5v
bmUpOworCisgICAgc3dpdGNoIChlcnJvcikgeworICAgIGNhc2UgRXJyb3I6Ok5vdEltcGxlbWVu
dGVkOgorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IsIEFTQ0lJ
TGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIikgfTsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIlVua25vd24gZXJyb3IiKSB9
OworICAgIH07Cit9CisKK2Jvb2wgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6cXVlcnlDYWNoZU1h
dGNoKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiBjYWNoZWRSZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBjYWNoZWRSZXNwb25zZSwg
Y29uc3QgQ2FjaGVRdWVyeU9wdGlvbnMmIG9wdGlvbnMpCit7CisgICAgQVNTRVJUKG9wdGlvbnMu
aWdub3JlTWV0aG9kIHx8IHJlcXVlc3QuaHR0cE1ldGhvZCgpID09ICJHRVQiKTsKKworICAgIFVS
TCByZXF1ZXN0VVJMID0gcmVxdWVzdC51cmwoKTsKKyAgICBVUkwgY2FjaGVkUmVxdWVzdFVSTCA9
IGNhY2hlZFJlcXVlc3QudXJsKCk7CisKKyAgICBpZiAob3B0aW9ucy5pZ25vcmVTZWFyY2gpIHsK
KyAgICAgICAgcmVxdWVzdFVSTC5zZXRRdWVyeSh7IH0pOworICAgICAgICBjYWNoZWRSZXF1ZXN0
VVJMLnNldFF1ZXJ5KHsgfSk7CisgICAgfQorICAgIGlmICghZXF1YWxJZ25vcmluZ0ZyYWdtZW50
SWRlbnRpZmllcihyZXF1ZXN0VVJMLCBjYWNoZWRSZXF1ZXN0VVJMKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgaWYgKG9wdGlvbnMuaWdub3JlVmFyeSkKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisKKyAgICBTdHJpbmcgdmFyeVZhbHVlID0gY2FjaGVkUmVzcG9uc2UuaHR0cEhlYWRlckZp
ZWxkKFdlYkNvcmU6OkhUVFBIZWFkZXJOYW1lOjpWYXJ5KTsKKyAgICBpZiAodmFyeVZhbHVlLmlz
TnVsbCgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIFZlY3RvcjxTdHJpbmc+IHZhcnlp
bmdIZWFkZXJOYW1lczsKKyAgICB2YXJ5VmFsdWUuc3BsaXQoJywnLCB2YXJ5aW5nSGVhZGVyTmFt
ZXMpOworCisgICAgZm9yIChhdXRvJiBuYW1lIDogdmFyeWluZ0hlYWRlck5hbWVzKSB7CisgICAg
ICAgIGlmIChuYW1lID09ICIqIikKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg
aWYgKGNhY2hlZFJlcXVlc3QuaHR0cEhlYWRlckZpZWxkKG5hbWUpICE9IHJlcXVlc3QuaHR0cEhl
YWRlckZpZWxkKG5hbWUpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICBy
ZXR1cm4gdHJ1ZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIzZWQzZTU4OGE4M2Q1MmY4Y2I2MDRlM2U3NDFmYTVjMjA4ZmI0YjgKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5l
Y3Rpb24uaApAQCAtMCwwICsxLDg4IEBACisKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
I2luY2x1ZGUgIkZldGNoSGVhZGVycy5oIgorI2luY2x1ZGUgIkZldGNoT3B0aW9ucy5oIgorI2lu
Y2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIK
KyNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitzdHJ1Y3QgQ2FjaGVRdWVyeU9wdGlvbnM7CisKK2NsYXNzIENhY2hlU3RvcmFnZUNv
bm5lY3Rpb24gOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8Q2FjaGVTdG9yYWdlQ29ubmVj
dGlvbj4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4g
Y3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uKCkp
OyB9CisgICAgdmlydHVhbCB+Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbigpID0gZGVmYXVsdDsKKwor
ICAgIGVudW0gY2xhc3MgRXJyb3IgeworICAgICAgICBOb25lLAorICAgICAgICBOb3RJbXBsZW1l
bnRlZCwKKyAgICB9OworCisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGJvb2wgcXVlcnlDYWNo
ZU1hdGNoKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiBjYWNoZWRSZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgQ2FjaGVR
dWVyeU9wdGlvbnMmKTsKKworICAgIHN0YXRpYyBFeGNlcHRpb24gZXhjZXB0aW9uRnJvbUVycm9y
KEVycm9yKTsKKworICAgIHN0cnVjdCBSZWNvcmQgeworICAgICAgICB1aW50NjRfdCBpZGVudGlm
aWVyOworCisgICAgICAgIEZldGNoSGVhZGVyczo6R3VhcmQgcmVxdWVzdEhlYWRlcnNHdWFyZDsK
KyAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3Q7CisgICAgICAgIEZldGNoT3B0aW9ucyBv
cHRpb25zOworICAgICAgICBTdHJpbmcgcmVmZXJyZXI7CisKKyAgICAgICAgRmV0Y2hIZWFkZXJz
OjpHdWFyZCByZXNwb25zZUhlYWRlcnNHdWFyZDsKKyAgICAgICAgUmVzb3VyY2VSZXNwb25zZSBy
ZXNwb25zZTsKKyAgICB9OworCisgICAgc3RydWN0IENhY2hlSW5mbyB7CisgICAgICAgIHVpbnQ2
NF90IGlkZW50aWZpZXI7CisgICAgICAgIFN0cmluZyBuYW1lOworICAgIH07CisKKyAgICB1c2lu
ZyBPcGVuUmVtb3ZlQ2FsbGJhY2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQodWludDY0X3QsIEVycm9y
KT47CisgICAgdXNpbmcgQ2FjaGVNYXBDYWxsYmFjayA9IFdURjo6RnVuY3Rpb248dm9pZChWZWN0
b3I8Q2FjaGVJbmZvPiYmKT47CisgICAgdXNpbmcgUmVjb3Jkc0NhbGxiYWNrID0gV1RGOjpGdW5j
dGlvbjx2b2lkKFZlY3RvcjxSZWNvcmQ+JiYpPjsKKyAgICB1c2luZyBCYXRjaE9wZXJhdGlvbkNh
bGxiYWNrID0gV1RGOjpGdW5jdGlvbjx2b2lkKFZlY3Rvcjx1aW50NjRfdD4mJiwgRXJyb3IpPjsK
KworICAgIHZpcnR1YWwgdm9pZCBvcGVuKGNvbnN0IFN0cmluZyYgLyogb3JpZ2luICovLCBjb25z
dCBTdHJpbmcmIC8qIGNhY2hlTmFtZSAqLywgT3BlblJlbW92ZUNhbGxiYWNrJiYgY2FsbGJhY2sp
IHsgY2FsbGJhY2soMCwgRXJyb3I6Ok5vdEltcGxlbWVudGVkKTsgfQorICAgIHZpcnR1YWwgdm9p
ZCByZW1vdmUodWludDY0X3QgLyogY2FjaGVJZGVudGlmaWVyICovLCBPcGVuUmVtb3ZlQ2FsbGJh
Y2smJiBjYWxsYmFjaykgeyBjYWxsYmFjaygwLCBFcnJvcjo6Tm90SW1wbGVtZW50ZWQpOyB9Cisg
ICAgdmlydHVhbCB2b2lkIHJldHJpZXZlQ2FjaGVzKGNvbnN0IFN0cmluZyYgLyogb3JpZ2luICov
LCBDYWNoZU1hcENhbGxiYWNrJiYgY2FsbGJhY2spIHsgY2FsbGJhY2soeyB9KTsgfQorCisgICAg
dmlydHVhbCB2b2lkIHJldHJpZXZlUmVjb3Jkcyh1aW50NjRfdCAvKiBjYWNoZUlkZW50aWZpZXIg
Ki8sIFJlY29yZHNDYWxsYmFjayYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKHsgfSk7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgYmF0Y2hEZWxldGVPcGVyYXRpb24odWludDY0X3QgLyogY2FjaGVJZGVudGlm
aWVyICovLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBCYXRj
aE9wZXJhdGlvbkNhbGxiYWNrJiYgY2FsbGJhY2spIHsgY2FsbGJhY2soeyB9LCBFcnJvcjo6Tm90
SW1wbGVtZW50ZWQpOyB9CisgICAgdmlydHVhbCB2b2lkIGJhdGNoUHV0T3BlcmF0aW9uKHVpbnQ2
NF90IC8qIGNhY2hlSWRlbnRpZmllciAqLywgVmVjdG9yPFJlY29yZD4mJiwgQmF0Y2hPcGVyYXRp
b25DYWxsYmFjayYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKHsgfSwgRXJyb3I6Ok5vdEltcGxlbWVu
dGVkKTsgfQorCitwcm90ZWN0ZWQ6CisgICAgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbigpID0gIGRl
ZmF1bHQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlUmVjb3JkLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZVJlY29yZC5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAwYTZh
Y2U0YmE0YzA5MWRjMDlhNWQ0NTVkZjZhYzdjYTVjYWEyN2IKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZVJlY29yZC5oCkBAIC0wLDAg
KzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkZldGNoUmVx
dWVzdC5oIgorI2luY2x1ZGUgIkZldGNoUmVzcG9uc2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitzdHJ1Y3QgQ2FjaGVTdG9yYWdlUmVjb3JkIHsKKyAgICB1aW50NjRfdCBpZGVudGlmaWVy
OworCisgICAgUmVmPEZldGNoUmVxdWVzdD4gcmVxdWVzdDsKKyAgICBSZWY8RmV0Y2hSZXNwb25z
ZT4gcmVzcG9uc2U7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHAKaW5kZXggODY2NWM1NTY3
MmVhNWY0NmIwOWQ0ZjliMDc1YTY5NjJjNTk1MWVkMS4uMzhhNGM5YjBmOTNkNGQ4NTFmNGU0ZmUy
NzhhOTAxN2JiNzdkY2Q1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNo
ZS9ET01XaW5kb3dDYWNoZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUv
RE9NV2luZG93Q2FjaGVzLmNwcApAQCAtMjcsNyArMjcsMTEgQEAKICNpbmNsdWRlICJET01XaW5k
b3dDYWNoZXMuaCIKIAogI2luY2x1ZGUgIkNhY2hlU3RvcmFnZS5oIgorI2luY2x1ZGUgIkNhY2hl
U3RvcmFnZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCisjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC01NCwxMyArNTgsMTggQEAgRE9NV2luZG93Q2FjaGVzKiBET01X
aW5kb3dDYWNoZXM6OmZyb20oRE9NV2luZG93KiB3aW5kb3cpCiAKIENhY2hlU3RvcmFnZSogRE9N
V2luZG93Q2FjaGVzOjpjYWNoZXMoRE9NV2luZG93JiB3aW5kb3cpCiB7CisgICAgaWYgKCF3aW5k
b3cuaXNDdXJyZW50bHlEaXNwbGF5ZWRJbkZyYW1lKCkpCisgICAgICAgIHJldHVybiBudWxscHRy
OworCiAgICAgcmV0dXJuIERPTVdpbmRvd0NhY2hlczo6ZnJvbSgmd2luZG93KS0+Y2FjaGVzKCk7
CiB9CiAKIENhY2hlU3RvcmFnZSogRE9NV2luZG93Q2FjaGVzOjpjYWNoZXMoKSBjb25zdAogewot
ICAgIGlmICghbV9jYWNoZXMgJiYgZnJhbWUoKSkKLSAgICAgICAgbV9jYWNoZXMgPSBDYWNoZVN0
b3JhZ2U6OmNyZWF0ZSgpOworICAgIEFTU0VSVChmcmFtZSgpKTsKKyAgICBBU1NFUlQoZnJhbWUo
KS0+ZG9jdW1lbnQoKSk7CisgICAgaWYgKCFtX2NhY2hlcyAmJiBmcmFtZSgpLT5wYWdlKCkpCisg
ICAgICAgIG1fY2FjaGVzID0gQ2FjaGVTdG9yYWdlOjpjcmVhdGUoKmZyYW1lKCktPmRvY3VtZW50
KCksIGZyYW1lKCktPnBhZ2UoKS0+Y2FjaGVTdG9yYWdlUHJvdmlkZXIoKS5jcmVhdGVDYWNoZVN0
b3JhZ2VDb25uZWN0aW9uKGZyYW1lKCktPnBhZ2UoKS0+c2Vzc2lvbklEKCkpKTsKICAgICByZXR1
cm4gbV9jYWNoZXMuZ2V0KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAKaW5kZXggMDUxNjk4ZTdjNmU1
NzkwY2QyNzBhMzE4MGZmZWI0M2M3ZDdkZWFhYS4uYzUzOWNkZTYzYjRiNGQyNzcxYzY5Y2ZmN2Q1
OWI3ZjEyNTg1YjgxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9X
b3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9j
YWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAKQEAgLTQwLDcgKzQwLDcgQEAgV29ya2Vy
R2xvYmFsU2NvcGVDYWNoZXMqIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzOjpmcm9tKFdvcmtlckds
b2JhbFNjb3BlJiBzY29wZSkKIHsKICAgICBhdXRvKiBzdXBwbGVtZW50ID0gc3RhdGljX2Nhc3Q8
V29ya2VyR2xvYmFsU2NvcGVDYWNoZXMqPihTdXBwbGVtZW50PFdvcmtlckdsb2JhbFNjb3BlPjo6
ZnJvbSgmc2NvcGUsIHN1cHBsZW1lbnROYW1lKCkpKTsKICAgICBpZiAoIXN1cHBsZW1lbnQpIHsK
LSAgICAgICAgYXV0byBuZXdTdXBwbGVtZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxXb3JrZXJHbG9i
YWxTY29wZUNhY2hlcz4oKTsKKyAgICAgICAgYXV0byBuZXdTdXBwbGVtZW50ID0gc3RkOjptYWtl
X3VuaXF1ZTxXb3JrZXJHbG9iYWxTY29wZUNhY2hlcz4oc2NvcGUpOwogICAgICAgICBzdXBwbGVt
ZW50ID0gbmV3U3VwcGxlbWVudC5nZXQoKTsKICAgICAgICAgcHJvdmlkZVRvKCZzY29wZSwgc3Vw
cGxlbWVudE5hbWUoKSwgV1RGTW92ZShuZXdTdXBwbGVtZW50KSk7CiAgICAgfQpAQCAtNTUsNyAr
NTUsNyBAQCBDYWNoZVN0b3JhZ2UqIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzOjpjYWNoZXMoV29y
a2VyR2xvYmFsU2NvcGUmIHNjb3BlKQogQ2FjaGVTdG9yYWdlKiBXb3JrZXJHbG9iYWxTY29wZUNh
Y2hlczo6Y2FjaGVzKCkgY29uc3QKIHsKICAgICBpZiAoIW1fY2FjaGVzKQotICAgICAgICBtX2Nh
Y2hlcyA9IENhY2hlU3RvcmFnZTo6Y3JlYXRlKCk7CisgICAgICAgIG1fY2FjaGVzID0gQ2FjaGVT
dG9yYWdlOjpjcmVhdGUobV9zY29wZSwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6Y3JlYXRlKCkp
OwogICAgIHJldHVybiBtX2NhY2hlcy5nZXQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oCmluZGV4IDc5NWVi
ZDYxOWUyNDIxZDRjZWIxYjc4Y2RlZTQzM2UxMjM1MTQ4NmQuLmY2Y2M4NTFlMDg1ZTFkM2E1YzIz
Y2FjNmViN2QzZTZmYWMzOTc2NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmgKQEAgLTM0LDcgKzM0LDcgQEAgY2xh
c3MgV29ya2VyR2xvYmFsU2NvcGU7CiAKIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzIDog
cHVibGljIFN1cHBsZW1lbnQ8V29ya2VyR2xvYmFsU2NvcGU+IHsKIHB1YmxpYzoKLSAgICBXb3Jr
ZXJHbG9iYWxTY29wZUNhY2hlcygpID0gZGVmYXVsdDsKKyAgICBXb3JrZXJHbG9iYWxTY29wZUNh
Y2hlcyhXb3JrZXJHbG9iYWxTY29wZSYgc2NvcGUpIDogbV9zY29wZShzY29wZSkgeyB9OwogCiAg
ICAgc3RhdGljIENhY2hlU3RvcmFnZSogY2FjaGVzKFdvcmtlckdsb2JhbFNjb3BlJik7CiAKQEAg
LTQzLDYgKzQzLDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVu
dE5hbWUoKTsKICAgICBDYWNoZVN0b3JhZ2UqIGNhY2hlcygpIGNvbnN0OwogCisgICAgV29ya2Vy
R2xvYmFsU2NvcGUmIG1fc2NvcGU7CiAgICAgbXV0YWJsZSBSZWZQdHI8Q2FjaGVTdG9yYWdlPiBt
X2NhY2hlczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hCb2R5T3duZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5
T3duZXIuaAppbmRleCBjMzIxM2U5NzIxMzkzMDBkNGE1MTg1NGMwNTU5YWI1NTAxNGE5NTViLi43
MWFmYzQ2Y2UwNTFlNGE4NGUzMWFjOTM0NDgzOTZjOGY4NjFlMTljIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5oCkBAIC01Nyw2ICs1Nyw4IEBAIHB1
YmxpYzoKIAogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdCB7IHJldHVybiAhIW1fYmxvYkxvYWRl
cjsgfQogCisgICAgYm9vbCBpc1JlYWRhYmxlU3RyZWFtQm9keSgpIGNvbnN0IHsgcmV0dXJuIG1f
Ym9keSAmJiBtX2JvZHktPmlzUmVhZGFibGVTdHJlYW0oKTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAg
Y29uc3QgRmV0Y2hCb2R5JiBib2R5KCkgY29uc3QgeyByZXR1cm4gKm1fYm9keTsgfQogICAgIEZl
dGNoQm9keSYgYm9keSgpIHsgcmV0dXJuICptX2JvZHk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5oCmluZGV4IGZjM2IxMDhiOWEyZDVhZTU4MzdjMjNjNzkx
ZmUyMDljYjY4MzMyYzguLmZlZTFmOGYxZjM4MDkzYjBkMzM1YjkxOGQ5MWRjZTQ0ZmNkOTdkMTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaApAQCAtMzAs
NiArMzAsNyBAQAogCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRlICJIVFRQSGVh
ZGVyTWFwLmgiCisjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4KICNpbmNsdWRlIDx3dGYvSGFz
aFRyYWl0cy5oPgogI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgpAQCAtNDksNyArNTAsNyBAQCBwdWJsaWM6CiAgICAgdXNpbmcgSW5pdCA9IFZhcmlhbnQ8
VmVjdG9yPFZlY3RvcjxTdHJpbmc+PiwgVmVjdG9yPFdURjo6S2V5VmFsdWVQYWlyPFN0cmluZywg
U3RyaW5nPj4+OwogICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8RmV0Y2hIZWFkZXJzPj4gY3Jl
YXRlKHN0ZDo6b3B0aW9uYWw8SW5pdD4mJik7CiAKLSAgICBzdGF0aWMgUmVmPEZldGNoSGVhZGVy
cz4gY3JlYXRlKEd1YXJkIGd1YXJkID0gR3VhcmQ6Ok5vbmUpIHsgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgRmV0Y2hIZWFkZXJzIHsgZ3VhcmQgfSk7IH0KKyAgICBzdGF0aWMgUmVmPEZldGNoSGVhZGVy
cz4gY3JlYXRlKEd1YXJkIGd1YXJkID0gR3VhcmQ6Ok5vbmUsIEhUVFBIZWFkZXJNYXAmJiBoZWFk
ZXJzID0geyB9KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEZldGNoSGVhZGVycyB7IGd1YXJkLCBX
VEZNb3ZlKGhlYWRlcnMpIH0pOyB9CiAgICAgc3RhdGljIFJlZjxGZXRjaEhlYWRlcnM+IGNyZWF0
ZShjb25zdCBGZXRjaEhlYWRlcnMmIGhlYWRlcnMpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmV0
Y2hIZWFkZXJzIHsgaGVhZGVycyB9KTsgfQogCiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gYXBwZW5k
KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSk7CkBAIC04Miw5ICs4Mywx
MCBAQCBwdWJsaWM6CiAgICAgY29uc3QgSFRUUEhlYWRlck1hcCYgaW50ZXJuYWxIZWFkZXJzKCkg
Y29uc3QgeyByZXR1cm4gbV9oZWFkZXJzOyB9CiAKICAgICB2b2lkIHNldEd1YXJkKEd1YXJkKTsK
KyAgICBHdWFyZCBndWFyZCgpIGNvbnN0IHsgcmV0dXJuIG1fZ3VhcmQ7IH0KIAogcHJpdmF0ZToK
LSAgICBleHBsaWNpdCBGZXRjaEhlYWRlcnMoR3VhcmQgZ3VhcmQsIEhUVFBIZWFkZXJNYXAmJiBo
ZWFkZXJzID0geyB9KTsKKyAgICBGZXRjaEhlYWRlcnMoR3VhcmQsIEhUVFBIZWFkZXJNYXAmJik7
CiAgICAgRmV0Y2hIZWFkZXJzKGNvbnN0IEZldGNoSGVhZGVycyYpOwogCiAgICAgR3VhcmQgbV9n
dWFyZDsKQEAgLTExMSwzICsxMTMsMTggQEAgaW5saW5lIHZvaWQgRmV0Y2hIZWFkZXJzOjpzZXRH
dWFyZChHdWFyZCBndWFyZCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCituYW1lc3Bh
Y2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpGZXRjaEhl
YWRlcnM6Okd1YXJkPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICBXZWJD
b3JlOjpGZXRjaEhlYWRlcnM6Okd1YXJkLAorICAgIFdlYkNvcmU6OkZldGNoSGVhZGVyczo6R3Vh
cmQ6Ok5vbmUsCisgICAgV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZDo6SW1tdXRhYmxlLAor
ICAgIFdlYkNvcmU6OkZldGNoSGVhZGVyczo6R3VhcmQ6OlJlcXVlc3QsCisgICAgV2ViQ29yZTo6
RmV0Y2hIZWFkZXJzOjpHdWFyZDo6UmVxdWVzdE5vQ29ycywKKyAgICBXZWJDb3JlOjpGZXRjaEhl
YWRlcnM6Okd1YXJkOjpSZXNwb25zZQorICAgID47Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCmluZGV4IGUzYTUxZjFhZTg0MzkyYmYzMGZj
OGI1ZDMzNTMxYTA5ZGI4NWNjYWMuLmVkZmFjNWMzODU5MWQ5OWU4OGVkMGZkZjM2ZThkYzRkODk1
OGQ2MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3Bw
CkBAIC04MCw3ICs4MCw3IEBAIHZvaWQgRmV0Y2hMb2FkZXI6OnN0YXJ0KFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxCiAgICAgb3B0aW9ucy5k
YXRhQnVmZmVyaW5nUG9saWN5ID0gRG9Ob3RCdWZmZXJEYXRhOwogICAgIG9wdGlvbnMuc2FtZU9y
aWdpbkRhdGFVUkxGbGFnID0gU2FtZU9yaWdpbkRhdGFVUkxGbGFnOjpTZXQ7CiAKLSAgICBSZXNv
dXJjZVJlcXVlc3QgZmV0Y2hSZXF1ZXN0ID0gcmVxdWVzdC5pbnRlcm5hbFJlcXVlc3QoKTsKKyAg
ICBSZXNvdXJjZVJlcXVlc3QgZmV0Y2hSZXF1ZXN0ID0gcmVxdWVzdC5yZXNvdXJjZVJlcXVlc3Qo
KTsKIAogICAgIEFTU0VSVChjb250ZXh0LmNvbnRlbnRTZWN1cml0eVBvbGljeSgpKTsKICAgICBh
dXRvJiBjb250ZW50U2VjdXJpdHlQb2xpY3kgPSAqY29udGV4dC5jb250ZW50U2VjdXJpdHlQb2xp
Y3koKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1
ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcApp
bmRleCBlNjZjMTVjOTk0Y2U1MWVkZDU0OTNhZDI1ODc0MmRkZTY4Y2EzZDRiLi5hNTI2ZjUyODgz
OTc4M2UwN2U5ZTQ2YTU0Y2RiMWRlOWNkZjk2NDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuY3BwCkBAIC03NCw3ICs3NCw3IEBAIHN0YXRpYyBzdGQ6
Om9wdGlvbmFsPEV4Y2VwdGlvbj4gc2V0UmVmZXJyZXIoRmV0Y2hSZXF1ZXN0OjpJbnRlcm5hbFJl
cXVlc3QmIHJlcXVlCiAKIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbj4gYnVpbGRPcHRp
b25zKEZldGNoUmVxdWVzdDo6SW50ZXJuYWxSZXF1ZXN0JiByZXF1ZXN0LCBTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBGZXRjaFJlcXVlc3Q6OkluaXQmIGluaXQpCiB7Ci0g
ICAgaWYgKCFpbml0LndpbmRvdy5pc1VuZGVmaW5lZE9yTnVsbCgpKQorICAgIGlmICghaW5pdC53
aW5kb3cuaXNVbmRlZmluZWRPck51bGwoKSAmJiAhaW5pdC53aW5kb3cuaXNFbXB0eSgpKQogICAg
ICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIldpbmRvdyBj
YW4gb25seSBiZSBudWxsLiIpIH07CiAKICAgICBpZiAoIWluaXQucmVmZXJyZXIuaXNOdWxsKCkp
IHsKQEAgLTI1NywxNCArMjU3LDE0IEBAIFN0cmluZyBGZXRjaFJlcXVlc3Q6OnJlZmVycmVyKCkg
Y29uc3QKICAgICByZXR1cm4gbV9pbnRlcm5hbFJlcXVlc3QucmVmZXJyZXI7CiB9CiAKLWNvbnN0
IFN0cmluZyYgRmV0Y2hSZXF1ZXN0Ojp1cmwoKSBjb25zdAorY29uc3QgU3RyaW5nJiBGZXRjaFJl
cXVlc3Q6OnVybFN0cmluZygpIGNvbnN0CiB7CiAgICAgaWYgKG1fcmVxdWVzdFVSTC5pc051bGwo
KSkKICAgICAgICAgbV9yZXF1ZXN0VVJMID0gbV9pbnRlcm5hbFJlcXVlc3QucmVxdWVzdC51cmwo
KS5zZXJpYWxpemUoKTsKICAgICByZXR1cm4gbV9yZXF1ZXN0VVJMOwogfQogCi1SZXNvdXJjZVJl
cXVlc3QgRmV0Y2hSZXF1ZXN0OjppbnRlcm5hbFJlcXVlc3QoKSBjb25zdAorUmVzb3VyY2VSZXF1
ZXN0IEZldGNoUmVxdWVzdDo6cmVzb3VyY2VSZXF1ZXN0KCkgY29uc3QKIHsKICAgICBBU1NFUlQo
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hSZXF1ZXN0LmgKaW5kZXggMWYwYjE2ZThhNWExNzlmMGZlYWMwYjU5N2RkNTg3NDlm
YWVkYWJkZC4uNWFkNzQxNDEzOWE0N2ZkYTU4NDJiY2JiNzQ5MTNjMzI2NzNiZGM3ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5oCkBAIC01MywxMSArNTMs
MTkgQEAgcHVibGljOgogICAgIHVzaW5nIFJlZGlyZWN0ID0gRmV0Y2hPcHRpb25zOjpSZWRpcmVj
dDsKICAgICB1c2luZyBUeXBlID0gRmV0Y2hPcHRpb25zOjpUeXBlOwogCisgICAgc3RydWN0IElu
dGVybmFsUmVxdWVzdCB7CisgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0OworICAgICAg
ICBGZXRjaE9wdGlvbnMgb3B0aW9uczsKKyAgICAgICAgU3RyaW5nIHJlZmVycmVyOworICAgIH07
CisKICAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPEZldGNoUmVxdWVzdD4+IGNyZWF0ZShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiwgSW5mbyYmLCBJbml0JiYpOworICAgIHN0YXRpYyBSZWY8RmV0
Y2hSZXF1ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjpv
cHRpb25hbDxGZXRjaEJvZHk+JiYgYm9keSwgUmVmPEZldGNoSGVhZGVycz4mJiBoZWFkZXJzLCBJ
bnRlcm5hbFJlcXVlc3QmJiByZXF1ZXN0KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEZldGNoUmVx
dWVzdChjb250ZXh0LCBXVEZNb3ZlKGJvZHkpLCBXVEZNb3ZlKGhlYWRlcnMpLCBXVEZNb3ZlKHJl
cXVlc3QpKSk7IH0KIAogICAgIGNvbnN0IFN0cmluZyYgbWV0aG9kKCkgY29uc3QgeyByZXR1cm4g
bV9pbnRlcm5hbFJlcXVlc3QucmVxdWVzdC5odHRwTWV0aG9kKCk7IH0KLSAgICBjb25zdCBTdHJp
bmcmIHVybCgpIGNvbnN0OworICAgIGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nKCkgY29uc3Q7CiAg
ICAgRmV0Y2hIZWFkZXJzJiBoZWFkZXJzKCkgeyByZXR1cm4gbV9oZWFkZXJzLmdldCgpOyB9Cisg
ICAgY29uc3QgRmV0Y2hIZWFkZXJzJiBoZWFkZXJzKCkgY29uc3QgeyByZXR1cm4gbV9oZWFkZXJz
LmdldCgpOyB9CiAKICAgICBUeXBlIHR5cGUoKSBjb25zdDsKICAgICBEZXN0aW5hdGlvbiBkZXN0
aW5hdGlvbigpIGNvbnN0OwpAQCAtNzMsMTcgKzgxLDEzIEBAIHB1YmxpYzoKIAogICAgIEV4Y2Vw
dGlvbk9yPFJlZjxGZXRjaFJlcXVlc3Q+PiBjbG9uZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7
CiAKLSAgICBzdHJ1Y3QgSW50ZXJuYWxSZXF1ZXN0IHsKLSAgICAgICAgUmVzb3VyY2VSZXF1ZXN0
IHJlcXVlc3Q7Ci0gICAgICAgIEZldGNoT3B0aW9ucyBvcHRpb25zOwotICAgICAgICBTdHJpbmcg
cmVmZXJyZXI7Ci0gICAgfTsKLQogICAgIGNvbnN0IEZldGNoT3B0aW9ucyYgZmV0Y2hPcHRpb25z
KCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVlc3Qub3B0aW9uczsgfQotICAgIFJlc291
cmNlUmVxdWVzdCBpbnRlcm5hbFJlcXVlc3QoKSBjb25zdDsKKyAgICBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIGludGVybmFsUmVxdWVzdCgpIGNvbnN0IHsgcmV0dXJuIG1faW50ZXJuYWxSZXF1ZXN0
LnJlcXVlc3Q7IH0KKyAgICBjb25zdCBTdHJpbmcmIGludGVybmFsUmVxdWVzdFJlZmVycmVyKCkg
Y29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVlc3QucmVmZXJyZXI7IH0KKyAgICBjb25zdCBV
UkwmIHVybCgpIGNvbnN0IHsgcmV0dXJuIG1faW50ZXJuYWxSZXF1ZXN0LnJlcXVlc3QudXJsKCk7
IH0KICAgICBib29sIGlzQm9keVJlYWRhYmxlU3RyZWFtKCkgY29uc3QgeyByZXR1cm4gIWlzQm9k
eU51bGwoKSAmJiBib2R5KCkuaXNSZWFkYWJsZVN0cmVhbSgpOyB9CiAKLSAgICBjb25zdCBTdHJp
bmcmIGludGVybmFsUmVxdWVzdFJlZmVycmVyKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJl
cXVlc3QucmVmZXJyZXI7IH0KKyAgICBSZXNvdXJjZVJlcXVlc3QgcmVzb3VyY2VSZXF1ZXN0KCkg
Y29uc3Q7CiAKIHByaXZhdGU6CiAgICAgRmV0Y2hSZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmLCBzdGQ6Om9wdGlvbmFsPEZldGNoQm9keT4mJiwgUmVmPEZldGNoSGVhZGVycz4mJiwgSW50
ZXJuYWxSZXF1ZXN0JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaFJlcXVlc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJl
cXVlc3QuaWRsCmluZGV4IDFhNWU2MjZmNTFjMTY2MmU4YmIwMDNiNjA0MDg3NmQzOWE4ZDBjOTku
LmIzZDJhNjMwMDgxY2RiYzNkOTc5YTY1MTc0MjY0MGY3ZjM2MTgxNTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5pZGwKQEAgLTQ0LDcgKzQ0LDcgQEAg
dHlwZWRlZiAoQmxvYiBvciBCdWZmZXJTb3VyY2Ugb3IgRE9NRm9ybURhdGEgb3IgVVJMU2VhcmNo
UGFyYW1zIG9yIFVTVlN0cmluZykgQm8KICAgICBJbnRlcmZhY2VOYW1lPVJlcXVlc3QsCiBdIGlu
dGVyZmFjZSBGZXRjaFJlcXVlc3QgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBCeXRlU3RyaW5n
IG1ldGhvZDsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHVybDsKKyAgICBbSW1w
bGVtZW50ZWRBcz11cmxTdHJpbmddIHJlYWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgdXJsOwog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBGZXRjaEhlYWRlcnMgaGVhZGVyczsgLy8gRklYTUU6IFNo
b3VsZCBiZSBbU2FtZU9iamVjdF0uCiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRmV0Y2hSZXF1
ZXN0VHlwZSB0eXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaFJlc3BvbnNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9u
c2UuaAppbmRleCBmOWIwMmZiMGU1ODdhYjRlYjNkNTU5Nzk0YjM5MWY3OWY1YTFkYzY2Li5kYzc1
NzMxM2VmYThmZmI4ZjVmYjI5MmE1MjBlMDA1N2NkMGEzYmNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaApAQCAtNTcsNiArNTcsOCBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIFJlZjxGZXRjaFJlc3BvbnNlPiBlcnJvcihTY3JpcHRFeGVjdXRpb25Db250
ZXh0Jik7CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxGZXRjaFJlc3BvbnNlPj4gcmVkaXJl
Y3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFN0cmluZyYgdXJsLCBpbnQgc3RhdHVz
KTsKIAorICAgIHN0YXRpYyBSZWY8RmV0Y2hSZXNwb25zZT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6b3B0aW9uYWw8RmV0Y2hCb2R5PiYmIGJvZHksIFJlZjxG
ZXRjaEhlYWRlcnM+JiYgaGVhZGVycywgUmVzb3VyY2VSZXNwb25zZSYmIHJlc3BvbnNlKSB7IHJl
dHVybiBhZG9wdFJlZigqbmV3IEZldGNoUmVzcG9uc2UoY29udGV4dCwgV1RGTW92ZShib2R5KSwg
V1RGTW92ZShoZWFkZXJzKSwgV1RGTW92ZShyZXNwb25zZSkpKTsgfQorCiAgICAgdXNpbmcgRmV0
Y2hQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxGZXRjaFJlc3BvbnNl
Pj47CiAgICAgc3RhdGljIHZvaWQgZmV0Y2goU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEZldGNo
UmVxdWVzdCYsIEZldGNoUHJvbWlzZSYmKTsKIApAQCAtNzgsNiArODAsNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBvaygpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2UuaXNTdWNjZXNzZnVsKCk7IH0K
ICAgICBjb25zdCBTdHJpbmcmIHN0YXR1c1RleHQoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNl
Lmh0dHBTdGF0dXNUZXh0KCk7IH0KIAorICAgIGNvbnN0IEZldGNoSGVhZGVycyYgaGVhZGVycygp
IGNvbnN0IHsgcmV0dXJuIG1faGVhZGVyczsgfQogICAgIEZldGNoSGVhZGVycyYgaGVhZGVycygp
IHsgcmV0dXJuIG1faGVhZGVyczsgfQogICAgIFJlZjxGZXRjaFJlc3BvbnNlPiBjbG9uZUZvckpT
KCk7CiAKQEAgLTkwLDYgKzkzLDggQEAgcHVibGljOgogCiAgICAgYm9vbCBpc0xvYWRpbmcoKSBj
b25zdCB7IHJldHVybiAhIW1fYm9keUxvYWRlcjsgfQogCisgICAgY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYgcmVzb3VyY2VSZXNwb25zZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2U7IH0KKwog
cHJpdmF0ZToKICAgICBGZXRjaFJlc3BvbnNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6
Om9wdGlvbmFsPEZldGNoQm9keT4mJiwgUmVmPEZldGNoSGVhZGVycz4mJiwgUmVzb3VyY2VSZXNw
b25zZSYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGI3MzI0YWZhNzJiMjkxNzYyMTgyODI0ZDU1ZWE1ZWEyMThkMThlNWEu
Ljg4NWU5ZjdhYzMxZmViZDQwZjE0N2E2NjBlMDg4YWYyN2NhNWJmNDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE3ODQsNiAr
MTc4NCwxNCBAQAogCQk0MUNGOEJFNzFENDYyMjY3MDA3MDdEQzkgLyogRmV0Y2hCb2R5Q29uc3Vt
ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFD
RjhCRTQxRDQ2MjIyMDAwNzA3REM5IC8qIEZldGNoQm9keUNvbnN1bWVyLmNwcCAqLzsgfTsKIAkJ
NDFEMDE1Q0EwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQwMTVDODBGNEI1QzcxMDA0QTY2MkYg
LyogQ29udGVudFR5cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk0MUQwMTVDQjBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMDE1QzkwRjRC
NUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmNwcCAqLzsgfTsKKwkJNDFEMTI5Q0UxRjNEMEVG
NjAwRDE1RTQ3IC8qIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUZCMjc4RDFGMzRDMjgyMDA3OTU0ODcgLyog
V29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuaCAqLzsgfTsKKwkJNDFEMTI5Q0YxRjNEMEVGRTAwRDE1
RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMTI5QzkxRjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hl
U3RvcmFnZUNvbm5lY3Rpb24uY3BwICovOyB9OworCQk0MUQxMjlEMDFGM0QwRjA1MDBEMTVFNDcg
LyogQ2FjaGVRdWVyeU9wdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxRkIyNzlCMUYzNENFRjAwMDc5NTQ4NyAvKiBDYWNoZVF1ZXJ5T3B0aW9u
cy5oICovOyB9OworCQk0MUQxMjlEMTFGM0QwRjBFMDBEMTVFNDcgLyogRE9NV2luZG93Q2FjaGVz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUZCMjc4
QzFGMzRDMjgyMDA3OTU0ODcgLyogRE9NV2luZG93Q2FjaGVzLmggKi87IH07CisJCTQxRDEyOUQy
MUYzRDBGMTIwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VSZWNvcmQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDEyOUNBMUYzRDBFRTMwMEQxNUU0NyAv
KiBDYWNoZVN0b3JhZ2VSZWNvcmQuaCAqLzsgfTsKKwkJNDFEMTI5RDMxRjNEMEYxNjAwRDE1RTQ3
IC8qIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDEyOUNDMUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJNDFEMTI5RDUxRjNEMEY2OTAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVByb3ZpZGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQxMjlE
NDFGM0QwRjY2MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0MUQxMjlEQjFGM0QxNDM4MDBE
MTVFNDcgLyogRmV0Y2hIZWFkZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MUY1NEY4MzFDNTBDNEY2MDAzMzg0ODggLyogRmV0Y2hIZWFkZXJzLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDFERUZD
QjUxRTU2QzFCRDAwMEQ5RTVGIC8qIEpTRE9NTWFwTGlrZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MURFRkNCMzFFNTZDMUI5MDAwRDlFNUYgLyog
SlNET01NYXBMaWtlLmNwcCAqLzsgfTsKIAkJNDFERUZDQjYxRTU2QzFCRDAwMEQ5RTVGIC8qIEpT
RE9NTWFwTGlrZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDFERUZDQjQxRTU2QzFCOTAwMEQ5RTVGIC8qIEpTRE9NTWFwTGlrZS5oICovOyB9OwogCQk0
MUUxQjFEMDBGRjU5ODY5MDA1NzZCM0IgLyogQWJzdHJhY3RXb3JrZXIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFFMUIxQ0EwRkY1OTg2OTAwNTc2
QjNCIC8qIEFic3RyYWN0V29ya2VyLmNwcCAqLzsgfTsKQEAgLTk0NjAsNiArOTQ2OCwxMCBAQAog
CQk0MUNGOEJFNjFENDYyMjJDMDA3MDdEQzkgLyogRmV0Y2hJbnRlcm5hbHMuanMgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBGZXRjaEludGVybmFscy5qczsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFEMDE1QzgwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRl
bnRUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRUeXBlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRDAxNUM5MEY0QjVDNzEwMDRBNjYyRiAv
KiBDb250ZW50VHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBD
b250ZW50VHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRDEyOUM5MUYz
RDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUQxMjlDQTFGM0QwRUUzMDBEMTVFNDcgLyogQ2Fj
aGVTdG9yYWdlUmVjb3JkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hl
U3RvcmFnZVJlY29yZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUQxMjlDQzFG
M0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQxRDEyOUQ0MUYzRDBGNjYwMEQxNUU0NyAvKiBDYWNoZVN0b3Jh
Z2VQcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZVN0b3Jh
Z2VQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUQ1MUJCMjFFNEUy
RTgxMDAxMzFBNUIgLyogTGliV2ViUlRDQXVkaW9Gb3JtYXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gTGliV2ViUlRDQXVkaW9Gb3JtYXQuaDsgcGF0aCA9IGxpYndlYnJ0Yy9M
aWJXZWJSVENBdWRpb0Zvcm1hdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MURF
RkNCMjFFNTZDMUI5MDAwRDlFNUYgLyogSlNET01CaW5kaW5nSW50ZXJuYWxzLmpzICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gSlNET01CaW5kaW5nSW50ZXJuYWxzLmpz
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MURFRkNCMzFFNTZDMUI5MDAwRDlFNUYg
LyogSlNET01NYXBMaWtlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTRE9NTWFwTGlrZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzY2Myw2
ICsxNzY3NSw5IEBACiAJCQkJNDEzODBDMjExRjM0MzY4RDAwMTU1RkRBIC8qIENhY2hlU3RvcmFn
ZS5jcHAgKi8sCiAJCQkJNDEzODBDMjIxRjM0MzY5MDAwMTU1RkRBIC8qIENhY2hlU3RvcmFnZS5o
ICovLAogCQkJCTQxMzgwQzI0MUYzNDM2OTcwMDE1NUZEQSAvKiBDYWNoZVN0b3JhZ2UuaWRsICov
LAorCQkJCTQxRDEyOUM5MUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
LmNwcCAqLywKKwkJCQk0MUQxMjlDQzFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29u
bmVjdGlvbi5oICovLAorCQkJCTQxRDEyOUNBMUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3Jh
Z2VSZWNvcmQuaCAqLywKIAkJCQk0MUZCMjc4RTFGMzRDMjgyMDA3OTU0ODcgLyogRE9NV2luZG93
Q2FjaGVzLmNwcCAqLywKIAkJCQk0MUZCMjc4QzFGMzRDMjgyMDA3OTU0ODcgLyogRE9NV2luZG93
Q2FjaGVzLmggKi8sCiAJCQkJNDEzODBDMkIxRjM0M0UyRjAwMTU1RkRBIC8qIERPTVdpbmRvd0Nh
Y2hlcy5pZGwgKi8sCkBAIC0xOTI2MSw2ICsxOTI3Niw3IEBACiAJCQkJQkMxMjRFRTYwQzI2NDFD
RDAwOUUyMzQ5IC8qIEJhclByb3AuaWRsICovLAogCQkJCTQ2MEJCNjEzMUQwQTFCRUMwMDIyMTgx
MiAvKiBCYXNlNjRVdGlsaXRpZXMuY3BwICovLAogCQkJCTQ2MEJCNjE0MUQwQTFCRUMwMDIyMTgx
MiAvKiBCYXNlNjRVdGlsaXRpZXMuaCAqLywKKwkJCQk0MUQxMjlENDFGM0QwRjY2MDBEMTVFNDcg
LyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAqLywKIAkJCQkwNzJDQTg2MDE2Q0I0REMzMDA4QUUx
MzEgLyogQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAgKi8sCiAJCQkJMDc5RDA4NjcxNjJGMjBF
ODAwREI4NjU4IC8qIENhcHRpb25Vc2VyUHJlZmVyZW5jZXMuaCAqLywKIAkJCQkwNzlEMDg2QTE2
MkYyMUY5MDBEQjg2NTggLyogQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwICovLApA
QCAtMjY3NzAsNyArMjY3ODYsMTEgQEAKIAkJCQkwNzUzODYwMzE0NDg5RTk4MDBCNzg0NTIgLyog
Q2FjaGVkVGV4dFRyYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0IxNkMyODA5NzlDM0JEMDA0
Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk5
NTAwODI0NUU1OTAwMUU5QUJDIC8qIENhY2hlUG9saWN5LmggaW4gSGVhZGVycyAqLywKKwkJCQk0
MUQxMjlEMDFGM0QwRjA1MDBEMTVFNDcgLyogQ2FjaGVRdWVyeU9wdGlvbnMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQxMzgwQzI5MUYzNDM2QUMwMDE1NUZEQSAvKiBDYWNoZVN0b3JhZ2UuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTQxRDEyOUQzMUYzRDBGMTYwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUQxMjlENTFGM0QwRjY5MDBEMTVFNDcg
LyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxRDEyOUQyMUYz
RDBGMTIwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VSZWNvcmQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUU0M0FGOEU3MUFDNUI3RUMwMENBNzE3RSAvKiBDYWNoZVZhbGlkYXRpb24uaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQ5QUUyRDk3MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjdWxhdGlvblZhbHVlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk3QzFFOEQwMTFFRDBDMkRBMDBCMUQ5ODMgLyogQ2FsbGJhY2tS
ZXN1bHQuaCBpbiBIZWFkZXJzICovLApAQCAtMjcyNDgsNiArMjcyNjgsNyBAQAogCQkJCTJFMzdE
RkRCMTJEQkFGQjgwMEE2QjIzMyAvKiBET01VUkwuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEOURF
MTgyMTdBQUQ2QTQwMEVBMzg2RCAvKiBET01VUkxNZWRpYVNvdXJjZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMTQwM0I5OTcwOUVCMTNBRjAwNzk3QzdGIC8qIERPTVdpbmRvdy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNDFEMTI5RDExRjNEMEYwRTAwRDE1RTQ3IC8qIERPTVdpbmRvd0NhY2hlcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTFGQTJENzgxNTIxMzJCMzAwQzFCQTBCIC8qIERPTVdpbmRvd0V4
dGVuc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4NUZDNzUxQkI0QzRFODAwMTI4OThGIC8q
IERPTVdpbmRvd0luZGV4ZWREYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdEMkFEMDQx
NEI4MjNBNjAwOTNERjMyIC8qIERPTVdpbmRvd1Byb3BlcnR5LmggaW4gSGVhZGVycyAqLywKQEAg
LTI3MzQzLDYgKzI3MzY0LDcgQEAKIAkJCQk4NDczMEQ4NTEyNDhGMEIzMDBEM0E5QzkgLyogRkVN
b3JwaG9sb2d5LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDczMEQ4NzEyNDhGMEIzMDBEM0E5Qzkg
LyogRkVPZmZzZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0NzMwRDg5MTI0OEYwQjMwMEQzQTlD
OSAvKiBGRVNwZWN1bGFyTGlnaHRpbmcuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxRDEyOURCMUYz
RDE0MzgwMEQxNUU0NyAvKiBGZXRjaEhlYWRlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxNkU2
RkU4MUJCRDEyREYwMDBBNjAyMyAvKiBGZXRjaEludGVybmFsc0J1aWx0aW5zLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0MUFENzUzQTFDRUY2QkQxMDBBMzE0ODYgLyogRmV0Y2hPcHRpb25zLmggaW4g
SGVhZGVycyAqLywKIAkJCQk3Q0UxOTE0RDFGMkE5QUZCMDAyNzJGNzggLyogRmV0Y2hSZWZlcnJl
clBvbGljeS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDI2OCw2ICszMDI5MCw3IEBACiAJCQkJQTUy
QTY4NjYxREJENEI1RDAwODMzNzNGIC8qIFdvcmtlckRlYnVnZ2VyQWdlbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUEzRTI2NDMxMTQ3NDg5OTEwMDVBODU4OCAvKiBXb3JrZXJFdmVudFF1ZXVlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY0OTBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyR2xv
YmFsU2NvcGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxRDEyOUNFMUYzRDBFRjYwMEQxNUU0NyAv
KiBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4NUZDQjQx
QkI0QzRFODAwMTI4OThGIC8qIFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmggaW4g
SGVhZGVycyAqLywKIAkJCQkyRTQzNDY0QjBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyR2xvYmFs
U2NvcGVQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU0QTBDNjIxREI3RjhDMTAwMTdBOTBC
IC8qIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMzA4ODAs
NiArMzA5MDMsNyBAQAogCQkJCTA3NTM4NjAyMTQ0ODlFOTgwMEI3ODQ1MiAvKiBDYWNoZWRUZXh0
VHJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNCMTZDMjcwOTc5QzNCRDAwNDY3NzQxIC8q
IENhY2hlZFhTTFN0eWxlU2hlZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDEzODBDMjgxRjM0
MzZBQzAwMTU1RkRBIC8qIENhY2hlU3RvcmFnZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MUQx
MjlDRjFGM0QwRUZFMDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlFNDNBRjhFNjFBQzVCN0U4MDBDQTcxN0UgLyogQ2FjaGVWYWxpZGF0aW9u
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5QUUyRDk2MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxj
dWxhdGlvblZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk1MjA3NjA0MUYyNjc1RkUwMDdE
MkFBQiAvKiBDYWxsVHJhY2VyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCmluZGV4IDY2YzdmMDhmMGYyOGIwNDZiYjRj
MzVlOGU5YmYxOWZiZGYyYWJjNTUuLjJhODEzYjZhMTIwZGYzNThmMDhiZDI3MThjOTY1NzM0MzAx
ZGVmNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVy
bGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5j
cHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNw
ZWN0b3JPdmVybGF5LmgiCiAKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgogI2lu
Y2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAiRWRpdG9yQ2xpZW50LmgiCiAjaW5j
bHVkZSAiRWxlbWVudC5oIgpAQCAtODY1LDcgKzg2Niw4IEBAIFBhZ2UqIEluc3BlY3Rvck92ZXJs
YXk6Om92ZXJsYXlQYWdlKCkKICAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlv
bigKICAgICAgICAgY3JlYXRlRW1wdHlFZGl0b3JDbGllbnQoKSwKICAgICAgICAgU29ja2V0UHJv
dmlkZXI6OmNyZWF0ZSgpLAotICAgICAgICBtYWtlVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVy
PigpCisgICAgICAgIG1ha2VVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+KCksCisgICAgICAg
IENhY2hlU3RvcmFnZVByb3ZpZGVyOjpjcmVhdGUoKQogICAgICk7CiAgICAgZmlsbFdpdGhFbXB0
eUNsaWVudHMocGFnZUNvbmZpZ3VyYXRpb24pOwogICAgIG1fb3ZlcmxheVBhZ2UgPSBzdGQ6Om1h
a2VfdW5pcXVlPFBhZ2U+KFdURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24pKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YWVjOWY0NjE5OGFh
NDFhN2EyYjYyZmY1MmEwNWRmYjdlM2M4M2IxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9DYWNoZVN0b3JhZ2VQcm92aWRlci5oCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24u
aCIKKyNpbmNsdWRlICJTZXNzaW9uSUQuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdFQkNPUkVfRVhQT1JUIENhY2hlU3RvcmFn
ZVByb3ZpZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+IHsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiBjcmVhdGUoKSB7IHJl
dHVybiBhZG9wdFJlZigqbmV3IENhY2hlU3RvcmFnZVByb3ZpZGVyKTsgfQorICAgIHZpcnR1YWwg
UmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IGNyZWF0ZUNhY2hlU3RvcmFnZUNvbm5lY3Rpb24o
U2Vzc2lvbklEKSB7IHJldHVybiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpjcmVhdGUoKTsgfQor
ICAgIHZpcnR1YWwgfkNhY2hlU3RvcmFnZVByb3ZpZGVyKCkgeyB9OworCitwcm90ZWN0ZWQ6Cisg
ICAgQ2FjaGVTdG9yYWdlUHJvdmlkZXIoKSA9IGRlZmF1bHQ7Cit9OworCit9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmNwcAppbmRleCAyNWZkNjk0NDM5MWIxNDUwMjM5MTVlYzUzNmIwZjZjNjUyZjU1M2QyLi44ZGY3
YTAwOTZkNWQwZWMyNDY5ODMyNzJmMDlhNzFhNTA2ZmMyZGY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAK
QEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJCYWNrRm9yd2FyZENsaWVudC5oIgogI2luY2x1
ZGUgIkJhY2tGb3J3YXJkQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkNTU0FuaW1hdGlvbkNvbnRy
b2xsZXIuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgogI2luY2x1ZGUgIkNo
cm9tZS5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIkNvbnN0YW50UHJv
cGVydHlNYXAuaCIKQEAgLTIyMiw2ICsyMjMsNyBAQCBQYWdlOjpQYWdlKFBhZ2VDb25maWd1cmF0
aW9uJiYgcGFnZUNvbmZpZ3VyYXRpb24pCiAjZW5kaWYKICAgICAsIG1fc29ja2V0UHJvdmlkZXIo
V1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi5zb2NrZXRQcm92aWRlcikpCiAgICAgLCBtX2FwcGxp
Y2F0aW9uQ2FjaGVTdG9yYWdlKCpXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLmFwcGxpY2F0aW9u
Q2FjaGVTdG9yYWdlKSkKKyAgICAsIG1fY2FjaGVTdG9yYWdlUHJvdmlkZXIoV1RGTW92ZShwYWdl
Q29uZmlndXJhdGlvbi5jYWNoZVN0b3JhZ2VQcm92aWRlcikpCiAgICAgLCBtX2RhdGFiYXNlUHJv
dmlkZXIoKldURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uZGF0YWJhc2VQcm92aWRlcikpCiAgICAg
LCBtX3BsdWdpbkluZm9Qcm92aWRlcigqV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi5wbHVnaW5J
bmZvUHJvdmlkZXIpKQogICAgICwgbV9zdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIoKldURk1vdmUo
cGFnZUNvbmZpZ3VyYXRpb24uc3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgK
aW5kZXggODIyZWEyYzdkZGMzMDNiZGIxYmIxMGE3NTliMjFjOWNkNmIyNmQ0ZS4uYjU0ZDc2MmQz
MDQ5YWU2MTI4Y2Y5YWVhYzQ4MGNlOWM3NDRjNzI0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTc3LDYg
Kzc3LDcgQEAgY2xhc3MgQWx0ZXJuYXRpdmVUZXh0Q2xpZW50OwogY2xhc3MgQXBwbGljYXRpb25D
YWNoZVN0b3JhZ2U7CiBjbGFzcyBCYWNrRm9yd2FyZENvbnRyb2xsZXI7CiBjbGFzcyBCYWNrRm9y
d2FyZENsaWVudDsKK2NsYXNzIENhY2hlU3RvcmFnZVByb3ZpZGVyOwogY2xhc3MgQ2hyb21lOwog
Y2xhc3MgQ2hyb21lQ2xpZW50OwogY2xhc3MgQ29sb3I7CkBAIC00OTUsNiArNDk2LDcgQEAgcHVi
bGljOgogCiAgICAgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UmIGFwcGxpY2F0aW9uQ2FjaGVTdG9y
YWdlKCkgeyByZXR1cm4gbV9hcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTsgfQogICAgIERhdGFiYXNl
UHJvdmlkZXImIGRhdGFiYXNlUHJvdmlkZXIoKSB7IHJldHVybiBtX2RhdGFiYXNlUHJvdmlkZXI7
IH0KKyAgICBDYWNoZVN0b3JhZ2VQcm92aWRlciYgY2FjaGVTdG9yYWdlUHJvdmlkZXIoKSB7IHJl
dHVybiBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyOyB9CiAgICAgU29ja2V0UHJvdmlkZXImIHNvY2tl
dFByb3ZpZGVyKCkgeyByZXR1cm4gbV9zb2NrZXRQcm92aWRlcjsgfQogCiAgICAgU3RvcmFnZU5h
bWVzcGFjZVByb3ZpZGVyJiBzdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIoKSB7IHJldHVybiBtX3N0
b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5nZXQoKTsgfQpAQCAtNzY1LDYgKzc2Nyw3IEBAIHByaXZh
dGU6CiAKICAgICBSZWY8U29ja2V0UHJvdmlkZXI+IG1fc29ja2V0UHJvdmlkZXI7CiAgICAgUmVm
PEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlPiBtX2FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOworICAg
IFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4gbV9jYWNoZVN0b3JhZ2VQcm92aWRlcjsKICAgICBS
ZWY8RGF0YWJhc2VQcm92aWRlcj4gbV9kYXRhYmFzZVByb3ZpZGVyOwogICAgIFJlZjxQbHVnaW5J
bmZvUHJvdmlkZXI+IG1fcGx1Z2luSW5mb1Byb3ZpZGVyOwogICAgIFJlZjxTdG9yYWdlTmFtZXNw
YWNlUHJvdmlkZXI+IG1fc3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcAppbmRleCAxMTIzZGQ2ZDQwNWE5NDgxM2E0YTc4NzQy
YzdkNjZkMmNmMWJlZTdjLi5mMWI4MjdkY2ZiYWFlNmU2YzhkY2NhZDlkMThkNDkzNzlkYzk1MWM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcApAQCAtMjgsNiAr
MjgsNyBAQAogCiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaCIKICNpbmNsdWRl
ICJCYWNrRm9yd2FyZENsaWVudC5oIgorI2luY2x1ZGUgIkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgi
CiAjaW5jbHVkZSAiRGF0YWJhc2VQcm92aWRlci5oIgogI2luY2x1ZGUgIkRpYWdub3N0aWNMb2dn
aW5nQ2xpZW50LmgiCiAjaW5jbHVkZSAiRWRpdG9yQ2xpZW50LmgiCkBAIC00MywxMCArNDQsMTEg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZp
Z3VyYXRpb24oVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiBlZGl0b3JDbGllbnQsIFJlZjxTb2Nr
ZXRQcm92aWRlcj4mJiBzb2NrZXRQcm92aWRlciwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVy
PiYmIGxpYldlYlJUQ1Byb3ZpZGVyKQorUGFnZUNvbmZpZ3VyYXRpb246OlBhZ2VDb25maWd1cmF0
aW9uKFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYgZWRpdG9yQ2xpZW50LCBSZWY8U29ja2V0UHJv
dmlkZXI+JiYgc29ja2V0UHJvdmlkZXIsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJiBs
aWJXZWJSVENQcm92aWRlciwgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmIGNhY2hlU3RvcmFn
ZVByb3ZpZGVyKQogICAgIDogZWRpdG9yQ2xpZW50KFdURk1vdmUoZWRpdG9yQ2xpZW50KSkKICAg
ICAsIHNvY2tldFByb3ZpZGVyKFdURk1vdmUoc29ja2V0UHJvdmlkZXIpKQogICAgICwgbGliV2Vi
UlRDUHJvdmlkZXIoV1RGTW92ZShsaWJXZWJSVENQcm92aWRlcikpCisgICAgLCBjYWNoZVN0b3Jh
Z2VQcm92aWRlcihXVEZNb3ZlKGNhY2hlU3RvcmFnZVByb3ZpZGVyKSkKIHsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oCmluZGV4IGY1M2ExMmMzODdlYWZiNDA0ZjJh
MDY2NjAyNzU5ZWM5YTdmYzBmNWYuLmE4NjJkNDMwMmUwMzY0NjRmOTEwYTU3YjAxZDc3YjY0Y2M2
ZWY0MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKQEAgLTM0LDYg
KzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWx0ZXJuYXRpdmVUZXh0Q2xpZW50
OwogY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7CiBjbGFzcyBCYWNrRm9yd2FyZENsaWVu
dDsKK2NsYXNzIENhY2hlU3RvcmFnZVByb3ZpZGVyOwogY2xhc3MgQ2hyb21lQ2xpZW50OwogY2xh
c3MgQ29udGV4dE1lbnVDbGllbnQ7CiBjbGFzcyBEYXRhYmFzZVByb3ZpZGVyOwpAQCAtNTgsNyAr
NTksNyBAQCBjbGFzcyBXZWJHTFN0YXRlVHJhY2tlcjsKIGNsYXNzIFBhZ2VDb25maWd1cmF0aW9u
IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlQ29uZmlndXJhdGlvbik7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFdFQkNPUkVfRVhQT1JUIFBhZ2VDb25maWd1
cmF0aW9uKFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYsIFJlZjxTb2NrZXRQcm92aWRlcj4mJiwg
VW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBQYWdl
Q29uZmlndXJhdGlvbihVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmLCBSZWY8U29ja2V0UHJvdmlk
ZXI+JiYsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJiwgUmVmPENhY2hlU3RvcmFnZVBy
b3ZpZGVyPiYmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB+UGFnZUNvbmZpZ3VyYXRpb24oKTsKIAog
ICAgIEFsdGVybmF0aXZlVGV4dENsaWVudCogYWx0ZXJuYXRpdmVUZXh0Q2xpZW50IHsgbnVsbHB0
ciB9OwpAQCAtODcsNiArODgsNyBAQCBwdWJsaWM6CiAKICAgICBSZWZQdHI8QXBwbGljYXRpb25D
YWNoZVN0b3JhZ2U+IGFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwogICAgIFJlZlB0cjxEYXRhYmFz
ZVByb3ZpZGVyPiBkYXRhYmFzZVByb3ZpZGVyOworICAgIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRl
cj4gY2FjaGVTdG9yYWdlUHJvdmlkZXI7CiAgICAgUmVmUHRyPFBsdWdpbkluZm9Qcm92aWRlcj4g
cGx1Z2luSW5mb1Byb3ZpZGVyOwogICAgIFJlZlB0cjxTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI+
IHN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjsKICAgICBSZWZQdHI8VXNlckNvbnRlbnRQcm92aWRl
cj4gdXNlckNvbnRlbnRQcm92aWRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9n
cmFwaGljcy9TVkdJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1h
Z2UuY3BwCmluZGV4IDc4NmU4ZjdhN2JjYTYwODA5YTU1NWI2NWY4MzVjMmE1MGEwMDgyZTguLjgy
NTliMmY4ZTI4NjYzYjIxN2NkZWEwNGMyZjhlYzM4MzdjZDc4ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIlNWR0ltYWdlLmgiCiAKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VQ
cm92aWRlci5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUgIkNvbW1vblZNLmgiCiAj
aW5jbHVkZSAiRE9NV2luZG93LmgiCkBAIC00MjksNyArNDMwLDggQEAgRW5jb2RlZERhdGFTdGF0
dXMgU1ZHSW1hZ2U6OmRhdGFDaGFuZ2VkKGJvb2wgYWxsRGF0YVJlY2VpdmVkKQogICAgICAgICBQ
YWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbigKICAgICAgICAgICAgIGNyZWF0ZUVt
cHR5RWRpdG9yQ2xpZW50KCksCiAgICAgICAgICAgICBTb2NrZXRQcm92aWRlcjo6Y3JlYXRlKCks
Ci0gICAgICAgICAgICBtYWtlVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPigpCisgICAgICAg
ICAgICBtYWtlVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPigpLAorICAgICAgICAgICAgQ2Fj
aGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpCiAgICAgICAgICk7CiAgICAgICAgIGZpbGxXaXRo
RW1wdHlDbGllbnRzKHBhZ2VDb25maWd1cmF0aW9uKTsKICAgICAgICAgbV9jaHJvbWVDbGllbnQg
PSBzdGQ6Om1ha2VfdW5pcXVlPFNWR0ltYWdlQ2hyb21lQ2xpZW50Pih0aGlzKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlz
dHMudHh0CmluZGV4IDMwN2VjYjk0ZjJmMWYyMTQzMDE5ZjE3NzA5MzJhNzA2ZTJjMDA5YTkuLjZh
YTliMWE3M2NhOTE4MGJmMDEyODUyNmQzNmU3ZGZmYTExZWRkYjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4
dApAQCAtNTIsNiArNTIsNyBAQCBzZXQoV2ViS2l0Ml9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAg
IiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvQXBwbGVQYXkiCiAgICAgIiR7V0VCS0lUMl9ESVJ9
L1dlYlByb2Nlc3MvQXBwbGljYXRpb25DYWNoZSIKICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJv
Y2Vzcy9BdXRvbWF0aW9uIgorICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0NhY2hlIgog
ICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0Nvb2tpZXMiCiAgICAgIiR7V0VCS0lUMl9E
SVJ9L1dlYlByb2Nlc3MvRGF0YWJhc2VzIgogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNz
L0RhdGFiYXNlcy9JbmRleGVkREIiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCA5MDlhNWVjZDdkN2IxYWIwMjE0YjI5MTk3MDQ5NjE4ODcw
NzM2NDEyLi5hODM4ODE2MGQxZTFiODllNDgwYjFjNjQzM2YwZjczYTUwMzVmOGY4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTg5MSw2
ICs4OTEsNyBAQAogCQk0MTMwNzVCMjFERTg1RjU4MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0
RmFjdG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDEzMDc1QTYxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldEZhY3RvcnkuaCAqLzsg
fTsKIAkJNDEzMDc1QjMxREU4NUY1ODAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUE3MURF
ODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5jcHAgKi87IH07CiAJCTQxMzA3NUI0
MURFODVGNTgwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTgxREU4NUVFNzAwMzlFQzY5IC8q
IExpYldlYlJUQ1Byb3ZpZGVyLmggKi87IH07CisJCTQxRDEyOURBMUYzRDEwMTgwMEQxNUU0NyAv
KiBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDFEMTI5RDkxRjNEMTAxNDAwRDE1RTQ3IC8qIFdlYkNhY2hlU3Rv
cmFnZVByb3ZpZGVyLmggKi87IH07CiAJCTQxREM0NTk2MUUzRDZFMjIwMEIxMUY1MSAvKiBOZXR3
b3JrUlRDUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxREM0NTk0MUUzRDZFMUUwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuaCAq
LzsgfTsKIAkJNDFEQzQ1OTcxRTNENkUyMjAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MURDNDU5
NTFFM0Q2RTFFMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcCAqLzsgfTsKIAkJNDFE
QzQ1OUIxRTNEQkIyODAwQjExRjUxIC8qIExpYldlYlJUQ1NvY2tldENsaWVudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MURDNDU5OTFFM0RCQjI0
MDBCMTFGNTEgLyogTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcCAqLzsgfTsKQEAgLTMxNDIsNiAr
MzE0Myw3IEBACiAJCTQxMzA3NUE3MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBuYW1l
ID0gTGliV2ViUlRDUHJvdmlkZXIuY3BwOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRD
UHJvdmlkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNh
dGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKIAkJNDEzMDc1QTgxREU4NUVFNzAw
MzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bGluZUVuZGluZyA9IDA7IG5hbWUgPSBMaWJXZWJSVENQcm92aWRlci5oOyBwYXRoID0gTmV0d29y
ay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNM
YW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5vYmpjcHA7IH07CiAJ
CTQxQUM4NjgxMUUwNDJFNTMwMDMwMzA3NCAvKiBXZWJSVENSZXNvbHZlci5tZXNzYWdlcy5pbiAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0gV2ViUlRDUmVzb2x2ZXIubWVz
c2FnZXMuaW47IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJSVENSZXNvbHZlci5tZXNzYWdlcy5p
bjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlm
aWVyID0gIjxub25lPiI7IH07CisJCTQxRDEyOUQ5MUYzRDEwMTQwMEQxNUU0NyAvKiBXZWJDYWNo
ZVN0b3JhZ2VQcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDYWNoZVN0b3JhZ2VQcm92aWRl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MURDNDU5NDFFM0Q2RTFFMDBCMTFG
NTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IE5ldHdvcmtSVENQcm92aWRlci5oOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05l
dHdvcmtSVENQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MURDNDU5
NTFFM0Q2RTFFMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtSVENQcm92aWRlci5jcHA7IHBhdGggPSBO
ZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDFEQzQ1OTgxRTNENkVENjAwQjExRjUxIC8qIE5ldHdvcmtSVENQ
cm92aWRlci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBOZXR3b3JrUlRDUHJv
dmlkZXIubWVzc2FnZXMuaW47IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JU
Q1Byb3ZpZGVyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTkx
Miw2ICs1OTE0LDE0IEBACiAJCQluYW1lID0gd2VicnRjOwogCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKIAkJfTsKKwkJNDFEMTI5RDgxRjNEMTAxNDAwRDE1RTQ3IC8qIENhY2hlICovID0gewor
CQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0MUQxMjlEOTFGM0QxMDE0
MDBEMTVFNDcgLyogV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAqLywKKwkJCSk7CisJCQlwYXRo
ID0gQ2FjaGU7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk0NDUwQUVCRTFE
QzNGQUFDMDA5OTQzRjIgLyogY29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNo
aWxkcmVuID0gKApAQCAtNjU5Miw2ICs2NjAyLDcgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTFB
QjFGNzcwMUQxQjJGNUQwMDdDOUJEMSAvKiBBcHBsZVBheSAqLywKIAkJCQkxQzBBMTk0MzFDOEZG
MUE4MDBGRTBFQkIgLyogQXV0b21hdGlvbiAqLywKKwkJCQk0MUQxMjlEODFGM0QxMDE0MDBEMTVF
NDcgLyogQ2FjaGUgKi8sCiAJCQkJN0M2RTcwRjgxOEIyRDQ3RTAwRjI0RTJFIC8qIGNvY29hICov
LAogCQkJCTMzMDkzNDRCMTMxNUI5M0EwMDk3QTdCQyAvKiBDb29raWVzICovLAogCQkJCTUxMkE5
NzU0MTgwREY5MjcwMDM5QTE0OSAvKiBEYXRhYmFzZXMgKi8sCkBAIC04Njg5LDYgKzg3MDAsNyBA
QAogCQkJCUJDNzJCQTFFMTFFNjQ5MDcwMDFFQjRFQSAvKiBXZWJCYWNrRm9yd2FyZExpc3QuaCBp
biBIZWFkZXJzICovLAogCQkJCTUxOEQyQ0FFMTJENTE1M0IwMDNCQjkzQiAvKiBXZWJCYWNrRm9y
d2FyZExpc3RJdGVtLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzcyQjlGQjExRTY0NzZCMDAxRUI0
RUEgLyogV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxRDEy
OURBMUYzRDEwMTgwMEQxNUU0NyAvKiBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkNGNTA3MjgxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5m
by5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwMzJENzUxMEY0Mzc4RDAwNThDMTVBIC8qIFdlYkNo
cm9tZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJM0Y4N0I5QkUxNTg5NDAxOTAwOTBGRjYy
IC8qIFdlYkNvbG9yQ2hvb3Nlci5oIGluIEhlYWRlcnMgKi8sCkBAIC04ODMxLDcgKzg4NDMsNiBA
QAogCQkJCUJDRTBFNDI1MTY4QjdBMjgwMDU3RTY2QSAvKiBXZWJQcm9jZXNzU3VwcGxlbWVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMUExRTA5MzQxODg2MUQzODAwRDJEQzQ5IC8qIFdlYlByb2dy
ZXNzVHJhY2tlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEyRjU4OUQxMkE4ODM4ODAw
NjI5NTMwIC8qIFdlYlByb3RlY3Rpb25TcGFjZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTFCRUI2
MkMxRjNBNUFENzAwNTAyOUI5IC8qIFdlYlNlcnZpY2VXb3JrZXJQcm92aWRlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMzc5NDg0MDQxNTBDMzUwNjAwRTUyQ0U5IC8qIFdlYlJlbmRlckxheWVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkzNzYwODgxRjE1MDQxM0U5MDBGQzgyQzcgLyogV2ViUmVuZGVy
T2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTBBRkZCQTE2NTQyMDQ4MDAxQkEwNUUgLyog
V2ViUmVzb3VyY2VMb2FkZXIuaCBpbiBIZWFkZXJzICovLApAQCAtODg0Myw2ICs4ODU0LDcgQEAK
IAkJCQk0MURDNDU5RjFFM0RCREE1MDBCMTFGNTEgLyogV2ViUlRDU29ja2V0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQk3QzM2MUQ3MzE5MjdGQTM2MDAzNkE1OUQgLyogV2ViU2NyaXB0TWVzc2FnZUhh
bmRsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUQzQjk0ODQ5MTFGRjRCNjUwMDAzMkIzOSAvKiBX
ZWJTZWFyY2hQb3B1cE1lbnUuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxQkVCNjJDMUYzQTVBRDcw
MDUwMjlCOSAvKiBXZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFBNDgzMkQ3MUE5Q0RGOTYwMDhCNERGRSAvKiBXZWJzaXRlRGF0YS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMUE0ODMyRDExQTlCREMyRjAwOEI0REZFIC8qIFdlYnNpdGVEYXRhUmVjb3JkLmggaW4g
SGVhZGVycyAqLywKIAkJCQkxQTUzQzJBQTFBMzI1NzMwMDA0RThDNzAgLyogV2Vic2l0ZURhdGFT
dG9yZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMDM3MSw3ICsxMDM4Myw2IEBACiAJCQkJMkRBOTQ0
QTExODg0RTRGMDAwRUQ4NkRCIC8qIFdlYklPU0V2ZW50RmFjdG9yeS5tbSBpbiBTb3VyY2VzICov
LAogCQkJCUMwMzM3REQzMTI3QTJBMEUwMDhGRjRGNCAvKiBXZWJLZXlib2FyZEV2ZW50LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTFBNjI4MEYzMTkxOTk4MkEwMDZBRDlGOSAvKiBXZWJLaXQubSBp
biBTb3VyY2VzICovLAotCQkJCTUxQkVCNjJCMUYzQTVBRDcwMDUwMjlCOSAvKiBXZWJTZXJ2aWNl
V29ya2VyUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM5QkE1MDQxNjk3QzQ1MzAw
RTQ0NjE2IC8qIFdlYktpdDJJbml0aWFsaXplLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ2NTI1
MEU2MUVDRjUyREMwMDIwMjVDQiAvKiBXZWJLaXQySW5pdGlhbGl6ZUNvY29hLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTFGQjA4RkYxNjM5REUxQTAwRUMzMjRBIC8qIFdlYkxvYWRlclN0cmF0ZWd5
LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMTA0NjksNiArMTA0ODAsNyBAQAogCQkJCTUxRjA2MEUx
MTY1NDMxODUwMEYzMjgxQyAvKiBXZWJSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJN0MzNjFENzIxOTI3RkEzNjAwMzZBNTlEIC8qIFdlYlNjcmlwdE1lc3Nh
Z2VIYW5kbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUQzQjk0ODQ4MTFGRjRCNjUwMDAzMkIz
OSAvKiBXZWJTZWFyY2hQb3B1cE1lbnUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTFCRUI2MkIx
RjNBNUFENzAwNTAyOUI5IC8qIFdlYlNlcnZpY2VXb3JrZXJQcm92aWRlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkxQTQ4MzJENjFBOUNERjk2MDA4QjRERkUgLyogV2Vic2l0ZURhdGEuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMUE0ODMyRDkxQTlEMUZEMjAwOEI0REZFIC8qIFdlYnNpdGVEYXRh
UmVjb3JkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNTNDMkE5MUEzMjU3MkIwMDRFOEM3MCAv
KiBXZWJzaXRlRGF0YVN0b3JlLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0NhY2hlL1dlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmggYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvQ2FjaGUvV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wZTc4ODM0ZGY3YTNkOGI0MGMxZTI5OWQ3NDY3OWM5OTg2YzU4YWQ2Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0NhY2hlL1dlYkNhY2hlU3RvcmFn
ZVByb3ZpZGVyLmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaW5jbHVkZSA8V2ViQ29yZS9DYWNoZVN0b3JhZ2VQcm92aWRlci5oPgorCituYW1lc3BhY2Ug
V2ViS2l0IHsKKworY2xhc3MgV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIgZmluYWwgOiBwdWJsaWMg
V2ViQ29yZTo6Q2FjaGVTdG9yYWdlUHJvdmlkZXIgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8
V2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXI+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
V2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIpOyB9CisKK3ByaXZhdGU6CisgICAgV2ViQ2FjaGVTdG9y
YWdlUHJvdmlkZXIoKSA9IGRlZmF1bHQ7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDEzM2M1MzJlMTVmZWJkNTZkYjMyNDEwOWI5
NDRlNDg0MzUyZTliNzcuLjhkY2FkZjNjYTA0MmY2OTIyMmM5NTU3NDI2MWM4NmM5NjNjMDc0ODQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC02
OCw2ICs2OCw3IEBACiAjaW5jbHVkZSAiV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmgiCiAjaW5j
bHVkZSAiV2ViQmFja0ZvcndhcmRMaXN0SXRlbS5oIgogI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJk
TGlzdFByb3h5LmgiCisjaW5jbHVkZSAiV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCIKICNpbmNs
dWRlICJXZWJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRlICJXZWJDb2xvckNob29zZXIuaCIKICNp
bmNsdWRlICJXZWJDb250ZXh0TWVudS5oIgpAQCAtMzY3LDcgKzM2OCw4IEBAIFdlYlBhZ2U6Oldl
YlBhZ2UodWludDY0X3QgcGFnZUlELCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1l
dGVycykKICAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbigKICAgICAgICAg
bWFrZVVuaXF1ZVJlZjxXZWJFZGl0b3JDbGllbnQ+KHRoaXMpLAogICAgICAgICBXZWJTb2NrZXRQ
cm92aWRlcjo6Y3JlYXRlKCksCi0gICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViS2l0OjpMaWJXZWJS
VENQcm92aWRlcj4oKQorICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYktpdDo6TGliV2ViUlRDUHJv
dmlkZXI+KCksCisgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmNhY2hlU3RvcmFnZVBy
b3ZpZGVyKCkKICAgICApOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5l
dyBXZWJDaHJvbWVDbGllbnQoKnRoaXMpOwogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IDM3ODIyODY2YTI3ZDcwZDZh
NGFjZGU4ZDI2ZDQ3NDk0OTE1YWZkMDEuLjg3MGYzY2RlODUzN2M2Mjg5ZmMxNzVmMjdiZTdjOWQ0
ODZjMDdhNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTQ0
LDYgKzQ0LDcgQEAKICNpbmNsdWRlICJTdGF0aXN0aWNzRGF0YS5oIgogI2luY2x1ZGUgIlVzZXJE
YXRhLmgiCiAjaW5jbHVkZSAiV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5oIgorI2luY2x1ZGUg
IldlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiV2ViQ29ubmVjdGlvblRvVUlQ
cm9jZXNzLmgiCiAjaW5jbHVkZSAiV2ViQ29va2llTWFuYWdlci5oIgogI2luY2x1ZGUgIldlYkNv
cmVBcmd1bWVudENvZGVycy5oIgpAQCAtMTYwLDYgKzE2MSw3IEBAIFdlYlByb2Nlc3M6OldlYlBy
b2Nlc3MoKQogI2VuZGlmCiAgICAgLCBtX3dlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIo
V2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcjo6Y3JlYXRlKCkpCiAgICAgLCBtX3dlYkxv
YWRlclN0cmF0ZWd5KCpuZXcgV2ViTG9hZGVyU3RyYXRlZ3kpCisgICAgLCBtX2NhY2hlU3RvcmFn
ZVByb3ZpZGVyKFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyOjpjcmVhdGUoKSkKICAgICAsIG1fZG5z
UHJlZmV0Y2hIeXN0ZXJlcmlzKFt0aGlzXShIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpIHsgaWYgKHN0
YXRlID09IEh5c3RlcmVzaXNTdGF0ZTo6U3RvcHBlZCkgbV9kbnNQcmVmZXRjaGVkSG9zdHMuY2xl
YXIoKTsgfSkKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICAsIG1fcGx1Z2lu
UHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyKFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcjo6
Y3JlYXRlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCBjZjJhYjgx
M2IzNzkwMzczYjJkYTBmYTZmYWJmN2JhYzQ3YjJmNDk3Li4xMjNjNGJiMTk4Y2FmNzBjZDk3NmY2
OTU5OWY3Nzc5MGIxZDBiYjc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgK
QEAgLTgwLDYgKzgwLDcgQEAgY2xhc3MgT2JqQ09iamVjdEdyYXBoOwogY2xhc3MgVXNlckRhdGE7
CiBjbGFzcyBXYXlsYW5kQ29tcG9zaXRvckRpc3BsYXk7CiBjbGFzcyBXZWJBdXRvbWF0aW9uU2Vz
c2lvblByb3h5OworY2xhc3MgV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXI7CiBjbGFzcyBXZWJDb25u
ZWN0aW9uVG9VSVByb2Nlc3M7CiBjbGFzcyBXZWJGcmFtZTsKIGNsYXNzIFdlYkxvYWRlclN0cmF0
ZWd5OwpAQCAtMjIyLDYgKzIyMyw4IEBAIHB1YmxpYzoKIAogICAgIFdlYkF1dG9tYXRpb25TZXNz
aW9uUHJveHkqIGF1dG9tYXRpb25TZXNzaW9uUHJveHkoKSB7IHJldHVybiBtX2F1dG9tYXRpb25T
ZXNzaW9uUHJveHkuZ2V0KCk7IH0KIAorICAgIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyJiBjYWNo
ZVN0b3JhZ2VQcm92aWRlcigpIHsgcmV0dXJuIG1fY2FjaGVTdG9yYWdlUHJvdmlkZXIuZ2V0KCk7
IH0KKwogcHJpdmF0ZToKICAgICBXZWJQcm9jZXNzKCk7CiAgICAgfldlYlByb2Nlc3MoKTsKQEAg
LTM3NSw2ICszNzgsOCBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxOZXR3b3JrUHJvY2Vzc0Nvbm5l
Y3Rpb24+IG1fbmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOwogICAgIFdlYkxvYWRlclN0cmF0ZWd5
JiBtX3dlYkxvYWRlclN0cmF0ZWd5OwogCisgICAgUmVmPFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVy
PiBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyOworCiAjaWYgVVNFKExJQldFQlJUQykKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8TGliV2ViUlRDTmV0d29yaz4gbV9saWJXZWJSVENOZXR3b3JrOwogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0g
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggYzAwMWYw
MDI4MDY1MzIwMmI4ODNjNjBhZmE0OTM3ZDRhM2Y2NjkwZC4uYWYwZjdlMmE5ZjZiZDYxMzU1ZjE2
ZTgzMjZlYjRhNjc2NjQ2OTljNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQpAQCAtMTI0LDYgKzEyNCw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL0FwcGxpY2F0
aW9uQ2FjaGVTdG9yYWdlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0JhY2tGb3J3YXJkQ29udHJvbGxl
ci5oPgogI2ltcG9ydCA8V2ViQ29yZS9DU1NBbmltYXRpb25Db250cm9sbGVyLmg+CisjaW1wb3J0
IDxXZWJDb3JlL0NhY2hlU3RvcmFnZVByb3ZpZGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Nocm9t
ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Db2xvck1hYy5oPgogI2ltcG9ydCA8V2ViQ29yZS9EYXRh
YmFzZU1hbmFnZXIuaD4KQEAgLTE0MTMsNyArMTQxNCw4IEBAIHN0YXRpYyB2b2lkIFdlYktpdElu
aXRpYWxpemVHYW1lcGFkUHJvdmlkZXJJZk5lY2Vzc2FyeSgpCiAgICAgUGFnZUNvbmZpZ3VyYXRp
b24gcGFnZUNvbmZpZ3VyYXRpb24oCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViRWRpdG9yQ2xp
ZW50PihzZWxmKSwKICAgICAgICAgU29ja2V0UHJvdmlkZXI6OmNyZWF0ZSgpLAotICAgICAgICBt
YWtlVW5pcXVlUmVmPFdlYkNvcmU6OkxpYldlYlJUQ1Byb3ZpZGVyPigpCisgICAgICAgIG1ha2VV
bmlxdWVSZWY8V2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXI+KCksCisgICAgICAgIFdlYkNvcmU6
OkNhY2hlU3RvcmFnZVByb3ZpZGVyOjpjcmVhdGUoKQogICAgICk7CiAjaWYgIVBMQVRGT1JNKElP
UykKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xp
ZW50KHNlbGYpOwpAQCAtMTY3Niw3ICsxNjc4LDggQEAgc3RhdGljIHZvaWQgV2ViS2l0SW5pdGlh
bGl6ZUdhbWVwYWRQcm92aWRlcklmTmVjZXNzYXJ5KCkKICAgICBQYWdlQ29uZmlndXJhdGlvbiBw
YWdlQ29uZmlndXJhdGlvbigKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJFZGl0b3JDbGllbnQ+
KHNlbGYpLAogICAgICAgICBTb2NrZXRQcm92aWRlcjo6Y3JlYXRlKCksCi0gICAgICAgIG1ha2VV
bmlxdWVSZWY8V2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXI+KCkKKyAgICAgICAgbWFrZVVuaXF1
ZVJlZjxXZWJDb3JlOjpMaWJXZWJSVENQcm92aWRlcj4oKSwKKyAgICAgICAgV2ViQ29yZTo6Q2Fj
aGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpCiAgICAgKTsKICAgICBwYWdlQ29uZmlndXJhdGlv
bi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50SU9TKHNlbGYpOwogI2lmIEVOQUJM
RShEUkFHX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJW
aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCmluZGV4IDY2ZWZl
MjMxNzBlZmQ1NjQwYmFmNmE0MzFiZWU0OWJkNDk3MGUyNzAuLjRhYWEwOTI4YzgyYjI1OWY0MTM1
YzkyZmUxZjcxMGY5NWMxMmI5YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCkBA
IC04NCw2ICs4NCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9CU3RyaW5nLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0JpdG1h
cEluZm8uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0NhY2hlU3RvcmFnZVByb3ZpZGVyLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9DaHJvbWUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0NvbnRleHRNZW51Lmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaD4KQEAgLTMxMDIsNyAr
MzEwMyw4IEBAIEhSRVNVTFQgV2ViVmlldzo6aW5pdFdpdGhGcmFtZShSRUNUIGZyYW1lLCBfSW5f
IEJTVFIgZnJhbWVOYW1lLCBfSW5fIEJTVFIgZ3JvdXBOCiAgICAgUGFnZUNvbmZpZ3VyYXRpb24g
Y29uZmlndXJhdGlvbigKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJFZGl0b3JDbGllbnQ+KHRo
aXMpLAogICAgICAgICBTb2NrZXRQcm92aWRlcjo6Y3JlYXRlKCksCi0gICAgICAgIG1ha2VVbmlx
dWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+KCkKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxMaWJXZWJS
VENQcm92aWRlcj4oKSwKKyAgICAgICAgV2ViQ29yZTo6Q2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNy
ZWF0ZSgpCiAgICAgKTsKICAgICBjb25maWd1cmF0aW9uLmJhY2tGb3J3YXJkQ2xpZW50ID0gQmFj
a0ZvcndhcmRMaXN0OjpjcmVhdGUoKTsKICAgICBjb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9
IG5ldyBXZWJDaHJvbWVDbGllbnQodGhpcyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzUwZjVlZTkzNDNiMDk5ODc2Zjhh
M2M3M2QyNDljODYzYmQ2MmZmNC4uZGUyZmZkNGQ3ZDVjZWEzYzNiOGRkNGQ0Njc3ODk5MTgwNGFk
YTEzYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE3LTA4LTE0ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbQ2FjaGUgQVBJXSBBZGRpbmcgZ2VuZXJpYyBz
dXBwb3J0IGZvciBDYWNoZVN0b3JhZ2UgYW5kIENhY2hlIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTQ1NQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczogU2tp
cHBpbmcgYSB0ZXN0IHRoYXQgd291bGQgdGltZW91dCBvdGhlcndpc2UgZHVlIHRvIHRoZSBjdXJy
ZW50IGltcGxlbWVudGF0aW9uIGxpbWl0YXRpb25zLgorCiAyMDE3LTA4LTE0ICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBQcm94aW1pdHkg
RXZlbnRzIGFuZCByZWxhdGVkIGNvZGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4
IGNhYzYxZWJhZjIzNWFlODE5NDVkMWMyMWYxMTA0NDEwOWFlYjAzOTkuLjVjYTE1OGIzMjI4OTk2
Yzc1ZjI1MzFlZTUyMGZmMjYyMGExMDhlODAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTA4LTE0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KKworICAgICAgICBbQ2FjaGUgQVBJXSBBZGRpbmcgZ2VuZXJpYyBzdXBwb3J0IGZv
ciBDYWNoZVN0b3JhZ2UgYW5kIENhY2hlIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTQ1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9y
YWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2Nh
Y2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3Rv
cmFnZS5odHRwcy1leHBlY3RlZC50eHQ6CisKIDIwMTctMDgtMTQgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBvcnQgZXZlbnRzb3VyY2UgV2ViLVBsYXRmb3Jt
LVRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBiOTU2MTg5MjQ2MTYzYTAxYmY1N2FhY2YzOTRk
NGZlMDNkMGQ4YzA1Li5jN2FlZWM0YWNhZGZhMzRiMjQxZDAxODQyMTYxMjBlNDFhMTEyZTE0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEyMSw3ICsxMjEsNyBAQCBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zdHViLTQuNi4yLWNhY2hlLmh0bWwgWyBQYXNz
IF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3N0dWIt
NC42LjMtY2FjaGUtc3RvcmFnZS5odG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlIFsgUGFzcyBdCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dp
bmRvdyBbIFBhc3MgRmFpbHVyZSBdCi0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UvY29tbW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0K
IAogIyB0ZXh0YXJlYS5hbmltYXRlIGlzIG5vdCBzdXBwb3J0ZWQKIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy11aS0zL2NhcmV0LWNvbG9yLTAxOC5odG1sIFsgU2tpcCBd
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY3JlZGVudGlhbHMu
aHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zZXJ2aWNld29ya2VyL2NyZWRl
bnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAwNzYxNjUwZGJjNDFlOGJkMTVlNjRlNDdl
MzA4ZjJkYzMyYWI5ZTViLi4zOGU5NTIzOTdjMzQ2MTkyOGYxZWYxZWRmN2FiZWUzMGNlMzgxMjc3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY3JlZGVudGlhbHMu
aHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9j
cmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgQ2Fj
aGUgQVBJIG1hdGNoaW5nIGluY2x1ZGVzIGNyZWRlbnRpYWxzIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVu
dGVkIgorRkFJTCBDYWNoZSBBUEkgbWF0Y2hpbmcgaW5jbHVkZXMgY3JlZGVudGlhbHMgYXNzZXJ0
X3VucmVhY2hlZDogdW5yZWdpc3RlciBzaG91bGQgbm90IGZhaWw6IHNlcnZpY2VXb3JrZXIuZ2V0
UmVnaXN0cmF0aW9uKCkgaXMgbm90IHlldCBpbXBsZW1lbnRlZCBSZWFjaGVkIHVucmVhY2hhYmxl
IGNvZGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtYWRkLmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLWFkZC5odHRw
cy1leHBlY3RlZC50eHQKaW5kZXggNDlhNDY3ODI4ZDkxNzQyNjUxMDk1ZWM5NjYwNzBiMjUxZjk1
NDZhMi4uZWY0YjUyY2Y2NjgzNDBlMGY0YTBkNzJmZmRhMDM5NDc0NzE5M2Y0NiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtYWRkLmh0dHBzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1hZGQuaHR0cHMtZXhwZWN0ZWQudHh0
CkBAIC0xLDIwICsxLDIwIEBACiAKLUZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRoIG5vIGFyZ3Vt
ZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRo
IHJlbGF0aXZlIFVSTCBzcGVjaWZpZWQgYXMgYSBzdHJpbmcgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLmFkZCBjYWxsZWQgd2l0aCBub24tSFRUUC9IVFRQUyBVUkwgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZCBjYWxsZWQgd2l0aCBSZXF1ZXN0IG9i
amVjdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRo
IFBPU1QgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkIGNh
bGxlZCB0d2ljZSB3aXRoIHRoZSBzYW1lIFJlcXVlc3Qgb2JqZWN0IHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgotRkFJTCBDYWNoZS5hZGQgd2l0aCByZXF1ZXN0IHdpdGggbnVsbCBib2R5IChub3Qg
Y29uc3VtZWQpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGQgd2l0aCAy
MDYgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZEFsbCB3
aXRoIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRk
IHdpdGggcmVxdWVzdCB0aGF0IHJlc3VsdHMgaW4gYSBzdGF0dXMgb2YgNDA0IHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGQgd2l0aCByZXF1ZXN0IHRoYXQgcmVzdWx0cyBp
biBhIHN0YXR1cyBvZiA1MDAgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFk
ZEFsbCB3aXRoIG5vIGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2Fj
aGUuYWRkQWxsIHdpdGggYSBtaXggb2YgdmFsaWQgYW5kIHVuZGVmaW5lZCBhcmd1bWVudHMgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZEFsbCB3aXRoIGFuIGVtcHR5IGFy
cmF5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGRBbGwgd2l0aCBzdHJp
bmcgVVJMIGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRk
QWxsIHdpdGggUmVxdWVzdCBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLmFkZEFsbCB3aXRoIGEgbWl4IG9mIHN1Y2NlZWRpbmcgYW5kIGZhaWxpbmcgcmVxdWVz
dHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZEFsbCBjYWxsZWQgd2l0
aCB0aGUgc2FtZSBSZXF1ZXN0IG9iamVjdCBzcGVjaWZpZWQgdHdpY2UgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZCBjYWxsZWQgd2l0aCBubyBhcmd1bWVudHMgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9y
dGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRoIHJl
bGF0aXZlIFVSTCBzcGVjaWZpZWQgYXMgYSBzdHJpbmcgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRoIG5vbi1IVFRQL0hUVFBTIFVSTCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgY2FsbGVkIHdp
dGggUmVxdWVzdCBvYmplY3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwg
Q2FjaGUuYWRkIGNhbGxlZCB3aXRoIFBPU1QgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGlt
cGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgY2FsbGVkIHR3aWNlIHdpdGggdGhlIHNhbWUgUmVx
dWVzdCBvYmplY3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUu
YWRkIHdpdGggcmVxdWVzdCB3aXRoIG51bGwgYm9keSAobm90IGNvbnN1bWVkKSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRF
cnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgd2l0aCAyMDYgcmVzcG9uc2Ug
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxsIHdpdGgg
MjA2IHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hl
LmFkZCB3aXRoIHJlcXVlc3QgdGhhdCByZXN1bHRzIGluIGEgc3RhdHVzIG9mIDQwNCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgd2l0aCByZXF1ZXN0IHRo
YXQgcmVzdWx0cyBpbiBhIHN0YXR1cyBvZiA1MDAgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggbm8gYXJndW1lbnRzIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZEFsbCB3aXRoIGEgbWl4IG9mIHZhbGlk
IGFuZCB1bmRlZmluZWQgYXJndW1lbnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CitGQUlMIENhY2hlLmFkZEFsbCB3aXRoIGFuIGVtcHR5IGFycmF5IHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZEFsbCB3aXRoIHN0cmluZyBVUkwgYXJndW1l
bnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZEFsbCB3
aXRoIFJlcXVlc3QgYXJndW1lbnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitG
QUlMIENhY2hlLmFkZEFsbCB3aXRoIGEgbWl4IG9mIHN1Y2NlZWRpbmcgYW5kIGZhaWxpbmcgcmVx
dWVzdHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxs
IGNhbGxlZCB3aXRoIHRoZSBzYW1lIFJlcXVlc3Qgb2JqZWN0IHNwZWNpZmllZCB0d2ljZSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9y
YWdlL3dpbmRvdy9jYWNoZS1kZWxldGUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93aW5kb3cvY2FjaGUtZGVsZXRlLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAyZGZhZTVj
OGJjYmJkM2Q1YjA1Y2NjYzkxM2E2M2UzZTY5MmExZjcwLi5lMzNlODU4YmZkZDI3NDk1MzA1MmUw
ZjYyOWFjYTRhY2EyNjBmNzYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9j
YWNoZS1kZWxldGUuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2lu
ZG93L2NhY2hlLWRlbGV0ZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEsMTAgQEAKIAot
RkFJTCBDYWNoZS5kZWxldGUgd2l0aCBubyBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLmRlbGV0ZSBjYWxsZWQgd2l0aCBhIHN0cmluZyBVUkwgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmRlbGV0ZSBjYWxsZWQgd2l0aCBhIFJlcXVlc3Qg
b2JqZWN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5kZWxldGUgY2FsbGVk
IHdpdGggYSBIRUFEIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
LmRlbGV0ZSBzdXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJ
TCBDYWNoZS5kZWxldGUgd2l0aCBhIG5vbi1leGlzdGVudCBlbnRyeSBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGUuZGVsZXRlIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVx
dWVzdCB3aXRoIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZB
SUwgQ2FjaGUuZGVsZXRlIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAod2hlbiBpdCBpcyBzcGVj
aWZpZWQgYXMgZmFsc2UpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5kZWxl
dGUgd2l0aCBubyBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZB
SUwgQ2FjaGUuZGVsZXRlIGNhbGxlZCB3aXRoIGEgc3RyaW5nIFVSTCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjog
Tm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5kZWxldGUgY2FsbGVkIHdpdGggYSBSZXF1ZXN0
IG9iamVjdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5kZWxl
dGUgY2FsbGVkIHdpdGggYSBIRUFEIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUuZGVsZXRlIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuZGVsZXRlIHdpdGggYSBub24tZXhpc3Rl
bnQgZW50cnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuZGVs
ZXRlIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIHNlYXJjaCBwYXJhbWV0
ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5kZWxldGUg
d2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uICh3aGVuIGl0IGlzIHNwZWNpZmllZCBhcyBmYWxzZSkg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUt
c3RvcmFnZS93aW5kb3cvY2FjaGUta2V5cy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1z
dG9yYWdlL3dpbmRvdy9jYWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA3ZTFhMzcz
NmQ0M2YzNzY0NGMyYTY4MDhmNDFkMjEwNGEyYTY0MGUwLi5hNThhYzliYzcyZjBhMzZhMjVkNzg3
ZmFmMDkxN2JiNzczMzA0NjQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9j
YWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRv
dy9jYWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwxNSArMSwxNSBAQAogCi1GQUlM
IENhY2hlLmtleXMoKSBjYWxsZWQgb24gYW4gZW1wdHkgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCi1GQUlMIENhY2hlLmtleXMgd2l0aCBubyBtYXRjaGluZyBlbnRyaWVzIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
Tm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggVVJMIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGlt
cGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRoIG5ldyBSZXF1ZXN0IHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGlt
cGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVx
dWVzdCB3aXRoIG5vIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
LUZBSUwgQ2FjaGUua2V5cyB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBz
ZWFyY2ggcGFyYW1ldGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmtl
eXMgc3VwcG9ydHMgaWdub3JlTWV0aG9kIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBD
YWNoZS5rZXlzIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1G
QUlMIENhY2hlLmtleXMgd2l0aCBVUkwgY29udGFpbmluZyBmcmFnbWVudCBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRoIHN0cmluZyBmcmFnbWVudCAiaHR0cCIg
YXMgcXVlcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmtleXMgd2l0aG91
dCBwYXJhbWV0ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdp
dGggYSBIRUFEIFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmtl
eXMoKSBjYWxsZWQgb24gYW4gZW1wdHkgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUua2V5cyB3aXRoIG5vIG1hdGNoaW5nIGVudHJpZXMgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVk
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5cyB3aXRoIFVSTCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGggUmVxdWVzdCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGggbmV3
IFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5
cyB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBubyBzZWFyY2ggcGFyYW1l
dGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5cyB3
aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBzZWFyY2ggcGFyYW1ldGVycykg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5cyBzdXBwb3J0
cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2Fj
aGUua2V5cyBzdXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCitGQUlMIENhY2hlLmtleXMgd2l0aCBVUkwgY29udGFpbmluZyBmcmFnbWVudCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGggc3RyaW5nIGZy
YWdtZW50ICJodHRwIiBhcyBxdWVyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgor
RkFJTCBDYWNoZS5rZXlzIHdpdGhvdXQgcGFyYW1ldGVycyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGlt
cGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGggYSBIRUFEIFJlcXVlc3QgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVk
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93
aW5kb3cvY2FjaGUtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93
aW5kb3cvY2FjaGUtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDU3YTUxY2Y5YmE0OWQ5
NWU3YTU3ZmI5Y2E1NWYyNmI1MDNmNjhiYzEuLmNlNmJlNTM3ZTFhZTk4NjY3ZGQ4MzFlYzQ5ZTNm
NGY4MTRmMGExMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLW1h
dGNoLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNo
ZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMjIgKzEsMjIgQEAKIAotRkFJTCBDYWNo
ZS5tYXRjaCB3aXRoIG5vIG1hdGNoaW5nIGVudHJpZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlLm1hdGNoIHdpdGggVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJ
TCBDYWNoZS5tYXRjaCB3aXRoIFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLm1hdGNoIHdpdGggbXVsdGlwbGUgY2FjaGUgaGl0cyBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBuZXcgUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBIRUFEIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVu
dGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qg
d2l0aCBubyBzZWFyY2ggcGFyYW1ldGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLm1hdGNoIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIHNlYXJj
aCBwYXJhbWV0ZXIpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCBz
dXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
Lm1hdGNoIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLm1hdGNoIHdpdGggVVJMIGNvbnRhaW5pbmcgZnJhZ21lbnQgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggc3RyaW5nIGZyYWdtZW50ICJodHRwIiBh
cyBxdWVyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBy
ZXNwb25zZXMgY29udGFpbmluZyAiVmFyeSIgaGVhZGVyIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgotRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFJlcXVlc3QgYW5kIFJlc3BvbnNlIG9iamVjdHMgd2l0
aCBkaWZmZXJlbnQgVVJMcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0
Y2ggaW52b2tlZCBtdWx0aXBsZSB0aW1lcyBmb3IgdGhlIHNhbWUgUmVxdWVzdC9SZXNwb25zZSBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggYmxvYiBzaG91bGQgYmUg
c2xpY2VhYmxlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3aXRo
IFBPU1QgUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2gg
d2l0aCBhIG5vbi0yeHggUmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENh
Y2hlLm1hdGNoIHdpdGggYSBuZXR3b3JrIGVycm9yIFJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgotRkFJTCBDYWNoZSBwcm9kdWNlcyBsYXJnZSBSZXNwb25zZXMgdGhhdCBjYW4gYmUg
Y2xvbmVkIGFuZCByZWFkIGNvcnJlY3RseS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlLm1hdGNoIHdpdGggbm8gbWF0Y2hpbmcgZW50cmllcyBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90
IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFVSTCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjog
Tm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFJlcXVlc3QgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVk
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBtdWx0aXBsZSBj
YWNoZSBoaXRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1h
dGNoIHdpdGggbmV3IFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZB
SUwgQ2FjaGUubWF0Y2ggd2l0aCBIRUFEIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CitGQUlMIENhY2hlLm1hdGNoIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRo
IG5vIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgor
RkFJTCBDYWNoZS5tYXRjaCB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBz
ZWFyY2ggcGFyYW1ldGVyKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZS5tYXRjaCBzdXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggc3VwcG9ydHMgaWdub3JlVmFyeSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRF
cnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFVSTCBjb250YWlu
aW5nIGZyYWdtZW50IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hl
Lm1hdGNoIHdpdGggc3RyaW5nIGZyYWdtZW50ICJodHRwIiBhcyBxdWVyeSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJv
cjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIHJlc3BvbnNlcyBjb250
YWluaW5nICJWYXJ5IiBoZWFkZXIgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZB
SUwgQ2FjaGUubWF0Y2ggd2l0aCBSZXF1ZXN0IGFuZCBSZXNwb25zZSBvYmplY3RzIHdpdGggZGlm
ZmVyZW50IFVSTHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUu
bWF0Y2ggaW52b2tlZCBtdWx0aXBsZSB0aW1lcyBmb3IgdGhlIHNhbWUgUmVxdWVzdC9SZXNwb25z
ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCBibG9i
IHNob3VsZCBiZSBzbGljZWFibGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZB
SUwgQ2FjaGUubWF0Y2ggd2l0aCBQT1NUIFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBhIG5vbi0yeHggUmVzcG9uc2UgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9y
dGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBhIG5ldHdv
cmsgZXJyb3IgUmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwg
Q2FjaGUgcHJvZHVjZXMgbGFyZ2UgUmVzcG9uc2VzIHRoYXQgY2FuIGJlIGNsb25lZCBhbmQgcmVh
ZCBjb3JyZWN0bHkuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLW1hdGNoQWxsLmh0dHBzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLW1hdGNoQWxsLmh0dHBzLWV4cGVj
dGVkLnR4dAppbmRleCA2MmJmMzYzMzMyZTM1MWU2M2M2ZjIzZjY0OTU2NTdkNjk0NjQ4ZGE3Li43
NzA0NDg3MjI3YjM1NDkzZTQzNDYzNmNhODFmOGI2NTlhYWU4M2U4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9j
YWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1tYXRjaEFsbC5odHRwcy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtbWF0Y2hBbGwuaHR0cHMtZXhwZWN0ZWQu
dHh0CkBAIC0xLDE2ICsxLDE2IEBACiAKLUZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBubyBtYXRj
aGluZyBlbnRyaWVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaEFs
bCB3aXRoIFVSTCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2hBbGwg
d2l0aCBSZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaEFs
bCB3aXRoIG5ldyBSZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5t
YXRjaEFsbCB3aXRoIEhFQUQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1h
dGNoQWxsIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIG5vIHNlYXJjaCBw
YXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2hBbGwg
d2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uIChyZXF1ZXN0IHdpdGggc2VhcmNoIHBhcmFtZXRlcnMp
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaEFsbCBzdXBwb3J0cyBp
Z25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoQWxs
IHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
Lm1hdGNoQWxsIHdpdGggVVJMIGNvbnRhaW5pbmcgZnJhZ21lbnQgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggc3RyaW5nIGZyYWdtZW50ICJodHRwIiBh
cyBxdWVyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0
aG91dCBwYXJhbWV0ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRj
aEFsbCB3aXRoIHJlc3BvbnNlcyBjb250YWluaW5nICJWYXJ5IiBoZWFkZXIgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggbXVsdGlwbGUgdmFyeSBwYWly
cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBubyBt
YXRjaGluZyBlbnRyaWVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENh
Y2hlLm1hdGNoQWxsIHdpdGggVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitG
QUlMIENhY2hlLm1hdGNoQWxsIHdpdGggUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxl
bWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRoIG5ldyBSZXF1ZXN0IHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggSEVBRCBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRoIGln
bm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBubyBzZWFyY2ggcGFyYW1ldGVycykgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBp
Z25vcmVTZWFyY2ggb3B0aW9uIChyZXF1ZXN0IHdpdGggc2VhcmNoIHBhcmFtZXRlcnMpIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHN1cHBvcnRz
IGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNo
ZS5tYXRjaEFsbCBzdXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggVVJMIGNvbnRhaW5pbmcgZnJhZ21lbnQg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0
aCBzdHJpbmcgZnJhZ21lbnQgImh0dHAiIGFzIHF1ZXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGhvdXQgcGFyYW1ldGVycyBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRoIHJlc3Bv
bnNlcyBjb250YWluaW5nICJWYXJ5IiBoZWFkZXIgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBtdWx0aXBsZSB2YXJ5IHBhaXJzIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3Jh
Z2Uvd2luZG93L2NhY2hlLXB1dC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdl
L3dpbmRvdy9jYWNoZS1wdXQuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDg5ODhkODU0NDEwNzBi
YmJiMWE2NGRiYWI4YWQ3N2E4ZDJkMGFjOGYuLmY2YWFkYWViZTNkOWM1OWJmZTA4YTVjZjU2ZTk4
NWRhM2MzMTMyNTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXB1
dC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUt
cHV0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwyNSArMSwyNSBAQAogCi1GQUlMIENhY2hlLnB1
dCBjYWxsZWQgd2l0aCBzaW1wbGUgUmVxdWVzdCBhbmQgUmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCBjYWxsZWQgd2l0aCBSZXF1ZXN0IGFuZCBSZXNwb25z
ZSBmcm9tIGZldGNoKCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3
aXRoIFJlcXVlc3Qgd2l0aG91dCBhIGJvZHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLnB1dCB3aXRoIFJlc3BvbnNlIHdpdGhvdXQgYSBib2R5IHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBhIFJlc3BvbnNlIGNvbnRhaW5pbmcgYW4gZW1w
dHkgVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBhbiBl
bXB0eSByZXNwb25zZSBib2R5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5w
dXQgd2l0aCBzeW50aGV0aWMgMjA2IHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgot
RkFJTCBDYWNoZS5wdXQgd2l0aCBIVFRQIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggSFRUUCA1MDAgcmVzcG9uc2UgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCBjYWxsZWQgdHdpY2Ugd2l0aCBtYXRjaGluZyBS
ZXF1ZXN0cyBhbmQgZGlmZmVyZW50IFJlc3BvbnNlcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
LUZBSUwgQ2FjaGUucHV0IGNhbGxlZCB0d2ljZSB3aXRoIHJlcXVlc3QgVVJMcyB0aGF0IGRpZmZl
ciBvbmx5IGJ5IGEgZnJhZ21lbnQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
LnB1dCB3aXRoIGEgc3RyaW5nIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLnB1dCB3aXRoIGFuIGludmFsaWQgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIGEgbm9uLUhUVFAvSFRUUFMgcmVxdWVzdCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggYSByZWxhdGl2ZSBVUkwgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIGEgbm9uLUdFVCByZXF1
ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBhIG51bGwg
cmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIGEg
UE9TVCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0
aCBhIHVzZWQgcmVzcG9uc2UgYm9keSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgZ2V0
UmVhZGVyKCkgYWZ0ZXIgQ2FjaGUucHV0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBD
YWNoZS5wdXQgd2l0aCBhIFZBUlk6KiBSZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
LUZBSUwgQ2FjaGUucHV0IHdpdGggYW4gZW1iZWRkZWQgVkFSWToqIFJlc3BvbnNlIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
Tm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgc2hvdWxkIHN0b3JlIFJlc3BvbnNlLnJl
ZGlyZWN0KCkgY29ycmVjdGx5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5w
dXQgY2FsbGVkIHdpdGggc2ltcGxlIFJlcXVlc3QgYW5kIFJlc3BvbnNlIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCBjYWxsZWQgd2l0aCBSZXF1ZXN0IGFu
ZCBSZXNwb25zZSBmcm9tIGZldGNoKCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
K0ZBSUwgQ2FjaGUucHV0IHdpdGggUmVxdWVzdCB3aXRob3V0IGEgYm9keSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJv
cjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBSZXNwb25zZSB3aXRob3V0
IGEgYm9keSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQg
d2l0aCBhIFJlc3BvbnNlIGNvbnRhaW5pbmcgYW4gZW1wdHkgVVJMIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIGFuIGVtcHR5IHJlc3BvbnNlIGJv
ZHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
Tm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGgg
c3ludGhldGljIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgor
RkFJTCBDYWNoZS5wdXQgd2l0aCBIVFRQIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90
IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBIVFRQIDUwMCByZXNwb25zZSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgY2FsbGVkIHR3aWNl
IHdpdGggbWF0Y2hpbmcgUmVxdWVzdHMgYW5kIGRpZmZlcmVudCBSZXNwb25zZXMgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVk
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IGNhbGxlZCB0d2ljZSB3aXRo
IHJlcXVlc3QgVVJMcyB0aGF0IGRpZmZlciBvbmx5IGJ5IGEgZnJhZ21lbnQgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYSBzdHJpbmcgcmVxdWVz
dCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBh
biBpbnZhbGlkIHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlLnB1dCB3aXRoIGEgbm9uLUhUVFAvSFRUUFMgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjog
Tm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBhIHJlbGF0aXZlIFVSTCBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBhIG5vbi1H
RVQgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5w
dXQgd2l0aCBhIG51bGwgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
K0ZBSUwgQ2FjaGUucHV0IHdpdGggYSBQT1NUIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYSB1c2VkIHJlc3BvbnNlIGJvZHkgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgZ2V0UmVhZGVyKCkgYWZ0ZXIgQ2Fj
aGUucHV0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3
aXRoIGEgVkFSWToqIFJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitG
QUlMIENhY2hlLnB1dCB3aXRoIGFuIGVtYmVkZGVkIFZBUlk6KiBSZXNwb25zZSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRF
cnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgc2hvdWxkIHN0b3JlIFJlc3Bv
bnNlLnJlZGlyZWN0KCkgY29ycmVjdGx5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2Uta2V5
cy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9y
YWdlLWtleXMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDFkODFlZDM0MmZjMDJlNGM2NjgxYWQw
MmQ4YzUzYzYyYjIzNDdhNzAuLmJmYTk2Y2QyYWRiY2U2NmQzNzIwODY2MmYyNzkxZGM1OWM0ZGQ0
OTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2Uta2V5
cy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUt
c3RvcmFnZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBD
YWNoZVN0b3JhZ2Uga2V5cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9y
YWdlIGtleXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBz
LWV4cGVjdGVkLnR4dAppbmRleCBmZGVhZmU5MzY2ZTlmNTk5OTQ3ZDIwMzU5YWYwYTU3NGIzYzJk
NmYzLi5lNzgwNTA0MzU3MTQ3MTQzYzk1ZTliODQyNTYwNzk3OWVkMjBiOTNlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLW1hdGNo
Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwxMyBAQAogCi1GQUlMIENhY2hlU3RvcmFn
ZU1hdGNoIHdpdGggbm8gY2FjaGUgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2YgbWFueSBjYWNoZXMgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIGZyb20gb25lIG9mIG1h
bnkgY2FjaGVzIGJ5IG5hbWUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3Rv
cmFnZU1hdGNoIGEgc3RyaW5nIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlU3RvcmFnZU1hdGNoIGEgSEVBRCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgotRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlZCBlbnRyeSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNoZXMgYXZh
aWxhYmxlIGJ1dCBuYW1lIHByb3ZpZGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBD
YWNoZVN0b3JhZ2VNYXRjaCB3aXRoIGVtcHR5IGNhY2hlIG5hbWUgcHJvdmlkZWQgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIHN1cHBvcnRzIGlnbm9yZVNl
YXJjaCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggc3VwcG9ydHMg
aWdub3JlTWV0aG9kIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2VN
YXRjaCBzdXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlIG5hbWUgcHJvdmlkZWQgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2Yg
bWFueSBjYWNoZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVT
dG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2YgbWFueSBjYWNoZXMgYnkgbmFtZSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJv
cjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBhIHN0cmluZyByZXF1
ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZU1h
dGNoIGEgSEVBRCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGVkIGVudHJ5IHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGVzIGF2
YWlsYWJsZSBidXQgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVk
IgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIGVtcHR5IGNhY2hlIG5hbWUgcHJvdmlkZWQg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2gg
c3VwcG9ydHMgaWdub3JlU2VhcmNoIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitG
QUlMIENhY2hlLm1hdGNoIHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90
IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBzdXBwb3J0cyBpZ25vcmVWYXJ5
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5v
dFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hl
LXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQKaW5kZXgg
MDAxZTZlMzNiZDdhYjM0ZWE3MzVhY2FkZjk0MjBjYWUxMDgyOWI2MS4uOGMzMGU2ODhhYTA2ZDY4
ZWVlYjIwZmE2M2UzNmY0MDcyNGRjNDNlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93
aW5kb3cvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMTIgKzEs
MTIgQEAKIAotRkFJTCBDYWNoZVN0b3JhZ2Uub3BlbiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
LUZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0ZSBkb29tcywgYnV0IGRvZXMgbm90IGRlbGV0ZSBpbW1l
ZGlhdGVseSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLm9wZW4g
d2l0aCBhbiBlbXB0eSBuYW1lIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0
b3JhZ2Uub3BlbiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0
b3JhZ2UuZGVsZXRlIGRvb21zLCBidXQgZG9lcyBub3QgZGVsZXRlIGltbWVkaWF0ZWx5IHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGgg
YW4gZW1wdHkgbmFtZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgogUEFTUyBDYWNo
ZVN0b3JhZ2Uub3BlbiB3aXRoIG5vIGFyZ3VtZW50cyAKLUZBSUwgQ2FjaGVTdG9yYWdlLmhhcyB3
aXRoIGV4aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0
b3JhZ2UuaGFzIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggZXhpc3RpbmcgY2FjaGUgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBleGlzdGluZyBjYWNo
ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0ZSB3aXRo
IG5vbmV4aXN0ZW50IGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0
b3JhZ2UgbmFtZXMgYXJlIERPTVN0cmluZ3Mgbm90IFVTVlN0cmluZ3MgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZS5oYXMgd2l0aCBleGlzdGluZyBjYWNoZSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorUEFTUyBDYWNoZVN0b3JhZ2UuaGFzIHdpdGgg
bm9uZXhpc3RlbnQgY2FjaGUgCitGQUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggZXhpc3Rpbmcg
Y2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdl
LmRlbGV0ZSB3aXRoIGV4aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCitQQVNTIENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBub25leGlzdGVudCBjYWNoZSAKK0ZB
SUwgQ2FjaGVTdG9yYWdlIG5hbWVzIGFyZSBET01TdHJpbmdzIG5vdCBVU1ZTdHJpbmdzIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3Jh
Z2Uvd2luZG93L3NhbmRib3hlZC1pZnJhbWVzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hl
LXN0b3JhZ2Uvd2luZG93L3NhbmRib3hlZC1pZnJhbWVzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRl
eCAzMWZiYjhkZTMwNWViMzBkMWJlOWU2MDZkZjkzM2Y4YWRmZDhmYzNkLi5iYTlkMjI5MzE4YWIz
YjU5M2FiODhhMDhiN2Y3NDQ1MmY1ZjNiOWU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdl
L3dpbmRvdy9zYW5kYm94ZWQtaWZyYW1lcy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS93aW5kb3cvc2FuZGJveGVkLWlmcmFtZXMuaHR0cHMtZXhwZWN0ZWQudHh0CkBA
IC0xLDUgKzEsNSBAQAogCiAKIEZBSUwgU2FuZGJveGVkIGlmcmFtZSB3aXRoIGFsbG93LXNhbWUt
b3JpZ2luIGlzIGFsbG93ZWQgYWNjZXNzIGFzc2VydF9lcXVhbHM6IEFjY2VzcyBzaG91bGQgYmUg
YWxsb3dlZCBpZiBzYW5kYm94IGhhcyBhbGxvdy1zYW1lLW9yaWdpbiBleHBlY3RlZCAiYWxsb3dl
ZCIgYnV0IGdvdCAiZGVuaWVkIgotRkFJTCBTYW5kYm94ZWQgaWZyYW1lIHdpdGhvdXQgYWxsb3ct
c2FtZS1vcmlnaW4gaXMgZGVuaWVkIGFjY2VzcyBhc3NlcnRfZXF1YWxzOiBGYWlsdXJlIHNob3Vs
ZCBiZSBhIFNlY3VyaXR5RXJyb3IgZXhwZWN0ZWQgIlNlY3VyaXR5RXJyb3IiIGJ1dCBnb3QgIlR5
cGVFcnJvciIKK0ZBSUwgU2FuZGJveGVkIGlmcmFtZSB3aXRob3V0IGFsbG93LXNhbWUtb3JpZ2lu
IGlzIGRlbmllZCBhY2Nlc3MgYXNzZXJ0X2VxdWFsczogRmFpbHVyZSBzaG91bGQgYmUgYSBTZWN1
cml0eUVycm9yIGV4cGVjdGVkICJTZWN1cml0eUVycm9yIiBidXQgZ290ICJOb3RTdXBwb3J0ZWRF
cnJvciIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtYWRkLmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLWFkZC5odHRw
cy1leHBlY3RlZC50eHQKaW5kZXggNDlhNDY3ODI4ZDkxNzQyNjUxMDk1ZWM5NjYwNzBiMjUxZjk1
NDZhMi4uZWY0YjUyY2Y2NjgzNDBlMGY0YTBkNzJmZmRhMDM5NDc0NzE5M2Y0NiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtYWRkLmh0dHBzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1hZGQuaHR0cHMtZXhwZWN0ZWQudHh0
CkBAIC0xLDIwICsxLDIwIEBACiAKLUZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRoIG5vIGFyZ3Vt
ZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRo
IHJlbGF0aXZlIFVSTCBzcGVjaWZpZWQgYXMgYSBzdHJpbmcgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLmFkZCBjYWxsZWQgd2l0aCBub24tSFRUUC9IVFRQUyBVUkwgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZCBjYWxsZWQgd2l0aCBSZXF1ZXN0IG9i
amVjdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRo
IFBPU1QgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkIGNh
bGxlZCB0d2ljZSB3aXRoIHRoZSBzYW1lIFJlcXVlc3Qgb2JqZWN0IHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgotRkFJTCBDYWNoZS5hZGQgd2l0aCByZXF1ZXN0IHdpdGggbnVsbCBib2R5IChub3Qg
Y29uc3VtZWQpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGQgd2l0aCAy
MDYgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZEFsbCB3
aXRoIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRk
IHdpdGggcmVxdWVzdCB0aGF0IHJlc3VsdHMgaW4gYSBzdGF0dXMgb2YgNDA0IHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGQgd2l0aCByZXF1ZXN0IHRoYXQgcmVzdWx0cyBp
biBhIHN0YXR1cyBvZiA1MDAgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFk
ZEFsbCB3aXRoIG5vIGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2Fj
aGUuYWRkQWxsIHdpdGggYSBtaXggb2YgdmFsaWQgYW5kIHVuZGVmaW5lZCBhcmd1bWVudHMgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZEFsbCB3aXRoIGFuIGVtcHR5IGFy
cmF5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGRBbGwgd2l0aCBzdHJp
bmcgVVJMIGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRk
QWxsIHdpdGggUmVxdWVzdCBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLmFkZEFsbCB3aXRoIGEgbWl4IG9mIHN1Y2NlZWRpbmcgYW5kIGZhaWxpbmcgcmVxdWVz
dHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZEFsbCBjYWxsZWQgd2l0
aCB0aGUgc2FtZSBSZXF1ZXN0IG9iamVjdCBzcGVjaWZpZWQgdHdpY2UgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZCBjYWxsZWQgd2l0aCBubyBhcmd1bWVudHMgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9y
dGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRoIHJl
bGF0aXZlIFVSTCBzcGVjaWZpZWQgYXMgYSBzdHJpbmcgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRoIG5vbi1IVFRQL0hUVFBTIFVSTCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgY2FsbGVkIHdp
dGggUmVxdWVzdCBvYmplY3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwg
Q2FjaGUuYWRkIGNhbGxlZCB3aXRoIFBPU1QgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGlt
cGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgY2FsbGVkIHR3aWNlIHdpdGggdGhlIHNhbWUgUmVx
dWVzdCBvYmplY3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUu
YWRkIHdpdGggcmVxdWVzdCB3aXRoIG51bGwgYm9keSAobm90IGNvbnN1bWVkKSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRF
cnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgd2l0aCAyMDYgcmVzcG9uc2Ug
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxsIHdpdGgg
MjA2IHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hl
LmFkZCB3aXRoIHJlcXVlc3QgdGhhdCByZXN1bHRzIGluIGEgc3RhdHVzIG9mIDQwNCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgd2l0aCByZXF1ZXN0IHRo
YXQgcmVzdWx0cyBpbiBhIHN0YXR1cyBvZiA1MDAgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggbm8gYXJndW1lbnRzIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZEFsbCB3aXRoIGEgbWl4IG9mIHZhbGlk
IGFuZCB1bmRlZmluZWQgYXJndW1lbnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CitGQUlMIENhY2hlLmFkZEFsbCB3aXRoIGFuIGVtcHR5IGFycmF5IHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZEFsbCB3aXRoIHN0cmluZyBVUkwgYXJndW1l
bnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZEFsbCB3
aXRoIFJlcXVlc3QgYXJndW1lbnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitG
QUlMIENhY2hlLmFkZEFsbCB3aXRoIGEgbWl4IG9mIHN1Y2NlZWRpbmcgYW5kIGZhaWxpbmcgcmVx
dWVzdHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxs
IGNhbGxlZCB3aXRoIHRoZSBzYW1lIFJlcXVlc3Qgb2JqZWN0IHNwZWNpZmllZCB0d2ljZSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9y
YWdlL3dvcmtlci9jYWNoZS1kZWxldGUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93b3JrZXIvY2FjaGUtZGVsZXRlLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAyZGZhZTVj
OGJjYmJkM2Q1YjA1Y2NjYzkxM2E2M2UzZTY5MmExZjcwLi5lMzNlODU4YmZkZDI3NDk1MzA1MmUw
ZjYyOWFjYTRhY2EyNjBmNzYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9j
YWNoZS1kZWxldGUuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29y
a2VyL2NhY2hlLWRlbGV0ZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEsMTAgQEAKIAot
RkFJTCBDYWNoZS5kZWxldGUgd2l0aCBubyBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLmRlbGV0ZSBjYWxsZWQgd2l0aCBhIHN0cmluZyBVUkwgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmRlbGV0ZSBjYWxsZWQgd2l0aCBhIFJlcXVlc3Qg
b2JqZWN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5kZWxldGUgY2FsbGVk
IHdpdGggYSBIRUFEIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
LmRlbGV0ZSBzdXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJ
TCBDYWNoZS5kZWxldGUgd2l0aCBhIG5vbi1leGlzdGVudCBlbnRyeSBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGUuZGVsZXRlIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVx
dWVzdCB3aXRoIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZB
SUwgQ2FjaGUuZGVsZXRlIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAod2hlbiBpdCBpcyBzcGVj
aWZpZWQgYXMgZmFsc2UpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5kZWxl
dGUgd2l0aCBubyBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZB
SUwgQ2FjaGUuZGVsZXRlIGNhbGxlZCB3aXRoIGEgc3RyaW5nIFVSTCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjog
Tm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5kZWxldGUgY2FsbGVkIHdpdGggYSBSZXF1ZXN0
IG9iamVjdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5kZWxl
dGUgY2FsbGVkIHdpdGggYSBIRUFEIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUuZGVsZXRlIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuZGVsZXRlIHdpdGggYSBub24tZXhpc3Rl
bnQgZW50cnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuZGVs
ZXRlIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIHNlYXJjaCBwYXJhbWV0
ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5kZWxldGUg
d2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uICh3aGVuIGl0IGlzIHNwZWNpZmllZCBhcyBmYWxzZSkg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUt
c3RvcmFnZS93b3JrZXIvY2FjaGUta2V5cy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1z
dG9yYWdlL3dvcmtlci9jYWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA3ZTFhMzcz
NmQ0M2YzNzY0NGMyYTY4MDhmNDFkMjEwNGEyYTY0MGUwLi5hNThhYzliYzcyZjBhMzZhMjVkNzg3
ZmFmMDkxN2JiNzczMzA0NjQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9j
YWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtl
ci9jYWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwxNSArMSwxNSBAQAogCi1GQUlM
IENhY2hlLmtleXMoKSBjYWxsZWQgb24gYW4gZW1wdHkgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCi1GQUlMIENhY2hlLmtleXMgd2l0aCBubyBtYXRjaGluZyBlbnRyaWVzIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
Tm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggVVJMIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGlt
cGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRoIG5ldyBSZXF1ZXN0IHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGlt
cGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVx
dWVzdCB3aXRoIG5vIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
LUZBSUwgQ2FjaGUua2V5cyB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBz
ZWFyY2ggcGFyYW1ldGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmtl
eXMgc3VwcG9ydHMgaWdub3JlTWV0aG9kIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBD
YWNoZS5rZXlzIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1G
QUlMIENhY2hlLmtleXMgd2l0aCBVUkwgY29udGFpbmluZyBmcmFnbWVudCBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRoIHN0cmluZyBmcmFnbWVudCAiaHR0cCIg
YXMgcXVlcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmtleXMgd2l0aG91
dCBwYXJhbWV0ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdp
dGggYSBIRUFEIFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmtl
eXMoKSBjYWxsZWQgb24gYW4gZW1wdHkgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUua2V5cyB3aXRoIG5vIG1hdGNoaW5nIGVudHJpZXMgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVk
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5cyB3aXRoIFVSTCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGggUmVxdWVzdCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGggbmV3
IFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5
cyB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBubyBzZWFyY2ggcGFyYW1l
dGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5cyB3
aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBzZWFyY2ggcGFyYW1ldGVycykg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5cyBzdXBwb3J0
cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2Fj
aGUua2V5cyBzdXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCitGQUlMIENhY2hlLmtleXMgd2l0aCBVUkwgY29udGFpbmluZyBmcmFnbWVudCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGggc3RyaW5nIGZy
YWdtZW50ICJodHRwIiBhcyBxdWVyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgor
RkFJTCBDYWNoZS5rZXlzIHdpdGhvdXQgcGFyYW1ldGVycyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGlt
cGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGggYSBIRUFEIFJlcXVlc3QgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVk
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93
b3JrZXIvY2FjaGUtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93
b3JrZXIvY2FjaGUtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDU3YTUxY2Y5YmE0OWQ5
NWU3YTU3ZmI5Y2E1NWYyNmI1MDNmNjhiYzEuLmNlNmJlNTM3ZTFhZTk4NjY3ZGQ4MzFlYzQ5ZTNm
NGY4MTRmMGExMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLW1h
dGNoLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNo
ZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMjIgKzEsMjIgQEAKIAotRkFJTCBDYWNo
ZS5tYXRjaCB3aXRoIG5vIG1hdGNoaW5nIGVudHJpZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlLm1hdGNoIHdpdGggVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJ
TCBDYWNoZS5tYXRjaCB3aXRoIFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLm1hdGNoIHdpdGggbXVsdGlwbGUgY2FjaGUgaGl0cyBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBuZXcgUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBIRUFEIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVu
dGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qg
d2l0aCBubyBzZWFyY2ggcGFyYW1ldGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLm1hdGNoIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIHNlYXJj
aCBwYXJhbWV0ZXIpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCBz
dXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
Lm1hdGNoIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLm1hdGNoIHdpdGggVVJMIGNvbnRhaW5pbmcgZnJhZ21lbnQgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggc3RyaW5nIGZyYWdtZW50ICJodHRwIiBh
cyBxdWVyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBy
ZXNwb25zZXMgY29udGFpbmluZyAiVmFyeSIgaGVhZGVyIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgotRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFJlcXVlc3QgYW5kIFJlc3BvbnNlIG9iamVjdHMgd2l0
aCBkaWZmZXJlbnQgVVJMcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0
Y2ggaW52b2tlZCBtdWx0aXBsZSB0aW1lcyBmb3IgdGhlIHNhbWUgUmVxdWVzdC9SZXNwb25zZSBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggYmxvYiBzaG91bGQgYmUg
c2xpY2VhYmxlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3aXRo
IFBPU1QgUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2gg
d2l0aCBhIG5vbi0yeHggUmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENh
Y2hlLm1hdGNoIHdpdGggYSBuZXR3b3JrIGVycm9yIFJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgotRkFJTCBDYWNoZSBwcm9kdWNlcyBsYXJnZSBSZXNwb25zZXMgdGhhdCBjYW4gYmUg
Y2xvbmVkIGFuZCByZWFkIGNvcnJlY3RseS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlLm1hdGNoIHdpdGggbm8gbWF0Y2hpbmcgZW50cmllcyBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90
IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFVSTCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjog
Tm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFJlcXVlc3QgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVk
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBtdWx0aXBsZSBj
YWNoZSBoaXRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1h
dGNoIHdpdGggbmV3IFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZB
SUwgQ2FjaGUubWF0Y2ggd2l0aCBIRUFEIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CitGQUlMIENhY2hlLm1hdGNoIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRo
IG5vIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgor
RkFJTCBDYWNoZS5tYXRjaCB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBz
ZWFyY2ggcGFyYW1ldGVyKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZS5tYXRjaCBzdXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggc3VwcG9ydHMgaWdub3JlVmFyeSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRF
cnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFVSTCBjb250YWlu
aW5nIGZyYWdtZW50IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hl
Lm1hdGNoIHdpdGggc3RyaW5nIGZyYWdtZW50ICJodHRwIiBhcyBxdWVyeSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJv
cjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIHJlc3BvbnNlcyBjb250
YWluaW5nICJWYXJ5IiBoZWFkZXIgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZB
SUwgQ2FjaGUubWF0Y2ggd2l0aCBSZXF1ZXN0IGFuZCBSZXNwb25zZSBvYmplY3RzIHdpdGggZGlm
ZmVyZW50IFVSTHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUu
bWF0Y2ggaW52b2tlZCBtdWx0aXBsZSB0aW1lcyBmb3IgdGhlIHNhbWUgUmVxdWVzdC9SZXNwb25z
ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCBibG9i
IHNob3VsZCBiZSBzbGljZWFibGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZB
SUwgQ2FjaGUubWF0Y2ggd2l0aCBQT1NUIFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBhIG5vbi0yeHggUmVzcG9uc2UgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9y
dGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBhIG5ldHdv
cmsgZXJyb3IgUmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwg
Q2FjaGUgcHJvZHVjZXMgbGFyZ2UgUmVzcG9uc2VzIHRoYXQgY2FuIGJlIGNsb25lZCBhbmQgcmVh
ZCBjb3JyZWN0bHkuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLW1hdGNoQWxsLmh0dHBzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLW1hdGNoQWxsLmh0dHBzLWV4cGVj
dGVkLnR4dAppbmRleCA2MmJmMzYzMzMyZTM1MWU2M2M2ZjIzZjY0OTU2NTdkNjk0NjQ4ZGE3Li43
NzA0NDg3MjI3YjM1NDkzZTQzNDYzNmNhODFmOGI2NTlhYWU4M2U4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9j
YWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1tYXRjaEFsbC5odHRwcy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtbWF0Y2hBbGwuaHR0cHMtZXhwZWN0ZWQu
dHh0CkBAIC0xLDE2ICsxLDE2IEBACiAKLUZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBubyBtYXRj
aGluZyBlbnRyaWVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaEFs
bCB3aXRoIFVSTCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2hBbGwg
d2l0aCBSZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaEFs
bCB3aXRoIG5ldyBSZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5t
YXRjaEFsbCB3aXRoIEhFQUQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1h
dGNoQWxsIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIG5vIHNlYXJjaCBw
YXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2hBbGwg
d2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uIChyZXF1ZXN0IHdpdGggc2VhcmNoIHBhcmFtZXRlcnMp
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaEFsbCBzdXBwb3J0cyBp
Z25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoQWxs
IHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
Lm1hdGNoQWxsIHdpdGggVVJMIGNvbnRhaW5pbmcgZnJhZ21lbnQgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggc3RyaW5nIGZyYWdtZW50ICJodHRwIiBh
cyBxdWVyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0
aG91dCBwYXJhbWV0ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRj
aEFsbCB3aXRoIHJlc3BvbnNlcyBjb250YWluaW5nICJWYXJ5IiBoZWFkZXIgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggbXVsdGlwbGUgdmFyeSBwYWly
cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBubyBt
YXRjaGluZyBlbnRyaWVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENh
Y2hlLm1hdGNoQWxsIHdpdGggVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitG
QUlMIENhY2hlLm1hdGNoQWxsIHdpdGggUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxl
bWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRoIG5ldyBSZXF1ZXN0IHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggSEVBRCBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRoIGln
bm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBubyBzZWFyY2ggcGFyYW1ldGVycykgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBp
Z25vcmVTZWFyY2ggb3B0aW9uIChyZXF1ZXN0IHdpdGggc2VhcmNoIHBhcmFtZXRlcnMpIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHN1cHBvcnRz
IGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNo
ZS5tYXRjaEFsbCBzdXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggVVJMIGNvbnRhaW5pbmcgZnJhZ21lbnQg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0
aCBzdHJpbmcgZnJhZ21lbnQgImh0dHAiIGFzIHF1ZXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGhvdXQgcGFyYW1ldGVycyBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRoIHJlc3Bv
bnNlcyBjb250YWluaW5nICJWYXJ5IiBoZWFkZXIgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBtdWx0aXBsZSB2YXJ5IHBhaXJzIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3Jh
Z2Uvd29ya2VyL2NhY2hlLXB1dC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdl
L3dvcmtlci9jYWNoZS1wdXQuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDg5ODhkODU0NDEwNzBi
YmJiMWE2NGRiYWI4YWQ3N2E4ZDJkMGFjOGYuLmY2YWFkYWViZTNkOWM1OWJmZTA4YTVjZjU2ZTk4
NWRhM2MzMTMyNTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXB1
dC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUt
cHV0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwyNSArMSwyNSBAQAogCi1GQUlMIENhY2hlLnB1
dCBjYWxsZWQgd2l0aCBzaW1wbGUgUmVxdWVzdCBhbmQgUmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCBjYWxsZWQgd2l0aCBSZXF1ZXN0IGFuZCBSZXNwb25z
ZSBmcm9tIGZldGNoKCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3
aXRoIFJlcXVlc3Qgd2l0aG91dCBhIGJvZHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLnB1dCB3aXRoIFJlc3BvbnNlIHdpdGhvdXQgYSBib2R5IHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBhIFJlc3BvbnNlIGNvbnRhaW5pbmcgYW4gZW1w
dHkgVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBhbiBl
bXB0eSByZXNwb25zZSBib2R5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5w
dXQgd2l0aCBzeW50aGV0aWMgMjA2IHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgot
RkFJTCBDYWNoZS5wdXQgd2l0aCBIVFRQIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggSFRUUCA1MDAgcmVzcG9uc2UgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCBjYWxsZWQgdHdpY2Ugd2l0aCBtYXRjaGluZyBS
ZXF1ZXN0cyBhbmQgZGlmZmVyZW50IFJlc3BvbnNlcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
LUZBSUwgQ2FjaGUucHV0IGNhbGxlZCB0d2ljZSB3aXRoIHJlcXVlc3QgVVJMcyB0aGF0IGRpZmZl
ciBvbmx5IGJ5IGEgZnJhZ21lbnQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
LnB1dCB3aXRoIGEgc3RyaW5nIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLnB1dCB3aXRoIGFuIGludmFsaWQgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIGEgbm9uLUhUVFAvSFRUUFMgcmVxdWVzdCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggYSByZWxhdGl2ZSBVUkwgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIGEgbm9uLUdFVCByZXF1
ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBhIG51bGwg
cmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIGEg
UE9TVCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0
aCBhIHVzZWQgcmVzcG9uc2UgYm9keSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgZ2V0
UmVhZGVyKCkgYWZ0ZXIgQ2FjaGUucHV0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBD
YWNoZS5wdXQgd2l0aCBhIFZBUlk6KiBSZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
LUZBSUwgQ2FjaGUucHV0IHdpdGggYW4gZW1iZWRkZWQgVkFSWToqIFJlc3BvbnNlIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
Tm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgc2hvdWxkIHN0b3JlIFJlc3BvbnNlLnJl
ZGlyZWN0KCkgY29ycmVjdGx5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5w
dXQgY2FsbGVkIHdpdGggc2ltcGxlIFJlcXVlc3QgYW5kIFJlc3BvbnNlIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCBjYWxsZWQgd2l0aCBSZXF1ZXN0IGFu
ZCBSZXNwb25zZSBmcm9tIGZldGNoKCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
K0ZBSUwgQ2FjaGUucHV0IHdpdGggUmVxdWVzdCB3aXRob3V0IGEgYm9keSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJv
cjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBSZXNwb25zZSB3aXRob3V0
IGEgYm9keSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQg
d2l0aCBhIFJlc3BvbnNlIGNvbnRhaW5pbmcgYW4gZW1wdHkgVVJMIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIGFuIGVtcHR5IHJlc3BvbnNlIGJv
ZHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
Tm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGgg
c3ludGhldGljIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgor
RkFJTCBDYWNoZS5wdXQgd2l0aCBIVFRQIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90
IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBIVFRQIDUwMCByZXNwb25zZSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgY2FsbGVkIHR3aWNl
IHdpdGggbWF0Y2hpbmcgUmVxdWVzdHMgYW5kIGRpZmZlcmVudCBSZXNwb25zZXMgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVk
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IGNhbGxlZCB0d2ljZSB3aXRo
IHJlcXVlc3QgVVJMcyB0aGF0IGRpZmZlciBvbmx5IGJ5IGEgZnJhZ21lbnQgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYSBzdHJpbmcgcmVxdWVz
dCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBh
biBpbnZhbGlkIHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlLnB1dCB3aXRoIGEgbm9uLUhUVFAvSFRUUFMgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjog
Tm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBhIHJlbGF0aXZlIFVSTCBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBhIG5vbi1H
RVQgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5w
dXQgd2l0aCBhIG51bGwgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
K0ZBSUwgQ2FjaGUucHV0IHdpdGggYSBQT1NUIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYSB1c2VkIHJlc3BvbnNlIGJvZHkgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgZ2V0UmVhZGVyKCkgYWZ0ZXIgQ2Fj
aGUucHV0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3
aXRoIGEgVkFSWToqIFJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitG
QUlMIENhY2hlLnB1dCB3aXRoIGFuIGVtYmVkZGVkIFZBUlk6KiBSZXNwb25zZSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRF
cnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgc2hvdWxkIHN0b3JlIFJlc3Bv
bnNlLnJlZGlyZWN0KCkgY29ycmVjdGx5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2Uta2V5
cy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9y
YWdlLWtleXMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDFkODFlZDM0MmZjMDJlNGM2NjgxYWQw
MmQ4YzUzYzYyYjIzNDdhNzAuLmJmYTk2Y2QyYWRiY2U2NmQzNzIwODY2MmYyNzkxZGM1OWM0ZGQ0
OTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2Uta2V5
cy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUt
c3RvcmFnZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBD
YWNoZVN0b3JhZ2Uga2V5cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9y
YWdlIGtleXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBz
LWV4cGVjdGVkLnR4dAppbmRleCBmZGVhZmU5MzY2ZTlmNTk5OTQ3ZDIwMzU5YWYwYTU3NGIzYzJk
NmYzLi5lNzgwNTA0MzU3MTQ3MTQzYzk1ZTliODQyNTYwNzk3OWVkMjBiOTNlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0dHBzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLW1hdGNo
Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwxMyBAQAogCi1GQUlMIENhY2hlU3RvcmFn
ZU1hdGNoIHdpdGggbm8gY2FjaGUgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2YgbWFueSBjYWNoZXMgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIGZyb20gb25lIG9mIG1h
bnkgY2FjaGVzIGJ5IG5hbWUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3Rv
cmFnZU1hdGNoIGEgc3RyaW5nIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlU3RvcmFnZU1hdGNoIGEgSEVBRCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgotRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlZCBlbnRyeSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBjYWNoZXMgYXZh
aWxhYmxlIGJ1dCBuYW1lIHByb3ZpZGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBD
YWNoZVN0b3JhZ2VNYXRjaCB3aXRoIGVtcHR5IGNhY2hlIG5hbWUgcHJvdmlkZWQgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIHN1cHBvcnRzIGlnbm9yZVNl
YXJjaCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggc3VwcG9ydHMg
aWdub3JlTWV0aG9kIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2VN
YXRjaCBzdXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlIG5hbWUgcHJvdmlkZWQgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2Yg
bWFueSBjYWNoZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVT
dG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2YgbWFueSBjYWNoZXMgYnkgbmFtZSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJv
cjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBhIHN0cmluZyByZXF1
ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZU1h
dGNoIGEgSEVBRCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGVkIGVudHJ5IHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGVzIGF2
YWlsYWJsZSBidXQgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVk
IgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIGVtcHR5IGNhY2hlIG5hbWUgcHJvdmlkZWQg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2gg
c3VwcG9ydHMgaWdub3JlU2VhcmNoIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitG
QUlMIENhY2hlLm1hdGNoIHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90
IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBzdXBwb3J0cyBpZ25vcmVWYXJ5
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5v
dFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hl
LXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQKaW5kZXgg
MDAxZTZlMzNiZDdhYjM0ZWE3MzVhY2FkZjk0MjBjYWUxMDgyOWI2MS4uOGMzMGU2ODhhYTA2ZDY4
ZWVlYjIwZmE2M2UzNmY0MDcyNGRjNDNlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93
b3JrZXIvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMTIgKzEs
MTIgQEAKIAotRkFJTCBDYWNoZVN0b3JhZ2Uub3BlbiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
LUZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0ZSBkb29tcywgYnV0IGRvZXMgbm90IGRlbGV0ZSBpbW1l
ZGlhdGVseSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLm9wZW4g
d2l0aCBhbiBlbXB0eSBuYW1lIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0
b3JhZ2Uub3BlbiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0
b3JhZ2UuZGVsZXRlIGRvb21zLCBidXQgZG9lcyBub3QgZGVsZXRlIGltbWVkaWF0ZWx5IHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGgg
YW4gZW1wdHkgbmFtZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgogUEFTUyBDYWNo
ZVN0b3JhZ2Uub3BlbiB3aXRoIG5vIGFyZ3VtZW50cyAKLUZBSUwgQ2FjaGVTdG9yYWdlLmhhcyB3
aXRoIGV4aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0
b3JhZ2UuaGFzIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggZXhpc3RpbmcgY2FjaGUgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBleGlzdGluZyBjYWNo
ZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0ZSB3aXRo
IG5vbmV4aXN0ZW50IGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZVN0
b3JhZ2UgbmFtZXMgYXJlIERPTVN0cmluZ3Mgbm90IFVTVlN0cmluZ3MgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZS5oYXMgd2l0aCBleGlzdGluZyBjYWNoZSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorUEFTUyBDYWNoZVN0b3JhZ2UuaGFzIHdpdGgg
bm9uZXhpc3RlbnQgY2FjaGUgCitGQUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggZXhpc3Rpbmcg
Y2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdl
LmRlbGV0ZSB3aXRoIGV4aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCitQQVNTIENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBub25leGlzdGVudCBjYWNoZSAKK0ZB
SUwgQ2FjaGVTdG9yYWdlIG5hbWVzIGFyZSBET01TdHJpbmdzIG5vdCBVU1ZTdHJpbmdzIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318151</attachid>
            <date>2017-08-15 12:48:19 -0700</date>
            <delta_ts>2017-08-15 14:04:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175455-20170815124818.patch</filename>
            <type>text/plain</type>
            <size>172977</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNzI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzFmOTA3YjY0NDhhZGVj
MzE3OTNmMTkwMjY2YjdjYWIxYzQ5Y2M0MS4uMjJjY2Q1OGE5YWNlNDdiNjgzOTUwNWQ2YWUyMzE4
NWQ1MGE5NDE4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0MyBAQAorMjAxNy0wOC0xNSAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0gQWRk
aW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4
aXN0aW5nIHRlc3RzLgorCisgICAgICAgIEFkZGluZyBhIENhY2hlU3RvcmFnZVByb3ZpZGVyIGFi
c3RyYWN0aW9uIHRoYXQgY3JlYXRlcyBhIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uCisgICAgICAg
IFRoZSBDYWNoZVN0b3JhZ2VQcm92aWRlciBpcyBhY2Nlc3NlZCBmcm9tIHRoZSBwYWdlIGZvciBE
b2N1bWVudCBjYWxscy4KKyAgICAgICAgVGhlIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24gaXMgcmVz
cG9uc2libGUgdG8gaW1wbGVtZW50IHRoZSByZWFkL3dyaXRlIG9wZXJhdGlvbnMgb24gdGhlIGNh
Y2hlIGRhdGFiYXNlLgorICAgICAgICBBdCB0aGUgbW9tZW50LCBpdCBkb2VzIG5vdGhpbmcgYnV0
IHJldHVybiBub3QgaW1wbGVtZW50ZWQgZXJyb3JzLgorCisgICAgICAgIEltcGxlbWVudGluZyBD
YWNoZVN0b3JhZ2UgQVBJcyBhbmQgQ2FjaGUgQVBJcyBiYXNlZCBvbiB0aGUgQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbiBleGNlcHQgZm9yIENhY2hlIGFkZCBhbmQgYWRkQWxsIHdoaWNoIHdpbGwgYmUg
aW1wbGVtZW50ZWQgbGF0ZXIgb24uCisgICAgICAgIENhY2hlU3RvcmFnQ29ubmVjdGlvbiBpcyBy
ZXNwb25zaWJsZSB0byByZWFkL3dyaXRlIENhY2hlU3RvcmFnZSBsaXN0IG9mIGNhY2hlcyBhbmQg
ZWFjaCBpbmRpdmlkdWFsIGNhY2hlLgorICAgICAgICBUaGUgQ2FjaGVTdG9yYWdlQ29ubmVjdGlv
biBpcyBhIGdlbmVyaWMgY29ubmVjdGlvbiBhbmQgbm90IHRpZWQgdG8gYW55IGRvY3VtZW50L2Nv
bnRleHQuCisgICAgICAgIENhY2hlU3RvcmFnZSBvYmplY3RzIGFyZSBtYW5pcHVsYXRlZCBieSBw
cm92aWRpbmcgdG8gdGhlIGNvbm5lY3Rpb24gdGhlIG9yaWdpbiBvZiB0aGUgY29udGV4dC4KKyAg
ICAgICAgQ2FjaGVTdG9yYWdlIGFyZSBnbG9iYWwgdG8gYWxsIGNvbnRleHRzIHdpdGggdGhlIHNh
bWUgb3JpZ2luLgorICAgICAgICBDYWNoZSBvYmplY3RzIGFyZSBtYW5pcHVsYXRlZCBieSBhbiBJ
RCB0aGF0IGlzIGdpdmVuIGluaXRpYWxseSBieSB0aGUgQ2FjaGVTdG9yYWdlRW5naW5lIHdoZW4g
b3BlbmluZyB0aGUgQ2FjaGUgb2JqZWN0LgorCisgICAgICAgIEFkZGluZyB2YXJpb3VzIGFjY2Vz
c29ycyBhbmQgY29uc3RydWN0b3JzIGZvciBGZXRjaCBjb25zdHJ1Y3RzIGFzIG5lZWRlZCBieSB0
aGUgQ2FjaGUgQVBJIGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogTW9kdWxlcy9jYWNoZS9D
YWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6Q2FjaGUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGU6On5DYWNoZSk6CisgICAgICAgIFRoZSBDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
IGlzIGEgZ2VuZXJpYyBjb25uZWN0aW9uIGFuZCBub3QgdGllZCB0byBhbnkgZG9jdW1lbnQvY29u
dGV4dC4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjptYXRjaCk6IEltcGxlbWVudGF0aW9uIG9m
IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtbWF0Y2guCisg
ICAgICAgIFJlZGlyZWN0IHRvIG1hdGNoQWxsIGFzIHBlciBzcGVjLgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGU6Om1hdGNoQWxsKTogSW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93d3cudzMub3Jn
L1RSL3NlcnZpY2Utd29ya2Vycy0xLyNjYWNoZS1tYXRjaEFsbC4KKyAgICAgICAgQ2hlY2tzIGZv
ciByZXF1ZXN0IGFzIHBlciBzcGVjLiBUaGVuIGVpdGhlciByZWZyZXNoIHRoZSByZXF1ZXN0IHRv
IHJlc3BvbnNlIG1hcCBhbmQgcmV0dXJuIGFsbCByZXNwb25zZXMuCisgICAgICAgIE9yIGNhbGwg
dGhlIHF1ZXJ5IGNhY2hlIGFsZ29yaXRobSBhbmQgcmV0dXJuIGNvcGllcyBvZiB0aGUgcmVzcG9u
c2VzICh1c2luZyBjbG9uZSkuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6cHV0KToKKyAgICAg
ICAgQ2hlY2sgdGhlIHJlcXVlc3QgYW5kIHJlc3BvbnNlIGFzIHBlciBzcGVjLgorICAgICAgICBB
ZGQgdGVtcG9yYXJ5IHJlamVjdGlvbiBjYXNlcyAoYmVpbmcgbG9hZGVkIHJlc3BvbnNlcywgcmVz
cG9uc2VzIHdpdGggUmVhZGFibGVTdHJlYW0pIGFzIHRoZXJlIGlzIG5vIHN1cHBvcnQgZm9yIHRo
ZW0gcmlnaHQgbm93LgorICAgICAgICBDYWxsIHRoZSBiYXRjaCBwdXQgb3BlcmF0aW9uLgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGU6OnJlbW92ZSk6CisgICAgICAgIENoZWNrIHRoZSByZXF1ZXN0
IGFuZCByZXNwb25zZSBhcyBwZXIgc3BlYy4KKyAgICAgICAgQ2FsbCB0aGUgYmF0Y2ggZGVsZXRl
IG9wZXJhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjprZXlzKToKKyAgICAgICAgUmVm
cmVzaCB0aGUgcmVxdWVzdCB0byByZXNwb25zZSBtYXAgYW5kIHJldHVybiBjb3JyZXNwb25kaW5n
IHJlcXVlc3RzLgorICAgICAgICBNYWtpbmcgc3VyZSB0byByZXVzZSB0aGUgc2FtZSByZXF1ZXN0
IG9iamVjdHMgYXMgcGVyIHNwZWMuCisgICAgICAgIEFzIHBlciBzcGVjLCB0aGUgcmVxdWVzdCB0
byByZXNwb25zZSBtYXAgaXMgb3JkZXJlZC4gV2UgaW1wbGVtZW50IGl0IGFzIGEgVmVjdG9yLgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnJlZnJlc2hSZXF1ZXN0VG9SZXNwb25zZU1hcCk6Cisg
ICAgICAgIFVzZSB0aGUgY2FjaGUgc3RvcmFnZSBjb25uZWN0aW9uIHRvIGdldCBhbiB1cC10by1k
YXRlIGxpc3Qgb2YgY2FjaGVkIHJlY29yZHMuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6cXVl
cnlDYWNoZU1hdGNoKToKKyAgICAgICAgSW1wbGVtZW50cyB0aGUgbWF0Y2ggYWxnb3JpdGhtIGRl
ZmluZWQgaW4gaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNxdWVyeS1j
YWNoZS1hbGdvcml0aG0uCisgICAgICAgIFRoaXMgaXMgc3BsaXQgZm9yIHF1ZXJ5Q2FjaGUgYXMg
Y2FjaGUgc3RvcmFnZSBlbmdpbmUgd2lsbCBuZWVkIHRvIHVzZSBpdCB3aGVuIGltcGxlbWVudGlu
ZyB0aGUgZGVsZXRlIG9wZXJhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlOjpxdWVyeUNh
Y2hlKToKKyAgICAgICAgRnVsbCBpbXBsZW1lbnRhdGlvbiBvZiBodHRwczovL3d3dy53My5vcmcv
VFIvc2VydmljZS13b3JrZXJzLTEvI3F1ZXJ5LWNhY2hlLWFsZ29yaXRobSB3aXRoIG5vIHRhcmdl
dFN0b3JhZ2UgYXJndW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6cXVlcnlDYWNoZVdp
dGhUYXJnZXRTdG9yYWdlKToKKyAgICAgICAgRnVsbCBpbXBsZW1lbnRhdGlvbiBvZiBodHRwczov
L3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEvI3F1ZXJ5LWNhY2hlLWFsZ29yaXRobSB3
aXRoIGEgcHJvdmlkZWQgdGFyZ2V0U3RvcmFnZSBhcmd1bWVudC4KKyAgICAgICAgKFdlYkNvcmU6
OkNhY2hlOjpiYXRjaERlbGV0ZU9wZXJhdGlvbik6CisgICAgICAgIEltcGxlbWVudGF0aW9uIG9m
IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jYmF0Y2gtY2FjaGUtb3Bl
cmF0aW9ucy1hbGdvcml0aG0gYnV0IGRlZGljYXRlZCB0byBhIGRlbGV0ZSBvcGVyYXRpb24uCisg
ICAgICAgIERlbGV0ZSBvcGVyYXRpb24gYXJlIGFsd2F5cyBkb25lIG9uZSBhdCBhIHRpbWUuCisg
ICAgICAgIChXZWJDb3JlOjpDYWNoZTo6YmF0Y2hQdXRPcGVyYXRpb24pOgorICAgICAgICBJbXBs
ZW1lbnRhdGlvbiBvZiBodHRwczovL3d3dy53My5vcmcvVFIvc2VydmljZS13b3JrZXJzLTEvI2Jh
dGNoLWNhY2hlLW9wZXJhdGlvbnMtYWxnb3JpdGhtIGRlZGljYXRlZCB0byBhIHB1dCBvcGVyYXRp
b24uCisgICAgICAgIFB1dCBvcGVyYXRpb24gdGFrZXMgb25lIHJlY29yZCBmb3IgcHV0IGJ1dCBj
YW4gdGFrZSBzZXZlcmFsIHJlY29yZHMgaW4gdGhlIGNhc2Ugb2YgYWRkQWxsLCBoZW5jZSB0aGUg
Y3VycmVudCBkZXNpZ24uCisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6dXBkYXRlUmVxdWVzdFRv
UmVzcG9uc2VNYXApOgorICAgICAgICBVcGRhdGUgdGhlIGNhY2hlIHJlcXVlc3QgdG8gcmVzcG9u
c2UgbWFwIGJhc2VkIG9uIHRoZSByZWNvcmRzIHJldHJpZXZlZCBmcm9tIHRoZSBjYWNoZSBzdG9y
YWdlIGNvbm5lY3Rpb24uCisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZTo6bmFt
ZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZS5pZGw6CisgICAgICAgICog
TW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVT
dG9yYWdlOjpvcmlnaW4gY29uc3QpOgorICAgICAgICBDb21wdXRpbmcgdGhlIGNhY2hlIG9yaWdp
biB0aGF0IGlzIHBhc3NlZCB0byB0aGUgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi4KKyAgICAgICAg
KFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6aGFzKToKKyAgICAgICAgSW1wbGVtZW50YXRpb24gb2Yg
aHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy0xLyNjYWNoZS1zdG9yYWdlLWhh
cy4KKyAgICAgICAgQ2FsbCB0aGUgY2FjaGUgc3RvcmFnZSBjb25uZWN0aW9uIHRvIHJlZnJlc2gg
aXRzIGNhY2hlIG1hcC4KKyAgICAgICAgVGhlbiB1c2UgaXQgdG8gY2hlY2sgd2hldGhlciBhIGNh
Y2hlIGV4aXN0cy4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6cmVmcmVzaENhY2hl
TWFwKToKKyAgICAgICAgVXNlIHRoZSBjYWNoZSBzdG9yYWdlIGNvbm5lY3Rpb24gdG8gZ2V0IHRo
ZSBsaXN0IG9mIGV4aXN0aW5nIGNhY2hlcy4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFn
ZTo6b3Blbik6CisgICAgICAgIEltcGxlbWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9zZXJ2aWNlLXdvcmtlcnMtMS8jY2FjaGUtc3RvcmFnZS1vcGVuLgorICAgICAgICBSZWZyZXNo
aW5nIHRoZSBjYWNoZSBtYXAgc28gYXMgdG8gcmV0dXJuIGEgcHJlLWV4aXN0aW5nIGNhY2hlIGlm
IGFueS4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6cmVtb3ZlKToKKyAgICAgICAg
SW1wbGVtZW50YXRpb24gb2YgaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlcnZpY2Utd29ya2Vycy0x
LyNjYWNoZS1zdG9yYWdlLWRlbGV0ZS1tZXRob2QuCisgICAgICAgIFJlZnJlc2hpbmcgdGhlIGNh
Y2hlIG1hcCBzbyBhcyB0byBkbyBub3RoaW5nIGlmIHRoZXJlIGlzIG5vIGNhY2hlIHRvIHJlbW92
ZS4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZTo6a2V5cyk6CisgICAgICAgIEltcGxl
bWVudGF0aW9uIG9mIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9zZXJ2aWNlLXdvcmtlcnMtMS8jY2Fj
aGUtc3RvcmFnZS1rZXlzLW1ldGhvZC4KKyAgICAgICAgUmVmcmVzaGluZyB0aGUgY2FjaGUgbWFw
IGFuZCByZXR1cm5pbiBpdHMga2V5cy4KKyAgICAgICAgQXMgcGVyIHNwZWMsIHRoZSBjYWNoZSBt
YXAgaXMgb3JkZXJlZC4gV2UgaW1wbGVtZW50IGl0IGFzIGEgVmVjdG9yLgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGVTdG9yYWdlOjpjYWNoZU1hcCk6CisgICAgICAgIEdldCB0aGUgbGlzdCBvZiBj
YWNoZSBvYmplY3RzLCB1c2VkIGFzIGEgcHJpdmF0ZSBhY2Nlc3NvciBmb3IgSlMgYnVpbHQtaW5z
LgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmg6CisgICAgICAgIChXZWJD
b3JlOjpDYWNoZVN0b3JhZ2U6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3Jh
Z2U6OkNhY2hlU3RvcmFnZSk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VD
b25uZWN0aW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VDb25u
ZWN0aW9uOjpleGNlcHRpb25Gcm9tRXJyb3IpOgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvQ2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbi5oOiBBZGRlZC4KKyAgICAgICAgTWFrZXMgdGhlIGxpbmsgYmV0
d2VlbiBXZWIgZmFjaW5nIENhY2hlIEFQSSBhbmQgdGhlIGNhY2hlIHN0b3JhZ2UgZW5naW5lLgor
ICAgICAgICBFbnZpc2lvbmVkIGltcGxlbWVudGF0aW9uIGFyZToKKyAgICAgICAgLSBPbmUgbWFp
biB0aHJlYWQgY29ubmVjdGlvbiB1c2VkIGJ5IGFsbCBkb2N1bWVudHMgaW4gdGhlIGdpdmVuIHBy
b2Nlc3MuCisgICAgICAgIC0gT25lIGNvbm5lY3Rpb24gcGVyIHdvcmtlciB0aGF0IGZvcndhcmRz
IHRoZSBjYWxscyB0byB0aGUgbWFpbiB0aHJlYWQgYW5kIHVzZSB0aGUgbWFpbiB0aHJlYWQgY29u
bmVjdGlvbiBhZnRlcndhcmRzLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29ubmVj
dGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246
Om9wZW4pOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6cmVtb3Zl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246OnJlZnJlc2hDYWNo
ZU1hcCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpyZWZyZXNo
UmVxdWVzdFRvUmVzcG9uc2VNYXApOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVTdG9yYWdlQ29u
bmVjdGlvbjo6YmF0Y2hEZWxldGVPcGVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVT
dG9yYWdlQ29ubmVjdGlvbjo6YmF0Y2hQdXRPcGVyYXRpb24pOgorICAgICAgICAqIE1vZHVsZXMv
Y2FjaGUvQ2FjaGVTdG9yYWdlUmVjb3JkLmg6IEFkZGVkLiBBIGZldGNoIHJlY29yZCBmcm9tIHRo
ZSBXZWIgZmFjaW5nIGNhY2hlIEFQSSBwZXJzcGVjdGl2ZS4KKyAgICAgICAgKiBNb2R1bGVzL2Nh
Y2hlL0RPTVdpbmRvd0NhY2hlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3dDYWNo
ZXM6OmNhY2hlcyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxT
Y29wZUNhY2hlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUNhY2hl
czo6ZnJvbSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6Y2Fj
aGVzIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2Fj
aGVzLmg6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6V29ya2Vy
R2xvYmFsU2NvcGVDYWNoZXMpOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3du
ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoQm9keU93bmVyOjppc1JlYWRhYmxlU3RyZWFt
Qm9keSBjb25zdCk6IEFkZGVkIGdldHRlciBhcyBpdCBpcyB1c2VkIGJ5IGNhY2hlIEFQSS4KKyAg
ICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5oOgorICAgICAgICAoV2ViQ29yZTo6
RmV0Y2hIZWFkZXJzOjpjcmVhdGUpOiBBZGQgYW5vdGhlciBjcmVhdGUgYXMgdXNlZCBieSB0aGUg
Y2FjaGUgQVBJLgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpndWFyZCBjb25zdCk6
IEFkZGVkIGdldHRlciBhbmQgSVBDIHNlcmlhbGl6ZXIgYXMgdGhpcyBpcyBzb21ldGhpbmcgdGhh
dCB3aWxsIGJlIHN0b3JlZCBieSB0aGUgY2FjaGUgZW5naW5lLgorICAgICAgICAqIE1vZHVsZXMv
ZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hMb2FkZXI6OnN0
YXJ0KToKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpidWlsZE9wdGlvbnMpOiBJbiBjYXNlIEZldGNoUmVxdWVzdDo6Y3JlYXRlIGlz
IGNhbGxlZCBmcm9tIEMrKywgdGhlcmUgaXMgbm8gbmVlZCB0byBzZXQgaW5pdC53aW5kb3cgdG8g
YSBudWxsIHZhbHVlLgorICAgICAgICBBZGQgYSBjaGVjayBzbyB0aGF0IG5vIHZhbHVlIGF0IGFs
bCBpcyB0aGUgc2FtZSBhcyBhIG51bGwvdW5kZWZpbmVkIHZhbHVlLgorICAgICAgICAoV2ViQ29y
ZTo6RmV0Y2hSZXF1ZXN0OjpyZXNvdXJjZVJlcXVlc3QgY29uc3QpOgorICAgICAgICAqIE1vZHVs
ZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0Lmg6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJl
c3BvbnNlLmg6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3Rvck92ZXJsYXk6Om92ZXJsYXlQYWdlKToKKyAgICAgICAgKiBwYWdlL0NhY2hl
U3RvcmFnZVByb3ZpZGVyLmg6IEFkZGVkLgorICAgICAgICBJbnRlcmZhY2UgdG8gY3JlYXRlIG1h
aW4gdGhyZWFkIGNhY2hlIHN0b3JhZ2UgY29ubmVjdGlvbiBmb3IgdGhlIGdpdmVuIHBhZ2UuCisg
ICAgICAgIFRoZXJlIHdpbGwgYmUgb25lIHByb3ZpZGVyIGZvciBlYWNoIHByb2Nlc3MuCisgICAg
ICAgIFBhc3NpbmcgYSBzZXNzaW9uSUQgc28gdGhhdCB3ZSB3aWxsIGNyZWF0ZSBhIGNvbm5lY3Rp
b24gcGVyIHNlc3Npb24uCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBhZ2U6OlBhZ2UpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2ViQ29y
ZTo6UGFnZTo6Y2FjaGVTdG9yYWdlUHJvdmlkZXIpOgorICAgICAgICAqIHBhZ2UvUGFnZUNvbmZp
Z3VyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbmZpZ3VyYXRpb246OlBhZ2VD
b25maWd1cmF0aW9uKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0aW9uLmg6CisgICAg
ICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lt
YWdlOjpkYXRhQ2hhbmdlZCk6CisKIDIwMTctMDgtMTQgIE15bGVzIEMuIE1heGZpZWxkICA8bW1h
eGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBQYXJzZSBmb250LWRpc3BsYXkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggNDc1ZDhkOTI3NGRmNDI5YTkwYjA5NmZjMjQwNDEyZWE2ODRhNzQxZC4uZTRlZGI0ZmI4Nzgz
MGFjM2Q3YjJhZmFhNzVlMmFlMWRjOWUzYTJmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAor
MjAxNy0wOC0xNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAg
W0NhY2hlIEFQSV0gQWRkaW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBD
YWNoZSBtZXRob2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzU0NTUKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAg
ICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nl
c3MvQ2FjaGUvV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaDogQWRkZWQuCisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjptX2NwdUxpbWl0
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nl
c3MuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6Y2FjaGVTdG9yYWdlUHJvdmlkZXIp
OgorCiAyMDE3LTA4LTE0ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbQXBwbGUgUGF5XSBBZGQgc3VwcG9ydCBmb3IgcGhvbmV0aWMgY29udGFjdCBuYW1lcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDlkOGEzZWQ3ZGJmZjNiY2QyNWFmZmFkYWJmMTg2
YmI1MmU2N2ViNzguLmU3MTQzMzQwODNiMWYxZjVjZmIwMmE5NzE3YjY4ZjBkODhmMjY3MWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0wOC0xNSAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NhY2hlIEFQSV0g
QWRkaW5nIGdlbmVyaWMgc3VwcG9ydCBmb3IgQ2FjaGVTdG9yYWdlIGFuZCBDYWNoZSBtZXRob2Rz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NTUK
KworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICAqIFdlYlZpZXcv
V2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRo
RnJhbWVOYW1lOmdyb3VwTmFtZTpdKToKKwogMjAxNy0wOC0xMyAgTWFudWVsIFJlZ28gQ2FzYXNu
b3ZhcyAgPHJlZ29AaWdhbGlhLmNvbT4KIAogICAgICAgICBDb21wb3NpdGlvbiB1bmRlcmxpbmUg
Y29sb3IgaXMgYWx3YXlzIGJsYWNrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKaW5kZXggN2M1
YmVhMTJiOTk2MzhiNGJhNTY1OTA3Zjc4OTQ3YWViMjk0YjUxNC4uY2Y2NjI1ZjliMWZlYWFlZTk3
NDAwNDc5NTg3NmZmZTVmN2MwOTkyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93
aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEzIEBACisyMDE3LTA4LTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KKworICAgICAgICBbQ2FjaGUgQVBJXSBBZGRpbmcgZ2VuZXJpYyBzdXBwb3J0IGZvciBDYWNo
ZVN0b3JhZ2UgYW5kIENhY2hlIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3NTQ1NQorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1
bWV6LgorCisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojppbml0V2l0
aEZyYW1lKToKKwogMjAxNy0wOC0xMyAgTWFudWVsIFJlZ28gQ2FzYXNub3ZhcyAgPHJlZ29AaWdh
bGlhLmNvbT4KIAogICAgICAgICBDb21wb3NpdGlvbiB1bmRlcmxpbmUgY29sb3IgaXMgYWx3YXlz
IGJsYWNrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGUzZjRjOTJiNjk4OGM4OWUyNzkxODZjZTJm
YTM0NzMwNDIwNmU3YjIuLjAyOWUyNzVjNDU5YmY4OTdhNTAxZGE1MGEzODllOGEyZDhkNzRkOTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC05MDAsNiArOTAwLDcgQEAgc2V0KFdlYkNvcmVfU09V
UkNFUwogCiAgICAgTW9kdWxlcy9jYWNoZS9DYWNoZS5jcHAKICAgICBNb2R1bGVzL2NhY2hlL0Nh
Y2hlU3RvcmFnZS5jcHAKKyAgICBNb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24u
Y3BwCiAgICAgTW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3BwCiAgICAgTW9kdWxlcy9j
YWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nh
Y2hlL0NhY2hlLmNwcAppbmRleCBlMTlhZjU1MDI5NTY0ZDk1NzQ1NDJiM2ViMzM0ODQzMjM4M2Y2
N2Q1Li4zN2VlODU4ZjM3ZDM4NWMyN2RiNWQ1ZDQ5YjM0OWJkNWRkYWNiZGRhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmNwcApAQCAtMjYsNDEgKzI2LDM0MCBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkNhY2hlLmgiCiAKKyNpbmNsdWRlICJDYWNoZVF1ZXJ5
T3B0aW9ucy5oIgorI2luY2x1ZGUgIkZldGNoUmVzcG9uc2UuaCIKKyNpbmNsdWRlICJIVFRQUGFy
c2Vycy5oIgorI2luY2x1ZGUgIkpTRmV0Y2hSZXF1ZXN0LmgiCisjaW5jbHVkZSAiSlNGZXRjaFJl
c3BvbnNlLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUg
IlVSTC5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgQ2FjaGU6Om1hdGNoKFJlcXVl
c3RJbmZvJiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIFJlZjxEZWZlcnJl
ZFByb21pc2U+JiYgcHJvbWlzZSkKK0NhY2hlOjpDYWNoZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBjb250ZXh0LCBTdHJpbmcmJiBuYW1lLCB1aW50NjRfdCBpZGVudGlmaWVyLCBSZWY8Q2FjaGVT
dG9yYWdlQ29ubmVjdGlvbj4mJiBjb25uZWN0aW9uKQorICAgIDogQWN0aXZlRE9NT2JqZWN0KCZj
b250ZXh0KQorICAgICwgbV9uYW1lKFdURk1vdmUobmFtZSkpCisgICAgLCBtX2lkZW50aWZpZXIo
aWRlbnRpZmllcikKKyAgICAsIG1fY29ubmVjdGlvbihXVEZNb3ZlKGNvbm5lY3Rpb24pKQorewor
ICAgIHN1c3BlbmRJZk5lZWRlZCgpOworfQorCitDYWNoZTo6fkNhY2hlKCkKK3sKK30KKwordm9p
ZCBDYWNoZTo6bWF0Y2goUmVxdWVzdEluZm8mJiBpbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9w
dGlvbnMsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBkb01hdGNoKFdU
Rk1vdmUoaW5mbyksIFdURk1vdmUob3B0aW9ucyksIFdURk1vdmUocHJvbWlzZSksIE1hdGNoVHlw
ZTo6T25seUZpcnN0KTsKK30KKwordm9pZCBDYWNoZTo6bWF0Y2hBbGwoc3RkOjpvcHRpb25hbDxS
ZXF1ZXN0SW5mbz4mJiBpbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIFJlZjxEZWZl
cnJlZFByb21pc2U+JiYgcHJvbWlzZSkKIHsKLSAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9u
IHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgZG9N
YXRjaChXVEZNb3ZlKGluZm8pLCBXVEZNb3ZlKG9wdGlvbnMpLCBXVEZNb3ZlKHByb21pc2UpLCBN
YXRjaFR5cGU6OkFsbCk7CiB9CiAKLXZvaWQgQ2FjaGU6Om1hdGNoQWxsKHN0ZDo6b3B0aW9uYWw8
UmVxdWVzdEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIE1hdGNo
QWxsUHJvbWlzZSYmIHByb21pc2UpCit2b2lkIENhY2hlOjpkb01hdGNoKHN0ZDo6b3B0aW9uYWw8
UmVxdWVzdEluZm8+JiYgaW5mbywgQ2FjaGVRdWVyeU9wdGlvbnMmJiBvcHRpb25zLCBSZWY8RGVm
ZXJyZWRQcm9taXNlPiYmIHByb21pc2UsIE1hdGNoVHlwZSBtYXRjaFR5cGUpCiB7Ci0gICAgcHJv
bWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBs
ZW1lbnRlZCIpfSk7CisgICAgUmVmUHRyPEZldGNoUmVxdWVzdD4gcmVxdWVzdDsKKyAgICBpZiAo
aW5mbykgeworICAgICAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWZQdHI8RmV0Y2hS
ZXF1ZXN0Pj4oaW5mby52YWx1ZSgpKSkgeworICAgICAgICAgICAgcmVxdWVzdCA9IFdURjo6Z2V0
PFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvLnZhbHVlKCkpLnJlbGVhc2VOb25OdWxsKCk7Cisg
ICAgICAgICAgICBpZiAocmVxdWVzdC0+bWV0aG9kKCkgIT0gIkdFVCIgJiYgIW9wdGlvbnMuaWdu
b3JlTWV0aG9kKSB7CisgICAgICAgICAgICAgICAgaWYgKG1hdGNoVHlwZSA9PSBNYXRjaFR5cGU6
Ok9ubHlGaXJzdCkgeworICAgICAgICAgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZlKCk7Cisg
ICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8RmV0Y2hSZXNw
b25zZT4+PihWZWN0b3I8UmVmPEZldGNoUmVzcG9uc2U+PiB7IH0pOworICAgICAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlm
IChVTkxJS0VMWSghc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgICAgICByZXF1ZXN0ID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUoKnNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSwgV1RGTW92ZShpbmZvLnZhbHVlKCkpLCB7IH0pLnJlbGVhc2VS
ZXR1cm5WYWx1ZSgpOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCFyZXF1ZXN0KSB7Cisg
ICAgICAgIEFTU0VSVChtYXRjaFR5cGUgPT0gTWF0Y2hUeXBlOjpBbGwpOworICAgICAgICByZXRy
aWV2ZVJlY29yZHMoW3RoaXMsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSgpIHsKKyAgICAg
ICAgICAgIFZlY3RvcjxSZWY8RmV0Y2hSZXNwb25zZT4+IHJlc3BvbnNlczsKKyAgICAgICAgICAg
IHJlc3BvbnNlcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1fcmVjb3Jkcy5zaXplKCkpOworICAg
ICAgICAgICAgZm9yIChhdXRvJiByZWNvcmQgOiBtX3JlY29yZHMpCisgICAgICAgICAgICAgICAg
cmVzcG9uc2VzLnVuY2hlY2tlZEFwcGVuZChyZWNvcmQucmVzcG9uc2UtPmNsb25lRm9ySlMoKSk7
CisgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElETFNlcXVlbmNlPElETEludGVyZmFjZTxG
ZXRjaFJlc3BvbnNlPj4+KHJlc3BvbnNlcyk7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm47
CisgICAgfQorICAgIHF1ZXJ5Q2FjaGUocmVxdWVzdC5yZWxlYXNlTm9uTnVsbCgpLCBXVEZNb3Zl
KG9wdGlvbnMpLCBbbWF0Y2hUeXBlLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oY29uc3Qg
VmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4mIHJlY29yZHMpIG11dGFibGUgeworICAgICAgICBp
ZiAobWF0Y2hUeXBlID09IE1hdGNoVHlwZTo6T25seUZpcnN0KSB7CisgICAgICAgICAgICBpZiAo
cmVjb3Jkcy5zaXplKCkpIHsKKyAgICAgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElETElu
dGVyZmFjZTxGZXRjaFJlc3BvbnNlPj4ocmVjb3Jkc1swXS5yZXNwb25zZS0+Y2xvbmVGb3JKUygp
KTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgICAgICBw
cm9taXNlLT5yZXNvbHZlKCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAg
ICAgICBWZWN0b3I8UmVmPEZldGNoUmVzcG9uc2U+PiByZXNwb25zZXM7CisgICAgICAgIHJlc3Bv
bnNlcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHJlY29yZHMuc2l6ZSgpKTsKKyAgICAgICAgZm9y
IChhdXRvJiByZWNvcmQgOiByZWNvcmRzKQorICAgICAgICAgICAgcmVzcG9uc2VzLnVuY2hlY2tl
ZEFwcGVuZChyZWNvcmQucmVzcG9uc2UtPmNsb25lRm9ySlMoKSk7CisgICAgICAgIHByb21pc2Ut
PnJlc29sdmU8SURMU2VxdWVuY2U8SURMSW50ZXJmYWNlPEZldGNoUmVzcG9uc2U+Pj4ocmVzcG9u
c2VzKTsKKyAgICB9KTsKIH0KIAogdm9pZCBDYWNoZTo6YWRkKFJlcXVlc3RJbmZvJiYsIERPTVBy
b21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS5yZWplY3QoRXhj
ZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7Cisg
ICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IsIEFTQ0lJTGl0
ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKIH0KIAogdm9pZCBDYWNoZTo6YWRkQWxsKFZlY3Rv
cjxSZXF1ZXN0SW5mbz4mJiwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlzZSkKIHsK
LSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgi
Tm90IGltcGxlbWVudGVkIil9KTsKKyAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBOb3RT
dXBwb3J0ZWRFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworfQorCit2
b2lkIENhY2hlOjpwdXQoUmVxdWVzdEluZm8mJiBpbmZvLCBSZWY8RmV0Y2hSZXNwb25zZT4mJiBy
ZXNwb25zZSwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlzZSkKK3sKKyAgICBSZWZQ
dHI8RmV0Y2hSZXF1ZXN0PiByZXF1ZXN0OworICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZl
PFJlZlB0cjxGZXRjaFJlcXVlc3Q+PihpbmZvKSkgeworICAgICAgICByZXF1ZXN0ID0gV1RGOjpn
ZXQ8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8pLnJlbGVhc2VOb25OdWxsKCk7CisgICAgICAg
IGlmIChyZXF1ZXN0LT5tZXRob2QoKSAhPSAiR0VUIikgeworICAgICAgICAgICAgcHJvbWlzZS5y
ZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIlJlcXVlc3QgbWV0aG9k
IGlzIG5vdCBHRVQiKSB9KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0g
ZWxzZSB7CisgICAgICAgIGlmIChVTkxJS0VMWSghc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSkK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgcmVxdWVzdCA9IEZldGNoUmVxdWVzdDo6Y3Jl
YXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFdURk1vdmUoaW5mbyksIHsgfSkucmVsZWFz
ZVJldHVyblZhbHVlKCk7CisgICAgfQorCisgICAgaWYgKCFwcm90b2NvbElzSW5IVFRQRmFtaWx5
KHJlcXVlc3QtPnVybCgpKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBU
eXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiUmVxdWVzdCB1cmwgaXMgbm90IEhUVFAvSFRUUFMiKSB9
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIEZJWE1FOiBUaGlzIGlzIGluZWZm
aWNpZW50LCB3ZSBzaG91bGQgYmUgYWJsZSB0byBzcGxpdCBhbmQgdHJpbSB3aGl0ZXNwYWNlcyBh
dCB0aGUgc2FtZSB0aW1lLgorICAgIGF1dG8gdmFyeVZhbHVlID0gcmVzcG9uc2UtPmhlYWRlcnMo
KS5pbnRlcm5hbEhlYWRlcnMoKS5nZXQoV2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6OlZhcnkpOwor
ICAgIFZlY3RvcjxTdHJpbmc+IHZhcnlIZWFkZXJOYW1lczsKKyAgICB2YXJ5VmFsdWUuc3BsaXQo
JywnLCBmYWxzZSwgdmFyeUhlYWRlck5hbWVzKTsKKyAgICBmb3IgKGF1dG8mIG5hbWUgOiB2YXJ5
SGVhZGVyTmFtZXMpIHsKKyAgICAgICAgaWYgKHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRUUFNw
YWNlcyhuYW1lKSA9PSAiKiIpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlv
biB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJSZXNwb25zZSBoYXMgYSAnKicgVmFyeSBoZWFk
ZXIgdmFsdWUiKSB9KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKwor
ICAgIGlmIChyZXNwb25zZS0+aXNEaXN0dXJiZWQoKSkgeworICAgICAgICBwcm9taXNlLnJlamVj
dChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiUmVzcG9uc2UgaXMgZGlzdHVy
YmVkIG9yIGxvY2tlZCIpIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHJl
c3BvbnNlLT5zdGF0dXMoKSA9PSAyMDYpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0
aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIlJlc3BvbnNlIGlzIGEgMjA2IHBhcnRpYWwi
KSB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9y
dCBmb3IgYmVpbmcgbG9hZGVkIHJlc3BvbnNlcy4KKyAgICBpZiAocmVzcG9uc2UtPmlzTG9hZGlu
ZygpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVy
cm9yLCBBU0NJSUxpdGVyYWwoIkNhY2hpbmcgYSBsb2FkaW5nIFJlc3BvbnNlIGlzIG5vdCB5ZXQg
c3VwcG9ydGVkIikgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyBGSVhNRTog
QWRkIHN1cHBvcnQgZm9yIFJlYWRhYmxlU3RyZWFtLgorICAgIGlmIChyZXNwb25zZS0+aXNSZWFk
YWJsZVN0cmVhbUJvZHkoKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBO
b3RTdXBwb3J0ZWRFcnJvciwgQVNDSUlMaXRlcmFsKCJDYWNoaW5nIGEgUmVzcG9uc2Ugd2l0aCBk
YXRhIHN0b3JlZCBpbiBhIFJlYWRhYmxlU3RyZWFtIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIikgfSk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBiYXRjaFB1dE9wZXJhdGlvbigqcmVxdWVz
dCwgcmVzcG9uc2UuZ2V0KCksIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICBpZiAoZXJyb3Ig
IT0gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3I6Ok5vbmUpIHsKKyAgICAgICAgICAgIHBy
b21pc2UucmVqZWN0KENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmV4Y2VwdGlvbkZyb21FcnJvcihl
cnJvcikpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHByb21pc2Uu
cmVzb2x2ZSgpOworICAgIH0pOworfQorCit2b2lkIENhY2hlOjpyZW1vdmUoUmVxdWVzdEluZm8m
JiBpbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIERPTVByb21pc2VEZWZlcnJlZDxJ
RExCb29sZWFuPiYmIHByb21pc2UpCit7CisgICAgUmVmUHRyPEZldGNoUmVxdWVzdD4gcmVxdWVz
dDsKKyAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4o
aW5mbykpIHsKKyAgICAgICAgcmVxdWVzdCA9IFdURjo6Z2V0PFJlZlB0cjxGZXRjaFJlcXVlc3Q+
PihpbmZvKS5yZWxlYXNlTm9uTnVsbCgpOworICAgICAgICBpZiAocmVxdWVzdC0+bWV0aG9kKCkg
IT0gIkdFVCIgJiYgIW9wdGlvbnMuaWdub3JlTWV0aG9kKSB7CisgICAgICAgICAgICBwcm9taXNl
LnJlc29sdmUoZmFsc2UpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfSBl
bHNlIHsKKyAgICAgICAgaWYgKFVOTElLRUxZKCFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpKQor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICByZXF1ZXN0ID0gRmV0Y2hSZXF1ZXN0OjpjcmVh
dGUoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgV1RGTW92ZShpbmZvKSwgeyB9KS5yZWxlYXNl
UmV0dXJuVmFsdWUoKTsKKyAgICB9CisKKyAgICBiYXRjaERlbGV0ZU9wZXJhdGlvbigqcmVxdWVz
dCwgV1RGTW92ZShvcHRpb25zKSwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShib29sIGRp
ZERlbGV0ZSwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgewor
ICAgICAgICBpZiAoZXJyb3IgIT0gIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yOjpOb25l
KSB7CisgICAgICAgICAgICBwcm9taXNlLnJlamVjdChDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpl
eGNlcHRpb25Gcm9tRXJyb3IoZXJyb3IpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
fQorICAgICAgICBwcm9taXNlLnJlc29sdmUoZGlkRGVsZXRlKTsKKyAgICB9KTsKK30KKwordm9p
ZCBDYWNoZTo6a2V5cyhzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZvPiYmIGluZm8sIENhY2hlUXVl
cnlPcHRpb25zJiYgb3B0aW9ucywgS2V5c1Byb21pc2UmJiBwcm9taXNlKQoreworICAgIFJlZlB0
cjxGZXRjaFJlcXVlc3Q+IHJlcXVlc3Q7CisgICAgaWYgKGluZm8pIHsKKyAgICAgICAgaWYgKFdU
Rjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmUHRyPEZldGNoUmVxdWVzdD4+KGluZm8udmFsdWUoKSkp
IHsKKyAgICAgICAgICAgIHJlcXVlc3QgPSBXVEY6OmdldDxSZWZQdHI8RmV0Y2hSZXF1ZXN0Pj4o
aW5mby52YWx1ZSgpKS5yZWxlYXNlTm9uTnVsbCgpOworICAgICAgICAgICAgaWYgKHJlcXVlc3Qt
Pm1ldGhvZCgpICE9ICJHRVQiICYmICFvcHRpb25zLmlnbm9yZU1ldGhvZCkgeworICAgICAgICAg
ICAgICAgIHByb21pc2UucmVzb2x2ZShWZWN0b3I8UmVmPEZldGNoUmVxdWVzdD4+IHsgfSk7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgaWYgKFVOTElLRUxZKCFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpKQorICAg
ICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6
OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBXVEZNb3ZlKGluZm8udmFsdWUoKSks
IHsgfSkucmVsZWFzZVJldHVyblZhbHVlKCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAo
IXJlcXVlc3QpIHsKKyAgICAgICAgcmV0cmlldmVSZWNvcmRzKFt0aGlzLCBwcm9taXNlID0gV1RG
TW92ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIFZlY3RvcjxSZWY8RmV0Y2hS
ZXF1ZXN0Pj4gcmVxdWVzdHM7CisgICAgICAgICAgICByZXF1ZXN0cy5yZXNlcnZlSW5pdGlhbENh
cGFjaXR5KG1fcmVjb3Jkcy5zaXplKCkpOworICAgICAgICAgICAgZm9yIChhdXRvJiByZWNvcmQg
OiBtX3JlY29yZHMpCisgICAgICAgICAgICAgICAgcmVxdWVzdHMudW5jaGVja2VkQXBwZW5kKHJl
Y29yZC5yZXF1ZXN0LmNvcHlSZWYoKSk7CisgICAgICAgICAgICBwcm9taXNlLnJlc29sdmUocmVx
dWVzdHMpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHF1ZXJ5
Q2FjaGUocmVxdWVzdC5yZWxlYXNlTm9uTnVsbCgpLCBXVEZNb3ZlKG9wdGlvbnMpLCBbcHJvbWlz
ZSA9IFdURk1vdmUocHJvbWlzZSldKGNvbnN0IFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+JiBy
ZWNvcmRzKSBtdXRhYmxlIHsKKyAgICAgICAgVmVjdG9yPFJlZjxGZXRjaFJlcXVlc3Q+PiByZXF1
ZXN0czsKKyAgICAgICAgcmVxdWVzdHMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShyZWNvcmRzLnNp
emUoKSk7CisgICAgICAgIGZvciAoYXV0byYgcmVjb3JkIDogcmVjb3JkcykKKyAgICAgICAgICAg
IHJlcXVlc3RzLnVuY2hlY2tlZEFwcGVuZChyZWNvcmQucmVxdWVzdC5jb3B5UmVmKCkpOworICAg
ICAgICBwcm9taXNlLnJlc29sdmUocmVxdWVzdHMpOworICAgIH0pOworfQorCit2b2lkIENhY2hl
OjpyZXRyaWV2ZVJlY29yZHMoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgY2FsbGJhY2spCit7Cisg
ICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOworICAgIG1fY29ubmVjdGlvbi0+cmV0cmlldmVS
ZWNvcmRzKG1faWRlbnRpZmllciwgW3RoaXMsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayld
KFZlY3RvcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpSZWNvcmQ+JiYgcmVjb3JkcykgeworICAg
ICAgICBpZiAoIW1faXNTdG9wcGVkKSB7CisgICAgICAgICAgICB1cGRhdGVSZWNvcmRzKFdURk1v
dmUocmVjb3JkcykpOworICAgICAgICAgICAgY2FsbGJhY2soKTsKKyAgICAgICAgfQorICAgICAg
ICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICB9KTsKK30KKwordm9pZCBDYWNoZTo6
cXVlcnlDYWNoZShSZWY8RmV0Y2hSZXF1ZXN0PiYmIHJlcXVlc3QsIENhY2hlUXVlcnlPcHRpb25z
JiYgb3B0aW9ucywgV1RGOjpGdW5jdGlvbjx2b2lkKGNvbnN0IFZlY3RvcjxDYWNoZVN0b3JhZ2VS
ZWNvcmQ+Jik+JiYgY2FsbGJhY2spCit7CisgICAgcmV0cmlldmVSZWNvcmRzKFt0aGlzLCByZXF1
ZXN0ID0gV1RGTW92ZShyZXF1ZXN0KSwgb3B0aW9ucyA9IFdURk1vdmUob3B0aW9ucyksIGNhbGxi
YWNrID0gV1RGTW92ZShjYWxsYmFjayldKCkgbXV0YWJsZSB7CisgICAgICAgIGNhbGxiYWNrKHF1
ZXJ5Q2FjaGVXaXRoVGFyZ2V0U3RvcmFnZShyZXF1ZXN0LmdldCgpLCBvcHRpb25zLCBtX3JlY29y
ZHMpKTsKKyAgICB9KTsKK30KKworc3RhdGljIGlubGluZSBib29sIHF1ZXJ5Q2FjaGVNYXRjaChj
b25zdCBGZXRjaFJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IEZldGNoUmVxdWVzdCYgY2FjaGVkUmVx
dWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgY2FjaGVkUmVzcG9uc2UsIGNvbnN0IENhY2hl
UXVlcnlPcHRpb25zJiBvcHRpb25zKQoreworICAgIC8vIFdlIG5lZWQgdG8gcGFzcyB0aGUgcmVz
b3VyY2UgcmVxdWVzdCB3aXRoIGFsbCBjb3JyZWN0IGhlYWRlcnMgaGVuY2Ugd2h5IHdlIGNhbGwg
cmVzb3VyY2VSZXF1ZXN0KCkuCisgICAgcmV0dXJuIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OnF1
ZXJ5Q2FjaGVNYXRjaChyZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLCBjYWNoZWRSZXF1ZXN0LnJl
c291cmNlUmVxdWVzdCgpLCBjYWNoZWRSZXNwb25zZSwgb3B0aW9ucyk7Cit9CisKK1ZlY3RvcjxD
YWNoZVN0b3JhZ2VSZWNvcmQ+IENhY2hlOjpxdWVyeUNhY2hlV2l0aFRhcmdldFN0b3JhZ2UoY29u
c3QgRmV0Y2hSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBDYWNoZVF1ZXJ5T3B0aW9ucyYgb3B0aW9u
cywgY29uc3QgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4mIHRhcmdldFN0b3JhZ2UpCit7Cisg
ICAgaWYgKCFvcHRpb25zLmlnbm9yZU1ldGhvZCAmJiByZXF1ZXN0Lm1ldGhvZCgpICE9ICJHRVQi
KQorICAgICAgICByZXR1cm4geyB9OworCisgICAgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4g
cmVjb3JkczsKKyAgICBmb3IgKGF1dG8mIHJlY29yZCA6IHRhcmdldFN0b3JhZ2UpIHsKKyAgICAg
ICAgaWYgKHF1ZXJ5Q2FjaGVNYXRjaChyZXF1ZXN0LCByZWNvcmQucmVxdWVzdC5nZXQoKSwgcmVj
b3JkLnJlc3BvbnNlLT5yZXNvdXJjZVJlc3BvbnNlKCksIG9wdGlvbnMpKQorICAgICAgICAgICAg
cmVjb3Jkcy5hcHBlbmQoeyByZWNvcmQuaWRlbnRpZmllciwgcmVjb3JkLnJlcXVlc3QuY29weVJl
ZigpLCByZWNvcmQucmVzcG9uc2UuY29weVJlZigpIH0pOworICAgIH0KKyAgICByZXR1cm4gcmVj
b3JkczsKK30KKwordm9pZCBDYWNoZTo6YmF0Y2hEZWxldGVPcGVyYXRpb24oY29uc3QgRmV0Y2hS
ZXF1ZXN0JiByZXF1ZXN0LCBDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIFdURjo6RnVuY3Rp
b248dm9pZChib29sIGRpZFJlbW92YWwsIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yIGVy
cm9yKT4mJiBjYWxsYmFjaykKK3sKKyAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAg
bV9jb25uZWN0aW9uLT5iYXRjaERlbGV0ZU9wZXJhdGlvbihtX2lkZW50aWZpZXIsIHJlcXVlc3Qu
aW50ZXJuYWxSZXF1ZXN0KCksIFdURk1vdmUob3B0aW9ucyksIFt0aGlzLCBjYWxsYmFjayA9IFdU
Rk1vdmUoY2FsbGJhY2spXShWZWN0b3I8dWludDY0X3Q+JiYgcmVjb3JkcywgQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIHsKKyAgICAgICAgaWYgKCFtX2lzU3RvcHBlZCkgewor
ICAgICAgICAgICAgaWYgKGVycm9yID09IENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OkVycm9yOjpO
b25lKQorICAgICAgICAgICAgICAgIG1fcmVjb3Jkcy5yZW1vdmVBbGxNYXRjaGluZyhbJl0oY29u
c3QgYXV0byYgaXRlbSkgeyByZXR1cm4gcmVjb3Jkcy5jb250YWlucyhpdGVtLmlkZW50aWZpZXIp
OyB9KTsKKworICAgICAgICAgICAgY2FsbGJhY2soIXJlY29yZHMuaXNFbXB0eSgpLCBlcnJvcik7
CisgICAgICAgIH0KKyAgICAgICAgdW5zZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgfSk7
Cit9CisKK3N0YXRpYyBpbmxpbmUgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6UmVjb3JkIHRvQ29u
bmVjdGlvblJlY29yZChjb25zdCBGZXRjaFJlcXVlc3QmIHJlcXVlc3QsIEZldGNoUmVzcG9uc2Um
IHJlc3BvbnNlKQoreworICAgIC8vIEZJWE1FOiBBZGQgYSBzZXRIVFRQSGVhZGVyRmllbGRzIG9u
IFJlc291cmNlUmVzcG9uc2VCYXNlLgorICAgIFJlc291cmNlUmVzcG9uc2UgY2FjaGVkUmVzcG9u
c2UgPSByZXNwb25zZS5yZXNvdXJjZVJlc3BvbnNlKCk7CisgICAgZm9yIChhdXRvJiBoZWFkZXIg
OiByZXNwb25zZS5oZWFkZXJzKCkuaW50ZXJuYWxIZWFkZXJzKCkpCisgICAgICAgIGNhY2hlZFJl
c3BvbnNlLnNldEhUVFBIZWFkZXJGaWVsZChoZWFkZXIua2V5LCBoZWFkZXIudmFsdWUpOworCisg
ICAgUmVzb3VyY2VSZXF1ZXN0IGNhY2hlZFJlcXVlc3QgPSByZXF1ZXN0LmludGVybmFsUmVxdWVz
dCgpOworICAgIGNhY2hlZFJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkcyhyZXF1ZXN0LmhlYWRl
cnMoKS5pbnRlcm5hbEhlYWRlcnMoKSk7CisKKyAgICByZXR1cm4geyAwLAorICAgICAgICByZXF1
ZXN0LmhlYWRlcnMoKS5ndWFyZCgpLCBXVEZNb3ZlKGNhY2hlZFJlcXVlc3QpLCByZXF1ZXN0LmZl
dGNoT3B0aW9ucygpLCByZXF1ZXN0LmludGVybmFsUmVxdWVzdFJlZmVycmVyKCksCisgICAgICAg
IHJlc3BvbnNlLmhlYWRlcnMoKS5ndWFyZCgpLCBXVEZNb3ZlKGNhY2hlZFJlc3BvbnNlKQorICAg
IH07Cit9CisKK3ZvaWQgQ2FjaGU6OmJhdGNoUHV0T3BlcmF0aW9uKGNvbnN0IEZldGNoUmVxdWVz
dCYgcmVxdWVzdCwgRmV0Y2hSZXNwb25zZSYgcmVzcG9uc2UsIFdURjo6RnVuY3Rpb248dm9pZChD
YWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJvcik+JiYgY2FsbGJhY2spCit7CisgICAgVmVjdG9y
PENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OlJlY29yZD4gcmVjb3JkczsKKyAgICByZWNvcmRzLmFw
cGVuZCh0b0Nvbm5lY3Rpb25SZWNvcmQocmVxdWVzdCwgcmVzcG9uc2UpKTsKKworICAgIHNldFBl
bmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICBtX2Nvbm5lY3Rpb24tPmJhdGNoUHV0T3BlcmF0aW9u
KG1faWRlbnRpZmllciwgV1RGTW92ZShyZWNvcmRzKSwgW3RoaXMsIGNhbGxiYWNrID0gV1RGTW92
ZShjYWxsYmFjayldKFZlY3Rvcjx1aW50NjRfdD4mJiwgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6
RXJyb3IgZXJyb3IpIHsKKyAgICAgICAgaWYgKCFtX2lzU3RvcHBlZCkKKyAgICAgICAgICAgIGNh
bGxiYWNrKGVycm9yKTsKKworICAgICAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAg
ICB9KTsKK30KKwordm9pZCBDYWNoZTo6dXBkYXRlUmVjb3JkcyhWZWN0b3I8Q2FjaGVTdG9yYWdl
Q29ubmVjdGlvbjo6UmVjb3JkPiYmIHJlY29yZHMpCit7CisgICAgQVNTRVJUKHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSk7CisgICAgVmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4gbmV3UmVjb3Jk
czsKKworICAgIGZvciAoYXV0byYgcmVjb3JkIDogcmVjb3JkcykgeworICAgICAgICBzaXplX3Qg
aW5kZXggPSBtX3JlY29yZHMuZmluZE1hdGNoaW5nKFsmXShjb25zdCBhdXRvJiBpdGVtKSB7IHJl
dHVybiBpdGVtLmlkZW50aWZpZXIgPT0gcmVjb3JkLmlkZW50aWZpZXI7IH0pOworICAgICAgICBp
ZiAoaW5kZXggIT0gbm90Rm91bmQpCisgICAgICAgICAgICBuZXdSZWNvcmRzLmFwcGVuZChXVEZN
b3ZlKG1fcmVjb3Jkc1tpbmRleF0pKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBhdXRv
IHJlcXVlc3RIZWFkZXJzID0gRmV0Y2hIZWFkZXJzOjpjcmVhdGUocmVjb3JkLnJlcXVlc3RIZWFk
ZXJzR3VhcmQsIEhUVFBIZWFkZXJNYXAgeyByZWNvcmQucmVxdWVzdC5odHRwSGVhZGVyRmllbGRz
KCkgfSk7CisgICAgICAgICAgICBGZXRjaFJlcXVlc3Q6OkludGVybmFsUmVxdWVzdCBpbnRlcm5h
bFJlcXVlc3QgPSB7IFdURk1vdmUocmVjb3JkLnJlcXVlc3QpLCBXVEZNb3ZlKHJlY29yZC5vcHRp
b25zKSwgV1RGTW92ZShyZWNvcmQucmVmZXJyZXIpIH07CisgICAgICAgICAgICBhdXRvIHJlcXVl
c3QgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBzdGQ6
Om51bGxvcHQsIFdURk1vdmUocmVxdWVzdEhlYWRlcnMpLCBXVEZNb3ZlKGludGVybmFsUmVxdWVz
dCkpOworCisgICAgICAgICAgICBhdXRvIHJlc3BvbnNlSGVhZGVycyA9IEZldGNoSGVhZGVyczo6
Y3JlYXRlKHJlY29yZC5yZXNwb25zZUhlYWRlcnNHdWFyZCwgSFRUUEhlYWRlck1hcCB7IHJlY29y
ZC5yZXNwb25zZS5odHRwSGVhZGVyRmllbGRzKCkgfSk7CisgICAgICAgICAgICBhdXRvIHJlc3Bv
bnNlID0gRmV0Y2hSZXNwb25zZTo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHN0
ZDo6bnVsbG9wdCwgV1RGTW92ZShyZXNwb25zZUhlYWRlcnMpLCBXVEZNb3ZlKHJlY29yZC5yZXNw
b25zZSkpOworCisgICAgICAgICAgICBuZXdSZWNvcmRzLmFwcGVuZChDYWNoZVN0b3JhZ2VSZWNv
cmQgeyByZWNvcmQuaWRlbnRpZmllciwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShyZXNwb25z
ZSkgfSk7CisgICAgICAgIH0KKyAgICB9CisgICAgbV9yZWNvcmRzID0gV1RGTW92ZShuZXdSZWNv
cmRzKTsKIH0KIAotdm9pZCBDYWNoZTo6cHV0KFJlcXVlc3RJbmZvJiYsIFJlZjxGZXRjaFJlc3Bv
bnNlPiYmLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQordm9pZCBDYWNoZTo6
c3RvcCgpCiB7Ci0gICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJ
SUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgbV9pc1N0b3BwZWQgPSB0cnVlOwog
fQogCi12b2lkIENhY2hlOjpyZW1vdmUoUmVxdWVzdEluZm8mJiwgc3RkOjpvcHRpb25hbDxDYWNo
ZVF1ZXJ5T3B0aW9ucz4mJiwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlz
ZSkKK2NvbnN0IGNoYXIqIENhY2hlOjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKIHsKLSAg
ICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90
IGltcGxlbWVudGVkIil9KTsKKyAgICByZXR1cm4gIkNhY2hlIjsKIH0KIAotdm9pZCBDYWNoZTo6
a2V5cyhzdGQ6Om9wdGlvbmFsPFJlcXVlc3RJbmZvPiYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVl
cnlPcHRpb25zPiYmLCBLZXlzUHJvbWlzZSYmIHByb21pc2UpCitib29sIENhY2hlOjpjYW5TdXNw
ZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKIHsKLSAgICBwcm9taXNlLnJlamVjdChF
eGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsK
KyAgICByZXR1cm4gbV9yZWNvcmRzLmlzRW1wdHkoKSAmJiAhaGFzUGVuZGluZ0FjdGl2aXR5KCk7
CiB9CiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5oCmluZGV4IDAwODJhY2Q1NTZk
ZGY1ZGVlOWY3NTA2NjVjMmY0ZTllYjlkZDk2NWUuLjIxMDk3MzM4MDA3ODNiZGZkM2IyNjYxYzYw
MjQ3NDQ0MGNhYTg4ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUv
Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlLmgKQEAgLTI1
LDM2ICsyNSw2MCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkZldGNoUmVxdWVzdC5o
IgorI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgorI2luY2x1ZGUgIkNhY2hlU3RvcmFnZUNv
bm5lY3Rpb24uaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VSZWNvcmQuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBGZXRjaFJlc3BvbnNlOworY2xhc3MgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dDsKIAotc3RydWN0IENhY2hlUXVlcnlPcHRpb25zOwotCi1jbGFzcyBDYWNoZSA6IHB1
YmxpYyBSZWZDb3VudGVkPENhY2hlPiB7CitjbGFzcyBDYWNoZSBmaW5hbCA6IHB1YmxpYyBSZWZD
b3VudGVkPENhY2hlPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6Ci0gICAgc3Rh
dGljIFJlZjxDYWNoZT4gY3JlYXRlKFN0cmluZyYmIG5hbWUpIHsgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgQ2FjaGUoV1RGTW92ZShuYW1lKSkpOyB9CisgICAgc3RhdGljIFJlZjxDYWNoZT4gY3JlYXRl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFN0cmluZyYmIG5hbWUsIHVpbnQ2NF90
IGlkZW50aWZpZXIsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYmIGNvbm5lY3Rpb24pIHsg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2FjaGUoY29udGV4dCwgV1RGTW92ZShuYW1lKSwgaWRlbnRp
ZmllciwgV1RGTW92ZShjb25uZWN0aW9uKSkpOyB9CisgICAgfkNhY2hlKCk7CiAKICAgICB1c2lu
ZyBSZXF1ZXN0SW5mbyA9IEZldGNoUmVxdWVzdDo6SW5mbzsKIAotICAgIHVzaW5nIE1hdGNoQWxs
UHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8RmV0
Y2hSZXNwb25zZT4+PjsKICAgICB1c2luZyBLZXlzUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJl
ZDxJRExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8RmV0Y2hSZXF1ZXN0Pj4+OwogCi0gICAgdm9pZCBt
YXRjaChSZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBS
ZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKLSAgICB2b2lkIG1hdGNoQWxsKHN0ZDo6b3B0aW9uYWw8
UmVxdWVzdEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9wdGlvbnM+JiYsIE1hdGNo
QWxsUHJvbWlzZSYmKTsKKyAgICB2b2lkIG1hdGNoKFJlcXVlc3RJbmZvJiYsIENhY2hlUXVlcnlP
cHRpb25zJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworICAgIHZvaWQgbWF0Y2hBbGwoc3Rk
OjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4mJiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgUmVmPERlZmVy
cmVkUHJvbWlzZT4mJik7CiAgICAgdm9pZCBhZGQoUmVxdWVzdEluZm8mJiwgRE9NUHJvbWlzZURl
ZmVycmVkPHZvaWQ+JiYpOwogCiAgICAgdm9pZCBhZGRBbGwoVmVjdG9yPFJlcXVlc3RJbmZvPiYm
LCBET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJik7CiAgICAgdm9pZCBwdXQoUmVxdWVzdEluZm8m
JiwgUmVmPEZldGNoUmVzcG9uc2U+JiYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKTsKLSAg
ICB2b2lkIHJlbW92ZShSZXF1ZXN0SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRp
b25zPiYmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJik7Ci0gICAgdm9pZCBrZXlz
KHN0ZDo6b3B0aW9uYWw8UmVxdWVzdEluZm8+JiYsIHN0ZDo6b3B0aW9uYWw8Q2FjaGVRdWVyeU9w
dGlvbnM+JiYsIEtleXNQcm9taXNlJiYpOworICAgIHZvaWQgcmVtb3ZlKFJlcXVlc3RJbmZvJiYs
IENhY2hlUXVlcnlPcHRpb25zJiYsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmKTsK
KyAgICB2b2lkIGtleXMoc3RkOjpvcHRpb25hbDxSZXF1ZXN0SW5mbz4mJiwgQ2FjaGVRdWVyeU9w
dGlvbnMmJiwgS2V5c1Byb21pc2UmJik7CisKKyAgICBjb25zdCBTdHJpbmcmIG5hbWUoKSBjb25z
dCB7IHJldHVybiBtX25hbWU7IH0KKyAgICB1aW50NjRfdCBpZGVudGlmaWVyKCkgY29uc3QgeyBy
ZXR1cm4gbV9pZGVudGlmaWVyOyB9CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgQ2FjaGUoU3Ry
aW5nJiYgbmFtZSkgOiBtX25hbWUoV1RGTW92ZShuYW1lKSkgeyB9CisgICAgQ2FjaGUoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYsIFN0cmluZyYmIG5hbWUsIHVpbnQ2NF90IGlkZW50aWZpZXIsIFJl
ZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYmKTsKKworICAgIGVudW0gY2xhc3MgTWF0Y2hUeXBl
IHsgQWxsLCBPbmx5Rmlyc3QgfTsKKyAgICB2b2lkIGRvTWF0Y2goc3RkOjpvcHRpb25hbDxSZXF1
ZXN0SW5mbz4mJiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiwg
TWF0Y2hUeXBlKTsKKworICAgIC8vIEFjdGl2ZURPTU9iamVjdAorICAgIHZvaWQgc3RvcCgpIGZp
bmFsOworICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsK
KyAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBmaW5hbDsK
KworICAgIHZvaWQgcmV0cmlldmVSZWNvcmRzKFdURjo6RnVuY3Rpb248dm9pZCgpPiYmKTsKKyAg
ICBWZWN0b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiBxdWVyeUNhY2hlV2l0aFRhcmdldFN0b3JhZ2Uo
Y29uc3QgRmV0Y2hSZXF1ZXN0JiwgY29uc3QgQ2FjaGVRdWVyeU9wdGlvbnMmLCBjb25zdCBWZWN0
b3I8Q2FjaGVTdG9yYWdlUmVjb3JkPiYpOworICAgIHZvaWQgcXVlcnlDYWNoZShSZWY8RmV0Y2hS
ZXF1ZXN0PiYmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBXVEY6OkZ1bmN0aW9uPHZvaWQoY29uc3Qg
VmVjdG9yPENhY2hlU3RvcmFnZVJlY29yZD4mKT4mJik7CisgICAgdm9pZCBiYXRjaERlbGV0ZU9w
ZXJhdGlvbihjb25zdCBGZXRjaFJlcXVlc3QmLCBDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBXVEY6OkZ1
bmN0aW9uPHZvaWQoYm9vbCBkaWRSZW1vdmFsLCBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpFcnJv
cik+JiYpOworICAgIHZvaWQgYmF0Y2hQdXRPcGVyYXRpb24oY29uc3QgRmV0Y2hSZXF1ZXN0Jiwg
RmV0Y2hSZXNwb25zZSYsIFdURjo6RnVuY3Rpb248dm9pZChDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
OjpFcnJvcik+JiYpOworCisgICAgdm9pZCB1cGRhdGVSZWNvcmRzKFZlY3RvcjxDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uOjpSZWNvcmQ+JiYpOwogCiAgICAgU3RyaW5nIG1fbmFtZTsKKyAgICB1aW50
NjRfdCBtX2lkZW50aWZpZXI7CisgICAgUmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IG1fY29u
bmVjdGlvbjsKKworICAgIFZlY3RvcjxDYWNoZVN0b3JhZ2VSZWNvcmQ+IG1fcmVjb3JkczsKKyAg
ICBib29sIG1faXNTdG9wcGVkIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGUuaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5pZGwKaW5kZXggZDQ3OTY5MTU1ZDIw
YTRmN2JmYTM4YTZkYzBiMmRmMzIyNTZhOTRlMC4uMWU3ZGY2Y2FkMjM0YzgwYTY1Mjg0MmFiZDg4
MzhiYjY5ZjcxYWI3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9D
YWNoZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZS5pZGwKQEAg
LTI5LDcgKzI5LDYgQEAgdHlwZWRlZiAoRmV0Y2hSZXF1ZXN0IG9yIFVTVlN0cmluZykgUmVxdWVz
dEluZm87CiAgICAgU2VjdXJlQ29udGV4dCwKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwK
ICAgICBFbmFibGVkQXRSdW50aW1lPUNhY2hlQVBJLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUsCiBdIGludGVyZmFjZSBDYWNoZSB7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxhbnk+
IG1hdGNoKFJlcXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25zIG9w
dGlvbnMpOwogICAgIFtOZXdPYmplY3RdIFByb21pc2U8c2VxdWVuY2U8RmV0Y2hSZXNwb25zZT4+
IG1hdGNoQWxsKG9wdGlvbmFsIFJlcXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIENhY2hlUXVl
cnlPcHRpb25zIG9wdGlvbnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9j
YWNoZS9DYWNoZVN0b3JhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNo
ZVN0b3JhZ2UuY3BwCmluZGV4IDEyMzY3YmU5NjZlMWUzYTI4YTllMjlkYmZlNGI4M2JkNWFjZGVj
YzYuLmEwYzI5ZGU5YmQ0MjNiZTVhMjQ0ZDZiZGMxODcxNGUxOGU2ZmM5N2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5jcHAKQEAgLTI2LDMxICsyNiwx
NDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDYWNoZVN0b3JhZ2UuaCIKIAor
I2luY2x1ZGUgIkNhY2hlUXVlcnlPcHRpb25zLmgiCisjaW5jbHVkZSAiSlNDYWNoZS5oIgorI2lu
Y2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci12b2lkIENhY2hlU3RvcmFnZTo6bWF0Y2goUmVxdWVzdEluZm8mJiwgc3RkOjpvcHRpb25hbDxD
YWNoZVF1ZXJ5T3B0aW9ucz4mJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQorQ2Fj
aGVTdG9yYWdlOjpDYWNoZVN0b3JhZ2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwg
UmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+JiYgY29ubmVjdGlvbikKKyAgICA6IEFjdGl2ZURP
TU9iamVjdCgmY29udGV4dCkKKyAgICAsIG1fY29ubmVjdGlvbihXVEZNb3ZlKGNvbm5lY3Rpb24p
KQoreworICAgIHN1c3BlbmRJZk5lZWRlZCgpOworfQorCitTdHJpbmcgQ2FjaGVTdG9yYWdlOjpv
cmlnaW4oKSBjb25zdAoreworICAgIC8vIEZJWE1FOiBEbyB3ZSByZWFsbHkgbmVlZCB0byBjaGVj
ayBmb3Igb3JpZ2luIGJlaW5nIG51bGw/CisgICAgYXV0byogb3JpZ2luID0gc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpID8gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zZWN1cml0eU9yaWdpbigp
IDogbnVsbHB0cjsKKyAgICByZXR1cm4gb3JpZ2luID8gb3JpZ2luLT50b1N0cmluZygpIDogU3Ry
aW5nKCk7Cit9CisKK3ZvaWQgQ2FjaGVTdG9yYWdlOjptYXRjaChDYWNoZTo6UmVxdWVzdEluZm8m
JiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQog
ewotICAgIHByb21pc2UtPnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJh
bCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9uIHsg
Tm90U3VwcG9ydGVkRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIil9KTsKIH0K
IAotdm9pZCBDYWNoZVN0b3JhZ2U6Omhhcyhjb25zdCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJy
ZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQordm9pZCBDYWNoZVN0b3JhZ2U6Omhhcyhjb25zdCBT
dHJpbmcmIG5hbWUsIERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmIHByb21pc2UpCiB7
Ci0gICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwo
Ik5vdCBpbXBsZW1lbnRlZCIpfSk7CisgICAgcmV0cmlldmVDYWNoZXMoW3RoaXMsIG5hbWUsIHBy
b21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSgpIG11dGFibGUgeworICAgICAgICBwcm9taXNlLnJl
c29sdmUobV9jYWNoZXMuZmluZE1hdGNoaW5nKFsmXShhdXRvJiBpdGVtKSB7IHJldHVybiBpdGVt
LT5uYW1lKCkgPT0gbmFtZTsgfSkgIT0gbm90Rm91bmQpOworICAgIH0pOworfQorCit2b2lkIENh
Y2hlU3RvcmFnZTo6cmV0cmlldmVDYWNoZXMoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgY2FsbGJh
Y2spCit7CisgICAgU3RyaW5nIG9yaWdpbiA9IHRoaXMtPm9yaWdpbigpOworICAgIGlmIChvcmln
aW4uaXNOdWxsKCkpCisgICAgICAgIHJldHVybjsKKworICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0
aGlzKTsKKyAgICBtX2Nvbm5lY3Rpb24tPnJldHJpZXZlQ2FjaGVzKG9yaWdpbiwgW3RoaXMsIGNh
bGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKFZlY3RvcjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
OjpDYWNoZUluZm8+JiYgY2FjaGVzSW5mbykgeworICAgICAgICBpZiAoIW1faXNTdG9wcGVkKSB7
CisgICAgICAgICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICAgICAg
ICAgIG1fY2FjaGVzLnJlbW92ZUFsbE1hdGNoaW5nKFsmXShhdXRvJiBjYWNoZSkgeworICAgICAg
ICAgICAgICAgIHJldHVybiBjYWNoZXNJbmZvLmZpbmRNYXRjaGluZyhbJl0oY29uc3QgYXV0byYg
aW5mbykgeyByZXR1cm4gaW5mby5pZGVudGlmaWVyID09IGNhY2hlLT5pZGVudGlmaWVyKCk7IH0p
ID09IG5vdEZvdW5kOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBmb3IgKGF1dG8mIGlu
Zm8gOiBjYWNoZXNJbmZvKSB7CisgICAgICAgICAgICAgICAgaWYgKG1fY2FjaGVzLmZpbmRNYXRj
aGluZyhbJl0oY29uc3QgYXV0byYgY2FjaGUpIHsgcmV0dXJuIGluZm8uaWRlbnRpZmllciA9PSBj
YWNoZS0+aWRlbnRpZmllcigpOyB9KSA9PSBub3RGb3VuZCkKKyAgICAgICAgICAgICAgICAgICAg
bV9jYWNoZXMuYXBwZW5kKENhY2hlOjpjcmVhdGUoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwg
V1RGTW92ZShpbmZvLm5hbWUpLCBpbmZvLmlkZW50aWZpZXIsIG1fY29ubmVjdGlvbi5jb3B5UmVm
KCkpKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgc3RkOjpzb3J0KG1fY2FjaGVzLmJl
Z2luKCksIG1fY2FjaGVzLmVuZCgpLCBbJl0oYXV0byYgYSwgYXV0byYgYikgeworICAgICAgICAg
ICAgICAgIHJldHVybiBhLT5pZGVudGlmaWVyKCkgPCBiLT5pZGVudGlmaWVyKCk7CisgICAgICAg
ICAgICB9KTsKKworICAgICAgICAgICAgY2FsbGJhY2soKTsKKyAgICAgICAgfQorICAgICAgICB1
bnNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICB9KTsKIH0KIAotdm9pZCBDYWNoZVN0b3Jh
Z2U6Om9wZW4oY29uc3QgU3RyaW5nJiwgRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxD
YWNoZT4+JiYgcHJvbWlzZSkKK3ZvaWQgQ2FjaGVTdG9yYWdlOjpvcGVuKGNvbnN0IFN0cmluZyYg
bmFtZSwgRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxDYWNoZT4+JiYgcHJvbWlzZSkK
IHsKLSAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJh
bCgiTm90IGltcGxlbWVudGVkIil9KTsKKyAgICByZXRyaWV2ZUNhY2hlcyhbdGhpcywgbmFtZSwg
cHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgIGF1dG8gcG9z
aXRpb24gPSBtX2NhY2hlcy5maW5kTWF0Y2hpbmcoWyZdKGF1dG8mIGl0ZW0pIHsgcmV0dXJuIGl0
ZW0tPm5hbWUoKSA9PSBuYW1lOyB9KTsKKyAgICAgICAgaWYgKHBvc2l0aW9uICE9IG5vdEZvdW5k
KSB7CisgICAgICAgICAgICBhdXRvJiBjYWNoZSA9IG1fY2FjaGVzW3Bvc2l0aW9uXTsKKyAgICAg
ICAgICAgIHByb21pc2UucmVzb2x2ZShDYWNoZTo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCksIFN0cmluZyB7IGNhY2hlLT5uYW1lKCkgfSwgY2FjaGUtPmlkZW50aWZpZXIoKSwgbV9j
b25uZWN0aW9uLmNvcHlSZWYoKSkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisK
KyAgICAgICAgU3RyaW5nIG9yaWdpbiA9IHRoaXMtPm9yaWdpbigpOworICAgICAgICBBU1NFUlQo
IW9yaWdpbi5pc051bGwoKSk7CisKKyAgICAgICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOwor
ICAgICAgICBtX2Nvbm5lY3Rpb24tPm9wZW4ob3JpZ2luLCBuYW1lLCBbdGhpcywgbmFtZSwgcHJv
bWlzZSA9IFdURk1vdmUocHJvbWlzZSldKHVpbnQ2NF90IGNhY2hlSWRlbnRpZmllciwgQ2FjaGVT
dG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICAgICAgaWYg
KCFtX2lzU3RvcHBlZCkgeworICAgICAgICAgICAgICAgIGlmIChlcnJvciAhPSBDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uOjpFcnJvcjo6Tm9uZSkKKyAgICAgICAgICAgICAgICAgICAgcHJvbWlzZS5y
ZWplY3QoQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6ZXhjZXB0aW9uRnJvbUVycm9yKGVycm9yKSk7
CisgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gY2FjaGUg
PSBDYWNoZTo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFN0cmluZyB7IG5hbWUg
fSwgY2FjaGVJZGVudGlmaWVyLCBtX2Nvbm5lY3Rpb24uY29weVJlZigpKTsKKyAgICAgICAgICAg
ICAgICAgICAgcHJvbWlzZS5yZXNvbHZlKGNhY2hlKTsKKyAgICAgICAgICAgICAgICAgICAgbV9j
YWNoZXMuYXBwZW5kKFdURk1vdmUoY2FjaGUpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKKyAgICAgICAg
fSk7CisgICAgfSk7CiB9CiAKLXZvaWQgQ2FjaGVTdG9yYWdlOjpyZW1vdmUoY29uc3QgU3RyaW5n
JiwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKK3ZvaWQgQ2FjaGVT
dG9yYWdlOjpyZW1vdmUoY29uc3QgU3RyaW5nJiBuYW1lLCBET01Qcm9taXNlRGVmZXJyZWQ8SURM
Qm9vbGVhbj4mJiBwcm9taXNlKQogewotICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5
cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHJldHJpZXZl
Q2FjaGVzKFt0aGlzLCBuYW1lLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRhYmxl
IHsKKyAgICAgICAgYXV0byBwb3NpdGlvbiA9IG1fY2FjaGVzLmZpbmRNYXRjaGluZyhbJl0oYXV0
byYgaXRlbSkgeyByZXR1cm4gaXRlbS0+bmFtZSgpID09IG5hbWU7IH0pOworICAgICAgICBpZiAo
cG9zaXRpb24gPT0gbm90Rm91bmQpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShmYWxz
ZSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBTdHJpbmcgb3Jp
Z2luID0gdGhpcy0+b3JpZ2luKCk7CisgICAgICAgIEFTU0VSVCghb3JpZ2luLmlzTnVsbCgpKTsK
KworICAgICAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CisgICAgICAgIG1fY29ubmVjdGlv
bi0+cmVtb3ZlKG1fY2FjaGVzW3Bvc2l0aW9uXS0+aWRlbnRpZmllcigpLCBbdGhpcywgbmFtZSwg
cHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKHVpbnQ2NF90IGNhY2hlSWRlbnRpZmllciwgQ2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbjo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICAgICAg
VU5VU0VEX1BBUkFNKGNhY2hlSWRlbnRpZmllcik7CisgICAgICAgICAgICBpZiAoIW1faXNTdG9w
cGVkKSB7CisgICAgICAgICAgICAgICAgaWYgKGVycm9yICE9IENhY2hlU3RvcmFnZUNvbm5lY3Rp
b246OkVycm9yOjpOb25lKQorICAgICAgICAgICAgICAgICAgICBwcm9taXNlLnJlamVjdChDYWNo
ZVN0b3JhZ2VDb25uZWN0aW9uOjpleGNlcHRpb25Gcm9tRXJyb3IoZXJyb3IpKTsKKyAgICAgICAg
ICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZSh0cnVlKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHVuc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOwor
ICAgICAgICB9KTsKKyAgICAgICAgbV9jYWNoZXMucmVtb3ZlKHBvc2l0aW9uKTsKKyAgICB9KTsK
IH0KIAogdm9pZCBDYWNoZVN0b3JhZ2U6OmtleXMoS2V5c1Byb21pc2UmJiBwcm9taXNlKQogewot
ICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJO
b3QgaW1wbGVtZW50ZWQiKX0pOworICAgIHJldHJpZXZlQ2FjaGVzKFt0aGlzLCBwcm9taXNlID0g
V1RGTW92ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgVmVjdG9yPFN0cmluZz4ga2V5
czsKKyAgICAgICAga2V5cy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1fY2FjaGVzLnNpemUoKSk7
CisgICAgICAgIGZvciAoYXV0byYgY2FjaGUgOiBtX2NhY2hlcykKKyAgICAgICAgICAgIGtleXMu
dW5jaGVja2VkQXBwZW5kKGNhY2hlLT5uYW1lKCkpOworICAgICAgICBwcm9taXNlLnJlc29sdmUo
a2V5cyk7CisgICAgfSk7Cit9CisKK3ZvaWQgQ2FjaGVTdG9yYWdlOjpzdG9wKCkKK3sKKyAgICBt
X2lzU3RvcHBlZCA9IHRydWU7Cit9CisKK2NvbnN0IGNoYXIqIENhY2hlU3RvcmFnZTo6YWN0aXZl
RE9NT2JqZWN0TmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuICJDYWNoZVN0b3JhZ2UiOworfQor
Citib29sIENhY2hlU3RvcmFnZTo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNv
bnN0Cit7CisgICAgcmV0dXJuICFoYXNQZW5kaW5nQWN0aXZpdHkoKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9D
YWNoZVN0b3JhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdl
LmgKaW5kZXggZmEyNjkwMDAzNmMzMjY3MzY2MjFmY2I4MzdjNzc3MWVhYThkODIyMy4uOWNiZTNk
YmQyMTBlZDBkZmE0ZDBkOTM0ZmExODEzM2U0NWIwM2MyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5oCkBAIC0yNSwyOSArMjUsMzkgQEAKIAogI3ByYWdt
YSBvbmNlCiAKKyNpbmNsdWRlICJDYWNoZS5oIgorI2luY2x1ZGUgIkNhY2hlU3RvcmFnZUNvbm5l
Y3Rpb24uaCIKICNpbmNsdWRlICJGZXRjaFJlcXVlc3QuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENhY2hlOwotCi1zdHJ1Y3QgQ2Fj
aGVRdWVyeU9wdGlvbnM7Ci0KLWNsYXNzIENhY2hlU3RvcmFnZSA6IHB1YmxpYyBSZWZDb3VudGVk
PENhY2hlU3RvcmFnZT4geworY2xhc3MgQ2FjaGVTdG9yYWdlIDogcHVibGljIFJlZkNvdW50ZWQ8
Q2FjaGVTdG9yYWdlPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6Ci0gICAgc3Rh
dGljIFJlZjxDYWNoZVN0b3JhZ2U+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2Fj
aGVTdG9yYWdlKCkpOyB9CisgICAgc3RhdGljIFJlZjxDYWNoZVN0b3JhZ2U+IGNyZWF0ZShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4m
JiBjb25uZWN0aW9uKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IENhY2hlU3RvcmFnZShjb250ZXh0
LCBXVEZNb3ZlKGNvbm5lY3Rpb24pKSk7IH0KIAotICAgIHVzaW5nIFJlcXVlc3RJbmZvID0gRmV0
Y2hSZXF1ZXN0OjpJbmZvOwogICAgIHVzaW5nIEtleXNQcm9taXNlID0gRE9NUHJvbWlzZURlZmVy
cmVkPElETFNlcXVlbmNlPElETERPTVN0cmluZz4+OwogCi0gICAgdm9pZCBtYXRjaChSZXF1ZXN0
SW5mbyYmLCBzdGQ6Om9wdGlvbmFsPENhY2hlUXVlcnlPcHRpb25zPiYmLCBSZWY8RGVmZXJyZWRQ
cm9taXNlPiYmKTsKKyAgICB2b2lkIG1hdGNoKENhY2hlOjpSZXF1ZXN0SW5mbyYmLCBDYWNoZVF1
ZXJ5T3B0aW9ucyYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKICAgICB2b2lkIGhhcyhjb25z
dCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJik7CiAgICAgdm9pZCBv
cGVuKGNvbnN0IFN0cmluZyYsIERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8Q2FjaGU+
PiYmKTsKICAgICB2b2lkIHJlbW92ZShjb25zdCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8
SURMQm9vbGVhbj4mJik7CiAgICAgdm9pZCBrZXlzKEtleXNQcm9taXNlJiYpOwogCiBwcml2YXRl
OgotICAgIENhY2hlU3RvcmFnZSgpID0gZGVmYXVsdDsKKyAgICBDYWNoZVN0b3JhZ2UoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiYmKTsKKworICAg
IC8vIEFjdGl2ZURPTU9iamVjdAorICAgIHZvaWQgc3RvcCgpIGZpbmFsOworICAgIGNvbnN0IGNo
YXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKKyAgICBib29sIGNhblN1c3Bl
bmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBmaW5hbDsKKworICAgIHZvaWQgcmV0cmll
dmVDYWNoZXMoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYpOworICAgIFN0cmluZyBvcmlnaW4oKSBj
b25zdDsKKworICAgIFZlY3RvcjxSZWY8Q2FjaGU+PiBtX2NhY2hlczsKKyAgICBSZWY8Q2FjaGVT
dG9yYWdlQ29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOworICAgIGJvb2wgbV9pc1N0b3BwZWQgeyBm
YWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaWRsIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2UuaWRsCmluZGV4IDhkNzFlMDkwM2U3NmUxYTRiNjJi
ZmI2ZjAyODQ5NmZiOTg2ZjA2MmEuLmI0NDZhZWE3N2ZjNzA1ZjBjYzAxNjdjZTRhNmY2ZmUxMDc1
NzIwYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9y
YWdlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZS5p
ZGwKQEAgLTI5LDcgKzI5LDYgQEAgdHlwZWRlZiAoRmV0Y2hSZXF1ZXN0IG9yIFVTVlN0cmluZykg
UmVxdWVzdEluZm87CiAgICAgU2VjdXJlQ29udGV4dCwKICAgICBFeHBvc2VkPShXaW5kb3csV29y
a2VyKSwKICAgICBFbmFibGVkQXRSdW50aW1lPUNhY2hlQVBJLAotICAgIEltcGxlbWVudGF0aW9u
TGFja3NWVGFibGUsCiBdIGludGVyZmFjZSBDYWNoZVN0b3JhZ2UgewogICAgIFtOZXdPYmplY3Rd
IFByb21pc2U8YW55PiBtYXRjaChSZXF1ZXN0SW5mbyByZXF1ZXN0LCBvcHRpb25hbCBDYWNoZVF1
ZXJ5T3B0aW9ucyBvcHRpb25zKTsKICAgICBbTmV3T2JqZWN0XSBQcm9taXNlPGJvb2xlYW4+IGhh
cyhET01TdHJpbmcgY2FjaGVOYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY0NGY5ZTQx
N2Q0M2NhZWYzYjIyOTM5ZTMyMzJkOWZhZGFjNWQwYjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCkBAIC0w
LDAgKzEsODIgQEAKKworLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgiCisKKyNpbmNsdWRlICJDYWNoZVF1ZXJ5T3B0aW9u
cy5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbi5oIgorI2luY2x1ZGUgIkhUVFBQYXJzZXJzLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworRXhjZXB0aW9uIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246
OmV4Y2VwdGlvbkZyb21FcnJvcihFcnJvciBlcnJvcikKK3sKKyAgICBBU1NFUlQoZXJyb3IgIT0g
RXJyb3I6Ok5vbmUpOworCisgICAgc3dpdGNoIChlcnJvcikgeworICAgIGNhc2UgRXJyb3I6Ok5v
dEltcGxlbWVudGVkOgorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJy
b3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIikgfTsKKyAgICBkZWZhdWx0OgorICAg
ICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIlVua25vd24g
ZXJyb3IiKSB9OworICAgIH07Cit9CisKK2Jvb2wgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6cXVl
cnlDYWNoZU1hdGNoKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiBjYWNoZWRSZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBjYWNoZWRS
ZXNwb25zZSwgY29uc3QgQ2FjaGVRdWVyeU9wdGlvbnMmIG9wdGlvbnMpCit7CisgICAgQVNTRVJU
KG9wdGlvbnMuaWdub3JlTWV0aG9kIHx8IHJlcXVlc3QuaHR0cE1ldGhvZCgpID09ICJHRVQiKTsK
KworICAgIFVSTCByZXF1ZXN0VVJMID0gcmVxdWVzdC51cmwoKTsKKyAgICBVUkwgY2FjaGVkUmVx
dWVzdFVSTCA9IGNhY2hlZFJlcXVlc3QudXJsKCk7CisKKyAgICBpZiAob3B0aW9ucy5pZ25vcmVT
ZWFyY2gpIHsKKyAgICAgICAgcmVxdWVzdFVSTC5zZXRRdWVyeSh7IH0pOworICAgICAgICBjYWNo
ZWRSZXF1ZXN0VVJMLnNldFF1ZXJ5KHsgfSk7CisgICAgfQorICAgIGlmICghZXF1YWxJZ25vcmlu
Z0ZyYWdtZW50SWRlbnRpZmllcihyZXF1ZXN0VVJMLCBjYWNoZWRSZXF1ZXN0VVJMKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKG9wdGlvbnMuaWdub3JlVmFyeSkKKyAgICAgICAg
cmV0dXJuIHRydWU7CisKKyAgICBTdHJpbmcgdmFyeVZhbHVlID0gY2FjaGVkUmVzcG9uc2UuaHR0
cEhlYWRlckZpZWxkKFdlYkNvcmU6OkhUVFBIZWFkZXJOYW1lOjpWYXJ5KTsKKyAgICBpZiAodmFy
eVZhbHVlLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIC8vIEZJWE1FOiBU
aGlzIGlzIGluZWZmaWNpZW50LCB3ZSBzaG91bGQgYmUgYWJsZSB0byBzcGxpdCBhbmQgdHJpbSB3
aGl0ZXNwYWNlcyBhdCB0aGUgc2FtZSB0aW1lLgorICAgIFZlY3RvcjxTdHJpbmc+IHZhcnlIZWFk
ZXJOYW1lczsKKyAgICB2YXJ5VmFsdWUuc3BsaXQoJywnLCBmYWxzZSwgdmFyeUhlYWRlck5hbWVz
KTsKKyAgICBmb3IgKGF1dG8mIG5hbWUgOiB2YXJ5SGVhZGVyTmFtZXMpIHsKKyAgICAgICAgaWYg
KHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRUUFNwYWNlcyhuYW1lKSA9PSAiKiIpCisgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGlmIChjYWNoZWRSZXF1ZXN0Lmh0dHBIZWFkZXJG
aWVsZChuYW1lKSAhPSByZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZChuYW1lKSkKKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgcmV0dXJuIHRydWU7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9D
YWNoZVN0b3JhZ2VDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0Nh
Y2hlU3RvcmFnZUNvbm5lY3Rpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yM2VkM2U1ODhhODNkNTJmOGNiNjA0
ZTNlNzQxZmE1YzIwOGZiNGI4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgKQEAgLTAsMCArMSw4OCBAQAorCisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJGZXRjaEhlYWRlcnMuaCIKKyNp
bmNsdWRlICJGZXRjaE9wdGlvbnMuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKKyNp
bmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZD
b3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IENhY2hlUXVlcnlPcHRp
b25zOworCitjbGFzcyBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uIDogcHVibGljIFRocmVhZFNhZmVS
ZWZDb3VudGVkPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UmVmPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbigpKTsgfQorICAgIHZpcnR1YWwgfkNhY2hlU3RvcmFn
ZUNvbm5lY3Rpb24oKSA9IGRlZmF1bHQ7CisKKyAgICBlbnVtIGNsYXNzIEVycm9yIHsKKyAgICAg
ICAgTm9uZSwKKyAgICAgICAgTm90SW1wbGVtZW50ZWQsCisgICAgfTsKKworICAgIFdFQkNPUkVf
RVhQT1JUIHN0YXRpYyBib29sIHF1ZXJ5Q2FjaGVNYXRjaChjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgY2FjaGVkUmVxdWVzdCwgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYsIGNvbnN0IENhY2hlUXVlcnlPcHRpb25zJik7CisKKyAgICBzdGF0aWMg
RXhjZXB0aW9uIGV4Y2VwdGlvbkZyb21FcnJvcihFcnJvcik7CisKKyAgICBzdHJ1Y3QgUmVjb3Jk
IHsKKyAgICAgICAgdWludDY0X3QgaWRlbnRpZmllcjsKKworICAgICAgICBGZXRjaEhlYWRlcnM6
Okd1YXJkIHJlcXVlc3RIZWFkZXJzR3VhcmQ7CisgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1
ZXN0OworICAgICAgICBGZXRjaE9wdGlvbnMgb3B0aW9uczsKKyAgICAgICAgU3RyaW5nIHJlZmVy
cmVyOworCisgICAgICAgIEZldGNoSGVhZGVyczo6R3VhcmQgcmVzcG9uc2VIZWFkZXJzR3VhcmQ7
CisgICAgICAgIFJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2U7CisgICAgfTsKKworICAgIHN0cnVj
dCBDYWNoZUluZm8geworICAgICAgICB1aW50NjRfdCBpZGVudGlmaWVyOworICAgICAgICBTdHJp
bmcgbmFtZTsKKyAgICB9OworCisgICAgdXNpbmcgT3BlblJlbW92ZUNhbGxiYWNrID0gV1RGOjpG
dW5jdGlvbjx2b2lkKHVpbnQ2NF90LCBFcnJvcik+OworICAgIHVzaW5nIENhY2hlTWFwQ2FsbGJh
Y2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoVmVjdG9yPENhY2hlSW5mbz4mJik+OworICAgIHVzaW5n
IFJlY29yZHNDYWxsYmFjayA9IFdURjo6RnVuY3Rpb248dm9pZChWZWN0b3I8UmVjb3JkPiYmKT47
CisgICAgdXNpbmcgQmF0Y2hPcGVyYXRpb25DYWxsYmFjayA9IFdURjo6RnVuY3Rpb248dm9pZChW
ZWN0b3I8dWludDY0X3Q+JiYsIEVycm9yKT47CisKKyAgICB2aXJ0dWFsIHZvaWQgb3Blbihjb25z
dCBTdHJpbmcmIC8qIG9yaWdpbiAqLywgY29uc3QgU3RyaW5nJiAvKiBjYWNoZU5hbWUgKi8sIE9w
ZW5SZW1vdmVDYWxsYmFjayYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKDAsIEVycm9yOjpOb3RJbXBs
ZW1lbnRlZCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlKHVpbnQ2NF90IC8qIGNhY2hlSWRl
bnRpZmllciAqLywgT3BlblJlbW92ZUNhbGxiYWNrJiYgY2FsbGJhY2spIHsgY2FsbGJhY2soMCwg
RXJyb3I6Ok5vdEltcGxlbWVudGVkKTsgfQorICAgIHZpcnR1YWwgdm9pZCByZXRyaWV2ZUNhY2hl
cyhjb25zdCBTdHJpbmcmIC8qIG9yaWdpbiAqLywgQ2FjaGVNYXBDYWxsYmFjayYmIGNhbGxiYWNr
KSB7IGNhbGxiYWNrKHsgfSk7IH0KKworICAgIHZpcnR1YWwgdm9pZCByZXRyaWV2ZVJlY29yZHMo
dWludDY0X3QgLyogY2FjaGVJZGVudGlmaWVyICovLCBSZWNvcmRzQ2FsbGJhY2smJiBjYWxsYmFj
aykgeyBjYWxsYmFjayh7IH0pOyB9CisgICAgdmlydHVhbCB2b2lkIGJhdGNoRGVsZXRlT3BlcmF0
aW9uKHVpbnQ2NF90IC8qIGNhY2hlSWRlbnRpZmllciAqLywgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiwgQ2FjaGVRdWVyeU9wdGlvbnMmJiwgQmF0Y2hPcGVyYXRpb25DYWxsYmFjayYmIGNhbGxiYWNr
KSB7IGNhbGxiYWNrKHsgfSwgRXJyb3I6Ok5vdEltcGxlbWVudGVkKTsgfQorICAgIHZpcnR1YWwg
dm9pZCBiYXRjaFB1dE9wZXJhdGlvbih1aW50NjRfdCAvKiBjYWNoZUlkZW50aWZpZXIgKi8sIFZl
Y3RvcjxSZWNvcmQ+JiYsIEJhdGNoT3BlcmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykgeyBjYWxs
YmFjayh7IH0sIEVycm9yOjpOb3RJbXBsZW1lbnRlZCk7IH0KKworcHJvdGVjdGVkOgorICAgIENh
Y2hlU3RvcmFnZUNvbm5lY3Rpb24oKSA9ICBkZWZhdWx0OworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hl
U3RvcmFnZVJlY29yZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3Jh
Z2VSZWNvcmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMGE2YWNlNGJhNGMwOTFkYzA5YTVkNDU1ZGY2YWM3Y2E1
Y2FhMjdiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9D
YWNoZVN0b3JhZ2VSZWNvcmQuaApAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlICJGZXRjaFJlcXVlc3QuaCIKKyNpbmNsdWRlICJGZXRjaFJlc3Bv
bnNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IENhY2hlU3RvcmFnZVJlY29y
ZCB7CisgICAgdWludDY0X3QgaWRlbnRpZmllcjsKKworICAgIFJlZjxGZXRjaFJlcXVlc3Q+IHJl
cXVlc3Q7CisgICAgUmVmPEZldGNoUmVzcG9uc2U+IHJlc3BvbnNlOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9E
T01XaW5kb3dDYWNoZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9ET01XaW5k
b3dDYWNoZXMuY3BwCmluZGV4IDg2NjVjNTU2NzJlYTVmNDZiMDlkNGY5YjA3NWE2OTYyYzU5NTFl
ZDEuLjM4YTRjOWIwZjkzZDRkODUxZjRlNGZlMjc4YTkwMTdiYjc3ZGNkNTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NV2luZG93Q2FjaGVzLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5jcHAKQEAgLTI3LDcg
KzI3LDExIEBACiAjaW5jbHVkZSAiRE9NV2luZG93Q2FjaGVzLmgiCiAKICNpbmNsdWRlICJDYWNo
ZVN0b3JhZ2UuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgogI2luY2x1ZGUg
IkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRnJhbWUuaCIK
KyNpbmNsdWRlICJQYWdlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTQsMTMgKzU4
LDE4IEBAIERPTVdpbmRvd0NhY2hlcyogRE9NV2luZG93Q2FjaGVzOjpmcm9tKERPTVdpbmRvdyog
d2luZG93KQogCiBDYWNoZVN0b3JhZ2UqIERPTVdpbmRvd0NhY2hlczo6Y2FjaGVzKERPTVdpbmRv
dyYgd2luZG93KQogeworICAgIGlmICghd2luZG93LmlzQ3VycmVudGx5RGlzcGxheWVkSW5GcmFt
ZSgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKwogICAgIHJldHVybiBET01XaW5kb3dDYWNo
ZXM6OmZyb20oJndpbmRvdyktPmNhY2hlcygpOwogfQogCiBDYWNoZVN0b3JhZ2UqIERPTVdpbmRv
d0NhY2hlczo6Y2FjaGVzKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fY2FjaGVzICYmIGZyYW1lKCkp
Ci0gICAgICAgIG1fY2FjaGVzID0gQ2FjaGVTdG9yYWdlOjpjcmVhdGUoKTsKKyAgICBBU1NFUlQo
ZnJhbWUoKSk7CisgICAgQVNTRVJUKGZyYW1lKCktPmRvY3VtZW50KCkpOworICAgIGlmICghbV9j
YWNoZXMgJiYgZnJhbWUoKS0+cGFnZSgpKQorICAgICAgICBtX2NhY2hlcyA9IENhY2hlU3RvcmFn
ZTo6Y3JlYXRlKCpmcmFtZSgpLT5kb2N1bWVudCgpLCBmcmFtZSgpLT5wYWdlKCktPmNhY2hlU3Rv
cmFnZVByb3ZpZGVyKCkuY3JlYXRlQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbihmcmFtZSgpLT5wYWdl
KCktPnNlc3Npb25JRCgpKSk7CiAgICAgcmV0dXJuIG1fY2FjaGVzLmdldCgpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2Fj
aGVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVD
YWNoZXMuY3BwCmluZGV4IDA1MTY5OGU3YzZlNTc5MGNkMjcwYTMxODBmZmViNDNjN2Q3ZGVhYWEu
LmM1MzljZGU2M2I0YjRkMjc3MWM2OWNmZjdkNTliN2YxMjU4NWI4MTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMu
Y3BwCkBAIC00MCw3ICs0MCw3IEBAIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKiBXb3JrZXJHbG9i
YWxTY29wZUNhY2hlczo6ZnJvbShXb3JrZXJHbG9iYWxTY29wZSYgc2NvcGUpCiB7CiAgICAgYXV0
byogc3VwcGxlbWVudCA9IHN0YXRpY19jYXN0PFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKj4oU3Vw
cGxlbWVudDxXb3JrZXJHbG9iYWxTY29wZT46OmZyb20oJnNjb3BlLCBzdXBwbGVtZW50TmFtZSgp
KSk7CiAgICAgaWYgKCFzdXBwbGVtZW50KSB7Ci0gICAgICAgIGF1dG8gbmV3U3VwcGxlbWVudCA9
IHN0ZDo6bWFrZV91bmlxdWU8V29ya2VyR2xvYmFsU2NvcGVDYWNoZXM+KCk7CisgICAgICAgIGF1
dG8gbmV3U3VwcGxlbWVudCA9IHN0ZDo6bWFrZV91bmlxdWU8V29ya2VyR2xvYmFsU2NvcGVDYWNo
ZXM+KHNjb3BlKTsKICAgICAgICAgc3VwcGxlbWVudCA9IG5ld1N1cHBsZW1lbnQuZ2V0KCk7CiAg
ICAgICAgIHByb3ZpZGVUbygmc2NvcGUsIHN1cHBsZW1lbnROYW1lKCksIFdURk1vdmUobmV3U3Vw
cGxlbWVudCkpOwogICAgIH0KQEAgLTU1LDcgKzU1LDcgQEAgQ2FjaGVTdG9yYWdlKiBXb3JrZXJH
bG9iYWxTY29wZUNhY2hlczo6Y2FjaGVzKFdvcmtlckdsb2JhbFNjb3BlJiBzY29wZSkKIENhY2hl
U3RvcmFnZSogV29ya2VyR2xvYmFsU2NvcGVDYWNoZXM6OmNhY2hlcygpIGNvbnN0CiB7CiAgICAg
aWYgKCFtX2NhY2hlcykKLSAgICAgICAgbV9jYWNoZXMgPSBDYWNoZVN0b3JhZ2U6OmNyZWF0ZSgp
OworICAgICAgICBtX2NhY2hlcyA9IENhY2hlU3RvcmFnZTo6Y3JlYXRlKG1fc2NvcGUsIENhY2hl
U3RvcmFnZUNvbm5lY3Rpb246OmNyZWF0ZSgpKTsKICAgICByZXR1cm4gbV9jYWNoZXMuZ2V0KCk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xv
YmFsU2NvcGVDYWNoZXMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xv
YmFsU2NvcGVDYWNoZXMuaAppbmRleCA3OTVlYmQ2MTllMjQyMWQ0Y2ViMWI3OGNkZWU0MzNlMTIz
NTE0ODZkLi5hZDc4ZDllY2QyODM4ZDE5NjBmNjBhZDYwN2Q0MTYwYjhhNGUzMTRjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNh
Y2hlcy5oCkBAIC0zNCw3ICszNCwxMCBAQCBjbGFzcyBXb3JrZXJHbG9iYWxTY29wZTsKIAogY2xh
c3MgV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMgOiBwdWJsaWMgU3VwcGxlbWVudDxXb3JrZXJHbG9i
YWxTY29wZT4gewogcHVibGljOgotICAgIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKCkgPSBkZWZh
dWx0OworICAgIGV4cGxpY2l0IFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKFdvcmtlckdsb2JhbFNj
b3BlJiBzY29wZSkKKyAgICAgICAgOiBtX3Njb3BlKHNjb3BlKQorICAgIHsKKyAgICB9CiAKICAg
ICBzdGF0aWMgQ2FjaGVTdG9yYWdlKiBjYWNoZXMoV29ya2VyR2xvYmFsU2NvcGUmKTsKIApAQCAt
NDMsNiArNDYsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50
TmFtZSgpOwogICAgIENhY2hlU3RvcmFnZSogY2FjaGVzKCkgY29uc3Q7CiAKKyAgICBXb3JrZXJH
bG9iYWxTY29wZSYgbV9zY29wZTsKICAgICBtdXRhYmxlIFJlZlB0cjxDYWNoZVN0b3JhZ2U+IG1f
Y2FjaGVzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaEJvZHlPd25lci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlP
d25lci5oCmluZGV4IGMzMjEzZTk3MjEzOTMwMGQ0YTUxODU0YzA1NTlhYjU1MDE0YTk1NWIuLjcx
YWZjNDZjZTA1MWU0YTg0ZTMxYWM5MzQ0ODM5NmM4Zjg2MWUxOWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmgKQEAgLTU3LDYgKzU3LDggQEAgcHVi
bGljOgogCiAgICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuICEhbV9ibG9iTG9hZGVy
OyB9CiAKKyAgICBib29sIGlzUmVhZGFibGVTdHJlYW1Cb2R5KCkgY29uc3QgeyByZXR1cm4gbV9i
b2R5ICYmIG1fYm9keS0+aXNSZWFkYWJsZVN0cmVhbSgpOyB9CisKIHByb3RlY3RlZDoKICAgICBj
b25zdCBGZXRjaEJvZHkmIGJvZHkoKSBjb25zdCB7IHJldHVybiAqbV9ib2R5OyB9CiAgICAgRmV0
Y2hCb2R5JiBib2R5KCkgeyByZXR1cm4gKm1fYm9keTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmgKaW5kZXggZmMzYjEwOGI5YTJkNWFlNTgzN2MyM2M3OTFm
ZTIwOWNiNjgzMzJjOC4uZmVlMWY4ZjFmMzgwOTNiMGQzMzViOTE4ZDkxZGNlNDRmY2Q5N2QxOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5oCkBAIC0zMCw2
ICszMCw3IEBACiAKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgogI2luY2x1ZGUgIkhUVFBIZWFk
ZXJNYXAuaCIKKyNpbmNsdWRlIDx3dGYvRW51bVRyYWl0cy5oPgogI2luY2x1ZGUgPHd0Zi9IYXNo
VHJhaXRzLmg+CiAjaW5jbHVkZSA8d3RmL1ZhcmlhbnQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CkBAIC00OSw3ICs1MCw3IEBAIHB1YmxpYzoKICAgICB1c2luZyBJbml0ID0gVmFyaWFudDxW
ZWN0b3I8VmVjdG9yPFN0cmluZz4+LCBWZWN0b3I8V1RGOjpLZXlWYWx1ZVBhaXI8U3RyaW5nLCBT
dHJpbmc+Pj47CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxGZXRjaEhlYWRlcnM+PiBjcmVh
dGUoc3RkOjpvcHRpb25hbDxJbml0PiYmKTsKIAotICAgIHN0YXRpYyBSZWY8RmV0Y2hIZWFkZXJz
PiBjcmVhdGUoR3VhcmQgZ3VhcmQgPSBHdWFyZDo6Tm9uZSkgeyByZXR1cm4gYWRvcHRSZWYoKm5l
dyBGZXRjaEhlYWRlcnMgeyBndWFyZCB9KTsgfQorICAgIHN0YXRpYyBSZWY8RmV0Y2hIZWFkZXJz
PiBjcmVhdGUoR3VhcmQgZ3VhcmQgPSBHdWFyZDo6Tm9uZSwgSFRUUEhlYWRlck1hcCYmIGhlYWRl
cnMgPSB7IH0pIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmV0Y2hIZWFkZXJzIHsgZ3VhcmQsIFdU
Rk1vdmUoaGVhZGVycykgfSk7IH0KICAgICBzdGF0aWMgUmVmPEZldGNoSGVhZGVycz4gY3JlYXRl
KGNvbnN0IEZldGNoSGVhZGVycyYgaGVhZGVycykgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBGZXRj
aEhlYWRlcnMgeyBoZWFkZXJzIH0pOyB9CiAKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBhcHBlbmQo
Y29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlKTsKQEAgLTgyLDkgKzgzLDEw
IEBAIHB1YmxpYzoKICAgICBjb25zdCBIVFRQSGVhZGVyTWFwJiBpbnRlcm5hbEhlYWRlcnMoKSBj
b25zdCB7IHJldHVybiBtX2hlYWRlcnM7IH0KIAogICAgIHZvaWQgc2V0R3VhcmQoR3VhcmQpOwor
ICAgIEd1YXJkIGd1YXJkKCkgY29uc3QgeyByZXR1cm4gbV9ndWFyZDsgfQogCiBwcml2YXRlOgot
ICAgIGV4cGxpY2l0IEZldGNoSGVhZGVycyhHdWFyZCBndWFyZCwgSFRUUEhlYWRlck1hcCYmIGhl
YWRlcnMgPSB7IH0pOworICAgIEZldGNoSGVhZGVycyhHdWFyZCwgSFRUUEhlYWRlck1hcCYmKTsK
ICAgICBGZXRjaEhlYWRlcnMoY29uc3QgRmV0Y2hIZWFkZXJzJik7CiAKICAgICBHdWFyZCBtX2d1
YXJkOwpAQCAtMTExLDMgKzExMywxOCBAQCBpbmxpbmUgdm9pZCBGZXRjaEhlYWRlcnM6OnNldEd1
YXJkKEd1YXJkIGd1YXJkKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFj
ZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OkZldGNoSGVh
ZGVyczo6R3VhcmQ+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgIFdlYkNv
cmU6OkZldGNoSGVhZGVyczo6R3VhcmQsCisgICAgV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFy
ZDo6Tm9uZSwKKyAgICBXZWJDb3JlOjpGZXRjaEhlYWRlcnM6Okd1YXJkOjpJbW11dGFibGUsCisg
ICAgV2ViQ29yZTo6RmV0Y2hIZWFkZXJzOjpHdWFyZDo6UmVxdWVzdCwKKyAgICBXZWJDb3JlOjpG
ZXRjaEhlYWRlcnM6Okd1YXJkOjpSZXF1ZXN0Tm9Db3JzLAorICAgIFdlYkNvcmU6OkZldGNoSGVh
ZGVyczo6R3VhcmQ6OlJlc3BvbnNlCisgICAgPjsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKaW5kZXggZTNhNTFmMWFlODQzOTJiZjMwZmM4
YjVkMzM1MzFhMDlkYjg1Y2NhYy4uZWRmYWM1YzM4NTkxZDk5ZTg4ZWQwZmRmMzZlOGRjNGQ4OTU4
ZDYyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAK
QEAgLTgwLDcgKzgwLDcgQEAgdm9pZCBGZXRjaExvYWRlcjo6c3RhcnQoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCwgY29uc3QgRmV0Y2hSZXF1ZXN0JiByZXEKICAgICBvcHRpb25zLmRh
dGFCdWZmZXJpbmdQb2xpY3kgPSBEb05vdEJ1ZmZlckRhdGE7CiAgICAgb3B0aW9ucy5zYW1lT3Jp
Z2luRGF0YVVSTEZsYWcgPSBTYW1lT3JpZ2luRGF0YVVSTEZsYWc6OlNldDsKIAotICAgIFJlc291
cmNlUmVxdWVzdCBmZXRjaFJlcXVlc3QgPSByZXF1ZXN0LmludGVybmFsUmVxdWVzdCgpOworICAg
IFJlc291cmNlUmVxdWVzdCBmZXRjaFJlcXVlc3QgPSByZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgp
OwogCiAgICAgQVNTRVJUKGNvbnRleHQuY29udGVudFNlY3VyaXR5UG9saWN5KCkpOwogICAgIGF1
dG8mIGNvbnRlbnRTZWN1cml0eVBvbGljeSA9ICpjb250ZXh0LmNvbnRlbnRTZWN1cml0eVBvbGlj
eSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVl
c3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuY3BwCmlu
ZGV4IGU2NmMxNWM5OTRjZTUxZWRkNTQ5M2FkMjU4NzQyZGRlNjhjYTNkNGIuLmE1MjZmNTI4ODM5
NzgzZTA3ZTllNDZhNTRjZGIxZGU5Y2RmOTY0NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHAKQEAgLTc0LDcgKzc0LDcgQEAgc3RhdGljIHN0ZDo6
b3B0aW9uYWw8RXhjZXB0aW9uPiBzZXRSZWZlcnJlcihGZXRjaFJlcXVlc3Q6OkludGVybmFsUmVx
dWVzdCYgcmVxdWUKIAogc3RhdGljIHN0ZDo6b3B0aW9uYWw8RXhjZXB0aW9uPiBidWlsZE9wdGlv
bnMoRmV0Y2hSZXF1ZXN0OjpJbnRlcm5hbFJlcXVlc3QmIHJlcXVlc3QsIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZldGNoUmVxdWVzdDo6SW5pdCYgaW5pdCkKIHsKLSAg
ICBpZiAoIWluaXQud2luZG93LmlzVW5kZWZpbmVkT3JOdWxsKCkpCisgICAgaWYgKCFpbml0Lndp
bmRvdy5pc1VuZGVmaW5lZE9yTnVsbCgpICYmICFpbml0LndpbmRvdy5pc0VtcHR5KCkpCiAgICAg
ICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiV2luZG93IGNh
biBvbmx5IGJlIG51bGwuIikgfTsKIAogICAgIGlmICghaW5pdC5yZWZlcnJlci5pc051bGwoKSkg
ewpAQCAtMjU3LDE0ICsyNTcsMTQgQEAgU3RyaW5nIEZldGNoUmVxdWVzdDo6cmVmZXJyZXIoKSBj
b25zdAogICAgIHJldHVybiBtX2ludGVybmFsUmVxdWVzdC5yZWZlcnJlcjsKIH0KIAotY29uc3Qg
U3RyaW5nJiBGZXRjaFJlcXVlc3Q6OnVybCgpIGNvbnN0Citjb25zdCBTdHJpbmcmIEZldGNoUmVx
dWVzdDo6dXJsU3RyaW5nKCkgY29uc3QKIHsKICAgICBpZiAobV9yZXF1ZXN0VVJMLmlzTnVsbCgp
KQogICAgICAgICBtX3JlcXVlc3RVUkwgPSBtX2ludGVybmFsUmVxdWVzdC5yZXF1ZXN0LnVybCgp
LnNlcmlhbGl6ZSgpOwogICAgIHJldHVybiBtX3JlcXVlc3RVUkw7CiB9CiAKLVJlc291cmNlUmVx
dWVzdCBGZXRjaFJlcXVlc3Q6OmludGVybmFsUmVxdWVzdCgpIGNvbnN0CitSZXNvdXJjZVJlcXVl
c3QgRmV0Y2hSZXF1ZXN0OjpyZXNvdXJjZVJlcXVlc3QoKSBjb25zdAogewogICAgIEFTU0VSVChz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaFJlcXVlc3QuaAppbmRleCAxZjBiMTZlOGE1YTE3OWYwZmVhYzBiNTk3ZGQ1ODc0OWZh
ZWRhYmRkLi41YWQ3NDE0MTM5YTQ3ZmRhNTg0MmJjYmI3NDkxM2MzMjY3M2JkYzdlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmgKQEAgLTUzLDExICs1Mywx
OSBAQCBwdWJsaWM6CiAgICAgdXNpbmcgUmVkaXJlY3QgPSBGZXRjaE9wdGlvbnM6OlJlZGlyZWN0
OwogICAgIHVzaW5nIFR5cGUgPSBGZXRjaE9wdGlvbnM6OlR5cGU7CiAKKyAgICBzdHJ1Y3QgSW50
ZXJuYWxSZXF1ZXN0IHsKKyAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3Q7CisgICAgICAg
IEZldGNoT3B0aW9ucyBvcHRpb25zOworICAgICAgICBTdHJpbmcgcmVmZXJyZXI7CisgICAgfTsK
KwogICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8RmV0Y2hSZXF1ZXN0Pj4gY3JlYXRlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmLCBJbmZvJiYsIEluaXQmJik7CisgICAgc3RhdGljIFJlZjxGZXRj
aFJlcXVlc3Q+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBzdGQ6Om9w
dGlvbmFsPEZldGNoQm9keT4mJiBib2R5LCBSZWY8RmV0Y2hIZWFkZXJzPiYmIGhlYWRlcnMsIElu
dGVybmFsUmVxdWVzdCYmIHJlcXVlc3QpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmV0Y2hSZXF1
ZXN0KGNvbnRleHQsIFdURk1vdmUoYm9keSksIFdURk1vdmUoaGVhZGVycyksIFdURk1vdmUocmVx
dWVzdCkpKTsgfQogCiAgICAgY29uc3QgU3RyaW5nJiBtZXRob2QoKSBjb25zdCB7IHJldHVybiBt
X2ludGVybmFsUmVxdWVzdC5yZXF1ZXN0Lmh0dHBNZXRob2QoKTsgfQotICAgIGNvbnN0IFN0cmlu
ZyYgdXJsKCkgY29uc3Q7CisgICAgY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcoKSBjb25zdDsKICAg
ICBGZXRjaEhlYWRlcnMmIGhlYWRlcnMoKSB7IHJldHVybiBtX2hlYWRlcnMuZ2V0KCk7IH0KKyAg
ICBjb25zdCBGZXRjaEhlYWRlcnMmIGhlYWRlcnMoKSBjb25zdCB7IHJldHVybiBtX2hlYWRlcnMu
Z2V0KCk7IH0KIAogICAgIFR5cGUgdHlwZSgpIGNvbnN0OwogICAgIERlc3RpbmF0aW9uIGRlc3Rp
bmF0aW9uKCkgY29uc3Q7CkBAIC03MywxNyArODEsMTMgQEAgcHVibGljOgogCiAgICAgRXhjZXB0
aW9uT3I8UmVmPEZldGNoUmVxdWVzdD4+IGNsb25lKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsK
IAotICAgIHN0cnVjdCBJbnRlcm5hbFJlcXVlc3QgewotICAgICAgICBSZXNvdXJjZVJlcXVlc3Qg
cmVxdWVzdDsKLSAgICAgICAgRmV0Y2hPcHRpb25zIG9wdGlvbnM7Ci0gICAgICAgIFN0cmluZyBy
ZWZlcnJlcjsKLSAgICB9OwotCiAgICAgY29uc3QgRmV0Y2hPcHRpb25zJiBmZXRjaE9wdGlvbnMo
KSBjb25zdCB7IHJldHVybiBtX2ludGVybmFsUmVxdWVzdC5vcHRpb25zOyB9Ci0gICAgUmVzb3Vy
Y2VSZXF1ZXN0IGludGVybmFsUmVxdWVzdCgpIGNvbnN0OworICAgIGNvbnN0IFJlc291cmNlUmVx
dWVzdCYgaW50ZXJuYWxSZXF1ZXN0KCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVlc3Qu
cmVxdWVzdDsgfQorICAgIGNvbnN0IFN0cmluZyYgaW50ZXJuYWxSZXF1ZXN0UmVmZXJyZXIoKSBj
b25zdCB7IHJldHVybiBtX2ludGVybmFsUmVxdWVzdC5yZWZlcnJlcjsgfQorICAgIGNvbnN0IFVS
TCYgdXJsKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcm5hbFJlcXVlc3QucmVxdWVzdC51cmwoKTsg
fQogICAgIGJvb2wgaXNCb2R5UmVhZGFibGVTdHJlYW0oKSBjb25zdCB7IHJldHVybiAhaXNCb2R5
TnVsbCgpICYmIGJvZHkoKS5pc1JlYWRhYmxlU3RyZWFtKCk7IH0KIAotICAgIGNvbnN0IFN0cmlu
ZyYgaW50ZXJuYWxSZXF1ZXN0UmVmZXJyZXIoKSBjb25zdCB7IHJldHVybiBtX2ludGVybmFsUmVx
dWVzdC5yZWZlcnJlcjsgfQorICAgIFJlc291cmNlUmVxdWVzdCByZXNvdXJjZVJlcXVlc3QoKSBj
b25zdDsKIAogcHJpdmF0ZToKICAgICBGZXRjaFJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYsIHN0ZDo6b3B0aW9uYWw8RmV0Y2hCb2R5PiYmLCBSZWY8RmV0Y2hIZWFkZXJzPiYmLCBJbnRl
cm5hbFJlcXVlc3QmJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNo
L0ZldGNoUmVxdWVzdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVx
dWVzdC5pZGwKaW5kZXggMWE1ZTYyNmY1MWMxNjYyZThiYjAwM2I2MDQwODc2ZDM5YThkMGM5OS4u
YjNkMmE2MzAwODFjZGJjM2Q5NzlhNjUxNzQyNjQwZjdmMzYxODE1MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmlkbApAQCAtNDQsNyArNDQsNyBAQCB0
eXBlZGVmIChCbG9iIG9yIEJ1ZmZlclNvdXJjZSBvciBET01Gb3JtRGF0YSBvciBVUkxTZWFyY2hQ
YXJhbXMgb3IgVVNWU3RyaW5nKSBCbwogICAgIEludGVyZmFjZU5hbWU9UmVxdWVzdCwKIF0gaW50
ZXJmYWNlIEZldGNoUmVxdWVzdCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEJ5dGVTdHJpbmcg
bWV0aG9kOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgdXJsOworICAgIFtJbXBs
ZW1lbnRlZEFzPXVybFN0cmluZ10gcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyB1cmw7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIEZldGNoSGVhZGVycyBoZWFkZXJzOyAvLyBGSVhNRTogU2hv
dWxkIGJlIFtTYW1lT2JqZWN0XS4KIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBGZXRjaFJlcXVl
c3RUeXBlIHR5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25z
ZS5oCmluZGV4IGY5YjAyZmIwZTU4N2FiNGViM2Q1NTk3OTRiMzkxZjc5ZjVhMWRjNjYuLmRjNzU3
MzEzZWZhOGZmYjhmNWZiMjkyYTUyMGUwMDU3Y2QwYTNiY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oCkBAIC01Nyw2ICs1Nyw4IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgUmVmPEZldGNoUmVzcG9uc2U+IGVycm9yKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmKTsKICAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPEZldGNoUmVzcG9uc2U+PiByZWRpcmVj
dChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgU3RyaW5nJiB1cmwsIGludCBzdGF0dXMp
OwogCisgICAgc3RhdGljIFJlZjxGZXRjaFJlc3BvbnNlPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCwgc3RkOjpvcHRpb25hbDxGZXRjaEJvZHk+JiYgYm9keSwgUmVmPEZl
dGNoSGVhZGVycz4mJiBoZWFkZXJzLCBSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2UpIHsgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgRmV0Y2hSZXNwb25zZShjb250ZXh0LCBXVEZNb3ZlKGJvZHkpLCBX
VEZNb3ZlKGhlYWRlcnMpLCBXVEZNb3ZlKHJlc3BvbnNlKSkpOyB9CisKICAgICB1c2luZyBGZXRj
aFByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPEZldGNoUmVzcG9uc2U+
PjsKICAgICBzdGF0aWMgdm9pZCBmZXRjaChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgRmV0Y2hS
ZXF1ZXN0JiwgRmV0Y2hQcm9taXNlJiYpOwogCkBAIC03OCw2ICs4MCw3IEBAIHB1YmxpYzoKICAg
ICBib29sIG9rKCkgY29uc3QgeyByZXR1cm4gbV9yZXNwb25zZS5pc1N1Y2Nlc3NmdWwoKTsgfQog
ICAgIGNvbnN0IFN0cmluZyYgc3RhdHVzVGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2Uu
aHR0cFN0YXR1c1RleHQoKTsgfQogCisgICAgY29uc3QgRmV0Y2hIZWFkZXJzJiBoZWFkZXJzKCkg
Y29uc3QgeyByZXR1cm4gbV9oZWFkZXJzOyB9CiAgICAgRmV0Y2hIZWFkZXJzJiBoZWFkZXJzKCkg
eyByZXR1cm4gbV9oZWFkZXJzOyB9CiAgICAgUmVmPEZldGNoUmVzcG9uc2U+IGNsb25lRm9ySlMo
KTsKIApAQCAtOTAsNiArOTMsOCBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzTG9hZGluZygpIGNv
bnN0IHsgcmV0dXJuICEhbV9ib2R5TG9hZGVyOyB9CiAKKyAgICBjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiByZXNvdXJjZVJlc3BvbnNlKCkgY29uc3QgeyByZXR1cm4gbV9yZXNwb25zZTsgfQorCiBw
cml2YXRlOgogICAgIEZldGNoUmVzcG9uc2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0ZDo6
b3B0aW9uYWw8RmV0Y2hCb2R5PiYmLCBSZWY8RmV0Y2hIZWFkZXJzPiYmLCBSZXNvdXJjZVJlc3Bv
bnNlJiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggMzBiNDgzOTgxODQ4NzU3M2E4ODQwZWFhNDNiODI1OWQzOWNmZWE5Ny4u
ZDk1YzQ5YjU4MDg4NWNjNjcwMjI1NTBhYjc0NTA5MmU5MzQzYmQ3MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTc4NCw2ICsx
Nzg0LDE0IEBACiAJCTQxQ0Y4QkU3MUQ0NjIyNjcwMDcwN0RDOSAvKiBGZXRjaEJvZHlDb25zdW1l
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUNG
OEJFNDFENDYyMjIwMDA3MDdEQzkgLyogRmV0Y2hCb2R5Q29uc3VtZXIuY3BwICovOyB9OwogCQk0
MUQwMTVDQTBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDAxNUM4MEY0QjVDNzEwMDRBNjYyRiAv
KiBDb250ZW50VHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTQxRDAxNUNCMEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlwZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQwMTVDOTBGNEI1
QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuY3BwICovOyB9OworCQk0MUQxMjlDRTFGM0QwRUY2
MDBEMTVFNDcgLyogV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRkIyNzhEMUYzNEMyODIwMDc5NTQ4NyAvKiBX
b3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oICovOyB9OworCQk0MUQxMjlDRjFGM0QwRUZFMDBEMTVF
NDcgLyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQxMjlDOTFGM0QwRUUzMDBEMTVFNDcgLyogQ2FjaGVT
dG9yYWdlQ29ubmVjdGlvbi5jcHAgKi87IH07CisJCTQxRDEyOUQwMUYzRDBGMDUwMEQxNUU0NyAv
KiBDYWNoZVF1ZXJ5T3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDFGQjI3OUIxRjM0Q0VGMDAwNzk1NDg3IC8qIENhY2hlUXVlcnlPcHRpb25z
LmggKi87IH07CisJCTQxRDEyOUQxMUYzRDBGMEUwMEQxNUU0NyAvKiBET01XaW5kb3dDYWNoZXMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRkIyNzhD
MUYzNEMyODIwMDc5NTQ4NyAvKiBET01XaW5kb3dDYWNoZXMuaCAqLzsgfTsKKwkJNDFEMTI5RDIx
RjNEMEYxMjAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVJlY29yZC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMTI5Q0ExRjNEMEVFMzAwRDE1RTQ3IC8q
IENhY2hlU3RvcmFnZVJlY29yZC5oICovOyB9OworCQk0MUQxMjlEMzFGM0QwRjE2MDBEMTVFNDcg
LyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDFEMTI5Q0MxRjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFn
ZUNvbm5lY3Rpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQk0MUQxMjlENTFGM0QwRjY5MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDEyOUQ0
MUYzRDBGNjYwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VQcm92aWRlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTQxRDEyOURCMUYzRDE0MzgwMEQx
NUU0NyAvKiBGZXRjaEhlYWRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxRjU0RjgzMUM1MEM0RjYwMDMzODQ4OCAvKiBGZXRjaEhlYWRlcnMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MURFRkNC
NTFFNTZDMUJEMDAwRDlFNUYgLyogSlNET01NYXBMaWtlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxREVGQ0IzMUU1NkMxQjkwMDBEOUU1RiAvKiBK
U0RPTU1hcExpa2UuY3BwICovOyB9OwogCQk0MURFRkNCNjFFNTZDMUJEMDAwRDlFNUYgLyogSlNE
T01NYXBMaWtlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MURFRkNCNDFFNTZDMUI5MDAwRDlFNUYgLyogSlNET01NYXBMaWtlLmggKi87IH07CiAJCTQx
RTFCMUQwMEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUUxQjFDQTBGRjU5ODY5MDA1NzZC
M0IgLyogQWJzdHJhY3RXb3JrZXIuY3BwICovOyB9OwpAQCAtOTQ2Myw2ICs5NDcxLDEwIEBACiAJ
CTQxQ0Y4QkU2MUQ0NjIyMkMwMDcwN0RDOSAvKiBGZXRjaEludGVybmFscy5qcyAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9IEZldGNoSW50ZXJuYWxzLmpzOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MUQwMTVDODBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVu
dFR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29udGVudFR5cGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFEMDE1QzkwRjRCNUM3MTAwNEE2NjJGIC8q
IENvbnRlbnRUeXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENv
bnRlbnRUeXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDFEMTI5QzkxRjNE
MEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRDEyOUNBMUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNo
ZVN0b3JhZ2VSZWNvcmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVT
dG9yYWdlUmVjb3JkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRDEyOUNDMUYz
RDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDFEMTI5RDQxRjNEMEY2NjAwRDE1RTQ3IC8qIENhY2hlU3RvcmFn
ZVByb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlU3RvcmFn
ZVByb3ZpZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRDUxQkIyMUU0RTJF
ODEwMDEzMUE1QiAvKiBMaWJXZWJSVENBdWRpb0Zvcm1hdC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBMaWJXZWJSVENBdWRpb0Zvcm1hdC5oOyBwYXRoID0gbGlid2VicnRjL0xp
YldlYlJUQ0F1ZGlvRm9ybWF0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxREVG
Q0IyMUU1NkMxQjkwMDBEOUU1RiAvKiBKU0RPTUJpbmRpbmdJbnRlcm5hbHMuanMgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBKU0RPTUJpbmRpbmdJbnRlcm5hbHMuanM7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxREVGQ0IzMUU1NkMxQjkwMDBEOUU1RiAv
KiBKU0RPTU1hcExpa2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNET01NYXBMaWtlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3NjcwLDYg
KzE3NjgyLDkgQEAKIAkJCQk0MTM4MEMyMTFGMzQzNjhEMDAxNTVGREEgLyogQ2FjaGVTdG9yYWdl
LmNwcCAqLywKIAkJCQk0MTM4MEMyMjFGMzQzNjkwMDAxNTVGREEgLyogQ2FjaGVTdG9yYWdlLmgg
Ki8sCiAJCQkJNDEzODBDMjQxRjM0MzY5NzAwMTU1RkRBIC8qIENhY2hlU3RvcmFnZS5pZGwgKi8s
CisJCQkJNDFEMTI5QzkxRjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24u
Y3BwICovLAorCQkJCTQxRDEyOUNDMUYzRDBFRTMwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25u
ZWN0aW9uLmggKi8sCisJCQkJNDFEMTI5Q0ExRjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFn
ZVJlY29yZC5oICovLAogCQkJCTQxRkIyNzhFMUYzNEMyODIwMDc5NTQ4NyAvKiBET01XaW5kb3dD
YWNoZXMuY3BwICovLAogCQkJCTQxRkIyNzhDMUYzNEMyODIwMDc5NTQ4NyAvKiBET01XaW5kb3dD
YWNoZXMuaCAqLywKIAkJCQk0MTM4MEMyQjFGMzQzRTJGMDAxNTVGREEgLyogRE9NV2luZG93Q2Fj
aGVzLmlkbCAqLywKQEAgLTE5MjY4LDYgKzE5MjgzLDcgQEAKIAkJCQlCQzEyNEVFNjBDMjY0MUNE
MDA5RTIzNDkgLyogQmFyUHJvcC5pZGwgKi8sCiAJCQkJNDYwQkI2MTMxRDBBMUJFQzAwMjIxODEy
IC8qIEJhc2U2NFV0aWxpdGllcy5jcHAgKi8sCiAJCQkJNDYwQkI2MTQxRDBBMUJFQzAwMjIxODEy
IC8qIEJhc2U2NFV0aWxpdGllcy5oICovLAorCQkJCTQxRDEyOUQ0MUYzRDBGNjYwMEQxNUU0NyAv
KiBDYWNoZVN0b3JhZ2VQcm92aWRlci5oICovLAogCQkJCTA3MkNBODYwMTZDQjREQzMwMDhBRTEz
MSAvKiBDYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcCAqLywKIAkJCQkwNzlEMDg2NzE2MkYyMEU4
MDBEQjg2NTggLyogQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5oICovLAogCQkJCTA3OUQwODZBMTYy
RjIxRjkwMERCODY1OCAvKiBDYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAgKi8sCkBA
IC0yNjc4Miw3ICsyNjc5OCwxMSBAQAogCQkJCTA3NTM4NjAzMTQ0ODlFOTgwMEI3ODQ1MiAvKiBD
YWNoZWRUZXh0VHJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQjE2QzI4MDk3OUMzQkQwMDQ2
Nzc0MSAvKiBDYWNoZWRYU0xTdHlsZVNoZWV0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0YxOTk1
MDA4MjQ1RTU5MDAxRTlBQkMgLyogQ2FjaGVQb2xpY3kuaCBpbiBIZWFkZXJzICovLAorCQkJCTQx
RDEyOUQwMUYzRDBGMDUwMEQxNUU0NyAvKiBDYWNoZVF1ZXJ5T3B0aW9ucy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDEzODBDMjkxRjM0MzZBQzAwMTU1RkRBIC8qIENhY2hlU3RvcmFnZS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNDFEMTI5RDMxRjNEMEYxNjAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZUNv
bm5lY3Rpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTQxRDEyOUQ1MUYzRDBGNjkwMEQxNUU0NyAv
KiBDYWNoZVN0b3JhZ2VQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5RDIxRjNE
MEYxMjAwRDE1RTQ3IC8qIENhY2hlU3RvcmFnZVJlY29yZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RTQzQUY4RTcxQUM1QjdFQzAwQ0E3MTdFIC8qIENhY2hlVmFsaWRhdGlvbi5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDlBRTJEOTcxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGN1bGF0aW9uVmFsdWUuaCBp
biBIZWFkZXJzICovLAogCQkJCTdDMUU4RDAxMUVEMEMyREEwMEIxRDk4MyAvKiBDYWxsYmFja1Jl
c3VsdC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzI2MCw2ICsyNzI4MCw3IEBACiAJCQkJMkUzN0RG
REIxMkRCQUZCODAwQTZCMjMzIC8qIERPTVVSTC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0Q5REUx
ODIxN0FBRDZBNDAwRUEzODZEIC8qIERPTVVSTE1lZGlhU291cmNlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxNDAzQjk5NzA5RUIxM0FGMDA3OTdDN0YgLyogRE9NV2luZG93LmggaW4gSGVhZGVycyAq
LywKKwkJCQk0MUQxMjlEMTFGM0QwRjBFMDBEMTVFNDcgLyogRE9NV2luZG93Q2FjaGVzLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1MUZBMkQ3ODE1MjEzMkIzMDBDMUJBMEIgLyogRE9NV2luZG93RXh0
ZW5zaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTg1RkM3NTFCQjRDNEU4MDAxMjg5OEYgLyog
RE9NV2luZG93SW5kZXhlZERhdGFiYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0QyQUQwNDE0
QjgyM0E2MDA5M0RGMzIgLyogRE9NV2luZG93UHJvcGVydHkuaCBpbiBIZWFkZXJzICovLApAQCAt
MjczNTUsNiArMjczNzYsNyBAQAogCQkJCTg0NzMwRDg1MTI0OEYwQjMwMEQzQTlDOSAvKiBGRU1v
cnBob2xvZ3kuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0NzMwRDg3MTI0OEYwQjMwMEQzQTlDOSAv
KiBGRU9mZnNldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ3MzBEODkxMjQ4RjBCMzAwRDNBOUM5
IC8qIEZFU3BlY3VsYXJMaWdodGluZy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5REIxRjNE
MTQzODAwRDE1RTQ3IC8qIEZldGNoSGVhZGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE2RTZG
RTgxQkJEMTJERjAwMEE2MDIzIC8qIEZldGNoSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQxQUQ3NTNBMUNFRjZCRDEwMEEzMTQ4NiAvKiBGZXRjaE9wdGlvbnMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTdDRTE5MTREMUYyQTlBRkIwMDI3MkY3OCAvKiBGZXRjaFJlZmVycmVy
UG9saWN5LmggaW4gSGVhZGVycyAqLywKQEAgLTMwMjgxLDYgKzMwMzAzLDcgQEAKIAkJCQlBNTJB
Njg2NjFEQkQ0QjVEMDA4MzM3M0YgLyogV29ya2VyRGVidWdnZXJBZ2VudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTNFMjY0MzExNDc0ODk5MTAwNUE4NTg4IC8qIFdvcmtlckV2ZW50UXVldWUuaCBp
biBIZWFkZXJzICovLAogCQkJCTJFNDM0NjQ5MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJHbG9i
YWxTY29wZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5Q0UxRjNEMEVGNjAwRDE1RTQ3IC8q
IFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTg1RkNCNDFC
QjRDNEU4MDAxMjg5OEYgLyogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTJFNDM0NjRCMEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJHbG9iYWxT
Y29wZVByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTRBMEM2MjFEQjdGOEMxMDAxN0E5MEIg
LyogV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDg5Myw2
ICszMDkxNiw3IEBACiAJCQkJMDc1Mzg2MDIxNDQ4OUU5ODAwQjc4NDUyIC8qIENhY2hlZFRleHRU
cmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0IxNkMyNzA5NzlDM0JEMDA0Njc3NDEgLyog
Q2FjaGVkWFNMU3R5bGVTaGVldC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MTM4MEMyODFGMzQz
NkFDMDAxNTVGREEgLyogQ2FjaGVTdG9yYWdlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxRDEy
OUNGMUYzRDBFRkUwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUU0M0FGOEU2MUFDNUI3RTgwMENBNzE3RSAvKiBDYWNoZVZhbGlkYXRpb24u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlBRTJEOTYxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGN1
bGF0aW9uVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTUyMDc2MDQxRjI2NzVGRTAwN0Qy
QUFCIC8qIENhbGxUcmFjZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKaW5kZXggNjZjN2YwOGYwZjI4YjA0NmJiNGMz
NWU4ZTliZjE5ZmJkZjJhYmM1NS4uMmE4MTNiNmExMjBkZjM1OGYwOGJkMjcxOGM5NjU3MzQzMDFk
ZWY0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJs
YXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNw
cApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3Bl
Y3Rvck92ZXJsYXkuaCIKIAorI2luY2x1ZGUgIkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCiAjaW5j
bHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJFZGl0b3JDbGllbnQuaCIKICNpbmNs
dWRlICJFbGVtZW50LmgiCkBAIC04NjUsNyArODY2LDggQEAgUGFnZSogSW5zcGVjdG9yT3Zlcmxh
eTo6b3ZlcmxheVBhZ2UoKQogICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9u
KAogICAgICAgICBjcmVhdGVFbXB0eUVkaXRvckNsaWVudCgpLAogICAgICAgICBTb2NrZXRQcm92
aWRlcjo6Y3JlYXRlKCksCi0gICAgICAgIG1ha2VVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+
KCkKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4oKSwKKyAgICAgICAg
Q2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpCiAgICAgKTsKICAgICBmaWxsV2l0aEVtcHR5
Q2xpZW50cyhwYWdlQ29uZmlndXJhdGlvbik7CiAgICAgbV9vdmVybGF5UGFnZSA9IHN0ZDo6bWFr
ZV91bmlxdWU8UGFnZT4oV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbikpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9DYWNoZVN0b3JhZ2VQcm92aWRlci5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9DYWNoZVN0b3JhZ2VQcm92aWRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhZWM5ZjQ2MTk4YWE0
MWE3YTJiNjJmZjUyYTA1ZGZiN2UzYzgzYjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NhY2hlU3RvcmFnZVByb3ZpZGVyLmgKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5o
IgorI2luY2x1ZGUgIlNlc3Npb25JRC5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV0VCQ09SRV9FWFBPUlQgQ2FjaGVTdG9yYWdl
UHJvdmlkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxDYWNoZVN0b3JhZ2VQcm92aWRlcj4geworcHVi
bGljOgorICAgIHN0YXRpYyBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+IGNyZWF0ZSgpIHsgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgQ2FjaGVTdG9yYWdlUHJvdmlkZXIpOyB9CisgICAgdmlydHVhbCBS
ZWY8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4gY3JlYXRlQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbihT
ZXNzaW9uSUQpIHsgcmV0dXJuIENhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmNyZWF0ZSgpOyB9Cisg
ICAgdmlydHVhbCB+Q2FjaGVTdG9yYWdlUHJvdmlkZXIoKSB7IH07CisKK3Byb3RlY3RlZDoKKyAg
ICBDYWNoZVN0b3JhZ2VQcm92aWRlcigpID0gZGVmYXVsdDsKK307CisKK30KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
Y3BwCmluZGV4IGMyNjk4N2Y4ZGNiMmU5ZTk2MDZkYWE5NzJkMmNmY2M3YmVjYzVmYjcuLjcwNDFm
MWNmMjk1OTU0ZWFmZjA0ZDZiOGE2MTY0ZjhmYWFjMGQ2NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApA
QCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkJhY2tGb3J3YXJkQ2xpZW50LmgiCiAjaW5jbHVk
ZSAiQmFja0ZvcndhcmRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiQ1NTQW5pbWF0aW9uQ29udHJv
bGxlci5oIgorI2luY2x1ZGUgIkNhY2hlU3RvcmFnZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiQ2hy
b21lLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiQ29uc3RhbnRQcm9w
ZXJ0eU1hcC5oIgpAQCAtMjIyLDYgKzIyMyw3IEBAIFBhZ2U6OlBhZ2UoUGFnZUNvbmZpZ3VyYXRp
b24mJiBwYWdlQ29uZmlndXJhdGlvbikKICNlbmRpZgogICAgICwgbV9zb2NrZXRQcm92aWRlcihX
VEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLnNvY2tldFByb3ZpZGVyKSkKICAgICAsIG1fYXBwbGlj
YXRpb25DYWNoZVN0b3JhZ2UoKldURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25D
YWNoZVN0b3JhZ2UpKQorICAgICwgbV9jYWNoZVN0b3JhZ2VQcm92aWRlcihXVEZNb3ZlKHBhZ2VD
b25maWd1cmF0aW9uLmNhY2hlU3RvcmFnZVByb3ZpZGVyKSkKICAgICAsIG1fZGF0YWJhc2VQcm92
aWRlcigqV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi5kYXRhYmFzZVByb3ZpZGVyKSkKICAgICAs
IG1fcGx1Z2luSW5mb1Byb3ZpZGVyKCpXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLnBsdWdpbklu
Zm9Qcm92aWRlcikpCiAgICAgLCBtX3N0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcigqV1RGTW92ZShw
YWdlQ29uZmlndXJhdGlvbi5zdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApp
bmRleCA5MDlmMzc5MDJkMzNlMWQwZWYzZTVhOWI0ZjY0YmFiNGRmYTVmZjBiLi41ZmM4OWNkYzU5
MmM5NDllYjE4ZDljZWExN2Y2MWZiY2QzNTUxMjAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtNzcsNiAr
NzcsNyBAQCBjbGFzcyBBbHRlcm5hdGl2ZVRleHRDbGllbnQ7CiBjbGFzcyBBcHBsaWNhdGlvbkNh
Y2hlU3RvcmFnZTsKIGNsYXNzIEJhY2tGb3J3YXJkQ29udHJvbGxlcjsKIGNsYXNzIEJhY2tGb3J3
YXJkQ2xpZW50OworY2xhc3MgQ2FjaGVTdG9yYWdlUHJvdmlkZXI7CiBjbGFzcyBDaHJvbWU7CiBj
bGFzcyBDaHJvbWVDbGllbnQ7CiBjbGFzcyBDb2xvcjsKQEAgLTUxMCw2ICs1MTEsNyBAQCBwdWJs
aWM6CiAKICAgICBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSYgYXBwbGljYXRpb25DYWNoZVN0b3Jh
Z2UoKSB7IHJldHVybiBtX2FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOyB9CiAgICAgRGF0YWJhc2VQ
cm92aWRlciYgZGF0YWJhc2VQcm92aWRlcigpIHsgcmV0dXJuIG1fZGF0YWJhc2VQcm92aWRlcjsg
fQorICAgIENhY2hlU3RvcmFnZVByb3ZpZGVyJiBjYWNoZVN0b3JhZ2VQcm92aWRlcigpIHsgcmV0
dXJuIG1fY2FjaGVTdG9yYWdlUHJvdmlkZXI7IH0KICAgICBTb2NrZXRQcm92aWRlciYgc29ja2V0
UHJvdmlkZXIoKSB7IHJldHVybiBtX3NvY2tldFByb3ZpZGVyOyB9CiAKICAgICBTdG9yYWdlTmFt
ZXNwYWNlUHJvdmlkZXImIHN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcigpIHsgcmV0dXJuIG1fc3Rv
cmFnZU5hbWVzcGFjZVByb3ZpZGVyLmdldCgpOyB9CkBAIC03ODQsNiArNzg2LDcgQEAgcHJpdmF0
ZToKIAogICAgIFJlZjxTb2NrZXRQcm92aWRlcj4gbV9zb2NrZXRQcm92aWRlcjsKICAgICBSZWY8
QXBwbGljYXRpb25DYWNoZVN0b3JhZ2U+IG1fYXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7CisgICAg
UmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyOwogICAgIFJl
ZjxEYXRhYmFzZVByb3ZpZGVyPiBtX2RhdGFiYXNlUHJvdmlkZXI7CiAgICAgUmVmPFBsdWdpbklu
Zm9Qcm92aWRlcj4gbV9wbHVnaW5JbmZvUHJvdmlkZXI7CiAgICAgUmVmPFN0b3JhZ2VOYW1lc3Bh
Y2VQcm92aWRlcj4gbV9zdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCmluZGV4IDExMjNkZDZkNDA1YTk0ODEzYTRhNzg3NDJj
N2Q2NmQyY2YxYmVlN2MuLmYxYjgyN2RjZmJhYWU2ZTZjOGRjY2FkOWQxOGQ0OTM3OWRjOTUxYzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCkBAIC0yOCw2ICsy
OCw3IEBACiAKICNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oIgogI2luY2x1ZGUg
IkJhY2tGb3J3YXJkQ2xpZW50LmgiCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCIK
ICNpbmNsdWRlICJEYXRhYmFzZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiRGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnQuaCIKICNpbmNsdWRlICJFZGl0b3JDbGllbnQuaCIKQEAgLTQzLDEwICs0NCwxMSBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhZ2VDb25maWd1cmF0aW9uOjpQYWdlQ29uZmln
dXJhdGlvbihVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmIGVkaXRvckNsaWVudCwgUmVmPFNvY2tl
dFByb3ZpZGVyPiYmIHNvY2tldFByb3ZpZGVyLCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+
JiYgbGliV2ViUlRDUHJvdmlkZXIpCitQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRp
b24oVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiBlZGl0b3JDbGllbnQsIFJlZjxTb2NrZXRQcm92
aWRlcj4mJiBzb2NrZXRQcm92aWRlciwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmIGxp
YldlYlJUQ1Byb3ZpZGVyLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+JiYgY2FjaGVTdG9yYWdl
UHJvdmlkZXIpCiAgICAgOiBlZGl0b3JDbGllbnQoV1RGTW92ZShlZGl0b3JDbGllbnQpKQogICAg
ICwgc29ja2V0UHJvdmlkZXIoV1RGTW92ZShzb2NrZXRQcm92aWRlcikpCiAgICAgLCBsaWJXZWJS
VENQcm92aWRlcihXVEZNb3ZlKGxpYldlYlJUQ1Byb3ZpZGVyKSkKKyAgICAsIGNhY2hlU3RvcmFn
ZVByb3ZpZGVyKFdURk1vdmUoY2FjaGVTdG9yYWdlUHJvdmlkZXIpKQogewogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKaW5kZXggZjUzYTEyYzM4N2VhZmI0MDRmMmEw
NjY2MDI3NTllYzlhN2ZjMGY1Zi4uYTg2MmQ0MzAyZTAzNjQ2NGY5MTBhNTdiMDFkNzdiNjRjYzZl
ZjQyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaApAQCAtMzQsNiAr
MzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBbHRlcm5hdGl2ZVRleHRDbGllbnQ7
CiBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTsKIGNsYXNzIEJhY2tGb3J3YXJkQ2xpZW50
OworY2xhc3MgQ2FjaGVTdG9yYWdlUHJvdmlkZXI7CiBjbGFzcyBDaHJvbWVDbGllbnQ7CiBjbGFz
cyBDb250ZXh0TWVudUNsaWVudDsKIGNsYXNzIERhdGFiYXNlUHJvdmlkZXI7CkBAIC01OCw3ICs1
OSw3IEBAIGNsYXNzIFdlYkdMU3RhdGVUcmFja2VyOwogY2xhc3MgUGFnZUNvbmZpZ3VyYXRpb24g
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDb25maWd1cmF0aW9uKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgV0VCQ09SRV9FWFBPUlQgUGFnZUNvbmZpZ3Vy
YXRpb24oVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiwgUmVmPFNvY2tldFByb3ZpZGVyPiYmLCBV
bmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYpOworICAgIFdFQkNPUkVfRVhQT1JUIFBhZ2VD
b25maWd1cmF0aW9uKFVuaXF1ZVJlZjxFZGl0b3JDbGllbnQ+JiYsIFJlZjxTb2NrZXRQcm92aWRl
cj4mJiwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPiYmLCBSZWY8Q2FjaGVTdG9yYWdlUHJv
dmlkZXI+JiYpOwogICAgIFdFQkNPUkVfRVhQT1JUIH5QYWdlQ29uZmlndXJhdGlvbigpOwogCiAg
ICAgQWx0ZXJuYXRpdmVUZXh0Q2xpZW50KiBhbHRlcm5hdGl2ZVRleHRDbGllbnQgeyBudWxscHRy
IH07CkBAIC04Nyw2ICs4OCw3IEBAIHB1YmxpYzoKIAogICAgIFJlZlB0cjxBcHBsaWNhdGlvbkNh
Y2hlU3RvcmFnZT4gYXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7CiAgICAgUmVmUHRyPERhdGFiYXNl
UHJvdmlkZXI+IGRhdGFiYXNlUHJvdmlkZXI7CisgICAgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVy
PiBjYWNoZVN0b3JhZ2VQcm92aWRlcjsKICAgICBSZWZQdHI8UGx1Z2luSW5mb1Byb3ZpZGVyPiBw
bHVnaW5JbmZvUHJvdmlkZXI7CiAgICAgUmVmUHRyPFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcj4g
c3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyOwogICAgIFJlZlB0cjxVc2VyQ29udGVudFByb3ZpZGVy
PiB1c2VyQ29udGVudFByb3ZpZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL2dy
YXBoaWNzL1NWR0ltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFn
ZS5jcHAKaW5kZXggNzg2ZThmN2E3YmNhNjA4MDlhNTU1YjY1ZjgzNWMyYTUwYTAwODJlOC4uODI1
OWIyZjhlMjg2NjNiMjE3Y2RlYTA0YzJmOGVjMzgzN2NkNzhmNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiU1ZHSW1hZ2UuaCIKIAorI2luY2x1ZGUgIkNhY2hlU3RvcmFnZVBy
b3ZpZGVyLmgiCiAjaW5jbHVkZSAiQ2hyb21lLmgiCiAjaW5jbHVkZSAiQ29tbW9uVk0uaCIKICNp
bmNsdWRlICJET01XaW5kb3cuaCIKQEAgLTQyOSw3ICs0MzAsOCBAQCBFbmNvZGVkRGF0YVN0YXR1
cyBTVkdJbWFnZTo6ZGF0YUNoYW5nZWQoYm9vbCBhbGxEYXRhUmVjZWl2ZWQpCiAgICAgICAgIFBh
Z2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uKAogICAgICAgICAgICAgY3JlYXRlRW1w
dHlFZGl0b3JDbGllbnQoKSwKICAgICAgICAgICAgIFNvY2tldFByb3ZpZGVyOjpjcmVhdGUoKSwK
LSAgICAgICAgICAgIG1ha2VVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+KCkKKyAgICAgICAg
ICAgIG1ha2VVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+KCksCisgICAgICAgICAgICBDYWNo
ZVN0b3JhZ2VQcm92aWRlcjo6Y3JlYXRlKCkKICAgICAgICAgKTsKICAgICAgICAgZmlsbFdpdGhF
bXB0eUNsaWVudHMocGFnZUNvbmZpZ3VyYXRpb24pOwogICAgICAgICBtX2Nocm9tZUNsaWVudCA9
IHN0ZDo6bWFrZV91bmlxdWU8U1ZHSW1hZ2VDaHJvbWVDbGllbnQ+KHRoaXMpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0
cy50eHQKaW5kZXggN2UzMWQ1MmIwNTc5M2MxNmU1M2UyNTYxMTBhNjNiZmVhY2VhODM5YS4uOWI4
NTgzZTM4YjZlY2FjZGY3NzAxZTAwOTIyMGI4YmY4MGNhMzkzZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0
CkBAIC01Miw2ICs1Miw3IEBAIHNldChXZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAi
JHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9BcHBsZVBheSIKICAgICAiJHtXRUJLSVQyX0RJUn0v
V2ViUHJvY2Vzcy9BcHBsaWNhdGlvbkNhY2hlIgogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9j
ZXNzL0F1dG9tYXRpb24iCisgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvQ2FjaGUiCiAg
ICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvQ29va2llcyIKICAgICAiJHtXRUJLSVQyX0RJ
Un0vV2ViUHJvY2Vzcy9EYXRhYmFzZXMiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3Mv
RGF0YWJhc2VzL0luZGV4ZWREQiIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IDkwOWE1ZWNkN2Q3YjFhYjAyMTRiMjkxOTcwNDk2MTg4NzA3
MzY0MTIuLmE4Mzg4MTYwZDFlMWI4OWU0ODBiMWM2NDMzZjBmNzNhNTAzNWY4ZjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtODkxLDYg
Kzg5MSw3IEBACiAJCTQxMzA3NUIyMURFODVGNTgwMDM5RUM2OSAvKiBMaWJXZWJSVENTb2NrZXRG
YWN0b3J5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTMwNzVBNjFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oICovOyB9
OwogCQk0MTMwNzVCMzFERTg1RjU4MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTcxREU4
NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmNwcCAqLzsgfTsKIAkJNDEzMDc1QjQx
REU4NUY1ODAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVBODFERTg1RUU3MDAzOUVDNjkgLyog
TGliV2ViUlRDUHJvdmlkZXIuaCAqLzsgfTsKKwkJNDFEMTI5REExRjNEMTAxODAwRDE1RTQ3IC8q
IFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MUQxMjlEOTFGM0QxMDE0MDBEMTVFNDcgLyogV2ViQ2FjaGVTdG9y
YWdlUHJvdmlkZXIuaCAqLzsgfTsKIAkJNDFEQzQ1OTYxRTNENkUyMjAwQjExRjUxIC8qIE5ldHdv
cmtSVENQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDFEQzQ1OTQxRTNENkUxRTAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5oICov
OyB9OwogCQk0MURDNDU5NzFFM0Q2RTIyMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxREM0NTk1
MUUzRDZFMUUwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuY3BwICovOyB9OwogCQk0MURD
NDU5QjFFM0RCQjI4MDBCMTFGNTEgLyogTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxREM0NTk5MUUzREJCMjQw
MEIxMUY1MSAvKiBMaWJXZWJSVENTb2NrZXRDbGllbnQuY3BwICovOyB9OwpAQCAtMzE0Miw2ICsz
MTQzLDcgQEAKIAkJNDEzMDc1QTcxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IG5hbWUg
PSBMaWJXZWJSVENQcm92aWRlci5jcHA7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQ
cm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0
aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OwogCQk0MTMwNzVBODFERTg1RUU3MDAz
OUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBs
aW5lRW5kaW5nID0gMDsgbmFtZSA9IExpYldlYlJUQ1Byb3ZpZGVyLmg7IHBhdGggPSBOZXR3b3Jr
L3dlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xh
bmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLm9iamNwcDsgfTsKIAkJ
NDFBQzg2ODExRTA0MkU1MzAwMzAzMDc0IC8qIFdlYlJUQ1Jlc29sdmVyLm1lc3NhZ2VzLmluICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgbGluZUVuZGluZyA9IDA7IG5hbWUgPSBXZWJSVENSZXNvbHZlci5tZXNz
YWdlcy5pbjsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL1dlYlJUQ1Jlc29sdmVyLm1lc3NhZ2VzLmlu
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZp
ZXIgPSAiPG5vbmU+IjsgfTsKKwkJNDFEMTI5RDkxRjNEMTAxNDAwRDE1RTQ3IC8qIFdlYkNhY2hl
U3RvcmFnZVByb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxREM0NTk0MUUzRDZFMUUwMEIxMUY1
MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gTmV0d29ya1JUQ1Byb3ZpZGVyLmg7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0
d29ya1JUQ1Byb3ZpZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxREM0NTk1
MUUzRDZFMUUwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcDsgcGF0aCA9IE5l
dHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MURDNDU5ODFFM0Q2RUQ2MDBCMTFGNTEgLyogTmV0d29ya1JUQ1By
b3ZpZGVyLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IE5ldHdvcmtSVENQcm92
aWRlci5tZXNzYWdlcy5pbjsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRD
UHJvdmlkZXIubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01OTEy
LDYgKzU5MTQsMTQgQEAKIAkJCW5hbWUgPSB3ZWJydGM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOwogCQl9OworCQk0MUQxMjlEODFGM0QxMDE0MDBEMTVFNDcgLyogQ2FjaGUgKi8gPSB7CisJ
CQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTQxRDEyOUQ5MUYzRDEwMTQw
MEQxNUU0NyAvKiBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oICovLAorCQkJKTsKKwkJCXBhdGgg
PSBDYWNoZTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTQ0NTBBRUJFMURD
M0ZBQUMwMDk5NDNGMiAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hp
bGRyZW4gPSAoCkBAIC02NTkyLDYgKzY2MDIsNyBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJMUFC
MUY3NzAxRDFCMkY1RDAwN0M5QkQxIC8qIEFwcGxlUGF5ICovLAogCQkJCTFDMEExOTQzMUM4RkYx
QTgwMEZFMEVCQiAvKiBBdXRvbWF0aW9uICovLAorCQkJCTQxRDEyOUQ4MUYzRDEwMTQwMEQxNUU0
NyAvKiBDYWNoZSAqLywKIAkJCQk3QzZFNzBGODE4QjJENDdFMDBGMjRFMkUgLyogY29jb2EgKi8s
CiAJCQkJMzMwOTM0NEIxMzE1QjkzQTAwOTdBN0JDIC8qIENvb2tpZXMgKi8sCiAJCQkJNTEyQTk3
NTQxODBERjkyNzAwMzlBMTQ5IC8qIERhdGFiYXNlcyAqLywKQEAgLTg2ODksNiArODcwMCw3IEBA
CiAJCQkJQkM3MkJBMUUxMUU2NDkwNzAwMUVCNEVBIC8qIFdlYkJhY2tGb3J3YXJkTGlzdC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTE4RDJDQUUxMkQ1MTUzQjAwM0JCOTNCIC8qIFdlYkJhY2tGb3J3
YXJkTGlzdEl0ZW0uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNzJCOUZCMTFFNjQ3NkIwMDFFQjRF
QSAvKiBXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEMTI5
REExRjNEMTAxODAwRDE1RTQ3IC8qIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQ0Y1MDcyODEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZv
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzAzMkQ3NTEwRjQzNzhEMDA1OEMxNUEgLyogV2ViQ2hy
b21lQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkzRjg3QjlCRTE1ODk0MDE5MDA5MEZGNjIg
LyogV2ViQ29sb3JDaG9vc2VyLmggaW4gSGVhZGVycyAqLywKQEAgLTg4MzEsNyArODg0Myw2IEBA
CiAJCQkJQkNFMEU0MjUxNjhCN0EyODAwNTdFNjZBIC8qIFdlYlByb2Nlc3NTdXBwbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxQTFFMDkzNDE4ODYxRDM4MDBEMkRDNDkgLyogV2ViUHJvZ3Jl
c3NUcmFja2VyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTJGNTg5RDEyQTg4Mzg4MDA2
Mjk1MzAgLyogV2ViUHJvdGVjdGlvblNwYWNlLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUJFQjYy
QzFGM0E1QUQ3MDA1MDI5QjkgLyogV2ViU2VydmljZVdvcmtlclByb3ZpZGVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkzNzk0ODQwNDE1MEMzNTA2MDBFNTJDRTkgLyogV2ViUmVuZGVyTGF5ZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTM3NjA4ODFGMTUwNDEzRTkwMEZDODJDNyAvKiBXZWJSZW5kZXJP
YmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMEFGRkJBMTY1NDIwNDgwMDFCQTA1RSAvKiBX
ZWJSZXNvdXJjZUxvYWRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC04ODQzLDYgKzg4NTQsNyBAQAog
CQkJCTQxREM0NTlGMUUzREJEQTUwMEIxMUY1MSAvKiBXZWJSVENTb2NrZXQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTdDMzYxRDczMTkyN0ZBMzYwMDM2QTU5RCAvKiBXZWJTY3JpcHRNZXNzYWdlSGFu
ZGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNCOTQ4NDkxMUZGNEI2NTAwMDMyQjM5IC8qIFdl
YlNlYXJjaFBvcHVwTWVudS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTFCRUI2MkMxRjNBNUFENzAw
NTAyOUI5IC8qIFdlYlNlcnZpY2VXb3JrZXJQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MUE0ODMyRDcxQTlDREY5NjAwOEI0REZFIC8qIFdlYnNpdGVEYXRhLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQTQ4MzJEMTFBOUJEQzJGMDA4QjRERkUgLyogV2Vic2l0ZURhdGFSZWNvcmQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFBNTNDMkFBMUEzMjU3MzAwMDRFOEM3MCAvKiBXZWJzaXRlRGF0YVN0
b3JlLmggaW4gSGVhZGVycyAqLywKQEAgLTEwMzcxLDcgKzEwMzgzLDYgQEAKIAkJCQkyREE5NDRB
MTE4ODRFNEYwMDBFRDg2REIgLyogV2ViSU9TRXZlbnRGYWN0b3J5Lm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJQzAzMzdERDMxMjdBMkEwRTAwOEZGNEY0IC8qIFdlYktleWJvYXJkRXZlbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMUE2MjgwRjMxOTE5OTgyQTAwNkFEOUY5IC8qIFdlYktpdC5tIGlu
IFNvdXJjZXMgKi8sCi0JCQkJNTFCRUI2MkIxRjNBNUFENzAwNTAyOUI5IC8qIFdlYlNlcnZpY2VX
b3JrZXJQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzlCQTUwNDE2OTdDNDUzMDBF
NDQ2MTYgLyogV2ViS2l0MkluaXRpYWxpemUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDY1MjUw
RTYxRUNGNTJEQzAwMjAyNUNCIC8qIFdlYktpdDJJbml0aWFsaXplQ29jb2EubW0gaW4gU291cmNl
cyAqLywKIAkJCQk1MUZCMDhGRjE2MzlERTFBMDBFQzMyNEEgLyogV2ViTG9hZGVyU3RyYXRlZ3ku
Y3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMDQ2OSw2ICsxMDQ4MCw3IEBACiAJCQkJNTFGMDYwRTEx
NjU0MzE4NTAwRjMyODFDIC8qIFdlYlJUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk3QzM2MUQ3MjE5MjdGQTM2MDAzNkE1OUQgLyogV2ViU2NyaXB0TWVzc2Fn
ZUhhbmRsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRDNCOTQ4NDgxMUZGNEI2NTAwMDMyQjM5
IC8qIFdlYlNlYXJjaFBvcHVwTWVudS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MUJFQjYyQjFG
M0E1QUQ3MDA1MDI5QjkgLyogV2ViU2VydmljZVdvcmtlclByb3ZpZGVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTFBNDgzMkQ2MUE5Q0RGOTYwMDhCNERGRSAvKiBXZWJzaXRlRGF0YS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkxQTQ4MzJEOTFBOUQxRkQyMDA4QjRERkUgLyogV2Vic2l0ZURhdGFS
ZWNvcmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE1M0MyQTkxQTMyNTcyQjAwNEU4QzcwIC8q
IFdlYnNpdGVEYXRhU3RvcmUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvQ2FjaGUvV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9DYWNoZS9XZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjBlNzg4MzRkZjdhM2Q4YjQwYzFlMjk5ZDc0Njc5Yzk5ODZjNThhZDYKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQ2FjaGUvV2ViQ2FjaGVTdG9yYWdl
UHJvdmlkZXIuaApAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbmNsdWRlIDxXZWJDb3JlL0NhY2hlU3RvcmFnZVByb3ZpZGVyLmg+CisKK25hbWVzcGFjZSBX
ZWJLaXQgeworCitjbGFzcyBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlciBmaW5hbCA6IHB1YmxpYyBX
ZWJDb3JlOjpDYWNoZVN0b3JhZ2VQcm92aWRlciB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxX
ZWJDYWNoZVN0b3JhZ2VQcm92aWRlcj4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBX
ZWJDYWNoZVN0b3JhZ2VQcm92aWRlcik7IH0KKworcHJpdmF0ZToKKyAgICBXZWJDYWNoZVN0b3Jh
Z2VQcm92aWRlcigpID0gZGVmYXVsdDsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggOGNlNmEyZTZhNDljZTEwYjgxOGU3Zjc2N2Y5
Njg2MzU0M2RiMWMxYy4uZmUzN2UwZDU0MTE4NWU1OTg4YTBjZGViYjVkNzRiZGZmMTNlNjQ2MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTY4
LDYgKzY4LDcgQEAKICNpbmNsdWRlICJXZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQuaCIKICNpbmNs
dWRlICJXZWJCYWNrRm9yd2FyZExpc3RJdGVtLmgiCiAjaW5jbHVkZSAiV2ViQmFja0ZvcndhcmRM
aXN0UHJveHkuaCIKKyNpbmNsdWRlICJXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgogI2luY2x1
ZGUgIldlYkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIldlYkNvbG9yQ2hvb3Nlci5oIgogI2lu
Y2x1ZGUgIldlYkNvbnRleHRNZW51LmgiCkBAIC0zNzEsNyArMzcyLDggQEAgV2ViUGFnZTo6V2Vi
UGFnZSh1aW50NjRfdCBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0
ZXJzKQogICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uKAogICAgICAgICBt
YWtlVW5pcXVlUmVmPFdlYkVkaXRvckNsaWVudD4odGhpcyksCiAgICAgICAgIFdlYlNvY2tldFBy
b3ZpZGVyOjpjcmVhdGUoKSwKLSAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJLaXQ6OkxpYldlYlJU
Q1Byb3ZpZGVyPigpCisgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViS2l0OjpMaWJXZWJSVENQcm92
aWRlcj4oKSwKKyAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuY2FjaGVTdG9yYWdlUHJv
dmlkZXIoKQogICAgICk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0gbmV3
IFdlYkNocm9tZUNsaWVudCgqdGhpcyk7CiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggMzc4MjI4NjZhMjdkNzBkNmE0
YWNkZThkMjZkNDc0OTQ5MTVhZmQwMS4uODcwZjNjZGU4NTM3YzYyODlmYzE3NWYyN2JlN2M5ZDQ4
NmMwN2E1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtNDQs
NiArNDQsNyBAQAogI2luY2x1ZGUgIlN0YXRpc3RpY3NEYXRhLmgiCiAjaW5jbHVkZSAiVXNlckRh
dGEuaCIKICNpbmNsdWRlICJXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5LmgiCisjaW5jbHVkZSAi
V2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJXZWJDb25uZWN0aW9uVG9VSVBy
b2Nlc3MuaCIKICNpbmNsdWRlICJXZWJDb29raWVNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmgiCkBAIC0xNjAsNiArMTYxLDcgQEAgV2ViUHJvY2Vzczo6V2ViUHJv
Y2VzcygpCiAjZW5kaWYKICAgICAsIG1fd2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcihX
ZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyOjpjcmVhdGUoKSkKICAgICAsIG1fd2ViTG9h
ZGVyU3RyYXRlZ3koKm5ldyBXZWJMb2FkZXJTdHJhdGVneSkKKyAgICAsIG1fY2FjaGVTdG9yYWdl
UHJvdmlkZXIoV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpKQogICAgICwgbV9kbnNQ
cmVmZXRjaEh5c3RlcmVyaXMoW3RoaXNdKEh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBpZiAoc3Rh
dGUgPT0gSHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVkKSBtX2Ruc1ByZWZldGNoZWRIb3N0cy5jbGVh
cigpOyB9KQogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgICwgbV9wbHVnaW5Q
cm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIoUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyOjpj
cmVhdGUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IGNmMmFiODEz
YjM3OTAzNzNiMmRhMGZhNmZhYmY3YmFjNDdiMmY0OTcuLjEyM2M0YmIxOThjYWY3MGNkOTc2ZjY5
NTk5Zjc3NzkwYjFkMGJiNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApA
QCAtODAsNiArODAsNyBAQCBjbGFzcyBPYmpDT2JqZWN0R3JhcGg7CiBjbGFzcyBVc2VyRGF0YTsK
IGNsYXNzIFdheWxhbmRDb21wb3NpdG9yRGlzcGxheTsKIGNsYXNzIFdlYkF1dG9tYXRpb25TZXNz
aW9uUHJveHk7CitjbGFzcyBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlcjsKIGNsYXNzIFdlYkNvbm5l
Y3Rpb25Ub1VJUHJvY2VzczsKIGNsYXNzIFdlYkZyYW1lOwogY2xhc3MgV2ViTG9hZGVyU3RyYXRl
Z3k7CkBAIC0yMjIsNiArMjIzLDggQEAgcHVibGljOgogCiAgICAgV2ViQXV0b21hdGlvblNlc3Np
b25Qcm94eSogYXV0b21hdGlvblNlc3Npb25Qcm94eSgpIHsgcmV0dXJuIG1fYXV0b21hdGlvblNl
c3Npb25Qcm94eS5nZXQoKTsgfQogCisgICAgV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXImIGNhY2hl
U3RvcmFnZVByb3ZpZGVyKCkgeyByZXR1cm4gbV9jYWNoZVN0b3JhZ2VQcm92aWRlci5nZXQoKTsg
fQorCiBwcml2YXRlOgogICAgIFdlYlByb2Nlc3MoKTsKICAgICB+V2ViUHJvY2VzcygpOwpAQCAt
Mzc1LDYgKzM3OCw4IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE5ldHdvcmtQcm9jZXNzQ29ubmVj
dGlvbj4gbV9uZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb247CiAgICAgV2ViTG9hZGVyU3RyYXRlZ3km
IG1fd2ViTG9hZGVyU3RyYXRlZ3k7CiAKKyAgICBSZWY8V2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXI+
IG1fY2FjaGVTdG9yYWdlUHJvdmlkZXI7CisKICNpZiBVU0UoTElCV0VCUlRDKQogICAgIHN0ZDo6
dW5pcXVlX3B0cjxMaWJXZWJSVENOZXR3b3JrPiBtX2xpYldlYlJUQ05ldHdvcms7CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBjMDAxZjAw
MjgwNjUzMjAyYjg4M2M2MGFmYTQ5MzdkNGEzZjY2OTBkLi5hZjBmN2UyYTlmNmJkNjEzNTVmMTZl
ODMyNmViNGE2NzY2NDY5OWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCkBAIC0xMjQsNiArMTI0LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvQXBwbGljYXRp
b25DYWNoZVN0b3JhZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvQmFja0ZvcndhcmRDb250cm9sbGVy
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NTU0FuaW1hdGlvbkNvbnRyb2xsZXIuaD4KKyNpbXBvcnQg
PFdlYkNvcmUvQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ2hyb21l
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NvbG9yTWFjLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RhdGFi
YXNlTWFuYWdlci5oPgpAQCAtMTQxMyw3ICsxNDE0LDggQEAgLSAodm9pZClfY29tbW9uSW5pdGlh
bGl6YXRpb25XaXRoRnJhbWVOYW1lOihOU1N0cmluZyAqKWZyYW1lTmFtZSBncm91cE5hbWU6KE5T
U3QKICAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbigKICAgICAgICAgbWFr
ZVVuaXF1ZVJlZjxXZWJFZGl0b3JDbGllbnQ+KHNlbGYpLAogICAgICAgICBTb2NrZXRQcm92aWRl
cjo6Y3JlYXRlKCksCi0gICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6TGliV2ViUlRDUHJv
dmlkZXI+KCkKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpMaWJXZWJSVENQcm92aWRl
cj4oKSwKKyAgICAgICAgV2ViQ29yZTo6Q2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpCiAg
ICAgKTsKICNpZiAhUExBVEZPUk0oSU9TKQogICAgIHBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNs
aWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQoc2VsZik7CkBAIC0xNjc2LDcgKzE2NzgsOCBAQCAt
IChpZClpbml0U2ltcGxlSFRNTERvY3VtZW50V2l0aFN0eWxlOihOU1N0cmluZyAqKXN0eWxlIGZy
YW1lOihDR1JlY3QpZnJhbWUgcHJlZgogICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1
cmF0aW9uKAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkVkaXRvckNsaWVudD4oc2VsZiksCiAg
ICAgICAgIFNvY2tldFByb3ZpZGVyOjpjcmVhdGUoKSwKLSAgICAgICAgbWFrZVVuaXF1ZVJlZjxX
ZWJDb3JlOjpMaWJXZWJSVENQcm92aWRlcj4oKQorICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNv
cmU6OkxpYldlYlJUQ1Byb3ZpZGVyPigpLAorICAgICAgICBXZWJDb3JlOjpDYWNoZVN0b3JhZ2VQ
cm92aWRlcjo6Y3JlYXRlKCkKICAgICApOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNs
aWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnRJT1Moc2VsZik7CiAjaWYgRU5BQkxFKERSQUdfU1VQ
UE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwIGIv
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKaW5kZXggNjZlZmUyMzE3MGVmZDU2
NDBiYWY2YTQzMWJlZTQ5YmQ0OTcwZTI3MC4uNGFhYTA5MjhjODJiMjU5ZjQxMzVjOTJmZTFmNzEw
Zjk1YzEyYjljMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5j
cHAKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKQEAgLTg0LDYgKzg0
LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0JTdHJpbmcuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Jh
Y2tGb3J3YXJkQ29udHJvbGxlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQml0bWFwSW5mby5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0Nocm9tZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ29udGV4dE1lbnUuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0NvbnRleHRNZW51Q29udHJvbGxlci5oPgpAQCAtMzEwMiw3ICszMTAzLDggQEAg
SFJFU1VMVCBXZWJWaWV3Ojppbml0V2l0aEZyYW1lKFJFQ1QgZnJhbWUsIF9Jbl8gQlNUUiBmcmFt
ZU5hbWUsIF9Jbl8gQlNUUiBncm91cE4KICAgICBQYWdlQ29uZmlndXJhdGlvbiBjb25maWd1cmF0
aW9uKAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkVkaXRvckNsaWVudD4odGhpcyksCiAgICAg
ICAgIFNvY2tldFByb3ZpZGVyOjpjcmVhdGUoKSwKLSAgICAgICAgbWFrZVVuaXF1ZVJlZjxMaWJX
ZWJSVENQcm92aWRlcj4oKQorICAgICAgICBtYWtlVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVy
PigpLAorICAgICAgICBXZWJDb3JlOjpDYWNoZVN0b3JhZ2VQcm92aWRlcjo6Y3JlYXRlKCkKICAg
ICApOwogICAgIGNvbmZpZ3VyYXRpb24uYmFja0ZvcndhcmRDbGllbnQgPSBCYWNrRm9yd2FyZExp
c3Q6OmNyZWF0ZSgpOwogICAgIGNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNo
cm9tZUNsaWVudCh0aGlzKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwMDFlYTgwZmUzNTU0NGYzOTBiNGNjMjUzYzkzODMy
YWUwZmI5NGM4Li5jYjhlMzFkNTA1OGIxMGU1NDYzM2ZhOTIyZjMxZWE2ZjdhOTdhYjY0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTIgQEAKKzIwMTctMDgtMTUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgorCisgICAgICAgIFtDYWNoZSBBUEldIEFkZGluZyBnZW5lcmljIHN1cHBvcnQgZm9y
IENhY2hlU3RvcmFnZSBhbmQgQ2FjaGUgbWV0aG9kcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NDU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hy
aXMgRHVtZXouCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOiBTa2lwcGluZyBhIHRlc3Qg
dGhhdCB3b3VsZCB0aW1lb3V0IG90aGVyd2lzZSBkdWUgdG8gdGhlIGN1cnJlbnQgaW1wbGVtZW50
YXRpb24gbGltaXRhdGlvbnMuCisKIDIwMTctMDgtMTQgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRh
ZEBhcHBsZS5jb20+CiAKICAgICAgICAgUmViYXNlbGluZSBlZGl0aW5nL21hYy9pbnB1dC9maXJz
dHJlY3Rmb3JjaGFyYWN0ZXJyYW5nZS1zdHlsZWQuaHRtbC4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCmluZGV4IGQ3MjAzNDQzNzhjMDgyM2Q2ODZiMjM1NzMyOTQzZDYwMzMzNWRhY2MuLmJl
ZTJiMTExYzBjOGEwZTRmMTA3MDA0Mjk2YzBmNGM5NTc1MzI2ODQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTA4LTE1ICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbQ2FjaGUgQVBJXSBBZGRpbmcgZ2VuZXJp
YyBzdXBwb3J0IGZvciBDYWNoZVN0b3JhZ2UgYW5kIENhY2hlIG1ldGhvZHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTQ1NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY3JlZGVudGlhbHMuaHR0
cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRwcy1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9j
YWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uv
d29ya2VyL2NhY2hlLXN0b3JhZ2UtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIv
Y2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQ6CisKIDIwMTctMDgtMTQgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsb3V0IHIy
MjA2MjIgJiByMjIwNjk2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25z
IGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBiOTU2MTg5MjQ2MTYzYTAxYmY1
N2FhY2YzOTRkNGZlMDNkMGQ4YzA1Li5jN2FlZWM0YWNhZGZhMzRiMjQxZDAxODQyMTYxMjBlNDFh
MTEyZTE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEyMSw3ICsxMjEsNyBAQCBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zdHViLTQuNi4yLWNhY2hlLmh0
bWwgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3N0dWItNC42LjMtY2FjaGUtc3RvcmFnZS5odG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlIFsgUGFzcyBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1z
dG9yYWdlL3dpbmRvdyBbIFBhc3MgRmFpbHVyZSBdCi0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UvY29tbW9uLmh0dHBzLmh0bWwg
WyBTa2lwIF0KIAogIyB0ZXh0YXJlYS5hbmltYXRlIGlzIG5vdCBzdXBwb3J0ZWQKIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy11aS0zL2NhcmV0LWNvbG9yLTAxOC5odG1s
IFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY3Jl
ZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zZXJ2aWNld29y
a2VyL2NyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAwNzYxNjUwZGJjNDFlOGJk
MTVlNjRlNDdlMzA4ZjJkYzMyYWI5ZTViLi4zOGU5NTIzOTdjMzQ2MTkyOGYxZWYxZWRmN2FiZWUz
MGNlMzgxMjc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY3Jl
ZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2Vydmlj
ZXdvcmtlci9jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAK
LUZBSUwgQ2FjaGUgQVBJIG1hdGNoaW5nIGluY2x1ZGVzIGNyZWRlbnRpYWxzIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZSBBUEkgbWF0Y2hpbmcgaW5jbHVkZXMgY3JlZGVudGlh
bHMgYXNzZXJ0X3VucmVhY2hlZDogdW5yZWdpc3RlciBzaG91bGQgbm90IGZhaWw6IHNlcnZpY2VX
b3JrZXIuZ2V0UmVnaXN0cmF0aW9uKCkgaXMgbm90IHlldCBpbXBsZW1lbnRlZCBSZWFjaGVkIHVu
cmVhY2hhYmxlIGNvZGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2Fj
aGUtYWRkLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hl
LWFkZC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggNDlhNDY3ODI4ZDkxNzQyNjUxMDk1ZWM5NjYw
NzBiMjUxZjk1NDZhMi4uZWY0YjUyY2Y2NjgzNDBlMGY0YTBkNzJmZmRhMDM5NDc0NzE5M2Y0NiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtYWRkLmh0dHBzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1hZGQuaHR0cHMtZXhw
ZWN0ZWQudHh0CkBAIC0xLDIwICsxLDIwIEBACiAKLUZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRo
IG5vIGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkIGNh
bGxlZCB3aXRoIHJlbGF0aXZlIFVSTCBzcGVjaWZpZWQgYXMgYSBzdHJpbmcgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZCBjYWxsZWQgd2l0aCBub24tSFRUUC9IVFRQUyBV
UkwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZCBjYWxsZWQgd2l0aCBS
ZXF1ZXN0IG9iamVjdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkIGNh
bGxlZCB3aXRoIFBPU1QgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2Fj
aGUuYWRkIGNhbGxlZCB0d2ljZSB3aXRoIHRoZSBzYW1lIFJlcXVlc3Qgb2JqZWN0IHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
Tm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGQgd2l0aCByZXF1ZXN0IHdpdGggbnVsbCBi
b2R5IChub3QgY29uc3VtZWQpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5h
ZGQgd2l0aCAyMDYgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
LmFkZEFsbCB3aXRoIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwg
Q2FjaGUuYWRkIHdpdGggcmVxdWVzdCB0aGF0IHJlc3VsdHMgaW4gYSBzdGF0dXMgb2YgNDA0IHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGQgd2l0aCByZXF1ZXN0IHRoYXQg
cmVzdWx0cyBpbiBhIHN0YXR1cyBvZiA1MDAgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLmFkZEFsbCB3aXRoIG5vIGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
LUZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggYSBtaXggb2YgdmFsaWQgYW5kIHVuZGVmaW5lZCBhcmd1
bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZEFsbCB3aXRoIGFu
IGVtcHR5IGFycmF5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGRBbGwg
d2l0aCBzdHJpbmcgVVJMIGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwg
Q2FjaGUuYWRkQWxsIHdpdGggUmVxdWVzdCBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLmFkZEFsbCB3aXRoIGEgbWl4IG9mIHN1Y2NlZWRpbmcgYW5kIGZhaWxp
bmcgcmVxdWVzdHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZEFsbCBj
YWxsZWQgd2l0aCB0aGUgc2FtZSBSZXF1ZXN0IG9iamVjdCBzcGVjaWZpZWQgdHdpY2UgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZCBjYWxsZWQgd2l0aCBubyBhcmd1bWVu
dHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
Tm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkIGNhbGxl
ZCB3aXRoIHJlbGF0aXZlIFVSTCBzcGVjaWZpZWQgYXMgYSBzdHJpbmcgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRoIG5vbi1IVFRQL0hU
VFBTIFVSTCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQg
Y2FsbGVkIHdpdGggUmVxdWVzdCBvYmplY3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKK0ZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRoIFBPU1QgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJv
cjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgY2FsbGVkIHR3aWNlIHdpdGggdGhl
IHNhbWUgUmVxdWVzdCBvYmplY3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZB
SUwgQ2FjaGUuYWRkIHdpdGggcmVxdWVzdCB3aXRoIG51bGwgYm9keSAobm90IGNvbnN1bWVkKSBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgd2l0aCAyMDYg
cmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRk
QWxsIHdpdGggMjA2IHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitG
QUlMIENhY2hlLmFkZCB3aXRoIHJlcXVlc3QgdGhhdCByZXN1bHRzIGluIGEgc3RhdHVzIG9mIDQw
NCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgd2l0aCBy
ZXF1ZXN0IHRoYXQgcmVzdWx0cyBpbiBhIHN0YXR1cyBvZiA1MDAgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggbm8gYXJndW1lbnRzIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZEFsbCB3aXRoIGEgbWl4
IG9mIHZhbGlkIGFuZCB1bmRlZmluZWQgYXJndW1lbnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZEFsbCB3aXRoIGFuIGVtcHR5IGFycmF5IHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRl
ZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZEFsbCB3aXRoIHN0cmluZyBV
UkwgYXJndW1lbnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hl
LmFkZEFsbCB3aXRoIFJlcXVlc3QgYXJndW1lbnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitGQUlMIENhY2hlLmFkZEFsbCB3aXRoIGEgbWl4IG9mIHN1Y2NlZWRpbmcgYW5kIGZh
aWxpbmcgcmVxdWVzdHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2Fj
aGUuYWRkQWxsIGNhbGxlZCB3aXRoIHRoZSBzYW1lIFJlcXVlc3Qgb2JqZWN0IHNwZWNpZmllZCB0
d2ljZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9j
YWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1kZWxldGUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
Y2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtZGVsZXRlLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRl
eCAyZGZhZTVjOGJjYmJkM2Q1YjA1Y2NjYzkxM2E2M2UzZTY5MmExZjcwLi5lMzNlODU4YmZkZDI3
NDk1MzA1MmUwZjYyOWFjYTRhY2EyNjBmNzYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdl
L3dpbmRvdy9jYWNoZS1kZWxldGUuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0
b3JhZ2Uvd2luZG93L2NhY2hlLWRlbGV0ZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEs
MTAgQEAKIAotRkFJTCBDYWNoZS5kZWxldGUgd2l0aCBubyBhcmd1bWVudHMgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmRlbGV0ZSBjYWxsZWQgd2l0aCBhIHN0cmluZyBVUkwg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmRlbGV0ZSBjYWxsZWQgd2l0aCBh
IFJlcXVlc3Qgb2JqZWN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5kZWxl
dGUgY2FsbGVkIHdpdGggYSBIRUFEIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1G
QUlMIENhY2hlLmRlbGV0ZSBzdXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVu
dGVkIgotRkFJTCBDYWNoZS5kZWxldGUgd2l0aCBhIG5vbi1leGlzdGVudCBlbnRyeSBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuZGVsZXRlIHdpdGggaWdub3JlU2VhcmNoIG9w
dGlvbiAocmVxdWVzdCB3aXRoIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKLUZBSUwgQ2FjaGUuZGVsZXRlIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAod2hlbiBp
dCBpcyBzcGVjaWZpZWQgYXMgZmFsc2UpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZS5kZWxldGUgd2l0aCBubyBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUuZGVsZXRlIGNhbGxlZCB3aXRoIGEgc3RyaW5nIFVSTCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5kZWxldGUgY2FsbGVkIHdpdGgg
YSBSZXF1ZXN0IG9iamVjdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZS5kZWxldGUgY2FsbGVkIHdpdGggYSBIRUFEIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuZGVsZXRlIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuZGVsZXRlIHdpdGggYSBu
b24tZXhpc3RlbnQgZW50cnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwg
Q2FjaGUuZGVsZXRlIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIHNlYXJj
aCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNo
ZS5kZWxldGUgd2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uICh3aGVuIGl0IGlzIHNwZWNpZmllZCBh
cyBmYWxzZSkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUta2V5cy5odHRwcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRl
eCA3ZTFhMzczNmQ0M2YzNzY0NGMyYTY4MDhmNDFkMjEwNGEyYTY0MGUwLi5hNThhYzliYzcyZjBh
MzZhMjVkNzg3ZmFmMDkxN2JiNzczMzA0NjQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdl
L3dpbmRvdy9jYWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9y
YWdlL3dpbmRvdy9jYWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwxNSArMSwxNSBA
QAogCi1GQUlMIENhY2hlLmtleXMoKSBjYWxsZWQgb24gYW4gZW1wdHkgY2FjaGUgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmtleXMgd2l0aCBubyBtYXRjaGluZyBlbnRyaWVz
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggVVJMIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggUmVxdWVzdCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRoIG5ldyBSZXF1ZXN0IHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggaWdub3JlU2VhcmNoIG9w
dGlvbiAocmVxdWVzdCB3aXRoIG5vIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVl
c3Qgd2l0aCBzZWFyY2ggcGFyYW1ldGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLmtleXMgc3VwcG9ydHMgaWdub3JlTWV0aG9kIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgotRkFJTCBDYWNoZS5rZXlzIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCi1GQUlMIENhY2hlLmtleXMgd2l0aCBVUkwgY29udGFpbmluZyBmcmFnbWVudCBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRoIHN0cmluZyBmcmFnbWVu
dCAiaHR0cCIgYXMgcXVlcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmtl
eXMgd2l0aG91dCBwYXJhbWV0ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNo
ZS5rZXlzIHdpdGggYSBIRUFEIFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlLmtleXMoKSBjYWxsZWQgb24gYW4gZW1wdHkgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5cyB3aXRoIG5vIG1hdGNoaW5nIGVudHJpZXMg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5cyB3aXRoIFVS
TCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGgg
UmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlz
IHdpdGggbmV3IFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwg
Q2FjaGUua2V5cyB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBubyBzZWFy
Y2ggcGFyYW1ldGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2Fj
aGUua2V5cyB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBzZWFyY2ggcGFy
YW1ldGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5
cyBzdXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
K0ZBSUwgQ2FjaGUua2V5cyBzdXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmtleXMgd2l0aCBVUkwgY29udGFpbmluZyBmcmFnbWVu
dCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGgg
c3RyaW5nIGZyYWdtZW50ICJodHRwIiBhcyBxdWVyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxl
bWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGhvdXQgcGFyYW1ldGVycyBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJv
cjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGggYSBIRUFEIFJlcXVlc3Qg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUt
c3RvcmFnZS93aW5kb3cvY2FjaGUtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUt
c3RvcmFnZS93aW5kb3cvY2FjaGUtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDU3YTUx
Y2Y5YmE0OWQ5NWU3YTU3ZmI5Y2E1NWYyNmI1MDNmNjhiYzEuLmNlNmJlNTM3ZTFhZTk4NjY3ZGQ4
MzFlYzQ5ZTNmNGY4MTRmMGExMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93
L2NhY2hlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dp
bmRvdy9jYWNoZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMjIgKzEsMjIgQEAKIAot
RkFJTCBDYWNoZS5tYXRjaCB3aXRoIG5vIG1hdGNoaW5nIGVudHJpZXMgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggVVJMIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVu
dGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggbXVsdGlwbGUgY2FjaGUgaGl0cyBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBuZXcgUmVxdWVzdCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBIRUFEIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24g
KHJlcXVlc3Qgd2l0aCBubyBzZWFyY2ggcGFyYW1ldGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3
aXRoIHNlYXJjaCBwYXJhbWV0ZXIpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNo
ZS5tYXRjaCBzdXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1G
QUlMIENhY2hlLm1hdGNoIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggVVJMIGNvbnRhaW5pbmcgZnJhZ21lbnQgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggc3RyaW5nIGZyYWdtZW50
ICJodHRwIiBhcyBxdWVyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0
Y2ggd2l0aCByZXNwb25zZXMgY29udGFpbmluZyAiVmFyeSIgaGVhZGVyIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGlt
cGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFJlcXVlc3QgYW5kIFJlc3BvbnNlIG9i
amVjdHMgd2l0aCBkaWZmZXJlbnQgVVJMcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwg
Q2FjaGUubWF0Y2ggaW52b2tlZCBtdWx0aXBsZSB0aW1lcyBmb3IgdGhlIHNhbWUgUmVxdWVzdC9S
ZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggYmxvYiBz
aG91bGQgYmUgc2xpY2VhYmxlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5t
YXRjaCB3aXRoIFBPU1QgUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2Fj
aGUubWF0Y2ggd2l0aCBhIG5vbi0yeHggUmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlLm1hdGNoIHdpdGggYSBuZXR3b3JrIGVycm9yIFJlc3BvbnNlIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
Tm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZSBwcm9kdWNlcyBsYXJnZSBSZXNwb25zZXMgdGhh
dCBjYW4gYmUgY2xvbmVkIGFuZCByZWFkIGNvcnJlY3RseS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCitGQUlMIENhY2hlLm1hdGNoIHdpdGggbm8gbWF0Y2hpbmcgZW50cmllcyBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRF
cnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFVSTCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFJlcXVlc3Qg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBt
dWx0aXBsZSBjYWNoZSBoaXRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlLm1hdGNoIHdpdGggbmV3IFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBIRUFEIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVx
dWVzdCB3aXRoIG5vIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxl
bWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVl
c3Qgd2l0aCBzZWFyY2ggcGFyYW1ldGVyKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVk
IgorRkFJTCBDYWNoZS5tYXRjaCBzdXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggc3VwcG9ydHMgaWdub3JlVmFyeSBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFVS
TCBjb250YWluaW5nIGZyYWdtZW50IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitG
QUlMIENhY2hlLm1hdGNoIHdpdGggc3RyaW5nIGZyYWdtZW50ICJodHRwIiBhcyBxdWVyeSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIHJlc3Bv
bnNlcyBjb250YWluaW5nICJWYXJ5IiBoZWFkZXIgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBSZXF1ZXN0IGFuZCBSZXNwb25zZSBvYmplY3Rz
IHdpdGggZGlmZmVyZW50IFVSTHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZB
SUwgQ2FjaGUubWF0Y2ggaW52b2tlZCBtdWx0aXBsZSB0aW1lcyBmb3IgdGhlIHNhbWUgUmVxdWVz
dC9SZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5t
YXRjaCBibG9iIHNob3VsZCBiZSBzbGljZWFibGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBQT1NUIFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBhIG5vbi0yeHggUmVzcG9u
c2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
Tm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0
aCBhIG5ldHdvcmsgZXJyb3IgUmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKK0ZBSUwgQ2FjaGUgcHJvZHVjZXMgbGFyZ2UgUmVzcG9uc2VzIHRoYXQgY2FuIGJlIGNsb25l
ZCBhbmQgcmVhZCBjb3JyZWN0bHkuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLW1hdGNoQWxsLmh0dHBz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLW1hdGNoQWxsLmh0
dHBzLWV4cGVjdGVkLnR4dAppbmRleCA2MmJmMzYzMzMyZTM1MWU2M2M2ZjIzZjY0OTU2NTdkNjk0
NjQ4ZGE3Li43NzA0NDg3MjI3YjM1NDkzZTQzNDYzNmNhODFmOGI2NTlhYWU4M2U4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1tYXRjaEFsbC5odHRwcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtbWF0Y2hBbGwuaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC0xLDE2ICsxLDE2IEBACiAKLUZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0
aCBubyBtYXRjaGluZyBlbnRyaWVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNo
ZS5tYXRjaEFsbCB3aXRoIFVSTCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUu
bWF0Y2hBbGwgd2l0aCBSZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNo
ZS5tYXRjaEFsbCB3aXRoIG5ldyBSZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJ
TCBDYWNoZS5tYXRjaEFsbCB3aXRoIEhFQUQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLm1hdGNoQWxsIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIG5v
IHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUu
bWF0Y2hBbGwgd2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uIChyZXF1ZXN0IHdpdGggc2VhcmNoIHBh
cmFtZXRlcnMpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaEFsbCBz
dXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
Lm1hdGNoQWxsIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1G
QUlMIENhY2hlLm1hdGNoQWxsIHdpdGggVVJMIGNvbnRhaW5pbmcgZnJhZ21lbnQgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggc3RyaW5nIGZyYWdtZW50
ICJodHRwIiBhcyBxdWVyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0
Y2hBbGwgd2l0aG91dCBwYXJhbWV0ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBD
YWNoZS5tYXRjaEFsbCB3aXRoIHJlc3BvbnNlcyBjb250YWluaW5nICJWYXJ5IiBoZWFkZXIgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggbXVsdGlwbGUg
dmFyeSBwYWlycyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwg
d2l0aCBubyBtYXRjaGluZyBlbnRyaWVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjog
Tm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRoIG5ldyBSZXF1ZXN0IHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1
cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGgg
SEVBRCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFs
bCB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBubyBzZWFyY2ggcGFyYW1l
dGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hB
bGwgd2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uIChyZXF1ZXN0IHdpdGggc2VhcmNoIHBhcmFtZXRl
cnMpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxs
IHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgor
RkFJTCBDYWNoZS5tYXRjaEFsbCBzdXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggVVJMIGNvbnRhaW5pbmcg
ZnJhZ21lbnQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0
Y2hBbGwgd2l0aCBzdHJpbmcgZnJhZ21lbnQgImh0dHAiIGFzIHF1ZXJ5IHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGhvdXQgcGFyYW1ldGVy
cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3
aXRoIHJlc3BvbnNlcyBjb250YWluaW5nICJWYXJ5IiBoZWFkZXIgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBtdWx0aXBsZSB2YXJ5IHBh
aXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2Nh
Y2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXB1dC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1wdXQuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDg5ODhk
ODU0NDEwNzBiYmJiMWE2NGRiYWI4YWQ3N2E4ZDJkMGFjOGYuLmY2YWFkYWViZTNkOWM1OWJmZTA4
YTVjZjU2ZTk4NWRhM2MzMTMyNTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93
L2NhY2hlLXB1dC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5k
b3cvY2FjaGUtcHV0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwyNSArMSwyNSBAQAogCi1GQUlM
IENhY2hlLnB1dCBjYWxsZWQgd2l0aCBzaW1wbGUgUmVxdWVzdCBhbmQgUmVzcG9uc2UgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCBjYWxsZWQgd2l0aCBSZXF1ZXN0IGFu
ZCBSZXNwb25zZSBmcm9tIGZldGNoKCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENh
Y2hlLnB1dCB3aXRoIFJlcXVlc3Qgd2l0aG91dCBhIGJvZHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIFJlc3BvbnNlIHdpdGhvdXQgYSBib2R5IHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
Tm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBhIFJlc3BvbnNlIGNvbnRhaW5p
bmcgYW4gZW1wdHkgVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQg
d2l0aCBhbiBlbXB0eSByZXNwb25zZSBib2R5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJ
TCBDYWNoZS5wdXQgd2l0aCBzeW50aGV0aWMgMjA2IHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBIVFRQIDIwNiByZXNwb25zZSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggSFRUUCA1MDAgcmVzcG9uc2UgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCBjYWxsZWQgdHdpY2Ugd2l0aCBt
YXRjaGluZyBSZXF1ZXN0cyBhbmQgZGlmZmVyZW50IFJlc3BvbnNlcyBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IGNhbGxlZCB0d2ljZSB3aXRoIHJlcXVlc3QgVVJMcyB0
aGF0IGRpZmZlciBvbmx5IGJ5IGEgZnJhZ21lbnQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1G
QUlMIENhY2hlLnB1dCB3aXRoIGEgc3RyaW5nIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIGFuIGludmFsaWQgcmVzcG9uc2UgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIGEgbm9uLUhUVFAvSFRUUFMgcmVxdWVz
dCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggYSByZWxhdGl2
ZSBVUkwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIGEgbm9u
LUdFVCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0
aCBhIG51bGwgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1
dCB3aXRoIGEgUE9TVCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNo
ZS5wdXQgd2l0aCBhIHVzZWQgcmVzcG9uc2UgYm9keSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
LUZBSUwgZ2V0UmVhZGVyKCkgYWZ0ZXIgQ2FjaGUucHV0IHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgotRkFJTCBDYWNoZS5wdXQgd2l0aCBhIFZBUlk6KiBSZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggYW4gZW1iZWRkZWQgVkFSWToqIFJlc3BvbnNl
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgc2hvdWxkIHN0b3JlIFJl
c3BvbnNlLnJlZGlyZWN0KCkgY29ycmVjdGx5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJ
TCBDYWNoZS5wdXQgY2FsbGVkIHdpdGggc2ltcGxlIFJlcXVlc3QgYW5kIFJlc3BvbnNlIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCBjYWxsZWQgd2l0aCBS
ZXF1ZXN0IGFuZCBSZXNwb25zZSBmcm9tIGZldGNoKCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggUmVxdWVzdCB3aXRob3V0IGEgYm9keSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBSZXNwb25z
ZSB3aXRob3V0IGEgYm9keSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZS5wdXQgd2l0aCBhIFJlc3BvbnNlIGNvbnRhaW5pbmcgYW4gZW1wdHkgVVJMIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRl
ZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIGFuIGVtcHR5IHJl
c3BvbnNlIGJvZHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUu
cHV0IHdpdGggc3ludGhldGljIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxl
bWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBIVFRQIDIwNiByZXNwb25zZSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRF
cnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBIVFRQIDUwMCByZXNw
b25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgY2Fs
bGVkIHR3aWNlIHdpdGggbWF0Y2hpbmcgUmVxdWVzdHMgYW5kIGRpZmZlcmVudCBSZXNwb25zZXMg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IGNhbGxlZCB0
d2ljZSB3aXRoIHJlcXVlc3QgVVJMcyB0aGF0IGRpZmZlciBvbmx5IGJ5IGEgZnJhZ21lbnQgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYSBzdHJp
bmcgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5w
dXQgd2l0aCBhbiBpbnZhbGlkIHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIGEgbm9uLUhUVFAvSFRUUFMgcmVxdWVzdCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBhIHJlbGF0aXZl
IFVSTCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0
aCBhIG5vbi1HRVQgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJ
TCBDYWNoZS5wdXQgd2l0aCBhIG51bGwgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYSBQT1NUIHJlcXVlc3QgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYSB1c2VkIHJlc3BvbnNl
IGJvZHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgZ2V0UmVhZGVyKCkg
YWZ0ZXIgQ2FjaGUucHV0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENh
Y2hlLnB1dCB3aXRoIGEgVkFSWToqIFJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIGFuIGVtYmVkZGVkIFZBUlk6KiBSZXNwb25zZSBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgc2hvdWxkIHN0
b3JlIFJlc3BvbnNlLnJlZGlyZWN0KCkgY29ycmVjdGx5IHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0
b3JhZ2Uta2V5cy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9j
YWNoZS1zdG9yYWdlLWtleXMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDFkODFlZDM0MmZjMDJl
NGM2NjgxYWQwMmQ4YzUzYzYyYjIzNDdhNzAuLmJmYTk2Y2QyYWRiY2U2NmQzNzIwODY2MmYyNzkx
ZGM1OWM0ZGQ0OTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0
b3JhZ2Uta2V5cy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5k
b3cvY2FjaGUtc3RvcmFnZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAK
IAotRkFJTCBDYWNoZVN0b3JhZ2Uga2V5cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwg
Q2FjaGVTdG9yYWdlIGtleXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRw
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLW1h
dGNoLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBmZGVhZmU5MzY2ZTlmNTk5OTQ3ZDIwMzU5YWYw
YTU3NGIzYzJkNmYzLi5lNzgwNTA0MzU3MTQ3MTQzYzk1ZTliODQyNTYwNzk3OWVkMjBiOTNlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0
dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1zdG9y
YWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwxMyBAQAogCi1GQUlMIENh
Y2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGUgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2YgbWFueSBjYWNo
ZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIGZyb20g
b25lIG9mIG1hbnkgY2FjaGVzIGJ5IG5hbWUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlU3RvcmFnZU1hdGNoIGEgc3RyaW5nIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIGEgSEVBRCByZXF1ZXN0IHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGlt
cGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlZCBlbnRyeSBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBj
YWNoZXMgYXZhaWxhYmxlIGJ1dCBuYW1lIHByb3ZpZGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgotRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIGVtcHR5IGNhY2hlIG5hbWUgcHJvdmlkZWQg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIHN1cHBvcnRz
IGlnbm9yZVNlYXJjaCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2gg
c3VwcG9ydHMgaWdub3JlTWV0aG9kIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNo
ZVN0b3JhZ2VNYXRjaCBzdXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlIG5hbWUgcHJvdmlkZWQgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJv
bSBvbmUgb2YgbWFueSBjYWNoZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZB
SUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2YgbWFueSBjYWNoZXMgYnkgbmFtZSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBhIHN0
cmluZyByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hl
U3RvcmFnZU1hdGNoIGEgSEVBRCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCitGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGVkIGVudHJ5IHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRl
ZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8g
Y2FjaGVzIGF2YWlsYWJsZSBidXQgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGlt
cGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIGVtcHR5IGNhY2hlIG5hbWUg
cHJvdmlkZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9y
YWdlTWF0Y2ggc3VwcG9ydHMgaWdub3JlU2VhcmNoIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoIHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRF
cnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBzdXBwb3J0cyBp
Z25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50
eHQKaW5kZXggMDAxZTZlMzNiZDdhYjM0ZWE3MzVhY2FkZjk0MjBjYWUxMDgyOWI2MS4uOGMzMGU2
ODhhYTA2ZDY4ZWVlYjIwZmE2M2UzNmY0MDcyNGRjNDNlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUt
c3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
Y2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQKQEAg
LTEsMTIgKzEsMTIgQEAKIAotRkFJTCBDYWNoZVN0b3JhZ2Uub3BlbiBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0ZSBkb29tcywgYnV0IGRvZXMgbm90IGRl
bGV0ZSBpbW1lZGlhdGVseSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9y
YWdlLm9wZW4gd2l0aCBhbiBlbXB0eSBuYW1lIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJ
TCBDYWNoZVN0b3JhZ2Uub3BlbiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJ
TCBDYWNoZVN0b3JhZ2UuZGVsZXRlIGRvb21zLCBidXQgZG9lcyBub3QgZGVsZXRlIGltbWVkaWF0
ZWx5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZS5v
cGVuIHdpdGggYW4gZW1wdHkgbmFtZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgog
UEFTUyBDYWNoZVN0b3JhZ2Uub3BlbiB3aXRoIG5vIGFyZ3VtZW50cyAKLUZBSUwgQ2FjaGVTdG9y
YWdlLmhhcyB3aXRoIGV4aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJ
TCBDYWNoZVN0b3JhZ2UuaGFzIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggZXhpc3RpbmcgY2FjaGUgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBleGlz
dGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLmRl
bGV0ZSB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJ
TCBDYWNoZVN0b3JhZ2UgbmFtZXMgYXJlIERPTVN0cmluZ3Mgbm90IFVTVlN0cmluZ3MgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZS5oYXMgd2l0aCBleGlzdGluZyBj
YWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorUEFTUyBDYWNoZVN0b3JhZ2Uu
aGFzIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgCitGQUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGgg
ZXhpc3RpbmcgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2Fj
aGVTdG9yYWdlLmRlbGV0ZSB3aXRoIGV4aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCitQQVNTIENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBub25leGlzdGVudCBj
YWNoZSAKK0ZBSUwgQ2FjaGVTdG9yYWdlIG5hbWVzIGFyZSBET01TdHJpbmdzIG5vdCBVU1ZTdHJp
bmdzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2Nh
Y2hlLXN0b3JhZ2Uvd2luZG93L3NhbmRib3hlZC1pZnJhbWVzLmh0dHBzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L3NhbmRib3hlZC1pZnJhbWVzLmh0dHBzLWV4cGVjdGVk
LnR4dAppbmRleCAzMWZiYjhkZTMwNWViMzBkMWJlOWU2MDZkZjkzM2Y4YWRmZDhmYzNkLi5iYTlk
MjI5MzE4YWIzYjU5M2FiODhhMDhiN2Y3NDQ1MmY1ZjNiOWU0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL3dpbmRvdy9zYW5kYm94ZWQtaWZyYW1lcy5odHRwcy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvc2FuZGJveGVkLWlmcmFtZXMuaHR0cHMtZXhwZWN0
ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCiAKIEZBSUwgU2FuZGJveGVkIGlmcmFtZSB3aXRoIGFs
bG93LXNhbWUtb3JpZ2luIGlzIGFsbG93ZWQgYWNjZXNzIGFzc2VydF9lcXVhbHM6IEFjY2VzcyBz
aG91bGQgYmUgYWxsb3dlZCBpZiBzYW5kYm94IGhhcyBhbGxvdy1zYW1lLW9yaWdpbiBleHBlY3Rl
ZCAiYWxsb3dlZCIgYnV0IGdvdCAiZGVuaWVkIgotRkFJTCBTYW5kYm94ZWQgaWZyYW1lIHdpdGhv
dXQgYWxsb3ctc2FtZS1vcmlnaW4gaXMgZGVuaWVkIGFjY2VzcyBhc3NlcnRfZXF1YWxzOiBGYWls
dXJlIHNob3VsZCBiZSBhIFNlY3VyaXR5RXJyb3IgZXhwZWN0ZWQgIlNlY3VyaXR5RXJyb3IiIGJ1
dCBnb3QgIlR5cGVFcnJvciIKK0ZBSUwgU2FuZGJveGVkIGlmcmFtZSB3aXRob3V0IGFsbG93LXNh
bWUtb3JpZ2luIGlzIGRlbmllZCBhY2Nlc3MgYXNzZXJ0X2VxdWFsczogRmFpbHVyZSBzaG91bGQg
YmUgYSBTZWN1cml0eUVycm9yIGV4cGVjdGVkICJTZWN1cml0eUVycm9yIiBidXQgZ290ICJOb3RT
dXBwb3J0ZWRFcnJvciIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2Fj
aGUtYWRkLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hl
LWFkZC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggNDlhNDY3ODI4ZDkxNzQyNjUxMDk1ZWM5NjYw
NzBiMjUxZjk1NDZhMi4uZWY0YjUyY2Y2NjgzNDBlMGY0YTBkNzJmZmRhMDM5NDc0NzE5M2Y0NiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtYWRkLmh0dHBzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1hZGQuaHR0cHMtZXhw
ZWN0ZWQudHh0CkBAIC0xLDIwICsxLDIwIEBACiAKLUZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRo
IG5vIGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkIGNh
bGxlZCB3aXRoIHJlbGF0aXZlIFVSTCBzcGVjaWZpZWQgYXMgYSBzdHJpbmcgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZCBjYWxsZWQgd2l0aCBub24tSFRUUC9IVFRQUyBV
UkwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZCBjYWxsZWQgd2l0aCBS
ZXF1ZXN0IG9iamVjdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuYWRkIGNh
bGxlZCB3aXRoIFBPU1QgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2Fj
aGUuYWRkIGNhbGxlZCB0d2ljZSB3aXRoIHRoZSBzYW1lIFJlcXVlc3Qgb2JqZWN0IHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
Tm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGQgd2l0aCByZXF1ZXN0IHdpdGggbnVsbCBi
b2R5IChub3QgY29uc3VtZWQpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5h
ZGQgd2l0aCAyMDYgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
LmFkZEFsbCB3aXRoIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwg
Q2FjaGUuYWRkIHdpdGggcmVxdWVzdCB0aGF0IHJlc3VsdHMgaW4gYSBzdGF0dXMgb2YgNDA0IHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGQgd2l0aCByZXF1ZXN0IHRoYXQg
cmVzdWx0cyBpbiBhIHN0YXR1cyBvZiA1MDAgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLmFkZEFsbCB3aXRoIG5vIGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
LUZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggYSBtaXggb2YgdmFsaWQgYW5kIHVuZGVmaW5lZCBhcmd1
bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZEFsbCB3aXRoIGFu
IGVtcHR5IGFycmF5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5hZGRBbGwg
d2l0aCBzdHJpbmcgVVJMIGFyZ3VtZW50cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwg
Q2FjaGUuYWRkQWxsIHdpdGggUmVxdWVzdCBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLmFkZEFsbCB3aXRoIGEgbWl4IG9mIHN1Y2NlZWRpbmcgYW5kIGZhaWxp
bmcgcmVxdWVzdHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmFkZEFsbCBj
YWxsZWQgd2l0aCB0aGUgc2FtZSBSZXF1ZXN0IG9iamVjdCBzcGVjaWZpZWQgdHdpY2UgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZCBjYWxsZWQgd2l0aCBubyBhcmd1bWVu
dHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
Tm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkIGNhbGxl
ZCB3aXRoIHJlbGF0aXZlIFVSTCBzcGVjaWZpZWQgYXMgYSBzdHJpbmcgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRoIG5vbi1IVFRQL0hU
VFBTIFVSTCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQg
Y2FsbGVkIHdpdGggUmVxdWVzdCBvYmplY3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKK0ZBSUwgQ2FjaGUuYWRkIGNhbGxlZCB3aXRoIFBPU1QgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJv
cjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgY2FsbGVkIHR3aWNlIHdpdGggdGhl
IHNhbWUgUmVxdWVzdCBvYmplY3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZB
SUwgQ2FjaGUuYWRkIHdpdGggcmVxdWVzdCB3aXRoIG51bGwgYm9keSAobm90IGNvbnN1bWVkKSBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgd2l0aCAyMDYg
cmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRk
QWxsIHdpdGggMjA2IHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitG
QUlMIENhY2hlLmFkZCB3aXRoIHJlcXVlc3QgdGhhdCByZXN1bHRzIGluIGEgc3RhdHVzIG9mIDQw
NCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5hZGQgd2l0aCBy
ZXF1ZXN0IHRoYXQgcmVzdWx0cyBpbiBhIHN0YXR1cyBvZiA1MDAgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuYWRkQWxsIHdpdGggbm8gYXJndW1lbnRzIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZEFsbCB3aXRoIGEgbWl4
IG9mIHZhbGlkIGFuZCB1bmRlZmluZWQgYXJndW1lbnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZEFsbCB3aXRoIGFuIGVtcHR5IGFycmF5IHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRl
ZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmFkZEFsbCB3aXRoIHN0cmluZyBV
UkwgYXJndW1lbnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hl
LmFkZEFsbCB3aXRoIFJlcXVlc3QgYXJndW1lbnRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitGQUlMIENhY2hlLmFkZEFsbCB3aXRoIGEgbWl4IG9mIHN1Y2NlZWRpbmcgYW5kIGZh
aWxpbmcgcmVxdWVzdHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2Fj
aGUuYWRkQWxsIGNhbGxlZCB3aXRoIHRoZSBzYW1lIFJlcXVlc3Qgb2JqZWN0IHNwZWNpZmllZCB0
d2ljZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9j
YWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1kZWxldGUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
Y2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtZGVsZXRlLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRl
eCAyZGZhZTVjOGJjYmJkM2Q1YjA1Y2NjYzkxM2E2M2UzZTY5MmExZjcwLi5lMzNlODU4YmZkZDI3
NDk1MzA1MmUwZjYyOWFjYTRhY2EyNjBmNzYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdl
L3dvcmtlci9jYWNoZS1kZWxldGUuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0
b3JhZ2Uvd29ya2VyL2NhY2hlLWRlbGV0ZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEs
MTAgQEAKIAotRkFJTCBDYWNoZS5kZWxldGUgd2l0aCBubyBhcmd1bWVudHMgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmRlbGV0ZSBjYWxsZWQgd2l0aCBhIHN0cmluZyBVUkwg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmRlbGV0ZSBjYWxsZWQgd2l0aCBh
IFJlcXVlc3Qgb2JqZWN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5kZWxl
dGUgY2FsbGVkIHdpdGggYSBIRUFEIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1G
QUlMIENhY2hlLmRlbGV0ZSBzdXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVu
dGVkIgotRkFJTCBDYWNoZS5kZWxldGUgd2l0aCBhIG5vbi1leGlzdGVudCBlbnRyeSBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUuZGVsZXRlIHdpdGggaWdub3JlU2VhcmNoIG9w
dGlvbiAocmVxdWVzdCB3aXRoIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKLUZBSUwgQ2FjaGUuZGVsZXRlIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAod2hlbiBp
dCBpcyBzcGVjaWZpZWQgYXMgZmFsc2UpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZS5kZWxldGUgd2l0aCBubyBhcmd1bWVudHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUuZGVsZXRlIGNhbGxlZCB3aXRoIGEgc3RyaW5nIFVSTCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5kZWxldGUgY2FsbGVkIHdpdGgg
YSBSZXF1ZXN0IG9iamVjdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZS5kZWxldGUgY2FsbGVkIHdpdGggYSBIRUFEIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuZGVsZXRlIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUuZGVsZXRlIHdpdGggYSBu
b24tZXhpc3RlbnQgZW50cnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwg
Q2FjaGUuZGVsZXRlIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIHNlYXJj
aCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNo
ZS5kZWxldGUgd2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uICh3aGVuIGl0IGlzIHNwZWNpZmllZCBh
cyBmYWxzZSkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUta2V5cy5odHRwcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRl
eCA3ZTFhMzczNmQ0M2YzNzY0NGMyYTY4MDhmNDFkMjEwNGEyYTY0MGUwLi5hNThhYzliYzcyZjBh
MzZhMjVkNzg3ZmFmMDkxN2JiNzczMzA0NjQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdl
L3dvcmtlci9jYWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9y
YWdlL3dvcmtlci9jYWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwxNSArMSwxNSBA
QAogCi1GQUlMIENhY2hlLmtleXMoKSBjYWxsZWQgb24gYW4gZW1wdHkgY2FjaGUgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmtleXMgd2l0aCBubyBtYXRjaGluZyBlbnRyaWVz
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggVVJMIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggUmVxdWVzdCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRoIG5ldyBSZXF1ZXN0IHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5rZXlzIHdpdGggaWdub3JlU2VhcmNoIG9w
dGlvbiAocmVxdWVzdCB3aXRoIG5vIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVl
c3Qgd2l0aCBzZWFyY2ggcGFyYW1ldGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLmtleXMgc3VwcG9ydHMgaWdub3JlTWV0aG9kIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgotRkFJTCBDYWNoZS5rZXlzIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCi1GQUlMIENhY2hlLmtleXMgd2l0aCBVUkwgY29udGFpbmluZyBmcmFnbWVudCBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUua2V5cyB3aXRoIHN0cmluZyBmcmFnbWVu
dCAiaHR0cCIgYXMgcXVlcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLmtl
eXMgd2l0aG91dCBwYXJhbWV0ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNo
ZS5rZXlzIHdpdGggYSBIRUFEIFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlLmtleXMoKSBjYWxsZWQgb24gYW4gZW1wdHkgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5cyB3aXRoIG5vIG1hdGNoaW5nIGVudHJpZXMg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5cyB3aXRoIFVS
TCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGgg
UmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlz
IHdpdGggbmV3IFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwg
Q2FjaGUua2V5cyB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBubyBzZWFy
Y2ggcGFyYW1ldGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2Fj
aGUua2V5cyB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBzZWFyY2ggcGFy
YW1ldGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUua2V5
cyBzdXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
K0ZBSUwgQ2FjaGUua2V5cyBzdXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLmtleXMgd2l0aCBVUkwgY29udGFpbmluZyBmcmFnbWVu
dCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGgg
c3RyaW5nIGZyYWdtZW50ICJodHRwIiBhcyBxdWVyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxl
bWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGhvdXQgcGFyYW1ldGVycyBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJv
cjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5rZXlzIHdpdGggYSBIRUFEIFJlcXVlc3Qg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUt
c3RvcmFnZS93b3JrZXIvY2FjaGUtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUt
c3RvcmFnZS93b3JrZXIvY2FjaGUtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDU3YTUx
Y2Y5YmE0OWQ5NWU3YTU3ZmI5Y2E1NWYyNmI1MDNmNjhiYzEuLmNlNmJlNTM3ZTFhZTk4NjY3ZGQ4
MzFlYzQ5ZTNmNGY4MTRmMGExMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2Vy
L2NhY2hlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dv
cmtlci9jYWNoZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMjIgKzEsMjIgQEAKIAot
RkFJTCBDYWNoZS5tYXRjaCB3aXRoIG5vIG1hdGNoaW5nIGVudHJpZXMgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggVVJMIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVu
dGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggbXVsdGlwbGUgY2FjaGUgaGl0cyBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBuZXcgUmVxdWVzdCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBIRUFEIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90
IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24g
KHJlcXVlc3Qgd2l0aCBubyBzZWFyY2ggcGFyYW1ldGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3
aXRoIHNlYXJjaCBwYXJhbWV0ZXIpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNo
ZS5tYXRjaCBzdXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1G
QUlMIENhY2hlLm1hdGNoIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggVVJMIGNvbnRhaW5pbmcgZnJhZ21lbnQgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoIHdpdGggc3RyaW5nIGZyYWdtZW50
ICJodHRwIiBhcyBxdWVyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0
Y2ggd2l0aCByZXNwb25zZXMgY29udGFpbmluZyAiVmFyeSIgaGVhZGVyIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGlt
cGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFJlcXVlc3QgYW5kIFJlc3BvbnNlIG9i
amVjdHMgd2l0aCBkaWZmZXJlbnQgVVJMcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwg
Q2FjaGUubWF0Y2ggaW52b2tlZCBtdWx0aXBsZSB0aW1lcyBmb3IgdGhlIHNhbWUgUmVxdWVzdC9S
ZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2ggYmxvYiBz
aG91bGQgYmUgc2xpY2VhYmxlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5t
YXRjaCB3aXRoIFBPU1QgUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2Fj
aGUubWF0Y2ggd2l0aCBhIG5vbi0yeHggUmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
Ci1GQUlMIENhY2hlLm1hdGNoIHdpdGggYSBuZXR3b3JrIGVycm9yIFJlc3BvbnNlIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
Tm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZSBwcm9kdWNlcyBsYXJnZSBSZXNwb25zZXMgdGhh
dCBjYW4gYmUgY2xvbmVkIGFuZCByZWFkIGNvcnJlY3RseS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCitGQUlMIENhY2hlLm1hdGNoIHdpdGggbm8gbWF0Y2hpbmcgZW50cmllcyBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRF
cnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFVSTCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFJlcXVlc3Qg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBt
dWx0aXBsZSBjYWNoZSBoaXRzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlM
IENhY2hlLm1hdGNoIHdpdGggbmV3IFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBIRUFEIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVx
dWVzdCB3aXRoIG5vIHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxl
bWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVl
c3Qgd2l0aCBzZWFyY2ggcGFyYW1ldGVyKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVk
IgorRkFJTCBDYWNoZS5tYXRjaCBzdXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggc3VwcG9ydHMgaWdub3JlVmFyeSBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIFVS
TCBjb250YWluaW5nIGZyYWdtZW50IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitG
QUlMIENhY2hlLm1hdGNoIHdpdGggc3RyaW5nIGZyYWdtZW50ICJodHRwIiBhcyBxdWVyeSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaCB3aXRoIHJlc3Bv
bnNlcyBjb250YWluaW5nICJWYXJ5IiBoZWFkZXIgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBSZXF1ZXN0IGFuZCBSZXNwb25zZSBvYmplY3Rz
IHdpdGggZGlmZmVyZW50IFVSTHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZB
SUwgQ2FjaGUubWF0Y2ggaW52b2tlZCBtdWx0aXBsZSB0aW1lcyBmb3IgdGhlIHNhbWUgUmVxdWVz
dC9SZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5t
YXRjaCBibG9iIHNob3VsZCBiZSBzbGljZWFibGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1l
bnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBQT1NUIFJlcXVlc3QgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6
IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0aCBhIG5vbi0yeHggUmVzcG9u
c2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
Tm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2ggd2l0
aCBhIG5ldHdvcmsgZXJyb3IgUmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRl
ZCIKK0ZBSUwgQ2FjaGUgcHJvZHVjZXMgbGFyZ2UgUmVzcG9uc2VzIHRoYXQgY2FuIGJlIGNsb25l
ZCBhbmQgcmVhZCBjb3JyZWN0bHkuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLW1hdGNoQWxsLmh0dHBz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLW1hdGNoQWxsLmh0
dHBzLWV4cGVjdGVkLnR4dAppbmRleCA2MmJmMzYzMzMyZTM1MWU2M2M2ZjIzZjY0OTU2NTdkNjk0
NjQ4ZGE3Li43NzA0NDg3MjI3YjM1NDkzZTQzNDYzNmNhODFmOGI2NTlhYWU4M2U4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1tYXRjaEFsbC5odHRwcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtbWF0Y2hBbGwuaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC0xLDE2ICsxLDE2IEBACiAKLUZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0
aCBubyBtYXRjaGluZyBlbnRyaWVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNo
ZS5tYXRjaEFsbCB3aXRoIFVSTCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUu
bWF0Y2hBbGwgd2l0aCBSZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNo
ZS5tYXRjaEFsbCB3aXRoIG5ldyBSZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJ
TCBDYWNoZS5tYXRjaEFsbCB3aXRoIEhFQUQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlLm1hdGNoQWxsIHdpdGggaWdub3JlU2VhcmNoIG9wdGlvbiAocmVxdWVzdCB3aXRoIG5v
IHNlYXJjaCBwYXJhbWV0ZXJzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUu
bWF0Y2hBbGwgd2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uIChyZXF1ZXN0IHdpdGggc2VhcmNoIHBh
cmFtZXRlcnMpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5tYXRjaEFsbCBz
dXBwb3J0cyBpZ25vcmVNZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hl
Lm1hdGNoQWxsIHN1cHBvcnRzIGlnbm9yZVZhcnkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1G
QUlMIENhY2hlLm1hdGNoQWxsIHdpdGggVVJMIGNvbnRhaW5pbmcgZnJhZ21lbnQgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggc3RyaW5nIGZyYWdtZW50
ICJodHRwIiBhcyBxdWVyeSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0
Y2hBbGwgd2l0aG91dCBwYXJhbWV0ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBD
YWNoZS5tYXRjaEFsbCB3aXRoIHJlc3BvbnNlcyBjb250YWluaW5nICJWYXJ5IiBoZWFkZXIgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggbXVsdGlwbGUg
dmFyeSBwYWlycyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwg
d2l0aCBubyBtYXRjaGluZyBlbnRyaWVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQi
CitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggUmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjog
Tm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3aXRoIG5ldyBSZXF1ZXN0IHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1
cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGgg
SEVBRCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFs
bCB3aXRoIGlnbm9yZVNlYXJjaCBvcHRpb24gKHJlcXVlc3Qgd2l0aCBubyBzZWFyY2ggcGFyYW1l
dGVycykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hB
bGwgd2l0aCBpZ25vcmVTZWFyY2ggb3B0aW9uIChyZXF1ZXN0IHdpdGggc2VhcmNoIHBhcmFtZXRl
cnMpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxs
IHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgor
RkFJTCBDYWNoZS5tYXRjaEFsbCBzdXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBO
b3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGggVVJMIGNvbnRhaW5pbmcg
ZnJhZ21lbnQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0
Y2hBbGwgd2l0aCBzdHJpbmcgZnJhZ21lbnQgImh0dHAiIGFzIHF1ZXJ5IHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoQWxsIHdpdGhvdXQgcGFyYW1ldGVy
cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJO
b3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5tYXRjaEFsbCB3
aXRoIHJlc3BvbnNlcyBjb250YWluaW5nICJWYXJ5IiBoZWFkZXIgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUubWF0Y2hBbGwgd2l0aCBtdWx0aXBsZSB2YXJ5IHBh
aXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2Nh
Y2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXB1dC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1wdXQuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDg5ODhk
ODU0NDEwNzBiYmJiMWE2NGRiYWI4YWQ3N2E4ZDJkMGFjOGYuLmY2YWFkYWViZTNkOWM1OWJmZTA4
YTVjZjU2ZTk4NWRhM2MzMTMyNTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2Vy
L2NhY2hlLXB1dC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3Jr
ZXIvY2FjaGUtcHV0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwyNSArMSwyNSBAQAogCi1GQUlM
IENhY2hlLnB1dCBjYWxsZWQgd2l0aCBzaW1wbGUgUmVxdWVzdCBhbmQgUmVzcG9uc2UgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCBjYWxsZWQgd2l0aCBSZXF1ZXN0IGFu
ZCBSZXNwb25zZSBmcm9tIGZldGNoKCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENh
Y2hlLnB1dCB3aXRoIFJlcXVlc3Qgd2l0aG91dCBhIGJvZHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIFJlc3BvbnNlIHdpdGhvdXQgYSBib2R5IHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
Tm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBhIFJlc3BvbnNlIGNvbnRhaW5p
bmcgYW4gZW1wdHkgVVJMIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQg
d2l0aCBhbiBlbXB0eSByZXNwb25zZSBib2R5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJ
TCBDYWNoZS5wdXQgd2l0aCBzeW50aGV0aWMgMjA2IHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxl
bWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0aCBIVFRQIDIwNiByZXNwb25zZSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5v
dCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggSFRUUCA1MDAgcmVzcG9uc2UgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCBjYWxsZWQgdHdpY2Ugd2l0aCBt
YXRjaGluZyBSZXF1ZXN0cyBhbmQgZGlmZmVyZW50IFJlc3BvbnNlcyBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IGNhbGxlZCB0d2ljZSB3aXRoIHJlcXVlc3QgVVJMcyB0
aGF0IGRpZmZlciBvbmx5IGJ5IGEgZnJhZ21lbnQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1G
QUlMIENhY2hlLnB1dCB3aXRoIGEgc3RyaW5nIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIGFuIGludmFsaWQgcmVzcG9uc2UgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIGEgbm9uLUhUVFAvSFRUUFMgcmVxdWVz
dCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggYSByZWxhdGl2
ZSBVUkwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1dCB3aXRoIGEgbm9u
LUdFVCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgd2l0
aCBhIG51bGwgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlLnB1
dCB3aXRoIGEgUE9TVCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNo
ZS5wdXQgd2l0aCBhIHVzZWQgcmVzcG9uc2UgYm9keSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIK
LUZBSUwgZ2V0UmVhZGVyKCkgYWZ0ZXIgQ2FjaGUucHV0IHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgotRkFJTCBDYWNoZS5wdXQgd2l0aCBhIFZBUlk6KiBSZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGUucHV0IHdpdGggYW4gZW1iZWRkZWQgVkFSWToqIFJlc3BvbnNl
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNoZS5wdXQgc2hvdWxkIHN0b3JlIFJl
c3BvbnNlLnJlZGlyZWN0KCkgY29ycmVjdGx5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJ
TCBDYWNoZS5wdXQgY2FsbGVkIHdpdGggc2ltcGxlIFJlcXVlc3QgYW5kIFJlc3BvbnNlIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBv
cnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCBjYWxsZWQgd2l0aCBS
ZXF1ZXN0IGFuZCBSZXNwb25zZSBmcm9tIGZldGNoKCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggUmVxdWVzdCB3aXRob3V0IGEgYm9keSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBSZXNwb25z
ZSB3aXRob3V0IGEgYm9keSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBD
YWNoZS5wdXQgd2l0aCBhIFJlc3BvbnNlIGNvbnRhaW5pbmcgYW4gZW1wdHkgVVJMIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRl
ZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIGFuIGVtcHR5IHJl
c3BvbnNlIGJvZHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUu
cHV0IHdpdGggc3ludGhldGljIDIwNiByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxl
bWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBIVFRQIDIwNiByZXNwb25zZSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRF
cnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBIVFRQIDUwMCByZXNw
b25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgY2Fs
bGVkIHR3aWNlIHdpdGggbWF0Y2hpbmcgUmVxdWVzdHMgYW5kIGRpZmZlcmVudCBSZXNwb25zZXMg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IGNhbGxlZCB0
d2ljZSB3aXRoIHJlcXVlc3QgVVJMcyB0aGF0IGRpZmZlciBvbmx5IGJ5IGEgZnJhZ21lbnQgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYSBzdHJp
bmcgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5w
dXQgd2l0aCBhbiBpbnZhbGlkIHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIGEgbm9uLUhUVFAvSFRUUFMgcmVxdWVzdCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0aCBhIHJlbGF0aXZl
IFVSTCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgd2l0
aCBhIG5vbi1HRVQgcmVxdWVzdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJ
TCBDYWNoZS5wdXQgd2l0aCBhIG51bGwgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYSBQT1NUIHJlcXVlc3QgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJy
b3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGUucHV0IHdpdGggYSB1c2VkIHJlc3BvbnNl
IGJvZHkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgZ2V0UmVhZGVyKCkg
YWZ0ZXIgQ2FjaGUucHV0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENh
Y2hlLnB1dCB3aXRoIGEgVkFSWToqIFJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitGQUlMIENhY2hlLnB1dCB3aXRoIGFuIGVtYmVkZGVkIFZBUlk6KiBSZXNwb25zZSBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZS5wdXQgc2hvdWxkIHN0
b3JlIFJlc3BvbnNlLnJlZGlyZWN0KCkgY29ycmVjdGx5IHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0
b3JhZ2Uta2V5cy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9j
YWNoZS1zdG9yYWdlLWtleXMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDFkODFlZDM0MmZjMDJl
NGM2NjgxYWQwMmQ4YzUzYzYyYjIzNDdhNzAuLmJmYTk2Y2QyYWRiY2U2NmQzNzIwODY2MmYyNzkx
ZGM1OWM0ZGQ0OTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0
b3JhZ2Uta2V5cy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3Jr
ZXIvY2FjaGUtc3RvcmFnZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAK
IAotRkFJTCBDYWNoZVN0b3JhZ2Uga2V5cyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwg
Q2FjaGVTdG9yYWdlIGtleXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS1tYXRjaC5odHRw
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLW1h
dGNoLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBmZGVhZmU5MzY2ZTlmNTk5OTQ3ZDIwMzU5YWYw
YTU3NGIzYzJkNmYzLi5lNzgwNTA0MzU3MTQ3MTQzYzk1ZTliODQyNTYwNzk3OWVkMjBiOTNlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9yYWdlLW1hdGNoLmh0
dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1zdG9y
YWdlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwxMyBAQAogCi1GQUlMIENh
Y2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGUgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBp
bXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2YgbWFueSBjYWNo
ZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIGZyb20g
b25lIG9mIG1hbnkgY2FjaGVzIGJ5IG5hbWUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlM
IENhY2hlU3RvcmFnZU1hdGNoIGEgc3RyaW5nIHJlcXVlc3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIGEgSEVBRCByZXF1ZXN0IHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGlt
cGxlbWVudGVkIgotRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlZCBlbnRyeSBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggd2l0aCBubyBj
YWNoZXMgYXZhaWxhYmxlIGJ1dCBuYW1lIHByb3ZpZGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgotRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIGVtcHR5IGNhY2hlIG5hbWUgcHJvdmlkZWQg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZU1hdGNoIHN1cHBvcnRz
IGlnbm9yZVNlYXJjaCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGUubWF0Y2gg
c3VwcG9ydHMgaWdub3JlTWV0aG9kIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJTCBDYWNo
ZVN0b3JhZ2VNYXRjaCBzdXBwb3J0cyBpZ25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVk
IgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIG5vIGNhY2hlIG5hbWUgcHJvdmlkZWQgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3Vw
cG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJv
bSBvbmUgb2YgbWFueSBjYWNoZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZB
SUwgQ2FjaGVTdG9yYWdlTWF0Y2ggZnJvbSBvbmUgb2YgbWFueSBjYWNoZXMgYnkgbmFtZSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBw
b3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBhIHN0
cmluZyByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hl
U3RvcmFnZU1hdGNoIGEgSEVBRCByZXF1ZXN0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50
ZWQiCitGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8gY2FjaGVkIGVudHJ5IHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRl
ZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZU1hdGNoIHdpdGggbm8g
Y2FjaGVzIGF2YWlsYWJsZSBidXQgbmFtZSBwcm92aWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGlt
cGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCB3aXRoIGVtcHR5IGNhY2hlIG5hbWUg
cHJvdmlkZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2FjaGVTdG9y
YWdlTWF0Y2ggc3VwcG9ydHMgaWdub3JlU2VhcmNoIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVt
ZW50ZWQiCitGQUlMIENhY2hlLm1hdGNoIHN1cHBvcnRzIGlnbm9yZU1ldGhvZCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRF
cnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJTCBDYWNoZVN0b3JhZ2VNYXRjaCBzdXBwb3J0cyBp
Z25vcmVWYXJ5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLXN0b3JhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50
eHQKaW5kZXggMDAxZTZlMzNiZDdhYjM0ZWE3MzVhY2FkZjk0MjBjYWUxMDgyOWI2MS4uOGMzMGU2
ODhhYTA2ZDY4ZWVlYjIwZmE2M2UzNmY0MDcyNGRjNDNlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUt
c3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
Y2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtc3RvcmFnZS5odHRwcy1leHBlY3RlZC50eHQKQEAg
LTEsMTIgKzEsMTIgQEAKIAotRkFJTCBDYWNoZVN0b3JhZ2Uub3BlbiBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBs
ZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLmRlbGV0ZSBkb29tcywgYnV0IGRvZXMgbm90IGRl
bGV0ZSBpbW1lZGlhdGVseSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9y
YWdlLm9wZW4gd2l0aCBhbiBlbXB0eSBuYW1lIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJ
TCBDYWNoZVN0b3JhZ2Uub3BlbiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorRkFJ
TCBDYWNoZVN0b3JhZ2UuZGVsZXRlIGRvb21zLCBidXQgZG9lcyBub3QgZGVsZXRlIGltbWVkaWF0
ZWx5IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZS5v
cGVuIHdpdGggYW4gZW1wdHkgbmFtZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgog
UEFTUyBDYWNoZVN0b3JhZ2Uub3BlbiB3aXRoIG5vIGFyZ3VtZW50cyAKLUZBSUwgQ2FjaGVTdG9y
YWdlLmhhcyB3aXRoIGV4aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJ
TCBDYWNoZVN0b3JhZ2UuaGFzIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgaW1w
bGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGggZXhpc3RpbmcgY2FjaGUgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBOb3QgaW1wbGVtZW50ZWQiCi1GQUlMIENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBleGlz
dGluZyBjYWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKLUZBSUwgQ2FjaGVTdG9yYWdlLmRl
bGV0ZSB3aXRoIG5vbmV4aXN0ZW50IGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGltcGxlbWVudGVkIgotRkFJ
TCBDYWNoZVN0b3JhZ2UgbmFtZXMgYXJlIERPTVN0cmluZ3Mgbm90IFVTVlN0cmluZ3MgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBOb3QgaW1wbGVtZW50ZWQiCitGQUlMIENhY2hlU3RvcmFnZS5oYXMgd2l0aCBleGlzdGluZyBj
YWNoZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogTm90IGltcGxlbWVudGVkIgorUEFTUyBDYWNoZVN0b3JhZ2Uu
aGFzIHdpdGggbm9uZXhpc3RlbnQgY2FjaGUgCitGQUlMIENhY2hlU3RvcmFnZS5vcGVuIHdpdGgg
ZXhpc3RpbmcgY2FjaGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IE5vdCBpbXBsZW1lbnRlZCIKK0ZBSUwgQ2Fj
aGVTdG9yYWdlLmRlbGV0ZSB3aXRoIGV4aXN0aW5nIGNhY2hlIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBOb3Qg
aW1wbGVtZW50ZWQiCitQQVNTIENhY2hlU3RvcmFnZS5kZWxldGUgd2l0aCBub25leGlzdGVudCBj
YWNoZSAKK0ZBSUwgQ2FjaGVTdG9yYWdlIG5hbWVzIGFyZSBET01TdHJpbmdzIG5vdCBVU1ZTdHJp
bmdzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBOb3QgaW1wbGVtZW50ZWQiCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>