<?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>25807</bug_id>
          
          <creation_ts>2009-05-14 14:37:43 -0700</creation_ts>
          <short_desc>#ifdef properly the WebCore/platform/gtk/KeyboardCodes.h</short_desc>
          <delta_ts>2009-05-30 16:22:06 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Fridrich Strba">fridrich.strba</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>121384</commentid>
    <comment_count>0</comment_count>
    <who name="Fridrich Strba">fridrich.strba</who>
    <bug_when>2009-05-14 14:37:43 -0700</bug_when>
    <thetext>Some of the keyboard codes are already part of win32 api, so the WebCore/platform/gtk/KeyboardCodes.h does not compile since we are redefining already defined codes. Following patch ifdefs correctly the different defines for building well on Windows. We do exactly what keyboard codes for other platforms do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121385</commentid>
    <comment_count>1</comment_count>
      <attachid>30357</attachid>
    <who name="Fridrich Strba">fridrich.strba</who>
    <bug_when>2009-05-14 14:38:29 -0700</bug_when>
    <thetext>Created attachment 30357
patch that ifdefs properly the codes for windows platforms</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121418</commentid>
    <comment_count>2</comment_count>
      <attachid>30357</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-05-14 20:24:16 -0700</bug_when>
    <thetext>Comment on attachment 30357
patch that ifdefs properly the codes for windows platforms

No, that is way too ugly this way. Please let us go back to the problem and then talk about solutions.

So your problem is:
   - Some VK_ are already there

My questions:
   - Why do you have a define for WIN_CE? There is no Gtk+ port to Windows CE?!

Proposed change:
   - Make the change with one #if !PLATFORM(GTK) block instead of squattering that ugly thing all around. Alternatively create a cleaned KeyboardCodesGtkWin32.h and include that from KeyEventGtk.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121446</commentid>
    <comment_count>3</comment_count>
    <who name="Fridrich Strba">fridrich.strba</who>
    <bug_when>2009-05-14 23:03:55 -0700</bug_when>
    <thetext>What I did here is exactly what is done in the qt platform KeyboardCodes.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121463</commentid>
    <comment_count>4</comment_count>
    <who name="Fridrich Strba">fridrich.strba</who>
    <bug_when>2009-05-15 01:17:22 -0700</bug_when>
    <thetext>Sorry, to answer your questions:
1) some of the VK_ are there in win32 api in winuser.h
2) the WIN_CE is there only to be compliant with what the other platforms that are used on Windows do.
3) I can make the proposed change, no problem, I can remove the WIN_CE define too. I was just wondering whether doing consistently the same thing in all places was not a superior solution.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123404</commentid>
    <comment_count>5</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-05-28 06:51:57 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; What I did here is exactly what is done in the qt platform KeyboardCodes.h

Okay, could you create a patch that is moving this header file to WebCore/platform, change the Gtk+ buildsystem and remove the original Gtk+ header?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123411</commentid>
    <comment_count>6</comment_count>
      <attachid>30739</attachid>
    <who name="Fridrich Strba">fridrich.strba</who>
    <bug_when>2009-05-28 08:46:43 -0700</bug_when>
    <thetext>Created attachment 30739
sharing the Qt KeyboardCodes.h and removing the Gtk+ KeyboardCodes.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123413</commentid>
    <comment_count>7</comment_count>
    <who name="Fridrich Strba">fridrich.strba</who>
    <bug_when>2009-05-28 08:52:51 -0700</bug_when>
    <thetext>OK, it seems like the svn diff does not handle nice svn mv. If landing, svn mv WebCore/platform/qt/KeyboardCodes.h WebCore/platform/KeyboardCodes.h; svn rm WebCore/platform/gtk/KeyboardCodes.h and then patch the WebCore/GNUmakefile.am and WebCore/ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123506</commentid>
    <comment_count>8</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-05-28 18:15:50 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; OK, it seems like the svn diff does not handle nice svn mv. If landing, svn mv
&gt; WebCore/platform/qt/KeyboardCodes.h WebCore/platform/KeyboardCodes.h; svn rm
&gt; WebCore/platform/gtk/KeyboardCodes.h and then patch the WebCore/GNUmakefile.am
&gt; and WebCore/ChangeLog

Right, please use svn-create-patch. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123525</commentid>
    <comment_count>9</comment_count>
      <attachid>30766</attachid>
    <who name="Fridrich Strba">fridrich.strba</who>
    <bug_when>2009-05-29 00:11:01 -0700</bug_when>
    <thetext>Created attachment 30766
using svn-create-patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123661</commentid>
    <comment_count>10</comment_count>
      <attachid>30766</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-05-29 18:20:30 -0700</bug_when>
    <thetext>Comment on attachment 30766
using svn-create-patch


&gt; +        The two KeyboardCodes.h files are basically identical and the
&gt; +        qt one is properly #ifdef-ed for different win32 systems. Share
&gt; +		them between Qt and Gtk implementations

tabs... the pre-commit hook will curse me :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123703</commentid>
    <comment_count>11</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-05-30 15:51:43 -0700</bug_when>
    <thetext>Assign to me for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123704</commentid>
    <comment_count>12</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-05-30 16:22:06 -0700</bug_when>
    <thetext>Landed in @r44291.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30357</attachid>
            <date>2009-05-14 14:38:29 -0700</date>
            <delta_ts>2009-05-28 08:46:43 -0700</delta_ts>
            <desc>patch that ifdefs properly the codes for windows platforms</desc>
            <filename>mingw_temp.diff</filename>
            <type>text/plain</type>
            <size>1588</size>
            <attacher name="Fridrich Strba">fridrich.strba</attacher>
            
              <data encoding="base64">LS0tIHdlYmtpdC0xLjEuNy9XZWJDb3JlL3BsYXRmb3JtL2d0ay9LZXlib2FyZENvZGVzLmgJMjAw
OC0wMi0wNCAyMzoyMDo1NS4wMDAwMDAwMDAgKzAxMDAKKysrIHdlYmtpdC0xLjEuNy9XZWJDb3Jl
L3BsYXRmb3JtL2d0ay9LZXlib2FyZENvZGVzLmgJMjAwOS0wNS0xNCAyMDo0OTo0MS4wMDAwMDAw
MDAgKzAyMDAKQEAgLTI3LDggKzI3LDExIEBACiAjaWZuZGVmIEtleWJvYXJkQ29kZXNfaAogI2Rl
ZmluZSBLZXlib2FyZENvZGVzX2gKIAorI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgorCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKKyNpZiAhUExBVEZPUk0oV0lOX09TKQogLy8gVktfTEJVVFRPTiAo
MDEpIExlZnQgbW91c2UgYnV0dG9uCiAvLyBWS19SQlVUVE9OICgwMikgUmlnaHQgbW91c2UgYnV0
dG9uCiAvLyBWS19DQU5DRUwgKDAzKSBDb250cm9sLWJyZWFrIHByb2Nlc3NpbmcKQEAgLTE0NSw2
ICsxNDgsOCBAQAogLy8gVktfSEVMUCAoMkYpIEhFTFAga2V5CiBjb25zdCBpbnQgVktfSEVMUCA9
IDB4MkY7CiAKKyNlbmRpZiAvLyBQTEFURk9STShXSU5fT1MpCisKIC8vICgzMCkgMCBrZXkKIGNv
bnN0IGludCBWS18wID0gMHgzMDsKIApAQCAtMjU0LDYgKzI1OSw4IEBACiAvLyAoNUEpIFoga2V5
CiBjb25zdCBpbnQgVktfWiA9IDB4NUE7CiAKKyNpZiAhUExBVEZPUk0oV0lOX09TKQorCiAvLyBW
S19MV0lOICg1QikgTGVmdCBXaW5kb3dzIGtleSAoTWljcm9zb2Z0IE5hdHVyYWwga2V5Ym9hcmQp
CiBjb25zdCBpbnQgVktfTFdJTiA9IDB4NUI7CiAKQEAgLTQ2NCw2ICs0NzEsMTAgQEAKIC8vIFZL
X0xBVU5DSF9BUFAyIChCNykgV2luZG93cyAyMDAwL1hQOiBTdGFydCBBcHBsaWNhdGlvbiAyIGtl
eQogY29uc3QgaW50IFZLX01FRElBX0xBVU5DSF9BUFAyID0gMHhCNzsKIAorI2VuZGlmIC8vICFQ
TEFURk9STShXSU5fT1MpCisKKyNpZiAhUExBVEZPUk0oV0lOX09TKSB8fCBQTEFURk9STShXSU5f
Q0UpCisKIC8vIFZLX09FTV8xIChCQSkgVXNlZCBmb3IgbWlzY2VsbGFuZW91cyBjaGFyYWN0ZXJz
OyBpdCBjYW4gdmFyeSBieSBrZXlib2FyZC4gV2luZG93cyAyMDAwL1hQOiBGb3IgdGhlIFVTIHN0
YW5kYXJkIGtleWJvYXJkLCB0aGUgJzs6JyBrZXkKIGNvbnN0IGludCBWS19PRU1fMSA9IDB4QkE7
CiAKQEAgLTUwMCw2ICs1MTEsMTAgQEAKIC8vIFZLX09FTV84IChERikgVXNlZCBmb3IgbWlzY2Vs
bGFuZW91cyBjaGFyYWN0ZXJzOyBpdCBjYW4gdmFyeSBieSBrZXlib2FyZC4KIGNvbnN0IGludCBW
S19PRU1fOCA9IDB4REY7CiAKKyNlbmRpZiAvLyAhUExBVEZPUk0oV0lOX09TKSB8fCBQTEFURk9S
TShXSU5fQ0UpCisKKyNpZiAhUExBVEZPUk0oV0lOX09TKQorCiAvLyBWS19PRU1fMTAyIChFMikg
V2luZG93cyAyMDAwL1hQOiBFaXRoZXIgdGhlIGFuZ2xlIGJyYWNrZXQga2V5IG9yIHRoZSBiYWNr
c2xhc2gga2V5IG9uIHRoZSBSVCAxMDIta2V5IGtleWJvYXJkCiBjb25zdCBpbnQgVktfT0VNXzEw
MiA9IDB4RTI7CiAKQEAgLTUzOCw2ICs1NTMsOCBAQAogCiBjb25zdCBpbnQgVktfVU5LTk9XTiA9
IDA7CiAKKyNlbmRpZiAvLyBQTEFURk9STShXSU5fT1MpCisKIH0KIAogI2VuZGlmCg==
</data>
<flag name="review"
          id="15290"
          type_id="1"
          status="-"
          setter="zecke"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30739</attachid>
            <date>2009-05-28 08:46:43 -0700</date>
            <delta_ts>2009-05-29 00:11:01 -0700</delta_ts>
            <desc>sharing the Qt KeyboardCodes.h and removing the Gtk+ KeyboardCodes.h</desc>
            <filename>keycodes.diff</filename>
            <type>text/plain</type>
            <size>29121</size>
            <attacher name="Fridrich Strba">fridrich.strba</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDIyOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMDktMDUtMjggIEZyaWRyaWNoIFN0cmJhICA8ZnJpZHJpY2guc3Ry
YmFAYmx1ZXdpbi5jaD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGUgdHdvIEtleWJvYXJkQ29kZXMuaCBmaWxlcyBhcmUgYmFzaWNhbGx5IGlkZW50
aWNhbCBhbmQgdGhlCisgICAgICAgIHF0IG9uZSBpcyBwcm9wZXJseSAjaWZkZWYtZWQgZm9yIGRp
ZmZlcmVudCB3aW4zMiBzeXN0ZW1zLiBTaGFyZQorCQl0aGVtIGJldHdlZW4gUXQgYW5kIEd0ayBp
bXBsZW1lbnRhdGlvbnMuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBw
bGF0Zm9ybS9LZXlib2FyZENvZGVzLmg6IENvcGllZCBmcm9tIFdlYkNvcmUvcGxhdGZvcm0vcXQv
S2V5Ym9hcmRDb2Rlcy5oLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9LZXlib2FyZENvZGVzLmg6
IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vcXQvS2V5Ym9hcmRDb2Rlcy5oOiBSZW1vdmVk
LgorCiAyMDA5LTA1LTI4ICBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciAgPHplY2tlQHNlbGZp
c2gub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFhhbiBMb3Blei4KSW5kZXg6IFdlYkNvcmUv
R05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2
aXNpb24gNDQyMjgpCisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBA
IC0xMzA0LDYgKzEzMDQsNyBAQAogCVdlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNl
LmNwcCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaCBcCiAJV2ViQ29y
ZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmggXAorCVdlYkNvcmUvcGxhdGZvcm0vS2V5Ym9hcmRDb2Rl
cy5oIFwKIAlXZWJDb3JlL3BsYXRmb3JtL0tVUkwuY3BwIFwKIAlXZWJDb3JlL3BsYXRmb3JtL0tV
UkwuaCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9LVVJMSGFzaC5oIFwKQEAgLTE4MzksNyArMTg0MCw2
IEBACiAJV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR3RrUGx1Z2luV2lkZ2V0LmggXAogCVdlYkNvcmUv
cGxhdGZvcm0vZ3RrL0tVUkxHdGsuY3BwIFwKIAlXZWJDb3JlL3BsYXRmb3JtL2d0ay9LZXlFdmVu
dEd0ay5jcHAgXAotCVdlYkNvcmUvcGxhdGZvcm0vZ3RrL0tleWJvYXJkQ29kZXMuaCBcCiAJV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvTGFuZ3VhZ2UuY3BwIFwKIAlXZWJDb3JlL3BsYXRmb3JtL2d0ay9M
b2NhbGl6ZWRTdHJpbmdzR3RrLmNwcCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTG9nZ2luZ0d0
ay5jcHAgXApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9xdC9LZXlib2FyZENvZGVzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9xdC9LZXlib2FyZENvZGVzLmgJKHJldmlzaW9uIDQ0
MjI4KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9xdC9LZXlib2FyZENvZGVzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNTYxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYgTWljaGFlbCBF
bW1lbCBtaWtlLmVtbWVsQGdtYWlsLmNvbSAKLSAqCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVU
RVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRF
UiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
LSAqLwotCi0jaWZuZGVmIEtleWJvYXJkQ29kZXNfaAotI2RlZmluZSBLZXlib2FyZENvZGVzX2gK
LQotI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLSNp
ZiAhUExBVEZPUk0oV0lOX09TKQotLy8gVktfTEJVVFRPTiAoMDEpIExlZnQgbW91c2UgYnV0dG9u
Ci0vLyBWS19SQlVUVE9OICgwMikgUmlnaHQgbW91c2UgYnV0dG9uCi0vLyBWS19DQU5DRUwgKDAz
KSBDb250cm9sLWJyZWFrIHByb2Nlc3NpbmcKLS8vIFZLX01CVVRUT04gKDA0KSBNaWRkbGUgbW91
c2UgYnV0dG9uICh0aHJlZS1idXR0b24gbW91c2UpCi0vLyBWS19YQlVUVE9OMSAoMDUpCi0vLyBW
S19YQlVUVE9OMiAoMDYpCi0KLS8vIFZLX0JBQ0sgKDA4KSBCQUNLU1BBQ0Uga2V5Ci1jb25zdCBp
bnQgVktfQkFDSyA9IDB4MDg7Ci0KLS8vIFZLX1RBQiAoMDkpIFRBQiBrZXkKLWNvbnN0IGludCBW
S19UQUIgPSAweDA5OwotCi0vLyBWS19DTEVBUiAoMEMpIENMRUFSIGtleQotY29uc3QgaW50IFZL
X0NMRUFSID0gMHgwQzsKLQotLy8gVktfUkVUVVJOICgwRCkKLWNvbnN0IGludCBWS19SRVRVUk4g
PSAweDBEOwotCi0vLyBWS19TSElGVCAoMTApIFNISUZUIGtleQotY29uc3QgaW50IFZLX1NISUZU
ID0gMHgxMDsKLQotLy8gVktfQ09OVFJPTCAoMTEpIENUUkwga2V5Ci1jb25zdCBpbnQgVktfQ09O
VFJPTCA9IDB4MTE7Ci0KLS8vIFZLX01FTlUgKDEyKSBBTFQga2V5Ci1jb25zdCBpbnQgVktfTUVO
VSA9IDB4MTI7Ci0KLS8vIFZLX1BBVVNFICgxMykgUEFVU0Uga2V5Ci1jb25zdCBpbnQgVktfUEFV
U0UgPSAweDEzOwotCi0vLyBWS19DQVBJVEFMICgxNCkgQ0FQUyBMT0NLIGtleQotY29uc3QgaW50
IFZLX0NBUElUQUwgPSAweDE0OwotCi0vLyBWS19LQU5BICgxNSkgSW5wdXQgTWV0aG9kIEVkaXRv
ciAoSU1FKSBLYW5hIG1vZGUKLWNvbnN0IGludCBWS19LQU5BID0gMHgxNTsKLQotLy8gVktfSEFO
R1VFTCAoMTUpIElNRSBIYW5ndWVsIG1vZGUgKG1haW50YWluZWQgZm9yIGNvbXBhdGliaWxpdHk7
IHVzZSBWS19IQU5HVUwpCi0vLyBWS19IQU5HVUwgKDE1KSBJTUUgSGFuZ3VsIG1vZGUKLWNvbnN0
IGludCBWS19IQU5HVUwgPSAweDE1OwotCi0vLyBWS19KVU5KQSAoMTcpIElNRSBKdW5qYSBtb2Rl
Ci1jb25zdCBpbnQgVktfSlVOSkEgPSAweDE3OwotCi0vLyBWS19GSU5BTCAoMTgpIElNRSBmaW5h
bCBtb2RlCi1jb25zdCBpbnQgVktfRklOQUwgPSAweDE4OwotCi0vLyBWS19IQU5KQSAoMTkpIElN
RSBIYW5qYSBtb2RlCi1jb25zdCBpbnQgVktfSEFOSkEgPSAweDE5OwotCi0vLyBWS19LQU5KSSAo
MTkpIElNRSBLYW5qaSBtb2RlCi1jb25zdCBpbnQgVktfS0FOSkkgPSAweDE5OwotCi0vLyBWS19F
U0NBUEUgKDFCKSBFU0Mga2V5Ci1jb25zdCBpbnQgVktfRVNDQVBFID0gMHgxQjsKLQotLy8gVktf
Q09OVkVSVCAoMUMpIElNRSBjb252ZXJ0Ci1jb25zdCBpbnQgVktfQ09OVkVSVCA9IDB4MUM7Ci0K
LS8vIFZLX05PTkNPTlZFUlQgKDFEKSBJTUUgbm9uY29udmVydAotY29uc3QgaW50IFZLX05PTkNP
TlZFUlQgPSAweDFEOwotCi0vLyBWS19BQ0NFUFQgKDFFKSBJTUUgYWNjZXB0Ci1jb25zdCBpbnQg
VktfQUNDRVBUID0gMHgxRTsKLQotLy8gVktfTU9ERUNIQU5HRSAoMUYpIElNRSBtb2RlIGNoYW5n
ZSByZXF1ZXN0Ci1jb25zdCBpbnQgVktfTU9ERUNIQU5HRSA9IDB4MUY7Ci0KLS8vIFZLX1NQQUNF
ICgyMCkgU1BBQ0VCQVIKLWNvbnN0IGludCBWS19TUEFDRSA9IDB4MjA7Ci0KLS8vIFZLX1BSSU9S
ICgyMSkgUEFHRSBVUCBrZXkKLWNvbnN0IGludCBWS19QUklPUiA9IDB4MjE7Ci0KLS8vIFZLX05F
WFQgKDIyKSBQQUdFIERPV04ga2V5Ci1jb25zdCBpbnQgVktfTkVYVCA9IDB4MjI7Ci0KLS8vIFZL
X0VORCAoMjMpIEVORCBrZXkKLWNvbnN0IGludCBWS19FTkQgPSAweDIzOwotCi0vLyBWS19IT01F
ICgyNCkgSE9NRSBrZXkKLWNvbnN0IGludCBWS19IT01FID0gMHgyNDsKLQotLy8gVktfTEVGVCAo
MjUpIExFRlQgQVJST1cga2V5Ci1jb25zdCBpbnQgVktfTEVGVCA9IDB4MjU7Ci0KLS8vIFZLX1VQ
ICgyNikgVVAgQVJST1cga2V5Ci1jb25zdCBpbnQgVktfVVAgPSAweDI2OwotCi0vLyBWS19SSUdI
VCAoMjcpIFJJR0hUIEFSUk9XIGtleQotY29uc3QgaW50IFZLX1JJR0hUID0gMHgyNzsKLQotLy8g
VktfRE9XTiAoMjgpIERPV04gQVJST1cga2V5Ci1jb25zdCBpbnQgVktfRE9XTiA9IDB4Mjg7Ci0K
LS8vIFZLX1NFTEVDVCAoMjkpIFNFTEVDVCBrZXkKLWNvbnN0IGludCBWS19TRUxFQ1QgPSAweDI5
OwotCi0vLyBWS19QUklOVCAoMkEpIFBSSU5UIGtleQotY29uc3QgaW50IFZLX1BSSU5UID0gMHgy
QTsKLQotLy8gVktfRVhFQ1VURSAoMkIpIEVYRUNVVEUga2V5Ci1jb25zdCBpbnQgVktfRVhFQ1VU
RSA9IDB4MkI7Ci0KLS8vIFZLX1NOQVBTSE9UICgyQykgUFJJTlQgU0NSRUVOIGtleQotY29uc3Qg
aW50IFZLX1NOQVBTSE9UID0gMHgyQzsKLQotLy8gVktfSU5TRVJUICgyRCkgSU5TIGtleQotY29u
c3QgaW50IFZLX0lOU0VSVCA9IDB4MkQ7Ci0KLS8vIFZLX0RFTEVURSAoMkUpIERFTCBrZXkKLWNv
bnN0IGludCBWS19ERUxFVEUgPSAweDJFOwotCi0vLyBWS19IRUxQICgyRikgSEVMUCBrZXkKLWNv
bnN0IGludCBWS19IRUxQID0gMHgyRjsKLQotI2VuZGlmIC8vIFBMQVRGT1JNKFdJTl9PUykKLQot
Ly8gKDMwKSAwIGtleQotY29uc3QgaW50IFZLXzAgPSAweDMwOwotCi0vLyAoMzEpIDEga2V5Ci1j
b25zdCBpbnQgVktfMSA9IDB4MzE7Ci0KLS8vICgzMikgMiBrZXkKLWNvbnN0IGludCBWS18yID0g
MHgzMjsKLQotLy8gKDMzKSAzIGtleQotY29uc3QgaW50IFZLXzMgPSAweDMzOwotCi0vLyAoMzQp
IDQga2V5Ci1jb25zdCBpbnQgVktfNCA9IDB4MzQ7Ci0KLS8vICgzNSkgNSBrZXk7Ci0KLWNvbnN0
IGludCBWS181ID0gMHgzNTsKLQotLy8gKDM2KSA2IGtleQotY29uc3QgaW50IFZLXzYgPSAweDM2
OwotCi0vLyAoMzcpIDcga2V5Ci1jb25zdCBpbnQgVktfNyA9IDB4Mzc7Ci0KLS8vICgzOCkgOCBr
ZXkKLWNvbnN0IGludCBWS184ID0gMHgzODsKLQotLy8gKDM5KSA5IGtleQotY29uc3QgaW50IFZL
XzkgPSAweDM5OwotCi0vLyAoNDEpIEEga2V5Ci1jb25zdCBpbnQgVktfQSA9IDB4NDE7Ci0KLS8v
ICg0MikgQiBrZXkKLWNvbnN0IGludCBWS19CID0gMHg0MjsKLQotLy8gKDQzKSBDIGtleQotY29u
c3QgaW50IFZLX0MgPSAweDQzOwotCi0vLyAoNDQpIEQga2V5Ci1jb25zdCBpbnQgVktfRCA9IDB4
NDQ7Ci0KLS8vICg0NSkgRSBrZXkKLWNvbnN0IGludCBWS19FID0gMHg0NTsKLQotLy8gKDQ2KSBG
IGtleQotY29uc3QgaW50IFZLX0YgPSAweDQ2OwotCi0vLyAoNDcpIEcga2V5Ci1jb25zdCBpbnQg
VktfRyA9IDB4NDc7Ci0KLS8vICg0OCkgSCBrZXkKLWNvbnN0IGludCBWS19IID0gMHg0ODsKLQot
Ly8gKDQ5KSBJIGtleQotY29uc3QgaW50IFZLX0kgPSAweDQ5OwotCi0vLyAoNEEpIEoga2V5Ci1j
b25zdCBpbnQgVktfSiA9IDB4NEE7Ci0KLS8vICg0QikgSyBrZXkKLWNvbnN0IGludCBWS19LID0g
MHg0QjsKLQotLy8gKDRDKSBMIGtleQotY29uc3QgaW50IFZLX0wgPSAweDRDOwotCi0vLyAoNEQp
IE0ga2V5Ci1jb25zdCBpbnQgVktfTSA9IDB4NEQ7Ci0KLS8vICg0RSkgTiBrZXkKLWNvbnN0IGlu
dCBWS19OID0gMHg0RTsKLQotLy8gKDRGKSBPIGtleQotY29uc3QgaW50IFZLX08gPSAweDRGOwot
Ci0vLyAoNTApIFAga2V5Ci1jb25zdCBpbnQgVktfUCA9IDB4NTA7Ci0KLS8vICg1MSkgUSBrZXkK
LWNvbnN0IGludCBWS19RID0gMHg1MTsKLQotLy8gKDUyKSBSIGtleQotY29uc3QgaW50IFZLX1Ig
PSAweDUyOwotCi0vLyAoNTMpIFMga2V5Ci1jb25zdCBpbnQgVktfUyA9IDB4NTM7Ci0KLS8vICg1
NCkgVCBrZXkKLWNvbnN0IGludCBWS19UID0gMHg1NDsKLQotLy8gKDU1KSBVIGtleQotY29uc3Qg
aW50IFZLX1UgPSAweDU1OwotCi0vLyAoNTYpIFYga2V5Ci1jb25zdCBpbnQgVktfViA9IDB4NTY7
Ci0KLS8vICg1NykgVyBrZXkKLWNvbnN0IGludCBWS19XID0gMHg1NzsKLQotLy8gKDU4KSBYIGtl
eQotY29uc3QgaW50IFZLX1ggPSAweDU4OwotCi0vLyAoNTkpIFkga2V5Ci1jb25zdCBpbnQgVktf
WSA9IDB4NTk7Ci0KLS8vICg1QSkgWiBrZXkKLWNvbnN0IGludCBWS19aID0gMHg1QTsKLQotI2lm
ICFQTEFURk9STShXSU5fT1MpCi0KLS8vIFZLX0xXSU4gKDVCKSBMZWZ0IFdpbmRvd3Mga2V5IChN
aWNyb3NvZnQgTmF0dXJhbCBrZXlib2FyZCkKLWNvbnN0IGludCBWS19MV0lOID0gMHg1QjsKLQot
Ly8gVktfUldJTiAoNUMpIFJpZ2h0IFdpbmRvd3Mga2V5IChOYXR1cmFsIGtleWJvYXJkKQotY29u
c3QgaW50IFZLX1JXSU4gPSAweDVDOwotCi0vLyBWS19BUFBTICg1RCkgQXBwbGljYXRpb25zIGtl
eSAoTmF0dXJhbCBrZXlib2FyZCkKLWNvbnN0IGludCBWS19BUFBTID0gMHg1RDsKLQotLy8gVktf
U0xFRVAgKDVGKSBDb21wdXRlciBTbGVlcCBrZXkKLWNvbnN0IGludCBWS19TTEVFUCA9IDB4NUY7
Ci0KLS8vIFZLX05VTVBBRDAgKDYwKSBOdW1lcmljIGtleXBhZCAwIGtleQotY29uc3QgaW50IFZL
X05VTVBBRDAgPSAweDYwOwotCi0vLyBWS19OVU1QQUQxICg2MSkgTnVtZXJpYyBrZXlwYWQgMSBr
ZXkKLWNvbnN0IGludCBWS19OVU1QQUQxID0gMHg2MTsKLQotLy8gVktfTlVNUEFEMiAoNjIpIE51
bWVyaWMga2V5cGFkIDIga2V5Ci1jb25zdCBpbnQgVktfTlVNUEFEMiA9IDB4NjI7Ci0KLS8vIFZL
X05VTVBBRDMgKDYzKSBOdW1lcmljIGtleXBhZCAzIGtleQotY29uc3QgaW50IFZLX05VTVBBRDMg
PSAweDYzOwotCi0vLyBWS19OVU1QQUQ0ICg2NCkgTnVtZXJpYyBrZXlwYWQgNCBrZXkKLWNvbnN0
IGludCBWS19OVU1QQUQ0ID0gMHg2NDsKLQotLy8gVktfTlVNUEFENSAoNjUpIE51bWVyaWMga2V5
cGFkIDUga2V5Ci1jb25zdCBpbnQgVktfTlVNUEFENSA9IDB4NjU7Ci0KLS8vIFZLX05VTVBBRDYg
KDY2KSBOdW1lcmljIGtleXBhZCA2IGtleQotY29uc3QgaW50IFZLX05VTVBBRDYgPSAweDY2Owot
Ci0vLyBWS19OVU1QQUQ3ICg2NykgTnVtZXJpYyBrZXlwYWQgNyBrZXkKLWNvbnN0IGludCBWS19O
VU1QQUQ3ID0gMHg2NzsKLQotLy8gVktfTlVNUEFEOCAoNjgpIE51bWVyaWMga2V5cGFkIDgga2V5
Ci1jb25zdCBpbnQgVktfTlVNUEFEOCA9IDB4Njg7Ci0KLS8vIFZLX05VTVBBRDkgKDY5KSBOdW1l
cmljIGtleXBhZCA5IGtleQotY29uc3QgaW50IFZLX05VTVBBRDkgPSAweDY5OwotCi0vLyBWS19N
VUxUSVBMWSAoNkEpIE11bHRpcGx5IGtleQotY29uc3QgaW50IFZLX01VTFRJUExZID0gMHg2QTsK
LQotLy8gVktfQUREICg2QikgQWRkIGtleQotY29uc3QgaW50IFZLX0FERCA9IDB4NkI7Ci0KLS8v
IFZLX1NFUEFSQVRPUiAoNkMpIFNlcGFyYXRvciBrZXkKLWNvbnN0IGludCBWS19TRVBBUkFUT1Ig
PSAweDZDOwotCi0vLyBWS19TVUJUUkFDVCAoNkQpIFN1YnRyYWN0IGtleQotY29uc3QgaW50IFZL
X1NVQlRSQUNUID0gMHg2RDsKLQotLy8gVktfREVDSU1BTCAoNkUpIERlY2ltYWwga2V5Ci1jb25z
dCBpbnQgVktfREVDSU1BTCA9IDB4NkU7Ci0KLS8vIFZLX0RJVklERSAoNkYpIERpdmlkZSBrZXkK
LWNvbnN0IGludCBWS19ESVZJREUgPSAweDZGOwotCi0vLyBWS19GMSAoNzApIEYxIGtleQotY29u
c3QgaW50IFZLX0YxID0gMHg3MDsKLQotLy8gVktfRjIgKDcxKSBGMiBrZXkKLWNvbnN0IGludCBW
S19GMiA9IDB4NzE7Ci0KLS8vIFZLX0YzICg3MikgRjMga2V5Ci1jb25zdCBpbnQgVktfRjMgPSAw
eDcyOwotCi0vLyBWS19GNCAoNzMpIEY0IGtleQotY29uc3QgaW50IFZLX0Y0ID0gMHg3MzsKLQot
Ly8gVktfRjUgKDc0KSBGNSBrZXkKLWNvbnN0IGludCBWS19GNSA9IDB4NzQ7Ci0KLS8vIFZLX0Y2
ICg3NSkgRjYga2V5Ci1jb25zdCBpbnQgVktfRjYgPSAweDc1OwotCi0vLyBWS19GNyAoNzYpIEY3
IGtleQotY29uc3QgaW50IFZLX0Y3ID0gMHg3NjsKLQotLy8gVktfRjggKDc3KSBGOCBrZXkKLWNv
bnN0IGludCBWS19GOCA9IDB4Nzc7Ci0KLS8vIFZLX0Y5ICg3OCkgRjkga2V5Ci1jb25zdCBpbnQg
VktfRjkgPSAweDc4OwotCi0vLyBWS19GMTAgKDc5KSBGMTAga2V5Ci1jb25zdCBpbnQgVktfRjEw
ID0gMHg3OTsKLQotLy8gVktfRjExICg3QSkgRjExIGtleQotY29uc3QgaW50IFZLX0YxMSA9IDB4
N0E7Ci0KLS8vIFZLX0YxMiAoN0IpIEYxMiBrZXkKLWNvbnN0IGludCBWS19GMTIgPSAweDdCOwot
Ci0vLyBWS19GMTMgKDdDKSBGMTMga2V5Ci1jb25zdCBpbnQgVktfRjEzID0gMHg3QzsKLQotLy8g
VktfRjE0ICg3RCkgRjE0IGtleQotY29uc3QgaW50IFZLX0YxNCA9IDB4N0Q7Ci0KLS8vIFZLX0Yx
NSAoN0UpIEYxNSBrZXkKLWNvbnN0IGludCBWS19GMTUgPSAweDdFOwotCi0vLyBWS19GMTYgKDdG
KSBGMTYga2V5Ci1jb25zdCBpbnQgVktfRjE2ID0gMHg3RjsKLQotLy8gVktfRjE3ICg4MEgpIEYx
NyBrZXkKLWNvbnN0IGludCBWS19GMTcgPSAweDgwOwotCi0vLyBWS19GMTggKDgxSCkgRjE4IGtl
eQotY29uc3QgaW50IFZLX0YxOCA9IDB4ODE7Ci0KLS8vIFZLX0YxOSAoODJIKSBGMTkga2V5Ci1j
b25zdCBpbnQgVktfRjE5ID0gMHg4MjsKLQotLy8gVktfRjIwICg4M0gpIEYyMCBrZXkKLWNvbnN0
IGludCBWS19GMjAgPSAweDgzOwotCi0vLyBWS19GMjEgKDg0SCkgRjIxIGtleQotY29uc3QgaW50
IFZLX0YyMSA9IDB4ODQ7Ci0KLS8vIFZLX0YyMiAoODVIKSBGMjIga2V5Ci1jb25zdCBpbnQgVktf
RjIyID0gMHg4NTsKLQotLy8gVktfRjIzICg4NkgpIEYyMyBrZXkKLWNvbnN0IGludCBWS19GMjMg
PSAweDg2OwotCi0vLyBWS19GMjQgKDg3SCkgRjI0IGtleQotY29uc3QgaW50IFZLX0YyNCA9IDB4
ODc7Ci0KLS8vIFZLX05VTUxPQ0sgKDkwKSBOVU0gTE9DSyBrZXkKLWNvbnN0IGludCBWS19OVU1M
T0NLID0gMHg5MDsKLQotLy8gVktfU0NST0xMICg5MSkgU0NST0xMIExPQ0sga2V5Ci1jb25zdCBp
bnQgVktfU0NST0xMID0gMHg5MTsKLQotLy8gVktfTFNISUZUIChBMCkgTGVmdCBTSElGVCBrZXkK
LWNvbnN0IGludCBWS19MU0hJRlQgPSAweEEwOwotCi0vLyBWS19SU0hJRlQgKEExKSBSaWdodCBT
SElGVCBrZXkKLWNvbnN0IGludCBWS19SU0hJRlQgPSAweEExOwotCi0vLyBWS19MQ09OVFJPTCAo
QTIpIExlZnQgQ09OVFJPTCBrZXkKLWNvbnN0IGludCBWS19MQ09OVFJPTCA9IDB4QTI7Ci0KLS8v
IFZLX1JDT05UUk9MIChBMykgUmlnaHQgQ09OVFJPTCBrZXkKLWNvbnN0IGludCBWS19SQ09OVFJP
TCA9IDB4QTM7Ci0KLS8vIFZLX0xNRU5VIChBNCkgTGVmdCBNRU5VIGtleQotY29uc3QgaW50IFZL
X0xNRU5VID0gMHhBNDsKLQotLy8gVktfUk1FTlUgKEE1KSBSaWdodCBNRU5VIGtleQotY29uc3Qg
aW50IFZLX1JNRU5VID0gMHhBNTsKLQotLy8gVktfQlJPV1NFUl9CQUNLIChBNikgV2luZG93cyAy
MDAwL1hQOiBCcm93c2VyIEJhY2sga2V5Ci1jb25zdCBpbnQgVktfQlJPV1NFUl9CQUNLID0gMHhB
NjsKLQotLy8gVktfQlJPV1NFUl9GT1JXQVJEIChBNykgV2luZG93cyAyMDAwL1hQOiBCcm93c2Vy
IEZvcndhcmQga2V5Ci1jb25zdCBpbnQgVktfQlJPV1NFUl9GT1JXQVJEID0gMHhBNzsKLQotLy8g
VktfQlJPV1NFUl9SRUZSRVNIIChBOCkgV2luZG93cyAyMDAwL1hQOiBCcm93c2VyIFJlZnJlc2gg
a2V5Ci1jb25zdCBpbnQgVktfQlJPV1NFUl9SRUZSRVNIID0gMHhBODsKLQotLy8gVktfQlJPV1NF
Ul9TVE9QIChBOSkgV2luZG93cyAyMDAwL1hQOiBCcm93c2VyIFN0b3Aga2V5Ci1jb25zdCBpbnQg
VktfQlJPV1NFUl9TVE9QID0gMHhBOTsKLQotLy8gVktfQlJPV1NFUl9TRUFSQ0ggKEFBKSBXaW5k
b3dzIDIwMDAvWFA6IEJyb3dzZXIgU2VhcmNoIGtleQotY29uc3QgaW50IFZLX0JST1dTRVJfU0VB
UkNIID0gMHhBQTsKLQotLy8gVktfQlJPV1NFUl9GQVZPUklURVMgKEFCKSBXaW5kb3dzIDIwMDAv
WFA6IEJyb3dzZXIgRmF2b3JpdGVzIGtleQotY29uc3QgaW50IFZLX0JST1dTRVJfRkFWT1JJVEVT
ID0gMHhBQjsKLQotLy8gVktfQlJPV1NFUl9IT01FIChBQykgV2luZG93cyAyMDAwL1hQOiBCcm93
c2VyIFN0YXJ0IGFuZCBIb21lIGtleQotY29uc3QgaW50IFZLX0JST1dTRVJfSE9NRSA9IDB4QUM7
Ci0KLS8vIFZLX1ZPTFVNRV9NVVRFIChBRCkgV2luZG93cyAyMDAwL1hQOiBWb2x1bWUgTXV0ZSBr
ZXkKLWNvbnN0IGludCBWS19WT0xVTUVfTVVURSA9IDB4QUQ7Ci0KLS8vIFZLX1ZPTFVNRV9ET1dO
IChBRSkgV2luZG93cyAyMDAwL1hQOiBWb2x1bWUgRG93biBrZXkKLWNvbnN0IGludCBWS19WT0xV
TUVfRE9XTiA9IDB4QUU7Ci0KLS8vIFZLX1ZPTFVNRV9VUCAoQUYpIFdpbmRvd3MgMjAwMC9YUDog
Vm9sdW1lIFVwIGtleQotY29uc3QgaW50IFZLX1ZPTFVNRV9VUCA9IDB4QUY7Ci0KLS8vIFZLX01F
RElBX05FWFRfVFJBQ0sgKEIwKSBXaW5kb3dzIDIwMDAvWFA6IE5leHQgVHJhY2sga2V5Ci1jb25z
dCBpbnQgVktfTUVESUFfTkVYVF9UUkFDSyA9IDB4QjA7Ci0KLS8vIFZLX01FRElBX1BSRVZfVFJB
Q0sgKEIxKSBXaW5kb3dzIDIwMDAvWFA6IFByZXZpb3VzIFRyYWNrIGtleQotY29uc3QgaW50IFZL
X01FRElBX1BSRVZfVFJBQ0sgPSAweEIxOwotCi0vLyBWS19NRURJQV9TVE9QIChCMikgV2luZG93
cyAyMDAwL1hQOiBTdG9wIE1lZGlhIGtleQotY29uc3QgaW50IFZLX01FRElBX1NUT1AgPSAweEIy
OwotCi0vLyBWS19NRURJQV9QTEFZX1BBVVNFIChCMykgV2luZG93cyAyMDAwL1hQOiBQbGF5L1Bh
dXNlIE1lZGlhIGtleQotY29uc3QgaW50IFZLX01FRElBX1BMQVlfUEFVU0UgPSAweEIzOwotCi0v
LyBWS19MQVVOQ0hfTUFJTCAoQjQpIFdpbmRvd3MgMjAwMC9YUDogU3RhcnQgTWFpbCBrZXkKLWNv
bnN0IGludCBWS19NRURJQV9MQVVOQ0hfTUFJTCA9IDB4QjQ7Ci0KLS8vIFZLX0xBVU5DSF9NRURJ
QV9TRUxFQ1QgKEI1KSBXaW5kb3dzIDIwMDAvWFA6IFNlbGVjdCBNZWRpYSBrZXkKLWNvbnN0IGlu
dCBWS19NRURJQV9MQVVOQ0hfTUVESUFfU0VMRUNUID0gMHhCNTsKLQotLy8gVktfTEFVTkNIX0FQ
UDEgKEI2KSBXaW5kb3dzIDIwMDAvWFA6IFN0YXJ0IEFwcGxpY2F0aW9uIDEga2V5Ci1jb25zdCBp
bnQgVktfTUVESUFfTEFVTkNIX0FQUDEgPSAweEI2OwotCi0vLyBWS19MQVVOQ0hfQVBQMiAoQjcp
IFdpbmRvd3MgMjAwMC9YUDogU3RhcnQgQXBwbGljYXRpb24gMiBrZXkKLWNvbnN0IGludCBWS19N
RURJQV9MQVVOQ0hfQVBQMiA9IDB4Qjc7Ci0KLSNlbmRpZiAvLyAhUExBVEZPUk0oV0lOX09TKQot
Ci0jaWYgIVBMQVRGT1JNKFdJTl9PUykgfHwgUExBVEZPUk0oV0lOX0NFKQotCi0vLyBWS19PRU1f
MSAoQkEpIFVzZWQgZm9yIG1pc2NlbGxhbmVvdXMgY2hhcmFjdGVyczsgaXQgY2FuIHZhcnkgYnkg
a2V5Ym9hcmQuIFdpbmRvd3MgMjAwMC9YUDogRm9yIHRoZSBVUyBzdGFuZGFyZCBrZXlib2FyZCwg
dGhlICc7Oicga2V5Ci1jb25zdCBpbnQgVktfT0VNXzEgPSAweEJBOwotCi0vLyBWS19PRU1fUExV
UyAoQkIpIFdpbmRvd3MgMjAwMC9YUDogRm9yIGFueSBjb3VudHJ5L3JlZ2lvbiwgdGhlICcrJyBr
ZXkKLWNvbnN0IGludCBWS19PRU1fUExVUyA9IDB4QkI7Ci0KLS8vIFZLX09FTV9DT01NQSAoQkMp
IFdpbmRvd3MgMjAwMC9YUDogRm9yIGFueSBjb3VudHJ5L3JlZ2lvbiwgdGhlICcsJyBrZXkKLWNv
bnN0IGludCBWS19PRU1fQ09NTUEgPSAweEJDOwotCi0vLyBWS19PRU1fTUlOVVMgKEJEKSBXaW5k
b3dzIDIwMDAvWFA6IEZvciBhbnkgY291bnRyeS9yZWdpb24sIHRoZSAnLScga2V5Ci1jb25zdCBp
bnQgVktfT0VNX01JTlVTID0gMHhCRDsKLQotLy8gVktfT0VNX1BFUklPRCAoQkUpIFdpbmRvd3Mg
MjAwMC9YUDogRm9yIGFueSBjb3VudHJ5L3JlZ2lvbiwgdGhlICcuJyBrZXkKLWNvbnN0IGludCBW
S19PRU1fUEVSSU9EID0gMHhCRTsKLQotLy8gVktfT0VNXzIgKEJGKSBVc2VkIGZvciBtaXNjZWxs
YW5lb3VzIGNoYXJhY3RlcnM7IGl0IGNhbiB2YXJ5IGJ5IGtleWJvYXJkLiBXaW5kb3dzIDIwMDAv
WFA6IEZvciB0aGUgVVMgc3RhbmRhcmQga2V5Ym9hcmQsIHRoZSAnLz8nIGtleQotY29uc3QgaW50
IFZLX09FTV8yID0gMHhCRjsKLQotLy8gVktfT0VNXzMgKEMwKSBVc2VkIGZvciBtaXNjZWxsYW5l
b3VzIGNoYXJhY3RlcnM7IGl0IGNhbiB2YXJ5IGJ5IGtleWJvYXJkLiBXaW5kb3dzIDIwMDAvWFA6
IEZvciB0aGUgVVMgc3RhbmRhcmQga2V5Ym9hcmQsIHRoZSAnYH4nIGtleQotY29uc3QgaW50IFZL
X09FTV8zID0gMHhDMDsKLQotLy8gVktfT0VNXzQgKERCKSBVc2VkIGZvciBtaXNjZWxsYW5lb3Vz
IGNoYXJhY3RlcnM7IGl0IGNhbiB2YXJ5IGJ5IGtleWJvYXJkLiBXaW5kb3dzIDIwMDAvWFA6IEZv
ciB0aGUgVVMgc3RhbmRhcmQga2V5Ym9hcmQsIHRoZSAnW3snIGtleQotY29uc3QgaW50IFZLX09F
TV80ID0gMHhEQjsKLQotLy8gVktfT0VNXzUgKERDKSBVc2VkIGZvciBtaXNjZWxsYW5lb3VzIGNo
YXJhY3RlcnM7IGl0IGNhbiB2YXJ5IGJ5IGtleWJvYXJkLiBXaW5kb3dzIDIwMDAvWFA6IEZvciB0
aGUgVVMgc3RhbmRhcmQga2V5Ym9hcmQsIHRoZSAnXHwnIGtleQotY29uc3QgaW50IFZLX09FTV81
ID0gMHhEQzsKLQotLy8gVktfT0VNXzYgKEREKSBVc2VkIGZvciBtaXNjZWxsYW5lb3VzIGNoYXJh
Y3RlcnM7IGl0IGNhbiB2YXJ5IGJ5IGtleWJvYXJkLiBXaW5kb3dzIDIwMDAvWFA6IEZvciB0aGUg
VVMgc3RhbmRhcmQga2V5Ym9hcmQsIHRoZSAnXX0nIGtleQotY29uc3QgaW50IFZLX09FTV82ID0g
MHhERDsKLQotLy8gVktfT0VNXzcgKERFKSBVc2VkIGZvciBtaXNjZWxsYW5lb3VzIGNoYXJhY3Rl
cnM7IGl0IGNhbiB2YXJ5IGJ5IGtleWJvYXJkLiBXaW5kb3dzIDIwMDAvWFA6IEZvciB0aGUgVVMg
c3RhbmRhcmQga2V5Ym9hcmQsIHRoZSAnc2luZ2xlLXF1b3RlL2RvdWJsZS1xdW90ZScga2V5Ci1j
b25zdCBpbnQgVktfT0VNXzcgPSAweERFOwotCi0vLyBWS19PRU1fOCAoREYpIFVzZWQgZm9yIG1p
c2NlbGxhbmVvdXMgY2hhcmFjdGVyczsgaXQgY2FuIHZhcnkgYnkga2V5Ym9hcmQuCi1jb25zdCBp
bnQgVktfT0VNXzggPSAweERGOwotCi0jZW5kaWYgLy8gIVBMQVRGT1JNKFdJTl9PUykgfHwgUExB
VEZPUk0oV0lOX0NFKQotCi0jaWYgIVBMQVRGT1JNKFdJTl9PUykKLQotLy8gVktfT0VNXzEwMiAo
RTIpIFdpbmRvd3MgMjAwMC9YUDogRWl0aGVyIHRoZSBhbmdsZSBicmFja2V0IGtleSBvciB0aGUg
YmFja3NsYXNoIGtleSBvbiB0aGUgUlQgMTAyLWtleSBrZXlib2FyZAotY29uc3QgaW50IFZLX09F
TV8xMDIgPSAweEUyOwotCi0vLyBWS19QUk9DRVNTS0VZIChFNSkgV2luZG93cyA5NS85OC9NZSwg
V2luZG93cyBOVCA0LjAsIFdpbmRvd3MgMjAwMC9YUDogSU1FIFBST0NFU1Mga2V5Ci1jb25zdCBp
bnQgVktfUFJPQ0VTU0tFWSA9IDB4RTU7Ci0KLS8vIFZLX1BBQ0tFVCAoRTcpIFdpbmRvd3MgMjAw
MC9YUDogVXNlZCB0byBwYXNzIFVuaWNvZGUgY2hhcmFjdGVycyBhcyBpZiB0aGV5IHdlcmUga2V5
c3Ryb2tlcy4gVGhlIFZLX1BBQ0tFVCBrZXkgaXMgdGhlIGxvdyB3b3JkIG9mIGEgMzItYml0IFZp
cnR1YWwgS2V5IHZhbHVlIHVzZWQgZm9yIG5vbi1rZXlib2FyZCBpbnB1dCBtZXRob2RzLiBGb3Ig
bW9yZSBpbmZvcm1hdGlvbiwgc2VlIFJlbWFyayBpbiBLRVlCRElOUFVULFNlbmRJbnB1dCwgV01f
S0VZRE9XTiwgYW5kIFdNX0tFWVVQCi1jb25zdCBpbnQgVktfUEFDS0VUID0gMHhFNzsKLQotLy8g
VktfQVRUTiAoRjYpIEF0dG4ga2V5Ci1jb25zdCBpbnQgVktfQVRUTiA9IDB4RjY7Ci0KLS8vIFZL
X0NSU0VMIChGNykgQ3JTZWwga2V5Ci1jb25zdCBpbnQgVktfQ1JTRUwgPSAweEY3OwotCi0vLyBW
S19FWFNFTCAoRjgpIEV4U2VsIGtleQotY29uc3QgaW50IFZLX0VYU0VMID0gMHhGODsKLQotLy8g
VktfRVJFT0YgKEY5KSBFcmFzZSBFT0Yga2V5Ci1jb25zdCBpbnQgVktfRVJFT0YgPSAweEY5Owot
Ci0vLyBWS19QTEFZIChGQSkgUGxheSBrZXkKLWNvbnN0IGludCBWS19QTEFZID0gMHhGQTsKLQot
Ly8gVktfWk9PTSAoRkIpIFpvb20ga2V5Ci1jb25zdCBpbnQgVktfWk9PTSA9IDB4RkI7Ci0KLS8v
IFZLX05PTkFNRSAoRkMpIFJlc2VydmVkIGZvciBmdXR1cmUgdXNlCi1jb25zdCBpbnQgVktfTk9O
QU1FID0gMHhGQzsKLQotLy8gVktfUEExIChGRCkgUEExIGtleQotY29uc3QgaW50IFZLX1BBMSA9
IDB4RkQ7Ci0KLS8vIFZLX09FTV9DTEVBUiAoRkUpIENsZWFyIGtleQotY29uc3QgaW50IFZLX09F
TV9DTEVBUiA9IDB4RkU7Ci0KLWNvbnN0IGludCBWS19VTktOT1dOID0gMDsKLQotI2VuZGlmIC8v
IFBMQVRGT1JNKFdJTl9PUykKLQotfQotCi0jZW5kaWYKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0v
Z3RrL0tleWJvYXJkQ29kZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2d0ay9L
ZXlib2FyZENvZGVzLmgJKHJldmlzaW9uIDQ0MjI4KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ndGsv
S2V5Ym9hcmRDb2Rlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU0MyArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDA2IE1pY2hhZWwgRW1tZWwgbWlrZS5lbW1lbEBnbWFpbC5jb20KLSAq
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBLZXlib2FyZENvZGVzX2gKLSNk
ZWZpbmUgS2V5Ym9hcmRDb2Rlc19oCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotLy8gVktfTEJV
VFRPTiAoMDEpIExlZnQgbW91c2UgYnV0dG9uCi0vLyBWS19SQlVUVE9OICgwMikgUmlnaHQgbW91
c2UgYnV0dG9uCi0vLyBWS19DQU5DRUwgKDAzKSBDb250cm9sLWJyZWFrIHByb2Nlc3NpbmcKLS8v
IFZLX01CVVRUT04gKDA0KSBNaWRkbGUgbW91c2UgYnV0dG9uICh0aHJlZS1idXR0b24gbW91c2Up
Ci0vLyBWS19YQlVUVE9OMSAoMDUpCi0vLyBWS19YQlVUVE9OMiAoMDYpCi0KLS8vIFZLX0JBQ0sg
KDA4KSBCQUNLU1BBQ0Uga2V5Ci1jb25zdCBpbnQgVktfQkFDSyA9IDB4MDg7Ci0KLS8vIFZLX1RB
QiAoMDkpIFRBQiBrZXkKLWNvbnN0IGludCBWS19UQUIgPSAweDA5OwotCi0vLyBWS19DTEVBUiAo
MEMpIENMRUFSIGtleQotY29uc3QgaW50IFZLX0NMRUFSID0gMHgwQzsKLQotLy8gVktfUkVUVVJO
ICgwRCkKLWNvbnN0IGludCBWS19SRVRVUk4gPSAweDBEOwotCi0vLyBWS19TSElGVCAoMTApIFNI
SUZUIGtleQotY29uc3QgaW50IFZLX1NISUZUID0gMHgxMDsKLQotLy8gVktfQ09OVFJPTCAoMTEp
IENUUkwga2V5Ci1jb25zdCBpbnQgVktfQ09OVFJPTCA9IDB4MTE7Ci0KLS8vIFZLX01FTlUgKDEy
KSBBTFQga2V5Ci1jb25zdCBpbnQgVktfTUVOVSA9IDB4MTI7Ci0KLS8vIFZLX1BBVVNFICgxMykg
UEFVU0Uga2V5Ci1jb25zdCBpbnQgVktfUEFVU0UgPSAweDEzOwotCi0vLyBWS19DQVBJVEFMICgx
NCkgQ0FQUyBMT0NLIGtleQotY29uc3QgaW50IFZLX0NBUElUQUwgPSAweDE0OwotCi0vLyBWS19L
QU5BICgxNSkgSW5wdXQgTWV0aG9kIEVkaXRvciAoSU1FKSBLYW5hIG1vZGUKLWNvbnN0IGludCBW
S19LQU5BID0gMHgxNTsKLQotLy8gVktfSEFOR1VFTCAoMTUpIElNRSBIYW5ndWVsIG1vZGUgKG1h
aW50YWluZWQgZm9yIGNvbXBhdGliaWxpdHk7IHVzZSBWS19IQU5HVUwpCi0vLyBWS19IQU5HVUwg
KDE1KSBJTUUgSGFuZ3VsIG1vZGUKLWNvbnN0IGludCBWS19IQU5HVUwgPSAweDE1OwotCi0vLyBW
S19KVU5KQSAoMTcpIElNRSBKdW5qYSBtb2RlCi1jb25zdCBpbnQgVktfSlVOSkEgPSAweDE3Owot
Ci0vLyBWS19GSU5BTCAoMTgpIElNRSBmaW5hbCBtb2RlCi1jb25zdCBpbnQgVktfRklOQUwgPSAw
eDE4OwotCi0vLyBWS19IQU5KQSAoMTkpIElNRSBIYW5qYSBtb2RlCi1jb25zdCBpbnQgVktfSEFO
SkEgPSAweDE5OwotCi0vLyBWS19LQU5KSSAoMTkpIElNRSBLYW5qaSBtb2RlCi1jb25zdCBpbnQg
VktfS0FOSkkgPSAweDE5OwotCi0vLyBWS19FU0NBUEUgKDFCKSBFU0Mga2V5Ci1jb25zdCBpbnQg
VktfRVNDQVBFID0gMHgxQjsKLQotLy8gVktfQ09OVkVSVCAoMUMpIElNRSBjb252ZXJ0Ci1jb25z
dCBpbnQgVktfQ09OVkVSVCA9IDB4MUM7Ci0KLS8vIFZLX05PTkNPTlZFUlQgKDFEKSBJTUUgbm9u
Y29udmVydAotY29uc3QgaW50IFZLX05PTkNPTlZFUlQgPSAweDFEOwotCi0vLyBWS19BQ0NFUFQg
KDFFKSBJTUUgYWNjZXB0Ci1jb25zdCBpbnQgVktfQUNDRVBUID0gMHgxRTsKLQotLy8gVktfTU9E
RUNIQU5HRSAoMUYpIElNRSBtb2RlIGNoYW5nZSByZXF1ZXN0Ci1jb25zdCBpbnQgVktfTU9ERUNI
QU5HRSA9IDB4MUY7Ci0KLS8vIFZLX1NQQUNFICgyMCkgU1BBQ0VCQVIKLWNvbnN0IGludCBWS19T
UEFDRSA9IDB4MjA7Ci0KLS8vIFZLX1BSSU9SICgyMSkgUEFHRSBVUCBrZXkKLWNvbnN0IGludCBW
S19QUklPUiA9IDB4MjE7Ci0KLS8vIFZLX05FWFQgKDIyKSBQQUdFIERPV04ga2V5Ci1jb25zdCBp
bnQgVktfTkVYVCA9IDB4MjI7Ci0KLS8vIFZLX0VORCAoMjMpIEVORCBrZXkKLWNvbnN0IGludCBW
S19FTkQgPSAweDIzOwotCi0vLyBWS19IT01FICgyNCkgSE9NRSBrZXkKLWNvbnN0IGludCBWS19I
T01FID0gMHgyNDsKLQotLy8gVktfTEVGVCAoMjUpIExFRlQgQVJST1cga2V5Ci1jb25zdCBpbnQg
VktfTEVGVCA9IDB4MjU7Ci0KLS8vIFZLX1VQICgyNikgVVAgQVJST1cga2V5Ci1jb25zdCBpbnQg
VktfVVAgPSAweDI2OwotCi0vLyBWS19SSUdIVCAoMjcpIFJJR0hUIEFSUk9XIGtleQotY29uc3Qg
aW50IFZLX1JJR0hUID0gMHgyNzsKLQotLy8gVktfRE9XTiAoMjgpIERPV04gQVJST1cga2V5Ci1j
b25zdCBpbnQgVktfRE9XTiA9IDB4Mjg7Ci0KLS8vIFZLX1NFTEVDVCAoMjkpIFNFTEVDVCBrZXkK
LWNvbnN0IGludCBWS19TRUxFQ1QgPSAweDI5OwotCi0vLyBWS19QUklOVCAoMkEpIFBSSU5UIGtl
eQotY29uc3QgaW50IFZLX1BSSU5UID0gMHgyQTsKLQotLy8gVktfRVhFQ1VURSAoMkIpIEVYRUNV
VEUga2V5Ci1jb25zdCBpbnQgVktfRVhFQ1VURSA9IDB4MkI7Ci0KLS8vIFZLX1NOQVBTSE9UICgy
QykgUFJJTlQgU0NSRUVOIGtleQotY29uc3QgaW50IFZLX1NOQVBTSE9UID0gMHgyQzsKLQotLy8g
VktfSU5TRVJUICgyRCkgSU5TIGtleQotY29uc3QgaW50IFZLX0lOU0VSVCA9IDB4MkQ7Ci0KLS8v
IFZLX0RFTEVURSAoMkUpIERFTCBrZXkKLWNvbnN0IGludCBWS19ERUxFVEUgPSAweDJFOwotCi0v
LyBWS19IRUxQICgyRikgSEVMUCBrZXkKLWNvbnN0IGludCBWS19IRUxQID0gMHgyRjsKLQotLy8g
KDMwKSAwIGtleQotY29uc3QgaW50IFZLXzAgPSAweDMwOwotCi0vLyAoMzEpIDEga2V5Ci1jb25z
dCBpbnQgVktfMSA9IDB4MzE7Ci0KLS8vICgzMikgMiBrZXkKLWNvbnN0IGludCBWS18yID0gMHgz
MjsKLQotLy8gKDMzKSAzIGtleQotY29uc3QgaW50IFZLXzMgPSAweDMzOwotCi0vLyAoMzQpIDQg
a2V5Ci1jb25zdCBpbnQgVktfNCA9IDB4MzQ7Ci0KLS8vICgzNSkgNSBrZXk7Ci0KLWNvbnN0IGlu
dCBWS181ID0gMHgzNTsKLQotLy8gKDM2KSA2IGtleQotY29uc3QgaW50IFZLXzYgPSAweDM2Owot
Ci0vLyAoMzcpIDcga2V5Ci1jb25zdCBpbnQgVktfNyA9IDB4Mzc7Ci0KLS8vICgzOCkgOCBrZXkK
LWNvbnN0IGludCBWS184ID0gMHgzODsKLQotLy8gKDM5KSA5IGtleQotY29uc3QgaW50IFZLXzkg
PSAweDM5OwotCi0vLyAoNDEpIEEga2V5Ci1jb25zdCBpbnQgVktfQSA9IDB4NDE7Ci0KLS8vICg0
MikgQiBrZXkKLWNvbnN0IGludCBWS19CID0gMHg0MjsKLQotLy8gKDQzKSBDIGtleQotY29uc3Qg
aW50IFZLX0MgPSAweDQzOwotCi0vLyAoNDQpIEQga2V5Ci1jb25zdCBpbnQgVktfRCA9IDB4NDQ7
Ci0KLS8vICg0NSkgRSBrZXkKLWNvbnN0IGludCBWS19FID0gMHg0NTsKLQotLy8gKDQ2KSBGIGtl
eQotY29uc3QgaW50IFZLX0YgPSAweDQ2OwotCi0vLyAoNDcpIEcga2V5Ci1jb25zdCBpbnQgVktf
RyA9IDB4NDc7Ci0KLS8vICg0OCkgSCBrZXkKLWNvbnN0IGludCBWS19IID0gMHg0ODsKLQotLy8g
KDQ5KSBJIGtleQotY29uc3QgaW50IFZLX0kgPSAweDQ5OwotCi0vLyAoNEEpIEoga2V5Ci1jb25z
dCBpbnQgVktfSiA9IDB4NEE7Ci0KLS8vICg0QikgSyBrZXkKLWNvbnN0IGludCBWS19LID0gMHg0
QjsKLQotLy8gKDRDKSBMIGtleQotY29uc3QgaW50IFZLX0wgPSAweDRDOwotCi0vLyAoNEQpIE0g
a2V5Ci1jb25zdCBpbnQgVktfTSA9IDB4NEQ7Ci0KLS8vICg0RSkgTiBrZXkKLWNvbnN0IGludCBW
S19OID0gMHg0RTsKLQotLy8gKDRGKSBPIGtleQotY29uc3QgaW50IFZLX08gPSAweDRGOwotCi0v
LyAoNTApIFAga2V5Ci1jb25zdCBpbnQgVktfUCA9IDB4NTA7Ci0KLS8vICg1MSkgUSBrZXkKLWNv
bnN0IGludCBWS19RID0gMHg1MTsKLQotLy8gKDUyKSBSIGtleQotY29uc3QgaW50IFZLX1IgPSAw
eDUyOwotCi0vLyAoNTMpIFMga2V5Ci1jb25zdCBpbnQgVktfUyA9IDB4NTM7Ci0KLS8vICg1NCkg
VCBrZXkKLWNvbnN0IGludCBWS19UID0gMHg1NDsKLQotLy8gKDU1KSBVIGtleQotY29uc3QgaW50
IFZLX1UgPSAweDU1OwotCi0vLyAoNTYpIFYga2V5Ci1jb25zdCBpbnQgVktfViA9IDB4NTY7Ci0K
LS8vICg1NykgVyBrZXkKLWNvbnN0IGludCBWS19XID0gMHg1NzsKLQotLy8gKDU4KSBYIGtleQot
Y29uc3QgaW50IFZLX1ggPSAweDU4OwotCi0vLyAoNTkpIFkga2V5Ci1jb25zdCBpbnQgVktfWSA9
IDB4NTk7Ci0KLS8vICg1QSkgWiBrZXkKLWNvbnN0IGludCBWS19aID0gMHg1QTsKLQotLy8gVktf
TFdJTiAoNUIpIExlZnQgV2luZG93cyBrZXkgKE1pY3Jvc29mdCBOYXR1cmFsIGtleWJvYXJkKQot
Y29uc3QgaW50IFZLX0xXSU4gPSAweDVCOwotCi0vLyBWS19SV0lOICg1QykgUmlnaHQgV2luZG93
cyBrZXkgKE5hdHVyYWwga2V5Ym9hcmQpCi1jb25zdCBpbnQgVktfUldJTiA9IDB4NUM7Ci0KLS8v
IFZLX0FQUFMgKDVEKSBBcHBsaWNhdGlvbnMga2V5IChOYXR1cmFsIGtleWJvYXJkKQotY29uc3Qg
aW50IFZLX0FQUFMgPSAweDVEOwotCi0vLyBWS19TTEVFUCAoNUYpIENvbXB1dGVyIFNsZWVwIGtl
eQotY29uc3QgaW50IFZLX1NMRUVQID0gMHg1RjsKLQotLy8gVktfTlVNUEFEMCAoNjApIE51bWVy
aWMga2V5cGFkIDAga2V5Ci1jb25zdCBpbnQgVktfTlVNUEFEMCA9IDB4NjA7Ci0KLS8vIFZLX05V
TVBBRDEgKDYxKSBOdW1lcmljIGtleXBhZCAxIGtleQotY29uc3QgaW50IFZLX05VTVBBRDEgPSAw
eDYxOwotCi0vLyBWS19OVU1QQUQyICg2MikgTnVtZXJpYyBrZXlwYWQgMiBrZXkKLWNvbnN0IGlu
dCBWS19OVU1QQUQyID0gMHg2MjsKLQotLy8gVktfTlVNUEFEMyAoNjMpIE51bWVyaWMga2V5cGFk
IDMga2V5Ci1jb25zdCBpbnQgVktfTlVNUEFEMyA9IDB4NjM7Ci0KLS8vIFZLX05VTVBBRDQgKDY0
KSBOdW1lcmljIGtleXBhZCA0IGtleQotY29uc3QgaW50IFZLX05VTVBBRDQgPSAweDY0OwotCi0v
LyBWS19OVU1QQUQ1ICg2NSkgTnVtZXJpYyBrZXlwYWQgNSBrZXkKLWNvbnN0IGludCBWS19OVU1Q
QUQ1ID0gMHg2NTsKLQotLy8gVktfTlVNUEFENiAoNjYpIE51bWVyaWMga2V5cGFkIDYga2V5Ci1j
b25zdCBpbnQgVktfTlVNUEFENiA9IDB4NjY7Ci0KLS8vIFZLX05VTVBBRDcgKDY3KSBOdW1lcmlj
IGtleXBhZCA3IGtleQotY29uc3QgaW50IFZLX05VTVBBRDcgPSAweDY3OwotCi0vLyBWS19OVU1Q
QUQ4ICg2OCkgTnVtZXJpYyBrZXlwYWQgOCBrZXkKLWNvbnN0IGludCBWS19OVU1QQUQ4ID0gMHg2
ODsKLQotLy8gVktfTlVNUEFEOSAoNjkpIE51bWVyaWMga2V5cGFkIDkga2V5Ci1jb25zdCBpbnQg
VktfTlVNUEFEOSA9IDB4Njk7Ci0KLS8vIFZLX01VTFRJUExZICg2QSkgTXVsdGlwbHkga2V5Ci1j
b25zdCBpbnQgVktfTVVMVElQTFkgPSAweDZBOwotCi0vLyBWS19BREQgKDZCKSBBZGQga2V5Ci1j
b25zdCBpbnQgVktfQUREID0gMHg2QjsKLQotLy8gVktfU0VQQVJBVE9SICg2QykgU2VwYXJhdG9y
IGtleQotY29uc3QgaW50IFZLX1NFUEFSQVRPUiA9IDB4NkM7Ci0KLS8vIFZLX1NVQlRSQUNUICg2
RCkgU3VidHJhY3Qga2V5Ci1jb25zdCBpbnQgVktfU1VCVFJBQ1QgPSAweDZEOwotCi0vLyBWS19E
RUNJTUFMICg2RSkgRGVjaW1hbCBrZXkKLWNvbnN0IGludCBWS19ERUNJTUFMID0gMHg2RTsKLQot
Ly8gVktfRElWSURFICg2RikgRGl2aWRlIGtleQotY29uc3QgaW50IFZLX0RJVklERSA9IDB4NkY7
Ci0KLS8vIFZLX0YxICg3MCkgRjEga2V5Ci1jb25zdCBpbnQgVktfRjEgPSAweDcwOwotCi0vLyBW
S19GMiAoNzEpIEYyIGtleQotY29uc3QgaW50IFZLX0YyID0gMHg3MTsKLQotLy8gVktfRjMgKDcy
KSBGMyBrZXkKLWNvbnN0IGludCBWS19GMyA9IDB4NzI7Ci0KLS8vIFZLX0Y0ICg3MykgRjQga2V5
Ci1jb25zdCBpbnQgVktfRjQgPSAweDczOwotCi0vLyBWS19GNSAoNzQpIEY1IGtleQotY29uc3Qg
aW50IFZLX0Y1ID0gMHg3NDsKLQotLy8gVktfRjYgKDc1KSBGNiBrZXkKLWNvbnN0IGludCBWS19G
NiA9IDB4NzU7Ci0KLS8vIFZLX0Y3ICg3NikgRjcga2V5Ci1jb25zdCBpbnQgVktfRjcgPSAweDc2
OwotCi0vLyBWS19GOCAoNzcpIEY4IGtleQotY29uc3QgaW50IFZLX0Y4ID0gMHg3NzsKLQotLy8g
VktfRjkgKDc4KSBGOSBrZXkKLWNvbnN0IGludCBWS19GOSA9IDB4Nzg7Ci0KLS8vIFZLX0YxMCAo
NzkpIEYxMCBrZXkKLWNvbnN0IGludCBWS19GMTAgPSAweDc5OwotCi0vLyBWS19GMTEgKDdBKSBG
MTEga2V5Ci1jb25zdCBpbnQgVktfRjExID0gMHg3QTsKLQotLy8gVktfRjEyICg3QikgRjEyIGtl
eQotY29uc3QgaW50IFZLX0YxMiA9IDB4N0I7Ci0KLS8vIFZLX0YxMyAoN0MpIEYxMyBrZXkKLWNv
bnN0IGludCBWS19GMTMgPSAweDdDOwotCi0vLyBWS19GMTQgKDdEKSBGMTQga2V5Ci1jb25zdCBp
bnQgVktfRjE0ID0gMHg3RDsKLQotLy8gVktfRjE1ICg3RSkgRjE1IGtleQotY29uc3QgaW50IFZL
X0YxNSA9IDB4N0U7Ci0KLS8vIFZLX0YxNiAoN0YpIEYxNiBrZXkKLWNvbnN0IGludCBWS19GMTYg
PSAweDdGOwotCi0vLyBWS19GMTcgKDgwSCkgRjE3IGtleQotY29uc3QgaW50IFZLX0YxNyA9IDB4
ODA7Ci0KLS8vIFZLX0YxOCAoODFIKSBGMTgga2V5Ci1jb25zdCBpbnQgVktfRjE4ID0gMHg4MTsK
LQotLy8gVktfRjE5ICg4MkgpIEYxOSBrZXkKLWNvbnN0IGludCBWS19GMTkgPSAweDgyOwotCi0v
LyBWS19GMjAgKDgzSCkgRjIwIGtleQotY29uc3QgaW50IFZLX0YyMCA9IDB4ODM7Ci0KLS8vIFZL
X0YyMSAoODRIKSBGMjEga2V5Ci1jb25zdCBpbnQgVktfRjIxID0gMHg4NDsKLQotLy8gVktfRjIy
ICg4NUgpIEYyMiBrZXkKLWNvbnN0IGludCBWS19GMjIgPSAweDg1OwotCi0vLyBWS19GMjMgKDg2
SCkgRjIzIGtleQotY29uc3QgaW50IFZLX0YyMyA9IDB4ODY7Ci0KLS8vIFZLX0YyNCAoODdIKSBG
MjQga2V5Ci1jb25zdCBpbnQgVktfRjI0ID0gMHg4NzsKLQotLy8gVktfTlVNTE9DSyAoOTApIE5V
TSBMT0NLIGtleQotY29uc3QgaW50IFZLX05VTUxPQ0sgPSAweDkwOwotCi0vLyBWS19TQ1JPTEwg
KDkxKSBTQ1JPTEwgTE9DSyBrZXkKLWNvbnN0IGludCBWS19TQ1JPTEwgPSAweDkxOwotCi0vLyBW
S19MU0hJRlQgKEEwKSBMZWZ0IFNISUZUIGtleQotY29uc3QgaW50IFZLX0xTSElGVCA9IDB4QTA7
Ci0KLS8vIFZLX1JTSElGVCAoQTEpIFJpZ2h0IFNISUZUIGtleQotY29uc3QgaW50IFZLX1JTSElG
VCA9IDB4QTE7Ci0KLS8vIFZLX0xDT05UUk9MIChBMikgTGVmdCBDT05UUk9MIGtleQotY29uc3Qg
aW50IFZLX0xDT05UUk9MID0gMHhBMjsKLQotLy8gVktfUkNPTlRST0wgKEEzKSBSaWdodCBDT05U
Uk9MIGtleQotY29uc3QgaW50IFZLX1JDT05UUk9MID0gMHhBMzsKLQotLy8gVktfTE1FTlUgKEE0
KSBMZWZ0IE1FTlUga2V5Ci1jb25zdCBpbnQgVktfTE1FTlUgPSAweEE0OwotCi0vLyBWS19STUVO
VSAoQTUpIFJpZ2h0IE1FTlUga2V5Ci1jb25zdCBpbnQgVktfUk1FTlUgPSAweEE1OwotCi0vLyBW
S19CUk9XU0VSX0JBQ0sgKEE2KSBXaW5kb3dzIDIwMDAvWFA6IEJyb3dzZXIgQmFjayBrZXkKLWNv
bnN0IGludCBWS19CUk9XU0VSX0JBQ0sgPSAweEE2OwotCi0vLyBWS19CUk9XU0VSX0ZPUldBUkQg
KEE3KSBXaW5kb3dzIDIwMDAvWFA6IEJyb3dzZXIgRm9yd2FyZCBrZXkKLWNvbnN0IGludCBWS19C
Uk9XU0VSX0ZPUldBUkQgPSAweEE3OwotCi0vLyBWS19CUk9XU0VSX1JFRlJFU0ggKEE4KSBXaW5k
b3dzIDIwMDAvWFA6IEJyb3dzZXIgUmVmcmVzaCBrZXkKLWNvbnN0IGludCBWS19CUk9XU0VSX1JF
RlJFU0ggPSAweEE4OwotCi0vLyBWS19CUk9XU0VSX1NUT1AgKEE5KSBXaW5kb3dzIDIwMDAvWFA6
IEJyb3dzZXIgU3RvcCBrZXkKLWNvbnN0IGludCBWS19CUk9XU0VSX1NUT1AgPSAweEE5OwotCi0v
LyBWS19CUk9XU0VSX1NFQVJDSCAoQUEpIFdpbmRvd3MgMjAwMC9YUDogQnJvd3NlciBTZWFyY2gg
a2V5Ci1jb25zdCBpbnQgVktfQlJPV1NFUl9TRUFSQ0ggPSAweEFBOwotCi0vLyBWS19CUk9XU0VS
X0ZBVk9SSVRFUyAoQUIpIFdpbmRvd3MgMjAwMC9YUDogQnJvd3NlciBGYXZvcml0ZXMga2V5Ci1j
b25zdCBpbnQgVktfQlJPV1NFUl9GQVZPUklURVMgPSAweEFCOwotCi0vLyBWS19CUk9XU0VSX0hP
TUUgKEFDKSBXaW5kb3dzIDIwMDAvWFA6IEJyb3dzZXIgU3RhcnQgYW5kIEhvbWUga2V5Ci1jb25z
dCBpbnQgVktfQlJPV1NFUl9IT01FID0gMHhBQzsKLQotLy8gVktfVk9MVU1FX01VVEUgKEFEKSBX
aW5kb3dzIDIwMDAvWFA6IFZvbHVtZSBNdXRlIGtleQotY29uc3QgaW50IFZLX1ZPTFVNRV9NVVRF
ID0gMHhBRDsKLQotLy8gVktfVk9MVU1FX0RPV04gKEFFKSBXaW5kb3dzIDIwMDAvWFA6IFZvbHVt
ZSBEb3duIGtleQotY29uc3QgaW50IFZLX1ZPTFVNRV9ET1dOID0gMHhBRTsKLQotLy8gVktfVk9M
VU1FX1VQIChBRikgV2luZG93cyAyMDAwL1hQOiBWb2x1bWUgVXAga2V5Ci1jb25zdCBpbnQgVktf
Vk9MVU1FX1VQID0gMHhBRjsKLQotLy8gVktfTUVESUFfTkVYVF9UUkFDSyAoQjApIFdpbmRvd3Mg
MjAwMC9YUDogTmV4dCBUcmFjayBrZXkKLWNvbnN0IGludCBWS19NRURJQV9ORVhUX1RSQUNLID0g
MHhCMDsKLQotLy8gVktfTUVESUFfUFJFVl9UUkFDSyAoQjEpIFdpbmRvd3MgMjAwMC9YUDogUHJl
dmlvdXMgVHJhY2sga2V5Ci1jb25zdCBpbnQgVktfTUVESUFfUFJFVl9UUkFDSyA9IDB4QjE7Ci0K
LS8vIFZLX01FRElBX1NUT1AgKEIyKSBXaW5kb3dzIDIwMDAvWFA6IFN0b3AgTWVkaWEga2V5Ci1j
b25zdCBpbnQgVktfTUVESUFfU1RPUCA9IDB4QjI7Ci0KLS8vIFZLX01FRElBX1BMQVlfUEFVU0Ug
KEIzKSBXaW5kb3dzIDIwMDAvWFA6IFBsYXkvUGF1c2UgTWVkaWEga2V5Ci1jb25zdCBpbnQgVktf
TUVESUFfUExBWV9QQVVTRSA9IDB4QjM7Ci0KLS8vIFZLX0xBVU5DSF9NQUlMIChCNCkgV2luZG93
cyAyMDAwL1hQOiBTdGFydCBNYWlsIGtleQotY29uc3QgaW50IFZLX01FRElBX0xBVU5DSF9NQUlM
ID0gMHhCNDsKLQotLy8gVktfTEFVTkNIX01FRElBX1NFTEVDVCAoQjUpIFdpbmRvd3MgMjAwMC9Y
UDogU2VsZWN0IE1lZGlhIGtleQotY29uc3QgaW50IFZLX01FRElBX0xBVU5DSF9NRURJQV9TRUxF
Q1QgPSAweEI1OwotCi0vLyBWS19MQVVOQ0hfQVBQMSAoQjYpIFdpbmRvd3MgMjAwMC9YUDogU3Rh
cnQgQXBwbGljYXRpb24gMSBrZXkKLWNvbnN0IGludCBWS19NRURJQV9MQVVOQ0hfQVBQMSA9IDB4
QjY7Ci0KLS8vIFZLX0xBVU5DSF9BUFAyIChCNykgV2luZG93cyAyMDAwL1hQOiBTdGFydCBBcHBs
aWNhdGlvbiAyIGtleQotY29uc3QgaW50IFZLX01FRElBX0xBVU5DSF9BUFAyID0gMHhCNzsKLQot
Ly8gVktfT0VNXzEgKEJBKSBVc2VkIGZvciBtaXNjZWxsYW5lb3VzIGNoYXJhY3RlcnM7IGl0IGNh
biB2YXJ5IGJ5IGtleWJvYXJkLiBXaW5kb3dzIDIwMDAvWFA6IEZvciB0aGUgVVMgc3RhbmRhcmQg
a2V5Ym9hcmQsIHRoZSAnOzonIGtleQotY29uc3QgaW50IFZLX09FTV8xID0gMHhCQTsKLQotLy8g
VktfT0VNX1BMVVMgKEJCKSBXaW5kb3dzIDIwMDAvWFA6IEZvciBhbnkgY291bnRyeS9yZWdpb24s
IHRoZSAnKycga2V5Ci1jb25zdCBpbnQgVktfT0VNX1BMVVMgPSAweEJCOwotCi0vLyBWS19PRU1f
Q09NTUEgKEJDKSBXaW5kb3dzIDIwMDAvWFA6IEZvciBhbnkgY291bnRyeS9yZWdpb24sIHRoZSAn
LCcga2V5Ci1jb25zdCBpbnQgVktfT0VNX0NPTU1BID0gMHhCQzsKLQotLy8gVktfT0VNX01JTlVT
IChCRCkgV2luZG93cyAyMDAwL1hQOiBGb3IgYW55IGNvdW50cnkvcmVnaW9uLCB0aGUgJy0nIGtl
eQotY29uc3QgaW50IFZLX09FTV9NSU5VUyA9IDB4QkQ7Ci0KLS8vIFZLX09FTV9QRVJJT0QgKEJF
KSBXaW5kb3dzIDIwMDAvWFA6IEZvciBhbnkgY291bnRyeS9yZWdpb24sIHRoZSAnLicga2V5Ci1j
b25zdCBpbnQgVktfT0VNX1BFUklPRCA9IDB4QkU7Ci0KLS8vIFZLX09FTV8yIChCRikgVXNlZCBm
b3IgbWlzY2VsbGFuZW91cyBjaGFyYWN0ZXJzOyBpdCBjYW4gdmFyeSBieSBrZXlib2FyZC4gV2lu
ZG93cyAyMDAwL1hQOiBGb3IgdGhlIFVTIHN0YW5kYXJkIGtleWJvYXJkLCB0aGUgJy8/JyBrZXkK
LWNvbnN0IGludCBWS19PRU1fMiA9IDB4QkY7Ci0KLS8vIFZLX09FTV8zIChDMCkgVXNlZCBmb3Ig
bWlzY2VsbGFuZW91cyBjaGFyYWN0ZXJzOyBpdCBjYW4gdmFyeSBieSBrZXlib2FyZC4gV2luZG93
cyAyMDAwL1hQOiBGb3IgdGhlIFVTIHN0YW5kYXJkIGtleWJvYXJkLCB0aGUgJ2B+JyBrZXkKLWNv
bnN0IGludCBWS19PRU1fMyA9IDB4QzA7Ci0KLS8vIFZLX09FTV80IChEQikgVXNlZCBmb3IgbWlz
Y2VsbGFuZW91cyBjaGFyYWN0ZXJzOyBpdCBjYW4gdmFyeSBieSBrZXlib2FyZC4gV2luZG93cyAy
MDAwL1hQOiBGb3IgdGhlIFVTIHN0YW5kYXJkIGtleWJvYXJkLCB0aGUgJ1t7JyBrZXkKLWNvbnN0
IGludCBWS19PRU1fNCA9IDB4REI7Ci0KLS8vIFZLX09FTV81IChEQykgVXNlZCBmb3IgbWlzY2Vs
bGFuZW91cyBjaGFyYWN0ZXJzOyBpdCBjYW4gdmFyeSBieSBrZXlib2FyZC4gV2luZG93cyAyMDAw
L1hQOiBGb3IgdGhlIFVTIHN0YW5kYXJkIGtleWJvYXJkLCB0aGUgJ1x8JyBrZXkKLWNvbnN0IGlu
dCBWS19PRU1fNSA9IDB4REM7Ci0KLS8vIFZLX09FTV82IChERCkgVXNlZCBmb3IgbWlzY2VsbGFu
ZW91cyBjaGFyYWN0ZXJzOyBpdCBjYW4gdmFyeSBieSBrZXlib2FyZC4gV2luZG93cyAyMDAwL1hQ
OiBGb3IgdGhlIFVTIHN0YW5kYXJkIGtleWJvYXJkLCB0aGUgJ119JyBrZXkKLWNvbnN0IGludCBW
S19PRU1fNiA9IDB4REQ7Ci0KLS8vIFZLX09FTV83IChERSkgVXNlZCBmb3IgbWlzY2VsbGFuZW91
cyBjaGFyYWN0ZXJzOyBpdCBjYW4gdmFyeSBieSBrZXlib2FyZC4gV2luZG93cyAyMDAwL1hQOiBG
b3IgdGhlIFVTIHN0YW5kYXJkIGtleWJvYXJkLCB0aGUgJ3NpbmdsZS1xdW90ZS9kb3VibGUtcXVv
dGUnIGtleQotY29uc3QgaW50IFZLX09FTV83ID0gMHhERTsKLQotLy8gVktfT0VNXzggKERGKSBV
c2VkIGZvciBtaXNjZWxsYW5lb3VzIGNoYXJhY3RlcnM7IGl0IGNhbiB2YXJ5IGJ5IGtleWJvYXJk
LgotY29uc3QgaW50IFZLX09FTV84ID0gMHhERjsKLQotLy8gVktfT0VNXzEwMiAoRTIpIFdpbmRv
d3MgMjAwMC9YUDogRWl0aGVyIHRoZSBhbmdsZSBicmFja2V0IGtleSBvciB0aGUgYmFja3NsYXNo
IGtleSBvbiB0aGUgUlQgMTAyLWtleSBrZXlib2FyZAotY29uc3QgaW50IFZLX09FTV8xMDIgPSAw
eEUyOwotCi0vLyBWS19QUk9DRVNTS0VZIChFNSkgV2luZG93cyA5NS85OC9NZSwgV2luZG93cyBO
VCA0LjAsIFdpbmRvd3MgMjAwMC9YUDogSU1FIFBST0NFU1Mga2V5Ci1jb25zdCBpbnQgVktfUFJP
Q0VTU0tFWSA9IDB4RTU7Ci0KLS8vIFZLX1BBQ0tFVCAoRTcpIFdpbmRvd3MgMjAwMC9YUDogVXNl
ZCB0byBwYXNzIFVuaWNvZGUgY2hhcmFjdGVycyBhcyBpZiB0aGV5IHdlcmUga2V5c3Ryb2tlcy4g
VGhlIFZLX1BBQ0tFVCBrZXkgaXMgdGhlIGxvdyB3b3JkIG9mIGEgMzItYml0IFZpcnR1YWwgS2V5
IHZhbHVlIHVzZWQgZm9yIG5vbi1rZXlib2FyZCBpbnB1dCBtZXRob2RzLiBGb3IgbW9yZSBpbmZv
cm1hdGlvbiwgc2VlIFJlbWFyayBpbiBLRVlCRElOUFVULFNlbmRJbnB1dCwgV01fS0VZRE9XTiwg
YW5kIFdNX0tFWVVQCi1jb25zdCBpbnQgVktfUEFDS0VUID0gMHhFNzsKLQotLy8gVktfQVRUTiAo
RjYpIEF0dG4ga2V5Ci1jb25zdCBpbnQgVktfQVRUTiA9IDB4RjY7Ci0KLS8vIFZLX0NSU0VMIChG
NykgQ3JTZWwga2V5Ci1jb25zdCBpbnQgVktfQ1JTRUwgPSAweEY3OwotCi0vLyBWS19FWFNFTCAo
RjgpIEV4U2VsIGtleQotY29uc3QgaW50IFZLX0VYU0VMID0gMHhGODsKLQotLy8gVktfRVJFT0Yg
KEY5KSBFcmFzZSBFT0Yga2V5Ci1jb25zdCBpbnQgVktfRVJFT0YgPSAweEY5OwotCi0vLyBWS19Q
TEFZIChGQSkgUGxheSBrZXkKLWNvbnN0IGludCBWS19QTEFZID0gMHhGQTsKLQotLy8gVktfWk9P
TSAoRkIpIFpvb20ga2V5Ci1jb25zdCBpbnQgVktfWk9PTSA9IDB4RkI7Ci0KLS8vIFZLX05PTkFN
RSAoRkMpIFJlc2VydmVkIGZvciBmdXR1cmUgdXNlCi1jb25zdCBpbnQgVktfTk9OQU1FID0gMHhG
QzsKLQotLy8gVktfUEExIChGRCkgUEExIGtleQotY29uc3QgaW50IFZLX1BBMSA9IDB4RkQ7Ci0K
LS8vIFZLX09FTV9DTEVBUiAoRkUpIENsZWFyIGtleQotY29uc3QgaW50IFZLX09FTV9DTEVBUiA9
IDB4RkU7Ci0KLWNvbnN0IGludCBWS19VTktOT1dOID0gMDsKLQotfQotCi0jZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30766</attachid>
            <date>2009-05-29 00:11:01 -0700</date>
            <delta_ts>2009-05-29 18:20:30 -0700</delta_ts>
            <desc>using svn-create-patch</desc>
            <filename>keycodes.diff</filename>
            <type>text/plain</type>
            <size>43133</size>
            <attacher name="Fridrich Strba">fridrich.strba</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDI2MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMDktMDUtMjkgIEZyaWRyaWNoIFN0cmJhICA8ZnJpZHJpY2guc3Ry
YmFAYmx1ZXdpbi5jaD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGUgdHdvIEtleWJvYXJkQ29kZXMuaCBmaWxlcyBhcmUgYmFzaWNhbGx5IGlkZW50
aWNhbCBhbmQgdGhlCisgICAgICAgIHF0IG9uZSBpcyBwcm9wZXJseSAjaWZkZWYtZWQgZm9yIGRp
ZmZlcmVudCB3aW4zMiBzeXN0ZW1zLiBTaGFyZQorCQl0aGVtIGJldHdlZW4gUXQgYW5kIEd0ayBp
bXBsZW1lbnRhdGlvbnMuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBw
bGF0Zm9ybS9LZXlib2FyZENvZGVzLmg6IENvcGllZCBmcm9tIFdlYkNvcmUvcGxhdGZvcm0vcXQv
S2V5Ym9hcmRDb2Rlcy5oLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9LZXlib2FyZENvZGVzLmg6
IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vcXQvS2V5Ym9hcmRDb2Rlcy5oOiBSZW1vdmVk
LgorCiAyMDA5LTA1LTI4ICBEbWl0cnkgVGl0b3YgIDxkaW1pY2hAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KSW5kZXg6IFdlYkNvcmUvR05VbWFr
ZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24g
NDQyNjEpCisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0xMzA0
LDYgKzEzMDQsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvcGxhdGZvcm0vR2Vv
bG9jYXRpb25TZXJ2aWNlLmNwcCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZp
Y2UuaCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmggXAorCVdlYkNvcmUvcGxhdGZv
cm0vS2V5Ym9hcmRDb2Rlcy5oIFwKIAlXZWJDb3JlL3BsYXRmb3JtL0tVUkwuY3BwIFwKIAlXZWJD
b3JlL3BsYXRmb3JtL0tVUkwuaCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9LVVJMSGFzaC5oIFwKQEAg
LTE4MzIsNyArMTgzMyw2IEBAIHdlYmNvcmVndGtfc291cmNlcyArPSBcCiAJV2ViQ29yZS9wbGF0
Zm9ybS9ndGsvR3RrUGx1Z2luV2lkZ2V0LmggXAogCVdlYkNvcmUvcGxhdGZvcm0vZ3RrL0tVUkxH
dGsuY3BwIFwKIAlXZWJDb3JlL3BsYXRmb3JtL2d0ay9LZXlFdmVudEd0ay5jcHAgXAotCVdlYkNv
cmUvcGxhdGZvcm0vZ3RrL0tleWJvYXJkQ29kZXMuaCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9ndGsv
TGFuZ3VhZ2UuY3BwIFwKIAlXZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3Rr
LmNwcCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTG9nZ2luZ0d0ay5jcHAgXApJbmRleDogV2Vi
Q29yZS9wbGF0Zm9ybS9LZXlib2FyZENvZGVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0
Zm9ybS9LZXlib2FyZENvZGVzLmgJKHJldmlzaW9uIDQ0MjI4KQkoZnJvbSBXZWJDb3JlL3BsYXRm
b3JtL3F0L0tleWJvYXJkQ29kZXMuaDo0NDIyOCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vS2V5Ym9h
cmRDb2Rlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTYxIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDA2IE1pY2hhZWwgRW1tZWwgbWlrZS5lbW1lbEBnbWFpbC5jb20gCisgKgorICog
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBLZXlib2FyZENvZGVzX2gKKyNk
ZWZpbmUgS2V5Ym9hcmRDb2Rlc19oCisKKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCisjaWYgIVBMQVRGT1JNKFdJTl9PUykKKy8vIFZLX0xCVVRUT04g
KDAxKSBMZWZ0IG1vdXNlIGJ1dHRvbgorLy8gVktfUkJVVFRPTiAoMDIpIFJpZ2h0IG1vdXNlIGJ1
dHRvbgorLy8gVktfQ0FOQ0VMICgwMykgQ29udHJvbC1icmVhayBwcm9jZXNzaW5nCisvLyBWS19N
QlVUVE9OICgwNCkgTWlkZGxlIG1vdXNlIGJ1dHRvbiAodGhyZWUtYnV0dG9uIG1vdXNlKQorLy8g
VktfWEJVVFRPTjEgKDA1KQorLy8gVktfWEJVVFRPTjIgKDA2KQorCisvLyBWS19CQUNLICgwOCkg
QkFDS1NQQUNFIGtleQorY29uc3QgaW50IFZLX0JBQ0sgPSAweDA4OworCisvLyBWS19UQUIgKDA5
KSBUQUIga2V5Citjb25zdCBpbnQgVktfVEFCID0gMHgwOTsKKworLy8gVktfQ0xFQVIgKDBDKSBD
TEVBUiBrZXkKK2NvbnN0IGludCBWS19DTEVBUiA9IDB4MEM7CisKKy8vIFZLX1JFVFVSTiAoMEQp
Citjb25zdCBpbnQgVktfUkVUVVJOID0gMHgwRDsKKworLy8gVktfU0hJRlQgKDEwKSBTSElGVCBr
ZXkKK2NvbnN0IGludCBWS19TSElGVCA9IDB4MTA7CisKKy8vIFZLX0NPTlRST0wgKDExKSBDVFJM
IGtleQorY29uc3QgaW50IFZLX0NPTlRST0wgPSAweDExOworCisvLyBWS19NRU5VICgxMikgQUxU
IGtleQorY29uc3QgaW50IFZLX01FTlUgPSAweDEyOworCisvLyBWS19QQVVTRSAoMTMpIFBBVVNF
IGtleQorY29uc3QgaW50IFZLX1BBVVNFID0gMHgxMzsKKworLy8gVktfQ0FQSVRBTCAoMTQpIENB
UFMgTE9DSyBrZXkKK2NvbnN0IGludCBWS19DQVBJVEFMID0gMHgxNDsKKworLy8gVktfS0FOQSAo
MTUpIElucHV0IE1ldGhvZCBFZGl0b3IgKElNRSkgS2FuYSBtb2RlCitjb25zdCBpbnQgVktfS0FO
QSA9IDB4MTU7CisKKy8vIFZLX0hBTkdVRUwgKDE1KSBJTUUgSGFuZ3VlbCBtb2RlIChtYWludGFp
bmVkIGZvciBjb21wYXRpYmlsaXR5OyB1c2UgVktfSEFOR1VMKQorLy8gVktfSEFOR1VMICgxNSkg
SU1FIEhhbmd1bCBtb2RlCitjb25zdCBpbnQgVktfSEFOR1VMID0gMHgxNTsKKworLy8gVktfSlVO
SkEgKDE3KSBJTUUgSnVuamEgbW9kZQorY29uc3QgaW50IFZLX0pVTkpBID0gMHgxNzsKKworLy8g
VktfRklOQUwgKDE4KSBJTUUgZmluYWwgbW9kZQorY29uc3QgaW50IFZLX0ZJTkFMID0gMHgxODsK
KworLy8gVktfSEFOSkEgKDE5KSBJTUUgSGFuamEgbW9kZQorY29uc3QgaW50IFZLX0hBTkpBID0g
MHgxOTsKKworLy8gVktfS0FOSkkgKDE5KSBJTUUgS2FuamkgbW9kZQorY29uc3QgaW50IFZLX0tB
TkpJID0gMHgxOTsKKworLy8gVktfRVNDQVBFICgxQikgRVNDIGtleQorY29uc3QgaW50IFZLX0VT
Q0FQRSA9IDB4MUI7CisKKy8vIFZLX0NPTlZFUlQgKDFDKSBJTUUgY29udmVydAorY29uc3QgaW50
IFZLX0NPTlZFUlQgPSAweDFDOworCisvLyBWS19OT05DT05WRVJUICgxRCkgSU1FIG5vbmNvbnZl
cnQKK2NvbnN0IGludCBWS19OT05DT05WRVJUID0gMHgxRDsKKworLy8gVktfQUNDRVBUICgxRSkg
SU1FIGFjY2VwdAorY29uc3QgaW50IFZLX0FDQ0VQVCA9IDB4MUU7CisKKy8vIFZLX01PREVDSEFO
R0UgKDFGKSBJTUUgbW9kZSBjaGFuZ2UgcmVxdWVzdAorY29uc3QgaW50IFZLX01PREVDSEFOR0Ug
PSAweDFGOworCisvLyBWS19TUEFDRSAoMjApIFNQQUNFQkFSCitjb25zdCBpbnQgVktfU1BBQ0Ug
PSAweDIwOworCisvLyBWS19QUklPUiAoMjEpIFBBR0UgVVAga2V5Citjb25zdCBpbnQgVktfUFJJ
T1IgPSAweDIxOworCisvLyBWS19ORVhUICgyMikgUEFHRSBET1dOIGtleQorY29uc3QgaW50IFZL
X05FWFQgPSAweDIyOworCisvLyBWS19FTkQgKDIzKSBFTkQga2V5Citjb25zdCBpbnQgVktfRU5E
ID0gMHgyMzsKKworLy8gVktfSE9NRSAoMjQpIEhPTUUga2V5Citjb25zdCBpbnQgVktfSE9NRSA9
IDB4MjQ7CisKKy8vIFZLX0xFRlQgKDI1KSBMRUZUIEFSUk9XIGtleQorY29uc3QgaW50IFZLX0xF
RlQgPSAweDI1OworCisvLyBWS19VUCAoMjYpIFVQIEFSUk9XIGtleQorY29uc3QgaW50IFZLX1VQ
ID0gMHgyNjsKKworLy8gVktfUklHSFQgKDI3KSBSSUdIVCBBUlJPVyBrZXkKK2NvbnN0IGludCBW
S19SSUdIVCA9IDB4Mjc7CisKKy8vIFZLX0RPV04gKDI4KSBET1dOIEFSUk9XIGtleQorY29uc3Qg
aW50IFZLX0RPV04gPSAweDI4OworCisvLyBWS19TRUxFQ1QgKDI5KSBTRUxFQ1Qga2V5Citjb25z
dCBpbnQgVktfU0VMRUNUID0gMHgyOTsKKworLy8gVktfUFJJTlQgKDJBKSBQUklOVCBrZXkKK2Nv
bnN0IGludCBWS19QUklOVCA9IDB4MkE7CisKKy8vIFZLX0VYRUNVVEUgKDJCKSBFWEVDVVRFIGtl
eQorY29uc3QgaW50IFZLX0VYRUNVVEUgPSAweDJCOworCisvLyBWS19TTkFQU0hPVCAoMkMpIFBS
SU5UIFNDUkVFTiBrZXkKK2NvbnN0IGludCBWS19TTkFQU0hPVCA9IDB4MkM7CisKKy8vIFZLX0lO
U0VSVCAoMkQpIElOUyBrZXkKK2NvbnN0IGludCBWS19JTlNFUlQgPSAweDJEOworCisvLyBWS19E
RUxFVEUgKDJFKSBERUwga2V5Citjb25zdCBpbnQgVktfREVMRVRFID0gMHgyRTsKKworLy8gVktf
SEVMUCAoMkYpIEhFTFAga2V5Citjb25zdCBpbnQgVktfSEVMUCA9IDB4MkY7CisKKyNlbmRpZiAv
LyBQTEFURk9STShXSU5fT1MpCisKKy8vICgzMCkgMCBrZXkKK2NvbnN0IGludCBWS18wID0gMHgz
MDsKKworLy8gKDMxKSAxIGtleQorY29uc3QgaW50IFZLXzEgPSAweDMxOworCisvLyAoMzIpIDIg
a2V5Citjb25zdCBpbnQgVktfMiA9IDB4MzI7CisKKy8vICgzMykgMyBrZXkKK2NvbnN0IGludCBW
S18zID0gMHgzMzsKKworLy8gKDM0KSA0IGtleQorY29uc3QgaW50IFZLXzQgPSAweDM0OworCisv
LyAoMzUpIDUga2V5OworCitjb25zdCBpbnQgVktfNSA9IDB4MzU7CisKKy8vICgzNikgNiBrZXkK
K2NvbnN0IGludCBWS182ID0gMHgzNjsKKworLy8gKDM3KSA3IGtleQorY29uc3QgaW50IFZLXzcg
PSAweDM3OworCisvLyAoMzgpIDgga2V5Citjb25zdCBpbnQgVktfOCA9IDB4Mzg7CisKKy8vICgz
OSkgOSBrZXkKK2NvbnN0IGludCBWS185ID0gMHgzOTsKKworLy8gKDQxKSBBIGtleQorY29uc3Qg
aW50IFZLX0EgPSAweDQxOworCisvLyAoNDIpIEIga2V5Citjb25zdCBpbnQgVktfQiA9IDB4NDI7
CisKKy8vICg0MykgQyBrZXkKK2NvbnN0IGludCBWS19DID0gMHg0MzsKKworLy8gKDQ0KSBEIGtl
eQorY29uc3QgaW50IFZLX0QgPSAweDQ0OworCisvLyAoNDUpIEUga2V5Citjb25zdCBpbnQgVktf
RSA9IDB4NDU7CisKKy8vICg0NikgRiBrZXkKK2NvbnN0IGludCBWS19GID0gMHg0NjsKKworLy8g
KDQ3KSBHIGtleQorY29uc3QgaW50IFZLX0cgPSAweDQ3OworCisvLyAoNDgpIEgga2V5Citjb25z
dCBpbnQgVktfSCA9IDB4NDg7CisKKy8vICg0OSkgSSBrZXkKK2NvbnN0IGludCBWS19JID0gMHg0
OTsKKworLy8gKDRBKSBKIGtleQorY29uc3QgaW50IFZLX0ogPSAweDRBOworCisvLyAoNEIpIEsg
a2V5Citjb25zdCBpbnQgVktfSyA9IDB4NEI7CisKKy8vICg0QykgTCBrZXkKK2NvbnN0IGludCBW
S19MID0gMHg0QzsKKworLy8gKDREKSBNIGtleQorY29uc3QgaW50IFZLX00gPSAweDREOworCisv
LyAoNEUpIE4ga2V5Citjb25zdCBpbnQgVktfTiA9IDB4NEU7CisKKy8vICg0RikgTyBrZXkKK2Nv
bnN0IGludCBWS19PID0gMHg0RjsKKworLy8gKDUwKSBQIGtleQorY29uc3QgaW50IFZLX1AgPSAw
eDUwOworCisvLyAoNTEpIFEga2V5Citjb25zdCBpbnQgVktfUSA9IDB4NTE7CisKKy8vICg1Mikg
UiBrZXkKK2NvbnN0IGludCBWS19SID0gMHg1MjsKKworLy8gKDUzKSBTIGtleQorY29uc3QgaW50
IFZLX1MgPSAweDUzOworCisvLyAoNTQpIFQga2V5Citjb25zdCBpbnQgVktfVCA9IDB4NTQ7CisK
Ky8vICg1NSkgVSBrZXkKK2NvbnN0IGludCBWS19VID0gMHg1NTsKKworLy8gKDU2KSBWIGtleQor
Y29uc3QgaW50IFZLX1YgPSAweDU2OworCisvLyAoNTcpIFcga2V5Citjb25zdCBpbnQgVktfVyA9
IDB4NTc7CisKKy8vICg1OCkgWCBrZXkKK2NvbnN0IGludCBWS19YID0gMHg1ODsKKworLy8gKDU5
KSBZIGtleQorY29uc3QgaW50IFZLX1kgPSAweDU5OworCisvLyAoNUEpIFoga2V5Citjb25zdCBp
bnQgVktfWiA9IDB4NUE7CisKKyNpZiAhUExBVEZPUk0oV0lOX09TKQorCisvLyBWS19MV0lOICg1
QikgTGVmdCBXaW5kb3dzIGtleSAoTWljcm9zb2Z0IE5hdHVyYWwga2V5Ym9hcmQpCitjb25zdCBp
bnQgVktfTFdJTiA9IDB4NUI7CisKKy8vIFZLX1JXSU4gKDVDKSBSaWdodCBXaW5kb3dzIGtleSAo
TmF0dXJhbCBrZXlib2FyZCkKK2NvbnN0IGludCBWS19SV0lOID0gMHg1QzsKKworLy8gVktfQVBQ
UyAoNUQpIEFwcGxpY2F0aW9ucyBrZXkgKE5hdHVyYWwga2V5Ym9hcmQpCitjb25zdCBpbnQgVktf
QVBQUyA9IDB4NUQ7CisKKy8vIFZLX1NMRUVQICg1RikgQ29tcHV0ZXIgU2xlZXAga2V5Citjb25z
dCBpbnQgVktfU0xFRVAgPSAweDVGOworCisvLyBWS19OVU1QQUQwICg2MCkgTnVtZXJpYyBrZXlw
YWQgMCBrZXkKK2NvbnN0IGludCBWS19OVU1QQUQwID0gMHg2MDsKKworLy8gVktfTlVNUEFEMSAo
NjEpIE51bWVyaWMga2V5cGFkIDEga2V5Citjb25zdCBpbnQgVktfTlVNUEFEMSA9IDB4NjE7CisK
Ky8vIFZLX05VTVBBRDIgKDYyKSBOdW1lcmljIGtleXBhZCAyIGtleQorY29uc3QgaW50IFZLX05V
TVBBRDIgPSAweDYyOworCisvLyBWS19OVU1QQUQzICg2MykgTnVtZXJpYyBrZXlwYWQgMyBrZXkK
K2NvbnN0IGludCBWS19OVU1QQUQzID0gMHg2MzsKKworLy8gVktfTlVNUEFENCAoNjQpIE51bWVy
aWMga2V5cGFkIDQga2V5Citjb25zdCBpbnQgVktfTlVNUEFENCA9IDB4NjQ7CisKKy8vIFZLX05V
TVBBRDUgKDY1KSBOdW1lcmljIGtleXBhZCA1IGtleQorY29uc3QgaW50IFZLX05VTVBBRDUgPSAw
eDY1OworCisvLyBWS19OVU1QQUQ2ICg2NikgTnVtZXJpYyBrZXlwYWQgNiBrZXkKK2NvbnN0IGlu
dCBWS19OVU1QQUQ2ID0gMHg2NjsKKworLy8gVktfTlVNUEFENyAoNjcpIE51bWVyaWMga2V5cGFk
IDcga2V5Citjb25zdCBpbnQgVktfTlVNUEFENyA9IDB4Njc7CisKKy8vIFZLX05VTVBBRDggKDY4
KSBOdW1lcmljIGtleXBhZCA4IGtleQorY29uc3QgaW50IFZLX05VTVBBRDggPSAweDY4OworCisv
LyBWS19OVU1QQUQ5ICg2OSkgTnVtZXJpYyBrZXlwYWQgOSBrZXkKK2NvbnN0IGludCBWS19OVU1Q
QUQ5ID0gMHg2OTsKKworLy8gVktfTVVMVElQTFkgKDZBKSBNdWx0aXBseSBrZXkKK2NvbnN0IGlu
dCBWS19NVUxUSVBMWSA9IDB4NkE7CisKKy8vIFZLX0FERCAoNkIpIEFkZCBrZXkKK2NvbnN0IGlu
dCBWS19BREQgPSAweDZCOworCisvLyBWS19TRVBBUkFUT1IgKDZDKSBTZXBhcmF0b3Iga2V5Citj
b25zdCBpbnQgVktfU0VQQVJBVE9SID0gMHg2QzsKKworLy8gVktfU1VCVFJBQ1QgKDZEKSBTdWJ0
cmFjdCBrZXkKK2NvbnN0IGludCBWS19TVUJUUkFDVCA9IDB4NkQ7CisKKy8vIFZLX0RFQ0lNQUwg
KDZFKSBEZWNpbWFsIGtleQorY29uc3QgaW50IFZLX0RFQ0lNQUwgPSAweDZFOworCisvLyBWS19E
SVZJREUgKDZGKSBEaXZpZGUga2V5Citjb25zdCBpbnQgVktfRElWSURFID0gMHg2RjsKKworLy8g
VktfRjEgKDcwKSBGMSBrZXkKK2NvbnN0IGludCBWS19GMSA9IDB4NzA7CisKKy8vIFZLX0YyICg3
MSkgRjIga2V5Citjb25zdCBpbnQgVktfRjIgPSAweDcxOworCisvLyBWS19GMyAoNzIpIEYzIGtl
eQorY29uc3QgaW50IFZLX0YzID0gMHg3MjsKKworLy8gVktfRjQgKDczKSBGNCBrZXkKK2NvbnN0
IGludCBWS19GNCA9IDB4NzM7CisKKy8vIFZLX0Y1ICg3NCkgRjUga2V5Citjb25zdCBpbnQgVktf
RjUgPSAweDc0OworCisvLyBWS19GNiAoNzUpIEY2IGtleQorY29uc3QgaW50IFZLX0Y2ID0gMHg3
NTsKKworLy8gVktfRjcgKDc2KSBGNyBrZXkKK2NvbnN0IGludCBWS19GNyA9IDB4NzY7CisKKy8v
IFZLX0Y4ICg3NykgRjgga2V5Citjb25zdCBpbnQgVktfRjggPSAweDc3OworCisvLyBWS19GOSAo
NzgpIEY5IGtleQorY29uc3QgaW50IFZLX0Y5ID0gMHg3ODsKKworLy8gVktfRjEwICg3OSkgRjEw
IGtleQorY29uc3QgaW50IFZLX0YxMCA9IDB4Nzk7CisKKy8vIFZLX0YxMSAoN0EpIEYxMSBrZXkK
K2NvbnN0IGludCBWS19GMTEgPSAweDdBOworCisvLyBWS19GMTIgKDdCKSBGMTIga2V5Citjb25z
dCBpbnQgVktfRjEyID0gMHg3QjsKKworLy8gVktfRjEzICg3QykgRjEzIGtleQorY29uc3QgaW50
IFZLX0YxMyA9IDB4N0M7CisKKy8vIFZLX0YxNCAoN0QpIEYxNCBrZXkKK2NvbnN0IGludCBWS19G
MTQgPSAweDdEOworCisvLyBWS19GMTUgKDdFKSBGMTUga2V5Citjb25zdCBpbnQgVktfRjE1ID0g
MHg3RTsKKworLy8gVktfRjE2ICg3RikgRjE2IGtleQorY29uc3QgaW50IFZLX0YxNiA9IDB4N0Y7
CisKKy8vIFZLX0YxNyAoODBIKSBGMTcga2V5Citjb25zdCBpbnQgVktfRjE3ID0gMHg4MDsKKwor
Ly8gVktfRjE4ICg4MUgpIEYxOCBrZXkKK2NvbnN0IGludCBWS19GMTggPSAweDgxOworCisvLyBW
S19GMTkgKDgySCkgRjE5IGtleQorY29uc3QgaW50IFZLX0YxOSA9IDB4ODI7CisKKy8vIFZLX0Yy
MCAoODNIKSBGMjAga2V5Citjb25zdCBpbnQgVktfRjIwID0gMHg4MzsKKworLy8gVktfRjIxICg4
NEgpIEYyMSBrZXkKK2NvbnN0IGludCBWS19GMjEgPSAweDg0OworCisvLyBWS19GMjIgKDg1SCkg
RjIyIGtleQorY29uc3QgaW50IFZLX0YyMiA9IDB4ODU7CisKKy8vIFZLX0YyMyAoODZIKSBGMjMg
a2V5Citjb25zdCBpbnQgVktfRjIzID0gMHg4NjsKKworLy8gVktfRjI0ICg4N0gpIEYyNCBrZXkK
K2NvbnN0IGludCBWS19GMjQgPSAweDg3OworCisvLyBWS19OVU1MT0NLICg5MCkgTlVNIExPQ0sg
a2V5Citjb25zdCBpbnQgVktfTlVNTE9DSyA9IDB4OTA7CisKKy8vIFZLX1NDUk9MTCAoOTEpIFND
Uk9MTCBMT0NLIGtleQorY29uc3QgaW50IFZLX1NDUk9MTCA9IDB4OTE7CisKKy8vIFZLX0xTSElG
VCAoQTApIExlZnQgU0hJRlQga2V5Citjb25zdCBpbnQgVktfTFNISUZUID0gMHhBMDsKKworLy8g
VktfUlNISUZUIChBMSkgUmlnaHQgU0hJRlQga2V5Citjb25zdCBpbnQgVktfUlNISUZUID0gMHhB
MTsKKworLy8gVktfTENPTlRST0wgKEEyKSBMZWZ0IENPTlRST0wga2V5Citjb25zdCBpbnQgVktf
TENPTlRST0wgPSAweEEyOworCisvLyBWS19SQ09OVFJPTCAoQTMpIFJpZ2h0IENPTlRST0wga2V5
Citjb25zdCBpbnQgVktfUkNPTlRST0wgPSAweEEzOworCisvLyBWS19MTUVOVSAoQTQpIExlZnQg
TUVOVSBrZXkKK2NvbnN0IGludCBWS19MTUVOVSA9IDB4QTQ7CisKKy8vIFZLX1JNRU5VIChBNSkg
UmlnaHQgTUVOVSBrZXkKK2NvbnN0IGludCBWS19STUVOVSA9IDB4QTU7CisKKy8vIFZLX0JST1dT
RVJfQkFDSyAoQTYpIFdpbmRvd3MgMjAwMC9YUDogQnJvd3NlciBCYWNrIGtleQorY29uc3QgaW50
IFZLX0JST1dTRVJfQkFDSyA9IDB4QTY7CisKKy8vIFZLX0JST1dTRVJfRk9SV0FSRCAoQTcpIFdp
bmRvd3MgMjAwMC9YUDogQnJvd3NlciBGb3J3YXJkIGtleQorY29uc3QgaW50IFZLX0JST1dTRVJf
Rk9SV0FSRCA9IDB4QTc7CisKKy8vIFZLX0JST1dTRVJfUkVGUkVTSCAoQTgpIFdpbmRvd3MgMjAw
MC9YUDogQnJvd3NlciBSZWZyZXNoIGtleQorY29uc3QgaW50IFZLX0JST1dTRVJfUkVGUkVTSCA9
IDB4QTg7CisKKy8vIFZLX0JST1dTRVJfU1RPUCAoQTkpIFdpbmRvd3MgMjAwMC9YUDogQnJvd3Nl
ciBTdG9wIGtleQorY29uc3QgaW50IFZLX0JST1dTRVJfU1RPUCA9IDB4QTk7CisKKy8vIFZLX0JS
T1dTRVJfU0VBUkNIIChBQSkgV2luZG93cyAyMDAwL1hQOiBCcm93c2VyIFNlYXJjaCBrZXkKK2Nv
bnN0IGludCBWS19CUk9XU0VSX1NFQVJDSCA9IDB4QUE7CisKKy8vIFZLX0JST1dTRVJfRkFWT1JJ
VEVTIChBQikgV2luZG93cyAyMDAwL1hQOiBCcm93c2VyIEZhdm9yaXRlcyBrZXkKK2NvbnN0IGlu
dCBWS19CUk9XU0VSX0ZBVk9SSVRFUyA9IDB4QUI7CisKKy8vIFZLX0JST1dTRVJfSE9NRSAoQUMp
IFdpbmRvd3MgMjAwMC9YUDogQnJvd3NlciBTdGFydCBhbmQgSG9tZSBrZXkKK2NvbnN0IGludCBW
S19CUk9XU0VSX0hPTUUgPSAweEFDOworCisvLyBWS19WT0xVTUVfTVVURSAoQUQpIFdpbmRvd3Mg
MjAwMC9YUDogVm9sdW1lIE11dGUga2V5Citjb25zdCBpbnQgVktfVk9MVU1FX01VVEUgPSAweEFE
OworCisvLyBWS19WT0xVTUVfRE9XTiAoQUUpIFdpbmRvd3MgMjAwMC9YUDogVm9sdW1lIERvd24g
a2V5Citjb25zdCBpbnQgVktfVk9MVU1FX0RPV04gPSAweEFFOworCisvLyBWS19WT0xVTUVfVVAg
KEFGKSBXaW5kb3dzIDIwMDAvWFA6IFZvbHVtZSBVcCBrZXkKK2NvbnN0IGludCBWS19WT0xVTUVf
VVAgPSAweEFGOworCisvLyBWS19NRURJQV9ORVhUX1RSQUNLIChCMCkgV2luZG93cyAyMDAwL1hQ
OiBOZXh0IFRyYWNrIGtleQorY29uc3QgaW50IFZLX01FRElBX05FWFRfVFJBQ0sgPSAweEIwOwor
CisvLyBWS19NRURJQV9QUkVWX1RSQUNLIChCMSkgV2luZG93cyAyMDAwL1hQOiBQcmV2aW91cyBU
cmFjayBrZXkKK2NvbnN0IGludCBWS19NRURJQV9QUkVWX1RSQUNLID0gMHhCMTsKKworLy8gVktf
TUVESUFfU1RPUCAoQjIpIFdpbmRvd3MgMjAwMC9YUDogU3RvcCBNZWRpYSBrZXkKK2NvbnN0IGlu
dCBWS19NRURJQV9TVE9QID0gMHhCMjsKKworLy8gVktfTUVESUFfUExBWV9QQVVTRSAoQjMpIFdp
bmRvd3MgMjAwMC9YUDogUGxheS9QYXVzZSBNZWRpYSBrZXkKK2NvbnN0IGludCBWS19NRURJQV9Q
TEFZX1BBVVNFID0gMHhCMzsKKworLy8gVktfTEFVTkNIX01BSUwgKEI0KSBXaW5kb3dzIDIwMDAv
WFA6IFN0YXJ0IE1haWwga2V5Citjb25zdCBpbnQgVktfTUVESUFfTEFVTkNIX01BSUwgPSAweEI0
OworCisvLyBWS19MQVVOQ0hfTUVESUFfU0VMRUNUIChCNSkgV2luZG93cyAyMDAwL1hQOiBTZWxl
Y3QgTWVkaWEga2V5Citjb25zdCBpbnQgVktfTUVESUFfTEFVTkNIX01FRElBX1NFTEVDVCA9IDB4
QjU7CisKKy8vIFZLX0xBVU5DSF9BUFAxIChCNikgV2luZG93cyAyMDAwL1hQOiBTdGFydCBBcHBs
aWNhdGlvbiAxIGtleQorY29uc3QgaW50IFZLX01FRElBX0xBVU5DSF9BUFAxID0gMHhCNjsKKwor
Ly8gVktfTEFVTkNIX0FQUDIgKEI3KSBXaW5kb3dzIDIwMDAvWFA6IFN0YXJ0IEFwcGxpY2F0aW9u
IDIga2V5Citjb25zdCBpbnQgVktfTUVESUFfTEFVTkNIX0FQUDIgPSAweEI3OworCisjZW5kaWYg
Ly8gIVBMQVRGT1JNKFdJTl9PUykKKworI2lmICFQTEFURk9STShXSU5fT1MpIHx8IFBMQVRGT1JN
KFdJTl9DRSkKKworLy8gVktfT0VNXzEgKEJBKSBVc2VkIGZvciBtaXNjZWxsYW5lb3VzIGNoYXJh
Y3RlcnM7IGl0IGNhbiB2YXJ5IGJ5IGtleWJvYXJkLiBXaW5kb3dzIDIwMDAvWFA6IEZvciB0aGUg
VVMgc3RhbmRhcmQga2V5Ym9hcmQsIHRoZSAnOzonIGtleQorY29uc3QgaW50IFZLX09FTV8xID0g
MHhCQTsKKworLy8gVktfT0VNX1BMVVMgKEJCKSBXaW5kb3dzIDIwMDAvWFA6IEZvciBhbnkgY291
bnRyeS9yZWdpb24sIHRoZSAnKycga2V5Citjb25zdCBpbnQgVktfT0VNX1BMVVMgPSAweEJCOwor
CisvLyBWS19PRU1fQ09NTUEgKEJDKSBXaW5kb3dzIDIwMDAvWFA6IEZvciBhbnkgY291bnRyeS9y
ZWdpb24sIHRoZSAnLCcga2V5Citjb25zdCBpbnQgVktfT0VNX0NPTU1BID0gMHhCQzsKKworLy8g
VktfT0VNX01JTlVTIChCRCkgV2luZG93cyAyMDAwL1hQOiBGb3IgYW55IGNvdW50cnkvcmVnaW9u
LCB0aGUgJy0nIGtleQorY29uc3QgaW50IFZLX09FTV9NSU5VUyA9IDB4QkQ7CisKKy8vIFZLX09F
TV9QRVJJT0QgKEJFKSBXaW5kb3dzIDIwMDAvWFA6IEZvciBhbnkgY291bnRyeS9yZWdpb24sIHRo
ZSAnLicga2V5Citjb25zdCBpbnQgVktfT0VNX1BFUklPRCA9IDB4QkU7CisKKy8vIFZLX09FTV8y
IChCRikgVXNlZCBmb3IgbWlzY2VsbGFuZW91cyBjaGFyYWN0ZXJzOyBpdCBjYW4gdmFyeSBieSBr
ZXlib2FyZC4gV2luZG93cyAyMDAwL1hQOiBGb3IgdGhlIFVTIHN0YW5kYXJkIGtleWJvYXJkLCB0
aGUgJy8/JyBrZXkKK2NvbnN0IGludCBWS19PRU1fMiA9IDB4QkY7CisKKy8vIFZLX09FTV8zIChD
MCkgVXNlZCBmb3IgbWlzY2VsbGFuZW91cyBjaGFyYWN0ZXJzOyBpdCBjYW4gdmFyeSBieSBrZXli
b2FyZC4gV2luZG93cyAyMDAwL1hQOiBGb3IgdGhlIFVTIHN0YW5kYXJkIGtleWJvYXJkLCB0aGUg
J2B+JyBrZXkKK2NvbnN0IGludCBWS19PRU1fMyA9IDB4QzA7CisKKy8vIFZLX09FTV80IChEQikg
VXNlZCBmb3IgbWlzY2VsbGFuZW91cyBjaGFyYWN0ZXJzOyBpdCBjYW4gdmFyeSBieSBrZXlib2Fy
ZC4gV2luZG93cyAyMDAwL1hQOiBGb3IgdGhlIFVTIHN0YW5kYXJkIGtleWJvYXJkLCB0aGUgJ1t7
JyBrZXkKK2NvbnN0IGludCBWS19PRU1fNCA9IDB4REI7CisKKy8vIFZLX09FTV81IChEQykgVXNl
ZCBmb3IgbWlzY2VsbGFuZW91cyBjaGFyYWN0ZXJzOyBpdCBjYW4gdmFyeSBieSBrZXlib2FyZC4g
V2luZG93cyAyMDAwL1hQOiBGb3IgdGhlIFVTIHN0YW5kYXJkIGtleWJvYXJkLCB0aGUgJ1x8JyBr
ZXkKK2NvbnN0IGludCBWS19PRU1fNSA9IDB4REM7CisKKy8vIFZLX09FTV82IChERCkgVXNlZCBm
b3IgbWlzY2VsbGFuZW91cyBjaGFyYWN0ZXJzOyBpdCBjYW4gdmFyeSBieSBrZXlib2FyZC4gV2lu
ZG93cyAyMDAwL1hQOiBGb3IgdGhlIFVTIHN0YW5kYXJkIGtleWJvYXJkLCB0aGUgJ119JyBrZXkK
K2NvbnN0IGludCBWS19PRU1fNiA9IDB4REQ7CisKKy8vIFZLX09FTV83IChERSkgVXNlZCBmb3Ig
bWlzY2VsbGFuZW91cyBjaGFyYWN0ZXJzOyBpdCBjYW4gdmFyeSBieSBrZXlib2FyZC4gV2luZG93
cyAyMDAwL1hQOiBGb3IgdGhlIFVTIHN0YW5kYXJkIGtleWJvYXJkLCB0aGUgJ3NpbmdsZS1xdW90
ZS9kb3VibGUtcXVvdGUnIGtleQorY29uc3QgaW50IFZLX09FTV83ID0gMHhERTsKKworLy8gVktf
T0VNXzggKERGKSBVc2VkIGZvciBtaXNjZWxsYW5lb3VzIGNoYXJhY3RlcnM7IGl0IGNhbiB2YXJ5
IGJ5IGtleWJvYXJkLgorY29uc3QgaW50IFZLX09FTV84ID0gMHhERjsKKworI2VuZGlmIC8vICFQ
TEFURk9STShXSU5fT1MpIHx8IFBMQVRGT1JNKFdJTl9DRSkKKworI2lmICFQTEFURk9STShXSU5f
T1MpCisKKy8vIFZLX09FTV8xMDIgKEUyKSBXaW5kb3dzIDIwMDAvWFA6IEVpdGhlciB0aGUgYW5n
bGUgYnJhY2tldCBrZXkgb3IgdGhlIGJhY2tzbGFzaCBrZXkgb24gdGhlIFJUIDEwMi1rZXkga2V5
Ym9hcmQKK2NvbnN0IGludCBWS19PRU1fMTAyID0gMHhFMjsKKworLy8gVktfUFJPQ0VTU0tFWSAo
RTUpIFdpbmRvd3MgOTUvOTgvTWUsIFdpbmRvd3MgTlQgNC4wLCBXaW5kb3dzIDIwMDAvWFA6IElN
RSBQUk9DRVNTIGtleQorY29uc3QgaW50IFZLX1BST0NFU1NLRVkgPSAweEU1OworCisvLyBWS19Q
QUNLRVQgKEU3KSBXaW5kb3dzIDIwMDAvWFA6IFVzZWQgdG8gcGFzcyBVbmljb2RlIGNoYXJhY3Rl
cnMgYXMgaWYgdGhleSB3ZXJlIGtleXN0cm9rZXMuIFRoZSBWS19QQUNLRVQga2V5IGlzIHRoZSBs
b3cgd29yZCBvZiBhIDMyLWJpdCBWaXJ0dWFsIEtleSB2YWx1ZSB1c2VkIGZvciBub24ta2V5Ym9h
cmQgaW5wdXQgbWV0aG9kcy4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBSZW1hcmsgaW4gS0VZ
QkRJTlBVVCxTZW5kSW5wdXQsIFdNX0tFWURPV04sIGFuZCBXTV9LRVlVUAorY29uc3QgaW50IFZL
X1BBQ0tFVCA9IDB4RTc7CisKKy8vIFZLX0FUVE4gKEY2KSBBdHRuIGtleQorY29uc3QgaW50IFZL
X0FUVE4gPSAweEY2OworCisvLyBWS19DUlNFTCAoRjcpIENyU2VsIGtleQorY29uc3QgaW50IFZL
X0NSU0VMID0gMHhGNzsKKworLy8gVktfRVhTRUwgKEY4KSBFeFNlbCBrZXkKK2NvbnN0IGludCBW
S19FWFNFTCA9IDB4Rjg7CisKKy8vIFZLX0VSRU9GIChGOSkgRXJhc2UgRU9GIGtleQorY29uc3Qg
aW50IFZLX0VSRU9GID0gMHhGOTsKKworLy8gVktfUExBWSAoRkEpIFBsYXkga2V5Citjb25zdCBp
bnQgVktfUExBWSA9IDB4RkE7CisKKy8vIFZLX1pPT00gKEZCKSBab29tIGtleQorY29uc3QgaW50
IFZLX1pPT00gPSAweEZCOworCisvLyBWS19OT05BTUUgKEZDKSBSZXNlcnZlZCBmb3IgZnV0dXJl
IHVzZQorY29uc3QgaW50IFZLX05PTkFNRSA9IDB4RkM7CisKKy8vIFZLX1BBMSAoRkQpIFBBMSBr
ZXkKK2NvbnN0IGludCBWS19QQTEgPSAweEZEOworCisvLyBWS19PRU1fQ0xFQVIgKEZFKSBDbGVh
ciBrZXkKK2NvbnN0IGludCBWS19PRU1fQ0xFQVIgPSAweEZFOworCitjb25zdCBpbnQgVktfVU5L
Tk9XTiA9IDA7CisKKyNlbmRpZiAvLyBQTEFURk9STShXSU5fT1MpCisKK30KKworI2VuZGlmCklu
ZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2d0ay9LZXlib2FyZENvZGVzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvS2V5Ym9hcmRDb2Rlcy5oCShyZXZpc2lvbiA0NDI2MSkKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3RrL0tleWJvYXJkQ29kZXMuaAkod29ya2luZyBjb3B5KQpAQCAt
MSw1NDMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiBNaWNoYWVsIEVtbWVsIG1p
a2UuZW1tZWxAZ21haWwuY29tCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgot
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5k
ZWYgS2V5Ym9hcmRDb2Rlc19oCi0jZGVmaW5lIEtleWJvYXJkQ29kZXNfaAotCi1uYW1lc3BhY2Ug
V2ViQ29yZSB7Ci0KLS8vIFZLX0xCVVRUT04gKDAxKSBMZWZ0IG1vdXNlIGJ1dHRvbgotLy8gVktf
UkJVVFRPTiAoMDIpIFJpZ2h0IG1vdXNlIGJ1dHRvbgotLy8gVktfQ0FOQ0VMICgwMykgQ29udHJv
bC1icmVhayBwcm9jZXNzaW5nCi0vLyBWS19NQlVUVE9OICgwNCkgTWlkZGxlIG1vdXNlIGJ1dHRv
biAodGhyZWUtYnV0dG9uIG1vdXNlKQotLy8gVktfWEJVVFRPTjEgKDA1KQotLy8gVktfWEJVVFRP
TjIgKDA2KQotCi0vLyBWS19CQUNLICgwOCkgQkFDS1NQQUNFIGtleQotY29uc3QgaW50IFZLX0JB
Q0sgPSAweDA4OwotCi0vLyBWS19UQUIgKDA5KSBUQUIga2V5Ci1jb25zdCBpbnQgVktfVEFCID0g
MHgwOTsKLQotLy8gVktfQ0xFQVIgKDBDKSBDTEVBUiBrZXkKLWNvbnN0IGludCBWS19DTEVBUiA9
IDB4MEM7Ci0KLS8vIFZLX1JFVFVSTiAoMEQpCi1jb25zdCBpbnQgVktfUkVUVVJOID0gMHgwRDsK
LQotLy8gVktfU0hJRlQgKDEwKSBTSElGVCBrZXkKLWNvbnN0IGludCBWS19TSElGVCA9IDB4MTA7
Ci0KLS8vIFZLX0NPTlRST0wgKDExKSBDVFJMIGtleQotY29uc3QgaW50IFZLX0NPTlRST0wgPSAw
eDExOwotCi0vLyBWS19NRU5VICgxMikgQUxUIGtleQotY29uc3QgaW50IFZLX01FTlUgPSAweDEy
OwotCi0vLyBWS19QQVVTRSAoMTMpIFBBVVNFIGtleQotY29uc3QgaW50IFZLX1BBVVNFID0gMHgx
MzsKLQotLy8gVktfQ0FQSVRBTCAoMTQpIENBUFMgTE9DSyBrZXkKLWNvbnN0IGludCBWS19DQVBJ
VEFMID0gMHgxNDsKLQotLy8gVktfS0FOQSAoMTUpIElucHV0IE1ldGhvZCBFZGl0b3IgKElNRSkg
S2FuYSBtb2RlCi1jb25zdCBpbnQgVktfS0FOQSA9IDB4MTU7Ci0KLS8vIFZLX0hBTkdVRUwgKDE1
KSBJTUUgSGFuZ3VlbCBtb2RlIChtYWludGFpbmVkIGZvciBjb21wYXRpYmlsaXR5OyB1c2UgVktf
SEFOR1VMKQotLy8gVktfSEFOR1VMICgxNSkgSU1FIEhhbmd1bCBtb2RlCi1jb25zdCBpbnQgVktf
SEFOR1VMID0gMHgxNTsKLQotLy8gVktfSlVOSkEgKDE3KSBJTUUgSnVuamEgbW9kZQotY29uc3Qg
aW50IFZLX0pVTkpBID0gMHgxNzsKLQotLy8gVktfRklOQUwgKDE4KSBJTUUgZmluYWwgbW9kZQot
Y29uc3QgaW50IFZLX0ZJTkFMID0gMHgxODsKLQotLy8gVktfSEFOSkEgKDE5KSBJTUUgSGFuamEg
bW9kZQotY29uc3QgaW50IFZLX0hBTkpBID0gMHgxOTsKLQotLy8gVktfS0FOSkkgKDE5KSBJTUUg
S2FuamkgbW9kZQotY29uc3QgaW50IFZLX0tBTkpJID0gMHgxOTsKLQotLy8gVktfRVNDQVBFICgx
QikgRVNDIGtleQotY29uc3QgaW50IFZLX0VTQ0FQRSA9IDB4MUI7Ci0KLS8vIFZLX0NPTlZFUlQg
KDFDKSBJTUUgY29udmVydAotY29uc3QgaW50IFZLX0NPTlZFUlQgPSAweDFDOwotCi0vLyBWS19O
T05DT05WRVJUICgxRCkgSU1FIG5vbmNvbnZlcnQKLWNvbnN0IGludCBWS19OT05DT05WRVJUID0g
MHgxRDsKLQotLy8gVktfQUNDRVBUICgxRSkgSU1FIGFjY2VwdAotY29uc3QgaW50IFZLX0FDQ0VQ
VCA9IDB4MUU7Ci0KLS8vIFZLX01PREVDSEFOR0UgKDFGKSBJTUUgbW9kZSBjaGFuZ2UgcmVxdWVz
dAotY29uc3QgaW50IFZLX01PREVDSEFOR0UgPSAweDFGOwotCi0vLyBWS19TUEFDRSAoMjApIFNQ
QUNFQkFSCi1jb25zdCBpbnQgVktfU1BBQ0UgPSAweDIwOwotCi0vLyBWS19QUklPUiAoMjEpIFBB
R0UgVVAga2V5Ci1jb25zdCBpbnQgVktfUFJJT1IgPSAweDIxOwotCi0vLyBWS19ORVhUICgyMikg
UEFHRSBET1dOIGtleQotY29uc3QgaW50IFZLX05FWFQgPSAweDIyOwotCi0vLyBWS19FTkQgKDIz
KSBFTkQga2V5Ci1jb25zdCBpbnQgVktfRU5EID0gMHgyMzsKLQotLy8gVktfSE9NRSAoMjQpIEhP
TUUga2V5Ci1jb25zdCBpbnQgVktfSE9NRSA9IDB4MjQ7Ci0KLS8vIFZLX0xFRlQgKDI1KSBMRUZU
IEFSUk9XIGtleQotY29uc3QgaW50IFZLX0xFRlQgPSAweDI1OwotCi0vLyBWS19VUCAoMjYpIFVQ
IEFSUk9XIGtleQotY29uc3QgaW50IFZLX1VQID0gMHgyNjsKLQotLy8gVktfUklHSFQgKDI3KSBS
SUdIVCBBUlJPVyBrZXkKLWNvbnN0IGludCBWS19SSUdIVCA9IDB4Mjc7Ci0KLS8vIFZLX0RPV04g
KDI4KSBET1dOIEFSUk9XIGtleQotY29uc3QgaW50IFZLX0RPV04gPSAweDI4OwotCi0vLyBWS19T
RUxFQ1QgKDI5KSBTRUxFQ1Qga2V5Ci1jb25zdCBpbnQgVktfU0VMRUNUID0gMHgyOTsKLQotLy8g
VktfUFJJTlQgKDJBKSBQUklOVCBrZXkKLWNvbnN0IGludCBWS19QUklOVCA9IDB4MkE7Ci0KLS8v
IFZLX0VYRUNVVEUgKDJCKSBFWEVDVVRFIGtleQotY29uc3QgaW50IFZLX0VYRUNVVEUgPSAweDJC
OwotCi0vLyBWS19TTkFQU0hPVCAoMkMpIFBSSU5UIFNDUkVFTiBrZXkKLWNvbnN0IGludCBWS19T
TkFQU0hPVCA9IDB4MkM7Ci0KLS8vIFZLX0lOU0VSVCAoMkQpIElOUyBrZXkKLWNvbnN0IGludCBW
S19JTlNFUlQgPSAweDJEOwotCi0vLyBWS19ERUxFVEUgKDJFKSBERUwga2V5Ci1jb25zdCBpbnQg
VktfREVMRVRFID0gMHgyRTsKLQotLy8gVktfSEVMUCAoMkYpIEhFTFAga2V5Ci1jb25zdCBpbnQg
VktfSEVMUCA9IDB4MkY7Ci0KLS8vICgzMCkgMCBrZXkKLWNvbnN0IGludCBWS18wID0gMHgzMDsK
LQotLy8gKDMxKSAxIGtleQotY29uc3QgaW50IFZLXzEgPSAweDMxOwotCi0vLyAoMzIpIDIga2V5
Ci1jb25zdCBpbnQgVktfMiA9IDB4MzI7Ci0KLS8vICgzMykgMyBrZXkKLWNvbnN0IGludCBWS18z
ID0gMHgzMzsKLQotLy8gKDM0KSA0IGtleQotY29uc3QgaW50IFZLXzQgPSAweDM0OwotCi0vLyAo
MzUpIDUga2V5OwotCi1jb25zdCBpbnQgVktfNSA9IDB4MzU7Ci0KLS8vICgzNikgNiBrZXkKLWNv
bnN0IGludCBWS182ID0gMHgzNjsKLQotLy8gKDM3KSA3IGtleQotY29uc3QgaW50IFZLXzcgPSAw
eDM3OwotCi0vLyAoMzgpIDgga2V5Ci1jb25zdCBpbnQgVktfOCA9IDB4Mzg7Ci0KLS8vICgzOSkg
OSBrZXkKLWNvbnN0IGludCBWS185ID0gMHgzOTsKLQotLy8gKDQxKSBBIGtleQotY29uc3QgaW50
IFZLX0EgPSAweDQxOwotCi0vLyAoNDIpIEIga2V5Ci1jb25zdCBpbnQgVktfQiA9IDB4NDI7Ci0K
LS8vICg0MykgQyBrZXkKLWNvbnN0IGludCBWS19DID0gMHg0MzsKLQotLy8gKDQ0KSBEIGtleQot
Y29uc3QgaW50IFZLX0QgPSAweDQ0OwotCi0vLyAoNDUpIEUga2V5Ci1jb25zdCBpbnQgVktfRSA9
IDB4NDU7Ci0KLS8vICg0NikgRiBrZXkKLWNvbnN0IGludCBWS19GID0gMHg0NjsKLQotLy8gKDQ3
KSBHIGtleQotY29uc3QgaW50IFZLX0cgPSAweDQ3OwotCi0vLyAoNDgpIEgga2V5Ci1jb25zdCBp
bnQgVktfSCA9IDB4NDg7Ci0KLS8vICg0OSkgSSBrZXkKLWNvbnN0IGludCBWS19JID0gMHg0OTsK
LQotLy8gKDRBKSBKIGtleQotY29uc3QgaW50IFZLX0ogPSAweDRBOwotCi0vLyAoNEIpIEsga2V5
Ci1jb25zdCBpbnQgVktfSyA9IDB4NEI7Ci0KLS8vICg0QykgTCBrZXkKLWNvbnN0IGludCBWS19M
ID0gMHg0QzsKLQotLy8gKDREKSBNIGtleQotY29uc3QgaW50IFZLX00gPSAweDREOwotCi0vLyAo
NEUpIE4ga2V5Ci1jb25zdCBpbnQgVktfTiA9IDB4NEU7Ci0KLS8vICg0RikgTyBrZXkKLWNvbnN0
IGludCBWS19PID0gMHg0RjsKLQotLy8gKDUwKSBQIGtleQotY29uc3QgaW50IFZLX1AgPSAweDUw
OwotCi0vLyAoNTEpIFEga2V5Ci1jb25zdCBpbnQgVktfUSA9IDB4NTE7Ci0KLS8vICg1MikgUiBr
ZXkKLWNvbnN0IGludCBWS19SID0gMHg1MjsKLQotLy8gKDUzKSBTIGtleQotY29uc3QgaW50IFZL
X1MgPSAweDUzOwotCi0vLyAoNTQpIFQga2V5Ci1jb25zdCBpbnQgVktfVCA9IDB4NTQ7Ci0KLS8v
ICg1NSkgVSBrZXkKLWNvbnN0IGludCBWS19VID0gMHg1NTsKLQotLy8gKDU2KSBWIGtleQotY29u
c3QgaW50IFZLX1YgPSAweDU2OwotCi0vLyAoNTcpIFcga2V5Ci1jb25zdCBpbnQgVktfVyA9IDB4
NTc7Ci0KLS8vICg1OCkgWCBrZXkKLWNvbnN0IGludCBWS19YID0gMHg1ODsKLQotLy8gKDU5KSBZ
IGtleQotY29uc3QgaW50IFZLX1kgPSAweDU5OwotCi0vLyAoNUEpIFoga2V5Ci1jb25zdCBpbnQg
VktfWiA9IDB4NUE7Ci0KLS8vIFZLX0xXSU4gKDVCKSBMZWZ0IFdpbmRvd3Mga2V5IChNaWNyb3Nv
ZnQgTmF0dXJhbCBrZXlib2FyZCkKLWNvbnN0IGludCBWS19MV0lOID0gMHg1QjsKLQotLy8gVktf
UldJTiAoNUMpIFJpZ2h0IFdpbmRvd3Mga2V5IChOYXR1cmFsIGtleWJvYXJkKQotY29uc3QgaW50
IFZLX1JXSU4gPSAweDVDOwotCi0vLyBWS19BUFBTICg1RCkgQXBwbGljYXRpb25zIGtleSAoTmF0
dXJhbCBrZXlib2FyZCkKLWNvbnN0IGludCBWS19BUFBTID0gMHg1RDsKLQotLy8gVktfU0xFRVAg
KDVGKSBDb21wdXRlciBTbGVlcCBrZXkKLWNvbnN0IGludCBWS19TTEVFUCA9IDB4NUY7Ci0KLS8v
IFZLX05VTVBBRDAgKDYwKSBOdW1lcmljIGtleXBhZCAwIGtleQotY29uc3QgaW50IFZLX05VTVBB
RDAgPSAweDYwOwotCi0vLyBWS19OVU1QQUQxICg2MSkgTnVtZXJpYyBrZXlwYWQgMSBrZXkKLWNv
bnN0IGludCBWS19OVU1QQUQxID0gMHg2MTsKLQotLy8gVktfTlVNUEFEMiAoNjIpIE51bWVyaWMg
a2V5cGFkIDIga2V5Ci1jb25zdCBpbnQgVktfTlVNUEFEMiA9IDB4NjI7Ci0KLS8vIFZLX05VTVBB
RDMgKDYzKSBOdW1lcmljIGtleXBhZCAzIGtleQotY29uc3QgaW50IFZLX05VTVBBRDMgPSAweDYz
OwotCi0vLyBWS19OVU1QQUQ0ICg2NCkgTnVtZXJpYyBrZXlwYWQgNCBrZXkKLWNvbnN0IGludCBW
S19OVU1QQUQ0ID0gMHg2NDsKLQotLy8gVktfTlVNUEFENSAoNjUpIE51bWVyaWMga2V5cGFkIDUg
a2V5Ci1jb25zdCBpbnQgVktfTlVNUEFENSA9IDB4NjU7Ci0KLS8vIFZLX05VTVBBRDYgKDY2KSBO
dW1lcmljIGtleXBhZCA2IGtleQotY29uc3QgaW50IFZLX05VTVBBRDYgPSAweDY2OwotCi0vLyBW
S19OVU1QQUQ3ICg2NykgTnVtZXJpYyBrZXlwYWQgNyBrZXkKLWNvbnN0IGludCBWS19OVU1QQUQ3
ID0gMHg2NzsKLQotLy8gVktfTlVNUEFEOCAoNjgpIE51bWVyaWMga2V5cGFkIDgga2V5Ci1jb25z
dCBpbnQgVktfTlVNUEFEOCA9IDB4Njg7Ci0KLS8vIFZLX05VTVBBRDkgKDY5KSBOdW1lcmljIGtl
eXBhZCA5IGtleQotY29uc3QgaW50IFZLX05VTVBBRDkgPSAweDY5OwotCi0vLyBWS19NVUxUSVBM
WSAoNkEpIE11bHRpcGx5IGtleQotY29uc3QgaW50IFZLX01VTFRJUExZID0gMHg2QTsKLQotLy8g
VktfQUREICg2QikgQWRkIGtleQotY29uc3QgaW50IFZLX0FERCA9IDB4NkI7Ci0KLS8vIFZLX1NF
UEFSQVRPUiAoNkMpIFNlcGFyYXRvciBrZXkKLWNvbnN0IGludCBWS19TRVBBUkFUT1IgPSAweDZD
OwotCi0vLyBWS19TVUJUUkFDVCAoNkQpIFN1YnRyYWN0IGtleQotY29uc3QgaW50IFZLX1NVQlRS
QUNUID0gMHg2RDsKLQotLy8gVktfREVDSU1BTCAoNkUpIERlY2ltYWwga2V5Ci1jb25zdCBpbnQg
VktfREVDSU1BTCA9IDB4NkU7Ci0KLS8vIFZLX0RJVklERSAoNkYpIERpdmlkZSBrZXkKLWNvbnN0
IGludCBWS19ESVZJREUgPSAweDZGOwotCi0vLyBWS19GMSAoNzApIEYxIGtleQotY29uc3QgaW50
IFZLX0YxID0gMHg3MDsKLQotLy8gVktfRjIgKDcxKSBGMiBrZXkKLWNvbnN0IGludCBWS19GMiA9
IDB4NzE7Ci0KLS8vIFZLX0YzICg3MikgRjMga2V5Ci1jb25zdCBpbnQgVktfRjMgPSAweDcyOwot
Ci0vLyBWS19GNCAoNzMpIEY0IGtleQotY29uc3QgaW50IFZLX0Y0ID0gMHg3MzsKLQotLy8gVktf
RjUgKDc0KSBGNSBrZXkKLWNvbnN0IGludCBWS19GNSA9IDB4NzQ7Ci0KLS8vIFZLX0Y2ICg3NSkg
RjYga2V5Ci1jb25zdCBpbnQgVktfRjYgPSAweDc1OwotCi0vLyBWS19GNyAoNzYpIEY3IGtleQot
Y29uc3QgaW50IFZLX0Y3ID0gMHg3NjsKLQotLy8gVktfRjggKDc3KSBGOCBrZXkKLWNvbnN0IGlu
dCBWS19GOCA9IDB4Nzc7Ci0KLS8vIFZLX0Y5ICg3OCkgRjkga2V5Ci1jb25zdCBpbnQgVktfRjkg
PSAweDc4OwotCi0vLyBWS19GMTAgKDc5KSBGMTAga2V5Ci1jb25zdCBpbnQgVktfRjEwID0gMHg3
OTsKLQotLy8gVktfRjExICg3QSkgRjExIGtleQotY29uc3QgaW50IFZLX0YxMSA9IDB4N0E7Ci0K
LS8vIFZLX0YxMiAoN0IpIEYxMiBrZXkKLWNvbnN0IGludCBWS19GMTIgPSAweDdCOwotCi0vLyBW
S19GMTMgKDdDKSBGMTMga2V5Ci1jb25zdCBpbnQgVktfRjEzID0gMHg3QzsKLQotLy8gVktfRjE0
ICg3RCkgRjE0IGtleQotY29uc3QgaW50IFZLX0YxNCA9IDB4N0Q7Ci0KLS8vIFZLX0YxNSAoN0Up
IEYxNSBrZXkKLWNvbnN0IGludCBWS19GMTUgPSAweDdFOwotCi0vLyBWS19GMTYgKDdGKSBGMTYg
a2V5Ci1jb25zdCBpbnQgVktfRjE2ID0gMHg3RjsKLQotLy8gVktfRjE3ICg4MEgpIEYxNyBrZXkK
LWNvbnN0IGludCBWS19GMTcgPSAweDgwOwotCi0vLyBWS19GMTggKDgxSCkgRjE4IGtleQotY29u
c3QgaW50IFZLX0YxOCA9IDB4ODE7Ci0KLS8vIFZLX0YxOSAoODJIKSBGMTkga2V5Ci1jb25zdCBp
bnQgVktfRjE5ID0gMHg4MjsKLQotLy8gVktfRjIwICg4M0gpIEYyMCBrZXkKLWNvbnN0IGludCBW
S19GMjAgPSAweDgzOwotCi0vLyBWS19GMjEgKDg0SCkgRjIxIGtleQotY29uc3QgaW50IFZLX0Yy
MSA9IDB4ODQ7Ci0KLS8vIFZLX0YyMiAoODVIKSBGMjIga2V5Ci1jb25zdCBpbnQgVktfRjIyID0g
MHg4NTsKLQotLy8gVktfRjIzICg4NkgpIEYyMyBrZXkKLWNvbnN0IGludCBWS19GMjMgPSAweDg2
OwotCi0vLyBWS19GMjQgKDg3SCkgRjI0IGtleQotY29uc3QgaW50IFZLX0YyNCA9IDB4ODc7Ci0K
LS8vIFZLX05VTUxPQ0sgKDkwKSBOVU0gTE9DSyBrZXkKLWNvbnN0IGludCBWS19OVU1MT0NLID0g
MHg5MDsKLQotLy8gVktfU0NST0xMICg5MSkgU0NST0xMIExPQ0sga2V5Ci1jb25zdCBpbnQgVktf
U0NST0xMID0gMHg5MTsKLQotLy8gVktfTFNISUZUIChBMCkgTGVmdCBTSElGVCBrZXkKLWNvbnN0
IGludCBWS19MU0hJRlQgPSAweEEwOwotCi0vLyBWS19SU0hJRlQgKEExKSBSaWdodCBTSElGVCBr
ZXkKLWNvbnN0IGludCBWS19SU0hJRlQgPSAweEExOwotCi0vLyBWS19MQ09OVFJPTCAoQTIpIExl
ZnQgQ09OVFJPTCBrZXkKLWNvbnN0IGludCBWS19MQ09OVFJPTCA9IDB4QTI7Ci0KLS8vIFZLX1JD
T05UUk9MIChBMykgUmlnaHQgQ09OVFJPTCBrZXkKLWNvbnN0IGludCBWS19SQ09OVFJPTCA9IDB4
QTM7Ci0KLS8vIFZLX0xNRU5VIChBNCkgTGVmdCBNRU5VIGtleQotY29uc3QgaW50IFZLX0xNRU5V
ID0gMHhBNDsKLQotLy8gVktfUk1FTlUgKEE1KSBSaWdodCBNRU5VIGtleQotY29uc3QgaW50IFZL
X1JNRU5VID0gMHhBNTsKLQotLy8gVktfQlJPV1NFUl9CQUNLIChBNikgV2luZG93cyAyMDAwL1hQ
OiBCcm93c2VyIEJhY2sga2V5Ci1jb25zdCBpbnQgVktfQlJPV1NFUl9CQUNLID0gMHhBNjsKLQot
Ly8gVktfQlJPV1NFUl9GT1JXQVJEIChBNykgV2luZG93cyAyMDAwL1hQOiBCcm93c2VyIEZvcndh
cmQga2V5Ci1jb25zdCBpbnQgVktfQlJPV1NFUl9GT1JXQVJEID0gMHhBNzsKLQotLy8gVktfQlJP
V1NFUl9SRUZSRVNIIChBOCkgV2luZG93cyAyMDAwL1hQOiBCcm93c2VyIFJlZnJlc2gga2V5Ci1j
b25zdCBpbnQgVktfQlJPV1NFUl9SRUZSRVNIID0gMHhBODsKLQotLy8gVktfQlJPV1NFUl9TVE9Q
IChBOSkgV2luZG93cyAyMDAwL1hQOiBCcm93c2VyIFN0b3Aga2V5Ci1jb25zdCBpbnQgVktfQlJP
V1NFUl9TVE9QID0gMHhBOTsKLQotLy8gVktfQlJPV1NFUl9TRUFSQ0ggKEFBKSBXaW5kb3dzIDIw
MDAvWFA6IEJyb3dzZXIgU2VhcmNoIGtleQotY29uc3QgaW50IFZLX0JST1dTRVJfU0VBUkNIID0g
MHhBQTsKLQotLy8gVktfQlJPV1NFUl9GQVZPUklURVMgKEFCKSBXaW5kb3dzIDIwMDAvWFA6IEJy
b3dzZXIgRmF2b3JpdGVzIGtleQotY29uc3QgaW50IFZLX0JST1dTRVJfRkFWT1JJVEVTID0gMHhB
QjsKLQotLy8gVktfQlJPV1NFUl9IT01FIChBQykgV2luZG93cyAyMDAwL1hQOiBCcm93c2VyIFN0
YXJ0IGFuZCBIb21lIGtleQotY29uc3QgaW50IFZLX0JST1dTRVJfSE9NRSA9IDB4QUM7Ci0KLS8v
IFZLX1ZPTFVNRV9NVVRFIChBRCkgV2luZG93cyAyMDAwL1hQOiBWb2x1bWUgTXV0ZSBrZXkKLWNv
bnN0IGludCBWS19WT0xVTUVfTVVURSA9IDB4QUQ7Ci0KLS8vIFZLX1ZPTFVNRV9ET1dOIChBRSkg
V2luZG93cyAyMDAwL1hQOiBWb2x1bWUgRG93biBrZXkKLWNvbnN0IGludCBWS19WT0xVTUVfRE9X
TiA9IDB4QUU7Ci0KLS8vIFZLX1ZPTFVNRV9VUCAoQUYpIFdpbmRvd3MgMjAwMC9YUDogVm9sdW1l
IFVwIGtleQotY29uc3QgaW50IFZLX1ZPTFVNRV9VUCA9IDB4QUY7Ci0KLS8vIFZLX01FRElBX05F
WFRfVFJBQ0sgKEIwKSBXaW5kb3dzIDIwMDAvWFA6IE5leHQgVHJhY2sga2V5Ci1jb25zdCBpbnQg
VktfTUVESUFfTkVYVF9UUkFDSyA9IDB4QjA7Ci0KLS8vIFZLX01FRElBX1BSRVZfVFJBQ0sgKEIx
KSBXaW5kb3dzIDIwMDAvWFA6IFByZXZpb3VzIFRyYWNrIGtleQotY29uc3QgaW50IFZLX01FRElB
X1BSRVZfVFJBQ0sgPSAweEIxOwotCi0vLyBWS19NRURJQV9TVE9QIChCMikgV2luZG93cyAyMDAw
L1hQOiBTdG9wIE1lZGlhIGtleQotY29uc3QgaW50IFZLX01FRElBX1NUT1AgPSAweEIyOwotCi0v
LyBWS19NRURJQV9QTEFZX1BBVVNFIChCMykgV2luZG93cyAyMDAwL1hQOiBQbGF5L1BhdXNlIE1l
ZGlhIGtleQotY29uc3QgaW50IFZLX01FRElBX1BMQVlfUEFVU0UgPSAweEIzOwotCi0vLyBWS19M
QVVOQ0hfTUFJTCAoQjQpIFdpbmRvd3MgMjAwMC9YUDogU3RhcnQgTWFpbCBrZXkKLWNvbnN0IGlu
dCBWS19NRURJQV9MQVVOQ0hfTUFJTCA9IDB4QjQ7Ci0KLS8vIFZLX0xBVU5DSF9NRURJQV9TRUxF
Q1QgKEI1KSBXaW5kb3dzIDIwMDAvWFA6IFNlbGVjdCBNZWRpYSBrZXkKLWNvbnN0IGludCBWS19N
RURJQV9MQVVOQ0hfTUVESUFfU0VMRUNUID0gMHhCNTsKLQotLy8gVktfTEFVTkNIX0FQUDEgKEI2
KSBXaW5kb3dzIDIwMDAvWFA6IFN0YXJ0IEFwcGxpY2F0aW9uIDEga2V5Ci1jb25zdCBpbnQgVktf
TUVESUFfTEFVTkNIX0FQUDEgPSAweEI2OwotCi0vLyBWS19MQVVOQ0hfQVBQMiAoQjcpIFdpbmRv
d3MgMjAwMC9YUDogU3RhcnQgQXBwbGljYXRpb24gMiBrZXkKLWNvbnN0IGludCBWS19NRURJQV9M
QVVOQ0hfQVBQMiA9IDB4Qjc7Ci0KLS8vIFZLX09FTV8xIChCQSkgVXNlZCBmb3IgbWlzY2VsbGFu
ZW91cyBjaGFyYWN0ZXJzOyBpdCBjYW4gdmFyeSBieSBrZXlib2FyZC4gV2luZG93cyAyMDAwL1hQ
OiBGb3IgdGhlIFVTIHN0YW5kYXJkIGtleWJvYXJkLCB0aGUgJzs6JyBrZXkKLWNvbnN0IGludCBW
S19PRU1fMSA9IDB4QkE7Ci0KLS8vIFZLX09FTV9QTFVTIChCQikgV2luZG93cyAyMDAwL1hQOiBG
b3IgYW55IGNvdW50cnkvcmVnaW9uLCB0aGUgJysnIGtleQotY29uc3QgaW50IFZLX09FTV9QTFVT
ID0gMHhCQjsKLQotLy8gVktfT0VNX0NPTU1BIChCQykgV2luZG93cyAyMDAwL1hQOiBGb3IgYW55
IGNvdW50cnkvcmVnaW9uLCB0aGUgJywnIGtleQotY29uc3QgaW50IFZLX09FTV9DT01NQSA9IDB4
QkM7Ci0KLS8vIFZLX09FTV9NSU5VUyAoQkQpIFdpbmRvd3MgMjAwMC9YUDogRm9yIGFueSBjb3Vu
dHJ5L3JlZ2lvbiwgdGhlICctJyBrZXkKLWNvbnN0IGludCBWS19PRU1fTUlOVVMgPSAweEJEOwot
Ci0vLyBWS19PRU1fUEVSSU9EIChCRSkgV2luZG93cyAyMDAwL1hQOiBGb3IgYW55IGNvdW50cnkv
cmVnaW9uLCB0aGUgJy4nIGtleQotY29uc3QgaW50IFZLX09FTV9QRVJJT0QgPSAweEJFOwotCi0v
LyBWS19PRU1fMiAoQkYpIFVzZWQgZm9yIG1pc2NlbGxhbmVvdXMgY2hhcmFjdGVyczsgaXQgY2Fu
IHZhcnkgYnkga2V5Ym9hcmQuIFdpbmRvd3MgMjAwMC9YUDogRm9yIHRoZSBVUyBzdGFuZGFyZCBr
ZXlib2FyZCwgdGhlICcvPycga2V5Ci1jb25zdCBpbnQgVktfT0VNXzIgPSAweEJGOwotCi0vLyBW
S19PRU1fMyAoQzApIFVzZWQgZm9yIG1pc2NlbGxhbmVvdXMgY2hhcmFjdGVyczsgaXQgY2FuIHZh
cnkgYnkga2V5Ym9hcmQuIFdpbmRvd3MgMjAwMC9YUDogRm9yIHRoZSBVUyBzdGFuZGFyZCBrZXli
b2FyZCwgdGhlICdgficga2V5Ci1jb25zdCBpbnQgVktfT0VNXzMgPSAweEMwOwotCi0vLyBWS19P
RU1fNCAoREIpIFVzZWQgZm9yIG1pc2NlbGxhbmVvdXMgY2hhcmFjdGVyczsgaXQgY2FuIHZhcnkg
Ynkga2V5Ym9hcmQuIFdpbmRvd3MgMjAwMC9YUDogRm9yIHRoZSBVUyBzdGFuZGFyZCBrZXlib2Fy
ZCwgdGhlICdbeycga2V5Ci1jb25zdCBpbnQgVktfT0VNXzQgPSAweERCOwotCi0vLyBWS19PRU1f
NSAoREMpIFVzZWQgZm9yIG1pc2NlbGxhbmVvdXMgY2hhcmFjdGVyczsgaXQgY2FuIHZhcnkgYnkg
a2V5Ym9hcmQuIFdpbmRvd3MgMjAwMC9YUDogRm9yIHRoZSBVUyBzdGFuZGFyZCBrZXlib2FyZCwg
dGhlICdcfCcga2V5Ci1jb25zdCBpbnQgVktfT0VNXzUgPSAweERDOwotCi0vLyBWS19PRU1fNiAo
REQpIFVzZWQgZm9yIG1pc2NlbGxhbmVvdXMgY2hhcmFjdGVyczsgaXQgY2FuIHZhcnkgYnkga2V5
Ym9hcmQuIFdpbmRvd3MgMjAwMC9YUDogRm9yIHRoZSBVUyBzdGFuZGFyZCBrZXlib2FyZCwgdGhl
ICddfScga2V5Ci1jb25zdCBpbnQgVktfT0VNXzYgPSAweEREOwotCi0vLyBWS19PRU1fNyAoREUp
IFVzZWQgZm9yIG1pc2NlbGxhbmVvdXMgY2hhcmFjdGVyczsgaXQgY2FuIHZhcnkgYnkga2V5Ym9h
cmQuIFdpbmRvd3MgMjAwMC9YUDogRm9yIHRoZSBVUyBzdGFuZGFyZCBrZXlib2FyZCwgdGhlICdz
aW5nbGUtcXVvdGUvZG91YmxlLXF1b3RlJyBrZXkKLWNvbnN0IGludCBWS19PRU1fNyA9IDB4REU7
Ci0KLS8vIFZLX09FTV84IChERikgVXNlZCBmb3IgbWlzY2VsbGFuZW91cyBjaGFyYWN0ZXJzOyBp
dCBjYW4gdmFyeSBieSBrZXlib2FyZC4KLWNvbnN0IGludCBWS19PRU1fOCA9IDB4REY7Ci0KLS8v
IFZLX09FTV8xMDIgKEUyKSBXaW5kb3dzIDIwMDAvWFA6IEVpdGhlciB0aGUgYW5nbGUgYnJhY2tl
dCBrZXkgb3IgdGhlIGJhY2tzbGFzaCBrZXkgb24gdGhlIFJUIDEwMi1rZXkga2V5Ym9hcmQKLWNv
bnN0IGludCBWS19PRU1fMTAyID0gMHhFMjsKLQotLy8gVktfUFJPQ0VTU0tFWSAoRTUpIFdpbmRv
d3MgOTUvOTgvTWUsIFdpbmRvd3MgTlQgNC4wLCBXaW5kb3dzIDIwMDAvWFA6IElNRSBQUk9DRVNT
IGtleQotY29uc3QgaW50IFZLX1BST0NFU1NLRVkgPSAweEU1OwotCi0vLyBWS19QQUNLRVQgKEU3
KSBXaW5kb3dzIDIwMDAvWFA6IFVzZWQgdG8gcGFzcyBVbmljb2RlIGNoYXJhY3RlcnMgYXMgaWYg
dGhleSB3ZXJlIGtleXN0cm9rZXMuIFRoZSBWS19QQUNLRVQga2V5IGlzIHRoZSBsb3cgd29yZCBv
ZiBhIDMyLWJpdCBWaXJ0dWFsIEtleSB2YWx1ZSB1c2VkIGZvciBub24ta2V5Ym9hcmQgaW5wdXQg
bWV0aG9kcy4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBSZW1hcmsgaW4gS0VZQkRJTlBVVCxT
ZW5kSW5wdXQsIFdNX0tFWURPV04sIGFuZCBXTV9LRVlVUAotY29uc3QgaW50IFZLX1BBQ0tFVCA9
IDB4RTc7Ci0KLS8vIFZLX0FUVE4gKEY2KSBBdHRuIGtleQotY29uc3QgaW50IFZLX0FUVE4gPSAw
eEY2OwotCi0vLyBWS19DUlNFTCAoRjcpIENyU2VsIGtleQotY29uc3QgaW50IFZLX0NSU0VMID0g
MHhGNzsKLQotLy8gVktfRVhTRUwgKEY4KSBFeFNlbCBrZXkKLWNvbnN0IGludCBWS19FWFNFTCA9
IDB4Rjg7Ci0KLS8vIFZLX0VSRU9GIChGOSkgRXJhc2UgRU9GIGtleQotY29uc3QgaW50IFZLX0VS
RU9GID0gMHhGOTsKLQotLy8gVktfUExBWSAoRkEpIFBsYXkga2V5Ci1jb25zdCBpbnQgVktfUExB
WSA9IDB4RkE7Ci0KLS8vIFZLX1pPT00gKEZCKSBab29tIGtleQotY29uc3QgaW50IFZLX1pPT00g
PSAweEZCOwotCi0vLyBWS19OT05BTUUgKEZDKSBSZXNlcnZlZCBmb3IgZnV0dXJlIHVzZQotY29u
c3QgaW50IFZLX05PTkFNRSA9IDB4RkM7Ci0KLS8vIFZLX1BBMSAoRkQpIFBBMSBrZXkKLWNvbnN0
IGludCBWS19QQTEgPSAweEZEOwotCi0vLyBWS19PRU1fQ0xFQVIgKEZFKSBDbGVhciBrZXkKLWNv
bnN0IGludCBWS19PRU1fQ0xFQVIgPSAweEZFOwotCi1jb25zdCBpbnQgVktfVU5LTk9XTiA9IDA7
Ci0KLX0KLQotI2VuZGlmCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3F0L0tleWJvYXJkQ29kZXMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3F0L0tleWJvYXJkQ29kZXMuaAkocmV2
aXNpb24gNDQyNjEpCisrKyBXZWJDb3JlL3BsYXRmb3JtL3F0L0tleWJvYXJkQ29kZXMuaAkod29y
a2luZyBjb3B5KQpAQCAtMSw1NjEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiBN
aWNoYWVsIEVtbWVsIG1pa2UuZW1tZWxAZ21haWwuY29tIAotICoKLSAqIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAotICovCi0KLSNpZm5kZWYgS2V5Ym9hcmRDb2Rlc19oCi0jZGVmaW5lIEtleWJvYXJk
Q29kZXNfaAotCi0jaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotI2lmICFQTEFURk9STShXSU5fT1MpCi0vLyBWS19MQlVUVE9OICgwMSkgTGVmdCBtb3Vz
ZSBidXR0b24KLS8vIFZLX1JCVVRUT04gKDAyKSBSaWdodCBtb3VzZSBidXR0b24KLS8vIFZLX0NB
TkNFTCAoMDMpIENvbnRyb2wtYnJlYWsgcHJvY2Vzc2luZwotLy8gVktfTUJVVFRPTiAoMDQpIE1p
ZGRsZSBtb3VzZSBidXR0b24gKHRocmVlLWJ1dHRvbiBtb3VzZSkKLS8vIFZLX1hCVVRUT04xICgw
NSkKLS8vIFZLX1hCVVRUT04yICgwNikKLQotLy8gVktfQkFDSyAoMDgpIEJBQ0tTUEFDRSBrZXkK
LWNvbnN0IGludCBWS19CQUNLID0gMHgwODsKLQotLy8gVktfVEFCICgwOSkgVEFCIGtleQotY29u
c3QgaW50IFZLX1RBQiA9IDB4MDk7Ci0KLS8vIFZLX0NMRUFSICgwQykgQ0xFQVIga2V5Ci1jb25z
dCBpbnQgVktfQ0xFQVIgPSAweDBDOwotCi0vLyBWS19SRVRVUk4gKDBEKQotY29uc3QgaW50IFZL
X1JFVFVSTiA9IDB4MEQ7Ci0KLS8vIFZLX1NISUZUICgxMCkgU0hJRlQga2V5Ci1jb25zdCBpbnQg
VktfU0hJRlQgPSAweDEwOwotCi0vLyBWS19DT05UUk9MICgxMSkgQ1RSTCBrZXkKLWNvbnN0IGlu
dCBWS19DT05UUk9MID0gMHgxMTsKLQotLy8gVktfTUVOVSAoMTIpIEFMVCBrZXkKLWNvbnN0IGlu
dCBWS19NRU5VID0gMHgxMjsKLQotLy8gVktfUEFVU0UgKDEzKSBQQVVTRSBrZXkKLWNvbnN0IGlu
dCBWS19QQVVTRSA9IDB4MTM7Ci0KLS8vIFZLX0NBUElUQUwgKDE0KSBDQVBTIExPQ0sga2V5Ci1j
b25zdCBpbnQgVktfQ0FQSVRBTCA9IDB4MTQ7Ci0KLS8vIFZLX0tBTkEgKDE1KSBJbnB1dCBNZXRo
b2QgRWRpdG9yIChJTUUpIEthbmEgbW9kZQotY29uc3QgaW50IFZLX0tBTkEgPSAweDE1OwotCi0v
LyBWS19IQU5HVUVMICgxNSkgSU1FIEhhbmd1ZWwgbW9kZSAobWFpbnRhaW5lZCBmb3IgY29tcGF0
aWJpbGl0eTsgdXNlIFZLX0hBTkdVTCkKLS8vIFZLX0hBTkdVTCAoMTUpIElNRSBIYW5ndWwgbW9k
ZQotY29uc3QgaW50IFZLX0hBTkdVTCA9IDB4MTU7Ci0KLS8vIFZLX0pVTkpBICgxNykgSU1FIEp1
bmphIG1vZGUKLWNvbnN0IGludCBWS19KVU5KQSA9IDB4MTc7Ci0KLS8vIFZLX0ZJTkFMICgxOCkg
SU1FIGZpbmFsIG1vZGUKLWNvbnN0IGludCBWS19GSU5BTCA9IDB4MTg7Ci0KLS8vIFZLX0hBTkpB
ICgxOSkgSU1FIEhhbmphIG1vZGUKLWNvbnN0IGludCBWS19IQU5KQSA9IDB4MTk7Ci0KLS8vIFZL
X0tBTkpJICgxOSkgSU1FIEthbmppIG1vZGUKLWNvbnN0IGludCBWS19LQU5KSSA9IDB4MTk7Ci0K
LS8vIFZLX0VTQ0FQRSAoMUIpIEVTQyBrZXkKLWNvbnN0IGludCBWS19FU0NBUEUgPSAweDFCOwot
Ci0vLyBWS19DT05WRVJUICgxQykgSU1FIGNvbnZlcnQKLWNvbnN0IGludCBWS19DT05WRVJUID0g
MHgxQzsKLQotLy8gVktfTk9OQ09OVkVSVCAoMUQpIElNRSBub25jb252ZXJ0Ci1jb25zdCBpbnQg
VktfTk9OQ09OVkVSVCA9IDB4MUQ7Ci0KLS8vIFZLX0FDQ0VQVCAoMUUpIElNRSBhY2NlcHQKLWNv
bnN0IGludCBWS19BQ0NFUFQgPSAweDFFOwotCi0vLyBWS19NT0RFQ0hBTkdFICgxRikgSU1FIG1v
ZGUgY2hhbmdlIHJlcXVlc3QKLWNvbnN0IGludCBWS19NT0RFQ0hBTkdFID0gMHgxRjsKLQotLy8g
VktfU1BBQ0UgKDIwKSBTUEFDRUJBUgotY29uc3QgaW50IFZLX1NQQUNFID0gMHgyMDsKLQotLy8g
VktfUFJJT1IgKDIxKSBQQUdFIFVQIGtleQotY29uc3QgaW50IFZLX1BSSU9SID0gMHgyMTsKLQot
Ly8gVktfTkVYVCAoMjIpIFBBR0UgRE9XTiBrZXkKLWNvbnN0IGludCBWS19ORVhUID0gMHgyMjsK
LQotLy8gVktfRU5EICgyMykgRU5EIGtleQotY29uc3QgaW50IFZLX0VORCA9IDB4MjM7Ci0KLS8v
IFZLX0hPTUUgKDI0KSBIT01FIGtleQotY29uc3QgaW50IFZLX0hPTUUgPSAweDI0OwotCi0vLyBW
S19MRUZUICgyNSkgTEVGVCBBUlJPVyBrZXkKLWNvbnN0IGludCBWS19MRUZUID0gMHgyNTsKLQot
Ly8gVktfVVAgKDI2KSBVUCBBUlJPVyBrZXkKLWNvbnN0IGludCBWS19VUCA9IDB4MjY7Ci0KLS8v
IFZLX1JJR0hUICgyNykgUklHSFQgQVJST1cga2V5Ci1jb25zdCBpbnQgVktfUklHSFQgPSAweDI3
OwotCi0vLyBWS19ET1dOICgyOCkgRE9XTiBBUlJPVyBrZXkKLWNvbnN0IGludCBWS19ET1dOID0g
MHgyODsKLQotLy8gVktfU0VMRUNUICgyOSkgU0VMRUNUIGtleQotY29uc3QgaW50IFZLX1NFTEVD
VCA9IDB4Mjk7Ci0KLS8vIFZLX1BSSU5UICgyQSkgUFJJTlQga2V5Ci1jb25zdCBpbnQgVktfUFJJ
TlQgPSAweDJBOwotCi0vLyBWS19FWEVDVVRFICgyQikgRVhFQ1VURSBrZXkKLWNvbnN0IGludCBW
S19FWEVDVVRFID0gMHgyQjsKLQotLy8gVktfU05BUFNIT1QgKDJDKSBQUklOVCBTQ1JFRU4ga2V5
Ci1jb25zdCBpbnQgVktfU05BUFNIT1QgPSAweDJDOwotCi0vLyBWS19JTlNFUlQgKDJEKSBJTlMg
a2V5Ci1jb25zdCBpbnQgVktfSU5TRVJUID0gMHgyRDsKLQotLy8gVktfREVMRVRFICgyRSkgREVM
IGtleQotY29uc3QgaW50IFZLX0RFTEVURSA9IDB4MkU7Ci0KLS8vIFZLX0hFTFAgKDJGKSBIRUxQ
IGtleQotY29uc3QgaW50IFZLX0hFTFAgPSAweDJGOwotCi0jZW5kaWYgLy8gUExBVEZPUk0oV0lO
X09TKQotCi0vLyAoMzApIDAga2V5Ci1jb25zdCBpbnQgVktfMCA9IDB4MzA7Ci0KLS8vICgzMSkg
MSBrZXkKLWNvbnN0IGludCBWS18xID0gMHgzMTsKLQotLy8gKDMyKSAyIGtleQotY29uc3QgaW50
IFZLXzIgPSAweDMyOwotCi0vLyAoMzMpIDMga2V5Ci1jb25zdCBpbnQgVktfMyA9IDB4MzM7Ci0K
LS8vICgzNCkgNCBrZXkKLWNvbnN0IGludCBWS180ID0gMHgzNDsKLQotLy8gKDM1KSA1IGtleTsK
LQotY29uc3QgaW50IFZLXzUgPSAweDM1OwotCi0vLyAoMzYpIDYga2V5Ci1jb25zdCBpbnQgVktf
NiA9IDB4MzY7Ci0KLS8vICgzNykgNyBrZXkKLWNvbnN0IGludCBWS183ID0gMHgzNzsKLQotLy8g
KDM4KSA4IGtleQotY29uc3QgaW50IFZLXzggPSAweDM4OwotCi0vLyAoMzkpIDkga2V5Ci1jb25z
dCBpbnQgVktfOSA9IDB4Mzk7Ci0KLS8vICg0MSkgQSBrZXkKLWNvbnN0IGludCBWS19BID0gMHg0
MTsKLQotLy8gKDQyKSBCIGtleQotY29uc3QgaW50IFZLX0IgPSAweDQyOwotCi0vLyAoNDMpIEMg
a2V5Ci1jb25zdCBpbnQgVktfQyA9IDB4NDM7Ci0KLS8vICg0NCkgRCBrZXkKLWNvbnN0IGludCBW
S19EID0gMHg0NDsKLQotLy8gKDQ1KSBFIGtleQotY29uc3QgaW50IFZLX0UgPSAweDQ1OwotCi0v
LyAoNDYpIEYga2V5Ci1jb25zdCBpbnQgVktfRiA9IDB4NDY7Ci0KLS8vICg0NykgRyBrZXkKLWNv
bnN0IGludCBWS19HID0gMHg0NzsKLQotLy8gKDQ4KSBIIGtleQotY29uc3QgaW50IFZLX0ggPSAw
eDQ4OwotCi0vLyAoNDkpIEkga2V5Ci1jb25zdCBpbnQgVktfSSA9IDB4NDk7Ci0KLS8vICg0QSkg
SiBrZXkKLWNvbnN0IGludCBWS19KID0gMHg0QTsKLQotLy8gKDRCKSBLIGtleQotY29uc3QgaW50
IFZLX0sgPSAweDRCOwotCi0vLyAoNEMpIEwga2V5Ci1jb25zdCBpbnQgVktfTCA9IDB4NEM7Ci0K
LS8vICg0RCkgTSBrZXkKLWNvbnN0IGludCBWS19NID0gMHg0RDsKLQotLy8gKDRFKSBOIGtleQot
Y29uc3QgaW50IFZLX04gPSAweDRFOwotCi0vLyAoNEYpIE8ga2V5Ci1jb25zdCBpbnQgVktfTyA9
IDB4NEY7Ci0KLS8vICg1MCkgUCBrZXkKLWNvbnN0IGludCBWS19QID0gMHg1MDsKLQotLy8gKDUx
KSBRIGtleQotY29uc3QgaW50IFZLX1EgPSAweDUxOwotCi0vLyAoNTIpIFIga2V5Ci1jb25zdCBp
bnQgVktfUiA9IDB4NTI7Ci0KLS8vICg1MykgUyBrZXkKLWNvbnN0IGludCBWS19TID0gMHg1MzsK
LQotLy8gKDU0KSBUIGtleQotY29uc3QgaW50IFZLX1QgPSAweDU0OwotCi0vLyAoNTUpIFUga2V5
Ci1jb25zdCBpbnQgVktfVSA9IDB4NTU7Ci0KLS8vICg1NikgViBrZXkKLWNvbnN0IGludCBWS19W
ID0gMHg1NjsKLQotLy8gKDU3KSBXIGtleQotY29uc3QgaW50IFZLX1cgPSAweDU3OwotCi0vLyAo
NTgpIFgga2V5Ci1jb25zdCBpbnQgVktfWCA9IDB4NTg7Ci0KLS8vICg1OSkgWSBrZXkKLWNvbnN0
IGludCBWS19ZID0gMHg1OTsKLQotLy8gKDVBKSBaIGtleQotY29uc3QgaW50IFZLX1ogPSAweDVB
OwotCi0jaWYgIVBMQVRGT1JNKFdJTl9PUykKLQotLy8gVktfTFdJTiAoNUIpIExlZnQgV2luZG93
cyBrZXkgKE1pY3Jvc29mdCBOYXR1cmFsIGtleWJvYXJkKQotY29uc3QgaW50IFZLX0xXSU4gPSAw
eDVCOwotCi0vLyBWS19SV0lOICg1QykgUmlnaHQgV2luZG93cyBrZXkgKE5hdHVyYWwga2V5Ym9h
cmQpCi1jb25zdCBpbnQgVktfUldJTiA9IDB4NUM7Ci0KLS8vIFZLX0FQUFMgKDVEKSBBcHBsaWNh
dGlvbnMga2V5IChOYXR1cmFsIGtleWJvYXJkKQotY29uc3QgaW50IFZLX0FQUFMgPSAweDVEOwot
Ci0vLyBWS19TTEVFUCAoNUYpIENvbXB1dGVyIFNsZWVwIGtleQotY29uc3QgaW50IFZLX1NMRUVQ
ID0gMHg1RjsKLQotLy8gVktfTlVNUEFEMCAoNjApIE51bWVyaWMga2V5cGFkIDAga2V5Ci1jb25z
dCBpbnQgVktfTlVNUEFEMCA9IDB4NjA7Ci0KLS8vIFZLX05VTVBBRDEgKDYxKSBOdW1lcmljIGtl
eXBhZCAxIGtleQotY29uc3QgaW50IFZLX05VTVBBRDEgPSAweDYxOwotCi0vLyBWS19OVU1QQUQy
ICg2MikgTnVtZXJpYyBrZXlwYWQgMiBrZXkKLWNvbnN0IGludCBWS19OVU1QQUQyID0gMHg2MjsK
LQotLy8gVktfTlVNUEFEMyAoNjMpIE51bWVyaWMga2V5cGFkIDMga2V5Ci1jb25zdCBpbnQgVktf
TlVNUEFEMyA9IDB4NjM7Ci0KLS8vIFZLX05VTVBBRDQgKDY0KSBOdW1lcmljIGtleXBhZCA0IGtl
eQotY29uc3QgaW50IFZLX05VTVBBRDQgPSAweDY0OwotCi0vLyBWS19OVU1QQUQ1ICg2NSkgTnVt
ZXJpYyBrZXlwYWQgNSBrZXkKLWNvbnN0IGludCBWS19OVU1QQUQ1ID0gMHg2NTsKLQotLy8gVktf
TlVNUEFENiAoNjYpIE51bWVyaWMga2V5cGFkIDYga2V5Ci1jb25zdCBpbnQgVktfTlVNUEFENiA9
IDB4NjY7Ci0KLS8vIFZLX05VTVBBRDcgKDY3KSBOdW1lcmljIGtleXBhZCA3IGtleQotY29uc3Qg
aW50IFZLX05VTVBBRDcgPSAweDY3OwotCi0vLyBWS19OVU1QQUQ4ICg2OCkgTnVtZXJpYyBrZXlw
YWQgOCBrZXkKLWNvbnN0IGludCBWS19OVU1QQUQ4ID0gMHg2ODsKLQotLy8gVktfTlVNUEFEOSAo
NjkpIE51bWVyaWMga2V5cGFkIDkga2V5Ci1jb25zdCBpbnQgVktfTlVNUEFEOSA9IDB4Njk7Ci0K
LS8vIFZLX01VTFRJUExZICg2QSkgTXVsdGlwbHkga2V5Ci1jb25zdCBpbnQgVktfTVVMVElQTFkg
PSAweDZBOwotCi0vLyBWS19BREQgKDZCKSBBZGQga2V5Ci1jb25zdCBpbnQgVktfQUREID0gMHg2
QjsKLQotLy8gVktfU0VQQVJBVE9SICg2QykgU2VwYXJhdG9yIGtleQotY29uc3QgaW50IFZLX1NF
UEFSQVRPUiA9IDB4NkM7Ci0KLS8vIFZLX1NVQlRSQUNUICg2RCkgU3VidHJhY3Qga2V5Ci1jb25z
dCBpbnQgVktfU1VCVFJBQ1QgPSAweDZEOwotCi0vLyBWS19ERUNJTUFMICg2RSkgRGVjaW1hbCBr
ZXkKLWNvbnN0IGludCBWS19ERUNJTUFMID0gMHg2RTsKLQotLy8gVktfRElWSURFICg2RikgRGl2
aWRlIGtleQotY29uc3QgaW50IFZLX0RJVklERSA9IDB4NkY7Ci0KLS8vIFZLX0YxICg3MCkgRjEg
a2V5Ci1jb25zdCBpbnQgVktfRjEgPSAweDcwOwotCi0vLyBWS19GMiAoNzEpIEYyIGtleQotY29u
c3QgaW50IFZLX0YyID0gMHg3MTsKLQotLy8gVktfRjMgKDcyKSBGMyBrZXkKLWNvbnN0IGludCBW
S19GMyA9IDB4NzI7Ci0KLS8vIFZLX0Y0ICg3MykgRjQga2V5Ci1jb25zdCBpbnQgVktfRjQgPSAw
eDczOwotCi0vLyBWS19GNSAoNzQpIEY1IGtleQotY29uc3QgaW50IFZLX0Y1ID0gMHg3NDsKLQot
Ly8gVktfRjYgKDc1KSBGNiBrZXkKLWNvbnN0IGludCBWS19GNiA9IDB4NzU7Ci0KLS8vIFZLX0Y3
ICg3NikgRjcga2V5Ci1jb25zdCBpbnQgVktfRjcgPSAweDc2OwotCi0vLyBWS19GOCAoNzcpIEY4
IGtleQotY29uc3QgaW50IFZLX0Y4ID0gMHg3NzsKLQotLy8gVktfRjkgKDc4KSBGOSBrZXkKLWNv
bnN0IGludCBWS19GOSA9IDB4Nzg7Ci0KLS8vIFZLX0YxMCAoNzkpIEYxMCBrZXkKLWNvbnN0IGlu
dCBWS19GMTAgPSAweDc5OwotCi0vLyBWS19GMTEgKDdBKSBGMTEga2V5Ci1jb25zdCBpbnQgVktf
RjExID0gMHg3QTsKLQotLy8gVktfRjEyICg3QikgRjEyIGtleQotY29uc3QgaW50IFZLX0YxMiA9
IDB4N0I7Ci0KLS8vIFZLX0YxMyAoN0MpIEYxMyBrZXkKLWNvbnN0IGludCBWS19GMTMgPSAweDdD
OwotCi0vLyBWS19GMTQgKDdEKSBGMTQga2V5Ci1jb25zdCBpbnQgVktfRjE0ID0gMHg3RDsKLQot
Ly8gVktfRjE1ICg3RSkgRjE1IGtleQotY29uc3QgaW50IFZLX0YxNSA9IDB4N0U7Ci0KLS8vIFZL
X0YxNiAoN0YpIEYxNiBrZXkKLWNvbnN0IGludCBWS19GMTYgPSAweDdGOwotCi0vLyBWS19GMTcg
KDgwSCkgRjE3IGtleQotY29uc3QgaW50IFZLX0YxNyA9IDB4ODA7Ci0KLS8vIFZLX0YxOCAoODFI
KSBGMTgga2V5Ci1jb25zdCBpbnQgVktfRjE4ID0gMHg4MTsKLQotLy8gVktfRjE5ICg4MkgpIEYx
OSBrZXkKLWNvbnN0IGludCBWS19GMTkgPSAweDgyOwotCi0vLyBWS19GMjAgKDgzSCkgRjIwIGtl
eQotY29uc3QgaW50IFZLX0YyMCA9IDB4ODM7Ci0KLS8vIFZLX0YyMSAoODRIKSBGMjEga2V5Ci1j
b25zdCBpbnQgVktfRjIxID0gMHg4NDsKLQotLy8gVktfRjIyICg4NUgpIEYyMiBrZXkKLWNvbnN0
IGludCBWS19GMjIgPSAweDg1OwotCi0vLyBWS19GMjMgKDg2SCkgRjIzIGtleQotY29uc3QgaW50
IFZLX0YyMyA9IDB4ODY7Ci0KLS8vIFZLX0YyNCAoODdIKSBGMjQga2V5Ci1jb25zdCBpbnQgVktf
RjI0ID0gMHg4NzsKLQotLy8gVktfTlVNTE9DSyAoOTApIE5VTSBMT0NLIGtleQotY29uc3QgaW50
IFZLX05VTUxPQ0sgPSAweDkwOwotCi0vLyBWS19TQ1JPTEwgKDkxKSBTQ1JPTEwgTE9DSyBrZXkK
LWNvbnN0IGludCBWS19TQ1JPTEwgPSAweDkxOwotCi0vLyBWS19MU0hJRlQgKEEwKSBMZWZ0IFNI
SUZUIGtleQotY29uc3QgaW50IFZLX0xTSElGVCA9IDB4QTA7Ci0KLS8vIFZLX1JTSElGVCAoQTEp
IFJpZ2h0IFNISUZUIGtleQotY29uc3QgaW50IFZLX1JTSElGVCA9IDB4QTE7Ci0KLS8vIFZLX0xD
T05UUk9MIChBMikgTGVmdCBDT05UUk9MIGtleQotY29uc3QgaW50IFZLX0xDT05UUk9MID0gMHhB
MjsKLQotLy8gVktfUkNPTlRST0wgKEEzKSBSaWdodCBDT05UUk9MIGtleQotY29uc3QgaW50IFZL
X1JDT05UUk9MID0gMHhBMzsKLQotLy8gVktfTE1FTlUgKEE0KSBMZWZ0IE1FTlUga2V5Ci1jb25z
dCBpbnQgVktfTE1FTlUgPSAweEE0OwotCi0vLyBWS19STUVOVSAoQTUpIFJpZ2h0IE1FTlUga2V5
Ci1jb25zdCBpbnQgVktfUk1FTlUgPSAweEE1OwotCi0vLyBWS19CUk9XU0VSX0JBQ0sgKEE2KSBX
aW5kb3dzIDIwMDAvWFA6IEJyb3dzZXIgQmFjayBrZXkKLWNvbnN0IGludCBWS19CUk9XU0VSX0JB
Q0sgPSAweEE2OwotCi0vLyBWS19CUk9XU0VSX0ZPUldBUkQgKEE3KSBXaW5kb3dzIDIwMDAvWFA6
IEJyb3dzZXIgRm9yd2FyZCBrZXkKLWNvbnN0IGludCBWS19CUk9XU0VSX0ZPUldBUkQgPSAweEE3
OwotCi0vLyBWS19CUk9XU0VSX1JFRlJFU0ggKEE4KSBXaW5kb3dzIDIwMDAvWFA6IEJyb3dzZXIg
UmVmcmVzaCBrZXkKLWNvbnN0IGludCBWS19CUk9XU0VSX1JFRlJFU0ggPSAweEE4OwotCi0vLyBW
S19CUk9XU0VSX1NUT1AgKEE5KSBXaW5kb3dzIDIwMDAvWFA6IEJyb3dzZXIgU3RvcCBrZXkKLWNv
bnN0IGludCBWS19CUk9XU0VSX1NUT1AgPSAweEE5OwotCi0vLyBWS19CUk9XU0VSX1NFQVJDSCAo
QUEpIFdpbmRvd3MgMjAwMC9YUDogQnJvd3NlciBTZWFyY2gga2V5Ci1jb25zdCBpbnQgVktfQlJP
V1NFUl9TRUFSQ0ggPSAweEFBOwotCi0vLyBWS19CUk9XU0VSX0ZBVk9SSVRFUyAoQUIpIFdpbmRv
d3MgMjAwMC9YUDogQnJvd3NlciBGYXZvcml0ZXMga2V5Ci1jb25zdCBpbnQgVktfQlJPV1NFUl9G
QVZPUklURVMgPSAweEFCOwotCi0vLyBWS19CUk9XU0VSX0hPTUUgKEFDKSBXaW5kb3dzIDIwMDAv
WFA6IEJyb3dzZXIgU3RhcnQgYW5kIEhvbWUga2V5Ci1jb25zdCBpbnQgVktfQlJPV1NFUl9IT01F
ID0gMHhBQzsKLQotLy8gVktfVk9MVU1FX01VVEUgKEFEKSBXaW5kb3dzIDIwMDAvWFA6IFZvbHVt
ZSBNdXRlIGtleQotY29uc3QgaW50IFZLX1ZPTFVNRV9NVVRFID0gMHhBRDsKLQotLy8gVktfVk9M
VU1FX0RPV04gKEFFKSBXaW5kb3dzIDIwMDAvWFA6IFZvbHVtZSBEb3duIGtleQotY29uc3QgaW50
IFZLX1ZPTFVNRV9ET1dOID0gMHhBRTsKLQotLy8gVktfVk9MVU1FX1VQIChBRikgV2luZG93cyAy
MDAwL1hQOiBWb2x1bWUgVXAga2V5Ci1jb25zdCBpbnQgVktfVk9MVU1FX1VQID0gMHhBRjsKLQot
Ly8gVktfTUVESUFfTkVYVF9UUkFDSyAoQjApIFdpbmRvd3MgMjAwMC9YUDogTmV4dCBUcmFjayBr
ZXkKLWNvbnN0IGludCBWS19NRURJQV9ORVhUX1RSQUNLID0gMHhCMDsKLQotLy8gVktfTUVESUFf
UFJFVl9UUkFDSyAoQjEpIFdpbmRvd3MgMjAwMC9YUDogUHJldmlvdXMgVHJhY2sga2V5Ci1jb25z
dCBpbnQgVktfTUVESUFfUFJFVl9UUkFDSyA9IDB4QjE7Ci0KLS8vIFZLX01FRElBX1NUT1AgKEIy
KSBXaW5kb3dzIDIwMDAvWFA6IFN0b3AgTWVkaWEga2V5Ci1jb25zdCBpbnQgVktfTUVESUFfU1RP
UCA9IDB4QjI7Ci0KLS8vIFZLX01FRElBX1BMQVlfUEFVU0UgKEIzKSBXaW5kb3dzIDIwMDAvWFA6
IFBsYXkvUGF1c2UgTWVkaWEga2V5Ci1jb25zdCBpbnQgVktfTUVESUFfUExBWV9QQVVTRSA9IDB4
QjM7Ci0KLS8vIFZLX0xBVU5DSF9NQUlMIChCNCkgV2luZG93cyAyMDAwL1hQOiBTdGFydCBNYWls
IGtleQotY29uc3QgaW50IFZLX01FRElBX0xBVU5DSF9NQUlMID0gMHhCNDsKLQotLy8gVktfTEFV
TkNIX01FRElBX1NFTEVDVCAoQjUpIFdpbmRvd3MgMjAwMC9YUDogU2VsZWN0IE1lZGlhIGtleQot
Y29uc3QgaW50IFZLX01FRElBX0xBVU5DSF9NRURJQV9TRUxFQ1QgPSAweEI1OwotCi0vLyBWS19M
QVVOQ0hfQVBQMSAoQjYpIFdpbmRvd3MgMjAwMC9YUDogU3RhcnQgQXBwbGljYXRpb24gMSBrZXkK
LWNvbnN0IGludCBWS19NRURJQV9MQVVOQ0hfQVBQMSA9IDB4QjY7Ci0KLS8vIFZLX0xBVU5DSF9B
UFAyIChCNykgV2luZG93cyAyMDAwL1hQOiBTdGFydCBBcHBsaWNhdGlvbiAyIGtleQotY29uc3Qg
aW50IFZLX01FRElBX0xBVU5DSF9BUFAyID0gMHhCNzsKLQotI2VuZGlmIC8vICFQTEFURk9STShX
SU5fT1MpCi0KLSNpZiAhUExBVEZPUk0oV0lOX09TKSB8fCBQTEFURk9STShXSU5fQ0UpCi0KLS8v
IFZLX09FTV8xIChCQSkgVXNlZCBmb3IgbWlzY2VsbGFuZW91cyBjaGFyYWN0ZXJzOyBpdCBjYW4g
dmFyeSBieSBrZXlib2FyZC4gV2luZG93cyAyMDAwL1hQOiBGb3IgdGhlIFVTIHN0YW5kYXJkIGtl
eWJvYXJkLCB0aGUgJzs6JyBrZXkKLWNvbnN0IGludCBWS19PRU1fMSA9IDB4QkE7Ci0KLS8vIFZL
X09FTV9QTFVTIChCQikgV2luZG93cyAyMDAwL1hQOiBGb3IgYW55IGNvdW50cnkvcmVnaW9uLCB0
aGUgJysnIGtleQotY29uc3QgaW50IFZLX09FTV9QTFVTID0gMHhCQjsKLQotLy8gVktfT0VNX0NP
TU1BIChCQykgV2luZG93cyAyMDAwL1hQOiBGb3IgYW55IGNvdW50cnkvcmVnaW9uLCB0aGUgJywn
IGtleQotY29uc3QgaW50IFZLX09FTV9DT01NQSA9IDB4QkM7Ci0KLS8vIFZLX09FTV9NSU5VUyAo
QkQpIFdpbmRvd3MgMjAwMC9YUDogRm9yIGFueSBjb3VudHJ5L3JlZ2lvbiwgdGhlICctJyBrZXkK
LWNvbnN0IGludCBWS19PRU1fTUlOVVMgPSAweEJEOwotCi0vLyBWS19PRU1fUEVSSU9EIChCRSkg
V2luZG93cyAyMDAwL1hQOiBGb3IgYW55IGNvdW50cnkvcmVnaW9uLCB0aGUgJy4nIGtleQotY29u
c3QgaW50IFZLX09FTV9QRVJJT0QgPSAweEJFOwotCi0vLyBWS19PRU1fMiAoQkYpIFVzZWQgZm9y
IG1pc2NlbGxhbmVvdXMgY2hhcmFjdGVyczsgaXQgY2FuIHZhcnkgYnkga2V5Ym9hcmQuIFdpbmRv
d3MgMjAwMC9YUDogRm9yIHRoZSBVUyBzdGFuZGFyZCBrZXlib2FyZCwgdGhlICcvPycga2V5Ci1j
b25zdCBpbnQgVktfT0VNXzIgPSAweEJGOwotCi0vLyBWS19PRU1fMyAoQzApIFVzZWQgZm9yIG1p
c2NlbGxhbmVvdXMgY2hhcmFjdGVyczsgaXQgY2FuIHZhcnkgYnkga2V5Ym9hcmQuIFdpbmRvd3Mg
MjAwMC9YUDogRm9yIHRoZSBVUyBzdGFuZGFyZCBrZXlib2FyZCwgdGhlICdgficga2V5Ci1jb25z
dCBpbnQgVktfT0VNXzMgPSAweEMwOwotCi0vLyBWS19PRU1fNCAoREIpIFVzZWQgZm9yIG1pc2Nl
bGxhbmVvdXMgY2hhcmFjdGVyczsgaXQgY2FuIHZhcnkgYnkga2V5Ym9hcmQuIFdpbmRvd3MgMjAw
MC9YUDogRm9yIHRoZSBVUyBzdGFuZGFyZCBrZXlib2FyZCwgdGhlICdbeycga2V5Ci1jb25zdCBp
bnQgVktfT0VNXzQgPSAweERCOwotCi0vLyBWS19PRU1fNSAoREMpIFVzZWQgZm9yIG1pc2NlbGxh
bmVvdXMgY2hhcmFjdGVyczsgaXQgY2FuIHZhcnkgYnkga2V5Ym9hcmQuIFdpbmRvd3MgMjAwMC9Y
UDogRm9yIHRoZSBVUyBzdGFuZGFyZCBrZXlib2FyZCwgdGhlICdcfCcga2V5Ci1jb25zdCBpbnQg
VktfT0VNXzUgPSAweERDOwotCi0vLyBWS19PRU1fNiAoREQpIFVzZWQgZm9yIG1pc2NlbGxhbmVv
dXMgY2hhcmFjdGVyczsgaXQgY2FuIHZhcnkgYnkga2V5Ym9hcmQuIFdpbmRvd3MgMjAwMC9YUDog
Rm9yIHRoZSBVUyBzdGFuZGFyZCBrZXlib2FyZCwgdGhlICddfScga2V5Ci1jb25zdCBpbnQgVktf
T0VNXzYgPSAweEREOwotCi0vLyBWS19PRU1fNyAoREUpIFVzZWQgZm9yIG1pc2NlbGxhbmVvdXMg
Y2hhcmFjdGVyczsgaXQgY2FuIHZhcnkgYnkga2V5Ym9hcmQuIFdpbmRvd3MgMjAwMC9YUDogRm9y
IHRoZSBVUyBzdGFuZGFyZCBrZXlib2FyZCwgdGhlICdzaW5nbGUtcXVvdGUvZG91YmxlLXF1b3Rl
JyBrZXkKLWNvbnN0IGludCBWS19PRU1fNyA9IDB4REU7Ci0KLS8vIFZLX09FTV84IChERikgVXNl
ZCBmb3IgbWlzY2VsbGFuZW91cyBjaGFyYWN0ZXJzOyBpdCBjYW4gdmFyeSBieSBrZXlib2FyZC4K
LWNvbnN0IGludCBWS19PRU1fOCA9IDB4REY7Ci0KLSNlbmRpZiAvLyAhUExBVEZPUk0oV0lOX09T
KSB8fCBQTEFURk9STShXSU5fQ0UpCi0KLSNpZiAhUExBVEZPUk0oV0lOX09TKQotCi0vLyBWS19P
RU1fMTAyIChFMikgV2luZG93cyAyMDAwL1hQOiBFaXRoZXIgdGhlIGFuZ2xlIGJyYWNrZXQga2V5
IG9yIHRoZSBiYWNrc2xhc2gga2V5IG9uIHRoZSBSVCAxMDIta2V5IGtleWJvYXJkCi1jb25zdCBp
bnQgVktfT0VNXzEwMiA9IDB4RTI7Ci0KLS8vIFZLX1BST0NFU1NLRVkgKEU1KSBXaW5kb3dzIDk1
Lzk4L01lLCBXaW5kb3dzIE5UIDQuMCwgV2luZG93cyAyMDAwL1hQOiBJTUUgUFJPQ0VTUyBrZXkK
LWNvbnN0IGludCBWS19QUk9DRVNTS0VZID0gMHhFNTsKLQotLy8gVktfUEFDS0VUIChFNykgV2lu
ZG93cyAyMDAwL1hQOiBVc2VkIHRvIHBhc3MgVW5pY29kZSBjaGFyYWN0ZXJzIGFzIGlmIHRoZXkg
d2VyZSBrZXlzdHJva2VzLiBUaGUgVktfUEFDS0VUIGtleSBpcyB0aGUgbG93IHdvcmQgb2YgYSAz
Mi1iaXQgVmlydHVhbCBLZXkgdmFsdWUgdXNlZCBmb3Igbm9uLWtleWJvYXJkIGlucHV0IG1ldGhv
ZHMuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgUmVtYXJrIGluIEtFWUJESU5QVVQsU2VuZElu
cHV0LCBXTV9LRVlET1dOLCBhbmQgV01fS0VZVVAKLWNvbnN0IGludCBWS19QQUNLRVQgPSAweEU3
OwotCi0vLyBWS19BVFROIChGNikgQXR0biBrZXkKLWNvbnN0IGludCBWS19BVFROID0gMHhGNjsK
LQotLy8gVktfQ1JTRUwgKEY3KSBDclNlbCBrZXkKLWNvbnN0IGludCBWS19DUlNFTCA9IDB4Rjc7
Ci0KLS8vIFZLX0VYU0VMIChGOCkgRXhTZWwga2V5Ci1jb25zdCBpbnQgVktfRVhTRUwgPSAweEY4
OwotCi0vLyBWS19FUkVPRiAoRjkpIEVyYXNlIEVPRiBrZXkKLWNvbnN0IGludCBWS19FUkVPRiA9
IDB4Rjk7Ci0KLS8vIFZLX1BMQVkgKEZBKSBQbGF5IGtleQotY29uc3QgaW50IFZLX1BMQVkgPSAw
eEZBOwotCi0vLyBWS19aT09NIChGQikgWm9vbSBrZXkKLWNvbnN0IGludCBWS19aT09NID0gMHhG
QjsKLQotLy8gVktfTk9OQU1FIChGQykgUmVzZXJ2ZWQgZm9yIGZ1dHVyZSB1c2UKLWNvbnN0IGlu
dCBWS19OT05BTUUgPSAweEZDOwotCi0vLyBWS19QQTEgKEZEKSBQQTEga2V5Ci1jb25zdCBpbnQg
VktfUEExID0gMHhGRDsKLQotLy8gVktfT0VNX0NMRUFSIChGRSkgQ2xlYXIga2V5Ci1jb25zdCBp
bnQgVktfT0VNX0NMRUFSID0gMHhGRTsKLQotY29uc3QgaW50IFZLX1VOS05PV04gPSAwOwotCi0j
ZW5kaWYgLy8gUExBVEZPUk0oV0lOX09TKQotCi19Ci0KLSNlbmRpZgo=
</data>
<flag name="review"
          id="15607"
          type_id="1"
          status="+"
          setter="zecke"
    />
          </attachment>
      

    </bug>

</bugzilla>