RE: [RFC] Proposal for Centralized TPM 2.0 Userspace Management Layer: systemd-tpmd

<[email protected]> Mon, 11 May 2026 13:46:35 +0000
Newsgroups dev.linux.lists.tpm2
Message-ID <[email protected]>
SGkgQWtzaGF5LA0KDQpmaXJzdCBvZiBhbGwsIGxldCBtZSBzYXkgdGhhdCBJIGFtIHZlcnkgaGFw
cHkgdG8gc2VlIHN1Y2ggaW50ZXJlc3QgaW4gbWFraW5nIHRoZSBUUE0gdXNhYmxlIHRocm91Z2hv
dXQgTGludXguDQpUaGlzIGhhcyBhbHNvIGJlZW4gdGhlIG1haW4gZHJpdmVyIGZvciBtZSB0byBn
ZXQgdXMgZ29pbmcuDQpOb3cgb24gdG8gc29tZSBvZiB5b3VyIHBvaW50czoNCg0KTWFpbiBtb3Rp
dmF0aW9uOg0KSSB3b3VsZCBsb3ZlIHRvIHNlZSBmaXhlcyBmb3Igc2hvcnQgY29taW5ncyB5b3Ug
c2VlIHRvIGJlIGluY2x1ZGVkIGluIHRoZSBleGlzdGluZyB0cG0yLXRzcyBtb2R1bGVzDQppbnN0
ZWFkIG9mIGludHJvZHVjaW5nIHlldCBhbm90aGVyIEFQSSB0byB0aGUgZWNvIHN5c3RlbSBhbmQg
dWx0aW1hdGVseSBsZWFkaW5nIHRvIG1vcmUgZnJhZ21lbnRhdGlvbg0KYW5kIGNvbmZ1c2lvbiBm
b3IgZW5kIHVzZXJzLg0KDQpGQVBJIGtleXN0b3JlOg0KSSBrbm93IHRoYXQgdGhlIGZpbGUtYmFz
ZWQgc3RvcmFnZSBvZiBrZXkgKG1ldGEpIGRhdGEgY2FuIGJlIGEgYml0IHByb2JsZW1hdGljIGF0
IHRpbWVzLg0KSG9uZXN0bHksIGl0IHdhcyBhIHJlc3RyaWN0aW9uIGludHJvZHVjZWQgYnkgdGlt
ZSBhIHJlc291cmNlIGF2YWlsYWJpbGl0eS4NCkknZCBsb3ZlIHRvIHNlZSBhbHRlcm5hdGl2ZSBp
bXBsZW1lbnRhdGlvbnMgdGhhdCBjb3VsZCBiZSBiYXNlZCBvbiBhIHN5c3RlbSBzZXJ2aWNlIG9y
IG90aGVyIG1lYW5zLg0KSSdkIGFsc28gbG92ZSB0byBzZWUgYW4gaW1wbGVtZW50YXRpb24gdGhh
dCBydW5zIG9uIHdpbmRvd3MuDQpXZSBkbyBoYXZlIGFuIGludGVybmFsIGFic3RyYWN0aW9uIGZv
ciB0aGUga2V5c3RvcmUgaW4gRkFQSSBhbmQgSSdkIGludml0ZSB5b3UgdG8gcGxlYXNlIGNvbnRy
aWJ1dGUgd2l0aA0KYWx0ZXJuYXRpdmUgaW1wbGVtZW50YXRpb25zIGhlcmUuDQpUaGlzIGNvdWxk
IHZlcnkgbXVjaCBhbHNvIGluY2x1ZGUgVkFSTElOSyBvciBEQnVzIGJhc2VkIGNvbW11bmljYXRp
b24gdG8gYSBrZXlzdG9yZSBzZXJ2aWNlLg0KDQpMYW5ndWFnZSBhZ25vc3RpY2l0eToNCldlIGFs
cmVhZHkgaGF2ZSBiaW5kaW5ncyBmb3IgUHl0aG9uIGFuZCBSdXN0IGJlc2lkZXMgdGhlIGV4aXN0
aW5nIEMgaW1wbGVtZW50YXRpb24uDQpXZSBhbHNvIGhhdmUgYSBkbG9wZW4tYmFzZWQgQVBJIGZv
ciBwcml2YXRlIGluY2x1c2lvbi4NCklmIHRoZXJlIGFyZSBtYWpvciB1c2VycyBiZXlvbmQgdGhl
c2UgbGFuZ3VhZ2VzLCBJJ2QgcHJvcG9zYWwgdG8gbGV0J3MgYWRkIG1vcmUgYmluZGluZ3MuDQoN
Ck9wZW5TU0w6DQpUaGVyZSBhbHJlYWR5IGV4aXN0cyB0aGUgdHBtMi1vcGVuc3NsIHByb3ZpZGVy
IHRoYXQgYmFzaWNhbGx5IGRvZXMgd2hhdCB5b3UgZW52aXNpb24uDQpJJ2QgbG92ZSB0byBzZWUg
dGhpcyBiZWluZyBleHRlbmRlZCB0byB1c2luZyBGQVBJIGtleXN0b3JlIGFzIHdlbGwgYXMgdGhl
IEZBUEkgcG9saWN5IGxhbmd1YWdlDQpjYXBhYmlsaXRpZXMuDQpTbyB0aGUgdXNlIGNhc2UgeW91
IG9mZmVyIHNlZW1zIHRvIGFscmVhZHkgYmUgaW1wbGVtZW50ZWQgaGVyZS4NCklmIG5vdCBwbGVh
c2UgbGV0IHVzIGtub3cgdGhlIHNwZWNpZmljIHNob3J0Y29taW5ncyB5b3Ugc2VlIGhlcmUuDQoN
CkFQSSAodHBtX3NpZ25fcGF5bG9hZCk6DQpUaGlzIGxvb2tzIHZlcnkgdmVyeSBzaW1pbGFyIHRv
IHRoZSBGYXBpX1NpZ24oKSBmdW5jdGlvbmFsaXR5Lg0KQ29taW5nIGJhY2sgdG8gbXkgZmlyc3Qg
cG9pbnQgaGVyZSwgSU1ITyB3ZSBhcmUgYWxyZWFkeSBjbG9zZSB0byB3aGF0IHlvdSB3YW50IGFu
ZCBJJ2QNCmxvdmUgdG8gaGVhciBhYm91dCBzcGVjaWZpYyBzaG9ydGNvbWluZ3MgYW5kIHRoZW4g
dG8gc2VlIHRoZW0gYmVpbmcgYWRkcmVzc2VkIGluIHRoZSB0cG0yLXRzcw0KRkFQSSBtb2R1bGUg
aXRzZWxmLCBpbnN0ZWFkIG9mIGNyZWF0aW5nIGEgbmV3ICJjb21wZXRpbmciIHNlcnZpY2UgaW1w
bGVtZW50YXRpb24uDQoNCkJvb3QtdGltZSBwcm92aXNpb25pbmc6DQpUaGlzIGlzIGEgdG91Z2gg
b25lLiBXZSd2ZSB0aG91Z2ggaGFyZCBhYm91dCBhZGRpbmcgYXV0b21hdGVkIHByb3Zpc2lvbmlu
ZyBidXQgZGVjaWRlZCB0bw0KcG9zdHBvbmUgaXQgdW50aWwgdGhlIHVzZXIgY2FsbHMgRmFwaV9Q
cm92aXNpb24oKSBpLmUuIHRzczJfcHJvdmlzaW9uLg0KVGhpcyBhbGxvd3MgY29uZmlndXJhdGlv
biBvZiBwcmVmZXJyZWQgY3J5cHRvIHByb2ZpbGUgYW5kIG90aGVyIHRoaW5ncy4NCkFsc28gc2lu
Y2UgcHJvdmlzaW9uaW5nIHJlcXVpcmVzIHVzZXIgaW50ZXJhY3Rpb24gZm9yIHBhc3N3b3JkIHNl
dHRpbmcsIHdlIGRpZCBub3Qga25vdyBob3cNCnRvIGRvIGl0IGRpZmZlcmVudGx5Lg0KVGhhdCBi
ZWluZyBzYWlkLCBJIGNvdWxkIHRvdGFsbHkgc2VlIHRoaXMgYmVpbmcgaW50ZWdyYXRpb24gImJl
dHRlciIgd2l0aCBhIEdVSSBvciBzaW1pbGFyIG9yIGluc2lkZSB0aGUNCmRpc3RybyBpbnN0YWxs
ZXJzLg0KDQpBdHRlc3RhdGlvbiBhbmQgc3VjaDoNCkhlcmUgd2Ugc3RpbGwgaGF2ZSB0aGUgYmln
Z2VzdCBzaG9ydGNvbWluZy4gVGhlcmUgYXJlIGF0dGVtcHRzIGhlcmUgYW5kIHRoZXJlIGJ1dCB0
aGUgYmlnIHByb2JsZW0NCmhhcyBhbHdheXMgYmVlbiB0aGUgZ2VuZXJhdGlvbiBvZiByZWZlcmVu
Y2UgdmFsdWVzIGFuZCB0aGUgYXNzZXNzbWVudCBvZiBRdW90ZXMuDQpUaGUgRmFwaV9RdW90ZSBj
b21tYW5kIGFscmVhZHkgZ2l2ZXMgeW91IHRoZSBzeXN0ZW0gc3RhdGUgd2l0aCBhbGwgaXRzIGxv
Z3MsIGJ1dCB3ZSBuZWVkIG5ldHdvcmsNCnByb3RvY29scyBhbmQgdGhlbiBzcGVjaWZpY2FsbHkg
YSBiYWNrZW5kIHNlcnZpY2UgZm9yIGFzc2Vzc2luZyB0aGUgRXZlbnQgbG9ncy4gVGhpcyBpcyB3
aGVyZSB0aGUNCmJpZyB3b3JrIGxpdmVzLg0KDQpBbGwgdGhhdCBiZWluZyBzYWlkLCBJIGFtIHZl
cnkgb3BlbiB0byBnZXR0aW5nIHN0dWZmIGludG8gdHBtMi10c3MgaW4gb3JkZXIgdG8gZmFjaWxp
dGF0ZSBtb3JlIHVzZSBjYXNlcy4NCg0KTWF5YmUgd2UgY2FuIGhhdmUgc2VwYXJhdGUgZGlzY3Vz
c2lvbnMgZm9yIHNvbWUgb2YgeW91ciBzaG9ydCBjb21pbmdzIGFuZCBnZXQgYSBiaXQgbW9yZSBp
bnRvDQpkZXB0aCBvbiBlYWNoIG9mIHRoZXNlLg0KDQpMb29raW5nIGZvcndhcmQgdG8gbW9yZSBk
aXNjdXNzaW9ucyBvbiB0aGlzIHRvcGljLg0KDQpDaGVlcnMsDQpBbmRyZWFzDQoNCg0KLS0tLS1P
cmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IEFrc2hheSBIZW5kcmUgPGFoZW5kcmUyMDEwQGdt
YWlsLmNvbT4gDQpTZW50OiBTb25udGFnLCAxMC4gTWFpIDIwMjYgMTA6MTENClRvOiB0cG0yQGxp
c3RzLmxpbnV4LmRldg0KU3ViamVjdDogRndkOiBbUkZDXSBQcm9wb3NhbCBmb3IgQ2VudHJhbGl6
ZWQgVFBNIDIuMCBVc2Vyc3BhY2UgTWFuYWdlbWVudCBMYXllcjogc3lzdGVtZC10cG1kDQoNCkNh
dXRpb246IFRoaXMgZS1tYWlsIG9yaWdpbmF0ZWQgb3V0c2lkZSBJbmZpbmVvbiBUZWNobm9sb2dp
ZXMuIFBsZWFzZSBiZSBjYXV0aW91cyB3aGVuIHNoYXJpbmcgaW5mb3JtYXRpb24gb3Igb3Blbmlu
ZyBhdHRhY2htZW50cyBlc3BlY2lhbGx5IGZyb20gdW5rbm93biBzZW5kZXJzLiBSZWZlciB0byBv
dXIgaW50cmFuZXQgZ3VpZGU8aHR0cHM6Ly9pbnRyYW5ldC1jb250ZW50LmluZmluZW9uLmNvbS9l
eHBsb3JlL2Fib3V0aW5maW5lb24vcnVsZXMvaW5mb3JtYXRpb25zZWN1cml0eS91Zy9Tb2NpYWxF
bmdpbmVlcmluZy9QYWdlcy9Tb2NpYWxFbmdpbmVlcmluZ0VsZW1lbnRzX2VuLmFzcHg+IHRvIGhl
bHAgeW91IGlkZW50aWZ5IFBoaXNoaW5nIGVtYWlsLg0KDQoNCg0KSSBhbSBjcm9zcy1wb3N0aW5n
IHByb3Bvc2FsIGZvciBbUkZDOiBzeXN0ZW1kLXRwbWRdIGZvciB0aGUgcmlnaHQgYXVkaWVuY2Uu
DQoNCi0tLS0tLS0tLS0gRm9yd2FyZGVkIG1lc3NhZ2UgLS0tLS0tLS0tDQpGcm9tOiBBa3NoYXkg
SGVuZHJlIDxhaGVuZHJlMjAxMEBnbWFpbC5jb20+DQpEYXRlOiBTdW4sIDEwIE1heSAyMDI2IGF0
IDEzOjMxDQpTdWJqZWN0OiBbUkZDXSBQcm9wb3NhbCBmb3IgQ2VudHJhbGl6ZWQgVFBNIDIuMCBV
c2Vyc3BhY2UgTWFuYWdlbWVudA0KTGF5ZXI6IHN5c3RlbWQtdHBtZA0KVG86IDxzeXN0ZW1kLWRl
dmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZz4NCg0KDQpIZWxsbyBhbGwsDQoNCkkgYW0gc3VibWl0
dGluZyBhIHByb3Bvc2FsIHRvIGludHJvZHVjZSBzeXN0ZW1kLXRwbWQsIGEgY2VudHJhbGl6ZWQg
VFBNIDIuMCB1c2Vyc3BhY2UgbWFuYWdlbWVudCBsYXllciBkZXNpZ25lZCB0byBzZXJ2ZSBhcyB0
aGUgZm91bmRhdGlvbiBmb3IgVFBNIGludGVncmF0aW9uIG9uIExpbnV4LiBUaGlzIHByb3Bvc2Fs
IGRlbGliZXJhdGVseSBmb2N1c2VzIG9uIGFyY2hpdGVjdHVyYWwgZGVzaWduIGluIG9yZGVyIHRv
IHJlYWNoIGNvbnNlbnN1cyBiZWZvcmUgZGl2aW5nIGludG8gaW1wbGVtZW50YXRpb24gZGV0YWls
cy4NCg0KVGFibGUgb2YgQ29udGVudHMNCj09PT09PT09PT09PT09PT09PT09PT09PQ0KMS4gUHJv
YmxlbSBTdGF0ZW1lbnQNCjIuIFByb3Bvc2VkIFNvbHV0aW9uOiBzeXN0ZW1kLXRwbWQgQXJjaGl0
ZWN0dXJlDQogICAyLjEgQm9vdC1UaW1lIFByb3Zpc2lvbmluZyBhbmQgU3RhdGUgRXNjcm93DQog
ICAyLjIgQXBwbGljYXRpb24gRWNvc3lzdGVtIGFuZCBBcmNoaXRlY3R1cmFsIExheWVycw0KICAg
Mi4zIFN0YW5kYXJkIEludGVyYWN0aW9uIFNlcXVlbmNlDQozLiBTdXBwb3J0ZWQgSW50ZXJhY3Rp
b24gUGF0aHM6IFZhcmxpbmsgYW5kIE9wZW5TU0wgMy4wDQogICAzLjEgUGF0aCBBOiBUaGUgT3Bl
blNTTCAzLjAgUHJvdmlkZXINCiAgIDMuMiBQYXRoIEI6IE5hdGl2ZSBWYXJsaW5rIEFQSSAoaW8u
c3lzdGVtZC5UcG0pIDQuIFN5c3RlbSBBZG1pbmlzdHJhdGlvbiBhbmQgTWFuYWdlZCBFbnZpcm9u
bWVudHMNCiAgIDQuMSBTdGF0ZSBNYW5hZ2VtZW50IGFuZCBEYWVtb24gUmVjb3ZlcnkNCiAgIDQu
MiBDb21tYW5kIExpbmUgSW50ZWdyYXRpb24gYW5kIEFjY2VzcyBDb250cm9sIDUuIFNlY3VyaXR5
LCBTYW5kYm94aW5nLCBhbmQgU2ltdWxhdGlvbg0KICAgNS4xIEhhcmRlbmVkIFNlcnZpY2UgQ29u
ZmluZW1lbnQNCiAgIDUuMiBTaW11bGF0b3IgU3VwcG9ydCBhbmQgRmFsbGJhY2sgUHJldmVudGlv
biA2LiBGdXR1cmUgQ2FwYWJpbGl0aWVzIGFuZCBTb2x2YWJsZSBQcm9ibGVtcw0KICAgNi4xIFNl
YW1sZXNzIEZpcm13YXJlIFVwZGF0ZXMgKFNvbHZpbmcgdGhlIExVS1MgLyBmd3VwZCBMb2Nrb3V0
KQ0KICAgNi4yIFN0YW5kYXJkaXppbmcgVFBNLUJhY2tlZCBQYXNza2V5cyBmb3IgdGhlIExpbnV4
IERlc2t0b3ANCiAgIDYuMyBTdGFiaWxpemluZyBDb250aW51b3VzIFJlbW90ZSBBdHRlc3RhdGlv
biBmb3IgRmxlZXQgTWFuYWdlbWVudA0KICAgNi40IFNlY3VyZSBTU0ggS2V5IFByb3RlY3Rpb24N
CiAgIDYuNSBDb25maWRlbnRpYWwgQ29tcHV0aW5nIGFuZCB2VFBNIFN0YXRlIE1hbmFnZW1lbnQN
Cg0KMS4gUHJvYmxlbSBTdGF0ZW1lbnQNCj09PT09PT09PT09PT09PT09PT09PT09PQ0KV2hpbGUg
dGhlIExpbnV4IGtlcm5lbCBwcm92aWRlcyByb2J1c3QgbG93LWxldmVsIG11bHRpcGxleGluZyBm
b3IgdGhlIFRydXN0ZWQgUGxhdGZvcm0gTW9kdWxlIHZpYSAvZGV2L3RwbXJtMCwgdGhlIHVzZXJz
cGFjZSBlY29zeXN0ZW0gY3VycmVudGx5IGxhY2tzIGEgY2VudHJhbGl6ZWQsIHN0YXRlZnVsIGJy
b2tlciB0byBtYW5hZ2UgaGFyZHdhcmUgY3J5cHRvZ3JhcGh5LiBUbyB1bmRlcnN0YW5kIHRoZXNl
IGdhcHMsIGl0IGlzIHVzZWZ1bCB0byBjb21wYXJlIHRoZSBMaW51eCBsYW5kc2NhcGUgd2l0aCB0
aGUgZXN0YWJsaXNoZWQgV2luZG93cyBwYXJhZGlnbS4gT24gV2luZG93cywgaGFyZHdhcmUgY3J5
cHRvZ3JhcGh5IGlzIGhhbmRsZWQgc2VhbWxlc3NseSB2aWEgdGhlIENyeXB0b2dyYXBoeSBBUEk6
DQpOZXh0IEdlbmVyYXRpb24gKENORykgYW5kIHRoZSBQbGF0Zm9ybSBDcnlwdG8gUHJvdmlkZXIg
KFBDUCkuIFRoZSBXaW5kb3dzIG9wZXJhdGluZyBzeXN0ZW0gYXV0b21hdGljYWxseSB0YWtlcyBv
d25lcnNoaXAgb2YgdGhlIFRQTSBkdXJpbmcgYm9vdCwgc2VjdXJlbHkgZXNjcm93cyB0aGUgb3du
ZXIgcGFzc3dvcmQsIGFuZCBwcm92aWRlcyBhIHVuaWZpZWQsIG11bHRpLXRlbmFudCBicm9rZXIg
Zm9yIGFsbCBhcHBsaWNhdGlvbnMuIERldmVsb3BlcnMgc2ltcGx5IHJlcXVlc3QgYSBjcnlwdG9n
cmFwaGljIG9wZXJhdGlvbiwgYW5kIHRoZSBPUyBoYW5kbGVzIHRoZSBoYXJkd2FyZSBzdGF0ZSwg
Y29udGV4dCBzd2FwcGluZywgYW5kIHNlY3VyaXR5IGF1dGhvcml6YXRpb25zIGF1dG9tYXRpY2Fs
bHkuDQoNCkluIHN0YXJrIGNvbnRyYXN0LCB0aGUgTGludXggZWNvc3lzdGVtIGRlbGVnYXRlcyBo
YXJkd2FyZSBzdGF0ZSBtYW5hZ2VtZW50IGFuZCBjcnlwdG9ncmFwaGljIHNlc3Npb24gZXN0YWJs
aXNobWVudCBkaXJlY3RseSB0byB0aGUgYXBwbGljYXRpb25zIHRoZW1zZWx2ZXMuIFRoaXMgZnJh
Z21lbnRlZCBhcHByb2FjaCBjcmVhdGVzIHNldmVyZSBhcmNoaXRlY3R1cmFsIGdhcHMgdGhhdCBp
bXBhY3QgbXVsdGlwbGUgZ3JvdXBzOg0KDQoqIEFwcGxpY2F0aW9uIERldmVsb3BlcnM6IEVuaGFu
Y2VkIFN5c3RlbSBBUEkgKEVTQVBJKSBhbmQgdGhlIG9wZXJhdGlvbmFsIGZyYWdpbGl0eSBvZiB0
aGUgRmVhdHVyZSBBUEkgKEZBUEkpLiBXaGlsZSBFU0FQSSByZXF1aXJlcyBleHBlcnQtbGV2ZWwg
aGFyZHdhcmUgbWFuYWdlbWVudOKAlHN1Y2ggYXMgbWFudWFsbHkgaW52b2tpbmcgVFBNMl9DcmVh
dGVQcmltYXJ5IGZvciBTUksgcHJvdmlzaW9uaW5n4oCUaXQgcmlza3MgbG9ja2luZyBvdXQgYXBw
bGljYXRpb25zIGlmIHRoZSBPd25lciBIaWVyYXJjaHkgaXMgcGFzc3dvcmQtcHJvdGVjdGVkLiBD
b252ZXJzZWx5LCBGQVBJIHNpbXBsaWZpZXMgcHJvdmlzaW9uaW5nIGJ1dCBpbnRyb2R1Y2VzIGEg
ZnJhZ2lsZSBmaWxlLWJhc2VkIGtleXN0b3JlICh0eXBpY2FsbHkgL3Zhci9saWIvdHBtMi10c3Mv
c3lzdGVtL2tleXN0b3JlKSB0aGF0IGZyZXF1ZW50bHkgdHJpZ2dlcnMgZmF0YWwgMHgwMDA2MDAw
YiAoUGVybWlzc2lvbiBEZW5pZWQpIGVycm9ycyBkdXJpbmcgY29uY3VycmVudCBhY2Nlc3MuDQoq
IFN5c3RlbSBBZG1pbmlzdHJhdG9yczogQ3VycmVudGx5LCBiZWNhdXNlIHRoZXJlIGlzIG5vIGNl
bnRyYWxpemVkIGRhZW1vbiB0byBhdXRvbWF0aWNhbGx5IHByb3Zpc2lvbiB0aGUgVFBNIGFuZCBl
c3RhYmxpc2ggYSBzaGFyZWQgU3RvcmFnZSBSb290IEtleSAoU1JLKSwgYXBwbGljYXRpb25zIG9m
dGVuIGF0dGVtcHQgdG8gY3JlYXRlIHRoZWlyIG93biBwcmltYXJ5IGtleXMgZGlyZWN0bHkgdW5k
ZXIgdGhlIE93bmVyIGhpZXJhcmNoeS4gSWYgYW4gYWRtaW5pc3RyYXRvciBmb2xsb3dzIHNlY3Vy
aXR5IGJlc3QgcHJhY3RpY2VzIGFuZCBwYXNzd29yZC1wcm90ZWN0cyB0aGUgT3duZXIgaGllcmFy
Y2h5LCBjb3JlIE9TIHV0aWxpdGllcyBsaWtlIHN5c3RlbWQtY3J5cHRlbnJvbGwgaW1tZWRpYXRl
bHkgZmFpbCB0byBiaW5kIExVS1MyIHZvbHVtZXMsIHRocm93aW5nIGFuIDB4MDAwMDA5YTIgYXV0
aG9yaXphdGlvbiBlcnJvci4NCkFkbWluaXN0cmF0b3JzIGFyZSBjYXVnaHQgaW4gYSBwYXJhZG94
OiBsZWF2ZSB0aGUgVFBNIE93bmVyIGhpZXJhcmNoeSBlbnRpcmVseSB1bnByb3RlY3RlZCwgb3Ig
YnJlYWsgc3lzdGVtIGZ1bmN0aW9uYWxpdHkuDQoqIE1hbmFnZWQgRW50ZXJwcmlzZSBGbGVldHM6
IEluIGxhcmdlIGRlcGxveW1lbnRzLCB0aGUgbGFjayBvZiBhIGNlbnRyYWxpemVkIHBvbGljeSBi
cm9rZXIgbWVhbnMgdGhhdCBzdGFuZGFyZCBzb2Z0d2FyZSBhbmQga2VybmVsIHVwZGF0ZXMgYWx0
ZXIgUGxhdGZvcm0gQ29uZmlndXJhdGlvbiBSZWdpc3RlcnMgKFBDUnMpLiBUaGlzIGFyYml0cmFy
aWx5IGJyZWFrcyBmcmFnaWxlIGxvY2FsIHRydXN0IGNoYWlucywgbG9ja3MgdXNlcnMgb3V0IG9m
IGVuY3J5cHRlZCBkaXNrcywgYW5kIGNhdXNlcyBkaXNydXB0aXZlIGZhbHNlIHBvc2l0aXZlcyBp
biBjb250aW51b3VzIHJlbW90ZSBhdHRlc3RhdGlvbiBmcmFtZXdvcmtzLg0KDQoyLiBQcm9wb3Nl
ZCBTb2x1dGlvbjogc3lzdGVtZC10cG1kIEFyY2hpdGVjdHVyZSA9PT09PT09PT09PT09PT09PT09
PT09PT0gc3lzdGVtZC10cG1kIGlzIHByb3Bvc2VkIGFzIGEgcGVyc2lzdGVudCwgc3RhdGVmdWwg
dXNlcnNwYWNlIG1hbmFnZW1lbnQgbGF5ZXIgYWN0aW5nIGFzIHRoZSBhYnNvbHV0ZSBmb3VuZGF0
aW9uIGZvciBUUE0gaW50ZWdyYXRpb24gb24gTGludXguIEl0IG9wZXJhdGVzIGFzIGEgaGlnaGx5
IHByaXZpbGVnZWQgc3lzdGVtIGRhZW1vbiBzaXR0aW5nIGRpcmVjdGx5IGJldHdlZW4gdGhlIGlu
LWtlcm5lbCByZXNvdXJjZSBtYW5hZ2VyIGFuZCB0aGUgdW5wcml2aWxlZ2VkIGFwcGxpY2F0aW9u
IGxheWVyLCBwcm92aWRpbmcgdW5pZmllZCBhYnN0cmFjdGlvbiBhbmQgc3RhdGUgZXNjcm93Lg0K
DQoyLjEgQm9vdC1UaW1lIFByb3Zpc2lvbmluZyBhbmQgU3RhdGUgRXNjcm93DQotLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0NClVwb24gaW5pdGlhbGl6YXRpb24sIHN5c3RlbWQtdHBtZCBldmFsdWF0
ZXMgdGhlIGhhcmR3YXJlIHByb3Zpc2lvbmluZyBzdGF0ZS4gSWYgdW5wcm92aXNpb25lZCwgaXQg
YWN0cyBiYXNlZCBvbiBhIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVyIChlLmcuLCBQcm92aXNpb25p
bmdNb2RlPSk6DQoqIEF1dG8gKERlZmF1bHQpOiBJdCBhdXRvbWF0aWNhbGx5IHRha2VzIG93bmVy
c2hpcCwgZ2VuZXJhdGluZyBoaWdoLWVudHJvcHkgY3J5cHRvZ3JhcGhpYyBzZWNyZXRzIGZvciB0
aGUgT3duZXIsIEVuZG9yc2VtZW50LCBhbmQgTG9ja291dCBoaWVyYXJjaGllcy4gSXQgaW52b2tl
cyBUUE0yX0NyZWF0ZVByaW1hcnkgdG8gZXN0YWJsaXNoIHRoZSBTdG9yYWdlIFJvb3QgS2V5IChT
UkspIGFuZCB1dGlsaXplcyBUUE0yX0V2aWN0Q29udHJvbCB0byBsb2NrIHRoZSBTUksgaW50byB0
aGUgVFBNJ3MgcGVyc2lzdGVudCBOVlJBTSBhdCB0aGUgVENHLXN0YW5kYXJkaXplZCBoYW5kbGUg
MHg4MTAwMDAwMS4gVGhlIFNSSyBpcyBpbnN0YW50aWF0ZWQgd2l0aCBhbiBlbXB0eSBhdXRob3Jp
emF0aW9uIHZhbHVlLCBhbGxvd2luZyB0aGUgZGFlbW9uIHRvIHV0aWxpemUgaXQgYXMgYSB1bml2
ZXJzYWwgcGFyZW50IGZvciBlbmNyeXB0aW5nIGFuZCBkZWNyeXB0aW5nIGFwcGxpY2F0aW9uLXNw
ZWNpZmljIGNoaWxkIGtleXMgd2l0aG91dCBuZWVkaW5nIHRvIHVubG9jayB0aGUgcHJvdGVjdGVk
IE93bmVyIGhpZXJhcmNoeS4NCiogRGVmZXJyZWQ6IFRvIHByZXZlbnQgY29uZmxpY3RzIHdpdGgg
ZW50ZXJwcmlzZSBpbmZyYXN0cnVjdHVyZS1hcy1jb2RlIG9yIENJL0NEIHBpcGVsaW5lcyB0aGF0
IHN0cmljdGx5IG1hbmFnZSBkZXBsb3ltZW50IHN0YXRlcywgcHJvdmlzaW9uaW5nIGNhbiBiZSBk
ZWZlcnJlZC4gSW4gdGhpcyBtb2RlLCBzeXN0ZW1kLXRwbWQgd2lsbCB3YWl0IGZvciBleHRlcm5h
bCB0b29saW5nIHRvIHRyaWdnZXIgdGhlIHByb3Zpc2lvbmluZyBwcm9jZXNzIHZpYSBhbiBleHBs
aWNpdCBhZG1pbmlzdHJhdGl2ZSBjb21tYW5kLg0KDQoyLjIgQXBwbGljYXRpb24gRWNvc3lzdGVt
IGFuZCBBcmNoaXRlY3R1cmFsIExheWVycw0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpUbyBl
bnN1cmUgYnJvYWQgZWNvc3lzdGVtIGNvbXBhdGliaWxpdHksIHN5c3RlbWQtdHBtZCBzdXBwb3J0
cyB0d28gcHJpbWFyeSBpbnRlcmFjdGlvbiBwYXRocyBmb3IgYXBwbGljYXRpb25zOiBhIG5hdGl2
ZSBWYXJsaW5rIEFQSSBhbmQgYSBmdWxseSBzdXBwb3J0ZWQgT3BlblNTTCAzLjAgUHJvdmlkZXIu
IFRoZSBhcmNoaXRlY3R1cmUgaXMgZGVmaW5lZCBhcw0KZm9sbG93czoNCg0KKiBMYXllciAxOiBB
cHBsaWNhdGlvbnMgKERhZW1vbnMsIHdlYiBzZXJ2ZXJzLCBzeXN0ZW1kLWNyeXB0ZW5yb2xsKSAt
IENvbnN1bWVycyBvZiBjcnlwdG9ncmFwaGljIG9wZXJhdGlvbnMuIEFwcGxpY2F0aW9ucyByZXF1
aXJlIHplcm8ga25vd2xlZGdlIG9mIFRQTSBieXRlLW1hcnNoYWxpbmcgYW5kIGRvIG5vdCByZXF1
aXJlIG1lbWJlcnNoaXAgaW4gdGhlIHRzcyBncm91cC4NCiogTGF5ZXIgMjogSW50ZXJhY3Rpb24g
SW50ZXJmYWNlcyAoVmFybGluayAmIE9wZW5TU0wgMy4wKSAtIEFwcGxpY2F0aW9ucyBpbnRlcmZh
Y2Ugd2l0aCB0aGUgYnJva2VyIGVpdGhlciB0cmFuc3BhcmVudGx5IHZpYSBzdGFuZGFyZCBPcGVu
U1NMIEVWUCBBUElzICh1c2luZyB0aGUgc3lzdGVtZC10cG1kIE9wZW5TU0wgcHJvdmlkZXIpIG9y
IGRpcmVjdGx5IHZpYSBwbGFpbi10ZXh0IEpTT04gb3ZlciBBRl9VTklYIHNvY2tldHMgKGlvLnN5
c3RlbWQuVHBtKS4NCkJvdGggcGF0aHMgcHJvdmlkZSBzdHJpY3QgcHJvY2VzcyBpc29sYXRpb24s
IGVuc3VyaW5nIGFwcGxpY2F0aW9ucyBuZXZlciBwb3NzZXNzIGhhcmR3YXJlIGZpbGUgZGVzY3Jp
cHRvcnMuDQoqIExheWVyIDM6IFRoZSBCcm9rZXIgKHN5c3RlbWQtdHBtZCkgLSBTdGF0ZWZ1bCBl
bmdpbmUgdGhhdCBzZWN1cmVseSBlc2Nyb3dzIGhpZXJhcmNoeSBwYXNzd29yZHMsIHBhcnNlcyBp
bmNvbWluZyByZXF1ZXN0cywgZW5mb3JjZXMgY2dyb3VwL3VzZXIgYWNjZXNzIGNvbnRyb2xzLCBh
bmQgZXZhbHVhdGVzIFBDUiBwb2xpY2llcy4NCiogTGF5ZXIgNDogVENHIFN0YWNrICh0cG0yLXRz
cyAvIEVTQVBJKSAtIEVtYmVkZGVkIHN0cmljdGx5IHdpdGhpbiB0aGUgZGFlbW9uLiBUcmFuc2xh
dGVzIGhpZ2gtbGV2ZWwgcmVxdWVzdHMgaW50byBUQ0ctY29tcGxpYW50IGJ5dGUgc3RyZWFtcyBh
bmQgZXN0YWJsaXNoZXMgZW5jcnlwdGVkIEhNQUMgYnVzIHNlc3Npb25zLg0KKiBMYXllciA1OiBL
ZXJuZWwgJiBIVyAoL2Rldi90cG1ybTAgJiBQaHlzaWNhbCBUUE0pIC0gVGhlIExpbnV4IGtlcm5l
bCByZXNvdXJjZSBtYW5hZ2VyIHRoYXQgbXVsdGlwbGV4ZXMgdGhlIHBoeXNpY2FsLCBkaXNjcmV0
ZSBUUE0gMi4wIGNoaXAuDQoNCjIuMyBTdGFuZGFyZCBJbnRlcmFjdGlvbiBTZXF1ZW5jZQ0KLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpTdGVwIDEuIFJlcXVlc3QgRm9ybXVsYXRpb246IEFuIHVu
cHJpdmlsZWdlZCBhcHBsaWNhdGlvbiAoZS5nLiwgYSB3ZWINCnNlcnZlcikgbmVlZHMgdG8gc2ln
biBhIFRMUyBoYW5kc2hha2UuIEl0IHJlYWRzIGl0cyBlbmNyeXB0ZWQgcHJpdmF0ZUJsb2IgYW5k
IHB1YmxpY0Jsb2IgZnJvbSB0aGUgc3RhbmRhcmQgZmlsZXN5c3RlbS4NClN0ZXAgMi4gVHJhbnNt
aXNzaW9uOiBUaGUgYXBwbGljYXRpb24gaXNzdWVzIGEgc2lnbmluZyByZXF1ZXN0IGVpdGhlciB0
aHJvdWdoIHRoZSBPcGVuU1NMIDMuMCBwcm92aWRlciBvciBuYXRpdmVseSB2aWEgYSBKU09OIFZh
cmxpbmsgc29ja2V0Lg0KU3RlcCAzLiBCcm9rZXIgRXhlY3V0aW9uOiBzeXN0ZW1kLXRwbWQgcmVj
ZWl2ZXMgdGhlIHJlcXVlc3QsIHV0aWxpemVzIHRoZSBwdWJsaWMsIGVtcHR5LXBhc3N3b3JkIFNS
SyB0byBsb2FkIHRoZSBlbmNyeXB0ZWQgcHJpdmF0ZSBibG9iIGludG8gdGhlIFRQTSdzIHZvbGF0
aWxlIG1lbW9yeSwgYW5kIGluc3RydWN0cyB0aGUgaGFyZHdhcmUgdG8gc2lnbiB0aGUgZGlnZXN0
Lg0KU3RlcCA0LiBSZXNwb25zZSBEZWxpdmVyeTogVGhlIFRQTSBvdXRwdXRzIHRoZSBzaWduYXR1
cmUuIHN5c3RlbWQtdHBtZCBjbGVhcnMgdGhlIHRyYW5zaWVudCBjb250ZXh0IGFuZCByZXR1cm5z
IHRoZSBzaWduYXR1cmUgdG8gdGhlIGFwcGxpY2F0aW9uIHZpYSB0aGUgY2hvc2VuIGludGVyZmFj
ZS4gVGhlIGFwcGxpY2F0aW9uIHN1Y2Nlc3NmdWxseSB1dGlsaXplZCB0aGUgaGFyZHdhcmUgd2l0
aG91dCBldmVyIHBvc3Nlc3NpbmcgcGVybWlzc2lvbnMgdG8gdGhlIFRQTSBkZXZpY2Ugbm9kZS4N
Cg0KMy4gU3VwcG9ydGVkIEludGVyYWN0aW9uIFBhdGhzOiBWYXJsaW5rIGFuZCBPcGVuU1NMIDMu
MCA9PT09PT09PT09PT09PT09PT09PT09PT0gc3lzdGVtZC10cG1kIHByb3ZpZGVzIHR3byByb2J1
c3QgYXZlbnVlcyBmb3IgYXBwbGljYXRpb24gaW50ZWdyYXRpb24sIGVuc3VyaW5nIGJvdGggbGVn
YWN5IGNvbXBhdGliaWxpdHkgYW5kIG1vZGVybiwgbGlnaHR3ZWlnaHQgSVBDLg0KDQozLjEgUGF0
aCBBOiBUaGUgT3BlblNTTCAzLjAgUHJvdmlkZXINCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K
VG8gZ3VhcmFudGVlIGltbWVkaWF0ZSwgc2VhbWxlc3MgaW50ZWdyYXRpb24gZm9yIHRoZSB2YXN0
IG1ham9yaXR5IG9mIHRoZSBMaW51eCBlY29zeXN0ZW0gKGluY2x1ZGluZyB3ZWIgc2VydmVycywg
VlBOIGRhZW1vbnMsIGFuZCBTU0ggYWdlbnRzKSwgc3lzdGVtZC10cG1kIHNoaXBzIHdpdGggYSBk
ZWRpY2F0ZWQgT3BlblNTTCAzLjAgcHJvdmlkZXIgbW9kdWxlLg0KKiBUcmFuc3BhcmVudCBFeGVj
dXRpb246IFdoZW4gY29uZmlndXJlZCBpbiBvcGVuc3NsLmNuZiwgYXBwbGljYXRpb25zIHV0aWxp
emluZyBzdGFuZGFyZCBPcGVuU1NMIEVWUCBBUElzIHdpbGwgaGF2ZSB0aGVpciBjcnlwdG9ncmFw
aGljIG9wZXJhdGlvbnMgdHJhbnNwYXJlbnRseSBpbnRlcmNlcHRlZCBieSB0aGUgcHJvdmlkZXIu
DQoqIFN0YXRlbGVzcyBSb3V0aW5nOiBUaGUgT3BlblNTTCBwcm92aWRlciBhY3RzIGFzIGEgbGln
aHR3ZWlnaHQgY2xpZW50LCBwYWNrYWdpbmcgdGhlIE9wZW5TU0wgbWVtb3J5IGJ1ZmZlcnMgaW50
byBWYXJsaW5rIHBheWxvYWRzIGFuZCByb3V0aW5nIHRoZW0gdG8gdGhlIHN5c3RlbWQtdHBtZCBk
YWVtb24uDQoqIFplcm8tQ29kZSBDaGFuZ2VzOiBFeGlzdGluZyBDL0MrKywgUnVzdCwgYW5kIFB5
dGhvbiBhcHBsaWNhdGlvbnMgcmVseWluZyBvbiBPcGVuU1NMIGNhbiBsZXZlcmFnZSBUUE0gaGFy
ZHdhcmUtYmFja2VkIGtleXMgd2l0aCBtaW5pbWFsIGNoYW5nZXMgdG8gYXBwbGljYXRpb24gY29k
ZS4NCg0KMy4yIFBhdGggQjogTmF0aXZlIFZhcmxpbmsgQVBJIChpby5zeXN0ZW1kLlRwbSkNCi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRm9yIGFwcGxpY2F0aW9ucyBkZXNpcmluZyB0byBjb21t
dW5pY2F0ZSBkaXJlY3RseSB3aXRoIHRoZSBicm9rZXIgd2l0aG91dCBhbiBPcGVuU1NMIGRlcGVu
ZGVuY3kgKHN1Y2ggYXMgZWFybHktYm9vdCB1dGlsaXRpZXMgYW5kIHN5c3RlbWQgbmF0aXZlIHRv
b2xzKSwgc3lzdGVtZC10cG1kIGV4cG9zZXMgYSBWYXJsaW5rIGludGVyZmFjZSB1dGlsaXppbmcg
SlNPTiBvdmVyIEFGX1VOSVggc29ja2V0cy4NCg0KVGhlIG1ldGhvZHMgZXhwb3NlZCB1bmRlciB0
aGUgaW8uc3lzdGVtZC5UcG0gaW50ZXJmYWNlIGluY2x1ZGU6DQoqIEdlbmVyYXRlS2V5OiBHZW5l
cmF0ZXMgYSBuZXcgYXN5bW1ldHJpYyBrZXkgcGFpciBvciBzeW1tZXRyaWMgc2VjcmV0IGJvdW5k
IHRvIHRoZSBUUE0uIE91dHB1dHMgdGhlIGVuY3J5cHRlZCBtYXJzaGFsZWQgc3RydWN0dXJlcyBm
b3IgbG9jYWwgYXBwbGljYXRpb24gc3RvcmFnZS4NCiogU2lnbkRhdGE6IExvYWRzIHRoZSBwcm92
aWRlZCBrZXkgYmxvYnMgaW50byB0aGUgVFBNIHVzaW5nIHRoZSBTUksgYW5kIHNpZ25zIHRoZSBw
cm92aWRlZCBkaWdlc3QuDQoqIFZlcmlmeVNpZ25hdHVyZTogVmVyaWZpZXMgYSBjcnlwdG9ncmFw
aGljIHNpZ25hdHVyZSBhZ2FpbnN0IGEgZ2l2ZW4gZGlnZXN0IHV0aWxpemluZyB0aGUgcHVibGlj
IGJsb2IuDQoqIFNlYWxTZWNyZXQ6IFNlYWxzIGEgcGxhaW50ZXh0IHNlY3JldCBpbnRvIHRoZSBU
UE0sIG9wdGlvbmFsbHkgYmluZGluZyBpdCB0byB0aGUgY3VycmVudCBzdGF0ZSBvZiBzcGVjaWZp
YyBQQ1JzLg0KKiBVbnNlYWxTZWNyZXQ6IFVuc2VhbHMgYSBwcmV2aW91c2x5IHNlYWxlZCBzZWNy
ZXQgZnJvbSB0aGUgVFBNLCByZXR1cm5pbmcgdGhlIHBsYWludGV4dCBvbmx5IGlmIHRoZSBQQ1Ig
c3RhdGVzIG1hdGNoLg0KDQpCZWNhdXNlIHRoZSBBUEkgcmVsaWVzIG9uIFZhcmxpbmssIG5hdGl2
ZSBkZXZlbG9wZXJzIGNhbiB1dGlsaXplIGxpYnN5c3RlbWQncyBzZC12YXJsaW5rLmggdG8gcmVx
dWVzdCBjcnlwdG9ncmFwaGljIG9wZXJhdGlvbnMNCnN5bmNocm9ub3VzbHk6DQoNCiNpbmNsdWRl
IDxzdGRpby5oPg0KI2luY2x1ZGUgPHN5c3RlbWQvc2QtdmFybGluay5oPg0KI2luY2x1ZGUgPHN5
c3RlbWQvc2QtanNvbi5oPg0KDQppbnQgdHBtX3NpZ25fcGF5bG9hZChjb25zdCBjaGFyICpwcml2
X2Jsb2IsIGNvbnN0IGNoYXIgKnB1Yl9ibG9iLCBjb25zdCBjaGFyICpkaWdlc3QpIHsNCiAgICBz
ZF92YXJsaW5rICpsaW5rID0gTlVMTDsNCiAgICBzZF9qc29uX3ZhcmlhbnQgKmFyZ3MgPSBOVUxM
Ow0KICAgIHNkX2pzb25fdmFyaWFudCAqcmVwbHkgPSBOVUxMOw0KICAgIC8qIDEuIENvbm5lY3Qg
dG8gdGhlIHN5c3RlbWQtdHBtZCBWYXJsaW5rIHNvY2tldCAqLw0KICAgIHNkX3ZhcmxpbmtfY29u
bmVjdF91cmwoJmxpbmssICJ1bml4Oi9ydW4vc3lzdGVtZC90cG1kL2lvLnN5c3RlbWQuVHBtIik7
DQogICAgLyogMi4gQnVpbGQgSlNPTiBhcmd1bWVudHMgKi8NCiAgICBzZF9qc29uX2J1aWxkbygm
YXJncywNCiAgICAgICAgU0RfSlNPTl9CVUlMRF9QQUlSKCJwcml2YXRlQmxvYiIsIFNEX0pTT05f
QlVJTERfU1RSSU5HKHByaXZfYmxvYikpLA0KICAgICAgICBTRF9KU09OX0JVSUxEX1BBSVIoInB1
YmxpY0Jsb2IiLCBTRF9KU09OX0JVSUxEX1NUUklORyhwdWJfYmxvYikpLA0KICAgICAgICBTRF9K
U09OX0JVSUxEX1BBSVIoImRpZ2VzdCIsIFNEX0pTT05fQlVJTERfU1RSSU5HKGRpZ2VzdCkpDQog
ICAgKTsNCiAgICAvKiAzLiBFeGVjdXRlIHRoZSBWYXJsaW5rIGNhbGwgc3luY2hyb25vdXNseSAq
Lw0KICAgIHNkX3ZhcmxpbmtfY2FsbChsaW5rLCAiaW8uc3lzdGVtZC5UcG0uU2lnbkRhdGEiLCBh
cmdzLCAmcmVwbHksIE5VTEwpOw0KICAgIC8qIENsZWFudXAgKi8NCiAgICByZXR1cm4gMDsNCn0N
Cg0KNC4gU3lzdGVtIEFkbWluaXN0cmF0aW9uIGFuZCBNYW5hZ2VkIEVudmlyb25tZW50cyA9PT09
PT09PT09PT09PT09PT09PT09PT0NCjQuMSBTdGF0ZSBNYW5hZ2VtZW50IGFuZCBEYWVtb24gUmVj
b3ZlcnkNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KQmVjYXVzZSBzeXN0ZW1kLXRwbWQgYWN0
cyBhcyBhIHN0YXRlZnVsIHVzZXJzcGFjZSBsYXllciBtYW5hZ2luZyBhY3RpdmUgRVNBUEkgZW5j
cnlwdGVkIEhNQUMgc2Vzc2lvbnMgYW5kIGVzY3Jvd2VkIHBhc3N3b3JkcywgYSBkYWVtb24gY3Jh
c2ggbXVzdCBub3QgZGlzcnVwdCBjb250aW51b3VzIHJlbW90ZSBhdHRlc3RhdGlvbiB3b3JrZmxv
d3Mgb3IgdHJpZ2dlciBoYXJkd2FyZSBsb2Nrb3V0cy4gVG8gZGVmZW5kIGFnYWluc3Qgc3RhdGUg
bG9zcywgc3lzdGVtZC10cG1kIHV0aWxpemVzIHRoZSBMaW51eCBLZXJuZWwgS2V5IFJldGVudGlv
biBTZXJ2aWNlLiBVcG9uIHN1Y2Nlc3NmdWwgcHJvdmlzaW9uaW5nLCB0aGUgaGlnaGx5IHNlbnNp
dGl2ZSBPd25lciwgRW5kb3JzZW1lbnQsIGFuZCBMb2Nrb3V0IHBhc3N3b3JkcyBhcmUgc2VjdXJl
bHkgaW5qZWN0ZWQgaW50byB0aGUga2VybmVsIGtleXJpbmcgYW5kIGlzb2xhdGVkIHZpYSBLZXly
aW5nTW9kZT1wcml2YXRlIHdpdGhpbiB0aGUgc3lzdGVtZCBzZXJ2aWNlIHVuaXQuIElmIHRoZSBk
YWVtb24gcmVzdGFydHMsIGl0IHF1ZXJpZXMgdGhlIGtlcm5lbCBrZXlyaW5nIHRvIHNlYW1sZXNz
bHkgdG8gcmUtZXN0YWJsaXNoIGl0cyBhdXRoZW50aWNhdGlvbiBjb250ZXh0cyBhbmQgc2Vzc2lv
biBzdGF0ZXMgd2l0aG91dCByZXF1aXJpbmcgdXNlciBpbnRlcnZlbnRpb24gb3IgY2F1c2luZyBE
QSBsb2Nrb3V0cy4NCg0KNC4yIENvbW1hbmQgTGluZSBJbnRlZ3JhdGlvbiBhbmQgQWNjZXNzIENv
bnRyb2wNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KQWRtaW5pc3RyYXRpb24gaW50ZWdyYXRl
cyBkaXJlY3RseSBpbnRvIHN5c3RlbWN0bCB2aWEgYSBuZXcgdG9wLWxldmVsIHRwbSB2ZXJiOg0K
KiBzeXN0ZW1jdGwgdHBtIHN0YXR1czogUmVwb3J0cyBoYXJkd2FyZSBjYXBhYmlsaXRpZXMgYW5k
IHRoZSBwcmVzZW5jZSBvZiB0aGUgU1JLLg0KKiBzeXN0ZW1jdGwgdHBtIGNsZWFyOiBTZWN1cmVs
eSB3aXBlcyB0aGUgVFBNIGFuZCByb3RhdGVzIHRoZSBsb2NhbGx5IGVzY3Jvd2VkIGhpZXJhcmNo
eSBwYXNzd29yZHMuDQoqIHN5c3RlbWN0bCB0cG0gcmVzZXQtbG9ja291dDogU3VibWl0cyB0aGUg
ZXNjcm93ZWQgT3duZXIgcGFzc3dvcmQgdG8gY2xlYXIgdGhlIERBIGxvY2tvdXQgY291bnRlci4N
Cg0KU3RhdGUtYWx0ZXJpbmcgb3BlcmF0aW9ucyBhcmUgc3RyaWN0bHkgZ292ZXJuZWQgYnkgcG9s
a2l0IChQb2xpY3lLaXQpLg0Kc3lzdGVtZC10cG1kIHdpbGwgcXVlcnkgcG9sa2l0IHRvIGVuc3Vy
ZSB0aGF0IG9ubHkgYXV0aGVudGljYXRlZCBhZG1pbmlzdHJhdG9ycyBvciBlbnRlcnByaXNlIG1h
bmFnZW1lbnQgYWdlbnRzIGNhbiBtdXRhdGUgdGhlIHBoeXNpY2FsIGhhcmR3YXJlJ3Mgb3duZXJz
aGlwIHN0YXRlLiBVbnByaXZpbGVnZWQgdXNlcnMgYXJlIHBoeXNpY2FsbHkgcHJldmVudGVkIGZy
b20gY2xlYXJpbmcgdGhlIFRQTSBvciB0cmlnZ2VyaW5nIGFudGktaGFtbWVyaW5nIGxvY2tvdXRz
Lg0KDQo1LiBTZWN1cml0eSwgU2FuZGJveGluZywgYW5kIFNpbXVsYXRpb24NCj09PT09PT09PT09
PT09PT09PT09PT09PQ0KNS4xIEhhcmRlbmVkIFNlcnZpY2UgQ29uZmluZW1lbnQNCi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQ0Kc3lzdGVtZC10cG1kIGxldmVyYWdlcyBzeXN0ZW1kJ3MgbmF0aXZl
IHNhbmRib3hpbmcgZGlyZWN0aXZlcyB0byBlbmZvcmNlIHRoZSBwcmluY2lwbGUgb2YgbGVhc3Qg
cHJpdmlsZWdlLiBUaGUgdW5pdCBmaWxlDQooc3lzdGVtZC10cG1kLnNlcnZpY2UpIGluY29ycG9y
YXRlczoNCiogRHluYW1pY1VzZXI9eWVzOiBHZW5lcmF0ZXMgYSBkeW5hbWljLCB1bnByaXZpbGVn
ZWQgdXNlciBmb3IgdGhlIGV4ZWN1dGlvbiBjb250ZXh0Lg0KKiBDYXBhYmlsaXR5Qm91bmRpbmdT
ZXQ9OiBEcm9wcyBhbGwgTGludXggY2FwYWJpbGl0aWVzIGV4Y2VwdCB0aG9zZSBzdHJpY3RseSBy
ZXF1aXJlZCBmb3IgaGFyZHdhcmUgY29tbXVuaWNhdGlvbi4NCiogRGV2aWNlQWxsb3c9L2Rldi90
cG1ybTAgcnc6IFN0cmljdGx5IGxpbWl0cyBoYXJkd2FyZSBhY2Nlc3MgdG8gdGhlIGtlcm5lbCBy
ZXNvdXJjZSBtYW5hZ2VyLg0KKiBOb05ld1ByaXZpbGVnZXM9eWVzOiBQcmV2ZW50cyBwcml2aWxl
Z2UgZXNjYWxhdGlvbiB2aWEgZXhlY3ZlLg0KDQo1LjIgU2ltdWxhdG9yIFN1cHBvcnQgYW5kIEZh
bGxiYWNrIFByZXZlbnRpb24NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KVG8gc3VwcG9ydCBy
b2J1c3QgQ0kvQ0QgYW5kIGRldmVsb3BlciB0ZXN0aW5nIHdpdGhvdXQgd2VhcmluZyBvdXQgcGh5
c2ljYWwgTlZSQU0sIHN5c3RlbWQtdHBtZCBuYXRpdmVseSBzdXBwb3J0cyBzb2Z0d2FyZSBlbXVs
YXRvcnMgbGlrZSBzd3RwbS4gVGhyb3VnaCBhIHN5c3RlbWQgZHJvcC1pbiBjb25maWd1cmF0aW9u
IChlLmcuLCB1c2luZyBzeXN0ZW1jdGwgZWRpdCBzeXN0ZW1kLXRwbWQpLCBhIGRldmVsb3BlciBj
YW4gZHluYW1pY2FsbHkgcm91dGUgdGhlIGRhZW1vbidzIHRyYW5zcG9ydCBsYXllciBhd2F5IGZy
b20gL2Rldi90cG1ybTAgdG8gYSBsb2NhbCBzb2Z0d2FyZSBzaW11bGF0b3IuDQpIb3dldmVyLCBm
YWxsaW5nIGJhY2sgdG8gYSBzb2Z0d2FyZSBlbXVsYXRvciBpbiBhIHByb2R1Y3Rpb24gZW52aXJv
bm1lbnQgYnJlYWtzIHRoZSBoYXJkd2FyZSByb290IG9mIHRydXN0Lg0KDQpFbmZvcmNlbWVudCBv
ZiB0aGlzIHN0cmljdCBib3VuZGFyeSByZWxpZXMgb24gc3lzdGVtIGFkbWluaXN0cmF0b3JzIHV0
aWxpemluZyBzeXN0ZW1kJ3MgbmF0aXZlIHVuaXQgZmlsZSBjb25maWd1cmF0aW9ucyBhbmQgdGhl
IHVuZGVybHlpbmcgTGludXgga2VybmVsIHNlY3VyaXR5IG1vZHVsZXMgKGNncm91cHMsIG5hbWVz
cGFjZXMsIGFuZCBNYW5kYXRvcnkgQWNjZXNzIENvbnRyb2xzIGxpa2UgQXBwQXJtb3Igb3IgU0VM
aW51eCkuIEFkbWluaXN0cmF0b3JzIGVuZm9yY2UgdGhlc2UgcHJvdGVjdGlvbnMgYnkgZGVmaW5p
bmcgc2FuZGJveCBkaXJlY3RpdmVzIHdpdGhpbiB0aGUgL2V0Yy9zeXN0ZW1kL3N5c3RlbS9zeXN0
ZW1kLXRwbWQuc2VydmljZSBmaWxlOg0KKiBEZXZpY2UgV2hpdGVsaXN0aW5nIChjZ3JvdXBzKTog
VGhlIHVuaXQgZW5mb3JjZXMNCkRldmljZUFsbG93PS9kZXYvdHBtcm0wIHJ3LiBXaGVuIHN5c3Rl
bWQgbG9hZHMgdGhlIHNlcnZpY2UsIGl0IGNvbmZpZ3VyZXMgdGhlIGtlcm5lbCdzIGNncm91cCBk
ZXZpY2UgY29udHJvbGxlciB0byBleHBsaWNpdGx5IGJsb2NrIGFjY2VzcyB0byBhbnkgb3RoZXIg
ZGV2aWNlLiBUaGlzIGd1YXJhbnRlZXMgdGhlIGRhZW1vbiBpcyBibG9ja2VkIGZyb20gaW50ZXJh
Y3Rpbmcgd2l0aCB2aXJ0dWFsIGNoYXJhY3RlciBkZXZpY2VzIGxpa2UgL2Rldi92dHBteCB1c2Vk
IGJ5IENVU0UtYmFzZWQgZW11bGF0b3JzLg0KKiBOZXR3b3JrIFNhbmRib3hpbmcgKG5hbWVzcGFj
ZXMpOiBCeSBhcHBseWluZyBSZXN0cmljdEFkZHJlc3NGYW1pbGllcz1BRl9VTklYICh3aGljaCBw
ZXJtaXRzIGxvY2FsIFZhcmxpbmsgc29ja2V0cyBidXQgZW50aXJlbHkgZGlzYWJsZXMgVENQL0lQ
IG5ldHdvcmtpbmcgbmFtZXNwYWNlcyksIHN5c3RlbWQgaW5zdHJ1Y3RzIHRoZSBrZXJuZWwgdG8g
cGh5c2ljYWxseSBibG9jayB0aGUgZGFlbW9uIGZyb20gb3BlbmluZyBvdXRib3VuZCBuZXR3b3Jr
IGNvbm5lY3Rpb25zIHRvIGEgcmVtb3RlIG9yIGxvY2FsIHN3dHBtIFRDUCBwb3J0Lg0KDQpCZWNh
dXNlIHRoZXNlIHJ1bGVzIGFyZSBlbmZvcmNlZCBieSBzeXN0ZW1kIChhY3RpbmcgYXMgUElEIDEp
IGFuZCB0aGUgTGludXgga2VybmVsIGl0c2VsZiwgZXZlbiBhIGNvbXByb21pc2VkIHN5c3RlbWQt
dHBtZCBwcm9jZXNzIGNhbm5vdCBieXBhc3MgdGhlbS4gVGhlc2UgcG9saWNpZXMgZ3VhcmFudGVl
IHRoZSBkYWVtb24gd2lsbCBmYXRhbGx5IGVycm9yIG91dCByYXRoZXIgdGhhbiBzaWxlbnRseSBm
YWxsaW5nIGJhY2sgdG8gYSBjb21wcm9taXNlZCBzaW11bGF0b3IgaW4gbGl2ZSBkZXBsb3ltZW50
cy4NCg0KNi4gRnV0dXJlIENhcGFiaWxpdGllcyBhbmQgU29sdmFibGUgUHJvYmxlbXMgPT09PT09
PT09PT09PT09PT09PT09PT09IEJ5IGVzdGFibGlzaGluZyBzeXN0ZW1kLXRwbWQgYXMgYSBwZXJz
aXN0ZW50LCBjZW50cmFsaXplZCByb290IG9mIHRydXN0IGluIHVzZXJzcGFjZSwgc2V2ZXJhbCBs
b25nLXN0YW5kaW5nIGVjb3N5c3RlbSBjaGFsbGVuZ2VzIGJleW9uZCBiYXNpYyBjcnlwdG9ncmFw
aHkgY2FuIGJlIGVsZWdhbnRseSByZXNvbHZlZC4NCg0KNi4xIFNlYW1sZXNzIEZpcm13YXJlIFVw
ZGF0ZXMgKFNvbHZpbmcgdGhlIExVS1MgLyBmd3VwZCBMb2Nrb3V0KQ0KLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tDQpDdXJyZW50bHksIGJpbmRpbmcgTFVLUyBkaXNrIGVuY3J5cHRpb24gdG8gUGxh
dGZvcm0gQ29uZmlndXJhdGlvbiBSZWdpc3RlcnMgY3JlYXRlcyBzZXZlcmUgc3lzdGVtIGZyYWdp
bGl0eS4gV2hlbiBhbiBhZG1pbmlzdHJhdG9yIHVwZGF0ZXMgdGhlIHN5c3RlbSBmaXJtd2FyZSB1
c2luZyBmd3VwZCwgdGhlIFBDUiA3IG1lYXN1cmVtZW50IGNoYW5nZXMsIHdoaWNoIHBlcm1hbmVu
dGx5IGJyZWFrcyB0aGUgTFVLUyB1bmxvY2tpbmcgcG9saWN5IGFuZCBsb2NrcyB0aGUgdXNlciBv
dXQuIHN5c3RlbWQtdHBtZCB3aWxsIHJlc29sdmUgdGhpcyBieSBsZXZlcmFnaW5nIFRQTTJfUG9s
aWN5QXV0aG9yaXplLiBJbnN0ZWFkIG9mIGJpbmRpbmcgZGlzayBlbmNyeXB0aW9uIHRvIHN0YXRp
YyBQQ1IgdmFsdWVzLCB0aGUgZGlzayBpcyBib3VuZCB0byBhIGNyeXB0b2dyYXBoaWMgdGlja2V0
IHNpZ25lZCBieSBzeXN0ZW1kLXRwbWQuIFdoZW4gZnd1cGQgc2NoZWR1bGVzIGFuIHVwZGF0ZSwg
aXQgY2FuIGNvbW11bmljYXRlIGl0cyBpbnRlbnQgdmlhIFZhcmxpbmsuIHN5c3RlbWQtdHBtZCBj
YW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIG5ldyBhdXRob3JpemVkIHBvbGljeSBmb3IgdGhl
IGluY29taW5nIGZpcm13YXJlIHN0YXRlLCBlbnN1cmluZyB0aGUgZGlzayB1bnNlYWxzIHNtb290
aGx5IGFmdGVyIHRoZSByZWJvb3QuDQoNCjYuMiBTdGFuZGFyZGl6aW5nIFRQTS1CYWNrZWQgUGFz
c2tleXMgZm9yIHRoZSBMaW51eCBEZXNrdG9wDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClRo
ZSBMaW51eCBkZXNrdG9wIGN1cnJlbnRseSBsYWNrcyBhIHVuaWZpZWQsIGhhcmR3YXJlLWJhY2tl
ZCBBUEkgZm9yIG1vZGVybiBXZWJBdXRobi9GSURPMiBwYXNza2V5cy4gc3lzdGVtZC10cG1kIGNv
dWxkIHNlcnZlIGFzIHRoZSBmb3VuZGF0aW9uYWwgYmFja2VuZCBmb3IgcHJvamVjdHMgbGlrZSBj
cmVkZW50aWFsc2QuIEJ5IGRlcml2aW5nIGtleXMgZnJvbSB0aGUgVFBNJ3MgcHJpbWFyeSBzZWVk
IGFuZCBlbmNyeXB0aW5nIHRoZSBjcmVkZW50aWFsIGJsb2JzLCBzeXN0ZW1kLXRwbWQgd291bGQg
YWxsb3cgYnJvd3NlcnMgdG8gc3RvcmUgaGlnaGx5IHNlY3VyZSwgcGhpc2hpbmctcmVzaXN0YW50
IHBhc3NrZXlzIHRoYXQgbmV2ZXIgbGVhdmUgdGhlIGhhcmR3YXJlIGluIHBsYWludGV4dC4NCg0K
Ni4zIFN0YWJpbGl6aW5nIENvbnRpbnVvdXMgUmVtb3RlIEF0dGVzdGF0aW9uIGZvciBGbGVldCBN
YW5hZ2VtZW50DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkluIGVudGVycHJpc2UgZGVwbG95
bWVudHMsIGNvbnRpbnVvdXMgcmVtb3RlIGF0dGVzdGF0aW9uIGFnZW50cyAoc3VjaCBhcyBLZXls
aW1lKSBhcmUgdXNlZCB0byBjcnlwdG9ncmFwaGljYWxseSBwcm92ZSB0byBhIGNlbnRyYWwgc2Vy
dmVyIHRoYXQgYSBtYWNoaW5lJ3MgTGludXggSW50ZWdyaXR5IE1lYXN1cmVtZW50IEFyY2hpdGVj
dHVyZSAoSU1BKSBsb2cgaGFzIG5vdCBiZWVuIGNvbXByb21pc2VkLiBIb3dldmVyLCB0aGVzZSBh
Z2VudHMgZnJlcXVlbnRseSBzdWZmZXIgZnJvbSBmYWxzZSBhbGVydHMgYW5kIGFjY2VzcyBjb25m
bGljdHMgd2hlbiBxdWVyeWluZyB0aGUgVFBNIHNpbXVsdGFuZW91c2x5IHdpdGggb3RoZXIgc3lz
dGVtIHVwZGF0ZXMuIEJ5IGFjdGluZyBhcyB0aGUgc29sZSBvcmNoZXN0cmF0b3IsIHN5c3RlbWQt
dHBtZCBjb3VsZCBzYWZlbHkgYnJva2VyIGF0dGVzdGF0aW9uIHF1b3RlcyBhbmQgSU1BIG1lYXN1
cmVtZW50cywgZW5zdXJpbmcgdGhhdCBmbGVldCBtYW5hZ2VtZW50IHRvb2xzIG9wZXJhdGUgcmVs
aWFibHkgd2l0aG91dCByZXNvdXJjZSBjb250ZW50aW9uIG9uIHRoZSAvZGV2L3RwbXJtMCBub2Rl
Lg0KDQo2LjQgU2VjdXJlIFNTSCBLZXkgUHJvdGVjdGlvbg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tDQpTU0ggcHJpdmF0ZSBrZXlzIHN0b3JlZCBpbiBsb2NhbCBmaWxlcyBhcmUgaGlnaGx5IHZ1
bG5lcmFibGUgdG8gdGhlZnQgYnkgbWFsd2FyZS4gV2hpbGUgdGhlIFRQTSBjYW4gbWl0aWdhdGUg
dGhpcyBieSBnZW5lcmF0aW5nIGFuZCBzZWN1cmluZyB0aGUga2V5cyBpbiBoYXJkd2FyZSwgY29u
ZmlndXJpbmcgdGhpcyBjdXJyZW50bHkgcmVxdWlyZXMgZW5kLXVzZXJzIHRvIG1hbmFnZSBjb21w
bGV4IFBLQ1MjMTEgbGlicmFyaWVzIChsaWtlIHRwbTItcGtjczExKSBhbmQgbWFuaXB1bGF0ZSBw
YXRocy4gV2l0aCBzeXN0ZW1kLXRwbWQsIFNTSCBhZ2VudHMgY291bGQgYmUgcmV3cml0dGVuIHRv
IHNpbXBseSBwYXNzIHNpZ25pbmcgcGF5bG9hZHMgdmlhIFZhcmxpbmssIG5hdGl2ZWx5IHByb3Rl
Y3RpbmcgU1NIIGFjY2VzcyBhY3Jvc3MgdGhlIGVudGlyZSBMaW51eCBlY29zeXN0ZW0gd2l0aCB6
ZXJvIGNvbmZpZ3VyYXRpb24gcmVxdWlyZWQgZnJvbSB0aGUgdXNlci4gQWx0ZXJuYXRpdmVseSwg
dGhleSBjYW4gbGV2ZXJhZ2UgdGhlIE9wZW5TU0wgMy4wIHByb3ZpZGVyIG5hdGl2ZWx5Lg0KDQo2
LjUgQ29uZmlkZW50aWFsIENvbXB1dGluZyBhbmQgdlRQTSBTdGF0ZSBNYW5hZ2VtZW50DQotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0NCkluIGNsb3VkIGVudmlyb25tZW50cyBsZXZlcmFnaW5nIEFN
RCBTRVYtU05QIG9yIEludGVsIFREWCBmb3IgQ29uZmlkZW50aWFsIENvbXB1dGluZywgdmlydHVh
bCBUUE1zICh2VFBNcykgYXJlIGluamVjdGVkIGludG8gdGhlIGd1ZXN0IHRvIHByb3ZpZGUgbWVh
c3VyZWQgYm9vdCBndWFyYW50ZWVzLiBzeXN0ZW1kLXRwbWQgY2FuIGVhc2lseSBzdGFuZGFyZGl6
ZSB0aGUgbWFuYWdlbWVudCBvZiB0aGVzZSB2aXJ0dWFsIFRQTXMgZnJvbSBpbnNpZGUgdGhlIGd1
ZXN0IE9TLiBCZWNhdXNlIHRoZSBkYWVtb24gYWJzdHJhY3RzIHRoZSB1bmRlcmx5aW5nIGhhcmR3
YXJlLCBpdCBjYW4gaW50ZXJmYWNlIHdpdGggYSBjbG91ZCBwcm92aWRlcidzIHZUUE0gZXhhY3Rs
eSBhcyBpdCB3b3VsZCBhIHBoeXNpY2FsIGNoaXAsIGF1dG9tYXRpY2FsbHkgcHJvdmlzaW9uaW5n
IGl0IGFuZCBzaW1wbGlmeWluZyB0aGUgZGVwbG95bWVudCBvZiBDb25maWRlbnRpYWwgVmlydHVh
bCBNYWNoaW5lcyAoQ1ZNcykgd2l0aG91dCByZXF1aXJpbmcgY2xvdWQtc3BlY2lmaWMgdXNlciBz
cGFjZSB0b29saW5nLg0KDQpUaGFua3MgZm9yIHlvdXIgdGltZSBhbmQgZWZmb3J0cyByZWFkaW5n
IGludG8gdGhpZSBwcm9wb3NhbC4gQW55IHRob3VnaHRzLCBjcml0aXF1ZXMsIG9yIGFyY2hpdGVj
dHVyYWwgZmVlZGJhY2sgYXJlIGhpZ2hseSBhcHByZWNpYXRlZC4NCg0KQmVzdCBSZWdhcmRzLA0K
QWtzaGF5IEhlbmRyZQ0KDQo=