<?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>168344</bug_id>
          
          <creation_ts>2017-02-14 16:09:28 -0800</creation_ts>
          <short_desc>[WebCrypto] Add support for AES-CFB</short_desc>
          <delta_ts>2017-02-24 03:21:35 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>166746</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jiewen Tan">jiewen_tan</reporter>
          <assigned_to name="Jiewen Tan">jiewen_tan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>elima</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>ossy</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1276981</commentid>
    <comment_count>0</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-02-14 16:09:28 -0800</bug_when>
    <thetext>Add support for AES-CFB as requested by iCloud: https://www.w3.org/TR/2014/CR-WebCryptoAPI-20141211/#aes-cfb.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1276983</commentid>
    <comment_count>1</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-02-14 16:10:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/20940221&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277003</commentid>
    <comment_count>2</comment_count>
      <attachid>301565</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-02-14 17:13:21 -0800</bug_when>
    <thetext>Created attachment 301565
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277004</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-14 17:15:09 -0800</bug_when>
    <thetext>Attachment 301565 did not pass style-queue:


ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmAES_CFBMac.cpp:39:  transformAES_CFB is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmAES_CFBMac.cpp:73:  CryptoAlgorithmAES_CFB::platformEncrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmAES_CFBMac.cpp:97:  CryptoAlgorithmAES_CFB::platformDecrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:43:  usagesAreInvalidForCryptoAlgorithmAES_CFB is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:48:  CryptoAlgorithmAES_CFB::create is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:53:  CryptoAlgorithmAES_CFB::identifier is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:58:  CryptoAlgorithmAES_CFB::encrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:69:  CryptoAlgorithmAES_CFB::decrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:80:  CryptoAlgorithmAES_CFB::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:98:  CryptoAlgorithmAES_CFB::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:138:  CryptoAlgorithmAES_CFB::exportKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 11 in 73 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>1277022</commentid>
    <comment_count>4</comment_count>
      <attachid>301565</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-02-14 18:35:35 -0800</bug_when>
    <thetext>Comment on attachment 301565
Patch

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        importKey, exportKey, wrapKey, and unwrapKey. This implementation follows a slightly old version
&gt; +        of WebCryptoAPI spec: https://www.w3.org/TR/2014/CR-WebCryptoAPI-20141211/#aes-cfb.

Why does it follow a slightly old version of the spec?

&gt; Source/WebCore/crypto/mac/CryptoAlgorithmAES_CFBMac.cpp:47
&gt; +#if PLATFORM(COCOA)
&gt; +    CCAlgorithm aesAlgorithm = kCCAlgorithmAES;
&gt; +#else
&gt; +    CCAlgorithm aesAlgorithm = kCCAlgorithmAES128;
&gt; +#endif

This needs an explanation.  Also, if this is a Mac file, why have a PLATFORM(COCOA) check at all?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277027</commentid>
    <comment_count>5</comment_count>
      <attachid>301565</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-02-14 18:48:25 -0800</bug_when>
    <thetext>Comment on attachment 301565
Patch

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

Thanks Sam for reviewing my patch.

&gt;&gt; Source/WebCore/ChangeLog:11
&gt;&gt; +        of WebCryptoAPI spec: https://www.w3.org/TR/2014/CR-WebCryptoAPI-20141211/#aes-cfb.
&gt; 
&gt; Why does it follow a slightly old version of the spec?

This algorithm is dropped in the current spec: https://www.w3.org/TR/WebCryptoAPI/. However iCloud.com explicitly requests this algorithm. Therefore, I follow the old spec to provide the support.

&gt;&gt; Source/WebCore/crypto/mac/CryptoAlgorithmAES_CFBMac.cpp:47
&gt;&gt; +#endif
&gt; 
&gt; This needs an explanation.  Also, if this is a Mac file, why have a PLATFORM(COCOA) check at all?

I borrow this from CryptoAlgorithmAES_CBCMac.cpp. It was originally PLATFORM(IOS) || __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 1090. Maybe we can drop support for OS X version &lt; 1090 now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277033</commentid>
    <comment_count>6</comment_count>
      <attachid>301565</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-02-14 19:13:45 -0800</bug_when>
    <thetext>Comment on attachment 301565
Patch

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

&gt; Source/WebCore/ChangeLog:40
&gt; +        * PlatformGTK.cmake:

Should I add CryptoAlgorithmAES_CFB.cpp to EFL and GTK?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277198</commentid>
    <comment_count>7</comment_count>
      <attachid>301565</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-02-15 08:49:13 -0800</bug_when>
    <thetext>Comment on attachment 301565
Patch

I don&apos;t think we should add support for an algorithm that has been dropped from the spec. Presumably Apple controls iCloud.com; why on Earth is it trying to use an algorithm that has never worked in WebKit...?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277209</commentid>
    <comment_count>8</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-02-15 09:04:58 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Comment on attachment 301565 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=301565&amp;action=review
&gt; 
&gt; Thanks Sam for reviewing my patch.
&gt; 
&gt; &gt;&gt; Source/WebCore/ChangeLog:11
&gt; &gt;&gt; +        of WebCryptoAPI spec: https://www.w3.org/TR/2014/CR-WebCryptoAPI-20141211/#aes-cfb.
&gt; &gt; 
&gt; &gt; Why does it follow a slightly old version of the spec?
&gt; 
&gt; This algorithm is dropped in the current spec:
&gt; https://www.w3.org/TR/WebCryptoAPI/. However iCloud.com explicitly requests
&gt; this algorithm. Therefore, I follow the old spec to provide the support.

Why was it removed from the spec? Is there an effort to bring it back?

&gt; 
&gt; &gt;&gt; Source/WebCore/crypto/mac/CryptoAlgorithmAES_CFBMac.cpp:47
&gt; &gt;&gt; +#endif
&gt; &gt; 
&gt; &gt; This needs an explanation.  Also, if this is a Mac file, why have a PLATFORM(COCOA) check at all?
&gt; 
&gt; I borrow this from CryptoAlgorithmAES_CBCMac.cpp. It was originally
&gt; PLATFORM(IOS) || __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 1090. Maybe we can drop
&gt; support for OS X version &lt; 1090 now?

I don&apos;t completely follow.  The original code makes sense, iOS or Mac &gt;= 10.9, but your code doesn&apos;t do that. What are you trying to achieve with this conditional?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277235</commentid>
    <comment_count>9</comment_count>
      <attachid>301565</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-02-15 09:55:51 -0800</bug_when>
    <thetext>Comment on attachment 301565
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/crypto/mac/CryptoAlgorithmAES_CFBMac.cpp:47
&gt;&gt;&gt;&gt; +#endif
&gt;&gt;&gt; 
&gt;&gt;&gt; This needs an explanation.  Also, if this is a Mac file, why have a PLATFORM(COCOA) check at all?
&gt;&gt; 
&gt;&gt; I borrow this from CryptoAlgorithmAES_CBCMac.cpp. It was originally PLATFORM(IOS) || __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 1090. Maybe we can drop support for OS X version &lt; 1090 now?
&gt; 
&gt; I don&apos;t completely follow.  The original code makes sense, iOS or Mac &gt;= 10.9, but your code doesn&apos;t do that. What are you trying to achieve with this conditional?

I think this entire conditional can just go away. I think 1090 is outside the minimum supported build target, so this is effectively PLATFORM(IOS) || PLATFORM(MAC).

If this file is actually build on iOS, it doesn&apos;t seem like &quot;Mac&quot; is the right name, or the right path for this. We should move this stuff to a &quot;crypto/cocoa&quot; directory.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277274</commentid>
    <comment_count>10</comment_count>
      <attachid>301565</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-02-15 11:18:33 -0800</bug_when>
    <thetext>Comment on attachment 301565
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/ChangeLog:11
&gt;&gt;&gt;&gt; +        of WebCryptoAPI spec: https://www.w3.org/TR/2014/CR-WebCryptoAPI-20141211/#aes-cfb.
&gt;&gt;&gt; 
&gt;&gt;&gt; Why does it follow a slightly old version of the spec?
&gt;&gt; 
&gt;&gt; This algorithm is dropped in the current spec: https://www.w3.org/TR/WebCryptoAPI/. However iCloud.com explicitly requests this algorithm. Therefore, I follow the old spec to provide the support.
&gt; 
&gt; Why was it removed from the spec? Is there an effort to bring it back?

It seems that the committee dropped this algorithm only because no user agents has implemented it. https://www.w3.org/2015/09/28-crypto-minutes.html

We could file an issue to bring it back once we have the implementation.

&gt;&gt;&gt;&gt;&gt; Source/WebCore/crypto/mac/CryptoAlgorithmAES_CFBMac.cpp:47
&gt;&gt;&gt;&gt;&gt; +#endif
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; This needs an explanation.  Also, if this is a Mac file, why have a PLATFORM(COCOA) check at all?
&gt;&gt;&gt; 
&gt;&gt;&gt; I borrow this from CryptoAlgorithmAES_CBCMac.cpp. It was originally PLATFORM(IOS) || __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 1090. Maybe we can drop support for OS X version &lt; 1090 now?
&gt;&gt; 
&gt;&gt; I don&apos;t completely follow.  The original code makes sense, iOS or Mac &gt;= 10.9, but your code doesn&apos;t do that. What are you trying to achieve with this conditional?
&gt; 
&gt; I think this entire conditional can just go away. I think 1090 is outside the minimum supported build target, so this is effectively PLATFORM(IOS) || PLATFORM(MAC).
&gt; 
&gt; If this file is actually build on iOS, it doesn&apos;t seem like &quot;Mac&quot; is the right name, or the right path for this. We should move this stuff to a &quot;crypto/cocoa&quot; directory.

My mistake. There is another patch makes PLATFORM(IOS) || __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 1090 to PLATFORM(COCOA). Bug 141014.

Agreed with Brent, we could safely drop this conditional now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277278</commentid>
    <comment_count>11</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-02-15 11:27:00 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Comment on attachment 301565 [details]
&gt; Patch
&gt; 
&gt; I don&apos;t think we should add support for an algorithm that has been dropped
&gt; from the spec. Presumably Apple controls iCloud.com; why on Earth is it
&gt; trying to use an algorithm that has never worked in WebKit...?

From the spec: https://www.w3.org/TR/WebCryptoAPI/#algorithms-section-overview

With that being said, user agents are free to choose any set of algorithms to support as long as those algorithms are well defined and conform to the spec&apos;s interfaces.

If GTK doesn&apos;t feel good to have this algorithm implemented. I could implement it only for Apple ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277283</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-02-15 11:36:46 -0800</bug_when>
    <thetext>I don&apos;t like r-ing a patch that you clearly spent a lot of effort working on, but I see only disadvantages to supporting this in WebKit. Why did you decide to work on it? iCloud.com clearly already functions well enough without AES-CFB.

&gt; Is there an effort to bring it back?

I doubt it. The working group appears to have shut down.

Anyway, I do not think CFB is useful to have, and I do not think we should support it in WebKit if it has been removed from the WebCrypto spec. There are tons of block cipher modes [1], and it is not useful or interesting to expose all of them to the web. CFB is a small tweak on the far more popular CBC mode; why not use that instead? Or why not use GCM, which to my understanding is more secure? We should expose what the specification authors have decided should be exposed unless there is a very strong argument for doing otherwise. Supporting obscure cipher modes increases the amount of security-critical code in WebKit that we have to maintain, with no real benefit.

That said, I don&apos;t feel terribly strongly about this. It just doesn&apos;t seem useful.

[1] https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation

(In reply to comment #11) 
&gt; If GTK doesn&apos;t feel good to have this algorithm implemented. I could
&gt; implement it only for Apple ports.

We prefer to match as closely as possible the same set of features as Apple.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277286</commentid>
    <comment_count>13</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-02-15 11:41:07 -0800</bug_when>
    <thetext>Looking at your list in bug #166746, all of the other algorithms you&apos;re planning to implement look familiar and popular, except maybe AES-CTR, but that one is actually in the spec. So this AES-CFB is the only one that seems odd to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277304</commentid>
    <comment_count>14</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-02-15 12:33:51 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; Looking at your list in bug #166746, all of the other algorithms you&apos;re
&gt; planning to implement look familiar and popular, except maybe AES-CTR, but
&gt; that one is actually in the spec. So this AES-CFB is the only one that seems
&gt; odd to me.

We do need this specific algorithm for reasons I can&apos;t go into in this forum.

We can conditionalize this on PLATFORM(COCOA) if that would make it more palatable to you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277318</commentid>
    <comment_count>15</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-02-15 13:29:36 -0800</bug_when>
    <thetext>That&apos;s... not a very great reason.

But if it really has to be web exposed, then I&apos;d much rather match the same functionality as Safari.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277373</commentid>
    <comment_count>16</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-02-15 15:00:00 -0800</bug_when>
    <thetext>Ah, I get it now, you want it for some *future* iCloud feature that you can&apos;t talk about yet, not because there is some compatibility problem with the current website.

I&apos;m confused why this mode would be useful compared to using one of the more popular encryption modes. But if there is really some good reason... like I said, I&apos;m not strongly opposed. I do think we should think twice before adding extra crypto algorithms, though. More is not better here!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277975</commentid>
    <comment_count>17</comment_count>
      <attachid>301847</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-02-16 15:51:00 -0800</bug_when>
    <thetext>Created attachment 301847
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277979</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-16 15:53:44 -0800</bug_when>
    <thetext>Attachment 301847 did not pass style-queue:


ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmAES_CFBMac.cpp:39:  transformAES_CFB is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmAES_CFBMac.cpp:67:  CryptoAlgorithmAES_CFB::platformEncrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmAES_CFBMac.cpp:91:  CryptoAlgorithmAES_CFB::platformDecrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:43:  usagesAreInvalidForCryptoAlgorithmAES_CFB is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:48:  CryptoAlgorithmAES_CFB::create is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:53:  CryptoAlgorithmAES_CFB::identifier is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:58:  CryptoAlgorithmAES_CFB::encrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:69:  CryptoAlgorithmAES_CFB::decrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:80:  CryptoAlgorithmAES_CFB::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:98:  CryptoAlgorithmAES_CFB::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:138:  CryptoAlgorithmAES_CFB::exportKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/gnutls/CryptoAlgorithmAES_CFBGnuTLS.cpp:36:  CryptoAlgorithmAES_CFB::platformEncrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/gnutls/CryptoAlgorithmAES_CFBGnuTLS.cpp:41:  CryptoAlgorithmAES_CFB::platformDecrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 13 in 73 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>1278059</commentid>
    <comment_count>19</comment_count>
      <attachid>301847</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-02-16 18:22:28 -0800</bug_when>
    <thetext>Comment on attachment 301847
Patch

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

&gt; Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:2
&gt; + * Copyright (C) 2016 Apple Inc. All rights reserved.

Should be 2017.

&gt; Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.h:2
&gt; + * Copyright (C) 2016 Apple Inc. All rights reserved.

Ditto.

&gt; Source/WebCore/crypto/gnutls/CryptoAlgorithmAES_CFBGnuTLS.cpp:2
&gt; + * Copyright (C) 2016 Apple Inc. All rights reserved.

Ditto.

&gt; Source/WebCore/crypto/mac/CryptoAlgorithmAES_CFBMac.cpp:2
&gt; + * Copyright (C) 2016 Apple Inc. All rights reserved.

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278383</commentid>
    <comment_count>20</comment_count>
      <attachid>301847</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-02-17 12:59:34 -0800</bug_when>
    <thetext>Comment on attachment 301847
Patch

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

&gt; Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:112
&gt; +        auto checkAlgCallback = [](size_t length, const std::optional&lt;String&gt;&amp; alg) -&gt; bool {

No need for std::optional after Bug 167026.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279103</commentid>
    <comment_count>21</comment_count>
      <attachid>302192</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-02-20 16:08:01 -0800</bug_when>
    <thetext>Created attachment 302192
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279110</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-20 16:11:56 -0800</bug_when>
    <thetext>Attachment 302192 did not pass style-queue:


ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmAES_CFBMac.cpp:39:  transformAES_CFB is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmAES_CFBMac.cpp:67:  CryptoAlgorithmAES_CFB::platformEncrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmAES_CFBMac.cpp:91:  CryptoAlgorithmAES_CFB::platformDecrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:43:  usagesAreInvalidForCryptoAlgorithmAES_CFB is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:48:  CryptoAlgorithmAES_CFB::create is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:53:  CryptoAlgorithmAES_CFB::identifier is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:58:  CryptoAlgorithmAES_CFB::encrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:69:  CryptoAlgorithmAES_CFB::decrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:80:  CryptoAlgorithmAES_CFB::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:98:  CryptoAlgorithmAES_CFB::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:138:  CryptoAlgorithmAES_CFB::exportKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/gnutls/CryptoAlgorithmAES_CFBGnuTLS.cpp:36:  CryptoAlgorithmAES_CFB::platformEncrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/gnutls/CryptoAlgorithmAES_CFBGnuTLS.cpp:41:  CryptoAlgorithmAES_CFB::platformDecrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 13 in 73 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>1279118</commentid>
    <comment_count>23</comment_count>
      <attachid>302198</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-02-20 16:26:36 -0800</bug_when>
    <thetext>Created attachment 302198
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279121</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-20 16:29:03 -0800</bug_when>
    <thetext>Attachment 302198 did not pass style-queue:


ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmAES_CFBMac.cpp:39:  transformAES_CFB is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmAES_CFBMac.cpp:67:  CryptoAlgorithmAES_CFB::platformEncrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmAES_CFBMac.cpp:91:  CryptoAlgorithmAES_CFB::platformDecrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:43:  usagesAreInvalidForCryptoAlgorithmAES_CFB is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:48:  CryptoAlgorithmAES_CFB::create is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:53:  CryptoAlgorithmAES_CFB::identifier is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:58:  CryptoAlgorithmAES_CFB::encrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:69:  CryptoAlgorithmAES_CFB::decrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:80:  CryptoAlgorithmAES_CFB::generateKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:98:  CryptoAlgorithmAES_CFB::importKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:138:  CryptoAlgorithmAES_CFB::exportKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/gnutls/CryptoAlgorithmAES_CFBGnuTLS.cpp:36:  CryptoAlgorithmAES_CFB::platformEncrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/gnutls/CryptoAlgorithmAES_CFBGnuTLS.cpp:41:  CryptoAlgorithmAES_CFB::platformDecrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 13 in 73 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>1279447</commentid>
    <comment_count>25</comment_count>
      <attachid>302198</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-02-21 11:26:23 -0800</bug_when>
    <thetext>Comment on attachment 302198
Patch

Looks good. r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279463</commentid>
    <comment_count>26</comment_count>
      <attachid>302198</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-02-21 12:01:50 -0800</bug_when>
    <thetext>Comment on attachment 302198
Patch

Thanks Brent for r+ my patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279468</commentid>
    <comment_count>27</comment_count>
      <attachid>302198</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-21 12:06:31 -0800</bug_when>
    <thetext>Comment on attachment 302198
Patch

Clearing flags on attachment: 302198

Committed r212736: &lt;http://trac.webkit.org/changeset/212736&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279469</commentid>
    <comment_count>28</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-21 12:06:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280744</commentid>
    <comment_count>29</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2017-02-24 03:21:35 -0800</bug_when>
    <thetext>(In reply to comment #27)
&gt; Comment on attachment 302198 [details]
&gt; Patch
&gt; 
&gt; Clearing flags on attachment: 302198
&gt; 
&gt; Committed r212736: &lt;http://trac.webkit.org/changeset/212736&gt;

and the cmake buildfix landed in https://trac.webkit.org/changeset/212950</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301565</attachid>
            <date>2017-02-14 17:13:21 -0800</date>
            <delta_ts>2017-02-16 15:50:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168344-20170214171047.patch</filename>
            <type>text/plain</type>
            <size>141611</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyMjM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWFjYmJhZDVkODlkZTFh
ZTYzYWI0OGQ2YWI2NDA5MjIxMGQ0ZWI3My4uYmFjMjZkNTc4ZTg1YmZhNWRhN2U3NTZlOTIwNGU2
YWYxY2YyMjUyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgzIEBACisyMDE3LTAyLTE0ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkNyeXB0b10gQWRk
IHN1cHBvcnQgZm9yIEFFUy1DRkIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2ODM0NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjA5NDAyMjE+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRj
aCBhZGRzIHN1cHBvcnQgZm9yIEFFUy1DRkIuIE9wZXJhdGlvbnMgb2YgQUVTLUNGQiBpbmNsdWRl
OiBlbmNyeXB0LCBkZWNyeXB0LCBnZW5lcmF0ZUtleSwKKyAgICAgICAgaW1wb3J0S2V5LCBleHBv
cnRLZXksIHdyYXBLZXksIGFuZCB1bndyYXBLZXkuIFRoaXMgaW1wbGVtZW50YXRpb24gZm9sbG93
cyBhIHNsaWdodGx5IG9sZCB2ZXJzaW9uCisgICAgICAgIG9mIFdlYkNyeXB0b0FQSSBzcGVjOiBo
dHRwczovL3d3dy53My5vcmcvVFIvMjAxNC9DUi1XZWJDcnlwdG9BUEktMjAxNDEyMTEvI2Flcy1j
ZmIuCisKKyAgICAgICAgVGVzdHM6IGNyeXB0by9zdWJ0bGUvYWVzLWNiYy1jZmItZGVjcnlwdC1t
YWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Fl
cy1jYmMtY2ZiLWVuY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbAorICAgICAgICAgICAg
ICAgY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktdW53cmFwLWp3ay1yc2Eta2V5LXB1
YmxpYy5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUt
ZXhwb3J0LWtleS1qd2stbGVuZ3RoLTEyOC5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3Vi
dGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTE5Mi5odG1sCisgICAg
ICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2st
bGVuZ3RoLTI1Ni5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmItZ2Vu
ZXJhdGUtZXhwb3J0LXJhdy1rZXkuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9h
ZXMtY2ZiLWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQuaHRtbAorICAgICAgICAgICAgICAg
Y3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWtleS5odG1sCisgICAgICAgICAgICAgICBj
cnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTEyOC5odG1sCisgICAg
ICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTE5
Mi5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1r
ZXktbGVuZ3RoLTI1Ni5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmIt
aW1wb3J0LWtleS1kZWNyeXB0Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvYWVz
LWNmYi1pbXBvcnQta2V5LWVuY3J5cHQuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRs
ZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWp3ay1rZXkuaHRtbAorICAgICAgICAgICAgICAg
Y3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLXJhdy1rZXkuaHRtbAorICAg
ICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1qd2sta2V5
Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXdy
YXAtcmF3LWtleS5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1w
b3J0LXJhdy1rZXkuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Fl
cy1jZmItaW1wb3J0LWtleS1kZWNyeXB0Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by93b3Jr
ZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktZW5jcnlwdC5odG1sCisgICAgICAgICAgICAg
ICBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXVud3JhcC1rZXkuaHRt
bAorICAgICAgICAgICAgICAgY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtl
eS13cmFwLWtleS5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAg
ICAqIFBsYXRmb3JtR1RLLmNtYWtlOgorICAgICAgICAqIFBsYXRmb3JtTWFjLmNtYWtlOgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgQWRkIENy
eXB0b0FsZ29yaXRobUFFU19DRkIuY3BwLAorICAgICAgICBjaGFuZ2UgQWVzQ2JjUGFyYW1zLmlk
bCB0byBBZXNDYmNDZmJQYXJhbXMuaWRsLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTU3VidGxl
Q3J5cHRvQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5vcm1hbGl6ZUNyeXB0b0FsZ29y
aXRobVBhcmFtZXRlcnMpOgorICAgICAgICBBZGQgc3VwcG9ydCBmb3IgQUVTLUNGQi4KKyAgICAg
ICAgKiBjcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmg6CisgICAgICAgIEluY2x1ZGUgPHd0Zi9WYXJp
YW50Lmg+LgorICAgICAgICAqIGNyeXB0by9DcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmg6Cisg
ICAgICAgIEFkZCBzdXBwb3J0IGZvciBBRVMtQ0ZCLgorICAgICAgICAqIGNyeXB0by9hbGdvcml0
aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRv
QWxnb3JpdGhtQUVTX0NCQzo6ZW5jcnlwdCk6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdv
cml0aG1BRVNfQ0JDOjpkZWNyeXB0KToKKyAgICAgICAgUmVuYW1lIENyeXB0b0FsZ29yaXRobUFl
c0NiY1BhcmFtcyB0byBDcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXMuCisgICAgICAgICog
Y3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQi5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6dXNhZ2VzQXJlSW52YWxpZEZvckNyeXB0b0FsZ29yaXRobUFFU19DRkIp
OgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtQUVTX0NGQjo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUFFU19DRkI6OmlkZW50aWZpZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtQUVTX0NGQjo6ZW5jcnlwdCk6CisgICAgICAg
IChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCOjpkZWNyeXB0KToKKyAgICAgICAgKFdl
YkNvcmU6OkNyeXB0b0FsZ29yaXRobUFFU19DRkI6OmdlbmVyYXRlS2V5KToKKyAgICAgICAgKFdl
YkNvcmU6OkNyeXB0b0FsZ29yaXRobUFFU19DRkI6OmltcG9ydEtleSk6CisgICAgICAgIChXZWJD
b3JlOjpDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCOjpleHBvcnRLZXkpOgorICAgICAgICAqIGNyeXB0
by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DRkIuaDogQWRkZWQuCisgICAgICAgICog
Y3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDTWFjLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNyeXB0b0FsZ29yaXRobUFFU19DQkM6OnBsYXRmb3JtRW5jcnlwdCk6CisgICAgICAgIChX
ZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1BRVNfQ0JDOjpwbGF0Zm9ybURlY3J5cHQpOgorICAgICAg
ICBSZW5hbWUgQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjUGFyYW1zIHRvIENyeXB0b0FsZ29yaXRobUFl
c0NiY0NmYlBhcmFtcy4KKyAgICAgICAgKiBjcnlwdG8vbWFjL0NyeXB0b0FsZ29yaXRobUFFU19D
RkJNYWMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnRyYW5zZm9ybUFFU19DRkIpOgor
ICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtQUVTX0NGQjo6cGxhdGZvcm1FbmNyeXB0
KToKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUFFU19DRkI6OnBsYXRmb3JtRGVj
cnlwdCk6CisgICAgICAgICogY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1SZWdpc3RyeU1hYy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1SZWdpc3RyeTo6cGxhdGZvcm1S
ZWdpc3RlckFsZ29yaXRobXMpOgorICAgICAgICBBZGQgc3VwcG9ydCBmb3IgQUVTLUNGQi4KKyAg
ICAgICAgKiBjcnlwdG8vcGFyYW1ldGVycy9BZXNDYmNDZmJQYXJhbXMuaWRsOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYkNvcmUvY3J5cHRvL3BhcmFtZXRlcnMvQWVzQ2JjUGFyYW1zLmlkbC4KKyAg
ICAgICAgKiBjcnlwdG8vcGFyYW1ldGVycy9DcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXMu
aDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9wYXJhbWV0ZXJzL0NyeXB0b0Fs
Z29yaXRobUFlc0NiY1BhcmFtcy5oLgorICAgICAgICBTaW5jZSBkaWN0aW9uYXJpZXMgQWVzQ2Jj
UGFyYW1zIGFuZCBBZXNDZmJQYXJhbXMgYXJlIGVzc2VudGlhbGx5IHRoZSBzYW1lLCBJIGNvbWJp
bmUgdGhlbSB0b2dldGhlciBpbiBvdXIgaW1wbGVtZW50YXRpb25zLgorCiAyMDE3LTAyLTEzICBN
eWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRl
IGN1c3RvbSBsaW5lIGJyZWFraW5nIGl0ZXJhdG9ycyB0byB0aGUgbGF0ZXN0IHZlcnNpb24gb2Yg
VW5pY29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBlNDEwZjdkZDJhY2M5MjdmNGNlZTljNmIw
NjZjODg0MmY3ZTlmZjAyLi5iNDBiMDgyOGJmNmYwNjZkNGY1OWNkYWVjZDdhZTVhNzkyMjQ0ZDI2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMzMxLDcgKzMzMSw3IEBAIHNldChXZWJDb3JlX05P
Tl9TVkdfSURMX0ZJTEVTCiAgICAgY3J5cHRvL1N1YnRsZUNyeXB0by5pZGwKICAgICBjcnlwdG8v
V2ViS2l0U3VidGxlQ3J5cHRvLmlkbAogCi0gICAgY3J5cHRvL3BhcmFtZXRlcnMvQWVzQ2JjUGFy
YW1zLmlkbAorICAgIGNyeXB0by9wYXJhbWV0ZXJzL0Flc0NiY0NmYlBhcmFtcy5pZGwKICAgICBj
cnlwdG8vcGFyYW1ldGVycy9BZXNLZXlHZW5QYXJhbXMuaWRsCiAgICAgY3J5cHRvL3BhcmFtZXRl
cnMvSG1hY0tleVBhcmFtcy5pZGwKICAgICBjcnlwdG8vcGFyYW1ldGVycy9Sc2FIYXNoZWRJbXBv
cnRQYXJhbXMuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA4MTg3MWZmZDFl
ZjQ2NGZjMjE2MDQ4MzZlZTIwMzZlNjEwZTBiZjI1Li5hZTdhZjQ2YmE0NGE5MWZjYWY1YTcxOTc0
MzM0YTg1NGYzOWViZTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTI2NSw3
ICsyNjUsNyBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9jcnlwdG8vUnNh
T3RoZXJQcmltZXNJbmZvLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jcnlwdG8vU3VidGxlQ3J5cHRv
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9jcnlwdG8vV2ViS2l0U3VidGxlQ3J5cHRvLmlkbCBcCi0g
ICAgJChXZWJDb3JlKS9jcnlwdG8vcGFyYW1ldGVycy9BZXNDYmNQYXJhbXMuaWRsIFwKKyAgICAk
KFdlYkNvcmUpL2NyeXB0by9wYXJhbWV0ZXJzL0Flc0NiY0NmYlBhcmFtcy5pZGwgXAogICAgICQo
V2ViQ29yZSkvY3J5cHRvL3BhcmFtZXRlcnMvQWVzS2V5R2VuUGFyYW1zLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9jcnlwdG8vcGFyYW1ldGVycy9IbWFjS2V5UGFyYW1zLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9jcnlwdG8vcGFyYW1ldGVycy9Sc2FIYXNoZWRJbXBvcnRQYXJhbXMuaWRsIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYkNvcmUv
UGxhdGZvcm1FZmwuY21ha2UKaW5kZXggNTBhYjcyMzY3MGY1ODU4ZDI0YTVjNmMwZmYwNWUyNjFi
YTEzZWZkNi4uMGQ5ZGQyZGI3ZTViNTY2YTA0NGQ4YTc2NzhmYWU4N2YyN2RhZTUzYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYkNv
cmUvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTM4OCw2ICszODgsNyBAQCBpZiAoRU5BQkxFX1NVQlRM
RV9DUllQVE8pCiAgICAgICAgIGNyeXB0by9XZWJLaXRTdWJ0bGVDcnlwdG8uY3BwCiAKICAgICAg
ICAgY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5jcHAKKyAgICAgICAg
Y3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQi5jcHAKICAgICAgICAgY3J5
cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmNwcAogICAgICAgICBjcnlwdG8v
YWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1ITUFDLmNwcAogICAgICAgICBjcnlwdG8vYWxnb3Jp
dGhtcy9DcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81LmNwcApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdU
Sy5jbWFrZQppbmRleCBhN2NlZWI4ZGJjNzM2ZWZjMGZkODk5ZTZkZjIyNmJkZjFmYmQ0YzJmLi41
ZTAwMjkyNjI2NWE4Y2NmMDhkZWFlM2YwMmEyMTcyYTNmOWMxYjIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9y
bUdUSy5jbWFrZQpAQCAtMzgzLDYgKzM4Myw3IEBAIGlmIChFTkFCTEVfU1VCVExFX0NSWVBUTykK
ICAgICAgICAgY3J5cHRvL1dlYktpdFN1YnRsZUNyeXB0by5jcHAKIAogICAgICAgICBjcnlwdG8v
YWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmNwcAorICAgICAgICBjcnlwdG8vYWxn
b3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfQ0ZCLmNwcAogICAgICAgICBjcnlwdG8vYWxnb3Jp
dGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfS1cuY3BwCiAgICAgICAgIGNyeXB0by9hbGdvcml0aG1z
L0NyeXB0b0FsZ29yaXRobUhNQUMuY3BwCiAgICAgICAgIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0
b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QbGF0Zm9ybU1hYy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtTWFjLmNtYWtlCmlu
ZGV4IDQzYzQzMjQ3MWU2OWQ1N2MxMDk3OWYzNzIwYWVlYjU2ZjFlMmUzMTAuLjg2MDhiOTI0YWI5
YWRhYTkxYzIyYzkxNTA4N2RmZTU1OTQ2ZTlkYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1BsYXRmb3JtTWFjLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtTWFjLmNtYWtl
CkBAIC0xNzksNiArMTc5LDcgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgY3J5
cHRvL1dlYktpdFN1YnRsZUNyeXB0by5jcHAKIAogICAgIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0
b0FsZ29yaXRobUFFU19DQkMuY3BwCisgICAgY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3Jp
dGhtQUVTX0NGQi5jcHAKICAgICBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNf
S1cuY3BwCiAgICAgY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtSE1BQy5jcHAKICAg
ICBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81LmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDdkYWQ2NDQ0YmNmYzIwNWRmYzkyMzkxNzgxODBjYzkwZjA1ZjRlMzcuLjBjNDQ3NGFjOTM5
ZTI0NzM2NmZiMmNlMjg1OTRkMjZmZjNiNjMyYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIzMzAsNiArMjMzMCwxMCBAQAog
CQk1NTk3RjgyNzFEOTFDMzEzMDA2NkJDMjEgLyogSW1hZ2VGcmFtZUNhY2hlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NTk3RjgyNTFEOTFDMzEzMDA2
NkJDMjEgLyogSW1hZ2VGcmFtZUNhY2hlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTVBMzM2RjcxRDgyMDlGNDAwMjJDNEM3IC8qIE5hdGl2ZUlt
YWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NUEz
MzZGNjFEODIwOUY0MDAyMkM0QzcgLyogTmF0aXZlSW1hZ2UuaCAqLzsgfTsKIAkJNTVBMzM2Rjkx
RDgyMUUzQzAwMjJDNEM3IC8qIEltYWdlQmFja2luZ1N0b3JlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NUEzMzZGODFEODIxRTNDMDAyMkM0QzcgLyog
SW1hZ2VCYWNraW5nU3RvcmUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQk1NzA0NDA1MzFFNTI3OEIyMDAzNTY2MDEgLyogQ3J5cHRvQWxnb3JpdGht
QUVTX0NGQi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1NzEyNTI2QTFFNTI1MjdDMDA4RkYzNjkgLyogQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQi5jcHAg
Ki87IH07CisJCTU3MDQ0MDU4MUU1Mzg1MTYwMDM1NjYwMSAvKiBDcnlwdG9BbGdvcml0aG1BRVNf
Q0ZCTWFjLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDU3MDQ0MDU3MUU1Mzg1MTYwMDM1NjYwMSAvKiBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCTWFjLmNw
cCAqLzsgfTsKKwkJNTcwNDQwNUExRTUzOTM2MjAwMzU2NjAxIC8qIEpTQWVzQ2JjQ2ZiUGFyYW1z
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzA0NDA1
OTFFNTM5MzYyMDAzNTY2MDEgLyogSlNBZXNDYmNDZmJQYXJhbXMuaCAqLzsgfTsKKwkJNTcwNDQw
NUMxRTUzOTM3OTAwMzU2NjAxIC8qIEpTQWVzQ2JjQ2ZiUGFyYW1zLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MDQ0MDVCMUU1MzkzNzkwMDM1NjYw
MSAvKiBKU0Flc0NiY0NmYlBhcmFtcy5jcHAgKi87IH07CiAJCTU3MDZBNjk2MURERTVDOTUwMEEw
M0IxNCAvKiBDcnlwdG9BbGdvcml0aG1Sc2FPYWVwUGFyYW1zLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzA2QTY5NTFEREU1Qzk1MDBBMDNCMTQgLyog
Q3J5cHRvQWxnb3JpdGhtUnNhT2FlcFBhcmFtcy5oICovOyB9OwogCQk1NzA2QTY5ODFEREU1RTQ2
MDBBMDNCMTQgLyogSlNSc2FPYWVwUGFyYW1zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1NzA2QTY5NzFEREU1RTQ2MDBBMDNCMTQgLyogSlNSc2FPYWVw
UGFyYW1zLmggKi87IH07CiAJCTU3MDZBNjlBMURERTVFODUwMEEwM0IxNCAvKiBKU1JzYU9hZXBQ
YXJhbXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTcwNkE2OTkxRERFNUU4NTAwQTAzQjE0IC8qIEpTUnNhT2FlcFBhcmFtcy5jcHAgKi87IH07CkBA
IC0yMzM4LDExICsyMzQyLDEwIEBACiAJCTU3MDlFOENGMUQ0MTNEOUEwMDMyNDRBQyAvKiBXZWJL
aXRTdWJ0bGVDcnlwdG8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDU3MDlFOENCMUQ0MTNDRTMwMDMyNDRBQyAvKiBXZWJLaXRTdWJ0bGVDcnlwdG8uaCAq
LzsgfTsKIAkJNTcwQTk5REExRDQxNzQwODAwNEVDNjMwIC8qIEpTV2ViS2l0U3VidGxlQ3J5cHRv
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxRkY4
RjYyMTgwNzQ1RDgwMDEzMjY3NCAvKiBKU1dlYktpdFN1YnRsZUNyeXB0by5jcHAgKi87IH07CiAJ
CTU3MEE5OURCMUQ0MUEyRjMwMDRFQzYzMCAvKiBKU1dlYktpdFN1YnRsZUNyeXB0by5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFGRjhGNjMxODA3NDVE
ODAwMTMyNjc0IC8qIEpTV2ViS2l0U3VidGxlQ3J5cHRvLmggKi87IH07CisJCTU3MTI1MjY5MUU1
MjRFQjEwMDhGRjM2OSAvKiBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzEyNTI2ODFFNTI0RUIxMDA4RkYzNjkg
LyogQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQi5oICovOyB9OwogCQk1NzFGMjE4OTFEQTU3QzU0MDA1
QzlFRkQgLyogSlNTdWJ0bGVDcnlwdG8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDU3MUYyMTg4MURBNTdDNTQwMDVDOUVGRCAvKiBKU1N1YnRsZUNyeXB0
by5oICovOyB9OwogCQk1NzFGMjE4QjFEQTU3QzdCMDA1QzlFRkQgLyogSlNTdWJ0bGVDcnlwdG8u
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcxRjIx
OEExREE1N0M3QTAwNUM5RUZEIC8qIEpTU3VidGxlQ3J5cHRvLmNwcCAqLzsgfTsKLQkJNTcyMDkz
RDMxRERDRUI5QTAwMzEwQUIwIC8qIENyeXB0b0FsZ29yaXRobUFlc0NiY1BhcmFtcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcyMDkzRDIxRERDRUI5
QTAwMzEwQUIwIC8qIENyeXB0b0FsZ29yaXRobUFlc0NiY1BhcmFtcy5oICovOyB9OwotCQk1NzIw
OTNENTFERENFRDhFMDAzMTBBQjAgLyogSlNBZXNDYmNQYXJhbXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MjA5M0Q0MUREQ0VEOEUwMDMxMEFCMCAv
KiBKU0Flc0NiY1BhcmFtcy5oICovOyB9OwotCQk1NzIwOTNENzFERENFREE3MDAzMTBBQjAgLyog
SlNBZXNDYmNQYXJhbXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTcyMDkzRDYxRERDRURBNzAwMzEwQUIwIC8qIEpTQWVzQ2JjUGFyYW1zLmNwcCAq
LzsgfTsKKwkJNTcyMDkzRDMxRERDRUI5QTAwMzEwQUIwIC8qIENyeXB0b0FsZ29yaXRobUFlc0Ni
Y0NmYlBhcmFtcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTcyMDkzRDIxRERDRUI5QTAwMzEwQUIwIC8qIENyeXB0b0FsZ29yaXRobUFlc0NiY0NmYlBh
cmFtcy5oICovOyB9OwogCQk1NzJBN0YyMTFDNkU1NzE5MDA5QzYxNDkgLyogU2ltdWxhdGVkQ2xp
Y2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MkE3
RjIwMUM2RTU3MTkwMDlDNjE0OSAvKiBTaW11bGF0ZWRDbGljay5oICovOyB9OwogCQk1NzJBN0Yy
MzFDNkU1QTY2MDA5QzYxNDkgLyogU2ltdWxhdGVkQ2xpY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcyQTdGMjIxQzZFNUE2NjAwOUM2MTQ5IC8q
IFNpbXVsYXRlZENsaWNrLmNwcCAqLzsgfTsKIAkJNTczNDg5MzkxREFDNkI2RTAwREMwNjY3IC8q
IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDU3MzQ4OTM4MURBQzZCNkQwMERDMDY2NyAvKiBDcnlwdG9BbGdv
cml0aG1QYXJhbWV0ZXJzLmggKi87IH07CkBAIC05Njg1LDYgKzk2ODgsOSBAQAogCQk1NUEzMzZG
NjFEODIwOUY0MDAyMkM0QzcgLyogTmF0aXZlSW1hZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTmF0aXZlSW1hZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTVBMzM2RjgxRDgyMUUzQzAwMjJDNEM3IC8qIEltYWdlQmFja2luZ1N0b3JlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEltYWdlQmFja2luZ1N0b3JlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTU1RDQwOEY3MUE3QzYzMTgwMEM3ODQ1MCAvKiBTVkdJbWFnZUNs
aWVudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHSW1hZ2VDbGllbnRz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MDQ0MDU3MUU1Mzg1MTYwMDM1NjYw
MSAvKiBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IENyeXB0b0FsZ29yaXRobUFFU19DRkJNYWMuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk1NzA0NDA1OTFFNTM5MzYyMDAzNTY2MDEgLyogSlNBZXNDYmND
ZmJQYXJhbXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBZXNDYmNDZmJQ
YXJhbXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTcwNDQwNUIxRTUzOTM3OTAw
MzU2NjAxIC8qIEpTQWVzQ2JjQ2ZiUGFyYW1zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTQWVzQ2JjQ2ZiUGFyYW1zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTcwNkE2OTQxRERFNUJGODAwQTAzQjE0IC8qIFJzYU9hZXBQYXJhbXMuaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IFJzYU9hZXBQYXJhbXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzA2
QTY5NTFEREU1Qzk1MDBBMDNCMTQgLyogQ3J5cHRvQWxnb3JpdGhtUnNhT2FlcFBhcmFtcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1Sc2FPYWVwUGFy
YW1zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3MDZBNjk3MURERTVFNDYwMEEw
M0IxNCAvKiBKU1JzYU9hZXBQYXJhbXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNSc2FPYWVwUGFyYW1zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05Njky
LDEyICs5Njk4LDEyIEBACiAJCTU3MDlFOENBMUQ0MTNDRTMwMDMyNDRBQyAvKiBXZWJLaXRTdWJ0
bGVDcnlwdG8uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViS2l0
U3VidGxlQ3J5cHRvLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTcwOUU4Q0Ix
RDQxM0NFMzAwMzI0NEFDIC8qIFdlYktpdFN1YnRsZUNyeXB0by5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXZWJLaXRTdWJ0bGVDcnlwdG8uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTcwOUU4Q0MxRDQxM0NFMzAwMzI0NEFDIC8qIFdlYktpdFN1YnRsZUNyeXB0
by5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViS2l0U3VidGxlQ3J5cHRvLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTcxMjUyNjgxRTUyNEVCMTAwOEZGMzY5IC8qIENy
eXB0b0FsZ29yaXRobUFFU19DRkIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Q3J5cHRvQWxnb3JpdGhtQUVTX0NGQi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1
NzEyNTI2QTFFNTI1MjdDMDA4RkYzNjkgLyogQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQi5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZC
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTcxRjIxODgxREE1N0M1NDAwNUM5
RUZEIC8qIEpTU3VidGxlQ3J5cHRvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTU3VidGxlQ3J5cHRvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3MUYyMThB
MURBNTdDN0EwMDVDOUVGRCAvKiBKU1N1YnRsZUNyeXB0by5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU1N1YnRsZUNyeXB0by5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTU3MjA5M0QxMUREQ0VBNEIwMDMxMEFCMCAvKiBBZXNDYmNQYXJhbXMuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IEFlc0NiY1BhcmFtcy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTU3
MjA5M0QyMUREQ0VCOUEwMDMxMEFCMCAvKiBDcnlwdG9BbGdvcml0aG1BZXNDYmNQYXJhbXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjUGFy
YW1zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTU3MjA5M0Q0MUREQ0VEOEUwMDMx
MEFCMCAvKiBKU0Flc0NiY1BhcmFtcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0Flc0NiY1BhcmFtcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1NzIwOTNE
NjFERENFREE3MDAzMTBBQjAgLyogSlNBZXNDYmNQYXJhbXMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNBZXNDYmNQYXJhbXMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk1NzIwOTNEMTFERENFQTRCMDAzMTBBQjAgLyogQWVzQ2JjQ2ZiUGFyYW1z
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBBZXNDYmNDZmJQYXJhbXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk1NzIwOTNEMjFERENFQjlBMDAzMTBBQjAgLyogQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjQ2Zi
UGFyYW1zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENyeXB0b0FsZ29yaXRo
bUFlc0NiY0NmYlBhcmFtcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzJBN0Yy
MDFDNkU1NzE5MDA5QzYxNDkgLyogU2ltdWxhdGVkQ2xpY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gU2ltdWxhdGVkQ2xpY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNTcyQTdGMjIxQzZFNUE2NjAwOUM2MTQ5IC8qIFNpbXVsYXRlZENsaWNrLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNpbXVsYXRlZENsaWNrLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTczNDg5MzgxREFDNkI2RDAwREMwNjY3IC8qIENy
eXB0b0FsZ29yaXRobVBhcmFtZXRlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMjMzNzEsNiArMjMzNzcsNyBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJl
biA9ICgKIAkJCQlFMTI1Rjg0MzE4MjQyNUM5MDBEODRDRDkgLyogQ3J5cHRvQWxnb3JpdGhtQUVT
X0NCQ01hYy5jcHAgKi8sCisJCQkJNTcwNDQwNTcxRTUzODUxNjAwMzU2NjAxIC8qIENyeXB0b0Fs
Z29yaXRobUFFU19DRkJNYWMuY3BwICovLAogCQkJCUUxRkUxMzdDMTg0RDI3MDIwMDg5MkYxMyAv
KiBDcnlwdG9BbGdvcml0aG1BRVNfS1dNYWMuY3BwICovLAogCQkJCUUxMjVGODM3MTgyMkYxRUIw
MEQ4NENEOSAvKiBDcnlwdG9BbGdvcml0aG1ITUFDTWFjLmNwcCAqLywKIAkJCQlFMUJCODRBQzE4
MjJDQTc0MDA1MjUwNDMgLyogQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnlNYWMuY3BwICovLApAQCAt
MjMzODksNiArMjMzOTYsOCBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJRTEyNUY4M0YxODI0MjUz
QTAwRDg0Q0Q5IC8qIENyeXB0b0FsZ29yaXRobUFFU19DQkMuY3BwICovLAogCQkJCUUxMjVGODQw
MTgyNDI1M0EwMEQ4NENEOSAvKiBDcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmggKi8sCisJCQkJNTcx
MjUyNkExRTUyNTI3QzAwOEZGMzY5IC8qIENyeXB0b0FsZ29yaXRobUFFU19DRkIuY3BwICovLAor
CQkJCTU3MTI1MjY4MUU1MjRFQjEwMDhGRjM2OSAvKiBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCLmgg
Ki8sCiAJCQkJRTFGRTEzNzgxODREMjFCQjAwODkyRjEzIC8qIENyeXB0b0FsZ29yaXRobUFFU19L
Vy5jcHAgKi8sCiAJCQkJRTFGRTEzNzkxODREMjFCQjAwODkyRjEzIC8qIENyeXB0b0FsZ29yaXRo
bUFFU19LVy5oICovLAogCQkJCUUxMjVGODJGMTgyMkYxMUIwMEQ4NENEOSAvKiBDcnlwdG9BbGdv
cml0aG1ITUFDLmNwcCAqLywKQEAgLTIzNDM1LDkgKzIzNDQ0LDkgQEAKIAkJRTFDNjU3MTQxODE2
MDE1RjAwMjU2Q0REIC8qIHBhcmFtZXRlcnMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKAotCQkJCTU3MjA5M0QxMUREQ0VBNEIwMDMxMEFCMCAvKiBBZXNDYmNQYXJh
bXMuaWRsICovLAorCQkJCTU3MjA5M0QxMUREQ0VBNEIwMDMxMEFCMCAvKiBBZXNDYmNDZmJQYXJh
bXMuaWRsICovLAogCQkJCTU3NzQ4MzEwMURBREM0OTkwMDcxNkVGOSAvKiBBZXNLZXlHZW5QYXJh
bXMuaWRsICovLAotCQkJCTU3MjA5M0QyMUREQ0VCOUEwMDMxMEFCMCAvKiBDcnlwdG9BbGdvcml0
aG1BZXNDYmNQYXJhbXMuaCAqLywKKwkJCQk1NzIwOTNEMjFERENFQjlBMDAzMTBBQjAgLyogQ3J5
cHRvQWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zLmggKi8sCiAJCQkJRTEyNUY4MzkxODI0MTA0ODAw
RDg0Q0Q5IC8qIENyeXB0b0FsZ29yaXRobUFlc0NiY1BhcmFtc0RlcHJlY2F0ZWQuaCAqLywKIAkJ
CQk1Nzc0ODMxMTFEQURDNTVEMDA3MTZFRjkgLyogQ3J5cHRvQWxnb3JpdGhtQWVzS2V5R2VuUGFy
YW1zLmggKi8sCiAJCQkJRTE5QUMzRjYxODI0RTVEMTAwMzQ5NDI2IC8qIENyeXB0b0FsZ29yaXRo
bUFlc0tleUdlblBhcmFtc0RlcHJlY2F0ZWQuaCAqLywKQEAgLTIzNjEyLDggKzIzNjIxLDggQEAK
IAkJRTFGRjhGNjExODA3NDVDNjAwMTMyNjc0IC8qIENyeXB0byAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJNTcyMDkzRDYxRERDRURBNzAwMzEwQUIwIC8q
IEpTQWVzQ2JjUGFyYW1zLmNwcCAqLywKLQkJCQk1NzIwOTNENDFERENFRDhFMDAzMTBBQjAgLyog
SlNBZXNDYmNQYXJhbXMuaCAqLywKKwkJCQk1NzA0NDA1QjFFNTM5Mzc5MDAzNTY2MDEgLyogSlNB
ZXNDYmNDZmJQYXJhbXMuY3BwICovLAorCQkJCTU3MDQ0MDU5MUU1MzkzNjIwMDM1NjYwMSAvKiBK
U0Flc0NiY0NmYlBhcmFtcy5oICovLAogCQkJCTU3NzQ4MzE1MURBRUMzMjIwMDcxNkVGOSAvKiBK
U0Flc0tleUdlblBhcmFtcy5jcHAgKi8sCiAJCQkJNTc3NDgzMTMxREFFQzJFQTAwNzE2RUY5IC8q
IEpTQWVzS2V5R2VuUGFyYW1zLmggKi8sCiAJCQkJNTczOUUxMzAxREFDN0ZEMTAwRTE0MzgzIC8q
IEpTQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5jcHAgKi8sCkBAIC0yNTQxOSw2ICsyNTQyOCw3
IEBACiAJCQkJN0M3N0MzRDExREVFNDcyNDAwQTUwQkZBIC8qIEJsb2JQcm9wZXJ0eUJhZy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMkVERUYxRjUxMjFCMEVGQzAwNzI2REIyIC8qIEJsb2JSZWdpc3Ry
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkVERUYxRjcxMjFCMEVGQzAwNzI2REIyIC8qIEJsb2JS
ZWdpc3RyeUltcGwuaCBpbiBIZWFkZXJzICovLAorCQkJCTU3MDQ0MDVBMUU1MzkzNjIwMDM1NjYw
MSAvKiBKU0Flc0NiY0NmYlBhcmFtcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkVCNEJDRDMxMjFG
MDNFMzAwRUM0ODg1IC8qIEJsb2JSZXNvdXJjZUhhbmRsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTc2RDZDN0YxMjJCOEEzRDAwMUZEMUY3IC8qIEJsb2JVUkwuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDNUVCNUUxMEU4MUJFODcwMEIyNTk2NSAvKiBCb3JkZXJEYXRhLmggaW4gSGVhZGVycyAqLywK
QEAgLTI1NjA5LDcgKzI1NjE5LDcgQEAKIAkJCQlFMTcyQUY2RTE4MEYyNEM2MDBGQkFEQjkgLyog
Q3J5cHRvQWxnb3JpdGhtLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTI1Rjg0MjE4MjQyNTNBMDBE
ODRDRDkgLyogQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFG
RTEzN0IxODREMjFCQjAwODkyRjEzIC8qIENyeXB0b0FsZ29yaXRobUFFU19LVy5oIGluIEhlYWRl
cnMgKi8sCi0JCQkJNTcyMDkzRDMxRERDRUI5QTAwMzEwQUIwIC8qIENyeXB0b0FsZ29yaXRobUFl
c0NiY1BhcmFtcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTcyMDkzRDMxRERDRUI5QTAwMzEwQUIw
IC8qIENyeXB0b0FsZ29yaXRobUFlc0NiY0NmYlBhcmFtcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RTEyNUY4M0ExODI0MTA0ODAwRDg0Q0Q5IC8qIENyeXB0b0FsZ29yaXRobUFlc0NiY1BhcmFtc0Rl
cHJlY2F0ZWQuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3NzQ4MzEyMURBREM1NUQwMDcxNkVGOSAv
KiBDcnlwdG9BbGdvcml0aG1BZXNLZXlHZW5QYXJhbXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUUx
OUFDM0Y3MTgyNEU1RDEwMDM0OTQyNiAvKiBDcnlwdG9BbGdvcml0aG1BZXNLZXlHZW5QYXJhbXNE
ZXByZWNhdGVkLmggaW4gSGVhZGVycyAqLywKQEAgLTI2NDYyLDcgKzI2NDcyLDYgQEAKIAkJCQk0
NEVGRjY0MzFBNkZGOTI3MDBENDVFRUMgLyogSU9UeXBlc1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMDdBQzQ3MDIxOTUyMTAyMTAwRUU5NzIzIC8qIElTT1ZUVEN1ZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDE4Rjg4MDUwRkY5NTdBRjAwODBGMDQ1IC8qIEpTQWJzdHJhY3RXb3JrZXIuaCBpbiBI
ZWFkZXJzICovLAotCQkJCTU3MjA5M0Q1MUREQ0VEOEUwMDMxMEFCMCAvKiBKU0Flc0NiY1BhcmFt
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTc3NDgzMTQxREFFQzJFQjAwNzE2RUY5IC8qIEpTQWVz
S2V5R2VuUGFyYW1zLmggaW4gSGVhZGVycyAqLywKIAkJCQlGREExNUVDQTEyQjAzRjUwMDAzQTU4
M0EgLyogSlNBbmFseXNlck5vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTEyQTI1M0UzMUM4RkZG
NjYwMEMyMjI5NSAvKiBKU0FuaW1hdGFibGUuaCBpbiBIZWFkZXJzICovLApAQCAtMjc4MjgsNiAr
Mjc4MzcsNyBAQAogCQkJCTA4M0RBRUE5MEYwMUE3RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29u
dHJvbFNpbmdsZUxpbmUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRUE0ODhFMDk3RDkzMDIwMDk0
QzlFNCAvKiBSZW5kZXJUZXh0RnJhZ21lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0QzkxQTE2
MTgwOTk5RjEwMEExN0Y2RCAvKiBSZW5kZXJUZXh0TGluZUJveGVzLmggaW4gSGVhZGVycyAqLywK
KwkJCQk1NzEyNTI2OTFFNTI0RUIxMDA4RkYzNjkgLyogQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFQTQ4OEEwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlclRo
ZW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTI5OUZFODFEN0Y1RkE2MDBBNjAwOTMgLyogUmVu
ZGVyVGhlbWVDb2NvYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkVEMTNENTIwQ0VBOTQ5NzAwRDg5
NDY2IC8qIFJlbmRlclRoZW1lSU9TLmggaW4gSGVhZGVycyAqLywKQEAgLTI5MjIwLDYgKzI5MjMw
LDcgQEAKIAkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNr
ID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAorCQkJCTU3MDQ0MDUzMUU1Mjc4QjIwMDM1NjYw
MSAvKiBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxRTFC
MUQwMEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkzN0Y1N0FCOTFBNTA3MjY5MDA4NzZGOTggLyogQWNjZXNzaWJpbGl0eUFSSUFHcmlkLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTM3RjU3QUJBMUE1MDcyNkYwMDg3NkY5OCAvKiBBY2Nlc3Np
YmlsaXR5QVJJQUdyaWRDZWxsLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjk5MzYsNiArMjk5NDcs
NyBAQAogCQkJCUQwMDBFQkEyMTFCREFGRDQwMEM0NzcyNiAvKiBGcmFtZUxvYWRlclN0YXRlTWFj
aGluZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4NkJBNzY2RTE2NjQyN0E4MDA1QkU1RDEgLyog
RnJhbWVMb2FkUmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzMwOUUwRDA5OUU2NDky
MDA1NkU1ODEgLyogRnJhbWVTZWxlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTcwNDQw
NTgxRTUzODUxNjAwMzU2NjAxIC8qIENyeXB0b0FsZ29yaXRobUFFU19DRkJNYWMuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNEE4Qzk2RUIwQkU2OTAzMjAwNEVFRkYwIC8qIEZyYW1lU2VsZWN0aW9u
TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQzRDRDYyOUExODM4Mzc2NjAwN0VCQUYxIC8qIEZy
YW1lU25hcHNob3R0aW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTY1QTIxNDg0MDk3QTNGNTMw
MEI5MDUwQSAvKiBGcmFtZVRyZWUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMDI1OSw3ICszMDI3
MSw2IEBACiAJCQkJQUQ5RkY2RTExOTA4MzkxRDAwM0I2MUUwIC8qIElPU3VyZmFjZVBvb2xDb2Nv
YS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTA3QUM0NzAxMTk1MjEwMjEwMEVFOTcyMyAvKiBJU09W
VFRDdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE4Rjg4MDQwRkY5NTdBRTAwODBGMDQ1IC8q
IEpTQWJzdHJhY3RXb3JrZXIuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTcyMDkzRDcxRERDRURB
NzAwMzEwQUIwIC8qIEpTQWVzQ2JjUGFyYW1zLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU3NzQ4
MzE2MURBRUMzMjMwMDcxNkVGOSAvKiBKU0Flc0tleUdlblBhcmFtcy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlGREExNUVDOTEyQjAzRjUwMDAzQTU4M0EgLyogSlNBbmFseXNlck5vZGUuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMzFBNzk1QzYxODg4QkFEQzAwMzgyRjkwIC8qIEpTQU5HTEVJbnN0
YW5jZWRBcnJheXMuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMTMyNyw2ICszMTMzOCw3IEBACiAJ
CQkJMUE4QTY0NkMxRDE5RkY4NzAwRDBFMDBGIC8qIFBheW1lbnRDb2NvYS5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCTFBOEE2NDZEMUQxOUZGODcwMEQwRTAwRiAvKiBQYXltZW50Q29udGFjdENvY29h
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE1OEU4NkQxRDE5RTQyRDAwQzBFQTczIC8qIFBheW1l
bnRDb29yZGluYXRvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1NzA0NDA1QzFFNTM5Mzc5MDAz
NTY2MDEgLyogSlNBZXNDYmNDZmJQYXJhbXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFEQTRB
MUMxRDIyRjJDMDAwNUE5QTE1IC8qIFBheW1lbnRNZXJjaGFudFNlc3Npb25Db2NvYS5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTFBOEE2NDZFMUQxOUZGODcwMEQwRTAwRiAvKiBQYXltZW50TWV0aG9k
Q29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQTU4RTg2NzFEMTlEODBFMDBDMEVBNzMgLyog
UGF5bWVudFJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAKaW5kZXggNWE2NGM0OTJlZGE0
YTQ1NmVjYmVkMTE0NzdhZDRjZDEzOWI1ZmZmOC4uNzRhZmJkNzA4ZWY2YzMyOGI2ZWZjODg3ZTcx
OTJiMzUyNjEwN2VhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNT
dWJ0bGVDcnlwdG9DdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
U3VidGxlQ3J5cHRvQ3VzdG9tLmNwcApAQCAtMzAsNyArMzAsNyBAQAogCiAjaW5jbHVkZSAiQ3J5
cHRvQWxnb3JpdGhtLmgiCiAjaW5jbHVkZSAiQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnkuaCIKLSNp
bmNsdWRlICJKU0Flc0NiY1BhcmFtcy5oIgorI2luY2x1ZGUgIkpTQWVzQ2JjQ2ZiUGFyYW1zLmgi
CiAjaW5jbHVkZSAiSlNBZXNLZXlHZW5QYXJhbXMuaCIKICNpbmNsdWRlICJKU0NyeXB0b0FsZ29y
aXRobVBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJKU0NyeXB0b0tleS5oIgpAQCAtMTEzLDEwICsx
MTMsMTEgQEAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJz
PiBub3JtYWxpemVDcnlwdG9BbGdvcml0aG1QYXJhbWUKICAgICAgICAgICAgICAgICByZXN1bHQg
PSBzdGQ6Om1ha2VfdW5pcXVlPENyeXB0b0FsZ29yaXRobVJzYU9hZXBQYXJhbXM+KHBhcmFtcyk7
CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBjYXNl
IENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OkFFU19DQkM6IHsKLSAgICAgICAgICAgICAgICBh
dXRvIHBhcmFtcyA9IGNvbnZlcnREaWN0aW9uYXJ5PENyeXB0b0FsZ29yaXRobUFlc0NiY1BhcmFt
cz4oc3RhdGUsIHZhbHVlKTsKKyAgICAgICAgICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRp
Zmllcjo6QUVTX0NCQzoKKyAgICAgICAgICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmll
cjo6QUVTX0NGQjogeworICAgICAgICAgICAgICAgIGF1dG8gcGFyYW1zID0gY29udmVydERpY3Rp
b25hcnk8Q3J5cHRvQWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zPihzdGF0ZSwgdmFsdWUpOwogICAg
ICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOwotICAgICAg
ICAgICAgICAgIHJlc3VsdCA9IHN0ZDo6bWFrZV91bmlxdWU8Q3J5cHRvQWxnb3JpdGhtQWVzQ2Jj
UGFyYW1zPihwYXJhbXMpOworICAgICAgICAgICAgICAgIHJlc3VsdCA9IHN0ZDo6bWFrZV91bmlx
dWU8Q3J5cHRvQWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zPihwYXJhbXMpOwogICAgICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZGVmYXVsdDoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG0uaCBiL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG0uaAppbmRleCBhOGQyMzI3MmU3ZWU4ZjBhYWUwODUz
YmNlOGVlZWI4Y2Q2NjVlZDQ3Li44MTlmMzc3MTRlZmMyYjg3YjUxZjc4MWNkMGJiM2ZjZTY2MWUw
NmZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRobS5oCkBAIC0zMiw2ICsz
Miw3IEBACiAjaW5jbHVkZSAiSnNvbldlYktleS5oIgogI2luY2x1ZGUgIlN1YnRsZUNyeXB0by5o
IgogI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgorI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CiAj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9Xb3JrUXVldWUuaD4KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMu
aCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmgKaW5k
ZXggYjk0MTUyMTA0NjJiM2U4NmZlYjhhNDdiNTZlMzNlMDM5MGQzODYxNC4uNjcyMjRmZWYxMDgx
ODYyYjgzNzBlZDZiYjEyNTU5ZDcwYWQ5NWUzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL0NyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
cnlwdG8vQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5oCkBAIC0zNyw3ICszNyw3IEBAIGNsYXNz
IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMgewogcHVibGljOgogICAgIGVudW0gY2xhc3MgQ2xh
c3MgewogICAgICAgICBOb25lLAotICAgICAgICBBZXNDYmNQYXJhbXMsCisgICAgICAgIEFlc0Ni
Y0NmYlBhcmFtcywKICAgICAgICAgQWVzS2V5R2VuUGFyYW1zLAogICAgICAgICBIbWFjS2V5UGFy
YW1zLAogICAgICAgICBSc2FIYXNoZWRLZXlHZW5QYXJhbXMsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuY3Bw
CmluZGV4IGFjMjMxZmE4OGM4ODU1NGY1NjY3ZWVhMDJjMDI4ZTVmMmU4ZjQ5N2MuLmI5ODY1YWVm
Y2EwNzYzZWMzYWMxYzQ5MjQ2NTFjNGQyM2I0YjQ5OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuY3Bw
CkBAIC0yOCw3ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoU1VCVExFX0NSWVBUTykKIAotI2luY2x1
ZGUgIkNyeXB0b0FsZ29yaXRobUFlc0NiY1BhcmFtcy5oIgorI2luY2x1ZGUgIkNyeXB0b0FsZ29y
aXRobUFlc0NiY0NmYlBhcmFtcy5oIgogI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFlc0NiY1Bh
cmFtc0RlcHJlY2F0ZWQuaCIKICNpbmNsdWRlICJDcnlwdG9BbGdvcml0aG1BZXNLZXlHZW5QYXJh
bXMuaCIKICNpbmNsdWRlICJDcnlwdG9BbGdvcml0aG1BZXNLZXlHZW5QYXJhbXNEZXByZWNhdGVk
LmgiCkBAIC02OSw3ICs2OSw3IEBAIGJvb2wgQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6a2V5QWxn
b3JpdGhtTWF0Y2hlcyhjb25zdCBDcnlwdG9BbGdvcml0aG1BZXNDYmNQYXJhCiB2b2lkIENyeXB0
b0FsZ29yaXRobUFFU19DQkM6OmVuY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRo
bVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycywgUmVmPENyeXB0b0tleT4mJiBrZXksIFZlY3Rvcjx1
aW50OF90PiYmIHBsYWluVGV4dCwgVmVjdG9yQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9u
Q2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29u
dGV4dCwgV29ya1F1ZXVlJiB3b3JrUXVldWUpCiB7CiAgICAgQVNTRVJUKHBhcmFtZXRlcnMpOwot
ICAgIGF1dG8mIGFlc1BhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1BZXNDYmNQ
YXJhbXM+KCpwYXJhbWV0ZXJzKTsKKyAgICBhdXRvJiBhZXNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8
Q3J5cHRvQWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zPigqcGFyYW1ldGVycyk7CiAgICAgaWYgKGFl
c1BhcmFtZXRlcnMuaXZWZWN0b3IoKS5zaXplKCkgIT0gSVZTSVpFKSB7CiAgICAgICAgIGV4Y2Vw
dGlvbkNhbGxiYWNrKE9wZXJhdGlvbkVycm9yKTsKICAgICAgICAgcmV0dXJuOwpAQCAtODAsNyAr
ODAsNyBAQCB2b2lkIENyeXB0b0FsZ29yaXRobUFFU19DQkM6OmVuY3J5cHQoc3RkOjp1bmlxdWVf
cHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+Jgogdm9pZCBDcnlwdG9BbGdvcml0aG1BRVNf
Q0JDOjpkZWNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYm
IHBhcmFtZXRlcnMsIFJlZjxDcnlwdG9LZXk+JiYga2V5LCBWZWN0b3I8dWludDhfdD4mJiBjaXBo
ZXJUZXh0LCBWZWN0b3JDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4
Y2VwdGlvbkNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBXb3JrUXVl
dWUmIHdvcmtRdWV1ZSkKIHsKICAgICBBU1NFUlQocGFyYW1ldGVycyk7Ci0gICAgYXV0byYgYWVz
UGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29yaXRobUFlc0NiY1BhcmFtcz4oKnBhcmFt
ZXRlcnMpOworICAgIGF1dG8mIGFlc1BhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0
aG1BZXNDYmNDZmJQYXJhbXM+KCpwYXJhbWV0ZXJzKTsKICAgICBpZiAoYWVzUGFyYW1ldGVycy5p
dlZlY3RvcigpLnNpemUoKSAhPSBJVlNJWkUpIHsKICAgICAgICAgZXhjZXB0aW9uQ2FsbGJhY2so
T3BlcmF0aW9uRXJyb3IpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfQ0ZCLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DRkIuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmZlNWQ1ZDEwMmYzM2ZjODI2MmEyNTI0MmRjNDAyMmJjNDViOTdlMDcKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdv
cml0aG1BRVNfQ0ZCLmNwcApAQCAtMCwwICsxLDE4MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCLmgiCisKKyNpZiBF
TkFCTEUoU1VCVExFX0NSWVBUTykKKworI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFlc0NiY0Nm
YlBhcmFtcy5oIgorI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFlc0tleUdlblBhcmFtcy5oIgor
I2luY2x1ZGUgIkNyeXB0b0tleUFFUy5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHMTI4ID0g
IkExMjhDRkI4IjsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEcxOTIgPSAiQTE5MkNGQjgi
Oworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzI1NiA9ICJBMjU2Q0ZCOCI7CitzdGF0aWMg
Y29uc3Qgc2l6ZV90IElWU0laRSA9IDE2OworCitzdGF0aWMgaW5saW5lIGJvb2wgdXNhZ2VzQXJl
SW52YWxpZEZvckNyeXB0b0FsZ29yaXRobUFFU19DRkIoQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNh
Z2VzKQoreworICAgIHJldHVybiB1c2FnZXMgJiAoQ3J5cHRvS2V5VXNhZ2VTaWduIHwgQ3J5cHRv
S2V5VXNhZ2VWZXJpZnkgfCBDcnlwdG9LZXlVc2FnZURlcml2ZUtleSB8IENyeXB0b0tleVVzYWdl
RGVyaXZlQml0cyk7Cit9CisKK1JlZjxDcnlwdG9BbGdvcml0aG0+IENyeXB0b0FsZ29yaXRobUFF
U19DRkI6OmNyZWF0ZSgpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ3J5cHRvQWxnb3Jp
dGhtQUVTX0NGQik7Cit9CisKK0NyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgQ3J5cHRvQWxnb3Jp
dGhtQUVTX0NGQjo6aWRlbnRpZmllcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIHNfaWRlbnRpZmll
cjsKK30KKwordm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCOjplbmNyeXB0KHN0ZDo6dW5pcXVl
X3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMsIFJlZjxDcnlwdG9L
ZXk+JiYga2V5LCBWZWN0b3I8dWludDhfdD4mJiBwbGFpblRleHQsIFZlY3RvckNhbGxiYWNrJiYg
Y2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFdvcmtRdWV1ZSYgd29ya1F1ZXVlKQoreworICAgIEFT
U0VSVChwYXJhbWV0ZXJzKTsKKyAgICBhdXRvJiBhZXNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5
cHRvQWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zPigqcGFyYW1ldGVycyk7CisgICAgaWYgKGFlc1Bh
cmFtZXRlcnMuaXZWZWN0b3IoKS5zaXplKCkgIT0gSVZTSVpFKSB7CisgICAgICAgIGV4Y2VwdGlv
bkNhbGxiYWNrKE9wZXJhdGlvbkVycm9yKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBw
bGF0Zm9ybUVuY3J5cHQoV1RGTW92ZShwYXJhbWV0ZXJzKSwgV1RGTW92ZShrZXkpLCBXVEZNb3Zl
KHBsYWluVGV4dCksIFdURk1vdmUoY2FsbGJhY2spLCBXVEZNb3ZlKGV4Y2VwdGlvbkNhbGxiYWNr
KSwgY29udGV4dCwgd29ya1F1ZXVlKTsKK30KKwordm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZC
OjpkZWNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmIHBh
cmFtZXRlcnMsIFJlZjxDcnlwdG9LZXk+JiYga2V5LCBWZWN0b3I8dWludDhfdD4mJiBjaXBoZXJU
ZXh0LCBWZWN0b3JDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2Vw
dGlvbkNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBXb3JrUXVldWUm
IHdvcmtRdWV1ZSkKK3sKKyAgICBBU1NFUlQocGFyYW1ldGVycyk7CisgICAgYXV0byYgYWVzUGFy
YW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29yaXRobUFlc0NiY0NmYlBhcmFtcz4oKnBhcmFt
ZXRlcnMpOworICAgIGlmIChhZXNQYXJhbWV0ZXJzLml2VmVjdG9yKCkuc2l6ZSgpICE9IElWU0la
RSkgeworICAgICAgICBleGNlcHRpb25DYWxsYmFjayhPcGVyYXRpb25FcnJvcik7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisgICAgcGxhdGZvcm1EZWNyeXB0KFdURk1vdmUocGFyYW1ldGVycyks
IFdURk1vdmUoa2V5KSwgV1RGTW92ZShjaXBoZXJUZXh0KSwgV1RGTW92ZShjYWxsYmFjayksIFdU
Rk1vdmUoZXhjZXB0aW9uQ2FsbGJhY2spLCBjb250ZXh0LCB3b3JrUXVldWUpOworfQorCit2b2lk
IENyeXB0b0FsZ29yaXRobUFFU19DRkI6OmdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRo
bVBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdl
Qml0bWFwIHVzYWdlcywgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9u
Q2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpCit7
CisgICAgY29uc3QgYXV0byYgYWVzUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29yaXRo
bUFlc0tleUdlblBhcmFtcz4ocGFyYW1ldGVycyk7CisKKyAgICBpZiAodXNhZ2VzQXJlSW52YWxp
ZEZvckNyeXB0b0FsZ29yaXRobUFFU19DRkIodXNhZ2VzKSkgeworICAgICAgICBleGNlcHRpb25D
YWxsYmFjayhTWU5UQVhfRVJSKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8g
cmVzdWx0ID0gQ3J5cHRvS2V5QUVTOjpnZW5lcmF0ZShDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVy
OjpBRVNfQ0ZCLCBhZXNQYXJhbWV0ZXJzLmxlbmd0aCwgZXh0cmFjdGFibGUsIHVzYWdlcyk7Cisg
ICAgaWYgKCFyZXN1bHQpIHsKKyAgICAgICAgZXhjZXB0aW9uQ2FsbGJhY2soT3BlcmF0aW9uRXJy
b3IpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgY2FsbGJhY2soV1RGTW92ZShyZXN1
bHQpKTsKK30KKwordm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCOjppbXBvcnRLZXkoU3VidGxl
Q3J5cHRvOjpLZXlGb3JtYXQgZm9ybWF0LCBLZXlEYXRhJiYgZGF0YSwgY29uc3Qgc3RkOjp1bmlx
dWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycywgYm9vbCBleHRy
YWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzLCBLZXlDYWxsYmFjayYmIGNhbGxi
YWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrKQoreworICAgIEFTU0VS
VChwYXJhbWV0ZXJzKTsKKyAgICBpZiAodXNhZ2VzQXJlSW52YWxpZEZvckNyeXB0b0FsZ29yaXRo
bUFFU19DRkIodXNhZ2VzKSkgeworICAgICAgICBleGNlcHRpb25DYWxsYmFjayhTWU5UQVhfRVJS
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIFJlZlB0cjxDcnlwdG9LZXlBRVM+IHJl
c3VsdDsKKyAgICBzd2l0Y2ggKGZvcm1hdCkgeworICAgIGNhc2UgU3VidGxlQ3J5cHRvOjpLZXlG
b3JtYXQ6OlJhdzoKKyAgICAgICAgcmVzdWx0ID0gQ3J5cHRvS2V5QUVTOjppbXBvcnRSYXcocGFy
YW1ldGVycy0+aWRlbnRpZmllciwgV1RGTW92ZShXVEY6OmdldDxWZWN0b3I8dWludDhfdD4+KGRh
dGEpKSwgZXh0cmFjdGFibGUsIHVzYWdlcyk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgU3Vi
dGxlQ3J5cHRvOjpLZXlGb3JtYXQ6Okp3azogeworICAgICAgICBhdXRvIGNoZWNrQWxnQ2FsbGJh
Y2sgPSBbXShzaXplX3QgbGVuZ3RoLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFN0cmluZz4mIGFsZykg
LT4gYm9vbCB7CisgICAgICAgICAgICBzd2l0Y2ggKGxlbmd0aCkgeworICAgICAgICAgICAgY2Fz
ZSBDcnlwdG9LZXlBRVM6OnNfbGVuZ3RoMTI4OgorICAgICAgICAgICAgICAgIHJldHVybiAhYWxn
IHx8IGFsZy52YWx1ZSgpID09IEFMRzEyODsKKyAgICAgICAgICAgIGNhc2UgQ3J5cHRvS2V5QUVT
OjpzX2xlbmd0aDE5MjoKKyAgICAgICAgICAgICAgICByZXR1cm4gIWFsZyB8fCBhbGcudmFsdWUo
KSA9PSBBTEcxOTI7CisgICAgICAgICAgICBjYXNlIENyeXB0b0tleUFFUzo6c19sZW5ndGgyNTY6
CisgICAgICAgICAgICAgICAgcmV0dXJuICFhbGcgfHwgYWxnLnZhbHVlKCkgPT0gQUxHMjU2Owor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9OworICAg
ICAgICByZXN1bHQgPSBDcnlwdG9LZXlBRVM6OmltcG9ydEp3ayhwYXJhbWV0ZXJzLT5pZGVudGlm
aWVyLCBXVEZNb3ZlKFdURjo6Z2V0PEpzb25XZWJLZXk+KGRhdGEpKSwgZXh0cmFjdGFibGUsIHVz
YWdlcywgV1RGTW92ZShjaGVja0FsZ0NhbGxiYWNrKSk7CisgICAgICAgIGJyZWFrOworICAgIH0K
KyAgICBkZWZhdWx0OgorICAgICAgICBleGNlcHRpb25DYWxsYmFjayhOT1RfU1VQUE9SVEVEX0VS
Uik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKCFyZXN1bHQpIHsKKyAgICAgICAg
ZXhjZXB0aW9uQ2FsbGJhY2soRGF0YUVycm9yKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIGNhbGxiYWNrKCpyZXN1bHQpOworfQorCit2b2lkIENyeXB0b0FsZ29yaXRobUFFU19DRkI6
OmV4cG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQsIFJlZjxDcnlwdG9LZXk+
JiYga2V5LCBLZXlEYXRhQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBl
eGNlcHRpb25DYWxsYmFjaykKK3sKKyAgICBjb25zdCBhdXRvJiBhZXNLZXkgPSBkb3duY2FzdDxD
cnlwdG9LZXlBRVM+KGtleS5nZXQoKSk7CisKKyAgICBpZiAoYWVzS2V5LmtleSgpLmlzRW1wdHko
KSkgeworICAgICAgICBleGNlcHRpb25DYWxsYmFjayhPcGVyYXRpb25FcnJvcik7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICBLZXlEYXRhIHJlc3VsdDsKKyAgICBzd2l0Y2ggKGZvcm1h
dCkgeworICAgIGNhc2UgU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQ6OlJhdzoKKyAgICAgICAgcmVz
dWx0ID0gVmVjdG9yPHVpbnQ4X3Q+KGFlc0tleS5rZXkoKSk7CisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQ6Okp3azogeworICAgICAgICBKc29uV2ViS2V5
IGp3ayA9IGFlc0tleS5leHBvcnRKd2soKTsKKyAgICAgICAgc3dpdGNoIChhZXNLZXkua2V5KCku
c2l6ZSgpICogOCkgeworICAgICAgICBjYXNlIENyeXB0b0tleUFFUzo6c19sZW5ndGgxMjg6Cisg
ICAgICAgICAgICBqd2suYWxnID0gU3RyaW5nKEFMRzEyOCk7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY2FzZSBDcnlwdG9LZXlBRVM6OnNfbGVuZ3RoMTkyOgorICAgICAgICAgICAgandr
LmFsZyA9IFN0cmluZyhBTEcxOTIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Ug
Q3J5cHRvS2V5QUVTOjpzX2xlbmd0aDI1NjoKKyAgICAgICAgICAgIGp3ay5hbGcgPSBTdHJpbmco
QUxHMjU2KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIH0KKyAgICAgICAgcmVzdWx0ID0gV1RG
TW92ZShqd2spOworICAgICAgICBicmVhazsKKyAgICB9CisgICAgZGVmYXVsdDoKKyAgICAgICAg
ZXhjZXB0aW9uQ2FsbGJhY2soTk9UX1NVUFBPUlRFRF9FUlIpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgY2FsbGJhY2soZm9ybWF0LCBXVEZNb3ZlKHJlc3VsdCkpOworfQorCit9CisK
KyNlbmRpZiAvLyBFTkFCTEUoU1VCVExFX0NSWVBUTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DRkIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DRkIuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mYjRkMTk1YTQ1NmMwZGE4NTMwMTA5NjNkMTk2YjBkNTU0Mzk5MDg2Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGht
QUVTX0NGQi5oCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
I2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobS5oIgorCisjaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8p
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ3J5cHRvS2V5QUVTOworCitjbGFzcyBD
cnlwdG9BbGdvcml0aG1BRVNfQ0ZCIGZpbmFsIDogcHVibGljIENyeXB0b0FsZ29yaXRobSB7Citw
dWJsaWM6CisgICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCBjaGFyKiBzX25hbWUgPSAiQUVTLUNG
Qi04IjsKKyAgICBzdGF0aWMgY29uc3RleHByIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgc19p
ZGVudGlmaWVyID0gQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6QUVTX0NGQjsKKyAgICBzdGF0
aWMgUmVmPENyeXB0b0FsZ29yaXRobT4gY3JlYXRlKCk7CisKK3ByaXZhdGU6CisgICAgQ3J5cHRv
QWxnb3JpdGhtQUVTX0NGQigpID0gZGVmYXVsdDsKKyAgICBDcnlwdG9BbGdvcml0aG1JZGVudGlm
aWVyIGlkZW50aWZpZXIoKSBjb25zdCBmaW5hbDsKKworICAgIHZvaWQgZW5jcnlwdChzdGQ6OnVu
aXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgUmVmPENyeXB0b0tleT4mJiwg
VmVjdG9yPHVpbnQ4X3Q+JiYsIFZlY3RvckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYs
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBXb3JrUXVldWUmKSBmaW5hbDsKKyAgICB2b2lkIGRl
Y3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIFJlZjxD
cnlwdG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90PiYmLCBWZWN0b3JDYWxsYmFjayYmLCBFeGNlcHRp
b25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgV29ya1F1ZXVlJikgZmluYWw7
CisgICAgdm9pZCBnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJiwg
Ym9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleU9yS2V5UGFpckNhbGxi
YWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKSBmaW5h
bDsKKyAgICB2b2lkIGltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5RGF0YSYm
LCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9v
bCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYsIEV4Y2Vw
dGlvbkNhbGxiYWNrJiYpIGZpbmFsOworICAgIHZvaWQgZXhwb3J0S2V5KFN1YnRsZUNyeXB0bzo6
S2V5Rm9ybWF0LCBSZWY8Q3J5cHRvS2V5PiYmLCBLZXlEYXRhQ2FsbGJhY2smJiwgRXhjZXB0aW9u
Q2FsbGJhY2smJikgZmluYWw7CisKKyAgICB2b2lkIHBsYXRmb3JtRW5jcnlwdChzdGQ6OnVuaXF1
ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgUmVmPENyeXB0b0tleT4mJiwgVmVj
dG9yPHVpbnQ4X3Q+JiYsIFZlY3RvckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBXb3JrUXVldWUmKTsKKyAgICB2b2lkIHBsYXRmb3JtRGVj
cnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgUmVmPENy
eXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZlY3RvckNhbGxiYWNrJiYsIEV4Y2VwdGlv
bkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBXb3JrUXVldWUmKTsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTVUJUTEVfQ1JZUFRP
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1B
RVNfQ0JDTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvQWxnb3JpdGht
QUVTX0NCQ01hYy5jcHAKaW5kZXggN2VlZTc3YmIxNmYyN2JlOTg1MzExZDY2YjdjOGE3ZTU2NmY0
ZGJiZS4uOTUxZTJiNTE1M2FlNDhhODUxYmNlNDZmMmRkNjQzNWQzOGY1ODAzOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDTWFjLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0NyeXB0b0FsZ29yaXRobUFFU19DQkNN
YWMuY3BwCkBAIC0yOCw3ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoU1VCVExFX0NSWVBUTykKIAot
I2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFlc0NiY1BhcmFtcy5oIgorI2luY2x1ZGUgIkNyeXB0
b0FsZ29yaXRobUFlc0NiY0NmYlBhcmFtcy5oIgogI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFl
c0NiY1BhcmFtc0RlcHJlY2F0ZWQuaCIKICNpbmNsdWRlICJDcnlwdG9LZXlBRVMuaCIKICNpbmNs
dWRlICJFeGNlcHRpb25Db2RlLmgiCkBAIC03Nyw3ICs3Nyw3IEBAIHZvaWQgQ3J5cHRvQWxnb3Jp
dGhtQUVTX0NCQzo6cGxhdGZvcm1FbmNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0
aG1QYXJhCiB7CiAgICAgY29udGV4dC5yZWYoKTsKICAgICB3b3JrUXVldWUuZGlzcGF0Y2goW3Bh
cmFtZXRlcnMgPSBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBrZXkgPSBXVEZNb3ZlKGtleSksIHBsYWlu
VGV4dCA9IFdURk1vdmUocGxhaW5UZXh0KSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwg
ZXhjZXB0aW9uQ2FsbGJhY2sgPSBXVEZNb3ZlKGV4Y2VwdGlvbkNhbGxiYWNrKSwgJmNvbnRleHRd
KCkgbXV0YWJsZSB7Ci0gICAgICAgIGF1dG8mIGFlc1BhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlw
dG9BbGdvcml0aG1BZXNDYmNQYXJhbXM+KCpwYXJhbWV0ZXJzKTsKKyAgICAgICAgYXV0byYgYWVz
UGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29yaXRobUFlc0NiY0NmYlBhcmFtcz4oKnBh
cmFtZXRlcnMpOwogICAgICAgICBhdXRvJiBhZXNLZXkgPSBkb3duY2FzdDxDcnlwdG9LZXlBRVM+
KGtleS5nZXQoKSk7CiAgICAgICAgIEFTU0VSVChhZXNQYXJhbWV0ZXJzLml2VmVjdG9yKCkuc2l6
ZSgpID09IGtDQ0Jsb2NrU2l6ZUFFUzEyOCk7CiAgICAgICAgIGF1dG8gcmVzdWx0ID0gdHJhbnNm
b3JtQUVTX0NCQyhrQ0NFbmNyeXB0LCBhZXNQYXJhbWV0ZXJzLml2VmVjdG9yKCkuZGF0YSgpLCBh
ZXNLZXkua2V5KCksIHBsYWluVGV4dC5kYXRhKCksIHBsYWluVGV4dC5zaXplKCkpOwpAQCAtMTAx
LDcgKzEwMSw3IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6cGxhdGZvcm1EZWNyeXB0
KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhCiB7CiAgICAgY29udGV4dC5yZWYo
KTsKICAgICB3b3JrUXVldWUuZGlzcGF0Y2goW3BhcmFtZXRlcnMgPSBXVEZNb3ZlKHBhcmFtZXRl
cnMpLCBrZXkgPSBXVEZNb3ZlKGtleSksIGNpcGhlclRleHQgPSBXVEZNb3ZlKGNpcGhlclRleHQp
LCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spLCBleGNlcHRpb25DYWxsYmFjayA9IFdURk1v
dmUoZXhjZXB0aW9uQ2FsbGJhY2spLCAmY29udGV4dF0oKSBtdXRhYmxlIHsKLSAgICAgICAgYXV0
byYgYWVzUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29yaXRobUFlc0NiY1BhcmFtcz4o
KnBhcmFtZXRlcnMpOworICAgICAgICBhdXRvJiBhZXNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5
cHRvQWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zPigqcGFyYW1ldGVycyk7CiAgICAgICAgIGF1dG8m
IGFlc0tleSA9IGRvd25jYXN0PENyeXB0b0tleUFFUz4oa2V5LmdldCgpKTsKICAgICAgICAgYXNz
ZXJ0KGFlc1BhcmFtZXRlcnMuaXZWZWN0b3IoKS5zaXplKCkgPT0ga0NDQmxvY2tTaXplQUVTMTI4
KTsKICAgICAgICAgYXV0byByZXN1bHQgPSB0cmFuc2Zvcm1BRVNfQ0JDKGtDQ0RlY3J5cHQsIGFl
c1BhcmFtZXRlcnMuaXZWZWN0b3IoKS5kYXRhKCksIGFlc0tleS5rZXkoKSwgY2lwaGVyVGV4dC5k
YXRhKCksIGNpcGhlclRleHQuc2l6ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Ny
eXB0by9tYWMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQk1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
cnlwdG8vbWFjL0NyeXB0b0FsZ29yaXRobUFFU19DRkJNYWMuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkM2Uy
MGQwM2FmZmQwOGE2ZGRiODMyNWQ2N2IzMGY0ZjA4MzJkNWYKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0NyeXB0b0FsZ29yaXRobUFFU19DRkJNYWMuY3BwCkBA
IC0wLDAgKzEsMTIzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIkNyeXB0b0FsZ29yaXRobUFFU19DRkIuaCIKKworI2lmIEVOQUJMRShTVUJUTEVfQ1JZUFRP
KQorCisjaW5jbHVkZSAiQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zLmgiCisjaW5jbHVk
ZSAiQ3J5cHRvS2V5QUVTLmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUg
IlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlIDxDb21tb25DcnlwdG8vQ29tbW9u
Q3J5cHRvLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIEV4Y2VwdGlvbk9yPFZl
Y3Rvcjx1aW50OF90Pj4gdHJhbnNmb3JtQUVTX0NGQihDQ09wZXJhdGlvbiBvcGVyYXRpb24sIGNv
bnN0IFZlY3Rvcjx1aW50OF90PiYgaXYsIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYga2V5LCBjb25z
dCBWZWN0b3I8dWludDhfdD4mIGRhdGEpCit7CisgICAgc2l6ZV90IGtleUxlbmd0aEluQnl0ZXMg
PSBrZXkuc2l6ZSgpOworICAgIENDQ3J5cHRvclJlZiBjcnlwdG9yOworI2lmIFBMQVRGT1JNKENP
Q09BKQorICAgIENDQWxnb3JpdGhtIGFlc0FsZ29yaXRobSA9IGtDQ0FsZ29yaXRobUFFUzsKKyNl
bHNlCisgICAgQ0NBbGdvcml0aG0gYWVzQWxnb3JpdGhtID0ga0NDQWxnb3JpdGhtQUVTMTI4Owor
I2VuZGlmCisgICAgQ0NDcnlwdG9yU3RhdHVzIHN0YXR1cyA9IENDQ3J5cHRvckNyZWF0ZVdpdGhN
b2RlKG9wZXJhdGlvbiwga0NDTW9kZUNGQjgsIGFlc0FsZ29yaXRobSwgY2NOb1BhZGRpbmcsIGl2
LmRhdGEoKSwga2V5LmRhdGEoKSwga2V5TGVuZ3RoSW5CeXRlcywgMCwgMCwgMCwgMCwgJmNyeXB0
b3IpOworICAgIGlmIChzdGF0dXMpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBPcGVyYXRp
b25FcnJvciB9OworCisgICAgVmVjdG9yPHVpbnQ4X3Q+IHJlc3VsdChDQ0NyeXB0b3JHZXRPdXRw
dXRMZW5ndGgoY3J5cHRvciwgZGF0YS5zaXplKCksIHRydWUpKTsKKworICAgIHNpemVfdCBieXRl
c1dyaXR0ZW47CisgICAgc3RhdHVzID0gQ0NDcnlwdG9yVXBkYXRlKGNyeXB0b3IsIGRhdGEuZGF0
YSgpLCBkYXRhLnNpemUoKSwgcmVzdWx0LmRhdGEoKSwgcmVzdWx0LnNpemUoKSwgJmJ5dGVzV3Jp
dHRlbik7CisgICAgaWYgKHN0YXR1cykKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE9wZXJh
dGlvbkVycm9yIH07CisKKyAgICB1aW50OF90KiBwID0gcmVzdWx0LmRhdGEoKSArIGJ5dGVzV3Jp
dHRlbjsKKyAgICBzdGF0dXMgPSBDQ0NyeXB0b3JGaW5hbChjcnlwdG9yLCBwLCByZXN1bHQuZW5k
KCkgLSBwLCAmYnl0ZXNXcml0dGVuKTsKKyAgICBwICs9IGJ5dGVzV3JpdHRlbjsKKyAgICBpZiAo
c3RhdHVzKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3IgfTsKKwor
ICAgIEFTU0VSVChwIDw9IHJlc3VsdC5lbmQoKSk7CisgICAgcmVzdWx0LnNocmluayhwIC0gcmVz
dWx0LmJlZ2luKCkpOworCisgICAgQ0NDcnlwdG9yUmVsZWFzZShjcnlwdG9yKTsKKworICAgIHJl
dHVybiBXVEZNb3ZlKHJlc3VsdCk7Cit9CisKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQjo6
cGxhdGZvcm1FbmNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJz
PiYmIHBhcmFtZXRlcnMsIFJlZjxDcnlwdG9LZXk+JiYga2V5LCBWZWN0b3I8dWludDhfdD4mJiBw
bGFpblRleHQsIFZlY3RvckNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYg
ZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFdvcmtR
dWV1ZSYgd29ya1F1ZXVlKQoreworICAgIGNvbnRleHQucmVmKCk7CisgICAgd29ya1F1ZXVlLmRp
c3BhdGNoKFtwYXJhbWV0ZXJzID0gV1RGTW92ZShwYXJhbWV0ZXJzKSwga2V5ID0gV1RGTW92ZShr
ZXkpLCBwbGFpblRleHQgPSBXVEZNb3ZlKHBsYWluVGV4dCksIGNhbGxiYWNrID0gV1RGTW92ZShj
YWxsYmFjayksIGV4Y2VwdGlvbkNhbGxiYWNrID0gV1RGTW92ZShleGNlcHRpb25DYWxsYmFjayks
ICZjb250ZXh0XSgpIG11dGFibGUgeworICAgICAgICBhdXRvJiBhZXNQYXJhbWV0ZXJzID0gZG93
bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zPigqcGFyYW1ldGVycyk7CisgICAg
ICAgIGF1dG8mIGFlc0tleSA9IGRvd25jYXN0PENyeXB0b0tleUFFUz4oa2V5LmdldCgpKTsKKyAg
ICAgICAgQVNTRVJUKGFlc1BhcmFtZXRlcnMuaXZWZWN0b3IoKS5zaXplKCkgPT0ga0NDQmxvY2tT
aXplQUVTMTI4KTsKKyAgICAgICAgYXV0byByZXN1bHQgPSB0cmFuc2Zvcm1BRVNfQ0ZCKGtDQ0Vu
Y3J5cHQsIGFlc1BhcmFtZXRlcnMuaXZWZWN0b3IoKSwgYWVzS2V5LmtleSgpLCBwbGFpblRleHQp
OworICAgICAgICBpZiAocmVzdWx0Lmhhc0V4Y2VwdGlvbigpKSB7CisgICAgICAgICAgICAvLyBX
ZSBzaG91bGQgb25seSBkZXJlZmVyZW5jZSBjYWxsYmFja3MgYWZ0ZXIgYmVpbmcgYmFjayB0byB0
aGUgRG9jdW1lbnQvV29ya2VyIHRocmVhZHMuCisgICAgICAgICAgICBjb250ZXh0LnBvc3RUYXNr
KFtleGNlcHRpb25DYWxsYmFjayA9IFdURk1vdmUoZXhjZXB0aW9uQ2FsbGJhY2spLCBlYyA9IHJl
c3VsdC5yZWxlYXNlRXhjZXB0aW9uKCkuY29kZSgpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJh
Y2spXShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KSB7CisgICAgICAgICAgICAgICAg
ZXhjZXB0aW9uQ2FsbGJhY2soZWMpOworICAgICAgICAgICAgICAgIGNvbnRleHQuZGVyZWYoKTsK
KyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAg
IC8vIFdlIHNob3VsZCBvbmx5IGRlcmVmZXJlbmNlIGNhbGxiYWNrcyBhZnRlciBiZWluZyBiYWNr
IHRvIHRoZSBEb2N1bWVudC9Xb3JrZXIgdGhyZWFkcy4KKyAgICAgICAgY29udGV4dC5wb3N0VGFz
ayhbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwgcmVzdWx0ID0gcmVzdWx0LnJlbGVhc2VS
ZXR1cm5WYWx1ZSgpLCBleGNlcHRpb25DYWxsYmFjayA9IFdURk1vdmUoZXhjZXB0aW9uQ2FsbGJh
Y2spXShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KSB7CisgICAgICAgICAgICBjYWxs
YmFjayhyZXN1bHQpOworICAgICAgICAgICAgY29udGV4dC5kZXJlZigpOworICAgICAgICB9KTsK
KyAgICB9KTsKK30KKwordm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCOjpwbGF0Zm9ybURlY3J5
cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVy
cywgUmVmPENyeXB0b0tleT4mJiBrZXksIFZlY3Rvcjx1aW50OF90PiYmIGNpcGhlclRleHQsIFZl
Y3RvckNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2Fs
bGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFdvcmtRdWV1ZSYgd29ya1F1
ZXVlKQoreworICAgIGNvbnRleHQucmVmKCk7CisgICAgd29ya1F1ZXVlLmRpc3BhdGNoKFtwYXJh
bWV0ZXJzID0gV1RGTW92ZShwYXJhbWV0ZXJzKSwga2V5ID0gV1RGTW92ZShrZXkpLCBjaXBoZXJU
ZXh0ID0gV1RGTW92ZShjaXBoZXJUZXh0KSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwg
ZXhjZXB0aW9uQ2FsbGJhY2sgPSBXVEZNb3ZlKGV4Y2VwdGlvbkNhbGxiYWNrKSwgJmNvbnRleHRd
KCkgbXV0YWJsZSB7CisgICAgICAgIGF1dG8mIGFlc1BhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlw
dG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXM+KCpwYXJhbWV0ZXJzKTsKKyAgICAgICAgYXV0byYg
YWVzS2V5ID0gZG93bmNhc3Q8Q3J5cHRvS2V5QUVTPihrZXkuZ2V0KCkpOworICAgICAgICBhc3Nl
cnQoYWVzUGFyYW1ldGVycy5pdlZlY3RvcigpLnNpemUoKSA9PSBrQ0NCbG9ja1NpemVBRVMxMjgp
OworICAgICAgICBhdXRvIHJlc3VsdCA9IHRyYW5zZm9ybUFFU19DRkIoa0NDRGVjcnlwdCwgYWVz
UGFyYW1ldGVycy5pdlZlY3RvcigpLCBhZXNLZXkua2V5KCksIGNpcGhlclRleHQpOworICAgICAg
ICBpZiAocmVzdWx0Lmhhc0V4Y2VwdGlvbigpKSB7CisgICAgICAgICAgICAvLyBXZSBzaG91bGQg
b25seSBkZXJlZmVyZW5jZSBjYWxsYmFja3MgYWZ0ZXIgYmVpbmcgYmFjayB0byB0aGUgRG9jdW1l
bnQvV29ya2VyIHRocmVhZHMuCisgICAgICAgICAgICBjb250ZXh0LnBvc3RUYXNrKFtleGNlcHRp
b25DYWxsYmFjayA9IFdURk1vdmUoZXhjZXB0aW9uQ2FsbGJhY2spLCBlYyA9IHJlc3VsdC5yZWxl
YXNlRXhjZXB0aW9uKCkuY29kZSgpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KSB7CisgICAgICAgICAgICAgICAgZXhjZXB0aW9u
Q2FsbGJhY2soZWMpOworICAgICAgICAgICAgICAgIGNvbnRleHQuZGVyZWYoKTsKKyAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIC8vIFdlIHNo
b3VsZCBvbmx5IGRlcmVmZXJlbmNlIGNhbGxiYWNrcyBhZnRlciBiZWluZyBiYWNrIHRvIHRoZSBE
b2N1bWVudC9Xb3JrZXIgdGhyZWFkcy4KKyAgICAgICAgY29udGV4dC5wb3N0VGFzayhbY2FsbGJh
Y2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwgcmVzdWx0ID0gcmVzdWx0LnJlbGVhc2VSZXR1cm5WYWx1
ZSgpLCBleGNlcHRpb25DYWxsYmFjayA9IFdURk1vdmUoZXhjZXB0aW9uQ2FsbGJhY2spXShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KSB7CisgICAgICAgICAgICBjYWxsYmFjayhyZXN1
bHQpOworICAgICAgICAgICAgY29udGV4dC5kZXJlZigpOworICAgICAgICB9KTsKKyAgICB9KTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNVQlRMRV9D
UllQVE8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0NyeXB0b0FsZ29y
aXRobVJlZ2lzdHJ5TWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvQWxn
b3JpdGhtUmVnaXN0cnlNYWMuY3BwCmluZGV4IDE3ZDUwOTRmMmU4ODVlZjk5M2Y4NjRlNzZiNmNj
ODgzZWJjNDc4ZWUuLmViNDRkZDAxY2U2MTZkNTJlZjFiMWRhM2E2YTBjZDM5MTQ4MTRlYjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvQWxnb3JpdGhtUmVnaXN0
cnlNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvQWxnb3JpdGht
UmVnaXN0cnlNYWMuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaWYgRU5BQkxFKFNVQlRMRV9DUllQ
VE8pCiAKICNpbmNsdWRlICJDcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmgiCisjaW5jbHVkZSAiQ3J5
cHRvQWxnb3JpdGhtQUVTX0NGQi5oIgogI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFFU19LVy5o
IgogI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUhNQUMuaCIKICNpbmNsdWRlICJDcnlwdG9BbGdv
cml0aG1SU0FFU19QS0NTMV92MV81LmgiCkBAIC00NSw2ICs0Niw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIHZvaWQgQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnk6OnBsYXRmb3JtUmVnaXN0ZXJBbGdv
cml0aG1zKCkKIHsKICAgICByZWdpc3RlckFsZ29yaXRobTxDcnlwdG9BbGdvcml0aG1BRVNfQ0JD
PigpOworICAgIHJlZ2lzdGVyQWxnb3JpdGhtPENyeXB0b0FsZ29yaXRobUFFU19DRkI+KCk7CiAg
ICAgcmVnaXN0ZXJBbGdvcml0aG08Q3J5cHRvQWxnb3JpdGhtQUVTX0tXPigpOwogICAgIHJlZ2lz
dGVyQWxnb3JpdGhtPENyeXB0b0FsZ29yaXRobUhNQUM+KCk7CiAgICAgcmVnaXN0ZXJBbGdvcml0
aG08Q3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNT4oKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9wYXJhbWV0ZXJzL0Flc0NiY0NmYlBhcmFtcy5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9jcnlwdG8vcGFyYW1ldGVycy9BZXNDYmNDZmJQYXJhbXMuaWRsCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgwZWE0NzVkODkyMmVkOWY1MzY3Y2ViZmFhZjJiMjMxZGIyOGJiMWEKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vcGFyYW1ldGVycy9BZXNDYmNDZmJQYXJhbXMuaWRs
CkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBUaGlzIGlzIGEgdW5pZmllZCBkaWN0
aW9uYXJ5IGZvciBBZXNDYmNQYXJhbXMgYW5kIEFlc0NmYlBhcmFtcy4KKy8vIGh0dHBzOi8vd3d3
LnczLm9yZy9UUi9XZWJDcnlwdG9BUEkvI2Rmbi1BZXNDYmNQYXJhbXMsIGFuZAorLy8gaHR0cHM6
Ly93d3cudzMub3JnL1RSLzIwMTQvQ1ItV2ViQ3J5cHRvQVBJLTIwMTQxMjExLyNkZm4tQWVzQ2Zi
UGFyYW1zCitbCisgICAgQ29uZGl0aW9uYWw9U1VCVExFX0NSWVBUTywKKyAgICBJbXBsZW1lbnRl
ZEFzPUNyeXB0b0FsZ29yaXRobUFlc0NiY0NmYlBhcmFtcworXSBkaWN0aW9uYXJ5IEFlc0NiY0Nm
YlBhcmFtcyA6IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMgeworICAgIC8vIFRoZSBpbml0aWFs
aXphdGlvbiB2ZWN0b3IuIE1VU1QgYmUgMTYgYnl0ZXMuCisgICAgcmVxdWlyZWQgQnVmZmVyU291
cmNlIGl2OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9wYXJhbWV0ZXJz
L0Flc0NiY1BhcmFtcy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vcGFyYW1ldGVycy9BZXND
YmNQYXJhbXMuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZGQ5MDQzN2ViYWQ0
NTE0MDMxZGZkNzBlMzI1ZTA4ZTBkZDMzYzZlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9wYXJhbWV0ZXJzL0Flc0Ni
Y1BhcmFtcy5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
WwotICAgIENvbmRpdGlvbmFsPVNVQlRMRV9DUllQVE8sCi0gICAgSW1wbGVtZW50ZWRBcz1Dcnlw
dG9BbGdvcml0aG1BZXNDYmNQYXJhbXMKLV0gZGljdGlvbmFyeSBBZXNDYmNQYXJhbXMgOiBDcnlw
dG9BbGdvcml0aG1QYXJhbWV0ZXJzIHsKLSAgICAvLyBUaGUgaW5pdGlhbGl6YXRpb24gdmVjdG9y
LiBNVVNUIGJlIDE2IGJ5dGVzLgotICAgIHJlcXVpcmVkIEJ1ZmZlclNvdXJjZSBpdjsKLX07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vcGFyYW1ldGVycy9DcnlwdG9BbGdvcml0
aG1BZXNDYmNDZmJQYXJhbXMuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9wYXJhbWV0ZXJzL0Ny
eXB0b0FsZ29yaXRobUFlc0NiY0NmYlBhcmFtcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkMmE5Nzk3ODcyOWIw
NWJhOTY5Yzg5NWUwMWRhNGQ0ZGNjNDNiZDAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jcnlwdG8vcGFyYW1ldGVycy9DcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXMuaApA
QCAtMCwwICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJC
dWZmZXJTb3VyY2UuaCIKKyNpbmNsdWRlICJDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmgiCisj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCisjaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8pCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1z
IGZpbmFsIDogcHVibGljIENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMgeworcHVibGljOgorICAg
IEJ1ZmZlclNvdXJjZSBpdjsKKworICAgIENsYXNzIHBhcmFtZXRlcnNDbGFzcygpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIENsYXNzOjpBZXNDYmNDZmJQYXJhbXM7IH0KKworICAgIGNvbnN0IFZlY3Rv
cjx1aW50OF90PiYgaXZWZWN0b3IoKQorICAgIHsKKyAgICAgICAgaWYgKCFtX2l2VmVjdG9yLmlz
RW1wdHkoKSB8fCAhaXYubGVuZ3RoKCkpCisgICAgICAgICAgICByZXR1cm4gbV9pdlZlY3RvcjsK
KworICAgICAgICBtX2l2VmVjdG9yLmFwcGVuZChpdi5kYXRhKCksIGl2Lmxlbmd0aCgpKTsKKyAg
ICAgICAgcmV0dXJuIG1faXZWZWN0b3I7CisgICAgfQorCitwcml2YXRlOgorICAgIFZlY3Rvcjx1
aW50OF90PiBtX2l2VmVjdG9yOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVD
SUFMSVpFX1RZUEVfVFJBSVRTX0NSWVBUT19BTEdPUklUSE1fUEFSQU1FVEVSUyhBZXNDYmNDZmJQ
YXJhbXMpCisKKyNlbmRpZiAvLyBFTkFCTEUoU1VCVExFX0NSWVBUTykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2NyeXB0by9wYXJhbWV0ZXJzL0NyeXB0b0FsZ29yaXRobUFlc0NiY1BhcmFt
cy5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL3BhcmFtZXRlcnMvQ3J5cHRvQWxnb3JpdGhtQWVz
Q2JjUGFyYW1zLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUxYmNlYmYxZTlkZTMx
YTJmNTMwNGM5MzE3MDc2YzMzMWM1OTk2NTMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL3BhcmFtZXRlcnMvQ3J5cHRv
QWxnb3JpdGhtQWVzQ2JjUGFyYW1zLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpbmNsdWRlICJCdWZmZXJTb3VyY2UuaCIKLSNp
bmNsdWRlICJDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmgiCi0jaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgotCi0jaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8pCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotY2xhc3MgQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjUGFyYW1zIGZpbmFsIDogcHVibGljIENyeXB0
b0FsZ29yaXRobVBhcmFtZXRlcnMgewotcHVibGljOgotICAgIEJ1ZmZlclNvdXJjZSBpdjsKLQot
ICAgIENsYXNzIHBhcmFtZXRlcnNDbGFzcygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENsYXNzOjpB
ZXNDYmNQYXJhbXM7IH0KLQotICAgIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgaXZWZWN0b3IoKQot
ICAgIHsKLSAgICAgICAgaWYgKCFtX2l2VmVjdG9yLmlzRW1wdHkoKSB8fCAhaXYubGVuZ3RoKCkp
Ci0gICAgICAgICAgICByZXR1cm4gbV9pdlZlY3RvcjsKLQotICAgICAgICBtX2l2VmVjdG9yLmFw
cGVuZChpdi5kYXRhKCksIGl2Lmxlbmd0aCgpKTsKLSAgICAgICAgcmV0dXJuIG1faXZWZWN0b3I7
Ci0gICAgfQotCi1wcml2YXRlOgotICAgIFZlY3Rvcjx1aW50OF90PiBtX2l2VmVjdG9yOwotfTsK
LQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi1TUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NSWVBU
T19BTEdPUklUSE1fUEFSQU1FVEVSUyhBZXNDYmNQYXJhbXMpCi0KLSNlbmRpZiAvLyBFTkFCTEUo
U1VCVExFX0NSWVBUTykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3NzY5NTFjZGQzYmUxYzFmM2E2ZTNkMWVjNzkyZDA5Y2Y3
NTgzNWUwLi5mZWI2YTM1NDQ5ZjYzZmViZmU4ZTE3NTliZWY1YzdmMGNiYzk2NDdhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsNjYgQEAKKzIwMTctMDItMTQgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxl
LmNvbT4KKworICAgICAgICBbV2ViQ3J5cHRvXSBBZGQgc3VwcG9ydCBmb3IgQUVTLUNGQgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4MzQ0CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8yMDk0MDIyMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNiYy1jZmItZGVjcnlw
dC1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy1l
eHBlY3RlZC50eHQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWNmYi1kZWNyeXB0
LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2Flcy1jYmMtZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sLgorICAg
ICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNiYy1jZmItZW5jcnlwdC1tYWxmb3JtZWQtcGFyYW1l
dGVycy1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L2Flcy1jYmMtZW5jcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQuCisgICAg
ICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWNmYi1lbmNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0
ZXJzLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMt
ZW5jcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sLgorICAgICAgICAqIGNyeXB0by9zdWJ0
bGUvYWVzLWNiYy1pbXBvcnQta2V5LXVud3JhcC1qd2stcnNhLWtleS1wdWJsaWMtZXhwZWN0ZWQu
dHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9y
dC1rZXktdXdyYXAtandrLXJzYS1rZXktcHVibGljLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBj
cnlwdG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS11bndyYXAtandrLXJzYS1rZXktcHVibGlj
Lmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1w
b3J0LWtleS11d3JhcC1qd2stcnNhLWtleS1wdWJsaWMuaHRtbC4KKyAgICAgICAgKiBjcnlwdG8v
c3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTEyOC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1l
eHBvcnQta2V5LWp3ay1sZW5ndGgtMTI4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9z
dWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMTkyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4
cG9ydC1rZXktandrLWxlbmd0aC0xOTIuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1
YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0yNTYtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhw
b3J0LWtleS1qd2stbGVuZ3RoLTI1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3Vi
dGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LXJhdy1rZXktZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LXJhdy1rZXku
aHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWtl
eS1lbmNyeXB0LWRlY3J5cHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8v
c3VidGxlL2Flcy1jZmItZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUta2V5LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWtleS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1r
ZXktbGVuZ3RoLTEyOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0
bGUvYWVzLWNmYi1pbXBvcnQtandrLWtleS1sZW5ndGgtMTI4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtandrLWtleS1sZW5ndGgtMTkyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1q
d2sta2V5LWxlbmd0aC0xOTIuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9h
ZXMtY2ZiLWltcG9ydC1qd2sta2V5LWxlbmd0aC0yNTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTI1Ni5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1k
ZWNyeXB0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMt
Y2ZiLWltcG9ydC1rZXktZGVjcnlwdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3Vi
dGxlL2Flcy1jZmItaW1wb3J0LWtleS1lbmNyeXB0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktZW5jcnlwdC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAtandr
LWtleS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNm
Yi1pbXBvcnQta2V5LXVud3JhcC1qd2sta2V5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0
by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXVud3JhcC1yYXcta2V5LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFw
LXJhdy1rZXkuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWlt
cG9ydC1rZXktd3JhcC1qd2sta2V5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5
cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1qd2sta2V5Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXdyYXAtcmF3LWtleS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBv
cnQta2V5LXdyYXAtcmF3LWtleS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxl
L2Flcy1jZmItaW1wb3J0LXJhdy1rZXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBj
cnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LXJhdy1rZXkuaHRtbDogQWRkZWQuCisgICAgICAg
ICogY3J5cHRvL3N1YnRsZS9hZXMtZ2VuZXJhdGUta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1nZW5lcmF0ZS1rZXktbWFs
Zm9ybWVkLXBhcmFtZXRlcnMuaHRtbDoKKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1pbXBv
cnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBjcnlw
dG8vc3VidGxlL2Flcy1pbXBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWw6CisgICAg
ICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1kZWNyeXB0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1j
ZmItaW1wb3J0LWtleS1kZWNyeXB0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by93b3Jr
ZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktZW5jcnlwdC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktZW5j
cnlwdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNm
Yi1pbXBvcnQta2V5LXVud3JhcC1rZXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBj
cnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXVud3JhcC1rZXkuaHRtbDog
QWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtl
eS13cmFwLWtleS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by93b3JrZXJz
L3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1rZXkuaHRtbDogQWRkZWQuCisgICAgICAg
ICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMtY2ZiLWltcG9ydC1rZXktZGVj
cnlwdC5qczogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNl
cy9hZXMtY2ZiLWltcG9ydC1rZXktZW5jcnlwdC5qczogQWRkZWQuCisgICAgICAgICogY3J5cHRv
L3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWtleS5q
czogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMt
Y2ZiLWltcG9ydC1rZXktd3JhcC1rZXkuanM6IEFkZGVkLgorCiAyMDE3LTAyLTEzICBNeWxlcyBD
LiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIGN1c3Rv
bSBsaW5lIGJyZWFraW5nIGl0ZXJhdG9ycyB0byB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgVW5pY29k
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWNmYi1kZWNy
eXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvYWVzLWNiYy1jZmItZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZDU0ODMxOGUwNmE5ZGExYWQ0YmE1NDcyZDFiMGQ2YjFmOTQ5MjIy
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1j
ZmItZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NSBAQAorVGVzdCBkZWNyeXB0aW5nIHVzaW5nIEFFUy1DQkMvQUVTLUNGQiB3aXRoIG1hbGZvcm1l
ZCBwYXJhbWV0ZXJzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGNyeXB0
by5zdWJ0bGUuZGVjcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXko
IiIpfSwga2V5LCBjaXBoZXJUZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE9wZXJhdGlvbkVy
cm9yIChET00gRXhjZXB0aW9uIDM0KTogVGhlIG9wZXJhdGlvbiBmYWlsZWQgZm9yIGFuIG9wZXJh
dGlvbi1zcGVjaWZpYyByZWFzb24uCitQQVNTIGNyeXB0by5zdWJ0bGUuZGVjcnlwdCh7bmFtZTog
ImFlcy1jYmMiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImoiKX0sIGtleSwgY2lwaGVyVGV4dCkg
cmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBPcGVyYXRpb25FcnJvciAoRE9NIEV4Y2VwdGlvbiAzNCk6
IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciBhbiBvcGVyYXRpb24tc3BlY2lmaWMgcmVhc29uLgor
UEFTUyBjcnlwdG8uc3VidGxlLmRlY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IGFzY2lpVG9V
aW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yZCIpfSwga2V5LCBjaXBoZXJUZXh0KSByZWplY3Rl
ZCBwcm9taXNlICB3aXRoIE9wZXJhdGlvbkVycm9yIChET00gRXhjZXB0aW9uIDM0KTogVGhlIG9w
ZXJhdGlvbiBmYWlsZWQgZm9yIGFuIG9wZXJhdGlvbi1zcGVjaWZpYyByZWFzb24uCitQQVNTIGNy
eXB0by5zdWJ0bGUuZGVjcnlwdCh7bmFtZTogImFlcy1jZmItOCIsIGl2OiBhc2NpaVRvVWludDhB
cnJheSgiIil9LCBrZXksIGNpcGhlclRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggT3BlcmF0
aW9uRXJyb3IgKERPTSBFeGNlcHRpb24gMzQpOiBUaGUgb3BlcmF0aW9uIGZhaWxlZCBmb3IgYW4g
b3BlcmF0aW9uLXNwZWNpZmljIHJlYXNvbi4KK1BBU1MgY3J5cHRvLnN1YnRsZS5kZWNyeXB0KHtu
YW1lOiAiYWVzLWNmYi04IiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqIil9LCBrZXksIGNpcGhl
clRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggT3BlcmF0aW9uRXJyb3IgKERPTSBFeGNlcHRp
b24gMzQpOiBUaGUgb3BlcmF0aW9uIGZhaWxlZCBmb3IgYW4gb3BlcmF0aW9uLXNwZWNpZmljIHJl
YXNvbi4KK1BBU1MgY3J5cHRvLnN1YnRsZS5kZWNyeXB0KHtuYW1lOiAiYWVzLWNmYi04IiwgaXY6
IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yZCIpfSwga2V5LCBjaXBoZXJUZXh0
KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE9wZXJhdGlvbkVycm9yIChET00gRXhjZXB0aW9uIDM0
KTogVGhlIG9wZXJhdGlvbiBmYWlsZWQgZm9yIGFuIG9wZXJhdGlvbi1zcGVjaWZpYyByZWFzb24u
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWNmYi1kZWNyeXB0LW1h
bGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1j
YmMtY2ZiLWRlY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZTg0
ZGY0N2QxZDg0MmVmOWI0OTIwNjZjOTU0MTQzYWU5ZmI4OGIxCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWNmYi1kZWNyeXB0LW1hbGZvcm1lZC1w
YXJhbWV0ZXJzLmh0bWwKQEAgLTAsMCArMSw0NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBkZWNyeXB0aW5nIHVzaW5n
IEFFUy1DQkMvQUVTLUNGQiB3aXRoIG1hbGZvcm1lZCBwYXJhbWV0ZXJzIik7CisKK2pzVGVzdElz
QXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSBmYWxzZTsKK3ZhciBjaXBoZXJUZXh0
ID0gaGV4U3RyaW5nVG9VaW50OEFycmF5KCIyZmZhNDYxODc4NGRmZDQxNGIyMmM0MGM2MzMwZDAy
MiIpOwordmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIik7
CisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMtY2JjIiwgZXh0
cmFjdGFibGUsIFsiZGVjcnlwdCJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9
IHJlc3VsdDsKKyAgICAvLyBXcm9uZyBpdiBsZW5ndGgKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0
by5zdWJ0bGUuZGVjcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXko
IiIpfSwga2V5LCBjaXBoZXJUZXh0KScpOworICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRs
ZS5kZWNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiaiIpfSwg
a2V5LCBjaXBoZXJUZXh0KScpOworICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5kZWNy
eXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJ
RVBNcmQiKX0sIGtleSwgY2lwaGVyVGV4dCknKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7
CisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMtY2ZiLTgiLCBl
eHRyYWN0YWJsZSwgWyJkZWNyeXB0Il0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5
ID0gcmVzdWx0OworICAgIC8vIFdyb25nIGl2IGxlbmd0aAorICAgIHNob3VsZFJlamVjdCgnY3J5
cHRvLnN1YnRsZS5kZWNyeXB0KHtuYW1lOiAiYWVzLWNmYi04IiwgaXY6IGFzY2lpVG9VaW50OEFy
cmF5KCIiKX0sIGtleSwgY2lwaGVyVGV4dCknKTsKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5z
dWJ0bGUuZGVjcnlwdCh7bmFtZTogImFlcy1jZmItOCIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgi
aiIpfSwga2V5LCBjaXBoZXJUZXh0KScpOworICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRs
ZS5kZWNyeXB0KHtuYW1lOiAiYWVzLWNmYi04IiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqbk93
OTlvT1pGTElFUE1yZCIpfSwga2V5LCBjaXBoZXJUZXh0KScpOworCisgICAgZmluaXNoSlNUZXN0
KCk7Cit9KTsKKworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1jZmItZW5jcnlwdC1tYWxmb3JtZWQtcGFy
YW1ldGVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMt
Y2ZiLWVuY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjBiYjViMjY3Mjg4MzFkYzUyZTA2YWEzMGYzZjNlMWZhYjcwNWNjZjUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtY2ZiLWVuY3J5cHQtbWFsZm9y
bWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjYgQEAKK1Rlc3QgZW5jcnlw
dGluZyB1c2luZyBBRVMtQ0JDL0FFUy1DRkIgd2l0aCBtYWxmb3JtZWQgcGFyYW1ldGVycworCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBjcnlwdG8uc3VidGxlLmVuY3J5cHQo
ImFlcy1jYmMiLCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJy
b3I6IE1lbWJlciBBZXNDYmNDZmJQYXJhbXMuaXYgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4g
aW5zdGFuY2Ugb2YgQnVmZmVyU291cmNlLgorUEFTUyBjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25h
bWU6ICJhZXMtY2JjIn0sIGtleSwgcGxhaW5UZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5
cGVFcnJvcjogTWVtYmVyIEFlc0NiY0NmYlBhcmFtcy5pdiBpcyByZXF1aXJlZCBhbmQgbXVzdCBi
ZSBhbiBpbnN0YW5jZSBvZiBCdWZmZXJTb3VyY2UuCitQQVNTIGNyeXB0by5zdWJ0bGUuZW5jcnlw
dCh7bmFtZTogImFlcy1jYmMiLCBpdjogdHJ1ZX0sIGtleSwgcGxhaW5UZXh0KSByZWplY3RlZCBw
cm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgY3J5cHRvLnN1YnRsZS5l
bmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiAxfSwga2V5LCBwbGFpblRleHQpIHJlamVjdGVk
IHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBjcnlwdG8uc3VidGxl
LmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IG51bGx9LCBrZXksIHBsYWluVGV4dCkgcmVq
ZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIGNyeXB0by5z
dWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogdW5kZWZpbmVkfSwga2V5LCBwbGFp
blRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBNZW1iZXIgQWVzQ2JjQ2Zi
UGFyYW1zLml2IGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEJ1ZmZlclNv
dXJjZS4KK1BBU1MgY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBT
eW1ib2woKX0sIGtleSwgcGxhaW5UZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJv
cjogVHlwZSBlcnJvci4KK1BBU1MgY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNi
YyIsIGl2OiB7IH19LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBl
RXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIGNyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFl
cy1jYmMiLCBpdjogImZvbyJ9LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0
aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIGNyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFt
ZTogImFlcy1jYmMiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoIiIpfSwga2V5LCBwbGFpblRleHQp
IHJlamVjdGVkIHByb21pc2UgIHdpdGggT3BlcmF0aW9uRXJyb3IgKERPTSBFeGNlcHRpb24gMzQp
OiBUaGUgb3BlcmF0aW9uIGZhaWxlZCBmb3IgYW4gb3BlcmF0aW9uLXNwZWNpZmljIHJlYXNvbi4K
K1BBU1MgY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBhc2NpaVRv
VWludDhBcnJheSgiaiIpfSwga2V5LCBwbGFpblRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGgg
T3BlcmF0aW9uRXJyb3IgKERPTSBFeGNlcHRpb24gMzQpOiBUaGUgb3BlcmF0aW9uIGZhaWxlZCBm
b3IgYW4gb3BlcmF0aW9uLXNwZWNpZmljIHJlYXNvbi4KK1BBU1MgY3J5cHRvLnN1YnRsZS5lbmNy
eXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJ
RVBNcmQiKX0sIGtleSwgcGxhaW5UZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE9wZXJhdGlv
bkVycm9yIChET00gRXhjZXB0aW9uIDM0KTogVGhlIG9wZXJhdGlvbiBmYWlsZWQgZm9yIGFuIG9w
ZXJhdGlvbi1zcGVjaWZpYyByZWFzb24uCitQQVNTIGNyeXB0by5zdWJ0bGUuZW5jcnlwdCgiYWVz
LWNmYi04Iiwga2V5LCBwbGFpblRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9y
OiBNZW1iZXIgQWVzQ2JjQ2ZiUGFyYW1zLml2IGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFuIGlu
c3RhbmNlIG9mIEJ1ZmZlclNvdXJjZS4KK1BBU1MgY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1l
OiAiYWVzLWNmYi04In0sIGtleSwgcGxhaW5UZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5
cGVFcnJvcjogTWVtYmVyIEFlc0NiY0NmYlBhcmFtcy5pdiBpcyByZXF1aXJlZCBhbmQgbXVzdCBi
ZSBhbiBpbnN0YW5jZSBvZiBCdWZmZXJTb3VyY2UuCitQQVNTIGNyeXB0by5zdWJ0bGUuZW5jcnlw
dCh7bmFtZTogImFlcy1jZmItOCIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiIil9LCBrZXksIHBs
YWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBPcGVyYXRpb25FcnJvciAoRE9NIEV4Y2Vw
dGlvbiAzNCk6IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciBhbiBvcGVyYXRpb24tc3BlY2lmaWMg
cmVhc29uLgorUEFTUyBjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2ZiLTgiLCBp
djogYXNjaWlUb1VpbnQ4QXJyYXkoImoiKX0sIGtleSwgcGxhaW5UZXh0KSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIE9wZXJhdGlvbkVycm9yIChET00gRXhjZXB0aW9uIDM0KTogVGhlIG9wZXJhdGlv
biBmYWlsZWQgZm9yIGFuIG9wZXJhdGlvbi1zcGVjaWZpYyByZWFzb24uCitQQVNTIGNyeXB0by5z
dWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jZmItOCIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgi
am5Pdzk5b09aRkxJRVBNcmQiKX0sIGtleSwgcGxhaW5UZXh0KSByZWplY3RlZCBwcm9taXNlICB3
aXRoIE9wZXJhdGlvbkVycm9yIChET00gRXhjZXB0aW9uIDM0KTogVGhlIG9wZXJhdGlvbiBmYWls
ZWQgZm9yIGFuIG9wZXJhdGlvbi1zcGVjaWZpYyByZWFzb24uCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9hZXMtY2JjLWNmYi1lbmNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0
bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtY2ZiLWVuY3J5cHQtbWFsZm9y
bWVkLXBhcmFtZXRlcnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODU3Y2E0NWEwMmFmYmE3ZTY3ZDFlMGYx
NjllZjZlMjE4ODJiZjVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9hZXMtY2JjLWNmYi1lbmNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKQEAgLTAs
MCArMSw1NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+
CitkZXNjcmlwdGlvbigiVGVzdCBlbmNyeXB0aW5nIHVzaW5nIEFFUy1DQkMvQUVTLUNGQiB3aXRo
IG1hbGZvcm1lZCBwYXJhbWV0ZXJzIik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIg
ZXh0cmFjdGFibGUgPSBmYWxzZTsKK3ZhciBwbGFpblRleHQgPSBhc2NpaVRvVWludDhBcnJheSgi
SGVsbG8sIFdvcmxkISIpOwordmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlv
T1pGTElFUE1yIik7CisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJh
ZXMtY2JjIiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkg
eworICAgIGtleSA9IHJlc3VsdDsKKyAgICAvLyBNYWxmb3JtZWQgQWxnb3JpdGhtSWRlbnRpZmll
cnMKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlwdCgiYWVzLWNiYyIsIGtl
eSwgcGxhaW5UZXh0KScpOworICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5lbmNyeXB0
KHtuYW1lOiAiYWVzLWNiYyJ9LCBrZXksIHBsYWluVGV4dCknKTsKKyAgICBzaG91bGRSZWplY3Qo
J2NyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogdHJ1ZX0sIGtleSwg
cGxhaW5UZXh0KScpOworICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtu
YW1lOiAiYWVzLWNiYyIsIGl2OiAxfSwga2V5LCBwbGFpblRleHQpJyk7CisgICAgc2hvdWxkUmVq
ZWN0KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IG51bGx9LCBr
ZXksIHBsYWluVGV4dCknKTsKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlw
dCh7bmFtZTogImFlcy1jYmMiLCBpdjogdW5kZWZpbmVkfSwga2V5LCBwbGFpblRleHQpJyk7Cisg
ICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwg
aXY6IFN5bWJvbCgpfSwga2V5LCBwbGFpblRleHQpJyk7CisgICAgc2hvdWxkUmVqZWN0KCdjcnlw
dG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IHsgfX0sIGtleSwgcGxhaW5U
ZXh0KScpOworICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAi
YWVzLWNiYyIsIGl2OiAiZm9vIn0sIGtleSwgcGxhaW5UZXh0KScpOworICAgIC8vIFdyb25nIGl2
IGxlbmd0aAorICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAi
YWVzLWNiYyIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiIil9LCBrZXksIHBsYWluVGV4dCknKTsK
KyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMi
LCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImoiKX0sIGtleSwgcGxhaW5UZXh0KScpOworICAgIHNo
b3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBh
c2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNcmQiKX0sIGtleSwgcGxhaW5UZXh0KScp
OworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXko
InJhdyIsIHJhd0tleSwgImFlcy1jZmItOCIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiXSkudGhl
bihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1bHQ7CisgICAgLy8gTWFsZm9ybWVk
IEFsZ29yaXRobUlkZW50aWZpZXJzCisgICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmVu
Y3J5cHQoImFlcy1jZmItOCIsIGtleSwgcGxhaW5UZXh0KScpOworICAgIHNob3VsZFJlamVjdCgn
Y3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNmYi04In0sIGtleSwgcGxhaW5UZXh0
KScpOworICAgIC8vIFdyb25nIGl2IGxlbmd0aAorICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1
YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNmYi04IiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCIi
KX0sIGtleSwgcGxhaW5UZXh0KScpOworICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5l
bmNyeXB0KHtuYW1lOiAiYWVzLWNmYi04IiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqIil9LCBr
ZXksIHBsYWluVGV4dCknKTsKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlw
dCh7bmFtZTogImFlcy1jZmItOCIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJ
RVBNcmQiKX0sIGtleSwgcGxhaW5UZXh0KScpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsK
KworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1kZWNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1kZWNyeXB0LW1hbGZv
cm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNDAyZjBmOWJiZjNkZDEyNTlmZmEyYTJmZTdmNWU1YzAxZTU5NTYyYy4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL2Flcy1jYmMtZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1UZXN0IGRlY3J5cHRpbmcgdXNpbmcgQUVTLUNC
QyB3aXRoIG1hbGZvcm1lZCBwYXJhbWV0ZXJzCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
LQotCi1QQVNTIGNyeXB0by5zdWJ0bGUuZGVjcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogYXNj
aWlUb1VpbnQ4QXJyYXkoIiIpfSwga2V5LCBjaXBoZXJUZXh0KSByZWplY3RlZCBwcm9taXNlICB3
aXRoIE9wZXJhdGlvbkVycm9yIChET00gRXhjZXB0aW9uIDM0KTogVGhlIG9wZXJhdGlvbiBmYWls
ZWQgZm9yIGFuIG9wZXJhdGlvbi1zcGVjaWZpYyByZWFzb24uCi1QQVNTIGNyeXB0by5zdWJ0bGUu
ZGVjcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImoiKX0sIGtl
eSwgY2lwaGVyVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBPcGVyYXRpb25FcnJvciAoRE9N
IEV4Y2VwdGlvbiAzNCk6IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciBhbiBvcGVyYXRpb24tc3Bl
Y2lmaWMgcmVhc29uLgotUEFTUyBjcnlwdG8uc3VidGxlLmRlY3J5cHQoe25hbWU6ICJhZXMtY2Jj
IiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yZCIpfSwga2V5LCBjaXBo
ZXJUZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE9wZXJhdGlvbkVycm9yIChET00gRXhjZXB0
aW9uIDM0KTogVGhlIG9wZXJhdGlvbiBmYWlsZWQgZm9yIGFuIG9wZXJhdGlvbi1zcGVjaWZpYyBy
ZWFzb24uCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWRlY3J5cHQt
bWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVz
LWNiYy1kZWNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGMwNDY0ODQzNDE4MzgxMzM2ODFlM2NmM2VhNmJmZDMyMWI1ZTcwNDQuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9hZXMtY2JjLWRlY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgotCi08c2NyaXB0PgotZGVzY3JpcHRpb24oIlRlc3QgZGVjcnlwdGluZyB1c2luZyBB
RVMtQ0JDIHdpdGggbWFsZm9ybWVkIHBhcmFtZXRlcnMiKTsKLQotanNUZXN0SXNBc3luYyA9IHRy
dWU7Ci0KLXZhciBleHRyYWN0YWJsZSA9IGZhbHNlOwotdmFyIGNpcGhlclRleHQgPSBoZXhTdHJp
bmdUb1VpbnQ4QXJyYXkoIjJmZmE0NjE4Nzg0ZGZkNDE0YjIyYzQwYzYzMzBkMDIyIik7Ci12YXIg
cmF3S2V5ID0gYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKTsKLQotY3J5cHRv
LnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1jYmMiLCBleHRyYWN0YWJsZSwg
WyJkZWNyeXB0Il0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAga2V5ID0gcmVzdWx0Owot
ICAgIC8vIFdyb25nIGl2IGxlbmd0aAotICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5k
ZWNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiIil9LCBrZXks
IGNpcGhlclRleHQpJyk7Ci0gICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmRlY3J5cHQo
e25hbWU6ICJhZXMtY2JjIiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqIil9LCBrZXksIGNpcGhl
clRleHQpJyk7Ci0gICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmRlY3J5cHQoe25hbWU6
ICJhZXMtY2JjIiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yZCIpfSwg
a2V5LCBjaXBoZXJUZXh0KScpOwotCi0gICAgZmluaXNoSlNUZXN0KCk7Ci19KTsKLQotPC9zY3Jp
cHQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvYWVzLWNiYy1lbmNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1lbmNyeXB0LW1hbGZvcm1lZC1wYXJh
bWV0ZXJzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzEzZDk2
MjgwYjdjMTRlNDY5Yzc2MDRiMTUwOWYzYjNlY2Q5N2M2Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1j
YmMtZW5jcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSwyMSArMCwwIEBACi1UZXN0IGVuY3J5cHRpbmcgdXNpbmcgQUVTLUNCQyB3aXRoIG1h
bGZvcm1lZCBwYXJhbWV0ZXJzCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNT
IGNyeXB0by5zdWJ0bGUuZW5jcnlwdCgiYWVzLWNiYyIsIGtleSwgcGxhaW5UZXh0KSByZWplY3Rl
ZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTWVtYmVyIEFlc0NiY1BhcmFtcy5pdiBpcyByZXF1
aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBCdWZmZXJTb3VyY2UuCi1QQVNTIGNyeXB0
by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMifSwga2V5LCBwbGFpblRleHQpIHJlamVj
dGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBNZW1iZXIgQWVzQ2JjUGFyYW1zLml2IGlzIHJl
cXVpcmVkIGFuZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEJ1ZmZlclNvdXJjZS4KLVBBU1MgY3J5
cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiB0cnVlfSwga2V5LCBwbGFp
blRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFT
UyBjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IDF9LCBrZXksIHBs
YWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1Q
QVNTIGNyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogbnVsbH0sIGtl
eSwgcGxhaW5UZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJv
ci4KLVBBU1MgY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiB1bmRl
ZmluZWR9LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6
IE1lbWJlciBBZXNDYmNQYXJhbXMuaXYgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgQnVmZmVyU291cmNlLgotUEFTUyBjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJh
ZXMtY2JjIiwgaXY6IFN5bWJvbCgpfSwga2V5LCBwbGFpblRleHQpIHJlamVjdGVkIHByb21pc2Ug
IHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBjcnlwdG8uc3VidGxlLmVuY3J5cHQo
e25hbWU6ICJhZXMtY2JjIiwgaXY6IHsgfX0sIGtleSwgcGxhaW5UZXh0KSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgY3J5cHRvLnN1YnRsZS5lbmNy
eXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiAiZm9vIn0sIGtleSwgcGxhaW5UZXh0KSByZWplY3Rl
ZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgY3J5cHRvLnN1YnRs
ZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiIil9LCBr
ZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBPcGVyYXRpb25FcnJvciAoRE9N
IEV4Y2VwdGlvbiAzNCk6IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciBhbiBvcGVyYXRpb24tc3Bl
Y2lmaWMgcmVhc29uLgotUEFTUyBjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2Jj
IiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqIil9LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQg
cHJvbWlzZSAgd2l0aCBPcGVyYXRpb25FcnJvciAoRE9NIEV4Y2VwdGlvbiAzNCk6IFRoZSBvcGVy
YXRpb24gZmFpbGVkIGZvciBhbiBvcGVyYXRpb24tc3BlY2lmaWMgcmVhc29uLgotUEFTUyBjcnlw
dG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IGFzY2lpVG9VaW50OEFycmF5
KCJqbk93OTlvT1pGTElFUE1yZCIpfSwga2V5LCBwbGFpblRleHQpIHJlamVjdGVkIHByb21pc2Ug
IHdpdGggT3BlcmF0aW9uRXJyb3IgKERPTSBFeGNlcHRpb24gMzQpOiBUaGUgb3BlcmF0aW9uIGZh
aWxlZCBmb3IgYW4gb3BlcmF0aW9uLXNwZWNpZmljIHJlYXNvbi4KLVBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZW5jcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1s
IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWVuY3J5cHQtbWFsZm9ybWVkLXBh
cmFtZXRlcnMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWIwYjNmYjY1NjMz
NjU0OWNlNzJjMmZlZTU4MmEyODBjNDQ5NzZjNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZW5j
cnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwIGlkPSJkZXNj
cmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci1kZXNj
cmlwdGlvbigiVGVzdCBlbmNyeXB0aW5nIHVzaW5nIEFFUy1DQkMgd2l0aCBtYWxmb3JtZWQgcGFy
YW1ldGVycyIpOwotCi1qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotdmFyIGV4dHJhY3RhYmxlID0g
ZmFsc2U7Ci12YXIgcGxhaW5UZXh0ID0gYXNjaWlUb1VpbnQ4QXJyYXkoIkhlbGxvLCBXb3JsZCEi
KTsKLXZhciByYXdLZXkgPSBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIpOwot
Ci1jcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVzLWNiYyIsIGV4dHJh
Y3RhYmxlLCBbImVuY3J5cHQiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKLSAgICBrZXkgPSBy
ZXN1bHQ7Ci0gICAgLy8gTWFsZm9ybWVkIEFsZ29yaXRobUlkZW50aWZpZXJzCi0gICAgc2hvdWxk
UmVqZWN0KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQoImFlcy1jYmMiLCBrZXksIHBsYWluVGV4dCkn
KTsKLSAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1j
YmMifSwga2V5LCBwbGFpblRleHQpJyk7Ci0gICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxl
LmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IHRydWV9LCBrZXksIHBsYWluVGV4dCknKTsK
LSAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMi
LCBpdjogMX0sIGtleSwgcGxhaW5UZXh0KScpOwotICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1
YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBudWxsfSwga2V5LCBwbGFpblRleHQp
Jyk7Ci0gICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMt
Y2JjIiwgaXY6IHVuZGVmaW5lZH0sIGtleSwgcGxhaW5UZXh0KScpOwotICAgIHNob3VsZFJlamVj
dCgnY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBTeW1ib2woKX0s
IGtleSwgcGxhaW5UZXh0KScpOwotICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5lbmNy
eXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiB7IH19LCBrZXksIHBsYWluVGV4dCknKTsKLSAgICBz
aG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjog
ImZvbyJ9LCBrZXksIHBsYWluVGV4dCknKTsKLSAgICAvLyBXcm9uZyBpdiBsZW5ndGgKLSAgICBz
aG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjog
YXNjaWlUb1VpbnQ4QXJyYXkoIiIpfSwga2V5LCBwbGFpblRleHQpJyk7Ci0gICAgc2hvdWxkUmVq
ZWN0KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IGFzY2lpVG9V
aW50OEFycmF5KCJqIil9LCBrZXksIHBsYWluVGV4dCknKTsKLSAgICBzaG91bGRSZWplY3QoJ2Ny
eXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogYXNjaWlUb1VpbnQ4QXJy
YXkoImpuT3c5OW9PWkZMSUVQTXJkIil9LCBrZXksIHBsYWluVGV4dCknKTsKLQotICAgIGZpbmlz
aEpTVGVzdCgpOwotfSk7Ci0KLTwvc2NyaXB0PgotCi08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS11bndyYXAt
andrLXJzYS1rZXktcHVibGljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0
bGUvYWVzLWNiYy1pbXBvcnQta2V5LXVud3JhcC1qd2stcnNhLWtleS1wdWJsaWMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmViY2IxZDhlYTA3NWMyYTJmYWRlM2ZkZTk3YTE1MzdjZjhlZGYwODUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1w
b3J0LWtleS11bndyYXAtandrLXJzYS1rZXktcHVibGljLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE1IEBACitUZXN0IHVud3JhcHBpbmcgYSBKV0sgUlNBIHB1YmxpYyBrZXkgd2l0aCBBRVMtQ0JD
IHVzaW5nIGFuIGltcG9ydGVkIGtleQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UEFTUyB1bndyYXBwZWRLZXkua3R5IGlzIGp3a0tleS5rdHkKK1BBU1MgdW53cmFwcGVkS2V5LmFs
ZyBpcyBqd2tLZXkuYWxnCitQQVNTIHVud3JhcHBlZEtleS5rZXlfb3BzIGlzIGp3a0tleS5rZXlf
b3BzCitQQVNTIHVud3JhcHBlZEtleS5leHQgaXMgandrS2V5LmV4dAorUEFTUyB1bndyYXBwZWRL
ZXkubiBpcyBqd2tLZXkubgorUEFTUyB1bndyYXBwZWRLZXkuZSBpcyBqd2tLZXkuZQorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LXVud3JhcC1qd2st
cnNhLWtleS1wdWJsaWMuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1p
bXBvcnQta2V5LXVud3JhcC1qd2stcnNhLWtleS1wdWJsaWMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YTlk
ODZlNmEzOWNmYTNjNjY4MTRlOWI3NTY0MTdmYjBkYWJmNWExCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktdW53cmFwLWp3ay1y
c2Eta2V5LXB1YmxpYy5odG1sCkBAIC0wLDAgKzEsNTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgdW53cmFwcGluZyBh
IEpXSyBSU0EgcHVibGljIGtleSB3aXRoIEFFUy1DQkMgdXNpbmcgYW4gaW1wb3J0ZWQga2V5Iik7
CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOwordmFy
IGp3a0tleSA9IHsKKyAgICBrdHk6ICJSU0EiLAorICAgIGFsZzogIlJTQS1PQUVQIiwKKyAgICB1
c2U6ICJlbmMiLAorICAgIGtleV9vcHM6IFsiZW5jcnlwdCJdLAorICAgIGV4dDogdHJ1ZSwKKyAg
ICBuOiAicmNDVUN2N09jMUhWYW0xREloQ3pxa25UaFdhd09wOFFMazhaaXkycDEwQnlqUUZDYWpv
Rml5dUFXbC1SMVdYWmFmNHhpdExScmFjVDlhZ3B6SXpjLU1iTFNISUdnV1FHTzIxbEdpSW15NWZ0
Wi1EOGJIQXFSejJ5MTVwekQ0YzRDRW91N1hTU0xEb1JuUjBRRzVNc0RoRDZzMmdWOW13SGtydGtD
eHRNV2RCaS03N2FzOHdHbWxOUmxkY09TZ1pETEs4VW5DU2dBMU9ndVo5ODliRnljOHRPT0VJYjB4
VVNmUFN6M0xQU0NueVl6NjhhRGptS1ZlTkgtaWc4NTdPU2N5V2JHeUV5M0JpdzY0cXVuM2p1VWxO
V3NKM3puZ2tPZHRlWVd5dHg1UXI0WEtOczZSLU15eXE3MktVcDAybUpEWmlpeWlnbHhNTF9pMy1f
Q2VlY0N3IiwKKyAgICBlOiAiQVFBQiIKK307Cit2YXIgcmF3S2V5ID0gYXNjaWlUb1VpbnQ4QXJy
YXkoImpuT3c5OW9PWkZMSUVQTXIiKTsKK3ZhciBhZXNDYmNQYXJhbXMgPSB7CisgICAgbmFtZTog
ImFlcy1jYmMiLAorICAgIGl2OiBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIp
LAorfQordmFyIHdyYXBwZWRLZXkgPSBoZXhTdHJpbmdUb1VpbnQ4QXJyYXkoICI4NDhhYTJmNzBl
ZTE4ZTI5NTM1MjAxMzJhNzljZjQ3OTQ2ZTAwYzk5MzYyMzQwYmI2OTBlZGM5YWI1MzE1NzU3NDYy
YzEyODI3OGM2MjMyZTc3MGU3NDM3YzU2ZWQ3MjJhOGUxNzAzODU1ZjdmM2U1NjUzOTRlMWE2YTAz
MDVjNGVmMWIzMGZhNGM3ZjcyZDFhMjM5Y2M2YzZiYTA2Nzg5ODc5OGEzNmE3NTEzMmM2NmI0YTJk
M2ZiOTQyODg2YWZmZDNlYTNiMjc1NmIwZGRjODg2YzAxZTNiOTMxMDc0NjliODIxMjQ0Njg0MDhl
ZjhhYjU0OGI4NWFhOGYyMDZjMzEyZDc0Y2U0ZjJjNjc5ZWIxNDdhMjc1Y2VmZGE2NGQ1YmRjNGEy
YjViOTBhNGFjOWFkM2ViNWYyY2YxOWY1Zjg3NjUzMjExZjU5YjQ3MzFiYTYxMTI1NTgyYTIzMzk1
MTA5N2RlYTY1ZGIwNTg5OWQ1ODdkMWRjZmNjYWI5YWI3NDEwYWIzMDEwYjg5MDY2NTA2ZGJhY2Jj
NmI3M2U0YjU2NDc5Mjc1MTM4OGZhMGY1OGQ1NWM1OWMxNGEwOGM5ZGZiMGY3ODEwMGIwZjVjYzI5
ZDYyMzI4ODIyNjM2ZDMwYTZhMTUzZWM1Y2Q0NzI3YWQ1ZTQ3YjQxOWM0ODU0NDU2NTYzN2FjNTc4
OTg2M2Q0M2I3ZGE3OGNmNDM4M2QwOWQ2NmU5ZDQ1OGU0MzZkYmZiZWU3NWUzODJiMmJhYjQ5ZWVj
MmM3NDkxZmY5M2NmMDk5ZmU5MmZlYWY0NjU4ZTMwODg5ZmQxMmQzYWU2MWNkNWU4YzhlMWU1NmEw
NzliNjYyZjkwY2QxMGNkYmRiYjRkMTJlZWZiMzZkODI1ZTFhMDQzZTgyZjVhOThmODk2MGQ2NTVk
M2Y5ZWQ1YWYzMWU1ODFmYTg0NmNjNTgyZjZjZWU1YzI1ZTBiM2MzMjA1MDUzNGFlOTU3Y2UyNzg2
MGQ0NzBiYTI2ZGEyYzdkNmZhNjIxYjBmYWE4YmVjYWQ1OGU5ZTU1YmIyYTlkOTg0YjA0MmYyNWRm
MjE0ODI1Mjk4NzBkMjcxY2JmNTUwOGEwZWRmYzNjYjM3MzE2YzExZjE2YjM0MmJjMWYxZjk4YWEi
KTsKKworCitjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVzLWNiYyIs
IGV4dHJhY3RhYmxlLCBbInVud3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKHVud3JhcHBpbmdLZXkp
IHsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS51bndyYXBLZXkoImp3ayIsIHdyYXBwZWRLZXks
IHVud3JhcHBpbmdLZXksIGFlc0NiY1BhcmFtcywge25hbWU6ICJyc2Etb2FlcCIsIGhhc2g6ICJz
aGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0Il0pOworfSkudGhlbihmdW5jdGlvbihjcnlw
dG9LZXkpIHsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGNyeXB0
b0tleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHVud3JhcHBlZEtleSA9IHJl
c3VsdDsKKworICAgIHNob3VsZEJlKCJ1bndyYXBwZWRLZXkua3R5IiwgImp3a0tleS5rdHkiKTsK
KyAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5LmFsZyIsICJqd2tLZXkuYWxnIik7CisgICAgc2hv
dWxkQmUoInVud3JhcHBlZEtleS5rZXlfb3BzIiwgImp3a0tleS5rZXlfb3BzIik7CisgICAgc2hv
dWxkQmUoInVud3JhcHBlZEtleS5leHQiLCAiandrS2V5LmV4dCIpOworICAgIHNob3VsZEJlKCJ1
bndyYXBwZWRLZXkubiIsICJqd2tLZXkubiIpOworICAgIHNob3VsZEJlKCJ1bndyYXBwZWRLZXku
ZSIsICJqd2tLZXkuZSIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKworPC9zY3JpcHQ+
CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0
bGUvYWVzLWNiYy1pbXBvcnQta2V5LXV3cmFwLWp3ay1yc2Eta2V5LXB1YmxpYy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS11d3JhcC1q
d2stcnNhLWtleS1wdWJsaWMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBlYmNiMWQ4ZWEwNzVjMmEyZmFkZTNmZGU5N2ExNTM3Y2Y4ZWRmMDg1Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LXV3cmFwLWp3ay1yc2Eta2V5LXB1YmxpYy1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1UZXN0IHVud3JhcHBpbmcgYSBK
V0sgUlNBIHB1YmxpYyBrZXkgd2l0aCBBRVMtQ0JDIHVzaW5nIGFuIGltcG9ydGVkIGtleQotCi1P
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyB1bndyYXBwZWRLZXkua3R5IGlzIGp3
a0tleS5rdHkKLVBBU1MgdW53cmFwcGVkS2V5LmFsZyBpcyBqd2tLZXkuYWxnCi1QQVNTIHVud3Jh
cHBlZEtleS5rZXlfb3BzIGlzIGp3a0tleS5rZXlfb3BzCi1QQVNTIHVud3JhcHBlZEtleS5leHQg
aXMgandrS2V5LmV4dAotUEFTUyB1bndyYXBwZWRLZXkubiBpcyBqd2tLZXkubgotUEFTUyB1bndy
YXBwZWRLZXkuZSBpcyBqd2tLZXkuZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQot
Ci1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUv
YWVzLWNiYy1pbXBvcnQta2V5LXV3cmFwLWp3ay1yc2Eta2V5LXB1YmxpYy5odG1sIGIvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktdXdyYXAtandrLXJzYS1rZXkt
cHVibGljLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdhOWQ4NmU2YTM5Y2Zh
M2M2NjgxNGU5Yjc1NjQxN2ZiMGRhYmY1YTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9y
dC1rZXktdXdyYXAtandrLXJzYS1rZXktcHVibGljLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1
NSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLQotPHNjcmlwdD4K
LWRlc2NyaXB0aW9uKCJUZXN0IHVud3JhcHBpbmcgYSBKV0sgUlNBIHB1YmxpYyBrZXkgd2l0aCBB
RVMtQ0JDIHVzaW5nIGFuIGltcG9ydGVkIGtleSIpOwotCi1qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
LQotdmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKLXZhciBqd2tLZXkgPSB7Ci0gICAga3R5OiAiUlNB
IiwKLSAgICBhbGc6ICJSU0EtT0FFUCIsCi0gICAgdXNlOiAiZW5jIiwKLSAgICBrZXlfb3BzOiBb
ImVuY3J5cHQiXSwKLSAgICBleHQ6IHRydWUsCi0gICAgbjogInJjQ1VDdjdPYzFIVmFtMURJaEN6
cWtuVGhXYXdPcDhRTGs4Wml5MnAxMEJ5alFGQ2Fqb0ZpeXVBV2wtUjFXWFphZjR4aXRMUnJhY1Q5
YWdwekl6Yy1NYkxTSElHZ1dRR08yMWxHaUlteTVmdFotRDhiSEFxUnoyeTE1cHpENGM0Q0VvdTdY
U1NMRG9SblIwUUc1TXNEaEQ2czJnVjltd0hrcnRrQ3h0TVdkQmktNzdhczh3R21sTlJsZGNPU2da
RExLOFVuQ1NnQTFPZ3VaOTg5YkZ5Yzh0T09FSWIweFVTZlBTejNMUFNDbnlZejY4YURqbUtWZU5I
LWlnODU3T1NjeVdiR3lFeTNCaXc2NHF1bjNqdVVsTldzSjN6bmdrT2R0ZVlXeXR4NVFyNFhLTnM2
Ui1NeXlxNzJLVXAwMm1KRFppaXlpZ2x4TUxfaTMtX0NlZWNDdyIsCi0gICAgZTogIkFRQUIiCi19
OwotdmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIik7Ci12
YXIgYWVzQ2JjUGFyYW1zID0gewotICAgIG5hbWU6ICJhZXMtY2JjIiwKLSAgICBpdjogYXNjaWlU
b1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKSwKLX0KLXZhciB3cmFwcGVkS2V5ID0gaGV4
U3RyaW5nVG9VaW50OEFycmF5KCAiODQ4YWEyZjcwZWUxOGUyOTUzNTIwMTMyYTc5Y2Y0Nzk0NmUw
MGM5OTM2MjM0MGJiNjkwZWRjOWFiNTMxNTc1NzQ2MmMxMjgyNzhjNjIzMmU3NzBlNzQzN2M1NmVk
NzIyYThlMTcwMzg1NWY3ZjNlNTY1Mzk0ZTFhNmEwMzA1YzRlZjFiMzBmYTRjN2Y3MmQxYTIzOWNj
NmM2YmEwNjc4OTg3OThhMzZhNzUxMzJjNjZiNGEyZDNmYjk0Mjg4NmFmZmQzZWEzYjI3NTZiMGRk
Yzg4NmMwMWUzYjkzMTA3NDY5YjgyMTI0NDY4NDA4ZWY4YWI1NDhiODVhYThmMjA2YzMxMmQ3NGNl
NGYyYzY3OWViMTQ3YTI3NWNlZmRhNjRkNWJkYzRhMmI1YjkwYTRhYzlhZDNlYjVmMmNmMTlmNWY4
NzY1MzIxMWY1OWI0NzMxYmE2MTEyNTU4MmEyMzM5NTEwOTdkZWE2NWRiMDU4OTlkNTg3ZDFkY2Zj
Y2FiOWFiNzQxMGFiMzAxMGI4OTA2NjUwNmRiYWNiYzZiNzNlNGI1NjQ3OTI3NTEzODhmYTBmNThk
NTVjNTljMTRhMDhjOWRmYjBmNzgxMDBiMGY1Y2MyOWQ2MjMyODgyMjYzNmQzMGE2YTE1M2VjNWNk
NDcyN2FkNWU0N2I0MTljNDg1NDQ1NjU2MzdhYzU3ODk4NjNkNDNiN2RhNzhjZjQzODNkMDlkNjZl
OWQ0NThlNDM2ZGJmYmVlNzVlMzgyYjJiYWI0OWVlYzJjNzQ5MWZmOTNjZjA5OWZlOTJmZWFmNDY1
OGUzMDg4OWZkMTJkM2FlNjFjZDVlOGM4ZTFlNTZhMDc5YjY2MmY5MGNkMTBjZGJkYmI0ZDEyZWVm
YjM2ZDgyNWUxYTA0M2U4MmY1YTk4Zjg5NjBkNjU1ZDNmOWVkNWFmMzFlNTgxZmE4NDZjYzU4MmY2
Y2VlNWMyNWUwYjNjMzIwNTA1MzRhZTk1N2NlMjc4NjBkNDcwYmEyNmRhMmM3ZDZmYTYyMWIwZmFh
OGJlY2FkNThlOWU1NWJiMmE5ZDk4NGIwNDJmMjVkZjIxNDgyNTI5ODcwZDI3MWNiZjU1MDhhMGVk
ZmMzY2IzNzMxNmMxMWYxNmIzNDJiYzFmMWY5OGFhIik7Ci0KLQotY3J5cHRvLnN1YnRsZS5pbXBv
cnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1jYmMiLCBleHRyYWN0YWJsZSwgWyJ1bndyYXBLZXki
XSkudGhlbihmdW5jdGlvbih1bndyYXBwaW5nS2V5KSB7Ci0gICAgcmV0dXJuIGNyeXB0by5zdWJ0
bGUudW53cmFwS2V5KCJqd2siLCB3cmFwcGVkS2V5LCB1bndyYXBwaW5nS2V5LCBhZXNDYmNQYXJh
bXMsIHtuYW1lOiAicnNhLW9hZXAiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsiZW5j
cnlwdCJdKTsKLX0pLnRoZW4oZnVuY3Rpb24oY3J5cHRvS2V5KSB7Ci0gICAgcmV0dXJuIGNyeXB0
by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBjcnlwdG9LZXkpOwotfSkudGhlbihmdW5jdGlvbihy
ZXN1bHQpIHsKLSAgICB1bndyYXBwZWRLZXkgPSByZXN1bHQ7Ci0KLSAgICBzaG91bGRCZSgidW53
cmFwcGVkS2V5Lmt0eSIsICJqd2tLZXkua3R5Iik7Ci0gICAgc2hvdWxkQmUoInVud3JhcHBlZEtl
eS5hbGciLCAiandrS2V5LmFsZyIpOwotICAgIHNob3VsZEJlKCJ1bndyYXBwZWRLZXkua2V5X29w
cyIsICJqd2tLZXkua2V5X29wcyIpOwotICAgIHNob3VsZEJlKCJ1bndyYXBwZWRLZXkuZXh0Iiwg
Imp3a0tleS5leHQiKTsKLSAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5Lm4iLCAiandrS2V5Lm4i
KTsKLSAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5LmUiLCAiandrS2V5LmUiKTsKLQotICAgIGZp
bmlzaEpTVGVzdCgpOwotfSk7Ci0KLTwvc2NyaXB0PgotCi08c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0
LWtleS1qd2stbGVuZ3RoLTEyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTEyOC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNWY4MjkzYjhhYmMxYTcwYzZjOTJjMmE2MDhhNDEyODBhZmZiMTRjYwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5l
cmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMTI4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2
IEBACitUZXN0IGV4cG9ydGluZyBhIDEyOCBiaXRzIEFFUy1DRkIga2V5IHdpdGggSldLIGZvcm1h
dAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleS4uLgor
RXhwb3J0aW5nIGEga2V5Li4uCitQQVNTIGtleS5rdHkgaXMgJ29jdCcKK1BBU1Mga2V5LmtleV9v
cHMgaXMgWydkZWNyeXB0JywgJ2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dyYXBLZXknXQorUEFT
UyBrZXkuYWxnIGlzICdBMTI4Q0ZCOCcKK1BBU1Mga2V5LmV4dCBpcyB0cnVlCitQQVNTIEJhc2U2
NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxlbmd0aCBpcyAxNgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMTI4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtl
eS1qd2stbGVuZ3RoLTEyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFhMDM3ZDA4OTU4YjAyMTljM2NjZjUw
MGYyNDkyZjM5YTAzNTA2ODgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTEyOC5odG1sCkBA
IC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2Ny
aXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgMTI4IGJpdHMgQUVTLUNGQiBrZXkg
d2l0aCBKV0sgZm9ybWF0Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFj
dGFibGUgPSB0cnVlOworCitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4uLiIpOworY3J5cHRvLnN1
YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1jZmItOCIsIGxlbmd0aDogMTI4fSwgZXh0cmFj
dGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0IiwgIndyYXBLZXkiLCAidW53cmFwS2V5Il0pLnRo
ZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgZGVidWcoIkV4cG9ydGluZyBhIGtleS4uLiIpOworICAg
IHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgiandrIiwga2V5KTsKK30pLnRoZW4oZnVu
Y3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImtleS5r
dHkiLCAiJ29jdCciKTsKKyAgICBzaG91bGRCZSgia2V5LmtleV9vcHMiLCAiWydkZWNyeXB0Jywg
J2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dyYXBLZXknXSIpOworICAgIHNob3VsZEJlKCJrZXku
YWxnIiwgIidBMTI4Q0ZCOCciKTsKKyAgICBzaG91bGRCZSgia2V5LmV4dCIsICJ0cnVlIik7Cisg
ICAgc2hvdWxkQmUoIkJhc2U2NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxlbmd0aCIsICIxNiIpOwor
CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUt
ZXhwb3J0LWtleS1qd2stbGVuZ3RoLTE5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTE5Mi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNzkxNTJkNTJmZDVlMDljOWI5NTA1M2UxNTJmNWNiZjFlODgw
NjVmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNm
Yi1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMTkyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE2IEBACitUZXN0IGV4cG9ydGluZyBhIDE5MiBiaXRzIEFFUy1DRkIga2V5IHdpdGggSldL
IGZvcm1hdAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtl
eS4uLgorRXhwb3J0aW5nIGEga2V5Li4uCitQQVNTIGtleS5rdHkgaXMgJ29jdCcKK1BBU1Mga2V5
LmtleV9vcHMgaXMgWydkZWNyeXB0JywgJ2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dyYXBLZXkn
XQorUEFTUyBrZXkuYWxnIGlzICdBMTkyQ0ZCOCcKK1BBU1Mga2V5LmV4dCBpcyB0cnVlCitQQVNT
IEJhc2U2NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxlbmd0aCBpcyAyNAorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgt
MTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhw
b3J0LWtleS1qd2stbGVuZ3RoLTE5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI0YmI0OWMzYWMwMjMxZmM0
NWM1OTA5ZjVmZTg4YTIzY2YyYmE4NzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
cnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTE5Mi5o
dG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgMTkyIGJpdHMgQUVTLUNG
QiBrZXkgd2l0aCBKV0sgZm9ybWF0Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIg
ZXh0cmFjdGFibGUgPSB0cnVlOworCitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4uLiIpOworY3J5
cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1jZmItOCIsIGxlbmd0aDogMTkyfSwg
ZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0IiwgIndyYXBLZXkiLCAidW53cmFwS2V5
Il0pLnRoZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgZGVidWcoIkV4cG9ydGluZyBhIGtleS4uLiIp
OworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgiandrIiwga2V5KTsKK30pLnRo
ZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUo
ImtleS5rdHkiLCAiJ29jdCciKTsKKyAgICBzaG91bGRCZSgia2V5LmtleV9vcHMiLCAiWydkZWNy
eXB0JywgJ2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dyYXBLZXknXSIpOworICAgIHNob3VsZEJl
KCJrZXkuYWxnIiwgIidBMTkyQ0ZCOCciKTsKKyAgICBzaG91bGRCZSgia2V5LmV4dCIsICJ0cnVl
Iik7CisgICAgc2hvdWxkQmUoIkJhc2U2NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxlbmd0aCIsICIy
NCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItZ2Vu
ZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTI1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTI1
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjFjNzRjOWJkNTI0MTBmMDRhMTczNWQ2NjQ3NWJk
NjU3NjJlMWNjNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUv
YWVzLWNmYi1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMjU2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDE2IEBACitUZXN0IGV4cG9ydGluZyBhIDI1NiBiaXRzIEFFUy1DRkIga2V5IHdp
dGggSldLIGZvcm1hdAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGlu
ZyBhIGtleS4uLgorRXhwb3J0aW5nIGEga2V5Li4uCitQQVNTIGtleS5rdHkgaXMgJ29jdCcKK1BB
U1Mga2V5LmtleV9vcHMgaXMgWydkZWNyeXB0JywgJ2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dy
YXBLZXknXQorUEFTUyBrZXkuYWxnIGlzICdBMjU2Q0ZCOCcKK1BBU1Mga2V5LmV4dCBpcyB0cnVl
CitQQVNTIEJhc2U2NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxlbmd0aCBpcyAzMgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1s
ZW5ndGgtMjU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJh
dGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTI1Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1YzYyOTg2MTRk
MWQyMmUxNTcwZmVhODU4MDI2NzJkMzJiZjI4ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3Ro
LTI1Ni5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgMjU2IGJpdHMg
QUVTLUNGQiBrZXkgd2l0aCBKV0sgZm9ybWF0Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOwor
Cit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOworCitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4uLiIp
OworY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1jZmItOCIsIGxlbmd0aDog
MjU2fSwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0IiwgIndyYXBLZXkiLCAidW53
cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgZGVidWcoIkV4cG9ydGluZyBhIGtl
eS4uLiIpOworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgiandrIiwga2V5KTsK
K30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworCisgICAgc2hv
dWxkQmUoImtleS5rdHkiLCAiJ29jdCciKTsKKyAgICBzaG91bGRCZSgia2V5LmtleV9vcHMiLCAi
WydkZWNyeXB0JywgJ2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dyYXBLZXknXSIpOworICAgIHNo
b3VsZEJlKCJrZXkuYWxnIiwgIidBMjU2Q0ZCOCciKTsKKyAgICBzaG91bGRCZSgia2V5LmV4dCIs
ICJ0cnVlIik7CisgICAgc2hvdWxkQmUoIkJhc2U2NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxlbmd0
aCIsICIzMiIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1j
ZmItZ2VuZXJhdGUtZXhwb3J0LXJhdy1rZXktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1yYXcta2V5LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hM2JlNjg3NTBhYjY5MThkNGQ4Y2Y3NDM1OTM1OTgyZDEwMDk2N2VlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRl
LWV4cG9ydC1yYXcta2V5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUZXN0IGV4cG9y
dGluZyBhIDI1NiBiaXRzIEFFUy1DRkIga2V5IHdpdGggcmF3IGZvcm1hdAorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleS4uLgorRXhwb3J0aW5nIGEga2V5
Li4uCitQQVNTIGtleS5ieXRlTGVuZ3RoIGlzIDMyCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRv
L3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1yYXcta2V5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LXJhdy1rZXkuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zZmQ5ZDhjMWUzZTUzMzM4MzRjODE3ZTBkNzBkZjc0NmU2YmQ5OGZmCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4
cG9ydC1yYXcta2V5Lmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBleHBvcnRpbmcgYSAy
NTYgYml0cyBBRVMtQ0ZCIGtleSB3aXRoIHJhdyBmb3JtYXQiKTsKKworanNUZXN0SXNBc3luYyA9
IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK2RlYnVnKCJHZW5lcmF0aW5nIGEg
a2V5Li4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWNmYi04Iiwg
bGVuZ3RoOiAyNTZ9LCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0IiwgImRlY3J5cHQiLCAid3JhcEtl
eSIsICJ1bndyYXBLZXkiXSkudGhlbihmdW5jdGlvbihrZXkpIHsKKyAgICBkZWJ1ZygiRXhwb3J0
aW5nIGEga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJyYXci
LCBrZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1bHQ7CisK
KyAgICBzaG91bGRCZSgia2V5LmJ5dGVMZW5ndGgiLCAiMzIiKTsKKworICAgIGZpbmlzaEpTVGVz
dCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5
cHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVy
YXRlLWtleS1lbmNyeXB0LWRlY3J5cHQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzY2IyM2Vj
ZGYxZDdiZWYxZDYwMjM5NjNiNjVlYjIyOTIyOTUwNjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlw
dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorVGVzdCBlbmNyeXB0aW5nJmRlY3J5cHRp
bmcgdXNpbmcgQUVTLUNGQiBhbGdvcml0aG0gd2l0aCBhIGdlbmVyYXRlZCAyNTZiaXQga2V5CisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitHZW5lcmF0aW5nIGEga2V5Li4uCitFbmNy
eXB0aW5nLi4uCitQQVNTIGJ5dGVzVG9BU0NJSVN0cmluZyhjaXBoZXJUZXh0KSBpcyBub3QgIkhl
bGxvLCBXb3JsZCEiCitEZWNyeXB0aW5nLi4uCitQQVNTIGJ5dGVzVG9BU0NJSVN0cmluZyhkZWNy
eXB0ZWRUZXh0KSBpcyBwbGFpblRleHQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L2Flcy1jZmItZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC5odG1sIGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42MDEzNzZjNmRhN2I1ZDI5Yjg5ZDM2MWE1MGU3MmJkMTVlYjRjN2FmCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRl
LWtleS1lbmNyeXB0LWRlY3J5cHQuaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGVuY3J5
cHRpbmcmZGVjcnlwdGluZyB1c2luZyBBRVMtQ0ZCIGFsZ29yaXRobSB3aXRoIGEgZ2VuZXJhdGVk
IDI1NmJpdCBrZXkiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7Cit2YXIgcGxhaW5UZXh0ID0g
IkhlbGxvLCBXb3JsZCEiOwordmFyIGFlc0NmYlBhcmFtcyA9IHsKKyAgICBuYW1lOiAiYWVzLWNm
Yi04IiwKKyAgICBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKSwKK30K
KworZGVidWcoIkdlbmVyYXRpbmcgYSBrZXkuLi4iKTsKK2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVL
ZXkoe25hbWU6ICJhZXMtY2ZiLTgiLCBsZW5ndGg6IDI1Nn0sIHRydWUsIFsiZGVjcnlwdCIsICJl
bmNyeXB0Il0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworICAg
IGRlYnVnKCJFbmNyeXB0aW5nLi4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZW5jcnlw
dChhZXNDZmJQYXJhbXMsIGtleSwgYXNjaWlUb1VpbnQ4QXJyYXkocGxhaW5UZXh0KSk7Cit9KS50
aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGNpcGhlclRleHQgPSByZXN1bHQ7CisgICAgc2hv
dWxkTm90QmVFcXVhbFRvU3RyaW5nKCJieXRlc1RvQVNDSUlTdHJpbmcoY2lwaGVyVGV4dCkiLCBw
bGFpblRleHQpOworICAgIGRlYnVnKCJEZWNyeXB0aW5nLi4uIik7CisgICAgcmV0dXJuIGNyeXB0
by5zdWJ0bGUuZGVjcnlwdChhZXNDZmJQYXJhbXMsIGtleSwgY2lwaGVyVGV4dCk7Cit9KS50aGVu
KGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGRlY3J5cHRlZFRleHQgPSByZXN1bHQ7CisKKyAgICBz
aG91bGRCZSgiYnl0ZXNUb0FTQ0lJU3RyaW5nKGRlY3J5cHRlZFRleHQpIiwgInBsYWluVGV4dCIp
OworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJh
dGUta2V5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1n
ZW5lcmF0ZS1rZXktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlNDFjMDM4MGE3ZmViZmY3MzRh
N2Q1Yzg4ZDhiYTRmN2ViZGQzNzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUta2V5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1
IEBACitUZXN0IGdlbmVyYXRpbmcgYW4gQUVTIGtleSB3aXRoIGxlbmd0aCAxMjggdXNpbmcgQUVT
LUNGQiBhbGdvcml0aG0uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitHZW5lcmF0
aW5nIGEga2V5Li4uCitQQVNTIGtleS50eXBlIGlzICdzZWNyZXQnCitQQVNTIGtleS5leHRyYWN0
YWJsZSBpcyB0cnVlCitQQVNTIGtleS5hbGdvcml0aG0ubmFtZSBpcyAnQUVTLUNGQi04JworUEFT
UyBrZXkuYWxnb3JpdGhtLmxlbmd0aCBpcyAxMjgKK1BBU1Mga2V5LnVzYWdlcyBpcyBbJ2RlY3J5
cHQnLCAnZW5jcnlwdCcsICd1bndyYXBLZXknLCAnd3JhcEtleSddCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWtleS5odG1sIGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWtleS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNkOGVk
MjNkOWVkN2NiMDYwMDQyYzY3OTFkMGE3NjVlNDk1YWYxZWIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUta2V5Lmh0bWwKQEAgLTAs
MCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+
CitkZXNjcmlwdGlvbigiVGVzdCBnZW5lcmF0aW5nIGFuIEFFUyBrZXkgd2l0aCBsZW5ndGggMTI4
IHVzaW5nIEFFUy1DRkIgYWxnb3JpdGhtLiIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ZGVidWcoIkdlbmVyYXRpbmcgYSBrZXkuLi4iKTsKK2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXko
e25hbWU6ICJhZXMtY2ZiLTgiLCBsZW5ndGg6IDEyOH0sIHRydWUsIFsiZW5jcnlwdCIsICJkZWNy
eXB0IiwgInVud3JhcEtleSIsICJ3cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7Cisg
ICAga2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImtleS50eXBlIiwgIidzZWNyZXQnIik7
CisgICAgc2hvdWxkQmUoImtleS5leHRyYWN0YWJsZSIsICJ0cnVlIik7CisgICAgc2hvdWxkQmUo
ImtleS5hbGdvcml0aG0ubmFtZSIsICInQUVTLUNGQi04JyIpOworICAgIHNob3VsZEJlKCJrZXku
YWxnb3JpdGhtLmxlbmd0aCIsICIxMjgiKTsKKyAgICBzaG91bGRCZSgia2V5LnVzYWdlcyIsICJb
J2RlY3J5cHQnLCAnZW5jcnlwdCcsICd1bndyYXBLZXknLCAnd3JhcEtleSddIik7CisKKyAgICBm
aW5pc2hKU1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtandrLWtleS1s
ZW5ndGgtMTI4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNm
Yi1pbXBvcnQtandrLWtleS1sZW5ndGgtMTI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODgw
ODkxODA2YWU2MTYzMmVjMTc0YTY3NGVmZDljOGY5MDdiYWY2Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1qd2sta2V5LWxlbmd0aC0x
MjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1Rlc3QgaW1wb3J0aW5nIGEgSldLIEFF
Uy1DRkIga2V5IHdpdGggbGVnbnRoIDEyOAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworSW1wb3J0aW5nIGEga2V5Li4uCitQQVNTIGtleS50eXBlIGlzICdzZWNyZXQnCitQQVNTIGtl
eS5leHRyYWN0YWJsZSBpcyB0cnVlCitQQVNTIGtleS5hbGdvcml0aG0ubmFtZSBpcyAnQUVTLUNG
Qi04JworUEFTUyBrZXkuYWxnb3JpdGhtLmxlbmd0aCBpcyAxMjgKK1BBU1Mga2V5LnVzYWdlcyBp
cyBbJ2RlY3J5cHQnLCAnZW5jcnlwdCcsICd1bndyYXBLZXknLCAnd3JhcEtleSddCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1qd2sta2V5LWxlbmd0aC0x
MjguaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtandrLWtl
eS1sZW5ndGgtMTI4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTIxMDliODk3YzI1ZjJmOGY0Zjk1ZTEzMWI0
NGQ5MzBjNjUwNmVkNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0
bGUvYWVzLWNmYi1pbXBvcnQtandrLWtleS1sZW5ndGgtMTI4Lmh0bWwKQEAgLTAsMCArMSw0MCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlw
dGlvbigiVGVzdCBpbXBvcnRpbmcgYSBKV0sgQUVTLUNGQiBrZXkgd2l0aCBsZWdudGggMTI4Iik7
CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgandrS2V5ID0geworICAgIGt0eTogIm9j
dCIsCisgICAgazogIllXSmpaR1ZtWjJneE1qTTBOVFkzT0EiLAorICAgIGFsZzogIkExMjhDRkI4
IiwKK307Cit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOworCitkZWJ1ZygiSW1wb3J0aW5nIGEga2V5
Li4uIik7CitjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwgandrS2V5LCAiYWVzLWNmYi04
IiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0IiwgIndyYXBLZXkiLCAidW53cmFw
S2V5Il0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworCisgICAg
c2hvdWxkQmUoImtleS50eXBlIiwgIidzZWNyZXQnIik7CisgICAgc2hvdWxkQmUoImtleS5leHRy
YWN0YWJsZSIsICJ0cnVlIik7CisgICAgc2hvdWxkQmUoImtleS5hbGdvcml0aG0ubmFtZSIsICIn
QUVTLUNGQi04JyIpOworICAgIHNob3VsZEJlKCJrZXkuYWxnb3JpdGhtLmxlbmd0aCIsICIxMjgi
KTsKKyAgICBzaG91bGRCZSgia2V5LnVzYWdlcyIsICJbJ2RlY3J5cHQnLCAnZW5jcnlwdCcsICd1
bndyYXBLZXknLCAnd3JhcEtleSddIik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworCis8
L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtandr
LWtleS1sZW5ndGgtMTkyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUv
YWVzLWNmYi1pbXBvcnQtandrLWtleS1sZW5ndGgtMTkyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mNGIzZGYzYjM1YjAzZDA0MmE3ZDMxNjkxMTQxNDQ5NzdlMDc0NjNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1qd2sta2V5LWxl
bmd0aC0xOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1Rlc3QgaW1wb3J0aW5nIGEg
SldLIEFFUy1DRkIga2V5IHdpdGggbGVnbnRoIDE5MgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworSW1wb3J0aW5nIGEga2V5Li4uCitQQVNTIGtleS50eXBlIGlzICdzZWNyZXQnCitQ
QVNTIGtleS5leHRyYWN0YWJsZSBpcyB0cnVlCitQQVNTIGtleS5hbGdvcml0aG0ubmFtZSBpcyAn
QUVTLUNGQi04JworUEFTUyBrZXkuYWxnb3JpdGhtLmxlbmd0aCBpcyAxOTIKK1BBU1Mga2V5LnVz
YWdlcyBpcyBbJ2RlY3J5cHQnLCAnZW5jcnlwdCcsICd1bndyYXBLZXknLCAnd3JhcEtleSddCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1qd2sta2V5LWxl
bmd0aC0xOTIuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQt
andrLWtleS1sZW5ndGgtMTkyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTUwYjlkOTcwNmQ3NzNiNjc0NGRh
MGY3N2ZhNjQ5YzJhYTQ0ZWNlZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtandrLWtleS1sZW5ndGgtMTkyLmh0bWwKQEAgLTAsMCAr
MSw0MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbigiVGVzdCBpbXBvcnRpbmcgYSBKV0sgQUVTLUNGQiBrZXkgd2l0aCBsZWdudGgg
MTkyIik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgandrS2V5ID0geworICAgIGt0
eTogIm9jdCIsCisgICAgazogIkE3MkZENDg5ODlFRDdFOTJBM0IzQTA4MEY3NEZBODBCIiwKKyAg
ICBhbGc6ICJBMTkyQ0ZCOCIsCit9OwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKKworZGVidWco
IkltcG9ydGluZyBhIGtleS4uLiIpOworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIGp3
a0tleSwgImFlcy1jZmItOCIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCIsICJ3
cmFwS2V5IiwgInVud3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9
IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJrZXkudHlwZSIsICInc2VjcmV0JyIpOworICAgIHNo
b3VsZEJlKCJrZXkuZXh0cmFjdGFibGUiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJrZXkuYWxn
b3JpdGhtLm5hbWUiLCAiJ0FFUy1DRkItOCciKTsKKyAgICBzaG91bGRCZSgia2V5LmFsZ29yaXRo
bS5sZW5ndGgiLCAiMTkyIik7CisgICAgc2hvdWxkQmUoImtleS51c2FnZXMiLCAiWydkZWNyeXB0
JywgJ2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dyYXBLZXknXSIpOworCisgICAgZmluaXNoSlNU
ZXN0KCk7Cit9KTsKKworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Fl
cy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTI1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTI1Ni1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMzdmMDlhY2RlMzhkZmExZWU3Mjk0NDUxMGUyYmUzZWQ2NzE3Yjdj
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1p
bXBvcnQtandrLWtleS1sZW5ndGgtMjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitU
ZXN0IGltcG9ydGluZyBhIEpXSyBBRVMtQ0ZCIGtleSB3aXRoIGxlZ250aCAyNTYKKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0ltcG9ydGluZyBhIGtleS4uLgorUEFTUyBrZXkudHlw
ZSBpcyAnc2VjcmV0JworUEFTUyBrZXkuZXh0cmFjdGFibGUgaXMgdHJ1ZQorUEFTUyBrZXkuYWxn
b3JpdGhtLm5hbWUgaXMgJ0FFUy1DRkItOCcKK1BBU1Mga2V5LmFsZ29yaXRobS5sZW5ndGggaXMg
MjU2CitQQVNTIGtleS51c2FnZXMgaXMgWydkZWNyeXB0JywgJ2VuY3J5cHQnLCAndW53cmFwS2V5
JywgJ3dyYXBLZXknXQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1p
bXBvcnQtandrLWtleS1sZW5ndGgtMjU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTI1Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMzOGQ2
ZDkxNDZkNzU4NmY4NjNmMjJhMjczOGVjYThjYmIzOTk1N2UKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTI1
Ni5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgaW1wb3J0aW5nIGEgSldLIEFFUy1DRkIg
a2V5IHdpdGggbGVnbnRoIDI1NiIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGp3
a0tleSA9IHsKKyAgICBrdHk6ICJvY3QiLAorICAgIGs6ICJZV0pqWkdWbVoyZ3hNak0wTlRZM09H
RmlZMlJsWm1kb01USXpORFUyTnpnIiwKKyAgICBhbGc6ICJBMjU2Q0ZCOCIsCit9OwordmFyIGV4
dHJhY3RhYmxlID0gdHJ1ZTsKKworZGVidWcoIkltcG9ydGluZyBhIGtleS4uLiIpOworY3J5cHRv
LnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIGp3a0tleSwgImFlcy1jZmItOCIsIGV4dHJhY3RhYmxl
LCBbImVuY3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVud3JhcEtleSJdKS50aGVuKGZ1
bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJrZXku
dHlwZSIsICInc2VjcmV0JyIpOworICAgIHNob3VsZEJlKCJrZXkuZXh0cmFjdGFibGUiLCAidHJ1
ZSIpOworICAgIHNob3VsZEJlKCJrZXkuYWxnb3JpdGhtLm5hbWUiLCAiJ0FFUy1DRkItOCciKTsK
KyAgICBzaG91bGRCZSgia2V5LmFsZ29yaXRobS5sZW5ndGgiLCAiMjU2Iik7CisgICAgc2hvdWxk
QmUoImtleS51c2FnZXMiLCAiWydkZWNyeXB0JywgJ2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dy
YXBLZXknXSIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKworPC9zY3JpcHQ+CisKKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1kZWNyeXB0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LWRl
Y3J5cHQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMzMGU2MGMxZTFkYWY0ZTA5OTAwYzlkNTc4
MmVmOTJjNTA5ZGQxMzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL2Flcy1jZmItaW1wb3J0LWtleS1kZWNyeXB0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEw
IEBACitUZXN0IGRlY3J5cHRpbmcgdXNpbmcgQUVTLUNGQiB3aXRoIGFuIGltcG9ydGVkIDEyOGJp
dCBrZXkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgYnl0ZXNUb0FTQ0lJ
U3RyaW5nKHBsYWluVGV4dCkgaXMgZXhwZWN0ZWRQbGFpblRleHQKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1kZWNyeXB0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1kZWNyeXB0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjc3N2M3OTEwNGYwOGQ0OGVlY2EwNGViNTU0YjZjZDY5NGFiZmE2OQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LWRl
Y3J5cHQuaHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGRlY3J5cHRpbmcgdXNpbmcgQUVT
LUNGQiB3aXRoIGFuIGltcG9ydGVkIDEyOGJpdCBrZXkiKTsKKworanNUZXN0SXNBc3luYyA9IHRy
dWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IGZhbHNlOwordmFyIGNpcGhlclRleHQgPSBoZXhTdHJp
bmdUb1VpbnQ4QXJyYXkoImE1NzI1MjVhMGJhZWY4OGU2ZjViMTk4YzZmIik7Cit2YXIgYWVzQ2Zi
UGFyYW1zID0geworICAgIG5hbWU6ICJhZXMtY2ZiLTgiLAorICAgIGl2OiBhc2NpaVRvVWludDhB
cnJheSgiam5Pdzk5b09aRkxJRVBNciIpLAorfQordmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFy
cmF5KCJqbk93OTlvT1pGTElFUE1yIik7Cit2YXIgZXhwZWN0ZWRQbGFpblRleHQgPSAiSGVsbG8s
IFdvcmxkISI7CisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMt
Y2ZiLTgiLCBleHRyYWN0YWJsZSwgWyJkZWNyeXB0Il0pLnRoZW4oZnVuY3Rpb24oa2V5KSB7Cisg
ICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZGVjcnlwdChhZXNDZmJQYXJhbXMsIGtleSwgY2lwaGVy
VGV4dCk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHBsYWluVGV4dCA9IHJlc3Vs
dDsKKworICAgIHNob3VsZEJlKCJieXRlc1RvQVNDSUlTdHJpbmcocGxhaW5UZXh0KSIsICJleHBl
Y3RlZFBsYWluVGV4dCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKworPC9zY3JpcHQ+
CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0
bGUvYWVzLWNmYi1pbXBvcnQta2V5LWVuY3J5cHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktZW5jcnlwdC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjlkY2NmNjAyYzk0ZTVkODQ3M2VlMDY1OGUyMDFmM2EwNzA3NDI2MwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5
LWVuY3J5cHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3QgZW5jcnlwdGluZyB1
c2luZyBBRVMtQ0ZCIHdpdGggYW4gaW1wb3J0ZWQgMTI4Yml0IGtleQorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUEFTUyBieXRlc1RvSGV4U3RyaW5nKGNpcGhlclRleHQpIGlzIGV4
cGVjdGVkQ2lwaGVyVGV4dAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNm
Yi1pbXBvcnQta2V5LWVuY3J5cHQuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVz
LWNmYi1pbXBvcnQta2V5LWVuY3J5cHQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZmJlYmIxNGI1MzNhM2Ni
ZWM1MWVjZjNkODYwZDJkNzA1OTU2MmVlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktZW5jcnlwdC5odG1sCkBAIC0wLDAgKzEs
MzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVz
Y3JpcHRpb24oIlRlc3QgZW5jcnlwdGluZyB1c2luZyBBRVMtQ0ZCIHdpdGggYW4gaW1wb3J0ZWQg
MTI4Yml0IGtleSIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxl
ID0gZmFsc2U7Cit2YXIgcGxhaW5UZXh0ID0gYXNjaWlUb1VpbnQ4QXJyYXkoIkhlbGxvLCBXb3Js
ZCEiKTsKK3ZhciBhZXNDZmJQYXJhbXMgPSB7CisgICAgbmFtZTogImFlcy1jZmItOCIsCisgICAg
aXY6IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIiksCit9Cit2YXIgcmF3S2V5
ID0gYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKTsKK3ZhciBleHBlY3RlZENp
cGhlclRleHQgPSAiYTU3MjUyNWEwYmFlZjg4ZTZmNWIxOThjNmYiOworCitjcnlwdG8uc3VidGxl
LmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVzLWNmYi04IiwgZXh0cmFjdGFibGUsIFsiZW5j
cnlwdCJdKS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmVu
Y3J5cHQoYWVzQ2ZiUGFyYW1zLCBrZXksIHBsYWluVGV4dCk7Cit9KS50aGVuKGZ1bmN0aW9uKHJl
c3VsdCkgeworICAgIGNpcGhlclRleHQgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgiYnl0ZXNU
b0hleFN0cmluZyhjaXBoZXJUZXh0KSIsICJleHBlY3RlZENpcGhlclRleHQiKTsKKworICAgIGZp
bmlzaEpTVGVzdCgpOworfSk7CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS11bndy
YXAtandrLWtleS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1j
ZmItaW1wb3J0LWtleS11bndyYXAtandrLWtleS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzhl
MzAwZjE1MmFmMGI1OWJlYzkxOGI2NDcxYzA5MWI4YjcwODRmMgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXVud3JhcC1qd2st
a2V5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitUZXN0IHVud3JhcHBpbmcgYSBKV0sg
a2V5IHdpdGggQUVTLUNGQiB1c2luZyBhbiBpbXBvcnRlZCBrZXkKKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1BBU1MgdW53cmFwcGVkS2V5Lmt0eSBpcyBqd2tLZXkua3R5CitQQVNT
IHVud3JhcHBlZEtleS5hbGcgaXMgandrS2V5LmFsZworUEFTUyB1bndyYXBwZWRLZXkua2V5X29w
cyBpcyBqd2tLZXkua2V5X29wcworUEFTUyB1bndyYXBwZWRLZXkuZXh0IGlzIGp3a0tleS5leHQK
K1BBU1MgdW53cmFwcGVkS2V5LmsgaXMgandrS2V5LmsKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAtandrLWtleS5odG1sIGIvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWp3ay1rZXkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42YTQ1YjE0OThkNmIzMGJjYjE2MTJmYjJjNjU4Yzg0YWUxNTQ3ZjU1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9y
dC1rZXktdW53cmFwLWp3ay1rZXkuaHRtbApAQCAtMCwwICsxLDUzIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IHVud3Jh
cHBpbmcgYSBKV0sga2V5IHdpdGggQUVTLUNGQiB1c2luZyBhbiBpbXBvcnRlZCBrZXkiKTsKKwor
anNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7Cit2YXIgcmF3
S2V5ID0gYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKTsKK3ZhciBqd2tLZXkg
PSB7CisgICAga3R5OiAib2N0IiwKKyAgICBhbGc6ICJBMTI4Q0JDIiwKKyAgICB1c2U6ICJlbmMi
LAorICAgIGtleV9vcHM6IFsiZW5jcnlwdCJdLAorICAgIGV4dDogdHJ1ZSwKKyAgICBrOiAiYW01
UGR6azViMDlhUmt4SlJWQk5jZyIsCit9OwordmFyIGFlc0NmYlBhcmFtcyA9IHsKKyAgICBuYW1l
OiAiYWVzLWNmYi04IiwKKyAgICBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQ
TXIiKSwKK30KK3ZhciB3cmFwcGVkS2V5ID0gaGV4U3RyaW5nVG9VaW50OEFycmF5KCI5NmExNzQw
YzU4Y2IwMzljZTlkM2Y3N2M0MDMxZWZjNmUzYzE2YWRiYzFjZTlhMWIwZDViYzViOTUzZTJkOWRl
M2Y1NDEzYjAxYjk0MDQ3N2ZkODBjZWU5ZjQ5ZTA5YzM4Y2U5NjVjMjA0MGEzZmMxNDQ5YmE0ZjJi
NmMwMzM4NmFjZDJiMmExNDVlMzM1ZTE4OTBjNGFjMzUxYjQ3MDJkMDdiNmVhMzMwY2NlOWQ0NGFm
N2UyYSIpOworCisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMt
Y2ZiLTgiLCBleHRyYWN0YWJsZSwgWyJ1bndyYXBLZXkiXSkudGhlbihmdW5jdGlvbih1bndyYXBw
aW5nS2V5KSB7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUudW53cmFwS2V5KCJqd2siLCB3cmFw
cGVkS2V5LCB1bndyYXBwaW5nS2V5LCBhZXNDZmJQYXJhbXMsIHtuYW1lOiAiYWVzLWNiYyJ9LCBl
eHRyYWN0YWJsZSwgWyJlbmNyeXB0Il0pOworfSkudGhlbihmdW5jdGlvbihjcnlwdG9LZXkpIHsK
KyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGNyeXB0b0tleSk7Cit9
KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHVud3JhcHBlZEtleSA9IHJlc3VsdDsKKwor
ICAgIHNob3VsZEJlKCJ1bndyYXBwZWRLZXkua3R5IiwgImp3a0tleS5rdHkiKTsKKyAgICBzaG91
bGRCZSgidW53cmFwcGVkS2V5LmFsZyIsICJqd2tLZXkuYWxnIik7CisgICAgc2hvdWxkQmUoInVu
d3JhcHBlZEtleS5rZXlfb3BzIiwgImp3a0tleS5rZXlfb3BzIik7CisgICAgc2hvdWxkQmUoInVu
d3JhcHBlZEtleS5leHQiLCAiandrS2V5LmV4dCIpOworICAgIHNob3VsZEJlKCJ1bndyYXBwZWRL
ZXkuayIsICJqd2tLZXkuayIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKworPC9zY3Jp
cHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXVud3JhcC1yYXcta2V5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXVud3JhcC1yYXcta2V5
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMGZjYjk5Y2Q3MTI0YzMzZmVjYjIyNWUwMzdlNzMx
NWYyYmY4YmFiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9h
ZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLXJhdy1rZXktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTAgQEAKK1Rlc3QgdW53cmFwcGluZyBhIHJhdyBrZXkgd2l0aCBBRVMtQ0ZCIHVzaW5nIGFuIGlt
cG9ydGVkIGtleQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBieXRlc1Rv
QVNDSUlTdHJpbmcodW53cmFwcGVkS2V5KSBpcyBleHBlY3RlZFJhd0tleQorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXVud3JhcC1yYXcta2V5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAt
cmF3LWtleS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwOTQ0OGI0ZDJhNTczN2E5NjZlZTExYTMxYTZkYzcy
NDdmMWI2ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Fl
cy1jZmItaW1wb3J0LWtleS11bndyYXAtcmF3LWtleS5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9j
b21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24o
IlRlc3QgdW53cmFwcGluZyBhIHJhdyBrZXkgd2l0aCBBRVMtQ0ZCIHVzaW5nIGFuIGltcG9ydGVk
IGtleSIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gdHJ1
ZTsKK3ZhciBleHBlY3RlZFJhd0tleSA9ICJqbk93OTlvT1pGTElFUE1yIjsKK3ZhciByYXdLZXkg
PSBhc2NpaVRvVWludDhBcnJheShleHBlY3RlZFJhd0tleSk7Cit2YXIgYWVzQ2ZiUGFyYW1zID0g
eworICAgIG5hbWU6ICJhZXMtY2ZiLTgiLAorICAgIGl2OiBhc2NpaVRvVWludDhBcnJheSgiam5P
dzk5b09aRkxJRVBNciIpLAorfQordmFyIHdyYXBwZWRLZXkgPSBoZXhTdHJpbmdUb1VpbnQ4QXJy
YXkoIjg3MDdlZTMxMWY2ZThlZDE1Nzg4NWE3ZmMyNWYwZWU3Iik7CisKKworY3J5cHRvLnN1YnRs
ZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1jZmItOCIsIGV4dHJhY3RhYmxlLCBbInVu
d3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKHVud3JhcHBpbmdLZXkpIHsKKyAgICByZXR1cm4gY3J5
cHRvLnN1YnRsZS51bndyYXBLZXkoInJhdyIsIHdyYXBwZWRLZXksIHVud3JhcHBpbmdLZXksIGFl
c0NmYlBhcmFtcywge25hbWU6ICJhZXMtY2JjIn0sIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiXSk7
Cit9KS50aGVuKGZ1bmN0aW9uKGNyeXB0b0tleSkgeworICAgIHJldHVybiBjcnlwdG8uc3VidGxl
LmV4cG9ydEtleSgicmF3IiwgY3J5cHRvS2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7
CisgICAgdW53cmFwcGVkS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImJ5dGVzVG9BU0NJ
SVN0cmluZyh1bndyYXBwZWRLZXkpIiwgImV4cGVjdGVkUmF3S2V5Iik7CisKKyAgICBmaW5pc2hK
U1Rlc3QoKTsKK30pOworCis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1qd2st
a2V5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBv
cnQta2V5LXdyYXAtandrLWtleS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTM2MThhMTM3NWFm
OWU2MzY2ZWQ4Y2JlMGYwMTYzYzE3Y2VmOWFkYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXdyYXAtandrLWtleS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdCB3cmFwcGluZyBhIEpXSyBrZXkgd2l0aCBBRVMt
Q0ZCIHVzaW5nIGFuIGltcG9ydGVkIGtleQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBieXRlc1RvSGV4U3RyaW5nKHdyYXBwZWRLZXkpIGlzIGV4cGVjdFdyYXBwZWRLZXkK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS13cmFw
LWp3ay1rZXkuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQt
a2V5LXdyYXAtandrLWtleS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxY2NmMTkyOWE2NGI0NzRlM2E1NWI3
MDRkZTEyNGQwODUyNjU3ZTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS13cmFwLWp3ay1rZXkuaHRtbApAQCAtMCwwICsxLDQy
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2Ny
aXB0aW9uKCJUZXN0IHdyYXBwaW5nIGEgSldLIGtleSB3aXRoIEFFUy1DRkIgdXNpbmcgYW4gaW1w
b3J0ZWQga2V5Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUg
PSB0cnVlOwordmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1y
Iik7Cit2YXIgYWVzQ2ZiUGFyYW1zID0geworICAgIG5hbWU6ICJhZXMtY2ZiLTgiLAorICAgIGl2
OiBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIpLAorfQordmFyIGV4cGVjdFdy
YXBwZWRLZXkgPSAiOTZhMTc0MGM1OGNiMDM5Y2U5ZDNmNzdjNDAzMWVmYzZlM2MxNmFkYmMxY2U5
YTFiMGQ1YmM1Yjk1M2UyZDlkZTNmNTQxM2IwMWI5NDA0NzdmZDgwY2VlOWY0OWUwOWMzOGNlOTY1
YzIwNDBhM2ZjMTQ0OWJhNGYyYjZjMDMzODZhY2QyYjJhMTQ1ZTMzNWUxODkwYzRhYzM1MWI0NzAy
ZDA3YjZlYTMzMGNjZTlkNDRhZjdlMmEiOworCitjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3
IiwgcmF3S2V5LCAiYWVzLWNmYi04IiwgZXh0cmFjdGFibGUsIFsid3JhcEtleSJdKS50aGVuKGZ1
bmN0aW9uKHJlc3VsdCkgeworICAgIHdyYXBwaW5nS2V5ID0gcmVzdWx0OworICAgIHJldHVybiBj
cnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVzLWNiYyIsIGV4dHJhY3Rh
YmxlLCBbImVuY3J5cHQiXSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9
IHJlc3VsdDsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS53cmFwS2V5KCJqd2siLCBrZXksIHdy
YXBwaW5nS2V5LCBhZXNDZmJQYXJhbXMpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAg
ICB3cmFwcGVkS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImJ5dGVzVG9IZXhTdHJpbmco
d3JhcHBlZEtleSkiLCAiZXhwZWN0V3JhcHBlZEtleSIpOworCisgICAgZmluaXNoSlNUZXN0KCk7
Cit9KTsKKworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXdyYXAtcmF3LWtleS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS13
cmFwLXJhdy1rZXktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlODNiYjU0NWI3ZjM1NDU0MWUz
MjUzM2Q4MGU1ZjJjYjA1OWUxYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS13cmFwLXJhdy1rZXktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTAgQEAKK1Rlc3Qgd3JhcHBpbmcgYSByYXcga2V5IHdpdGggQUVTLUNGQiB1c2lu
ZyBhbiBpbXBvcnRlZCBrZXkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
Ynl0ZXNUb0hleFN0cmluZyh3cmFwcGVkS2V5KSBpcyBleHBlY3RXcmFwcGVkS2V5CitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1yYXcta2V5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS13cmFw
LXJhdy1rZXkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NmZmNjQ1MjYzYzMyZGQxYTFmZDEyNmYwMjU0NWQ2
OTVkZWU3NTNkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9h
ZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1yYXcta2V5Lmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2Nv
bW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigi
VGVzdCB3cmFwcGluZyBhIHJhdyBrZXkgd2l0aCBBRVMtQ0ZCIHVzaW5nIGFuIGltcG9ydGVkIGtl
eSIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsK
K3ZhciByYXdLZXkgPSBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIpOwordmFy
IGFlc0NmYlBhcmFtcyA9IHsKKyAgICBuYW1lOiAiYWVzLWNmYi04IiwKKyAgICBpdjogYXNjaWlU
b1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKSwKK30KK3ZhciBleHBlY3RXcmFwcGVkS2V5
ID0gIjg3MDdlZTMxMWY2ZThlZDE1Nzg4NWE3ZmMyNWYwZWU3IjsKKworY3J5cHRvLnN1YnRsZS5p
bXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1jZmItOCIsIGV4dHJhY3RhYmxlLCBbIndyYXBL
ZXkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICB3cmFwcGluZ0tleSA9IHJlc3VsdDsK
KyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1j
YmMiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0Il0pOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQp
IHsKKyAgICBrZXkgPSByZXN1bHQ7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUud3JhcEtleSgi
cmF3Iiwga2V5LCB3cmFwcGluZ0tleSwgYWVzQ2ZiUGFyYW1zKTsKK30pLnRoZW4oZnVuY3Rpb24o
cmVzdWx0KSB7CisgICAgd3JhcHBlZEtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJieXRl
c1RvSGV4U3RyaW5nKHdyYXBwZWRLZXkpIiwgImV4cGVjdFdyYXBwZWRLZXkiKTsKKworICAgIGZp
bmlzaEpTVGVzdCgpOworfSk7CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LXJhdy1rZXkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1y
YXcta2V5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMTkyMWExMzljZDY1Y2Y0MGRlOGI2ZWY2
NTViZTc1MGU3NjY3NWMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9hZXMtY2ZiLWltcG9ydC1yYXcta2V5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBA
CitUZXN0IGltcG9ydGluZyBhIHJhdyBBRVMtQ0ZCIGtleSB3aXRoIGxlZ250aCAxMjgKKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0ltcG9ydGluZyBhIGtleS4uLgorUEFTUyBrZXku
dHlwZSBpcyAnc2VjcmV0JworUEFTUyBrZXkuZXh0cmFjdGFibGUgaXMgdHJ1ZQorUEFTUyBrZXku
YWxnb3JpdGhtLm5hbWUgaXMgJ0FFUy1DRkItOCcKK1BBU1Mga2V5LmFsZ29yaXRobS5sZW5ndGgg
aXMgMTI4CitQQVNTIGtleS51c2FnZXMgaXMgWydkZWNyeXB0JywgJ2VuY3J5cHQnLCAndW53cmFw
S2V5JywgJ3dyYXBLZXknXQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNm
Yi1pbXBvcnQtcmF3LWtleS5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2Zi
LWltcG9ydC1yYXcta2V5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzZhMWZlZmFiZGU0ZjNmMTI2MjRhYzc4
NWZiYTFiNjIyNTYxZmFlYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvYWVzLWNmYi1pbXBvcnQtcmF3LWtleS5odG1sCkBAIC0wLDAgKzEsMzYgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21t
b24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRl
c3QgaW1wb3J0aW5nIGEgcmF3IEFFUy1DRkIga2V5IHdpdGggbGVnbnRoIDEyOCIpOworCitqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFycmF5KCJqbk93
OTlvT1pGTElFUE1yIik7Cit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOworCitkZWJ1ZygiSW1wb3J0
aW5nIGEga2V5Li4uIik7CitjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCAi
YWVzLWNmYi04IiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0IiwgIndyYXBLZXki
LCAidW53cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0
OworCisgICAgc2hvdWxkQmUoImtleS50eXBlIiwgIidzZWNyZXQnIik7CisgICAgc2hvdWxkQmUo
ImtleS5leHRyYWN0YWJsZSIsICJ0cnVlIik7CisgICAgc2hvdWxkQmUoImtleS5hbGdvcml0aG0u
bmFtZSIsICInQUVTLUNGQi04JyIpOworICAgIHNob3VsZEJlKCJrZXkuYWxnb3JpdGhtLmxlbmd0
aCIsICIxMjgiKTsKKyAgICBzaG91bGRCZSgia2V5LnVzYWdlcyIsICJbJ2RlY3J5cHQnLCAnZW5j
cnlwdCcsICd1bndyYXBLZXknLCAnd3JhcEtleSddIik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsK
K30pOworCis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWdlbmVy
YXRlLWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9j
cnlwdG8vc3VidGxlL2Flcy1nZW5lcmF0ZS1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0
ZWQudHh0CmluZGV4IDQzMmRiYmRiZTUzOTk4ODU4ODI5MjhjMGUxZWI2MTQ0MjVlMDVmOWIuLjQ4
ZjVjNTY3NWUxNjg1YmM0NjJjMmY1OWI1NGRlMmQ0ZDk5ZmJkOTMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWdlbmVyYXRlLWtleS1tYWxmb3JtZWQtcGFyYW1ldGVy
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtZ2VuZXJh
dGUta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApAQCAtMjEsNiArMjEsMTAg
QEAgUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWt3IiwgbGVuZ3Ro
OiAxMjh9LCBleHRyYWN0YWJsZSwgWyJzaWcKIFBBU1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtl
eSh7bmFtZTogImFlcy1rdyIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIFsidmVyaWZ5Il0p
IHJlamVjdGVkIHByb21pc2UgIHdpdGggU3ludGF4RXJyb3IgKERPTSBFeGNlcHRpb24gMTIpOiBB
IHJlcXVpcmVkIHBhcmFtZXRlciB3YXMgbWlzc2luZyBvciBvdXQtb2YtcmFuZ2UuCiBQQVNTIGNy
eXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMta3ciLCBsZW5ndGg6IDEyOH0sIGV4
dHJhY3RhYmxlLCBbImRlcml2ZUtleSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFN5bnRheEVy
cm9yIChET00gRXhjZXB0aW9uIDEyKTogQSByZXF1aXJlZCBwYXJhbWV0ZXIgd2FzIG1pc3Npbmcg
b3Igb3V0LW9mLXJhbmdlLgogUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAi
YWVzLWt3IiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgWyJkZXJpdmVCaXRzIl0pIHJlamVj
dGVkIHByb21pc2UgIHdpdGggU3ludGF4RXJyb3IgKERPTSBFeGNlcHRpb24gMTIpOiBBIHJlcXVp
cmVkIHBhcmFtZXRlciB3YXMgbWlzc2luZyBvciBvdXQtb2YtcmFuZ2UuCitQQVNTIGNyeXB0by5z
dWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMtY2ZiLTgiLCBsZW5ndGg6IDEyOH0sIGV4dHJh
Y3RhYmxlLCBbInNpZ24iXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBTeW50YXhFcnJvciAoRE9N
IEV4Y2VwdGlvbiAxMik6IEEgcmVxdWlyZWQgcGFyYW1ldGVyIHdhcyBtaXNzaW5nIG9yIG91dC1v
Zi1yYW5nZS4KK1BBU1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1jZmIt
OCIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIFsidmVyaWZ5Il0pIHJlamVjdGVkIHByb21p
c2UgIHdpdGggU3ludGF4RXJyb3IgKERPTSBFeGNlcHRpb24gMTIpOiBBIHJlcXVpcmVkIHBhcmFt
ZXRlciB3YXMgbWlzc2luZyBvciBvdXQtb2YtcmFuZ2UuCitQQVNTIGNyeXB0by5zdWJ0bGUuZ2Vu
ZXJhdGVLZXkoe25hbWU6ICJhZXMtY2ZiLTgiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCBb
ImRlcml2ZUtleSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFN5bnRheEVycm9yIChET00gRXhj
ZXB0aW9uIDEyKTogQSByZXF1aXJlZCBwYXJhbWV0ZXIgd2FzIG1pc3Npbmcgb3Igb3V0LW9mLXJh
bmdlLgorUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWNmYi04Iiwg
bGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgWyJkZXJpdmVCaXRzIl0pIHJlamVjdGVkIHByb21p
c2UgIHdpdGggU3ludGF4RXJyb3IgKERPTSBFeGNlcHRpb24gMTIpOiBBIHJlcXVpcmVkIHBhcmFt
ZXRlciB3YXMgbWlzc2luZyBvciBvdXQtb2YtcmFuZ2UuCiBQQVNTIGNyeXB0by5zdWJ0bGUuZ2Vu
ZXJhdGVLZXkoe25hbWU6ICJhZXMtY2JjIiwgbGVuZ3RoOiAxMTF9LCBleHRyYWN0YWJsZSwgWyJl
bmNyeXB0Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggT3BlcmF0aW9uRXJyb3IgKERPTSBFeGNl
cHRpb24gMzQpOiBUaGUgb3BlcmF0aW9uIGZhaWxlZCBmb3IgYW4gb3BlcmF0aW9uLXNwZWNpZmlj
IHJlYXNvbi4KIFBBU1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1rdyIs
IGxlbmd0aDogMTExfSwgZXh0cmFjdGFibGUsIFsid3JhcEtleSJdKSByZWplY3RlZCBwcm9taXNl
ICB3aXRoIE9wZXJhdGlvbkVycm9yIChET00gRXhjZXB0aW9uIDM0KTogVGhlIG9wZXJhdGlvbiBm
YWlsZWQgZm9yIGFuIG9wZXJhdGlvbi1zcGVjaWZpYyByZWFzb24uCiBQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Fl
cy1nZW5lcmF0ZS1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbCBiL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvYWVzLWdlbmVyYXRlLWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCmlu
ZGV4IDFhNGYxZDYzNjA1NjhlMmE2ZDgyYTg1ODRmOTk5ZGE2ZTQxZmZkOTcuLjYxYmQ4MDkyOTI5
MTkyOWEwMTVmNzczYjJiZWIyZjQ3ZGI4OTJiOWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvYWVzLWdlbmVyYXRlLWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWdlbmVyYXRlLWtleS1tYWxmb3JtZWQt
cGFyYW1ldGVycy5odG1sCkBAIC0zMyw2ICszMywxMCBAQCBzaG91bGRSZWplY3QoJ2NyeXB0by5z
dWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMta3ciLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3Rh
Ygogc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWt3
IiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgWyJ2ZXJpZnkiXSknKTsKIHNob3VsZFJlamVj
dCgnY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1rdyIsIGxlbmd0aDogMTI4
fSwgZXh0cmFjdGFibGUsIFsiZGVyaXZlS2V5Il0pJyk7CiBzaG91bGRSZWplY3QoJ2NyeXB0by5z
dWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMta3ciLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3Rh
YmxlLCBbImRlcml2ZUJpdHMiXSknKTsKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5nZW5l
cmF0ZUtleSh7bmFtZTogImFlcy1jZmItOCIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIFsi
c2lnbiJdKScpOworc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1l
OiAiYWVzLWNmYi04IiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgWyJ2ZXJpZnkiXSknKTsK
K3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1jZmIt
OCIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIFsiZGVyaXZlS2V5Il0pJyk7CitzaG91bGRS
ZWplY3QoJ2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMtY2ZiLTgiLCBsZW5n
dGg6IDEyOH0sIGV4dHJhY3RhYmxlLCBbImRlcml2ZUJpdHMiXSknKTsKIC8vIFdyb25nIGxlbmd0
aAogc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWNi
YyIsIGxlbmd0aDogMTExfSwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCJdKScpOwogc2hvdWxkUmVq
ZWN0KCdjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWt3IiwgbGVuZ3RoOiAx
MTF9LCBleHRyYWN0YWJsZSwgWyJ3cmFwS2V5Il0pJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2Flcy1pbXBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWltcG9ydC1rZXktbWFsZm9y
bWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CmluZGV4IDgyYjk4YjY2M2UyMjA5NTg5OWQ4OTA1
ZWQ0NjAyMmZlMzRhNWQ4YTUuLjlkMWYyOTk3ZTI3MDI5MGQ0ZDVmOGEzMWFhN2YwMTMyOGQ4ZmJj
ZmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWltcG9ydC1rZXkt
bWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvYWVzLWltcG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0
CkBAIC0xMiw2ICsxMiw5IEBAIFBBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtr
dHk6ICJvY3QiLCBrOiBrMjU2LCBhbGc6ICJBMTI4Q0JDIn0sICJhZXMtCiBQQVNTIGNyeXB0by5z
dWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogazEyOCwgYWxnOiAiQTE5MktX
In0sICJhZXMta3ciLCBleHRyYWN0YWJsZSwgWyJ3cmFwS2V5IiwgInVud3JhcEtleSJdKSByZWpl
Y3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJv
dmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgogUEFTUyBj
cnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGsxOTIsIGFsZzog
IkEyNTZLVyJ9LCAiYWVzLWt3IiwgZXh0cmFjdGFibGUsIFsid3JhcEtleSIsICJ1bndyYXBLZXki
XSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBEYXRhRXJyb3IgKERPTSBFeGNlcHRpb24gMzApOiBE
YXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBtZWV0IHJlcXVpcmVtZW50cy4K
IFBBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiBrMjU2
LCBhbGc6ICJBMTI4S1cifSwgImFlcy1rdyIsIGV4dHJhY3RhYmxlLCBbIndyYXBLZXkiLCAidW53
cmFwS2V5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggRGF0YUVycm9yIChET00gRXhjZXB0aW9u
IDMwKTogRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24gZG9lcyBub3QgbWVldCByZXF1aXJl
bWVudHMuCitQQVNTIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0Iiwg
azogazEyOCwgYWxnOiAiQTE5MkNGQjgifSwgImFlcy1jZmItOCIsIGV4dHJhY3RhYmxlLCBbImVu
Y3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVud3JhcEtleSJdKSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlkZWQgdG8g
YW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgorUEFTUyBjcnlwdG8uc3Vi
dGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGsxOTIsIGFsZzogIkEyNTZDRkI4
In0sICJhZXMtY2ZiLTgiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0IiwgImRlY3J5cHQiLCAid3Jh
cEtleSIsICJ1bndyYXBLZXkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBEYXRhRXJyb3IgKERP
TSBFeGNlcHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBt
ZWV0IHJlcXVpcmVtZW50cy4KK1BBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtr
dHk6ICJvY3QiLCBrOiBrMjU2LCBhbGc6ICJBMTI4Q0ZCOCJ9LCAiYWVzLWNmYi04IiwgZXh0cmFj
dGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0IiwgIndyYXBLZXkiLCAidW53cmFwS2V5Il0pIHJl
amVjdGVkIHByb21pc2UgIHdpdGggRGF0YUVycm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBw
cm92aWRlZCB0byBhbiBvcGVyYXRpb24gZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMuCiBQQVNT
IGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogIkE3MkYiLCBh
bGc6ICJmb28ifSwgImFlcy1jYmMiLCBleHRyYWN0YWJsZSwgWyJ3cmFwS2V5IiwgInVud3JhcEtl
eSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6
IERhdGEgcHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRz
LgogUEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6ICIh
ISEiLCBhbGc6ICJmb28ifSwgImFlcy1jYmMiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0IiwgImRl
Y3J5cHQiLCAid3JhcEtleSIsICJ1bndyYXBLZXkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBE
YXRhRXJyb3IgKERPTSBFeGNlcHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlv
biBkb2VzIG5vdCBtZWV0IHJlcXVpcmVtZW50cy4KIFBBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRL
ZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiBrMTI4LCBhbGc6ICJBMTI4Q0JDIiwgdXNlOiAic2ln
In0sICJhZXMtY2JjIiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0IiwgIndyYXBL
ZXkiLCAidW53cmFwS2V5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggRGF0YUVycm9yIChET00g
RXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24gZG9lcyBub3QgbWVl
dCByZXF1aXJlbWVudHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Fl
cy1pbXBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2Flcy1pbXBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKaW5kZXgg
OTUwYmUwZmMzMTgxNTcyMjdjN2YyMTk4OGJjYmYxY2RhOTgzYzlhOS4uYzEzYzhlYjE0Y2VmZmU5
Y2RmYjY1Njc2MWY1OTI5ZWEzM2M1YjdmZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3J5cHRv
L3N1YnRsZS9hZXMtaW1wb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWltcG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRl
cnMuaHRtbApAQCAtMjksNiArMjksOSBAQCBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1w
b3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogazI1NiwgYWxnOiAiQTEyOENCQwogc2hvdWxk
UmVqZWN0KCdjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGsx
MjgsIGFsZzogIkExOTJLVyJ9LCAiYWVzLWt3IiwgZXh0cmFjdGFibGUsIFsid3JhcEtleSIsICJ1
bndyYXBLZXkiXSknKTsKIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3
ayIsIHtrdHk6ICJvY3QiLCBrOiBrMTkyLCBhbGc6ICJBMjU2S1cifSwgImFlcy1rdyIsIGV4dHJh
Y3RhYmxlLCBbIndyYXBLZXkiLCAidW53cmFwS2V5Il0pJyk7CiBzaG91bGRSZWplY3QoJ2NyeXB0
by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogazI1NiwgYWxnOiAiQTEy
OEtXIn0sICJhZXMta3ciLCBleHRyYWN0YWJsZSwgWyJ3cmFwS2V5IiwgInVud3JhcEtleSJdKScp
Oworc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9j
dCIsIGs6IGsxMjgsIGFsZzogIkExOTJDRkI4In0sICJhZXMtY2ZiLTgiLCBleHRyYWN0YWJsZSwg
WyJlbmNyeXB0IiwgImRlY3J5cHQiLCAid3JhcEtleSIsICJ1bndyYXBLZXkiXSknKTsKK3Nob3Vs
ZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiBr
MTkyLCBhbGc6ICJBMjU2Q0ZCOCJ9LCAiYWVzLWNmYi04IiwgZXh0cmFjdGFibGUsIFsiZW5jcnlw
dCIsICJkZWNyeXB0IiwgIndyYXBLZXkiLCAidW53cmFwS2V5Il0pJyk7CitzaG91bGRSZWplY3Qo
J2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogazI1NiwgYWxn
OiAiQTEyOENGQjgifSwgImFlcy1jZmItOCIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVj
cnlwdCIsICJ3cmFwS2V5IiwgInVud3JhcEtleSJdKScpOwogc2hvdWxkUmVqZWN0KCdjcnlwdG8u
c3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6ICJBNzJGIiwgYWxnOiAiZm9v
In0sICJhZXMtY2JjIiwgZXh0cmFjdGFibGUsIFsid3JhcEtleSIsICJ1bndyYXBLZXkiXSknKTsK
IC8vIEp3azogd3JvbmcgayBmb3JtYXQKIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBv
cnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiAiISEhIiwgYWxnOiAiZm9vIn0sICJhZXMtY2Jj
IiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0IiwgIndyYXBLZXkiLCAidW53cmFw
S2V5Il0pJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUv
YWVzLWNmYi1pbXBvcnQta2V5LWRlY3J5cHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1kZWNyeXB0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kNTU3YmVlMWI1ZjZkODI2YzgxZTYyZWY4MmQyODhjMTg4NWM2ZDBmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1j
ZmItaW1wb3J0LWtleS1kZWNyeXB0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitbV29y
a2VyXSBUZXN0IGRlY3J5cHRpbmcgdXNpbmcgQUVTLUNGQiB3aXRoIGFuIGltcG9ydGVkIDEyOGJp
dCBrZXkgaW4gd29ya2VycworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworU3RhcnRp
bmcgd29ya2VyOiByZXNvdXJjZXMvYWVzLWNmYi1pbXBvcnQta2V5LWRlY3J5cHQuanMKK1BBU1Mg
W1dvcmtlcl0gYnl0ZXNUb0FTQ0lJU3RyaW5nKHBsYWluVGV4dCkgaXMgZXhwZWN0ZWRQbGFpblRl
eHQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBv
cnQta2V5LWRlY3J5cHQuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9h
ZXMtY2ZiLWltcG9ydC1rZXktZGVjcnlwdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhjMWI5ZDU2YjY5ZGUz
ODgzMWViZDY5YjBlYzI4NDQ4N2U0M2NmYmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LWRlY3J5cHQuaHRtbApA
QCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKyAgICA8c2NyaXB0PgorICAgICAgICB3b3JrZXIgPSBzdGFydFdvcmtl
cigncmVzb3VyY2VzL2Flcy1jZmItaW1wb3J0LWtleS1kZWNyeXB0LmpzJyk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5
cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1lbmNyeXB0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXkt
ZW5jcnlwdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk2ODU3YmE0MTM2ZTQ2M2ExZGVjYzI1
MjRmNWQzYjQ4MWY0NGQ5NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93
b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktZW5jcnlwdC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMSBAQAorW1dvcmtlcl0gVGVzdCBlbmNyeXB0aW5nIHVzaW5nIEFFUy1DRkIgd2l0
aCBhbiBpbXBvcnRlZCAxMjhiaXQga2V5IGluIHdvcmtlcnMKKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1N0YXJ0aW5nIHdvcmtlcjogcmVzb3VyY2VzL2Flcy1jZmItaW1wb3J0LWtl
eS1lbmNyeXB0LmpzCitQQVNTIFtXb3JrZXJdIGJ5dGVzVG9IZXhTdHJpbmcoY2lwaGVyVGV4dCkg
aXMgZXhwZWN0ZWRDaXBoZXJUZXh0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMv
c3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1lbmNyeXB0Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LWVuY3J5cHQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kMWZhNjlhNTk2MTkyMWY5ZjVjMjI4YWVmYjQ4Mzg0ODU1OGJlYTg5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jZmItaW1wb3J0
LWtleS1lbmNyeXB0Lmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
d29ya2VyID0gc3RhcnRXb3JrZXIoJ3Jlc291cmNlcy9hZXMtY2ZiLWltcG9ydC1rZXktZW5jcnlw
dC5qcycpOworICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXkt
dW53cmFwLWtleS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0
bGUvYWVzLWNmYi1pbXBvcnQta2V5LXVud3JhcC1rZXktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmZlZGZmYzQ2ZTZiMjM5YjVlNmZlOGI0ZTBiMDM2YTBlMGMwODQ3MTgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5
LXVud3JhcC1rZXktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1tXb3JrZXJdIFRlc3Qg
dW53cmFwcGluZyBhIHJhdyBrZXkgd2l0aCBBRVMtQ0ZCIHVzaW5nIGFuIGltcG9ydGVkIGtleSBp
biB3b3JrZXJzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitTdGFydGluZyB3b3Jr
ZXI6IHJlc291cmNlcy9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWtleS5qcworUEFTUyBbV29y
a2VyXSBieXRlc1RvQVNDSUlTdHJpbmcodW53cmFwcGVkS2V5KSBpcyBleHBlY3RlZFJhd0tleQor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1r
ZXktdW53cmFwLWtleS5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Fl
cy1jZmItaW1wb3J0LWtleS11bndyYXAta2V5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmZkMGQ0MWIyY2U1
MmExNGRhMGY0YWRlMjM5YmY4ZTc1MGUxOGY2MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWtleS5o
dG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxzY3JpcHQ+CisgICAgICAgIHdvcmtlciA9IHN0YXJ0
V29ya2VyKCdyZXNvdXJjZXMvYWVzLWNmYi1pbXBvcnQta2V5LXVud3JhcC1rZXkuanMnKTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXdyYXAta2V5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWlt
cG9ydC1rZXktd3JhcC1rZXktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2NGIzNjAxNjdmMDc1
MWIyNDdmMGM1ZGYxMzUwZDkwNzE5MDAxZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXdyYXAta2V5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDExIEBACitbV29ya2VyXSBUZXN0IHdyYXBwaW5nIGEgcmF3IGtl
eSB3aXRoIEFFUy1DRkIgdXNpbmcgYW4gaW1wb3J0ZWQga2V5IGluIHdvcmtlcnMKKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1N0YXJ0aW5nIHdvcmtlcjogcmVzb3VyY2VzL2Flcy1j
ZmItaW1wb3J0LWtleS13cmFwLWtleS5qcworUEFTUyBbV29ya2VyXSBieXRlc1RvSGV4U3RyaW5n
KHdyYXBwZWRLZXkpIGlzIGV4cGVjdFdyYXBwZWRLZXkKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlw
dG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXdyYXAta2V5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXdyYXAta2V5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMGExYmJjOWYwZmJjZDY3Zjg3NmRmNDFmMTY4NWExYzU0ZjdkY2Q3
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9h
ZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1rZXkuaHRtbApAQCAtMCwwICsxLDEyIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8c2Ny
aXB0PgorICAgICAgICB3b3JrZXIgPSBzdGFydFdvcmtlcigncmVzb3VyY2VzL2Flcy1jZmItaW1w
b3J0LWtleS13cmFwLWtleS5qcycpOworICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNv
dXJjZXMvYWVzLWNmYi1pbXBvcnQta2V5LWRlY3J5cHQuanMgYi9MYXlvdXRUZXN0cy9jcnlwdG8v
d29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2Flcy1jZmItaW1wb3J0LWtleS1kZWNyeXB0LmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgzNTVkNTc0YTE5MjkyZTQzNTc4YjA5YjU4NzE2NjgzOThkMTE4ODkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2Vz
L2Flcy1jZmItaW1wb3J0LWtleS1kZWNyeXB0LmpzCkBAIC0wLDAgKzEsMjUgQEAKK2ltcG9ydFNj
cmlwdHMoJy4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcycpOworaW1wb3J0U2Ny
aXB0cygnLi4vLi4vLi4vcmVzb3VyY2VzL2NvbW1vbi5qcycpOworCitkZXNjcmlwdGlvbigiVGVz
dCBkZWNyeXB0aW5nIHVzaW5nIEFFUy1DRkIgd2l0aCBhbiBpbXBvcnRlZCAxMjhiaXQga2V5IGlu
IHdvcmtlcnMiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9
IGZhbHNlOwordmFyIGNpcGhlclRleHQgPSBoZXhTdHJpbmdUb1VpbnQ4QXJyYXkoImE1NzI1MjVh
MGJhZWY4OGU2ZjViMTk4YzZmIik7Cit2YXIgYWVzQ2ZiUGFyYW1zID0geworICAgIG5hbWU6ICJh
ZXMtY2ZiLTgiLAorICAgIGl2OiBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIp
LAorfQordmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIik7
Cit2YXIgZXhwZWN0ZWRQbGFpblRleHQgPSAiSGVsbG8sIFdvcmxkISI7CisKK2NyeXB0by5zdWJ0
bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMtY2ZiLTgiLCBleHRyYWN0YWJsZSwgWyJk
ZWNyeXB0Il0pLnRoZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUu
ZGVjcnlwdChhZXNDZmJQYXJhbXMsIGtleSwgY2lwaGVyVGV4dCk7Cit9KS50aGVuKGZ1bmN0aW9u
KHJlc3VsdCkgeworICAgIHBsYWluVGV4dCA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJieXRl
c1RvQVNDSUlTdHJpbmcocGxhaW5UZXh0KSIsICJleHBlY3RlZFBsYWluVGV4dCIpOworCisgICAg
ZmluaXNoSlNUZXN0KCk7Cit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by93b3Jr
ZXJzL3N1YnRsZS9yZXNvdXJjZXMvYWVzLWNmYi1pbXBvcnQta2V5LWVuY3J5cHQuanMgYi9MYXlv
dXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2Flcy1jZmItaW1wb3J0LWtl
eS1lbmNyeXB0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1YmRmODM2NDU0MGUyMzRhZjUwMjgzNjBlYTBmMTAw
MmUyNTc2OGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9z
dWJ0bGUvcmVzb3VyY2VzL2Flcy1jZmItaW1wb3J0LWtleS1lbmNyeXB0LmpzCkBAIC0wLDAgKzEs
MjUgQEAKK2ltcG9ydFNjcmlwdHMoJy4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cycpOworaW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vcmVzb3VyY2VzL2NvbW1vbi5qcycpOworCitk
ZXNjcmlwdGlvbigiVGVzdCBlbmNyeXB0aW5nIHVzaW5nIEFFUy1DRkIgd2l0aCBhbiBpbXBvcnRl
ZCAxMjhiaXQga2V5IGluIHdvcmtlcnMiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3Zh
ciBleHRyYWN0YWJsZSA9IGZhbHNlOwordmFyIHBsYWluVGV4dCA9IGFzY2lpVG9VaW50OEFycmF5
KCJIZWxsbywgV29ybGQhIik7Cit2YXIgYWVzQ2ZiUGFyYW1zID0geworICAgIG5hbWU6ICJhZXMt
Y2ZiLTgiLAorICAgIGl2OiBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIpLAor
fQordmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIik7Cit2
YXIgZXhwZWN0ZWRDaXBoZXJUZXh0ID0gImE1NzI1MjVhMGJhZWY4OGU2ZjViMTk4YzZmIjsKKwor
Y3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1jZmItOCIsIGV4dHJh
Y3RhYmxlLCBbImVuY3J5cHQiXSkudGhlbihmdW5jdGlvbihrZXkpIHsKKyAgICByZXR1cm4gY3J5
cHRvLnN1YnRsZS5lbmNyeXB0KGFlc0NmYlBhcmFtcywga2V5LCBwbGFpblRleHQpOworfSkudGhl
bihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBjaXBoZXJUZXh0ID0gcmVzdWx0OworCisgICAgc2hv
dWxkQmUoImJ5dGVzVG9IZXhTdHJpbmcoY2lwaGVyVGV4dCkiLCAiZXhwZWN0ZWRDaXBoZXJUZXh0
Iik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFw
LWtleS5qcyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvYWVz
LWNmYi1pbXBvcnQta2V5LXVud3JhcC1rZXkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODc4YTQ4NmUwZGE3OWI3
MWE1MTM1NTA4Yjc4MmMyMTRhZjg2YjdjYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvYWVzLWNmYi1pbXBvcnQta2V5LXVud3Jh
cC1rZXkuanMKQEAgLTAsMCArMSwyOCBAQAoraW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzJyk7CitpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9yZXNvdXJj
ZXMvY29tbW9uLmpzJyk7CisKK2Rlc2NyaXB0aW9uKCJUZXN0IHVud3JhcHBpbmcgYSByYXcga2V5
IHdpdGggQUVTLUNGQiB1c2luZyBhbiBpbXBvcnRlZCBrZXkgaW4gd29ya2VycyIpOworCitqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKK3ZhciBleHBlY3Rl
ZFJhd0tleSA9ICJqbk93OTlvT1pGTElFUE1yIjsKK3ZhciByYXdLZXkgPSBhc2NpaVRvVWludDhB
cnJheShleHBlY3RlZFJhd0tleSk7Cit2YXIgYWVzQ2ZiUGFyYW1zID0geworICAgIG5hbWU6ICJh
ZXMtY2ZiLTgiLAorICAgIGl2OiBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIp
LAorfQordmFyIHdyYXBwZWRLZXkgPSBoZXhTdHJpbmdUb1VpbnQ4QXJyYXkoIjg3MDdlZTMxMWY2
ZThlZDE1Nzg4NWE3ZmMyNWYwZWU3Iik7CisKKworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJh
dyIsIHJhd0tleSwgImFlcy1jZmItOCIsIGV4dHJhY3RhYmxlLCBbInVud3JhcEtleSJdKS50aGVu
KGZ1bmN0aW9uKHVud3JhcHBpbmdLZXkpIHsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS51bndy
YXBLZXkoInJhdyIsIHdyYXBwZWRLZXksIHVud3JhcHBpbmdLZXksIGFlc0NmYlBhcmFtcywge25h
bWU6ICJhZXMtY2JjIn0sIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiXSk7Cit9KS50aGVuKGZ1bmN0
aW9uKGNyeXB0b0tleSkgeworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3
IiwgY3J5cHRvS2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgdW53cmFwcGVk
S2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImJ5dGVzVG9BU0NJSVN0cmluZyh1bndyYXBw
ZWRLZXkpIiwgImV4cGVjdGVkUmF3S2V5Iik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9h
ZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1rZXkuanMgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vy
cy9zdWJ0bGUvcmVzb3VyY2VzL2Flcy1jZmItaW1wb3J0LWtleS13cmFwLWtleS5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hMDhlMTE0OGRmMzYwOTU3ZmQ3MTVmODk4ZGViZTZkZDVjOTMyMjY4Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMt
Y2ZiLWltcG9ydC1rZXktd3JhcC1rZXkuanMKQEAgLTAsMCArMSwyOCBAQAoraW1wb3J0U2NyaXB0
cygnLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzJyk7CitpbXBvcnRTY3JpcHRz
KCcuLi8uLi8uLi9yZXNvdXJjZXMvY29tbW9uLmpzJyk7CisKK2Rlc2NyaXB0aW9uKCJUZXN0IHdy
YXBwaW5nIGEgcmF3IGtleSB3aXRoIEFFUy1DRkIgdXNpbmcgYW4gaW1wb3J0ZWQga2V5IGluIHdv
cmtlcnMiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IHRy
dWU7Cit2YXIgcmF3S2V5ID0gYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKTsK
K3ZhciBhZXNDZmJQYXJhbXMgPSB7CisgICAgbmFtZTogImFlcy1jZmItOCIsCisgICAgaXY6IGFz
Y2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIiksCit9Cit2YXIgZXhwZWN0V3JhcHBl
ZEtleSA9ICI4NzA3ZWUzMTFmNmU4ZWQxNTc4ODVhN2ZjMjVmMGVlNyI7CisKK2NyeXB0by5zdWJ0
bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMtY2ZiLTgiLCBleHRyYWN0YWJsZSwgWyJ3
cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgd3JhcHBpbmdLZXkgPSByZXN1
bHQ7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJh
ZXMtY2JjIiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCJdKTsKK30pLnRoZW4oZnVuY3Rpb24ocmVz
dWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLndyYXBL
ZXkoInJhdyIsIGtleSwgd3JhcHBpbmdLZXksIGFlc0NmYlBhcmFtcyk7Cit9KS50aGVuKGZ1bmN0
aW9uKHJlc3VsdCkgeworICAgIHdyYXBwZWRLZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgi
Ynl0ZXNUb0hleFN0cmluZyh3cmFwcGVkS2V5KSIsICJleHBlY3RXcmFwcGVkS2V5Iik7CisKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK30pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301847</attachid>
            <date>2017-02-16 15:51:00 -0800</date>
            <delta_ts>2017-02-20 16:07:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168344-20170216154822.patch</filename>
            <type>text/plain</type>
            <size>145114</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyNDY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGIxMGVlZTUwNTY5NmE3
NmY4Nzc1YTNkNTYyNzRkYzAxZTZkMDlkYy4uNTg3NDg5OTcwMzY3NjA5ZjE5MjIzZGFmYTUyMzBl
YjU0M2JiY2Y1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg4IEBACisyMDE3LTAyLTE0ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkNyeXB0b10gQWRk
IHN1cHBvcnQgZm9yIEFFUy1DRkIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2ODM0NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjA5NDAyMjE+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRj
aCBhZGRzIHN1cHBvcnQgZm9yIEFFUy1DRkIuIE9wZXJhdGlvbnMgb2YgQUVTLUNGQiBpbmNsdWRl
OiBlbmNyeXB0LCBkZWNyeXB0LCBnZW5lcmF0ZUtleSwKKyAgICAgICAgaW1wb3J0S2V5LCBleHBv
cnRLZXksIHdyYXBLZXksIGFuZCB1bndyYXBLZXkuIFRoaXMgaW1wbGVtZW50YXRpb24gZm9sbG93
cyBhIHNsaWdodGx5IG9sZCB2ZXJzaW9uCisgICAgICAgIG9mIFdlYkNyeXB0b0FQSSBzcGVjOiBo
dHRwczovL3d3dy53My5vcmcvVFIvMjAxNC9DUi1XZWJDcnlwdG9BUEktMjAxNDEyMTEvI2Flcy1j
ZmIuCisKKyAgICAgICAgVGVzdHM6IGNyeXB0by9zdWJ0bGUvYWVzLWNiYy1jZmItZGVjcnlwdC1t
YWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Fl
cy1jYmMtY2ZiLWVuY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbAorICAgICAgICAgICAg
ICAgY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktdW53cmFwLWp3ay1yc2Eta2V5LXB1
YmxpYy5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUt
ZXhwb3J0LWtleS1qd2stbGVuZ3RoLTEyOC5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3Vi
dGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTE5Mi5odG1sCisgICAg
ICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2st
bGVuZ3RoLTI1Ni5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmItZ2Vu
ZXJhdGUtZXhwb3J0LXJhdy1rZXkuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9h
ZXMtY2ZiLWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQuaHRtbAorICAgICAgICAgICAgICAg
Y3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWtleS5odG1sCisgICAgICAgICAgICAgICBj
cnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTEyOC5odG1sCisgICAg
ICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTE5
Mi5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1r
ZXktbGVuZ3RoLTI1Ni5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmIt
aW1wb3J0LWtleS1kZWNyeXB0Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvYWVz
LWNmYi1pbXBvcnQta2V5LWVuY3J5cHQuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRs
ZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWp3ay1rZXkuaHRtbAorICAgICAgICAgICAgICAg
Y3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLXJhdy1rZXkuaHRtbAorICAg
ICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1qd2sta2V5
Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXdy
YXAtcmF3LWtleS5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1w
b3J0LXJhdy1rZXkuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Fl
cy1jZmItaW1wb3J0LWtleS1kZWNyeXB0Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by93b3Jr
ZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktZW5jcnlwdC5odG1sCisgICAgICAgICAgICAg
ICBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXVud3JhcC1rZXkuaHRt
bAorICAgICAgICAgICAgICAgY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtl
eS13cmFwLWtleS5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFBsYXRmb3JtR1RLLmNtYWtlOgorICAgICAg
ICAqIFBsYXRmb3JtTWFjLmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgQWRkIENyeXB0b0FsZ29yaXRobUFFU19DRkIuY3BwLAorICAg
ICAgICBjaGFuZ2UgQWVzQ2JjUGFyYW1zLmlkbCB0byBBZXNDYmNDZmJQYXJhbXMuaWRsLgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Om5vcm1hbGl6ZUNyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMpOgorICAgICAgICBBZGQg
c3VwcG9ydCBmb3IgQUVTLUNGQi4KKyAgICAgICAgKiBjcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmg6
CisgICAgICAgIEluY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+LgorICAgICAgICAqIGNyeXB0by9Dcnlw
dG9BbGdvcml0aG1QYXJhbWV0ZXJzLmg6CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBBRVMtQ0ZC
LgorICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6ZW5jcnlwdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1BRVNfQ0JDOjpkZWNyeXB0KToKKyAgICAg
ICAgUmVuYW1lIENyeXB0b0FsZ29yaXRobUFlc0NiY1BhcmFtcyB0byBDcnlwdG9BbGdvcml0aG1B
ZXNDYmNDZmJQYXJhbXMuCisgICAgICAgICogY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3Jp
dGhtQUVTX0NGQi5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6dXNhZ2VzQXJlSW52YWxp
ZEZvckNyeXB0b0FsZ29yaXRobUFFU19DRkIpOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxn
b3JpdGhtQUVTX0NGQjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRo
bUFFU19DRkI6OmlkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGht
QUVTX0NGQjo6ZW5jcnlwdCk6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1BRVNf
Q0ZCOjpkZWNyeXB0KToKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUFFU19DRkI6
OmdlbmVyYXRlS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUFFU19DRkI6
OmltcG9ydEtleSk6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCOjpl
eHBvcnRLZXkpOgorICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFF
U19DRkIuaDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL2dudXRscy9DcnlwdG9BbGdvcml0aG1B
RVNfQ0ZCR251VExTLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0
aG1BRVNfQ0ZCOjpwbGF0Zm9ybUVuY3J5cHQpOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxn
b3JpdGhtQUVTX0NGQjo6cGxhdGZvcm1EZWNyeXB0KToKKyAgICAgICAgQWRkIGR1bW15IHN1cHBv
cnQgb2YgQUVTX0NGQiBmb3IgR1RLKy4KKyAgICAgICAgKiBjcnlwdG8vbWFjL0NyeXB0b0FsZ29y
aXRobUFFU19DQkNNYWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dHJhbnNmb3JtQUVTX0NCQyk6
CisgICAgICAgIERyb3AgY29uZGl0aW9uYWwgUExBVEZPUk0oQ09DT0EpLgorICAgICAgICAoV2Vi
Q29yZTo6Q3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6cGxhdGZvcm1FbmNyeXB0KToKKyAgICAgICAg
KFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUFFU19DQkM6OnBsYXRmb3JtRGVjcnlwdCk6CisgICAg
ICAgIFJlbmFtZSBDcnlwdG9BbGdvcml0aG1BZXNDYmNQYXJhbXMgdG8gQ3J5cHRvQWxnb3JpdGht
QWVzQ2JjQ2ZiUGFyYW1zLgorICAgICAgICAqIGNyeXB0by9tYWMvQ3J5cHRvQWxnb3JpdGhtQUVT
X0NGQk1hYy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6dHJhbnNmb3JtQUVTX0NGQik6
CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCOjpwbGF0Zm9ybUVuY3J5
cHQpOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtQUVTX0NGQjo6cGxhdGZvcm1E
ZWNyeXB0KToKKyAgICAgICAgKiBjcnlwdG8vbWFjL0NyeXB0b0FsZ29yaXRobVJlZ2lzdHJ5TWFj
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobVJlZ2lzdHJ5OjpwbGF0Zm9y
bVJlZ2lzdGVyQWxnb3JpdGhtcyk6CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBBRVMtQ0ZCLgor
ICAgICAgICAqIGNyeXB0by9wYXJhbWV0ZXJzL0Flc0NiY0NmYlBhcmFtcy5pZGw6IFJlbmFtZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vcGFyYW1ldGVycy9BZXNDYmNQYXJhbXMuaWRsLgor
ICAgICAgICAqIGNyeXB0by9wYXJhbWV0ZXJzL0NyeXB0b0FsZ29yaXRobUFlc0NiY0NmYlBhcmFt
cy5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3J5cHRvL3BhcmFtZXRlcnMvQ3J5cHRv
QWxnb3JpdGhtQWVzQ2JjUGFyYW1zLmguCisgICAgICAgIFNpbmNlIGRpY3Rpb25hcmllcyBBZXND
YmNQYXJhbXMgYW5kIEFlc0NmYlBhcmFtcyBhcmUgZXNzZW50aWFsbHkgdGhlIHNhbWUsIEkgY29t
YmluZSB0aGVtIHRvZ2V0aGVyIGluIG91ciBpbXBsZW1lbnRhdGlvbnMuCisKIDIwMTctMDItMTYg
IEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQ3J5cHRv
XSByZW1vdmUgdG9KU1ZhbHVlRnJvbUpzb25XZWJLZXkgZnJvbSBjdXN0b20gU3VidGxlQ3J5cHRv
IGJpbmRpbmcgY29kZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNDZkYmQ3MDU3ZTcwNjg0Mzdi
NDFjY2RhOGNkNjAwYjgzZDU5MWMwNC4uYzVlY2VjMDAzMjE5MjQ2OWE5MmZhOTc4NTRmYjg3OTU5
MTNmYjY5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTMzMCw3ICszMzAsNyBAQCBzZXQoV2Vi
Q29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIGNyeXB0by9TdWJ0bGVDcnlwdG8uaWRsCiAgICAg
Y3J5cHRvL1dlYktpdFN1YnRsZUNyeXB0by5pZGwKIAotICAgIGNyeXB0by9wYXJhbWV0ZXJzL0Fl
c0NiY1BhcmFtcy5pZGwKKyAgICBjcnlwdG8vcGFyYW1ldGVycy9BZXNDYmNDZmJQYXJhbXMuaWRs
CiAgICAgY3J5cHRvL3BhcmFtZXRlcnMvQWVzS2V5R2VuUGFyYW1zLmlkbAogICAgIGNyeXB0by9w
YXJhbWV0ZXJzL0htYWNLZXlQYXJhbXMuaWRsCiAgICAgY3J5cHRvL3BhcmFtZXRlcnMvUnNhSGFz
aGVkSW1wb3J0UGFyYW1zLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNjgz
ZTIwNjcwMmZjOTU0NDQwZGFjZTU2YzkxOWVjOTIyZWI3MDVlMS4uN2NhNTQwMTI1NDk5ZTg4OTdk
ZTVmOTlkMTM3YzdhMGQ0NDI3MjA2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBA
IC0yNjQsNyArMjY0LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvY3J5
cHRvL1JzYU90aGVyUHJpbWVzSW5mby5pZGwgXAogICAgICQoV2ViQ29yZSkvY3J5cHRvL1N1YnRs
ZUNyeXB0by5pZGwgXAogICAgICQoV2ViQ29yZSkvY3J5cHRvL1dlYktpdFN1YnRsZUNyeXB0by5p
ZGwgXAotICAgICQoV2ViQ29yZSkvY3J5cHRvL3BhcmFtZXRlcnMvQWVzQ2JjUGFyYW1zLmlkbCBc
CisgICAgJChXZWJDb3JlKS9jcnlwdG8vcGFyYW1ldGVycy9BZXNDYmNDZmJQYXJhbXMuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2NyeXB0by9wYXJhbWV0ZXJzL0Flc0tleUdlblBhcmFtcy5pZGwgXAog
ICAgICQoV2ViQ29yZSkvY3J5cHRvL3BhcmFtZXRlcnMvSG1hY0tleVBhcmFtcy5pZGwgXAogICAg
ICQoV2ViQ29yZSkvY3J5cHRvL3BhcmFtZXRlcnMvUnNhSGFzaGVkSW1wb3J0UGFyYW1zLmlkbCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9X
ZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IGE3Y2VlYjhkYmM3MzZlZmMwZmQ4OTllNmRm
MjI2YmRmMWZiZDRjMmYuLjdlNzNkNDE3MWJkOGIyYThjOTg2NmRiZGU2Y2ExM2MyNGI2MDAwYjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0zODMsNiArMzgzLDcgQEAgaWYgKEVOQUJM
RV9TVUJUTEVfQ1JZUFRPKQogICAgICAgICBjcnlwdG8vV2ViS2l0U3VidGxlQ3J5cHRvLmNwcAog
CiAgICAgICAgIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuY3BwCisg
ICAgICAgIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DRkIuY3BwCiAgICAg
ICAgIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5jcHAKICAgICAgICAg
Y3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtSE1BQy5jcHAKICAgICAgICAgY3J5cHRv
L2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNS5jcHAKQEAgLTM5Nyw2
ICszOTgsNyBAQCBpZiAoRU5BQkxFX1NVQlRMRV9DUllQVE8pCiAgICAgICAgIGNyeXB0by9nY3J5
cHQvQ3J5cHRvQWxnb3JpdGhtSE1BQ0dDcnlwdC5jcHAKIAogICAgICAgICBjcnlwdG8vZ251dGxz
L0NyeXB0b0FsZ29yaXRobUFFU19DQkNHbnVUTFMuY3BwCisgICAgICAgIGNyeXB0by9nbnV0bHMv
Q3J5cHRvQWxnb3JpdGhtQUVTX0NGQkdudVRMUy5jcHAKICAgICAgICAgY3J5cHRvL2dudXRscy9D
cnlwdG9BbGdvcml0aG1BRVNfS1dHbnVUTFMuY3BwCiAgICAgICAgIGNyeXB0by9nbnV0bHMvQ3J5
cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNUdudVRMUy5jcHAKICAgICAgICAgY3J5cHRvL2du
dXRscy9DcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNUdudVRMUy5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxh
dGZvcm1NYWMuY21ha2UKaW5kZXggNDNjNDMyNDcxZTY5ZDU3YzEwOTc5ZjM3MjBhZWViNTZmMWUy
ZTMxMC4uODYwOGI5MjRhYjlhZGFhOTFjMjJjOTE1MDg3ZGZlNTU5NDZlOWRiYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1NYWMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUv
UGxhdGZvcm1NYWMuY21ha2UKQEAgLTE3OSw2ICsxNzksNyBAQCBsaXN0KEFQUEVORCBXZWJDb3Jl
X1NPVVJDRVMKICAgICBjcnlwdG8vV2ViS2l0U3VidGxlQ3J5cHRvLmNwcAogCiAgICAgY3J5cHRv
L2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5jcHAKKyAgICBjcnlwdG8vYWxnb3Jp
dGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfQ0ZCLmNwcAogICAgIGNyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobUFFU19LVy5jcHAKICAgICBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdv
cml0aG1ITUFDLmNwcAogICAgIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQUVT
X1BLQ1MxX3YxXzUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggMmI1ZDg0ZDdmYmRjMWZmZGJlZmUwZWVlYzllZjdkOTYxODYw
YjA0Yy4uZGZmNjRiZGQ5MDIyMTdhNGQwNTcwNWQ1NzkwYjY0N2EyZjBiYzgxZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjMy
Miw2ICsyMzIyLDEwIEBACiAJCTU1OTdGODI3MUQ5MUMzMTMwMDY2QkMyMSAvKiBJbWFnZUZyYW1l
Q2FjaGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU1
OTdGODI1MUQ5MUMzMTMwMDY2QkMyMSAvKiBJbWFnZUZyYW1lQ2FjaGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1NUEzMzZGNzFEODIwOUY0MDAy
MkM0QzcgLyogTmF0aXZlSW1hZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDU1QTMzNkY2MUQ4MjA5RjQwMDIyQzRDNyAvKiBOYXRpdmVJbWFnZS5oICov
OyB9OwogCQk1NUEzMzZGOTFEODIxRTNDMDAyMkM0QzcgLyogSW1hZ2VCYWNraW5nU3RvcmUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU1QTMzNkY4MUQ4
MjFFM0MwMDIyQzRDNyAvKiBJbWFnZUJhY2tpbmdTdG9yZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTU3MDQ0MDUzMUU1Mjc4QjIwMDM1NjYwMSAv
KiBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDU3MTI1MjZBMUU1MjUyN0MwMDhGRjM2OSAvKiBDcnlwdG9BbGdv
cml0aG1BRVNfQ0ZCLmNwcCAqLzsgfTsKKwkJNTcwNDQwNTgxRTUzODUxNjAwMzU2NjAxIC8qIENy
eXB0b0FsZ29yaXRobUFFU19DRkJNYWMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTcwNDQwNTcxRTUzODUxNjAwMzU2NjAxIC8qIENyeXB0b0FsZ29y
aXRobUFFU19DRkJNYWMuY3BwICovOyB9OworCQk1NzA0NDA1QTFFNTM5MzYyMDAzNTY2MDEgLyog
SlNBZXNDYmNDZmJQYXJhbXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU3MDQ0MDU5MUU1MzkzNjIwMDM1NjYwMSAvKiBKU0Flc0NiY0NmYlBhcmFtcy5o
ICovOyB9OworCQk1NzA0NDA1QzFFNTM5Mzc5MDAzNTY2MDEgLyogSlNBZXNDYmNDZmJQYXJhbXMu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcwNDQw
NUIxRTUzOTM3OTAwMzU2NjAxIC8qIEpTQWVzQ2JjQ2ZiUGFyYW1zLmNwcCAqLzsgfTsKIAkJNTcw
NkE2OTYxRERFNUM5NTAwQTAzQjE0IC8qIENyeXB0b0FsZ29yaXRobVJzYU9hZXBQYXJhbXMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MDZBNjk1MURE
RTVDOTUwMEEwM0IxNCAvKiBDcnlwdG9BbGdvcml0aG1Sc2FPYWVwUGFyYW1zLmggKi87IH07CiAJ
CTU3MDZBNjk4MURERTVFNDYwMEEwM0IxNCAvKiBKU1JzYU9hZXBQYXJhbXMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MDZBNjk3MURERTVFNDYwMEEw
M0IxNCAvKiBKU1JzYU9hZXBQYXJhbXMuaCAqLzsgfTsKIAkJNTcwNkE2OUExRERFNUU4NTAwQTAz
QjE0IC8qIEpTUnNhT2FlcFBhcmFtcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1NzA2QTY5OTFEREU1RTg1MDBBMDNCMTQgLyogSlNSc2FPYWVwUGFy
YW1zLmNwcCAqLzsgfTsKQEAgLTIzMzAsMTEgKzIzMzQsMTAgQEAKIAkJNTcwOUU4Q0YxRDQxM0Q5
QTAwMzI0NEFDIC8qIFdlYktpdFN1YnRsZUNyeXB0by5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcwOUU4Q0IxRDQxM0NFMzAwMzI0NEFDIC8qIFdlYktp
dFN1YnRsZUNyeXB0by5oICovOyB9OwogCQk1NzBBOTlEQTFENDE3NDA4MDA0RUM2MzAgLyogSlNX
ZWJLaXRTdWJ0bGVDcnlwdG8uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTFGRjhGNjIxODA3NDVEODAwMTMyNjc0IC8qIEpTV2ViS2l0U3VidGxlQ3J5
cHRvLmNwcCAqLzsgfTsKIAkJNTcwQTk5REIxRDQxQTJGMzAwNEVDNjMwIC8qIEpTV2ViS2l0U3Vi
dGxlQ3J5cHRvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFMUZGOEY2MzE4MDc0NUQ4MDAxMzI2NzQgLyogSlNXZWJLaXRTdWJ0bGVDcnlwdG8uaCAqLzsg
fTsKKwkJNTcxMjUyNjkxRTUyNEVCMTAwOEZGMzY5IC8qIENyeXB0b0FsZ29yaXRobUFFU19DRkIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MTI1MjY4
MUU1MjRFQjEwMDhGRjM2OSAvKiBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCLmggKi87IH07CiAJCTU3
MUYyMTg5MURBNTdDNTQwMDVDOUVGRCAvKiBKU1N1YnRsZUNyeXB0by5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcxRjIxODgxREE1N0M1NDAwNUM5RUZE
IC8qIEpTU3VidGxlQ3J5cHRvLmggKi87IH07CiAJCTU3MUYyMThCMURBNTdDN0IwMDVDOUVGRCAv
KiBKU1N1YnRsZUNyeXB0by5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1NzFGMjE4QTFEQTU3QzdBMDA1QzlFRkQgLyogSlNTdWJ0bGVDcnlwdG8uY3Bw
ICovOyB9OwotCQk1NzIwOTNEMzFERENFQjlBMDAzMTBBQjAgLyogQ3J5cHRvQWxnb3JpdGhtQWVz
Q2JjUGFyYW1zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1NzIwOTNEMjFERENFQjlBMDAzMTBBQjAgLyogQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjUGFyYW1z
LmggKi87IH07Ci0JCTU3MjA5M0Q1MUREQ0VEOEUwMDMxMEFCMCAvKiBKU0Flc0NiY1BhcmFtcy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcyMDkzRDQx
RERDRUQ4RTAwMzEwQUIwIC8qIEpTQWVzQ2JjUGFyYW1zLmggKi87IH07Ci0JCTU3MjA5M0Q3MURE
Q0VEQTcwMDMxMEFCMCAvKiBKU0Flc0NiY1BhcmFtcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzIwOTNENjFERENFREE3MDAzMTBBQjAgLyogSlNB
ZXNDYmNQYXJhbXMuY3BwICovOyB9OworCQk1NzIwOTNEMzFERENFQjlBMDAzMTBBQjAgLyogQ3J5
cHRvQWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1NzIwOTNEMjFERENFQjlBMDAzMTBBQjAgLyogQ3J5cHRvQWxn
b3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zLmggKi87IH07CiAJCTU3MkE3RjIxMUM2RTU3MTkwMDlDNjE0
OSAvKiBTaW11bGF0ZWRDbGljay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTcyQTdGMjAxQzZFNTcxOTAwOUM2MTQ5IC8qIFNpbXVsYXRlZENsaWNrLmgg
Ki87IH07CiAJCTU3MkE3RjIzMUM2RTVBNjYwMDlDNjE0OSAvKiBTaW11bGF0ZWRDbGljay5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzJBN0YyMjFD
NkU1QTY2MDA5QzYxNDkgLyogU2ltdWxhdGVkQ2xpY2suY3BwICovOyB9OwogCQk1NzM0ODkzOTFE
QUM2QjZFMDBEQzA2NjcgLyogQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTczNDg5MzgxREFDNkI2RDAwREMw
NjY3IC8qIENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMuaCAqLzsgfTsKQEAgLTk2NzMsNiArOTY3
Niw5IEBACiAJCTU1QTMzNkY2MUQ4MjA5RjQwMDIyQzRDNyAvKiBOYXRpdmVJbWFnZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXRpdmVJbWFnZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk1NUEzMzZGODFEODIxRTNDMDAyMkM0QzcgLyogSW1hZ2VCYWNraW5n
U3RvcmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW1hZ2VCYWNraW5nU3Rv
cmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTVENDA4RjcxQTdDNjMxODAwQzc4
NDUwIC8qIFNWR0ltYWdlQ2xpZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTVkdJbWFnZUNsaWVudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTcwNDQw
NTcxRTUzODUxNjAwMzU2NjAxIC8qIENyeXB0b0FsZ29yaXRobUFFU19DRkJNYWMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQk1h
Yy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MDQ0MDU5MUU1MzkzNjIwMDM1
NjYwMSAvKiBKU0Flc0NiY0NmYlBhcmFtcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0Flc0NiY0NmYlBhcmFtcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1
NzA0NDA1QjFFNTM5Mzc5MDAzNTY2MDEgLyogSlNBZXNDYmNDZmJQYXJhbXMuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBZXNDYmNDZmJQYXJhbXMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzA2QTY5NDFEREU1QkY4MDBBMDNCMTQgLyogUnNh
T2FlcFBhcmFtcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gUnNhT2FlcFBhcmFtcy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTU3MDZBNjk1MURERTVDOTUwMEEwM0IxNCAvKiBDcnlwdG9BbGdvcml0aG1S
c2FPYWVwUGFyYW1zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENyeXB0b0Fs
Z29yaXRobVJzYU9hZXBQYXJhbXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTcw
NkE2OTcxRERFNUU0NjAwQTAzQjE0IC8qIEpTUnNhT2FlcFBhcmFtcy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU1JzYU9hZXBQYXJhbXMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTk2ODAsMTIgKzk2ODYsMTIgQEAKIAkJNTcwOUU4Q0ExRDQxM0NFMzAwMzI0
NEFDIC8qIFdlYktpdFN1YnRsZUNyeXB0by5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXZWJLaXRTdWJ0bGVDcnlwdG8uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1NzA5RThDQjFENDEzQ0UzMDAzMjQ0QUMgLyogV2ViS2l0U3VidGxlQ3J5cHRvLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdFN1YnRsZUNyeXB0by5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzA5RThDQzFENDEzQ0UzMDAzMjQ0QUMgLyog
V2ViS2l0U3VidGxlQ3J5cHRvLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJLaXRTdWJ0
bGVDcnlwdG8uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzEyNTI2ODFFNTI0
RUIxMDA4RkYzNjkgLyogQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTU3MTI1MjZBMUU1MjUyN0MwMDhGRjM2OSAvKiBDcnlwdG9BbGdvcml0
aG1BRVNfQ0ZCLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENyeXB0
b0FsZ29yaXRobUFFU19DRkIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzFG
MjE4ODFEQTU3QzU0MDA1QzlFRkQgLyogSlNTdWJ0bGVDcnlwdG8uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNTdWJ0bGVDcnlwdG8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTcxRjIxOEExREE1N0M3QTAwNUM5RUZEIC8qIEpTU3VidGxlQ3J5cHRvLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU3VidGxlQ3J5cHRvLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTcyMDkzRDExRERDRUE0QjAwMzEwQUIwIC8q
IEFlc0NiY1BhcmFtcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQWVzQ2JjUGFyYW1zLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJNTcyMDkzRDIxRERDRUI5QTAwMzEwQUIwIC8qIENyeXB0b0FsZ29yaXRo
bUFlc0NiY1BhcmFtcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcnlwdG9B
bGdvcml0aG1BZXNDYmNQYXJhbXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTcy
MDkzRDQxRERDRUQ4RTAwMzEwQUIwIC8qIEpTQWVzQ2JjUGFyYW1zLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTQWVzQ2JjUGFyYW1zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTU3MjA5M0Q2MUREQ0VEQTcwMDMxMEFCMCAvKiBKU0Flc0NiY1BhcmFtcy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Flc0NiY1BhcmFtcy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MjA5M0QxMUREQ0VBNEIwMDMxMEFCMCAv
KiBBZXNDYmNDZmJQYXJhbXMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFlc0NiY0NmYlBhcmFtcy5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MjA5M0QyMUREQ0VCOUEwMDMxMEFCMCAvKiBDcnlwdG9B
bGdvcml0aG1BZXNDYmNDZmJQYXJhbXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTU3MkE3RjIwMUM2RTU3MTkwMDlDNjE0OSAvKiBTaW11bGF0ZWRDbGljay5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTaW11bGF0ZWRDbGljay5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1NzJBN0YyMjFDNkU1QTY2MDA5QzYxNDkgLyogU2ltdWxh
dGVkQ2xpY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2ltdWxh
dGVkQ2xpY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzM0ODkzODFEQUM2
QjZEMDBEQzA2NjcgLyogQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzM1OCw2ICsyMzM2NCw3IEBACiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCUUxMjVGODQzMTgyNDI1QzkwMEQ4NENEOSAvKiBD
cnlwdG9BbGdvcml0aG1BRVNfQ0JDTWFjLmNwcCAqLywKKwkJCQk1NzA0NDA1NzFFNTM4NTE2MDAz
NTY2MDEgLyogQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQk1hYy5jcHAgKi8sCiAJCQkJRTFGRTEzN0Mx
ODREMjcwMjAwODkyRjEzIC8qIENyeXB0b0FsZ29yaXRobUFFU19LV01hYy5jcHAgKi8sCiAJCQkJ
RTEyNUY4MzcxODIyRjFFQjAwRDg0Q0Q5IC8qIENyeXB0b0FsZ29yaXRobUhNQUNNYWMuY3BwICov
LAogCQkJCUUxQkI4NEFDMTgyMkNBNzQwMDUyNTA0MyAvKiBDcnlwdG9BbGdvcml0aG1SZWdpc3Ry
eU1hYy5jcHAgKi8sCkBAIC0yMzM3Niw2ICsyMzM4Myw4IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJ
CQlFMTI1RjgzRjE4MjQyNTNBMDBEODRDRDkgLyogQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5jcHAg
Ki8sCiAJCQkJRTEyNUY4NDAxODI0MjUzQTAwRDg0Q0Q5IC8qIENyeXB0b0FsZ29yaXRobUFFU19D
QkMuaCAqLywKKwkJCQk1NzEyNTI2QTFFNTI1MjdDMDA4RkYzNjkgLyogQ3J5cHRvQWxnb3JpdGht
QUVTX0NGQi5jcHAgKi8sCisJCQkJNTcxMjUyNjgxRTUyNEVCMTAwOEZGMzY5IC8qIENyeXB0b0Fs
Z29yaXRobUFFU19DRkIuaCAqLywKIAkJCQlFMUZFMTM3ODE4NEQyMUJCMDA4OTJGMTMgLyogQ3J5
cHRvQWxnb3JpdGhtQUVTX0tXLmNwcCAqLywKIAkJCQlFMUZFMTM3OTE4NEQyMUJCMDA4OTJGMTMg
LyogQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmggKi8sCiAJCQkJRTEyNUY4MkYxODIyRjExQjAwRDg0
Q0Q5IC8qIENyeXB0b0FsZ29yaXRobUhNQUMuY3BwICovLApAQCAtMjM0MjIsOSArMjM0MzEsOSBA
QAogCQlFMUM2NTcxNDE4MTYwMTVGMDAyNTZDREQgLyogcGFyYW1ldGVycyAqLyA9IHsKIAkJCWlz
YSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJNTcyMDkzRDExRERDRUE0QjAwMzEw
QUIwIC8qIEFlc0NiY1BhcmFtcy5pZGwgKi8sCisJCQkJNTcyMDkzRDExRERDRUE0QjAwMzEwQUIw
IC8qIEFlc0NiY0NmYlBhcmFtcy5pZGwgKi8sCiAJCQkJNTc3NDgzMTAxREFEQzQ5OTAwNzE2RUY5
IC8qIEFlc0tleUdlblBhcmFtcy5pZGwgKi8sCi0JCQkJNTcyMDkzRDIxRERDRUI5QTAwMzEwQUIw
IC8qIENyeXB0b0FsZ29yaXRobUFlc0NiY1BhcmFtcy5oICovLAorCQkJCTU3MjA5M0QyMUREQ0VC
OUEwMDMxMEFCMCAvKiBDcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXMuaCAqLywKIAkJCQlF
MTI1RjgzOTE4MjQxMDQ4MDBEODRDRDkgLyogQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjUGFyYW1zRGVw
cmVjYXRlZC5oICovLAogCQkJCTU3NzQ4MzExMURBREM1NUQwMDcxNkVGOSAvKiBDcnlwdG9BbGdv
cml0aG1BZXNLZXlHZW5QYXJhbXMuaCAqLywKIAkJCQlFMTlBQzNGNjE4MjRFNUQxMDAzNDk0MjYg
LyogQ3J5cHRvQWxnb3JpdGhtQWVzS2V5R2VuUGFyYW1zRGVwcmVjYXRlZC5oICovLApAQCAtMjM1
OTksOCArMjM2MDgsOCBAQAogCQlFMUZGOEY2MTE4MDc0NUM2MDAxMzI2NzQgLyogQ3J5cHRvICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQk1NzIwOTNENjFE
RENFREE3MDAzMTBBQjAgLyogSlNBZXNDYmNQYXJhbXMuY3BwICovLAotCQkJCTU3MjA5M0Q0MURE
Q0VEOEUwMDMxMEFCMCAvKiBKU0Flc0NiY1BhcmFtcy5oICovLAorCQkJCTU3MDQ0MDVCMUU1Mzkz
NzkwMDM1NjYwMSAvKiBKU0Flc0NiY0NmYlBhcmFtcy5jcHAgKi8sCisJCQkJNTcwNDQwNTkxRTUz
OTM2MjAwMzU2NjAxIC8qIEpTQWVzQ2JjQ2ZiUGFyYW1zLmggKi8sCiAJCQkJNTc3NDgzMTUxREFF
QzMyMjAwNzE2RUY5IC8qIEpTQWVzS2V5R2VuUGFyYW1zLmNwcCAqLywKIAkJCQk1Nzc0ODMxMzFE
QUVDMkVBMDA3MTZFRjkgLyogSlNBZXNLZXlHZW5QYXJhbXMuaCAqLywKIAkJCQk1NzM5RTEzMDFE
QUM3RkQxMDBFMTQzODMgLyogSlNDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmNwcCAqLywKQEAg
LTI1NDA0LDYgKzI1NDEzLDcgQEAKIAkJCQk3Qzc3QzNEMTFERUU0NzI0MDBBNTBCRkEgLyogQmxv
YlByb3BlcnR5QmFnLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRURFRjFGNTEyMUIwRUZDMDA3MjZE
QjIgLyogQmxvYlJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRURFRjFGNzEyMUIwRUZD
MDA3MjZEQjIgLyogQmxvYlJlZ2lzdHJ5SW1wbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTcwNDQw
NUExRTUzOTM2MjAwMzU2NjAxIC8qIEpTQWVzQ2JjQ2ZiUGFyYW1zLmggaW4gSGVhZGVycyAqLywK
IAkJCQkyRUI0QkNEMzEyMUYwM0UzMDBFQzQ4ODUgLyogQmxvYlJlc291cmNlSGFuZGxlLmggaW4g
SGVhZGVycyAqLywKIAkJCQk5NzZENkM3RjEyMkI4QTNEMDAxRkQxRjcgLyogQmxvYlVSTC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkM1RUI1RTEwRTgxQkU4NzAwQjI1OTY1IC8qIEJvcmRlckRhdGEu
aCBpbiBIZWFkZXJzICovLApAQCAtMjU1OTUsNyArMjU2MDUsNyBAQAogCQkJCUUxNzJBRjZFMTgw
RjI0QzYwMEZCQURCOSAvKiBDcnlwdG9BbGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAogCQkJCUUx
MjVGODQyMTgyNDI1M0EwMEQ4NENEOSAvKiBDcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFMUZFMTM3QjE4NEQyMUJCMDA4OTJGMTMgLyogQ3J5cHRvQWxnb3JpdGht
QUVTX0tXLmggaW4gSGVhZGVycyAqLywKLQkJCQk1NzIwOTNEMzFERENFQjlBMDAzMTBBQjAgLyog
Q3J5cHRvQWxnb3JpdGhtQWVzQ2JjUGFyYW1zLmggaW4gSGVhZGVycyAqLywKKwkJCQk1NzIwOTNE
MzFERENFQjlBMDAzMTBBQjAgLyogQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zLmggaW4g
SGVhZGVycyAqLywKIAkJCQlFMTI1RjgzQTE4MjQxMDQ4MDBEODRDRDkgLyogQ3J5cHRvQWxnb3Jp
dGhtQWVzQ2JjUGFyYW1zRGVwcmVjYXRlZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTc3NDgzMTIx
REFEQzU1RDAwNzE2RUY5IC8qIENyeXB0b0FsZ29yaXRobUFlc0tleUdlblBhcmFtcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRTE5QUMzRjcxODI0RTVEMTAwMzQ5NDI2IC8qIENyeXB0b0FsZ29yaXRo
bUFlc0tleUdlblBhcmFtc0RlcHJlY2F0ZWQuaCBpbiBIZWFkZXJzICovLApAQCAtMjY0NDUsNyAr
MjY0NTUsNiBAQAogCQkJCTQ0RUZGNjQzMUE2RkY5MjcwMEQ0NUVFQyAvKiBJT1R5cGVzU1BJLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwN0FDNDcwMjE5NTIxMDIxMDBFRTk3MjMgLyogSVNPVlRUQ3Vl
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MThGODgwNTBGRjk1N0FGMDA4MEYwNDUgLyogSlNBYnN0
cmFjdFdvcmtlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTcyMDkzRDUxRERDRUQ4RTAwMzEwQUIw
IC8qIEpTQWVzQ2JjUGFyYW1zLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Nzc0ODMxNDFEQUVDMkVC
MDA3MTZFRjkgLyogSlNBZXNLZXlHZW5QYXJhbXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEQTE1
RUNBMTJCMDNGNTAwMDNBNTgzQSAvKiBKU0FuYWx5c2VyTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMTJBMjUzRTMxQzhGRkY2NjAwQzIyMjk1IC8qIEpTQW5pbWF0YWJsZS5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yNzgyMiw2ICsyNzgzMSw3IEBACiAJCQkJMDgzREFFQTkwRjAxQTdGQjAwMzQyNzU0
IC8qIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNF
QTQ4OEUwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlclRleHRGcmFnbWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRTRDOTFBMTYxODA5OTlGMTAwQTE3RjZEIC8qIFJlbmRlclRleHRMaW5lQm94ZXMu
aCBpbiBIZWFkZXJzICovLAorCQkJCTU3MTI1MjY5MUU1MjRFQjEwMDhGRjM2OSAvKiBDcnlwdG9B
bGdvcml0aG1BRVNfQ0ZCLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VBNDg4QTA5N0Q5MzAyMDA5
NEM5RTQgLyogUmVuZGVyVGhlbWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMjk5RkU4MUQ3RjVG
QTYwMEE2MDA5MyAvKiBSZW5kZXJUaGVtZUNvY29hLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRUQx
M0Q1MjBDRUE5NDk3MDBEODk0NjYgLyogUmVuZGVyVGhlbWVJT1MuaCBpbiBIZWFkZXJzICovLApA
QCAtMjkyMDMsNiArMjkyMTMsNyBAQAogCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CiAJ
CQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJNTcwNDQw
NTMxRTUyNzhCMjAwMzU2NjAxIC8qIENyeXB0b0FsZ29yaXRobUFFU19DRkIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNDFFMUIxRDAwRkY1OTg2OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2VyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTM3RjU3QUI5MUE1MDcyNjkwMDg3NkY5OCAvKiBBY2Nlc3Np
YmlsaXR5QVJJQUdyaWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzdGNTdBQkExQTUwNzI2RjAw
ODc2Rjk4IC8qIEFjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwuY3BwIGluIFNvdXJjZXMgKi8sCkBA
IC0yOTkxNyw2ICsyOTkyOCw3IEBACiAJCQkJRDAwMEVCQTIxMUJEQUZENDAwQzQ3NzI2IC8qIEZy
YW1lTG9hZGVyU3RhdGVNYWNoaW5lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg2QkE3NjZFMTY2
NDI3QTgwMDVCRTVEMSAvKiBGcmFtZUxvYWRSZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTkzMzA5RTBEMDk5RTY0OTIwMDU2RTU4MSAvKiBGcmFtZVNlbGVjdGlvbi5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk1NzA0NDA1ODFFNTM4NTE2MDAzNTY2MDEgLyogQ3J5cHRvQWxnb3JpdGhtQUVT
X0NGQk1hYy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0QThDOTZFQjBCRTY5MDMyMDA0RUVGRjAg
LyogRnJhbWVTZWxlY3Rpb25NYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlDNENENjI5QTE4Mzgz
NzY2MDA3RUJBRjEgLyogRnJhbWVTbmFwc2hvdHRpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NjVBMjE0ODQwOTdBM0Y1MzAwQjkwNTBBIC8qIEZyYW1lVHJlZS5jcHAgaW4gU291cmNlcyAqLywK
QEAgLTMwMjM5LDcgKzMwMjUxLDYgQEAKIAkJCQlBRDlGRjZFMTE5MDgzOTFEMDAzQjYxRTAgLyog
SU9TdXJmYWNlUG9vbENvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdBQzQ3MDExOTUyMTAy
MTAwRUU5NzIzIC8qIElTT1ZUVEN1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MThGODgwNDBG
Rjk1N0FFMDA4MEYwNDUgLyogSlNBYnN0cmFjdFdvcmtlci5jcHAgaW4gU291cmNlcyAqLywKLQkJ
CQk1NzIwOTNENzFERENFREE3MDAzMTBBQjAgLyogSlNBZXNDYmNQYXJhbXMuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTc3NDgzMTYxREFFQzMyMzAwNzE2RUY5IC8qIEpTQWVzS2V5R2VuUGFyYW1z
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEQTE1RUM5MTJCMDNGNTAwMDNBNTgzQSAvKiBKU0Fu
YWx5c2VyTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMUE3OTVDNjE4ODhCQURDMDAzODJG
OTAgLyogSlNBTkdMRUluc3RhbmNlZEFycmF5cy5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMxMzEx
LDYgKzMxMzIyLDcgQEAKIAkJCQkxQThBNjQ2QzFEMTlGRjg3MDBEMEUwMEYgLyogUGF5bWVudENv
Y29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE4QTY0NkQxRDE5RkY4NzAwRDBFMDBGIC8qIFBh
eW1lbnRDb250YWN0Q29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQTU4RTg2RDFEMTlFNDJE
MDBDMEVBNzMgLyogUGF5bWVudENvb3JkaW5hdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTU3
MDQ0MDVDMUU1MzkzNzkwMDM1NjYwMSAvKiBKU0Flc0NiY0NmYlBhcmFtcy5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkxQURBNEExQzFEMjJGMkMwMDA1QTlBMTUgLyogUGF5bWVudE1lcmNoYW50U2Vz
c2lvbkNvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE4QTY0NkUxRDE5RkY4NzAwRDBFMDBG
IC8qIFBheW1lbnRNZXRob2RDb2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBNThFODY3MUQx
OUQ4MEUwMEMwRUE3MyAvKiBQYXltZW50UmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcApp
bmRleCA4NmI5NWQ3MWE2MjI1ZmQzZDg1ZjllMWZjNGE4NmVhYjY3YTEyZjE1Li4wNWY2ZmU2N2Qw
NzYxYzNkMWMwY2NmY2JmZTcyNzI5Yzk0YzExMWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwCkBAIC0zMCw3ICszMCw3IEBA
CiAKICNpbmNsdWRlICJDcnlwdG9BbGdvcml0aG0uaCIKICNpbmNsdWRlICJDcnlwdG9BbGdvcml0
aG1SZWdpc3RyeS5oIgotI2luY2x1ZGUgIkpTQWVzQ2JjUGFyYW1zLmgiCisjaW5jbHVkZSAiSlNB
ZXNDYmNDZmJQYXJhbXMuaCIKICNpbmNsdWRlICJKU0Flc0tleUdlblBhcmFtcy5oIgogI2luY2x1
ZGUgIkpTQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIkpTQ3J5cHRvS2V5
LmgiCkBAIC0xMTMsMTAgKzExMywxMSBAQCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0Fs
Z29yaXRobVBhcmFtZXRlcnM+IG5vcm1hbGl6ZUNyeXB0b0FsZ29yaXRobVBhcmFtZQogICAgICAg
ICAgICAgICAgIHJlc3VsdCA9IHN0ZDo6bWFrZV91bmlxdWU8Q3J5cHRvQWxnb3JpdGhtUnNhT2Fl
cFBhcmFtcz4ocGFyYW1zKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6QUVTX0NCQzogewot
ICAgICAgICAgICAgICAgIGF1dG8gcGFyYW1zID0gY29udmVydERpY3Rpb25hcnk8Q3J5cHRvQWxn
b3JpdGhtQWVzQ2JjUGFyYW1zPihzdGF0ZSwgdmFsdWUpOworICAgICAgICAgICAgY2FzZSBDcnlw
dG9BbGdvcml0aG1JZGVudGlmaWVyOjpBRVNfQ0JDOgorICAgICAgICAgICAgY2FzZSBDcnlwdG9B
bGdvcml0aG1JZGVudGlmaWVyOjpBRVNfQ0ZCOiB7CisgICAgICAgICAgICAgICAgYXV0byBwYXJh
bXMgPSBjb252ZXJ0RGljdGlvbmFyeTxDcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXM+KHN0
YXRlLCB2YWx1ZSk7CiAgICAgICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
bnVsbHB0cik7Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gc3RkOjptYWtlX3VuaXF1ZTxDcnlw
dG9BbGdvcml0aG1BZXNDYmNQYXJhbXM+KHBhcmFtcyk7CisgICAgICAgICAgICAgICAgcmVzdWx0
ID0gc3RkOjptYWtlX3VuaXF1ZTxDcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXM+KHBhcmFt
cyk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBk
ZWZhdWx0OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRo
bS5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRobS5oCmluZGV4IGE4ZDIz
MjcyZTdlZThmMGFhZTA4NTNiY2U4ZWVlYjhjZDY2NWVkNDcuLjgxOWYzNzcxNGVmYzJiODdiNTFm
NzgxY2QwYmIzZmNlNjYxZTA2ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9D
cnlwdG9BbGdvcml0aG0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3Jp
dGhtLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJKc29uV2ViS2V5LmgiCiAjaW5jbHVk
ZSAiU3VidGxlQ3J5cHRvLmgiCiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CisjaW5jbHVkZSA8
d3RmL1ZhcmlhbnQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL1dv
cmtRdWV1ZS5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxn
b3JpdGhtUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRo
bVBhcmFtZXRlcnMuaAppbmRleCBiOTQxNTIxMDQ2MmIzZTg2ZmViOGE0N2I1NmUzM2UwMzkwZDM4
NjE0Li42NzIyNGZlZjEwODE4NjJiODM3MGVkNmJiMTI1NTlkNzBhZDk1ZTNhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmgKQEAgLTM3
LDcgKzM3LDcgQEAgY2xhc3MgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyB7CiBwdWJsaWM6CiAg
ICAgZW51bSBjbGFzcyBDbGFzcyB7CiAgICAgICAgIE5vbmUsCi0gICAgICAgIEFlc0NiY1BhcmFt
cywKKyAgICAgICAgQWVzQ2JjQ2ZiUGFyYW1zLAogICAgICAgICBBZXNLZXlHZW5QYXJhbXMsCiAg
ICAgICAgIEhtYWNLZXlQYXJhbXMsCiAgICAgICAgIFJzYUhhc2hlZEtleUdlblBhcmFtcywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRo
bUFFU19DQkMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxn
b3JpdGhtQUVTX0NCQy5jcHAKaW5kZXggNTEzOTcwNDQ4ZTc0NDlhM2EwZDQyOWM4NTVlZWY1YWM2
YzY1MTJlNC4uNGZiOGM5MTI3NDBmMmZkZWY5YjcxMGY4OWZkY2I3MGEwNmE5MWU4OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVT
X0NCQy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxn
b3JpdGhtQUVTX0NCQy5jcHAKQEAgLTI4LDcgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShTVUJUTEVf
Q1JZUFRPKQogCi0jaW5jbHVkZSAiQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjUGFyYW1zLmgiCisjaW5j
bHVkZSAiQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zLmgiCiAjaW5jbHVkZSAiQ3J5cHRv
QWxnb3JpdGhtQWVzQ2JjUGFyYW1zRGVwcmVjYXRlZC5oIgogI2luY2x1ZGUgIkNyeXB0b0FsZ29y
aXRobUFlc0tleUdlblBhcmFtcy5oIgogI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFlc0tleUdl
blBhcmFtc0RlcHJlY2F0ZWQuaCIKQEAgLTY5LDcgKzY5LDcgQEAgYm9vbCBDcnlwdG9BbGdvcml0
aG1BRVNfQ0JDOjprZXlBbGdvcml0aG1NYXRjaGVzKGNvbnN0IENyeXB0b0FsZ29yaXRobUFlc0Ni
Y1BhcmEKIHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6ZW5jcnlwdChzdGQ6OnVuaXF1ZV9w
dHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzLCBSZWY8Q3J5cHRvS2V5
PiYmIGtleSwgVmVjdG9yPHVpbnQ4X3Q+JiYgcGxhaW5UZXh0LCBWZWN0b3JDYWxsYmFjayYmIGNh
bGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrLCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBjb250ZXh0LCBXb3JrUXVldWUmIHdvcmtRdWV1ZSkKIHsKICAgICBBU1NF
UlQocGFyYW1ldGVycyk7Ci0gICAgYXV0byYgYWVzUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0
b0FsZ29yaXRobUFlc0NiY1BhcmFtcz4oKnBhcmFtZXRlcnMpOworICAgIGF1dG8mIGFlc1BhcmFt
ZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXM+KCpwYXJhbWV0
ZXJzKTsKICAgICBpZiAoYWVzUGFyYW1ldGVycy5pdlZlY3RvcigpLnNpemUoKSAhPSBJVlNJWkUp
IHsKICAgICAgICAgZXhjZXB0aW9uQ2FsbGJhY2soT3BlcmF0aW9uRXJyb3IpOwogICAgICAgICBy
ZXR1cm47CkBAIC04MCw3ICs4MCw3IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6ZW5j
cnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mCiB2b2lkIENy
eXB0b0FsZ29yaXRobUFFU19DQkM6OmRlY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29y
aXRobVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycywgUmVmPENyeXB0b0tleT4mJiBrZXksIFZlY3Rv
cjx1aW50OF90PiYmIGNpcGhlclRleHQsIFZlY3RvckNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2Vw
dGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQsIFdvcmtRdWV1ZSYgd29ya1F1ZXVlKQogewogICAgIEFTU0VSVChwYXJhbWV0ZXJz
KTsKLSAgICBhdXRvJiBhZXNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtQWVz
Q2JjUGFyYW1zPigqcGFyYW1ldGVycyk7CisgICAgYXV0byYgYWVzUGFyYW1ldGVycyA9IGRvd25j
YXN0PENyeXB0b0FsZ29yaXRobUFlc0NiY0NmYlBhcmFtcz4oKnBhcmFtZXRlcnMpOwogICAgIGlm
IChhZXNQYXJhbWV0ZXJzLml2VmVjdG9yKCkuc2l6ZSgpICE9IElWU0laRSkgewogICAgICAgICBl
eGNlcHRpb25DYWxsYmFjayhPcGVyYXRpb25FcnJvcik7CiAgICAgICAgIHJldHVybjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFF
U19DRkIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3Jp
dGhtQUVTX0NGQi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmU1ZDVkMTAyZjMzZmM4MjYyYTI1MjQyZGM0MDIy
YmM0NWI5N2UwNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdv
cml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DRkIuY3BwCkBAIC0wLDAgKzEsMTgwIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFF
U19DRkIuaCIKKworI2lmIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQorCisjaW5jbHVkZSAiQ3J5cHRv
QWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zLmgiCisjaW5jbHVkZSAiQ3J5cHRvQWxnb3JpdGhtQWVz
S2V5R2VuUGFyYW1zLmgiCisjaW5jbHVkZSAiQ3J5cHRvS2V5QUVTLmgiCisjaW5jbHVkZSAiRXhj
ZXB0aW9uQ29kZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBjb25zdCBjaGFy
KiBjb25zdCBBTEcxMjggPSAiQTEyOENGQjgiOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFM
RzE5MiA9ICJBMTkyQ0ZCOCI7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHMjU2ID0gIkEy
NTZDRkI4IjsKK3N0YXRpYyBjb25zdCBzaXplX3QgSVZTSVpFID0gMTY7CisKK3N0YXRpYyBpbmxp
bmUgYm9vbCB1c2FnZXNBcmVJbnZhbGlkRm9yQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQihDcnlwdG9L
ZXlVc2FnZUJpdG1hcCB1c2FnZXMpCit7CisgICAgcmV0dXJuIHVzYWdlcyAmIChDcnlwdG9LZXlV
c2FnZVNpZ24gfCBDcnlwdG9LZXlVc2FnZVZlcmlmeSB8IENyeXB0b0tleVVzYWdlRGVyaXZlS2V5
IHwgQ3J5cHRvS2V5VXNhZ2VEZXJpdmVCaXRzKTsKK30KKworUmVmPENyeXB0b0FsZ29yaXRobT4g
Q3J5cHRvQWxnb3JpdGhtQUVTX0NGQjo6Y3JlYXRlKCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCKTsKK30KKworQ3J5cHRvQWxnb3JpdGhtSWRlbnRp
ZmllciBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCOjppZGVudGlmaWVyKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gc19pZGVudGlmaWVyOworfQorCit2b2lkIENyeXB0b0FsZ29yaXRobUFFU19DRkI6OmVu
Y3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFyYW1l
dGVycywgUmVmPENyeXB0b0tleT4mJiBrZXksIFZlY3Rvcjx1aW50OF90PiYmIHBsYWluVGV4dCwg
VmVjdG9yQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25D
YWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgV29ya1F1ZXVlJiB3b3Jr
UXVldWUpCit7CisgICAgQVNTRVJUKHBhcmFtZXRlcnMpOworICAgIGF1dG8mIGFlc1BhcmFtZXRl
cnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXM+KCpwYXJhbWV0ZXJz
KTsKKyAgICBpZiAoYWVzUGFyYW1ldGVycy5pdlZlY3RvcigpLnNpemUoKSAhPSBJVlNJWkUpIHsK
KyAgICAgICAgZXhjZXB0aW9uQ2FsbGJhY2soT3BlcmF0aW9uRXJyb3IpOworICAgICAgICByZXR1
cm47CisgICAgfQorICAgIHBsYXRmb3JtRW5jcnlwdChXVEZNb3ZlKHBhcmFtZXRlcnMpLCBXVEZN
b3ZlKGtleSksIFdURk1vdmUocGxhaW5UZXh0KSwgV1RGTW92ZShjYWxsYmFjayksIFdURk1vdmUo
ZXhjZXB0aW9uQ2FsbGJhY2spLCBjb250ZXh0LCB3b3JrUXVldWUpOworfQorCit2b2lkIENyeXB0
b0FsZ29yaXRobUFFU19DRkI6OmRlY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRo
bVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycywgUmVmPENyeXB0b0tleT4mJiBrZXksIFZlY3Rvcjx1
aW50OF90PiYmIGNpcGhlclRleHQsIFZlY3RvckNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlv
bkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQsIFdvcmtRdWV1ZSYgd29ya1F1ZXVlKQoreworICAgIEFTU0VSVChwYXJhbWV0ZXJzKTsK
KyAgICBhdXRvJiBhZXNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtQWVzQ2Jj
Q2ZiUGFyYW1zPigqcGFyYW1ldGVycyk7CisgICAgaWYgKGFlc1BhcmFtZXRlcnMuaXZWZWN0b3Io
KS5zaXplKCkgIT0gSVZTSVpFKSB7CisgICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNrKE9wZXJhdGlv
bkVycm9yKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBwbGF0Zm9ybURlY3J5cHQoV1RG
TW92ZShwYXJhbWV0ZXJzKSwgV1RGTW92ZShrZXkpLCBXVEZNb3ZlKGNpcGhlclRleHQpLCBXVEZN
b3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShleGNlcHRpb25DYWxsYmFjayksIGNvbnRleHQsIHdvcmtR
dWV1ZSk7Cit9CisKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQjo6Z2VuZXJhdGVLZXkoY29u
c3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYgcGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJs
ZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzLCBLZXlPcktleVBhaXJDYWxsYmFjayYmIGNh
bGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrLCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0JikKK3sKKyAgICBjb25zdCBhdXRvJiBhZXNQYXJhbWV0ZXJzID0gZG93bmNh
c3Q8Q3J5cHRvQWxnb3JpdGhtQWVzS2V5R2VuUGFyYW1zPihwYXJhbWV0ZXJzKTsKKworICAgIGlm
ICh1c2FnZXNBcmVJbnZhbGlkRm9yQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQih1c2FnZXMpKSB7Cisg
ICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNrKFNZTlRBWF9FUlIpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgYXV0byByZXN1bHQgPSBDcnlwdG9LZXlBRVM6OmdlbmVyYXRlKENyeXB0b0Fs
Z29yaXRobUlkZW50aWZpZXI6OkFFU19DRkIsIGFlc1BhcmFtZXRlcnMubGVuZ3RoLCBleHRyYWN0
YWJsZSwgdXNhZ2VzKTsKKyAgICBpZiAoIXJlc3VsdCkgeworICAgICAgICBleGNlcHRpb25DYWxs
YmFjayhPcGVyYXRpb25FcnJvcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBjYWxs
YmFjayhXVEZNb3ZlKHJlc3VsdCkpOworfQorCit2b2lkIENyeXB0b0FsZ29yaXRobUFFU19DRkI6
OmltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQsIEtleURhdGEmJiBkYXRh
LCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiBwYXJh
bWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtl
eUNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJh
Y2spCit7CisgICAgQVNTRVJUKHBhcmFtZXRlcnMpOworICAgIGlmICh1c2FnZXNBcmVJbnZhbGlk
Rm9yQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQih1c2FnZXMpKSB7CisgICAgICAgIGV4Y2VwdGlvbkNh
bGxiYWNrKFNZTlRBWF9FUlIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgUmVmUHRy
PENyeXB0b0tleUFFUz4gcmVzdWx0OworICAgIHN3aXRjaCAoZm9ybWF0KSB7CisgICAgY2FzZSBT
dWJ0bGVDcnlwdG86OktleUZvcm1hdDo6UmF3OgorICAgICAgICByZXN1bHQgPSBDcnlwdG9LZXlB
RVM6OmltcG9ydFJhdyhwYXJhbWV0ZXJzLT5pZGVudGlmaWVyLCBXVEZNb3ZlKFdURjo6Z2V0PFZl
Y3Rvcjx1aW50OF90Pj4oZGF0YSkpLCBleHRyYWN0YWJsZSwgdXNhZ2VzKTsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBTdWJ0bGVDcnlwdG86OktleUZvcm1hdDo6SndrOiB7CisgICAgICAgIGF1
dG8gY2hlY2tBbGdDYWxsYmFjayA9IFtdKHNpemVfdCBsZW5ndGgsIGNvbnN0IHN0ZDo6b3B0aW9u
YWw8U3RyaW5nPiYgYWxnKSAtPiBib29sIHsKKyAgICAgICAgICAgIHN3aXRjaCAobGVuZ3RoKSB7
CisgICAgICAgICAgICBjYXNlIENyeXB0b0tleUFFUzo6c19sZW5ndGgxMjg6CisgICAgICAgICAg
ICAgICAgcmV0dXJuICFhbGcgfHwgYWxnLnZhbHVlKCkgPT0gQUxHMTI4OworICAgICAgICAgICAg
Y2FzZSBDcnlwdG9LZXlBRVM6OnNfbGVuZ3RoMTkyOgorICAgICAgICAgICAgICAgIHJldHVybiAh
YWxnIHx8IGFsZy52YWx1ZSgpID09IEFMRzE5MjsKKyAgICAgICAgICAgIGNhc2UgQ3J5cHRvS2V5
QUVTOjpzX2xlbmd0aDI1NjoKKyAgICAgICAgICAgICAgICByZXR1cm4gIWFsZyB8fCBhbGcudmFs
dWUoKSA9PSBBTEcyNTY7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgIH07CisgICAgICAgIHJlc3VsdCA9IENyeXB0b0tleUFFUzo6aW1wb3J0SndrKHBh
cmFtZXRlcnMtPmlkZW50aWZpZXIsIFdURk1vdmUoV1RGOjpnZXQ8SnNvbldlYktleT4oZGF0YSkp
LCBleHRyYWN0YWJsZSwgdXNhZ2VzLCBXVEZNb3ZlKGNoZWNrQWxnQ2FsbGJhY2spKTsKKyAgICAg
ICAgYnJlYWs7CisgICAgfQorICAgIGRlZmF1bHQ6CisgICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNr
KE5PVF9TVVBQT1JURURfRVJSKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAoIXJl
c3VsdCkgeworICAgICAgICBleGNlcHRpb25DYWxsYmFjayhEYXRhRXJyb3IpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgY2FsbGJhY2soKnJlc3VsdCk7Cit9CisKK3ZvaWQgQ3J5cHRv
QWxnb3JpdGhtQUVTX0NGQjo6ZXhwb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0IGZvcm1h
dCwgUmVmPENyeXB0b0tleT4mJiBrZXksIEtleURhdGFDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNl
cHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrKQoreworICAgIGNvbnN0IGF1dG8mIGFl
c0tleSA9IGRvd25jYXN0PENyeXB0b0tleUFFUz4oa2V5LmdldCgpKTsKKworICAgIGlmIChhZXNL
ZXkua2V5KCkuaXNFbXB0eSgpKSB7CisgICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNrKE9wZXJhdGlv
bkVycm9yKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEtleURhdGEgcmVzdWx0Owor
ICAgIHN3aXRjaCAoZm9ybWF0KSB7CisgICAgY2FzZSBTdWJ0bGVDcnlwdG86OktleUZvcm1hdDo6
UmF3OgorICAgICAgICByZXN1bHQgPSBWZWN0b3I8dWludDhfdD4oYWVzS2V5LmtleSgpKTsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBTdWJ0bGVDcnlwdG86OktleUZvcm1hdDo6SndrOiB7Cisg
ICAgICAgIEpzb25XZWJLZXkgandrID0gYWVzS2V5LmV4cG9ydEp3aygpOworICAgICAgICBzd2l0
Y2ggKGFlc0tleS5rZXkoKS5zaXplKCkgKiA4KSB7CisgICAgICAgIGNhc2UgQ3J5cHRvS2V5QUVT
OjpzX2xlbmd0aDEyODoKKyAgICAgICAgICAgIGp3ay5hbGcgPSBTdHJpbmcoQUxHMTI4KTsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENyeXB0b0tleUFFUzo6c19sZW5ndGgxOTI6
CisgICAgICAgICAgICBqd2suYWxnID0gU3RyaW5nKEFMRzE5Mik7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgY2FzZSBDcnlwdG9LZXlBRVM6OnNfbGVuZ3RoMjU2OgorICAgICAgICAgICAg
andrLmFsZyA9IFN0cmluZyhBTEcyNTYpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRl
ZmF1bHQ6CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgfQorICAg
ICAgICByZXN1bHQgPSBXVEZNb3ZlKGp3ayk7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBk
ZWZhdWx0OgorICAgICAgICBleGNlcHRpb25DYWxsYmFjayhOT1RfU1VQUE9SVEVEX0VSUik7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBjYWxsYmFjayhmb3JtYXQsIFdURk1vdmUocmVz
dWx0KSk7Cit9CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVT
X0NGQi5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGht
QUVTX0NGQi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZiNGQxOTVhNDU2YzBkYTg1MzAxMDk2M2QxOTZiMGQ1NTQz
OTkwODYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGht
cy9DcnlwdG9BbGdvcml0aG1BRVNfQ0ZCLmgKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQ3J5cHRvQWxnb3JpdGhtLmgiCisKKyNpZiBFTkFC
TEUoU1VCVExFX0NSWVBUTykKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDcnlwdG9L
ZXlBRVM7CisKK2NsYXNzIENyeXB0b0FsZ29yaXRobUFFU19DRkIgZmluYWwgOiBwdWJsaWMgQ3J5
cHRvQWxnb3JpdGhtIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IGNoYXIq
IHNfbmFtZSA9ICJBRVMtQ0ZCLTgiOworICAgIHN0YXRpYyBjb25zdGV4cHIgQ3J5cHRvQWxnb3Jp
dGhtSWRlbnRpZmllciBzX2lkZW50aWZpZXIgPSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpB
RVNfQ0ZCOworICAgIHN0YXRpYyBSZWY8Q3J5cHRvQWxnb3JpdGhtPiBjcmVhdGUoKTsKKworcHJp
dmF0ZToKKyAgICBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCKCkgPSBkZWZhdWx0OworICAgIENyeXB0
b0FsZ29yaXRobUlkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0IGZpbmFsOworCisgICAgdm9p
ZCBlbmNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBS
ZWY8Q3J5cHRvS2V5PiYmLCBWZWN0b3I8dWludDhfdD4mJiwgVmVjdG9yQ2FsbGJhY2smJiwgRXhj
ZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFdvcmtRdWV1ZSYpIGZp
bmFsOworICAgIHZvaWQgZGVjcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFy
YW1ldGVycz4mJiwgUmVmPENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZlY3RvckNh
bGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBX
b3JrUXVldWUmKSBmaW5hbDsKKyAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29y
aXRobVBhcmFtZXRlcnMmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwg
S2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYpIGZpbmFsOworICAgIHZvaWQgaW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5
Rm9ybWF0LCBLZXlEYXRhJiYsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1Q
YXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5
Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7CisgICAgdm9pZCBleHBvcnRL
ZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIFJlZjxDcnlwdG9LZXk+JiYsIEtleURhdGFDYWxs
YmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKSBmaW5hbDsKKworICAgIHZvaWQgcGxhdGZvcm1F
bmNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBSZWY8
Q3J5cHRvS2V5PiYmLCBWZWN0b3I8dWludDhfdD4mJiwgVmVjdG9yQ2FsbGJhY2smJiwgRXhjZXB0
aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFdvcmtRdWV1ZSYpOworICAg
IHZvaWQgcGxhdGZvcm1EZWNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJh
bWV0ZXJzPiYmLCBSZWY8Q3J5cHRvS2V5PiYmLCBWZWN0b3I8dWludDhfdD4mJiwgVmVjdG9yQ2Fs
bGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFdv
cmtRdWV1ZSYpOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKFNVQlRMRV9DUllQVE8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ251
dGxzL0NyeXB0b0FsZ29yaXRobUFFU19DRkJHbnVUTFMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5
cHRvL2dudXRscy9DcnlwdG9BbGdvcml0aG1BRVNfQ0ZCR251VExTLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
OWIyOGFkYzBjNzM2NjEyYmU4MWZkNzdjMTEwZjljOWNjYjRiMzRjCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2dudXRscy9DcnlwdG9BbGdvcml0aG1BRVNfQ0ZCR251
VExTLmNwcApAQCAtMCwwICsxLDQ4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFFU19DRkIuaCIKKworI2lmIEVOQUJMRShTVUJU
TEVfQ1JZUFRPKQorCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIk5vdElt
cGxlbWVudGVkLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBDcnlwdG9BbGdvcml0
aG1BRVNfQ0ZCOjpwbGF0Zm9ybUVuY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRo
bVBhcmFtZXRlcnM+JiYsIFJlZjxDcnlwdG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90PiYmLCBWZWN0
b3JDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiwgV29ya1F1ZXVlJikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIENyeXB0
b0FsZ29yaXRobUFFU19DRkI6OnBsYXRmb3JtRGVjcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRv
QWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgUmVmPENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+
JiYsIFZlY3RvckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmLCBXb3JrUXVldWUmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1BRVNf
Q0JDTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvQWxnb3JpdGhtQUVT
X0NCQ01hYy5jcHAKaW5kZXggN2VlZTc3YmIxNmYyN2JlOTg1MzExZDY2YjdjOGE3ZTU2NmY0ZGJi
ZS4uNTY5MTQwYWU2NWNkMjI4MTBlYzc1NWZkMmIzNWU0Yzc5MTZlMDNmNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDTWFjLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0NyeXB0b0FsZ29yaXRobUFFU19DQkNNYWMu
Y3BwCkBAIC0yOCw3ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoU1VCVExFX0NSWVBUTykKIAotI2lu
Y2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFlc0NiY1BhcmFtcy5oIgorI2luY2x1ZGUgIkNyeXB0b0Fs
Z29yaXRobUFlc0NiY0NmYlBhcmFtcy5oIgogI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFlc0Ni
Y1BhcmFtc0RlcHJlY2F0ZWQuaCIKICNpbmNsdWRlICJDcnlwdG9LZXlBRVMuaCIKICNpbmNsdWRl
ICJFeGNlcHRpb25Db2RlLmgiCkBAIC00MSwxNCArNDEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0OTM5CiBzdGF0
aWMgRXhjZXB0aW9uT3I8VmVjdG9yPHVpbnQ4X3Q+PiB0cmFuc2Zvcm1BRVNfQ0JDKENDT3BlcmF0
aW9uIG9wZXJhdGlvbiwgY29uc3QgdWludDhfdCogaXYsIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYg
a2V5LCBjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3QgZGF0YUxlbmd0aCkKIHsKLSAgICBzaXpl
X3Qga2V5TGVuZ3RoSW5CeXRlcyA9IGtleS5zaXplKCk7CiAgICAgQ0NDcnlwdG9yUmVmIGNyeXB0
b3I7Ci0jaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgQ0NBbGdvcml0aG0gYWVzQWxnb3JpdGhtID0g
a0NDQWxnb3JpdGhtQUVTOwotI2Vsc2UKLSAgICBDQ0FsZ29yaXRobSBhZXNBbGdvcml0aG0gPSBr
Q0NBbGdvcml0aG1BRVMxMjg7Ci0jZW5kaWYKLSAgICBDQ0NyeXB0b3JTdGF0dXMgc3RhdHVzID0g
Q0NDcnlwdG9yQ3JlYXRlKG9wZXJhdGlvbiwgYWVzQWxnb3JpdGhtLCBrQ0NPcHRpb25QS0NTN1Bh
ZGRpbmcsIGtleS5kYXRhKCksIGtleUxlbmd0aEluQnl0ZXMsIGl2LCAmY3J5cHRvcik7CisgICAg
Q0NDcnlwdG9yU3RhdHVzIHN0YXR1cyA9IENDQ3J5cHRvckNyZWF0ZShvcGVyYXRpb24sIGtDQ0Fs
Z29yaXRobUFFUywga0NDT3B0aW9uUEtDUzdQYWRkaW5nLCBrZXkuZGF0YSgpLCBrZXkuc2l6ZSgp
LCBpdiwgJmNyeXB0b3IpOwogICAgIGlmIChzdGF0dXMpCiAgICAgICAgIHJldHVybiBFeGNlcHRp
b24geyBPcGVyYXRpb25FcnJvciB9OwogCkBAIC03Nyw3ICs3MSw3IEBAIHZvaWQgQ3J5cHRvQWxn
b3JpdGhtQUVTX0NCQzo6cGxhdGZvcm1FbmNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdv
cml0aG1QYXJhCiB7CiAgICAgY29udGV4dC5yZWYoKTsKICAgICB3b3JrUXVldWUuZGlzcGF0Y2go
W3BhcmFtZXRlcnMgPSBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBrZXkgPSBXVEZNb3ZlKGtleSksIHBs
YWluVGV4dCA9IFdURk1vdmUocGxhaW5UZXh0KSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNr
KSwgZXhjZXB0aW9uQ2FsbGJhY2sgPSBXVEZNb3ZlKGV4Y2VwdGlvbkNhbGxiYWNrKSwgJmNvbnRl
eHRdKCkgbXV0YWJsZSB7Ci0gICAgICAgIGF1dG8mIGFlc1BhcmFtZXRlcnMgPSBkb3duY2FzdDxD
cnlwdG9BbGdvcml0aG1BZXNDYmNQYXJhbXM+KCpwYXJhbWV0ZXJzKTsKKyAgICAgICAgYXV0byYg
YWVzUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29yaXRobUFlc0NiY0NmYlBhcmFtcz4o
KnBhcmFtZXRlcnMpOwogICAgICAgICBhdXRvJiBhZXNLZXkgPSBkb3duY2FzdDxDcnlwdG9LZXlB
RVM+KGtleS5nZXQoKSk7CiAgICAgICAgIEFTU0VSVChhZXNQYXJhbWV0ZXJzLml2VmVjdG9yKCku
c2l6ZSgpID09IGtDQ0Jsb2NrU2l6ZUFFUzEyOCk7CiAgICAgICAgIGF1dG8gcmVzdWx0ID0gdHJh
bnNmb3JtQUVTX0NCQyhrQ0NFbmNyeXB0LCBhZXNQYXJhbWV0ZXJzLml2VmVjdG9yKCkuZGF0YSgp
LCBhZXNLZXkua2V5KCksIHBsYWluVGV4dC5kYXRhKCksIHBsYWluVGV4dC5zaXplKCkpOwpAQCAt
MTAxLDcgKzk1LDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfQ0JDOjpwbGF0Zm9ybURlY3J5
cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmEKIHsKICAgICBjb250ZXh0LnJl
ZigpOwogICAgIHdvcmtRdWV1ZS5kaXNwYXRjaChbcGFyYW1ldGVycyA9IFdURk1vdmUocGFyYW1l
dGVycyksIGtleSA9IFdURk1vdmUoa2V5KSwgY2lwaGVyVGV4dCA9IFdURk1vdmUoY2lwaGVyVGV4
dCksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayksIGV4Y2VwdGlvbkNhbGxiYWNrID0gV1RG
TW92ZShleGNlcHRpb25DYWxsYmFjayksICZjb250ZXh0XSgpIG11dGFibGUgewotICAgICAgICBh
dXRvJiBhZXNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtQWVzQ2JjUGFyYW1z
PigqcGFyYW1ldGVycyk7CisgICAgICAgIGF1dG8mIGFlc1BhcmFtZXRlcnMgPSBkb3duY2FzdDxD
cnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXM+KCpwYXJhbWV0ZXJzKTsKICAgICAgICAgYXV0
byYgYWVzS2V5ID0gZG93bmNhc3Q8Q3J5cHRvS2V5QUVTPihrZXkuZ2V0KCkpOwogICAgICAgICBh
c3NlcnQoYWVzUGFyYW1ldGVycy5pdlZlY3RvcigpLnNpemUoKSA9PSBrQ0NCbG9ja1NpemVBRVMx
MjgpOwogICAgICAgICBhdXRvIHJlc3VsdCA9IHRyYW5zZm9ybUFFU19DQkMoa0NDRGVjcnlwdCwg
YWVzUGFyYW1ldGVycy5pdlZlY3RvcigpLmRhdGEoKSwgYWVzS2V5LmtleSgpLCBjaXBoZXJUZXh0
LmRhdGEoKSwgY2lwaGVyVGV4dC5zaXplKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1BRVNfQ0ZCTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9tYWMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQk1hYy5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGZj
M2RmZjAzYzQ3ZjNlMjBiMjdlNTkzNzkwYzgwMTdmYjViMjBiMgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQk1hYy5jcHAK
QEAgLTAsMCArMSwxMTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQi5oIgorCisjaWYgRU5BQkxFKFNVQlRMRV9DUllQ
VE8pCisKKyNpbmNsdWRlICJDcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXMuaCIKKyNpbmNs
dWRlICJDcnlwdG9LZXlBRVMuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVk
ZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgPENvbW1vbkNyeXB0by9Db21t
b25DcnlwdG8uaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMgRXhjZXB0aW9uT3I8
VmVjdG9yPHVpbnQ4X3Q+PiB0cmFuc2Zvcm1BRVNfQ0ZCKENDT3BlcmF0aW9uIG9wZXJhdGlvbiwg
Y29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBpdiwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXksIGNv
bnN0IFZlY3Rvcjx1aW50OF90PiYgZGF0YSkKK3sKKyAgICBDQ0NyeXB0b3JSZWYgY3J5cHRvcjsK
KyAgICBDQ0NyeXB0b3JTdGF0dXMgc3RhdHVzID0gQ0NDcnlwdG9yQ3JlYXRlV2l0aE1vZGUob3Bl
cmF0aW9uLCBrQ0NNb2RlQ0ZCOCwga0NDQWxnb3JpdGhtQUVTLCBjY05vUGFkZGluZywgaXYuZGF0
YSgpLCBrZXkuZGF0YSgpLCBrZXkuc2l6ZSgpLCAwLCAwLCAwLCAwLCAmY3J5cHRvcik7CisgICAg
aWYgKHN0YXR1cykKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE9wZXJhdGlvbkVycm9yIH07
CisKKyAgICBWZWN0b3I8dWludDhfdD4gcmVzdWx0KENDQ3J5cHRvckdldE91dHB1dExlbmd0aChj
cnlwdG9yLCBkYXRhLnNpemUoKSwgdHJ1ZSkpOworCisgICAgc2l6ZV90IGJ5dGVzV3JpdHRlbjsK
KyAgICBzdGF0dXMgPSBDQ0NyeXB0b3JVcGRhdGUoY3J5cHRvciwgZGF0YS5kYXRhKCksIGRhdGEu
c2l6ZSgpLCByZXN1bHQuZGF0YSgpLCByZXN1bHQuc2l6ZSgpLCAmYnl0ZXNXcml0dGVuKTsKKyAg
ICBpZiAoc3RhdHVzKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3Ig
fTsKKworICAgIHVpbnQ4X3QqIHAgPSByZXN1bHQuZGF0YSgpICsgYnl0ZXNXcml0dGVuOworICAg
IHN0YXR1cyA9IENDQ3J5cHRvckZpbmFsKGNyeXB0b3IsIHAsIHJlc3VsdC5lbmQoKSAtIHAsICZi
eXRlc1dyaXR0ZW4pOworICAgIHAgKz0gYnl0ZXNXcml0dGVuOworICAgIGlmIChzdGF0dXMpCisg
ICAgICAgIHJldHVybiBFeGNlcHRpb24geyBPcGVyYXRpb25FcnJvciB9OworCisgICAgQVNTRVJU
KHAgPD0gcmVzdWx0LmVuZCgpKTsKKyAgICByZXN1bHQuc2hyaW5rKHAgLSByZXN1bHQuYmVnaW4o
KSk7CisKKyAgICBDQ0NyeXB0b3JSZWxlYXNlKGNyeXB0b3IpOworCisgICAgcmV0dXJuIFdURk1v
dmUocmVzdWx0KTsKK30KKwordm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCOjpwbGF0Zm9ybUVu
Y3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFyYW1l
dGVycywgUmVmPENyeXB0b0tleT4mJiBrZXksIFZlY3Rvcjx1aW50OF90PiYmIHBsYWluVGV4dCwg
VmVjdG9yQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25D
YWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgV29ya1F1ZXVlJiB3b3Jr
UXVldWUpCit7CisgICAgY29udGV4dC5yZWYoKTsKKyAgICB3b3JrUXVldWUuZGlzcGF0Y2goW3Bh
cmFtZXRlcnMgPSBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBrZXkgPSBXVEZNb3ZlKGtleSksIHBsYWlu
VGV4dCA9IFdURk1vdmUocGxhaW5UZXh0KSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwg
ZXhjZXB0aW9uQ2FsbGJhY2sgPSBXVEZNb3ZlKGV4Y2VwdGlvbkNhbGxiYWNrKSwgJmNvbnRleHRd
KCkgbXV0YWJsZSB7CisgICAgICAgIGF1dG8mIGFlc1BhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlw
dG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXM+KCpwYXJhbWV0ZXJzKTsKKyAgICAgICAgYXV0byYg
YWVzS2V5ID0gZG93bmNhc3Q8Q3J5cHRvS2V5QUVTPihrZXkuZ2V0KCkpOworICAgICAgICBBU1NF
UlQoYWVzUGFyYW1ldGVycy5pdlZlY3RvcigpLnNpemUoKSA9PSBrQ0NCbG9ja1NpemVBRVMxMjgp
OworICAgICAgICBhdXRvIHJlc3VsdCA9IHRyYW5zZm9ybUFFU19DRkIoa0NDRW5jcnlwdCwgYWVz
UGFyYW1ldGVycy5pdlZlY3RvcigpLCBhZXNLZXkua2V5KCksIHBsYWluVGV4dCk7CisgICAgICAg
IGlmIChyZXN1bHQuaGFzRXhjZXB0aW9uKCkpIHsKKyAgICAgICAgICAgIC8vIFdlIHNob3VsZCBv
bmx5IGRlcmVmZXJlbmNlIGNhbGxiYWNrcyBhZnRlciBiZWluZyBiYWNrIHRvIHRoZSBEb2N1bWVu
dC9Xb3JrZXIgdGhyZWFkcy4KKyAgICAgICAgICAgIGNvbnRleHQucG9zdFRhc2soW2V4Y2VwdGlv
bkNhbGxiYWNrID0gV1RGTW92ZShleGNlcHRpb25DYWxsYmFjayksIGVjID0gcmVzdWx0LnJlbGVh
c2VFeGNlcHRpb24oKS5jb2RlKCksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpIHsKKyAgICAgICAgICAgICAgICBleGNlcHRpb25D
YWxsYmFjayhlYyk7CisgICAgICAgICAgICAgICAgY29udGV4dC5kZXJlZigpOworICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgLy8gV2Ugc2hv
dWxkIG9ubHkgZGVyZWZlcmVuY2UgY2FsbGJhY2tzIGFmdGVyIGJlaW5nIGJhY2sgdG8gdGhlIERv
Y3VtZW50L1dvcmtlciB0aHJlYWRzLgorICAgICAgICBjb250ZXh0LnBvc3RUYXNrKFtjYWxsYmFj
ayA9IFdURk1vdmUoY2FsbGJhY2spLCByZXN1bHQgPSByZXN1bHQucmVsZWFzZVJldHVyblZhbHVl
KCksIGV4Y2VwdGlvbkNhbGxiYWNrID0gV1RGTW92ZShleGNlcHRpb25DYWxsYmFjayldKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpIHsKKyAgICAgICAgICAgIGNhbGxiYWNrKHJlc3Vs
dCk7CisgICAgICAgICAgICBjb250ZXh0LmRlcmVmKCk7CisgICAgICAgIH0pOworICAgIH0pOwor
fQorCit2b2lkIENyeXB0b0FsZ29yaXRobUFFU19DRkI6OnBsYXRmb3JtRGVjcnlwdChzdGQ6OnVu
aXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzLCBSZWY8Q3J5
cHRvS2V5PiYmIGtleSwgVmVjdG9yPHVpbnQ4X3Q+JiYgY2lwaGVyVGV4dCwgVmVjdG9yQ2FsbGJh
Y2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaywgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgV29ya1F1ZXVlJiB3b3JrUXVldWUpCit7Cisg
ICAgY29udGV4dC5yZWYoKTsKKyAgICB3b3JrUXVldWUuZGlzcGF0Y2goW3BhcmFtZXRlcnMgPSBX
VEZNb3ZlKHBhcmFtZXRlcnMpLCBrZXkgPSBXVEZNb3ZlKGtleSksIGNpcGhlclRleHQgPSBXVEZN
b3ZlKGNpcGhlclRleHQpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spLCBleGNlcHRpb25D
YWxsYmFjayA9IFdURk1vdmUoZXhjZXB0aW9uQ2FsbGJhY2spLCAmY29udGV4dF0oKSBtdXRhYmxl
IHsKKyAgICAgICAgYXV0byYgYWVzUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29yaXRo
bUFlc0NiY0NmYlBhcmFtcz4oKnBhcmFtZXRlcnMpOworICAgICAgICBhdXRvJiBhZXNLZXkgPSBk
b3duY2FzdDxDcnlwdG9LZXlBRVM+KGtleS5nZXQoKSk7CisgICAgICAgIGFzc2VydChhZXNQYXJh
bWV0ZXJzLml2VmVjdG9yKCkuc2l6ZSgpID09IGtDQ0Jsb2NrU2l6ZUFFUzEyOCk7CisgICAgICAg
IGF1dG8gcmVzdWx0ID0gdHJhbnNmb3JtQUVTX0NGQihrQ0NEZWNyeXB0LCBhZXNQYXJhbWV0ZXJz
Lml2VmVjdG9yKCksIGFlc0tleS5rZXkoKSwgY2lwaGVyVGV4dCk7CisgICAgICAgIGlmIChyZXN1
bHQuaGFzRXhjZXB0aW9uKCkpIHsKKyAgICAgICAgICAgIC8vIFdlIHNob3VsZCBvbmx5IGRlcmVm
ZXJlbmNlIGNhbGxiYWNrcyBhZnRlciBiZWluZyBiYWNrIHRvIHRoZSBEb2N1bWVudC9Xb3JrZXIg
dGhyZWFkcy4KKyAgICAgICAgICAgIGNvbnRleHQucG9zdFRhc2soW2V4Y2VwdGlvbkNhbGxiYWNr
ID0gV1RGTW92ZShleGNlcHRpb25DYWxsYmFjayksIGVjID0gcmVzdWx0LnJlbGVhc2VFeGNlcHRp
b24oKS5jb2RlKCksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQpIHsKKyAgICAgICAgICAgICAgICBleGNlcHRpb25DYWxsYmFjayhl
Yyk7CisgICAgICAgICAgICAgICAgY29udGV4dC5kZXJlZigpOworICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgLy8gV2Ugc2hvdWxkIG9ubHkg
ZGVyZWZlcmVuY2UgY2FsbGJhY2tzIGFmdGVyIGJlaW5nIGJhY2sgdG8gdGhlIERvY3VtZW50L1dv
cmtlciB0aHJlYWRzLgorICAgICAgICBjb250ZXh0LnBvc3RUYXNrKFtjYWxsYmFjayA9IFdURk1v
dmUoY2FsbGJhY2spLCByZXN1bHQgPSByZXN1bHQucmVsZWFzZVJldHVyblZhbHVlKCksIGV4Y2Vw
dGlvbkNhbGxiYWNrID0gV1RGTW92ZShleGNlcHRpb25DYWxsYmFjayldKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQpIHsKKyAgICAgICAgICAgIGNhbGxiYWNrKHJlc3VsdCk7CisgICAg
ICAgICAgICBjb250ZXh0LmRlcmVmKCk7CisgICAgICAgIH0pOworICAgIH0pOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1VCVExFX0NSWVBUTykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvQWxnb3JpdGhtUmVnaXN0
cnlNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1SZWdp
c3RyeU1hYy5jcHAKaW5kZXggMTdkNTA5NGYyZTg4NWVmOTkzZjg2NGU3NmI2Y2M4ODNlYmM0Nzhl
ZS4uZWI0NGRkMDFjZTYxNmQ1MmVmMWIxZGEzYTZhMGNkMzkxNDgxNGViMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1SZWdpc3RyeU1hYy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1SZWdpc3RyeU1h
Yy5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoU1VCVExFX0NSWVBUTykKIAogI2lu
Y2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFFU19DQkMuaCIKKyNpbmNsdWRlICJDcnlwdG9BbGdvcml0
aG1BRVNfQ0ZCLmgiCiAjaW5jbHVkZSAiQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmgiCiAjaW5jbHVk
ZSAiQ3J5cHRvQWxnb3JpdGhtSE1BQy5oIgogI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobVJTQUVT
X1BLQ1MxX3YxXzUuaCIKQEAgLTQ1LDYgKzQ2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogdm9p
ZCBDcnlwdG9BbGdvcml0aG1SZWdpc3RyeTo6cGxhdGZvcm1SZWdpc3RlckFsZ29yaXRobXMoKQog
ewogICAgIHJlZ2lzdGVyQWxnb3JpdGhtPENyeXB0b0FsZ29yaXRobUFFU19DQkM+KCk7CisgICAg
cmVnaXN0ZXJBbGdvcml0aG08Q3J5cHRvQWxnb3JpdGhtQUVTX0NGQj4oKTsKICAgICByZWdpc3Rl
ckFsZ29yaXRobTxDcnlwdG9BbGdvcml0aG1BRVNfS1c+KCk7CiAgICAgcmVnaXN0ZXJBbGdvcml0
aG08Q3J5cHRvQWxnb3JpdGhtSE1BQz4oKTsKICAgICByZWdpc3RlckFsZ29yaXRobTxDcnlwdG9B
bGdvcml0aG1SU0FFU19QS0NTMV92MV81PigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL3BhcmFtZXRlcnMvQWVzQ2JjQ2ZiUGFyYW1zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Ny
eXB0by9wYXJhbWV0ZXJzL0Flc0NiY0NmYlBhcmFtcy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODBlYTQ3NWQ4
OTIyZWQ5ZjUzNjdjZWJmYWFmMmIyMzFkYjI4YmIxYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9wYXJhbWV0ZXJzL0Flc0NiY0NmYlBhcmFtcy5pZGwKQEAgLTAsMCAr
MSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKy8vIFRoaXMgaXMgYSB1bmlmaWVkIGRpY3Rpb25hcnkgZm9y
IEFlc0NiY1BhcmFtcyBhbmQgQWVzQ2ZiUGFyYW1zLgorLy8gaHR0cHM6Ly93d3cudzMub3JnL1RS
L1dlYkNyeXB0b0FQSS8jZGZuLUFlc0NiY1BhcmFtcywgYW5kCisvLyBodHRwczovL3d3dy53My5v
cmcvVFIvMjAxNC9DUi1XZWJDcnlwdG9BUEktMjAxNDEyMTEvI2Rmbi1BZXNDZmJQYXJhbXMKK1sK
KyAgICBDb25kaXRpb25hbD1TVUJUTEVfQ1JZUFRPLAorICAgIEltcGxlbWVudGVkQXM9Q3J5cHRv
QWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zCitdIGRpY3Rpb25hcnkgQWVzQ2JjQ2ZiUGFyYW1zIDog
Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyB7CisgICAgLy8gVGhlIGluaXRpYWxpemF0aW9uIHZl
Y3Rvci4gTVVTVCBiZSAxNiBieXRlcy4KKyAgICByZXF1aXJlZCBCdWZmZXJTb3VyY2UgaXY7Cit9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL3BhcmFtZXRlcnMvQWVzQ2JjUGFy
YW1zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9wYXJhbWV0ZXJzL0Flc0NiY1BhcmFtcy5p
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJkZDkwNDM3ZWJhZDQ1MTQwMzFkZmQ3
MGUzMjVlMDhlMGRkMzNjNmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL3BhcmFtZXRlcnMvQWVzQ2JjUGFyYW1zLmlk
bAorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29u
ZGl0aW9uYWw9U1VCVExFX0NSWVBUTywKLSAgICBJbXBsZW1lbnRlZEFzPUNyeXB0b0FsZ29yaXRo
bUFlc0NiY1BhcmFtcwotXSBkaWN0aW9uYXJ5IEFlc0NiY1BhcmFtcyA6IENyeXB0b0FsZ29yaXRo
bVBhcmFtZXRlcnMgewotICAgIC8vIFRoZSBpbml0aWFsaXphdGlvbiB2ZWN0b3IuIE1VU1QgYmUg
MTYgYnl0ZXMuCi0gICAgcmVxdWlyZWQgQnVmZmVyU291cmNlIGl2OwotfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2NyeXB0by9wYXJhbWV0ZXJzL0NyeXB0b0FsZ29yaXRobUFlc0NiY0Nm
YlBhcmFtcy5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL3BhcmFtZXRlcnMvQ3J5cHRvQWxnb3Jp
dGhtQWVzQ2JjQ2ZiUGFyYW1zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWQyYTk3OTc4NzI5YjA1YmE5NjljODk1
ZTAxZGE0ZDRkY2M0M2JkMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9wYXJhbWV0ZXJzL0NyeXB0b0FsZ29yaXRobUFlc0NiY0NmYlBhcmFtcy5oCkBAIC0wLDAgKzEs
NTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkJ1ZmZlclNvdXJj
ZS5oIgorI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CisKKyNpZiBFTkFCTEUoU1VCVExFX0NSWVBUTykKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBDcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXMgZmluYWwgOiBw
dWJsaWMgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyB7CitwdWJsaWM6CisgICAgQnVmZmVyU291
cmNlIGl2OworCisgICAgQ2xhc3MgcGFyYW1ldGVyc0NsYXNzKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gQ2xhc3M6OkFlc0NiY0NmYlBhcmFtczsgfQorCisgICAgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+
JiBpdlZlY3RvcigpCisgICAgeworICAgICAgICBpZiAoIW1faXZWZWN0b3IuaXNFbXB0eSgpIHx8
ICFpdi5sZW5ndGgoKSkKKyAgICAgICAgICAgIHJldHVybiBtX2l2VmVjdG9yOworCisgICAgICAg
IG1faXZWZWN0b3IuYXBwZW5kKGl2LmRhdGEoKSwgaXYubGVuZ3RoKCkpOworICAgICAgICByZXR1
cm4gbV9pdlZlY3RvcjsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgVmVjdG9yPHVpbnQ4X3Q+IG1f
aXZWZWN0b3I7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJQUxJWkVfVFlQ
RV9UUkFJVFNfQ1JZUFRPX0FMR09SSVRITV9QQVJBTUVURVJTKEFlc0NiY0NmYlBhcmFtcykKKwor
I2VuZGlmIC8vIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3J5cHRvL3BhcmFtZXRlcnMvQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjUGFyYW1zLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8vcGFyYW1ldGVycy9DcnlwdG9BbGdvcml0aG1BZXNDYmNQYXJhbXMu
aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTFiY2ViZjFlOWRlMzFhMmY1MzA0Yzkz
MTcwNzZjMzMxYzU5OTY1My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vcGFyYW1ldGVycy9DcnlwdG9BbGdvcml0aG1B
ZXNDYmNQYXJhbXMuaAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgIkJ1ZmZlclNvdXJjZS5oIgotI2luY2x1ZGUgIkNy
eXB0b0FsZ29yaXRobVBhcmFtZXRlcnMuaCIKLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0KLSNp
ZiBFTkFCTEUoU1VCVExFX0NSWVBUTykKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBD
cnlwdG9BbGdvcml0aG1BZXNDYmNQYXJhbXMgZmluYWwgOiBwdWJsaWMgQ3J5cHRvQWxnb3JpdGht
UGFyYW1ldGVycyB7Ci1wdWJsaWM6Ci0gICAgQnVmZmVyU291cmNlIGl2OwotCi0gICAgQ2xhc3Mg
cGFyYW1ldGVyc0NsYXNzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ2xhc3M6OkFlc0NiY1BhcmFt
czsgfQotCi0gICAgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBpdlZlY3RvcigpCi0gICAgewotICAg
ICAgICBpZiAoIW1faXZWZWN0b3IuaXNFbXB0eSgpIHx8ICFpdi5sZW5ndGgoKSkKLSAgICAgICAg
ICAgIHJldHVybiBtX2l2VmVjdG9yOwotCi0gICAgICAgIG1faXZWZWN0b3IuYXBwZW5kKGl2LmRh
dGEoKSwgaXYubGVuZ3RoKCkpOwotICAgICAgICByZXR1cm4gbV9pdlZlY3RvcjsKLSAgICB9Ci0K
LXByaXZhdGU6Ci0gICAgVmVjdG9yPHVpbnQ4X3Q+IG1faXZWZWN0b3I7Ci19OwotCi19IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCi0KLVNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ1JZUFRPX0FMR09SSVRI
TV9QQVJBTUVURVJTKEFlc0NiY1BhcmFtcykKLQotI2VuZGlmIC8vIEVOQUJMRShTVUJUTEVfQ1JZ
UFRPKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IGJkNzI1ZTM5MjE2NGRlNjBhMWEwZjZhMzllZTQ2N2ZkNWU0MmU0NmIuLjg5
YjQ3NGI5NTQ2YzU1YzdmMTE4NjY4MTUyZmU0ZTIyMWVlNDViNWQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2
NiBAQAorMjAxNy0wMi0xNCAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgorCisg
ICAgICAgIFtXZWJDcnlwdG9dIEFkZCBzdXBwb3J0IGZvciBBRVMtQ0ZCCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgzNDQKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzIwOTQwMjIxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWNmYi1kZWNyeXB0LW1hbGZvcm1l
ZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvYWVzLWNiYy1kZWNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4
dC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jYmMtY2ZiLWRlY3J5cHQtbWFsZm9ybWVk
LXBhcmFtZXRlcnMuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUv
YWVzLWNiYy1kZWNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwuCisgICAgICAgICogY3J5
cHRvL3N1YnRsZS9hZXMtY2JjLWNmYi1lbmNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVj
dGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1l
bmNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBjcnlw
dG8vc3VidGxlL2Flcy1jYmMtY2ZiLWVuY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbDog
UmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1lbmNyeXB0LW1h
bGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2Jj
LWltcG9ydC1rZXktdW53cmFwLWp3ay1yc2Eta2V5LXB1YmxpYy1leHBlY3RlZC50eHQ6IFJlbmFt
ZWQgZnJvbSBMYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS11d3Jh
cC1qd2stcnNhLWtleS1wdWJsaWMtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGNyeXB0by9zdWJ0
bGUvYWVzLWNiYy1pbXBvcnQta2V5LXVud3JhcC1qd2stcnNhLWtleS1wdWJsaWMuaHRtbDogUmVu
YW1lZCBmcm9tIExheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LXV3
cmFwLWp3ay1yc2Eta2V5LXB1YmxpYy5odG1sLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVz
LWNmYi1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMTI4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXkt
andrLWxlbmd0aC0xMjguaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMt
Y2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xOTItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1q
d2stbGVuZ3RoLTE5Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1j
ZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTI1Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1leHBvcnQta2V5LWp3
ay1sZW5ndGgtMjU2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNm
Yi1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUta2V5LWVuY3J5cHQt
ZGVjcnlwdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVz
LWNmYi1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1rZXktZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUta2V5Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtandrLWtleS1sZW5ndGgt
MTI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2Zi
LWltcG9ydC1qd2sta2V5LWxlbmd0aC0xMjguaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRv
L3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1qd2sta2V5LWxlbmd0aC0xOTItZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVu
Z3RoLTE5Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1w
b3J0LWp3ay1rZXktbGVuZ3RoLTI1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNy
eXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtandrLWtleS1sZW5ndGgtMjU2Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LWRlY3J5cHQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0
LWtleS1kZWNyeXB0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNm
Yi1pbXBvcnQta2V5LWVuY3J5cHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlw
dG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1lbmNyeXB0Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXVud3JhcC1qd2sta2V5LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1r
ZXktdW53cmFwLWp3ay1rZXkuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9h
ZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLXJhdy1rZXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAtcmF3LWtleS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS13
cmFwLWp3ay1rZXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxl
L2Flcy1jZmItaW1wb3J0LWtleS13cmFwLWp3ay1rZXkuaHRtbDogQWRkZWQuCisgICAgICAgICog
Y3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1yYXcta2V5LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktd3Jh
cC1yYXcta2V5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1p
bXBvcnQtcmF3LWtleS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0
bGUvYWVzLWNmYi1pbXBvcnQtcmF3LWtleS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8v
c3VidGxlL2Flcy1nZW5lcmF0ZS1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWdlbmVyYXRlLWtleS1tYWxmb3JtZWQtcGFy
YW1ldGVycy5odG1sOgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWltcG9ydC1rZXktbWFs
Zm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUv
YWVzLWltcG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbDoKKyAgICAgICAgKiBjcnlw
dG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LWRlY3J5cHQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQt
a2V5LWRlY3J5cHQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxl
L2Flcy1jZmItaW1wb3J0LWtleS1lbmNyeXB0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1lbmNyeXB0Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1r
ZXktdW53cmFwLWtleS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by93b3Jr
ZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWtleS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXdyYXAta2V5
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Fl
cy1jZmItaW1wb3J0LWtleS13cmFwLWtleS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8v
d29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2Flcy1jZmItaW1wb3J0LWtleS1kZWNyeXB0LmpzOiBB
ZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2Flcy1jZmIt
aW1wb3J0LWtleS1lbmNyeXB0LmpzOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9z
dWJ0bGUvcmVzb3VyY2VzL2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAta2V5LmpzOiBBZGRlZC4K
KyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2Flcy1jZmItaW1wb3J0
LWtleS13cmFwLWtleS5qczogQWRkZWQuCisKIDIwMTctMDItMTYgIEppZXdlbiBUYW4gIDxqaWV3
ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQ3J5cHRvXSByZW1vdmUgdG9KU1ZhbHVl
RnJvbUpzb25XZWJLZXkgZnJvbSBjdXN0b20gU3VidGxlQ3J5cHRvIGJpbmRpbmcgY29kZXMKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1jZmItZGVjcnlwdC1t
YWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL2Flcy1jYmMtY2ZiLWRlY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmQ1NDgzMThlMDZhOWRhMWFkNGJhNTQ3MmQxYjBkNmIxZjk0OTIyMjAKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtY2ZiLWRl
Y3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAK
K1Rlc3QgZGVjcnlwdGluZyB1c2luZyBBRVMtQ0JDL0FFUy1DRkIgd2l0aCBtYWxmb3JtZWQgcGFy
YW1ldGVycworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBjcnlwdG8uc3Vi
dGxlLmRlY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCIiKX0s
IGtleSwgY2lwaGVyVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBPcGVyYXRpb25FcnJvciAo
RE9NIEV4Y2VwdGlvbiAzNCk6IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciBhbiBvcGVyYXRpb24t
c3BlY2lmaWMgcmVhc29uLgorUEFTUyBjcnlwdG8uc3VidGxlLmRlY3J5cHQoe25hbWU6ICJhZXMt
Y2JjIiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqIil9LCBrZXksIGNpcGhlclRleHQpIHJlamVj
dGVkIHByb21pc2UgIHdpdGggT3BlcmF0aW9uRXJyb3IgKERPTSBFeGNlcHRpb24gMzQpOiBUaGUg
b3BlcmF0aW9uIGZhaWxlZCBmb3IgYW4gb3BlcmF0aW9uLXNwZWNpZmljIHJlYXNvbi4KK1BBU1Mg
Y3J5cHRvLnN1YnRsZS5kZWNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBhc2NpaVRvVWludDhB
cnJheSgiam5Pdzk5b09aRkxJRVBNcmQiKX0sIGtleSwgY2lwaGVyVGV4dCkgcmVqZWN0ZWQgcHJv
bWlzZSAgd2l0aCBPcGVyYXRpb25FcnJvciAoRE9NIEV4Y2VwdGlvbiAzNCk6IFRoZSBvcGVyYXRp
b24gZmFpbGVkIGZvciBhbiBvcGVyYXRpb24tc3BlY2lmaWMgcmVhc29uLgorUEFTUyBjcnlwdG8u
c3VidGxlLmRlY3J5cHQoe25hbWU6ICJhZXMtY2ZiLTgiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXko
IiIpfSwga2V5LCBjaXBoZXJUZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE9wZXJhdGlvbkVy
cm9yIChET00gRXhjZXB0aW9uIDM0KTogVGhlIG9wZXJhdGlvbiBmYWlsZWQgZm9yIGFuIG9wZXJh
dGlvbi1zcGVjaWZpYyByZWFzb24uCitQQVNTIGNyeXB0by5zdWJ0bGUuZGVjcnlwdCh7bmFtZTog
ImFlcy1jZmItOCIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiaiIpfSwga2V5LCBjaXBoZXJUZXh0
KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE9wZXJhdGlvbkVycm9yIChET00gRXhjZXB0aW9uIDM0
KTogVGhlIG9wZXJhdGlvbiBmYWlsZWQgZm9yIGFuIG9wZXJhdGlvbi1zcGVjaWZpYyByZWFzb24u
CitQQVNTIGNyeXB0by5zdWJ0bGUuZGVjcnlwdCh7bmFtZTogImFlcy1jZmItOCIsIGl2OiBhc2Np
aVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNcmQiKX0sIGtleSwgY2lwaGVyVGV4dCkgcmVq
ZWN0ZWQgcHJvbWlzZSAgd2l0aCBPcGVyYXRpb25FcnJvciAoRE9NIEV4Y2VwdGlvbiAzNCk6IFRo
ZSBvcGVyYXRpb24gZmFpbGVkIGZvciBhbiBvcGVyYXRpb24tc3BlY2lmaWMgcmVhc29uLgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1jZmItZGVjcnlwdC1tYWxmb3Jt
ZWQtcGFyYW1ldGVycy5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWNm
Yi1kZWNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGU4NGRmNDdk
MWQ4NDJlZjliNDkyMDY2Yzk1NDE0M2FlOWZiODhiMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1jZmItZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1l
dGVycy5odG1sCkBAIC0wLDAgKzEsNDQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZGVjcnlwdGluZyB1c2luZyBBRVMt
Q0JDL0FFUy1DRkIgd2l0aCBtYWxmb3JtZWQgcGFyYW1ldGVycyIpOworCitqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gZmFsc2U7Cit2YXIgY2lwaGVyVGV4dCA9IGhl
eFN0cmluZ1RvVWludDhBcnJheSgiMmZmYTQ2MTg3ODRkZmQ0MTRiMjJjNDBjNjMzMGQwMjIiKTsK
K3ZhciByYXdLZXkgPSBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIpOworCitj
cnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVzLWNiYyIsIGV4dHJhY3Rh
YmxlLCBbImRlY3J5cHQiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1
bHQ7CisgICAgLy8gV3JvbmcgaXYgbGVuZ3RoCisgICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3Vi
dGxlLmRlY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCIiKX0s
IGtleSwgY2lwaGVyVGV4dCknKTsKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZGVj
cnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImoiKX0sIGtleSwg
Y2lwaGVyVGV4dCknKTsKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZGVjcnlwdCh7
bmFtZTogImFlcy1jYmMiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXJk
Iil9LCBrZXksIGNpcGhlclRleHQpJyk7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworCitj
cnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVzLWNmYi04IiwgZXh0cmFj
dGFibGUsIFsiZGVjcnlwdCJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJl
c3VsdDsKKyAgICAvLyBXcm9uZyBpdiBsZW5ndGgKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5z
dWJ0bGUuZGVjcnlwdCh7bmFtZTogImFlcy1jZmItOCIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgi
Iil9LCBrZXksIGNpcGhlclRleHQpJyk7CisgICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxl
LmRlY3J5cHQoe25hbWU6ICJhZXMtY2ZiLTgiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImoiKX0s
IGtleSwgY2lwaGVyVGV4dCknKTsKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZGVj
cnlwdCh7bmFtZTogImFlcy1jZmItOCIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09a
RkxJRVBNcmQiKX0sIGtleSwgY2lwaGVyVGV4dCknKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOwor
fSk7CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtY2ZiLWVuY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRl
cnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWNmYi1l
bmNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYmI1
YjI2NzI4ODMxZGM1MmUwNmFhMzBmM2YzZTFmYWI3MDVjY2Y1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWNmYi1lbmNyeXB0LW1hbGZvcm1lZC1w
YXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI2IEBACitUZXN0IGVuY3J5cHRpbmcg
dXNpbmcgQUVTLUNCQy9BRVMtQ0ZCIHdpdGggbWFsZm9ybWVkIHBhcmFtZXRlcnMKKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgY3J5cHRvLnN1YnRsZS5lbmNyeXB0KCJhZXMt
Y2JjIiwga2V5LCBwbGFpblRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBN
ZW1iZXIgQWVzQ2JjQ2ZiUGFyYW1zLml2IGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFuIGluc3Rh
bmNlIG9mIEJ1ZmZlclNvdXJjZS4KK1BBU1MgY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAi
YWVzLWNiYyJ9LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJy
b3I6IE1lbWJlciBBZXNDYmNDZmJQYXJhbXMuaXYgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4g
aW5zdGFuY2Ugb2YgQnVmZmVyU291cmNlLgorUEFTUyBjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25h
bWU6ICJhZXMtY2JjIiwgaXY6IHRydWV9LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlz
ZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIGNyeXB0by5zdWJ0bGUuZW5jcnlw
dCh7bmFtZTogImFlcy1jYmMiLCBpdjogMX0sIGtleSwgcGxhaW5UZXh0KSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgY3J5cHRvLnN1YnRsZS5lbmNy
eXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBudWxsfSwga2V5LCBwbGFpblRleHQpIHJlamVjdGVk
IHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBjcnlwdG8uc3VidGxl
LmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IHVuZGVmaW5lZH0sIGtleSwgcGxhaW5UZXh0
KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTWVtYmVyIEFlc0NiY0NmYlBhcmFt
cy5pdiBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBCdWZmZXJTb3VyY2Uu
CitQQVNTIGNyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogU3ltYm9s
KCl9LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5
cGUgZXJyb3IuCitQQVNTIGNyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBp
djogeyB9fSwga2V5LCBwbGFpblRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9y
OiBUeXBlIGVycm9yLgorUEFTUyBjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2Jj
IiwgaXY6ICJmb28ifSwga2V5LCBwbGFpblRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlw
ZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJh
ZXMtY2JjIiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCIiKX0sIGtleSwgcGxhaW5UZXh0KSByZWpl
Y3RlZCBwcm9taXNlICB3aXRoIE9wZXJhdGlvbkVycm9yIChET00gRXhjZXB0aW9uIDM0KTogVGhl
IG9wZXJhdGlvbiBmYWlsZWQgZm9yIGFuIG9wZXJhdGlvbi1zcGVjaWZpYyByZWFzb24uCitQQVNT
IGNyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogYXNjaWlUb1VpbnQ4
QXJyYXkoImoiKX0sIGtleSwgcGxhaW5UZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE9wZXJh
dGlvbkVycm9yIChET00gRXhjZXB0aW9uIDM0KTogVGhlIG9wZXJhdGlvbiBmYWlsZWQgZm9yIGFu
IG9wZXJhdGlvbi1zcGVjaWZpYyByZWFzb24uCitQQVNTIGNyeXB0by5zdWJ0bGUuZW5jcnlwdCh7
bmFtZTogImFlcy1jYmMiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXJk
Iil9LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBPcGVyYXRpb25FcnJv
ciAoRE9NIEV4Y2VwdGlvbiAzNCk6IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciBhbiBvcGVyYXRp
b24tc3BlY2lmaWMgcmVhc29uLgorUEFTUyBjcnlwdG8uc3VidGxlLmVuY3J5cHQoImFlcy1jZmIt
OCIsIGtleSwgcGxhaW5UZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTWVt
YmVyIEFlc0NiY0NmYlBhcmFtcy5pdiBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5j
ZSBvZiBCdWZmZXJTb3VyY2UuCitQQVNTIGNyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFl
cy1jZmItOCJ9LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJy
b3I6IE1lbWJlciBBZXNDYmNDZmJQYXJhbXMuaXYgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4g
aW5zdGFuY2Ugb2YgQnVmZmVyU291cmNlLgorUEFTUyBjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25h
bWU6ICJhZXMtY2ZiLTgiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoIiIpfSwga2V5LCBwbGFpblRl
eHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggT3BlcmF0aW9uRXJyb3IgKERPTSBFeGNlcHRpb24g
MzQpOiBUaGUgb3BlcmF0aW9uIGZhaWxlZCBmb3IgYW4gb3BlcmF0aW9uLXNwZWNpZmljIHJlYXNv
bi4KK1BBU1MgY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNmYi04IiwgaXY6IGFz
Y2lpVG9VaW50OEFycmF5KCJqIil9LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAg
d2l0aCBPcGVyYXRpb25FcnJvciAoRE9NIEV4Y2VwdGlvbiAzNCk6IFRoZSBvcGVyYXRpb24gZmFp
bGVkIGZvciBhbiBvcGVyYXRpb24tc3BlY2lmaWMgcmVhc29uLgorUEFTUyBjcnlwdG8uc3VidGxl
LmVuY3J5cHQoe25hbWU6ICJhZXMtY2ZiLTgiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5
OW9PWkZMSUVQTXJkIil9LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBP
cGVyYXRpb25FcnJvciAoRE9NIEV4Y2VwdGlvbiAzNCk6IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZv
ciBhbiBvcGVyYXRpb24tc3BlY2lmaWMgcmVhc29uLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvYWVzLWNiYy1jZmItZW5jcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sIGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWNmYi1lbmNyeXB0LW1hbGZvcm1lZC1w
YXJhbWV0ZXJzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDg1N2NhNDVhMDJhZmJhN2U2N2QxZTBmMTY5ZWY2
ZTIxODgyYmY1YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUv
YWVzLWNiYy1jZmItZW5jcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCkBAIC0wLDAgKzEs
NTcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVz
Y3JpcHRpb24oIlRlc3QgZW5jcnlwdGluZyB1c2luZyBBRVMtQ0JDL0FFUy1DRkIgd2l0aCBtYWxm
b3JtZWQgcGFyYW1ldGVycyIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJh
Y3RhYmxlID0gZmFsc2U7Cit2YXIgcGxhaW5UZXh0ID0gYXNjaWlUb1VpbnQ4QXJyYXkoIkhlbGxv
LCBXb3JsZCEiKTsKK3ZhciByYXdLZXkgPSBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJ
RVBNciIpOworCitjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVzLWNi
YyIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAg
ICBrZXkgPSByZXN1bHQ7CisgICAgLy8gTWFsZm9ybWVkIEFsZ29yaXRobUlkZW50aWZpZXJzCisg
ICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQoImFlcy1jYmMiLCBrZXksIHBs
YWluVGV4dCknKTsKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFt
ZTogImFlcy1jYmMifSwga2V5LCBwbGFpblRleHQpJyk7CisgICAgc2hvdWxkUmVqZWN0KCdjcnlw
dG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IHRydWV9LCBrZXksIHBsYWlu
VGV4dCknKTsKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTog
ImFlcy1jYmMiLCBpdjogMX0sIGtleSwgcGxhaW5UZXh0KScpOworICAgIHNob3VsZFJlamVjdCgn
Y3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBudWxsfSwga2V5LCBw
bGFpblRleHQpJyk7CisgICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25h
bWU6ICJhZXMtY2JjIiwgaXY6IHVuZGVmaW5lZH0sIGtleSwgcGxhaW5UZXh0KScpOworICAgIHNo
b3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBT
eW1ib2woKX0sIGtleSwgcGxhaW5UZXh0KScpOworICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1
YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiB7IH19LCBrZXksIHBsYWluVGV4dCkn
KTsKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1j
YmMiLCBpdjogImZvbyJ9LCBrZXksIHBsYWluVGV4dCknKTsKKyAgICAvLyBXcm9uZyBpdiBsZW5n
dGgKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1j
YmMiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoIiIpfSwga2V5LCBwbGFpblRleHQpJyk7CisgICAg
c2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6
IGFzY2lpVG9VaW50OEFycmF5KCJqIil9LCBrZXksIHBsYWluVGV4dCknKTsKKyAgICBzaG91bGRS
ZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogYXNjaWlU
b1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXJkIil9LCBrZXksIHBsYWluVGV4dCknKTsKKwor
ICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXci
LCByYXdLZXksICJhZXMtY2ZiLTgiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0Il0pLnRoZW4oZnVu
Y3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworICAgIC8vIE1hbGZvcm1lZCBBbGdv
cml0aG1JZGVudGlmaWVycworICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5lbmNyeXB0
KCJhZXMtY2ZiLTgiLCBrZXksIHBsYWluVGV4dCknKTsKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0
by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jZmItOCJ9LCBrZXksIHBsYWluVGV4dCknKTsK
KyAgICAvLyBXcm9uZyBpdiBsZW5ndGgKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUu
ZW5jcnlwdCh7bmFtZTogImFlcy1jZmItOCIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiIil9LCBr
ZXksIHBsYWluVGV4dCknKTsKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlw
dCh7bmFtZTogImFlcy1jZmItOCIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiaiIpfSwga2V5LCBw
bGFpblRleHQpJyk7CisgICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25h
bWU6ICJhZXMtY2ZiLTgiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXJk
Iil9LCBrZXksIHBsYWluVGV4dCknKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKKzwv
c2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2Flcy1jYmMtZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZGVjcnlwdC1tYWxmb3JtZWQt
cGFyYW1ldGVycy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQw
MmYwZjliYmYzZGQxMjU5ZmZhMmEyZmU3ZjVlNWMwMWU1OTU2MmMuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9h
ZXMtY2JjLWRlY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMTIgKzAsMCBAQAotVGVzdCBkZWNyeXB0aW5nIHVzaW5nIEFFUy1DQkMgd2l0
aCBtYWxmb3JtZWQgcGFyYW1ldGVycwotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQot
UEFTUyBjcnlwdG8uc3VidGxlLmRlY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IGFzY2lpVG9V
aW50OEFycmF5KCIiKX0sIGtleSwgY2lwaGVyVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBP
cGVyYXRpb25FcnJvciAoRE9NIEV4Y2VwdGlvbiAzNCk6IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZv
ciBhbiBvcGVyYXRpb24tc3BlY2lmaWMgcmVhc29uLgotUEFTUyBjcnlwdG8uc3VidGxlLmRlY3J5
cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqIil9LCBrZXksIGNp
cGhlclRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggT3BlcmF0aW9uRXJyb3IgKERPTSBFeGNl
cHRpb24gMzQpOiBUaGUgb3BlcmF0aW9uIGZhaWxlZCBmb3IgYW4gb3BlcmF0aW9uLXNwZWNpZmlj
IHJlYXNvbi4KLVBBU1MgY3J5cHRvLnN1YnRsZS5kZWNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2
OiBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNcmQiKX0sIGtleSwgY2lwaGVyVGV4
dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBPcGVyYXRpb25FcnJvciAoRE9NIEV4Y2VwdGlvbiAz
NCk6IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciBhbiBvcGVyYXRpb24tc3BlY2lmaWMgcmVhc29u
LgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1kZWNyeXB0LW1hbGZv
cm1lZC1wYXJhbWV0ZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMt
ZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBjMDQ2NDg0MzQxODM4MTMzNjgxZTNjZjNlYTZiZmQzMjFiNWU3MDQ0Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvYWVzLWNiYy1kZWNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KLQotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCJUZXN0IGRlY3J5cHRpbmcgdXNpbmcgQUVTLUNC
QyB3aXRoIG1hbGZvcm1lZCBwYXJhbWV0ZXJzIik7Ci0KLWpzVGVzdElzQXN5bmMgPSB0cnVlOwot
Ci12YXIgZXh0cmFjdGFibGUgPSBmYWxzZTsKLXZhciBjaXBoZXJUZXh0ID0gaGV4U3RyaW5nVG9V
aW50OEFycmF5KCIyZmZhNDYxODc4NGRmZDQxNGIyMmM0MGM2MzMwZDAyMiIpOwotdmFyIHJhd0tl
eSA9IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIik7Ci0KLWNyeXB0by5zdWJ0
bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMtY2JjIiwgZXh0cmFjdGFibGUsIFsiZGVj
cnlwdCJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgewotICAgIGtleSA9IHJlc3VsdDsKLSAgICAv
LyBXcm9uZyBpdiBsZW5ndGgKLSAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZGVjcnlw
dCh7bmFtZTogImFlcy1jYmMiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoIiIpfSwga2V5LCBjaXBo
ZXJUZXh0KScpOwotICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5kZWNyeXB0KHtuYW1l
OiAiYWVzLWNiYyIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiaiIpfSwga2V5LCBjaXBoZXJUZXh0
KScpOwotICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5kZWNyeXB0KHtuYW1lOiAiYWVz
LWNiYyIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNcmQiKX0sIGtleSwg
Y2lwaGVyVGV4dCknKTsKLQotICAgIGZpbmlzaEpTVGVzdCgpOwotfSk7Ci0KLTwvc2NyaXB0Pgot
Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L2Flcy1jYmMtZW5jcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZW5jcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVy
cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMxM2Q5NjI4MGI3
YzE0ZTQ2OWM3NjA0YjE1MDlmM2IzZWNkOTdjNjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWVu
Y3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsMjEgKzAsMCBAQAotVGVzdCBlbmNyeXB0aW5nIHVzaW5nIEFFUy1DQkMgd2l0aCBtYWxmb3Jt
ZWQgcGFyYW1ldGVycwotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBjcnlw
dG8uc3VidGxlLmVuY3J5cHQoImFlcy1jYmMiLCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJv
bWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1lbWJlciBBZXNDYmNQYXJhbXMuaXYgaXMgcmVxdWlyZWQg
YW5kIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgQnVmZmVyU291cmNlLgotUEFTUyBjcnlwdG8uc3Vi
dGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIn0sIGtleSwgcGxhaW5UZXh0KSByZWplY3RlZCBw
cm9taXNlICB3aXRoIFR5cGVFcnJvcjogTWVtYmVyIEFlc0NiY1BhcmFtcy5pdiBpcyByZXF1aXJl
ZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBCdWZmZXJTb3VyY2UuCi1QQVNTIGNyeXB0by5z
dWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogdHJ1ZX0sIGtleSwgcGxhaW5UZXh0
KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgY3J5
cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiAxfSwga2V5LCBwbGFpblRl
eHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBj
cnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IG51bGx9LCBrZXksIHBs
YWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1Q
QVNTIGNyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogdW5kZWZpbmVk
fSwga2V5LCBwbGFpblRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBNZW1i
ZXIgQWVzQ2JjUGFyYW1zLml2IGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9m
IEJ1ZmZlclNvdXJjZS4KLVBBU1MgY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNi
YyIsIGl2OiBTeW1ib2woKX0sIGtleSwgcGxhaW5UZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRo
IFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1l
OiAiYWVzLWNiYyIsIGl2OiB7IH19LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAg
d2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIGNyeXB0by5zdWJ0bGUuZW5jcnlwdCh7
bmFtZTogImFlcy1jYmMiLCBpdjogImZvbyJ9LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJv
bWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIGNyeXB0by5zdWJ0bGUuZW5j
cnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoIiIpfSwga2V5LCBw
bGFpblRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggT3BlcmF0aW9uRXJyb3IgKERPTSBFeGNl
cHRpb24gMzQpOiBUaGUgb3BlcmF0aW9uIGZhaWxlZCBmb3IgYW4gb3BlcmF0aW9uLXNwZWNpZmlj
IHJlYXNvbi4KLVBBU1MgY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2
OiBhc2NpaVRvVWludDhBcnJheSgiaiIpfSwga2V5LCBwbGFpblRleHQpIHJlamVjdGVkIHByb21p
c2UgIHdpdGggT3BlcmF0aW9uRXJyb3IgKERPTSBFeGNlcHRpb24gMzQpOiBUaGUgb3BlcmF0aW9u
IGZhaWxlZCBmb3IgYW4gb3BlcmF0aW9uLXNwZWNpZmljIHJlYXNvbi4KLVBBU1MgY3J5cHRvLnN1
YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiam5P
dzk5b09aRkxJRVBNcmQiKX0sIGtleSwgcGxhaW5UZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRo
IE9wZXJhdGlvbkVycm9yIChET00gRXhjZXB0aW9uIDM0KTogVGhlIG9wZXJhdGlvbiBmYWlsZWQg
Zm9yIGFuIG9wZXJhdGlvbi1zcGVjaWZpYyByZWFzb24uCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9hZXMtY2JjLWVuY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbCBiL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1lbmNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0
ZXJzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDliMGIzZmI2NTYzMzY1NDlj
ZTcyYzJmZWU1ODJhMjgwYzQ0OTc2YzUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWVuY3J5cHQt
bWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9jb21tb24uanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0PgotZGVzY3JpcHRp
b24oIlRlc3QgZW5jcnlwdGluZyB1c2luZyBBRVMtQ0JDIHdpdGggbWFsZm9ybWVkIHBhcmFtZXRl
cnMiKTsKLQotanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLXZhciBleHRyYWN0YWJsZSA9IGZhbHNl
OwotdmFyIHBsYWluVGV4dCA9IGFzY2lpVG9VaW50OEFycmF5KCJIZWxsbywgV29ybGQhIik7Ci12
YXIgcmF3S2V5ID0gYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKTsKLQotY3J5
cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1jYmMiLCBleHRyYWN0YWJs
ZSwgWyJlbmNyeXB0Il0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAga2V5ID0gcmVzdWx0
OwotICAgIC8vIE1hbGZvcm1lZCBBbGdvcml0aG1JZGVudGlmaWVycwotICAgIHNob3VsZFJlamVj
dCgnY3J5cHRvLnN1YnRsZS5lbmNyeXB0KCJhZXMtY2JjIiwga2V5LCBwbGFpblRleHQpJyk7Ci0g
ICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIn0s
IGtleSwgcGxhaW5UZXh0KScpOwotICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5lbmNy
eXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiB0cnVlfSwga2V5LCBwbGFpblRleHQpJyk7Ci0gICAg
c2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6
IDF9LCBrZXksIHBsYWluVGV4dCknKTsKLSAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUu
ZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogbnVsbH0sIGtleSwgcGxhaW5UZXh0KScpOwot
ICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIs
IGl2OiB1bmRlZmluZWR9LCBrZXksIHBsYWluVGV4dCknKTsKLSAgICBzaG91bGRSZWplY3QoJ2Ny
eXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogU3ltYm9sKCl9LCBrZXks
IHBsYWluVGV4dCknKTsKLSAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlwdCh7
bmFtZTogImFlcy1jYmMiLCBpdjogeyB9fSwga2V5LCBwbGFpblRleHQpJyk7Ci0gICAgc2hvdWxk
UmVqZWN0KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6ICJmb28i
fSwga2V5LCBwbGFpblRleHQpJyk7Ci0gICAgLy8gV3JvbmcgaXYgbGVuZ3RoCi0gICAgc2hvdWxk
UmVqZWN0KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IGFzY2lp
VG9VaW50OEFycmF5KCIiKX0sIGtleSwgcGxhaW5UZXh0KScpOwotICAgIHNob3VsZFJlamVjdCgn
Y3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBhc2NpaVRvVWludDhB
cnJheSgiaiIpfSwga2V5LCBwbGFpblRleHQpJyk7Ci0gICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8u
c3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJq
bk93OTlvT1pGTElFUE1yZCIpfSwga2V5LCBwbGFpblRleHQpJyk7Ci0KLSAgICBmaW5pc2hKU1Rl
c3QoKTsKLX0pOwotCi08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktdW53cmFwLWp3ay1y
c2Eta2V5LXB1YmxpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Fl
cy1jYmMtaW1wb3J0LWtleS11bndyYXAtandrLXJzYS1rZXktcHVibGljLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lYmNiMWQ4ZWEwNzVjMmEyZmFkZTNmZGU5N2ExNTM3Y2Y4ZWRmMDg1Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1r
ZXktdW53cmFwLWp3ay1yc2Eta2V5LXB1YmxpYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBA
QAorVGVzdCB1bndyYXBwaW5nIGEgSldLIFJTQSBwdWJsaWMga2V5IHdpdGggQUVTLUNCQyB1c2lu
ZyBhbiBpbXBvcnRlZCBrZXkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
dW53cmFwcGVkS2V5Lmt0eSBpcyBqd2tLZXkua3R5CitQQVNTIHVud3JhcHBlZEtleS5hbGcgaXMg
andrS2V5LmFsZworUEFTUyB1bndyYXBwZWRLZXkua2V5X29wcyBpcyBqd2tLZXkua2V5X29wcwor
UEFTUyB1bndyYXBwZWRLZXkuZXh0IGlzIGp3a0tleS5leHQKK1BBU1MgdW53cmFwcGVkS2V5Lm4g
aXMgandrS2V5Lm4KK1BBU1MgdW53cmFwcGVkS2V5LmUgaXMgandrS2V5LmUKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS11bndyYXAtandrLXJzYS1r
ZXktcHVibGljLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0
LWtleS11bndyYXAtandrLXJzYS1rZXktcHVibGljLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2E5ZDg2ZTZh
MzljZmEzYzY2ODE0ZTliNzU2NDE3ZmIwZGFiZjVhMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LXVud3JhcC1qd2stcnNhLWtl
eS1wdWJsaWMuaHRtbApAQCAtMCwwICsxLDU1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IHVud3JhcHBpbmcgYSBKV0sg
UlNBIHB1YmxpYyBrZXkgd2l0aCBBRVMtQ0JDIHVzaW5nIGFuIGltcG9ydGVkIGtleSIpOworCitq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKK3ZhciBqd2tL
ZXkgPSB7CisgICAga3R5OiAiUlNBIiwKKyAgICBhbGc6ICJSU0EtT0FFUCIsCisgICAgdXNlOiAi
ZW5jIiwKKyAgICBrZXlfb3BzOiBbImVuY3J5cHQiXSwKKyAgICBleHQ6IHRydWUsCisgICAgbjog
InJjQ1VDdjdPYzFIVmFtMURJaEN6cWtuVGhXYXdPcDhRTGs4Wml5MnAxMEJ5alFGQ2Fqb0ZpeXVB
V2wtUjFXWFphZjR4aXRMUnJhY1Q5YWdwekl6Yy1NYkxTSElHZ1dRR08yMWxHaUlteTVmdFotRDhi
SEFxUnoyeTE1cHpENGM0Q0VvdTdYU1NMRG9SblIwUUc1TXNEaEQ2czJnVjltd0hrcnRrQ3h0TVdk
QmktNzdhczh3R21sTlJsZGNPU2daRExLOFVuQ1NnQTFPZ3VaOTg5YkZ5Yzh0T09FSWIweFVTZlBT
ejNMUFNDbnlZejY4YURqbUtWZU5ILWlnODU3T1NjeVdiR3lFeTNCaXc2NHF1bjNqdVVsTldzSjN6
bmdrT2R0ZVlXeXR4NVFyNFhLTnM2Ui1NeXlxNzJLVXAwMm1KRFppaXlpZ2x4TUxfaTMtX0NlZWND
dyIsCisgICAgZTogIkFRQUIiCit9OwordmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFycmF5KCJq
bk93OTlvT1pGTElFUE1yIik7Cit2YXIgYWVzQ2JjUGFyYW1zID0geworICAgIG5hbWU6ICJhZXMt
Y2JjIiwKKyAgICBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKSwKK30K
K3ZhciB3cmFwcGVkS2V5ID0gaGV4U3RyaW5nVG9VaW50OEFycmF5KCAiODQ4YWEyZjcwZWUxOGUy
OTUzNTIwMTMyYTc5Y2Y0Nzk0NmUwMGM5OTM2MjM0MGJiNjkwZWRjOWFiNTMxNTc1NzQ2MmMxMjgy
NzhjNjIzMmU3NzBlNzQzN2M1NmVkNzIyYThlMTcwMzg1NWY3ZjNlNTY1Mzk0ZTFhNmEwMzA1YzRl
ZjFiMzBmYTRjN2Y3MmQxYTIzOWNjNmM2YmEwNjc4OTg3OThhMzZhNzUxMzJjNjZiNGEyZDNmYjk0
Mjg4NmFmZmQzZWEzYjI3NTZiMGRkYzg4NmMwMWUzYjkzMTA3NDY5YjgyMTI0NDY4NDA4ZWY4YWI1
NDhiODVhYThmMjA2YzMxMmQ3NGNlNGYyYzY3OWViMTQ3YTI3NWNlZmRhNjRkNWJkYzRhMmI1Yjkw
YTRhYzlhZDNlYjVmMmNmMTlmNWY4NzY1MzIxMWY1OWI0NzMxYmE2MTEyNTU4MmEyMzM5NTEwOTdk
ZWE2NWRiMDU4OTlkNTg3ZDFkY2ZjY2FiOWFiNzQxMGFiMzAxMGI4OTA2NjUwNmRiYWNiYzZiNzNl
NGI1NjQ3OTI3NTEzODhmYTBmNThkNTVjNTljMTRhMDhjOWRmYjBmNzgxMDBiMGY1Y2MyOWQ2MjMy
ODgyMjYzNmQzMGE2YTE1M2VjNWNkNDcyN2FkNWU0N2I0MTljNDg1NDQ1NjU2MzdhYzU3ODk4NjNk
NDNiN2RhNzhjZjQzODNkMDlkNjZlOWQ0NThlNDM2ZGJmYmVlNzVlMzgyYjJiYWI0OWVlYzJjNzQ5
MWZmOTNjZjA5OWZlOTJmZWFmNDY1OGUzMDg4OWZkMTJkM2FlNjFjZDVlOGM4ZTFlNTZhMDc5YjY2
MmY5MGNkMTBjZGJkYmI0ZDEyZWVmYjM2ZDgyNWUxYTA0M2U4MmY1YTk4Zjg5NjBkNjU1ZDNmOWVk
NWFmMzFlNTgxZmE4NDZjYzU4MmY2Y2VlNWMyNWUwYjNjMzIwNTA1MzRhZTk1N2NlMjc4NjBkNDcw
YmEyNmRhMmM3ZDZmYTYyMWIwZmFhOGJlY2FkNThlOWU1NWJiMmE5ZDk4NGIwNDJmMjVkZjIxNDgy
NTI5ODcwZDI3MWNiZjU1MDhhMGVkZmMzY2IzNzMxNmMxMWYxNmIzNDJiYzFmMWY5OGFhIik7CisK
KworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1jYmMiLCBleHRy
YWN0YWJsZSwgWyJ1bndyYXBLZXkiXSkudGhlbihmdW5jdGlvbih1bndyYXBwaW5nS2V5KSB7Cisg
ICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUudW53cmFwS2V5KCJqd2siLCB3cmFwcGVkS2V5LCB1bndy
YXBwaW5nS2V5LCBhZXNDYmNQYXJhbXMsIHtuYW1lOiAicnNhLW9hZXAiLCBoYXNoOiAic2hhLTEi
fSwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCJdKTsKK30pLnRoZW4oZnVuY3Rpb24oY3J5cHRvS2V5
KSB7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBjcnlwdG9LZXkp
OworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICB1bndyYXBwZWRLZXkgPSByZXN1bHQ7
CisKKyAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5Lmt0eSIsICJqd2tLZXkua3R5Iik7CisgICAg
c2hvdWxkQmUoInVud3JhcHBlZEtleS5hbGciLCAiandrS2V5LmFsZyIpOworICAgIHNob3VsZEJl
KCJ1bndyYXBwZWRLZXkua2V5X29wcyIsICJqd2tLZXkua2V5X29wcyIpOworICAgIHNob3VsZEJl
KCJ1bndyYXBwZWRLZXkuZXh0IiwgImp3a0tleS5leHQiKTsKKyAgICBzaG91bGRCZSgidW53cmFw
cGVkS2V5Lm4iLCAiandrS2V5Lm4iKTsKKyAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5LmUiLCAi
andrS2V5LmUiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKKzwvc2NyaXB0PgorCis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Fl
cy1jYmMtaW1wb3J0LWtleS11d3JhcC1qd2stcnNhLWtleS1wdWJsaWMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktdXdyYXAtandrLXJz
YS1rZXktcHVibGljLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZWJjYjFkOGVhMDc1YzJhMmZhZGUzZmRlOTdhMTUzN2NmOGVkZjA4NS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L2Flcy1jYmMtaW1wb3J0LWtleS11d3JhcC1qd2stcnNhLWtleS1wdWJsaWMtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotVGVzdCB1bndyYXBwaW5nIGEgSldLIFJT
QSBwdWJsaWMga2V5IHdpdGggQUVTLUNCQyB1c2luZyBhbiBpbXBvcnRlZCBrZXkKLQotT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgdW53cmFwcGVkS2V5Lmt0eSBpcyBqd2tLZXku
a3R5Ci1QQVNTIHVud3JhcHBlZEtleS5hbGcgaXMgandrS2V5LmFsZwotUEFTUyB1bndyYXBwZWRL
ZXkua2V5X29wcyBpcyBqd2tLZXkua2V5X29wcwotUEFTUyB1bndyYXBwZWRLZXkuZXh0IGlzIGp3
a0tleS5leHQKLVBBU1MgdW53cmFwcGVkS2V5Lm4gaXMgandrS2V5Lm4KLVBBU1MgdW53cmFwcGVk
S2V5LmUgaXMgandrS2V5LmUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1j
YmMtaW1wb3J0LWtleS11d3JhcC1qd2stcnNhLWtleS1wdWJsaWMuaHRtbCBiL0xheW91dFRlc3Rz
L2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LXV3cmFwLWp3ay1yc2Eta2V5LXB1Ymxp
Yy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YTlkODZlNmEzOWNmYTNjNjY4
MTRlOWI3NTY0MTdmYjBkYWJmNWExLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5
LXV3cmFwLWp3ay1yc2Eta2V5LXB1YmxpYy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTUgKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwIGlkPSJkZXNj
cmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci1kZXNj
cmlwdGlvbigiVGVzdCB1bndyYXBwaW5nIGEgSldLIFJTQSBwdWJsaWMga2V5IHdpdGggQUVTLUNC
QyB1c2luZyBhbiBpbXBvcnRlZCBrZXkiKTsKLQotanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLXZh
ciBleHRyYWN0YWJsZSA9IHRydWU7Ci12YXIgandrS2V5ID0gewotICAgIGt0eTogIlJTQSIsCi0g
ICAgYWxnOiAiUlNBLU9BRVAiLAotICAgIHVzZTogImVuYyIsCi0gICAga2V5X29wczogWyJlbmNy
eXB0Il0sCi0gICAgZXh0OiB0cnVlLAotICAgIG46ICJyY0NVQ3Y3T2MxSFZhbTFESWhDenFrblRo
V2F3T3A4UUxrOFppeTJwMTBCeWpRRkNham9GaXl1QVdsLVIxV1haYWY0eGl0TFJyYWNUOWFncHpJ
emMtTWJMU0hJR2dXUUdPMjFsR2lJbXk1ZnRaLUQ4YkhBcVJ6MnkxNXB6RDRjNENFb3U3WFNTTERv
Um5SMFFHNU1zRGhENnMyZ1Y5bXdIa3J0a0N4dE1XZEJpLTc3YXM4d0dtbE5SbGRjT1NnWkRMSzhV
bkNTZ0ExT2d1Wjk4OWJGeWM4dE9PRUliMHhVU2ZQU3ozTFBTQ255WXo2OGFEam1LVmVOSC1pZzg1
N09TY3lXYkd5RXkzQml3NjRxdW4zanVVbE5Xc0ozem5na09kdGVZV3l0eDVRcjRYS05zNlItTXl5
cTcyS1VwMDJtSkRaaWl5aWdseE1MX2kzLV9DZWVjQ3ciLAotICAgIGU6ICJBUUFCIgotfTsKLXZh
ciByYXdLZXkgPSBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIpOwotdmFyIGFl
c0NiY1BhcmFtcyA9IHsKLSAgICBuYW1lOiAiYWVzLWNiYyIsCi0gICAgaXY6IGFzY2lpVG9VaW50
OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIiksCi19Ci12YXIgd3JhcHBlZEtleSA9IGhleFN0cmlu
Z1RvVWludDhBcnJheSggIjg0OGFhMmY3MGVlMThlMjk1MzUyMDEzMmE3OWNmNDc5NDZlMDBjOTkz
NjIzNDBiYjY5MGVkYzlhYjUzMTU3NTc0NjJjMTI4Mjc4YzYyMzJlNzcwZTc0MzdjNTZlZDcyMmE4
ZTE3MDM4NTVmN2YzZTU2NTM5NGUxYTZhMDMwNWM0ZWYxYjMwZmE0YzdmNzJkMWEyMzljYzZjNmJh
MDY3ODk4Nzk4YTM2YTc1MTMyYzY2YjRhMmQzZmI5NDI4ODZhZmZkM2VhM2IyNzU2YjBkZGM4ODZj
MDFlM2I5MzEwNzQ2OWI4MjEyNDQ2ODQwOGVmOGFiNTQ4Yjg1YWE4ZjIwNmMzMTJkNzRjZTRmMmM2
NzllYjE0N2EyNzVjZWZkYTY0ZDViZGM0YTJiNWI5MGE0YWM5YWQzZWI1ZjJjZjE5ZjVmODc2NTMy
MTFmNTliNDczMWJhNjExMjU1ODJhMjMzOTUxMDk3ZGVhNjVkYjA1ODk5ZDU4N2QxZGNmY2NhYjlh
Yjc0MTBhYjMwMTBiODkwNjY1MDZkYmFjYmM2YjczZTRiNTY0NzkyNzUxMzg4ZmEwZjU4ZDU1YzU5
YzE0YTA4YzlkZmIwZjc4MTAwYjBmNWNjMjlkNjIzMjg4MjI2MzZkMzBhNmExNTNlYzVjZDQ3Mjdh
ZDVlNDdiNDE5YzQ4NTQ0NTY1NjM3YWM1Nzg5ODYzZDQzYjdkYTc4Y2Y0MzgzZDA5ZDY2ZTlkNDU4
ZTQzNmRiZmJlZTc1ZTM4MmIyYmFiNDllZWMyYzc0OTFmZjkzY2YwOTlmZTkyZmVhZjQ2NThlMzA4
ODlmZDEyZDNhZTYxY2Q1ZThjOGUxZTU2YTA3OWI2NjJmOTBjZDEwY2RiZGJiNGQxMmVlZmIzNmQ4
MjVlMWEwNDNlODJmNWE5OGY4OTYwZDY1NWQzZjllZDVhZjMxZTU4MWZhODQ2Y2M1ODJmNmNlZTVj
MjVlMGIzYzMyMDUwNTM0YWU5NTdjZTI3ODYwZDQ3MGJhMjZkYTJjN2Q2ZmE2MjFiMGZhYThiZWNh
ZDU4ZTllNTViYjJhOWQ5ODRiMDQyZjI1ZGYyMTQ4MjUyOTg3MGQyNzFjYmY1NTA4YTBlZGZjM2Ni
MzczMTZjMTFmMTZiMzQyYmMxZjFmOThhYSIpOwotCi0KLWNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5
KCJyYXciLCByYXdLZXksICJhZXMtY2JjIiwgZXh0cmFjdGFibGUsIFsidW53cmFwS2V5Il0pLnRo
ZW4oZnVuY3Rpb24odW53cmFwcGluZ0tleSkgewotICAgIHJldHVybiBjcnlwdG8uc3VidGxlLnVu
d3JhcEtleSgiandrIiwgd3JhcHBlZEtleSwgdW53cmFwcGluZ0tleSwgYWVzQ2JjUGFyYW1zLCB7
bmFtZTogInJzYS1vYWVwIiwgaGFzaDogInNoYS0xIn0sIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQi
XSk7Ci19KS50aGVuKGZ1bmN0aW9uKGNyeXB0b0tleSkgewotICAgIHJldHVybiBjcnlwdG8uc3Vi
dGxlLmV4cG9ydEtleSgiandrIiwgY3J5cHRvS2V5KTsKLX0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0
KSB7Ci0gICAgdW53cmFwcGVkS2V5ID0gcmVzdWx0OwotCi0gICAgc2hvdWxkQmUoInVud3JhcHBl
ZEtleS5rdHkiLCAiandrS2V5Lmt0eSIpOwotICAgIHNob3VsZEJlKCJ1bndyYXBwZWRLZXkuYWxn
IiwgImp3a0tleS5hbGciKTsKLSAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5LmtleV9vcHMiLCAi
andrS2V5LmtleV9vcHMiKTsKLSAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5LmV4dCIsICJqd2tL
ZXkuZXh0Iik7Ci0gICAgc2hvdWxkQmUoInVud3JhcHBlZEtleS5uIiwgImp3a0tleS5uIik7Ci0g
ICAgc2hvdWxkQmUoInVud3JhcHBlZEtleS5lIiwgImp3a0tleS5lIik7Ci0KLSAgICBmaW5pc2hK
U1Rlc3QoKTsKLX0pOwotCi08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXkt
andrLWxlbmd0aC0xMjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9h
ZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xMjgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjVmODI5M2I4YWJjMWE3MGM2YzkyYzJhNjA4YTQxMjgwYWZmYjE0Y2MKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUt
ZXhwb3J0LWtleS1qd2stbGVuZ3RoLTEyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAor
VGVzdCBleHBvcnRpbmcgYSAxMjggYml0cyBBRVMtQ0ZCIGtleSB3aXRoIEpXSyBmb3JtYXQKKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0dlbmVyYXRpbmcgYSBrZXkuLi4KK0V4cG9y
dGluZyBhIGtleS4uLgorUEFTUyBrZXkua3R5IGlzICdvY3QnCitQQVNTIGtleS5rZXlfb3BzIGlz
IFsnZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5J10KK1BBU1Mga2V5
LmFsZyBpcyAnQTEyOENGQjgnCitQQVNTIGtleS5leHQgaXMgdHJ1ZQorUEFTUyBCYXNlNjRVUkwu
cGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGggaXMgMTYKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTEyOC5odG1sIGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXktandr
LWxlbmd0aC0xMjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYTAzN2QwODk1OGIwMjE5YzNjY2Y1MDBmMjQ5
MmYzOWEwMzUwNjg4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRs
ZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xMjguaHRtbApAQCAtMCww
ICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4K
K2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhIDEyOCBiaXRzIEFFUy1DRkIga2V5IHdpdGgg
SldLIGZvcm1hdCIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxl
ID0gdHJ1ZTsKKworZGVidWcoIkdlbmVyYXRpbmcgYSBrZXkuLi4iKTsKK2NyeXB0by5zdWJ0bGUu
Z2VuZXJhdGVLZXkoe25hbWU6ICJhZXMtY2ZiLTgiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxl
LCBbImVuY3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVud3JhcEtleSJdKS50aGVuKGZ1
bmN0aW9uKGtleSkgeworICAgIGRlYnVnKCJFeHBvcnRpbmcgYSBrZXkuLi4iKTsKKyAgICByZXR1
cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleSk7Cit9KS50aGVuKGZ1bmN0aW9u
KHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJrZXkua3R5Iiwg
IidvY3QnIik7CisgICAgc2hvdWxkQmUoImtleS5rZXlfb3BzIiwgIlsnZGVjcnlwdCcsICdlbmNy
eXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5J10iKTsKKyAgICBzaG91bGRCZSgia2V5LmFsZyIs
ICInQTEyOENGQjgnIik7CisgICAgc2hvdWxkQmUoImtleS5leHQiLCAidHJ1ZSIpOworICAgIHNo
b3VsZEJlKCJCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGgiLCAiMTYiKTsKKworICAg
IGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9y
dC1rZXktandrLWxlbmd0aC0xOTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xOTItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjc5MTUyZDUyZmQ1ZTA5YzliOTUwNTNlMTUyZjVjYmYxZTg4MDY1ZjgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItZ2Vu
ZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTE5Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NiBAQAorVGVzdCBleHBvcnRpbmcgYSAxOTIgYml0cyBBRVMtQ0ZCIGtleSB3aXRoIEpXSyBmb3Jt
YXQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0dlbmVyYXRpbmcgYSBrZXkuLi4K
K0V4cG9ydGluZyBhIGtleS4uLgorUEFTUyBrZXkua3R5IGlzICdvY3QnCitQQVNTIGtleS5rZXlf
b3BzIGlzIFsnZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5J10KK1BB
U1Mga2V5LmFsZyBpcyAnQTE5MkNGQjgnCitQQVNTIGtleS5leHQgaXMgdHJ1ZQorUEFTUyBCYXNl
NjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGggaXMgMjQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
cnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTE5Mi5o
dG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1r
ZXktandrLWxlbmd0aC0xOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNGJiNDljM2FjMDIzMWZjNDVjNTkw
OWY1ZmU4OGEyM2NmMmJhODc0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRv
L3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xOTIuaHRtbApA
QCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNj
cmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhIDE5MiBiaXRzIEFFUy1DRkIga2V5
IHdpdGggSldLIGZvcm1hdCIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJh
Y3RhYmxlID0gdHJ1ZTsKKworZGVidWcoIkdlbmVyYXRpbmcgYSBrZXkuLi4iKTsKK2NyeXB0by5z
dWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMtY2ZiLTgiLCBsZW5ndGg6IDE5Mn0sIGV4dHJh
Y3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVud3JhcEtleSJdKS50
aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIGRlYnVnKCJFeHBvcnRpbmcgYSBrZXkuLi4iKTsKKyAg
ICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleSk7Cit9KS50aGVuKGZ1
bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJrZXku
a3R5IiwgIidvY3QnIik7CisgICAgc2hvdWxkQmUoImtleS5rZXlfb3BzIiwgIlsnZGVjcnlwdCcs
ICdlbmNyeXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5J10iKTsKKyAgICBzaG91bGRCZSgia2V5
LmFsZyIsICInQTE5MkNGQjgnIik7CisgICAgc2hvdWxkQmUoImtleS5leHQiLCAidHJ1ZSIpOwor
ICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGgiLCAiMjQiKTsK
KworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRl
LWV4cG9ydC1rZXktandrLWxlbmd0aC0yNTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0yNTYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxYzc0YzliZDUyNDEwZjA0YTE3MzVkNjY0NzViZDY1NzYy
ZTFjYzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1j
ZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTI1Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxNiBAQAorVGVzdCBleHBvcnRpbmcgYSAyNTYgYml0cyBBRVMtQ0ZCIGtleSB3aXRoIEpX
SyBmb3JtYXQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0dlbmVyYXRpbmcgYSBr
ZXkuLi4KK0V4cG9ydGluZyBhIGtleS4uLgorUEFTUyBrZXkua3R5IGlzICdvY3QnCitQQVNTIGtl
eS5rZXlfb3BzIGlzIFsnZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5
J10KK1BBU1Mga2V5LmFsZyBpcyAnQTI1NkNGQjgnCitQQVNTIGtleS5leHQgaXMgdHJ1ZQorUEFT
UyBCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGggaXMgMzIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3Ro
LTI1Ni5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4
cG9ydC1rZXktandrLWxlbmd0aC0yNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNWM2Mjk4NjE0ZDFkMjJl
MTU3MGZlYTg1ODAyNjcyZDMyYmYyOGY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0yNTYu
aHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhIDI1NiBiaXRzIEFFUy1D
RkIga2V5IHdpdGggSldLIGZvcm1hdCIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFy
IGV4dHJhY3RhYmxlID0gdHJ1ZTsKKworZGVidWcoIkdlbmVyYXRpbmcgYSBrZXkuLi4iKTsKK2Ny
eXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMtY2ZiLTgiLCBsZW5ndGg6IDI1Nn0s
IGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVud3JhcEtl
eSJdKS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIGRlYnVnKCJFeHBvcnRpbmcgYSBrZXkuLi4i
KTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleSk7Cit9KS50
aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJl
KCJrZXkua3R5IiwgIidvY3QnIik7CisgICAgc2hvdWxkQmUoImtleS5rZXlfb3BzIiwgIlsnZGVj
cnlwdCcsICdlbmNyeXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5J10iKTsKKyAgICBzaG91bGRC
ZSgia2V5LmFsZyIsICInQTI1NkNGQjgnIik7CisgICAgc2hvdWxkQmUoImtleS5leHQiLCAidHJ1
ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGgiLCAi
MzIiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdl
bmVyYXRlLWV4cG9ydC1yYXcta2V5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYTNiZTY4NzUwYWI2OTE4ZDRkOGNmNzQzNTkzNTk4MmQxMDA5NjdlZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1leHBv
cnQtcmF3LWtleS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGVzdCBleHBvcnRpbmcg
YSAyNTYgYml0cyBBRVMtQ0ZCIGtleSB3aXRoIHJhdyBmb3JtYXQKKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK0dlbmVyYXRpbmcgYSBrZXkuLi4KK0V4cG9ydGluZyBhIGtleS4uLgor
UEFTUyBrZXkuYnl0ZUxlbmd0aCBpcyAzMgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0
bGUvYWVzLWNmYi1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS5odG1sIGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1yYXcta2V5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uM2ZkOWQ4YzFlM2U1MzMzODM0YzgxN2UwZDcwZGY3NDZlNmJkOThmZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1leHBvcnQt
cmF3LWtleS5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgMjU2IGJp
dHMgQUVTLUNGQiBrZXkgd2l0aCByYXcgZm9ybWF0Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVl
OworCit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOworCitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4u
LiIpOworY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1jZmItOCIsIGxlbmd0
aDogMjU2fSwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0IiwgIndyYXBLZXkiLCAi
dW53cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgZGVidWcoIkV4cG9ydGluZyBh
IGtleS4uLiIpOworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3Iiwga2V5
KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworCisgICAg
c2hvdWxkQmUoImtleS5ieXRlTGVuZ3RoIiwgIjMyIik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsK
K30pOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1r
ZXktZW5jcnlwdC1kZWNyeXB0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xM2NiMjNlY2RmMWQ3
YmVmMWQ2MDIzOTYzYjY1ZWIyMjkyMjk1MDYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKK1Rlc3QgZW5jcnlwdGluZyZkZWNyeXB0aW5nIHVz
aW5nIEFFUy1DRkIgYWxnb3JpdGhtIHdpdGggYSBnZW5lcmF0ZWQgMjU2Yml0IGtleQorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleS4uLgorRW5jcnlwdGlu
Zy4uLgorUEFTUyBieXRlc1RvQVNDSUlTdHJpbmcoY2lwaGVyVGV4dCkgaXMgbm90ICJIZWxsbywg
V29ybGQhIgorRGVjcnlwdGluZy4uLgorUEFTUyBieXRlc1RvQVNDSUlTdHJpbmcoZGVjcnlwdGVk
VGV4dCkgaXMgcGxhaW5UZXh0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMt
Y2ZiLWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjAxMzc2YzZkYTdiNWQyOWI4OWQzNjFhNTBlNzJiZDE1ZWI0YzdhZgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1rZXkt
ZW5jcnlwdC1kZWNyeXB0Lmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBlbmNyeXB0aW5n
JmRlY3J5cHRpbmcgdXNpbmcgQUVTLUNGQiBhbGdvcml0aG0gd2l0aCBhIGdlbmVyYXRlZCAyNTZi
aXQga2V5Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOwordmFyIHBsYWluVGV4dCA9ICJIZWxs
bywgV29ybGQhIjsKK3ZhciBhZXNDZmJQYXJhbXMgPSB7CisgICAgbmFtZTogImFlcy1jZmItOCIs
CisgICAgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIiksCit9CisKK2Rl
YnVnKCJHZW5lcmF0aW5nIGEga2V5Li4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtu
YW1lOiAiYWVzLWNmYi04IiwgbGVuZ3RoOiAyNTZ9LCB0cnVlLCBbImRlY3J5cHQiLCAiZW5jcnlw
dCJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKyAgICBkZWJ1
ZygiRW5jcnlwdGluZy4uLiIpOworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmVuY3J5cHQoYWVz
Q2ZiUGFyYW1zLCBrZXksIGFzY2lpVG9VaW50OEFycmF5KHBsYWluVGV4dCkpOworfSkudGhlbihm
dW5jdGlvbihyZXN1bHQpIHsKKyAgICBjaXBoZXJUZXh0ID0gcmVzdWx0OworICAgIHNob3VsZE5v
dEJlRXF1YWxUb1N0cmluZygiYnl0ZXNUb0FTQ0lJU3RyaW5nKGNpcGhlclRleHQpIiwgcGxhaW5U
ZXh0KTsKKyAgICBkZWJ1ZygiRGVjcnlwdGluZy4uLiIpOworICAgIHJldHVybiBjcnlwdG8uc3Vi
dGxlLmRlY3J5cHQoYWVzQ2ZiUGFyYW1zLCBrZXksIGNpcGhlclRleHQpOworfSkudGhlbihmdW5j
dGlvbihyZXN1bHQpIHsKKyAgICBkZWNyeXB0ZWRUZXh0ID0gcmVzdWx0OworCisgICAgc2hvdWxk
QmUoImJ5dGVzVG9BU0NJSVN0cmluZyhkZWNyeXB0ZWRUZXh0KSIsICJwbGFpblRleHQiKTsKKwor
ICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWtl
eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJh
dGUta2V5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZTQxYzAzODBhN2ZlYmZmNzM0YTdkNWM4
OGQ4YmE0ZjdlYmRkMzc2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWtleS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAor
VGVzdCBnZW5lcmF0aW5nIGFuIEFFUyBrZXkgd2l0aCBsZW5ndGggMTI4IHVzaW5nIEFFUy1DRkIg
YWxnb3JpdGhtLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBh
IGtleS4uLgorUEFTUyBrZXkudHlwZSBpcyAnc2VjcmV0JworUEFTUyBrZXkuZXh0cmFjdGFibGUg
aXMgdHJ1ZQorUEFTUyBrZXkuYWxnb3JpdGhtLm5hbWUgaXMgJ0FFUy1DRkItOCcKK1BBU1Mga2V5
LmFsZ29yaXRobS5sZW5ndGggaXMgMTI4CitQQVNTIGtleS51c2FnZXMgaXMgWydkZWNyeXB0Jywg
J2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dyYXBLZXknXQorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1rZXkuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1rZXkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZDhlZDIzZDll
ZDdjYjA2MDA0MmM2NzkxZDBhNzY1ZTQ5NWFmMWViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWtleS5odG1sCkBAIC0wLDAgKzEs
MzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVz
Y3JpcHRpb24oIlRlc3QgZ2VuZXJhdGluZyBhbiBBRVMga2V5IHdpdGggbGVuZ3RoIDEyOCB1c2lu
ZyBBRVMtQ0ZCIGFsZ29yaXRobS4iKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2RlYnVn
KCJHZW5lcmF0aW5nIGEga2V5Li4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1l
OiAiYWVzLWNmYi04IiwgbGVuZ3RoOiAxMjh9LCB0cnVlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCIs
ICJ1bndyYXBLZXkiLCAid3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtl
eSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJrZXkudHlwZSIsICInc2VjcmV0JyIpOworICAg
IHNob3VsZEJlKCJrZXkuZXh0cmFjdGFibGUiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJrZXku
YWxnb3JpdGhtLm5hbWUiLCAiJ0FFUy1DRkItOCciKTsKKyAgICBzaG91bGRCZSgia2V5LmFsZ29y
aXRobS5sZW5ndGgiLCAiMTI4Iik7CisgICAgc2hvdWxkQmUoImtleS51c2FnZXMiLCAiWydkZWNy
eXB0JywgJ2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dyYXBLZXknXSIpOworCisgICAgZmluaXNo
SlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3Ro
LTEyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1w
b3J0LWp3ay1rZXktbGVuZ3RoLTEyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDg4MDg5MTgw
NmFlNjE2MzJlYzE3NGE2NzRlZmQ5YzhmOTA3YmFmNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtandrLWtleS1sZW5ndGgtMTI4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitUZXN0IGltcG9ydGluZyBhIEpXSyBBRVMtQ0ZC
IGtleSB3aXRoIGxlZ250aCAxMjgKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0lt
cG9ydGluZyBhIGtleS4uLgorUEFTUyBrZXkudHlwZSBpcyAnc2VjcmV0JworUEFTUyBrZXkuZXh0
cmFjdGFibGUgaXMgdHJ1ZQorUEFTUyBrZXkuYWxnb3JpdGhtLm5hbWUgaXMgJ0FFUy1DRkItOCcK
K1BBU1Mga2V5LmFsZ29yaXRobS5sZW5ndGggaXMgMTI4CitQQVNTIGtleS51c2FnZXMgaXMgWydk
ZWNyeXB0JywgJ2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dyYXBLZXknXQorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtandrLWtleS1sZW5ndGgtMTI4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVu
Z3RoLTEyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUyMTA5Yjg5N2MyNWYyZjhmNGY5NWUxMzFiNDRkOTMw
YzY1MDZlZDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Fl
cy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTEyOC5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9j
b21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24o
IlRlc3QgaW1wb3J0aW5nIGEgSldLIEFFUy1DRkIga2V5IHdpdGggbGVnbnRoIDEyOCIpOworCitq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGp3a0tleSA9IHsKKyAgICBrdHk6ICJvY3QiLAor
ICAgIGs6ICJZV0pqWkdWbVoyZ3hNak0wTlRZM09BIiwKKyAgICBhbGc6ICJBMTI4Q0ZCOCIsCit9
OwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKKworZGVidWcoIkltcG9ydGluZyBhIGtleS4uLiIp
OworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIGp3a0tleSwgImFlcy1jZmItOCIsIGV4
dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVud3JhcEtleSJd
KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKworICAgIHNob3Vs
ZEJlKCJrZXkudHlwZSIsICInc2VjcmV0JyIpOworICAgIHNob3VsZEJlKCJrZXkuZXh0cmFjdGFi
bGUiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJrZXkuYWxnb3JpdGhtLm5hbWUiLCAiJ0FFUy1D
RkItOCciKTsKKyAgICBzaG91bGRCZSgia2V5LmFsZ29yaXRobS5sZW5ndGgiLCAiMTI4Iik7Cisg
ICAgc2hvdWxkQmUoImtleS51c2FnZXMiLCAiWydkZWNyeXB0JywgJ2VuY3J5cHQnLCAndW53cmFw
S2V5JywgJ3dyYXBLZXknXSIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKworPC9zY3Jp
cHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXkt
bGVuZ3RoLTE5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1j
ZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTE5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjRi
M2RmM2IzNWIwM2QwNDJhN2QzMTY5MTE0MTQ0OTc3ZTA3NDYzYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtandrLWtleS1sZW5ndGgt
MTkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitUZXN0IGltcG9ydGluZyBhIEpXSyBB
RVMtQ0ZCIGtleSB3aXRoIGxlZ250aCAxOTIKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK0ltcG9ydGluZyBhIGtleS4uLgorUEFTUyBrZXkudHlwZSBpcyAnc2VjcmV0JworUEFTUyBr
ZXkuZXh0cmFjdGFibGUgaXMgdHJ1ZQorUEFTUyBrZXkuYWxnb3JpdGhtLm5hbWUgaXMgJ0FFUy1D
RkItOCcKK1BBU1Mga2V5LmFsZ29yaXRobS5sZW5ndGggaXMgMTkyCitQQVNTIGtleS51c2FnZXMg
aXMgWydkZWNyeXB0JywgJ2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dyYXBLZXknXQorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtandrLWtleS1sZW5ndGgt
MTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1r
ZXktbGVuZ3RoLTE5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1MGI5ZDk3MDZkNzczYjY3NDRkYTBmNzdm
YTY0OWMyYWE0NGVjZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTE5Mi5odG1sCkBAIC0wLDAgKzEsNDAg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3Jp
cHRpb24oIlRlc3QgaW1wb3J0aW5nIGEgSldLIEFFUy1DRkIga2V5IHdpdGggbGVnbnRoIDE5MiIp
OworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGp3a0tleSA9IHsKKyAgICBrdHk6ICJv
Y3QiLAorICAgIGs6ICJBNzJGRDQ4OTg5RUQ3RTkyQTNCM0EwODBGNzRGQTgwQiIsCisgICAgYWxn
OiAiQTE5MkNGQjgiLAorfTsKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK2RlYnVnKCJJbXBv
cnRpbmcgYSBrZXkuLi4iKTsKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCBqd2tLZXks
ICJhZXMtY2ZiLTgiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0IiwgImRlY3J5cHQiLCAid3JhcEtl
eSIsICJ1bndyYXBLZXkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1
bHQ7CisKKyAgICBzaG91bGRCZSgia2V5LnR5cGUiLCAiJ3NlY3JldCciKTsKKyAgICBzaG91bGRC
ZSgia2V5LmV4dHJhY3RhYmxlIiwgInRydWUiKTsKKyAgICBzaG91bGRCZSgia2V5LmFsZ29yaXRo
bS5uYW1lIiwgIidBRVMtQ0ZCLTgnIik7CisgICAgc2hvdWxkQmUoImtleS5hbGdvcml0aG0ubGVu
Z3RoIiwgIjE5MiIpOworICAgIHNob3VsZEJlKCJrZXkudXNhZ2VzIiwgIlsnZGVjcnlwdCcsICdl
bmNyeXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5J10iKTsKKworICAgIGZpbmlzaEpTVGVzdCgp
OworfSk7CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2Zi
LWltcG9ydC1qd2sta2V5LWxlbmd0aC0yNTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1qd2sta2V5LWxlbmd0aC0yNTYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjM3ZjA5YWNkZTM4ZGZhMWVlNzI5NDQ1MTBlMmJlM2VkNjcxN2I3Y2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0
LWp3ay1rZXktbGVuZ3RoLTI1Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGVzdCBp
bXBvcnRpbmcgYSBKV0sgQUVTLUNGQiBrZXkgd2l0aCBsZWdudGggMjU2CisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitJbXBvcnRpbmcgYSBrZXkuLi4KK1BBU1Mga2V5LnR5cGUgaXMg
J3NlY3JldCcKK1BBU1Mga2V5LmV4dHJhY3RhYmxlIGlzIHRydWUKK1BBU1Mga2V5LmFsZ29yaXRo
bS5uYW1lIGlzICdBRVMtQ0ZCLTgnCitQQVNTIGtleS5hbGdvcml0aG0ubGVuZ3RoIGlzIDI1Ngor
UEFTUyBrZXkudXNhZ2VzIGlzIFsnZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vud3JhcEtleScsICd3
cmFwS2V5J10KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0
LWp3ay1rZXktbGVuZ3RoLTI1Ni5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMt
Y2ZiLWltcG9ydC1qd2sta2V5LWxlbmd0aC0yNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzhkNmQ5MTQ2
ZDc1ODZmODYzZjIyYTI3MzhlY2E4Y2JiMzk5NTdlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1qd2sta2V5LWxlbmd0aC0yNTYuaHRt
bApAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKwor
PHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGltcG9ydGluZyBhIEpXSyBBRVMtQ0ZCIGtleSB3
aXRoIGxlZ250aCAyNTYiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBqd2tLZXkg
PSB7CisgICAga3R5OiAib2N0IiwKKyAgICBrOiAiWVdKalpHVm1aMmd4TWpNME5UWTNPR0ZpWTJS
bFptZG9NVEl6TkRVMk56ZyIsCisgICAgYWxnOiAiQTI1NkNGQjgiLAorfTsKK3ZhciBleHRyYWN0
YWJsZSA9IHRydWU7CisKK2RlYnVnKCJJbXBvcnRpbmcgYSBrZXkuLi4iKTsKK2NyeXB0by5zdWJ0
bGUuaW1wb3J0S2V5KCJqd2siLCBqd2tLZXksICJhZXMtY2ZiLTgiLCBleHRyYWN0YWJsZSwgWyJl
bmNyeXB0IiwgImRlY3J5cHQiLCAid3JhcEtleSIsICJ1bndyYXBLZXkiXSkudGhlbihmdW5jdGlv
bihyZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgia2V5LnR5cGUi
LCAiJ3NlY3JldCciKTsKKyAgICBzaG91bGRCZSgia2V5LmV4dHJhY3RhYmxlIiwgInRydWUiKTsK
KyAgICBzaG91bGRCZSgia2V5LmFsZ29yaXRobS5uYW1lIiwgIidBRVMtQ0ZCLTgnIik7CisgICAg
c2hvdWxkQmUoImtleS5hbGdvcml0aG0ubGVuZ3RoIiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJr
ZXkudXNhZ2VzIiwgIlsnZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5
J10iKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKKzwvc2NyaXB0PgorCis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktZGVjcnlwdC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1kZWNyeXB0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzBlNjBjMWUxZGFmNGUwOTkwMGM5ZDU3ODJlZjky
YzUwOWRkMTM3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9h
ZXMtY2ZiLWltcG9ydC1rZXktZGVjcnlwdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAor
VGVzdCBkZWNyeXB0aW5nIHVzaW5nIEFFUy1DRkIgd2l0aCBhbiBpbXBvcnRlZCAxMjhiaXQga2V5
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGJ5dGVzVG9BU0NJSVN0cmlu
ZyhwbGFpblRleHQpIGlzIGV4cGVjdGVkUGxhaW5UZXh0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktZGVjcnlwdC5odG1sIGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktZGVjcnlwdC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY3NzdjNzkxMDRmMDhkNDhlZWNhMDRlYjU1NGI2Y2Q2OTRhYmZhNjkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1kZWNyeXB0
Lmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBkZWNyeXB0aW5nIHVzaW5nIEFFUy1DRkIg
d2l0aCBhbiBpbXBvcnRlZCAxMjhiaXQga2V5Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOwor
Cit2YXIgZXh0cmFjdGFibGUgPSBmYWxzZTsKK3ZhciBjaXBoZXJUZXh0ID0gaGV4U3RyaW5nVG9V
aW50OEFycmF5KCJhNTcyNTI1YTBiYWVmODhlNmY1YjE5OGM2ZiIpOwordmFyIGFlc0NmYlBhcmFt
cyA9IHsKKyAgICBuYW1lOiAiYWVzLWNmYi04IiwKKyAgICBpdjogYXNjaWlUb1VpbnQ4QXJyYXko
ImpuT3c5OW9PWkZMSUVQTXIiKSwKK30KK3ZhciByYXdLZXkgPSBhc2NpaVRvVWludDhBcnJheSgi
am5Pdzk5b09aRkxJRVBNciIpOwordmFyIGV4cGVjdGVkUGxhaW5UZXh0ID0gIkhlbGxvLCBXb3Js
ZCEiOworCitjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVzLWNmYi04
IiwgZXh0cmFjdGFibGUsIFsiZGVjcnlwdCJdKS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIHJl
dHVybiBjcnlwdG8uc3VidGxlLmRlY3J5cHQoYWVzQ2ZiUGFyYW1zLCBrZXksIGNpcGhlclRleHQp
OworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBwbGFpblRleHQgPSByZXN1bHQ7CisK
KyAgICBzaG91bGRCZSgiYnl0ZXNUb0FTQ0lJU3RyaW5nKHBsYWluVGV4dCkiLCAiZXhwZWN0ZWRQ
bGFpblRleHQiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKKzwvc2NyaXB0PgorCis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Fl
cy1jZmItaW1wb3J0LWtleS1lbmNyeXB0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LWVuY3J5cHQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmY5ZGNjZjYwMmM5NGU1ZDg0NzNlZTA2NThlMjAxZjNhMDcwNzQyNjMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1lbmNy
eXB0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0IGVuY3J5cHRpbmcgdXNpbmcg
QUVTLUNGQiB3aXRoIGFuIGltcG9ydGVkIDEyOGJpdCBrZXkKKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhjaXBoZXJUZXh0KSBpcyBleHBlY3Rl
ZENpcGhlclRleHQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1w
b3J0LWtleS1lbmNyeXB0Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmIt
aW1wb3J0LWtleS1lbmNyeXB0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGZiZWJiMTRiNTMzYTNjYmVjNTFl
Y2YzZDg2MGQyZDcwNTk1NjJlZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LWVuY3J5cHQuaHRtbApAQCAtMCwwICsxLDM5IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0
aW9uKCJUZXN0IGVuY3J5cHRpbmcgdXNpbmcgQUVTLUNGQiB3aXRoIGFuIGltcG9ydGVkIDEyOGJp
dCBrZXkiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IGZh
bHNlOwordmFyIHBsYWluVGV4dCA9IGFzY2lpVG9VaW50OEFycmF5KCJIZWxsbywgV29ybGQhIik7
Cit2YXIgYWVzQ2ZiUGFyYW1zID0geworICAgIG5hbWU6ICJhZXMtY2ZiLTgiLAorICAgIGl2OiBh
c2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIpLAorfQordmFyIHJhd0tleSA9IGFz
Y2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIik7Cit2YXIgZXhwZWN0ZWRDaXBoZXJU
ZXh0ID0gImE1NzI1MjVhMGJhZWY4OGU2ZjViMTk4YzZmIjsKKworY3J5cHRvLnN1YnRsZS5pbXBv
cnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1jZmItOCIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQi
XSkudGhlbihmdW5jdGlvbihrZXkpIHsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5lbmNyeXB0
KGFlc0NmYlBhcmFtcywga2V5LCBwbGFpblRleHQpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQp
IHsKKyAgICBjaXBoZXJUZXh0ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImJ5dGVzVG9IZXhT
dHJpbmcoY2lwaGVyVGV4dCkiLCAiZXhwZWN0ZWRDaXBoZXJUZXh0Iik7CisKKyAgICBmaW5pc2hK
U1Rlc3QoKTsKK30pOworCis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWp3
ay1rZXktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWlt
cG9ydC1rZXktdW53cmFwLWp3ay1rZXktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM4ZTMwMGYx
NTJhZjBiNTliZWM5MThiNjQ3MWMwOTFiOGI3MDg0ZjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAtandrLWtleS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorVGVzdCB1bndyYXBwaW5nIGEgSldLIGtleSB3
aXRoIEFFUy1DRkIgdXNpbmcgYW4gaW1wb3J0ZWQga2V5CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitQQVNTIHVud3JhcHBlZEtleS5rdHkgaXMgandrS2V5Lmt0eQorUEFTUyB1bndy
YXBwZWRLZXkuYWxnIGlzIGp3a0tleS5hbGcKK1BBU1MgdW53cmFwcGVkS2V5LmtleV9vcHMgaXMg
andrS2V5LmtleV9vcHMKK1BBU1MgdW53cmFwcGVkS2V5LmV4dCBpcyBqd2tLZXkuZXh0CitQQVNT
IHVud3JhcHBlZEtleS5rIGlzIGp3a0tleS5rCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWp3ay1rZXkuaHRtbCBiL0xheW91dFRlc3Rz
L2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXVud3JhcC1qd2sta2V5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNmE0NWIxNDk4ZDZiMzBiY2IxNjEyZmIyYzY1OGM4NGFlMTU0N2Y1NQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5
LXVud3JhcC1qd2sta2V5Lmh0bWwKQEAgLTAsMCArMSw1MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCB1bndyYXBwaW5n
IGEgSldLIGtleSB3aXRoIEFFUy1DRkIgdXNpbmcgYW4gaW1wb3J0ZWQga2V5Iik7CisKK2pzVGVz
dElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOwordmFyIHJhd0tleSA9
IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIik7Cit2YXIgandrS2V5ID0gewor
ICAgIGt0eTogIm9jdCIsCisgICAgYWxnOiAiQTEyOENCQyIsCisgICAgdXNlOiAiZW5jIiwKKyAg
ICBrZXlfb3BzOiBbImVuY3J5cHQiXSwKKyAgICBleHQ6IHRydWUsCisgICAgazogImFtNVBkems1
YjA5YVJreEpSVkJOY2ciLAorfTsKK3ZhciBhZXNDZmJQYXJhbXMgPSB7CisgICAgbmFtZTogImFl
cy1jZmItOCIsCisgICAgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIiks
Cit9Cit2YXIgd3JhcHBlZEtleSA9IGhleFN0cmluZ1RvVWludDhBcnJheSgiOTZhMTc0MGM1OGNi
MDM5Y2U5ZDNmNzdjNDAzMWVmYzZlM2MxNmFkYmMxY2U5YTFiMGQ1YmM1Yjk1M2UyZDlkZTNmNTQx
M2IwMWI5NDA0NzdmZDgwY2VlOWY0OWUwOWMzOGNlOTY1YzIwNDBhM2ZjMTQ0OWJhNGYyYjZjMDMz
ODZhY2QyYjJhMTQ1ZTMzNWUxODkwYzRhYzM1MWI0NzAyZDA3YjZlYTMzMGNjZTlkNDRhZjdlMmEi
KTsKKworCitjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVzLWNmYi04
IiwgZXh0cmFjdGFibGUsIFsidW53cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24odW53cmFwcGluZ0tl
eSkgeworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgiandrIiwgd3JhcHBlZEtl
eSwgdW53cmFwcGluZ0tleSwgYWVzQ2ZiUGFyYW1zLCB7bmFtZTogImFlcy1jYmMifSwgZXh0cmFj
dGFibGUsIFsiZW5jcnlwdCJdKTsKK30pLnRoZW4oZnVuY3Rpb24oY3J5cHRvS2V5KSB7CisgICAg
cmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBjcnlwdG9LZXkpOworfSkudGhl
bihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICB1bndyYXBwZWRLZXkgPSByZXN1bHQ7CisKKyAgICBz
aG91bGRCZSgidW53cmFwcGVkS2V5Lmt0eSIsICJqd2tLZXkua3R5Iik7CisgICAgc2hvdWxkQmUo
InVud3JhcHBlZEtleS5hbGciLCAiandrS2V5LmFsZyIpOworICAgIHNob3VsZEJlKCJ1bndyYXBw
ZWRLZXkua2V5X29wcyIsICJqd2tLZXkua2V5X29wcyIpOworICAgIHNob3VsZEJlKCJ1bndyYXBw
ZWRLZXkuZXh0IiwgImp3a0tleS5leHQiKTsKKyAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5Lmsi
LCAiandrS2V5LmsiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKKzwvc2NyaXB0Pgor
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAtcmF3LWtleS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAtcmF3LWtleS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzBmY2I5OWNkNzEyNGMzM2ZlY2IyMjVlMDM3ZTczMTVmMmJm
OGJhYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNm
Yi1pbXBvcnQta2V5LXVud3JhcC1yYXcta2V5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBA
CitUZXN0IHVud3JhcHBpbmcgYSByYXcga2V5IHdpdGggQUVTLUNGQiB1c2luZyBhbiBpbXBvcnRl
ZCBrZXkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgYnl0ZXNUb0FTQ0lJ
U3RyaW5nKHVud3JhcHBlZEtleSkgaXMgZXhwZWN0ZWRSYXdLZXkKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAtcmF3LWtleS5odG1sIGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLXJhdy1r
ZXkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMDk0NDhiNGQyYTU3MzdhOTY2ZWUxMWEzMWE2ZGM3MjQ3ZjFi
NmViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2Zi
LWltcG9ydC1rZXktdW53cmFwLXJhdy1rZXkuaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9u
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0
IHVud3JhcHBpbmcgYSByYXcga2V5IHdpdGggQUVTLUNGQiB1c2luZyBhbiBpbXBvcnRlZCBrZXki
KTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7Cit2
YXIgZXhwZWN0ZWRSYXdLZXkgPSAiam5Pdzk5b09aRkxJRVBNciI7Cit2YXIgcmF3S2V5ID0gYXNj
aWlUb1VpbnQ4QXJyYXkoZXhwZWN0ZWRSYXdLZXkpOwordmFyIGFlc0NmYlBhcmFtcyA9IHsKKyAg
ICBuYW1lOiAiYWVzLWNmYi04IiwKKyAgICBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9P
WkZMSUVQTXIiKSwKK30KK3ZhciB3cmFwcGVkS2V5ID0gaGV4U3RyaW5nVG9VaW50OEFycmF5KCI4
NzA3ZWUzMTFmNmU4ZWQxNTc4ODVhN2ZjMjVmMGVlNyIpOworCisKK2NyeXB0by5zdWJ0bGUuaW1w
b3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMtY2ZiLTgiLCBleHRyYWN0YWJsZSwgWyJ1bndyYXBL
ZXkiXSkudGhlbihmdW5jdGlvbih1bndyYXBwaW5nS2V5KSB7CisgICAgcmV0dXJuIGNyeXB0by5z
dWJ0bGUudW53cmFwS2V5KCJyYXciLCB3cmFwcGVkS2V5LCB1bndyYXBwaW5nS2V5LCBhZXNDZmJQ
YXJhbXMsIHtuYW1lOiAiYWVzLWNiYyJ9LCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0Il0pOworfSku
dGhlbihmdW5jdGlvbihjcnlwdG9LZXkpIHsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBv
cnRLZXkoInJhdyIsIGNyeXB0b0tleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAg
IHVud3JhcHBlZEtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJieXRlc1RvQVNDSUlTdHJp
bmcodW53cmFwcGVkS2V5KSIsICJleHBlY3RlZFJhd0tleSIpOworCisgICAgZmluaXNoSlNUZXN0
KCk7Cit9KTsKKworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXdyYXAtandrLWtleS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtl
eS13cmFwLWp3ay1rZXktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUzNjE4YTEzNzVhZjllNjM2
NmVkOGNiZTBmMDE2M2MxN2NlZjlhZGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
cnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS13cmFwLWp3ay1rZXktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3Qgd3JhcHBpbmcgYSBKV0sga2V5IHdpdGggQUVTLUNGQiB1
c2luZyBhbiBpbXBvcnRlZCBrZXkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1MgYnl0ZXNUb0hleFN0cmluZyh3cmFwcGVkS2V5KSBpcyBleHBlY3RXcmFwcGVkS2V5CitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1qd2st
a2V5Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS13
cmFwLWp3ay1rZXkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMGE4YWUwOWRjZTAxMzI0ZTAwZjdlNWIwMWFk
YzA1NWI2ZmFmYjUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRs
ZS9hZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1qd2sta2V5Lmh0bWwKQEAgLTAsMCArMSw0MiBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlv
bigiVGVzdCB3cmFwcGluZyBhIEpXSyBrZXkgd2l0aCBBRVMtQ0ZCIHVzaW5nIGFuIGltcG9ydGVk
IGtleSIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gdHJ1
ZTsKK3ZhciByYXdLZXkgPSBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIpOwor
dmFyIGFlc0NmYlBhcmFtcyA9IHsKKyAgICBuYW1lOiAiYWVzLWNmYi04IiwKKyAgICBpdjogYXNj
aWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKSwKK30KK3ZhciBleHBlY3RXcmFwcGVk
S2V5ID0gIjk2YTE3ZWRlMzQxNGQ5OTA3NDFkMmZlNWYxZDkzZTc0OTk5ZWQ2Y2E2MDcxZGI2ZGMw
Y2YwYmNmOTE3OGIxYWMwMzcwNzZkMThmZmUwZTI0N2VlNTcwYzJkNTUxYmM3NjIxYjBkNzkxZGY5
YzdiYzdjMDIxZWExZmRhODNlNGM0MWQ4NzA0MTEyNzc3YTg2NDEzZGQ3YjIwMDg4NDc5YTYxNWI4
Mzk0MmQzOTAzZWYwOGY4MWY0IjsKKworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJh
d0tleSwgImFlcy1jZmItOCIsIGV4dHJhY3RhYmxlLCBbIndyYXBLZXkiXSkudGhlbihmdW5jdGlv
bihyZXN1bHQpIHsKKyAgICB3cmFwcGluZ0tleSA9IHJlc3VsdDsKKyAgICByZXR1cm4gY3J5cHRv
LnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1jYmMiLCBleHRyYWN0YWJsZSwg
WyJlbmNyeXB0Il0pOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1
bHQ7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUud3JhcEtleSgiandrIiwga2V5LCB3cmFwcGlu
Z0tleSwgYWVzQ2ZiUGFyYW1zKTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgd3Jh
cHBlZEtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5nKHdyYXBw
ZWRLZXkpIiwgImV4cGVjdFdyYXBwZWRLZXkiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7
CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS13cmFwLXJhdy1rZXktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1y
YXcta2V5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZTgzYmI1NDViN2YzNTQ1NDFlMzI1MzNk
ODBlNWYyY2IwNTllMWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1yYXcta2V5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEwIEBACitUZXN0IHdyYXBwaW5nIGEgcmF3IGtleSB3aXRoIEFFUy1DRkIgdXNpbmcgYW4g
aW1wb3J0ZWQga2V5CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGJ5dGVz
VG9IZXhTdHJpbmcod3JhcHBlZEtleSkgaXMgZXhwZWN0V3JhcHBlZEtleQorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXdyYXAtcmF3LWtleS5odG1s
IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1yYXct
a2V5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNDZmZjY0NTI2M2MzMmRkMWExZmQxMjZmMDI1NDVkNjk1ZGVl
NzUzZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNm
Yi1pbXBvcnQta2V5LXdyYXAtcmF3LWtleS5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24u
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3Qg
d3JhcHBpbmcgYSByYXcga2V5IHdpdGggQUVTLUNGQiB1c2luZyBhbiBpbXBvcnRlZCBrZXkiKTsK
KworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7Cit2YXIg
cmF3S2V5ID0gYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKTsKK3ZhciBhZXND
ZmJQYXJhbXMgPSB7CisgICAgbmFtZTogImFlcy1jZmItOCIsCisgICAgaXY6IGFzY2lpVG9VaW50
OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIiksCit9Cit2YXIgZXhwZWN0V3JhcHBlZEtleSA9ICI4
NzA3ZWUzMTFmNmU4ZWQxNTc4ODVhN2ZjMjVmMGVlNyI7CisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0
S2V5KCJyYXciLCByYXdLZXksICJhZXMtY2ZiLTgiLCBleHRyYWN0YWJsZSwgWyJ3cmFwS2V5Il0p
LnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgd3JhcHBpbmdLZXkgPSByZXN1bHQ7CisgICAg
cmV0dXJuIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMtY2JjIiwg
ZXh0cmFjdGFibGUsIFsiZW5jcnlwdCJdKTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7Cisg
ICAga2V5ID0gcmVzdWx0OworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLndyYXBLZXkoInJhdyIs
IGtleSwgd3JhcHBpbmdLZXksIGFlc0NmYlBhcmFtcyk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3Vs
dCkgeworICAgIHdyYXBwZWRLZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgiYnl0ZXNUb0hl
eFN0cmluZyh3cmFwcGVkS2V5KSIsICJleHBlY3RXcmFwcGVkS2V5Iik7CisKKyAgICBmaW5pc2hK
U1Rlc3QoKTsKK30pOworCis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1yYXcta2V5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtcmF3LWtl
eS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDE5MjFhMTM5Y2Q2NWNmNDBkZThiNmVmNjU1YmU3
NTBlNzY2NzVjMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUv
YWVzLWNmYi1pbXBvcnQtcmF3LWtleS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGVz
dCBpbXBvcnRpbmcgYSByYXcgQUVTLUNGQiBrZXkgd2l0aCBsZWdudGggMTI4CisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitJbXBvcnRpbmcgYSBrZXkuLi4KK1BBU1Mga2V5LnR5cGUg
aXMgJ3NlY3JldCcKK1BBU1Mga2V5LmV4dHJhY3RhYmxlIGlzIHRydWUKK1BBU1Mga2V5LmFsZ29y
aXRobS5uYW1lIGlzICdBRVMtQ0ZCLTgnCitQQVNTIGtleS5hbGdvcml0aG0ubGVuZ3RoIGlzIDEy
OAorUEFTUyBrZXkudXNhZ2VzIGlzIFsnZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vud3JhcEtleScs
ICd3cmFwS2V5J10KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1w
b3J0LXJhdy1rZXkuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBv
cnQtcmF3LWtleS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc2YTFmZWZhYmRlNGYzZjEyNjI0YWM3ODVmYmEx
YjYyMjU2MWZhZWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L2Flcy1jZmItaW1wb3J0LXJhdy1rZXkuaHRtbApAQCAtMCwwICsxLDM2IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGlt
cG9ydGluZyBhIHJhdyBBRVMtQ0ZCIGtleSB3aXRoIGxlZ250aCAxMjgiKTsKKworanNUZXN0SXNB
c3luYyA9IHRydWU7CisKK3ZhciByYXdLZXkgPSBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09a
RkxJRVBNciIpOwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKKworZGVidWcoIkltcG9ydGluZyBh
IGtleS4uLiIpOworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1j
ZmItOCIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVu
d3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKwor
ICAgIHNob3VsZEJlKCJrZXkudHlwZSIsICInc2VjcmV0JyIpOworICAgIHNob3VsZEJlKCJrZXku
ZXh0cmFjdGFibGUiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJrZXkuYWxnb3JpdGhtLm5hbWUi
LCAiJ0FFUy1DRkItOCciKTsKKyAgICBzaG91bGRCZSgia2V5LmFsZ29yaXRobS5sZW5ndGgiLCAi
MTI4Iik7CisgICAgc2hvdWxkQmUoImtleS51c2FnZXMiLCAiWydkZWNyeXB0JywgJ2VuY3J5cHQn
LCAndW53cmFwS2V5JywgJ3dyYXBLZXknXSIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsK
KworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1nZW5lcmF0ZS1r
ZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRv
L3N1YnRsZS9hZXMtZ2VuZXJhdGUta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4
dAppbmRleCA0MzJkYmJkYmU1Mzk5ODg1ODgyOTI4YzBlMWViNjE0NDI1ZTA1ZjliLi40OGY1YzU2
NzVlMTY4NWJjNDYyYzJmNTliNTRkZTJkNGQ5OWZiZDkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2Flcy1nZW5lcmF0ZS1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWdlbmVyYXRlLWtl
eS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKQEAgLTIxLDYgKzIxLDEwIEBAIFBB
U1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1rdyIsIGxlbmd0aDogMTI4
fSwgZXh0cmFjdGFibGUsIFsic2lnCiBQQVNTIGNyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25h
bWU6ICJhZXMta3ciLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCBbInZlcmlmeSJdKSByZWpl
Y3RlZCBwcm9taXNlICB3aXRoIFN5bnRheEVycm9yIChET00gRXhjZXB0aW9uIDEyKTogQSByZXF1
aXJlZCBwYXJhbWV0ZXIgd2FzIG1pc3Npbmcgb3Igb3V0LW9mLXJhbmdlLgogUEFTUyBjcnlwdG8u
c3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWt3IiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0
YWJsZSwgWyJkZXJpdmVLZXkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBTeW50YXhFcnJvciAo
RE9NIEV4Y2VwdGlvbiAxMik6IEEgcmVxdWlyZWQgcGFyYW1ldGVyIHdhcyBtaXNzaW5nIG9yIG91
dC1vZi1yYW5nZS4KIFBBU1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1r
dyIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIFsiZGVyaXZlQml0cyJdKSByZWplY3RlZCBw
cm9taXNlICB3aXRoIFN5bnRheEVycm9yIChET00gRXhjZXB0aW9uIDEyKTogQSByZXF1aXJlZCBw
YXJhbWV0ZXIgd2FzIG1pc3Npbmcgb3Igb3V0LW9mLXJhbmdlLgorUEFTUyBjcnlwdG8uc3VidGxl
LmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWNmYi04IiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJs
ZSwgWyJzaWduIl0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggU3ludGF4RXJyb3IgKERPTSBFeGNl
cHRpb24gMTIpOiBBIHJlcXVpcmVkIHBhcmFtZXRlciB3YXMgbWlzc2luZyBvciBvdXQtb2YtcmFu
Z2UuCitQQVNTIGNyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMtY2ZiLTgiLCBs
ZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCBbInZlcmlmeSJdKSByZWplY3RlZCBwcm9taXNlICB3
aXRoIFN5bnRheEVycm9yIChET00gRXhjZXB0aW9uIDEyKTogQSByZXF1aXJlZCBwYXJhbWV0ZXIg
d2FzIG1pc3Npbmcgb3Igb3V0LW9mLXJhbmdlLgorUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVyYXRl
S2V5KHtuYW1lOiAiYWVzLWNmYi04IiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgWyJkZXJp
dmVLZXkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBTeW50YXhFcnJvciAoRE9NIEV4Y2VwdGlv
biAxMik6IEEgcmVxdWlyZWQgcGFyYW1ldGVyIHdhcyBtaXNzaW5nIG9yIG91dC1vZi1yYW5nZS4K
K1BBU1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1jZmItOCIsIGxlbmd0
aDogMTI4fSwgZXh0cmFjdGFibGUsIFsiZGVyaXZlQml0cyJdKSByZWplY3RlZCBwcm9taXNlICB3
aXRoIFN5bnRheEVycm9yIChET00gRXhjZXB0aW9uIDEyKTogQSByZXF1aXJlZCBwYXJhbWV0ZXIg
d2FzIG1pc3Npbmcgb3Igb3V0LW9mLXJhbmdlLgogUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVyYXRl
S2V5KHtuYW1lOiAiYWVzLWNiYyIsIGxlbmd0aDogMTExfSwgZXh0cmFjdGFibGUsIFsiZW5jcnlw
dCJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIE9wZXJhdGlvbkVycm9yIChET00gRXhjZXB0aW9u
IDM0KTogVGhlIG9wZXJhdGlvbiBmYWlsZWQgZm9yIGFuIG9wZXJhdGlvbi1zcGVjaWZpYyByZWFz
b24uCiBQQVNTIGNyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMta3ciLCBsZW5n
dGg6IDExMX0sIGV4dHJhY3RhYmxlLCBbIndyYXBLZXkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0
aCBPcGVyYXRpb25FcnJvciAoRE9NIEV4Y2VwdGlvbiAzNCk6IFRoZSBvcGVyYXRpb24gZmFpbGVk
IGZvciBhbiBvcGVyYXRpb24tc3BlY2lmaWMgcmVhc29uLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtZ2Vu
ZXJhdGUta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL2Flcy1nZW5lcmF0ZS1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbAppbmRleCAx
YTRmMWQ2MzYwNTY4ZTJhNmQ4MmE4NTg0Zjk5OWRhNmU0MWZmZDk3Li42MWJkODA5MjkyOTE5Mjlh
MDE1Zjc3M2IyYmViMmY0N2RiODkyYjlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL2Flcy1nZW5lcmF0ZS1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1nZW5lcmF0ZS1rZXktbWFsZm9ybWVkLXBhcmFt
ZXRlcnMuaHRtbApAQCAtMzMsNiArMzMsMTAgQEAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxl
LmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWt3IiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWIKIHNo
b3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1rdyIsIGxl
bmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIFsidmVyaWZ5Il0pJyk7CiBzaG91bGRSZWplY3QoJ2Ny
eXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMta3ciLCBsZW5ndGg6IDEyOH0sIGV4
dHJhY3RhYmxlLCBbImRlcml2ZUtleSJdKScpOwogc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxl
LmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWt3IiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwg
WyJkZXJpdmVCaXRzIl0pJyk7CitzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVL
ZXkoe25hbWU6ICJhZXMtY2ZiLTgiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCBbInNpZ24i
XSknKTsKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFl
cy1jZmItOCIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIFsidmVyaWZ5Il0pJyk7CitzaG91
bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMtY2ZiLTgiLCBs
ZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCBbImRlcml2ZUtleSJdKScpOworc2hvdWxkUmVqZWN0
KCdjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWNmYi04IiwgbGVuZ3RoOiAx
Mjh9LCBleHRyYWN0YWJsZSwgWyJkZXJpdmVCaXRzIl0pJyk7CiAvLyBXcm9uZyBsZW5ndGgKIHNo
b3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1jYmMiLCBs
ZW5ndGg6IDExMX0sIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiXSknKTsKIHNob3VsZFJlamVjdCgn
Y3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1rdyIsIGxlbmd0aDogMTExfSwg
ZXh0cmFjdGFibGUsIFsid3JhcEtleSJdKScpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9hZXMtaW1wb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1pbXBvcnQta2V5LW1hbGZvcm1lZC1w
YXJhbWV0ZXJzLWV4cGVjdGVkLnR4dAppbmRleCAwN2ViNjJiNjA3NDgxYThiMmY4NDc5ZDRhZjA2
YTNlY2I2MDYwYWYyLi41NTUyY2U2Mzg2NTZlZThlYjhiZGZjNjc5OGMxZWE4MzJhNGQ5NzQ3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1pbXBvcnQta2V5LW1hbGZv
cm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL2Flcy1pbXBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApAQCAt
MjAsNiArMjAsMTAgQEAgUEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTog
Im9jdCIsIGs6ICJBNzJGIiwgYWxnOiAiZm9vIn0sICJhZXMta3cKIFBBU1MgY3J5cHRvLnN1YnRs
ZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiBrMTI4LCBhbGc6ICIifSwgImFlcy1r
dyIsIGV4dHJhY3RhYmxlLCBbIndyYXBLZXkiLCAidW53cmFwS2V5Il0pIHJlamVjdGVkIHByb21p
c2UgIHdpdGggRGF0YUVycm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0byBh
biBvcGVyYXRpb24gZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMuCiBQQVNTIGNyeXB0by5zdWJ0
bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogazE5MiwgYWxnOiAiIn0sICJhZXMt
a3ciLCBleHRyYWN0YWJsZSwgWyJ3cmFwS2V5IiwgInVud3JhcEtleSJdKSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlkZWQgdG8g
YW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgogUEFTUyBjcnlwdG8uc3Vi
dGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGsyNTYsIGFsZzogIiJ9LCAiYWVz
LWt3IiwgZXh0cmFjdGFibGUsIFsid3JhcEtleSIsICJ1bndyYXBLZXkiXSkgcmVqZWN0ZWQgcHJv
bWlzZSAgd2l0aCBEYXRhRXJyb3IgKERPTSBFeGNlcHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRv
IGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBtZWV0IHJlcXVpcmVtZW50cy4KK1BBU1MgY3J5cHRvLnN1
YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiBrMTI4LCBhbGc6ICJBMTkyQ0ZC
OCJ9LCAiYWVzLWNmYi04IiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0IiwgIndy
YXBLZXkiLCAidW53cmFwS2V5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggRGF0YUVycm9yIChE
T00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24gZG9lcyBub3Qg
bWVldCByZXF1aXJlbWVudHMuCitQQVNTIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7
a3R5OiAib2N0IiwgazogazE5MiwgYWxnOiAiQTI1NkNGQjgifSwgImFlcy1jZmItOCIsIGV4dHJh
Y3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVud3JhcEtleSJdKSBy
ZWplY3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEg
cHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgorUEFT
UyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGsyNTYsIGFs
ZzogIkExMjhDRkI4In0sICJhZXMtY2ZiLTgiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0IiwgImRl
Y3J5cHQiLCAid3JhcEtleSIsICJ1bndyYXBLZXkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBE
YXRhRXJyb3IgKERPTSBFeGNlcHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlv
biBkb2VzIG5vdCBtZWV0IHJlcXVpcmVtZW50cy4KK1BBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRL
ZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiAiQTcyRiIsIGFsZzogImZvbyJ9LCAiYWVzLWNiYyIs
IGV4dHJhY3RhYmxlLCBbIndyYXBLZXkiLCAidW53cmFwS2V5Il0pIHJlamVjdGVkIHByb21pc2Ug
IHdpdGggRGF0YUVycm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0byBhbiBv
cGVyYXRpb24gZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMuCiBQQVNTIGNyeXB0by5zdWJ0bGUu
aW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogIiEhISIsIGFsZzogImZvbyJ9LCAiYWVz
LWNiYyIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVu
d3JhcEtleSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlv
biAzMCk6IERhdGEgcHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWly
ZW1lbnRzLgogUEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIs
IGs6ICIiLCBhbGc6ICJmb28ifSwgImFlcy1jYmMiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0Iiwg
ImRlY3J5cHQiLCAid3JhcEtleSIsICJ1bndyYXBLZXkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0
aCBEYXRhRXJyb3IgKERPTSBFeGNlcHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJh
dGlvbiBkb2VzIG5vdCBtZWV0IHJlcXVpcmVtZW50cy4KIFBBU1MgY3J5cHRvLnN1YnRsZS5pbXBv
cnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiBrMTI4LCBhbGc6ICJBMTI4Q0JDIiwgdXNlOiAi
c2lnIn0sICJhZXMtY2JjIiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0IiwgIndy
YXBLZXkiLCAidW53cmFwS2V5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggRGF0YUVycm9yIChE
T00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24gZG9lcyBub3Qg
bWVldCByZXF1aXJlbWVudHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L2Flcy1pbXBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9j
cnlwdG8vc3VidGxlL2Flcy1pbXBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKaW5k
ZXggOTNjYjRlOTljMzkwNWMxNGYxMThkOGQxYjQ0MzU5ZjFlNGQwYTMwZS4uZjMxOGQ0MGRkMWM4
MGJmYjQ5MWNkNDVlMDlhNjJjMzlmMzY1MTk3OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9hZXMtaW1wb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWltcG9ydC1rZXktbWFsZm9ybWVkLXBhcmFt
ZXRlcnMuaHRtbApAQCAtMzcsNiArMzcsMTAgQEAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxl
LmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6ICJBNzJGIiwgYWxnOiAiZm9vIn0KIHNo
b3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBr
OiBrMTI4LCBhbGc6ICIifSwgImFlcy1rdyIsIGV4dHJhY3RhYmxlLCBbIndyYXBLZXkiLCAidW53
cmFwS2V5Il0pJyk7CiBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2si
LCB7a3R5OiAib2N0IiwgazogazE5MiwgYWxnOiAiIn0sICJhZXMta3ciLCBleHRyYWN0YWJsZSwg
WyJ3cmFwS2V5IiwgInVud3JhcEtleSJdKScpOwogc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxl
LmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGsyNTYsIGFsZzogIiJ9LCAiYWVzLWt3
IiwgZXh0cmFjdGFibGUsIFsid3JhcEtleSIsICJ1bndyYXBLZXkiXSknKTsKK3Nob3VsZFJlamVj
dCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiBrMTI4LCBh
bGc6ICJBMTkyQ0ZCOCJ9LCAiYWVzLWNmYi04IiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJk
ZWNyeXB0IiwgIndyYXBLZXkiLCAidW53cmFwS2V5Il0pJyk7CitzaG91bGRSZWplY3QoJ2NyeXB0
by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogazE5MiwgYWxnOiAiQTI1
NkNGQjgifSwgImFlcy1jZmItOCIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCIs
ICJ3cmFwS2V5IiwgInVud3JhcEtleSJdKScpOworc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxl
LmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGsyNTYsIGFsZzogIkExMjhDRkI4In0s
ICJhZXMtY2ZiLTgiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0IiwgImRlY3J5cHQiLCAid3JhcEtl
eSIsICJ1bndyYXBLZXkiXSknKTsKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRL
ZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiAiQTcyRiIsIGFsZzogImZvbyJ9LCAiYWVzLWNiYyIs
IGV4dHJhY3RhYmxlLCBbIndyYXBLZXkiLCAidW53cmFwS2V5Il0pJyk7CiAvLyBKd2s6IHdyb25n
IGsgZm9ybWF0CiBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7
a3R5OiAib2N0IiwgazogIiEhISIsIGFsZzogImZvbyJ9LCAiYWVzLWNiYyIsIGV4dHJhY3RhYmxl
LCBbImVuY3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVud3JhcEtleSJdKScpOwogc2hv
dWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6
ICIiLCBhbGc6ICJmb28ifSwgImFlcy1jYmMiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0IiwgImRl
Y3J5cHQiLCAid3JhcEtleSIsICJ1bndyYXBLZXkiXSknKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktZGVjcnlwdC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBv
cnQta2V5LWRlY3J5cHQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1NTdiZWUxYjVmNmQ4MjZj
ODFlNjJlZjgyZDI4OGMxODg1YzZkMGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
cnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LWRlY3J5cHQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTEgQEAKK1tXb3JrZXJdIFRlc3QgZGVjcnlwdGluZyB1c2luZyBBRVMt
Q0ZCIHdpdGggYW4gaW1wb3J0ZWQgMTI4Yml0IGtleSBpbiB3b3JrZXJzCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitTdGFydGluZyB3b3JrZXI6IHJlc291cmNlcy9hZXMtY2ZiLWlt
cG9ydC1rZXktZGVjcnlwdC5qcworUEFTUyBbV29ya2VyXSBieXRlc1RvQVNDSUlTdHJpbmcocGxh
aW5UZXh0KSBpcyBleHBlY3RlZFBsYWluVGV4dAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by93
b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktZGVjcnlwdC5odG1sIGIvTGF5b3V0VGVz
dHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1kZWNyeXB0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOGMxYjlkNTZiNjlkZTM4ODMxZWJkNjliMGVjMjg0NDg3ZTQzY2ZiZgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2Zi
LWltcG9ydC1rZXktZGVjcnlwdC5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIHdvcmtlciA9IHN0YXJ0V29ya2VyKCdyZXNvdXJjZXMvYWVzLWNmYi1pbXBvcnQta2V5
LWRlY3J5cHQuanMnKTsKKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBv
cnQta2V5LWVuY3J5cHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMv
c3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1lbmNyeXB0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTY4NTdiYTQxMzZlNDYzYTFkZWNjMjUyNGY1ZDNiNDgxZjQ0ZDk3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtl
eS1lbmNyeXB0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitbV29ya2VyXSBUZXN0IGVu
Y3J5cHRpbmcgdXNpbmcgQUVTLUNGQiB3aXRoIGFuIGltcG9ydGVkIDEyOGJpdCBrZXkgaW4gd29y
a2VycworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworU3RhcnRpbmcgd29ya2VyOiBy
ZXNvdXJjZXMvYWVzLWNmYi1pbXBvcnQta2V5LWVuY3J5cHQuanMKK1BBU1MgW1dvcmtlcl0gYnl0
ZXNUb0hleFN0cmluZyhjaXBoZXJUZXh0KSBpcyBleHBlY3RlZENpcGhlclRleHQKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LWVuY3J5
cHQuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9y
dC1rZXktZW5jcnlwdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxZmE2OWE1OTYxOTIxZjlmNWMyMjhhZWZi
NDgzODQ4NTU4YmVhODkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29y
a2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LWVuY3J5cHQuaHRtbApAQCAtMCwwICsxLDEy
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKyAgICA8c2NyaXB0PgorICAgICAgICB3b3JrZXIgPSBzdGFydFdvcmtlcigncmVzb3VyY2Vz
L2Flcy1jZmItaW1wb3J0LWtleS1lbmNyeXB0LmpzJyk7CisgICAgPC9zY3JpcHQ+CisgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMv
c3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAta2V5LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWtl
eS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmVkZmZjNDZlNmIyMzliNWU2ZmU4YjRlMGIwMzZh
MGUwYzA4NDcxOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJz
L3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWtleS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMSBAQAorW1dvcmtlcl0gVGVzdCB1bndyYXBwaW5nIGEgcmF3IGtleSB3aXRoIEFFUy1D
RkIgdXNpbmcgYW4gaW1wb3J0ZWQga2V5IGluIHdvcmtlcnMKKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1N0YXJ0aW5nIHdvcmtlcjogcmVzb3VyY2VzL2Flcy1jZmItaW1wb3J0LWtl
eS11bndyYXAta2V5LmpzCitQQVNTIFtXb3JrZXJdIGJ5dGVzVG9BU0NJSVN0cmluZyh1bndyYXBw
ZWRLZXkpIGlzIGV4cGVjdGVkUmF3S2V5CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtl
cnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAta2V5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXVud3JhcC1rZXkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yZmQwZDQxYjJjZTUyYTE0ZGEwZjRhZGUyMzliZjhlNzUwZTE4ZjYxCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1j
ZmItaW1wb3J0LWtleS11bndyYXAta2V5Lmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHNjcmlw
dD4KKyAgICAgICAgd29ya2VyID0gc3RhcnRXb3JrZXIoJ3Jlc291cmNlcy9hZXMtY2ZiLWltcG9y
dC1rZXktdW53cmFwLWtleS5qcycpOworICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMt
Y2ZiLWltcG9ydC1rZXktd3JhcC1rZXktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRv
L3dvcmtlcnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS13cmFwLWtleS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYTY0YjM2MDE2N2YwNzUxYjI0N2YwYzVkZjEzNTBkOTA3MTkwMDFlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2Zi
LWltcG9ydC1rZXktd3JhcC1rZXktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1tXb3Jr
ZXJdIFRlc3Qgd3JhcHBpbmcgYSByYXcga2V5IHdpdGggQUVTLUNGQiB1c2luZyBhbiBpbXBvcnRl
ZCBrZXkgaW4gd29ya2VycworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworU3RhcnRp
bmcgd29ya2VyOiByZXNvdXJjZXMvYWVzLWNmYi1pbXBvcnQta2V5LXdyYXAta2V5LmpzCitQQVNT
IFtXb3JrZXJdIGJ5dGVzVG9IZXhTdHJpbmcod3JhcHBlZEtleSkgaXMgZXhwZWN0V3JhcHBlZEtl
eQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9y
dC1rZXktd3JhcC1rZXkuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9h
ZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1rZXkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYTFiYmM5ZjBmYmNk
NjdmODc2ZGY0MWYxNjg1YTFjNTRmN2RjZDc1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS13cmFwLWtleS5odG1s
CkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorICAgIDxzY3JpcHQ+CisgICAgICAgIHdvcmtlciA9IHN0YXJ0V29y
a2VyKCdyZXNvdXJjZXMvYWVzLWNmYi1pbXBvcnQta2V5LXdyYXAta2V5LmpzJyk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMtY2ZiLWltcG9ydC1rZXktZGVjcnlw
dC5qcyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvYWVzLWNm
Yi1pbXBvcnQta2V5LWRlY3J5cHQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODM1NWQ1NzRhMTkyOTJlNDM1Nzhi
MDliNTg3MTY2ODM5OGQxMTg4OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0
by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvYWVzLWNmYi1pbXBvcnQta2V5LWRlY3J5cHQuanMK
QEAgLTAsMCArMSwyNSBAQAoraW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzJyk7CitpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9yZXNvdXJjZXMvY29tbW9u
LmpzJyk7CisKK2Rlc2NyaXB0aW9uKCJUZXN0IGRlY3J5cHRpbmcgdXNpbmcgQUVTLUNGQiB3aXRo
IGFuIGltcG9ydGVkIDEyOGJpdCBrZXkgaW4gd29ya2VycyIpOworCitqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gZmFsc2U7Cit2YXIgY2lwaGVyVGV4dCA9IGhleFN0
cmluZ1RvVWludDhBcnJheSgiYTU3MjUyNWEwYmFlZjg4ZTZmNWIxOThjNmYiKTsKK3ZhciBhZXND
ZmJQYXJhbXMgPSB7CisgICAgbmFtZTogImFlcy1jZmItOCIsCisgICAgaXY6IGFzY2lpVG9VaW50
OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIiksCit9Cit2YXIgcmF3S2V5ID0gYXNjaWlUb1VpbnQ4
QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKTsKK3ZhciBleHBlY3RlZFBsYWluVGV4dCA9ICJIZWxs
bywgV29ybGQhIjsKKworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFl
cy1jZmItOCIsIGV4dHJhY3RhYmxlLCBbImRlY3J5cHQiXSkudGhlbihmdW5jdGlvbihrZXkpIHsK
KyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5kZWNyeXB0KGFlc0NmYlBhcmFtcywga2V5LCBjaXBo
ZXJUZXh0KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcGxhaW5UZXh0ID0gcmVz
dWx0OworCisgICAgc2hvdWxkQmUoImJ5dGVzVG9BU0NJSVN0cmluZyhwbGFpblRleHQpIiwgImV4
cGVjdGVkUGxhaW5UZXh0Iik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMtY2ZiLWlt
cG9ydC1rZXktZW5jcnlwdC5qcyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9y
ZXNvdXJjZXMvYWVzLWNmYi1pbXBvcnQta2V5LWVuY3J5cHQuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjViZGY4
MzY0NTQwZTIzNGFmNTAyODM2MGVhMGYxMDAyZTI1NzY4YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvYWVzLWNmYi1pbXBvcnQt
a2V5LWVuY3J5cHQuanMKQEAgLTAsMCArMSwyNSBAQAoraW1wb3J0U2NyaXB0cygnLi4vLi4vLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzJyk7CitpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9y
ZXNvdXJjZXMvY29tbW9uLmpzJyk7CisKK2Rlc2NyaXB0aW9uKCJUZXN0IGVuY3J5cHRpbmcgdXNp
bmcgQUVTLUNGQiB3aXRoIGFuIGltcG9ydGVkIDEyOGJpdCBrZXkgaW4gd29ya2VycyIpOworCitq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gZmFsc2U7Cit2YXIgcGxh
aW5UZXh0ID0gYXNjaWlUb1VpbnQ4QXJyYXkoIkhlbGxvLCBXb3JsZCEiKTsKK3ZhciBhZXNDZmJQ
YXJhbXMgPSB7CisgICAgbmFtZTogImFlcy1jZmItOCIsCisgICAgaXY6IGFzY2lpVG9VaW50OEFy
cmF5KCJqbk93OTlvT1pGTElFUE1yIiksCit9Cit2YXIgcmF3S2V5ID0gYXNjaWlUb1VpbnQ4QXJy
YXkoImpuT3c5OW9PWkZMSUVQTXIiKTsKK3ZhciBleHBlY3RlZENpcGhlclRleHQgPSAiYTU3MjUy
NWEwYmFlZjg4ZTZmNWIxOThjNmYiOworCitjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3Iiwg
cmF3S2V5LCAiYWVzLWNmYi04IiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCJdKS50aGVuKGZ1bmN0
aW9uKGtleSkgeworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmVuY3J5cHQoYWVzQ2ZiUGFyYW1z
LCBrZXksIHBsYWluVGV4dCk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGNpcGhl
clRleHQgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgiYnl0ZXNUb0hleFN0cmluZyhjaXBoZXJU
ZXh0KSIsICJleHBlY3RlZENpcGhlclRleHQiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2Vz
L2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAta2V5LmpzIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dv
cmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWtleS5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44NzhhNDg2ZTBkYTc5YjcxYTUxMzU1MDhiNzgyYzIxNGFmODZiN2NhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNl
cy9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWtleS5qcwpAQCAtMCwwICsxLDI4IEBACitpbXBv
cnRTY3JpcHRzKCcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMnKTsKK2ltcG9y
dFNjcmlwdHMoJy4uLy4uLy4uL3Jlc291cmNlcy9jb21tb24uanMnKTsKKworZGVzY3JpcHRpb24o
IlRlc3QgdW53cmFwcGluZyBhIHJhdyBrZXkgd2l0aCBBRVMtQ0ZCIHVzaW5nIGFuIGltcG9ydGVk
IGtleSBpbiB3b3JrZXJzIik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFj
dGFibGUgPSB0cnVlOwordmFyIGV4cGVjdGVkUmF3S2V5ID0gImpuT3c5OW9PWkZMSUVQTXIiOwor
dmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFycmF5KGV4cGVjdGVkUmF3S2V5KTsKK3ZhciBhZXND
ZmJQYXJhbXMgPSB7CisgICAgbmFtZTogImFlcy1jZmItOCIsCisgICAgaXY6IGFzY2lpVG9VaW50
OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIiksCit9Cit2YXIgd3JhcHBlZEtleSA9IGhleFN0cmlu
Z1RvVWludDhBcnJheSgiODcwN2VlMzExZjZlOGVkMTU3ODg1YTdmYzI1ZjBlZTciKTsKKworCitj
cnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVzLWNmYi04IiwgZXh0cmFj
dGFibGUsIFsidW53cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24odW53cmFwcGluZ0tleSkgeworICAg
IHJldHVybiBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgicmF3Iiwgd3JhcHBlZEtleSwgdW53cmFw
cGluZ0tleSwgYWVzQ2ZiUGFyYW1zLCB7bmFtZTogImFlcy1jYmMifSwgZXh0cmFjdGFibGUsIFsi
ZW5jcnlwdCJdKTsKK30pLnRoZW4oZnVuY3Rpb24oY3J5cHRvS2V5KSB7CisgICAgcmV0dXJuIGNy
eXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJyYXciLCBjcnlwdG9LZXkpOworfSkudGhlbihmdW5jdGlv
bihyZXN1bHQpIHsKKyAgICB1bndyYXBwZWRLZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgi
Ynl0ZXNUb0FTQ0lJU3RyaW5nKHVud3JhcHBlZEtleSkiLCAiZXhwZWN0ZWRSYXdLZXkiKTsKKwor
ICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8v
d29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2Flcy1jZmItaW1wb3J0LWtleS13cmFwLWtleS5qcyBi
L0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvYWVzLWNmYi1pbXBv
cnQta2V5LXdyYXAta2V5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEwOGUxMTQ4ZGYzNjA5NTdmZDcxNWY4OThk
ZWJlNmRkNWM5MzIyNjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29y
a2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2Flcy1jZmItaW1wb3J0LWtleS13cmFwLWtleS5qcwpAQCAt
MCwwICsxLDI4IEBACitpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMnKTsKK2ltcG9ydFNjcmlwdHMoJy4uLy4uLy4uL3Jlc291cmNlcy9jb21tb24uanMn
KTsKKworZGVzY3JpcHRpb24oIlRlc3Qgd3JhcHBpbmcgYSByYXcga2V5IHdpdGggQUVTLUNGQiB1
c2luZyBhbiBpbXBvcnRlZCBrZXkgaW4gd29ya2VycyIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKK3ZhciByYXdLZXkgPSBhc2NpaVRvVWludDhB
cnJheSgiam5Pdzk5b09aRkxJRVBNciIpOwordmFyIGFlc0NmYlBhcmFtcyA9IHsKKyAgICBuYW1l
OiAiYWVzLWNmYi04IiwKKyAgICBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQ
TXIiKSwKK30KK3ZhciBleHBlY3RXcmFwcGVkS2V5ID0gIjg3MDdlZTMxMWY2ZThlZDE1Nzg4NWE3
ZmMyNWYwZWU3IjsKKworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFl
cy1jZmItOCIsIGV4dHJhY3RhYmxlLCBbIndyYXBLZXkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQp
IHsKKyAgICB3cmFwcGluZ0tleSA9IHJlc3VsdDsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5p
bXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1jYmMiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0
Il0pOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1bHQ7CisgICAg
cmV0dXJuIGNyeXB0by5zdWJ0bGUud3JhcEtleSgicmF3Iiwga2V5LCB3cmFwcGluZ0tleSwgYWVz
Q2ZiUGFyYW1zKTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgd3JhcHBlZEtleSA9
IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5nKHdyYXBwZWRLZXkpIiwg
ImV4cGVjdFdyYXBwZWRLZXkiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302192</attachid>
            <date>2017-02-20 16:08:01 -0800</date>
            <delta_ts>2017-02-20 16:26:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168344-20170220160518.patch</filename>
            <type>text/plain</type>
            <size>145123</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyNDY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGIxMGVlZTUwNTY5NmE3
NmY4Nzc1YTNkNTYyNzRkYzAxZTZkMDlkYy4uNTg3NDg5OTcwMzY3NjA5ZjE5MjIzZGFmYTUyMzBl
YjU0M2JiY2Y1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg4IEBACisyMDE3LTAyLTE0ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkNyeXB0b10gQWRk
IHN1cHBvcnQgZm9yIEFFUy1DRkIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2ODM0NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjA5NDAyMjE+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRj
aCBhZGRzIHN1cHBvcnQgZm9yIEFFUy1DRkIuIE9wZXJhdGlvbnMgb2YgQUVTLUNGQiBpbmNsdWRl
OiBlbmNyeXB0LCBkZWNyeXB0LCBnZW5lcmF0ZUtleSwKKyAgICAgICAgaW1wb3J0S2V5LCBleHBv
cnRLZXksIHdyYXBLZXksIGFuZCB1bndyYXBLZXkuIFRoaXMgaW1wbGVtZW50YXRpb24gZm9sbG93
cyBhIHNsaWdodGx5IG9sZCB2ZXJzaW9uCisgICAgICAgIG9mIFdlYkNyeXB0b0FQSSBzcGVjOiBo
dHRwczovL3d3dy53My5vcmcvVFIvMjAxNC9DUi1XZWJDcnlwdG9BUEktMjAxNDEyMTEvI2Flcy1j
ZmIuCisKKyAgICAgICAgVGVzdHM6IGNyeXB0by9zdWJ0bGUvYWVzLWNiYy1jZmItZGVjcnlwdC1t
YWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Fl
cy1jYmMtY2ZiLWVuY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbAorICAgICAgICAgICAg
ICAgY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktdW53cmFwLWp3ay1yc2Eta2V5LXB1
YmxpYy5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUt
ZXhwb3J0LWtleS1qd2stbGVuZ3RoLTEyOC5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3Vi
dGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTE5Mi5odG1sCisgICAg
ICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2st
bGVuZ3RoLTI1Ni5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmItZ2Vu
ZXJhdGUtZXhwb3J0LXJhdy1rZXkuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9h
ZXMtY2ZiLWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQuaHRtbAorICAgICAgICAgICAgICAg
Y3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWtleS5odG1sCisgICAgICAgICAgICAgICBj
cnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTEyOC5odG1sCisgICAg
ICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTE5
Mi5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1r
ZXktbGVuZ3RoLTI1Ni5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmIt
aW1wb3J0LWtleS1kZWNyeXB0Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvYWVz
LWNmYi1pbXBvcnQta2V5LWVuY3J5cHQuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRs
ZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWp3ay1rZXkuaHRtbAorICAgICAgICAgICAgICAg
Y3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLXJhdy1rZXkuaHRtbAorICAg
ICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1qd2sta2V5
Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXdy
YXAtcmF3LWtleS5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1w
b3J0LXJhdy1rZXkuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Fl
cy1jZmItaW1wb3J0LWtleS1kZWNyeXB0Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by93b3Jr
ZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktZW5jcnlwdC5odG1sCisgICAgICAgICAgICAg
ICBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXVud3JhcC1rZXkuaHRt
bAorICAgICAgICAgICAgICAgY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtl
eS13cmFwLWtleS5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFBsYXRmb3JtR1RLLmNtYWtlOgorICAgICAg
ICAqIFBsYXRmb3JtTWFjLmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgQWRkIENyeXB0b0FsZ29yaXRobUFFU19DRkIuY3BwLAorICAg
ICAgICBjaGFuZ2UgQWVzQ2JjUGFyYW1zLmlkbCB0byBBZXNDYmNDZmJQYXJhbXMuaWRsLgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Om5vcm1hbGl6ZUNyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMpOgorICAgICAgICBBZGQg
c3VwcG9ydCBmb3IgQUVTLUNGQi4KKyAgICAgICAgKiBjcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmg6
CisgICAgICAgIEluY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+LgorICAgICAgICAqIGNyeXB0by9Dcnlw
dG9BbGdvcml0aG1QYXJhbWV0ZXJzLmg6CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBBRVMtQ0ZC
LgorICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6ZW5jcnlwdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1BRVNfQ0JDOjpkZWNyeXB0KToKKyAgICAg
ICAgUmVuYW1lIENyeXB0b0FsZ29yaXRobUFlc0NiY1BhcmFtcyB0byBDcnlwdG9BbGdvcml0aG1B
ZXNDYmNDZmJQYXJhbXMuCisgICAgICAgICogY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3Jp
dGhtQUVTX0NGQi5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6dXNhZ2VzQXJlSW52YWxp
ZEZvckNyeXB0b0FsZ29yaXRobUFFU19DRkIpOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxn
b3JpdGhtQUVTX0NGQjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRo
bUFFU19DRkI6OmlkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGht
QUVTX0NGQjo6ZW5jcnlwdCk6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1BRVNf
Q0ZCOjpkZWNyeXB0KToKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUFFU19DRkI6
OmdlbmVyYXRlS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUFFU19DRkI6
OmltcG9ydEtleSk6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCOjpl
eHBvcnRLZXkpOgorICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFF
U19DRkIuaDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL2dudXRscy9DcnlwdG9BbGdvcml0aG1B
RVNfQ0ZCR251VExTLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0
aG1BRVNfQ0ZCOjpwbGF0Zm9ybUVuY3J5cHQpOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxn
b3JpdGhtQUVTX0NGQjo6cGxhdGZvcm1EZWNyeXB0KToKKyAgICAgICAgQWRkIGR1bW15IHN1cHBv
cnQgb2YgQUVTX0NGQiBmb3IgR1RLKy4KKyAgICAgICAgKiBjcnlwdG8vbWFjL0NyeXB0b0FsZ29y
aXRobUFFU19DQkNNYWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dHJhbnNmb3JtQUVTX0NCQyk6
CisgICAgICAgIERyb3AgY29uZGl0aW9uYWwgUExBVEZPUk0oQ09DT0EpLgorICAgICAgICAoV2Vi
Q29yZTo6Q3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6cGxhdGZvcm1FbmNyeXB0KToKKyAgICAgICAg
KFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUFFU19DQkM6OnBsYXRmb3JtRGVjcnlwdCk6CisgICAg
ICAgIFJlbmFtZSBDcnlwdG9BbGdvcml0aG1BZXNDYmNQYXJhbXMgdG8gQ3J5cHRvQWxnb3JpdGht
QWVzQ2JjQ2ZiUGFyYW1zLgorICAgICAgICAqIGNyeXB0by9tYWMvQ3J5cHRvQWxnb3JpdGhtQUVT
X0NGQk1hYy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6dHJhbnNmb3JtQUVTX0NGQik6
CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCOjpwbGF0Zm9ybUVuY3J5
cHQpOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtQUVTX0NGQjo6cGxhdGZvcm1E
ZWNyeXB0KToKKyAgICAgICAgKiBjcnlwdG8vbWFjL0NyeXB0b0FsZ29yaXRobVJlZ2lzdHJ5TWFj
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobVJlZ2lzdHJ5OjpwbGF0Zm9y
bVJlZ2lzdGVyQWxnb3JpdGhtcyk6CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBBRVMtQ0ZCLgor
ICAgICAgICAqIGNyeXB0by9wYXJhbWV0ZXJzL0Flc0NiY0NmYlBhcmFtcy5pZGw6IFJlbmFtZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vcGFyYW1ldGVycy9BZXNDYmNQYXJhbXMuaWRsLgor
ICAgICAgICAqIGNyeXB0by9wYXJhbWV0ZXJzL0NyeXB0b0FsZ29yaXRobUFlc0NiY0NmYlBhcmFt
cy5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3J5cHRvL3BhcmFtZXRlcnMvQ3J5cHRv
QWxnb3JpdGhtQWVzQ2JjUGFyYW1zLmguCisgICAgICAgIFNpbmNlIGRpY3Rpb25hcmllcyBBZXND
YmNQYXJhbXMgYW5kIEFlc0NmYlBhcmFtcyBhcmUgZXNzZW50aWFsbHkgdGhlIHNhbWUsIEkgY29t
YmluZSB0aGVtIHRvZ2V0aGVyIGluIG91ciBpbXBsZW1lbnRhdGlvbnMuCisKIDIwMTctMDItMTYg
IEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQ3J5cHRv
XSByZW1vdmUgdG9KU1ZhbHVlRnJvbUpzb25XZWJLZXkgZnJvbSBjdXN0b20gU3VidGxlQ3J5cHRv
IGJpbmRpbmcgY29kZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNDZkYmQ3MDU3ZTcwNjg0Mzdi
NDFjY2RhOGNkNjAwYjgzZDU5MWMwNC4uYzVlY2VjMDAzMjE5MjQ2OWE5MmZhOTc4NTRmYjg3OTU5
MTNmYjY5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTMzMCw3ICszMzAsNyBAQCBzZXQoV2Vi
Q29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIGNyeXB0by9TdWJ0bGVDcnlwdG8uaWRsCiAgICAg
Y3J5cHRvL1dlYktpdFN1YnRsZUNyeXB0by5pZGwKIAotICAgIGNyeXB0by9wYXJhbWV0ZXJzL0Fl
c0NiY1BhcmFtcy5pZGwKKyAgICBjcnlwdG8vcGFyYW1ldGVycy9BZXNDYmNDZmJQYXJhbXMuaWRs
CiAgICAgY3J5cHRvL3BhcmFtZXRlcnMvQWVzS2V5R2VuUGFyYW1zLmlkbAogICAgIGNyeXB0by9w
YXJhbWV0ZXJzL0htYWNLZXlQYXJhbXMuaWRsCiAgICAgY3J5cHRvL3BhcmFtZXRlcnMvUnNhSGFz
aGVkSW1wb3J0UGFyYW1zLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNjgz
ZTIwNjcwMmZjOTU0NDQwZGFjZTU2YzkxOWVjOTIyZWI3MDVlMS4uN2NhNTQwMTI1NDk5ZTg4OTdk
ZTVmOTlkMTM3YzdhMGQ0NDI3MjA2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBA
IC0yNjQsNyArMjY0LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvY3J5
cHRvL1JzYU90aGVyUHJpbWVzSW5mby5pZGwgXAogICAgICQoV2ViQ29yZSkvY3J5cHRvL1N1YnRs
ZUNyeXB0by5pZGwgXAogICAgICQoV2ViQ29yZSkvY3J5cHRvL1dlYktpdFN1YnRsZUNyeXB0by5p
ZGwgXAotICAgICQoV2ViQ29yZSkvY3J5cHRvL3BhcmFtZXRlcnMvQWVzQ2JjUGFyYW1zLmlkbCBc
CisgICAgJChXZWJDb3JlKS9jcnlwdG8vcGFyYW1ldGVycy9BZXNDYmNDZmJQYXJhbXMuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2NyeXB0by9wYXJhbWV0ZXJzL0Flc0tleUdlblBhcmFtcy5pZGwgXAog
ICAgICQoV2ViQ29yZSkvY3J5cHRvL3BhcmFtZXRlcnMvSG1hY0tleVBhcmFtcy5pZGwgXAogICAg
ICQoV2ViQ29yZSkvY3J5cHRvL3BhcmFtZXRlcnMvUnNhSGFzaGVkSW1wb3J0UGFyYW1zLmlkbCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9X
ZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IGE3Y2VlYjhkYmM3MzZlZmMwZmQ4OTllNmRm
MjI2YmRmMWZiZDRjMmYuLjdlNzNkNDE3MWJkOGIyYThjOTg2NmRiZGU2Y2ExM2MyNGI2MDAwYjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0zODMsNiArMzgzLDcgQEAgaWYgKEVOQUJM
RV9TVUJUTEVfQ1JZUFRPKQogICAgICAgICBjcnlwdG8vV2ViS2l0U3VidGxlQ3J5cHRvLmNwcAog
CiAgICAgICAgIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuY3BwCisg
ICAgICAgIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DRkIuY3BwCiAgICAg
ICAgIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5jcHAKICAgICAgICAg
Y3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtSE1BQy5jcHAKICAgICAgICAgY3J5cHRv
L2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNS5jcHAKQEAgLTM5Nyw2
ICszOTgsNyBAQCBpZiAoRU5BQkxFX1NVQlRMRV9DUllQVE8pCiAgICAgICAgIGNyeXB0by9nY3J5
cHQvQ3J5cHRvQWxnb3JpdGhtSE1BQ0dDcnlwdC5jcHAKIAogICAgICAgICBjcnlwdG8vZ251dGxz
L0NyeXB0b0FsZ29yaXRobUFFU19DQkNHbnVUTFMuY3BwCisgICAgICAgIGNyeXB0by9nbnV0bHMv
Q3J5cHRvQWxnb3JpdGhtQUVTX0NGQkdudVRMUy5jcHAKICAgICAgICAgY3J5cHRvL2dudXRscy9D
cnlwdG9BbGdvcml0aG1BRVNfS1dHbnVUTFMuY3BwCiAgICAgICAgIGNyeXB0by9nbnV0bHMvQ3J5
cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNUdudVRMUy5jcHAKICAgICAgICAgY3J5cHRvL2du
dXRscy9DcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNUdudVRMUy5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxh
dGZvcm1NYWMuY21ha2UKaW5kZXggNDNjNDMyNDcxZTY5ZDU3YzEwOTc5ZjM3MjBhZWViNTZmMWUy
ZTMxMC4uODYwOGI5MjRhYjlhZGFhOTFjMjJjOTE1MDg3ZGZlNTU5NDZlOWRiYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1NYWMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUv
UGxhdGZvcm1NYWMuY21ha2UKQEAgLTE3OSw2ICsxNzksNyBAQCBsaXN0KEFQUEVORCBXZWJDb3Jl
X1NPVVJDRVMKICAgICBjcnlwdG8vV2ViS2l0U3VidGxlQ3J5cHRvLmNwcAogCiAgICAgY3J5cHRv
L2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5jcHAKKyAgICBjcnlwdG8vYWxnb3Jp
dGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfQ0ZCLmNwcAogICAgIGNyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobUFFU19LVy5jcHAKICAgICBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdv
cml0aG1ITUFDLmNwcAogICAgIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQUVT
X1BLQ1MxX3YxXzUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggMmI1ZDg0ZDdmYmRjMWZmZGJlZmUwZWVlYzllZjdkOTYxODYw
YjA0Yy4uZGZmNjRiZGQ5MDIyMTdhNGQwNTcwNWQ1NzkwYjY0N2EyZjBiYzgxZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjMy
Miw2ICsyMzIyLDEwIEBACiAJCTU1OTdGODI3MUQ5MUMzMTMwMDY2QkMyMSAvKiBJbWFnZUZyYW1l
Q2FjaGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU1
OTdGODI1MUQ5MUMzMTMwMDY2QkMyMSAvKiBJbWFnZUZyYW1lQ2FjaGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1NUEzMzZGNzFEODIwOUY0MDAy
MkM0QzcgLyogTmF0aXZlSW1hZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDU1QTMzNkY2MUQ4MjA5RjQwMDIyQzRDNyAvKiBOYXRpdmVJbWFnZS5oICov
OyB9OwogCQk1NUEzMzZGOTFEODIxRTNDMDAyMkM0QzcgLyogSW1hZ2VCYWNraW5nU3RvcmUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU1QTMzNkY4MUQ4
MjFFM0MwMDIyQzRDNyAvKiBJbWFnZUJhY2tpbmdTdG9yZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTU3MDQ0MDUzMUU1Mjc4QjIwMDM1NjYwMSAv
KiBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDU3MTI1MjZBMUU1MjUyN0MwMDhGRjM2OSAvKiBDcnlwdG9BbGdv
cml0aG1BRVNfQ0ZCLmNwcCAqLzsgfTsKKwkJNTcwNDQwNTgxRTUzODUxNjAwMzU2NjAxIC8qIENy
eXB0b0FsZ29yaXRobUFFU19DRkJNYWMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTcwNDQwNTcxRTUzODUxNjAwMzU2NjAxIC8qIENyeXB0b0FsZ29y
aXRobUFFU19DRkJNYWMuY3BwICovOyB9OworCQk1NzA0NDA1QTFFNTM5MzYyMDAzNTY2MDEgLyog
SlNBZXNDYmNDZmJQYXJhbXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU3MDQ0MDU5MUU1MzkzNjIwMDM1NjYwMSAvKiBKU0Flc0NiY0NmYlBhcmFtcy5o
ICovOyB9OworCQk1NzA0NDA1QzFFNTM5Mzc5MDAzNTY2MDEgLyogSlNBZXNDYmNDZmJQYXJhbXMu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcwNDQw
NUIxRTUzOTM3OTAwMzU2NjAxIC8qIEpTQWVzQ2JjQ2ZiUGFyYW1zLmNwcCAqLzsgfTsKIAkJNTcw
NkE2OTYxRERFNUM5NTAwQTAzQjE0IC8qIENyeXB0b0FsZ29yaXRobVJzYU9hZXBQYXJhbXMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MDZBNjk1MURE
RTVDOTUwMEEwM0IxNCAvKiBDcnlwdG9BbGdvcml0aG1Sc2FPYWVwUGFyYW1zLmggKi87IH07CiAJ
CTU3MDZBNjk4MURERTVFNDYwMEEwM0IxNCAvKiBKU1JzYU9hZXBQYXJhbXMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MDZBNjk3MURERTVFNDYwMEEw
M0IxNCAvKiBKU1JzYU9hZXBQYXJhbXMuaCAqLzsgfTsKIAkJNTcwNkE2OUExRERFNUU4NTAwQTAz
QjE0IC8qIEpTUnNhT2FlcFBhcmFtcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1NzA2QTY5OTFEREU1RTg1MDBBMDNCMTQgLyogSlNSc2FPYWVwUGFy
YW1zLmNwcCAqLzsgfTsKQEAgLTIzMzAsMTEgKzIzMzQsMTAgQEAKIAkJNTcwOUU4Q0YxRDQxM0Q5
QTAwMzI0NEFDIC8qIFdlYktpdFN1YnRsZUNyeXB0by5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcwOUU4Q0IxRDQxM0NFMzAwMzI0NEFDIC8qIFdlYktp
dFN1YnRsZUNyeXB0by5oICovOyB9OwogCQk1NzBBOTlEQTFENDE3NDA4MDA0RUM2MzAgLyogSlNX
ZWJLaXRTdWJ0bGVDcnlwdG8uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTFGRjhGNjIxODA3NDVEODAwMTMyNjc0IC8qIEpTV2ViS2l0U3VidGxlQ3J5
cHRvLmNwcCAqLzsgfTsKIAkJNTcwQTk5REIxRDQxQTJGMzAwNEVDNjMwIC8qIEpTV2ViS2l0U3Vi
dGxlQ3J5cHRvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFMUZGOEY2MzE4MDc0NUQ4MDAxMzI2NzQgLyogSlNXZWJLaXRTdWJ0bGVDcnlwdG8uaCAqLzsg
fTsKKwkJNTcxMjUyNjkxRTUyNEVCMTAwOEZGMzY5IC8qIENyeXB0b0FsZ29yaXRobUFFU19DRkIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MTI1MjY4
MUU1MjRFQjEwMDhGRjM2OSAvKiBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCLmggKi87IH07CiAJCTU3
MUYyMTg5MURBNTdDNTQwMDVDOUVGRCAvKiBKU1N1YnRsZUNyeXB0by5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcxRjIxODgxREE1N0M1NDAwNUM5RUZE
IC8qIEpTU3VidGxlQ3J5cHRvLmggKi87IH07CiAJCTU3MUYyMThCMURBNTdDN0IwMDVDOUVGRCAv
KiBKU1N1YnRsZUNyeXB0by5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1NzFGMjE4QTFEQTU3QzdBMDA1QzlFRkQgLyogSlNTdWJ0bGVDcnlwdG8uY3Bw
ICovOyB9OwotCQk1NzIwOTNEMzFERENFQjlBMDAzMTBBQjAgLyogQ3J5cHRvQWxnb3JpdGhtQWVz
Q2JjUGFyYW1zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1NzIwOTNEMjFERENFQjlBMDAzMTBBQjAgLyogQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjUGFyYW1z
LmggKi87IH07Ci0JCTU3MjA5M0Q1MUREQ0VEOEUwMDMxMEFCMCAvKiBKU0Flc0NiY1BhcmFtcy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcyMDkzRDQx
RERDRUQ4RTAwMzEwQUIwIC8qIEpTQWVzQ2JjUGFyYW1zLmggKi87IH07Ci0JCTU3MjA5M0Q3MURE
Q0VEQTcwMDMxMEFCMCAvKiBKU0Flc0NiY1BhcmFtcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzIwOTNENjFERENFREE3MDAzMTBBQjAgLyogSlNB
ZXNDYmNQYXJhbXMuY3BwICovOyB9OworCQk1NzIwOTNEMzFERENFQjlBMDAzMTBBQjAgLyogQ3J5
cHRvQWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1NzIwOTNEMjFERENFQjlBMDAzMTBBQjAgLyogQ3J5cHRvQWxn
b3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zLmggKi87IH07CiAJCTU3MkE3RjIxMUM2RTU3MTkwMDlDNjE0
OSAvKiBTaW11bGF0ZWRDbGljay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTcyQTdGMjAxQzZFNTcxOTAwOUM2MTQ5IC8qIFNpbXVsYXRlZENsaWNrLmgg
Ki87IH07CiAJCTU3MkE3RjIzMUM2RTVBNjYwMDlDNjE0OSAvKiBTaW11bGF0ZWRDbGljay5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzJBN0YyMjFD
NkU1QTY2MDA5QzYxNDkgLyogU2ltdWxhdGVkQ2xpY2suY3BwICovOyB9OwogCQk1NzM0ODkzOTFE
QUM2QjZFMDBEQzA2NjcgLyogQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTczNDg5MzgxREFDNkI2RDAwREMw
NjY3IC8qIENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMuaCAqLzsgfTsKQEAgLTk2NzMsNiArOTY3
Niw5IEBACiAJCTU1QTMzNkY2MUQ4MjA5RjQwMDIyQzRDNyAvKiBOYXRpdmVJbWFnZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXRpdmVJbWFnZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk1NUEzMzZGODFEODIxRTNDMDAyMkM0QzcgLyogSW1hZ2VCYWNraW5n
U3RvcmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW1hZ2VCYWNraW5nU3Rv
cmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTVENDA4RjcxQTdDNjMxODAwQzc4
NDUwIC8qIFNWR0ltYWdlQ2xpZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTVkdJbWFnZUNsaWVudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTcwNDQw
NTcxRTUzODUxNjAwMzU2NjAxIC8qIENyeXB0b0FsZ29yaXRobUFFU19DRkJNYWMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQk1h
Yy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MDQ0MDU5MUU1MzkzNjIwMDM1
NjYwMSAvKiBKU0Flc0NiY0NmYlBhcmFtcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0Flc0NiY0NmYlBhcmFtcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1
NzA0NDA1QjFFNTM5Mzc5MDAzNTY2MDEgLyogSlNBZXNDYmNDZmJQYXJhbXMuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBZXNDYmNDZmJQYXJhbXMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzA2QTY5NDFEREU1QkY4MDBBMDNCMTQgLyogUnNh
T2FlcFBhcmFtcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gUnNhT2FlcFBhcmFtcy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTU3MDZBNjk1MURERTVDOTUwMEEwM0IxNCAvKiBDcnlwdG9BbGdvcml0aG1S
c2FPYWVwUGFyYW1zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENyeXB0b0Fs
Z29yaXRobVJzYU9hZXBQYXJhbXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTcw
NkE2OTcxRERFNUU0NjAwQTAzQjE0IC8qIEpTUnNhT2FlcFBhcmFtcy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU1JzYU9hZXBQYXJhbXMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTk2ODAsMTIgKzk2ODYsMTIgQEAKIAkJNTcwOUU4Q0ExRDQxM0NFMzAwMzI0
NEFDIC8qIFdlYktpdFN1YnRsZUNyeXB0by5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXZWJLaXRTdWJ0bGVDcnlwdG8uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1NzA5RThDQjFENDEzQ0UzMDAzMjQ0QUMgLyogV2ViS2l0U3VidGxlQ3J5cHRvLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdFN1YnRsZUNyeXB0by5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzA5RThDQzFENDEzQ0UzMDAzMjQ0QUMgLyog
V2ViS2l0U3VidGxlQ3J5cHRvLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJLaXRTdWJ0
bGVDcnlwdG8uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzEyNTI2ODFFNTI0
RUIxMDA4RkYzNjkgLyogQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTU3MTI1MjZBMUU1MjUyN0MwMDhGRjM2OSAvKiBDcnlwdG9BbGdvcml0
aG1BRVNfQ0ZCLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENyeXB0
b0FsZ29yaXRobUFFU19DRkIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzFG
MjE4ODFEQTU3QzU0MDA1QzlFRkQgLyogSlNTdWJ0bGVDcnlwdG8uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNTdWJ0bGVDcnlwdG8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTcxRjIxOEExREE1N0M3QTAwNUM5RUZEIC8qIEpTU3VidGxlQ3J5cHRvLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU3VidGxlQ3J5cHRvLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTcyMDkzRDExRERDRUE0QjAwMzEwQUIwIC8q
IEFlc0NiY1BhcmFtcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQWVzQ2JjUGFyYW1zLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJNTcyMDkzRDIxRERDRUI5QTAwMzEwQUIwIC8qIENyeXB0b0FsZ29yaXRo
bUFlc0NiY1BhcmFtcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcnlwdG9B
bGdvcml0aG1BZXNDYmNQYXJhbXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTcy
MDkzRDQxRERDRUQ4RTAwMzEwQUIwIC8qIEpTQWVzQ2JjUGFyYW1zLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTQWVzQ2JjUGFyYW1zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTU3MjA5M0Q2MUREQ0VEQTcwMDMxMEFCMCAvKiBKU0Flc0NiY1BhcmFtcy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Flc0NiY1BhcmFtcy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MjA5M0QxMUREQ0VBNEIwMDMxMEFCMCAv
KiBBZXNDYmNDZmJQYXJhbXMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFlc0NiY0NmYlBhcmFtcy5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MjA5M0QyMUREQ0VCOUEwMDMxMEFCMCAvKiBDcnlwdG9B
bGdvcml0aG1BZXNDYmNDZmJQYXJhbXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTU3MkE3RjIwMUM2RTU3MTkwMDlDNjE0OSAvKiBTaW11bGF0ZWRDbGljay5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTaW11bGF0ZWRDbGljay5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1NzJBN0YyMjFDNkU1QTY2MDA5QzYxNDkgLyogU2ltdWxh
dGVkQ2xpY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2ltdWxh
dGVkQ2xpY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzM0ODkzODFEQUM2
QjZEMDBEQzA2NjcgLyogQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzM1OCw2ICsyMzM2NCw3IEBACiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCUUxMjVGODQzMTgyNDI1QzkwMEQ4NENEOSAvKiBD
cnlwdG9BbGdvcml0aG1BRVNfQ0JDTWFjLmNwcCAqLywKKwkJCQk1NzA0NDA1NzFFNTM4NTE2MDAz
NTY2MDEgLyogQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQk1hYy5jcHAgKi8sCiAJCQkJRTFGRTEzN0Mx
ODREMjcwMjAwODkyRjEzIC8qIENyeXB0b0FsZ29yaXRobUFFU19LV01hYy5jcHAgKi8sCiAJCQkJ
RTEyNUY4MzcxODIyRjFFQjAwRDg0Q0Q5IC8qIENyeXB0b0FsZ29yaXRobUhNQUNNYWMuY3BwICov
LAogCQkJCUUxQkI4NEFDMTgyMkNBNzQwMDUyNTA0MyAvKiBDcnlwdG9BbGdvcml0aG1SZWdpc3Ry
eU1hYy5jcHAgKi8sCkBAIC0yMzM3Niw2ICsyMzM4Myw4IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJ
CQlFMTI1RjgzRjE4MjQyNTNBMDBEODRDRDkgLyogQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5jcHAg
Ki8sCiAJCQkJRTEyNUY4NDAxODI0MjUzQTAwRDg0Q0Q5IC8qIENyeXB0b0FsZ29yaXRobUFFU19D
QkMuaCAqLywKKwkJCQk1NzEyNTI2QTFFNTI1MjdDMDA4RkYzNjkgLyogQ3J5cHRvQWxnb3JpdGht
QUVTX0NGQi5jcHAgKi8sCisJCQkJNTcxMjUyNjgxRTUyNEVCMTAwOEZGMzY5IC8qIENyeXB0b0Fs
Z29yaXRobUFFU19DRkIuaCAqLywKIAkJCQlFMUZFMTM3ODE4NEQyMUJCMDA4OTJGMTMgLyogQ3J5
cHRvQWxnb3JpdGhtQUVTX0tXLmNwcCAqLywKIAkJCQlFMUZFMTM3OTE4NEQyMUJCMDA4OTJGMTMg
LyogQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmggKi8sCiAJCQkJRTEyNUY4MkYxODIyRjExQjAwRDg0
Q0Q5IC8qIENyeXB0b0FsZ29yaXRobUhNQUMuY3BwICovLApAQCAtMjM0MjIsOSArMjM0MzEsOSBA
QAogCQlFMUM2NTcxNDE4MTYwMTVGMDAyNTZDREQgLyogcGFyYW1ldGVycyAqLyA9IHsKIAkJCWlz
YSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJNTcyMDkzRDExRERDRUE0QjAwMzEw
QUIwIC8qIEFlc0NiY1BhcmFtcy5pZGwgKi8sCisJCQkJNTcyMDkzRDExRERDRUE0QjAwMzEwQUIw
IC8qIEFlc0NiY0NmYlBhcmFtcy5pZGwgKi8sCiAJCQkJNTc3NDgzMTAxREFEQzQ5OTAwNzE2RUY5
IC8qIEFlc0tleUdlblBhcmFtcy5pZGwgKi8sCi0JCQkJNTcyMDkzRDIxRERDRUI5QTAwMzEwQUIw
IC8qIENyeXB0b0FsZ29yaXRobUFlc0NiY1BhcmFtcy5oICovLAorCQkJCTU3MjA5M0QyMUREQ0VC
OUEwMDMxMEFCMCAvKiBDcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXMuaCAqLywKIAkJCQlF
MTI1RjgzOTE4MjQxMDQ4MDBEODRDRDkgLyogQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjUGFyYW1zRGVw
cmVjYXRlZC5oICovLAogCQkJCTU3NzQ4MzExMURBREM1NUQwMDcxNkVGOSAvKiBDcnlwdG9BbGdv
cml0aG1BZXNLZXlHZW5QYXJhbXMuaCAqLywKIAkJCQlFMTlBQzNGNjE4MjRFNUQxMDAzNDk0MjYg
LyogQ3J5cHRvQWxnb3JpdGhtQWVzS2V5R2VuUGFyYW1zRGVwcmVjYXRlZC5oICovLApAQCAtMjM1
OTksOCArMjM2MDgsOCBAQAogCQlFMUZGOEY2MTE4MDc0NUM2MDAxMzI2NzQgLyogQ3J5cHRvICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQk1NzIwOTNENjFE
RENFREE3MDAzMTBBQjAgLyogSlNBZXNDYmNQYXJhbXMuY3BwICovLAotCQkJCTU3MjA5M0Q0MURE
Q0VEOEUwMDMxMEFCMCAvKiBKU0Flc0NiY1BhcmFtcy5oICovLAorCQkJCTU3MDQ0MDVCMUU1Mzkz
NzkwMDM1NjYwMSAvKiBKU0Flc0NiY0NmYlBhcmFtcy5jcHAgKi8sCisJCQkJNTcwNDQwNTkxRTUz
OTM2MjAwMzU2NjAxIC8qIEpTQWVzQ2JjQ2ZiUGFyYW1zLmggKi8sCiAJCQkJNTc3NDgzMTUxREFF
QzMyMjAwNzE2RUY5IC8qIEpTQWVzS2V5R2VuUGFyYW1zLmNwcCAqLywKIAkJCQk1Nzc0ODMxMzFE
QUVDMkVBMDA3MTZFRjkgLyogSlNBZXNLZXlHZW5QYXJhbXMuaCAqLywKIAkJCQk1NzM5RTEzMDFE
QUM3RkQxMDBFMTQzODMgLyogSlNDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmNwcCAqLywKQEAg
LTI1NDA0LDYgKzI1NDEzLDcgQEAKIAkJCQk3Qzc3QzNEMTFERUU0NzI0MDBBNTBCRkEgLyogQmxv
YlByb3BlcnR5QmFnLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRURFRjFGNTEyMUIwRUZDMDA3MjZE
QjIgLyogQmxvYlJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRURFRjFGNzEyMUIwRUZD
MDA3MjZEQjIgLyogQmxvYlJlZ2lzdHJ5SW1wbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTcwNDQw
NUExRTUzOTM2MjAwMzU2NjAxIC8qIEpTQWVzQ2JjQ2ZiUGFyYW1zLmggaW4gSGVhZGVycyAqLywK
IAkJCQkyRUI0QkNEMzEyMUYwM0UzMDBFQzQ4ODUgLyogQmxvYlJlc291cmNlSGFuZGxlLmggaW4g
SGVhZGVycyAqLywKIAkJCQk5NzZENkM3RjEyMkI4QTNEMDAxRkQxRjcgLyogQmxvYlVSTC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkM1RUI1RTEwRTgxQkU4NzAwQjI1OTY1IC8qIEJvcmRlckRhdGEu
aCBpbiBIZWFkZXJzICovLApAQCAtMjU1OTUsNyArMjU2MDUsNyBAQAogCQkJCUUxNzJBRjZFMTgw
RjI0QzYwMEZCQURCOSAvKiBDcnlwdG9BbGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAogCQkJCUUx
MjVGODQyMTgyNDI1M0EwMEQ4NENEOSAvKiBDcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFMUZFMTM3QjE4NEQyMUJCMDA4OTJGMTMgLyogQ3J5cHRvQWxnb3JpdGht
QUVTX0tXLmggaW4gSGVhZGVycyAqLywKLQkJCQk1NzIwOTNEMzFERENFQjlBMDAzMTBBQjAgLyog
Q3J5cHRvQWxnb3JpdGhtQWVzQ2JjUGFyYW1zLmggaW4gSGVhZGVycyAqLywKKwkJCQk1NzIwOTNE
MzFERENFQjlBMDAzMTBBQjAgLyogQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zLmggaW4g
SGVhZGVycyAqLywKIAkJCQlFMTI1RjgzQTE4MjQxMDQ4MDBEODRDRDkgLyogQ3J5cHRvQWxnb3Jp
dGhtQWVzQ2JjUGFyYW1zRGVwcmVjYXRlZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTc3NDgzMTIx
REFEQzU1RDAwNzE2RUY5IC8qIENyeXB0b0FsZ29yaXRobUFlc0tleUdlblBhcmFtcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRTE5QUMzRjcxODI0RTVEMTAwMzQ5NDI2IC8qIENyeXB0b0FsZ29yaXRo
bUFlc0tleUdlblBhcmFtc0RlcHJlY2F0ZWQuaCBpbiBIZWFkZXJzICovLApAQCAtMjY0NDUsNyAr
MjY0NTUsNiBAQAogCQkJCTQ0RUZGNjQzMUE2RkY5MjcwMEQ0NUVFQyAvKiBJT1R5cGVzU1BJLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwN0FDNDcwMjE5NTIxMDIxMDBFRTk3MjMgLyogSVNPVlRUQ3Vl
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MThGODgwNTBGRjk1N0FGMDA4MEYwNDUgLyogSlNBYnN0
cmFjdFdvcmtlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTcyMDkzRDUxRERDRUQ4RTAwMzEwQUIw
IC8qIEpTQWVzQ2JjUGFyYW1zLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Nzc0ODMxNDFEQUVDMkVC
MDA3MTZFRjkgLyogSlNBZXNLZXlHZW5QYXJhbXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEQTE1
RUNBMTJCMDNGNTAwMDNBNTgzQSAvKiBKU0FuYWx5c2VyTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMTJBMjUzRTMxQzhGRkY2NjAwQzIyMjk1IC8qIEpTQW5pbWF0YWJsZS5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yNzgyMiw2ICsyNzgzMSw3IEBACiAJCQkJMDgzREFFQTkwRjAxQTdGQjAwMzQyNzU0
IC8qIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNF
QTQ4OEUwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlclRleHRGcmFnbWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRTRDOTFBMTYxODA5OTlGMTAwQTE3RjZEIC8qIFJlbmRlclRleHRMaW5lQm94ZXMu
aCBpbiBIZWFkZXJzICovLAorCQkJCTU3MTI1MjY5MUU1MjRFQjEwMDhGRjM2OSAvKiBDcnlwdG9B
bGdvcml0aG1BRVNfQ0ZCLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VBNDg4QTA5N0Q5MzAyMDA5
NEM5RTQgLyogUmVuZGVyVGhlbWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMjk5RkU4MUQ3RjVG
QTYwMEE2MDA5MyAvKiBSZW5kZXJUaGVtZUNvY29hLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRUQx
M0Q1MjBDRUE5NDk3MDBEODk0NjYgLyogUmVuZGVyVGhlbWVJT1MuaCBpbiBIZWFkZXJzICovLApA
QCAtMjkyMDMsNiArMjkyMTMsNyBAQAogCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CiAJ
CQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJNTcwNDQw
NTMxRTUyNzhCMjAwMzU2NjAxIC8qIENyeXB0b0FsZ29yaXRobUFFU19DRkIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNDFFMUIxRDAwRkY1OTg2OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2VyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTM3RjU3QUI5MUE1MDcyNjkwMDg3NkY5OCAvKiBBY2Nlc3Np
YmlsaXR5QVJJQUdyaWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzdGNTdBQkExQTUwNzI2RjAw
ODc2Rjk4IC8qIEFjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwuY3BwIGluIFNvdXJjZXMgKi8sCkBA
IC0yOTkxNyw2ICsyOTkyOCw3IEBACiAJCQkJRDAwMEVCQTIxMUJEQUZENDAwQzQ3NzI2IC8qIEZy
YW1lTG9hZGVyU3RhdGVNYWNoaW5lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg2QkE3NjZFMTY2
NDI3QTgwMDVCRTVEMSAvKiBGcmFtZUxvYWRSZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTkzMzA5RTBEMDk5RTY0OTIwMDU2RTU4MSAvKiBGcmFtZVNlbGVjdGlvbi5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk1NzA0NDA1ODFFNTM4NTE2MDAzNTY2MDEgLyogQ3J5cHRvQWxnb3JpdGhtQUVT
X0NGQk1hYy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0QThDOTZFQjBCRTY5MDMyMDA0RUVGRjAg
LyogRnJhbWVTZWxlY3Rpb25NYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlDNENENjI5QTE4Mzgz
NzY2MDA3RUJBRjEgLyogRnJhbWVTbmFwc2hvdHRpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NjVBMjE0ODQwOTdBM0Y1MzAwQjkwNTBBIC8qIEZyYW1lVHJlZS5jcHAgaW4gU291cmNlcyAqLywK
QEAgLTMwMjM5LDcgKzMwMjUxLDYgQEAKIAkJCQlBRDlGRjZFMTE5MDgzOTFEMDAzQjYxRTAgLyog
SU9TdXJmYWNlUG9vbENvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdBQzQ3MDExOTUyMTAy
MTAwRUU5NzIzIC8qIElTT1ZUVEN1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MThGODgwNDBG
Rjk1N0FFMDA4MEYwNDUgLyogSlNBYnN0cmFjdFdvcmtlci5jcHAgaW4gU291cmNlcyAqLywKLQkJ
CQk1NzIwOTNENzFERENFREE3MDAzMTBBQjAgLyogSlNBZXNDYmNQYXJhbXMuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTc3NDgzMTYxREFFQzMyMzAwNzE2RUY5IC8qIEpTQWVzS2V5R2VuUGFyYW1z
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEQTE1RUM5MTJCMDNGNTAwMDNBNTgzQSAvKiBKU0Fu
YWx5c2VyTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMUE3OTVDNjE4ODhCQURDMDAzODJG
OTAgLyogSlNBTkdMRUluc3RhbmNlZEFycmF5cy5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMxMzEx
LDYgKzMxMzIyLDcgQEAKIAkJCQkxQThBNjQ2QzFEMTlGRjg3MDBEMEUwMEYgLyogUGF5bWVudENv
Y29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE4QTY0NkQxRDE5RkY4NzAwRDBFMDBGIC8qIFBh
eW1lbnRDb250YWN0Q29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQTU4RTg2RDFEMTlFNDJE
MDBDMEVBNzMgLyogUGF5bWVudENvb3JkaW5hdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTU3
MDQ0MDVDMUU1MzkzNzkwMDM1NjYwMSAvKiBKU0Flc0NiY0NmYlBhcmFtcy5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkxQURBNEExQzFEMjJGMkMwMDA1QTlBMTUgLyogUGF5bWVudE1lcmNoYW50U2Vz
c2lvbkNvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE4QTY0NkUxRDE5RkY4NzAwRDBFMDBG
IC8qIFBheW1lbnRNZXRob2RDb2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBNThFODY3MUQx
OUQ4MEUwMEMwRUE3MyAvKiBQYXltZW50UmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcApp
bmRleCA4NmI5NWQ3MWE2MjI1ZmQzZDg1ZjllMWZjNGE4NmVhYjY3YTEyZjE1Li4wNWY2ZmU2N2Qw
NzYxYzNkMWMwY2NmY2JmZTcyNzI5Yzk0YzExMWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwCkBAIC0zMCw3ICszMCw3IEBA
CiAKICNpbmNsdWRlICJDcnlwdG9BbGdvcml0aG0uaCIKICNpbmNsdWRlICJDcnlwdG9BbGdvcml0
aG1SZWdpc3RyeS5oIgotI2luY2x1ZGUgIkpTQWVzQ2JjUGFyYW1zLmgiCisjaW5jbHVkZSAiSlNB
ZXNDYmNDZmJQYXJhbXMuaCIKICNpbmNsdWRlICJKU0Flc0tleUdlblBhcmFtcy5oIgogI2luY2x1
ZGUgIkpTQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIkpTQ3J5cHRvS2V5
LmgiCkBAIC0xMTMsMTAgKzExMywxMSBAQCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0Fs
Z29yaXRobVBhcmFtZXRlcnM+IG5vcm1hbGl6ZUNyeXB0b0FsZ29yaXRobVBhcmFtZQogICAgICAg
ICAgICAgICAgIHJlc3VsdCA9IHN0ZDo6bWFrZV91bmlxdWU8Q3J5cHRvQWxnb3JpdGhtUnNhT2Fl
cFBhcmFtcz4ocGFyYW1zKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6QUVTX0NCQzogewot
ICAgICAgICAgICAgICAgIGF1dG8gcGFyYW1zID0gY29udmVydERpY3Rpb25hcnk8Q3J5cHRvQWxn
b3JpdGhtQWVzQ2JjUGFyYW1zPihzdGF0ZSwgdmFsdWUpOworICAgICAgICAgICAgY2FzZSBDcnlw
dG9BbGdvcml0aG1JZGVudGlmaWVyOjpBRVNfQ0JDOgorICAgICAgICAgICAgY2FzZSBDcnlwdG9B
bGdvcml0aG1JZGVudGlmaWVyOjpBRVNfQ0ZCOiB7CisgICAgICAgICAgICAgICAgYXV0byBwYXJh
bXMgPSBjb252ZXJ0RGljdGlvbmFyeTxDcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXM+KHN0
YXRlLCB2YWx1ZSk7CiAgICAgICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
bnVsbHB0cik7Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gc3RkOjptYWtlX3VuaXF1ZTxDcnlw
dG9BbGdvcml0aG1BZXNDYmNQYXJhbXM+KHBhcmFtcyk7CisgICAgICAgICAgICAgICAgcmVzdWx0
ID0gc3RkOjptYWtlX3VuaXF1ZTxDcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXM+KHBhcmFt
cyk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBk
ZWZhdWx0OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRo
bS5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRobS5oCmluZGV4IGE4ZDIz
MjcyZTdlZThmMGFhZTA4NTNiY2U4ZWVlYjhjZDY2NWVkNDcuLjgxOWYzNzcxNGVmYzJiODdiNTFm
NzgxY2QwYmIzZmNlNjYxZTA2ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9D
cnlwdG9BbGdvcml0aG0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3Jp
dGhtLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJKc29uV2ViS2V5LmgiCiAjaW5jbHVk
ZSAiU3VidGxlQ3J5cHRvLmgiCiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CisjaW5jbHVkZSA8
d3RmL1ZhcmlhbnQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL1dv
cmtRdWV1ZS5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxn
b3JpdGhtUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRo
bVBhcmFtZXRlcnMuaAppbmRleCBiOTQxNTIxMDQ2MmIzZTg2ZmViOGE0N2I1NmUzM2UwMzkwZDM4
NjE0Li42NzIyNGZlZjEwODE4NjJiODM3MGVkNmJiMTI1NTlkNzBhZDk1ZTNhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmgKQEAgLTM3
LDcgKzM3LDcgQEAgY2xhc3MgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyB7CiBwdWJsaWM6CiAg
ICAgZW51bSBjbGFzcyBDbGFzcyB7CiAgICAgICAgIE5vbmUsCi0gICAgICAgIEFlc0NiY1BhcmFt
cywKKyAgICAgICAgQWVzQ2JjQ2ZiUGFyYW1zLAogICAgICAgICBBZXNLZXlHZW5QYXJhbXMsCiAg
ICAgICAgIEhtYWNLZXlQYXJhbXMsCiAgICAgICAgIFJzYUhhc2hlZEtleUdlblBhcmFtcywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRo
bUFFU19DQkMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxn
b3JpdGhtQUVTX0NCQy5jcHAKaW5kZXggNTEzOTcwNDQ4ZTc0NDlhM2EwZDQyOWM4NTVlZWY1YWM2
YzY1MTJlNC4uNGZiOGM5MTI3NDBmMmZkZWY5YjcxMGY4OWZkY2I3MGEwNmE5MWU4OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVT
X0NCQy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxn
b3JpdGhtQUVTX0NCQy5jcHAKQEAgLTI4LDcgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShTVUJUTEVf
Q1JZUFRPKQogCi0jaW5jbHVkZSAiQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjUGFyYW1zLmgiCisjaW5j
bHVkZSAiQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zLmgiCiAjaW5jbHVkZSAiQ3J5cHRv
QWxnb3JpdGhtQWVzQ2JjUGFyYW1zRGVwcmVjYXRlZC5oIgogI2luY2x1ZGUgIkNyeXB0b0FsZ29y
aXRobUFlc0tleUdlblBhcmFtcy5oIgogI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFlc0tleUdl
blBhcmFtc0RlcHJlY2F0ZWQuaCIKQEAgLTY5LDcgKzY5LDcgQEAgYm9vbCBDcnlwdG9BbGdvcml0
aG1BRVNfQ0JDOjprZXlBbGdvcml0aG1NYXRjaGVzKGNvbnN0IENyeXB0b0FsZ29yaXRobUFlc0Ni
Y1BhcmEKIHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6ZW5jcnlwdChzdGQ6OnVuaXF1ZV9w
dHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzLCBSZWY8Q3J5cHRvS2V5
PiYmIGtleSwgVmVjdG9yPHVpbnQ4X3Q+JiYgcGxhaW5UZXh0LCBWZWN0b3JDYWxsYmFjayYmIGNh
bGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrLCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBjb250ZXh0LCBXb3JrUXVldWUmIHdvcmtRdWV1ZSkKIHsKICAgICBBU1NF
UlQocGFyYW1ldGVycyk7Ci0gICAgYXV0byYgYWVzUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0
b0FsZ29yaXRobUFlc0NiY1BhcmFtcz4oKnBhcmFtZXRlcnMpOworICAgIGF1dG8mIGFlc1BhcmFt
ZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXM+KCpwYXJhbWV0
ZXJzKTsKICAgICBpZiAoYWVzUGFyYW1ldGVycy5pdlZlY3RvcigpLnNpemUoKSAhPSBJVlNJWkUp
IHsKICAgICAgICAgZXhjZXB0aW9uQ2FsbGJhY2soT3BlcmF0aW9uRXJyb3IpOwogICAgICAgICBy
ZXR1cm47CkBAIC04MCw3ICs4MCw3IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6ZW5j
cnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mCiB2b2lkIENy
eXB0b0FsZ29yaXRobUFFU19DQkM6OmRlY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29y
aXRobVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycywgUmVmPENyeXB0b0tleT4mJiBrZXksIFZlY3Rv
cjx1aW50OF90PiYmIGNpcGhlclRleHQsIFZlY3RvckNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2Vw
dGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQsIFdvcmtRdWV1ZSYgd29ya1F1ZXVlKQogewogICAgIEFTU0VSVChwYXJhbWV0ZXJz
KTsKLSAgICBhdXRvJiBhZXNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtQWVz
Q2JjUGFyYW1zPigqcGFyYW1ldGVycyk7CisgICAgYXV0byYgYWVzUGFyYW1ldGVycyA9IGRvd25j
YXN0PENyeXB0b0FsZ29yaXRobUFlc0NiY0NmYlBhcmFtcz4oKnBhcmFtZXRlcnMpOwogICAgIGlm
IChhZXNQYXJhbWV0ZXJzLml2VmVjdG9yKCkuc2l6ZSgpICE9IElWU0laRSkgewogICAgICAgICBl
eGNlcHRpb25DYWxsYmFjayhPcGVyYXRpb25FcnJvcik7CiAgICAgICAgIHJldHVybjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFF
U19DRkIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3Jp
dGhtQUVTX0NGQi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjY5NGU5OTZiMmU4MDUxMWEzMzE5ZGE3YzQyMWRk
Njc5NTZjOWJhNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdv
cml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DRkIuY3BwCkBAIC0wLDAgKzEsMTgwIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFF
U19DRkIuaCIKKworI2lmIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQorCisjaW5jbHVkZSAiQ3J5cHRv
QWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zLmgiCisjaW5jbHVkZSAiQ3J5cHRvQWxnb3JpdGhtQWVz
S2V5R2VuUGFyYW1zLmgiCisjaW5jbHVkZSAiQ3J5cHRvS2V5QUVTLmgiCisjaW5jbHVkZSAiRXhj
ZXB0aW9uQ29kZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBjb25zdCBjaGFy
KiBjb25zdCBBTEcxMjggPSAiQTEyOENGQjgiOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFM
RzE5MiA9ICJBMTkyQ0ZCOCI7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHMjU2ID0gIkEy
NTZDRkI4IjsKK3N0YXRpYyBjb25zdCBzaXplX3QgSVZTSVpFID0gMTY7CisKK3N0YXRpYyBpbmxp
bmUgYm9vbCB1c2FnZXNBcmVJbnZhbGlkRm9yQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQihDcnlwdG9L
ZXlVc2FnZUJpdG1hcCB1c2FnZXMpCit7CisgICAgcmV0dXJuIHVzYWdlcyAmIChDcnlwdG9LZXlV
c2FnZVNpZ24gfCBDcnlwdG9LZXlVc2FnZVZlcmlmeSB8IENyeXB0b0tleVVzYWdlRGVyaXZlS2V5
IHwgQ3J5cHRvS2V5VXNhZ2VEZXJpdmVCaXRzKTsKK30KKworUmVmPENyeXB0b0FsZ29yaXRobT4g
Q3J5cHRvQWxnb3JpdGhtQUVTX0NGQjo6Y3JlYXRlKCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCKTsKK30KKworQ3J5cHRvQWxnb3JpdGhtSWRlbnRp
ZmllciBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCOjppZGVudGlmaWVyKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gc19pZGVudGlmaWVyOworfQorCit2b2lkIENyeXB0b0FsZ29yaXRobUFFU19DRkI6OmVu
Y3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFyYW1l
dGVycywgUmVmPENyeXB0b0tleT4mJiBrZXksIFZlY3Rvcjx1aW50OF90PiYmIHBsYWluVGV4dCwg
VmVjdG9yQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25D
YWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgV29ya1F1ZXVlJiB3b3Jr
UXVldWUpCit7CisgICAgQVNTRVJUKHBhcmFtZXRlcnMpOworICAgIGF1dG8mIGFlc1BhcmFtZXRl
cnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXM+KCpwYXJhbWV0ZXJz
KTsKKyAgICBpZiAoYWVzUGFyYW1ldGVycy5pdlZlY3RvcigpLnNpemUoKSAhPSBJVlNJWkUpIHsK
KyAgICAgICAgZXhjZXB0aW9uQ2FsbGJhY2soT3BlcmF0aW9uRXJyb3IpOworICAgICAgICByZXR1
cm47CisgICAgfQorICAgIHBsYXRmb3JtRW5jcnlwdChXVEZNb3ZlKHBhcmFtZXRlcnMpLCBXVEZN
b3ZlKGtleSksIFdURk1vdmUocGxhaW5UZXh0KSwgV1RGTW92ZShjYWxsYmFjayksIFdURk1vdmUo
ZXhjZXB0aW9uQ2FsbGJhY2spLCBjb250ZXh0LCB3b3JrUXVldWUpOworfQorCit2b2lkIENyeXB0
b0FsZ29yaXRobUFFU19DRkI6OmRlY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRo
bVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycywgUmVmPENyeXB0b0tleT4mJiBrZXksIFZlY3Rvcjx1
aW50OF90PiYmIGNpcGhlclRleHQsIFZlY3RvckNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlv
bkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQsIFdvcmtRdWV1ZSYgd29ya1F1ZXVlKQoreworICAgIEFTU0VSVChwYXJhbWV0ZXJzKTsK
KyAgICBhdXRvJiBhZXNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtQWVzQ2Jj
Q2ZiUGFyYW1zPigqcGFyYW1ldGVycyk7CisgICAgaWYgKGFlc1BhcmFtZXRlcnMuaXZWZWN0b3Io
KS5zaXplKCkgIT0gSVZTSVpFKSB7CisgICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNrKE9wZXJhdGlv
bkVycm9yKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBwbGF0Zm9ybURlY3J5cHQoV1RG
TW92ZShwYXJhbWV0ZXJzKSwgV1RGTW92ZShrZXkpLCBXVEZNb3ZlKGNpcGhlclRleHQpLCBXVEZN
b3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShleGNlcHRpb25DYWxsYmFjayksIGNvbnRleHQsIHdvcmtR
dWV1ZSk7Cit9CisKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQjo6Z2VuZXJhdGVLZXkoY29u
c3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYgcGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJs
ZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzLCBLZXlPcktleVBhaXJDYWxsYmFjayYmIGNh
bGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrLCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0JikKK3sKKyAgICBjb25zdCBhdXRvJiBhZXNQYXJhbWV0ZXJzID0gZG93bmNh
c3Q8Q3J5cHRvQWxnb3JpdGhtQWVzS2V5R2VuUGFyYW1zPihwYXJhbWV0ZXJzKTsKKworICAgIGlm
ICh1c2FnZXNBcmVJbnZhbGlkRm9yQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQih1c2FnZXMpKSB7Cisg
ICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNrKFNZTlRBWF9FUlIpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgYXV0byByZXN1bHQgPSBDcnlwdG9LZXlBRVM6OmdlbmVyYXRlKENyeXB0b0Fs
Z29yaXRobUlkZW50aWZpZXI6OkFFU19DRkIsIGFlc1BhcmFtZXRlcnMubGVuZ3RoLCBleHRyYWN0
YWJsZSwgdXNhZ2VzKTsKKyAgICBpZiAoIXJlc3VsdCkgeworICAgICAgICBleGNlcHRpb25DYWxs
YmFjayhPcGVyYXRpb25FcnJvcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBjYWxs
YmFjayhXVEZNb3ZlKHJlc3VsdCkpOworfQorCit2b2lkIENyeXB0b0FsZ29yaXRobUFFU19DRkI6
OmltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQsIEtleURhdGEmJiBkYXRh
LCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiBwYXJh
bWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtl
eUNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJh
Y2spCit7CisgICAgQVNTRVJUKHBhcmFtZXRlcnMpOworICAgIGlmICh1c2FnZXNBcmVJbnZhbGlk
Rm9yQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQih1c2FnZXMpKSB7CisgICAgICAgIGV4Y2VwdGlvbkNh
bGxiYWNrKFNZTlRBWF9FUlIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgUmVmUHRy
PENyeXB0b0tleUFFUz4gcmVzdWx0OworICAgIHN3aXRjaCAoZm9ybWF0KSB7CisgICAgY2FzZSBT
dWJ0bGVDcnlwdG86OktleUZvcm1hdDo6UmF3OgorICAgICAgICByZXN1bHQgPSBDcnlwdG9LZXlB
RVM6OmltcG9ydFJhdyhwYXJhbWV0ZXJzLT5pZGVudGlmaWVyLCBXVEZNb3ZlKFdURjo6Z2V0PFZl
Y3Rvcjx1aW50OF90Pj4oZGF0YSkpLCBleHRyYWN0YWJsZSwgdXNhZ2VzKTsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBTdWJ0bGVDcnlwdG86OktleUZvcm1hdDo6SndrOiB7CisgICAgICAgIGF1
dG8gY2hlY2tBbGdDYWxsYmFjayA9IFtdKHNpemVfdCBsZW5ndGgsIGNvbnN0IFN0cmluZyYgYWxn
KSAtPiBib29sIHsKKyAgICAgICAgICAgIHN3aXRjaCAobGVuZ3RoKSB7CisgICAgICAgICAgICBj
YXNlIENyeXB0b0tleUFFUzo6c19sZW5ndGgxMjg6CisgICAgICAgICAgICAgICAgcmV0dXJuIGFs
Zy5pc051bGwoKSB8fCBhbGcudmFsdWUoKSA9PSBBTEcxMjg7CisgICAgICAgICAgICBjYXNlIENy
eXB0b0tleUFFUzo6c19sZW5ndGgxOTI6CisgICAgICAgICAgICAgICAgcmV0dXJuIGFsZy5pc051
bGwoKSB8fCBhbGcudmFsdWUoKSA9PSBBTEcxOTI7CisgICAgICAgICAgICBjYXNlIENyeXB0b0tl
eUFFUzo6c19sZW5ndGgyNTY6CisgICAgICAgICAgICAgICAgcmV0dXJuIGFsZy5pc051bGwoKSB8
fCBhbGcudmFsdWUoKSA9PSBBTEcyNTY7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgICAgIH07CisgICAgICAgIHJlc3VsdCA9IENyeXB0b0tleUFFUzo6aW1w
b3J0SndrKHBhcmFtZXRlcnMtPmlkZW50aWZpZXIsIFdURk1vdmUoV1RGOjpnZXQ8SnNvbldlYktl
eT4oZGF0YSkpLCBleHRyYWN0YWJsZSwgdXNhZ2VzLCBXVEZNb3ZlKGNoZWNrQWxnQ2FsbGJhY2sp
KTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGRlZmF1bHQ6CisgICAgICAgIGV4Y2VwdGlv
bkNhbGxiYWNrKE5PVF9TVVBQT1JURURfRVJSKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAg
ICBpZiAoIXJlc3VsdCkgeworICAgICAgICBleGNlcHRpb25DYWxsYmFjayhEYXRhRXJyb3IpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgY2FsbGJhY2soKnJlc3VsdCk7Cit9CisKK3Zv
aWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQjo6ZXhwb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9y
bWF0IGZvcm1hdCwgUmVmPENyeXB0b0tleT4mJiBrZXksIEtleURhdGFDYWxsYmFjayYmIGNhbGxi
YWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrKQoreworICAgIGNvbnN0
IGF1dG8mIGFlc0tleSA9IGRvd25jYXN0PENyeXB0b0tleUFFUz4oa2V5LmdldCgpKTsKKworICAg
IGlmIChhZXNLZXkua2V5KCkuaXNFbXB0eSgpKSB7CisgICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNr
KE9wZXJhdGlvbkVycm9yKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEtleURhdGEg
cmVzdWx0OworICAgIHN3aXRjaCAoZm9ybWF0KSB7CisgICAgY2FzZSBTdWJ0bGVDcnlwdG86Oktl
eUZvcm1hdDo6UmF3OgorICAgICAgICByZXN1bHQgPSBWZWN0b3I8dWludDhfdD4oYWVzS2V5Lmtl
eSgpKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTdWJ0bGVDcnlwdG86OktleUZvcm1hdDo6
SndrOiB7CisgICAgICAgIEpzb25XZWJLZXkgandrID0gYWVzS2V5LmV4cG9ydEp3aygpOworICAg
ICAgICBzd2l0Y2ggKGFlc0tleS5rZXkoKS5zaXplKCkgKiA4KSB7CisgICAgICAgIGNhc2UgQ3J5
cHRvS2V5QUVTOjpzX2xlbmd0aDEyODoKKyAgICAgICAgICAgIGp3ay5hbGcgPSBTdHJpbmcoQUxH
MTI4KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENyeXB0b0tleUFFUzo6c19s
ZW5ndGgxOTI6CisgICAgICAgICAgICBqd2suYWxnID0gU3RyaW5nKEFMRzE5Mik7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDcnlwdG9LZXlBRVM6OnNfbGVuZ3RoMjU2OgorICAg
ICAgICAgICAgandrLmFsZyA9IFN0cmluZyhBTEcyNTYpOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAg
ICAgfQorICAgICAgICByZXN1bHQgPSBXVEZNb3ZlKGp3ayk7CisgICAgICAgIGJyZWFrOworICAg
IH0KKyAgICBkZWZhdWx0OgorICAgICAgICBleGNlcHRpb25DYWxsYmFjayhOT1RfU1VQUE9SVEVE
X0VSUik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBjYWxsYmFjayhmb3JtYXQsIFdU
Rk1vdmUocmVzdWx0KSk7Cit9CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShTVUJUTEVfQ1JZUFRP
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxn
b3JpdGhtQUVTX0NGQi5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRv
QWxnb3JpdGhtQUVTX0NGQi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyMzhmNGQ0NjI2OWVmZTE4OTY2ODZjMDRk
NmM4OGIxMzU2MjMzNzIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
YWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfQ0ZCLmgKQEAgLTAsMCArMSw1OCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQ3J5cHRvQWxnb3JpdGhtLmgiCisK
KyNpZiBFTkFCTEUoU1VCVExFX0NSWVBUTykKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBDcnlwdG9LZXlBRVM7CisKK2NsYXNzIENyeXB0b0FsZ29yaXRobUFFU19DRkIgZmluYWwgOiBw
dWJsaWMgQ3J5cHRvQWxnb3JpdGhtIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgY29uc3RleHByIGNv
bnN0IGNoYXIqIHNfbmFtZSA9ICJBRVMtQ0ZCLTgiOworICAgIHN0YXRpYyBjb25zdGV4cHIgQ3J5
cHRvQWxnb3JpdGhtSWRlbnRpZmllciBzX2lkZW50aWZpZXIgPSBDcnlwdG9BbGdvcml0aG1JZGVu
dGlmaWVyOjpBRVNfQ0ZCOworICAgIHN0YXRpYyBSZWY8Q3J5cHRvQWxnb3JpdGhtPiBjcmVhdGUo
KTsKKworcHJpdmF0ZToKKyAgICBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCKCkgPSBkZWZhdWx0Owor
ICAgIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0IGZpbmFsOwor
CisgICAgdm9pZCBlbmNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0
ZXJzPiYmLCBSZWY8Q3J5cHRvS2V5PiYmLCBWZWN0b3I8dWludDhfdD4mJiwgVmVjdG9yQ2FsbGJh
Y2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFdvcmtR
dWV1ZSYpIGZpbmFsOworICAgIHZvaWQgZGVjcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxn
b3JpdGhtUGFyYW1ldGVycz4mJiwgUmVmPENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYs
IFZlY3RvckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmLCBXb3JrUXVldWUmKSBmaW5hbDsKKyAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IENy
eXB0b0FsZ29yaXRobVBhcmFtZXRlcnMmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2Fn
ZUJpdG1hcCwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYpIGZpbmFsOworICAgIHZvaWQgaW1wb3J0S2V5KFN1YnRsZUNy
eXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRhJiYsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9B
bGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJp
dG1hcCwgS2V5Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7CisgICAgdm9p
ZCBleHBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIFJlZjxDcnlwdG9LZXk+JiYsIEtl
eURhdGFDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKSBmaW5hbDsKKworICAgIHZvaWQg
cGxhdGZvcm1FbmNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJz
PiYmLCBSZWY8Q3J5cHRvS2V5PiYmLCBWZWN0b3I8dWludDhfdD4mJiwgVmVjdG9yQ2FsbGJhY2sm
JiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFdvcmtRdWV1
ZSYpOworICAgIHZvaWQgcGxhdGZvcm1EZWNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdv
cml0aG1QYXJhbWV0ZXJzPiYmLCBSZWY8Q3J5cHRvS2V5PiYmLCBWZWN0b3I8dWludDhfdD4mJiwg
VmVjdG9yQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYsIFdvcmtRdWV1ZSYpOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRU5BQkxFKFNVQlRMRV9DUllQVE8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
cnlwdG8vZ251dGxzL0NyeXB0b0FsZ29yaXRobUFFU19DRkJHbnVUTFMuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3J5cHRvL2dudXRscy9DcnlwdG9BbGdvcml0aG1BRVNfQ0ZCR251VExTLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mNTkxODJjNDA4Zjg5YjQxNjUwNWNmZTJmMjE2MmNhMDQ5YzRkZGZjCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2dudXRscy9DcnlwdG9BbGdvcml0aG1B
RVNfQ0ZCR251VExTLmNwcApAQCAtMCwwICsxLDQ4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFFU19DRkIuaCIKKworI2lmIEVO
QUJMRShTVUJUTEVfQ1JZUFRPKQorCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1
ZGUgIk5vdEltcGxlbWVudGVkLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBDcnlw
dG9BbGdvcml0aG1BRVNfQ0ZCOjpwbGF0Zm9ybUVuY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0
b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIFJlZjxDcnlwdG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90
PiYmLCBWZWN0b3JDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiwgV29ya1F1ZXVlJikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2
b2lkIENyeXB0b0FsZ29yaXRobUFFU19DRkI6OnBsYXRmb3JtRGVjcnlwdChzdGQ6OnVuaXF1ZV9w
dHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgUmVmPENyeXB0b0tleT4mJiwgVmVjdG9y
PHVpbnQ4X3Q+JiYsIFZlY3RvckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmLCBXb3JrUXVldWUmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTVUJUTEVf
Q1JZUFRPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdv
cml0aG1BRVNfQ0JDTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvQWxn
b3JpdGhtQUVTX0NCQ01hYy5jcHAKaW5kZXggN2VlZTc3YmIxNmYyN2JlOTg1MzExZDY2YjdjOGE3
ZTU2NmY0ZGJiZS4uNTY5MTQwYWU2NWNkMjI4MTBlYzc1NWZkMmIzNWU0Yzc5MTZlMDNmNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JD
TWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0NyeXB0b0FsZ29yaXRobUFF
U19DQkNNYWMuY3BwCkBAIC0yOCw3ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoU1VCVExFX0NSWVBU
TykKIAotI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFlc0NiY1BhcmFtcy5oIgorI2luY2x1ZGUg
IkNyeXB0b0FsZ29yaXRobUFlc0NiY0NmYlBhcmFtcy5oIgogI2luY2x1ZGUgIkNyeXB0b0FsZ29y
aXRobUFlc0NiY1BhcmFtc0RlcHJlY2F0ZWQuaCIKICNpbmNsdWRlICJDcnlwdG9LZXlBRVMuaCIK
ICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCkBAIC00MSwxNCArNDEsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0
OTM5CiBzdGF0aWMgRXhjZXB0aW9uT3I8VmVjdG9yPHVpbnQ4X3Q+PiB0cmFuc2Zvcm1BRVNfQ0JD
KENDT3BlcmF0aW9uIG9wZXJhdGlvbiwgY29uc3QgdWludDhfdCogaXYsIGNvbnN0IFZlY3Rvcjx1
aW50OF90PiYga2V5LCBjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3QgZGF0YUxlbmd0aCkKIHsK
LSAgICBzaXplX3Qga2V5TGVuZ3RoSW5CeXRlcyA9IGtleS5zaXplKCk7CiAgICAgQ0NDcnlwdG9y
UmVmIGNyeXB0b3I7Ci0jaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgQ0NBbGdvcml0aG0gYWVzQWxn
b3JpdGhtID0ga0NDQWxnb3JpdGhtQUVTOwotI2Vsc2UKLSAgICBDQ0FsZ29yaXRobSBhZXNBbGdv
cml0aG0gPSBrQ0NBbGdvcml0aG1BRVMxMjg7Ci0jZW5kaWYKLSAgICBDQ0NyeXB0b3JTdGF0dXMg
c3RhdHVzID0gQ0NDcnlwdG9yQ3JlYXRlKG9wZXJhdGlvbiwgYWVzQWxnb3JpdGhtLCBrQ0NPcHRp
b25QS0NTN1BhZGRpbmcsIGtleS5kYXRhKCksIGtleUxlbmd0aEluQnl0ZXMsIGl2LCAmY3J5cHRv
cik7CisgICAgQ0NDcnlwdG9yU3RhdHVzIHN0YXR1cyA9IENDQ3J5cHRvckNyZWF0ZShvcGVyYXRp
b24sIGtDQ0FsZ29yaXRobUFFUywga0NDT3B0aW9uUEtDUzdQYWRkaW5nLCBrZXkuZGF0YSgpLCBr
ZXkuc2l6ZSgpLCBpdiwgJmNyeXB0b3IpOwogICAgIGlmIChzdGF0dXMpCiAgICAgICAgIHJldHVy
biBFeGNlcHRpb24geyBPcGVyYXRpb25FcnJvciB9OwogCkBAIC03Nyw3ICs3MSw3IEBAIHZvaWQg
Q3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6cGxhdGZvcm1FbmNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxD
cnlwdG9BbGdvcml0aG1QYXJhCiB7CiAgICAgY29udGV4dC5yZWYoKTsKICAgICB3b3JrUXVldWUu
ZGlzcGF0Y2goW3BhcmFtZXRlcnMgPSBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBrZXkgPSBXVEZNb3Zl
KGtleSksIHBsYWluVGV4dCA9IFdURk1vdmUocGxhaW5UZXh0KSwgY2FsbGJhY2sgPSBXVEZNb3Zl
KGNhbGxiYWNrKSwgZXhjZXB0aW9uQ2FsbGJhY2sgPSBXVEZNb3ZlKGV4Y2VwdGlvbkNhbGxiYWNr
KSwgJmNvbnRleHRdKCkgbXV0YWJsZSB7Ci0gICAgICAgIGF1dG8mIGFlc1BhcmFtZXRlcnMgPSBk
b3duY2FzdDxDcnlwdG9BbGdvcml0aG1BZXNDYmNQYXJhbXM+KCpwYXJhbWV0ZXJzKTsKKyAgICAg
ICAgYXV0byYgYWVzUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29yaXRobUFlc0NiY0Nm
YlBhcmFtcz4oKnBhcmFtZXRlcnMpOwogICAgICAgICBhdXRvJiBhZXNLZXkgPSBkb3duY2FzdDxD
cnlwdG9LZXlBRVM+KGtleS5nZXQoKSk7CiAgICAgICAgIEFTU0VSVChhZXNQYXJhbWV0ZXJzLml2
VmVjdG9yKCkuc2l6ZSgpID09IGtDQ0Jsb2NrU2l6ZUFFUzEyOCk7CiAgICAgICAgIGF1dG8gcmVz
dWx0ID0gdHJhbnNmb3JtQUVTX0NCQyhrQ0NFbmNyeXB0LCBhZXNQYXJhbWV0ZXJzLml2VmVjdG9y
KCkuZGF0YSgpLCBhZXNLZXkua2V5KCksIHBsYWluVGV4dC5kYXRhKCksIHBsYWluVGV4dC5zaXpl
KCkpOwpAQCAtMTAxLDcgKzk1LDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfQ0JDOjpwbGF0
Zm9ybURlY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmEKIHsKICAgICBj
b250ZXh0LnJlZigpOwogICAgIHdvcmtRdWV1ZS5kaXNwYXRjaChbcGFyYW1ldGVycyA9IFdURk1v
dmUocGFyYW1ldGVycyksIGtleSA9IFdURk1vdmUoa2V5KSwgY2lwaGVyVGV4dCA9IFdURk1vdmUo
Y2lwaGVyVGV4dCksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayksIGV4Y2VwdGlvbkNhbGxi
YWNrID0gV1RGTW92ZShleGNlcHRpb25DYWxsYmFjayksICZjb250ZXh0XSgpIG11dGFibGUgewot
ICAgICAgICBhdXRvJiBhZXNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtQWVz
Q2JjUGFyYW1zPigqcGFyYW1ldGVycyk7CisgICAgICAgIGF1dG8mIGFlc1BhcmFtZXRlcnMgPSBk
b3duY2FzdDxDcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXM+KCpwYXJhbWV0ZXJzKTsKICAg
ICAgICAgYXV0byYgYWVzS2V5ID0gZG93bmNhc3Q8Q3J5cHRvS2V5QUVTPihrZXkuZ2V0KCkpOwog
ICAgICAgICBhc3NlcnQoYWVzUGFyYW1ldGVycy5pdlZlY3RvcigpLnNpemUoKSA9PSBrQ0NCbG9j
a1NpemVBRVMxMjgpOwogICAgICAgICBhdXRvIHJlc3VsdCA9IHRyYW5zZm9ybUFFU19DQkMoa0ND
RGVjcnlwdCwgYWVzUGFyYW1ldGVycy5pdlZlY3RvcigpLmRhdGEoKSwgYWVzS2V5LmtleSgpLCBj
aXBoZXJUZXh0LmRhdGEoKSwgY2lwaGVyVGV4dC5zaXplKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1BRVNfQ0ZCTWFjLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQk1hYy5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjMzY2E3M2IxMWI3NmZlNzRiYmQ1ODk2ZWIwNTRjMDFkOWZhMDg0NwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NG
Qk1hYy5jcHAKQEAgLTAsMCArMSwxMTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQi5oIgorCisjaWYgRU5BQkxFKFNV
QlRMRV9DUllQVE8pCisKKyNpbmNsdWRlICJDcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXMu
aCIKKyNpbmNsdWRlICJDcnlwdG9LZXlBRVMuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgi
CisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgPENvbW1vbkNy
eXB0by9Db21tb25DcnlwdG8uaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMgRXhj
ZXB0aW9uT3I8VmVjdG9yPHVpbnQ4X3Q+PiB0cmFuc2Zvcm1BRVNfQ0ZCKENDT3BlcmF0aW9uIG9w
ZXJhdGlvbiwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBpdiwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+
JiBrZXksIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgZGF0YSkKK3sKKyAgICBDQ0NyeXB0b3JSZWYg
Y3J5cHRvcjsKKyAgICBDQ0NyeXB0b3JTdGF0dXMgc3RhdHVzID0gQ0NDcnlwdG9yQ3JlYXRlV2l0
aE1vZGUob3BlcmF0aW9uLCBrQ0NNb2RlQ0ZCOCwga0NDQWxnb3JpdGhtQUVTLCBjY05vUGFkZGlu
ZywgaXYuZGF0YSgpLCBrZXkuZGF0YSgpLCBrZXkuc2l6ZSgpLCAwLCAwLCAwLCAwLCAmY3J5cHRv
cik7CisgICAgaWYgKHN0YXR1cykKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE9wZXJhdGlv
bkVycm9yIH07CisKKyAgICBWZWN0b3I8dWludDhfdD4gcmVzdWx0KENDQ3J5cHRvckdldE91dHB1
dExlbmd0aChjcnlwdG9yLCBkYXRhLnNpemUoKSwgdHJ1ZSkpOworCisgICAgc2l6ZV90IGJ5dGVz
V3JpdHRlbjsKKyAgICBzdGF0dXMgPSBDQ0NyeXB0b3JVcGRhdGUoY3J5cHRvciwgZGF0YS5kYXRh
KCksIGRhdGEuc2l6ZSgpLCByZXN1bHQuZGF0YSgpLCByZXN1bHQuc2l6ZSgpLCAmYnl0ZXNXcml0
dGVuKTsKKyAgICBpZiAoc3RhdHVzKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgT3BlcmF0
aW9uRXJyb3IgfTsKKworICAgIHVpbnQ4X3QqIHAgPSByZXN1bHQuZGF0YSgpICsgYnl0ZXNXcml0
dGVuOworICAgIHN0YXR1cyA9IENDQ3J5cHRvckZpbmFsKGNyeXB0b3IsIHAsIHJlc3VsdC5lbmQo
KSAtIHAsICZieXRlc1dyaXR0ZW4pOworICAgIHAgKz0gYnl0ZXNXcml0dGVuOworICAgIGlmIChz
dGF0dXMpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBPcGVyYXRpb25FcnJvciB9OworCisg
ICAgQVNTRVJUKHAgPD0gcmVzdWx0LmVuZCgpKTsKKyAgICByZXN1bHQuc2hyaW5rKHAgLSByZXN1
bHQuYmVnaW4oKSk7CisKKyAgICBDQ0NyeXB0b3JSZWxlYXNlKGNyeXB0b3IpOworCisgICAgcmV0
dXJuIFdURk1vdmUocmVzdWx0KTsKK30KKwordm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCOjpw
bGF0Zm9ybUVuY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+
JiYgcGFyYW1ldGVycywgUmVmPENyeXB0b0tleT4mJiBrZXksIFZlY3Rvcjx1aW50OF90PiYmIHBs
YWluVGV4dCwgVmVjdG9yQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBl
eGNlcHRpb25DYWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgV29ya1F1
ZXVlJiB3b3JrUXVldWUpCit7CisgICAgY29udGV4dC5yZWYoKTsKKyAgICB3b3JrUXVldWUuZGlz
cGF0Y2goW3BhcmFtZXRlcnMgPSBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBrZXkgPSBXVEZNb3ZlKGtl
eSksIHBsYWluVGV4dCA9IFdURk1vdmUocGxhaW5UZXh0KSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNh
bGxiYWNrKSwgZXhjZXB0aW9uQ2FsbGJhY2sgPSBXVEZNb3ZlKGV4Y2VwdGlvbkNhbGxiYWNrKSwg
JmNvbnRleHRdKCkgbXV0YWJsZSB7CisgICAgICAgIGF1dG8mIGFlc1BhcmFtZXRlcnMgPSBkb3du
Y2FzdDxDcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXM+KCpwYXJhbWV0ZXJzKTsKKyAgICAg
ICAgYXV0byYgYWVzS2V5ID0gZG93bmNhc3Q8Q3J5cHRvS2V5QUVTPihrZXkuZ2V0KCkpOworICAg
ICAgICBBU1NFUlQoYWVzUGFyYW1ldGVycy5pdlZlY3RvcigpLnNpemUoKSA9PSBrQ0NCbG9ja1Np
emVBRVMxMjgpOworICAgICAgICBhdXRvIHJlc3VsdCA9IHRyYW5zZm9ybUFFU19DRkIoa0NDRW5j
cnlwdCwgYWVzUGFyYW1ldGVycy5pdlZlY3RvcigpLCBhZXNLZXkua2V5KCksIHBsYWluVGV4dCk7
CisgICAgICAgIGlmIChyZXN1bHQuaGFzRXhjZXB0aW9uKCkpIHsKKyAgICAgICAgICAgIC8vIFdl
IHNob3VsZCBvbmx5IGRlcmVmZXJlbmNlIGNhbGxiYWNrcyBhZnRlciBiZWluZyBiYWNrIHRvIHRo
ZSBEb2N1bWVudC9Xb3JrZXIgdGhyZWFkcy4KKyAgICAgICAgICAgIGNvbnRleHQucG9zdFRhc2so
W2V4Y2VwdGlvbkNhbGxiYWNrID0gV1RGTW92ZShleGNlcHRpb25DYWxsYmFjayksIGVjID0gcmVz
dWx0LnJlbGVhc2VFeGNlcHRpb24oKS5jb2RlKCksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFj
ayldKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpIHsKKyAgICAgICAgICAgICAgICBl
eGNlcHRpb25DYWxsYmFjayhlYyk7CisgICAgICAgICAgICAgICAgY29udGV4dC5kZXJlZigpOwor
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAg
Ly8gV2Ugc2hvdWxkIG9ubHkgZGVyZWZlcmVuY2UgY2FsbGJhY2tzIGFmdGVyIGJlaW5nIGJhY2sg
dG8gdGhlIERvY3VtZW50L1dvcmtlciB0aHJlYWRzLgorICAgICAgICBjb250ZXh0LnBvc3RUYXNr
KFtjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spLCByZXN1bHQgPSByZXN1bHQucmVsZWFzZVJl
dHVyblZhbHVlKCksIGV4Y2VwdGlvbkNhbGxiYWNrID0gV1RGTW92ZShleGNlcHRpb25DYWxsYmFj
ayldKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpIHsKKyAgICAgICAgICAgIGNhbGxi
YWNrKHJlc3VsdCk7CisgICAgICAgICAgICBjb250ZXh0LmRlcmVmKCk7CisgICAgICAgIH0pOwor
ICAgIH0pOworfQorCit2b2lkIENyeXB0b0FsZ29yaXRobUFFU19DRkI6OnBsYXRmb3JtRGVjcnlw
dChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJz
LCBSZWY8Q3J5cHRvS2V5PiYmIGtleSwgVmVjdG9yPHVpbnQ4X3Q+JiYgY2lwaGVyVGV4dCwgVmVj
dG9yQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxs
YmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgV29ya1F1ZXVlJiB3b3JrUXVl
dWUpCit7CisgICAgY29udGV4dC5yZWYoKTsKKyAgICB3b3JrUXVldWUuZGlzcGF0Y2goW3BhcmFt
ZXRlcnMgPSBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBrZXkgPSBXVEZNb3ZlKGtleSksIGNpcGhlclRl
eHQgPSBXVEZNb3ZlKGNpcGhlclRleHQpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spLCBl
eGNlcHRpb25DYWxsYmFjayA9IFdURk1vdmUoZXhjZXB0aW9uQ2FsbGJhY2spLCAmY29udGV4dF0o
KSBtdXRhYmxlIHsKKyAgICAgICAgYXV0byYgYWVzUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0
b0FsZ29yaXRobUFlc0NiY0NmYlBhcmFtcz4oKnBhcmFtZXRlcnMpOworICAgICAgICBhdXRvJiBh
ZXNLZXkgPSBkb3duY2FzdDxDcnlwdG9LZXlBRVM+KGtleS5nZXQoKSk7CisgICAgICAgIGFzc2Vy
dChhZXNQYXJhbWV0ZXJzLml2VmVjdG9yKCkuc2l6ZSgpID09IGtDQ0Jsb2NrU2l6ZUFFUzEyOCk7
CisgICAgICAgIGF1dG8gcmVzdWx0ID0gdHJhbnNmb3JtQUVTX0NGQihrQ0NEZWNyeXB0LCBhZXNQ
YXJhbWV0ZXJzLml2VmVjdG9yKCksIGFlc0tleS5rZXkoKSwgY2lwaGVyVGV4dCk7CisgICAgICAg
IGlmIChyZXN1bHQuaGFzRXhjZXB0aW9uKCkpIHsKKyAgICAgICAgICAgIC8vIFdlIHNob3VsZCBv
bmx5IGRlcmVmZXJlbmNlIGNhbGxiYWNrcyBhZnRlciBiZWluZyBiYWNrIHRvIHRoZSBEb2N1bWVu
dC9Xb3JrZXIgdGhyZWFkcy4KKyAgICAgICAgICAgIGNvbnRleHQucG9zdFRhc2soW2V4Y2VwdGlv
bkNhbGxiYWNrID0gV1RGTW92ZShleGNlcHRpb25DYWxsYmFjayksIGVjID0gcmVzdWx0LnJlbGVh
c2VFeGNlcHRpb24oKS5jb2RlKCksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpIHsKKyAgICAgICAgICAgICAgICBleGNlcHRpb25D
YWxsYmFjayhlYyk7CisgICAgICAgICAgICAgICAgY29udGV4dC5kZXJlZigpOworICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgLy8gV2Ugc2hv
dWxkIG9ubHkgZGVyZWZlcmVuY2UgY2FsbGJhY2tzIGFmdGVyIGJlaW5nIGJhY2sgdG8gdGhlIERv
Y3VtZW50L1dvcmtlciB0aHJlYWRzLgorICAgICAgICBjb250ZXh0LnBvc3RUYXNrKFtjYWxsYmFj
ayA9IFdURk1vdmUoY2FsbGJhY2spLCByZXN1bHQgPSByZXN1bHQucmVsZWFzZVJldHVyblZhbHVl
KCksIGV4Y2VwdGlvbkNhbGxiYWNrID0gV1RGTW92ZShleGNlcHRpb25DYWxsYmFjayldKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpIHsKKyAgICAgICAgICAgIGNhbGxiYWNrKHJlc3Vs
dCk7CisgICAgICAgICAgICBjb250ZXh0LmRlcmVmKCk7CisgICAgICAgIH0pOworICAgIH0pOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1VCVExFX0NS
WVBUTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvQWxnb3Jp
dGhtUmVnaXN0cnlNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdv
cml0aG1SZWdpc3RyeU1hYy5jcHAKaW5kZXggMTdkNTA5NGYyZTg4NWVmOTkzZjg2NGU3NmI2Y2M4
ODNlYmM0NzhlZS4uZWI0NGRkMDFjZTYxNmQ1MmVmMWIxZGEzYTZhMGNkMzkxNDgxNGViMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1SZWdpc3Ry
eU1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1S
ZWdpc3RyeU1hYy5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoU1VCVExFX0NSWVBU
TykKIAogI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFFU19DQkMuaCIKKyNpbmNsdWRlICJDcnlw
dG9BbGdvcml0aG1BRVNfQ0ZCLmgiCiAjaW5jbHVkZSAiQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmgi
CiAjaW5jbHVkZSAiQ3J5cHRvQWxnb3JpdGhtSE1BQy5oIgogI2luY2x1ZGUgIkNyeXB0b0FsZ29y
aXRobVJTQUVTX1BLQ1MxX3YxXzUuaCIKQEAgLTQ1LDYgKzQ2LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogdm9pZCBDcnlwdG9BbGdvcml0aG1SZWdpc3RyeTo6cGxhdGZvcm1SZWdpc3RlckFsZ29y
aXRobXMoKQogewogICAgIHJlZ2lzdGVyQWxnb3JpdGhtPENyeXB0b0FsZ29yaXRobUFFU19DQkM+
KCk7CisgICAgcmVnaXN0ZXJBbGdvcml0aG08Q3J5cHRvQWxnb3JpdGhtQUVTX0NGQj4oKTsKICAg
ICByZWdpc3RlckFsZ29yaXRobTxDcnlwdG9BbGdvcml0aG1BRVNfS1c+KCk7CiAgICAgcmVnaXN0
ZXJBbGdvcml0aG08Q3J5cHRvQWxnb3JpdGhtSE1BQz4oKTsKICAgICByZWdpc3RlckFsZ29yaXRo
bTxDcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81PigpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3J5cHRvL3BhcmFtZXRlcnMvQWVzQ2JjQ2ZiUGFyYW1zLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2NyeXB0by9wYXJhbWV0ZXJzL0Flc0NiY0NmYlBhcmFtcy5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODBlYTQ3NWQ4OTIyZWQ5ZjUzNjdjZWJmYWFmMmIyMzFkYjI4YmIxYQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9wYXJhbWV0ZXJzL0Flc0NiY0NmYlBhcmFtcy5pZGwK
QEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIFRoaXMgaXMgYSB1bmlmaWVkIGRpY3Rp
b25hcnkgZm9yIEFlc0NiY1BhcmFtcyBhbmQgQWVzQ2ZiUGFyYW1zLgorLy8gaHR0cHM6Ly93d3cu
dzMub3JnL1RSL1dlYkNyeXB0b0FQSS8jZGZuLUFlc0NiY1BhcmFtcywgYW5kCisvLyBodHRwczov
L3d3dy53My5vcmcvVFIvMjAxNC9DUi1XZWJDcnlwdG9BUEktMjAxNDEyMTEvI2Rmbi1BZXNDZmJQ
YXJhbXMKK1sKKyAgICBDb25kaXRpb25hbD1TVUJUTEVfQ1JZUFRPLAorICAgIEltcGxlbWVudGVk
QXM9Q3J5cHRvQWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zCitdIGRpY3Rpb25hcnkgQWVzQ2JjQ2Zi
UGFyYW1zIDogQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyB7CisgICAgLy8gVGhlIGluaXRpYWxp
emF0aW9uIHZlY3Rvci4gTVVTVCBiZSAxNiBieXRlcy4KKyAgICByZXF1aXJlZCBCdWZmZXJTb3Vy
Y2UgaXY7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL3BhcmFtZXRlcnMv
QWVzQ2JjUGFyYW1zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9wYXJhbWV0ZXJzL0Flc0Ni
Y1BhcmFtcy5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJkZDkwNDM3ZWJhZDQ1
MTQwMzFkZmQ3MGUzMjVlMDhlMGRkMzNjNmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL3BhcmFtZXRlcnMvQWVzQ2Jj
UGFyYW1zLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1b
Ci0gICAgQ29uZGl0aW9uYWw9U1VCVExFX0NSWVBUTywKLSAgICBJbXBsZW1lbnRlZEFzPUNyeXB0
b0FsZ29yaXRobUFlc0NiY1BhcmFtcwotXSBkaWN0aW9uYXJ5IEFlc0NiY1BhcmFtcyA6IENyeXB0
b0FsZ29yaXRobVBhcmFtZXRlcnMgewotICAgIC8vIFRoZSBpbml0aWFsaXphdGlvbiB2ZWN0b3Iu
IE1VU1QgYmUgMTYgYnl0ZXMuCi0gICAgcmVxdWlyZWQgQnVmZmVyU291cmNlIGl2OwotfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9wYXJhbWV0ZXJzL0NyeXB0b0FsZ29yaXRo
bUFlc0NiY0NmYlBhcmFtcy5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL3BhcmFtZXRlcnMvQ3J5
cHRvQWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWQyYTk3OTc4NzI5YjA1
YmE5NjljODk1ZTAxZGE0ZDRkY2M0M2JkMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9wYXJhbWV0ZXJzL0NyeXB0b0FsZ29yaXRobUFlc0NiY0NmYlBhcmFtcy5oCkBA
IC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkJ1
ZmZlclNvdXJjZS5oIgorI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMuaCIKKyNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKKyNpZiBFTkFCTEUoU1VCVExFX0NSWVBUTykKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXMg
ZmluYWwgOiBwdWJsaWMgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyB7CitwdWJsaWM6CisgICAg
QnVmZmVyU291cmNlIGl2OworCisgICAgQ2xhc3MgcGFyYW1ldGVyc0NsYXNzKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gQ2xhc3M6OkFlc0NiY0NmYlBhcmFtczsgfQorCisgICAgY29uc3QgVmVjdG9y
PHVpbnQ4X3Q+JiBpdlZlY3RvcigpCisgICAgeworICAgICAgICBpZiAoIW1faXZWZWN0b3IuaXNF
bXB0eSgpIHx8ICFpdi5sZW5ndGgoKSkKKyAgICAgICAgICAgIHJldHVybiBtX2l2VmVjdG9yOwor
CisgICAgICAgIG1faXZWZWN0b3IuYXBwZW5kKGl2LmRhdGEoKSwgaXYubGVuZ3RoKCkpOworICAg
ICAgICByZXR1cm4gbV9pdlZlY3RvcjsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgVmVjdG9yPHVp
bnQ4X3Q+IG1faXZWZWN0b3I7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJ
QUxJWkVfVFlQRV9UUkFJVFNfQ1JZUFRPX0FMR09SSVRITV9QQVJBTUVURVJTKEFlc0NiY0NmYlBh
cmFtcykKKworI2VuZGlmIC8vIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3J5cHRvL3BhcmFtZXRlcnMvQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjUGFyYW1z
LmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vcGFyYW1ldGVycy9DcnlwdG9BbGdvcml0aG1BZXND
YmNQYXJhbXMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTFiY2ViZjFlOWRlMzFh
MmY1MzA0YzkzMTcwNzZjMzMxYzU5OTY1My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vcGFyYW1ldGVycy9DcnlwdG9B
bGdvcml0aG1BZXNDYmNQYXJhbXMuaAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgIkJ1ZmZlclNvdXJjZS5oIgotI2lu
Y2x1ZGUgIkNyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMuaCIKLSNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+Ci0KLSNpZiBFTkFCTEUoU1VCVExFX0NSWVBUTykKLQotbmFtZXNwYWNlIFdlYkNvcmUgewot
Ci1jbGFzcyBDcnlwdG9BbGdvcml0aG1BZXNDYmNQYXJhbXMgZmluYWwgOiBwdWJsaWMgQ3J5cHRv
QWxnb3JpdGhtUGFyYW1ldGVycyB7Ci1wdWJsaWM6Ci0gICAgQnVmZmVyU291cmNlIGl2OwotCi0g
ICAgQ2xhc3MgcGFyYW1ldGVyc0NsYXNzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ2xhc3M6OkFl
c0NiY1BhcmFtczsgfQotCi0gICAgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBpdlZlY3RvcigpCi0g
ICAgewotICAgICAgICBpZiAoIW1faXZWZWN0b3IuaXNFbXB0eSgpIHx8ICFpdi5sZW5ndGgoKSkK
LSAgICAgICAgICAgIHJldHVybiBtX2l2VmVjdG9yOwotCi0gICAgICAgIG1faXZWZWN0b3IuYXBw
ZW5kKGl2LmRhdGEoKSwgaXYubGVuZ3RoKCkpOwotICAgICAgICByZXR1cm4gbV9pdlZlY3RvcjsK
LSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgVmVjdG9yPHVpbnQ4X3Q+IG1faXZWZWN0b3I7Ci19Owot
Ci19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLVNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ1JZUFRP
X0FMR09SSVRITV9QQVJBTUVURVJTKEFlc0NiY1BhcmFtcykKLQotI2VuZGlmIC8vIEVOQUJMRShT
VUJUTEVfQ1JZUFRPKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGJkNzI1ZTM5MjE2NGRlNjBhMWEwZjZhMzllZTQ2N2ZkNWU0
MmU0NmIuLjg5YjQ3NGI5NTQ2YzU1YzdmMTE4NjY4MTUyZmU0ZTIyMWVlNDViNWQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw2NiBAQAorMjAxNy0wMi0xNCAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFtXZWJDcnlwdG9dIEFkZCBzdXBwb3J0IGZvciBBRVMtQ0ZCCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgzNDQKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzIwOTQwMjIxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWNmYi1kZWNyeXB0
LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRl
c3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1kZWNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4
cGVjdGVkLnR4dC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jYmMtY2ZiLWRlY3J5cHQt
bWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvYWVzLWNiYy1kZWNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwuCisgICAg
ICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWNmYi1lbmNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0
ZXJzLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUv
YWVzLWNiYy1lbmNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dC4KKyAgICAg
ICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jYmMtY2ZiLWVuY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRl
cnMuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1l
bmNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwuCisgICAgICAgICogY3J5cHRvL3N1YnRs
ZS9hZXMtY2JjLWltcG9ydC1rZXktdW53cmFwLWp3ay1yc2Eta2V5LXB1YmxpYy1leHBlY3RlZC50
eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0
LWtleS11d3JhcC1qd2stcnNhLWtleS1wdWJsaWMtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGNy
eXB0by9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LXVud3JhcC1qd2stcnNhLWtleS1wdWJsaWMu
aHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1pbXBv
cnQta2V5LXV3cmFwLWp3ay1yc2Eta2V5LXB1YmxpYy5odG1sLgorICAgICAgICAqIGNyeXB0by9z
dWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMTI4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4
cG9ydC1rZXktandrLWxlbmd0aC0xMjguaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1
YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xOTItZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhw
b3J0LWtleS1qd2stbGVuZ3RoLTE5Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3Vi
dGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTI1Ni1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1leHBv
cnQta2V5LWp3ay1sZW5ndGgtMjU2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0
bGUvYWVzLWNmYi1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUta2V5
LWVuY3J5cHQtZGVjcnlwdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9z
dWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1rZXktZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUta2V5Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtandrLWtl
eS1sZW5ndGgtMTI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRs
ZS9hZXMtY2ZiLWltcG9ydC1qd2sta2V5LWxlbmd0aC0xMjguaHRtbDogQWRkZWQuCisgICAgICAg
ICogY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1qd2sta2V5LWxlbmd0aC0xOTItZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3
ay1rZXktbGVuZ3RoLTE5Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Fl
cy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTI1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtandrLWtleS1sZW5ndGgtMjU2Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LWRl
Y3J5cHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1j
ZmItaW1wb3J0LWtleS1kZWNyeXB0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0
bGUvYWVzLWNmYi1pbXBvcnQta2V5LWVuY3J5cHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1lbmNyeXB0Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXVud3JhcC1qd2st
a2V5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2Zi
LWltcG9ydC1rZXktdW53cmFwLWp3ay1rZXkuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRv
L3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLXJhdy1rZXktZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAt
cmF3LWtleS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1w
b3J0LWtleS13cmFwLWp3ay1rZXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlw
dG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS13cmFwLWp3ay1rZXkuaHRtbDogQWRkZWQuCisg
ICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1yYXcta2V5LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9y
dC1rZXktd3JhcC1yYXcta2V5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUv
YWVzLWNmYi1pbXBvcnQtcmF3LWtleS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNy
eXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtcmF3LWtleS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBjcnlwdG8vc3VidGxlL2Flcy1nZW5lcmF0ZS1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWdlbmVyYXRlLWtleS1tYWxm
b3JtZWQtcGFyYW1ldGVycy5odG1sOgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWltcG9y
dC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGNyeXB0
by9zdWJ0bGUvYWVzLWltcG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbDoKKyAgICAg
ICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LWRlY3J5cHQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNm
Yi1pbXBvcnQta2V5LWRlY3J5cHQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtl
cnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1lbmNyeXB0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1lbmNy
eXB0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2Zi
LWltcG9ydC1rZXktdW53cmFwLWtleS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNy
eXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWtleS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5
LXdyYXAta2V5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtlcnMv
c3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS13cmFwLWtleS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2Flcy1jZmItaW1wb3J0LWtleS1kZWNy
eXB0LmpzOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2Vz
L2Flcy1jZmItaW1wb3J0LWtleS1lbmNyeXB0LmpzOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8v
d29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAta2V5Lmpz
OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2Flcy1j
ZmItaW1wb3J0LWtleS13cmFwLWtleS5qczogQWRkZWQuCisKIDIwMTctMDItMTYgIEppZXdlbiBU
YW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQ3J5cHRvXSByZW1vdmUg
dG9KU1ZhbHVlRnJvbUpzb25XZWJLZXkgZnJvbSBjdXN0b20gU3VidGxlQ3J5cHRvIGJpbmRpbmcg
Y29kZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1jZmIt
ZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9j
cnlwdG8vc3VidGxlL2Flcy1jYmMtY2ZiLWRlY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1NDgzMThlMDZhOWRhMWFkNGJhNTQ3MmQxYjBkNmIxZjk0
OTIyMjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1j
YmMtY2ZiLWRlY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTUgQEAKK1Rlc3QgZGVjcnlwdGluZyB1c2luZyBBRVMtQ0JDL0FFUy1DRkIgd2l0aCBtYWxm
b3JtZWQgcGFyYW1ldGVycworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBj
cnlwdG8uc3VidGxlLmRlY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IGFzY2lpVG9VaW50OEFy
cmF5KCIiKX0sIGtleSwgY2lwaGVyVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBPcGVyYXRp
b25FcnJvciAoRE9NIEV4Y2VwdGlvbiAzNCk6IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciBhbiBv
cGVyYXRpb24tc3BlY2lmaWMgcmVhc29uLgorUEFTUyBjcnlwdG8uc3VidGxlLmRlY3J5cHQoe25h
bWU6ICJhZXMtY2JjIiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqIil9LCBrZXksIGNpcGhlclRl
eHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggT3BlcmF0aW9uRXJyb3IgKERPTSBFeGNlcHRpb24g
MzQpOiBUaGUgb3BlcmF0aW9uIGZhaWxlZCBmb3IgYW4gb3BlcmF0aW9uLXNwZWNpZmljIHJlYXNv
bi4KK1BBU1MgY3J5cHRvLnN1YnRsZS5kZWNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBhc2Np
aVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNcmQiKX0sIGtleSwgY2lwaGVyVGV4dCkgcmVq
ZWN0ZWQgcHJvbWlzZSAgd2l0aCBPcGVyYXRpb25FcnJvciAoRE9NIEV4Y2VwdGlvbiAzNCk6IFRo
ZSBvcGVyYXRpb24gZmFpbGVkIGZvciBhbiBvcGVyYXRpb24tc3BlY2lmaWMgcmVhc29uLgorUEFT
UyBjcnlwdG8uc3VidGxlLmRlY3J5cHQoe25hbWU6ICJhZXMtY2ZiLTgiLCBpdjogYXNjaWlUb1Vp
bnQ4QXJyYXkoIiIpfSwga2V5LCBjaXBoZXJUZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE9w
ZXJhdGlvbkVycm9yIChET00gRXhjZXB0aW9uIDM0KTogVGhlIG9wZXJhdGlvbiBmYWlsZWQgZm9y
IGFuIG9wZXJhdGlvbi1zcGVjaWZpYyByZWFzb24uCitQQVNTIGNyeXB0by5zdWJ0bGUuZGVjcnlw
dCh7bmFtZTogImFlcy1jZmItOCIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiaiIpfSwga2V5LCBj
aXBoZXJUZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE9wZXJhdGlvbkVycm9yIChET00gRXhj
ZXB0aW9uIDM0KTogVGhlIG9wZXJhdGlvbiBmYWlsZWQgZm9yIGFuIG9wZXJhdGlvbi1zcGVjaWZp
YyByZWFzb24uCitQQVNTIGNyeXB0by5zdWJ0bGUuZGVjcnlwdCh7bmFtZTogImFlcy1jZmItOCIs
IGl2OiBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNcmQiKX0sIGtleSwgY2lwaGVy
VGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBPcGVyYXRpb25FcnJvciAoRE9NIEV4Y2VwdGlv
biAzNCk6IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciBhbiBvcGVyYXRpb24tc3BlY2lmaWMgcmVh
c29uLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1jZmItZGVjcnlw
dC1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9h
ZXMtY2JjLWNmYi1kZWNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OGU4NGRmNDdkMWQ4NDJlZjliNDkyMDY2Yzk1NDE0M2FlOWZiODhiMQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1jZmItZGVjcnlwdC1tYWxmb3Jt
ZWQtcGFyYW1ldGVycy5odG1sCkBAIC0wLDAgKzEsNDQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZGVjcnlwdGluZyB1
c2luZyBBRVMtQ0JDL0FFUy1DRkIgd2l0aCBtYWxmb3JtZWQgcGFyYW1ldGVycyIpOworCitqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gZmFsc2U7Cit2YXIgY2lwaGVy
VGV4dCA9IGhleFN0cmluZ1RvVWludDhBcnJheSgiMmZmYTQ2MTg3ODRkZmQ0MTRiMjJjNDBjNjMz
MGQwMjIiKTsKK3ZhciByYXdLZXkgPSBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBN
ciIpOworCitjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVzLWNiYyIs
IGV4dHJhY3RhYmxlLCBbImRlY3J5cHQiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBr
ZXkgPSByZXN1bHQ7CisgICAgLy8gV3JvbmcgaXYgbGVuZ3RoCisgICAgc2hvdWxkUmVqZWN0KCdj
cnlwdG8uc3VidGxlLmRlY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IGFzY2lpVG9VaW50OEFy
cmF5KCIiKX0sIGtleSwgY2lwaGVyVGV4dCknKTsKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5z
dWJ0bGUuZGVjcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImoi
KX0sIGtleSwgY2lwaGVyVGV4dCknKTsKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUu
ZGVjcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9P
WkZMSUVQTXJkIil9LCBrZXksIGNpcGhlclRleHQpJyk7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsK
K30pOworCitjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVzLWNmYi04
IiwgZXh0cmFjdGFibGUsIFsiZGVjcnlwdCJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAg
IGtleSA9IHJlc3VsdDsKKyAgICAvLyBXcm9uZyBpdiBsZW5ndGgKKyAgICBzaG91bGRSZWplY3Qo
J2NyeXB0by5zdWJ0bGUuZGVjcnlwdCh7bmFtZTogImFlcy1jZmItOCIsIGl2OiBhc2NpaVRvVWlu
dDhBcnJheSgiIil9LCBrZXksIGNpcGhlclRleHQpJyk7CisgICAgc2hvdWxkUmVqZWN0KCdjcnlw
dG8uc3VidGxlLmRlY3J5cHQoe25hbWU6ICJhZXMtY2ZiLTgiLCBpdjogYXNjaWlUb1VpbnQ4QXJy
YXkoImoiKX0sIGtleSwgY2lwaGVyVGV4dCknKTsKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5z
dWJ0bGUuZGVjcnlwdCh7bmFtZTogImFlcy1jZmItOCIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgi
am5Pdzk5b09aRkxJRVBNcmQiKX0sIGtleSwgY2lwaGVyVGV4dCknKTsKKworICAgIGZpbmlzaEpT
VGVzdCgpOworfSk7CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtY2ZiLWVuY3J5cHQtbWFsZm9ybWVk
LXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMt
Y2JjLWNmYi1lbmNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wYmI1YjI2NzI4ODMxZGM1MmUwNmFhMzBmM2YzZTFmYWI3MDVjY2Y1Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWNmYi1lbmNyeXB0LW1h
bGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI2IEBACitUZXN0IGVu
Y3J5cHRpbmcgdXNpbmcgQUVTLUNCQy9BRVMtQ0ZCIHdpdGggbWFsZm9ybWVkIHBhcmFtZXRlcnMK
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgY3J5cHRvLnN1YnRsZS5lbmNy
eXB0KCJhZXMtY2JjIiwga2V5LCBwbGFpblRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlw
ZUVycm9yOiBNZW1iZXIgQWVzQ2JjQ2ZiUGFyYW1zLml2IGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJl
IGFuIGluc3RhbmNlIG9mIEJ1ZmZlclNvdXJjZS4KK1BBU1MgY3J5cHRvLnN1YnRsZS5lbmNyeXB0
KHtuYW1lOiAiYWVzLWNiYyJ9LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0
aCBUeXBlRXJyb3I6IE1lbWJlciBBZXNDYmNDZmJQYXJhbXMuaXYgaXMgcmVxdWlyZWQgYW5kIG11
c3QgYmUgYW4gaW5zdGFuY2Ugb2YgQnVmZmVyU291cmNlLgorUEFTUyBjcnlwdG8uc3VidGxlLmVu
Y3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IHRydWV9LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0
ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIGNyeXB0by5zdWJ0
bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogMX0sIGtleSwgcGxhaW5UZXh0KSByZWpl
Y3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgY3J5cHRvLnN1
YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBudWxsfSwga2V5LCBwbGFpblRleHQp
IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBjcnlw
dG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IHVuZGVmaW5lZH0sIGtleSwg
cGxhaW5UZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTWVtYmVyIEFlc0Ni
Y0NmYlBhcmFtcy5pdiBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBCdWZm
ZXJTb3VyY2UuCitQQVNTIGNyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBp
djogU3ltYm9sKCl9LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBl
RXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIGNyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFl
cy1jYmMiLCBpdjogeyB9fSwga2V5LCBwbGFpblRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGgg
VHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6
ICJhZXMtY2JjIiwgaXY6ICJmb28ifSwga2V5LCBwbGFpblRleHQpIHJlamVjdGVkIHByb21pc2Ug
IHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBjcnlwdG8uc3VidGxlLmVuY3J5cHQo
e25hbWU6ICJhZXMtY2JjIiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCIiKX0sIGtleSwgcGxhaW5U
ZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE9wZXJhdGlvbkVycm9yIChET00gRXhjZXB0aW9u
IDM0KTogVGhlIG9wZXJhdGlvbiBmYWlsZWQgZm9yIGFuIG9wZXJhdGlvbi1zcGVjaWZpYyByZWFz
b24uCitQQVNTIGNyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogYXNj
aWlUb1VpbnQ4QXJyYXkoImoiKX0sIGtleSwgcGxhaW5UZXh0KSByZWplY3RlZCBwcm9taXNlICB3
aXRoIE9wZXJhdGlvbkVycm9yIChET00gRXhjZXB0aW9uIDM0KTogVGhlIG9wZXJhdGlvbiBmYWls
ZWQgZm9yIGFuIG9wZXJhdGlvbi1zcGVjaWZpYyByZWFzb24uCitQQVNTIGNyeXB0by5zdWJ0bGUu
ZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9P
WkZMSUVQTXJkIil9LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBPcGVy
YXRpb25FcnJvciAoRE9NIEV4Y2VwdGlvbiAzNCk6IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciBh
biBvcGVyYXRpb24tc3BlY2lmaWMgcmVhc29uLgorUEFTUyBjcnlwdG8uc3VidGxlLmVuY3J5cHQo
ImFlcy1jZmItOCIsIGtleSwgcGxhaW5UZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVF
cnJvcjogTWVtYmVyIEFlc0NiY0NmYlBhcmFtcy5pdiBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBh
biBpbnN0YW5jZSBvZiBCdWZmZXJTb3VyY2UuCitQQVNTIGNyeXB0by5zdWJ0bGUuZW5jcnlwdCh7
bmFtZTogImFlcy1jZmItOCJ9LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0
aCBUeXBlRXJyb3I6IE1lbWJlciBBZXNDYmNDZmJQYXJhbXMuaXYgaXMgcmVxdWlyZWQgYW5kIG11
c3QgYmUgYW4gaW5zdGFuY2Ugb2YgQnVmZmVyU291cmNlLgorUEFTUyBjcnlwdG8uc3VidGxlLmVu
Y3J5cHQoe25hbWU6ICJhZXMtY2ZiLTgiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoIiIpfSwga2V5
LCBwbGFpblRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggT3BlcmF0aW9uRXJyb3IgKERPTSBF
eGNlcHRpb24gMzQpOiBUaGUgb3BlcmF0aW9uIGZhaWxlZCBmb3IgYW4gb3BlcmF0aW9uLXNwZWNp
ZmljIHJlYXNvbi4KK1BBU1MgY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNmYi04
IiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqIil9LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQg
cHJvbWlzZSAgd2l0aCBPcGVyYXRpb25FcnJvciAoRE9NIEV4Y2VwdGlvbiAzNCk6IFRoZSBvcGVy
YXRpb24gZmFpbGVkIGZvciBhbiBvcGVyYXRpb24tc3BlY2lmaWMgcmVhc29uLgorUEFTUyBjcnlw
dG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2ZiLTgiLCBpdjogYXNjaWlUb1VpbnQ4QXJy
YXkoImpuT3c5OW9PWkZMSUVQTXJkIil9LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlz
ZSAgd2l0aCBPcGVyYXRpb25FcnJvciAoRE9NIEV4Y2VwdGlvbiAzNCk6IFRoZSBvcGVyYXRpb24g
ZmFpbGVkIGZvciBhbiBvcGVyYXRpb24tc3BlY2lmaWMgcmVhc29uLgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1jZmItZW5jcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVy
cy5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWNmYi1lbmNyeXB0LW1h
bGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDg1N2NhNDVhMDJhZmJhN2U2N2Qx
ZTBmMTY5ZWY2ZTIxODgyYmY1YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvYWVzLWNiYy1jZmItZW5jcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCkBA
IC0wLDAgKzEsNTcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2Ny
aXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZW5jcnlwdGluZyB1c2luZyBBRVMtQ0JDL0FFUy1DRkIg
d2l0aCBtYWxmb3JtZWQgcGFyYW1ldGVycyIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
dmFyIGV4dHJhY3RhYmxlID0gZmFsc2U7Cit2YXIgcGxhaW5UZXh0ID0gYXNjaWlUb1VpbnQ4QXJy
YXkoIkhlbGxvLCBXb3JsZCEiKTsKK3ZhciByYXdLZXkgPSBhc2NpaVRvVWludDhBcnJheSgiam5P
dzk5b09aRkxJRVBNciIpOworCitjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5
LCAiYWVzLWNiYyIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiXSkudGhlbihmdW5jdGlvbihyZXN1
bHQpIHsKKyAgICBrZXkgPSByZXN1bHQ7CisgICAgLy8gTWFsZm9ybWVkIEFsZ29yaXRobUlkZW50
aWZpZXJzCisgICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQoImFlcy1jYmMi
LCBrZXksIHBsYWluVGV4dCknKTsKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5j
cnlwdCh7bmFtZTogImFlcy1jYmMifSwga2V5LCBwbGFpblRleHQpJyk7CisgICAgc2hvdWxkUmVq
ZWN0KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IHRydWV9LCBr
ZXksIHBsYWluVGV4dCknKTsKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlw
dCh7bmFtZTogImFlcy1jYmMiLCBpdjogMX0sIGtleSwgcGxhaW5UZXh0KScpOworICAgIHNob3Vs
ZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBudWxs
fSwga2V5LCBwbGFpblRleHQpJyk7CisgICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmVu
Y3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IHVuZGVmaW5lZH0sIGtleSwgcGxhaW5UZXh0KScp
OworICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNi
YyIsIGl2OiBTeW1ib2woKX0sIGtleSwgcGxhaW5UZXh0KScpOworICAgIHNob3VsZFJlamVjdCgn
Y3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiB7IH19LCBrZXksIHBs
YWluVGV4dCknKTsKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFt
ZTogImFlcy1jYmMiLCBpdjogImZvbyJ9LCBrZXksIHBsYWluVGV4dCknKTsKKyAgICAvLyBXcm9u
ZyBpdiBsZW5ndGgKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFt
ZTogImFlcy1jYmMiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoIiIpfSwga2V5LCBwbGFpblRleHQp
Jyk7CisgICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMt
Y2JjIiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqIil9LCBrZXksIHBsYWluVGV4dCknKTsKKyAg
ICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBp
djogYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXJkIil9LCBrZXksIHBsYWluVGV4
dCknKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0
S2V5KCJyYXciLCByYXdLZXksICJhZXMtY2ZiLTgiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0Il0p
LnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworICAgIC8vIE1hbGZv
cm1lZCBBbGdvcml0aG1JZGVudGlmaWVycworICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRs
ZS5lbmNyeXB0KCJhZXMtY2ZiLTgiLCBrZXksIHBsYWluVGV4dCknKTsKKyAgICBzaG91bGRSZWpl
Y3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jZmItOCJ9LCBrZXksIHBsYWlu
VGV4dCknKTsKKyAgICAvLyBXcm9uZyBpdiBsZW5ndGgKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0
by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jZmItOCIsIGl2OiBhc2NpaVRvVWludDhBcnJh
eSgiIil9LCBrZXksIHBsYWluVGV4dCknKTsKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0
bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jZmItOCIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiaiIp
fSwga2V5LCBwbGFpblRleHQpJyk7CisgICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmVu
Y3J5cHQoe25hbWU6ICJhZXMtY2ZiLTgiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9P
WkZMSUVQTXJkIil9LCBrZXksIHBsYWluVGV4dCknKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOwor
fSk7CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZGVjcnlwdC1t
YWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDQwMmYwZjliYmYzZGQxMjU5ZmZhMmEyZmU3ZjVlNWMwMWU1OTU2MmMuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvY3J5cHRv
L3N1YnRsZS9hZXMtY2JjLWRlY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotVGVzdCBkZWNyeXB0aW5nIHVzaW5nIEFF
Uy1DQkMgd2l0aCBtYWxmb3JtZWQgcGFyYW1ldGVycwotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCi0KLQotUEFTUyBjcnlwdG8uc3VidGxlLmRlY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6
IGFzY2lpVG9VaW50OEFycmF5KCIiKX0sIGtleSwgY2lwaGVyVGV4dCkgcmVqZWN0ZWQgcHJvbWlz
ZSAgd2l0aCBPcGVyYXRpb25FcnJvciAoRE9NIEV4Y2VwdGlvbiAzNCk6IFRoZSBvcGVyYXRpb24g
ZmFpbGVkIGZvciBhbiBvcGVyYXRpb24tc3BlY2lmaWMgcmVhc29uLgotUEFTUyBjcnlwdG8uc3Vi
dGxlLmRlY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqIil9
LCBrZXksIGNpcGhlclRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggT3BlcmF0aW9uRXJyb3Ig
KERPTSBFeGNlcHRpb24gMzQpOiBUaGUgb3BlcmF0aW9uIGZhaWxlZCBmb3IgYW4gb3BlcmF0aW9u
LXNwZWNpZmljIHJlYXNvbi4KLVBBU1MgY3J5cHRvLnN1YnRsZS5kZWNyeXB0KHtuYW1lOiAiYWVz
LWNiYyIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNcmQiKX0sIGtleSwg
Y2lwaGVyVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBPcGVyYXRpb25FcnJvciAoRE9NIEV4
Y2VwdGlvbiAzNCk6IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciBhbiBvcGVyYXRpb24tc3BlY2lm
aWMgcmVhc29uLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBM
RVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1kZWNy
eXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L2Flcy1jYmMtZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBjMDQ2NDg0MzQxODM4MTMzNjgxZTNjZjNlYTZiZmQzMjFiNWU3MDQ0
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1kZWNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KLQotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCJUZXN0IGRlY3J5cHRpbmcgdXNp
bmcgQUVTLUNCQyB3aXRoIG1hbGZvcm1lZCBwYXJhbWV0ZXJzIik7Ci0KLWpzVGVzdElzQXN5bmMg
PSB0cnVlOwotCi12YXIgZXh0cmFjdGFibGUgPSBmYWxzZTsKLXZhciBjaXBoZXJUZXh0ID0gaGV4
U3RyaW5nVG9VaW50OEFycmF5KCIyZmZhNDYxODc4NGRmZDQxNGIyMmM0MGM2MzMwZDAyMiIpOwot
dmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIik7Ci0KLWNy
eXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMtY2JjIiwgZXh0cmFjdGFi
bGUsIFsiZGVjcnlwdCJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgewotICAgIGtleSA9IHJlc3Vs
dDsKLSAgICAvLyBXcm9uZyBpdiBsZW5ndGgKLSAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0
bGUuZGVjcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoIiIpfSwg
a2V5LCBjaXBoZXJUZXh0KScpOwotICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5kZWNy
eXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiaiIpfSwga2V5LCBj
aXBoZXJUZXh0KScpOwotICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5kZWNyeXB0KHtu
YW1lOiAiYWVzLWNiYyIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNcmQi
KX0sIGtleSwgY2lwaGVyVGV4dCknKTsKLQotICAgIGZpbmlzaEpTVGVzdCgpOwotfSk7Ci0KLTwv
c2NyaXB0PgotCi08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2Flcy1jYmMtZW5jcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZW5jcnlwdC1tYWxmb3JtZWQt
cGFyYW1ldGVycy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMx
M2Q5NjI4MGI3YzE0ZTQ2OWM3NjA0YjE1MDlmM2IzZWNkOTdjNjYuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9h
ZXMtY2JjLWVuY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMjEgKzAsMCBAQAotVGVzdCBlbmNyeXB0aW5nIHVzaW5nIEFFUy1DQkMgd2l0
aCBtYWxmb3JtZWQgcGFyYW1ldGVycwotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQot
UEFTUyBjcnlwdG8uc3VidGxlLmVuY3J5cHQoImFlcy1jYmMiLCBrZXksIHBsYWluVGV4dCkgcmVq
ZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1lbWJlciBBZXNDYmNQYXJhbXMuaXYgaXMg
cmVxdWlyZWQgYW5kIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgQnVmZmVyU291cmNlLgotUEFTUyBj
cnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIn0sIGtleSwgcGxhaW5UZXh0KSBy
ZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTWVtYmVyIEFlc0NiY1BhcmFtcy5pdiBp
cyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBCdWZmZXJTb3VyY2UuCi1QQVNT
IGNyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogdHJ1ZX0sIGtleSwg
cGxhaW5UZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4K
LVBBU1MgY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiAxfSwga2V5
LCBwbGFpblRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9y
LgotUEFTUyBjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IG51bGx9
LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUg
ZXJyb3IuCi1QQVNTIGNyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjog
dW5kZWZpbmVkfSwga2V5LCBwbGFpblRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVy
cm9yOiBNZW1iZXIgQWVzQ2JjUGFyYW1zLml2IGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFuIGlu
c3RhbmNlIG9mIEJ1ZmZlclNvdXJjZS4KLVBBU1MgY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1l
OiAiYWVzLWNiYyIsIGl2OiBTeW1ib2woKX0sIGtleSwgcGxhaW5UZXh0KSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgY3J5cHRvLnN1YnRsZS5lbmNy
eXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiB7IH19LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQg
cHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIGNyeXB0by5zdWJ0bGUu
ZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogImZvbyJ9LCBrZXksIHBsYWluVGV4dCkgcmVq
ZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIGNyeXB0by5z
dWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoIiIp
fSwga2V5LCBwbGFpblRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggT3BlcmF0aW9uRXJyb3Ig
KERPTSBFeGNlcHRpb24gMzQpOiBUaGUgb3BlcmF0aW9uIGZhaWxlZCBmb3IgYW4gb3BlcmF0aW9u
LXNwZWNpZmljIHJlYXNvbi4KLVBBU1MgY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVz
LWNiYyIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiaiIpfSwga2V5LCBwbGFpblRleHQpIHJlamVj
dGVkIHByb21pc2UgIHdpdGggT3BlcmF0aW9uRXJyb3IgKERPTSBFeGNlcHRpb24gMzQpOiBUaGUg
b3BlcmF0aW9uIGZhaWxlZCBmb3IgYW4gb3BlcmF0aW9uLXNwZWNpZmljIHJlYXNvbi4KLVBBU1Mg
Y3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBhc2NpaVRvVWludDhB
cnJheSgiam5Pdzk5b09aRkxJRVBNcmQiKX0sIGtleSwgcGxhaW5UZXh0KSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIE9wZXJhdGlvbkVycm9yIChET00gRXhjZXB0aW9uIDM0KTogVGhlIG9wZXJhdGlv
biBmYWlsZWQgZm9yIGFuIG9wZXJhdGlvbi1zcGVjaWZpYyByZWFzb24uCi1QQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWVuY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMu
aHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1lbmNyeXB0LW1hbGZvcm1l
ZC1wYXJhbWV0ZXJzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDliMGIzZmI2
NTYzMzY1NDljZTcyYzJmZWU1ODJhMjgwYzQ0OTc2YzUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2Jj
LWVuY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ0
ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0Pgot
ZGVzY3JpcHRpb24oIlRlc3QgZW5jcnlwdGluZyB1c2luZyBBRVMtQ0JDIHdpdGggbWFsZm9ybWVk
IHBhcmFtZXRlcnMiKTsKLQotanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLXZhciBleHRyYWN0YWJs
ZSA9IGZhbHNlOwotdmFyIHBsYWluVGV4dCA9IGFzY2lpVG9VaW50OEFycmF5KCJIZWxsbywgV29y
bGQhIik7Ci12YXIgcmF3S2V5ID0gYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIi
KTsKLQotY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1jYmMiLCBl
eHRyYWN0YWJsZSwgWyJlbmNyeXB0Il0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAga2V5
ID0gcmVzdWx0OwotICAgIC8vIE1hbGZvcm1lZCBBbGdvcml0aG1JZGVudGlmaWVycwotICAgIHNo
b3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5lbmNyeXB0KCJhZXMtY2JjIiwga2V5LCBwbGFpblRl
eHQpJyk7Ci0gICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJh
ZXMtY2JjIn0sIGtleSwgcGxhaW5UZXh0KScpOwotICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1
YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiB0cnVlfSwga2V5LCBwbGFpblRleHQp
Jyk7Ci0gICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMt
Y2JjIiwgaXY6IDF9LCBrZXksIHBsYWluVGV4dCknKTsKLSAgICBzaG91bGRSZWplY3QoJ2NyeXB0
by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogbnVsbH0sIGtleSwgcGxhaW5U
ZXh0KScpOwotICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAi
YWVzLWNiYyIsIGl2OiB1bmRlZmluZWR9LCBrZXksIHBsYWluVGV4dCknKTsKLSAgICBzaG91bGRS
ZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogU3ltYm9s
KCl9LCBrZXksIHBsYWluVGV4dCknKTsKLSAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUu
ZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogeyB9fSwga2V5LCBwbGFpblRleHQpJyk7Ci0g
ICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwg
aXY6ICJmb28ifSwga2V5LCBwbGFpblRleHQpJyk7Ci0gICAgLy8gV3JvbmcgaXYgbGVuZ3RoCi0g
ICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwg
aXY6IGFzY2lpVG9VaW50OEFycmF5KCIiKX0sIGtleSwgcGxhaW5UZXh0KScpOwotICAgIHNob3Vs
ZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBhc2Np
aVRvVWludDhBcnJheSgiaiIpfSwga2V5LCBwbGFpblRleHQpJyk7Ci0gICAgc2hvdWxkUmVqZWN0
KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IGFzY2lpVG9VaW50
OEFycmF5KCJqbk93OTlvT1pGTElFUE1yZCIpfSwga2V5LCBwbGFpblRleHQpJyk7Ci0KLSAgICBm
aW5pc2hKU1Rlc3QoKTsKLX0pOwotCi08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktdW53
cmFwLWp3ay1yc2Eta2V5LXB1YmxpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS11bndyYXAtandrLXJzYS1rZXktcHVibGljLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lYmNiMWQ4ZWEwNzVjMmEyZmFkZTNmZGU5N2ExNTM3Y2Y4ZWRm
MDg1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2Jj
LWltcG9ydC1rZXktdW53cmFwLWp3ay1yc2Eta2V5LXB1YmxpYy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxNSBAQAorVGVzdCB1bndyYXBwaW5nIGEgSldLIFJTQSBwdWJsaWMga2V5IHdpdGggQUVT
LUNCQyB1c2luZyBhbiBpbXBvcnRlZCBrZXkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1MgdW53cmFwcGVkS2V5Lmt0eSBpcyBqd2tLZXkua3R5CitQQVNTIHVud3JhcHBlZEtl
eS5hbGcgaXMgandrS2V5LmFsZworUEFTUyB1bndyYXBwZWRLZXkua2V5X29wcyBpcyBqd2tLZXku
a2V5X29wcworUEFTUyB1bndyYXBwZWRLZXkuZXh0IGlzIGp3a0tleS5leHQKK1BBU1MgdW53cmFw
cGVkS2V5Lm4gaXMgandrS2V5Lm4KK1BBU1MgdW53cmFwcGVkS2V5LmUgaXMgandrS2V5LmUKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS11bndyYXAt
andrLXJzYS1rZXktcHVibGljLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1j
YmMtaW1wb3J0LWtleS11bndyYXAtandrLXJzYS1rZXktcHVibGljLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2E5ZDg2ZTZhMzljZmEzYzY2ODE0ZTliNzU2NDE3ZmIwZGFiZjVhMQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LXVud3JhcC1q
d2stcnNhLWtleS1wdWJsaWMuaHRtbApAQCAtMCwwICsxLDU1IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IHVud3JhcHBp
bmcgYSBKV0sgUlNBIHB1YmxpYyBrZXkgd2l0aCBBRVMtQ0JDIHVzaW5nIGFuIGltcG9ydGVkIGtl
eSIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsK
K3ZhciBqd2tLZXkgPSB7CisgICAga3R5OiAiUlNBIiwKKyAgICBhbGc6ICJSU0EtT0FFUCIsCisg
ICAgdXNlOiAiZW5jIiwKKyAgICBrZXlfb3BzOiBbImVuY3J5cHQiXSwKKyAgICBleHQ6IHRydWUs
CisgICAgbjogInJjQ1VDdjdPYzFIVmFtMURJaEN6cWtuVGhXYXdPcDhRTGs4Wml5MnAxMEJ5alFG
Q2Fqb0ZpeXVBV2wtUjFXWFphZjR4aXRMUnJhY1Q5YWdwekl6Yy1NYkxTSElHZ1dRR08yMWxHaUlt
eTVmdFotRDhiSEFxUnoyeTE1cHpENGM0Q0VvdTdYU1NMRG9SblIwUUc1TXNEaEQ2czJnVjltd0hr
cnRrQ3h0TVdkQmktNzdhczh3R21sTlJsZGNPU2daRExLOFVuQ1NnQTFPZ3VaOTg5YkZ5Yzh0T09F
SWIweFVTZlBTejNMUFNDbnlZejY4YURqbUtWZU5ILWlnODU3T1NjeVdiR3lFeTNCaXc2NHF1bjNq
dVVsTldzSjN6bmdrT2R0ZVlXeXR4NVFyNFhLTnM2Ui1NeXlxNzJLVXAwMm1KRFppaXlpZ2x4TUxf
aTMtX0NlZWNDdyIsCisgICAgZTogIkFRQUIiCit9OwordmFyIHJhd0tleSA9IGFzY2lpVG9VaW50
OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIik7Cit2YXIgYWVzQ2JjUGFyYW1zID0geworICAgIG5h
bWU6ICJhZXMtY2JjIiwKKyAgICBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQ
TXIiKSwKK30KK3ZhciB3cmFwcGVkS2V5ID0gaGV4U3RyaW5nVG9VaW50OEFycmF5KCAiODQ4YWEy
ZjcwZWUxOGUyOTUzNTIwMTMyYTc5Y2Y0Nzk0NmUwMGM5OTM2MjM0MGJiNjkwZWRjOWFiNTMxNTc1
NzQ2MmMxMjgyNzhjNjIzMmU3NzBlNzQzN2M1NmVkNzIyYThlMTcwMzg1NWY3ZjNlNTY1Mzk0ZTFh
NmEwMzA1YzRlZjFiMzBmYTRjN2Y3MmQxYTIzOWNjNmM2YmEwNjc4OTg3OThhMzZhNzUxMzJjNjZi
NGEyZDNmYjk0Mjg4NmFmZmQzZWEzYjI3NTZiMGRkYzg4NmMwMWUzYjkzMTA3NDY5YjgyMTI0NDY4
NDA4ZWY4YWI1NDhiODVhYThmMjA2YzMxMmQ3NGNlNGYyYzY3OWViMTQ3YTI3NWNlZmRhNjRkNWJk
YzRhMmI1YjkwYTRhYzlhZDNlYjVmMmNmMTlmNWY4NzY1MzIxMWY1OWI0NzMxYmE2MTEyNTU4MmEy
MzM5NTEwOTdkZWE2NWRiMDU4OTlkNTg3ZDFkY2ZjY2FiOWFiNzQxMGFiMzAxMGI4OTA2NjUwNmRi
YWNiYzZiNzNlNGI1NjQ3OTI3NTEzODhmYTBmNThkNTVjNTljMTRhMDhjOWRmYjBmNzgxMDBiMGY1
Y2MyOWQ2MjMyODgyMjYzNmQzMGE2YTE1M2VjNWNkNDcyN2FkNWU0N2I0MTljNDg1NDQ1NjU2Mzdh
YzU3ODk4NjNkNDNiN2RhNzhjZjQzODNkMDlkNjZlOWQ0NThlNDM2ZGJmYmVlNzVlMzgyYjJiYWI0
OWVlYzJjNzQ5MWZmOTNjZjA5OWZlOTJmZWFmNDY1OGUzMDg4OWZkMTJkM2FlNjFjZDVlOGM4ZTFl
NTZhMDc5YjY2MmY5MGNkMTBjZGJkYmI0ZDEyZWVmYjM2ZDgyNWUxYTA0M2U4MmY1YTk4Zjg5NjBk
NjU1ZDNmOWVkNWFmMzFlNTgxZmE4NDZjYzU4MmY2Y2VlNWMyNWUwYjNjMzIwNTA1MzRhZTk1N2Nl
Mjc4NjBkNDcwYmEyNmRhMmM3ZDZmYTYyMWIwZmFhOGJlY2FkNThlOWU1NWJiMmE5ZDk4NGIwNDJm
MjVkZjIxNDgyNTI5ODcwZDI3MWNiZjU1MDhhMGVkZmMzY2IzNzMxNmMxMWYxNmIzNDJiYzFmMWY5
OGFhIik7CisKKworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1j
YmMiLCBleHRyYWN0YWJsZSwgWyJ1bndyYXBLZXkiXSkudGhlbihmdW5jdGlvbih1bndyYXBwaW5n
S2V5KSB7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUudW53cmFwS2V5KCJqd2siLCB3cmFwcGVk
S2V5LCB1bndyYXBwaW5nS2V5LCBhZXNDYmNQYXJhbXMsIHtuYW1lOiAicnNhLW9hZXAiLCBoYXNo
OiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCJdKTsKK30pLnRoZW4oZnVuY3Rpb24o
Y3J5cHRvS2V5KSB7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBj
cnlwdG9LZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICB1bndyYXBwZWRLZXkg
PSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5Lmt0eSIsICJqd2tLZXkua3R5
Iik7CisgICAgc2hvdWxkQmUoInVud3JhcHBlZEtleS5hbGciLCAiandrS2V5LmFsZyIpOworICAg
IHNob3VsZEJlKCJ1bndyYXBwZWRLZXkua2V5X29wcyIsICJqd2tLZXkua2V5X29wcyIpOworICAg
IHNob3VsZEJlKCJ1bndyYXBwZWRLZXkuZXh0IiwgImp3a0tleS5leHQiKTsKKyAgICBzaG91bGRC
ZSgidW53cmFwcGVkS2V5Lm4iLCAiandrS2V5Lm4iKTsKKyAgICBzaG91bGRCZSgidW53cmFwcGVk
S2V5LmUiLCAiandrS2V5LmUiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKKzwvc2Ny
aXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS11d3JhcC1qd2stcnNhLWtleS1wdWJsaWMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktdXdy
YXAtandrLXJzYS1rZXktcHVibGljLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZWJjYjFkOGVhMDc1YzJhMmZhZGUzZmRlOTdhMTUzN2NmOGVkZjA4NS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS11d3JhcC1qd2stcnNhLWtleS1wdWJsaWMtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotVGVzdCB1bndyYXBwaW5n
IGEgSldLIFJTQSBwdWJsaWMga2V5IHdpdGggQUVTLUNCQyB1c2luZyBhbiBpbXBvcnRlZCBrZXkK
LQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgdW53cmFwcGVkS2V5Lmt0eSBp
cyBqd2tLZXkua3R5Ci1QQVNTIHVud3JhcHBlZEtleS5hbGcgaXMgandrS2V5LmFsZwotUEFTUyB1
bndyYXBwZWRLZXkua2V5X29wcyBpcyBqd2tLZXkua2V5X29wcwotUEFTUyB1bndyYXBwZWRLZXku
ZXh0IGlzIGp3a0tleS5leHQKLVBBU1MgdW53cmFwcGVkS2V5Lm4gaXMgandrS2V5Lm4KLVBBU1Mg
dW53cmFwcGVkS2V5LmUgaXMgandrS2V5LmUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL2Flcy1jYmMtaW1wb3J0LWtleS11d3JhcC1qd2stcnNhLWtleS1wdWJsaWMuaHRtbCBiL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LXV3cmFwLWp3ay1yc2Et
a2V5LXB1YmxpYy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YTlkODZlNmEz
OWNmYTNjNjY4MTRlOWI3NTY0MTdmYjBkYWJmNWExLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1p
bXBvcnQta2V5LXV3cmFwLWp3ay1yc2Eta2V5LXB1YmxpYy5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNTUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxw
IGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3Jp
cHQ+Ci1kZXNjcmlwdGlvbigiVGVzdCB1bndyYXBwaW5nIGEgSldLIFJTQSBwdWJsaWMga2V5IHdp
dGggQUVTLUNCQyB1c2luZyBhbiBpbXBvcnRlZCBrZXkiKTsKLQotanNUZXN0SXNBc3luYyA9IHRy
dWU7Ci0KLXZhciBleHRyYWN0YWJsZSA9IHRydWU7Ci12YXIgandrS2V5ID0gewotICAgIGt0eTog
IlJTQSIsCi0gICAgYWxnOiAiUlNBLU9BRVAiLAotICAgIHVzZTogImVuYyIsCi0gICAga2V5X29w
czogWyJlbmNyeXB0Il0sCi0gICAgZXh0OiB0cnVlLAotICAgIG46ICJyY0NVQ3Y3T2MxSFZhbTFE
SWhDenFrblRoV2F3T3A4UUxrOFppeTJwMTBCeWpRRkNham9GaXl1QVdsLVIxV1haYWY0eGl0TFJy
YWNUOWFncHpJemMtTWJMU0hJR2dXUUdPMjFsR2lJbXk1ZnRaLUQ4YkhBcVJ6MnkxNXB6RDRjNENF
b3U3WFNTTERvUm5SMFFHNU1zRGhENnMyZ1Y5bXdIa3J0a0N4dE1XZEJpLTc3YXM4d0dtbE5SbGRj
T1NnWkRMSzhVbkNTZ0ExT2d1Wjk4OWJGeWM4dE9PRUliMHhVU2ZQU3ozTFBTQ255WXo2OGFEam1L
VmVOSC1pZzg1N09TY3lXYkd5RXkzQml3NjRxdW4zanVVbE5Xc0ozem5na09kdGVZV3l0eDVRcjRY
S05zNlItTXl5cTcyS1VwMDJtSkRaaWl5aWdseE1MX2kzLV9DZWVjQ3ciLAotICAgIGU6ICJBUUFC
IgotfTsKLXZhciByYXdLZXkgPSBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIp
OwotdmFyIGFlc0NiY1BhcmFtcyA9IHsKLSAgICBuYW1lOiAiYWVzLWNiYyIsCi0gICAgaXY6IGFz
Y2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIiksCi19Ci12YXIgd3JhcHBlZEtleSA9
IGhleFN0cmluZ1RvVWludDhBcnJheSggIjg0OGFhMmY3MGVlMThlMjk1MzUyMDEzMmE3OWNmNDc5
NDZlMDBjOTkzNjIzNDBiYjY5MGVkYzlhYjUzMTU3NTc0NjJjMTI4Mjc4YzYyMzJlNzcwZTc0Mzdj
NTZlZDcyMmE4ZTE3MDM4NTVmN2YzZTU2NTM5NGUxYTZhMDMwNWM0ZWYxYjMwZmE0YzdmNzJkMWEy
MzljYzZjNmJhMDY3ODk4Nzk4YTM2YTc1MTMyYzY2YjRhMmQzZmI5NDI4ODZhZmZkM2VhM2IyNzU2
YjBkZGM4ODZjMDFlM2I5MzEwNzQ2OWI4MjEyNDQ2ODQwOGVmOGFiNTQ4Yjg1YWE4ZjIwNmMzMTJk
NzRjZTRmMmM2NzllYjE0N2EyNzVjZWZkYTY0ZDViZGM0YTJiNWI5MGE0YWM5YWQzZWI1ZjJjZjE5
ZjVmODc2NTMyMTFmNTliNDczMWJhNjExMjU1ODJhMjMzOTUxMDk3ZGVhNjVkYjA1ODk5ZDU4N2Qx
ZGNmY2NhYjlhYjc0MTBhYjMwMTBiODkwNjY1MDZkYmFjYmM2YjczZTRiNTY0NzkyNzUxMzg4ZmEw
ZjU4ZDU1YzU5YzE0YTA4YzlkZmIwZjc4MTAwYjBmNWNjMjlkNjIzMjg4MjI2MzZkMzBhNmExNTNl
YzVjZDQ3MjdhZDVlNDdiNDE5YzQ4NTQ0NTY1NjM3YWM1Nzg5ODYzZDQzYjdkYTc4Y2Y0MzgzZDA5
ZDY2ZTlkNDU4ZTQzNmRiZmJlZTc1ZTM4MmIyYmFiNDllZWMyYzc0OTFmZjkzY2YwOTlmZTkyZmVh
ZjQ2NThlMzA4ODlmZDEyZDNhZTYxY2Q1ZThjOGUxZTU2YTA3OWI2NjJmOTBjZDEwY2RiZGJiNGQx
MmVlZmIzNmQ4MjVlMWEwNDNlODJmNWE5OGY4OTYwZDY1NWQzZjllZDVhZjMxZTU4MWZhODQ2Y2M1
ODJmNmNlZTVjMjVlMGIzYzMyMDUwNTM0YWU5NTdjZTI3ODYwZDQ3MGJhMjZkYTJjN2Q2ZmE2MjFi
MGZhYThiZWNhZDU4ZTllNTViYjJhOWQ5ODRiMDQyZjI1ZGYyMTQ4MjUyOTg3MGQyNzFjYmY1NTA4
YTBlZGZjM2NiMzczMTZjMTFmMTZiMzQyYmMxZjFmOThhYSIpOwotCi0KLWNyeXB0by5zdWJ0bGUu
aW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMtY2JjIiwgZXh0cmFjdGFibGUsIFsidW53cmFw
S2V5Il0pLnRoZW4oZnVuY3Rpb24odW53cmFwcGluZ0tleSkgewotICAgIHJldHVybiBjcnlwdG8u
c3VidGxlLnVud3JhcEtleSgiandrIiwgd3JhcHBlZEtleSwgdW53cmFwcGluZ0tleSwgYWVzQ2Jj
UGFyYW1zLCB7bmFtZTogInJzYS1vYWVwIiwgaGFzaDogInNoYS0xIn0sIGV4dHJhY3RhYmxlLCBb
ImVuY3J5cHQiXSk7Ci19KS50aGVuKGZ1bmN0aW9uKGNyeXB0b0tleSkgewotICAgIHJldHVybiBj
cnlwdG8uc3VidGxlLmV4cG9ydEtleSgiandrIiwgY3J5cHRvS2V5KTsKLX0pLnRoZW4oZnVuY3Rp
b24ocmVzdWx0KSB7Ci0gICAgdW53cmFwcGVkS2V5ID0gcmVzdWx0OwotCi0gICAgc2hvdWxkQmUo
InVud3JhcHBlZEtleS5rdHkiLCAiandrS2V5Lmt0eSIpOwotICAgIHNob3VsZEJlKCJ1bndyYXBw
ZWRLZXkuYWxnIiwgImp3a0tleS5hbGciKTsKLSAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5Lmtl
eV9vcHMiLCAiandrS2V5LmtleV9vcHMiKTsKLSAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5LmV4
dCIsICJqd2tLZXkuZXh0Iik7Ci0gICAgc2hvdWxkQmUoInVud3JhcHBlZEtleS5uIiwgImp3a0tl
eS5uIik7Ci0gICAgc2hvdWxkQmUoInVud3JhcHBlZEtleS5lIiwgImp3a0tleS5lIik7Ci0KLSAg
ICBmaW5pc2hKU1Rlc3QoKTsKLX0pOwotCi08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4
cG9ydC1rZXktandrLWxlbmd0aC0xMjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRv
L3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xMjgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjVmODI5M2I4YWJjMWE3MGM2YzkyYzJhNjA4YTQxMjgwYWZmYjE0
Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmIt
Z2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTEyOC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxNiBAQAorVGVzdCBleHBvcnRpbmcgYSAxMjggYml0cyBBRVMtQ0ZCIGtleSB3aXRoIEpXSyBm
b3JtYXQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0dlbmVyYXRpbmcgYSBrZXku
Li4KK0V4cG9ydGluZyBhIGtleS4uLgorUEFTUyBrZXkua3R5IGlzICdvY3QnCitQQVNTIGtleS5r
ZXlfb3BzIGlzIFsnZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5J10K
K1BBU1Mga2V5LmFsZyBpcyAnQTEyOENGQjgnCitQQVNTIGtleS5leHQgaXMgdHJ1ZQorUEFTUyBC
YXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGggaXMgMTYKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTEy
OC5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9y
dC1rZXktandrLWxlbmd0aC0xMjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYTAzN2QwODk1OGIwMjE5YzNj
Y2Y1MDBmMjQ5MmYzOWEwMzUwNjg4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xMjguaHRt
bApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKwor
PHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhIDEyOCBiaXRzIEFFUy1DRkIg
a2V5IHdpdGggSldLIGZvcm1hdCIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4
dHJhY3RhYmxlID0gdHJ1ZTsKKworZGVidWcoIkdlbmVyYXRpbmcgYSBrZXkuLi4iKTsKK2NyeXB0
by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMtY2ZiLTgiLCBsZW5ndGg6IDEyOH0sIGV4
dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVud3JhcEtleSJd
KS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIGRlYnVnKCJFeHBvcnRpbmcgYSBrZXkuLi4iKTsK
KyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleSk7Cit9KS50aGVu
KGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJr
ZXkua3R5IiwgIidvY3QnIik7CisgICAgc2hvdWxkQmUoImtleS5rZXlfb3BzIiwgIlsnZGVjcnlw
dCcsICdlbmNyeXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5J10iKTsKKyAgICBzaG91bGRCZSgi
a2V5LmFsZyIsICInQTEyOENGQjgnIik7CisgICAgc2hvdWxkQmUoImtleS5leHQiLCAidHJ1ZSIp
OworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGgiLCAiMTYi
KTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVy
YXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xOTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xOTIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc5MTUyZDUyZmQ1ZTA5YzliOTUwNTNlMTUyZjVjYmYx
ZTg4MDY1ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Fl
cy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTE5Mi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxNiBAQAorVGVzdCBleHBvcnRpbmcgYSAxOTIgYml0cyBBRVMtQ0ZCIGtleSB3aXRo
IEpXSyBmb3JtYXQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0dlbmVyYXRpbmcg
YSBrZXkuLi4KK0V4cG9ydGluZyBhIGtleS4uLgorUEFTUyBrZXkua3R5IGlzICdvY3QnCitQQVNT
IGtleS5rZXlfb3BzIGlzIFsnZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vud3JhcEtleScsICd3cmFw
S2V5J10KK1BBU1Mga2V5LmFsZyBpcyAnQTE5MkNGQjgnCitQQVNTIGtleS5leHQgaXMgdHJ1ZQor
UEFTUyBCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGggaXMgMjQKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVu
Z3RoLTE5Mi5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRl
LWV4cG9ydC1rZXktandrLWxlbmd0aC0xOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNGJiNDljM2FjMDIz
MWZjNDVjNTkwOWY1ZmU4OGEyM2NmMmJhODc0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0x
OTIuaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhIDE5MiBiaXRzIEFF
Uy1DRkIga2V5IHdpdGggSldLIGZvcm1hdCIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
dmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKKworZGVidWcoIkdlbmVyYXRpbmcgYSBrZXkuLi4iKTsK
K2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMtY2ZiLTgiLCBsZW5ndGg6IDE5
Mn0sIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVud3Jh
cEtleSJdKS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIGRlYnVnKCJFeHBvcnRpbmcgYSBrZXku
Li4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleSk7Cit9
KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKworICAgIHNob3Vs
ZEJlKCJrZXkua3R5IiwgIidvY3QnIik7CisgICAgc2hvdWxkQmUoImtleS5rZXlfb3BzIiwgIlsn
ZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5J10iKTsKKyAgICBzaG91
bGRCZSgia2V5LmFsZyIsICInQTE5MkNGQjgnIik7CisgICAgc2hvdWxkQmUoImtleS5leHQiLCAi
dHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGgi
LCAiMjQiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2Zi
LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0yNTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0
aC0yNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxYzc0YzliZDUyNDEwZjA0YTE3MzVkNjY0
NzViZDY1NzYyZTFjYzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTI1Ni1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxNiBAQAorVGVzdCBleHBvcnRpbmcgYSAyNTYgYml0cyBBRVMtQ0ZCIGtl
eSB3aXRoIEpXSyBmb3JtYXQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0dlbmVy
YXRpbmcgYSBrZXkuLi4KK0V4cG9ydGluZyBhIGtleS4uLgorUEFTUyBrZXkua3R5IGlzICdvY3Qn
CitQQVNTIGtleS5rZXlfb3BzIGlzIFsnZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vud3JhcEtleScs
ICd3cmFwS2V5J10KK1BBU1Mga2V5LmFsZyBpcyAnQTI1NkNGQjgnCitQQVNTIGtleS5leHQgaXMg
dHJ1ZQorUEFTUyBCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGggaXMgMzIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1q
d2stbGVuZ3RoLTI1Ni5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdl
bmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0yNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNWM2Mjk4
NjE0ZDFkMjJlMTU3MGZlYTg1ODAyNjcyZDMyYmYyOGY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxl
bmd0aC0yNTYuaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhIDI1NiBi
aXRzIEFFUy1DRkIga2V5IHdpdGggSldLIGZvcm1hdCIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKKworZGVidWcoIkdlbmVyYXRpbmcgYSBrZXku
Li4iKTsKK2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMtY2ZiLTgiLCBsZW5n
dGg6IDI1Nn0sIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5Iiwg
InVud3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIGRlYnVnKCJFeHBvcnRpbmcg
YSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtl
eSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKworICAg
IHNob3VsZEJlKCJrZXkua3R5IiwgIidvY3QnIik7CisgICAgc2hvdWxkQmUoImtleS5rZXlfb3Bz
IiwgIlsnZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5J10iKTsKKyAg
ICBzaG91bGRCZSgia2V5LmFsZyIsICInQTI1NkNGQjgnIik7CisgICAgc2hvdWxkQmUoImtleS5l
eHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVM
ZW5ndGgiLCAiMzIiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKwor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9h
ZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1yYXcta2V5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYTNiZTY4NzUwYWI2OTE4ZDRkOGNmNzQzNTkzNTk4MmQxMDA5NjdlZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5l
cmF0ZS1leHBvcnQtcmF3LWtleS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGVzdCBl
eHBvcnRpbmcgYSAyNTYgYml0cyBBRVMtQ0ZCIGtleSB3aXRoIHJhdyBmb3JtYXQKKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0dlbmVyYXRpbmcgYSBrZXkuLi4KK0V4cG9ydGluZyBh
IGtleS4uLgorUEFTUyBrZXkuYnl0ZUxlbmd0aCBpcyAzMgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS5odG1sIGIvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1yYXcta2V5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uM2ZkOWQ4YzFlM2U1MzMzODM0YzgxN2UwZDcwZGY3NDZlNmJkOThmZgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0
ZS1leHBvcnQtcmF3LWtleS5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5n
IGEgMjU2IGJpdHMgQUVTLUNGQiBrZXkgd2l0aCByYXcgZm9ybWF0Iik7CisKK2pzVGVzdElzQXN5
bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOworCitkZWJ1ZygiR2VuZXJhdGlu
ZyBhIGtleS4uLiIpOworY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1jZmIt
OCIsIGxlbmd0aDogMjU2fSwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0IiwgIndy
YXBLZXkiLCAidW53cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgZGVidWcoIkV4
cG9ydGluZyBhIGtleS4uLiIpOworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgi
cmF3Iiwga2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0
OworCisgICAgc2hvdWxkQmUoImtleS5ieXRlTGVuZ3RoIiwgIjMyIik7CisKKyAgICBmaW5pc2hK
U1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1rZXktZW5jcnlwdC1k
ZWNyeXB0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1n
ZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xM2Ni
MjNlY2RmMWQ3YmVmMWQ2MDIzOTYzYjY1ZWIyMjkyMjk1MDYyCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWtleS1lbmNyeXB0LWRl
Y3J5cHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKK1Rlc3QgZW5jcnlwdGluZyZkZWNy
eXB0aW5nIHVzaW5nIEFFUy1DRkIgYWxnb3JpdGhtIHdpdGggYSBnZW5lcmF0ZWQgMjU2Yml0IGtl
eQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleS4uLgor
RW5jcnlwdGluZy4uLgorUEFTUyBieXRlc1RvQVNDSUlTdHJpbmcoY2lwaGVyVGV4dCkgaXMgbm90
ICJIZWxsbywgV29ybGQhIgorRGVjcnlwdGluZy4uLgorUEFTUyBieXRlc1RvQVNDSUlTdHJpbmco
ZGVjcnlwdGVkVGV4dCkgaXMgcGxhaW5UZXh0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQuaHRtbCBiL0xheW91dFRl
c3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjAxMzc2YzZkYTdiNWQyOWI4OWQzNjFhNTBlNzJiZDE1ZWI0YzdhZgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5l
cmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0Lmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBl
bmNyeXB0aW5nJmRlY3J5cHRpbmcgdXNpbmcgQUVTLUNGQiBhbGdvcml0aG0gd2l0aCBhIGdlbmVy
YXRlZCAyNTZiaXQga2V5Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOwordmFyIHBsYWluVGV4
dCA9ICJIZWxsbywgV29ybGQhIjsKK3ZhciBhZXNDZmJQYXJhbXMgPSB7CisgICAgbmFtZTogImFl
cy1jZmItOCIsCisgICAgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIiks
Cit9CisKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5Li4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVy
YXRlS2V5KHtuYW1lOiAiYWVzLWNmYi04IiwgbGVuZ3RoOiAyNTZ9LCB0cnVlLCBbImRlY3J5cHQi
LCAiZW5jcnlwdCJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsK
KyAgICBkZWJ1ZygiRW5jcnlwdGluZy4uLiIpOworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmVu
Y3J5cHQoYWVzQ2ZiUGFyYW1zLCBrZXksIGFzY2lpVG9VaW50OEFycmF5KHBsYWluVGV4dCkpOwor
fSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBjaXBoZXJUZXh0ID0gcmVzdWx0OworICAg
IHNob3VsZE5vdEJlRXF1YWxUb1N0cmluZygiYnl0ZXNUb0FTQ0lJU3RyaW5nKGNpcGhlclRleHQp
IiwgcGxhaW5UZXh0KTsKKyAgICBkZWJ1ZygiRGVjcnlwdGluZy4uLiIpOworICAgIHJldHVybiBj
cnlwdG8uc3VidGxlLmRlY3J5cHQoYWVzQ2ZiUGFyYW1zLCBrZXksIGNpcGhlclRleHQpOworfSku
dGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBkZWNyeXB0ZWRUZXh0ID0gcmVzdWx0OworCisg
ICAgc2hvdWxkQmUoImJ5dGVzVG9BU0NJSVN0cmluZyhkZWNyeXB0ZWRUZXh0KSIsICJwbGFpblRl
eHQiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdl
bmVyYXRlLWtleS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1j
ZmItZ2VuZXJhdGUta2V5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZTQxYzAzODBhN2ZlYmZm
NzM0YTdkNWM4OGQ4YmE0ZjdlYmRkMzc2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWtleS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxNSBAQAorVGVzdCBnZW5lcmF0aW5nIGFuIEFFUyBrZXkgd2l0aCBsZW5ndGggMTI4IHVzaW5n
IEFFUy1DRkIgYWxnb3JpdGhtLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2Vu
ZXJhdGluZyBhIGtleS4uLgorUEFTUyBrZXkudHlwZSBpcyAnc2VjcmV0JworUEFTUyBrZXkuZXh0
cmFjdGFibGUgaXMgdHJ1ZQorUEFTUyBrZXkuYWxnb3JpdGhtLm5hbWUgaXMgJ0FFUy1DRkItOCcK
K1BBU1Mga2V5LmFsZ29yaXRobS5sZW5ndGggaXMgMTI4CitQQVNTIGtleS51c2FnZXMgaXMgWydk
ZWNyeXB0JywgJ2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dyYXBLZXknXQorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1rZXkuaHRtbCBiL0xheW91dFRl
c3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1rZXkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
ZDhlZDIzZDllZDdjYjA2MDA0MmM2NzkxZDBhNzY1ZTQ5NWFmMWViCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWtleS5odG1sCkBA
IC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2Ny
aXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZ2VuZXJhdGluZyBhbiBBRVMga2V5IHdpdGggbGVuZ3Ro
IDEyOCB1c2luZyBBRVMtQ0ZCIGFsZ29yaXRobS4iKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7
CisKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5Li4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRl
S2V5KHtuYW1lOiAiYWVzLWNmYi04IiwgbGVuZ3RoOiAxMjh9LCB0cnVlLCBbImVuY3J5cHQiLCAi
ZGVjcnlwdCIsICJ1bndyYXBLZXkiLCAid3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkg
eworICAgIGtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJrZXkudHlwZSIsICInc2VjcmV0
JyIpOworICAgIHNob3VsZEJlKCJrZXkuZXh0cmFjdGFibGUiLCAidHJ1ZSIpOworICAgIHNob3Vs
ZEJlKCJrZXkuYWxnb3JpdGhtLm5hbWUiLCAiJ0FFUy1DRkItOCciKTsKKyAgICBzaG91bGRCZSgi
a2V5LmFsZ29yaXRobS5sZW5ndGgiLCAiMTI4Iik7CisgICAgc2hvdWxkQmUoImtleS51c2FnZXMi
LCAiWydkZWNyeXB0JywgJ2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dyYXBLZXknXSIpOworCisg
ICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1r
ZXktbGVuZ3RoLTEyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Fl
cy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTEyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDg4MDg5MTgwNmFlNjE2MzJlYzE3NGE2NzRlZmQ5YzhmOTA3YmFmNgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtandrLWtleS1sZW5n
dGgtMTI4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitUZXN0IGltcG9ydGluZyBhIEpX
SyBBRVMtQ0ZCIGtleSB3aXRoIGxlZ250aCAxMjgKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK0ltcG9ydGluZyBhIGtleS4uLgorUEFTUyBrZXkudHlwZSBpcyAnc2VjcmV0JworUEFT
UyBrZXkuZXh0cmFjdGFibGUgaXMgdHJ1ZQorUEFTUyBrZXkuYWxnb3JpdGhtLm5hbWUgaXMgJ0FF
Uy1DRkItOCcKK1BBU1Mga2V5LmFsZ29yaXRobS5sZW5ndGggaXMgMTI4CitQQVNTIGtleS51c2Fn
ZXMgaXMgWydkZWNyeXB0JywgJ2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dyYXBLZXknXQorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtandrLWtleS1sZW5n
dGgtMTI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3
ay1rZXktbGVuZ3RoLTEyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUyMTA5Yjg5N2MyNWYyZjhmNGY5NWUx
MzFiNDRkOTMwYzY1MDZlZDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTEyOC5odG1sCkBAIC0wLDAgKzEs
NDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVz
Y3JpcHRpb24oIlRlc3QgaW1wb3J0aW5nIGEgSldLIEFFUy1DRkIga2V5IHdpdGggbGVnbnRoIDEy
OCIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGp3a0tleSA9IHsKKyAgICBrdHk6
ICJvY3QiLAorICAgIGs6ICJZV0pqWkdWbVoyZ3hNak0wTlRZM09BIiwKKyAgICBhbGc6ICJBMTI4
Q0ZCOCIsCit9OwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKKworZGVidWcoIkltcG9ydGluZyBh
IGtleS4uLiIpOworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIGp3a0tleSwgImFlcy1j
ZmItOCIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVu
d3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKwor
ICAgIHNob3VsZEJlKCJrZXkudHlwZSIsICInc2VjcmV0JyIpOworICAgIHNob3VsZEJlKCJrZXku
ZXh0cmFjdGFibGUiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJrZXkuYWxnb3JpdGhtLm5hbWUi
LCAiJ0FFUy1DRkItOCciKTsKKyAgICBzaG91bGRCZSgia2V5LmFsZ29yaXRobS5sZW5ndGgiLCAi
MTI4Iik7CisgICAgc2hvdWxkQmUoImtleS51c2FnZXMiLCAiWydkZWNyeXB0JywgJ2VuY3J5cHQn
LCAndW53cmFwS2V5JywgJ3dyYXBLZXknXSIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsK
KworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0
LWp3ay1rZXktbGVuZ3RoLTE5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTE5Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjRiM2RmM2IzNWIwM2QwNDJhN2QzMTY5MTE0MTQ0OTc3ZTA3NDYzYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtandrLWtl
eS1sZW5ndGgtMTkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitUZXN0IGltcG9ydGlu
ZyBhIEpXSyBBRVMtQ0ZCIGtleSB3aXRoIGxlZ250aCAxOTIKKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK0ltcG9ydGluZyBhIGtleS4uLgorUEFTUyBrZXkudHlwZSBpcyAnc2VjcmV0
JworUEFTUyBrZXkuZXh0cmFjdGFibGUgaXMgdHJ1ZQorUEFTUyBrZXkuYWxnb3JpdGhtLm5hbWUg
aXMgJ0FFUy1DRkItOCcKK1BBU1Mga2V5LmFsZ29yaXRobS5sZW5ndGggaXMgMTkyCitQQVNTIGtl
eS51c2FnZXMgaXMgWydkZWNyeXB0JywgJ2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dyYXBLZXkn
XQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtandrLWtl
eS1sZW5ndGgtMTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1w
b3J0LWp3ay1rZXktbGVuZ3RoLTE5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1MGI5ZDk3MDZkNzczYjY3
NDRkYTBmNzdmYTY0OWMyYWE0NGVjZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
cnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTE5Mi5odG1sCkBAIC0w
LDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0
PgorZGVzY3JpcHRpb24oIlRlc3QgaW1wb3J0aW5nIGEgSldLIEFFUy1DRkIga2V5IHdpdGggbGVn
bnRoIDE5MiIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGp3a0tleSA9IHsKKyAg
ICBrdHk6ICJvY3QiLAorICAgIGs6ICJBNzJGRDQ4OTg5RUQ3RTkyQTNCM0EwODBGNzRGQTgwQiIs
CisgICAgYWxnOiAiQTE5MkNGQjgiLAorfTsKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK2Rl
YnVnKCJJbXBvcnRpbmcgYSBrZXkuLi4iKTsKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2si
LCBqd2tLZXksICJhZXMtY2ZiLTgiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0IiwgImRlY3J5cHQi
LCAid3JhcEtleSIsICJ1bndyYXBLZXkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBr
ZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgia2V5LnR5cGUiLCAiJ3NlY3JldCciKTsKKyAg
ICBzaG91bGRCZSgia2V5LmV4dHJhY3RhYmxlIiwgInRydWUiKTsKKyAgICBzaG91bGRCZSgia2V5
LmFsZ29yaXRobS5uYW1lIiwgIidBRVMtQ0ZCLTgnIik7CisgICAgc2hvdWxkQmUoImtleS5hbGdv
cml0aG0ubGVuZ3RoIiwgIjE5MiIpOworICAgIHNob3VsZEJlKCJrZXkudXNhZ2VzIiwgIlsnZGVj
cnlwdCcsICdlbmNyeXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5J10iKTsKKworICAgIGZpbmlz
aEpTVGVzdCgpOworfSk7CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRs
ZS9hZXMtY2ZiLWltcG9ydC1qd2sta2V5LWxlbmd0aC0yNTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1qd2sta2V5LWxlbmd0aC0yNTYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM3ZjA5YWNkZTM4ZGZhMWVlNzI5NDQ1MTBlMmJlM2VkNjcx
N2I3Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1j
ZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTI1Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBA
QAorVGVzdCBpbXBvcnRpbmcgYSBKV0sgQUVTLUNGQiBrZXkgd2l0aCBsZWdudGggMjU2CisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitJbXBvcnRpbmcgYSBrZXkuLi4KK1BBU1Mga2V5
LnR5cGUgaXMgJ3NlY3JldCcKK1BBU1Mga2V5LmV4dHJhY3RhYmxlIGlzIHRydWUKK1BBU1Mga2V5
LmFsZ29yaXRobS5uYW1lIGlzICdBRVMtQ0ZCLTgnCitQQVNTIGtleS5hbGdvcml0aG0ubGVuZ3Ro
IGlzIDI1NgorUEFTUyBrZXkudXNhZ2VzIGlzIFsnZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vud3Jh
cEtleScsICd3cmFwS2V5J10KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1j
ZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTI1Ni5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9hZXMtY2ZiLWltcG9ydC1qd2sta2V5LWxlbmd0aC0yNTYuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
MzhkNmQ5MTQ2ZDc1ODZmODYzZjIyYTI3MzhlY2E4Y2JiMzk5NTdlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1qd2sta2V5LWxlbmd0
aC0yNTYuaHRtbApAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGltcG9ydGluZyBhIEpXSyBBRVMt
Q0ZCIGtleSB3aXRoIGxlZ250aCAyNTYiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3Zh
ciBqd2tLZXkgPSB7CisgICAga3R5OiAib2N0IiwKKyAgICBrOiAiWVdKalpHVm1aMmd4TWpNME5U
WTNPR0ZpWTJSbFptZG9NVEl6TkRVMk56ZyIsCisgICAgYWxnOiAiQTI1NkNGQjgiLAorfTsKK3Zh
ciBleHRyYWN0YWJsZSA9IHRydWU7CisKK2RlYnVnKCJJbXBvcnRpbmcgYSBrZXkuLi4iKTsKK2Ny
eXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCBqd2tLZXksICJhZXMtY2ZiLTgiLCBleHRyYWN0
YWJsZSwgWyJlbmNyeXB0IiwgImRlY3J5cHQiLCAid3JhcEtleSIsICJ1bndyYXBLZXkiXSkudGhl
bihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgi
a2V5LnR5cGUiLCAiJ3NlY3JldCciKTsKKyAgICBzaG91bGRCZSgia2V5LmV4dHJhY3RhYmxlIiwg
InRydWUiKTsKKyAgICBzaG91bGRCZSgia2V5LmFsZ29yaXRobS5uYW1lIiwgIidBRVMtQ0ZCLTgn
Iik7CisgICAgc2hvdWxkQmUoImtleS5hbGdvcml0aG0ubGVuZ3RoIiwgIjI1NiIpOworICAgIHNo
b3VsZEJlKCJrZXkudXNhZ2VzIiwgIlsnZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vud3JhcEtleScs
ICd3cmFwS2V5J10iKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKKzwvc2NyaXB0Pgor
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktZGVjcnlwdC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtl
eS1kZWNyeXB0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzBlNjBjMWUxZGFmNGUwOTkwMGM5
ZDU3ODJlZjkyYzUwOWRkMTM3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRv
L3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktZGVjcnlwdC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMCBAQAorVGVzdCBkZWNyeXB0aW5nIHVzaW5nIEFFUy1DRkIgd2l0aCBhbiBpbXBvcnRlZCAx
MjhiaXQga2V5CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGJ5dGVzVG9B
U0NJSVN0cmluZyhwbGFpblRleHQpIGlzIGV4cGVjdGVkUGxhaW5UZXh0CitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktZGVjcnlwdC5odG1sIGIvTGF5
b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktZGVjcnlwdC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY3NzdjNzkxMDRmMDhkNDhlZWNhMDRlYjU1NGI2Y2Q2OTRhYmZhNjkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtl
eS1kZWNyeXB0Lmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBkZWNyeXB0aW5nIHVzaW5n
IEFFUy1DRkIgd2l0aCBhbiBpbXBvcnRlZCAxMjhiaXQga2V5Iik7CisKK2pzVGVzdElzQXN5bmMg
PSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSBmYWxzZTsKK3ZhciBjaXBoZXJUZXh0ID0gaGV4
U3RyaW5nVG9VaW50OEFycmF5KCJhNTcyNTI1YTBiYWVmODhlNmY1YjE5OGM2ZiIpOwordmFyIGFl
c0NmYlBhcmFtcyA9IHsKKyAgICBuYW1lOiAiYWVzLWNmYi04IiwKKyAgICBpdjogYXNjaWlUb1Vp
bnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKSwKK30KK3ZhciByYXdLZXkgPSBhc2NpaVRvVWlu
dDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIpOwordmFyIGV4cGVjdGVkUGxhaW5UZXh0ID0gIkhl
bGxvLCBXb3JsZCEiOworCitjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCAi
YWVzLWNmYi04IiwgZXh0cmFjdGFibGUsIFsiZGVjcnlwdCJdKS50aGVuKGZ1bmN0aW9uKGtleSkg
eworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmRlY3J5cHQoYWVzQ2ZiUGFyYW1zLCBrZXksIGNp
cGhlclRleHQpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBwbGFpblRleHQgPSBy
ZXN1bHQ7CisKKyAgICBzaG91bGRCZSgiYnl0ZXNUb0FTQ0lJU3RyaW5nKHBsYWluVGV4dCkiLCAi
ZXhwZWN0ZWRQbGFpblRleHQiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKKzwvc2Ny
aXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1lbmNyeXB0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LWVuY3J5cHQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmY5ZGNjZjYwMmM5NGU1ZDg0NzNlZTA2NThlMjAxZjNhMDcwNzQyNjMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0
LWtleS1lbmNyeXB0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0IGVuY3J5cHRp
bmcgdXNpbmcgQUVTLUNGQiB3aXRoIGFuIGltcG9ydGVkIDEyOGJpdCBrZXkKKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhjaXBoZXJUZXh0KSBp
cyBleHBlY3RlZENpcGhlclRleHQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Fl
cy1jZmItaW1wb3J0LWtleS1lbmNyeXB0Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L2Flcy1jZmItaW1wb3J0LWtleS1lbmNyeXB0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGZiZWJiMTRiNTMz
YTNjYmVjNTFlY2YzZDg2MGQyZDcwNTk1NjJlZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LWVuY3J5cHQuaHRtbApAQCAtMCww
ICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4K
K2Rlc2NyaXB0aW9uKCJUZXN0IGVuY3J5cHRpbmcgdXNpbmcgQUVTLUNGQiB3aXRoIGFuIGltcG9y
dGVkIDEyOGJpdCBrZXkiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0
YWJsZSA9IGZhbHNlOwordmFyIHBsYWluVGV4dCA9IGFzY2lpVG9VaW50OEFycmF5KCJIZWxsbywg
V29ybGQhIik7Cit2YXIgYWVzQ2ZiUGFyYW1zID0geworICAgIG5hbWU6ICJhZXMtY2ZiLTgiLAor
ICAgIGl2OiBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIpLAorfQordmFyIHJh
d0tleSA9IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIik7Cit2YXIgZXhwZWN0
ZWRDaXBoZXJUZXh0ID0gImE1NzI1MjVhMGJhZWY4OGU2ZjViMTk4YzZmIjsKKworY3J5cHRvLnN1
YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1jZmItOCIsIGV4dHJhY3RhYmxlLCBb
ImVuY3J5cHQiXSkudGhlbihmdW5jdGlvbihrZXkpIHsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRs
ZS5lbmNyeXB0KGFlc0NmYlBhcmFtcywga2V5LCBwbGFpblRleHQpOworfSkudGhlbihmdW5jdGlv
bihyZXN1bHQpIHsKKyAgICBjaXBoZXJUZXh0ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImJ5
dGVzVG9IZXhTdHJpbmcoY2lwaGVyVGV4dCkiLCAiZXhwZWN0ZWRDaXBoZXJUZXh0Iik7CisKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK30pOworCis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXkt
dW53cmFwLWp3ay1rZXktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9h
ZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWp3ay1rZXktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjM4ZTMwMGYxNTJhZjBiNTliZWM5MThiNjQ3MWMwOTFiOGI3MDg0ZjIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAt
andrLWtleS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorVGVzdCB1bndyYXBwaW5nIGEg
SldLIGtleSB3aXRoIEFFUy1DRkIgdXNpbmcgYW4gaW1wb3J0ZWQga2V5CisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIHVud3JhcHBlZEtleS5rdHkgaXMgandrS2V5Lmt0eQor
UEFTUyB1bndyYXBwZWRLZXkuYWxnIGlzIGp3a0tleS5hbGcKK1BBU1MgdW53cmFwcGVkS2V5Lmtl
eV9vcHMgaXMgandrS2V5LmtleV9vcHMKK1BBU1MgdW53cmFwcGVkS2V5LmV4dCBpcyBqd2tLZXku
ZXh0CitQQVNTIHVud3JhcHBlZEtleS5rIGlzIGp3a0tleS5rCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWp3ay1rZXkuaHRtbCBiL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXVud3JhcC1qd2sta2V5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNmE0NWIxNDk4ZDZiMzBiY2IxNjEyZmIyYzY1OGM4NGFlMTU0N2Y1
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1p
bXBvcnQta2V5LXVud3JhcC1qd2sta2V5Lmh0bWwKQEAgLTAsMCArMSw1MyBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCB1
bndyYXBwaW5nIGEgSldLIGtleSB3aXRoIEFFUy1DRkIgdXNpbmcgYW4gaW1wb3J0ZWQga2V5Iik7
CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOwordmFy
IHJhd0tleSA9IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIik7Cit2YXIgandr
S2V5ID0geworICAgIGt0eTogIm9jdCIsCisgICAgYWxnOiAiQTEyOENCQyIsCisgICAgdXNlOiAi
ZW5jIiwKKyAgICBrZXlfb3BzOiBbImVuY3J5cHQiXSwKKyAgICBleHQ6IHRydWUsCisgICAgazog
ImFtNVBkems1YjA5YVJreEpSVkJOY2ciLAorfTsKK3ZhciBhZXNDZmJQYXJhbXMgPSB7CisgICAg
bmFtZTogImFlcy1jZmItOCIsCisgICAgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pG
TElFUE1yIiksCit9Cit2YXIgd3JhcHBlZEtleSA9IGhleFN0cmluZ1RvVWludDhBcnJheSgiOTZh
MTc0MGM1OGNiMDM5Y2U5ZDNmNzdjNDAzMWVmYzZlM2MxNmFkYmMxY2U5YTFiMGQ1YmM1Yjk1M2Uy
ZDlkZTNmNTQxM2IwMWI5NDA0NzdmZDgwY2VlOWY0OWUwOWMzOGNlOTY1YzIwNDBhM2ZjMTQ0OWJh
NGYyYjZjMDMzODZhY2QyYjJhMTQ1ZTMzNWUxODkwYzRhYzM1MWI0NzAyZDA3YjZlYTMzMGNjZTlk
NDRhZjdlMmEiKTsKKworCitjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCAi
YWVzLWNmYi04IiwgZXh0cmFjdGFibGUsIFsidW53cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24odW53
cmFwcGluZ0tleSkgeworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgiandrIiwg
d3JhcHBlZEtleSwgdW53cmFwcGluZ0tleSwgYWVzQ2ZiUGFyYW1zLCB7bmFtZTogImFlcy1jYmMi
fSwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCJdKTsKK30pLnRoZW4oZnVuY3Rpb24oY3J5cHRvS2V5
KSB7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBjcnlwdG9LZXkp
OworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICB1bndyYXBwZWRLZXkgPSByZXN1bHQ7
CisKKyAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5Lmt0eSIsICJqd2tLZXkua3R5Iik7CisgICAg
c2hvdWxkQmUoInVud3JhcHBlZEtleS5hbGciLCAiandrS2V5LmFsZyIpOworICAgIHNob3VsZEJl
KCJ1bndyYXBwZWRLZXkua2V5X29wcyIsICJqd2tLZXkua2V5X29wcyIpOworICAgIHNob3VsZEJl
KCJ1bndyYXBwZWRLZXkuZXh0IiwgImp3a0tleS5leHQiKTsKKyAgICBzaG91bGRCZSgidW53cmFw
cGVkS2V5LmsiLCAiandrS2V5LmsiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKKzwv
c2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAtcmF3LWtleS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAtcmF3
LWtleS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzBmY2I5OWNkNzEyNGMzM2ZlY2IyMjVlMDM3
ZTczMTVmMmJmOGJhYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0
bGUvYWVzLWNmYi1pbXBvcnQta2V5LXVud3JhcC1yYXcta2V5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEwIEBACitUZXN0IHVud3JhcHBpbmcgYSByYXcga2V5IHdpdGggQUVTLUNGQiB1c2luZyBh
biBpbXBvcnRlZCBrZXkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgYnl0
ZXNUb0FTQ0lJU3RyaW5nKHVud3JhcHBlZEtleSkgaXMgZXhwZWN0ZWRSYXdLZXkKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAtcmF3LWtl
eS5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53
cmFwLXJhdy1rZXkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMDk0NDhiNGQyYTU3MzdhOTY2ZWUxMWEzMWE2
ZGM3MjQ3ZjFiNmViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRs
ZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLXJhdy1rZXkuaHRtbApAQCAtMCwwICsxLDQyIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0
aW9uKCJUZXN0IHVud3JhcHBpbmcgYSByYXcga2V5IHdpdGggQUVTLUNGQiB1c2luZyBhbiBpbXBv
cnRlZCBrZXkiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9
IHRydWU7Cit2YXIgZXhwZWN0ZWRSYXdLZXkgPSAiam5Pdzk5b09aRkxJRVBNciI7Cit2YXIgcmF3
S2V5ID0gYXNjaWlUb1VpbnQ4QXJyYXkoZXhwZWN0ZWRSYXdLZXkpOwordmFyIGFlc0NmYlBhcmFt
cyA9IHsKKyAgICBuYW1lOiAiYWVzLWNmYi04IiwKKyAgICBpdjogYXNjaWlUb1VpbnQ4QXJyYXko
ImpuT3c5OW9PWkZMSUVQTXIiKSwKK30KK3ZhciB3cmFwcGVkS2V5ID0gaGV4U3RyaW5nVG9VaW50
OEFycmF5KCI4NzA3ZWUzMTFmNmU4ZWQxNTc4ODVhN2ZjMjVmMGVlNyIpOworCisKK2NyeXB0by5z
dWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMtY2ZiLTgiLCBleHRyYWN0YWJsZSwg
WyJ1bndyYXBLZXkiXSkudGhlbihmdW5jdGlvbih1bndyYXBwaW5nS2V5KSB7CisgICAgcmV0dXJu
IGNyeXB0by5zdWJ0bGUudW53cmFwS2V5KCJyYXciLCB3cmFwcGVkS2V5LCB1bndyYXBwaW5nS2V5
LCBhZXNDZmJQYXJhbXMsIHtuYW1lOiAiYWVzLWNiYyJ9LCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0
Il0pOworfSkudGhlbihmdW5jdGlvbihjcnlwdG9LZXkpIHsKKyAgICByZXR1cm4gY3J5cHRvLnN1
YnRsZS5leHBvcnRLZXkoInJhdyIsIGNyeXB0b0tleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3Vs
dCkgeworICAgIHVud3JhcHBlZEtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJieXRlc1Rv
QVNDSUlTdHJpbmcodW53cmFwcGVkS2V5KSIsICJleHBlY3RlZFJhd0tleSIpOworCisgICAgZmlu
aXNoSlNUZXN0KCk7Cit9KTsKKworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXdyYXAt
andrLWtleS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmIt
aW1wb3J0LWtleS13cmFwLWp3ay1rZXktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUzNjE4YTEz
NzVhZjllNjM2NmVkOGNiZTBmMDE2M2MxN2NlZjlhZGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS13cmFwLWp3ay1rZXktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3Qgd3JhcHBpbmcgYSBKV0sga2V5IHdpdGgg
QUVTLUNGQiB1c2luZyBhbiBpbXBvcnRlZCBrZXkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyh3cmFwcGVkS2V5KSBpcyBleHBlY3RXcmFwcGVk
S2V5CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXkt
d3JhcC1qd2sta2V5Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1w
b3J0LWtleS13cmFwLWp3ay1rZXkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMGE4YWUwOWRjZTAxMzI0ZTAw
ZjdlNWIwMWFkYzA1NWI2ZmFmYjUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1qd2sta2V5Lmh0bWwKQEAgLTAsMCAr
MSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbigiVGVzdCB3cmFwcGluZyBhIEpXSyBrZXkgd2l0aCBBRVMtQ0ZCIHVzaW5nIGFu
IGltcG9ydGVkIGtleSIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3Rh
YmxlID0gdHJ1ZTsKK3ZhciByYXdLZXkgPSBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJ
RVBNciIpOwordmFyIGFlc0NmYlBhcmFtcyA9IHsKKyAgICBuYW1lOiAiYWVzLWNmYi04IiwKKyAg
ICBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKSwKK30KK3ZhciBleHBl
Y3RXcmFwcGVkS2V5ID0gIjk2YTE3ZWRlMzQxNGQ5OTA3NDFkMmZlNWYxZDkzZTc0OTk5ZWQ2Y2E2
MDcxZGI2ZGMwY2YwYmNmOTE3OGIxYWMwMzcwNzZkMThmZmUwZTI0N2VlNTcwYzJkNTUxYmM3NjIx
YjBkNzkxZGY5YzdiYzdjMDIxZWExZmRhODNlNGM0MWQ4NzA0MTEyNzc3YTg2NDEzZGQ3YjIwMDg4
NDc5YTYxNWI4Mzk0MmQzOTAzZWYwOGY4MWY0IjsKKworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXko
InJhdyIsIHJhd0tleSwgImFlcy1jZmItOCIsIGV4dHJhY3RhYmxlLCBbIndyYXBLZXkiXSkudGhl
bihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICB3cmFwcGluZ0tleSA9IHJlc3VsdDsKKyAgICByZXR1
cm4gY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1jYmMiLCBleHRy
YWN0YWJsZSwgWyJlbmNyeXB0Il0pOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBr
ZXkgPSByZXN1bHQ7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUud3JhcEtleSgiandrIiwga2V5
LCB3cmFwcGluZ0tleSwgYWVzQ2ZiUGFyYW1zKTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7
CisgICAgd3JhcHBlZEtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3Ry
aW5nKHdyYXBwZWRLZXkpIiwgImV4cGVjdFdyYXBwZWRLZXkiKTsKKworICAgIGZpbmlzaEpTVGVz
dCgpOworfSk7CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS13cmFwLXJhdy1rZXkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1r
ZXktd3JhcC1yYXcta2V5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZTgzYmI1NDViN2YzNTQ1
NDFlMzI1MzNkODBlNWYyY2IwNTllMWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1yYXcta2V5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEwIEBACitUZXN0IHdyYXBwaW5nIGEgcmF3IGtleSB3aXRoIEFFUy1DRkIg
dXNpbmcgYW4gaW1wb3J0ZWQga2V5CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQ
QVNTIGJ5dGVzVG9IZXhTdHJpbmcod3JhcHBlZEtleSkgaXMgZXhwZWN0V3JhcHBlZEtleQorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXdyYXAtcmF3
LWtleS5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXkt
d3JhcC1yYXcta2V5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDZmZjY0NTI2M2MzMmRkMWExZmQxMjZmMDI1
NDVkNjk1ZGVlNzUzZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0
bGUvYWVzLWNmYi1pbXBvcnQta2V5LXdyYXAtcmF3LWtleS5odG1sCkBAIC0wLDAgKzEsNDIgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRp
b24oIlRlc3Qgd3JhcHBpbmcgYSByYXcga2V5IHdpdGggQUVTLUNGQiB1c2luZyBhbiBpbXBvcnRl
ZCBrZXkiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IHRy
dWU7Cit2YXIgcmF3S2V5ID0gYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKTsK
K3ZhciBhZXNDZmJQYXJhbXMgPSB7CisgICAgbmFtZTogImFlcy1jZmItOCIsCisgICAgaXY6IGFz
Y2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIiksCit9Cit2YXIgZXhwZWN0V3JhcHBl
ZEtleSA9ICI4NzA3ZWUzMTFmNmU4ZWQxNTc4ODVhN2ZjMjVmMGVlNyI7CisKK2NyeXB0by5zdWJ0
bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMtY2ZiLTgiLCBleHRyYWN0YWJsZSwgWyJ3
cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgd3JhcHBpbmdLZXkgPSByZXN1
bHQ7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJh
ZXMtY2JjIiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCJdKTsKK30pLnRoZW4oZnVuY3Rpb24ocmVz
dWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLndyYXBL
ZXkoInJhdyIsIGtleSwgd3JhcHBpbmdLZXksIGFlc0NmYlBhcmFtcyk7Cit9KS50aGVuKGZ1bmN0
aW9uKHJlc3VsdCkgeworICAgIHdyYXBwZWRLZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgi
Ynl0ZXNUb0hleFN0cmluZyh3cmFwcGVkS2V5KSIsICJleHBlY3RXcmFwcGVkS2V5Iik7CisKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK30pOworCis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1yYXct
a2V5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBv
cnQtcmF3LWtleS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDE5MjFhMTM5Y2Q2NWNmNDBkZThi
NmVmNjU1YmU3NTBlNzY2NzVjMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtcmF3LWtleS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NSBAQAorVGVzdCBpbXBvcnRpbmcgYSByYXcgQUVTLUNGQiBrZXkgd2l0aCBsZWdudGggMTI4CisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitJbXBvcnRpbmcgYSBrZXkuLi4KK1BBU1Mg
a2V5LnR5cGUgaXMgJ3NlY3JldCcKK1BBU1Mga2V5LmV4dHJhY3RhYmxlIGlzIHRydWUKK1BBU1Mg
a2V5LmFsZ29yaXRobS5uYW1lIGlzICdBRVMtQ0ZCLTgnCitQQVNTIGtleS5hbGdvcml0aG0ubGVu
Z3RoIGlzIDEyOAorUEFTUyBrZXkudXNhZ2VzIGlzIFsnZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vu
d3JhcEtleScsICd3cmFwS2V5J10KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Fl
cy1jZmItaW1wb3J0LXJhdy1rZXkuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVz
LWNmYi1pbXBvcnQtcmF3LWtleS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc2YTFmZWZhYmRlNGYzZjEyNjI0
YWM3ODVmYmExYjYyMjU2MWZhZWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LXJhdy1rZXkuaHRtbApAQCAtMCwwICsxLDM2IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
Y29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9u
KCJUZXN0IGltcG9ydGluZyBhIHJhdyBBRVMtQ0ZCIGtleSB3aXRoIGxlZ250aCAxMjgiKTsKKwor
anNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciByYXdLZXkgPSBhc2NpaVRvVWludDhBcnJheSgi
am5Pdzk5b09aRkxJRVBNciIpOwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKKworZGVidWcoIklt
cG9ydGluZyBhIGtleS4uLiIpOworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tl
eSwgImFlcy1jZmItOCIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFw
S2V5IiwgInVud3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJl
c3VsdDsKKworICAgIHNob3VsZEJlKCJrZXkudHlwZSIsICInc2VjcmV0JyIpOworICAgIHNob3Vs
ZEJlKCJrZXkuZXh0cmFjdGFibGUiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJrZXkuYWxnb3Jp
dGhtLm5hbWUiLCAiJ0FFUy1DRkItOCciKTsKKyAgICBzaG91bGRCZSgia2V5LmFsZ29yaXRobS5s
ZW5ndGgiLCAiMTI4Iik7CisgICAgc2hvdWxkQmUoImtleS51c2FnZXMiLCAiWydkZWNyeXB0Jywg
J2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dyYXBLZXknXSIpOworCisgICAgZmluaXNoSlNUZXN0
KCk7Cit9KTsKKworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1n
ZW5lcmF0ZS1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvY3J5cHRvL3N1YnRsZS9hZXMtZ2VuZXJhdGUta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4
cGVjdGVkLnR4dAppbmRleCA0MzJkYmJkYmU1Mzk5ODg1ODgyOTI4YzBlMWViNjE0NDI1ZTA1Zjli
Li40OGY1YzU2NzVlMTY4NWJjNDYyYzJmNTliNTRkZTJkNGQ5OWZiZDkzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1nZW5lcmF0ZS1rZXktbWFsZm9ybWVkLXBhcmFt
ZXRlcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWdl
bmVyYXRlLWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKQEAgLTIxLDYgKzIx
LDEwIEBAIFBBU1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1rdyIsIGxl
bmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIFsic2lnCiBQQVNTIGNyeXB0by5zdWJ0bGUuZ2VuZXJh
dGVLZXkoe25hbWU6ICJhZXMta3ciLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCBbInZlcmlm
eSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFN5bnRheEVycm9yIChET00gRXhjZXB0aW9uIDEy
KTogQSByZXF1aXJlZCBwYXJhbWV0ZXIgd2FzIG1pc3Npbmcgb3Igb3V0LW9mLXJhbmdlLgogUEFT
UyBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWt3IiwgbGVuZ3RoOiAxMjh9
LCBleHRyYWN0YWJsZSwgWyJkZXJpdmVLZXkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBTeW50
YXhFcnJvciAoRE9NIEV4Y2VwdGlvbiAxMik6IEEgcmVxdWlyZWQgcGFyYW1ldGVyIHdhcyBtaXNz
aW5nIG9yIG91dC1vZi1yYW5nZS4KIFBBU1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFt
ZTogImFlcy1rdyIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIFsiZGVyaXZlQml0cyJdKSBy
ZWplY3RlZCBwcm9taXNlICB3aXRoIFN5bnRheEVycm9yIChET00gRXhjZXB0aW9uIDEyKTogQSBy
ZXF1aXJlZCBwYXJhbWV0ZXIgd2FzIG1pc3Npbmcgb3Igb3V0LW9mLXJhbmdlLgorUEFTUyBjcnlw
dG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWNmYi04IiwgbGVuZ3RoOiAxMjh9LCBl
eHRyYWN0YWJsZSwgWyJzaWduIl0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggU3ludGF4RXJyb3Ig
KERPTSBFeGNlcHRpb24gMTIpOiBBIHJlcXVpcmVkIHBhcmFtZXRlciB3YXMgbWlzc2luZyBvciBv
dXQtb2YtcmFuZ2UuCitQQVNTIGNyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMt
Y2ZiLTgiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCBbInZlcmlmeSJdKSByZWplY3RlZCBw
cm9taXNlICB3aXRoIFN5bnRheEVycm9yIChET00gRXhjZXB0aW9uIDEyKTogQSByZXF1aXJlZCBw
YXJhbWV0ZXIgd2FzIG1pc3Npbmcgb3Igb3V0LW9mLXJhbmdlLgorUEFTUyBjcnlwdG8uc3VidGxl
LmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWNmYi04IiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJs
ZSwgWyJkZXJpdmVLZXkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBTeW50YXhFcnJvciAoRE9N
IEV4Y2VwdGlvbiAxMik6IEEgcmVxdWlyZWQgcGFyYW1ldGVyIHdhcyBtaXNzaW5nIG9yIG91dC1v
Zi1yYW5nZS4KK1BBU1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1jZmIt
OCIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIFsiZGVyaXZlQml0cyJdKSByZWplY3RlZCBw
cm9taXNlICB3aXRoIFN5bnRheEVycm9yIChET00gRXhjZXB0aW9uIDEyKTogQSByZXF1aXJlZCBw
YXJhbWV0ZXIgd2FzIG1pc3Npbmcgb3Igb3V0LW9mLXJhbmdlLgogUEFTUyBjcnlwdG8uc3VidGxl
LmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWNiYyIsIGxlbmd0aDogMTExfSwgZXh0cmFjdGFibGUs
IFsiZW5jcnlwdCJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIE9wZXJhdGlvbkVycm9yIChET00g
RXhjZXB0aW9uIDM0KTogVGhlIG9wZXJhdGlvbiBmYWlsZWQgZm9yIGFuIG9wZXJhdGlvbi1zcGVj
aWZpYyByZWFzb24uCiBQQVNTIGNyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMt
a3ciLCBsZW5ndGg6IDExMX0sIGV4dHJhY3RhYmxlLCBbIndyYXBLZXkiXSkgcmVqZWN0ZWQgcHJv
bWlzZSAgd2l0aCBPcGVyYXRpb25FcnJvciAoRE9NIEV4Y2VwdGlvbiAzNCk6IFRoZSBvcGVyYXRp
b24gZmFpbGVkIGZvciBhbiBvcGVyYXRpb24tc3BlY2lmaWMgcmVhc29uLgogUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRs
ZS9hZXMtZ2VuZXJhdGUta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwgYi9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2Flcy1nZW5lcmF0ZS1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRt
bAppbmRleCAxYTRmMWQ2MzYwNTY4ZTJhNmQ4MmE4NTg0Zjk5OWRhNmU0MWZmZDk3Li42MWJkODA5
MjkyOTE5MjlhMDE1Zjc3M2IyYmViMmY0N2RiODkyYjlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2Flcy1nZW5lcmF0ZS1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1nZW5lcmF0ZS1rZXktbWFsZm9y
bWVkLXBhcmFtZXRlcnMuaHRtbApAQCAtMzMsNiArMzMsMTAgQEAgc2hvdWxkUmVqZWN0KCdjcnlw
dG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWt3IiwgbGVuZ3RoOiAxMjh9LCBleHRy
YWN0YWIKIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFl
cy1rdyIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIFsidmVyaWZ5Il0pJyk7CiBzaG91bGRS
ZWplY3QoJ2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMta3ciLCBsZW5ndGg6
IDEyOH0sIGV4dHJhY3RhYmxlLCBbImRlcml2ZUtleSJdKScpOwogc2hvdWxkUmVqZWN0KCdjcnlw
dG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWt3IiwgbGVuZ3RoOiAxMjh9LCBleHRy
YWN0YWJsZSwgWyJkZXJpdmVCaXRzIl0pJyk7CitzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUu
Z2VuZXJhdGVLZXkoe25hbWU6ICJhZXMtY2ZiLTgiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxl
LCBbInNpZ24iXSknKTsKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7
bmFtZTogImFlcy1jZmItOCIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIFsidmVyaWZ5Il0p
Jyk7CitzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMt
Y2ZiLTgiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCBbImRlcml2ZUtleSJdKScpOworc2hv
dWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWNmYi04Iiwg
bGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgWyJkZXJpdmVCaXRzIl0pJyk7CiAvLyBXcm9uZyBs
ZW5ndGgKIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFl
cy1jYmMiLCBsZW5ndGg6IDExMX0sIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiXSknKTsKIHNob3Vs
ZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1rdyIsIGxlbmd0
aDogMTExfSwgZXh0cmFjdGFibGUsIFsid3JhcEtleSJdKScpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtaW1wb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1pbXBvcnQta2V5LW1h
bGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dAppbmRleCAwN2ViNjJiNjA3NDgxYThiMmY4
NDc5ZDRhZjA2YTNlY2I2MDYwYWYyLi41NTUyY2U2Mzg2NTZlZThlYjhiZGZjNjc5OGMxZWE4MzJh
NGQ5NzQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1pbXBvcnQt
a2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9j
cnlwdG8vc3VidGxlL2Flcy1pbXBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVk
LnR4dApAQCAtMjAsNiArMjAsMTAgQEAgUEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandr
Iiwge2t0eTogIm9jdCIsIGs6ICJBNzJGIiwgYWxnOiAiZm9vIn0sICJhZXMta3cKIFBBU1MgY3J5
cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiBrMTI4LCBhbGc6ICIi
fSwgImFlcy1rdyIsIGV4dHJhY3RhYmxlLCBbIndyYXBLZXkiLCAidW53cmFwS2V5Il0pIHJlamVj
dGVkIHByb21pc2UgIHdpdGggRGF0YUVycm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92
aWRlZCB0byBhbiBvcGVyYXRpb24gZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMuCiBQQVNTIGNy
eXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogazE5MiwgYWxnOiAi
In0sICJhZXMta3ciLCBleHRyYWN0YWJsZSwgWyJ3cmFwS2V5IiwgInVud3JhcEtleSJdKSByZWpl
Y3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJv
dmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgogUEFTUyBj
cnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGsyNTYsIGFsZzog
IiJ9LCAiYWVzLWt3IiwgZXh0cmFjdGFibGUsIFsid3JhcEtleSIsICJ1bndyYXBLZXkiXSkgcmVq
ZWN0ZWQgcHJvbWlzZSAgd2l0aCBEYXRhRXJyb3IgKERPTSBFeGNlcHRpb24gMzApOiBEYXRhIHBy
b3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBtZWV0IHJlcXVpcmVtZW50cy4KK1BBU1Mg
Y3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiBrMTI4LCBhbGc6
ICJBMTkyQ0ZCOCJ9LCAiYWVzLWNmYi04IiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkZWNy
eXB0IiwgIndyYXBLZXkiLCAidW53cmFwS2V5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggRGF0
YUVycm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24g
ZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMuCitQQVNTIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5
KCJqd2siLCB7a3R5OiAib2N0IiwgazogazE5MiwgYWxnOiAiQTI1NkNGQjgifSwgImFlcy1jZmIt
OCIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVud3Jh
cEtleSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAz
MCk6IERhdGEgcHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1l
bnRzLgorUEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6
IGsyNTYsIGFsZzogIkExMjhDRkI4In0sICJhZXMtY2ZiLTgiLCBleHRyYWN0YWJsZSwgWyJlbmNy
eXB0IiwgImRlY3J5cHQiLCAid3JhcEtleSIsICJ1bndyYXBLZXkiXSkgcmVqZWN0ZWQgcHJvbWlz
ZSAgd2l0aCBEYXRhRXJyb3IgKERPTSBFeGNlcHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRvIGFu
IG9wZXJhdGlvbiBkb2VzIG5vdCBtZWV0IHJlcXVpcmVtZW50cy4KK1BBU1MgY3J5cHRvLnN1YnRs
ZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiAiQTcyRiIsIGFsZzogImZvbyJ9LCAi
YWVzLWNiYyIsIGV4dHJhY3RhYmxlLCBbIndyYXBLZXkiLCAidW53cmFwS2V5Il0pIHJlamVjdGVk
IHByb21pc2UgIHdpdGggRGF0YUVycm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRl
ZCB0byBhbiBvcGVyYXRpb24gZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMuCiBQQVNTIGNyeXB0
by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogIiEhISIsIGFsZzogImZv
byJ9LCAiYWVzLWNiYyIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFw
S2V5IiwgInVud3JhcEtleSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9N
IEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1l
ZXQgcmVxdWlyZW1lbnRzLgogUEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0
eTogIm9jdCIsIGs6ICIiLCBhbGc6ICJmb28ifSwgImFlcy1jYmMiLCBleHRyYWN0YWJsZSwgWyJl
bmNyeXB0IiwgImRlY3J5cHQiLCAid3JhcEtleSIsICJ1bndyYXBLZXkiXSkgcmVqZWN0ZWQgcHJv
bWlzZSAgd2l0aCBEYXRhRXJyb3IgKERPTSBFeGNlcHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRv
IGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBtZWV0IHJlcXVpcmVtZW50cy4KIFBBU1MgY3J5cHRvLnN1
YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiBrMTI4LCBhbGc6ICJBMTI4Q0JD
IiwgdXNlOiAic2lnIn0sICJhZXMtY2JjIiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkZWNy
eXB0IiwgIndyYXBLZXkiLCAidW53cmFwS2V5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggRGF0
YUVycm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24g
ZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2Flcy1pbXBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwgYi9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1pbXBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJz
Lmh0bWwKaW5kZXggOTNjYjRlOTljMzkwNWMxNGYxMThkOGQxYjQ0MzU5ZjFlNGQwYTMwZS4uZjMx
OGQ0MGRkMWM4MGJmYjQ5MWNkNDVlMDlhNjJjMzlmMzY1MTk3OSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtaW1wb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWltcG9ydC1rZXktbWFsZm9y
bWVkLXBhcmFtZXRlcnMuaHRtbApAQCAtMzcsNiArMzcsMTAgQEAgc2hvdWxkUmVqZWN0KCdjcnlw
dG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6ICJBNzJGIiwgYWxnOiAi
Zm9vIn0KIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6
ICJvY3QiLCBrOiBrMTI4LCBhbGc6ICIifSwgImFlcy1rdyIsIGV4dHJhY3RhYmxlLCBbIndyYXBL
ZXkiLCAidW53cmFwS2V5Il0pJyk7CiBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0
S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogazE5MiwgYWxnOiAiIn0sICJhZXMta3ciLCBleHRy
YWN0YWJsZSwgWyJ3cmFwS2V5IiwgInVud3JhcEtleSJdKScpOwogc2hvdWxkUmVqZWN0KCdjcnlw
dG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGsyNTYsIGFsZzogIiJ9
LCAiYWVzLWt3IiwgZXh0cmFjdGFibGUsIFsid3JhcEtleSIsICJ1bndyYXBLZXkiXSknKTsKK3No
b3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBr
OiBrMTI4LCBhbGc6ICJBMTkyQ0ZCOCJ9LCAiYWVzLWNmYi04IiwgZXh0cmFjdGFibGUsIFsiZW5j
cnlwdCIsICJkZWNyeXB0IiwgIndyYXBLZXkiLCAidW53cmFwS2V5Il0pJyk7CitzaG91bGRSZWpl
Y3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogazE5Miwg
YWxnOiAiQTI1NkNGQjgifSwgImFlcy1jZmItOCIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAi
ZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVud3JhcEtleSJdKScpOworc2hvdWxkUmVqZWN0KCdjcnlw
dG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGsyNTYsIGFsZzogIkEx
MjhDRkI4In0sICJhZXMtY2ZiLTgiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0IiwgImRlY3J5cHQi
LCAid3JhcEtleSIsICJ1bndyYXBLZXkiXSknKTsKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRs
ZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiAiQTcyRiIsIGFsZzogImZvbyJ9LCAi
YWVzLWNiYyIsIGV4dHJhY3RhYmxlLCBbIndyYXBLZXkiLCAidW53cmFwS2V5Il0pJyk7CiAvLyBK
d2s6IHdyb25nIGsgZm9ybWF0CiBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5
KCJqd2siLCB7a3R5OiAib2N0IiwgazogIiEhISIsIGFsZzogImZvbyJ9LCAiYWVzLWNiYyIsIGV4
dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVud3JhcEtleSJd
KScpOwogc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTog
Im9jdCIsIGs6ICIiLCBhbGc6ICJmb28ifSwgImFlcy1jYmMiLCBleHRyYWN0YWJsZSwgWyJlbmNy
eXB0IiwgImRlY3J5cHQiLCAid3JhcEtleSIsICJ1bndyYXBLZXkiXSknKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktZGVj
cnlwdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVz
LWNmYi1pbXBvcnQta2V5LWRlY3J5cHQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1NTdiZWUx
YjVmNmQ4MjZjODFlNjJlZjgyZDI4OGMxODg1YzZkMGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LWRlY3J5cHQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1tXb3JrZXJdIFRlc3QgZGVjcnlwdGluZyB1
c2luZyBBRVMtQ0ZCIHdpdGggYW4gaW1wb3J0ZWQgMTI4Yml0IGtleSBpbiB3b3JrZXJzCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitTdGFydGluZyB3b3JrZXI6IHJlc291cmNlcy9h
ZXMtY2ZiLWltcG9ydC1rZXktZGVjcnlwdC5qcworUEFTUyBbV29ya2VyXSBieXRlc1RvQVNDSUlT
dHJpbmcocGxhaW5UZXh0KSBpcyBleHBlY3RlZFBsYWluVGV4dAorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktZGVjcnlwdC5odG1sIGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1kZWNy
eXB0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOGMxYjlkNTZiNjlkZTM4ODMxZWJkNjliMGVjMjg0NDg3ZTQz
Y2ZiZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRs
ZS9hZXMtY2ZiLWltcG9ydC1rZXktZGVjcnlwdC5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIHdvcmtlciA9IHN0YXJ0V29ya2VyKCdyZXNvdXJjZXMvYWVzLWNmYi1p
bXBvcnQta2V5LWRlY3J5cHQuanMnKTsKKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVz
LWNmYi1pbXBvcnQta2V5LWVuY3J5cHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRv
L3dvcmtlcnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1lbmNyeXB0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTY4NTdiYTQxMzZlNDYzYTFkZWNjMjUyNGY1ZDNiNDgxZjQ0ZDk3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jZmIt
aW1wb3J0LWtleS1lbmNyeXB0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitbV29ya2Vy
XSBUZXN0IGVuY3J5cHRpbmcgdXNpbmcgQUVTLUNGQiB3aXRoIGFuIGltcG9ydGVkIDEyOGJpdCBr
ZXkgaW4gd29ya2VycworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworU3RhcnRpbmcg
d29ya2VyOiByZXNvdXJjZXMvYWVzLWNmYi1pbXBvcnQta2V5LWVuY3J5cHQuanMKK1BBU1MgW1dv
cmtlcl0gYnl0ZXNUb0hleFN0cmluZyhjaXBoZXJUZXh0KSBpcyBleHBlY3RlZENpcGhlclRleHQK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQt
a2V5LWVuY3J5cHQuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMt
Y2ZiLWltcG9ydC1rZXktZW5jcnlwdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxZmE2OWE1OTYxOTIxZjlm
NWMyMjhhZWZiNDgzODQ4NTU4YmVhODkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
cnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LWVuY3J5cHQuaHRtbApAQCAt
MCwwICsxLDEyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKyAgICA8c2NyaXB0PgorICAgICAgICB3b3JrZXIgPSBzdGFydFdvcmtlcign
cmVzb3VyY2VzL2Flcy1jZmItaW1wb3J0LWtleS1lbmNyeXB0LmpzJyk7CisgICAgPC9zY3JpcHQ+
CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRv
L3dvcmtlcnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAta2V5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXkt
dW53cmFwLWtleS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmVkZmZjNDZlNmIyMzliNWU2ZmU4
YjRlMGIwMzZhMGUwYzA4NDcxOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0
by93b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWtleS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMSBAQAorW1dvcmtlcl0gVGVzdCB1bndyYXBwaW5nIGEgcmF3IGtleSB3
aXRoIEFFUy1DRkIgdXNpbmcgYW4gaW1wb3J0ZWQga2V5IGluIHdvcmtlcnMKKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1N0YXJ0aW5nIHdvcmtlcjogcmVzb3VyY2VzL2Flcy1jZmIt
aW1wb3J0LWtleS11bndyYXAta2V5LmpzCitQQVNTIFtXb3JrZXJdIGJ5dGVzVG9BU0NJSVN0cmlu
Zyh1bndyYXBwZWRLZXkpIGlzIGV4cGVjdGVkUmF3S2V5CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5
cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAta2V5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXVud3Jh
cC1rZXkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZmQwZDQxYjJjZTUyYTE0ZGEwZjRhZGUyMzliZjhlNzUw
ZTE4ZjYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3Vi
dGxlL2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAta2V5Lmh0bWwKQEAgLTAsMCArMSwxMiBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAgd29ya2VyID0gc3RhcnRXb3JrZXIoJ3Jlc291cmNlcy9hZXMt
Y2ZiLWltcG9ydC1rZXktdW53cmFwLWtleS5qcycpOworICAgIDwvc2NyaXB0PgorICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1
YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1rZXktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS13cmFwLWtleS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTY0YjM2MDE2N2YwNzUxYjI0N2YwYzVkZjEzNTBkOTA3MTkw
MDFlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRs
ZS9hZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1rZXktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEg
QEAKK1tXb3JrZXJdIFRlc3Qgd3JhcHBpbmcgYSByYXcga2V5IHdpdGggQUVTLUNGQiB1c2luZyBh
biBpbXBvcnRlZCBrZXkgaW4gd29ya2VycworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworU3RhcnRpbmcgd29ya2VyOiByZXNvdXJjZXMvYWVzLWNmYi1pbXBvcnQta2V5LXdyYXAta2V5
LmpzCitQQVNTIFtXb3JrZXJdIGJ5dGVzVG9IZXhTdHJpbmcod3JhcHBlZEtleSkgaXMgZXhwZWN0
V3JhcHBlZEtleQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMt
Y2ZiLWltcG9ydC1rZXktd3JhcC1rZXkuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJz
L3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1rZXkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYTFi
YmM5ZjBmYmNkNjdmODc2ZGY0MWYxNjg1YTFjNTRmN2RjZDc1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS13cmFw
LWtleS5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxzY3JpcHQ+CisgICAgICAgIHdvcmtlciA9
IHN0YXJ0V29ya2VyKCdyZXNvdXJjZXMvYWVzLWNmYi1pbXBvcnQta2V5LXdyYXAta2V5LmpzJyk7
CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMtY2ZiLWltcG9ydC1r
ZXktZGVjcnlwdC5qcyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJj
ZXMvYWVzLWNmYi1pbXBvcnQta2V5LWRlY3J5cHQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODM1NWQ1NzRhMTky
OTJlNDM1NzhiMDliNTg3MTY2ODM5OGQxMTg4OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvYWVzLWNmYi1pbXBvcnQta2V5LWRl
Y3J5cHQuanMKQEAgLTAsMCArMSwyNSBAQAoraW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzJyk7CitpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9yZXNvdXJj
ZXMvY29tbW9uLmpzJyk7CisKK2Rlc2NyaXB0aW9uKCJUZXN0IGRlY3J5cHRpbmcgdXNpbmcgQUVT
LUNGQiB3aXRoIGFuIGltcG9ydGVkIDEyOGJpdCBrZXkgaW4gd29ya2VycyIpOworCitqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gZmFsc2U7Cit2YXIgY2lwaGVyVGV4
dCA9IGhleFN0cmluZ1RvVWludDhBcnJheSgiYTU3MjUyNWEwYmFlZjg4ZTZmNWIxOThjNmYiKTsK
K3ZhciBhZXNDZmJQYXJhbXMgPSB7CisgICAgbmFtZTogImFlcy1jZmItOCIsCisgICAgaXY6IGFz
Y2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIiksCit9Cit2YXIgcmF3S2V5ID0gYXNj
aWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKTsKK3ZhciBleHBlY3RlZFBsYWluVGV4
dCA9ICJIZWxsbywgV29ybGQhIjsKKworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJh
d0tleSwgImFlcy1jZmItOCIsIGV4dHJhY3RhYmxlLCBbImRlY3J5cHQiXSkudGhlbihmdW5jdGlv
bihrZXkpIHsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5kZWNyeXB0KGFlc0NmYlBhcmFtcywg
a2V5LCBjaXBoZXJUZXh0KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcGxhaW5U
ZXh0ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImJ5dGVzVG9BU0NJSVN0cmluZyhwbGFpblRl
eHQpIiwgImV4cGVjdGVkUGxhaW5UZXh0Iik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9h
ZXMtY2ZiLWltcG9ydC1rZXktZW5jcnlwdC5qcyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJz
L3N1YnRsZS9yZXNvdXJjZXMvYWVzLWNmYi1pbXBvcnQta2V5LWVuY3J5cHQuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjViZGY4MzY0NTQwZTIzNGFmNTAyODM2MGVhMGYxMDAyZTI1NzY4YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvYWVzLWNm
Yi1pbXBvcnQta2V5LWVuY3J5cHQuanMKQEAgLTAsMCArMSwyNSBAQAoraW1wb3J0U2NyaXB0cygn
Li4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzJyk7CitpbXBvcnRTY3JpcHRzKCcu
Li8uLi8uLi9yZXNvdXJjZXMvY29tbW9uLmpzJyk7CisKK2Rlc2NyaXB0aW9uKCJUZXN0IGVuY3J5
cHRpbmcgdXNpbmcgQUVTLUNGQiB3aXRoIGFuIGltcG9ydGVkIDEyOGJpdCBrZXkgaW4gd29ya2Vy
cyIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gZmFsc2U7
Cit2YXIgcGxhaW5UZXh0ID0gYXNjaWlUb1VpbnQ4QXJyYXkoIkhlbGxvLCBXb3JsZCEiKTsKK3Zh
ciBhZXNDZmJQYXJhbXMgPSB7CisgICAgbmFtZTogImFlcy1jZmItOCIsCisgICAgaXY6IGFzY2lp
VG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIiksCit9Cit2YXIgcmF3S2V5ID0gYXNjaWlU
b1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKTsKK3ZhciBleHBlY3RlZENpcGhlclRleHQg
PSAiYTU3MjUyNWEwYmFlZjg4ZTZmNWIxOThjNmYiOworCitjcnlwdG8uc3VidGxlLmltcG9ydEtl
eSgicmF3IiwgcmF3S2V5LCAiYWVzLWNmYi04IiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCJdKS50
aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmVuY3J5cHQoYWVz
Q2ZiUGFyYW1zLCBrZXksIHBsYWluVGV4dCk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgewor
ICAgIGNpcGhlclRleHQgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgiYnl0ZXNUb0hleFN0cmlu
ZyhjaXBoZXJUZXh0KSIsICJleHBlY3RlZENpcGhlclRleHQiKTsKKworICAgIGZpbmlzaEpTVGVz
dCgpOworfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUv
cmVzb3VyY2VzL2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAta2V5LmpzIGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFw
LWtleS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44NzhhNDg2ZTBkYTc5YjcxYTUxMzU1MDhiNzgyYzIxNGFmODZi
N2NhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxl
L3Jlc291cmNlcy9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWtleS5qcwpAQCAtMCwwICsxLDI4
IEBACitpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMn
KTsKK2ltcG9ydFNjcmlwdHMoJy4uLy4uLy4uL3Jlc291cmNlcy9jb21tb24uanMnKTsKKworZGVz
Y3JpcHRpb24oIlRlc3QgdW53cmFwcGluZyBhIHJhdyBrZXkgd2l0aCBBRVMtQ0ZCIHVzaW5nIGFu
IGltcG9ydGVkIGtleSBpbiB3b3JrZXJzIik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2
YXIgZXh0cmFjdGFibGUgPSB0cnVlOwordmFyIGV4cGVjdGVkUmF3S2V5ID0gImpuT3c5OW9PWkZM
SUVQTXIiOwordmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFycmF5KGV4cGVjdGVkUmF3S2V5KTsK
K3ZhciBhZXNDZmJQYXJhbXMgPSB7CisgICAgbmFtZTogImFlcy1jZmItOCIsCisgICAgaXY6IGFz
Y2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIiksCit9Cit2YXIgd3JhcHBlZEtleSA9
IGhleFN0cmluZ1RvVWludDhBcnJheSgiODcwN2VlMzExZjZlOGVkMTU3ODg1YTdmYzI1ZjBlZTci
KTsKKworCitjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVzLWNmYi04
IiwgZXh0cmFjdGFibGUsIFsidW53cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24odW53cmFwcGluZ0tl
eSkgeworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgicmF3Iiwgd3JhcHBlZEtl
eSwgdW53cmFwcGluZ0tleSwgYWVzQ2ZiUGFyYW1zLCB7bmFtZTogImFlcy1jYmMifSwgZXh0cmFj
dGFibGUsIFsiZW5jcnlwdCJdKTsKK30pLnRoZW4oZnVuY3Rpb24oY3J5cHRvS2V5KSB7CisgICAg
cmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJyYXciLCBjcnlwdG9LZXkpOworfSkudGhl
bihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICB1bndyYXBwZWRLZXkgPSByZXN1bHQ7CisKKyAgICBz
aG91bGRCZSgiYnl0ZXNUb0FTQ0lJU3RyaW5nKHVud3JhcHBlZEtleSkiLCAiZXhwZWN0ZWRSYXdL
ZXkiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2Flcy1jZmItaW1wb3J0LWtleS13cmFw
LWtleS5qcyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvYWVz
LWNmYi1pbXBvcnQta2V5LXdyYXAta2V5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEwOGUxMTQ4ZGYzNjA5NTdm
ZDcxNWY4OThkZWJlNmRkNWM5MzIyNjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
cnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2Flcy1jZmItaW1wb3J0LWtleS13cmFwLWtl
eS5qcwpAQCAtMCwwICsxLDI4IEBACitpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMnKTsKK2ltcG9ydFNjcmlwdHMoJy4uLy4uLy4uL3Jlc291cmNlcy9j
b21tb24uanMnKTsKKworZGVzY3JpcHRpb24oIlRlc3Qgd3JhcHBpbmcgYSByYXcga2V5IHdpdGgg
QUVTLUNGQiB1c2luZyBhbiBpbXBvcnRlZCBrZXkgaW4gd29ya2VycyIpOworCitqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKK3ZhciByYXdLZXkgPSBhc2Np
aVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIpOwordmFyIGFlc0NmYlBhcmFtcyA9IHsK
KyAgICBuYW1lOiAiYWVzLWNmYi04IiwKKyAgICBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5
OW9PWkZMSUVQTXIiKSwKK30KK3ZhciBleHBlY3RXcmFwcGVkS2V5ID0gIjg3MDdlZTMxMWY2ZThl
ZDE1Nzg4NWE3ZmMyNWYwZWU3IjsKKworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJh
d0tleSwgImFlcy1jZmItOCIsIGV4dHJhY3RhYmxlLCBbIndyYXBLZXkiXSkudGhlbihmdW5jdGlv
bihyZXN1bHQpIHsKKyAgICB3cmFwcGluZ0tleSA9IHJlc3VsdDsKKyAgICByZXR1cm4gY3J5cHRv
LnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1jYmMiLCBleHRyYWN0YWJsZSwg
WyJlbmNyeXB0Il0pOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1
bHQ7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUud3JhcEtleSgicmF3Iiwga2V5LCB3cmFwcGlu
Z0tleSwgYWVzQ2ZiUGFyYW1zKTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgd3Jh
cHBlZEtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5nKHdyYXBw
ZWRLZXkpIiwgImV4cGVjdFdyYXBwZWRLZXkiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302198</attachid>
            <date>2017-02-20 16:26:36 -0800</date>
            <delta_ts>2017-02-21 12:06:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168344-20170220162353.patch</filename>
            <type>text/plain</type>
            <size>145099</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyNDY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGIxMGVlZTUwNTY5NmE3
NmY4Nzc1YTNkNTYyNzRkYzAxZTZkMDlkYy4uNTg3NDg5OTcwMzY3NjA5ZjE5MjIzZGFmYTUyMzBl
YjU0M2JiY2Y1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg4IEBACisyMDE3LTAyLTE0ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkNyeXB0b10gQWRk
IHN1cHBvcnQgZm9yIEFFUy1DRkIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2ODM0NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjA5NDAyMjE+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRj
aCBhZGRzIHN1cHBvcnQgZm9yIEFFUy1DRkIuIE9wZXJhdGlvbnMgb2YgQUVTLUNGQiBpbmNsdWRl
OiBlbmNyeXB0LCBkZWNyeXB0LCBnZW5lcmF0ZUtleSwKKyAgICAgICAgaW1wb3J0S2V5LCBleHBv
cnRLZXksIHdyYXBLZXksIGFuZCB1bndyYXBLZXkuIFRoaXMgaW1wbGVtZW50YXRpb24gZm9sbG93
cyBhIHNsaWdodGx5IG9sZCB2ZXJzaW9uCisgICAgICAgIG9mIFdlYkNyeXB0b0FQSSBzcGVjOiBo
dHRwczovL3d3dy53My5vcmcvVFIvMjAxNC9DUi1XZWJDcnlwdG9BUEktMjAxNDEyMTEvI2Flcy1j
ZmIuCisKKyAgICAgICAgVGVzdHM6IGNyeXB0by9zdWJ0bGUvYWVzLWNiYy1jZmItZGVjcnlwdC1t
YWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Fl
cy1jYmMtY2ZiLWVuY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbAorICAgICAgICAgICAg
ICAgY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktdW53cmFwLWp3ay1yc2Eta2V5LXB1
YmxpYy5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUt
ZXhwb3J0LWtleS1qd2stbGVuZ3RoLTEyOC5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3Vi
dGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTE5Mi5odG1sCisgICAg
ICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2st
bGVuZ3RoLTI1Ni5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmItZ2Vu
ZXJhdGUtZXhwb3J0LXJhdy1rZXkuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9h
ZXMtY2ZiLWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQuaHRtbAorICAgICAgICAgICAgICAg
Y3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWtleS5odG1sCisgICAgICAgICAgICAgICBj
cnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTEyOC5odG1sCisgICAg
ICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTE5
Mi5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1r
ZXktbGVuZ3RoLTI1Ni5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmIt
aW1wb3J0LWtleS1kZWNyeXB0Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvYWVz
LWNmYi1pbXBvcnQta2V5LWVuY3J5cHQuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRs
ZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWp3ay1rZXkuaHRtbAorICAgICAgICAgICAgICAg
Y3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLXJhdy1rZXkuaHRtbAorICAg
ICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1qd2sta2V5
Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXdy
YXAtcmF3LWtleS5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1w
b3J0LXJhdy1rZXkuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Fl
cy1jZmItaW1wb3J0LWtleS1kZWNyeXB0Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by93b3Jr
ZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktZW5jcnlwdC5odG1sCisgICAgICAgICAgICAg
ICBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXVud3JhcC1rZXkuaHRt
bAorICAgICAgICAgICAgICAgY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtl
eS13cmFwLWtleS5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFBsYXRmb3JtR1RLLmNtYWtlOgorICAgICAg
ICAqIFBsYXRmb3JtTWFjLmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgQWRkIENyeXB0b0FsZ29yaXRobUFFU19DRkIuY3BwLAorICAg
ICAgICBjaGFuZ2UgQWVzQ2JjUGFyYW1zLmlkbCB0byBBZXNDYmNDZmJQYXJhbXMuaWRsLgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Om5vcm1hbGl6ZUNyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMpOgorICAgICAgICBBZGQg
c3VwcG9ydCBmb3IgQUVTLUNGQi4KKyAgICAgICAgKiBjcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmg6
CisgICAgICAgIEluY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+LgorICAgICAgICAqIGNyeXB0by9Dcnlw
dG9BbGdvcml0aG1QYXJhbWV0ZXJzLmg6CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBBRVMtQ0ZC
LgorICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6ZW5jcnlwdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1BRVNfQ0JDOjpkZWNyeXB0KToKKyAgICAg
ICAgUmVuYW1lIENyeXB0b0FsZ29yaXRobUFlc0NiY1BhcmFtcyB0byBDcnlwdG9BbGdvcml0aG1B
ZXNDYmNDZmJQYXJhbXMuCisgICAgICAgICogY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3Jp
dGhtQUVTX0NGQi5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6dXNhZ2VzQXJlSW52YWxp
ZEZvckNyeXB0b0FsZ29yaXRobUFFU19DRkIpOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxn
b3JpdGhtQUVTX0NGQjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRo
bUFFU19DRkI6OmlkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGht
QUVTX0NGQjo6ZW5jcnlwdCk6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1BRVNf
Q0ZCOjpkZWNyeXB0KToKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUFFU19DRkI6
OmdlbmVyYXRlS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUFFU19DRkI6
OmltcG9ydEtleSk6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCOjpl
eHBvcnRLZXkpOgorICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFF
U19DRkIuaDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL2dudXRscy9DcnlwdG9BbGdvcml0aG1B
RVNfQ0ZCR251VExTLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0
aG1BRVNfQ0ZCOjpwbGF0Zm9ybUVuY3J5cHQpOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxn
b3JpdGhtQUVTX0NGQjo6cGxhdGZvcm1EZWNyeXB0KToKKyAgICAgICAgQWRkIGR1bW15IHN1cHBv
cnQgb2YgQUVTX0NGQiBmb3IgR1RLKy4KKyAgICAgICAgKiBjcnlwdG8vbWFjL0NyeXB0b0FsZ29y
aXRobUFFU19DQkNNYWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dHJhbnNmb3JtQUVTX0NCQyk6
CisgICAgICAgIERyb3AgY29uZGl0aW9uYWwgUExBVEZPUk0oQ09DT0EpLgorICAgICAgICAoV2Vi
Q29yZTo6Q3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6cGxhdGZvcm1FbmNyeXB0KToKKyAgICAgICAg
KFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUFFU19DQkM6OnBsYXRmb3JtRGVjcnlwdCk6CisgICAg
ICAgIFJlbmFtZSBDcnlwdG9BbGdvcml0aG1BZXNDYmNQYXJhbXMgdG8gQ3J5cHRvQWxnb3JpdGht
QWVzQ2JjQ2ZiUGFyYW1zLgorICAgICAgICAqIGNyeXB0by9tYWMvQ3J5cHRvQWxnb3JpdGhtQUVT
X0NGQk1hYy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6dHJhbnNmb3JtQUVTX0NGQik6
CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCOjpwbGF0Zm9ybUVuY3J5
cHQpOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtQUVTX0NGQjo6cGxhdGZvcm1E
ZWNyeXB0KToKKyAgICAgICAgKiBjcnlwdG8vbWFjL0NyeXB0b0FsZ29yaXRobVJlZ2lzdHJ5TWFj
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobVJlZ2lzdHJ5OjpwbGF0Zm9y
bVJlZ2lzdGVyQWxnb3JpdGhtcyk6CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBBRVMtQ0ZCLgor
ICAgICAgICAqIGNyeXB0by9wYXJhbWV0ZXJzL0Flc0NiY0NmYlBhcmFtcy5pZGw6IFJlbmFtZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vcGFyYW1ldGVycy9BZXNDYmNQYXJhbXMuaWRsLgor
ICAgICAgICAqIGNyeXB0by9wYXJhbWV0ZXJzL0NyeXB0b0FsZ29yaXRobUFlc0NiY0NmYlBhcmFt
cy5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3J5cHRvL3BhcmFtZXRlcnMvQ3J5cHRv
QWxnb3JpdGhtQWVzQ2JjUGFyYW1zLmguCisgICAgICAgIFNpbmNlIGRpY3Rpb25hcmllcyBBZXND
YmNQYXJhbXMgYW5kIEFlc0NmYlBhcmFtcyBhcmUgZXNzZW50aWFsbHkgdGhlIHNhbWUsIEkgY29t
YmluZSB0aGVtIHRvZ2V0aGVyIGluIG91ciBpbXBsZW1lbnRhdGlvbnMuCisKIDIwMTctMDItMTYg
IEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQ3J5cHRv
XSByZW1vdmUgdG9KU1ZhbHVlRnJvbUpzb25XZWJLZXkgZnJvbSBjdXN0b20gU3VidGxlQ3J5cHRv
IGJpbmRpbmcgY29kZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNDZkYmQ3MDU3ZTcwNjg0Mzdi
NDFjY2RhOGNkNjAwYjgzZDU5MWMwNC4uYzVlY2VjMDAzMjE5MjQ2OWE5MmZhOTc4NTRmYjg3OTU5
MTNmYjY5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTMzMCw3ICszMzAsNyBAQCBzZXQoV2Vi
Q29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIGNyeXB0by9TdWJ0bGVDcnlwdG8uaWRsCiAgICAg
Y3J5cHRvL1dlYktpdFN1YnRsZUNyeXB0by5pZGwKIAotICAgIGNyeXB0by9wYXJhbWV0ZXJzL0Fl
c0NiY1BhcmFtcy5pZGwKKyAgICBjcnlwdG8vcGFyYW1ldGVycy9BZXNDYmNDZmJQYXJhbXMuaWRs
CiAgICAgY3J5cHRvL3BhcmFtZXRlcnMvQWVzS2V5R2VuUGFyYW1zLmlkbAogICAgIGNyeXB0by9w
YXJhbWV0ZXJzL0htYWNLZXlQYXJhbXMuaWRsCiAgICAgY3J5cHRvL3BhcmFtZXRlcnMvUnNhSGFz
aGVkSW1wb3J0UGFyYW1zLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNjgz
ZTIwNjcwMmZjOTU0NDQwZGFjZTU2YzkxOWVjOTIyZWI3MDVlMS4uN2NhNTQwMTI1NDk5ZTg4OTdk
ZTVmOTlkMTM3YzdhMGQ0NDI3MjA2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBA
IC0yNjQsNyArMjY0LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvY3J5
cHRvL1JzYU90aGVyUHJpbWVzSW5mby5pZGwgXAogICAgICQoV2ViQ29yZSkvY3J5cHRvL1N1YnRs
ZUNyeXB0by5pZGwgXAogICAgICQoV2ViQ29yZSkvY3J5cHRvL1dlYktpdFN1YnRsZUNyeXB0by5p
ZGwgXAotICAgICQoV2ViQ29yZSkvY3J5cHRvL3BhcmFtZXRlcnMvQWVzQ2JjUGFyYW1zLmlkbCBc
CisgICAgJChXZWJDb3JlKS9jcnlwdG8vcGFyYW1ldGVycy9BZXNDYmNDZmJQYXJhbXMuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2NyeXB0by9wYXJhbWV0ZXJzL0Flc0tleUdlblBhcmFtcy5pZGwgXAog
ICAgICQoV2ViQ29yZSkvY3J5cHRvL3BhcmFtZXRlcnMvSG1hY0tleVBhcmFtcy5pZGwgXAogICAg
ICQoV2ViQ29yZSkvY3J5cHRvL3BhcmFtZXRlcnMvUnNhSGFzaGVkSW1wb3J0UGFyYW1zLmlkbCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9X
ZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IGE3Y2VlYjhkYmM3MzZlZmMwZmQ4OTllNmRm
MjI2YmRmMWZiZDRjMmYuLjdlNzNkNDE3MWJkOGIyYThjOTg2NmRiZGU2Y2ExM2MyNGI2MDAwYjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0zODMsNiArMzgzLDcgQEAgaWYgKEVOQUJM
RV9TVUJUTEVfQ1JZUFRPKQogICAgICAgICBjcnlwdG8vV2ViS2l0U3VidGxlQ3J5cHRvLmNwcAog
CiAgICAgICAgIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuY3BwCisg
ICAgICAgIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DRkIuY3BwCiAgICAg
ICAgIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5jcHAKICAgICAgICAg
Y3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtSE1BQy5jcHAKICAgICAgICAgY3J5cHRv
L2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNS5jcHAKQEAgLTM5Nyw2
ICszOTgsNyBAQCBpZiAoRU5BQkxFX1NVQlRMRV9DUllQVE8pCiAgICAgICAgIGNyeXB0by9nY3J5
cHQvQ3J5cHRvQWxnb3JpdGhtSE1BQ0dDcnlwdC5jcHAKIAogICAgICAgICBjcnlwdG8vZ251dGxz
L0NyeXB0b0FsZ29yaXRobUFFU19DQkNHbnVUTFMuY3BwCisgICAgICAgIGNyeXB0by9nbnV0bHMv
Q3J5cHRvQWxnb3JpdGhtQUVTX0NGQkdudVRMUy5jcHAKICAgICAgICAgY3J5cHRvL2dudXRscy9D
cnlwdG9BbGdvcml0aG1BRVNfS1dHbnVUTFMuY3BwCiAgICAgICAgIGNyeXB0by9nbnV0bHMvQ3J5
cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNUdudVRMUy5jcHAKICAgICAgICAgY3J5cHRvL2du
dXRscy9DcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNUdudVRMUy5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxh
dGZvcm1NYWMuY21ha2UKaW5kZXggNDNjNDMyNDcxZTY5ZDU3YzEwOTc5ZjM3MjBhZWViNTZmMWUy
ZTMxMC4uODYwOGI5MjRhYjlhZGFhOTFjMjJjOTE1MDg3ZGZlNTU5NDZlOWRiYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1NYWMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUv
UGxhdGZvcm1NYWMuY21ha2UKQEAgLTE3OSw2ICsxNzksNyBAQCBsaXN0KEFQUEVORCBXZWJDb3Jl
X1NPVVJDRVMKICAgICBjcnlwdG8vV2ViS2l0U3VidGxlQ3J5cHRvLmNwcAogCiAgICAgY3J5cHRv
L2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5jcHAKKyAgICBjcnlwdG8vYWxnb3Jp
dGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfQ0ZCLmNwcAogICAgIGNyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobUFFU19LVy5jcHAKICAgICBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdv
cml0aG1ITUFDLmNwcAogICAgIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQUVT
X1BLQ1MxX3YxXzUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggMmI1ZDg0ZDdmYmRjMWZmZGJlZmUwZWVlYzllZjdkOTYxODYw
YjA0Yy4uZGZmNjRiZGQ5MDIyMTdhNGQwNTcwNWQ1NzkwYjY0N2EyZjBiYzgxZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjMy
Miw2ICsyMzIyLDEwIEBACiAJCTU1OTdGODI3MUQ5MUMzMTMwMDY2QkMyMSAvKiBJbWFnZUZyYW1l
Q2FjaGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU1
OTdGODI1MUQ5MUMzMTMwMDY2QkMyMSAvKiBJbWFnZUZyYW1lQ2FjaGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1NUEzMzZGNzFEODIwOUY0MDAy
MkM0QzcgLyogTmF0aXZlSW1hZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDU1QTMzNkY2MUQ4MjA5RjQwMDIyQzRDNyAvKiBOYXRpdmVJbWFnZS5oICov
OyB9OwogCQk1NUEzMzZGOTFEODIxRTNDMDAyMkM0QzcgLyogSW1hZ2VCYWNraW5nU3RvcmUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU1QTMzNkY4MUQ4
MjFFM0MwMDIyQzRDNyAvKiBJbWFnZUJhY2tpbmdTdG9yZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTU3MDQ0MDUzMUU1Mjc4QjIwMDM1NjYwMSAv
KiBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDU3MTI1MjZBMUU1MjUyN0MwMDhGRjM2OSAvKiBDcnlwdG9BbGdv
cml0aG1BRVNfQ0ZCLmNwcCAqLzsgfTsKKwkJNTcwNDQwNTgxRTUzODUxNjAwMzU2NjAxIC8qIENy
eXB0b0FsZ29yaXRobUFFU19DRkJNYWMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTcwNDQwNTcxRTUzODUxNjAwMzU2NjAxIC8qIENyeXB0b0FsZ29y
aXRobUFFU19DRkJNYWMuY3BwICovOyB9OworCQk1NzA0NDA1QTFFNTM5MzYyMDAzNTY2MDEgLyog
SlNBZXNDYmNDZmJQYXJhbXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU3MDQ0MDU5MUU1MzkzNjIwMDM1NjYwMSAvKiBKU0Flc0NiY0NmYlBhcmFtcy5o
ICovOyB9OworCQk1NzA0NDA1QzFFNTM5Mzc5MDAzNTY2MDEgLyogSlNBZXNDYmNDZmJQYXJhbXMu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcwNDQw
NUIxRTUzOTM3OTAwMzU2NjAxIC8qIEpTQWVzQ2JjQ2ZiUGFyYW1zLmNwcCAqLzsgfTsKIAkJNTcw
NkE2OTYxRERFNUM5NTAwQTAzQjE0IC8qIENyeXB0b0FsZ29yaXRobVJzYU9hZXBQYXJhbXMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MDZBNjk1MURE
RTVDOTUwMEEwM0IxNCAvKiBDcnlwdG9BbGdvcml0aG1Sc2FPYWVwUGFyYW1zLmggKi87IH07CiAJ
CTU3MDZBNjk4MURERTVFNDYwMEEwM0IxNCAvKiBKU1JzYU9hZXBQYXJhbXMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MDZBNjk3MURERTVFNDYwMEEw
M0IxNCAvKiBKU1JzYU9hZXBQYXJhbXMuaCAqLzsgfTsKIAkJNTcwNkE2OUExRERFNUU4NTAwQTAz
QjE0IC8qIEpTUnNhT2FlcFBhcmFtcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1NzA2QTY5OTFEREU1RTg1MDBBMDNCMTQgLyogSlNSc2FPYWVwUGFy
YW1zLmNwcCAqLzsgfTsKQEAgLTIzMzAsMTEgKzIzMzQsMTAgQEAKIAkJNTcwOUU4Q0YxRDQxM0Q5
QTAwMzI0NEFDIC8qIFdlYktpdFN1YnRsZUNyeXB0by5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcwOUU4Q0IxRDQxM0NFMzAwMzI0NEFDIC8qIFdlYktp
dFN1YnRsZUNyeXB0by5oICovOyB9OwogCQk1NzBBOTlEQTFENDE3NDA4MDA0RUM2MzAgLyogSlNX
ZWJLaXRTdWJ0bGVDcnlwdG8uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTFGRjhGNjIxODA3NDVEODAwMTMyNjc0IC8qIEpTV2ViS2l0U3VidGxlQ3J5
cHRvLmNwcCAqLzsgfTsKIAkJNTcwQTk5REIxRDQxQTJGMzAwNEVDNjMwIC8qIEpTV2ViS2l0U3Vi
dGxlQ3J5cHRvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFMUZGOEY2MzE4MDc0NUQ4MDAxMzI2NzQgLyogSlNXZWJLaXRTdWJ0bGVDcnlwdG8uaCAqLzsg
fTsKKwkJNTcxMjUyNjkxRTUyNEVCMTAwOEZGMzY5IC8qIENyeXB0b0FsZ29yaXRobUFFU19DRkIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MTI1MjY4
MUU1MjRFQjEwMDhGRjM2OSAvKiBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCLmggKi87IH07CiAJCTU3
MUYyMTg5MURBNTdDNTQwMDVDOUVGRCAvKiBKU1N1YnRsZUNyeXB0by5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcxRjIxODgxREE1N0M1NDAwNUM5RUZE
IC8qIEpTU3VidGxlQ3J5cHRvLmggKi87IH07CiAJCTU3MUYyMThCMURBNTdDN0IwMDVDOUVGRCAv
KiBKU1N1YnRsZUNyeXB0by5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1NzFGMjE4QTFEQTU3QzdBMDA1QzlFRkQgLyogSlNTdWJ0bGVDcnlwdG8uY3Bw
ICovOyB9OwotCQk1NzIwOTNEMzFERENFQjlBMDAzMTBBQjAgLyogQ3J5cHRvQWxnb3JpdGhtQWVz
Q2JjUGFyYW1zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1NzIwOTNEMjFERENFQjlBMDAzMTBBQjAgLyogQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjUGFyYW1z
LmggKi87IH07Ci0JCTU3MjA5M0Q1MUREQ0VEOEUwMDMxMEFCMCAvKiBKU0Flc0NiY1BhcmFtcy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcyMDkzRDQx
RERDRUQ4RTAwMzEwQUIwIC8qIEpTQWVzQ2JjUGFyYW1zLmggKi87IH07Ci0JCTU3MjA5M0Q3MURE
Q0VEQTcwMDMxMEFCMCAvKiBKU0Flc0NiY1BhcmFtcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzIwOTNENjFERENFREE3MDAzMTBBQjAgLyogSlNB
ZXNDYmNQYXJhbXMuY3BwICovOyB9OworCQk1NzIwOTNEMzFERENFQjlBMDAzMTBBQjAgLyogQ3J5
cHRvQWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1NzIwOTNEMjFERENFQjlBMDAzMTBBQjAgLyogQ3J5cHRvQWxn
b3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zLmggKi87IH07CiAJCTU3MkE3RjIxMUM2RTU3MTkwMDlDNjE0
OSAvKiBTaW11bGF0ZWRDbGljay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTcyQTdGMjAxQzZFNTcxOTAwOUM2MTQ5IC8qIFNpbXVsYXRlZENsaWNrLmgg
Ki87IH07CiAJCTU3MkE3RjIzMUM2RTVBNjYwMDlDNjE0OSAvKiBTaW11bGF0ZWRDbGljay5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzJBN0YyMjFD
NkU1QTY2MDA5QzYxNDkgLyogU2ltdWxhdGVkQ2xpY2suY3BwICovOyB9OwogCQk1NzM0ODkzOTFE
QUM2QjZFMDBEQzA2NjcgLyogQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTczNDg5MzgxREFDNkI2RDAwREMw
NjY3IC8qIENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMuaCAqLzsgfTsKQEAgLTk2NzMsNiArOTY3
Niw5IEBACiAJCTU1QTMzNkY2MUQ4MjA5RjQwMDIyQzRDNyAvKiBOYXRpdmVJbWFnZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXRpdmVJbWFnZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk1NUEzMzZGODFEODIxRTNDMDAyMkM0QzcgLyogSW1hZ2VCYWNraW5n
U3RvcmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW1hZ2VCYWNraW5nU3Rv
cmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTVENDA4RjcxQTdDNjMxODAwQzc4
NDUwIC8qIFNWR0ltYWdlQ2xpZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTVkdJbWFnZUNsaWVudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTcwNDQw
NTcxRTUzODUxNjAwMzU2NjAxIC8qIENyeXB0b0FsZ29yaXRobUFFU19DRkJNYWMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQk1h
Yy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MDQ0MDU5MUU1MzkzNjIwMDM1
NjYwMSAvKiBKU0Flc0NiY0NmYlBhcmFtcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0Flc0NiY0NmYlBhcmFtcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1
NzA0NDA1QjFFNTM5Mzc5MDAzNTY2MDEgLyogSlNBZXNDYmNDZmJQYXJhbXMuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBZXNDYmNDZmJQYXJhbXMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzA2QTY5NDFEREU1QkY4MDBBMDNCMTQgLyogUnNh
T2FlcFBhcmFtcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gUnNhT2FlcFBhcmFtcy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTU3MDZBNjk1MURERTVDOTUwMEEwM0IxNCAvKiBDcnlwdG9BbGdvcml0aG1S
c2FPYWVwUGFyYW1zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENyeXB0b0Fs
Z29yaXRobVJzYU9hZXBQYXJhbXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTcw
NkE2OTcxRERFNUU0NjAwQTAzQjE0IC8qIEpTUnNhT2FlcFBhcmFtcy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU1JzYU9hZXBQYXJhbXMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTk2ODAsMTIgKzk2ODYsMTIgQEAKIAkJNTcwOUU4Q0ExRDQxM0NFMzAwMzI0
NEFDIC8qIFdlYktpdFN1YnRsZUNyeXB0by5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXZWJLaXRTdWJ0bGVDcnlwdG8uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1NzA5RThDQjFENDEzQ0UzMDAzMjQ0QUMgLyogV2ViS2l0U3VidGxlQ3J5cHRvLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdFN1YnRsZUNyeXB0by5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzA5RThDQzFENDEzQ0UzMDAzMjQ0QUMgLyog
V2ViS2l0U3VidGxlQ3J5cHRvLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJLaXRTdWJ0
bGVDcnlwdG8uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzEyNTI2ODFFNTI0
RUIxMDA4RkYzNjkgLyogQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTU3MTI1MjZBMUU1MjUyN0MwMDhGRjM2OSAvKiBDcnlwdG9BbGdvcml0
aG1BRVNfQ0ZCLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENyeXB0
b0FsZ29yaXRobUFFU19DRkIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzFG
MjE4ODFEQTU3QzU0MDA1QzlFRkQgLyogSlNTdWJ0bGVDcnlwdG8uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNTdWJ0bGVDcnlwdG8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTcxRjIxOEExREE1N0M3QTAwNUM5RUZEIC8qIEpTU3VidGxlQ3J5cHRvLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU3VidGxlQ3J5cHRvLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTcyMDkzRDExRERDRUE0QjAwMzEwQUIwIC8q
IEFlc0NiY1BhcmFtcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQWVzQ2JjUGFyYW1zLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJNTcyMDkzRDIxRERDRUI5QTAwMzEwQUIwIC8qIENyeXB0b0FsZ29yaXRo
bUFlc0NiY1BhcmFtcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcnlwdG9B
bGdvcml0aG1BZXNDYmNQYXJhbXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTcy
MDkzRDQxRERDRUQ4RTAwMzEwQUIwIC8qIEpTQWVzQ2JjUGFyYW1zLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTQWVzQ2JjUGFyYW1zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTU3MjA5M0Q2MUREQ0VEQTcwMDMxMEFCMCAvKiBKU0Flc0NiY1BhcmFtcy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Flc0NiY1BhcmFtcy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MjA5M0QxMUREQ0VBNEIwMDMxMEFCMCAv
KiBBZXNDYmNDZmJQYXJhbXMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFlc0NiY0NmYlBhcmFtcy5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MjA5M0QyMUREQ0VCOUEwMDMxMEFCMCAvKiBDcnlwdG9B
bGdvcml0aG1BZXNDYmNDZmJQYXJhbXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTU3MkE3RjIwMUM2RTU3MTkwMDlDNjE0OSAvKiBTaW11bGF0ZWRDbGljay5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTaW11bGF0ZWRDbGljay5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1NzJBN0YyMjFDNkU1QTY2MDA5QzYxNDkgLyogU2ltdWxh
dGVkQ2xpY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2ltdWxh
dGVkQ2xpY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzM0ODkzODFEQUM2
QjZEMDBEQzA2NjcgLyogQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzM1OCw2ICsyMzM2NCw3IEBACiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCUUxMjVGODQzMTgyNDI1QzkwMEQ4NENEOSAvKiBD
cnlwdG9BbGdvcml0aG1BRVNfQ0JDTWFjLmNwcCAqLywKKwkJCQk1NzA0NDA1NzFFNTM4NTE2MDAz
NTY2MDEgLyogQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQk1hYy5jcHAgKi8sCiAJCQkJRTFGRTEzN0Mx
ODREMjcwMjAwODkyRjEzIC8qIENyeXB0b0FsZ29yaXRobUFFU19LV01hYy5jcHAgKi8sCiAJCQkJ
RTEyNUY4MzcxODIyRjFFQjAwRDg0Q0Q5IC8qIENyeXB0b0FsZ29yaXRobUhNQUNNYWMuY3BwICov
LAogCQkJCUUxQkI4NEFDMTgyMkNBNzQwMDUyNTA0MyAvKiBDcnlwdG9BbGdvcml0aG1SZWdpc3Ry
eU1hYy5jcHAgKi8sCkBAIC0yMzM3Niw2ICsyMzM4Myw4IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJ
CQlFMTI1RjgzRjE4MjQyNTNBMDBEODRDRDkgLyogQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5jcHAg
Ki8sCiAJCQkJRTEyNUY4NDAxODI0MjUzQTAwRDg0Q0Q5IC8qIENyeXB0b0FsZ29yaXRobUFFU19D
QkMuaCAqLywKKwkJCQk1NzEyNTI2QTFFNTI1MjdDMDA4RkYzNjkgLyogQ3J5cHRvQWxnb3JpdGht
QUVTX0NGQi5jcHAgKi8sCisJCQkJNTcxMjUyNjgxRTUyNEVCMTAwOEZGMzY5IC8qIENyeXB0b0Fs
Z29yaXRobUFFU19DRkIuaCAqLywKIAkJCQlFMUZFMTM3ODE4NEQyMUJCMDA4OTJGMTMgLyogQ3J5
cHRvQWxnb3JpdGhtQUVTX0tXLmNwcCAqLywKIAkJCQlFMUZFMTM3OTE4NEQyMUJCMDA4OTJGMTMg
LyogQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmggKi8sCiAJCQkJRTEyNUY4MkYxODIyRjExQjAwRDg0
Q0Q5IC8qIENyeXB0b0FsZ29yaXRobUhNQUMuY3BwICovLApAQCAtMjM0MjIsOSArMjM0MzEsOSBA
QAogCQlFMUM2NTcxNDE4MTYwMTVGMDAyNTZDREQgLyogcGFyYW1ldGVycyAqLyA9IHsKIAkJCWlz
YSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJNTcyMDkzRDExRERDRUE0QjAwMzEw
QUIwIC8qIEFlc0NiY1BhcmFtcy5pZGwgKi8sCisJCQkJNTcyMDkzRDExRERDRUE0QjAwMzEwQUIw
IC8qIEFlc0NiY0NmYlBhcmFtcy5pZGwgKi8sCiAJCQkJNTc3NDgzMTAxREFEQzQ5OTAwNzE2RUY5
IC8qIEFlc0tleUdlblBhcmFtcy5pZGwgKi8sCi0JCQkJNTcyMDkzRDIxRERDRUI5QTAwMzEwQUIw
IC8qIENyeXB0b0FsZ29yaXRobUFlc0NiY1BhcmFtcy5oICovLAorCQkJCTU3MjA5M0QyMUREQ0VC
OUEwMDMxMEFCMCAvKiBDcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXMuaCAqLywKIAkJCQlF
MTI1RjgzOTE4MjQxMDQ4MDBEODRDRDkgLyogQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjUGFyYW1zRGVw
cmVjYXRlZC5oICovLAogCQkJCTU3NzQ4MzExMURBREM1NUQwMDcxNkVGOSAvKiBDcnlwdG9BbGdv
cml0aG1BZXNLZXlHZW5QYXJhbXMuaCAqLywKIAkJCQlFMTlBQzNGNjE4MjRFNUQxMDAzNDk0MjYg
LyogQ3J5cHRvQWxnb3JpdGhtQWVzS2V5R2VuUGFyYW1zRGVwcmVjYXRlZC5oICovLApAQCAtMjM1
OTksOCArMjM2MDgsOCBAQAogCQlFMUZGOEY2MTE4MDc0NUM2MDAxMzI2NzQgLyogQ3J5cHRvICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQk1NzIwOTNENjFE
RENFREE3MDAzMTBBQjAgLyogSlNBZXNDYmNQYXJhbXMuY3BwICovLAotCQkJCTU3MjA5M0Q0MURE
Q0VEOEUwMDMxMEFCMCAvKiBKU0Flc0NiY1BhcmFtcy5oICovLAorCQkJCTU3MDQ0MDVCMUU1Mzkz
NzkwMDM1NjYwMSAvKiBKU0Flc0NiY0NmYlBhcmFtcy5jcHAgKi8sCisJCQkJNTcwNDQwNTkxRTUz
OTM2MjAwMzU2NjAxIC8qIEpTQWVzQ2JjQ2ZiUGFyYW1zLmggKi8sCiAJCQkJNTc3NDgzMTUxREFF
QzMyMjAwNzE2RUY5IC8qIEpTQWVzS2V5R2VuUGFyYW1zLmNwcCAqLywKIAkJCQk1Nzc0ODMxMzFE
QUVDMkVBMDA3MTZFRjkgLyogSlNBZXNLZXlHZW5QYXJhbXMuaCAqLywKIAkJCQk1NzM5RTEzMDFE
QUM3RkQxMDBFMTQzODMgLyogSlNDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmNwcCAqLywKQEAg
LTI1NDA0LDYgKzI1NDEzLDcgQEAKIAkJCQk3Qzc3QzNEMTFERUU0NzI0MDBBNTBCRkEgLyogQmxv
YlByb3BlcnR5QmFnLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRURFRjFGNTEyMUIwRUZDMDA3MjZE
QjIgLyogQmxvYlJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRURFRjFGNzEyMUIwRUZD
MDA3MjZEQjIgLyogQmxvYlJlZ2lzdHJ5SW1wbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTcwNDQw
NUExRTUzOTM2MjAwMzU2NjAxIC8qIEpTQWVzQ2JjQ2ZiUGFyYW1zLmggaW4gSGVhZGVycyAqLywK
IAkJCQkyRUI0QkNEMzEyMUYwM0UzMDBFQzQ4ODUgLyogQmxvYlJlc291cmNlSGFuZGxlLmggaW4g
SGVhZGVycyAqLywKIAkJCQk5NzZENkM3RjEyMkI4QTNEMDAxRkQxRjcgLyogQmxvYlVSTC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkM1RUI1RTEwRTgxQkU4NzAwQjI1OTY1IC8qIEJvcmRlckRhdGEu
aCBpbiBIZWFkZXJzICovLApAQCAtMjU1OTUsNyArMjU2MDUsNyBAQAogCQkJCUUxNzJBRjZFMTgw
RjI0QzYwMEZCQURCOSAvKiBDcnlwdG9BbGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAogCQkJCUUx
MjVGODQyMTgyNDI1M0EwMEQ4NENEOSAvKiBDcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFMUZFMTM3QjE4NEQyMUJCMDA4OTJGMTMgLyogQ3J5cHRvQWxnb3JpdGht
QUVTX0tXLmggaW4gSGVhZGVycyAqLywKLQkJCQk1NzIwOTNEMzFERENFQjlBMDAzMTBBQjAgLyog
Q3J5cHRvQWxnb3JpdGhtQWVzQ2JjUGFyYW1zLmggaW4gSGVhZGVycyAqLywKKwkJCQk1NzIwOTNE
MzFERENFQjlBMDAzMTBBQjAgLyogQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zLmggaW4g
SGVhZGVycyAqLywKIAkJCQlFMTI1RjgzQTE4MjQxMDQ4MDBEODRDRDkgLyogQ3J5cHRvQWxnb3Jp
dGhtQWVzQ2JjUGFyYW1zRGVwcmVjYXRlZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTc3NDgzMTIx
REFEQzU1RDAwNzE2RUY5IC8qIENyeXB0b0FsZ29yaXRobUFlc0tleUdlblBhcmFtcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRTE5QUMzRjcxODI0RTVEMTAwMzQ5NDI2IC8qIENyeXB0b0FsZ29yaXRo
bUFlc0tleUdlblBhcmFtc0RlcHJlY2F0ZWQuaCBpbiBIZWFkZXJzICovLApAQCAtMjY0NDUsNyAr
MjY0NTUsNiBAQAogCQkJCTQ0RUZGNjQzMUE2RkY5MjcwMEQ0NUVFQyAvKiBJT1R5cGVzU1BJLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwN0FDNDcwMjE5NTIxMDIxMDBFRTk3MjMgLyogSVNPVlRUQ3Vl
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MThGODgwNTBGRjk1N0FGMDA4MEYwNDUgLyogSlNBYnN0
cmFjdFdvcmtlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTcyMDkzRDUxRERDRUQ4RTAwMzEwQUIw
IC8qIEpTQWVzQ2JjUGFyYW1zLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Nzc0ODMxNDFEQUVDMkVC
MDA3MTZFRjkgLyogSlNBZXNLZXlHZW5QYXJhbXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEQTE1
RUNBMTJCMDNGNTAwMDNBNTgzQSAvKiBKU0FuYWx5c2VyTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMTJBMjUzRTMxQzhGRkY2NjAwQzIyMjk1IC8qIEpTQW5pbWF0YWJsZS5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yNzgyMiw2ICsyNzgzMSw3IEBACiAJCQkJMDgzREFFQTkwRjAxQTdGQjAwMzQyNzU0
IC8qIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNF
QTQ4OEUwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlclRleHRGcmFnbWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRTRDOTFBMTYxODA5OTlGMTAwQTE3RjZEIC8qIFJlbmRlclRleHRMaW5lQm94ZXMu
aCBpbiBIZWFkZXJzICovLAorCQkJCTU3MTI1MjY5MUU1MjRFQjEwMDhGRjM2OSAvKiBDcnlwdG9B
bGdvcml0aG1BRVNfQ0ZCLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VBNDg4QTA5N0Q5MzAyMDA5
NEM5RTQgLyogUmVuZGVyVGhlbWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMjk5RkU4MUQ3RjVG
QTYwMEE2MDA5MyAvKiBSZW5kZXJUaGVtZUNvY29hLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRUQx
M0Q1MjBDRUE5NDk3MDBEODk0NjYgLyogUmVuZGVyVGhlbWVJT1MuaCBpbiBIZWFkZXJzICovLApA
QCAtMjkyMDMsNiArMjkyMTMsNyBAQAogCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CiAJ
CQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJNTcwNDQw
NTMxRTUyNzhCMjAwMzU2NjAxIC8qIENyeXB0b0FsZ29yaXRobUFFU19DRkIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNDFFMUIxRDAwRkY1OTg2OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2VyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTM3RjU3QUI5MUE1MDcyNjkwMDg3NkY5OCAvKiBBY2Nlc3Np
YmlsaXR5QVJJQUdyaWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzdGNTdBQkExQTUwNzI2RjAw
ODc2Rjk4IC8qIEFjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwuY3BwIGluIFNvdXJjZXMgKi8sCkBA
IC0yOTkxNyw2ICsyOTkyOCw3IEBACiAJCQkJRDAwMEVCQTIxMUJEQUZENDAwQzQ3NzI2IC8qIEZy
YW1lTG9hZGVyU3RhdGVNYWNoaW5lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg2QkE3NjZFMTY2
NDI3QTgwMDVCRTVEMSAvKiBGcmFtZUxvYWRSZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTkzMzA5RTBEMDk5RTY0OTIwMDU2RTU4MSAvKiBGcmFtZVNlbGVjdGlvbi5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk1NzA0NDA1ODFFNTM4NTE2MDAzNTY2MDEgLyogQ3J5cHRvQWxnb3JpdGhtQUVT
X0NGQk1hYy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0QThDOTZFQjBCRTY5MDMyMDA0RUVGRjAg
LyogRnJhbWVTZWxlY3Rpb25NYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlDNENENjI5QTE4Mzgz
NzY2MDA3RUJBRjEgLyogRnJhbWVTbmFwc2hvdHRpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NjVBMjE0ODQwOTdBM0Y1MzAwQjkwNTBBIC8qIEZyYW1lVHJlZS5jcHAgaW4gU291cmNlcyAqLywK
QEAgLTMwMjM5LDcgKzMwMjUxLDYgQEAKIAkJCQlBRDlGRjZFMTE5MDgzOTFEMDAzQjYxRTAgLyog
SU9TdXJmYWNlUG9vbENvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdBQzQ3MDExOTUyMTAy
MTAwRUU5NzIzIC8qIElTT1ZUVEN1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MThGODgwNDBG
Rjk1N0FFMDA4MEYwNDUgLyogSlNBYnN0cmFjdFdvcmtlci5jcHAgaW4gU291cmNlcyAqLywKLQkJ
CQk1NzIwOTNENzFERENFREE3MDAzMTBBQjAgLyogSlNBZXNDYmNQYXJhbXMuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTc3NDgzMTYxREFFQzMyMzAwNzE2RUY5IC8qIEpTQWVzS2V5R2VuUGFyYW1z
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEQTE1RUM5MTJCMDNGNTAwMDNBNTgzQSAvKiBKU0Fu
YWx5c2VyTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMUE3OTVDNjE4ODhCQURDMDAzODJG
OTAgLyogSlNBTkdMRUluc3RhbmNlZEFycmF5cy5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMxMzEx
LDYgKzMxMzIyLDcgQEAKIAkJCQkxQThBNjQ2QzFEMTlGRjg3MDBEMEUwMEYgLyogUGF5bWVudENv
Y29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE4QTY0NkQxRDE5RkY4NzAwRDBFMDBGIC8qIFBh
eW1lbnRDb250YWN0Q29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQTU4RTg2RDFEMTlFNDJE
MDBDMEVBNzMgLyogUGF5bWVudENvb3JkaW5hdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTU3
MDQ0MDVDMUU1MzkzNzkwMDM1NjYwMSAvKiBKU0Flc0NiY0NmYlBhcmFtcy5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkxQURBNEExQzFEMjJGMkMwMDA1QTlBMTUgLyogUGF5bWVudE1lcmNoYW50U2Vz
c2lvbkNvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE4QTY0NkUxRDE5RkY4NzAwRDBFMDBG
IC8qIFBheW1lbnRNZXRob2RDb2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBNThFODY3MUQx
OUQ4MEUwMEMwRUE3MyAvKiBQYXltZW50UmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcApp
bmRleCA4NmI5NWQ3MWE2MjI1ZmQzZDg1ZjllMWZjNGE4NmVhYjY3YTEyZjE1Li4wNWY2ZmU2N2Qw
NzYxYzNkMWMwY2NmY2JmZTcyNzI5Yzk0YzExMWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwCkBAIC0zMCw3ICszMCw3IEBA
CiAKICNpbmNsdWRlICJDcnlwdG9BbGdvcml0aG0uaCIKICNpbmNsdWRlICJDcnlwdG9BbGdvcml0
aG1SZWdpc3RyeS5oIgotI2luY2x1ZGUgIkpTQWVzQ2JjUGFyYW1zLmgiCisjaW5jbHVkZSAiSlNB
ZXNDYmNDZmJQYXJhbXMuaCIKICNpbmNsdWRlICJKU0Flc0tleUdlblBhcmFtcy5oIgogI2luY2x1
ZGUgIkpTQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIkpTQ3J5cHRvS2V5
LmgiCkBAIC0xMTMsMTAgKzExMywxMSBAQCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0Fs
Z29yaXRobVBhcmFtZXRlcnM+IG5vcm1hbGl6ZUNyeXB0b0FsZ29yaXRobVBhcmFtZQogICAgICAg
ICAgICAgICAgIHJlc3VsdCA9IHN0ZDo6bWFrZV91bmlxdWU8Q3J5cHRvQWxnb3JpdGhtUnNhT2Fl
cFBhcmFtcz4ocGFyYW1zKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6QUVTX0NCQzogewot
ICAgICAgICAgICAgICAgIGF1dG8gcGFyYW1zID0gY29udmVydERpY3Rpb25hcnk8Q3J5cHRvQWxn
b3JpdGhtQWVzQ2JjUGFyYW1zPihzdGF0ZSwgdmFsdWUpOworICAgICAgICAgICAgY2FzZSBDcnlw
dG9BbGdvcml0aG1JZGVudGlmaWVyOjpBRVNfQ0JDOgorICAgICAgICAgICAgY2FzZSBDcnlwdG9B
bGdvcml0aG1JZGVudGlmaWVyOjpBRVNfQ0ZCOiB7CisgICAgICAgICAgICAgICAgYXV0byBwYXJh
bXMgPSBjb252ZXJ0RGljdGlvbmFyeTxDcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXM+KHN0
YXRlLCB2YWx1ZSk7CiAgICAgICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
bnVsbHB0cik7Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gc3RkOjptYWtlX3VuaXF1ZTxDcnlw
dG9BbGdvcml0aG1BZXNDYmNQYXJhbXM+KHBhcmFtcyk7CisgICAgICAgICAgICAgICAgcmVzdWx0
ID0gc3RkOjptYWtlX3VuaXF1ZTxDcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXM+KHBhcmFt
cyk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBk
ZWZhdWx0OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRo
bS5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRobS5oCmluZGV4IGE4ZDIz
MjcyZTdlZThmMGFhZTA4NTNiY2U4ZWVlYjhjZDY2NWVkNDcuLjgxOWYzNzcxNGVmYzJiODdiNTFm
NzgxY2QwYmIzZmNlNjYxZTA2ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9D
cnlwdG9BbGdvcml0aG0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3Jp
dGhtLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJKc29uV2ViS2V5LmgiCiAjaW5jbHVk
ZSAiU3VidGxlQ3J5cHRvLmgiCiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CisjaW5jbHVkZSA8
d3RmL1ZhcmlhbnQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL1dv
cmtRdWV1ZS5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxn
b3JpdGhtUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRo
bVBhcmFtZXRlcnMuaAppbmRleCBiOTQxNTIxMDQ2MmIzZTg2ZmViOGE0N2I1NmUzM2UwMzkwZDM4
NjE0Li42NzIyNGZlZjEwODE4NjJiODM3MGVkNmJiMTI1NTlkNzBhZDk1ZTNhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmgKQEAgLTM3
LDcgKzM3LDcgQEAgY2xhc3MgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyB7CiBwdWJsaWM6CiAg
ICAgZW51bSBjbGFzcyBDbGFzcyB7CiAgICAgICAgIE5vbmUsCi0gICAgICAgIEFlc0NiY1BhcmFt
cywKKyAgICAgICAgQWVzQ2JjQ2ZiUGFyYW1zLAogICAgICAgICBBZXNLZXlHZW5QYXJhbXMsCiAg
ICAgICAgIEhtYWNLZXlQYXJhbXMsCiAgICAgICAgIFJzYUhhc2hlZEtleUdlblBhcmFtcywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRo
bUFFU19DQkMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxn
b3JpdGhtQUVTX0NCQy5jcHAKaW5kZXggNTEzOTcwNDQ4ZTc0NDlhM2EwZDQyOWM4NTVlZWY1YWM2
YzY1MTJlNC4uNGZiOGM5MTI3NDBmMmZkZWY5YjcxMGY4OWZkY2I3MGEwNmE5MWU4OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVT
X0NCQy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxn
b3JpdGhtQUVTX0NCQy5jcHAKQEAgLTI4LDcgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShTVUJUTEVf
Q1JZUFRPKQogCi0jaW5jbHVkZSAiQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjUGFyYW1zLmgiCisjaW5j
bHVkZSAiQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zLmgiCiAjaW5jbHVkZSAiQ3J5cHRv
QWxnb3JpdGhtQWVzQ2JjUGFyYW1zRGVwcmVjYXRlZC5oIgogI2luY2x1ZGUgIkNyeXB0b0FsZ29y
aXRobUFlc0tleUdlblBhcmFtcy5oIgogI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFlc0tleUdl
blBhcmFtc0RlcHJlY2F0ZWQuaCIKQEAgLTY5LDcgKzY5LDcgQEAgYm9vbCBDcnlwdG9BbGdvcml0
aG1BRVNfQ0JDOjprZXlBbGdvcml0aG1NYXRjaGVzKGNvbnN0IENyeXB0b0FsZ29yaXRobUFlc0Ni
Y1BhcmEKIHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6ZW5jcnlwdChzdGQ6OnVuaXF1ZV9w
dHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzLCBSZWY8Q3J5cHRvS2V5
PiYmIGtleSwgVmVjdG9yPHVpbnQ4X3Q+JiYgcGxhaW5UZXh0LCBWZWN0b3JDYWxsYmFjayYmIGNh
bGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrLCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBjb250ZXh0LCBXb3JrUXVldWUmIHdvcmtRdWV1ZSkKIHsKICAgICBBU1NF
UlQocGFyYW1ldGVycyk7Ci0gICAgYXV0byYgYWVzUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0
b0FsZ29yaXRobUFlc0NiY1BhcmFtcz4oKnBhcmFtZXRlcnMpOworICAgIGF1dG8mIGFlc1BhcmFt
ZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXM+KCpwYXJhbWV0
ZXJzKTsKICAgICBpZiAoYWVzUGFyYW1ldGVycy5pdlZlY3RvcigpLnNpemUoKSAhPSBJVlNJWkUp
IHsKICAgICAgICAgZXhjZXB0aW9uQ2FsbGJhY2soT3BlcmF0aW9uRXJyb3IpOwogICAgICAgICBy
ZXR1cm47CkBAIC04MCw3ICs4MCw3IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6ZW5j
cnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mCiB2b2lkIENy
eXB0b0FsZ29yaXRobUFFU19DQkM6OmRlY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29y
aXRobVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycywgUmVmPENyeXB0b0tleT4mJiBrZXksIFZlY3Rv
cjx1aW50OF90PiYmIGNpcGhlclRleHQsIFZlY3RvckNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2Vw
dGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQsIFdvcmtRdWV1ZSYgd29ya1F1ZXVlKQogewogICAgIEFTU0VSVChwYXJhbWV0ZXJz
KTsKLSAgICBhdXRvJiBhZXNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtQWVz
Q2JjUGFyYW1zPigqcGFyYW1ldGVycyk7CisgICAgYXV0byYgYWVzUGFyYW1ldGVycyA9IGRvd25j
YXN0PENyeXB0b0FsZ29yaXRobUFlc0NiY0NmYlBhcmFtcz4oKnBhcmFtZXRlcnMpOwogICAgIGlm
IChhZXNQYXJhbWV0ZXJzLml2VmVjdG9yKCkuc2l6ZSgpICE9IElWU0laRSkgewogICAgICAgICBl
eGNlcHRpb25DYWxsYmFjayhPcGVyYXRpb25FcnJvcik7CiAgICAgICAgIHJldHVybjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFF
U19DRkIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3Jp
dGhtQUVTX0NGQi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjUzMmVjNjhlYWJjZTRjYTFiMjQ0MTc1YzYxNTgz
Yzg3YWJhMDY5MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdv
cml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DRkIuY3BwCkBAIC0wLDAgKzEsMTgwIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFF
U19DRkIuaCIKKworI2lmIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQorCisjaW5jbHVkZSAiQ3J5cHRv
QWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zLmgiCisjaW5jbHVkZSAiQ3J5cHRvQWxnb3JpdGhtQWVz
S2V5R2VuUGFyYW1zLmgiCisjaW5jbHVkZSAiQ3J5cHRvS2V5QUVTLmgiCisjaW5jbHVkZSAiRXhj
ZXB0aW9uQ29kZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBjb25zdCBjaGFy
KiBjb25zdCBBTEcxMjggPSAiQTEyOENGQjgiOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFM
RzE5MiA9ICJBMTkyQ0ZCOCI7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHMjU2ID0gIkEy
NTZDRkI4IjsKK3N0YXRpYyBjb25zdCBzaXplX3QgSVZTSVpFID0gMTY7CisKK3N0YXRpYyBpbmxp
bmUgYm9vbCB1c2FnZXNBcmVJbnZhbGlkRm9yQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQihDcnlwdG9L
ZXlVc2FnZUJpdG1hcCB1c2FnZXMpCit7CisgICAgcmV0dXJuIHVzYWdlcyAmIChDcnlwdG9LZXlV
c2FnZVNpZ24gfCBDcnlwdG9LZXlVc2FnZVZlcmlmeSB8IENyeXB0b0tleVVzYWdlRGVyaXZlS2V5
IHwgQ3J5cHRvS2V5VXNhZ2VEZXJpdmVCaXRzKTsKK30KKworUmVmPENyeXB0b0FsZ29yaXRobT4g
Q3J5cHRvQWxnb3JpdGhtQUVTX0NGQjo6Y3JlYXRlKCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCKTsKK30KKworQ3J5cHRvQWxnb3JpdGhtSWRlbnRp
ZmllciBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCOjppZGVudGlmaWVyKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gc19pZGVudGlmaWVyOworfQorCit2b2lkIENyeXB0b0FsZ29yaXRobUFFU19DRkI6OmVu
Y3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFyYW1l
dGVycywgUmVmPENyeXB0b0tleT4mJiBrZXksIFZlY3Rvcjx1aW50OF90PiYmIHBsYWluVGV4dCwg
VmVjdG9yQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25D
YWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgV29ya1F1ZXVlJiB3b3Jr
UXVldWUpCit7CisgICAgQVNTRVJUKHBhcmFtZXRlcnMpOworICAgIGF1dG8mIGFlc1BhcmFtZXRl
cnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXM+KCpwYXJhbWV0ZXJz
KTsKKyAgICBpZiAoYWVzUGFyYW1ldGVycy5pdlZlY3RvcigpLnNpemUoKSAhPSBJVlNJWkUpIHsK
KyAgICAgICAgZXhjZXB0aW9uQ2FsbGJhY2soT3BlcmF0aW9uRXJyb3IpOworICAgICAgICByZXR1
cm47CisgICAgfQorICAgIHBsYXRmb3JtRW5jcnlwdChXVEZNb3ZlKHBhcmFtZXRlcnMpLCBXVEZN
b3ZlKGtleSksIFdURk1vdmUocGxhaW5UZXh0KSwgV1RGTW92ZShjYWxsYmFjayksIFdURk1vdmUo
ZXhjZXB0aW9uQ2FsbGJhY2spLCBjb250ZXh0LCB3b3JrUXVldWUpOworfQorCit2b2lkIENyeXB0
b0FsZ29yaXRobUFFU19DRkI6OmRlY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRo
bVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycywgUmVmPENyeXB0b0tleT4mJiBrZXksIFZlY3Rvcjx1
aW50OF90PiYmIGNpcGhlclRleHQsIFZlY3RvckNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlv
bkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQsIFdvcmtRdWV1ZSYgd29ya1F1ZXVlKQoreworICAgIEFTU0VSVChwYXJhbWV0ZXJzKTsK
KyAgICBhdXRvJiBhZXNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtQWVzQ2Jj
Q2ZiUGFyYW1zPigqcGFyYW1ldGVycyk7CisgICAgaWYgKGFlc1BhcmFtZXRlcnMuaXZWZWN0b3Io
KS5zaXplKCkgIT0gSVZTSVpFKSB7CisgICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNrKE9wZXJhdGlv
bkVycm9yKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBwbGF0Zm9ybURlY3J5cHQoV1RG
TW92ZShwYXJhbWV0ZXJzKSwgV1RGTW92ZShrZXkpLCBXVEZNb3ZlKGNpcGhlclRleHQpLCBXVEZN
b3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShleGNlcHRpb25DYWxsYmFjayksIGNvbnRleHQsIHdvcmtR
dWV1ZSk7Cit9CisKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQjo6Z2VuZXJhdGVLZXkoY29u
c3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYgcGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJs
ZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzLCBLZXlPcktleVBhaXJDYWxsYmFjayYmIGNh
bGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrLCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0JikKK3sKKyAgICBjb25zdCBhdXRvJiBhZXNQYXJhbWV0ZXJzID0gZG93bmNh
c3Q8Q3J5cHRvQWxnb3JpdGhtQWVzS2V5R2VuUGFyYW1zPihwYXJhbWV0ZXJzKTsKKworICAgIGlm
ICh1c2FnZXNBcmVJbnZhbGlkRm9yQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQih1c2FnZXMpKSB7Cisg
ICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNrKFNZTlRBWF9FUlIpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgYXV0byByZXN1bHQgPSBDcnlwdG9LZXlBRVM6OmdlbmVyYXRlKENyeXB0b0Fs
Z29yaXRobUlkZW50aWZpZXI6OkFFU19DRkIsIGFlc1BhcmFtZXRlcnMubGVuZ3RoLCBleHRyYWN0
YWJsZSwgdXNhZ2VzKTsKKyAgICBpZiAoIXJlc3VsdCkgeworICAgICAgICBleGNlcHRpb25DYWxs
YmFjayhPcGVyYXRpb25FcnJvcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBjYWxs
YmFjayhXVEZNb3ZlKHJlc3VsdCkpOworfQorCit2b2lkIENyeXB0b0FsZ29yaXRobUFFU19DRkI6
OmltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQsIEtleURhdGEmJiBkYXRh
LCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiBwYXJh
bWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMsIEtl
eUNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJh
Y2spCit7CisgICAgQVNTRVJUKHBhcmFtZXRlcnMpOworICAgIGlmICh1c2FnZXNBcmVJbnZhbGlk
Rm9yQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQih1c2FnZXMpKSB7CisgICAgICAgIGV4Y2VwdGlvbkNh
bGxiYWNrKFNZTlRBWF9FUlIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgUmVmUHRy
PENyeXB0b0tleUFFUz4gcmVzdWx0OworICAgIHN3aXRjaCAoZm9ybWF0KSB7CisgICAgY2FzZSBT
dWJ0bGVDcnlwdG86OktleUZvcm1hdDo6UmF3OgorICAgICAgICByZXN1bHQgPSBDcnlwdG9LZXlB
RVM6OmltcG9ydFJhdyhwYXJhbWV0ZXJzLT5pZGVudGlmaWVyLCBXVEZNb3ZlKFdURjo6Z2V0PFZl
Y3Rvcjx1aW50OF90Pj4oZGF0YSkpLCBleHRyYWN0YWJsZSwgdXNhZ2VzKTsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBTdWJ0bGVDcnlwdG86OktleUZvcm1hdDo6SndrOiB7CisgICAgICAgIGF1
dG8gY2hlY2tBbGdDYWxsYmFjayA9IFtdKHNpemVfdCBsZW5ndGgsIGNvbnN0IFN0cmluZyYgYWxn
KSAtPiBib29sIHsKKyAgICAgICAgICAgIHN3aXRjaCAobGVuZ3RoKSB7CisgICAgICAgICAgICBj
YXNlIENyeXB0b0tleUFFUzo6c19sZW5ndGgxMjg6CisgICAgICAgICAgICAgICAgcmV0dXJuIGFs
Zy5pc051bGwoKSB8fCBhbGcgPT0gQUxHMTI4OworICAgICAgICAgICAgY2FzZSBDcnlwdG9LZXlB
RVM6OnNfbGVuZ3RoMTkyOgorICAgICAgICAgICAgICAgIHJldHVybiBhbGcuaXNOdWxsKCkgfHwg
YWxnID09IEFMRzE5MjsKKyAgICAgICAgICAgIGNhc2UgQ3J5cHRvS2V5QUVTOjpzX2xlbmd0aDI1
NjoKKyAgICAgICAgICAgICAgICByZXR1cm4gYWxnLmlzTnVsbCgpIHx8IGFsZyA9PSBBTEcyNTY7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH07Cisg
ICAgICAgIHJlc3VsdCA9IENyeXB0b0tleUFFUzo6aW1wb3J0SndrKHBhcmFtZXRlcnMtPmlkZW50
aWZpZXIsIFdURk1vdmUoV1RGOjpnZXQ8SnNvbldlYktleT4oZGF0YSkpLCBleHRyYWN0YWJsZSwg
dXNhZ2VzLCBXVEZNb3ZlKGNoZWNrQWxnQ2FsbGJhY2spKTsKKyAgICAgICAgYnJlYWs7CisgICAg
fQorICAgIGRlZmF1bHQ6CisgICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNrKE5PVF9TVVBQT1JURURf
RVJSKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAoIXJlc3VsdCkgeworICAgICAg
ICBleGNlcHRpb25DYWxsYmFjayhEYXRhRXJyb3IpOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgY2FsbGJhY2soKnJlc3VsdCk7Cit9CisKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NG
Qjo6ZXhwb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0IGZvcm1hdCwgUmVmPENyeXB0b0tl
eT4mJiBrZXksIEtleURhdGFDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYm
IGV4Y2VwdGlvbkNhbGxiYWNrKQoreworICAgIGNvbnN0IGF1dG8mIGFlc0tleSA9IGRvd25jYXN0
PENyeXB0b0tleUFFUz4oa2V5LmdldCgpKTsKKworICAgIGlmIChhZXNLZXkua2V5KCkuaXNFbXB0
eSgpKSB7CisgICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNrKE9wZXJhdGlvbkVycm9yKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIEtleURhdGEgcmVzdWx0OworICAgIHN3aXRjaCAoZm9y
bWF0KSB7CisgICAgY2FzZSBTdWJ0bGVDcnlwdG86OktleUZvcm1hdDo6UmF3OgorICAgICAgICBy
ZXN1bHQgPSBWZWN0b3I8dWludDhfdD4oYWVzS2V5LmtleSgpKTsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBTdWJ0bGVDcnlwdG86OktleUZvcm1hdDo6SndrOiB7CisgICAgICAgIEpzb25XZWJL
ZXkgandrID0gYWVzS2V5LmV4cG9ydEp3aygpOworICAgICAgICBzd2l0Y2ggKGFlc0tleS5rZXko
KS5zaXplKCkgKiA4KSB7CisgICAgICAgIGNhc2UgQ3J5cHRvS2V5QUVTOjpzX2xlbmd0aDEyODoK
KyAgICAgICAgICAgIGp3ay5hbGcgPSBTdHJpbmcoQUxHMTI4KTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBjYXNlIENyeXB0b0tleUFFUzo6c19sZW5ndGgxOTI6CisgICAgICAgICAgICBq
d2suYWxnID0gU3RyaW5nKEFMRzE5Mik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2Fz
ZSBDcnlwdG9LZXlBRVM6OnNfbGVuZ3RoMjU2OgorICAgICAgICAgICAgandrLmFsZyA9IFN0cmlu
ZyhBTEcyNTYpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgfQorICAgICAgICByZXN1bHQgPSBX
VEZNb3ZlKGp3ayk7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBkZWZhdWx0OgorICAgICAg
ICBleGNlcHRpb25DYWxsYmFjayhOT1RfU1VQUE9SVEVEX0VSUik7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBjYWxsYmFjayhmb3JtYXQsIFdURk1vdmUocmVzdWx0KSk7Cit9CisKK30K
KworI2VuZGlmIC8vIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQi5oIGIvU291cmNl
L1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQi5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEyMzhmNGQ0NjI2OWVmZTE4OTY2ODZjMDRkNmM4OGIxMzU2MjMzNzIKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0
aG1BRVNfQ0ZCLmgKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaW5jbHVkZSAiQ3J5cHRvQWxnb3JpdGhtLmgiCisKKyNpZiBFTkFCTEUoU1VCVExFX0NSWVBU
TykKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDcnlwdG9LZXlBRVM7CisKK2NsYXNz
IENyeXB0b0FsZ29yaXRobUFFU19DRkIgZmluYWwgOiBwdWJsaWMgQ3J5cHRvQWxnb3JpdGhtIHsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IGNoYXIqIHNfbmFtZSA9ICJBRVMt
Q0ZCLTgiOworICAgIHN0YXRpYyBjb25zdGV4cHIgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBz
X2lkZW50aWZpZXIgPSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpBRVNfQ0ZCOworICAgIHN0
YXRpYyBSZWY8Q3J5cHRvQWxnb3JpdGhtPiBjcmVhdGUoKTsKKworcHJpdmF0ZToKKyAgICBDcnlw
dG9BbGdvcml0aG1BRVNfQ0ZCKCkgPSBkZWZhdWx0OworICAgIENyeXB0b0FsZ29yaXRobUlkZW50
aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0IGZpbmFsOworCisgICAgdm9pZCBlbmNyeXB0KHN0ZDo6
dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBSZWY8Q3J5cHRvS2V5PiYm
LCBWZWN0b3I8dWludDhfdD4mJiwgVmVjdG9yQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2sm
JiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFdvcmtRdWV1ZSYpIGZpbmFsOworICAgIHZvaWQg
ZGVjcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgUmVm
PENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZlY3RvckNhbGxiYWNrJiYsIEV4Y2Vw
dGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBXb3JrUXVldWUmKSBmaW5h
bDsKKyAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMm
LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5T3JLZXlQYWlyQ2Fs
bGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpIGZp
bmFsOworICAgIHZvaWQgaW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRh
JiYsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBi
b29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5Q2FsbGJhY2smJiwgRXhj
ZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7CisgICAgdm9pZCBleHBvcnRLZXkoU3VidGxlQ3J5cHRv
OjpLZXlGb3JtYXQsIFJlZjxDcnlwdG9LZXk+JiYsIEtleURhdGFDYWxsYmFjayYmLCBFeGNlcHRp
b25DYWxsYmFjayYmKSBmaW5hbDsKKworICAgIHZvaWQgcGxhdGZvcm1FbmNyeXB0KHN0ZDo6dW5p
cXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBSZWY8Q3J5cHRvS2V5PiYmLCBW
ZWN0b3I8dWludDhfdD4mJiwgVmVjdG9yQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFdvcmtRdWV1ZSYpOworICAgIHZvaWQgcGxhdGZvcm1E
ZWNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBSZWY8
Q3J5cHRvS2V5PiYmLCBWZWN0b3I8dWludDhfdD4mJiwgVmVjdG9yQ2FsbGJhY2smJiwgRXhjZXB0
aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFdvcmtRdWV1ZSYpOworfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNVQlRMRV9DUllQ
VE8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ251dGxzL0NyeXB0b0FsZ29y
aXRobUFFU19DRkJHbnVUTFMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2dudXRscy9Dcnlw
dG9BbGdvcml0aG1BRVNfQ0ZCR251VExTLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTkxODJjNDA4Zjg5YjQx
NjUwNWNmZTJmMjE2MmNhMDQ5YzRkZGZjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvY3J5cHRvL2dudXRscy9DcnlwdG9BbGdvcml0aG1BRVNfQ0ZCR251VExTLmNwcApAQCAtMCww
ICsxLDQ4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNy
eXB0b0FsZ29yaXRobUFFU19DRkIuaCIKKworI2lmIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQorCisj
aW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCOjpwbGF0
Zm9ybUVuY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYs
IFJlZjxDcnlwdG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90PiYmLCBWZWN0b3JDYWxsYmFjayYmLCBF
eGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgV29ya1F1ZXVlJikK
K3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIENyeXB0b0FsZ29yaXRobUFFU19D
RkI6OnBsYXRmb3JtRGVjcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1l
dGVycz4mJiwgUmVmPENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZlY3RvckNhbGxi
YWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBXb3Jr
UXVldWUmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDTWFjLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQ01hYy5jcHAKaW5k
ZXggN2VlZTc3YmIxNmYyN2JlOTg1MzExZDY2YjdjOGE3ZTU2NmY0ZGJiZS4uNTY5MTQwYWU2NWNk
MjI4MTBlYzc1NWZkMmIzNWU0Yzc5MTZlMDNmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDTWFjLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jcnlwdG8vbWFjL0NyeXB0b0FsZ29yaXRobUFFU19DQkNNYWMuY3BwCkBAIC0yOCw3ICsy
OCw3IEBACiAKICNpZiBFTkFCTEUoU1VCVExFX0NSWVBUTykKIAotI2luY2x1ZGUgIkNyeXB0b0Fs
Z29yaXRobUFlc0NiY1BhcmFtcy5oIgorI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFlc0NiY0Nm
YlBhcmFtcy5oIgogI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFlc0NiY1BhcmFtc0RlcHJlY2F0
ZWQuaCIKICNpbmNsdWRlICJDcnlwdG9LZXlBRVMuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2Rl
LmgiCkBAIC00MSwxNCArNDEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0OTM5CiBzdGF0aWMgRXhjZXB0aW9uT3I8
VmVjdG9yPHVpbnQ4X3Q+PiB0cmFuc2Zvcm1BRVNfQ0JDKENDT3BlcmF0aW9uIG9wZXJhdGlvbiwg
Y29uc3QgdWludDhfdCogaXYsIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYga2V5LCBjb25zdCB1aW50
OF90KiBkYXRhLCBzaXplX3QgZGF0YUxlbmd0aCkKIHsKLSAgICBzaXplX3Qga2V5TGVuZ3RoSW5C
eXRlcyA9IGtleS5zaXplKCk7CiAgICAgQ0NDcnlwdG9yUmVmIGNyeXB0b3I7Ci0jaWYgUExBVEZP
Uk0oQ09DT0EpCi0gICAgQ0NBbGdvcml0aG0gYWVzQWxnb3JpdGhtID0ga0NDQWxnb3JpdGhtQUVT
OwotI2Vsc2UKLSAgICBDQ0FsZ29yaXRobSBhZXNBbGdvcml0aG0gPSBrQ0NBbGdvcml0aG1BRVMx
Mjg7Ci0jZW5kaWYKLSAgICBDQ0NyeXB0b3JTdGF0dXMgc3RhdHVzID0gQ0NDcnlwdG9yQ3JlYXRl
KG9wZXJhdGlvbiwgYWVzQWxnb3JpdGhtLCBrQ0NPcHRpb25QS0NTN1BhZGRpbmcsIGtleS5kYXRh
KCksIGtleUxlbmd0aEluQnl0ZXMsIGl2LCAmY3J5cHRvcik7CisgICAgQ0NDcnlwdG9yU3RhdHVz
IHN0YXR1cyA9IENDQ3J5cHRvckNyZWF0ZShvcGVyYXRpb24sIGtDQ0FsZ29yaXRobUFFUywga0ND
T3B0aW9uUEtDUzdQYWRkaW5nLCBrZXkuZGF0YSgpLCBrZXkuc2l6ZSgpLCBpdiwgJmNyeXB0b3Ip
OwogICAgIGlmIChzdGF0dXMpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBPcGVyYXRpb25F
cnJvciB9OwogCkBAIC03Nyw3ICs3MSw3IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6
cGxhdGZvcm1FbmNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhCiB7CiAg
ICAgY29udGV4dC5yZWYoKTsKICAgICB3b3JrUXVldWUuZGlzcGF0Y2goW3BhcmFtZXRlcnMgPSBX
VEZNb3ZlKHBhcmFtZXRlcnMpLCBrZXkgPSBXVEZNb3ZlKGtleSksIHBsYWluVGV4dCA9IFdURk1v
dmUocGxhaW5UZXh0KSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwgZXhjZXB0aW9uQ2Fs
bGJhY2sgPSBXVEZNb3ZlKGV4Y2VwdGlvbkNhbGxiYWNrKSwgJmNvbnRleHRdKCkgbXV0YWJsZSB7
Ci0gICAgICAgIGF1dG8mIGFlc1BhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1B
ZXNDYmNQYXJhbXM+KCpwYXJhbWV0ZXJzKTsKKyAgICAgICAgYXV0byYgYWVzUGFyYW1ldGVycyA9
IGRvd25jYXN0PENyeXB0b0FsZ29yaXRobUFlc0NiY0NmYlBhcmFtcz4oKnBhcmFtZXRlcnMpOwog
ICAgICAgICBhdXRvJiBhZXNLZXkgPSBkb3duY2FzdDxDcnlwdG9LZXlBRVM+KGtleS5nZXQoKSk7
CiAgICAgICAgIEFTU0VSVChhZXNQYXJhbWV0ZXJzLml2VmVjdG9yKCkuc2l6ZSgpID09IGtDQ0Js
b2NrU2l6ZUFFUzEyOCk7CiAgICAgICAgIGF1dG8gcmVzdWx0ID0gdHJhbnNmb3JtQUVTX0NCQyhr
Q0NFbmNyeXB0LCBhZXNQYXJhbWV0ZXJzLml2VmVjdG9yKCkuZGF0YSgpLCBhZXNLZXkua2V5KCks
IHBsYWluVGV4dC5kYXRhKCksIHBsYWluVGV4dC5zaXplKCkpOwpAQCAtMTAxLDcgKzk1LDcgQEAg
dm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfQ0JDOjpwbGF0Zm9ybURlY3J5cHQoc3RkOjp1bmlxdWVf
cHRyPENyeXB0b0FsZ29yaXRobVBhcmEKIHsKICAgICBjb250ZXh0LnJlZigpOwogICAgIHdvcmtR
dWV1ZS5kaXNwYXRjaChbcGFyYW1ldGVycyA9IFdURk1vdmUocGFyYW1ldGVycyksIGtleSA9IFdU
Rk1vdmUoa2V5KSwgY2lwaGVyVGV4dCA9IFdURk1vdmUoY2lwaGVyVGV4dCksIGNhbGxiYWNrID0g
V1RGTW92ZShjYWxsYmFjayksIGV4Y2VwdGlvbkNhbGxiYWNrID0gV1RGTW92ZShleGNlcHRpb25D
YWxsYmFjayksICZjb250ZXh0XSgpIG11dGFibGUgewotICAgICAgICBhdXRvJiBhZXNQYXJhbWV0
ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtQWVzQ2JjUGFyYW1zPigqcGFyYW1ldGVycyk7
CisgICAgICAgIGF1dG8mIGFlc1BhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1B
ZXNDYmNDZmJQYXJhbXM+KCpwYXJhbWV0ZXJzKTsKICAgICAgICAgYXV0byYgYWVzS2V5ID0gZG93
bmNhc3Q8Q3J5cHRvS2V5QUVTPihrZXkuZ2V0KCkpOwogICAgICAgICBhc3NlcnQoYWVzUGFyYW1l
dGVycy5pdlZlY3RvcigpLnNpemUoKSA9PSBrQ0NCbG9ja1NpemVBRVMxMjgpOwogICAgICAgICBh
dXRvIHJlc3VsdCA9IHRyYW5zZm9ybUFFU19DQkMoa0NDRGVjcnlwdCwgYWVzUGFyYW1ldGVycy5p
dlZlY3RvcigpLmRhdGEoKSwgYWVzS2V5LmtleSgpLCBjaXBoZXJUZXh0LmRhdGEoKSwgY2lwaGVy
VGV4dC5zaXplKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9Dcnlw
dG9BbGdvcml0aG1BRVNfQ0ZCTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5
cHRvQWxnb3JpdGhtQUVTX0NGQk1hYy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjMzY2E3M2IxMWI3NmZlNzRi
YmQ1ODk2ZWIwNTRjMDFkOWZhMDg0NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9tYWMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQk1hYy5jcHAKQEAgLTAsMCArMSwxMTcg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ3J5cHRvQWxn
b3JpdGhtQUVTX0NGQi5oIgorCisjaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8pCisKKyNpbmNsdWRl
ICJDcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXMuaCIKKyNpbmNsdWRlICJDcnlwdG9LZXlB
RVMuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgPENvbW1vbkNyeXB0by9Db21tb25DcnlwdG8uaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMgRXhjZXB0aW9uT3I8VmVjdG9yPHVpbnQ4X3Q+
PiB0cmFuc2Zvcm1BRVNfQ0ZCKENDT3BlcmF0aW9uIG9wZXJhdGlvbiwgY29uc3QgVmVjdG9yPHVp
bnQ4X3Q+JiBpdiwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXksIGNvbnN0IFZlY3Rvcjx1aW50
OF90PiYgZGF0YSkKK3sKKyAgICBDQ0NyeXB0b3JSZWYgY3J5cHRvcjsKKyAgICBDQ0NyeXB0b3JT
dGF0dXMgc3RhdHVzID0gQ0NDcnlwdG9yQ3JlYXRlV2l0aE1vZGUob3BlcmF0aW9uLCBrQ0NNb2Rl
Q0ZCOCwga0NDQWxnb3JpdGhtQUVTLCBjY05vUGFkZGluZywgaXYuZGF0YSgpLCBrZXkuZGF0YSgp
LCBrZXkuc2l6ZSgpLCAwLCAwLCAwLCAwLCAmY3J5cHRvcik7CisgICAgaWYgKHN0YXR1cykKKyAg
ICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE9wZXJhdGlvbkVycm9yIH07CisKKyAgICBWZWN0b3I8
dWludDhfdD4gcmVzdWx0KENDQ3J5cHRvckdldE91dHB1dExlbmd0aChjcnlwdG9yLCBkYXRhLnNp
emUoKSwgdHJ1ZSkpOworCisgICAgc2l6ZV90IGJ5dGVzV3JpdHRlbjsKKyAgICBzdGF0dXMgPSBD
Q0NyeXB0b3JVcGRhdGUoY3J5cHRvciwgZGF0YS5kYXRhKCksIGRhdGEuc2l6ZSgpLCByZXN1bHQu
ZGF0YSgpLCByZXN1bHQuc2l6ZSgpLCAmYnl0ZXNXcml0dGVuKTsKKyAgICBpZiAoc3RhdHVzKQor
ICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3IgfTsKKworICAgIHVpbnQ4
X3QqIHAgPSByZXN1bHQuZGF0YSgpICsgYnl0ZXNXcml0dGVuOworICAgIHN0YXR1cyA9IENDQ3J5
cHRvckZpbmFsKGNyeXB0b3IsIHAsIHJlc3VsdC5lbmQoKSAtIHAsICZieXRlc1dyaXR0ZW4pOwor
ICAgIHAgKz0gYnl0ZXNXcml0dGVuOworICAgIGlmIChzdGF0dXMpCisgICAgICAgIHJldHVybiBF
eGNlcHRpb24geyBPcGVyYXRpb25FcnJvciB9OworCisgICAgQVNTRVJUKHAgPD0gcmVzdWx0LmVu
ZCgpKTsKKyAgICByZXN1bHQuc2hyaW5rKHAgLSByZXN1bHQuYmVnaW4oKSk7CisKKyAgICBDQ0Ny
eXB0b3JSZWxlYXNlKGNyeXB0b3IpOworCisgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0KTsKK30K
Kwordm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCOjpwbGF0Zm9ybUVuY3J5cHQoc3RkOjp1bmlx
dWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycywgUmVmPENyeXB0
b0tleT4mJiBrZXksIFZlY3Rvcjx1aW50OF90PiYmIHBsYWluVGV4dCwgVmVjdG9yQ2FsbGJhY2sm
JiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaywgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgV29ya1F1ZXVlJiB3b3JrUXVldWUpCit7CisgICAg
Y29udGV4dC5yZWYoKTsKKyAgICB3b3JrUXVldWUuZGlzcGF0Y2goW3BhcmFtZXRlcnMgPSBXVEZN
b3ZlKHBhcmFtZXRlcnMpLCBrZXkgPSBXVEZNb3ZlKGtleSksIHBsYWluVGV4dCA9IFdURk1vdmUo
cGxhaW5UZXh0KSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwgZXhjZXB0aW9uQ2FsbGJh
Y2sgPSBXVEZNb3ZlKGV4Y2VwdGlvbkNhbGxiYWNrKSwgJmNvbnRleHRdKCkgbXV0YWJsZSB7Cisg
ICAgICAgIGF1dG8mIGFlc1BhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1BZXND
YmNDZmJQYXJhbXM+KCpwYXJhbWV0ZXJzKTsKKyAgICAgICAgYXV0byYgYWVzS2V5ID0gZG93bmNh
c3Q8Q3J5cHRvS2V5QUVTPihrZXkuZ2V0KCkpOworICAgICAgICBBU1NFUlQoYWVzUGFyYW1ldGVy
cy5pdlZlY3RvcigpLnNpemUoKSA9PSBrQ0NCbG9ja1NpemVBRVMxMjgpOworICAgICAgICBhdXRv
IHJlc3VsdCA9IHRyYW5zZm9ybUFFU19DRkIoa0NDRW5jcnlwdCwgYWVzUGFyYW1ldGVycy5pdlZl
Y3RvcigpLCBhZXNLZXkua2V5KCksIHBsYWluVGV4dCk7CisgICAgICAgIGlmIChyZXN1bHQuaGFz
RXhjZXB0aW9uKCkpIHsKKyAgICAgICAgICAgIC8vIFdlIHNob3VsZCBvbmx5IGRlcmVmZXJlbmNl
IGNhbGxiYWNrcyBhZnRlciBiZWluZyBiYWNrIHRvIHRoZSBEb2N1bWVudC9Xb3JrZXIgdGhyZWFk
cy4KKyAgICAgICAgICAgIGNvbnRleHQucG9zdFRhc2soW2V4Y2VwdGlvbkNhbGxiYWNrID0gV1RG
TW92ZShleGNlcHRpb25DYWxsYmFjayksIGVjID0gcmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKS5j
b2RlKCksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQpIHsKKyAgICAgICAgICAgICAgICBleGNlcHRpb25DYWxsYmFjayhlYyk7Cisg
ICAgICAgICAgICAgICAgY29udGV4dC5kZXJlZigpOworICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgLy8gV2Ugc2hvdWxkIG9ubHkgZGVyZWZl
cmVuY2UgY2FsbGJhY2tzIGFmdGVyIGJlaW5nIGJhY2sgdG8gdGhlIERvY3VtZW50L1dvcmtlciB0
aHJlYWRzLgorICAgICAgICBjb250ZXh0LnBvc3RUYXNrKFtjYWxsYmFjayA9IFdURk1vdmUoY2Fs
bGJhY2spLCByZXN1bHQgPSByZXN1bHQucmVsZWFzZVJldHVyblZhbHVlKCksIGV4Y2VwdGlvbkNh
bGxiYWNrID0gV1RGTW92ZShleGNlcHRpb25DYWxsYmFjayldKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQpIHsKKyAgICAgICAgICAgIGNhbGxiYWNrKHJlc3VsdCk7CisgICAgICAgICAg
ICBjb250ZXh0LmRlcmVmKCk7CisgICAgICAgIH0pOworICAgIH0pOworfQorCit2b2lkIENyeXB0
b0FsZ29yaXRobUFFU19DRkI6OnBsYXRmb3JtRGVjcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRv
QWxnb3JpdGhtUGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzLCBSZWY8Q3J5cHRvS2V5PiYmIGtleSwg
VmVjdG9yPHVpbnQ4X3Q+JiYgY2lwaGVyVGV4dCwgVmVjdG9yQ2FsbGJhY2smJiBjYWxsYmFjaywg
RXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgY29udGV4dCwgV29ya1F1ZXVlJiB3b3JrUXVldWUpCit7CisgICAgY29udGV4dC5yZWYo
KTsKKyAgICB3b3JrUXVldWUuZGlzcGF0Y2goW3BhcmFtZXRlcnMgPSBXVEZNb3ZlKHBhcmFtZXRl
cnMpLCBrZXkgPSBXVEZNb3ZlKGtleSksIGNpcGhlclRleHQgPSBXVEZNb3ZlKGNpcGhlclRleHQp
LCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spLCBleGNlcHRpb25DYWxsYmFjayA9IFdURk1v
dmUoZXhjZXB0aW9uQ2FsbGJhY2spLCAmY29udGV4dF0oKSBtdXRhYmxlIHsKKyAgICAgICAgYXV0
byYgYWVzUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29yaXRobUFlc0NiY0NmYlBhcmFt
cz4oKnBhcmFtZXRlcnMpOworICAgICAgICBhdXRvJiBhZXNLZXkgPSBkb3duY2FzdDxDcnlwdG9L
ZXlBRVM+KGtleS5nZXQoKSk7CisgICAgICAgIGFzc2VydChhZXNQYXJhbWV0ZXJzLml2VmVjdG9y
KCkuc2l6ZSgpID09IGtDQ0Jsb2NrU2l6ZUFFUzEyOCk7CisgICAgICAgIGF1dG8gcmVzdWx0ID0g
dHJhbnNmb3JtQUVTX0NGQihrQ0NEZWNyeXB0LCBhZXNQYXJhbWV0ZXJzLml2VmVjdG9yKCksIGFl
c0tleS5rZXkoKSwgY2lwaGVyVGV4dCk7CisgICAgICAgIGlmIChyZXN1bHQuaGFzRXhjZXB0aW9u
KCkpIHsKKyAgICAgICAgICAgIC8vIFdlIHNob3VsZCBvbmx5IGRlcmVmZXJlbmNlIGNhbGxiYWNr
cyBhZnRlciBiZWluZyBiYWNrIHRvIHRoZSBEb2N1bWVudC9Xb3JrZXIgdGhyZWFkcy4KKyAgICAg
ICAgICAgIGNvbnRleHQucG9zdFRhc2soW2V4Y2VwdGlvbkNhbGxiYWNrID0gV1RGTW92ZShleGNl
cHRpb25DYWxsYmFjayksIGVjID0gcmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKS5jb2RlKCksIGNh
bGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQpIHsKKyAgICAgICAgICAgICAgICBleGNlcHRpb25DYWxsYmFjayhlYyk7CisgICAgICAgICAg
ICAgICAgY29udGV4dC5kZXJlZigpOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKyAgICAgICAgLy8gV2Ugc2hvdWxkIG9ubHkgZGVyZWZlcmVuY2UgY2Fs
bGJhY2tzIGFmdGVyIGJlaW5nIGJhY2sgdG8gdGhlIERvY3VtZW50L1dvcmtlciB0aHJlYWRzLgor
ICAgICAgICBjb250ZXh0LnBvc3RUYXNrKFtjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spLCBy
ZXN1bHQgPSByZXN1bHQucmVsZWFzZVJldHVyblZhbHVlKCksIGV4Y2VwdGlvbkNhbGxiYWNrID0g
V1RGTW92ZShleGNlcHRpb25DYWxsYmFjayldKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQpIHsKKyAgICAgICAgICAgIGNhbGxiYWNrKHJlc3VsdCk7CisgICAgICAgICAgICBjb250ZXh0
LmRlcmVmKCk7CisgICAgICAgIH0pOworICAgIH0pOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1VCVExFX0NSWVBUTykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnlNYWMuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1SZWdpc3RyeU1hYy5jcHAKaW5k
ZXggMTdkNTA5NGYyZTg4NWVmOTkzZjg2NGU3NmI2Y2M4ODNlYmM0NzhlZS4uZWI0NGRkMDFjZTYx
NmQ1MmVmMWIxZGEzYTZhMGNkMzkxNDgxNGViMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1SZWdpc3RyeU1hYy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1SZWdpc3RyeU1hYy5jcHAKQEAgLTI5LDYg
KzI5LDcgQEAKICNpZiBFTkFCTEUoU1VCVExFX0NSWVBUTykKIAogI2luY2x1ZGUgIkNyeXB0b0Fs
Z29yaXRobUFFU19DQkMuaCIKKyNpbmNsdWRlICJDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCLmgiCiAj
aW5jbHVkZSAiQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmgiCiAjaW5jbHVkZSAiQ3J5cHRvQWxnb3Jp
dGhtSE1BQy5oIgogI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzUuaCIK
QEAgLTQ1LDYgKzQ2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogdm9pZCBDcnlwdG9BbGdvcml0
aG1SZWdpc3RyeTo6cGxhdGZvcm1SZWdpc3RlckFsZ29yaXRobXMoKQogewogICAgIHJlZ2lzdGVy
QWxnb3JpdGhtPENyeXB0b0FsZ29yaXRobUFFU19DQkM+KCk7CisgICAgcmVnaXN0ZXJBbGdvcml0
aG08Q3J5cHRvQWxnb3JpdGhtQUVTX0NGQj4oKTsKICAgICByZWdpc3RlckFsZ29yaXRobTxDcnlw
dG9BbGdvcml0aG1BRVNfS1c+KCk7CiAgICAgcmVnaXN0ZXJBbGdvcml0aG08Q3J5cHRvQWxnb3Jp
dGhtSE1BQz4oKTsKICAgICByZWdpc3RlckFsZ29yaXRobTxDcnlwdG9BbGdvcml0aG1SU0FFU19Q
S0NTMV92MV81PigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL3BhcmFtZXRl
cnMvQWVzQ2JjQ2ZiUGFyYW1zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9wYXJhbWV0ZXJz
L0Flc0NiY0NmYlBhcmFtcy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODBlYTQ3NWQ4OTIyZWQ5ZjUzNjdjZWJm
YWFmMmIyMzFkYjI4YmIxYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9wYXJhbWV0ZXJzL0Flc0NiY0NmYlBhcmFtcy5pZGwKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKy8vIFRoaXMgaXMgYSB1bmlmaWVkIGRpY3Rpb25hcnkgZm9yIEFlc0NiY1BhcmFtcyBh
bmQgQWVzQ2ZiUGFyYW1zLgorLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL1dlYkNyeXB0b0FQSS8j
ZGZuLUFlc0NiY1BhcmFtcywgYW5kCisvLyBodHRwczovL3d3dy53My5vcmcvVFIvMjAxNC9DUi1X
ZWJDcnlwdG9BUEktMjAxNDEyMTEvI2Rmbi1BZXNDZmJQYXJhbXMKK1sKKyAgICBDb25kaXRpb25h
bD1TVUJUTEVfQ1JZUFRPLAorICAgIEltcGxlbWVudGVkQXM9Q3J5cHRvQWxnb3JpdGhtQWVzQ2Jj
Q2ZiUGFyYW1zCitdIGRpY3Rpb25hcnkgQWVzQ2JjQ2ZiUGFyYW1zIDogQ3J5cHRvQWxnb3JpdGht
UGFyYW1ldGVycyB7CisgICAgLy8gVGhlIGluaXRpYWxpemF0aW9uIHZlY3Rvci4gTVVTVCBiZSAx
NiBieXRlcy4KKyAgICByZXF1aXJlZCBCdWZmZXJTb3VyY2UgaXY7Cit9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3J5cHRvL3BhcmFtZXRlcnMvQWVzQ2JjUGFyYW1zLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9wYXJhbWV0ZXJzL0Flc0NiY1BhcmFtcy5pZGwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGJkZDkwNDM3ZWJhZDQ1MTQwMzFkZmQ3MGUzMjVlMDhlMGRkMzNj
NmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3J5cHRvL3BhcmFtZXRlcnMvQWVzQ2JjUGFyYW1zLmlkbAorKysgL2Rldi9udWxs
CkBAIC0xLDMyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29uZGl0aW9uYWw9U1VCVExF
X0NSWVBUTywKLSAgICBJbXBsZW1lbnRlZEFzPUNyeXB0b0FsZ29yaXRobUFlc0NiY1BhcmFtcwot
XSBkaWN0aW9uYXJ5IEFlc0NiY1BhcmFtcyA6IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMgewot
ICAgIC8vIFRoZSBpbml0aWFsaXphdGlvbiB2ZWN0b3IuIE1VU1QgYmUgMTYgYnl0ZXMuCi0gICAg
cmVxdWlyZWQgQnVmZmVyU291cmNlIGl2OwotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9wYXJhbWV0ZXJzL0NyeXB0b0FsZ29yaXRobUFlc0NiY0NmYlBhcmFtcy5oIGIvU291
cmNlL1dlYkNvcmUvY3J5cHRvL3BhcmFtZXRlcnMvQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjQ2ZiUGFy
YW1zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZWQyYTk3OTc4NzI5YjA1YmE5NjljODk1ZTAxZGE0ZDRkY2M0M2Jk
MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9wYXJhbWV0ZXJzL0Ny
eXB0b0FsZ29yaXRobUFlc0NiY0NmYlBhcmFtcy5oCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkJ1ZmZlclNvdXJjZS5oIgorI2luY2x1ZGUg
IkNyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisK
KyNpZiBFTkFCTEUoU1VCVExFX0NSWVBUTykKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBDcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXMgZmluYWwgOiBwdWJsaWMgQ3J5cHRvQWxn
b3JpdGhtUGFyYW1ldGVycyB7CitwdWJsaWM6CisgICAgQnVmZmVyU291cmNlIGl2OworCisgICAg
Q2xhc3MgcGFyYW1ldGVyc0NsYXNzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ2xhc3M6OkFlc0Ni
Y0NmYlBhcmFtczsgfQorCisgICAgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBpdlZlY3RvcigpCisg
ICAgeworICAgICAgICBpZiAoIW1faXZWZWN0b3IuaXNFbXB0eSgpIHx8ICFpdi5sZW5ndGgoKSkK
KyAgICAgICAgICAgIHJldHVybiBtX2l2VmVjdG9yOworCisgICAgICAgIG1faXZWZWN0b3IuYXBw
ZW5kKGl2LmRhdGEoKSwgaXYubGVuZ3RoKCkpOworICAgICAgICByZXR1cm4gbV9pdlZlY3RvcjsK
KyAgICB9CisKK3ByaXZhdGU6CisgICAgVmVjdG9yPHVpbnQ4X3Q+IG1faXZWZWN0b3I7Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ1JZUFRP
X0FMR09SSVRITV9QQVJBTUVURVJTKEFlc0NiY0NmYlBhcmFtcykKKworI2VuZGlmIC8vIEVOQUJM
RShTVUJUTEVfQ1JZUFRPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL3BhcmFt
ZXRlcnMvQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjUGFyYW1zLmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlw
dG8vcGFyYW1ldGVycy9DcnlwdG9BbGdvcml0aG1BZXNDYmNQYXJhbXMuaApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZTFiY2ViZjFlOWRlMzFhMmY1MzA0YzkzMTcwNzZjMzMxYzU5OTY1
My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jcnlwdG8vcGFyYW1ldGVycy9DcnlwdG9BbGdvcml0aG1BZXNDYmNQYXJhbXMuaAor
KysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
Ci0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
LSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UK
LQotI2luY2x1ZGUgIkJ1ZmZlclNvdXJjZS5oIgotI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobVBh
cmFtZXRlcnMuaCIKLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0KLSNpZiBFTkFCTEUoU1VCVExF
X0NSWVBUTykKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBDcnlwdG9BbGdvcml0aG1B
ZXNDYmNQYXJhbXMgZmluYWwgOiBwdWJsaWMgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyB7Ci1w
dWJsaWM6Ci0gICAgQnVmZmVyU291cmNlIGl2OwotCi0gICAgQ2xhc3MgcGFyYW1ldGVyc0NsYXNz
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ2xhc3M6OkFlc0NiY1BhcmFtczsgfQotCi0gICAgY29u
c3QgVmVjdG9yPHVpbnQ4X3Q+JiBpdlZlY3RvcigpCi0gICAgewotICAgICAgICBpZiAoIW1faXZW
ZWN0b3IuaXNFbXB0eSgpIHx8ICFpdi5sZW5ndGgoKSkKLSAgICAgICAgICAgIHJldHVybiBtX2l2
VmVjdG9yOwotCi0gICAgICAgIG1faXZWZWN0b3IuYXBwZW5kKGl2LmRhdGEoKSwgaXYubGVuZ3Ro
KCkpOwotICAgICAgICByZXR1cm4gbV9pdlZlY3RvcjsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAg
VmVjdG9yPHVpbnQ4X3Q+IG1faXZWZWN0b3I7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Ci0KLVNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ1JZUFRPX0FMR09SSVRITV9QQVJBTUVURVJTKEFl
c0NiY1BhcmFtcykKLQotI2VuZGlmIC8vIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGJk
NzI1ZTM5MjE2NGRlNjBhMWEwZjZhMzllZTQ2N2ZkNWU0MmU0NmIuLjg5YjQ3NGI5NTQ2YzU1Yzdm
MTE4NjY4MTUyZmU0ZTIyMWVlNDViNWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2NiBAQAorMjAxNy0wMi0x
NCAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJDcnlw
dG9dIEFkZCBzdXBwb3J0IGZvciBBRVMtQ0ZCCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgzNDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIwOTQw
MjIxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
Y3J5cHRvL3N1YnRsZS9hZXMtY2JjLWNmYi1kZWNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4
cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNi
Yy1kZWNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBj
cnlwdG8vc3VidGxlL2Flcy1jYmMtY2ZiLWRlY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRt
bDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1kZWNyeXB0
LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMt
Y2JjLWNmYi1lbmNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dDogUmVuYW1l
ZCBmcm9tIExheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1lbmNyeXB0LW1hbGZvcm1l
ZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1j
YmMtY2ZiLWVuY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbDogUmVuYW1lZCBmcm9tIExh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1lbmNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0
ZXJzLmh0bWwuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktdW53
cmFwLWp3ay1yc2Eta2V5LXB1YmxpYy1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS11d3JhcC1qd2stcnNhLWtleS1w
dWJsaWMtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNiYy1pbXBv
cnQta2V5LXVud3JhcC1qd2stcnNhLWtleS1wdWJsaWMuaHRtbDogUmVuYW1lZCBmcm9tIExheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LXV3cmFwLWp3ay1yc2Eta2V5
LXB1YmxpYy5odG1sLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1l
eHBvcnQta2V5LWp3ay1sZW5ndGgtMTI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
Y3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xMjgu
aHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4
cG9ydC1rZXktandrLWxlbmd0aC0xOTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBj
cnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTE5Mi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhw
b3J0LWtleS1qd2stbGVuZ3RoLTI1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNy
eXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMjU2Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1leHBv
cnQtcmF3LWtleS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUv
YWVzLWNmYi1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBj
cnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1r
ZXktZW5jcnlwdC1kZWNyeXB0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUv
YWVzLWNmYi1nZW5lcmF0ZS1rZXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlw
dG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUta2V5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNy
eXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtandrLWtleS1sZW5ndGgtMTI4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1qd2sta2V5
LWxlbmd0aC0xMjguaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2Zi
LWltcG9ydC1qd2sta2V5LWxlbmd0aC0xOTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTE5Mi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVu
Z3RoLTI1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVz
LWNmYi1pbXBvcnQtandrLWtleS1sZW5ndGgtMjU2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNy
eXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LWRlY3J5cHQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1kZWNyeXB0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LWVu
Y3J5cHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1j
ZmItaW1wb3J0LWtleS1lbmNyeXB0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0
bGUvYWVzLWNmYi1pbXBvcnQta2V5LXVud3JhcC1qd2sta2V5LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWp3ay1r
ZXkuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1r
ZXktdW53cmFwLXJhdy1rZXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8v
c3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAtcmF3LWtleS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS13cmFwLWp3ay1rZXktZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0
LWtleS13cmFwLWp3ay1rZXkuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9h
ZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1yYXcta2V5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1yYXcta2V5Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtcmF3LWtleS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBv
cnQtcmF3LWtleS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1nZW5l
cmF0ZS1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGNy
eXB0by9zdWJ0bGUvYWVzLWdlbmVyYXRlLWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sOgor
ICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWltcG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRl
cnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWltcG9ydC1rZXkt
bWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbDoKKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0
bGUvYWVzLWNmYi1pbXBvcnQta2V5LWRlY3J5cHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LWRlY3J5cHQuaHRt
bDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jZmItaW1wb3J0
LWtleS1lbmNyeXB0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtl
cnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1lbmNyeXB0Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWtleS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMt
Y2ZiLWltcG9ydC1rZXktdW53cmFwLWtleS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8v
d29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXdyYXAta2V5LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtl
eS13cmFwLWtleS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUv
cmVzb3VyY2VzL2Flcy1jZmItaW1wb3J0LWtleS1kZWNyeXB0LmpzOiBBZGRlZC4KKyAgICAgICAg
KiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2Flcy1jZmItaW1wb3J0LWtleS1lbmNy
eXB0LmpzOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2Vz
L2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAta2V5LmpzOiBBZGRlZC4KKyAgICAgICAgKiBjcnlw
dG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2Flcy1jZmItaW1wb3J0LWtleS13cmFwLWtleS5q
czogQWRkZWQuCisKIDIwMTctMDItMTYgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNv
bT4KIAogICAgICAgICBbV2ViQ3J5cHRvXSByZW1vdmUgdG9KU1ZhbHVlRnJvbUpzb25XZWJLZXkg
ZnJvbSBjdXN0b20gU3VidGxlQ3J5cHRvIGJpbmRpbmcgY29kZXMKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1jZmItZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1l
dGVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtY2Zi
LWRlY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1
NDgzMThlMDZhOWRhMWFkNGJhNTQ3MmQxYjBkNmIxZjk0OTIyMjAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtY2ZiLWRlY3J5cHQtbWFsZm9ybWVk
LXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1Rlc3QgZGVjcnlwdGlu
ZyB1c2luZyBBRVMtQ0JDL0FFUy1DRkIgd2l0aCBtYWxmb3JtZWQgcGFyYW1ldGVycworCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBjcnlwdG8uc3VidGxlLmRlY3J5cHQoe25h
bWU6ICJhZXMtY2JjIiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCIiKX0sIGtleSwgY2lwaGVyVGV4
dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBPcGVyYXRpb25FcnJvciAoRE9NIEV4Y2VwdGlvbiAz
NCk6IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciBhbiBvcGVyYXRpb24tc3BlY2lmaWMgcmVhc29u
LgorUEFTUyBjcnlwdG8uc3VidGxlLmRlY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IGFzY2lp
VG9VaW50OEFycmF5KCJqIil9LCBrZXksIGNpcGhlclRleHQpIHJlamVjdGVkIHByb21pc2UgIHdp
dGggT3BlcmF0aW9uRXJyb3IgKERPTSBFeGNlcHRpb24gMzQpOiBUaGUgb3BlcmF0aW9uIGZhaWxl
ZCBmb3IgYW4gb3BlcmF0aW9uLXNwZWNpZmljIHJlYXNvbi4KK1BBU1MgY3J5cHRvLnN1YnRsZS5k
ZWNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09a
RkxJRVBNcmQiKX0sIGtleSwgY2lwaGVyVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBPcGVy
YXRpb25FcnJvciAoRE9NIEV4Y2VwdGlvbiAzNCk6IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciBh
biBvcGVyYXRpb24tc3BlY2lmaWMgcmVhc29uLgorUEFTUyBjcnlwdG8uc3VidGxlLmRlY3J5cHQo
e25hbWU6ICJhZXMtY2ZiLTgiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoIiIpfSwga2V5LCBjaXBo
ZXJUZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE9wZXJhdGlvbkVycm9yIChET00gRXhjZXB0
aW9uIDM0KTogVGhlIG9wZXJhdGlvbiBmYWlsZWQgZm9yIGFuIG9wZXJhdGlvbi1zcGVjaWZpYyBy
ZWFzb24uCitQQVNTIGNyeXB0by5zdWJ0bGUuZGVjcnlwdCh7bmFtZTogImFlcy1jZmItOCIsIGl2
OiBhc2NpaVRvVWludDhBcnJheSgiaiIpfSwga2V5LCBjaXBoZXJUZXh0KSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIE9wZXJhdGlvbkVycm9yIChET00gRXhjZXB0aW9uIDM0KTogVGhlIG9wZXJhdGlv
biBmYWlsZWQgZm9yIGFuIG9wZXJhdGlvbi1zcGVjaWZpYyByZWFzb24uCitQQVNTIGNyeXB0by5z
dWJ0bGUuZGVjcnlwdCh7bmFtZTogImFlcy1jZmItOCIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgi
am5Pdzk5b09aRkxJRVBNcmQiKX0sIGtleSwgY2lwaGVyVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAg
d2l0aCBPcGVyYXRpb25FcnJvciAoRE9NIEV4Y2VwdGlvbiAzNCk6IFRoZSBvcGVyYXRpb24gZmFp
bGVkIGZvciBhbiBvcGVyYXRpb24tc3BlY2lmaWMgcmVhc29uLgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1jZmItZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy5o
dG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWNmYi1kZWNyeXB0LW1hbGZv
cm1lZC1wYXJhbWV0ZXJzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGU4NGRmNDdkMWQ4NDJlZjliNDkyMDY2
Yzk1NDE0M2FlOWZiODhiMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvYWVzLWNiYy1jZmItZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCkBAIC0w
LDAgKzEsNDQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0
PgorZGVzY3JpcHRpb24oIlRlc3QgZGVjcnlwdGluZyB1c2luZyBBRVMtQ0JDL0FFUy1DRkIgd2l0
aCBtYWxmb3JtZWQgcGFyYW1ldGVycyIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFy
IGV4dHJhY3RhYmxlID0gZmFsc2U7Cit2YXIgY2lwaGVyVGV4dCA9IGhleFN0cmluZ1RvVWludDhB
cnJheSgiMmZmYTQ2MTg3ODRkZmQ0MTRiMjJjNDBjNjMzMGQwMjIiKTsKK3ZhciByYXdLZXkgPSBh
c2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIpOworCitjcnlwdG8uc3VidGxlLmlt
cG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVzLWNiYyIsIGV4dHJhY3RhYmxlLCBbImRlY3J5cHQi
XSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1bHQ7CisgICAgLy8gV3Jv
bmcgaXYgbGVuZ3RoCisgICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmRlY3J5cHQoe25h
bWU6ICJhZXMtY2JjIiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCIiKX0sIGtleSwgY2lwaGVyVGV4
dCknKTsKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZGVjcnlwdCh7bmFtZTogImFl
cy1jYmMiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImoiKX0sIGtleSwgY2lwaGVyVGV4dCknKTsK
KyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZGVjcnlwdCh7bmFtZTogImFlcy1jYmMi
LCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXJkIil9LCBrZXksIGNpcGhl
clRleHQpJyk7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworCitjcnlwdG8uc3VidGxlLmlt
cG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVzLWNmYi04IiwgZXh0cmFjdGFibGUsIFsiZGVjcnlw
dCJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKyAgICAvLyBX
cm9uZyBpdiBsZW5ndGgKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZGVjcnlwdCh7
bmFtZTogImFlcy1jZmItOCIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiIil9LCBrZXksIGNpcGhl
clRleHQpJyk7CisgICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmRlY3J5cHQoe25hbWU6
ICJhZXMtY2ZiLTgiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImoiKX0sIGtleSwgY2lwaGVyVGV4
dCknKTsKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZGVjcnlwdCh7bmFtZTogImFl
cy1jZmItOCIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNcmQiKX0sIGtl
eSwgY2lwaGVyVGV4dCknKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKKzwvc2NyaXB0
PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL2Flcy1jYmMtY2ZiLWVuY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWNmYi1lbmNyeXB0LW1hbGZvcm1l
ZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYmI1YjI2NzI4ODMxZGM1MmUw
NmFhMzBmM2YzZTFmYWI3MDVjY2Y1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9hZXMtY2JjLWNmYi1lbmNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDI2IEBACitUZXN0IGVuY3J5cHRpbmcgdXNpbmcgQUVTLUNCQy9B
RVMtQ0ZCIHdpdGggbWFsZm9ybWVkIHBhcmFtZXRlcnMKKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCisKK1BBU1MgY3J5cHRvLnN1YnRsZS5lbmNyeXB0KCJhZXMtY2JjIiwga2V5LCBwbGFp
blRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBNZW1iZXIgQWVzQ2JjQ2Zi
UGFyYW1zLml2IGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEJ1ZmZlclNv
dXJjZS4KK1BBU1MgY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyJ9LCBrZXks
IHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1lbWJlciBBZXND
YmNDZmJQYXJhbXMuaXYgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgQnVm
ZmVyU291cmNlLgorUEFTUyBjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwg
aXY6IHRydWV9LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJy
b3I6IFR5cGUgZXJyb3IuCitQQVNTIGNyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1j
YmMiLCBpdjogMX0sIGtleSwgcGxhaW5UZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVF
cnJvcjogVHlwZSBlcnJvci4KK1BBU1MgY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVz
LWNiYyIsIGl2OiBudWxsfSwga2V5LCBwbGFpblRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGgg
VHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6
ICJhZXMtY2JjIiwgaXY6IHVuZGVmaW5lZH0sIGtleSwgcGxhaW5UZXh0KSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIFR5cGVFcnJvcjogTWVtYmVyIEFlc0NiY0NmYlBhcmFtcy5pdiBpcyByZXF1aXJl
ZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBCdWZmZXJTb3VyY2UuCitQQVNTIGNyeXB0by5z
dWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogU3ltYm9sKCl9LCBrZXksIHBsYWlu
VGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNT
IGNyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogeyB9fSwga2V5LCBw
bGFpblRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgor
UEFTUyBjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6ICJmb28ifSwg
a2V5LCBwbGFpblRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVy
cm9yLgorUEFTUyBjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IGFz
Y2lpVG9VaW50OEFycmF5KCIiKX0sIGtleSwgcGxhaW5UZXh0KSByZWplY3RlZCBwcm9taXNlICB3
aXRoIE9wZXJhdGlvbkVycm9yIChET00gRXhjZXB0aW9uIDM0KTogVGhlIG9wZXJhdGlvbiBmYWls
ZWQgZm9yIGFuIG9wZXJhdGlvbi1zcGVjaWZpYyByZWFzb24uCitQQVNTIGNyeXB0by5zdWJ0bGUu
ZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImoiKX0sIGtl
eSwgcGxhaW5UZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE9wZXJhdGlvbkVycm9yIChET00g
RXhjZXB0aW9uIDM0KTogVGhlIG9wZXJhdGlvbiBmYWlsZWQgZm9yIGFuIG9wZXJhdGlvbi1zcGVj
aWZpYyByZWFzb24uCitQQVNTIGNyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMi
LCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXJkIil9LCBrZXksIHBsYWlu
VGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBPcGVyYXRpb25FcnJvciAoRE9NIEV4Y2VwdGlv
biAzNCk6IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciBhbiBvcGVyYXRpb24tc3BlY2lmaWMgcmVh
c29uLgorUEFTUyBjcnlwdG8uc3VidGxlLmVuY3J5cHQoImFlcy1jZmItOCIsIGtleSwgcGxhaW5U
ZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTWVtYmVyIEFlc0NiY0NmYlBh
cmFtcy5pdiBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBCdWZmZXJTb3Vy
Y2UuCitQQVNTIGNyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jZmItOCJ9LCBrZXks
IHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1lbWJlciBBZXND
YmNDZmJQYXJhbXMuaXYgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgQnVm
ZmVyU291cmNlLgorUEFTUyBjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2ZiLTgi
LCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoIiIpfSwga2V5LCBwbGFpblRleHQpIHJlamVjdGVkIHBy
b21pc2UgIHdpdGggT3BlcmF0aW9uRXJyb3IgKERPTSBFeGNlcHRpb24gMzQpOiBUaGUgb3BlcmF0
aW9uIGZhaWxlZCBmb3IgYW4gb3BlcmF0aW9uLXNwZWNpZmljIHJlYXNvbi4KK1BBU1MgY3J5cHRv
LnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNmYi04IiwgaXY6IGFzY2lpVG9VaW50OEFycmF5
KCJqIil9LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBPcGVyYXRpb25F
cnJvciAoRE9NIEV4Y2VwdGlvbiAzNCk6IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciBhbiBvcGVy
YXRpb24tc3BlY2lmaWMgcmVhc29uLgorUEFTUyBjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6
ICJhZXMtY2ZiLTgiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXJkIil9
LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBPcGVyYXRpb25FcnJvciAo
RE9NIEV4Y2VwdGlvbiAzNCk6IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciBhbiBvcGVyYXRpb24t
c3BlY2lmaWMgcmVhc29uLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNi
Yy1jZmItZW5jcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sIGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9hZXMtY2JjLWNmYi1lbmNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMDg1N2NhNDVhMDJhZmJhN2U2N2QxZTBmMTY5ZWY2ZTIxODgyYmY1YQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1jZmItZW5j
cnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCkBAIC0wLDAgKzEsNTcgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24u
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3Qg
ZW5jcnlwdGluZyB1c2luZyBBRVMtQ0JDL0FFUy1DRkIgd2l0aCBtYWxmb3JtZWQgcGFyYW1ldGVy
cyIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gZmFsc2U7
Cit2YXIgcGxhaW5UZXh0ID0gYXNjaWlUb1VpbnQ4QXJyYXkoIkhlbGxvLCBXb3JsZCEiKTsKK3Zh
ciByYXdLZXkgPSBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIpOworCitjcnlw
dG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVzLWNiYyIsIGV4dHJhY3RhYmxl
LCBbImVuY3J5cHQiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1bHQ7
CisgICAgLy8gTWFsZm9ybWVkIEFsZ29yaXRobUlkZW50aWZpZXJzCisgICAgc2hvdWxkUmVqZWN0
KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQoImFlcy1jYmMiLCBrZXksIHBsYWluVGV4dCknKTsKKyAg
ICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMifSwg
a2V5LCBwbGFpblRleHQpJyk7CisgICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmVuY3J5
cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IHRydWV9LCBrZXksIHBsYWluVGV4dCknKTsKKyAgICBz
aG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjog
MX0sIGtleSwgcGxhaW5UZXh0KScpOworICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5l
bmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBudWxsfSwga2V5LCBwbGFpblRleHQpJyk7Cisg
ICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwg
aXY6IHVuZGVmaW5lZH0sIGtleSwgcGxhaW5UZXh0KScpOworICAgIHNob3VsZFJlamVjdCgnY3J5
cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBTeW1ib2woKX0sIGtleSwg
cGxhaW5UZXh0KScpOworICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtu
YW1lOiAiYWVzLWNiYyIsIGl2OiB7IH19LCBrZXksIHBsYWluVGV4dCknKTsKKyAgICBzaG91bGRS
ZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogImZvbyJ9
LCBrZXksIHBsYWluVGV4dCknKTsKKyAgICAvLyBXcm9uZyBpdiBsZW5ndGgKKyAgICBzaG91bGRS
ZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogYXNjaWlU
b1VpbnQ4QXJyYXkoIiIpfSwga2V5LCBwbGFpblRleHQpJyk7CisgICAgc2hvdWxkUmVqZWN0KCdj
cnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IGFzY2lpVG9VaW50OEFy
cmF5KCJqIil9LCBrZXksIHBsYWluVGV4dCknKTsKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5z
dWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImpu
T3c5OW9PWkZMSUVQTXJkIil9LCBrZXksIHBsYWluVGV4dCknKTsKKworICAgIGZpbmlzaEpTVGVz
dCgpOworfSk7CisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMt
Y2ZiLTgiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0Il0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7
CisgICAga2V5ID0gcmVzdWx0OworICAgIC8vIE1hbGZvcm1lZCBBbGdvcml0aG1JZGVudGlmaWVy
cworICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5lbmNyeXB0KCJhZXMtY2ZiLTgiLCBr
ZXksIHBsYWluVGV4dCknKTsKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlw
dCh7bmFtZTogImFlcy1jZmItOCJ9LCBrZXksIHBsYWluVGV4dCknKTsKKyAgICAvLyBXcm9uZyBp
diBsZW5ndGgKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTog
ImFlcy1jZmItOCIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiIil9LCBrZXksIHBsYWluVGV4dCkn
KTsKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1j
ZmItOCIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiaiIpfSwga2V5LCBwbGFpblRleHQpJyk7Cisg
ICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2ZiLTgi
LCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXJkIil9LCBrZXksIHBsYWlu
VGV4dCknKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKKzwvc2NyaXB0PgorCis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1j
YmMtZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQwMmYwZjliYmYzZGQxMjU5
ZmZhMmEyZmU3ZjVlNWMwMWU1OTU2MmMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWRlY3J5cHQt
bWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIg
KzAsMCBAQAotVGVzdCBkZWNyeXB0aW5nIHVzaW5nIEFFUy1DQkMgd2l0aCBtYWxmb3JtZWQgcGFy
YW1ldGVycwotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBjcnlwdG8uc3Vi
dGxlLmRlY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCIiKX0s
IGtleSwgY2lwaGVyVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBPcGVyYXRpb25FcnJvciAo
RE9NIEV4Y2VwdGlvbiAzNCk6IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciBhbiBvcGVyYXRpb24t
c3BlY2lmaWMgcmVhc29uLgotUEFTUyBjcnlwdG8uc3VidGxlLmRlY3J5cHQoe25hbWU6ICJhZXMt
Y2JjIiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqIil9LCBrZXksIGNpcGhlclRleHQpIHJlamVj
dGVkIHByb21pc2UgIHdpdGggT3BlcmF0aW9uRXJyb3IgKERPTSBFeGNlcHRpb24gMzQpOiBUaGUg
b3BlcmF0aW9uIGZhaWxlZCBmb3IgYW4gb3BlcmF0aW9uLXNwZWNpZmljIHJlYXNvbi4KLVBBU1Mg
Y3J5cHRvLnN1YnRsZS5kZWNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBhc2NpaVRvVWludDhB
cnJheSgiam5Pdzk5b09aRkxJRVBNcmQiKX0sIGtleSwgY2lwaGVyVGV4dCkgcmVqZWN0ZWQgcHJv
bWlzZSAgd2l0aCBPcGVyYXRpb25FcnJvciAoRE9NIEV4Y2VwdGlvbiAzNCk6IFRoZSBvcGVyYXRp
b24gZmFpbGVkIGZvciBhbiBvcGVyYXRpb24tc3BlY2lmaWMgcmVhc29uLgotUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1kZWNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZGVjcnlwdC1tYWxmb3Jt
ZWQtcGFyYW1ldGVycy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMDQ2NDg0
MzQxODM4MTMzNjgxZTNjZjNlYTZiZmQzMjFiNWU3MDQ0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNi
Yy1kZWNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwz
NCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLQotPHNjcmlwdD4K
LWRlc2NyaXB0aW9uKCJUZXN0IGRlY3J5cHRpbmcgdXNpbmcgQUVTLUNCQyB3aXRoIG1hbGZvcm1l
ZCBwYXJhbWV0ZXJzIik7Ci0KLWpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi12YXIgZXh0cmFjdGFi
bGUgPSBmYWxzZTsKLXZhciBjaXBoZXJUZXh0ID0gaGV4U3RyaW5nVG9VaW50OEFycmF5KCIyZmZh
NDYxODc4NGRmZDQxNGIyMmM0MGM2MzMwZDAyMiIpOwotdmFyIHJhd0tleSA9IGFzY2lpVG9VaW50
OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIik7Ci0KLWNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJy
YXciLCByYXdLZXksICJhZXMtY2JjIiwgZXh0cmFjdGFibGUsIFsiZGVjcnlwdCJdKS50aGVuKGZ1
bmN0aW9uKHJlc3VsdCkgewotICAgIGtleSA9IHJlc3VsdDsKLSAgICAvLyBXcm9uZyBpdiBsZW5n
dGgKLSAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZGVjcnlwdCh7bmFtZTogImFlcy1j
YmMiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoIiIpfSwga2V5LCBjaXBoZXJUZXh0KScpOwotICAg
IHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5kZWNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2
OiBhc2NpaVRvVWludDhBcnJheSgiaiIpfSwga2V5LCBjaXBoZXJUZXh0KScpOwotICAgIHNob3Vs
ZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5kZWNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBhc2Np
aVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNcmQiKX0sIGtleSwgY2lwaGVyVGV4dCknKTsK
LQotICAgIGZpbmlzaEpTVGVzdCgpOwotfSk7Ci0KLTwvc2NyaXB0PgotCi08c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZW5jcnlw
dC1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL2Flcy1jYmMtZW5jcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMxM2Q5NjI4MGI3YzE0ZTQ2OWM3NjA0YjE1
MDlmM2IzZWNkOTdjNjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWVuY3J5cHQtbWFsZm9ybWVk
LXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAot
VGVzdCBlbmNyeXB0aW5nIHVzaW5nIEFFUy1DQkMgd2l0aCBtYWxmb3JtZWQgcGFyYW1ldGVycwot
Ci1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBjcnlwdG8uc3VidGxlLmVuY3J5
cHQoImFlcy1jYmMiLCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBl
RXJyb3I6IE1lbWJlciBBZXNDYmNQYXJhbXMuaXYgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4g
aW5zdGFuY2Ugb2YgQnVmZmVyU291cmNlLgotUEFTUyBjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25h
bWU6ICJhZXMtY2JjIn0sIGtleSwgcGxhaW5UZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5
cGVFcnJvcjogTWVtYmVyIEFlc0NiY1BhcmFtcy5pdiBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBh
biBpbnN0YW5jZSBvZiBCdWZmZXJTb3VyY2UuCi1QQVNTIGNyeXB0by5zdWJ0bGUuZW5jcnlwdCh7
bmFtZTogImFlcy1jYmMiLCBpdjogdHJ1ZX0sIGtleSwgcGxhaW5UZXh0KSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgY3J5cHRvLnN1YnRsZS5lbmNy
eXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiAxfSwga2V5LCBwbGFpblRleHQpIHJlamVjdGVkIHBy
b21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBjcnlwdG8uc3VidGxlLmVu
Y3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IG51bGx9LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0
ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIGNyeXB0by5zdWJ0
bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogdW5kZWZpbmVkfSwga2V5LCBwbGFpblRl
eHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBNZW1iZXIgQWVzQ2JjUGFyYW1z
Lml2IGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEJ1ZmZlclNvdXJjZS4K
LVBBU1MgY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBTeW1ib2wo
KX0sIGtleSwgcGxhaW5UZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlw
ZSBlcnJvci4KLVBBU1MgY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2
OiB7IH19LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6
IFR5cGUgZXJyb3IuCi1QQVNTIGNyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMi
LCBpdjogImZvbyJ9LCBrZXksIHBsYWluVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBl
RXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIGNyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFl
cy1jYmMiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoIiIpfSwga2V5LCBwbGFpblRleHQpIHJlamVj
dGVkIHByb21pc2UgIHdpdGggT3BlcmF0aW9uRXJyb3IgKERPTSBFeGNlcHRpb24gMzQpOiBUaGUg
b3BlcmF0aW9uIGZhaWxlZCBmb3IgYW4gb3BlcmF0aW9uLXNwZWNpZmljIHJlYXNvbi4KLVBBU1Mg
Y3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBhc2NpaVRvVWludDhB
cnJheSgiaiIpfSwga2V5LCBwbGFpblRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggT3BlcmF0
aW9uRXJyb3IgKERPTSBFeGNlcHRpb24gMzQpOiBUaGUgb3BlcmF0aW9uIGZhaWxlZCBmb3IgYW4g
b3BlcmF0aW9uLXNwZWNpZmljIHJlYXNvbi4KLVBBU1MgY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtu
YW1lOiAiYWVzLWNiYyIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNcmQi
KX0sIGtleSwgcGxhaW5UZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE9wZXJhdGlvbkVycm9y
IChET00gRXhjZXB0aW9uIDM0KTogVGhlIG9wZXJhdGlvbiBmYWlsZWQgZm9yIGFuIG9wZXJhdGlv
bi1zcGVjaWZpYyByZWFzb24uCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRF
U1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMt
Y2JjLWVuY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvYWVzLWNiYy1lbmNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDliMGIzZmI2NTYzMzY1NDljZTcyYzJmZWU1ODJhMjgw
YzQ0OTc2YzUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWVuY3J5cHQtbWFsZm9ybWVkLXBhcmFt
ZXRlcnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwv
c2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0PgotZGVzY3JpcHRpb24oIlRlc3QgZW5jcnlw
dGluZyB1c2luZyBBRVMtQ0JDIHdpdGggbWFsZm9ybWVkIHBhcmFtZXRlcnMiKTsKLQotanNUZXN0
SXNBc3luYyA9IHRydWU7Ci0KLXZhciBleHRyYWN0YWJsZSA9IGZhbHNlOwotdmFyIHBsYWluVGV4
dCA9IGFzY2lpVG9VaW50OEFycmF5KCJIZWxsbywgV29ybGQhIik7Ci12YXIgcmF3S2V5ID0gYXNj
aWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKTsKLQotY3J5cHRvLnN1YnRsZS5pbXBv
cnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1jYmMiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0Il0p
LnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAga2V5ID0gcmVzdWx0OwotICAgIC8vIE1hbGZv
cm1lZCBBbGdvcml0aG1JZGVudGlmaWVycwotICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRs
ZS5lbmNyeXB0KCJhZXMtY2JjIiwga2V5LCBwbGFpblRleHQpJyk7Ci0gICAgc2hvdWxkUmVqZWN0
KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIn0sIGtleSwgcGxhaW5UZXh0
KScpOwotICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVz
LWNiYyIsIGl2OiB0cnVlfSwga2V5LCBwbGFpblRleHQpJyk7Ci0gICAgc2hvdWxkUmVqZWN0KCdj
cnlwdG8uc3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IDF9LCBrZXksIHBsYWlu
VGV4dCknKTsKLSAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTog
ImFlcy1jYmMiLCBpdjogbnVsbH0sIGtleSwgcGxhaW5UZXh0KScpOwotICAgIHNob3VsZFJlamVj
dCgnY3J5cHRvLnN1YnRsZS5lbmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiB1bmRlZmluZWR9
LCBrZXksIHBsYWluVGV4dCknKTsKLSAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5j
cnlwdCh7bmFtZTogImFlcy1jYmMiLCBpdjogU3ltYm9sKCl9LCBrZXksIHBsYWluVGV4dCknKTsK
LSAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZW5jcnlwdCh7bmFtZTogImFlcy1jYmMi
LCBpdjogeyB9fSwga2V5LCBwbGFpblRleHQpJyk7Ci0gICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8u
c3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6ICJmb28ifSwga2V5LCBwbGFpblRl
eHQpJyk7Ci0gICAgLy8gV3JvbmcgaXYgbGVuZ3RoCi0gICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8u
c3VidGxlLmVuY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCIi
KX0sIGtleSwgcGxhaW5UZXh0KScpOwotICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5l
bmNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiaiIpfSwga2V5
LCBwbGFpblRleHQpJyk7Ci0gICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmVuY3J5cHQo
e25hbWU6ICJhZXMtY2JjIiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1y
ZCIpfSwga2V5LCBwbGFpblRleHQpJyk7Ci0KLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0pOwotCi08
L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktdW53cmFwLWp3ay1yc2Eta2V5LXB1YmxpYy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtl
eS11bndyYXAtandrLXJzYS1rZXktcHVibGljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYmNi
MWQ4ZWEwNzVjMmEyZmFkZTNmZGU5N2ExNTM3Y2Y4ZWRmMDg1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktdW53cmFwLWp3ay1y
c2Eta2V5LXB1YmxpYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGVzdCB1bndyYXBw
aW5nIGEgSldLIFJTQSBwdWJsaWMga2V5IHdpdGggQUVTLUNCQyB1c2luZyBhbiBpbXBvcnRlZCBr
ZXkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdW53cmFwcGVkS2V5Lmt0
eSBpcyBqd2tLZXkua3R5CitQQVNTIHVud3JhcHBlZEtleS5hbGcgaXMgandrS2V5LmFsZworUEFT
UyB1bndyYXBwZWRLZXkua2V5X29wcyBpcyBqd2tLZXkua2V5X29wcworUEFTUyB1bndyYXBwZWRL
ZXkuZXh0IGlzIGp3a0tleS5leHQKK1BBU1MgdW53cmFwcGVkS2V5Lm4gaXMgandrS2V5Lm4KK1BB
U1MgdW53cmFwcGVkS2V5LmUgaXMgandrS2V5LmUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS11bndyYXAtandrLXJzYS1rZXktcHVibGljLmh0bWwg
Yi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS11bndyYXAtandr
LXJzYS1rZXktcHVibGljLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2E5ZDg2ZTZhMzljZmEzYzY2ODE0ZTli
NzU2NDE3ZmIwZGFiZjVhMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LXVud3JhcC1qd2stcnNhLWtleS1wdWJsaWMuaHRtbApA
QCAtMCwwICsxLDU1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNj
cmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IHVud3JhcHBpbmcgYSBKV0sgUlNBIHB1YmxpYyBrZXkg
d2l0aCBBRVMtQ0JDIHVzaW5nIGFuIGltcG9ydGVkIGtleSIpOworCitqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKK3ZhciBqd2tLZXkgPSB7CisgICAga3R5
OiAiUlNBIiwKKyAgICBhbGc6ICJSU0EtT0FFUCIsCisgICAgdXNlOiAiZW5jIiwKKyAgICBrZXlf
b3BzOiBbImVuY3J5cHQiXSwKKyAgICBleHQ6IHRydWUsCisgICAgbjogInJjQ1VDdjdPYzFIVmFt
MURJaEN6cWtuVGhXYXdPcDhRTGs4Wml5MnAxMEJ5alFGQ2Fqb0ZpeXVBV2wtUjFXWFphZjR4aXRM
UnJhY1Q5YWdwekl6Yy1NYkxTSElHZ1dRR08yMWxHaUlteTVmdFotRDhiSEFxUnoyeTE1cHpENGM0
Q0VvdTdYU1NMRG9SblIwUUc1TXNEaEQ2czJnVjltd0hrcnRrQ3h0TVdkQmktNzdhczh3R21sTlJs
ZGNPU2daRExLOFVuQ1NnQTFPZ3VaOTg5YkZ5Yzh0T09FSWIweFVTZlBTejNMUFNDbnlZejY4YURq
bUtWZU5ILWlnODU3T1NjeVdiR3lFeTNCaXc2NHF1bjNqdVVsTldzSjN6bmdrT2R0ZVlXeXR4NVFy
NFhLTnM2Ui1NeXlxNzJLVXAwMm1KRFppaXlpZ2x4TUxfaTMtX0NlZWNDdyIsCisgICAgZTogIkFR
QUIiCit9OwordmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1y
Iik7Cit2YXIgYWVzQ2JjUGFyYW1zID0geworICAgIG5hbWU6ICJhZXMtY2JjIiwKKyAgICBpdjog
YXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKSwKK30KK3ZhciB3cmFwcGVkS2V5
ID0gaGV4U3RyaW5nVG9VaW50OEFycmF5KCAiODQ4YWEyZjcwZWUxOGUyOTUzNTIwMTMyYTc5Y2Y0
Nzk0NmUwMGM5OTM2MjM0MGJiNjkwZWRjOWFiNTMxNTc1NzQ2MmMxMjgyNzhjNjIzMmU3NzBlNzQz
N2M1NmVkNzIyYThlMTcwMzg1NWY3ZjNlNTY1Mzk0ZTFhNmEwMzA1YzRlZjFiMzBmYTRjN2Y3MmQx
YTIzOWNjNmM2YmEwNjc4OTg3OThhMzZhNzUxMzJjNjZiNGEyZDNmYjk0Mjg4NmFmZmQzZWEzYjI3
NTZiMGRkYzg4NmMwMWUzYjkzMTA3NDY5YjgyMTI0NDY4NDA4ZWY4YWI1NDhiODVhYThmMjA2YzMx
MmQ3NGNlNGYyYzY3OWViMTQ3YTI3NWNlZmRhNjRkNWJkYzRhMmI1YjkwYTRhYzlhZDNlYjVmMmNm
MTlmNWY4NzY1MzIxMWY1OWI0NzMxYmE2MTEyNTU4MmEyMzM5NTEwOTdkZWE2NWRiMDU4OTlkNTg3
ZDFkY2ZjY2FiOWFiNzQxMGFiMzAxMGI4OTA2NjUwNmRiYWNiYzZiNzNlNGI1NjQ3OTI3NTEzODhm
YTBmNThkNTVjNTljMTRhMDhjOWRmYjBmNzgxMDBiMGY1Y2MyOWQ2MjMyODgyMjYzNmQzMGE2YTE1
M2VjNWNkNDcyN2FkNWU0N2I0MTljNDg1NDQ1NjU2MzdhYzU3ODk4NjNkNDNiN2RhNzhjZjQzODNk
MDlkNjZlOWQ0NThlNDM2ZGJmYmVlNzVlMzgyYjJiYWI0OWVlYzJjNzQ5MWZmOTNjZjA5OWZlOTJm
ZWFmNDY1OGUzMDg4OWZkMTJkM2FlNjFjZDVlOGM4ZTFlNTZhMDc5YjY2MmY5MGNkMTBjZGJkYmI0
ZDEyZWVmYjM2ZDgyNWUxYTA0M2U4MmY1YTk4Zjg5NjBkNjU1ZDNmOWVkNWFmMzFlNTgxZmE4NDZj
YzU4MmY2Y2VlNWMyNWUwYjNjMzIwNTA1MzRhZTk1N2NlMjc4NjBkNDcwYmEyNmRhMmM3ZDZmYTYy
MWIwZmFhOGJlY2FkNThlOWU1NWJiMmE5ZDk4NGIwNDJmMjVkZjIxNDgyNTI5ODcwZDI3MWNiZjU1
MDhhMGVkZmMzY2IzNzMxNmMxMWYxNmIzNDJiYzFmMWY5OGFhIik7CisKKworY3J5cHRvLnN1YnRs
ZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1jYmMiLCBleHRyYWN0YWJsZSwgWyJ1bndy
YXBLZXkiXSkudGhlbihmdW5jdGlvbih1bndyYXBwaW5nS2V5KSB7CisgICAgcmV0dXJuIGNyeXB0
by5zdWJ0bGUudW53cmFwS2V5KCJqd2siLCB3cmFwcGVkS2V5LCB1bndyYXBwaW5nS2V5LCBhZXND
YmNQYXJhbXMsIHtuYW1lOiAicnNhLW9hZXAiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUs
IFsiZW5jcnlwdCJdKTsKK30pLnRoZW4oZnVuY3Rpb24oY3J5cHRvS2V5KSB7CisgICAgcmV0dXJu
IGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBjcnlwdG9LZXkpOworfSkudGhlbihmdW5j
dGlvbihyZXN1bHQpIHsKKyAgICB1bndyYXBwZWRLZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRC
ZSgidW53cmFwcGVkS2V5Lmt0eSIsICJqd2tLZXkua3R5Iik7CisgICAgc2hvdWxkQmUoInVud3Jh
cHBlZEtleS5hbGciLCAiandrS2V5LmFsZyIpOworICAgIHNob3VsZEJlKCJ1bndyYXBwZWRLZXku
a2V5X29wcyIsICJqd2tLZXkua2V5X29wcyIpOworICAgIHNob3VsZEJlKCJ1bndyYXBwZWRLZXku
ZXh0IiwgImp3a0tleS5leHQiKTsKKyAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5Lm4iLCAiandr
S2V5Lm4iKTsKKyAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5LmUiLCAiandrS2V5LmUiKTsKKwor
ICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtl
eS11d3JhcC1qd2stcnNhLWtleS1wdWJsaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktdXdyYXAtandrLXJzYS1rZXktcHVibGljLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWJjYjFkOGVhMDc1YzJh
MmZhZGUzZmRlOTdhMTUzN2NmOGVkZjA4NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0
LWtleS11d3JhcC1qd2stcnNhLWtleS1wdWJsaWMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMTUgKzAsMCBAQAotVGVzdCB1bndyYXBwaW5nIGEgSldLIFJTQSBwdWJsaWMga2V5IHdp
dGggQUVTLUNCQyB1c2luZyBhbiBpbXBvcnRlZCBrZXkKLQotT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgotCi0KLVBBU1MgdW53cmFwcGVkS2V5Lmt0eSBpcyBqd2tLZXkua3R5Ci1QQVNTIHVud3Jh
cHBlZEtleS5hbGcgaXMgandrS2V5LmFsZwotUEFTUyB1bndyYXBwZWRLZXkua2V5X29wcyBpcyBq
d2tLZXkua2V5X29wcwotUEFTUyB1bndyYXBwZWRLZXkuZXh0IGlzIGp3a0tleS5leHQKLVBBU1Mg
dW53cmFwcGVkS2V5Lm4gaXMgandrS2V5Lm4KLVBBU1MgdW53cmFwcGVkS2V5LmUgaXMgandrS2V5
LmUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS11
d3JhcC1qd2stcnNhLWtleS1wdWJsaWMuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUv
YWVzLWNiYy1pbXBvcnQta2V5LXV3cmFwLWp3ay1yc2Eta2V5LXB1YmxpYy5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YTlkODZlNmEzOWNmYTNjNjY4MTRlOWI3NTY0MTdmYjBk
YWJmNWExLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LXV3cmFwLWp3ay1yc2Et
a2V5LXB1YmxpYy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTUgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgot
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGVzdCB1
bndyYXBwaW5nIGEgSldLIFJTQSBwdWJsaWMga2V5IHdpdGggQUVTLUNCQyB1c2luZyBhbiBpbXBv
cnRlZCBrZXkiKTsKLQotanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLXZhciBleHRyYWN0YWJsZSA9
IHRydWU7Ci12YXIgandrS2V5ID0gewotICAgIGt0eTogIlJTQSIsCi0gICAgYWxnOiAiUlNBLU9B
RVAiLAotICAgIHVzZTogImVuYyIsCi0gICAga2V5X29wczogWyJlbmNyeXB0Il0sCi0gICAgZXh0
OiB0cnVlLAotICAgIG46ICJyY0NVQ3Y3T2MxSFZhbTFESWhDenFrblRoV2F3T3A4UUxrOFppeTJw
MTBCeWpRRkNham9GaXl1QVdsLVIxV1haYWY0eGl0TFJyYWNUOWFncHpJemMtTWJMU0hJR2dXUUdP
MjFsR2lJbXk1ZnRaLUQ4YkhBcVJ6MnkxNXB6RDRjNENFb3U3WFNTTERvUm5SMFFHNU1zRGhENnMy
Z1Y5bXdIa3J0a0N4dE1XZEJpLTc3YXM4d0dtbE5SbGRjT1NnWkRMSzhVbkNTZ0ExT2d1Wjk4OWJG
eWM4dE9PRUliMHhVU2ZQU3ozTFBTQ255WXo2OGFEam1LVmVOSC1pZzg1N09TY3lXYkd5RXkzQml3
NjRxdW4zanVVbE5Xc0ozem5na09kdGVZV3l0eDVRcjRYS05zNlItTXl5cTcyS1VwMDJtSkRaaWl5
aWdseE1MX2kzLV9DZWVjQ3ciLAotICAgIGU6ICJBUUFCIgotfTsKLXZhciByYXdLZXkgPSBhc2Np
aVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIpOwotdmFyIGFlc0NiY1BhcmFtcyA9IHsK
LSAgICBuYW1lOiAiYWVzLWNiYyIsCi0gICAgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlv
T1pGTElFUE1yIiksCi19Ci12YXIgd3JhcHBlZEtleSA9IGhleFN0cmluZ1RvVWludDhBcnJheSgg
Ijg0OGFhMmY3MGVlMThlMjk1MzUyMDEzMmE3OWNmNDc5NDZlMDBjOTkzNjIzNDBiYjY5MGVkYzlh
YjUzMTU3NTc0NjJjMTI4Mjc4YzYyMzJlNzcwZTc0MzdjNTZlZDcyMmE4ZTE3MDM4NTVmN2YzZTU2
NTM5NGUxYTZhMDMwNWM0ZWYxYjMwZmE0YzdmNzJkMWEyMzljYzZjNmJhMDY3ODk4Nzk4YTM2YTc1
MTMyYzY2YjRhMmQzZmI5NDI4ODZhZmZkM2VhM2IyNzU2YjBkZGM4ODZjMDFlM2I5MzEwNzQ2OWI4
MjEyNDQ2ODQwOGVmOGFiNTQ4Yjg1YWE4ZjIwNmMzMTJkNzRjZTRmMmM2NzllYjE0N2EyNzVjZWZk
YTY0ZDViZGM0YTJiNWI5MGE0YWM5YWQzZWI1ZjJjZjE5ZjVmODc2NTMyMTFmNTliNDczMWJhNjEx
MjU1ODJhMjMzOTUxMDk3ZGVhNjVkYjA1ODk5ZDU4N2QxZGNmY2NhYjlhYjc0MTBhYjMwMTBiODkw
NjY1MDZkYmFjYmM2YjczZTRiNTY0NzkyNzUxMzg4ZmEwZjU4ZDU1YzU5YzE0YTA4YzlkZmIwZjc4
MTAwYjBmNWNjMjlkNjIzMjg4MjI2MzZkMzBhNmExNTNlYzVjZDQ3MjdhZDVlNDdiNDE5YzQ4NTQ0
NTY1NjM3YWM1Nzg5ODYzZDQzYjdkYTc4Y2Y0MzgzZDA5ZDY2ZTlkNDU4ZTQzNmRiZmJlZTc1ZTM4
MmIyYmFiNDllZWMyYzc0OTFmZjkzY2YwOTlmZTkyZmVhZjQ2NThlMzA4ODlmZDEyZDNhZTYxY2Q1
ZThjOGUxZTU2YTA3OWI2NjJmOTBjZDEwY2RiZGJiNGQxMmVlZmIzNmQ4MjVlMWEwNDNlODJmNWE5
OGY4OTYwZDY1NWQzZjllZDVhZjMxZTU4MWZhODQ2Y2M1ODJmNmNlZTVjMjVlMGIzYzMyMDUwNTM0
YWU5NTdjZTI3ODYwZDQ3MGJhMjZkYTJjN2Q2ZmE2MjFiMGZhYThiZWNhZDU4ZTllNTViYjJhOWQ5
ODRiMDQyZjI1ZGYyMTQ4MjUyOTg3MGQyNzFjYmY1NTA4YTBlZGZjM2NiMzczMTZjMTFmMTZiMzQy
YmMxZjFmOThhYSIpOwotCi0KLWNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXks
ICJhZXMtY2JjIiwgZXh0cmFjdGFibGUsIFsidW53cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24odW53
cmFwcGluZ0tleSkgewotICAgIHJldHVybiBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgiandrIiwg
d3JhcHBlZEtleSwgdW53cmFwcGluZ0tleSwgYWVzQ2JjUGFyYW1zLCB7bmFtZTogInJzYS1vYWVw
IiwgaGFzaDogInNoYS0xIn0sIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiXSk7Ci19KS50aGVuKGZ1
bmN0aW9uKGNyeXB0b0tleSkgewotICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgi
andrIiwgY3J5cHRvS2V5KTsKLX0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgdW53cmFw
cGVkS2V5ID0gcmVzdWx0OwotCi0gICAgc2hvdWxkQmUoInVud3JhcHBlZEtleS5rdHkiLCAiandr
S2V5Lmt0eSIpOwotICAgIHNob3VsZEJlKCJ1bndyYXBwZWRLZXkuYWxnIiwgImp3a0tleS5hbGci
KTsKLSAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5LmtleV9vcHMiLCAiandrS2V5LmtleV9vcHMi
KTsKLSAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5LmV4dCIsICJqd2tLZXkuZXh0Iik7Ci0gICAg
c2hvdWxkQmUoInVud3JhcHBlZEtleS5uIiwgImp3a0tleS5uIik7Ci0gICAgc2hvdWxkQmUoInVu
d3JhcHBlZEtleS5lIiwgImp3a0tleS5lIik7Ci0KLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0pOwot
Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xMjgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRl
LWV4cG9ydC1rZXktandrLWxlbmd0aC0xMjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVmODI5
M2I4YWJjMWE3MGM2YzkyYzJhNjA4YTQxMjgwYWZmYjE0Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2st
bGVuZ3RoLTEyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVGVzdCBleHBvcnRpbmcg
YSAxMjggYml0cyBBRVMtQ0ZCIGtleSB3aXRoIEpXSyBmb3JtYXQKKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK0dlbmVyYXRpbmcgYSBrZXkuLi4KK0V4cG9ydGluZyBhIGtleS4uLgor
UEFTUyBrZXkua3R5IGlzICdvY3QnCitQQVNTIGtleS5rZXlfb3BzIGlzIFsnZGVjcnlwdCcsICdl
bmNyeXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5J10KK1BBU1Mga2V5LmFsZyBpcyAnQTEyOENG
QjgnCitQQVNTIGtleS5leHQgaXMgdHJ1ZQorUEFTUyBCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5
dGVMZW5ndGggaXMgMTYKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmIt
Z2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTEyOC5odG1sIGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xMjguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xYTAzN2QwODk1OGIwMjE5YzNjY2Y1MDBmMjQ5MmYzOWEwMzUwNjg4Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVy
YXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xMjguaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29t
bW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJU
ZXN0IGV4cG9ydGluZyBhIDEyOCBiaXRzIEFFUy1DRkIga2V5IHdpdGggSldLIGZvcm1hdCIpOwor
Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKKworZGVi
dWcoIkdlbmVyYXRpbmcgYSBrZXkuLi4iKTsKK2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25h
bWU6ICJhZXMtY2ZiLTgiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAi
ZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVud3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKGtleSkgewor
ICAgIGRlYnVnKCJFeHBvcnRpbmcgYSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRs
ZS5leHBvcnRLZXkoImp3ayIsIGtleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAg
IGtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJrZXkua3R5IiwgIidvY3QnIik7CisgICAg
c2hvdWxkQmUoImtleS5rZXlfb3BzIiwgIlsnZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vud3JhcEtl
eScsICd3cmFwS2V5J10iKTsKKyAgICBzaG91bGRCZSgia2V5LmFsZyIsICInQTEyOENGQjgnIik7
CisgICAgc2hvdWxkQmUoImtleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRV
UkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGgiLCAiMTYiKTsKKworICAgIGZpbmlzaEpTVGVzdCgp
OworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0
aC0xOTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdl
bmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xOTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljc5MTUyZDUyZmQ1ZTA5YzliOTUwNTNlMTUyZjVjYmYxZTg4MDY1ZjgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtl
eS1qd2stbGVuZ3RoLTE5Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVGVzdCBleHBv
cnRpbmcgYSAxOTIgYml0cyBBRVMtQ0ZCIGtleSB3aXRoIEpXSyBmb3JtYXQKKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK0dlbmVyYXRpbmcgYSBrZXkuLi4KK0V4cG9ydGluZyBhIGtl
eS4uLgorUEFTUyBrZXkua3R5IGlzICdvY3QnCitQQVNTIGtleS5rZXlfb3BzIGlzIFsnZGVjcnlw
dCcsICdlbmNyeXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5J10KK1BBU1Mga2V5LmFsZyBpcyAn
QTE5MkNGQjgnCitQQVNTIGtleS5leHQgaXMgdHJ1ZQorUEFTUyBCYXNlNjRVUkwucGFyc2Uoa2V5
LmspLmJ5dGVMZW5ndGggaXMgMjQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Fl
cy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTE5Mi5odG1sIGIvTGF5b3V0VGVz
dHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0x
OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iNGJiNDljM2FjMDIzMWZjNDVjNTkwOWY1ZmU4OGEyM2NmMmJh
ODc0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2Zi
LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xOTIuaHRtbApAQCAtMCwwICsxLDM3IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0
aW9uKCJUZXN0IGV4cG9ydGluZyBhIDE5MiBiaXRzIEFFUy1DRkIga2V5IHdpdGggSldLIGZvcm1h
dCIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsK
KworZGVidWcoIkdlbmVyYXRpbmcgYSBrZXkuLi4iKTsKK2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVL
ZXkoe25hbWU6ICJhZXMtY2ZiLTgiLCBsZW5ndGg6IDE5Mn0sIGV4dHJhY3RhYmxlLCBbImVuY3J5
cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVud3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKGtl
eSkgeworICAgIGRlYnVnKCJFeHBvcnRpbmcgYSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRv
LnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkg
eworICAgIGtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJrZXkua3R5IiwgIidvY3QnIik7
CisgICAgc2hvdWxkQmUoImtleS5rZXlfb3BzIiwgIlsnZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vu
d3JhcEtleScsICd3cmFwS2V5J10iKTsKKyAgICBzaG91bGRCZSgia2V5LmFsZyIsICInQTE5MkNG
QjgnIik7CisgICAgc2hvdWxkQmUoImtleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJC
YXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGgiLCAiMjQiKTsKKworICAgIGZpbmlzaEpT
VGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXktandr
LWxlbmd0aC0yNTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMt
Y2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0yNTYtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjYxYzc0YzliZDUyNDEwZjA0YTE3MzVkNjY0NzViZDY1NzYyZTFjYzUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhw
b3J0LWtleS1qd2stbGVuZ3RoLTI1Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVGVz
dCBleHBvcnRpbmcgYSAyNTYgYml0cyBBRVMtQ0ZCIGtleSB3aXRoIEpXSyBmb3JtYXQKKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0dlbmVyYXRpbmcgYSBrZXkuLi4KK0V4cG9ydGlu
ZyBhIGtleS4uLgorUEFTUyBrZXkua3R5IGlzICdvY3QnCitQQVNTIGtleS5rZXlfb3BzIGlzIFsn
ZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5J10KK1BBU1Mga2V5LmFs
ZyBpcyAnQTI1NkNGQjgnCitQQVNTIGtleS5leHQgaXMgdHJ1ZQorUEFTUyBCYXNlNjRVUkwucGFy
c2Uoa2V5LmspLmJ5dGVMZW5ndGggaXMgMzIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL2Flcy1jZmItZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTI1Ni5odG1sIGIvTGF5
b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxl
bmd0aC0yNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNWM2Mjk4NjE0ZDFkMjJlMTU3MGZlYTg1ODAyNjcy
ZDMyYmYyOGY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9h
ZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0yNTYuaHRtbApAQCAtMCwwICsx
LDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rl
c2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhIDI1NiBiaXRzIEFFUy1DRkIga2V5IHdpdGggSldL
IGZvcm1hdCIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0g
dHJ1ZTsKKworZGVidWcoIkdlbmVyYXRpbmcgYSBrZXkuLi4iKTsKK2NyeXB0by5zdWJ0bGUuZ2Vu
ZXJhdGVLZXkoe25hbWU6ICJhZXMtY2ZiLTgiLCBsZW5ndGg6IDI1Nn0sIGV4dHJhY3RhYmxlLCBb
ImVuY3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVud3JhcEtleSJdKS50aGVuKGZ1bmN0
aW9uKGtleSkgeworICAgIGRlYnVnKCJFeHBvcnRpbmcgYSBrZXkuLi4iKTsKKyAgICByZXR1cm4g
Y3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJl
c3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJrZXkua3R5IiwgIidv
Y3QnIik7CisgICAgc2hvdWxkQmUoImtleS5rZXlfb3BzIiwgIlsnZGVjcnlwdCcsICdlbmNyeXB0
JywgJ3Vud3JhcEtleScsICd3cmFwS2V5J10iKTsKKyAgICBzaG91bGRCZSgia2V5LmFsZyIsICIn
QTI1NkNGQjgnIik7CisgICAgc2hvdWxkQmUoImtleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3Vs
ZEJlKCJCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGgiLCAiMzIiKTsKKworICAgIGZp
bmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWV4cG9ydC1y
YXcta2V5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1n
ZW5lcmF0ZS1leHBvcnQtcmF3LWtleS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTNiZTY4NzUw
YWI2OTE4ZDRkOGNmNzQzNTkzNTk4MmQxMDA5NjdlZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGVzdCBleHBvcnRpbmcgYSAyNTYgYml0cyBBRVMt
Q0ZCIGtleSB3aXRoIHJhdyBmb3JtYXQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K0dlbmVyYXRpbmcgYSBrZXkuLi4KK0V4cG9ydGluZyBhIGtleS4uLgorUEFTUyBrZXkuYnl0ZUxl
bmd0aCBpcyAzMgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5l
cmF0ZS1leHBvcnQtcmF3LWtleS5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMt
Y2ZiLWdlbmVyYXRlLWV4cG9ydC1yYXcta2V5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2ZkOWQ4YzFlM2U1
MzMzODM0YzgxN2UwZDcwZGY3NDZlNmJkOThmZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS5odG1sCkBA
IC0wLDAgKzEsMzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2Ny
aXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgMjU2IGJpdHMgQUVTLUNGQiBrZXkg
d2l0aCByYXcgZm9ybWF0Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFj
dGFibGUgPSB0cnVlOworCitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4uLiIpOworY3J5cHRvLnN1
YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1jZmItOCIsIGxlbmd0aDogMjU2fSwgZXh0cmFj
dGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0IiwgIndyYXBLZXkiLCAidW53cmFwS2V5Il0pLnRo
ZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgZGVidWcoIkV4cG9ydGluZyBhIGtleS4uLiIpOworICAg
IHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3Iiwga2V5KTsKK30pLnRoZW4oZnVu
Y3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImtleS5i
eXRlTGVuZ3RoIiwgIjMyIik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+
CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0
bGUvYWVzLWNmYi1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNy
eXB0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xM2NiMjNlY2RmMWQ3YmVmMWQ2MDIzOTYzYjY1
ZWIyMjkyMjk1MDYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRs
ZS9hZXMtY2ZiLWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTQgQEAKK1Rlc3QgZW5jcnlwdGluZyZkZWNyeXB0aW5nIHVzaW5nIEFFUy1DRkIgYWxn
b3JpdGhtIHdpdGggYSBnZW5lcmF0ZWQgMjU2Yml0IGtleQorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleS4uLgorRW5jcnlwdGluZy4uLgorUEFTUyBieXRl
c1RvQVNDSUlTdHJpbmcoY2lwaGVyVGV4dCkgaXMgbm90ICJIZWxsbywgV29ybGQhIgorRGVjcnlw
dGluZy4uLgorUEFTUyBieXRlc1RvQVNDSUlTdHJpbmcoZGVjcnlwdGVkVGV4dCkgaXMgcGxhaW5U
ZXh0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWtl
eS1lbmNyeXB0LWRlY3J5cHQuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNm
Yi1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjAxMzc2YzZk
YTdiNWQyOWI4OWQzNjFhNTBlNzJiZDE1ZWI0YzdhZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0
Lmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBlbmNyeXB0aW5nJmRlY3J5cHRpbmcgdXNp
bmcgQUVTLUNGQiBhbGdvcml0aG0gd2l0aCBhIGdlbmVyYXRlZCAyNTZiaXQga2V5Iik7CisKK2pz
VGVzdElzQXN5bmMgPSB0cnVlOwordmFyIHBsYWluVGV4dCA9ICJIZWxsbywgV29ybGQhIjsKK3Zh
ciBhZXNDZmJQYXJhbXMgPSB7CisgICAgbmFtZTogImFlcy1jZmItOCIsCisgICAgaXY6IGFzY2lp
VG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIiksCit9CisKK2RlYnVnKCJHZW5lcmF0aW5n
IGEga2V5Li4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWNmYi04
IiwgbGVuZ3RoOiAyNTZ9LCB0cnVlLCBbImRlY3J5cHQiLCAiZW5jcnlwdCJdKS50aGVuKGZ1bmN0
aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKyAgICBkZWJ1ZygiRW5jcnlwdGluZy4u
LiIpOworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmVuY3J5cHQoYWVzQ2ZiUGFyYW1zLCBrZXks
IGFzY2lpVG9VaW50OEFycmF5KHBsYWluVGV4dCkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQp
IHsKKyAgICBjaXBoZXJUZXh0ID0gcmVzdWx0OworICAgIHNob3VsZE5vdEJlRXF1YWxUb1N0cmlu
ZygiYnl0ZXNUb0FTQ0lJU3RyaW5nKGNpcGhlclRleHQpIiwgcGxhaW5UZXh0KTsKKyAgICBkZWJ1
ZygiRGVjcnlwdGluZy4uLiIpOworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmRlY3J5cHQoYWVz
Q2ZiUGFyYW1zLCBrZXksIGNpcGhlclRleHQpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsK
KyAgICBkZWNyeXB0ZWRUZXh0ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImJ5dGVzVG9BU0NJ
SVN0cmluZyhkZWNyeXB0ZWRUZXh0KSIsICJwbGFpblRleHQiKTsKKworICAgIGZpbmlzaEpTVGVz
dCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWtleS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItZ2VuZXJhdGUta2V5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mZTQxYzAzODBhN2ZlYmZmNzM0YTdkNWM4OGQ4YmE0ZjdlYmRkMzc2
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWdl
bmVyYXRlLWtleS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGVzdCBnZW5lcmF0aW5n
IGFuIEFFUyBrZXkgd2l0aCBsZW5ndGggMTI4IHVzaW5nIEFFUy1DRkIgYWxnb3JpdGhtLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleS4uLgorUEFTUyBr
ZXkudHlwZSBpcyAnc2VjcmV0JworUEFTUyBrZXkuZXh0cmFjdGFibGUgaXMgdHJ1ZQorUEFTUyBr
ZXkuYWxnb3JpdGhtLm5hbWUgaXMgJ0FFUy1DRkItOCcKK1BBU1Mga2V5LmFsZ29yaXRobS5sZW5n
dGggaXMgMTI4CitQQVNTIGtleS51c2FnZXMgaXMgWydkZWNyeXB0JywgJ2VuY3J5cHQnLCAndW53
cmFwS2V5JywgJ3dyYXBLZXknXQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVz
LWNmYi1nZW5lcmF0ZS1rZXkuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNm
Yi1nZW5lcmF0ZS1rZXkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZDhlZDIzZDllZDdjYjA2MDA0MmM2Nzkx
ZDBhNzY1ZTQ5NWFmMWViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9hZXMtY2ZiLWdlbmVyYXRlLWtleS5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24u
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3Qg
Z2VuZXJhdGluZyBhbiBBRVMga2V5IHdpdGggbGVuZ3RoIDEyOCB1c2luZyBBRVMtQ0ZCIGFsZ29y
aXRobS4iKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2RlYnVnKCJHZW5lcmF0aW5nIGEg
a2V5Li4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWNmYi04Iiwg
bGVuZ3RoOiAxMjh9LCB0cnVlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCIsICJ1bndyYXBLZXkiLCAi
d3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKwor
ICAgIHNob3VsZEJlKCJrZXkudHlwZSIsICInc2VjcmV0JyIpOworICAgIHNob3VsZEJlKCJrZXku
ZXh0cmFjdGFibGUiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJrZXkuYWxnb3JpdGhtLm5hbWUi
LCAiJ0FFUy1DRkItOCciKTsKKyAgICBzaG91bGRCZSgia2V5LmFsZ29yaXRobS5sZW5ndGgiLCAi
MTI4Iik7CisgICAgc2hvdWxkQmUoImtleS51c2FnZXMiLCAiWydkZWNyeXB0JywgJ2VuY3J5cHQn
LCAndW53cmFwS2V5JywgJ3dyYXBLZXknXSIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsK
Kzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
cnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTEyOC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVu
Z3RoLTEyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDg4MDg5MTgwNmFlNjE2MzJlYzE3NGE2
NzRlZmQ5YzhmOTA3YmFmNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvYWVzLWNmYi1pbXBvcnQtandrLWtleS1sZW5ndGgtMTI4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE1IEBACitUZXN0IGltcG9ydGluZyBhIEpXSyBBRVMtQ0ZCIGtleSB3aXRoIGxlZ250
aCAxMjgKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0ltcG9ydGluZyBhIGtleS4u
LgorUEFTUyBrZXkudHlwZSBpcyAnc2VjcmV0JworUEFTUyBrZXkuZXh0cmFjdGFibGUgaXMgdHJ1
ZQorUEFTUyBrZXkuYWxnb3JpdGhtLm5hbWUgaXMgJ0FFUy1DRkItOCcKK1BBU1Mga2V5LmFsZ29y
aXRobS5sZW5ndGggaXMgMTI4CitQQVNTIGtleS51c2FnZXMgaXMgWydkZWNyeXB0JywgJ2VuY3J5
cHQnLCAndW53cmFwS2V5JywgJ3dyYXBLZXknXQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvYWVzLWNmYi1pbXBvcnQtandrLWtleS1sZW5ndGgtMTI4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTEyOC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmUyMTA5Yjg5N2MyNWYyZjhmNGY5NWUxMzFiNDRkOTMwYzY1MDZlZDUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3
ay1rZXktbGVuZ3RoLTEyOC5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgaW1wb3J0aW5n
IGEgSldLIEFFUy1DRkIga2V5IHdpdGggbGVnbnRoIDEyOCIpOworCitqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKwordmFyIGp3a0tleSA9IHsKKyAgICBrdHk6ICJvY3QiLAorICAgIGs6ICJZV0pqWkdW
bVoyZ3hNak0wTlRZM09BIiwKKyAgICBhbGc6ICJBMTI4Q0ZCOCIsCit9OwordmFyIGV4dHJhY3Rh
YmxlID0gdHJ1ZTsKKworZGVidWcoIkltcG9ydGluZyBhIGtleS4uLiIpOworY3J5cHRvLnN1YnRs
ZS5pbXBvcnRLZXkoImp3ayIsIGp3a0tleSwgImFlcy1jZmItOCIsIGV4dHJhY3RhYmxlLCBbImVu
Y3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVud3JhcEtleSJdKS50aGVuKGZ1bmN0aW9u
KHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJrZXkudHlwZSIs
ICInc2VjcmV0JyIpOworICAgIHNob3VsZEJlKCJrZXkuZXh0cmFjdGFibGUiLCAidHJ1ZSIpOwor
ICAgIHNob3VsZEJlKCJrZXkuYWxnb3JpdGhtLm5hbWUiLCAiJ0FFUy1DRkItOCciKTsKKyAgICBz
aG91bGRCZSgia2V5LmFsZ29yaXRobS5sZW5ndGgiLCAiMTI4Iik7CisgICAgc2hvdWxkQmUoImtl
eS51c2FnZXMiLCAiWydkZWNyeXB0JywgJ2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dyYXBLZXkn
XSIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKworPC9zY3JpcHQ+CisKKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTE5Mi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1r
ZXktbGVuZ3RoLTE5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjRiM2RmM2IzNWIwM2QwNDJh
N2QzMTY5MTE0MTQ0OTc3ZTA3NDYzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtandrLWtleS1sZW5ndGgtMTkyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDE1IEBACitUZXN0IGltcG9ydGluZyBhIEpXSyBBRVMtQ0ZCIGtleSB3aXRo
IGxlZ250aCAxOTIKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0ltcG9ydGluZyBh
IGtleS4uLgorUEFTUyBrZXkudHlwZSBpcyAnc2VjcmV0JworUEFTUyBrZXkuZXh0cmFjdGFibGUg
aXMgdHJ1ZQorUEFTUyBrZXkuYWxnb3JpdGhtLm5hbWUgaXMgJ0FFUy1DRkItOCcKK1BBU1Mga2V5
LmFsZ29yaXRobS5sZW5ndGggaXMgMTkyCitQQVNTIGtleS51c2FnZXMgaXMgWydkZWNyeXB0Jywg
J2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dyYXBLZXknXQorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtandrLWtleS1sZW5ndGgtMTkyLmh0bWwgYi9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3RoLTE5Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjE1MGI5ZDk3MDZkNzczYjY3NDRkYTBmNzdmYTY0OWMyYWE0NGVjZWUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1w
b3J0LWp3ay1rZXktbGVuZ3RoLTE5Mi5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgaW1w
b3J0aW5nIGEgSldLIEFFUy1DRkIga2V5IHdpdGggbGVnbnRoIDE5MiIpOworCitqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKwordmFyIGp3a0tleSA9IHsKKyAgICBrdHk6ICJvY3QiLAorICAgIGs6ICJB
NzJGRDQ4OTg5RUQ3RTkyQTNCM0EwODBGNzRGQTgwQiIsCisgICAgYWxnOiAiQTE5MkNGQjgiLAor
fTsKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK2RlYnVnKCJJbXBvcnRpbmcgYSBrZXkuLi4i
KTsKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCBqd2tLZXksICJhZXMtY2ZiLTgiLCBl
eHRyYWN0YWJsZSwgWyJlbmNyeXB0IiwgImRlY3J5cHQiLCAid3JhcEtleSIsICJ1bndyYXBLZXki
XSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1bHQ7CisKKyAgICBzaG91
bGRCZSgia2V5LnR5cGUiLCAiJ3NlY3JldCciKTsKKyAgICBzaG91bGRCZSgia2V5LmV4dHJhY3Rh
YmxlIiwgInRydWUiKTsKKyAgICBzaG91bGRCZSgia2V5LmFsZ29yaXRobS5uYW1lIiwgIidBRVMt
Q0ZCLTgnIik7CisgICAgc2hvdWxkQmUoImtleS5hbGdvcml0aG0ubGVuZ3RoIiwgIjE5MiIpOwor
ICAgIHNob3VsZEJlKCJrZXkudXNhZ2VzIiwgIlsnZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vud3Jh
cEtleScsICd3cmFwS2V5J10iKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKKzwvc2Ny
aXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1qd2sta2V5
LWxlbmd0aC0yNTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMt
Y2ZiLWltcG9ydC1qd2sta2V5LWxlbmd0aC0yNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM3
ZjA5YWNkZTM4ZGZhMWVlNzI5NDQ1MTBlMmJlM2VkNjcxN2I3Y2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3Ro
LTI1Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGVzdCBpbXBvcnRpbmcgYSBKV0sg
QUVTLUNGQiBrZXkgd2l0aCBsZWdudGggMjU2CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitJbXBvcnRpbmcgYSBrZXkuLi4KK1BBU1Mga2V5LnR5cGUgaXMgJ3NlY3JldCcKK1BBU1Mg
a2V5LmV4dHJhY3RhYmxlIGlzIHRydWUKK1BBU1Mga2V5LmFsZ29yaXRobS5uYW1lIGlzICdBRVMt
Q0ZCLTgnCitQQVNTIGtleS5hbGdvcml0aG0ubGVuZ3RoIGlzIDI1NgorUEFTUyBrZXkudXNhZ2Vz
IGlzIFsnZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5J10KK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWp3ay1rZXktbGVuZ3Ro
LTI1Ni5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1qd2st
a2V5LWxlbmd0aC0yNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzhkNmQ5MTQ2ZDc1ODZmODYzZjIyYTI3
MzhlY2E4Y2JiMzk5NTdlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9hZXMtY2ZiLWltcG9ydC1qd2sta2V5LWxlbmd0aC0yNTYuaHRtbApAQCAtMCwwICsxLDQw
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2Ny
aXB0aW9uKCJUZXN0IGltcG9ydGluZyBhIEpXSyBBRVMtQ0ZCIGtleSB3aXRoIGxlZ250aCAyNTYi
KTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBqd2tLZXkgPSB7CisgICAga3R5OiAi
b2N0IiwKKyAgICBrOiAiWVdKalpHVm1aMmd4TWpNME5UWTNPR0ZpWTJSbFptZG9NVEl6TkRVMk56
ZyIsCisgICAgYWxnOiAiQTI1NkNGQjgiLAorfTsKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisK
K2RlYnVnKCJJbXBvcnRpbmcgYSBrZXkuLi4iKTsKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJq
d2siLCBqd2tLZXksICJhZXMtY2ZiLTgiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0IiwgImRlY3J5
cHQiLCAid3JhcEtleSIsICJ1bndyYXBLZXkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAg
ICBrZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgia2V5LnR5cGUiLCAiJ3NlY3JldCciKTsK
KyAgICBzaG91bGRCZSgia2V5LmV4dHJhY3RhYmxlIiwgInRydWUiKTsKKyAgICBzaG91bGRCZSgi
a2V5LmFsZ29yaXRobS5uYW1lIiwgIidBRVMtQ0ZCLTgnIik7CisgICAgc2hvdWxkQmUoImtleS5h
bGdvcml0aG0ubGVuZ3RoIiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJrZXkudXNhZ2VzIiwgIlsn
ZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5J10iKTsKKworICAgIGZp
bmlzaEpTVGVzdCgpOworfSk7CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktZGVjcnlwdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1kZWNyeXB0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zMzBlNjBjMWUxZGFmNGUwOTkwMGM5ZDU3ODJlZjkyYzUwOWRkMTM3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1r
ZXktZGVjcnlwdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdCBkZWNyeXB0aW5n
IHVzaW5nIEFFUy1DRkIgd2l0aCBhbiBpbXBvcnRlZCAxMjhiaXQga2V5CisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIGJ5dGVzVG9BU0NJSVN0cmluZyhwbGFpblRleHQpIGlz
IGV4cGVjdGVkUGxhaW5UZXh0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMt
Y2ZiLWltcG9ydC1rZXktZGVjcnlwdC5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9h
ZXMtY2ZiLWltcG9ydC1rZXktZGVjcnlwdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3NzdjNzkxMDRmMDhk
NDhlZWNhMDRlYjU1NGI2Y2Q2OTRhYmZhNjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1kZWNyeXB0Lmh0bWwKQEAgLTAsMCAr
MSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbigiVGVzdCBkZWNyeXB0aW5nIHVzaW5nIEFFUy1DRkIgd2l0aCBhbiBpbXBvcnRl
ZCAxMjhiaXQga2V5Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFi
bGUgPSBmYWxzZTsKK3ZhciBjaXBoZXJUZXh0ID0gaGV4U3RyaW5nVG9VaW50OEFycmF5KCJhNTcy
NTI1YTBiYWVmODhlNmY1YjE5OGM2ZiIpOwordmFyIGFlc0NmYlBhcmFtcyA9IHsKKyAgICBuYW1l
OiAiYWVzLWNmYi04IiwKKyAgICBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQ
TXIiKSwKK30KK3ZhciByYXdLZXkgPSBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBN
ciIpOwordmFyIGV4cGVjdGVkUGxhaW5UZXh0ID0gIkhlbGxvLCBXb3JsZCEiOworCitjcnlwdG8u
c3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVzLWNmYi04IiwgZXh0cmFjdGFibGUs
IFsiZGVjcnlwdCJdKS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIHJldHVybiBjcnlwdG8uc3Vi
dGxlLmRlY3J5cHQoYWVzQ2ZiUGFyYW1zLCBrZXksIGNpcGhlclRleHQpOworfSkudGhlbihmdW5j
dGlvbihyZXN1bHQpIHsKKyAgICBwbGFpblRleHQgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgi
Ynl0ZXNUb0FTQ0lJU3RyaW5nKHBsYWluVGV4dCkiLCAiZXhwZWN0ZWRQbGFpblRleHQiKTsKKwor
ICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtl
eS1lbmNyeXB0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNm
Yi1pbXBvcnQta2V5LWVuY3J5cHQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5ZGNjZjYwMmM5
NGU1ZDg0NzNlZTA2NThlMjAxZjNhMDcwNzQyNjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1lbmNyeXB0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEwIEBACitUZXN0IGVuY3J5cHRpbmcgdXNpbmcgQUVTLUNGQiB3aXRoIGFu
IGltcG9ydGVkIDEyOGJpdCBrZXkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1MgYnl0ZXNUb0hleFN0cmluZyhjaXBoZXJUZXh0KSBpcyBleHBlY3RlZENpcGhlclRleHQKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1lbmNyeXB0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1lbmNy
eXB0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNGZiZWJiMTRiNTMzYTNjYmVjNTFlY2YzZDg2MGQyZDcwNTk1
NjJlZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNm
Yi1pbXBvcnQta2V5LWVuY3J5cHQuaHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGVuY3J5
cHRpbmcgdXNpbmcgQUVTLUNGQiB3aXRoIGFuIGltcG9ydGVkIDEyOGJpdCBrZXkiKTsKKworanNU
ZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IGZhbHNlOwordmFyIHBsYWlu
VGV4dCA9IGFzY2lpVG9VaW50OEFycmF5KCJIZWxsbywgV29ybGQhIik7Cit2YXIgYWVzQ2ZiUGFy
YW1zID0geworICAgIG5hbWU6ICJhZXMtY2ZiLTgiLAorICAgIGl2OiBhc2NpaVRvVWludDhBcnJh
eSgiam5Pdzk5b09aRkxJRVBNciIpLAorfQordmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFycmF5
KCJqbk93OTlvT1pGTElFUE1yIik7Cit2YXIgZXhwZWN0ZWRDaXBoZXJUZXh0ID0gImE1NzI1MjVh
MGJhZWY4OGU2ZjViMTk4YzZmIjsKKworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJh
d0tleSwgImFlcy1jZmItOCIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiXSkudGhlbihmdW5jdGlv
bihrZXkpIHsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5lbmNyeXB0KGFlc0NmYlBhcmFtcywg
a2V5LCBwbGFpblRleHQpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBjaXBoZXJU
ZXh0ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImJ5dGVzVG9IZXhTdHJpbmcoY2lwaGVyVGV4
dCkiLCAiZXhwZWN0ZWRDaXBoZXJUZXh0Iik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOwor
Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWp3ay1rZXktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFw
LWp3ay1rZXktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM4ZTMwMGYxNTJhZjBiNTliZWM5MThi
NjQ3MWMwOTFiOGI3MDg0ZjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAtandrLWtleS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxNCBAQAorVGVzdCB1bndyYXBwaW5nIGEgSldLIGtleSB3aXRoIEFFUy1DRkIgdXNp
bmcgYW4gaW1wb3J0ZWQga2V5CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
IHVud3JhcHBlZEtleS5rdHkgaXMgandrS2V5Lmt0eQorUEFTUyB1bndyYXBwZWRLZXkuYWxnIGlz
IGp3a0tleS5hbGcKK1BBU1MgdW53cmFwcGVkS2V5LmtleV9vcHMgaXMgandrS2V5LmtleV9vcHMK
K1BBU1MgdW53cmFwcGVkS2V5LmV4dCBpcyBqd2tLZXkuZXh0CitQQVNTIHVud3JhcHBlZEtleS5r
IGlzIGp3a0tleS5rCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWlt
cG9ydC1rZXktdW53cmFwLWp3ay1rZXkuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUv
YWVzLWNmYi1pbXBvcnQta2V5LXVud3JhcC1qd2sta2V5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmE0NWIx
NDk4ZDZiMzBiY2IxNjEyZmIyYzY1OGM4NGFlMTU0N2Y1NQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXVud3JhcC1qd2sta2V5
Lmh0bWwKQEAgLTAsMCArMSw1MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCB1bndyYXBwaW5nIGEgSldLIGtleSB3aXRo
IEFFUy1DRkIgdXNpbmcgYW4gaW1wb3J0ZWQga2V5Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVl
OworCit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOwordmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFy
cmF5KCJqbk93OTlvT1pGTElFUE1yIik7Cit2YXIgandrS2V5ID0geworICAgIGt0eTogIm9jdCIs
CisgICAgYWxnOiAiQTEyOENCQyIsCisgICAgdXNlOiAiZW5jIiwKKyAgICBrZXlfb3BzOiBbImVu
Y3J5cHQiXSwKKyAgICBleHQ6IHRydWUsCisgICAgazogImFtNVBkems1YjA5YVJreEpSVkJOY2ci
LAorfTsKK3ZhciBhZXNDZmJQYXJhbXMgPSB7CisgICAgbmFtZTogImFlcy1jZmItOCIsCisgICAg
aXY6IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIiksCit9Cit2YXIgd3JhcHBl
ZEtleSA9IGhleFN0cmluZ1RvVWludDhBcnJheSgiOTZhMTc0MGM1OGNiMDM5Y2U5ZDNmNzdjNDAz
MWVmYzZlM2MxNmFkYmMxY2U5YTFiMGQ1YmM1Yjk1M2UyZDlkZTNmNTQxM2IwMWI5NDA0NzdmZDgw
Y2VlOWY0OWUwOWMzOGNlOTY1YzIwNDBhM2ZjMTQ0OWJhNGYyYjZjMDMzODZhY2QyYjJhMTQ1ZTMz
NWUxODkwYzRhYzM1MWI0NzAyZDA3YjZlYTMzMGNjZTlkNDRhZjdlMmEiKTsKKworCitjcnlwdG8u
c3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVzLWNmYi04IiwgZXh0cmFjdGFibGUs
IFsidW53cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24odW53cmFwcGluZ0tleSkgeworICAgIHJldHVy
biBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgiandrIiwgd3JhcHBlZEtleSwgdW53cmFwcGluZ0tl
eSwgYWVzQ2ZiUGFyYW1zLCB7bmFtZTogImFlcy1jYmMifSwgZXh0cmFjdGFibGUsIFsiZW5jcnlw
dCJdKTsKK30pLnRoZW4oZnVuY3Rpb24oY3J5cHRvS2V5KSB7CisgICAgcmV0dXJuIGNyeXB0by5z
dWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBjcnlwdG9LZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1
bHQpIHsKKyAgICB1bndyYXBwZWRLZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgidW53cmFw
cGVkS2V5Lmt0eSIsICJqd2tLZXkua3R5Iik7CisgICAgc2hvdWxkQmUoInVud3JhcHBlZEtleS5h
bGciLCAiandrS2V5LmFsZyIpOworICAgIHNob3VsZEJlKCJ1bndyYXBwZWRLZXkua2V5X29wcyIs
ICJqd2tLZXkua2V5X29wcyIpOworICAgIHNob3VsZEJlKCJ1bndyYXBwZWRLZXkuZXh0IiwgImp3
a0tleS5leHQiKTsKKyAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5LmsiLCAiandrS2V5LmsiKTsK
KworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0
LWtleS11bndyYXAtcmF3LWtleS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAtcmF3LWtleS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzBmY2I5OWNkNzEyNGMzM2ZlY2IyMjVlMDM3ZTczMTVmMmJmOGJhYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXVu
d3JhcC1yYXcta2V5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0IHVud3JhcHBp
bmcgYSByYXcga2V5IHdpdGggQUVTLUNGQiB1c2luZyBhbiBpbXBvcnRlZCBrZXkKKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgYnl0ZXNUb0FTQ0lJU3RyaW5nKHVud3JhcHBl
ZEtleSkgaXMgZXhwZWN0ZWRSYXdLZXkKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAtcmF3LWtleS5odG1sIGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLXJhdy1rZXkuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMDk0NDhiNGQyYTU3MzdhOTY2ZWUxMWEzMWE2ZGM3MjQ3ZjFiNmViCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53
cmFwLXJhdy1rZXkuaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IHVud3JhcHBpbmcgYSBy
YXcga2V5IHdpdGggQUVTLUNGQiB1c2luZyBhbiBpbXBvcnRlZCBrZXkiKTsKKworanNUZXN0SXNB
c3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7Cit2YXIgZXhwZWN0ZWRSYXdL
ZXkgPSAiam5Pdzk5b09aRkxJRVBNciI7Cit2YXIgcmF3S2V5ID0gYXNjaWlUb1VpbnQ4QXJyYXko
ZXhwZWN0ZWRSYXdLZXkpOwordmFyIGFlc0NmYlBhcmFtcyA9IHsKKyAgICBuYW1lOiAiYWVzLWNm
Yi04IiwKKyAgICBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKSwKK30K
K3ZhciB3cmFwcGVkS2V5ID0gaGV4U3RyaW5nVG9VaW50OEFycmF5KCI4NzA3ZWUzMTFmNmU4ZWQx
NTc4ODVhN2ZjMjVmMGVlNyIpOworCisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCBy
YXdLZXksICJhZXMtY2ZiLTgiLCBleHRyYWN0YWJsZSwgWyJ1bndyYXBLZXkiXSkudGhlbihmdW5j
dGlvbih1bndyYXBwaW5nS2V5KSB7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUudW53cmFwS2V5
KCJyYXciLCB3cmFwcGVkS2V5LCB1bndyYXBwaW5nS2V5LCBhZXNDZmJQYXJhbXMsIHtuYW1lOiAi
YWVzLWNiYyJ9LCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0Il0pOworfSkudGhlbihmdW5jdGlvbihj
cnlwdG9LZXkpIHsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInJhdyIsIGNy
eXB0b0tleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHVud3JhcHBlZEtleSA9
IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJieXRlc1RvQVNDSUlTdHJpbmcodW53cmFwcGVkS2V5
KSIsICJleHBlY3RlZFJhd0tleSIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKworPC9z
Y3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXdyYXAtandrLWtleS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS13cmFwLWp3ay1rZXkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUzNjE4YTEzNzVhZjllNjM2NmVkOGNiZTBmMDE2M2Mx
N2NlZjlhZGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Fl
cy1jZmItaW1wb3J0LWtleS13cmFwLWp3ay1rZXktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAg
QEAKK1Rlc3Qgd3JhcHBpbmcgYSBKV0sga2V5IHdpdGggQUVTLUNGQiB1c2luZyBhbiBpbXBvcnRl
ZCBrZXkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgYnl0ZXNUb0hleFN0
cmluZyh3cmFwcGVkS2V5KSBpcyBleHBlY3RXcmFwcGVkS2V5CitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1qd2sta2V5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS13cmFwLWp3ay1rZXkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hMGE4YWUwOWRjZTAxMzI0ZTAwZjdlNWIwMWFkYzA1NWI2ZmFmYjUxCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9y
dC1rZXktd3JhcC1qd2sta2V5Lmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCB3cmFwcGlu
ZyBhIEpXSyBrZXkgd2l0aCBBRVMtQ0ZCIHVzaW5nIGFuIGltcG9ydGVkIGtleSIpOworCitqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKK3ZhciByYXdLZXkg
PSBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIpOwordmFyIGFlc0NmYlBhcmFt
cyA9IHsKKyAgICBuYW1lOiAiYWVzLWNmYi04IiwKKyAgICBpdjogYXNjaWlUb1VpbnQ4QXJyYXko
ImpuT3c5OW9PWkZMSUVQTXIiKSwKK30KK3ZhciBleHBlY3RXcmFwcGVkS2V5ID0gIjk2YTE3ZWRl
MzQxNGQ5OTA3NDFkMmZlNWYxZDkzZTc0OTk5ZWQ2Y2E2MDcxZGI2ZGMwY2YwYmNmOTE3OGIxYWMw
MzcwNzZkMThmZmUwZTI0N2VlNTcwYzJkNTUxYmM3NjIxYjBkNzkxZGY5YzdiYzdjMDIxZWExZmRh
ODNlNGM0MWQ4NzA0MTEyNzc3YTg2NDEzZGQ3YjIwMDg4NDc5YTYxNWI4Mzk0MmQzOTAzZWYwOGY4
MWY0IjsKKworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1jZmIt
OCIsIGV4dHJhY3RhYmxlLCBbIndyYXBLZXkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAg
ICB3cmFwcGluZ0tleSA9IHJlc3VsdDsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5pbXBvcnRL
ZXkoInJhdyIsIHJhd0tleSwgImFlcy1jYmMiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0Il0pOwor
fSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1bHQ7CisgICAgcmV0dXJu
IGNyeXB0by5zdWJ0bGUud3JhcEtleSgiandrIiwga2V5LCB3cmFwcGluZ0tleSwgYWVzQ2ZiUGFy
YW1zKTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgd3JhcHBlZEtleSA9IHJlc3Vs
dDsKKworICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5nKHdyYXBwZWRLZXkpIiwgImV4cGVj
dFdyYXBwZWRLZXkiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKKzwvc2NyaXB0Pgor
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L2Flcy1jZmItaW1wb3J0LWtleS13cmFwLXJhdy1rZXktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1yYXcta2V5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41ZTgzYmI1NDViN2YzNTQ1NDFlMzI1MzNkODBlNWYyY2IwNTllMWI0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWlt
cG9ydC1rZXktd3JhcC1yYXcta2V5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0
IHdyYXBwaW5nIGEgcmF3IGtleSB3aXRoIEFFUy1DRkIgdXNpbmcgYW4gaW1wb3J0ZWQga2V5CisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGJ5dGVzVG9IZXhTdHJpbmcod3Jh
cHBlZEtleSkgaXMgZXhwZWN0V3JhcHBlZEtleQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXdyYXAtcmF3LWtleS5odG1sIGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1yYXcta2V5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDZmZjY0NTI2M2MzMmRkMWExZmQxMjZmMDI1NDVkNjk1ZGVlNzUzZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXdy
YXAtcmF3LWtleS5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3Qgd3JhcHBpbmcgYSByYXcg
a2V5IHdpdGggQUVTLUNGQiB1c2luZyBhbiBpbXBvcnRlZCBrZXkiKTsKKworanNUZXN0SXNBc3lu
YyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7Cit2YXIgcmF3S2V5ID0gYXNjaWlU
b1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKTsKK3ZhciBhZXNDZmJQYXJhbXMgPSB7Cisg
ICAgbmFtZTogImFlcy1jZmItOCIsCisgICAgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlv
T1pGTElFUE1yIiksCit9Cit2YXIgZXhwZWN0V3JhcHBlZEtleSA9ICI4NzA3ZWUzMTFmNmU4ZWQx
NTc4ODVhN2ZjMjVmMGVlNyI7CisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdL
ZXksICJhZXMtY2ZiLTgiLCBleHRyYWN0YWJsZSwgWyJ3cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24o
cmVzdWx0KSB7CisgICAgd3JhcHBpbmdLZXkgPSByZXN1bHQ7CisgICAgcmV0dXJuIGNyeXB0by5z
dWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMtY2JjIiwgZXh0cmFjdGFibGUsIFsi
ZW5jcnlwdCJdKTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0
OworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLndyYXBLZXkoInJhdyIsIGtleSwgd3JhcHBpbmdL
ZXksIGFlc0NmYlBhcmFtcyk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHdyYXBw
ZWRLZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgiYnl0ZXNUb0hleFN0cmluZyh3cmFwcGVk
S2V5KSIsICJleHBlY3RXcmFwcGVkS2V5Iik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOwor
Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1yYXcta2V5LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtcmF3LWtleS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZDE5MjFhMTM5Y2Q2NWNmNDBkZThiNmVmNjU1YmU3NTBlNzY2NzVjMAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQt
cmF3LWtleS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGVzdCBpbXBvcnRpbmcgYSBy
YXcgQUVTLUNGQiBrZXkgd2l0aCBsZWdudGggMTI4CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitJbXBvcnRpbmcgYSBrZXkuLi4KK1BBU1Mga2V5LnR5cGUgaXMgJ3NlY3JldCcKK1BB
U1Mga2V5LmV4dHJhY3RhYmxlIGlzIHRydWUKK1BBU1Mga2V5LmFsZ29yaXRobS5uYW1lIGlzICdB
RVMtQ0ZCLTgnCitQQVNTIGtleS5hbGdvcml0aG0ubGVuZ3RoIGlzIDEyOAorUEFTUyBrZXkudXNh
Z2VzIGlzIFsnZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5J10KK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0LXJhdy1rZXkuaHRt
bCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQtcmF3LWtleS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjc2YTFmZWZhYmRlNGYzZjEyNjI0YWM3ODVmYmExYjYyMjU2MWZhZWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jZmItaW1wb3J0
LXJhdy1rZXkuaHRtbApAQCAtMCwwICsxLDM2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGltcG9ydGluZyBhIHJhdyBB
RVMtQ0ZCIGtleSB3aXRoIGxlZ250aCAxMjgiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisK
K3ZhciByYXdLZXkgPSBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIpOwordmFy
IGV4dHJhY3RhYmxlID0gdHJ1ZTsKKworZGVidWcoIkltcG9ydGluZyBhIGtleS4uLiIpOworY3J5
cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1jZmItOCIsIGV4dHJhY3Rh
YmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVud3JhcEtleSJdKS50aGVu
KGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJr
ZXkudHlwZSIsICInc2VjcmV0JyIpOworICAgIHNob3VsZEJlKCJrZXkuZXh0cmFjdGFibGUiLCAi
dHJ1ZSIpOworICAgIHNob3VsZEJlKCJrZXkuYWxnb3JpdGhtLm5hbWUiLCAiJ0FFUy1DRkItOCci
KTsKKyAgICBzaG91bGRCZSgia2V5LmFsZ29yaXRobS5sZW5ndGgiLCAiMTI4Iik7CisgICAgc2hv
dWxkQmUoImtleS51c2FnZXMiLCAiWydkZWNyeXB0JywgJ2VuY3J5cHQnLCAndW53cmFwS2V5Jywg
J3dyYXBLZXknXSIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKworPC9zY3JpcHQ+CisK
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1nZW5lcmF0ZS1rZXktbWFsZm9ybWVkLXBh
cmFtZXRlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtZ2Vu
ZXJhdGUta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dAppbmRleCA0MzJkYmJk
YmU1Mzk5ODg1ODgyOTI4YzBlMWViNjE0NDI1ZTA1ZjliLi40OGY1YzU2NzVlMTY4NWJjNDYyYzJm
NTliNTRkZTJkNGQ5OWZiZDkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L2Flcy1nZW5lcmF0ZS1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWdlbmVyYXRlLWtleS1tYWxmb3JtZWQtcGFy
YW1ldGVycy1leHBlY3RlZC50eHQKQEAgLTIxLDYgKzIxLDEwIEBAIFBBU1MgY3J5cHRvLnN1YnRs
ZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1rdyIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUs
IFsic2lnCiBQQVNTIGNyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMta3ciLCBs
ZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCBbInZlcmlmeSJdKSByZWplY3RlZCBwcm9taXNlICB3
aXRoIFN5bnRheEVycm9yIChET00gRXhjZXB0aW9uIDEyKTogQSByZXF1aXJlZCBwYXJhbWV0ZXIg
d2FzIG1pc3Npbmcgb3Igb3V0LW9mLXJhbmdlLgogUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVyYXRl
S2V5KHtuYW1lOiAiYWVzLWt3IiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgWyJkZXJpdmVL
ZXkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBTeW50YXhFcnJvciAoRE9NIEV4Y2VwdGlvbiAx
Mik6IEEgcmVxdWlyZWQgcGFyYW1ldGVyIHdhcyBtaXNzaW5nIG9yIG91dC1vZi1yYW5nZS4KIFBB
U1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1rdyIsIGxlbmd0aDogMTI4
fSwgZXh0cmFjdGFibGUsIFsiZGVyaXZlQml0cyJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFN5
bnRheEVycm9yIChET00gRXhjZXB0aW9uIDEyKTogQSByZXF1aXJlZCBwYXJhbWV0ZXIgd2FzIG1p
c3Npbmcgb3Igb3V0LW9mLXJhbmdlLgorUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtu
YW1lOiAiYWVzLWNmYi04IiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgWyJzaWduIl0pIHJl
amVjdGVkIHByb21pc2UgIHdpdGggU3ludGF4RXJyb3IgKERPTSBFeGNlcHRpb24gMTIpOiBBIHJl
cXVpcmVkIHBhcmFtZXRlciB3YXMgbWlzc2luZyBvciBvdXQtb2YtcmFuZ2UuCitQQVNTIGNyeXB0
by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMtY2ZiLTgiLCBsZW5ndGg6IDEyOH0sIGV4
dHJhY3RhYmxlLCBbInZlcmlmeSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFN5bnRheEVycm9y
IChET00gRXhjZXB0aW9uIDEyKTogQSByZXF1aXJlZCBwYXJhbWV0ZXIgd2FzIG1pc3Npbmcgb3Ig
b3V0LW9mLXJhbmdlLgorUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVz
LWNmYi04IiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgWyJkZXJpdmVLZXkiXSkgcmVqZWN0
ZWQgcHJvbWlzZSAgd2l0aCBTeW50YXhFcnJvciAoRE9NIEV4Y2VwdGlvbiAxMik6IEEgcmVxdWly
ZWQgcGFyYW1ldGVyIHdhcyBtaXNzaW5nIG9yIG91dC1vZi1yYW5nZS4KK1BBU1MgY3J5cHRvLnN1
YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1jZmItOCIsIGxlbmd0aDogMTI4fSwgZXh0cmFj
dGFibGUsIFsiZGVyaXZlQml0cyJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFN5bnRheEVycm9y
IChET00gRXhjZXB0aW9uIDEyKTogQSByZXF1aXJlZCBwYXJhbWV0ZXIgd2FzIG1pc3Npbmcgb3Ig
b3V0LW9mLXJhbmdlLgogUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVz
LWNiYyIsIGxlbmd0aDogMTExfSwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCJdKSByZWplY3RlZCBw
cm9taXNlICB3aXRoIE9wZXJhdGlvbkVycm9yIChET00gRXhjZXB0aW9uIDM0KTogVGhlIG9wZXJh
dGlvbiBmYWlsZWQgZm9yIGFuIG9wZXJhdGlvbi1zcGVjaWZpYyByZWFzb24uCiBQQVNTIGNyeXB0
by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMta3ciLCBsZW5ndGg6IDExMX0sIGV4dHJh
Y3RhYmxlLCBbIndyYXBLZXkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBPcGVyYXRpb25FcnJv
ciAoRE9NIEV4Y2VwdGlvbiAzNCk6IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciBhbiBvcGVyYXRp
b24tc3BlY2lmaWMgcmVhc29uLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtZ2VuZXJhdGUta2V5LW1hbGZv
cm1lZC1wYXJhbWV0ZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1nZW5l
cmF0ZS1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbAppbmRleCAxYTRmMWQ2MzYwNTY4ZTJh
NmQ4MmE4NTg0Zjk5OWRhNmU0MWZmZDk3Li42MWJkODA5MjkyOTE5MjlhMDE1Zjc3M2IyYmViMmY0
N2RiODkyYjlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1nZW5l
cmF0ZS1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2Flcy1nZW5lcmF0ZS1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbApAQCAt
MzMsNiArMzMsMTAgQEAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtu
YW1lOiAiYWVzLWt3IiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWIKIHNob3VsZFJlamVjdCgnY3J5
cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1rdyIsIGxlbmd0aDogMTI4fSwgZXh0
cmFjdGFibGUsIFsidmVyaWZ5Il0pJyk7CiBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZ2Vu
ZXJhdGVLZXkoe25hbWU6ICJhZXMta3ciLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCBbImRl
cml2ZUtleSJdKScpOwogc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtu
YW1lOiAiYWVzLWt3IiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgWyJkZXJpdmVCaXRzIl0p
Jyk7CitzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMt
Y2ZiLTgiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCBbInNpZ24iXSknKTsKK3Nob3VsZFJl
amVjdCgnY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1jZmItOCIsIGxlbmd0
aDogMTI4fSwgZXh0cmFjdGFibGUsIFsidmVyaWZ5Il0pJyk7CitzaG91bGRSZWplY3QoJ2NyeXB0
by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMtY2ZiLTgiLCBsZW5ndGg6IDEyOH0sIGV4
dHJhY3RhYmxlLCBbImRlcml2ZUtleSJdKScpOworc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxl
LmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWNmYi04IiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJs
ZSwgWyJkZXJpdmVCaXRzIl0pJyk7CiAvLyBXcm9uZyBsZW5ndGgKIHNob3VsZFJlamVjdCgnY3J5
cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1jYmMiLCBsZW5ndGg6IDExMX0sIGV4
dHJhY3RhYmxlLCBbImVuY3J5cHQiXSknKTsKIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5n
ZW5lcmF0ZUtleSh7bmFtZTogImFlcy1rdyIsIGxlbmd0aDogMTExfSwgZXh0cmFjdGFibGUsIFsi
d3JhcEtleSJdKScpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMt
aW1wb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2Flcy1pbXBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVj
dGVkLnR4dAppbmRleCAwN2ViNjJiNjA3NDgxYThiMmY4NDc5ZDRhZjA2YTNlY2I2MDYwYWYyLi41
NTUyY2U2Mzg2NTZlZThlYjhiZGZjNjc5OGMxZWE4MzJhNGQ5NzQ3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1pbXBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1pbXBvcnQt
a2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApAQCAtMjAsNiArMjAsMTAgQEAg
UEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6ICJBNzJG
IiwgYWxnOiAiZm9vIn0sICJhZXMta3cKIFBBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3
ayIsIHtrdHk6ICJvY3QiLCBrOiBrMTI4LCBhbGc6ICIifSwgImFlcy1rdyIsIGV4dHJhY3RhYmxl
LCBbIndyYXBLZXkiLCAidW53cmFwS2V5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggRGF0YUVy
cm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24gZG9l
cyBub3QgbWVldCByZXF1aXJlbWVudHMuCiBQQVNTIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJq
d2siLCB7a3R5OiAib2N0IiwgazogazE5MiwgYWxnOiAiIn0sICJhZXMta3ciLCBleHRyYWN0YWJs
ZSwgWyJ3cmFwS2V5IiwgInVud3JhcEtleSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIERhdGFF
cnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRv
ZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgogUEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgi
andrIiwge2t0eTogIm9jdCIsIGs6IGsyNTYsIGFsZzogIiJ9LCAiYWVzLWt3IiwgZXh0cmFjdGFi
bGUsIFsid3JhcEtleSIsICJ1bndyYXBLZXkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBEYXRh
RXJyb3IgKERPTSBFeGNlcHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBk
b2VzIG5vdCBtZWV0IHJlcXVpcmVtZW50cy4KK1BBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXko
Imp3ayIsIHtrdHk6ICJvY3QiLCBrOiBrMTI4LCBhbGc6ICJBMTkyQ0ZCOCJ9LCAiYWVzLWNmYi04
IiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0IiwgIndyYXBLZXkiLCAidW53cmFw
S2V5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggRGF0YUVycm9yIChET00gRXhjZXB0aW9uIDMw
KTogRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24gZG9lcyBub3QgbWVldCByZXF1aXJlbWVu
dHMuCitQQVNTIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0Iiwgazog
azE5MiwgYWxnOiAiQTI1NkNGQjgifSwgImFlcy1jZmItOCIsIGV4dHJhY3RhYmxlLCBbImVuY3J5
cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVud3JhcEtleSJdKSByZWplY3RlZCBwcm9taXNl
ICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlkZWQgdG8gYW4g
b3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgorUEFTUyBjcnlwdG8uc3VidGxl
LmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGsyNTYsIGFsZzogIkExMjhDRkI4In0s
ICJhZXMtY2ZiLTgiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0IiwgImRlY3J5cHQiLCAid3JhcEtl
eSIsICJ1bndyYXBLZXkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBEYXRhRXJyb3IgKERPTSBF
eGNlcHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBtZWV0
IHJlcXVpcmVtZW50cy4KK1BBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6
ICJvY3QiLCBrOiAiQTcyRiIsIGFsZzogImZvbyJ9LCAiYWVzLWNiYyIsIGV4dHJhY3RhYmxlLCBb
IndyYXBLZXkiLCAidW53cmFwS2V5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggRGF0YUVycm9y
IChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24gZG9lcyBu
b3QgbWVldCByZXF1aXJlbWVudHMuCiBQQVNTIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2si
LCB7a3R5OiAib2N0IiwgazogIiEhISIsIGFsZzogImZvbyJ9LCAiYWVzLWNiYyIsIGV4dHJhY3Rh
YmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVud3JhcEtleSJdKSByZWpl
Y3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJv
dmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgogUEFTUyBj
cnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6ICIiLCBhbGc6ICJm
b28ifSwgImFlcy1jYmMiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0IiwgImRlY3J5cHQiLCAid3Jh
cEtleSIsICJ1bndyYXBLZXkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBEYXRhRXJyb3IgKERP
TSBFeGNlcHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBt
ZWV0IHJlcXVpcmVtZW50cy4KIFBBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtr
dHk6ICJvY3QiLCBrOiBrMTI4LCBhbGc6ICJBMTI4Q0JDIiwgdXNlOiAic2lnIn0sICJhZXMtY2Jj
IiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0IiwgIndyYXBLZXkiLCAidW53cmFw
S2V5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggRGF0YUVycm9yIChET00gRXhjZXB0aW9uIDMw
KTogRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24gZG9lcyBub3QgbWVldCByZXF1aXJlbWVu
dHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1pbXBvcnQta2V5
LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Fl
cy1pbXBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKaW5kZXggOTNjYjRlOTljMzkw
NWMxNGYxMThkOGQxYjQ0MzU5ZjFlNGQwYTMwZS4uZjMxOGQ0MGRkMWM4MGJmYjQ5MWNkNDVlMDlh
NjJjMzlmMzY1MTk3OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMt
aW1wb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvYWVzLWltcG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbApAQCAt
MzcsNiArMzcsMTAgQEAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandr
Iiwge2t0eTogIm9jdCIsIGs6ICJBNzJGIiwgYWxnOiAiZm9vIn0KIHNob3VsZFJlamVjdCgnY3J5
cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiBrMTI4LCBhbGc6ICIi
fSwgImFlcy1rdyIsIGV4dHJhY3RhYmxlLCBbIndyYXBLZXkiLCAidW53cmFwS2V5Il0pJyk7CiBz
aG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0Iiwg
azogazE5MiwgYWxnOiAiIn0sICJhZXMta3ciLCBleHRyYWN0YWJsZSwgWyJ3cmFwS2V5IiwgInVu
d3JhcEtleSJdKScpOwogc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandr
Iiwge2t0eTogIm9jdCIsIGs6IGsyNTYsIGFsZzogIiJ9LCAiYWVzLWt3IiwgZXh0cmFjdGFibGUs
IFsid3JhcEtleSIsICJ1bndyYXBLZXkiXSknKTsKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRs
ZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiBrMTI4LCBhbGc6ICJBMTkyQ0ZCOCJ9
LCAiYWVzLWNmYi04IiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0IiwgIndyYXBL
ZXkiLCAidW53cmFwS2V5Il0pJyk7CitzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0
S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogazE5MiwgYWxnOiAiQTI1NkNGQjgifSwgImFlcy1j
ZmItOCIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVu
d3JhcEtleSJdKScpOworc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandr
Iiwge2t0eTogIm9jdCIsIGs6IGsyNTYsIGFsZzogIkExMjhDRkI4In0sICJhZXMtY2ZiLTgiLCBl
eHRyYWN0YWJsZSwgWyJlbmNyeXB0IiwgImRlY3J5cHQiLCAid3JhcEtleSIsICJ1bndyYXBLZXki
XSknKTsKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6
ICJvY3QiLCBrOiAiQTcyRiIsIGFsZzogImZvbyJ9LCAiYWVzLWNiYyIsIGV4dHJhY3RhYmxlLCBb
IndyYXBLZXkiLCAidW53cmFwS2V5Il0pJyk7CiAvLyBKd2s6IHdyb25nIGsgZm9ybWF0CiBzaG91
bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0Iiwgazog
IiEhISIsIGFsZzogImZvbyJ9LCAiYWVzLWNiYyIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAi
ZGVjcnlwdCIsICJ3cmFwS2V5IiwgInVud3JhcEtleSJdKScpOwogc2hvdWxkUmVqZWN0KCdjcnlw
dG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6ICIiLCBhbGc6ICJmb28i
fSwgImFlcy1jYmMiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0IiwgImRlY3J5cHQiLCAid3JhcEtl
eSIsICJ1bndyYXBLZXkiXSknKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by93b3Jr
ZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktZGVjcnlwdC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LWRlY3J5cHQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1NTdiZWUxYjVmNmQ4MjZjODFlNjJlZjgyZDI4OGMx
ODg1YzZkMGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9z
dWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LWRlY3J5cHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTEgQEAKK1tXb3JrZXJdIFRlc3QgZGVjcnlwdGluZyB1c2luZyBBRVMtQ0ZCIHdpdGggYW4gaW1w
b3J0ZWQgMTI4Yml0IGtleSBpbiB3b3JrZXJzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitTdGFydGluZyB3b3JrZXI6IHJlc291cmNlcy9hZXMtY2ZiLWltcG9ydC1rZXktZGVjcnlw
dC5qcworUEFTUyBbV29ya2VyXSBieXRlc1RvQVNDSUlTdHJpbmcocGxhaW5UZXh0KSBpcyBleHBl
Y3RlZFBsYWluVGV4dAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9h
ZXMtY2ZiLWltcG9ydC1rZXktZGVjcnlwdC5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtl
cnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1kZWNyeXB0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGMx
YjlkNTZiNjlkZTM4ODMxZWJkNjliMGVjMjg0NDg3ZTQzY2ZiZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktZGVj
cnlwdC5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxzY3JpcHQ+CisgICAgICAgIHdvcmtlciA9
IHN0YXJ0V29ya2VyKCdyZXNvdXJjZXMvYWVzLWNmYi1pbXBvcnQta2V5LWRlY3J5cHQuanMnKTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LWVuY3J5cHQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jZmIt
aW1wb3J0LWtleS1lbmNyeXB0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTY4NTdiYTQxMzZl
NDYzYTFkZWNjMjUyNGY1ZDNiNDgxZjQ0ZDk3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS1lbmNyeXB0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDExIEBACitbV29ya2VyXSBUZXN0IGVuY3J5cHRpbmcgdXNpbmcg
QUVTLUNGQiB3aXRoIGFuIGltcG9ydGVkIDEyOGJpdCBrZXkgaW4gd29ya2VycworCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworU3RhcnRpbmcgd29ya2VyOiByZXNvdXJjZXMvYWVzLWNm
Yi1pbXBvcnQta2V5LWVuY3J5cHQuanMKK1BBU1MgW1dvcmtlcl0gYnl0ZXNUb0hleFN0cmluZyhj
aXBoZXJUZXh0KSBpcyBleHBlY3RlZENpcGhlclRleHQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlw
dG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LWVuY3J5cHQuaHRtbCBiL0xheW91
dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktZW5jcnlwdC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQxZmE2OWE1OTYxOTIxZjlmNWMyMjhhZWZiNDgzODQ4NTU4YmVhODkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVz
LWNmYi1pbXBvcnQta2V5LWVuY3J5cHQuaHRtbApAQCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8c2NyaXB0
PgorICAgICAgICB3b3JrZXIgPSBzdGFydFdvcmtlcigncmVzb3VyY2VzL2Flcy1jZmItaW1wb3J0
LWtleS1lbmNyeXB0LmpzJyk7CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jZmIt
aW1wb3J0LWtleS11bndyYXAta2V5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by93
b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWtleS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZmVkZmZjNDZlNmIyMzliNWU2ZmU4YjRlMGIwMzZhMGUwYzA4NDcxOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2Zi
LWltcG9ydC1rZXktdW53cmFwLWtleS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorW1dv
cmtlcl0gVGVzdCB1bndyYXBwaW5nIGEgcmF3IGtleSB3aXRoIEFFUy1DRkIgdXNpbmcgYW4gaW1w
b3J0ZWQga2V5IGluIHdvcmtlcnMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1N0
YXJ0aW5nIHdvcmtlcjogcmVzb3VyY2VzL2Flcy1jZmItaW1wb3J0LWtleS11bndyYXAta2V5Lmpz
CitQQVNTIFtXb3JrZXJdIGJ5dGVzVG9BU0NJSVN0cmluZyh1bndyYXBwZWRLZXkpIGlzIGV4cGVj
dGVkUmF3S2V5CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1j
ZmItaW1wb3J0LWtleS11bndyYXAta2V5Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vy
cy9zdWJ0bGUvYWVzLWNmYi1pbXBvcnQta2V5LXVud3JhcC1rZXkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
ZmQwZDQxYjJjZTUyYTE0ZGEwZjRhZGUyMzliZjhlNzUwZTE4ZjYxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS11
bndyYXAta2V5Lmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHNjcmlwdD4KKyAgICAgICAgd29y
a2VyID0gc3RhcnRXb3JrZXIoJ3Jlc291cmNlcy9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWtl
eS5qcycpOworICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXkt
d3JhcC1rZXktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxl
L2Flcy1jZmItaW1wb3J0LWtleS13cmFwLWtleS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTY0
YjM2MDE2N2YwNzUxYjI0N2YwYzVkZjEzNTBkOTA3MTkwMDFlMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktd3Jh
cC1rZXktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1tXb3JrZXJdIFRlc3Qgd3JhcHBp
bmcgYSByYXcga2V5IHdpdGggQUVTLUNGQiB1c2luZyBhbiBpbXBvcnRlZCBrZXkgaW4gd29ya2Vy
cworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworU3RhcnRpbmcgd29ya2VyOiByZXNv
dXJjZXMvYWVzLWNmYi1pbXBvcnQta2V5LXdyYXAta2V5LmpzCitQQVNTIFtXb3JrZXJdIGJ5dGVz
VG9IZXhTdHJpbmcod3JhcHBlZEtleSkgaXMgZXhwZWN0V3JhcHBlZEtleQorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1rZXktd3JhcC1rZXku
aHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2ZiLWltcG9ydC1r
ZXktd3JhcC1rZXkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYTFiYmM5ZjBmYmNkNjdmODc2ZGY0MWYxNjg1
YTFjNTRmN2RjZDc1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtl
cnMvc3VidGxlL2Flcy1jZmItaW1wb3J0LWtleS13cmFwLWtleS5odG1sCkBAIC0wLDAgKzEsMTIg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIHdvcmtlciA9IHN0YXJ0V29ya2VyKCdyZXNvdXJjZXMv
YWVzLWNmYi1pbXBvcnQta2V5LXdyYXAta2V5LmpzJyk7CisgICAgPC9zY3JpcHQ+CisgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMv
c3VidGxlL3Jlc291cmNlcy9hZXMtY2ZiLWltcG9ydC1rZXktZGVjcnlwdC5qcyBiL0xheW91dFRl
c3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvYWVzLWNmYi1pbXBvcnQta2V5LWRl
Y3J5cHQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODM1NWQ1NzRhMTkyOTJlNDM1NzhiMDliNTg3MTY2ODM5OGQx
MTg4OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRs
ZS9yZXNvdXJjZXMvYWVzLWNmYi1pbXBvcnQta2V5LWRlY3J5cHQuanMKQEAgLTAsMCArMSwyNSBA
QAoraW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzJyk7
CitpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9yZXNvdXJjZXMvY29tbW9uLmpzJyk7CisKK2Rlc2Ny
aXB0aW9uKCJUZXN0IGRlY3J5cHRpbmcgdXNpbmcgQUVTLUNGQiB3aXRoIGFuIGltcG9ydGVkIDEy
OGJpdCBrZXkgaW4gd29ya2VycyIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4
dHJhY3RhYmxlID0gZmFsc2U7Cit2YXIgY2lwaGVyVGV4dCA9IGhleFN0cmluZ1RvVWludDhBcnJh
eSgiYTU3MjUyNWEwYmFlZjg4ZTZmNWIxOThjNmYiKTsKK3ZhciBhZXNDZmJQYXJhbXMgPSB7Cisg
ICAgbmFtZTogImFlcy1jZmItOCIsCisgICAgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlv
T1pGTElFUE1yIiksCit9Cit2YXIgcmF3S2V5ID0gYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9P
WkZMSUVQTXIiKTsKK3ZhciBleHBlY3RlZFBsYWluVGV4dCA9ICJIZWxsbywgV29ybGQhIjsKKwor
Y3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1jZmItOCIsIGV4dHJh
Y3RhYmxlLCBbImRlY3J5cHQiXSkudGhlbihmdW5jdGlvbihrZXkpIHsKKyAgICByZXR1cm4gY3J5
cHRvLnN1YnRsZS5kZWNyeXB0KGFlc0NmYlBhcmFtcywga2V5LCBjaXBoZXJUZXh0KTsKK30pLnRo
ZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcGxhaW5UZXh0ID0gcmVzdWx0OworCisgICAgc2hv
dWxkQmUoImJ5dGVzVG9BU0NJSVN0cmluZyhwbGFpblRleHQpIiwgImV4cGVjdGVkUGxhaW5UZXh0
Iik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMtY2ZiLWltcG9ydC1rZXktZW5jcnlw
dC5qcyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvYWVzLWNm
Yi1pbXBvcnQta2V5LWVuY3J5cHQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjViZGY4MzY0NTQwZTIzNGFmNTAy
ODM2MGVhMGYxMDAyZTI1NzY4YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0
by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvYWVzLWNmYi1pbXBvcnQta2V5LWVuY3J5cHQuanMK
QEAgLTAsMCArMSwyNSBAQAoraW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzJyk7CitpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9yZXNvdXJjZXMvY29tbW9u
LmpzJyk7CisKK2Rlc2NyaXB0aW9uKCJUZXN0IGVuY3J5cHRpbmcgdXNpbmcgQUVTLUNGQiB3aXRo
IGFuIGltcG9ydGVkIDEyOGJpdCBrZXkgaW4gd29ya2VycyIpOworCitqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gZmFsc2U7Cit2YXIgcGxhaW5UZXh0ID0gYXNjaWlU
b1VpbnQ4QXJyYXkoIkhlbGxvLCBXb3JsZCEiKTsKK3ZhciBhZXNDZmJQYXJhbXMgPSB7CisgICAg
bmFtZTogImFlcy1jZmItOCIsCisgICAgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pG
TElFUE1yIiksCit9Cit2YXIgcmF3S2V5ID0gYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZM
SUVQTXIiKTsKK3ZhciBleHBlY3RlZENpcGhlclRleHQgPSAiYTU3MjUyNWEwYmFlZjg4ZTZmNWIx
OThjNmYiOworCitjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVzLWNm
Yi04IiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCJdKS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAg
IHJldHVybiBjcnlwdG8uc3VidGxlLmVuY3J5cHQoYWVzQ2ZiUGFyYW1zLCBrZXksIHBsYWluVGV4
dCk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGNpcGhlclRleHQgPSByZXN1bHQ7
CisKKyAgICBzaG91bGRCZSgiYnl0ZXNUb0hleFN0cmluZyhjaXBoZXJUZXh0KSIsICJleHBlY3Rl
ZENpcGhlclRleHQiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2Flcy1jZmItaW1wb3J0
LWtleS11bndyYXAta2V5LmpzIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jl
c291cmNlcy9hZXMtY2ZiLWltcG9ydC1rZXktdW53cmFwLWtleS5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44Nzhh
NDg2ZTBkYTc5YjcxYTUxMzU1MDhiNzgyYzIxNGFmODZiN2NhCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMtY2ZiLWltcG9y
dC1rZXktdW53cmFwLWtleS5qcwpAQCAtMCwwICsxLDI4IEBACitpbXBvcnRTY3JpcHRzKCcuLi8u
Li8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMnKTsKK2ltcG9ydFNjcmlwdHMoJy4uLy4u
Ly4uL3Jlc291cmNlcy9jb21tb24uanMnKTsKKworZGVzY3JpcHRpb24oIlRlc3QgdW53cmFwcGlu
ZyBhIHJhdyBrZXkgd2l0aCBBRVMtQ0ZCIHVzaW5nIGFuIGltcG9ydGVkIGtleSBpbiB3b3JrZXJz
Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOwor
dmFyIGV4cGVjdGVkUmF3S2V5ID0gImpuT3c5OW9PWkZMSUVQTXIiOwordmFyIHJhd0tleSA9IGFz
Y2lpVG9VaW50OEFycmF5KGV4cGVjdGVkUmF3S2V5KTsKK3ZhciBhZXNDZmJQYXJhbXMgPSB7Cisg
ICAgbmFtZTogImFlcy1jZmItOCIsCisgICAgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlv
T1pGTElFUE1yIiksCit9Cit2YXIgd3JhcHBlZEtleSA9IGhleFN0cmluZ1RvVWludDhBcnJheSgi
ODcwN2VlMzExZjZlOGVkMTU3ODg1YTdmYzI1ZjBlZTciKTsKKworCitjcnlwdG8uc3VidGxlLmlt
cG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVzLWNmYi04IiwgZXh0cmFjdGFibGUsIFsidW53cmFw
S2V5Il0pLnRoZW4oZnVuY3Rpb24odW53cmFwcGluZ0tleSkgeworICAgIHJldHVybiBjcnlwdG8u
c3VidGxlLnVud3JhcEtleSgicmF3Iiwgd3JhcHBlZEtleSwgdW53cmFwcGluZ0tleSwgYWVzQ2Zi
UGFyYW1zLCB7bmFtZTogImFlcy1jYmMifSwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCJdKTsKK30p
LnRoZW4oZnVuY3Rpb24oY3J5cHRvS2V5KSB7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhw
b3J0S2V5KCJyYXciLCBjcnlwdG9LZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAg
ICB1bndyYXBwZWRLZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgiYnl0ZXNUb0FTQ0lJU3Ry
aW5nKHVud3JhcHBlZEtleSkiLCAiZXhwZWN0ZWRSYXdLZXkiKTsKKworICAgIGZpbmlzaEpTVGVz
dCgpOworfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUv
cmVzb3VyY2VzL2Flcy1jZmItaW1wb3J0LWtleS13cmFwLWtleS5qcyBiL0xheW91dFRlc3RzL2Ny
eXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvYWVzLWNmYi1pbXBvcnQta2V5LXdyYXAta2V5
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmEwOGUxMTQ4ZGYzNjA5NTdmZDcxNWY4OThkZWJlNmRkNWM5MzIyNjgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVz
b3VyY2VzL2Flcy1jZmItaW1wb3J0LWtleS13cmFwLWtleS5qcwpAQCAtMCwwICsxLDI4IEBACitp
bXBvcnRTY3JpcHRzKCcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMnKTsKK2lt
cG9ydFNjcmlwdHMoJy4uLy4uLy4uL3Jlc291cmNlcy9jb21tb24uanMnKTsKKworZGVzY3JpcHRp
b24oIlRlc3Qgd3JhcHBpbmcgYSByYXcga2V5IHdpdGggQUVTLUNGQiB1c2luZyBhbiBpbXBvcnRl
ZCBrZXkgaW4gd29ya2VycyIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJh
Y3RhYmxlID0gdHJ1ZTsKK3ZhciByYXdLZXkgPSBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09a
RkxJRVBNciIpOwordmFyIGFlc0NmYlBhcmFtcyA9IHsKKyAgICBuYW1lOiAiYWVzLWNmYi04IiwK
KyAgICBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKSwKK30KK3ZhciBl
eHBlY3RXcmFwcGVkS2V5ID0gIjg3MDdlZTMxMWY2ZThlZDE1Nzg4NWE3ZmMyNWYwZWU3IjsKKwor
Y3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1jZmItOCIsIGV4dHJh
Y3RhYmxlLCBbIndyYXBLZXkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICB3cmFwcGlu
Z0tleSA9IHJlc3VsdDsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIs
IHJhd0tleSwgImFlcy1jYmMiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0Il0pOworfSkudGhlbihm
dW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1bHQ7CisgICAgcmV0dXJuIGNyeXB0by5z
dWJ0bGUud3JhcEtleSgicmF3Iiwga2V5LCB3cmFwcGluZ0tleSwgYWVzQ2ZiUGFyYW1zKTsKK30p
LnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgd3JhcHBlZEtleSA9IHJlc3VsdDsKKworICAg
IHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5nKHdyYXBwZWRLZXkpIiwgImV4cGVjdFdyYXBwZWRL
ZXkiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>