From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8B8F0C433FE for ; Fri, 24 Dec 2021 07:23:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1351795AbhLXHXt (ORCPT ); Fri, 24 Dec 2021 02:23:49 -0500 Received: from rtits2.realtek.com ([211.75.126.72]:33589 "EHLO rtits2.realtek.com.tw" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1343514AbhLXHXs (ORCPT ); Fri, 24 Dec 2021 02:23:48 -0500 Authenticated-By: X-SpamFilter-By: ArmorX SpamTrap 5.73 with qID 1BO7Nhm16021991, This message is accepted by code: ctloc85258 Received: from mail.realtek.com (rtexh36504.realtek.com.tw[172.21.6.27]) by rtits2.realtek.com.tw (8.15.2/2.71/5.88) with ESMTPS id 1BO7Nhm16021991 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Fri, 24 Dec 2021 15:23:43 +0800 Received: from RTEXMBS06.realtek.com.tw (172.21.6.99) by RTEXH36504.realtek.com.tw (172.21.6.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Fri, 24 Dec 2021 15:23:43 +0800 Received: from RTEXMBS01.realtek.com.tw (172.21.6.94) by RTEXMBS06.realtek.com.tw (172.21.6.99) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Fri, 24 Dec 2021 15:23:42 +0800 Received: from RTEXMBS01.realtek.com.tw ([fe80::1939:37f0:5383:397d]) by RTEXMBS01.realtek.com.tw ([fe80::1939:37f0:5383:397d%5]) with mapi id 15.01.2308.015; Fri, 24 Dec 2021 15:23:42 +0800 From: Ricky WU To: Ulf Hansson CC: "tommyhebb@gmail.com" , "linux-mmc@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: RE: [PATCH v3] mmc: rtsx: improve performance for multi block rw Thread-Topic: [PATCH v3] mmc: rtsx: improve performance for multi block rw Thread-Index: AQHX9mTncx2NNhc4Hk2xCW7FootmX6w8X/iAgAN+/CD//4BBAIAB2Eew Date: Fri, 24 Dec 2021 07:23:42 +0000 Message-ID: References: <8e61aed5f64e434abc1d7b6f81859c8a@realtek.com> In-Reply-To: Accept-Language: zh-TW, en-US Content-Language: zh-TW X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.22.88.113] x-kse-serverinfo: RTEXMBS06.realtek.com.tw, 9 x-kse-attachmentfiltering-interceptor-info: no applicable attachment filtering rules found x-kse-antivirus-interceptor-info: scan successful x-kse-antivirus-info: =?utf-8?B?Q2xlYW4sIGJhc2VzOiAyMDIxLzEyLzI0IOS4iuWNiCAwNDowMjowMA==?= x-kse-bulkmessagesfiltering-scan-result: protection disabled Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-KSE-ServerInfo: RTEXH36504.realtek.com.tw, 9 X-KSE-Attachment-Filter-Triggered-Rules: Clean X-KSE-Attachment-Filter-Triggered-Filters: Clean X-KSE-BulkMessagesFiltering-Scan-Result: protection disabled Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBVbGYgSGFuc3NvbiA8dWxmLmhh bnNzb25AbGluYXJvLm9yZz4NCj4gU2VudDogVGh1cnNkYXksIERlY2VtYmVyIDIzLCAyMDIxIDY6 MzcgUE0NCj4gVG86IFJpY2t5IFdVIDxyaWNreV93dUByZWFsdGVrLmNvbT4NCj4gQ2M6IHRvbW15 aGViYkBnbWFpbC5jb207IGxpbnV4LW1tY0B2Z2VyLmtlcm5lbC5vcmc7DQo+IGxpbnV4LWtlcm5l bEB2Z2VyLmtlcm5lbC5vcmcNCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2M10gbW1jOiBydHN4OiBp bXByb3ZlIHBlcmZvcm1hbmNlIGZvciBtdWx0aSBibG9jayBydw0KPiANCj4gT24gVGh1LCAyMyBE ZWMgMjAyMSBhdCAxMToyNywgUmlja3kgV1UgPHJpY2t5X3d1QHJlYWx0ZWsuY29tPiB3cm90ZToN Cj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IFVsZiBI YW5zc29uIDx1bGYuaGFuc3NvbkBsaW5hcm8ub3JnPg0KPiA+ID4gU2VudDogVHVlc2RheSwgRGVj ZW1iZXIgMjEsIDIwMjEgODo1MSBQTQ0KPiA+ID4gVG86IFJpY2t5IFdVIDxyaWNreV93dUByZWFs dGVrLmNvbT4NCj4gPiA+IENjOiB0b21teWhlYmJAZ21haWwuY29tOyBsaW51eC1tbWNAdmdlci5r ZXJuZWwub3JnOw0KPiA+ID4gbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZw0KPiA+ID4gU3Vi amVjdDogUmU6IFtQQVRDSCB2M10gbW1jOiBydHN4OiBpbXByb3ZlIHBlcmZvcm1hbmNlIGZvciBt dWx0aQ0KPiA+ID4gYmxvY2sgcncNCj4gPiA+DQo+ID4gPiBPbiBUdWUsIDIxIERlYyAyMDIxIGF0 IDEzOjI0LCBSaWNreSBXVSA8cmlja3lfd3VAcmVhbHRlay5jb20+IHdyb3RlOg0KPiA+ID4gPg0K PiA+ID4gPiBJbXByb3ZpbmcgcGVyZm9ybWFuY2UgZm9yIHRoZSBDTUQgaXMgbXVsdGktYmxvY2sg cmVhZC93cml0ZSBhbmQNCj4gPiA+ID4gdGhlIGRhdGEgaXMgc2VxdWVudGlhbC4NCj4gPiA+ID4g c2RfY2hlY2tfbXVsdGlfc2VxKCkgdG8gZGlzdGluZ3Vpc2ggbXVsdGktYmxvY2sgUlcgKENNRCAx OC8yNSkgb3INCj4gPiA+ID4gbm9ybWFsIFJXIChDTUQgMTcvMjQpIGlmIHRoZSBDTUQgaXMgbXVs dGktYmxvY2sgYW5kIHRoZSBkYXRhIGlzDQo+ID4gPiA+IHNlcXVlbnRpYWwgdGhlbiBjYWxsIHRv IHNkX3J3X211bHRpX3NlcSgpDQo+ID4gPiA+DQo+ID4gPiA+IFRoaXMgcGF0Y2ggbWFpbmx5IHRv IGNvbnRyb2wgdGhlIHRpbWluZyBvZiByZXBseSBhdCBDTUQgMTIvMTMuDQo+ID4gPiA+IE9yaWdp bmFsbHkgY29kZSBkcml2ZXIgcmVwbHkgQ01EIDEyLzEzIGF0IGV2ZXJ5IFJXIChDTUQgMTgvMjUp Lg0KPiA+ID4gPiBUaGUgbmV3IGNvZGUgdG8gZGlzdGluZ3Vpc2ggbXVsdGktYmxvY2sgUlcoQ01E IDE4LzI1KSBhbmQgdGhlIGRhdGENCj4gPiA+ID4gaXMgc2VxdWVudGlhbCBvciBub3QsIGlmIHRo ZSBkYXRhIGlzIHNlcXVlbnRpYWwgUlcgZHJpdmVyIGRvIG5vdA0KPiA+ID4gPiBzZW5kIENNRA0K PiA+ID4gPiAxMiBhbmQgYnlwYXNzIENNRCAxMyB1bnRpbCB3YWl0IHRoZSBkaWZmZXJlbnQgZGly ZWN0aW9uIFJXIENNRCBvcg0KPiA+ID4gPiB0cmlnZ2VyIHRoZSBkZWxheV93b3JrIHRvIHNlbnQg Q01EIDEyLg0KPiA+ID4gPg0KPiA+ID4gPiBydW4gYmVuY2htYXJrIHJlc3VsdCBhcyBiZWxvdzoN Cj4gPiA+ID4gU0QgQ2FyZCA6IFNhbXN1bWcgUHJvIFBsdXMgMTI4R0INCj4gPiA+ID4gTnVtYmVy IG9mIFNhbXBsZXM6MTAwLCBTYW1wbGUgU2l6ZToxME1CIDxCZWZvcmU+IFJlYWQgOiA4Ni45IE1C L3MsDQo+ID4gPiA+IFdyaXRlIDogMzguMyBNQi9zIDxBZnRlcj4gIFJlYWQgOiA5MS41IE1CL3Ms IFdyaXRlIDogNTUuNSBNQi9zDQo+ID4gPg0KPiA+ID4gQSBtdWNoIG5pY2VyIGNvbW1pdCBtZXNz YWdlLCB0aGFua3MgYSBsb3QhIFdvdWxkIHlvdSBtaW5kIHJ1bm5pbmcNCj4gPiA+IHNvbWUgYWRk aXRpb25hbCB0ZXN0cywgbGlrZSByYW5kb20gSS9PIHJlYWQvd3JpdGVzPw0KPiA+ID4NCj4gPiA+ IEFsc28sIHBsZWFzZSBzcGVjaWZ5IHRoZSBiZW5jaG1hcmsgdG9vbCBhbmQgY29tbWFuZCB5b3Ug YXJlIHVzaW5nLg0KPiA+ID4gSW4gdGhlIG1lYW50aW1lLCBJIHdpbGwgY29udGludWUgdG8gbG9v ayBhdCB0aGUgY29kZS4NCj4gPiA+DQo+ID4NCj4gPiBUaGUgVG9vbCBqdXN0IHVzZSBVYnVudHUg aW50ZXJuYWwgR1VJIGJlbmNobWFyayBUb29sIGluIHRoZSAiRGlza3MiDQo+ID4gYW5kIHRoZSBU b29sIGRvbid0IGhhdmUgcmFuZG9tIEkvTyB0byBjaG9pY2UuLi4NCj4gPg0KPiA+IERvIHlvdSBo YXZlIGFueSBzdWdnZXN0aW9uIGZvciB0ZXN0aW5nIHJhbmRvbSBJL08gQnV0IHdlIHRoaW5rIHJh bmRvbQ0KPiA+IEkvTyB3aWxsIG5vdCBjaGFuZ2UgbXVjaA0KPiANCj4gSSB3b3VsZCBwcm9iYWJs eSBsb29rIGludG8gdXNpbmcgZmlvLCBodHRwczovL2Zpby5yZWFkdGhlZG9jcy5pby9lbi9sYXRl c3QvDQo+IA0KDQpGaWxsZWQgcmFuZG9tIEkvTyBkYXRhDQpCZWZvcmUgdGhlIHBhdGNoOg0KQ01E IChSYW5kcmVhZCk6DQpzdWRvIGZpbyAtZmlsZW5hbWU9L2Rldi9tbWNibGswIC1kaXJlY3Q9MSAt bnVtam9icz0xIC10aHJlYWQgLWdyb3VwX3JlcG9ydGluZyAtaW9lbmdpbmU9cHN5bmMgLWlvZGVw dGg9MSAtc2l6ZT0xRyAtbmFtZT1teXRlc3QgLWJzPTFNIC1ydz1yYW5kcmVhZA0KDQpteXRlc3Q6 IChnPTApOiBydz1yYW5kcmVhZCwgYnM9KFIpIDEwMjRLaUItMTAyNEtpQiwgKFcpIDEwMjRLaUIt MTAyNEtpQiwgKFQpIDEwMjRLaUItMTAyNEtpQiwgaW9lbmdpbmU9cHN5bmMsIGlvZGVwdGg9MQ0K ZmlvLTMuMTYNClN0YXJ0aW5nIDEgdGhyZWFkDQpKb2JzOiAxIChmPTEpOiBbcigxKV1bMTAwLjAl XVtyPTg2LjBNaUIvc11bcj04NiBJT1BTXVtldGEgMDBtOjAwc10NCm15dGVzdDogKGdyb3VwaWQ9 MCwgam9icz0xKTogZXJyPSAwOiBwaWQ9MjY2MzogRnJpIERlYyAyNCAxNDoyODozMyAyMDIxDQog IHJlYWQ6IElPUFM9ODUsIEJXPTg1LjFNaUIvcyAoODkuM01CL3MpKDEwMjRNaUIvMTIwMjZtc2Vj KQ0KICAgIGNsYXQgKHVzZWMpOiBtaW49MTEyNTMsIG1heD0zNDU3OSwgYXZnPTExNzM1LjU3LCBz dGRldj03NDIuMTYNCiAgICAgbGF0ICh1c2VjKTogbWluPTExMjU0LCBtYXg9MzQ1ODAsIGF2Zz0x MTczNi4zNCwgc3RkZXY9NzQyLjE2DQogICAgY2xhdCBwZXJjZW50aWxlcyAodXNlYyk6DQogICAg IHwgIDEuMDB0aD1bMTEzMzhdLCAgNS4wMHRoPVsxMTQ2OV0sIDEwLjAwdGg9WzExNjAwXSwgMjAu MDB0aD1bMTE2MDBdLA0KICAgICB8IDMwLjAwdGg9WzExNjAwXSwgNDAuMDB0aD1bMTE2MDBdLCA1 MC4wMHRoPVsxMTczMV0sIDYwLjAwdGg9WzExNzMxXSwNCiAgICAgfCA3MC4wMHRoPVsxMTg2M10s IDgwLjAwdGg9WzExODYzXSwgOTAuMDB0aD1bMTE4NjNdLCA5NS4wMHRoPVsxMTg2M10sDQogICAg IHwgOTkuMDB0aD1bMTE4NjNdLCA5OS41MHRoPVsxMjUxOF0sIDk5LjkwdGg9WzE1NjY0XSwgOTku OTV0aD1bMzQzNDFdLA0KICAgICB8IDk5Ljk5dGg9WzM0MzQxXQ0KICAgYncgKCAgS2lCL3MpOiBt aW49ODE5MjAsIG1heD04ODA2NCwgcGVyPTk5LjkxJSwgYXZnPTg3MTEwLjY3LCBzdGRldj0xNDY3 LjgxLCBzYW1wbGVzPTI0DQogICBpb3BzICAgICAgICA6IG1pbj0gICA4MCwgbWF4PSAgIDg2LCBh dmc9ODUuMDAsIHN0ZGV2PSAxLjQxLCBzYW1wbGVzPTI0DQogIGxhdCAobXNlYykgICA6IDIwPTk5 LjkwJSwgNTA9MC4xMCUNCiAgY3B1ICAgICAgICAgIDogdXNyPTAuMTclLCBzeXM9MS4yNiUsIGN0 eD0yMDQ4LCBtYWpmPTAsIG1pbmY9MjU2DQogIElPIGRlcHRocyAgICA6IDE9MTAwLjAlLCAyPTAu MCUsIDQ9MC4wJSwgOD0wLjAlLCAxNj0wLjAlLCAzMj0wLjAlLCA+PTY0PTAuMCUNCiAgICAgc3Vi bWl0ICAgIDogMD0wLjAlLCA0PTEwMC4wJSwgOD0wLjAlLCAxNj0wLjAlLCAzMj0wLjAlLCA2ND0w LjAlLCA+PTY0PTAuMCUNCiAgICAgY29tcGxldGUgIDogMD0wLjAlLCA0PTEwMC4wJSwgOD0wLjAl LCAxNj0wLjAlLCAzMj0wLjAlLCA2ND0wLjAlLCA+PTY0PTAuMCUNCiAgICAgaXNzdWVkIHJ3dHM6 IHRvdGFsPTEwMjQsMCwwLDAgc2hvcnQ9MCwwLDAsMCBkcm9wcGVkPTAsMCwwLDANCiAgICAgbGF0 ZW5jeSAgIDogdGFyZ2V0PTAsIHdpbmRvdz0wLCBwZXJjZW50aWxlPTEwMC4wMCUsIGRlcHRoPTEN Cg0KUnVuIHN0YXR1cyBncm91cCAwIChhbGwgam9icyk6DQogICBSRUFEOiBidz04NS4xTWlCL3Mg KDg5LjNNQi9zKSwgODUuMU1pQi9zLTg1LjFNaUIvcyAoODkuM01CL3MtODkuM01CL3MpLCBpbz0x MDI0TWlCICgxMDc0TUIpLCBydW49MTIwMjYtMTIwMjZtc2VjDQoNCkRpc2sgc3RhdHMgKHJlYWQv d3JpdGUpOg0KICBtbWNibGswOiBpb3M9MjAyNi8wLCBtZXJnZT0wLzAsIHRpY2tzPTE3NjEyLzAs IGluX3F1ZXVlPTE3NjEyLCB1dGlsPTk5LjIzJQ0KDQpDTUQgKFJhbmR3cml0ZSk6DQpzdWRvIGZp byAtZmlsZW5hbWU9L2Rldi9tbWNibGswIC1kaXJlY3Q9MSAtbnVtam9icz0xIC10aHJlYWQgLWdy b3VwX3JlcG9ydGluZyAtaW9lbmdpbmU9cHN5bmMgLWlvZGVwdGg9MSAtc2l6ZT0xRyAtbmFtZT1t eXRlc3QgLWJzPTFNIC1ydz1yYW5kd3JpdGUNCg0KbXl0ZXN0OiAoZz0wKTogcnc9cmFuZHdyaXRl LCBicz0oUikgMTAyNEtpQi0xMDI0S2lCLCAoVykgMTAyNEtpQi0xMDI0S2lCLCAoVCkgMTAyNEtp Qi0xMDI0S2lCLCBpb2VuZ2luZT1wc3luYywgaW9kZXB0aD0xDQpmaW8tMy4xNg0KU3RhcnRpbmcg MSB0aHJlYWQNCkpvYnM6IDEgKGY9MSk6IFt3KDEpXVsxMDAuMCVdW3c9NDEuME1pQi9zXVt3PTQx IElPUFNdW2V0YSAwMG06MDBzXQ0KbXl0ZXN0OiAoZ3JvdXBpZD0wLCBqb2JzPTEpOiBlcnI9IDA6 IHBpZD0yNzM4OiBGcmkgRGVjIDI0IDE0OjMwOjA1IDIwMjENCiAgd3JpdGU6IElPUFM9MzgsIEJX PTM4LjRNaUIvcyAoNDAuMk1CL3MpKDEwMjRNaUIvMjY2OTVtc2VjKTsgMCB6b25lIHJlc2V0cw0K ICAgIGNsYXQgKHVzZWMpOiBtaW49MTg4NjIsIG1heD05NDcwOCwgYXZnPTI1OTkwLjM0LCBzdGRl dj05MjI3LjIyDQogICAgIGxhdCAodXNlYyk6IG1pbj0xODkxMCwgbWF4PTk0NzgxLCBhdmc9MjYw NjEuOTEsIHN0ZGV2PTkyMjguMDQNCiAgICBjbGF0IHBlcmNlbnRpbGVzICh1c2VjKToNCiAgICAg fCAgMS4wMHRoPVsyMDU3OV0sICA1LjAwdGg9WzIyNDE0XSwgMTAuMDB0aD1bMjI2NzZdLCAyMC4w MHRoPVsyMjkzOF0sDQogICAgIHwgMzAuMDB0aD1bMjMyMDBdLCA0MC4wMHRoPVsyMzQ2Ml0sIDUw LjAwdGg9WzIzNDYyXSwgNjAuMDB0aD1bMjM3MjVdLA0KICAgICB8IDcwLjAwdGg9WzIzNzI1XSwg ODAuMDB0aD1bMjM5ODddLCA5MC4wMHRoPVsyNDc3M10sIDk1LjAwdGg9WzU2MzYxXSwNCiAgICAg fCA5OS4wMHRoPVs1OTUwN10sIDk5LjUwdGg9WzY0MjI2XSwgOTkuOTB0aD1bODY1MDhdLCA5OS45 NXRoPVs5NDg5N10sDQogICAgIHwgOTkuOTl0aD1bOTQ4OTddDQogICBidyAoICBLaUIvcyk6IG1p bj0yNDU3NiwgbWF4PTQzMDA4LCBwZXI9OTkuODUlLCBhdmc9MzkyMjEuMTMsIHN0ZGV2PTM4NjAu NzQsIHNhbXBsZXM9NTMNCiAgIGlvcHMgICAgICAgIDogbWluPSAgIDI0LCBtYXg9ICAgNDIsIGF2 Zz0zOC4zMCwgc3RkZXY9IDMuNzcsIHNhbXBsZXM9NTMNCiAgbGF0IChtc2VjKSAgIDogMjA9MC45 OCUsIDUwPTkyLjM4JSwgMTAwPTYuNjQlDQogIGNwdSAgICAgICAgICA6IHVzcj0wLjUwJSwgc3lz PTAuMzElLCBjdHg9MTAyNCwgbWFqZj0wLCBtaW5mPTANCiAgSU8gZGVwdGhzICAgIDogMT0xMDAu MCUsIDI9MC4wJSwgND0wLjAlLCA4PTAuMCUsIDE2PTAuMCUsIDMyPTAuMCUsID49NjQ9MC4wJQ0K ICAgICBzdWJtaXQgICAgOiAwPTAuMCUsIDQ9MTAwLjAlLCA4PTAuMCUsIDE2PTAuMCUsIDMyPTAu MCUsIDY0PTAuMCUsID49NjQ9MC4wJQ0KICAgICBjb21wbGV0ZSAgOiAwPTAuMCUsIDQ9MTAwLjAl LCA4PTAuMCUsIDE2PTAuMCUsIDMyPTAuMCUsIDY0PTAuMCUsID49NjQ9MC4wJQ0KICAgICBpc3N1 ZWQgcnd0czogdG90YWw9MCwxMDI0LDAsMCBzaG9ydD0wLDAsMCwwIGRyb3BwZWQ9MCwwLDAsMA0K ICAgICBsYXRlbmN5ICAgOiB0YXJnZXQ9MCwgd2luZG93PTAsIHBlcmNlbnRpbGU9MTAwLjAwJSwg ZGVwdGg9MQ0KDQpSdW4gc3RhdHVzIGdyb3VwIDAgKGFsbCBqb2JzKToNCiAgV1JJVEU6IGJ3PTM4 LjRNaUIvcyAoNDAuMk1CL3MpLCAzOC40TWlCL3MtMzguNE1pQi9zICg0MC4yTUIvcy00MC4yTUIv cyksIGlvPTEwMjRNaUIgKDEwNzRNQiksIHJ1bj0yNjY5NS0yNjY5NW1zZWMNCg0KRGlzayBzdGF0 cyAocmVhZC93cml0ZSk6DQogIG1tY2JsazA6IGlvcz01Mi8yMDQzLCBtZXJnZT0wLzAsIHRpY2tz PTgxLzM5ODc0LCBpbl9xdWV1ZT0zOTk1NiwgdXRpbD05OS45MCUNCg0KDQpBZnRlciB0aGUgcGF0 Y2g6DQoNCkNNRCAoUmFuZHJlYWQpOg0Kc3VkbyBmaW8gLWZpbGVuYW1lPS9kZXYvbW1jYmxrMCAt ZGlyZWN0PTEgLW51bWpvYnM9MSAtdGhyZWFkIC1ncm91cF9yZXBvcnRpbmcgLWlvZW5naW5lPXBz eW5jIC1pb2RlcHRoPTEgLXNpemU9MUcgLW5hbWU9bXl0ZXN0IC1icz0xTSAtcnc9cmFuZHJlYWQN Cg0KbXl0ZXN0OiAoZz0wKTogcnc9cmFuZHJlYWQsIGJzPShSKSAxMDI0S2lCLTEwMjRLaUIsIChX KSAxMDI0S2lCLTEwMjRLaUIsIChUKSAxMDI0S2lCLTEwMjRLaUIsIGlvZW5naW5lPXBzeW5jLCBp b2RlcHRoPTENCmZpby0zLjE2DQpTdGFydGluZyAxIHRocmVhZA0KSm9iczogMSAoZj0xKTogW3Io MSldWzEwMC4wJV1bcj04Ny4wTWlCL3NdW3I9ODcgSU9QU11bZXRhIDAwbTowMHNdDQpteXRlc3Q6 IChncm91cGlkPTAsIGpvYnM9MSk6IGVycj0gMDogcGlkPTExNjE0OiBGcmkgRGVjIDI0IDE0OjA3 OjA2IDIwMjENCiAgcmVhZDogSU9QUz04NiwgQlc9ODYuNk1pQi9zICg5MC44TUIvcykoMTAyNE1p Qi8xMTgyOG1zZWMpDQogICAgY2xhdCAodXNlYyk6IG1pbj0xMTA2OCwgbWF4PTMyNDIzLCBhdmc9 MTE1NDMuMTIsIHN0ZGV2PTczMy44Ng0KICAgICBsYXQgKHVzZWMpOiBtaW49MTEwNjksIG1heD0z MjQyNCwgYXZnPTExNTQzLjg1LCBzdGRldj03MzMuODcNCiAgICBjbGF0IHBlcmNlbnRpbGVzICh1 c2VjKToNCiAgICAgfCAgMS4wMHRoPVsxMTA3Nl0sICA1LjAwdGg9WzExMzM4XSwgMTAuMDB0aD1b MTE0NjldLCAyMC4wMHRoPVsxMTQ2OV0sDQogICAgIHwgMzAuMDB0aD1bMTE0NjldLCA0MC4wMHRo PVsxMTQ2OV0sIDUwLjAwdGg9WzExNDY5XSwgNjAuMDB0aD1bMTE2MDBdLA0KICAgICB8IDcwLjAw dGg9WzExNjAwXSwgODAuMDB0aD1bMTE2MDBdLCA5MC4wMHRoPVsxMTYwMF0sIDk1LjAwdGg9WzEx NjAwXSwNCiAgICAgfCA5OS4wMHRoPVsxMTYwMF0sIDk5LjUwdGg9WzExNzMxXSwgOTkuOTB0aD1b MjE2MjddLCA5OS45NXRoPVszMjM3NV0sDQogICAgIHwgOTkuOTl0aD1bMzIzNzVdDQogICBidyAo ICBLaUIvcyk6IG1pbj04Mzk2OCwgbWF4PTkwMTEyLCBwZXI9OTkuOTQlLCBhdmc9ODg1OTguMjYs IHN0ZGV2PTE0MTAuNDYsIHNhbXBsZXM9MjMNCiAgIGlvcHMgICAgICAgIDogbWluPSAgIDgyLCBt YXg9ICAgODgsIGF2Zz04Ni41Miwgc3RkZXY9IDEuMzgsIHNhbXBsZXM9MjMNCiAgbGF0IChtc2Vj KSAgIDogMjA9OTkuODAlLCA1MD0wLjIwJQ0KICBjcHUgICAgICAgICAgOiB1c3I9MC4wOSUsIHN5 cz0xLjQwJSwgY3R4PTIwNDgsIG1hamY9MCwgbWluZj0yNTYNCiAgSU8gZGVwdGhzICAgIDogMT0x MDAuMCUsIDI9MC4wJSwgND0wLjAlLCA4PTAuMCUsIDE2PTAuMCUsIDMyPTAuMCUsID49NjQ9MC4w JQ0KICAgICBzdWJtaXQgICAgOiAwPTAuMCUsIDQ9MTAwLjAlLCA4PTAuMCUsIDE2PTAuMCUsIDMy PTAuMCUsIDY0PTAuMCUsID49NjQ9MC4wJQ0KICAgICBjb21wbGV0ZSAgOiAwPTAuMCUsIDQ9MTAw LjAlLCA4PTAuMCUsIDE2PTAuMCUsIDMyPTAuMCUsIDY0PTAuMCUsID49NjQ9MC4wJQ0KICAgICBp c3N1ZWQgcnd0czogdG90YWw9MTAyNCwwLDAsMCBzaG9ydD0wLDAsMCwwIGRyb3BwZWQ9MCwwLDAs MA0KICAgICBsYXRlbmN5ICAgOiB0YXJnZXQ9MCwgd2luZG93PTAsIHBlcmNlbnRpbGU9MTAwLjAw JSwgZGVwdGg9MQ0KDQpSdW4gc3RhdHVzIGdyb3VwIDAgKGFsbCBqb2JzKToNCiAgIFJFQUQ6IGJ3 PTg2LjZNaUIvcyAoOTAuOE1CL3MpLCA4Ni42TWlCL3MtODYuNk1pQi9zICg5MC44TUIvcy05MC44 TUIvcyksIGlvPTEwMjRNaUIgKDEwNzRNQiksIHJ1bj0xMTgyOC0xMTgyOG1zZWMNCg0KRGlzayBz dGF0cyAocmVhZC93cml0ZSk6DQogIG1tY2JsazA6IGlvcz0yMDE2LzAsIG1lcmdlPTAvMCwgdGlj a3M9MTczOTcvMCwgaW5fcXVldWU9MTczOTcsIHV0aWw9OTkuMjElDQoNCkNNRCAoUmFuZHdyaXRl KToNCnN1ZG8gZmlvIC1maWxlbmFtZT0vZGV2L21tY2JsazAgLWRpcmVjdD0xIC1udW1qb2JzPTEg LXRocmVhZCAtZ3JvdXBfcmVwb3J0aW5nIC1pb2VuZ2luZT1wc3luYyAtaW9kZXB0aD0xIC1zaXpl PTFHIC1uYW1lPW15dGVzdCAtYnM9MU0gLXJ3PXJhbmR3cml0ZQ0KDQpteXRlc3Q6IChnPTApOiBy dz1yYW5kd3JpdGUsIGJzPShSKSAxMDI0S2lCLTEwMjRLaUIsIChXKSAxMDI0S2lCLTEwMjRLaUIs IChUKSAxMDI0S2lCLTEwMjRLaUIsIGlvZW5naW5lPXBzeW5jLCBpb2RlcHRoPTENCmZpby0zLjE2 DQpTdGFydGluZyAxIHRocmVhZA0KSm9iczogMSAoZj0xKTogW3coMSldWzEwMC4wJV1bdz01MC4w TWlCL3NdW3c9NTAgSU9QU11bZXRhIDAwbTowMHNdDQpteXRlc3Q6IChncm91cGlkPTAsIGpvYnM9 MSk6IGVycj0gMDogcGlkPTExNjY4OiBGcmkgRGVjIDI0IDE0OjA4OjM2IDIwMjENCiAgd3JpdGU6 IElPUFM9MzksIEJXPTM5LjNNaUIvcyAoNDEuMk1CL3MpKDEwMjRNaUIvMjYwNTltc2VjKTsgMCB6 b25lIHJlc2V0cw0KICAgIGNsYXQgKG1zZWMpOiBtaW49MTYsIG1heD0xMTgsIGF2Zz0yNS4zNywg c3RkZXY9MTYuMzQNCiAgICAgbGF0IChtc2VjKTogbWluPTE2LCBtYXg9MTE4LCBhdmc9MjUuNDQs IHN0ZGV2PTE2LjM0DQogICAgY2xhdCBwZXJjZW50aWxlcyAobXNlYyk6DQogICAgIHwgIDEuMDB0 aD1bICAgMTddLCAgNS4wMHRoPVsgICAyMF0sIDEwLjAwdGg9WyAgIDIwXSwgMjAuMDB0aD1bICAg MjBdLA0KICAgICB8IDMwLjAwdGg9WyAgIDIwXSwgNDAuMDB0aD1bICAgMjBdLCA1MC4wMHRoPVsg ICAyMF0sIDYwLjAwdGg9WyAgIDIwXSwNCiAgICAgfCA3MC4wMHRoPVsgICAyMV0sIDgwLjAwdGg9 WyAgIDIxXSwgOTAuMDB0aD1bICAgNTJdLCA5NS4wMHRoPVsgICA3NV0sDQogICAgIHwgOTkuMDB0 aD1bICAgNzhdLCA5OS41MHRoPVsgIDEwNF0sIDk5LjkwdGg9WyAgMTE0XSwgOTkuOTV0aD1bICAx MjBdLA0KICAgICB8IDk5Ljk5dGg9WyAgMTIwXQ0KICAgYncgKCAgS2lCL3MpOiBtaW49MjA0ODAs IG1heD01MTIwMCwgcGVyPTk5LjkzJSwgYXZnPTQwMjExLjY5LCBzdGRldj0xMDQ5OC4wMCwgc2Ft cGxlcz01Mg0KICAgaW9wcyAgICAgICAgOiBtaW49ICAgMjAsIG1heD0gICA1MCwgYXZnPTM5LjI3 LCBzdGRldj0xMC4yNSwgc2FtcGxlcz01Mg0KICBsYXQgKG1zZWMpICAgOiAyMD03Mi45NSUsIDUw PTE2LjgwJSwgMTAwPTkuNTclLCAyNTA9MC42OCUNCiAgY3B1ICAgICAgICAgIDogdXNyPTAuNDEl LCBzeXM9MC4zOCUsIGN0eD0xMDI0LCBtYWpmPTAsIG1pbmY9MA0KICBJTyBkZXB0aHMgICAgOiAx PTEwMC4wJSwgMj0wLjAlLCA0PTAuMCUsIDg9MC4wJSwgMTY9MC4wJSwgMzI9MC4wJSwgPj02ND0w LjAlDQogICAgIHN1Ym1pdCAgICA6IDA9MC4wJSwgND0xMDAuMCUsIDg9MC4wJSwgMTY9MC4wJSwg MzI9MC4wJSwgNjQ9MC4wJSwgPj02ND0wLjAlDQogICAgIGNvbXBsZXRlICA6IDA9MC4wJSwgND0x MDAuMCUsIDg9MC4wJSwgMTY9MC4wJSwgMzI9MC4wJSwgNjQ9MC4wJSwgPj02ND0wLjAlDQogICAg IGlzc3VlZCByd3RzOiB0b3RhbD0wLDEwMjQsMCwwIHNob3J0PTAsMCwwLDAgZHJvcHBlZD0wLDAs MCwwDQogICAgIGxhdGVuY3kgICA6IHRhcmdldD0wLCB3aW5kb3c9MCwgcGVyY2VudGlsZT0xMDAu MDAlLCBkZXB0aD0xDQoNClJ1biBzdGF0dXMgZ3JvdXAgMCAoYWxsIGpvYnMpOg0KICBXUklURTog Ync9MzkuM01pQi9zICg0MS4yTUIvcyksIDM5LjNNaUIvcy0zOS4zTWlCL3MgKDQxLjJNQi9zLTQx LjJNQi9zKSwgaW89MTAyNE1pQiAoMTA3NE1CKSwgcnVuPTI2MDU5LTI2MDU5bXNlYw0KDQpEaXNr IHN0YXRzIChyZWFkL3dyaXRlKToNCiAgbW1jYmxrMDogaW9zPTUxLzIwMzEsIG1lcmdlPTAvMCwg dGlja3M9ODQvNDAwNjEsIGluX3F1ZXVlPTQwMTQ0LCB1dGlsPTk5Ljg5JQ0KDQpCUiwNClJpY2t5 DQoNCj4gQW5vdGhlciBvcHRpb24gdGhhdCBJIHVzZSBmcmVxdWVudGx5IGlzIGlvem9uZSwgaHR0 cHM6Ly93d3cuaW96b25lLm9yZy4NCj4gSGVyZSdzIGEgY29tbWFuZCBsaW5lIHRoYXQgSSBvZnRl biB1c2UgZm9yIGlvem9uZSAuL2lvem9uZSAtYXogLWkwIC1pMSAtcyAyMG0gLXkNCj4gMTZrIC1x IDRtIC1JIC1mIC9tbnQvc2RjYXJkL2lvem9uZS50bXAgLWUNCj4gDQo+IFsuLi5dDQo+IA0KPiBL aW5kIHJlZ2FyZHMNCj4gVWZmZQ0KPiAtLS0tLS1QbGVhc2UgY29uc2lkZXIgdGhlIGVudmlyb25t ZW50IGJlZm9yZSBwcmludGluZyB0aGlzIGUtbWFpbC4NCg==