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 B2713A0A02 for ; Thu, 14 Jan 2021 07:07:29 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 84082140D24; Thu, 14 Jan 2021 07:07:29 +0100 (CET) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60068.outbound.protection.outlook.com [40.107.6.68]) by mails.dpdk.org (Postfix) with ESMTP id 1EA6B140D24; Thu, 14 Jan 2021 07:07:28 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=72zumI1Ahag93n3Y5YwMRCJ2p2nhuc5pJTov6jYRs4s=; b=+KNzfwUU0oENbrZAL8GGutLNpSkj5jXNe2x0USP6fzAV/JKOG2auY+mQ9iAZfIgmUe3rVJegRJrKY6JqJi1ZbI+hs9LsSaWVkN9/Gd27E0beJ+5rJeKADLx7ZoYlIIP8w15KY4t0urbVaHlX6WJNBtnxZTHQ7bNURmXeMviL5tQ= Received: from AS8PR04CA0101.eurprd04.prod.outlook.com (2603:10a6:20b:31e::16) by VI1PR0802MB2558.eurprd08.prod.outlook.com (2603:10a6:800:ae::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Thu, 14 Jan 2021 06:07:25 +0000 Received: from AM5EUR03FT043.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:31e:cafe::79) by AS8PR04CA0101.outlook.office365.com (2603:10a6:20b:31e::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.9 via Frontend Transport; Thu, 14 Jan 2021 06:07:24 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT043.mail.protection.outlook.com (10.152.17.43) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Thu, 14 Jan 2021 06:07:24 +0000 Received: ("Tessian outbound 28c96a6c9d2e:v71"); Thu, 14 Jan 2021 06:07:24 +0000 X-CR-MTA-TID: 64aa7808 Received: from b5d4ee94c628.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 254C2696-CE8A-4D44-BD61-AAC5C3ED30F2.1; Thu, 14 Jan 2021 06:07:19 +0000 Received: from EUR01-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b5d4ee94c628.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 14 Jan 2021 06:07:19 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CswLNLhnuKbu6wRB1tvt0rXo0B8DeLpPusjAmRrZ/7YwLiUYpYV/ec3OaFZEwzzPf7flqneUTjJjpgd+W1o5kYVFaamUgnae7rCyNUP7X/xtybmJZNXlFLBmz7ehPR99JfnrVJgDkzdaoN/W23tM5jhk2OYkJy7FlS4UtCCM0uZfpCk5u0UhY3yOG+ERyZqDx7KcUAhOib72XZDrgqU8cS/ipN1muhOsH5FkjgPadsBr8JEsPjkNHYhVfRizHGsj51sYmuRT/vny8NwVLsTxIe6oDBDRe+Nl34r8dVW1qQdVrUxTpTH6Nnbn700aX7k2dtR8VBO/BmVpQVLwVLdipw== 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=72zumI1Ahag93n3Y5YwMRCJ2p2nhuc5pJTov6jYRs4s=; b=flPj69a7Jqqs6mjmeOFjvsOhGfizUNOPwhgpyCqelzxNGSbzub2/WbTOqHr3tALTBEv8dYQ05nVS6Hugy26KeJtGvcQvx5fWKCSD8KPbm/Zyx19U+QiD2a5F4OFsvrM3ZnfwSW9OIiQqaBSZprdnBkzLhJPT5UIjqEI3tykX69bGNlzXmtjU+SIOIMhh84BkQKIX64rhc0rYZ2jQie6auBCvuMykAoBvGhAl1ogxzX7mw+ys0hCxvwf+k/SwDLVsFdCMYlXmv7TtBmVMdiLcw/lM9On479tzXe34+bfbtT0hdtIZ1eTjfZEpmLFHA0ho429Aje/D4NSEHiusOvvJKg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=72zumI1Ahag93n3Y5YwMRCJ2p2nhuc5pJTov6jYRs4s=; b=+KNzfwUU0oENbrZAL8GGutLNpSkj5jXNe2x0USP6fzAV/JKOG2auY+mQ9iAZfIgmUe3rVJegRJrKY6JqJi1ZbI+hs9LsSaWVkN9/Gd27E0beJ+5rJeKADLx7ZoYlIIP8w15KY4t0urbVaHlX6WJNBtnxZTHQ7bNURmXeMviL5tQ= Received: from DBBPR08MB4411.eurprd08.prod.outlook.com (2603:10a6:10:cb::17) by DB7PR08MB3434.eurprd08.prod.outlook.com (2603:10a6:10:42::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.9; Thu, 14 Jan 2021 06:07:16 +0000 Received: from DBBPR08MB4411.eurprd08.prod.outlook.com ([fe80::19c2:8f5f:aabb:16fc]) by DBBPR08MB4411.eurprd08.prod.outlook.com ([fe80::19c2:8f5f:aabb:16fc%7]) with mapi id 15.20.3763.009; Thu, 14 Jan 2021 06:07:16 +0000 From: Feifei Wang To: Pavan Nikhilesh Bhagavatula , "jerinj@marvell.com" , Harry van Haaren CC: "dev@dpdk.org" , nd , Honnappa Nagarahalli , "stable@dpdk.org" , Ruifeng Wang , nd Thread-Topic: [RFC PATCH v1 4/6] app/eventdev: add release barriers for pipeline test Thread-Index: AdbYTEUe8OVHSkoHRIaSsOPrfVwqLgK45xmgAAQ//VAAiB8+AAAN29ZgAAG0vQAAAxeGUADDT8/QAAMme3A= Date: Thu, 14 Jan 2021 06:07:16 +0000 Message-ID: References: In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 9FBD88C63263AC4F94B1EC3A9C6387FB.0 x-checkrecipientchecked: true Authentication-Results-Original: marvell.com; dkim=none (message not signed) header.d=none;marvell.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [203.126.0.111] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: d7feba50-aa6a-4af6-f13f-08d8b852a9b8 x-ms-traffictypediagnostic: DB7PR08MB3434:|VI1PR0802MB2558: x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:4502;OLM:4502; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: GXjx6Z+NAXAI3a72iflRL+eBjbF2UyHDexcrudhjP3cSTMZLZ+93Yi8qeF3s0VqXvoIrkEz+na57gQk8McVouF3kwZ/hoOUdlRIfyUiPYIpIiQ3tVmr/UQBGsLtxBTBgw7zcT/oWVhbjGuVC947mqfOOi6aToj9M2GocR/GQjv16SVGV3a8FtX69QDVjdQWLeSzD7i7SQlbPK9ypQU1LXdNkdifA+GrHJFT7NSWjTw19ieXVrhsYYb+0rCa5eliPh+gIV4rpYsU3hbdPm0FsX2uAUCuhZeotG9hNNYIpC0QHhtIqpDfnTbUcxjRhX+YGLSV2IAYeYdkQyD48yta5ksPTSxqFqZmItO45eXqOEAytmfHVsm0AfXbFNhvj+g7n61mY73d/Oh45FeBTizT7KVD+k4cLWbNkl486UMqhmw6Qni5elSRQmorbDFf2LebNxeswcJZYkV5zF7yXhikF9Q== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBBPR08MB4411.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(366004)(136003)(376002)(39860400002)(346002)(30864003)(86362001)(224303003)(83380400001)(26005)(478600001)(66446008)(5660300002)(8936002)(54906003)(64756008)(66556008)(110136005)(2906002)(55016002)(9686003)(52536014)(76116006)(6506007)(186003)(71200400001)(316002)(33656002)(66946007)(7696005)(66476007)(4326008)(559001)(579004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?UVpWaXlLUFZKNHZUc0VFL2JodFEwSm5uTWZGc3Exdk41ZE9tYUY2OFdyc2hm?= =?utf-8?B?SUg4T3QxbzhGT2N2QjJINXYrT2hueEtESm1sQjI4cE8yWFlpZXdnUGFhTG54?= =?utf-8?B?QlpIRkpBcEo2M2ZuZUFwM0dxa2dIbGVUb2tlUmZ4UUhpakl1d2FrT2NFd29o?= =?utf-8?B?a2RFNjBydWx5VFZINnFUT0ZmTnd5bzY4TSswRlBHWUVudS9XeFVPU0lTMzF2?= =?utf-8?B?QWFwUlhobzlkcHFnTHZZUEtwRVFqYVRFZmlBRTZGbmgwMTErL1F6ZlMyaGkz?= =?utf-8?B?RWQxZHFtNmJOd0J0OWVqSkVwZkk2QlFHRjZXTk82NTNLd044akgxU2c4U0d5?= =?utf-8?B?MHFRZGp6MVJOelZxa2ZJWGhhN0p1UlF4Z1JzWTIzQUhmQmtobXNWdjNJV25z?= =?utf-8?B?bEczaERKeWNyVXkyTlhvS2FTaWdKUm85a3p4OGRCNzZJR0ppbUxudHNwUytJ?= =?utf-8?B?UXhZZHlDdTY4a1FmVi9zOWFicndVRU9mZHpGVnBiUWZWVDRkWjNyYUlGYTUr?= =?utf-8?B?UDdvSU1wd3ZEd0F0SWhXa0x4NW16Mnp3MG1WUytyUnN1Z1l4dHRXNys2akx5?= =?utf-8?B?M0lHVDJCSVBLZ1lKcXY4cDcxMzF4SnQwYjJQMHBlSVZmdjIwSXQrbWFvbmhN?= =?utf-8?B?MGpmN2ptd1pWVGoyRFY4ZEM4dGNBUEZBSmRaZklnQzlGVGlEVlRRWWZHN3Bv?= =?utf-8?B?R2NrNWczWG9kdWh4bzAzSVpOeDNNdUZoSXhESzVqQVZjTXFHTDh3akJEc0JP?= =?utf-8?B?TVNIT29TMHhBb2tzemhiZDhQaHZseW9kZ2F1cnVMZldzeGwvMHVDQlQyUGM4?= =?utf-8?B?Q2R4Um96cUZ5S3NaV3UvTnlMblYxTG9uUXowcnRiNC93RUxtU2pNR05ISExL?= =?utf-8?B?eHA0bXFDMmtDQ2JZT2tlNERxVFJSVlpxVUIxMnpxUUsvdkR1ZldzTFZmWStP?= =?utf-8?B?NFhXSndmd29BTGJrZkxzWUZzN1o2TzlrTHJaRkpkb2YyVzh1ZG9NM3JYSHZI?= =?utf-8?B?RlAya0FHcStTZlNiTk9rRytqYVlyL2pudFBGMVBwVmNDZUlsUkpmd2pHenBL?= =?utf-8?B?b2pUVnM4OU9FeVhEWWFjYlJOOS9pREFLWVJ2bUtwMVZTOFY5REcwaHBHd0t4?= =?utf-8?B?V0FCaS9weWlhVnYxbG5LMFU0ZHlLUXkyYWtMSWsrWjQxWTlXMDRiemhYaEl3?= =?utf-8?B?N3Z0WFpWUkhzSmNHYW1VK2NjbjNJcGJoNXMxNStQSlpDN0VLeEx4OURSdXhr?= =?utf-8?B?RHNJSlorWU5lTmgrcU13M0FHWWlGNlBvRmdrREhaOVpOQkFWL2F6WkIweWtD?= =?utf-8?Q?eyBEQ+eIrqdXs=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3434 Original-Authentication-Results: marvell.com; dkim=none (message not signed) header.d=none;marvell.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT043.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 44917f71-01f5-4aa9-84c5-08d8b852a4f7 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rKANqvkLIVK7I1s9Eddv8icEN0AYu+KrPCxnq2hTpTAyTFMus5DGvsbcS7zL5389g35LdMwrmoDMDd9UH+eN30O07BWholM6OBsZajhFHrs8TLPbsRtKRkv61FccFzbBUbEZXfOAWhxPApz3nM7eZeqZ17+Ktn30cBYbDRUPQT+FD3IOlmFQ0/Ni5VGac7RMxlyLgvyJkG9A9Naogsf5svs1PqTbQO9S8ZJ2tmYLiL5bmJzL05D1lPPwM+AySd1uv0S90e5ZPSsr9HmTdtFMi5bMQKl59IBgw6s5IG1YSZBk5tU41c0GXQkk6SJgBvrdCovB3AWsByMRNT+ACrBRl3vsFnFNxFKYK+pgan5a6d4tEPDhFXxq5WOF0i0LWTYowH288pnt1tkDh15zvDyarr9ulP5l/eaNEWte0eGqbQNguUAMREyN6qpj/qh+NZBNGyiPWvYxoU5MkVY431tQag3acXhEfVffSfkhHFsn+XJEO/kO2hv6kqXYllayjB+AAbLS4zj5TfhPjYevcnb2VWlO8LDrYHeTHrMtTK95BXPWyY1E2Ymb/ynVvClEKbOr X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(376002)(136003)(346002)(39850400004)(396003)(46966006)(478600001)(6506007)(54906003)(83380400001)(26005)(52536014)(186003)(86362001)(70206006)(336012)(316002)(224303003)(110136005)(30864003)(9686003)(356005)(5660300002)(8936002)(82740400003)(450100002)(7696005)(81166007)(70586007)(47076005)(4326008)(34020700004)(33656002)(2906002)(82310400003)(55016002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2021 06:07:24.6414 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d7feba50-aa6a-4af6-f13f-08d8b852a9b8 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM5EUR03FT043.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0802MB2558 Subject: [dpdk-stable] =?utf-8?b?5Zue5aSNOiBbUkZDIFBBVENIIHYxIDQvNl0gYXBw?= =?utf-8?q?/eventdev=3A_add_release_barriers_for_pipeline_test?= X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" SGksIFBhdmFuDQoNCj4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPiDlj5Hku7bkuro6IFBhdmFu IE5pa2hpbGVzaCBCaGFnYXZhdHVsYSA8cGJoYWdhdmF0dWxhQG1hcnZlbGwuY29tPg0KPiDlj5Hp gIHml7bpl7Q6IDIwMjHlubQx5pyIMTLml6UgMTY6MjkNCj4g5pS25Lu25Lq6OiBGZWlmZWkgV2Fu ZyA8RmVpZmVpLldhbmcyQGFybS5jb20+OyBqZXJpbmpAbWFydmVsbC5jb207IEhhcnJ5DQo+IHZh biBIYWFyZW4gPGhhcnJ5LnZhbi5oYWFyZW5AaW50ZWwuY29tPg0KPiDmioTpgIE6IGRldkBkcGRr Lm9yZzsgbmQgPG5kQGFybS5jb20+OyBIb25uYXBwYSBOYWdhcmFoYWxsaQ0KPiA8SG9ubmFwcGEu TmFnYXJhaGFsbGlAYXJtLmNvbT47IHN0YWJsZUBkcGRrLm9yZzsgUnVpZmVuZyBXYW5nDQo+IDxS dWlmZW5nLldhbmdAYXJtLmNvbT47IG5kIDxuZEBhcm0uY29tPjsgbmQgPG5kQGFybS5jb20+OyBu ZA0KPiA8bmRAYXJtLmNvbT4NCj4g5Li76aKYOiBSRTogW1JGQyBQQVRDSCB2MSA0LzZdIGFwcC9l dmVudGRldjogYWRkIHJlbGVhc2UgYmFycmllcnMgZm9yIHBpcGVsaW5lDQo+IHRlc3QNCj4gDQo+ IEhpIEZlaWZlaSwNCj4gDQo+ID5IaSBGZWlmZWksDQo+ID4NCj4gPj5IaSwgUGF2YW4NCj4gPj4N Cj4gPj4+IC0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4gPj4+IOWPkeS7tuS6ujogUGF2YW4gTmlr aGlsZXNoIEJoYWdhdmF0dWxhIDxwYmhhZ2F2YXR1bGFAbWFydmVsbC5jb20+DQo+ID4+PiDlj5Hp gIHml7bpl7Q6IDIwMjHlubQx5pyIOOaXpSAxNzoxMw0KPiA+Pj4g5pS25Lu25Lq6OiBGZWlmZWkg V2FuZyA8RmVpZmVpLldhbmcyQGFybS5jb20+Ow0KPiA+amVyaW5qQG1hcnZlbGwuY29tOw0KPiA+ PkhhcnJ5DQo+ID4+PiB2YW4gSGFhcmVuIDxoYXJyeS52YW4uaGFhcmVuQGludGVsLmNvbT4NCj4g Pj4+IOaKhOmAgTogZGV2QGRwZGsub3JnOyBuZCA8bmRAYXJtLmNvbT47IEhvbm5hcHBhIE5hZ2Fy YWhhbGxpDQo+ID4+PiA8SG9ubmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNvbT47IHN0YWJsZUBkcGRr Lm9yZzsgUnVpZmVuZw0KPiA+V2FuZw0KPiA+Pj4gPFJ1aWZlbmcuV2FuZ0Bhcm0uY29tPjsgbmQg PG5kQGFybS5jb20+OyBuZCA8bmRAYXJtLmNvbT4NCj4gPj4+IOS4u+mimDogUkU6IFtSRkMgUEFU Q0ggdjEgNC82XSBhcHAvZXZlbnRkZXY6IGFkZCByZWxlYXNlIGJhcnJpZXJzIGZvcg0KPiA+PnBp cGVsaW5lDQo+ID4+PiB0ZXN0DQo+ID4+Pg0KPiA+Pj4gSGkgRmVpZmVpLA0KPiA+Pj4NCj4gPj4+ ID5IaSwgUGF2YW4NCj4gPj4+ID4NCj4gPj4+ID4NCj4gPj4+ID4NCj4gPj4+ID4+IC0tLS0t6YKu 5Lu25Y6f5Lu2LS0tLS0NCj4gPj4+ID4NCj4gPj4+ID4+IOWPkeS7tuS6ujogUGF2YW4gTmlraGls ZXNoIEJoYWdhdmF0dWxhDQo+ID4+PG1haWx0bzpwYmhhZ2F2YXR1bGFAbWFydmVsbC5jb20+DQo+ ID4+PiA+DQo+ID4+PiA+PiDlj5HpgIHml7bpl7Q6IDIwMjHlubQx5pyINeaXpSAxNzoyOQ0KPiA+ Pj4gPg0KPiA+Pj4gPj4g5pS25Lu25Lq6OiBGZWlmZWkgV2FuZyA8bWFpbHRvOkZlaWZlaS5XYW5n MkBhcm0uY29tPjsNCj4gPj5tYWlsdG86amVyaW5qQG1hcnZlbGwuY29tOw0KPiA+Pj4gPkhhcnJ5 DQo+ID4+PiA+DQo+ID4+PiA+PiB2YW4gSGFhcmVuIDxtYWlsdG86aGFycnkudmFuLmhhYXJlbkBp bnRlbC5jb20+DQo+ID4+PiA+DQo+ID4+PiA+PiDmioTpgIE6IG1haWx0bzpkZXZAZHBkay5vcmc7 IG5kIDxtYWlsdG86bmRAYXJtLmNvbT47DQo+ID5Ib25uYXBwYQ0KPiA+Pk5hZ2FyYWhhbGxpDQo+ ID4+PiA+DQo+ID4+PiA+PiA8bWFpbHRvOkhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5jb20+Ow0K PiA+Pm1haWx0bzpzdGFibGVAZHBkay5vcmc7IFJ1aWZlbmcgV2FuZw0KPiA+Pj4gPg0KPiA+Pj4g Pj4gPG1haWx0bzpSdWlmZW5nLldhbmdAYXJtLmNvbT47IG5kIDxtYWlsdG86bmRAYXJtLmNvbT4N Cj4gPj4+ID4NCj4gPj4+ID4+IOS4u+mimDogUkU6IFtSRkMgUEFUQ0ggdjEgNC82XSBhcHAvZXZl bnRkZXY6IGFkZCByZWxlYXNlIGJhcnJpZXJzDQo+ID4+Zm9yDQo+ID4+PiA+cGlwZWxpbmUNCj4g Pj4+ID4NCj4gPj4+ID4+IHRlc3QNCj4gPj4+ID4NCj4gPj4+ID4+DQo+ID4+PiA+DQo+ID4+PiA+ PiBIaSBGZWlmZWksDQo+ID4+PiA+DQo+ID4+PiA+Pg0KPiA+Pj4gPg0KPiA+Pj4gPj4gPkhpLCBQ YXZhbg0KPiA+Pj4gPg0KPiA+Pj4gPj4gPg0KPiA+Pj4gPg0KPiA+Pj4gPj4gPlNvcnJ5IGZvciBt eSBsYXRlIHJlcGx5IGFuZCB0aGFua3MgdmVyeSBtdWNoIGZvciB5b3VyIHJldmlldy4NCj4gPj4+ ID4NCj4gPj4+ID4+ID4NCj4gPj4+ID4NCj4gPj4+ID4+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+ID4+PiA+DQo+ID4+PiA+PiA+PiBGcm9tOiBQYXZhbiBOaWtoaWxlc2ggQmhhZ2F2 YXR1bGENCj4gPj4+DQo+ID4+PjxtYWlsdG86cGJoYWdhdmF0dWxhQG1hcnZlbGwuY29tPG1haWx0 bzpwYmhhZ2F2YXR1bGFAbWFydmVsbC4NCj4gPmMNCj4gPj5vbT4+DQo+ID4+PiA+DQo+ID4+PiA+ PiA+PiBTZW50OiAyMDIw5bm0MTLmnIgyMuaXpSAxODozMw0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4g VG86IEZlaWZlaSBXYW5nDQo+ID4+Pg0KPiA+PjxtYWlsdG86RmVpZmVpLldhbmcyQGFybS5jb208 bWFpbHRvOkZlaWZlaS5XYW5nMkBhcm0uY29tPj47DQo+ID4+PiA+bWFpbHRvOmplcmluakBtYXJ2 ZWxsLmNvbTxtYWlsdG86amVyaW5qQG1hcnZlbGwuY29tPjsNCj4gPj4+ID4NCj4gPj4+ID4+ID5I YXJyeSB2YW4NCj4gPj4+ID4NCj4gPj4+ID4+ID4+IEhhYXJlbg0KPiA+Pj4NCj4gPj4+PG1haWx0 bzpoYXJyeS52YW4uaGFhcmVuQGludGVsLmNvbTxtYWlsdG86aGFycnkudmFuLmhhYXJlbkBpbnRl bA0KPiA+Lg0KPiA+PmNvbT4+Ow0KPiA+Pj4gPlBhdmFuIE5pa2hpbGVzaA0KPiA+Pj4gPg0KPiA+ Pj4gPj4gPj4NCj4gPj4+DQo+ID4+PjxwYmhhZ2F2YXR1bGFAY2F2aXVtbmV0d29ya3MuY29tPG1h aWx0bzpwYmhhZ2F2YXR1bGFAY2F2aXUNCj4gPm0NCj4gPj5uDQo+ID4+PiA+ZXR3b3Jrcy5jb20+ Pg0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gQ2M6IG1haWx0bzpkZXZAZHBkay5vcmc8bWFpbHRvOmRl dkBkcGRrLm9yZz47IG5kDQo+ID4+PiA+PG1haWx0bzpuZEBhcm0uY29tPG1haWx0bzpuZEBhcm0u Y29tPj47IEhvbm5hcHBhDQo+ID4+TmFnYXJhaGFsbGkNCj4gPj4+ID4NCj4gPj4+ID4+ID4+DQo+ ID4+Pg0KPiA+Pj48SG9ubmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNvbTxtYWlsdG86SG9ubmFwcGEu TmFnYXJhaGFsbGlAYQ0KPiA+cg0KPiA+Pm0NCj4gPj4+ID4uY29tPj47IG1haWx0bzpzdGFibGVA ZHBkay5vcmc8bWFpbHRvOnN0YWJsZUBkcGRrLm9yZz47IFBoaWwNCj4gPj5ZYW5nDQo+ID4+PiA+ DQo+ID4+PiA+PiA+PiA8bWFpbHRvOlBoaWwuWWFuZ0Bhcm0uY29tPG1haWx0bzpQaGlsLllhbmdA YXJtLmNvbT4+DQo+ID4+PiA+DQo+ID4+PiA+PiA+PiBTdWJqZWN0OiBSRTogW1JGQyBQQVRDSCB2 MSA0LzZdIGFwcC9ldmVudGRldjogYWRkIHJlbGVhc2UNCj4gPj4+ID5iYXJyaWVycw0KPiA+Pj4g Pg0KPiA+Pj4gPj4gPmZvcg0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gcGlwZWxpbmUgdGVzdA0KPiA+ Pj4gPg0KPiA+Pj4gPj4gPj4NCj4gPj4+ID4NCj4gPj4+ID4+ID4+DQo+ID4+PiA+DQo+ID4+PiA+ PiA+PiA+QWRkIHJlbGVhc2UgYmFycmllcnMgYmVmb3JlIHVwZGF0aW5nIHRoZSBwcm9jZXNzZWQg cGFja2V0cw0KPiA+Zm9yDQo+ID4+PiA+DQo+ID4+PiA+PiA+d29ya2VyDQo+ID4+PiA+DQo+ID4+ PiA+PiA+PiA+bGNvcmVzIHRvIGVuc3VyZSB0aGUgd29ya2VyIGxjb3JlIGhhcyByZWFsbHkgZmlu aXNoZWQgZGF0YQ0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPnByb2Nlc3NpbmcgYW5kIHRoZW4gaXQg Y2FuIHVwZGF0ZSB0aGUgcHJvY2Vzc2VkIHBhY2tldHMNCj4gPj5udW1iZXIuDQo+ID4+PiA+DQo+ ID4+PiA+PiA+PiA+DQo+ID4+PiA+DQo+ID4+PiA+PiA+Pg0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4g SSBiZWxpZXZlIHdlIGNhbiBsaXZlIHdpdGggbWlub3IgaW5hY2N1cmFjaWVzIGluIHN0YXRzIGJl aW5nDQo+ID4+PiA+DQo+ID4+PiA+PiA+PiBwcmVzZW50ZWQNCj4gPj4+ID4NCj4gPj4+ID4+ID5h cw0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gYXRvbWljcyBhcmUgcHJldHR5IGhlYXZ5IHdoZW4gc2No ZWR1bGVyIGlzIGxpbWl0ZWQgdG8gYnVyc3QNCj4gPnNpemUNCj4gPj4+ID4+ID4+IGFzDQo+ID4+ PiA+MS4NCj4gPj4+ID4NCj4gPj4+ID4+ID4+DQo+ID4+PiA+DQo+ID4+PiA+PiA+PiBPbmUgb3B0 aW9uIGlzIHRvIG1vdmUgaXQgYmVmb3JlIGEgcGlwZWxpbmUgb3BlcmF0aW9uDQo+ID4+PiA+DQo+ ID4+PiA+PiA+KHBpcGVsaW5lX2V2ZW50X3R4LA0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gcGlwZWxp bmVfZndkX2V2ZW50IGV0Yy4pIGFzIHRoZXkgaW1wbHkgaW1wbGljaXQgcmVsZWFzZQ0KPiA+Pj4g Pj4gPj4gYmFycmllciAoYXMNCj4gPj4+ID4NCj4gPj4+ID4+ID4+IGFsbA0KPiA+Pj4gPg0KPiA+ Pj4gPj4gPnRoZQ0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gY2hhbmdlcyBkb25lIHRvIHRoZSBldmVu dCBzaG91bGQgYmUgdmlzaWJsZSB0byB0aGUgbmV4dCBjb3JlKS4NCj4gPj4+ID4NCj4gPj4+ID4+ ID4NCj4gPj4+ID4NCj4gPj4+ID4+ID5JZiBJIHVuZGVyc3RhbmQgY29ycmVjdGx5LCB5b3VyIG1l YW5pbmcgaXMgdGhhdCBtb3ZlIHJlbGVhc2UNCj4gPj4+ID4+ID5iYXJyaWVycw0KPiA+Pj4gPg0K PiA+Pj4gPj4gPmJlZm9yZSBwaXBlbGluZV9ldmVudF90eCBvciBwaXBlbGluZV9md2RfZXZlbnQu IFRoaXMgY2FuIGVuc3VyZQ0KPiA+PnRoZQ0KPiA+Pj4gPg0KPiA+Pj4gPj4gPmV2ZW50IGhhcyBi ZWVuIHByb2Nlc3NlZCBiZWZvcmUgdGhlIG5leHQgY29yZSBiZWdpbnMgdG8gdHgvZndkLg0KPiA+ PkZvcg0KPiA+Pj4gPg0KPiA+Pj4gPj4gPmV4YW1wbGU6DQo+ID4+PiA+DQo+ID4+PiA+Pg0KPiA+ Pj4gPg0KPiA+Pj4gPj4gV2hhdCBJIG1lYW50IHdhcyBldmVudCBBUElzIHN1Y2ggYXMgYHJ0ZV9l dmVudF9lbnF1ZXVlX2J1cnN0YCwNCj4gPj4+ID4NCj4gPj4+ID4+IGBydGVfZXZlbnRfZXRoX3R4 X2FkYXB0ZXJfZW5xdWV1ZWANCj4gPj4+ID4NCj4gPj4+ID4+IGFjdCBhcyBhbiBpbXBsaWNpdCBy ZWxlYXNlIGJhcnJpZXIgYW5kIHRoZSBBUEkNCj4gPj4+ID5gcnRlX2V2ZW50X2RlcXVldWVfYnVy c3RgIGFjdA0KPiA+Pj4gPg0KPiA+Pj4gPj4gYXMgYW4gaW1wbGljaXQgYWNxdWlyZSBiYXJyaWVy Lg0KPiA+Pj4gPg0KPiA+Pj4gPg0KPiA+Pj4gPg0KPiA+Pj4gPj4NCj4gPj4+ID4NCj4gPj4+ID4+ IFNpbmNlLCBwaXBlbGluZV8qIHRlc3Qgc3RhcnRzIHdpdGggYSBkZXF1ZXVlKCkgYW5kIGVuZHMg d2l0aCBhbg0KPiA+Pj4gPmVucXVldWUoKSBJDQo+ID4+PiA+DQo+ID4+PiA+PiBkb27igJl0IGJl bGlldmUgd2UgbmVlZCBiYXJyaWVycyBpbiBCZXR3ZWVuLg0KPiA+Pj4gPg0KPiA+Pj4gPg0KPiA+ Pj4gPg0KPiA+Pj4gPlNvcnJ5IGZvciBteSBtaXN1bmRlcnN0YW5kaW5nIHRoaXMuIEFuZCBJIGFn cmVlIHdpdGggeW91IHRoYXQgbm8NCj4gPj4+ID5iYXJyaWVycyBhcmUNCj4gPj4+ID4NCj4gPj4+ ID5uZWVkZWQgYmV0d2VlbiBkZXF1ZXVlIGFuZCBlbnF1ZXVlLg0KPiA+Pj4gPg0KPiA+Pj4gPg0K PiA+Pj4gPg0KPiA+Pj4gPk5vdywgbGV0J3MgZ28gYmFjayB0byB0aGUgYmVnaW5uaW5nLiBBY3R1 YWxseSB3aXRoIHRoaXMgcGF0Y2gsIG91cg0KPiA+Pj4gPmJhcnJpZXIgaXMgbWFpbmx5DQo+ID4+ PiA+DQo+ID4+PiA+Zm9yIHRoZSBzeW5jaHJvbm91cyB2YXJpYWJsZSAiIHctPnByb2Nlc3NlZF9w a3RzICIuIEFzIHdlIGFsbA0KPiA+a25vdywNCj4gPj50aGUNCj4gPj4+ID5ldmVudCBpcyBmaXJz dGx5DQo+ID4+PiA+DQo+ID4+PiA+ZGVxdWV1ZWQgYW5kIHRoZW4gZW5xdWV1ZWQsIGFmdGVyIHRo aXMsIHRoZSBldmVudCBjYW4gYmUgdHJlYXRlZA0KPiA+YXMNCj4gPj50aGUNCj4gPj4+ID5wcm9j ZXNzZWQgZXZlbnQNCj4gPj4+ID4NCj4gPj4+ID5hbmQgaW5jbHVkZWQgaW4gdGhlIHN0YXRpc3Rp Y3MoInctPnByb2Nlc3NlZF9wa3RzKysiKS4NCj4gPj4+ID4NCj4gPj4+ID4NCj4gPj4+ID4NCj4g Pj4+ID5UaHVzLCB3ZSBhZGQgYSByZWxlYXNlIGJhcnJpZXIgYmVmb3JlICIgdy0+cHJvY2Vzc2Vk X3BrdHMrKyIgaXMgdG8NCj4gPj4+ID5wcmV2ZW50IHRoaXMgb3BlcmF0aW9uDQo+ID4+PiA+DQo+ ID4+PiA+YmVpbmcgZXhlY3V0ZWQgYWhlYWQgb2YgdGltZS4gRm9yIGV4YW1wbGU6DQo+ID4+PiA+ DQo+ID4+PiA+ZGVxdWV1ZSAgLT4gIHctPnByb2Nlc3NlZF9wa3RzKysgIC0+ICBlbnF1ZXVlDQo+ ID4+PiA+DQo+ID4+PiA+VGhpcyBjYXVzZSB0aGF0IHRoZSB3b3JrZXIgZG9lc24ndCBhY3R1YWxs eSBmaW5pc2ggdGhpcyBldmVudA0KPiA+Pj4gPnByb2Nlc3NpbmcsIGJ1dCB0aGUgZXZlbnQgaXMg dHJlYXRlZA0KPiA+Pj4gPg0KPiA+Pj4gPmFzIHRoZSBwcm9jZXNzZWQgb25lIGFuZCBpbmNsdWRl ZCBpbiB0aGUgc3RhdGlzdGljcy4NCj4gPj4+ID4NCj4gPj4+DQo+ID4+PiBCdXQgdGhlIGN1cnJl bnQgc2VxdWVuY2UgaXMgZGVxdWV1ZS0+IGVucXVldWUtPiB3LQ0KPiBwcm9jZXNzZWRfcGt0cysr DQo+ID4+PmFuZCBlbnF1ZXVlIGFscmVhZHkgYWN0cyBhcyBhbiBleHBsaWNpdCByZWxlYXNlIGJh cnJpZXIgcmlnaHQ/DQo+ID4+Pg0KPiA+Pg0KPiA+PlNvcnJ5IG1heWJlIEkgY2Fubm90IHVuZGVy c3RhbmQgaG93IOKAnGVucXVldWXigJ0gYXMgYW4gZXhwbGljaXQgcmVsZWFzZQ0KPiA+PmJhcnJp ZXIuIEkgdGhpbmsgb2YgdHdvIHBvc3NpYmlsaXRpZXM6DQo+ID4+MS4gQXMgeW91IHNheSBiZWZv cmUsIGFsbCB0aGUgY2hhbmdlcyBkb25lIHRvIHRoZSBldmVudCBzaG91bGQgYmUNCj4gPnZpc2li bGUNCj4gPj50byB0aGUgbmV4dCBjb3JlIGFuZCBlbnF1ZXVlIGlzIGEgb3BlcmF0aW9uIGZvciBl dmVudCwgc28gdGhlIG5leHQNCj4gPmNvcmUNCj4gPj5zaG91bGQgd2FpdCBmb3IgdGhlIGV2ZW50 IHRvIGJlIGVucXVldWVkLg0KPiA+PkkgdGhpbmsgdGhpcyBpcyBkdWUgdG8gZGF0YSBkZXBlbmRl bmNlIGZvciB0aGUgc2FtZSB2YXJpYWJsZS4gSG93ZXZlciwNCj4gPj7igJh3LT5wcm9jZXNzZWRf cGt0c+KAmSBhbmQg4oCYZXbigJkgYXJlIGRpZmZlcmVudCB2YXJpYWJsZXMsIHNvIHRoaXMgY2Fu bm90DQo+ID4+cHJldmVudCDigJh3LT5wcm9jZXNzZWRfcGt0cysr4oCZIGJlZm9yZSBlbnF1ZXVl Lg0KPiA+PkFuZCB0aGUgbWFpbiBjb3JlIG1heSBsb2FkIHVwZGF0ZWQg4oCYdy0+cHJvY2Vzc2Vk X3BrdHPigJkgYnV0IGFjdHVhbGx5DQo+ID4+dGhlIGV2ZW50IGlzIHN0aWxsIGJlaW5nIHByb2Nl c3NlZC4gRm9yIGV4YW1wbGU6DQo+ID4+DQo+ID4+IFRpbWUgU2xvdAkgICBXb3JrZXIgMSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFpbiBjb3JlDQo+ID4+ICAgMSAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRlcXVldWUNCj4gPj4gICAyICAgICAgICAgICAgICAgICAg dy0+cHJvY2Vzc2VkX3BrdHMrKw0KPiA+PiAgIDMgICAgICAgICAgICAgICAgICAgICAgIAkJICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZCB3LQ0KPiA+PnByb2Nlc3NlZF9wa3RzDQo+ ID4+ICAgNCAgICAgICAgICAgICAgICAgICAgICAgICAgZW5xdWV1ZQ0KPiA+Pg0KPiA+PjIuIFNv bWUgcmVsZWFzZSBiYXJyaWVycyBoYXZlIGJlZW4gaW5jbHVkZWQgaW4gZW5xdWV1ZS4gVGhlcmUg aXMgYQ0KPiA+PnJlbGVhc2UgYmFycmllciBpbiBydGVfcmluZ19lbnF1ZXVlIDoNCj4gPj5tb3Zl IGhlYWQgLT4gY29weSBlbGVtZW50cyB0byB0aGUgcmluZyAtPiByZWxlYXNlIGJhcnJpZXIgLT4g dXBkYXRlDQo+ID50YWlsDQo+ID4+LT4gdy0+cHJvY2Vzc2VkX3BrdHMrKw0KPiA+Pkhvd2V2ZXIs IHRoaXMgYmFycmllciBjYW5ub3QgcHJldmVudCDigJh3LT5wcm9jZXNzZWRfcGt0cysr4oCZIGJl Zm9yZQ0KPiA+PnVwZGF0ZSB0YWlsLCBhbmQgd2hlbiB1cGRhdGVfdGFpbCBoYXMgYmVlbiBmaW5p c2hlZCwgdGhlIGVucXVldWUNCj4gPj5wcm9jZXNzICBjYW4gYmUgc2VlbiBjb21wbGV0ZWQuDQo+ ID4NCj4gPkkgd2FzIHRhbGtpbmcgYWJvdXQgY2FzZSAyIGluIHBhcnRpY3VsYXIgYWxtb3N0IGFs bCBlbnF1ZXVlIGNhbGxzIGhhdmUNCj4gPnNvbWUga2luZCBvZiByZWxlYXNlIGJhcnJpZXIgaW4g cGxhY2UuIEkgZG8gYWdyZWUgdy0+cHJvY2Vzc2VkX3BrdHMrKw0KPiA+bWlnaHQgZ2V0IHJlb3Jk ZXJlZCB3aXRoIHRhaWwgdXBkYXRlIGJ1dCBzaW5jZSBlbnF1ZXVlIGl0c2VsZiBpcyBhIGxkcg0K PiA+KyBibHIgSSB3YXMgaG9waW5nIHRoYXQgaXQgd291bGRuJ3Qgb2NjdXIuDQo+ID4NCj4gPldl IGNhbiBjb250aW51ZSB0aGUgZGlzY3Vzc2lvbiBvbmNlIEkgaGF2ZSBzb21lIHBlcmZvcm1hbmNl IGRhdGEuDQo+ID4NCj4gPlRoYW5rcyBmb3IgeW91ciBwYXRpZW5jZSA6KQ0KPiA+UGF2YW4uDQo+ ID4NCj4gPj4NCj4gPj4+ID4NCj4gPj4+ID4NCj4gPj4+DQo+ID4+Pl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gXw0KPiA+Xw0KPiA+Pj4g Xw0KPiA+Pj4gPl9fX19fX19fX19fX19fX19fX19fDQo+ID4+PiA+DQo+ID4+PiA+DQo+ID4+PiA+ DQo+ID4+PiA+QnkgdGhlIHdheSwgSSBoYXZlIHR3byBvdGhlciBxdWVzdGlvbnMgYWJvdXQgcGlw ZWxpbmUgcHJvY2VzcyB0ZXN0DQo+ID5pbg0KPiA+Pj4gPiJ0ZXN0X3BpcGVsaW5lX3F1ZXVlIi4N Cj4gPj4+ID4NCj4gPj4+ID4xLiB3aGVuIGRvIHdlIHN0YXJ0IGNvdW50aW5nIHByb2Nlc3NlZCBl dmVudHMgKHctDQo+ID4+PnByb2Nlc3NlZF9wa3RzKT8NCj4gPj4+ID4NCj4gPj4+ID5Gb3IgdGhl IGZ3ZCBtb2RlIChpbnRlcm5hbF9wb3J0ID0gZmFsc2UpLCB3aGVuIHdlIGNob29zZSBzaW5nbGUN Cj4gPj5zdGFnZSwNCj4gPj4+ID5hcHBsaWNhdGlvbiBpbmNyZW1lbnRzDQo+ID4+PiA+DQo+ID4+ PiA+dGhlIG51bWJlciBldmVudHMgcHJvY2Vzc2VkIGFmdGVyICJwaXBlbGluZV9ldmVudCBlbnF1 ZXVlIi4NCj4gPj4+ID5Ib3dldmVyLCB3aGVuIHdlIGNob29zZSBtdWx0aXBsZQ0KPiA+Pj4gPg0K PiA+Pj4gPnN0YWdlLCBhcHBsaWNhdGlvbiBpbmNyZW1lbnRzIHRoZSBudW1iZXIgZXZlbnRzIHBy b2Nlc3NlZCBiZWZvcmUNCj4gPj4+ID4icGlwbGVsaW5lX2V2ZW50X2VucXVldWUiLg0KPiA+Pj4N Cj4gPj4+IFdlIGNvdW50IGFuIGV2ZW50IGFzIHByb2Nlc3Mgd2hlbiBhbGwgdGhlIHN0YWdlcyBo YXZlIGNvbXBsZXRlZA0KPiA+PmFuZCBpdHMNCj4gPj4+IFRyYXNubWl0dGVkLg0KPiA+Pj4NCj4g Pj4+ID5TbywNCj4gPj4+ID4NCj4gPj4+ID5tYXliZSB3ZSBjYW4gdW5pZnkgdGhpcy4gRm9yIGV4 YW1wbGUgb2YgbXVsdGlwbGUgc3RhZ2U6DQo+ID4+PiA+DQo+ID4+PiA+DQo+ID4+PiA+DQo+ID4+ PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3FfaWQgPT0gbGFzdF9xdWV1 ZSkgew0KPiA+Pj4gPg0KPiA+Pj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGV2LnF1ZXVlX2lkID0NCj4gPj4+ID4gdHhfcXVldWVbZXYubWJ1Zi0+cG9y dF07DQo+ID4+PiA+DQo+ID4+PiA+DQo+ID4+PiA+cnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX3R4 cV9zZXQoZXYubWJ1ZiwNCj4gPj4+ID4wKTsNCj4gPj4+ID4NCj4gPj4+ID4NCj4gPj4+ID5waXBl bGluZV9md2RfZXZlbnQoJmV2LCBSVEVfU0NIRURfVFlQRV9BVE9NSUMpOw0KPiA+Pj4gPg0KPiA+ Pj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAgICAgICAgICAgICBwaXBlbGlu ZV9ldmVudF9lbnF1ZXVlKGRldiwgcG9ydCwgJmV2KTsNCj4gPj4+ID4NCj4gPj4+ID4NCj4gPj4+ ID4gdy0+cHJvY2Vzc2VkX3BrdHMrKzsNCj4gPj4+ID4NCj4gPj4+ID4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0gZWxzZSB7DQo+ID4+PiA+DQo+ID4+PiA+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXYucXVldWVfaWQrKzsNCj4gPj4+ID4N Cj4gPj4+ID4NCj4gPj4+ID5waXBlbGluZV9md2RfZXZlbnQoJmV2LCBzY2hlZF90eXBlX2xpc3Rb Y3FfaWRdKTsNCj4gPj4+ID4NCj4gPj4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICsgICAgICAgICAgICAgcGlwZWxpbmVfZXZlbnRfZW5xdWV1ZShkZXYsIHBvcnQsICZldik7DQo+ ID4+PiA+DQo+ID4+PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQo+ID4+PiA+ DQo+ID4+PiA+DQo+ID4+PiA+DQo+ID4+PiA+ICAgICAgICAgICAgICAgIC0gICAgICAgICAgICAg IHBpcGVsaW5lX2V2ZW50X2VucXVldWUoZGV2LCBwb3J0LCAmZXYpOw0KPiA+Pj4gPg0KPiA+Pj4g Pg0KPiA+Pj4NCj4gPj4+IFRoZSBhYm92ZSBjaGFuZ2UgbWFrZXMgc2Vuc2UuDQo+ID4+Pg0KPiA+ PlRoYW5rcyBmb3IgeW91ciByZXZpZXcsIGFuZCBJ4oCZbGwgdXBkYXRlIHRoaXMgY2hhbmdlIGlu dG8gdGhlIG5leHQNCj4gPj52ZXJzaW9uLg0KPiA+Pj4gPg0KPiA+Pj4gPjIuIFdoZXRoZXIgICJw aXBlbGluZV9ldmVudF9lbnF1ZXVlIiBpcyBuZWVkZWQgYWZ0ZXINCj4gPj4+ID4icGlwZWxpbmVf ZXZlbnRfdHgiIGZvciB0eCBtb2RlPw0KPiA+Pj4gPg0KPiA+Pj4gPkZvciBzaW5nbGVfc3RhZ2Vf YnVyc3RfdHggbW9kZSwgYWZ0ZXIgInBpcGVsaW5lX2V2ZW50X3R4IiwgdGhlDQo+ID4+d29ya2Vy DQo+ID4+PiA+aGFzIHRvIGVucXVldWUgYWdhaW4NCj4gPj4+ID4NCj4gPj4+ID5kdWUgdG8gICJw aXBlbGluZV9ldmVudF9lbnF1ZXVlX2J1cnN0Iiwgc28gbWF5YmUgd2Ugc2hvdWxkIGp1bXANCj4g Pj5vdXQgb2YNCj4gPj4+ID50aGUgbG9vcCBhZnRlcg0KPiA+Pj4gPg0KPiA+Pj4gPuKAnHBpcGVs aW5lX2V2ZW50X3R44oCdLA0KPiA+Pj4NCj4gPj4+IFdlIGNhbGwgZW5xdWV1ZSBidXJzdCB0byBy ZWxlYXNlIHRoZSBldmVudHMgaS5lLiBlbnF1ZXVlIGV2ZW50cyB3aXRoDQo+ID4+PiBSVEVfRVZF TlRfT1BfUkVMRUFTRS4NCj4gPj4+DQo+ID4+SG93ZXZlciwNCj4gPj5JbiBjYXNlIG9mIHNpbmds ZSBldmVudCwgZm9yICcgcGlwZWxpbmVfcXVldWVfd29ya2VyX3NpbmdsZV9zdGFnZV90eCcNCj4g Pj5hbmQgJyBwaXBlbGluZV9xdWV1ZV93b3JrZXJfbXVsdGlfc3RhZ2VfdHgnLA0KPiA+PmFmdGVy IHR4LCB0aGVyZSBpcyBubyByZWxlYXNlIG9wZXJhdGlvbi4NCj4gPj4NCj4gDQo+IEkgdGhpbmsg dGhpcyB3YXMgZG9uZSBiZWZvcmUgdGhlIGZlYXR1cmUgZGlzYWJsZV9pbXBsaWNpdF9yZWxlYXNl DQo+IGBSVEVfRVZFTlRfREVWX0NBUF9JTVBMSUNJVF9SRUxFQVNFX0RJU0FCTEUgYCB3YXMgaW1w bGVtZW50ZWQuDQo+IFdlIGNhbiByZW1vdmUgdGhlIGV2ZW50X29wX3JlbGVhc2Ugc2VjdGlvbiBv ZiB0aGUgY29kZSBhbmQgaGF2ZSBhDQo+IGNvbnRpbnVlLg0KPiANCk9rLCB0aGFua3MgZm9yIHlv dXIgZXhwbGFpbi4gSSB3aWxsIHVwbG9hZCB0aGUgbmV3IHNlcmllcyB0byBmaXggYWJvdmUgdHdv IGJ1Z3MuDQogDQo+ID4+PiA+DQo+ID4+PiAgZm9yIGV4YW1wbGU6DQo+ID4+PiA+DQo+ID4+PiA+ DQo+ID4+PiA+DQo+ID4+PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaWYNCj4gPj4+ID4oZXZbaV0uc2NoZWRfdHlwZSA9PQ0KPiA+Pj4gPlJURV9TQ0hF RF9UWVBFX0FUT01JQykgew0KPiA+Pj4gPg0KPiA+Pj4gPg0KPiA+Pj4gPiBwaXBlbGluZV9ldmVu dF90eChkZXYsIHBvcnQsICZldltpXSk7DQo+ID4+PiA+DQo+ID4+PiA+DQo+ID4+PiA+IGV2W2ld Lm9wID0gUlRFX0VWRU5UX09QX1JFTEVBU0U7DQo+ID4+PiA+DQo+ID4+PiA+DQo+ID4+PiA+IHct PnByb2Nlc3NlZF9wa3RzKys7DQo+ID4+PiA+DQo+ID4+PiA+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAgICAgICAgICAgICBjb250aW51ZTsNCj4gPj4+ ID4NCj4gPj4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9IGVsc2Ugew0KPiA+Pj4gPg0KPiA+Pj4gPg0KPiA+Pj4gPiBldltpXS5xdWV1ZV9pZCsrOw0K PiA+Pj4gPg0KPiA+Pj4gPg0KPiA+Pj4gPiBwaXBlbGluZV9md2RfZXZlbnQoJmV2W2ldLA0KPiA+ Pj4gPg0KPiA+Pj4gPg0KPiA+Pj4gPlJURV9TQ0hFRF9UWVBFX0FUT01JQyk7DQo+ID4+PiA+DQo+ ID4+PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0K PiA+Pj4gPg0KPiA+Pj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KPiA+Pj4g Pg0KPiA+Pj4gPg0KPiA+Pj4gPg0KPiA+Pj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcGlwZWxpbmVfZXZlbnRfZW5xdWV1ZV9idXJzdChkZXYsDQo+ID4+PiA+IHBvcnQsIGV2LCBu Yl9yeCk7DQo+ID4+PiA+DQo+ID4+PiA+DQo+ID4+PiA+DQo+ID4+PiA+DQo+ID4+PiA+DQo+ID4+ PiA+Pg0KPiA+Pj4gPg0KPiA+Pj4gPj4gPg0KPiA+Pj4gPg0KPiA+Pj4gPj4gPmlmIChldi5zY2hl ZF90eXBlID09IFJURV9TQ0hFRF9UWVBFX0FUT01JQykgew0KPiA+Pj4gPg0KPiA+Pj4gPj4gPiAg ICAgICAgICAgICAgICAgICAgICAgICAgKw0KPiA+Pj4gPl9fYXRvbWljX3RocmVhZF9mZW5jZShf X0FUT01JQ19SRUxFQVNFKTsNCj4gPj4+ID4NCj4gPj4+ID4+ID4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBwaXBlbGluZV9ldmVudF90eChkZXYsDQo+ID4+PiA+PiA+ IHBvcnQsICZldik7DQo+ID4+PiA+DQo+ID4+PiA+PiA+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdy0+cHJvY2Vzc2VkX3BrdHMrKzsNCj4gPj4+ID4NCj4gPj4+ID4+ ID4gICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQo+ID4+PiA+DQo+ID4+PiA+PiA+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXYucXVldWVfaWQrKzsN Cj4gPj4+ID4NCj4gPj4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICsNCj4gPj4+ID5f X2F0b21pY190aHJlYWRfZmVuY2UoX19BVE9NSUNfUkVMRUFTRSk7DQo+ID4+PiA+DQo+ID4+PiA+ PiA+DQo+ID4+PiA+PiA+IHBpcGVsaW5lX2Z3ZF9ldmVudCgmZXYsDQo+ID4+PiA+DQo+ID4+PiA+ PiA+UlRFX1NDSEVEX1RZUEVfQVRPTUlDKTsNCj4gPj4+ID4NCj4gPj4+ID4+ID4NCj4gPj4+ID4+ ID4gcGlwZWxpbmVfZXZlbnRfZW5xdWV1ZShkZXYsIHBvcnQsICZldik7DQo+ID4+PiA+DQo+ID4+ PiA+PiA+DQo+ID4+PiA+DQo+ID4+PiA+PiA+SG93ZXZlciwgdGhlcmUgYXJlIHR3byByZWFzb25z IHRvIHByZXZlbnQgdGhpczoNCj4gPj4+ID4NCj4gPj4+ID4+ID4NCj4gPj4+ID4NCj4gPj4+ID4+ ID5GaXJzdCwgY29tcGFyZSB3aXRoIG90aGVyIHRlc3RzIGluIGFwcC9ldmVudGRldiwgZm9yIGV4 YW1wbGUsDQo+ID50aGUNCj4gPj4+ID4NCj4gPj4+ID4+ID5ldmVudGRldiBwZXJmIHRlc3QsIHRo ZSB3bWIgaXMgYWZ0ZXIgZXZlbnQgb3BlcmF0aW9uIHRvIGVuc3VyZQ0KPiA+Pj4gPg0KPiA+Pj4g Pj4gPm9wZXJhdGlvbiBoYXMgYmVlbiBmaW5pc2hlZCBhbmQgdGhlbiB3LT5wcm9jZXNzZWRfcGt0 cysrLg0KPiA+Pj4gPg0KPiA+Pj4gPj4NCj4gPj4+ID4NCj4gPj4+ID4+IEluIGNhc2Ugb2YgcGVy Zl8qIHRlc3RzIHN0YXJ0IHdpdGggYSBkZXF1ZXVlKCkgYW5kIGZpbmFsbHkgZW5kcw0KPiA+Pj4g Pj4gd2l0aCBhDQo+ID4+PiA+DQo+ID4+PiA+PiBtZW1wb29sX3B1dCgpIHNob3VsZCBhbHNvIGFj dCBhcyBpbXBsaWNpdCBhY3F1aXJlIHJlbGVhc2UgcGFpcnMNCj4gPj4+ID5tYWtpbmcgc3RhdHMN Cj4gPj4+ID4NCj4gPj4+ID4+IGNvbnNpc3RlbnQ/DQo+ID4+PiA+DQo+ID4+PiA+DQo+ID4+PiA+ DQo+ID4+PiA+Rm9yIHBlcmYgdGVzdHMsIHRoaXMgY29uc2lzdGVuY3kgcmVmZXJzIHRvIHRoYXQg dGhlcmUgaXMgYSB3bWINCj4gPj4+ID5hZnRlciBtZW1wb29sX3B1dCgpLg0KPiA+Pj4gPg0KPiA+ Pj4gPlBsZWFzZSByZWZlciB0byB0aGlzIGxpbms6DQo+ID4+PiA+DQo+ID4+PiA+aHR0cHM6Ly91 cmxkZWZlbnNlLnByb29mcG9pbnQuY29tL3YyL3VybD91PWh0dHAtDQo+ID4+Pg0KPiA+Pj4zQV9f cGF0Y2hlcy5kcGRrLm9yZ19wYXRjaF84NTYzNF8mZD1Ed0lHYVEmYz1uS2pXZWMyYjZSMA0KPiA+ bQ0KPiA+Pk8NCj4gPj4+DQo+ID4+PnlQYXo3eHRmUSZyPTFjanVBSHJHaDc0NWpITm1qMmZEODVz VU1JSjJJUElEc0lKem82Rk42WjAmbT0NCj4gPnoNCj4gPj5nDQo+ID4+PiA+UUhlU0RpWFdmSTFQ SUlVeFhCcU1TNkUtDQo+ID4+Ml8zRzQ2bmhyekdYb0JwSEkmcz0wRndUeFBYaldmbGgtDQo+ID4+ PiA+c2RtbmtZMTMzSVBsSkI3ODB4MHl4ZTdBbTNKQ0J3JmU9DQo+ID4+PiA+DQo+ID4+PiA+DQo+ ID4+PiA+DQo+ID4+PiA+Pg0KPiA+Pj4gPg0KPiA+Pj4gPj4gPlNvLCBpZiB3ZSBtb3ZlIHJlbGVh c2UgYmFycmllcnMgYmVmb3JlIHR4L2Z3ZCwgaXQgbWF5IGNhdXNlIHRoYXQNCj4gPj50aGUNCj4g Pj4+ID4NCj4gPj4+ID4+ID50ZXN0cyBvZiBhcHAvZXZlbnRkZXYgYmVjb21lICBpbmNvbnNpc3Rl bnQuVGhpcyBtYXkgcmVkdWNlIHRoZQ0KPiA+Pj4gPg0KPiA+Pj4gPj4gPm1haW50YWluYWJpbGl0 eSBvZiB0aGUgY29kZSBhbmQgbWFrZSBpdCBkaWZmaWN1bHQgdG8gdW5kZXJzdGFuZC4NCj4gPj4+ ID4NCj4gPj4+ID4+ID4NCj4gPj4+ID4NCj4gPj4+ID4+ID5TZWNvbmQsIGl0IGlzIGEgdGVzdCBj YXNlLCB0aG91Z2ggaGVhdnkgdGhyZWFkIG1heSBjYXVzZQ0KPiA+Pj4gPnBlcmZvcm1hbmNlDQo+ ID4+PiA+DQo+ID4+PiA+PiA+ZGVncmFkYXRpb24sIGl0IGNhbiBlbnN1cmUgdGhhdCB0aGUgb3Bl cmF0aW9uIHByb2Nlc3MgYW5kIHRoZQ0KPiA+dGVzdA0KPiA+Pj4gPg0KPiA+Pj4gPj4gPnJlc3Vs dCBhcmUgY29ycmVjdC4gQW5kIG1heWJlIGZvciBhIHRlc3QgY2FzZSwgY29ycmVjdG5lc3MgaXMN Cj4gPm1vcmUNCj4gPj4+ID4NCj4gPj4+ID4+ID5pbXBvcnRhbnQgdGhhbiBwZXJmb3JtYW5jZS4N Cj4gPj4+ID4NCj4gPj4+ID4+ID4NCj4gPj4+ID4NCj4gPj4+ID4+DQo+ID4+PiA+DQo+ID4+PiA+ PiBNb3N0IG9mIG91ciBpbnRlcm5hbCBwZXJmIHRlc3QgcnVuIG9uIDI0LzQ4IGNvcmUgY29tYmlu YXRpb25zDQo+ID5hbmQNCj4gPj4+ID5zaW5jZQ0KPiA+Pj4gPg0KPiA+Pj4gPj4gT2N0ZW9udHgy IGV2ZW50IGRldmljZSBkcml2ZXIgc3VwcG9ydHMgYSBidXJzdCBzaXplIG9mIDEsIGl0IHdpbGwN Cj4gPj4+ID4+IHNob3cNCj4gPj4+ID51cCBhcw0KPiA+Pj4gPg0KPiA+Pj4gPj4gSHVnZSBwZXJm b3JtYW5jZSBkZWdyYWRhdGlvbi4NCj4gPj4+ID4NCj4gPj4+ID4NCj4gPj4+ID4NCj4gPj4+ID5G b3IgdGhlIGltcGFjdCBvbiBwZXJmb3JtYW5jZSwgSSBkbyB0aGUgdGVzdCB1c2luZyBzb2Z0d2Fy ZSBkcml2ZXIsDQo+ID4+PiA+Zm9sbG93aW5nIGFyZSBzb21lIHRlc3QgcmVzdWx0czoNCj4gPj4+ ID4NCj4gPj4+ID4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4+PiA+LS0tLQ0KPiA+Pj4gPi0tLS0tLS0tLS0tLS0t LS0NCj4gPj4+ID4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Cj4gPj4+ID4NCj4gPj4+ID5BcmNoaXRlY3R1cmU6IGFhcmNoNjQNCj4gPj4+ID4NCj4gPj4+ID5O aWNzOiBpeGdiZS04MjU5OQ0KPiA+Pj4gPg0KPiA+Pj4gPkNQVTogQ29ydGV4LUE3Mg0KPiA+Pj4g Pg0KPiA+Pj4gPkJVUlNUX1NJWkU6IDENCj4gPj4+ID4NCj4gPj4+ID5PcmRlcjogLi9kcGRrLXRl c3QtZXZlbnRkZXYgLWwgMC0xNSAtcyAweDIgLS12ZGV2PWV2ZW50X3N3MCAtLSAtLQ0KPiA+Pj4g PnRlc3Q9cGlwZWxpbmVfcXVldWUgLS13bGNvcmU9NC0xNCAtLXByb2RfdHlwZV9ldGhkZXYgLS1z dGxpc3Q9YSxhDQo+ID4+PiA+DQo+ID4+PiA+Rmxvdzogb25lIGZsb3csIDY0Yml0cyBwYWNrYWdl LCBUWCByYXRlOiAxLjRNcHBzDQo+ID4+PiA+DQo+ID4+PiA+DQo+ID4+PiA+DQo+ID4+PiA+V2l0 aG91dCB0aGlzIHBhdGNoOg0KPiA+Pj4gPg0KPiA+Pj4gPjAuOTU0IG1wcHMgYXZnIDAuOTUzIG1w cHMNCj4gPj4+ID4NCj4gPj4+ID4NCj4gPj4+ID4NCj4gPj4+ID5XaXRoIHRoaXMgcGF0Y2g6DQo+ ID4+PiA+DQo+ID4+PiA+MC45MzIgbXBwcyBhdmcgMC45MzAgbXBwcw0KPiA+Pj4gPg0KPiA+Pj4g Pi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0NCj4gPj4+ID4tLS0tDQo+ID4+PiA+LS0tLS0tLS0tLS0tLS0tLQ0KPiA+Pj4g Pi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+Pj4gPg0K PiA+Pj4gPg0KPiA+Pj4gPg0KPiA+Pj4gPkJhc2VkIG9uIHRoZSByZXN1bHQgYWJvdmUsIHRoZXJl IGlzIG5vIHNpZ25pZmljYW50IHBlcmZvcm1hbmNlDQo+ID4+PiA+ZGVncmFkYXRpb24gd2l0aCB0 aGlzIHBhdGNoLg0KPiA+Pj4gPg0KPiA+Pj4gPlRoaXMgaXMgYmVjYXVzZSB0aGUgcmVsZWFzZSBi YXJyaWVyIGlzIG9ubHkgZm9yICDigJx3LQ0KPiA+Pj5wcm9jZXNzZWRfcGt0cysr4oCdLg0KPiA+ Pj4gPkl0IGp1c3QgZW5zdXJlcyB0aGF0IHRoZSB3b3JrZXIgY29yZQ0KPiA+Pj4gPg0KPiA+Pj4g PmluY3JlbWVudHMgdGhlIG51bWJlciBldmVudHMgcHJvY2Vzc2VkIGFmdGVyIGVucXVldWUsIGFu ZCBpdA0KPiA+PmRvZXNu4oCZdA0KPiA+Pj4gPmFmZmVjdCBkZXF1ZXVlL2VucXVldWU6DQo+ID4+ PiA+DQo+ID4+PiA+DQo+ID4+PiA+DQo+ID4+PiA+ZGVxdWV1ZSAtPiBlbnF1ZXVlIC0+IHJlbGVh c2UgYmFycmllciAtPiB3LT5wcm9jZXNzZWRfcGt0cysrDQo+ID4+PiA+DQo+ID4+Pg0KPiA+Pj4g SGVyZSBlbnF1ZXVlIGFscmVhZHkgYWN0cyBhcyBhbiBleHBsaWNpdCByZWxlYXNlIGJhcnJpZXIu DQo+ID4+Pg0KPiA+PlBsZWFzZSByZWZlciBhYm92ZSByZWFzb25zLg0KPiA+Pg0KPiA+Pj4gPg0K PiA+Pj4gPg0KPiA+Pj4gPk9uIHRoZSBvdGhlciBoYW5kLCBJIGluZmVyIHRoZSByZWFzb24gZm9y IHRoZSBzbGlnaHQgZGVjcmVhc2UgaW4NCj4gPj4+ID5tZWFzdXJlbWVudCBwZXJmb3JtYW5jZSBp cyB0aGF0IHRoZSByZWxlYXNlIGJhcnJpZXINCj4gPj4+ID4NCj4gPj4+ID5wcmV2ZW50IOKAnHct PnByb2Nlc3NlZF9wa3RzKyvigJ0gYmVmb3JlIHRoYXQgdGhlIGV2ZW50IGhhcyBiZWVuDQo+ID4+ cHJvY2Vzc2VkDQo+ID4+PiA+KGVucXVldWUpLiBCdXQgSSB0aGluayB0aGlzIHRlc3QgcmVzdWx0 IGlzIGNsb3Nlcg0KPiA+Pj4gPg0KPiA+Pj4gPnRvIHRoZSByZWFsIHBlcmZvcm1hbmNlLg0KPiA+ Pj4gPg0KPiA+Pj4gPkFuZCBzb3JyeSBmb3IgdGhhdCB3ZSBoYXZlIG5vIG9jdGVudHgyIGRldmlj ZSwgc28gdGhlcmUgaXMgbm8gdGVzdA0KPiA+Pj4gPnJlc3VsdCBvbiBPY3Rlb250eDIgZXZlbnQg ZGV2aWNlIGRyaXZlci4gV291bGQgeW91IHBsZWFzZQ0KPiA+Pj4gPg0KPiA+Pj4gPmhlbHAgdXMg dGVzdCB0aGlzIHBhdGNoIG9uIG9jdGVudHgyIHdoZW4geW91IGFyZSBjb252ZW5pZW50Lg0KPiA+ VGhhbmtzDQo+ID4+PiA+dmVyeSBtdWNoLg0KPiA+Pj4gPg0KPiA+Pj4NCj4gPj4+IEkgd2lsbCBy ZXBvcnQgdGhlIHBlcmZvcm1hbmNlIG51bWJlcnMgb24gTW9uZGF5Lg0KPiA+Pj4NCj4gPj4NCj4g Pj5UaGF04oCZcyBncmVhdCwgVGhhbmtzIHZlcnkgbXVjaCBmb3IgeW91ciBoZWxwLg0KPiANCj4g V2UgYXJlIHNlZWluZyBhIH4yJSBwZXJmb3JtYW5jZSBsb3NzIHdpdGggdGhlIHNlcmllcyBhcHBs aWVkIG9uIHBpcGVsaW5lDQo+IHRlc3RzLg0KPiBJIGhhdmUgdGFrZW4gdGhlIHBlcmZvcm1hbmNl IG51bWJlcnMgb24gSVhJQSB0byBlbGltaW5hdGUgYW55DQo+IGRpc2NyZXBhbmNpZXMgaW4gc3Rh dHMuDQo+IA0KPiBEbyB5b3Ugc2VlIGFueSBpbXByb3ZlbWVudCBpbiBzdGF0cyBiZWluZyByZXBv cnRlZCB3aXRoIGFuZCB3L28gdGhlDQo+IGJhcnJpZXIgd2l0aCBUcmFmZmljIGdlbmVyYXRvciB2 cyBldmVudGRldiBhcHBsaWNhdGlvbj8gYmVjYXVzZSBJIGRvbuKAmXQgc2VlDQo+IGFueSBkaWZm ZXJlbmNlIHdoZW4gdmVyaWZ5aW5nIHdpdGggSVhJQS4NCj4gDQpUaGFua3MgdmVyeSBtdWNoIGZv ciB5b3VyIHRlc3QuIFdlIGFsc28gdXNlIElYSUEgdG8gdGVzdCB3aXRoIFNXIGRyaXZlciBhbmQg aGF2ZSB+MiUgcGVyZm9ybWFuY2UgbG9zcyBhY2NvcmRpbmcgdG8gdGhlIGFib3ZlIGRhdGEuDQoN Cj4gQ2FuIHdlIHNraXAgdGhpcyBwYXRjaD8NCj4gQWxzbywgbm90ZSB0aGF0IHRoZSBiYXJyaWVy IHdvdWxkbuKAmXQgaGVscCBpbiBjYXNlcyB3aGVyZToNCj4gMS4gU1cgZXZlbnRkZXYgVHggcm91 dGluZSBydW5zIG9uIHNlcnZpY2UgY29yZSB3aGljaCB3b3VsZCBoYXZlIGl0J3Mgb24NCj4gbGF0 ZW5jeSBpbiBwcm9jZXNzaW5nIHRoZSBwYWNrZXRzLg0KPiAyLiBIVyBldmVudGRldiBUeCByb3V0 aW5lIHRoYXQgaGF2ZSBzaGFwaW5nIGFuZCBzY2hlZHVsaW5nLg0KPiANCg0KVGhhdCdzIE9rLCBJ J2xsIHJlbW92ZSB0aGlzIHBhdGNoIGZyb20gdGhpcyBzZXJpZXMuIEFuZCB0aGFua3MgdmVyeSBt dWNoIGZvciB0aGlzIGdyZWF0IGRpc2N1c3Npb24uDQoNCkJlc3QgUmVnYXJkcw0KRmVpZmVpDQoN Cj4gUmVnYXJkcywNCj4gUGF2YW4uDQo+IA0KPiA+Pg0KPiA+PkJlc3QgUmVnYXJkcw0KPiA+PkZl aWZlaQ0KPiA+Pg0KPiA+Pj4gPg0KPiA+Pj4gPg0KPiA+Pj4gPkJlc3QgUmVnYXJkcw0KPiA+Pj4g Pg0KPiA+Pj4gPkZlaWZlaQ0KPiA+Pj4NCj4gPj4+IFJlZ2FyZHMsDQo+ID4+PiBQYXZhbi4NCj4g Pj4+DQo+ID4+PiA+DQo+ID4+PiA+DQo+ID4+PiA+DQo+ID4+PiA+Pg0KPiA+Pj4gPg0KPiA+Pj4g Pj4gPlNvLCBkdWUgdG8gdHdvIHJlYXNvbnMgYWJvdmUsIEknbSBhbWJpdmFsZW50IGFib3V0IGhv dyB3ZQ0KPiA+PnNob3VsZA0KPiA+Pj4gPmRvIGluDQo+ID4+PiA+DQo+ID4+PiA+PiA+dGhlIG5l eHQgc3RlcC4NCj4gPj4+ID4NCj4gPj4+ID4+ID4NCj4gPj4+ID4NCj4gPj4+ID4+ID5CZXN0IFJl Z2FyZHMNCj4gPj4+ID4NCj4gPj4+ID4+ID5GZWlmZWkNCj4gPj4+ID4NCj4gPj4+ID4+DQo+ID4+ PiA+DQo+ID4+PiA+PiBSZWdhcmRzLA0KPiA+Pj4gPg0KPiA+Pj4gPj4gUGF2YW4uDQo+ID4+PiA+ DQo+ID4+PiA+Pg0KPiA+Pj4gPg0KPiA+Pj4gPj4gPg0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPkZp eGVzOiAzMTRiY2Y1OGNhOGYgKCJhcHAvZXZlbnRkZXY6IGFkZCBwaXBlbGluZSBxdWV1ZQ0KPiA+ Pndvcmtlcg0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPmZ1bmN0aW9ucyIpDQo+ID4+PiA+DQo+ID4+ PiA+PiA+PiA+Q2M6DQo+ID4+Pg0KPiA+Pj5tYWlsdG86cGJoYWdhdmF0dWxhQG1hcnZlbGwuY29t PG1haWx0bzpwYmhhZ2F2YXR1bGFAbWFydmVsbC5jDQo+ID5vDQo+ID4+bT4NCj4gPj4+ID4NCj4g Pj4+ID4+ID4+ID5DYzogbWFpbHRvOnN0YWJsZUBkcGRrLm9yZzxtYWlsdG86c3RhYmxlQGRwZGsu b3JnPg0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPg0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPlNpZ25l ZC1vZmYtYnk6IFBoaWwgWWFuZw0KPiA+Pj4gPjxtYWlsdG86cGhpbC55YW5nQGFybS5jb208bWFp bHRvOnBoaWwueWFuZ0Bhcm0uY29tPj4NCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID5TaWduZWQtb2Zm LWJ5OiBGZWlmZWkgV2FuZw0KPiA+Pj4gPjxtYWlsdG86ZmVpZmVpLndhbmcyQGFybS5jb208bWFp bHRvOmZlaWZlaS53YW5nMkBhcm0uY29tPj4NCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID5SZXZpZXdl ZC1ieTogUnVpZmVuZyBXYW5nDQo+ID4+Pg0KPiA+PjxtYWlsdG86cnVpZmVuZy53YW5nQGFybS5j b208bWFpbHRvOnJ1aWZlbmcud2FuZ0Bhcm0uY29tPj4NCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4t LS0NCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4gYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9waXBlbGlu ZV9xdWV1ZS5jIHwgNjQNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4rKysrKysrKysrKysrKysrKysr KystLS0tDQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+IDEgZmlsZSBjaGFuZ2VkLCA1NiBpbnNlcnRp b25zKCspLCA4IGRlbGV0aW9ucygtKQ0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPg0KPiA+Pj4gPg0K PiA+Pj4gPj4gPj4gPmRpZmYgLS1naXQgYS9hcHAvdGVzdC1ldmVudGRldi90ZXN0X3BpcGVsaW5l X3F1ZXVlLmMNCj4gPj5iL2FwcC90ZXN0LQ0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPmV2ZW50ZGV2 L3Rlc3RfcGlwZWxpbmVfcXVldWUuYyBpbmRleCA3YmViYWMzNGYuLjBjMGVjMGNlYg0KPiA+Pj4g Pg0KPiA+Pj4gPj4gPjEwMDY0NA0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPi0tLSBhL2FwcC90ZXN0 LWV2ZW50ZGV2L3Rlc3RfcGlwZWxpbmVfcXVldWUuYw0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPisr KyBiL2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3RfcGlwZWxpbmVfcXVldWUuYw0KPiA+Pj4gPg0KPiA+ Pj4gPj4gPj4gPkBAIC0zMCw3ICszMCwxMyBAQA0KPiA+Pj4gPnBpcGVsaW5lX3F1ZXVlX3dvcmtl cl9zaW5nbGVfc3RhZ2VfdHgodm9pZA0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPiphcmcpDQo+ID4+ PiA+DQo+ID4+PiA+PiA+PiA+DQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+ICAgICAgICAgICAgICAg ICAgICBpZiAoZXYuc2NoZWRfdHlwZSA9PQ0KPiA+Pj4gPj4gPj4gPiBSVEVfU0NIRURfVFlQRV9B VE9NSUMpIHsNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBwaXBlbGluZV9ldmVudF90eChkZXYsDQo+ID4+PiA+PiA+PiA+IHBvcnQsICZl dik7DQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB3LT5wcm9jZXNzZWRfcGt0cysrOw0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPisNCj4gPj4+ ID4NCj4gPj4+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogcmVs ZWFzZSBiYXJyaWVyIGhlcmUNCj4gPj4+ID4+ID4+ID4rIGVuc3VyZXMgc3RvcmVkDQo+ID4+PiA+ b3BlcmF0aW9uDQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICogb2YgdGhlIGV2ZW50IGNvbXBsZXRlcw0KPiA+Pj4gPj4gPj4gPisgYmVmb3Jl IHRoZSBudW1iZXINCj4gPj4+ID5vZg0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAqIHByb2Nlc3NlZCBwa3RzIGlzIHZpc2libGUNCj4gPj4+ ID4+ID4+ID4rIHRvIHRoZSBtYWluIGNvcmUNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4rDQo+ ID4+PiA+PiA+PiA+KyBfX2F0b21pY19mZXRjaF9hZGQoJih3LT5wcm9jZXNzZWRfcGt0cyksDQo+ ID4+PiA+MSwNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4rDQo+ID4+PiA+PiA+PiA+KyBfX0FUT01J Q19SRUxFQVNFKTsNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgIH0g ZWxzZSB7DQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZXYucXVldWVfaWQrKzsNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBwaXBlbGluZV9md2RfZXZlbnQoJmV2LA0KPiA+Pj4g Pg0KPiA+Pj4gPj4gPj4gPlJURV9TQ0hFRF9UWVBFX0FUT01JQyk7DQo+ID4+PiA+DQo+ID4+PiA+ PiA+PiA+QEAgLTU5LDcgKzY1LDEzIEBADQo+ID4+PiA+DQo+ID4+PiA+PiA+cGlwZWxpbmVfcXVl dWVfd29ya2VyX3NpbmdsZV9zdGFnZV9md2Qodm9pZA0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPiph cmcpDQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+ICAgICAgICAgICAgICAgICAgICBydGVfZXZlbnRf ZXRoX3R4X2FkYXB0ZXJfdHhxX3NldChldi5tYnVmLA0KPiA+Pj4gPj4gPj4gPiAwKTsNCj4gPj4+ ID4NCj4gPj4+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgIHBpcGVsaW5lX2Z3ZF9ldmVudCgm ZXYsDQo+ID4+PiA+PiA+PiA+IFJURV9TQ0hFRF9UWVBFX0FUT01JQyk7DQo+ID4+PiA+DQo+ID4+ PiA+PiA+PiA+ICAgICAgICAgICAgICAgICAgICBwaXBlbGluZV9ldmVudF9lbnF1ZXVlKGRldiwg cG9ydCwgJmV2KTsNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4tICAgICAgICAgICAgICAgICAgdy0+ cHJvY2Vzc2VkX3BrdHMrKzsNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4rDQo+ID4+PiA+DQo+ID4+ PiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgLyogcmVsZWFzZSBiYXJyaWVyIGhlcmUgZW5zdXJl cyBzdG9yZWQNCj4gPj4+ID4+ID4+ID4rIG9wZXJhdGlvbg0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4g PisgICAgICAgICAgICAgICAgICogb2YgdGhlIGV2ZW50IGNvbXBsZXRlcyBiZWZvcmUgdGhlIG51 bWJlcg0KPiA+Pj4gPj4gPj4gPisgb2YNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4rICAgICAgICAg ICAgICAgICAqIHByb2Nlc3NlZCBwa3RzIGlzIHZpc2libGUgdG8gdGhlIG1haW4NCj4gPj4+ID4+ ID4+ID4rIGNvcmUNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAqLw0K PiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPisgICAgICAgICAgICAgICAgIF9fYXRvbWljX2ZldGNoX2Fk ZCgmKHctPnByb2Nlc3NlZF9wa3RzKSwgMSwNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4rDQo+ID4+ PiA+PiA+PiA+KyBfX0FUT01JQ19SRUxFQVNFKTsNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4gICAg fQ0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPg0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPiAgICByZXR1 cm4gMDsNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID5AQCAtODQsNyArOTYsMTMgQEANCj4gPj4+ID4N Cj4gPj4+ID4+ID4+ID5waXBlbGluZV9xdWV1ZV93b3JrZXJfc2luZ2xlX3N0YWdlX2J1cnN0X3R4 KHZvaWQgKmFyZykNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpZiAoZXZbaV0uc2NoZWRfdHlwZSA9PQ0KPiA+Pj4gPg0KPiA+Pj4gPj4g Pj4gPlJURV9TQ0hFRF9UWVBFX0FUT01JQykgew0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPg0KPiA+ Pj4gPj4gPj4gPiBwaXBlbGluZV9ldmVudF90eChkZXYsIHBvcnQsICZldltpXSk7DQo+ID4+PiA+ DQo+ID4+PiA+PiA+PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGV2W2ldLm9wDQo+ID4+PiA+PiA+PiA+ID0gUlRFX0VWRU5UX09QX1JFTEVBU0U7 DQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdy0+cHJvY2Vzc2VkX3BrdHMrKzsNCj4gPj4+ID4NCj4gPj4+ID4+ ID4+ID4rDQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAvKiByZWxlYXNlDQo+ID4+PiA+PiA+PiA+KyBiYXJyaWVy IGhlcmUgZW5zdXJlcyBzdG9yZWQNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID5vcGVyYXRpb24NCj4g Pj4+ID4NCj4gPj4+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICogb2YgdGhlDQo+ID4+PiA+PiA+PiA+KyBldmVudCBjb21wbGV0ZXMgYmVm b3JlIHRoZQ0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPm51bWJlciBvZg0KPiA+Pj4gPg0KPiA+Pj4g Pj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KiBwcm9jZXNzZWQNCj4gPj4+ID4+ID4+ID4rIHBrdHMgaXMgdmlzaWJsZSB0byB0aGUgbWFpbg0K PiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPmNvcmUNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQo+ID4+PiA+DQo+ ID4+PiA+PiA+PiA+Kw0KPiA+Pj4gPj4gPj4gPisgX19hdG9taWNfZmV0Y2hfYWRkKCYody0NCj4g Pj4+ID4NCj4gPj4+ID4+ID4+ID4+cHJvY2Vzc2VkX3BrdHMpLCAxLA0KPiA+Pj4gPg0KPiA+Pj4g Pj4gPj4gPisNCj4gPj4+ID5fX0FUT01JQ19SRUxFQVNFKTsNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KPiA+Pj4gPg0K PiA+Pj4gPj4gPj4gPg0KPiA+Pj4gPj4gPj4gPiBldltpXS5xdWV1ZV9pZCsrOw0KPiA+Pj4gPg0K PiA+Pj4gPj4gPj4gPg0KPiA+Pj4gPj4gPj4gPiBwaXBlbGluZV9md2RfZXZlbnQoJmV2W2ldLA0K PiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPkBAIC0xMjEsNyArMTM5LDEzIEBADQo+ID4+PiA+DQo+ID4+ PiA+PiA+PiA+cGlwZWxpbmVfcXVldWVfd29ya2VyX3NpbmdsZV9zdGFnZV9idXJzdF9md2Qodm9p ZCAqYXJnKQ0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgfQ0KPiA+ Pj4gPg0KPiA+Pj4gPj4gPj4gPg0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPiAgICAgICAgICAgICAg ICAgICAgcGlwZWxpbmVfZXZlbnRfZW5xdWV1ZV9idXJzdChkZXYsIHBvcnQsDQo+ID4+PiA+PiA+ PiA+IGV2LCBuYl9yeCk7DQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+LSAgICAgICAgICAgICAgICAg IHctPnByb2Nlc3NlZF9wa3RzICs9IG5iX3J4Ow0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPisNCj4g Pj4+ID4NCj4gPj4+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAvKiByZWxlYXNlIGJhcnJpZXIg aGVyZSBlbnN1cmVzIHN0b3JlZA0KPiA+Pj4gPj4gPj4gPisgb3BlcmF0aW9uDQo+ID4+PiA+DQo+ ID4+PiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgKiBvZiB0aGUgZXZlbnQgY29tcGxldGVzIGJl Zm9yZSB0aGUgbnVtYmVyDQo+ID4+PiA+PiA+PiA+KyBvZg0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4g PisgICAgICAgICAgICAgICAgICogcHJvY2Vzc2VkIHBrdHMgaXMgdmlzaWJsZSB0byB0aGUgbWFp bg0KPiA+Pj4gPj4gPj4gPisgY29yZQ0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPisgICAgICAgICAg ICAgICAgICovDQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgX19hdG9t aWNfZmV0Y2hfYWRkKCYody0+cHJvY2Vzc2VkX3BrdHMpLA0KPiA+bmJfcngsDQo+ID4+PiA+DQo+ ID4+PiA+PiA+PiA+Kw0KPiA+Pj4gPj4gPj4gPisgX19BVE9NSUNfUkVMRUFTRSk7DQo+ID4+PiA+ DQo+ID4+PiA+PiA+PiA+ICAgIH0NCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4NCj4gPj4+ID4NCj4g Pj4+ID4+ID4+ID4gICAgcmV0dXJuIDA7DQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+QEAgLTE0Niw3 ICsxNzAsMTMgQEANCj4gPj4+ID4NCj4gPj4+ID4+ID5waXBlbGluZV9xdWV1ZV93b3JrZXJfbXVs dGlfc3RhZ2VfdHgodm9pZA0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPiphcmcpDQo+ID4+PiA+DQo+ ID4+PiA+PiA+PiA+DQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+ICAgICAgICAgICAgICAgICAgICBp ZiAoZXYucXVldWVfaWQgPT0NCj4gPj4+ID4+ID4+ID4gdHhfcXVldWVbZXYubWJ1Zi0+cG9ydF0p IHsNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBwaXBlbGluZV9ldmVudF90eChkZXYsDQo+ID4+PiA+PiA+PiA+IHBvcnQsICZldik7DQo+ ID4+PiA+DQo+ID4+PiA+PiA+PiA+LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3 LT5wcm9jZXNzZWRfcGt0cysrOw0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPisNCj4gPj4+ID4NCj4g Pj4+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogcmVsZWFzZSBi YXJyaWVyIGhlcmUNCj4gPj4+ID4+ID4+ID4rIGVuc3VyZXMgc3RvcmVkDQo+ID4+PiA+b3BlcmF0 aW9uDQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICogb2YgdGhlIGV2ZW50IGNvbXBsZXRlcw0KPiA+Pj4gPj4gPj4gPisgYmVmb3JlIHRoZSBu dW1iZXINCj4gPj4+ID5vZg0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAqIHByb2Nlc3NlZCBwa3RzIGlzIHZpc2libGUNCj4gPj4+ID4+ID4+ ID4rIHRvIHRoZSBtYWluIGNvcmUNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4rICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKi8NCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4rDQo+ID4+PiA+ PiA+PiA+KyBfX2F0b21pY19mZXRjaF9hZGQoJih3LT5wcm9jZXNzZWRfcGt0cyksDQo+ID4+PiA+ MSwNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4rDQo+ID4+PiA+PiA+PiA+KyBfX0FUT01JQ19SRUxF QVNFKTsNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb250aW51ZTsNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4gICAgICAgICAgICAgICAg ICAgIH0NCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4NCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID5AQCAt MTgwLDcgKzIxMCwxMyBAQA0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPnBpcGVsaW5lX3F1ZXVlX3dv cmtlcl9tdWx0aV9zdGFnZV9md2Qodm9pZCAqYXJnKQ0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2LnF1ZXVlX2lkID0NCj4gPj4+ID4+ ID4+ID4gdHhfcXVldWVbZXYubWJ1Zi0+cG9ydF07DQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+DQo+ ID4+PiA+PiA+PiA+IHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl90eHFfc2V0KGV2Lm1idWYsDQo+ ID4+PiA+MCk7DQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcGlwZWxpbmVfZndkX2V2ZW50KCZldiwNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ ID5SVEVfU0NIRURfVFlQRV9BVE9NSUMpOw0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdy0+cHJvY2Vzc2VkX3BrdHMrKzsNCj4gPj4+ID4N Cj4gPj4+ID4+ID4+ID4rDQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+KyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC8qIHJlbGVhc2UgYmFycmllciBoZXJlDQo+ID4+PiA+PiA+PiA+KyBl bnN1cmVzIHN0b3JlZA0KPiA+Pj4gPm9wZXJhdGlvbg0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIG9mIHRoZSBldmVudCBjb21wbGV0ZXMN Cj4gPj4+ID4+ID4+ID4rIGJlZm9yZSB0aGUgbnVtYmVyDQo+ID4+PiA+b2YNCj4gPj4+ID4NCj4g Pj4+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBwcm9jZXNzZWQg cGt0cyBpcyB2aXNpYmxlDQo+ID4+PiA+PiA+PiA+KyB0byB0aGUgbWFpbiBjb3JlDQo+ID4+PiA+ DQo+ID4+PiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQo+ID4+ PiA+DQo+ID4+PiA+PiA+PiA+Kw0KPiA+Pj4gPj4gPj4gPisgX19hdG9taWNfZmV0Y2hfYWRkKCYo dy0+cHJvY2Vzc2VkX3BrdHMpLA0KPiA+Pj4gPjEsDQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+Kw0K PiA+Pj4gPj4gPj4gPisgX19BVE9NSUNfUkVMRUFTRSk7DQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+ ICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2LnF1ZXVlX2lkKys7DQo+ID4+PiA+DQo+ ID4+PiA+PiA+PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlwZWxpbmVf ZndkX2V2ZW50KCZldiwNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID5zY2hlZF90eXBlX2xpc3RbY3Ff aWRdKTsNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID5AQCAtMjE0LDcgKzI1MCwxMyBAQA0KPiA+Pj4g Pg0KPiA+Pj4gPj4gPj4gPnBpcGVsaW5lX3F1ZXVlX3dvcmtlcl9tdWx0aV9zdGFnZV9idXJzdF90 eCh2b2lkICphcmcpDQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaWYgKGV2W2ldLnF1ZXVlX2lkID09DQo+ID4+PiA+PiA+PiA+IHR4X3F1 ZXVlW2V2W2ldLm1idWYtDQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+PnBvcnRdKSB7DQo+ID4+PiA+ DQo+ID4+PiA+PiA+PiA+DQo+ID4+PiA+PiA+PiA+IHBpcGVsaW5lX2V2ZW50X3R4KGRldiwgcG9y dCwgJmV2W2ldKTsNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZbaV0ub3ANCj4gPj4+ID4+ID4+ID4gPSBS VEVfRVZFTlRfT1BfUkVMRUFTRTsNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4tICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3LT5wcm9jZXNzZWRfcGt0cysr Ow0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPisNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHJlbGVhc2UNCj4g Pj4+ID4+ID4+ID4rIGJhcnJpZXIgaGVyZSBlbnN1cmVzIHN0b3JlZA0KPiA+Pj4gPg0KPiA+Pj4g Pj4gPj4gPm9wZXJhdGlvbg0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBvZiB0aGUNCj4gPj4+ID4+ID4+ID4r IGV2ZW50IGNvbXBsZXRlcyBiZWZvcmUgdGhlDQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+bnVtYmVy IG9mDQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAqIHByb2Nlc3NlZA0KPiA+Pj4gPj4gPj4gPisgcGt0cyBpcyB2 aXNpYmxlIHRvIHRoZSBtYWluDQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+Y29yZQ0KPiA+Pj4gPg0K PiA+Pj4gPj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKi8NCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4rDQo+ID4+PiA+PiA+PiA+KyBfX2F0b21p Y19mZXRjaF9hZGQoJih3LQ0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPj5wcm9jZXNzZWRfcGt0cyks IDEsDQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+Kw0KPiA+Pj4gPl9fQVRPTUlDX1JFTEVBU0UpOw0K PiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb250aW51ZTsNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+DQo+ ID4+PiA+DQo+ID4+PiA+PiA+PiA+QEAgLTI1NCw3ICsyOTYsMTMgQEANCj4gPj4+ID4NCj4gPj4+ ID4+ID4+ID5waXBlbGluZV9xdWV1ZV93b3JrZXJfbXVsdGlfc3RhZ2VfYnVyc3RfZndkKHZvaWQg KmFyZykNCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4NCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4gICAg cnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX3R4cV9zZXQoZXZbaV0ubWJ1ZiwgMCk7DQo+ID4+PiA+ DQo+ID4+PiA+PiA+PiA+DQo+ID4+PiA+PiA+PiA+IHBpcGVsaW5lX2Z3ZF9ldmVudCgmZXZbaV0s DQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+DQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+ICAgIFJURV9T Q0hFRF9UWVBFX0FUT01JQyk7DQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+LSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdy0+cHJvY2Vzc2VkX3BrdHMrKzsN Cj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4rDQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+KyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiByZWxlYXNlDQo+ID4+ PiA+PiA+PiA+KyBiYXJyaWVyIGhlcmUgZW5zdXJlcyBzdG9yZWQNCj4gPj4+ID4NCj4gPj4+ID4+ ID4+ID5vcGVyYXRpb24NCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogb2YgdGhlDQo+ID4+PiA+PiA+PiA+KyBl dmVudCBjb21wbGV0ZXMgYmVmb3JlIHRoZQ0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPm51bWJlciBv Zg0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKiBwcm9jZXNzZWQNCj4gPj4+ID4+ID4+ID4rIHBrdHMgaXMgdmlz aWJsZSB0byB0aGUgbWFpbg0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPmNvcmUNCj4gPj4+ID4NCj4g Pj4+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICovDQo+ID4+PiA+DQo+ID4+PiA+PiA+PiA+Kw0KPiA+Pj4gPj4gPj4gPisgX19hdG9taWNf ZmV0Y2hfYWRkKCYody0NCj4gPj4+ID4NCj4gPj4+ID4+ID4+ID4+cHJvY2Vzc2VkX3BrdHMpLCAx LA0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPisNCj4gPj4+ID5fX0FUT01JQ19SRUxFQVNFKTsNCj4g Pj4+ID4NCj4gPj4+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 IGVsc2Ugew0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPg0KPiA+Pj4gPj4gPj4gPiBldltpXS5xdWV1 ZV9pZCsrOw0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPg0KPiA+Pj4gPj4gPj4gPiBwaXBlbGluZV9m d2RfZXZlbnQoJmV2W2ldLA0KPiA+Pj4gPg0KPiA+Pj4gPj4gPj4gPi0tDQo+ID4+PiA+DQo+ID4+ PiA+PiA+PiA+Mi4xNy4xDQo+ID4+PiA+DQoNCg==