From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20042.outbound.protection.outlook.com [40.107.2.42]) by dpdk.org (Postfix) with ESMTP id DCEB61E2F for ; Tue, 16 Oct 2018 10:58:54 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+45n0ogkw+8KNnPkJlYWNZDx2s31cNr9QKENUv20uOU=; b=Mzsjsa6obB3KvtaqKutpo+QKHgZAoXrst6cbTUuUu7B3jxfz18eAKFvmW8k7g2yL02YvniGn4sWZhuvwQ4/EeaQUE38oedyAxbgPbXL6dcHDTcxYl8b2xsodRirjZKPb+2o+v12knri+OWm3wVb0JkNrwFK9+rbWEIeoeSnpVkM= Received: from DB7PR08MB3385.eurprd08.prod.outlook.com (20.176.238.90) by DB7PR08MB3788.eurprd08.prod.outlook.com (20.178.84.205) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1228.31; Tue, 16 Oct 2018 08:58:53 +0000 Received: from DB7PR08MB3385.eurprd08.prod.outlook.com ([fe80::eda0:7bf6:a891:3ae7]) by DB7PR08MB3385.eurprd08.prod.outlook.com ([fe80::eda0:7bf6:a891:3ae7%6]) with mapi id 15.20.1250.020; Tue, 16 Oct 2018 08:58:53 +0000 From: "Phil Yang (Arm Technology China)" To: Ferruh Yigit , "dev@dpdk.org" CC: nd , "anatoly.burakov@intel.com" Thread-Topic: [PATCH] app/testpmd: fix vdev socket initialization Thread-Index: AQHUYk7onPQQoxP/dUGMeo+fpqdHf6UgCbgggAAY8gCAAWL04A== Date: Tue, 16 Oct 2018 08:58:53 +0000 Message-ID: References: <1539336895-22691-1-git-send-email-phil.yang@arm.com> <4b4aeed5-ba6e-8df3-386c-191b05a73586@intel.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Phil.Yang@arm.com; x-originating-ip: [113.29.88.7] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DB7PR08MB3788; 6:NxBPGTVVZF6UgdNgXgD053ohMLh2Tf+KhuPgo2noaVICncheSTCi065iT/7KSa5ABZNNoc33alPQLfJNqqPL0YNI623Y/+I4Uq6BZeTm0FH0LQoQ7XIcU9hw6DxQBIpNnQ3yiw79e/gq2KTck49pP2MFCNRx44V0z7wAuKRQKfJ/ZsG7X++LGzHA+zMon/NBc+79oU8BXvtQlP5uBmkL/pFGcO/gY+0iH8APQlG0XtefdUmSHjnZ817eR8da4eYBSfLwOzsAV0MzTsttByfo+3MTF8g8+DFtOHy6GG/8jBfk3EJQ6Ak26lUDR6/JjpXO9JsFAf/J1qwW7OQ19zeSIJ2rx/2iwVO/QyzvwKCvmVrC3qiz1wtGGswCER9Z0q8eIUsL5+LwIltvBln18czIP7VU24tkhe+8/DeaoV72c9SHemapUevIMACxWLMgNbDUHim4lxZ1s+3cLBemH+pVdg==; 5:jppEQPKB116JWFilodqVD578o4kSV4MiKuGrzCtF43z4B4nxdZxVlMxxidfNUutBZGlSS2VNg+/1xmSFR30hX2GtKif5XFYaGNy4Kt8WYYtYk1JraeOCepA3fTfkQ1ANmAa1VL3hvNqC+l8LuEddKc/wzlodEWkw1WRBu5PcyNI=; 7:NUw8G4/xEfgDqcoSovCtihdn9dbzAdIKpajVtXwRPUwn3knOZzvoCCDC3Zei24M/SAq8clu8rFfElTDS7cJ7B8SRy3RREB2F3VNgfr1jgeDtKtA74llkKUe2evQpCowodY1yIyGbEa3ZvSZ78uN1dYsjdFlRbVjiyrQbPc5AGRx6LrZ65DIpWUtDVu+B0XPZOogze7GtJmBj8mDh2lr6hHfaCePuGNcPmIw9k+nzuOnCszTJkhiY+Kljkzdd/z9t x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: a033a811-c67e-49db-3f07-08d63345991d x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:DB7PR08MB3788; x-ms-traffictypediagnostic: DB7PR08MB3788: nodisclaimer: True x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(228905959029699)(180628864354917); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(3231355)(944501410)(52105095)(6055026)(149066)(150057)(6041310)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991067); SRVR:DB7PR08MB3788; BCL:0; PCL:0; RULEID:; SRVR:DB7PR08MB3788; x-forefront-prvs: 0827D7ACB9 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(376002)(346002)(136003)(366004)(39860400002)(52314003)(199004)(13464003)(51234002)(189003)(99286004)(3846002)(26005)(6116002)(5024004)(14444005)(6436002)(5250100002)(486006)(229853002)(93886005)(476003)(105586002)(256004)(11346002)(14454004)(186003)(4326008)(2900100001)(446003)(106356001)(33656002)(110136005)(7736002)(316002)(71190400001)(305945005)(72206003)(71200400001)(74316002)(97736004)(8676002)(6246003)(81166006)(5660300001)(9686003)(55016002)(54906003)(2501003)(68736007)(7696005)(81156014)(53546011)(6506007)(478600001)(53936002)(55236004)(25786009)(66066001)(76176011)(8936002)(2906002)(86362001)(102836004); DIR:OUT; SFP:1101; SCL:1; SRVR:DB7PR08MB3788; H:DB7PR08MB3385.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: +5JUYzlwwh5mPTz7exY2uX0juxIhaNOToUc5em1ctB8JFgTNR1CWV5Db4uu8IVdK0IihOomO/zEpFXNRVB/GW/L2PtEpuPy5DLHUODp4XOhuMvCg/49+tQLlr4sMtpsdMyUWx2eIIhvELrKkE4kgKjU+eOQQ9cOzj8I+CefQZKlFA0uQBpEVQkQ8HSfLfj1Q766y2jTGz+3ebdbM5pF/yaPPts5snuyawU7TrKTUdnGQOXWKsatjB5U1C90YtpsFa5JkOte88JKvpxz1Zwj5KHNohZPSTFHuh76cHfstoNM0tGEl9jbdLv7AzAFf/3zBOxbcothBpE7dTpAI0HKXnAqjvOrunp2Q3VH600Y5CQE= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: a033a811-c67e-49db-3f07-08d63345991d X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Oct 2018 08:58:53.3384 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3788 Subject: Re: [dpdk-dev] [PATCH] app/testpmd: fix vdev socket initialization X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Oct 2018 08:58:55 -0000 DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEZlcnJ1aCBZaWdpdCA8ZmVy cnVoLnlpZ2l0QGludGVsLmNvbT4NCj4gU2VudDogTW9uZGF5LCBPY3RvYmVyIDE1LCAyMDE4IDY6 NDIgUE0NCj4gVG86IFBoaWwgWWFuZyAoQXJtIFRlY2hub2xvZ3kgQ2hpbmEpIDxQaGlsLllhbmdA YXJtLmNvbT47IGRldkBkcGRrLm9yZw0KPiBDYzogbmQgPG5kQGFybS5jb20+OyBhbmF0b2x5LmJ1 cmFrb3ZAaW50ZWwuY29tDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIGFwcC90ZXN0cG1kOiBmaXgg dmRldiBzb2NrZXQgaW5pdGlhbGl6YXRpb24NCj4gDQo+IE9uIDEwLzE1LzIwMTggMTA6NTEgQU0s IFBoaWwgWWFuZyAoQXJtIFRlY2hub2xvZ3kgQ2hpbmEpIHdyb3RlOg0KPiA+PiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBGZXJydWggWWlnaXQgPGZlcnJ1aC55aWdpdEBp bnRlbC5jb20+DQo+ID4+IFNlbnQ6IFNhdHVyZGF5LCBPY3RvYmVyIDEzLCAyMDE4IDE6MTMgQU0N Cj4gPj4gVG86IFBoaWwgWWFuZyAoQXJtIFRlY2hub2xvZ3kgQ2hpbmEpIDxQaGlsLllhbmdAYXJt LmNvbT47DQo+ID4+IGRldkBkcGRrLm9yZw0KPiA+PiBDYzogbmQgPG5kQGFybS5jb20+OyBhbmF0 b2x5LmJ1cmFrb3ZAaW50ZWwuY29tDQo+ID4+IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIGFwcC90ZXN0 cG1kOiBmaXggdmRldiBzb2NrZXQgaW5pdGlhbGl6YXRpb24NCj4gPj4NCj4gPj4gT24gMTAvMTIv MjAxOCAxMDozNCBBTSwgcGhpbC55YW5nQGFybS5jb20gd3JvdGU6DQo+ID4+PiBUaGUgY21kbGlu ZSBzZXR0aW5ncyBvZiBwb3J0LW51bWEtY29uZmlnIGFuZCByeHJpbmctbnVtYS1jb25maWcgaGF2 ZQ0KPiA+Pj4gYmVlbiBmbHVzaGVkIGJ5IHRoZSBmb2xsb3dpbmcgaW5pdF9jb25maWcuIElmIHdl IGRvbid0IGNvbmZpZ3VyZSB0aGUNCj4gPj4+IHBvcnQtbnVtYS1jb25maWcsIHRoZSB2aXJ0dWFs IGRldmljZSB3aWxsIGFsbG9jYXRlIHRoZSBkZXZpY2UgcG9ydHMNCj4gPj4+IHRvIHNvY2tldCAw LiBJdCB3aWxsIGNhdXNlIGZhaWx1cmUgd2hlbiB0aGUgc29ja2V0IDAgaXMgdW5hdmFpbGFibGUu DQo+ID4+Pg0KPiA+Pj4gZWc6DQo+ID4+PiB0ZXN0cG1kIC1sIDxjb3JlcyBmcm9tIHNvY2tldCAx PiAtLXZkZXYgbmV0X3BjYXAwLGlmYWNlPWxvDQo+ID4+PiAtLXNvY2tldC1tZW09NjQgLS0gLS1u dW1hIC0tcG9ydC1udW1hLWNvbmZpZz0iKDAsMSkiDQo+ID4+PiAtLXJpbmctbnVtYS1jb25maWc9 IigwLDEsMSksKDAsMiwxKSIgLWkNCj4gPj4+DQo+ID4+PiAuLi4NCj4gPj4+IENvbmZpZ3VyaW5n IFBvcnQgMCAoc29ja2V0IDApDQo+ID4+PiBGYWlsZWQgdG8gc2V0dXAgUlggcXVldWU6Tm8gbWVt cG9vbCBhbGxvY2F0aW9uIG9uIHRoZSBzb2NrZXQgMA0KPiA+Pj4gRUFMOiBFcnJvciAtIGV4aXRp bmcgd2l0aCBjb2RlOiAxDQo+ID4+PiAgIENhdXNlOiBTdGFydCBwb3J0cyBmYWlsZWQNCj4gPj4+ DQo+ID4+PiBGaXggYnkgYWxsb2NhdGUgdGhlIGRldmljZXMgcG9ydCB0byB0aGUgZmlyc3QgYXZh aWxhYmxlIHNvY2tldCBvcg0KPiA+Pj4gdGhlIHNvY2tldCBjb25maWd1cmVkIGluIHBvcnQtbnVt YS1jb25maWcuDQo+ID4+DQo+ID4+IEkgY29uZmlybSB0aGlzIGZpeGVzIHRoZSBpc3N1ZSwgYnkg bWFraW5nIHZkZXYgdG8gYWxsb2NhdGUgZnJvbQ0KPiA+PiBhdmFpbGFibGUgc29ja2V0IGluc3Rl YWQgb2YgaGFyZGNvZGVkIHNvY2tldCAwLCBvdmVyYWxsIHRoaXMgbWFrZSBzZW5zZS4NCj4gPj4N Cj4gPj4gQnV0IGN1cnJlbnRseSB0aGVyZSBpcyBubyB3YXkgdG8gcmVxdWVzdCBtZW1wb29sIGZv cm0gInNvY2tldCAwIiBpZg0KPiA+PiBvbmx5IGNvcmVzIGZyb20gInNvY2tldCAxIiBwcm92aWRl ZCBpbiAiLWwiLCBldmVuIHdpdGgNCj4gPj4gInBvcnQtbnVtYS1jb25maWciIGFuZCAicnhyaW5n LSBudW1hLWNvbmZpZyIuDQo+ID4+IEJvdGggdGhpcyBiZWhhdmlvciBhbmQgdGhlIHByb2JsZW0g dGhpcyBwYXRjaCBmaXhlcyBjYXVzZWQgYnkgcGF0Y2g6DQo+ID4+IENvbW1pdCBkYmZiOGVjNzA5 NGMgKCJhcHAvdGVzdHBtZDogb3B0aW1pemUgbWJ1ZiBwb29sIGFsbG9jYXRpb24iKQ0KPiA+Pg0K PiA+PiBJdCBpcyBnb29kIHRvIGhhdmUgb3B0aW1pemVkIG1lbXBvb2wgYWxsb2NhdGlvbiBidXQg SSB0aGluayB0aGlzDQo+ID4+IHNob3VsZG4ndCBsaW1pdCB0aGUgdG9vbC4gSWYgdXNlciB3YW50 cyBtZW1wb29scyBmcm9tIHNwZWNpZmljIHNvY2tldCwgbGV0IGl0DQo+IGhhdmUuDQo+ID4+DQo+ ID4+IFdoYXQgYWJvdXQgY2hhbmdpbmcgdGhlIGRlZmF1bHQgYmVoYXZpb3IgdG86DQo+ID4+IDEt IEFsbG9jYXRlIG1lbXBvb2wgb25seSBmcm9tIHNvY2tldCB0aGF0IGNvcmVtYXNrIHByb3ZpZGVk IChjdXJyZW50DQo+ID4+IGFwcHJvYWNoKQ0KPiA+PiAyLSBQbHVzLCBhbGxvY2F0ZSBtZW1wb29s IGZyb20gc29ja2V0cyBvZiBhdHRhY2hlZCBkZXZpY2VzICh0aGlzIGlzDQo+ID4+IGFsdGVybmF0 aXZlIHNvbHV0aW9uIHRvIHRoaXMgcGF0Y2gsIHlvdXIgc29sdXRpb24gc2VlbXMgYmV0dGVyIGZv cg0KPiA+PiB2aXJ0dWFsIGRldmljZXMgYnV0IGZvciBwaHlzaWNhbCBkZXZpY2VzIGFsbG9jYXRp bmcgZnJvbSBzb2NrZXQgaXQNCj4gPj4gY29ubmVjdHMgY2FuIGJlIGJldHRlcikNCj4gPj4gMy0g UGx1cywgYWxsb2NhdGUgbWVtcG9vbCBmcm9tIHNvY2tldHMgcHJvdmlkZWQgaW4gInBvcnQtbnVt YS1jb25maWciDQo+ID4+IGFuZCAicnhyaW5nLW51bWEtY29uZmlnIg0KPiA+Pg0KPiA+PiBXaGF0 IGRvIHlvdSB0aGluaz8NCj4gPg0KPiA+IEhpIEZlcnJ1aCwNCj4gPg0KPiA+IFRvdGFsbHkgYWdy ZWVkIHdpdGggeW91ciBzdWdnZXN0aW9uLg0KPiA+DQo+ID4gQXMgSSB1bmRlcnN0YW5kLCBhbGxv Y2F0aW5nIG1lbXBvb2wgZnJvbSBzb2NrZXRzIG9mIGF0dGFjaGVkIGRldmljZXMgd2lsbA0KPiBl bmFibGUgdGhlIGNyb3NzIE5VTUEgc2NlbmFyaW8gZm9yIFRlc3RwbWQuDQo+IA0KPiBZZXMgaXQg d2lsbC4NCj4gDQo+ID4NCj4gPiBCZWxvdyBpcyBteSBmaXggZm9yIHBoeXNpYyBwb3J0IG1lbXBv b2wgYWxsb2NhdGUgaXNzdWUuIFNvLCBpcyBpdCBiZXR0ZXIgdG8NCj4gc2VwYXJhdGUgaXQgaW50 byBhIG5ldyBwYXRjaCBvbiB0aGUgdG9wIG9mIHRoaXMgb25lIG9yIHJld29yayB0aGlzIG9uZSBi eSBhZGRpbmcNCj4gYmVsb3cgZml4PyBJIHByZWZlciB0byBhZGQgYSBuZXcgb25lIGJlY2F1c2Ug dGhlIGN1cnJlbnQgcGF0Y2ggaGFzIGFscmVhZHkgZml4ZWQNCj4gdHdvIGRlZmVjdHMuIEFueXdh eSwgSSB3aWxsIGZvbGxvdyB5b3VyIGNvbW1lbnQuDQo+IA0KPiArMSB0byBzZXBhcmF0ZSBpdCBp bnRvIGEgbmV3IHBhdGNoLCBzbyBJIHdpbGwgY2hlY2sgZXhpc3RpbmcgcGF0Y2guDQo+IA0KPiBC ZWxvdyBsb29rcyBnb29kIG9ubHkgbm90IHN1cmUgaWYgaXMgc2hvdWxkIGJlIGluIGBzZXRfZGVm YXVsdF9md2RfcG9ydHNfY29uZmlnYD8NCj4gT3IgcGVyaGFwcyBgc2V0X2RlZmF1bHRfZndkX2xj b3Jlc19jb25maWdgPw0KSGkgRmVycnVoLA0KDQpJTU8sICdzZXRfZGVmYXVsdF9md2RfbGNvcmVz X2NvbmZpZycgaXMgYWltaW5nIHRvIHVwZGF0ZSBzb2NrZXRzIGluZm8gYW5kIGNvcmUgcmVsYXRl ZCBpbmZvIGFjY29yZGluZyB0byB0aGUgLWwgPGNvcmUgbGlzdD4gb3IgLWMgPGNvcmUgbWFzaz4g aW5wdXQuDQpTbywgZ28gdGhyb3VnaCB0aGUgYXR0YWNoZWQgZGV2aWNlcyB0byB1cGRhdGUgcG9y dHMnIHNvY2tldCBpbmZvIGluICdzZXRfZGVmYXVsdF9md2RfcG9ydHNfY29uZmlnJyBpcyByZWFz b25hYmxlLg0KDQpJIHRoaW5rIHRoZSBpbml0aWFsaXphdGlvbiBwcm9jZXNzIGdvIHRocm91Z2gg bGlrZSBiZWxvdyBpbiBUZXN0cG1kLg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC8gICAgMS4gICdzZXRfZGVmYXVsdF9md2RfbGNvcmVfY29uZmlnJyAgIHVwZGF0 ZSBjb3JlIHJlbGF0ZWQgaW5mbw0KJ3NldF9kZWZfZndkX2NvbmZpZycgICDigJQgIDIuICdzZXRf ZGVmYXVsdF9wZWVyX2V0aF9hZGRycyAnICB1cGRhdGUgcG9ydCBhZGRyZXNzDQogICAgICAgICAg ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgXAkgICAgMy4gJ3NldF9kZWZhdWx0X2Z3ZF9w b3J0c19jb25maWcgJyAgdXBkYXRlIHBvcnQgKG9yIGRldmljZXMpIHJlbGF0ZWQgaW5mbw0KICAg ICAgICAgICAgICAgIFYNCidsYXVuY2hfYXJnc19wYXJzZScgICAg4oCUICB1cGRhdGUgcG9ydC1u dW1hLWNvbmZpZyBzZXR0aW5ncw0KICAgICAgICAgICAgICAgIHwNCiAgICAgICAgICAgICAgICBW ICAgICAgICAgICAgICAgICAvICAgICAxLiBhbGxvY2F0ZSBtZW1wb29sIGZvciBlYWNoIGF2YWls YWJsZSBzb2NrZXQgd2hpY2ggcmVjb3JkZWQgaW4gc29ja2V0X2lkc1tdDQogICAgICAgJ2luaXRf Y29uZmlnJyAgICAgICDigJQgICAgMi4gJ2luaXRfZndkX3N0cmVhbXMnIHVwZGF0ZSBwb3J0LT5z b2NrZXRfaWQgaW5mbyBhY2NvcmRpbmcgdG8gdGhlIHBvcnQtbnVtYS1jb25maWcNCiAgICAgICAg ICAgICAgICA6DQogICAgICAgICAgc3RhcnRfcG9ydA0KDQpPbmNlIHRoaXMgcGF0Y2ggYXBwbGll ZC4gVGhpcyBzb2NrZXRfaWRzW10gdXBkYXRlIG9yZGVyIHdpbGwgYWZmZWN0IHRoZSBkZWZhdWx0 IHNvY2tldCBvZiBtZW1wb29sIGFsbG9jYXRpb24uDQplLmcuIDogIHNvY2tldF9pZHNbMF0gPSAt bCA8Y29yZSBsaXN0Pg0KICAgICAgICAgICBzb2NrZXRfaWRzWzFdID0gPGF0dGFjaGVkIGRldmlj ZXMgc29ja2V0IGlkPiB3aGVuIGl0IGlzIG5vdCB0aGUgc29ja2V0IGxpc3RlZCBpbiA8Y29yZSBs aXN0Pg0KRm9yIHZpcnR1YWwgZGV2aWNlcywgdGhlIGRlZmF1bHQgc29ja2V0IGlzIHNvY2tldF9p ZHNbMF0uIEZvciBwaHlzaWMgZGV2aWNlcywgdGhlIGRlZmF1bHQgc29ja2V0IHdpbGwgYmUgc29j a2V0X2lkWzFdLg0KDQo+IA0KPiBBbmQgcG9ydC1udW1hLWNvbmZpZyBhbmQgcnhyaW5nLW51bWEt Y29uZmlnIHN0aWxsIG5vdCBjb3ZlcmVkLg0KVGhvc2UgY29uZmlndXJhdGlvbnMgaGF2ZSBiZWVu IGluaXRpYWxlZCBpbiBsYXVuY2hfYXJnc19wYXJzZScgYW5kIG9wZXJhdGUgdGhlIGZvcndhcmRp bmcgc3RyZWFtcyBpbiAnaW5pdF9md2Rfc3RyZWFtcycuICBTbyB0aGUgcGF0Y2ggY292ZXJlZCB0 aG9zZSBjb25maWd1cmF0aW9ucy4NCg0KVGhhbmtzDQpQaGlsIFlhbmcNCj4gDQo+ID4NCj4gPiAg ICA1NjUgc3RhdGljIHZvaWQNCj4gPiAgICA1NjYgc2V0X2RlZmF1bHRfZndkX3BvcnRzX2NvbmZp Zyh2b2lkKQ0KPiA+ICAgIDU2NyB7DQo+ID4gICAgNTY4IOKAuiAgIHBvcnRpZF90IHB0X2lkOw0K PiA+ICAgIDU2OSDigLogICBpbnQgaSA9IDA7DQo+ID4gICAgNTcwDQo+ID4gICAgNTcxIOKAuiAg IFJURV9FVEhfRk9SRUFDSF9ERVYocHRfaWQpIHsNCj4gPiAgICA1NzIg4oC6ICAg4oC6ICAgZndk X3BvcnRzX2lkc1tpKytdID0gcHRfaWQ7DQo+ID4gICAgNTczDQo+ID4gKyAgNTc0IOKAuiAgIOKA uiAgIC8qIFVwZGF0ZSBzb2NrZXRzIGluZm8gYWNjb3JkaW5nIHRvIHRoZSBhdHRhY2hlZCBkZXZp Y2UgKi8NCj4gPiArICA1NzUg4oC6ICAg4oC6ICAgaW50IHNvY2tldF9pZCA9IHJ0ZV9ldGhfZGV2 X3NvY2tldF9pZChwdF9pZCk7DQo+ID4gKyAgNTc2IOKAuiAgIOKAuiAgIGlmIChzb2NrZXRfaWQg Pj0gMCAmJiBuZXdfc29ja2V0X2lkKHB0X2lkKSkgew0KPiA+ICsgIDU3NyDigLogICDigLogICDi gLogICBpZiAobnVtX3NvY2tldHMgPj0gUlRFX01BWF9OVU1BX05PREVTKSB7DQo+ID4gKyAgNTc4 IOKAuiAgIOKAuiAgIOKAuiAgIOKAuiAgIHJ0ZV9leGl0KEVYSVRfRkFJTFVSRSwNCj4gPiArICA1 Nzkg4oC6ICAg4oC6ICAg4oC6ICAg4oC6ICAg4oC6ICAgICJUb3RhbCBzb2NrZXRzIGdyZWF0ZXIg dGhhbiAldVxuIiwNCj4gPiArICA1ODAg4oC6ICAg4oC6ICAg4oC6ICAg4oC6ICAg4oC6ICAgIFJU RV9NQVhfTlVNQV9OT0RFUyk7DQo+ID4gKyAgNTgxIOKAuiAgIOKAuiAgIOKAuiAgIH0NCj4gPiAr ICA1ODIg4oC6ICAg4oC6ICAg4oC6ICAgc29ja2V0X2lkc1tudW1fc29ja2V0cysrXSA9IHNvY2tl dF9pZDsNCj4gPiArICA1ODMg4oC6ICAg4oC6ICAgfQ0KPiA+ICsgIDU4NCDigLogICB9DQo+ID4g KyAgNTg1DQo+ID4gICAgNTg2IOKAuiAgIG5iX2NmZ19wb3J0cyA9IG5iX3BvcnRzOw0KPiA+ICAg IDU4NyDigLogICBuYl9md2RfcG9ydHMgPSBuYl9wb3J0czsNCj4gPiAgICA1ODggfQ0KPiA+DQo+ ID4gVGhhbmtzDQo+ID4gUGhpbCBZYW5nDQo+ID4NCj4gPj4NCj4gPj4NCj4gPj4+DQo+ID4+PiBG aXhlczogNDg3ZjlhNSAoImFwcC90ZXN0cG1kOiBmaXggTlVNQSBzdHJ1Y3R1cmVzIGluaXRpYWxp emF0aW9uIikNCj4gPj4+DQo+ID4+PiBTaWduZWQtb2ZmLWJ5OiBQaGlsIFlhbmcgPHBoaWwueWFu Z0Bhcm0uY29tPg0KPiA+Pj4gUmV2aWV3ZWQtYnk6IEdhdmluIEh1IDxHYXZpbi5IdUBhcm0uY29t Pg0KPiA+Pg0KPiA+PiA8Li4uPg0KDQo=