From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (xvm-189-124.dc0.ghst.net [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 59AC3A0524; Fri, 8 Jan 2021 11:58:23 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C9F87140EB2; Fri, 8 Jan 2021 11:58:22 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id CEC5C140EA9; Fri, 8 Jan 2021 11:58:20 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 108AoqIc008996; Fri, 8 Jan 2021 02:58:16 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0220; bh=j3g/6qzXt2gEvz7YJmqNUPw0qbDsHFS+tIGKt+dc+m0=; b=XJ2lIA1rU+oJAHrWnt98sTuhRyM11U/uzwzkrPB9Pn+UBptNTYeBl7+6aNSNRijW9R56 g25VmdKZ7498+rLMnxWtQR2VFO7jFKUIOngmFa/U4dQDBhmjquFCw899IMdIBcoYP2Dp mCiMIp8Zoq6O0MQDnyVnEpAgwRbJsU62l30XFa7wYOnrhAIJKYtzLz7+UxLeIJJEgKS4 hDZRqpKD1n5/GVbhHrV7mQwXah0Go/RfqCVsPt1/sq3flhKggnKWbIhtQG09fXAs+kxi tjxbW89tTtj/dNyz5GNr03RC42NHsUROwLZwG6V/UKFAMux8SJG25O33L4Am7DXXd/gW 2w== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0a-0016f401.pphosted.com with ESMTP id 35wqq7cv8r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Fri, 08 Jan 2021 02:58:15 -0800 Received: from SC-EXCH01.marvell.com (10.93.176.81) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 8 Jan 2021 02:58:14 -0800 Received: from DC5-EXCH01.marvell.com (10.69.176.38) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 8 Jan 2021 02:58:13 -0800 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.175) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Fri, 8 Jan 2021 02:58:13 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mQYMO6MIjb4W/m6pxs+FJdzNtsUZjq2hgDf7HTglb7A7taWqJp6cIWyKqD/F/OVLKjYJg74DqWeivuJFGL01iyRMkETK5a113KmeD5U/99fmLQNxXujI4Nvhi3jsSZXk3dgXhAMCI0tlNeB8Ccjl8R+8amR+MNjJ3lw5k4ihXFIObVOKiayodFsxVBNG8nbLnwyxlxGhe1fS92S9dcjvNaMhgHvOvpaxuk9/HyDna+jFNG0cIccNhAe60aYFM2kYgPeumA/tm1S2MIdTtJklPo3GIeSqmbV9CEp164+uMKgVd+ZT6B3iMUQqZW0b8+VOi+i/lu7/xkV96fRwELfavQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=j3g/6qzXt2gEvz7YJmqNUPw0qbDsHFS+tIGKt+dc+m0=; b=bgHeTo/3ADLDJ7se/sidDZnlTRzqSXKaN75cwm+CrEQXrHulENIQYqSz1FRu0Kh59+1LeCA63jR5MmJi4nctwPVYMo7Bo5eXF6uJFJ/u3wR46sWecYQy8RXRHq36ZOwWRKSqbCm+DAPUYj8NjCazV4rYPi752bib2/zKrgxSwfBVJBoP/8dm35B+8LZXJzcY2aFwoNTc7XdqfRLA9rQ6DwTnugm3BD7KHd7u1Dy1Do5fjvU2FHgnIAM3BRRaJq0g7+CJ78w/FG7QLzFfJ7PZJ8U7IGoqyeQHDRD4+pzLmHDQXpRHVWFTBqsHGgknzDOoWyhrF+0mxw/Feaf6qpeLyg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=j3g/6qzXt2gEvz7YJmqNUPw0qbDsHFS+tIGKt+dc+m0=; b=AkdLfPEds5EpTeZJ8tQtPnfIARXdVWi75Mt9uO8lcmqg6o0kV2HkC09TnjArBXARP5Zi582haIZ5PWVwCXQZhpZMly+ACLqkWD/+/JsDnyS9C0IM8m3n2ML/F2qxcvzukm5EJuGXUPgNnZwkIay/C2auDNnjoyjmzpSX4rkgkJA= Received: from CO6PR18MB3828.namprd18.prod.outlook.com (2603:10b6:5:346::20) by MW2PR18MB2186.namprd18.prod.outlook.com (2603:10b6:907:7::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Fri, 8 Jan 2021 10:58:10 +0000 Received: from CO6PR18MB3828.namprd18.prod.outlook.com ([fe80::5c2c:a13a:4f3d:94df]) by CO6PR18MB3828.namprd18.prod.outlook.com ([fe80::5c2c:a13a:4f3d:94df%5]) with mapi id 15.20.3742.006; Fri, 8 Jan 2021 10:58:09 +0000 From: Pavan Nikhilesh Bhagavatula To: Feifei Wang , Jerin Jacob Kollanukkaran , Harry van Haaren CC: "dev@dpdk.org" , nd , Honnappa Nagarahalli , "stable@dpdk.org" , "Ruifeng Wang" , nd , nd , nd Thread-Topic: [RFC PATCH v1 4/6] app/eventdev: add release barriers for pipeline test Thread-Index: AdbYTEUe8OVHSkoHRIaSsOPrfVwqLgK45xmgAAQ//VAAiB8+AAAN29ZgAAG0vQAAAxeGUA== Date: Fri, 8 Jan 2021 10:58:09 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=marvell.com; x-originating-ip: [2405:201:d009:380f:7025:a7e9:ea:4c26] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 01695951-ac08-451d-7854-08d8b3c44963 x-ms-traffictypediagnostic: MW2PR18MB2186: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4303; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 1m+wnOVjLfwv6Ro+3k6+4149Fmh3IhMmZHMx0PYygJjErJ0qPPJi6NEVfeIQKzZiFGu1jLViON9U47SDOzFMArWOBUBC2K1fw32SPOdLGuLUom2PI+glhIpQnlR3SEoJVtJBu0M2bw+lVh44iL/6c4l/dOtQORZ8lLRimLBF4dpmTDmjLy+nhMCeCg7uQBlSlo+WUo5pAho37Fr3biRuad7ludyMfUbQ4hMY5Cam/6S8DCFJvsbt+YreAR32vqETfwX5hflS8E9xoQumyR75QFepUSbfa5DCa60GQMiXxLlkhjcQDfBZSoYY7aW0k7HVjLvI9bGd1I0cl1n+gok5yYMlaWjZtuDsNH7WU8Xu7aiwuiSv+QwH1TzEKDMrhS0PXF0YPiPMMWSoKRNwHilE1f8Kp/qKCQSadNQaQWYMSkrrpxKTRjHphOuVu57ovzbq/LVvYyLNO6GU4yx/iLcZgg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR18MB3828.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(366004)(376002)(396003)(39860400002)(136003)(66946007)(66446008)(52536014)(64756008)(66476007)(316002)(66556008)(71200400001)(2906002)(83380400001)(8676002)(478600001)(86362001)(8936002)(55016002)(5660300002)(76116006)(54906003)(110136005)(30864003)(6506007)(33656002)(53546011)(186003)(9686003)(7696005)(4326008)(579004)(559001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?MkdGbUJRcEk1TlU1bEVPOEJTU1FwR2dPSmd0RGNFZHI5Q1VkL2VuU3JJRHI3?= =?utf-8?B?UzBlNm90L1F3SE1vcGFlWjFrdXhJaksrYnEycjVVMEdtd0lNR2huekxZMDRW?= =?utf-8?B?S0lNZUxPVEw5dExiZDN0T2NUV1E0a2l4OVlzRTZQNTM1Ri8xOTE4amNrK1NZ?= =?utf-8?B?RzI4VGE0NlBTdDlyWkNIYWc0MEVua2JNQlBtSUdSc3U5Rm5BNStWZjg4ZE03?= =?utf-8?B?Q05Ha0Q1ZGlFTzdROUJxNXBTVzZVVlRYSmZrZmM5WHVNZngrVEZ6UVN4WEli?= =?utf-8?B?eWo3RFppd1dQZm5KY09uT2M2TzA0T0hxQk5uVlVRcDJMeHZkaUZuMjNYN25Q?= =?utf-8?B?Zmc4SFFnd1RjS0hBeGdnR3JnTnlsb3NmL3hINFdMMzlYOGJEMnZtY2dpd2M2?= =?utf-8?B?TU1YeTdYQWgyTmZ0ckhod3NSWUFTL3lDbDFHUUs4QVQ2dFpSNlZiTWo1M0F5?= =?utf-8?B?eGdCbGoyT3JiSEloYnhlaFVLditRZXdQamR4WEo4REFKMEdVVkR1dDZ0VUxX?= =?utf-8?B?SU9TbVV4TGtMNnFHZkVDbkdsS09RdFBONk5WbkRUSVhPRllCRmU4NHFRSnFC?= =?utf-8?B?TlA5KzU0WnRpQUxDT3Rua1hzMFlaWDZNdlJ1UlpmbUdzdWMzNmpIVGR1a3Mr?= =?utf-8?B?MlRtSkp6YW43ZHYvTmJKK0ZyRjdDYWtYY2x2Tm1oR3BwMVZPNlN2WTBEbkpW?= =?utf-8?B?MEppVWR0MG54UjJ4ZVM4ZWg2ekl4RktTRDU2eWFxRHpib0FxVU15SjRiR0h4?= =?utf-8?B?ZDdOZVVaM1dSVDR5NnlPWjRBRnYyaCtHTGRjOVhLT3o3dXpoU0NqZkFZMmtt?= =?utf-8?B?VENBMUdEd2Exa1FuUWV0SnpiYTE2ZW40Y2k2aWN0T0FPUVJLb2RMUEIvM0NG?= =?utf-8?B?Tllxa25lMDdUZEhXL0I4dGtDOGNVQ040ejdDR0lid3hYQS8zRk4xM1BXYXVw?= =?utf-8?B?VWxvbTVmb0dNd1dOcjBCeFdiOTc2Sld5N2RUMFkxZDAxckhSb1l6eHJXTGp0?= =?utf-8?B?UStaNGluZEVWa0dFWDZyUGVQVEQzbGRVVGJkVjZYcERWVGRxV1Jib25OZUVq?= =?utf-8?B?K2lVQjZOUXZpemVEYy9lVkFBL292dWlSWkxoNGROaE9XY0t4cm80MHFBODUr?= =?utf-8?B?T1hIU1ZlYlh5dS9UOThDNGRmZ296NWNOZEZTVm5UZnhFQ1h2eFF1T0Z3dGxi?= =?utf-8?B?ei9jWTl2VUVnb1hJL3BqcnRyR0JwVE1GUVZjb1VBWlFCWTRYbzFiaWs3Z1ly?= =?utf-8?B?ODBrQXIzai9WQ1VudGVxOTFtZHcxc2JRaytITklVRXgxdGZJS3FPdWJDQW9i?= =?utf-8?B?QnpDUCtCQWp2ZlZkalVsRmRsdjk5V1E1VzZzdk5DRkhITjIyNW9xTmtOZFIy?= =?utf-8?Q?Bfp9HgXImYG0TXr53BLjixdbL06JG1nI=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO6PR18MB3828.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 01695951-ac08-451d-7854-08d8b3c44963 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Jan 2021 10:58:09.7370 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: q6FacZv7/o5/H49VVDSgxtRMmB91hbQJfRLfSqeHyfZV44hUOvslSaoiqeN3MP64PLEFNcG1HsVvQbFIYTXXuuFaX1UvtxP4UVBy8M/mG2E= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2PR18MB2186 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.343, 18.0.737 definitions=2021-01-08_06:2021-01-07, 2021-01-08 signatures=0 Subject: Re: [dpdk-dev] [RFC PATCH v1 4/6] app/eventdev: add release barriers for pipeline test X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" SGkgRmVpZmVpLA0KDQo+SGksIFBhdmFuDQo+DQo+PiAtLS0tLemCruS7tuWOn+S7ti0tLS0tDQo+ PiDlj5Hku7bkuro6IFBhdmFuIE5pa2hpbGVzaCBCaGFnYXZhdHVsYSA8cGJoYWdhdmF0dWxhQG1h cnZlbGwuY29tPg0KPj4g5Y+R6YCB5pe26Ze0OiAyMDIx5bm0MeaciDjml6UgMTc6MTMNCj4+IOaU tuS7tuS6ujogRmVpZmVpIFdhbmcgPEZlaWZlaS5XYW5nMkBhcm0uY29tPjsgamVyaW5qQG1hcnZl bGwuY29tOw0KPkhhcnJ5DQo+PiB2YW4gSGFhcmVuIDxoYXJyeS52YW4uaGFhcmVuQGludGVsLmNv bT4NCj4+IOaKhOmAgTogZGV2QGRwZGsub3JnOyBuZCA8bmRAYXJtLmNvbT47IEhvbm5hcHBhIE5h Z2FyYWhhbGxpDQo+PiA8SG9ubmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNvbT47IHN0YWJsZUBkcGRr Lm9yZzsgUnVpZmVuZyBXYW5nDQo+PiA8UnVpZmVuZy5XYW5nQGFybS5jb20+OyBuZCA8bmRAYXJt LmNvbT47IG5kIDxuZEBhcm0uY29tPg0KPj4g5Li76aKYOiBSRTogW1JGQyBQQVRDSCB2MSA0LzZd IGFwcC9ldmVudGRldjogYWRkIHJlbGVhc2UgYmFycmllcnMgZm9yDQo+cGlwZWxpbmUNCj4+IHRl c3QNCj4+DQo+PiBIaSBGZWlmZWksDQo+Pg0KPj4gPkhpLCBQYXZhbg0KPj4gPg0KPj4gPg0KPj4g Pg0KPj4gPj4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPj4gPg0KPj4gPj4g5Y+R5Lu25Lq6OiBQ YXZhbiBOaWtoaWxlc2ggQmhhZ2F2YXR1bGENCj48bWFpbHRvOnBiaGFnYXZhdHVsYUBtYXJ2ZWxs LmNvbT4NCj4+ID4NCj4+ID4+IOWPkemAgeaXtumXtDogMjAyMeW5tDHmnIg15pelIDE3OjI5DQo+ PiA+DQo+PiA+PiDmlLbku7bkuro6IEZlaWZlaSBXYW5nIDxtYWlsdG86RmVpZmVpLldhbmcyQGFy bS5jb20+Ow0KPm1haWx0bzpqZXJpbmpAbWFydmVsbC5jb207DQo+PiA+SGFycnkNCj4+ID4NCj4+ ID4+IHZhbiBIYWFyZW4gPG1haWx0bzpoYXJyeS52YW4uaGFhcmVuQGludGVsLmNvbT4NCj4+ID4N Cj4+ID4+IOaKhOmAgTogbWFpbHRvOmRldkBkcGRrLm9yZzsgbmQgPG1haWx0bzpuZEBhcm0uY29t PjsgSG9ubmFwcGENCj5OYWdhcmFoYWxsaQ0KPj4gPg0KPj4gPj4gPG1haWx0bzpIb25uYXBwYS5O YWdhcmFoYWxsaUBhcm0uY29tPjsNCj5tYWlsdG86c3RhYmxlQGRwZGsub3JnOyBSdWlmZW5nIFdh bmcNCj4+ID4NCj4+ID4+IDxtYWlsdG86UnVpZmVuZy5XYW5nQGFybS5jb20+OyBuZCA8bWFpbHRv Om5kQGFybS5jb20+DQo+PiA+DQo+PiA+PiDkuLvpopg6IFJFOiBbUkZDIFBBVENIIHYxIDQvNl0g YXBwL2V2ZW50ZGV2OiBhZGQgcmVsZWFzZSBiYXJyaWVycw0KPmZvcg0KPj4gPnBpcGVsaW5lDQo+ PiA+DQo+PiA+PiB0ZXN0DQo+PiA+DQo+PiA+Pg0KPj4gPg0KPj4gPj4gSGkgRmVpZmVpLA0KPj4g Pg0KPj4gPj4NCj4+ID4NCj4+ID4+ID5IaSwgUGF2YW4NCj4+ID4NCj4+ID4+ID4NCj4+ID4NCj4+ ID4+ID5Tb3JyeSBmb3IgbXkgbGF0ZSByZXBseSBhbmQgdGhhbmtzIHZlcnkgbXVjaCBmb3IgeW91 ciByZXZpZXcuDQo+PiA+DQo+PiA+PiA+DQo+PiA+DQo+PiA+PiA+PiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPj4gPg0KPj4gPj4gPj4gRnJvbTogUGF2YW4gTmlraGlsZXNoIEJoYWdhdmF0 dWxhDQo+Pg0KPj48bWFpbHRvOnBiaGFnYXZhdHVsYUBtYXJ2ZWxsLmNvbTxtYWlsdG86cGJoYWdh dmF0dWxhQG1hcnZlbGwuYw0KPm9tPj4NCj4+ID4NCj4+ID4+ID4+IFNlbnQ6IDIwMjDlubQxMuac iDIy5pelIDE4OjMzDQo+PiA+DQo+PiA+PiA+PiBUbzogRmVpZmVpIFdhbmcNCj4+ID48bWFpbHRv OkZlaWZlaS5XYW5nMkBhcm0uY29tPG1haWx0bzpGZWlmZWkuV2FuZzJAYXJtLmNvbT4+Ow0KPj4g Pm1haWx0bzpqZXJpbmpAbWFydmVsbC5jb208bWFpbHRvOmplcmluakBtYXJ2ZWxsLmNvbT47DQo+ PiA+DQo+PiA+PiA+SGFycnkgdmFuDQo+PiA+DQo+PiA+PiA+PiBIYWFyZW4NCj4+DQo+PjxtYWls dG86aGFycnkudmFuLmhhYXJlbkBpbnRlbC5jb208bWFpbHRvOmhhcnJ5LnZhbi5oYWFyZW5AaW50 ZWwuDQo+Y29tPj47DQo+PiA+UGF2YW4gTmlraGlsZXNoDQo+PiA+DQo+PiA+PiA+Pg0KPj4NCj4+ PHBiaGFnYXZhdHVsYUBjYXZpdW1uZXR3b3Jrcy5jb208bWFpbHRvOnBiaGFnYXZhdHVsYUBjYXZp dW0NCj5uDQo+PiA+ZXR3b3Jrcy5jb20+Pg0KPj4gPg0KPj4gPj4gPj4gQ2M6IG1haWx0bzpkZXZA ZHBkay5vcmc8bWFpbHRvOmRldkBkcGRrLm9yZz47IG5kDQo+PiA+PG1haWx0bzpuZEBhcm0uY29t PG1haWx0bzpuZEBhcm0uY29tPj47IEhvbm5hcHBhDQo+TmFnYXJhaGFsbGkNCj4+ID4NCj4+ID4+ ID4+DQo+Pg0KPj48SG9ubmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNvbTxtYWlsdG86SG9ubmFwcGEu TmFnYXJhaGFsbGlAYXINCj5tDQo+PiA+LmNvbT4+OyBtYWlsdG86c3RhYmxlQGRwZGsub3JnPG1h aWx0bzpzdGFibGVAZHBkay5vcmc+OyBQaGlsDQo+WWFuZw0KPj4gPg0KPj4gPj4gPj4gPG1haWx0 bzpQaGlsLllhbmdAYXJtLmNvbTxtYWlsdG86UGhpbC5ZYW5nQGFybS5jb20+Pg0KPj4gPg0KPj4g Pj4gPj4gU3ViamVjdDogUkU6IFtSRkMgUEFUQ0ggdjEgNC82XSBhcHAvZXZlbnRkZXY6IGFkZCBy ZWxlYXNlDQo+PiA+YmFycmllcnMNCj4+ID4NCj4+ID4+ID5mb3INCj4+ID4NCj4+ID4+ID4+IHBp cGVsaW5lIHRlc3QNCj4+ID4NCj4+ID4+ID4+DQo+PiA+DQo+PiA+PiA+Pg0KPj4gPg0KPj4gPj4g Pj4gPkFkZCByZWxlYXNlIGJhcnJpZXJzIGJlZm9yZSB1cGRhdGluZyB0aGUgcHJvY2Vzc2VkIHBh Y2tldHMgZm9yDQo+PiA+DQo+PiA+PiA+d29ya2VyDQo+PiA+DQo+PiA+PiA+PiA+bGNvcmVzIHRv IGVuc3VyZSB0aGUgd29ya2VyIGxjb3JlIGhhcyByZWFsbHkgZmluaXNoZWQgZGF0YQ0KPj4gPg0K Pj4gPj4gPj4gPnByb2Nlc3NpbmcgYW5kIHRoZW4gaXQgY2FuIHVwZGF0ZSB0aGUgcHJvY2Vzc2Vk IHBhY2tldHMNCj5udW1iZXIuDQo+PiA+DQo+PiA+PiA+PiA+DQo+PiA+DQo+PiA+PiA+Pg0KPj4g Pg0KPj4gPj4gPj4gSSBiZWxpZXZlIHdlIGNhbiBsaXZlIHdpdGggbWlub3IgaW5hY2N1cmFjaWVz IGluIHN0YXRzIGJlaW5nDQo+PiA+DQo+PiA+PiA+PiBwcmVzZW50ZWQNCj4+ID4NCj4+ID4+ID5h cw0KPj4gPg0KPj4gPj4gPj4gYXRvbWljcyBhcmUgcHJldHR5IGhlYXZ5IHdoZW4gc2NoZWR1bGVy IGlzIGxpbWl0ZWQgdG8gYnVyc3Qgc2l6ZQ0KPj4gPj4gPj4gYXMNCj4+ID4xLg0KPj4gPg0KPj4g Pj4gPj4NCj4+ID4NCj4+ID4+ID4+IE9uZSBvcHRpb24gaXMgdG8gbW92ZSBpdCBiZWZvcmUgYSBw aXBlbGluZSBvcGVyYXRpb24NCj4+ID4NCj4+ID4+ID4ocGlwZWxpbmVfZXZlbnRfdHgsDQo+PiA+ DQo+PiA+PiA+PiBwaXBlbGluZV9md2RfZXZlbnQgZXRjLikgYXMgdGhleSBpbXBseSBpbXBsaWNp dCByZWxlYXNlIGJhcnJpZXINCj4+ID4+ID4+IChhcw0KPj4gPg0KPj4gPj4gPj4gYWxsDQo+PiA+ DQo+PiA+PiA+dGhlDQo+PiA+DQo+PiA+PiA+PiBjaGFuZ2VzIGRvbmUgdG8gdGhlIGV2ZW50IHNo b3VsZCBiZSB2aXNpYmxlIHRvIHRoZSBuZXh0IGNvcmUpLg0KPj4gPg0KPj4gPj4gPg0KPj4gPg0K Pj4gPj4gPklmIEkgdW5kZXJzdGFuZCBjb3JyZWN0bHksIHlvdXIgbWVhbmluZyBpcyB0aGF0IG1v dmUgcmVsZWFzZQ0KPj4gPj4gPmJhcnJpZXJzDQo+PiA+DQo+PiA+PiA+YmVmb3JlIHBpcGVsaW5l X2V2ZW50X3R4IG9yIHBpcGVsaW5lX2Z3ZF9ldmVudC4gVGhpcyBjYW4gZW5zdXJlDQo+dGhlDQo+ PiA+DQo+PiA+PiA+ZXZlbnQgaGFzIGJlZW4gcHJvY2Vzc2VkIGJlZm9yZSB0aGUgbmV4dCBjb3Jl IGJlZ2lucyB0byB0eC9md2QuDQo+Rm9yDQo+PiA+DQo+PiA+PiA+ZXhhbXBsZToNCj4+ID4NCj4+ ID4+DQo+PiA+DQo+PiA+PiBXaGF0IEkgbWVhbnQgd2FzIGV2ZW50IEFQSXMgc3VjaCBhcyBgcnRl X2V2ZW50X2VucXVldWVfYnVyc3RgLA0KPj4gPg0KPj4gPj4gYHJ0ZV9ldmVudF9ldGhfdHhfYWRh cHRlcl9lbnF1ZXVlYA0KPj4gPg0KPj4gPj4gYWN0IGFzIGFuIGltcGxpY2l0IHJlbGVhc2UgYmFy cmllciBhbmQgdGhlIEFQSQ0KPj4gPmBydGVfZXZlbnRfZGVxdWV1ZV9idXJzdGAgYWN0DQo+PiA+ DQo+PiA+PiBhcyBhbiBpbXBsaWNpdCBhY3F1aXJlIGJhcnJpZXIuDQo+PiA+DQo+PiA+DQo+PiA+ DQo+PiA+Pg0KPj4gPg0KPj4gPj4gU2luY2UsIHBpcGVsaW5lXyogdGVzdCBzdGFydHMgd2l0aCBh IGRlcXVldWUoKSBhbmQgZW5kcyB3aXRoIGFuDQo+PiA+ZW5xdWV1ZSgpIEkNCj4+ID4NCj4+ID4+ IGRvbuKAmXQgYmVsaWV2ZSB3ZSBuZWVkIGJhcnJpZXJzIGluIEJldHdlZW4uDQo+PiA+DQo+PiA+ DQo+PiA+DQo+PiA+U29ycnkgZm9yIG15IG1pc3VuZGVyc3RhbmRpbmcgdGhpcy4gQW5kIEkgYWdy ZWUgd2l0aCB5b3UgdGhhdCBubw0KPj4gPmJhcnJpZXJzIGFyZQ0KPj4gPg0KPj4gPm5lZWRlZCBi ZXR3ZWVuIGRlcXVldWUgYW5kIGVucXVldWUuDQo+PiA+DQo+PiA+DQo+PiA+DQo+PiA+Tm93LCBs ZXQncyBnbyBiYWNrIHRvIHRoZSBiZWdpbm5pbmcuIEFjdHVhbGx5IHdpdGggdGhpcyBwYXRjaCwg b3VyDQo+PiA+YmFycmllciBpcyBtYWlubHkNCj4+ID4NCj4+ID5mb3IgdGhlIHN5bmNocm9ub3Vz IHZhcmlhYmxlICIgdy0+cHJvY2Vzc2VkX3BrdHMgIi4gQXMgd2UgYWxsIGtub3csDQo+dGhlDQo+ PiA+ZXZlbnQgaXMgZmlyc3RseQ0KPj4gPg0KPj4gPmRlcXVldWVkIGFuZCB0aGVuIGVucXVldWVk LCBhZnRlciB0aGlzLCB0aGUgZXZlbnQgY2FuIGJlIHRyZWF0ZWQgYXMNCj50aGUNCj4+ID5wcm9j ZXNzZWQgZXZlbnQNCj4+ID4NCj4+ID5hbmQgaW5jbHVkZWQgaW4gdGhlIHN0YXRpc3RpY3MoInct PnByb2Nlc3NlZF9wa3RzKysiKS4NCj4+ID4NCj4+ID4NCj4+ID4NCj4+ID5UaHVzLCB3ZSBhZGQg YSByZWxlYXNlIGJhcnJpZXIgYmVmb3JlICIgdy0+cHJvY2Vzc2VkX3BrdHMrKyIgaXMgdG8NCj4+ ID5wcmV2ZW50IHRoaXMgb3BlcmF0aW9uDQo+PiA+DQo+PiA+YmVpbmcgZXhlY3V0ZWQgYWhlYWQg b2YgdGltZS4gRm9yIGV4YW1wbGU6DQo+PiA+DQo+PiA+ZGVxdWV1ZSAgLT4gIHctPnByb2Nlc3Nl ZF9wa3RzKysgIC0+ICBlbnF1ZXVlDQo+PiA+DQo+PiA+VGhpcyBjYXVzZSB0aGF0IHRoZSB3b3Jr ZXIgZG9lc24ndCBhY3R1YWxseSBmaW5pc2ggdGhpcyBldmVudA0KPj4gPnByb2Nlc3NpbmcsIGJ1 dCB0aGUgZXZlbnQgaXMgdHJlYXRlZA0KPj4gPg0KPj4gPmFzIHRoZSBwcm9jZXNzZWQgb25lIGFu ZCBpbmNsdWRlZCBpbiB0aGUgc3RhdGlzdGljcy4NCj4+ID4NCj4+DQo+PiBCdXQgdGhlIGN1cnJl bnQgc2VxdWVuY2UgaXMgZGVxdWV1ZS0+IGVucXVldWUtPiB3LQ0KPj5wcm9jZXNzZWRfcGt0cysr DQo+PiBhbmQgZW5xdWV1ZSBhbHJlYWR5IGFjdHMgYXMgYW4gZXhwbGljaXQgcmVsZWFzZSBiYXJy aWVyIHJpZ2h0Pw0KPj4NCj4NCj5Tb3JyeSBtYXliZSBJIGNhbm5vdCB1bmRlcnN0YW5kIGhvdyDi gJxlbnF1ZXVl4oCdIGFzIGFuIGV4cGxpY2l0IHJlbGVhc2UNCj5iYXJyaWVyLiBJIHRoaW5rIG9m IHR3byBwb3NzaWJpbGl0aWVzOg0KPjEuIEFzIHlvdSBzYXkgYmVmb3JlLCBhbGwgdGhlIGNoYW5n ZXMgZG9uZSB0byB0aGUgZXZlbnQgc2hvdWxkIGJlIHZpc2libGUNCj50byB0aGUgbmV4dCBjb3Jl IGFuZCBlbnF1ZXVlIGlzIGEgb3BlcmF0aW9uIGZvciBldmVudCwgc28gdGhlIG5leHQgY29yZQ0K PnNob3VsZCB3YWl0IGZvciB0aGUgZXZlbnQgdG8gYmUgZW5xdWV1ZWQuDQo+SSB0aGluayB0aGlz IGlzIGR1ZSB0byBkYXRhIGRlcGVuZGVuY2UgZm9yIHRoZSBzYW1lIHZhcmlhYmxlLiBIb3dldmVy LA0KPuKAmHctPnByb2Nlc3NlZF9wa3Rz4oCZIGFuZCDigJhlduKAmSBhcmUgZGlmZmVyZW50IHZh cmlhYmxlcywgc28gdGhpcyBjYW5ub3QNCj5wcmV2ZW50IOKAmHctPnByb2Nlc3NlZF9wa3RzKyvi gJkgYmVmb3JlIGVucXVldWUuDQo+QW5kIHRoZSBtYWluIGNvcmUgbWF5IGxvYWQgdXBkYXRlZCDi gJh3LT5wcm9jZXNzZWRfcGt0c+KAmSBidXQgYWN0dWFsbHkNCj50aGUgZXZlbnQgaXMgc3RpbGwg YmVpbmcgcHJvY2Vzc2VkLiBGb3IgZXhhbXBsZToNCj4NCj4gVGltZSBTbG90CSAgIFdvcmtlciAx ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWluIGNvcmUNCj4gICAxICAg ICAgICAgICAgICAgICAgICAgICAgICAgZGVxdWV1ZQ0KPiAgIDIgICAgICAgICAgICAgICAgICB3 LT5wcm9jZXNzZWRfcGt0cysrDQo+ICAgMyAgICAgICAgICAgICAgICAgICAgICAgCQkgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBsb2FkIHctPnByb2Nlc3NlZF9wa3RzDQo+ICAgNCAgICAg ICAgICAgICAgICAgICAgICAgICAgZW5xdWV1ZQ0KPg0KPjIuIFNvbWUgcmVsZWFzZSBiYXJyaWVy cyBoYXZlIGJlZW4gaW5jbHVkZWQgaW4gZW5xdWV1ZS4gVGhlcmUgaXMgYQ0KPnJlbGVhc2UgYmFy cmllciBpbiBydGVfcmluZ19lbnF1ZXVlIDoNCj5tb3ZlIGhlYWQgLT4gY29weSBlbGVtZW50cyB0 byB0aGUgcmluZyAtPiByZWxlYXNlIGJhcnJpZXIgLT4gdXBkYXRlIHRhaWwNCj4tPiB3LT5wcm9j ZXNzZWRfcGt0cysrDQo+SG93ZXZlciwgdGhpcyBiYXJyaWVyIGNhbm5vdCBwcmV2ZW50IOKAmHct PnByb2Nlc3NlZF9wa3RzKyvigJkgYmVmb3JlDQo+dXBkYXRlIHRhaWwsIGFuZCB3aGVuIHVwZGF0 ZV90YWlsIGhhcyBiZWVuIGZpbmlzaGVkLCB0aGUgZW5xdWV1ZQ0KPnByb2Nlc3MgIGNhbiBiZSBz ZWVuIGNvbXBsZXRlZC4NCg0KSSB3YXMgdGFsa2luZyBhYm91dCBjYXNlIDIgaW4gcGFydGljdWxh ciBhbG1vc3QgYWxsIGVucXVldWUgY2FsbHMgaGF2ZSBzb21lIGtpbmQgb2YgDQpyZWxlYXNlIGJh cnJpZXIgaW4gcGxhY2UuIEkgZG8gYWdyZWUgdy0+cHJvY2Vzc2VkX3BrdHMrKyBtaWdodCBnZXQg cmVvcmRlcmVkIHdpdGggDQp0YWlsIHVwZGF0ZSBidXQgc2luY2UgZW5xdWV1ZSBpdHNlbGYgaXMg YSBsZHIgKyBibHIgSSB3YXMgaG9waW5nIHRoYXQgaXQgd291bGRuJ3Qgb2NjdXIuDQoNCldlIGNh biBjb250aW51ZSB0aGUgZGlzY3Vzc2lvbiBvbmNlIEkgaGF2ZSBzb21lIHBlcmZvcm1hbmNlIGRh dGEuDQoNClRoYW5rcyBmb3IgeW91ciBwYXRpZW5jZSA6KSANClBhdmFuLg0KDQo+DQo+PiA+DQo+ PiA+DQo+Pg0KPj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18NCj4+IF8NCj4+ID5fX19fX19fX19fX19fX19fX19fXw0KPj4gPg0KPj4gPg0K Pj4gPg0KPj4gPkJ5IHRoZSB3YXksIEkgaGF2ZSB0d28gb3RoZXIgcXVlc3Rpb25zIGFib3V0IHBp cGVsaW5lIHByb2Nlc3MgdGVzdCBpbg0KPj4gPiJ0ZXN0X3BpcGVsaW5lX3F1ZXVlIi4NCj4+ID4N Cj4+ID4xLiB3aGVuIGRvIHdlIHN0YXJ0IGNvdW50aW5nIHByb2Nlc3NlZCBldmVudHMgKHctDQo+ PnByb2Nlc3NlZF9wa3RzKT8NCj4+ID4NCj4+ID5Gb3IgdGhlIGZ3ZCBtb2RlIChpbnRlcm5hbF9w b3J0ID0gZmFsc2UpLCB3aGVuIHdlIGNob29zZSBzaW5nbGUNCj5zdGFnZSwNCj4+ID5hcHBsaWNh dGlvbiBpbmNyZW1lbnRzDQo+PiA+DQo+PiA+dGhlIG51bWJlciBldmVudHMgcHJvY2Vzc2VkIGFm dGVyICJwaXBlbGluZV9ldmVudCBlbnF1ZXVlIi4NCj4+ID5Ib3dldmVyLCB3aGVuIHdlIGNob29z ZSBtdWx0aXBsZQ0KPj4gPg0KPj4gPnN0YWdlLCBhcHBsaWNhdGlvbiBpbmNyZW1lbnRzIHRoZSBu dW1iZXIgZXZlbnRzIHByb2Nlc3NlZCBiZWZvcmUNCj4+ID4icGlwbGVsaW5lX2V2ZW50X2VucXVl dWUiLg0KPj4NCj4+IFdlIGNvdW50IGFuIGV2ZW50IGFzIHByb2Nlc3Mgd2hlbiBhbGwgdGhlIHN0 YWdlcyBoYXZlIGNvbXBsZXRlZA0KPmFuZCBpdHMNCj4+IFRyYXNubWl0dGVkLg0KPj4NCj4+ID5T bywNCj4+ID4NCj4+ID5tYXliZSB3ZSBjYW4gdW5pZnkgdGhpcy4gRm9yIGV4YW1wbGUgb2YgbXVs dGlwbGUgc3RhZ2U6DQo+PiA+DQo+PiA+DQo+PiA+DQo+PiA+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpZiAoY3FfaWQgPT0gbGFzdF9xdWV1ZSkgew0KPj4gPg0KPj4gPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2LnF1ZXVlX2lkID0NCj4+ ID4gdHhfcXVldWVbZXYubWJ1Zi0+cG9ydF07DQo+PiA+DQo+PiA+DQo+PiA+cnRlX2V2ZW50X2V0 aF90eF9hZGFwdGVyX3R4cV9zZXQoZXYubWJ1ZiwNCj4+ID4wKTsNCj4+ID4NCj4+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaXBlbGluZV9md2RfZXZl bnQoJmV2LA0KPj4gPlJURV9TQ0hFRF9UWVBFX0FUT01JQyk7DQo+PiA+DQo+PiA+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICArICAgICAgICAgICAgIHBpcGVsaW5lX2V2ZW50X2VucXVl dWUoZGV2LCBwb3J0LCAmZXYpOw0KPj4gPg0KPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHctPnByb2Nlc3NlZF9wa3RzKys7DQo+PiA+DQo+PiA+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KPj4gPg0KPj4gPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2LnF1ZXVlX2lkKys7DQo+ PiA+DQo+PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cGlwZWxpbmVfZndkX2V2ZW50KCZldiwNCj4+ID5zY2hlZF90eXBlX2xpc3RbY3FfaWRdKTsNCj4+ ID4NCj4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgICAgICAgICAgICAgcGlw ZWxpbmVfZXZlbnRfZW5xdWV1ZShkZXYsIHBvcnQsICZldik7DQo+PiA+DQo+PiA+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9DQo+PiA+DQo+PiA+DQo+PiA+DQo+PiA+ICAgICAgICAg ICAgICAgIC0gICAgICAgICAgICAgIHBpcGVsaW5lX2V2ZW50X2VucXVldWUoZGV2LCBwb3J0LCAm ZXYpOw0KPj4gPg0KPj4gPg0KPj4NCj4+IFRoZSBhYm92ZSBjaGFuZ2UgbWFrZXMgc2Vuc2UuDQo+ Pg0KPlRoYW5rcyBmb3IgeW91ciByZXZpZXcsIGFuZCBJ4oCZbGwgdXBkYXRlIHRoaXMgY2hhbmdl IGludG8gdGhlIG5leHQNCj52ZXJzaW9uLg0KPj4gPg0KPj4gPjIuIFdoZXRoZXIgICJwaXBlbGlu ZV9ldmVudF9lbnF1ZXVlIiBpcyBuZWVkZWQgYWZ0ZXINCj4+ID4icGlwZWxpbmVfZXZlbnRfdHgi IGZvciB0eCBtb2RlPw0KPj4gPg0KPj4gPkZvciBzaW5nbGVfc3RhZ2VfYnVyc3RfdHggbW9kZSwg YWZ0ZXIgInBpcGVsaW5lX2V2ZW50X3R4IiwgdGhlDQo+d29ya2VyDQo+PiA+aGFzIHRvIGVucXVl dWUgYWdhaW4NCj4+ID4NCj4+ID5kdWUgdG8gICJwaXBlbGluZV9ldmVudF9lbnF1ZXVlX2J1cnN0 Iiwgc28gbWF5YmUgd2Ugc2hvdWxkIGp1bXANCj5vdXQgb2YNCj4+ID50aGUgbG9vcCBhZnRlcg0K Pj4gPg0KPj4gPuKAnHBpcGVsaW5lX2V2ZW50X3R44oCdLA0KPj4NCj4+IFdlIGNhbGwgZW5xdWV1 ZSBidXJzdCB0byByZWxlYXNlIHRoZSBldmVudHMgaS5lLiBlbnF1ZXVlIGV2ZW50cyB3aXRoDQo+ PiBSVEVfRVZFTlRfT1BfUkVMRUFTRS4NCj4+DQo+SG93ZXZlciwNCj5JbiBjYXNlIG9mIHNpbmds ZSBldmVudCwgZm9yICcgcGlwZWxpbmVfcXVldWVfd29ya2VyX3NpbmdsZV9zdGFnZV90eCcNCj5h bmQgJyBwaXBlbGluZV9xdWV1ZV93b3JrZXJfbXVsdGlfc3RhZ2VfdHgnLA0KPmFmdGVyIHR4LCB0 aGVyZSBpcyBubyByZWxlYXNlIG9wZXJhdGlvbi4NCj4NCj4+ID4NCj4+ICBmb3IgZXhhbXBsZToN Cj4+ID4NCj4+ID4NCj4+ID4NCj4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpZiAoZXZbaV0uc2NoZWRfdHlwZSA9PQ0KPj4gPlJURV9TQ0hFRF9UWVBF X0FUT01JQykgew0KPj4gPg0KPj4gPg0KPj4gPiBwaXBlbGluZV9ldmVudF90eChkZXYsIHBvcnQs ICZldltpXSk7DQo+PiA+DQo+PiA+DQo+PiA+IGV2W2ldLm9wID0gUlRFX0VWRU5UX09QX1JFTEVB U0U7DQo+PiA+DQo+PiA+DQo+PiA+IHctPnByb2Nlc3NlZF9wa3RzKys7DQo+PiA+DQo+PiA+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAgICAgICAgICAg ICBjb250aW51ZTsNCj4+ID4NCj4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9IGVsc2Ugew0KPj4gPg0KPj4gPg0KPj4gPiBldltpXS5xdWV1ZV9pZCsr Ow0KPj4gPg0KPj4gPg0KPj4gPiBwaXBlbGluZV9md2RfZXZlbnQoJmV2W2ldLA0KPj4gPg0KPj4g Pg0KPj4gPlJURV9TQ0hFRF9UWVBFX0FUT01JQyk7DQo+PiA+DQo+PiA+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KPj4gPg0KPj4gPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KPj4gPg0KPj4gPg0KPj4gPg0KPj4gPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcGlwZWxpbmVfZXZlbnRfZW5xdWV1ZV9idXJzdChkZXYsIHBv cnQsDQo+PiA+IGV2LCBuYl9yeCk7DQo+PiA+DQo+PiA+DQo+PiA+DQo+PiA+DQo+PiA+DQo+PiA+ Pg0KPj4gPg0KPj4gPj4gPg0KPj4gPg0KPj4gPj4gPmlmIChldi5zY2hlZF90eXBlID09IFJURV9T Q0hFRF9UWVBFX0FUT01JQykgew0KPj4gPg0KPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAg ICAgKw0KPj4gPl9fYXRvbWljX3RocmVhZF9mZW5jZShfX0FUT01JQ19SRUxFQVNFKTsNCj4+ID4N Cj4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaXBlbGlu ZV9ldmVudF90eChkZXYsDQo+PiA+PiA+IHBvcnQsICZldik7DQo+PiA+DQo+PiA+PiA+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdy0+cHJvY2Vzc2VkX3BrdHMrKzsN Cj4+ID4NCj4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQo+PiA+DQo+ PiA+PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXYucXVldWVf aWQrKzsNCj4+ID4NCj4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICsNCj4+ID5fX2F0 b21pY190aHJlYWRfZmVuY2UoX19BVE9NSUNfUkVMRUFTRSk7DQo+PiA+DQo+PiA+PiA+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlwZWxpbmVfZndkX2V2ZW50KCZl diwNCj4+ID4NCj4+ID4+ID5SVEVfU0NIRURfVFlQRV9BVE9NSUMpOw0KPj4gPg0KPj4gPj4gPg0K Pj4gPj4gPiBwaXBlbGluZV9ldmVudF9lbnF1ZXVlKGRldiwgcG9ydCwgJmV2KTsNCj4+ID4NCj4+ ID4+ID4NCj4+ID4NCj4+ID4+ID5Ib3dldmVyLCB0aGVyZSBhcmUgdHdvIHJlYXNvbnMgdG8gcHJl dmVudCB0aGlzOg0KPj4gPg0KPj4gPj4gPg0KPj4gPg0KPj4gPj4gPkZpcnN0LCBjb21wYXJlIHdp dGggb3RoZXIgdGVzdHMgaW4gYXBwL2V2ZW50ZGV2LCBmb3IgZXhhbXBsZSwgdGhlDQo+PiA+DQo+ PiA+PiA+ZXZlbnRkZXYgcGVyZiB0ZXN0LCB0aGUgd21iIGlzIGFmdGVyIGV2ZW50IG9wZXJhdGlv biB0byBlbnN1cmUNCj4+ID4NCj4+ID4+ID5vcGVyYXRpb24gaGFzIGJlZW4gZmluaXNoZWQgYW5k IHRoZW4gdy0+cHJvY2Vzc2VkX3BrdHMrKy4NCj4+ID4NCj4+ID4+DQo+PiA+DQo+PiA+PiBJbiBj YXNlIG9mIHBlcmZfKiB0ZXN0cyBzdGFydCB3aXRoIGEgZGVxdWV1ZSgpIGFuZCBmaW5hbGx5IGVu ZHMgd2l0aA0KPj4gPj4gYQ0KPj4gPg0KPj4gPj4gbWVtcG9vbF9wdXQoKSBzaG91bGQgYWxzbyBh Y3QgYXMgaW1wbGljaXQgYWNxdWlyZSByZWxlYXNlIHBhaXJzDQo+PiA+bWFraW5nIHN0YXRzDQo+ PiA+DQo+PiA+PiBjb25zaXN0ZW50Pw0KPj4gPg0KPj4gPg0KPj4gPg0KPj4gPkZvciBwZXJmIHRl c3RzLCB0aGlzIGNvbnNpc3RlbmN5IHJlZmVycyB0byB0aGF0IHRoZXJlIGlzIGEgd21iIGFmdGVy DQo+PiA+bWVtcG9vbF9wdXQoKS4NCj4+ID4NCj4+ID5QbGVhc2UgcmVmZXIgdG8gdGhpcyBsaW5r Og0KPj4gPg0KPj4gPmh0dHBzOi8vdXJsZGVmZW5zZS5wcm9vZnBvaW50LmNvbS92Mi91cmw/dT1o dHRwLQ0KPj4NCj4+M0FfX3BhdGNoZXMuZHBkay5vcmdfcGF0Y2hfODU2MzRfJmQ9RHdJR2FRJmM9 bktqV2VjMmI2UjBtDQo+Tw0KPj4NCj4+eVBhejd4dGZRJnI9MWNqdUFIckdoNzQ1akhObWoyZkQ4 NXNVTUlKMklQSURzSUp6bzZGTjZaMCZtPXoNCj5nDQo+PiA+UUhlU0RpWFdmSTFQSUlVeFhCcU1T NkUtDQo+Ml8zRzQ2bmhyekdYb0JwSEkmcz0wRndUeFBYaldmbGgtDQo+PiA+c2RtbmtZMTMzSVBs SkI3ODB4MHl4ZTdBbTNKQ0J3JmU9DQo+PiA+DQo+PiA+DQo+PiA+DQo+PiA+Pg0KPj4gPg0KPj4g Pj4gPlNvLCBpZiB3ZSBtb3ZlIHJlbGVhc2UgYmFycmllcnMgYmVmb3JlIHR4L2Z3ZCwgaXQgbWF5 IGNhdXNlIHRoYXQNCj50aGUNCj4+ID4NCj4+ID4+ID50ZXN0cyBvZiBhcHAvZXZlbnRkZXYgYmVj b21lICBpbmNvbnNpc3RlbnQuVGhpcyBtYXkgcmVkdWNlIHRoZQ0KPj4gPg0KPj4gPj4gPm1haW50 YWluYWJpbGl0eSBvZiB0aGUgY29kZSBhbmQgbWFrZSBpdCBkaWZmaWN1bHQgdG8gdW5kZXJzdGFu ZC4NCj4+ID4NCj4+ID4+ID4NCj4+ID4NCj4+ID4+ID5TZWNvbmQsIGl0IGlzIGEgdGVzdCBjYXNl LCB0aG91Z2ggaGVhdnkgdGhyZWFkIG1heSBjYXVzZQ0KPj4gPnBlcmZvcm1hbmNlDQo+PiA+DQo+ PiA+PiA+ZGVncmFkYXRpb24sIGl0IGNhbiBlbnN1cmUgdGhhdCB0aGUgb3BlcmF0aW9uIHByb2Nl c3MgYW5kIHRoZSB0ZXN0DQo+PiA+DQo+PiA+PiA+cmVzdWx0IGFyZSBjb3JyZWN0LiBBbmQgbWF5 YmUgZm9yIGEgdGVzdCBjYXNlLCBjb3JyZWN0bmVzcyBpcyBtb3JlDQo+PiA+DQo+PiA+PiA+aW1w b3J0YW50IHRoYW4gcGVyZm9ybWFuY2UuDQo+PiA+DQo+PiA+PiA+DQo+PiA+DQo+PiA+Pg0KPj4g Pg0KPj4gPj4gTW9zdCBvZiBvdXIgaW50ZXJuYWwgcGVyZiB0ZXN0IHJ1biBvbiAyNC80OCBjb3Jl IGNvbWJpbmF0aW9ucyBhbmQNCj4+ID5zaW5jZQ0KPj4gPg0KPj4gPj4gT2N0ZW9udHgyIGV2ZW50 IGRldmljZSBkcml2ZXIgc3VwcG9ydHMgYSBidXJzdCBzaXplIG9mIDEsIGl0IHdpbGwNCj4+ID4+ IHNob3cNCj4+ID51cCBhcw0KPj4gPg0KPj4gPj4gSHVnZSBwZXJmb3JtYW5jZSBkZWdyYWRhdGlv bi4NCj4+ID4NCj4+ID4NCj4+ID4NCj4+ID5Gb3IgdGhlIGltcGFjdCBvbiBwZXJmb3JtYW5jZSwg SSBkbyB0aGUgdGVzdCB1c2luZyBzb2Z0d2FyZSBkcml2ZXIsDQo+PiA+Zm9sbG93aW5nIGFyZSBz b21lIHRlc3QgcmVzdWx0czoNCj4+ID4NCj4+ID4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPj4gPi0tLS0tLS0t LS0tLS0tLS0NCj4+ID4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCj4+ID4NCj4+ID5BcmNoaXRlY3R1cmU6IGFhcmNoNjQNCj4+ID4NCj4+ID5OaWNzOiBpeGdi ZS04MjU5OQ0KPj4gPg0KPj4gPkNQVTogQ29ydGV4LUE3Mg0KPj4gPg0KPj4gPkJVUlNUX1NJWkU6 IDENCj4+ID4NCj4+ID5PcmRlcjogLi9kcGRrLXRlc3QtZXZlbnRkZXYgLWwgMC0xNSAtcyAweDIg LS12ZGV2PWV2ZW50X3N3MCAtLSAtLQ0KPj4gPnRlc3Q9cGlwZWxpbmVfcXVldWUgLS13bGNvcmU9 NC0xNCAtLXByb2RfdHlwZV9ldGhkZXYgLS1zdGxpc3Q9YSxhDQo+PiA+DQo+PiA+Rmxvdzogb25l IGZsb3csIDY0Yml0cyBwYWNrYWdlLCBUWCByYXRlOiAxLjRNcHBzDQo+PiA+DQo+PiA+DQo+PiA+ DQo+PiA+V2l0aG91dCB0aGlzIHBhdGNoOg0KPj4gPg0KPj4gPjAuOTU0IG1wcHMgYXZnIDAuOTUz IG1wcHMNCj4+ID4NCj4+ID4NCj4+ID4NCj4+ID5XaXRoIHRoaXMgcGF0Y2g6DQo+PiA+DQo+PiA+ MC45MzIgbXBwcyBhdmcgMC45MzAgbXBwcw0KPj4gPg0KPj4gPi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+PiA+ LS0tLS0tLS0tLS0tLS0tLQ0KPj4gPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KPj4gPg0KPj4gPg0KPj4gPg0KPj4gPkJhc2VkIG9uIHRoZSByZXN1bHQgYWJv dmUsIHRoZXJlIGlzIG5vIHNpZ25pZmljYW50IHBlcmZvcm1hbmNlDQo+PiA+ZGVncmFkYXRpb24g d2l0aCB0aGlzIHBhdGNoLg0KPj4gPg0KPj4gPlRoaXMgaXMgYmVjYXVzZSB0aGUgcmVsZWFzZSBi YXJyaWVyIGlzIG9ubHkgZm9yICDigJx3LQ0KPj5wcm9jZXNzZWRfcGt0cysr4oCdLg0KPj4gPkl0 IGp1c3QgZW5zdXJlcyB0aGF0IHRoZSB3b3JrZXIgY29yZQ0KPj4gPg0KPj4gPmluY3JlbWVudHMg dGhlIG51bWJlciBldmVudHMgcHJvY2Vzc2VkIGFmdGVyIGVucXVldWUsIGFuZCBpdA0KPmRvZXNu 4oCZdA0KPj4gPmFmZmVjdCBkZXF1ZXVlL2VucXVldWU6DQo+PiA+DQo+PiA+DQo+PiA+DQo+PiA+ ZGVxdWV1ZSAtPiBlbnF1ZXVlIC0+IHJlbGVhc2UgYmFycmllciAtPiB3LT5wcm9jZXNzZWRfcGt0 cysrDQo+PiA+DQo+Pg0KPj4gSGVyZSBlbnF1ZXVlIGFscmVhZHkgYWN0cyBhcyBhbiBleHBsaWNp dCByZWxlYXNlIGJhcnJpZXIuDQo+Pg0KPlBsZWFzZSByZWZlciBhYm92ZSByZWFzb25zLg0KPg0K Pj4gPg0KPj4gPg0KPj4gPk9uIHRoZSBvdGhlciBoYW5kLCBJIGluZmVyIHRoZSByZWFzb24gZm9y IHRoZSBzbGlnaHQgZGVjcmVhc2UgaW4NCj4+ID5tZWFzdXJlbWVudCBwZXJmb3JtYW5jZSBpcyB0 aGF0IHRoZSByZWxlYXNlIGJhcnJpZXINCj4+ID4NCj4+ID5wcmV2ZW50IOKAnHctPnByb2Nlc3Nl ZF9wa3RzKyvigJ0gYmVmb3JlIHRoYXQgdGhlIGV2ZW50IGhhcyBiZWVuDQo+cHJvY2Vzc2VkDQo+ PiA+KGVucXVldWUpLiBCdXQgSSB0aGluayB0aGlzIHRlc3QgcmVzdWx0IGlzIGNsb3Nlcg0KPj4g Pg0KPj4gPnRvIHRoZSByZWFsIHBlcmZvcm1hbmNlLg0KPj4gPg0KPj4gPkFuZCBzb3JyeSBmb3Ig dGhhdCB3ZSBoYXZlIG5vIG9jdGVudHgyIGRldmljZSwgc28gdGhlcmUgaXMgbm8gdGVzdA0KPj4g PnJlc3VsdCBvbiBPY3Rlb250eDIgZXZlbnQgZGV2aWNlIGRyaXZlci4gV291bGQgeW91IHBsZWFz ZQ0KPj4gPg0KPj4gPmhlbHAgdXMgdGVzdCB0aGlzIHBhdGNoIG9uIG9jdGVudHgyIHdoZW4geW91 IGFyZSBjb252ZW5pZW50LiBUaGFua3MNCj4+ID52ZXJ5IG11Y2guDQo+PiA+DQo+Pg0KPj4gSSB3 aWxsIHJlcG9ydCB0aGUgcGVyZm9ybWFuY2UgbnVtYmVycyBvbiBNb25kYXkuDQo+Pg0KPg0KPlRo YXTigJlzIGdyZWF0LCBUaGFua3MgdmVyeSBtdWNoIGZvciB5b3VyIGhlbHAuDQo+DQo+QmVzdCBS ZWdhcmRzDQo+RmVpZmVpDQo+DQo+PiA+DQo+PiA+DQo+PiA+QmVzdCBSZWdhcmRzDQo+PiA+DQo+ PiA+RmVpZmVpDQo+Pg0KPj4gUmVnYXJkcywNCj4+IFBhdmFuLg0KPj4NCj4+ID4NCj4+ID4NCj4+ ID4NCj4+ID4+DQo+PiA+DQo+PiA+PiA+U28sIGR1ZSB0byB0d28gcmVhc29ucyBhYm92ZSwgSSdt IGFtYml2YWxlbnQgYWJvdXQgaG93IHdlDQo+c2hvdWxkDQo+PiA+ZG8gaW4NCj4+ID4NCj4+ID4+ ID50aGUgbmV4dCBzdGVwLg0KPj4gPg0KPj4gPj4gPg0KPj4gPg0KPj4gPj4gPkJlc3QgUmVnYXJk cw0KPj4gPg0KPj4gPj4gPkZlaWZlaQ0KPj4gPg0KPj4gPj4NCj4+ID4NCj4+ID4+IFJlZ2FyZHMs DQo+PiA+DQo+PiA+PiBQYXZhbi4NCj4+ID4NCj4+ID4+DQo+PiA+DQo+PiA+PiA+DQo+PiA+DQo+ PiA+PiA+PiA+Rml4ZXM6IDMxNGJjZjU4Y2E4ZiAoImFwcC9ldmVudGRldjogYWRkIHBpcGVsaW5l IHF1ZXVlDQo+d29ya2VyDQo+PiA+DQo+PiA+PiA+PiA+ZnVuY3Rpb25zIikNCj4+ID4NCj4+ID4+ ID4+ID5DYzoNCj4+DQo+Pm1haWx0bzpwYmhhZ2F2YXR1bGFAbWFydmVsbC5jb208bWFpbHRvOnBi aGFnYXZhdHVsYUBtYXJ2ZWxsLmNvDQo+bT4NCj4+ID4NCj4+ID4+ID4+ID5DYzogbWFpbHRvOnN0 YWJsZUBkcGRrLm9yZzxtYWlsdG86c3RhYmxlQGRwZGsub3JnPg0KPj4gPg0KPj4gPj4gPj4gPg0K Pj4gPg0KPj4gPj4gPj4gPlNpZ25lZC1vZmYtYnk6IFBoaWwgWWFuZw0KPj4gPjxtYWlsdG86cGhp bC55YW5nQGFybS5jb208bWFpbHRvOnBoaWwueWFuZ0Bhcm0uY29tPj4NCj4+ID4NCj4+ID4+ID4+ ID5TaWduZWQtb2ZmLWJ5OiBGZWlmZWkgV2FuZw0KPj4gPjxtYWlsdG86ZmVpZmVpLndhbmcyQGFy bS5jb208bWFpbHRvOmZlaWZlaS53YW5nMkBhcm0uY29tPj4NCj4+ID4NCj4+ID4+ID4+ID5SZXZp ZXdlZC1ieTogUnVpZmVuZyBXYW5nDQo+PiA+PG1haWx0bzpydWlmZW5nLndhbmdAYXJtLmNvbTxt YWlsdG86cnVpZmVuZy53YW5nQGFybS5jb20+Pg0KPj4gPg0KPj4gPj4gPj4gPi0tLQ0KPj4gPg0K Pj4gPj4gPj4gPiBhcHAvdGVzdC1ldmVudGRldi90ZXN0X3BpcGVsaW5lX3F1ZXVlLmMgfCA2NA0K Pj4gPg0KPj4gPj4gPj4gPisrKysrKysrKysrKysrKysrKysrKy0tLS0NCj4+ID4NCj4+ID4+ID4+ ID4gMSBmaWxlIGNoYW5nZWQsIDU2IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pDQo+PiA+ DQo+PiA+PiA+PiA+DQo+PiA+DQo+PiA+PiA+PiA+ZGlmZiAtLWdpdCBhL2FwcC90ZXN0LWV2ZW50 ZGV2L3Rlc3RfcGlwZWxpbmVfcXVldWUuYw0KPmIvYXBwL3Rlc3QtDQo+PiA+DQo+PiA+PiA+PiA+ ZXZlbnRkZXYvdGVzdF9waXBlbGluZV9xdWV1ZS5jIGluZGV4IDdiZWJhYzM0Zi4uMGMwZWMwY2Vi DQo+PiA+DQo+PiA+PiA+MTAwNjQ0DQo+PiA+DQo+PiA+PiA+PiA+LS0tIGEvYXBwL3Rlc3QtZXZl bnRkZXYvdGVzdF9waXBlbGluZV9xdWV1ZS5jDQo+PiA+DQo+PiA+PiA+PiA+KysrIGIvYXBwL3Rl c3QtZXZlbnRkZXYvdGVzdF9waXBlbGluZV9xdWV1ZS5jDQo+PiA+DQo+PiA+PiA+PiA+QEAgLTMw LDcgKzMwLDEzIEBADQo+PiA+cGlwZWxpbmVfcXVldWVfd29ya2VyX3NpbmdsZV9zdGFnZV90eCh2 b2lkDQo+PiA+DQo+PiA+PiA+PiA+KmFyZykNCj4+ID4NCj4+ID4+ID4+ID4NCj4+ID4NCj4+ID4+ ID4+ID4gICAgICAgICAgICAgICAgICAgIGlmIChldi5zY2hlZF90eXBlID09IFJURV9TQ0hFRF9U WVBFX0FUT01JQykgew0KPj4gPg0KPj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHBpcGVsaW5lX2V2ZW50X3R4KGRldiwgcG9ydCwNCj4+ID4+ID4+ID4gJmV2KTsN Cj4+ID4NCj4+ID4+ID4+ID4tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHctPnBy b2Nlc3NlZF9wa3RzKys7DQo+PiA+DQo+PiA+PiA+PiA+Kw0KPj4gPg0KPj4gPj4gPj4gPisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiByZWxlYXNlIGJhcnJpZXIgaGVyZSBlbnN1 cmVzDQo+PiA+PiA+PiA+KyBzdG9yZWQNCj4+ID5vcGVyYXRpb24NCj4+ID4NCj4+ID4+ID4+ID4r ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBvZiB0aGUgZXZlbnQgY29tcGxldGVz IGJlZm9yZQ0KPj4gPj4gPj4gPisgdGhlIG51bWJlcg0KPj4gPm9mDQo+PiA+DQo+PiA+PiA+PiA+ KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogcHJvY2Vzc2VkIHBrdHMgaXMgdmlz aWJsZSB0bw0KPj4gPj4gPj4gPisgdGhlIG1haW4gY29yZQ0KPj4gPg0KPj4gPj4gPj4gPisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KPj4gPg0KPj4gPj4gPj4gPisNCj4+ID4+ ID4+ID4rIF9fYXRvbWljX2ZldGNoX2FkZCgmKHctPnByb2Nlc3NlZF9wa3RzKSwNCj4+ID4xLA0K Pj4gPg0KPj4gPj4gPj4gPisNCj4+ID4+ID4+ID4rIF9fQVRPTUlDX1JFTEVBU0UpOw0KPj4gPg0K Pj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCj4+ID4NCj4+ID4+ID4+ID4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldi5xdWV1ZV9pZCsrOw0KPj4gPg0K Pj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpcGVsaW5lX2Z3 ZF9ldmVudCgmZXYsDQo+PiA+DQo+PiA+PiA+PiA+UlRFX1NDSEVEX1RZUEVfQVRPTUlDKTsNCj4+ ID4NCj4+ID4+ID4+ID5AQCAtNTksNyArNjUsMTMgQEANCj4+ID4NCj4+ID4+ID5waXBlbGluZV9x dWV1ZV93b3JrZXJfc2luZ2xlX3N0YWdlX2Z3ZCh2b2lkDQo+PiA+DQo+PiA+PiA+PiA+KmFyZykN Cj4+ID4NCj4+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgIHJ0ZV9ldmVudF9ldGhfdHhfYWRh cHRlcl90eHFfc2V0KGV2Lm1idWYsIDApOw0KPj4gPg0KPj4gPj4gPj4gPiAgICAgICAgICAgICAg ICAgICAgcGlwZWxpbmVfZndkX2V2ZW50KCZldiwNCj4+ID4+ID4+ID4gUlRFX1NDSEVEX1RZUEVf QVRPTUlDKTsNCj4+ID4NCj4+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgIHBpcGVsaW5lX2V2 ZW50X2VucXVldWUoZGV2LCBwb3J0LCAmZXYpOw0KPj4gPg0KPj4gPj4gPj4gPi0gICAgICAgICAg ICAgICAgICB3LT5wcm9jZXNzZWRfcGt0cysrOw0KPj4gPg0KPj4gPj4gPj4gPisNCj4+ID4NCj4+ ID4+ID4+ID4rICAgICAgICAgICAgICAgICAvKiByZWxlYXNlIGJhcnJpZXIgaGVyZSBlbnN1cmVz IHN0b3JlZA0KPj4gPj4gPj4gPisgb3BlcmF0aW9uDQo+PiA+DQo+PiA+PiA+PiA+KyAgICAgICAg ICAgICAgICAgKiBvZiB0aGUgZXZlbnQgY29tcGxldGVzIGJlZm9yZSB0aGUgbnVtYmVyIG9mDQo+ PiA+DQo+PiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgKiBwcm9jZXNzZWQgcGt0cyBpcyB2aXNp YmxlIHRvIHRoZSBtYWluIGNvcmUNCj4+ID4NCj4+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAq Lw0KPj4gPg0KPj4gPj4gPj4gPisgICAgICAgICAgICAgICAgIF9fYXRvbWljX2ZldGNoX2FkZCgm KHctPnByb2Nlc3NlZF9wa3RzKSwgMSwNCj4+ID4NCj4+ID4+ID4+ID4rDQo+PiA+PiA+PiA+KyBf X0FUT01JQ19SRUxFQVNFKTsNCj4+ID4NCj4+ID4+ID4+ID4gICAgfQ0KPj4gPg0KPj4gPj4gPj4g Pg0KPj4gPg0KPj4gPj4gPj4gPiAgICByZXR1cm4gMDsNCj4+ID4NCj4+ID4+ID4+ID5AQCAtODQs NyArOTYsMTMgQEANCj4+ID4NCj4+ID4+ID4+ID5waXBlbGluZV9xdWV1ZV93b3JrZXJfc2luZ2xl X3N0YWdlX2J1cnN0X3R4KHZvaWQgKmFyZykNCj4+ID4NCj4+ID4+ID4+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZbaV0uc2NoZWRfdHlwZSA9PQ0KPj4gPg0KPj4g Pj4gPj4gPlJURV9TQ0hFRF9UWVBFX0FUT01JQykgew0KPj4gPg0KPj4gPj4gPj4gPg0KPj4gPj4g Pj4gPiBwaXBlbGluZV9ldmVudF90eChkZXYsIHBvcnQsICZldltpXSk7DQo+PiA+DQo+PiA+PiA+ PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2 W2ldLm9wID0NCj4+ID4+ID4+ID4gUlRFX0VWRU5UX09QX1JFTEVBU0U7DQo+PiA+DQo+PiA+PiA+ PiA+LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdy0+ cHJvY2Vzc2VkX3BrdHMrKzsNCj4+ID4NCj4+ID4+ID4+ID4rDQo+PiA+DQo+PiA+PiA+PiA+KyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiByZWxlYXNl DQo+PiA+PiA+PiA+KyBiYXJyaWVyIGhlcmUgZW5zdXJlcyBzdG9yZWQNCj4+ID4NCj4+ID4+ID4+ ID5vcGVyYXRpb24NCj4+ID4NCj4+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICogb2YgdGhlIGV2ZW50DQo+PiA+PiA+PiA+KyBjb21wbGV0 ZXMgYmVmb3JlIHRoZQ0KPj4gPg0KPj4gPj4gPj4gPm51bWJlciBvZg0KPj4gPg0KPj4gPj4gPj4g PisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBwcm9j ZXNzZWQNCj4+ID4+ID4+ID4rIHBrdHMgaXMgdmlzaWJsZSB0byB0aGUgbWFpbg0KPj4gPg0KPj4g Pj4gPj4gPmNvcmUNCj4+ID4NCj4+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICovDQo+PiA+DQo+PiA+PiA+PiA+Kw0KPj4gPj4gPj4gPisg X19hdG9taWNfZmV0Y2hfYWRkKCYody0NCj4+ID4NCj4+ID4+ID4+ID4+cHJvY2Vzc2VkX3BrdHMp LCAxLA0KPj4gPg0KPj4gPj4gPj4gPisNCj4+ID5fX0FUT01JQ19SRUxFQVNFKTsNCj4+ID4NCj4+ ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KPj4g Pg0KPj4gPj4gPj4gPg0KPj4gPj4gPj4gPiBldltpXS5xdWV1ZV9pZCsrOw0KPj4gPg0KPj4gPj4g Pj4gPg0KPj4gPj4gPj4gPiBwaXBlbGluZV9md2RfZXZlbnQoJmV2W2ldLA0KPj4gPg0KPj4gPj4g Pj4gPkBAIC0xMjEsNyArMTM5LDEzIEBADQo+PiA+DQo+PiA+PiA+PiA+cGlwZWxpbmVfcXVldWVf d29ya2VyX3NpbmdsZV9zdGFnZV9idXJzdF9md2Qodm9pZCAqYXJnKQ0KPj4gPg0KPj4gPj4gPj4g PiAgICAgICAgICAgICAgICAgICAgfQ0KPj4gPg0KPj4gPj4gPj4gPg0KPj4gPg0KPj4gPj4gPj4g PiAgICAgICAgICAgICAgICAgICAgcGlwZWxpbmVfZXZlbnRfZW5xdWV1ZV9idXJzdChkZXYsIHBv cnQsIGV2LA0KPj4gPj4gPj4gPiBuYl9yeCk7DQo+PiA+DQo+PiA+PiA+PiA+LSAgICAgICAgICAg ICAgICAgIHctPnByb2Nlc3NlZF9wa3RzICs9IG5iX3J4Ow0KPj4gPg0KPj4gPj4gPj4gPisNCj4+ ID4NCj4+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAvKiByZWxlYXNlIGJhcnJpZXIgaGVyZSBl bnN1cmVzIHN0b3JlZA0KPj4gPj4gPj4gPisgb3BlcmF0aW9uDQo+PiA+DQo+PiA+PiA+PiA+KyAg ICAgICAgICAgICAgICAgKiBvZiB0aGUgZXZlbnQgY29tcGxldGVzIGJlZm9yZSB0aGUgbnVtYmVy IG9mDQo+PiA+DQo+PiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgKiBwcm9jZXNzZWQgcGt0cyBp cyB2aXNpYmxlIHRvIHRoZSBtYWluIGNvcmUNCj4+ID4NCj4+ID4+ID4+ID4rICAgICAgICAgICAg ICAgICAqLw0KPj4gPg0KPj4gPj4gPj4gPisgICAgICAgICAgICAgICAgIF9fYXRvbWljX2ZldGNo X2FkZCgmKHctPnByb2Nlc3NlZF9wa3RzKSwgbmJfcngsDQo+PiA+DQo+PiA+PiA+PiA+Kw0KPj4g Pj4gPj4gPisgX19BVE9NSUNfUkVMRUFTRSk7DQo+PiA+DQo+PiA+PiA+PiA+ICAgIH0NCj4+ID4N Cj4+ID4+ID4+ID4NCj4+ID4NCj4+ID4+ID4+ID4gICAgcmV0dXJuIDA7DQo+PiA+DQo+PiA+PiA+ PiA+QEAgLTE0Niw3ICsxNzAsMTMgQEANCj4+ID4NCj4+ID4+ID5waXBlbGluZV9xdWV1ZV93b3Jr ZXJfbXVsdGlfc3RhZ2VfdHgodm9pZA0KPj4gPg0KPj4gPj4gPj4gPiphcmcpDQo+PiA+DQo+PiA+ PiA+PiA+DQo+PiA+DQo+PiA+PiA+PiA+ICAgICAgICAgICAgICAgICAgICBpZiAoZXYucXVldWVf aWQgPT0gdHhfcXVldWVbZXYubWJ1Zi0+cG9ydF0pIHsNCj4+ID4NCj4+ID4+ID4+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaXBlbGluZV9ldmVudF90eChkZXYsIHBvcnQs DQo+PiA+PiA+PiA+ICZldik7DQo+PiA+DQo+PiA+PiA+PiA+LSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB3LT5wcm9jZXNzZWRfcGt0cysrOw0KPj4gPg0KPj4gPj4gPj4gPisNCj4+ ID4NCj4+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogcmVsZWFz ZSBiYXJyaWVyIGhlcmUgZW5zdXJlcw0KPj4gPj4gPj4gPisgc3RvcmVkDQo+PiA+b3BlcmF0aW9u DQo+PiA+DQo+PiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogb2Yg dGhlIGV2ZW50IGNvbXBsZXRlcyBiZWZvcmUNCj4+ID4+ID4+ID4rIHRoZSBudW1iZXINCj4+ID5v Zg0KPj4gPg0KPj4gPj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIHBy b2Nlc3NlZCBwa3RzIGlzIHZpc2libGUgdG8NCj4+ID4+ID4+ID4rIHRoZSBtYWluIGNvcmUNCj4+ ID4NCj4+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCj4+ID4N Cj4+ID4+ID4+ID4rDQo+PiA+PiA+PiA+KyBfX2F0b21pY19mZXRjaF9hZGQoJih3LT5wcm9jZXNz ZWRfcGt0cyksDQo+PiA+MSwNCj4+ID4NCj4+ID4+ID4+ID4rDQo+PiA+PiA+PiA+KyBfX0FUT01J Q19SRUxFQVNFKTsNCj4+ID4NCj4+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb250aW51ZTsNCj4+ID4NCj4+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgIH0N Cj4+ID4NCj4+ID4+ID4+ID4NCj4+ID4NCj4+ID4+ID4+ID5AQCAtMTgwLDcgKzIxMCwxMyBAQA0K Pj4gPg0KPj4gPj4gPj4gPnBpcGVsaW5lX3F1ZXVlX3dvcmtlcl9tdWx0aV9zdGFnZV9md2Qodm9p ZCAqYXJnKQ0KPj4gPg0KPj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGV2LnF1ZXVlX2lkID0NCj4+ID4+ID4+ID4gdHhfcXVldWVbZXYubWJ1Zi0+cG9ydF07DQo+ PiA+DQo+PiA+PiA+PiA+DQo+PiA+PiA+PiA+IHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl90eHFf c2V0KGV2Lm1idWYsDQo+PiA+MCk7DQo+PiA+DQo+PiA+PiA+PiA+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcGlwZWxpbmVfZndkX2V2ZW50KCZldiwNCj4+ID4NCj4+ID4+ID4+ ID5SVEVfU0NIRURfVFlQRV9BVE9NSUMpOw0KPj4gPg0KPj4gPj4gPj4gPi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdy0+cHJvY2Vzc2VkX3BrdHMrKzsNCj4+ID4NCj4+ID4+ID4+ ID4rDQo+PiA+DQo+PiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8q IHJlbGVhc2UgYmFycmllciBoZXJlIGVuc3VyZXMNCj4+ID4+ID4+ID4rIHN0b3JlZA0KPj4gPm9w ZXJhdGlvbg0KPj4gPg0KPj4gPj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAqIG9mIHRoZSBldmVudCBjb21wbGV0ZXMgYmVmb3JlDQo+PiA+PiA+PiA+KyB0aGUgbnVtYmVy DQo+PiA+b2YNCj4+ID4NCj4+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKiBwcm9jZXNzZWQgcGt0cyBpcyB2aXNpYmxlIHRvDQo+PiA+PiA+PiA+KyB0aGUgbWFpbiBj b3JlDQo+PiA+DQo+PiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICov DQo+PiA+DQo+PiA+PiA+PiA+Kw0KPj4gPj4gPj4gPisgX19hdG9taWNfZmV0Y2hfYWRkKCYody0+ cHJvY2Vzc2VkX3BrdHMpLA0KPj4gPjEsDQo+PiA+DQo+PiA+PiA+PiA+Kw0KPj4gPj4gPj4gPisg X19BVE9NSUNfUkVMRUFTRSk7DQo+PiA+DQo+PiA+PiA+PiA+ICAgICAgICAgICAgICAgICAgICB9 IGVsc2Ugew0KPj4gPg0KPj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGV2LnF1ZXVlX2lkKys7DQo+PiA+DQo+PiA+PiA+PiA+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcGlwZWxpbmVfZndkX2V2ZW50KCZldiwNCj4+ID4NCj4+ID4+ID4+ID5z Y2hlZF90eXBlX2xpc3RbY3FfaWRdKTsNCj4+ID4NCj4+ID4+ID4+ID5AQCAtMjE0LDcgKzI1MCwx MyBAQA0KPj4gPg0KPj4gPj4gPj4gPnBpcGVsaW5lX3F1ZXVlX3dvcmtlcl9tdWx0aV9zdGFnZV9i dXJzdF90eCh2b2lkICphcmcpDQo+PiA+DQo+PiA+PiA+PiA+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaWYgKGV2W2ldLnF1ZXVlX2lkID09DQo+PiA+PiA+PiA+IHR4X3F1ZXVl W2V2W2ldLm1idWYtDQo+PiA+DQo+PiA+PiA+PiA+PnBvcnRdKSB7DQo+PiA+DQo+PiA+PiA+PiA+ DQo+PiA+PiA+PiA+IHBpcGVsaW5lX2V2ZW50X3R4KGRldiwgcG9ydCwgJmV2W2ldKTsNCj4+ID4N Cj4+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZXZbaV0ub3AgPQ0KPj4gPj4gPj4gPiBSVEVfRVZFTlRfT1BfUkVMRUFTRTsNCj4+ID4N Cj4+ID4+ID4+ID4tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB3LT5wcm9jZXNzZWRfcGt0cysrOw0KPj4gPg0KPj4gPj4gPj4gPisNCj4+ID4NCj4+ID4+ ID4+ID4rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8q IHJlbGVhc2UNCj4+ID4+ID4+ID4rIGJhcnJpZXIgaGVyZSBlbnN1cmVzIHN0b3JlZA0KPj4gPg0K Pj4gPj4gPj4gPm9wZXJhdGlvbg0KPj4gPg0KPj4gPj4gPj4gPisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBvZiB0aGUgZXZlbnQNCj4+ID4+ID4+ID4r IGNvbXBsZXRlcyBiZWZvcmUgdGhlDQo+PiA+DQo+PiA+PiA+PiA+bnVtYmVyIG9mDQo+PiA+DQo+ PiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAqIHByb2Nlc3NlZA0KPj4gPj4gPj4gPisgcGt0cyBpcyB2aXNpYmxlIHRvIHRoZSBtYWluDQo+ PiA+DQo+PiA+PiA+PiA+Y29yZQ0KPj4gPg0KPj4gPj4gPj4gPisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCj4+ID4NCj4+ID4+ID4+ID4rDQo+PiA+ PiA+PiA+KyBfX2F0b21pY19mZXRjaF9hZGQoJih3LQ0KPj4gPg0KPj4gPj4gPj4gPj5wcm9jZXNz ZWRfcGt0cyksIDEsDQo+PiA+DQo+PiA+PiA+PiA+Kw0KPj4gPl9fQVRPTUlDX1JFTEVBU0UpOw0K Pj4gPg0KPj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb250aW51ZTsNCj4+ID4NCj4+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9DQo+PiA+DQo+PiA+PiA+PiA+DQo+PiA+DQo+PiA+PiA+PiA+QEAg LTI1NCw3ICsyOTYsMTMgQEANCj4+ID4NCj4+ID4+ID4+ID5waXBlbGluZV9xdWV1ZV93b3JrZXJf bXVsdGlfc3RhZ2VfYnVyc3RfZndkKHZvaWQgKmFyZykNCj4+ID4NCj4+ID4+ID4+ID4NCj4+ID4N Cj4+ID4+ID4+ID4gICAgcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX3R4cV9zZXQoZXZbaV0ubWJ1 ZiwgMCk7DQo+PiA+DQo+PiA+PiA+PiA+DQo+PiA+PiA+PiA+IHBpcGVsaW5lX2Z3ZF9ldmVudCgm ZXZbaV0sDQo+PiA+DQo+PiA+PiA+PiA+DQo+PiA+DQo+PiA+PiA+PiA+ICAgIFJURV9TQ0hFRF9U WVBFX0FUT01JQyk7DQo+PiA+DQo+PiA+PiA+PiA+LSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdy0+cHJvY2Vzc2VkX3BrdHMrKzsNCj4+ID4NCj4+ID4+ ID4+ID4rDQo+PiA+DQo+PiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAvKiByZWxlYXNlDQo+PiA+PiA+PiA+KyBiYXJyaWVyIGhlcmUgZW5z dXJlcyBzdG9yZWQNCj4+ID4NCj4+ID4+ID4+ID5vcGVyYXRpb24NCj4+ID4NCj4+ID4+ID4+ID4r ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogb2YgdGhl IGV2ZW50DQo+PiA+PiA+PiA+KyBjb21wbGV0ZXMgYmVmb3JlIHRoZQ0KPj4gPg0KPj4gPj4gPj4g Pm51bWJlciBvZg0KPj4gPg0KPj4gPj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKiBwcm9jZXNzZWQNCj4+ID4+ID4+ID4rIHBrdHMgaXMgdmlz aWJsZSB0byB0aGUgbWFpbg0KPj4gPg0KPj4gPj4gPj4gPmNvcmUNCj4+ID4NCj4+ID4+ID4+ID4r ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQo+PiA+ DQo+PiA+PiA+PiA+Kw0KPj4gPj4gPj4gPisgX19hdG9taWNfZmV0Y2hfYWRkKCYody0NCj4+ID4N Cj4+ID4+ID4+ID4+cHJvY2Vzc2VkX3BrdHMpLCAxLA0KPj4gPg0KPj4gPj4gPj4gPisNCj4+ID5f X0FUT01JQ19SRUxFQVNFKTsNCj4+ID4NCj4+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9IGVsc2Ugew0KPj4gPg0KPj4gPj4gPj4gPg0KPj4gPj4gPj4gPiBldltp XS5xdWV1ZV9pZCsrOw0KPj4gPg0KPj4gPj4gPj4gPg0KPj4gPj4gPj4gPiBwaXBlbGluZV9md2Rf ZXZlbnQoJmV2W2ldLA0KPj4gPg0KPj4gPj4gPj4gPi0tDQo+PiA+DQo+PiA+PiA+PiA+Mi4xNy4x DQo+PiA+DQoNCg==