This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

ada/9596: Internal compiler error during gtkada compilation


>Number:         9596
>Category:       ada
>Synopsis:       Internal compiler error during gtkada compilation
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Feb 06 13:46:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     xavier grave
>Release:        gcc version 3.2.2 20030131 (Debian prerelease)
>Organization:
>Environment:
Linux ipnnarval 2.4.20-rc3-ben0 #1 SMP lun nov 25 16:04:34 CET 2002 ppc unknown unknown GNU/Linux
>Description:

>How-To-Repeat:
gcc-3.2 -c -I. -O2 -gnatn -gnatwuwl -fPIC -I- gtk-extra-plot_data.adb
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="all_ada_files"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="all_ada_files"

LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLS0gICAgICAgICAgICAgICBHdGtBZGEgLSBBZGE5NSBiaW5kaW5nIGZv
ciBHdGsrL0dub21lICAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICBDb3B5cmln
aHQgKEMpIDE5OTgtMjAwMCBFLiBCcmlvdCwgSi4gQnJvYmVja2VyIGFuZCBBLiBDaGFybGV0ICAg
LS0KLS0gICAgICAgICAgICAgICAgQ29weXJpZ2h0IChDKSAyMDAwLTIwMDEgQUNULUV1cm9wZSAg
ICAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciAgICAgLS0KLS0gbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljICAgICAgICAgICAg
ICAgLS0KLS0gTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyICAgICAgLS0KLS0gdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiAgLS0KLS0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsICAgLS0KLS0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YgICAgLS0KLS0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgLS0KLS0gR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLiAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLS0KLS0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IEdlbmVyYWwgUHVibGljICAgICAgICAgLS0KLS0gTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgICAgICAgICAgICAgLS0KLS0gRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsICAgICAgLS0K
LS0gQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiwg
aWYgb3RoZXIgZmlsZXMgaW5zdGFudGlhdGUgZ2VuZXJpY3MgZnJvbSAgLS0KLS0gdGhpcyB1bml0
LCBvciB5b3UgbGluayB0aGlzIHVuaXQgd2l0aCBvdGhlciBmaWxlcyB0byBwcm9kdWNlIGFuICAg
LS0KLS0gZXhlY3V0YWJsZSwgdGhpcyAgdW5pdCAgZG9lcyBub3QgIGJ5IGl0c2VsZiBjYXVzZSAg
dGhlIHJlc3VsdGluZyAgLS0KLS0gZXhlY3V0YWJsZSB0byBiZSBjb3ZlcmVkIGJ5IHRoZSBHTlUg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gVGhpcyAgLS0KLS0gZXhjZXB0aW9uIGRvZXMgbm90IGhv
d2V2ZXIgaW52YWxpZGF0ZSBhbnkgb3RoZXIgcmVhc29ucyB3aHkgdGhlICAgLS0KLS0gZXhlY3V0
YWJsZSBmaWxlICBtaWdodCBiZSBjb3ZlcmVkIGJ5IHRoZSAgR05VIFB1YmxpYyBMaWNlbnNlLiAg
ICAgLS0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0tICA8ZGVzY3JpcHRpb24+Ci0tCi0tICBQaXhtYXBzIGFy
ZSBvZmYtc2NyZWVuIGRyYXdhYmxlcy4gVGhleSBjYW4gYmUgZHJhd24gdXBvbiB3aXRoIHRoZSBz
dGFuZGFyZAotLSAgZHJhd2luZyBwcmltaXRpdmVzLCB0aGVuIGNvcGllZCB0byBhbm90aGVyIGRy
YXdhYmxlIChzdWNoIGFzIGEgR2RrX1dpbmRvdykKLS0gIHdpdGggR2RrLlBpeG1hcC5EcmF3LiBU
aGUgZGVwdGggb2YgYSBwaXhtYXAgaXMgdGhlIG51bWJlciBvZiBiaXRzIHBlcgotLSAgcGl4ZWxz
LiBCaXRtYXBzIGFyZSBzaW1wbHkgcGl4bWFwcyB3aXRoIGEgZGVwdGggb2YgMS4gKFRoYXQgaXMs
IHRoZXkgYXJlCi0tICBtb25vY2hyb21lIGJpdG1hcHMgLSBlYWNoIHBpeGVsIGNhbiBiZSBlaXRo
ZXIgb24gb3Igb2ZmKS4KLS0gIEBweHJlZntQYWNrYWdlX0dkay5QaXhtYXB9IGZvciBtb3JlIGRl
dGFpbHMgb24gcGl4bWFwIGhhbmRsaW5nLgotLQotLSAgPC9kZXNjcmlwdGlvbj4KLS0gIDxjX3Zl
cnNpb24+MS4yLjc8L2NfdmVyc2lvbj4KCndpdGggR2xpYjsgdXNlIEdsaWI7Cgp3aXRoIEdkay5X
aW5kb3c7CgpwYWNrYWdlIEdkay5CaXRtYXAgaXMKCiAgIHN1YnR5cGUgR2RrX0JpdG1hcCBpcyBH
ZGsuR2RrX0JpdG1hcDsKICAgLS0gIEEgYmxhY2sgYW5kIHdoaXRlIGltYWdlLgogICAtLSAgVGhp
cyB0eXBlIGlzIG1haW5seSB1c2VkIGFzIGEgbWFzayB3aGVuIGRyYXdpbmcgb3RoZXIgY29sb3Jl
ZCBpbWFnZXMuCiAgIC0tICBFYWNoIHBpeGVsIGNhbiBoYXZlIHR3byB2YWx1ZXMsIDAgb3IgMS4K
CiAgIE51bGxfQml0bWFwIDogY29uc3RhbnQgR2RrX0JpdG1hcDsKCiAgIHByb2NlZHVyZSBHZGtf
TmV3IChCaXRtYXAgOiBvdXQgR2RrX0JpdG1hcDsKICAgICAgICAgICAgICAgICAgICAgIFdpbmRv
dyA6IGluICBHZGsuV2luZG93Lkdka19XaW5kb3c7CiAgICAgICAgICAgICAgICAgICAgICBXaWR0
aCAgOiBpbiAgR2ludDsKICAgICAgICAgICAgICAgICAgICAgIEhlaWdodCA6IGluICBHaW50KTsK
ICAgLS0gIENyZWF0ZSBhIG5ldyBiaXRtYXAgd2l0aCBhIGdpdmVuIHNpemUuCiAgIC0tICBXaW5k
b3cgaXMgdXNlZCB0byBkZXRlcm1pbmUgZGVmYXVsdCB2YWx1ZXMgZm9yIHRoZSBuZXcgYml0bWFw
LgogICAtLSAgQ2FuIGJlIGV2ZW50dWFsbHkgbnVsbCBpbiB3aGljaCBjYXNlIHRoZSByb290IHdp
bmRvdyBpcyB1c2VkLgogICAtLSAgV2lkdGggaXMgdGhlIHdpZHRoIG9mIHRoZSBuZXcgYml0bWFw
IGluIHBpeGVscy4KICAgLS0gIEhlaWdodCBpcyB0aGUgaGVpZ2h0IG9mIHRoZSBuZXcgYml0bWFw
IGluIHBpeGVscy4KCiAgIHByb2NlZHVyZSBSZWYgKEJpdG1hcCA6IGluIEdka19CaXRtYXApOwog
ICAtLSAgQWRkIGEgcmVmZXJlbmNlIHRvIGEgYml0bWFwLgoKICAgcHJvY2VkdXJlIFVucmVmIChC
aXRtYXAgOiBpbiBHZGtfQml0bWFwKTsKICAgLS0gIFRoaXMgaXMgdGhlIHVzdWFsIHdheSB0byBk
ZXN0cm95IGEgYml0bWFwLiBUaGUgbWVtb3J5IGlzIGZyZWVkIHdoZW4KICAgLS0gIHRoZXJlIGlz
IG5vIG1vcmUgcmVmZXJlbmNlCgogICBwcm9jZWR1cmUgQ3JlYXRlX0Zyb21fRGF0YSAoQml0bWFw
IDogICAgb3V0IEdka19CaXRtYXA7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaW5k
b3cgOiBpbiAgICAgR2RrLldpbmRvdy5HZGtfV2luZG93OwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgRGF0YSAgIDogaW4gICAgIFN0cmluZzsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFdpZHRoICA6IGluICAgICBHaW50OwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgSGVpZ2h0IDogaW4gICAgIEdpbnQpOwogICAtLSAgQ3JlYXRlIGEgYml0bWFwIGZyb20gZGF0
YSBpbiBYQk0gZm9ybWF0LgogICAtLSAgV2luZG93IGlzIHVzZWQgdG8gZGV0ZXJtaW5lIGRlZmF1
bHQgdmFsdWVzIGZvciB0aGUgbmV3IGJpdG1hcCwgY2FuIGJlCiAgIC0tICBudWxsIGluIHdoaWNo
IGNhc2UgdGhlIHJvb3Qgd2luZG93IGlzIHVzZWQuCiAgIC0tICBEYXRhIGlzIHRoZSBYQk0gZGF0
YS4KICAgLS0gIFdpZHRoIGlzIHRoZSB3aWR0aCBvZiB0aGUgbmV3IGJpdG1hcCBpbiBwaXhlbHMu
CiAgIC0tICBIZWlnaHQgaXMgdGhlIGhlaWdodCBvZiB0aGUgbmV3IGJpdG1hcCBpbiBwaXhlbHMu
Cgpwcml2YXRlCiAgIE51bGxfQml0bWFwIDogY29uc3RhbnQgR2RrX0JpdG1hcCA6PSBudWxsOwog
ICBwcmFnbWEgSW1wb3J0IChDLCBSZWYsICJnZGtfYml0bWFwX3JlZiIpOwogICBwcmFnbWEgSW1w
b3J0IChDLCBVbnJlZiwgImdka19iaXRtYXBfdW5yZWYiKTsKZW5kIEdkay5CaXRtYXA7Ci0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCi0tICAgICAgICAgIEd0a0FkYSAtIEFkYTk1IGJpbmRpbmcgZm9yIHRoZSBHaW1w
IFRvb2xraXQgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAg
ICAgICAgQ29weXJpZ2h0IChDKSAxOTk4LTIwMDAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0t
ICAgICAgICBFbW1hbnVlbCBCcmlvdCwgSm9lbCBCcm9iZWNrZXIgYW5kIEFybmF1ZCBDaGFybGV0
ICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgICAgIC0tCi0tIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyAgICAgICAgICAgICAgIC0t
Ci0tIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlciAgICAgIC0tCi0tIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4gIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCAg
IC0tCi0tIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mICAgIC0tCi0tIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIC0tCi0tIEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4gICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC0tCi0tIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5l
cmFsIFB1YmxpYyAgICAgICAgIC0tCi0tIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IGlmIG5vdCwgd3JpdGUgdG8gdGhlICAgICAgICAgICAgIC0tCi0tIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCAgICAgIC0tCi0tIEJv
c3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIEFzIGEgc3BlY2lhbCBleGNlcHRpb24sIGlmIG90
aGVyIGZpbGVzIGluc3RhbnRpYXRlIGdlbmVyaWNzIGZyb20gIC0tCi0tIHRoaXMgdW5pdCwgb3Ig
eW91IGxpbmsgdGhpcyB1bml0IHdpdGggb3RoZXIgZmlsZXMgdG8gcHJvZHVjZSBhbiAgIC0tCi0t
IGV4ZWN1dGFibGUsIHRoaXMgIHVuaXQgIGRvZXMgbm90ICBieSBpdHNlbGYgY2F1c2UgIHRoZSBy
ZXN1bHRpbmcgIC0tCi0tIGV4ZWN1dGFibGUgdG8gYmUgY292ZXJlZCBieSB0aGUgR05VIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UuIFRoaXMgIC0tCi0tIGV4Y2VwdGlvbiBkb2VzIG5vdCBob3dldmVy
IGludmFsaWRhdGUgYW55IG90aGVyIHJlYXNvbnMgd2h5IHRoZSAgIC0tCi0tIGV4ZWN1dGFibGUg
ZmlsZSAgbWlnaHQgYmUgY292ZXJlZCBieSB0aGUgIEdOVSBQdWJsaWMgTGljZW5zZS4gICAgIC0t
Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCgotLSAgPGRlc2NyaXB0aW9uPgotLQotLSAgVGhpcyBwYWNrYWdlIHBy
b3ZpZGVzIGFuIGludGVyZmFjZSB0byB0aGUgY29sb3IgaGFuZGxpbmcgZmFjaWxpdGllcyBpbgot
LSAgZ3RrKy4gSXQgaXMgYWJsZSB0byBoYW5kbGUgYW55IGtpbmQgb2YgdmlzdWFsIChtb25vY2hy
b21lLCBncmV5c2NhbGUsCi0tICBjb2xvciB3aXRoIGRpZmZlcmVudCBkZXB0aHMsIC4uLiksIGJ1
dCBwcm92aWRlcyBhIGNvbW1vbiBhbmQgZWFzeQotLSAgaW50ZXJmYWNlIGZvciBhbGwgb2YgdGhl
bS4KLS0gIFNvbWUgb2YgdGhlc2UgZnVuY3Rpb25zIGV4cGVjdCBhIENvbG9ybWFwLiBUaGVyZSBh
cmUgdHdvIHdheXMgeW91IGNhbgotLSAgZ2V0IHN1Y2ggYSBjb2xvcm1hcCwgZWl0aGVyIGEgc3lz
dGVtIGRlZmF1bHQgY29sb3JtYXAgb3IgYSBwZXItd2lkZ2V0Ci0tICBjb2xvcm1hcC4gSXQgaXMg
cmVjb21tZW5kZWQsIHVubGVzcyB5b3UgYXJlIHdyaXRpbmcgeW91ciBvd24gbmV3IHdpZGdldCwK
LS0gIHRvIGFsd2F5cyB1c2UgdGhlIHN5c3RlbSBkZWZhdWx0IENvbG9ybWFwLiBBbGwgdGhlIGZ1
bmN0aW9ucyB0byBnZXQKLS0gIHRoZXNlIGNvbG9ybWFwcyBhcmUgZm91bmQgaW4gR3RrLldpZGdl
dC4KLS0KLS0gIEdldHRpbmcgdGhlIFJlZC9HcmVlbi9CbHVlIGNvbXBvbmVudHMgY2FuIGJlIGRv
bmUgdGhyb3VnaCBQYXJzZSwgYW5kIGlzCi0tICBhY3R1YWxseSByZWNvbW1lbmRlZCwgc2luY2Ug
dGhlIGV4YWN0IGNvbG9yIGdlbmVyYWxseSBkZXBlbmRzIG9uIHRoZQotLSAgdmlzdWFsIHlvdXIg
YXBwbGljYXRpb24gaXMgcnVubmluZyBvbi4KLS0KLS0gIDwvZGVzY3JpcHRpb24+Ci0tICA8Y192
ZXJzaW9uPjEuMi42PC9jX3ZlcnNpb24+Cgp3aXRoIEdsaWI7IHVzZSBHbGliOwp3aXRoIEdkay5W
aXN1YWw7CgpwYWNrYWdlIEdkay5Db2xvciBpcwoKICAgdHlwZSBHZGtfQ29sb3IgaXMgcHJpdmF0
ZTsKICAgLS0gIEEgY29sb3IgdG8gYmUgZGlzcGxheWVkIG9uIHRoZSBzY3JlZW4uCiAgIC0tICBD
dXJyZW50bHksIEd0a0FkYSBvbmx5IHN1cHBvcnRzIHRoZSBSR0Igc3RhbmRhcmQsIGllIGVhY2gg
Y29sb3IgaXMKICAgLS0gIHNldCBieSBpdHMgcmVkLCBncmVlbiBhbmQgYmx1ZSBjb21wb25lbnRz
LgogICAtLSAgQW4gZXh0cmEgZmllbGQgKFBpeGVsKSBpcyB0aGUgaW50ZXJuYWwgcmVwcmVzZW50
YXRpb24gb2YgdGhlIGNvbG9yLAogICAtLSAgd2hpY2ggaXMgc2V0IG9uY2UgdGhlIGNvbG9yIGhh
cyBiZWVuIGFsbG9jYXRlZC4KCiAgIHR5cGUgR2RrX0NvbG9yX0FycmF5IGlzIGFycmF5IChOYXR1
cmFsIHJhbmdlIDw+KSBvZiBHZGtfQ29sb3I7CiAgIC0tICBBbiBhcnJheSBvZiBjb2xvcnMuCgog
ICBOdWxsX0NvbG9yIDogY29uc3RhbnQgR2RrX0NvbG9yOwogICAtLSAgTm8gY29sb3IuIEZvciBt
b3N0IGZ1bmN0aW9ucywgdGhpcyB3aWxsIHNlbGVjdCB0aGUgZGVmYXVsdCBjb2xvciBpbiB0aGUK
ICAgLS0gIGNvbnRleHQsIGFsdGhvdWdoIHRoaXMgZXhhY3Qgc3BlY2lmaWNhdGlvbiBkZXBlbmRz
IG9uIHRoZSBmdW5jdGlvbiB5b3UKICAgLS0gIHdhbnQgdG8gdXNlLgoKICAgdHlwZSBHZGtfQ29s
b3JtYXAgaXMgbmV3IENfUHJveHk7CiAgIC0tICBUaGUgc2V0IG9mIGNvbG9ycyB0aGUgY2FuIGJl
IGRpc3BsYXllZCBvbiB0aGUgc2NyZWVuLgogICAtLSAgV2hlbiB0aGUgc2NyZWVuIGlzIG5vdCBh
IHRydWUtY29sb3Igc2NyZWVuIChpZSB0aGVyZSBpcyBvbmx5IGEgbGltaXRlZAogICAtLSAgbnVt
YmVyIG9mIHBvc3NpYmxlIGNvbG9ycywgbGlrZSAyNTYpLCB0aGUgY29sb3JzIGFyZSBpbiBmYWN0
IGluZGV4ZXMKICAgLS0gIGludG8gYSBjb2xvcm1hcCwgd2hpY2ggZ2l2ZXMgdGhlIGNvbXBvbmVu
dHMgb2YgdGhlIGNvbG9yLgogICAtLSAgVGhpcyBpcyB0aGUgc2FtZSBjb25jZXB0IGFzIGEgcGFs
ZXR0ZS4KCiAgIE51bGxfQ29sb3JtYXAgOiBjb25zdGFudCBHZGtfQ29sb3JtYXA7CgogICBXcm9u
Z19Db2xvciA6IGV4Y2VwdGlvbjsKICAgLS0gIEV4Y2VwdGlvbiByYWlzZWQgd2hlbiBzb21lIGZ1
bmN0aW9ucyBiZWxvdyBjb3VsZCBub3QgZmluZCBvciBhbGxvY2F0ZQogICAtLSAgYSBjb2xvciBv
biB0aGUgdXNlcidzIHN5c3RlbS4KCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQogICAtLSBDcmVhdGluZyBhbmQgRGVzdHJveWluZyBjb2xvcnMgLS0KICAgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICBmdW5jdGlvbiBQYXJzZSAoU3BlYyA6IGlu
IFN0cmluZykgcmV0dXJuIEdka19Db2xvcjsKICAgLS0gIFBhcnNlIHRoZSBzdHJpbmcgU3BlYywg
YW5kIGdldCBpdHMgUmVkL0dyZWVuL0JsdWUgY29tcG9uZW50cy4KICAgLS0gIFRoZSBjb2xvciBp
cyBub3QgYWxsb2NhdGVkLCBhbmQgeW91IG5lZWQgdG8gY2FsbCBBbGxvY19Db2xvci4KICAgLS0g
IElmIHRoZSBzdHJpbmcgY291bGQgbm90IGJlIHBhcnNlZCB0byBhbiBleGlzdGluZyBjb2xvciwg
V3JvbmdfQ29sb3IgaXMKICAgLS0gIHJhaXNlZC4KICAgLS0gIFRoZSBzdHJpbmcgY2FuIGJlIG9u
ZSBvZiA6CiAgIC0tCiAgIC0tICAtICJSQkc6RkYvRkYvRkYiIHdoZXJlIHRoZSAiRkYiIHN1YnN0
cmluZ3MgYXJlIHJlc3BlY3RpdmVseSB0aGUgdmFsdWUKICAgLS0gICAgb2YgdGhlIHJlZCwgZ3Jl
ZW4gYW5kIGJsdWUgY29tcG9uZW50cy4gU29tZSBvdGhlciBwcmVmaXhlcyB0aGFuIFJHQgogICAt
LSAgICBhcmUgZGVmaW5lZCBpbiB0aGUgWDExIGRlZmluaXRpb24sIHBsZWFzZSBzZWUgc29tZSBY
MTEgZG9jdW1lbnRhdGlvbgogICAtLSAgICAob3IgdGhlIG1hbiBwYWdlIFhQYXJzZUNvbG9yIG9u
IHVuaXggc3lzdGVtcykuCiAgIC0tCiAgIC0tICAtICJjb2xvcl9uYW1lIiB3aGljaCBjYW4gYmUg
YW55IGNvbG9yIG5hbWUgZGVmaW5lZCBpbiB0aGUgZmlsZSByZ2IudHh0CiAgIC0tICAgIG9mIHRo
ZSB1c2VyJ3Mgc3lzdGVtLiBZb3Ugc2hvdWxkIGFsd2F5cyBjaGVjayB0aGF0IFdyb25nX0NvbG9y
IHdhcyBub3QKICAgLS0gICAgcmFpc2VkLCBpbiBjYXNlIHRoZSBjb2xvciB3YXMgbm90IGtub3du
IG9uIHRoZSB1c2VyJ3Mgc3lzdGVtLiBUaGlzCiAgIC0tICAgIHN0cmluZyBpcyBjYXNlIGluc2Vu
c2l0aXZlLgoKICAgcHJvY2VkdXJlIEFsbG9jX0NvbG9yIChDb2xvcm1hcCAgIDogaW4gICAgIEdk
a19Db2xvcm1hcDsKICAgICAgICAgICAgICAgICAgICAgICAgICBDb2xvciAgICAgIDogaW4gb3V0
IEdka19Db2xvcjsKICAgICAgICAgICAgICAgICAgICAgICAgICBXcml0ZWFibGUgIDogaW4gICAg
IEJvb2xlYW4gOj0gRmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgQmVzdF9NYXRjaCA6
IGluICAgICBCb29sZWFuIDo9IFRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgU3VjY2Vz
cyAgICA6ICAgIG91dCBCb29sZWFuKTsKICAgLS0gIEFsbG9jYXRlIGEgbmV3IGNvbG9yLgogICAt
LSAgVGhlIGZpZWxkcyBSR0Igc2hvdWxkIGhhdmUgYmVlbiBzZXQgYmVmb3JlIGNhbGxpbmcgdGhp
cyBmdW5jdGlvbi4KICAgLS0gIElmIFdyaXRlYWJsZSBpcyBUcnVlLCB0aGUgY29sb3Igd2lsbCBi
ZSBhbGxvY2F0ZWQgcmVhZC93cml0ZSwgdGhhdCBjYW4KICAgLS0gIGJlIGNoYW5nZWQgYXQgYW55
IHRpbWUuIE5vdCBhbGwgdmlzdWFscyBzdXBwb3J0IHRoaXMuIE9uIG1vZGVybiBzeXN0ZW1zCiAg
IC0tICB0aGlzIHVzYWdlIGhhcyBiZWNvbWUgbGVzcyB1c2VmdWwgdGhhbiBiZWZvcmUsIHNpbmNl
IHJlZHJhd2luZyB0aGUKICAgLS0gIHNjcmVlbiB3aXRoIGEgbmV3IGNvbG9yIGlzIGFib3V0IGFz
IGZhc3QuCiAgIC0tICBJZiBCZXN0X01hdGNoIGlzIFRydWUsIGFuZCB0aGUgZXhhY3QgY29sb3Ig
Y2FuIG5vdCBiZSBhbGxvY2F0ZWQsIEd0a0FkYQogICAtLSAgd2lsbCBmaW5kIHRoZSBjbG9zZXN0
IHBvc3NpYmxlIG1hdGNoLCBhbmQgbW9kaWZ5IHRoZSBmaWVsZHMgUmVkLCBHcmVlbgogICAtLSAg
YW5kIEJsdWUgb2YgQ29sb3IuCiAgIC0tICBOb3RlIHRoYXQgdGhlIGFsbG9jYXRpb24gaGFzIG1v
cmUgY2hhbmNlcyB0byBzdWNjZWVkIGlmIFdyaXRlYWJsZSBpcwogICAtLSAgRmFsc2UgYW5kIEJl
c3RfTWF0Y2ggaXMgVHJ1ZS4KICAgLS0gIFdoZW4geW91IG5vIGxvbmdlciB1c2UgYSBjb2xvciwg
eW91IHNob3VsZCBjYWxsIEZyZWUuCgogICBwcm9jZWR1cmUgQWxsb2NfQ29sb3JzIChDb2xvcm1h
cCAgIDogaW4gICAgIEdka19Db2xvcm1hcDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29s
b3JzICAgICA6IGluIG91dCBHZGtfQ29sb3JfQXJyYXk7CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFdyaXRlYWJsZSAgOiBpbiAgICAgQm9vbGVhbiA6PSBGYWxzZTsKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgQmVzdF9NYXRjaCA6IGluICAgICBCb29sZWFuIDo9IFRydWU7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFN1Y2Nlc3MgICAgOiAgICBvdXQgQm9vbGVhbl9BcnJheTsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgUmVzdWx0ICAgICA6ICAgIG91dCBHaW50KTsKICAgLS0g
IEFsbG9jYXRlIGEgc2V0IG9mIGNvbG9ycy4KICAgLS0gIFRoZSBwYXJhbWV0ZXJzIGFyZSB0aGUg
c2FtZSBhcyBmb3IgQWxsb2NfQ29sb3IKICAgLS0gIFJlc3VsdCBpcyB0aGUgbnVtYmVyIG9mIGNv
bG9ycyBub3Qgc3VjY2Vzc2Z1bGx5IGFsbG9jYXRlZC4KICAgLS0KICAgLS0gIFRoZSBzaXplIG9m
IHRoZSBCb29sZWFuX0FycmF5IGlzIGVxdWFsIHRvIHRoZSBsZW5ndGggb2YgdGhlCiAgIC0tICBD
b2xvcnNfQXJyYXkuIFVzYWdlIG9mIGFuIGFycmF5IG9mIGEgZGlmZmVyZW50IHNpemUgd2lsbAog
ICAtLSAgcHJvYmFibHkgbGVhZCB0byBhIENvbnN0cmFpbnRfRXJyb3IuCgogICBwcm9jZWR1cmUg
QWxsb2MgKENvbG9ybWFwICA6IGluIEdka19Db2xvcm1hcDsKICAgICAgICAgICAgICAgICAgICBD
b2xvciAgICAgOiBpbiBvdXQgR2RrX0NvbG9yKTsKICAgLS0gIFNhbWUgZnVuY3Rpb24gYXMgQWxs
b2NfQ29sb3JzIGFib3ZlLCBidXQgZm9yIGEgc2luZ2xlIGNvbG9yLgogICAtLSAgVGhlIGNvbG9y
IGlzIGFsbG9jYXRlZCBub24td3JpdGVhYmxlLCBhbmQgdGhlIGJlc3QtbWF0Y2ggaXMgdGFrZW4u
CiAgIC0tICBSYWlzZXMgV3JvbmdfQ29sb3IgaWYgdGhlIGNvbG9yIGNvdWxkIG5vdCBiZSBhbGxv
Y2F0ZWQKCiAgIGZ1bmN0aW9uIFdoaXRlIChDb2xvcm1hcCAgOiBpbiBHZGtfQ29sb3JtYXApIHJl
dHVybiBHZGtfQ29sb3I7CiAgIC0tICBSZXR1cm4gdGhlIGRlZmF1bHQgd2hpdGUgY29sb3IgZm9y
IHRoZSBjb2xvcm1hcC4KICAgLS0gIElmIHRoaXMgY29sb3Igd2FzIG5vdCBmb3VuZCBvciBjb3Vs
ZCBub3QgYmUgYWxsb2NhdGVkLCBXcm9uZ19Db2xvciBpcwogICAtLSAgcmFpc2VkLgoKICAgZnVu
Y3Rpb24gQmxhY2sgKENvbG9ybWFwICA6IGluIEdka19Db2xvcm1hcCkgcmV0dXJuIEdka19Db2xv
cjsKICAgLS0gIFJldHVybiB0aGUgZGVmYXVsdCBibGFjayBjb2xvcnMgZm9yIHRoZSBjb2xvcm1h
cC4KICAgLS0gIElmIHRoaXMgY29sb3IgaXMgbm90IGZvdW5kIG9yIGNvdWxkIG5vdCBiZSBhbGxv
Y2F0ZWQsIFdyb25nX0NvbG9yIGlzCiAgIC0tICByYWlzZWQuCgogICBmdW5jdGlvbiBHZXRfU3lz
dGVtIHJldHVybiBHZGtfQ29sb3JtYXA7CiAgIC0tICBHZXQgdGhlIGRlZmF1bHQgY29sb3JtYXAg
Zm9yIHRoZSBzeXN0ZW0uCiAgIC0tICBUaGlzIGlzIHRoZSBzYW1lIGZ1bmN0aW9uIGFzIEd0ay5X
aWRnZXQuR2V0X0RlZmF1bHRfQ29sb3JtYXAuCgogICBwcm9jZWR1cmUgR2V0X1Zpc3VhbCAoQ29s
b3JtYXAgOiBpbiAgICAgR2RrX0NvbG9ybWFwOwogICAgICAgICAgICAgICAgICAgICAgICAgVmlz
dWFsICAgOiAgICBvdXQgR2RrLlZpc3VhbC5HZGtfVmlzdWFsKTsKICAgLS0gIEdldCB0aGUgdmlz
dWFsIGFzc29jaWF0ZWQgd2l0aCBhIGNvbG9ybWFwLgogICAtLSAgVGhlIG1haW4gaW5mb3JtYXRp
b24geW91IGNhbiBnZXQgZnJvbSB0aGVyZSBpcyB0aGUgZGVwdGggb2YgdGhlIGRpc3BsYXkuCgog
ICBwcm9jZWR1cmUgR2RrX05ldyAoQ29sb3JtYXAgICAgIDogICAgb3V0IEdka19Db2xvcm1hcDsK
ICAgICAgICAgICAgICAgICAgICAgIFZpc3VhbCAgICAgICA6IGluICAgICBHZGsuVmlzdWFsLkdk
a19WaXN1YWw7CiAgICAgICAgICAgICAgICAgICAgICBQcml2YXRlX0NtYXAgOiBpbiAgICAgQm9v
bGVhbik7CiAgIC0tICBDcmVhdGUgYSBuZXcgY29sb3JtYXAgZm9yIHRoZSB2aXN1YWwuCiAgIC0t
ICBJZiBQcml2YXRlX0NtYXAgaXMgdHJ1ZSwgdGhlbiB0aGUKICAgLS0gIGNvbG9ybWFwIHdvbid0
IGJlIG1vZGlmaWFibGUgb3V0c2lkZSB0aGlzIHNjb3BlLiBUaGlzIG1pZ2h0IHJlc3VsdCBpbgog
ICAtLSAgc29tZSBzdHJhbmdlIGNvbG9ycyBvbiB0aGUgZGlzcGxheS4uLgoKICAgcHJvY2VkdXJl
IFVucmVmIChDb2xvcm1hcCA6IGluIEdka19Db2xvcm1hcCk7CiAgIC0tICBVbnJlZiBpcyB0aGUg
b25seSB3YXkgdG8gZGVzdHJveSBhIGNvbG9ybWFwIG9uY2UgeW91IG5vIGxvbmdlciBuZWVkIGl0
LgogICAtLSAgTm90ZSB0aGF0IGJlY2F1c2UgZ3RrKyB1c2VzIHJlZmVyZW5jZSBjb3VudHMsIHRo
ZSBjb2xvcm1hcCB3aWxsIG5vdAogICAtLSAgYmUgYWN0dWFsbHkgZGVzdHJveWVkIHdoaWxlIGF0
IGxlYXN0IG9uZSBvYmplY3QgaXMgdXNpbmcgaXQuCgogICBwcm9jZWR1cmUgUmVmIChDb2xvcm1h
cCA6IGluIEdka19Db2xvcm1hcCk7CiAgIC0tICBJbmNyZW1lbnQgdGhlIHJlZi1jb3VudCBmb3Ig
dGhlIGNvbG9yLgogICAtLSAgWW91IHNob3VsZCBub3QgaGF2ZSB0byB1c2UgdGhpcyBmdW5jdGlv
bi4KCiAgIGZ1bmN0aW9uIEdldF9TeXN0ZW1fU2l6ZSByZXR1cm4gR2ludDsKICAgLS0gIFJldHVy
biB0aGUgbnVtYmVyIG9mIGVudHJpZXMgaW4gdGhlIGRlZmF1bHQgY29sb3JtYXAgb24gdGhlIHN5
c3RlbS4KCiAgIHByb2NlZHVyZSBGcmVlX0NvbG9ycyAoQ29sb3JtYXAgOiBpbiBHZGtfQ29sb3Jt
YXA7CiAgICAgICAgICAgICAgICAgICAgICAgICAgQ29sb3JzICAgOiBpbiBHZGtfQ29sb3JfQXJy
YXkpOwogICAtLSAgRnJlZSBDb2xvcnMsIGFzc3VtaW5nIHRoZXkgYXJlIGFsbG9jYXRlZCBpbiBD
b2xvcm1hcC4KCiAgIHByb2NlZHVyZSBTdG9yZSAoQ29sb3JtYXAgOiBpbiBHZGtfQ29sb3JtYXA7
CiAgICAgICAgICAgICAgICAgICAgQ29sb3JzICAgOiBpbiBHZGtfQ29sb3JfQXJyYXkpOwogICAt
LSAgU3RvcmUgdGhlIENvbG9ycyBpbiB0aGUgQ29sb3JtYXAKCiAgIHByb2NlZHVyZSBBbGxvYyAo
Q29sb3JtYXAgICA6IGluIEdka19Db2xvcm1hcDsKICAgICAgICAgICAgICAgICAgICBDb250aWd1
b3VzIDogaW4gQm9vbGVhbjsKICAgICAgICAgICAgICAgICAgICBQbGFuZXMgICAgIDogaW4gICAg
IEd1bG9uZ19BcnJheTsKICAgICAgICAgICAgICAgICAgICBQaXhlbHMgICAgIDogaW4gICAgIEd1
bG9uZ19BcnJheTsKICAgICAgICAgICAgICAgICAgICBTdWNjZWVkZWQgIDogICAgb3V0IEJvb2xl
YW4pOwogICAtLSAgQWxsb2NhdGUgc29tZSBSZWFkL1dyaXRlIGNvbG9yIGNlbGxzLgogICAtLSAg
Q29sb3IgY2VsbHMnIHZhbHVlcyBjYW4gYmUgY2hhbmdlZAogICAtLSAgZHluYW1pY2FsbHkuIFRo
ZSBwaXhlbHMgYWxsb2NhdGVkIGFyZSByZXR1cm5lZCBpbiBQaXhlbHMuCiAgIC0tICBTZWUgWEFs
bG9jQ29sb3JDZWxscygzKSBvbiBVbml4IHN5c3RlbXMuCiAgIC0tICBUaGUgUGxhbmVzIHBhcmFt
ZXRlciBjYW4gYmUgdXNlZCB0byBub25kZXN0cnVjdGl2ZWx5IG92ZXJsYXkgb25lCiAgIC0tICBz
ZXQgb2YgZ3JhcGhpY3Mgb3ZlciBhbm90aGVyLiBTZWUgdGhlIFgxMSBtYW51YWwgZm9yIG1vcmUg
aW5mby4KICAgLS0gIE5vdGUgdGhhdCB0aGlzIGlzIGEgbG93LWxldmVsIGZ1bmN0aW9uIHdoaWNo
IHlvdSBzaG91bGQgcmFyZWx5CiAgIC0tICBoYXZlIHRvIHVzZS4KCiAgIHByb2NlZHVyZSBGcmVl
IChDb2xvcm1hcCA6IGluIEdka19Db2xvcm1hcDsKICAgICAgICAgICAgICAgICAgIFBpeGVscyAg
IDogaW4gR3Vsb25nX0FycmF5OwogICAgICAgICAgICAgICAgICAgUGxhbmVzICAgOiBpbiBHdWxv
bmcpOwogICAtLSAgRnJlZSBzb21lIGNvbG9ycyBpbiB0aGUgY29sb3JtYXAuCiAgIC0tICBTZWUg
WEZyZWVDb2xvcnMoMykgb24gVW5peCBzeXN0ZW1zLgoKICAgLS0gIDxkb2NfaWdub3JlPgogICBm
dW5jdGlvbiBIYXNoIChDb2xvcl9BIDogaW4gR2RrX0NvbG9yOwogICAgICAgICAgICAgICAgICBD
b2xvcl9CIDogaW4gR2RrX0NvbG9yKSByZXR1cm4gR3VpbnQ7CiAgIC0tICBSZXR1cm4gYSBoYXNo
IGNvZGUgZm9yIENvbG9yX0EuCiAgIC0tICBUaGlzIHNlZW1zIHRvIGJlIGEgaW50ZXJuYWwgZnVu
Y3Rpb24gZm9yIGd0aysgb25seS4KICAgLS0gIDwvZG9jX2lnbm9yZT4KCiAgIHByb2NlZHVyZSBD
aGFuZ2UgKENvbG9ybWFwICA6IGluIEdka19Db2xvcm1hcDsKICAgICAgICAgICAgICAgICAgICAg
Q29sb3IgICAgIDogaW4gb3V0IEdka19Db2xvcjsKICAgICAgICAgICAgICAgICAgICAgU3VjY2Vl
ZGVkIDogICAgb3V0IEJvb2xlYW4pOwogICAtLSAgQ2hhbmdlIHRoZSBSZWFkL1dyaXRlIGNvbG9y
bWFwIGNlbGwgY29ycmVzcG9uZGluZyB0byBDb2xvci4KICAgLS0gIFRoZSBuZXcgdmFsdWUgaXMg
dGhlIG9uZSBjb250YWluZWQgaW4gdGhlIFJlZCwgR3JlZW4gYW5kIEJsdWUKICAgLS0gIGZpZWxk
cyBvZiBDb2xvci4KCiAgIHByb2NlZHVyZSBDaGFuZ2UgKENvbG9ybWFwIDogaW4gR2RrX0NvbG9y
bWFwOwogICAgICAgICAgICAgICAgICAgICBOY29sb3JzICA6IGluIEdpbnQpOwogICAtLSAgQ2hh
bmdlcyB0aGUgZmlyc3QgTmNvbG9ycyBkZWZpbmVkIGluIENvbG9ybWFwLgoKICAgcHJvY2VkdXJl
IENvcHkgKFNvdXJjZSAgICAgIDogaW4gICAgIEdka19Db2xvcjsKICAgICAgICAgICAgICAgICAg
IERlc3RpbmF0aW9uIDogICAgb3V0IEdka19Db2xvcik7CiAgIC0tICBDb3B5IHRoZSBTb3VyY2Ug
Y29sb3IgdG8gRGVzdGluYXRpb24uCgogICBmdW5jdGlvbiBFcXVhbCAoQ29sb3JhLCBDb2xvcmIg
OiBpbiBHZGtfQ29sb3IpIHJldHVybiBCb29sZWFuOwogICAtLSAgVHJ1ZSBpZiB0aGUgUmVkLCBH
cmVlbiBhbmQgQmx1ZSBjb21wb25lbnRzIG9mIGJvdGggY29sb3JzIGFyZSBlcXVhbC4KCiAgIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSBTZXR0aW5n
L0dldHRpbmcgdGhlIGZpZWxkcyBvZiBHZGtfQ29sb3IgLS0KICAgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICBwcm9jZWR1cmUgU2V0X1JnYiAoQ29sb3Ig
ICA6IG91dCBHZGtfQ29sb3I7CiAgICAgICAgICAgICAgICAgICAgICBSZWQsIEdyZWVuLCBCbHVl
IDogaW4gR3VzaG9ydCk7CiAgIC0tICBNb2RpZnkgdGhlIGZpZWxkcyBvZiB0aGUgY29sb3IuCiAg
IC0tICBZb3UgdGhlbiBoYXZlIHRvIGFsbG9jYXRlIHRoZSBjb2xvciB3aXRoIG9uZSBvZiB0aGUg
QWxsb2MqIGZ1bmN0aW9ucwogICAtLSAgYWJvdmUuCgogICBwcm9jZWR1cmUgU2V0X1BpeGVsIChD
b2xvciA6IGluIG91dCBHZGtfQ29sb3I7IFBpeGVsIDogR3Vsb25nKTsKICAgLS0gIFRoaXMgZnVu
Y3Rpb24gc2hvdWxkIGFsbW9zdCBuZXZlciBiZSB1c2VkLiBJbnN0ZWFkLCB1c2UgQWxsb2NfQ29s
b3IKCiAgIGZ1bmN0aW9uIFJlZCAoQ29sb3IgOiBpbiBHZGtfQ29sb3IpIHJldHVybiBHdXNob3J0
OwogICAtLSAgUmV0dXJuIHRoZSBSZWQgZmllbGQgb2YgQ29sb3IuCgogICBmdW5jdGlvbiBHcmVl
biAoQ29sb3IgOiBpbiBHZGtfQ29sb3IpIHJldHVybiBHdXNob3J0OwogICAtLSAgUmV0dXJuIHRo
ZSBHcmVlbiBmaWVsZCBvZiBDb2xvci4KCiAgIGZ1bmN0aW9uIEJsdWUgKENvbG9yIDogaW4gR2Rr
X0NvbG9yKSByZXR1cm4gR3VzaG9ydDsKICAgLS0gIFJldHVybiB0aGUgQmx1ZSBmaWVsZCBvZiBD
b2xvci4KCiAgIGZ1bmN0aW9uIFBpeGVsIChDb2xvciA6IGluIEdka19Db2xvcikgcmV0dXJuIEd1
bG9uZzsKICAgLS0gIFJldHVybiB0aGUgUGl4ZWwgZmllbGQgb2YgQ29sb3IuCgpwcml2YXRlCiAg
IE51bGxfQ29sb3JtYXAgOiBjb25zdGFudCBHZGtfQ29sb3JtYXAgOj0gbnVsbDsKCiAgIHR5cGUg
R2RrX0NvbG9yIGlzCiAgICAgIHJlY29yZAogICAgICAgICBQaXhlbCA6IEd1bG9uZzsKICAgICAg
ICAgUmVkICAgOiBHdXNob3J0OwogICAgICAgICBHcmVlbiA6IEd1c2hvcnQ7CiAgICAgICAgIEJs
dWUgIDogR3VzaG9ydDsKICAgICAgZW5kIHJlY29yZDsKICAgLS0gIFRoZSBmaWVsZHMgYXJlIHRv
IGJlIGNob3NlbiBiZXR3ZWVuIDAgYW5kIDY1NTM1LCBub3QgMCBhbmQgMjU1ISEhCgogICBOdWxs
X0NvbG9yIDogY29uc3RhbnQgR2RrX0NvbG9yIDo9IChHdWxvbmcnTGFzdCwgMSwgMCwgMCk7CiAg
IC0tICBOb3RlOiBpbiB0aGUgaW1wbGVtZW50YXRpb24gb2YgR3RrQWRhLCBldmVyeXRpbWUgYSBj
b2xvciBpcyB1c2VkLCBpdAogICAtLSAgaXMgaW1wb3J0YW50IHRvIHRlc3Qgd2hldGhlciB0aGlz
IGlzIE51bGxfQ29sb3Igb3Igbm90LiBJZiBpdCBpcywgdGhlbgogICAtLSAgU3lzdGVtLk51bGxf
QWRkcmVzcyBzaG91bGQgYmUgcGFzc2VkIHRvIEMgaW5zdGVhZCBvZiBOdWxsX0NvbG9yJ0FkZHJl
c3MKICAgLS0gIHNvIHRoYXQgZ3RrKyBjYW4gcHJvdmlkZSBhIGRlZmF1bHQgdmFsdWUgZm9yIGNv
bG9ycy4KCiAgIHByYWdtYSBJbmxpbmUgKFNldF9SZ2IpOwogICBwcmFnbWEgSW5saW5lIChTZXRf
UGl4ZWwpOwogICBwcmFnbWEgSW5saW5lIChSZWQpOwogICBwcmFnbWEgSW5saW5lIChHcmVlbik7
CiAgIHByYWdtYSBJbmxpbmUgKEJsdWUpOwogICBwcmFnbWEgSW5saW5lIChQaXhlbCk7CiAgIHBy
YWdtYSBJbXBvcnQgKEMsIEdldF9TeXN0ZW1fU2l6ZSwgImdka19jb2xvcm1hcF9nZXRfc3lzdGVt
X3NpemUiKTsKICAgcHJhZ21hIEltcG9ydCAoQywgR2V0X1N5c3RlbSwgImdka19jb2xvcm1hcF9n
ZXRfc3lzdGVtIik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIFJlZiwgImdka19jb2xvcm1hcF9yZWYi
KTsKICAgcHJhZ21hIEltcG9ydCAoQywgVW5yZWYsICJnZGtfY29sb3JtYXBfdW5yZWYiKTsKZW5k
IEdkay5Db2xvcjsKCi0tICA8ZXhhbXBsZT4KLS0gIC0tICBIZXJlIGlzIGFuIGV4YW1wbGUgaG93
IHlvdSBjYW4gYWxsb2NhdGUgYSBuZXcgY29sb3IsIHdoZW4geW91IGtub3cKLS0gIC0tICBpdHMg
cmVkL2dyZWVuL2JsdWUgY29tcG9uZW50czogTm90ZSB0aGF0IHdlIGFsbG9jYXRlIHdoaXRlIGlu
IGZhY3QKLS0gIC0tICBzaW5jZSB0aGUgbWF4aW1hbCB2YWx1ZSBmb3IgY29sb3IgY29tcG9uZW50
cyBpcyA2NTUzNS4KLS0gICAgIENvbG9yICAgOiBHZGtfQ29sb3I7Ci0tICAgICBTdWNjZXNzIDog
Qm9vbGVhbjsKLS0gICAgIFNldF9SYmcgKENvbG9yLCA2NTUzNSwgNjU1MzUsIDY1NTM1KTsKLS0g
ICAgIEFsbG9jX0NvbG9yIChDb2xvcm1hcCAgID0+IEd0ay5XaWRnZXQuR2V0X0RlZmF1bHRfQ29s
b3JtYXAsCi0tICAgICAgICAgICAgICAgICAgQ29sb3IgICAgICA9PiBDb2xvciwKLS0gICAgICAg
ICAgICAgICAgICBXcml0ZWFibGUgID0+IEZhbHNlLAotLSAgICAgICAgICAgICAgICAgIEJlc3Rf
TWF0Y2ggPT4gVHJ1ZSwKLS0gICAgICAgICAgICAgICAgICBTdWNjZXNzICAgID0+IFN1Y2Nlc3Mp
OwotLSAgICAgaWYgbm90IFN1Y2Nlc3MgdGhlbgotLSAgICAgICAgIC4uLjsgIC0tICBhbGxvY2F0
aW9uIGZhaWxlZAotLSAgICAgZW5kIGlmOwotLSAgPC9leGFtcGxlPgotLQotLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQotLSAgICAgICAgICBHdGtBZGEgLSBBZGE5NSBiaW5kaW5nIGZvciB0aGUgR2ltcCBUb29sa2l0
ICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgIENv
cHlyaWdodCAoQykgMTk5OC0yMDAwICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAg
RW1tYW51ZWwgQnJpb3QsIEpvZWwgQnJvYmVja2VyIGFuZCBBcm5hdWQgQ2hhcmxldCAgICAgICAg
ICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAtLQotLSBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yICAgICAtLQotLSBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgICAgICAgICAgICAgICAtLQotLSBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIg
ICAgICAtLQotLSB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgICAtLQotLSBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZiAgICAtLQotLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVSAtLQotLSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQot
LSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs
aWMgICAgICAgICAtLQotLSBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3Qs
IHdyaXRlIHRvIHRoZSAgICAgICAgICAgICAtLQotLSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgICAgICAtLQotLSBCb3N0b24sIE1B
IDAyMTExLTEzMDcsIFVTQS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt
LQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAtLQotLSBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uLCBpZiBvdGhlciBmaWxl
cyBpbnN0YW50aWF0ZSBnZW5lcmljcyBmcm9tICAtLQotLSB0aGlzIHVuaXQsIG9yIHlvdSBsaW5r
IHRoaXMgdW5pdCB3aXRoIG90aGVyIGZpbGVzIHRvIHByb2R1Y2UgYW4gICAtLQotLSBleGVjdXRh
YmxlLCB0aGlzICB1bml0ICBkb2VzIG5vdCAgYnkgaXRzZWxmIGNhdXNlICB0aGUgcmVzdWx0aW5n
ICAtLQotLSBleGVjdXRhYmxlIHRvIGJlIGNvdmVyZWQgYnkgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlLiBUaGlzICAtLQotLSBleGNlcHRpb24gZG9lcyBub3QgaG93ZXZlciBpbnZhbGlk
YXRlIGFueSBvdGhlciByZWFzb25zIHdoeSB0aGUgICAtLQotLSBleGVjdXRhYmxlIGZpbGUgIG1p
Z2h0IGJlIGNvdmVyZWQgYnkgdGhlICBHTlUgUHVibGljIExpY2Vuc2UuICAgICAtLQotLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQoKLS0gIDxkZXNjcmlwdGlvbj4KLS0gIFRoaXMgcGFja2FnZSBwcm92aWRlcyB0aGUg
Y2FwYWJpbGl0eSB0byBjcmVhdGUgcHJlZGVmaW5lZCBtb3VzZSBjdXJzb3JzCi0tICBhcyB3ZWxs
IGFzIHVzZXIgZGVmaW5lZCBvbmVzLgotLSAgPC9kZXNjcmlwdGlvbj4KLS0gIDxjX3ZlcnNpb24+
MS4yLjg8L2NfdmVyc2lvbj4KCndpdGggR2xpYjsKd2l0aCBHZGsuVHlwZXM7CndpdGggR2RrLkNv
bG9yOwoKcGFja2FnZSBHZGsuQ3Vyc29yIGlzCgogICB0eXBlIEdka19DdXJzb3IgaXMgbmV3IEdk
ay5DX1Byb3h5OwogICBOdWxsX0N1cnNvciA6IGNvbnN0YW50IEdka19DdXJzb3I7CgogICBwcm9j
ZWR1cmUgR2RrX05ldwogICAgIChXaWRnZXQgICAgICA6IG91dCBHZGtfQ3Vyc29yOwogICAgICBD
dXJzb3JfVHlwZSA6IGluICBHZGsuVHlwZXMuR2RrX0N1cnNvcl9UeXBlKTsKICAgLS0gIENyZWF0
ZSBhIG5ldyBzdGFuZGFyZCBjdXJzb3IuCgogICBwcm9jZWR1cmUgR2RrX05ldwogICAgIChXaWRn
ZXQgOiBvdXQgR2RrX0N1cnNvcjsKICAgICAgU291cmNlIDogaW4gR2RrLkdka19QaXhtYXA7CiAg
ICAgIE1hc2sgICA6IGluIEdkay5HZGtfUGl4bWFwOwogICAgICBGZyAgICAgOiBpbiBHZGsuQ29s
b3IuR2RrX0NvbG9yOwogICAgICBCZyAgICAgOiBpbiBHZGsuQ29sb3IuR2RrX0NvbG9yOwogICAg
ICBYICAgICAgOiBpbiBHbGliLkdpbnQ7CiAgICAgIFkgICAgICA6IGluIEdsaWIuR2ludCk7CiAg
IC0tICBDcmVhdGUgYSBuZXcgY3Vyc29yIGZyb20gYSBnaXZlbiBwaXhtYXAgYW5kIG1hc2suCiAg
IC0tICBCb3RoIHRoZSBwaXhtYXAgYW5kIG1hc2sgbXVzdCBoYXZlIGEgZGVwdGggb2YgMSAoaS5l
LiBlYWNoIHBpeGVsIGhhcwogICAtLSAgb25seSAyIHZhbHVlcyAtIG9uIG9yIG9mZikuIFRoZSBz
dGFuZGFyZCBjdXJzb3Igc2l6ZSBpcyAxNiBieSAxNiBwaXhlbHMuCiAgIC0tICAgLSBTb3VyY2Ug
aXMgdGhlIHBpeG1hcCBzcGVjaWZ5aW5nIHRoZSBjdXJzb3IuCiAgIC0tICAgLSBNYXNrIGlzIHRo
ZSBwaXhtYXAgc3BlY2lmeWluZyB0aGUgbWFzaywgd2hpY2ggbXVzdCBiZSB0aGUgc2FtZSBzaXpl
CiAgIC0tICAgYXMgc291cmNlLgogICAtLSAgIC0gRmcgaXMgdGhlIGZvcmVncm91bmQgY29sb3Is
IHVzZWQgZm9yIHRoZSBiaXRzIGluIHRoZSBzb3VyY2Ugd2hpY2ggYXJlCiAgIC0tICAgZW5hYmxl
ZC4gVGhlIGNvbG9yIGRvZXMgbm90IGhhdmUgdG8gYmUgYWxsb2NhdGVkIGZpcnN0LgogICAtLSAg
IC0gQmcgaXMgdGhlIGJhY2tncm91bmQgY29sb3IsIHVzZWQgZm9yIHRoZSBiaXRzIGluIHRoZSBz
b3VyY2Ugd2hpY2ggYXJlCiAgIC0tICAgZGlzYWJsZWQuIFRoZSBjb2xvciBkb2VzIG5vdCBoYXZl
IHRvIGJlIGFsbG9jYXRlZCBmaXJzdC4KICAgLS0gICAtIFggaXMgdGhlIGhvcml6b250YWwgb2Zm
c2V0IG9mIHRoZSAnaG90c3BvdCcgb2YgdGhlIGN1cnNvci4KICAgLS0gICAtIFkgaXMgdGhlIHZl
cnRpY2FsIG9mZnNldCBvZiB0aGUgJ2hvdHNwb3QnIG9mIHRoZSBjdXJzb3IuCgogICBwcm9jZWR1
cmUgRGVzdHJveSAoQ3Vyc29yIDogaW4gR2RrX0N1cnNvcik7CiAgIC0tICBEZXN0cm95IGEgY3Vy
c29yLCBmcmVlaW5nIGFueSByZXNvdXJjZXMgYWxsb2NhdGVkIGZvciBpdC4KCnByaXZhdGUKICAg
TnVsbF9DdXJzb3IgOiBjb25zdGFudCBHZGtfQ3Vyc29yIDo9IG51bGw7CiAgIHByYWdtYSBJbXBv
cnQgKEMsIERlc3Ryb3ksICJnZGtfY3Vyc29yX2Rlc3Ryb3kiKTsKZW5kIEdkay5DdXJzb3I7Ci0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi0tICAgICAgICAgIEd0a0FkYSAtIEFkYTk1IGJpbmRpbmcgZm9yIHRoZSBH
aW1wIFRvb2xraXQgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAg
ICAgICAgICAgQ29weXJpZ2h0IChDKSAxOTk4LTE5OTkgICAgICAgICAgICAgICAgICAgICAgIC0t
Ci0tICAgICAgICBFbW1hbnVlbCBCcmlvdCwgSm9lbCBCcm9iZWNrZXIgYW5kIEFybmF1ZCBDaGFy
bGV0ICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgICAgIC0tCi0tIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyAgICAgICAgICAgICAg
IC0tCi0tIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlciAgICAgIC0tCi0tIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4gIC0tCi0tICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LCAgIC0tCi0tIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mICAgIC0tCi0tIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIC0tCi0tIEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4gICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC0tCi0tIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH
ZW5lcmFsIFB1YmxpYyAgICAgICAgIC0tCi0tIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlICAgICAgICAgICAgIC0tCi0tIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCAgICAgIC0tCi0t
IEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIEFzIGEgc3BlY2lhbCBleGNlcHRpb24sIGlm
IG90aGVyIGZpbGVzIGluc3RhbnRpYXRlIGdlbmVyaWNzIGZyb20gIC0tCi0tIHRoaXMgdW5pdCwg
b3IgeW91IGxpbmsgdGhpcyB1bml0IHdpdGggb3RoZXIgZmlsZXMgdG8gcHJvZHVjZSBhbiAgIC0t
Ci0tIGV4ZWN1dGFibGUsIHRoaXMgIHVuaXQgIGRvZXMgbm90ICBieSBpdHNlbGYgY2F1c2UgIHRo
ZSByZXN1bHRpbmcgIC0tCi0tIGV4ZWN1dGFibGUgdG8gYmUgY292ZXJlZCBieSB0aGUgR05VIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UuIFRoaXMgIC0tCi0tIGV4Y2VwdGlvbiBkb2VzIG5vdCBob3dl
dmVyIGludmFsaWRhdGUgYW55IG90aGVyIHJlYXNvbnMgd2h5IHRoZSAgIC0tCi0tIGV4ZWN1dGFi
bGUgZmlsZSAgbWlnaHQgYmUgY292ZXJlZCBieSB0aGUgIEdOVSBQdWJsaWMgTGljZW5zZS4gICAg
IC0tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCgotLSAgPGRlc2NyaXB0aW9uPgotLSAgVGhpcyBwYWNrYWdlIHBy
b3ZpZGVzIGZ1bmN0aW9ucyBkZWFsaW5nIHdpdGggZXZlbnRzIGZyb20gdGhlIHdpbmRvdyBzeXN0
ZW0uCi0tICBJbiBHdGtBZGEgYXBwbGljYXRpb25zLCB0aGUgZXZlbnRzIGFyZSBoYW5kbGVkIGF1
dG9tYXRpY2FsbHkgaW4KLS0gIEd0ay5NYWluLkRvX0V2ZW50LCBhbmQgcGFzc2VkIG9uIHRvIHRo
ZSBhcHByb3ByaWF0ZSB3aWRnZXRzLCBzbyB0aGVzZQotLSAgZnVuY3Rpb25zIGFyZSByYXJlbHkg
bmVlZGVkLgotLQotLSAgISEgV2FybmluZyAhISBUaGlzIGlzIG9uZSBvZiB0aGUgb25seSBwYWNr
YWdlIHRoYXQgcmVxdWlyZXMgbWFudWFsCi0tICBtZW1vcnkgbWFuYWdlbWVudCBpbiBzb21lIGNh
c2VzLiBJZiB5b3UgdXNlIHRoZSBmdW5jdGlvbiBBbGxvY2F0ZSwKLS0gIHlvdSBoYXZlIHRvIHVz
ZSB0aGUgZnVuY3Rpb24gRnJlZSB0b28uLi4KLS0gIDwvZGVzY3JpcHRpb24+Cgp3aXRoIFN5c3Rl
bTsKd2l0aCBHbGliOyB1c2UgR2xpYjsKd2l0aCBHZGsuUmVjdGFuZ2xlOwp3aXRoIEdkay5UeXBl
czsKd2l0aCBHZGsuV2luZG93OwoKcGFja2FnZSBHZGsuRXZlbnQgaXMKCiAgIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSAgRGVmaW5pdGlvbiBvZiB0aGUgdHlwZXMgLS0KICAg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICB0eXBlIEdka19FdmVudCBpcyBuZXcg
R2RrLkNfUHJveHk7CgogICBzdWJ0eXBlIEdka19FdmVudF9BbnkgaXMgR2RrX0V2ZW50OwogICAt
LSAgQ2hhbmdlIGZyb20gR3RrQWRhMS4yLjM6IFRoZXJlIGlzIG5vIGxvbmdlciBhIHRhZ2dlZCB0
eXBlCiAgIC0tICBoaWVyYXJjaHksIG9ubHkgb25lIHR5cGUuCiAgIC0tICBIb3dldmVyIHRoZXJl
IGFyZSBub3cgYSBmZXcgcnVudGltZSB0ZXN0cyBmb3IgZWFjaCBvZiB0aGUKICAgLS0gIGZ1bmN0
aW9uLCB0byBjaGVjayB3aGV0aGVyIGEgZ2l2ZW4gZmllbGQgaXMgYXZhaWxhYmxlIG9yIG5vdC4K
ICAgLS0KICAgLS0gIEZpZWxkcyBjb21tb24gdG8gYWxsIGV2ZW50czogV2luZG93LCBTZW5kX0V2
ZW50LCBFdmVudF9UeXBlCgogICBzdWJ0eXBlIEdka19FdmVudF9CdXR0b24gaXMgR2RrX0V2ZW50
OwogICAtLSAgQSBidXR0b24gd2FzIHByZXNzZWQgb3IgcmVsZWFzZS4gUmVsZXZhbnQgZmllbGRz
OgogICAtLSAgVGltZSwgWCwgWSwgUHJlc3N1cmUsIFh0aWx0LCBZdGlsdCwgU3RhdGUsIEJ1dHRv
biwgU291cmNlLAogICAtLSAgRGV2aWNlX0lkLCBYX1Jvb3QsIFlfUm9vdCwgV2luZG93LgogICAt
LSAgVHlwZTogQnV0dG9uX1ByZXNzLCBHZGtfMkJ1dHRvbl9QcmVzcywgR2RrXzNCdXR0b25fUHJl
c3Mgb3IKICAgLS0gIEJ1dHRvbl9SZWxlYXNlLgoKICAgc3VidHlwZSBHZGtfRXZlbnRfQ29uZmln
dXJlIGlzIEdka19FdmVudDsKICAgLS0gIFRoZSB3aW5kb3cgY29uZmlndXJhdGlvbiBoYXMgY2hh
bmdlZDogZWl0aGVyIGl0IHdhcyByZW1hcHBlZCwKICAgLS0gIHJlc2l6ZWQsIG1vdmVkLCAuLi4K
ICAgLS0gIE5vdGUgdGhhdCB5b3UgdXN1YWxseSBkb24ndCBoYXZlIHRvIHJlZHJhdyB5b3VyIHdp
bmRvdyB3aGVuIHlvdQogICAtLSAgcmVjZWl2ZSBzdWNoIGFuIGV2ZW50LCBzaW5jZSBpdCBpcyBm
b2xsb3dlZCBieSBhbiBHZGtfRXZlbnRfRXhwb3NlLgogICAtLSAgUmVsZXZhbnQgZmllbGRzOiBY
LCBZLCBXaWR0aCwgSGVpZ2h0CiAgIC0tICBUeXBlOiBDb25maWd1cmUKCiAgIHN1YnR5cGUgR2Rr
X0V2ZW50X0Nyb3NzaW5nIGlzIEdka19FdmVudDsKICAgLS0gIFRoZSBtb3VzZSBoYXMgYmVlbiBt
b3ZlZCBpbiBvciBvdXQgb2YgdGhlIHdpbmRvdwogICAtLSAgUmVsZXZhbnQgZmllbGRzOiBUaW1l
LCBTdWJXaW5kb3csIFgsIFksIFhfUm9vdCwgWV9Sb290LCBNb2RlLAogICAtLSAgRGV0YWlsLCBG
b2N1cywgU3RhdGUKICAgLS0gIFR5cGU6IEVudGVyX05vdGlmeSwgTGVhdmVfTm90aWZ5CgogICBz
dWJ0eXBlIEdka19FdmVudF9FeHBvc2UgaXMgR2RrX0V2ZW50OwogICAtLSAgVGhlIHdpbmRvdyBu
ZWVkcyB0byBiZSByZWRyYXduLiBGb3IgZWZmaWNpZW5jeSwgZ3RrIGdpdmVzIHlvdSB0aGUKICAg
LS0gIHNtYWxsZXN0IGFyZWEgdGhhdCB5b3UgbmVlZCB0byByZWRyYXcKICAgLS0gIFJlbGV2YW50
IGZpZWxkczogQXJlYSwgQ291bnQsIEdyYXBoaWNzX0V4cG9zZQogICAtLSAgVHlwZTogRXhwb3Nl
CgogICBzdWJ0eXBlIEdka19FdmVudF9Ob19FeHBvc2UgaXMgR2RrX0V2ZW50OwogICAtLSAgSW5k
aWNhdGUgdGhhdCB0aGUgc291cmNlIHJlZ2lvbiB3YXMgY29tcGxldGVseSBhdmFpbGFibGUgd2hl
biBwYXJ0cyBvZgogICAtLSAgYSBkcmF3YWJsZSB3ZXJlIGNvcGllZC4KICAgLS0gIFRoaXMgaXMg
YWxzbyBlbWl0dGVkIHdoZW4gYSBnYyB3aG9zZSAiZXhwb3N1cmVzIiBhdHRyaWJ1dGUgaXMgc2V0
IHRvCiAgIC0tICBGYWxzZSBpbiBhIGNhbGwgdG8gQ29weV9BcmVhIG9yIERyYXdfUGl4bWFwLiBT
ZWUgdGhlIGRvY3VtZW50YXRpb24gZm9yCiAgIC0tICBHZGsuR0MuU2V0X0V4cG9zdXJlcy4KICAg
LS0gIE5vIFJlbGV2ZW50IGZpZWxkcyBleGNlcHQgdGhlIGNvbW1vbiBvbmVzCiAgIC0tICBUeXBl
OiBOb19FeHBvc2UKCiAgIHN1YnR5cGUgR2RrX0V2ZW50X0ZvY3VzIGlzIEdka19FdmVudDsKICAg
LS0gIFRoZSBmb2N1cyBoYXMgY2hhbmdlZCBmb3IgYSB3aW5kb3cuCiAgIC0tICBSZWxldmFudCBm
aWVsZHM6IGluCiAgIC0tICBUeXBlOiBGb2N1c19DaGFuZ2UKCiAgIHN1YnR5cGUgR2RrX0V2ZW50
X01vdGlvbiBpcyBHZGtfRXZlbnQ7CiAgIC0tICBUaGUgbW91c2UgaGFzIG1vdmVkCiAgIC0tICBS
ZWxldmFudCBmaWVsZHM6IFRpbWUsIFgsIFksIFByZXNzdXJlLCBYdGlsdCwgWXRpbHQsIFN0YXRl
LAogICAtLSAgSXNfSGludCwgU291cmNlLCBEZXZpY2VfSWQsIFhfUm9vdCwgWV9Sb290CiAgIC0t
ICBUeXBlOiBNb3Rpb25fTm90aWZ5CgogICBzdWJ0eXBlIEdka19FdmVudF9LZXkgaXMgR2RrX0V2
ZW50OwogICAtLSAgQSBrZXlib2FyZCBrZXkgd2FzIHByZXNzZWQKICAgLS0gIFJlbGV2YW50IGZp
ZWxkczogVGltZSwgU3RhdGUsIEtleV9WYWwsIFN0cmluZwogICAtLSAgVHlwZTogS2V5X1ByZXNz
LCBLZXlfUmVsZWFzZQoKICAgc3VidHlwZSBHZGtfRXZlbnRfUHJvcGVydHkgaXMgR2RrX0V2ZW50
OwogICAtLSAgU29tZSBwcm9wZXJ0eSBvZiB0aGUgd2luZG93IHdhcyBtb2RpZmllZC4gR3RrQWRh
IHByb3ZpZGVzIGEgaGlnaGVyCiAgIC0tICBsZXZlbCBpbnRlcmZhY2UsIGFuZCB5b3UgYWxtb3N0
IG5ldmVyIG5lZWQgdG8gdXNlIHRoaXMgZXZlbnQuCiAgIC0tICBSZWxldmVudCBmaWVsZHM6IEF0
b20sIFRpbWUsIFByb3BlcnR5X1N0YXRlCiAgIC0tICBUeXBlOiBQcm9wZXJ0eV9Ob3RpZnkKCiAg
IHN1YnR5cGUgR2RrX0V2ZW50X1Byb3hpbWl0eSBpcyBHZGtfRXZlbnQ7CiAgIC0tICBmcm9tIGd0
ays6ICJUaGlzIGV2ZW50IHR5cGUgd2lsbCBiZSB1c2VkIHByZXR0eSByYXJlbHkuIEl0IG9ubHkg
aXMKICAgLS0gIGltcG9ydGFudCBmb3IgWElucHV0IGF3YXJlIHByb2dyYW1zIHRoYXQgYXJlIGRy
YXdpbmcgdGhlaXIgb3duCiAgIC0tICBjdXJzb3IiLiBUaGlzIGlzIG9ubHkgdXNlZCB3aXRoIG5v
biBzdGFuZGFyZCBpbnB1dCBkZXZpY2VzLCBsaWtlCiAgIC0tICBncmFwaGljIHRhYmxldHMuCiAg
IC0tICBSZWxldmFudCBmaWVsZHM6IFRpbWUsIFNvdXJjZSwgRGV2aWNlX0lkCiAgIC0tICBUeXBl
OiBQcm94aW1pdHlfSW4sIFByb3hpbWl0eV9PdXQKCiAgIHN1YnR5cGUgR2RrX0V2ZW50X1Zpc2li
aWxpdHkgaXMgR2RrX0V2ZW50OwogICAtLSAgVGhlIHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIHdp
bmRvdyAocGFydGlhbGx5IHZpc2libHksIGZ1bGx5IHZpc2libGUsCiAgIC0tICBoaWRkZW4pLiBU
aGlzIGV2ZW50IGFsbW9zdCBuZXZlciBuZWVkIHRvIGJlIHVzZWQsIHNpbmNlIG90aGVyIGV2ZW50
cwogICAtLSAgYXJlIGdlbmVyYXRlZCBhdCB0aGUgc2FtZSB0aW1lLCBsaWtlIGV4cG9zZV9ldmVu
dHMKICAgLS0gIFJlbGV2YW50IGZpZWxkczogVmlzaWJpbGl0eV9TdGF0ZQogICAtLSAgdHlwZTog
VmlzaWJpbGl0eV9Ob3RpZnkKCiAgIHN1YnR5cGUgR2RrX0V2ZW50X1NlbGVjdGlvbiBpcyBHZGtf
RXZlbnQ7CiAgIC0tICBUaGlzIGlzIGhvdyBYMTEgaW1wbGVtZW50cyBhIHNpbXBsZSBjdXQtYW5k
LXBhc3RlIG1lY2hhbmlzbS4gSG93ZXZlciwKICAgLS0gIEd0a0FkYSBwcm92aWRlcyBhIGhpZ2hl
ciBsZXZlbCBpbnRlcmZhY2UgdG8gdGhlIHNlbGVjdGlvbiBtZWNoYW5pc20sCiAgIC0tICBzbyB0
aGlzIGV2ZW50IHdpbGwgYWxtb3N0IG5ldmVyIGJlIHVzZWQuCiAgIC0tICBSZWxldmFudCBmaWVs
ZHM6IFNlbGVjdGlvbiwgVGFyZ2V0LCBQcm9wZXJ0eSwgUmVxdWVzdG9yLCBUaW1lCiAgIC0tICBU
eXBlOiBTZWxlY3Rpb25fQ2xlYXIsIFNlbGVjdGlvbl9SZXF1ZXN0LCBTZWxlY3Rpb25fTm90aWZ5
CgogICBzdWJ0eXBlIEdka19FdmVudF9DbGllbnQgaXMgR2RrX0V2ZW50OwogICAtLSAgVGhpcyBp
cyBhbiBldmVudCB1c2VkIHRvIHNlbmQgYXJiaXRyYXJ5IGRhdGEgZnJvbSBvbmUgWCBhcHBsaWNh
dGlvbgogICAtLSAgdG8gYW5vdGhlci4gVGhpcyBldmVudCB0b28gaXMgYWxtb3N0IG5ldmVyIHVz
ZWQsIGFuZCBpcyBub3QgZG9jdW1lbnRlZAogICAtLSAgaGVyZS4gUGxlYXNlIGNvbnN1bHQgYW4g
WDExIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24uCiAgIC0tICBSZWxldmFudCBm
aWVsZHM6IE1lc3NhZ2VfVHlwZSwgRGF0YQogICAtLSAgVHlwZTogQ2xpZW50X0V2ZW50CgogICAt
LSAgVGhlIGZvbGxvd2luZyBldmVudCB0eXBlcyBkbyBub3Qgc2VlbSB0byBoYXZlIGFueSBhc3Nv
Y2lhdGVkIHR5cGU6CiAgIC0tICBEZWxldGUsIERlc3Ryb3ksIE1hcCwgVW5tYXAsIERyYWdfRW50
ZXIsIERyYWdfTGVhdmUsIERyYWdfTW90aW9uLAogICAtLSAgRHJhZ19TdGF0dXMsIERyYWdfU3Rh
cnQsIERyYWdfRmluaXNoZWQKCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KICAgLS0gU3BlY2lmaWMgZGVmaW5pdGlvbiBmb3IgdGhlIGZpZWxkcyAtLQogICAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICB0eXBlIEdka19FdmVudF9D
bGllbnRfRGF0YV9Gb3JtYXQgaXMKICAgICAoQ2hhcl9BcnJheSwgU2hvcnRfQXJyYXksIExvbmdf
QXJyYXkpOwogICBmb3IgR2RrX0V2ZW50X0NsaWVudF9EYXRhX0Zvcm1hdCB1c2UKICAgICAoQ2hh
cl9BcnJheSAgPT4gOCwgU2hvcnRfQXJyYXkgPT4gMTYsIExvbmdfQXJyYXkgID0+IDMyKTsKICAg
LS0gIFZhbHVlcyBleHRyYWN0ZWQgZnJvbSB0aGUgWENsaWVudE1lc3NhZ2VFdmVudCBtYW4gcGFn
ZS4KCiAgIE51bWJlcl9PZl9DaGFyYWN0ZXJzIDogY29uc3RhbnQgOj0gMjA7CiAgIE51bWJlcl9P
Zl9TaG9ydHMgICAgIDogY29uc3RhbnQgOj0gMTA7CiAgIE51bWJlcl9PZl9Mb25ncyAgICAgIDog
Y29uc3RhbnQgOj0gNTsKCiAgIHR5cGUgR2RrX0V2ZW50X0NsaWVudF9EYXRhCiAgICAgKEZvcm1h
dCA6IEdka19FdmVudF9DbGllbnRfRGF0YV9Gb3JtYXQpIGlzCiAgIHJlY29yZAogICAgICBjYXNl
IEZvcm1hdCBpcwogICAgICAgICB3aGVuIENoYXJfQXJyYXkgPT4KICAgICAgICAgICAgQiA6IFN0
cmluZyAoMSAuLiBOdW1iZXJfT2ZfQ2hhcmFjdGVycyk7CiAgICAgICAgIHdoZW4gU2hvcnRfQXJy
YXkgPT4KICAgICAgICAgICAgUyA6IEdzaG9ydF9BcnJheSAoMSAuLiBOdW1iZXJfT2ZfU2hvcnRz
KTsKICAgICAgICAgd2hlbiBMb25nX0FycmF5ID0+CiAgICAgICAgICAgIEwgOiBHbG9uZ19BcnJh
eSAoMSAuLiBOdW1iZXJfT2ZfTG9uZ3MpOwogICAgICBlbmQgY2FzZTsKICAgZW5kIHJlY29yZDsK
CiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIC0tIEFjY2VzcyB0byBm
aWVsZHMgb2YgdGhlIGV2ZW50IC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCgogICBJbnZhbGlkX0ZpZWxkIDogZXhjZXB0aW9uOwogICAtLSAgSWYgYSBmaWVsZCBkb2Vz
IG5vdCBleGlzdCBmb3IgdGhlIGV2ZW50IHlvdSBnYXZlLCBhbiBleGNlcHRpb24KICAgLS0gIElu
dmFsaWRfRmllbGQgaXMgcmFpc2VkCgogICBmdW5jdGlvbiBHZXRfRXZlbnRfVHlwZSAoRXZlbnQg
OiBpbiBHZGtfRXZlbnQpIHJldHVybiBUeXBlcy5HZGtfRXZlbnRfVHlwZTsKICAgLS0gIFRoZSB0
eXBlIG9mIHRoZSBldmVudC4KCiAgIGZ1bmN0aW9uIEdldF9TZW5kX0V2ZW50IChFdmVudCA6IGlu
IEdka19FdmVudCkgcmV0dXJuIEJvb2xlYW47CiAgIC0tICBTZXQgdG8gdHJ1ZSBpZiB0aGUgZXZl
bnQgd2FzIGdlbmVyYXRlZCBieSB0aGUgYXBwbGljYXRpb24sIEZhbHNlCiAgIC0tICBpZiBnZW5l
cmF0ZWQgYnkgdGhlIFggc2VydmVyL1dpbjMyLgoKICAgZnVuY3Rpb24gR2V0X1dpbmRvdyAgICAo
RXZlbnQgOiBpbiBHZGtfRXZlbnQpIHJldHVybiBHZGsuV2luZG93Lkdka19XaW5kb3c7CiAgIC0t
ICBUaGUgd2luZG93IHRoZSBldmVudCBvY2N1cmVkIG9uLgoKICAgZnVuY3Rpb24gR2V0X1RpbWUg
ICAgICAoRXZlbnQgOiBpbiBHZGtfRXZlbnQpIHJldHVybiBHdWludDMyOwogICAtLSAgVGltZSB3
aGVuIHRoZSBldmVudCBvY2N1cmVkLgoKICAgZnVuY3Rpb24gR2V0X1ggICAgICAgICAoRXZlbnQg
OiBpbiBHZGtfRXZlbnQpIHJldHVybiBHZG91YmxlOwogICAtLSAgSG9yaXpvbnRhbCBjb29yZGlu
YXRlIG9mIHRoZSBtb3VzZSB3aGVuIHRoZSBldmVudCBvY2N1cmVkLgogICAtLSAgVGhlIGNvb3Jk
aW5hdGVzIGFyZSByZWxhdGl2ZSB0byB0aGUgcGFyZW50IHdpbmRvdy4KCiAgIGZ1bmN0aW9uIEdl
dF9ZICAgICAgICAgKEV2ZW50IDogaW4gR2RrX0V2ZW50KSByZXR1cm4gR2RvdWJsZTsKICAgLS0g
IFZlcnRpY2FsIGNvb3JkaW5hdGUgb2YgdGhlIG1vdXNlIHdoZW4gdGhlIGV2ZW50IG9jY3VyZWQu
CiAgIC0tICBUaGUgY29vcmRpbmF0ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnQgd2luZG93
LgoKICAgZnVuY3Rpb24gR2V0X1hfUm9vdCAgICAoRXZlbnQgOiBpbiBHZGtfRXZlbnQpIHJldHVy
biBHZG91YmxlOwogICAtLSAgSG9yaXpvbnRhbCBjb29yZGluYXRlIG9mIHRoZSBtb3VzZSB3aGVu
IHRoZSBldmVudCBvY2N1cmVkLgogICAtLSAgUmVsYXRpdmUgdG8gdGhlIHJvb3Qgd2luZG93LgoK
ICAgZnVuY3Rpb24gR2V0X1lfUm9vdCAgICAoRXZlbnQgOiBpbiBHZGtfRXZlbnQpIHJldHVybiBH
ZG91YmxlOwogICAtLSAgVmVydGljYWwgY29vcmRpbmF0ZSBvZiB0aGUgbW91c2Ugd2hlbiB0aGUg
ZXZlbnQgb2NjdXJlZC4KICAgLS0gIFJlbGF0aXZlIHRvIHRoZSByb290IHdpbmRvdy4KCiAgIGZ1
bmN0aW9uIEdldF9CdXR0b24gICAgKEV2ZW50IDogaW4gR2RrX0V2ZW50KSByZXR1cm4gR3VpbnQ7
CiAgIC0tICBOdW1iZXIgb2YgdGhlIGJ1dHRvbiB0aGF0IHdhcyBwcmVzc2VkLgoKICAgZnVuY3Rp
b24gR2V0X1N0YXRlICAgICAoRXZlbnQgOiBpbiBHZGtfRXZlbnQpCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIEdkay5UeXBlcy5HZGtfTW9kaWZpZXJfVHlwZTsKICAgLS0gIFN0YXRl
IG9mIHRoZSBtb3VzZSBidXR0b25zIGFuZCBrZXlib2FyZCBrZXlzIGp1c3QgcHJpb3IgdG8gdGhl
IGV2ZW50LgoKICAgZnVuY3Rpb24gR2V0X1N1YndpbmRvdyAoRXZlbnQgOiBpbiBHZGtfRXZlbnQp
IHJldHVybiBHZGsuV2luZG93Lkdka19XaW5kb3c7CiAgIC0tICBDaGlsZCB3aW5kb3cgZm9yIHRo
ZSBldmVudC4KICAgLS0gIEZvciBhbiBFbnRlcl9Ob3RpZnlfRXZlbnQsIHRoaXMgaXMgc2V0IHRv
IHRoZSBpbml0aWFsIHdpbmRvdyBmb3IgdGhlCiAgIC0tICBwb2ludGVyOyBmb3IgYW4gTGVhdmVf
Tm90aWZ5X0V2ZW50IHRoaXMgaXMgc2V0IHRvIHRoZSB3aW5kb3cgb2NjdXBpZWQKICAgLS0gIGJ5
IHRoZSBwb2ludGVyIGluIGl0cyBsYXN0IHBvc2l0aW9uLgoKICAgZnVuY3Rpb24gR2V0X01vZGUg
KEV2ZW50IDogaW4gR2RrX0V2ZW50KSByZXR1cm4gR2RrLlR5cGVzLkdka19Dcm9zc2luZ19Nb2Rl
OwogICAtLSAgUmV0dXJuIHRoZSBtb2RlIG9mIGFuIEV2ZW50LgogICAtLSAgU2V0IHRvIGluZGlj
YXRlIHdoZXRoZXIgdGhlIGV2ZW50cyBhcmUgbm9ybWFsIGV2ZW50cywgcHNldWRvLW1vdGlvbgog
ICAtLSAgZXZlbnRzIHdoZW4gYSBncmFiIGFjdGl2YXRlcyBvciBwc2V1ZG8tbW90aW9uIGV2ZW50
cyB3aGVuIGEgZ3JhYgogICAtLSAgZGVhdGl2YXRlcy4KCiAgIGZ1bmN0aW9uIEdldF9EZXRhaWwg
KEV2ZW50IDogaW4gR2RrX0V2ZW50KSByZXR1cm4gR2RrLlR5cGVzLkdka19Ob3RpZnlfVHlwZTsK
ICAgLS0gIFNldCB0byBpbmRpY2F0ZSB0aGUgbm90aWZ5IGRldGFpbHMuCiAgIC0tICBNb3N0IGFw
cGxpY2F0aW9ucyBjYW4gaWdub3JlIGV2ZW50cyB3aXRoIGEgTm90aWZ5IFZpcnR1YWwgb3IgYQog
ICAtLSAgTm90aWZ5X05vbl9MaW5lYXJfVmlydHVhbCBkZXRhaWwuCgogICBmdW5jdGlvbiBHZXRf
Rm9jdXMgKEV2ZW50IDogaW4gR2RrX0V2ZW50KSByZXR1cm4gQm9vbGVhbjsKICAgLS0gIFNldCB0
byB0cnVlIGlmIHRoZSB3aW5kb3cgZm9yIHRoZSBldmVudCBpcyB0aGUgZm9jdXMgd2luZG93LgoK
ICAgZnVuY3Rpb24gR2V0X1ByZXNzdXJlICAoRXZlbnQgOiBpbiBHZGtfRXZlbnQpIHJldHVybiBH
ZG91YmxlOwogICAtLSAgVGhpcyBpcyBzZXQgdG8gYSBjb25zdGFudCBpbiB0aGUgZ3RrKyBjb2Rl
IGl0c2VsZiwgc28gaXQKICAgLS0gIGlzIG1vc3QgcHJvYmFibHkgdXNlbGVzcy4uLiBJdHMgdmFs
dWUgaXMgMC41LgogICAtLSAgSXQgaXMgb25seSB1c2VkIHdpdGggc29tZSBzcGVjaWFsIGlucHV0
IGRldmljZXMsIGxpa2UgZHJhd2luZwogICAtLSAgdGFibGV0cywuLi4KCiAgIGZ1bmN0aW9uIEdl
dF9YdGlsdCAgICAgKEV2ZW50IDogaW4gR2RrX0V2ZW50KSByZXR1cm4gR2RvdWJsZTsKICAgLS0g
IFRoaXMgaXMgc2V0IHRvIGEgY29uc3RhbnQgaW4gdGhlIGd0aysgY29kZSBpdHNlbGYsIHNvIGl0
CiAgIC0tICBpcyBtb3N0IHByb2JhYmx5IHVzZWxlc3MuLi4gSXRzIHZhbHVlIGlzIDAuMC4KICAg
LS0gIEl0IGlzIG9ubHkgdXNlZCB3aXRoIHNvbWUgc3BlY2lhbCBpbnB1dCBkZXZpY2VzLCBsaWtl
IGRyYXdpbmcKICAgLS0gIHRhYmxldHMsLi4uCgogICBmdW5jdGlvbiBHZXRfWXRpbHQgICAgIChF
dmVudCA6IGluIEdka19FdmVudCkgcmV0dXJuIEdkb3VibGU7CiAgIC0tICBUaGlzIGlzIHNldCB0
byBhIGNvbnN0YW50IGluIHRoZSBndGsrIGNvZGUgaXRzZWxmLCBzbyBpdAogICAtLSAgaXMgbW9z
dCBwcm9iYWJseSB1c2VsZXNzLi4uIEl0cyB2YWx1ZSBpcyAwLjAuCiAgIC0tICBJdCBpcyBvbmx5
IHVzZWQgd2l0aCBzb21lIHNwZWNpYWwgaW5wdXQgZGV2aWNlcywgbGlrZSBkcmF3aW5nCiAgIC0t
ICB0YWJsZXRzLC4uLgoKICAgZnVuY3Rpb24gR2V0X1dpZHRoIChFdmVudCA6IGluIEdka19FdmVu
dCkgcmV0dXJuIEdpbnQxNjsKICAgLS0gIEdldCB0aGUgd2lkdGggaW4gYSBjb25maWd1cmUgZXZl
bnQuCgogICBmdW5jdGlvbiBHZXRfSGVpZ2h0IChFdmVudCA6IGluIEdka19FdmVudCkgcmV0dXJu
IEdpbnQxNjsKICAgLS0gIEdldCB0aGUgaGVpZ2h0IGluIGEgY29uZmlndXJlIGV2ZW50LgoKICAg
ZnVuY3Rpb24gR2V0X1NvdXJjZQogICAgIChFdmVudCA6IGluIEdka19FdmVudCkgcmV0dXJuIEdk
ay5UeXBlcy5HZGtfSW5wdXRfU291cmNlOwogICAtLSAgU2V0IHRvIGEgY29uc3RhbnQgZm9yIG5v
dyBpbiB0aGUgZ3RrKyBzb3VyY2UuLi4gUHJvYmFibHkgdXNlbGVzcy4KCiAgIGZ1bmN0aW9uIEdl
dF9EZXZpY2VfSWQKICAgICAoRXZlbnQgOiBpbiBHZGtfRXZlbnQpIHJldHVybiBHZGsuVHlwZXMu
R2RrX0RldmljZV9JZDsKICAgLS0gIFNldCB0byBhIGNvbnN0YW50IGZvciBub3cgaW4gdGhlIGd0
aysgc291cmNlLi4uIFByb2JhYmx5IHVzZWxlc3MuCiAgIC0tICBTaW5jZSBtdWx0aXBsZSBpbnB1
dCBkZXZpY2VzIGNhbiBiZSB1c2VkIGF0IHRoZSBzYW1lIHRpbWUsIGxpa2UgYSBtb3VzZQogICAt
LSAgYW5kIGEgZ3JhcGhpYyB0YWJsZXQsIHRoaXMgaW5kaWNhdGVkIHdoaWNoIG9uZSBnZW5lcmF0
ZWQgdGhlIGV2ZW50LgoKICAgZnVuY3Rpb24gR2V0X0FyZWEgKEV2ZW50IDogaW4gR2RrX0V2ZW50
KSByZXR1cm4gUmVjdGFuZ2xlLkdka19SZWN0YW5nbGU7CiAgIC0tICBUaGUgbWluaW1hbCBhcmVh
IG9uIHdoaWNoIHRoZSBldmVudCBhcHBsaWVzLgogICAtLSAgRm9yIEV4cG9zZV9FdmVudHMsIHRo
aXMgaXMgdGhlIG1pbmltYWwgYXJlYSB0byByZWRyYXcuCgogICBmdW5jdGlvbiBHZXRfQ291bnQg
KEV2ZW50IDogaW4gR2RrX0V2ZW50KSByZXR1cm4gR2ludDsKICAgLS0gIE51bWJlciBvZiBFeHBv
c2VfRXZlbnRzIHRoYXQgYXJlIHRvIGZvbGxvdyB0aGlzIG9uZS4KICAgLS0gIE1vc3QgYXBwbGlj
YXRpb25zIGNhbiBpZ25vcmUgdGhlIGV2ZW50IGlmIENvdW50IGlzIG5vdCAwLCB3aGljaCBhbHNv
CiAgIC0tICBhbGxvd3MgZm9yIG9wdGltaXphdGlvbnMuCgogICBmdW5jdGlvbiBHZXRfSW4gKEV2
ZW50IDogaW4gR2RrX0V2ZW50KSByZXR1cm4gQm9vbGVhbjsKICAgLS0gIFRydWUgaWYgdGhlIHdp
bmRvdyBoYXMgZ2FpbmVkIHRoZSBmb2N1cywgRmFsc2Ugb3RoZXJ3aXNlLgoKICAgZnVuY3Rpb24g
R2V0X0lzX0hpbnQgKEV2ZW50IDogaW4gR2RrX0V2ZW50KSByZXR1cm4gQm9vbGVhbjsKICAgLS0g
ID8/PwoKICAgZnVuY3Rpb24gR2V0X0tleV9WYWwgKEV2ZW50IDogaW4gR2RrX0V2ZW50KSByZXR1
cm4gR2RrLlR5cGVzLkdka19LZXlfVHlwZTsKICAgLS0gIENvZGUgb2YgdGhlIGtleSB0aGF0IHdh
cyBwcmVzc2VkIChhbmQgdGhhdCBnZW5lcmF0ZWQgdGhlIGV2ZW50LgoKICAgZnVuY3Rpb24gR2V0
X1N0cmluZyAgKEV2ZW50IDogaW4gR2RrX0V2ZW50KSByZXR1cm4gU3RyaW5nOwogICAtLSAgU3lt
Ym9sIG9mIHRoZSBrZXkgdGhhdCB3YXMgcHJlc3NlZCwgYXMgYSBzdHJpbmcuCgogICBmdW5jdGlv
biBHZXRfQXRvbSAoRXZlbnQgOiBpbiBHZGtfRXZlbnQpIHJldHVybiBHZGsuVHlwZXMuR2RrX0F0
b207CiAgIC0tICBJbmRpY2F0ZSB3aGljaCBwcm9wZXJ0eSBoYXMgY2hhbmdlZC4KICAgLS0gID8/
PyBBdG9tIHNob3VsZCBub3QgYmUgYSBHdWludAoKICAgZnVuY3Rpb24gR2V0X1Byb3BlcnR5X1N0
YXRlIChFdmVudCA6IGluIEdka19FdmVudCkgcmV0dXJuIEd1aW50OwogICAtLSAgPz8/IFRoZSBy
ZXR1cm4gdHlwZSBzaG91bGQgYmUgY2hhbmdlZC4KCiAgIGZ1bmN0aW9uIEdldF9WaXNpYmlsaXR5
X1N0YXRlCiAgICAgKEV2ZW50IDogaW4gR2RrX0V2ZW50KSByZXR1cm4gR2RrLlR5cGVzLkdka19W
aXNpYmlsaXR5X1N0YXRlOwogICAtLSAgUmV0dXJuIHRoZSBuZXcgdmlzaWJpbGl0eSBzdGF0ZSBm
b3IgdGhlIHdpbmRvdy4KCiAgIGZ1bmN0aW9uIEdldF9TZWxlY3Rpb24gKEV2ZW50IDogaW4gR2Rr
X0V2ZW50KSByZXR1cm4gR2RrLlR5cGVzLkdka19BdG9tOwogICAtLSAgV2hhdCB3YXMgc2VsZWN0
ZWQgaW4gdGhlIHdpbmRvdy4uLgoKICAgZnVuY3Rpb24gR2V0X1RhcmdldCAoRXZlbnQgOiBpbiBH
ZGtfRXZlbnQpIHJldHVybiBHZGsuVHlwZXMuR2RrX0F0b207CiAgIC0tICA/Pz8KCiAgIGZ1bmN0
aW9uIEdldF9Qcm9wZXJ0eSAoRXZlbnQgOiBpbiBHZGtfRXZlbnQpIHJldHVybiBHZGsuVHlwZXMu
R2RrX0F0b207CiAgIC0tICA/Pz8KCiAgIGZ1bmN0aW9uIEdldF9SZXF1ZXN0b3IgKEV2ZW50IDog
aW4gR2RrX0V2ZW50KSByZXR1cm4gR3VpbnQzMjsKICAgLS0gID8/PwoKICAgZnVuY3Rpb24gR2V0
X01lc3NhZ2VfVHlwZSAoRXZlbnQgOiBpbiBHZGtfRXZlbnQpIHJldHVybiBHZGsuVHlwZXMuR2Rr
X0F0b207CiAgIC0tICA/Pz8KCiAgIGZ1bmN0aW9uIEdldF9EYXRhIChFdmVudCA6IGluIEdka19F
dmVudCkgcmV0dXJuIEdka19FdmVudF9DbGllbnRfRGF0YTsKICAgLS0gID8/PwoKICAgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgLS0gTW9kaWZ5aW5nIHRoZSBmaWVs
ZHMgb2YgYW4gZXZlbnQgLS0KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KCiAgIHByb2NlZHVyZSBTZXRfV2luZG93IChFdmVudCA6IGluIEdka19FdmVudDsgV2luIDog
R2RrLldpbmRvdy5HZGtfV2luZG93KTsKICAgLS0gIFNldCB0aGUgV2luZG93IGZpZWxkIG9mIGFu
IGV2ZW50LgoKICAgcHJvY2VkdXJlIFNldF9YICAgICAgKEV2ZW50IDogaW4gR2RrX0V2ZW50OyBY
IDogR2RvdWJsZSk7CiAgIC0tICBTZXQgdGhlIFggZmllbGQgb2YgYW4gZXZlbnQuCgogICBwcm9j
ZWR1cmUgU2V0X1kgICAgICAoRXZlbnQgOiBpbiBHZGtfRXZlbnQ7IFkgOiBHZG91YmxlKTsKICAg
LS0gIFNldCB0aGUgWSBmaWVsZCBvZiBhbiBldmVudC4KCiAgIHByb2NlZHVyZSBTZXRfWHJvb3Qg
IChFdmVudCA6IGluIEdka19FdmVudDsgWHJvb3QgOiBHZG91YmxlKTsKICAgLS0gIFNldCB0aGUg
WHJvb3QgZmllbGQgb2YgYW4gZXZlbnQuCgogICBwcm9jZWR1cmUgU2V0X1lyb290ICAoRXZlbnQg
OiBpbiBHZGtfRXZlbnQ7IFlyb290IDogR2RvdWJsZSk7CiAgIC0tICBTZXQgdGhlIFlyb290IGZp
ZWxkIG9mIGFuIGV2ZW50LgoKICAgcHJvY2VkdXJlIFNldF9XaWR0aCAgKEV2ZW50IDogaW4gR2Rr
X0V2ZW50OyBXaWR0aCA6IEdpbnQxNik7CiAgIC0tICBTZXQgdGhlIFdpZHRoIGZpZWxkIG9mIGFu
IGV2ZW50LgoKICAgcHJvY2VkdXJlIFNldF9IZWlnaHQgKEV2ZW50IDogaW4gR2RrX0V2ZW50OyBI
ZWlnaHQgOiBHaW50MTYpOwogICAtLSAgU2V0IHRoZSBIZWlnaHQgZmllbGQgb2YgYW4gZXZlbnQu
CgogICBwcm9jZWR1cmUgU2V0X0J1dHRvbiAoRXZlbnQgOiBpbiBHZGtfRXZlbnQ7IEJ1dHRvbiA6
IEd1aW50KTsKICAgLS0gIFNldCB0aGUgQnV0dG9uIGZpZWxkIG9mIGFuIGV2ZW50LgoKICAgcHJv
Y2VkdXJlIFNldF9UaW1lIChFdmVudCA6IGluIEdka19FdmVudDsgVGltZSA6IEd1aW50MzIpOwog
ICAtLSAgU2V0IHRoZSB0aW1lIGZvciB0aGUgZXZlbnQuCiAgIC0tICBJZiBUaW1lIGlzIDAsIHRo
ZW4gaXQgaXMgc2V0IHRvIHRoZSBjdXJyZW50IHRpbWUuCgogICBwcm9jZWR1cmUgU2V0X1N0YXRl
ICAoRXZlbnQgOiBpbiBHZGtfRXZlbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgICBTdGF0ZSA6
IGluIEdkay5UeXBlcy5HZGtfTW9kaWZpZXJfVHlwZSk7CiAgIC0tICBTZXQgdGhlIFN0YXRlIGZp
ZWxkIG9mIGFuIGV2ZW50LgoKICAgcHJvY2VkdXJlIFNldF9TdWJ3aW5kb3cgKEV2ZW50ICA6IGlu
IEdka19FdmVudDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdpbmRvdyA6IGluIEdkay5X
aW5kb3cuR2RrX1dpbmRvdyk7CiAgIC0tICBTZXQgdGhlIFN1YndpbmRvdyBmaWVsZCBvZiBhbiBl
dmVudC4KCiAgIHByb2NlZHVyZSBTZXRfTW9kZSAgIChFdmVudCA6IGluIEdka19FdmVudDsKICAg
ICAgICAgICAgICAgICAgICAgICAgIE1vZGUgIDogaW4gR2RrLlR5cGVzLkdka19Dcm9zc2luZ19N
b2RlKTsKICAgLS0gIFNldCB0aGUgTW9kZSBmaWVsZCBvZiBhbiBldmVudC4KCiAgIHByb2NlZHVy
ZSBTZXRfRGV0YWlsIChFdmVudCAgOiBpbiBHZGtfRXZlbnQ7CiAgICAgICAgICAgICAgICAgICAg
ICAgICBEZXRhaWwgOiBpbiBHZGsuVHlwZXMuR2RrX05vdGlmeV9UeXBlKTsKICAgLS0gIFNldCB0
aGUgRGV0YWlsIGZpZWxkIG9mIGFuIGV2ZW50LgoKICAgcHJvY2VkdXJlIFNldF9Gb2N1cyAoRXZl
bnQgOiBpbiBHZGtfRXZlbnQ7IEhhc19Gb2N1cyA6IEJvb2xlYW4pOwogICAtLSAgU2V0IHRoZSBG
b2N1cyBmaWVsZCBvZiBhbiBldmVudC4KCiAgIHByb2NlZHVyZSBTZXRfQXJlYSAgKEV2ZW50IDog
aW4gR2RrX0V2ZW50OyBBcmVhIDogUmVjdGFuZ2xlLkdka19SZWN0YW5nbGUpOwogICAtLSAgU2V0
IHRoZSBBcmVhIGZpZWxkIG9mIGFuIGV2ZW50LgoKICAgcHJvY2VkdXJlIFNldF9JbiAgICAoRXZl
bnQgOiBpbiBHZGtfRXZlbnQ7IEZvY3VzX0luIDogQm9vbGVhbik7CiAgIC0tICBTZXQgdGhlIElu
IGZpZWxkIG9mIGFuIGV2ZW50LgoKICAgcHJvY2VkdXJlIFNldF9Jc19IaW50IChFdmVudCA6IGlu
IEdka19FdmVudDsgSXNfSGludCA6IEJvb2xlYW4pOwogICAtLSAgU2V0IHRoZSBJc19IaW50IGZp
ZWxkIG9mIGFuIGV2ZW50LgoKICAgcHJvY2VkdXJlIFNldF9LZXlfVmFsIChFdmVudCA6IGluIEdk
a19FdmVudDsgS2V5IDogR2RrLlR5cGVzLkdka19LZXlfVHlwZSk7CiAgIC0tICBTZXQgdGhlIEtl
eV9WYWwgZmllbGQgb2YgYW4gZXZlbnQuCgogICBwcm9jZWR1cmUgU2V0X0F0b20gKEV2ZW50IDog
aW4gR2RrX0V2ZW50OyBBdG9tIDogR2RrLlR5cGVzLkdka19BdG9tKTsKICAgLS0gIFNldCB0aGUg
QXRvbSBmaWVsZCBvZiBhbiBldmVudC4KCiAgIHByb2NlZHVyZSBTZXRfUHJvcGVydHlfU3RhdGUg
KEV2ZW50IDogaW4gR2RrX0V2ZW50OyBTdGF0ZSA6IEd1aW50KTsKICAgLS0gIFNldCB0aGUgUHJv
cGVydHlfU3RhdGUgZmllbGQgb2YgYW4gZXZlbnQuCgogICBwcm9jZWR1cmUgU2V0X1Zpc2liaWxp
dHlfU3RhdGUgKEV2ZW50IDogaW4gR2RrX0V2ZW50OwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFN0YXRlIDogR2RrLlR5cGVzLkdka19WaXNpYmlsaXR5X1N0YXRlKTsKICAgLS0g
IFNldCB0aGUgVmlzaWJpbGl0eV9TdGF0ZSBmaWVsZCBvZiBhbiBldmVudC4KCiAgIHByb2NlZHVy
ZSBTZXRfU2VsZWN0aW9uIChFdmVudCA6IGluIEdka19FdmVudDsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFNlbGVjdGlvbiA6IEdkay5UeXBlcy5HZGtfQXRvbSk7CiAgIC0tICBTZXQgdGhl
IFNlbGVjdGlvbiBmaWVsZCBvZiBhbiBldmVudC4KCiAgIHByb2NlZHVyZSBTZXRfVGFyZ2V0IChF
dmVudCA6IGluIEdka19FdmVudDsgVGFyZ2V0IDogR2RrLlR5cGVzLkdka19BdG9tKTsKICAgLS0g
IFNldCB0aGUgVGFyZ2V0IGZpZWxkIG9mIGFuIGV2ZW50LgoKICAgcHJvY2VkdXJlIFNldF9Qcm9w
ZXJ0eSAoRXZlbnQgOiBpbiBHZGtfRXZlbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIFBy
b3BlcnR5IDogR2RrLlR5cGVzLkdka19BdG9tKTsKICAgLS0gIFNldCB0aGUgUHJvcGVydHkgZmll
bGQgb2YgYW4gZXZlbnQuCgogICBwcm9jZWR1cmUgU2V0X1JlcXVlc3RvciAoRXZlbnQgOiBpbiBH
ZGtfRXZlbnQ7IFJlcXVlc3RvciA6IEd1aW50MzIpOwogICAtLSAgU2V0IHRoZSBSZXF1ZXN0b3Ig
ZmllbGQgb2YgYW4gZXZlbnQuCgogICBwcm9jZWR1cmUgU2V0X01lc3NhZ2VfVHlwZSAoRXZlbnQg
OiBpbiBHZGtfRXZlbnQ7IFR5cCA6IEdkay5UeXBlcy5HZGtfQXRvbSk7CiAgIC0tICBTZXQgdGhl
IE1lc3NhZ2VfVHlwZSBmaWVsZCBvZiBhbiBldmVudC4KCiAgIHByb2NlZHVyZSBTZXRfU3RyaW5n
IChFdmVudCA6IGluIEdka19FdmVudDsgU3RyIDogU3RyaW5nKTsKICAgLS0gIFNldCB0aGUgc3Ry
aW5nIGFzc29jaWF0ZWQgd2l0aCBhbiBldmVudC4KCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CiAgIC0tIEdlbmVyYWwgZnVuY3Rpb25zIC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgog
ICBwcm9jZWR1cmUgRGVlcF9Db3B5IChGcm9tIDogR2RrX0V2ZW50OyBUbyA6IG91dCBHZGtfRXZl
bnQpOwogICAtLSAgRGVlcCBjb3B5IGZvciBhbiBldmVudC4gVGhlIEMgc3RydWN0dXJlIGlzIGl0
c2VsZiBkdXBsaWNhdGVkLgogICAtLSAgWW91IG5lZWQgdG8gZGVhbGxvY2F0ZWQgaXQgeW91cnNl
bGYgd2l0aCBhIGNhbGwgdG8gRnJlZSBiZWxvdy4KCiAgIHByb2NlZHVyZSBHZXRfR3JhcGhpY3Nf
RXhwb3NlCiAgICAgKEV2ZW50ICA6IG91dCBHZGtfRXZlbnRfRXhwb3NlOwogICAgICBXaW5kb3cg
OiBpbiBHZGsuV2luZG93Lkdka19XaW5kb3cpOwogICAtLSAgV2FpdHMgZm9yIGEgR3JhcGhpY3NF
eHBvc2Ugb3IgTm9FeHBvc2UgZXZlbnQKICAgLS0gIElmIGl0IGdldHMgYSBHcmFwaGljc0V4cG9z
ZSBldmVudCwgaXQgcmV0dXJucyBhIHBvaW50ZXIgdG8gaXQsCiAgIC0tICBvdGhlcndpc2UgaXQg
cmV0dXJucyBhbiBldmVudCBmb3Igd2hpY2ggSXNfQ3JlYXRlZCBpcyBGYWxzZS4KICAgLS0KICAg
LS0gIFRoaXMgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gaW1wbGVtZW50IHNjcm9sbGluZzogeW91
IG11c3QgY2FsbAogICAtLSAgR2RrLkdDLlNldF9FeHBvc3VyZXMgd2l0aCBUcnVlIG9uIHRoZSBH
QyB5b3UgYXJlIHVzaW5nIGZvciB0aGUKICAgLS0gIGRyYXdpbmcsIHNvIHRoYXQgYSBldmVudHMg
YXJlIGdlbmVyYXRlZCBmb3Igb2JzY3VyZWQgYXJlYXMgYW5kIGV2ZXJ5CiAgIC0tICB0aW1lIGEg
bmV3IHBhcnQgb2YgdGhlIHdpZGdldCBpcyBkcmF3bi4gSG93ZXZlciwgdGhlcmUgaXMgYSByYWNl
CiAgIC0tICBjb25kaXRpb24gaWYgbXVsdGlwbGUgc2Nyb2xscyBoYXBwZW4gYmVmb3JlIHlvdSBo
YXZlIGZpbmlzaGVkCiAgIC0tICBwcm9jZXNzaW5nIHRoZSBmaXJzdCBvbmUuIEEgd29ya2Fyb3Vu
ZCBpcyB0byBjYWxsIEdldF9HcmFwaGljc19FeHBvc2UKICAgLS0gIGFmdGVyIGV2ZXJ5IHNjcm9s
bCB1bnRpbCBpdCByZXR1cm5zIGEgbnVsbCBldmVudC4KCiAgIGZ1bmN0aW9uIEV2ZW50c19QZW5k
aW5nIHJldHVybiBCb29sZWFuOwogICAtLSAgSXMgdGhlcmUgYW55IGV2ZW50IHBlbmRpbmcgb24g
dGhlIHF1ZXVlID8KCiAgIHByb2NlZHVyZSBHZXQgKEV2ZW50IDogb3V0IEdka19FdmVudCk7CiAg
IC0tICBHZXQgdGhlIG5leHQgZXZlbnQgb24gdGhlIHF1ZXVlLgoKICAgcHJvY2VkdXJlIFBlZWsg
KEV2ZW50IDogb3V0IEdka19FdmVudCk7CiAgIC0tICBMb29rIGF0IHRoZSBuZXh0IGV2ZW50IG9u
IHRoZSBxdWV1ZSwgYnV0IGxlYXZlIGlmIHRoZXJlLgoKICAgcHJvY2VkdXJlIFB1dCAoRXZlbnQg
OiBpbiBHZGtfRXZlbnQpOwogICAtLSAgQWRkIGFuIGV2ZW50IG9uIHRoZSBxdWV1ZSAtIEJldHRl
ciB0byB1c2UgR3RrLlNpZ25hbC5FbWl0X0J5X05hbWUKCiAgIHByb2NlZHVyZSBTZXRfU2hvd19F
dmVudHMgKFNob3dfRXZlbnRzIDogaW4gQm9vbGVhbiA6PSBUcnVlKTsKICAgLS0gIEZvciBkZWJ1
ZyBwdXJwb3NlcywgeW91IGNhbiBjaG9vc2Ugd2hldGhlciB5b3Ugd2FudCB0byBzZWUgdGhlIGV2
ZW50cwogICAtLSAgR3RrQWRhIHJlY2VpdmVzLgoKICAgZnVuY3Rpb24gR2V0X1Nob3dfRXZlbnRz
IHJldHVybiBCb29sZWFuOwogICAtLSAgUmV0dXJuIHRoZSBjdXJyZW50IHN0YXRlIG9mIFNob3df
RXZlbnRzLgoKICAgcHJvY2VkdXJlIFNlbmRfQ2xpZW50X01lc3NhZ2VfVG9fQWxsIChFdmVudCA6
IGluIEdka19FdmVudCk7CiAgIC0tICBMb3cgbGV2ZWwgcm91dGluZSB0byBzZW5kIGFuIEV2ZW50
IHRvIGV2ZXJ5IHdpbmRvdy4KCiAgIGZ1bmN0aW9uIFNlbmRfQ2xpZW50X01lc3NhZ2UKICAgICAo
RXZlbnQgOiBpbiBHZGtfRXZlbnQ7CiAgICAgIFhpZCAgIDogaW4gR3VpbnQzMikgcmV0dXJuIEJv
b2xlYW47CiAgIC0tICBMb3cgbGV2ZWwgcm91dGluZSB0byBzZW5kIGFuIEV2ZW50IHRvIGEgc3Bl
Y2lmaWVkIFggd2luZG93LgoKICAgcHJvY2VkdXJlIEFsbG9jYXRlCiAgICAgKEV2ZW50ICAgICAg
OiBvdXQgR2RrX0V2ZW50OwogICAgICBFdmVudF9UeXBlIDogaW4gVHlwZXMuR2RrX0V2ZW50X1R5
cGU7CiAgICAgIFdpbmRvdyAgICAgOiBpbiBHZGsuV2luZG93Lkdka19XaW5kb3cpOwogICAtLSAg
Q3JlYXRlIGFuIGV2ZW50LCB3aG9zZSBmaWVsZHMgYXJlIHVuaW5pdGlhbGl6ZWQuCiAgIC0tICBZ
b3UgbmVlZCB0byB1c2UgdGhlIGZ1bmN0aW9uIFNldF8qIGFib3ZlIHRvIG1vZGlmeSB0aGVtLCBi
ZWZvcmUgeW91IGNhbgogICAtLSAgc2VuZCB0aGUgZXZlbnQgd2l0aCBFbWl0X0J5X05hbWUuCiAg
IC0tICAhIU5vdGUhITogVGhlIGV2ZW50IGhhcyB0byBiZSBmcmVlZCBpZiB5b3UgaGF2ZSBjYWxs
ZWQgdGhpcyBmdW5jdGlvbi4KICAgLS0gIFVzZSB0aGUgZnVuY3Rpb24gRnJlZS4KCiAgIHByb2Nl
ZHVyZSBGcmVlIChFdmVudCA6IGluIG91dCBHZGtfRXZlbnQpOwogICAtLSAgRnJlZSB0aGUgbWVt
b3J5IChhbmQgQyBzdHJ1Y3R1cmUpIGFzc29jaWF0ZWQgd2l0aCBhbiBldmVudC4KICAgLS0gIFlv
dSBuZWVkIHRvIGNhbGwgdGhpcyBmdW5jdGlvbiBvbmx5IGlmIHRoZSBldmVudCB3YXMgY3JlYXRl
ZCB0aHJvdWdoCiAgIC0tICBBbGxvY2F0ZSwgbm90IGlmIGl0IHdhcyBjcmVhdGVkIGJ5IEd0a0Fk
YSBpdHNlbGYgKG9yIHlvdSB3b3VsZCBnZXQKICAgLS0gIGEgc2VnbWVudGF0aW9uIGZhdWx0KS4K
CiAgIHR5cGUgRXZlbnRfSGFuZGxlcl9GdW5jIGlzIGFjY2VzcyBwcm9jZWR1cmUKICAgICAoRXZl
bnQgOiBTeXN0ZW0uQWRkcmVzczsgRGF0YSA6IFN5c3RlbS5BZGRyZXNzKTsKICAgLS0gIEZ1bmN0
aW9uIHRoYXQgY2FuIGJlIHVzZWQgYXMgYSBuZXcgZXZlbnQgaGFuZGxlci4KICAgLS0gIFVzZSBG
cm9tX0FkZHJlc3MgYmVsb3cgdG8gY29udmVydCB0byBhIHJlYWwgZXZlbnQgdHlwZS4KICAgLS0g
IFRoaXMgZnVuY3Rpb24gc2hvdWxkIGRpc3BhdGNoIGFsbCB0aGUgZXZlbnRzIHByb3Blcmx5LCBz
aW5jZSBpdCByZXBsYWNlcwogICAtLSAgY29tcGxldGx5IHRoZSBkZWZhdWx0IGV2ZW50IGhhbmRs
ZXIuIEhvd2V2ZXIsIGl0IGNhbiBjYWxsCiAgIC0tICBHdGsuTWFpbi5Eb19FdmVudCB0byB0YWtl
IGNhcmUgb2YgdGhlIGV2ZW50cyBpdCBkb2VzIG5vdCBrbm93IGhvdyB0bwogICAtLSAgaGFuZGxl
LgoKICAgcHJvY2VkdXJlIEV2ZW50X0hhbmRsZXJfU2V0CiAgICAgKEZ1bmMgOiBFdmVudF9IYW5k
bGVyX0Z1bmM7IERhdGEgOiBTeXN0ZW0uQWRkcmVzcyk7CiAgIC0tICBTZXQgdXAgYSBuZXcgZXZl
bnQgaGFuZGxlci4KICAgLS0gIFRoaXMgaGFuZGxlciByZXBsYWNlcyB0aGUgZGVmYXVsdCBHdGtB
ZGEgZXZlbnQgaGFuZGxlciwgYW5kIHRodXMgc2hvdWxkCiAgIC0tICBtYWtlIHN1cmUgdGhhdCBh
bGwgZXZlbnRzIGFyZSBjb3JyZWN0bHkgaGFuZGxlZC4KICAgLS0KICAgLS0gIE5vdGUgdGhhdCBt
YW5hZ2luZyB0aGUgbWVtb3J5IGZvciBEYXRhIGlzIHlvdXIgcmVzcG9uc2FiaWxpdHksIGFuZAog
ICAtLSAgRGF0YSBpcyBwYXNzZWQgYXMgaXMgdG8gRnVuYy4KCiAgIGZ1bmN0aW9uIEZyb21fQWRk
cmVzcyAoQyA6IFN5c3RlbS5BZGRyZXNzKSByZXR1cm4gR2RrX0V2ZW50OwogICAtLSAgQ29udmVy
dCBhIEMgaGFuZGxlciB0byB0aGUgbWF0Y2hpbmcgRXZlbnQgc3RydWN0dXJlLgoKICAgZnVuY3Rp
b24gVG9fQWRkcmVzcyAoQyA6IEdka19FdmVudCkgcmV0dXJuIFN5c3RlbS5BZGRyZXNzOwogICAt
LSAgQ29udmVydCBhbiBldmVudCB0byB0aGUgdW5kZXJseWluZyBDIGhhbmRsZXIuCgogICBmdW5j
dGlvbiBJc19DcmVhdGVkIChFIDogR2RrX0V2ZW50KSByZXR1cm4gQm9vbGVhbjsKICAgLS0gIFJl
dHVybiBUcnVlIGlmIHRoZSB1bmRlcmx5aW5nIEMgZXZlbnQgaGFzIGJlZW4gY3JlYXRlZC4KCiAg
IC0tLS0tLS0tLS0tLS0tLS0tLS0KICAgLS0gRGVzaWduIGlzc3VlcyAtLQogICAtLS0tLS0tLS0t
LS0tLS0tLS0tCiAgIC0tICBTZWUgZ2RrLWV2ZW50LmFkYiBmb3Igc29tZSBvZiB0aGUgZGVzaWdu
IGlzc3VlcyBiZWhpbmcgdGhhdCBwYWNrYWdlLgoKcHJpdmF0ZQogICBwcmFnbWEgSW1wb3J0IChD
LCBHZXRfRXZlbnRfVHlwZSwgImFkYV9nZGtfZXZlbnRfZ2V0X3R5cGUiKTsKICAgcHJhZ21hIElt
cG9ydCAoQywgR2V0X1dpbmRvdywgImFkYV9nZGtfZXZlbnRfZ2V0X3dpbmRvdyIpOwogICBwcmFn
bWEgSW1wb3J0IChDLCBHZXRfVGltZSwgImdka19ldmVudF9nZXRfdGltZSIpOwogICBwcmFnbWEg
SW1wb3J0IChDLCBQdXQsICJnZGtfZXZlbnRfcHV0Iik7CiAgIHByYWdtYSBJbXBvcnQKICAgICAo
QywgU2VuZF9DbGllbnRfTWVzc2FnZV9Ub19BbGwsICJnZGtfZXZlbnRfc2VuZF9jbGllbnRtZXNz
YWdlX3RvYWxsIik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIFNldF9XaW5kb3csICJhZGFfZ2RrX2V2
ZW50X3NldF93aW5kb3ciKTsKCmVuZCBHZGsuRXZlbnQ7Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tICAgICAg
ICAgIEd0a0FkYSAtIEFkYTk1IGJpbmRpbmcgZm9yIHRoZSBHaW1wIFRvb2xraXQgICAgICAgICAg
ICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0IChD
KSAxOTk4LTIwMDAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICBFbW1hbnVlbCBC
cmlvdCwgSm9lbCBCcm9iZWNrZXIgYW5kIEFybmF1ZCBDaGFybGV0ICAgICAgICAgIC0tCi0tICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC0tCi0tIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IgICAgIC0tCi0tIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyAgICAgICAgICAgICAgIC0tCi0tIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciAgICAgIC0tCi0t
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4gIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCAgIC0tCi0tIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mICAgIC0t
Ci0tIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VIC0tCi0tIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4gICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyAgICAgICAg
IC0tCi0tIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8g
dGhlICAgICAgICAgICAgIC0tCi0tIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkg
VGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCAgICAgIC0tCi0tIEJvc3RvbiwgTUEgMDIxMTEtMTMw
NywgVVNBLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC0tCi0tIEFzIGEgc3BlY2lhbCBleGNlcHRpb24sIGlmIG90aGVyIGZpbGVzIGluc3RhbnRp
YXRlIGdlbmVyaWNzIGZyb20gIC0tCi0tIHRoaXMgdW5pdCwgb3IgeW91IGxpbmsgdGhpcyB1bml0
IHdpdGggb3RoZXIgZmlsZXMgdG8gcHJvZHVjZSBhbiAgIC0tCi0tIGV4ZWN1dGFibGUsIHRoaXMg
IHVuaXQgIGRvZXMgbm90ICBieSBpdHNlbGYgY2F1c2UgIHRoZSByZXN1bHRpbmcgIC0tCi0tIGV4
ZWN1dGFibGUgdG8gYmUgY292ZXJlZCBieSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Uu
IFRoaXMgIC0tCi0tIGV4Y2VwdGlvbiBkb2VzIG5vdCBob3dldmVyIGludmFsaWRhdGUgYW55IG90
aGVyIHJlYXNvbnMgd2h5IHRoZSAgIC0tCi0tIGV4ZWN1dGFibGUgZmlsZSAgbWlnaHQgYmUgY292
ZXJlZCBieSB0aGUgIEdOVSBQdWJsaWMgTGljZW5zZS4gICAgIC0tCi0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgot
LSAgPGRlc2NyaXB0aW9uPgotLSAgVGhpcyBpcyB0aGUgYmFzZSBwYWNrYWdlIGZvciBoYW5kbGlu
ZyBmb250cy4KLS0gIEd0a0FkYSBrbm93cyBhYm91dCBiaXRtYXAgYW5kIHZlY3RvcmlhbCBmb250
cywgYW5kIGNhbiBkcmF3IGJvdGguCi0tICBUaGUgbGlzdCBvZiBmb250cyBhdmFpbGFibGUgdG8g
eW91IGRlcGVuZHMgb24gd2hhdCBpcyBpbnN0YWxsZWQgb24KLS0gIHlvdXIgc3lzdGVtLgotLQot
LSAgVGhlIG5hbWUgb2YgdGhlIGZvbnQgaXMgaW5kaWNhdGVkIGluIHRoZSBzdGFuZGFyZCBYMTEg
ZmFzaGlvbiwgbmFtZWx5OgotLSAgKGV4YW1wbGUgZXh0cmFjdGVkIGZyb20gdGhlIFhsaWIgbWFu
dWFsKToKLS0KLS0gIC1hZG9iZS1jb3VyaWVyLWJvbGQtby1ub3JtYWwtLTEwLTEwMC03NS03NS1t
LTYwLWlzbzg4NTktMQotLSAgd2hlcmU6Ci0tICAgIC0gYWRvYmUgICAgIDogZm91bmRyeQotLSAg
ICAtIGNvdXJpZXIgICA6IGZvbnQgZmFtaWx5Ci0tICAgIC0gYm9sZCAgICAgIDogd2VpZ2h0IChl
LmcuIGJvbGQsIG1lZGl1bSkKLS0gICAgLSBvICAgICAgICAgOiBzbGFudCAoZS5nLiByb21hbiwg
aXRhbGljLCBvYmxpcXVlKQotLSAgICAtIG5vcm1hbCAgICA6IHNldCB3aWR0aCAoZS5nLiBub3Jt
YWwsIGNvbmRlbnNlZCwgbmFycm93LCBkb3VibGUpCi0tICAgIC0gMTAgICAgICAgIDogcGl4ZWxz
Ci0tICAgIC0gMTAwICAgICAgIDogcG9pbnRzIChpbiB0ZW50aHMgb2YgYSBwb2ludCkKLS0gICAg
LSA3NSAgICAgICAgOiBob3Jpem9udGFsIHJlc29sdXRpb24gaW4gZHBpCi0tICAgIC0gNzUgICAg
ICAgIDogdmVydGljYWwgcmVzb2x1dGlvbiBpbiBkcGkKLS0gICAgLSBtICAgICAgICAgOiBzcGFj
aW5nIChlLmcuIG1vbm9zcGFjZSBvciBwcm9wb3J0aW9uYWwpCi0tICAgIC0gNjAgICAgICAgIDog
YXZlcmFnZSB3aWR0aCAoaW4gdGVudGhzIG9mIGEgcGl4ZWwpCi0tICAgIC0gaXNvODg1OS0xIDog
Y2hhcmFjdGVyIHNldAotLQotLSAgQW55IG9mIHRoZSBmaWVsZHMgY2FuIGhhdmUgYSAnKicgaW5z
dGVhZCwgc28gdGhhdCB0aGUgc3lzdGVtIHdpbGwKLS0gIGF1dG9tYXRpY2FsbHkgZmluZCBhIGZv
bnQgdGhhdCBtYXRjaGVzIHRoZSByZXN0IG9mIHRoZSBzdHJpbmcsIGFuZCB3b24ndAotLSAgY2Fy
ZSBhYm91dCB0aGF0IHNwZWNpZmljIGZpZWxkLgotLQotLSAgQnV0IHRoZSBlYXNpZXN0IHdheSB0
byBzZWxlY3QgYSBmb250IGlzIGJ5IHVzaW5nIHNvbWUgZXh0ZXJuYWwgcHJvZ3JhbXMsCi0tICBm
b3IgaW5zdGFuY2UgeGZvbnRzZWwsIHhsc2ZvbnQsIGdmb250c2VsLCBvciBldmVuIHRoZSBmb250
IHNlbGVjdGlvbgotLSAgZGlhbG9nIGV4YW1wbGUgaW4gdGhlIHRlc3RndGsvIGRpcmVjdG9yeSBv
ZiB0aGUgR3RrQWRhIGRpc3RyaWJ1dGlvbi4KLS0KLS0gIEBweHJlZntQYWNrYWdlX0d0ay5FeHRy
YS5Qc0ZvbnR9IGZvciBhIHBhY2thZ2UgdGhhdCBwcm9jZXNzZXMgcG9zdHNjcmlwdAotLSAgZm9u
dHMsIHdpdGggdGhlaXIgbW9yZSB1c3VhbCBuYW1lcywgYW5kIGNhbiBlYXNpbHkgY29udmVydCB0
aGVtIHRvIHN0YW5kYXJkCi0tICBHZGtfRm9udCBzdHJ1Y3R1cmVzLgotLQotLSAgU29tZSBvZiB0
aGUgZnVuY3Rpb25zIGJlbG93IHNob3VsZCBiZSB1c2VkIG9ubHkgZm9yIHdpZGUtY2hhcmFjdGVy
IHN0cmluZ3MuCi0tICBUaGlzIGlzIG5lZWRlZCBmb3IgbGFuZ3VhZ2VzIHdpdGggbW9yZSB0aGFu
IDI1NiBjaGFyYWN0ZXJzLgotLQotLSAgV2lkZSBjaGFyYWN0ZXIgdmFsdWVzIGJldHdlZW4gMCBh
bmQgMTI3IGFyZSBhbHdheXMgaWRlbnRpY2FsIGluIG1lYW5pbmcgdG8KLS0gIHRoZSBBU0NJSSBj
aGFyYWN0ZXIgY29kZXMuCi0tICBBbiBhbHRlcm5hdGl2ZSB0byB3aWRlIGNoYXJhY3RlcnMgaXMg
bXVsdGktYnl0ZSBjaGFyYWN0ZXJzLCB3aGljaCBleHRlbmQKLS0gIG5vcm1hbCBjaGFyIHN0cmlu
Z3MgdG8gY29wZSB3aXRoIGxhcmdlciBjaGFyYWN0ZXIgc2V0cy4gQXMgdGhlIG5hbWUKLS0gIHN1
Z2dlc3RzLCBtdWx0aS1ieXRlIGNoYXJhY3RlcnMgdXNlIGEgZGlmZmVyZW50IG51bWJlciBvZiBi
eXRlcyB0byBzdG9yZQotLSAgZGlmZmVyZW50IGNoYXJhY3RlciBjb2Rlcy4gRm9yIGV4YW1wbGUg
Y29kZXMgMC0xMjcgKGkuZS4gdGhlIEFTQ0lJIGNvZGVzKQotLSAgb2Z0ZW4gdXNlIGp1c3Qgb25l
IGJ5dGUgb2YgbWVtb3J5LCB3aGlsZSBvdGhlciBjb2RlcyBtYXkgdXNlIDIsIDMgb3IgZXZlbgot
LSAgNCBieXRlcy4gTXVsdGktYnl0ZSBjaGFyYWN0ZXJzIGhhdmUgdGhlIGFkdmFudGFnZSB0aGF0
IHRoZXkgY2FuIG9mdGVuIGJlCi0tICB1c2VkIGluIGFuIGFwcGxpY2F0aW9uIHdpdGggbGl0dGxl
IGNoYW5nZSwgc2luY2Ugc3RyaW5ncyBhcmUgc3RpbGwKLS0gIHJlcHJlc2VudGVkIGFzIGFycmF5
cyBvZiBjaGFyIHZhbHVlcy4gSG93ZXZlciBtdWx0aS1ieXRlIHN0cmluZ3MgYXJlIG11Y2gKLS0g
IGVhc2llciB0byBtYW5pcHVsYXRlIHNpbmNlIHRoZSBjaGFyYWN0ZXIgYXJlIGFsbCBvZiB0aGUg
c2FtZSBzaXplLgotLQotLSAgT24gVW5peCBzeXN0ZW1zLCB0aGUgZXh0ZXJuYWwgdXRpbGl0eSAn
eGZkJyBjYW4gYmUgdXNlZCB0byBkaXNwbGF5IGFsbAotLSAgdGhlIGNoYXJhY3RlcnMgaW4gYSBm
b250LgotLQotLSAgPC9kZXNjcmlwdGlvbj4KLS0gIDxjX3ZlcnNpb24+MS4yLjc8L2NfdmVyc2lv
bj4KLS0gIDxzY3JlZW5zaG90PmZvbnQ8L3NjcmVlbnNob3Q+Cgp3aXRoIEdsaWI7IHVzZSBHbGli
Owp3aXRoIEdkay5UeXBlczsKCnBhY2thZ2UgR2RrLkZvbnQgaXMKCiAgIHR5cGUgR2RrX0ZvbnQg
aXMgbmV3IEdkay5DX1Byb3h5OwogICAtLSAgQSBmb250IHVzZWQgdG8gZHJhdyB0ZXh0LgogICAt
LSAgVGhpcyBjYW4gcmVwcmVzZW50IGEgYml0bWFwIGZvbnQsIGEgc2NhbGFibGUgKHZlY3Rvcmlh
bCkgZm9udCwgb3IKICAgLS0gIGEgZm9udHNldC4gQSBmb250c2V0IGlzIGEgbGlzdCBvZiBjb21t
YS1zZXBhcmF0ZWQgZm9udHMsIHRoYXQgcGVybWl0cwogICAtLSAgR3RrQWRhIHRvIG9idGFpbiB0
aGUgZm9udHMgbmVlZGVkIGZvciBhIHZhcmlldHkgb2YgbG9jYWxlcyBmcm9tIGEKICAgLS0gIHNp
bmdsZSBsb2NhbGUtaW5kZXBlbmRlbnQgYmFzZSBmb250IG5hbWUuIFRoZSBzaW5nbGUgYmFzZSBm
b250IG5hbWUKICAgLS0gIHNob3VsZCBuYW1lIGEgZmFtaWx5IG9mIGZvbnRzIHdob3NlIG1lbWJl
cnMgYXJlIGVuY29kZWQgaW4gdGhlIHZhcmlvdXMKICAgLS0gIGNoYXJzZXRzIG5lZWRlZCBieSB0
aGUgbG9jYWxlcyBvZiBpbnRlcmVzdC4KICAgLS0gIFRoZSBhbGdvcml0aG0gdXNlZCB0byBzZWxl
Y3QgdGhlIGZvbnQgaXMgZGVzY3JpYmVkIGluIHRoZSBtYW51YWwgcGFnZQogICAtLSAgZm9yIFhD
cmVhdGVGb250U2V0KDNYKS4KCiAgIE51bGxfRm9udCA6IGNvbnN0YW50IEdka19Gb250OwoKICAg
cHJvY2VkdXJlIExvYWQgKEZvbnQgICAgICA6ICAgIG91dCBHZGtfRm9udDsKICAgICAgICAgICAg
ICAgICAgIEZvbnRfTmFtZSA6IGluICAgICBTdHJpbmcpOwogICAtLSAgTG9hZCBhIG5ldyBmb250
LCBnaXZlbiBpdHMgbmFtZS4KICAgLS0gIFRoaXMgaXMgdGhlIGZpcnN0IHN0ZXAgYmVmb3JlIHVz
aW5nIGEgZm9udC4KICAgLS0gIFRoZSBmb250IGlzIGZpcnN0IGxvb2tlZCB1cCBpbiB0aGUgY2Fj
aGUsIGFuZCBpZiBpdCB3YXMgYWxyZWFkeQogICAtLSAgbG9hZGVkLCBpdCBpcyBub3QgcmVsb2Fk
ZWQgYWdhaW4uIFRodXMsIGl0IGRvZXMgbm90IGhhcm0gdG8gY2FsbAogICAtLSAgdGhpcyBmdW5j
dGlvbiBtdWx0aXBsZSB0aW1lcyB3aXRoIHRoZSBzYW1lIEZvbnRfTmFtZS4KICAgLS0gIE51bGxf
Rm9udCBpcyByZXR1cm5lZCBpZiB0aGUgZm9udCBjb3VsZCBub3QgYmUgbG9hZGVkLgoKICAgcHJv
Y2VkdXJlIEZvbnRzZXRfTG9hZCAoRm9udCAgICAgICAgIDogICBvdXQgR2RrX0ZvbnQ7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEZvbnRzZXRfTmFtZSA6IGluICAgIFN0cmluZyk7CiAgIC0t
ICBMb2FkIGEgbmV3IGZvbnQgc2V0LgogICAtLSAgRm9udHNldF9OYW1lIGlzIGEgY29tbWEtc2Vw
YXJhdGVkIGxpc3Qgb2YgZm9udHMgdGhhdCB3aWxsIGJlIGxvYWRlZAogICAtLSAgYXMgcGFydCBv
ZiB0aGUgZm9udHNldC4KCiAgIHByb2NlZHVyZSBSZWYgKEZvbnQgOiBpbiBHZGtfRm9udCk7CiAg
IC0tICBJbmNyZW1lbnQgdGhlIHJlZmVyZW5jZSBjb3VudGVyIGZvciB0aGUgZm9udC4KICAgLS0g
IFlvdSBzaG91bGQgbm90IG1ha2UgYW55IGFzc3VtcHRpb24gb2YgdGhlIGluaXRpYWwgdmFsdWUg
b2YgdGhlIGZvbnRzCiAgIC0tICByZXR1cm5lZCBieSBMb2FkIG9yIEZvbnRzZXRfTG9hZCwgc2lu
Y2UgdGhlc2UgY2FuIGJlIGV4dHJhY3RlZCBmcm9tIGEKICAgLS0gIGNhY2hlLgoKICAgcHJvY2Vk
dXJlIFVucmVmIChGb250IDogaW4gR2RrX0ZvbnQpOwogICAtLSAgRGVjcmVtZW50IHRoZSByZWZl
cmVuY2UgY291bnRlciBmb3IgdGhlIGZvbnQuCiAgIC0tICBXaGVuIHRoaXMgY291bnRlciByZWFj
aGVzIDAsIHRoZSBmb250IGlzIGRlbGV0ZWQgZnJvbSBtZW1vcnkuCgogICBmdW5jdGlvbiBJZCAo
Rm9udCA6IGluIEdka19Gb250KSByZXR1cm4gR2ludDsKICAgLS0gIFJldHVybiB0aGUgWCBmb250
IGlkIGZvciB0aGUgZm9udC4KICAgLS0gIFRoaXMgSWQgd2lsbCBvbmx5IGJlIG5lZWRlZCBpZiB5
b3Ugd2FudCB0byBjYWxsIGRpcmVjdGx5IFgxMSBmdW5jdGlvbnMsCiAgIC0tICB5b3Ugd29uJ3Qg
bmVlZCBpdCB3aXRoIEd0a0FkYS4KCiAgIGZ1bmN0aW9uIEVxdWFsIChGb250YSwgRm9udGIgOiBp
biBHZGtfRm9udCkgcmV0dXJuIEJvb2xlYW47CiAgIC0tICBDb21wYXJlIHR3byBmb250cyBvciB0
d28gZm9udHNldHMgZm9yIGVxdWFsaXR5LgogICAtLSAgVHdvIGZvbnRzIGFyZSBlcXVhbCBpZiB0
aGV5IGhhdmUgdGhlIHNhbWUgZm9udCBJZC4KICAgLS0gIFR3byBmb250c2V0cyBhcmUgZXF1YWwg
aWYgdGhlIG5hbWUgZ2l2ZW4gdG8gRm9udHNldF9Mb2FkIHdhcyB0aGUgc2FtZS4KCiAgIGZ1bmN0
aW9uIEdldF9Bc2NlbnQgKEZvbnQgOiBpbiBHZGtfRm9udCkgcmV0dXJuIEdpbnQ7CiAgIC0tICBS
ZXR1cm4gdGhlIG1heGltYWwgYXNjZW50IGZvciB0aGUgZm9udC4KICAgLS0gIFRoaXMgaXMgdGhl
IGxvZ2ljYWwgZXh0ZW50IGFib3ZlIHRoZSBiYXNlbGluZSBmb3Igc3BhY2luZyBiZXR3ZWVuIHR3
bwogICAtLSAgbGluZXMuCgogICBmdW5jdGlvbiBHZXRfRGVzY2VudCAoRm9udCA6IGluIEdka19G
b250KSByZXR1cm4gR2ludDsKICAgLS0gIFJldHVybiB0aGUgbWF4aW1hbCBkZXNjZW50IGZvciB0
aGUgZm9udC4KICAgLS0gIFRoaXMgaXMgdGhlIGxvZ2ljYWwgZXh0ZW50IGJlbG93IHRoZSBiYXNl
bGluZSBmb3Igc3BhY2luZyBiZXR3ZWVuIHR3bwogICAtLSAgbGluZXMuCgogICBmdW5jdGlvbiBT
dHJpbmdfV2lkdGggKEZvbnQgOiBpbiBHZGtfRm9udDsKICAgICAgICAgICAgICAgICAgICAgICAg
ICBTdHIgIDogaW4gU3RyaW5nKQogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpbnQ7
CiAgIC0tICBSZXR1cm4gdGhlIHdpZHRoIGluIHBpeGVscyB0aGF0IFN0ciB3aWxsIG9jY3VweSBp
ZiBkcmF3biB3aXRoIEZvbnQuCiAgIC0tICBUaGUgdmFsdWUgcmV0dXJuZWQgaXMgdGhlIGRpc3Rh
bmNlIGJldHdlZW4gdGhlIG9yaWdpbiBvZiB0aGUgdGV4dCBhbmQKICAgLS0gIHRoZSBwb3NpdGlv
biBhdCB3aGljaCB0aGUgbmV4dCBzdHJpbmcgc2hvdWxkIGJlIGRyYXduLgoKICAgZnVuY3Rpb24g
VGV4dF9XaWR0aCAoRm9udCA6IGluIEdka19Gb250OwogICAgICAgICAgICAgICAgICAgICAgICBU
ZXh0IDogaW4gU3RyaW5nKQogICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaW50OwogICAt
LSAgVGhpcyBpcyB0aGUgc2FtZSBmdW5jdGlvbiBhcyBTdHJpbmdfV2lkdGguCiAgIC0tICBJbiBD
LCB0aGlzIGZ1bmN0aW9uIGlzIGludGVuZGVkIHRvIG1lYXN1cmUgb25seSB0aGUgd2lkdGggb2Yg
YSBwYXJ0CiAgIC0tICBvZiB0aGUgc3RyaW5nLCBidXQgeW91IGNhbiBzaW1wbHkgcGFzcyBpdCBh
IHN1YnN0cmluZyBpbiBBZGEuCgogICBmdW5jdGlvbiBUZXh0X1dpZHRoIChGb250IDogaW4gR2Rr
X0ZvbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgIFRleHQgOiBpbiBHZGsuVHlwZXMuR2RrX1dT
dHJpbmcpCiAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpbnQ7CiAgIC0tICBSZXR1cm4g
dGhlIHdpZHRoIGluIHBpeGVscyB0aGF0IFRleHQgd2lsbCBvY2N1cHkgb24gdGhlIHNjcmVlbi4K
ICAgLS0gIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIHVzZWQgd2l0aCBzdHJpbmdzIHRoYXQgY29u
dGFpbiBVbmljb2RlCiAgIC0tICBjaGFyYWN0ZXJzCgogICBmdW5jdGlvbiBDaGFyX1dpZHRoIChG
b250IDogaW4gR2RrX0ZvbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgIENoYXIgOiBpbiBDaGFy
YWN0ZXIpCiAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpbnQ7CiAgIC0tICBSZXR1cm4g
dGhlIHdpZHRoIGluIHBpeGVscyBvY2N1cGllZCBieSBhIHNpbmdsZSBjaGFyYWN0ZXIgb24gdGhl
IHNjcmVlbi4KICAgLS0gIFRoZSB2YWx1ZSByZXR1cm5lZCBpcyB0aGUgZGlzdGFuY2UgYmV0d2Vl
biBDaGFyJ3Mgb3JpZ2luIG9uIHRoZSBzY3JlZW4KICAgLS0gIGFuZCB0aGUgb3JpZ2luIG9mIHRo
ZSBuZXh0IGNoYXJhY3RlciBpbiB0aGUgc3RyaW5nLgoKICAgZnVuY3Rpb24gQ2hhcl9XaWR0aCAo
Rm9udCA6IGluIEdka19Gb250OwogICAgICAgICAgICAgICAgICAgICAgICBDaGFyIDogaW4gR2Rr
LlR5cGVzLkdka19XQ2hhcikKICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2ludDsKICAg
LS0gIFJldHVybiB0aGUgd2lkdGggaW4gcGl4ZWxzIG9jY3VwaWVkIGJ5IGEgc2luZ2xlIHdpZGUt
Y2hhcmFjdGVyLgoKICAgZnVuY3Rpb24gU3RyaW5nX01lYXN1cmUgKEZvbnQgOiBpbiBHZGtfRm9u
dDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0ciAgOiBpbiBTdHJpbmcpCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBHaW50OwogICAtLSAgRGV0ZXJtaW5lIHRoZSBkaXN0
YW5jZSBmcm9tIHRoZSBvcmlnaW4gdG8gdGhlIHJpZ2h0bW9zdCBwb3J0aW9uIG9mIFN0ci4KICAg
LS0gIFRoaXMgaXMgbm90IHRoZSBjb3JyZWN0IHZhbHVlIGZvciBkZXRlcm1pbmluZyB0aGUgb3Jp
Z2luIG9mIHRoZSBuZXh0CiAgIC0tICBwb3J0aW9uIHdoZW4gZHJhd2luZyB0ZXh0IGluIG11bHRp
cGxlIHBpZWNlcy4KICAgLS0gIFNlZSBTdHJpbmdfV2lkdGggaW5zdGVhZC4KCiAgIGZ1bmN0aW9u
IFRleHRfTWVhc3VyZSAoRm9udCA6IGluIEdka19Gb250OwogICAgICAgICAgICAgICAgICAgICAg
ICAgIFRleHQgOiBpbiBTdHJpbmcpCiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2lu
dDsKICAgLS0gIFNhbWUgZnVuY3Rpb24gYSBTdHJpbmdfTWVhc3VyZS4KICAgLS0gIEluIEMsIHRo
aXMgZnVuY3Rpb24gaXMgaW50ZW5kZWQgdG8gbWVhc3VyZSBvbmx5IHRoZSB3aWR0aCBvZiBhIHBh
cnQgb2YKICAgLS0gIHRoZSBzdHJpbmcsIGJ1dCB5b3UgY2FuIHNpbXBseSBwYXNzIGl0IGEgc3Vi
c3RyaW5nIGluIEFkYS4KICAgLS0gIFRoaXMgaXMgYWxzbyBjYWxsZWQgdGhlIHJpZ2h0IGJlYXJp
bmcgb2YgdGhlIHN0cmluZy4KCiAgIGZ1bmN0aW9uIENoYXJfTWVhc3VyZSAoRm9udCA6IGluIEdk
a19Gb250OwogICAgICAgICAgICAgICAgICAgICAgICAgIENoYXIgOiBpbiBDaGFyYWN0ZXIpCiAg
ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2ludDsKICAgLS0gIFJldHVybiB0aGUgd2lk
dGggaW4gcGl4ZWxzIG9mIENoYXIuCiAgIC0tICBBcyBvcHBvc2VkIHRvIENoYXJfV2lkdGgsIHRo
ZSB2YWx1ZSByZXR1cm5lZCBpcyBub3QgdGhlIGRpc3RhbmNlIGF0CiAgIC0tICB3aGljaCB0aGUg
bmV4dCBjaGFyYWN0ZXIgc2hvdWxkIGJlIGRyYXduLgogICAtLSAgVGhpcyBpcyBhbHNvIGNhbGxl
ZCB0aGUgcmlnaHQgYmVhcmluZyBvZiB0aGUgY2hhcmFjdGVyLgoKICAgcHJvY2VkdXJlIFN0cmlu
Z19FeHRlbnRzIChGb250ICAgICA6IGluICAgICBHZGsuRm9udC5HZGtfRm9udDsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBTdHIgICAgICA6IGluICAgICBTdHJpbmc7CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTGJlYXJpbmcgOiAgICBvdXQgR2ludDsKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBSYmVhcmluZyA6ICAgIG91dCBHaW50OwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFdpZHRoICAgIDogICAgb3V0IEdpbnQ7CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgQXNjZW50ICAgOiAgICBvdXQgR2ludDsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBEZXNjZW50ICA6ICAgIG91dCBHaW50KTsKICAgLS0gIFJldHVybiB0aGUgbWV0cmljcyBmb3Ig
YSBnaXZlbiB0ZXh0LgogICAtLSAgU2VlIHRoZSBwaWN0dXJlIGZvciBtb3JlIGV4cGxhbmF0aW9u
cyBvbiBhbGwgdGhlIGZpZWxkcy4KICAgLS0gIExiZWFyaW5nIDogT3JpZ2luIHRvIGxlZnQgZWRn
ZSBvZiBjaGFyYWN0ZXIuCiAgIC0tICBSYmVhcmluZyA6IE9yaWdpbiB0byByaWdodCBlZGdlIG9m
IGNoYXJhY3Rlci4KICAgLS0gIFdpZHRoICAgIDogQWR2YW5jZSB0byBuZXh0IGNoYXJhY3Rlcidz
IG9yaWdpbi4KICAgLS0gIEFzY2VudCAgIDogQmFzZWxpbmUgdG8gdG9wIGVkZ2Ugb2YgY2hhcmFj
dGVyLgogICAtLSAgRGVzY2VudCAgOiBCYXNlbGluZSB0byBib3R0b20gZWRnZSBvZiBjaGFyYWN0
ZXIuCgogICBwcm9jZWR1cmUgVGV4dF9FeHRlbnRzIChGb250ICAgICAgICA6IGluICAgICBHZGtf
Rm9udDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgVGV4dCAgICAgICAgOiBpbiAgICAgU3Ry
aW5nOwogICAgICAgICAgICAgICAgICAgICAgICAgICBMYmVhcmluZyAgICA6ICAgIG91dCBHaW50
OwogICAgICAgICAgICAgICAgICAgICAgICAgICBSYmVhcmluZyAgICA6ICAgIG91dCBHaW50Owog
ICAgICAgICAgICAgICAgICAgICAgICAgICBXaWR0aCAgICAgICA6ICAgIG91dCBHaW50OwogICAg
ICAgICAgICAgICAgICAgICAgICAgICBBc2NlbnQgICAgICA6ICAgIG91dCBHaW50OwogICAgICAg
ICAgICAgICAgICAgICAgICAgICBEZXNjZW50ICAgICA6ICAgIG91dCBHaW50KTsKICAgLS0gIFJl
dHVybiBhbGwgdGhlIG1ldHJpY3MgZm9yIGEgZ2l2ZW4gdGV4dC4KICAgLS0gIFNlZSB0aGUgcGlj
dHVyZSBmb3IgbW9yZSBleHBsYW5hdGlvbnMgb24gYWxsIHRoZSBmaWVsZHMuCiAgIC0tICBpbiBD
LCB0aGlzIGZ1bmN0aW9uIHdvdWxkIGJlIHVzZWQgZm9yIHBhcnQgb2YgYSBzdHJpbmcsIHdoaWNo
IHlvdSBjYW4KICAgLS0gIHNpbXVsYXRlIGluIEFkYSB3aXRoIGEgc3Vic3RyaW5nLgoKICAgcHJv
Y2VkdXJlIFRleHRfRXh0ZW50cyAoRm9udCAgICAgICAgOiBpbiAgICAgR2RrX0ZvbnQ7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFRleHQgICAgICAgIDogaW4gICAgIEdkay5UeXBlcy5HZGtf
V1N0cmluZzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgTGJlYXJpbmcgICAgOiAgICBvdXQg
R2ludDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgUmJlYXJpbmcgICAgOiAgICBvdXQgR2lu
dDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgV2lkdGggICAgICAgOiAgICBvdXQgR2ludDsK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgQXNjZW50ICAgICAgOiAgICBvdXQgR2ludDsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgRGVzY2VudCAgICAgOiAgICBvdXQgR2ludCk7CiAgIC0t
ICBSZXR1cm4gYWxsIHRoZSBtZXRyaWNzIGZvciBhIGdpdmVuIHdpZGUtY2hhcmFjdGVyIHN0cmlu
Zy4KICAgLS0gIFNlZSB0aGUgcGljdHVyZSBmb3IgbW9yZSBleHBsYW5hdGlvbnMgb24gdGhlIHJl
dHVybmVkIHZhbHVlcy4KCiAgIGZ1bmN0aW9uIFN0cmluZ19IZWlnaHQgKEZvbnQgOiBpbiBHZGtf
Rm9udDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RyICA6IGluIFN0cmluZykKICAgICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2ludDsKICAgLS0gIFJldHVybiB0aGUgaGVpZ2h0
IGluIHBpeGVscyBvZiB0aGUgc3RyaW5nLgogICAtLSAgVGhpcyBpcyB0aGUgdG90YWwgaGVpZ2h0
LCBhbmQgeW91IGNhbiBub3QgZWFzaWx5IHRlbGwgaG93IHRoaXMgaGVpZ2h0CiAgIC0tICBpcyBz
cGxpdCBhcm91bmQgdGhlIGJhc2VsaW5lLgoKICAgZnVuY3Rpb24gVGV4dF9IZWlnaHQgKEZvbnQg
OiBpbiBHZGtfRm9udDsKICAgICAgICAgICAgICAgICAgICAgICAgIFN0ciAgOiBpbiBTdHJpbmcp
CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaW50OwogICAtLSAgU2FtZSBhcyBTdHJp
bmdfSGVpZ2h0LgogICAtLSAgSW4gQywgdGhpcyBmdW5jdGlvbiBpcyBpbnRlbmRlZCB0byBtZWFz
dXJlIG9ubHkgdGhlIHdpZHRoIG9mIGEgcGFydCBvZgogICAtLSAgdGhlIHN0cmluZywgYnV0IHlv
dSBjYW4gc2ltcGx5IHBhc3MgaXQgYSBzdWJzdHJpbmcgaW4gQWRhLgogICAtLSAgVGhpcyBpcyBh
bHNvIGNhbGxlZCB0aGUgcmlnaHQgYmVhcmluZyBvZiB0aGUgc3RyaW5nLgoKICAgZnVuY3Rpb24g
Q2hhcl9IZWlnaHQgKEZvbnQgOiBpbiBHZGtfRm9udDsKICAgICAgICAgICAgICAgICAgICAgICAg
IENoYXIgOiBpbiBDaGFyYWN0ZXIpCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaW50
OwogICAtLSAgUmV0dXJuIHRoZSB0b3RhbCBoZWlnaHQgaW4gcGl4ZWxzIG9mIGEgc2luZ2xlIGNo
YXJhY3Rlci4KCgpwcml2YXRlCiAgIE51bGxfRm9udCA6IGNvbnN0YW50IEdka19Gb250IDo9IG51
bGw7CiAgIHByYWdtYSBJbXBvcnQgKEMsIENoYXJfSGVpZ2h0LCAiZ2RrX2NoYXJfaGVpZ2h0Iik7
CiAgIHByYWdtYSBJbXBvcnQgKEMsIElkLCAiZ2RrX2ZvbnRfaWQiKTsKICAgcHJhZ21hIEltcG9y
dCAoQywgUmVmLCAiZ2RrX2ZvbnRfcmVmIik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIFVucmVmLCAi
Z2RrX2ZvbnRfdW5yZWYiKTsKICAgcHJhZ21hIEltcG9ydCAoQywgR2V0X0FzY2VudCwgImFkYV9n
ZGtfZm9udF9nZXRfYXNjZW50Iik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIEdldF9EZXNjZW50LCAi
YWRhX2dka19mb250X2dldF9kZXNjZW50Iik7CmVuZCBHZGsuRm9udDsKLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
LS0gICAgICAgICAgR3RrQWRhIC0gQWRhOTUgYmluZGluZyBmb3IgdGhlIEdpbXAgVG9vbGtpdCAg
ICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICBDb3B5
cmlnaHQgKEMpIDE5OTgtMjAwMCAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgIEVt
bWFudWVsIEJyaW90LCBKb2VsIEJyb2JlY2tlciBhbmQgQXJuYXVkIENoYXJsZXQgICAgICAgICAg
LS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLS0KLS0gVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciAgICAgLS0KLS0gbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljICAgICAgICAgICAgICAgLS0KLS0gTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyICAg
ICAgLS0KLS0gdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLiAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsICAgLS0KLS0gYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YgICAgLS0KLS0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUgLS0KLS0gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLiAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0g
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj
ICAgICAgICAgLS0KLS0gTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3
cml0ZSB0byB0aGUgICAgICAgICAgICAgLS0KLS0gRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsICAgICAgLS0KLS0gQm9zdG9uLCBNQSAw
MjExMS0xMzA3LCBVU0EuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0K
LS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLS0KLS0gQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiwgaWYgb3RoZXIgZmlsZXMg
aW5zdGFudGlhdGUgZ2VuZXJpY3MgZnJvbSAgLS0KLS0gdGhpcyB1bml0LCBvciB5b3UgbGluayB0
aGlzIHVuaXQgd2l0aCBvdGhlciBmaWxlcyB0byBwcm9kdWNlIGFuICAgLS0KLS0gZXhlY3V0YWJs
ZSwgdGhpcyAgdW5pdCAgZG9lcyBub3QgIGJ5IGl0c2VsZiBjYXVzZSAgdGhlIHJlc3VsdGluZyAg
LS0KLS0gZXhlY3V0YWJsZSB0byBiZSBjb3ZlcmVkIGJ5IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZS4gVGhpcyAgLS0KLS0gZXhjZXB0aW9uIGRvZXMgbm90IGhvd2V2ZXIgaW52YWxpZGF0
ZSBhbnkgb3RoZXIgcmVhc29ucyB3aHkgdGhlICAgLS0KLS0gZXhlY3V0YWJsZSBmaWxlICBtaWdo
dCBiZSBjb3ZlcmVkIGJ5IHRoZSAgR05VIFB1YmxpYyBMaWNlbnNlLiAgICAgLS0KLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KCi0tICA8ZGVzY3JpcHRpb24+Ci0tCi0tICBBIGdyYXBoaWMgY29udGV4dCBpcyBhIHN0
cnVjdHVyZSB0aGF0IGRlc2NyaWJlcyBhbGwgdGhlIGF0dHJpYnV0ZXMKLS0gIHVzZWQgYnkgdGhl
IGRyYXdpbmcgZnVuY3Rpb25zIGluIEdkay4KLS0gIFRoZSBjb2xvcnMsIGxpbmUgc3R5bGVzLCBG
aWxsIHN0eWxlcyBhbmQgc28gb24gYXJlIGRlZmluZWQgdGhyb3VnaAotLSAgdGhpcyBzdHJ1Y3R1
cmUuCi0tCi0tICBPbiBYMTEgc3lzdGVtcywgdGhpcyBzdHJ1Y3R1cmUgaXMgc3RvcmVkIGRpcmVj
dGx5IG9uIHRoZSBYU2VydmVyLAotLSAgd2hpY2ggc3BlZWRzIHVwIHRoZSB0cmFuc2ZlciBvZiB0
aGUgZHJhd2luZyBhdHRyaWJ1dGVzIGEgbG90LiBJbnN0ZWFkCi0tICBvZiB0cmFuc2ZlcnJpbmcg
YWxsIG9mIHRoZW0gZXZlcnkgdGltZSB5b3UgY2FsbCBvbmUgb2YgdGhlIGRyYXdpbmcKLS0gIGZ1
bmN0aW9ucywgeW91IHNpbXBseSBzcGVjaWZ5IHdoaWNoIEdDIHlvdSB3YW50IHRvIHVzZS4KLS0K
LS0gIFRodXMsIGl0IGlzIHJlY29tbWVuZGVkIHRvIGNyZWF0ZSBhcyBtYW55IEdDcyBhcyB5b3Ug
bmVlZCwgaW5zdGVhZAotLSAgb2YgY3JlYXRpbmcgYSBzaW5nbGUgb25lIHRoYXQgaXMgbW9kaWZp
ZWQgZXZlcnkgdGltZSB5b3UgbmVlZCB0bwotLSAgbW9kaWZ5IG9uZSBvZiB0aGUgYXR0cmlidXRl
cy4KLS0KLS0gIE9uIFVuaXggbWFjaGluZXMsIHlvdSBzaG91bGQgaGF2ZSBhIGxvb2sgYXQgdGhl
IGV4dGVybmFsIHV0aWxpdHkgJ3hnYycKLS0gIHdoaWNoIGRlbW9uc3RyYXRlcyBhbGwgdGhlIGJh
c2ljIHNldHRpbmdzIG9mIHRoZSBncmFwaGljIGNvbnRleHRzLgotLQotLSAgPC9kZXNjcmlwdGlv
bj4KLS0gIDxjX3ZlcnNpb24+MS4yLjY8L2NfdmVyc2lvbj4KCndpdGggR2xpYjsgdXNlIEdsaWI7
CndpdGggR2RrLkNvbG9yOwp3aXRoIEdkay5Gb250Owp3aXRoIEdkay5SZWN0YW5nbGU7CndpdGgg
R2RrLlJlZ2lvbjsKd2l0aCBHZGsuVHlwZXM7CndpdGggR2RrLldpbmRvdzsKCnBhY2thZ2UgR2Rr
LkdDIGlzCgogICBzdWJ0eXBlIEdka19HQyBpcyBHZGsuR2RrX0dDOwogICAtLSAgQSBncmFwaGlj
IGNvbnRleHQgdGhhdCBjb250YWluIGFsbCB0aGUgaW5mb3JtYXRpb24gdG8gZHJhdyBncmFwaGlj
cwogICAtLSAgb24gdGhlIHNjcmVlbi4KICAgLS0gIENyZWF0aW5nIHRoZXNlIEdDIGlzIG1vcmUg
ZWZmaWNpZW50IHRoYW4gcGFzc2luZyBhIGxvdCBvZiBwYXJhbWV0ZXJzCiAgIC0tICB0byBlYWNo
IG9mIHRoZSBkcmF3aW5nIGZ1bmN0aW9ucywgc2luY2UgdGhlc2UgR0MgYXJlIHN0b3JlZCBvbiB0
aGUKICAgLS0gIHNlcnZlciBzaWRlIGFuZCBkbyBub3QgbmVlZCB0byBiZSBwYXNzIHRocm91Z2gg
dGhlIG5ldHdvcmsuCgogICB0eXBlIEdka19HQ19WYWx1ZXMgaXMgbmV3IEdkay5DX1Byb3h5Owog
ICAtLSAgQSBzdHJ1Y3R1cmUgdXNlZCBvbiB0aGUgY2xpZW50IHNpZGUgdG8gc3RvcmUgdGhlIHNh
bWUgaW5mb3JtYXRpb24KICAgLS0gIGFzIHRoZSBHQy4gQ3JlYXRpbmcgYSBHQyBmcm9tIHRoaXMg
c3RydWN0dXJlIGlzIG1vcmUgZWZmaWNpZW50IHRoYW4KICAgLS0gIGNhbGxpbmcgYSBsb3Qgb2Yg
ZnVuY3Rpb25zIHRvIG1vZGlmeSB0aGUgR0MgZGlyZWN0bHksIHNpbmNlIHRoZXJlIGlzCiAgIC0t
ICBhIHNpbmdsZSBjYWxsIHRvIHRoZSBzZXJ2ZXIuCgogICBOdWxsX0dDIDogY29uc3RhbnQgR2Rr
X0dDOwogICBOdWxsX0dDX1ZhbHVlcyA6IGNvbnN0YW50IEdka19HQ19WYWx1ZXM7CgogICAtLS0t
LS0tLS0tLS0KICAgLS0gR2RrX0dDIC0tCiAgIC0tLS0tLS0tLS0tLQoKICAgcHJvY2VkdXJlIEdk
a19OZXcgKEdDICAgICA6ICAgIG91dCBHZGtfR0M7CiAgICAgICAgICAgICAgICAgICAgICBXaW5k
b3cgOiBpbiAgICAgR2RrLldpbmRvdy5HZGtfV2luZG93KTsKICAgLS0gIENyZWF0ZSBhIG5ldyBn
cmFwaGljIGNvbnRleHQuCiAgIC0tICBUaGUgd2luZG93IG11c3QgaGF2ZSBiZWVuIHJlYWxpemVk
IGZpcnN0IChzbyB0aGF0IGl0IGlzIGFzc29jaWF0ZWQKICAgLS0gIHdpdGggc29tZSByZXNvdXJj
ZXMgb24gdGhlIFhzZXJ2ZXIpLgogICAtLSAgVGhlIEdDIGNhbiB0aGVuIGJlIHVzZWQgZm9yIGFu
eSB3aW5kb3cgdGhhdCBoYXMgdGhlIHNhbWUgcm9vdCB3aW5kb3csCiAgIC0tICBhbmQgc2FtZSBj
b2xvciBkZXB0aCBhcyBXaW5kb3cuCiAgIC0tICBTZWUgdGhlIG1hbnVhbCBwYWdlIGZvciBYQ3Jl
YXRlR0Mgb24gVW5peCBzeXN0ZW1zIGZvciBtb3JlIGluZm9ybWF0aW9uLgoKICAgcHJvY2VkdXJl
IEdka19OZXcgKEdDICAgICAgICAgIDogICAgb3V0IEdka19HQzsKICAgICAgICAgICAgICAgICAg
ICAgIFdpbmRvdyAgICAgIDogaW4gICAgIEdkay5XaW5kb3cuR2RrX1dpbmRvdzsKICAgICAgICAg
ICAgICAgICAgICAgIFZhbHVlcyAgICAgIDogaW4gICAgIEdka19HQ19WYWx1ZXM7CiAgICAgICAg
ICAgICAgICAgICAgICBWYWx1ZXNfTWFzayA6IGluICAgICBUeXBlcy5HZGtfR0NfVmFsdWVzX01h
c2spOwogICAtLSAgQ3JlYXRlIGEgbmV3IGdyYXBoaWMgY29udGV4dC4KICAgLS0gIEl0IGlzIGRp
cmVjdGx5IGNyZWF0ZWQgd2l0aCB0aGUgdmFsdWVzIHNldCBpbiBWYWx1ZXMsIGFuZCB3aG9zZQog
ICAtLSAgYXNzb2NpYXRlZCBmaWVsZCBoYXMgYmVlbiBzZXQgaW4gVmFsdWVzX01hc2suCiAgIC0t
ICBUaGlzIGlzIGZhc3RlciB0aGFuIGNhbGxpbmcgdGhlIHNpbXBsZSBHZGtfTmV3IGZ1bmN0aW9u
IGFuZCBlYWNoIG9mCiAgIC0tICBvdGhlciBmdW5jdGlvbnMgaW4gdGhpcyBwYWNrYWdlLCBzaW5j
ZSBlYWNoIG9mIHRoZW0gcmVxdWlyZXMgYSBjYWxsCiAgIC0tICB0byB0aGUgc2VydmVyLgoKICAg
cHJvY2VkdXJlIERlc3Ryb3kgKEdDIDogaW4gR2RrX0dDKTsKICAgLS0gIEZyZWUgdGhlIG1lbW9y
eSBhbGxvY2F0ZWQgb24gdGhlIHNlcnZlciBmb3IgdGhlIGdyYXBoaWMgY29udGV4dC4KICAgLS0g
IEdyYXBoaWMgY29udGV4dHMgYXJlIG5ldmVyIGZyZWVkIGF1dG9tYXRpY2FsbHkgYnkgR3RrQWRh
LCB0aGlzIGlzCiAgIC0tICB0aGUgdXNlciByZXNwb25zaWJpbGl0eSB0byBkbyBzby4KCiAgIHBy
b2NlZHVyZSBSZWYgKEdDIDogaW4gR2RrX0dDKTsKICAgLS0gIEluY3JlbWVudCB0aGUgcmVmZXJl
bmNlIGNvdW50aW5nIGZvciB0aGUgZ3JhcGhpYyBjb250ZXh0LgogICAtLSAgWW91IHNob3VsZCB1
c3VhbGx5IG5vdCBoYXZlIHRvIHVzZSBpdC4KCiAgIHByb2NlZHVyZSBVbnJlZiAoR0MgOiBpbiBH
ZGtfR0MpOwogICAtLSAgRGVjcmVtZW50IHRoZSByZWZlcmVuY2UgY291bnRpbmcgZm9yIHRoZSBn
cmFwaGljIGNvbnRleHQuCiAgIC0tICBXaGVuIHRoaXMgcmVhY2hlcyAwLCB0aGUgZ3JhcGhpYyBj
b250ZXh0IGlzIGRlc3Ryb3llZC4KCiAgIHByb2NlZHVyZSBHZXRfVmFsdWVzIChHQyAgICAgOiBp
biBHZGtfR0M7CiAgICAgICAgICAgICAgICAgICAgICAgICBWYWx1ZXMgOiBpbiBHZGtfR0NfVmFs
dWVzKTsKICAgLS0gIEdldCB0aGUgdmFsdWVzIHNldCBpbiB0aGUgR0MuCiAgIC0tICBUaGlzIGNv
cGllcyB0aGUgdmFsdWVzIGZyb20gdGhlIHNlcnZlciB0byBjbGllbnQsIGFsbG93aW5nIGZhc3Rl
cgogICAtLSAgbW9kaWZpY2F0aW9ucy4gVmFsdWVzIGNhbiB0aGVuIGJlIGNvcGllZCBiYWNrIHRv
IHRoZSBzZXJ2ZXIgYnkKICAgLS0gIGNyZWF0aW5nIGEgbmV3IGdyYXBoaWMgY29udGV4dCB3aXRo
IHRoZSBmdW5jdGlvbiBHZGtfTmV3IGFib3ZlLgogICAtLSAgVmFsdWVzIHNob3VsZCBoYXZlIGJl
ZW4gYWxsb2NhdGVkIGZpcnN0IHdpdGggYSBjYWxsIHRvIEdka19OZXcuCgogICBwcm9jZWR1cmUg
U2V0X0ZvcmVncm91bmQgKEdDICAgIDogaW4gR2RrX0dDOwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIENvbG9yIDogaW4gR2RrLkNvbG9yLkdka19Db2xvcik7CiAgIC0tICBTZXQgdGhlIGZv
cmVncm91bmQgY29sb3IgZm9yIHRoZSBncmFwaGljIGNvbnRleHQuCiAgIC0tICBUaGlzIGNvbG9y
IGlzIHRoZSBvbmUgdGhhdCBpcyB1c2VkIGJ5IG1vc3QgZHJhd2luZyBmdW5jdGlvbnMuCgogICBw
cm9jZWR1cmUgU2V0X0JhY2tncm91bmQgKEdDICAgICA6IGluIEdka19HQzsKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBDb2xvciAgOiBpbiBHZGsuQ29sb3IuR2RrX0NvbG9yKTsKICAgLS0g
IFNldCB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIGdyYXBoaWMgY29udGV4dC4KCiAgIHBy
b2NlZHVyZSBTZXRfRm9udCAoR0MgICA6IGluIEdka19HQzsKICAgICAgICAgICAgICAgICAgICAg
ICBGb250IDogaW4gR2RrLkZvbnQuR2RrX0ZvbnQpOwogICAtLSAgU2V0IHRoZSBmb250IHVzZWQg
YnkgdGhlIGdyYXBoaWMgY29udGV4dC4KICAgLS0gIFRoaXMgZm9udCBpcyB1c2VkIGJ5IHRoZSBm
dW5jdGlvbiBHZGsuRHJhd2FibGUuRHJhd19UZXh0LgoKICAgcHJvY2VkdXJlIFNldF9GdW5jdGlv
biAoR0MgICA6IGluIEdka19HQzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgRnVuYyA6IGlu
IFR5cGVzLkdka19GdW5jdGlvbik7CiAgIC0tICBTZXQgdGhlIGZ1bmN0aW9uIGluIHRoZSBncmFw
aGljIGNvbnRleHQuCiAgIC0tICBUaGlzIGZ1bmN0aW9uIHNwZWNpZmllcyBob3cgdGhlIHBvaW50
cyBhcmUgcHV0IG9uIHRoZSBzY3JlZW4sIGllCiAgIC0tICBpZiBHdGtBZGEgaG93IEd0a0FkYSBz
aG91bGQgbWl4IHRoZSBwb2ludCBhbHJlYWR5IG9uIHRoZSBzY3JlZW4KICAgLS0gIGFuZCB0aGUg
bmV3IHBvaW50IGJlaW5nIHB1dC4KICAgLS0gIE5vdGUgdGhhdCBzZXR0aW5nIHRoZSBmdW5jdGlv
biB0byBHZGtfWG9yIGlzIG5vdCB0aGUgcmlnaHQgd2F5CiAgIC0tICB0byBkbyBhbmltYXRpb24u
IFlvdSBzaG91bGQgaW5zdGVhZCBzYXZlIHRoZSBiYWNrZ3JvdW5kIHBpeG1hcCwKICAgLS0gIHB1
dCB0aGUgaW1hZ2UsIGFuZCB0aGVuIHJlc3RvcmUgdGhlIGJhY2tncm91bmQuCiAgIC0tCiAgIC0t
ICBJbiBnZW5lcmFsLCB0aGVyZSBhcmUgdGhyZWUgYmFzaWMgc3RlcHMgdG8gZHJhd2luZzogcmVh
ZGluZyB0aGUgc291cmNlCiAgIC0tICBwaXhlbHMsIHJlYWRpbmcgdGhlIGRlc3RpbmF0aW9uIHBp
eGVscywgYW5kIHdyaXRpbmcgdGhlIGRlc3RpbmF0aW9uCiAgIC0tICBwaXhlbHMuICBTb21lIGZ1
bmN0aW9ucyBvbmx5IHBlcmZvcm0gdGhlIHRoaXJkIHN0ZXAgKFNldCBhbmQgQ2xlYXIpLAogICAt
LSAgc29tZSBkbyBub3QgbmVlZCB0aGUgbWlkZGxlIHN0ZXAgKENvcHkpLCB3aGVyZWFzIG1vc3Qg
cmVxdWlyZSB0aGUgdGhyZWUKICAgLS0gIHN0ZXBzLCBhbmQgdGh1cyBjYW4gYmUgbXVjaCBzbG93
ZXIuCgogICBwcm9jZWR1cmUgU2V0X0ZpbGwgKEdDICAgOiBpbiBHZGtfR0M7CiAgICAgICAgICAg
ICAgICAgICAgICAgRmlsbCA6IGluIFR5cGVzLkdka19GaWxsKTsKICAgLS0gIFNldCB0aGUgcGF0
dGVybiB1c2VkIGZvciBmaWxsaW5nIHRoZSBwb2x5Z29ucy4KCiAgIHByb2NlZHVyZSBTZXRfVGls
ZSAoR0MgICA6IGluIEdka19HQzsKICAgICAgICAgICAgICAgICAgICAgICBUaWxlIDogaW4gR2Rr
Lkdka19QaXhtYXApOwoKICAgcHJvY2VkdXJlIFNldF9TdGlwcGxlIChHQyAgICAgIDogaW4gR2Rr
X0dDOwogICAgICAgICAgICAgICAgICAgICAgICAgIFN0aXBwbGUgOiBpbiBHZGsuR2RrX1BpeG1h
cCk7CgogICBwcm9jZWR1cmUgU2V0X0NsaXBfTWFzayAoR0MgICAgOiBpbiBHZGsuR0MuR2RrX0dD
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFzayAgOiBpbiBHZGsuR2RrX0JpdG1hcCk7
CiAgIC0tICBJZiBNYXNrIGlzIHNldCB0byBOdWxsX0JpdG1hcCwgdGhlbiBubyBjbGlwX21hc2sg
aXMgdXNlZCBmb3IgZHJhd2luZy4KICAgLS0gIFBvaW50cyB3aWxsIGJlIGRyYXduIHRocm91Z2gg
dGhpcyBHQyBvbmx5IHdoZXJlIHRoZSBiaXRzIGFyZSBzZXQgdG8gMQogICAtLSAgaW4gdGhlIG1h
c2suIFNlZSBhbHNvIHRoZSBmdW5jdGlvbiBTZXRfQ2xpcF9PcmlnaW4gZm9yCiAgIC0tICBob3cg
dG8gbW92ZSB0aGUgbWFzayBpbnNpZGUgdGhlIEdDLgoKICAgcHJvY2VkdXJlIFNldF9Uc19Pcmln
aW4gKEdDICAgOiBpbiBHZGtfR0M7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBYLCBZIDog
aW4gR2ludCk7CiAgIC0tICBTZXQgdGhlIFRpbGUgYW5kIFN0aXBwbGUgb3JpZ2luIGluIHRoZSBn
cmFwaGljIGNvbnRleHQuCgogICBwcm9jZWR1cmUgU2V0X0NsaXBfT3JpZ2luIChHQyAgIDogaW4g
R2RrX0dDOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYLCBZIDogaW4gR2ludCk7CiAg
IC0tICBTZXQgdGhlIG9yaWdpbiBvZiB0aGUgY2xpcCBtYXNrLgogICAtLSAgU2VlIHRoZSBmdW5j
dGlvbnMgU2V0X0NsaXBfUmVjdGFuZ2xlLCBTZXRfQ2xpcF9SZWdpb24gYW5kCiAgIC0tICBHZGsu
Qml0bWFwLlNldF9DbGlwX01hc2sgZm9yIG1vcmUgZXhwbGFuYXRpb24uCgogICBwcm9jZWR1cmUg
U2V0X0NsaXBfUmVjdGFuZ2xlCiAgICAgKEdDICAgICAgICA6IGluIEdka19HQzsKICAgICAgUmVj
dGFuZ2xlIDogaW4gR2RrLlJlY3RhbmdsZS5HZGtfUmVjdGFuZ2xlKTsKICAgLS0gIFNldCB0aGUg
Y2xpcCByZWN0YW5nbGUuCiAgIC0tICBPbmx5IHRoZSBwb2ludHMgdGhhdCBhcmUgZHJhd24gaW5z
aWRlIHRoaXMgcmVjdGFuZ2xlIHdpbGwgYmUgZGlzcGxheWVkCiAgIC0tICBvbiB0aGUgc2NyZWVu
LiBOb3RlIHRoYXQgeW91IG1pZ2h0IGhhdmUgdG8gbW9kaWZ5IHRoZSBDbGlwIG9yaWdpbiBmaXJz
dAogICAtLSAgd2l0aCBTZXRfQ2xpcF9PcmlnaW4uCiAgIC0tICBTZWUgU2V0X0NsaXBfTWFzayB0
byBkZWxldGUgdGhlIGN1cnJlbnQgY2xpcCBtYXNrLgoKICAgcHJvY2VkdXJlIFNldF9DbGlwX1Jl
Z2lvbiAoR0MgICAgIDogaW4gR2RrX0dDOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBS
ZWdpb24gOiBpbiBHZGsuUmVnaW9uLkdka19SZWdpb24pOwogICAtLSAgRGVmaW5lIGEgY2xpcCBy
ZWdpb24gb24gdGhlIHNjcmVlbi4KICAgLS0gIFRoaXMgaXMganVzdCBsaWtlIFNldF9DbGlwX1Jl
Y3RhbmdsZSwgZXhjZXB0IHRoYXQgYSByZWdpb24gaXMgYSBtb3JlCiAgIC0tICBjb21wbGV4IHJl
Z2lvbiwgdGhhdCBjYW4gYmUgdGhlIGludGVyc2VjdGlvbiBvciB1bmlvbiBvZiBtdWx0aXBsZQog
ICAtLSAgcmVjdGFuZ2xlcy4gTm90ZSB0aGF0IHRoZSBDbGlwX09yaWdpbiBjYW4gaGF2ZSBhbiBp
bmZsdWVuY2Ugb24gdGhpcwogICAtLSAgZnVuY3Rpb24uCgogICBwcm9jZWR1cmUgU2V0X1N1Yndp
bmRvdyAoR0MgICA6IGluIEdka19HQzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1vZGUg
OiBpbiBUeXBlcy5HZGtfU3Vid2luZG93X01vZGUpOwogICAtLSAgU2V0IHRoZSBzdWJ3aW5kb3cg
bW9kZSBmb3IgdGhlIGdyYXBoaWMgY29udGV4dC4KICAgLS0gIFRoaXMgc3BlY2lmaWVzIHdoZXRo
ZXIgdGhlIGRyYXdpbmcgcm91dGluZXMgc2hvdWxkIGJlIGNsaXBwZWQgdG8KICAgLS0gIHRoZSBz
cGVjaWZpYyB3aW5kb3cgdGhleSBhcmUgZHJhd24gaW50bywgb3IgaWYgdGhleSBzaG91bGQgZXh0
ZW5kCiAgIC0tICB0byBzdWJ3aW5kb3dzIGFzIHdlbGwuCgogICBwcm9jZWR1cmUgU2V0X0V4cG9z
dXJlcyAoR0MgICAgICAgIDogaW4gR2RrX0dDOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
RXhwb3N1cmVzIDogaW4gQm9vbGVhbik7CiAgIC0tICBFeHBvc3VyZXMgaW5kaWNhdGVzIHdoZXRo
ZXIgeW91IHdhbnQgImV4cG9zZSIgYW5kICJub2V4cG9zZSIgZXZlbnRzIHRvCiAgIC0tICBiZSBy
ZXBvcnRlZCB3aGVuIGNhbGxpbmcgQ29weV9BcmVhIGFuZCBDb3B5X1BsYW5lIHdpdGggdGhpcyBH
Qy4KICAgLS0gIFlvdSBzaG91bGQgZGlzYWJsZSB0aGlzIGlmIHlvdSBkb24ndCBuZWVkIHRoZSBl
dmVudCBhbmQgd2FudCB0byBvcHRpbWl6ZQogICAtLSAgeW91ciBhcHBsaWNhdGlvbi4KICAgLS0g
IElmIEV4cG9zdXJlcyBpcyBUcnVlLCB0aGVuIGFueSBjYWxsIHRvIENvcHlfQXJlYSBvciBEcmF3
X1BpeG1hcCB3aWxsCiAgIC0tICBnZW5lcmF0ZSBhbiBleHBvc2UgZXZlbnQuIE90aGVyd2lzZSwg
dGhlc2Ugd2lsbCBnZW5lcmF0ZSBhIG5vX2V4cG9zZQogICAtLSAgZXZlbnQuCgogICBwcm9jZWR1
cmUgU2V0X0xpbmVfQXR0cmlidXRlcyAoR0MgICAgICAgICA6IGluIEdka19HQzsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIExpbmVfV2lkdGggOiBpbiBHaW50OwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgTGluZV9TdHlsZSA6IGluIFR5cGVzLkdka19MaW5lX1N0
eWxlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FwX1N0eWxlICA6IGluIFR5
cGVzLkdka19DYXBfU3R5bGU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2lu
X1N0eWxlIDogaW4gVHlwZXMuR2RrX0pvaW5fU3R5bGUpOwogICAtLSAgU2V0IHRoZSBsaW5lIGF0
dHJpYnV0ZXMgZm9yIHRoaXMgR0MuCiAgIC0tICBMaW5lX1dpZHRoIGlzIHRoZSB3aWR0aCBvZiB0
aGUgbGluZS4gSWYgaXRzIHZhbHVlIGlzIDAsIHRoZSBsaW5lIGlzIGFzCiAgIC0tICB0aGluIGFz
IHBvc3NpYmxlLCBwb3NzaWJseSBldmVuIG1vcmUgc28gdGhhbiBpZiB0aGUgd2lkdGggaXMgMS4g
SXQgaXMKICAgLS0gIGFsc28gZmFzdGVyIHRvIGRyYXcgYSBsaW5lIHdpdGggd2lkdGggMCB0aGFu
IGFueSBvdGhlciBsaW5lIHdpZHRoLgogICAtLQogICAtLSAgTGluZV9TdHlsZSBzcGVjaWZpZXMg
d2hldGhlciB0aGUgbGluZSBzaG91bGQgYmUgc29saWQgb3IgZGFzaGVkLgogICAtLSAgV2l0aCBM
aW5lX09uX09mZl9EYXNoLCB0aGUgY29sb3JzIGFyZSBhbHRlcm5hdGl2ZWx5IHRoZSBmb3JlZ3Jv
dW5kCiAgIC0tICBjb2xvciwgYW5kIGJsYW5rLiBXaXRoIExpbmVfRG91YmxlX0Rhc2gsIHRoZSBj
b2xvcnMgYXJlCiAgIC0tICBhbHRlcm5hdGl2ZWx5IHRoZSBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3Jv
dW5kIGNvbG9ycy4KICAgLS0KICAgLS0gIENhcF9TdHlsZSBzcGVjaWZpZXMgaG93IHRoZSBsaW5l
IHNob3VsZCBlbmQsIGVpdGhlciBmbGF0IG9yIHJvdW5kZWQuCiAgIC0tCiAgIC0tICBKb2luX1N0
eWxlIHNwZWNpZmllcyBob3cgdHdvIGNvbnNlY3V0aXZlIGxpbmVzIGRyYXduIGJ5IERyYXdfTGlu
ZXMgYXJlCiAgIC0tICBjb25uZWN0ZWQuCgogICBwcm9jZWR1cmUgU2V0X0Rhc2hlcyAoR2MgICAg
ICAgICAgOiBpbiBHZGtfR0M7CiAgICAgICAgICAgICAgICAgICAgICAgICBEYXNoX09mZnNldCA6
IGluIEdpbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgICBEYXNoX0xpc3QgICA6IGluIEd1Y2hh
cl9BcnJheSk7CiAgIC0tICBTcGVjaWZ5IHRoZSBkYXNoIHBhdHRlcm4gd2hlbiB0aGUgbGluZSdz
IHN0eWxlIGlzIGFueXRoaW5nIGJ1dCBzb2xpZC4KICAgLS0gIFRoZSB2YWx1ZXMgaW4gdGhlIGFy
cmF5IGFsdGVybmF0aXZlbHkgZ2l2ZSB0aGUgbGVuZ3RoIChpbiBwaXhlbHMpIG9mCiAgIC0tICB0
aGUgcGxhaW4gZGFzaCwgdGhlIGVtcHR5IGRhc2gsIHRoZSBzZWNvbmQgcGxhaW4gZGFzaCwgLi4u
IE5vbmUgb2YKICAgLS0gIHRoZXNlIHZhbHVlcyBjYW4gYmUgMC4gSWYgdGhlcmUgaXMgYW4gb2Rk
IG51bWJlciBvZiBpdGVtcyBpbiBEYXNoX0xpc3QsCiAgIC0tICB0aGlzIGlzIGVxdWl2YWxlbnQg
dG8gZ2l2aW5nIHRoZSBhcnJheSBjb25jYXRlbmF0ZWQgd2l0aCBpdHNlbGYuCiAgIC0tICBEYXNo
X09mZnNldCBzcGVjaWZpZXMgdGhlIHBoYXNlIG9mIHRoZSBwYXR0ZXJuIHRvIHN0YXJ0IHdpdGgu
CgogICBwcm9jZWR1cmUgQ29weSAoRHN0X0dDIDogaW4gR2RrX0dDOwogICAgICAgICAgICAgICAg
ICAgU3JjX0dDIDogaW4gR2RrX0dDKTsKICAgLS0gIENvcHkgYSBTcmNfR0MgdG8gRHN0X0dDLgoK
ICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSBHZGtfQ29sb3JfVmFsdWVzIC0tCiAgIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgIGZ1bmN0aW9uIEdka19OZXcgcmV0dXJuIEdka19HQ19W
YWx1ZXM7CiAgIC0tICBBbGxvY2F0ZSBhIG5ldyBWYWx1ZXMgc3RydWN0dXJlIG9uIHRoZSBjbGll
bnQuCiAgIC0tICBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBhbGxvY2F0ZXMgYSBDIHN0cnVjdHVy
ZSwgYW5kIHRodXMgbmVlZHMgdG8KICAgLS0gIGJlIGZyZWVkIHdpdGggYSBjYWxsIHRvIEZyZWUg
YmVsb3cuCgogICBwcm9jZWR1cmUgRnJlZSAoVmFsdWVzIDogaW4gR2RrX0dDX1ZhbHVlcyk7CiAg
IC0tICBGcmVlIHRoZSBDIHN0cnVjdHVyZSBhc3NvY2lhdGVkIHdpdGggVmFsdWVzLgoKICAgcHJv
Y2VkdXJlIFNldF9Gb3JlZ3JvdW5kIChWYWx1ZXMgOiBpbiBHZGtfR0NfVmFsdWVzOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIENvbG9yICA6IGluIEdkay5Db2xvci5HZGtfQ29sb3IpOwog
ICAtLSAgU2FtZSBhcyBTZXRfRm9yZWdyb3VuZCwgYnV0IG9uIHRoZSBjbGllbnQgc2lkZQoKICAg
cHJvY2VkdXJlIFNldF9CYWNrZ3JvdW5kIChWYWx1ZXMgOiBpbiBHZGtfR0NfVmFsdWVzOwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIENvbG9yICA6IGluIEdkay5Db2xvci5HZGtfQ29sb3Ip
OwogICAtLSAgU2FtZSBhcyBTZXRfQmFja2dyb3VuZCwgYnV0IG9uIHRoZSBjbGllbnQgc2lkZQoK
ICAgcHJvY2VkdXJlIFNldF9Gb250IChWYWx1ZXMgOiBpbiBHZGtfR0NfVmFsdWVzOwogICAgICAg
ICAgICAgICAgICAgICAgIEZvbnQgICA6IGluIEdkay5Gb250Lkdka19Gb250KTsKICAgLS0gIFNh
bWUgYXMgU2V0X0ZvbnQsIGJ1dCBvbiB0aGUgY2xpZW50IHNpZGUKCiAgIHByb2NlZHVyZSBTZXRf
RnVuY3Rpb24gKFZhbHVlcyA6IGluIEdka19HQ19WYWx1ZXM7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEZ1bmMgICA6IGluIFR5cGVzLkdka19GdW5jdGlvbik7CiAgIC0tICBTYW1lIGFzIFNl
dF9GdW5jdGlvbiwgYnV0IG9uIHRoZSBjbGllbnQgc2lkZQoKICAgcHJvY2VkdXJlIFNldF9GaWxs
IChWYWx1ZXMgOiBpbiBHZGtfR0NfVmFsdWVzOwogICAgICAgICAgICAgICAgICAgICAgIEZpbGwg
ICA6IGluIFR5cGVzLkdka19GaWxsKTsKICAgLS0gIFNhbWUgYXMgU2V0X0ZpbGwsIGJ1dCBvbiB0
aGUgY2xpZW50IHNpZGUKCiAgIHByb2NlZHVyZSBTZXRfVHNfT3JpZ2luIChWYWx1ZXMgOiBpbiBH
ZGtfR0NfVmFsdWVzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgWCwgWSAgIDogaW4gR2lu
dCk7CiAgIC0tICBTYW1lIGFzIFNldF9Uc19PcmlnaW4sIGJ1dCBvbiB0aGUgY2xpZW50IHNpZGUK
CiAgIHByb2NlZHVyZSBTZXRfQ2xpcF9PcmlnaW4gKFZhbHVlcyA6IGluIEdka19HQ19WYWx1ZXM7
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFgsIFkgICA6IGluIEdpbnQpOwogICAtLSAg
U2FtZSBhcyBTZXRfQ2xpcF9PcmlnaW4sIGJ1dCBvbiB0aGUgY2xpZW50IHNpZGUKCiAgIHByb2Nl
ZHVyZSBTZXRfU3Vid2luZG93IChWYWx1ZXMgOiBpbiBHZGtfR0NfVmFsdWVzOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTW9kZSAgIDogaW4gVHlwZXMuR2RrX1N1YndpbmRvd19Nb2RlKTsK
ICAgLS0gIFNhbWUgYXMgU2V0X1N1YndpbmRvdywgYnV0IG9uIHRoZSBjbGllbnQgc2lkZQoKICAg
cHJvY2VkdXJlIFNldF9FeHBvc3VyZXMgKFZhbHVlcyAgICA6IGluIEdka19HQ19WYWx1ZXM7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBFeHBvc3VyZXMgOiBpbiBCb29sZWFuKTsKICAgLS0g
IFNhbWUgYXMgU2V0X0V4cG9zdXJlcywgYnV0IG9uIHRoZSBjbGllbnQgc2lkZQoKICAgcHJvY2Vk
dXJlIFNldF9MaW5lX0F0dHJpYnV0ZXMgKFZhbHVlcyAgICAgOiBpbiBHZGtfR0NfVmFsdWVzOwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGluZV9XaWR0aCA6IGluIEdpbnQ7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaW5lX1N0eWxlIDogaW4gVHlwZXMuR2Rr
X0xpbmVfU3R5bGU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYXBfU3R5bGUg
IDogaW4gVHlwZXMuR2RrX0NhcF9TdHlsZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEpvaW5fU3R5bGUgOiBpbiBUeXBlcy5HZGtfSm9pbl9TdHlsZSk7CiAgIC0tICBTYW1lIGFz
IFNldF9MaW5lX0F0dHJpYnV0ZXMsIGJ1dCBvbiB0aGUgY2xpZW50IHNpZGUKCnByaXZhdGUKICAg
TnVsbF9HQyA6IGNvbnN0YW50IEdka19HQyA6PSBudWxsOwogICBOdWxsX0dDX1ZhbHVlcyA6IGNv
bnN0YW50IEdka19HQ19WYWx1ZXMgOj0gbnVsbDsKCiAgIHByYWdtYSBJbXBvcnQgKEMsIENvcHks
ICJnZGtfZ2NfY29weSIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBEZXN0cm95LCAiZ2RrX2djX2Rl
c3Ryb3kiKTsKICAgcHJhZ21hIEltcG9ydCAoQywgRnJlZSwgImFkYV9nZGtfZ2NfZnJlZV92YWx1
ZXMiKTsKICAgcHJhZ21hIEltcG9ydCAoQywgR2V0X1ZhbHVlcywgImdka19nY19nZXRfdmFsdWVz
Iik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIFJlZiwgImdka19nY19yZWYiKTsKICAgcHJhZ21hIElt
cG9ydCAoQywgVW5yZWYsICJnZGtfZ2NfdW5yZWYiKTsKICAgcHJhZ21hIEltcG9ydCAoQywgU2V0
X1N0aXBwbGUsICJnZGtfZ2Nfc2V0X3N0aXBwbGUiKTsKICAgcHJhZ21hIEltcG9ydCAoQywgU2V0
X1RpbGUsICJnZGtfZ2Nfc2V0X3RpbGUiKTsKICAgcHJhZ21hIEltcG9ydCAoQywgU2V0X0NsaXBf
TWFzaywgImdka19nY19zZXRfY2xpcF9tYXNrIik7CmVuZCBHZGsuR0M7Ci0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci0tICAgICAgICAgIEd0a0FkYSAtIEFkYTk1IGJpbmRpbmcgZm9yIHRoZSBHaW1wIFRvb2xraXQg
ICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgQ29w
eXJpZ2h0IChDKSAxOTk4LTIwMDAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICBF
bW1hbnVlbCBCcmlvdCwgSm9lbCBCcm9iZWNrZXIgYW5kIEFybmF1ZCBDaGFybGV0ICAgICAgICAg
IC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC0tCi0tIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgICAgIC0tCi0tIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyAgICAgICAgICAgICAgIC0tCi0tIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciAg
ICAgIC0tCi0tIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4gIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCAgIC0tCi0tIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mICAgIC0tCi0tIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VIC0tCi0tIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4gICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0t
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp
YyAgICAgICAgIC0tCi0tIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwg
d3JpdGUgdG8gdGhlICAgICAgICAgICAgIC0tCi0tIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCAgICAgIC0tCi0tIEJvc3RvbiwgTUEg
MDIxMTEtMTMwNywgVVNBLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0t
Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC0tCi0tIEFzIGEgc3BlY2lhbCBleGNlcHRpb24sIGlmIG90aGVyIGZpbGVz
IGluc3RhbnRpYXRlIGdlbmVyaWNzIGZyb20gIC0tCi0tIHRoaXMgdW5pdCwgb3IgeW91IGxpbmsg
dGhpcyB1bml0IHdpdGggb3RoZXIgZmlsZXMgdG8gcHJvZHVjZSBhbiAgIC0tCi0tIGV4ZWN1dGFi
bGUsIHRoaXMgIHVuaXQgIGRvZXMgbm90ICBieSBpdHNlbGYgY2F1c2UgIHRoZSByZXN1bHRpbmcg
IC0tCi0tIGV4ZWN1dGFibGUgdG8gYmUgY292ZXJlZCBieSB0aGUgR05VIEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UuIFRoaXMgIC0tCi0tIGV4Y2VwdGlvbiBkb2VzIG5vdCBob3dldmVyIGludmFsaWRh
dGUgYW55IG90aGVyIHJlYXNvbnMgd2h5IHRoZSAgIC0tCi0tIGV4ZWN1dGFibGUgZmlsZSAgbWln
aHQgYmUgY292ZXJlZCBieSB0aGUgIEdOVSBQdWJsaWMgTGljZW5zZS4gICAgIC0tCi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCgotLSAgPGRlc2NyaXB0aW9uPgotLQotLSAgUGl4bWFwcyBhcmUgb2ZmLXNjcmVlbiBk
cmF3YWJsZXMuIFRoZXkgY2FuIGJlIGRyYXduIHVwb24gd2l0aCB0aGUgc3RhbmRhcmQKLS0gIGRy
YXdpbmcgcHJpbWl0aXZlcywgdGhlbiBjb3BpZWQgdG8gYW5vdGhlciBkcmF3YWJsZSAoc3VjaCBh
cyBhIEdka19XaW5kb3cpCi0tICB3aXRoIEdkay5QaXhtYXAuRHJhdy4gVGhlIGRlcHRoIG9mIGEg
cGl4bWFwIGlzIHRoZSBudW1iZXIgb2YgYml0cyBwZXIKLS0gIHBpeGVscy4gQml0bWFwcyBhcmUg
c2ltcGx5IHBpeG1hcHMgd2l0aCBhIGRlcHRoIG9mIDEuIChUaGF0IGlzLCB0aGV5IGFyZQotLSAg
bW9ub2Nocm9tZSBiaXRtYXBzIC0gZWFjaCBwaXhlbCBjYW4gYmUgZWl0aGVyIG9uIG9yIG9mZiku
Ci0tICBAcHhyZWZ7UGFja2FnZV9HZGsuQml0bWFwfSBmb3IgbW9yZSBkZXRhaWxzIG9uIGJpdG1h
cCBoYW5kbGluZy4KLS0KLS0gIDwvZGVzY3JpcHRpb24+Ci0tICA8Y192ZXJzaW9uPjEuMi43PC9j
X3ZlcnNpb24+Cgp3aXRoIEdsaWI7IHVzZSBHbGliOwp3aXRoIEdkay5CaXRtYXA7CndpdGggR2Rr
LkNvbG9yOwp3aXRoIEdkay5XaW5kb3c7CndpdGggR3RrYWRhLlR5cGVzOwoKcGFja2FnZSBHZGsu
UGl4bWFwIGlzCgogICBzdWJ0eXBlIEdka19QaXhtYXAgaXMgR2RrLkdka19QaXhtYXA7CiAgIC0t
ICBBIHNlcnZlci1zaWRlIGltYWdlLgogICAtLSAgWW91IGNhbiBjcmVhdGUgYW4gZW1wdHkgcGl4
bWFwLCBvciBsb2FkIGlmIGZyb20gZXh0ZXJuYWwgZmlsZXMgaW4KICAgLS0gIGJpdG1hcCBhbmQg
cGl4bWFwIGZvcm1hdC4gU2VlIEdkay5QaXhidWYgaWYgeW91IG5lZWQgdG8gbG9hZAogICAtLSAg
aW1hZ2VzIGluIG90aGVyIGZvcm1hdHMuCgogICBOdWxsX1BpeG1hcCA6IGNvbnN0YW50IEdka19Q
aXhtYXA7CgogICBwcm9jZWR1cmUgR2RrX05ldyAoUGl4bWFwIDogICAgb3V0IEdka19QaXhtYXA7
CiAgICAgICAgICAgICAgICAgICAgICBXaW5kb3cgOiBpbiAgICAgR2RrLldpbmRvdy5HZGtfV2lu
ZG93OwogICAgICAgICAgICAgICAgICAgICAgV2lkdGggIDogaW4gICAgIEdpbnQ7CiAgICAgICAg
ICAgICAgICAgICAgICBIZWlnaHQgOiBpbiAgICAgR2ludDsKICAgICAgICAgICAgICAgICAgICAg
IERlcHRoICA6IGluICAgICBHaW50IDo9IC0xKTsKICAgLS0gIENyZWF0ZSBhIG5ldyBwaXhtYXAg
d2l0aCBhIGdpdmVuIHNpemUuCiAgIC0tICBXaW5kb3cgaXMgdXNlZCB0byBkZXRlcm1pbmUgZGVm
YXVsdCB2YWx1ZXMgZm9yIHRoZSBuZXcgcGl4bWFwLgogICAtLSAgQ2FuIGJlIGV2ZW50dWFsbHkg
bnVsbC4KICAgLS0gIFdpZHRoIGlzIHRoZSB3aWR0aCBvZiB0aGUgbmV3IHBpeG1hcCBpbiBwaXhl
bHMuCiAgIC0tICBIZWlnaHQgaXMgdGhlIGhlaWdodCBvZiB0aGUgbmV3IHBpeG1hcCBpbiBwaXhl
bHMuCiAgIC0tICBEZXB0aCBpcyB0aGUgZGVwdGggKG51bWJlciBvZiBiaXRzIHBlciBwaXhlbCkg
b2YgdGhlIG5ldyBwaXhtYXAuCiAgIC0tICBJZiAtMSwgYW5kIHdpbmRvdyBpcyBub3QgbnVsbCwg
dGhlIGRlcHRoIG9mIHRoZSBuZXcgcGl4bWFwIHdpbGwgYmUKICAgLS0gIGVxdWFsIHRvIHRoYXQg
b2Ygd2luZG93LgogICAtLSAgQXV0b21hdGljYWxseSByZWZlcmVuY2UgdGhlIHBpeG1hcCBvbmNl
LgoKICAgcHJvY2VkdXJlIFJlZiAoUGl4bWFwIDogaW4gR2RrX1BpeG1hcCk7CiAgIC0tICBBZGQg
YSByZWZlcmVuY2UgdG8gYSBwaXhtYXAuCgogICBwcm9jZWR1cmUgVW5yZWYgKFBpeG1hcCA6IGlu
IEdka19QaXhtYXApOwogICAtLSAgVGhpcyBpcyB0aGUgdXN1YWwgd2F5IHRvIGRlc3Ryb3kgYSBw
aXhtYXAuIFRoZSBtZW1vcnkgaXMgZnJlZWQgd2hlbgogICAtLSAgdGhlcmUgaXMgbm8gbW9yZSBy
ZWZlcmVuY2UKCiAgIHByb2NlZHVyZSBDcmVhdGVfRnJvbV9EYXRhIChQaXhtYXAgOiAgICBvdXQg
R2RrX1BpeG1hcDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdpbmRvdyA6IGluICAg
ICBHZGsuV2luZG93Lkdka19XaW5kb3c7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBE
YXRhICAgOiBpbiAgICAgU3RyaW5nOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2lk
dGggIDogaW4gICAgIEdpbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWlnaHQg
OiBpbiAgICAgR2ludDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlcHRoICA6IGlu
ICAgICBHaW50OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmcgICAgIDogaW4gICAg
IENvbG9yLkdka19Db2xvcjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJnICAgICA6
IGluICAgICBDb2xvci5HZGtfQ29sb3IpOwogICAtLSAgQ3JlYXRlIGEgcGl4bWFwIGZyb20gZGF0
YSBpbiBYQk0gZm9ybWF0LgogICAtLSAgV2luZG93IGlzIHVzZWQgdG8gZGV0ZXJtaW5lIGRlZmF1
bHQgdmFsdWVzIGZvciB0aGUgbmV3IGJpdG1hcCwgY2FuIGJlCiAgIC0tICBudWxsIGluIHdoaWNo
IGNhc2UgdGhlIHJvb3Qgd2luZG93IGlzIHVzZWQuCiAgIC0tICBEYXRhIGlzIHRoZSBYQk0gZGF0
YS4KICAgLS0gIFdpZHRoIGlzIHRoZSB3aWR0aCBvZiB0aGUgbmV3IGJpdG1hcCBpbiBwaXhlbHMu
CiAgIC0tICBIZWlnaHQgaXMgdGhlIGhlaWdodCBvZiB0aGUgbmV3IGJpdG1hcCBpbiBwaXhlbHMu
CiAgIC0tICBEZXB0aCBpcyB0aGUgZGVwdGggKG51bWJlciBvZiBiaXRzIHBlciBwaXhlbCkgb2Yg
dGhlIG5ldyBwaXhtYXAuCiAgIC0tICBGZyBpcyB0aGUgZm9yZWdyb3VuZCBjb2xvci4KICAgLS0g
IEJnIGlzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLgoKICAgcHJvY2VkdXJlIENyZWF0ZV9Gcm9tX1hw
bSAoUGl4bWFwICAgICAgOiAgICBvdXQgR2RrX1BpeG1hcDsKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgV2luZG93ICAgICAgOiBpbiAgICAgR2RrLldpbmRvdy5HZGtfV2luZG93OwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBNYXNrICAgICAgICA6IGluIG91dCBHZGsuQml0bWFw
Lkdka19CaXRtYXA7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zcGFyZW50IDog
aW4gICAgIEdkay5Db2xvci5HZGtfQ29sb3I7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEZpbGVuYW1lICAgIDogaW4gICAgIFN0cmluZyk7CiAgIC0tICBDcmVhdGUgYSBwaXhtYXAgZnJv
bSBhIFhQTSBmaWxlLgogICAtLSAgV2luZG93IGlzIHVzZWQgdG8gZGV0ZXJtaW5lIGRlZmF1bHQg
dmFsdWVzIGZvciB0aGUgbmV3IHBpeG1hcC4KICAgLS0gIE1hc2sgaXMgYSBwb2ludGVyIHRvIGEg
cGxhY2UgdG8gc3RvcmUgYSBiaXRtYXAgcmVwcmVzZW50aW5nIHRoZQogICAtLSAgdHJhbnNwYXJl
bmN5IG1hc2sgb2YgdGhlIFhQTSBmaWxlLiBDYW4gYmUgbnVsbCwgaW4gd2hpY2ggY2FzZQogICAt
LSAgdHJhbnNwYXJlbmN5IHdpbGwgYmUgaWdub3JlZC4KICAgLS0gIFRyYW5zcGFyZW50IGlzIHRo
ZSBjb2xvciB0byBiZSB1c2VkIGZvciB0aGUgcGl4ZWxzIHRoYXQgYXJlIHRyYW5zcGFyZW50CiAg
IC0tICBpbiB0aGUgaW5wdXQgZmlsZS4gQ2FuIGJlIG51bGwsIGluIHdoaWNoIGNhc2UgYSBkZWZh
dWx0IGNvbG9yIHdpbGwgYmUKICAgLS0gIHVzZWQuCiAgIC0tICBGaWxlbmFtZSBpcyB0aGUgZmls
ZW5hbWUgb2YgYSBmaWxlIGNvbnRhaW5pbmcgWFBNIGRhdGEuCgogICBwcm9jZWR1cmUgQ3JlYXRl
X0Zyb21fWHBtIChQaXhtYXAgICAgICA6ICAgIG91dCBHZGtfUGl4bWFwOwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBXaW5kb3cgICAgICA6IGluICAgICBHZGsuV2luZG93Lkdka19XaW5k
b3c7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbG9ybWFwICAgIDogaW4gICAgIEdk
ay5Db2xvci5HZGtfQ29sb3JtYXA7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hc2sg
ICAgICAgIDogaW4gb3V0IEdkay5CaXRtYXAuR2RrX0JpdG1hcDsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgVHJhbnNwYXJlbnQgOiBpbiAgICAgR2RrLkNvbG9yLkdka19Db2xvcjsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsZW5hbWUgICAgOiBpbiAgICAgU3RyaW5nKTsK
ICAgLS0gIENyZWF0ZSBhIHBpeG1hcCBmcm9tIGEgWFBNIGZpbGUgdXNpbmcgYSBwYXJ0aWN1bGFy
IGNvbG9ybWFwLgogICAtLSAgV2luZG93IGlzIHVzZWQgdG8gZGV0ZXJtaW5lIGRlZmF1bHQgdmFs
dWVzIGZvciB0aGUgbmV3IHBpeG1hcC4gQ2FuIGJlCiAgIC0tICBudWxsIGlmIGNvbG9ybWFwIGlz
IGdpdmVuLgogICAtLSAgQ29sb3JtYXAgaXMgdGhlIEdka19Db2xvcm1hcCB0aGF0IHRoZSBuZXcg
cGl4bWFwIHdpbGwgdXNlLiBJZiBvbWl0dGVkLAogICAtLSAgdGhlIGNvbG9ybWFwIGZvciB3aW5k
b3cgd2lsbCBiZSB1c2VkLgogICAtLSAgTWFzayBpcyBhIHBvaW50ZXIgdG8gYSBwbGFjZSB0byBz
dG9yZSBhIGJpdG1hcCByZXByZXNlbnRpbmcgdGhlCiAgIC0tICB0cmFuc3BhcmVuY3kgbWFzayBv
ZiB0aGUgWFBNIGZpbGUuIENhbiBiZSBudWxsLCBpbiB3aGljaCBjYXNlCiAgIC0tICB0cmFuc3Bh
cmVuY3kgd2lsbCBiZSBpZ25vcmVkLgogICAtLSAgVHJhbnNwYXJlbnQgaXMgdGhlIGNvbG9yIHRv
IGJlIHVzZWQgZm9yIHRoZSBwaXhlbHMgdGhhdCBhcmUgdHJhbnNwYXJlbnQKICAgLS0gIGluIHRo
ZSBpbnB1dCBmaWxlLiBDYW4gYmUgbnVsbCwgaW4gd2hpY2ggY2FzZSBhIGRlZmF1bHQgY29sb3Ig
d2lsbCBiZQogICAtLSAgdXNlZC4KICAgLS0gIEZpbGVuYW1lIGlzIHRoZSBmaWxlbmFtZSBvZiBh
IGZpbGUgY29udGFpbmluZyBYUE0gZGF0YS4KCiAgIHByb2NlZHVyZSBDcmVhdGVfRnJvbV9YcG1f
RAogICAgIChQaXhtYXAgICAgICA6ICAgIG91dCBHZGtfUGl4bWFwOwogICAgICBXaW5kb3cgICAg
ICA6IGluICAgICBHZGsuV2luZG93Lkdka19XaW5kb3c7CiAgICAgIE1hc2sgICAgICAgIDogaW4g
b3V0IEdkay5CaXRtYXAuR2RrX0JpdG1hcDsKICAgICAgVHJhbnNwYXJlbnQgOiBpbiAgICAgR2Rr
LkNvbG9yLkdka19Db2xvcjsKICAgICAgRGF0YSAgICAgICAgOiBpbiAgICAgR3RrYWRhLlR5cGVz
LkNoYXJzX1B0cl9BcnJheSk7CiAgIC0tICBDcmVhdGUgYSBwaXhtYXAgZnJvbSBkYXRhIGluIFhQ
TSBmb3JtYXQuCiAgIC0tICBXaW5kb3cgaXMgdXNlZCB0byBkZXRlcm1pbmUgZGVmYXVsdCB2YWx1
ZXMgZm9yIHRoZSBuZXcgcGl4bWFwLgogICAtLSAgTWFzayBpcyBhIHBvaW50ZXIgdG8gYSBwbGFj
ZSB0byBzdG9yZSBhIGJpdG1hcCByZXByZXNlbnRpbmcgdGhlCiAgIC0tICB0cmFuc3BhcmVuY3kg
bWFzayBvZiB0aGUgWFBNIGZpbGUuIENhbiBiZSBudWxsLCBpbiB3aGljaCBjYXNlCiAgIC0tICB0
cmFuc3BhcmVuY3kgd2lsbCBiZSBpZ25vcmVkLgogICAtLSAgVHJhbnNwYXJlbnQgd2lsbCBiZSB1
c2VkIGZvciB0aGUgcGl4ZWxzIHRoYXQgYXJlIHRyYW5zcGFyZW50IGluIHRoZQogICAtLSAgaW5w
dXQgZmlsZS4gQ2FuIGJlIG51bGwgaW4gd2hpY2ggY2FzZSBhIGRlZmF1bHQgY29sb3Igd2lsbCBi
ZSB1c2VkLgogICAtLSAgRGF0YSBpcyBhIHBvaW50ZXIgdG8gYSBzdHJpbmcgY29udGFpbmluZyB0
aGUgWFBNIGRhdGEuCgogICBwcm9jZWR1cmUgQ3JlYXRlX0Zyb21fWHBtX0QKICAgICAoUGl4bWFw
ICAgICAgOiAgICBvdXQgR2RrX1BpeG1hcDsKICAgICAgV2luZG93ICAgICAgOiBpbiAgICAgR2Rr
LldpbmRvdy5HZGtfV2luZG93OwogICAgICBDb2xvcm1hcCAgICA6IGluICAgICBHZGsuQ29sb3Iu
R2RrX0NvbG9ybWFwOwogICAgICBNYXNrICAgICAgICA6IGluIG91dCBHZGsuQml0bWFwLkdka19C
aXRtYXA7CiAgICAgIFRyYW5zcGFyZW50IDogaW4gICAgIEdkay5Db2xvci5HZGtfQ29sb3I7CiAg
ICAgIERhdGEgICAgICAgIDogaW4gICAgIEd0a2FkYS5UeXBlcy5DaGFyc19QdHJfQXJyYXkpOwog
ICAtLSAgQ3JlYXRlIGEgcGl4bWFwIGZyb20gZGF0YSBpbiBYUE0gZm9ybWF0IHVzaW5nIGEgcGFy
dGljdWxhciBjb2xvcm1hcC4KICAgLS0gIFdpbmRvdyBpcyB1c2VkIHRvIGRldGVybWluZSBkZWZh
dWx0IHZhbHVlcyBmb3IgdGhlIG5ldyBwaXhtYXAuCiAgIC0tICBDb2xvcm1hcCBpcyB0aGUgR2Rr
X0NvbG9ybWFwIHRoYXQgdGhlIG5ldyBwaXhtYXAgd2lsbCBiZSB1c2UuIElmCiAgIC0tICBvbWl0
dGVkLCB0aGUgY29sb3JtYXAgZm9yIHdpbmRvdyB3aWxsIGJlIHVzZWQuCiAgIC0tICBNYXNrIGlz
IGEgcG9pbnRlciB0byBhIHBsYWNlIHRvIHN0b3JlIGEgYml0bWFwIHJlcHJlc2VudGluZyB0aGUK
ICAgLS0gIHRyYW5zcGFyZW5jeSBtYXNrIG9mIHRoZSBYUE0gZmlsZS4gQ2FuIGJlIG51bGwsIGlu
IHdoaWNoIGNhc2UKICAgLS0gIHRyYW5zcGFyZW5jeSB3aWxsIGJlIGlnbm9yZWQuCiAgIC0tICBU
cmFuc3BhcmVudCB3aWxsIGJlIHVzZWQgZm9yIHRoZSBwaXhlbHMgdGhhdCBhcmUgdHJhbnNwYXJl
bnQgaW4gdGhlCiAgIC0tICBpbnB1dCBmaWxlLiBDYW4gYmUgbnVsbCBpbiB3aGljaCBjYXNlIGEg
ZGVmYXVsdCBjb2xvciB3aWxsIGJlIHVzZWQuCiAgIC0tICBEYXRhIGlzIGEgcG9pbnRlciB0byBh
IHN0cmluZyBjb250YWluaW5nIHRoZSBYUE0gZGF0YS4KCnByaXZhdGUKICAgTnVsbF9QaXhtYXAg
OiBjb25zdGFudCBHZGtfUGl4bWFwIDo9IG51bGw7CiAgIHByYWdtYSBJbXBvcnQgKEMsIFJlZiwg
Imdka19waXhtYXBfcmVmIik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIFVucmVmLCAiZ2RrX3BpeG1h
cF91bnJlZiIpOwplbmQgR2RrLlBpeG1hcDsKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS0gICAgICAgICAgR3Rr
QWRhIC0gQWRhOTUgYmluZGluZyBmb3IgdGhlIEdpbXAgVG9vbGtpdCAgICAgICAgICAgICAgLS0K
LS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgKEMpIDE5OTgt
MTk5OSAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgIEVtbWFudWVsIEJyaW90LCBK
b2VsIEJyb2JlY2tlciBhbmQgQXJuYXVkIENoYXJsZXQgICAgICAgICAgLS0KLS0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LS0KLS0gVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vciAgICAgLS0KLS0gbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IEdlbmVyYWwgUHVibGljICAgICAgICAgICAgICAgLS0KLS0gTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyICAgICAgLS0KLS0gdmVyc2lv
biAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LiAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLS0KLS0gVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsICAgLS0KLS0gYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgICAgLS0KLS0gTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUgLS0KLS0gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLiAgICAg
ICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljICAgICAgICAgLS0KLS0g
TGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgICAg
ICAgICAgICAgLS0KLS0gRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUg
UGxhY2UgLSBTdWl0ZSAzMzAsICAgICAgLS0KLS0gQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0Eu
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0K
LS0gQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiwgaWYgb3RoZXIgZmlsZXMgaW5zdGFudGlhdGUgZ2Vu
ZXJpY3MgZnJvbSAgLS0KLS0gdGhpcyB1bml0LCBvciB5b3UgbGluayB0aGlzIHVuaXQgd2l0aCBv
dGhlciBmaWxlcyB0byBwcm9kdWNlIGFuICAgLS0KLS0gZXhlY3V0YWJsZSwgdGhpcyAgdW5pdCAg
ZG9lcyBub3QgIGJ5IGl0c2VsZiBjYXVzZSAgdGhlIHJlc3VsdGluZyAgLS0KLS0gZXhlY3V0YWJs
ZSB0byBiZSBjb3ZlcmVkIGJ5IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gVGhpcyAg
LS0KLS0gZXhjZXB0aW9uIGRvZXMgbm90IGhvd2V2ZXIgaW52YWxpZGF0ZSBhbnkgb3RoZXIgcmVh
c29ucyB3aHkgdGhlICAgLS0KLS0gZXhlY3V0YWJsZSBmaWxlICBtaWdodCBiZSBjb3ZlcmVkIGJ5
IHRoZSAgR05VIFB1YmxpYyBMaWNlbnNlLiAgICAgLS0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCndpdGggR2xp
YjsgdXNlIEdsaWI7CgpwYWNrYWdlIEdkay5SZWN0YW5nbGUgaXMKCiAgIHR5cGUgR2RrX1JlY3Rh
bmdsZSBpcyByZWNvcmQKICAgICAgWCAgICAgIDogR2ludDE2OwogICAgICBZICAgICAgOiBHaW50
MTY7CiAgICAgIFdpZHRoICA6IEd1aW50MTY7CiAgICAgIEhlaWdodCA6IEd1aW50MTY7CiAgIGVu
ZCByZWNvcmQ7CiAgIHByYWdtYSBQYWNrIChHZGtfUmVjdGFuZ2xlKTsKCiAgIEZ1bGxfQXJlYSA6
IGNvbnN0YW50IEdka19SZWN0YW5nbGU7CiAgIC0tICBUaGUgY29uc3RhbnQgYWJvdmUgY2FuIGJl
IHVzZWQgaW4gR3RrLldpZGdldC5EcmF3IHdoZW4geW91IHdhbnQgdG8KICAgLS0gIHJlZHJhdyB0
aGUgd2hvbGUgd2lkZ2V0CgogICBwcm9jZWR1cmUgSW50ZXJzZWN0CiAgICAgKFNyYzEgICAgICA6
IGluICAgICBHZGtfUmVjdGFuZ2xlOwogICAgICBTcmMyICAgICAgOiBpbiAgICAgR2RrX1JlY3Rh
bmdsZTsKICAgICAgRGVzdCAgICAgIDogICAgb3V0IEdka19SZWN0YW5nbGU7CiAgICAgIEludGVy
c2VjdCA6ICAgIG91dCBCb29sZWFuKTsKCiAgIHByb2NlZHVyZSBVbmlvbgogICAgIChTcmMxIDog
aW4gICAgIEdka19SZWN0YW5nbGU7CiAgICAgIFNyYzIgOiBpbiAgICAgR2RrX1JlY3RhbmdsZTsK
ICAgICAgRGVzdCA6ICAgIG91dCBHZGtfUmVjdGFuZ2xlKTsKCnByaXZhdGUKCiAgIEZ1bGxfQXJl
YSA6IGNvbnN0YW50IEdka19SZWN0YW5nbGUgOj0KICAgICAoR2ludDE2J0ZpcnN0LCBHaW50MTYn
Rmlyc3QsIEd1aW50MTYnTGFzdCwgR3VpbnQxNidMYXN0KTsKCmVuZCBHZGsuUmVjdGFuZ2xlOwot
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQotLSAgICAgICAgICBHdGtBZGEgLSBBZGE5NSBiaW5kaW5nIGZvciB0aGUg
R2ltcCBUb29sa2l0ICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAg
ICAgICAgICAgIENvcHlyaWdodCAoQykgMTk5OC0xOTk5ICAgICAgICAgICAgICAgICAgICAgICAt
LQotLSAgICAgICAgRW1tYW51ZWwgQnJpb3QsIEpvZWwgQnJvYmVja2VyIGFuZCBBcm5hdWQgQ2hh
cmxldCAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yICAgICAtLQotLSBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgICAgICAgICAgICAg
ICAtLQotLSBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIgICAgICAtLQotLSB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uICAtLQotLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwgICAtLQotLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZiAgICAtLQotLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSAtLQotLSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAtLQotLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
R2VuZXJhbCBQdWJsaWMgICAgICAgICAtLQotLSBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSAgICAgICAgICAgICAtLQotLSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgICAgICAtLQot
LSBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uLCBp
ZiBvdGhlciBmaWxlcyBpbnN0YW50aWF0ZSBnZW5lcmljcyBmcm9tICAtLQotLSB0aGlzIHVuaXQs
IG9yIHlvdSBsaW5rIHRoaXMgdW5pdCB3aXRoIG90aGVyIGZpbGVzIHRvIHByb2R1Y2UgYW4gICAt
LQotLSBleGVjdXRhYmxlLCB0aGlzICB1bml0ICBkb2VzIG5vdCAgYnkgaXRzZWxmIGNhdXNlICB0
aGUgcmVzdWx0aW5nICAtLQotLSBleGVjdXRhYmxlIHRvIGJlIGNvdmVyZWQgYnkgdGhlIEdOVSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiBUaGlzICAtLQotLSBleGNlcHRpb24gZG9lcyBub3QgaG93
ZXZlciBpbnZhbGlkYXRlIGFueSBvdGhlciByZWFzb25zIHdoeSB0aGUgICAtLQotLSBleGVjdXRh
YmxlIGZpbGUgIG1pZ2h0IGJlIGNvdmVyZWQgYnkgdGhlICBHTlUgUHVibGljIExpY2Vuc2UuICAg
ICAtLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQoKd2l0aCBHbGliOyB1c2UgR2xpYjsKd2l0aCBHZGsuUmVjdGFu
Z2xlOwp3aXRoIEdkay5UeXBlczsKCnBhY2thZ2UgR2RrLlJlZ2lvbiBpcwoKICAgdHlwZSBHZGtf
UmVnaW9uIGlzIG5ldyBHZGsuQ19Qcm94eTsKICAgTnVsbF9SZWdpb24gOiBjb25zdGFudCBHZGtf
UmVnaW9uOwoKICAgcHJvY2VkdXJlIEdka19OZXcgKFJlZ2lvbiA6IG91dCBHZGtfUmVnaW9uKTsK
CiAgIHByb2NlZHVyZSBEZXN0cm95IChSZWdpb24gOiBpbiBvdXQgR2RrX1JlZ2lvbik7CgogICBw
cm9jZWR1cmUgR2V0X0NsaXBib3gKICAgICAoUmVnaW9uICAgIDogaW4gICAgIEdka19SZWdpb247
CiAgICAgIFJlY3RhbmdsZSA6ICAgIG91dCBHZGsuUmVjdGFuZ2xlLkdka19SZWN0YW5nbGUpOwoK
ICAgZnVuY3Rpb24gRW1wdHkgKFJlZ2lvbiA6IGluIEdka19SZWdpb24pIHJldHVybiBCb29sZWFu
OwoKICAgZnVuY3Rpb24gIj0iIChMZWZ0LCBSaWdodCA6IGluIEdka19SZWdpb24pIHJldHVybiBC
b29sZWFuOwoKICAgZnVuY3Rpb24gUG9pbnRfSW4KICAgICAoUmVnaW9uIDogaW4gR2RrX1JlZ2lv
bjsKICAgICAgWCwgWSAgIDogaW4gSW50ZWdlcikgcmV0dXJuIEJvb2xlYW47CgogICBmdW5jdGlv
biBSZWN0X0luCiAgICAgKFJlZ2lvbiA6IGluIEdka19SZWdpb247CiAgICAgIFJlY3QgICA6IGlu
IFJlY3RhbmdsZS5HZGtfUmVjdGFuZ2xlKSByZXR1cm4gVHlwZXMuR2RrX092ZXJsYXBfVHlwZTsK
CiAgIHByb2NlZHVyZSBQb2x5Z29uCiAgICAgKFJlZ2lvbiA6ICAgIG91dCBHZGtfUmVnaW9uOwog
ICAgICBQb2ludHMgOiBpbiAgICAgR2RrLlR5cGVzLkdka19Qb2ludHNfQXJyYXk7CiAgICAgIEZp
bGxfUnVsZSA6IGluICAgICBUeXBlcy5HZGtfRmlsbF9SdWxlKTsKCiAgIHByb2NlZHVyZSBPZmZz
ZXQKICAgICAoUmVnaW9uIDogaW4gR2RrX1JlZ2lvbjsKICAgICAgRHggICAgIDogaW4gR2ludDsK
ICAgICAgRHkgICAgIDogaW4gR2ludCk7CgogICBwcm9jZWR1cmUgU2hyaW5rCiAgICAgKFJlZ2lv
biA6IGluIEdka19SZWdpb247CiAgICAgIER4ICAgICA6IGluIEdpbnQ7CiAgICAgIER5ICAgICA6
IGluIEdpbnQpOwoKICAgcHJvY2VkdXJlIFVuaW9uX1dpdGhfUmVjdAogICAgIChSZXN1bHQgOiAg
ICBvdXQgR2RrX1JlZ2lvbjsKICAgICAgUmVnaW9uIDogaW4gICAgIEdka19SZWdpb247CiAgICAg
IFJlY3QgICA6IGluICAgICBSZWN0YW5nbGUuR2RrX1JlY3RhbmdsZSk7CgogICBwcm9jZWR1cmUg
SW50ZXJzZWN0CiAgICAgKFJlc3VsdCAgOiAgICBvdXQgR2RrX1JlZ2lvbjsKICAgICAgU291cmNl
MSA6IGluICAgICBHZGtfUmVnaW9uOwogICAgICBTb3VyY2UyIDogaW4gICAgIEdka19SZWdpb24p
OwoKICAgcHJvY2VkdXJlIFVuaW9uCiAgICAgKFJlc3VsdCAgOiAgICAgb3V0IEdka19SZWdpb247
CiAgICAgIFNvdXJjZTEgOiBpbiAgICAgIEdka19SZWdpb247CiAgICAgIFNvdXJjZTIgOiBpbiAg
ICAgIEdka19SZWdpb24pOwoKICAgcHJvY2VkdXJlIFN1YnN0cmFjdAogICAgIChSZXN1bHQgIDog
ICAgIG91dCBHZGtfUmVnaW9uOwogICAgICBTb3VyY2UxIDogaW4gICAgICBHZGtfUmVnaW9uOwog
ICAgICBTb3VyY2UyIDogaW4gICAgICBHZGtfUmVnaW9uKTsKCiAgIHByb2NlZHVyZSBHZGtfWG9y
CiAgICAgKFJlc3VsdCAgOiAgICAgb3V0IEdka19SZWdpb247CiAgICAgIFNvdXJjZTEgOiBpbiAg
ICAgIEdka19SZWdpb247CiAgICAgIFNvdXJjZTIgOiBpbiAgICAgIEdka19SZWdpb24pOwoKcHJp
dmF0ZQogICBOdWxsX1JlZ2lvbiA6IGNvbnN0YW50IEdka19SZWdpb24gOj0gbnVsbDsKICAgcHJh
Z21hIEltcG9ydCAoQywgT2Zmc2V0LCAiZ2RrX3JlZ2lvbl9vZmZzZXQiKTsKICAgcHJhZ21hIElt
cG9ydCAoQywgU2hyaW5rLCAiZ2RrX3JlZ2lvbl9zaHJpbmsiKTsKZW5kIEdkay5SZWdpb247Ci0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi0tICAgICAgICAgIEd0a0FkYSAtIEFkYTk1IGJpbmRpbmcgZm9yIHRoZSBH
aW1wIFRvb2xraXQgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAg
ICAgICAgICAgQ29weXJpZ2h0IChDKSAxOTk4LTE5OTkgICAgICAgICAgICAgICAgICAgICAgIC0t
Ci0tICAgICAgICBFbW1hbnVlbCBCcmlvdCwgSm9lbCBCcm9iZWNrZXIgYW5kIEFybmF1ZCBDaGFy
bGV0ICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgICAgIC0tCi0tIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyAgICAgICAgICAgICAg
IC0tCi0tIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlciAgICAgIC0tCi0tIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4gIC0tCi0tICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LCAgIC0tCi0tIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mICAgIC0tCi0tIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIC0tCi0tIEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4gICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC0tCi0tIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH
ZW5lcmFsIFB1YmxpYyAgICAgICAgIC0tCi0tIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlICAgICAgICAgICAgIC0tCi0tIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCAgICAgIC0tCi0t
IEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIEFzIGEgc3BlY2lhbCBleGNlcHRpb24sIGlm
IG90aGVyIGZpbGVzIGluc3RhbnRpYXRlIGdlbmVyaWNzIGZyb20gIC0tCi0tIHRoaXMgdW5pdCwg
b3IgeW91IGxpbmsgdGhpcyB1bml0IHdpdGggb3RoZXIgZmlsZXMgdG8gcHJvZHVjZSBhbiAgIC0t
Ci0tIGV4ZWN1dGFibGUsIHRoaXMgIHVuaXQgIGRvZXMgbm90ICBieSBpdHNlbGYgY2F1c2UgIHRo
ZSByZXN1bHRpbmcgIC0tCi0tIGV4ZWN1dGFibGUgdG8gYmUgY292ZXJlZCBieSB0aGUgR05VIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UuIFRoaXMgIC0tCi0tIGV4Y2VwdGlvbiBkb2VzIG5vdCBob3dl
dmVyIGludmFsaWRhdGUgYW55IG90aGVyIHJlYXNvbnMgd2h5IHRoZSAgIC0tCi0tIGV4ZWN1dGFi
bGUgZmlsZSAgbWlnaHQgYmUgY292ZXJlZCBieSB0aGUgIEdOVSBQdWJsaWMgTGljZW5zZS4gICAg
IC0tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCgp3aXRoIEdsaWI7IHVzZSBHbGliOwoKcGFja2FnZSBHZGsuVHlw
ZXMgaXMKCiAgIHR5cGUgR2RrX0dlb21ldHJ5IGlzIHJlY29yZAogICAgICBNaW5fV2lkdGggICA6
IEdpbnQ7CiAgICAgIE1pbl9IZWlnaHQgIDogR2ludDsKICAgICAgTWF4X1dpZHRoICAgOiBHaW50
OwogICAgICBNYXhfSGVpZ2h0ICA6IEdpbnQ7CiAgICAgIEJhc2VfV2lkdGggIDogR2ludDsKICAg
ICAgQmFzZV9IZWlnaHQgOiBHaW50OwogICAgICBXaWR0aF9JbmMgICA6IEdpbnQ7CiAgICAgIEhl
aWdodF9JbmMgIDogR2ludDsKICAgICAgTWluX0FzcGVjdCAgOiBHZG91YmxlOwogICAgICBNYXhf
QXNwZWN0ICA6IEdkb3VibGU7CiAgIGVuZCByZWNvcmQ7CiAgIHByYWdtYSBQYWNrIChHZGtfR2Vv
bWV0cnkpOwoKICAgdHlwZSBHZGtfUG9pbnQgaXMgcmVjb3JkCiAgICAgIFggOiBHaW50MTY7CiAg
ICAgIFkgOiBHaW50MTY7CiAgIGVuZCByZWNvcmQ7CiAgIHByYWdtYSBQYWNrIChHZGtfUG9pbnQp
OwogICBmb3IgR2RrX1BvaW50J1NpemUgdXNlIEdpbnQnU2l6ZTsKCiAgIHR5cGUgR2RrX1BvaW50
c19BcnJheSBpcyBhcnJheSAoUG9zaXRpdmUgcmFuZ2UgPD4pIG9mIEdka19Qb2ludDsKICAgcHJh
Z21hIFBhY2sgKEdka19Qb2ludHNfQXJyYXkpOwoKICAgdHlwZSBHZGtfU2VnbWVudCBpcyByZWNv
cmQKICAgICAgWDEgOiBHaW50MTY7CiAgICAgIFkxIDogR2ludDE2OwogICAgICBYMiA6IEdpbnQx
NjsKICAgICAgWTIgOiBHaW50MTY7CiAgIGVuZCByZWNvcmQ7CiAgIHByYWdtYSBQYWNrIChHZGtf
U2VnbWVudCk7CiAgIGZvciBHZGtfU2VnbWVudCdTaXplIHVzZSA2NDsKCiAgIHR5cGUgR2RrX1Nl
Z21lbnRzX0FycmF5IGlzIGFycmF5IChQb3NpdGl2ZSByYW5nZSA8Pikgb2YgR2RrX1NlZ21lbnQ7
CiAgIHByYWdtYSBQYWNrIChHZGtfU2VnbWVudHNfQXJyYXkpOwoKICAgLS0KICAgLS0gIFNlZSBh
dCB0aGUgZW5kIG9mIHRoZSBwYWNrYWdlIGEgbGlzdCBvZiBhbGwgdGhlIHR5cGVzIHRoYXQKICAg
LS0gIGhhdmUgbm90IGJlZW4gImJvdW5kIi4KICAgLS0KCiAgIHR5cGUgR2RrX0F0b20gaXMgbmV3
IEd1bG9uZzsKICAgLS0gIFRoaXMgdHlwZSByZXByZXNlbnRzIGEgcHJvcGVydHkgb2YgdGhlIFgt
c2VydmVyLCB0aGF0IGNhbiBiZQogICAtLSAgbWFuaXB1bGF0ZWQgdGhyb3VnaCBmdW5jdGlvbnMg
aW4gR2RrLlByb3BlcnR5LiBUaGV5IGhhdmUgYW4gYXNzb2NpYXRlZAogICAtLSAgbmFtZSwgdGhh
dCBjYW4gYmUgcHJpbnRlZCwgYXMgd2VsbCBhcyBhIHZhbHVlIHdob3NlIHR5cGUgbWF5IHZhcnku
CgogICB0eXBlIEdka19BeGlzX1VzZSBpcwogICAgIChBeGlzX0lnbm9yZSwKICAgICAgQXhpc19Y
LAogICAgICBBeGlzX1ksCiAgICAgIEF4aXNfUHJlc3N1cmUsCiAgICAgIEF4aXNfWF9UaWx0LAog
ICAgICBBeGlzX1lfVGlsdCwKICAgICAgQXhpc19MYXN0KTsKCiAgIHR5cGUgR2RrX0J5dGVfT3Jk
ZXIgaXMgKExzYl9GaXJzdCwgTXNiX0ZpcnN0KTsKCiAgIHR5cGUgR2RrX0NhcF9TdHlsZSBpcyAo
Q2FwX05vdF9MYXN0LCBDYXBfQnV0dCwgQ2FwX1JvdW5kLCBDYXBfUHJvamVjdGluZyk7CgogICB0
eXBlIEdka19Dcm9zc2luZ19Nb2RlIGlzIChDcm9zc2luZ19Ob3JtYWwsIENyb3NzaW5nX0dyYWIs
IENyb3NzaW5nX1VuZ3JhYik7CgogICB0eXBlIEdka19DdXJzb3JfVHlwZSBpcwogICAgIChYX0N1
cnNvciwKICAgICAgQXJyb3csCiAgICAgIEJhc2VkX0Fycm93X0Rvd24sCiAgICAgIEJhc2VkX0Fy
cm93X1VwLAogICAgICBCb2F0LAogICAgICBCb2dvc2l0eSwKICAgICAgQm90dG9tX0xlZnRfQ29y
bmVyLAogICAgICBCb3R0b21fUmlnaHRfQ29ybmVyLAogICAgICBCb3R0b21fU2lkZSwKICAgICAg
Qm90dG9tX1RlZSwKICAgICAgQm94X1NwaXJhbCwKICAgICAgQ2VudGVyX1B0ciwKICAgICAgQ2ly
Y2xlLAogICAgICBDbG9jaywKICAgICAgQ29mZmVlX011ZywKICAgICAgQ3Jvc3MsCiAgICAgIENy
b3NzX1JldmVyc2UsCiAgICAgIENyb3NzaGFpciwKICAgICAgRGlhbW9uZF9Dcm9zcywKICAgICAg
RG90LAogICAgICBEb3Rib3gsCiAgICAgIERvdWJsZV9BcnJvdywKICAgICAgRHJhZnRfTGFyZ2Us
CiAgICAgIERyYWZ0X1NtYWxsLAogICAgICBEcmFwZWRfQm94LAogICAgICBFeGNoYW5nZSwKICAg
ICAgRmxldXIsCiAgICAgIEdvYmJsZXIsCiAgICAgIEd1bWJ5LAogICAgICBIYW5kMSwKICAgICAg
SGFuZDIsCiAgICAgIEhlYXJ0LAogICAgICBJY29uLAogICAgICBJcm9uX0Nyb3NzLAogICAgICBM
ZWZ0X1B0ciwKICAgICAgTGVmdF9TaWRlLAogICAgICBMZWZ0X1RlZSwKICAgICAgTGVmdGJ1dHRv
biwKICAgICAgTGxfQW5nbGUsCiAgICAgIExyX0FuZ2xlLAogICAgICBNYW4sCiAgICAgIE1pZGRs
ZWJ1dHRvbiwKICAgICAgTW91c2UsCiAgICAgIFBlbmNpbCwKICAgICAgUGlyYXRlLAogICAgICBQ
bHVzLAogICAgICBRdWVzdGlvbl9BcnJvdywKICAgICAgUmlnaHRfUHRyLAogICAgICBSaWdodF9T
aWRlLAogICAgICBSaWdodF9UZWUsCiAgICAgIFJpZ2h0YnV0dG9uLAogICAgICBSdGxfTG9nbywK
ICAgICAgU2FpbGJvYXQsCiAgICAgIFNiX0Rvd25fQXJyb3csCiAgICAgIFNiX0hfRG91YmxlX0Fy
cm93LAogICAgICBTYl9MZWZ0X0Fycm93LAogICAgICBTYl9SaWdodF9BcnJvdywKICAgICAgU2Jf
VXBfQXJyb3csCiAgICAgIFNiX1ZfRG91YmxlX0Fycm93LAogICAgICBTaHV0dGxlLAogICAgICBT
aXppbmcsCiAgICAgIFNwaWRlciwKICAgICAgU3ByYXljYW4sCiAgICAgIFN0YXIsCiAgICAgIFRh
cmdldCwKICAgICAgVGNyb3NzLAogICAgICBUb3BfTGVmdF9BcnJvdywKICAgICAgVG9wX0xlZnRf
Q29ybmVyLAogICAgICBUb3BfUmlnaHRfQ29ybmVyLAogICAgICBUb3BfU2lkZSwKICAgICAgVG9w
X1RlZSwKICAgICAgVHJlaywKICAgICAgVWxfQW5nbGUsCiAgICAgIFVtYnJlbGxhLAogICAgICBV
cl9BbmdsZSwKICAgICAgV2F0Y2gsCiAgICAgIFh0ZXJtKTsKCiAgIHR5cGUgR2RrX0RldmljZV9J
ZCBpcyBuZXcgR3VpbnQzMjsKICAgLS0gIFRoaXMgdHlwZSBpcyBzcGVjaWZpYyB0byBHdGtBZGEu
IEluIEdkaywgZ3VpbnQzMiBpcyB1c2VkIGluc3RlYWQuCgogICB0eXBlIEdka19FdmVudF9NYXNr
IGlzIG1vZCAyICoqIDIxOwogICAtLSAgTm90ZSB0aGF0IHlvdSBuZWVkIHRvIGNoYW5nZSB0aGUg
ZXZlbnQgbWFzayBvZiBhIHdpZGdldCBpZiB5b3Ugd2FudAogICAtLSAgdG8gYmUgYWJsZSB0byBn
ZXQgc29tZSBldmVudHMuIFRvIGNoYW5nZSB0aGlzIG1hc2ssIHRoZSB3aWRnZXQKICAgLS0gIG11
c3QgZmlyc3QgYmUgVW5yZWFsaXplZC4KCiAgIE51bGxfRXZlbnRfTWFzayAgICAgICAgICA6IGNv
bnN0YW50IEdka19FdmVudF9NYXNrOwogICBFeHBvc3VyZV9NYXNrICAgICAgICAgICAgOiBjb25z
dGFudCBHZGtfRXZlbnRfTWFzazsKCiAgIFBvaW50ZXJfTW90aW9uX01hc2sgICAgICA6IGNvbnN0
YW50IEdka19FdmVudF9NYXNrOwogICAtLSAgRXZlcnkgdGltZSB0aGUgbW91c2UgbW92ZXMsIEd0
a0FkYSB3aWxsIHNlbmQgYSBNb3Rpb25fTm90aWZ5IGV2ZW50LgogICAtLSAgVGhlc2UgZXZlbnRz
IHdpbGwgYmUgc2VudCBhcyBmYXN0IGFzIHBvc3NpYmxlLCBhbmQgeW91ciBhcHBsaWNhdGlvbgog
ICAtLSAgbmVlZHMgdG8gYmUgYWJsZSB0byByZXNwb25kIGFzIGZhc3QgYXMgcG9zc2libGUgKGdl
bmVyYWxseSBhYm91dAogICAtLSAgMjAwIGV2ZW50cyBwZXIgc2Vjb25kKS4KCiAgIFBvaW50ZXJf
TW90aW9uX0hpbnRfTWFzayA6IGNvbnN0YW50IEdka19FdmVudF9NYXNrOwogICAtLSAgR3RrQWRh
IHdpbGwgb25seSBzZW5kIG9uZSBNb3Rpb25fTm90aWZ5IGV2ZW50IHdoZW4gdGhlIG1vdXNlIG1v
dmVzLgogICAtLSAgVGhlIGhhbmRsZXIgc2hvdWxkIGNhbGwgR2RrLldpbmRvdy5HZXRfUG9pbnRl
ciwgdG8gZ2V0IHRoZSBjdXJyZW50CiAgIC0tICBwb3NpdGlvbiBhbmQgc2lnbmFscyBHdGtBZGEg
dGhhdCBpdCBpcyByZWFkeSB0byBnZXQgYW5vdGhlcgogICAtLSAgTW90aW9uX05vdGlmeSBzaWdu
YWwuIE5vIG5ldyBNb3Rpb25fTm90aWZ5IHdpbGwgYmUgc2VudCB1bnRpbAogICAtLSAgR2V0X1Bv
aW50ZXIgaGFzIGJlZW4gY2FsbGVkLgoKICAgQnV0dG9uX01vdGlvbl9NYXNrICAgICAgIDogY29u
c3RhbnQgR2RrX0V2ZW50X01hc2s7CiAgIEJ1dHRvbjFfTW90aW9uX01hc2sgICAgICA6IGNvbnN0
YW50IEdka19FdmVudF9NYXNrOwogICBCdXR0b24yX01vdGlvbl9NYXNrICAgICAgOiBjb25zdGFu
dCBHZGtfRXZlbnRfTWFzazsKICAgQnV0dG9uM19Nb3Rpb25fTWFzayAgICAgIDogY29uc3RhbnQg
R2RrX0V2ZW50X01hc2s7CiAgIEJ1dHRvbl9QcmVzc19NYXNrICAgICAgICA6IGNvbnN0YW50IEdk
a19FdmVudF9NYXNrOwogICBCdXR0b25fUmVsZWFzZV9NYXNrICAgICAgOiBjb25zdGFudCBHZGtf
RXZlbnRfTWFzazsKICAgS2V5X1ByZXNzX01hc2sgICAgICAgICAgIDogY29uc3RhbnQgR2RrX0V2
ZW50X01hc2s7CiAgIEtleV9SZWxlYXNlX01hc2sgICAgICAgICA6IGNvbnN0YW50IEdka19FdmVu
dF9NYXNrOwogICBFbnRlcl9Ob3RpZnlfTWFzayAgICAgICAgOiBjb25zdGFudCBHZGtfRXZlbnRf
TWFzazsKICAgTGVhdmVfTm90aWZ5X01hc2sgICAgICAgIDogY29uc3RhbnQgR2RrX0V2ZW50X01h
c2s7CiAgIEZvY3VzX0NoYW5nZV9NYXNrICAgICAgICA6IGNvbnN0YW50IEdka19FdmVudF9NYXNr
OwogICBTdHJ1Y3R1cmVfTWFzayAgICAgICAgICAgOiBjb25zdGFudCBHZGtfRXZlbnRfTWFzazsK
ICAgUHJvcGVydHlfQ2hhbmdlX01hc2sgICAgIDogY29uc3RhbnQgR2RrX0V2ZW50X01hc2s7CiAg
IFZpc2liaWxpdHlfTm90aWZ5X01hc2sgICA6IGNvbnN0YW50IEdka19FdmVudF9NYXNrOwogICBQ
cm94aW1pdHlfSW5fTWFzayAgICAgICAgOiBjb25zdGFudCBHZGtfRXZlbnRfTWFzazsKICAgUHJv
eGltaXR5X091dF9NYXNrICAgICAgIDogY29uc3RhbnQgR2RrX0V2ZW50X01hc2s7CiAgIEFsbF9F
dmVudHNfTWFzayAgICAgICAgICA6IGNvbnN0YW50IEdka19FdmVudF9NYXNrOwoKICAgdHlwZSBH
ZGtfRXZlbnRfVHlwZSBpcwogICAgIChOb3RoaW5nLAogICAgICBEZWxldGUsCiAgICAgIERlc3Ry
b3ksCiAgICAgIEV4cG9zZSwKICAgICAgTW90aW9uX05vdGlmeSwKICAgICAgQnV0dG9uX1ByZXNz
LAogICAgICBHZGtfMmJ1dHRvbl9QcmVzcywgIC0tICBEb3VibGUtY2xpY2sKICAgICAgR2RrXzNi
dXR0b25fUHJlc3MsICAtLSAgVHJpcGxlLWNsaWNrCiAgICAgIEJ1dHRvbl9SZWxlYXNlLAogICAg
ICBLZXlfUHJlc3MsCiAgICAgIEtleV9SZWxlYXNlLAogICAgICBFbnRlcl9Ob3RpZnksCiAgICAg
IEx