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 43648A0547; Tue, 20 Apr 2021 07:53:53 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AFBE8415BE; Tue, 20 Apr 2021 07:53:52 +0200 (CEST) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80053.outbound.protection.outlook.com [40.107.8.53]) by mails.dpdk.org (Postfix) with ESMTP id 7147E4159C; Tue, 20 Apr 2021 07:53:51 +0200 (CEST) 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=sskaoCznwJB7IZh4CEXkyKoTL7AqnksHMhP9RnfZVjM=; b=SqRMe6u8m+5EtsnuyRKqxZ/UbpvuSA6i26KpBxNlX5RfgYn2/aS8yc5XyYnfKAOzTcEx4kOekkbgcPX5BgRuqKsFj0OboWOzq83XtU5pL5VERU9gUXW/hxcTKWj8hUws/Fz404sEVRXQWxE6DKdGzKz/2T4HF9A1H29atovOlZk= Received: from AM6P191CA0022.EURP191.PROD.OUTLOOK.COM (2603:10a6:209:8b::35) by DB8PR08MB4971.eurprd08.prod.outlook.com (2603:10a6:10:ed::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.18; Tue, 20 Apr 2021 05:53:49 +0000 Received: from AM5EUR03FT057.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:8b:cafe::d9) by AM6P191CA0022.outlook.office365.com (2603:10a6:209:8b::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.16 via Frontend Transport; Tue, 20 Apr 2021 05:53:49 +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 AM5EUR03FT057.mail.protection.outlook.com (10.152.17.44) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.16 via Frontend Transport; Tue, 20 Apr 2021 05:53:49 +0000 Received: ("Tessian outbound 82c2d58b350b:v90"); Tue, 20 Apr 2021 05:53:49 +0000 X-CR-MTA-TID: 64aa7808 Received: from 06d91046ea65.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 5BBE5A8B-ABF7-4158-BFD9-5E600F31C155.1; Tue, 20 Apr 2021 05:53:38 +0000 Received: from EUR02-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 06d91046ea65.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 20 Apr 2021 05:53:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Q5Zfyz7cinckgf+1JMwViLlTH7QzHjN1cksgL7CBiV3Up/YSvJLfTQ/flsnT8Xhv7T4kAynpRobKfGFcycouie6L0eN64HLUzAu5s4Fly+q48xZI2g5wYwH7IhFBSGQga1n0WFNZjh7koZYRemfB15tt6gYL+4POSEz8bX4jfvUB7fH7BpQwTqvwqr4jlBoHUJUONQbortZWdQ/H0E1ywqKRMUF140kYZhb7WvlMaP0WV/ngf+n74pDwCECsHTJBpN/PRiGcrpoGQ6F6LiEF0b9zmyLHf3mNzLjB6TU4ItO88jU6kd7Ur88oohnku4Zm042OI0TCItzzrrDtH6gVvg== 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=sskaoCznwJB7IZh4CEXkyKoTL7AqnksHMhP9RnfZVjM=; b=Vw9svubmCfAZZ1t9g0X1vfWPOi7O5Pq75pb1/8iu9GeWU51//UF9HCkW7LQdh7foUv6CqphZ02NHUJ7+JM2+L13h312joz6P1W8MuUCppsGrW5PFMAeMTFaMWsqzcXMORnoEgXXnFiU5oUbNVWKjPz7+g4VII47KhO9/rzXC6skuh8+aYh+EwezcwklQSnM5GOCtM69RwdFyAS6B1g6rLHTIfpmQYtlLxmJvhzUL17YXRsve3RmeJEo+Bq4uPZOgXBudXHGXMaKzxzJ/8cgsaWGSO9WWj9h6dPCxbCpVxp9GBVmWwfPCSMKJoKwySUxpu+VUxyudzo1vpLwOHqwwpQ== 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=sskaoCznwJB7IZh4CEXkyKoTL7AqnksHMhP9RnfZVjM=; b=SqRMe6u8m+5EtsnuyRKqxZ/UbpvuSA6i26KpBxNlX5RfgYn2/aS8yc5XyYnfKAOzTcEx4kOekkbgcPX5BgRuqKsFj0OboWOzq83XtU5pL5VERU9gUXW/hxcTKWj8hUws/Fz404sEVRXQWxE6DKdGzKz/2T4HF9A1H29atovOlZk= Received: from DBBPR08MB4411.eurprd08.prod.outlook.com (2603:10a6:10:cb::17) by DB9PR08MB6521.eurprd08.prod.outlook.com (2603:10a6:10:254::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.16; Tue, 20 Apr 2021 05:53:35 +0000 Received: from DBBPR08MB4411.eurprd08.prod.outlook.com ([fe80::a127:d91b:c644:74dc]) by DBBPR08MB4411.eurprd08.prod.outlook.com ([fe80::a127:d91b:c644:74dc%7]) with mapi id 15.20.4042.016; Tue, 20 Apr 2021 05:53:34 +0000 From: Feifei Wang To: Slava Ovsiienko , Matan Azrad , Shahaf Shuler CC: "dev@dpdk.org" , nd , "stable@dpdk.org" , Ruifeng Wang , nd , nd Thread-Topic: [PATCH v1 3/4] net/mlx5: fix rebuild bug for Memory Region cache Thread-Index: AQHXG8b7HnA5AJfI/UGBdB2hbGP3xaqws80AgAEoGSCACoZUgIAAtmJQ Date: Tue, 20 Apr 2021 05:53:33 +0000 Message-ID: References: <20210318071840.359957-1-feifei.wang2@arm.com> <20210318071840.359957-4-feifei.wang2@arm.com> 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: 2DA6458EF32CEA40AA28D7A2E1ABA5F3.0 x-checkrecipientchecked: true Authentication-Results-Original: nvidia.com; dkim=none (message not signed) header.d=none;nvidia.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [203.126.0.112] x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: 8b6fac56-9092-41a0-7915-08d903c0ab99 x-ms-traffictypediagnostic: DB9PR08MB6521:|DB8PR08MB4971: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: vUtyNPUm1LgiLC/LpC4ZxX08DxS/v3e/7Pom9017C573HwKz9ZTKwpsVnRI4fq3+bDDSlAWk2tEka4k83Xo2XIxdOwzCtEdZKkPG9pczBXUavismRQn/8qOcXwmKtUtZpfxsUjhjPAV0OGW5W91ctw5v+B3GGIYuM4sK2TGhA4IvNBHTZEQEJdWqy9E2Dg1EpNinDrQ2eZ2SLGqQjHh3ZjlxBzhH6+RTyHZ3KP15ZQYV1GK3Cwm77Nkmk/a5LanRHykC2Rkxxt3Nv9jPlv1FR/l+wh1uInoh4x60XFJFHz3leDtGDiUmc8LjEmbU4FHJ2sMm3yH53W3ZigCwo4aPcY54QXu4uoc3AL4viWR6fgFxcXwiJ9UW3Bw4Yv6pu4BBU+MUnN/rJ4j3LB5YbXO0Rak8+x1+FcbFlYoC8/cT3oEN8h36Z2NI/9MMYUFWguWuvqBsAgZr4sbfO0AfXIPMtYoH7EovZEFhuYlwJSlEZNK7TbT49e3zg/ALlDlGPqlDflcS34ZYr8VSkyD1WSaSrZhgpU7+R+HOniO9Q4aQaTrOvutyh2Soh1NxAw7VPvePZjybBQQpHPJJ8+65uLJmJeC+5wFofnnGwfCbVqpW9NY= 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)(39860400002)(366004)(396003)(136003)(376002)(346002)(38100700002)(110136005)(5660300002)(64756008)(26005)(122000001)(52536014)(55016002)(86362001)(66556008)(71200400001)(2906002)(66946007)(316002)(83380400001)(66476007)(224303003)(4326008)(186003)(66446008)(6506007)(9686003)(76116006)(7696005)(33656002)(54906003)(478600001)(8936002)(30864003)(53546011); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?eWRhcmFiQmZyZGNDa1M2RHU0Tzc1V1N6YVl3NkVveU0wOGt4d3FLTnhOK1Qr?= =?utf-8?B?OEVzNWpEZmhndXlFQnpLRUpNQ2NFMVJTVEczNXpMaHFLVk82emY0VnJMczMx?= =?utf-8?B?QzRnL29XM3ZQMy9KYWJjdk5OcTR2bzU1dThuVnR4NzUzb2x0ZytUR1JYVjhK?= =?utf-8?B?c1k5VEdTcklkMnZSZjF1NnBCbHBjeitZVlN3d3c3TklRTVI2R29NZkJDbWwy?= =?utf-8?B?dHRnRHR3SXYxcnBwakNhM0xiUTg3cmtKNGUvdlhNVnpFVmxqcVY4S2FQSDVj?= =?utf-8?B?aVpkWTVaVFlRdVE3Z1Q0czhZc0E0L2ZlbDUxb1orWmhmQkNqN3RBd0JUV0ow?= =?utf-8?B?aDF1N0wxNk5xdWFUQ09PT0pxY1VIeGVQWmJ1ZCt6SnJTbkxtS2R3R3FKUnNG?= =?utf-8?B?dnN6VkJNOGtjWlk2aHo5UEFiMFZLeTZTTk9KeUxycFhtVEFCTkJYcU9wa0ZB?= =?utf-8?B?NTlKM2xnWHBCNTA5NkFIM0JLMzFyTWw4QnJaelRjcGordTVneHBPVXE0VUZy?= =?utf-8?B?OW9DK29ib2ltVjhYem1OTUcvNVZ2R1lMdXlRdDQ3Q0c1VkNXbDRBU3lnL3dv?= =?utf-8?B?VWJaYTF0MUJ6WHFSWUlyT0J3dTUvYmVXRnpNM2tYeXhJeEFGOEtHbGNyNmNz?= =?utf-8?B?WEprbm40OHlVOSt4RHhONGRlREh2WVpnYjh5ZjRHK25SU3NqaTJPd3FyUjVR?= =?utf-8?B?eFQwSG90blE3UkFmTVVEUkQyczkxUEdQbC9iOVp3NjRNYlZaWXNxU3NsQ3pF?= =?utf-8?B?NnQwSlBDcTJSb0swNm45bm4rcUdUTWRodFdKYlIxL09zS0lOVm1KeDN6akpo?= =?utf-8?B?bHFCblRiOHFhTjRUbXhUU08wMWc3Zi9QMENXVmFsWDdPL3liUnFyNlc2K002?= =?utf-8?B?VysrS3k2aHpWVnAyZ1BZblNCWTlHeitjREozMElKeVh1ZDQvNlhKeXdMQTVS?= =?utf-8?B?RGJ1T0cyVlpHQ095OHBpR1dSdStZSVJ5WFFpajFuUW85cXJ6NkJQZzRpUWdv?= =?utf-8?B?RDJZTmpXbi9LZThYcG1xWDZQV0VvY0lwN2M2TDNGeHRSMWxEUzFqSGRWcHQy?= =?utf-8?B?ZVJMZE9rbTZHbWt4R0NPdGpzaDdRNGo1bHh5ekI3MGpSeFRiaG1aQm1lWDJ6?= =?utf-8?B?K2NKRldTNVBzdTYweXRHVlZkQzRPMjhPM29WTlk3RDBSMnBXMHhNMHFUenIv?= =?utf-8?B?N2Z1ejFTTmg0RGJqbkwrYm0yYW85OUFFTmdZUmZDcGI0T1dVcmJGUTNJNjJa?= =?utf-8?B?VHd4ZnVmcmpiSHkveER6S1RjaDFGemI3YlRlVGNIbFNsb3duQ0V2QTFLb0ow?= =?utf-8?B?akY1VWlua0R5NGNxQWUyVTRsbitPdzNTaTBCTEpnRi9TSGRlOUtoYXd5N1pn?= =?utf-8?B?b3dEUnJzc1Z1OGRLbWlpTExDdWNhSlROVkRNc3JoUktHNUlsOG5xcWdjanNK?= =?utf-8?B?b1JVM2ZLYUpzVUkrMG9HdUdRTCtWTWRqNG9aVGo3SjJQUTVjZmlJczYvNHFq?= =?utf-8?B?NmRVYW9LQVU5a2NSQTAwRFJWL0JJbS9WUFNEZmRhbSt4QW5GVGxNTmJEdE1M?= =?utf-8?B?QnByRzlxNGlhM0MzcXdHT0RSeWRHZjdwTWpLUk90QUFnbHRzTFFsb2FncDV1?= =?utf-8?B?TnNSUm9aM1Fqa2ZPT2Zxd1dxcVhhNmpYYXYyT28xeW5VSjNTK0dVNERrUitH?= =?utf-8?B?KzJIUEt5SWg4TFp6czFXYkFndmtMbWFMNEdZd0hJdGhaTFJJc3daVS90RzR1?= =?utf-8?Q?rCu5SG4bs6yLgYimXeA0WRJ+GU7mFMCzkKk6/dE?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6521 Original-Authentication-Results: nvidia.com; dkim=none (message not signed) header.d=none;nvidia.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT057.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 229e128f-1813-4c25-b377-08d903c0a2d0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WbG9JmC1sh3HAVF+brWztuujPGmpxXJD8ZY36LHFQ5L8uL4KU08h2Gzjn5F+yBVLP+U4C8D4f8M1wbxMyHDvXXdXahutXAEbcKqAuzvsPCn7wpVR1z5rfyiC2sC//GUMGSQwuoxJxR4I2ZxYOricpKg+enj1Xlc18JBCMz4wXCJjxWOW3Y4Mk00vPVFXEQwa/eBdEPp8NQYZScKtkM/9NsCzQzNLsxIhcd/WaFnP1NEfCcV0nn395kWfRPG6nsyeLRlXdK6uj2FnspXYbuZdwDt/k0yOr4o6cXNuRGLteCMrRsjxmp9uB5wUk/falH+v+jVwkSU4FocE6SN6CMx8AU0HxCVM357ZMUNu1QKUcUnkK0Fn2+kojsTfSNax5jqfhgZ5qzBo7rfnwERYAqgcZV82nc5fREfbblyQzH2Jo/cu5YdRLIw4zDN9WN5+XkT4gS2wC90VAA1tuv8EHnXlN1ittisbuSuAX5X6+N1hJebf4G6qgxQL7HcQc6U3m8l/wJ9U8e8RRkiDz1BZaHyzQjrjSgbTj3bh4jl7BVxNdT3QVaBzvEbq2tWbGhjwyV8IkOozaruJ7FqjKArKqrJ4c22KYnhExInzNlDdsdVhEof2uem7AaMv+mbWVbLKAgPWy/kEz/rnOWnh3D5d2+4Z8+3aQpV4DP38gHPvDZQXSxU= 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)(346002)(396003)(136003)(376002)(39860400002)(36840700001)(46966006)(2906002)(26005)(336012)(8936002)(478600001)(316002)(450100002)(7696005)(52536014)(110136005)(81166007)(36860700001)(82740400003)(33656002)(47076005)(356005)(54906003)(186003)(30864003)(5660300002)(83380400001)(224303003)(86362001)(82310400003)(55016002)(6506007)(53546011)(70586007)(4326008)(70206006)(9686003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Apr 2021 05:53:49.6272 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8b6fac56-9092-41a0-7915-08d903c0ab99 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: AM5EUR03FT057.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB4971 Subject: [dpdk-dev] =?utf-8?b?5Zue5aSNOiBbUEFUQ0ggdjEgMy80XSBuZXQvbWx4?= =?utf-8?q?5=3A_fix_rebuild_bug_for_Memory_Region_cache?= 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" SGksIFNsYXZhDQoNClRoYW5rcyB2ZXJ5IG11Y2ggZm9yIHlvdXIgZXhwbGFuYXRpb24uDQoNCkkg Y2FuIHVuZGVyc3RhbmQgdGhlIGFwcCBjYW4gd2FpdCBhbGwgbWJ1ZnMgYXJlIHJldHVybmVkIHRv IHRoZSBtZW1vcnkgcG9vbCwNCmFuZCB0aGVuIGl0IGNhbiBmcmVlIHRoaXMgbWJ1ZnMsIEkgYWdy ZWUgd2l0aCB0aGlzLg0KDQpBcyBhIHJlc3VsdCwgSSB3aWxsIHJlbW92ZSB0aGUgYnVnIGZpeCBw YXRjaCBmcm9tIHRoaXMgc2VyaWVzIGFuZCBqdXN0IHJlcGxhY2UgdGhlIHNtcCBiYXJyaWVyDQp3 aXRoIEMxMSB0aHJlYWQgZmVuY2UuIFRoYW5rcyB2ZXJ5IG11Y2ggZm9yIHlvdXIgcGF0aWVudCBl eHBsYW5hdGlvbiBhZ2Fpbi4NCg0KQmVzdCBSZWdhcmRzDQpGZWlmZWkNCg0KPiAtLS0tLemCruS7 tuWOn+S7ti0tLS0tDQo+IOWPkeS7tuS6ujogU2xhdmEgT3ZzaWllbmtvIDx2aWFjaGVzbGF2b0Bu dmlkaWEuY29tPg0KPiDlj5HpgIHml7bpl7Q6IDIwMjHlubQ05pyIMjDml6UgMjo1MQ0KPiDmlLbk u7bkuro6IEZlaWZlaSBXYW5nIDxGZWlmZWkuV2FuZzJAYXJtLmNvbT47IE1hdGFuIEF6cmFkDQo+ IDxtYXRhbkBudmlkaWEuY29tPjsgU2hhaGFmIFNodWxlciA8c2hhaGFmc0BudmlkaWEuY29tPg0K PiDmioTpgIE6IGRldkBkcGRrLm9yZzsgbmQgPG5kQGFybS5jb20+OyBzdGFibGVAZHBkay5vcmc7 IFJ1aWZlbmcgV2FuZw0KPiA8UnVpZmVuZy5XYW5nQGFybS5jb20+OyBuZCA8bmRAYXJtLmNvbT4N Cj4g5Li76aKYOiBSRTogW1BBVENIIHYxIDMvNF0gbmV0L21seDU6IGZpeCByZWJ1aWxkIGJ1ZyBm b3IgTWVtb3J5IFJlZ2lvbiBjYWNoZQ0KPiANCj4gSGksIEZlaWZlaQ0KPiANCj4gUGxlYXNlLCBz ZWUgYmVsb3cNCj4gDQo+IC4uLi4NCj4gDQo+ID4gPiBIaSwgRmVpZmVpDQo+ID4gPg0KPiA+ID4g U29ycnksIEkgZG8gbm90IGZvbGxvdyB3aGF0IHRoaXMgcGF0Y2ggZml4ZXMuIERvIHdlIGhhdmUg c29tZQ0KPiA+ID4gaXNzdWUvYnVnIHdpdGggTVIgY2FjaGUgaW4gcHJhY3RpY2U/DQo+ID4NCj4g PiBUaGlzIHBhdGNoIGZpeGVzIHRoZSBidWcgd2hpY2ggaXMgYmFzZWQgb24gbG9naWNhbCBkZWR1 Y3Rpb24sIGFuZCBpdA0KPiA+IGRvZXNuJ3QgYWN0dWFsbHkgaGFwcGVuLg0KPiA+DQo+ID4gPg0K PiA+ID4gRWFjaCBUeCBxdWV1ZSBoYXMgaXRzIG93biBkZWRpY2F0ZWQgImxvY2FsIiBjYWNoZSBm b3IgTVJzIHRvIGNvbnZlcnQNCj4gPiA+IGJ1ZmZlciBhZGRyZXNzIGluIG1idWZzIGJlaW5nIHRy YW5zbWl0dGVkIHRvIExLZXlzIChIVy1yZWxhdGVkDQo+ID4gPiBlbnRpdHkNCj4gPiA+IGhhbmRs ZSkgYW5kIHRoZSAiZ2xvYmFsIiBjYWNoZSBmb3IgYWxsIE1SIHJlZ2lzdGVyZWQgb24gdGhlIGRl dmljZS4NCj4gPiA+DQo+ID4gPiBBRkFJSywgaG93IGNvbnZlcnNpb24gaGFwcGVucyBpbiBkYXRh cGF0aDoNCj4gPiA+IC0gY2hlY2sgdGhlIGxvY2FsIHF1ZXVlIGNhY2hlIGZsdXNoIHJlcXVlc3QN Cj4gPiA+IC0gbG9va3VwIGluIGxvY2FsIGNhY2hlDQo+ID4gPiAtIGlmIG5vdCBmb3VuZDoNCj4g PiA+IC0gYWNxdWlyZSBsb2NrIGZvciBnbG9iYWwgY2FjaGUgcmVhZCBhY2Nlc3MNCj4gPiA+IC0g bG9va3VwIGluIGdsb2JhbCBjYWNoZQ0KPiA+ID4gLSByZWxlYXNlIGxvY2sgZm9yIGdsb2JhbCBj YWNoZQ0KPiA+ID4NCj4gPiA+IEhvdyBjYWNoZSB1cGRhdGUgb24gbWVtb3J5IGZyZWVpbmcvdW5y ZWdpc3RlcmluZyBoYXBwZW5zOg0KPiA+ID4gLSBhY3F1aXJlIGxvY2sgZm9yIGdsb2JhbCBjYWNo ZSB3cml0ZSBhY2Nlc3MNCj4gPiA+IC0gW2FdIHJlbW92ZSByZWxldmFudCBNUnMgZnJvbSB0aGUg Z2xvYmFsIGNhY2hlDQo+ID4gPiAtIFtiXSBzZXQgbG9jYWwgY2FjaGVzIGZsdXNoIHJlcXVlc3QN Cj4gPiA+IC0gZnJlZSBnbG9iYWwgY2FjaGUgbG9jaw0KPiA+ID4NCj4gPiA+IElmIEkgdW5kZXJz dGFuZCBjb3JyZWN0bHksIHlvdXIgcGF0Y2ggc3dhcHMgW2FdIGFuZCBbYl0sIGFuZCBsb2NhbA0K PiA+ID4gY2FjaGVzIGZsdXNoIGlzIHJlcXVlc3RlZCBlYXJsaWVyLiBXaGF0IHByb2JsZW0gZG9l cyBpdCBzb2x2ZT8NCj4gPiA+IEl0IGlzIG5vdCBzdXBwb3NlZCB0aGVyZSBhcmUgaW4gZGF0YXBh dGggc29tZSBtYnVmcyByZWZlcmVuY2luZyB0bw0KPiA+ID4gdGhlIG1lbW9yeSBiZWluZyBmcmVl ZC4gQXBwbGljYXRpb24gbXVzdCBlbnN1cmUgdGhpcyBhbmQgbXVzdCBub3QNCj4gPiA+IGFsbG9j YXRlIG5ldyBtYnVmcyBmcm9tIHRoaXMgbWVtb3J5IHJlZ2lvbnMgYmVpbmcgZnJlZWQuIEhlbmNl LCB0aGUNCj4gPiA+IGxvb2t1cHMgZm9yIHRoZXNlIE1ScyBpbiBjYWNoZXMgc2hvdWxkIG5vdCBv Y2N1ci4NCj4gPg0KPiA+IEZvciB5b3VyIGZpcnN0IHBvaW50IHRoYXQsIGFwcGxpY2F0aW9uIGNh biB0YWtlIGNoYXJnZSBvZiBwcmV2ZW50aW5nDQo+ID4gTVIgZnJlZWQgbWVtb3J5IGJlaW5nIGFs bG9jYXRlZCB0byBkYXRhIHBhdGguDQo+ID4NCj4gPiBEb2VzIGl0IG1lYW5zIHRoYXQgSWYgdGhl cmUgaXMgYW4gZW1lcmdlbmN5IG9mIE1SIGZyYWdtZW50LCBzdWNoIGFzDQo+ID4gaG90cGx1Zywg dGhlIGFwcGxpY2F0aW9uIG11c3QgaW5mb3JtIHRoZWRhdGEgcGF0aCBpbiBhZHZhbmNlLCBhbmQg dGhpcw0KPiA+IG1lbW9yeSB3aWxsIG5vdCBiZSBhbGxvY2F0ZWQsIGFuZCB0aGVuIHRoZSBjb250 cm9sIHBhdGggd2lsbCBmcmVlIHRoaXMNCj4gPiBtZW1vcnk/IElmIGFwcGxpY2F0aW9uICBjYW4g ZG8gbGlrZSB0aGlzLCBJIGFncmVlIHRoYXQgdGhpcyBidWcgY2Fubm90IGhhcHBlbi4NCj4gDQo+ IEFjdHVhbGx5LCAgdGhpcyBpcyB0aGUgb25seSBjb3JyZWN0IHdheSBmb3IgYXBwbGljYXRpb24g dG8gb3BlcmF0ZS4NCj4gTGV0J3Mgc3VwcG9zZSB3ZSBoYXZlIHNvbWUgbWVtb3J5IGFyZWEgdGhh dCBhcHBsaWNhdGlvbiB3YW50cyB0byBmcmVlLiBBTEwNCj4gcmVmZXJlbmNlcyB0byB0aGlzIGFy ZWEgbXVzdCBiZSByZW1vdmVkLiBJZiB3ZSBoYXZlIHNvbWUgbWJ1ZnMgYWxsb2NhdGVkDQo+IGZy b20gdGhpcyBhcmVhLCBpdCBtZWFucyB0aGF0IHdlIGhhdmUgbWVtb3J5IHBvb2wgY3JlYXRlZCB0 aGVyZS4NCj4gDQo+IFdoYXQgYXBwbGljYXRpb24gc2hvdWxkIGRvOg0KPiAtIG5vdGlmeSBhbGwg aXRzIGNvbXBvbmVudHMvYWdlbnRzIHRoZSBtZW1vcnkgYXJlYSBpcyBnb2luZyB0byBiZSBmcmVl ZA0KPiAtIGFsbCBjb21wb25lbnRzL2FnZW50cyBmcmVlIHRoZSBtYnVmcyB0aGV5IG1pZ2h0IG93 bg0KPiAtIFBNRCBtaWdodCBub3Qgc3VwcG9ydCBmcmVlaW5nIGZvciBzb21lIG1idWZzIChmb3Ig ZXhhbXBsZSBiZWluZyBzZW50DQo+IGFuZCBhd2FpdGluZyBmb3IgY29tcGxldGlvbiksIHNvIGFw cCBzaG91bGQganVzdCB3YWl0DQo+IC0gd2FpdCB0aWxsIGFsbCBtYnVmcyBhcmUgcmV0dXJuZWQg dG8gdGhlIG1lbW9yeSBwb29sIChieSBtb25pdG9yaW5nIGF2YWlsYWJsZQ0KPiBvYmogPT0gcG9v bCBzaXplKQ0KPiANCj4gT3RoZXJ3aXNlIC0gaXQgaXMgZGFuZ2Vyb3VzIHRvIGZyZWUgdGhlIG1l bW9yeS4gVGhlcmUgYXJlIGp1c3Qgc29tZSBtYnVmcw0KPiBzdGlsbCBhbGxvY2F0ZWQsIGl0IGlz IHJlZ2FyZGxlc3MgdG8gYnVmIGFkZHJlc3MgdG8gTVIgdHJhbnNsYXRpb24uIFdlIGp1c3QgY2Fu J3QNCj4gZnJlZSB0aGUgbWVtb3J5IC0gdGhlIG1hcHBpbmcgd2lsbCBiZSBkZXN0cm95ZWQgYW5k IG1pZ2h0IGNhdXNlIHRoZQ0KPiBzZWdtZW50YXRpb24gZmF1bHQgYnkgU1cgb3Igc29tZSBIVyBp c3N1ZXMgb24gRE1BIGFjY2VzcyB0byB1bm1hcHBlZA0KPiBtZW1vcnkuICBJdCBpcyB2ZXJ5IGdl bmVyaWMgc2FmZXR5IGFwcHJvYWNoIC0gZG8gbm90IGZyZWUgdGhlIG1lbW9yeSB0aGF0IGlzDQo+ IHN0aWxsIGluIHVzZS4gSGVuY2UsIGF0IHRoZSBtb21lbnQgb2YgZnJlZWluZyBhbmQgdW5yZWdp c3RlcmluZyB0aGUgTVIsIHRoZXJlDQo+IE1VU1QgQkUgTk8gYW55IG1idWZzIGluIGZsaWdodCBy ZWZlcmVuY2luZyB0byB0aGUgYWRkcmVzc2VzIGJlaW5nIGZyZWVkLg0KPiBObyB0cmFuc2xhdGlv biB0byBNUiBiZWluZyBpbnZhbGlkYXRlZCBjYW4gaGFwcGVuLg0KPiANCj4gPg0KPiA+ID4gRm9y IG90aGVyIHNpZGUsIHRoZSBjYWNoZSBmbHVzaCBoYXMgbmVnYXRpdmUgZWZmZWN0IC0gdGhlIGxv Y2FsDQo+ID4gPiBjYWNoZSBpcyBnZXR0aW5nIGVtcHR5IGFuZCBjYW4ndCBwcm92aWRlIHRyYW5z bGF0aW9uIGZvciBvdGhlciB2YWxpZA0KPiA+ID4gKG5vdCBiZWluZyByZW1vdmVkKSBNUnMsIGFu ZCB0aGUgdHJhbnNsYXRpb24gaGFzIHRvIGxvb2sgdXAgaW4gdGhlDQo+ID4gPiBnbG9iYWwgY2Fj aGUsIHRoYXQgaXMgbG9ja2VkIG5vdyBmb3IgcmVidWlsZGluZywgdGhpcyBjYXVzZXMgdGhlDQo+ ID4gPiBkZWxheXMgaW4gZGF0YXBhdGNoDQo+ID4gb24gYWNxdWlyaW5nIGdsb2JhbCBjYWNoZSBs b2NrLg0KPiA+ID4gU28sIEkgc2VlIHNvbWUgcG90ZW50aWFsIHBlcmZvcm1hbmNlIGltcGFjdC4N Cj4gPg0KPiA+IElmIGFib3ZlIGFzc3VtcHRpb24gaXMgdHJ1ZSwgd2UgY2FuIGdvIHRvIHlvdXIg c2Vjb25kIHBvaW50LiBJIHRoaW5rDQo+ID4gdGhpcyBpcyBhIHByb2JsZW0gb2YgdGhlIHRyYWRl b2ZmIGJldHdlZW4gY2FjaGUgY29oZXJlbmNlIGFuZA0KPiBwZXJmb3JtYW5jZS4NCj4gPg0KPiA+ IEkgY2FuIHVuZGVyc3RhbmQgeW91ciBtZWFuaW5nIHRoYXQgdGhvdWdoIGdsb2JhbCBjYWNoZSBo YXMgYmVlbg0KPiA+IGNoYW5nZWQsIHdlIHNob3VsZCBrZWVwIHRoZSB2YWxpZCBNUiBpbiBsb2Nh bCBjYWNoZSBhcyBsb25nIGFzDQo+ID4gcG9zc2libGUgdG8gZW5zdXJlIHRoZSBmYXN0IHNlYXJj aGluZyBzcGVlZC4NCj4gPiBJbiB0aGUgbWVhbndoaWxlLCB0aGUgbG9jYWwgY2FjaGUgY2FuIGJl IHJlYnVpbHQgbGF0ZXIgdG8gcmVkdWNlIGl0cw0KPiA+IHdhaXRpbmcgdGltZSBmb3IgYWNxdWly aW5nIHRoZSBnbG9iYWwgY2FjaGUgbG9jay4NCj4gPg0KPiA+IEhvd2V2ZXIsICB0aGlzIG1lY2hh bmlzbSBqdXN0IGVuc3VyZXMgdGhlIHBlcmZvcm1hbmNlIHVuY2hhbmdlZCBmb3INCj4gPiB0aGUg Zmlyc3QgZmV3IG1idWZzLg0KPiA+IER1cmluZyB0aGUgbmV4dCBtYnVmcyBsa2V5IHNlYXJjaGlu ZyBhZnRlciAnZGV2X2dlbicgdXBkYXRlZCwgaXQgaXMNCj4gPiBzdGlsbCBuZWNlc3NhcnkgdG8g dXBkYXRlIHRoZSBsb2NhbCBjYWNoZS4gQW5kIHRoZSBwZXJmb3JtYW5jZSBjYW4NCj4gPiBmaXJz dGx5IHJlZHVjZSBhbmQgdGhlbiByZXR1cm5zLiBUaHVzLCBubyBtYXR0ZXIgd2hldGhlciB0aGVy ZSBpcyB0aGlzDQo+ID4gcGF0Y2ggb3Igbm90LCAgdGhlIHBlcmZvcm1hbmNlIHdpbGwgaml0dGVy IGluIGEgY2VydGFpbiBwZXJpb2Qgb2YgdGltZS4NCj4gDQo+IExvY2FsIGNhY2hlIHNob3VsZCBi ZSB1cGRhdGVkIHRvIHJlbW92ZSBNUnMgbm8gbG9uZ2VyIHZhbGlkLiBCdXQgd2UganVzdA0KPiBm bHVzaCB0aGUgZW50aXJlIGNhY2hlLg0KPiBMZXQncyBzdXBwb3NlIHdlIGhhdmUgdmFsaWQgTVIw LCBNUjEsIGFuZCBub3QgdmFsaWQgTVJYIGluIGxvY2FsIGNhY2hlLg0KPiBBbmQgdGhlcmUgYXJl IHRyYWZmaWMgaW4gdGhlIGRhdGFwYXRoIGZvciBNUjAgYW5kIE1SMSwgYW5kIG5vIHRyYWZmaWMg Zm9yIE1SWA0KPiBhbnltb3JlLg0KPiANCj4gMSkgSWYgd2UgZG8gYXMgeW91IHByb3Bvc2U6DQo+ IGEpIHRha2UgYSBsb2NrDQo+IGIpIHJlcXVlc3QgZmx1c2ggbG9jYWwgY2FjaGUgZmlyc3QgLSBh bGwgTVIwLCBNUjEsIE1SWCB3aWxsIGJlIHJlbW92ZWQgb24NCj4gdHJhbnNsYXRpb24gaW4gZGF0 YXBhdGgNCj4gYykgdXBkYXRlIGdsb2JhbCBjYWNoZSwNCj4gZCkgZnJlZSBsb2NrDQo+IEFsbCB0 aGUgdHJhZmZpYyBmb3IgdmFsaWQgTVIwLCBNUjEgQUxXQVlTIHdpbGwgYmUgYmxvY2tlZCBvbiBs b2NrIHRha2VuIGZvcg0KPiBjYWNoZSB1cGRhdGUgc2luY2UgcG9pbnQgYikgdGlsbCBwb2ludCBk KS4NCj4gDQo+IDIpIElmIHdlIGRvIGFzIGl0IGlzIGltcGxlbWVudGVkIG5vdzoNCj4gYSkgdGFr ZSBhIGxvY2sNCj4gYikgdXBkYXRlIGdsb2JhbCBjYWNoZQ0KPiBjKSByZXF1ZXN0IGZsdXNoIGxv Y2FsIGNhY2hlDQo+IGQpIGZyZWUgbG9jaw0KPiBUaGUgdHJhZmZpYyBNSUdIVCBiZSBsb2NrZWQg T05MWSBmb3IgTVJzIG5vbi1leGlzdGluZyBpbiBsb2NhbCBjYWNoZSAobm90DQo+IGhhcHBlbnMg Zm9yIE1SMCBhbmQgTVIxLCBtdXN0IG5vdCBoYXBwZW4gZm9yIE1SWCksICBhbmQgcHJvYmFiaWxp dHkNCj4gc2hvdWxkIGJlIG1pbm9yLiBBbmQgbG9jayBtaWdodCBoYXBwZW4gc2luY2UgYykgdGls bCBkKSAtIHF1aXRlIHNob3J0IHBlcmlvZCBvZg0KPiB0aW1lDQo+IA0KPiBTdW1tYXJ5LCB0aGUg ZGlmZmVyZW5jZSBiZXR3ZWVuIDEpIGFuZCAyKQ0KPiANCj4gTG9jayBwcm9iYWJpbGl0eToNCj4g LSAxKSBsb2NrIEFMV0FZUyBoYXBwZW4gZm9yIEFOWSBNUiB0cmFuc2xhdGlvbiBhZnRlciBiKSwN Cj4gICAyKSBsb2NrIE1JR0hUIGhhcHBlbiwgZm9yIGNhY2hlIG1pc3MgT05MWSwgYWZ0ZXIgYykN Cj4gDQo+IExvY2sgZHVyYXRpb246DQo+IC0gMSkgbG9jayBzaW5jZSBiKSB0aWxsIGQpLA0KPiAg IDIpIGxvY2sgc2luY2UgYykgdGlsbCBkKSwgdGhhdCBzZWVtcyB0byBiZSAgbXVjaCBzaG9ydGVy Lg0KPiANCj4gPg0KPiA+IEZpbmFsbHksIGluIGNvbmNsdXNpb24sIEkgdGVuZCB0byB0aGluayB0 aGF0IHRoZSBib3R0b20gbGF5ZXIgY2FuIGRvDQo+ID4gbW9yZSB0aGluZ3MgdG8gZW5zdXJlIHRo ZSBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgcHJvZ3JhbSwgd2hpY2ggbWF5DQo+ID4gaGF2ZSBh IG5lZ2F0aXZlIGltcGFjdCBvbiB0aGUgcGVyZm9ybWFuY2UgaW4gYSBzaG9ydCB0aW1lLCBidXQg aW4gdGhlDQo+ID4gbG9uZyBydW4sIHRoZSBwZXJmb3JtYW5jZSB3aWxsIGV2ZW50dWFsbHkgY29t ZSBiYWNrLiAgRnVydGhlcm1vcmUsDQo+ID4gbWF5YmUgd2Ugc2hvdWxkIHBheSBhdHRlbnRpb24g dG8gdGhlIHBlcmZvcm1hbmNlIGluIHRoZSBzdGFibGUgcGVyaW9kLA0KPiA+IGFuZCB0cnkgb3Vy IGJlc3QgdG8gZW5zdXJlIHRoZSBjb3JyZWN0bmVzcyBvZiB0aGUgcHJvZ3JhbSBpbiBjYXNlIG9m DQo+IGVtZXJnZW5jaWVzLg0KPiANCj4gSWYgd2UgaGF2ZSBzb21lIG1idWZzIHN0aWxsIGFsbG9j YXRlZCBpbiBtZW1vcnkgYmVpbmcgZnJlZWQgLSB0aGVyZSBpcw0KPiBub3RoaW5nIHRvIHNheSBh Ym91dCBjb3JyZWN0bmVzcywgaXQgaXMgdG90YWxseSBpbmNvcnJlY3QuIEluIG15IG9waW5pb24s IHdlDQo+IHNob3VsZCBub3QgdGhpbmsgaG93IHRvIG1pdGlnYXRlIHRoaXMgaW5jb3JyZWN0IGJl aGF2aW9yLCB3ZSBzaG91bGQgbm90DQo+IGVuY291cmFnZSBhcHBsaWNhdGlvbiBkZXZlbG9wZXJz IHRvIGZvbGxvdyB0aGUgd3JvbmcgYXBwcm9hY2hlcy4NCj4gDQo+IFdpdGggYmVzdCByZWdhcmRz LA0KPiBTbGF2YQ0KPiANCj4gPg0KPiA+IEJlc3QgUmVnYXJkcw0KPiA+IEZlaWZlaQ0KPiA+DQo+ ID4gPiBXaXRoIGJlc3QgcmVnYXJkcywNCj4gPiA+IFNsYXZhDQo+ID4gPg0KPiA+ID4gPiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiBGcm9tOiBGZWlmZWkgV2FuZyA8ZmVpZmVp LndhbmcyQGFybS5jb20+DQo+ID4gPiA+IFNlbnQ6IFRodXJzZGF5LCBNYXJjaCAxOCwgMjAyMSA5 OjE5DQo+ID4gPiA+IFRvOiBNYXRhbiBBenJhZCA8bWF0YW5AbnZpZGlhLmNvbT47IFNoYWhhZiBT aHVsZXINCj4gPiA+ID4gPHNoYWhhZnNAbnZpZGlhLmNvbT47IFNsYXZhIE92c2lpZW5rbyA8dmlh Y2hlc2xhdm9AbnZpZGlhLmNvbT47DQo+ID4gPiA+IFlvbmdzZW9rIEtvaCA8eXNrb2hAbWVsbGFu b3guY29tPg0KPiA+ID4gPiBDYzogZGV2QGRwZGsub3JnOyBuZEBhcm0uY29tOyBGZWlmZWkgV2Fu Zw0KPiA8ZmVpZmVpLndhbmcyQGFybS5jb20+Ow0KPiA+ID4gPiBzdGFibGVAZHBkay5vcmc7IFJ1 aWZlbmcgV2FuZyA8cnVpZmVuZy53YW5nQGFybS5jb20+DQo+ID4gPiA+IFN1YmplY3Q6IFtQQVRD SCB2MSAzLzRdIG5ldC9tbHg1OiBmaXggcmVidWlsZCBidWcgZm9yIE1lbW9yeQ0KPiA+ID4gPiBS ZWdpb24gY2FjaGUNCj4gPiA+ID4NCj4gPiA+ID4gJ2Rldl9nZW4nIGlzIGEgdmFyaWFibGUgdG8g aW5mb3JtIG90aGVyIGNvcmVzIHRvIGZsdXNoIHRoZWlyIGxvY2FsDQo+ID4gPiA+IGNhY2hlIHdo ZW4gZ2xvYmFsIGNhY2hlIGlzIHJlYnVpbHQuDQo+ID4gPiA+DQo+ID4gPiA+IEhvd2V2ZXIsIGlm ICdkZXZfZ2VuJyBpcyB1cGRhdGVkIGFmdGVyIGdsb2JhbCBjYWNoZSBpcyByZWJ1aWx0LA0KPiA+ ID4gPiBvdGhlciBjb3JlcyBtYXkgbG9hZCBhIHdyb25nIG1lbW9yeSByZWdpb24gbGtleSB2YWx1 ZSBmcm9tIG9sZA0KPiA+ID4gPiBsb2NhbA0KPiA+IGNhY2hlLg0KPiA+ID4gPg0KPiA+ID4gPiBU aW1lc2xvdCAgICAgICAgbWFpbiBjb3JlICAgICAgICAgICAgICAgd29ya2VyIGNvcmUNCj4gPiA+ ID4gICAxICAgICAgICAgcmVidWlsZCBnbG9iYWwgY2FjaGUNCj4gPiA+ID4gICAyICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWQgdW5jaGFuZ2VkIGRldl9nZW4NCj4gPiA+ID4g ICAzICAgICAgICAgICAgdXBkYXRlIGRldl9nZW4NCj4gPiA+ID4gICA0ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxvb2sgdXAgb2xkIGxvY2FsIGNhY2hlDQo+ID4gPiA+DQo+ID4g PiA+IEZyb20gdGhlIGV4YW1wbGUgYWJvdmUsIHdlIGNhbiBzZWUgdGhhdCB0aG91Z2ggZ2xvYmFs IGNhY2hlIGlzDQo+ID4gPiA+IHJlYnVpbHQsIGR1ZSB0byB0aGF0IGRldl9nZW4gaXMgbm90IHVw ZGF0ZWQsIHRoZSB3b3JrZXIgY29yZSBtYXkNCj4gPiA+ID4gbG9vayB1cCBvbGQgY2FjaGUgdGFi bGUgYW5kIHJlY2VpdmUgYSB3cm9uZyBtZW1vcnkgcmVnaW9uIGxrZXkgdmFsdWUuDQo+ID4gPiA+ DQo+ID4gPiA+IFRvIGZpeCB0aGlzLCB1cGRhdGluZyAnZGV2X2dlbicgc2hvdWxkIGJlIG1vdmVk IGJlZm9yZSByZWJ1aWxkaW5nDQo+ID4gPiA+IGdsb2JhbCBjYWNoZSB0byBpbmZvcm0gd29ya2Vy IGNvcmVzIHRvIGZsdXNoIHRoZWlyIGxvY2FsIGNhY2hlDQo+ID4gPiA+IHdoZW4gZ2xvYmFsIGNh Y2hlIHN0YXJ0IHJlYnVpbGRpbmcuIEFuZCB3bWIgY2FuIGVuc3VyZSB0aGUNCj4gPiA+ID4gc2Vx dWVuY2Ugb2YgdGhpcw0KPiA+ID4gcHJvY2Vzcy4NCj4gPiA+ID4NCj4gPiA+ID4gRml4ZXM6IDk3 NGYxZTdlZjE0NiAoIm5ldC9tbHg1OiBhZGQgbmV3IG1lbW9yeSByZWdpb24gc3VwcG9ydCIpDQo+ ID4gPiA+IENjOiBzdGFibGVAZHBkay5vcmcNCj4gPiA+ID4NCj4gPiA+ID4gU3VnZ2VzdGVkLWJ5 OiBSdWlmZW5nIFdhbmcgPHJ1aWZlbmcud2FuZ0Bhcm0uY29tPg0KPiA+ID4gPiBTaWduZWQtb2Zm LWJ5OiBGZWlmZWkgV2FuZyA8ZmVpZmVpLndhbmcyQGFybS5jb20+DQo+ID4gPiA+IFJldmlld2Vk LWJ5OiBSdWlmZW5nIFdhbmcgPHJ1aWZlbmcud2FuZ0Bhcm0uY29tPg0KPiA+ID4gPiAtLS0NCj4g PiA+ID4gIGRyaXZlcnMvbmV0L21seDUvbWx4NV9tci5jIHwgMzcNCj4gPiA+ID4gKysrKysrKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDE3 IGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQ0KPiA+ID4gPg0KPiA+ID4gPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9uZXQvbWx4NS9tbHg1X21yLmMNCj4gPiA+ID4gYi9kcml2ZXJzL25ldC9t bHg1L21seDVfbXIuYyBpbmRleA0KPiA+ID4gPiBkYTRlOTFmYzIuLjdjZTFkM2U2NCAxMDA2NDQN Cj4gPiA+ID4gLS0tIGEvZHJpdmVycy9uZXQvbWx4NS9tbHg1X21yLmMNCj4gPiA+ID4gKysrIGIv ZHJpdmVycy9uZXQvbWx4NS9tbHg1X21yLmMNCj4gPiA+ID4gQEAgLTEwMywyMCArMTAzLDE4IEBA IG1seDVfbXJfbWVtX2V2ZW50X2ZyZWVfY2Ioc3RydWN0DQo+ID4gPiA+IG1seDVfZGV2X2N0eF9z aGFyZWQgKnNoLA0KPiA+ID4gPiAgCQlyZWJ1aWxkID0gMTsNCj4gPiA+ID4gIAl9DQo+ID4gPiA+ ICAJaWYgKHJlYnVpbGQpIHsNCj4gPiA+ID4gLQkJbWx4NV9tcl9yZWJ1aWxkX2NhY2hlKCZzaC0+ c2hhcmVfY2FjaGUpOw0KPiA+ID4gPiArCQkrK3NoLT5zaGFyZV9jYWNoZS5kZXZfZ2VuOw0KPiA+ ID4gPiArCQlERUJVRygiYnJvYWRjYXN0aW5nIGxvY2FsIGNhY2hlIGZsdXNoLCBnZW49JWQiLA0K PiA+ID4gPiArCQkJc2gtPnNoYXJlX2NhY2hlLmRldl9nZW4pOw0KPiA+ID4gPiArDQo+ID4gPiA+ ICAJCS8qDQo+ID4gPiA+ICAJCSAqIEZsdXNoIGxvY2FsIGNhY2hlcyBieSBwcm9wYWdhdGluZyBp bnZhbGlkYXRpb24gYWNyb3NzIGNvcmVzLg0KPiA+ID4gPiAtCQkgKiBydGVfc21wX3dtYigpIGlz IGVub3VnaCB0byBzeW5jaHJvbml6ZSB0aGlzIGV2ZW50LiBJZg0KPiA+ID4gPiBvbmUgb2YNCj4g PiA+ID4gLQkJICogZnJlZWQgbWVtc2VncyBpcyBzZWVuIGJ5IG90aGVyIGNvcmUsIHRoYXQgbWVh bnMgdGhlDQo+ID4gPiA+IG1lbXNlZw0KPiA+ID4gPiAtCQkgKiBoYXMgYmVlbiBhbGxvY2F0ZWQg YnkgYWxsb2NhdG9yLCB3aGljaCB3aWxsIGNvbWUgYWZ0ZXIgdGhpcw0KPiA+ID4gPiAtCQkgKiBm cmVlIGNhbGwuIFRoZXJlZm9yZSwgdGhpcyBzdG9yZSBpbnN0cnVjdGlvbiAoaW5jcmVtZW50aW5n DQo+ID4gPiA+IC0JCSAqIGdlbmVyYXRpb24gYmVsb3cpIHdpbGwgYmUgZ3VhcmFudGVlZCB0byBi ZSBzZWVuIGJ5IG90aGVyDQo+ID4gPiA+IGNvcmUNCj4gPiA+ID4gLQkJICogYmVmb3JlIHRoZSBj b3JlIHNlZXMgdGhlIG5ld2x5IGFsbG9jYXRlZCBtZW1vcnkuDQo+ID4gPiA+ICsJCSAqIHJ0ZV9z bXBfd21iKCkgaXMgdG8ga2VlcCB0aGUgb3JkZXIgdGhhdCBkZXZfZ2VuDQo+ID4gPiA+IHVwZGF0 ZWQgYmVmb3JlDQo+ID4gPiA+ICsJCSAqIHJlYnVpbGRpbmcgZ2xvYmFsIGNhY2hlLiBUaGVyZWZv cmUsIG90aGVyIGNvcmUgY2FuIGZsdXNoDQo+ID4gPiA+IHRoZWlyDQo+ID4gPiA+ICsJCSAqIGxv Y2FsIGNhY2hlIG9uIHRpbWUuDQo+ID4gPiA+ICAJCSAqLw0KPiA+ID4gPiAtCQkrK3NoLT5zaGFy ZV9jYWNoZS5kZXZfZ2VuOw0KPiA+ID4gPiAtCQlERUJVRygiYnJvYWRjYXN0aW5nIGxvY2FsIGNh Y2hlIGZsdXNoLCBnZW49JWQiLA0KPiA+ID4gPiAtCQkgICAgICBzaC0+c2hhcmVfY2FjaGUuZGV2 X2dlbik7DQo+ID4gPiA+ICAJCXJ0ZV9zbXBfd21iKCk7DQo+ID4gPiA+ICsJCW1seDVfbXJfcmVi dWlsZF9jYWNoZSgmc2gtPnNoYXJlX2NhY2hlKTsNCj4gPiA+ID4gIAl9DQo+ID4gPiA+ICAJcnRl X3J3bG9ja193cml0ZV91bmxvY2soJnNoLT5zaGFyZV9jYWNoZS5yd2xvY2spOw0KPiA+ID4gPiAg fQ0KPiA+ID4gPiBAQCAtNDA3LDIwICs0MDUsMTkgQEAgbWx4NV9kbWFfdW5tYXAoc3RydWN0IHJ0 ZV9wY2lfZGV2aWNlDQo+ID4gKnBkZXYsDQo+ID4gPiB2b2lkDQo+ID4gPiA+ICphZGRyLA0KPiA+ ID4gPiAgCW1seDVfbXJfZnJlZShtciwgc2gtPnNoYXJlX2NhY2hlLmRlcmVnX21yX2NiKTsNCj4g PiA+ID4gIAlERUJVRygicG9ydCAldSByZW1vdmUgTVIoJXApIGZyb20gbGlzdCIsIGRldi0+ZGF0 YS0+cG9ydF9pZCwNCj4gPiA+ID4gIAkgICAgICAodm9pZCAqKW1yKTsNCj4gPiA+ID4gLQltbHg1 X21yX3JlYnVpbGRfY2FjaGUoJnNoLT5zaGFyZV9jYWNoZSk7DQo+ID4gPiA+ICsNCj4gPiA+ID4g KwkrK3NoLT5zaGFyZV9jYWNoZS5kZXZfZ2VuOw0KPiA+ID4gPiArCURFQlVHKCJicm9hZGNhc3Rp bmcgbG9jYWwgY2FjaGUgZmx1c2gsIGdlbj0lZCIsDQo+ID4gPiA+ICsJCXNoLT5zaGFyZV9jYWNo ZS5kZXZfZ2VuKTsNCj4gPiA+ID4gKw0KPiA+ID4gPiAgCS8qDQo+ID4gPiA+ICAJICogRmx1c2gg bG9jYWwgY2FjaGVzIGJ5IHByb3BhZ2F0aW5nIGludmFsaWRhdGlvbiBhY3Jvc3MgY29yZXMuDQo+ ID4gPiA+IC0JICogcnRlX3NtcF93bWIoKSBpcyBlbm91Z2ggdG8gc3luY2hyb25pemUgdGhpcyBl dmVudC4gSWYgb25lIG9mDQo+ID4gPiA+IC0JICogZnJlZWQgbWVtc2VncyBpcyBzZWVuIGJ5IG90 aGVyIGNvcmUsIHRoYXQgbWVhbnMgdGhlIG1lbXNlZw0KPiA+ID4gPiAtCSAqIGhhcyBiZWVuIGFs bG9jYXRlZCBieSBhbGxvY2F0b3IsIHdoaWNoIHdpbGwgY29tZSBhZnRlciB0aGlzDQo+ID4gPiA+ IC0JICogZnJlZSBjYWxsLiBUaGVyZWZvcmUsIHRoaXMgc3RvcmUgaW5zdHJ1Y3Rpb24gKGluY3Jl bWVudGluZw0KPiA+ID4gPiAtCSAqIGdlbmVyYXRpb24gYmVsb3cpIHdpbGwgYmUgZ3VhcmFudGVl ZCB0byBiZSBzZWVuIGJ5IG90aGVyIGNvcmUNCj4gPiA+ID4gLQkgKiBiZWZvcmUgdGhlIGNvcmUg c2VlcyB0aGUgbmV3bHkgYWxsb2NhdGVkIG1lbW9yeS4NCj4gPiA+ID4gKwkgKiBydGVfc21wX3dt YigpIGlzIHRvIGtlZXAgdGhlIG9yZGVyIHRoYXQgZGV2X2dlbiB1cGRhdGVkDQo+ID4gPiA+IGJl Zm9yZQ0KPiA+ID4gPiArCSAqIHJlYnVpbGRpbmcgZ2xvYmFsIGNhY2hlLiBUaGVyZWZvcmUsIG90 aGVyIGNvcmUgY2FuIGZsdXNoIHRoZWlyDQo+ID4gPiA+ICsJICogbG9jYWwgY2FjaGUgb24gdGlt ZS4NCj4gPiA+ID4gIAkgKi8NCj4gPiA+ID4gLQkrK3NoLT5zaGFyZV9jYWNoZS5kZXZfZ2VuOw0K PiA+ID4gPiAtCURFQlVHKCJicm9hZGNhc3RpbmcgbG9jYWwgY2FjaGUgZmx1c2gsIGdlbj0lZCIs DQo+ID4gPiA+IC0JICAgICAgc2gtPnNoYXJlX2NhY2hlLmRldl9nZW4pOw0KPiA+ID4gPiAgCXJ0 ZV9zbXBfd21iKCk7DQo+ID4gPiA+ICsJbWx4NV9tcl9yZWJ1aWxkX2NhY2hlKCZzaC0+c2hhcmVf Y2FjaGUpOw0KPiA+ID4gPiAgCXJ0ZV9yd2xvY2tfcmVhZF91bmxvY2soJnNoLT5zaGFyZV9jYWNo ZS5yd2xvY2spOw0KPiA+ID4gPiAgCXJldHVybiAwOw0KPiA+ID4gPiAgfQ0KPiA+ID4gPiAtLQ0K PiA+ID4gPiAyLjI1LjENCg0K