From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: [External] : New key binding syntax Date: Mon, 8 Nov 2021 23:50:46 +0000 Message-ID: References: <20211004081724.6281.11798@vcs0.savannah.gnu.org> <838ryqftlh.fsf@gnu.org> <87zgr487cj.fsf@gnus.org> <875ytrzg13.fsf@posteo.net> <87bl3jjdfw.fsf@gnus.org> <87lf2mwl68.fsf@posteo.net> <874k99f8ev.fsf@gnus.org> <87sfwtrttu.fsf@posteo.net> <87mtn1cdbh.fsf@gnus.org> <87o87hrte4.fsf@posteo.net> <878rylccyi.fsf@gnus.org> <87fssssz57.fsf@posteo.net> <87v91oc49k.fsf@gnus.org> <877de2a746.fsf@gnus.org> <87lf2d5obc.fsf@gnus.org> <87ee82r8p0.fsf@gnus.org> <87v91dnsxg.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18370"; mail-complaints-to="usenet@ciao.gmane.io" To: "rms@gnu.org" , "emacs-devel@gnu.org" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Nov 09 00:51:54 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mkEQb-0004WU-VM for ged-emacs-devel@m.gmane-mx.org; Tue, 09 Nov 2021 00:51:54 +0100 Original-Received: from localhost ([::1]:60970 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mkEQa-00057U-1T for ged-emacs-devel@m.gmane-mx.org; Mon, 08 Nov 2021 18:51:52 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:43608) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mkEPg-0004Pg-Rr for emacs-devel@gnu.org; Mon, 08 Nov 2021 18:50:56 -0500 Original-Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:9294) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mkEPd-0001hB-JP; Mon, 08 Nov 2021 18:50:56 -0500 Original-Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 1A8MomJj019038; Mon, 8 Nov 2021 23:50:51 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2021-07-09; bh=fAObFiDx8N7YY8drneF2tOM4u/Z1WKRwzWhyOTrr3Xk=; b=oHFBE2HbDjlvdWUvm/S12Rd+K7/kGZ8yR+q0tudm3xPuDD39xOjfMMKof46I7tSr6u6U to432b2s9rlzJ6SrxMEsnsyIruIzm4QiSJepAIIENJFfPt1OILtDWVlcorXUck9RIw+R 5gKsNkoK8/B8dQLnvqD3xAQC1x23sCdiBdLB/zXaIq2S3ld+YKGGftyEcdj3qlHyi/Xo BdImeR7O5d5hR2ZInZ/YmFUagSZ2+5bG7zBcLTW+7qm59KbnTXaHVFuc7Wu6WZsPweME INBR+bCekytgLmY1uC1e4yqbc0ff97O9w5WhPmlEJKFt0N06T4Ik23Hjc0NWetLxOitw 6A== Original-Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by mx0b-00069f02.pphosted.com with ESMTP id 3c6sbk75ap-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 08 Nov 2021 23:50:50 +0000 Original-Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 1A8Nodk9078714; Mon, 8 Nov 2021 23:50:49 GMT Original-Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2047.outbound.protection.outlook.com [104.47.66.47]) by userp3020.oracle.com with ESMTP id 3c63fs3rra-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 08 Nov 2021 23:50:48 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bMccfmThLUdl4H1wgGFY65vrBkQtFqPBeSP6VlXnj2XkZ3K175qXKGWHz6mhmRAOQ0KLt0WEdHOZ83oRZiNsNwTCfhwPu5JdLlmw0rdaUBDTCayliUcdUGHOVJcS5hVx5yfCgseio+iQkyN/6bx3E4zqDwvXVEzKIIIAmtmpJZ4FWenC5XcRvAO4mG00c1nJJt/N9KdJ56610DrhhNsBCrD2blNiUn/uEBphOaAVh0kfbx83X/ZXhfn8vsyCFWkA5KST62+8wA9jLpx39vhK8Uxoj5qiZSfbvz6P2K6ZYGUBlu/MKjDXxCCOlbs1yEOwc3GPgxADTjK6dtWfVqH7Tw== 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=fAObFiDx8N7YY8drneF2tOM4u/Z1WKRwzWhyOTrr3Xk=; b=WcvXey1EkiVlnGfpMoKtFIaycU0gp7/i+J7wKBwZoiQC2dAfuA1JiRRUbJ/bw21HELIeEuHq4MjJJioiWjyNuq7QxyslknJqMX4wZvKoqxWieLu0qu0yil+pOr/QySKMrDxshwuVV574FzW0Tuek8z1gTWLcrCpkoeIAM3UojYP7dUj19OFhfU2LcYdZa4gPilNorLdI5zw4CduMj+t78iM0vcjChCCOCrTMvCU/KSIta+2OIikBly2K84RNbUIR4fZSRZbW6tRoCGUGb70Ll+pseU99uN1KntKG1t/zhjIvlSKEWSZkiCkC7iTqi90h2NM8jGHUR+J04Y7Mv4rDnw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fAObFiDx8N7YY8drneF2tOM4u/Z1WKRwzWhyOTrr3Xk=; b=taGpdMKIG3qaOfzcaVGMUuE+vQlYVQovXwy0tiUyzEzLomZ57MviagsuCTseq7a7V0amUVZ5dAuNNYfax3lBtM6edVzV0ueOIhhgcF7EJeYpGDunk0Li4F0YJ7DRkvhMeCvmWEqShb6ALFGjblIlT4ZFj5i/oeLTNSznsGO1MRM= Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com (2603:10b6:a03:37e::19) by BYAPR10MB3416.namprd10.prod.outlook.com (2603:10b6:a03:156::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.13; Mon, 8 Nov 2021 23:50:46 +0000 Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::b0d3:555d:98c3:62e3]) by SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::b0d3:555d:98c3:62e3%5]) with mapi id 15.20.4669.016; Mon, 8 Nov 2021 23:50:46 +0000 Thread-Topic: [External] : New key binding syntax Thread-Index: AQHXz51/MDOEys5fxk2yORvBb6Gzwqv6S4wA In-Reply-To: Accept-Language: en-US Content-Language: en-US authentication-results: gnu.org; dkim=none (message not signed) header.d=none;gnu.org; dmarc=none action=none header.from=oracle.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4d361b58-6304-4eb0-cd4d-08d9a31295a0 x-ms-traffictypediagnostic: BYAPR10MB3416: 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: XVRs3dLGnTtWGtB/asOZmZb+pTk0hyPHGaZy55D2iLpnSo+iDgIpc5D9QCPf1aEVUg3Enj8JY2PLP2jw5DGkbkqrmiqNJa5P8zdx6uJ5vAbIWEDC/ET9k7e+HG1T9L6Y6V+phGBaxGo0JPuSFLmoHvqxKH2CvnaQO69wEBAkclDUXvneDRyWHa32aZIynWSFuwTdeQFmSBxQe+La6B1SJ3QC8A4qfhZgVu9c4CdqBHwuHPLF/Ehbq7Oe2SAy8hU5SaonRkv8TKh/+JRag+PDZzaZy9J9cEwGUD/FfqDWaMIVybxK7Qp0t5uHXfw0yDQJqtmgbfRkUo52+t9tXUSHWnpWHTZVM0fcgt6iuwihYgpCq/tPZolitmn9FMpObrJGEMsSAwKFChL2TgqRlOL6MaTAczTfYpRAxAHdtbdmoXLXLZGFYgW36UZ13LUIxlpXgyt88RLu1dAzNLVk/Yx8VjO/yYpT1GHeHVtosheGHJ4ewRgy5SlO0p3AxV83np4Lq5cAs4p5yCQuUfy36Rt8fuR3JKNG2CHVKXXcRFuvVQSVkohN61InpeBe6Qw0KGVFufPI0g4pp7hiVDxvjVwwUuaSghcg0zCkCqIJc5gWVwlw2jZidM+DIiosfshemeeFPJJxKN/9hUOKyh9qZLNtGWnkaENXHMwibk4VFgZ6S2+z+/LA6Hb6qiWW+P3qIv1gSA1XKGevpmaITNMa5x5vC4NS57zw/mVpi8thBRQ5xGFgqltXXaDyTyU0794uQ HJHHyxV9br9JdjYRkCgjWIAFokRFvIUx/eHvioEogRx8Mw= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR10MB5488.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(508600001)(450100002)(2906002)(38100700002)(6506007)(33656002)(110136005)(966005)(86362001)(26005)(38070700005)(5660300002)(44832011)(186003)(9686003)(66446008)(71200400001)(76116006)(66946007)(8936002)(64756008)(316002)(66556008)(122000001)(66476007)(7696005)(8676002)(55016002)(83380400001)(52536014); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Z0JIbmdXZHFwWThWaUlyL3FxQTAyU0FabjFJREpJbVhLeFliOWNxdFdjRnVk?= =?utf-8?B?RjlqSFd6YlRQS2pUNEZld2Z2MVl3QmhRbUFDak85SUhQMlgwcFV3dnJrVzhH?= =?utf-8?B?SllQNFdtMDBYRFQyeloxY0M0WDBzQ1dJVHBLVGRNMUY4OEM2VFIyUSs0QnVP?= =?utf-8?B?WE96WEdqRGtadVRQb0g5YTVZcnd3eWNBN2UxT1hNV3J5aEJPWEtUREQwb1lV?= =?utf-8?B?aU1mY3RxVkZFZ2pNVWRiWUVlN00rUXJkTnNpTzFFdTE1TWthZ2RKTG04WVVo?= =?utf-8?B?R3diaWttdlJ6L1ZaUS9pMVdBTWRRZGFZQmZ2UmM3eW11WmVwU29QcHl0bGRr?= =?utf-8?B?a0Vhd2VBSk1CcmFVRFB4RGF6S2NkR0wvSHcyR2d6ODJ2UmMxb3pKQitVODFG?= =?utf-8?B?Ry9oTkdzY29jcC8xSDJOaWh4RUpud3RsMzJsWlgxVHd2RkYyWkFydEg0ZjR3?= =?utf-8?B?SXJRbHBDOWx2aWNKa2pGK1VQVmREZktjL25EL0pBMHJsTDUzQnZnQWdndnlI?= =?utf-8?B?OEpBK2VLUVZBeUd6U1JGY05nSWFiWG1yNHJXRlJxbVdETFY5eVJrOGR2ZTdM?= =?utf-8?B?ZlhubHNGTDArRkJtTFJnaTcyK28zc1JIbnFzdUJsYlpNdGRmaEx6ZVlDaXBL?= =?utf-8?B?THJDNTlUSjJXS3FFRnIwSmhQVnZFYU5uR3Z3bG X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB5488.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4d361b58-6304-4eb0-cd4d-08d9a31295a0 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Nov 2021 23:50:46.3493 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: mOGB9fFEJKoD8ev2NAIMasAS+CKIz21VFzf1gnNPJOfHMWqdquPtR3C4ykB5O4VzqBdRa6Q0xXEc17eZ3SIt2Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR10MB3416 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10162 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 spamscore=0 mlxscore=0 bulkscore=0 phishscore=0 suspectscore=0 adultscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2110150000 definitions=main-2111080142 X-Proofpoint-GUID: 3tT0Us-H2kedqquxX5gJlKfRkTHqdqJ- X-Proofpoint-ORIG-GUID: 3tT0Us-H2kedqquxX5gJlKfRkTHqdqJ- Received-SPF: pass client-ip=205.220.177.32; envelope-from=drew.adams@oracle.com; helo=mx0b-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:279065 Archived-At: Pj4gSGF2ZSBhIGxvb2sgYXQgdGhlIGtiZC12YWxpZC1wIGRvYyBzdHJpbmcgb24gdGhlIA0KPj4g Y3VycmVudCB0cnVuayBmb3IgYSBkZWZpbml0aW9uLg0KPiANCj4gSSd2ZSBpbmNsdWRlZCB0aGF0 IHRleHQgYmVsb3csIGJlY2F1c2Ugbm93IGlzIHRoZSB0aW1lDQo+IGZvciBwZW9wbGUgdG8gbG9v ayBhdCBhbmQgY29tbWVudCBvbiBpdC4NCj4gDQo+IFNob3VsZCB0aGUgc3ludGF4IEVtYWNzIGFk b3B0cyBmb3IgdGhlIG5leHQgMjAgeWVhcnMgYmUNCj4gdGhpcyBvbmU/ICBUaGlzIG9uZSB3aXRo IHNvbWUgY2hhbmdlcz8gIEFueSBvdGhlciBwcm9wb3NhbD8NCj4gDQo+IElmIHdlIHVzZSB0aGlz IHN5bnRheCwgdGhlIHRleHQgd2UgdXNlIHRvIGRlZmluZSBpdCBpbg0KPiB0aGUgRW1hY3MgTGlz cCBSZWYgTWFudWFsIHNob3VsZCBjb3ZlciB2YWxpZCBjYXNlcyBub3QNCj4gbWVudGlvbmVkIGlu IHRoaXMgdGV4dC4gIFdlIGRvbid0IHVzZSB0aGVtIGluIG5vcm1hbA0KPiBFbWFjcyBiaW5kaW5n cywgYnV0IHRoZXkgYXJlIHZhbGlkIHNvIHRoZXkgc2hvdWxkIGJlDQo+IGRvY3VtZW50ZWQuDQoN Cg0KWW91IGRpZG4ndCBnZXQgbXVjaCBvZiBhIHJlc3BvbnNlIHRvIHlvdXIgcmVxdWVzdA0KZm9y IG9waW5pb25zIGFib3V0IHRoaXMuICBGV0lXLCBoZXJlJ3MgbXkgb3Bpbmlvbg0Kb24gdGhlIGtl eS1zZXF1ZW5jZSBkZXNjcmlwdGlvbiBzeW50YXggd2Ugc2hvdWxkIHVzZS4NCg0KX19fDQoNClRo aXMgaXMgYWJvdXQgdXNlIGNhc2VzIHdoZXJlIHdlIG5vdyB1c2UgYGtiZCcuICBUaGlzDQppcyB0 eXBpY2FsbHkgYWJvdXQgdXNpbmcgKGtiZCAuLi4pIGFzIGlucHV0IHRvIHRoaW5ncw0KbGlrZSBg ZGVmaW5lLWtleScuDQoNClRoaXMgaXMgbm90IHBhcnRpY3VsYXJseSBhYm91dCBob3cgc29tZSBl eHBsYW5hdG9yeQ0KdGV4dCBpbiBhIG1hbnVhbCwgZm9yIGV4YW1wbGUsIGNhbiByZWZlciB0byB0 aGluZ3MgbGlrZQ0KaW5wdXRzIGluIGdlbmVyYWwgb3IgYWJvdXQgbWVzc2FnZSBvdXRwdXRzLiAg Rm9yIHRoYXQsDQpJIHRoaW5rIHRoZSBjdXJyZW50bHkgdXNlZCByZXByZXNlbnRhdGlvbiBpcyBm aW5lLg0KVGhhdCBjYW4gb2YgY291cnNlIGluY2x1ZGUgdGhlIHVzZSBvZiBrZXkgZGVzY3JpcHRp b25zLA0Kc3VjaCBhcyBhcmUgYWNjZXB0ZWQgYnkgYGtiZCcuICBJdCBhbHNvIGluY2x1ZGVzIHRl eHQNCnN1Y2ggYXMgYE0teCBzb21lLWNvbW1hbmQnLg0KDQpBbmQgaXQgZXZlbiBpbmNsdWRlcyBp bmZvcm1hbCB0ZXh0IHN1Y2ggYXMgIlR5cGUgTS14DQpmb29iYXIgUkVUIi4gIChOb3RpY2UgdGhh dCAiZm9vYmFyIiBoZXJlIGluZm9ybWFsbHkNCnN0YW5kcyBmb3IgdHlwaW5nIHRoZSBzZXF1ZW5j ZSAiZiBTUEMgbyBTUEMgbyBTUEMgYiBTUEMNCmEgU1BDIHIiLCBidXQgIlJFVCIgc3RhbmRzIGZv ciBoaXR0aW5nIGp1c3QgdGhhdCBrZXksDQpub3QgZm9yIGhpdHRpbmcgdGhlIGtleXMgIlIiLCAi RSIsIGFuZCAiVCIuKQ0KDQpJIHNheSB0aGlzIGRlY2lkaW5nIGFib3V0IGtleS1kZXNjcmlwdGlv biBzeW50YXggaXMgbm90DQphYm91dCB0aGF0LCBpbiBwYXJ0aWN1bGFyLCB0byBkaXN0aW5ndWlz aCB0aGUgdXNlIG9mDQp3aGl0ZXNwYWNlLiAgSW5mb3JtYWwgZGVzY3JpcHRpb24gb2YgdXNlciBp bnB1dCBhbmQNCm91dHB1dCBtZXNzYWdlcyBpcyBzb21ldGhpbmcgZGlmZmVyZW50IGZyb20sIGFu ZCBtb3JlDQppbmNsdXNpdmUgYW5kIGZvcmdpdmluZyB0aGFuLCB0aGUgcHJlY2lzZSBzeW50YXgg b2YNCmtleS1zZXF1ZW5jZSBkZXNjcmlwdGlvbnMuDQoNCkZvciBzaW1wbGljaXR5IEknbGwgZ2Vu ZXJhbGx5IHJlZmVyIHRvIHRoZQ0Ka2V5LWRlc2NyaXB0aW9uIHN5bnRheCBJIHByZWZlciBhcyAi a2JkIiBzeW50YXgsDQpiZWNhdXNlIGl0J3MgZXNzZW50aWFsbHkgd2hhdCBga2JkJyBhY2NlcHRz Lg0KDQpTb21lIChTdGVmYW4gSyBpbiBwYXJ0aWN1bGFyKSBoYXZlIHBvaW50ZWQgb3V0IHRoYXQg dGhlDQpjdXJyZW50IGltcGxlbWVudGF0aW9uIG9mIGBrYmQnIGFjY2VwdHMgc29tZQ0Kc2VsZG9t LXVzZWQgb3Igb3V0bGllciBzeW50YXggcG9zc2liaWxpdGllcywgYW5kIGBrYmQnDQptaWdodCBo YXZlIHNvbWUgYnVncyBvciB1bmRlc2lyYWJsZSBmZWF0dXJlcy4NCg0KSSBkb24ndCBpbmNsdWRl IHRob3NlIGluIHRoZSBzeW50YXggSSBwcmVmZXIuICBJZiB3ZQ0KZXZlciBnZXQgdG8gdGhhdCBw b2ludCwgdGhhdCBpcywgaWYgd2UgZXZlciBnZXQgZ2VuZXJhbA0KYWdyZWVtZW50IG9uIHRoZSAi bm9ybWFsIiwgc3ludGF4IHRoYXQgYGtiZCcgYWNjZXB0cyBhcw0Kd2hhdCB3ZSB3YW50IGZvciB0 aGUgZnV0dXJlLCB0aGVuIGF0IHRoYXQgcG9pbnQgd2UgY2FuDQpkaXNjdXNzIGFueSBvZiB0aGUg b2RkIG9yIGFyY2FuZSBwb3NzaWJpbGl0aWVzIHRoYXQNCmBrYmQnIGFsc28gYWNjZXB0cy4NCg0K X19fDQoNCg0KMS4gV2hpdGVzcGFjZSBzaG91bGQgYmUgYWxsb3dlZCBhcmJpdHJhcmlseSBmb3IN CnNlcGFyYXRpb24gaW4gdGhlIGtleS1kZXNjcmlwdGlvbiBzeW50YXguICBJIGJlbGlldmUNCnRo aXMgaXMgYWxyZWFkeSB0aGUgY2FzZSAoYXQgbGVhc3QgZm9yIHNwYWNlIGNoYXJzKSwNCmJ1dCBp biBhbnkgY2FzZSBpdCBzaG91bGQgYmUuDQoNCllvdSBzaG91bGQgYmUgYWJsZSB0byB1c2UgImEg ICAgYiAgYyIsIG9yICJhIGINCmMiIChpbmNsdWRpbmcgdGhlIG5ld2xpbmUpLCBvciAiICBhIGIg IGMgICAiLCBvciBhbnkNCm90aGVyIHN5bnRheCB3aGVyZSBhbnkgbnVtYmVyIG9mIFNQQywgVEFC LCBhbmQgbmV3bGluZQ0KY2hhcnMgc2VwYXJhdGUga2V5cyBpbiBhIGtleSBzZXF1ZW5jZS4gIChO bywgSSB3b3VsZG4ndA0KYWxsb3cgdW51c3VhbCBVbmljb2RlIHdoaXRlc3BhY2UgY2hhcnMgLSBu byBuZWVkOyB0aGVzZQ0KYXJlIGp1c3Qgc2VwYXJhdG9ycywgZm9yIG91ciBjb252ZW5pZW5jZS4p DQoNCklPVywgSSBkb24ndCBhZ3JlZSB3aXRoIExhcnMncyBwcmVmZXJlbmNlIG9mIGFsbG93aW5n DQpvbmx5IGEgc2luZ2xlIFNQQyBjaGFyIGFzIHNlcGFyYXRvcjsgSSBhZ3JlZSB3aXRoIEpvaG4N CllhdGVzIGhlcmUuICBBbmQgSSdkIGdvIGJleW9uZCBTUEMgdG8gYWxsb3cgbmV3bGluZSBhbmQN ClRBQiwgYnV0IHRoYXQncyBub3QgaW1wb3J0YW50IC0ganVzdCBhIG5pY2UtdG8taGF2ZSAvDQp3 aHktbm90Lg0KDQoyLiBBIHNwYWNlIGNoYXIgaW4gYSBrZXkgc2VxdWVuY2Ugc2hvdWxkIGJlIHJl cHJlc2VudGVkDQphcyBTUEMgaW4gYSBrZXkgZGVzY3JpcHRpb24sIG5vdCBhcyBhIGxpdGVyYWwg c3BhY2UNCmNoYXIuICBJIHNlZSBfbm9fIGFkdmFudGFnZSB0byBoYXZpbmcgc3BhY2UgY2hhcnMN CnJlcHJlc2VudCB0aGVtc2VsdmVzIGxpdGVyYWxseSwgYXMgb3Bwb3NlZCB0byB1c2luZyB0aGUN Cm5hbWUgb2YgdGhlIGtleSB0aGF0J3MgYXNzb2NpYXRlZCB3aXRoLCBhbmQgYnkgZGVmYXVsdA0K aW5zZXJ0cywgdGhhdCBjaGFyOiAoa2JkICJTUEMiKS4NCg0KU2FtZSBmb3IgbmV3bGluZSAoQy1q KSBhbmQgVEFCIChDLWkpIGtleXMuIFRvIHJlcHJlc2VudA0KYSBUQUIga2V5LCB1c2UgKGtiZCAi VEFCIikgb3IgKGtiZCAiQy1pIik7IHRvIHJlcHJlc2VudA0KYSBuZXdsaW5lLCB1c2UgQy1qOiAo a2JkICJDLWoiKS4gIFdlJ2QganVzdCBiZSBhc2tpbmcNCmZvciB0cm91YmxlLCBhbmQgY29uZnVz aW5nIHVzZXJzIF9tb3JlXyAobm90IGxlc3MpLCBpZg0Kd2Ugc3RhcnRlZCB1c2luZyAiICIgaW5z dGVhZCBvZiAiU1BDIiAtIHdpdGhvdXQgZ2FpbmluZw0KYW55dGhpbmcuDQoNCihBbmQgeWVzLCB0 aGUga2V5IGA8dGFiPicgaXMgZGlmZmVyZW50IGZyb20gdGhlIGtleQ0KYFRBQicsIHRob3VnaCBz b21ldGltZXMgdGhlIG9uZSBnZXRzIHRyYW5zbGF0ZWQgdG8gdGhlDQpvdGhlciBmb3IgYmluZGlu ZyBsb29rdXAuKQ0KDQooV2hldGhlciBhbmQgaG93IHdlYWxsb3cgdW5pY29kZSwgb2N0YWwsIG9y IG90aGVyDQpyZXByZXNlbnRhdGlvbnMgZm9yIGNoYXJzIGluIGtleSBkZXNjcmlwdGlvbnMgaXMN CmFub3RoZXIgcXVlc3Rpb24uICBJIGRvbid0IGhhdmUgYW4gYW5zd2VyL3ByZWZlcmVuY2UNCmZv ciB0aGF0IG5vdywgYnV0IG1heWJlIGl0IHNob3VsZCBiZSBkaXNjdXNzZWQgYXQgc29tZQ0KcG9p bnQuKQ0KDQozLiBQZXJzb25hbGx5LCBJIGRvbid0IGZlZWwgYSBuZWVkIHRvIGFsbG93IHRoZQ0K YXJndW1lbnQgdG8gYGtiZCcgdG8gYmUgdXNlZCBvbiBpdHMgb3duIChlLmcuLCBwYXNzZWQNCnRv IGBkZWZpbmUta2V5IiBvciBpdHMgcmVwbGFjZW1lbnQpLCBpbiBwbGFjZSBvZiB1c2luZw0KKGti ZCBBUkcpIC0gbGV0IGFsb25lIGZlZWwgYSBuZWVkIHRvIHByZXNjcmliZSB0aGF0Lg0KDQpJIGRv bid0IHNlZSB0aGF0IGFzIGhlbHBpbmcgYW55b25lLiAgSnVzdCBhcyBmb3IgdXNpbmcNCiIgIiBp bnN0ZWFkIG9mICJTUEMiLCBJIGV4cGVjdCB0aGF0IGRvaW5nIHRoYXQganVzdA0KYXNrcyBmb3Ig dHJvdWJsZSBhbmQgc293cyBjb25mdXNpb24sIHdpdGhvdXQgYW55IGdhaW4uDQpUaGlzIGlzIGp1 c3QgYSBndWVzczsgSSBjb3VsZCBtYXliZSBiZSBjb252aW5jZWQNCm90aGVyd2lzZSwgYnV0IHNv IGZhciBJIGhhdmVuJ3Qgc2VlbiBhbnkgZ29vZCBhcmd1bWVudC4NCg0KNC4gSSBhZ3JlZSB0aGF0 IGlmIGBrYmQnIGhhcyBzb21lIGFub21hbGllcywgYXMgU3RlZmFuDQpLIHBvaW50ZWQgb3V0LCB3 ZSBjYW4gcmVtb3ZlIHRoZW0gZnJvbSBhbnkgbmV3LA0KcmVwbGFjZW1lbnQgc3ludGF4IHdlIGRl ZmluZS4NCg0KSSBkb24ndCBjYXJlIG11Y2ggd2hldGhlciB3ZSB1c2UgYSBuZXcgZnVuY3Rpb24g KGUuZy4NCmBrZXknKSBvciB3ZSBqdXN0IGNoYW5nZSBga2JkJyBpdHNlbGYsIHB1cmlmeWluZyBp dCBvZg0KYW5vbWFsaWVzLiAgVGhlIGZvcm1lciBpcyBtYXliZSBlYXNpZXIgYW5kIGNsZWFuZXIs IHRvDQpsZXQgYGtiZCcgY29udGludWUgdG8gZ28gaXRzIG1lcnJ5IHdheSBmb3IgYmFja3dhcmQN CmNvbXBhdGliaWxpdHkuDQoNCjUuIEkgZG9uJ3QgdGhpbmsgd2Ugc2hvdWxkIGltcG9zZSBhIHNp bmdsZSBvcmRlcmluZyBvZg0KbW9kaWZpZXJzLiAgQnV0IEkgZG8gdGhpbmsgd2Ugc2hvdWxkIGhh dmUgYSBjb252ZW50aW9uDQp0aGF0IHNwZWNpZmllcyBhIHByZWZlcnJlZCBvcmRlci4NCg0KSU9X LCBsZXQncyBzZXBhcmF0ZSB3aGF0IHlvdSBfY2FuXyB1c2UgKGFueSBtb2RpZmllcg0Kb3JkZXIp IGZyb20gd2hhdCB3ZSByZWNvbW1lbmQgeW91IF9kb18gdXNlLiAgRm9yIHRoZQ0KcmVjb21tZW5k ZWQgb3JkZXIsIGxldCdzIHN0aWNrIHdpdGggd2hhdCB3ZSd2ZSBhbHJlYWR5DQpyZWNvbW1lbmRl ZCAtIHdoaWNoIHNob3VsZCBiZSB0aGUgc2FtZSBvcmRlciB0aGF0IEVtYWNzDQppdHNlbGYgdXNl cyBpbiBpdHMgSGVscCBvdXRwdXQuICBFLmcuLCBgQy1NLScsIG5vdA0KYE0tQy0nLiAgQnV0IGFn YWluLCB0aGlzIGlzbid0IHZlcnkgaW1wb3J0YW50IC0gaXQncw0KanVzdCBhIGNvbnZlbnRpb24g dGhhdCBtYWtlcyB0aGluZ3MgbW9yZSBjb25zaXN0ZW50LA0KaGVuY2UgZWFzaWVyIHRvIHJlYWQg YW5kIGRpZ2VzdC4NCg0KNi4gVGhlIGNvcnJlc3BvbmRlbmNlIGJldHdlZW4gdGhlIHN5bnRheCB5 b3UgcGFzcyB0bw0KYGtiZCcgYW5kIHRoZSBzeW50YXggdGhhdCBFbWFjcyBIZWxwIHVzZXMgaXMg dmVyeQ0KaW1wb3J0YW50LCBJTU8uICBFbWFjcyBhbmQgdXNlcnMgKGluY2x1ZGluZyB1c2VycyBv Zg0KRWxpc3ApIHNob3VsZCB0YWxrIGFib3V0IGtleXMgdXNpbmcgdGhlIHNhbWUgc3ludGF4LA0K YXMgbXVjaCBhcyBwb3NzaWJsZS4NCg0KNy4gSSdtIGluIGZhdm9yIG9mIGxldHRpbmcgYGtiZCcg YW5kIEhlbHAgZGVzY3JpcHRpb25zDQpkcm9wIHRoZSB1c2Ugb2YgYW5nbGUgYnJhY2tldHMgYWx0 b2dldGhlci4gIEkndmUgZG9uZQ0KdGhhdCwgYW5kIEkgaGF2ZW4ndCBlbmNvdW50ZXJlZCBhbnkg cHJvYmxlbXMgb3INCmNvbnRyYWRpY3Rpb25zIGZyb20gZG9pbmcgaXQuICBga2JkJyAob3IgYGtl eScgb3INCndoYXRldmVyKSBjYW4gYW5kIHNob3VsZCBhY2NlcHQgYm90aCBhbmdsZS1icmFja2V0 ZWQNCmFuZCAibmFrZWQiIHN5bnRheCAobm8gYnJhY2tldHMpLCB3aXRoIG5vIGRpZmZlcmVuY2Ug aW4NCmJlaGF2aW9yLiAgQWdhaW4sIEkndmUgYmVlbiBkb2luZyB0aGlzIGZvciBkZWNhZGVzIG5v dy4NCg0KRldJVyAoYnV0IEkgZG9uJ3QgY2FyZSBob3cgRW1hY3MgaXRzZWxmIGRvZXMgaXQpLCBJ IHVzZQ0KZnVuY3Rpb24gYG5ha2VkJyBpbnN0ZWFkIG9mIGZ1bmN0aW9uIGBrYmQnLCBhbmQNCmBu YWtlZC1rZXktZGVzY3JpcHRpb24nIGluc3RlYWQgb2YgYGtleS1kZXNjcmlwdGlvbicuDQpFbWFj cyBpdHNlbGYgd291bGRuJ3QgbmVlZCB0d28gc2V0cyBvZiBmdW5jdGlvbnMuDQoNCkZ1bmN0aW9u IGBuYWtlZCcgaW5kaWZmZXJlbnRseSBhY2NlcHRzIGVpdGhlciBuYWtlZCBvcg0KYW5nbGUtYnJh Y2tldGVkIHN5bnRheCBhcyBpbnB1dC4NCg0KKFRvIHJlcHJvZHVjZSBFbWFjcyBidWcgIzEyNTM1 IGZhaXRoZnVsbHkgKCEpIGl0IGFsc28NCmFjY2VwdHMgYW4gb3B0aW9uYWwgQm9vbGVhbiBhcmcg QU5HTEVTLCB3aGljaCBmb3JjZXMNCnRoZSBidWdnZWQgYmVoYXZpb3IsIGUuZy4sIG1ha2VzIHRo ZSBpbnB1dCAiTS08VEFCPiINCm91dHB1dCBbTS1UQUJdIGluc3RlYWQgb2YgdGhlIGNvcnJlY3Qg b3V0cHV0DQpbMTM0MjE3NzM3XS4pDQoNCk90aGVyIE5hS2VEIGZ1bmN0aW9ucyBsaWtld2lzZSBh Y2NlcHQgYW4gb3B0aW9uYWwNCkFOR0xFUyBhcmcuICBXaXRoIG5vbi1uaWwgYXJnLCBgbmFrZWQt a2V5LWRlc2NyaXB0aW9uJw0KZG9lcyBqdXN0IHdoYXQgYGtleS1kZXNjcmlwdGlvbicgZG9lcyAo b3RoZXJ3aXNlIGl0DQpvdXRwdXRzIG5ha2VkIGtleSBkZXNjcmlwdGlvbnMpLiAgTGlrZXdpc2UN CmBuYWtlZC1yZWFkLWtiZC1tYWNybycgYW5kIGBuYWtlZC1lZG1hY3JvLXBhcnNlLWtleXMnOg0K YW4gb3B0aW9uYWwgYXJnIGdpdmVzIHRoZSBjdXJyZW50IGJyYWNrZXRlZCBFbWFjcw0KYmVoYXZp b3IuDQoNCkJ1dCBteSBwb2ludCBoZXJlIGlzIHRoYXQgRW1hY3MgaXRzZWxmIGRvZXMgbm90IG5l ZWQNCmFuZ2xlLWJyYWNrZXQgc3ludGF4IC0gYXQgYWxsLiAgKEVsaSBjbGFpbXMgb3RoZXJ3aXNl LA0KYnV0IEkndmUgc2VlbiBubyBjb3VudGVyLWV4YW1wbGUgc28gZmFyLikgIFRoYXQgbm9pc2UN CndhcyBpbnRyb2R1Y2VkIGdyYXR1aXRvdXNseSBpbiBFbWFjcyAyMSwgSSBiZWxpZXZlLiAgDQoN CmBDLXggdG90bycgdW5lcXVpdm9jYWxseSBtZWFucyB0aGUgc2FtZSB0aGluZyBhcyBgQy14DQo8 dG90bz4nLiAgQW5kIHRoZSBmZXcgQVNDSUkgY29udHJvbCBjaGFycyB3aXRoIG5hbWVzDQp0aGF0 IHdlIGFjY2VwdCAoUkVULCBTUEMsIEVTQywgZXRjLikgZG9uJ3QgaW52YWxpZGF0ZQ0KdGhpcyBw cm9wb3NpdGlvbi4gIChBbmQgeWVzLCBidWcgIzEyNTM1IGlzIGEgYnVnLikNCg0KIzcgaGVyZSBp cyBhcHBhcmVudGx5IGhlcmV0aWNhbCwgYW5kIEkgZG9uJ3QgZXhwZWN0IGl0DQp0byBiZSBhY2Nl cHRlZC4gIEJ1dCBJIGZlZWwgb2JsaWdlZCB0byBtZW50aW9uIGl0IG9uY2UNCm1vcmUsIHNpbmNl IHRoZSBxdWVzdGlvbiBoYXMgYmVlbiByYWlzZWQgb2YgdGhlIHN5bnRheA0Kd2Ugd2FudCBmb3Ig a2V5IGRlc2NyaXB0aW9ucy4gIFRoZXJlIHJlYWxseSBpcyBubyBuZWVkDQpmb3IgYW5nbGUgYnJh Y2tldHMuICBSZWFsbHkuICBTbyBPY2NhbSBzYXlzIGRyb3AgJ2VtLg0KKE9yIHNob3cgYSByZWFs IGNhc2Ugd2hlcmUgdGhleSdyZSBhY3R1YWxseSBuZWVkZWQuKQ0KDQpEZXNjcmlwdGlvbjoNCmh0 dHBzOi8vd3d3LmVtYWNzd2lraS5vcmcvZW1hY3MvTmFLZUQNCg0KQ29kZToNCiBodHRwczovL3d3 dy5lbWFjc3dpa2kub3JnL2VtYWNzL2Rvd25sb2FkL25ha2VkLmVsDQoNCl9fXw0KDQpBcyBmb3Ig dGhlIG5ldyBzeW50YXggcHJvcG9zYWwgdGhhdCBSTVMgYXNrZWQgYWJvdXQsDQpmcm9tIHRoZSBg a2JkLXZhbGlkLXAnIGRvYyBzdHJpbmc6IHNlZW1zIGxpa2UgY29uZnVzaW9uDQpvZiB1c2UgYW5k IG1lbnRpb24uDQoNCihJIGRvbid0IGtub3cgd2hhdCBga2JkLXZhbGlkLXAnIGlzIHJlYWxseSBm b3IsIGJ1dCBJJ20NCmd1ZXNzaW5nIGl0J3MgZm9yIHRlc3RpbmcgdGhlIHZhbGlkaXR5IG9mIGEg a2V5DQpkZXNjcmlwdGlvbiwgZS5nLiB3aGF0IGBrYmQnIG9yIGl0cyByZXBsYWNlbWVudCBzaG91 bGQNCmFjY2VwdCBhcyBhIHZhbGlkIGFyZywgaS5lLiwgYXMgYW4gYXJnIHRoYXQgdmFsaWRseQ0K ZGVzY3JpYmVzIGEgcG9zc2libGUga2V5IHNlcXVlbmNlLikNCg0KSXQgY29uZnVzZXMgc3RhdGVt ZW50cyBvZiB3aGF0IGEga2V5IHNlcXVlbmNlIGlzIHdpdGgNCndoYXQgdGhlIHN5bnRheCBvZiBh IGtleSgtc2VxdWVuY2UpIGRlc2NyaXB0aW9uIGlzLA0KaS5lLiwgd2hhdCBjb25zdGl0dXRlcyBh ICJ2YWxpZCBrZXkgc2VxdWVuY2UiICh3aGljaCBpcw0KYSBzZXF1ZW5jZSBvZiBrZXlzKSB2ZXJz dXMgd2hhdCBjb25zdGl0dXRlcyBhIHZhbGlkDQprZXktc2VxdWVuY2UgZGVzY3JpcHRpb24gZm9y IHVzZSBpbiBjb2RlIGFuZCBIZWxwIChlLmcuDQphcyBhcmcgdG8gYGtiZCcpLg0KDQpJdCdzIE9L IGluIHRoZSBkb2MgdG8gdGFsayBhYm91dCB0aGUgImtleSBzZXF1ZW5jZSBgQy14DQpDLWYnIiwg YmVjYXVzZSB0aGVyZSB3ZSdyZSBfdXNpbmdfIHRoZSB0ZXJtICJrZXkNCnNlcXVlbmNlIiB0byB0 YWxrIGFib3V0IGEga2V5IHNlcXVlbmNlLCB3aGljaCBpdHNlbGYgaXMNCnJlcHJlc2VudGVkIGJ5 IHRoZSBkZXNjcmlwdGlvbiBgQy14IEMtZicuICBXZSdyZSBub3QNCnRhbGtpbmcgYWJvdXQgdGhl IHRleHQvc3ludGF4ICJDLXggQy1mIiB0aGVyZTsgd2UncmUNCnRhbGtpbmcgYWJvdXQgdGhlIHNl cXVlbmNlIG9mIGtleXMgdGhhdCB0aGF0DQpkZXNjcmlwdGlvbiByZXByZXNlbnRzLg0KDQpCdXQg d2hlbiB3ZSdyZSB0YWxraW5nIGFib3V0IGRlZmluaW5nL3NwZWNpZnlpbmcgdmFsaWQNCnN5bnRh eCBmb3Iga2V5IGRlc2NyaXB0aW9ucywgd2Ugc2hvdWxkbid0IHNheSB3ZSdyZQ0KdGFsa2luZyBh Ym91dCBkZWZpbmluZyB3aGljaCBfa2V5IHNlcXVlbmNlc18gYXJlIHZhbGlkLg0KDQpcIlMgbyBt XCIgaXMgX25vdF8gYSBrZXkgc2VxdWVuY2UuICBJdCdzIG5vdCBhDQoic2VxdWVuY2Ugb2YgdGhl IGtleXMgJ1MnLCAnbycgYW5kICdtJyIuICBJdCdzDQpwcmVzdW1hYmx5IChhIHByb3Bvc2FsIGZv cikgYSB2YWxpZCBrZXktc2VxdWVuY2UNCmRlc2NyaXB0aW9uIHN0cmluZy4NCg0KX19fDQoNCk9u ZSBvcGluaW9uLiAgSSBhZ3JlZSB3aXRoIFJpY2hhcmQgdGhhdCB3ZSBzaG91bGQgaGVhcg0KbW9y ZSBvcGluaW9ucy4gIExldCdzIGdldCB0aGUgcmlnaHQgZG91Z2ggYmVmb3JlIGJha2luZy4NCg==