From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 29517A04E1; Tue, 22 Sep 2020 07:41:33 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 219B31D736; Tue, 22 Sep 2020 07:41:33 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id CCDD01D735 for ; Tue, 22 Sep 2020 07:41:31 +0200 (CEST) IronPort-SDR: YJ6SNS0IjE2gcPuViFLY0JQmw75xCZrlc6E/4FCLUGhGHG4K82yqssVSYdNk6KlOWx4rANmqXZ I1oBqyjlNC4A== X-IronPort-AV: E=McAfee;i="6000,8403,9751"; a="148290090" X-IronPort-AV: E=Sophos;i="5.77,289,1596524400"; d="scan'208";a="148290090" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga106.jf.intel.com with ESMTP; 21 Sep 2020 22:41:27 -0700 IronPort-SDR: 6Kqg3NLBY4tC1djNHF/E4rw5NU4rEy3lD3fHE50VnPX0RWObJNcEf7wS3qNvR3i0TFdeuwwhBk xACs6yGrpeMw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,289,1596524400"; d="scan'208";a="290269502" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga007.fm.intel.com with ESMTP; 21 Sep 2020 22:41:22 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 21 Sep 2020 22:41:04 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) 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.1713.5 via Frontend Transport; Mon, 21 Sep 2020 22:41:04 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.175) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Mon, 21 Sep 2020 22:40:57 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=heuYQigLxbHJWVHQg8S8sh34YIri2nQlRYq1iw5BAXPyzLv2b3mPjSFOZXdZDEFw8+QbMLGGNTqvyQxsGGU5C7cQv0NQrSlpnk+7gDHx5l2eEKIBiX4xIDDpjKd54RxbTWlJZZuLe8ubcmaKT73Y1ObM4JYd67y4u4PxRsHWwXfwGWYKgowvNwDqDT7mI+G+K1LKyg7qKEEdxi4hRDJYEd/kNKLGjVF5TbO5g0aCOR9h73fH7tJLoSQPaDBLsSjBRZyfDYmdm0qla4QlkFYA4XU99hIfxZS8bdAsha7wcDqvXaWZ94JfV+bKzeB4wR2TGSFuPe4nq8XnkVzpk/9dqA== 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=sSFHaqG3i98UBLqod3Kv18jPsBUj2LhZmz3f4LS4dc8=; b=Kqz4R5kKMSugiW/lkQKSzzlGcogMVSnac79wSqHVf1p+d3s2Q2/rz5W8M84qgZpd3udxpwp3cae35wIJKM/KXX3bkLTlzrlPFFio6vlkrTNRbVtHGycNwIhB5rj1QTitIIHa/6IjBD9S/jTLe2yNvHbe67aL2t8XYu5ZWI1ZUjQugSHVKG3z3YgBxQprtZSf2qlJnNHVEenwx2Y/91Wu9p8bgjpOtEqkGO96TJXkPKziy38EfszePFNRqXm8cbR8i4U0+mEa3dR6N6w7fWpC1+Rie4vMRuqBpNaOT80UwHSdayQ6D6hnRzPci0pEXGwKxYkV4ytc3idamUO7vFIvSw== 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=sSFHaqG3i98UBLqod3Kv18jPsBUj2LhZmz3f4LS4dc8=; b=JfJFgOtbEuBA/NA/z6mdYlBGZM/cH9NXUuO8CMhr2lXa7sxDIQuKlbeeto2iGDf7wrmTYKLSVbbJ7qJF0R54DlmJ1w+Gds+LIH4XpngtdJMx8eXRk39cpz2ArJqzO5fVv2PoPyoRtMKwRNz9NmJtplQGrhAv0NO1NaYWyvhPowg= Received: from BYAPR11MB2648.namprd11.prod.outlook.com (2603:10b6:a02:c7::10) by BYAPR11MB3846.namprd11.prod.outlook.com (2603:10b6:a03:f5::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3391.14; Tue, 22 Sep 2020 05:40:41 +0000 Received: from BYAPR11MB2648.namprd11.prod.outlook.com ([fe80::6ce6:645f:f3fc:1504]) by BYAPR11MB2648.namprd11.prod.outlook.com ([fe80::6ce6:645f:f3fc:1504%7]) with mapi id 15.20.3391.026; Tue, 22 Sep 2020 05:40:41 +0000 From: "Wang, Yinan" To: "Zhang, XiX" , "dts@dpdk.org" Thread-Topic: [dts] [PATCH V1] tests/TestSuite_vm2vm_virtio_user:add new virtio case Thread-Index: AQHWjLyyjd4jbj/9wkG3XPyTAdfTs6l0J3Cw Date: Tue, 22 Sep 2020 05:40:41 +0000 Message-ID: References: <1600324503-821-1-git-send-email-xix.zhang@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.5.1.3 dlp-product: dlpe-windows authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.216] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 251d4bf6-e14e-4890-6b1c-08d85eba0b42 x-ms-traffictypediagnostic: BYAPR11MB3846: 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:1122; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: h3KwcECe5OSRdPDbAVbnPf7y2uP1RPl1ksjhcK35fqJeOgu+rxOXNsKvSL4pzYw2cnH5WgvCDtKCnAJcwKZ3LpS1Eq6GpC0YJXnyIbKLLR/rI6CVlJLohQEfMsMO+idsvsBlhjLNrujB8+HLEm922LM7cBH+wiHozNTeNdq85AhF79q2er/peSZEqXI4cEaf10uEoUuBrjigK6rSJNK4VfkGQw8GZOjTHrTDTthadK/8+8HNyYUQV9smbCTZ0JoC0PXsKiwzok/YDiDpm186Jk7bqzL10cPUV/QonRmiXI1FfNd30VL0ZZNk6ljnRRi7 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB2648.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(346002)(376002)(136003)(366004)(39860400002)(7696005)(71200400001)(8936002)(26005)(33656002)(110136005)(316002)(186003)(478600001)(52536014)(66476007)(83380400001)(2906002)(55016002)(19627235002)(53546011)(6506007)(86362001)(76116006)(66446008)(5660300002)(8676002)(66556008)(9686003)(64756008)(30864003)(66946007); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: UGqO9TD5IU14+dKCMbLw1Nhu0tpoWomsTMeUESpwa7fjaJekihJWdf9W7r3AWcvirxBLD2y0WdrlKAgqwJouAsKkg0GtIb/ZcvdsC5Aiw2zXnoAkoWp+2pQImxiyI7CKqoM20VjdUoTvEYXy/rAu2GaR3B6iW1e8BPsgJLxD5HZMBaeDYTmAO0tOqflQ+8EWXvplPb82ER/ZGc4Z/4IlMMdvTmONz+IuMOdUiX6fvjCCEboG00+VzpDh89p/dm8V+mT+e0pb4MweagmipEZqyJOyjQjsRjoZ34Ye7/zeTSIs7cWKRVMbQzYojJGlGScaoYfpTy8MXoXWRD4STnL+uNJOCi95rZWnZgv21wOLFI70HQGGmvxCC9wUKJrkFXBzWuQk6kjc13Ngib2WOrFsbb2oJWKP7wHPIogwKR5o5XJDdK9r1yeJOY8vYeZqNnXz+aQ1IjnNs1GAo2RGx3rVbVuc4UU0XEEpwlIZsrYALggw2OptKWb1uy4O32ZyMDSVF6+tmmreKfyKeYnuALlB3S8bMTSaemR7tEmV1WU9dUp3xxTJ60wAb4KSHyo5Daso7qMJdZRriwGB/6btUxpcHz0hIop+/49vyneAmn9VXin2pG7hevulcmouJ6KqMPDXzzJ/90EeXmsMndRvHgZx8A== 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: BYAPR11MB2648.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 251d4bf6-e14e-4890-6b1c-08d85eba0b42 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Sep 2020 05:40:41.5647 (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: 3x9Lz/g8XEdmekGVErE/32iyLz0Nz5nOEOw0VwQ9PcFcgDtKcLbBPwTkqajK/+M3QHr0BGz2gnZvu1v/m/eVIg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3846 X-OriginatorOrg: intel.com Subject: Re: [dts] [PATCH V1] tests/TestSuite_vm2vm_virtio_user:add new virtio case X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org Sender: "dts" QWNrZWQtYnk6IFdhbmcsIFlpbmFuIDx5aW5hbi53YW5nQGludGVsLmNvbT4NCg0KPiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkdHMgPGR0cy1ib3VuY2VzQGRwZGsub3JnPiBP biBCZWhhbGYgT2YgWmhhbmcsIFhpWA0KPiBTZW50OiAyMDIw5bm0OeaciDE35pelIDE0OjM1DQo+ IFRvOiBkdHNAZHBkay5vcmcNCj4gU3ViamVjdDogUmU6IFtkdHNdIFtQQVRDSCBWMV0gdGVzdHMv VGVzdFN1aXRlX3ZtMnZtX3ZpcnRpb191c2VyOmFkZCBuZXcNCj4gdmlydGlvIGNhc2UNCj4gDQo+ IFRlc3RlZC1ieTogWmhhbmcsIFhpWCA8eGl4LnpoYW5nQGludGVsLmNvbT4NCj4gDQo+ID4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBaaGFuZywgWGlYDQo+ID4gU2VudDog VGh1cnNkYXksIFNlcHRlbWJlciAxNywgMjAyMCAyOjM1IFBNDQo+ID4gVG86IGR0c0BkcGRrLm9y Zw0KPiA+IENjOiBaaGFuZywgWGlYIDx4aXguemhhbmdAaW50ZWwuY29tPg0KPiA+IFN1YmplY3Q6 IFtkdHNdW1BBVENIIFYxXSB0ZXN0cy9UZXN0U3VpdGVfdm0ydm1fdmlydGlvX3VzZXI6YWRkIG5l dw0KPiB2aXJ0aW8NCj4gPiBjYXNlDQo+ID4NCj4gPiBhZGQgbmV3IHZpcnRpbyBjYXNlICYgc3Vw cG9ydCBtZXNvbiBidWlsZA0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogeGl6aGFuNHggPHhpeC56 aGFuZ0BpbnRlbC5jb20+DQo+ID4gLS0tDQo+ID4gIHRlc3RzL1Rlc3RTdWl0ZV92bTJ2bV92aXJ0 aW9fdXNlci5weSB8IDI2Ng0KPiA+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t DQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCAyNDggaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0p DQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvdGVzdHMvVGVzdFN1aXRlX3ZtMnZtX3ZpcnRpb191c2Vy LnB5DQo+ID4gYi90ZXN0cy9UZXN0U3VpdGVfdm0ydm1fdmlydGlvX3VzZXIucHkNCj4gPiBpbmRl eCAxNmI5MGMwLi5kMmRmYjk3IDEwMDY0NA0KPiA+IC0tLSBhL3Rlc3RzL1Rlc3RTdWl0ZV92bTJ2 bV92aXJ0aW9fdXNlci5weQ0KPiA+ICsrKyBiL3Rlc3RzL1Rlc3RTdWl0ZV92bTJ2bV92aXJ0aW9f dXNlci5weQ0KPiA+IEBAIC01NywxNSArNTcsMjEgQEAgY2xhc3MgVGVzdFZNMlZNVmlydGlvVXNl cihUZXN0Q2FzZSk6DQo+ID4gICAgICAgICAgc2VsZi5zb2NrZXRfbWVtID0gJywnLmpvaW4oWycx MDI0J10qc29ja2V0X251bSkNCj4gPiAgICAgICAgICBzZWxmLmdldF9jb3JlX2xpc3QoKQ0KPiA+ ICAgICAgICAgIHNlbGYucmVidWlsZF9mbGFnID0gRmFsc2UNCj4gPiAtICAgICAgICBzZWxmLmNv bmZpZ192YWx1ZSA9ICdDT05GSUdfUlRFX0xJQlJURV9QTURfUENBUCcNCj4gPiArICAgICAgICBz ZWxmLmNvbmZpZ192YWx1ZSA9ICdSVEVfTElCUlRFX1BNRF9QQ0FQJw0KPiA+ICAgICAgICAgIHNl bGYuZW5hYmxlX3BjYXBfbGliX2luX2RwZGsoc2VsZi5kdXQpDQo+ID4gICAgICAgICAgc2VsZi5h cHBfdGVzdHBtZF9wYXRoID0gc2VsZi5kdXQuYXBwc19uYW1lWyd0ZXN0LXBtZCddDQo+ID4gICAg ICAgICAgc2VsZi5hcHBfcGR1bXAgPSBzZWxmLmR1dC5hcHBzX25hbWVbJ3BkdW1wJ10NCj4gPiAr ICAgICAgICBzZWxmLmR1dF9wb3J0cyA9IHNlbGYuZHV0LmdldF9wb3J0cygpDQo+ID4gKyAgICAg ICAgc2VsZi5jYmRtYV9kZXZfaW5mb3MgPSBbXQ0KPiA+ICsgICAgICAgIHNlbGYucG9ydHNfc29j a2V0ID0gc2VsZi5kdXQuZ2V0X251bWFfaWQoc2VsZi5kdXRfcG9ydHNbMF0pDQo+ID4gKyAgICAg ICAgc2VsZi5xdWV1ZV9udW09MQ0KPiA+ICsgICAgICAgIHNlbGYuZGV2aWNlX3N0cj0nJw0KPiA+ DQo+ID4gICAgICBkZWYgc2V0X3VwKHNlbGYpOg0KPiA+ICAgICAgICAgICIiIg0KPiA+ICAgICAg ICAgIHJ1biBiZWZvcmUgZWFjaCB0ZXN0IGNhc2UuDQo+ID4gICAgICAgICAgIiIiDQo+ID4gKyAg ICAgICAgc2VsZi5ub3BjaSA9IFRydWUNCj4gPiAgICAgICAgICBzZWxmLmR1dC5zZW5kX2V4cGVj dCgicm0gLXJmIC4vdmhvc3QtbmV0KiIsICIjIikNCj4gPiAgICAgICAgICBzZWxmLmR1dC5zZW5k X2V4cGVjdCgicm0gLXJmICVzIiAlIHNlbGYuZHVtcF92aXJ0aW9fcGNhcCwgIiMiKQ0KPiA+ICAg ICAgICAgIHNlbGYuZHV0LnNlbmRfZXhwZWN0KCJybSAtcmYgJXMiICUgc2VsZi5kdW1wX3Zob3N0 X3BjYXAsICIjIikNCj4gPiBAQCAtOTMsMTYgKzk5LDExIEBAIGNsYXNzIFRlc3RWTTJWTVZpcnRp b1VzZXIoVGVzdENhc2UpOg0KPiA+ICAgICAgICAgICIiIg0KPiA+ICAgICAgICAgIGVuYWJsZSBw Y2FwIGxpYiBpbiBkcGRrIGNvZGUgYW5kIHJlY29tcGlsZQ0KPiA+ICAgICAgICAgICIiIg0KPiA+ IC0gICAgICAgIG91dCA9IHNlbGYuZHV0LnNlbmRfY29tbWFuZCgnY2F0IGNvbmZpZy9jb21tb25f YmFzZScsDQo+ID4gdGltZW91dD0zKQ0KPiA+IC0gICAgICAgIHBjYXAgPSByZS5zZWFyY2goJyVz PShcUyopJyAlIHNlbGYuY29uZmlnX3ZhbHVlLCBvdXQpDQo+ID4gLSAgICAgICAgc2VsZi52ZXJp ZnkocGNhcCBpcyBub3QgTm9uZSwgJ1RoZSBjb25maWc6JXMgY2FuIG5vdCBmaW5kIGluDQo+ID4g Y29tbW9uX2Jhc2UnICUgc2VsZi5jb25maWdfdmFsdWUpDQo+ID4gLSAgICAgICAgZGVmYXVsdF92 YWx1ZSA9IHBjYXAuZ3JvdXAoMSkNCj4gPiAtICAgICAgICBpZiBzdHIubG93ZXIoZGVmYXVsdF92 YWx1ZSkgIT0gJ3knOg0KPiA+IC0gICAgICAgICAgICBjbGllbnRfZHV0LnNlbmRfZXhwZWN0KCJz ZWQgLWkgJ3MvJXM9biQvJXM9eS8nDQo+ID4gY29uZmlnL2NvbW1vbl9iYXNlIiAlICgNCj4gPiAr ICAgICAgICBjbGllbnRfZHV0LnNlbmRfZXhwZWN0KCJzZWQgLWkgJ3MvJXM9biQvJXM9eS8nDQo+ ID4gKyBjb25maWcvY29tbW9uX2Jhc2UiICUgKA0KPiA+ICAgICAgICAgICAgICAgICAgICAgIHNl bGYuY29uZmlnX3ZhbHVlLCBzZWxmLmNvbmZpZ192YWx1ZSksICcjICcpDQo+ID4gLSAgICAgICAg ICAgIGNsaWVudF9kdXQuc2V0X2J1aWxkX29wdGlvbnMoeydSVEVfTElCUlRFX1BNRF9QQ0FQJzog J3knfSkNCj4gPiAtICAgICAgICAgICAgY2xpZW50X2R1dC5idWlsZF9pbnN0YWxsX2RwZGsoc2Vs Zi50YXJnZXQpDQo+ID4gLSAgICAgICAgICAgIHNlbGYucmVidWlsZF9mbGFnID0gVHJ1ZQ0KPiA+ ICsgICAgICAgIGNsaWVudF9kdXQuc2V0X2J1aWxkX29wdGlvbnMoeydSVEVfTElCUlRFX1BNRF9Q Q0FQJzogJ3knfSkNCj4gPiArICAgICAgICBjbGllbnRfZHV0LmJ1aWxkX2luc3RhbGxfZHBkayhz ZWxmLnRhcmdldCkNCj4gPiArICAgICAgICBzZWxmLnJlYnVpbGRfZmxhZyA9IFRydWUNCj4gPg0K PiA+ICAgICAgZGVmIGRpc2FibGVfcGNhcF9saWJfaW5fZHBkayhzZWxmLCBjbGllbnRfZHV0KToN Cj4gPiAgICAgICAgICAiIiINCj4gPiBAQCAtMTE0LDE4ICsxMTUsMjIgQEAgY2xhc3MgVGVzdFZN MlZNVmlydGlvVXNlcihUZXN0Q2FzZSk6DQo+ID4gICAgICAgICAgICAgIGNsaWVudF9kdXQuc2V0 X2J1aWxkX29wdGlvbnMoeydSVEVfTElCUlRFX1BNRF9QQ0FQJzogJ24nfSkNCj4gPiAgICAgICAg ICAgICAgY2xpZW50X2R1dC5idWlsZF9pbnN0YWxsX2RwZGsoc2VsZi50YXJnZXQpDQo+ID4NCj4g PiAtICAgIGRlZiBsYXVuY2hfdmhvc3RfdGVzdHBtZChzZWxmLCB2ZGV2X251bSwgZml4ZWRfcHJl Zml4PUZhbHNlLA0KPiA+IGZ3ZF9tb2RlPSdpbycpOg0KPiA+ICsgICAgZGVmIGxhdW5jaF92aG9z dF90ZXN0cG1kKHNlbGYsIHZkZXZfbnVtLCBmaXhlZF9wcmVmaXg9RmFsc2UsDQo+ID4gZndkX21v ZGU9J2lvJyx2ZGV2cz1Ob25lKToNCj4gPiAgICAgICAgICBlYWxfcGFyYW1zID0NCj4gPiBzZWxm LmR1dC5jcmVhdGVfZWFsX3BhcmFtZXRlcnMoY29yZXM9c2VsZi5jb3JlX2xpc3Rfdmhvc3QsDQo+ ID4gLSAgICAgICAgICAgICAgICAgICAgbm9fcGNpPVRydWUsIHByZWZpeD1zZWxmLnZob3N0X3By ZWZpeCwNCj4gPiBmaXhlZF9wcmVmaXg9Zml4ZWRfcHJlZml4KQ0KPiA+ICsgICAgICAgICAgICAg ICAgICAgIG5vX3BjaT1zZWxmLm5vcGNpLCBwcmVmaXg9c2VsZi52aG9zdF9wcmVmaXgsDQo+ID4g KyBmaXhlZF9wcmVmaXg9Zml4ZWRfcHJlZml4KQ0KPiA+ICAgICAgICAgIHZkZXZfcGFyYW1zID0g JycNCj4gPiAtICAgICAgICBmb3IgaSBpbiByYW5nZSh2ZGV2X251bSk6DQo+ID4gLSAgICAgICAg ICAgIHZkZXZfcGFyYW1zICs9ICItLXZkZXYNCj4gPiAnbmV0X3Zob3N0JWQsaWZhY2U9Li92aG9z dC1uZXQlZCxxdWV1ZXM9MScgIiAlIChpLCBpKQ0KPiA+ICsgICAgICAgIGlmIHZkZXZzOg0KPiA+ ICsgICAgICAgICAgICB2ZGV2X3BhcmFtcyA9IHZkZXZzDQo+ID4gKyAgICAgICAgICAgIHBhcmFt cyA9ICIgJXMgLS0gLWkgLS1uYi1jb3Jlcz0xIC0tcnhxPTIgLS10eHE9MiAtLXR4ZD0yNTYNCj4g PiAtLXJ4ZD0yNTYgLS1uby1mbHVzaC1yeCINCj4gPiArICAgICAgICBlbHNlOg0KPiA+ICsgICAg ICAgICAgICBmb3IgaSBpbiByYW5nZSh2ZGV2X251bSk6DQo+ID4gKyAgICAgICAgICAgICAgICB2 ZGV2X3BhcmFtcyArPSAiLS12ZGV2DQo+ID4gJ25ldF92aG9zdCVkLGlmYWNlPS4vdmhvc3QtbmV0 JWQscXVldWVzPTEnICIgJSAoaSwgaSkNCj4gPiArICAgICAgICAgICAgcGFyYW1zID0gIiAlcyAt LSAtaSAtLW5iLWNvcmVzPTEgLS1uby1mbHVzaC1yeCINCj4gPg0KPiA+IC0gICAgICAgIHNlbGYu Y29tbWFuZF9saW5lID0gc2VsZi5hcHBfdGVzdHBtZF9wYXRoICsgJyAlcyAnICsgXA0KPiA+IC0g ICAgICAgICAgICAnLS1zb2NrZXQtbWVtICVzICVzIC0tIC1pIC0tbmItY29yZXM9MSAtLW5vLWZs dXNoLXJ4Jw0KPiA+ICsgICAgICAgIHNlbGYuY29tbWFuZF9saW5lID0gc2VsZi5hcHBfdGVzdHBt ZF9wYXRoICsgJyAlcyAnICsgcGFyYW1zDQo+ID4NCj4gPiAgICAgICAgICBzZWxmLmNvbW1hbmRf bGluZSA9IHNlbGYuY29tbWFuZF9saW5lICUgKA0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgZWFsX3BhcmFtcywgc2VsZi5zb2NrZXRfbWVtLA0KPiA+IHZkZXZfcGFyYW1zKQ0KPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFsX3BhcmFtcywgdmRldl9wYXJhbXMpDQo+ ID4gICAgICAgICAgc2VsZi5wbWRfdmhvc3QuZXhlY3V0ZV9jbWQoc2VsZi5jb21tYW5kX2xpbmUs IHRpbWVvdXQ9MzApDQo+ID4gICAgICAgICAgc2VsZi5wbWRfdmhvc3QuZXhlY3V0ZV9jbWQoJ3Nl dCBmd2QgJXMnICUgZndkX21vZGUpDQo+ID4NCj4gPiBAQCAtMTQyLDcgKzE0Nyw4IEBAIGNsYXNz IFRlc3RWTTJWTVZpcnRpb1VzZXIoVGVzdENhc2UpOg0KPiA+ICAgICAgICAgICAgICAgICAgbm9f cGNpPVRydWUsIHByZWZpeD1zZWxmLnZpcnRpb19wcmVmaXgsIGZpeGVkX3ByZWZpeD1UcnVlKQ0K PiA+ICAgICAgICAgIGlmIHNlbGYuY2hlY2tfMk1fZW52Og0KPiA+ICAgICAgICAgICAgICBlYWxf cGFyYW1zICs9ICIgLS1zaW5nbGUtZmlsZS1zZWdtZW50cyAiDQo+ID4gLSAgICAgICAgdmRldl9w YXJhbXMgPQ0KPiA+ICctLXZkZXY9bmV0X3ZpcnRpb191c2VyMSxtYWM9MDA6MDE6MDI6MDM6MDQ6 MDUscGF0aD0uL3Zob3N0LQ0KPiBuZXQxLHF1ZXVlcz0xLA0KPiA+ICVzLHF1ZXVlX3NpemU9JWQg JyAlIChwYXRoX21vZGUsIHJpbmdzaXplKQ0KPiA+ICsgICAgICAgIHZkZXZfcGFyYW1zID0NCj4g PiAnLS12ZGV2PW5ldF92aXJ0aW9fdXNlcjEsbWFjPTAwOjAxOjAyOjAzOjA0OjA1LHBhdGg9Li92 aG9zdC0NCj4gbmV0MSxxdWV1ZXM9JQ0KPiA+IGQsJXMscXVldWVfc2l6ZT0lZCAnIFwNCj4gPiAr ICAgICAgICAgICAgICAgICAgICAgICUgKHNlbGYucXVldWVfbnVtLCBwYXRoX21vZGUsIHJpbmdz aXplKQ0KPiA+ICAgICAgICAgIGNvbW1hbmRfbGluZSA9IHNlbGYuYXBwX3Rlc3RwbWRfcGF0aCAr ICIgJXMgIiArIFwNCj4gPiAgICAgICAgICAgICAgIi0tc29ja2V0LW1lbSAlcyAlcyAtLSAtaSAt LW5iLWNvcmVzPTEgLS10eGQ9JWQgLS1yeGQ9JWQgJXMiDQo+ID4gICAgICAgICAgY29tbWFuZF9s aW5lID0gY29tbWFuZF9saW5lICUgKGVhbF9wYXJhbXMsIHNlbGYuc29ja2V0X21lbSwNCj4gPiBA QCAtMTczLDYgKzE3OSw2MCBAQCBjbGFzcyBUZXN0Vk0yVk1WaXJ0aW9Vc2VyKFRlc3RDYXNlKToN Cj4gPiAgICAgICAgICBzZWxmLnBtZF92aXJ0aW8wLmV4ZWN1dGVfY21kKCdzZXQgYnVyc3QgMzIn KQ0KPiA+ICAgICAgICAgIHNlbGYucG1kX3ZpcnRpbzAuZXhlY3V0ZV9jbWQoJ3N0YXJ0IHR4X2Zp cnN0IDcnKQ0KPiA+DQo+ID4gKyAgICBkZWYgc3RhcnRfdmlydGlvX3Rlc3RwbWRfd2l0aF92aG9z dF9uZXQwX2NiZG1hKHNlbGYsIHBhdGhfbW9kZSwNCj4gPiBleHRlcm5fcGFyYW1zLCByaW5nc2l6 ZSk6DQo+ID4gKyAgICAgICAgIiIiDQo+ID4gKyAgICAgICAgbGF1bmNoIHRoZSB0ZXN0cG1kIGFz IHZpcnRpbyB3aXRoIHZob3N0X25ldDANCj4gPiArICAgICAgICBhbmQgc3RhcnQgdG8gc2VuZCAy NTEgc21hbGwgcGFja2V0cyB3aXRoIGRpZmYgYnVyc3QNCj4gPiArICAgICAgICAiIiINCj4gPiAr ICAgICAgICBlYWxfcGFyYW1zID0NCj4gPiBzZWxmLmR1dC5jcmVhdGVfZWFsX3BhcmFtZXRlcnMo Y29yZXM9c2VsZi5jb3JlX2xpc3RfdmlydGlvMCwNCj4gPiArICAgICAgICAgICAgICAgIG5vX3Bj aT1UcnVlLCBwcmVmaXg9J3ZpcnRpbzAnKQ0KPiA+ICsgICAgICAgIGlmIHNlbGYuY2hlY2tfMk1f ZW52Og0KPiA+ICsgICAgICAgICAgICBlYWxfcGFyYW1zICs9ICIgLS1zaW5nbGUtZmlsZS1zZWdt ZW50cyAiDQo+ID4gKyAgICAgICAgdmRldl9wYXJhbXMgPQ0KPiA+ICctLXZkZXY9bmV0X3ZpcnRp b191c2VyMCxtYWM9MDA6MDE6MDI6MDM6MDQ6MDUscGF0aD0uL3Zob3N0LQ0KPiBuZXQwLHF1ZXVl cz0lDQo+ID4gZCwlcyxxdWV1ZV9zaXplPSVkICcgJSBcDQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAoc2VsZi5xdWV1ZV9udW0sIHBhdGhfbW9kZSwgcmluZ3NpemUpDQo+ID4gKyAgICAgICAg Y29tbWFuZF9saW5lID0gc2VsZi5hcHBfdGVzdHBtZF9wYXRoICsgZWFsX3BhcmFtcyArIFwNCj4g PiArICAgICAgICAgICAgJyAlcyAtLSAtaSAtLW5iLWNvcmVzPTEgLS10eGQ9JWQgLS1yeGQ9JWQg JXMnDQo+ID4gKyAgICAgICAgY29tbWFuZF9saW5lID0gY29tbWFuZF9saW5lICUgKHZkZXZfcGFy YW1zLCByaW5nc2l6ZSwgcmluZ3NpemUsDQo+ID4gKyBleHRlcm5fcGFyYW1zKQ0KPiA+ICsNCj4g PiArICAgICAgICBzZWxmLnBtZF92aXJ0aW8wLmV4ZWN1dGVfY21kKGNvbW1hbmRfbGluZSwgdGlt ZW91dD0zMCkNCj4gPiArDQo+ID4gKyAgICBkZWYgY2hlY2tfcGFja2V0X3BheWxvYWRfdmFsaWRf d2l0aF9jYmRtYShzZWxmLCBmaWxlbmFtZSwNCj4gPiBzbWFsbF9wa3RzX251bSwgbGFyZ2VfOGtf cGt0c19udW0sIGxhcmdlXzJrX3BrdHNfbnVtKToNCj4gPiArICAgICAgICAiIiINCj4gPiArICAg ICAgICBjaGVjayB0aGUgcGF5bG9hZCBpcyB2YWxpZA0KPiA+ICsgICAgICAgICIiIg0KPiA+ICsg ICAgICAgICMgc3RvcCBwZHVtcA0KPiA+ICsgICAgICAgIHRvdGFsX3BrdHNfbnVtID0gc21hbGxf cGt0c19udW0NCj4gPiArICAgICAgICBhY3R1YWxfOGtfcGt0X251bSA9IDANCj4gPiArICAgICAg ICBhY3R1YWxfMmtfcGt0X251bSA9IDANCj4gPiArICAgICAgICB0aW1lLnNsZWVwKDIwKQ0KPiA+ ICsgICAgICAgIHNlbGYucGR1bXBfc2Vzc2lvbi5zZW5kX2V4cGVjdCgnXmMnLCAnIyAnLCA2MCkN Cj4gPiArICAgICAgICAjIHF1aXQgdGVzdHBtZA0KPiA+ICsgICAgICAgIHNlbGYucXVpdF9hbGxf dGVzdHBtZCgpDQo+ID4gKyAgICAgICAgdGltZS5zbGVlcCgyKQ0KPiA+ICsgICAgICAgIHNlbGYu ZHV0LnNlc3Npb24uY29weV9maWxlX2Zyb20oc3JjPSIlcyIgJSBmaWxlbmFtZSwgZHN0PSIlcyIg JQ0KPiA+IGZpbGVuYW1lKQ0KPiA+ICsgICAgICAgIHBrdCA9IFBhY2tldCgpDQo+ID4gKyAgICAg ICAgcGt0cyA9IHBrdC5yZWFkX3BjYXBmaWxlKGZpbGVuYW1lKQ0KPiA+ICsgICAgICAgIHNlbGYu dmVyaWZ5KHBrdHMgaXMgbm90IE5vbmUgYW5kIGxlbihwa3RzKSA9PSB0b3RhbF9wa3RzX251bSwN Cj4gPiArICAgICAgICAgICAgICAgICAgICAiVGhlIHZpcnRpby92aG9zdCBkbyBub3QgY2FwdHVy ZSBhbGwgdGhlIHBhY2tldHMiDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdCBwa3Qg bnVtIGlzOiAlZCwgYWN0dWFsIHBrdCBudW0gaXM6ICVkIiAlDQo+ID4gKHRvdGFsX3BrdHNfbnVt LCBsZW4ocGt0cykpKQ0KPiA+ICsgICAgICAgIGZvciBpIGluIHJhbmdlKGxlbihwa3RzKSk6DQo+ ID4gKyAgICAgICAgICAgIGlmIGxlbihwa3RzW2ldKSA9PSA4MDAwOg0KPiA+ICsgICAgICAgICAg ICAgICAgYWN0dWFsXzhrX3BrdF9udW0gKz0gMQ0KPiA+ICsgICAgICAgICAgICBlbGlmIGxlbihw a3RzW2ldKSA9PSAyMDAwOg0KPiA+ICsgICAgICAgICAgICAgICAgYWN0dWFsXzJrX3BrdF9udW0g Kz0gMQ0KPiA+ICsgICAgICAgIHNlbGYudmVyaWZ5KGxhcmdlXzhrX3BrdHNfbnVtID09IGFjdHVh bF84a19wa3RfbnVtLCBmIjhLIHBhY2tldA0KPiA+IHF1YW50aXR5IGVycm9yLGV4cGVjdGVkIHZh bHVlOntsYXJnZV84a19wa3RzX251bX0iDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYiLA0KPiA+IGFjdHVhbCB2YWx1ZSA6 IHthY3R1YWxfOGtfcGt0X251bX0iKQ0KPiA+ICsgICAgICAgIHNlbGYudmVyaWZ5KGxhcmdlXzJr X3BrdHNfbnVtID09IGFjdHVhbF8ya19wa3RfbnVtLCBmIjJLIHBhY2tldA0KPiA+IHF1YW50aXR5 IGVycm9yLGV4cGVjdGVkIHZhbHVlOntsYXJnZV8ya19wa3RzX251bX0iDQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYiLA0K PiA+IGFjdHVhbA0KPiA+ICsgdmFsdWUgOiB7YWN0dWFsXzJrX3BrdF9udW19IikNCj4gPiArDQo+ ID4gKyAgICBkZWYgZ2V0X2R1bXBfZmlsZV9vZl92aXJ0aW9fdXNlcl9jYmRtYShzZWxmLCBwYXRo X21vZGUsDQo+ID4gZXh0ZXJuX3BhcmFtLCByaW5nc2l6ZSwgdmRldnM9Tm9uZSk6DQo+ID4gKyAg ICAgICAgZHVtcF9wb3J0ID0gJ2RldmljZV9pZD1uZXRfdmlydGlvX3VzZXIxJw0KPiA+ICsgICAg ICAgIHNlbGYubGF1bmNoX3Zob3N0X3Rlc3RwbWQodmRldl9udW09MiwgdmRldnM9dmRldnMpDQo+ ID4gKyAgICAgICAgc2VsZi5zdGFydF92aXJ0aW9fdGVzdHBtZF93aXRoX3Zob3N0X25ldDEocGF0 aF9tb2RlLA0KPiA+IGV4dGVybl9wYXJhbSwgcmluZ3NpemUpDQo+ID4gKyAgICAgICAgc2VsZi5s YXVuY2hfcGR1bXBfdG9fY2FwdHVyZV9wa3QoZHVtcF9wb3J0LCBzZWxmLnZpcnRpb19wcmVmaXgs DQo+ID4gc2VsZi5kdW1wX3ZpcnRpb19wY2FwKQ0KPiA+ICsgICAgICAgICMgdGhlIHZpcnRpbzAg d2lsbCBzZW5kIDI1MSBzbWFsbCBwa3RzDQo+ID4gKyAgICAgICAgc2VsZi5zdGFydF92aXJ0aW9f dGVzdHBtZF93aXRoX3Zob3N0X25ldDBfY2JkbWEocGF0aF9tb2RlLA0KPiA+ICsgZXh0ZXJuX3Bh cmFtLCByaW5nc2l6ZSkNCj4gPiArDQo+ID4gICAgICBkZWYgcmVzZW5kXzMyX2xhcmdlX3BrdF9m cm9tX3ZpcnRpbzAoc2VsZik6DQo+ID4gICAgICAgICAgc2VsZi5wbWRfdmlydGlvMC5leGVjdXRl X2NtZCgnc3RvcCcpDQo+ID4gICAgICAgICAgc2VsZi5wbWRfdmlydGlvMC5leGVjdXRlX2NtZCgn c2V0IGJ1cnN0IDMyJykgQEAgLTYwNSwxMCArNjY1LDE2DQo+ID4gQEAgY2xhc3MgVGVzdFZNMlZN VmlydGlvVXNlcihUZXN0Q2FzZSk6DQo+ID4gICAgICAgICAgaWYgZ2V0YXR0cihzZWxmLCAncGR1 bXBfc2Vzc2lvbicsIE5vbmUpOg0KPiA+ICAgICAgICAgICAgICBzZWxmLmR1dC5jbG9zZV9zZXNz aW9uKHNlbGYucGR1bXBfc2Vzc2lvbikNCj4gPg0KPiA+ICsgICAgZGVmIGJpbmRfY2JkbWFfZGV2 aWNlX3RvX2tlcm5lbChzZWxmKToNCj4gPiArICAgICAgICBpZiBzZWxmLmRldmljZV9zdHIgaXMg bm90IE5vbmU6DQo+ID4gKyAgICAgICAgICAgIHNlbGYuZHV0LnNlbmRfZXhwZWN0KCdtb2Rwcm9i ZSBpb2F0ZG1hJywgJyMgJykNCj4gPiArICAgICAgICAgICAgc2VsZi5kdXQuc2VuZF9leHBlY3Qo Jy4vdXNlcnRvb2xzL2RwZGstZGV2YmluZC5weSAtdSAlcycgJQ0KPiA+IHNlbGYuZGV2aWNlX3N0 ciwgJyMgJywgMzApDQo+ID4gKyAgICAgICAgICAgIHNlbGYuZHV0LnNlbmRfZXhwZWN0KCcuL3Vz ZXJ0b29scy9kcGRrLWRldmJpbmQucHkgLS1mb3JjZQ0KPiA+ICsgLS1iaW5kPWlvYXRkbWEgICVz JyAlIHNlbGYuZGV2aWNlX3N0ciwgJyMgJywgNjApDQo+ID4gICAgICBkZWYgdGVhcl9kb3duKHNl bGYpOg0KPiA+ICAgICAgICAgICMNCj4gPiAgICAgICAgICAjIFJ1biBhZnRlciBlYWNoIHRlc3Qg Y2FzZS4NCj4gPiAgICAgICAgICAjDQo+ID4gKyAgICAgICAgc2VsZi5iaW5kX25pY19kcml2ZXIo c2VsZi5kdXRfcG9ydHMsIHNlbGYuZHJpdmVybmFtZSkNCj4gPiAgICAgICAgICBzZWxmLmR1dC5r aWxsX2FsbCgpDQo+ID4gICAgICAgICAgdGltZS5zbGVlcCgyKQ0KPiA+DQo+ID4gQEAgLTYxNiw1 ICs2ODIsMTY5IEBAIGNsYXNzIFRlc3RWTTJWTVZpcnRpb1VzZXIoVGVzdENhc2UpOg0KPiA+ICAg ICAgICAgICIiIg0KPiA+ICAgICAgICAgIFJ1biBhZnRlciBlYWNoIHRlc3Qgc3VpdGUuDQo+ID4g ICAgICAgICAgIiIiDQo+ID4gKyAgICAgICAgc2VsZi5iaW5kX2NiZG1hX2RldmljZV90b19rZXJu ZWwoKQ0KPiA+ICAgICAgICAgIHNlbGYuZGlzYWJsZV9wY2FwX2xpYl9pbl9kcGRrKHNlbGYuZHV0 KQ0KPiA+ICAgICAgICAgIHNlbGYuY2xvc2VfYWxsX3Nlc3Npb24oKQ0KPiA+ICsNCj4gPiArICAg IGRlZiBiaW5kX25pY19kcml2ZXIoc2VsZiwgcG9ydHMsIGRyaXZlcj0iIik6DQo+ID4gKyAgICAg ICAgaWYgZHJpdmVyID09ICJpZ2JfdWlvIjoNCj4gPiArICAgICAgICAgICAgZm9yIHBvcnQgaW4g cG9ydHM6DQo+ID4gKyAgICAgICAgICAgICAgICBuZXRkZXYgPSBzZWxmLmR1dC5wb3J0c19pbmZv W3BvcnRdWydwb3J0J10NCj4gPiArICAgICAgICAgICAgICAgIGRyaXZlciA9IG5ldGRldi5nZXRf bmljX2RyaXZlcigpDQo+ID4gKyAgICAgICAgICAgICAgICBpZiBkcml2ZXIgIT0gJ2lnYl91aW8n Og0KPiA+ICsgICAgICAgICAgICAgICAgICAgIG5ldGRldi5iaW5kX2RyaXZlcihkcml2ZXI9J2ln Yl91aW8nKQ0KPiA+ICsgICAgICAgIGVsc2U6DQo+ID4gKyAgICAgICAgICAgIGZvciBwb3J0IGlu IHBvcnRzOg0KPiA+ICsgICAgICAgICAgICAgICAgbmV0ZGV2ID0gc2VsZi5kdXQucG9ydHNfaW5m b1twb3J0XVsncG9ydCddDQo+ID4gKyAgICAgICAgICAgICAgICBkcml2ZXJfbm93ID0gbmV0ZGV2 LmdldF9uaWNfZHJpdmVyKCkNCj4gPiArICAgICAgICAgICAgICAgIGlmIGRyaXZlciA9PSAiIjoN Cj4gPiArICAgICAgICAgICAgICAgICAgICBkcml2ZXIgPSBuZXRkZXYuZGVmYXVsdF9kcml2ZXIN Cj4gPiArICAgICAgICAgICAgICAgIGlmIGRyaXZlciAhPSBkcml2ZXJfbm93Og0KPiA+ICsgICAg ICAgICAgICAgICAgICAgIG5ldGRldi5iaW5kX2RyaXZlcihkcml2ZXI9ZHJpdmVyKQ0KPiA+ICsN Cj4gPiArICAgIGRlZg0KPiA+DQo+IHRlc3Rfdm0ydm1fdmlydGlvX3VzZXJfc3BsaXRfdmlydHF1 ZXVlX2lub3JkZXJfbWVyZ2VhYmxlX3BhdGhfd2l0aF9jDQo+IGJkDQo+ID4gbWEoc2VsZik6DQo+ ID4gKyAgICAgICAgIiIiDQo+ID4gKw0KPiA+ICsgICAgICAgIDpyZXR1cm46DQo+ID4gKyAgICAg ICAgIiIiDQo+ID4gKyAgICAgICAgc2VsZi5jYmRtYV9uaWNfZGV2X251bSA9IDQNCj4gPiArICAg ICAgICBzZWxmLmJpbmRfbmljX2RyaXZlcihzZWxmLmR1dF9wb3J0cykNCj4gPiArICAgICAgICBz ZWxmLmdldF9jYmRtYV9wb3J0c19pbmZvX2FuZF9iaW5kX3RvX2RwZGsoKQ0KPiA+ICsgICAgICAg IHNtYWxsX3BrdHNfbnVtID0gNjQNCj4gPiArICAgICAgICBsYXJnZV84a19wa3RzX251bSA9IDY0 DQo+ID4gKyAgICAgICAgbGFyZ2VfMmtfcGt0c19udW0gPSAwDQo+ID4gKyAgICAgICAgc2VsZi5x dWV1ZV9udW09Mg0KPiA+ICsgICAgICAgIHNlbGYubm9wY2k9RmFsc2UNCj4gPiArICAgICAgICBw YXRoX21vZGUgPSAncGFja2VkX3ZxPTAsbXJnX3J4YnVmPTEsaW5fb3JkZXI9MSxzZXJ2ZXI9MScN Cj4gPiArICAgICAgICByaW5nc2l6ZSA9IDI1Ng0KPiA+ICsgICAgICAgIGV4dGVybl9wYXJhbXMg PSAnLS1yeHE9MiAtLXR4cT0yJw0KPiA+ICsgICAgICAgICMgZ2V0IGR1bXAgcGNhcCBmaWxlIG9m IHZpcnRpbw0KPiA+ICsgICAgICAgICMgdGhlIHZpcnRpbzAgd2lsbCBzZW5kIDI4MyBwa3RzLCBi dXQgdGhlIHZpcnRpbyBvbmx5IHdpbGwgcmVjZWl2ZWQgMjUyDQo+ID4gcGt0cw0KPiA+ICsgICAg ICAgIHNlbGYubG9nZ2VyLmluZm8oJ2NoZWNrIHBjYXAgZmlsZSBpbmZvIGFib3V0IHZpcnRpbycp DQo+ID4gKyAgICAgICAgdmRldnMgPSBmIi0tdmRldg0KPiA+ICdldGhfdmhvc3QwLGlmYWNlPXZo b3N0LQ0KPiBuZXQwLHF1ZXVlcz0yLGNsaWVudD0xLGRtYXM9W3R4cTBAe3NlbGYuY2JkbWFfZGUN Cj4gPiB2X2luZm9zWzBdfTt0eHExQHtzZWxmLmNiZG1hX2Rldl9pbmZvc1sxXX1dLGRtYXRocj01 MTInICIgXA0KPiA+ICsgICAgICAgICAgICAgICAgZiItLXZkZXYNCj4gPiAnZXRoX3Zob3N0MSxp ZmFjZT12aG9zdC0NCj4gbmV0MSxxdWV1ZXM9MixjbGllbnQ9MSxkbWFzPVt0eHEwQHtzZWxmLmNi ZG1hX2RlDQo+ID4gdl9pbmZvc1syXX07dHhxMUB7c2VsZi5jYmRtYV9kZXZfaW5mb3NbM119XSxk bWF0aHI9NTEyJyINCj4gPiArDQo+ID4gKyAgICAgICAgc2VsZi5nZXRfZHVtcF9maWxlX29mX3Zp cnRpb191c2VyX2NiZG1hKHBhdGhfbW9kZSwNCj4gPiBleHRlcm5fcGFyYW1zLCByaW5nc2l6ZSwg dmRldnMpDQo+ID4gKyAgICAgICAgc2VsZi5zZW5kXzhrX3BrdCgpDQo+ID4gKw0KPiA+IHNlbGYu Y2hlY2tfcGFja2V0X3BheWxvYWRfdmFsaWRfd2l0aF9jYmRtYShzZWxmLmR1bXBfdmlydGlvX3Bj YXAsDQo+ID4gc21hbGxfcGt0c19udW0sIGxhcmdlXzhrX3BrdHNfbnVtLA0KPiA+ICsNCj4gPiBs YXJnZV8ya19wa3RzX251bSkNCj4gPiArICAgICAgICAjIGdldCBkdW1wIHBjYXAgZmlsZSBvZiB2 aG9zdA0KPiA+ICsgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oJ2NoZWNrIHBjYXAgZmlsZSBpbmZv IGFib3V0IHZob3N0JykNCj4gPiArICAgICAgICBzbWFsbF9wa3RzX251bSA9IDI1Ng0KPiA+ICsg ICAgICAgIGxhcmdlXzhrX3BrdHNfbnVtID0gNTQNCj4gPiArICAgICAgICBsYXJnZV8ya19wa3Rz X251bSA9IDIwMg0KPiA+ICsgICAgICAgIHNlbGYuZ2V0X2R1bXBfZmlsZV9vZl92aXJ0aW9fdXNl cl9jYmRtYShwYXRoX21vZGUsDQo+ID4gZXh0ZXJuX3BhcmFtcywgcmluZ3NpemUsIHZkZXZzKQ0K PiA+ICsgICAgICAgIHNlbGYuc2VuZF9tdWx0aXBsZV9wa3QoKQ0KPiA+ICsNCj4gPiArIHNlbGYu Y2hlY2tfcGFja2V0X3BheWxvYWRfdmFsaWRfd2l0aF9jYmRtYShzZWxmLmR1bXBfdmlydGlvX3Bj YXAsDQo+ID4gKyBzbWFsbF9wa3RzX251bSwgbGFyZ2VfOGtfcGt0c19udW0sIGxhcmdlXzJrX3Br dHNfbnVtKQ0KPiA+ICsNCj4gPiArICAgICAgICBzZWxmLmxvZ2dlci5pbmZvKCdkaWZmIHRoZSBw Y2FwIGZpbGUgb2Ygdmhvc3QgYW5kIHZpcnRpbycpDQo+ID4gKw0KPiA+ICsgICAgZGVmDQo+ID4N Cj4gdGVzdF92bTJ2bV92aXJ0aW9fdXNlcl9zcGxpdF92aXJ0cXVldWVfbWVyZ2VhYmxlX3BhdGhf d2l0aF9jYmRtYShzZWwNCj4gZik6DQo+ID4gKyAgICAgICAgIiIiDQo+ID4gKw0KPiA+ICsgICAg ICAgIDpyZXR1cm46DQo+ID4gKyAgICAgICAgIiIiDQo+ID4gKyAgICAgICAgc2VsZi5jYmRtYV9u aWNfZGV2X251bSA9IDQNCj4gPiArICAgICAgICBzZWxmLmJpbmRfbmljX2RyaXZlcihzZWxmLmR1 dF9wb3J0cykNCj4gPiArICAgICAgICBzZWxmLmdldF9jYmRtYV9wb3J0c19pbmZvX2FuZF9iaW5k X3RvX2RwZGsoKQ0KPiA+ICsgICAgICAgIHNtYWxsX3BrdHNfbnVtID0gNDQ4DQo+ID4gKyAgICAg ICAgbGFyZ2VfOGtfcGt0c19udW0gPSA1NA0KPiA+ICsgICAgICAgIGxhcmdlXzJrX3BrdHNfbnVt ID0gMzk0DQo+ID4gKyAgICAgICAgc2VsZi5xdWV1ZV9udW09Mg0KPiA+ICsgICAgICAgIHNlbGYu bm9wY2k9RmFsc2UNCj4gPiArICAgICAgICBwYXRoX21vZGUgPSAncGFja2VkX3ZxPTAsbXJnX3J4 YnVmPTEsaW5fb3JkZXI9MCxzZXJ2ZXI9MScNCj4gPiArICAgICAgICByaW5nc2l6ZSA9IDI1Ng0K PiA+ICsgICAgICAgIGV4dGVybl9wYXJhbXMgPSAnLS1yeHE9MiAtLXR4cT0yJw0KPiA+ICsgICAg ICAgICMgZ2V0IGR1bXAgcGNhcCBmaWxlIG9mIHZpcnRpbw0KPiA+ICsgICAgICAgICMgdGhlIHZp cnRpbzAgd2lsbCBzZW5kIDI4MyBwa3RzLCBidXQgdGhlIHZpcnRpbyBvbmx5IHdpbGwgcmVjZWl2 ZWQgMjUyDQo+ID4gcGt0cw0KPiA+ICsgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oJ2NoZWNrIHBj YXAgZmlsZSBpbmZvIGFib3V0IHZpcnRpbycpDQo+ID4gKyAgICAgICAgdmRldnMgPSBmIi0tdmRl dg0KPiA+ICdldGhfdmhvc3QwLGlmYWNlPXZob3N0LQ0KPiBuZXQwLHF1ZXVlcz0yLGNsaWVudD0x LGRtYXM9W3R4cTBAe3NlbGYuY2JkbWFfZGUNCj4gPiB2X2luZm9zWzBdfTt0eHExQHtzZWxmLmNi ZG1hX2Rldl9pbmZvc1sxXX1dLGRtYXRocj01MTInICIgXA0KPiA+ICsgICAgICAgICAgICAgICAg ZiItLXZkZXYNCj4gPiAnZXRoX3Zob3N0MSxpZmFjZT12aG9zdC0NCj4gbmV0MSxxdWV1ZXM9Mixj bGllbnQ9MSxkbWFzPVt0eHEwQHtzZWxmLmNiZG1hX2RlDQo+ID4gdl9pbmZvc1syXX07dHhxMUB7 c2VsZi5jYmRtYV9kZXZfaW5mb3NbM119XSxkbWF0aHI9NTEyJyINCj4gPiArDQo+ID4gKyAgICAg ICAgc2VsZi5nZXRfZHVtcF9maWxlX29mX3ZpcnRpb191c2VyX2NiZG1hKHBhdGhfbW9kZSwNCj4g PiBleHRlcm5fcGFyYW1zLCByaW5nc2l6ZSwgdmRldnMpDQo+ID4gKyAgICAgICAgc2VsZi5zZW5k X211bHRpcGxlX3BrdF93aXRoXzhrNTRfMmszOTQoKQ0KPiA+ICsNCj4gPiBzZWxmLmNoZWNrX3Bh Y2tldF9wYXlsb2FkX3ZhbGlkX3dpdGhfY2JkbWEoc2VsZi5kdW1wX3ZpcnRpb19wY2FwLA0KPiA+ IHNtYWxsX3BrdHNfbnVtLCBsYXJnZV84a19wa3RzX251bSwgbGFyZ2VfMmtfcGt0c19udW0pDQo+ ID4gKyAgICAgICAgIyBnZXQgZHVtcCBwY2FwIGZpbGUgb2Ygdmhvc3QNCj4gPiArICAgICAgICBz ZWxmLmxvZ2dlci5pbmZvKCdjaGVjayBwY2FwIGZpbGUgaW5mbyBhYm91dCB2aG9zdCcpDQo+ID4g KyAgICAgICAgc21hbGxfcGt0c19udW0gPSA0NDgNCj4gPiArICAgICAgICBsYXJnZV84a19wa3Rz X251bSA9IDQ0OA0KPiA+ICsgICAgICAgIGxhcmdlXzJrX3BrdHNfbnVtID0gMA0KPiA+ICsgICAg ICAgIHNlbGYuZ2V0X2R1bXBfZmlsZV9vZl92aXJ0aW9fdXNlcl9jYmRtYShwYXRoX21vZGUsDQo+ ID4gZXh0ZXJuX3BhcmFtcywgcmluZ3NpemUsIHZkZXZzKQ0KPiA+ICsgICAgICAgIHNlbGYuc2Vu ZF9tdWx0aXBsZV9wa3Rfd2l0aF84azQ0OCgpDQo+ID4gKw0KPiA+ICsgc2VsZi5jaGVja19wYWNr ZXRfcGF5bG9hZF92YWxpZF93aXRoX2NiZG1hKHNlbGYuZHVtcF92aXJ0aW9fcGNhcCwNCj4gPiAr IHNtYWxsX3BrdHNfbnVtLCBsYXJnZV84a19wa3RzX251bSwgbGFyZ2VfMmtfcGt0c19udW0pDQo+ ID4gKw0KPiA+ICsgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oJ2RpZmYgdGhlIHBjYXAgZmlsZSBv ZiB2aG9zdCBhbmQgdmlydGlvJykNCj4gPiArDQo+ID4gKyAgICBkZWYgc2VuZF9tdWx0aXBsZV9w a3Rfd2l0aF84azU0XzJrMzk0KHNlbGYpOg0KPiA+ICsgICAgICAgIHNlbGYucG1kX3ZpcnRpbzAu ZXhlY3V0ZV9jbWQoJ3NldCBidXJzdCAxJykNCj4gPiArICAgICAgICBzZWxmLnBtZF92aXJ0aW8w LmV4ZWN1dGVfY21kKCdzZXQgdHhwa3RzIDIwMDAsMjAwMCwyMDAwLDIwMDAnKQ0KPiA+ICsgICAg ICAgIHNlbGYucG1kX3ZpcnRpbzAuZXhlY3V0ZV9jbWQoJ3N0YXJ0IHR4X2ZpcnN0IDI3JykNCj4g PiArICAgICAgICBzZWxmLnBtZF92aXJ0aW8wLmV4ZWN1dGVfY21kKCdzdG9wJykNCj4gPiArICAg ICAgICBzZWxmLnBtZF92aXJ0aW8wLmV4ZWN1dGVfY21kKCdzZXQgYnVyc3QgMzInKQ0KPiA+ICsg ICAgICAgIHNlbGYucG1kX3ZpcnRpbzAuZXhlY3V0ZV9jbWQoJ3NldCB0eHBrdHMgMjAwMCcpDQo+ ID4gKyAgICAgICAgc2VsZi5wbWRfdmlydGlvMC5leGVjdXRlX2NtZCgnc3RhcnQgdHhfZmlyc3Qg NycpDQo+ID4gKyAgICAgICAgc2VsZi5wbWRfdmhvc3QuZXhlY3V0ZV9jbWQoJ3N0YXJ0JykNCj4g PiArDQo+ID4gKyAgICBkZWYgc2VuZF9tdWx0aXBsZV9wa3Rfd2l0aF84azQ0OChzZWxmKToNCj4g PiArICAgICAgICBzZWxmLnBtZF92aXJ0aW8wLmV4ZWN1dGVfY21kKCdzZXQgYnVyc3QgMScpDQo+ ID4gKyAgICAgICAgc2VsZi5wbWRfdmlydGlvMC5leGVjdXRlX2NtZCgnc2V0IHR4cGt0cyAyMDAw LDIwMDAsMjAwMCwyMDAwJykNCj4gPiArICAgICAgICBzZWxmLnBtZF92aXJ0aW8wLmV4ZWN1dGVf Y21kKCdzdGFydCB0eF9maXJzdCAyNycpDQo+ID4gKyAgICAgICAgc2VsZi5wbWRfdmlydGlvMC5l eGVjdXRlX2NtZCgnc3RvcCcpDQo+ID4gKyAgICAgICAgc2VsZi5wbWRfdmlydGlvMC5leGVjdXRl X2NtZCgnc2V0IGJ1cnN0IDMyJykNCj4gPiArICAgICAgICBzZWxmLnBtZF92aXJ0aW8wLmV4ZWN1 dGVfY21kKCdzZXQgdHhwa3RzIDIwMDAsMjAwMCwyMDAwLDIwMDAnKQ0KPiA+ICsgICAgICAgIHNl bGYucG1kX3ZpcnRpbzAuZXhlY3V0ZV9jbWQoJ3N0YXJ0IHR4X2ZpcnN0IDcnKQ0KPiA+ICsgICAg ICAgIHNlbGYucG1kX3Zob3N0LmV4ZWN1dGVfY21kKCdzdGFydCcpDQo+ID4gKw0KPiA+ICsgICAg ZGVmIHNlbmRfOGtfcGt0KHNlbGYpOg0KPiA+ICsgICAgICAgIHNlbGYucG1kX3ZpcnRpbzAuZXhl Y3V0ZV9jbWQoJ3NldCBidXJzdCAxJykNCj4gPiArICAgICAgICBzZWxmLnBtZF92aXJ0aW8wLmV4 ZWN1dGVfY21kKCdzZXQgdHhwa3RzIDIwMDAsMjAwMCwyMDAwLDIwMDAnKQ0KPiA+ICsgICAgICAg IHNlbGYucG1kX3ZpcnRpbzAuZXhlY3V0ZV9jbWQoJ3N0YXJ0IHR4X2ZpcnN0IDI3JykNCj4gPiAr ICAgICAgICBzZWxmLnBtZF92aXJ0aW8wLmV4ZWN1dGVfY21kKCdzdG9wJykNCj4gPiArICAgICAg ICBzZWxmLnBtZF92aXJ0aW8wLmV4ZWN1dGVfY21kKCdzZXQgYnVyc3QgMzInKQ0KPiA+ICsgICAg ICAgIHNlbGYucG1kX3ZpcnRpbzAuZXhlY3V0ZV9jbWQoJ3N0YXJ0IHR4X2ZpcnN0IDcnKQ0KPiA+ ICsgICAgICAgIHNlbGYucG1kX3ZpcnRpbzAuZXhlY3V0ZV9jbWQoJ3N0b3AnKQ0KPiA+ICsgICAg ICAgIHNlbGYucG1kX3ZpcnRpbzAuZXhlY3V0ZV9jbWQoJ3NldCB0eHBrdHMgMjAwMCcpDQo+ID4g KyAgICAgICAgc2VsZi5wbWRfdmlydGlvMC5leGVjdXRlX2NtZCgnc3RhcnQgdHhfZmlyc3QgMScp DQo+ID4gKyAgICAgICAgc2VsZi5wbWRfdmhvc3QuZXhlY3V0ZV9jbWQoJ3N0YXJ0JykNCj4gPiAr DQo+ID4gKyAgICBkZWYgc2VuZF9tdWx0aXBsZV9wa3Qoc2VsZik6DQo+ID4gKyAgICAgICAgc2Vs Zi5wbWRfdmlydGlvMC5leGVjdXRlX2NtZCgnc2V0IGJ1cnN0IDEnKQ0KPiA+ICsgICAgICAgIHNl bGYucG1kX3ZpcnRpbzAuZXhlY3V0ZV9jbWQoJ3NldCB0eHBrdHMgMjAwMCwyMDAwLDIwMDAsMjAw MCcpDQo+ID4gKyAgICAgICAgc2VsZi5wbWRfdmlydGlvMC5leGVjdXRlX2NtZCgnc3RhcnQgdHhf Zmlyc3QgMjcnKQ0KPiA+ICsgICAgICAgIHNlbGYucG1kX3ZpcnRpbzAuZXhlY3V0ZV9jbWQoJ3N0 b3AnKQ0KPiA+ICsgICAgICAgIHNlbGYucG1kX3ZpcnRpbzAuZXhlY3V0ZV9jbWQoJ3NldCBidXJz dCAzMicpDQo+ID4gKyAgICAgICAgc2VsZi5wbWRfdmlydGlvMC5leGVjdXRlX2NtZCgnc2V0IHR4 cGt0cyAyMDAwJykNCj4gPiArICAgICAgICBzZWxmLnBtZF92aXJ0aW8wLmV4ZWN1dGVfY21kKCdz dGFydCB0eF9maXJzdCA3JykNCj4gPiArICAgICAgICBzZWxmLnBtZF92aXJ0aW8wLmV4ZWN1dGVf Y21kKCdzdG9wJykNCj4gPiArICAgICAgICBzZWxmLnBtZF92aXJ0aW8wLmV4ZWN1dGVfY21kKCdz ZXQgdHhwa3RzIDIwMDAnKQ0KPiA+ICsgICAgICAgIHNlbGYucG1kX3ZpcnRpbzAuZXhlY3V0ZV9j bWQoJ3N0YXJ0IHR4X2ZpcnN0IDEnKQ0KPiA+ICsgICAgICAgIHNlbGYucG1kX3Zob3N0LmV4ZWN1 dGVfY21kKCdzdGFydCcpDQo+ID4gKw0KPiA+ICsNCj4gPiArDQo+ID4gKyAgICBkZWYgZ2V0X2Ni ZG1hX3BvcnRzX2luZm9fYW5kX2JpbmRfdG9fZHBkayhzZWxmKToNCj4gPiArICAgICAgICAiIiIN Cj4gPiArICAgICAgICBnZXQgYWxsIGNiZG1hIHBvcnRzDQo+ID4gKyAgICAgICAgIiIiDQo+ID4g Kw0KPiA+ICsgICAgICAgIHN0cl9pbmZvID0gJ01pc2MgKHJhd2RldikgZGV2aWNlcyB1c2luZyBr ZXJuZWwgZHJpdmVyJw0KPiA+ICsgICAgICAgIG91dCA9IHNlbGYuZHV0LnNlbmRfZXhwZWN0KCcu L3VzZXJ0b29scy9kcGRrLWRldmJpbmQucHkNCj4gPiAtLXN0YXR1cy1kZXYgbWlzYycsDQo+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyMgJywgMzApDQo+ID4gKyAgICAg ICAgZGV2aWNlX2luZm8gPSBvdXQuc3BsaXQoJ1xuJykNCj4gPiArICAgICAgICBmb3IgZGV2aWNl IGluIGRldmljZV9pbmZvOg0KPiA+ICsgICAgICAgICAgICBwY2lfaW5mbyA9IHJlLnNlYXJjaCgn XHMqKDAwMDA6XGQqOlxkKi5cZCopJywgZGV2aWNlKQ0KPiA+ICsgICAgICAgICAgICBpZiBwY2lf aW5mbyBpcyBub3QgTm9uZToNCj4gPiArICAgICAgICAgICAgICAgIGRldl9pbmZvID0gcGNpX2lu Zm8uZ3JvdXAoMSkNCj4gPiArICAgICAgICAgICAgICAgICMgdGhlIG51bWEgaWQgb2YgaW9hdCBk ZXYsIG9ubHkgYWRkIHRoZSBkZXZpY2Ugd2hpY2gNCj4gPiArICAgICAgICAgICAgICAgICMgb24g c2FtZSBzb2NrZXQgd2l0aCBuaWMgZGV2DQo+ID4gKyAgICAgICAgICAgICAgICBidXMgPSBpbnQo ZGV2X2luZm9bNTo3XSwgYmFzZT0xNikNCj4gPiArICAgICAgICAgICAgICAgIGlmIGJ1cyA+PSAx Mjg6DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgY3VyX3NvY2tldCA9IDENCj4gPiArICAgICAg ICAgICAgICAgIGVsc2U6DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgY3VyX3NvY2tldCA9IDAN Cj4gPiArICAgICAgICAgICAgICAgIGlmIHNlbGYucG9ydHNfc29ja2V0ID09IGN1cl9zb2NrZXQ6 DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgc2VsZi5jYmRtYV9kZXZfaW5mb3MuYXBwZW5kKHBj aV9pbmZvLmdyb3VwKDEpKQ0KPiA+ICsgICAgICAgIHNlbGYudmVyaWZ5KGxlbihzZWxmLmNiZG1h X2Rldl9pbmZvcykgPj0gOCwgJ1RoZXJlIG5vIGVub3VnaCBjYmRtYQ0KPiA+IGRldmljZSB0byBy dW4gdGhpcyBzdWl0ZScpDQo+ID4gKyAgICAgICAgc2VsZi5kZXZpY2Vfc3RyID0gJw0KPiA+ICcu am9pbihzZWxmLmNiZG1hX2Rldl9pbmZvc1swOnNlbGYuY2JkbWFfbmljX2Rldl9udW1dKQ0KPiA+ ICsgICAgICAgIHNlbGYuZHV0LnNlbmRfZXhwZWN0KCcuL3VzZXJ0b29scy9kcGRrLWRldmJpbmQu cHkgLS1mb3JjZQ0KPiA+IC0tYmluZD1pZ2JfdWlvICVzJyAlDQo+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2VsZi5kZXZpY2Vfc3RyLCAnIyAnLCA2MCkNCj4gPiAtLQ0KPiA+IDEu OC4zLjENCg0K