From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8974DA034F; Fri, 26 Feb 2021 09:01:42 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 27D0A407FF; Fri, 26 Feb 2021 09:01:42 +0100 (CET) Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30074.outbound.protection.outlook.com [40.107.3.74]) by mails.dpdk.org (Postfix) with ESMTP id 23C6740692 for ; Fri, 26 Feb 2021 09:01:40 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CcAtM2H73OnF1FmCwD0i3bp11jnFwwvy58ZyH0T2t27hC7QTsLT5n7qjjiEWUKb05mXs0NhPtzR7a2oKTb8Az8ylXcar2Aonst8scrZMrWKS1i8UDPAk953XeQAoRd9eRpmQToy+DQNEXkl+PUvI3yDDEA0U5UXom23YkupcuYSqx8shuH9Xo7A+cIYNB1LPgKHR5Ru9cDQMkoDlV5mnBFeNg4liQv9RHOTF2r5e8q1GNjSh939+nlXwf28Jp9eH099UskT62CQug6TF6UnB/7Uni3x/nnnYoaIIUTyzfVGr3o7WZCsn+TcjJ5PPV8vdk0OtyW3C4npIEa3qtIvRpQ== 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=C69dU47FAzsqKDNdHCny4h4/dtTbQ0xeS5ZIXtMoFgA=; b=WXe63IyWpKHQ5CQ28LPT40TwczPmlE1mGZL3mmIuc4UM/ECiv/kVU2nu8WMajGBZsDcogXDnpw8CsOvjSGKuMWwzXmyT8t6PcDC2zenv/GWmle72HsZOAIv/zSG+yY+udA8B2uqoGsJKo3jYlmdS5H19FaIftaZ3l8KDk7+odPGwU6NKUsVMUOCcO9keOAshxrA/Zl5uX93QvMeCfWeW3DxIL85cS38+OhhQs850+I5Uausb4yTGm1qSY2ZgM9yLx/R5OOMbDbkdEsKcNlLZew73G/Yzif7I7mufDHEITOHTQH29iQ88U8MA4i0BNtCw5l5RZep3S9Xdh9WcpS737g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=C69dU47FAzsqKDNdHCny4h4/dtTbQ0xeS5ZIXtMoFgA=; b=ts8SfGScrg5nelWLeAiMcXDcw1tT01o2abNz1gnqdv6uPtYCjnfZkzQf0WuGMAVGV/U5RbTy9o442SnJGQQiXF0JuTBEzvzUCs+QiIkR3mwWMbJlYhfHJ6B2qf60vyBsAWn8m/Xe/Z5gmFMgvm+hn8w/a1ge0EbU6teFWPe8XQY= Received: from (2603:10a6:803:d2::33) by VI1PR07MB3503.eurprd07.prod.outlook.com (2603:10a6:802:1b::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3846.21; Fri, 26 Feb 2021 08:01:38 +0000 Received: from VI1PR07MB5983.eurprd07.prod.outlook.com ([fe80::3127:ef7b:af01:2ccd]) by VI1PR07MB5983.eurprd07.prod.outlook.com ([fe80::3127:ef7b:af01:2ccd%7]) with mapi id 15.20.3912.009; Fri, 26 Feb 2021 08:01:38 +0000 From: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= To: Jerin Jacob CC: Jerin Jacob , dpdk-dev , "Richardson, Bruce" Thread-Topic: [dpdk-dev] [RFC] eventdev: introduce event dispatcher Thread-Index: AQHXBiQf9yzrG9vVkEm8iOSCE+QTI6po2CcAgAFGx4A= Date: Fri, 26 Feb 2021 08:01:37 +0000 Message-ID: References: <20210218183011.254447-1-mattias.ronnblom@ericsson.com> In-Reply-To: Accept-Language: sv-SE, en-US Content-Language: sv-SE X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=ericsson.com; x-originating-ip: [62.63.215.114] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 96c7ffb1-910b-41aa-7ab4-08d8da2cbe69 x-ms-traffictypediagnostic: VI1PR07MB3503: x-ms-exchange-minimumurldomainage: dpdk.org#2944 x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7219; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: c5+gej89vlGeHXxGRobrbC9lMFsr60mhb47EG0RwjBonXyeaNieR1+DRSUAzxF8VWnHo654NSMehjV3+pW1R4sK7qMqShmKqM5zV2clI2wPrmYxiYBdZohjM4MTkDjSuoshwvYfTrl8qCh5Uk0jGGw3Qv+fPKfPQOyS+19ayYO9FuXzAwzFlW/HLUx8BzN5FbQhK6fhu4GWZHj/qZ3djXtEiNzimAFhFrTjq9nQfC8tTv9dpz8KsQX9H3yo5SaOUBCwBgWl6ksiZEPrgDgTNnWVGQ4vn+gvQqZJjByntlICVBjjBPIt2vWJZVuOxDE027ZW7m2UKR9EpKpOTbNoEOlq9xKf87l/5F/JlVCldERqyAfZAsfzwD6V2jU8zBYP4OWTG73RqBGSQ+1pShLeGIY4h2jP6HQQGrm1JNLfyjzHj+lB9F5taKD50jjq/M0vh4Uoy57n2eGVsjlzbbmNqoXH72SDA2TwaGIs2EB61kE1AhS6ySmyyCECBViiDIM6Gz5i3zno7TQRxNbGcTZu5GIcrUuYVWCHOiOEJvZ/t5m7X94MYI1qmVkexMoSFR7u/VbcjpJMqcZuGBMewBKRGtk9CyAa+RByGcV07Wyo8A9S8DXYBISKqwDb4HnIoNkRhBBuGpQamBsjmlriQ6F4U/u4O3C704nOKlIJHXEwATD7HLI7SwlxsOqEtNG16DUgD x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR07MB5983.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(346002)(376002)(39860400002)(396003)(366004)(6512007)(5660300002)(4326008)(53546011)(64756008)(31686004)(83380400001)(85202003)(71200400001)(36756003)(8676002)(478600001)(66946007)(966005)(8936002)(31696002)(6486002)(2616005)(316002)(30864003)(76116006)(186003)(26005)(66476007)(86362001)(6506007)(54906003)(85182001)(66446008)(2906002)(66574015)(91956017)(66556008)(6916009)(45980500001)(43740500002)(579004)(559001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?dEgrdzU5dDRsSUxERHFlWDlKZnAzM3BQRTF5L2ZNT0NDUERDWGNocnN2ZmZm?= =?utf-8?B?SnZTQktiUm5jVzBNanNuVFlJbVEwb2lGeTdMV3B2eHNzd1pwMnhDbEJXNU5h?= =?utf-8?B?V1ljV2JSOU9mZkdPZE16L1Bya0NIdXRjU0I3MkdJYkJIMjV4MThjL3RLWVp5?= =?utf-8?B?bmZBNmY0NUNiVnFzeklpNktLdVhBN09LcUJXVkZPdlRBQUJmclkrOW4xeTdK?= =?utf-8?B?NEw0ZmRWRzhnQVZuVEI1N0JYWVAyeTV4R1NXaUx0VW1EN2Jvd1A4TEJWZGNo?= =?utf-8?B?YWNUZjVSdEpPUjFLVEIwLy9hT3FoSkR4WGcrTHRud2FYZktncHdNQTBhK0sr?= =?utf-8?B?aE5lNmRTWlA5NnVUOFFBZVp4c25zY3AxcDJUazBGRnhTKzFtd2E1TEtweEp1?= =?utf-8?B?bjNodVZSM2VpQ2ZZZmpXMlpJLzVibHoxcFM1N0kwUGx0NkwxR2NJWEpXTjY2?= =?utf-8?B?cEdzRzJXTFpuOHkySlQ1TzJoNnpPeXpNRnMwUmZQVUkwZ3JjYWI1M0RkYmJo?= =?utf-8?B?T3VWNTFZRUxpTDNOeFh0NUJmRkZPdzVqWjBUZWVlZ2VlVEZ1bFRJVHhicUtL?= =?utf-8?B?NTh2OUtJQWgxOFFRcjhZNGRxMVZjZ2pZdTRVTWh4dkplbUZDYm16VHVIY2FN?= =?utf-8?B?MGdtcDhjbmpKUVlDYXJTdjhwL1llUElySmxNZzE5eGxSaVJNYkFlMXFhcW4y?= =?utf-8?B?cVZZL1diMGN5VUJpUW5pYW9hTWlWcmRyMXdvTERJZktFd3JXSjlxWm90bCtI?= =?utf-8?B?NXpHaTZKbXNTT3AxdE1IbUZIaER3S09lU0FycW5PaFJhV1ZGd2owVjdiNyty?= =?utf-8?B?cUFoenkxSFNLSndibmMyRG5ub0NqVW0yRkRQd0dxaE5WenJLdHBzaEZ1WGxL?= =?utf-8?B?MHBJemZrQ0kzN21pd3l3U2xPbkZRcThUdjhUcHh5aEkySFVxalJUMVlsY05o?= =?utf-8?B?b2phZEhXck15RFF1cEt1REQzSmQvVWlrb3l0MGtpaGE4eTZNL3VwS3o1aUlo?= =?utf-8?B?eVNTMGx5ZFhEQkFZZWVNcWdNQnJzSCtaTUF0N29aVzl2dEdIL3V4UzIxR1dC?= =?utf-8?B?eXdUWHo4SWRVZkcvNHRGVWllY0VIeVp6RDRXUWRyWUJxNkoxaDhHUHFXVllt?= =?utf-8?B?QlkxR3doVDk2d3NQcFFOUGRQWHRMU01tVVEwem1sWEErV2pGTUtIVFU2Vk5j?= =?utf-8?B?Mm1mSGc5WHYyZHJUd3pJUzNiUWFIU1BKTFg1U2l0MUJsTjRDWk9HTk94OCtJ?= =?utf-8?B?OStiY1oyWDREMzYzd0JMeFh0aFVUeEZsWk5GdlZVUXZPcGRtemNsb0JTWm5X?= =?utf-8?B?ZDQ1cG5SdFJneWxiWlR1VVA4a3ZkZjJkUHM3aFU4bEo3Skp5NFJJOFNINS9R?= =?utf-8?B?cXE4OFpEb2N4TlBOYmZhNVJhNHQvMXEwb3dwaDV2YjBIbkFTV2tORmlteUhW?= =?utf-8?B?d0RjZVZ4ZEpORmZjNVZvUURaZmdpMWtzNkhXbmlGOTk0Wkh2NnAxNnNiNUgw?= =?utf-8?B?cmVrblFlbUtydGtyeFpPWGJwZ3Qra1E3aVhSSjR3YnJ0RnptZDU2a28zWHEw?= =?utf-8?B?YXdxeUhnYnBZV0dmRXl4cExYbXhQMzZObXNDclN2cGdYZ2NQQVRqM0tXS1V2?= =?utf-8?B?TFowRUNVM05sSGFtcUViOXpLRnV2M215N2w1cVZUY1I0Q0FLaXRuazFRcHMz?= =?utf-8?B?dWQzT3RoTTlOdFMxQnMyOTR5Sk11U25Ic01jMTU0ZHp2aUhSdk5EN3NucWh1?= =?utf-8?Q?I/euvOoV5yMOgzu0v6zTXYUzOBu+h8i3xHhaLua?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: ericsson.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: VI1PR07MB5983.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 96c7ffb1-910b-41aa-7ab4-08d8da2cbe69 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Feb 2021 08:01:37.9335 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 4COiMgzk9fRO91FE6G3qIRymMCrEpapo61WxezYhH5PDJnRpRAbteRX4XPaUsjnBFRQ6TZqj9+BCO6H3Qi+mbL3cExAjXl6KMHsaAtw+E3A= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR07MB3503 Subject: Re: [dpdk-dev] [RFC] eventdev: introduce event dispatcher 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" T24gMjAyMS0wMi0yNSAxMzozMiwgSmVyaW4gSmFjb2Igd3JvdGU6DQo+IE9uIEZyaSwgRmViIDE5 LCAyMDIxIGF0IDEyOjAwIEFNIE1hdHRpYXMgUsO2bm5ibG9tDQo+IDxtYXR0aWFzLnJvbm5ibG9t QGVyaWNzc29uLmNvbT4gd3JvdGU6DQo+PiBUaGUgcHVycG9zZSBvZiB0aGUgZXZlbnQgZGlzcGF0 Y2hlciBpcyBwcmltYXJpbHkgdG8gZGVjb3VwbGUgZGlmZmVyZW50DQo+PiBwYXJ0cyBvZiBhbiBh cHBsaWNhdGlvbiAoZS5nLiwgcHJvY2Vzc2luZyBwaXBlbGluZSBzdGFnZXMpLCB3aGljaA0KPj4g c2hhcmUgdGhlIHNhbWUgdW5kZXJseWluZyBldmVudCBkZXZpY2UuDQo+Pg0KPj4gVGhlIGV2ZW50 IGRpc3BhdGNoZXIgcmVwbGFjZXMgdGhlIGNvbmRpdGlvbmFsIGxvZ2ljIChvZnRlbiwgYSBzd2l0 Y2gNCj4+IHN0YXRlbWVudCkgdGhhdCB0eXBpY2FsbHkgZm9sbG93cyBhbiBldmVudCBkZXZpY2Ug ZGVxdWV1ZSBvcGVyYXRpb24sDQo+PiB3aGVyZSBldmVudHMgYXJlIGRpc3BhdGNoZWQgdG8gZGlm ZmVyZW50IHBhcnRzIG9mIHRoZSBhcHBsaWNhdGlvbg0KPj4gYmFzZWQgb24gdGhlIGRlc3RpbmF0 aW9uIHF1ZXVlIGlkLg0KPiAjIElmIHRoZSBkZXZpY2UgaGFzIGFsbCB0eXBlIHF1ZXVlWzFdIHRo aXMgUkZDIHdvdWxkIHJlc3RyaWN0IHRvDQo+IHVzZSBxdWV1ZSBPTkxZIGFzIHN0YWdlLiBBIHN0 YWdlIGNhbiBiZSBhIFF1ZXVlIFR5cGUgYWxzby4NCj4gSG93IHdlIGNhbiBhYnN0cmFjdCB0aGlz IGluIHRoaXMgbW9kZWw/DQoNCg0KIkFsbCBxdWV1ZSB0eXBlIiBpcyBhYm91dCBzY2hlZHVsaW5n IHBvbGljeS4gSSB3b3VsZCB0aGluayB0aGF0IHdvdWxkIGJlIA0KaW5kZXBlbmRlbnQgb2YgdGhl ICJsb2dpY2FsIGVuZHBvaW50IiBvZiB0aGUgZXZlbnQgKGkuZS4sIHRoZSBxdWV1ZSBpZCkuIA0K SSBmZWVsIGxpa2UgSSdtIG1pc3Npbmcgc29tZXRoaW5nIGhlcmUuDQoNCg0KPiAjIEFsc28sIEkg dGhpbmssIGl0IG1heSBtYWtlIHNlbnNlIHRvIGFkZCB0aGlzIHR5cGUgb2YgaW5mcmFzdHJ1Y3R1 cmUgYXMNCj4gaGVscGVyIGZ1bmN0aW9ucyBhcyB0aGVzZSBhcmUgYnVpbHQgb24gdG9wIG9mIGV4 aXN0aW5nIEFQSXMgaS5lIFRoZXJlDQo+IGlzIG5vIHN1cHBvcnQNCj4gcmVxdWlyZWQgZnJvbSB0 aGUgZHJpdmVyIHRvIGVzdGFibGlzaCB0aGlzIG1vZGVsLiBJTU8sIElmIHdlIG5lZWQgdG8NCj4g YWRkIHN1Y2ggc3VwcG9ydCBhcw0KPiBvbmUgZml4ZWQgc2V0IG9mIGZ1bmN0aW9uYWxpdHksIHdl IGNvdWxkIGhhdmUgaGVscGVyIEFQSXMgdG8gZXhwcmVzcyBhIGNlcnRhaW4NCj4gdXNhZ2Ugb2Yg ZXZlbnRkZXYuIFJhdGhlciBkZWZpbmluZyB0aGUgdGhhdCdzIG9ubHkgd2F5IHRvIGRvIHRoaXMu DQo+IEkgdGhpbmssIEEgaGVscGVyIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIGFzIGFic3RyYWN0 aW9uIHRvIGRlZmluZQ0KPiB0aGlzIGtpbmQgb2YgbW9kZWwuDQo+DQo+ICMgQWxzbywgVGhlcmUg aXMgZnVuY3Rpb24gcG9pbnRlciBvdmVyaGVhZCBhbmQgYWdncmVnYXRpbmcgdGhlIGV2ZW50cw0K PiBpbiBpbXBsZW1lbnRhdGlvbiwNCj4gVGhhdCBtYXkgYmUgbm90IGFsd2F5cyAidGhlIiBvcHRp bWl6ZWQgbW9kZWwgb2YgbWFraW5nIGl0IHdvcmsgdnMgc3dpdGNoIGNhc2UgaW4NCj4gYXBwbGlj YXRpb24uDQoNCg0KU3VyZSwgYnV0IHdoYXQgdG8gZG8gaW4gYSByZWFzb25hYmxlIGdlbmVyaWMg ZnJhbWV3b3JrPw0KDQoNCklmIHlvdSBhcmUgdmVyeSBzZW5zaXRpdmUgdG8gdGhhdCAyMCBjYyBv ciB3aGF0ZXZlciBmdW5jdGlvbiBwb2ludGVyIA0KY2FsbCwgeW91IHdvbid0IHVzZSB0aGlzIGxp YnJhcnkuIE9yIHlvdSB3aWxsLCBhbmQgdXNlIHN0YXRpYyBsaW5raW5nIA0KYW5kIExUTyB0byBn ZXQgcmlkIG9mIHRoYXQgb3ZlcmhlYWQuDQoNCg0KUHJvYmFibHksIHlvdSBoYXZlIGEgZmV3IHF1 ZXVlcywgbm90IG1hbnkuIFByb2JhYmx5LCB5b3VyIGRlcXVldWUgYnVyc3RzIA0KYXJlIGxhcmdl LCBpZiB0aGUgc3lzdGVtIGxvYWQgaXMgaGlnaCAoYW5kIG90aGVyd2lzZSwgeW91IGRvbid0IGNh cmUgDQphYm91dCBlZmZpY2llbmN5KS4gVGhlbiwgeW91IHdpbGwgaGF2ZSBhdCBsZWFzdCBvZiBj b3VwbGUgb2YgZXZlbnRzIHBlciANCmZ1bmN0aW9uIGNhbGwuDQoNCg0KPg0KPiBbMV0NCj4gU2Vl IFJURV9FVkVOVF9ERVZfQ0FQX1FVRVVFX0FMTF9UWVBFUyBpbg0KPiBodHRwczovL3Byb3RlY3Qy LmZpcmVleWUuY29tL3YxL3VybD9rPWRjZjNhMmI5LTgzNjg5Yjk0LWRjZjNlMjIyLTg2OTJkYzgy ODRjYi01YmExOTgxM2ExNTU2YTg1JnE9MSZlPTBmZjE4NjFmLThlMjQtNDUzYy1hOTNiLTczZmQ4 OGUwZjMxNiZ1PWh0dHBzJTNBJTJGJTJGZG9jLmRwZGsub3JnJTJGZ3VpZGVzJTJGcHJvZ19ndWlk ZSUyRmV2ZW50ZGV2Lmh0bWwNCj4NCj4NCj4+IFRoZSBjb25jZXB0IGlzIHNpbWlsYXIgdG8gYSBV TklYIGZpbGUgZGVzY3JpcHRvciBldmVudCBsb29wIGxpYnJhcnkuDQo+PiBJbnN0ZWFkIG9mIHR5 aW5nIGNhbGxiYWNrIGZ1bmN0aW9ucyB0byBmZHMgYXMgZm9yIGV4YW1wbGUgbGliZXZlbnQNCj4+ IGRvZXMsIHRoZSBldmVudCBkaXNwYXRjaGVyIGJpbmRzIGNhbGxiYWNrcyB0byBxdWV1ZSBpZHMu DQo+Pg0KPj4gQW4gZXZlbnQgZGlzcGF0Y2hlciBpcyBjb25maWd1cmVkIHRvIGRlcXVldWUgZXZl bnRzIGZyb20gYSBzcGVjaWZpYw0KPj4gZXZlbnQgZGV2aWNlLCBhbmQgdGllcyBpbnRvIHRoZSBz ZXJ2aWNlIGNvcmUgZnJhbWV3b3JrLCB0byBkbyBpdHMgKGFuZA0KPj4gdGhlIGFwcGxpY2F0aW9u J3MpIHdvcmsuDQo+Pg0KPj4gVGhlIGV2ZW50IGRpc3BhdGNoZXIgcHJvdmlkZXMgYSBjb252ZW5p ZW50IHdheSBmb3IgYW4gZXZlbnRkZXYtYmFzZWQNCj4+IGFwcGxpY2F0aW9uIHRvIHVzZSBzZXJ2 aWNlIGNvcmVzIGZvciBhcHBsaWNhdGlvbi1sZXZlbCBwcm9jZXNzaW5nLCBhbmQNCj4+IHRodXMg Zm9yIHNoYXJpbmcgdGhvc2UgY29yZXMgd2l0aCBvdGhlciBEUERLIHNlcnZpY2VzLg0KPj4NCj4+ IFNpZ25lZC1vZmYtYnk6IE1hdHRpYXMgUsO2bm5ibG9tIDxtYXR0aWFzLnJvbm5ibG9tQGVyaWNz c29uLmNvbT4NCj4+IC0tLQ0KPj4gICBsaWIvbGlicnRlX2V2ZW50ZGV2L01ha2VmaWxlICAgICAg ICAgICAgICAgICB8ICAgMiArDQo+PiAgIGxpYi9saWJydGVfZXZlbnRkZXYvbWVzb24uYnVpbGQg ICAgICAgICAgICAgIHwgICA2ICstDQo+PiAgIGxpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50 X2Rpc3BhdGNoZXIuYyAgIHwgNDIwICsrKysrKysrKysrKysrKysrKysNCj4+ICAgbGliL2xpYnJ0 ZV9ldmVudGRldi9ydGVfZXZlbnRfZGlzcGF0Y2hlci5oICAgfCAyNTEgKysrKysrKysrKysNCj4+ ICAgbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXZfdmVyc2lvbi5tYXAgfCAgMTAgKw0K Pj4gICA1IGZpbGVzIGNoYW5nZWQsIDY4NyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQ0K Pj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRfZGlz cGF0Y2hlci5jDQo+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIvbGlicnRlX2V2ZW50ZGV2L3J0 ZV9ldmVudF9kaXNwYXRjaGVyLmgNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9ldmVu dGRldi9NYWtlZmlsZSBiL2xpYi9saWJydGVfZXZlbnRkZXYvTWFrZWZpbGUNCj4+IGluZGV4IDA3 MTUyNTZiYjQuLjYxNGQ1M2FmMWIgMTAwNjQ0DQo+PiAtLS0gYS9saWIvbGlicnRlX2V2ZW50ZGV2 L01ha2VmaWxlDQo+PiArKysgYi9saWIvbGlicnRlX2V2ZW50ZGV2L01ha2VmaWxlDQo+PiBAQCAt MjYsNiArMjYsNyBAQCBTUkNTLXkgKz0gcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyLmMNCj4+ICAg U1JDUy15ICs9IHJ0ZV9ldmVudF90aW1lcl9hZGFwdGVyLmMNCj4+ICAgU1JDUy15ICs9IHJ0ZV9l dmVudF9jcnlwdG9fYWRhcHRlci5jDQo+PiAgIFNSQ1MteSArPSBydGVfZXZlbnRfZXRoX3R4X2Fk YXB0ZXIuYw0KPj4gK1NSQ1MteSArPSBydGVfZXZlbnRfZGlzcGF0Y2hlci5jDQo+Pg0KPj4gICAj IGV4cG9ydCBpbmNsdWRlIGZpbGVzDQo+PiAgIFNZTUxJTksteS1pbmNsdWRlICs9IHJ0ZV9ldmVu dGRldi5oDQo+PiBAQCAtNDAsNiArNDEsNyBAQCBTWU1MSU5LLXktaW5jbHVkZSArPSBydGVfZXZl bnRfdGltZXJfYWRhcHRlci5oDQo+PiAgIFNZTUxJTksteS1pbmNsdWRlICs9IHJ0ZV9ldmVudF90 aW1lcl9hZGFwdGVyX3BtZC5oDQo+PiAgIFNZTUxJTksteS1pbmNsdWRlICs9IHJ0ZV9ldmVudF9j cnlwdG9fYWRhcHRlci5oDQo+PiAgIFNZTUxJTksteS1pbmNsdWRlICs9IHJ0ZV9ldmVudF9ldGhf dHhfYWRhcHRlci5oDQo+PiArU1lNTElOSy15LWluY2x1ZGUgKz0gcnRlX2V2ZW50X2Rpc3BhdGNo ZXIuaA0KPj4NCj4+ICAgIyB2ZXJzaW9uaW5nIGV4cG9ydCBtYXANCj4+ICAgRVhQT1JUX01BUCA6 PSBydGVfZXZlbnRkZXZfdmVyc2lvbi5tYXANCj4+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX2V2 ZW50ZGV2L21lc29uLmJ1aWxkIGIvbGliL2xpYnJ0ZV9ldmVudGRldi9tZXNvbi5idWlsZA0KPj4g aW5kZXggZDFmMjVlZTVjYS4uMmNhODE5ODNiNSAxMDA2NDQNCj4+IC0tLSBhL2xpYi9saWJydGVf ZXZlbnRkZXYvbWVzb24uYnVpbGQNCj4+ICsrKyBiL2xpYi9saWJydGVfZXZlbnRkZXYvbWVzb24u YnVpbGQNCj4+IEBAIC0xMyw3ICsxMyw4IEBAIHNvdXJjZXMgPSBmaWxlcygncnRlX2V2ZW50ZGV2 LmMnLA0KPj4gICAgICAgICAgICAgICAgICAncnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyLmMnLA0K Pj4gICAgICAgICAgICAgICAgICAncnRlX2V2ZW50X3RpbWVyX2FkYXB0ZXIuYycsDQo+PiAgICAg ICAgICAgICAgICAgICdydGVfZXZlbnRfY3J5cHRvX2FkYXB0ZXIuYycsDQo+PiAtICAgICAgICAg ICAgICAgJ3J0ZV9ldmVudF9ldGhfdHhfYWRhcHRlci5jJykNCj4+ICsgICAgICAgICAgICAgICAn cnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyLmMnLA0KPj4gKyAgICAgICAgICAgICAgICdydGVfZXZl bnRfZGlzcGF0Y2hlci5jJykNCj4+ICAgaGVhZGVycyA9IGZpbGVzKCdydGVfZXZlbnRkZXYuaCcs DQo+PiAgICAgICAgICAgICAgICAgICdydGVfZXZlbnRkZXZfcG1kLmgnLA0KPj4gICAgICAgICAg ICAgICAgICAncnRlX2V2ZW50ZGV2X3BtZF9wY2kuaCcsDQo+PiBAQCAtMjUsNSArMjYsNiBAQCBo ZWFkZXJzID0gZmlsZXMoJ3J0ZV9ldmVudGRldi5oJywNCj4+ICAgICAgICAgICAgICAgICAgJ3J0 ZV9ldmVudF90aW1lcl9hZGFwdGVyLmgnLA0KPj4gICAgICAgICAgICAgICAgICAncnRlX2V2ZW50 X3RpbWVyX2FkYXB0ZXJfcG1kLmgnLA0KPj4gICAgICAgICAgICAgICAgICAncnRlX2V2ZW50X2Ny eXB0b19hZGFwdGVyLmgnLA0KPj4gLSAgICAgICAgICAgICAgICdydGVfZXZlbnRfZXRoX3R4X2Fk YXB0ZXIuaCcpDQo+PiArICAgICAgICAgICAgICAgJ3J0ZV9ldmVudF9ldGhfdHhfYWRhcHRlci5o JywNCj4+ICsgICAgICAgICAgICAgICAncnRlX2V2ZW50X2Rpc3BhdGNoZXIuaCcpDQo+PiAgIGRl cHMgKz0gWydyaW5nJywgJ2V0aGRldicsICdoYXNoJywgJ21lbXBvb2wnLCAnbWJ1ZicsICd0aW1l cicsICdjcnlwdG9kZXYnXQ0KPj4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfZXZlbnRkZXYvcnRl X2V2ZW50X2Rpc3BhdGNoZXIuYyBiL2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50X2Rpc3Bh dGNoZXIuYw0KPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4+IGluZGV4IDAwMDAwMDAwMDAuLjFj N2U1NWE3NTINCj4+IC0tLSAvZGV2L251bGwNCj4+ICsrKyBiL2xpYi9saWJydGVfZXZlbnRkZXYv cnRlX2V2ZW50X2Rpc3BhdGNoZXIuYw0KPj4gQEAgLTAsMCArMSw0MjAgQEANCj4+ICsvKiBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlDQo+PiArICogQ29weXJpZ2h0KGMpIDIw MjEgRXJpY3Nzb24gQUINCj4+ICsgKi8NCj4+ICsNCj4+ICsjaW5jbHVkZSA8c3RkYm9vbC5oPg0K Pj4gKyNpbmNsdWRlIDxzdGRpbnQuaD4NCj4+ICsNCj4+ICsjaW5jbHVkZSA8cnRlX2xjb3JlLmg+ DQo+PiArI2luY2x1ZGUgPHJ0ZV9zZXJ2aWNlX2NvbXBvbmVudC5oPg0KPj4gKyNpbmNsdWRlIDxy dGVfZXZlbnRkZXZfcG1kLmg+DQo+PiArDQo+PiArI2luY2x1ZGUgPHJ0ZV9ldmVudF9kaXNwYXRj aGVyLmg+DQo+PiArDQo+PiArI2RlZmluZSBSRURfTUFYX1BPUlRTX1BFUl9MQ09SRSAoNCkNCj4+ ICsNCj4+ICtzdHJ1Y3QgcnRlX2V2ZW50X2Rpc3BhdGNoZXJfbGNvcmVfcG9ydCB7DQo+PiArICAg ICAgIHVpbnQ4X3QgcG9ydF9pZDsNCj4+ICsgICAgICAgdWludDE2X3QgYmF0Y2hfc2l6ZTsNCj4+ ICsgICAgICAgdWludDY0X3QgdGltZW91dDsNCj4+ICt9Ow0KPj4gKw0KPj4gK3N0cnVjdCBydGVf ZXZlbnRfZGlzcGF0Y2hlcl9sY29yZSB7DQo+PiArICAgICAgIHVpbnQ4X3QgbnVtX3BvcnRzOw0K Pj4gKyAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50X2Rpc3BhdGNoZXJfbGNvcmVfcG9ydCBwb3J0c1tS RURfTUFYX1BPUlRTX1BFUl9MQ09SRV07DQo+PiArfTsNCj4+ICsNCj4+ICtzdHJ1Y3QgcnRlX2V2 ZW50X2Rpc3BhdGNoZXJfY2Igew0KPj4gKyAgICAgICBydGVfZXZlbnRfZGlzcGF0Y2hlcl9jYl90 IGNiX2Z1bjsNCj4+ICsgICAgICAgdm9pZCAqY2JfZGF0YTsNCj4+ICt9Ow0KPj4gKw0KPj4gK3N0 cnVjdCBydGVfZXZlbnRfZGlzcGF0Y2hlciB7DQo+PiArICAgICAgIHVpbnQ4X3QgaWQ7DQo+PiAr ICAgICAgIHVpbnQ4X3QgZXZlbnRfZGV2X2lkOw0KPj4gKyAgICAgICBpbnQgc29ja2V0X2lkOw0K Pj4gKyAgICAgICB1aW50MzJfdCBzZXJ2aWNlX2lkOw0KPj4gKyAgICAgICBzdHJ1Y3QgcnRlX2V2 ZW50X2Rpc3BhdGNoZXJfbGNvcmUgbGNvcmVzW1JURV9NQVhfTENPUkVdOw0KPj4gKyAgICAgICBz dHJ1Y3QgcnRlX2V2ZW50X2Rpc3BhdGNoZXJfY2IgcXVldWVfY2JzW1VJTlQ4X01BWF07DQo+PiAr ICAgICAgIHN0cnVjdCBydGVfZXZlbnRfZGlzcGF0Y2hlcl9jYiBmYWxsYmFjazsNCj4+ICt9Ow0K Pj4gKw0KPj4gK3N0YXRpYyBzdHJ1Y3QgcnRlX2V2ZW50X2Rpc3BhdGNoZXIgKmRpc3BhdGNoZXJz W1VJTlQ4X01BWF07DQo+PiArDQo+PiArc3RhdGljIGJvb2wNCj4+ICtyZWRfaGFzX2Rpc3BhdGNo ZXIodWludDhfdCBpZCkNCj4+ICt7DQo+PiArICAgICAgIHJldHVybiBkaXNwYXRjaGVyc1tpZF0g IT0gTlVMTDsNCj4+ICt9DQo+PiArDQo+PiArc3RhdGljIHN0cnVjdCBydGVfZXZlbnRfZGlzcGF0 Y2hlciAqDQo+PiArcmVkX2dldF9kaXNwYXRjaGVyKHVpbnQ4X3QgaWQpDQo+PiArew0KPj4gKyAg ICAgICByZXR1cm4gZGlzcGF0Y2hlcnNbaWRdOw0KPj4gK30NCj4+ICsNCj4+ICtzdGF0aWMgdm9p ZA0KPj4gK3JlZF9zZXRfZGlzcGF0Y2hlcih1aW50OF90IGlkLCBzdHJ1Y3QgcnRlX2V2ZW50X2Rp c3BhdGNoZXIgKmRpc3BhdGNoZXIpDQo+PiArew0KPj4gKyAgICAgICBkaXNwYXRjaGVyc1tpZF0g PSBkaXNwYXRjaGVyOw0KPj4gK30NCj4+ICsNCj4+ICsjZGVmaW5lIFJFRF9WQUxJRF9JRF9PUl9S RVRfRUlOVkFMKGlkKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4+ICsgICAg ICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwNCj4+ICsgICAgICAgICAgICAgICBpZiAodW5saWtlbHkoIXJlZF9oYXNfZGlz cGF0Y2hlcihpZCkpKSB7ICAgICAgICAgICAgICAgIFwNCj4+ICsgICAgICAgICAgICAgICAgICAg ICAgIFJURV9FREVWX0xPR19FUlIoIkludmFsaWQgZGlzcGF0Y2hlciBpZCAlZFxuIiwgaWQpOyBc DQo+PiArICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcDQo+PiArICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+PiArICAgICAgIH0g d2hpbGUgKDApDQo+PiArDQo+PiArc3RhdGljIHN0cnVjdCBydGVfZXZlbnRfZGlzcGF0Y2hlcl9j YiAqDQo+PiArcmVkX2xvb2t1cF9jYihzdHJ1Y3QgcnRlX2V2ZW50X2Rpc3BhdGNoZXIgKmRpc3Bh dGNoZXIsIHVpbnQ4X3QgcXVldWVfaWQpDQo+PiArew0KPj4gKyAgICAgICBzdHJ1Y3QgcnRlX2V2 ZW50X2Rpc3BhdGNoZXJfY2IgKmNiID0gJmRpc3BhdGNoZXItPnF1ZXVlX2Nic1txdWV1ZV9pZF07 DQo+PiArDQo+PiArICAgICAgIGlmICh1bmxpa2VseShjYi0+Y2JfZnVuID09IE5VTEwpKQ0KPj4g KyAgICAgICAgICAgY2IgPSAmZGlzcGF0Y2hlci0+ZmFsbGJhY2s7DQo+PiArDQo+PiArICAgICAg IHJldHVybiBjYjsNCj4+ICt9DQo+PiArDQo+PiArc3RhdGljIHZvaWQNCj4+ICtyZWRfZGlzcGF0 Y2hfZXZlbnRzKHN0cnVjdCBydGVfZXZlbnRfZGlzcGF0Y2hlciAqZGlzcGF0Y2hlciwNCj4+ICsg ICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9ldmVudCAqZXZlbnRzLCB1aW50MTZfdCBudW1f ZXZlbnRzKQ0KPj4gK3sNCj4+ICsgICAgICAgdWludDE2X3QgY2Jfc3RhcnQ7DQo+PiArICAgICAg IHVpbnQxNl90IGNiX2xlbjsNCj4+ICsNCj4+ICsgICAgICAgZm9yIChjYl9zdGFydCA9IDA7IGNi X3N0YXJ0IDwgbnVtX2V2ZW50czsgY2Jfc3RhcnQgKz0gY2JfbGVuKSB7DQo+PiArICAgICAgICAg ICAgICAgdWludDE2X3QgY2JfZW5kID0gY2Jfc3RhcnQ7DQo+PiArICAgICAgICAgICAgICAgdWlu dDhfdCBxdWV1ZV9pZCA9IGV2ZW50c1tjYl9zdGFydF0ucXVldWVfaWQ7DQo+PiArICAgICAgICAg ICAgICAgc3RydWN0IHJ0ZV9ldmVudF9kaXNwYXRjaGVyX2NiICpjYjsNCj4+ICsNCj4+ICsgICAg ICAgICAgICAgICB3aGlsZSAoKytjYl9lbmQgPCBudW1fZXZlbnRzICYmDQo+PiArICAgICAgICAg ICAgICAgICAgICAgIGV2ZW50c1tjYl9lbmRdLnF1ZXVlX2lkID09IHF1ZXVlX2lkKQ0KPj4gKyAg ICAgICAgICAgICAgICAgICAgICAgOw0KPj4gKw0KPj4gKyAgICAgICAgICAgICAgIGNiX2xlbiA9 IGNiX2VuZCAtIGNiX3N0YXJ0Ow0KPj4gKw0KPj4gKyAgICAgICAgICAgICAgIGNiID0gcmVkX2xv b2t1cF9jYihkaXNwYXRjaGVyLCBxdWV1ZV9pZCk7DQo+PiArDQo+PiArICAgICAgICAgICAgICAg aWYgKHVubGlrZWx5KGNiLT5jYl9mdW4gPT0gTlVMTCkpIHsNCj4+ICsgICAgICAgICAgICAgICAg ICAgICAgIFJURV9FREVWX0xPR19FUlIoIkF0dGVtcHRlZCB0byBkaXNwYXRjaCAlZCBldmVudHMg Ig0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZm9yIHF1ZXVl IGlkICVkLCBidXQgbm8gcXVldWUgb3IgIg0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiZmFsbGJhY2sgY2Igd2VyZSBjb25maWd1cmVkXG4iLA0KPj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYl9sZW4sIHF1ZXVlX2lkKTsNCj4+ ICsgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KPj4gKyAgICAgICAgICAgICAgIH0N Cj4+ICsNCj4+ICsgICAgICAgICAgICAgICBjYi0+Y2JfZnVuKCZldmVudHNbY2Jfc3RhcnRdLCBj Yl9sZW4sIGNiLT5jYl9kYXRhKTsNCj4+ICsgICAgICAgfQ0KPj4gK30NCj4+ICsNCj4+ICtzdGF0 aWMgdm9pZA0KPj4gK3JlZF9wb3J0X2RlcXVldWUoc3RydWN0IHJ0ZV9ldmVudF9kaXNwYXRjaGVy ICpkaXNwYXRjaGVyLA0KPj4gKyAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50X2Rpc3Bh dGNoZXJfbGNvcmVfcG9ydCAqcG9ydCkNCj4+ICt7DQo+PiArICAgICAgIHVpbnQxNl90IGJhdGNo X3NpemUgPSBwb3J0LT5iYXRjaF9zaXplOw0KPj4gKyAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50IGV2 ZW50c1tiYXRjaF9zaXplXTsNCj4+ICsgICAgICAgdWludDE2X3QgbjsNCj4+ICsNCj4+ICsgICAg ICAgbiA9IHJ0ZV9ldmVudF9kZXF1ZXVlX2J1cnN0KGRpc3BhdGNoZXItPmV2ZW50X2Rldl9pZCwg cG9ydC0+cG9ydF9pZCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2 ZW50cywgYmF0Y2hfc2l6ZSwgcG9ydC0+dGltZW91dCk7DQo+PiArDQo+PiArICAgICAgIHJlZF9k aXNwYXRjaF9ldmVudHMoZGlzcGF0Y2hlciwgZXZlbnRzLCBuKTsNCj4+ICt9DQo+PiArDQo+PiAr c3RhdGljIGludDMyX3QNCj4+ICtyZWRfbGNvcmVfcHJvY2Vzcyh2b2lkICp1c2VyZGF0YSkNCj4+ ICt7DQo+PiArICAgICAgIHVpbnQxNl90IGk7DQo+PiArICAgICAgIHN0cnVjdCBydGVfZXZlbnRf ZGlzcGF0Y2hlciAqZGlzcGF0Y2hlciA9IHVzZXJkYXRhOw0KPj4gKyAgICAgICB1bnNpZ25lZCBp bnQgbGNvcmVfaWQgPSBydGVfbGNvcmVfaWQoKTsNCj4+ICsgICAgICAgc3RydWN0IHJ0ZV9ldmVu dF9kaXNwYXRjaGVyX2xjb3JlICpsY29yZSA9DQo+PiArICAgICAgICAgICAgICAgJmRpc3BhdGNo ZXItPmxjb3Jlc1tsY29yZV9pZF07DQo+PiArDQo+PiArICAgICAgIGZvciAoaSA9IDA7IGkgPCBs Y29yZS0+bnVtX3BvcnRzOyBpKyspIHsNCj4+ICsgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2V2 ZW50X2Rpc3BhdGNoZXJfbGNvcmVfcG9ydCAqcG9ydCA9DQo+PiArICAgICAgICAgICAgICAgICAg ICAgICAmbGNvcmUtPnBvcnRzW2ldOw0KPj4gKw0KPj4gKyAgICAgICAgICAgICAgIHJlZF9wb3J0 X2RlcXVldWUoZGlzcGF0Y2hlciwgcG9ydCk7DQo+PiArICAgICAgIH0NCj4+ICsNCj4+ICsgICAg ICAgcmV0dXJuIDA7DQo+PiArfQ0KPj4gKw0KPj4gK3N0YXRpYyBpbnQNCj4+ICtyZWRfc2Vydmlj ZV9ydW5zdGF0ZV9zZXQodWludDMyX3Qgc2VydmljZV9pZCwgaW50IHN0YXRlKQ0KPj4gK3sNCj4+ ICsgICAgICAgaW50IHJjOw0KPj4gKw0KPj4gKyAgICAgICByYyA9IHJ0ZV9zZXJ2aWNlX2NvbXBv bmVudF9ydW5zdGF0ZV9zZXQoc2VydmljZV9pZCwgc3RhdGUpOw0KPj4gKw0KPj4gKyAgICAgICBp ZiAocmMpDQo+PiArICAgICAgICAgICAgICAgUlRFX0VERVZfTE9HX0VSUigiRXJyb3IgJWQgb2Nj dXJyZWQgd2hpbGUgc2V0dGluZyBzZXJ2aWNlICINCj4+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJjb21wb25lbnQgcnVuIHN0YXRlIHRvICVkXG4iLCByYywgc3RhdGUpOw0KPj4g Kw0KPj4gKyAgICAgICByZXR1cm4gcmM7DQo+PiArfQ0KPj4gKw0KPj4gK3N0YXRpYyBpbnQNCj4+ ICtyZWRfc2VydmljZV9yZWdpc3RlcihzdHJ1Y3QgcnRlX2V2ZW50X2Rpc3BhdGNoZXIgKmRpc3Bh dGNoZXIpDQo+PiArew0KPj4gKyAgICAgICBzdHJ1Y3QgcnRlX3NlcnZpY2Vfc3BlYyBzZXJ2aWNl ID0gew0KPj4gKyAgICAgICAgICAgICAgIC5jYWxsYmFjayA9IHJlZF9sY29yZV9wcm9jZXNzLA0K Pj4gKyAgICAgICAgICAgICAgIC5jYWxsYmFja191c2VyZGF0YSA9IGRpc3BhdGNoZXIsDQo+PiAr ICAgICAgICAgICAgICAgLmNhcGFiaWxpdGllcyA9IFJURV9TRVJWSUNFX0NBUF9NVF9TQUZFLA0K Pj4gKyAgICAgICAgICAgICAgIC5zb2NrZXRfaWQgPSBkaXNwYXRjaGVyLT5zb2NrZXRfaWQNCj4+ ICsgICAgICAgfTsNCj4+ICsgICAgICAgaW50IHJjOw0KPj4gKw0KPj4gKyAgICAgICBzbnByaW50 ZihzZXJ2aWNlLm5hbWUsIFJURV9TRVJWSUNFX05BTUVfTUFYIC0gMSwgInJlZF8lZCIsDQo+PiAr ICAgICAgICAgICAgICAgIGRpc3BhdGNoZXItPmlkKTsNCj4+ICsNCj4+ICsgICAgICAgcmMgPSBy dGVfc2VydmljZV9jb21wb25lbnRfcmVnaXN0ZXIoJnNlcnZpY2UsICZkaXNwYXRjaGVyLT5zZXJ2 aWNlX2lkKTsNCj4+ICsNCj4+ICsgICAgICAgaWYgKHJjKQ0KPj4gKyAgICAgICAgICAgICAgIFJU RV9FREVWX0xPR19FUlIoIlJlZ2lzdHJhdGlvbiBvZiBldmVudCBkaXNwYXRjaGVyIHNlcnZpY2Ug Ig0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIGZhaWxlZCB3aXRoIGVy cm9yIGNvZGUgJWRcbiIsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2 aWNlLm5hbWUsIHJjKTsNCj4+ICsNCj4+ICsgICAgICAgcmMgPSByZWRfc2VydmljZV9ydW5zdGF0 ZV9zZXQoZGlzcGF0Y2hlci0+c2VydmljZV9pZCwgMSk7DQo+PiArDQo+PiArICAgICAgIGlmIChy YykNCj4+ICsgICAgICAgICAgICAgICBydGVfc2VydmljZV9jb21wb25lbnRfdW5yZWdpc3Rlcihk aXNwYXRjaGVyLT5zZXJ2aWNlX2lkKTsNCj4+ICsNCj4+ICsgICAgICAgcmV0dXJuIHJjOw0KPj4g K30NCj4+ICsNCj4+ICtzdGF0aWMgaW50DQo+PiArcmVkX3NlcnZpY2VfdW5yZWdpc3RlcihzdHJ1 Y3QgcnRlX2V2ZW50X2Rpc3BhdGNoZXIgKmRpc3BhdGNoZXIpDQo+PiArew0KPj4gKyAgICAgICBp bnQgcmM7DQo+PiArDQo+PiArICAgICAgIHJjID0gcmVkX3NlcnZpY2VfcnVuc3RhdGVfc2V0KGRp c3BhdGNoZXItPnNlcnZpY2VfaWQsIDApOw0KPj4gKw0KPj4gKyAgICAgICBpZiAocmMpDQo+PiAr ICAgICAgICAgICAgICAgcmV0dXJuIHJjOw0KPj4gKw0KPj4gKyAgICAgICByYyA9IHJ0ZV9zZXJ2 aWNlX2NvbXBvbmVudF91bnJlZ2lzdGVyKGRpc3BhdGNoZXItPnNlcnZpY2VfaWQpOw0KPj4gKw0K Pj4gKyAgICAgICBpZiAocmMpDQo+PiArICAgICAgICAgICAgICAgUlRFX0VERVZfTE9HX0VSUigi VW5yZWdpc3RyYXRpb24gb2YgZXZlbnQgZGlzcGF0Y2hlciBzZXJ2aWNlICINCj4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJmYWlsZWQgd2l0aCBlcnJvciBjb2RlICVkXG4iLCBy Yyk7DQo+PiArDQo+PiArICAgICAgIHJldHVybiByYzsNCj4+ICt9DQo+PiArDQo+PiAraW50DQo+ PiArcnRlX2V2ZW50X2Rpc3BhdGNoZXJfY3JlYXRlKHVpbnQ4X3QgaWQsIHVpbnQ4X3QgZXZlbnRf ZGV2X2lkKQ0KPj4gK3sNCj4+ICsgICAgICAgaW50IHNvY2tldF9pZDsNCj4+ICsgICAgICAgc3Ry dWN0IHJ0ZV9ldmVudF9kaXNwYXRjaGVyICpkaXNwYXRjaGVyOw0KPj4gKyAgICAgICBpbnQgcmM7 DQo+PiArDQo+PiArICAgICAgIGlmIChyZWRfaGFzX2Rpc3BhdGNoZXIoaWQpKSB7DQo+PiArICAg ICAgICAgICAgICAgUlRFX0VERVZfTE9HX0VSUigiRGlzcGF0Y2hlciB3aXRoIGlkICVkIGFscmVh ZHkgZXhpc3RzXG4iLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQpOw0K Pj4gKyAgICAgICAgICAgICAgIHJldHVybiAtRUVYSVNUOw0KPj4gKyAgICAgICB9DQo+PiArDQo+ PiArICAgICAgIHNvY2tldF9pZCA9IHJ0ZV9ldmVudF9kZXZfc29ja2V0X2lkKGV2ZW50X2Rldl9p ZCk7DQo+PiArDQo+PiArICAgICAgIGRpc3BhdGNoZXIgPQ0KPj4gKyAgICAgICAgICAgICAgIHJ0 ZV9tYWxsb2Nfc29ja2V0KCJldmVudCBkaXNwYXRjaGVyIiwNCj4+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzaXplb2Yoc3RydWN0IHJ0ZV9ldmVudF9kaXNwYXRjaGVyKSwNCj4+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQ0FDSEVfTElORV9TSVpFLCBz b2NrZXRfaWQpOw0KPj4gKw0KPj4gKyAgICAgICBpZiAoZGlzcGF0Y2hlciA9PSBOVUxMKSB7DQo+ PiArICAgICAgICAgICAgICAgUlRFX0VERVZfTE9HX0VSUigiVW5hYmxlIHRvIGFsbG9jYXRlIG1l bW9yeSBmb3IgZXZlbnQgIg0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRp c3BhdGNoZXJcbiIpOw0KPj4gKyAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOw0KPj4gKyAg ICAgICB9DQo+PiArDQo+PiArICAgICAgICpkaXNwYXRjaGVyID0gKHN0cnVjdCBydGVfZXZlbnRf ZGlzcGF0Y2hlcikgew0KPj4gKyAgICAgICAgICAgICAgIC5pZCA9IGlkLA0KPj4gKyAgICAgICAg ICAgICAgIC5ldmVudF9kZXZfaWQgPSBldmVudF9kZXZfaWQsDQo+PiArICAgICAgICAgICAgICAg LnNvY2tldF9pZCA9IHNvY2tldF9pZA0KPj4gKyAgICAgICB9Ow0KPj4gKw0KPj4gKyAgICAgICBy YyA9IHJlZF9zZXJ2aWNlX3JlZ2lzdGVyKGRpc3BhdGNoZXIpOw0KPj4gKw0KPj4gKyAgICAgICBp ZiAocmMgPCAwKSB7DQo+PiArICAgICAgICAgICAgICAgcnRlX2ZyZWUoZGlzcGF0Y2hlcik7DQo+ PiArICAgICAgICAgICAgICAgcmV0dXJuIHJjOw0KPj4gKyAgICAgICB9DQo+PiArDQo+PiArICAg ICAgIHJlZF9zZXRfZGlzcGF0Y2hlcihpZCwgZGlzcGF0Y2hlcik7DQo+PiArDQo+PiArICAgICAg IHJldHVybiAwOw0KPj4gK30NCj4+ICsNCj4+ICtpbnQNCj4+ICtydGVfZXZlbnRfZGlzcGF0Y2hl cl9mcmVlKHVpbnQ4X3QgaWQpDQo+PiArew0KPj4gKyAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50X2Rp c3BhdGNoZXIgKmRpc3BhdGNoZXI7DQo+PiArICAgICAgIGludCByYzsNCj4+ICsNCj4+ICsgICAg ICAgUkVEX1ZBTElEX0lEX09SX1JFVF9FSU5WQUwoaWQpOw0KPj4gKyAgICAgICBkaXNwYXRjaGVy ID0gcmVkX2dldF9kaXNwYXRjaGVyKGlkKTsNCj4+ICsNCj4+ICsgICAgICAgcmMgPSByZWRfc2Vy dmljZV91bnJlZ2lzdGVyKGRpc3BhdGNoZXIpOw0KPj4gKw0KPj4gKyAgICAgICBpZiAocmMpDQo+ PiArICAgICAgICAgICAgICAgcmV0dXJuIHJjOw0KPj4gKw0KPj4gKyAgICAgICByZWRfc2V0X2Rp c3BhdGNoZXIoaWQsIE5VTEwpOw0KPj4gKw0KPj4gKyAgICAgICBydGVfZnJlZShkaXNwYXRjaGVy KTsNCj4+ICsNCj4+ICsgICAgICAgcmV0dXJuIDA7DQo+PiArfQ0KPj4gKw0KPj4gK2ludA0KPj4g K3J0ZV9ldmVudF9kaXNwYXRjaGVyX3NlcnZpY2VfaWRfZ2V0KHVpbnQ4X3QgaWQsIHVpbnQzMl90 ICpzZXJ2aWNlX2lkKQ0KPj4gK3sNCj4+ICsgICAgICAgc3RydWN0IHJ0ZV9ldmVudF9kaXNwYXRj aGVyICpkaXNwYXRjaGVyOw0KPj4gKw0KPj4gKyAgICAgICBSRURfVkFMSURfSURfT1JfUkVUX0VJ TlZBTChpZCk7DQo+PiArICAgICAgIGRpc3BhdGNoZXIgPSByZWRfZ2V0X2Rpc3BhdGNoZXIoaWQp Ow0KPj4gKw0KPj4gKyAgICAgICAqc2VydmljZV9pZCA9IGRpc3BhdGNoZXItPnNlcnZpY2VfaWQ7 DQo+PiArDQo+PiArICAgICAgIHJldHVybiAwOw0KPj4gK30NCj4+ICsNCj4+ICtzdGF0aWMgaW50 MTZfdA0KPj4gK2xjb3JlX3BvcnRfaW5kZXgoc3RydWN0IHJ0ZV9ldmVudF9kaXNwYXRjaGVyX2xj b3JlICpsY29yZSwNCj4+ICsgICAgICAgICAgICAgICAgdWludDhfdCBldmVudF9wb3J0X2lkKQ0K Pj4gK3sNCj4+ICsgICAgICAgdWludDE2X3QgaTsNCj4+ICsNCj4+ICsgICAgICAgZm9yIChpID0g MDsgaSA8IGxjb3JlLT5udW1fcG9ydHM7IGkrKykgew0KPj4gKyAgICAgICAgICAgICAgIHN0cnVj dCBydGVfZXZlbnRfZGlzcGF0Y2hlcl9sY29yZV9wb3J0ICpwb3J0ID0NCj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICZsY29yZS0+cG9ydHNbaV07DQo+PiArICAgICAgICAgICAgICAgaWYgKHBv cnQtPnBvcnRfaWQgPT0gZXZlbnRfcG9ydF9pZCkNCj4+ICsgICAgICAgICAgICAgICAgICAgICAg IHJldHVybiBpOw0KPj4gKyAgICAgICB9DQo+PiArDQo+PiArICAgICAgIHJldHVybiAtMTsNCj4+ ICt9DQo+PiArDQo+PiAraW50DQo+PiArcnRlX2V2ZW50X2Rpc3BhdGNoZXJfYmluZF9wb3J0X3Rv X2xjb3JlKHVpbnQ4X3QgaWQsIHVpbnQ4X3QgZXZlbnRfcG9ydF9pZCwNCj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBiYXRjaF9zaXplLCB1aW50NjRf dCB0aW1lb3V0LA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu c2lnbmVkIGludCBsY29yZV9pZCkNCj4+ICt7DQo+PiArICAgICAgIHN0cnVjdCBydGVfZXZlbnRf ZGlzcGF0Y2hlciAqZGlzcGF0Y2hlcjsNCj4+ICsgICAgICAgc3RydWN0IHJ0ZV9ldmVudF9kaXNw YXRjaGVyX2xjb3JlICpsY29yZTsNCj4+ICsgICAgICAgc3RydWN0IHJ0ZV9ldmVudF9kaXNwYXRj aGVyX2xjb3JlX3BvcnQgKnBvcnQ7DQo+PiArDQo+PiArICAgICAgIFJFRF9WQUxJRF9JRF9PUl9S RVRfRUlOVkFMKGlkKTsNCj4+ICsgICAgICAgZGlzcGF0Y2hlciA9IHJlZF9nZXRfZGlzcGF0Y2hl cihpZCk7DQo+PiArDQo+PiArICAgICAgIGxjb3JlID0gJmRpc3BhdGNoZXItPmxjb3Jlc1tsY29y ZV9pZF07DQo+PiArDQo+PiArICAgICAgIGlmIChsY29yZS0+bnVtX3BvcnRzID09IFJFRF9NQVhf UE9SVFNfUEVSX0xDT1JFKQ0KPj4gKyAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOw0KPj4g Kw0KPj4gKyAgICAgICBpZiAobGNvcmVfcG9ydF9pbmRleChsY29yZSwgZXZlbnRfcG9ydF9pZCkg Pj0gMCkNCj4+ICsgICAgICAgICAgICAgICByZXR1cm4gLUVFWElTVDsNCj4+ICsNCj4+ICsgICAg ICAgcG9ydCA9ICZsY29yZS0+cG9ydHNbbGNvcmUtPm51bV9wb3J0c107DQo+PiArDQo+PiArICAg ICAgICpwb3J0ID0gKHN0cnVjdCBydGVfZXZlbnRfZGlzcGF0Y2hlcl9sY29yZV9wb3J0KSB7DQo+ PiArICAgICAgICAgICAgICAgLnBvcnRfaWQgPSBldmVudF9wb3J0X2lkLA0KPj4gKyAgICAgICAg ICAgICAgIC5iYXRjaF9zaXplID0gYmF0Y2hfc2l6ZSwNCj4+ICsgICAgICAgICAgICAgICAudGlt ZW91dCA9IHRpbWVvdXQNCj4+ICsgICAgICAgfTsNCj4+ICsNCj4+ICsgICAgICAgbGNvcmUtPm51 bV9wb3J0cysrOw0KPj4gKw0KPj4gKyAgICAgICByZXR1cm4gMDsNCj4+ICt9DQo+PiArDQo+PiAr aW50DQo+PiArcnRlX2V2ZW50X2Rpc3BhdGNoZXJfdW5iaW5kX3BvcnRfZnJvbV9sY29yZSh1aW50 OF90IGlkLCB1aW50OF90IGV2ZW50X3BvcnRfaWQsDQo+PiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBsY29yZV9pZCkNCj4+ICt7DQo+PiAr ICAgICAgIHN0cnVjdCBydGVfZXZlbnRfZGlzcGF0Y2hlciAqZGlzcGF0Y2hlcjsNCj4+ICsgICAg ICAgc3RydWN0IHJ0ZV9ldmVudF9kaXNwYXRjaGVyX2xjb3JlICpsY29yZTsNCj4+ICsgICAgICAg aW50MTZfdCBwb3J0X2lkeDsNCj4+ICsgICAgICAgc3RydWN0IHJ0ZV9ldmVudF9kaXNwYXRjaGVy X2xjb3JlX3BvcnQgKnBvcnQ7DQo+PiArICAgICAgIHN0cnVjdCBydGVfZXZlbnRfZGlzcGF0Y2hl cl9sY29yZV9wb3J0ICpsYXN0Ow0KPj4gKw0KPj4gKyAgICAgICBSRURfVkFMSURfSURfT1JfUkVU X0VJTlZBTChpZCk7DQo+PiArICAgICAgIGRpc3BhdGNoZXIgPSByZWRfZ2V0X2Rpc3BhdGNoZXIo aWQpOw0KPj4gKw0KPj4gKyAgICAgICBsY29yZSA9ICZkaXNwYXRjaGVyLT5sY29yZXNbbGNvcmVf aWRdOw0KPj4gKw0KPj4gKyAgICAgICBwb3J0X2lkeCA9IGxjb3JlX3BvcnRfaW5kZXgobGNvcmUs IGV2ZW50X3BvcnRfaWQpOw0KPj4gKw0KPj4gKyAgICAgICBpZiAocG9ydF9pZHggPCAwKQ0KPj4g KyAgICAgICAgICAgICAgIHJldHVybiAtRU5PRU5UOw0KPj4gKw0KPj4gKyAgICAgICBwb3J0ID0g Jmxjb3JlLT5wb3J0c1twb3J0X2lkeF07DQo+PiArICAgICAgIGxhc3QgPSAmbGNvcmUtPnBvcnRz W2xjb3JlLT5udW1fcG9ydHMgLSAxXTsNCj4+ICsNCj4+ICsgICAgICAgaWYgKHBvcnQgIT0gbGFz dCkNCj4+ICsgICAgICAgICAgICAgICAqcG9ydCA9ICpsYXN0Ow0KPj4gKw0KPj4gKyAgICAgICBs Y29yZS0+bnVtX3BvcnRzLS07DQo+PiArDQo+PiArICAgICAgIHJldHVybiAwOw0KPj4gK30NCj4+ ICsNCj4+ICtzdGF0aWMgaW50DQo+PiArcmVkX2NiX21hbmFnZSh1aW50OF90IGlkLCB1aW50OF90 IHF1ZXVlX2lkLCBib29sIHJlZywgYm9vbCBmYWxsYmFjaywNCj4+ICsgICAgICAgICAgcnRlX2V2 ZW50X2Rpc3BhdGNoZXJfY2JfdCBjYl9mdW4sIHZvaWQgKmNiX2RhdGEpDQo+PiArew0KPj4gKyAg ICAgICBzdHJ1Y3QgcnRlX2V2ZW50X2Rpc3BhdGNoZXIgKmRpc3BhdGNoZXI7DQo+PiArICAgICAg IHN0cnVjdCBydGVfZXZlbnRfZGlzcGF0Y2hlcl9jYiAqY2I7DQo+PiArDQo+PiArICAgICAgIFJF RF9WQUxJRF9JRF9PUl9SRVRfRUlOVkFMKGlkKTsNCj4+ICsgICAgICAgZGlzcGF0Y2hlciA9IHJl ZF9nZXRfZGlzcGF0Y2hlcihpZCk7DQo+PiArDQo+PiArICAgICAgIGlmIChmYWxsYmFjaykNCj4+ ICsgICAgICAgICAgICAgICBjYiA9ICZkaXNwYXRjaGVyLT5mYWxsYmFjazsNCj4+ICsgICAgICAg ZWxzZQ0KPj4gKyAgICAgICAgICAgICAgIGNiID0gJmRpc3BhdGNoZXItPnF1ZXVlX2Nic1txdWV1 ZV9pZF07DQo+PiArDQo+PiArICAgICAgIGlmIChyZWcgJiYgY2ItPmNiX2Z1biAhPSBOVUxMKQ0K Pj4gKyAgICAgICAgICAgICAgIHJldHVybiAtRUVYSVNUOw0KPj4gKw0KPj4gKyAgICAgICBpZiAo IXJlZyAmJiBjYi0+Y2JfZnVuID09IE5VTEwpDQo+PiArICAgICAgICAgICAgICAgcmV0dXJuIC1F Tk9FTlQ7DQo+PiArDQo+PiArICAgICAgICpjYiA9IChzdHJ1Y3QgcnRlX2V2ZW50X2Rpc3BhdGNo ZXJfY2IpIHsNCj4+ICsgICAgICAgICAgICAgICAuY2JfZnVuID0gY2JfZnVuLA0KPj4gKyAgICAg ICAgICAgICAgIC5jYl9kYXRhID0gY2JfZGF0YQ0KPj4gKyAgICAgICB9Ow0KPj4gKw0KPj4gKyAg ICAgICByZXR1cm4gMDsNCj4+ICt9DQo+PiArDQo+PiAraW50DQo+PiArcnRlX2V2ZW50X2Rpc3Bh dGNoZXJfcmVnaXN0ZXIodWludDhfdCBpZCwgdWludDhfdCBxdWV1ZV9pZCwNCj4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9ldmVudF9kaXNwYXRjaGVyX2NiX3QgY2JfZnVuLCB2 b2lkICpjYl9kYXRhKQ0KPj4gK3sNCj4+ICsgICAgICAgcmV0dXJuIHJlZF9jYl9tYW5hZ2UoaWQs IHF1ZXVlX2lkLCB0cnVlLCBmYWxzZSwgY2JfZnVuLCBjYl9kYXRhKTsNCj4+ICt9DQo+PiArDQo+ PiAraW50DQo+PiArcnRlX2V2ZW50X2Rpc3BhdGNoZXJfdW5yZWdpc3Rlcih1aW50OF90IGlkLCB1 aW50OF90IHF1ZXVlX2lkKQ0KPj4gK3sNCj4+ICsgICAgICAgcmV0dXJuIHJlZF9jYl9tYW5hZ2Uo aWQsIHF1ZXVlX2lkLCBmYWxzZSwgZmFsc2UsIE5VTEwsIE5VTEwpOw0KPj4gK30NCj4+ICsNCj4+ ICtpbnQNCj4+ICtydGVfZXZlbnRfZGlzcGF0Y2hlcl9yZWdpc3Rlcl9mYWxsYmFjayh1aW50OF90 IGlkLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnRlX2V2ZW50 X2Rpc3BhdGNoZXJfY2JfdCBjYl9mdW4sDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB2b2lkICpjYl9kYXRhKQ0KPj4gK3sNCj4+ICsgICAgICAgcmV0dXJuIHJlZF9j Yl9tYW5hZ2UoaWQsIDAsIHRydWUsIHRydWUsIGNiX2Z1biwgY2JfZGF0YSk7DQo+PiArfQ0KPj4g Kw0KPj4gK2ludA0KPj4gK3J0ZV9ldmVudF9kaXNwYXRjaGVyX3VucmVnaXN0ZXJfZmFsbGJhY2so dWludDhfdCBpZCkNCj4+ICt7DQo+PiArICAgICAgIHJldHVybiByZWRfY2JfbWFuYWdlKGlkLCAw LCBmYWxzZSwgdHJ1ZSwgTlVMTCwgTlVMTCk7DQo+PiArfQ0KPj4gZGlmZiAtLWdpdCBhL2xpYi9s aWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50X2Rpc3BhdGNoZXIuaCBiL2xpYi9saWJydGVfZXZlbnRk ZXYvcnRlX2V2ZW50X2Rpc3BhdGNoZXIuaA0KPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4+IGlu ZGV4IDAwMDAwMDAwMDAuLjExZjU3NTcxYWINCj4+IC0tLSAvZGV2L251bGwNCj4+ICsrKyBiL2xp Yi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50X2Rpc3BhdGNoZXIuaA0KPj4gQEAgLTAsMCArMSwy NTEgQEANCj4+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlDQo+PiAr ICogQ29weXJpZ2h0KGMpIDIwMjEgRXJpY3Nzb24gQUINCj4+ICsgKi8NCj4+ICsNCj4+ICsjaWZu ZGVmIF9fUlRFX0VWRU5UX0RJU1BBVENIRVJfSF9fDQo+PiArI2RlZmluZSBfX1JURV9FVkVOVF9E SVNQQVRDSEVSX0hfXw0KPj4gKw0KPj4gKy8qKg0KPj4gKyAqIEBmaWxlDQo+PiArICoNCj4+ICsg KiBSVEUgRXZlbnQgRGlzcGF0Y2hlcg0KPj4gKyAqDQo+PiArICovDQo+PiArDQo+PiArI2lmZGVm IF9fY3BsdXNwbHVzDQo+PiArZXh0ZXJuICJDIiB7DQo+PiArI2VuZGlmDQo+PiArDQo+PiArI2lu Y2x1ZGUgPHJ0ZV9ldmVudGRldi5oPg0KPj4gKw0KPj4gKy8qKg0KPj4gKyAqIEZ1bmN0aW9uIHBy b3RvdHlwZSBmb3IgZGlzcGF0Y2hlciBjYWxsYmFja3MuDQo+PiArICoNCj4+ICsgKiBAcGFyYW0g ZXZlbnRzDQo+PiArICogIFBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgZXZlbnRzLg0KPj4gKyAqDQo+ PiArICogQHBhcmFtIG51bQ0KPj4gKyAqICBUaGUgbnVtYmVyIG9mIGV2ZW50cyBpbiB0aGUgQHAg ZXZlbnRzIGFycmF5Lg0KPj4gKyAqDQo+PiArICogQHBhcmFtIGNiX2RhdGENCj4+ICsgKiAgVGhl IHBvaW50ZXIgc3VwcGxpZWQgYnkgdGhlIGFwcGxpY2F0aW9uIGluDQo+PiArICogIHJ0ZV9ldmVu dF9kaXNwYXRjaGVyX3JlZ2lzdGVyKCkgb3INCj4+ICsgKiAgcnRlX2V2ZW50X2Rpc3BhdGNoZXJf cmVnaXN0ZXJfZmFsbGJhY2soKS4NCj4+ICsgKi8NCj4+ICsNCj4+ICt0eXBlZGVmIHZvaWQgKCpy dGVfZXZlbnRfZGlzcGF0Y2hlcl9jYl90KShzdHJ1Y3QgcnRlX2V2ZW50ICpldmVudHMsDQo+PiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBudW0sIHZv aWQgKmNiX2RhdGEpOw0KPj4gKw0KPj4gKy8qKg0KPj4gKyAqIENyZWF0ZSBhbiBldmVudCBkaXNw YXRjaGVyIHdpdGggdGhlIHNwZWNpZmllZCBpZC4NCj4+ICsgKg0KPj4gKyAqIEBwYXJhbSBpZA0K Pj4gKyAqICBBbiBhcHBsaWNhdGlvbi1zcGVjaWZpZWQsIHVuaXF1ZSAoYWNyb3NzIGFsbCBldmVu dCBkaXNwYXRjaGVyDQo+PiArICogIGluc3RhbmNlcykgaWRlbnRpZmllci4NCj4+ICsgKg0KPj4g KyAqIEBwYXJhbSBldmVudF9kZXZfaWQNCj4+ICsgKiAgVGhlIGlkZW50aWZpZXIgb2YgdGhlIGV2 ZW50IGRldmljZSBmcm9tIHdoaWNoIHRoaXMgZXZlbnQgZGlzcGF0Y2hlcg0KPj4gKyAqICB3aWxs IGRlcXVldWUgZXZlbnRzLg0KPj4gKyAqDQo+PiArICogQHJldHVybg0KPj4gKyAqICAgLSAwOiBT dWNjZXNzDQo+PiArICogICAtIDwwOiBFcnJvciBjb2RlIG9uIGZhaWx1cmUNCj4+ICsgKi8NCj4+ ICtfX3J0ZV9leHBlcmltZW50YWwNCj4+ICtpbnQNCj4+ICtydGVfZXZlbnRfZGlzcGF0Y2hlcl9j cmVhdGUodWludDhfdCBpZCwgdWludDhfdCBldmVudF9kZXZfaWQpOw0KPj4gKw0KPj4gKy8qKg0K Pj4gKyAqIEZyZWVzIGFuIGV2ZW50IGRpc3BhdGNoZXIgd2l0aCB0aGUgc3BlY2lmaWVkIGlkLg0K Pj4gKyAqDQo+PiArICogQHBhcmFtIGlkDQo+PiArICogIFRoZSBldmVudCBkaXNwYXRjaGVyIGlk ZW50aWZpZXIuDQo+PiArICoNCj4+ICsgKiBAcmV0dXJuDQo+PiArICogICAtIDA6IFN1Y2Nlc3MN Cj4+ICsgKiAgIC0gPDA6IEVycm9yIGNvZGUgb24gZmFpbHVyZQ0KPj4gKyAqLw0KPj4gK19fcnRl X2V4cGVyaW1lbnRhbA0KPj4gK2ludA0KPj4gK3J0ZV9ldmVudF9kaXNwYXRjaGVyX2ZyZWUodWlu dDhfdCBpZCk7DQo+PiArDQo+PiArLyoqDQo+PiArICogUmV0cmlldmUgdGhlIHNlcnZpY2UgaWRl bnRpZmllciBvZiB0aGUgZXZlbnQgZGlzcGF0Y2hlci4NCj4+ICsgKg0KPj4gKyAqIEBwYXJhbSBp ZA0KPj4gKyAqICBUaGUgZXZlbnQgZGlzcGF0Y2hlciBpZGVudGlmaWVyLg0KPj4gKyAqDQo+PiAr ICogQHBhcmFtIFtvdXRdIHNlcnZpY2VfaWQNCj4+ICsgKiAgQSBwb2ludGVyIHRvIGEgY2FsbGVy LXN1cHBsaWVkIGJ1ZmZlciB3aGVyZSB0aGUgZXZlbnQgZGlzcGF0Y2hlcidzDQo+PiArICogIHNl cnZpY2UgaWQgd2lsbCBiZSBzdG9yZWQuDQo+PiArICoNCj4+ICsgKiBAcmV0dXJuDQo+PiArICog IC0gMDogU3VjY2Vzcw0KPj4gKyAqICAtIDwwOiBFcnJvciBjb2RlIG9uIGZhaWx1cmUuDQo+PiAr ICovDQo+PiArX19ydGVfZXhwZXJpbWVudGFsDQo+PiAraW50DQo+PiArcnRlX2V2ZW50X2Rpc3Bh dGNoZXJfc2VydmljZV9pZF9nZXQodWludDhfdCBpZCwgdWludDMyX3QgKnNlcnZpY2VfaWQpOw0K Pj4gKw0KPj4gKy8qKg0KPj4gKyAqIEJpbmRzIGFuIGV2ZW50IGRldmljZSBwb3J0IHRvIGEgc3Bl Y2lmaWMgbGNvcmUgb24gdGhlIHNwZWNpZmllZA0KPj4gKyAqIGV2ZW50IGRpc3BhdGNoZXIuDQo+ PiArICoNCj4+ICsgKiBUaGlzIGZ1bmN0aW9uIGNvbmZpZ3VyZXMgYW4gZXZlbnQgZGlzcGF0Y2hl ciB0byBkZXF1ZXVlIGV2ZW50cyBmcm9tDQo+PiArICogYW4gZXZlbnQgZGV2aWNlIHBvcnQgKGFz IHNwZWNpZmllZCBieSBAcCBldmVudF9wb3J0X2lkKSwgaW4gY2FzZQ0KPj4gKyAqIGl0cyBzZXJ2 aWNlIGZ1bmN0aW9uIGlzIHJ1biBvbiBwYXJ0aWN1bGFyIGxjb3JlIChhcyBzcGVjaWZpZWQgYnkg QHANCj4+ICsgKiBsY29yZV9pZCkuDQo+PiArICoNCj4+ICsgKiBNdWx0aXBsZSBldmVudCBkZXZp Y2UgcG9ydHMgbWF5IGJlIGJvdW5kIHRvIHRoZSBzYW1lIGxjb3JlLiBBDQo+PiArICogcGFydGlj dWxhciBwb3J0IG1heSBvbmx5IGJlIGJvdW5kIHRvIG9uZSBsY29yZS4NCj4+ICsgKg0KPj4gKyAq IElmIHRoZSBldmVudCBkaXNwYXRjaGVyIHNlcnZpY2UgaXMgbWFwcGVkICh3aXRoDQo+PiArICog cnRlX3NlcnZpY2VfbWFwX2xjb3JlX3NldCgpKSB0byBhIGxjb3JlIGZvciB3aGljaCBubyBwb3J0 cyBhcmUNCj4+ICsgKiBib3VuZCwgdGhlIHNlcnZpY2UgZnVuY3Rpb24gd2lsbCBiZSBhIG5vLW9w ZXJhdGlvbi4NCj4+ICsgKg0KPj4gKyAqIEBwYXJhbSBpZA0KPj4gKyAqICBUaGUgZXZlbnQgZGlz cGF0Y2hlciBpZGVudGlmaWVyLg0KPj4gKyAqDQo+PiArICogQHBhcmFtIGV2ZW50X3BvcnRfaWQN Cj4+ICsgKiAgVGhlIGV2ZW50IGRldmljZSBwb3J0IGlkZW50aWZpZXIuDQo+PiArICoNCj4+ICsg KiBAcGFyYW0gYmF0Y2hfc2l6ZQ0KPj4gKyAqICBUaGUgYmF0Y2ggc2l6ZSB0byB1c2UgaW4gcnRl X2V2ZW50X2RlcXVldWVfYnVyc3QoKSwgZm9yIHRoZQ0KPj4gKyAqICBjb25maWd1cmVkIGV2ZW50 IGRldmljZSBwb3J0IGFuZCBsY29yZS4NCj4+ICsgKg0KPj4gKyAqIEBwYXJhbSB0aW1lb3V0DQo+ PiArICogIFRoZSB0aW1lb3V0IHBhcmFtZXRlciB0byB1c2UgaW4gcnRlX2V2ZW50X2RlcXVldWVf YnVyc3QoKSwgZm9yIHRoZQ0KPj4gKyAqICBjb25maWd1cmVkIGV2ZW50IGRldmljZSBwb3J0IGFu ZCBsY29yZS4NCj4+ICsgKg0KPj4gKyAqIEByZXR1cm4NCj4+ICsgKiAgLSAwOiBTdWNjZXNzDQo+ PiArICogIC0gPDA6IEVycm9yIGNvZGUgb24gZmFpbHVyZS4NCj4+ICsgKi8NCj4+ICtfX3J0ZV9l eHBlcmltZW50YWwNCj4+ICtpbnQNCj4+ICtydGVfZXZlbnRfZGlzcGF0Y2hlcl9iaW5kX3BvcnRf dG9fbGNvcmUodWludDhfdCBpZCwgdWludDhfdCBldmVudF9wb3J0X2lkLA0KPj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IGJhdGNoX3NpemUsIHVpbnQ2 NF90IHRpbWVvdXQsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dW5zaWduZWQgaW50IGxjb3JlX2lkKTsNCj4+ICsNCj4+ICsvKioNCj4+ICsgKiBVbmJpbmQgYW4g ZXZlbnQgZGV2aWNlIHBvcnQgZnJvbSBhIHNwZWNpZmljIGxjb3JlLg0KPj4gKyAqDQo+PiArICog QHBhcmFtIGlkDQo+PiArICogIFRoZSBldmVudCBkaXNwYXRjaGVyIGlkZW50aWZpZXIuDQo+PiAr ICoNCj4+ICsgKiBAcGFyYW0gZXZlbnRfcG9ydF9pZA0KPj4gKyAqICBUaGUgZXZlbnQgZGV2aWNl IHBvcnQgaWRlbnRpZmllci4NCj4+ICsgKg0KPj4gKyAqIEByZXR1cm4NCj4+ICsgKiAgLSAwOiBT dWNjZXNzDQo+PiArICogIC0gPDA6IEVycm9yIGNvZGUgb24gZmFpbHVyZS4NCj4+ICsgKi8NCj4+ ICtfX3J0ZV9leHBlcmltZW50YWwNCj4+ICtpbnQNCj4+ICtydGVfZXZlbnRfZGlzcGF0Y2hlcl91 bmJpbmRfcG9ydF9mcm9tX2xjb3JlKHVpbnQ4X3QgaWQsIHVpbnQ4X3QgZXZlbnRfcG9ydF9pZCwN Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg aW50IGxjb3JlX2lkKTsNCj4+ICsNCj4+ICsvKioNCj4+ICsgKiBSZWdpc3RlciBhIGNhbGxiYWNr IGZ1bmN0aW9uIGZvciB0aGUgc3BlY2lmaWVkIHF1ZXVlIGlkZW50aWZpZXIuDQo+PiArICoNCj4+ ICsgKiBBdCBtb3N0IG9uZSBjYWxsYmFjayBtYXkgYmUgcmVnaXN0ZXJlZCBwZXIgcXVldWUgaWQu DQo+PiArICoNCj4+ICsgKiBUaGUgc2FtZSBjYWxsYmFjayBmdW5jdGlvbiBtYXkgYmUgcmVnaXN0 ZXJlZCBmb3IgbXVsdGlwbGUgcXVldWUgaWRzLg0KPj4gKyAqDQo+PiArICogRm9yIGVhY2ggY2Fs bGJhY2sgaW52b2NhdGlvbiwgZXZlbnRzIGJlbG9uZ2luZyB0byBhIHNpbmdsZSBxdWV1ZSBpZA0K Pj4gKyAqIHdpbGwgZGlzcGF0Y2hlZC4NCj4+ICsgKg0KPj4gKyAqIEBwYXJhbSBpZA0KPj4gKyAq ICBUaGUgZXZlbnQgZGlzcGF0Y2hlciBpZGVudGlmaWVyLg0KPj4gKyAqDQo+PiArICogQHBhcmFt IHF1ZXVlX2lkDQo+PiArICogIFRoZSBldmVudCBkZXZpY2UgcXVldWUgaWQgZm9yIHdoaWNoIEBw IGNiX2Z1biBzaG91bGQgYmUgY2FsbGVkLg0KPj4gKyAqDQo+PiArICogQHBhcmFtIGNiX2Z1bg0K Pj4gKyAqICBUaGUgY2FsbGJhY2sgZnVuY3Rpb24uDQo+PiArICoNCj4+ICsgKiBAcGFyYW0gY2Jf ZGF0YQ0KPj4gKyAqICBBIHBvaW50ZXIgdG8gc29tZSBhcHBsaWNhdGlvbi1zcGVjaWZpYyBvcGFx dWUgZGF0YSAob3IgTlVMTCksDQo+PiArICogIHdoaWNoIGlzIHN1cHBsaWVkIGJhY2sgdG8gdGhl IGFwcGxpY2F0aW9uIGluIHRoZSBjYWxsYmFjay4NCj4+ICsgKg0KPj4gKyAqIEByZXR1cm4NCj4+ ICsgKiAgLSAwOiBTdWNjZXNzDQo+PiArICogIC0gPDA6IEVycm9yIGNvZGUgb24gZmFpbHVyZS4N Cj4+ICsgKi8NCj4+ICtfX3J0ZV9leHBlcmltZW50YWwNCj4+ICtpbnQNCj4+ICtydGVfZXZlbnRf ZGlzcGF0Y2hlcl9yZWdpc3Rlcih1aW50OF90IGlkLCB1aW50OF90IHF1ZXVlX2lkLA0KPj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcnRlX2V2ZW50X2Rpc3BhdGNoZXJfY2JfdCBjYl9m dW4sIHZvaWQgKmNiX2RhdGEpOw0KPj4gKw0KPj4gKy8qKg0KPj4gKyAqIFVucmVnaXN0ZXIgYSBj YWxsYmFjayBmdW5jdGlvbiBmb3IgdGhlIHNwZWNpZmllZCBxdWV1ZSBpZGVudGlmaWVyLg0KPj4g KyAqDQo+PiArICogQHBhcmFtIGlkDQo+PiArICogIFRoZSBldmVudCBkaXNwYXRjaGVyIGlkZW50 aWZpZXIuDQo+PiArICoNCj4+ICsgKiBAcGFyYW0gcXVldWVfaWQNCj4+ICsgKiAgVGhlIGV2ZW50 IGRldmljZSBxdWV1ZSBpZCBmb3Igd2hpY2ggdGhlIGNhbGxiYWNrIHNob3VsZCBiZSByZW1vdmVk Lg0KPj4gKyAqDQo+PiArICogQHJldHVybg0KPj4gKyAqICAtIDA6IFN1Y2Nlc3MNCj4+ICsgKiAg LSA8MDogRXJyb3IgY29kZSBvbiBmYWlsdXJlLg0KPj4gKyAqLw0KPj4gK19fcnRlX2V4cGVyaW1l bnRhbA0KPj4gK2ludA0KPj4gK3J0ZV9ldmVudF9kaXNwYXRjaGVyX3VucmVnaXN0ZXIodWludDhf dCBpZCwgdWludDhfdCBxdWV1ZV9pZCk7DQo+PiArDQo+PiArLyoqDQo+PiArICogUmVnaXN0ZXIg YSBmYWxsYmFjayBjYWxsYmFjayBmdW5jdGlvbiBmb3IgdGhlIHNwZWNpZmllZCBxdWV1ZQ0KPj4g KyAqIGlkZW50aWZpZXIuDQo+PiArICoNCj4+ICsgKiBPbmx5IGV2ZW50cyBmb3Igd2hpY2ggbm8g cXVldWUtc3BlY2lmaWMgY2FsbGJhY2sgZnVuY3Rpb24gd2lsbCBiZQ0KPj4gKyAqIGRpc3BhdGNo ZWQgdG8gdGhlIEBwIGNiX2Z1biBjYWxsYmFjay4NCj4+ICsgKg0KPj4gKyAqIEF0IG1vc3Qgb25l IGNhbGxiYWNrIGZhbGxiYWNrIGZ1bmN0aW9uIG1heSBiZSByZWdpc3RlcmVkLg0KPj4gKyAqDQo+ PiArICogRm9yIGVhY2ggY2FsbGJhY2sgaW52b2NhdGlvbiwgb25seSBldmVudHMgYmVsb25naW5n IHRvIGEgc2luZ2xlDQo+PiArICogcXVldWUgaWQgd2lsbCBiZSBpbmNsdWRlZC4NCj4+ICsgKg0K Pj4gKyAqIElmIHRoZSBldmVudCBkaXNwYXRjaGVyIGVuY291bnRlcnMgYW4gZXZlbnQgd2l0aCBh IHF1ZXVlIGlkIGZvcg0KPj4gKyAqIHdoaWNoIHRoZSBhcHBsaWNhdGlvbiBoYXMgbm90IHJlZ2lz dGVyZWQgYW55IHNwZWNpZmljIGNhbGxiYWNrLCBhbmQNCj4+ICsgKiB0aGVyZSBpcyBhbHNvIG5v IGZhbGxiYWNrIGNvbmZpZ3VyZWQsIHRoZSBldmVudCB3aWxsIGJlIGRyb3BwZWQuDQo+PiArICoN Cj4+ICsgKiBAcGFyYW0gaWQNCj4+ICsgKiAgVGhlIGV2ZW50IGRpc3BhdGNoZXIgaWRlbnRpZmll ci4NCj4+ICsgKg0KPj4gKyAqIEBwYXJhbSBjYl9mdW4NCj4+ICsgKiAgVGhlIGZhbGxiYWNrIGNh bGxiYWNrIGZ1bmN0aW9uLg0KPj4gKyAqDQo+PiArICogQHBhcmFtIGNiX2RhdGENCj4+ICsgKiAg QSBwb2ludGVyIHRvIHNvbWUgYXBwbGljYXRpb24tc3BlY2lmaWMgb3BhcXVlIGRhdGEgKG9yIE5V TEwpLA0KPj4gKyAqICB3aGljaCBpcyBzdXBwbGllZCBiYWNrIHRvIHRoZSBhcHBsaWNhdGlvbiBp biB0aGUgY2FsbGJhY2suDQo+PiArICoNCj4+ICsgKiBAcmV0dXJuDQo+PiArICogIC0gMDogU3Vj Y2Vzcw0KPj4gKyAqICAtIDwwOiBFcnJvciBjb2RlIG9uIGZhaWx1cmUuDQo+PiArICovDQo+PiAr X19ydGVfZXhwZXJpbWVudGFsDQo+PiAraW50DQo+PiArcnRlX2V2ZW50X2Rpc3BhdGNoZXJfcmVn aXN0ZXJfZmFsbGJhY2sodWludDhfdCBpZCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJ0ZV9ldmVudF9kaXNwYXRjaGVyX2NiX3QgY2JfZnVuLA0KPj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqY2JfZGF0YSk7DQo+PiArDQo+ PiArLyoqDQo+PiArICogVW5yZWdpc3RlciB0aGUgZmFsbGJhY2sgY2FsbGJhY2sgZnVuY3Rpb24u DQo+PiArICoNCj4+ICsgKiBAcGFyYW0gaWQNCj4+ICsgKiAgVGhlIGV2ZW50IGRpc3BhdGNoZXIg aWRlbnRpZmllci4NCj4+ICsgKg0KPj4gKyAqIEByZXR1cm4NCj4+ICsgKiAgLSAwOiBTdWNjZXNz DQo+PiArICogIC0gPDA6IEVycm9yIGNvZGUgb24gZmFpbHVyZS4NCj4+ICsgKi8NCj4+ICtfX3J0 ZV9leHBlcmltZW50YWwNCj4+ICtpbnQNCj4+ICtydGVfZXZlbnRfZGlzcGF0Y2hlcl91bnJlZ2lz dGVyX2ZhbGxiYWNrKHVpbnQ4X3QgaWQpOw0KPj4gKw0KPj4gKyNpZmRlZiBfX2NwbHVzcGx1cw0K Pj4gK30NCj4+ICsjZW5kaWYNCj4+ICsNCj4+ICsjZW5kaWYgLyogX19SVEVfRVZFTlRfRElTUEFU Q0hFUl9fICovDQo+PiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRk ZXZfdmVyc2lvbi5tYXAgYi9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRldl92ZXJzaW9u Lm1hcA0KPj4gaW5kZXggOTFhNjJjZDA3Ny4uZGNiODg3NjAxYiAxMDA2NDQNCj4+IC0tLSBhL2xp Yi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50ZGV2X3ZlcnNpb24ubWFwDQo+PiArKysgYi9saWIv bGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRldl92ZXJzaW9uLm1hcA0KPj4gQEAgLTEzNCw0ICsx MzQsMTQgQEAgRVhQRVJJTUVOVEFMIHsNCj4+ICAgICAgICAgIF9fcnRlX2V2ZW50ZGV2X3RyYWNl X2NyeXB0b19hZGFwdGVyX3F1ZXVlX3BhaXJfZGVsOw0KPj4gICAgICAgICAgX19ydGVfZXZlbnRk ZXZfdHJhY2VfY3J5cHRvX2FkYXB0ZXJfc3RhcnQ7DQo+PiAgICAgICAgICBfX3J0ZV9ldmVudGRl dl90cmFjZV9jcnlwdG9fYWRhcHRlcl9zdG9wOw0KPj4gKw0KPj4gKyAgICAgICBydGVfZXZlbnRf ZGlzcGF0Y2hlcl9jcmVhdGU7DQo+PiArICAgICAgIHJ0ZV9ldmVudF9kaXNwYXRjaGVyX2ZyZWU7 DQo+PiArICAgICAgIHJ0ZV9ldmVudF9kaXNwYXRjaGVyX3NlcnZpY2VfaWRfZ2V0Ow0KPj4gKyAg ICAgICBydGVfZXZlbnRfZGlzcGF0Y2hlcl9iaW5kX3BvcnRfdG9fbGNvcmU7DQo+PiArICAgICAg IHJ0ZV9ldmVudF9kaXNwYXRjaGVyX3VuYmluZF9wb3J0X2Zyb21fbGNvcmU7DQo+PiArICAgICAg IHJ0ZV9ldmVudF9kaXNwYXRjaGVyX3JlZ2lzdGVyOw0KPj4gKyAgICAgICBydGVfZXZlbnRfZGlz cGF0Y2hlcl91bnJlZ2lzdGVyOw0KPj4gKyAgICAgICBydGVfZXZlbnRfZGlzcGF0Y2hlcl9yZWdp c3Rlcl9mYWxsYmFjazsNCj4+ICsgICAgICAgcnRlX2V2ZW50X2Rpc3BhdGNoZXJfdW5yZWdpc3Rl cl9mYWxsYmFjazsNCj4+ICAgfTsNCj4+IC0tDQo+PiAyLjI1LjENCj4+DQoNCg==