From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Gavin.Hu@arm.com>
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr10049.outbound.protection.outlook.com [40.107.1.49])
 by dpdk.org (Postfix) with ESMTP id 7AF5D160;
 Mon,  8 Oct 2018 12:33:45 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; 
 s=selector1-arm-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5hp2mWEat/+CyTRjFlkqaN+J164ffxzN7phCgKnmCZs=;
 b=YP/g8M2cbNOZVTHyfinwkhFrXwwh2wUzO+wid7P5qAFRULc5KeEmL9TPVPrrKViId+Uvh3DQZ4wLKvRsa4VBv5rcmZC/3z93t7EZ3+Ivy3O2kT0w7AHzH7KdlBiu4PpFg1n6qIuij875+jwK7SpIeeY2IOFU1JNVApY5i8xxWdM=
Received: from DB7PR08MB3163.eurprd08.prod.outlook.com (52.134.110.149) by
 DB7PR08MB3434.eurprd08.prod.outlook.com (20.176.238.143) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.1207.28; Mon, 8 Oct 2018 10:33:43 +0000
Received: from DB7PR08MB3163.eurprd08.prod.outlook.com
 ([fe80::e535:27:f833:3258]) by DB7PR08MB3163.eurprd08.prod.outlook.com
 ([fe80::e535:27:f833:3258%2]) with mapi id 15.20.1207.024; Mon, 8 Oct 2018
 10:33:43 +0000
From: "Gavin Hu (Arm Technology China)" <Gavin.Hu@arm.com>
To: Ola Liljedahl <Ola.Liljedahl@arm.com>, Jerin Jacob
 <jerin.jacob@caviumnetworks.com>
CC: "dev@dpdk.org" <dev@dpdk.org>, Honnappa Nagarahalli
 <Honnappa.Nagarahalli@arm.com>, "Ananyev, Konstantin"
 <konstantin.ananyev@intel.com>, Steve Capper <Steve.Capper@arm.com>, nd
 <nd@arm.com>, "stable@dpdk.org" <stable@dpdk.org>
Thread-Topic: [PATCH v3 1/3] ring: read tail using atomic load
Thread-Index: AQHUTl7oRf7ShYPLWECgB4oSebTnGqUHJ0+AgAij3fCAAKEOgIAAMIcAgAAF34CAACPDgIAAGFMAgAAgVICAABBDgIAAIdaAgAADEgCAAANNgIAAAVCAgAC6c4CAAMoBgIAAizEAgAEX/gCAAJzqgIAANqSAgAAKnoCAAAcsgIAAAZNA
Date: Mon, 8 Oct 2018 10:33:43 +0000
Message-ID: <DB7PR08MB3163A598CBC76D05EC67335E8FE60@DB7PR08MB3163.eurprd08.prod.outlook.com>
References: <AM6PR08MB3672E0CA10AAA9D587B9E13698EB0@AM6PR08MB3672.eurprd08.prod.outlook.com>
 <1555626C-F2B8-44EB-98A3-79B1F7002587@arm.com>
 <AM6PR08MB367225A0461ECC718D50CE9C98EB0@AM6PR08MB3672.eurprd08.prod.outlook.com>
 <60055965-A7C8-4E9F-8668-0AE1DCE57515@arm.com> <20181006074126.GA16715@jerin>
 <F83A969A-15F5-4D79-85B4-CB435E2C9B51@arm.com> <20181007040243.GA1850@jerin>
 <7A156041-23EC-4CCB-B129-3607AF34A992@arm.com> <20181008060629.GA5228@jerin>
 <063A95EC-CFC1-42F7-B864-DFB9C6718AC8@arm.com> <20181008100004.GB11081@jerin>
 <B00E8CE9-7D26-46FC-A98B-06BA6DEEB813@arm.com>
In-Reply-To: <B00E8CE9-7D26-46FC-A98B-06BA6DEEB813@arm.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=Gavin.Hu@arm.com; 
x-originating-ip: [113.29.88.7]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; DB7PR08MB3434;
 6:Ow6JGSgY/ezwjXmKdSkqJk8KrdjFnxXL7BuX8qKygJyMD+LJXCV6GOwEDe1/7ykJZzTlLy9XD1bXQTOq8irfMOPm8sNmX1nAYxCzpDM3ej3iULdV0QF5rrHiXXhs6dMsvCYbYECHSVkvJpF22mA6e8ii76vQY/jjzXuCKTLk++5OCN8l6KGjj9rm3NNwUARJvVdXZc10bKsfOFhRzfQW6ezL06v3sQKuEsbTbltPX0opzT4/5wBP02gX5Oc8LUY7g7epYQR29HjI+0WYOk/q0wTX4hTqOMPoWoIhdG4bBCy0glfzZl3iiI/9zsm4UwFl1CHT+uk8QAXN6C0ma+aHSsJVfYLj/8rPLDx3ge0FMSXQQp7Z1qU73S+DWRDscFu+JlN+dh1f7qL0Ovxth0Raq7c5Vej9b65WagXQfd47CvMkPk2jtgPGUgafXudsO6NEpTbUu3klo+/4fenLobgqnQ==;
 5:ox4c+joHWTFtVg/PKCRpmvix7OxuYAdcYlTph5+EyEEUKMjpDbZ/6BjLdedhia8ZvIvlR37M1gy2fGSocRu663VxM2vlZEGQjwGZgthN7xh6wMXQdR74wI6++NR6vV2by0xabZyZBDZkfgtYZVJ1YuJWKAm0nUW6fdqNKP1Yjxo=;
 7:jevx1icIxtDViy8ttZfO7p45k1Jhz2TsktmTc+O7LnJBY2gJwbhXYm3JodhjYjD0/pzzJoyAQkqS3j9MXWcNDYQouJs3Jts5c7mEvyiNitPBe3wfEvu8pW3WtVIHw0Z8VLwQuafFMTObOhgabLryTJRZ9Ao5722etJNQGgd/rXNBjsVg2WfrfWSCX/IkBzL3hcFoHRth0M4GW7qP43u8mwv1EA7kfL1L0fnvUTr+nvZwgpErqsJRlPqJF+befpDM
x-ms-exchange-antispam-srfa-diagnostics: SOS;SOR;
x-ms-office365-filtering-correlation-id: 60aa9343-ac81-49c7-6f01-08d62d09858e
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: BCL:0; PCL:0;
 RULEID:(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020);
 SRVR:DB7PR08MB3434; 
x-ms-traffictypediagnostic: DB7PR08MB3434:
nodisclaimer: True
x-microsoft-antispam-prvs: <DB7PR08MB3434469C10633DD7ECE6C5578FE60@DB7PR08MB3434.eurprd08.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(166708455590820)(180628864354917)(228905959029699); 
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0;
 RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3231355)(944501410)(52105095)(3002001)(10201501046)(93006095)(93001095)(6055026)(149066)(150057)(6041310)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991055);
 SRVR:DB7PR08MB3434; BCL:0; PCL:0; RULEID:; SRVR:DB7PR08MB3434; 
x-forefront-prvs: 081904387B
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(39860400002)(396003)(366004)(346002)(376002)(136003)(199004)(51234002)(189003)(13464003)(71200400001)(71190400001)(476003)(99286004)(74316002)(446003)(305945005)(6436002)(2906002)(33656002)(6246003)(110136005)(229853002)(5250100002)(54906003)(4744004)(93886005)(97736004)(7736002)(11346002)(102836004)(316002)(486006)(478600001)(72206003)(3846002)(68736007)(106356001)(53546011)(55236004)(6506007)(25786009)(66066001)(53936002)(186003)(14454004)(5660300001)(19627235002)(966005)(6116002)(256004)(14444005)(81166006)(81156014)(55016002)(8676002)(76176011)(7696005)(6306002)(4326008)(53946003)(2900100001)(26005)(9686003)(86362001)(45080400002)(105586002)(8936002);
 DIR:OUT; SFP:1101; SCL:1; SRVR:DB7PR08MB3434;
 H:DB7PR08MB3163.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; A:1; MX:1; 
received-spf: None (protection.outlook.com: arm.com does not designate
 permitted sender hosts)
x-microsoft-antispam-message-info: xS8RC8/IT+BVhHGl7P1Utav9OzgvUheFFfscQ87Ih5wWYMpOEUEFoDHWVA9Ewu1hkjdMtpJ9bgddM4L3VJTAjAdYBno7f96EpsB6PI24dhsZdT92/n1ZJV/k3M1rV5EJ/kTONE/YUGgvMZupVIBo5dsBDGt7pNs7w9/pB3CztIrOAqgaiDm4oDuvqhSijWvDM1QuNjLNcpm4uVYY6nQzxa5+I+lH8SAN6wIHn3WEceFpwW62cgX20tqh81lE2h1CG9TiLc1PUay1wfbXndSUYeCqj8Twc0Qh4gFr1o2jAwBxhl/gBlACZMuTAFzRuqGVqTQbwTQAxFAtUt7JYHU3Uge0go+81MVEE+oNj/m/U9A=
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 60aa9343-ac81-49c7-6f01-08d62d09858e
X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Oct 2018 10:33:43.7069 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3434
Subject: Re: [dpdk-dev] [PATCH v3 1/3] ring: read tail using atomic load
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Mon, 08 Oct 2018 10:33:45 -0000

SSBkaWQgYmVuY2htYXJraW5nIHcvbyBhbmQgdy8gdGhlIHBhdGNoLCBpdCBkaWQgbm90IHNob3cg
YW55IG5vdGljZWFibGUgZGlmZmVyZW5jZXMgaW4gdGVybXMgb2YgbGF0ZW5jeS4NCkhlcmUgaXMg
dGhlIGZ1bGwgbG9nKCAzIHJ1bnMgdy9vIHRoZSBwYXRjaCBhbmQgMiBydW5zIHcvIHRoZSBwYXRj
aCkuDQoNCnN1ZG8gLi90ZXN0L3Rlc3QvdGVzdCAtbCAxNi0xOSw0NC00Nyw3Mi03NSwxMDAtMTAz
IC1uIDQgLS1zb2NrZXQtbWVtPTEwMjQgIC0tIC1pDQoNClJURT4+cmluZ19wZXJmX2F1dG90ZXN0
ICgjMSBydW4gb2YgdGVzdCB3aXRob3V0IHRoZSBwYXRjaCkNCiMjIyBUZXN0aW5nIHNpbmdsZSBl
bGVtZW50IGFuZCBidXJzdCBlbnEvZGVxICMjIw0KU1AvU0Mgc2luZ2xlIGVucS9kZXF1ZXVlOiA4
DQpNUC9NQyBzaW5nbGUgZW5xL2RlcXVldWU6IDEwDQpTUC9TQyBidXJzdCBlbnEvZGVxdWV1ZSAo
c2l6ZTogOCk6IDENCk1QL01DIGJ1cnN0IGVucS9kZXF1ZXVlIChzaXplOiA4KTogMQ0KU1AvU0Mg
YnVyc3QgZW5xL2RlcXVldWUgKHNpemU6IDMyKTogMA0KTVAvTUMgYnVyc3QgZW5xL2RlcXVldWUg
KHNpemU6IDMyKTogMA0KDQojIyMgVGVzdGluZyBlbXB0eSBkZXF1ZXVlICMjIw0KU0MgZW1wdHkg
ZGVxdWV1ZTogMC4yNA0KTUMgZW1wdHkgZGVxdWV1ZTogMC4yNA0KDQojIyMgVGVzdGluZyB1c2lu
ZyBhIHNpbmdsZSBsY29yZSAjIyMNClNQL1NDIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6IDgpOiAx
LjQwDQpNUC9NQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiA4KTogMS43NA0KU1AvU0MgYnVsayBl
bnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAwLjU5DQpNUC9NQyBidWxrIGVucS9kZXF1ZXVlIChzaXpl
OiAzMik6IDAuNjgNCg0KIyMjIFRlc3RpbmcgdXNpbmcgdHdvIGh5cGVydGhyZWFkcyAjIyMNClNQ
L1NDIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6IDgpOiAyLjQ5DQpNUC9NQyBidWxrIGVucS9kZXF1
ZXVlIChzaXplOiA4KTogMy4wOQ0KU1AvU0MgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAx
LjA3DQpNUC9NQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiAzMik6IDEuMTMNCg0KIyMjIFRlc3Rp
bmcgdXNpbmcgdHdvIHBoeXNpY2FsIGNvcmVzICMjIw0KU1AvU0MgYnVsayBlbnEvZGVxdWV1ZSAo
c2l6ZTogOCk6IDYuNTUNCk1QL01DIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6IDgpOiAxMi45OQ0K
U1AvU0MgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAxLjk3DQpNUC9NQyBidWxrIGVucS9k
ZXF1ZXVlIChzaXplOiAzMik6IDMuNDENCg0KUlRFPj5yaW5nX3BlcmZfYXV0b3Rlc3QoIzIgcnVu
IG9mIHRlc3Qgd2l0aG91dCB0aGUgcGF0Y2gpDQojIyMgVGVzdGluZyBzaW5nbGUgZWxlbWVudCBh
bmQgYnVyc3QgZW5xL2RlcSAjIyMNClNQL1NDIHNpbmdsZSBlbnEvZGVxdWV1ZTogOA0KTVAvTUMg
c2luZ2xlIGVucS9kZXF1ZXVlOiAxMA0KU1AvU0MgYnVyc3QgZW5xL2RlcXVldWUgKHNpemU6IDgp
OiAxDQpNUC9NQyBidXJzdCBlbnEvZGVxdWV1ZSAoc2l6ZTogOCk6IDENClNQL1NDIGJ1cnN0IGVu
cS9kZXF1ZXVlIChzaXplOiAzMik6IDANCk1QL01DIGJ1cnN0IGVucS9kZXF1ZXVlIChzaXplOiAz
Mik6IDANCg0KIyMjIFRlc3RpbmcgZW1wdHkgZGVxdWV1ZSAjIyMNClNDIGVtcHR5IGRlcXVldWU6
IDAuMjQNCk1DIGVtcHR5IGRlcXVldWU6IDAuMjQNCg0KIyMjIFRlc3RpbmcgdXNpbmcgYSBzaW5n
bGUgbGNvcmUgIyMjDQpTUC9TQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiA4KTogMS40MA0KTVAv
TUMgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogOCk6IDEuNzQNClNQL1NDIGJ1bGsgZW5xL2RlcXVl
dWUgKHNpemU6IDMyKTogMC41OQ0KTVAvTUMgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAw
LjY4DQoNCiMjIyBUZXN0aW5nIHVzaW5nIHR3byBoeXBlcnRocmVhZHMgIyMjDQpTUC9TQyBidWxr
IGVucS9kZXF1ZXVlIChzaXplOiA4KTogMi41MA0KTVAvTUMgYnVsayBlbnEvZGVxdWV1ZSAoc2l6
ZTogOCk6IDMuMDgNClNQL1NDIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6IDMyKTogMS4wNw0KTVAv
TUMgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAxLjEzDQoNCiMjIyBUZXN0aW5nIHVzaW5n
IHR3byBwaHlzaWNhbCBjb3JlcyAjIyMNClNQL1NDIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6IDgp
OiA2LjU3DQpNUC9NQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiA4KTogMTMuMDANClNQL1NDIGJ1
bGsgZW5xL2RlcXVldWUgKHNpemU6IDMyKTogMS45OA0KTVAvTUMgYnVsayBlbnEvZGVxdWV1ZSAo
c2l6ZTogMzIpOiAzLjQxDQpUZXN0IE9LDQoNClJURT4+cmluZ19wZXJmX2F1dG90ZXN0KCMzIHJ1
biBvZiB0ZXN0IHdpdGhvdXQgdGhlIHBhdGNoKQ0KIyMjIFRlc3Rpbmcgc2luZ2xlIGVsZW1lbnQg
YW5kIGJ1cnN0IGVucS9kZXEgIyMjDQpTUC9TQyBzaW5nbGUgZW5xL2RlcXVldWU6IDgNCk1QL01D
IHNpbmdsZSBlbnEvZGVxdWV1ZTogMTANClNQL1NDIGJ1cnN0IGVucS9kZXF1ZXVlIChzaXplOiA4
KTogMQ0KTVAvTUMgYnVyc3QgZW5xL2RlcXVldWUgKHNpemU6IDgpOiAxDQpTUC9TQyBidXJzdCBl
bnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAwDQpNUC9NQyBidXJzdCBlbnEvZGVxdWV1ZSAoc2l6ZTog
MzIpOiAwDQoNCiMjIyBUZXN0aW5nIGVtcHR5IGRlcXVldWUgIyMjDQpTQyBlbXB0eSBkZXF1ZXVl
OiAwLjI0DQpNQyBlbXB0eSBkZXF1ZXVlOiAwLjI0DQoNCiMjIyBUZXN0aW5nIHVzaW5nIGEgc2lu
Z2xlIGxjb3JlICMjIw0KU1AvU0MgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogOCk6IDEuNDANCk1Q
L01DIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6IDgpOiAxLjc0DQpTUC9TQyBidWxrIGVucS9kZXF1
ZXVlIChzaXplOiAzMik6IDAuNTkNCk1QL01DIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6IDMyKTog
MC42OA0KDQojIyMgVGVzdGluZyB1c2luZyB0d28gaHlwZXJ0aHJlYWRzICMjIw0KU1AvU0MgYnVs
ayBlbnEvZGVxdWV1ZSAoc2l6ZTogOCk6IDIuNDkNCk1QL01DIGJ1bGsgZW5xL2RlcXVldWUgKHNp
emU6IDgpOiAzLjA4DQpTUC9TQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiAzMik6IDEuMDcNCk1Q
L01DIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6IDMyKTogMS4xMw0KDQojIyMgVGVzdGluZyB1c2lu
ZyB0d28gcGh5c2ljYWwgY29yZXMgIyMjDQpTUC9TQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiA4
KTogNi41NQ0KTVAvTUMgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogOCk6IDEyLjk2DQpTUC9TQyBi
dWxrIGVucS9kZXF1ZXVlIChzaXplOiAzMik6IDEuOTkNCk1QL01DIGJ1bGsgZW5xL2RlcXVldWUg
KHNpemU6IDMyKTogMy4zNw0KDQoNClJURT4+cmluZ19wZXJmX2F1dG90ZXN0KCMxIHJ1biBvZiB0
aGUgdGVzdCB3aXRoIHRoZSBwYXRjaCkNCiMjIyBUZXN0aW5nIHNpbmdsZSBlbGVtZW50IGFuZCBi
dXJzdCBlbnEvZGVxICMjIw0KU1AvU0Mgc2luZ2xlIGVucS9kZXF1ZXVlOiA4DQpNUC9NQyBzaW5n
bGUgZW5xL2RlcXVldWU6IDEwDQpTUC9TQyBidXJzdCBlbnEvZGVxdWV1ZSAoc2l6ZTogOCk6IDEN
Ck1QL01DIGJ1cnN0IGVucS9kZXF1ZXVlIChzaXplOiA4KTogMQ0KU1AvU0MgYnVyc3QgZW5xL2Rl
cXVldWUgKHNpemU6IDMyKTogMA0KTVAvTUMgYnVyc3QgZW5xL2RlcXVldWUgKHNpemU6IDMyKTog
MA0KDQojIyMgVGVzdGluZyBlbXB0eSBkZXF1ZXVlICMjIw0KU0MgZW1wdHkgZGVxdWV1ZTogMC4y
NA0KTUMgZW1wdHkgZGVxdWV1ZTogMC4zMg0KDQojIyMgVGVzdGluZyB1c2luZyBhIHNpbmdsZSBs
Y29yZSAjIyMNClNQL1NDIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6IDgpOiAxLjQzDQpNUC9NQyBi
dWxrIGVucS9kZXF1ZXVlIChzaXplOiA4KTogMS43NA0KU1AvU0MgYnVsayBlbnEvZGVxdWV1ZSAo
c2l6ZTogMzIpOiAwLjYwDQpNUC9NQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiAzMik6IDAuNjgN
Cg0KIyMjIFRlc3RpbmcgdXNpbmcgdHdvIGh5cGVydGhyZWFkcyAjIyMNClNQL1NDIGJ1bGsgZW5x
L2RlcXVldWUgKHNpemU6IDgpOiAyLjUzDQpNUC9NQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiA4
KTogMy4wOQ0KU1AvU0MgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAxLjA2DQpNUC9NQyBi
dWxrIGVucS9kZXF1ZXVlIChzaXplOiAzMik6IDEuMTgNCg0KIyMjIFRlc3RpbmcgdXNpbmcgdHdv
IHBoeXNpY2FsIGNvcmVzICMjIw0KU1AvU0MgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogOCk6IDYu
NTcNCk1QL01DIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6IDgpOiAxMi45Mw0KU1AvU0MgYnVsayBl
bnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAxLjk4DQpNUC9NQyBidWxrIGVucS9kZXF1ZXVlIChzaXpl
OiAzMik6IDMuNDQNClRlc3QgT0sNClJURT4+cmluZ19wZXJmX2F1dG90ZXN0ICgjMSBydW4gb2Yg
dGhlIHRlc3Qgd2l0aCB0aGUgcGF0Y2gpDQojIyMgVGVzdGluZyBzaW5nbGUgZWxlbWVudCBhbmQg
YnVyc3QgZW5xL2RlcSAjIyMNClNQL1NDIHNpbmdsZSBlbnEvZGVxdWV1ZTogOA0KTVAvTUMgc2lu
Z2xlIGVucS9kZXF1ZXVlOiAxMA0KU1AvU0MgYnVyc3QgZW5xL2RlcXVldWUgKHNpemU6IDgpOiAx
DQpNUC9NQyBidXJzdCBlbnEvZGVxdWV1ZSAoc2l6ZTogOCk6IDENClNQL1NDIGJ1cnN0IGVucS9k
ZXF1ZXVlIChzaXplOiAzMik6IDANCk1QL01DIGJ1cnN0IGVucS9kZXF1ZXVlIChzaXplOiAzMik6
IDANCg0KIyMjIFRlc3RpbmcgZW1wdHkgZGVxdWV1ZSAjIyMNClNDIGVtcHR5IGRlcXVldWU6IDAu
MjQNCk1DIGVtcHR5IGRlcXVldWU6IDAuMzINCg0KIyMjIFRlc3RpbmcgdXNpbmcgYSBzaW5nbGUg
bGNvcmUgIyMjDQpTUC9TQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiA4KTogMS40Mw0KTVAvTUMg
YnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogOCk6IDEuNzQNClNQL1NDIGJ1bGsgZW5xL2RlcXVldWUg
KHNpemU6IDMyKTogMC42MA0KTVAvTUMgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAwLjY4
DQoNCiMjIyBUZXN0aW5nIHVzaW5nIHR3byBoeXBlcnRocmVhZHMgIyMjDQpTUC9TQyBidWxrIGVu
cS9kZXF1ZXVlIChzaXplOiA4KTogMi41Mw0KTVAvTUMgYnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTog
OCk6IDMuMDkNClNQL1NDIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6IDMyKTogMS4wNg0KTVAvTUMg
YnVsayBlbnEvZGVxdWV1ZSAoc2l6ZTogMzIpOiAxLjE4DQoNCiMjIyBUZXN0aW5nIHVzaW5nIHR3
byBwaHlzaWNhbCBjb3JlcyAjIyMNClNQL1NDIGJ1bGsgZW5xL2RlcXVldWUgKHNpemU6IDgpOiA2
LjU3DQpNUC9NQyBidWxrIGVucS9kZXF1ZXVlIChzaXplOiA4KTogMTIuOTMNClNQL1NDIGJ1bGsg
ZW5xL2RlcXVldWUgKHNpemU6IDMyKTogMS45OA0KTVAvTUMgYnVsayBlbnEvZGVxdWV1ZSAoc2l6
ZTogMzIpOiAzLjQ2DQpUZXN0IE9LDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g
RnJvbTogT2xhIExpbGplZGFobA0KPiBTZW50OiBNb25kYXksIE9jdG9iZXIgOCwgMjAxOCA2OjI2
IFBNDQo+IFRvOiBKZXJpbiBKYWNvYiA8amVyaW4uamFjb2JAY2F2aXVtbmV0d29ya3MuY29tPg0K
PiBDYzogZGV2QGRwZGsub3JnOyBIb25uYXBwYSBOYWdhcmFoYWxsaQ0KPiA8SG9ubmFwcGEuTmFn
YXJhaGFsbGlAYXJtLmNvbT47IEFuYW55ZXYsIEtvbnN0YW50aW4NCj4gPGtvbnN0YW50aW4uYW5h
bnlldkBpbnRlbC5jb20+OyBHYXZpbiBIdSAoQXJtIFRlY2hub2xvZ3kgQ2hpbmEpDQo+IDxHYXZp
bi5IdUBhcm0uY29tPjsgU3RldmUgQ2FwcGVyIDxTdGV2ZS5DYXBwZXJAYXJtLmNvbT47IG5kDQo+
IDxuZEBhcm0uY29tPjsgc3RhYmxlQGRwZGsub3JnDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjMg
MS8zXSByaW5nOiByZWFkIHRhaWwgdXNpbmcgYXRvbWljIGxvYWQNCj4gDQo+IA0KPiANCj4g77u/
T24gMDgvMTAvMjAxOCwgMTI6MDAsICJKZXJpbiBKYWNvYiIgPGplcmluLmphY29iQGNhdml1bW5l
dHdvcmtzLmNvbT4NCj4gd3JvdGU6DQo+IA0KPiAgICAgLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t
LS0NCj4gICAgID4gRGF0ZTogTW9uLCA4IE9jdCAyMDE4IDA5OjIyOjA1ICswMDAwDQo+ICAgICA+
IEZyb206IE9sYSBMaWxqZWRhaGwgPE9sYS5MaWxqZWRhaGxAYXJtLmNvbT4NCj4gICAgID4gVG86
IEplcmluIEphY29iIDxqZXJpbi5qYWNvYkBjYXZpdW1uZXR3b3Jrcy5jb20+DQo+ICAgICA+IEND
OiAiZGV2QGRwZGsub3JnIiA8ZGV2QGRwZGsub3JnPiwgSG9ubmFwcGEgTmFnYXJhaGFsbGkNCj4g
ICAgID4gIDxIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tPiwgIkFuYW55ZXYsIEtvbnN0YW50
aW4iDQo+ICAgICA+ICA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT4sICJHYXZpbiBIdSAo
QXJtIFRlY2hub2xvZ3kgQ2hpbmEpIg0KPiAgICAgPiAgPEdhdmluLkh1QGFybS5jb20+LCBTdGV2
ZSBDYXBwZXIgPFN0ZXZlLkNhcHBlckBhcm0uY29tPiwgbmQNCj4gPG5kQGFybS5jb20+LA0KPiAg
ICAgPiAgInN0YWJsZUBkcGRrLm9yZyIgPHN0YWJsZUBkcGRrLm9yZz4NCj4gICAgID4gU3ViamVj
dDogUmU6IFtQQVRDSCB2MyAxLzNdIHJpbmc6IHJlYWQgdGFpbCB1c2luZyBhdG9taWMgbG9hZA0K
PiAgICAgPiB1c2VyLWFnZW50OiBNaWNyb3NvZnQtTWFjT3V0bG9vay8xMC4xMS4wLjE4MDkwOQ0K
PiAgICAgPg0KPiAgICAgPiBFeHRlcm5hbCBFbWFpbA0KPiAgICAgPg0KPiAgICAgPiBPbiAwOC8x
MC8yMDE4LCAwODowNiwgIkplcmluIEphY29iIiA8amVyaW4uamFjb2JAY2F2aXVtbmV0d29ya3Mu
Y29tPg0KPiB3cm90ZToNCj4gICAgID4NCj4gICAgID4gICAgIC0tLS0tT3JpZ2luYWwgTWVzc2Fn
ZS0tLS0tDQo+ICAgICA+ICAgICA+IERhdGU6IFN1biwgNyBPY3QgMjAxOCAyMDo0NDo1NCArMDAw
MA0KPiAgICAgPiAgICAgPiBGcm9tOiBPbGEgTGlsamVkYWhsIDxPbGEuTGlsamVkYWhsQGFybS5j
b20+DQo+ICAgICA+ICAgICA+IFRvOiBKZXJpbiBKYWNvYiA8amVyaW4uamFjb2JAY2F2aXVtbmV0
d29ya3MuY29tPg0KPiAgICAgPiAgICAgPiBDQzogImRldkBkcGRrLm9yZyIgPGRldkBkcGRrLm9y
Zz4sIEhvbm5hcHBhIE5hZ2FyYWhhbGxpDQo+ICAgICA+ICAgICA+ICA8SG9ubmFwcGEuTmFnYXJh
aGFsbGlAYXJtLmNvbT4sICJBbmFueWV2LCBLb25zdGFudGluIg0KPiAgICAgPiAgICAgPiAgPGtv
bnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb20+LCAiR2F2aW4gSHUgKEFybSBUZWNobm9sb2d5DQo+
IENoaW5hKSINCj4gICAgID4gICAgID4gIDxHYXZpbi5IdUBhcm0uY29tPiwgU3RldmUgQ2FwcGVy
IDxTdGV2ZS5DYXBwZXJAYXJtLmNvbT4sIG5kDQo+IDxuZEBhcm0uY29tPiwNCj4gICAgID4gICAg
ID4gICJzdGFibGVAZHBkay5vcmciIDxzdGFibGVAZHBkay5vcmc+DQo+ICAgICA+ICAgICA+IFN1
YmplY3Q6IFJlOiBbUEFUQ0ggdjMgMS8zXSByaW5nOiByZWFkIHRhaWwgdXNpbmcgYXRvbWljIGxv
YWQNCj4gICAgID4gICAgID4gdXNlci1hZ2VudDogTWljcm9zb2Z0LU1hY091dGxvb2svMTAuMTEu
MC4xODA5MDkNCj4gICAgID4gICAgID4NCj4gICAgID4NCj4gICAgID4NCj4gICAgID4gICAgIENv
dWxkIHlvdSBwbGVhc2UgZml4IHRoZSBlbWFpbCBjbGllbnQgZm9yIGlubGluZSByZXBseS4NCj4g
ICAgID4gU29ycnkgdGhhdCBkb2Vzbid0IHNlZW0gdG8gYmUgcG9zc2libGUgd2l0aCBPdXRsb29r
IGZvciBNYWMgMTYgb3INCj4gT2ZmaWNlMzY1LiBUaGUgb2ZmaWNpYWwgT2ZmaWNlMzY1L091dGxv
b2sNCj4gICAgID4gZG9jdW1lbnRhdGlvbiBkb2Vzbid0IG1hdGNoIHRoZSBhY3R1YWwgdXNlciBp
bnRlcmZhY2UuLi4NCj4gICAgID4NCj4gICAgID4NCj4gICAgID4NCj4gICAgID4gICAgIGh0dHBz
Oi8vd3d3Lmtlcm5lbC5vcmcvZG9jL2h0bWwvdjQuMTktcmM3L3Byb2Nlc3MvZW1haWwtDQo+IGNs
aWVudHMuaHRtbA0KPiAgICAgPg0KPiAgICAgPg0KPiAgICAgPiAgICAgPg0KPiAgICAgPiAgICAg
PiBPbiAwNy8xMC8yMDE4LCAwNjowMywgIkplcmluIEphY29iIg0KPiA8amVyaW4uamFjb2JAY2F2
aXVtbmV0d29ya3MuY29tPiB3cm90ZToNCj4gICAgID4gICAgID4NCj4gICAgID4gICAgID4gICAg
IEluIGFybTY0IGNhc2UsIGl0IHdpbGwgaGF2ZSBBVE9NSUNfUkVMQVhFRCBmb2xsb3dlZCBieSBh
c20NCj4gdm9sYXRpbGUgKCIiOjo6Im1lbW9yeSIpIG9mIHJ0ZV9wYXVzZSgpLg0KPiAgICAgPiAg
ICAgPiAgICAgSSB3b3VsZCBuJ3QgaGF2ZSBhbnkgaXNzdWUsIGlmIHRoZSBnZW5lcmF0ZWQgY29k
ZSBjb2RlIGlzIHNhbWUgb3INCj4gYmV0dGVyIHRoYW4gdGhlIGV4aXRpbmcgY2FzZS4gYnV0IGl0
IG5vdCB0aGUgY2FzZSwgUmlnaHQ/DQo+ICAgICA+ICAgICA+IFRoZSBleGlzdGluZyBjYXNlIGlz
IGFjdHVhbGx5IG5vdCBpbnRlcmVzdGluZyAoSU1PKSBhcyBpdCBleHBvc2VzDQo+IHVuZGVmaW5l
ZCBiZWhhdmlvdXIgd2hpY2ggYWxsb3dzIHRoZSBjb21waWxlciB0byBkbyBhbnl0aGluZy4gQnV0
IHlvdQ0KPiBzZWVtIHRvIGJlIHNhdGlzZmllZCB3aXRoICJ3b3JrcyBmb3IgbWUsIHJpZ2h0IGhl
cmUgcmlnaHQgbm93Ii4gSSB0aGluayB0aGUNCj4gY29zdCBvZiBhdm9pZGluZyB1bmRlZmluZWQg
YmVoYXZpb3VyIGlzIGFjY2VwdGFibGUgKGFjdHVhbGx5IEkgZG9uJ3QgdGhpbmsgaXQNCj4gZXZl
biB3aWxsIGJlIG5vdGljZWFibGUpLg0KPiAgICAgPg0KPiAgICAgPiAgICAgSSBhbSBub3QgY29u
dmluY2VkIGJlY2F1c2Ugb2YgdXNlIG9mIHZvbGF0aWxlIGluIGhlYWQgYW5kIHRhaWwgaW5kZXhl
cy4NCj4gICAgID4gICAgIEZvciBtZSB0aGF0IGJyaW5ncyB0aGUgZGVmaW5lZCBiZWhhdmlvci4N
Cj4gICAgID4gQXMgbG9uZyBhcyB5b3UgZG9uJ3QgbWl4IGluIEMxMSBhdG9taWMgYWNjZXNzZXMg
KGp1c3QgdXNlICJwbGFpbiIgYWNjZXNzZXMNCj4gdG8gdm9sYXRpbGUgb2JqZWN0cyksDQo+ICAg
ICA+IGl0IGlzIEFGQUlLIGRlZmluZWQgYmVoYXZpb3VyIChidXQgbm90IG5lY2Vzc2FyaWx5IHVz
aW5nIGF0b21pYyBsb2FkcyBhbmQNCj4gc3RvcmVzKS4gQnV0IEkgcXVvdGVkDQo+ICAgICA+IHRo
ZSBDMTEgc3BlYyB3aGVyZSBpdCBleHBsaWNpdGx5IG1lbnRpb25zIHRoYXQgbWl4aW5nIGF0b21p
YyBhbmQgbm9uLQ0KPiBhdG9taWMgYWNjZXNzZXMgdG8gdGhlIHNhbWUNCj4gICAgID4gb2JqZWN0
IGlzIHVuZGVmaW5lZCBiZWhhdmlvdXIuIERvbid0IGFyZ3VlIHdpdGggbWUsIGFyZ3VlIHdpdGgg
dGhlIEMxMQ0KPiBzcGVjLg0KPiAgICAgPiBJZiB5b3Ugd2FudCB0byBkaXNvYmV5IHRoZSBzcGVj
LCB0aGlzIHNob3VsZCBhdCBsZWFzdCBiZSBjYWxsZWQgb3V0IGZvciBpbg0KPiB0aGUgY29kZSB3
aXRoIGEgY29tbWVudC4NCj4gDQo+ICAgICBUaGF0J3MgYm9pbHMgZG93biBvbmx5IG9uZSBxdWVz
dGlvbiwgc2hvdWxkIHdlIGZvbGxvdyBDMTEgc3BlYz8gV2h5IG5vdA0KPiBvbmx5IHRha2UgbG9h
ZA0KPiAgICAgYWNxdWlyZSBhbmQgc3RvcmUgcmVsZWFzZSBzZW1hbnRpY3Mgb25seSBqdXN0IGxp
a2UgTGludXgga2VybmVsIGFuZCBGcmVlQlNELg0KPiBBbmQgaW50cm9kdWNlIGV2ZW4gbW9yZSB1
bmRlZmluZWQgYmVoYXZpb3VyPw0KPiANCj4gICAgIERvZXMgbm90IGxvb2sgbGlrZSBDMTEgbWVt
b3J5IG1vZGVsIGlzIHN1cGVyIGVmZmljaWVudCBpbiB0ZXJtIG9mIGdjYw0KPiAgICAgaW1wbGVt
ZW50YXRpb24uDQo+IFlvdSBhcmUgbWFraW5nIGEgY2hpY2tlbiBvdXQgb2YgYSBmZWF0aGVyLg0K
PiANCj4gSSB0aGluayB0aGlzICJwcm9ibGVtIiB3aXRoIG9uZSBhZGRpdGlvbmFsIEFERCBpbnN0
cnVjdGlvbiB3aWxsIG9ubHkgY29uY2Vybg0KPiBfX2F0b21pY19sb2FkX24oX19BVE9NSUNfUkVM
QVhFRCkgYW5kDQo+IF9fYXRvbWljX3N0b3JlX24oX19BVE9NSUNfUkVMQVhFRCkgYmVjYXVzZSB0
aGUgY29tcGlsZXIgc2VwYXJhdGVzDQo+IHRoZSBhZGRyZXNzIGdlbmVyYXRpb24gKGFkZCBvZmZz
ZXQgb2Ygc3RydWN0IG1lbWJlcikgZnJvbSB0aGUgbG9hZCBvciBzdG9yZQ0KPiBpdHNlbGYuIEZv
ciBvdGhlciBhdG9taWMgb3BlcmF0aW9ucyBhbmQgbWVtb3J5IG9yZGVyaW5ncyAoZS5nLg0KPiBf
X2F0b21pY19sb2FkX24oX19BVE9NSUNfQUNRVUlSRSksIHRoZSBleHRyYSBBREQgaW5zdHJ1Y3Rp
b24gd2lsbCBiZQ0KPiBpbmNsdWRlZCBhbnl3YXkgKGFzIGxvbmcgYXMgd2UgYWNjZXNzIGEgbm9u
LWZpcnN0IHN0cnVjdCBtZW1iZXIpIGJlY2F1c2UNCj4gZS5nLiBMREFSIG9ubHkgYWNjZXB0cyBh
IGJhc2UgcmVnaXN0ZXIgd2l0aCBubyBvZmZzZXQuDQo+IA0KPiBJIHN1Z2dlc3QgbWluaW1pc2lu
ZyB0aGUgaW1wb3NlZCBtZW1vcnkgb3JkZXJpbmdzIGNhbiBoYXZlIGEgbXVjaCBsYXJnZXINCj4g
KHBvc2l0aXZlKSBlZmZlY3Qgb24gcGVyZm9ybWFuY2UgY29tcGFyZWQgdG8gYXZvaWRpbmcgb25l
IEFERCBpbnN0cnVjdGlvbg0KPiAobWVtb3J5IGFjY2Vzc2VzIGFyZSBtdWNoIHNsb3dlciB0aGFu
IENQVSBBTFUgaW5zdHJ1Y3Rpb25zKS4NCj4gVXNpbmcgQzExIG1lbW9yeSBtb2RlbCBhbmQgaWRl
bnRpZnlpbmcgZXhhY3RseSB3aGljaCBvYmplY3RzIGFyZSB1c2VkIGZvcg0KPiBzeW5jaHJvbmlz
YXRpb24gYW5kIHdoZXRoZXIgKGFueSkgdXBkYXRlcyB0byBzaGFyZWQgbWVtb3J5IGFyZSBhY3F1
aXJlZA0KPiBvciByZWxlYXNlZCAobm8gdXBkYXRlcyB0byBzaGFyZWQgbWVtb3J5IG1lYW5zIHJl
bGF4ZWQgb3JkZXIgY2FuIGJlIHVzZWQpDQo+IHdpbGwgcHJvdmlkZSBtYXhpbXVtIGZyZWVkb20g
dG8gdGhlIGNvbXBpbGVyIGFuZCBoYXJkd2FyZSB0byBnZXQgdGhlIGJlc3QNCj4gcmVzdWx0Lg0K
PiANCj4gVGhlIEZyZWVCU0QgYW5kIERQREsgcmluZyBidWZmZXJzIHNob3cgc29tZSBmdW5kYW1l
bnRhbA0KPiBtaXN1bmRlcnN0YW5kaW5ncyBoZXJlLiBJbnN0ZWFkIGV4Y2Vzc2l2ZSBvcmRlcmlu
Z3MgYW5kIGV4cGxpY2l0IGJhcnJpZXJzDQo+IGhhdmUgYmVlbiB1c2VkIGFzIGJhbmQtYWlkcywg
d2l0aCB1bmtub3duIGVmZmVjdHMgb24gcGVyZm9ybWFuY2UuDQo+IA0KPiANCj4gICAgID4NCj4g
ICAgID4NCj4gICAgID4gICAgIFRoYXQgdGhlIHJlYXNvbiB3aHkgSSBzaGFyZWQNCj4gICAgID4g
ICAgIHRoZSBnZW5lcmF0ZWQgYXNzZW1ibHkgY29kZS4gSWYgeW91IHRoaW5rIG90aGVyIHdheSwg
UGljayBhbnkgY29tcGlsZXINCj4gICAgID4gICAgIGFuZCBzZWUgZ2VuZXJhdGVkIG91dHB1dC4N
Cj4gICAgID4gVGhpcyBpcyB3aGF0IG9uZSBjb21waWxlciBmb3Igb25lIGFyY2hpdGVjdHVyZSBn
ZW5lcmF0ZXMgdG9kYXkuIFRoZXNlDQo+IHRoaW5ncyBjaGFuZ2UuIE90aGVyIHRoaW5ncw0KPiAg
ICAgPiB0aGF0IHVzZWQgdG8gd29yayBvciB3b3JrZWQgZm9yIHNvbWUgc3BlY2lmaWMgYXJjaGl0
ZWN0dXJlIGhhcyBzdG9wcGVkDQo+IHdvcmtpbmcgaW4gbmV3ZXIgdmVyc2lvbnMgb2YNCj4gICAg
ID4gdGhlIGNvbXBpbGVyLg0KPiAgICAgPg0KPiAgICAgPg0KPiAgICAgPiAgICAgQW5kDQo+ICAg
ICA+DQo+ICAgICA+ICAgICBGcmVlYnNkIGltcGxlbWVudGF0aW9uIG9mIHJpbmcgYnVmZmVyKFdo
aWNoIERQREsgZGVyaXZlZCBmcm9tKSwNCj4gRG9uJ3QgaGF2ZQ0KPiAgICAgPiAgICAgc3VjaCBs
b2dpYywgU2VlDQo+IGh0dHBzOi8vZ2l0aHViLmNvbS9mcmVlYnNkL2ZyZWVic2QvYmxvYi9tYXN0
ZXIvc3lzL3N5cy9idWZfcmluZy5oI0wxMDgNCj4gICAgID4gSXQgbG9va3MgbGlrZSBGcmVlQlNE
IHVzZXMgc29tZSBraW5kIG9mIEMxMSBhdG9taWMgbWVtb3J5IG1vZGVsLQ0KPiBpbnNwaXJlZCBB
UEkgYWx0aG91Z2ggSSBkb24ndCBzZWUNCj4gICAgID4gZXhhY3RseSBob3cgZS5nLiBhdG9taWNf
c3RvcmVfcmVsX2ludCgpIGlzIGltcGxlbWVudGVkLiBUaGUgY29kZSBhbHNvDQo+IG1peGVzIGlu
IGV4cGxpY2l0IGJhcnJpZXJzDQo+ICAgICA+IHNvIGRlZmluaXRpdmVseSBub3QgcHVyZSBDMTEg
bWVtb3J5IG1vZGVsIHVzYWdlLiBBbmQgZmluYWxseSwgaXQgZG9lc24ndA0KPiBlc3RhYmxpc2gg
dGhlIHByb3Blcg0KPiAgICAgPiBsb2FkLWFjcXVpcmUvc3RvcmUtcmVsZWFzZSByZWxhdGlvbnNo
aXBzIChlLmcuIHN0b3JlLXJlbGVhc2UgY29uc190YWlsDQo+IHJlcXVpcmVzIGEgbG9hZC1hY3F1
aXJlIGNvbnNfdGFpbCwNCj4gICAgID4gc2FtZSBmb3IgcHJvZF90YWlsKS4NCj4gICAgID4NCj4g
ICAgID4gIiogbXVsdGktcHJvZHVjZXIgc2FmZSBsb2NrLWZyZWUgcmluZyBidWZmZXIgZW5xdWV1
ZSINCj4gICAgID4gVGhlIGNvbW1lbnQgaXMgYWxzbyB3cm9uZy4gVGhpcyBkZXNpZ24gaXMgbm90
IGxvY2stZnJlZSwgaG93IGNvdWxkIGl0IGJlDQo+IHdoZW4gdGhlcmUgaXMgc3Bpbm5pbmcNCj4g
ICAgID4gKHdhaXRpbmcpIGZvciBvdGhlciB0aHJlYWRzIGluIHRoZSBjb2RlPyBJZiBhIHRocmVh
ZCBtdXN0IHdhaXQgZm9yIG90aGVyDQo+IHRocmVhZHMsIHRoZW4gYnkgZGVmaW5pdGlvbg0KPiAg
ICAgPiB0aGUgZGVzaWduIGlzIGJsb2NraW5nLg0KPiAgICAgPg0KPiAgICAgPiBTbyB5b3UgYXJl
IHNheWluZyB0aGF0IGJlY2F1c2UgRnJlZUJTRCBpcyBkb2luZyBpdCB3cm9uZywgRFBESyBjYW4g
YWxzbw0KPiBkbyBpdCB3cm9uZz8NCj4gICAgID4NCj4gICAgID4NCj4gICAgID4gICAgIFNlZSBi
ZWxvdyB0b28uDQo+ICAgICA+DQo+ICAgICA+ICAgICA+DQo+ICAgICA+ICAgICA+IFNraXBwaW5n
IHRoZSBjb21waWxlciBtZW1vcnkgYmFycmllciBpbiBydGVfcGF1c2UoKSBwb3RlbnRpYWxseQ0K
PiBhbGxvd3MgZm9yIG9wdGltaXNhdGlvbnMgdGhhdCBwcm92aWRlIG11Y2ggbW9yZSBiZW5lZml0
LCBlLmcuIGhpZGluZyBzb21lDQo+IGNhY2hlIG1pc3MgbGF0ZW5jeSBmb3IgbGF0ZXIgbG9hZHMu
IFRoZSBEUERLIHJpbmcgYnVmZmVyIGltcGxlbWVudGF0aW9uIGlzDQo+IGRlZmluZWQgc28gdG8g
ZW5hYmxlIGlubGluaW5nIG9mIGVucXVldWUvZGVxdWV1ZSBmdW5jdGlvbnMgaW50byB0aGUgY2Fs
bGVyLA0KPiBhbnkgY29kZSBjb3VsZCBpbW1lZGlhdGVseSBmb2xsb3cgdGhlc2UgY2FsbHMuDQo+
ICAgICA+ICAgICA+DQo+ICAgICA+ICAgICA+IEZyb20gSU5URVJOQVRJT05BTCBTVEFOREFSRCDC
qUlTTy9JRUMgSVNPL0lFQyA5ODk5OjIwMXgNCj4gICAgID4gICAgID4gUHJvZ3JhbW1pbmcgbGFu
Z3VhZ2VzIOKAlCBDDQo+ICAgICA+ICAgICA+DQo+ICAgICA+ICAgICA+IDUuMS4yLjQNCj4gICAg
ID4gICAgID4gNCBUd28gZXhwcmVzc2lvbiBldmFsdWF0aW9ucyBjb25mbGljdCBpZiBvbmUgb2Yg
dGhlbSBtb2RpZmllcyBhDQo+IG1lbW9yeSBsb2NhdGlvbiBhbmQgdGhlIG90aGVyIG9uZSByZWFk
cyBvciBtb2RpZmllcyB0aGUgc2FtZSBtZW1vcnkNCj4gbG9jYXRpb24uDQo+ICAgICA+ICAgICA+
DQo+ICAgICA+ICAgICA+IDI1IFRoZSBleGVjdXRpb24gb2YgYSBwcm9ncmFtIGNvbnRhaW5zIGEg
ZGF0YSByYWNlIGlmIGl0IGNvbnRhaW5zIHR3bw0KPiBjb25mbGljdGluZyBhY3Rpb25zIGluIGRp
ZmZlcmVudCB0aHJlYWRzLCBhdCBsZWFzdCBvbmUgb2Ygd2hpY2ggaXMgbm90IGF0b21pYywNCj4g
YW5kIG5laXRoZXIgaGFwcGVucyBiZWZvcmUgdGhlIG90aGVyLiBBbnkgc3VjaCBkYXRhIHJhY2Ug
cmVzdWx0cyBpbg0KPiB1bmRlZmluZWQgYmVoYXZpb3IuDQo+ICAgICA+DQo+ICAgICA+ICAgICBJ
TU8sIEJvdGggY29uZGl0aW9uIHdpbGwgc2F0aXNmeSBpZiB0aGUgdmFyaWFibGUgaXMgdm9sYXRp
bGUgYW5kIDMyYml0IHJlYWQNCj4gd2lsbCBhdG9taWMNCj4gICAgID4gICAgIGZvciAzMmIgYW5k
IDY0YiBtYWNoaW5lcy4gSWYgbm90LCB0aGUgcHJvYmxlbSBwZXJzaXN0IGZvciBnZW5lcmljIGNh
c2UNCj4gICAgID4gICAgIGFzIHdlbGwobGliL2xpYnJ0ZV9yaW5nL3J0ZV9yaW5nX2dlbmVyaWMu
aCkNCj4gICAgID4gVGhlIHJlYWQgZnJvbSBhIHZvbGF0aWxlIG9iamVjdCBpcyBub3QgYW4gYXRv
bWljIGFjY2VzcyBwZXIgdGhlIEMxMSBzcGVjLiBJdA0KPiBqdXN0IGhhcHBlbnMgdG8NCj4gICAg
ID4gYmUgdHJhbnNsYXRlZCB0byBhbiBpbnN0cnVjdGlvbiAob24geDg2LTY0IGFuZCBBQXJjaDY0
L0E2NCkgdGhhdA0KPiBpbXBsZW1lbnRzIGFuIGF0b21pYyBsb2FkLg0KPiAgICAgPiBJIGRvbid0
IHRoaW5rIGFueSBjb21waWxlciB3b3VsZCBjaGFuZ2UgdGhpcyBjb2RlIGdlbmVyYXRpb24gYW5k
DQo+IHN1ZGRlbmx5IGdlbmVyYXRlIHNvbWUNCj4gICAgID4gbm9uLWF0b21pYyBsb2FkIGluc3Ry
dWN0aW9uIGZvciBhIHByb2dyYW0gdGhhdCAqb25seSogdXNlcyB2b2xhdGlsZSB0byBkbw0KPiAi
YXRvbWljIiBhY2Nlc3Nlcy4NCj4gICAgID4gQnV0IGEgZnV0dXJlIGNvbXBpbGVyIGNvdWxkIGRl
dGVjdCB0aGUgbWl4IG9mIGF0b21pYyBhbmQgbm9uLWF0b21pYw0KPiBhY2Nlc3NlcyBhbmQgbWFy
ayB0aGlzDQo+ICAgICA+IGV4cHJlc3Npb24gYXMgY2F1c2luZyB1bmRlZmluZWQgYmVoYXZpb3Vy
IGFuZCB0aGF0IHdvdWxkIGhhdmUNCj4gY29uc2VxdWVuY2VzIGZvciBjb2RlIGdlbmVyYXRpb24u
DQo+ICAgICA+DQo+ICAgICA+DQo+ICAgICA+ICAgICBJIGFncmVlIHdpdGggeW91IG9uIEMxMSBt
ZW1vcnkgbW9kZWwgc2VtYW50aWNzIHVzYWdlLiBUaGUgcmVhc29uDQo+IHdoeSBJDQo+ICAgICA+
ICAgICBwcm9wb3NlIG5hbWUgZm9yIHRoZSBmaWxlIGFzIHJ0ZV9yaW5nX2MxMV9tZW0uaCBhcyBE
UERLIGl0IHNlbGYgZGlkDQo+IG5vdA0KPiAgICAgPiAgICAgaGFkIGRlZmluaXRpb25zIGZvciBs
b2FkIGFjcXVpcmUgYW5kIHN0b3JlIHJlbGVhc2Ugc2VtYW50aWNzLg0KPiAgICAgPiAgICAgSSB3
YXMgbG9va2luZyBmb3IgdGFraW5nIGxvYWQgYWNxdWlyZSBhbmQgc3RvcmUgcmVsZWFzZSBzZW1h
bnRpY3MNCj4gICAgID4gICAgIGZyb20gQzExIGluc3RlYWQgb2YgY3JlYXRpbmcgbmV3IEFQSSBs
aWtlIExpbnV4IGtlcm5lbCBmb3IgRnJlZUJTRChBUElzDQo+ICAgICA+ICAgICBsaWtlICBhdG9t
aWNfbG9hZF9hY3FfMzIoKSwgYXRvbWljX3N0b3JlX3JlbF8zMigpKS4gSWYgdGhlIGZpbGUgbmFt
ZSBpcw0KPiB5b3VyDQo+ICAgICA+ICAgICBjb25jZXJuIHRoZW4gd2UgY291bGQgY3JlYXRlIG5l
dyBhYnN0cmFjdGlvbnMgYXMgd2VsbC4gVGhhdCB3b3VsZA0KPiBoZWxwDQo+ICAgICA+ICAgICBl
eGl0aW5nIEtOSSBwcm9ibGVtIGFzIHdlbGwuDQo+ICAgICA+IEkgYXBwcmVjaWF0ZSB5b3VyIGVt
YnJhY2Ugb2YgdGhlIEMxMSBtZW1vcnkgbW9kZWwuIEkgdGhpbmsgaXQgaXMgYmV0dGVyDQo+IGZv
ciBkZXNjcmliaW5nDQo+ICAgICA+IChib3RoIHRvIHRoZSBjb21waWxlciBhbmQgdG8gaHVtYW5z
KSB3aGljaCBhbmQgaG93IG9iamVjdHMgYXJlIHVzZWQNCj4gZm9yIHN5bmNocm9uaXNhdGlvbi4N
Cj4gICAgID4NCj4gICAgID4gSG93ZXZlciwgSSBkb24ndCB0aGluayBhbiBBUEkgYXMgeW91IHN1
Z2dlc3QgKGFuZCBvdGhlcnMgaGF2ZSBzdWdnZXN0ZWQNCj4gYmVmb3JlLCBlLmcuIGFzDQo+ICAg
ICA+IGRvbmUgaW4gT0RQKSBpcyBhIGdvb2QgaWRlYS4gVGhlcmUgaXMgYW4gaW5maW5pdGUgYW1v
dW50IG9mIHBvc3NpYmxlIGJhc2UNCj4gdHlwZXMsIGFuDQo+ICAgICA+IGluY3JlYXNpbmcgbnVt
YmVyIG9mIG9wZXJhdGlvbnMgYW5kIGEgYnVuY2ggb2YgZGlmZmVyZW50IG1lbW9yeQ0KPiBvcmRl
cmluZ3MsIGEgImNvbXBsZXRlIg0KPiAgICAgPiBBUEkgd291bGQgYmUgdmVyeSBsYXJnZSBhbmQg
ZGlmZmljdWx0IHRvIHRlc3QsIGFuZCBtb3N0IG1lbWJlcnMgb2YgdGhlDQo+IEFQSSB3b3VsZCBu
ZXZlciBiZSB1c2VkLg0KPiAgICAgPiBHQ0MgYW5kIENsYW5nIGJvdGggc3VwcG9ydCB0aGUgX19h
dG9taWMgaW50cmluc2ljcy4gVGhpcyBBUEkgYXZvaWRzIHRoZQ0KPiBwcm9ibGVtcyBJDQo+ICAg
ICA+IGRlc2NyaWJlZCBhYm92ZS4gT3Igd2UgY291bGQgdXNlIHRoZSBvZmZpY2lhbCBDMTEgc3lu
dGF4IChzdGRhdG9taWMuaCkuDQo+IEJ1dCB0aGVuIHdlDQo+ICAgICA+IGhhdmUgdGhlIHByb2Js
ZW0gd2l0aCB1c2luZyBwcmUtQzExIGNvbXBpbGVycy4uLg0KPiANCj4gICAgIEkgaGF2ZSBubyBv
YmplY3Rpb24sIGlmIGV2ZXJ5b25lIGFncmVlcyB0byBtb3ZlIEMxMSBtZW1vcnkgbW9kZWwNCj4g
ICAgIHdpdGggX19hdG9taWMgaW50cmluc2ljcy4gQnV0IGlmIHdlIG5lZWQgdG8ga2VlcCBib3Ro
IGhhdmUgdGhlbg0KPiAgICAgYXRvbWljX2xvYWRfYWNxXzMyKCkga2luZCBvZiBBUEkgbWFrZSBz
ZW5zZS4NCj4gDQo+IA0KPiAgICAgPg0KPiAgICAgPg0KPiAgICAgPg0KPiAgICAgPg0KPiAgICAg
PiAgICAgSSB0aGluaywgY3VycmVudGx5IGl0IG1peGVkIHVzYWdlIGJlY2F1c2UsIHRoZSBzYW1l
IHZhcmlhYmxlIGRlY2xhcmF0aW9uDQo+ICAgICA+ICAgICB1c2VkIGZvciBDMTEgdnMgbm9uIEMx
MSB1c2FnZS5JZGVhbGx5IHdlIHdvbnQgbmVlZCAidm9sYXRpbGUiIGZvciBDMTENCj4gICAgID4g
ICAgIGNhc2UuIEVpdGhlciB3ZSBuZWVkIHRvIGNoYW5nZSBvbmx5IHRvIEMxMSBtb2RlIE9SIGhh
dmUgQVBJcyBmb3INCj4gICAgID4gICAgIGF0b21pY19sb2FkX2FjcV8oKSBhbmQgYXRvbWljX3N0
b3JlX3JlbF8oKSB0byBhbGxvdyBib3RoIG1vZGVscyBsaWtlDQo+ICAgICA+ICAgICBMaW51eCBr
ZXJuZWwgYW5kIEZyZWVCU0QuDQo+ICAgICA+DQo+ICAgICA+ICAgICA+DQo+ICAgICA+ICAgICA+
IC0tIE9sYQ0KPiAgICAgPiAgICAgPg0KPiAgICAgPiAgICAgPg0KPiAgICAgPiAgICAgPg0KPiAg
ICAgPg0KPiAgICAgPg0KPiANCg0K