<?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>175457</bug_id>
          
          <creation_ts>2017-08-10 16:21:35 -0700</creation_ts>
          <short_desc>[WebIDL] Replace JSCryptoKeyCustom and JSCryptoAlgorithmBuilder with generated code</short_desc>
          <delta_ts>2017-08-11 17:08:28 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1337677</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-08-10 16:21:35 -0700</bug_when>
    <thetext>[WebIDL] Replace JSCryptoKeyCustom and JSCryptoAlgorithmBuilder with generated code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337679</commentid>
    <comment_count>1</comment_count>
      <attachid>317875</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-08-10 16:24:38 -0700</bug_when>
    <thetext>Created attachment 317875
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337699</commentid>
    <comment_count>2</comment_count>
      <attachid>317883</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-08-10 16:47:56 -0700</bug_when>
    <thetext>Created attachment 317883
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337704</commentid>
    <comment_count>3</comment_count>
      <attachid>317887</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-08-10 16:52:19 -0700</bug_when>
    <thetext>Created attachment 317887
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337710</commentid>
    <comment_count>4</comment_count>
      <attachid>317888</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-08-10 17:00:10 -0700</bug_when>
    <thetext>Created attachment 317888
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338079</commentid>
    <comment_count>5</comment_count>
      <attachid>317888</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-11 17:07:04 -0700</bug_when>
    <thetext>Comment on attachment 317888
Patch

Clearing flags on attachment: 317888

Committed r220619: &lt;http://trac.webkit.org/changeset/220619&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338080</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-11 17:07:06 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338081</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-08-11 17:08:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/33859221&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317875</attachid>
            <date>2017-08-10 16:24:38 -0700</date>
            <delta_ts>2017-08-10 16:47:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175457-20170810162437.patch</filename>
            <type>text/plain</type>
            <size>74584</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyMDU1NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUwIEBACisyMDE3LTA4LTEwICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW1dlYklETF0gUmVwbGFjZSBKU0NyeXB0
b0tleUN1c3RvbSBhbmQgSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyIHdpdGggZ2VuZXJhdGVkIGNv
ZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTQ1
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMv
SlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0NyeXB0b0tleUN1c3RvbS5jcHA6IFJlbW92ZWQuCisKKyAgICAgICAgICAgIFJl
bW92ZSBKU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIgYW5kIEpTQ3J5cHRvS2V5Q3VzdG9tLCBhZGQg
S2V5QWxnb3JpdGhtCisgICAgICAgICAgICBJRExzIGFuZCBoZWFkZXJzLgorCisgICAgICAgICog
Y3J5cHRvL0NyeXB0b0tleS5jcHA6CisgICAgICAgICogY3J5cHRvL0NyeXB0b0tleS5oOgorICAg
ICAgICAqIGNyeXB0by9DcnlwdG9LZXkuaWRsOgorICAgICAgICAKKyAgICAgICAgICAgIFJlcGxh
Y2UgY3VzdG9tIGFsZ29yaXRobSBhdHRyaWJ1dGUgd2l0aCBhIHVuaW9uIG9mIHRoZSBzdXBwb3J0
ZWQga2V5IGFsZ29yaXRobXMuCisgICAgICAgIAorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0
b0Flc0tleUFsZ29yaXRobS5oOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9B
ZXNLZXlBbGdvcml0aG0uaWRsOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9F
Y0tleUFsZ29yaXRobS5oOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9FY0tl
eUFsZ29yaXRobS5pZGw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0b0htYWNL
ZXlBbGdvcml0aG0uaDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvSG1hY0tl
eUFsZ29yaXRobS5pZGw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0b0tleUFs
Z29yaXRobS5oOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9LZXlBbGdvcml0
aG0uaWRsOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9Sc2FIYXNoZWRLZXlB
bGdvcml0aG0uaDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvUnNhSGFzaGVk
S2V5QWxnb3JpdGhtLmlkbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvUnNh
S2V5QWxnb3JpdGhtLmg6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0b1JzYUtl
eUFsZ29yaXRobS5pZGw6IEFkZGVkLgorCisgICAgICAgICAgICBBZGQgSURMcyBhbmQgaGVhZGVy
cyBmbyB0aGUgc3VwcG9ydGVkIGtleSBhbGdvcml0aG1zLgorCisgICAgICAgICogY3J5cHRvL2tl
eXMvQ3J5cHRvS2V5QUVTLmg6CisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvS2V5RUMuaDoK
KyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmg6CisgICAgICAgICogY3J5cHRv
L2tleXMvQ3J5cHRvS2V5UlNBLmg6CisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvS2V5UmF3
Lmg6CisKKyAgICAgICAgICAgIEdpdmUgZWFjaCBvZiB0aGUgZXhpc3RpbmcgS2V5QWxnb3JpdGht
IHN1YmNsYXNzZXMgYSBkaWN0aW9uYXJ5KCkgZnVuY3Rpb24KKyAgICAgICAgICAgIHRoYXQgcmV0
dXJucyB0aGUgcG9wdWxhdGVkIGNvcnJlc3BvbmRpbmcgc3BlYydkIGRpY3Rpb25hcnkuCisKIDIw
MTctMDgtMTAgIE5hbiBXYW5nICA8bl93YW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogY3Jh
c2ggYXQgV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6c3VwcG9ydHNBUklBTGl2ZVJlZ2lv
bigpIGNvbnN0ICsgMjQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAyMjA1Mjgp
CisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzc4
LDYgKzM3OCwxMyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIGNyeXB0by9T
dWJ0bGVDcnlwdG8uaWRsCiAgICAgY3J5cHRvL1dlYktpdFN1YnRsZUNyeXB0by5pZGwKIAorICAg
IGNyeXB0by9rZXlzL0NyeXB0b0Flc0tleUFsZ29yaXRobS5pZGwKKyAgICBjcnlwdG8va2V5cy9D
cnlwdG9FY0tleUFsZ29yaXRobS5pZGwKKyAgICBjcnlwdG8va2V5cy9DcnlwdG9IbWFjS2V5QWxn
b3JpdGhtLmlkbAorICAgIGNyeXB0by9rZXlzL0NyeXB0b0tleUFsZ29yaXRobS5pZGwKKyAgICBj
cnlwdG8va2V5cy9DcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0uaWRsCisgICAgY3J5cHRvL2tl
eXMvQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmlkbAorCiAgICAgY3J5cHRvL3BhcmFtZXRlcnMvQWVz
Q2JjQ2ZiUGFyYW1zLmlkbAogICAgIGNyeXB0by9wYXJhbWV0ZXJzL0Flc0N0clBhcmFtcy5pZGwK
ICAgICBjcnlwdG8vcGFyYW1ldGVycy9BZXNHY21QYXJhbXMuaWRsCkBAIC0xMTgzLDkgKzExOTAs
NyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvanMvSlNEZXByZWNhdGVkQ1NT
T01WYWx1ZUN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5jcHAKICAg
ICBiaW5kaW5ncy9qcy9KU0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREN1c3RvbS5jcHAKLSAgICBi
aW5kaW5ncy9qcy9KU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIuY3BwCiAgICAgYmluZGluZ3MvanMv
SlNDcnlwdG9BbGdvcml0aG1EaWN0aW9uYXJ5LmNwcAotICAgIGJpbmRpbmdzL2pzL0pTQ3J5cHRv
S2V5Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTQ3J5cHRvS2V5U2VyaWFsaXphdGlvbkpX
Sy5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0NyeXB0b09wZXJhdGlvbkRhdGEuY3BwCiAgICAgYmlu
ZGluZ3MvanMvSlNDdXN0b21FbGVtZW50SW50ZXJmYWNlLmNwcApJbmRleDogU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiAyMjA1MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1Niw3IEBAIFZQQVRIID0g
XAogICAgICQoV2ViQ29yZSkvYW5pbWF0aW9uIFwKICAgICAkKFdlYkNvcmUpL2JpbmRpbmdzL2pz
IFwKICAgICAkKFdlYkNvcmUpL2NyeXB0byBcCisgICAgJChXZWJDb3JlKS9jcnlwdG8va2V5cyBc
CiAgICAgJChXZWJDb3JlKS9jcnlwdG8vcGFyYW1ldGVycyBcCiAgICAgJChXZWJDb3JlKS9jc3Mg
XAogICAgICQoV2ViQ29yZSkvZG9tIFwKQEAgLTMwNSw2ICszMDYsMTIgQEAgSlNfQklORElOR19J
RExTID0gXAogICAgICQoV2ViQ29yZSkvY3J5cHRvL1JzYU90aGVyUHJpbWVzSW5mby5pZGwgXAog
ICAgICQoV2ViQ29yZSkvY3J5cHRvL1N1YnRsZUNyeXB0by5pZGwgXAogICAgICQoV2ViQ29yZSkv
Y3J5cHRvL1dlYktpdFN1YnRsZUNyeXB0by5pZGwgXAorICAgICQoV2ViQ29yZSkvY3J5cHRvL2tl
eXMvQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmlkbCBcCisgICAgJChXZWJDb3JlKS9jcnlwdG8va2V5
cy9DcnlwdG9FY0tleUFsZ29yaXRobS5pZGwgXAorICAgICQoV2ViQ29yZSkvY3J5cHRvL2tleXMv
Q3J5cHRvSG1hY0tleUFsZ29yaXRobS5pZGwgXAorICAgICQoV2ViQ29yZSkvY3J5cHRvL2tleXMv
Q3J5cHRvS2V5QWxnb3JpdGhtLmlkbCBcCisgICAgJChXZWJDb3JlKS9jcnlwdG8va2V5cy9Dcnlw
dG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0uaWRsIFwKKyAgICAkKFdlYkNvcmUpL2NyeXB0by9rZXlz
L0NyeXB0b1JzYUtleUFsZ29yaXRobS5pZGwgXAogICAgICQoV2ViQ29yZSkvY3J5cHRvL3BhcmFt
ZXRlcnMvQWVzQ2JjQ2ZiUGFyYW1zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jcnlwdG8vcGFyYW1l
dGVycy9BZXNDdHJQYXJhbXMuaWRsIFwKICAgICAkKFdlYkNvcmUpL2NyeXB0by9wYXJhbWV0ZXJz
L0Flc0djbVBhcmFtcy5pZGwgXApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjIwNTI4KQorKysgU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBA
IC0zMjU0LDYgKzMyNTQsMjQgQEAKIAkJN0M5M0YzNEExQUE2QkE1RTAwQTk4QkFCIC8qIENvbXBp
bGVkQ29udGVudEV4dGVuc2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gN0M5M0YzNDgxQUE2QkE1RTAwQTk4QkFCIC8qIENvbXBpbGVkQ29udGVudEV4
dGVuc2lvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTdDOTNGMzREMUFBNkJGMDcwMEE5OEJBQiAvKiBDb250ZW50RXh0ZW5zaW9uQ29tcGlsZXIu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M5M0Yz
NEIxQUE2QkYwNzAwQTk4QkFCIC8qIENvbnRlbnRFeHRlbnNpb25Db21waWxlci5jcHAgKi87IH07
CiAJCTdDOTNGMzRFMUFBNkJGMDcwMEE5OEJBQiAvKiBDb250ZW50RXh0ZW5zaW9uQ29tcGlsZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDOTNGMzRD
MUFBNkJGMDcwMEE5OEJBQiAvKiBDb250ZW50RXh0ZW5zaW9uQ29tcGlsZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3QzlBQ0E5MjFGM0NDMEFB
MDBGM0FBMDkgLyogQ3J5cHRvS2V5QWxnb3JpdGhtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzlBQ0E4RjFGM0NDMEFBMDBGM0FBMDkgLyogQ3J5cHRv
S2V5QWxnb3JpdGhtLmggKi87IH07CisJCTdDOUFDQTk4MUYzQ0NEQUQwMEYzQUEwOSAvKiBDcnlw
dG9BZXNLZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdDOUFDQTk2MUYzQ0NEQUQwMEYzQUEwOSAvKiBDcnlwdG9BZXNLZXlBbGdvcml0
aG0uaCAqLzsgfTsKKwkJN0M5QUNBOUMxRjNDQ0RGMjAwRjNBQTA5IC8qIENyeXB0b0VjS2V5QWxn
b3JpdGhtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
QzlBQ0E5QTFGM0NDREYyMDBGM0FBMDkgLyogQ3J5cHRvRWNLZXlBbGdvcml0aG0uaCAqLzsgfTsK
KwkJN0M5QUNBQTAxRjNDQ0UzMDAwRjNBQTA5IC8qIENyeXB0b0htYWNLZXlBbGdvcml0aG0uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDOUFDQTlFMUYz
Q0NFMzAwMEYzQUEwOSAvKiBDcnlwdG9IbWFjS2V5QWxnb3JpdGhtLmggKi87IH07CisJCTdDOUFD
QUE0MUYzQ0NFNjkwMEYzQUEwOSAvKiBDcnlwdG9Sc2FLZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDOUFDQUEyMUYzQ0NFNjkwMEYz
QUEwOSAvKiBDcnlwdG9Sc2FLZXlBbGdvcml0aG0uaCAqLzsgfTsKKwkJN0M5QUNBQTgxRjNDQ0VC
NDAwRjNBQTA5IC8qIENyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M5QUNBQTYxRjNDQ0VCNDAwRjNBQTA5
IC8qIENyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5oICovOyB9OworCQk3QzlBQ0FCNzFGM0NG
MUFFMDBGM0FBMDkgLyogSlNDcnlwdG9BZXNLZXlBbGdvcml0aG0uY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M5QUNBQjYxRjNDREM0NzAwRjNBQTA5
IC8qIEpTQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmNwcCAqLzsgfTsKKwkJN0M5QUNBQjgxRjNDRjFB
RTAwRjNBQTA5IC8qIEpTQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzlBQ0FBQTFGM0NEQjYzMDBGM0FBMDkgLyog
SlNDcnlwdG9BZXNLZXlBbGdvcml0aG0uaCAqLzsgfTsKKwkJN0M5QUNBQjkxRjNDRjFBRTAwRjNB
QTA5IC8qIEpTQ3J5cHRvRWNLZXlBbGdvcml0aG0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M5QUNBQUQxRjNDREI5RTAwRjNBQTA5IC8qIEpTQ3J5
cHRvRWNLZXlBbGdvcml0aG0uY3BwICovOyB9OworCQk3QzlBQ0FCQTFGM0NGMUFFMDBGM0FBMDkg
LyogSlNDcnlwdG9FY0tleUFsZ29yaXRobS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0M5QUNBQUMxRjNDREI5RDAwRjNBQTA5IC8qIEpTQ3J5cHRvRWNL
ZXlBbGdvcml0aG0uaCAqLzsgfTsKKwkJN0M5QUNBQkIxRjNDRjFBRTAwRjNBQTA5IC8qIEpTQ3J5
cHRvSG1hY0tleUFsZ29yaXRobS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3QzlBQ0FBRTFGM0NEQjlGMDBGM0FBMDkgLyogSlNDcnlwdG9IbWFjS2V5
QWxnb3JpdGhtLmNwcCAqLzsgfTsKKwkJN0M5QUNBQkMxRjNDRjFBRTAwRjNBQTA5IC8qIEpTQ3J5
cHRvSG1hY0tleUFsZ29yaXRobS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gN0M5QUNBQUYxRjNDREI5RjAwRjNBQTA5IC8qIEpTQ3J5cHRvSG1hY0tleUFs
Z29yaXRobS5oICovOyB9OworCQk3QzlBQ0FCRDFGM0NGMUFFMDBGM0FBMDkgLyogSlNDcnlwdG9L
ZXlBbGdvcml0aG0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gN0M5QUNBQjAxRjNDREJBMDAwRjNBQTA5IC8qIEpTQ3J5cHRvS2V5QWxnb3JpdGhtLmNw
cCAqLzsgfTsKKwkJN0M5QUNBQkUxRjNDRjFBRjAwRjNBQTA5IC8qIEpTQ3J5cHRvS2V5QWxnb3Jp
dGhtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzlB
Q0FCMTFGM0NEQkExMDBGM0FBMDkgLyogSlNDcnlwdG9LZXlBbGdvcml0aG0uaCAqLzsgfTsKKwkJ
N0M5QUNBQkYxRjNDRjFBRjAwRjNBQTA5IC8qIEpTQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3JpdGht
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDOUFD
QUI0MUYzQ0RDMDEwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5jcHAg
Ki87IH07CisJCTdDOUFDQUMwMUYzQ0YxQUYwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUhhc2hlZEtl
eUFsZ29yaXRobS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0M5QUNBQjUxRjNDREMwMjAwRjNBQTA5IC8qIEpTQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3Jp
dGhtLmggKi87IH07CisJCTdDOUFDQUMxMUYzQ0YxQUYwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUtl
eUFsZ29yaXRobS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3QzlBQ0FCMjFGM0NEQzAwMDBGM0FBMDkgLyogSlNDcnlwdG9Sc2FLZXlBbGdvcml0aG0u
Y3BwICovOyB9OworCQk3QzlBQ0FDMjFGM0NGMUFGMDBGM0FBMDkgLyogSlNDcnlwdG9Sc2FLZXlB
bGdvcml0aG0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDdDOUFDQUIzMUYzQ0RDMDEwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUtleUFsZ29yaXRobS5oICov
OyB9OwogCQk3QzlEQkZFRDFBOUM0OUIxMDAwRDZCMjUgLyogSlNIVE1MQXR0YWNobWVudEVsZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M5
REJGRUIxQTlDNDlCMTAwMEQ2QjI1IC8qIEpTSFRNTEF0dGFjaG1lbnRFbGVtZW50LmNwcCAqLzsg
fTsKIAkJN0M5REJGRUUxQTlDNDlCMTAwMEQ2QjI1IC8qIEpTSFRNTEF0dGFjaG1lbnRFbGVtZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzlEQkZF
QzFBOUM0OUIxMDAwRDZCMjUgLyogSlNIVE1MQXR0YWNobWVudEVsZW1lbnQuaCAqLzsgfTsKIAkJ
N0NCNUNBM0YxRTUyNUM3MTAwRkFFRjEzIC8qIE1lZGlhUXVlcnlFeHByZXNzaW9uLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDQjVDQTNEMUU1MjVD
NkMwMEZBRUYxMyAvKiBNZWRpYVF1ZXJ5RXhwcmVzc2lvbi5jcHAgKi87IH07CkBAIC02NTIwLDkg
KzY1MzgsNiBAQAogCQlFMTU3QThFMTE4MTczMzFDMDA5RjgyMUQgLyogSlNDcnlwdG9LZXkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNTdBOERGMTgx
NzMzMUMwMDlGODIxRCAvKiBKU0NyeXB0b0tleS5oICovOyB9OwogCQlFMTU3QThFNDE4MTczQTNB
MDA5RjgyMUQgLyogQ3J5cHRvS2V5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUxNTdBOEUyMTgxNzNBM0EwMDlGODIxRCAvKiBDcnlwdG9LZXkuY3Bw
ICovOyB9OwogCQlFMTU3QThFNTE4MTczQTNBMDA5RjgyMUQgLyogQ3J5cHRvS2V5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTU3QThFMzE4MTczQTNB
MDA5RjgyMUQgLyogQ3J5cHRvS2V5LmggKi87IH07Ci0JCUUxNTdBOEU4MTgxODRDNjcwMDlGODIx
RCAvKiBKU0NyeXB0b0tleUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFMTU3QThFNjE4MTg0QzY3MDA5RjgyMUQgLyogSlNDcnlwdG9LZXlD
dXN0b20uY3BwICovOyB9OwotCQlFMTU3QThGMDE4MTg1NDI1MDA5RjgyMUQgLyogSlNDcnlwdG9B
bGdvcml0aG1CdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEUxNTdBOEVFMTgxODU0MjUwMDlGODIxRCAvKiBKU0NyeXB0b0FsZ29yaXRobUJ1
aWxkZXIuY3BwICovOyB9OwotCQlFMTU3QThGMTE4MTg1NDI1MDA5RjgyMUQgLyogSlNDcnlwdG9B
bGdvcml0aG1CdWlsZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMTU3QThFRjE4MTg1NDI1MDA5RjgyMUQgLyogSlNDcnlwdG9BbGdvcml0aG1CdWls
ZGVyLmggKi87IH07CiAJCUUxNUEzNkQ3MTEwNDU3MjAwMEI3QjYzOSAvKiBYTUxOU05hbWVzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTVBMzZENjEx
MDQ1NzIwMDBCN0I2MzkgLyogWE1MTlNOYW1lcy5oICovOyB9OwogCQlFMTVBMzZEOTExMDQ1NzI3
MDBCN0I2MzkgLyogWE1MTlNOYW1lcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFMTVBMzZEODExMDQ1NzI3MDBCN0I2MzkgLyogWE1MTlNOYW1lcy5j
cHAgKi87IH07CiAJCUUxNUZGN0Q1MThDOTU1MzgwMEZFNEM4NyAvKiBLZXlwcmVzc0NvbW1hbmQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNUZGN0Q0
MThDOTU1MzgwMEZFNEM4NyAvKiBLZXlwcmVzc0NvbW1hbmQuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTEzMjIsNiArMTEzMzcsMzAgQEAKIAkJ
N0M5M0YzNDgxQUE2QkE1RTAwQTk4QkFCIC8qIENvbXBpbGVkQ29udGVudEV4dGVuc2lvbi5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb21waWxlZENvbnRlbnRFeHRlbnNpb24u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M5M0YzNEIxQUE2QkYwNzAwQTk4QkFC
IC8qIENvbnRlbnRFeHRlbnNpb25Db21waWxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBDb250ZW50RXh0ZW5zaW9uQ29tcGlsZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3QzkzRjM0QzFBQTZCRjA3MDBBOThCQUIgLyogQ29udGVudEV4dGVu
c2lvbkNvbXBpbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRF
eHRlbnNpb25Db21waWxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0E4
RjFGM0NDMEFBMDBGM0FBMDkgLyogQ3J5cHRvS2V5QWxnb3JpdGhtLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IENyeXB0b0tleUFsZ29yaXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlB
Q0E5MTFGM0NDMEFBMDBGM0FBMDkgLyogQ3J5cHRvS2V5QWxnb3JpdGhtLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDcnlw
dG9LZXlBbGdvcml0aG0uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0E5
NjFGM0NDREFEMDBGM0FBMDkgLyogQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IENyeXB0b0Flc0tleUFsZ29yaXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk3QzlBQ0E5NzFGM0NDREFEMDBGM0FBMDkgLyogQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBDcnlwdG9BZXNLZXlBbGdvcml0aG0uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk3QzlBQ0E5QTFGM0NDREYyMDBGM0FBMDkgLyogQ3J5cHRvRWNLZXlBbGdvcml0aG0uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ3J5cHRvRWNLZXlBbGdvcml0aG0uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJN0M5QUNBOUIxRjNDQ0RGMjAwRjNBQTA5IC8qIENyeXB0b0VjS2V5QWxnb3Jp
dGhtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBDcnlwdG9FY0tleUFsZ29yaXRobS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTdDOUFDQTlFMUYzQ0NFMzAwMEYzQUEwOSAvKiBDcnlwdG9IbWFjS2V5QWxn
b3JpdGhtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENyeXB0b0htYWNLZXlBbGdvcml0aG0uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0M5QUNBOUYxRjNDQ0UzMDAwRjNBQTA5IC8qIENyeXB0
b0htYWNLZXlBbGdvcml0aG0uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENyeXB0b0htYWNLZXlBbGdvcml0aG0uaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FBMjFGM0NDRTY5MDBGM0FBMDkgLyog
Q3J5cHRvUnNhS2V5QWxnb3JpdGhtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENyeXB0b1JzYUtleUFsZ29y
aXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FBMzFGM0NDRTY5MDBG
M0FBMDkgLyogQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDcnlwdG9Sc2FLZXlBbGdv
cml0aG0uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FBNjFGM0NDRUI0
MDBGM0FBMDkgLyogQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3JpdGhtLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IENyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk3QzlBQ0FBNzFGM0NDRUI0MDBGM0FBMDkgLyogQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3Jp
dGhtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBDcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0uaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FBQTFGM0NEQjYzMDBGM0FBMDkgLyogSlNDcnlwdG9B
ZXNLZXlBbGdvcml0aG0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDcnlwdG9BZXNLZXlBbGdvcml0aG0u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0M5QUNBQUMxRjNDREI5RDAwRjNBQTA5
IC8qIEpTQ3J5cHRvRWNLZXlBbGdvcml0aG0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDcnlwdG9FY0tl
eUFsZ29yaXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FBRDFGM0NE
QjlFMDBGM0FBMDkgLyogSlNDcnlwdG9FY0tleUFsZ29yaXRobS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0NyeXB0b0VjS2V5QWxnb3JpdGhtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJN0M5QUNBQUUxRjNDREI5RjAwRjNBQTA5IC8qIEpTQ3J5cHRvSG1hY0tleUFsZ29yaXRo
bS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NyeXB0b0htYWNLZXlBbGdvcml0aG0uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FBRjFGM0NEQjlGMDBGM0FBMDkgLyog
SlNDcnlwdG9IbWFjS2V5QWxnb3JpdGhtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ3J5cHRvSG1hY0tl
eUFsZ29yaXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FCMDFGM0NE
QkEwMDBGM0FBMDkgLyogSlNDcnlwdG9LZXlBbGdvcml0aG0uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNDcnlwdG9LZXlBbGdvcml0aG0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk3QzlBQ0FCMTFGM0NEQkExMDBGM0FBMDkgLyogSlNDcnlwdG9LZXlBbGdvcml0aG0uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNDcnlwdG9LZXlBbGdvcml0aG0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJN0M5QUNBQjIxRjNDREMwMDAwRjNBQTA5IC8qIEpTQ3J5cHRvUnNhS2V5QWxnb3Jp
dGhtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0M5QUNBQjMxRjNDREMwMTAwRjNBQTA5IC8q
IEpTQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ3J5cHRvUnNhS2V5
QWxnb3JpdGhtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDOUFDQUI0MUYzQ0RD
MDEwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU0NyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTdDOUFDQUI1MUYzQ0RDMDIwMEYzQUEwOSAvKiBKU0NyeXB0b1Jz
YUhhc2hlZEtleUFsZ29yaXRobS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0NyeXB0b1JzYUhhc2hlZEtl
eUFsZ29yaXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FCNjFGM0NE
QzQ3MDBGM0FBMDkgLyogSlNDcnlwdG9BZXNLZXlBbGdvcml0aG0uY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNDcnlwdG9BZXNLZXlBbGdvcml0aG0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3QzlEQkZFQTFBOUM0ODlGMDAwRDZCMjUgLyogSFRNTEF0dGFjaG1lbnRFbGVtZW50
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBIVE1MQXR0YWNobWVudEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk3QzlEQkZFQjFBOUM0OUIxMDAwRDZCMjUgLyogSlNIVE1MQXR0YWNobWVudEVs
ZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNIVE1MQXR0
YWNobWVudEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzlEQkZF
QzFBOUM0OUIxMDAwRDZCMjUgLyogSlNIVE1MQXR0YWNobWVudEVsZW1lbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNIVE1MQXR0YWNobWVudEVsZW1lbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1MTAxLDkgKzE1MTQwLDYgQEAKIAkJRTE1N0E4REYx
ODE3MzMxQzAwOUY4MjFEIC8qIEpTQ3J5cHRvS2V5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTQ3J5cHRvS2V5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUx
NTdBOEUyMTgxNzNBM0EwMDlGODIxRCAvKiBDcnlwdG9LZXkuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQ3J5cHRvS2V5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTE1N0E4RTMxODE3M0EzQTAwOUY4MjFEIC8qIENyeXB0b0tleS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcnlwdG9LZXkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJRTE1N0E4RTYxODE4NEM2NzAwOUY4MjFEIC8qIEpTQ3J5cHRvS2V5Q3VzdG9t
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ3J5cHRvS2V5Q3Vz
dG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTE1N0E4RUUxODE4NTQyNTAw
OUY4MjFEIC8qIEpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQlFMTU3QThFRjE4MTg1NDI1MDA5RjgyMUQgLyogSlNDcnlw
dG9BbGdvcml0aG1CdWlsZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
Q3J5cHRvQWxnb3JpdGhtQnVpbGRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlF
MTVBMzZENjExMDQ1NzIwMDBCN0I2MzkgLyogWE1MTlNOYW1lcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBYTUxOU05hbWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUUxNUEzNkQ4MTEwNDU3MjcwMEI3QjYzOSAvKiBYTUxOU05hbWVzLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFhNTE5TTmFtZXMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFMTVGRjdENDE4Qzk1NTM4MDBGRTRDODcgLyogS2V5cHJlc3NDb21t
YW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEtleXByZXNzQ29tbWFuZC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTg1NzksMTIgKzE4NjE1LDEyIEBACiAJ
CQkJNTE4MkMyNTIxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlci5oICovLAogCQkJ
CTUxODJDMjUxMUYzMTQyNTAwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3Bw
ICovLAogCQkJCTUxODJDMjU0MUYzMTQyNTAwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXJDb250
YWluZXIuaCAqLywKLQkJCQk1MUYxNzUwMDFGMzU4QjM2MDBDNzQ5NTAgLyogSlNTZXJ2aWNlV29y
a2VyVXBkYXRlVmlhQ2FjaGUuY3BwICovLAotCQkJCTUxRjE3NTAxMUYzNThCMzYwMEM3NDk1MCAv
KiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5oICovLAogCQkJCTUxODJDMjRFMUYzMTQy
NTAwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5jcHAgKi8sCiAJCQkJNTE4
MkMyNEQxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmggKi8s
CiAJCQkJNTE4MkMyNEYxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbi5jcHAgKi8sCiAJCQkJNTE4MkMyNTAxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbi5oICovLAorCQkJCTUxRjE3NTAwMUYzNThCMzYwMEM3NDk1MCAvKiBK
U1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5jcHAgKi8sCisJCQkJNTFGMTc1MDExRjM1OEIz
NjAwQzc0OTUwIC8qIEpTU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggKi8sCiAJCQkpOwog
CQkJbmFtZSA9IFNlcnZpY2VXb3JrZXJzOwogCQkJcGF0aCA9IERlcml2ZWRTb3VyY2VzOwpAQCAt
MjM1MTgsOCArMjM1NTQsNiBAQAogCQkJCTE0MzJFODQ2MEM1MTQ5MzgwMEIxNTAwRiAvKiBHQ0Nv
bnRyb2xsZXIuaCAqLywKIAkJCQlDNTg1QTY2MDExRDRGQUM1MDA0QzNFNEIgLyogSURCQmluZGlu
Z1V0aWxpdGllcy5jcHAgKi8sCiAJCQkJQzU4NUE2NjExMUQ0RkFDNTAwNEMzRTRCIC8qIElEQkJp
bmRpbmdVdGlsaXRpZXMuaCAqLywKLQkJCQlFMTU3QThFRTE4MTg1NDI1MDA5RjgyMUQgLyogSlND
cnlwdG9BbGdvcml0aG1CdWlsZGVyLmNwcCAqLywKLQkJCQlFMTU3QThFRjE4MTg1NDI1MDA5Rjgy
MUQgLyogSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyLmggKi8sCiAJCQkJRTFDNjU3MTAxODE1RjlE
RDAwMjU2Q0REIC8qIEpTQ3J5cHRvQWxnb3JpdGhtRGljdGlvbmFyeS5jcHAgKi8sCiAJCQkJRTFD
NjU3MTExODE1RjlERDAwMjU2Q0REIC8qIEpTQ3J5cHRvQWxnb3JpdGhtRGljdGlvbmFyeS5oICov
LAogCQkJCUUxMjVGODRGMTgyODNBNTYwMEQ4NENEOSAvKiBKU0NyeXB0b0tleVNlcmlhbGl6YXRp
b25KV0suY3BwICovLApAQCAtMjM2MDgsNyArMjM2NDIsNiBAQAogCQkJY2hpbGRyZW4gPSAoCiAJ
CQkJN0NEMzQ0MUIxRjMyREUzMDAwMERDRDQ5IC8qIENhY2hlZCBBdHRyaWJ1dGVzIHcvIEludmFs
aWRhdGlvbiAqLywKIAkJCQk3QzNEOEVFNDFFMDhCQUJFMDAyM0IwODQgLyogR0MgLyBXcmFwcGlu
ZyBPbmx5ICovLAotCQkJCUUxNTdBOEU2MTgxODRDNjcwMDlGODIxRCAvKiBKU0NyeXB0b0tleUN1
c3RvbS5jcHAgKi8sCiAJCQkJOUJDNUY5REYxRDVBQUY2QTAwMkI3NDlEIC8qIEpTQ3VzdG9tRWxl
bWVudFJlZ2lzdHJ5Q3VzdG9tLmNwcCAqLywKIAkJCQlCQ0Q5QzI1RTBDMTdBQTY3MDA1QzkwQTIg
LyogSlNET01XaW5kb3dDdXN0b20uY3BwICovLAogCQkJCTY1MkZCQkJCMERFMjdDQjYwMDAxRDM4
NiAvKiBKU0RPTVdpbmRvd0N1c3RvbS5oICovLApAQCAtMjQ1NDUsOCArMjQ1NzgsMTYgQEAKIAkJ
RTE5REEyOUQxODE5OTVDRTAwMDg4QkM4IC8qIGtleXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91
cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTdDOUFDQTk2MUYzQ0NEQUQwMEYzQUEwOSAvKiBDcnlw
dG9BZXNLZXlBbGdvcml0aG0uaCAqLywKKwkJCQk3QzlBQ0E5NzFGM0NDREFEMDBGM0FBMDkgLyog
Q3J5cHRvQWVzS2V5QWxnb3JpdGhtLmlkbCAqLywKKwkJCQk3QzlBQ0E5QTFGM0NDREYyMDBGM0FB
MDkgLyogQ3J5cHRvRWNLZXlBbGdvcml0aG0uaCAqLywKKwkJCQk3QzlBQ0E5QjFGM0NDREYyMDBG
M0FBMDkgLyogQ3J5cHRvRWNLZXlBbGdvcml0aG0uaWRsICovLAorCQkJCTdDOUFDQTlFMUYzQ0NF
MzAwMEYzQUEwOSAvKiBDcnlwdG9IbWFjS2V5QWxnb3JpdGhtLmggKi8sCisJCQkJN0M5QUNBOUYx
RjNDQ0UzMDAwRjNBQTA5IC8qIENyeXB0b0htYWNLZXlBbGdvcml0aG0uaWRsICovLAogCQkJCUUx
MjVGODRCMTgyNDI4OUQwMEQ4NENEOSAvKiBDcnlwdG9LZXlBRVMuY3BwICovLAogCQkJCUUxMjVG
ODRDMTgyNDI4OUQwMEQ4NENEOSAvKiBDcnlwdG9LZXlBRVMuaCAqLywKKwkJCQk3QzlBQ0E4RjFG
M0NDMEFBMDBGM0FBMDkgLyogQ3J5cHRvS2V5QWxnb3JpdGhtLmggKi8sCisJCQkJN0M5QUNBOTEx
RjNDQzBBQTAwRjNBQTA5IC8qIENyeXB0b0tleUFsZ29yaXRobS5pZGwgKi8sCiAJCQkJRTEyNUY4
NjExODJDMzAzQTAwRDg0Q0Q5IC8qIENyeXB0b0tleURhdGFPY3RldFNlcXVlbmNlLmNwcCAqLywK
IAkJCQlFMTI1Rjg2MjE4MkMzMDNBMDBEODRDRDkgLyogQ3J5cHRvS2V5RGF0YU9jdGV0U2VxdWVu
Y2UuaCAqLywKIAkJCQlFMUMyNjZEQzE4MzE5RjMxMDAzRjhCMzMgLyogQ3J5cHRvS2V5RGF0YVJT
QUNvbXBvbmVudHMuY3BwICovLApAQCAtMjQ1NjEsNiArMjQ2MDIsMTAgQEAKIAkJCQlFMTY0RkFB
MjE4MzE1QkY0MDBEQjRFNjEgLyogQ3J5cHRvS2V5UlNBLmggKi8sCiAJCQkJRTEyNUY4NTcxODJD
MUFBNjAwRDg0Q0Q5IC8qIENyeXB0b0tleVNlcmlhbGl6YXRpb25SYXcuY3BwICovLAogCQkJCUUx
MjVGODU4MTgyQzFBQTYwMEQ4NENEOSAvKiBDcnlwdG9LZXlTZXJpYWxpemF0aW9uUmF3LmggKi8s
CisJCQkJN0M5QUNBQTYxRjNDQ0VCNDAwRjNBQTA5IC8qIENyeXB0b1JzYUhhc2hlZEtleUFsZ29y
aXRobS5oICovLAorCQkJCTdDOUFDQUE3MUYzQ0NFQjQwMEYzQUEwOSAvKiBDcnlwdG9Sc2FIYXNo
ZWRLZXlBbGdvcml0aG0uaWRsICovLAorCQkJCTdDOUFDQUEyMUYzQ0NFNjkwMEYzQUEwOSAvKiBD
cnlwdG9Sc2FLZXlBbGdvcml0aG0uaCAqLywKKwkJCQk3QzlBQ0FBMzFGM0NDRTY5MDBGM0FBMDkg
LyogQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmlkbCAqLywKIAkJCSk7CiAJCQlwYXRoID0ga2V5czsK
IAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0yNDc2OCwxNCArMjQ4MTMsMjYgQEAKIAkJ
CQk1N0I1RjgwQjFFNUQyMkRBMDBGMzRGOTAgLyogSlNBZXNHY21QYXJhbXMuaCAqLywKIAkJCQk1
NzY4MTQ0MjFFNzBDQjEwMDBFNzc3NTQgLyogSlNBZXNLZXlQYXJhbXMuY3BwICovLAogCQkJCTU3
NjgxNDQzMUU3MENCMTAwMEU3Nzc1NCAvKiBKU0Flc0tleVBhcmFtcy5oICovLAorCQkJCTdDOUFD
QUI2MUYzQ0RDNDcwMEYzQUEwOSAvKiBKU0NyeXB0b0Flc0tleUFsZ29yaXRobS5jcHAgKi8sCisJ
CQkJN0M5QUNBQUExRjNDREI2MzAwRjNBQTA5IC8qIEpTQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmgg
Ki8sCiAJCQkJNTczOUUxMzAxREFDN0ZEMTAwRTE0MzgzIC8qIEpTQ3J5cHRvQWxnb3JpdGhtUGFy
YW1ldGVycy5jcHAgKi8sCiAJCQkJNTczOUUxMkUxREFDN0Y3ODAwRTE0MzgzIC8qIEpTQ3J5cHRv
QWxnb3JpdGhtUGFyYW1ldGVycy5oICovLAorCQkJCTdDOUFDQUFEMUYzQ0RCOUUwMEYzQUEwOSAv
KiBKU0NyeXB0b0VjS2V5QWxnb3JpdGhtLmNwcCAqLywKKwkJCQk3QzlBQ0FBQzFGM0NEQjlEMDBG
M0FBMDkgLyogSlNDcnlwdG9FY0tleUFsZ29yaXRobS5oICovLAorCQkJCTdDOUFDQUFFMUYzQ0RC
OUYwMEYzQUEwOSAvKiBKU0NyeXB0b0htYWNLZXlBbGdvcml0aG0uY3BwICovLAorCQkJCTdDOUFD
QUFGMUYzQ0RCOUYwMEYzQUEwOSAvKiBKU0NyeXB0b0htYWNLZXlBbGdvcml0aG0uaCAqLywKIAkJ
CQlFMTU3QThERTE4MTczMzFDMDA5RjgyMUQgLyogSlNDcnlwdG9LZXkuY3BwICovLAogCQkJCUUx
NTdBOERGMTgxNzMzMUMwMDlGODIxRCAvKiBKU0NyeXB0b0tleS5oICovLAorCQkJCTdDOUFDQUIw
MUYzQ0RCQTAwMEYzQUEwOSAvKiBKU0NyeXB0b0tleUFsZ29yaXRobS5jcHAgKi8sCisJCQkJN0M5
QUNBQjExRjNDREJBMTAwRjNBQTA5IC8qIEpTQ3J5cHRvS2V5QWxnb3JpdGhtLmggKi8sCiAJCQkJ
RTFGODBCOEIxODMxNzJCNTAwNzg4NUMzIC8qIEpTQ3J5cHRvS2V5UGFpci5jcHAgKi8sCiAJCQkJ
RTFGODBCOEMxODMxNzJCNTAwNzg4NUMzIC8qIEpTQ3J5cHRvS2V5UGFpci5oICovLAogCQkJCTU3
RDAwMThFMURENTQxNTMwMEVEMTlEOSAvKiBKU0NyeXB0b0tleVVzYWdlLmNwcCAqLywKIAkJCQk1
N0QwMDE4QzFERDU0MTMyMDBFRDE5RDkgLyogSlNDcnlwdG9LZXlVc2FnZS5oICovLAorCQkJCTdD
OUFDQUI0MUYzQ0RDMDEwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5j
cHAgKi8sCisJCQkJN0M5QUNBQjUxRjNDREMwMjAwRjNBQTA5IC8qIEpTQ3J5cHRvUnNhSGFzaGVk
S2V5QWxnb3JpdGhtLmggKi8sCisJCQkJN0M5QUNBQjIxRjNDREMwMDAwRjNBQTA5IC8qIEpTQ3J5
cHRvUnNhS2V5QWxnb3JpdGhtLmNwcCAqLywKKwkJCQk3QzlBQ0FCMzFGM0NEQzAxMDBGM0FBMDkg
LyogSlNDcnlwdG9Sc2FLZXlBbGdvcml0aG0uaCAqLywKIAkJCQk1NzY4MTQzRDFFNzA5QzM2MDBF
Nzc3NTQgLyogSlNFY2RoS2V5RGVyaXZlUGFyYW1zLmNwcCAqLywKIAkJCQk1NzY4MTQzRTFFNzA5
QzM2MDBFNzc3NTQgLyogSlNFY2RoS2V5RGVyaXZlUGFyYW1zLmggKi8sCiAJCQkJNTdFRUFBNTIx
RUEwMDFCMTAwNzAxMTI0IC8qIEpTRWNkc2FQYXJhbXMuY3BwICovLApAQCAtMjY4MjIsNiArMjY4
NzksNyBAQAogCQkJCUUxQzQxNURBMEY2NTVENkYwMDkyRDJGQiAvKiBDcm9zc09yaWdpblByZWZs
aWdodFJlc3VsdENhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTY5ODAzRDExMzM1NDJEMDA4
OTQxMTUgLyogQ1J1bnRpbWVPYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3NUNBMjhCMTMw
MzY1RjgwMEU5OUFEOSAvKiBDcnlwdG8uaCBpbiBIZWFkZXJzICovLAorCQkJCTdDOUFDQTk4MUYz
Q0NEQUQwMEYzQUEwOSAvKiBDcnlwdG9BZXNLZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAog
CQkJCUUxNzJBRjZFMTgwRjI0QzYwMEZCQURCOSAvKiBDcnlwdG9BbGdvcml0aG0uaCBpbiBIZWFk
ZXJzICovLAogCQkJCUUxMjVGODQyMTgyNDI1M0EwMEQ4NENEOSAvKiBDcnlwdG9BbGdvcml0aG1B
RVNfQ0JDLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzEyNTI2OTFFNTI0RUIxMDA4RkYzNjkgLyog
Q3J5cHRvQWxnb3JpdGhtQUVTX0NGQi5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjg2OSw4ICsyNjky
NywxMSBAQAogCQkJCUUxOUFDM0YzMTgyNERDNzkwMDM0OTQyNiAvKiBDcnlwdG9BbGdvcml0aG1T
SEEzODQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxOUFDM0Y1MTgyNERDNzkwMDM0OTQyNiAvKiBD
cnlwdG9BbGdvcml0aG1TSEE1MTIuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3MjFBOTg3MUVDRTUz
QjEwMDgxMjk1QSAvKiBDcnlwdG9EaWdlc3RBbGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAorCQkJ
CTdDOUFDQTlDMUYzQ0NERjIwMEYzQUEwOSAvKiBDcnlwdG9FY0tleUFsZ29yaXRobS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJN0M5QUNBQTAxRjNDQ0UzMDAwRjNBQTA5IC8qIENyeXB0b0htYWNLZXlB
bGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNTdBOEU1MTgxNzNBM0EwMDlGODIxRCAv
KiBDcnlwdG9LZXkuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMjVGODRFMTgyNDI4OUQwMEQ4NENE
OSAvKiBDcnlwdG9LZXlBRVMuaCBpbiBIZWFkZXJzICovLAorCQkJCTdDOUFDQTkyMUYzQ0MwQUEw
MEYzQUEwOSAvKiBDcnlwdG9LZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMjVG
ODVFMTgyQzJERjYwMEQ4NENEOSAvKiBDcnlwdG9LZXlEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMTI1Rjg2NDE4MkMzMDNBMDBEODRDRDkgLyogQ3J5cHRvS2V5RGF0YU9jdGV0U2VxdWVuY2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCUUxQzI2NkRGMTgzMTlGMzEwMDNGOEIzMyAvKiBDcnlwdG9L
ZXlEYXRhUlNBQ29tcG9uZW50cy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjg4Myw2ICsyNjk0NCw4
IEBACiAJCQkJRTEyNUY4NUExODJDMUFBNjAwRDg0Q0Q5IC8qIENyeXB0b0tleVNlcmlhbGl6YXRp
b25SYXcuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxOTcyNzE2MTgyMDU0OUUwMDU5MkQ1MSAvKiBD
cnlwdG9LZXlUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTcyQUY3MDE4MEYyODk1MDBGQkFE
QjkgLyogQ3J5cHRvS2V5VXNhZ2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTdDOUFDQUE4MUYzQ0NF
QjQwMEYzQUEwOSAvKiBDcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJzICov
LAorCQkJCTdDOUFDQUE0MUYzQ0NFNjkwMEYzQUEwOSAvKiBDcnlwdG9Sc2FLZXlBbGdvcml0aG0u
aCBpbiBIZWFkZXJzICovLAogCQkJCTMxNkZFMTE0MEU2RTFEQTcwMEJGNjA4OCAvKiBDU1NBbmlt
YXRpb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjE1REE4QTBGM0FBRUU3MDAw
MENFNDcgLyogQ1NTQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTMxQkM3NDJFMUFBRkY0NUMwMDZCNDM0MCAvKiBDU1NBbmltYXRpb25UcmlnZ2VyU2Nyb2xs
VmFsdWUuaCBpbiBIZWFkZXJzICovLApAQCAtMjczNzUsNyArMjc0MzgsNiBAQAogCQkJCTMxNkJE
QkY3MUU3NjJBRDUwMERFMEQ1QSAvKiBHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkzMTZCREJGMDFFNzYyOTIwMDBERTBENUEgLyogR1BVRGVwdGhTdGVuY2ls
U3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxNkJEQjg2MUU2RTBBMjcwMERFMEQ1QSAvKiBH
UFVEZXZpY2UuaCBpbiBIZWFkZXJzICovLAotCQkJCTUxRjE3NEZFMUYzNTg5OTIwMEM3NDk1MCAv
KiBXb3JrZXJUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTZCREJDRDFFNzVGMTg0MDBERTBE
NUEgLyogR1BVRHJhd2FibGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxNkJEQkZCMUU3NjJEMDQw
MERFMEQ1QSAvKiBHUFVFbnVtcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE2QkRCOTUxRTcwQzg5
NzAwREUwRDVBIC8qIEdQVUZ1bmN0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTI3NDYzLDcgKzI3
NTI1LDYgQEAKIAkJCQlBODcxRDQ1QzBBMTI3Q0JDMDBCMTJBNjggLyogSFRNTEVtYmVkRWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc3QjM4NkExMjI4ODNFOTAwQjgxRkY4IC8qIEhUTUxF
bnRpdHlQYXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3N0IzODZDMTIyODgzRTkwMEI4MUZG
OCAvKiBIVE1MRW50aXR5U2VhcmNoLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzRGRjFGMzU4
OTk3MDBDNzQ5NTAgLyogU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggaW4gSGVhZGVycyAq
LywKIAkJCQk5NzdCMzg2RDEyMjg4M0U5MDBCODFGRjggLyogSFRNTEVudGl0eVRhYmxlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBODEzNjlENDA5NzM3NEY2MDBENzQ0NjMgLyogSFRNTEZpZWxkU2V0
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThDRkY3QTYwQTE1Njk3ODAwMEE0MjM0IC8q
IEhUTUxGb250RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzc5MiwxNCArMjc4NTMsMTkg
QEAKIAkJCQk3N0Q1MTAxQzFFRDcyMkJGMDBEQTRDODcgLyogSlNDcmVkZW50aWFsc0NvbnRhaW5l
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzdENTEwMDIxRUQ0RjcxODAwREE0Qzg3IC8qIEpTQ3Jl
ZGVudGlhbFVzZXJEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzVDQTJBMjEzMDM2NzlEMDBF
OTlBRDkgLyogSlNDcnlwdG8uaCBpbiBIZWFkZXJzICovLAotCQkJCUUxNTdBOEYxMTgxODU0MjUw
MDlGODIxRCAvKiBKU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTdDOUFDQUI4MUYzQ0YxQUUwMEYzQUEwOSAvKiBKU0NyeXB0b0Flc0tleUFsZ29yaXRobS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTFDNjU3MTMxODE1RjlERDAwMjU2Q0REIC8qIEpTQ3J5cHRvQWxn
b3JpdGhtRGljdGlvbmFyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTczOUUxMkYxREFDN0Y3ODAw
RTE0MzgzIC8qIEpTQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJN0M5QUNBQkExRjNDRjFBRTAwRjNBQTA5IC8qIEpTQ3J5cHRvRWNLZXlBbGdvcml0aG0uaCBp
biBIZWFkZXJzICovLAorCQkJCTdDOUFDQUJDMUYzQ0YxQUUwMEYzQUEwOSAvKiBKU0NyeXB0b0ht
YWNLZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNTdBOEUxMTgxNzMzMUMwMDlG
ODIxRCAvKiBKU0NyeXB0b0tleS5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0M5QUNBQkUxRjNDRjFB
RjAwRjNBQTA5IC8qIEpTQ3J5cHRvS2V5QWxnb3JpdGhtLmggaW4gSGVhZGVycyAqLywKIAkJCQlF
MUY4MEI4RTE4MzE3MkI1MDA3ODg1QzMgLyogSlNDcnlwdG9LZXlQYWlyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlFMTI1Rjg1MjE4MjgzQTU2MDBEODRDRDkgLyogSlNDcnlwdG9LZXlTZXJpYWxpemF0
aW9uSldLLmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0QwMDE4RDFERDU0MTMyMDBFRDE5RDkgLyog
SlNDcnlwdG9LZXlVc2FnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNUY4M0UxODI0MTFFNzAw
RDg0Q0Q5IC8qIEpTQ3J5cHRvT3BlcmF0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0M5
QUNBQzAxRjNDRjFBRjAwRjNBQTA5IC8qIEpTQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3JpdGhtLmgg
aW4gSGVhZGVycyAqLywKKwkJCQk3QzlBQ0FDMjFGM0NGMUFGMDBGM0FBMDkgLyogSlNDcnlwdG9S
c2FLZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNDZDMUZEMEMwRERDOEYwMDIw
Q0ZDMyAvKiBKU0NTU0ZvbnRGYWNlUnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM0NkMxRkYw
QzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTSW1wb3J0UnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MzE2RkUwNzIwRTZDQ0JFRTAwQkY2MDg4IC8qIEpTQ1NTS2V5ZnJhbWVSdWxlLmggaW4gSGVhZGVy
cyAqLywKQEAgLTI4MjExLDYgKzI4Mjc3LDcgQEAKIAkJCQk1MTgyQzI1ODFGMzE0M0NEMDA1OUJB
N0MgLyogSlNTZXJ2aWNlV29ya2VyQ29udGFpbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTgy
QzI1QTFGMzE0M0NEMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxODJDMjVDMUYzMTQzQ0QwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTUxRjE3NTAzMUYzNThCM0IwMEM3
NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOUJEQTY0RDgxQjk3NUNGMjAwOUM0Mzg3IC8qIEpTU2hhZG93Um9vdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDZERkY0OUMxREMyNjIwQjAwQjgwQjQ4IC8qIEpTU2hhZG93Um9vdE1vZGUuaCBp
biBIZWFkZXJzICovLAogCQkJCUNEOURFMTdCMTdBQUM3NUIwMEVBMzg2RCAvKiBKU1NvdXJjZUJ1
ZmZlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODQxMCw3ICsyODQ3Nyw2IEBACiAJCQkJNkUzRkFE
MzkxNDczM0Y0MDAwRTQyMzA2IC8qIEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTZFRThBNzczMTBGODAzRjMwMDVBNEEyNCAvKiBKU1dlYkdMQ29udGV4
dEF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMkNCRjRFMTQwRjFBQkQwMDM4NzlC
RSAvKiBKU1dlYkdMQ29udGV4dEV2ZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzUwNjFG
MzU4QkY3MDBDNzQ5NTAgLyogSlNXb3JrZXJUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RTNG
QUQzOTE0NzMzRjQwMTFFNDIzMDcgLyogSlNXZWJHTERlYnVnUmVuZGVyZXJJbmZvLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk2RTNGQUQzOTE0NzMzRjQwMjJFNDIzMDcgLyogSlNXZWJHTERlYnVnU2hh
ZGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkUzRkFEMzkxNDczM0Y0MDAwRTQyMzA3IC8qIEpT
V2ViR0xEZXB0aFRleHR1cmUuaCBpbiBIZWFkZXJzICovLApAQCAtMjg0NjgsNiArMjg1MzQsNyBA
QAogCQkJCUUxQzM2RDM1MEVCMEEwOTQwMDc0MTBCQyAvKiBKU1dvcmtlckdsb2JhbFNjb3BlQmFz
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFDMzYyRUYwRUFGMkFBOTAwNzQxMEJDIC8qIEpTV29y
a2VyTG9jYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMjcxQTU4MEVFRUNERTQwMEY2MTIx
MyAvKiBKU1dvcmtlck5hdmlnYXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTFGMTc1MDYxRjM1
OEJGNzAwQzc0OTUwIC8qIEpTV29ya2VyVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M0Qzk2
REQxQUQ0NDgzNTAwMzY1QTYwIC8qIEpTV3JpdGFibGVTdHJlYW0uaCBpbiBIZWFkZXJzICovLAog
CQkJCTgzNThDQjcwMUM1MzI3NzUwMEUwQzJEOCAvKiBKU1hNTERvY3VtZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzM0OEJENDBEQjdGODA0MDA0QUJBQjkgLyogSlNYTUxIdHRwUmVxdWVzdC5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yODY4OSw3ICsyODc1Niw2IEBACiAJCQkJNDEzRTAwNzkxREIw
RTRGMjAwMjM0MUQyIC8qIE1lbW9yeVJlbGVhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5
REZBMDk5RTY0OTIwMDU2RTU4MSAvKiBNZXJnZUlkZW50aWNhbEVsZW1lbnRzQ29tbWFuZC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTFBREVDQ0UwRTc2QUQ4QjAwNEExQTVFIC8qIE1lc3NhZ2VDaGFu
bmVsLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzUwMzFGMzU4QjNCMDBDNzQ5NTAgLyogSlNT
ZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTc1NzkzRTg0
MEQwQ0UwQjMwMDdGQzBBQyAvKiBNZXNzYWdlRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUx
QURFQ0JGMEU3NkFDRjEwMDRBMUE1RSAvKiBNZXNzYWdlUG9ydC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNDFCRjcwMEMwRkU4NkY0OTAwNUU4REVDIC8qIE1lc3NhZ2VQb3J0Q2hhbm5lbC5oIGluIEhl
YWRlcnMgKi8sCkBAIC0yOTM2OCw2ICsyOTQzNCw3IEBACiAJCQkJNTE4MkMyNDExRjMxM0EwOTAw
NTlCQTdDIC8qIFNlcnZpY2VXb3JrZXJDb250YWluZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
ODJDMjQzMUYzMTNBMDkwMDU5QkE3QyAvKiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxODJDMjQ1MUYzMTNBMDkwMDU5QkE3QyAvKiBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MUYxNzRGRjFGMzU4OTk3MDBDNzQ5
NTAgLyogU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3
NTZCMkNFMTE4QjcxMDE2MDBGRUNGQUEgLyogU2Vzc2lvbklELmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5MzMwOUUxMDA5OUU2NDkyMDA1NkU1ODEgLyogU2V0Tm9kZUF0dHJpYnV0ZUNvbW1hbmQuaCBp
biBIZWFkZXJzICovLAogCQkJCUI4REJEQjRDMTMwQjBGOEEwMEY1Q0RCMSAvKiBTZXRTZWxlY3Rp
b25Db21tYW5kLmggaW4gSGVhZGVycyAqLywKQEAgLTMwMTczLDYgKzMwMjQwLDcgQEAKIAkJCQkw
QjkwNTZGOTBGMjY4NUYzMDA5NUZGNkEgLyogV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTdBQUJEMkQxNEZBMDlENTAwNzQ1N0FFIC8qIFdvcmtlclRocmVhZGFi
bGVXZWJTb2NrZXRDaGFubmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTRBMEM2ODFEQjgwN0Q5
MDAxN0E5MEIgLyogV29ya2VyVG9QYWdlRnJvbnRlbmRDaGFubmVsLmggaW4gSGVhZGVycyAqLywK
KwkJCQk1MUYxNzRGRTFGMzU4OTkyMDBDNzQ5NTAgLyogV29ya2VyVHlwZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTMzMDlFMjQwOTlFNjQ5MjAwNTZFNTgxIC8qIFdyYXBDb250ZW50c0luRHVtbXlT
cGFuQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE2RTZGRTkxQkJEMTJFNTAwMEE2MDUz
IC8qIFdyaXRhYmxlU3RyZWFtQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxNkU2RkU4
MUJCRDEyREYwMDBBNjA1MyAvKiBXcml0YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggaW4g
SGVhZGVycyAqLywKQEAgLTMxNzY3LDE1ICszMTgzNSwxOSBAQAogCQkJCTc3RDUxMDFEMUVENzIy
QzMwMERBNEM4NyAvKiBKU0NyZWRlbnRpYWxzQ29udGFpbmVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTc3RDUxMDAzMUVENEY3MUIwMERBNEM4NyAvKiBKU0NyZWRlbnRpYWxVc2VyRGF0YS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk5NzVDQTJBMTEzMDM2NzlEMDBFOTlBRDkgLyogSlNDcnlwdG8u
Y3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJRTE1N0E4RjAxODE4NTQyNTAwOUY4MjFEIC8qIEpTQ3J5
cHRvQWxnb3JpdGhtQnVpbGRlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3QzlBQ0FCNzFGM0NG
MUFFMDBGM0FBMDkgLyogSlNDcnlwdG9BZXNLZXlBbGdvcml0aG0uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJRTFDNjU3MTIxODE1RjlERDAwMjU2Q0REIC8qIEpTQ3J5cHRvQWxnb3JpdGhtRGljdGlv
bmFyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1NzM5RTEzMTFEQUM3RkQxMDBFMTQzODMgLyog
SlNDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTdDOUFD
QUI5MUYzQ0YxQUUwMEYzQUEwOSAvKiBKU0NyeXB0b0VjS2V5QWxnb3JpdGhtLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTdDOUFDQUJCMUYzQ0YxQUUwMEYzQUEwOSAvKiBKU0NyeXB0b0htYWNLZXlB
bGdvcml0aG0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE1N0E4RTAxODE3MzMxQzAwOUY4MjFE
IC8qIEpTQ3J5cHRvS2V5LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUUxNTdBOEU4MTgxODRDNjcw
MDlGODIxRCAvKiBKU0NyeXB0b0tleUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3QzlB
Q0FCRDFGM0NGMUFFMDBGM0FBMDkgLyogSlNDcnlwdG9LZXlBbGdvcml0aG0uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJRTFGODBCOEQxODMxNzJCNTAwNzg4NUMzIC8qIEpTQ3J5cHRvS2V5UGFpci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTI1Rjg1MTE4MjgzQTU2MDBEODRDRDkgLyogSlNDcnlw
dG9LZXlTZXJpYWxpemF0aW9uSldLLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU3RDAwMThGMURE
NTQxNTMwMEVEMTlEOSAvKiBKU0NyeXB0b0tleVVzYWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUUxMjVGODNEMTgyNDExRTcwMEQ4NENEOSAvKiBKU0NyeXB0b09wZXJhdGlvbkRhdGEuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJN0M5QUNBQkYxRjNDRjFBRjAwRjNBQTA5IC8qIEpTQ3J5cHRvUnNh
SGFzaGVkS2V5QWxnb3JpdGhtLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTdDOUFDQUMxMUYzQ0Yx
QUYwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUtleUFsZ29yaXRobS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlCQzQ2QzFGQzBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NGb250RmFjZVJ1bGUuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQkM0NkMxRkUwQzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTSW1wb3J0
UnVsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMTZGRTA3MTBFNkNDQkVFMDBCRjYwODggLyog
SlNDU1NLZXlmcmFtZVJ1bGUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMjA0NCw3ICszMjExNiw2
IEBACiAJCQkJMTJBMjUzRTAxQzhGRkY2NjAwQzIyMjk1IC8qIEpTS2V5ZnJhbWVFZmZlY3QuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJOTM1RjQ1NDIwRjdDM0I1RjAwRDdDMUZCIC8qIEpTTGF6eUV2
ZW50TGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFMUM0M0IwRDk4MzBEMzAwM0Iw
MkYyIC8qIEpTTG9jYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTFGMTc1MDcxRjM1OEJG
OTAwQzc0OTUwIC8qIEpTV29ya2VyVHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0UxQzQ0
MDBEOTgzMEY0MDAzQjAyRjIgLyogSlNMb2NhdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk5M0E4MDYxRjFFMDNCNTg1MDA4QTFGMjYgLyogSlNMb25nUmFuZ2UuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJOEZBQzc3NEQxMTk4NzJDQjAwMTVBRTk0IC8qIEpTTWFpblRocmVhZEV4ZWNT
dGF0ZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMyMjAxLDYgKzMyMjcyLDcgQEAKIAkJCQk1MTgy
QzI1NzFGMzE0M0NEMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTUxODJDMjU5MUYzMTQzQ0QwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTgyQzI1QjFGMzE0M0NEMDA1
OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTUxRjE3NTAyMUYzNThCM0IwMEM3NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFD
YWNoZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5QkRBNjRENzFCOTc1Q0U1MDA5QzQzODcgLyog
SlNTaGFkb3dSb290LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ2REZGNDlCMURDMjYyMEIwMEI4
MEI0OCAvKiBKU1NoYWRvd1Jvb3RNb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNEOURFMTdB
MTdBQUM3NUIwMEVBMzg2RCAvKiBKU1NvdXJjZUJ1ZmZlci5jcHAgaW4gU291cmNlcyAqLywKQEAg
LTMyNDgzLDYgKzMyNTU1LDcgQEAKIAkJCQlFMTgyNThBQzBFRjNDRDcwMDA5MzMyNDIgLyogSlNX
b3JrZXJHbG9iYWxTY29wZUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUMzNjJGMDBF
QUYyQUE5MDA3NDEwQkMgLyogSlNXb3JrZXJMb2NhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlFMTI3MUE1OTBFRUVDREU0MDBGNjEyMTMgLyogSlNXb3JrZXJOYXZpZ2F0b3IuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNTFGMTc1MDcxRjM1OEJGOTAwQzc0OTUwIC8qIEpTV29ya2VyVHlwZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzRDOTZEQzFBRDQ0ODM1MDAzNjVBNjAgLyogSlNXcml0
YWJsZVN0cmVhbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4MzU4Q0I2RjFDNTMyNzcyMDBFMEMy
RDggLyogSlNYTUxEb2N1bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4M0E0QTlGOTFDRTdG
RDgxMDA3MDlCMDAgLyogSlNYTUxEb2N1bWVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKQEAg
LTMzNjgwLDcgKzMzNzUzLDYgQEAKIAkJCQk3QUY5QjIwMjE4Q0ZCMkRGMDBDNjRCRUYgLyogVlRU
UmVnaW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBRjlCMjA1MThDRkIyREYwMEM2NEJFRiAv
KiBWVFRSZWdpb25MaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBOTM4Njg1MThEQ0MxNDUw
MEI4MjYzRCAvKiBWVFRTY2FubmVyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxRjE3NTAyMUYz
NThCM0IwMEM3NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlBMTQ4MzJCMTE4N0Y2MUUxMDBEQTYzQTYgLyogV0FLQXBwS2l0U3R1YnMu
bSBpbiBTb3VyY2VzICovLAogCQkJCUExNDgzMkIzMTg3RjYyOTEwMERBNjNBNiAvKiBXQUtDbGlw
Vmlldy5tIGluIFNvdXJjZXMgKi8sCiAJCQkJQTE0ODMyQjUxODdGNjJGQzAwREE2M0E2IC8qIFdB
S1Jlc3BvbmRlci5tIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlci5jcHAJKHJldmlzaW9u
IDIyMDUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3J5cHRvQWxnb3JpdGht
QnVpbGRlci5jcHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw4MiArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlci5o
IgotCi0jaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8pCi0KLSNpbmNsdWRlIDxydW50aW1lL0pTQ0lu
bGluZXMuaD4KLSNpbmNsdWRlIDxydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmg+Ci0jaW5jbHVk
ZSA8cnVudGltZS9UeXBlZEFycmF5cy5oPgotI2luY2x1ZGUgPHJ1bnRpbWUvVHlwZWRBcnJheUlu
bGluZXMuaD4KLSNpbmNsdWRlIDxydW50aW1lL1ZNRW50cnlTY29wZS5oPgotCi11c2luZyBuYW1l
c3BhY2UgSlNDOwotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLUpTQ3J5cHRvQWxnb3JpdGhtQnVp
bGRlcjo6SlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyKEV4ZWNTdGF0ZSogZXhlYykKLSAgICA6IG1f
ZXhlYyhleGVjKQotICAgICwgbV9kaWN0aW9uYXJ5KGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMp
KQotewotfQotCi1KU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXI6On5KU0NyeXB0b0FsZ29yaXRobUJ1
aWxkZXIoKQotewotfQotCi12b2lkIEpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlcjo6YWRkKGNvbnN0
IGNoYXIqIGtleSwgdW5zaWduZWQgdmFsdWUpCi17Ci0gICAgVk0mIHZtID0gbV9leGVjLT52bSgp
OwotICAgIElkZW50aWZpZXIgaWRlbnRpZmllciA9IElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZt
LCBrZXkpOwotICAgIG1fZGljdGlvbmFyeS0+cHV0RGlyZWN0KHZtLCBpZGVudGlmaWVyLCBqc051
bWJlcih2YWx1ZSkpOwotfQotCi12b2lkIEpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlcjo6YWRkKGNv
bnN0IGNoYXIqIGtleSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKLXsKLSAgICBWTSYgdm0gPSBtX2V4
ZWMtPnZtKCk7Ci0gICAgSWRlbnRpZmllciBpZGVudGlmaWVyID0gSWRlbnRpZmllcjo6ZnJvbVN0
cmluZygmdm0sIGtleSk7Ci0gICAgbV9kaWN0aW9uYXJ5LT5wdXREaXJlY3Qodm0sIGlkZW50aWZp
ZXIsIGpzU3RyaW5nKG1fZXhlYywgdmFsdWUpKTsKLX0KLQotdm9pZCBKU0NyeXB0b0FsZ29yaXRo
bUJ1aWxkZXI6OmFkZChjb25zdCBjaGFyKiBrZXksIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgYnVm
ZmVyKQotewotICAgIFZNJiB2bSA9IG1fZXhlYy0+dm0oKTsKLSAgICBJZGVudGlmaWVyIGlkZW50
aWZpZXIgPSBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwga2V5KTsKLSAgICBSZWZQdHI8VWlu
dDhBcnJheT4gYXJyYXlWaWV3ID0gVWludDhBcnJheTo6Y3JlYXRlKGJ1ZmZlci5kYXRhKCksIGJ1
ZmZlci5zaXplKCkpOwotICAgIG1fZGljdGlvbmFyeS0+cHV0RGlyZWN0KHZtLCBpZGVudGlmaWVy
LCBhcnJheVZpZXctPndyYXAobV9leGVjLCB2bS5lbnRyeVNjb3BlLT5nbG9iYWxPYmplY3QoKSkp
OwotfQotCi12b2lkIEpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlcjo6YWRkKGNvbnN0IGNoYXIqIGtl
eSwgY29uc3QgSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyJiBuZXN0ZWRCdWlsZGVyKQotewotICAg
IFZNJiB2bSA9IG1fZXhlYy0+dm0oKTsKLSAgICBJZGVudGlmaWVyIGlkZW50aWZpZXIgPSBJZGVu
dGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwga2V5KTsKLSAgICBtX2RpY3Rpb25hcnktPnB1dERpcmVj
dCh2bSwgaWRlbnRpZmllciwgbmVzdGVkQnVpbGRlci5yZXN1bHQoKSk7Ci19Ci0KLX0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQpJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDcnlwdG9BbGdvcml0aG1C
dWlsZGVyLmgJKHJldmlzaW9uIDIyMDUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlci5oCShub25leGlzdGVudCkKQEAgLTEsNjIgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8p
Ci0KLSNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KLQotbmFtZXNwYWNlIEpTQyB7Ci1jbGFzcyBFeGVjU3RhdGU7Ci1jbGFzcyBKU09iamVjdDsK
LX0KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBKU0NyeXB0b0FsZ29yaXRobUJ1aWxk
ZXIgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlcik7
Ci1wdWJsaWM6Ci0gICAgSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyKEpTQzo6RXhlY1N0YXRlKik7
Ci0gICAgdmlydHVhbCB+SlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyKCk7Ci0KLSAgICBKU0M6OkpT
T2JqZWN0KiByZXN1bHQoKSBjb25zdCB7IHJldHVybiBtX2RpY3Rpb25hcnk7IH0KLQotICAgIHZv
aWQgYWRkKGNvbnN0IGNoYXIqLCB1bnNpZ25lZCk7Ci0gICAgdm9pZCBhZGQoY29uc3QgY2hhcios
IGNvbnN0IFN0cmluZyYpOwotICAgIHZvaWQgYWRkKGNvbnN0IGNoYXIqLCBjb25zdCBWZWN0b3I8
dWludDhfdD4mKTsKLSAgICB2b2lkIGFkZChjb25zdCBjaGFyKiwgY29uc3QgSlNDcnlwdG9BbGdv
cml0aG1CdWlsZGVyJik7Ci0KLXByaXZhdGU6Ci0gICAgSlNDOjpFeGVjU3RhdGUqIG1fZXhlYzsK
LSAgICBKU0M6OkpTT2JqZWN0KiBtX2RpY3Rpb25hcnk7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoU1VCVExFX0NSWVBUTykKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3J5cHRvS2V5Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NyeXB0b0tleUN1c3RvbS5jcHAJKHJldmlzaW9u
IDIyMDUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3J5cHRvS2V5Q3VzdG9t
LmNwcAkobm9uZXhpc3RlbnQpCkBAIC0xLDEwNCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1
ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkpTQ3J5cHRvS2V5LmgiCi0KLSNpZiBFTkFCTEUoU1VC
VExFX0NSWVBUTykKLQotI2luY2x1ZGUgIkNyeXB0b0tleUFFUy5oIgotI2luY2x1ZGUgIkNyeXB0
b0tleUVDLmgiCi0jaW5jbHVkZSAiQ3J5cHRvS2V5SE1BQy5oIgotI2luY2x1ZGUgIkNyeXB0b0tl
eVJTQS5oIgotI2luY2x1ZGUgIkNyeXB0b0tleVJhdy5oIgotI2luY2x1ZGUgIkpTQ3J5cHRvQWxn
b3JpdGhtQnVpbGRlci5oIgotI2luY2x1ZGUgPGhlYXAvSGVhcElubGluZXMuaD4KLSNpbmNsdWRl
IDxydW50aW1lL0pTQ0pTVmFsdWVJbmxpbmVzLmg+Ci0KLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0K
LW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotSlNWYWx1ZSBKU0NyeXB0b0tleTo6YWxnb3JpdGhtKEpT
Qzo6RXhlY1N0YXRlJiBzdGF0ZSkgY29uc3QKLXsKLSAgICBpZiAobV9hbGdvcml0aG0pCi0gICAg
ICAgIHJldHVybiBtX2FsZ29yaXRobS5nZXQoKTsKLQotICAgIEpTQ3J5cHRvQWxnb3JpdGhtQnVp
bGRlciBidWlsZGVyKCZzdGF0ZSk7Ci0KLSAgICBzdGQ6OnVuaXF1ZV9wdHI8S2V5QWxnb3JpdGht
PiBhbGdvcml0aG0gPSB3cmFwcGVkKCkuYnVpbGRBbGdvcml0aG0oKTsKLSAgICBzd2l0Y2ggKGFs
Z29yaXRobS0+a2V5QWxnb3JpdGhtQ2xhc3MoKSkgewotICAgIGNhc2UgS2V5QWxnb3JpdGhtQ2xh
c3M6OkFFUzogewotICAgICAgICBhdXRvJiBhZXNBbGdvcml0aG0gPSBkb3duY2FzdDxBZXNLZXlB
bGdvcml0aG0+KCphbGdvcml0aG0pOwotICAgICAgICBidWlsZGVyLmFkZCgibmFtZSIsIGFlc0Fs
Z29yaXRobS5uYW1lKCkpOwotICAgICAgICBidWlsZGVyLmFkZCgibGVuZ3RoIiwgYWVzQWxnb3Jp
dGhtLmxlbmd0aCgpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgS2V5QWxnb3Jp
dGhtQ2xhc3M6OkVDOiB7Ci0gICAgICAgIGF1dG8mIGVjQWxnb3JpdGhtID0gZG93bmNhc3Q8RWNL
ZXlBbGdvcml0aG0+KCphbGdvcml0aG0pOwotICAgICAgICBidWlsZGVyLmFkZCgibmFtZSIsIGVj
QWxnb3JpdGhtLm5hbWUoKSk7Ci0gICAgICAgIGJ1aWxkZXIuYWRkKCJuYW1lZEN1cnZlIiwgZWNB
bGdvcml0aG0ubmFtZWRDdXJ2ZSgpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2Ug
S2V5QWxnb3JpdGhtQ2xhc3M6OkhNQUM6IHsKLSAgICAgICAgYXV0byYgaG1hY0FsZ29yaXRobSA9
IGRvd25jYXN0PEhtYWNLZXlBbGdvcml0aG0+KCphbGdvcml0aG0pOwotICAgICAgICBidWlsZGVy
LmFkZCgibmFtZSIsIGhtYWNBbGdvcml0aG0ubmFtZSgpKTsKLSAgICAgICAgSlNDcnlwdG9BbGdv
cml0aG1CdWlsZGVyIGhtYWNIYXNoKCZzdGF0ZSk7Ci0gICAgICAgIGhtYWNIYXNoLmFkZCgibmFt
ZSIsIGhtYWNBbGdvcml0aG0uaGFzaCgpKTsKLSAgICAgICAgYnVpbGRlci5hZGQoImhhc2giLCBo
bWFjSGFzaCk7Ci0gICAgICAgIGJ1aWxkZXIuYWRkKCJsZW5ndGgiLCBobWFjQWxnb3JpdGhtLmxl
bmd0aCgpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgS2V5QWxnb3JpdGhtQ2xh
c3M6OkhSU0E6IHsKLSAgICAgICAgYXV0byYgcnNhQWxnb3JpdGhtID0gZG93bmNhc3Q8UnNhSGFz
aGVkS2V5QWxnb3JpdGhtPigqYWxnb3JpdGhtKTsKLSAgICAgICAgYnVpbGRlci5hZGQoIm5hbWUi
LCByc2FBbGdvcml0aG0ubmFtZSgpKTsKLSAgICAgICAgYnVpbGRlci5hZGQoIm1vZHVsdXNMZW5n
dGgiLCByc2FBbGdvcml0aG0ubW9kdWx1c0xlbmd0aCgpKTsKLSAgICAgICAgYnVpbGRlci5hZGQo
InB1YmxpY0V4cG9uZW50IiwgcnNhQWxnb3JpdGhtLnB1YmxpY0V4cG9uZW50KCkpOwotICAgICAg
ICBKU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIgcnNhSGFzaCgmc3RhdGUpOwotICAgICAgICByc2FI
YXNoLmFkZCgibmFtZSIsIHJzYUFsZ29yaXRobS5oYXNoKCkpOwotICAgICAgICBidWlsZGVyLmFk
ZCgiaGFzaCIsIHJzYUhhc2gpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgY2FzZSBLZXlB
bGdvcml0aG1DbGFzczo6UlNBOiB7Ci0gICAgICAgIGF1dG8mIHJzYUFsZ29yaXRobSA9IGRvd25j
YXN0PFJzYUtleUFsZ29yaXRobT4oKmFsZ29yaXRobSk7Ci0gICAgICAgIGJ1aWxkZXIuYWRkKCJu
YW1lIiwgcnNhQWxnb3JpdGhtLm5hbWUoKSk7Ci0gICAgICAgIGJ1aWxkZXIuYWRkKCJtb2R1bHVz
TGVuZ3RoIiwgcnNhQWxnb3JpdGhtLm1vZHVsdXNMZW5ndGgoKSk7Ci0gICAgICAgIGJ1aWxkZXIu
YWRkKCJwdWJsaWNFeHBvbmVudCIsIHJzYUFsZ29yaXRobS5wdWJsaWNFeHBvbmVudCgpKTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgS2V5QWxnb3JpdGhtQ2xhc3M6OlJhdzogewot
ICAgICAgICBhdXRvJiByYXdBbGdvcml0aG0gPSBkb3duY2FzdDxSYXdLZXlBbGdvcml0aG0+KCph
bGdvcml0aG0pOwotICAgICAgICBidWlsZGVyLmFkZCgibmFtZSIsIHJhd0FsZ29yaXRobS5uYW1l
KCkpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgfQotCi0gICAgbV9hbGdvcml0aG0uc2V0
KHN0YXRlLnZtKCksIHRoaXMsIGJ1aWxkZXIucmVzdWx0KCkpOwotICAgIHJldHVybiBtX2FsZ29y
aXRobS5nZXQoKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5B
QkxFKFNVQlRMRV9DUllQVE8pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5LmNwcAko
cmV2aXNpb24gMjIwNTI4KQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0tleS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDExIEBACiAjaWYgRU5BQkxFKFNVQlRMRV9DUllQ
VE8pCiAKICNpbmNsdWRlICJDcnlwdG9BbGdvcml0aG1SZWdpc3RyeS5oIgorI2luY2x1ZGUgIkNy
eXB0b0tleUFFUy5oIgorI2luY2x1ZGUgIkNyeXB0b0tleUVDLmgiCisjaW5jbHVkZSAiQ3J5cHRv
S2V5SE1BQy5oIgorI2luY2x1ZGUgIkNyeXB0b0tleVJTQS5oIgorI2luY2x1ZGUgIkNyeXB0b0tl
eVJhdy5oIgogI2luY2x1ZGUgPHd0Zi9DcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NSw2ICs1MCwyNSBAQCBDcnlwdG9LZXk6On5Dcnlw
dG9LZXkoKQogewogfQogCithdXRvIENyeXB0b0tleTo6YWxnb3JpdGhtKCkgY29uc3QgLT4gQWxn
b3JpdGhtVmFyaWFudAoreworICAgIHN0ZDo6dW5pcXVlX3B0cjxLZXlBbGdvcml0aG0+IGFsZ29y
aXRobSA9IGJ1aWxkQWxnb3JpdGhtKCk7CisgICAgc3dpdGNoIChhbGdvcml0aG0tPmtleUFsZ29y
aXRobUNsYXNzKCkpIHsKKyAgICBjYXNlIEtleUFsZ29yaXRobUNsYXNzOjpBRVM6CisgICAgICAg
IHJldHVybiBkb3duY2FzdDxBZXNLZXlBbGdvcml0aG0+KCphbGdvcml0aG0pLmRpY3Rpb25hcnko
KTsKKyAgICBjYXNlIEtleUFsZ29yaXRobUNsYXNzOjpFQzoKKyAgICAgICAgcmV0dXJuIGRvd25j
YXN0PEVjS2V5QWxnb3JpdGhtPigqYWxnb3JpdGhtKS5kaWN0aW9uYXJ5KCk7CisgICAgY2FzZSBL
ZXlBbGdvcml0aG1DbGFzczo6SE1BQzoKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0PEhtYWNLZXlB
bGdvcml0aG0+KCphbGdvcml0aG0pLmRpY3Rpb25hcnkoKTsKKyAgICBjYXNlIEtleUFsZ29yaXRo
bUNsYXNzOjpIUlNBOgorICAgICAgICByZXR1cm4gZG93bmNhc3Q8UnNhSGFzaGVkS2V5QWxnb3Jp
dGhtPigqYWxnb3JpdGhtKS5kaWN0aW9uYXJ5KCk7CisgICAgY2FzZSBLZXlBbGdvcml0aG1DbGFz
czo6UlNBOgorICAgICAgICByZXR1cm4gZG93bmNhc3Q8UnNhS2V5QWxnb3JpdGhtPigqYWxnb3Jp
dGhtKS5kaWN0aW9uYXJ5KCk7CisgICAgY2FzZSBLZXlBbGdvcml0aG1DbGFzczo6UmF3OgorICAg
ICAgICByZXR1cm4gZG93bmNhc3Q8UmF3S2V5QWxnb3JpdGhtPigqYWxnb3JpdGhtKS5kaWN0aW9u
YXJ5KCk7CisgICAgfQorfQorCiBhdXRvIENyeXB0b0tleTo6dXNhZ2VzKCkgY29uc3QgLT4gVmVj
dG9yPENyeXB0b0tleVVzYWdlPgogewogICAgIC8vIFRoZSByZXN1bHQgaXMgb3JkZXJlZCBhbHBo
YWJldGljYWxseS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9LZXkuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5LmgJKHJldmlzaW9uIDIy
MDUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9LZXkuaAkod29ya2luZyBjb3B5
KQpAQCAtMjcsMTIgKzI3LDE5IEBACiAKICNpZiBFTkFCTEUoU1VCVExFX0NSWVBUTykKIAorI2lu
Y2x1ZGUgIkNyeXB0b0Flc0tleUFsZ29yaXRobS5oIgogI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRo
bUlkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJDcnlwdG9FY0tleUFsZ29yaXRobS5oIgorI2luY2x1
ZGUgIkNyeXB0b0htYWNLZXlBbGdvcml0aG0uaCIKKyNpbmNsdWRlICJDcnlwdG9LZXlBbGdvcml0
aG0uaCIKICNpbmNsdWRlICJDcnlwdG9LZXlUeXBlLmgiCiAjaW5jbHVkZSAiQ3J5cHRvS2V5VXNh
Z2UuaCIKKyNpbmNsdWRlICJDcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0uaCIKKyNpbmNsdWRl
ICJDcnlwdG9Sc2FLZXlBbGdvcml0aG0uaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9UeXBlQ2Fz
dHMuaD4KKyNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtODEsMTggKzg4LDE5IEBAIHBy
aXZhdGU6CiBjbGFzcyBDcnlwdG9LZXkgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8Q3J5
cHRvS2V5PiB7CiBwdWJsaWM6CiAgICAgdXNpbmcgVHlwZSA9IENyeXB0b0tleVR5cGU7CisgICAg
dXNpbmcgQWxnb3JpdGhtVmFyaWFudCA9IFZhcmlhbnQ8Q3J5cHRvS2V5QWxnb3JpdGhtLCBDcnlw
dG9BZXNLZXlBbGdvcml0aG0sIENyeXB0b0VjS2V5QWxnb3JpdGhtLCBDcnlwdG9IbWFjS2V5QWxn
b3JpdGhtLCBDcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0sIENyeXB0b1JzYUtleUFsZ29yaXRo
bT47CisKICAgICBDcnlwdG9LZXkoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciwgVHlwZSwgYm9v
bCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXApOwogICAgIHZpcnR1YWwgfkNyeXB0
b0tleSgpOwogCi0gICAgdmlydHVhbCBDcnlwdG9LZXlDbGFzcyBrZXlDbGFzcygpIGNvbnN0ID0g
MDsKLQogICAgIFR5cGUgdHlwZSgpIGNvbnN0OwogICAgIGJvb2wgZXh0cmFjdGFibGUoKSBjb25z
dCB7IHJldHVybiBtX2V4dHJhY3RhYmxlOyB9Ci0gICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8
S2V5QWxnb3JpdGhtPiBidWlsZEFsZ29yaXRobSgpIGNvbnN0ID0gMDsKLQotICAgIC8vIE9ubHkg
Zm9yIGJpbmRpbmcgcHVycG9zZS4KKyAgICBBbGdvcml0aG1WYXJpYW50IGFsZ29yaXRobSgpIGNv
bnN0OwogICAgIFZlY3RvcjxDcnlwdG9LZXlVc2FnZT4gdXNhZ2VzKCkgY29uc3Q7CiAKKyAgICB2
aXJ0dWFsIENyeXB0b0tleUNsYXNzIGtleUNsYXNzKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwg
c3RkOjp1bmlxdWVfcHRyPEtleUFsZ29yaXRobT4gYnVpbGRBbGdvcml0aG0oKSBjb25zdCA9IDA7
CisKICAgICBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobUlkZW50aWZpZXIoKSBj
b25zdCB7IHJldHVybiBtX2FsZ29yaXRobUlkZW50aWZpZXI7IH0KICAgICBDcnlwdG9LZXlVc2Fn
ZUJpdG1hcCB1c2FnZXNCaXRtYXAoKSBjb25zdCB7IHJldHVybiBtX3VzYWdlczsgfQogICAgIHZv
aWQgc2V0VXNhZ2VzQml0bWFwKENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlKSB7IG1fdXNhZ2Vz
ID0gdXNhZ2U7IH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5LmlkbAkocmV2aXNp
b24gMjIwNTI4KQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0tleS5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTI5LDYgKzI5LDggQEAgZW51bSBLZXlUeXBlIHsKICAgICAic2VjcmV0Igog
fTsKIAordHlwZWRlZiAoQ3J5cHRvS2V5QWxnb3JpdGhtIG9yIENyeXB0b0Flc0tleUFsZ29yaXRo
bSBvciBDcnlwdG9FY0tleUFsZ29yaXRobSBvciBDcnlwdG9IbWFjS2V5QWxnb3JpdGhtIG9yIENy
eXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobSBvciBDcnlwdG9Sc2FLZXlBbGdvcml0aG0pIEtleUFs
Z29yaXRobTsKKwogWwogICAgIENvbmRpdGlvbmFsPVNVQlRMRV9DUllQVE8sCiAgICAgRXhwb3Nl
ZD0oV2luZG93LFdvcmtlciksCkBAIC0zNyw2ICszOSw2IEBAIGVudW0gS2V5VHlwZSB7CiBdIGlu
dGVyZmFjZSBDcnlwdG9LZXkgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBLZXlUeXBlIHR5cGU7
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gZXh0cmFjdGFibGU7Ci0gICAgW0NhY2hl
ZEF0dHJpYnV0ZSwgQ3VzdG9tR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1dGUgb2JqZWN0IGFsZ29y
aXRobTsKKyAgICBbQ2FjaGVkQXR0cmlidXRlXSByZWFkb25seSBhdHRyaWJ1dGUgS2V5QWxnb3Jp
dGhtIGFsZ29yaXRobTsKICAgICBbQ2FjaGVkQXR0cmlidXRlXSByZWFkb25seSBhdHRyaWJ1dGUg
c2VxdWVuY2U8Q3J5cHRvS2V5VXNhZ2U+IHVzYWdlczsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9jcnlwdG8va2V5cy9DcnlwdG9BZXNLZXlBbGdvcml0aG0uaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9BZXNLZXlBbGdvcml0aG0uaAkobm9uZXhpc3Rl
bnQpCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9BZXNLZXlBbGdvcml0aG0u
aAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlICJDcnlwdG9LZXlBbGdvcml0aG0uaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitzdHJ1Y3QgQ3J5cHRvQWVzS2V5QWxnb3JpdGhtIDogQ3J5cHRvS2V5QWxnb3JpdGht
IHsKKyAgICAvLyBUaGUgbGVuZ3RoLCBpbiBiaXRzLCBvZiB0aGUga2V5LgorICAgIHVuc2lnbmVk
IHNob3J0IGxlbmd0aDsKK307CisKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlz
L0NyeXB0b0Flc0tleUFsZ29yaXRobS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2tleXMvQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmlkbAkobm9uZXhpc3RlbnQpCisrKyBT
b3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9BZXNLZXlBbGdvcml0aG0uaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9u
YWw9U1VCVExFX0NSWVBUTywKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdAorXSBkaWN0aW9uYXJ5
IENyeXB0b0Flc0tleUFsZ29yaXRobSA6IENyeXB0b0tleUFsZ29yaXRobSB7CisgICAgLy8gVGhl
IGxlbmd0aCwgaW4gYml0cywgb2YgdGhlIGtleS4KKyAgICByZXF1aXJlZCB1bnNpZ25lZCBzaG9y
dCBsZW5ndGg7Cit9OwpJbmRleDogU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvRWNL
ZXlBbGdvcml0aG0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9D
cnlwdG9FY0tleUFsZ29yaXRobS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2Ny
eXB0by9rZXlzL0NyeXB0b0VjS2V5QWxnb3JpdGhtLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQ3J5cHRvS2V5
QWxnb3JpdGhtLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IENyeXB0b0VjS2V5
QWxnb3JpdGhtIDogQ3J5cHRvS2V5QWxnb3JpdGhtIHsKKyAgICAvLyBUaGUgbmFtZWQgY3VydmUg
dGhhdCB0aGUga2V5IHVzZXMKKyAgICBTdHJpbmcgbmFtZWRDdXJ2ZTsKK307CisKK30KKwpJbmRl
eDogU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvRWNLZXlBbGdvcml0aG0uaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0VjS2V5QWxnb3Jp
dGhtLmlkbAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9Dcnlw
dG9FY0tleUFsZ29yaXRobS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKK3R5cGVkZWYgRE9NU3RyaW5nIE5hbWVkQ3VydmU7CisKK1sKKyAgICBDb25kaXRp
b25hbD1TVUJUTEVfQ1JZUFRPLAorICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CitdIGRpY3Rpb25h
cnkgQ3J5cHRvRWNLZXlBbGdvcml0aG0gOiBDcnlwdG9LZXlBbGdvcml0aG0geworICAgIC8vIFRo
ZSBuYW1lZCBjdXJ2ZSB0aGF0IHRoZSBrZXkgdXNlcworICAgIHJlcXVpcmVkIE5hbWVkQ3VydmUg
bmFtZWRDdXJ2ZTsKK307CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9I
bWFjS2V5QWxnb3JpdGhtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5cHRvL2tl
eXMvQ3J5cHRvSG1hY0tleUFsZ29yaXRobS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJD
b3JlL2NyeXB0by9rZXlzL0NyeXB0b0htYWNLZXlBbGdvcml0aG0uaAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJD
cnlwdG9LZXlBbGdvcml0aG0uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgQ3J5
cHRvSG1hY0tleUFsZ29yaXRobSA6IENyeXB0b0tleUFsZ29yaXRobSB7CisgICAgLy8gVGhlIGlu
bmVyIGhhc2ggZnVuY3Rpb24gdG8gdXNlLgorICAgIENyeXB0b0tleUFsZ29yaXRobSBoYXNoOwor
ICAgIC8vIFRoZSBsZW5ndGggKGluIGJpdHMpIG9mIHRoZSBrZXkuCisgICAgdW5zaWduZWQgbGVu
Z3RoOworfTsKKworfQorCisKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0
b0htYWNLZXlBbGdvcml0aG0uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NyeXB0
by9rZXlzL0NyeXB0b0htYWNLZXlBbGdvcml0aG0uaWRsCShub25leGlzdGVudCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0htYWNLZXlBbGdvcml0aG0uaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9
U1VCVExFX0NSWVBUTywKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdAorXSBkaWN0aW9uYXJ5IENy
eXB0b0htYWNLZXlBbGdvcml0aG0gOiBDcnlwdG9LZXlBbGdvcml0aG0geworICAgIC8vIFRoZSBp
bm5lciBoYXNoIGZ1bmN0aW9uIHRvIHVzZS4KKyAgICByZXF1aXJlZCBDcnlwdG9LZXlBbGdvcml0
aG0gaGFzaDsKKyAgICAvLyBUaGUgbGVuZ3RoIChpbiBiaXRzKSBvZiB0aGUga2V5LgorICAgIHJl
cXVpcmVkIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOworfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Ny
eXB0by9rZXlzL0NyeXB0b0tleUFFUy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Ny
eXB0by9rZXlzL0NyeXB0b0tleUFFUy5oCShyZXZpc2lvbiAyMjA1MjgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlBRVMuaAkod29ya2luZyBjb3B5KQpAQCAtNDksNiAr
NDksMTQgQEAgcHVibGljOgogCiAgICAgS2V5QWxnb3JpdGhtQ2xhc3Mga2V5QWxnb3JpdGhtQ2xh
c3MoKSBjb25zdCBmaW5hbCB7IHJldHVybiBLZXlBbGdvcml0aG1DbGFzczo6QUVTOyB9CiAKKyAg
ICBDcnlwdG9BZXNLZXlBbGdvcml0aG0gZGljdGlvbmFyeSgpIGNvbnN0CisgICAgeworICAgICAg
ICBDcnlwdG9BZXNLZXlBbGdvcml0aG0gcmVzdWx0OworICAgICAgICByZXN1bHQubmFtZSA9IHRo
aXMtPm5hbWUoKTsKKyAgICAgICAgcmVzdWx0Lmxlbmd0aCA9IHRoaXMtPmxlbmd0aCgpOworICAg
ICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKwogICAgIHNpemVfdCBsZW5ndGgoKSBjb25zdCB7
IHJldHVybiBtX2xlbmd0aDsgfQogCiBwcml2YXRlOgpJbmRleDogU291cmNlL1dlYkNvcmUvY3J5
cHRvL2tleXMvQ3J5cHRvS2V5QWxnb3JpdGhtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5QWxnb3JpdGhtLmgJKG5vbmV4aXN0ZW50KQorKysgU291
cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5QWxnb3JpdGhtLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0
IENyeXB0b0tleUFsZ29yaXRobSB7CisgICAgU3RyaW5nIG5hbWU7Cit9OworCit9CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlBbGdvcml0aG0uaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUFsZ29yaXRobS5pZGwJ
KG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5QWxn
b3JpdGhtLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
WworICAgIENvbmRpdGlvbmFsPVNVQlRMRV9DUllQVE8sCisgICAgSlNHZW5lcmF0ZVRvSlNPYmpl
Y3QKK10gZGljdGlvbmFyeSBDcnlwdG9LZXlBbGdvcml0aG0geworICAgIHJlcXVpcmVkIERPTVN0
cmluZyBuYW1lOworfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tl
eUVDLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5
RUMuaAkocmV2aXNpb24gMjIwNTI4KQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5
cHRvS2V5RUMuaAkod29ya2luZyBjb3B5KQpAQCAtNTksNiArNTksMTUgQEAgcHVibGljOgogCiAg
ICAgY29uc3QgU3RyaW5nJiBuYW1lZEN1cnZlKCkgY29uc3QgeyByZXR1cm4gbV9jdXJ2ZTsgfQog
CisKKyAgICBDcnlwdG9FY0tleUFsZ29yaXRobSBkaWN0aW9uYXJ5KCkgY29uc3QKKyAgICB7Cisg
ICAgICAgIENyeXB0b0VjS2V5QWxnb3JpdGhtIHJlc3VsdDsKKyAgICAgICAgcmVzdWx0Lm5hbWUg
PSB0aGlzLT5uYW1lKCk7CisgICAgICAgIHJlc3VsdC5uYW1lZEN1cnZlID0gdGhpcy0+bmFtZWRD
dXJ2ZSgpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKwogcHJpdmF0ZToKICAgICBT
dHJpbmcgbV9jdXJ2ZTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9Dcnlw
dG9LZXlITUFDLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5
cHRvS2V5SE1BQy5oCShyZXZpc2lvbiAyMjA1MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlwdG8v
a2V5cy9DcnlwdG9LZXlITUFDLmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDYgKzUyLDE1IEBAIHB1
YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIGhhc2goKSBjb25zdCB7IHJldHVybiBtX2hhc2g7IH0K
ICAgICBzaXplX3QgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7IH0KIAorICAgIENy
eXB0b0htYWNLZXlBbGdvcml0aG0gZGljdGlvbmFyeSgpIGNvbnN0CisgICAgeworICAgICAgICBD
cnlwdG9IbWFjS2V5QWxnb3JpdGhtIHJlc3VsdDsKKyAgICAgICAgcmVzdWx0Lm5hbWUgPSB0aGlz
LT5uYW1lKCk7CisgICAgICAgIHJlc3VsdC5oYXNoLm5hbWUgPSB0aGlzLT5oYXNoKCk7CisgICAg
ICAgIHJlc3VsdC5sZW5ndGggPSB0aGlzLT5sZW5ndGgoKTsKKyAgICAgICAgcmV0dXJuIHJlc3Vs
dDsKKyAgICB9CisKIHByaXZhdGU6CiAgICAgU3RyaW5nIG1faGFzaDsKICAgICBzaXplX3QgbV9s
ZW5ndGg7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSU0EuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSU0EuaAko
cmV2aXNpb24gMjIwNTI4KQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5
UlNBLmgJKHdvcmtpbmcgY29weSkKQEAgLTY1LDYgKzY1LDE1IEBAIHB1YmxpYzoKICAgICBzaXpl
X3QgbW9kdWx1c0xlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbW9kdWx1c0xlbmd0aDsgfQogICAg
IGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgcHVibGljRXhwb25lbnQoKSBjb25zdCB7IHJldHVybiBt
X3B1YmxpY0V4cG9uZW50OyB9CiAKKyAgICBDcnlwdG9Sc2FLZXlBbGdvcml0aG0gZGljdGlvbmFy
eSgpIGNvbnN0CisgICAgeworICAgICAgICBDcnlwdG9Sc2FLZXlBbGdvcml0aG0gcmVzdWx0Owor
ICAgICAgICByZXN1bHQubmFtZSA9IHRoaXMtPm5hbWUoKTsKKyAgICAgICAgcmVzdWx0Lm1vZHVs
dXNMZW5ndGggPSB0aGlzLT5tb2R1bHVzTGVuZ3RoKCk7CisgICAgICAgIHJlc3VsdC5wdWJsaWNF
eHBvbmVudCA9IFVpbnQ4QXJyYXk6OmNyZWF0ZSh0aGlzLT5wdWJsaWNFeHBvbmVudCgpLmRhdGEo
KSwgdGhpcy0+cHVibGljRXhwb25lbnQoKS5zaXplKCkpOworICAgICAgICByZXR1cm4gcmVzdWx0
OworICAgIH0KKwogcHJpdmF0ZToKICAgICBzaXplX3QgbV9tb2R1bHVzTGVuZ3RoOwogICAgIFZl
Y3Rvcjx1aW50OF90PiBtX3B1YmxpY0V4cG9uZW50OwpAQCAtODIsNiArOTEsMTYgQEAgcHVibGlj
OgogCiAgICAgY29uc3QgU3RyaW5nJiBoYXNoKCkgY29uc3QgeyByZXR1cm4gbV9oYXNoOyB9CiAK
KyAgICBDcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0gZGljdGlvbmFyeSgpIGNvbnN0CisgICAg
eworICAgICAgICBDcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0gcmVzdWx0OworICAgICAgICBy
ZXN1bHQubmFtZSA9IHRoaXMtPm5hbWUoKTsKKyAgICAgICAgcmVzdWx0Lm1vZHVsdXNMZW5ndGgg
PSB0aGlzLT5tb2R1bHVzTGVuZ3RoKCk7CisgICAgICAgIHJlc3VsdC5wdWJsaWNFeHBvbmVudCA9
IFVpbnQ4QXJyYXk6OmNyZWF0ZSh0aGlzLT5wdWJsaWNFeHBvbmVudCgpLmRhdGEoKSwgdGhpcy0+
cHVibGljRXhwb25lbnQoKS5zaXplKCkpOworICAgICAgICByZXN1bHQuaGFzaC5uYW1lID0gdGhp
cy0+aGFzaCgpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKwogcHJpdmF0ZToKICAg
ICBTdHJpbmcgbV9oYXNoOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0Ny
eXB0b0tleVJhdy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0Ny
eXB0b0tleVJhdy5oCShyZXZpc2lvbiAyMjA1MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlwdG8v
a2V5cy9DcnlwdG9LZXlSYXcuaAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksMTMgQEAgcHVi
bGljOgogICAgIH0KIAogICAgIEtleUFsZ29yaXRobUNsYXNzIGtleUFsZ29yaXRobUNsYXNzKCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gS2V5QWxnb3JpdGhtQ2xhc3M6OlJhdzsgfQorICAgIAor
ICAgIENyeXB0b0tleUFsZ29yaXRobSBkaWN0aW9uYXJ5KCkgY29uc3QKKyAgICB7CisgICAgICAg
IENyeXB0b0tleUFsZ29yaXRobSByZXN1bHQ7CisgICAgICAgIHJlc3VsdC5uYW1lID0gdGhpcy0+
bmFtZSgpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KIH07CiAKIGNsYXNzIENyeXB0
b0tleVJhdyBmaW5hbCA6IHB1YmxpYyBDcnlwdG9LZXkgewpJbmRleDogU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2tleXMvQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3JpdGhtLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3JpdGhtLmgJ
KG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvUnNhSGFz
aGVkS2V5QWxnb3JpdGhtLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IENyeXB0b1JzYUhhc2hlZEtleUFsZ29y
aXRobSA6IENyeXB0b1JzYUtleUFsZ29yaXRobSB7CisgICAgLy8gVGhlIGhhc2ggYWxnb3JpdGht
IHRoYXQgaXMgdXNlZCB3aXRoIHRoaXMga2V5CisgICAgQ3J5cHRvS2V5QWxnb3JpdGhtIGhhc2g7
Cit9OworCit9CisKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b1JzYUhh
c2hlZEtleUFsZ29yaXRobS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5cHRv
L2tleXMvQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3JpdGhtLmlkbAkobm9uZXhpc3RlbnQpCisrKyBT
b3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0uaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29u
ZGl0aW9uYWw9U1VCVExFX0NSWVBUTywKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdAorXSBkaWN0
aW9uYXJ5IENyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobSA6IENyeXB0b1JzYUtleUFsZ29yaXRo
bSB7CisgICAgLy8gVGhlIGhhc2ggYWxnb3JpdGhtIHRoYXQgaXMgdXNlZCB3aXRoIHRoaXMga2V5
CisgICAgcmVxdWlyZWQgQ3J5cHRvS2V5QWxnb3JpdGhtIGhhc2g7Cit9OwpJbmRleDogU291cmNl
L1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmgJKG5v
bmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvUnNhS2V5QWxn
b3JpdGhtLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaW5jbHVkZSAiQ3J5cHRvS2V5QWxnb3JpdGhtLmgiCisjaW5jbHVkZSA8
cnVudGltZS9VaW50OEFycmF5Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IENy
eXB0b1JzYUtleUFsZ29yaXRobSA6IENyeXB0b0tleUFsZ29yaXRobSB7CisgICAgLy8gVGhlIGxl
bmd0aCwgaW4gYml0cywgb2YgdGhlIFJTQSBtb2R1bHVzCisgICAgdW5zaWduZWQgbW9kdWx1c0xl
bmd0aDsKKyAgICAvLyBUaGUgUlNBIHB1YmxpYyBleHBvbmVudAorICAgIFJlZlB0cjxVaW50OEFy
cmF5PiBwdWJsaWNFeHBvbmVudDsKK307CisKK30KKwpJbmRleDogU291cmNlL1dlYkNvcmUvY3J5
cHRvL2tleXMvQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9Sc2FLZXlBbGdvcml0aG0uaWRsCShub25leGlzdGVu
dCkKKysrIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b1JzYUtleUFsZ29yaXRobS5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK3R5cGVkZWYg
VWludDhBcnJheSBCaWdJbnRlZ2VyOworCitbCisgICAgQ29uZGl0aW9uYWw9U1VCVExFX0NSWVBU
TywKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdAorXSBkaWN0aW9uYXJ5IENyeXB0b1JzYUtleUFs
Z29yaXRobSA6IENyeXB0b0tleUFsZ29yaXRobSB7CisgICAgLy8gVGhlIGxlbmd0aCwgaW4gYml0
cywgb2YgdGhlIFJTQSBtb2R1bHVzCisgICAgcmVxdWlyZWQgdW5zaWduZWQgbG9uZyBtb2R1bHVz
TGVuZ3RoOworICAgIC8vIFRoZSBSU0EgcHVibGljIGV4cG9uZW50CisgICAgcmVxdWlyZWQgQmln
SW50ZWdlciBwdWJsaWNFeHBvbmVudDsKK307Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317883</attachid>
            <date>2017-08-10 16:47:56 -0700</date>
            <delta_ts>2017-08-10 16:52:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175457-20170810164755.patch</filename>
            <type>text/plain</type>
            <size>77263</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyMDU1NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUwIEBACisyMDE3LTA4LTEwICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW1dlYklETF0gUmVwbGFjZSBKU0NyeXB0
b0tleUN1c3RvbSBhbmQgSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyIHdpdGggZ2VuZXJhdGVkIGNv
ZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTQ1
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMv
SlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0NyeXB0b0tleUN1c3RvbS5jcHA6IFJlbW92ZWQuCisKKyAgICAgICAgICAgIFJl
bW92ZSBKU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIgYW5kIEpTQ3J5cHRvS2V5Q3VzdG9tLCBhZGQg
S2V5QWxnb3JpdGhtCisgICAgICAgICAgICBJRExzIGFuZCBoZWFkZXJzLgorCisgICAgICAgICog
Y3J5cHRvL0NyeXB0b0tleS5jcHA6CisgICAgICAgICogY3J5cHRvL0NyeXB0b0tleS5oOgorICAg
ICAgICAqIGNyeXB0by9DcnlwdG9LZXkuaWRsOgorICAgICAgICAKKyAgICAgICAgICAgIFJlcGxh
Y2UgY3VzdG9tIGFsZ29yaXRobSBhdHRyaWJ1dGUgd2l0aCBhIHVuaW9uIG9mIHRoZSBzdXBwb3J0
ZWQga2V5IGFsZ29yaXRobXMuCisgICAgICAgIAorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0
b0Flc0tleUFsZ29yaXRobS5oOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9B
ZXNLZXlBbGdvcml0aG0uaWRsOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9F
Y0tleUFsZ29yaXRobS5oOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9FY0tl
eUFsZ29yaXRobS5pZGw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0b0htYWNL
ZXlBbGdvcml0aG0uaDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvSG1hY0tl
eUFsZ29yaXRobS5pZGw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0b0tleUFs
Z29yaXRobS5oOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9LZXlBbGdvcml0
aG0uaWRsOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9Sc2FIYXNoZWRLZXlB
bGdvcml0aG0uaDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvUnNhSGFzaGVk
S2V5QWxnb3JpdGhtLmlkbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvUnNh
S2V5QWxnb3JpdGhtLmg6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0b1JzYUtl
eUFsZ29yaXRobS5pZGw6IEFkZGVkLgorCisgICAgICAgICAgICBBZGQgSURMcyBhbmQgaGVhZGVy
cyBmbyB0aGUgc3VwcG9ydGVkIGtleSBhbGdvcml0aG1zLgorCisgICAgICAgICogY3J5cHRvL2tl
eXMvQ3J5cHRvS2V5QUVTLmg6CisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvS2V5RUMuaDoK
KyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmg6CisgICAgICAgICogY3J5cHRv
L2tleXMvQ3J5cHRvS2V5UlNBLmg6CisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvS2V5UmF3
Lmg6CisKKyAgICAgICAgICAgIEdpdmUgZWFjaCBvZiB0aGUgZXhpc3RpbmcgS2V5QWxnb3JpdGht
IHN1YmNsYXNzZXMgYSBkaWN0aW9uYXJ5KCkgZnVuY3Rpb24KKyAgICAgICAgICAgIHRoYXQgcmV0
dXJucyB0aGUgcG9wdWxhdGVkIGNvcnJlc3BvbmRpbmcgc3BlYydkIGRpY3Rpb25hcnkuCisKIDIw
MTctMDgtMTAgIE5hbiBXYW5nICA8bl93YW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogY3Jh
c2ggYXQgV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6c3VwcG9ydHNBUklBTGl2ZVJlZ2lv
bigpIGNvbnN0ICsgMjQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAyMjA1Mjgp
CisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzc4
LDYgKzM3OCwxMyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIGNyeXB0by9T
dWJ0bGVDcnlwdG8uaWRsCiAgICAgY3J5cHRvL1dlYktpdFN1YnRsZUNyeXB0by5pZGwKIAorICAg
IGNyeXB0by9rZXlzL0NyeXB0b0Flc0tleUFsZ29yaXRobS5pZGwKKyAgICBjcnlwdG8va2V5cy9D
cnlwdG9FY0tleUFsZ29yaXRobS5pZGwKKyAgICBjcnlwdG8va2V5cy9DcnlwdG9IbWFjS2V5QWxn
b3JpdGhtLmlkbAorICAgIGNyeXB0by9rZXlzL0NyeXB0b0tleUFsZ29yaXRobS5pZGwKKyAgICBj
cnlwdG8va2V5cy9DcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0uaWRsCisgICAgY3J5cHRvL2tl
eXMvQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmlkbAorCiAgICAgY3J5cHRvL3BhcmFtZXRlcnMvQWVz
Q2JjQ2ZiUGFyYW1zLmlkbAogICAgIGNyeXB0by9wYXJhbWV0ZXJzL0Flc0N0clBhcmFtcy5pZGwK
ICAgICBjcnlwdG8vcGFyYW1ldGVycy9BZXNHY21QYXJhbXMuaWRsCkBAIC0xMTgzLDkgKzExOTAs
NyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvanMvSlNEZXByZWNhdGVkQ1NT
T01WYWx1ZUN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5jcHAKICAg
ICBiaW5kaW5ncy9qcy9KU0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREN1c3RvbS5jcHAKLSAgICBi
aW5kaW5ncy9qcy9KU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIuY3BwCiAgICAgYmluZGluZ3MvanMv
SlNDcnlwdG9BbGdvcml0aG1EaWN0aW9uYXJ5LmNwcAotICAgIGJpbmRpbmdzL2pzL0pTQ3J5cHRv
S2V5Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTQ3J5cHRvS2V5U2VyaWFsaXphdGlvbkpX
Sy5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0NyeXB0b09wZXJhdGlvbkRhdGEuY3BwCiAgICAgYmlu
ZGluZ3MvanMvSlNDdXN0b21FbGVtZW50SW50ZXJmYWNlLmNwcApJbmRleDogU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiAyMjA1MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1Niw3IEBAIFZQQVRIID0g
XAogICAgICQoV2ViQ29yZSkvYW5pbWF0aW9uIFwKICAgICAkKFdlYkNvcmUpL2JpbmRpbmdzL2pz
IFwKICAgICAkKFdlYkNvcmUpL2NyeXB0byBcCisgICAgJChXZWJDb3JlKS9jcnlwdG8va2V5cyBc
CiAgICAgJChXZWJDb3JlKS9jcnlwdG8vcGFyYW1ldGVycyBcCiAgICAgJChXZWJDb3JlKS9jc3Mg
XAogICAgICQoV2ViQ29yZSkvZG9tIFwKQEAgLTMwNSw2ICszMDYsMTIgQEAgSlNfQklORElOR19J
RExTID0gXAogICAgICQoV2ViQ29yZSkvY3J5cHRvL1JzYU90aGVyUHJpbWVzSW5mby5pZGwgXAog
ICAgICQoV2ViQ29yZSkvY3J5cHRvL1N1YnRsZUNyeXB0by5pZGwgXAogICAgICQoV2ViQ29yZSkv
Y3J5cHRvL1dlYktpdFN1YnRsZUNyeXB0by5pZGwgXAorICAgICQoV2ViQ29yZSkvY3J5cHRvL2tl
eXMvQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmlkbCBcCisgICAgJChXZWJDb3JlKS9jcnlwdG8va2V5
cy9DcnlwdG9FY0tleUFsZ29yaXRobS5pZGwgXAorICAgICQoV2ViQ29yZSkvY3J5cHRvL2tleXMv
Q3J5cHRvSG1hY0tleUFsZ29yaXRobS5pZGwgXAorICAgICQoV2ViQ29yZSkvY3J5cHRvL2tleXMv
Q3J5cHRvS2V5QWxnb3JpdGhtLmlkbCBcCisgICAgJChXZWJDb3JlKS9jcnlwdG8va2V5cy9Dcnlw
dG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0uaWRsIFwKKyAgICAkKFdlYkNvcmUpL2NyeXB0by9rZXlz
L0NyeXB0b1JzYUtleUFsZ29yaXRobS5pZGwgXAogICAgICQoV2ViQ29yZSkvY3J5cHRvL3BhcmFt
ZXRlcnMvQWVzQ2JjQ2ZiUGFyYW1zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jcnlwdG8vcGFyYW1l
dGVycy9BZXNDdHJQYXJhbXMuaWRsIFwKICAgICAkKFdlYkNvcmUpL2NyeXB0by9wYXJhbWV0ZXJz
L0Flc0djbVBhcmFtcy5pZGwgXApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjIwNTI4KQorKysgU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBA
IC0zMjU0LDYgKzMyNTQsMjQgQEAKIAkJN0M5M0YzNEExQUE2QkE1RTAwQTk4QkFCIC8qIENvbXBp
bGVkQ29udGVudEV4dGVuc2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gN0M5M0YzNDgxQUE2QkE1RTAwQTk4QkFCIC8qIENvbXBpbGVkQ29udGVudEV4
dGVuc2lvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTdDOTNGMzREMUFBNkJGMDcwMEE5OEJBQiAvKiBDb250ZW50RXh0ZW5zaW9uQ29tcGlsZXIu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M5M0Yz
NEIxQUE2QkYwNzAwQTk4QkFCIC8qIENvbnRlbnRFeHRlbnNpb25Db21waWxlci5jcHAgKi87IH07
CiAJCTdDOTNGMzRFMUFBNkJGMDcwMEE5OEJBQiAvKiBDb250ZW50RXh0ZW5zaW9uQ29tcGlsZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDOTNGMzRD
MUFBNkJGMDcwMEE5OEJBQiAvKiBDb250ZW50RXh0ZW5zaW9uQ29tcGlsZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3QzlBQ0E5MjFGM0NDMEFB
MDBGM0FBMDkgLyogQ3J5cHRvS2V5QWxnb3JpdGhtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzlBQ0E4RjFGM0NDMEFBMDBGM0FBMDkgLyogQ3J5cHRv
S2V5QWxnb3JpdGhtLmggKi87IH07CisJCTdDOUFDQTk4MUYzQ0NEQUQwMEYzQUEwOSAvKiBDcnlw
dG9BZXNLZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdDOUFDQTk2MUYzQ0NEQUQwMEYzQUEwOSAvKiBDcnlwdG9BZXNLZXlBbGdvcml0
aG0uaCAqLzsgfTsKKwkJN0M5QUNBOUMxRjNDQ0RGMjAwRjNBQTA5IC8qIENyeXB0b0VjS2V5QWxn
b3JpdGhtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
QzlBQ0E5QTFGM0NDREYyMDBGM0FBMDkgLyogQ3J5cHRvRWNLZXlBbGdvcml0aG0uaCAqLzsgfTsK
KwkJN0M5QUNBQTAxRjNDQ0UzMDAwRjNBQTA5IC8qIENyeXB0b0htYWNLZXlBbGdvcml0aG0uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDOUFDQTlFMUYz
Q0NFMzAwMEYzQUEwOSAvKiBDcnlwdG9IbWFjS2V5QWxnb3JpdGhtLmggKi87IH07CisJCTdDOUFD
QUE0MUYzQ0NFNjkwMEYzQUEwOSAvKiBDcnlwdG9Sc2FLZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDOUFDQUEyMUYzQ0NFNjkwMEYz
QUEwOSAvKiBDcnlwdG9Sc2FLZXlBbGdvcml0aG0uaCAqLzsgfTsKKwkJN0M5QUNBQTgxRjNDQ0VC
NDAwRjNBQTA5IC8qIENyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M5QUNBQTYxRjNDQ0VCNDAwRjNBQTA5
IC8qIENyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5oICovOyB9OworCQk3QzlBQ0FCNzFGM0NG
MUFFMDBGM0FBMDkgLyogSlNDcnlwdG9BZXNLZXlBbGdvcml0aG0uY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M5QUNBQjYxRjNDREM0NzAwRjNBQTA5
IC8qIEpTQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmNwcCAqLzsgfTsKKwkJN0M5QUNBQjgxRjNDRjFB
RTAwRjNBQTA5IC8qIEpTQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzlBQ0FBQTFGM0NEQjYzMDBGM0FBMDkgLyog
SlNDcnlwdG9BZXNLZXlBbGdvcml0aG0uaCAqLzsgfTsKKwkJN0M5QUNBQjkxRjNDRjFBRTAwRjNB
QTA5IC8qIEpTQ3J5cHRvRWNLZXlBbGdvcml0aG0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M5QUNBQUQxRjNDREI5RTAwRjNBQTA5IC8qIEpTQ3J5
cHRvRWNLZXlBbGdvcml0aG0uY3BwICovOyB9OworCQk3QzlBQ0FCQTFGM0NGMUFFMDBGM0FBMDkg
LyogSlNDcnlwdG9FY0tleUFsZ29yaXRobS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0M5QUNBQUMxRjNDREI5RDAwRjNBQTA5IC8qIEpTQ3J5cHRvRWNL
ZXlBbGdvcml0aG0uaCAqLzsgfTsKKwkJN0M5QUNBQkIxRjNDRjFBRTAwRjNBQTA5IC8qIEpTQ3J5
cHRvSG1hY0tleUFsZ29yaXRobS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3QzlBQ0FBRTFGM0NEQjlGMDBGM0FBMDkgLyogSlNDcnlwdG9IbWFjS2V5
QWxnb3JpdGhtLmNwcCAqLzsgfTsKKwkJN0M5QUNBQkMxRjNDRjFBRTAwRjNBQTA5IC8qIEpTQ3J5
cHRvSG1hY0tleUFsZ29yaXRobS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gN0M5QUNBQUYxRjNDREI5RjAwRjNBQTA5IC8qIEpTQ3J5cHRvSG1hY0tleUFs
Z29yaXRobS5oICovOyB9OworCQk3QzlBQ0FCRDFGM0NGMUFFMDBGM0FBMDkgLyogSlNDcnlwdG9L
ZXlBbGdvcml0aG0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gN0M5QUNBQjAxRjNDREJBMDAwRjNBQTA5IC8qIEpTQ3J5cHRvS2V5QWxnb3JpdGhtLmNw
cCAqLzsgfTsKKwkJN0M5QUNBQkUxRjNDRjFBRjAwRjNBQTA5IC8qIEpTQ3J5cHRvS2V5QWxnb3Jp
dGhtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzlB
Q0FCMTFGM0NEQkExMDBGM0FBMDkgLyogSlNDcnlwdG9LZXlBbGdvcml0aG0uaCAqLzsgfTsKKwkJ
N0M5QUNBQkYxRjNDRjFBRjAwRjNBQTA5IC8qIEpTQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3JpdGht
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDOUFD
QUI0MUYzQ0RDMDEwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5jcHAg
Ki87IH07CisJCTdDOUFDQUMwMUYzQ0YxQUYwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUhhc2hlZEtl
eUFsZ29yaXRobS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0M5QUNBQjUxRjNDREMwMjAwRjNBQTA5IC8qIEpTQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3Jp
dGhtLmggKi87IH07CisJCTdDOUFDQUMxMUYzQ0YxQUYwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUtl
eUFsZ29yaXRobS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3QzlBQ0FCMjFGM0NEQzAwMDBGM0FBMDkgLyogSlNDcnlwdG9Sc2FLZXlBbGdvcml0aG0u
Y3BwICovOyB9OworCQk3QzlBQ0FDMjFGM0NGMUFGMDBGM0FBMDkgLyogSlNDcnlwdG9Sc2FLZXlB
bGdvcml0aG0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDdDOUFDQUIzMUYzQ0RDMDEwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUtleUFsZ29yaXRobS5oICov
OyB9OwogCQk3QzlEQkZFRDFBOUM0OUIxMDAwRDZCMjUgLyogSlNIVE1MQXR0YWNobWVudEVsZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M5
REJGRUIxQTlDNDlCMTAwMEQ2QjI1IC8qIEpTSFRNTEF0dGFjaG1lbnRFbGVtZW50LmNwcCAqLzsg
fTsKIAkJN0M5REJGRUUxQTlDNDlCMTAwMEQ2QjI1IC8qIEpTSFRNTEF0dGFjaG1lbnRFbGVtZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzlEQkZF
QzFBOUM0OUIxMDAwRDZCMjUgLyogSlNIVE1MQXR0YWNobWVudEVsZW1lbnQuaCAqLzsgfTsKIAkJ
N0NCNUNBM0YxRTUyNUM3MTAwRkFFRjEzIC8qIE1lZGlhUXVlcnlFeHByZXNzaW9uLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDQjVDQTNEMUU1MjVD
NkMwMEZBRUYxMyAvKiBNZWRpYVF1ZXJ5RXhwcmVzc2lvbi5jcHAgKi87IH07CkBAIC02NTIwLDkg
KzY1MzgsNiBAQAogCQlFMTU3QThFMTE4MTczMzFDMDA5RjgyMUQgLyogSlNDcnlwdG9LZXkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNTdBOERGMTgx
NzMzMUMwMDlGODIxRCAvKiBKU0NyeXB0b0tleS5oICovOyB9OwogCQlFMTU3QThFNDE4MTczQTNB
MDA5RjgyMUQgLyogQ3J5cHRvS2V5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUxNTdBOEUyMTgxNzNBM0EwMDlGODIxRCAvKiBDcnlwdG9LZXkuY3Bw
ICovOyB9OwogCQlFMTU3QThFNTE4MTczQTNBMDA5RjgyMUQgLyogQ3J5cHRvS2V5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTU3QThFMzE4MTczQTNB
MDA5RjgyMUQgLyogQ3J5cHRvS2V5LmggKi87IH07Ci0JCUUxNTdBOEU4MTgxODRDNjcwMDlGODIx
RCAvKiBKU0NyeXB0b0tleUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFMTU3QThFNjE4MTg0QzY3MDA5RjgyMUQgLyogSlNDcnlwdG9LZXlD
dXN0b20uY3BwICovOyB9OwotCQlFMTU3QThGMDE4MTg1NDI1MDA5RjgyMUQgLyogSlNDcnlwdG9B
bGdvcml0aG1CdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEUxNTdBOEVFMTgxODU0MjUwMDlGODIxRCAvKiBKU0NyeXB0b0FsZ29yaXRobUJ1
aWxkZXIuY3BwICovOyB9OwotCQlFMTU3QThGMTE4MTg1NDI1MDA5RjgyMUQgLyogSlNDcnlwdG9B
bGdvcml0aG1CdWlsZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMTU3QThFRjE4MTg1NDI1MDA5RjgyMUQgLyogSlNDcnlwdG9BbGdvcml0aG1CdWls
ZGVyLmggKi87IH07CiAJCUUxNUEzNkQ3MTEwNDU3MjAwMEI3QjYzOSAvKiBYTUxOU05hbWVzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTVBMzZENjEx
MDQ1NzIwMDBCN0I2MzkgLyogWE1MTlNOYW1lcy5oICovOyB9OwogCQlFMTVBMzZEOTExMDQ1NzI3
MDBCN0I2MzkgLyogWE1MTlNOYW1lcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFMTVBMzZEODExMDQ1NzI3MDBCN0I2MzkgLyogWE1MTlNOYW1lcy5j
cHAgKi87IH07CiAJCUUxNUZGN0Q1MThDOTU1MzgwMEZFNEM4NyAvKiBLZXlwcmVzc0NvbW1hbmQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNUZGN0Q0
MThDOTU1MzgwMEZFNEM4NyAvKiBLZXlwcmVzc0NvbW1hbmQuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTEzMjIsNiArMTEzMzcsMzAgQEAKIAkJ
N0M5M0YzNDgxQUE2QkE1RTAwQTk4QkFCIC8qIENvbXBpbGVkQ29udGVudEV4dGVuc2lvbi5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb21waWxlZENvbnRlbnRFeHRlbnNpb24u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M5M0YzNEIxQUE2QkYwNzAwQTk4QkFC
IC8qIENvbnRlbnRFeHRlbnNpb25Db21waWxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBDb250ZW50RXh0ZW5zaW9uQ29tcGlsZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3QzkzRjM0QzFBQTZCRjA3MDBBOThCQUIgLyogQ29udGVudEV4dGVu
c2lvbkNvbXBpbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRF
eHRlbnNpb25Db21waWxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0E4
RjFGM0NDMEFBMDBGM0FBMDkgLyogQ3J5cHRvS2V5QWxnb3JpdGhtLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IENyeXB0b0tleUFsZ29yaXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlB
Q0E5MTFGM0NDMEFBMDBGM0FBMDkgLyogQ3J5cHRvS2V5QWxnb3JpdGhtLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDcnlw
dG9LZXlBbGdvcml0aG0uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0E5
NjFGM0NDREFEMDBGM0FBMDkgLyogQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IENyeXB0b0Flc0tleUFsZ29yaXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk3QzlBQ0E5NzFGM0NDREFEMDBGM0FBMDkgLyogQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBDcnlwdG9BZXNLZXlBbGdvcml0aG0uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk3QzlBQ0E5QTFGM0NDREYyMDBGM0FBMDkgLyogQ3J5cHRvRWNLZXlBbGdvcml0aG0uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ3J5cHRvRWNLZXlBbGdvcml0aG0uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJN0M5QUNBOUIxRjNDQ0RGMjAwRjNBQTA5IC8qIENyeXB0b0VjS2V5QWxnb3Jp
dGhtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBDcnlwdG9FY0tleUFsZ29yaXRobS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTdDOUFDQTlFMUYzQ0NFMzAwMEYzQUEwOSAvKiBDcnlwdG9IbWFjS2V5QWxn
b3JpdGhtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENyeXB0b0htYWNLZXlBbGdvcml0aG0uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0M5QUNBOUYxRjNDQ0UzMDAwRjNBQTA5IC8qIENyeXB0
b0htYWNLZXlBbGdvcml0aG0uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENyeXB0b0htYWNLZXlBbGdvcml0aG0uaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FBMjFGM0NDRTY5MDBGM0FBMDkgLyog
Q3J5cHRvUnNhS2V5QWxnb3JpdGhtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENyeXB0b1JzYUtleUFsZ29y
aXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FBMzFGM0NDRTY5MDBG
M0FBMDkgLyogQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDcnlwdG9Sc2FLZXlBbGdv
cml0aG0uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FBNjFGM0NDRUI0
MDBGM0FBMDkgLyogQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3JpdGhtLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IENyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk3QzlBQ0FBNzFGM0NDRUI0MDBGM0FBMDkgLyogQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3Jp
dGhtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBDcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0uaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FBQTFGM0NEQjYzMDBGM0FBMDkgLyogSlNDcnlwdG9B
ZXNLZXlBbGdvcml0aG0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDcnlwdG9BZXNLZXlBbGdvcml0aG0u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0M5QUNBQUMxRjNDREI5RDAwRjNBQTA5
IC8qIEpTQ3J5cHRvRWNLZXlBbGdvcml0aG0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDcnlwdG9FY0tl
eUFsZ29yaXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FBRDFGM0NE
QjlFMDBGM0FBMDkgLyogSlNDcnlwdG9FY0tleUFsZ29yaXRobS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0NyeXB0b0VjS2V5QWxnb3JpdGhtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJN0M5QUNBQUUxRjNDREI5RjAwRjNBQTA5IC8qIEpTQ3J5cHRvSG1hY0tleUFsZ29yaXRo
bS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NyeXB0b0htYWNLZXlBbGdvcml0aG0uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FBRjFGM0NEQjlGMDBGM0FBMDkgLyog
SlNDcnlwdG9IbWFjS2V5QWxnb3JpdGhtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ3J5cHRvSG1hY0tl
eUFsZ29yaXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FCMDFGM0NE
QkEwMDBGM0FBMDkgLyogSlNDcnlwdG9LZXlBbGdvcml0aG0uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNDcnlwdG9LZXlBbGdvcml0aG0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk3QzlBQ0FCMTFGM0NEQkExMDBGM0FBMDkgLyogSlNDcnlwdG9LZXlBbGdvcml0aG0uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNDcnlwdG9LZXlBbGdvcml0aG0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJN0M5QUNBQjIxRjNDREMwMDAwRjNBQTA5IC8qIEpTQ3J5cHRvUnNhS2V5QWxnb3Jp
dGhtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0M5QUNBQjMxRjNDREMwMTAwRjNBQTA5IC8q
IEpTQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ3J5cHRvUnNhS2V5
QWxnb3JpdGhtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDOUFDQUI0MUYzQ0RD
MDEwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU0NyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTdDOUFDQUI1MUYzQ0RDMDIwMEYzQUEwOSAvKiBKU0NyeXB0b1Jz
YUhhc2hlZEtleUFsZ29yaXRobS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0NyeXB0b1JzYUhhc2hlZEtl
eUFsZ29yaXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FCNjFGM0NE
QzQ3MDBGM0FBMDkgLyogSlNDcnlwdG9BZXNLZXlBbGdvcml0aG0uY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNDcnlwdG9BZXNLZXlBbGdvcml0aG0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3QzlEQkZFQTFBOUM0ODlGMDAwRDZCMjUgLyogSFRNTEF0dGFjaG1lbnRFbGVtZW50
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBIVE1MQXR0YWNobWVudEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk3QzlEQkZFQjFBOUM0OUIxMDAwRDZCMjUgLyogSlNIVE1MQXR0YWNobWVudEVs
ZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNIVE1MQXR0
YWNobWVudEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzlEQkZF
QzFBOUM0OUIxMDAwRDZCMjUgLyogSlNIVE1MQXR0YWNobWVudEVsZW1lbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNIVE1MQXR0YWNobWVudEVsZW1lbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1MTAxLDkgKzE1MTQwLDYgQEAKIAkJRTE1N0E4REYx
ODE3MzMxQzAwOUY4MjFEIC8qIEpTQ3J5cHRvS2V5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTQ3J5cHRvS2V5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUx
NTdBOEUyMTgxNzNBM0EwMDlGODIxRCAvKiBDcnlwdG9LZXkuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQ3J5cHRvS2V5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTE1N0E4RTMxODE3M0EzQTAwOUY4MjFEIC8qIENyeXB0b0tleS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcnlwdG9LZXkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJRTE1N0E4RTYxODE4NEM2NzAwOUY4MjFEIC8qIEpTQ3J5cHRvS2V5Q3VzdG9t
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ3J5cHRvS2V5Q3Vz
dG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTE1N0E4RUUxODE4NTQyNTAw
OUY4MjFEIC8qIEpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQlFMTU3QThFRjE4MTg1NDI1MDA5RjgyMUQgLyogSlNDcnlw
dG9BbGdvcml0aG1CdWlsZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
Q3J5cHRvQWxnb3JpdGhtQnVpbGRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlF
MTVBMzZENjExMDQ1NzIwMDBCN0I2MzkgLyogWE1MTlNOYW1lcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBYTUxOU05hbWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUUxNUEzNkQ4MTEwNDU3MjcwMEI3QjYzOSAvKiBYTUxOU05hbWVzLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFhNTE5TTmFtZXMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFMTVGRjdENDE4Qzk1NTM4MDBGRTRDODcgLyogS2V5cHJlc3NDb21t
YW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEtleXByZXNzQ29tbWFuZC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTg1NzksMTIgKzE4NjE1LDEyIEBACiAJ
CQkJNTE4MkMyNTIxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlci5oICovLAogCQkJ
CTUxODJDMjUxMUYzMTQyNTAwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3Bw
ICovLAogCQkJCTUxODJDMjU0MUYzMTQyNTAwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXJDb250
YWluZXIuaCAqLywKLQkJCQk1MUYxNzUwMDFGMzU4QjM2MDBDNzQ5NTAgLyogSlNTZXJ2aWNlV29y
a2VyVXBkYXRlVmlhQ2FjaGUuY3BwICovLAotCQkJCTUxRjE3NTAxMUYzNThCMzYwMEM3NDk1MCAv
KiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5oICovLAogCQkJCTUxODJDMjRFMUYzMTQy
NTAwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5jcHAgKi8sCiAJCQkJNTE4
MkMyNEQxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmggKi8s
CiAJCQkJNTE4MkMyNEYxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbi5jcHAgKi8sCiAJCQkJNTE4MkMyNTAxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbi5oICovLAorCQkJCTUxRjE3NTAwMUYzNThCMzYwMEM3NDk1MCAvKiBK
U1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5jcHAgKi8sCisJCQkJNTFGMTc1MDExRjM1OEIz
NjAwQzc0OTUwIC8qIEpTU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggKi8sCiAJCQkpOwog
CQkJbmFtZSA9IFNlcnZpY2VXb3JrZXJzOwogCQkJcGF0aCA9IERlcml2ZWRTb3VyY2VzOwpAQCAt
MjM1MTgsOCArMjM1NTQsNiBAQAogCQkJCTE0MzJFODQ2MEM1MTQ5MzgwMEIxNTAwRiAvKiBHQ0Nv
bnRyb2xsZXIuaCAqLywKIAkJCQlDNTg1QTY2MDExRDRGQUM1MDA0QzNFNEIgLyogSURCQmluZGlu
Z1V0aWxpdGllcy5jcHAgKi8sCiAJCQkJQzU4NUE2NjExMUQ0RkFDNTAwNEMzRTRCIC8qIElEQkJp
bmRpbmdVdGlsaXRpZXMuaCAqLywKLQkJCQlFMTU3QThFRTE4MTg1NDI1MDA5RjgyMUQgLyogSlND
cnlwdG9BbGdvcml0aG1CdWlsZGVyLmNwcCAqLywKLQkJCQlFMTU3QThFRjE4MTg1NDI1MDA5Rjgy
MUQgLyogSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyLmggKi8sCiAJCQkJRTFDNjU3MTAxODE1RjlE
RDAwMjU2Q0REIC8qIEpTQ3J5cHRvQWxnb3JpdGhtRGljdGlvbmFyeS5jcHAgKi8sCiAJCQkJRTFD
NjU3MTExODE1RjlERDAwMjU2Q0REIC8qIEpTQ3J5cHRvQWxnb3JpdGhtRGljdGlvbmFyeS5oICov
LAogCQkJCUUxMjVGODRGMTgyODNBNTYwMEQ4NENEOSAvKiBKU0NyeXB0b0tleVNlcmlhbGl6YXRp
b25KV0suY3BwICovLApAQCAtMjM2MDgsNyArMjM2NDIsNiBAQAogCQkJY2hpbGRyZW4gPSAoCiAJ
CQkJN0NEMzQ0MUIxRjMyREUzMDAwMERDRDQ5IC8qIENhY2hlZCBBdHRyaWJ1dGVzIHcvIEludmFs
aWRhdGlvbiAqLywKIAkJCQk3QzNEOEVFNDFFMDhCQUJFMDAyM0IwODQgLyogR0MgLyBXcmFwcGlu
ZyBPbmx5ICovLAotCQkJCUUxNTdBOEU2MTgxODRDNjcwMDlGODIxRCAvKiBKU0NyeXB0b0tleUN1
c3RvbS5jcHAgKi8sCiAJCQkJOUJDNUY5REYxRDVBQUY2QTAwMkI3NDlEIC8qIEpTQ3VzdG9tRWxl
bWVudFJlZ2lzdHJ5Q3VzdG9tLmNwcCAqLywKIAkJCQlCQ0Q5QzI1RTBDMTdBQTY3MDA1QzkwQTIg
LyogSlNET01XaW5kb3dDdXN0b20uY3BwICovLAogCQkJCTY1MkZCQkJCMERFMjdDQjYwMDAxRDM4
NiAvKiBKU0RPTVdpbmRvd0N1c3RvbS5oICovLApAQCAtMjQ1NDUsOCArMjQ1NzgsMTYgQEAKIAkJ
RTE5REEyOUQxODE5OTVDRTAwMDg4QkM4IC8qIGtleXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91
cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTdDOUFDQTk2MUYzQ0NEQUQwMEYzQUEwOSAvKiBDcnlw
dG9BZXNLZXlBbGdvcml0aG0uaCAqLywKKwkJCQk3QzlBQ0E5NzFGM0NDREFEMDBGM0FBMDkgLyog
Q3J5cHRvQWVzS2V5QWxnb3JpdGhtLmlkbCAqLywKKwkJCQk3QzlBQ0E5QTFGM0NDREYyMDBGM0FB
MDkgLyogQ3J5cHRvRWNLZXlBbGdvcml0aG0uaCAqLywKKwkJCQk3QzlBQ0E5QjFGM0NDREYyMDBG
M0FBMDkgLyogQ3J5cHRvRWNLZXlBbGdvcml0aG0uaWRsICovLAorCQkJCTdDOUFDQTlFMUYzQ0NF
MzAwMEYzQUEwOSAvKiBDcnlwdG9IbWFjS2V5QWxnb3JpdGhtLmggKi8sCisJCQkJN0M5QUNBOUYx
RjNDQ0UzMDAwRjNBQTA5IC8qIENyeXB0b0htYWNLZXlBbGdvcml0aG0uaWRsICovLAogCQkJCUUx
MjVGODRCMTgyNDI4OUQwMEQ4NENEOSAvKiBDcnlwdG9LZXlBRVMuY3BwICovLAogCQkJCUUxMjVG
ODRDMTgyNDI4OUQwMEQ4NENEOSAvKiBDcnlwdG9LZXlBRVMuaCAqLywKKwkJCQk3QzlBQ0E4RjFG
M0NDMEFBMDBGM0FBMDkgLyogQ3J5cHRvS2V5QWxnb3JpdGhtLmggKi8sCisJCQkJN0M5QUNBOTEx
RjNDQzBBQTAwRjNBQTA5IC8qIENyeXB0b0tleUFsZ29yaXRobS5pZGwgKi8sCiAJCQkJRTEyNUY4
NjExODJDMzAzQTAwRDg0Q0Q5IC8qIENyeXB0b0tleURhdGFPY3RldFNlcXVlbmNlLmNwcCAqLywK
IAkJCQlFMTI1Rjg2MjE4MkMzMDNBMDBEODRDRDkgLyogQ3J5cHRvS2V5RGF0YU9jdGV0U2VxdWVu
Y2UuaCAqLywKIAkJCQlFMUMyNjZEQzE4MzE5RjMxMDAzRjhCMzMgLyogQ3J5cHRvS2V5RGF0YVJT
QUNvbXBvbmVudHMuY3BwICovLApAQCAtMjQ1NjEsNiArMjQ2MDIsMTAgQEAKIAkJCQlFMTY0RkFB
MjE4MzE1QkY0MDBEQjRFNjEgLyogQ3J5cHRvS2V5UlNBLmggKi8sCiAJCQkJRTEyNUY4NTcxODJD
MUFBNjAwRDg0Q0Q5IC8qIENyeXB0b0tleVNlcmlhbGl6YXRpb25SYXcuY3BwICovLAogCQkJCUUx
MjVGODU4MTgyQzFBQTYwMEQ4NENEOSAvKiBDcnlwdG9LZXlTZXJpYWxpemF0aW9uUmF3LmggKi8s
CisJCQkJN0M5QUNBQTYxRjNDQ0VCNDAwRjNBQTA5IC8qIENyeXB0b1JzYUhhc2hlZEtleUFsZ29y
aXRobS5oICovLAorCQkJCTdDOUFDQUE3MUYzQ0NFQjQwMEYzQUEwOSAvKiBDcnlwdG9Sc2FIYXNo
ZWRLZXlBbGdvcml0aG0uaWRsICovLAorCQkJCTdDOUFDQUEyMUYzQ0NFNjkwMEYzQUEwOSAvKiBD
cnlwdG9Sc2FLZXlBbGdvcml0aG0uaCAqLywKKwkJCQk3QzlBQ0FBMzFGM0NDRTY5MDBGM0FBMDkg
LyogQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmlkbCAqLywKIAkJCSk7CiAJCQlwYXRoID0ga2V5czsK
IAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0yNDc2OCwxNCArMjQ4MTMsMjYgQEAKIAkJ
CQk1N0I1RjgwQjFFNUQyMkRBMDBGMzRGOTAgLyogSlNBZXNHY21QYXJhbXMuaCAqLywKIAkJCQk1
NzY4MTQ0MjFFNzBDQjEwMDBFNzc3NTQgLyogSlNBZXNLZXlQYXJhbXMuY3BwICovLAogCQkJCTU3
NjgxNDQzMUU3MENCMTAwMEU3Nzc1NCAvKiBKU0Flc0tleVBhcmFtcy5oICovLAorCQkJCTdDOUFD
QUI2MUYzQ0RDNDcwMEYzQUEwOSAvKiBKU0NyeXB0b0Flc0tleUFsZ29yaXRobS5jcHAgKi8sCisJ
CQkJN0M5QUNBQUExRjNDREI2MzAwRjNBQTA5IC8qIEpTQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmgg
Ki8sCiAJCQkJNTczOUUxMzAxREFDN0ZEMTAwRTE0MzgzIC8qIEpTQ3J5cHRvQWxnb3JpdGhtUGFy
YW1ldGVycy5jcHAgKi8sCiAJCQkJNTczOUUxMkUxREFDN0Y3ODAwRTE0MzgzIC8qIEpTQ3J5cHRv
QWxnb3JpdGhtUGFyYW1ldGVycy5oICovLAorCQkJCTdDOUFDQUFEMUYzQ0RCOUUwMEYzQUEwOSAv
KiBKU0NyeXB0b0VjS2V5QWxnb3JpdGhtLmNwcCAqLywKKwkJCQk3QzlBQ0FBQzFGM0NEQjlEMDBG
M0FBMDkgLyogSlNDcnlwdG9FY0tleUFsZ29yaXRobS5oICovLAorCQkJCTdDOUFDQUFFMUYzQ0RC
OUYwMEYzQUEwOSAvKiBKU0NyeXB0b0htYWNLZXlBbGdvcml0aG0uY3BwICovLAorCQkJCTdDOUFD
QUFGMUYzQ0RCOUYwMEYzQUEwOSAvKiBKU0NyeXB0b0htYWNLZXlBbGdvcml0aG0uaCAqLywKIAkJ
CQlFMTU3QThERTE4MTczMzFDMDA5RjgyMUQgLyogSlNDcnlwdG9LZXkuY3BwICovLAogCQkJCUUx
NTdBOERGMTgxNzMzMUMwMDlGODIxRCAvKiBKU0NyeXB0b0tleS5oICovLAorCQkJCTdDOUFDQUIw
MUYzQ0RCQTAwMEYzQUEwOSAvKiBKU0NyeXB0b0tleUFsZ29yaXRobS5jcHAgKi8sCisJCQkJN0M5
QUNBQjExRjNDREJBMTAwRjNBQTA5IC8qIEpTQ3J5cHRvS2V5QWxnb3JpdGhtLmggKi8sCiAJCQkJ
RTFGODBCOEIxODMxNzJCNTAwNzg4NUMzIC8qIEpTQ3J5cHRvS2V5UGFpci5jcHAgKi8sCiAJCQkJ
RTFGODBCOEMxODMxNzJCNTAwNzg4NUMzIC8qIEpTQ3J5cHRvS2V5UGFpci5oICovLAogCQkJCTU3
RDAwMThFMURENTQxNTMwMEVEMTlEOSAvKiBKU0NyeXB0b0tleVVzYWdlLmNwcCAqLywKIAkJCQk1
N0QwMDE4QzFERDU0MTMyMDBFRDE5RDkgLyogSlNDcnlwdG9LZXlVc2FnZS5oICovLAorCQkJCTdD
OUFDQUI0MUYzQ0RDMDEwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5j
cHAgKi8sCisJCQkJN0M5QUNBQjUxRjNDREMwMjAwRjNBQTA5IC8qIEpTQ3J5cHRvUnNhSGFzaGVk
S2V5QWxnb3JpdGhtLmggKi8sCisJCQkJN0M5QUNBQjIxRjNDREMwMDAwRjNBQTA5IC8qIEpTQ3J5
cHRvUnNhS2V5QWxnb3JpdGhtLmNwcCAqLywKKwkJCQk3QzlBQ0FCMzFGM0NEQzAxMDBGM0FBMDkg
LyogSlNDcnlwdG9Sc2FLZXlBbGdvcml0aG0uaCAqLywKIAkJCQk1NzY4MTQzRDFFNzA5QzM2MDBF
Nzc3NTQgLyogSlNFY2RoS2V5RGVyaXZlUGFyYW1zLmNwcCAqLywKIAkJCQk1NzY4MTQzRTFFNzA5
QzM2MDBFNzc3NTQgLyogSlNFY2RoS2V5RGVyaXZlUGFyYW1zLmggKi8sCiAJCQkJNTdFRUFBNTIx
RUEwMDFCMTAwNzAxMTI0IC8qIEpTRWNkc2FQYXJhbXMuY3BwICovLApAQCAtMjY4MjIsNiArMjY4
NzksNyBAQAogCQkJCUUxQzQxNURBMEY2NTVENkYwMDkyRDJGQiAvKiBDcm9zc09yaWdpblByZWZs
aWdodFJlc3VsdENhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTY5ODAzRDExMzM1NDJEMDA4
OTQxMTUgLyogQ1J1bnRpbWVPYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3NUNBMjhCMTMw
MzY1RjgwMEU5OUFEOSAvKiBDcnlwdG8uaCBpbiBIZWFkZXJzICovLAorCQkJCTdDOUFDQTk4MUYz
Q0NEQUQwMEYzQUEwOSAvKiBDcnlwdG9BZXNLZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAog
CQkJCUUxNzJBRjZFMTgwRjI0QzYwMEZCQURCOSAvKiBDcnlwdG9BbGdvcml0aG0uaCBpbiBIZWFk
ZXJzICovLAogCQkJCUUxMjVGODQyMTgyNDI1M0EwMEQ4NENEOSAvKiBDcnlwdG9BbGdvcml0aG1B
RVNfQ0JDLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzEyNTI2OTFFNTI0RUIxMDA4RkYzNjkgLyog
Q3J5cHRvQWxnb3JpdGhtQUVTX0NGQi5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjg2OSw4ICsyNjky
NywxMSBAQAogCQkJCUUxOUFDM0YzMTgyNERDNzkwMDM0OTQyNiAvKiBDcnlwdG9BbGdvcml0aG1T
SEEzODQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxOUFDM0Y1MTgyNERDNzkwMDM0OTQyNiAvKiBD
cnlwdG9BbGdvcml0aG1TSEE1MTIuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3MjFBOTg3MUVDRTUz
QjEwMDgxMjk1QSAvKiBDcnlwdG9EaWdlc3RBbGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAorCQkJ
CTdDOUFDQTlDMUYzQ0NERjIwMEYzQUEwOSAvKiBDcnlwdG9FY0tleUFsZ29yaXRobS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJN0M5QUNBQTAxRjNDQ0UzMDAwRjNBQTA5IC8qIENyeXB0b0htYWNLZXlB
bGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNTdBOEU1MTgxNzNBM0EwMDlGODIxRCAv
KiBDcnlwdG9LZXkuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMjVGODRFMTgyNDI4OUQwMEQ4NENE
OSAvKiBDcnlwdG9LZXlBRVMuaCBpbiBIZWFkZXJzICovLAorCQkJCTdDOUFDQTkyMUYzQ0MwQUEw
MEYzQUEwOSAvKiBDcnlwdG9LZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMjVG
ODVFMTgyQzJERjYwMEQ4NENEOSAvKiBDcnlwdG9LZXlEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMTI1Rjg2NDE4MkMzMDNBMDBEODRDRDkgLyogQ3J5cHRvS2V5RGF0YU9jdGV0U2VxdWVuY2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCUUxQzI2NkRGMTgzMTlGMzEwMDNGOEIzMyAvKiBDcnlwdG9L
ZXlEYXRhUlNBQ29tcG9uZW50cy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjg4Myw2ICsyNjk0NCw4
IEBACiAJCQkJRTEyNUY4NUExODJDMUFBNjAwRDg0Q0Q5IC8qIENyeXB0b0tleVNlcmlhbGl6YXRp
b25SYXcuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxOTcyNzE2MTgyMDU0OUUwMDU5MkQ1MSAvKiBD
cnlwdG9LZXlUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTcyQUY3MDE4MEYyODk1MDBGQkFE
QjkgLyogQ3J5cHRvS2V5VXNhZ2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTdDOUFDQUE4MUYzQ0NF
QjQwMEYzQUEwOSAvKiBDcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJzICov
LAorCQkJCTdDOUFDQUE0MUYzQ0NFNjkwMEYzQUEwOSAvKiBDcnlwdG9Sc2FLZXlBbGdvcml0aG0u
aCBpbiBIZWFkZXJzICovLAogCQkJCTMxNkZFMTE0MEU2RTFEQTcwMEJGNjA4OCAvKiBDU1NBbmlt
YXRpb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjE1REE4QTBGM0FBRUU3MDAw
MENFNDcgLyogQ1NTQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTMxQkM3NDJFMUFBRkY0NUMwMDZCNDM0MCAvKiBDU1NBbmltYXRpb25UcmlnZ2VyU2Nyb2xs
VmFsdWUuaCBpbiBIZWFkZXJzICovLApAQCAtMjczNzUsNyArMjc0MzgsNiBAQAogCQkJCTMxNkJE
QkY3MUU3NjJBRDUwMERFMEQ1QSAvKiBHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkzMTZCREJGMDFFNzYyOTIwMDBERTBENUEgLyogR1BVRGVwdGhTdGVuY2ls
U3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxNkJEQjg2MUU2RTBBMjcwMERFMEQ1QSAvKiBH
UFVEZXZpY2UuaCBpbiBIZWFkZXJzICovLAotCQkJCTUxRjE3NEZFMUYzNTg5OTIwMEM3NDk1MCAv
KiBXb3JrZXJUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTZCREJDRDFFNzVGMTg0MDBERTBE
NUEgLyogR1BVRHJhd2FibGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxNkJEQkZCMUU3NjJEMDQw
MERFMEQ1QSAvKiBHUFVFbnVtcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE2QkRCOTUxRTcwQzg5
NzAwREUwRDVBIC8qIEdQVUZ1bmN0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTI3NDYzLDcgKzI3
NTI1LDYgQEAKIAkJCQlBODcxRDQ1QzBBMTI3Q0JDMDBCMTJBNjggLyogSFRNTEVtYmVkRWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc3QjM4NkExMjI4ODNFOTAwQjgxRkY4IC8qIEhUTUxF
bnRpdHlQYXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3N0IzODZDMTIyODgzRTkwMEI4MUZG
OCAvKiBIVE1MRW50aXR5U2VhcmNoLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzRGRjFGMzU4
OTk3MDBDNzQ5NTAgLyogU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggaW4gSGVhZGVycyAq
LywKIAkJCQk5NzdCMzg2RDEyMjg4M0U5MDBCODFGRjggLyogSFRNTEVudGl0eVRhYmxlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBODEzNjlENDA5NzM3NEY2MDBENzQ0NjMgLyogSFRNTEZpZWxkU2V0
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThDRkY3QTYwQTE1Njk3ODAwMEE0MjM0IC8q
IEhUTUxGb250RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzc5MiwxNCArMjc4NTMsMTkg
QEAKIAkJCQk3N0Q1MTAxQzFFRDcyMkJGMDBEQTRDODcgLyogSlNDcmVkZW50aWFsc0NvbnRhaW5l
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzdENTEwMDIxRUQ0RjcxODAwREE0Qzg3IC8qIEpTQ3Jl
ZGVudGlhbFVzZXJEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzVDQTJBMjEzMDM2NzlEMDBF
OTlBRDkgLyogSlNDcnlwdG8uaCBpbiBIZWFkZXJzICovLAotCQkJCUUxNTdBOEYxMTgxODU0MjUw
MDlGODIxRCAvKiBKU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTdDOUFDQUI4MUYzQ0YxQUUwMEYzQUEwOSAvKiBKU0NyeXB0b0Flc0tleUFsZ29yaXRobS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTFDNjU3MTMxODE1RjlERDAwMjU2Q0REIC8qIEpTQ3J5cHRvQWxn
b3JpdGhtRGljdGlvbmFyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTczOUUxMkYxREFDN0Y3ODAw
RTE0MzgzIC8qIEpTQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJN0M5QUNBQkExRjNDRjFBRTAwRjNBQTA5IC8qIEpTQ3J5cHRvRWNLZXlBbGdvcml0aG0uaCBp
biBIZWFkZXJzICovLAorCQkJCTdDOUFDQUJDMUYzQ0YxQUUwMEYzQUEwOSAvKiBKU0NyeXB0b0ht
YWNLZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNTdBOEUxMTgxNzMzMUMwMDlG
ODIxRCAvKiBKU0NyeXB0b0tleS5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0M5QUNBQkUxRjNDRjFB
RjAwRjNBQTA5IC8qIEpTQ3J5cHRvS2V5QWxnb3JpdGhtLmggaW4gSGVhZGVycyAqLywKIAkJCQlF
MUY4MEI4RTE4MzE3MkI1MDA3ODg1QzMgLyogSlNDcnlwdG9LZXlQYWlyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlFMTI1Rjg1MjE4MjgzQTU2MDBEODRDRDkgLyogSlNDcnlwdG9LZXlTZXJpYWxpemF0
aW9uSldLLmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0QwMDE4RDFERDU0MTMyMDBFRDE5RDkgLyog
SlNDcnlwdG9LZXlVc2FnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNUY4M0UxODI0MTFFNzAw
RDg0Q0Q5IC8qIEpTQ3J5cHRvT3BlcmF0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0M5
QUNBQzAxRjNDRjFBRjAwRjNBQTA5IC8qIEpTQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3JpdGhtLmgg
aW4gSGVhZGVycyAqLywKKwkJCQk3QzlBQ0FDMjFGM0NGMUFGMDBGM0FBMDkgLyogSlNDcnlwdG9S
c2FLZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNDZDMUZEMEMwRERDOEYwMDIw
Q0ZDMyAvKiBKU0NTU0ZvbnRGYWNlUnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM0NkMxRkYw
QzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTSW1wb3J0UnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MzE2RkUwNzIwRTZDQ0JFRTAwQkY2MDg4IC8qIEpTQ1NTS2V5ZnJhbWVSdWxlLmggaW4gSGVhZGVy
cyAqLywKQEAgLTI4MjExLDYgKzI4Mjc3LDcgQEAKIAkJCQk1MTgyQzI1ODFGMzE0M0NEMDA1OUJB
N0MgLyogSlNTZXJ2aWNlV29ya2VyQ29udGFpbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTgy
QzI1QTFGMzE0M0NEMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxODJDMjVDMUYzMTQzQ0QwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTUxRjE3NTAzMUYzNThCM0IwMEM3
NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOUJEQTY0RDgxQjk3NUNGMjAwOUM0Mzg3IC8qIEpTU2hhZG93Um9vdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDZERkY0OUMxREMyNjIwQjAwQjgwQjQ4IC8qIEpTU2hhZG93Um9vdE1vZGUuaCBp
biBIZWFkZXJzICovLAogCQkJCUNEOURFMTdCMTdBQUM3NUIwMEVBMzg2RCAvKiBKU1NvdXJjZUJ1
ZmZlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODQxMCw3ICsyODQ3Nyw2IEBACiAJCQkJNkUzRkFE
MzkxNDczM0Y0MDAwRTQyMzA2IC8qIEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTZFRThBNzczMTBGODAzRjMwMDVBNEEyNCAvKiBKU1dlYkdMQ29udGV4
dEF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMkNCRjRFMTQwRjFBQkQwMDM4NzlC
RSAvKiBKU1dlYkdMQ29udGV4dEV2ZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzUwNjFG
MzU4QkY3MDBDNzQ5NTAgLyogSlNXb3JrZXJUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RTNG
QUQzOTE0NzMzRjQwMTFFNDIzMDcgLyogSlNXZWJHTERlYnVnUmVuZGVyZXJJbmZvLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk2RTNGQUQzOTE0NzMzRjQwMjJFNDIzMDcgLyogSlNXZWJHTERlYnVnU2hh
ZGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkUzRkFEMzkxNDczM0Y0MDAwRTQyMzA3IC8qIEpT
V2ViR0xEZXB0aFRleHR1cmUuaCBpbiBIZWFkZXJzICovLApAQCAtMjg0NjgsNiArMjg1MzQsNyBA
QAogCQkJCUUxQzM2RDM1MEVCMEEwOTQwMDc0MTBCQyAvKiBKU1dvcmtlckdsb2JhbFNjb3BlQmFz
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFDMzYyRUYwRUFGMkFBOTAwNzQxMEJDIC8qIEpTV29y
a2VyTG9jYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMjcxQTU4MEVFRUNERTQwMEY2MTIx
MyAvKiBKU1dvcmtlck5hdmlnYXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTFGMTc1MDYxRjM1
OEJGNzAwQzc0OTUwIC8qIEpTV29ya2VyVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M0Qzk2
REQxQUQ0NDgzNTAwMzY1QTYwIC8qIEpTV3JpdGFibGVTdHJlYW0uaCBpbiBIZWFkZXJzICovLAog
CQkJCTgzNThDQjcwMUM1MzI3NzUwMEUwQzJEOCAvKiBKU1hNTERvY3VtZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzM0OEJENDBEQjdGODA0MDA0QUJBQjkgLyogSlNYTUxIdHRwUmVxdWVzdC5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yODY4OSw3ICsyODc1Niw2IEBACiAJCQkJNDEzRTAwNzkxREIw
RTRGMjAwMjM0MUQyIC8qIE1lbW9yeVJlbGVhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5
REZBMDk5RTY0OTIwMDU2RTU4MSAvKiBNZXJnZUlkZW50aWNhbEVsZW1lbnRzQ29tbWFuZC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTFBREVDQ0UwRTc2QUQ4QjAwNEExQTVFIC8qIE1lc3NhZ2VDaGFu
bmVsLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzUwMzFGMzU4QjNCMDBDNzQ5NTAgLyogSlNT
ZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTc1NzkzRTg0
MEQwQ0UwQjMwMDdGQzBBQyAvKiBNZXNzYWdlRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUx
QURFQ0JGMEU3NkFDRjEwMDRBMUE1RSAvKiBNZXNzYWdlUG9ydC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNDFCRjcwMEMwRkU4NkY0OTAwNUU4REVDIC8qIE1lc3NhZ2VQb3J0Q2hhbm5lbC5oIGluIEhl
YWRlcnMgKi8sCkBAIC0yOTM2OCw2ICsyOTQzNCw3IEBACiAJCQkJNTE4MkMyNDExRjMxM0EwOTAw
NTlCQTdDIC8qIFNlcnZpY2VXb3JrZXJDb250YWluZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
ODJDMjQzMUYzMTNBMDkwMDU5QkE3QyAvKiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxODJDMjQ1MUYzMTNBMDkwMDU5QkE3QyAvKiBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MUYxNzRGRjFGMzU4OTk3MDBDNzQ5
NTAgLyogU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3
NTZCMkNFMTE4QjcxMDE2MDBGRUNGQUEgLyogU2Vzc2lvbklELmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5MzMwOUUxMDA5OUU2NDkyMDA1NkU1ODEgLyogU2V0Tm9kZUF0dHJpYnV0ZUNvbW1hbmQuaCBp
biBIZWFkZXJzICovLAogCQkJCUI4REJEQjRDMTMwQjBGOEEwMEY1Q0RCMSAvKiBTZXRTZWxlY3Rp
b25Db21tYW5kLmggaW4gSGVhZGVycyAqLywKQEAgLTMwMTczLDYgKzMwMjQwLDcgQEAKIAkJCQkw
QjkwNTZGOTBGMjY4NUYzMDA5NUZGNkEgLyogV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTdBQUJEMkQxNEZBMDlENTAwNzQ1N0FFIC8qIFdvcmtlclRocmVhZGFi
bGVXZWJTb2NrZXRDaGFubmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTRBMEM2ODFEQjgwN0Q5
MDAxN0E5MEIgLyogV29ya2VyVG9QYWdlRnJvbnRlbmRDaGFubmVsLmggaW4gSGVhZGVycyAqLywK
KwkJCQk1MUYxNzRGRTFGMzU4OTkyMDBDNzQ5NTAgLyogV29ya2VyVHlwZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTMzMDlFMjQwOTlFNjQ5MjAwNTZFNTgxIC8qIFdyYXBDb250ZW50c0luRHVtbXlT
cGFuQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE2RTZGRTkxQkJEMTJFNTAwMEE2MDUz
IC8qIFdyaXRhYmxlU3RyZWFtQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxNkU2RkU4
MUJCRDEyREYwMDBBNjA1MyAvKiBXcml0YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggaW4g
SGVhZGVycyAqLywKQEAgLTMxNzY3LDE1ICszMTgzNSwxOSBAQAogCQkJCTc3RDUxMDFEMUVENzIy
QzMwMERBNEM4NyAvKiBKU0NyZWRlbnRpYWxzQ29udGFpbmVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTc3RDUxMDAzMUVENEY3MUIwMERBNEM4NyAvKiBKU0NyZWRlbnRpYWxVc2VyRGF0YS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk5NzVDQTJBMTEzMDM2NzlEMDBFOTlBRDkgLyogSlNDcnlwdG8u
Y3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJRTE1N0E4RjAxODE4NTQyNTAwOUY4MjFEIC8qIEpTQ3J5
cHRvQWxnb3JpdGhtQnVpbGRlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3QzlBQ0FCNzFGM0NG
MUFFMDBGM0FBMDkgLyogSlNDcnlwdG9BZXNLZXlBbGdvcml0aG0uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJRTFDNjU3MTIxODE1RjlERDAwMjU2Q0REIC8qIEpTQ3J5cHRvQWxnb3JpdGhtRGljdGlv
bmFyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1NzM5RTEzMTFEQUM3RkQxMDBFMTQzODMgLyog
SlNDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTdDOUFD
QUI5MUYzQ0YxQUUwMEYzQUEwOSAvKiBKU0NyeXB0b0VjS2V5QWxnb3JpdGhtLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTdDOUFDQUJCMUYzQ0YxQUUwMEYzQUEwOSAvKiBKU0NyeXB0b0htYWNLZXlB
bGdvcml0aG0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE1N0E4RTAxODE3MzMxQzAwOUY4MjFE
IC8qIEpTQ3J5cHRvS2V5LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUUxNTdBOEU4MTgxODRDNjcw
MDlGODIxRCAvKiBKU0NyeXB0b0tleUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3QzlB
Q0FCRDFGM0NGMUFFMDBGM0FBMDkgLyogSlNDcnlwdG9LZXlBbGdvcml0aG0uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJRTFGODBCOEQxODMxNzJCNTAwNzg4NUMzIC8qIEpTQ3J5cHRvS2V5UGFpci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTI1Rjg1MTE4MjgzQTU2MDBEODRDRDkgLyogSlNDcnlw
dG9LZXlTZXJpYWxpemF0aW9uSldLLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU3RDAwMThGMURE
NTQxNTMwMEVEMTlEOSAvKiBKU0NyeXB0b0tleVVzYWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUUxMjVGODNEMTgyNDExRTcwMEQ4NENEOSAvKiBKU0NyeXB0b09wZXJhdGlvbkRhdGEuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJN0M5QUNBQkYxRjNDRjFBRjAwRjNBQTA5IC8qIEpTQ3J5cHRvUnNh
SGFzaGVkS2V5QWxnb3JpdGhtLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTdDOUFDQUMxMUYzQ0Yx
QUYwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUtleUFsZ29yaXRobS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlCQzQ2QzFGQzBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NGb250RmFjZVJ1bGUuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQkM0NkMxRkUwQzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTSW1wb3J0
UnVsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMTZGRTA3MTBFNkNDQkVFMDBCRjYwODggLyog
SlNDU1NLZXlmcmFtZVJ1bGUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMjA0NCw3ICszMjExNiw2
IEBACiAJCQkJMTJBMjUzRTAxQzhGRkY2NjAwQzIyMjk1IC8qIEpTS2V5ZnJhbWVFZmZlY3QuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJOTM1RjQ1NDIwRjdDM0I1RjAwRDdDMUZCIC8qIEpTTGF6eUV2
ZW50TGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFMUM0M0IwRDk4MzBEMzAwM0Iw
MkYyIC8qIEpTTG9jYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTFGMTc1MDcxRjM1OEJG
OTAwQzc0OTUwIC8qIEpTV29ya2VyVHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0UxQzQ0
MDBEOTgzMEY0MDAzQjAyRjIgLyogSlNMb2NhdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk5M0E4MDYxRjFFMDNCNTg1MDA4QTFGMjYgLyogSlNMb25nUmFuZ2UuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJOEZBQzc3NEQxMTk4NzJDQjAwMTVBRTk0IC8qIEpTTWFpblRocmVhZEV4ZWNT
dGF0ZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMyMjAxLDYgKzMyMjcyLDcgQEAKIAkJCQk1MTgy
QzI1NzFGMzE0M0NEMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTUxODJDMjU5MUYzMTQzQ0QwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTgyQzI1QjFGMzE0M0NEMDA1
OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTUxRjE3NTAyMUYzNThCM0IwMEM3NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFD
YWNoZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5QkRBNjRENzFCOTc1Q0U1MDA5QzQzODcgLyog
SlNTaGFkb3dSb290LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ2REZGNDlCMURDMjYyMEIwMEI4
MEI0OCAvKiBKU1NoYWRvd1Jvb3RNb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNEOURFMTdB
MTdBQUM3NUIwMEVBMzg2RCAvKiBKU1NvdXJjZUJ1ZmZlci5jcHAgaW4gU291cmNlcyAqLywKQEAg
LTMyNDgzLDYgKzMyNTU1LDcgQEAKIAkJCQlFMTgyNThBQzBFRjNDRDcwMDA5MzMyNDIgLyogSlNX
b3JrZXJHbG9iYWxTY29wZUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUMzNjJGMDBF
QUYyQUE5MDA3NDEwQkMgLyogSlNXb3JrZXJMb2NhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlFMTI3MUE1OTBFRUVDREU0MDBGNjEyMTMgLyogSlNXb3JrZXJOYXZpZ2F0b3IuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNTFGMTc1MDcxRjM1OEJGOTAwQzc0OTUwIC8qIEpTV29ya2VyVHlwZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzRDOTZEQzFBRDQ0ODM1MDAzNjVBNjAgLyogSlNXcml0
YWJsZVN0cmVhbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4MzU4Q0I2RjFDNTMyNzcyMDBFMEMy
RDggLyogSlNYTUxEb2N1bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4M0E0QTlGOTFDRTdG
RDgxMDA3MDlCMDAgLyogSlNYTUxEb2N1bWVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKQEAg
LTMzNjgwLDcgKzMzNzUzLDYgQEAKIAkJCQk3QUY5QjIwMjE4Q0ZCMkRGMDBDNjRCRUYgLyogVlRU
UmVnaW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBRjlCMjA1MThDRkIyREYwMEM2NEJFRiAv
KiBWVFRSZWdpb25MaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBOTM4Njg1MThEQ0MxNDUw
MEI4MjYzRCAvKiBWVFRTY2FubmVyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxRjE3NTAyMUYz
NThCM0IwMEM3NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlBMTQ4MzJCMTE4N0Y2MUUxMDBEQTYzQTYgLyogV0FLQXBwS2l0U3R1YnMu
bSBpbiBTb3VyY2VzICovLAogCQkJCUExNDgzMkIzMTg3RjYyOTEwMERBNjNBNiAvKiBXQUtDbGlw
Vmlldy5tIGluIFNvdXJjZXMgKi8sCiAJCQkJQTE0ODMyQjUxODdGNjJGQzAwREE2M0E2IC8qIFdB
S1Jlc3BvbmRlci5tIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlci5jcHAJKHJldmlzaW9u
IDIyMDUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3J5cHRvQWxnb3JpdGht
QnVpbGRlci5jcHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw4MiArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlci5o
IgotCi0jaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8pCi0KLSNpbmNsdWRlIDxydW50aW1lL0pTQ0lu
bGluZXMuaD4KLSNpbmNsdWRlIDxydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmg+Ci0jaW5jbHVk
ZSA8cnVudGltZS9UeXBlZEFycmF5cy5oPgotI2luY2x1ZGUgPHJ1bnRpbWUvVHlwZWRBcnJheUlu
bGluZXMuaD4KLSNpbmNsdWRlIDxydW50aW1lL1ZNRW50cnlTY29wZS5oPgotCi11c2luZyBuYW1l
c3BhY2UgSlNDOwotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLUpTQ3J5cHRvQWxnb3JpdGhtQnVp
bGRlcjo6SlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyKEV4ZWNTdGF0ZSogZXhlYykKLSAgICA6IG1f
ZXhlYyhleGVjKQotICAgICwgbV9kaWN0aW9uYXJ5KGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMp
KQotewotfQotCi1KU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXI6On5KU0NyeXB0b0FsZ29yaXRobUJ1
aWxkZXIoKQotewotfQotCi12b2lkIEpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlcjo6YWRkKGNvbnN0
IGNoYXIqIGtleSwgdW5zaWduZWQgdmFsdWUpCi17Ci0gICAgVk0mIHZtID0gbV9leGVjLT52bSgp
OwotICAgIElkZW50aWZpZXIgaWRlbnRpZmllciA9IElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZt
LCBrZXkpOwotICAgIG1fZGljdGlvbmFyeS0+cHV0RGlyZWN0KHZtLCBpZGVudGlmaWVyLCBqc051
bWJlcih2YWx1ZSkpOwotfQotCi12b2lkIEpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlcjo6YWRkKGNv
bnN0IGNoYXIqIGtleSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKLXsKLSAgICBWTSYgdm0gPSBtX2V4
ZWMtPnZtKCk7Ci0gICAgSWRlbnRpZmllciBpZGVudGlmaWVyID0gSWRlbnRpZmllcjo6ZnJvbVN0
cmluZygmdm0sIGtleSk7Ci0gICAgbV9kaWN0aW9uYXJ5LT5wdXREaXJlY3Qodm0sIGlkZW50aWZp
ZXIsIGpzU3RyaW5nKG1fZXhlYywgdmFsdWUpKTsKLX0KLQotdm9pZCBKU0NyeXB0b0FsZ29yaXRo
bUJ1aWxkZXI6OmFkZChjb25zdCBjaGFyKiBrZXksIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgYnVm
ZmVyKQotewotICAgIFZNJiB2bSA9IG1fZXhlYy0+dm0oKTsKLSAgICBJZGVudGlmaWVyIGlkZW50
aWZpZXIgPSBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwga2V5KTsKLSAgICBSZWZQdHI8VWlu
dDhBcnJheT4gYXJyYXlWaWV3ID0gVWludDhBcnJheTo6Y3JlYXRlKGJ1ZmZlci5kYXRhKCksIGJ1
ZmZlci5zaXplKCkpOwotICAgIG1fZGljdGlvbmFyeS0+cHV0RGlyZWN0KHZtLCBpZGVudGlmaWVy
LCBhcnJheVZpZXctPndyYXAobV9leGVjLCB2bS5lbnRyeVNjb3BlLT5nbG9iYWxPYmplY3QoKSkp
OwotfQotCi12b2lkIEpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlcjo6YWRkKGNvbnN0IGNoYXIqIGtl
eSwgY29uc3QgSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyJiBuZXN0ZWRCdWlsZGVyKQotewotICAg
IFZNJiB2bSA9IG1fZXhlYy0+dm0oKTsKLSAgICBJZGVudGlmaWVyIGlkZW50aWZpZXIgPSBJZGVu
dGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwga2V5KTsKLSAgICBtX2RpY3Rpb25hcnktPnB1dERpcmVj
dCh2bSwgaWRlbnRpZmllciwgbmVzdGVkQnVpbGRlci5yZXN1bHQoKSk7Ci19Ci0KLX0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQpJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDcnlwdG9BbGdvcml0aG1C
dWlsZGVyLmgJKHJldmlzaW9uIDIyMDUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlci5oCShub25leGlzdGVudCkKQEAgLTEsNjIgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8p
Ci0KLSNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KLQotbmFtZXNwYWNlIEpTQyB7Ci1jbGFzcyBFeGVjU3RhdGU7Ci1jbGFzcyBKU09iamVjdDsK
LX0KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBKU0NyeXB0b0FsZ29yaXRobUJ1aWxk
ZXIgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlcik7
Ci1wdWJsaWM6Ci0gICAgSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyKEpTQzo6RXhlY1N0YXRlKik7
Ci0gICAgdmlydHVhbCB+SlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyKCk7Ci0KLSAgICBKU0M6OkpT
T2JqZWN0KiByZXN1bHQoKSBjb25zdCB7IHJldHVybiBtX2RpY3Rpb25hcnk7IH0KLQotICAgIHZv
aWQgYWRkKGNvbnN0IGNoYXIqLCB1bnNpZ25lZCk7Ci0gICAgdm9pZCBhZGQoY29uc3QgY2hhcios
IGNvbnN0IFN0cmluZyYpOwotICAgIHZvaWQgYWRkKGNvbnN0IGNoYXIqLCBjb25zdCBWZWN0b3I8
dWludDhfdD4mKTsKLSAgICB2b2lkIGFkZChjb25zdCBjaGFyKiwgY29uc3QgSlNDcnlwdG9BbGdv
cml0aG1CdWlsZGVyJik7Ci0KLXByaXZhdGU6Ci0gICAgSlNDOjpFeGVjU3RhdGUqIG1fZXhlYzsK
LSAgICBKU0M6OkpTT2JqZWN0KiBtX2RpY3Rpb25hcnk7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoU1VCVExFX0NSWVBUTykKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3J5cHRvS2V5Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NyeXB0b0tleUN1c3RvbS5jcHAJKHJldmlzaW9u
IDIyMDUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3J5cHRvS2V5Q3VzdG9t
LmNwcAkobm9uZXhpc3RlbnQpCkBAIC0xLDEwNCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1
ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkpTQ3J5cHRvS2V5LmgiCi0KLSNpZiBFTkFCTEUoU1VC
VExFX0NSWVBUTykKLQotI2luY2x1ZGUgIkNyeXB0b0tleUFFUy5oIgotI2luY2x1ZGUgIkNyeXB0
b0tleUVDLmgiCi0jaW5jbHVkZSAiQ3J5cHRvS2V5SE1BQy5oIgotI2luY2x1ZGUgIkNyeXB0b0tl
eVJTQS5oIgotI2luY2x1ZGUgIkNyeXB0b0tleVJhdy5oIgotI2luY2x1ZGUgIkpTQ3J5cHRvQWxn
b3JpdGhtQnVpbGRlci5oIgotI2luY2x1ZGUgPGhlYXAvSGVhcElubGluZXMuaD4KLSNpbmNsdWRl
IDxydW50aW1lL0pTQ0pTVmFsdWVJbmxpbmVzLmg+Ci0KLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0K
LW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotSlNWYWx1ZSBKU0NyeXB0b0tleTo6YWxnb3JpdGhtKEpT
Qzo6RXhlY1N0YXRlJiBzdGF0ZSkgY29uc3QKLXsKLSAgICBpZiAobV9hbGdvcml0aG0pCi0gICAg
ICAgIHJldHVybiBtX2FsZ29yaXRobS5nZXQoKTsKLQotICAgIEpTQ3J5cHRvQWxnb3JpdGhtQnVp
bGRlciBidWlsZGVyKCZzdGF0ZSk7Ci0KLSAgICBzdGQ6OnVuaXF1ZV9wdHI8S2V5QWxnb3JpdGht
PiBhbGdvcml0aG0gPSB3cmFwcGVkKCkuYnVpbGRBbGdvcml0aG0oKTsKLSAgICBzd2l0Y2ggKGFs
Z29yaXRobS0+a2V5QWxnb3JpdGhtQ2xhc3MoKSkgewotICAgIGNhc2UgS2V5QWxnb3JpdGhtQ2xh
c3M6OkFFUzogewotICAgICAgICBhdXRvJiBhZXNBbGdvcml0aG0gPSBkb3duY2FzdDxBZXNLZXlB
bGdvcml0aG0+KCphbGdvcml0aG0pOwotICAgICAgICBidWlsZGVyLmFkZCgibmFtZSIsIGFlc0Fs
Z29yaXRobS5uYW1lKCkpOwotICAgICAgICBidWlsZGVyLmFkZCgibGVuZ3RoIiwgYWVzQWxnb3Jp
dGhtLmxlbmd0aCgpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgS2V5QWxnb3Jp
dGhtQ2xhc3M6OkVDOiB7Ci0gICAgICAgIGF1dG8mIGVjQWxnb3JpdGhtID0gZG93bmNhc3Q8RWNL
ZXlBbGdvcml0aG0+KCphbGdvcml0aG0pOwotICAgICAgICBidWlsZGVyLmFkZCgibmFtZSIsIGVj
QWxnb3JpdGhtLm5hbWUoKSk7Ci0gICAgICAgIGJ1aWxkZXIuYWRkKCJuYW1lZEN1cnZlIiwgZWNB
bGdvcml0aG0ubmFtZWRDdXJ2ZSgpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2Ug
S2V5QWxnb3JpdGhtQ2xhc3M6OkhNQUM6IHsKLSAgICAgICAgYXV0byYgaG1hY0FsZ29yaXRobSA9
IGRvd25jYXN0PEhtYWNLZXlBbGdvcml0aG0+KCphbGdvcml0aG0pOwotICAgICAgICBidWlsZGVy
LmFkZCgibmFtZSIsIGhtYWNBbGdvcml0aG0ubmFtZSgpKTsKLSAgICAgICAgSlNDcnlwdG9BbGdv
cml0aG1CdWlsZGVyIGhtYWNIYXNoKCZzdGF0ZSk7Ci0gICAgICAgIGhtYWNIYXNoLmFkZCgibmFt
ZSIsIGhtYWNBbGdvcml0aG0uaGFzaCgpKTsKLSAgICAgICAgYnVpbGRlci5hZGQoImhhc2giLCBo
bWFjSGFzaCk7Ci0gICAgICAgIGJ1aWxkZXIuYWRkKCJsZW5ndGgiLCBobWFjQWxnb3JpdGhtLmxl
bmd0aCgpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgS2V5QWxnb3JpdGhtQ2xh
c3M6OkhSU0E6IHsKLSAgICAgICAgYXV0byYgcnNhQWxnb3JpdGhtID0gZG93bmNhc3Q8UnNhSGFz
aGVkS2V5QWxnb3JpdGhtPigqYWxnb3JpdGhtKTsKLSAgICAgICAgYnVpbGRlci5hZGQoIm5hbWUi
LCByc2FBbGdvcml0aG0ubmFtZSgpKTsKLSAgICAgICAgYnVpbGRlci5hZGQoIm1vZHVsdXNMZW5n
dGgiLCByc2FBbGdvcml0aG0ubW9kdWx1c0xlbmd0aCgpKTsKLSAgICAgICAgYnVpbGRlci5hZGQo
InB1YmxpY0V4cG9uZW50IiwgcnNhQWxnb3JpdGhtLnB1YmxpY0V4cG9uZW50KCkpOwotICAgICAg
ICBKU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIgcnNhSGFzaCgmc3RhdGUpOwotICAgICAgICByc2FI
YXNoLmFkZCgibmFtZSIsIHJzYUFsZ29yaXRobS5oYXNoKCkpOwotICAgICAgICBidWlsZGVyLmFk
ZCgiaGFzaCIsIHJzYUhhc2gpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgY2FzZSBLZXlB
bGdvcml0aG1DbGFzczo6UlNBOiB7Ci0gICAgICAgIGF1dG8mIHJzYUFsZ29yaXRobSA9IGRvd25j
YXN0PFJzYUtleUFsZ29yaXRobT4oKmFsZ29yaXRobSk7Ci0gICAgICAgIGJ1aWxkZXIuYWRkKCJu
YW1lIiwgcnNhQWxnb3JpdGhtLm5hbWUoKSk7Ci0gICAgICAgIGJ1aWxkZXIuYWRkKCJtb2R1bHVz
TGVuZ3RoIiwgcnNhQWxnb3JpdGhtLm1vZHVsdXNMZW5ndGgoKSk7Ci0gICAgICAgIGJ1aWxkZXIu
YWRkKCJwdWJsaWNFeHBvbmVudCIsIHJzYUFsZ29yaXRobS5wdWJsaWNFeHBvbmVudCgpKTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgS2V5QWxnb3JpdGhtQ2xhc3M6OlJhdzogewot
ICAgICAgICBhdXRvJiByYXdBbGdvcml0aG0gPSBkb3duY2FzdDxSYXdLZXlBbGdvcml0aG0+KCph
bGdvcml0aG0pOwotICAgICAgICBidWlsZGVyLmFkZCgibmFtZSIsIHJhd0FsZ29yaXRobS5uYW1l
KCkpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgfQotCi0gICAgbV9hbGdvcml0aG0uc2V0
KHN0YXRlLnZtKCksIHRoaXMsIGJ1aWxkZXIucmVzdWx0KCkpOwotICAgIHJldHVybiBtX2FsZ29y
aXRobS5nZXQoKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5B
QkxFKFNVQlRMRV9DUllQVE8pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5LmNwcAko
cmV2aXNpb24gMjIwNTI4KQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0tleS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDExIEBACiAjaWYgRU5BQkxFKFNVQlRMRV9DUllQ
VE8pCiAKICNpbmNsdWRlICJDcnlwdG9BbGdvcml0aG1SZWdpc3RyeS5oIgorI2luY2x1ZGUgIkNy
eXB0b0tleUFFUy5oIgorI2luY2x1ZGUgIkNyeXB0b0tleUVDLmgiCisjaW5jbHVkZSAiQ3J5cHRv
S2V5SE1BQy5oIgorI2luY2x1ZGUgIkNyeXB0b0tleVJTQS5oIgorI2luY2x1ZGUgIkNyeXB0b0tl
eVJhdy5oIgogI2luY2x1ZGUgPHd0Zi9DcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NSw2ICs1MCwyNSBAQCBDcnlwdG9LZXk6On5Dcnlw
dG9LZXkoKQogewogfQogCithdXRvIENyeXB0b0tleTo6YWxnb3JpdGhtKCkgY29uc3QgLT4gQWxn
b3JpdGhtVmFyaWFudAoreworICAgIHN0ZDo6dW5pcXVlX3B0cjxLZXlBbGdvcml0aG0+IGFsZ29y
aXRobSA9IGJ1aWxkQWxnb3JpdGhtKCk7CisgICAgc3dpdGNoIChhbGdvcml0aG0tPmtleUFsZ29y
aXRobUNsYXNzKCkpIHsKKyAgICBjYXNlIEtleUFsZ29yaXRobUNsYXNzOjpBRVM6CisgICAgICAg
IHJldHVybiBkb3duY2FzdDxBZXNLZXlBbGdvcml0aG0+KCphbGdvcml0aG0pLmRpY3Rpb25hcnko
KTsKKyAgICBjYXNlIEtleUFsZ29yaXRobUNsYXNzOjpFQzoKKyAgICAgICAgcmV0dXJuIGRvd25j
YXN0PEVjS2V5QWxnb3JpdGhtPigqYWxnb3JpdGhtKS5kaWN0aW9uYXJ5KCk7CisgICAgY2FzZSBL
ZXlBbGdvcml0aG1DbGFzczo6SE1BQzoKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0PEhtYWNLZXlB
bGdvcml0aG0+KCphbGdvcml0aG0pLmRpY3Rpb25hcnkoKTsKKyAgICBjYXNlIEtleUFsZ29yaXRo
bUNsYXNzOjpIUlNBOgorICAgICAgICByZXR1cm4gZG93bmNhc3Q8UnNhSGFzaGVkS2V5QWxnb3Jp
dGhtPigqYWxnb3JpdGhtKS5kaWN0aW9uYXJ5KCk7CisgICAgY2FzZSBLZXlBbGdvcml0aG1DbGFz
czo6UlNBOgorICAgICAgICByZXR1cm4gZG93bmNhc3Q8UnNhS2V5QWxnb3JpdGhtPigqYWxnb3Jp
dGhtKS5kaWN0aW9uYXJ5KCk7CisgICAgY2FzZSBLZXlBbGdvcml0aG1DbGFzczo6UmF3OgorICAg
ICAgICByZXR1cm4gZG93bmNhc3Q8UmF3S2V5QWxnb3JpdGhtPigqYWxnb3JpdGhtKS5kaWN0aW9u
YXJ5KCk7CisgICAgfQorfQorCiBhdXRvIENyeXB0b0tleTo6dXNhZ2VzKCkgY29uc3QgLT4gVmVj
dG9yPENyeXB0b0tleVVzYWdlPgogewogICAgIC8vIFRoZSByZXN1bHQgaXMgb3JkZXJlZCBhbHBo
YWJldGljYWxseS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9LZXkuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5LmgJKHJldmlzaW9uIDIy
MDUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9LZXkuaAkod29ya2luZyBjb3B5
KQpAQCAtMjcsMTIgKzI3LDE5IEBACiAKICNpZiBFTkFCTEUoU1VCVExFX0NSWVBUTykKIAorI2lu
Y2x1ZGUgIkNyeXB0b0Flc0tleUFsZ29yaXRobS5oIgogI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRo
bUlkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJDcnlwdG9FY0tleUFsZ29yaXRobS5oIgorI2luY2x1
ZGUgIkNyeXB0b0htYWNLZXlBbGdvcml0aG0uaCIKKyNpbmNsdWRlICJDcnlwdG9LZXlBbGdvcml0
aG0uaCIKICNpbmNsdWRlICJDcnlwdG9LZXlUeXBlLmgiCiAjaW5jbHVkZSAiQ3J5cHRvS2V5VXNh
Z2UuaCIKKyNpbmNsdWRlICJDcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0uaCIKKyNpbmNsdWRl
ICJDcnlwdG9Sc2FLZXlBbGdvcml0aG0uaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9UeXBlQ2Fz
dHMuaD4KKyNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtODEsMTggKzg4LDE5IEBAIHBy
aXZhdGU6CiBjbGFzcyBDcnlwdG9LZXkgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8Q3J5
cHRvS2V5PiB7CiBwdWJsaWM6CiAgICAgdXNpbmcgVHlwZSA9IENyeXB0b0tleVR5cGU7CisgICAg
dXNpbmcgQWxnb3JpdGhtVmFyaWFudCA9IFZhcmlhbnQ8Q3J5cHRvS2V5QWxnb3JpdGhtLCBDcnlw
dG9BZXNLZXlBbGdvcml0aG0sIENyeXB0b0VjS2V5QWxnb3JpdGhtLCBDcnlwdG9IbWFjS2V5QWxn
b3JpdGhtLCBDcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0sIENyeXB0b1JzYUtleUFsZ29yaXRo
bT47CisKICAgICBDcnlwdG9LZXkoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciwgVHlwZSwgYm9v
bCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXApOwogICAgIHZpcnR1YWwgfkNyeXB0
b0tleSgpOwogCi0gICAgdmlydHVhbCBDcnlwdG9LZXlDbGFzcyBrZXlDbGFzcygpIGNvbnN0ID0g
MDsKLQogICAgIFR5cGUgdHlwZSgpIGNvbnN0OwogICAgIGJvb2wgZXh0cmFjdGFibGUoKSBjb25z
dCB7IHJldHVybiBtX2V4dHJhY3RhYmxlOyB9Ci0gICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8
S2V5QWxnb3JpdGhtPiBidWlsZEFsZ29yaXRobSgpIGNvbnN0ID0gMDsKLQotICAgIC8vIE9ubHkg
Zm9yIGJpbmRpbmcgcHVycG9zZS4KKyAgICBBbGdvcml0aG1WYXJpYW50IGFsZ29yaXRobSgpIGNv
bnN0OwogICAgIFZlY3RvcjxDcnlwdG9LZXlVc2FnZT4gdXNhZ2VzKCkgY29uc3Q7CiAKKyAgICB2
aXJ0dWFsIENyeXB0b0tleUNsYXNzIGtleUNsYXNzKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwg
c3RkOjp1bmlxdWVfcHRyPEtleUFsZ29yaXRobT4gYnVpbGRBbGdvcml0aG0oKSBjb25zdCA9IDA7
CisKICAgICBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobUlkZW50aWZpZXIoKSBj
b25zdCB7IHJldHVybiBtX2FsZ29yaXRobUlkZW50aWZpZXI7IH0KICAgICBDcnlwdG9LZXlVc2Fn
ZUJpdG1hcCB1c2FnZXNCaXRtYXAoKSBjb25zdCB7IHJldHVybiBtX3VzYWdlczsgfQogICAgIHZv
aWQgc2V0VXNhZ2VzQml0bWFwKENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlKSB7IG1fdXNhZ2Vz
ID0gdXNhZ2U7IH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5LmlkbAkocmV2aXNp
b24gMjIwNTI4KQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0tleS5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTI5LDYgKzI5LDggQEAgZW51bSBLZXlUeXBlIHsKICAgICAic2VjcmV0Igog
fTsKIAordHlwZWRlZiAoQ3J5cHRvS2V5QWxnb3JpdGhtIG9yIENyeXB0b0Flc0tleUFsZ29yaXRo
bSBvciBDcnlwdG9FY0tleUFsZ29yaXRobSBvciBDcnlwdG9IbWFjS2V5QWxnb3JpdGhtIG9yIENy
eXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobSBvciBDcnlwdG9Sc2FLZXlBbGdvcml0aG0pIEtleUFs
Z29yaXRobTsKKwogWwogICAgIENvbmRpdGlvbmFsPVNVQlRMRV9DUllQVE8sCiAgICAgRXhwb3Nl
ZD0oV2luZG93LFdvcmtlciksCkBAIC0zNyw2ICszOSw2IEBAIGVudW0gS2V5VHlwZSB7CiBdIGlu
dGVyZmFjZSBDcnlwdG9LZXkgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBLZXlUeXBlIHR5cGU7
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gZXh0cmFjdGFibGU7Ci0gICAgW0NhY2hl
ZEF0dHJpYnV0ZSwgQ3VzdG9tR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1dGUgb2JqZWN0IGFsZ29y
aXRobTsKKyAgICBbQ2FjaGVkQXR0cmlidXRlXSByZWFkb25seSBhdHRyaWJ1dGUgS2V5QWxnb3Jp
dGhtIGFsZ29yaXRobTsKICAgICBbQ2FjaGVkQXR0cmlidXRlXSByZWFkb25seSBhdHRyaWJ1dGUg
c2VxdWVuY2U8Q3J5cHRvS2V5VXNhZ2U+IHVzYWdlczsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9jcnlwdG8va2V5cy9DcnlwdG9BZXNLZXlBbGdvcml0aG0uaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9BZXNLZXlBbGdvcml0aG0uaAkobm9uZXhpc3Rl
bnQpCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9BZXNLZXlBbGdvcml0aG0u
aAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlICJDcnlwdG9LZXlBbGdvcml0aG0uaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitzdHJ1Y3QgQ3J5cHRvQWVzS2V5QWxnb3JpdGhtIDogQ3J5cHRvS2V5QWxnb3JpdGht
IHsKKyAgICAvLyBUaGUgbGVuZ3RoLCBpbiBiaXRzLCBvZiB0aGUga2V5LgorICAgIHVuc2lnbmVk
IHNob3J0IGxlbmd0aDsKK307CisKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlz
L0NyeXB0b0Flc0tleUFsZ29yaXRobS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2tleXMvQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmlkbAkobm9uZXhpc3RlbnQpCisrKyBT
b3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9BZXNLZXlBbGdvcml0aG0uaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9u
YWw9U1VCVExFX0NSWVBUTywKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdAorXSBkaWN0aW9uYXJ5
IENyeXB0b0Flc0tleUFsZ29yaXRobSA6IENyeXB0b0tleUFsZ29yaXRobSB7CisgICAgLy8gVGhl
IGxlbmd0aCwgaW4gYml0cywgb2YgdGhlIGtleS4KKyAgICByZXF1aXJlZCB1bnNpZ25lZCBzaG9y
dCBsZW5ndGg7Cit9OwpJbmRleDogU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvRWNL
ZXlBbGdvcml0aG0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9D
cnlwdG9FY0tleUFsZ29yaXRobS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2Ny
eXB0by9rZXlzL0NyeXB0b0VjS2V5QWxnb3JpdGhtLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQ3J5cHRvS2V5
QWxnb3JpdGhtLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IENyeXB0b0VjS2V5
QWxnb3JpdGhtIDogQ3J5cHRvS2V5QWxnb3JpdGhtIHsKKyAgICAvLyBUaGUgbmFtZWQgY3VydmUg
dGhhdCB0aGUga2V5IHVzZXMKKyAgICBTdHJpbmcgbmFtZWRDdXJ2ZTsKK307CisKK30KKwpJbmRl
eDogU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvRWNLZXlBbGdvcml0aG0uaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0VjS2V5QWxnb3Jp
dGhtLmlkbAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9Dcnlw
dG9FY0tleUFsZ29yaXRobS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKK3R5cGVkZWYgRE9NU3RyaW5nIE5hbWVkQ3VydmU7CisKK1sKKyAgICBDb25kaXRp
b25hbD1TVUJUTEVfQ1JZUFRPLAorICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CitdIGRpY3Rpb25h
cnkgQ3J5cHRvRWNLZXlBbGdvcml0aG0gOiBDcnlwdG9LZXlBbGdvcml0aG0geworICAgIC8vIFRo
ZSBuYW1lZCBjdXJ2ZSB0aGF0IHRoZSBrZXkgdXNlcworICAgIHJlcXVpcmVkIE5hbWVkQ3VydmUg
bmFtZWRDdXJ2ZTsKK307CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9I
bWFjS2V5QWxnb3JpdGhtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5cHRvL2tl
eXMvQ3J5cHRvSG1hY0tleUFsZ29yaXRobS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJD
b3JlL2NyeXB0by9rZXlzL0NyeXB0b0htYWNLZXlBbGdvcml0aG0uaAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJD
cnlwdG9LZXlBbGdvcml0aG0uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgQ3J5
cHRvSG1hY0tleUFsZ29yaXRobSA6IENyeXB0b0tleUFsZ29yaXRobSB7CisgICAgLy8gVGhlIGlu
bmVyIGhhc2ggZnVuY3Rpb24gdG8gdXNlLgorICAgIENyeXB0b0tleUFsZ29yaXRobSBoYXNoOwor
ICAgIC8vIFRoZSBsZW5ndGggKGluIGJpdHMpIG9mIHRoZSBrZXkuCisgICAgdW5zaWduZWQgbGVu
Z3RoOworfTsKKworfQorCisKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0
b0htYWNLZXlBbGdvcml0aG0uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NyeXB0
by9rZXlzL0NyeXB0b0htYWNLZXlBbGdvcml0aG0uaWRsCShub25leGlzdGVudCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0htYWNLZXlBbGdvcml0aG0uaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9
U1VCVExFX0NSWVBUTywKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdAorXSBkaWN0aW9uYXJ5IENy
eXB0b0htYWNLZXlBbGdvcml0aG0gOiBDcnlwdG9LZXlBbGdvcml0aG0geworICAgIC8vIFRoZSBp
bm5lciBoYXNoIGZ1bmN0aW9uIHRvIHVzZS4KKyAgICByZXF1aXJlZCBDcnlwdG9LZXlBbGdvcml0
aG0gaGFzaDsKKyAgICAvLyBUaGUgbGVuZ3RoIChpbiBiaXRzKSBvZiB0aGUga2V5LgorICAgIHJl
cXVpcmVkIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOworfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Ny
eXB0by9rZXlzL0NyeXB0b0tleUFFUy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2tleXMvQ3J5cHRvS2V5QUVTLmNwcAkocmV2aXNpb24gMjIwNTI4KQorKysgU291cmNl
L1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5QUVTLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzgsNiArMzgsMTQgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitDcnlwdG9BZXNLZXlBbGdv
cml0aG0gQWVzS2V5QWxnb3JpdGhtOjpkaWN0aW9uYXJ5KCkgY29uc3QKK3sKKyAgICBDcnlwdG9B
ZXNLZXlBbGdvcml0aG0gcmVzdWx0OworICAgIHJlc3VsdC5uYW1lID0gdGhpcy0+bmFtZSgpOwor
ICAgIHJlc3VsdC5sZW5ndGggPSB0aGlzLT5sZW5ndGgoKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorCiBzdGF0aWMgaW5saW5lIGJvb2wgbGVuZ3RoSXNWYWxpZChzaXplX3QgbGVuZ3RoKQogewog
ICAgIHJldHVybiAobGVuZ3RoID09IENyeXB0b0tleUFFUzo6c19sZW5ndGgxMjgpIHx8IChsZW5n
dGggPT0gQ3J5cHRvS2V5QUVTOjpzX2xlbmd0aDE5MikgfHwgKGxlbmd0aCA9PSBDcnlwdG9LZXlB
RVM6OnNfbGVuZ3RoMjU2KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0
b0tleUFFUy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0
b0tleUFFUy5oCShyZXZpc2lvbiAyMjA1MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5
cy9DcnlwdG9LZXlBRVMuaAkod29ya2luZyBjb3B5KQpAQCAtNDksNiArNDksOCBAQCBwdWJsaWM6
CiAKICAgICBLZXlBbGdvcml0aG1DbGFzcyBrZXlBbGdvcml0aG1DbGFzcygpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIEtleUFsZ29yaXRobUNsYXNzOjpBRVM7IH0KIAorICAgIENyeXB0b0Flc0tleUFs
Z29yaXRobSBkaWN0aW9uYXJ5KCkgY29uc3Q7CisKICAgICBzaXplX3QgbGVuZ3RoKCkgY29uc3Qg
eyByZXR1cm4gbV9sZW5ndGg7IH0KIAogcHJpdmF0ZToKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Ny
eXB0by9rZXlzL0NyeXB0b0tleUFsZ29yaXRobS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUFsZ29yaXRobS5oCShub25leGlzdGVudCkKKysrIFNv
dXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUFsZ29yaXRobS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVj
dCBDcnlwdG9LZXlBbGdvcml0aG0geworICAgIFN0cmluZyBuYW1lOworfTsKKworfQpJbmRleDog
U291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5QWxnb3JpdGhtLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlBbGdvcml0aG0uaWRs
CShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUFs
Z29yaXRobS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
K1sKKyAgICBDb25kaXRpb25hbD1TVUJUTEVfQ1JZUFRPLAorICAgIEpTR2VuZXJhdGVUb0pTT2Jq
ZWN0CitdIGRpY3Rpb25hcnkgQ3J5cHRvS2V5QWxnb3JpdGhtIHsKKyAgICByZXF1aXJlZCBET01T
dHJpbmcgbmFtZTsKK307CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9L
ZXlFQy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRv
S2V5RUMuY3BwCShyZXZpc2lvbiAyMjA1MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5
cy9DcnlwdG9LZXlFQy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDE0IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAorQ3J5cHRvRWNLZXlBbGdvcml0aG0gRWNLZXlBbGdvcml0aG06
OmRpY3Rpb25hcnkoKSBjb25zdAoreworICAgIENyeXB0b0VjS2V5QWxnb3JpdGhtIHJlc3VsdDsK
KyAgICByZXN1bHQubmFtZSA9IHRoaXMtPm5hbWUoKTsKKyAgICByZXN1bHQubmFtZWRDdXJ2ZSA9
IHRoaXMtPm5hbWVkQ3VydmUoKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiBzdGF0aWMgY29u
c3QgY2hhciogY29uc3QgUDI1NiA9ICJQLTI1NiI7CiBzdGF0aWMgY29uc3QgY2hhciogY29uc3Qg
UDM4NCA9ICJQLTM4NCI7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0
b0tleUVDLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRv
S2V5RUMuaAkocmV2aXNpb24gMjIwNTI4KQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMv
Q3J5cHRvS2V5RUMuaAkod29ya2luZyBjb3B5KQpAQCAtNTksNiArNTksOCBAQCBwdWJsaWM6CiAK
ICAgICBjb25zdCBTdHJpbmcmIG5hbWVkQ3VydmUoKSBjb25zdCB7IHJldHVybiBtX2N1cnZlOyB9
CiAKKyAgICBDcnlwdG9FY0tleUFsZ29yaXRobSBkaWN0aW9uYXJ5KCkgY29uc3Q7CisKIHByaXZh
dGU6CiAgICAgU3RyaW5nIG1fY3VydmU7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvY3J5cHRv
L2tleXMvQ3J5cHRvS2V5SE1BQy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5
cHRvL2tleXMvQ3J5cHRvS2V5SE1BQy5jcHAJKHJldmlzaW9uIDIyMDUyOCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUhNQUMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
OCw2ICszOCwxNSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK0NyeXB0b0htYWNLZXlBbGdv
cml0aG0gSG1hY0tleUFsZ29yaXRobTo6ZGljdGlvbmFyeSgpIGNvbnN0Cit7CisgICAgQ3J5cHRv
SG1hY0tleUFsZ29yaXRobSByZXN1bHQ7CisgICAgcmVzdWx0Lm5hbWUgPSB0aGlzLT5uYW1lKCk7
CisgICAgcmVzdWx0Lmhhc2gubmFtZSA9IHRoaXMtPmhhc2goKTsKKyAgICByZXN1bHQubGVuZ3Ro
ID0gdGhpcy0+bGVuZ3RoKCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogc3RhdGljIHNpemVf
dCBnZXRLZXlMZW5ndGhGcm9tSGFzaChDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2gpCiB7
CiAgICAgc3dpdGNoIChoYXNoKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9D
cnlwdG9LZXlITUFDLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMv
Q3J5cHRvS2V5SE1BQy5oCShyZXZpc2lvbiAyMjA1MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlw
dG8va2V5cy9DcnlwdG9LZXlITUFDLmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDYgKzUyLDggQEAg
cHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgaGFzaCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzaDsg
fQogICAgIHNpemVfdCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQogCisgICAg
Q3J5cHRvSG1hY0tleUFsZ29yaXRobSBkaWN0aW9uYXJ5KCkgY29uc3Q7CisKIHByaXZhdGU6CiAg
ICAgU3RyaW5nIG1faGFzaDsKICAgICBzaXplX3QgbV9sZW5ndGg7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSU0EuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleVJTQS5jcHAJKHJldmlzaW9uIDIyMDUyOCkKKysr
IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleVJTQS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI4LDEyICsyOCwzMiBAQAogCiAjaW5jbHVkZSAiQ3J5cHRvS2V5RGF0YVJTQUNvbXBv
bmVudHMuaCIKICNpbmNsdWRlICJKc29uV2ViS2V5LmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvR2VuZXJpY1R5cGVkQXJyYXlWaWV3SW5saW5lcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0Jh
c2U2NC5oPgogCiAjaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8pCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAorQ3J5cHRvUnNhS2V5QWxnb3JpdGhtIFJzYUtleUFsZ29yaXRobTo6ZGljdGlvbmFyeSgp
IGNvbnN0Cit7CisgICAgQ3J5cHRvUnNhS2V5QWxnb3JpdGhtIHJlc3VsdDsKKyAgICByZXN1bHQu
bmFtZSA9IHRoaXMtPm5hbWUoKTsKKyAgICByZXN1bHQubW9kdWx1c0xlbmd0aCA9IHRoaXMtPm1v
ZHVsdXNMZW5ndGgoKTsKKyAgICByZXN1bHQucHVibGljRXhwb25lbnQgPSBVaW50OEFycmF5Ojpj
cmVhdGUodGhpcy0+cHVibGljRXhwb25lbnQoKS5kYXRhKCksIHRoaXMtPnB1YmxpY0V4cG9uZW50
KCkuc2l6ZSgpKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitDcnlwdG9Sc2FIYXNoZWRLZXlB
bGdvcml0aG0gUnNhSGFzaGVkS2V5QWxnb3JpdGhtOjpkaWN0aW9uYXJ5KCkgY29uc3QKK3sKKyAg
ICBDcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0gcmVzdWx0OworICAgIHJlc3VsdC5uYW1lID0g
dGhpcy0+bmFtZSgpOworICAgIHJlc3VsdC5tb2R1bHVzTGVuZ3RoID0gdGhpcy0+bW9kdWx1c0xl
bmd0aCgpOworICAgIHJlc3VsdC5wdWJsaWNFeHBvbmVudCA9IFVpbnQ4QXJyYXk6OmNyZWF0ZSh0
aGlzLT5wdWJsaWNFeHBvbmVudCgpLmRhdGEoKSwgdGhpcy0+cHVibGljRXhwb25lbnQoKS5zaXpl
KCkpOworICAgIHJlc3VsdC5oYXNoLm5hbWUgPSB0aGlzLT5oYXNoKCk7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KKwogUmVmUHRyPENyeXB0b0tleVJTQT4gQ3J5cHRvS2V5UlNBOjppbXBvcnRKd2so
Q3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG0sIHN0ZDo6b3B0aW9uYWw8Q3J5cHRv
QWxnb3JpdGhtSWRlbnRpZmllcj4gaGFzaCwgSnNvbldlYktleSYmIGtleURhdGEsIGJvb2wgZXh0
cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcykKIHsKICAgICBpZiAoa2V5RGF0
YS5rdHkgIT0gIlJTQSIpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9L
ZXlSU0EuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9L
ZXlSU0EuaAkocmV2aXNpb24gMjIwNTI4KQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMv
Q3J5cHRvS2V5UlNBLmgJKHdvcmtpbmcgY29weSkKQEAgLTY1LDYgKzY1LDggQEAgcHVibGljOgog
ICAgIHNpemVfdCBtb2R1bHVzTGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9tb2R1bHVzTGVuZ3Ro
OyB9CiAgICAgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBwdWJsaWNFeHBvbmVudCgpIGNvbnN0IHsg
cmV0dXJuIG1fcHVibGljRXhwb25lbnQ7IH0KIAorICAgIENyeXB0b1JzYUtleUFsZ29yaXRobSBk
aWN0aW9uYXJ5KCkgY29uc3Q7CisKIHByaXZhdGU6CiAgICAgc2l6ZV90IG1fbW9kdWx1c0xlbmd0
aDsKICAgICBWZWN0b3I8dWludDhfdD4gbV9wdWJsaWNFeHBvbmVudDsKQEAgLTgyLDYgKzg0LDgg
QEAgcHVibGljOgogCiAgICAgY29uc3QgU3RyaW5nJiBoYXNoKCkgY29uc3QgeyByZXR1cm4gbV9o
YXNoOyB9CiAKKyAgICBDcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0gZGljdGlvbmFyeSgpIGNv
bnN0OworCiBwcml2YXRlOgogICAgIFN0cmluZyBtX2hhc2g7CiB9OwpJbmRleDogU291cmNlL1dl
YkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5UmF3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSYXcuY3BwCShyZXZpc2lvbiAyMjA1MjgpCisr
KyBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSYXcuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zMyw2ICszMywxMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK0NyeXB0b0tl
eUFsZ29yaXRobSBSYXdLZXlBbGdvcml0aG06OmRpY3Rpb25hcnkoKSBjb25zdAoreworICAgIENy
eXB0b0tleUFsZ29yaXRobSByZXN1bHQ7CisgICAgcmVzdWx0Lm5hbWUgPSB0aGlzLT5uYW1lKCk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogQ3J5cHRvS2V5UmF3OjpDcnlwdG9LZXlSYXcoQ3J5
cHRvQWxnb3JpdGhtSWRlbnRpZmllciBpZGVudGlmaWVyLCBWZWN0b3I8dWludDhfdD4mJiBrZXlE
YXRhLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMpCiAgICAgOiBDcnlwdG9LZXkoaWRlbnRp
ZmllciwgQ3J5cHRvS2V5VHlwZTo6U2VjcmV0LCBmYWxzZSwgdXNhZ2VzKQogICAgICwgbV9rZXko
V1RGTW92ZShrZXlEYXRhKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0
b0tleVJhdy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0
b0tleVJhdy5oCShyZXZpc2lvbiAyMjA1MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5
cy9DcnlwdG9LZXlSYXcuaAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksOCBAQCBwdWJsaWM6
CiAgICAgfQogCiAgICAgS2V5QWxnb3JpdGhtQ2xhc3Mga2V5QWxnb3JpdGhtQ2xhc3MoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBLZXlBbGdvcml0aG1DbGFzczo6UmF3OyB9CisgICAgCisgICAg
Q3J5cHRvS2V5QWxnb3JpdGhtIGRpY3Rpb25hcnkoKSBjb25zdDsKIH07CiAKIGNsYXNzIENyeXB0
b0tleVJhdyBmaW5hbCA6IHB1YmxpYyBDcnlwdG9LZXkgewpJbmRleDogU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2tleXMvQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3JpdGhtLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3JpdGhtLmgJ
KG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvUnNhSGFz
aGVkS2V5QWxnb3JpdGhtLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IENyeXB0b1JzYUhhc2hlZEtleUFsZ29y
aXRobSA6IENyeXB0b1JzYUtleUFsZ29yaXRobSB7CisgICAgLy8gVGhlIGhhc2ggYWxnb3JpdGht
IHRoYXQgaXMgdXNlZCB3aXRoIHRoaXMga2V5CisgICAgQ3J5cHRvS2V5QWxnb3JpdGhtIGhhc2g7
Cit9OworCit9CisKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b1JzYUhh
c2hlZEtleUFsZ29yaXRobS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5cHRv
L2tleXMvQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3JpdGhtLmlkbAkobm9uZXhpc3RlbnQpCisrKyBT
b3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0uaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29u
ZGl0aW9uYWw9U1VCVExFX0NSWVBUTywKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdAorXSBkaWN0
aW9uYXJ5IENyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobSA6IENyeXB0b1JzYUtleUFsZ29yaXRo
bSB7CisgICAgLy8gVGhlIGhhc2ggYWxnb3JpdGhtIHRoYXQgaXMgdXNlZCB3aXRoIHRoaXMga2V5
CisgICAgcmVxdWlyZWQgQ3J5cHRvS2V5QWxnb3JpdGhtIGhhc2g7Cit9OwpJbmRleDogU291cmNl
L1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmgJKG5v
bmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvUnNhS2V5QWxn
b3JpdGhtLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaW5jbHVkZSAiQ3J5cHRvS2V5QWxnb3JpdGhtLmgiCisjaW5jbHVkZSA8
cnVudGltZS9VaW50OEFycmF5Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IENy
eXB0b1JzYUtleUFsZ29yaXRobSA6IENyeXB0b0tleUFsZ29yaXRobSB7CisgICAgLy8gVGhlIGxl
bmd0aCwgaW4gYml0cywgb2YgdGhlIFJTQSBtb2R1bHVzCisgICAgdW5zaWduZWQgbW9kdWx1c0xl
bmd0aDsKKyAgICAvLyBUaGUgUlNBIHB1YmxpYyBleHBvbmVudAorICAgIFJlZlB0cjxVaW50OEFy
cmF5PiBwdWJsaWNFeHBvbmVudDsKK307CisKK30KKwpJbmRleDogU291cmNlL1dlYkNvcmUvY3J5
cHRvL2tleXMvQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9Sc2FLZXlBbGdvcml0aG0uaWRsCShub25leGlzdGVu
dCkKKysrIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b1JzYUtleUFsZ29yaXRobS5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK3R5cGVkZWYg
VWludDhBcnJheSBCaWdJbnRlZ2VyOworCitbCisgICAgQ29uZGl0aW9uYWw9U1VCVExFX0NSWVBU
TywKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdAorXSBkaWN0aW9uYXJ5IENyeXB0b1JzYUtleUFs
Z29yaXRobSA6IENyeXB0b0tleUFsZ29yaXRobSB7CisgICAgLy8gVGhlIGxlbmd0aCwgaW4gYml0
cywgb2YgdGhlIFJTQSBtb2R1bHVzCisgICAgcmVxdWlyZWQgdW5zaWduZWQgbG9uZyBtb2R1bHVz
TGVuZ3RoOworICAgIC8vIFRoZSBSU0EgcHVibGljIGV4cG9uZW50CisgICAgcmVxdWlyZWQgQmln
SW50ZWdlciBwdWJsaWNFeHBvbmVudDsKK307Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317887</attachid>
            <date>2017-08-10 16:52:19 -0700</date>
            <delta_ts>2017-08-10 17:00:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175457-20170810165218.patch</filename>
            <type>text/plain</type>
            <size>77323</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyMDU1NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUwIEBACisyMDE3LTA4LTEwICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW1dlYklETF0gUmVwbGFjZSBKU0NyeXB0
b0tleUN1c3RvbSBhbmQgSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyIHdpdGggZ2VuZXJhdGVkIGNv
ZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTQ1
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMv
SlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0NyeXB0b0tleUN1c3RvbS5jcHA6IFJlbW92ZWQuCisKKyAgICAgICAgICAgIFJl
bW92ZSBKU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIgYW5kIEpTQ3J5cHRvS2V5Q3VzdG9tLCBhZGQg
S2V5QWxnb3JpdGhtCisgICAgICAgICAgICBJRExzIGFuZCBoZWFkZXJzLgorCisgICAgICAgICog
Y3J5cHRvL0NyeXB0b0tleS5jcHA6CisgICAgICAgICogY3J5cHRvL0NyeXB0b0tleS5oOgorICAg
ICAgICAqIGNyeXB0by9DcnlwdG9LZXkuaWRsOgorICAgICAgICAKKyAgICAgICAgICAgIFJlcGxh
Y2UgY3VzdG9tIGFsZ29yaXRobSBhdHRyaWJ1dGUgd2l0aCBhIHVuaW9uIG9mIHRoZSBzdXBwb3J0
ZWQga2V5IGFsZ29yaXRobXMuCisgICAgICAgIAorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0
b0Flc0tleUFsZ29yaXRobS5oOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9B
ZXNLZXlBbGdvcml0aG0uaWRsOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9F
Y0tleUFsZ29yaXRobS5oOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9FY0tl
eUFsZ29yaXRobS5pZGw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0b0htYWNL
ZXlBbGdvcml0aG0uaDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvSG1hY0tl
eUFsZ29yaXRobS5pZGw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0b0tleUFs
Z29yaXRobS5oOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9LZXlBbGdvcml0
aG0uaWRsOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9Sc2FIYXNoZWRLZXlB
bGdvcml0aG0uaDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvUnNhSGFzaGVk
S2V5QWxnb3JpdGhtLmlkbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvUnNh
S2V5QWxnb3JpdGhtLmg6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0b1JzYUtl
eUFsZ29yaXRobS5pZGw6IEFkZGVkLgorCisgICAgICAgICAgICBBZGQgSURMcyBhbmQgaGVhZGVy
cyBmbyB0aGUgc3VwcG9ydGVkIGtleSBhbGdvcml0aG1zLgorCisgICAgICAgICogY3J5cHRvL2tl
eXMvQ3J5cHRvS2V5QUVTLmg6CisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvS2V5RUMuaDoK
KyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmg6CisgICAgICAgICogY3J5cHRv
L2tleXMvQ3J5cHRvS2V5UlNBLmg6CisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvS2V5UmF3
Lmg6CisKKyAgICAgICAgICAgIEdpdmUgZWFjaCBvZiB0aGUgZXhpc3RpbmcgS2V5QWxnb3JpdGht
IHN1YmNsYXNzZXMgYSBkaWN0aW9uYXJ5KCkgZnVuY3Rpb24KKyAgICAgICAgICAgIHRoYXQgcmV0
dXJucyB0aGUgcG9wdWxhdGVkIGNvcnJlc3BvbmRpbmcgc3BlYydkIGRpY3Rpb25hcnkuCisKIDIw
MTctMDgtMTAgIE5hbiBXYW5nICA8bl93YW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogY3Jh
c2ggYXQgV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6c3VwcG9ydHNBUklBTGl2ZVJlZ2lv
bigpIGNvbnN0ICsgMjQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAyMjA1Mjgp
CisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzc4
LDYgKzM3OCwxMyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIGNyeXB0by9T
dWJ0bGVDcnlwdG8uaWRsCiAgICAgY3J5cHRvL1dlYktpdFN1YnRsZUNyeXB0by5pZGwKIAorICAg
IGNyeXB0by9rZXlzL0NyeXB0b0Flc0tleUFsZ29yaXRobS5pZGwKKyAgICBjcnlwdG8va2V5cy9D
cnlwdG9FY0tleUFsZ29yaXRobS5pZGwKKyAgICBjcnlwdG8va2V5cy9DcnlwdG9IbWFjS2V5QWxn
b3JpdGhtLmlkbAorICAgIGNyeXB0by9rZXlzL0NyeXB0b0tleUFsZ29yaXRobS5pZGwKKyAgICBj
cnlwdG8va2V5cy9DcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0uaWRsCisgICAgY3J5cHRvL2tl
eXMvQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmlkbAorCiAgICAgY3J5cHRvL3BhcmFtZXRlcnMvQWVz
Q2JjQ2ZiUGFyYW1zLmlkbAogICAgIGNyeXB0by9wYXJhbWV0ZXJzL0Flc0N0clBhcmFtcy5pZGwK
ICAgICBjcnlwdG8vcGFyYW1ldGVycy9BZXNHY21QYXJhbXMuaWRsCkBAIC0xMTgzLDkgKzExOTAs
NyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvanMvSlNEZXByZWNhdGVkQ1NT
T01WYWx1ZUN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5jcHAKICAg
ICBiaW5kaW5ncy9qcy9KU0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREN1c3RvbS5jcHAKLSAgICBi
aW5kaW5ncy9qcy9KU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIuY3BwCiAgICAgYmluZGluZ3MvanMv
SlNDcnlwdG9BbGdvcml0aG1EaWN0aW9uYXJ5LmNwcAotICAgIGJpbmRpbmdzL2pzL0pTQ3J5cHRv
S2V5Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTQ3J5cHRvS2V5U2VyaWFsaXphdGlvbkpX
Sy5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0NyeXB0b09wZXJhdGlvbkRhdGEuY3BwCiAgICAgYmlu
ZGluZ3MvanMvSlNDdXN0b21FbGVtZW50SW50ZXJmYWNlLmNwcApJbmRleDogU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiAyMjA1MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1Niw3IEBAIFZQQVRIID0g
XAogICAgICQoV2ViQ29yZSkvYW5pbWF0aW9uIFwKICAgICAkKFdlYkNvcmUpL2JpbmRpbmdzL2pz
IFwKICAgICAkKFdlYkNvcmUpL2NyeXB0byBcCisgICAgJChXZWJDb3JlKS9jcnlwdG8va2V5cyBc
CiAgICAgJChXZWJDb3JlKS9jcnlwdG8vcGFyYW1ldGVycyBcCiAgICAgJChXZWJDb3JlKS9jc3Mg
XAogICAgICQoV2ViQ29yZSkvZG9tIFwKQEAgLTMwNSw2ICszMDYsMTIgQEAgSlNfQklORElOR19J
RExTID0gXAogICAgICQoV2ViQ29yZSkvY3J5cHRvL1JzYU90aGVyUHJpbWVzSW5mby5pZGwgXAog
ICAgICQoV2ViQ29yZSkvY3J5cHRvL1N1YnRsZUNyeXB0by5pZGwgXAogICAgICQoV2ViQ29yZSkv
Y3J5cHRvL1dlYktpdFN1YnRsZUNyeXB0by5pZGwgXAorICAgICQoV2ViQ29yZSkvY3J5cHRvL2tl
eXMvQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmlkbCBcCisgICAgJChXZWJDb3JlKS9jcnlwdG8va2V5
cy9DcnlwdG9FY0tleUFsZ29yaXRobS5pZGwgXAorICAgICQoV2ViQ29yZSkvY3J5cHRvL2tleXMv
Q3J5cHRvSG1hY0tleUFsZ29yaXRobS5pZGwgXAorICAgICQoV2ViQ29yZSkvY3J5cHRvL2tleXMv
Q3J5cHRvS2V5QWxnb3JpdGhtLmlkbCBcCisgICAgJChXZWJDb3JlKS9jcnlwdG8va2V5cy9Dcnlw
dG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0uaWRsIFwKKyAgICAkKFdlYkNvcmUpL2NyeXB0by9rZXlz
L0NyeXB0b1JzYUtleUFsZ29yaXRobS5pZGwgXAogICAgICQoV2ViQ29yZSkvY3J5cHRvL3BhcmFt
ZXRlcnMvQWVzQ2JjQ2ZiUGFyYW1zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jcnlwdG8vcGFyYW1l
dGVycy9BZXNDdHJQYXJhbXMuaWRsIFwKICAgICAkKFdlYkNvcmUpL2NyeXB0by9wYXJhbWV0ZXJz
L0Flc0djbVBhcmFtcy5pZGwgXApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjIwNTI4KQorKysgU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBA
IC0zMjU0LDYgKzMyNTQsMjQgQEAKIAkJN0M5M0YzNEExQUE2QkE1RTAwQTk4QkFCIC8qIENvbXBp
bGVkQ29udGVudEV4dGVuc2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gN0M5M0YzNDgxQUE2QkE1RTAwQTk4QkFCIC8qIENvbXBpbGVkQ29udGVudEV4
dGVuc2lvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTdDOTNGMzREMUFBNkJGMDcwMEE5OEJBQiAvKiBDb250ZW50RXh0ZW5zaW9uQ29tcGlsZXIu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M5M0Yz
NEIxQUE2QkYwNzAwQTk4QkFCIC8qIENvbnRlbnRFeHRlbnNpb25Db21waWxlci5jcHAgKi87IH07
CiAJCTdDOTNGMzRFMUFBNkJGMDcwMEE5OEJBQiAvKiBDb250ZW50RXh0ZW5zaW9uQ29tcGlsZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDOTNGMzRD
MUFBNkJGMDcwMEE5OEJBQiAvKiBDb250ZW50RXh0ZW5zaW9uQ29tcGlsZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3QzlBQ0E5MjFGM0NDMEFB
MDBGM0FBMDkgLyogQ3J5cHRvS2V5QWxnb3JpdGhtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzlBQ0E4RjFGM0NDMEFBMDBGM0FBMDkgLyogQ3J5cHRv
S2V5QWxnb3JpdGhtLmggKi87IH07CisJCTdDOUFDQTk4MUYzQ0NEQUQwMEYzQUEwOSAvKiBDcnlw
dG9BZXNLZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdDOUFDQTk2MUYzQ0NEQUQwMEYzQUEwOSAvKiBDcnlwdG9BZXNLZXlBbGdvcml0
aG0uaCAqLzsgfTsKKwkJN0M5QUNBOUMxRjNDQ0RGMjAwRjNBQTA5IC8qIENyeXB0b0VjS2V5QWxn
b3JpdGhtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
QzlBQ0E5QTFGM0NDREYyMDBGM0FBMDkgLyogQ3J5cHRvRWNLZXlBbGdvcml0aG0uaCAqLzsgfTsK
KwkJN0M5QUNBQTAxRjNDQ0UzMDAwRjNBQTA5IC8qIENyeXB0b0htYWNLZXlBbGdvcml0aG0uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDOUFDQTlFMUYz
Q0NFMzAwMEYzQUEwOSAvKiBDcnlwdG9IbWFjS2V5QWxnb3JpdGhtLmggKi87IH07CisJCTdDOUFD
QUE0MUYzQ0NFNjkwMEYzQUEwOSAvKiBDcnlwdG9Sc2FLZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDOUFDQUEyMUYzQ0NFNjkwMEYz
QUEwOSAvKiBDcnlwdG9Sc2FLZXlBbGdvcml0aG0uaCAqLzsgfTsKKwkJN0M5QUNBQTgxRjNDQ0VC
NDAwRjNBQTA5IC8qIENyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M5QUNBQTYxRjNDQ0VCNDAwRjNBQTA5
IC8qIENyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5oICovOyB9OworCQk3QzlBQ0FCNzFGM0NG
MUFFMDBGM0FBMDkgLyogSlNDcnlwdG9BZXNLZXlBbGdvcml0aG0uY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M5QUNBQjYxRjNDREM0NzAwRjNBQTA5
IC8qIEpTQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmNwcCAqLzsgfTsKKwkJN0M5QUNBQjgxRjNDRjFB
RTAwRjNBQTA5IC8qIEpTQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzlBQ0FBQTFGM0NEQjYzMDBGM0FBMDkgLyog
SlNDcnlwdG9BZXNLZXlBbGdvcml0aG0uaCAqLzsgfTsKKwkJN0M5QUNBQjkxRjNDRjFBRTAwRjNB
QTA5IC8qIEpTQ3J5cHRvRWNLZXlBbGdvcml0aG0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M5QUNBQUQxRjNDREI5RTAwRjNBQTA5IC8qIEpTQ3J5
cHRvRWNLZXlBbGdvcml0aG0uY3BwICovOyB9OworCQk3QzlBQ0FCQTFGM0NGMUFFMDBGM0FBMDkg
LyogSlNDcnlwdG9FY0tleUFsZ29yaXRobS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0M5QUNBQUMxRjNDREI5RDAwRjNBQTA5IC8qIEpTQ3J5cHRvRWNL
ZXlBbGdvcml0aG0uaCAqLzsgfTsKKwkJN0M5QUNBQkIxRjNDRjFBRTAwRjNBQTA5IC8qIEpTQ3J5
cHRvSG1hY0tleUFsZ29yaXRobS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3QzlBQ0FBRTFGM0NEQjlGMDBGM0FBMDkgLyogSlNDcnlwdG9IbWFjS2V5
QWxnb3JpdGhtLmNwcCAqLzsgfTsKKwkJN0M5QUNBQkMxRjNDRjFBRTAwRjNBQTA5IC8qIEpTQ3J5
cHRvSG1hY0tleUFsZ29yaXRobS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gN0M5QUNBQUYxRjNDREI5RjAwRjNBQTA5IC8qIEpTQ3J5cHRvSG1hY0tleUFs
Z29yaXRobS5oICovOyB9OworCQk3QzlBQ0FCRDFGM0NGMUFFMDBGM0FBMDkgLyogSlNDcnlwdG9L
ZXlBbGdvcml0aG0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gN0M5QUNBQjAxRjNDREJBMDAwRjNBQTA5IC8qIEpTQ3J5cHRvS2V5QWxnb3JpdGhtLmNw
cCAqLzsgfTsKKwkJN0M5QUNBQkUxRjNDRjFBRjAwRjNBQTA5IC8qIEpTQ3J5cHRvS2V5QWxnb3Jp
dGhtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzlB
Q0FCMTFGM0NEQkExMDBGM0FBMDkgLyogSlNDcnlwdG9LZXlBbGdvcml0aG0uaCAqLzsgfTsKKwkJ
N0M5QUNBQkYxRjNDRjFBRjAwRjNBQTA5IC8qIEpTQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3JpdGht
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDOUFD
QUI0MUYzQ0RDMDEwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5jcHAg
Ki87IH07CisJCTdDOUFDQUMwMUYzQ0YxQUYwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUhhc2hlZEtl
eUFsZ29yaXRobS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0M5QUNBQjUxRjNDREMwMjAwRjNBQTA5IC8qIEpTQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3Jp
dGhtLmggKi87IH07CisJCTdDOUFDQUMxMUYzQ0YxQUYwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUtl
eUFsZ29yaXRobS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3QzlBQ0FCMjFGM0NEQzAwMDBGM0FBMDkgLyogSlNDcnlwdG9Sc2FLZXlBbGdvcml0aG0u
Y3BwICovOyB9OworCQk3QzlBQ0FDMjFGM0NGMUFGMDBGM0FBMDkgLyogSlNDcnlwdG9Sc2FLZXlB
bGdvcml0aG0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDdDOUFDQUIzMUYzQ0RDMDEwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUtleUFsZ29yaXRobS5oICov
OyB9OwogCQk3QzlEQkZFRDFBOUM0OUIxMDAwRDZCMjUgLyogSlNIVE1MQXR0YWNobWVudEVsZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M5
REJGRUIxQTlDNDlCMTAwMEQ2QjI1IC8qIEpTSFRNTEF0dGFjaG1lbnRFbGVtZW50LmNwcCAqLzsg
fTsKIAkJN0M5REJGRUUxQTlDNDlCMTAwMEQ2QjI1IC8qIEpTSFRNTEF0dGFjaG1lbnRFbGVtZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzlEQkZF
QzFBOUM0OUIxMDAwRDZCMjUgLyogSlNIVE1MQXR0YWNobWVudEVsZW1lbnQuaCAqLzsgfTsKIAkJ
N0NCNUNBM0YxRTUyNUM3MTAwRkFFRjEzIC8qIE1lZGlhUXVlcnlFeHByZXNzaW9uLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDQjVDQTNEMUU1MjVD
NkMwMEZBRUYxMyAvKiBNZWRpYVF1ZXJ5RXhwcmVzc2lvbi5jcHAgKi87IH07CkBAIC02NTIwLDkg
KzY1MzgsNiBAQAogCQlFMTU3QThFMTE4MTczMzFDMDA5RjgyMUQgLyogSlNDcnlwdG9LZXkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNTdBOERGMTgx
NzMzMUMwMDlGODIxRCAvKiBKU0NyeXB0b0tleS5oICovOyB9OwogCQlFMTU3QThFNDE4MTczQTNB
MDA5RjgyMUQgLyogQ3J5cHRvS2V5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUxNTdBOEUyMTgxNzNBM0EwMDlGODIxRCAvKiBDcnlwdG9LZXkuY3Bw
ICovOyB9OwogCQlFMTU3QThFNTE4MTczQTNBMDA5RjgyMUQgLyogQ3J5cHRvS2V5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTU3QThFMzE4MTczQTNB
MDA5RjgyMUQgLyogQ3J5cHRvS2V5LmggKi87IH07Ci0JCUUxNTdBOEU4MTgxODRDNjcwMDlGODIx
RCAvKiBKU0NyeXB0b0tleUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFMTU3QThFNjE4MTg0QzY3MDA5RjgyMUQgLyogSlNDcnlwdG9LZXlD
dXN0b20uY3BwICovOyB9OwotCQlFMTU3QThGMDE4MTg1NDI1MDA5RjgyMUQgLyogSlNDcnlwdG9B
bGdvcml0aG1CdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEUxNTdBOEVFMTgxODU0MjUwMDlGODIxRCAvKiBKU0NyeXB0b0FsZ29yaXRobUJ1
aWxkZXIuY3BwICovOyB9OwotCQlFMTU3QThGMTE4MTg1NDI1MDA5RjgyMUQgLyogSlNDcnlwdG9B
bGdvcml0aG1CdWlsZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMTU3QThFRjE4MTg1NDI1MDA5RjgyMUQgLyogSlNDcnlwdG9BbGdvcml0aG1CdWls
ZGVyLmggKi87IH07CiAJCUUxNUEzNkQ3MTEwNDU3MjAwMEI3QjYzOSAvKiBYTUxOU05hbWVzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTVBMzZENjEx
MDQ1NzIwMDBCN0I2MzkgLyogWE1MTlNOYW1lcy5oICovOyB9OwogCQlFMTVBMzZEOTExMDQ1NzI3
MDBCN0I2MzkgLyogWE1MTlNOYW1lcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFMTVBMzZEODExMDQ1NzI3MDBCN0I2MzkgLyogWE1MTlNOYW1lcy5j
cHAgKi87IH07CiAJCUUxNUZGN0Q1MThDOTU1MzgwMEZFNEM4NyAvKiBLZXlwcmVzc0NvbW1hbmQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNUZGN0Q0
MThDOTU1MzgwMEZFNEM4NyAvKiBLZXlwcmVzc0NvbW1hbmQuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTEzMjIsNiArMTEzMzcsMzAgQEAKIAkJ
N0M5M0YzNDgxQUE2QkE1RTAwQTk4QkFCIC8qIENvbXBpbGVkQ29udGVudEV4dGVuc2lvbi5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb21waWxlZENvbnRlbnRFeHRlbnNpb24u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M5M0YzNEIxQUE2QkYwNzAwQTk4QkFC
IC8qIENvbnRlbnRFeHRlbnNpb25Db21waWxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBDb250ZW50RXh0ZW5zaW9uQ29tcGlsZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3QzkzRjM0QzFBQTZCRjA3MDBBOThCQUIgLyogQ29udGVudEV4dGVu
c2lvbkNvbXBpbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRF
eHRlbnNpb25Db21waWxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0E4
RjFGM0NDMEFBMDBGM0FBMDkgLyogQ3J5cHRvS2V5QWxnb3JpdGhtLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IENyeXB0b0tleUFsZ29yaXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlB
Q0E5MTFGM0NDMEFBMDBGM0FBMDkgLyogQ3J5cHRvS2V5QWxnb3JpdGhtLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDcnlw
dG9LZXlBbGdvcml0aG0uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0E5
NjFGM0NDREFEMDBGM0FBMDkgLyogQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IENyeXB0b0Flc0tleUFsZ29yaXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk3QzlBQ0E5NzFGM0NDREFEMDBGM0FBMDkgLyogQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBDcnlwdG9BZXNLZXlBbGdvcml0aG0uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk3QzlBQ0E5QTFGM0NDREYyMDBGM0FBMDkgLyogQ3J5cHRvRWNLZXlBbGdvcml0aG0uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ3J5cHRvRWNLZXlBbGdvcml0aG0uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJN0M5QUNBOUIxRjNDQ0RGMjAwRjNBQTA5IC8qIENyeXB0b0VjS2V5QWxnb3Jp
dGhtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBDcnlwdG9FY0tleUFsZ29yaXRobS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTdDOUFDQTlFMUYzQ0NFMzAwMEYzQUEwOSAvKiBDcnlwdG9IbWFjS2V5QWxn
b3JpdGhtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENyeXB0b0htYWNLZXlBbGdvcml0aG0uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0M5QUNBOUYxRjNDQ0UzMDAwRjNBQTA5IC8qIENyeXB0
b0htYWNLZXlBbGdvcml0aG0uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENyeXB0b0htYWNLZXlBbGdvcml0aG0uaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FBMjFGM0NDRTY5MDBGM0FBMDkgLyog
Q3J5cHRvUnNhS2V5QWxnb3JpdGhtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENyeXB0b1JzYUtleUFsZ29y
aXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FBMzFGM0NDRTY5MDBG
M0FBMDkgLyogQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDcnlwdG9Sc2FLZXlBbGdv
cml0aG0uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FBNjFGM0NDRUI0
MDBGM0FBMDkgLyogQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3JpdGhtLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IENyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk3QzlBQ0FBNzFGM0NDRUI0MDBGM0FBMDkgLyogQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3Jp
dGhtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBDcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0uaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FBQTFGM0NEQjYzMDBGM0FBMDkgLyogSlNDcnlwdG9B
ZXNLZXlBbGdvcml0aG0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDcnlwdG9BZXNLZXlBbGdvcml0aG0u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0M5QUNBQUMxRjNDREI5RDAwRjNBQTA5
IC8qIEpTQ3J5cHRvRWNLZXlBbGdvcml0aG0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDcnlwdG9FY0tl
eUFsZ29yaXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FBRDFGM0NE
QjlFMDBGM0FBMDkgLyogSlNDcnlwdG9FY0tleUFsZ29yaXRobS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0NyeXB0b0VjS2V5QWxnb3JpdGhtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJN0M5QUNBQUUxRjNDREI5RjAwRjNBQTA5IC8qIEpTQ3J5cHRvSG1hY0tleUFsZ29yaXRo
bS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NyeXB0b0htYWNLZXlBbGdvcml0aG0uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FBRjFGM0NEQjlGMDBGM0FBMDkgLyog
SlNDcnlwdG9IbWFjS2V5QWxnb3JpdGhtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ3J5cHRvSG1hY0tl
eUFsZ29yaXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FCMDFGM0NE
QkEwMDBGM0FBMDkgLyogSlNDcnlwdG9LZXlBbGdvcml0aG0uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNDcnlwdG9LZXlBbGdvcml0aG0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk3QzlBQ0FCMTFGM0NEQkExMDBGM0FBMDkgLyogSlNDcnlwdG9LZXlBbGdvcml0aG0uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNDcnlwdG9LZXlBbGdvcml0aG0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJN0M5QUNBQjIxRjNDREMwMDAwRjNBQTA5IC8qIEpTQ3J5cHRvUnNhS2V5QWxnb3Jp
dGhtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0M5QUNBQjMxRjNDREMwMTAwRjNBQTA5IC8q
IEpTQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ3J5cHRvUnNhS2V5
QWxnb3JpdGhtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDOUFDQUI0MUYzQ0RD
MDEwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU0NyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTdDOUFDQUI1MUYzQ0RDMDIwMEYzQUEwOSAvKiBKU0NyeXB0b1Jz
YUhhc2hlZEtleUFsZ29yaXRobS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0NyeXB0b1JzYUhhc2hlZEtl
eUFsZ29yaXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FCNjFGM0NE
QzQ3MDBGM0FBMDkgLyogSlNDcnlwdG9BZXNLZXlBbGdvcml0aG0uY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNDcnlwdG9BZXNLZXlBbGdvcml0aG0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3QzlEQkZFQTFBOUM0ODlGMDAwRDZCMjUgLyogSFRNTEF0dGFjaG1lbnRFbGVtZW50
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBIVE1MQXR0YWNobWVudEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk3QzlEQkZFQjFBOUM0OUIxMDAwRDZCMjUgLyogSlNIVE1MQXR0YWNobWVudEVs
ZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNIVE1MQXR0
YWNobWVudEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzlEQkZF
QzFBOUM0OUIxMDAwRDZCMjUgLyogSlNIVE1MQXR0YWNobWVudEVsZW1lbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNIVE1MQXR0YWNobWVudEVsZW1lbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1MTAxLDkgKzE1MTQwLDYgQEAKIAkJRTE1N0E4REYx
ODE3MzMxQzAwOUY4MjFEIC8qIEpTQ3J5cHRvS2V5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTQ3J5cHRvS2V5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUx
NTdBOEUyMTgxNzNBM0EwMDlGODIxRCAvKiBDcnlwdG9LZXkuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQ3J5cHRvS2V5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTE1N0E4RTMxODE3M0EzQTAwOUY4MjFEIC8qIENyeXB0b0tleS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcnlwdG9LZXkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJRTE1N0E4RTYxODE4NEM2NzAwOUY4MjFEIC8qIEpTQ3J5cHRvS2V5Q3VzdG9t
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ3J5cHRvS2V5Q3Vz
dG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTE1N0E4RUUxODE4NTQyNTAw
OUY4MjFEIC8qIEpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQlFMTU3QThFRjE4MTg1NDI1MDA5RjgyMUQgLyogSlNDcnlw
dG9BbGdvcml0aG1CdWlsZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
Q3J5cHRvQWxnb3JpdGhtQnVpbGRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlF
MTVBMzZENjExMDQ1NzIwMDBCN0I2MzkgLyogWE1MTlNOYW1lcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBYTUxOU05hbWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUUxNUEzNkQ4MTEwNDU3MjcwMEI3QjYzOSAvKiBYTUxOU05hbWVzLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFhNTE5TTmFtZXMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFMTVGRjdENDE4Qzk1NTM4MDBGRTRDODcgLyogS2V5cHJlc3NDb21t
YW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEtleXByZXNzQ29tbWFuZC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTg1NzksMTIgKzE4NjE1LDEyIEBACiAJ
CQkJNTE4MkMyNTIxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlci5oICovLAogCQkJ
CTUxODJDMjUxMUYzMTQyNTAwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3Bw
ICovLAogCQkJCTUxODJDMjU0MUYzMTQyNTAwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXJDb250
YWluZXIuaCAqLywKLQkJCQk1MUYxNzUwMDFGMzU4QjM2MDBDNzQ5NTAgLyogSlNTZXJ2aWNlV29y
a2VyVXBkYXRlVmlhQ2FjaGUuY3BwICovLAotCQkJCTUxRjE3NTAxMUYzNThCMzYwMEM3NDk1MCAv
KiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5oICovLAogCQkJCTUxODJDMjRFMUYzMTQy
NTAwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5jcHAgKi8sCiAJCQkJNTE4
MkMyNEQxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmggKi8s
CiAJCQkJNTE4MkMyNEYxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbi5jcHAgKi8sCiAJCQkJNTE4MkMyNTAxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbi5oICovLAorCQkJCTUxRjE3NTAwMUYzNThCMzYwMEM3NDk1MCAvKiBK
U1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5jcHAgKi8sCisJCQkJNTFGMTc1MDExRjM1OEIz
NjAwQzc0OTUwIC8qIEpTU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggKi8sCiAJCQkpOwog
CQkJbmFtZSA9IFNlcnZpY2VXb3JrZXJzOwogCQkJcGF0aCA9IERlcml2ZWRTb3VyY2VzOwpAQCAt
MjM1MTgsOCArMjM1NTQsNiBAQAogCQkJCTE0MzJFODQ2MEM1MTQ5MzgwMEIxNTAwRiAvKiBHQ0Nv
bnRyb2xsZXIuaCAqLywKIAkJCQlDNTg1QTY2MDExRDRGQUM1MDA0QzNFNEIgLyogSURCQmluZGlu
Z1V0aWxpdGllcy5jcHAgKi8sCiAJCQkJQzU4NUE2NjExMUQ0RkFDNTAwNEMzRTRCIC8qIElEQkJp
bmRpbmdVdGlsaXRpZXMuaCAqLywKLQkJCQlFMTU3QThFRTE4MTg1NDI1MDA5RjgyMUQgLyogSlND
cnlwdG9BbGdvcml0aG1CdWlsZGVyLmNwcCAqLywKLQkJCQlFMTU3QThFRjE4MTg1NDI1MDA5Rjgy
MUQgLyogSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyLmggKi8sCiAJCQkJRTFDNjU3MTAxODE1RjlE
RDAwMjU2Q0REIC8qIEpTQ3J5cHRvQWxnb3JpdGhtRGljdGlvbmFyeS5jcHAgKi8sCiAJCQkJRTFD
NjU3MTExODE1RjlERDAwMjU2Q0REIC8qIEpTQ3J5cHRvQWxnb3JpdGhtRGljdGlvbmFyeS5oICov
LAogCQkJCUUxMjVGODRGMTgyODNBNTYwMEQ4NENEOSAvKiBKU0NyeXB0b0tleVNlcmlhbGl6YXRp
b25KV0suY3BwICovLApAQCAtMjM2MDgsNyArMjM2NDIsNiBAQAogCQkJY2hpbGRyZW4gPSAoCiAJ
CQkJN0NEMzQ0MUIxRjMyREUzMDAwMERDRDQ5IC8qIENhY2hlZCBBdHRyaWJ1dGVzIHcvIEludmFs
aWRhdGlvbiAqLywKIAkJCQk3QzNEOEVFNDFFMDhCQUJFMDAyM0IwODQgLyogR0MgLyBXcmFwcGlu
ZyBPbmx5ICovLAotCQkJCUUxNTdBOEU2MTgxODRDNjcwMDlGODIxRCAvKiBKU0NyeXB0b0tleUN1
c3RvbS5jcHAgKi8sCiAJCQkJOUJDNUY5REYxRDVBQUY2QTAwMkI3NDlEIC8qIEpTQ3VzdG9tRWxl
bWVudFJlZ2lzdHJ5Q3VzdG9tLmNwcCAqLywKIAkJCQlCQ0Q5QzI1RTBDMTdBQTY3MDA1QzkwQTIg
LyogSlNET01XaW5kb3dDdXN0b20uY3BwICovLAogCQkJCTY1MkZCQkJCMERFMjdDQjYwMDAxRDM4
NiAvKiBKU0RPTVdpbmRvd0N1c3RvbS5oICovLApAQCAtMjQ1NDUsOCArMjQ1NzgsMTYgQEAKIAkJ
RTE5REEyOUQxODE5OTVDRTAwMDg4QkM4IC8qIGtleXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91
cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTdDOUFDQTk2MUYzQ0NEQUQwMEYzQUEwOSAvKiBDcnlw
dG9BZXNLZXlBbGdvcml0aG0uaCAqLywKKwkJCQk3QzlBQ0E5NzFGM0NDREFEMDBGM0FBMDkgLyog
Q3J5cHRvQWVzS2V5QWxnb3JpdGhtLmlkbCAqLywKKwkJCQk3QzlBQ0E5QTFGM0NDREYyMDBGM0FB
MDkgLyogQ3J5cHRvRWNLZXlBbGdvcml0aG0uaCAqLywKKwkJCQk3QzlBQ0E5QjFGM0NDREYyMDBG
M0FBMDkgLyogQ3J5cHRvRWNLZXlBbGdvcml0aG0uaWRsICovLAorCQkJCTdDOUFDQTlFMUYzQ0NF
MzAwMEYzQUEwOSAvKiBDcnlwdG9IbWFjS2V5QWxnb3JpdGhtLmggKi8sCisJCQkJN0M5QUNBOUYx
RjNDQ0UzMDAwRjNBQTA5IC8qIENyeXB0b0htYWNLZXlBbGdvcml0aG0uaWRsICovLAogCQkJCUUx
MjVGODRCMTgyNDI4OUQwMEQ4NENEOSAvKiBDcnlwdG9LZXlBRVMuY3BwICovLAogCQkJCUUxMjVG
ODRDMTgyNDI4OUQwMEQ4NENEOSAvKiBDcnlwdG9LZXlBRVMuaCAqLywKKwkJCQk3QzlBQ0E4RjFG
M0NDMEFBMDBGM0FBMDkgLyogQ3J5cHRvS2V5QWxnb3JpdGhtLmggKi8sCisJCQkJN0M5QUNBOTEx
RjNDQzBBQTAwRjNBQTA5IC8qIENyeXB0b0tleUFsZ29yaXRobS5pZGwgKi8sCiAJCQkJRTEyNUY4
NjExODJDMzAzQTAwRDg0Q0Q5IC8qIENyeXB0b0tleURhdGFPY3RldFNlcXVlbmNlLmNwcCAqLywK
IAkJCQlFMTI1Rjg2MjE4MkMzMDNBMDBEODRDRDkgLyogQ3J5cHRvS2V5RGF0YU9jdGV0U2VxdWVu
Y2UuaCAqLywKIAkJCQlFMUMyNjZEQzE4MzE5RjMxMDAzRjhCMzMgLyogQ3J5cHRvS2V5RGF0YVJT
QUNvbXBvbmVudHMuY3BwICovLApAQCAtMjQ1NjEsNiArMjQ2MDIsMTAgQEAKIAkJCQlFMTY0RkFB
MjE4MzE1QkY0MDBEQjRFNjEgLyogQ3J5cHRvS2V5UlNBLmggKi8sCiAJCQkJRTEyNUY4NTcxODJD
MUFBNjAwRDg0Q0Q5IC8qIENyeXB0b0tleVNlcmlhbGl6YXRpb25SYXcuY3BwICovLAogCQkJCUUx
MjVGODU4MTgyQzFBQTYwMEQ4NENEOSAvKiBDcnlwdG9LZXlTZXJpYWxpemF0aW9uUmF3LmggKi8s
CisJCQkJN0M5QUNBQTYxRjNDQ0VCNDAwRjNBQTA5IC8qIENyeXB0b1JzYUhhc2hlZEtleUFsZ29y
aXRobS5oICovLAorCQkJCTdDOUFDQUE3MUYzQ0NFQjQwMEYzQUEwOSAvKiBDcnlwdG9Sc2FIYXNo
ZWRLZXlBbGdvcml0aG0uaWRsICovLAorCQkJCTdDOUFDQUEyMUYzQ0NFNjkwMEYzQUEwOSAvKiBD
cnlwdG9Sc2FLZXlBbGdvcml0aG0uaCAqLywKKwkJCQk3QzlBQ0FBMzFGM0NDRTY5MDBGM0FBMDkg
LyogQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmlkbCAqLywKIAkJCSk7CiAJCQlwYXRoID0ga2V5czsK
IAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0yNDc2OCwxNCArMjQ4MTMsMjYgQEAKIAkJ
CQk1N0I1RjgwQjFFNUQyMkRBMDBGMzRGOTAgLyogSlNBZXNHY21QYXJhbXMuaCAqLywKIAkJCQk1
NzY4MTQ0MjFFNzBDQjEwMDBFNzc3NTQgLyogSlNBZXNLZXlQYXJhbXMuY3BwICovLAogCQkJCTU3
NjgxNDQzMUU3MENCMTAwMEU3Nzc1NCAvKiBKU0Flc0tleVBhcmFtcy5oICovLAorCQkJCTdDOUFD
QUI2MUYzQ0RDNDcwMEYzQUEwOSAvKiBKU0NyeXB0b0Flc0tleUFsZ29yaXRobS5jcHAgKi8sCisJ
CQkJN0M5QUNBQUExRjNDREI2MzAwRjNBQTA5IC8qIEpTQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmgg
Ki8sCiAJCQkJNTczOUUxMzAxREFDN0ZEMTAwRTE0MzgzIC8qIEpTQ3J5cHRvQWxnb3JpdGhtUGFy
YW1ldGVycy5jcHAgKi8sCiAJCQkJNTczOUUxMkUxREFDN0Y3ODAwRTE0MzgzIC8qIEpTQ3J5cHRv
QWxnb3JpdGhtUGFyYW1ldGVycy5oICovLAorCQkJCTdDOUFDQUFEMUYzQ0RCOUUwMEYzQUEwOSAv
KiBKU0NyeXB0b0VjS2V5QWxnb3JpdGhtLmNwcCAqLywKKwkJCQk3QzlBQ0FBQzFGM0NEQjlEMDBG
M0FBMDkgLyogSlNDcnlwdG9FY0tleUFsZ29yaXRobS5oICovLAorCQkJCTdDOUFDQUFFMUYzQ0RC
OUYwMEYzQUEwOSAvKiBKU0NyeXB0b0htYWNLZXlBbGdvcml0aG0uY3BwICovLAorCQkJCTdDOUFD
QUFGMUYzQ0RCOUYwMEYzQUEwOSAvKiBKU0NyeXB0b0htYWNLZXlBbGdvcml0aG0uaCAqLywKIAkJ
CQlFMTU3QThERTE4MTczMzFDMDA5RjgyMUQgLyogSlNDcnlwdG9LZXkuY3BwICovLAogCQkJCUUx
NTdBOERGMTgxNzMzMUMwMDlGODIxRCAvKiBKU0NyeXB0b0tleS5oICovLAorCQkJCTdDOUFDQUIw
MUYzQ0RCQTAwMEYzQUEwOSAvKiBKU0NyeXB0b0tleUFsZ29yaXRobS5jcHAgKi8sCisJCQkJN0M5
QUNBQjExRjNDREJBMTAwRjNBQTA5IC8qIEpTQ3J5cHRvS2V5QWxnb3JpdGhtLmggKi8sCiAJCQkJ
RTFGODBCOEIxODMxNzJCNTAwNzg4NUMzIC8qIEpTQ3J5cHRvS2V5UGFpci5jcHAgKi8sCiAJCQkJ
RTFGODBCOEMxODMxNzJCNTAwNzg4NUMzIC8qIEpTQ3J5cHRvS2V5UGFpci5oICovLAogCQkJCTU3
RDAwMThFMURENTQxNTMwMEVEMTlEOSAvKiBKU0NyeXB0b0tleVVzYWdlLmNwcCAqLywKIAkJCQk1
N0QwMDE4QzFERDU0MTMyMDBFRDE5RDkgLyogSlNDcnlwdG9LZXlVc2FnZS5oICovLAorCQkJCTdD
OUFDQUI0MUYzQ0RDMDEwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5j
cHAgKi8sCisJCQkJN0M5QUNBQjUxRjNDREMwMjAwRjNBQTA5IC8qIEpTQ3J5cHRvUnNhSGFzaGVk
S2V5QWxnb3JpdGhtLmggKi8sCisJCQkJN0M5QUNBQjIxRjNDREMwMDAwRjNBQTA5IC8qIEpTQ3J5
cHRvUnNhS2V5QWxnb3JpdGhtLmNwcCAqLywKKwkJCQk3QzlBQ0FCMzFGM0NEQzAxMDBGM0FBMDkg
LyogSlNDcnlwdG9Sc2FLZXlBbGdvcml0aG0uaCAqLywKIAkJCQk1NzY4MTQzRDFFNzA5QzM2MDBF
Nzc3NTQgLyogSlNFY2RoS2V5RGVyaXZlUGFyYW1zLmNwcCAqLywKIAkJCQk1NzY4MTQzRTFFNzA5
QzM2MDBFNzc3NTQgLyogSlNFY2RoS2V5RGVyaXZlUGFyYW1zLmggKi8sCiAJCQkJNTdFRUFBNTIx
RUEwMDFCMTAwNzAxMTI0IC8qIEpTRWNkc2FQYXJhbXMuY3BwICovLApAQCAtMjY4MjIsNiArMjY4
NzksNyBAQAogCQkJCUUxQzQxNURBMEY2NTVENkYwMDkyRDJGQiAvKiBDcm9zc09yaWdpblByZWZs
aWdodFJlc3VsdENhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTY5ODAzRDExMzM1NDJEMDA4
OTQxMTUgLyogQ1J1bnRpbWVPYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3NUNBMjhCMTMw
MzY1RjgwMEU5OUFEOSAvKiBDcnlwdG8uaCBpbiBIZWFkZXJzICovLAorCQkJCTdDOUFDQTk4MUYz
Q0NEQUQwMEYzQUEwOSAvKiBDcnlwdG9BZXNLZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAog
CQkJCUUxNzJBRjZFMTgwRjI0QzYwMEZCQURCOSAvKiBDcnlwdG9BbGdvcml0aG0uaCBpbiBIZWFk
ZXJzICovLAogCQkJCUUxMjVGODQyMTgyNDI1M0EwMEQ4NENEOSAvKiBDcnlwdG9BbGdvcml0aG1B
RVNfQ0JDLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzEyNTI2OTFFNTI0RUIxMDA4RkYzNjkgLyog
Q3J5cHRvQWxnb3JpdGhtQUVTX0NGQi5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjg2OSw4ICsyNjky
NywxMSBAQAogCQkJCUUxOUFDM0YzMTgyNERDNzkwMDM0OTQyNiAvKiBDcnlwdG9BbGdvcml0aG1T
SEEzODQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxOUFDM0Y1MTgyNERDNzkwMDM0OTQyNiAvKiBD
cnlwdG9BbGdvcml0aG1TSEE1MTIuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3MjFBOTg3MUVDRTUz
QjEwMDgxMjk1QSAvKiBDcnlwdG9EaWdlc3RBbGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAorCQkJ
CTdDOUFDQTlDMUYzQ0NERjIwMEYzQUEwOSAvKiBDcnlwdG9FY0tleUFsZ29yaXRobS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJN0M5QUNBQTAxRjNDQ0UzMDAwRjNBQTA5IC8qIENyeXB0b0htYWNLZXlB
bGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNTdBOEU1MTgxNzNBM0EwMDlGODIxRCAv
KiBDcnlwdG9LZXkuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMjVGODRFMTgyNDI4OUQwMEQ4NENE
OSAvKiBDcnlwdG9LZXlBRVMuaCBpbiBIZWFkZXJzICovLAorCQkJCTdDOUFDQTkyMUYzQ0MwQUEw
MEYzQUEwOSAvKiBDcnlwdG9LZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMjVG
ODVFMTgyQzJERjYwMEQ4NENEOSAvKiBDcnlwdG9LZXlEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMTI1Rjg2NDE4MkMzMDNBMDBEODRDRDkgLyogQ3J5cHRvS2V5RGF0YU9jdGV0U2VxdWVuY2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCUUxQzI2NkRGMTgzMTlGMzEwMDNGOEIzMyAvKiBDcnlwdG9L
ZXlEYXRhUlNBQ29tcG9uZW50cy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjg4Myw2ICsyNjk0NCw4
IEBACiAJCQkJRTEyNUY4NUExODJDMUFBNjAwRDg0Q0Q5IC8qIENyeXB0b0tleVNlcmlhbGl6YXRp
b25SYXcuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxOTcyNzE2MTgyMDU0OUUwMDU5MkQ1MSAvKiBD
cnlwdG9LZXlUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTcyQUY3MDE4MEYyODk1MDBGQkFE
QjkgLyogQ3J5cHRvS2V5VXNhZ2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTdDOUFDQUE4MUYzQ0NF
QjQwMEYzQUEwOSAvKiBDcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJzICov
LAorCQkJCTdDOUFDQUE0MUYzQ0NFNjkwMEYzQUEwOSAvKiBDcnlwdG9Sc2FLZXlBbGdvcml0aG0u
aCBpbiBIZWFkZXJzICovLAogCQkJCTMxNkZFMTE0MEU2RTFEQTcwMEJGNjA4OCAvKiBDU1NBbmlt
YXRpb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjE1REE4QTBGM0FBRUU3MDAw
MENFNDcgLyogQ1NTQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTMxQkM3NDJFMUFBRkY0NUMwMDZCNDM0MCAvKiBDU1NBbmltYXRpb25UcmlnZ2VyU2Nyb2xs
VmFsdWUuaCBpbiBIZWFkZXJzICovLApAQCAtMjczNzUsNyArMjc0MzgsNiBAQAogCQkJCTMxNkJE
QkY3MUU3NjJBRDUwMERFMEQ1QSAvKiBHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkzMTZCREJGMDFFNzYyOTIwMDBERTBENUEgLyogR1BVRGVwdGhTdGVuY2ls
U3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxNkJEQjg2MUU2RTBBMjcwMERFMEQ1QSAvKiBH
UFVEZXZpY2UuaCBpbiBIZWFkZXJzICovLAotCQkJCTUxRjE3NEZFMUYzNTg5OTIwMEM3NDk1MCAv
KiBXb3JrZXJUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTZCREJDRDFFNzVGMTg0MDBERTBE
NUEgLyogR1BVRHJhd2FibGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxNkJEQkZCMUU3NjJEMDQw
MERFMEQ1QSAvKiBHUFVFbnVtcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE2QkRCOTUxRTcwQzg5
NzAwREUwRDVBIC8qIEdQVUZ1bmN0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTI3NDYzLDcgKzI3
NTI1LDYgQEAKIAkJCQlBODcxRDQ1QzBBMTI3Q0JDMDBCMTJBNjggLyogSFRNTEVtYmVkRWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc3QjM4NkExMjI4ODNFOTAwQjgxRkY4IC8qIEhUTUxF
bnRpdHlQYXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3N0IzODZDMTIyODgzRTkwMEI4MUZG
OCAvKiBIVE1MRW50aXR5U2VhcmNoLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzRGRjFGMzU4
OTk3MDBDNzQ5NTAgLyogU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggaW4gSGVhZGVycyAq
LywKIAkJCQk5NzdCMzg2RDEyMjg4M0U5MDBCODFGRjggLyogSFRNTEVudGl0eVRhYmxlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBODEzNjlENDA5NzM3NEY2MDBENzQ0NjMgLyogSFRNTEZpZWxkU2V0
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThDRkY3QTYwQTE1Njk3ODAwMEE0MjM0IC8q
IEhUTUxGb250RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzc5MiwxNCArMjc4NTMsMTkg
QEAKIAkJCQk3N0Q1MTAxQzFFRDcyMkJGMDBEQTRDODcgLyogSlNDcmVkZW50aWFsc0NvbnRhaW5l
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzdENTEwMDIxRUQ0RjcxODAwREE0Qzg3IC8qIEpTQ3Jl
ZGVudGlhbFVzZXJEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzVDQTJBMjEzMDM2NzlEMDBF
OTlBRDkgLyogSlNDcnlwdG8uaCBpbiBIZWFkZXJzICovLAotCQkJCUUxNTdBOEYxMTgxODU0MjUw
MDlGODIxRCAvKiBKU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTdDOUFDQUI4MUYzQ0YxQUUwMEYzQUEwOSAvKiBKU0NyeXB0b0Flc0tleUFsZ29yaXRobS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTFDNjU3MTMxODE1RjlERDAwMjU2Q0REIC8qIEpTQ3J5cHRvQWxn
b3JpdGhtRGljdGlvbmFyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTczOUUxMkYxREFDN0Y3ODAw
RTE0MzgzIC8qIEpTQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJN0M5QUNBQkExRjNDRjFBRTAwRjNBQTA5IC8qIEpTQ3J5cHRvRWNLZXlBbGdvcml0aG0uaCBp
biBIZWFkZXJzICovLAorCQkJCTdDOUFDQUJDMUYzQ0YxQUUwMEYzQUEwOSAvKiBKU0NyeXB0b0ht
YWNLZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNTdBOEUxMTgxNzMzMUMwMDlG
ODIxRCAvKiBKU0NyeXB0b0tleS5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0M5QUNBQkUxRjNDRjFB
RjAwRjNBQTA5IC8qIEpTQ3J5cHRvS2V5QWxnb3JpdGhtLmggaW4gSGVhZGVycyAqLywKIAkJCQlF
MUY4MEI4RTE4MzE3MkI1MDA3ODg1QzMgLyogSlNDcnlwdG9LZXlQYWlyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlFMTI1Rjg1MjE4MjgzQTU2MDBEODRDRDkgLyogSlNDcnlwdG9LZXlTZXJpYWxpemF0
aW9uSldLLmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0QwMDE4RDFERDU0MTMyMDBFRDE5RDkgLyog
SlNDcnlwdG9LZXlVc2FnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNUY4M0UxODI0MTFFNzAw
RDg0Q0Q5IC8qIEpTQ3J5cHRvT3BlcmF0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0M5
QUNBQzAxRjNDRjFBRjAwRjNBQTA5IC8qIEpTQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3JpdGhtLmgg
aW4gSGVhZGVycyAqLywKKwkJCQk3QzlBQ0FDMjFGM0NGMUFGMDBGM0FBMDkgLyogSlNDcnlwdG9S
c2FLZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNDZDMUZEMEMwRERDOEYwMDIw
Q0ZDMyAvKiBKU0NTU0ZvbnRGYWNlUnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM0NkMxRkYw
QzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTSW1wb3J0UnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MzE2RkUwNzIwRTZDQ0JFRTAwQkY2MDg4IC8qIEpTQ1NTS2V5ZnJhbWVSdWxlLmggaW4gSGVhZGVy
cyAqLywKQEAgLTI4MjExLDYgKzI4Mjc3LDcgQEAKIAkJCQk1MTgyQzI1ODFGMzE0M0NEMDA1OUJB
N0MgLyogSlNTZXJ2aWNlV29ya2VyQ29udGFpbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTgy
QzI1QTFGMzE0M0NEMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxODJDMjVDMUYzMTQzQ0QwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTUxRjE3NTAzMUYzNThCM0IwMEM3
NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOUJEQTY0RDgxQjk3NUNGMjAwOUM0Mzg3IC8qIEpTU2hhZG93Um9vdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDZERkY0OUMxREMyNjIwQjAwQjgwQjQ4IC8qIEpTU2hhZG93Um9vdE1vZGUuaCBp
biBIZWFkZXJzICovLAogCQkJCUNEOURFMTdCMTdBQUM3NUIwMEVBMzg2RCAvKiBKU1NvdXJjZUJ1
ZmZlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODQxMCw3ICsyODQ3Nyw2IEBACiAJCQkJNkUzRkFE
MzkxNDczM0Y0MDAwRTQyMzA2IC8qIEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTZFRThBNzczMTBGODAzRjMwMDVBNEEyNCAvKiBKU1dlYkdMQ29udGV4
dEF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMkNCRjRFMTQwRjFBQkQwMDM4NzlC
RSAvKiBKU1dlYkdMQ29udGV4dEV2ZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzUwNjFG
MzU4QkY3MDBDNzQ5NTAgLyogSlNXb3JrZXJUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RTNG
QUQzOTE0NzMzRjQwMTFFNDIzMDcgLyogSlNXZWJHTERlYnVnUmVuZGVyZXJJbmZvLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk2RTNGQUQzOTE0NzMzRjQwMjJFNDIzMDcgLyogSlNXZWJHTERlYnVnU2hh
ZGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkUzRkFEMzkxNDczM0Y0MDAwRTQyMzA3IC8qIEpT
V2ViR0xEZXB0aFRleHR1cmUuaCBpbiBIZWFkZXJzICovLApAQCAtMjg0NjgsNiArMjg1MzQsNyBA
QAogCQkJCUUxQzM2RDM1MEVCMEEwOTQwMDc0MTBCQyAvKiBKU1dvcmtlckdsb2JhbFNjb3BlQmFz
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFDMzYyRUYwRUFGMkFBOTAwNzQxMEJDIC8qIEpTV29y
a2VyTG9jYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMjcxQTU4MEVFRUNERTQwMEY2MTIx
MyAvKiBKU1dvcmtlck5hdmlnYXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTFGMTc1MDYxRjM1
OEJGNzAwQzc0OTUwIC8qIEpTV29ya2VyVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M0Qzk2
REQxQUQ0NDgzNTAwMzY1QTYwIC8qIEpTV3JpdGFibGVTdHJlYW0uaCBpbiBIZWFkZXJzICovLAog
CQkJCTgzNThDQjcwMUM1MzI3NzUwMEUwQzJEOCAvKiBKU1hNTERvY3VtZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzM0OEJENDBEQjdGODA0MDA0QUJBQjkgLyogSlNYTUxIdHRwUmVxdWVzdC5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yODY4OSw3ICsyODc1Niw2IEBACiAJCQkJNDEzRTAwNzkxREIw
RTRGMjAwMjM0MUQyIC8qIE1lbW9yeVJlbGVhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5
REZBMDk5RTY0OTIwMDU2RTU4MSAvKiBNZXJnZUlkZW50aWNhbEVsZW1lbnRzQ29tbWFuZC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTFBREVDQ0UwRTc2QUQ4QjAwNEExQTVFIC8qIE1lc3NhZ2VDaGFu
bmVsLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzUwMzFGMzU4QjNCMDBDNzQ5NTAgLyogSlNT
ZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTc1NzkzRTg0
MEQwQ0UwQjMwMDdGQzBBQyAvKiBNZXNzYWdlRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUx
QURFQ0JGMEU3NkFDRjEwMDRBMUE1RSAvKiBNZXNzYWdlUG9ydC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNDFCRjcwMEMwRkU4NkY0OTAwNUU4REVDIC8qIE1lc3NhZ2VQb3J0Q2hhbm5lbC5oIGluIEhl
YWRlcnMgKi8sCkBAIC0yOTM2OCw2ICsyOTQzNCw3IEBACiAJCQkJNTE4MkMyNDExRjMxM0EwOTAw
NTlCQTdDIC8qIFNlcnZpY2VXb3JrZXJDb250YWluZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
ODJDMjQzMUYzMTNBMDkwMDU5QkE3QyAvKiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxODJDMjQ1MUYzMTNBMDkwMDU5QkE3QyAvKiBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MUYxNzRGRjFGMzU4OTk3MDBDNzQ5
NTAgLyogU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3
NTZCMkNFMTE4QjcxMDE2MDBGRUNGQUEgLyogU2Vzc2lvbklELmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5MzMwOUUxMDA5OUU2NDkyMDA1NkU1ODEgLyogU2V0Tm9kZUF0dHJpYnV0ZUNvbW1hbmQuaCBp
biBIZWFkZXJzICovLAogCQkJCUI4REJEQjRDMTMwQjBGOEEwMEY1Q0RCMSAvKiBTZXRTZWxlY3Rp
b25Db21tYW5kLmggaW4gSGVhZGVycyAqLywKQEAgLTMwMTczLDYgKzMwMjQwLDcgQEAKIAkJCQkw
QjkwNTZGOTBGMjY4NUYzMDA5NUZGNkEgLyogV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTdBQUJEMkQxNEZBMDlENTAwNzQ1N0FFIC8qIFdvcmtlclRocmVhZGFi
bGVXZWJTb2NrZXRDaGFubmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTRBMEM2ODFEQjgwN0Q5
MDAxN0E5MEIgLyogV29ya2VyVG9QYWdlRnJvbnRlbmRDaGFubmVsLmggaW4gSGVhZGVycyAqLywK
KwkJCQk1MUYxNzRGRTFGMzU4OTkyMDBDNzQ5NTAgLyogV29ya2VyVHlwZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTMzMDlFMjQwOTlFNjQ5MjAwNTZFNTgxIC8qIFdyYXBDb250ZW50c0luRHVtbXlT
cGFuQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE2RTZGRTkxQkJEMTJFNTAwMEE2MDUz
IC8qIFdyaXRhYmxlU3RyZWFtQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxNkU2RkU4
MUJCRDEyREYwMDBBNjA1MyAvKiBXcml0YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggaW4g
SGVhZGVycyAqLywKQEAgLTMxNzY3LDE1ICszMTgzNSwxOSBAQAogCQkJCTc3RDUxMDFEMUVENzIy
QzMwMERBNEM4NyAvKiBKU0NyZWRlbnRpYWxzQ29udGFpbmVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTc3RDUxMDAzMUVENEY3MUIwMERBNEM4NyAvKiBKU0NyZWRlbnRpYWxVc2VyRGF0YS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk5NzVDQTJBMTEzMDM2NzlEMDBFOTlBRDkgLyogSlNDcnlwdG8u
Y3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJRTE1N0E4RjAxODE4NTQyNTAwOUY4MjFEIC8qIEpTQ3J5
cHRvQWxnb3JpdGhtQnVpbGRlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3QzlBQ0FCNzFGM0NG
MUFFMDBGM0FBMDkgLyogSlNDcnlwdG9BZXNLZXlBbGdvcml0aG0uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJRTFDNjU3MTIxODE1RjlERDAwMjU2Q0REIC8qIEpTQ3J5cHRvQWxnb3JpdGhtRGljdGlv
bmFyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1NzM5RTEzMTFEQUM3RkQxMDBFMTQzODMgLyog
SlNDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTdDOUFD
QUI5MUYzQ0YxQUUwMEYzQUEwOSAvKiBKU0NyeXB0b0VjS2V5QWxnb3JpdGhtLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTdDOUFDQUJCMUYzQ0YxQUUwMEYzQUEwOSAvKiBKU0NyeXB0b0htYWNLZXlB
bGdvcml0aG0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE1N0E4RTAxODE3MzMxQzAwOUY4MjFE
IC8qIEpTQ3J5cHRvS2V5LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUUxNTdBOEU4MTgxODRDNjcw
MDlGODIxRCAvKiBKU0NyeXB0b0tleUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3QzlB
Q0FCRDFGM0NGMUFFMDBGM0FBMDkgLyogSlNDcnlwdG9LZXlBbGdvcml0aG0uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJRTFGODBCOEQxODMxNzJCNTAwNzg4NUMzIC8qIEpTQ3J5cHRvS2V5UGFpci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTI1Rjg1MTE4MjgzQTU2MDBEODRDRDkgLyogSlNDcnlw
dG9LZXlTZXJpYWxpemF0aW9uSldLLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU3RDAwMThGMURE
NTQxNTMwMEVEMTlEOSAvKiBKU0NyeXB0b0tleVVzYWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUUxMjVGODNEMTgyNDExRTcwMEQ4NENEOSAvKiBKU0NyeXB0b09wZXJhdGlvbkRhdGEuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJN0M5QUNBQkYxRjNDRjFBRjAwRjNBQTA5IC8qIEpTQ3J5cHRvUnNh
SGFzaGVkS2V5QWxnb3JpdGhtLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTdDOUFDQUMxMUYzQ0Yx
QUYwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUtleUFsZ29yaXRobS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlCQzQ2QzFGQzBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NGb250RmFjZVJ1bGUuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQkM0NkMxRkUwQzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTSW1wb3J0
UnVsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMTZGRTA3MTBFNkNDQkVFMDBCRjYwODggLyog
SlNDU1NLZXlmcmFtZVJ1bGUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMjA0NCw3ICszMjExNiw2
IEBACiAJCQkJMTJBMjUzRTAxQzhGRkY2NjAwQzIyMjk1IC8qIEpTS2V5ZnJhbWVFZmZlY3QuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJOTM1RjQ1NDIwRjdDM0I1RjAwRDdDMUZCIC8qIEpTTGF6eUV2
ZW50TGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFMUM0M0IwRDk4MzBEMzAwM0Iw
MkYyIC8qIEpTTG9jYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTFGMTc1MDcxRjM1OEJG
OTAwQzc0OTUwIC8qIEpTV29ya2VyVHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0UxQzQ0
MDBEOTgzMEY0MDAzQjAyRjIgLyogSlNMb2NhdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk5M0E4MDYxRjFFMDNCNTg1MDA4QTFGMjYgLyogSlNMb25nUmFuZ2UuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJOEZBQzc3NEQxMTk4NzJDQjAwMTVBRTk0IC8qIEpTTWFpblRocmVhZEV4ZWNT
dGF0ZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMyMjAxLDYgKzMyMjcyLDcgQEAKIAkJCQk1MTgy
QzI1NzFGMzE0M0NEMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTUxODJDMjU5MUYzMTQzQ0QwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTgyQzI1QjFGMzE0M0NEMDA1
OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTUxRjE3NTAyMUYzNThCM0IwMEM3NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFD
YWNoZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5QkRBNjRENzFCOTc1Q0U1MDA5QzQzODcgLyog
SlNTaGFkb3dSb290LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ2REZGNDlCMURDMjYyMEIwMEI4
MEI0OCAvKiBKU1NoYWRvd1Jvb3RNb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNEOURFMTdB
MTdBQUM3NUIwMEVBMzg2RCAvKiBKU1NvdXJjZUJ1ZmZlci5jcHAgaW4gU291cmNlcyAqLywKQEAg
LTMyNDgzLDYgKzMyNTU1LDcgQEAKIAkJCQlFMTgyNThBQzBFRjNDRDcwMDA5MzMyNDIgLyogSlNX
b3JrZXJHbG9iYWxTY29wZUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUMzNjJGMDBF
QUYyQUE5MDA3NDEwQkMgLyogSlNXb3JrZXJMb2NhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlFMTI3MUE1OTBFRUVDREU0MDBGNjEyMTMgLyogSlNXb3JrZXJOYXZpZ2F0b3IuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNTFGMTc1MDcxRjM1OEJGOTAwQzc0OTUwIC8qIEpTV29ya2VyVHlwZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzRDOTZEQzFBRDQ0ODM1MDAzNjVBNjAgLyogSlNXcml0
YWJsZVN0cmVhbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4MzU4Q0I2RjFDNTMyNzcyMDBFMEMy
RDggLyogSlNYTUxEb2N1bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4M0E0QTlGOTFDRTdG
RDgxMDA3MDlCMDAgLyogSlNYTUxEb2N1bWVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKQEAg
LTMzNjgwLDcgKzMzNzUzLDYgQEAKIAkJCQk3QUY5QjIwMjE4Q0ZCMkRGMDBDNjRCRUYgLyogVlRU
UmVnaW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBRjlCMjA1MThDRkIyREYwMEM2NEJFRiAv
KiBWVFRSZWdpb25MaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBOTM4Njg1MThEQ0MxNDUw
MEI4MjYzRCAvKiBWVFRTY2FubmVyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxRjE3NTAyMUYz
NThCM0IwMEM3NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlBMTQ4MzJCMTE4N0Y2MUUxMDBEQTYzQTYgLyogV0FLQXBwS2l0U3R1YnMu
bSBpbiBTb3VyY2VzICovLAogCQkJCUExNDgzMkIzMTg3RjYyOTEwMERBNjNBNiAvKiBXQUtDbGlw
Vmlldy5tIGluIFNvdXJjZXMgKi8sCiAJCQkJQTE0ODMyQjUxODdGNjJGQzAwREE2M0E2IC8qIFdB
S1Jlc3BvbmRlci5tIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlci5jcHAJKHJldmlzaW9u
IDIyMDUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3J5cHRvQWxnb3JpdGht
QnVpbGRlci5jcHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw4MiArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlci5o
IgotCi0jaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8pCi0KLSNpbmNsdWRlIDxydW50aW1lL0pTQ0lu
bGluZXMuaD4KLSNpbmNsdWRlIDxydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmg+Ci0jaW5jbHVk
ZSA8cnVudGltZS9UeXBlZEFycmF5cy5oPgotI2luY2x1ZGUgPHJ1bnRpbWUvVHlwZWRBcnJheUlu
bGluZXMuaD4KLSNpbmNsdWRlIDxydW50aW1lL1ZNRW50cnlTY29wZS5oPgotCi11c2luZyBuYW1l
c3BhY2UgSlNDOwotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLUpTQ3J5cHRvQWxnb3JpdGhtQnVp
bGRlcjo6SlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyKEV4ZWNTdGF0ZSogZXhlYykKLSAgICA6IG1f
ZXhlYyhleGVjKQotICAgICwgbV9kaWN0aW9uYXJ5KGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMp
KQotewotfQotCi1KU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXI6On5KU0NyeXB0b0FsZ29yaXRobUJ1
aWxkZXIoKQotewotfQotCi12b2lkIEpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlcjo6YWRkKGNvbnN0
IGNoYXIqIGtleSwgdW5zaWduZWQgdmFsdWUpCi17Ci0gICAgVk0mIHZtID0gbV9leGVjLT52bSgp
OwotICAgIElkZW50aWZpZXIgaWRlbnRpZmllciA9IElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZt
LCBrZXkpOwotICAgIG1fZGljdGlvbmFyeS0+cHV0RGlyZWN0KHZtLCBpZGVudGlmaWVyLCBqc051
bWJlcih2YWx1ZSkpOwotfQotCi12b2lkIEpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlcjo6YWRkKGNv
bnN0IGNoYXIqIGtleSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKLXsKLSAgICBWTSYgdm0gPSBtX2V4
ZWMtPnZtKCk7Ci0gICAgSWRlbnRpZmllciBpZGVudGlmaWVyID0gSWRlbnRpZmllcjo6ZnJvbVN0
cmluZygmdm0sIGtleSk7Ci0gICAgbV9kaWN0aW9uYXJ5LT5wdXREaXJlY3Qodm0sIGlkZW50aWZp
ZXIsIGpzU3RyaW5nKG1fZXhlYywgdmFsdWUpKTsKLX0KLQotdm9pZCBKU0NyeXB0b0FsZ29yaXRo
bUJ1aWxkZXI6OmFkZChjb25zdCBjaGFyKiBrZXksIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgYnVm
ZmVyKQotewotICAgIFZNJiB2bSA9IG1fZXhlYy0+dm0oKTsKLSAgICBJZGVudGlmaWVyIGlkZW50
aWZpZXIgPSBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwga2V5KTsKLSAgICBSZWZQdHI8VWlu
dDhBcnJheT4gYXJyYXlWaWV3ID0gVWludDhBcnJheTo6Y3JlYXRlKGJ1ZmZlci5kYXRhKCksIGJ1
ZmZlci5zaXplKCkpOwotICAgIG1fZGljdGlvbmFyeS0+cHV0RGlyZWN0KHZtLCBpZGVudGlmaWVy
LCBhcnJheVZpZXctPndyYXAobV9leGVjLCB2bS5lbnRyeVNjb3BlLT5nbG9iYWxPYmplY3QoKSkp
OwotfQotCi12b2lkIEpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlcjo6YWRkKGNvbnN0IGNoYXIqIGtl
eSwgY29uc3QgSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyJiBuZXN0ZWRCdWlsZGVyKQotewotICAg
IFZNJiB2bSA9IG1fZXhlYy0+dm0oKTsKLSAgICBJZGVudGlmaWVyIGlkZW50aWZpZXIgPSBJZGVu
dGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwga2V5KTsKLSAgICBtX2RpY3Rpb25hcnktPnB1dERpcmVj
dCh2bSwgaWRlbnRpZmllciwgbmVzdGVkQnVpbGRlci5yZXN1bHQoKSk7Ci19Ci0KLX0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQpJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDcnlwdG9BbGdvcml0aG1C
dWlsZGVyLmgJKHJldmlzaW9uIDIyMDUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlci5oCShub25leGlzdGVudCkKQEAgLTEsNjIgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8p
Ci0KLSNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KLQotbmFtZXNwYWNlIEpTQyB7Ci1jbGFzcyBFeGVjU3RhdGU7Ci1jbGFzcyBKU09iamVjdDsK
LX0KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBKU0NyeXB0b0FsZ29yaXRobUJ1aWxk
ZXIgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlcik7
Ci1wdWJsaWM6Ci0gICAgSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyKEpTQzo6RXhlY1N0YXRlKik7
Ci0gICAgdmlydHVhbCB+SlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyKCk7Ci0KLSAgICBKU0M6OkpT
T2JqZWN0KiByZXN1bHQoKSBjb25zdCB7IHJldHVybiBtX2RpY3Rpb25hcnk7IH0KLQotICAgIHZv
aWQgYWRkKGNvbnN0IGNoYXIqLCB1bnNpZ25lZCk7Ci0gICAgdm9pZCBhZGQoY29uc3QgY2hhcios
IGNvbnN0IFN0cmluZyYpOwotICAgIHZvaWQgYWRkKGNvbnN0IGNoYXIqLCBjb25zdCBWZWN0b3I8
dWludDhfdD4mKTsKLSAgICB2b2lkIGFkZChjb25zdCBjaGFyKiwgY29uc3QgSlNDcnlwdG9BbGdv
cml0aG1CdWlsZGVyJik7Ci0KLXByaXZhdGU6Ci0gICAgSlNDOjpFeGVjU3RhdGUqIG1fZXhlYzsK
LSAgICBKU0M6OkpTT2JqZWN0KiBtX2RpY3Rpb25hcnk7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoU1VCVExFX0NSWVBUTykKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3J5cHRvS2V5Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NyeXB0b0tleUN1c3RvbS5jcHAJKHJldmlzaW9u
IDIyMDUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3J5cHRvS2V5Q3VzdG9t
LmNwcAkobm9uZXhpc3RlbnQpCkBAIC0xLDEwNCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1
ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkpTQ3J5cHRvS2V5LmgiCi0KLSNpZiBFTkFCTEUoU1VC
VExFX0NSWVBUTykKLQotI2luY2x1ZGUgIkNyeXB0b0tleUFFUy5oIgotI2luY2x1ZGUgIkNyeXB0
b0tleUVDLmgiCi0jaW5jbHVkZSAiQ3J5cHRvS2V5SE1BQy5oIgotI2luY2x1ZGUgIkNyeXB0b0tl
eVJTQS5oIgotI2luY2x1ZGUgIkNyeXB0b0tleVJhdy5oIgotI2luY2x1ZGUgIkpTQ3J5cHRvQWxn
b3JpdGhtQnVpbGRlci5oIgotI2luY2x1ZGUgPGhlYXAvSGVhcElubGluZXMuaD4KLSNpbmNsdWRl
IDxydW50aW1lL0pTQ0pTVmFsdWVJbmxpbmVzLmg+Ci0KLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0K
LW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotSlNWYWx1ZSBKU0NyeXB0b0tleTo6YWxnb3JpdGhtKEpT
Qzo6RXhlY1N0YXRlJiBzdGF0ZSkgY29uc3QKLXsKLSAgICBpZiAobV9hbGdvcml0aG0pCi0gICAg
ICAgIHJldHVybiBtX2FsZ29yaXRobS5nZXQoKTsKLQotICAgIEpTQ3J5cHRvQWxnb3JpdGhtQnVp
bGRlciBidWlsZGVyKCZzdGF0ZSk7Ci0KLSAgICBzdGQ6OnVuaXF1ZV9wdHI8S2V5QWxnb3JpdGht
PiBhbGdvcml0aG0gPSB3cmFwcGVkKCkuYnVpbGRBbGdvcml0aG0oKTsKLSAgICBzd2l0Y2ggKGFs
Z29yaXRobS0+a2V5QWxnb3JpdGhtQ2xhc3MoKSkgewotICAgIGNhc2UgS2V5QWxnb3JpdGhtQ2xh
c3M6OkFFUzogewotICAgICAgICBhdXRvJiBhZXNBbGdvcml0aG0gPSBkb3duY2FzdDxBZXNLZXlB
bGdvcml0aG0+KCphbGdvcml0aG0pOwotICAgICAgICBidWlsZGVyLmFkZCgibmFtZSIsIGFlc0Fs
Z29yaXRobS5uYW1lKCkpOwotICAgICAgICBidWlsZGVyLmFkZCgibGVuZ3RoIiwgYWVzQWxnb3Jp
dGhtLmxlbmd0aCgpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgS2V5QWxnb3Jp
dGhtQ2xhc3M6OkVDOiB7Ci0gICAgICAgIGF1dG8mIGVjQWxnb3JpdGhtID0gZG93bmNhc3Q8RWNL
ZXlBbGdvcml0aG0+KCphbGdvcml0aG0pOwotICAgICAgICBidWlsZGVyLmFkZCgibmFtZSIsIGVj
QWxnb3JpdGhtLm5hbWUoKSk7Ci0gICAgICAgIGJ1aWxkZXIuYWRkKCJuYW1lZEN1cnZlIiwgZWNB
bGdvcml0aG0ubmFtZWRDdXJ2ZSgpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2Ug
S2V5QWxnb3JpdGhtQ2xhc3M6OkhNQUM6IHsKLSAgICAgICAgYXV0byYgaG1hY0FsZ29yaXRobSA9
IGRvd25jYXN0PEhtYWNLZXlBbGdvcml0aG0+KCphbGdvcml0aG0pOwotICAgICAgICBidWlsZGVy
LmFkZCgibmFtZSIsIGhtYWNBbGdvcml0aG0ubmFtZSgpKTsKLSAgICAgICAgSlNDcnlwdG9BbGdv
cml0aG1CdWlsZGVyIGhtYWNIYXNoKCZzdGF0ZSk7Ci0gICAgICAgIGhtYWNIYXNoLmFkZCgibmFt
ZSIsIGhtYWNBbGdvcml0aG0uaGFzaCgpKTsKLSAgICAgICAgYnVpbGRlci5hZGQoImhhc2giLCBo
bWFjSGFzaCk7Ci0gICAgICAgIGJ1aWxkZXIuYWRkKCJsZW5ndGgiLCBobWFjQWxnb3JpdGhtLmxl
bmd0aCgpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgS2V5QWxnb3JpdGhtQ2xh
c3M6OkhSU0E6IHsKLSAgICAgICAgYXV0byYgcnNhQWxnb3JpdGhtID0gZG93bmNhc3Q8UnNhSGFz
aGVkS2V5QWxnb3JpdGhtPigqYWxnb3JpdGhtKTsKLSAgICAgICAgYnVpbGRlci5hZGQoIm5hbWUi
LCByc2FBbGdvcml0aG0ubmFtZSgpKTsKLSAgICAgICAgYnVpbGRlci5hZGQoIm1vZHVsdXNMZW5n
dGgiLCByc2FBbGdvcml0aG0ubW9kdWx1c0xlbmd0aCgpKTsKLSAgICAgICAgYnVpbGRlci5hZGQo
InB1YmxpY0V4cG9uZW50IiwgcnNhQWxnb3JpdGhtLnB1YmxpY0V4cG9uZW50KCkpOwotICAgICAg
ICBKU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIgcnNhSGFzaCgmc3RhdGUpOwotICAgICAgICByc2FI
YXNoLmFkZCgibmFtZSIsIHJzYUFsZ29yaXRobS5oYXNoKCkpOwotICAgICAgICBidWlsZGVyLmFk
ZCgiaGFzaCIsIHJzYUhhc2gpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgY2FzZSBLZXlB
bGdvcml0aG1DbGFzczo6UlNBOiB7Ci0gICAgICAgIGF1dG8mIHJzYUFsZ29yaXRobSA9IGRvd25j
YXN0PFJzYUtleUFsZ29yaXRobT4oKmFsZ29yaXRobSk7Ci0gICAgICAgIGJ1aWxkZXIuYWRkKCJu
YW1lIiwgcnNhQWxnb3JpdGhtLm5hbWUoKSk7Ci0gICAgICAgIGJ1aWxkZXIuYWRkKCJtb2R1bHVz
TGVuZ3RoIiwgcnNhQWxnb3JpdGhtLm1vZHVsdXNMZW5ndGgoKSk7Ci0gICAgICAgIGJ1aWxkZXIu
YWRkKCJwdWJsaWNFeHBvbmVudCIsIHJzYUFsZ29yaXRobS5wdWJsaWNFeHBvbmVudCgpKTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgS2V5QWxnb3JpdGhtQ2xhc3M6OlJhdzogewot
ICAgICAgICBhdXRvJiByYXdBbGdvcml0aG0gPSBkb3duY2FzdDxSYXdLZXlBbGdvcml0aG0+KCph
bGdvcml0aG0pOwotICAgICAgICBidWlsZGVyLmFkZCgibmFtZSIsIHJhd0FsZ29yaXRobS5uYW1l
KCkpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgfQotCi0gICAgbV9hbGdvcml0aG0uc2V0
KHN0YXRlLnZtKCksIHRoaXMsIGJ1aWxkZXIucmVzdWx0KCkpOwotICAgIHJldHVybiBtX2FsZ29y
aXRobS5nZXQoKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5B
QkxFKFNVQlRMRV9DUllQVE8pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5LmNwcAko
cmV2aXNpb24gMjIwNTI4KQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0tleS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDExIEBACiAjaWYgRU5BQkxFKFNVQlRMRV9DUllQ
VE8pCiAKICNpbmNsdWRlICJDcnlwdG9BbGdvcml0aG1SZWdpc3RyeS5oIgorI2luY2x1ZGUgIkNy
eXB0b0tleUFFUy5oIgorI2luY2x1ZGUgIkNyeXB0b0tleUVDLmgiCisjaW5jbHVkZSAiQ3J5cHRv
S2V5SE1BQy5oIgorI2luY2x1ZGUgIkNyeXB0b0tleVJTQS5oIgorI2luY2x1ZGUgIkNyeXB0b0tl
eVJhdy5oIgogI2luY2x1ZGUgPHd0Zi9DcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NSw2ICs1MCwyNSBAQCBDcnlwdG9LZXk6On5Dcnlw
dG9LZXkoKQogewogfQogCithdXRvIENyeXB0b0tleTo6YWxnb3JpdGhtKCkgY29uc3QgLT4gQWxn
b3JpdGhtVmFyaWFudAoreworICAgIHN0ZDo6dW5pcXVlX3B0cjxLZXlBbGdvcml0aG0+IGFsZ29y
aXRobSA9IGJ1aWxkQWxnb3JpdGhtKCk7CisgICAgc3dpdGNoIChhbGdvcml0aG0tPmtleUFsZ29y
aXRobUNsYXNzKCkpIHsKKyAgICBjYXNlIEtleUFsZ29yaXRobUNsYXNzOjpBRVM6CisgICAgICAg
IHJldHVybiBkb3duY2FzdDxBZXNLZXlBbGdvcml0aG0+KCphbGdvcml0aG0pLmRpY3Rpb25hcnko
KTsKKyAgICBjYXNlIEtleUFsZ29yaXRobUNsYXNzOjpFQzoKKyAgICAgICAgcmV0dXJuIGRvd25j
YXN0PEVjS2V5QWxnb3JpdGhtPigqYWxnb3JpdGhtKS5kaWN0aW9uYXJ5KCk7CisgICAgY2FzZSBL
ZXlBbGdvcml0aG1DbGFzczo6SE1BQzoKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0PEhtYWNLZXlB
bGdvcml0aG0+KCphbGdvcml0aG0pLmRpY3Rpb25hcnkoKTsKKyAgICBjYXNlIEtleUFsZ29yaXRo
bUNsYXNzOjpIUlNBOgorICAgICAgICByZXR1cm4gZG93bmNhc3Q8UnNhSGFzaGVkS2V5QWxnb3Jp
dGhtPigqYWxnb3JpdGhtKS5kaWN0aW9uYXJ5KCk7CisgICAgY2FzZSBLZXlBbGdvcml0aG1DbGFz
czo6UlNBOgorICAgICAgICByZXR1cm4gZG93bmNhc3Q8UnNhS2V5QWxnb3JpdGhtPigqYWxnb3Jp
dGhtKS5kaWN0aW9uYXJ5KCk7CisgICAgY2FzZSBLZXlBbGdvcml0aG1DbGFzczo6UmF3OgorICAg
ICAgICByZXR1cm4gZG93bmNhc3Q8UmF3S2V5QWxnb3JpdGhtPigqYWxnb3JpdGhtKS5kaWN0aW9u
YXJ5KCk7CisgICAgfQorfQorCiBhdXRvIENyeXB0b0tleTo6dXNhZ2VzKCkgY29uc3QgLT4gVmVj
dG9yPENyeXB0b0tleVVzYWdlPgogewogICAgIC8vIFRoZSByZXN1bHQgaXMgb3JkZXJlZCBhbHBo
YWJldGljYWxseS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9LZXkuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5LmgJKHJldmlzaW9uIDIy
MDUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9LZXkuaAkod29ya2luZyBjb3B5
KQpAQCAtMjcsMTIgKzI3LDE5IEBACiAKICNpZiBFTkFCTEUoU1VCVExFX0NSWVBUTykKIAorI2lu
Y2x1ZGUgIkNyeXB0b0Flc0tleUFsZ29yaXRobS5oIgogI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRo
bUlkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJDcnlwdG9FY0tleUFsZ29yaXRobS5oIgorI2luY2x1
ZGUgIkNyeXB0b0htYWNLZXlBbGdvcml0aG0uaCIKKyNpbmNsdWRlICJDcnlwdG9LZXlBbGdvcml0
aG0uaCIKICNpbmNsdWRlICJDcnlwdG9LZXlUeXBlLmgiCiAjaW5jbHVkZSAiQ3J5cHRvS2V5VXNh
Z2UuaCIKKyNpbmNsdWRlICJDcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0uaCIKKyNpbmNsdWRl
ICJDcnlwdG9Sc2FLZXlBbGdvcml0aG0uaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9UeXBlQ2Fz
dHMuaD4KKyNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtODEsMTggKzg4LDE5IEBAIHBy
aXZhdGU6CiBjbGFzcyBDcnlwdG9LZXkgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8Q3J5
cHRvS2V5PiB7CiBwdWJsaWM6CiAgICAgdXNpbmcgVHlwZSA9IENyeXB0b0tleVR5cGU7CisgICAg
dXNpbmcgQWxnb3JpdGhtVmFyaWFudCA9IFZhcmlhbnQ8Q3J5cHRvS2V5QWxnb3JpdGhtLCBDcnlw
dG9BZXNLZXlBbGdvcml0aG0sIENyeXB0b0VjS2V5QWxnb3JpdGhtLCBDcnlwdG9IbWFjS2V5QWxn
b3JpdGhtLCBDcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0sIENyeXB0b1JzYUtleUFsZ29yaXRo
bT47CisKICAgICBDcnlwdG9LZXkoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciwgVHlwZSwgYm9v
bCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXApOwogICAgIHZpcnR1YWwgfkNyeXB0
b0tleSgpOwogCi0gICAgdmlydHVhbCBDcnlwdG9LZXlDbGFzcyBrZXlDbGFzcygpIGNvbnN0ID0g
MDsKLQogICAgIFR5cGUgdHlwZSgpIGNvbnN0OwogICAgIGJvb2wgZXh0cmFjdGFibGUoKSBjb25z
dCB7IHJldHVybiBtX2V4dHJhY3RhYmxlOyB9Ci0gICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8
S2V5QWxnb3JpdGhtPiBidWlsZEFsZ29yaXRobSgpIGNvbnN0ID0gMDsKLQotICAgIC8vIE9ubHkg
Zm9yIGJpbmRpbmcgcHVycG9zZS4KKyAgICBBbGdvcml0aG1WYXJpYW50IGFsZ29yaXRobSgpIGNv
bnN0OwogICAgIFZlY3RvcjxDcnlwdG9LZXlVc2FnZT4gdXNhZ2VzKCkgY29uc3Q7CiAKKyAgICB2
aXJ0dWFsIENyeXB0b0tleUNsYXNzIGtleUNsYXNzKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwg
c3RkOjp1bmlxdWVfcHRyPEtleUFsZ29yaXRobT4gYnVpbGRBbGdvcml0aG0oKSBjb25zdCA9IDA7
CisKICAgICBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobUlkZW50aWZpZXIoKSBj
b25zdCB7IHJldHVybiBtX2FsZ29yaXRobUlkZW50aWZpZXI7IH0KICAgICBDcnlwdG9LZXlVc2Fn
ZUJpdG1hcCB1c2FnZXNCaXRtYXAoKSBjb25zdCB7IHJldHVybiBtX3VzYWdlczsgfQogICAgIHZv
aWQgc2V0VXNhZ2VzQml0bWFwKENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlKSB7IG1fdXNhZ2Vz
ID0gdXNhZ2U7IH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5LmlkbAkocmV2aXNp
b24gMjIwNTI4KQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0tleS5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTI5LDYgKzI5LDggQEAgZW51bSBLZXlUeXBlIHsKICAgICAic2VjcmV0Igog
fTsKIAordHlwZWRlZiAoQ3J5cHRvS2V5QWxnb3JpdGhtIG9yIENyeXB0b0Flc0tleUFsZ29yaXRo
bSBvciBDcnlwdG9FY0tleUFsZ29yaXRobSBvciBDcnlwdG9IbWFjS2V5QWxnb3JpdGhtIG9yIENy
eXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobSBvciBDcnlwdG9Sc2FLZXlBbGdvcml0aG0pIEtleUFs
Z29yaXRobTsKKwogWwogICAgIENvbmRpdGlvbmFsPVNVQlRMRV9DUllQVE8sCiAgICAgRXhwb3Nl
ZD0oV2luZG93LFdvcmtlciksCkBAIC0zNyw2ICszOSw2IEBAIGVudW0gS2V5VHlwZSB7CiBdIGlu
dGVyZmFjZSBDcnlwdG9LZXkgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBLZXlUeXBlIHR5cGU7
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gZXh0cmFjdGFibGU7Ci0gICAgW0NhY2hl
ZEF0dHJpYnV0ZSwgQ3VzdG9tR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1dGUgb2JqZWN0IGFsZ29y
aXRobTsKKyAgICBbQ2FjaGVkQXR0cmlidXRlXSByZWFkb25seSBhdHRyaWJ1dGUgS2V5QWxnb3Jp
dGhtIGFsZ29yaXRobTsKICAgICBbQ2FjaGVkQXR0cmlidXRlXSByZWFkb25seSBhdHRyaWJ1dGUg
c2VxdWVuY2U8Q3J5cHRvS2V5VXNhZ2U+IHVzYWdlczsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9jcnlwdG8va2V5cy9DcnlwdG9BZXNLZXlBbGdvcml0aG0uaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9BZXNLZXlBbGdvcml0aG0uaAkobm9uZXhpc3Rl
bnQpCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9BZXNLZXlBbGdvcml0aG0u
aAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlICJDcnlwdG9LZXlBbGdvcml0aG0uaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitzdHJ1Y3QgQ3J5cHRvQWVzS2V5QWxnb3JpdGhtIDogQ3J5cHRvS2V5QWxnb3JpdGht
IHsKKyAgICAvLyBUaGUgbGVuZ3RoLCBpbiBiaXRzLCBvZiB0aGUga2V5LgorICAgIHVuc2lnbmVk
IHNob3J0IGxlbmd0aDsKK307CisKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlz
L0NyeXB0b0Flc0tleUFsZ29yaXRobS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2tleXMvQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmlkbAkobm9uZXhpc3RlbnQpCisrKyBT
b3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9BZXNLZXlBbGdvcml0aG0uaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9u
YWw9U1VCVExFX0NSWVBUTywKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdAorXSBkaWN0aW9uYXJ5
IENyeXB0b0Flc0tleUFsZ29yaXRobSA6IENyeXB0b0tleUFsZ29yaXRobSB7CisgICAgLy8gVGhl
IGxlbmd0aCwgaW4gYml0cywgb2YgdGhlIGtleS4KKyAgICByZXF1aXJlZCB1bnNpZ25lZCBzaG9y
dCBsZW5ndGg7Cit9OwpJbmRleDogU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvRWNL
ZXlBbGdvcml0aG0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9D
cnlwdG9FY0tleUFsZ29yaXRobS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2Ny
eXB0by9rZXlzL0NyeXB0b0VjS2V5QWxnb3JpdGhtLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQ3J5cHRvS2V5
QWxnb3JpdGhtLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IENyeXB0b0VjS2V5
QWxnb3JpdGhtIDogQ3J5cHRvS2V5QWxnb3JpdGhtIHsKKyAgICAvLyBUaGUgbmFtZWQgY3VydmUg
dGhhdCB0aGUga2V5IHVzZXMKKyAgICBTdHJpbmcgbmFtZWRDdXJ2ZTsKK307CisKK30KKwpJbmRl
eDogU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvRWNLZXlBbGdvcml0aG0uaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0VjS2V5QWxnb3Jp
dGhtLmlkbAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9Dcnlw
dG9FY0tleUFsZ29yaXRobS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKK3R5cGVkZWYgRE9NU3RyaW5nIE5hbWVkQ3VydmU7CisKK1sKKyAgICBDb25kaXRp
b25hbD1TVUJUTEVfQ1JZUFRPLAorICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CitdIGRpY3Rpb25h
cnkgQ3J5cHRvRWNLZXlBbGdvcml0aG0gOiBDcnlwdG9LZXlBbGdvcml0aG0geworICAgIC8vIFRo
ZSBuYW1lZCBjdXJ2ZSB0aGF0IHRoZSBrZXkgdXNlcworICAgIHJlcXVpcmVkIE5hbWVkQ3VydmUg
bmFtZWRDdXJ2ZTsKK307CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9I
bWFjS2V5QWxnb3JpdGhtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5cHRvL2tl
eXMvQ3J5cHRvSG1hY0tleUFsZ29yaXRobS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJD
b3JlL2NyeXB0by9rZXlzL0NyeXB0b0htYWNLZXlBbGdvcml0aG0uaAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJD
cnlwdG9LZXlBbGdvcml0aG0uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgQ3J5
cHRvSG1hY0tleUFsZ29yaXRobSA6IENyeXB0b0tleUFsZ29yaXRobSB7CisgICAgLy8gVGhlIGlu
bmVyIGhhc2ggZnVuY3Rpb24gdG8gdXNlLgorICAgIENyeXB0b0tleUFsZ29yaXRobSBoYXNoOwor
ICAgIC8vIFRoZSBsZW5ndGggKGluIGJpdHMpIG9mIHRoZSBrZXkuCisgICAgdW5zaWduZWQgbGVu
Z3RoOworfTsKKworfQorCisKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0
b0htYWNLZXlBbGdvcml0aG0uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NyeXB0
by9rZXlzL0NyeXB0b0htYWNLZXlBbGdvcml0aG0uaWRsCShub25leGlzdGVudCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0htYWNLZXlBbGdvcml0aG0uaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9
U1VCVExFX0NSWVBUTywKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdAorXSBkaWN0aW9uYXJ5IENy
eXB0b0htYWNLZXlBbGdvcml0aG0gOiBDcnlwdG9LZXlBbGdvcml0aG0geworICAgIC8vIFRoZSBp
bm5lciBoYXNoIGZ1bmN0aW9uIHRvIHVzZS4KKyAgICByZXF1aXJlZCBDcnlwdG9LZXlBbGdvcml0
aG0gaGFzaDsKKyAgICAvLyBUaGUgbGVuZ3RoIChpbiBiaXRzKSBvZiB0aGUga2V5LgorICAgIHJl
cXVpcmVkIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOworfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Ny
eXB0by9rZXlzL0NyeXB0b0tleUFFUy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2tleXMvQ3J5cHRvS2V5QUVTLmNwcAkocmV2aXNpb24gMjIwNTI4KQorKysgU291cmNl
L1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5QUVTLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzgsNiArMzgsMTQgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitDcnlwdG9BZXNLZXlBbGdv
cml0aG0gQWVzS2V5QWxnb3JpdGhtOjpkaWN0aW9uYXJ5KCkgY29uc3QKK3sKKyAgICBDcnlwdG9B
ZXNLZXlBbGdvcml0aG0gcmVzdWx0OworICAgIHJlc3VsdC5uYW1lID0gdGhpcy0+bmFtZSgpOwor
ICAgIHJlc3VsdC5sZW5ndGggPSB0aGlzLT5sZW5ndGgoKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorCiBzdGF0aWMgaW5saW5lIGJvb2wgbGVuZ3RoSXNWYWxpZChzaXplX3QgbGVuZ3RoKQogewog
ICAgIHJldHVybiAobGVuZ3RoID09IENyeXB0b0tleUFFUzo6c19sZW5ndGgxMjgpIHx8IChsZW5n
dGggPT0gQ3J5cHRvS2V5QUVTOjpzX2xlbmd0aDE5MikgfHwgKGxlbmd0aCA9PSBDcnlwdG9LZXlB
RVM6OnNfbGVuZ3RoMjU2KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0
b0tleUFFUy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0
b0tleUFFUy5oCShyZXZpc2lvbiAyMjA1MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5
cy9DcnlwdG9LZXlBRVMuaAkod29ya2luZyBjb3B5KQpAQCAtNDksNiArNDksOCBAQCBwdWJsaWM6
CiAKICAgICBLZXlBbGdvcml0aG1DbGFzcyBrZXlBbGdvcml0aG1DbGFzcygpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIEtleUFsZ29yaXRobUNsYXNzOjpBRVM7IH0KIAorICAgIENyeXB0b0Flc0tleUFs
Z29yaXRobSBkaWN0aW9uYXJ5KCkgY29uc3Q7CisKICAgICBzaXplX3QgbGVuZ3RoKCkgY29uc3Qg
eyByZXR1cm4gbV9sZW5ndGg7IH0KIAogcHJpdmF0ZToKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Ny
eXB0by9rZXlzL0NyeXB0b0tleUFsZ29yaXRobS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUFsZ29yaXRobS5oCShub25leGlzdGVudCkKKysrIFNv
dXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUFsZ29yaXRobS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVj
dCBDcnlwdG9LZXlBbGdvcml0aG0geworICAgIFN0cmluZyBuYW1lOworfTsKKworfQpJbmRleDog
U291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5QWxnb3JpdGhtLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlBbGdvcml0aG0uaWRs
CShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUFs
Z29yaXRobS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
K1sKKyAgICBDb25kaXRpb25hbD1TVUJUTEVfQ1JZUFRPLAorICAgIEpTR2VuZXJhdGVUb0pTT2Jq
ZWN0CitdIGRpY3Rpb25hcnkgQ3J5cHRvS2V5QWxnb3JpdGhtIHsKKyAgICByZXF1aXJlZCBET01T
dHJpbmcgbmFtZTsKK307CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9L
ZXlFQy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRv
S2V5RUMuY3BwCShyZXZpc2lvbiAyMjA1MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5
cy9DcnlwdG9LZXlFQy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDE0IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAorQ3J5cHRvRWNLZXlBbGdvcml0aG0gRWNLZXlBbGdvcml0aG06
OmRpY3Rpb25hcnkoKSBjb25zdAoreworICAgIENyeXB0b0VjS2V5QWxnb3JpdGhtIHJlc3VsdDsK
KyAgICByZXN1bHQubmFtZSA9IHRoaXMtPm5hbWUoKTsKKyAgICByZXN1bHQubmFtZWRDdXJ2ZSA9
IHRoaXMtPm5hbWVkQ3VydmUoKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiBzdGF0aWMgY29u
c3QgY2hhciogY29uc3QgUDI1NiA9ICJQLTI1NiI7CiBzdGF0aWMgY29uc3QgY2hhciogY29uc3Qg
UDM4NCA9ICJQLTM4NCI7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0
b0tleUVDLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRv
S2V5RUMuaAkocmV2aXNpb24gMjIwNTI4KQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMv
Q3J5cHRvS2V5RUMuaAkod29ya2luZyBjb3B5KQpAQCAtNTksNiArNTksOCBAQCBwdWJsaWM6CiAK
ICAgICBjb25zdCBTdHJpbmcmIG5hbWVkQ3VydmUoKSBjb25zdCB7IHJldHVybiBtX2N1cnZlOyB9
CiAKKyAgICBDcnlwdG9FY0tleUFsZ29yaXRobSBkaWN0aW9uYXJ5KCkgY29uc3Q7CisKIHByaXZh
dGU6CiAgICAgU3RyaW5nIG1fY3VydmU7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvY3J5cHRv
L2tleXMvQ3J5cHRvS2V5SE1BQy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5
cHRvL2tleXMvQ3J5cHRvS2V5SE1BQy5jcHAJKHJldmlzaW9uIDIyMDUyOCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUhNQUMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
OCw2ICszOCwxNSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK0NyeXB0b0htYWNLZXlBbGdv
cml0aG0gSG1hY0tleUFsZ29yaXRobTo6ZGljdGlvbmFyeSgpIGNvbnN0Cit7CisgICAgQ3J5cHRv
SG1hY0tleUFsZ29yaXRobSByZXN1bHQ7CisgICAgcmVzdWx0Lm5hbWUgPSB0aGlzLT5uYW1lKCk7
CisgICAgcmVzdWx0Lmhhc2gubmFtZSA9IHRoaXMtPmhhc2goKTsKKyAgICByZXN1bHQubGVuZ3Ro
ID0gdGhpcy0+bGVuZ3RoKCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogc3RhdGljIHNpemVf
dCBnZXRLZXlMZW5ndGhGcm9tSGFzaChDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2gpCiB7
CiAgICAgc3dpdGNoIChoYXNoKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9D
cnlwdG9LZXlITUFDLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMv
Q3J5cHRvS2V5SE1BQy5oCShyZXZpc2lvbiAyMjA1MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlw
dG8va2V5cy9DcnlwdG9LZXlITUFDLmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDYgKzUyLDggQEAg
cHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgaGFzaCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzaDsg
fQogICAgIHNpemVfdCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQogCisgICAg
Q3J5cHRvSG1hY0tleUFsZ29yaXRobSBkaWN0aW9uYXJ5KCkgY29uc3Q7CisKIHByaXZhdGU6CiAg
ICAgU3RyaW5nIG1faGFzaDsKICAgICBzaXplX3QgbV9sZW5ndGg7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSU0EuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleVJTQS5jcHAJKHJldmlzaW9uIDIyMDUyOCkKKysr
IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleVJTQS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI4LDEyICsyOCwzMyBAQAogCiAjaW5jbHVkZSAiQ3J5cHRvS2V5RGF0YVJTQUNvbXBv
bmVudHMuaCIKICNpbmNsdWRlICJKc29uV2ViS2V5LmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvR2VuZXJpY1R5cGVkQXJyYXlWaWV3SW5saW5lcy5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3SW5saW5lcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L0Jhc2U2NC5oPgogCiAjaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8pCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAorQ3J5cHRvUnNhS2V5QWxnb3JpdGhtIFJzYUtleUFsZ29yaXRobTo6ZGljdGlvbmFy
eSgpIGNvbnN0Cit7CisgICAgQ3J5cHRvUnNhS2V5QWxnb3JpdGhtIHJlc3VsdDsKKyAgICByZXN1
bHQubmFtZSA9IHRoaXMtPm5hbWUoKTsKKyAgICByZXN1bHQubW9kdWx1c0xlbmd0aCA9IHRoaXMt
Pm1vZHVsdXNMZW5ndGgoKTsKKyAgICByZXN1bHQucHVibGljRXhwb25lbnQgPSBVaW50OEFycmF5
OjpjcmVhdGUodGhpcy0+cHVibGljRXhwb25lbnQoKS5kYXRhKCksIHRoaXMtPnB1YmxpY0V4cG9u
ZW50KCkuc2l6ZSgpKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitDcnlwdG9Sc2FIYXNoZWRL
ZXlBbGdvcml0aG0gUnNhSGFzaGVkS2V5QWxnb3JpdGhtOjpkaWN0aW9uYXJ5KCkgY29uc3QKK3sK
KyAgICBDcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0gcmVzdWx0OworICAgIHJlc3VsdC5uYW1l
ID0gdGhpcy0+bmFtZSgpOworICAgIHJlc3VsdC5tb2R1bHVzTGVuZ3RoID0gdGhpcy0+bW9kdWx1
c0xlbmd0aCgpOworICAgIHJlc3VsdC5wdWJsaWNFeHBvbmVudCA9IFVpbnQ4QXJyYXk6OmNyZWF0
ZSh0aGlzLT5wdWJsaWNFeHBvbmVudCgpLmRhdGEoKSwgdGhpcy0+cHVibGljRXhwb25lbnQoKS5z
aXplKCkpOworICAgIHJlc3VsdC5oYXNoLm5hbWUgPSB0aGlzLT5oYXNoKCk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KKwogUmVmUHRyPENyeXB0b0tleVJTQT4gQ3J5cHRvS2V5UlNBOjppbXBvcnRK
d2soQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG0sIHN0ZDo6b3B0aW9uYWw8Q3J5
cHRvQWxnb3JpdGhtSWRlbnRpZmllcj4gaGFzaCwgSnNvbldlYktleSYmIGtleURhdGEsIGJvb2wg
ZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcykKIHsKICAgICBpZiAoa2V5
RGF0YS5rdHkgIT0gIlJTQSIpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9Dcnlw
dG9LZXlSU0EuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9Dcnlw
dG9LZXlSU0EuaAkocmV2aXNpb24gMjIwNTI4KQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL2tl
eXMvQ3J5cHRvS2V5UlNBLmgJKHdvcmtpbmcgY29weSkKQEAgLTY1LDYgKzY1LDggQEAgcHVibGlj
OgogICAgIHNpemVfdCBtb2R1bHVzTGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9tb2R1bHVzTGVu
Z3RoOyB9CiAgICAgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBwdWJsaWNFeHBvbmVudCgpIGNvbnN0
IHsgcmV0dXJuIG1fcHVibGljRXhwb25lbnQ7IH0KIAorICAgIENyeXB0b1JzYUtleUFsZ29yaXRo
bSBkaWN0aW9uYXJ5KCkgY29uc3Q7CisKIHByaXZhdGU6CiAgICAgc2l6ZV90IG1fbW9kdWx1c0xl
bmd0aDsKICAgICBWZWN0b3I8dWludDhfdD4gbV9wdWJsaWNFeHBvbmVudDsKQEAgLTgyLDYgKzg0
LDggQEAgcHVibGljOgogCiAgICAgY29uc3QgU3RyaW5nJiBoYXNoKCkgY29uc3QgeyByZXR1cm4g
bV9oYXNoOyB9CiAKKyAgICBDcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0gZGljdGlvbmFyeSgp
IGNvbnN0OworCiBwcml2YXRlOgogICAgIFN0cmluZyBtX2hhc2g7CiB9OwpJbmRleDogU291cmNl
L1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5UmF3LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSYXcuY3BwCShyZXZpc2lvbiAyMjA1Mjgp
CisrKyBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSYXcuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMyw2ICszMywxMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK0NyeXB0
b0tleUFsZ29yaXRobSBSYXdLZXlBbGdvcml0aG06OmRpY3Rpb25hcnkoKSBjb25zdAoreworICAg
IENyeXB0b0tleUFsZ29yaXRobSByZXN1bHQ7CisgICAgcmVzdWx0Lm5hbWUgPSB0aGlzLT5uYW1l
KCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogQ3J5cHRvS2V5UmF3OjpDcnlwdG9LZXlSYXco
Q3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBpZGVudGlmaWVyLCBWZWN0b3I8dWludDhfdD4mJiBr
ZXlEYXRhLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMpCiAgICAgOiBDcnlwdG9LZXkoaWRl
bnRpZmllciwgQ3J5cHRvS2V5VHlwZTo6U2VjcmV0LCBmYWxzZSwgdXNhZ2VzKQogICAgICwgbV9r
ZXkoV1RGTW92ZShrZXlEYXRhKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0Ny
eXB0b0tleVJhdy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0Ny
eXB0b0tleVJhdy5oCShyZXZpc2lvbiAyMjA1MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlwdG8v
a2V5cy9DcnlwdG9LZXlSYXcuaAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksOCBAQCBwdWJs
aWM6CiAgICAgfQogCiAgICAgS2V5QWxnb3JpdGhtQ2xhc3Mga2V5QWxnb3JpdGhtQ2xhc3MoKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiBLZXlBbGdvcml0aG1DbGFzczo6UmF3OyB9CisgICAgCisg
ICAgQ3J5cHRvS2V5QWxnb3JpdGhtIGRpY3Rpb25hcnkoKSBjb25zdDsKIH07CiAKIGNsYXNzIENy
eXB0b0tleVJhdyBmaW5hbCA6IHB1YmxpYyBDcnlwdG9LZXkgewpJbmRleDogU291cmNlL1dlYkNv
cmUvY3J5cHRvL2tleXMvQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3JpdGhtLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3JpdGht
LmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvUnNh
SGFzaGVkS2V5QWxnb3JpdGhtLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQ3J5cHRvUnNhS2V5QWxnb3JpdGht
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IENyeXB0b1JzYUhhc2hlZEtleUFs
Z29yaXRobSA6IENyeXB0b1JzYUtleUFsZ29yaXRobSB7CisgICAgLy8gVGhlIGhhc2ggYWxnb3Jp
dGhtIHRoYXQgaXMgdXNlZCB3aXRoIHRoaXMga2V5CisgICAgQ3J5cHRvS2V5QWxnb3JpdGhtIGhh
c2g7Cit9OworCit9CisKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b1Jz
YUhhc2hlZEtleUFsZ29yaXRobS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5
cHRvL2tleXMvQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3JpdGhtLmlkbAkobm9uZXhpc3RlbnQpCisr
KyBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0u
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAg
Q29uZGl0aW9uYWw9U1VCVExFX0NSWVBUTywKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdAorXSBk
aWN0aW9uYXJ5IENyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobSA6IENyeXB0b1JzYUtleUFsZ29y
aXRobSB7CisgICAgLy8gVGhlIGhhc2ggYWxnb3JpdGhtIHRoYXQgaXMgdXNlZCB3aXRoIHRoaXMg
a2V5CisgICAgcmVxdWlyZWQgQ3J5cHRvS2V5QWxnb3JpdGhtIGhhc2g7Cit9OwpJbmRleDogU291
cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmgJ
KG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvUnNhS2V5
QWxnb3JpdGhtLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQ3J5cHRvS2V5QWxnb3JpdGhtLmgiCisjaW5jbHVk
ZSA8cnVudGltZS9VaW50OEFycmF5Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0
IENyeXB0b1JzYUtleUFsZ29yaXRobSA6IENyeXB0b0tleUFsZ29yaXRobSB7CisgICAgLy8gVGhl
IGxlbmd0aCwgaW4gYml0cywgb2YgdGhlIFJTQSBtb2R1bHVzCisgICAgdW5zaWduZWQgbW9kdWx1
c0xlbmd0aDsKKyAgICAvLyBUaGUgUlNBIHB1YmxpYyBleHBvbmVudAorICAgIFJlZlB0cjxVaW50
OEFycmF5PiBwdWJsaWNFeHBvbmVudDsKK307CisKK30KKwpJbmRleDogU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2tleXMvQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9Sc2FLZXlBbGdvcml0aG0uaWRsCShub25leGlz
dGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b1JzYUtleUFsZ29yaXRo
bS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK3R5cGVk
ZWYgVWludDhBcnJheSBCaWdJbnRlZ2VyOworCitbCisgICAgQ29uZGl0aW9uYWw9U1VCVExFX0NS
WVBUTywKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdAorXSBkaWN0aW9uYXJ5IENyeXB0b1JzYUtl
eUFsZ29yaXRobSA6IENyeXB0b0tleUFsZ29yaXRobSB7CisgICAgLy8gVGhlIGxlbmd0aCwgaW4g
Yml0cywgb2YgdGhlIFJTQSBtb2R1bHVzCisgICAgcmVxdWlyZWQgdW5zaWduZWQgbG9uZyBtb2R1
bHVzTGVuZ3RoOworICAgIC8vIFRoZSBSU0EgcHVibGljIGV4cG9uZW50CisgICAgcmVxdWlyZWQg
QmlnSW50ZWdlciBwdWJsaWNFeHBvbmVudDsKK307Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317888</attachid>
            <date>2017-08-10 17:00:10 -0700</date>
            <delta_ts>2017-08-11 17:07:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175457-20170810170009.patch</filename>
            <type>text/plain</type>
            <size>77354</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyMDU1NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUwIEBACisyMDE3LTA4LTEwICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW1dlYklETF0gUmVwbGFjZSBKU0NyeXB0
b0tleUN1c3RvbSBhbmQgSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyIHdpdGggZ2VuZXJhdGVkIGNv
ZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTQ1
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMv
SlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0NyeXB0b0tleUN1c3RvbS5jcHA6IFJlbW92ZWQuCisKKyAgICAgICAgICAgIFJl
bW92ZSBKU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIgYW5kIEpTQ3J5cHRvS2V5Q3VzdG9tLCBhZGQg
S2V5QWxnb3JpdGhtCisgICAgICAgICAgICBJRExzIGFuZCBoZWFkZXJzLgorCisgICAgICAgICog
Y3J5cHRvL0NyeXB0b0tleS5jcHA6CisgICAgICAgICogY3J5cHRvL0NyeXB0b0tleS5oOgorICAg
ICAgICAqIGNyeXB0by9DcnlwdG9LZXkuaWRsOgorICAgICAgICAKKyAgICAgICAgICAgIFJlcGxh
Y2UgY3VzdG9tIGFsZ29yaXRobSBhdHRyaWJ1dGUgd2l0aCBhIHVuaW9uIG9mIHRoZSBzdXBwb3J0
ZWQga2V5IGFsZ29yaXRobXMuCisgICAgICAgIAorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0
b0Flc0tleUFsZ29yaXRobS5oOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9B
ZXNLZXlBbGdvcml0aG0uaWRsOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9F
Y0tleUFsZ29yaXRobS5oOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9FY0tl
eUFsZ29yaXRobS5pZGw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0b0htYWNL
ZXlBbGdvcml0aG0uaDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvSG1hY0tl
eUFsZ29yaXRobS5pZGw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0b0tleUFs
Z29yaXRobS5oOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9LZXlBbGdvcml0
aG0uaWRsOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9Sc2FIYXNoZWRLZXlB
bGdvcml0aG0uaDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvUnNhSGFzaGVk
S2V5QWxnb3JpdGhtLmlkbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvUnNh
S2V5QWxnb3JpdGhtLmg6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0b1JzYUtl
eUFsZ29yaXRobS5pZGw6IEFkZGVkLgorCisgICAgICAgICAgICBBZGQgSURMcyBhbmQgaGVhZGVy
cyBmbyB0aGUgc3VwcG9ydGVkIGtleSBhbGdvcml0aG1zLgorCisgICAgICAgICogY3J5cHRvL2tl
eXMvQ3J5cHRvS2V5QUVTLmg6CisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvS2V5RUMuaDoK
KyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmg6CisgICAgICAgICogY3J5cHRv
L2tleXMvQ3J5cHRvS2V5UlNBLmg6CisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvS2V5UmF3
Lmg6CisKKyAgICAgICAgICAgIEdpdmUgZWFjaCBvZiB0aGUgZXhpc3RpbmcgS2V5QWxnb3JpdGht
IHN1YmNsYXNzZXMgYSBkaWN0aW9uYXJ5KCkgZnVuY3Rpb24KKyAgICAgICAgICAgIHRoYXQgcmV0
dXJucyB0aGUgcG9wdWxhdGVkIGNvcnJlc3BvbmRpbmcgc3BlYydkIGRpY3Rpb25hcnkuCisKIDIw
MTctMDgtMTAgIE5hbiBXYW5nICA8bl93YW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogY3Jh
c2ggYXQgV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6c3VwcG9ydHNBUklBTGl2ZVJlZ2lv
bigpIGNvbnN0ICsgMjQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAyMjA1Mjgp
CisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzc4
LDYgKzM3OCwxMyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIGNyeXB0by9T
dWJ0bGVDcnlwdG8uaWRsCiAgICAgY3J5cHRvL1dlYktpdFN1YnRsZUNyeXB0by5pZGwKIAorICAg
IGNyeXB0by9rZXlzL0NyeXB0b0Flc0tleUFsZ29yaXRobS5pZGwKKyAgICBjcnlwdG8va2V5cy9D
cnlwdG9FY0tleUFsZ29yaXRobS5pZGwKKyAgICBjcnlwdG8va2V5cy9DcnlwdG9IbWFjS2V5QWxn
b3JpdGhtLmlkbAorICAgIGNyeXB0by9rZXlzL0NyeXB0b0tleUFsZ29yaXRobS5pZGwKKyAgICBj
cnlwdG8va2V5cy9DcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0uaWRsCisgICAgY3J5cHRvL2tl
eXMvQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmlkbAorCiAgICAgY3J5cHRvL3BhcmFtZXRlcnMvQWVz
Q2JjQ2ZiUGFyYW1zLmlkbAogICAgIGNyeXB0by9wYXJhbWV0ZXJzL0Flc0N0clBhcmFtcy5pZGwK
ICAgICBjcnlwdG8vcGFyYW1ldGVycy9BZXNHY21QYXJhbXMuaWRsCkBAIC0xMTgzLDkgKzExOTAs
NyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvanMvSlNEZXByZWNhdGVkQ1NT
T01WYWx1ZUN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5jcHAKICAg
ICBiaW5kaW5ncy9qcy9KU0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREN1c3RvbS5jcHAKLSAgICBi
aW5kaW5ncy9qcy9KU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIuY3BwCiAgICAgYmluZGluZ3MvanMv
SlNDcnlwdG9BbGdvcml0aG1EaWN0aW9uYXJ5LmNwcAotICAgIGJpbmRpbmdzL2pzL0pTQ3J5cHRv
S2V5Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTQ3J5cHRvS2V5U2VyaWFsaXphdGlvbkpX
Sy5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0NyeXB0b09wZXJhdGlvbkRhdGEuY3BwCiAgICAgYmlu
ZGluZ3MvanMvSlNDdXN0b21FbGVtZW50SW50ZXJmYWNlLmNwcApJbmRleDogU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiAyMjA1MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1Niw3IEBAIFZQQVRIID0g
XAogICAgICQoV2ViQ29yZSkvYW5pbWF0aW9uIFwKICAgICAkKFdlYkNvcmUpL2JpbmRpbmdzL2pz
IFwKICAgICAkKFdlYkNvcmUpL2NyeXB0byBcCisgICAgJChXZWJDb3JlKS9jcnlwdG8va2V5cyBc
CiAgICAgJChXZWJDb3JlKS9jcnlwdG8vcGFyYW1ldGVycyBcCiAgICAgJChXZWJDb3JlKS9jc3Mg
XAogICAgICQoV2ViQ29yZSkvZG9tIFwKQEAgLTMwNSw2ICszMDYsMTIgQEAgSlNfQklORElOR19J
RExTID0gXAogICAgICQoV2ViQ29yZSkvY3J5cHRvL1JzYU90aGVyUHJpbWVzSW5mby5pZGwgXAog
ICAgICQoV2ViQ29yZSkvY3J5cHRvL1N1YnRsZUNyeXB0by5pZGwgXAogICAgICQoV2ViQ29yZSkv
Y3J5cHRvL1dlYktpdFN1YnRsZUNyeXB0by5pZGwgXAorICAgICQoV2ViQ29yZSkvY3J5cHRvL2tl
eXMvQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmlkbCBcCisgICAgJChXZWJDb3JlKS9jcnlwdG8va2V5
cy9DcnlwdG9FY0tleUFsZ29yaXRobS5pZGwgXAorICAgICQoV2ViQ29yZSkvY3J5cHRvL2tleXMv
Q3J5cHRvSG1hY0tleUFsZ29yaXRobS5pZGwgXAorICAgICQoV2ViQ29yZSkvY3J5cHRvL2tleXMv
Q3J5cHRvS2V5QWxnb3JpdGhtLmlkbCBcCisgICAgJChXZWJDb3JlKS9jcnlwdG8va2V5cy9Dcnlw
dG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0uaWRsIFwKKyAgICAkKFdlYkNvcmUpL2NyeXB0by9rZXlz
L0NyeXB0b1JzYUtleUFsZ29yaXRobS5pZGwgXAogICAgICQoV2ViQ29yZSkvY3J5cHRvL3BhcmFt
ZXRlcnMvQWVzQ2JjQ2ZiUGFyYW1zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jcnlwdG8vcGFyYW1l
dGVycy9BZXNDdHJQYXJhbXMuaWRsIFwKICAgICAkKFdlYkNvcmUpL2NyeXB0by9wYXJhbWV0ZXJz
L0Flc0djbVBhcmFtcy5pZGwgXApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjIwNTI4KQorKysgU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBA
IC0zMjU0LDYgKzMyNTQsMjQgQEAKIAkJN0M5M0YzNEExQUE2QkE1RTAwQTk4QkFCIC8qIENvbXBp
bGVkQ29udGVudEV4dGVuc2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gN0M5M0YzNDgxQUE2QkE1RTAwQTk4QkFCIC8qIENvbXBpbGVkQ29udGVudEV4
dGVuc2lvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTdDOTNGMzREMUFBNkJGMDcwMEE5OEJBQiAvKiBDb250ZW50RXh0ZW5zaW9uQ29tcGlsZXIu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M5M0Yz
NEIxQUE2QkYwNzAwQTk4QkFCIC8qIENvbnRlbnRFeHRlbnNpb25Db21waWxlci5jcHAgKi87IH07
CiAJCTdDOTNGMzRFMUFBNkJGMDcwMEE5OEJBQiAvKiBDb250ZW50RXh0ZW5zaW9uQ29tcGlsZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDOTNGMzRD
MUFBNkJGMDcwMEE5OEJBQiAvKiBDb250ZW50RXh0ZW5zaW9uQ29tcGlsZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3QzlBQ0E5MjFGM0NDMEFB
MDBGM0FBMDkgLyogQ3J5cHRvS2V5QWxnb3JpdGhtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzlBQ0E4RjFGM0NDMEFBMDBGM0FBMDkgLyogQ3J5cHRv
S2V5QWxnb3JpdGhtLmggKi87IH07CisJCTdDOUFDQTk4MUYzQ0NEQUQwMEYzQUEwOSAvKiBDcnlw
dG9BZXNLZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdDOUFDQTk2MUYzQ0NEQUQwMEYzQUEwOSAvKiBDcnlwdG9BZXNLZXlBbGdvcml0
aG0uaCAqLzsgfTsKKwkJN0M5QUNBOUMxRjNDQ0RGMjAwRjNBQTA5IC8qIENyeXB0b0VjS2V5QWxn
b3JpdGhtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
QzlBQ0E5QTFGM0NDREYyMDBGM0FBMDkgLyogQ3J5cHRvRWNLZXlBbGdvcml0aG0uaCAqLzsgfTsK
KwkJN0M5QUNBQTAxRjNDQ0UzMDAwRjNBQTA5IC8qIENyeXB0b0htYWNLZXlBbGdvcml0aG0uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDOUFDQTlFMUYz
Q0NFMzAwMEYzQUEwOSAvKiBDcnlwdG9IbWFjS2V5QWxnb3JpdGhtLmggKi87IH07CisJCTdDOUFD
QUE0MUYzQ0NFNjkwMEYzQUEwOSAvKiBDcnlwdG9Sc2FLZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDOUFDQUEyMUYzQ0NFNjkwMEYz
QUEwOSAvKiBDcnlwdG9Sc2FLZXlBbGdvcml0aG0uaCAqLzsgfTsKKwkJN0M5QUNBQTgxRjNDQ0VC
NDAwRjNBQTA5IC8qIENyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M5QUNBQTYxRjNDQ0VCNDAwRjNBQTA5
IC8qIENyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5oICovOyB9OworCQk3QzlBQ0FCNzFGM0NG
MUFFMDBGM0FBMDkgLyogSlNDcnlwdG9BZXNLZXlBbGdvcml0aG0uY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M5QUNBQjYxRjNDREM0NzAwRjNBQTA5
IC8qIEpTQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmNwcCAqLzsgfTsKKwkJN0M5QUNBQjgxRjNDRjFB
RTAwRjNBQTA5IC8qIEpTQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzlBQ0FBQTFGM0NEQjYzMDBGM0FBMDkgLyog
SlNDcnlwdG9BZXNLZXlBbGdvcml0aG0uaCAqLzsgfTsKKwkJN0M5QUNBQjkxRjNDRjFBRTAwRjNB
QTA5IC8qIEpTQ3J5cHRvRWNLZXlBbGdvcml0aG0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M5QUNBQUQxRjNDREI5RTAwRjNBQTA5IC8qIEpTQ3J5
cHRvRWNLZXlBbGdvcml0aG0uY3BwICovOyB9OworCQk3QzlBQ0FCQTFGM0NGMUFFMDBGM0FBMDkg
LyogSlNDcnlwdG9FY0tleUFsZ29yaXRobS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0M5QUNBQUMxRjNDREI5RDAwRjNBQTA5IC8qIEpTQ3J5cHRvRWNL
ZXlBbGdvcml0aG0uaCAqLzsgfTsKKwkJN0M5QUNBQkIxRjNDRjFBRTAwRjNBQTA5IC8qIEpTQ3J5
cHRvSG1hY0tleUFsZ29yaXRobS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3QzlBQ0FBRTFGM0NEQjlGMDBGM0FBMDkgLyogSlNDcnlwdG9IbWFjS2V5
QWxnb3JpdGhtLmNwcCAqLzsgfTsKKwkJN0M5QUNBQkMxRjNDRjFBRTAwRjNBQTA5IC8qIEpTQ3J5
cHRvSG1hY0tleUFsZ29yaXRobS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gN0M5QUNBQUYxRjNDREI5RjAwRjNBQTA5IC8qIEpTQ3J5cHRvSG1hY0tleUFs
Z29yaXRobS5oICovOyB9OworCQk3QzlBQ0FCRDFGM0NGMUFFMDBGM0FBMDkgLyogSlNDcnlwdG9L
ZXlBbGdvcml0aG0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gN0M5QUNBQjAxRjNDREJBMDAwRjNBQTA5IC8qIEpTQ3J5cHRvS2V5QWxnb3JpdGhtLmNw
cCAqLzsgfTsKKwkJN0M5QUNBQkUxRjNDRjFBRjAwRjNBQTA5IC8qIEpTQ3J5cHRvS2V5QWxnb3Jp
dGhtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzlB
Q0FCMTFGM0NEQkExMDBGM0FBMDkgLyogSlNDcnlwdG9LZXlBbGdvcml0aG0uaCAqLzsgfTsKKwkJ
N0M5QUNBQkYxRjNDRjFBRjAwRjNBQTA5IC8qIEpTQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3JpdGht
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDOUFD
QUI0MUYzQ0RDMDEwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5jcHAg
Ki87IH07CisJCTdDOUFDQUMwMUYzQ0YxQUYwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUhhc2hlZEtl
eUFsZ29yaXRobS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0M5QUNBQjUxRjNDREMwMjAwRjNBQTA5IC8qIEpTQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3Jp
dGhtLmggKi87IH07CisJCTdDOUFDQUMxMUYzQ0YxQUYwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUtl
eUFsZ29yaXRobS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3QzlBQ0FCMjFGM0NEQzAwMDBGM0FBMDkgLyogSlNDcnlwdG9Sc2FLZXlBbGdvcml0aG0u
Y3BwICovOyB9OworCQk3QzlBQ0FDMjFGM0NGMUFGMDBGM0FBMDkgLyogSlNDcnlwdG9Sc2FLZXlB
bGdvcml0aG0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDdDOUFDQUIzMUYzQ0RDMDEwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUtleUFsZ29yaXRobS5oICov
OyB9OwogCQk3QzlEQkZFRDFBOUM0OUIxMDAwRDZCMjUgLyogSlNIVE1MQXR0YWNobWVudEVsZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M5
REJGRUIxQTlDNDlCMTAwMEQ2QjI1IC8qIEpTSFRNTEF0dGFjaG1lbnRFbGVtZW50LmNwcCAqLzsg
fTsKIAkJN0M5REJGRUUxQTlDNDlCMTAwMEQ2QjI1IC8qIEpTSFRNTEF0dGFjaG1lbnRFbGVtZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzlEQkZF
QzFBOUM0OUIxMDAwRDZCMjUgLyogSlNIVE1MQXR0YWNobWVudEVsZW1lbnQuaCAqLzsgfTsKIAkJ
N0NCNUNBM0YxRTUyNUM3MTAwRkFFRjEzIC8qIE1lZGlhUXVlcnlFeHByZXNzaW9uLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDQjVDQTNEMUU1MjVD
NkMwMEZBRUYxMyAvKiBNZWRpYVF1ZXJ5RXhwcmVzc2lvbi5jcHAgKi87IH07CkBAIC02NTIwLDkg
KzY1MzgsNiBAQAogCQlFMTU3QThFMTE4MTczMzFDMDA5RjgyMUQgLyogSlNDcnlwdG9LZXkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNTdBOERGMTgx
NzMzMUMwMDlGODIxRCAvKiBKU0NyeXB0b0tleS5oICovOyB9OwogCQlFMTU3QThFNDE4MTczQTNB
MDA5RjgyMUQgLyogQ3J5cHRvS2V5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUxNTdBOEUyMTgxNzNBM0EwMDlGODIxRCAvKiBDcnlwdG9LZXkuY3Bw
ICovOyB9OwogCQlFMTU3QThFNTE4MTczQTNBMDA5RjgyMUQgLyogQ3J5cHRvS2V5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTU3QThFMzE4MTczQTNB
MDA5RjgyMUQgLyogQ3J5cHRvS2V5LmggKi87IH07Ci0JCUUxNTdBOEU4MTgxODRDNjcwMDlGODIx
RCAvKiBKU0NyeXB0b0tleUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFMTU3QThFNjE4MTg0QzY3MDA5RjgyMUQgLyogSlNDcnlwdG9LZXlD
dXN0b20uY3BwICovOyB9OwotCQlFMTU3QThGMDE4MTg1NDI1MDA5RjgyMUQgLyogSlNDcnlwdG9B
bGdvcml0aG1CdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEUxNTdBOEVFMTgxODU0MjUwMDlGODIxRCAvKiBKU0NyeXB0b0FsZ29yaXRobUJ1
aWxkZXIuY3BwICovOyB9OwotCQlFMTU3QThGMTE4MTg1NDI1MDA5RjgyMUQgLyogSlNDcnlwdG9B
bGdvcml0aG1CdWlsZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMTU3QThFRjE4MTg1NDI1MDA5RjgyMUQgLyogSlNDcnlwdG9BbGdvcml0aG1CdWls
ZGVyLmggKi87IH07CiAJCUUxNUEzNkQ3MTEwNDU3MjAwMEI3QjYzOSAvKiBYTUxOU05hbWVzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTVBMzZENjEx
MDQ1NzIwMDBCN0I2MzkgLyogWE1MTlNOYW1lcy5oICovOyB9OwogCQlFMTVBMzZEOTExMDQ1NzI3
MDBCN0I2MzkgLyogWE1MTlNOYW1lcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFMTVBMzZEODExMDQ1NzI3MDBCN0I2MzkgLyogWE1MTlNOYW1lcy5j
cHAgKi87IH07CiAJCUUxNUZGN0Q1MThDOTU1MzgwMEZFNEM4NyAvKiBLZXlwcmVzc0NvbW1hbmQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNUZGN0Q0
MThDOTU1MzgwMEZFNEM4NyAvKiBLZXlwcmVzc0NvbW1hbmQuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTEzMjIsNiArMTEzMzcsMzAgQEAKIAkJ
N0M5M0YzNDgxQUE2QkE1RTAwQTk4QkFCIC8qIENvbXBpbGVkQ29udGVudEV4dGVuc2lvbi5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb21waWxlZENvbnRlbnRFeHRlbnNpb24u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M5M0YzNEIxQUE2QkYwNzAwQTk4QkFC
IC8qIENvbnRlbnRFeHRlbnNpb25Db21waWxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBDb250ZW50RXh0ZW5zaW9uQ29tcGlsZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3QzkzRjM0QzFBQTZCRjA3MDBBOThCQUIgLyogQ29udGVudEV4dGVu
c2lvbkNvbXBpbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRF
eHRlbnNpb25Db21waWxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0E4
RjFGM0NDMEFBMDBGM0FBMDkgLyogQ3J5cHRvS2V5QWxnb3JpdGhtLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IENyeXB0b0tleUFsZ29yaXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlB
Q0E5MTFGM0NDMEFBMDBGM0FBMDkgLyogQ3J5cHRvS2V5QWxnb3JpdGhtLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDcnlw
dG9LZXlBbGdvcml0aG0uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0E5
NjFGM0NDREFEMDBGM0FBMDkgLyogQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IENyeXB0b0Flc0tleUFsZ29yaXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk3QzlBQ0E5NzFGM0NDREFEMDBGM0FBMDkgLyogQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBDcnlwdG9BZXNLZXlBbGdvcml0aG0uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk3QzlBQ0E5QTFGM0NDREYyMDBGM0FBMDkgLyogQ3J5cHRvRWNLZXlBbGdvcml0aG0uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ3J5cHRvRWNLZXlBbGdvcml0aG0uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJN0M5QUNBOUIxRjNDQ0RGMjAwRjNBQTA5IC8qIENyeXB0b0VjS2V5QWxnb3Jp
dGhtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBDcnlwdG9FY0tleUFsZ29yaXRobS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTdDOUFDQTlFMUYzQ0NFMzAwMEYzQUEwOSAvKiBDcnlwdG9IbWFjS2V5QWxn
b3JpdGhtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENyeXB0b0htYWNLZXlBbGdvcml0aG0uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0M5QUNBOUYxRjNDQ0UzMDAwRjNBQTA5IC8qIENyeXB0
b0htYWNLZXlBbGdvcml0aG0uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENyeXB0b0htYWNLZXlBbGdvcml0aG0uaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FBMjFGM0NDRTY5MDBGM0FBMDkgLyog
Q3J5cHRvUnNhS2V5QWxnb3JpdGhtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENyeXB0b1JzYUtleUFsZ29y
aXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FBMzFGM0NDRTY5MDBG
M0FBMDkgLyogQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDcnlwdG9Sc2FLZXlBbGdv
cml0aG0uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FBNjFGM0NDRUI0
MDBGM0FBMDkgLyogQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3JpdGhtLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IENyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk3QzlBQ0FBNzFGM0NDRUI0MDBGM0FBMDkgLyogQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3Jp
dGhtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBDcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0uaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FBQTFGM0NEQjYzMDBGM0FBMDkgLyogSlNDcnlwdG9B
ZXNLZXlBbGdvcml0aG0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDcnlwdG9BZXNLZXlBbGdvcml0aG0u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0M5QUNBQUMxRjNDREI5RDAwRjNBQTA5
IC8qIEpTQ3J5cHRvRWNLZXlBbGdvcml0aG0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDcnlwdG9FY0tl
eUFsZ29yaXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FBRDFGM0NE
QjlFMDBGM0FBMDkgLyogSlNDcnlwdG9FY0tleUFsZ29yaXRobS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0NyeXB0b0VjS2V5QWxnb3JpdGhtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJN0M5QUNBQUUxRjNDREI5RjAwRjNBQTA5IC8qIEpTQ3J5cHRvSG1hY0tleUFsZ29yaXRo
bS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NyeXB0b0htYWNLZXlBbGdvcml0aG0uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FBRjFGM0NEQjlGMDBGM0FBMDkgLyog
SlNDcnlwdG9IbWFjS2V5QWxnb3JpdGhtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ3J5cHRvSG1hY0tl
eUFsZ29yaXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FCMDFGM0NE
QkEwMDBGM0FBMDkgLyogSlNDcnlwdG9LZXlBbGdvcml0aG0uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNDcnlwdG9LZXlBbGdvcml0aG0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk3QzlBQ0FCMTFGM0NEQkExMDBGM0FBMDkgLyogSlNDcnlwdG9LZXlBbGdvcml0aG0uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNDcnlwdG9LZXlBbGdvcml0aG0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJN0M5QUNBQjIxRjNDREMwMDAwRjNBQTA5IC8qIEpTQ3J5cHRvUnNhS2V5QWxnb3Jp
dGhtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0M5QUNBQjMxRjNDREMwMTAwRjNBQTA5IC8q
IEpTQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ3J5cHRvUnNhS2V5
QWxnb3JpdGhtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDOUFDQUI0MUYzQ0RD
MDEwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU0NyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTdDOUFDQUI1MUYzQ0RDMDIwMEYzQUEwOSAvKiBKU0NyeXB0b1Jz
YUhhc2hlZEtleUFsZ29yaXRobS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0NyeXB0b1JzYUhhc2hlZEtl
eUFsZ29yaXRobS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzlBQ0FCNjFGM0NE
QzQ3MDBGM0FBMDkgLyogSlNDcnlwdG9BZXNLZXlBbGdvcml0aG0uY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNDcnlwdG9BZXNLZXlBbGdvcml0aG0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3QzlEQkZFQTFBOUM0ODlGMDAwRDZCMjUgLyogSFRNTEF0dGFjaG1lbnRFbGVtZW50
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBIVE1MQXR0YWNobWVudEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk3QzlEQkZFQjFBOUM0OUIxMDAwRDZCMjUgLyogSlNIVE1MQXR0YWNobWVudEVs
ZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNIVE1MQXR0
YWNobWVudEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzlEQkZF
QzFBOUM0OUIxMDAwRDZCMjUgLyogSlNIVE1MQXR0YWNobWVudEVsZW1lbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNIVE1MQXR0YWNobWVudEVsZW1lbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1MTAxLDkgKzE1MTQwLDYgQEAKIAkJRTE1N0E4REYx
ODE3MzMxQzAwOUY4MjFEIC8qIEpTQ3J5cHRvS2V5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTQ3J5cHRvS2V5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUx
NTdBOEUyMTgxNzNBM0EwMDlGODIxRCAvKiBDcnlwdG9LZXkuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQ3J5cHRvS2V5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTE1N0E4RTMxODE3M0EzQTAwOUY4MjFEIC8qIENyeXB0b0tleS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcnlwdG9LZXkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJRTE1N0E4RTYxODE4NEM2NzAwOUY4MjFEIC8qIEpTQ3J5cHRvS2V5Q3VzdG9t
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ3J5cHRvS2V5Q3Vz
dG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTE1N0E4RUUxODE4NTQyNTAw
OUY4MjFEIC8qIEpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQlFMTU3QThFRjE4MTg1NDI1MDA5RjgyMUQgLyogSlNDcnlw
dG9BbGdvcml0aG1CdWlsZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
Q3J5cHRvQWxnb3JpdGhtQnVpbGRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlF
MTVBMzZENjExMDQ1NzIwMDBCN0I2MzkgLyogWE1MTlNOYW1lcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBYTUxOU05hbWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUUxNUEzNkQ4MTEwNDU3MjcwMEI3QjYzOSAvKiBYTUxOU05hbWVzLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFhNTE5TTmFtZXMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFMTVGRjdENDE4Qzk1NTM4MDBGRTRDODcgLyogS2V5cHJlc3NDb21t
YW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEtleXByZXNzQ29tbWFuZC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTg1NzksMTIgKzE4NjE1LDEyIEBACiAJ
CQkJNTE4MkMyNTIxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlci5oICovLAogCQkJ
CTUxODJDMjUxMUYzMTQyNTAwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3Bw
ICovLAogCQkJCTUxODJDMjU0MUYzMTQyNTAwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXJDb250
YWluZXIuaCAqLywKLQkJCQk1MUYxNzUwMDFGMzU4QjM2MDBDNzQ5NTAgLyogSlNTZXJ2aWNlV29y
a2VyVXBkYXRlVmlhQ2FjaGUuY3BwICovLAotCQkJCTUxRjE3NTAxMUYzNThCMzYwMEM3NDk1MCAv
KiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5oICovLAogCQkJCTUxODJDMjRFMUYzMTQy
NTAwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5jcHAgKi8sCiAJCQkJNTE4
MkMyNEQxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmggKi8s
CiAJCQkJNTE4MkMyNEYxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbi5jcHAgKi8sCiAJCQkJNTE4MkMyNTAxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbi5oICovLAorCQkJCTUxRjE3NTAwMUYzNThCMzYwMEM3NDk1MCAvKiBK
U1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5jcHAgKi8sCisJCQkJNTFGMTc1MDExRjM1OEIz
NjAwQzc0OTUwIC8qIEpTU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggKi8sCiAJCQkpOwog
CQkJbmFtZSA9IFNlcnZpY2VXb3JrZXJzOwogCQkJcGF0aCA9IERlcml2ZWRTb3VyY2VzOwpAQCAt
MjM1MTgsOCArMjM1NTQsNiBAQAogCQkJCTE0MzJFODQ2MEM1MTQ5MzgwMEIxNTAwRiAvKiBHQ0Nv
bnRyb2xsZXIuaCAqLywKIAkJCQlDNTg1QTY2MDExRDRGQUM1MDA0QzNFNEIgLyogSURCQmluZGlu
Z1V0aWxpdGllcy5jcHAgKi8sCiAJCQkJQzU4NUE2NjExMUQ0RkFDNTAwNEMzRTRCIC8qIElEQkJp
bmRpbmdVdGlsaXRpZXMuaCAqLywKLQkJCQlFMTU3QThFRTE4MTg1NDI1MDA5RjgyMUQgLyogSlND
cnlwdG9BbGdvcml0aG1CdWlsZGVyLmNwcCAqLywKLQkJCQlFMTU3QThFRjE4MTg1NDI1MDA5Rjgy
MUQgLyogSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyLmggKi8sCiAJCQkJRTFDNjU3MTAxODE1RjlE
RDAwMjU2Q0REIC8qIEpTQ3J5cHRvQWxnb3JpdGhtRGljdGlvbmFyeS5jcHAgKi8sCiAJCQkJRTFD
NjU3MTExODE1RjlERDAwMjU2Q0REIC8qIEpTQ3J5cHRvQWxnb3JpdGhtRGljdGlvbmFyeS5oICov
LAogCQkJCUUxMjVGODRGMTgyODNBNTYwMEQ4NENEOSAvKiBKU0NyeXB0b0tleVNlcmlhbGl6YXRp
b25KV0suY3BwICovLApAQCAtMjM2MDgsNyArMjM2NDIsNiBAQAogCQkJY2hpbGRyZW4gPSAoCiAJ
CQkJN0NEMzQ0MUIxRjMyREUzMDAwMERDRDQ5IC8qIENhY2hlZCBBdHRyaWJ1dGVzIHcvIEludmFs
aWRhdGlvbiAqLywKIAkJCQk3QzNEOEVFNDFFMDhCQUJFMDAyM0IwODQgLyogR0MgLyBXcmFwcGlu
ZyBPbmx5ICovLAotCQkJCUUxNTdBOEU2MTgxODRDNjcwMDlGODIxRCAvKiBKU0NyeXB0b0tleUN1
c3RvbS5jcHAgKi8sCiAJCQkJOUJDNUY5REYxRDVBQUY2QTAwMkI3NDlEIC8qIEpTQ3VzdG9tRWxl
bWVudFJlZ2lzdHJ5Q3VzdG9tLmNwcCAqLywKIAkJCQlCQ0Q5QzI1RTBDMTdBQTY3MDA1QzkwQTIg
LyogSlNET01XaW5kb3dDdXN0b20uY3BwICovLAogCQkJCTY1MkZCQkJCMERFMjdDQjYwMDAxRDM4
NiAvKiBKU0RPTVdpbmRvd0N1c3RvbS5oICovLApAQCAtMjQ1NDUsOCArMjQ1NzgsMTYgQEAKIAkJ
RTE5REEyOUQxODE5OTVDRTAwMDg4QkM4IC8qIGtleXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91
cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTdDOUFDQTk2MUYzQ0NEQUQwMEYzQUEwOSAvKiBDcnlw
dG9BZXNLZXlBbGdvcml0aG0uaCAqLywKKwkJCQk3QzlBQ0E5NzFGM0NDREFEMDBGM0FBMDkgLyog
Q3J5cHRvQWVzS2V5QWxnb3JpdGhtLmlkbCAqLywKKwkJCQk3QzlBQ0E5QTFGM0NDREYyMDBGM0FB
MDkgLyogQ3J5cHRvRWNLZXlBbGdvcml0aG0uaCAqLywKKwkJCQk3QzlBQ0E5QjFGM0NDREYyMDBG
M0FBMDkgLyogQ3J5cHRvRWNLZXlBbGdvcml0aG0uaWRsICovLAorCQkJCTdDOUFDQTlFMUYzQ0NF
MzAwMEYzQUEwOSAvKiBDcnlwdG9IbWFjS2V5QWxnb3JpdGhtLmggKi8sCisJCQkJN0M5QUNBOUYx
RjNDQ0UzMDAwRjNBQTA5IC8qIENyeXB0b0htYWNLZXlBbGdvcml0aG0uaWRsICovLAogCQkJCUUx
MjVGODRCMTgyNDI4OUQwMEQ4NENEOSAvKiBDcnlwdG9LZXlBRVMuY3BwICovLAogCQkJCUUxMjVG
ODRDMTgyNDI4OUQwMEQ4NENEOSAvKiBDcnlwdG9LZXlBRVMuaCAqLywKKwkJCQk3QzlBQ0E4RjFG
M0NDMEFBMDBGM0FBMDkgLyogQ3J5cHRvS2V5QWxnb3JpdGhtLmggKi8sCisJCQkJN0M5QUNBOTEx
RjNDQzBBQTAwRjNBQTA5IC8qIENyeXB0b0tleUFsZ29yaXRobS5pZGwgKi8sCiAJCQkJRTEyNUY4
NjExODJDMzAzQTAwRDg0Q0Q5IC8qIENyeXB0b0tleURhdGFPY3RldFNlcXVlbmNlLmNwcCAqLywK
IAkJCQlFMTI1Rjg2MjE4MkMzMDNBMDBEODRDRDkgLyogQ3J5cHRvS2V5RGF0YU9jdGV0U2VxdWVu
Y2UuaCAqLywKIAkJCQlFMUMyNjZEQzE4MzE5RjMxMDAzRjhCMzMgLyogQ3J5cHRvS2V5RGF0YVJT
QUNvbXBvbmVudHMuY3BwICovLApAQCAtMjQ1NjEsNiArMjQ2MDIsMTAgQEAKIAkJCQlFMTY0RkFB
MjE4MzE1QkY0MDBEQjRFNjEgLyogQ3J5cHRvS2V5UlNBLmggKi8sCiAJCQkJRTEyNUY4NTcxODJD
MUFBNjAwRDg0Q0Q5IC8qIENyeXB0b0tleVNlcmlhbGl6YXRpb25SYXcuY3BwICovLAogCQkJCUUx
MjVGODU4MTgyQzFBQTYwMEQ4NENEOSAvKiBDcnlwdG9LZXlTZXJpYWxpemF0aW9uUmF3LmggKi8s
CisJCQkJN0M5QUNBQTYxRjNDQ0VCNDAwRjNBQTA5IC8qIENyeXB0b1JzYUhhc2hlZEtleUFsZ29y
aXRobS5oICovLAorCQkJCTdDOUFDQUE3MUYzQ0NFQjQwMEYzQUEwOSAvKiBDcnlwdG9Sc2FIYXNo
ZWRLZXlBbGdvcml0aG0uaWRsICovLAorCQkJCTdDOUFDQUEyMUYzQ0NFNjkwMEYzQUEwOSAvKiBD
cnlwdG9Sc2FLZXlBbGdvcml0aG0uaCAqLywKKwkJCQk3QzlBQ0FBMzFGM0NDRTY5MDBGM0FBMDkg
LyogQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmlkbCAqLywKIAkJCSk7CiAJCQlwYXRoID0ga2V5czsK
IAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0yNDc2OCwxNCArMjQ4MTMsMjYgQEAKIAkJ
CQk1N0I1RjgwQjFFNUQyMkRBMDBGMzRGOTAgLyogSlNBZXNHY21QYXJhbXMuaCAqLywKIAkJCQk1
NzY4MTQ0MjFFNzBDQjEwMDBFNzc3NTQgLyogSlNBZXNLZXlQYXJhbXMuY3BwICovLAogCQkJCTU3
NjgxNDQzMUU3MENCMTAwMEU3Nzc1NCAvKiBKU0Flc0tleVBhcmFtcy5oICovLAorCQkJCTdDOUFD
QUI2MUYzQ0RDNDcwMEYzQUEwOSAvKiBKU0NyeXB0b0Flc0tleUFsZ29yaXRobS5jcHAgKi8sCisJ
CQkJN0M5QUNBQUExRjNDREI2MzAwRjNBQTA5IC8qIEpTQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmgg
Ki8sCiAJCQkJNTczOUUxMzAxREFDN0ZEMTAwRTE0MzgzIC8qIEpTQ3J5cHRvQWxnb3JpdGhtUGFy
YW1ldGVycy5jcHAgKi8sCiAJCQkJNTczOUUxMkUxREFDN0Y3ODAwRTE0MzgzIC8qIEpTQ3J5cHRv
QWxnb3JpdGhtUGFyYW1ldGVycy5oICovLAorCQkJCTdDOUFDQUFEMUYzQ0RCOUUwMEYzQUEwOSAv
KiBKU0NyeXB0b0VjS2V5QWxnb3JpdGhtLmNwcCAqLywKKwkJCQk3QzlBQ0FBQzFGM0NEQjlEMDBG
M0FBMDkgLyogSlNDcnlwdG9FY0tleUFsZ29yaXRobS5oICovLAorCQkJCTdDOUFDQUFFMUYzQ0RC
OUYwMEYzQUEwOSAvKiBKU0NyeXB0b0htYWNLZXlBbGdvcml0aG0uY3BwICovLAorCQkJCTdDOUFD
QUFGMUYzQ0RCOUYwMEYzQUEwOSAvKiBKU0NyeXB0b0htYWNLZXlBbGdvcml0aG0uaCAqLywKIAkJ
CQlFMTU3QThERTE4MTczMzFDMDA5RjgyMUQgLyogSlNDcnlwdG9LZXkuY3BwICovLAogCQkJCUUx
NTdBOERGMTgxNzMzMUMwMDlGODIxRCAvKiBKU0NyeXB0b0tleS5oICovLAorCQkJCTdDOUFDQUIw
MUYzQ0RCQTAwMEYzQUEwOSAvKiBKU0NyeXB0b0tleUFsZ29yaXRobS5jcHAgKi8sCisJCQkJN0M5
QUNBQjExRjNDREJBMTAwRjNBQTA5IC8qIEpTQ3J5cHRvS2V5QWxnb3JpdGhtLmggKi8sCiAJCQkJ
RTFGODBCOEIxODMxNzJCNTAwNzg4NUMzIC8qIEpTQ3J5cHRvS2V5UGFpci5jcHAgKi8sCiAJCQkJ
RTFGODBCOEMxODMxNzJCNTAwNzg4NUMzIC8qIEpTQ3J5cHRvS2V5UGFpci5oICovLAogCQkJCTU3
RDAwMThFMURENTQxNTMwMEVEMTlEOSAvKiBKU0NyeXB0b0tleVVzYWdlLmNwcCAqLywKIAkJCQk1
N0QwMDE4QzFERDU0MTMyMDBFRDE5RDkgLyogSlNDcnlwdG9LZXlVc2FnZS5oICovLAorCQkJCTdD
OUFDQUI0MUYzQ0RDMDEwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5j
cHAgKi8sCisJCQkJN0M5QUNBQjUxRjNDREMwMjAwRjNBQTA5IC8qIEpTQ3J5cHRvUnNhSGFzaGVk
S2V5QWxnb3JpdGhtLmggKi8sCisJCQkJN0M5QUNBQjIxRjNDREMwMDAwRjNBQTA5IC8qIEpTQ3J5
cHRvUnNhS2V5QWxnb3JpdGhtLmNwcCAqLywKKwkJCQk3QzlBQ0FCMzFGM0NEQzAxMDBGM0FBMDkg
LyogSlNDcnlwdG9Sc2FLZXlBbGdvcml0aG0uaCAqLywKIAkJCQk1NzY4MTQzRDFFNzA5QzM2MDBF
Nzc3NTQgLyogSlNFY2RoS2V5RGVyaXZlUGFyYW1zLmNwcCAqLywKIAkJCQk1NzY4MTQzRTFFNzA5
QzM2MDBFNzc3NTQgLyogSlNFY2RoS2V5RGVyaXZlUGFyYW1zLmggKi8sCiAJCQkJNTdFRUFBNTIx
RUEwMDFCMTAwNzAxMTI0IC8qIEpTRWNkc2FQYXJhbXMuY3BwICovLApAQCAtMjY4MjIsNiArMjY4
NzksNyBAQAogCQkJCUUxQzQxNURBMEY2NTVENkYwMDkyRDJGQiAvKiBDcm9zc09yaWdpblByZWZs
aWdodFJlc3VsdENhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTY5ODAzRDExMzM1NDJEMDA4
OTQxMTUgLyogQ1J1bnRpbWVPYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3NUNBMjhCMTMw
MzY1RjgwMEU5OUFEOSAvKiBDcnlwdG8uaCBpbiBIZWFkZXJzICovLAorCQkJCTdDOUFDQTk4MUYz
Q0NEQUQwMEYzQUEwOSAvKiBDcnlwdG9BZXNLZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAog
CQkJCUUxNzJBRjZFMTgwRjI0QzYwMEZCQURCOSAvKiBDcnlwdG9BbGdvcml0aG0uaCBpbiBIZWFk
ZXJzICovLAogCQkJCUUxMjVGODQyMTgyNDI1M0EwMEQ4NENEOSAvKiBDcnlwdG9BbGdvcml0aG1B
RVNfQ0JDLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzEyNTI2OTFFNTI0RUIxMDA4RkYzNjkgLyog
Q3J5cHRvQWxnb3JpdGhtQUVTX0NGQi5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjg2OSw4ICsyNjky
NywxMSBAQAogCQkJCUUxOUFDM0YzMTgyNERDNzkwMDM0OTQyNiAvKiBDcnlwdG9BbGdvcml0aG1T
SEEzODQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxOUFDM0Y1MTgyNERDNzkwMDM0OTQyNiAvKiBD
cnlwdG9BbGdvcml0aG1TSEE1MTIuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3MjFBOTg3MUVDRTUz
QjEwMDgxMjk1QSAvKiBDcnlwdG9EaWdlc3RBbGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAorCQkJ
CTdDOUFDQTlDMUYzQ0NERjIwMEYzQUEwOSAvKiBDcnlwdG9FY0tleUFsZ29yaXRobS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJN0M5QUNBQTAxRjNDQ0UzMDAwRjNBQTA5IC8qIENyeXB0b0htYWNLZXlB
bGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNTdBOEU1MTgxNzNBM0EwMDlGODIxRCAv
KiBDcnlwdG9LZXkuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMjVGODRFMTgyNDI4OUQwMEQ4NENE
OSAvKiBDcnlwdG9LZXlBRVMuaCBpbiBIZWFkZXJzICovLAorCQkJCTdDOUFDQTkyMUYzQ0MwQUEw
MEYzQUEwOSAvKiBDcnlwdG9LZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMjVG
ODVFMTgyQzJERjYwMEQ4NENEOSAvKiBDcnlwdG9LZXlEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMTI1Rjg2NDE4MkMzMDNBMDBEODRDRDkgLyogQ3J5cHRvS2V5RGF0YU9jdGV0U2VxdWVuY2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCUUxQzI2NkRGMTgzMTlGMzEwMDNGOEIzMyAvKiBDcnlwdG9L
ZXlEYXRhUlNBQ29tcG9uZW50cy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjg4Myw2ICsyNjk0NCw4
IEBACiAJCQkJRTEyNUY4NUExODJDMUFBNjAwRDg0Q0Q5IC8qIENyeXB0b0tleVNlcmlhbGl6YXRp
b25SYXcuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxOTcyNzE2MTgyMDU0OUUwMDU5MkQ1MSAvKiBD
cnlwdG9LZXlUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTcyQUY3MDE4MEYyODk1MDBGQkFE
QjkgLyogQ3J5cHRvS2V5VXNhZ2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTdDOUFDQUE4MUYzQ0NF
QjQwMEYzQUEwOSAvKiBDcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJzICov
LAorCQkJCTdDOUFDQUE0MUYzQ0NFNjkwMEYzQUEwOSAvKiBDcnlwdG9Sc2FLZXlBbGdvcml0aG0u
aCBpbiBIZWFkZXJzICovLAogCQkJCTMxNkZFMTE0MEU2RTFEQTcwMEJGNjA4OCAvKiBDU1NBbmlt
YXRpb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjE1REE4QTBGM0FBRUU3MDAw
MENFNDcgLyogQ1NTQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTMxQkM3NDJFMUFBRkY0NUMwMDZCNDM0MCAvKiBDU1NBbmltYXRpb25UcmlnZ2VyU2Nyb2xs
VmFsdWUuaCBpbiBIZWFkZXJzICovLApAQCAtMjczNzUsNyArMjc0MzgsNiBAQAogCQkJCTMxNkJE
QkY3MUU3NjJBRDUwMERFMEQ1QSAvKiBHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkzMTZCREJGMDFFNzYyOTIwMDBERTBENUEgLyogR1BVRGVwdGhTdGVuY2ls
U3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxNkJEQjg2MUU2RTBBMjcwMERFMEQ1QSAvKiBH
UFVEZXZpY2UuaCBpbiBIZWFkZXJzICovLAotCQkJCTUxRjE3NEZFMUYzNTg5OTIwMEM3NDk1MCAv
KiBXb3JrZXJUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTZCREJDRDFFNzVGMTg0MDBERTBE
NUEgLyogR1BVRHJhd2FibGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxNkJEQkZCMUU3NjJEMDQw
MERFMEQ1QSAvKiBHUFVFbnVtcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE2QkRCOTUxRTcwQzg5
NzAwREUwRDVBIC8qIEdQVUZ1bmN0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTI3NDYzLDcgKzI3
NTI1LDYgQEAKIAkJCQlBODcxRDQ1QzBBMTI3Q0JDMDBCMTJBNjggLyogSFRNTEVtYmVkRWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc3QjM4NkExMjI4ODNFOTAwQjgxRkY4IC8qIEhUTUxF
bnRpdHlQYXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3N0IzODZDMTIyODgzRTkwMEI4MUZG
OCAvKiBIVE1MRW50aXR5U2VhcmNoLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzRGRjFGMzU4
OTk3MDBDNzQ5NTAgLyogU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggaW4gSGVhZGVycyAq
LywKIAkJCQk5NzdCMzg2RDEyMjg4M0U5MDBCODFGRjggLyogSFRNTEVudGl0eVRhYmxlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBODEzNjlENDA5NzM3NEY2MDBENzQ0NjMgLyogSFRNTEZpZWxkU2V0
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThDRkY3QTYwQTE1Njk3ODAwMEE0MjM0IC8q
IEhUTUxGb250RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzc5MiwxNCArMjc4NTMsMTkg
QEAKIAkJCQk3N0Q1MTAxQzFFRDcyMkJGMDBEQTRDODcgLyogSlNDcmVkZW50aWFsc0NvbnRhaW5l
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzdENTEwMDIxRUQ0RjcxODAwREE0Qzg3IC8qIEpTQ3Jl
ZGVudGlhbFVzZXJEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzVDQTJBMjEzMDM2NzlEMDBF
OTlBRDkgLyogSlNDcnlwdG8uaCBpbiBIZWFkZXJzICovLAotCQkJCUUxNTdBOEYxMTgxODU0MjUw
MDlGODIxRCAvKiBKU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTdDOUFDQUI4MUYzQ0YxQUUwMEYzQUEwOSAvKiBKU0NyeXB0b0Flc0tleUFsZ29yaXRobS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTFDNjU3MTMxODE1RjlERDAwMjU2Q0REIC8qIEpTQ3J5cHRvQWxn
b3JpdGhtRGljdGlvbmFyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTczOUUxMkYxREFDN0Y3ODAw
RTE0MzgzIC8qIEpTQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJN0M5QUNBQkExRjNDRjFBRTAwRjNBQTA5IC8qIEpTQ3J5cHRvRWNLZXlBbGdvcml0aG0uaCBp
biBIZWFkZXJzICovLAorCQkJCTdDOUFDQUJDMUYzQ0YxQUUwMEYzQUEwOSAvKiBKU0NyeXB0b0ht
YWNLZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNTdBOEUxMTgxNzMzMUMwMDlG
ODIxRCAvKiBKU0NyeXB0b0tleS5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0M5QUNBQkUxRjNDRjFB
RjAwRjNBQTA5IC8qIEpTQ3J5cHRvS2V5QWxnb3JpdGhtLmggaW4gSGVhZGVycyAqLywKIAkJCQlF
MUY4MEI4RTE4MzE3MkI1MDA3ODg1QzMgLyogSlNDcnlwdG9LZXlQYWlyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlFMTI1Rjg1MjE4MjgzQTU2MDBEODRDRDkgLyogSlNDcnlwdG9LZXlTZXJpYWxpemF0
aW9uSldLLmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0QwMDE4RDFERDU0MTMyMDBFRDE5RDkgLyog
SlNDcnlwdG9LZXlVc2FnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNUY4M0UxODI0MTFFNzAw
RDg0Q0Q5IC8qIEpTQ3J5cHRvT3BlcmF0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0M5
QUNBQzAxRjNDRjFBRjAwRjNBQTA5IC8qIEpTQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3JpdGhtLmgg
aW4gSGVhZGVycyAqLywKKwkJCQk3QzlBQ0FDMjFGM0NGMUFGMDBGM0FBMDkgLyogSlNDcnlwdG9S
c2FLZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNDZDMUZEMEMwRERDOEYwMDIw
Q0ZDMyAvKiBKU0NTU0ZvbnRGYWNlUnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM0NkMxRkYw
QzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTSW1wb3J0UnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MzE2RkUwNzIwRTZDQ0JFRTAwQkY2MDg4IC8qIEpTQ1NTS2V5ZnJhbWVSdWxlLmggaW4gSGVhZGVy
cyAqLywKQEAgLTI4MjExLDYgKzI4Mjc3LDcgQEAKIAkJCQk1MTgyQzI1ODFGMzE0M0NEMDA1OUJB
N0MgLyogSlNTZXJ2aWNlV29ya2VyQ29udGFpbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTgy
QzI1QTFGMzE0M0NEMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxODJDMjVDMUYzMTQzQ0QwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTUxRjE3NTAzMUYzNThCM0IwMEM3
NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOUJEQTY0RDgxQjk3NUNGMjAwOUM0Mzg3IC8qIEpTU2hhZG93Um9vdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDZERkY0OUMxREMyNjIwQjAwQjgwQjQ4IC8qIEpTU2hhZG93Um9vdE1vZGUuaCBp
biBIZWFkZXJzICovLAogCQkJCUNEOURFMTdCMTdBQUM3NUIwMEVBMzg2RCAvKiBKU1NvdXJjZUJ1
ZmZlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODQxMCw3ICsyODQ3Nyw2IEBACiAJCQkJNkUzRkFE
MzkxNDczM0Y0MDAwRTQyMzA2IC8qIEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTZFRThBNzczMTBGODAzRjMwMDVBNEEyNCAvKiBKU1dlYkdMQ29udGV4
dEF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMkNCRjRFMTQwRjFBQkQwMDM4NzlC
RSAvKiBKU1dlYkdMQ29udGV4dEV2ZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzUwNjFG
MzU4QkY3MDBDNzQ5NTAgLyogSlNXb3JrZXJUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RTNG
QUQzOTE0NzMzRjQwMTFFNDIzMDcgLyogSlNXZWJHTERlYnVnUmVuZGVyZXJJbmZvLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk2RTNGQUQzOTE0NzMzRjQwMjJFNDIzMDcgLyogSlNXZWJHTERlYnVnU2hh
ZGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkUzRkFEMzkxNDczM0Y0MDAwRTQyMzA3IC8qIEpT
V2ViR0xEZXB0aFRleHR1cmUuaCBpbiBIZWFkZXJzICovLApAQCAtMjg0NjgsNiArMjg1MzQsNyBA
QAogCQkJCUUxQzM2RDM1MEVCMEEwOTQwMDc0MTBCQyAvKiBKU1dvcmtlckdsb2JhbFNjb3BlQmFz
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFDMzYyRUYwRUFGMkFBOTAwNzQxMEJDIC8qIEpTV29y
a2VyTG9jYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMjcxQTU4MEVFRUNERTQwMEY2MTIx
MyAvKiBKU1dvcmtlck5hdmlnYXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTFGMTc1MDYxRjM1
OEJGNzAwQzc0OTUwIC8qIEpTV29ya2VyVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M0Qzk2
REQxQUQ0NDgzNTAwMzY1QTYwIC8qIEpTV3JpdGFibGVTdHJlYW0uaCBpbiBIZWFkZXJzICovLAog
CQkJCTgzNThDQjcwMUM1MzI3NzUwMEUwQzJEOCAvKiBKU1hNTERvY3VtZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzM0OEJENDBEQjdGODA0MDA0QUJBQjkgLyogSlNYTUxIdHRwUmVxdWVzdC5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yODY4OSw3ICsyODc1Niw2IEBACiAJCQkJNDEzRTAwNzkxREIw
RTRGMjAwMjM0MUQyIC8qIE1lbW9yeVJlbGVhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5
REZBMDk5RTY0OTIwMDU2RTU4MSAvKiBNZXJnZUlkZW50aWNhbEVsZW1lbnRzQ29tbWFuZC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTFBREVDQ0UwRTc2QUQ4QjAwNEExQTVFIC8qIE1lc3NhZ2VDaGFu
bmVsLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUYxNzUwMzFGMzU4QjNCMDBDNzQ5NTAgLyogSlNT
ZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTc1NzkzRTg0
MEQwQ0UwQjMwMDdGQzBBQyAvKiBNZXNzYWdlRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUx
QURFQ0JGMEU3NkFDRjEwMDRBMUE1RSAvKiBNZXNzYWdlUG9ydC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNDFCRjcwMEMwRkU4NkY0OTAwNUU4REVDIC8qIE1lc3NhZ2VQb3J0Q2hhbm5lbC5oIGluIEhl
YWRlcnMgKi8sCkBAIC0yOTM2OCw2ICsyOTQzNCw3IEBACiAJCQkJNTE4MkMyNDExRjMxM0EwOTAw
NTlCQTdDIC8qIFNlcnZpY2VXb3JrZXJDb250YWluZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
ODJDMjQzMUYzMTNBMDkwMDU5QkE3QyAvKiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxODJDMjQ1MUYzMTNBMDkwMDU5QkE3QyAvKiBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MUYxNzRGRjFGMzU4OTk3MDBDNzQ5
NTAgLyogU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3
NTZCMkNFMTE4QjcxMDE2MDBGRUNGQUEgLyogU2Vzc2lvbklELmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5MzMwOUUxMDA5OUU2NDkyMDA1NkU1ODEgLyogU2V0Tm9kZUF0dHJpYnV0ZUNvbW1hbmQuaCBp
biBIZWFkZXJzICovLAogCQkJCUI4REJEQjRDMTMwQjBGOEEwMEY1Q0RCMSAvKiBTZXRTZWxlY3Rp
b25Db21tYW5kLmggaW4gSGVhZGVycyAqLywKQEAgLTMwMTczLDYgKzMwMjQwLDcgQEAKIAkJCQkw
QjkwNTZGOTBGMjY4NUYzMDA5NUZGNkEgLyogV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTdBQUJEMkQxNEZBMDlENTAwNzQ1N0FFIC8qIFdvcmtlclRocmVhZGFi
bGVXZWJTb2NrZXRDaGFubmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTRBMEM2ODFEQjgwN0Q5
MDAxN0E5MEIgLyogV29ya2VyVG9QYWdlRnJvbnRlbmRDaGFubmVsLmggaW4gSGVhZGVycyAqLywK
KwkJCQk1MUYxNzRGRTFGMzU4OTkyMDBDNzQ5NTAgLyogV29ya2VyVHlwZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTMzMDlFMjQwOTlFNjQ5MjAwNTZFNTgxIC8qIFdyYXBDb250ZW50c0luRHVtbXlT
cGFuQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE2RTZGRTkxQkJEMTJFNTAwMEE2MDUz
IC8qIFdyaXRhYmxlU3RyZWFtQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxNkU2RkU4
MUJCRDEyREYwMDBBNjA1MyAvKiBXcml0YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggaW4g
SGVhZGVycyAqLywKQEAgLTMxNzY3LDE1ICszMTgzNSwxOSBAQAogCQkJCTc3RDUxMDFEMUVENzIy
QzMwMERBNEM4NyAvKiBKU0NyZWRlbnRpYWxzQ29udGFpbmVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTc3RDUxMDAzMUVENEY3MUIwMERBNEM4NyAvKiBKU0NyZWRlbnRpYWxVc2VyRGF0YS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk5NzVDQTJBMTEzMDM2NzlEMDBFOTlBRDkgLyogSlNDcnlwdG8u
Y3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJRTE1N0E4RjAxODE4NTQyNTAwOUY4MjFEIC8qIEpTQ3J5
cHRvQWxnb3JpdGhtQnVpbGRlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3QzlBQ0FCNzFGM0NG
MUFFMDBGM0FBMDkgLyogSlNDcnlwdG9BZXNLZXlBbGdvcml0aG0uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJRTFDNjU3MTIxODE1RjlERDAwMjU2Q0REIC8qIEpTQ3J5cHRvQWxnb3JpdGhtRGljdGlv
bmFyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1NzM5RTEzMTFEQUM3RkQxMDBFMTQzODMgLyog
SlNDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTdDOUFD
QUI5MUYzQ0YxQUUwMEYzQUEwOSAvKiBKU0NyeXB0b0VjS2V5QWxnb3JpdGhtLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTdDOUFDQUJCMUYzQ0YxQUUwMEYzQUEwOSAvKiBKU0NyeXB0b0htYWNLZXlB
bGdvcml0aG0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE1N0E4RTAxODE3MzMxQzAwOUY4MjFE
IC8qIEpTQ3J5cHRvS2V5LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUUxNTdBOEU4MTgxODRDNjcw
MDlGODIxRCAvKiBKU0NyeXB0b0tleUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3QzlB
Q0FCRDFGM0NGMUFFMDBGM0FBMDkgLyogSlNDcnlwdG9LZXlBbGdvcml0aG0uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJRTFGODBCOEQxODMxNzJCNTAwNzg4NUMzIC8qIEpTQ3J5cHRvS2V5UGFpci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTI1Rjg1MTE4MjgzQTU2MDBEODRDRDkgLyogSlNDcnlw
dG9LZXlTZXJpYWxpemF0aW9uSldLLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU3RDAwMThGMURE
NTQxNTMwMEVEMTlEOSAvKiBKU0NyeXB0b0tleVVzYWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUUxMjVGODNEMTgyNDExRTcwMEQ4NENEOSAvKiBKU0NyeXB0b09wZXJhdGlvbkRhdGEuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJN0M5QUNBQkYxRjNDRjFBRjAwRjNBQTA5IC8qIEpTQ3J5cHRvUnNh
SGFzaGVkS2V5QWxnb3JpdGhtLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTdDOUFDQUMxMUYzQ0Yx
QUYwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUtleUFsZ29yaXRobS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlCQzQ2QzFGQzBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NGb250RmFjZVJ1bGUuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQkM0NkMxRkUwQzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTSW1wb3J0
UnVsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMTZGRTA3MTBFNkNDQkVFMDBCRjYwODggLyog
SlNDU1NLZXlmcmFtZVJ1bGUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMjA0NCw3ICszMjExNiw2
IEBACiAJCQkJMTJBMjUzRTAxQzhGRkY2NjAwQzIyMjk1IC8qIEpTS2V5ZnJhbWVFZmZlY3QuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJOTM1RjQ1NDIwRjdDM0I1RjAwRDdDMUZCIC8qIEpTTGF6eUV2
ZW50TGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFMUM0M0IwRDk4MzBEMzAwM0Iw
MkYyIC8qIEpTTG9jYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTFGMTc1MDcxRjM1OEJG
OTAwQzc0OTUwIC8qIEpTV29ya2VyVHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0UxQzQ0
MDBEOTgzMEY0MDAzQjAyRjIgLyogSlNMb2NhdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk5M0E4MDYxRjFFMDNCNTg1MDA4QTFGMjYgLyogSlNMb25nUmFuZ2UuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJOEZBQzc3NEQxMTk4NzJDQjAwMTVBRTk0IC8qIEpTTWFpblRocmVhZEV4ZWNT
dGF0ZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMyMjAxLDYgKzMyMjcyLDcgQEAKIAkJCQk1MTgy
QzI1NzFGMzE0M0NEMDA1OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTUxODJDMjU5MUYzMTQzQ0QwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTgyQzI1QjFGMzE0M0NEMDA1
OUJBN0MgLyogSlNTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTUxRjE3NTAyMUYzNThCM0IwMEM3NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFD
YWNoZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5QkRBNjRENzFCOTc1Q0U1MDA5QzQzODcgLyog
SlNTaGFkb3dSb290LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ2REZGNDlCMURDMjYyMEIwMEI4
MEI0OCAvKiBKU1NoYWRvd1Jvb3RNb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNEOURFMTdB
MTdBQUM3NUIwMEVBMzg2RCAvKiBKU1NvdXJjZUJ1ZmZlci5jcHAgaW4gU291cmNlcyAqLywKQEAg
LTMyNDgzLDYgKzMyNTU1LDcgQEAKIAkJCQlFMTgyNThBQzBFRjNDRDcwMDA5MzMyNDIgLyogSlNX
b3JrZXJHbG9iYWxTY29wZUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUMzNjJGMDBF
QUYyQUE5MDA3NDEwQkMgLyogSlNXb3JrZXJMb2NhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlFMTI3MUE1OTBFRUVDREU0MDBGNjEyMTMgLyogSlNXb3JrZXJOYXZpZ2F0b3IuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNTFGMTc1MDcxRjM1OEJGOTAwQzc0OTUwIC8qIEpTV29ya2VyVHlwZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzRDOTZEQzFBRDQ0ODM1MDAzNjVBNjAgLyogSlNXcml0
YWJsZVN0cmVhbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4MzU4Q0I2RjFDNTMyNzcyMDBFMEMy
RDggLyogSlNYTUxEb2N1bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4M0E0QTlGOTFDRTdG
RDgxMDA3MDlCMDAgLyogSlNYTUxEb2N1bWVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKQEAg
LTMzNjgwLDcgKzMzNzUzLDYgQEAKIAkJCQk3QUY5QjIwMjE4Q0ZCMkRGMDBDNjRCRUYgLyogVlRU
UmVnaW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBRjlCMjA1MThDRkIyREYwMEM2NEJFRiAv
KiBWVFRSZWdpb25MaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBOTM4Njg1MThEQ0MxNDUw
MEI4MjYzRCAvKiBWVFRTY2FubmVyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxRjE3NTAyMUYz
NThCM0IwMEM3NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlBMTQ4MzJCMTE4N0Y2MUUxMDBEQTYzQTYgLyogV0FLQXBwS2l0U3R1YnMu
bSBpbiBTb3VyY2VzICovLAogCQkJCUExNDgzMkIzMTg3RjYyOTEwMERBNjNBNiAvKiBXQUtDbGlw
Vmlldy5tIGluIFNvdXJjZXMgKi8sCiAJCQkJQTE0ODMyQjUxODdGNjJGQzAwREE2M0E2IC8qIFdB
S1Jlc3BvbmRlci5tIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlci5jcHAJKHJldmlzaW9u
IDIyMDUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3J5cHRvQWxnb3JpdGht
QnVpbGRlci5jcHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw4MiArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlci5o
IgotCi0jaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8pCi0KLSNpbmNsdWRlIDxydW50aW1lL0pTQ0lu
bGluZXMuaD4KLSNpbmNsdWRlIDxydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmg+Ci0jaW5jbHVk
ZSA8cnVudGltZS9UeXBlZEFycmF5cy5oPgotI2luY2x1ZGUgPHJ1bnRpbWUvVHlwZWRBcnJheUlu
bGluZXMuaD4KLSNpbmNsdWRlIDxydW50aW1lL1ZNRW50cnlTY29wZS5oPgotCi11c2luZyBuYW1l
c3BhY2UgSlNDOwotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLUpTQ3J5cHRvQWxnb3JpdGhtQnVp
bGRlcjo6SlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyKEV4ZWNTdGF0ZSogZXhlYykKLSAgICA6IG1f
ZXhlYyhleGVjKQotICAgICwgbV9kaWN0aW9uYXJ5KGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMp
KQotewotfQotCi1KU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXI6On5KU0NyeXB0b0FsZ29yaXRobUJ1
aWxkZXIoKQotewotfQotCi12b2lkIEpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlcjo6YWRkKGNvbnN0
IGNoYXIqIGtleSwgdW5zaWduZWQgdmFsdWUpCi17Ci0gICAgVk0mIHZtID0gbV9leGVjLT52bSgp
OwotICAgIElkZW50aWZpZXIgaWRlbnRpZmllciA9IElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZt
LCBrZXkpOwotICAgIG1fZGljdGlvbmFyeS0+cHV0RGlyZWN0KHZtLCBpZGVudGlmaWVyLCBqc051
bWJlcih2YWx1ZSkpOwotfQotCi12b2lkIEpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlcjo6YWRkKGNv
bnN0IGNoYXIqIGtleSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKLXsKLSAgICBWTSYgdm0gPSBtX2V4
ZWMtPnZtKCk7Ci0gICAgSWRlbnRpZmllciBpZGVudGlmaWVyID0gSWRlbnRpZmllcjo6ZnJvbVN0
cmluZygmdm0sIGtleSk7Ci0gICAgbV9kaWN0aW9uYXJ5LT5wdXREaXJlY3Qodm0sIGlkZW50aWZp
ZXIsIGpzU3RyaW5nKG1fZXhlYywgdmFsdWUpKTsKLX0KLQotdm9pZCBKU0NyeXB0b0FsZ29yaXRo
bUJ1aWxkZXI6OmFkZChjb25zdCBjaGFyKiBrZXksIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgYnVm
ZmVyKQotewotICAgIFZNJiB2bSA9IG1fZXhlYy0+dm0oKTsKLSAgICBJZGVudGlmaWVyIGlkZW50
aWZpZXIgPSBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwga2V5KTsKLSAgICBSZWZQdHI8VWlu
dDhBcnJheT4gYXJyYXlWaWV3ID0gVWludDhBcnJheTo6Y3JlYXRlKGJ1ZmZlci5kYXRhKCksIGJ1
ZmZlci5zaXplKCkpOwotICAgIG1fZGljdGlvbmFyeS0+cHV0RGlyZWN0KHZtLCBpZGVudGlmaWVy
LCBhcnJheVZpZXctPndyYXAobV9leGVjLCB2bS5lbnRyeVNjb3BlLT5nbG9iYWxPYmplY3QoKSkp
OwotfQotCi12b2lkIEpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlcjo6YWRkKGNvbnN0IGNoYXIqIGtl
eSwgY29uc3QgSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyJiBuZXN0ZWRCdWlsZGVyKQotewotICAg
IFZNJiB2bSA9IG1fZXhlYy0+dm0oKTsKLSAgICBJZGVudGlmaWVyIGlkZW50aWZpZXIgPSBJZGVu
dGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwga2V5KTsKLSAgICBtX2RpY3Rpb25hcnktPnB1dERpcmVj
dCh2bSwgaWRlbnRpZmllciwgbmVzdGVkQnVpbGRlci5yZXN1bHQoKSk7Ci19Ci0KLX0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQpJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDcnlwdG9BbGdvcml0aG1C
dWlsZGVyLmgJKHJldmlzaW9uIDIyMDUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlci5oCShub25leGlzdGVudCkKQEAgLTEsNjIgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8p
Ci0KLSNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KLQotbmFtZXNwYWNlIEpTQyB7Ci1jbGFzcyBFeGVjU3RhdGU7Ci1jbGFzcyBKU09iamVjdDsK
LX0KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBKU0NyeXB0b0FsZ29yaXRobUJ1aWxk
ZXIgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlcik7
Ci1wdWJsaWM6Ci0gICAgSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyKEpTQzo6RXhlY1N0YXRlKik7
Ci0gICAgdmlydHVhbCB+SlNDcnlwdG9BbGdvcml0aG1CdWlsZGVyKCk7Ci0KLSAgICBKU0M6OkpT
T2JqZWN0KiByZXN1bHQoKSBjb25zdCB7IHJldHVybiBtX2RpY3Rpb25hcnk7IH0KLQotICAgIHZv
aWQgYWRkKGNvbnN0IGNoYXIqLCB1bnNpZ25lZCk7Ci0gICAgdm9pZCBhZGQoY29uc3QgY2hhcios
IGNvbnN0IFN0cmluZyYpOwotICAgIHZvaWQgYWRkKGNvbnN0IGNoYXIqLCBjb25zdCBWZWN0b3I8
dWludDhfdD4mKTsKLSAgICB2b2lkIGFkZChjb25zdCBjaGFyKiwgY29uc3QgSlNDcnlwdG9BbGdv
cml0aG1CdWlsZGVyJik7Ci0KLXByaXZhdGU6Ci0gICAgSlNDOjpFeGVjU3RhdGUqIG1fZXhlYzsK
LSAgICBKU0M6OkpTT2JqZWN0KiBtX2RpY3Rpb25hcnk7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoU1VCVExFX0NSWVBUTykKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3J5cHRvS2V5Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NyeXB0b0tleUN1c3RvbS5jcHAJKHJldmlzaW9u
IDIyMDUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3J5cHRvS2V5Q3VzdG9t
LmNwcAkobm9uZXhpc3RlbnQpCkBAIC0xLDEwNCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1
ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkpTQ3J5cHRvS2V5LmgiCi0KLSNpZiBFTkFCTEUoU1VC
VExFX0NSWVBUTykKLQotI2luY2x1ZGUgIkNyeXB0b0tleUFFUy5oIgotI2luY2x1ZGUgIkNyeXB0
b0tleUVDLmgiCi0jaW5jbHVkZSAiQ3J5cHRvS2V5SE1BQy5oIgotI2luY2x1ZGUgIkNyeXB0b0tl
eVJTQS5oIgotI2luY2x1ZGUgIkNyeXB0b0tleVJhdy5oIgotI2luY2x1ZGUgIkpTQ3J5cHRvQWxn
b3JpdGhtQnVpbGRlci5oIgotI2luY2x1ZGUgPGhlYXAvSGVhcElubGluZXMuaD4KLSNpbmNsdWRl
IDxydW50aW1lL0pTQ0pTVmFsdWVJbmxpbmVzLmg+Ci0KLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0K
LW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotSlNWYWx1ZSBKU0NyeXB0b0tleTo6YWxnb3JpdGhtKEpT
Qzo6RXhlY1N0YXRlJiBzdGF0ZSkgY29uc3QKLXsKLSAgICBpZiAobV9hbGdvcml0aG0pCi0gICAg
ICAgIHJldHVybiBtX2FsZ29yaXRobS5nZXQoKTsKLQotICAgIEpTQ3J5cHRvQWxnb3JpdGhtQnVp
bGRlciBidWlsZGVyKCZzdGF0ZSk7Ci0KLSAgICBzdGQ6OnVuaXF1ZV9wdHI8S2V5QWxnb3JpdGht
PiBhbGdvcml0aG0gPSB3cmFwcGVkKCkuYnVpbGRBbGdvcml0aG0oKTsKLSAgICBzd2l0Y2ggKGFs
Z29yaXRobS0+a2V5QWxnb3JpdGhtQ2xhc3MoKSkgewotICAgIGNhc2UgS2V5QWxnb3JpdGhtQ2xh
c3M6OkFFUzogewotICAgICAgICBhdXRvJiBhZXNBbGdvcml0aG0gPSBkb3duY2FzdDxBZXNLZXlB
bGdvcml0aG0+KCphbGdvcml0aG0pOwotICAgICAgICBidWlsZGVyLmFkZCgibmFtZSIsIGFlc0Fs
Z29yaXRobS5uYW1lKCkpOwotICAgICAgICBidWlsZGVyLmFkZCgibGVuZ3RoIiwgYWVzQWxnb3Jp
dGhtLmxlbmd0aCgpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgS2V5QWxnb3Jp
dGhtQ2xhc3M6OkVDOiB7Ci0gICAgICAgIGF1dG8mIGVjQWxnb3JpdGhtID0gZG93bmNhc3Q8RWNL
ZXlBbGdvcml0aG0+KCphbGdvcml0aG0pOwotICAgICAgICBidWlsZGVyLmFkZCgibmFtZSIsIGVj
QWxnb3JpdGhtLm5hbWUoKSk7Ci0gICAgICAgIGJ1aWxkZXIuYWRkKCJuYW1lZEN1cnZlIiwgZWNB
bGdvcml0aG0ubmFtZWRDdXJ2ZSgpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2Ug
S2V5QWxnb3JpdGhtQ2xhc3M6OkhNQUM6IHsKLSAgICAgICAgYXV0byYgaG1hY0FsZ29yaXRobSA9
IGRvd25jYXN0PEhtYWNLZXlBbGdvcml0aG0+KCphbGdvcml0aG0pOwotICAgICAgICBidWlsZGVy
LmFkZCgibmFtZSIsIGhtYWNBbGdvcml0aG0ubmFtZSgpKTsKLSAgICAgICAgSlNDcnlwdG9BbGdv
cml0aG1CdWlsZGVyIGhtYWNIYXNoKCZzdGF0ZSk7Ci0gICAgICAgIGhtYWNIYXNoLmFkZCgibmFt
ZSIsIGhtYWNBbGdvcml0aG0uaGFzaCgpKTsKLSAgICAgICAgYnVpbGRlci5hZGQoImhhc2giLCBo
bWFjSGFzaCk7Ci0gICAgICAgIGJ1aWxkZXIuYWRkKCJsZW5ndGgiLCBobWFjQWxnb3JpdGhtLmxl
bmd0aCgpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgS2V5QWxnb3JpdGhtQ2xh
c3M6OkhSU0E6IHsKLSAgICAgICAgYXV0byYgcnNhQWxnb3JpdGhtID0gZG93bmNhc3Q8UnNhSGFz
aGVkS2V5QWxnb3JpdGhtPigqYWxnb3JpdGhtKTsKLSAgICAgICAgYnVpbGRlci5hZGQoIm5hbWUi
LCByc2FBbGdvcml0aG0ubmFtZSgpKTsKLSAgICAgICAgYnVpbGRlci5hZGQoIm1vZHVsdXNMZW5n
dGgiLCByc2FBbGdvcml0aG0ubW9kdWx1c0xlbmd0aCgpKTsKLSAgICAgICAgYnVpbGRlci5hZGQo
InB1YmxpY0V4cG9uZW50IiwgcnNhQWxnb3JpdGhtLnB1YmxpY0V4cG9uZW50KCkpOwotICAgICAg
ICBKU0NyeXB0b0FsZ29yaXRobUJ1aWxkZXIgcnNhSGFzaCgmc3RhdGUpOwotICAgICAgICByc2FI
YXNoLmFkZCgibmFtZSIsIHJzYUFsZ29yaXRobS5oYXNoKCkpOwotICAgICAgICBidWlsZGVyLmFk
ZCgiaGFzaCIsIHJzYUhhc2gpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgY2FzZSBLZXlB
bGdvcml0aG1DbGFzczo6UlNBOiB7Ci0gICAgICAgIGF1dG8mIHJzYUFsZ29yaXRobSA9IGRvd25j
YXN0PFJzYUtleUFsZ29yaXRobT4oKmFsZ29yaXRobSk7Ci0gICAgICAgIGJ1aWxkZXIuYWRkKCJu
YW1lIiwgcnNhQWxnb3JpdGhtLm5hbWUoKSk7Ci0gICAgICAgIGJ1aWxkZXIuYWRkKCJtb2R1bHVz
TGVuZ3RoIiwgcnNhQWxnb3JpdGhtLm1vZHVsdXNMZW5ndGgoKSk7Ci0gICAgICAgIGJ1aWxkZXIu
YWRkKCJwdWJsaWNFeHBvbmVudCIsIHJzYUFsZ29yaXRobS5wdWJsaWNFeHBvbmVudCgpKTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgS2V5QWxnb3JpdGhtQ2xhc3M6OlJhdzogewot
ICAgICAgICBhdXRvJiByYXdBbGdvcml0aG0gPSBkb3duY2FzdDxSYXdLZXlBbGdvcml0aG0+KCph
bGdvcml0aG0pOwotICAgICAgICBidWlsZGVyLmFkZCgibmFtZSIsIHJhd0FsZ29yaXRobS5uYW1l
KCkpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgfQotCi0gICAgbV9hbGdvcml0aG0uc2V0
KHN0YXRlLnZtKCksIHRoaXMsIGJ1aWxkZXIucmVzdWx0KCkpOwotICAgIHJldHVybiBtX2FsZ29y
aXRobS5nZXQoKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5B
QkxFKFNVQlRMRV9DUllQVE8pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5LmNwcAko
cmV2aXNpb24gMjIwNTI4KQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0tleS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDExIEBACiAjaWYgRU5BQkxFKFNVQlRMRV9DUllQ
VE8pCiAKICNpbmNsdWRlICJDcnlwdG9BbGdvcml0aG1SZWdpc3RyeS5oIgorI2luY2x1ZGUgIkNy
eXB0b0tleUFFUy5oIgorI2luY2x1ZGUgIkNyeXB0b0tleUVDLmgiCisjaW5jbHVkZSAiQ3J5cHRv
S2V5SE1BQy5oIgorI2luY2x1ZGUgIkNyeXB0b0tleVJTQS5oIgorI2luY2x1ZGUgIkNyeXB0b0tl
eVJhdy5oIgogI2luY2x1ZGUgPHd0Zi9DcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NSw2ICs1MCwyNSBAQCBDcnlwdG9LZXk6On5Dcnlw
dG9LZXkoKQogewogfQogCithdXRvIENyeXB0b0tleTo6YWxnb3JpdGhtKCkgY29uc3QgLT4gQWxn
b3JpdGhtVmFyaWFudAoreworICAgIHN0ZDo6dW5pcXVlX3B0cjxLZXlBbGdvcml0aG0+IGFsZ29y
aXRobSA9IGJ1aWxkQWxnb3JpdGhtKCk7CisgICAgc3dpdGNoIChhbGdvcml0aG0tPmtleUFsZ29y
aXRobUNsYXNzKCkpIHsKKyAgICBjYXNlIEtleUFsZ29yaXRobUNsYXNzOjpBRVM6CisgICAgICAg
IHJldHVybiBkb3duY2FzdDxBZXNLZXlBbGdvcml0aG0+KCphbGdvcml0aG0pLmRpY3Rpb25hcnko
KTsKKyAgICBjYXNlIEtleUFsZ29yaXRobUNsYXNzOjpFQzoKKyAgICAgICAgcmV0dXJuIGRvd25j
YXN0PEVjS2V5QWxnb3JpdGhtPigqYWxnb3JpdGhtKS5kaWN0aW9uYXJ5KCk7CisgICAgY2FzZSBL
ZXlBbGdvcml0aG1DbGFzczo6SE1BQzoKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0PEhtYWNLZXlB
bGdvcml0aG0+KCphbGdvcml0aG0pLmRpY3Rpb25hcnkoKTsKKyAgICBjYXNlIEtleUFsZ29yaXRo
bUNsYXNzOjpIUlNBOgorICAgICAgICByZXR1cm4gZG93bmNhc3Q8UnNhSGFzaGVkS2V5QWxnb3Jp
dGhtPigqYWxnb3JpdGhtKS5kaWN0aW9uYXJ5KCk7CisgICAgY2FzZSBLZXlBbGdvcml0aG1DbGFz
czo6UlNBOgorICAgICAgICByZXR1cm4gZG93bmNhc3Q8UnNhS2V5QWxnb3JpdGhtPigqYWxnb3Jp
dGhtKS5kaWN0aW9uYXJ5KCk7CisgICAgY2FzZSBLZXlBbGdvcml0aG1DbGFzczo6UmF3OgorICAg
ICAgICByZXR1cm4gZG93bmNhc3Q8UmF3S2V5QWxnb3JpdGhtPigqYWxnb3JpdGhtKS5kaWN0aW9u
YXJ5KCk7CisgICAgfQorfQorCiBhdXRvIENyeXB0b0tleTo6dXNhZ2VzKCkgY29uc3QgLT4gVmVj
dG9yPENyeXB0b0tleVVzYWdlPgogewogICAgIC8vIFRoZSByZXN1bHQgaXMgb3JkZXJlZCBhbHBo
YWJldGljYWxseS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9LZXkuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5LmgJKHJldmlzaW9uIDIy
MDUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9LZXkuaAkod29ya2luZyBjb3B5
KQpAQCAtMjcsMTIgKzI3LDE5IEBACiAKICNpZiBFTkFCTEUoU1VCVExFX0NSWVBUTykKIAorI2lu
Y2x1ZGUgIkNyeXB0b0Flc0tleUFsZ29yaXRobS5oIgogI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRo
bUlkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJDcnlwdG9FY0tleUFsZ29yaXRobS5oIgorI2luY2x1
ZGUgIkNyeXB0b0htYWNLZXlBbGdvcml0aG0uaCIKKyNpbmNsdWRlICJDcnlwdG9LZXlBbGdvcml0
aG0uaCIKICNpbmNsdWRlICJDcnlwdG9LZXlUeXBlLmgiCiAjaW5jbHVkZSAiQ3J5cHRvS2V5VXNh
Z2UuaCIKKyNpbmNsdWRlICJDcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0uaCIKKyNpbmNsdWRl
ICJDcnlwdG9Sc2FLZXlBbGdvcml0aG0uaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9UeXBlQ2Fz
dHMuaD4KKyNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtODEsMTggKzg4LDE5IEBAIHBy
aXZhdGU6CiBjbGFzcyBDcnlwdG9LZXkgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8Q3J5
cHRvS2V5PiB7CiBwdWJsaWM6CiAgICAgdXNpbmcgVHlwZSA9IENyeXB0b0tleVR5cGU7CisgICAg
dXNpbmcgQWxnb3JpdGhtVmFyaWFudCA9IFZhcmlhbnQ8Q3J5cHRvS2V5QWxnb3JpdGhtLCBDcnlw
dG9BZXNLZXlBbGdvcml0aG0sIENyeXB0b0VjS2V5QWxnb3JpdGhtLCBDcnlwdG9IbWFjS2V5QWxn
b3JpdGhtLCBDcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0sIENyeXB0b1JzYUtleUFsZ29yaXRo
bT47CisKICAgICBDcnlwdG9LZXkoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciwgVHlwZSwgYm9v
bCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXApOwogICAgIHZpcnR1YWwgfkNyeXB0
b0tleSgpOwogCi0gICAgdmlydHVhbCBDcnlwdG9LZXlDbGFzcyBrZXlDbGFzcygpIGNvbnN0ID0g
MDsKLQogICAgIFR5cGUgdHlwZSgpIGNvbnN0OwogICAgIGJvb2wgZXh0cmFjdGFibGUoKSBjb25z
dCB7IHJldHVybiBtX2V4dHJhY3RhYmxlOyB9Ci0gICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8
S2V5QWxnb3JpdGhtPiBidWlsZEFsZ29yaXRobSgpIGNvbnN0ID0gMDsKLQotICAgIC8vIE9ubHkg
Zm9yIGJpbmRpbmcgcHVycG9zZS4KKyAgICBBbGdvcml0aG1WYXJpYW50IGFsZ29yaXRobSgpIGNv
bnN0OwogICAgIFZlY3RvcjxDcnlwdG9LZXlVc2FnZT4gdXNhZ2VzKCkgY29uc3Q7CiAKKyAgICB2
aXJ0dWFsIENyeXB0b0tleUNsYXNzIGtleUNsYXNzKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwg
c3RkOjp1bmlxdWVfcHRyPEtleUFsZ29yaXRobT4gYnVpbGRBbGdvcml0aG0oKSBjb25zdCA9IDA7
CisKICAgICBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobUlkZW50aWZpZXIoKSBj
b25zdCB7IHJldHVybiBtX2FsZ29yaXRobUlkZW50aWZpZXI7IH0KICAgICBDcnlwdG9LZXlVc2Fn
ZUJpdG1hcCB1c2FnZXNCaXRtYXAoKSBjb25zdCB7IHJldHVybiBtX3VzYWdlczsgfQogICAgIHZv
aWQgc2V0VXNhZ2VzQml0bWFwKENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlKSB7IG1fdXNhZ2Vz
ID0gdXNhZ2U7IH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5LmlkbAkocmV2aXNp
b24gMjIwNTI4KQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0tleS5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTI5LDYgKzI5LDggQEAgZW51bSBLZXlUeXBlIHsKICAgICAic2VjcmV0Igog
fTsKIAordHlwZWRlZiAoQ3J5cHRvS2V5QWxnb3JpdGhtIG9yIENyeXB0b0Flc0tleUFsZ29yaXRo
bSBvciBDcnlwdG9FY0tleUFsZ29yaXRobSBvciBDcnlwdG9IbWFjS2V5QWxnb3JpdGhtIG9yIENy
eXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobSBvciBDcnlwdG9Sc2FLZXlBbGdvcml0aG0pIEtleUFs
Z29yaXRobTsKKwogWwogICAgIENvbmRpdGlvbmFsPVNVQlRMRV9DUllQVE8sCiAgICAgRXhwb3Nl
ZD0oV2luZG93LFdvcmtlciksCkBAIC0zNyw2ICszOSw2IEBAIGVudW0gS2V5VHlwZSB7CiBdIGlu
dGVyZmFjZSBDcnlwdG9LZXkgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBLZXlUeXBlIHR5cGU7
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gZXh0cmFjdGFibGU7Ci0gICAgW0NhY2hl
ZEF0dHJpYnV0ZSwgQ3VzdG9tR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1dGUgb2JqZWN0IGFsZ29y
aXRobTsKKyAgICBbQ2FjaGVkQXR0cmlidXRlXSByZWFkb25seSBhdHRyaWJ1dGUgS2V5QWxnb3Jp
dGhtIGFsZ29yaXRobTsKICAgICBbQ2FjaGVkQXR0cmlidXRlXSByZWFkb25seSBhdHRyaWJ1dGUg
c2VxdWVuY2U8Q3J5cHRvS2V5VXNhZ2U+IHVzYWdlczsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9jcnlwdG8va2V5cy9DcnlwdG9BZXNLZXlBbGdvcml0aG0uaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9BZXNLZXlBbGdvcml0aG0uaAkobm9uZXhpc3Rl
bnQpCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9BZXNLZXlBbGdvcml0aG0u
aAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlICJDcnlwdG9LZXlBbGdvcml0aG0uaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitzdHJ1Y3QgQ3J5cHRvQWVzS2V5QWxnb3JpdGhtIDogQ3J5cHRvS2V5QWxnb3JpdGht
IHsKKyAgICAvLyBUaGUgbGVuZ3RoLCBpbiBiaXRzLCBvZiB0aGUga2V5LgorICAgIHVuc2lnbmVk
IHNob3J0IGxlbmd0aDsKK307CisKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlz
L0NyeXB0b0Flc0tleUFsZ29yaXRobS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2tleXMvQ3J5cHRvQWVzS2V5QWxnb3JpdGhtLmlkbAkobm9uZXhpc3RlbnQpCisrKyBT
b3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9BZXNLZXlBbGdvcml0aG0uaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9u
YWw9U1VCVExFX0NSWVBUTywKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdAorXSBkaWN0aW9uYXJ5
IENyeXB0b0Flc0tleUFsZ29yaXRobSA6IENyeXB0b0tleUFsZ29yaXRobSB7CisgICAgLy8gVGhl
IGxlbmd0aCwgaW4gYml0cywgb2YgdGhlIGtleS4KKyAgICByZXF1aXJlZCB1bnNpZ25lZCBzaG9y
dCBsZW5ndGg7Cit9OwpJbmRleDogU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvRWNL
ZXlBbGdvcml0aG0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9D
cnlwdG9FY0tleUFsZ29yaXRobS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2Ny
eXB0by9rZXlzL0NyeXB0b0VjS2V5QWxnb3JpdGhtLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQ3J5cHRvS2V5
QWxnb3JpdGhtLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IENyeXB0b0VjS2V5
QWxnb3JpdGhtIDogQ3J5cHRvS2V5QWxnb3JpdGhtIHsKKyAgICAvLyBUaGUgbmFtZWQgY3VydmUg
dGhhdCB0aGUga2V5IHVzZXMKKyAgICBTdHJpbmcgbmFtZWRDdXJ2ZTsKK307CisKK30KKwpJbmRl
eDogU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvRWNLZXlBbGdvcml0aG0uaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0VjS2V5QWxnb3Jp
dGhtLmlkbAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9Dcnlw
dG9FY0tleUFsZ29yaXRobS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKK3R5cGVkZWYgRE9NU3RyaW5nIE5hbWVkQ3VydmU7CisKK1sKKyAgICBDb25kaXRp
b25hbD1TVUJUTEVfQ1JZUFRPLAorICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CitdIGRpY3Rpb25h
cnkgQ3J5cHRvRWNLZXlBbGdvcml0aG0gOiBDcnlwdG9LZXlBbGdvcml0aG0geworICAgIC8vIFRo
ZSBuYW1lZCBjdXJ2ZSB0aGF0IHRoZSBrZXkgdXNlcworICAgIHJlcXVpcmVkIE5hbWVkQ3VydmUg
bmFtZWRDdXJ2ZTsKK307CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9I
bWFjS2V5QWxnb3JpdGhtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5cHRvL2tl
eXMvQ3J5cHRvSG1hY0tleUFsZ29yaXRobS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJD
b3JlL2NyeXB0by9rZXlzL0NyeXB0b0htYWNLZXlBbGdvcml0aG0uaAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJD
cnlwdG9LZXlBbGdvcml0aG0uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgQ3J5
cHRvSG1hY0tleUFsZ29yaXRobSA6IENyeXB0b0tleUFsZ29yaXRobSB7CisgICAgLy8gVGhlIGlu
bmVyIGhhc2ggZnVuY3Rpb24gdG8gdXNlLgorICAgIENyeXB0b0tleUFsZ29yaXRobSBoYXNoOwor
ICAgIC8vIFRoZSBsZW5ndGggKGluIGJpdHMpIG9mIHRoZSBrZXkuCisgICAgdW5zaWduZWQgbGVu
Z3RoOworfTsKKworfQorCisKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0
b0htYWNLZXlBbGdvcml0aG0uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NyeXB0
by9rZXlzL0NyeXB0b0htYWNLZXlBbGdvcml0aG0uaWRsCShub25leGlzdGVudCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0htYWNLZXlBbGdvcml0aG0uaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9
U1VCVExFX0NSWVBUTywKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdAorXSBkaWN0aW9uYXJ5IENy
eXB0b0htYWNLZXlBbGdvcml0aG0gOiBDcnlwdG9LZXlBbGdvcml0aG0geworICAgIC8vIFRoZSBp
bm5lciBoYXNoIGZ1bmN0aW9uIHRvIHVzZS4KKyAgICByZXF1aXJlZCBDcnlwdG9LZXlBbGdvcml0
aG0gaGFzaDsKKyAgICAvLyBUaGUgbGVuZ3RoIChpbiBiaXRzKSBvZiB0aGUga2V5LgorICAgIHJl
cXVpcmVkIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOworfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Ny
eXB0by9rZXlzL0NyeXB0b0tleUFFUy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2tleXMvQ3J5cHRvS2V5QUVTLmNwcAkocmV2aXNpb24gMjIwNTI4KQorKysgU291cmNl
L1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5QUVTLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzgsNiArMzgsMTQgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitDcnlwdG9BZXNLZXlBbGdv
cml0aG0gQWVzS2V5QWxnb3JpdGhtOjpkaWN0aW9uYXJ5KCkgY29uc3QKK3sKKyAgICBDcnlwdG9B
ZXNLZXlBbGdvcml0aG0gcmVzdWx0OworICAgIHJlc3VsdC5uYW1lID0gdGhpcy0+bmFtZSgpOwor
ICAgIHJlc3VsdC5sZW5ndGggPSB0aGlzLT5sZW5ndGgoKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorCiBzdGF0aWMgaW5saW5lIGJvb2wgbGVuZ3RoSXNWYWxpZChzaXplX3QgbGVuZ3RoKQogewog
ICAgIHJldHVybiAobGVuZ3RoID09IENyeXB0b0tleUFFUzo6c19sZW5ndGgxMjgpIHx8IChsZW5n
dGggPT0gQ3J5cHRvS2V5QUVTOjpzX2xlbmd0aDE5MikgfHwgKGxlbmd0aCA9PSBDcnlwdG9LZXlB
RVM6OnNfbGVuZ3RoMjU2KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0
b0tleUFFUy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0
b0tleUFFUy5oCShyZXZpc2lvbiAyMjA1MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5
cy9DcnlwdG9LZXlBRVMuaAkod29ya2luZyBjb3B5KQpAQCAtNDksNiArNDksOCBAQCBwdWJsaWM6
CiAKICAgICBLZXlBbGdvcml0aG1DbGFzcyBrZXlBbGdvcml0aG1DbGFzcygpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIEtleUFsZ29yaXRobUNsYXNzOjpBRVM7IH0KIAorICAgIENyeXB0b0Flc0tleUFs
Z29yaXRobSBkaWN0aW9uYXJ5KCkgY29uc3Q7CisKICAgICBzaXplX3QgbGVuZ3RoKCkgY29uc3Qg
eyByZXR1cm4gbV9sZW5ndGg7IH0KIAogcHJpdmF0ZToKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Ny
eXB0by9rZXlzL0NyeXB0b0tleUFsZ29yaXRobS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUFsZ29yaXRobS5oCShub25leGlzdGVudCkKKysrIFNv
dXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUFsZ29yaXRobS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVj
dCBDcnlwdG9LZXlBbGdvcml0aG0geworICAgIFN0cmluZyBuYW1lOworfTsKKworfQpJbmRleDog
U291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5QWxnb3JpdGhtLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlBbGdvcml0aG0uaWRs
CShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUFs
Z29yaXRobS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
K1sKKyAgICBDb25kaXRpb25hbD1TVUJUTEVfQ1JZUFRPLAorICAgIEpTR2VuZXJhdGVUb0pTT2Jq
ZWN0CitdIGRpY3Rpb25hcnkgQ3J5cHRvS2V5QWxnb3JpdGhtIHsKKyAgICByZXF1aXJlZCBET01T
dHJpbmcgbmFtZTsKK307CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9L
ZXlFQy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRv
S2V5RUMuY3BwCShyZXZpc2lvbiAyMjA1MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5
cy9DcnlwdG9LZXlFQy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDE0IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAorQ3J5cHRvRWNLZXlBbGdvcml0aG0gRWNLZXlBbGdvcml0aG06
OmRpY3Rpb25hcnkoKSBjb25zdAoreworICAgIENyeXB0b0VjS2V5QWxnb3JpdGhtIHJlc3VsdDsK
KyAgICByZXN1bHQubmFtZSA9IHRoaXMtPm5hbWUoKTsKKyAgICByZXN1bHQubmFtZWRDdXJ2ZSA9
IHRoaXMtPm5hbWVkQ3VydmUoKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiBzdGF0aWMgY29u
c3QgY2hhciogY29uc3QgUDI1NiA9ICJQLTI1NiI7CiBzdGF0aWMgY29uc3QgY2hhciogY29uc3Qg
UDM4NCA9ICJQLTM4NCI7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0
b0tleUVDLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRv
S2V5RUMuaAkocmV2aXNpb24gMjIwNTI4KQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMv
Q3J5cHRvS2V5RUMuaAkod29ya2luZyBjb3B5KQpAQCAtNTksNiArNTksOCBAQCBwdWJsaWM6CiAK
ICAgICBjb25zdCBTdHJpbmcmIG5hbWVkQ3VydmUoKSBjb25zdCB7IHJldHVybiBtX2N1cnZlOyB9
CiAKKyAgICBDcnlwdG9FY0tleUFsZ29yaXRobSBkaWN0aW9uYXJ5KCkgY29uc3Q7CisKIHByaXZh
dGU6CiAgICAgU3RyaW5nIG1fY3VydmU7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvY3J5cHRv
L2tleXMvQ3J5cHRvS2V5SE1BQy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5
cHRvL2tleXMvQ3J5cHRvS2V5SE1BQy5jcHAJKHJldmlzaW9uIDIyMDUyOCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUhNQUMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
OCw2ICszOCwxNSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK0NyeXB0b0htYWNLZXlBbGdv
cml0aG0gSG1hY0tleUFsZ29yaXRobTo6ZGljdGlvbmFyeSgpIGNvbnN0Cit7CisgICAgQ3J5cHRv
SG1hY0tleUFsZ29yaXRobSByZXN1bHQ7CisgICAgcmVzdWx0Lm5hbWUgPSB0aGlzLT5uYW1lKCk7
CisgICAgcmVzdWx0Lmhhc2gubmFtZSA9IHRoaXMtPmhhc2goKTsKKyAgICByZXN1bHQubGVuZ3Ro
ID0gdGhpcy0+bGVuZ3RoKCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogc3RhdGljIHNpemVf
dCBnZXRLZXlMZW5ndGhGcm9tSGFzaChDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2gpCiB7
CiAgICAgc3dpdGNoIChoYXNoKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9D
cnlwdG9LZXlITUFDLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMv
Q3J5cHRvS2V5SE1BQy5oCShyZXZpc2lvbiAyMjA1MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9jcnlw
dG8va2V5cy9DcnlwdG9LZXlITUFDLmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDYgKzUyLDggQEAg
cHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgaGFzaCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzaDsg
fQogICAgIHNpemVfdCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQogCisgICAg
Q3J5cHRvSG1hY0tleUFsZ29yaXRobSBkaWN0aW9uYXJ5KCkgY29uc3Q7CisKIHByaXZhdGU6CiAg
ICAgU3RyaW5nIG1faGFzaDsKICAgICBzaXplX3QgbV9sZW5ndGg7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSU0EuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleVJTQS5jcHAJKHJldmlzaW9uIDIyMDUyOCkKKysr
IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleVJTQS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI4LDEyICsyOCwzNCBAQAogCiAjaW5jbHVkZSAiQ3J5cHRvS2V5RGF0YVJTQUNvbXBv
bmVudHMuaCIKICNpbmNsdWRlICJKc29uV2ViS2V5LmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvR2VuZXJpY1R5cGVkQXJyYXlWaWV3SW5saW5lcy5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3SW5saW5lcy5oPgorI2luY2x1ZGUgPGhlYXAvSGVh
cElubGluZXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9CYXNlNjQuaD4KIAogI2lmIEVOQUJMRShT
VUJUTEVfQ1JZUFRPKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK0NyeXB0b1JzYUtleUFsZ29y
aXRobSBSc2FLZXlBbGdvcml0aG06OmRpY3Rpb25hcnkoKSBjb25zdAoreworICAgIENyeXB0b1Jz
YUtleUFsZ29yaXRobSByZXN1bHQ7CisgICAgcmVzdWx0Lm5hbWUgPSB0aGlzLT5uYW1lKCk7Cisg
ICAgcmVzdWx0Lm1vZHVsdXNMZW5ndGggPSB0aGlzLT5tb2R1bHVzTGVuZ3RoKCk7CisgICAgcmVz
dWx0LnB1YmxpY0V4cG9uZW50ID0gVWludDhBcnJheTo6Y3JlYXRlKHRoaXMtPnB1YmxpY0V4cG9u
ZW50KCkuZGF0YSgpLCB0aGlzLT5wdWJsaWNFeHBvbmVudCgpLnNpemUoKSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KKworQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3JpdGhtIFJzYUhhc2hlZEtleUFs
Z29yaXRobTo6ZGljdGlvbmFyeSgpIGNvbnN0Cit7CisgICAgQ3J5cHRvUnNhSGFzaGVkS2V5QWxn
b3JpdGhtIHJlc3VsdDsKKyAgICByZXN1bHQubmFtZSA9IHRoaXMtPm5hbWUoKTsKKyAgICByZXN1
bHQubW9kdWx1c0xlbmd0aCA9IHRoaXMtPm1vZHVsdXNMZW5ndGgoKTsKKyAgICByZXN1bHQucHVi
bGljRXhwb25lbnQgPSBVaW50OEFycmF5OjpjcmVhdGUodGhpcy0+cHVibGljRXhwb25lbnQoKS5k
YXRhKCksIHRoaXMtPnB1YmxpY0V4cG9uZW50KCkuc2l6ZSgpKTsKKyAgICByZXN1bHQuaGFzaC5u
YW1lID0gdGhpcy0+aGFzaCgpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIFJlZlB0cjxDcnlw
dG9LZXlSU0E+IENyeXB0b0tleVJTQTo6aW1wb3J0SndrKENyeXB0b0FsZ29yaXRobUlkZW50aWZp
ZXIgYWxnb3JpdGhtLCBzdGQ6Om9wdGlvbmFsPENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI+IGhh
c2gsIEpzb25XZWJLZXkmJiBrZXlEYXRhLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2Fn
ZUJpdG1hcCB1c2FnZXMpCiB7CiAgICAgaWYgKGtleURhdGEua3R5ICE9ICJSU0EiKQpJbmRleDog
U291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5UlNBLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5UlNBLmgJKHJldmlzaW9uIDIyMDUy
OCkKKysrIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleVJTQS5oCSh3b3JraW5n
IGNvcHkpCkBAIC02NSw2ICs2NSw4IEBAIHB1YmxpYzoKICAgICBzaXplX3QgbW9kdWx1c0xlbmd0
aCgpIGNvbnN0IHsgcmV0dXJuIG1fbW9kdWx1c0xlbmd0aDsgfQogICAgIGNvbnN0IFZlY3Rvcjx1
aW50OF90PiYgcHVibGljRXhwb25lbnQoKSBjb25zdCB7IHJldHVybiBtX3B1YmxpY0V4cG9uZW50
OyB9CiAKKyAgICBDcnlwdG9Sc2FLZXlBbGdvcml0aG0gZGljdGlvbmFyeSgpIGNvbnN0OworCiBw
cml2YXRlOgogICAgIHNpemVfdCBtX21vZHVsdXNMZW5ndGg7CiAgICAgVmVjdG9yPHVpbnQ4X3Q+
IG1fcHVibGljRXhwb25lbnQ7CkBAIC04Miw2ICs4NCw4IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0
IFN0cmluZyYgaGFzaCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzaDsgfQogCisgICAgQ3J5cHRvUnNh
SGFzaGVkS2V5QWxnb3JpdGhtIGRpY3Rpb25hcnkoKSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBT
dHJpbmcgbV9oYXNoOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0
b0tleVJhdy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5
cHRvS2V5UmF3LmNwcAkocmV2aXNpb24gMjIwNTI4KQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRv
L2tleXMvQ3J5cHRvS2V5UmF3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsMTMgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitDcnlwdG9LZXlBbGdvcml0aG0gUmF3S2V5QWxnb3Jp
dGhtOjpkaWN0aW9uYXJ5KCkgY29uc3QKK3sKKyAgICBDcnlwdG9LZXlBbGdvcml0aG0gcmVzdWx0
OworICAgIHJlc3VsdC5uYW1lID0gdGhpcy0+bmFtZSgpOworICAgIHJldHVybiByZXN1bHQ7Cit9
CisKIENyeXB0b0tleVJhdzo6Q3J5cHRvS2V5UmF3KENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIg
aWRlbnRpZmllciwgVmVjdG9yPHVpbnQ4X3Q+JiYga2V5RGF0YSwgQ3J5cHRvS2V5VXNhZ2VCaXRt
YXAgdXNhZ2VzKQogICAgIDogQ3J5cHRvS2V5KGlkZW50aWZpZXIsIENyeXB0b0tleVR5cGU6OlNl
Y3JldCwgZmFsc2UsIHVzYWdlcykKICAgICAsIG1fa2V5KFdURk1vdmUoa2V5RGF0YSkpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSYXcuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSYXcuaAkocmV2aXNpb24gMjIw
NTI4KQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5UmF3LmgJKHdvcmtp
bmcgY29weSkKQEAgLTM5LDYgKzM5LDggQEAgcHVibGljOgogICAgIH0KIAogICAgIEtleUFsZ29y
aXRobUNsYXNzIGtleUFsZ29yaXRobUNsYXNzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gS2V5
QWxnb3JpdGhtQ2xhc3M6OlJhdzsgfQorICAgIAorICAgIENyeXB0b0tleUFsZ29yaXRobSBkaWN0
aW9uYXJ5KCkgY29uc3Q7CiB9OwogCiBjbGFzcyBDcnlwdG9LZXlSYXcgZmluYWwgOiBwdWJsaWMg
Q3J5cHRvS2V5IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b1JzYUhh
c2hlZEtleUFsZ29yaXRobS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9r
ZXlzL0NyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5oCShub25leGlzdGVudCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
I2luY2x1ZGUgIkNyeXB0b1JzYUtleUFsZ29yaXRobS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK3N0cnVjdCBDcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0gOiBDcnlwdG9Sc2FLZXlBbGdv
cml0aG0geworICAgIC8vIFRoZSBoYXNoIGFsZ29yaXRobSB0aGF0IGlzIHVzZWQgd2l0aCB0aGlz
IGtleQorICAgIENyeXB0b0tleUFsZ29yaXRobSBoYXNoOworfTsKKworfQorCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0uaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b1JzYUhhc2hlZEtl
eUFsZ29yaXRobS5pZGwJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvY3J5cHRvL2tl
eXMvQ3J5cHRvUnNhSGFzaGVkS2V5QWxnb3JpdGhtLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVNVQlRMRV9DUllQVE8s
CisgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QKK10gZGljdGlvbmFyeSBDcnlwdG9Sc2FIYXNoZWRL
ZXlBbGdvcml0aG0gOiBDcnlwdG9Sc2FLZXlBbGdvcml0aG0geworICAgIC8vIFRoZSBoYXNoIGFs
Z29yaXRobSB0aGF0IGlzIHVzZWQgd2l0aCB0aGlzIGtleQorICAgIHJlcXVpcmVkIENyeXB0b0tl
eUFsZ29yaXRobSBoYXNoOworfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0Ny
eXB0b1JzYUtleUFsZ29yaXRobS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NyeXB0
by9rZXlzL0NyeXB0b1JzYUtleUFsZ29yaXRobS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b1JzYUtleUFsZ29yaXRobS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUg
IkNyeXB0b0tleUFsZ29yaXRobS5oIgorI2luY2x1ZGUgPHJ1bnRpbWUvVWludDhBcnJheS5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBDcnlwdG9Sc2FLZXlBbGdvcml0aG0gOiBD
cnlwdG9LZXlBbGdvcml0aG0geworICAgIC8vIFRoZSBsZW5ndGgsIGluIGJpdHMsIG9mIHRoZSBS
U0EgbW9kdWx1cworICAgIHVuc2lnbmVkIG1vZHVsdXNMZW5ndGg7CisgICAgLy8gVGhlIFJTQSBw
dWJsaWMgZXhwb25lbnQKKyAgICBSZWZQdHI8VWludDhBcnJheT4gcHVibGljRXhwb25lbnQ7Cit9
OworCit9CisKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b1JzYUtleUFs
Z29yaXRobS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5
cHRvUnNhS2V5QWxnb3JpdGhtLmlkbAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9j
cnlwdG8va2V5cy9DcnlwdG9Sc2FLZXlBbGdvcml0aG0uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCit0eXBlZGVmIFVpbnQ4QXJyYXkgQmlnSW50ZWdlcjsK
KworWworICAgIENvbmRpdGlvbmFsPVNVQlRMRV9DUllQVE8sCisgICAgSlNHZW5lcmF0ZVRvSlNP
YmplY3QKK10gZGljdGlvbmFyeSBDcnlwdG9Sc2FLZXlBbGdvcml0aG0gOiBDcnlwdG9LZXlBbGdv
cml0aG0geworICAgIC8vIFRoZSBsZW5ndGgsIGluIGJpdHMsIG9mIHRoZSBSU0EgbW9kdWx1cwor
ICAgIHJlcXVpcmVkIHVuc2lnbmVkIGxvbmcgbW9kdWx1c0xlbmd0aDsKKyAgICAvLyBUaGUgUlNB
IHB1YmxpYyBleHBvbmVudAorICAgIHJlcXVpcmVkIEJpZ0ludGVnZXIgcHVibGljRXhwb25lbnQ7
Cit9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>