From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2052.outbound.protection.outlook.com [40.107.244.52]) by sourceware.org (Postfix) with ESMTPS id 7DC903858032 for ; Mon, 31 Jan 2022 14:34:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7DC903858032 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=exnMkn9bmr3ZicS/X0ebzRBk83Ys8viqx7us9RyynuTBxHy1gXKX2ODbeAtON4ENSRRN4D7DocjwLIb0K6HUz2ohMl9fP2fX3UZCQ0tavk8bmGvAqDouCzh4fDMmy5eJsa/3NUW2jzWONQ1UIOHbb9nvg204dmH/ENeJysbHqvdzfaZagzIv1R26Lyc5x3vhd5LXrrcx4GaaVb5mFZrt7J+MKBgKO+AlIQw6HGFtN13uXA5nHuaNG5uDIrNaTYONKlI0VhQIlDps7bxwqpUqRHJcWW3KruVQpP+psultTxo5Fdu7bUcghWozLYE90RCJj6YJd8qk677z3elNWK3KHg== 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=Y2CXVXqhvv4baQOrrobJ8fh5IDlIUsk1b4FxuBTh0Jk=; b=YemEGrZfmkRzUPTs4wp9B1zGPm+rwlU4C3OlKJPpseLGYez3rTxsjhUNgwnqWaGW4B7MNu+E00uqBXesNJ1FB9zqx82q5jqt/MBLQwB30wBBILpfQhcHxFr5CPBzBkKZhZgHxmWKK+fQKkmGsbAs5y2PJTdUC3ts5AMN7/nFiuUjTzaknHm3zCq6rxkucI/osEy1I6HKiZwCWx/RUzSUmX3RJ0Kwh+RVNYsOcL1kRgaleP0sba7CZpmUQZQbQEljpdF/nY/5KcC8UFy6G4AObjyohswv7i6jKJtXUJN9VIDT9HE+qgA7BHqfbmv9hABt2JPLTxWKXHgZsQPeIFUKBQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from PH0PR12MB5452.namprd12.prod.outlook.com (2603:10b6:510:d7::16) by DM6PR12MB2810.namprd12.prod.outlook.com (2603:10b6:5:41::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Mon, 31 Jan 2022 14:34:34 +0000 Received: from PH0PR12MB5452.namprd12.prod.outlook.com ([fe80::c071:3b53:4a01:8b91]) by PH0PR12MB5452.namprd12.prod.outlook.com ([fe80::c071:3b53:4a01:8b91%5]) with mapi id 15.20.4930.022; Mon, 31 Jan 2022 14:34:33 +0000 From: "Six, Lancelot" To: Simon Marchi , Bruno Larsen , "gdb-patches@sourceware.org" CC: "lsix@lancelotsix.com" Subject: RE: [PATCH v2 2/2] gdb: Respect the DW_CC_nocall attribute Thread-Topic: [PATCH v2 2/2] gdb: Respect the DW_CC_nocall attribute Thread-Index: AQHYFFPaOkgyWFHIrUSeugLSM1mH56x9IcYAgAAMroCAAAQWIA== Date: Mon, 31 Jan 2022 14:34:33 +0000 Message-ID: References: <20220128142931.39750-1-lancelot.six@amd.com> <20220128142931.39750-3-lancelot.six@amd.com> <49c17cc9-fd06-31ea-b4f1-174c26b7eb9b@redhat.com> <310c1cc5-29c7-bfe5-0421-850df50dd8bf@polymtl.ca> In-Reply-To: <310c1cc5-29c7-bfe5-0421-850df50dd8bf@polymtl.ca> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_88914ebd-7e6c-4e12-a031-a9906be2db14_Enabled=true; MSIP_Label_88914ebd-7e6c-4e12-a031-a9906be2db14_SetDate=2022-01-31T14:34:31Z; MSIP_Label_88914ebd-7e6c-4e12-a031-a9906be2db14_Method=Standard; MSIP_Label_88914ebd-7e6c-4e12-a031-a9906be2db14_Name=AMD Official Use Only-AIP 2.0; MSIP_Label_88914ebd-7e6c-4e12-a031-a9906be2db14_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_88914ebd-7e6c-4e12-a031-a9906be2db14_ActionId=2437cde9-5724-4f7c-815b-1149dd4de4e9; MSIP_Label_88914ebd-7e6c-4e12-a031-a9906be2db14_ContentBits=1 msip_label_88914ebd-7e6c-4e12-a031-a9906be2db14_enabled: true msip_label_88914ebd-7e6c-4e12-a031-a9906be2db14_setdate: 2022-01-31T14:34:31Z msip_label_88914ebd-7e6c-4e12-a031-a9906be2db14_method: Standard msip_label_88914ebd-7e6c-4e12-a031-a9906be2db14_name: AMD Official Use Only-AIP 2.0 msip_label_88914ebd-7e6c-4e12-a031-a9906be2db14_siteid: 3dd8961f-e488-4e60-8e11-a82d994e183d msip_label_88914ebd-7e6c-4e12-a031-a9906be2db14_actionid: 1ff33768-b0a2-4d99-9f0e-051e5df9712d msip_label_88914ebd-7e6c-4e12-a031-a9906be2db14_contentbits: 0 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3f2df6d7-8d17-41b2-17fc-08d9e4c6ccc6 x-ms-traffictypediagnostic: DM6PR12MB2810:EE_ 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: SeOPekIlCeFIjRJjjTE/9Xb7UYCBoZzLG9J4weXI5NrtXjOkK0vFg3v3npETkxDB3CsbGF0GNMVNo1NWrEO9CBRcao5JIwxwmYwYaH1PmAaCLyvUx8mMGoRsnaPXlRtdyPKoiU2yjvAqQDOhxnhXQkotaXmsHYOKlLLnhDMFjn1P7FTuEWzThxVO6hEVdI2EJ/8ySdVEOush9lDa53+IIr915clwVAQGJ3ET5Z6XukyljBAFm2GyzsReCYEqoLrJ+RvwRxyODvwcZbnaftYhtN37dEAgttsSNgli9m67iNBgvMev2tppEhNbnkUStd9nRlVWnWj+Rjcx9HHigd9XHQhKa282/1AAzqxZEwqCozDcJA47zWhu/Gw6ekwsPNorV+b/zMohm9hsMisOIklnkStmLCGu2BLU0jEKamtrstqWgKxupx/gQPr9iPXDqOcMnSG8emnN98NLuOXwEm941zPYt1UPTYK/xC5kTFRTa53XZ4+P3hDWGCKifBsov8gRnCiQuCV4fCNz3EG4N6ncQNlrSzi2RDlY5utxFajYhdO6YV8bjer5/QM2M+wQptxdNL35GQNHtyIf+eaXAcLj5x70LlKWaxl8+bp+ytoKQuhszISkoPsLuAqhIaYYYrPis2ImzcOhY/lf3U8kdNGpfJGdY5P9cUNGu24/Pb/i33/3/7o0cJ8kgqgLOQturR1lWTrO4Q2OoUwolD+/NNsM9vh7ewesJ5h4w83+MEv3Y5dFzO3Ka+vEePbYx9fg4Sdx x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR12MB5452.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(52536014)(7696005)(6506007)(9686003)(76116006)(26005)(508600001)(5660300002)(316002)(71200400001)(186003)(110136005)(33656002)(8936002)(66556008)(86362001)(4326008)(8676002)(2906002)(66446008)(38100700002)(38070700005)(66476007)(122000001)(64756008)(83380400001)(55016003)(66946007)(20210929001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZmpMb0w4Ty9yeWJmY3pDWExDZTVNa2NUamFZTlYwRXJJYVdpbU54TXh2Qkx3?= =?utf-8?B?cE56aTlTbDRDYmlwekZOV1FvaDJRTUJHUXE4K3NoVnNDOVlTd3duK2xNS0Fn?= =?utf-8?B?b3VnaUNYU1JOdkpRK0pjWVBUZVdqTmVPalJPbEYyVWk4cmFLRFdJOCtwMWJ1?= =?utf-8?B?c0grU2cvY1RzK1A2QjQvay9KTVgrV1kvWExCNVVzOHJvdTlMN3VrdE83Y0RW?= =?utf-8?B?QU1xT25WU3VFSXFMMzFBbHo2YXB6dFFyME9uVFR0anIrUFY2Z2xJVDBNS09X?= =?utf-8?B?SjllNDFkT3cxaTl5VjZWZFVpd2FtS2FHS2dpaW5EZnhManhqOVA0Ukl0MTJ2?= =?utf-8?B?SzBtVmp4cGhTVjUvd2c3YlBZa283WEdaWGJiMERxSmljaXBhWHlleFl4eUJS?= =?utf-8?B?enJUbWs5TUVINHZLY3krZWo4ZHRTd3NkdHdaZ2tIcCttK3N2OFVtSmFRYTRo?= =?utf-8?B?M29VMzgyR3N4dVhEdE5hSmtQSzlPUEtHaFpteUlhV2lrc3ZJbDF3Q0VtWjFD?= =?utf-8?B?MU56MnV2QlRyN0d4b1hJKytQMUpVNVVsMWliRkpBWk9SSXM3N25DQ08zWmFC?= =?utf-8?B?TEJ0eUk5aDRIY0FDYjh3Ky9tK2V3cGxjTzJnUmJOS2FRd1FjR081bm4rbXBI?= =?utf-8?B?OXVIMWtxRmY1QmVXNzVqeityV0tMTUV6WldTVVlrME5sSklkRHB2TmY3Qk5a?= =?utf-8?B?R1B6UktIenhuMFVUS1JEUWo5VUtQZ1l5MFQxS2tZYlpsY3NhTjhNWjF6S1Vl?= =?utf-8?B?NUdOSXd1WlBISFRQZU5KMldCanAxVUpRN2FrLzFiN3F6cmhKKzRhTW52RElJ?= =?utf-8?B?T1JuV3NSQWsyOWRZd1hkS2NLOWZYWEFRMFRtazVTMzFtMnRSZFNlWUVLMncw?= =?utf-8?B?ektqNkJTY2tkeHNWcXZZRHVPMGhYR3NNUy9zRHlQRER2WW9NTG1CMjRVaGFs?= =?utf-8?B?dFllckVZaUI5MENjSTZMb3N6blhWTDBlOVVadVp1cWxJdUlsb2ZIZ2JBR2RV?= =?utf-8?B?V2RlSThla0NrMG02S2hwTmVVNlJ3bjM3dmdTZDNaMERZSUp1RldES2o2ZFhF?= =?utf-8?B?R2trVG1QQ2k1U3ZOZjNnYklyNWJ4b0dpNi90WGJYbnBxTTY1Mld2Z2tqVVJm?= =?utf-8?B?ZGRJZTZBQnczU09UNjJLVEpWcVVFQkw4K09lamh6MVVITlRkeE9MMVd2VWVG?= =?utf-8?B?dWRpL1hsWnFYUnhEUFZjYU5jNi82NStqeUYyVTVHdzNIV00xQzRneTFmZWhE?= =?utf-8?B?M3hrOUlReXltZFZzRE8ydEhWcXhvU0NqY04xUjRoY1JQUzJvK1dtd3JjM1FH?= =?utf-8?B?SzRMOTZ0WTAzSnJLTjBkMTlJMVdRWEMrbjFiZnJLMTNDMFVHOG4zTnkreUJi?= =?utf-8?B?NCtCTndmT0FYMlBnZW9lZkVKajQrSE9NejIyMUtRaTI1dFVnYjJtK0xpRU9G?= =?utf-8?B?dGZQR2Z0ZUl4VU9uSEJpMFhhNVdOSjdVcnp4cm4rL25DRWNHTkxxbG8vZXNm?= =?utf-8?B?YWlJRUt2dm44bm1PdVM4VVNFTGdZRHg0ZnkrL3AzMGNybW5haE5sRDVIVWpI?= =?utf-8?B?WGlCNG1XcE9wdzhhdW9pZHhKYnlvYmZYM3BoS1lxWkFmbXNjaXBRdnVhOEE4?= =?utf-8?B?V0ZEY3ZFQlE4akp5SE5UMEhTeGNSOFl5YS8wRU9OK2N2NlRyeTR6WCsrank4?= =?utf-8?B?WUM0UmIwUURKT2pFY1RUcE9najkrWndTMVRiU1dFVFJBTmlOdmZsei9iMUZy?= =?utf-8?B?NDBKZEFDNkYxRW43empQSHlwalYxQkEvNjMwMDN6QlM3UlMvRHJMK091Tm1E?= =?utf-8?B?aHNOMFlERm16SCtpV2xHSlZnaHMxS05YYlV1V0MxV3FpRFhMS0Y1UkhGU3R4?= =?utf-8?B?Tm11amYzL040OW5udzB3M0ZxQzJ5a2dZZG1PN3FqdG9Lay9NWFJOd2gvUWJx?= =?utf-8?B?Mi80QWkxYkkwdWZTcUN4bmZkMThsaHlJTUY4cDN0cVJZSmh4N2poTXpQTUVt?= =?utf-8?B?ay9tbkc3ZUtObklmTnNmYndWa3NwaHdhUFE3NThxY3cxVnRmSHY4UUVXRXpn?= =?utf-8?B?OGlaWmtPTFVTN29ZbXd6TXJ0UVVNV2pFMm5DYU11a1d4d05EOUpzdjVzeld6?= =?utf-8?B?M2dGYk5rZ3I4dXlGWVp3WDVLSlZoWEJ1bVJ2NUZiTlh5SGNHQ3N3b1VaaG1Q?= =?utf-8?B?WkE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR12MB5452.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3f2df6d7-8d17-41b2-17fc-08d9e4c6ccc6 X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 14:34:33.8107 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: jih6KuczCBO+4luA9T/UnYUGcBLqTFJlFFQp8Zr2vr2KoEAahT9ZQHGJf3RuQs7FjTDYRNaurgwEnuOGzL6Aog== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB2810 X-Spam-Status: No, score=-3.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Jan 2022 14:34:38 -0000 W0FNRCBPZmZpY2lhbCBVc2UgT25seV0NCg0KPiBTb21lIG1vcmUgY29tbWVudHMuDQo+DQo+IEdp dCBnYXZlIG1lIHRoaXMgd2FybmluZyB3aGVuIGFwcGx5aW5nLCBtYXliZSBzb21ldGhpbmcgdG8g Zml4Og0KPiANCj4gQXBwbHlpbmc6IGdkYjogUmVzcGVjdCB0aGUgRFdfQ0Nfbm9jYWxsIGF0dHJp YnV0ZQ0KPiAuZ2l0L3JlYmFzZS1hcHBseS9wYXRjaDoxNDg6IG5ldyBibGFuayBsaW5lIGF0IEVP Ri4NCj4gKw0KPiB3YXJuaW5nOiAxIGxpbmUgYWRkcyB3aGl0ZXNwYWNlIGVycm9ycy4NCg0KVGhh bmtzIGZvciBwb2ludGluZyB0aGlzIG91dCwgSSdsbCBsb29rIGludG8gaXQgYmVmb3JlIFYzLg0K DQo+Pj4gKyAgICAgIGlmIChmdW5hZGRyICE9IDApDQo+Pj4gKyAgICBmbmFtZSA9IGdldF9mdW5j dGlvbl9uYW1lIChmdW5hZGRyLCBidWYsIHNpemVvZiAoYnVmKSk7DQo+Pj4gKw0KPj4+ICsgICAg ICBpZiAoZm5hbWUgIT0gbnVsbHB0cikNCj4NCj4gTXkgdW5kZXJzdGFuZCBpcyB0aGF0IGZuYW1l IHdpbGwgYmUgbnVsbHB0ciBpZiBmdW5hZGRyIGlzIDAuICBDYW4geW91IGV4cGxhaW4gd2hlbiBm dW5hZGRyIGlzIDAsIGFuZCB3aGF0IHRoYXQgbWVhbnM/ICBKdXN0IHRyeWluZyB0byB1bmRlcnN0 YW5kIGhvdyB3ZSBjYW4gZ2V0IHRoZXJlLg0KDQpZZXMuDQoNCkkgZG8gbm90IHRoaW5rIHRoaXMg aXMgcG9zc2libGUsIGJ1dCBJIGFtIG5vdCBzdXJlIEkgY2FuIGd1YXJhbnR5IGl0ICgwIGlzIHN0 aWxsIGEgdmFsdWUgcmV0dXJuIHZhbHVlIG9mIHZhbHVlX2FkZHJlc3MpLiAgIEFueXdheSwgZ2l2 ZW4geW91ciBuZXh0IGNvbW1lbnQsIGlmIEkgY2FuIGdldCBhIHN5bWJvbCogZG93biB0byB0aGlz IHBvaW50IHRoaXMgcXVlc3Rpb24gd2lsbCBub3QgaGF2ZSB0byBiZSBhZGRyZXNzZWQsIGFuZCBp dCB3aWxsIHNpbXBsaWZ5IHRoaW5ncy4NCg0KPg0KPiBNeSBvdGhlciBjb21tZW50cyBhYm91dCB0 aGlzIHdvdWxkIGJlOg0KPg0KPiAtIE9uZSBjYWxsZXIgb2YgdGhpcyBjb21tYW5kLCBmaW5pc2hf Y29tbWFuZF9mc206OnNob3VsZF9zdG9wLCBzdGFydHMNCj4gICAgZnJvbSBhIHN0cnVjdCBzeW1i b2wuICBHZXR0aW5nIHRoZSBuYW1lIGZyb20gdGhhdCBpcyBlYXN5LCB5b3UgY2FuDQo+ICAgc2lt cGx5IGNhbGwgJ3ByaW50X25hbWUnIG9uIGl0IChhcyBzaG93biBieSB5b3VyIGNoYW5nZSBpbg0K PiAgIHJldHVybl9jb21tYW5kKS4NCj4gLSBUaGUgb3RoZXIgY2FsbGVyIG9mIGdldF9yZXR1cm5f dmFsdWUgaXMgYnBmaW5pc2hweV9wcmVfc3RvcF9ob29rLg0KPiAgIGJwZmluaXNocHlfcHJlX3N0 b3BfaG9vayBkb2VzIG5vdCBoYXZlIGFjY2VzcyB0byBhIHN0cnVjdCBzeW1ib2wNCj4gICBkaXJl Y3RseSwgYnV0IG1heWJlIGl0IGNvdWxkLCBpZiB3ZSBzYXZlZCB0aGUgc3ltYm9sIHVzZWQgdG8g c2V0DQo+ICAgZmluaXNoX2JyZWFrcG9pbnRfb2JqZWN0OjpmdW5jdGlvbl92YWx1ZSwgYnBmaW5p c2hweV9pbml0Lg0KPg0KPiBTbyBpZiB3ZSBjYW4gYWx3YXlzIGhhdmUgYWNjZXNzIHRvIHRoZSBz eW1ib2wgc29tZWhvdywgbWF5YmUgd2UgY2FuIGF2b2lkIHVzaW5nIGdldF9mdW5jdGlvbl9uYW1l IGluIGdldF9yZXR1cm5fdmFsdWUuDQoNClRoaXMgd2FzIG15IGZpcnN0IGFwcHJvYWNoIGFzIHdl bGwuICBIb3dldmVyLCBJIGRpZCB0aGlzIHRvIGF2b2lkIGRpdmluZyBpbnRvIGNoYW5naW5nIHRo ZSBweXRob24gc3R1ZmYgdG8gbWFrZSB0aGUgc3ltYm9sIGF2YWlsYWJsZSB0byBicGZpbmlzaHB5 X3ByZV9zdG9wX2hvb2suICBJJ2xsIGxvb2sgYSBiaXQgbW9yZSBhdCB3aGF0IGl0IHRha2VzIHRv IGhhdmUgdGhlIHN5bWJvbCBwYXNzZWQgZG93biB0byB0aGlzIHBvaW50LiAgVGhpcyBtaWdodCB2 ZXJ5IHdlbGwgYmUgZWFzaWVyIChhbmQgYXZvaWQgaGF2aW5nIHRvIHJlbHkgb24gdGhlIGZpcnN0 IHBhdGNoKS4NCg0KPj4+ICsgICAgd2FybmluZyAoXygiVGhlIGZ1bmN0aW9uICclcycgZG9lcyBu b3QgZm9sbG93IHRoZSB0YXJnZXQgY2FsbGluZyAiDQo+DQo+IEkgdGhpbmsgdGhhdCB3aGVuIG5h bWluZyB0aGUgdGhpbmcsIHlvdSBzaG91bGQgb21pdCB0aGUgIlRoZSIgaW4gZnJvbnQuDQo+IEZv ciBleGFtcGxlLCB5b3UnZCBzYXkgIlByZXNpZGVudCBCaWRlbiIsIG9yICJUaGUgcHJlc2lkZW50 IiwgYnV0IG5vdCAiVGhlIHByZXNpZGVudCBCaWRlbiIuICBNYXliZSBJJ20gd3JvbmcsIEknbSBu b3QgYSBuYXRpdmUgZW5nbGlzaCBzcGVha2VyLg0KDQpJIGFtIG5vIG5hdGl2ZSBFbmdsaXNoIHNw ZWFrZXIsIHNvIEkgZG8gbm90IGtub3cgd2hhdCB0aGUgcHJvcGVyIHdvcmRpbmcgaXMgZWl0aGVy IPCfmIkgSSdsbCB1cGRhdGUgdGhpcy4NCg0KVGhhbmtzIGZvciB0aGUgY29tbWVudCwNCkxhbmNl bG90Lg0KDQo+IFNpbW9uDQo=