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 BBE6FA0C47; Tue, 12 Oct 2021 09:17:11 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8459840142; Tue, 12 Oct 2021 09:17:11 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id DDDD94003C for ; Tue, 12 Oct 2021 09:17:09 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10134"; a="226963191" X-IronPort-AV: E=Sophos;i="5.85,367,1624345200"; d="scan'208";a="226963191" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Oct 2021 00:17:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,367,1624345200"; d="scan'208";a="480207488" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga007.jf.intel.com with ESMTP; 12 Oct 2021 00:17:07 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 12 Oct 2021 00:17:07 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 12 Oct 2021 00:17:06 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Tue, 12 Oct 2021 00:17:06 -0700 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (104.47.74.43) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Tue, 12 Oct 2021 00:17:05 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C7qLZHAhVyUxleRQ1jobiCX9IHsAsSWDprqjVgvGjk3ih13PASqiPbZI4IVV0XoBg7QQWtUwLbP81EXM3vpTY5DxFpSoNkjaTYHdGbugOVW/Lk4/GOSieqUQBHcOc1w4Yvy4Ko59zLBemTNlb4xNVNE9J0GsZFPDoLjkUfP31NrVXTipZ41CLMxsNQRBBVmmuy+ORAzS+xq1O0+jz+d6a8d1Bd4KJf2lpWeqGnCZW2nrnjuizvjlAtCmbzVAnvf7gUSmQUYUi553FMofskseEYcnvuUtTs9HpmMfJXzT+yiIT9vCc/iVrRoZqeDkUl+hExqnbcv5UTwE/vdkNLh3kA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=WtGanX+cu6a3rmiT48AeHXeH1s2GzDcwtmKILoBTzrI=; b=TtleADaH5W+9usaoY4oGGK6nqG8RBkubLYmCtas32XfRXTrvC8HluRmxBpBzXXEC/z+nkxsiiqUle0F+De0yLCs/EejZcoWn/SjOG+iwRk5/lmRqXCLacZqCc0h1hmThwhOIpsZwb9+rCVOIPCyJNWXqaC4MGegHTHn2u0B6LvAxLOoKR9cgn83MmXZk/vPQhHRwiN19OsgLqFQGv7as2Ns6dqfheKddQtuy9Uo4FxMytficeixpMC/OY+7GX9i69rzRmF0BH4MSBcUnyFCsNMgKGBti6po52AtfJcR9efqpAHVrU/OAP61XNYiUAU4nh4z67gHe4ebsbbTRGBV31g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WtGanX+cu6a3rmiT48AeHXeH1s2GzDcwtmKILoBTzrI=; b=qhsYaCrx0sSAMvyt6kNrE7xjOovLwbinW2yyPCLVvNXQjCAMoRC+Ewxf5Gjv8TmNyX5Lve/OcTre7RYf4ZXNzCKbFRSKgB9avwxPZPjIhqvfU/LY8qcUYsVr+LS2SAvrG+GtbErVTfG4YEmo6S/eGij3HjOvBhNhUAAhMgLsZ5Q= Received: from DM8PR11MB5591.namprd11.prod.outlook.com (2603:10b6:8:38::23) by DM8PR11MB5608.namprd11.prod.outlook.com (2603:10b6:8:35::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.14; Tue, 12 Oct 2021 07:17:02 +0000 Received: from DM8PR11MB5591.namprd11.prod.outlook.com ([fe80::3d47:b590:aa2a:d5cc]) by DM8PR11MB5591.namprd11.prod.outlook.com ([fe80::3d47:b590:aa2a:d5cc%9]) with mapi id 15.20.4587.026; Tue, 12 Oct 2021 07:17:02 +0000 From: "Peng, ZhihongX" To: David Marchand , "Richardson, Bruce" CC: "Burakov, Anatoly" , "Ananyev, Konstantin" , Stephen Hemminger , dev , "Lin, Xueqin" , Thomas Monjalon Thread-Topic: [dpdk-dev] [PATCH v6 1/2] Enable ASan for memory detector on DPDK Thread-Index: AQHXtb0yUlb9uW6iB0uZ+PLmDLP2Qau8PHEAgBLHeaA= Date: Tue, 12 Oct 2021 07:17:02 +0000 Message-ID: References: <20210924100310.4278-1-zhihongx.peng@intel.com> <20210930052724.195414-1-zhihongx.peng@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2f193f27-59cc-46e7-c2cc-08d98d5049ea x-ms-traffictypediagnostic: DM8PR11MB5608: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: N1pUlZZzN4KwZly2xltYGFAuSHEHxkqtM7+9tH62LxeC5dFj7Cq2Ly9K39M6KMg6kAVOaLHpu+nNEVzfZFyxQdHUWMvvNleIbA0ezWUPzCXJGF2iK9JJPR4RSHc9B05aKFMZott0qHzouQFvQPQPKEFnPXYdB2xEq4F/t8Ps0J0mwCl3F30hRBeZMCgzE4gbORan3uOqwya1D3DQ22h6AreRL9ekso7DODEwAEwONMZhOiUSwc/4xRIUsD99jLlugDr8RPLbwEA5RBewi7NtSr9iVo2i/L6OGaQOc1LpQEdjjvFR9UUBHMXF5NyLDzcIfTlrFFPdHVJnXxY4wClq6eeAoarkHKBYxpar0bU24l3uSTeXR5ga6/rJwtNU56UZMH5w/sgT9EEGbMgTVWbmva3X08xUTimrFP1oQD2VoquUpYk5rIVuDMotsP/tXS1V9QlVEnyHUrBXC4bW2rR8KtLW28t9KKXXhrn6ssYUrlu77XFaLS2zhY9ekHEArrrizmfLMGbX73n1EfBALpnmYsa/wBPm8ZUCj/S9VZXLVGSmJjn5ZPYz7TtcBSTES7GrSrN0juHJAgJ77Cc/ByomLLtb/LWv+fBAtOuk2seZV+a/y30zxjf6u5F+JhU3AdOwUZ2BMfcH2myJmtNAz5y85VY9fFP/nzaUCvJchM5qjrhfqsD64mxJRnD6Jn/NC9LZKhHfPdoiKf6EkDNQ7fQJ/LNJepUPD64gtYqgRK2qB3xfWGFwYK7XANTOR8ejVnwYXgm+AYbwdXOLqfshmnuY37epHDk42JByZJrQdvMjW6JwwOaPvxbiXxMQ6zFR8pmaqnbM1ufy30IM91WN3YBhRA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM8PR11MB5591.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(71200400001)(110136005)(186003)(2906002)(122000001)(26005)(316002)(54906003)(38100700002)(52536014)(6636002)(66946007)(76116006)(86362001)(66476007)(4326008)(55016002)(508600001)(9686003)(66556008)(64756008)(66446008)(5660300002)(33656002)(53546011)(8676002)(6506007)(83380400001)(38070700005)(7696005)(8936002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YzdySGZUNmdnWngzdThJWXpnQWdJK2U1N3VxTjNtMjJqWDZaaU43ZjNlYmgz?= =?utf-8?B?VW1yc3BGeGMxQXNaRlpxNGNmdjJaWDNESFRvNzRvM3JwcnBhYngxTHN3S3px?= =?utf-8?B?VVB4SXN1N0dnVTR2bVJmdmxaQkswQU50TDdUbFQ3WXZSdkxqUWdWODN6dUIz?= =?utf-8?B?Q2YxZ3A0bVJzSUdNQ3F6SFkyUGlXWUJoaGZzU2xSOGxwRlNudXVTRE9mY2Zm?= =?utf-8?B?OVllQW43SmZyYXUxTEpSano0QzdSTkRCWC9tUkRpcTNreEtSY1FhOS9XUi9P?= =?utf-8?B?WDVWS2x6bHlTNVFNUjRJb0cxTXJMWDFaM2VrM0s4cHljQ1Vxdll1dUZNV1JM?= =?utf-8?B?ZkhMRUhQbzBHR21talBuT2RVeTNvbko3RzIxWkVlbUtjOW1uWHZIdU1XZWti?= =?utf-8?B?eldHUkVodStocysvY241Z3plblZVTU13QkN3cXI1dTVaZVBGOUE5Z09hdFUy?= =?utf-8?B?WDdONC9KTE5HYldPejNnNUtEYVN3WjIwSVYxRWF3cCtnbnRJbFNRRUQxd01G?= =?utf-8?B?U2VpeWZvblk0dTRJR01aOXhKTEJSNG91UEJXaG1hY2FlK05uVXFNSmlrbTlR?= =?utf-8?B?OUJ3NDFLaVJRWGN5TFNMbXBYMUJZMkM4aDZDb0pOTTh4OTcrbUEzQkJYbldX?= =?utf-8?B?QmlxRlFYV2JYWjF5RE1oTzhVMDkwZWJkOUh2SUx2bnRqTWMzcml2anMvRkdu?= =?utf-8?B?OVF0US94czVMWlRJdWJjV010UlRES2VlN0d2Q01vNTNSSFU4K2g0TW4wL3Ja?= =?utf-8?B?Q0F3bVQxQk5GUHRMajFKbE5jcmZTVjRkMzY3NzVXVEM3ekhLN1JFbUFQeVdZ?= =?utf-8?B?dUVtdSs0YzczdTE1RXllZ0hMWUVvMm5MQ21pTEppVERlZDBaTWFNdTEyUjU4?= =?utf-8?B?RzljV0NsVmlFdGMyWXNKalAvVko0dDJ5QWRZRlluZkh3WXVEQ1QyTHdZSjFQ?= =?utf-8?B?M2NaVllkY3hCZnhGK0cxNmpvVys3dVVFcjNOekxieTY1dnZFTmc0VlMrVUlQ?= =?utf-8?B?blg1dE9waWU0ZnNEWTYyazVIZXJaMFhDRCt4ZUNTRkZ4alNEanRhTFEvZ0Rh?= =?utf-8?B?TGV3NmdKcFlyTEpvaStjL0NaSVFKRjQ4VEw0eEVpMHlERml2d280MFJ0SzVB?= =?utf-8?B?Ykl2YWt2VlhxdUg1amROYmc1bHFnMWFTdlRQdW4rbG5EQUNpY2pkZmNYWGdF?= =?utf-8?B?WE1tQ1ZXMHN1Vm5SY2syOXFyOGNEYzJOUlB0OUdCaXlQZ3NVVTlibVBBWTR3?= =?utf-8?B?UDQ3TWRtU3FlMVFkNmE2VDFzSEFCSG56eVVTQnJ3OXQvQWpXcjZ0Vi9KS0g0?= =?utf-8?B?dHFtZkRrVjFscFBxa0I0d1dJNTJFamczU2l1YXdDU2YyRkhnVkQ0ZHNOeEdP?= =?utf-8?B?WVQxU1RFaDhFQUlEd2daMHZHVit4a2MwQ2puakFGM1FZV2RQS2lTNUl2OGlm?= =?utf-8?B?cjkzQUN6c2hpeEp6N1JLdExCcTV3N0VHNkh2Z0I0WUJ1d3h5Q25HbHlIQ1VF?= =?utf-8?B?UU9WeWdzazJzbEZieUZvNXQ3K0s3ZjFMTENDUndLZ0hZejcwanJyL0RSUVJz?= =?utf-8?B?bllNQW5lQkJDbGR1NFplamZLMTdjbDJVeCtpeW53VlNocnFLN1ZDT3IyVVZr?= =?utf-8?B?YUUwVDdOSGFoc2RYSU56RHUrY1pKbWtvNlRvUzd0NVJ3NVljbzNCS0IzblBh?= =?utf-8?B?aVlWTnRvbUo0V2svbk1jM2s4azFZMnV5R0RIZ3VKcm1GNU5zMTgwRjRvcVJz?= =?utf-8?Q?/sS0GaGfq1bfHxN8JE=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8PR11MB5591.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2f193f27-59cc-46e7-c2cc-08d98d5049ea X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Oct 2021 07:17:02.4696 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: hae3fE0jTDEyaJEl9//AvDDdqp7TdwoxbZY777tHkVH8wg4KLUF8QuUx0d5nLpI08ropDtR5zpiZrAKSYc7pbQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR11MB5608 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v6 1/2] Enable ASan for memory detector on DPDK 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" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBEYXZpZCBNYXJjaGFuZCA8ZGF2 aWQubWFyY2hhbmRAcmVkaGF0LmNvbT4NCj4gU2VudDogVGh1cnNkYXksIFNlcHRlbWJlciAzMCwg MjAyMSA0OjIwIFBNDQo+IFRvOiBQZW5nLCBaaGlob25nWCA8WmhpaG9uZ1guUGVuZ0BpbnRlbC5j b20+OyBSaWNoYXJkc29uLCBCcnVjZQ0KPiA8YnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb20+DQo+ IENjOiBCdXJha292LCBBbmF0b2x5IDxhbmF0b2x5LmJ1cmFrb3ZAaW50ZWwuY29tPjsgQW5hbnll diwgS29uc3RhbnRpbg0KPiA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT47IFN0ZXBoZW4g SGVtbWluZ2VyDQo+IDxzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZz47IGRldiA8ZGV2QGRwZGsu b3JnPjsgTGluLCBYdWVxaW4NCj4gPHh1ZXFpbi5saW5AaW50ZWwuY29tPjsgVGhvbWFzIE1vbmph bG9uIDx0aG9tYXNAbW9uamFsb24ubmV0Pg0KPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFU Q0ggdjYgMS8yXSBFbmFibGUgQVNhbiBmb3IgbWVtb3J5IGRldGVjdG9yIG9uDQo+IERQREsNCj4g DQo+IEhlbGxvLA0KPiANCj4gSSBzZWUgdjYgaXMgc3VwZXJzZWRlZCBpbiBwdywgSSBoYXZlIGJl ZW4gY2xlYW5pbmcgbXkgcXVldWUuLi4gbWF5YmUgbXkNCj4gZmF1bHQuDQo+IA0KPiANCj4gT24g VGh1LCBTZXAgMzAsIDIwMjEgYXQgNzozNyBBTSA8emhpaG9uZ3gucGVuZ0BpbnRlbC5jb20+IHdy b3RlOg0KPiA+DQo+ID4gRnJvbTogWmhpaG9uZyBQZW5nIDx6aGlob25neC5wZW5nQGludGVsLmNv bT4NCj4gPg0KPiA+IEFkZHJlc3NTYW5pdGl6ZXIgKEFTYW4pIGlzIGEgZ29vZ2xlIG1lbW9yeSBl cnJvciBkZXRlY3Qgc3RhbmRhcmQgdG9vbC4NCj4gPiBJdCBjb3VsZCBoZWxwIHRvIGRldGVjdCB1 c2UtYWZ0ZXItZnJlZSBhbmQge2hlYXAsc3RhY2ssZ2xvYmFsfS1idWZmZXINCj4gPiBvdmVyZmxv dyBidWdzIGluIEMvQysrIHByb2dyYW1zLCBwcmludCBkZXRhaWxlZCBlcnJvciBpbmZvcm1hdGlv biB3aGVuDQo+ID4gZXJyb3IgaGFwcGVucywgbGFyZ2UgaW1wcm92ZSBkZWJ1ZyBlZmZpY2llbmN5 Lg0KPiA+DQo+ID4gYEFkZHJlc3NTYW5pdGl6ZXINCj4gPiA8aHR0cHM6Ly9naXRodWIuY29tL2dv b2dsZS9zYW5pdGl6ZXJzL3dpa2kvQWRkcmVzc1Nhbml0aXplcj5gIChBU2FuKQ0KPiA+IGlzIGEg d2lkZWx5LXVzZWQgZGVidWdnaW5nIHRvb2wgdG8gZGV0ZWN0IG1lbW9yeSBhY2Nlc3MgZXJyb3Jz Lg0KPiA+IEl0IGhlbHBzIGRldGVjdCBpc3N1ZXMgbGlrZSB1c2UtYWZ0ZXItZnJlZSwgdmFyaW91 cyBraW5kcyBvZiBidWZmZXINCj4gPiBvdmVycnVucyBpbiBDL0MrKyBwcm9ncmFtcywgYW5kIG90 aGVyIHNpbWlsYXIgZXJyb3JzLCBhcyB3ZWxsIGFzDQo+ID4gcHJpbnRpbmcgb3V0IGRldGFpbGVk IGRlYnVnIGluZm9ybWF0aW9uIHdoZW5ldmVyIGFuIGVycm9yIGlzIGRldGVjdGVkLg0KPiANCj4g VGhpcyBwYXRjaCBtaXhlcyBob3cgdG8gdXNlIEFTYW4gYW5kIGluc3RydW1lbnRpbmcgdGhlIERQ REsgbWVtDQo+IGFsbG9jYXRvci4NCj4gDQo+IEkgd291bGQgc3BsaXQgdGhpcyBwYXRjaCBpbiB0 d28uDQo+IA0KPiBUaGUgZmlyc3QgcGF0Y2ggY2FuIGFkZCB0aGUgZG9jdW1lbnRhdGlvbiBvbiBl bmFibGluZy91c2luZyBBU2FuIGFuZA0KPiBkZXNjcmliZSB0aGUga25vd24gaXNzdWVzIG9uIGVu YWJsaW5nIGl0Lg0KPiBJJ2QgZmluZCBpdCBiZXR0ZXIgKGZyb20gYSB1c2VyIHBvdikgaWYgd2Ug aGlkZSBhbGwgdGhvc2UgZGV0YWlscyBhYm91dCBiX2x1bmRlZg0KPiBhbmQgaW5zdGFsbGF0aW9u IG9mIGxpYmFzYW4gb24gQ2VudG9zLg0KPiANCj4gU29tZXRoaW5nIGxpa2UgKG9ubHkgcXVpY2ts eSB0ZXN0ZWQpOg0KPiANCj4gZGlmZiAtLWdpdCBhL2NvbmZpZy9tZXNvbi5idWlsZCBiL2NvbmZp Zy9tZXNvbi5idWlsZCBpbmRleA0KPiA0Y2RmNTg5ZTIwLi43ZDhiNzFkYTc5IDEwMDY0NA0KPiAt LS0gYS9jb25maWcvbWVzb24uYnVpbGQNCj4gKysrIGIvY29uZmlnL21lc29uLmJ1aWxkDQo+IEBA IC00MTEsNiArNDExLDMzIEBAIGlmIGdldF9vcHRpb24oJ2JfbHRvJykNCj4gICAgICBlbmRpZg0K PiAgZW5kaWYNCj4gDQo+ICtpZiBnZXRfb3B0aW9uKCdiX3Nhbml0aXplJykgPT0gJ2FkZHJlc3Mn DQo+ICsgICAgYXNhbl9kZXAgPSBjYy5maW5kX2xpYnJhcnkoJ2FzYW4nLCByZXF1aXJlZDogdHJ1 ZSkNCj4gKyAgICBpZiAobm90IGNjLmxpbmtzKCdpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJn dltdKSB7IHJldHVybiAwOyB9JywNCj4gKyAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2ll czogYXNhbl9kZXApKQ0KPiArICAgICAgICBlcnJvcignYnJva2VuIGRlcGVuZGVuY3ksICJsaWJh c2FuIicpDQo+ICsgICAgZW5kaWYNCj4gKyAgICBhZGRfcHJvamVjdF9saW5rX2FyZ3VtZW50cygn LWxhc2FuJywgbGFuZ3VhZ2U6ICdjJykNCj4gKyAgICBkcGRrX2V4dHJhX2xkZmxhZ3MgKz0gJy1s YXNhbicNCg0KTm8gbmVlZCB0byBhZGQgY29kZTogDQphZGRfcHJvamVjdF9saW5rX2FyZ3VtZW50 cygnLWxhc2FuJywgbGFuZ3VhZ2U6ICdjJykNCmRwZGtfZXh0cmFfbGRmbGFncyArPSAnLWxhc2Fu Jw0KDQpUaGUgYXBwIGNvbXBpbGVkIGJ5IGNsYW5nIHdpbGwgZmFpbCB0byBydW4NCg0KPiArZW5k aWYNCj4gKw0KPiAgaWYgZ2V0X29wdGlvbignZGVmYXVsdF9saWJyYXJ5JykgPT0gJ2JvdGgnDQo+ ICAgICAgZXJyb3IoICcnJw0KPiAgIFVuc3VwcG9ydGVkIHZhbHVlICJib3RoIiBmb3IgImRlZmF1 bHRfbGlicmFyeSIgb3B0aW9uLg0KPiANCj4gDQo+IEJydWNlLCBkbyB5b3Ugc2VlIGFuIGlzc3Vl IHdpdGggdGhpcyBhcHByb2FjaD8NCj4gDQo+IA0KPiBUaGVuIGEgc2Vjb25kIHBhdGNoIGFkZHMg dGhlIHJ0ZV9tYWxsb2MgaW5zdHJ1bWVudGF0aW9uLCB3aXRoIGEgY2hlY2sgYXQNCj4gY29uZmln dXJhdGlvbiB0aW1lLg0KPiANCj4gICAgICBlbmRpZg0KPiAgICAgIGFkZF9wcm9qZWN0X2xpbmtf YXJndW1lbnRzKCctbGFzYW4nLCBsYW5ndWFnZTogJ2MnKQ0KPiAgICAgIGRwZGtfZXh0cmFfbGRm bGFncyArPSAnLWxhc2FuJw0KPiArICAgIGlmIGFyY2hfc3ViZGlyID09ICd4ODYnDQo+ICsgICAg ICAgIGFzYW5fY2hlY2tfY29kZSA9ICcnJw0KPiArI2lmZGVmIF9fU0FOSVRJWkVfQUREUkVTU19f DQo+ICsjZGVmaW5lIFJURV9NQUxMT0NfQVNBTg0KPiArI2VsaWYgZGVmaW5lZChfX2hhc19mZWF0 dXJlKQ0KPiArIyBpZiBfX2hhc19mZWF0dXJlKGFkZHJlc3Nfc2FuaXRpemVyKQ0KPiArI2RlZmlu ZSBSVEVfTUFMTE9DX0FTQU4NCj4gKyMgZW5kaWYNCj4gKyNlbmRpZg0KPiArDQo+ICsjaWZuZGVm IFJURV9NQUxMT0NfQVNBTg0KPiArI2Vycm9yIEFTYW4gbm90IGF2YWlsYWJsZS4NCj4gKyNlbmRp Zg0KPiArJycnDQo+ICsgICAgICAgIGlmIGNjLmNvbXBpbGVzKGFzYW5fY2hlY2tfY29kZSkNCj4g KyAgICAgICAgICAgIGRwZGtfY29uZi5zZXQxMCgnUlRFX01BTExPQ19BU0FOJywgdHJ1ZSkNCmRw ZGtfY29uZi5zZXQxMCgnUlRFX01BTExPQ19BU0FOJywgdHJ1ZSkgaXMgbm90IGV4ZWN1dGVkDQo+ ICsgICAgICAgIGVuZGlmDQo+ICsgICAgZW5kaWYNCj4gIGVuZGlmDQpTZXQgdGhlIG1hY3JvIGRp cmVjdGx5Og0KZHBka19jb25mLnNldDEwKCdSVEVfTUFMTE9DX0FTQU4nLCB0cnVlKQ0KDQpBbGwg Y29kZToNCmlmIGdldF9vcHRpb24oJ2Jfc2FuaXRpemUnKSA9PSAnYWRkcmVzcycNCiAgICBhc2Fu X2RlcCA9IGNjLmZpbmRfbGlicmFyeSgnYXNhbicsIHJlcXVpcmVkOiB0cnVlKQ0KICAgIGlmIChu b3QgY2MubGlua3MoJ2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsgcmV0dXJuIDA7 IH0nLA0KICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llczogYXNhbl9kZXApKQ0KICAgICAgICBl cnJvcignYnJva2VuIGRlcGVuZGVuY3ksICJsaWJhc2FuIicpDQogICAgZW5kaWYNCg0KICAgIGlm IGFyY2hfc3ViZGlyID09ICd4ODYnDQogICAgICAgIGRwZGtfY29uZi5zZXQxMCgnUlRFX01BTExP Q19BU0FOJywgdHJ1ZSkNCiAgICBlbmRpZg0KZW5kaWYNCg0KPiAgaWYgZ2V0X29wdGlvbignZGVm YXVsdF9saWJyYXJ5JykgPT0gJ2JvdGgnDQo+IA0KPiANCj4gRmV3IG1vcmUgY29tbWVudHM6DQo+ IA0KPiANCj4gPg0KPiA+IERQREsgQVNhbiBmdW5jdGlvbmFsaXR5IGlzIGN1cnJlbnRseSBvbmx5 IHN1cHBvcnRlZCBMaW51eCB4ODZfNjQuDQo+ID4gU3VwcG9ydCBvdGhlciBwbGF0Zm9ybXMsIG5l ZWQgdG8gZGVmaW5lIEFTQU5fU0hBRE9XX09GRlNFVCB2YWx1ZQ0KPiA+IGFjY29yZGluZyB0byBn b29nbGUgQVNhbiBkb2N1bWVudC4NCj4gPg0KPiA+IEhlcmUgaXMgYW4gZXhhbXBsZSBvZiBoZWFw LWJ1ZmZlci1vdmVyZmxvdyBidWc6DQo+ID4gICAgICAgICAuLi4uLi4NCj4gPiAgICAgICAgIGNo YXIgKnAgPSBydGVfem1hbGxvYyhOVUxMLCA3LCAwKTsNCj4gPiAgICAgICAgIHBbN10gPSAnYSc7 DQo+ID4gICAgICAgICAuLi4uLi4NCj4gPg0KPiA+IEhlcmUgaXMgYW4gZXhhbXBsZSBvZiB1c2Ut YWZ0ZXItZnJlZSBidWc6DQo+ID4gICAgICAgICAuLi4uLi4NCj4gPiAgICAgICAgIGNoYXIgKnAg PSBydGVfem1hbGxvYyhOVUxMLCA3LCAwKTsNCj4gPiAgICAgICAgIHJ0ZV9mcmVlKHApOw0KPiA+ ICAgICAgICAgKnAgPSAnYSc7DQo+ID4gICAgICAgICAuLi4uLi4NCj4gPg0KPiA+IElmIHlvdSB3 YW50IHRvIHVzZSB0aGlzIGZlYXR1cmUsDQo+ID4geW91IG5lZWQgdG8gYWRkIGJlbG93IGNvbXBp bGF0aW9uIG9wdGlvbnMgd2hlbiBjb21waWxpbmcgY29kZToNCj4gPiAtRGJ1aWxkdHlwZT1kZWJ1 ZyAtRGJfbHVuZGVmPWZhbHNlIC1EYl9zYW5pdGl6ZT1hZGRyZXNzDQo+ID4gIi1EYnVpbGR0eXBl PWRlYnVnIjogVGhpcyBpcyBhIG5vbi1lc3NlbnRpYWwgb3B0aW9uLiBXaGVuIHRoaXMgb3B0aW9u DQo+ID4gaXMgYWRkZWQsIGlmIGEgbWVtb3J5IGVycm9yIG9jY3VycywgQVNhbiBjYW4gY2xlYXJs eSBzaG93IHdoZXJlIHRoZQ0KPiA+IGNvZGUgaXMgd3JvbmcuDQo+ID4gIi1EYl9sdW5kZWY9ZmFs c2UiOiBXaGVuIHVzZSBjbGFuZyB0byBjb21waWxlIERQREssIHRoaXMgb3B0aW9uIG11c3QNCj4g PiBiZSBhZGRlZC4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFh1ZXFpbiBMaW4gPHh1ZXFpbi5s aW5AaW50ZWwuY29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFpoaWhvbmcgUGVuZyA8emhpaG9uZ3gu cGVuZ0BpbnRlbC5jb20+DQo+ID4gLS0tDQo+ID4gIGRldnRvb2xzL3dvcmRzLWNhc2UudHh0ICAg ICAgICAgfCAgIDEgKw0KPiA+ICBkb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvQVNhbi5yc3QgIHwgMTA4 ICsrKysrKysrKysrKysrKysrDQo+ID4gIGRvYy9ndWlkZXMvcHJvZ19ndWlkZS9pbmRleC5yc3Qg fCAgIDEgKw0KPiA+ICBleGFtcGxlcy9oZWxsb3dvcmxkL21haW4uYyAgICAgIHwgICA1ICsNCj4g PiAgbGliL2VhbC9jb21tb24vbWFsbG9jX2VsZW0uYyAgICB8ICAyNiArKystDQo+ID4gIGxpYi9l YWwvY29tbW9uL21hbGxvY19lbGVtLmggICAgfCAyMDQNCj4gKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0NCj4gPiAgbGliL2VhbC9jb21tb24vbWFsbG9jX2hlYXAuYyAgICB8ICAxMiAr Kw0KPiA+ICBsaWIvZWFsL2NvbW1vbi9ydGVfbWFsbG9jLmMgICAgIHwgICA5ICstDQo+ID4gIDgg ZmlsZXMgY2hhbmdlZCwgMzYxIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pICBjcmVhdGUg bW9kZQ0KPiA+IDEwMDY0NCBkb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvQVNhbi5yc3QNCj4gPg0KPiA+ IGRpZmYgLS1naXQgYS9kZXZ0b29scy93b3Jkcy1jYXNlLnR4dCBiL2RldnRvb2xzL3dvcmRzLWNh c2UudHh0IGluZGV4DQo+ID4gMGJiYWQ0ODYyNi4uMzY1NTU5NmQ0NyAxMDA2NDQNCj4gPiAtLS0g YS9kZXZ0b29scy93b3Jkcy1jYXNlLnR4dA0KPiA+ICsrKyBiL2RldnRvb2xzL3dvcmRzLWNhc2Uu dHh0DQo+ID4gQEAgLTg2LDMgKzg2LDQgQEAgVlhMQU4NCj4gPiAgV2luZG93cw0KPiA+ICBYRFAN Cj4gPiAgWE9SDQo+ID4gK0FTYW4NCj4gDQo+IEFscGhhYmV0aWNhbCBvcmRlciBwbGVhc2UuDQo+ IA0KPiANCj4gPiBkaWZmIC0tZ2l0IGEvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL0FTYW4ucnN0DQo+ ID4gYi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvQVNhbi5yc3QNCj4gDQo+IEZpbGVuYW1lcyBhcmUg bG93ZXJjYXNlIGluIHRoZSBkb2MuDQo+IA0KPiANCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0K PiA+IGluZGV4IDAwMDAwMDAwMDAuLjcxNDVhM2IxYTENCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4g KysrIGIvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL0FTYW4ucnN0DQo+ID4gQEAgLTAsMCArMSwxMDgg QEANCj4gPiArLi4gQ29weXJpZ2h0IChjKSA8MjAyMT4sIEludGVsIENvcnBvcmF0aW9uDQo+ID4g KyAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ID4gKw0KPiA+ICtNZW1vcnkgZXJyb3IgZGV0ZWN0 IHN0YW5kYXJkIHRvb2wgLSBBZGRyZXNzU2FuaXRpemVyKEFTYW4pDQo+ID4NCj4gKz09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiA9DQo+ ID4gKw0KPiA+ICtBZGRyZXNzU2FuaXRpemVyIChBU2FuKSBpcyBhIGdvb2dsZSBtZW1vcnkgZXJy b3IgZGV0ZWN0IHN0YW5kYXJkDQo+ID4gK3Rvb2wuIEl0IGNvdWxkIGhlbHAgdG8gZGV0ZWN0IHVz ZS1hZnRlci1mcmVlIGFuZA0KPiA+ICt7aGVhcCxzdGFjayxnbG9iYWx9LWJ1ZmZlciBvdmVyZmxv dyBidWdzIGluIEMvQysrIHByb2dyYW1zLCBwcmludA0KPiA+ICtkZXRhaWxlZCBlcnJvciBpbmZv cm1hdGlvbiB3aGVuIGVycm9yIGhhcHBlbnMsIGxhcmdlIGltcHJvdmUgZGVidWcNCj4gPiArZWZm aWNpZW5jeS4NCj4gPiArDQo+ID4gK0J5IHJlZmVycmluZyB0byBpdHMgaW1wbGVtZW50YXRpb24g YWxnb3JpdGhtDQo+ID4gKyhodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL3Nhbml0aXplcnMvd2lr aS9BZGRyZXNzU2FuaXRpemVyQWxnb3JpdGhtKQ0KPiA+ICssIGVuYWJsZWQgaGVhcC1idWZmZXIt b3ZlcmZsb3cgYW5kIHVzZS1hZnRlci1mcmVlIGZ1bmN0aW9ucyBvbiBEUERLLg0KPiA+ICtEUERL IEFTYW4gZnVuY3Rpb24gY3VycmVudGx5IG9ubHkgc3VwcG9ydHMgb24gTGludXggeDg2XzY0Lg0K PiA+ICsNCj4gPiArQWRkcmVzc1Nhbml0aXplciBpcyBhIHBhcnQgb2YgTExWTSgzLjErKWFuZCBH Q0MoNC44KykuDQo+IA0KPiBtaXNzaW5nIHNwYWNlcyBhcm91bmQgKCkuDQo+IA0KPiANCj4gPiAr DQo+ID4gK0V4YW1wbGUgaGVhcC1idWZmZXItb3ZlcmZsb3cgZXJyb3INCj4gPiArLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICsNCj4gPiArRm9sbG93aW5nIGVycm9yIHdh cyByZXBvcnRlZCB3aGVuIEFTYW4gd2FzIGVuYWJsZWQ6Og0KPiA+ICsNCj4gPiArICAgIEFwcGxp ZWQgOSBieXRlcyBvZiBtZW1vcnksIGJ1dCBhY2Nlc3NlZCB0aGUgMTB0aCBieXRlIG9mIG1lbW9y eSwNCj4gPiArICAgIHNvIGhlYXAtYnVmZmVyLW92ZXJmbG93IGFwcGVhcmVkLg0KPiA+ICsNCj4g PiArQmVsb3cgY29kZSByZXN1bHRzIGluIHRoaXMgZXJyb3I6Og0KPiA+ICsNCj4gPiArICAgIGNo YXIgKnAgPSBydGVfem1hbGxvYyhOVUxMLCA5LCAwKTsNCj4gPiArICAgIGlmICghcCkgew0KPiA+ ICsgICAgICAgIHByaW50ZigicnRlX3ptYWxsb2MgZXJyb3IuIik7DQo+ID4gKyAgICAgICAgcmV0 dXJuIC0xOw0KPiA+ICsgICAgfQ0KPiA+ICsgICAgcFs5XSA9ICdhJzsNCj4gPiArDQo+ID4gK1Ro ZSBlcnJvciBsb2c6Og0KPiA+ICsNCj4gPiArICAgID09NDk0MzM9PUVSUk9SOiBBZGRyZXNzU2Fu aXRpemVyOiBoZWFwLWJ1ZmZlci1vdmVyZmxvdyBvbiBhZGRyZXNzDQo+IDB4N2Y3NzNmYWZhMjQ5 IGF0IHBjIDB4NTU1NmIxM2JkYWU0IGJwIDB4N2ZmZWI0OTY1ZTQwIHNwIDB4N2ZmZWI0OTY1ZTMw DQo+IFdSSVRFIG9mIHNpemUgMSBhdCAweDdmNzczZmFmYTI0OSB0aHJlYWQgVDANCj4gPiArICAg ICMwIDB4NTU1NmIxM2JkYWUzIGluIGFzYW5faGVhcF9idWZmZXJfb3ZlcmZsb3cNCj4gPiArIC4u L2FwcC90ZXN0L3Rlc3RfYXNhbl9oZWFwX2J1ZmZlcl9vdmVyZmxvdy5jOjI1DQo+IA0KPiBQbGVh c2UgdXBkYXRlIHRoaXMgZXhhbXBsZSBzaW5jZSB0aGUgdW5pdCB0ZXN0IGhhcyBiZWVuIHJlbW92 ZWQuDQo+IA0KPiANCj4gPiArICAgICMxIDB4NTU1NmIwNDNlOWQ0IGluDQo+IGNtZF9hdXRvdGVz dF9wYXJzZWQgLi4vYXBwL3Rlc3QvY29tbWFuZHMuYzo3MQ0KPiA+ICsgICAgIzIgMHg1NTU2YjFj ZGQ0YjAgaW4NCj4gY21kbGluZV9wYXJzZSAuLi9saWIvY21kbGluZS9jbWRsaW5lX3BhcnNlLmM6 MjkwDQo+ID4gKyAgICAjMyAweDU1NTZiMWNkODk4NyBpbiBjbWRsaW5lX3ZhbGlkX2J1ZmZlciAu Li9saWIvY21kbGluZS9jbWRsaW5lLmM6MjYNCj4gPiArICAgICM0IDB4NTU1NmIxY2U0NzdhIGlu IHJkbGluZV9jaGFyX2luIC4uL2xpYi9jbWRsaW5lL2NtZGxpbmVfcmRsaW5lLmM6NDIxDQo+ID4g KyAgICAjNSAweDU1NTZiMWNkOTIzZSBpbiBjbWRsaW5lX2luIC4uL2xpYi9jbWRsaW5lL2NtZGxp bmUuYzoxNDkNCj4gPiArICAgICM2IDB4NTU1NmIxY2Q5NzY5IGluIGNtZGxpbmVfaW50ZXJhY3Qg Li4vbGliL2NtZGxpbmUvY21kbGluZS5jOjIyMw0KPiA+ICsgICAgIzcgMHg1NTU2YjA0NWY1M2Ig aW4gbWFpbiAuLi9hcHAvdGVzdC90ZXN0LmM6MjM0DQo+ID4gKyAgICAjOCAweDdmN2YxZWJhOTBi MiBpbiBfX2xpYmNfc3RhcnRfbWFpbiAoL2xpYi94ODZfNjQtbGludXgtDQo+IGdudS9saWJjLnNv LjYrMHgyNzBiMikNCj4gPiArICAgICM5IDB4NTU1NmIwNDNlNzBkIGluIF9zdGFydA0KPiA+ICsg KC9ob21lL3B6aC95eXkveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYXBwL3Rlc3QvZHBkay0N Cj4gdGVzdCsweDdjZTcwDQo+ID4gKyBkKQ0KPiA+ICsNCj4gPiArICAgIEFkZHJlc3MgMHg3Zjc3 M2ZhZmEyNDkgaXMgYSB3aWxkIHBvaW50ZXIuDQo+ID4gKyAgICBTVU1NQVJZOiBBZGRyZXNzU2Fu aXRpemVyOiBoZWFwLWJ1ZmZlci1vdmVyZmxvdw0KPiA+ICsgLi4vYXBwL3Rlc3QvdGVzdF9hc2Fu X2hlYXBfYnVmZmVyX292ZXJmbG93LmM6MjUgaW4NCj4gPiArIGFzYW5faGVhcF9idWZmZXJfb3Zl cmZsb3cNCj4gPiArDQo+ID4gK0V4YW1wbGUgdXNlLWFmdGVyLWZyZWUgZXJyb3INCj4gPiArLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICsNCj4gPiArRm9sbG93aW5nIGVycm9yIHdh cyByZXBvcnRlZCB3aGVuIEFTYW4gd2FzIGVuYWJsZWQ6Og0KPiA+ICsNCj4gPiArICAgIEFwcGxp ZWQgZm9yIDkgYnl0ZXMgb2YgbWVtb3J5LCBhbmQgYWNjZXNzZWQgdGhlIGZpcnN0IGJ5dGUgYWZ0 ZXINCj4gPiArICAgIHJlbGVhc2VkLCBzbyBoZWFwLXVzZS1hZnRlci1mcmVlIGFwcGVhcmVkLg0K PiA+ICsNCj4gPiArQmVsb3cgY29kZSByZXN1bHRzIGluIHRoaXMgZXJyb3I6Og0KPiA+ICsNCj4g PiArICAgIGNoYXIgKnAgPSBydGVfem1hbGxvYyhOVUxMLCA5LCAwKTsNCj4gPiArICAgIGlmICgh cCkgew0KPiA+ICsgICAgICAgIHByaW50ZigicnRlX3ptYWxsb2MgZXJyb3IuIik7DQo+ID4gKyAg ICAgICAgcmV0dXJuIC0xOw0KPiA+ICsgICAgfQ0KPiA+ICsgICAgcnRlX2ZyZWUocCk7DQo+ID4g KyAgICAqcCA9ICdhJzsNCj4gPiArDQo+ID4gK1RoZSBlcnJvciBsb2c6Og0KPiA+ICsNCj4gPiAr ICAgID09NDk0Nzg9PUVSUk9SOiBBZGRyZXNzU2FuaXRpemVyOiBoZWFwLXVzZS1hZnRlci1mcmVl IG9uIGFkZHJlc3MNCj4gMHg3ZmUyZmZhZmEyNDAgYXQgcGMgMHg1NjQwOWIwODRiYzggYnAgMHg3 ZmZlZjYyYzU3ZDAgc3AgMHg3ZmZlZjYyYzU3YzANCj4gV1JJVEUgb2Ygc2l6ZSAxIGF0IDB4N2Zl MmZmYWZhMjQwIHRocmVhZCBUMA0KPiA+ICsgICAgIzAgMHg1NjQwOWIwODRiYzcgaW4gYXNhbl91 c2VfYWZ0ZXJfZnJlZQ0KPiA+ICsgLi4vYXBwL3Rlc3QvdGVzdF9hc2FuX3VzZV9hZnRlcl9mcmVl LmM6MjYNCj4gDQo+IElkZW0uDQo+IA0KPiANCj4gPiArICAgICMxIDB4NTY0MDlhMTA1OWQ0IGlu DQo+IGNtZF9hdXRvdGVzdF9wYXJzZWQgLi4vYXBwL3Rlc3QvY29tbWFuZHMuYzo3MQ0KPiA+ICsg ICAgIzIgMHg1NjQwOWI5YTQ0YjAgaW4NCj4gY21kbGluZV9wYXJzZSAuLi9saWIvY21kbGluZS9j bWRsaW5lX3BhcnNlLmM6MjkwDQo+ID4gKyAgICAjMyAweDU2NDA5Yjk5Zjk4NyBpbiBjbWRsaW5l X3ZhbGlkX2J1ZmZlciAuLi9saWIvY21kbGluZS9jbWRsaW5lLmM6MjYNCj4gPiArICAgICM0IDB4 NTY0MDliOWFiNzdhIGluDQo+IHJkbGluZV9jaGFyX2luIC4uL2xpYi9jbWRsaW5lL2NtZGxpbmVf cmRsaW5lLmM6NDIxDQo+ID4gKyAgICAjNSAweDU2NDA5YjlhMDIzZSBpbiBjbWRsaW5lX2luIC4u L2xpYi9jbWRsaW5lL2NtZGxpbmUuYzoxNDkNCj4gPiArICAgICM2IDB4NTY0MDliOWEwNzY5IGlu IGNtZGxpbmVfaW50ZXJhY3QgLi4vbGliL2NtZGxpbmUvY21kbGluZS5jOjIyMw0KPiA+ICsgICAg IzcgMHg1NjQwOWExMjY1M2IgaW4gbWFpbiAuLi9hcHAvdGVzdC90ZXN0LmM6MjM0DQo+ID4gKyAg ICAjOCAweDdmZWFmYWZjMjBiMiBpbiBfX2xpYmNfc3RhcnRfbWFpbiAoL2xpYi94ODZfNjQtbGlu dXgtDQo+IGdudS9saWJjLnNvLjYrMHgyNzBiMikNCj4gPiArICAgICM5IDB4NTY0MDlhMTA1NzBk IGluIF9zdGFydA0KPiA+ICsgKC9ob21lL3B6aC95eXkveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1n Y2MvYXBwL3Rlc3QvZHBkay0NCj4gdGVzdCsweDdjZTcwDQo+ID4gKyBkKQ0KPiA+ICsNCj4gPiAr ICAgIEFkZHJlc3MgMHg3ZmUyZmZhZmEyNDAgaXMgYSB3aWxkIHBvaW50ZXIuDQo+ID4gKyAgICBT VU1NQVJZOiBBZGRyZXNzU2FuaXRpemVyOiBoZWFwLXVzZS1hZnRlci1mcmVlDQo+ID4gKyAuLi9h cHAvdGVzdC90ZXN0X2FzYW5fdXNlX2FmdGVyX2ZyZWUuYzoyNiBpbiBhc2FuX3VzZV9hZnRlcl9m cmVlDQo+IA0KPiANCj4gLS0NCj4gRGF2aWQgTWFyY2hhbmQNCg0K