From unknown Fri Jun 20 07:28:01 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#36107 <36107@debbugs.gnu.org> To: bug#36107 <36107@debbugs.gnu.org> Subject: Status: Be explicit here. Make a statement or ask a question. Reply-To: bug#36107 <36107@debbugs.gnu.org> Date: Fri, 20 Jun 2025 14:28:01 +0000 retitle 36107 Be explicit here. Make a statement or ask a question. reassign 36107 hyperbole submitter 36107 severity 36107 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 05 16:27:26 2019 Received: (at submit) by debbugs.gnu.org; 5 Jun 2019 20:27:26 +0000 Received: from localhost ([127.0.0.1]:48259 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hYcVJ-0005Ft-6z for submit@debbugs.gnu.org; Wed, 05 Jun 2019 16:27:26 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52353) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hYcOe-00055b-Av for submit@debbugs.gnu.org; Wed, 05 Jun 2019 16:20:33 -0400 Received: from lists.gnu.org ([209.51.188.17]:54117) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hYcOZ-0000ZN-7u for submit@debbugs.gnu.org; Wed, 05 Jun 2019 16:20:27 -0400 Received: from eggs.gnu.org ([209.51.188.92]:38500) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hYcOY-0008JR-2s for bug-hyperbole@gnu.org; Wed, 05 Jun 2019 16:20:27 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: *** X-Spam-Status: No, score=3.3 required=5.0 tests=BAYES_50,RCVD_IN_DNSWL_NONE, RECEIVED_FROM_WINDOWS_HOST,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hYcOW-0000V7-Fi for bug-hyperbole@gnu.org; Wed, 05 Jun 2019 16:20:26 -0400 Received: from mail-eopbgr790102.outbound.protection.outlook.com ([40.107.79.102]:17135 helo=NAM03-CO1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hYcOV-0000Qf-WE for bug-hyperbole@gnu.org; Wed, 05 Jun 2019 16:20:24 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chamberlain.edu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XW2N+PU4cwXSQpcZSYytRATKzJdBH0bmb09rtsMu7E8=; b=k+ptwD8usAKHQS3OscYgpMKzzuNErEcHaJjOHvNM8qqZB9wiEO+wFetyepTQmT/bqVYBTVZ89ZNLyrfgpKbWnIYm3qahUV1chJJVf5iXC9ZrESTio1bC1Lyt1OsJubxJ9dUjWsEZrg9wQceT1BW1tLnoc78bkH59jM8fpKcYW8k= Received: from MN2PR05MB5999.namprd05.prod.outlook.com (20.178.244.83) by MN2PR05MB6077.namprd05.prod.outlook.com (20.178.241.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1965.12; Wed, 5 Jun 2019 20:20:19 +0000 Received: from MN2PR05MB5999.namprd05.prod.outlook.com ([fe80::fdb1:1f9d:89d0:50e9]) by MN2PR05MB5999.namprd05.prod.outlook.com ([fe80::fdb1:1f9d:89d0:50e9%7]) with mapi id 15.20.1965.011; Wed, 5 Jun 2019 20:20:19 +0000 From: To: "bug-hyperbole@gnu.org" Subject: Be explicit here. Make a statement or ask a question. Thread-Topic: Be explicit here. Make a statement or ask a question. Thread-Index: AQHVG9wYawz3+sWd0kyOD6hJNRq8Mw== Date: Wed, 5 Jun 2019 20:20:19 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [206.209.107.185] x-clientproxiedby: MN2PR01CA0017.prod.exchangelabs.com (2603:10b6:208:10c::30) To MN2PR05MB5999.namprd05.prod.outlook.com (2603:10b6:208:d1::19) authentication-results: spf=none (sender IP is ) smtp.mailfrom=EBemiller@chamberlain.edu; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0ed344e6-ef25-4130-7b41-08d6e9f33aa0 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:MN2PR05MB6077; x-ms-traffictypediagnostic: MN2PR05MB6077: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7219; x-forefront-prvs: 00594E8DBA x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(346002)(376002)(366004)(136003)(39860400002)(396003)(199004)(189003)(316002)(73956011)(66446008)(786003)(66066001)(6512007)(2501003)(66556008)(5640700003)(25786009)(66946007)(71200400001)(66476007)(305945005)(478600001)(42882007)(64756008)(256004)(88552002)(2906002)(80792005)(2351001)(71190400001)(36756003)(6116002)(3846002)(5660300002)(81156014)(7736002)(8936002)(486006)(8676002)(68736007)(81166006)(75432002)(6916009)(99286004)(2616005)(72206003)(52116002)(386003)(6506007)(102836004)(6486002)(476003)(186003)(53936002)(26005)(6436002)(14454004)(138483002); DIR:OUT; SFP:1102; SCL:1; SRVR:MN2PR05MB6077; H:MN2PR05MB5999.namprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: chamberlain.edu does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: JUFErxNTW7Sjeg5LUzTKrUv2JRxmSMI8euoEGQZZIadTRqngDlqJzXtYcYhd27qc8ADrktYCBlBkHbUEMFZvEnahriVzOOxiSOocAxAxNQmfB5RwJ6Tu1m9vXYQYtCNodZ/IGpGnBOxZAnjrT5J12o3VTxCeDeNPeBfRsiB4emtnLPSSRCc3conxNq9oYKOW8UHkr4UPAIR6nucSglmRTpuC4j1reHw9B/J0jiY5wkzZbjoON261dY7/+HNHk8PArD+ZHMAxFHpO/mXY6B5e1xeHGgJ+jpyUFH+4G+Zquqgdt8lQ44nEkeLRt164MBnoASAGdXbv60M/oLLtrp7He8aHFifX+TcpKL72b5DoWmuAW0Ty0fDbpPIGqOWC2qb80PtWb2oJIvuvafMIVUDbkueepxA8V3VURj1kuzw/+co= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: dvuadmin.net X-MS-Exchange-CrossTenant-Network-Message-Id: 0ed344e6-ef25-4130-7b41-08d6e9f33aa0 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2019 20:20:19.2902 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 97fb1a07-66ed-4983-98cd-2b41977edc25 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: D40547914@dvuadmin.net X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR05MB6077 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.79.102 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Wed, 05 Jun 2019 16:27:23 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) DQpJIHVzZTogIEVkaXRvcjogICAgICBHTlUgRW1hY3MgMjYuMSAoYnVpbGQgMSwgeDg2XzY0LXc2 NC1taW5ndzMyKQ0KDQogICAgICAgIEh5cGVyYm9sZTogICA3LjAuMw0KICAgICAgICBTeXMgVHlw ZTogICAgeDg2XzY0LXc2NC1taW5ndzMyDQogICAgICAgIE9TIFR5cGU6ICAgICB3aW5kb3dzLW50 DQogICAgICAgIFdpbmRvdyBTeXM6ICB3MzINCiAgICAgICAgTmV3cyBSZWFkZXI6IEdudXMgdjUu MTMNCg0KW0FsdGhvdWdoLCBJJ3ZlIGNvbmZpcm1lZCB0aGlzIGFsc28gaGFwcGVucyBvbiBteSBN YWMsIHdpdGggdGhlIHNhbWUNCkh5cGVyYm9sZSB2ZXJzaW9uL0VtYWNzIHZlcnNpb25dDQoNClJl cG9ydDoNCg0KSG93ZHkhIEkgZG9uJ3Qga25vdyBpZiB0aGlzIGlzIGFjdHVhbGx5IGEgYnVnLCBi dXQgSSd2ZSBydW4gaW50byBzb21lDQp3ZWlyZG5lc3Mgd2l0aCBHbG9iYWwgYnV0dG9ucy4NCg0K TGV0J3Mgc2F5IHRoYXQgSSd2ZSBjcmVhdGVkIGEgR2xvYmFsIGJ1dHRvbiB0byBhIE5vdGVzIGZp bGUsIHdoaWNoIGxpdmVzDQppbiBteSBPcmcgZm9sZGVyIGluIG15IEhvbWUgZGlyZWN0b3J5ICgi fi9PcmcvTm90ZXMub3JnIikuIFRoZSBidXR0b24NCm1ldGFkYXRhIGxvb2tzIGxpa2UgdGhpczoN Cg0KPiAoIk5vdGVzIiBuaWwgbmlsIGxpbmstdG8tZmlsZSAoIi4uL09yZy9Ob3Rlcy5vcmciKSAi VVNFUk5BTUVIRVJFIiAiMjAxOTA2MDU6MTk6NTc6NTEiIG5pbCBuaWwpDQoNCldoZW4gSSBpbml0 aWFsbHkgY3JlYXRlZCB0aGUgYnV0dG9uLCBjYWxsaW5nIGl0IHdpdGgge0MtaCBoIGcgYX0NCmNv cnJlY3RseSBvcGVuZWQgdGhlIGRvY3VtZW50LiBBbGwgZ29vZCBzbyBmYXIuDQoNClRoZW4gSSBn b3QgdG8gd29ya2luZyBvbiBzb21ldGhpbmcgZWxzZS4gTGF0ZXIsIHdoZW4gSSB0cmllZCB0byBj YWxsIHRoZQ0KYnV0dG9uIGFnYWluLCBhbmQgZ290IHRoaXMgZXJyb3I6DQoNCj4gaHBhdGg6Zmlu ZDogKGhwYXRoOmZpbmQpOiAiT3JnL05vdGVzLm9yZyIgZG9lcyBub3QgZXhpc3QNCg0KVGhlIGZp bGUgZGVmaW5pdGVseSBleGlzdHMsIGFuZCBoYXNuJ3QgYmVlbiBjaGFuZ2VkLiBCdXQgd2hhdCAq ZGlkKg0KY2hhbmdlIHdhcyBteSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5Lg0KDQpUaGUgcHJv YmxlbSAtLSBpZiBpdCBhY3R1YWxseSAqaXMqIGEgcHJvYmxlbSAtLSBzZWVtcyB0byBiZSBpbiB0 aGUNCmFzc3VtcHRpb24gSHlwZXJib2xlIG1ha2VzIHRoYXQgSSdtIGFsd2F5cyBjYWxsaW5nIGds b2JhbCBidXR0b25zIGluc2lkZQ0KdGhlICJ+Ly5oeXBlcmIiIGZvbGRlci4NCg0KV2hlbiBJIHdv cmsgd2l0aCBvdGhlciBmaWxlcywgYW5kIGNoYW5nZSB3aGF0IGZvbGRlciBJJ20gaW4sIEh5cGVy Ym9sZQ0KZG9lc24ndCBzZWVtIHRvIGtub3cgdG8gY2hhbmdlIHRoZSBjdXJyZW50IHdvcmtpbmcg ZGlyZWN0b3J5IGJhY2sgdG8NCiJ+Ly5oeXBlcmIiIC0tIHNvLCB3aGVuIEkgY2FsbCBnbG9iYWwg YnV0dG9ucywgaXQncyBjYWxsaW5nIHRoZSByZWxhdGl2ZQ0KcGF0aCAoIi4uT3JnL05vdGVzLm9y ZyIpIGZyb20gdGhlIHBsYWNlIEknbSBjdXJyZW50bHkgd29ya2luZyAoc2F5LA0KIn4vV29yay9Q cm9qZWN0IDEiKS4NCg0KSWYgSSBjaGFuZ2VkIHRoZSBidXR0b24gbWV0YWRhdGEgdG8gcmVhZCAo In4vT3JnL05vdGVzLm9yZyIpIHRoZSBidXR0b24NCmltbWVkaWF0ZWx5IHdvcmtzIGFzIGludGVu ZGVkIC0tIGJ1dCBoYXZpbmcgdG8gbWFudWFsbHkgYWx0ZXIgZXZlcnkNCmdsb2JhbCBidXR0b24g c2VlbXMgbGlrZSBvZGQgYmVoYXZpb3IuDQoNCkxpa2UgSSBzYWlkLCBJIGRvbid0IGtub3cgaWYg dGhpcyBpcyBhIGJ1Zywgb3Igd2hhdC4gSSB1c3VhbGx5IGFzc3VtZQ0KaXQncyBtZSBkb2luZyBz b21ldGhpbmcgZHVtYiB0byBtYWtlIHRoaXMgc3R1ZmYgaGFwcGVuIC0tIGJ1dCB0byB0cnkgdG8N CmVsaW1pbmF0ZSB1c2VyIGVycm9yIEkgcXVpY2tseSB3cm90ZSBhbiBlbXB0eSAiLmVtYWNzIiBm aWxlIHRoYXQgKm9ubHkqDQpsb2FkZWQgSHlwZXJib2xlLCBhbmQgSSBzdGlsbCBzYXcgdGhlIHNh bWUgYmVoYXZpb3IuDQoNCk5vIGlkZWEhIEh5cGVyYm9sZSBzZWVtcyBjb29sIC0tIGlmIGl0J3Mg c29tZXRoaW5nIEknbSBkb2luZyB3cm9uZywgSSdkDQpsb3ZlIHRvIGZpeCBpdCENCg0KZXRiDQo= From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 05 17:10:19 2019 Received: (at 36107) by debbugs.gnu.org; 5 Jun 2019 21:10:19 +0000 Received: from localhost ([127.0.0.1]:48313 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hYdAp-0006HR-1S for submit@debbugs.gnu.org; Wed, 05 Jun 2019 17:10:19 -0400 Received: from mail-eopbgr690115.outbound.protection.outlook.com ([40.107.69.115]:42092 helo=NAM04-CO1-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hYcoI-0005iE-JQ for 36107@debbugs.gnu.org; Wed, 05 Jun 2019 16:47:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chamberlain.edu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vINezFxWp20S3gNsXmLRxz4O1Sfs3HGEyxF6fd9hFWw=; b=hmFfuztH0C4ixFvb8Iz0FQ4aj6Zpr8QwCQwnvu61lTGVTIUZf4y6HAv7YE+7lE9qadMTWXru0QXL9qvnTMPHAoOQU9GEwjPH/iFt52iJ4/j8eM0oFhpeyQghqMYc1+wLT6JOG3McfQ6BsR17StP2frV/xsQcI5G9hPJH2GwsgyQ= Received: from MN2PR05MB5999.namprd05.prod.outlook.com (20.178.244.83) by MN2PR05MB6141.namprd05.prod.outlook.com (20.178.241.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1965.12; Wed, 5 Jun 2019 20:46:55 +0000 Received: from MN2PR05MB5999.namprd05.prod.outlook.com ([fe80::fdb1:1f9d:89d0:50e9]) by MN2PR05MB5999.namprd05.prod.outlook.com ([fe80::fdb1:1f9d:89d0:50e9%7]) with mapi id 15.20.1965.011; Wed, 5 Jun 2019 20:46:55 +0000 From: To: "36107@debbugs.gnu.org" <36107@debbugs.gnu.org> Subject: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) Thread-Topic: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) Thread-Index: AQHVG9/PylPJnrj7ckWfvr3X6yun5w== Date: Wed, 5 Jun 2019 20:46:55 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [206.209.107.185] x-clientproxiedby: MN2PR12CA0007.namprd12.prod.outlook.com (2603:10b6:208:a8::20) To MN2PR05MB5999.namprd05.prod.outlook.com (2603:10b6:208:d1::19) authentication-results: spf=none (sender IP is ) smtp.mailfrom=EBemiller@chamberlain.edu; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 36a2c7ca-4eab-43d5-432e-08d6e9f6f226 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:MN2PR05MB6141; x-ms-traffictypediagnostic: MN2PR05MB6141: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1265; x-forefront-prvs: 00594E8DBA x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(366004)(396003)(39860400002)(136003)(376002)(346002)(189003)(199004)(256004)(53936002)(7736002)(6512007)(99286004)(52116002)(5660300002)(26005)(6506007)(386003)(80792005)(6916009)(73956011)(42882007)(486006)(66946007)(102836004)(88552002)(2616005)(558084003)(2501003)(36756003)(476003)(66476007)(66556008)(305945005)(81156014)(2906002)(6116002)(6486002)(66066001)(2351001)(5640700003)(64756008)(478600001)(3846002)(186003)(81166006)(4743002)(8676002)(75432002)(786003)(316002)(8936002)(68736007)(72206003)(25786009)(71190400001)(14454004)(6436002)(66446008)(71200400001); DIR:OUT; SFP:1102; SCL:1; SRVR:MN2PR05MB6141; H:MN2PR05MB5999.namprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: chamberlain.edu does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: m7IfIA7Z9QT0H1YBj4JG4E16XiegadoAo7BpfiYh4+rP5bWSzkaLnDlzWueiwKVKGz3jV4igYdU+IMdWA6Z6kwyakXicm1zhQ5g4p0cTwMkQqWnj8mvXOEbVLa6jZbhl0xVbybq6cY/6/cqsUyr+K+3nIBPEPlj+TZ4hfJ0XyBW7WhiqdufZTrTnGd6UFnPyyN93oAomU/klJiObTLTYfB/aDMaF4xEV1PLQjj2ougT0DvQywhh8rUprJBqErI+MRYtiLDDtgve/oZdVON4w7khEpdRnqIiXtTOD29iC9ThxYZpzMO1fuCuVyQbNrnO8TS6wExOiw3tplOn5NPKQxpwSTddUYVem5kx+1UMulDAElh1862ZmzgqBL+Vs5BJOv0Q5BQOPAt4egeHpoDsGJjACi4Z+FyMNgSkAvAX9jKE= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: dvuadmin.net X-MS-Exchange-CrossTenant-Network-Message-Id: 36a2c7ca-4eab-43d5-432e-08d6e9f6f226 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2019 20:46:55.6382 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 97fb1a07-66ed-4983-98cd-2b41977edc25 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: D40547914@dvuadmin.net X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR05MB6141 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 36107 X-Mailman-Approved-At: Wed, 05 Jun 2019 17:10:18 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) DQpJIGp1c3QgcmVhbGl6ZWQgSSBkaWRuJ3QgcHV0IGEgc3ViamVjdCBvbiBteSByZXBvcnQgLS0g b29wcyEgU29ycnkhDQoNCmV0Yg0KDQo= From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 06 02:21:58 2019 Received: (at 36107) by debbugs.gnu.org; 6 Jun 2019 06:21:58 +0000 Received: from localhost ([127.0.0.1]:48711 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hYlmf-0004Y3-9T for submit@debbugs.gnu.org; Thu, 06 Jun 2019 02:21:57 -0400 Received: from eggs.gnu.org ([209.51.188.92]:42901) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hYlmc-0004Xn-OH for 36107@debbugs.gnu.org; Thu, 06 Jun 2019 02:21:55 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:40454) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hYlmX-0003ck-Jn for 36107@debbugs.gnu.org; Thu, 06 Jun 2019 02:21:49 -0400 Received: from mail-lj1-f178.google.com ([209.85.208.178]:45590) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1hYlmW-0006AO-QK for 36107@debbugs.gnu.org; Thu, 06 Jun 2019 02:21:49 -0400 Received: by mail-lj1-f178.google.com with SMTP id m23so825714lje.12 for <36107@debbugs.gnu.org>; Wed, 05 Jun 2019 23:21:48 -0700 (PDT) X-Gm-Message-State: APjAAAU4M21ED/hXGhW2bpVXa4K6N8HDyFBNvI6QRyh+DHw16TJNNInl n003RDwRJsyx2wSbJnCx0VyXpBl8mD21JkRFrUM= X-Google-Smtp-Source: APXvYqyacrH8Zs1pMG2tyJUDH81K/TdesHFxnvidjxetM+YD/lthmnVYFAW84HvNkDX+fI5bz/7XKYNoX3fBzrXAzp8= X-Received: by 2002:a2e:2b19:: with SMTP id q25mr4273511lje.127.1559802107193; Wed, 05 Jun 2019 23:21:47 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Robert Weiner Date: Thu, 6 Jun 2019 02:21:20 -0400 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) To: d40547914@dvuadmin.net Content-Type: multipart/alternative; boundary="00000000000084efa9058aa1bab3" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 36107 Cc: "36107@debbugs.gnu.org" <36107@debbugs.gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: rswgnu@gmail.com Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --00000000000084efa9058aa1bab3 Content-Type: text/plain; charset="UTF-8" This is indeed a bug. Evaluate this function after loading Hyperbole and I believe this will resolve it. The default-directory was not set properly in this function. (defun hpath:find (filename &optional display-where) "Edits file FILENAME using user customizable settings of display program and location. FILENAME may start with a special prefix character which is handled as follows: !filename - execute as a non-windowed program within a shell; &filename - execute as a windowed program; -filename - load as an Emacs Lisp program. Otherwise, if FILENAME matches a regular expression in the alist returned by \(hpath:get-external-display-alist), the associated external display program is invoked. If not, `hpath:internal-display-alist' is consulted for a specialized internal display function to use. If no matches are found there, `hpath:display-where-alist' is consulted using the optional argument, DISPLAY-WHERE (a symbol) or if that is nil, the value of `hpath:display-where', and the matching display function is used. Allows for hash-style link references to HTML, Markdown or Emacs outline headings of the form, #. Returns non-nil iff file is displayed within a buffer (not with an external program)." (interactive "FFind file: ") (let ((case-fold-search t) modifier loc default-directory anchor hash path) (if (string-match hpath:prefix-regexp filename) (setq modifier (aref filename 0) filename (substring filename (match-end 0)))) (setq path (hpath:substitute-value (if (string-match hpath:markup-link-anchor-regexp filename) (progn (setq hash t anchor (match-string 3 filename)) (substring filename 0 (match-end 1))) filename)) loc (hattr:get 'hbut:current 'loc) default-directory (file-name-directory ;; Loc may be a buffer without a file (if (stringp loc) loc default-directory)) filename (hpath:absolute-to path default-directory)) (let ((remote-filename (hpath:remote-p path))) (or modifier remote-filename (file-exists-p filename) (error "(hpath:find): \"%s\" does not exist" filename)) (or modifier remote-filename (file-readable-p filename) (error "(hpath:find): \"%s\" is not readable" filename)) ;; If filename is a remote file (not a directory, we have to copy it to ;; a temporary local file and then display that. (when (and remote-filename (not (file-directory-p remote-filename))) (copy-file remote-filename (setq path (concat hpath:tmp-prefix (file-name-nondirectory remote-filename))) t t) (setq filename (cond (anchor (concat remote-filename "#" anchor)) (hash (concat remote-filename "#")) (t path))))) (cond (modifier (cond ((eq modifier ?!) (hact 'exec-shell-cmd filename)) ((eq modifier ?&) (hact 'exec-window-cmd filename)) ((eq modifier ?-) (load filename))) nil) (t (let ((display-executables (hpath:find-program path)) executable) (cond ((stringp display-executables) (hact 'exec-window-cmd (hpath:command-string display-executables filename)) nil) ((hypb:functionp display-executables) (funcall display-executables filename) t) ((and (listp display-executables) display-executables) (setq executable (hpath:find-executable display-executables)) (if executable (hact 'exec-window-cmd (hpath:command-string executable filename)) (error "(hpath:find): No available executable from: %s" display-executables))) (t (setq path (hpath:validate path)) (if (null display-where) (setq display-where hpath:display-where)) (funcall (car (cdr (or (assq display-where hpath:display-where-alist) (assq 'other-window hpath:display-where-alist)))) path) (if (or hash anchor) (hpath:to-markup-anchor hash anchor)) t))))))) On Wed, Jun 5, 2019 at 5:20 PM wrote: > > > I just realized I didn't put a subject on my report -- oops! Sorry! > > etb > > _______________________________________________ > Bug-hyperbole mailing list > Bug-hyperbole@gnu.org > https://lists.gnu.org/mailman/listinfo/bug-hyperbole --00000000000084efa9058aa1bab3 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
This is indeed a bug= .=C2=A0 Evaluate this function after loading Hyperbole and I believe this w= ill resolve it.=C2=A0 The default-directory was not set properly in this fu= nction.

(defun hpath:find (filename &optional display-where)
= =C2=A0 "Edits file FILENAME using user customizable settings of displa= y program and location.

FILENAME may start with a special prefix cha= racter which is
handled as follows:
=C2=A0 !filename =C2=A0- execute = as a non-windowed program within a shell;
=C2=A0 &filename =C2=A0- e= xecute as a windowed program;
=C2=A0 -filename =C2=A0- load as an Emacs = Lisp program.

Otherwise, if FILENAME matches a regular expression in= the alist returned by
\(hpath:get-external-display-alist), the associat= ed external display program is invoked.
If not, `hpath:internal-display-= alist' is consulted for a specialized internal
display function to u= se.=C2=A0 If no matches are found there,
`hpath:display-where-alist'= is consulted using the optional argument,
DISPLAY-WHERE (a symbol) or i= f that is nil, the value of
`hpath:display-where', and the matching = display function is used.

Allows for hash-style link references to H= TML, Markdown or Emacs outline
headings of the form, <file>#<an= chor-name>.

Returns non-nil iff file is displayed within a buffer= (not with an external
program)."
=C2=A0 (interactive "FFin= d file: ")
=C2=A0 (let ((case-fold-search t)
modifier loc defaul= t-directory anchor hash path)
=C2=A0 =C2=A0 (if (string-match hpath:pref= ix-regexp filename)
(setq modifier (aref filename 0)
=C2=A0 =C2=A0 = =C2=A0 filename (substring filename (match-end 0))))
=C2=A0 =C2=A0 (setq= path (hpath:substitute-value
(if (string-match hpath:markup-link-anchor= -regexp filename)
=C2=A0 =C2=A0 (progn (setq hash t
anchor (match-str= ing 3 filename))
=C2=A0 =C2=A0(substring filename 0 (match-end 1)))
= =C2=A0 filename))
=C2=A0 loc (hattr:get 'hbut:current 'loc)
= =C2=A0 default-directory (file-name-directory
=C2=A0 =C2=A0 =C2=A0;; Loc= may be a buffer without a file
=C2=A0 =C2=A0 =C2=A0(if (stringp loc) lo= c default-directory))
=C2=A0 filename (hpath:absolute-to path default-di= rectory))
=C2=A0 =C2=A0 (let ((remote-filename (hpath:remote-p path)))=C2=A0 =C2=A0 =C2=A0 (or modifier remote-filename
=C2=A0 (file-exists-= p filename)
=C2=A0 (error "(hpath:find): \"%s\" does not = exist" filename))
=C2=A0 =C2=A0 =C2=A0 (or modifier remote-filename=
=C2=A0 (file-readable-p filename)
=C2=A0 (error "(hpath:find): = \"%s\" is not readable" filename))
=C2=A0 =C2=A0 =C2=A0 ;= ; If filename is a remote file (not a directory, we have to copy it to
= =C2=A0 =C2=A0 =C2=A0 ;; a temporary local file and then display that.
= =C2=A0 =C2=A0 =C2=A0 (when (and remote-filename (not (file-directory-p remo= te-filename)))
(copy-file remote-filename
=C2=A0 =C2=A0(setq path (co= ncat hpath:tmp-prefix
=C2=A0 =C2=A0 =C2=A0 (file-name-nondirectory remot= e-filename)))
=C2=A0 =C2=A0t t)
(setq filename (cond (anchor (concat = remote-filename "#" anchor))
=C2=A0 =C2=A0 =C2=A0(hash =C2=A0 = (concat remote-filename "#"))
=C2=A0 =C2=A0 =C2=A0(t path)))))=
=C2=A0 =C2=A0 (cond (modifier (cond ((eq modifier ?!)
=C2=A0 =C2=A0(= hact 'exec-shell-cmd filename))
=C2=A0 ((eq modifier ?&)
=C2= =A0 =C2=A0(hact 'exec-window-cmd filename))
=C2=A0 ((eq modifier ?-)=
=C2=A0 =C2=A0(load filename)))
=C2=A0 =C2=A0 nil)
=C2=A0 (t (let = ((display-executables (hpath:find-program path))
=C2=A0 =C2=A0executable= )
=C2=A0 =C2=A0 =C2=A0 =C2=A0(cond ((stringp display-executables)
=C2= =A0 =C2=A0 =C2=A0 (hact 'exec-window-cmd
=C2=A0 =C2=A0 (hpath:comman= d-string display-executables
=C2=A0 filename))
=C2=A0 =C2=A0 =C2=A0 n= il)
=C2=A0 =C2=A0 =C2=A0((hypb:functionp display-executables)
=C2=A0 = =C2=A0 =C2=A0 (funcall display-executables filename)
=C2=A0 =C2=A0 =C2= =A0 t)
=C2=A0 =C2=A0 =C2=A0((and (listp display-executables) display-exe= cutables)
=C2=A0 =C2=A0 =C2=A0 (setq executable (hpath:find-executabledisplay-executables))
=C2=A0 =C2=A0 =C2=A0 (if executable
=C2=A0 (h= act 'exec-window-cmd
(hpath:command-string executable
=C2=A0 =C2= =A0 =C2=A0 filename))
(error "(hpath:find): No available executable= from: %s"
=C2=A0 =C2=A0 =C2=A0 =C2=A0display-executables)))
=C2= =A0 =C2=A0 =C2=A0(t (setq path (hpath:validate path))
(if (null display-= where)
=C2=A0 =C2=A0 (setq display-where hpath:display-where))
(funca= ll
(car (cdr (or (assq display-where
=C2=A0 =C2=A0 =C2=A0hpath:displa= y-where-alist)
=C2=A0 =C2=A0 =C2=A0 =C2=A0(assq 'other-window
=C2= =A0 =C2=A0 =C2=A0hpath:display-where-alist))))
path)
(if (or hash anc= hor) (hpath:to-markup-anchor hash anchor))
t)))))))

On Wed, Jun 5= , 2019 at 5:20 PM <d40547914@d= vuadmin.net> wrote:
>
>
> I just realized I didn&#= 39;t put a subject on my report -- oops! Sorry!
>
> etb
>=
> _______________________________________________
> Bug-hyperb= ole mailing list
> Bug-hyper= bole@gnu.org
> https://lists.gnu.org/mailman/listinfo/bug-hyperbole
--00000000000084efa9058aa1bab3-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 06 07:58:52 2019 Received: (at 36107) by debbugs.gnu.org; 6 Jun 2019 11:58:52 +0000 Received: from localhost ([127.0.0.1]:49124 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hYr2h-0006c2-Ti for submit@debbugs.gnu.org; Thu, 06 Jun 2019 07:58:52 -0400 Received: from mail-eopbgr790127.outbound.protection.outlook.com ([40.107.79.127]:31128 helo=NAM03-CO1-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hYr2f-0006bm-DC for 36107@debbugs.gnu.org; Thu, 06 Jun 2019 07:58:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chamberlain.edu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xnc3iFWzoiSDlVx7U7PSKvxxR2wvfp442Z88P2sOb8o=; b=RPU4XcDolGr8+QED+WDTomCs+KCvFkEtmfu6vBItEDS11RYgaisVzihAio4w7uinYcI61ynQeNXAd3CCohY3CF1AhRsBInK2UFw1oZeP6iv2n4hkj6aEHRPIiPRzTHgO88dOEMXMroebA2D3M2+CtgKVlSW1cyJ+71m6Cudqeq0= Received: from MN2PR05MB5999.namprd05.prod.outlook.com (20.178.244.83) by MN2PR05MB6461.namprd05.prod.outlook.com (20.178.249.30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1965.12; Thu, 6 Jun 2019 11:58:41 +0000 Received: from MN2PR05MB5999.namprd05.prod.outlook.com ([fe80::fdb1:1f9d:89d0:50e9]) by MN2PR05MB5999.namprd05.prod.outlook.com ([fe80::fdb1:1f9d:89d0:50e9%7]) with mapi id 15.20.1965.011; Thu, 6 Jun 2019 11:58:41 +0000 From: To: Robert Weiner Subject: Re: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) Thread-Topic: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) Thread-Index: AQHVG9/PylPJnrj7ckWfvr3X6yun5w== Date: Thu, 6 Jun 2019 11:58:41 +0000 Message-ID: References: In-Reply-To: (Robert Weiner's message of "Thu, 6 Jun 2019 02:21:20 -0400") Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [2606:a000:120a:c214:74ac:9d36:ab8:4bc0] x-clientproxiedby: BL0PR05CA0021.namprd05.prod.outlook.com (2603:10b6:208:91::31) To MN2PR05MB5999.namprd05.prod.outlook.com (2603:10b6:208:d1::19) authentication-results: spf=none (sender IP is ) smtp.mailfrom=EBemiller@chamberlain.edu; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3a4dfd80-00fb-4975-51c8-08d6ea765161 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:MN2PR05MB6461; x-ms-traffictypediagnostic: MN2PR05MB6461: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2399; x-forefront-prvs: 00603B7EEF x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(346002)(136003)(366004)(396003)(376002)(39860400002)(199004)(189003)(8676002)(66556008)(446003)(186003)(66946007)(2906002)(486006)(80792005)(14454004)(8936002)(52116002)(71190400001)(81166006)(6486002)(81156014)(11346002)(46003)(6116002)(6916009)(72206003)(102836004)(6436002)(6506007)(7736002)(76176011)(386003)(305945005)(478600001)(6512007)(99286004)(14444005)(36756003)(6246003)(66446008)(73956011)(64756008)(256004)(229853002)(42882007)(2616005)(88552002)(786003)(5660300002)(4326008)(75432002)(316002)(54906003)(68736007)(25786009)(71200400001)(53936002)(66476007)(476003); DIR:OUT; SFP:1102; SCL:1; SRVR:MN2PR05MB6461; H:MN2PR05MB5999.namprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: chamberlain.edu does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: raNXxysiw+BPj0ePR4ViIvAYdvnb1x3/5u7bx1/wm0h2SUn0R2dYJ66Nc7JmMdFTngfAcy4myAcztG/ZjHhhrR16bmZR6rAxIuuJ1ImMBFm/cycssPnvQ4LHq36HwftvwRIEuR2VDq/PY07CDqexZtdsZbijFG5gqWnoboE+8EELoVpwg38TobBEwNL5w9VfrRK9B00zmj/PvMmIbYNgCuFNA7zUJdt1SkJcGIT5dqXn90dg6lOrEjUOGOZYM4unNPjjCfd8MLWoGCrIJEvqPZcMwbd2oHlb73+MzElq/tdBHyh60dnSCt1gm0rpSiQim9aEl60pppwPmPsHomR36XGQ+hLwGDAWHezuze9OnPNgIV0gE2kMchoEpd+iqhDOOC0cloPXvdCU9e3ClkIqzG14aI5mP8WI47ITNRApMk0= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: dvuadmin.net X-MS-Exchange-CrossTenant-Network-Message-Id: 3a4dfd80-00fb-4975-51c8-08d6ea765161 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jun 2019 11:58:41.5394 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 97fb1a07-66ed-4983-98cd-2b41977edc25 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: D40547914@dvuadmin.net X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR05MB6461 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 36107 Cc: "rswgnu@gmail.com" , "36107@debbugs.gnu.org" <36107@debbugs.gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) DQpUaGFua3MgZm9yIGxvb2tpbmcgYXQgaXQhDQoNCkdvdCBhbiBlcnJvciB3aXRoIHRoYXQgY29k ZSwgdGhvdWdoIC0tIGhlcmUncyB3aGF0IEkgZGlkOg0KDQoxLiBMb2FkZWQgRW1hY3MuIEh5cGVy Ym9sZSBhdXRvLWxvYWRlZC4NCg0KMi4gSW52b2tlZCB0aGUgIk5vdGVzIiBnbG9iYWwgYnV0dG9u IC0tIGp1c3QgdG8gbWFrZSBzdXJlIEh5cGVyYm9sZSB3YXMNCiAgIHJ1bm5pbmcgYW5kIGdvb2Qg dG8gZ28uDQogICANCjMuIEV2YWx1YXRlZCBwcm92aWRlZCBjb2RlDQoNCjQuIEludm9rZWQgIk5v dGVzIiBnbG9iYWwgYnV0dG9uIGFnYWluIGFuZCB0aGlzIGlzIHdoYXQgdGhlIGRlYnVnZ2VyDQog ICBnYXZlIG1lOg0KDQpEZWJ1Z2dlciBlbnRlcmVkLS1MaXNwIGVycm9yOiAodm9pZC1mdW5jdGlv biBoeXBiOmZ1bmN0aW9ucCkNCiAgKGh5cGI6ZnVuY3Rpb25wIGRpc3BsYXktZXhlY3V0YWJsZXMp DQogIChjb25kICgoc3RyaW5ncCBkaXNwbGF5LWV4ZWN1dGFibGVzKSAoZnVuY2FsbCBocnVsZTph Y3Rpb24gKHF1b3RlIGV4ZWMtd2luZG93LWNtZCkgKGhwYXRoOmNvbW1hbmQtc3RyaW5nIGRpc3Bs YXktZXhlY3V0YWJsZXMgZmlsZW5hbWUpKSBuaWwpICgoaHlwYjpmdW5jdGlvbnAgZGlzcGxheS1l eGVjdXRhYmxlcykgKGZ1bmNhbGwgZGlzcGxheS1leGVjdXRhYmxlcyBmaWxlbmFtZSkgdCkgKChh bmQgKGxpc3RwIGRpc3BsYXktZXhlY3V0YWJsZXMpIGRpc3BsYXktZXhlY3V0YWJsZXMpIChzZXRx IGV4ZWN1dGFibGUgKGhwYXRoOmZpbmQtZXhlY3V0YWJsZSBkaXNwbGF5LWV4ZWN1dGFibGVzKSkg KGlmIGV4ZWN1dGFibGUgKGZ1bmNhbGwgaHJ1bGU6YWN0aW9uIChxdW90ZSBleGVjLXdpbmRvdy1j bWQpIChocGF0aDpjb21tYW5kLXN0cmluZyBleGVjdXRhYmxlIGZpbGVuYW1lKSkgKGVycm9yICIo aHBhdGg6ZmluZCk6IE5vIGF2YWlsYWJsZSBleGVjdXRhYmxlIGZyb206ICVzIiBkaXNwbGF5LWV4 ZWN1dGFibGVzKSkpICh0IChzZXRxIHBhdGggKGhwYXRoOnZhbGlkYXRlIHBhdGgpKSAoaWYgKG51 bGwgZGlzcGxheS13aGVyZSkgKHNldHEgZGlzcGxheS13aGVyZSBocGF0aDpkaXNwbGF5LXdoZXJl KSkgKGZ1bmNhbGwgKGNhciAoY2RyIChvciAoYXNzcSBkaXNwbGF5LXdoZXJlIGhwYXRoOmRpc3Bs YXktd2hlcmUtYWxpc3QpIChhc3NxIChxdW90ZSBvdGhlci13aW5kb3cpIGhwYXRoOmRpc3BsYXkt d2hlcmUtYWxpc3QpKSkpIHBhdGgpIChpZiAob3IgaGFzaCBhbmNob3IpIChocGF0aDp0by1tYXJr dXAtYW5jaG9yIGhhc2ggYW5jaG9yKSkgdCkpDQogIChsZXQgKChkaXNwbGF5LWV4ZWN1dGFibGVz IChocGF0aDpmaW5kLXByb2dyYW0gcGF0aCkpIGV4ZWN1dGFibGUpIChjb25kICgoc3RyaW5ncCBk aXNwbGF5LWV4ZWN1dGFibGVzKSAoZnVuY2FsbCBocnVsZTphY3Rpb24gKHF1b3RlIGV4ZWMtd2lu ZG93LWNtZCkgKGhwYXRoOmNvbW1hbmQtc3RyaW5nIGRpc3BsYXktZXhlY3V0YWJsZXMgZmlsZW5h bWUpKSBuaWwpICgoaHlwYjpmdW5jdGlvbnAgZGlzcGxheS1leGVjdXRhYmxlcykgKGZ1bmNhbGwg ZGlzcGxheS1leGVjdXRhYmxlcyBmaWxlbmFtZSkgdCkgKChhbmQgKGxpc3RwIGRpc3BsYXktZXhl Y3V0YWJsZXMpIGRpc3BsYXktZXhlY3V0YWJsZXMpIChzZXRxIGV4ZWN1dGFibGUgKGhwYXRoOmZp bmQtZXhlY3V0YWJsZSBkaXNwbGF5LWV4ZWN1dGFibGVzKSkgKGlmIGV4ZWN1dGFibGUgKGZ1bmNh bGwgaHJ1bGU6YWN0aW9uIChxdW90ZSBleGVjLXdpbmRvdy1jbWQpIChocGF0aDpjb21tYW5kLXN0 cmluZyBleGVjdXRhYmxlIGZpbGVuYW1lKSkgKGVycm9yICIoaHBhdGg6ZmluZCk6IE5vIGF2YWls YWJsZSBleGVjdXRhYmxlIGZyb206ICVzIiBkaXNwbGF5LWV4ZWN1dGFibGVzKSkpICh0IChzZXRx IHBhdGggKGhwYXRoOnZhbGlkYXRlIHBhdGgpKSAoaWYgKG51bGwgZGlzcGxheS13aGVyZSkgKHNl dHEgZGlzcGxheS13aGVyZSBocGF0aDpkaXNwbGF5LXdoZXJlKSkgKGZ1bmNhbGwgKGNhciAoY2Ry IChvciAoYXNzcSBkaXNwbGF5LXdoZXJlIGhwYXRoOmRpc3BsYXktd2hlcmUtYWxpc3QpIChhc3Nx IC4uLiBocGF0aDpkaXNwbGF5LXdoZXJlLWFsaXN0KSkpKSBwYXRoKSAoaWYgKG9yIGhhc2ggYW5j aG9yKSAoaHBhdGg6dG8tbWFya3VwLWFuY2hvciBoYXNoIGFuY2hvcikpIHQpKSkNCiAgKGNvbmQg KG1vZGlmaWVyIChjb25kICgoZXEgbW9kaWZpZXIgMzMpIChmdW5jYWxsIGhydWxlOmFjdGlvbiAo cXVvdGUgZXhlYy1zaGVsbC1jbWQpIGZpbGVuYW1lKSkgKChlcSBtb2RpZmllciAzOCkgKGZ1bmNh bGwgaHJ1bGU6YWN0aW9uIChxdW90ZSBleGVjLXdpbmRvdy1jbWQpIGZpbGVuYW1lKSkgKChlcSBt b2RpZmllciA0NSkgKGxvYWQgZmlsZW5hbWUpKSkgbmlsKSAodCAobGV0ICgoZGlzcGxheS1leGVj dXRhYmxlcyAoaHBhdGg6ZmluZC1wcm9ncmFtIHBhdGgpKSBleGVjdXRhYmxlKSAoY29uZCAoKHN0 cmluZ3AgZGlzcGxheS1leGVjdXRhYmxlcykgKGZ1bmNhbGwgaHJ1bGU6YWN0aW9uIChxdW90ZSBl eGVjLXdpbmRvdy1jbWQpIChocGF0aDpjb21tYW5kLXN0cmluZyBkaXNwbGF5LWV4ZWN1dGFibGVz IGZpbGVuYW1lKSkgbmlsKSAoKGh5cGI6ZnVuY3Rpb25wIGRpc3BsYXktZXhlY3V0YWJsZXMpIChm dW5jYWxsIGRpc3BsYXktZXhlY3V0YWJsZXMgZmlsZW5hbWUpIHQpICgoYW5kIChsaXN0cCBkaXNw bGF5LWV4ZWN1dGFibGVzKSBkaXNwbGF5LWV4ZWN1dGFibGVzKSAoc2V0cSBleGVjdXRhYmxlICho cGF0aDpmaW5kLWV4ZWN1dGFibGUgZGlzcGxheS1leGVjdXRhYmxlcykpIChpZiBleGVjdXRhYmxl IChmdW5jYWxsIGhydWxlOmFjdGlvbiAocXVvdGUgZXhlYy13aW5kb3ctY21kKSAoaHBhdGg6Y29t bWFuZC1zdHJpbmcgZXhlY3V0YWJsZSBmaWxlbmFtZSkpIChlcnJvciAiKGhwYXRoOmZpbmQpOiBO byBhdmFpbGFibGUgZXhlY3V0YWJsZSBmcm9tOiAlcyIgZGlzcGxheS1leGVjdXRhYmxlcykpKSAo dCAoc2V0cSBwYXRoIChocGF0aDp2YWxpZGF0ZSBwYXRoKSkgKGlmIChudWxsIGRpc3BsYXktd2hl cmUpIChzZXRxIGRpc3BsYXktd2hlcmUgaHBhdGg6ZGlzcGxheS13aGVyZSkpIChmdW5jYWxsIChj YXIgKGNkciAuLi4pKSBwYXRoKSAoaWYgKG9yIGhhc2ggYW5jaG9yKSAoaHBhdGg6dG8tbWFya3Vw LWFuY2hvciBoYXNoIGFuY2hvcikpIHQpKSkpKQ0KICAobGV0ICgoY2FzZS1mb2xkLXNlYXJjaCB0 KSBtb2RpZmllciBsb2MgZGVmYXVsdC1kaXJlY3RvcnkgYW5jaG9yIGhhc2ggcGF0aCkgKGlmIChz dHJpbmctbWF0Y2ggaHBhdGg6cHJlZml4LXJlZ2V4cCBmaWxlbmFtZSkgKHNldHEgbW9kaWZpZXIg KGFyZWYgZmlsZW5hbWUgMCkgZmlsZW5hbWUgKHN1YnN0cmluZyBmaWxlbmFtZSAobWF0Y2gtZW5k IDApKSkpIChzZXRxIHBhdGggKGhwYXRoOnN1YnN0aXR1dGUtdmFsdWUgKGlmIChzdHJpbmctbWF0 Y2ggaHBhdGg6bWFya3VwLWxpbmstYW5jaG9yLXJlZ2V4cCBmaWxlbmFtZSkgKHByb2duIChzZXRx IGhhc2ggdCBhbmNob3IgKG1hdGNoLXN0cmluZyAzIGZpbGVuYW1lKSkgKHN1YnN0cmluZyBmaWxl bmFtZSAwIChtYXRjaC1lbmQgMSkpKSBmaWxlbmFtZSkpIGxvYyAoaGF0dHI6Z2V0IChxdW90ZSBo YnV0OmN1cnJlbnQpIChxdW90ZSBsb2MpKSBkZWZhdWx0LWRpcmVjdG9yeSAoZmlsZS1uYW1lLWRp cmVjdG9yeSAoaWYgKHN0cmluZ3AgbG9jKSBsb2MgZGVmYXVsdC1kaXJlY3RvcnkpKSBmaWxlbmFt ZSAoaHBhdGg6YWJzb2x1dGUtdG8gcGF0aCBkZWZhdWx0LWRpcmVjdG9yeSkpIChsZXQgKChyZW1v dGUtZmlsZW5hbWUgKGhwYXRoOnJlbW90ZS1wIHBhdGgpKSkgKG9yIG1vZGlmaWVyIHJlbW90ZS1m aWxlbmFtZSAoZmlsZS1leGlzdHMtcCBmaWxlbmFtZSkgKGVycm9yICIoaHBhdGg6ZmluZCk6IFwi JXNcIiBkb2VzIG5vdCBleGlzdCIgZmlsZW5hbWUpKSAob3IgbW9kaWZpZXIgcmVtb3RlLWZpbGVu YW1lIChmaWxlLXJlYWRhYmxlLXAgZmlsZW5hbWUpIChlcnJvciAiKGhwYXRoOmZpbmQpOiBcIiVz XCIgaXMgbm90IHJlYWRhYmxlIiBmaWxlbmFtZSkpIChpZiAoYW5kIHJlbW90ZS1maWxlbmFtZSAo bm90IChmaWxlLWRpcmVjdG9yeS1wIHJlbW90ZS1maWxlbmFtZSkpKSAocHJvZ24gKGNvcHktZmls ZSByZW1vdGUtZmlsZW5hbWUgKHNldHEgcGF0aCAoY29uY2F0IGhwYXRoOnRtcC1wcmVmaXggKGZp bGUtbmFtZS1ub25kaXJlY3RvcnkgcmVtb3RlLWZpbGVuYW1lKSkpIHQgdCkgKHNldHEgZmlsZW5h bWUgKGNvbmQgKGFuY2hvciAoY29uY2F0IHJlbW90ZS1maWxlbmFtZSAiIyIgYW5jaG9yKSkgKGhh c2ggKGNvbmNhdCByZW1vdGUtZmlsZW5hbWUgIiMiKSkgKHQgcGF0aCkpKSkpKSAoY29uZCAobW9k aWZpZXIgKGNvbmQgKChlcSBtb2RpZmllciAzMykgKGZ1bmNhbGwgaHJ1bGU6YWN0aW9uIChxdW90 ZSBleGVjLXNoZWxsLWNtZCkgZmlsZW5hbWUpKSAoKGVxIG1vZGlmaWVyIDM4KSAoZnVuY2FsbCBo cnVsZTphY3Rpb24gKHF1b3RlIGV4ZWMtd2luZG93LWNtZCkgZmlsZW5hbWUpKSAoKGVxIG1vZGlm aWVyIDQ1KSAobG9hZCBmaWxlbmFtZSkpKSBuaWwpICh0IChsZXQgKChkaXNwbGF5LWV4ZWN1dGFi bGVzIChocGF0aDpmaW5kLXByb2dyYW0gcGF0aCkpIGV4ZWN1dGFibGUpIChjb25kICgoc3RyaW5n cCBkaXNwbGF5LWV4ZWN1dGFibGVzKSAoZnVuY2FsbCBocnVsZTphY3Rpb24gKHF1b3RlIGV4ZWMt d2luZG93LWNtZCkgKGhwYXRoOmNvbW1hbmQtc3RyaW5nIGRpc3BsYXktZXhlY3V0YWJsZXMgZmls ZW5hbWUpKSBuaWwpICgoaHlwYjpmdW5jdGlvbnAgZGlzcGxheS1leGVjdXRhYmxlcykgKGZ1bmNh bGwgZGlzcGxheS1leGVjdXRhYmxlcyBmaWxlbmFtZSkgdCkgKChhbmQgKGxpc3RwIGRpc3BsYXkt ZXhlY3V0YWJsZXMpIGRpc3BsYXktZXhlY3V0YWJsZXMpIChzZXRxIGV4ZWN1dGFibGUgKGhwYXRo OmZpbmQtZXhlY3V0YWJsZSBkaXNwbGF5LWV4ZWN1dGFibGVzKSkgKGlmIGV4ZWN1dGFibGUgKGZ1 bmNhbGwgaHJ1bGU6YWN0aW9uIC4uLiAuLi4pIChlcnJvciAiKGhwYXRoOmZpbmQpOiBObyBhdmFp bGFibGUgZXhlY3V0YWJsZSBmcm9tOiAlcyIgZGlzcGxheS1leGVjdXRhYmxlcykpKSAodCAoc2V0 cSBwYXRoIChocGF0aDp2YWxpZGF0ZSBwYXRoKSkgKGlmIChudWxsIGRpc3BsYXktd2hlcmUpIChz ZXRxIGRpc3BsYXktd2hlcmUgaHBhdGg6ZGlzcGxheS13aGVyZSkpIChmdW5jYWxsIChjYXIgLi4u KSBwYXRoKSAoaWYgKG9yIGhhc2ggYW5jaG9yKSAoaHBhdGg6dG8tbWFya3VwLWFuY2hvciBoYXNo IGFuY2hvcikpIHQpKSkpKSkNCiAgaHBhdGg6ZmluZCgiLi4vT3JnL05vdGVzLm9yZyIpDQogICNm KGNvbXBpbGVkLWZ1bmN0aW9uIChwYXRoICZvcHRpb25hbCBwb2ludCkgKGludGVyYWN0aXZlICNm KGNvbXBpbGVkLWZ1bmN0aW9uICgpICM8Ynl0ZWNvZGUgMHgxZmYwYWVkPikpICM8Ynl0ZWNvZGUg MHgxZWU1M2RkPikoIi4uL09yZy9Ob3Rlcy5vcmciKQ0KICBhcHBseSgjZihjb21waWxlZC1mdW5j dGlvbiAocGF0aCAmb3B0aW9uYWwgcG9pbnQpIChpbnRlcmFjdGl2ZSAjZihjb21waWxlZC1mdW5j dGlvbiAoKSAjPGJ5dGVjb2RlIDB4MjMxMzZhNT4pKSAjPGJ5dGVjb2RlIDB4MWVlNTNkZD4pICIu Li9PcmcvTm90ZXMub3JnIikNCiAgZXZhbCgoYXBwbHkgYWN0aW9uIGFyZ3MpKQ0KICBhY3R5cGU6 YWN0KGFjdHlwZXM6OmxpbmstdG8tZmlsZSAiLi4vT3JnL05vdGVzLm9yZyIpDQogIGFwcGx5KGFj dHlwZTphY3QgYWN0eXBlczo6bGluay10by1maWxlICIuLi9PcmcvTm90ZXMub3JnIikNCiAgaGJ1 dDphY3QoaGJ1dDpjdXJyZW50KQ0KICBnYnV0OmFjdCgiTm90ZXMiKQ0KICBmdW5jYWxsLWludGVy YWN0aXZlbHkoZ2J1dDphY3QgIk5vdGVzIikNCiAgY2FsbC1pbnRlcmFjdGl2ZWx5KGdidXQ6YWN0 KQ0KICBodWk6bWVudS1hY3QoaHlwZXJib2xlIG5pbCBuaWwgbmlsKQ0KICBoeXBlcmJvbGUobmls IG5pbCBuaWwgbmlsKQ0KICBmdW5jYWxsLWludGVyYWN0aXZlbHkoaHlwZXJib2xlIG5pbCBuaWwg bmlsIG5pbCkNCiAgY2FsbC1pbnRlcmFjdGl2ZWx5KGh5cGVyYm9sZSBuaWwgbmlsKQ0KICBjb21t YW5kLWV4ZWN1dGUoaHlwZXJib2xlKQ0K From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 06 08:57:43 2019 Received: (at 36107) by debbugs.gnu.org; 6 Jun 2019 12:57:43 +0000 Received: from localhost ([127.0.0.1]:49232 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hYrxe-000863-Rz for submit@debbugs.gnu.org; Thu, 06 Jun 2019 08:57:43 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46029) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hYrxd-00085q-6J for 36107@debbugs.gnu.org; Thu, 06 Jun 2019 08:57:41 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:44985) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hYrxU-0000eh-L7 for 36107@debbugs.gnu.org; Thu, 06 Jun 2019 08:57:34 -0400 Received: from mail-lj1-f171.google.com ([209.85.208.171]:39087) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1hYrxS-000240-HA for 36107@debbugs.gnu.org; Thu, 06 Jun 2019 08:57:32 -0400 Received: by mail-lj1-f171.google.com with SMTP id v18so1916632ljh.6 for <36107@debbugs.gnu.org>; Thu, 06 Jun 2019 05:57:30 -0700 (PDT) X-Gm-Message-State: APjAAAWJREUJ+kooepqLAMR47vlj8qpV5ZOXS1GbJzlQ3hpQFTJlA8wu YVKSrC8dkvxwsHvwRY5w+zfmi5Fyfy7eaqJrep0= X-Google-Smtp-Source: APXvYqz5s1zbfgOSqEt+GSHUy6HkPdrdHaWnUV9aoet9J/dxd4qNCyAkAc4j+biK1LvmIEygFy2rPbeWRaB3H5LsVe8= X-Received: by 2002:a2e:89d0:: with SMTP id c16mr13850231ljk.219.1559825849116; Thu, 06 Jun 2019 05:57:29 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Robert Weiner Date: Thu, 6 Jun 2019 08:57:02 -0400 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) To: d40547914@dvuadmin.net Content-Type: multipart/alternative; boundary="000000000000a5ee9d058aa741f1" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 36107 Cc: "36107@debbugs.gnu.org" <36107@debbugs.gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: rswgnu@gmail.com Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --000000000000a5ee9d058aa741f1 Content-Type: text/plain; charset="UTF-8" Strange as hypb:functionp is marked to be autoloaded and should be in hyperbole-autoloads.el. Check if it is or not. Load it manually and then test: {M-x load-lib RET hypb RET} On Thu, Jun 6, 2019 at 7:58 AM wrote: > > Thanks for looking at it! > > Got an error with that code, though -- here's what I did: > > 1. Loaded Emacs. Hyperbole auto-loaded. > > 2. Invoked the "Notes" global button -- just to make sure Hyperbole was > running and good to go. > > 3. Evaluated provided code > > 4. Invoked "Notes" global button again and this is what the debugger > gave me: > > Debugger entered--Lisp error: (void-function hypb:functionp) > (hypb:functionp display-executables) > (cond ((stringp display-executables) (funcall hrule:action (quote > exec-window-cmd) (hpath:command-string display-executables filename)) nil) > ((hypb:functionp display-executables) (funcall display-executables > filename) t) ((and (listp display-executables) display-executables) (setq > executable (hpath:find-executable display-executables)) (if executable > (funcall hrule:action (quote exec-window-cmd) (hpath:command-string > executable filename)) (error "(hpath:find): No available executable from: > %s" display-executables))) (t (setq path (hpath:validate path)) (if (null > display-where) (setq display-where hpath:display-where)) (funcall (car (cdr > (or (assq display-where hpath:display-where-alist) (assq (quote > other-window) hpath:display-where-alist)))) path) (if (or hash anchor) > (hpath:to-markup-anchor hash anchor)) t)) > (let ((display-executables (hpath:find-program path)) executable) (cond > ((stringp display-executables) (funcall hrule:action (quote > exec-window-cmd) (hpath:command-string display-executables filename)) nil) > ((hypb:functionp display-executables) (funcall display-executables > filename) t) ((and (listp display-executables) display-executables) (setq > executable (hpath:find-executable display-executables)) (if executable > (funcall hrule:action (quote exec-window-cmd) (hpath:command-string > executable filename)) (error "(hpath:find): No available executable from: > %s" display-executables))) (t (setq path (hpath:validate path)) (if (null > display-where) (setq display-where hpath:display-where)) (funcall (car (cdr > (or (assq display-where hpath:display-where-alist) (assq ... > hpath:display-where-alist)))) path) (if (or hash anchor) > (hpath:to-markup-anchor hash anchor)) t))) > (cond (modifier (cond ((eq modifier 33) (funcall hrule:action (quote > exec-shell-cmd) filename)) ((eq modifier 38) (funcall hrule:action (quote > exec-window-cmd) filename)) ((eq modifier 45) (load filename))) nil) (t > (let ((display-executables (hpath:find-program path)) executable) (cond > ((stringp display-executables) (funcall hrule:action (quote > exec-window-cmd) (hpath:command-string display-executables filename)) nil) > ((hypb:functionp display-executables) (funcall display-executables > filename) t) ((and (listp display-executables) display-executables) (setq > executable (hpath:find-executable display-executables)) (if executable > (funcall hrule:action (quote exec-window-cmd) (hpath:command-string > executable filename)) (error "(hpath:find): No available executable from: > %s" display-executables))) (t (setq path (hpath:validate path)) (if (null > display-where) (setq display-where hpath:display-where)) (funcall (car (cdr > ...)) path) (if (or hash anchor) (hpath:to-markup-anchor hash anchor)) > t))))) > (let ((case-fold-search t) modifier loc default-directory anchor hash > path) (if (string-match hpath:prefix-regexp filename) (setq modifier (aref > filename 0) filename (substring filename (match-end 0)))) (setq path > (hpath:substitute-value (if (string-match hpath:markup-link-anchor-regexp > filename) (progn (setq hash t anchor (match-string 3 filename)) (substring > filename 0 (match-end 1))) filename)) loc (hattr:get (quote hbut:current) > (quote loc)) default-directory (file-name-directory (if (stringp loc) loc > default-directory)) filename (hpath:absolute-to path default-directory)) > (let ((remote-filename (hpath:remote-p path))) (or modifier remote-filename > (file-exists-p filename) (error "(hpath:find): \"%s\" does not exist" > filename)) (or modifier remote-filename (file-readable-p filename) (error > "(hpath:find): \"%s\" is not readable" filename)) (if (and remote-filename > (not (file-directory-p remote-filename))) (progn (copy-file remote-filename > (setq path (concat hpath:tmp-prefix (file-name-nondirectory > remote-filename))) t t) (setq filename (cond (anchor (concat > remote-filename "#" anchor)) (hash (concat remote-filename "#")) (t > path)))))) (cond (modifier (cond ((eq modifier 33) (funcall hrule:action > (quote exec-shell-cmd) filename)) ((eq modifier 38) (funcall hrule:action > (quote exec-window-cmd) filename)) ((eq modifier 45) (load filename))) nil) > (t (let ((display-executables (hpath:find-program path)) executable) (cond > ((stringp display-executables) (funcall hrule:action (quote > exec-window-cmd) (hpath:command-string display-executables filename)) nil) > ((hypb:functionp display-executables) (funcall display-executables > filename) t) ((and (listp display-executables) display-executables) (setq > executable (hpath:find-executable display-executables)) (if executable > (funcall hrule:action ... ...) (error "(hpath:find): No available > executable from: %s" display-executables))) (t (setq path (hpath:validate > path)) (if (null display-where) (setq display-where hpath:display-where)) > (funcall (car ...) path) (if (or hash anchor) (hpath:to-markup-anchor hash > anchor)) t)))))) > hpath:find("../Org/Notes.org") > #f(compiled-function (path &optional point) (interactive > #f(compiled-function () #)) # 0x1ee53dd>)("../Org/Notes.org") > apply(#f(compiled-function (path &optional point) (interactive > #f(compiled-function () #)) #) > "../Org/Notes.org") > eval((apply action args)) > actype:act(actypes::link-to-file "../Org/Notes.org") > apply(actype:act actypes::link-to-file "../Org/Notes.org") > hbut:act(hbut:current) > gbut:act("Notes") > funcall-interactively(gbut:act "Notes") > call-interactively(gbut:act) > hui:menu-act(hyperbole nil nil nil) > hyperbole(nil nil nil nil) > funcall-interactively(hyperbole nil nil nil nil) > call-interactively(hyperbole nil nil) > command-execute(hyperbole) > --000000000000a5ee9d058aa741f1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

Strange as hypb:functionp is mark= ed to be autoloaded and should be in hyperbole-autoloads.el.=C2=A0 Check if= it is or not.=C2=A0 Load it manually and then test:

=C2=A0 =C2=A0{= M-x load-lib RET hypb RET}

On Thu, Jun 6, 2019 at 7:58 AM <d40547914@dvuadmin.net> wrote:

Thanks for looking at it!

Got an error with that code, though -- here's what I did:

1. Loaded Emacs. Hyperbole auto-loaded.

2. Invoked the "Notes" global button -- just to make sure Hyperbo= le was
=C2=A0 =C2=A0running and good to go.

3. Evaluated provided code

4. Invoked "Notes" global button again and this is what the debug= ger
=C2=A0 =C2=A0gave me:

Debugger entered--Lisp error: (void-function hypb:functionp)
=C2=A0 (hypb:functionp display-executables)
=C2=A0 (cond ((stringp display-executables) (funcall hrule:action (quote ex= ec-window-cmd) (hpath:command-string display-executables filename)) nil) ((= hypb:functionp display-executables) (funcall display-executables filename) = t) ((and (listp display-executables) display-executables) (setq executable = (hpath:find-executable display-executables)) (if executable (funcall hrule:= action (quote exec-window-cmd) (hpath:command-string executable filename)) = (error "(hpath:find): No available executable from: %s" display-e= xecutables))) (t (setq path (hpath:validate path)) (if (null display-where)= (setq display-where hpath:display-where)) (funcall (car (cdr (or (assq dis= play-where hpath:display-where-alist) (assq (quote other-window) hpath:disp= lay-where-alist)))) path) (if (or hash anchor) (hpath:to-markup-anchor hash= anchor)) t))
=C2=A0 (let ((display-executables (hpath:find-program path)) executable) (c= ond ((stringp display-executables) (funcall hrule:action (quote exec-window= -cmd) (hpath:command-string display-executables filename)) nil) ((hypb:func= tionp display-executables) (funcall display-executables filename) t) ((and = (listp display-executables) display-executables) (setq executable (hpath:fi= nd-executable display-executables)) (if executable (funcall hrule:action (q= uote exec-window-cmd) (hpath:command-string executable filename)) (error &q= uot;(hpath:find): No available executable from: %s" display-executable= s))) (t (setq path (hpath:validate path)) (if (null display-where) (setq di= splay-where hpath:display-where)) (funcall (car (cdr (or (assq display-wher= e hpath:display-where-alist) (assq ... hpath:display-where-alist)))) path) = (if (or hash anchor) (hpath:to-markup-anchor hash anchor)) t)))
=C2=A0 (cond (modifier (cond ((eq modifier 33) (funcall hrule:action (quote= exec-shell-cmd) filename)) ((eq modifier 38) (funcall hrule:action (quote = exec-window-cmd) filename)) ((eq modifier 45) (load filename))) nil) (t (le= t ((display-executables (hpath:find-program path)) executable) (cond ((stri= ngp display-executables) (funcall hrule:action (quote exec-window-cmd) (hpa= th:command-string display-executables filename)) nil) ((hypb:functionp disp= lay-executables) (funcall display-executables filename) t) ((and (listp dis= play-executables) display-executables) (setq executable (hpath:find-executa= ble display-executables)) (if executable (funcall hrule:action (quote exec-= window-cmd) (hpath:command-string executable filename)) (error "(hpath= :find): No available executable from: %s" display-executables))) (t (s= etq path (hpath:validate path)) (if (null display-where) (setq display-wher= e hpath:display-where)) (funcall (car (cdr ...)) path) (if (or hash anchor)= (hpath:to-markup-anchor hash anchor)) t)))))
=C2=A0 (let ((case-fold-search t) modifier loc default-directory anchor has= h path) (if (string-match hpath:prefix-regexp filename) (setq modifier (are= f filename 0) filename (substring filename (match-end 0)))) (setq path (hpa= th:substitute-value (if (string-match hpath:markup-link-anchor-regexp filen= ame) (progn (setq hash t anchor (match-string 3 filename)) (substring filen= ame 0 (match-end 1))) filename)) loc (hattr:get (quote hbut:current) (quote= loc)) default-directory (file-name-directory (if (stringp loc) loc default= -directory)) filename (hpath:absolute-to path default-directory)) (let ((re= mote-filename (hpath:remote-p path))) (or modifier remote-filename (file-ex= ists-p filename) (error "(hpath:find): \"%s\" does not exist= " filename)) (or modifier remote-filename (file-readable-p filename) (= error "(hpath:find): \"%s\" is not readable" filename))= (if (and remote-filename (not (file-directory-p remote-filename))) (progn = (copy-file remote-filename (setq path (concat hpath:tmp-prefix (file-name-n= ondirectory remote-filename))) t t) (setq filename (cond (anchor (concat re= mote-filename "#" anchor)) (hash (concat remote-filename "#&= quot;)) (t path)))))) (cond (modifier (cond ((eq modifier 33) (funcall hrul= e:action (quote exec-shell-cmd) filename)) ((eq modifier 38) (funcall hrule= :action (quote exec-window-cmd) filename)) ((eq modifier 45) (load filename= ))) nil) (t (let ((display-executables (hpath:find-program path)) executabl= e) (cond ((stringp display-executables) (funcall hrule:action (quote exec-w= indow-cmd) (hpath:command-string display-executables filename)) nil) ((hypb= :functionp display-executables) (funcall display-executables filename) t) (= (and (listp display-executables) display-executables) (setq executable (hpa= th:find-executable display-executables)) (if executable (funcall hrule:acti= on ... ...) (error "(hpath:find): No available executable from: %s&quo= t; display-executables))) (t (setq path (hpath:validate path)) (if (null di= splay-where) (setq display-where hpath:display-where)) (funcall (car ...) p= ath) (if (or hash anchor) (hpath:to-markup-anchor hash anchor)) t))))))
=C2=A0 hpath:find("../Org/Notes.org")
=C2=A0 #f(compiled-function (path &optional point) (interactive #f(comp= iled-function () #<bytecode 0x1ff0aed>)) #<bytecode 0x1ee53dd>)= ("../Org/Notes.org")
=C2=A0 apply(#f(compiled-function (path &optional point) (interactive #= f(compiled-function () #<bytecode 0x23136a5>)) #<bytecode 0x1ee53d= d>) "../Org/Notes.org")
=C2=A0 eval((apply action args))
=C2=A0 actype:act(actypes::link-to-file "../Org/Notes.org")
=C2=A0 apply(actype:act actypes::link-to-file "../Org/Notes.org")=
=C2=A0 hbut:act(hbut:current)
=C2=A0 gbut:act("Notes")
=C2=A0 funcall-interactively(gbut:act "Notes")
=C2=A0 call-interactively(gbut:act)
=C2=A0 hui:menu-act(hyperbole nil nil nil)
=C2=A0 hyperbole(nil nil nil nil)
=C2=A0 funcall-interactively(hyperbole nil nil nil nil)
=C2=A0 call-interactively(hyperbole nil nil)
=C2=A0 command-execute(hyperbole)
--000000000000a5ee9d058aa741f1-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 06 09:30:04 2019 Received: (at 36107) by debbugs.gnu.org; 6 Jun 2019 13:30:04 +0000 Received: from localhost ([127.0.0.1]:49286 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hYsSx-0000Sp-C4 for submit@debbugs.gnu.org; Thu, 06 Jun 2019 09:30:04 -0400 Received: from mail-eopbgr780104.outbound.protection.outlook.com ([40.107.78.104]:6372 helo=NAM03-BY2-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hYsSu-0000Rj-Ez for 36107@debbugs.gnu.org; Thu, 06 Jun 2019 09:30:01 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chamberlain.edu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vAtRnnBmjQwRaLKjIDsIUX58QMcrPajyPexyac/J9nk=; b=h/yaYxAI3E+xAtOYF6JpRR0bIWECNvL4rI0eI72qm8Q0hBs8xZ91RQUQesM7ijqT2mTtJIzy38C0KJfW4Q6Bq1adLJET6r8ZQVa3IeJ+W3mNb26HdT0tfg3zCXPK/v8Lf1bbcmVUFCYhpkYSXyq9KO7+RN21YwzQ8VL+5sdkkmI= Received: from MN2PR05MB5999.namprd05.prod.outlook.com (20.178.244.83) by MN2PR05MB6592.namprd05.prod.outlook.com (20.178.248.93) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1965.12; Thu, 6 Jun 2019 13:29:53 +0000 Received: from MN2PR05MB5999.namprd05.prod.outlook.com ([fe80::fdb1:1f9d:89d0:50e9]) by MN2PR05MB5999.namprd05.prod.outlook.com ([fe80::fdb1:1f9d:89d0:50e9%7]) with mapi id 15.20.1965.011; Thu, 6 Jun 2019 13:29:52 +0000 From: Eric Bemiller To: Robert Weiner Subject: Re: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) Thread-Topic: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) Thread-Index: AQHVG9/PylPJnrj7ckWfvr3X6yun5w== Date: Thu, 6 Jun 2019 13:29:52 +0000 Message-ID: References: In-Reply-To: (Robert Weiner's message of "Thu, 6 Jun 2019 08:57:02 -0400") Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [173.92.89.239] x-clientproxiedby: BN6PR03CA0114.namprd03.prod.outlook.com (2603:10b6:404:10::28) To MN2PR05MB5999.namprd05.prod.outlook.com (2603:10b6:208:d1::19) authentication-results: spf=none (sender IP is ) smtp.mailfrom=EBemiller@chamberlain.edu; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0502479a-839c-4219-6453-08d6ea830e71 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:MN2PR05MB6592; x-ms-traffictypediagnostic: MN2PR05MB6592: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3631; x-forefront-prvs: 00603B7EEF x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(376002)(346002)(39860400002)(366004)(396003)(189003)(199004)(14454004)(6512007)(25786009)(256004)(66946007)(6436002)(68736007)(2616005)(66066001)(786003)(7736002)(3846002)(6506007)(71200400001)(53936002)(486006)(186003)(11346002)(446003)(476003)(42882007)(99286004)(88552002)(6486002)(2906002)(8936002)(305945005)(229853002)(6116002)(8676002)(81166006)(81156014)(102836004)(66556008)(14444005)(66476007)(76176011)(80792005)(6916009)(73956011)(36756003)(66446008)(316002)(386003)(6246003)(26005)(52116002)(53546011)(54906003)(71190400001)(5660300002)(64756008)(478600001)(75432002)(72206003)(4326008); DIR:OUT; SFP:1102; SCL:1; SRVR:MN2PR05MB6592; H:MN2PR05MB5999.namprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: chamberlain.edu does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: XEDG4TkSM1FVNuOZOlDC89H5YRU6bnQo9gUisPjhulYM2Tinmsq2Habu+WNsRtxV42rZaq+9Z4LSon2foGcetGRiY+7gr3Cfn2X8zYRgsVUd2Sfo4MeULj7sb8nErry/haXSXW9K1j7bY7vWuqfWgae+Rd96xmChdF39NOwN1uaW69Y6EBlp+xVHjtgBbTyxQTq2B0Bf2ci0LgUGE86UMI5GIU1uVGE1NO1Xl48TvoYPIZurqma15dmxm0+R8mHRyGIQsdJCOTvgkuU+Mgs1r9GZ4cEy1nVuuKIQYpLtN9pAs9nNkZACNn5KW7zNFzUK+aMtah4hatNuCJ1McY/MNxHMOm+YuvRyrFmfd+P9f3HOdOQ9rQoETbJkEEXOY3DZmmJ9vrK45B8km98uZhYoC+Dddfvr5F0LdmtIkcgtlp4= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: dvuadmin.net X-MS-Exchange-CrossTenant-Network-Message-Id: 0502479a-839c-4219-6453-08d6ea830e71 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jun 2019 13:29:52.8728 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 97fb1a07-66ed-4983-98cd-2b41977edc25 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: D40547914@dvuadmin.net X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR05MB6592 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 36107 Cc: "rswgnu@gmail.com" , "36107@debbugs.gnu.org" <36107@debbugs.gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) DQpIbW0uIEkgZm9sbG93ZWQgdGhlIGluc3RydWN0aW9ucywgYW5kIHN0aWxsIGhhdmUgdGhlIGVy cm9yLg0KDQpJIHdlbnQgbG9va2luZyBmb3IgYGh5cGI6ZnVuY3Rpb25wYCBhbmQgZGlkbid0IGZp bmQgYW55dGhpbmcgZWl0aGVyIC0tDQp0aG91Z2gsIG9idnMsIEkgZG9uJ3Qga25vdyB0aGUgY29k ZWJhc2UsIHNvIGl0IGNvdWxkIGJlIGRlZmluZWQNCnNvbWV3aGVyZSBub24tb2J2aW91cywgb3Ig SSBtYXkgYmUgdG90YWxseSBtaXNzaW5nIHNvbWV0aGluZy4gRG9lc24ndA0KY29tZSB1cCBpbiB7 TS14IGRlc2NyaWJlLWZ1bmN0aW9ufSwgd2Fzbid0IGxpc3RlZCBpbg0KYGh5cGVyYm9sZS1hdXRv bG9hZHMuZWxgLCBhbmQgZGlkbid0IHR1cm4gdXAgd2hlbiBJIHNlYXJjaGVkIGluIHRoZSBjb2Rl DQpkaXJlY3Rvcnkgd2l0aCBgYWdgLg0KDQpJJ3ZlIGJlZW4gZG9pbmcgdGhpcyB0ZXN0aW5nIG9u IG15IG5vcm1hbCBpbml0LCBidXQgaXQgZG9lc24ndCBjb21lIHVwDQppbiBhIHZhbmlsbGEgRW1h Y3Mgd2l0aCBqdXN0IEh5cGVyYm9sZSBsb2FkZWQgZWl0aGVyLg0KDQpSb2JlcnQgV2VpbmVyIDxy c3dAZ251Lm9yZz4gd3JpdGVzOg0KDQo+IFN0cmFuZ2UgYXMgaHlwYjpmdW5jdGlvbnAgaXMgbWFy a2VkIHRvIGJlIGF1dG9sb2FkZWQgYW5kIHNob3VsZCBiZSBpbg0KPiBoeXBlcmJvbGUtYXV0b2xv YWRzLmVsLiAgQ2hlY2sgaWYgaXQgaXMgb3Igbm90LiAgTG9hZCBpdCBtYW51YWxseSBhbmQNCj4g dGhlbiB0ZXN0Og0KPg0KPiAgICB7TS14IGxvYWQtbGliIFJFVCBoeXBiIFJFVH0NCj4NCj4gT24g VGh1LCBKdW4gNiwgMjAxOSBhdCA3OjU4IEFNIDxkNDA1NDc5MTRAZHZ1YWRtaW4ubmV0PiB3cm90 ZToNCj4NCj4gICAgDQo+ICAgICBUaGFua3MgZm9yIGxvb2tpbmcgYXQgaXQhDQo+ICAgIA0KPiAg ICAgR290IGFuIGVycm9yIHdpdGggdGhhdCBjb2RlLCB0aG91Z2ggLS0gaGVyZSdzIHdoYXQgSSBk aWQ6DQo+ICAgIA0KPiAgICAgMS4gTG9hZGVkIEVtYWNzLiBIeXBlcmJvbGUgYXV0by1sb2FkZWQu DQo+ICAgIA0KPiAgICAgMi4gSW52b2tlZCB0aGUgIk5vdGVzIiBnbG9iYWwgYnV0dG9uIC0tIGp1 c3QgdG8gbWFrZSBzdXJlDQo+ICAgICBIeXBlcmJvbGUgd2FzDQo+ICAgICAgICBydW5uaW5nIGFu ZCBnb29kIHRvIGdvLg0KPiAgICANCj4gICAgIDMuIEV2YWx1YXRlZCBwcm92aWRlZCBjb2RlDQo+ ICAgIA0KPiAgICAgNC4gSW52b2tlZCAiTm90ZXMiIGdsb2JhbCBidXR0b24gYWdhaW4gYW5kIHRo aXMgaXMgd2hhdCB0aGUNCj4gICAgIGRlYnVnZ2VyDQo+ICAgICAgICBnYXZlIG1lOg0KPiAgICAN Cj4gICAgIERlYnVnZ2VyIGVudGVyZWQtLUxpc3AgZXJyb3I6ICh2b2lkLWZ1bmN0aW9uIGh5cGI6 ZnVuY3Rpb25wKQ0KPiAgICAgICAoaHlwYjpmdW5jdGlvbnAgZGlzcGxheS1leGVjdXRhYmxlcykN Cj4gICAgICAgKGNvbmQgKChzdHJpbmdwIGRpc3BsYXktZXhlY3V0YWJsZXMpIChmdW5jYWxsIGhy dWxlOmFjdGlvbg0KPiAgICAgKHF1b3RlIGV4ZWMtd2luZG93LWNtZCkgKGhwYXRoOmNvbW1hbmQt c3RyaW5nIGRpc3BsYXktZXhlY3V0YWJsZXMNCj4gICAgIGZpbGVuYW1lKSkgbmlsKSAoKGh5cGI6 ZnVuY3Rpb25wIGRpc3BsYXktZXhlY3V0YWJsZXMpIChmdW5jYWxsDQo+ICAgICBkaXNwbGF5LWV4 ZWN1dGFibGVzIGZpbGVuYW1lKSB0KSAoKGFuZCAobGlzdHANCj4gICAgIGRpc3BsYXktZXhlY3V0 YWJsZXMpIGRpc3BsYXktZXhlY3V0YWJsZXMpIChzZXRxIGV4ZWN1dGFibGUNCj4gICAgIChocGF0 aDpmaW5kLWV4ZWN1dGFibGUgZGlzcGxheS1leGVjdXRhYmxlcykpIChpZiBleGVjdXRhYmxlDQo+ ICAgICAoZnVuY2FsbCBocnVsZTphY3Rpb24gKHF1b3RlIGV4ZWMtd2luZG93LWNtZCkNCj4gICAg IChocGF0aDpjb21tYW5kLXN0cmluZyBleGVjdXRhYmxlIGZpbGVuYW1lKSkgKGVycm9yICIoaHBh dGg6ZmluZCk6DQo+ICAgICBObyBhdmFpbGFibGUgZXhlY3V0YWJsZSBmcm9tOiAlcyIgZGlzcGxh eS1leGVjdXRhYmxlcykpKSAodCAoc2V0cQ0KPiAgICAgcGF0aCAoaHBhdGg6dmFsaWRhdGUgcGF0 aCkpIChpZiAobnVsbCBkaXNwbGF5LXdoZXJlKSAoc2V0cQ0KPiAgICAgZGlzcGxheS13aGVyZSBo cGF0aDpkaXNwbGF5LXdoZXJlKSkgKGZ1bmNhbGwgKGNhciAoY2RyIChvciAoYXNzcQ0KPiAgICAg ZGlzcGxheS13aGVyZSBocGF0aDpkaXNwbGF5LXdoZXJlLWFsaXN0KSAoYXNzcSAocXVvdGUNCj4g ICAgIG90aGVyLXdpbmRvdykgaHBhdGg6ZGlzcGxheS13aGVyZS1hbGlzdCkpKSkgcGF0aCkgKGlm IChvciBoYXNoDQo+ICAgICBhbmNob3IpIChocGF0aDp0by1tYXJrdXAtYW5jaG9yIGhhc2ggYW5j aG9yKSkgdCkpDQo+ICAgICAgIChsZXQgKChkaXNwbGF5LWV4ZWN1dGFibGVzIChocGF0aDpmaW5k LXByb2dyYW0gcGF0aCkpDQo+ICAgICBleGVjdXRhYmxlKSAoY29uZCAoKHN0cmluZ3AgZGlzcGxh eS1leGVjdXRhYmxlcykgKGZ1bmNhbGwNCj4gICAgIGhydWxlOmFjdGlvbiAocXVvdGUgZXhlYy13 aW5kb3ctY21kKSAoaHBhdGg6Y29tbWFuZC1zdHJpbmcNCj4gICAgIGRpc3BsYXktZXhlY3V0YWJs ZXMgZmlsZW5hbWUpKSBuaWwpICgoaHlwYjpmdW5jdGlvbnANCj4gICAgIGRpc3BsYXktZXhlY3V0 YWJsZXMpIChmdW5jYWxsIGRpc3BsYXktZXhlY3V0YWJsZXMgZmlsZW5hbWUpIHQpDQo+ICAgICAo KGFuZCAobGlzdHAgZGlzcGxheS1leGVjdXRhYmxlcykgZGlzcGxheS1leGVjdXRhYmxlcykgKHNl dHENCj4gICAgIGV4ZWN1dGFibGUgKGhwYXRoOmZpbmQtZXhlY3V0YWJsZSBkaXNwbGF5LWV4ZWN1 dGFibGVzKSkgKGlmDQo+ICAgICBleGVjdXRhYmxlIChmdW5jYWxsIGhydWxlOmFjdGlvbiAocXVv dGUgZXhlYy13aW5kb3ctY21kKQ0KPiAgICAgKGhwYXRoOmNvbW1hbmQtc3RyaW5nIGV4ZWN1dGFi bGUgZmlsZW5hbWUpKSAoZXJyb3IgIihocGF0aDpmaW5kKToNCj4gICAgIE5vIGF2YWlsYWJsZSBl eGVjdXRhYmxlIGZyb206ICVzIiBkaXNwbGF5LWV4ZWN1dGFibGVzKSkpICh0IChzZXRxDQo+ICAg ICBwYXRoIChocGF0aDp2YWxpZGF0ZSBwYXRoKSkgKGlmIChudWxsIGRpc3BsYXktd2hlcmUpIChz ZXRxDQo+ICAgICBkaXNwbGF5LXdoZXJlIGhwYXRoOmRpc3BsYXktd2hlcmUpKSAoZnVuY2FsbCAo Y2FyIChjZHIgKG9yIChhc3NxDQo+ICAgICBkaXNwbGF5LXdoZXJlIGhwYXRoOmRpc3BsYXktd2hl cmUtYWxpc3QpIChhc3NxIC4uLg0KPiAgICAgaHBhdGg6ZGlzcGxheS13aGVyZS1hbGlzdCkpKSkg cGF0aCkgKGlmIChvciBoYXNoIGFuY2hvcikNCj4gICAgIChocGF0aDp0by1tYXJrdXAtYW5jaG9y IGhhc2ggYW5jaG9yKSkgdCkpKQ0KPiAgICAgICAoY29uZCAobW9kaWZpZXIgKGNvbmQgKChlcSBt b2RpZmllciAzMykgKGZ1bmNhbGwgaHJ1bGU6YWN0aW9uDQo+ICAgICAocXVvdGUgZXhlYy1zaGVs bC1jbWQpIGZpbGVuYW1lKSkgKChlcSBtb2RpZmllciAzOCkgKGZ1bmNhbGwNCj4gICAgIGhydWxl OmFjdGlvbiAocXVvdGUgZXhlYy13aW5kb3ctY21kKSBmaWxlbmFtZSkpICgoZXEgbW9kaWZpZXIg NDUpDQo+ICAgICAobG9hZCBmaWxlbmFtZSkpKSBuaWwpICh0IChsZXQgKChkaXNwbGF5LWV4ZWN1 dGFibGVzDQo+ICAgICAoaHBhdGg6ZmluZC1wcm9ncmFtIHBhdGgpKSBleGVjdXRhYmxlKSAoY29u ZCAoKHN0cmluZ3ANCj4gICAgIGRpc3BsYXktZXhlY3V0YWJsZXMpIChmdW5jYWxsIGhydWxlOmFj dGlvbiAocXVvdGUNCj4gICAgIGV4ZWMtd2luZG93LWNtZCkgKGhwYXRoOmNvbW1hbmQtc3RyaW5n IGRpc3BsYXktZXhlY3V0YWJsZXMNCj4gICAgIGZpbGVuYW1lKSkgbmlsKSAoKGh5cGI6ZnVuY3Rp b25wIGRpc3BsYXktZXhlY3V0YWJsZXMpIChmdW5jYWxsDQo+ICAgICBkaXNwbGF5LWV4ZWN1dGFi bGVzIGZpbGVuYW1lKSB0KSAoKGFuZCAobGlzdHANCj4gICAgIGRpc3BsYXktZXhlY3V0YWJsZXMp IGRpc3BsYXktZXhlY3V0YWJsZXMpIChzZXRxIGV4ZWN1dGFibGUNCj4gICAgIChocGF0aDpmaW5k LWV4ZWN1dGFibGUgZGlzcGxheS1leGVjdXRhYmxlcykpIChpZiBleGVjdXRhYmxlDQo+ICAgICAo ZnVuY2FsbCBocnVsZTphY3Rpb24gKHF1b3RlIGV4ZWMtd2luZG93LWNtZCkNCj4gICAgIChocGF0 aDpjb21tYW5kLXN0cmluZyBleGVjdXRhYmxlIGZpbGVuYW1lKSkgKGVycm9yICIoaHBhdGg6Zmlu ZCk6DQo+ICAgICBObyBhdmFpbGFibGUgZXhlY3V0YWJsZSBmcm9tOiAlcyIgZGlzcGxheS1leGVj dXRhYmxlcykpKSAodCAoc2V0cQ0KPiAgICAgcGF0aCAoaHBhdGg6dmFsaWRhdGUgcGF0aCkpIChp ZiAobnVsbCBkaXNwbGF5LXdoZXJlKSAoc2V0cQ0KPiAgICAgZGlzcGxheS13aGVyZSBocGF0aDpk aXNwbGF5LXdoZXJlKSkgKGZ1bmNhbGwgKGNhciAoY2RyIC4uLikpDQo+ICAgICBwYXRoKSAoaWYg KG9yIGhhc2ggYW5jaG9yKSAoaHBhdGg6dG8tbWFya3VwLWFuY2hvciBoYXNoIGFuY2hvcikpDQo+ ICAgICB0KSkpKSkNCj4gICAgICAgKGxldCAoKGNhc2UtZm9sZC1zZWFyY2ggdCkgbW9kaWZpZXIg bG9jIGRlZmF1bHQtZGlyZWN0b3J5DQo+ICAgICBhbmNob3IgaGFzaCBwYXRoKSAoaWYgKHN0cmlu Zy1tYXRjaCBocGF0aDpwcmVmaXgtcmVnZXhwIGZpbGVuYW1lKQ0KPiAgICAgKHNldHEgbW9kaWZp ZXIgKGFyZWYgZmlsZW5hbWUgMCkgZmlsZW5hbWUgKHN1YnN0cmluZyBmaWxlbmFtZQ0KPiAgICAg KG1hdGNoLWVuZCAwKSkpKSAoc2V0cSBwYXRoIChocGF0aDpzdWJzdGl0dXRlLXZhbHVlIChpZg0K PiAgICAgKHN0cmluZy1tYXRjaCBocGF0aDptYXJrdXAtbGluay1hbmNob3ItcmVnZXhwIGZpbGVu YW1lKSAocHJvZ24NCj4gICAgIChzZXRxIGhhc2ggdCBhbmNob3IgKG1hdGNoLXN0cmluZyAzIGZp bGVuYW1lKSkgKHN1YnN0cmluZw0KPiAgICAgZmlsZW5hbWUgMCAobWF0Y2gtZW5kIDEpKSkgZmls ZW5hbWUpKSBsb2MgKGhhdHRyOmdldCAocXVvdGUNCj4gICAgIGhidXQ6Y3VycmVudCkgKHF1b3Rl IGxvYykpIGRlZmF1bHQtZGlyZWN0b3J5IChmaWxlLW5hbWUtZGlyZWN0b3J5DQo+ICAgICAoaWYg KHN0cmluZ3AgbG9jKSBsb2MgZGVmYXVsdC1kaXJlY3RvcnkpKSBmaWxlbmFtZQ0KPiAgICAgKGhw YXRoOmFic29sdXRlLXRvIHBhdGggZGVmYXVsdC1kaXJlY3RvcnkpKSAobGV0DQo+ICAgICAoKHJl bW90ZS1maWxlbmFtZSAoaHBhdGg6cmVtb3RlLXAgcGF0aCkpKSAob3IgbW9kaWZpZXINCj4gICAg IHJlbW90ZS1maWxlbmFtZSAoZmlsZS1leGlzdHMtcCBmaWxlbmFtZSkgKGVycm9yICIoaHBhdGg6 ZmluZCk6IFwNCj4gICAgICIlc1wiIGRvZXMgbm90IGV4aXN0IiBmaWxlbmFtZSkpIChvciBtb2Rp ZmllciByZW1vdGUtZmlsZW5hbWUNCj4gICAgIChmaWxlLXJlYWRhYmxlLXAgZmlsZW5hbWUpIChl cnJvciAiKGhwYXRoOmZpbmQpOiBcIiVzXCIgaXMgbm90DQo+ICAgICByZWFkYWJsZSIgZmlsZW5h bWUpKSAoaWYgKGFuZCByZW1vdGUtZmlsZW5hbWUgKG5vdA0KPiAgICAgKGZpbGUtZGlyZWN0b3J5 LXAgcmVtb3RlLWZpbGVuYW1lKSkpIChwcm9nbiAoY29weS1maWxlDQo+ICAgICByZW1vdGUtZmls ZW5hbWUgKHNldHEgcGF0aCAoY29uY2F0IGhwYXRoOnRtcC1wcmVmaXgNCj4gICAgIChmaWxlLW5h bWUtbm9uZGlyZWN0b3J5IHJlbW90ZS1maWxlbmFtZSkpKSB0IHQpIChzZXRxIGZpbGVuYW1lDQo+ ICAgICAoY29uZCAoYW5jaG9yIChjb25jYXQgcmVtb3RlLWZpbGVuYW1lICIjIiBhbmNob3IpKSAo aGFzaCAoY29uY2F0DQo+ICAgICByZW1vdGUtZmlsZW5hbWUgIiMiKSkgKHQgcGF0aCkpKSkpKSAo Y29uZCAobW9kaWZpZXIgKGNvbmQgKChlcQ0KPiAgICAgbW9kaWZpZXIgMzMpIChmdW5jYWxsIGhy dWxlOmFjdGlvbiAocXVvdGUgZXhlYy1zaGVsbC1jbWQpDQo+ICAgICBmaWxlbmFtZSkpICgoZXEg bW9kaWZpZXIgMzgpIChmdW5jYWxsIGhydWxlOmFjdGlvbiAocXVvdGUNCj4gICAgIGV4ZWMtd2lu ZG93LWNtZCkgZmlsZW5hbWUpKSAoKGVxIG1vZGlmaWVyIDQ1KSAobG9hZCBmaWxlbmFtZSkpKQ0K PiAgICAgbmlsKSAodCAobGV0ICgoZGlzcGxheS1leGVjdXRhYmxlcyAoaHBhdGg6ZmluZC1wcm9n cmFtIHBhdGgpKQ0KPiAgICAgZXhlY3V0YWJsZSkgKGNvbmQgKChzdHJpbmdwIGRpc3BsYXktZXhl Y3V0YWJsZXMpIChmdW5jYWxsDQo+ICAgICBocnVsZTphY3Rpb24gKHF1b3RlIGV4ZWMtd2luZG93 LWNtZCkgKGhwYXRoOmNvbW1hbmQtc3RyaW5nDQo+ICAgICBkaXNwbGF5LWV4ZWN1dGFibGVzIGZp bGVuYW1lKSkgbmlsKSAoKGh5cGI6ZnVuY3Rpb25wDQo+ICAgICBkaXNwbGF5LWV4ZWN1dGFibGVz KSAoZnVuY2FsbCBkaXNwbGF5LWV4ZWN1dGFibGVzIGZpbGVuYW1lKSB0KQ0KPiAgICAgKChhbmQg KGxpc3RwIGRpc3BsYXktZXhlY3V0YWJsZXMpIGRpc3BsYXktZXhlY3V0YWJsZXMpIChzZXRxDQo+ ICAgICBleGVjdXRhYmxlIChocGF0aDpmaW5kLWV4ZWN1dGFibGUgZGlzcGxheS1leGVjdXRhYmxl cykpIChpZg0KPiAgICAgZXhlY3V0YWJsZSAoZnVuY2FsbCBocnVsZTphY3Rpb24gLi4uIC4uLikg KGVycm9yICIoaHBhdGg6ZmluZCk6DQo+ICAgICBObyBhdmFpbGFibGUgZXhlY3V0YWJsZSBmcm9t OiAlcyIgZGlzcGxheS1leGVjdXRhYmxlcykpKSAodCAoc2V0cQ0KPiAgICAgcGF0aCAoaHBhdGg6 dmFsaWRhdGUgcGF0aCkpIChpZiAobnVsbCBkaXNwbGF5LXdoZXJlKSAoc2V0cQ0KPiAgICAgZGlz cGxheS13aGVyZSBocGF0aDpkaXNwbGF5LXdoZXJlKSkgKGZ1bmNhbGwgKGNhciAuLi4pIHBhdGgp IChpZg0KPiAgICAgKG9yIGhhc2ggYW5jaG9yKSAoaHBhdGg6dG8tbWFya3VwLWFuY2hvciBoYXNo IGFuY2hvcikpIHQpKSkpKSkNCj4gICAgICAgaHBhdGg6ZmluZCgiLi4vT3JnL05vdGVzLm9yZyIp DQo+ICAgICAgICNmKGNvbXBpbGVkLWZ1bmN0aW9uIChwYXRoICZvcHRpb25hbCBwb2ludCkgKGlu dGVyYWN0aXZlICNmDQo+ICAgICAoY29tcGlsZWQtZnVuY3Rpb24gKCkgIzxieXRlY29kZSAweDFm ZjBhZWQ+KSkgIzxieXRlY29kZQ0KPiAgICAgMHgxZWU1M2RkPikoIi4uL09yZy9Ob3Rlcy5vcmci KQ0KPiAgICAgICBhcHBseSgjZihjb21waWxlZC1mdW5jdGlvbiAocGF0aCAmb3B0aW9uYWwgcG9p bnQpIChpbnRlcmFjdGl2ZQ0KPiAgICAgI2YoY29tcGlsZWQtZnVuY3Rpb24gKCkgIzxieXRlY29k ZSAweDIzMTM2YTU+KSkgIzxieXRlY29kZQ0KPiAgICAgMHgxZWU1M2RkPikgIi4uL09yZy9Ob3Rl cy5vcmciKQ0KPiAgICAgICBldmFsKChhcHBseSBhY3Rpb24gYXJncykpDQo+ICAgICAgIGFjdHlw ZTphY3QoYWN0eXBlczo6bGluay10by1maWxlICIuLi9PcmcvTm90ZXMub3JnIikNCj4gICAgICAg YXBwbHkoYWN0eXBlOmFjdCBhY3R5cGVzOjpsaW5rLXRvLWZpbGUgIi4uL09yZy9Ob3Rlcy5vcmci KQ0KPiAgICAgICBoYnV0OmFjdChoYnV0OmN1cnJlbnQpDQo+ICAgICAgIGdidXQ6YWN0KCJOb3Rl cyIpDQo+ICAgICAgIGZ1bmNhbGwtaW50ZXJhY3RpdmVseShnYnV0OmFjdCAiTm90ZXMiKQ0KPiAg ICAgICBjYWxsLWludGVyYWN0aXZlbHkoZ2J1dDphY3QpDQo+ICAgICAgIGh1aTptZW51LWFjdCho eXBlcmJvbGUgbmlsIG5pbCBuaWwpDQo+ICAgICAgIGh5cGVyYm9sZShuaWwgbmlsIG5pbCBuaWwp DQo+ICAgICAgIGZ1bmNhbGwtaW50ZXJhY3RpdmVseShoeXBlcmJvbGUgbmlsIG5pbCBuaWwgbmls KQ0KPiAgICAgICBjYWxsLWludGVyYWN0aXZlbHkoaHlwZXJib2xlIG5pbCBuaWwpDQo+ICAgICAg IGNvbW1hbmQtZXhlY3V0ZShoeXBlcmJvbGUpDQo+DQo+DQo+DQoNCi0tIA0KDQpFcmljIEJlbWls bGVyLCBNTElTIHwgUmVnaW9uYWwgTGlicmFyaWFuDQoNClAgOTgwLTkzOS03MTU5IHwgRSBlYmVt aWxsZXJAY2hhbWJlcmxhaW4uZWR1DQoNCjIwMTUgQXlyc2xleSBUb3duIEJsdmQuLCBTdGUuIDIw NCwgQ2hhcmxvdHRlLCBOQyAyODI3Mw0K From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 06 16:56:21 2019 Received: (at 36107) by debbugs.gnu.org; 6 Jun 2019 20:56:21 +0000 Received: from localhost ([127.0.0.1]:50676 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hYzQq-0000fe-ES for submit@debbugs.gnu.org; Thu, 06 Jun 2019 16:56:21 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43760) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hYzQo-0000fR-K2 for 36107@debbugs.gnu.org; Thu, 06 Jun 2019 16:56:19 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:52462) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hYzQi-0005Ue-Kv for 36107@debbugs.gnu.org; Thu, 06 Jun 2019 16:56:13 -0400 Received: from mail-lf1-f46.google.com ([209.85.167.46]:44979) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1hYzQh-0003JK-Jd for 36107@debbugs.gnu.org; Thu, 06 Jun 2019 16:56:12 -0400 Received: by mail-lf1-f46.google.com with SMTP id r15so1150225lfm.11 for <36107@debbugs.gnu.org>; Thu, 06 Jun 2019 13:56:11 -0700 (PDT) X-Gm-Message-State: APjAAAWLb6QOdIKN/aX4t4o3fobdIWO1N41kgyZ0usB9LQsLpzJ/RG9/ CdYdR1Ba8uVt8LUag6kniK/PRChsUiE5PbMBDGE= X-Google-Smtp-Source: APXvYqzTZwZWOfwbE/0HXdiJ/k7hqPdCQ/r3ThD0zSQKXYRigvzBt4H8dyUnOTRD0HD1W4RV1R08ZY4KCYOfUvq68Ek= X-Received: by 2002:ac2:53a5:: with SMTP id j5mr24628987lfh.172.1559854569396; Thu, 06 Jun 2019 13:56:09 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Robert Weiner Date: Thu, 6 Jun 2019 16:55:43 -0400 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) To: Eric Bemiller Content-Type: multipart/alternative; boundary="00000000000082a0a7058aadf1b9" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 36107 Cc: "36107@debbugs.gnu.org" <36107@debbugs.gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: rswgnu@gmail.com Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --00000000000082a0a7058aadf1b9 Content-Type: text/plain; charset="UTF-8" hypb:functionp is defined in the hypb.el file in the Hyperbole directory or: "${hyperb:dir}/hypb.el" Bob On Thu, Jun 6, 2019 at 9:29 AM Eric Bemiller wrote: > > Hmm. I followed the instructions, and still have the error. > > I went looking for `hypb:functionp` and didn't find anything either -- > though, obvs, I don't know the codebase, so it could be defined > somewhere non-obvious, or I may be totally missing something. Doesn't > come up in {M-x describe-function}, wasn't listed in > `hyperbole-autoloads.el`, and didn't turn up when I searched in the code > directory with `ag`. > > I've been doing this testing on my normal init, but it doesn't come up > in a vanilla Emacs with just Hyperbole loaded either. > > Robert Weiner writes: > > > Strange as hypb:functionp is marked to be autoloaded and should be in > > hyperbole-autoloads.el. Check if it is or not. Load it manually and > > then test: > > > > {M-x load-lib RET hypb RET} > > > > On Thu, Jun 6, 2019 at 7:58 AM wrote: > > > > > > Thanks for looking at it! > > > > Got an error with that code, though -- here's what I did: > > > > 1. Loaded Emacs. Hyperbole auto-loaded. > > > > 2. Invoked the "Notes" global button -- just to make sure > > Hyperbole was > > running and good to go. > > > > 3. Evaluated provided code > > > > 4. Invoked "Notes" global button again and this is what the > > debugger > > gave me: > > > > Debugger entered--Lisp error: (void-function hypb:functionp) > > (hypb:functionp display-executables) > > (cond ((stringp display-executables) (funcall hrule:action > > (quote exec-window-cmd) (hpath:command-string display-executables > > filename)) nil) ((hypb:functionp display-executables) (funcall > > display-executables filename) t) ((and (listp > > display-executables) display-executables) (setq executable > > (hpath:find-executable display-executables)) (if executable > > (funcall hrule:action (quote exec-window-cmd) > > (hpath:command-string executable filename)) (error "(hpath:find): > > No available executable from: %s" display-executables))) (t (setq > > path (hpath:validate path)) (if (null display-where) (setq > > display-where hpath:display-where)) (funcall (car (cdr (or (assq > > display-where hpath:display-where-alist) (assq (quote > > other-window) hpath:display-where-alist)))) path) (if (or hash > > anchor) (hpath:to-markup-anchor hash anchor)) t)) > > (let ((display-executables (hpath:find-program path)) > > executable) (cond ((stringp display-executables) (funcall > > hrule:action (quote exec-window-cmd) (hpath:command-string > > display-executables filename)) nil) ((hypb:functionp > > display-executables) (funcall display-executables filename) t) > > ((and (listp display-executables) display-executables) (setq > > executable (hpath:find-executable display-executables)) (if > > executable (funcall hrule:action (quote exec-window-cmd) > > (hpath:command-string executable filename)) (error "(hpath:find): > > No available executable from: %s" display-executables))) (t (setq > > path (hpath:validate path)) (if (null display-where) (setq > > display-where hpath:display-where)) (funcall (car (cdr (or (assq > > display-where hpath:display-where-alist) (assq ... > > hpath:display-where-alist)))) path) (if (or hash anchor) > > (hpath:to-markup-anchor hash anchor)) t))) > > (cond (modifier (cond ((eq modifier 33) (funcall hrule:action > > (quote exec-shell-cmd) filename)) ((eq modifier 38) (funcall > > hrule:action (quote exec-window-cmd) filename)) ((eq modifier 45) > > (load filename))) nil) (t (let ((display-executables > > (hpath:find-program path)) executable) (cond ((stringp > > display-executables) (funcall hrule:action (quote > > exec-window-cmd) (hpath:command-string display-executables > > filename)) nil) ((hypb:functionp display-executables) (funcall > > display-executables filename) t) ((and (listp > > display-executables) display-executables) (setq executable > > (hpath:find-executable display-executables)) (if executable > > (funcall hrule:action (quote exec-window-cmd) > > (hpath:command-string executable filename)) (error "(hpath:find): > > No available executable from: %s" display-executables))) (t (setq > > path (hpath:validate path)) (if (null display-where) (setq > > display-where hpath:display-where)) (funcall (car (cdr ...)) > > path) (if (or hash anchor) (hpath:to-markup-anchor hash anchor)) > > t))))) > > (let ((case-fold-search t) modifier loc default-directory > > anchor hash path) (if (string-match hpath:prefix-regexp filename) > > (setq modifier (aref filename 0) filename (substring filename > > (match-end 0)))) (setq path (hpath:substitute-value (if > > (string-match hpath:markup-link-anchor-regexp filename) (progn > > (setq hash t anchor (match-string 3 filename)) (substring > > filename 0 (match-end 1))) filename)) loc (hattr:get (quote > > hbut:current) (quote loc)) default-directory (file-name-directory > > (if (stringp loc) loc default-directory)) filename > > (hpath:absolute-to path default-directory)) (let > > ((remote-filename (hpath:remote-p path))) (or modifier > > remote-filename (file-exists-p filename) (error "(hpath:find): \ > > "%s\" does not exist" filename)) (or modifier remote-filename > > (file-readable-p filename) (error "(hpath:find): \"%s\" is not > > readable" filename)) (if (and remote-filename (not > > (file-directory-p remote-filename))) (progn (copy-file > > remote-filename (setq path (concat hpath:tmp-prefix > > (file-name-nondirectory remote-filename))) t t) (setq filename > > (cond (anchor (concat remote-filename "#" anchor)) (hash (concat > > remote-filename "#")) (t path)))))) (cond (modifier (cond ((eq > > modifier 33) (funcall hrule:action (quote exec-shell-cmd) > > filename)) ((eq modifier 38) (funcall hrule:action (quote > > exec-window-cmd) filename)) ((eq modifier 45) (load filename))) > > nil) (t (let ((display-executables (hpath:find-program path)) > > executable) (cond ((stringp display-executables) (funcall > > hrule:action (quote exec-window-cmd) (hpath:command-string > > display-executables filename)) nil) ((hypb:functionp > > display-executables) (funcall display-executables filename) t) > > ((and (listp display-executables) display-executables) (setq > > executable (hpath:find-executable display-executables)) (if > > executable (funcall hrule:action ... ...) (error "(hpath:find): > > No available executable from: %s" display-executables))) (t (setq > > path (hpath:validate path)) (if (null display-where) (setq > > display-where hpath:display-where)) (funcall (car ...) path) (if > > (or hash anchor) (hpath:to-markup-anchor hash anchor)) t)))))) > > hpath:find("../Org/Notes.org") > > #f(compiled-function (path &optional point) (interactive #f > > (compiled-function () #)) # > 0x1ee53dd>)("../Org/Notes.org") > > apply(#f(compiled-function (path &optional point) (interactive > > #f(compiled-function () #)) # > 0x1ee53dd>) "../Org/Notes.org") > > eval((apply action args)) > > actype:act(actypes::link-to-file "../Org/Notes.org") > > apply(actype:act actypes::link-to-file "../Org/Notes.org") > > hbut:act(hbut:current) > > gbut:act("Notes") > > funcall-interactively(gbut:act "Notes") > > call-interactively(gbut:act) > > hui:menu-act(hyperbole nil nil nil) > > hyperbole(nil nil nil nil) > > funcall-interactively(hyperbole nil nil nil nil) > > call-interactively(hyperbole nil nil) > > command-execute(hyperbole) > > > > > > > > -- > > Eric Bemiller, MLIS | Regional Librarian > > P 980-939-7159 | E ebemiller@chamberlain.edu > > 2015 Ayrsley Town Blvd., Ste. 204, Charlotte, NC 28273 > --00000000000082a0a7058aadf1b9 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
hypb:functionp is defined in the hypb.el file in the Hyperbole= directory or:

"${hyperb:dir}/hypb.el"

Bob


On Thu, Jun 6, 2019 at 9:29 AM Eric Bemiller <d40547914@dvuadmin.net> wrote:

Hmm. I followed the instructions, and still have the error.

I went looking for `hypb:functionp` and didn't find anything either --<= br> though, obvs, I don't know the codebase, so it could be defined
somewhere non-obvious, or I may be totally missing something. Doesn't come up in {M-x describe-function}, wasn't listed in
`hyperbole-autoloads.el`, and didn't turn up when I searched in the cod= e
directory with `ag`.

I've been doing this testing on my normal init, but it doesn't come= up
in a vanilla Emacs with just Hyperbole loaded either.

Robert Weiner <rsw@gnu.= org> writes:

> Strange as hypb:functionp is marked to be autoloaded and should be in<= br> > hyperbole-autoloads.el.=C2=A0 Check if it is or not.=C2=A0 Load it man= ually and
> then test:
>
>=C2=A0 =C2=A0 {M-x load-lib RET hypb RET}
>
> On Thu, Jun 6, 2019 at 7:58 AM <d40547914@dvuadmin.net> wrote:
>
>=C2=A0 =C2=A0
>=C2=A0 =C2=A0 =C2=A0Thanks for looking at it!
>=C2=A0 =C2=A0
>=C2=A0 =C2=A0 =C2=A0Got an error with that code, though -- here's w= hat I did:
>=C2=A0 =C2=A0
>=C2=A0 =C2=A0 =C2=A01. Loaded Emacs. Hyperbole auto-loaded.
>=C2=A0 =C2=A0
>=C2=A0 =C2=A0 =C2=A02. Invoked the "Notes" global button -- j= ust to make sure
>=C2=A0 =C2=A0 =C2=A0Hyperbole was
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 running and good to go.
>=C2=A0 =C2=A0
>=C2=A0 =C2=A0 =C2=A03. Evaluated provided code
>=C2=A0 =C2=A0
>=C2=A0 =C2=A0 =C2=A04. Invoked "Notes" global button again an= d this is what the
>=C2=A0 =C2=A0 =C2=A0debugger
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 gave me:
>=C2=A0 =C2=A0
>=C2=A0 =C2=A0 =C2=A0Debugger entered--Lisp error: (void-function hypb:f= unctionp)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0(hypb:functionp display-executables)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0(cond ((stringp display-executables) (funcal= l hrule:action
>=C2=A0 =C2=A0 =C2=A0(quote exec-window-cmd) (hpath:command-string displ= ay-executables
>=C2=A0 =C2=A0 =C2=A0filename)) nil) ((hypb:functionp display-executable= s) (funcall
>=C2=A0 =C2=A0 =C2=A0display-executables filename) t) ((and (listp
>=C2=A0 =C2=A0 =C2=A0display-executables) display-executables) (setq exe= cutable
>=C2=A0 =C2=A0 =C2=A0(hpath:find-executable display-executables)) (if ex= ecutable
>=C2=A0 =C2=A0 =C2=A0(funcall hrule:action (quote exec-window-cmd)
>=C2=A0 =C2=A0 =C2=A0(hpath:command-string executable filename)) (error = "(hpath:find):
>=C2=A0 =C2=A0 =C2=A0No available executable from: %s" display-exec= utables))) (t (setq
>=C2=A0 =C2=A0 =C2=A0path (hpath:validate path)) (if (null display-where= ) (setq
>=C2=A0 =C2=A0 =C2=A0display-where hpath:display-where)) (funcall (car (= cdr (or (assq
>=C2=A0 =C2=A0 =C2=A0display-where hpath:display-where-alist) (assq (quo= te
>=C2=A0 =C2=A0 =C2=A0other-window) hpath:display-where-alist)))) path) (= if (or hash
>=C2=A0 =C2=A0 =C2=A0anchor) (hpath:to-markup-anchor hash anchor)) t)) >=C2=A0 =C2=A0 =C2=A0 =C2=A0(let ((display-executables (hpath:find-progr= am path))
>=C2=A0 =C2=A0 =C2=A0executable) (cond ((stringp display-executables) (f= uncall
>=C2=A0 =C2=A0 =C2=A0hrule:action (quote exec-window-cmd) (hpath:command= -string
>=C2=A0 =C2=A0 =C2=A0display-executables filename)) nil) ((hypb:function= p
>=C2=A0 =C2=A0 =C2=A0display-executables) (funcall display-executables f= ilename) t)
>=C2=A0 =C2=A0 =C2=A0((and (listp display-executables) display-executabl= es) (setq
>=C2=A0 =C2=A0 =C2=A0executable (hpath:find-executable display-executabl= es)) (if
>=C2=A0 =C2=A0 =C2=A0executable (funcall hrule:action (quote exec-window= -cmd)
>=C2=A0 =C2=A0 =C2=A0(hpath:command-string executable filename)) (error = "(hpath:find):
>=C2=A0 =C2=A0 =C2=A0No available executable from: %s" display-exec= utables))) (t (setq
>=C2=A0 =C2=A0 =C2=A0path (hpath:validate path)) (if (null display-where= ) (setq
>=C2=A0 =C2=A0 =C2=A0display-where hpath:display-where)) (funcall (car (= cdr (or (assq
>=C2=A0 =C2=A0 =C2=A0display-where hpath:display-where-alist) (assq ...<= br> >=C2=A0 =C2=A0 =C2=A0hpath:display-where-alist)))) path) (if (or hash an= chor)
>=C2=A0 =C2=A0 =C2=A0(hpath:to-markup-anchor hash anchor)) t)))
>=C2=A0 =C2=A0 =C2=A0 =C2=A0(cond (modifier (cond ((eq modifier 33) (fun= call hrule:action
>=C2=A0 =C2=A0 =C2=A0(quote exec-shell-cmd) filename)) ((eq modifier 38)= (funcall
>=C2=A0 =C2=A0 =C2=A0hrule:action (quote exec-window-cmd) filename)) ((e= q modifier 45)
>=C2=A0 =C2=A0 =C2=A0(load filename))) nil) (t (let ((display-executable= s
>=C2=A0 =C2=A0 =C2=A0(hpath:find-program path)) executable) (cond ((stri= ngp
>=C2=A0 =C2=A0 =C2=A0display-executables) (funcall hrule:action (quote >=C2=A0 =C2=A0 =C2=A0exec-window-cmd) (hpath:command-string display-exec= utables
>=C2=A0 =C2=A0 =C2=A0filename)) nil) ((hypb:functionp display-executable= s) (funcall
>=C2=A0 =C2=A0 =C2=A0display-executables filename) t) ((and (listp
>=C2=A0 =C2=A0 =C2=A0display-executables) display-executables) (setq exe= cutable
>=C2=A0 =C2=A0 =C2=A0(hpath:find-executable display-executables)) (if ex= ecutable
>=C2=A0 =C2=A0 =C2=A0(funcall hrule:action (quote exec-window-cmd)
>=C2=A0 =C2=A0 =C2=A0(hpath:command-string executable filename)) (error = "(hpath:find):
>=C2=A0 =C2=A0 =C2=A0No available executable from: %s" display-exec= utables))) (t (setq
>=C2=A0 =C2=A0 =C2=A0path (hpath:validate path)) (if (null display-where= ) (setq
>=C2=A0 =C2=A0 =C2=A0display-where hpath:display-where)) (funcall (car (= cdr ...))
>=C2=A0 =C2=A0 =C2=A0path) (if (or hash anchor) (hpath:to-markup-anchor = hash anchor))
>=C2=A0 =C2=A0 =C2=A0t)))))
>=C2=A0 =C2=A0 =C2=A0 =C2=A0(let ((case-fold-search t) modifier loc defa= ult-directory
>=C2=A0 =C2=A0 =C2=A0anchor hash path) (if (string-match hpath:prefix-re= gexp filename)
>=C2=A0 =C2=A0 =C2=A0(setq modifier (aref filename 0) filename (substrin= g filename
>=C2=A0 =C2=A0 =C2=A0(match-end 0)))) (setq path (hpath:substitute-value= (if
>=C2=A0 =C2=A0 =C2=A0(string-match hpath:markup-link-anchor-regexp filen= ame) (progn
>=C2=A0 =C2=A0 =C2=A0(setq hash t anchor (match-string 3 filename)) (sub= string
>=C2=A0 =C2=A0 =C2=A0filename 0 (match-end 1))) filename)) loc (hattr:ge= t (quote
>=C2=A0 =C2=A0 =C2=A0hbut:current) (quote loc)) default-directory (file-= name-directory
>=C2=A0 =C2=A0 =C2=A0(if (stringp loc) loc default-directory)) filename<= br> >=C2=A0 =C2=A0 =C2=A0(hpath:absolute-to path default-directory)) (let >=C2=A0 =C2=A0 =C2=A0((remote-filename (hpath:remote-p path))) (or modif= ier
>=C2=A0 =C2=A0 =C2=A0remote-filename (file-exists-p filename) (error &qu= ot;(hpath:find): \
>=C2=A0 =C2=A0 =C2=A0"%s\" does not exist" filename)) (or= modifier remote-filename
>=C2=A0 =C2=A0 =C2=A0(file-readable-p filename) (error "(hpath:find= ): \"%s\" is not
>=C2=A0 =C2=A0 =C2=A0readable" filename)) (if (and remote-filename = (not
>=C2=A0 =C2=A0 =C2=A0(file-directory-p remote-filename))) (progn (copy-f= ile
>=C2=A0 =C2=A0 =C2=A0remote-filename (setq path (concat hpath:tmp-prefix=
>=C2=A0 =C2=A0 =C2=A0(file-name-nondirectory remote-filename))) t t) (se= tq filename
>=C2=A0 =C2=A0 =C2=A0(cond (anchor (concat remote-filename "#"= anchor)) (hash (concat
>=C2=A0 =C2=A0 =C2=A0remote-filename "#")) (t path)))))) (cond= (modifier (cond ((eq
>=C2=A0 =C2=A0 =C2=A0modifier 33) (funcall hrule:action (quote exec-shel= l-cmd)
>=C2=A0 =C2=A0 =C2=A0filename)) ((eq modifier 38) (funcall hrule:action = (quote
>=C2=A0 =C2=A0 =C2=A0exec-window-cmd) filename)) ((eq modifier 45) (load= filename)))
>=C2=A0 =C2=A0 =C2=A0nil) (t (let ((display-executables (hpath:find-prog= ram path))
>=C2=A0 =C2=A0 =C2=A0executable) (cond ((stringp display-executables) (f= uncall
>=C2=A0 =C2=A0 =C2=A0hrule:action (quote exec-window-cmd) (hpath:command= -string
>=C2=A0 =C2=A0 =C2=A0display-executables filename)) nil) ((hypb:function= p
>=C2=A0 =C2=A0 =C2=A0display-executables) (funcall display-executables f= ilename) t)
>=C2=A0 =C2=A0 =C2=A0((and (listp display-executables) display-executabl= es) (setq
>=C2=A0 =C2=A0 =C2=A0executable (hpath:find-executable display-executabl= es)) (if
>=C2=A0 =C2=A0 =C2=A0executable (funcall hrule:action ... ...) (error &q= uot;(hpath:find):
>=C2=A0 =C2=A0 =C2=A0No available executable from: %s" display-exec= utables))) (t (setq
>=C2=A0 =C2=A0 =C2=A0path (hpath:validate path)) (if (null display-where= ) (setq
>=C2=A0 =C2=A0 =C2=A0display-where hpath:display-where)) (funcall (car .= ..) path) (if
>=C2=A0 =C2=A0 =C2=A0(or hash anchor) (hpath:to-markup-anchor hash ancho= r)) t))))))
>=C2=A0 =C2=A0 =C2=A0 =C2=A0hpath:find("../Org/Notes.org")
>=C2=A0 =C2=A0 =C2=A0 =C2=A0#f(compiled-function (path &optional poi= nt) (interactive #f
>=C2=A0 =C2=A0 =C2=A0(compiled-function () #<bytecode 0x1ff0aed>))= #<bytecode
>=C2=A0 =C2=A0 =C2=A00x1ee53dd>)("../Org/Notes.org")
>=C2=A0 =C2=A0 =C2=A0 =C2=A0apply(#f(compiled-function (path &option= al point) (interactive
>=C2=A0 =C2=A0 =C2=A0#f(compiled-function () #<bytecode 0x23136a5>= )) #<bytecode
>=C2=A0 =C2=A0 =C2=A00x1ee53dd>) "../Org/Notes.org")
>=C2=A0 =C2=A0 =C2=A0 =C2=A0eval((apply action args))
>=C2=A0 =C2=A0 =C2=A0 =C2=A0actype:act(actypes::link-to-file "../Or= g/Notes.org")
>=C2=A0 =C2=A0 =C2=A0 =C2=A0apply(actype:act actypes::link-to-file "= ;../Org/Notes.org")
>=C2=A0 =C2=A0 =C2=A0 =C2=A0hbut:act(hbut:current)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0gbut:act("Notes")
>=C2=A0 =C2=A0 =C2=A0 =C2=A0funcall-interactively(gbut:act "Notes&q= uot;)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0call-interactively(gbut:act)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0hui:menu-act(hyperbole nil nil nil)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0hyperbole(nil nil nil nil)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0funcall-interactively(hyperbole nil nil nil = nil)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0call-interactively(hyperbole nil nil)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0command-execute(hyperbole)
>
>
>

--

Eric Bemiller, MLIS | Regional Librarian

P 980-939-7159 | E ebemiller@chamberlain.edu

2015 Ayrsley Town Blvd., Ste. 204, Charlotte, NC 28273
--00000000000082a0a7058aadf1b9-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 06 17:26:58 2019 Received: (at 36107) by debbugs.gnu.org; 6 Jun 2019 21:26:58 +0000 Received: from localhost ([127.0.0.1]:50696 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hYzuT-0001fe-F0 for submit@debbugs.gnu.org; Thu, 06 Jun 2019 17:26:58 -0400 Received: from mail-eopbgr760124.outbound.protection.outlook.com ([40.107.76.124]:51718 helo=NAM02-CY1-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hYzuR-0001el-EA for 36107@debbugs.gnu.org; Thu, 06 Jun 2019 17:26:56 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chamberlain.edu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5bPobSkzsX9jvDtftF4B2f7Ll1Bt83s5O3OuJBiJXx4=; b=Yfqhc1RVbN6uoqljkmZ2h2/9wr0MXdxp/fR2Bx6I0zwIfvDTwCkfTvup4Vg2XockRuPufNGNp5TOz0KUUlG+KkpNZrbFO5TUIgLdvvt3XR8IYOGlCzYlSXjR4vGvEmO55wPZihemmc4i1w70w6uvWYW5ZeuMjLqGzX78NfRtr4o= Received: from MN2PR05MB5999.namprd05.prod.outlook.com (20.178.244.83) by MN2PR05MB6079.namprd05.prod.outlook.com (20.178.241.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1965.12; Thu, 6 Jun 2019 21:26:47 +0000 Received: from MN2PR05MB5999.namprd05.prod.outlook.com ([fe80::fdb1:1f9d:89d0:50e9]) by MN2PR05MB5999.namprd05.prod.outlook.com ([fe80::fdb1:1f9d:89d0:50e9%7]) with mapi id 15.20.1965.011; Thu, 6 Jun 2019 21:26:47 +0000 From: Eric Bemiller To: Robert Weiner Subject: Re: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) Thread-Topic: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) Thread-Index: AQHVG9/PylPJnrj7ckWfvr3X6yun5w== Date: Thu, 6 Jun 2019 21:26:47 +0000 Message-ID: References: In-Reply-To: (Robert Weiner's message of "Thu, 6 Jun 2019 16:55:43 -0400") Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [173.92.89.239] x-clientproxiedby: BL0PR0102CA0070.prod.exchangelabs.com (2603:10b6:208:25::47) To MN2PR05MB5999.namprd05.prod.outlook.com (2603:10b6:208:d1::19) authentication-results: spf=none (sender IP is ) smtp.mailfrom=EBemiller@chamberlain.edu; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ebdc91d8-073f-4046-ccdb-08d6eac5addc x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:MN2PR05MB6079; x-ms-traffictypediagnostic: MN2PR05MB6079: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4714; x-forefront-prvs: 00603B7EEF x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(346002)(366004)(136003)(39860400002)(396003)(376002)(199004)(189003)(6486002)(54906003)(6436002)(6116002)(2906002)(3846002)(4326008)(75432002)(316002)(72206003)(25786009)(386003)(88552002)(14454004)(80792005)(6512007)(6246003)(71200400001)(71190400001)(229853002)(68736007)(53936002)(478600001)(305945005)(76176011)(102836004)(26005)(5660300002)(486006)(476003)(36756003)(2616005)(11346002)(99286004)(446003)(66556008)(66446008)(66946007)(66476007)(64756008)(73956011)(6506007)(186003)(53546011)(42882007)(66066001)(14444005)(8936002)(786003)(256004)(52116002)(7736002)(6916009)(81166006)(81156014)(8676002); DIR:OUT; SFP:1102; SCL:1; SRVR:MN2PR05MB6079; H:MN2PR05MB5999.namprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: chamberlain.edu does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: B3BqtR7GoO2+sqboBF9fezXdvj4sydvrTbRQZF1Ewd91TaBvJegTvDqpbtyzHUbLg2v50jIqYBIPpsg6mVzExFihKLe5iyfgF61h5zfwPmyaSW/RR1bLTAsfkGABA5SFJiKY9BI5/mdRRDw8rwJ59vLYZwHugqWXNwnAzqc6lihOkG9ALNzdKXBZkKKkCnXq4H7QVyTXgrspdbY3srf6aZQ0LOuHi3x8Xb75HSk0bSZ2Zkdck1PrjYfgfZ7MCqitDu7HXdO5sXY+JbQggUod1ugJ+JGv3a04X3Ud4ZJNl00oq9FHKDcoFC28+SEvTaqEbs/ozIunYld7hrFchoYz/2HFu5RgUbF96lJUlq4gToyFawrmwd6d5y1dQjWxx9WmKxWrgxunaqG81iwOatev6mOYt6TbeKi+B+1RCzCcEn4= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: dvuadmin.net X-MS-Exchange-CrossTenant-Network-Message-Id: ebdc91d8-073f-4046-ccdb-08d6eac5addc X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jun 2019 21:26:47.2255 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 97fb1a07-66ed-4983-98cd-2b41977edc25 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: D40547914@dvuadmin.net X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR05MB6079 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 36107 Cc: "rswgnu@gmail.com" , "36107@debbugs.gnu.org" <36107@debbugs.gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) DQpCb3kgaXMgdGhpcyB3ZWlyZCAtLSBva2F5Lg0KDQpTbywgdGhlIHZlcnNpb24gSSdtIGdldHRp bmcgZnJvbSB0aGUgcGFja2FnZSBtYW5hZ2VyIGluIEVtYWNzIGRvZXNuJ3QNCmhhdmUgJ2h5cGI6 ZnVuY3Rpb25wYCBkZWZpbmVkIGluIGBoeXBiLmVsYC4NCg0KSSB3ZW50IGFuZCBkb3dubG9hZGVk IHRoZSBhcmNoaXZlIHZlcnNpb24gb2YgNy4wLjMgZnJvbSB0aGUgRlRQDQooZnRwOi8vZnRwLmdu dS5vcmcvZ251L2h5cGVyYm9sZS8pLCBhbmQgbG9va2VkIGluIHRoYXQgdmVyc2lvbiBvZg0KYGh5 cGIuZWxgIC0tIGFuZCwgd2hhdCBkbyB5b3Uga25vdywgdGhlIGZ1bmN0aW9uIGlzIHRoZXJlLCBh bmQgc2V0IHRvDQphdXRvbG9hZCBhcyB5b3UgZGVzY3JpYmVkLg0KDQpJIHRoZW4gZGVsZXRlZCB0 aGUgdmVyc2lvbiBvZiBIeXBlcmJvbGUgaW4gbXkgc2l0ZSBsaXNwLCBhbmQgcmVpbnN0YWxsZWQN Cml0IHVzaW5nIHRoZSBpbnN0YWxsIGluc3RydWN0aW9ucyBvbiB0aGUgSHlwZXJib2xlIHNpdGUu IENoZWNrZWQgdGhlDQpuZXdseSBpbnN0YWxsZWQgdmVyc2lvbiwgYW5kIGBoeXBiOmZ1bmN0aW9u cGAgc3RpbGwgd2Fzbid0IHRoZXJlLg0KDQpTbywgSSB0aGVuIGxvYWRlZCBoeXBlcmJvbGUgdXNp bmcgdGhlIGNvZGUgZnJvbSB0aGUgQXJjaGl2ZSB2ZXJzaW9uDQpyYXRoZXIgdGhhbiBmcm9tIHRo ZSBwYWNrYWdlIG1hbmFnZXIgKGp1c3QgdW56aXBwZWQgaXQgdG8gYSBkaXJlY3RvcnkNCmFuZCBz ZXQgdGhlIGxvYWQgcGF0aCB0aGVyZSksIGFuZCBldmFsJ2QgdGhlIG9yaWdpbmFsIHBhdGNoIHlv dSBzZW50Og0KZXZlcnl0aGluZyB3b3JrcyBjb3JyZWN0bHkgLS0gYW5kIHRoZSBidXR0b24gcHJv YmxlbSBhcHBlYXJzIHRvIGJlDQpmaXhlZD8NCg0KUm9iZXJ0IFdlaW5lciA8cnN3QGdudS5vcmc+ IHdyaXRlczoNCg0KPiBoeXBiOmZ1bmN0aW9ucCBpcyBkZWZpbmVkIGluIHRoZSBoeXBiLmVsIGZp bGUgaW4gdGhlIEh5cGVyYm9sZQ0KPiBkaXJlY3Rvcnkgb3I6DQo+DQo+ICIke2h5cGVyYjpkaXJ9 L2h5cGIuZWwiDQo+DQo+IEJvYg0KPg0KPg0KPiBPbiBUaHUsIEp1biA2LCAyMDE5IGF0IDk6Mjkg QU0gRXJpYyBCZW1pbGxlciA8ZDQwNTQ3OTE0QGR2dWFkbWluLm5ldD4NCj4gd3JvdGU6DQo+DQo+ ICAgIA0KPiAgICAgSG1tLiBJIGZvbGxvd2VkIHRoZSBpbnN0cnVjdGlvbnMsIGFuZCBzdGlsbCBo YXZlIHRoZSBlcnJvci4NCj4gICAgDQo+ICAgICBJIHdlbnQgbG9va2luZyBmb3IgYGh5cGI6ZnVu Y3Rpb25wYCBhbmQgZGlkbid0IGZpbmQgYW55dGhpbmcNCj4gICAgIGVpdGhlciAtLQ0KPiAgICAg dGhvdWdoLCBvYnZzLCBJIGRvbid0IGtub3cgdGhlIGNvZGViYXNlLCBzbyBpdCBjb3VsZCBiZSBk ZWZpbmVkDQo+ICAgICBzb21ld2hlcmUgbm9uLW9idmlvdXMsIG9yIEkgbWF5IGJlIHRvdGFsbHkg bWlzc2luZyBzb21ldGhpbmcuDQo+ICAgICBEb2Vzbid0DQo+ICAgICBjb21lIHVwIGluIHtNLXgg ZGVzY3JpYmUtZnVuY3Rpb259LCB3YXNuJ3QgbGlzdGVkIGluDQo+ICAgICBgaHlwZXJib2xlLWF1 dG9sb2Fkcy5lbGAsIGFuZCBkaWRuJ3QgdHVybiB1cCB3aGVuIEkgc2VhcmNoZWQgaW4NCj4gICAg IHRoZSBjb2RlDQo+ICAgICBkaXJlY3Rvcnkgd2l0aCBgYWdgLg0KPiAgICANCj4gICAgIEkndmUg YmVlbiBkb2luZyB0aGlzIHRlc3Rpbmcgb24gbXkgbm9ybWFsIGluaXQsIGJ1dCBpdCBkb2Vzbid0 DQo+ICAgICBjb21lIHVwDQo+ICAgICBpbiBhIHZhbmlsbGEgRW1hY3Mgd2l0aCBqdXN0IEh5cGVy Ym9sZSBsb2FkZWQgZWl0aGVyLg0KPiAgICANCj4gICAgIFJvYmVydCBXZWluZXIgPHJzd0BnbnUu b3JnPiB3cml0ZXM6DQo+ICAgIA0KPiAgICAgPiBTdHJhbmdlIGFzIGh5cGI6ZnVuY3Rpb25wIGlz IG1hcmtlZCB0byBiZSBhdXRvbG9hZGVkIGFuZCBzaG91bGQNCj4gICAgIGJlIGluDQo+ICAgICA+ IGh5cGVyYm9sZS1hdXRvbG9hZHMuZWwuICBDaGVjayBpZiBpdCBpcyBvciBub3QuICBMb2FkIGl0 DQo+ICAgICBtYW51YWxseSBhbmQNCj4gICAgID4gdGhlbiB0ZXN0Og0KPiAgICAgPg0KPiAgICAg PiAgICB7TS14IGxvYWQtbGliIFJFVCBoeXBiIFJFVH0NCj4gICAgID4NCj4gICAgID4gT24gVGh1 LCBKdW4gNiwgMjAxOSBhdCA3OjU4IEFNIDxkNDA1NDc5MTRAZHZ1YWRtaW4ubmV0PiB3cm90ZToN Cj4gICAgID4NCj4gICAgID4gICANCj4gICAgID4gICAgIFRoYW5rcyBmb3IgbG9va2luZyBhdCBp dCENCj4gICAgID4gICANCj4gICAgID4gICAgIEdvdCBhbiBlcnJvciB3aXRoIHRoYXQgY29kZSwg dGhvdWdoIC0tIGhlcmUncyB3aGF0IEkgZGlkOg0KPiAgICAgPiAgIA0KPiAgICAgPiAgICAgMS4g TG9hZGVkIEVtYWNzLiBIeXBlcmJvbGUgYXV0by1sb2FkZWQuDQo+ICAgICA+ICAgDQo+ICAgICA+ ICAgICAyLiBJbnZva2VkIHRoZSAiTm90ZXMiIGdsb2JhbCBidXR0b24gLS0ganVzdCB0byBtYWtl IHN1cmUNCj4gICAgID4gICAgIEh5cGVyYm9sZSB3YXMNCj4gICAgID4gICAgICAgIHJ1bm5pbmcg YW5kIGdvb2QgdG8gZ28uDQo+ICAgICA+ICAgDQo+ICAgICA+ICAgICAzLiBFdmFsdWF0ZWQgcHJv dmlkZWQgY29kZQ0KPiAgICAgPiAgIA0KPiAgICAgPiAgICAgNC4gSW52b2tlZCAiTm90ZXMiIGds b2JhbCBidXR0b24gYWdhaW4gYW5kIHRoaXMgaXMgd2hhdCB0aGUNCj4gICAgID4gICAgIGRlYnVn Z2VyDQo+ICAgICA+ICAgICAgICBnYXZlIG1lOg0KPiAgICAgPiAgIA0KPiAgICAgPiAgICAgRGVi dWdnZXIgZW50ZXJlZC0tTGlzcCBlcnJvcjogKHZvaWQtZnVuY3Rpb24NCj4gICAgIGh5cGI6ZnVu Y3Rpb25wKQ0KPiAgICAgPiAgICAgICAoaHlwYjpmdW5jdGlvbnAgZGlzcGxheS1leGVjdXRhYmxl cykNCj4gICAgID4gICAgICAgKGNvbmQgKChzdHJpbmdwIGRpc3BsYXktZXhlY3V0YWJsZXMpIChm dW5jYWxsDQo+ICAgICBocnVsZTphY3Rpb24NCj4gICAgID4gICAgIChxdW90ZSBleGVjLXdpbmRv dy1jbWQpIChocGF0aDpjb21tYW5kLXN0cmluZw0KPiAgICAgZGlzcGxheS1leGVjdXRhYmxlcw0K PiAgICAgPiAgICAgZmlsZW5hbWUpKSBuaWwpICgoaHlwYjpmdW5jdGlvbnAgZGlzcGxheS1leGVj dXRhYmxlcykNCj4gICAgIChmdW5jYWxsDQo+ICAgICA+ICAgICBkaXNwbGF5LWV4ZWN1dGFibGVz IGZpbGVuYW1lKSB0KSAoKGFuZCAobGlzdHANCj4gICAgID4gICAgIGRpc3BsYXktZXhlY3V0YWJs ZXMpIGRpc3BsYXktZXhlY3V0YWJsZXMpIChzZXRxIGV4ZWN1dGFibGUNCj4gICAgID4gICAgICho cGF0aDpmaW5kLWV4ZWN1dGFibGUgZGlzcGxheS1leGVjdXRhYmxlcykpIChpZiBleGVjdXRhYmxl DQo+ICAgICA+ICAgICAoZnVuY2FsbCBocnVsZTphY3Rpb24gKHF1b3RlIGV4ZWMtd2luZG93LWNt ZCkNCj4gICAgID4gICAgIChocGF0aDpjb21tYW5kLXN0cmluZyBleGVjdXRhYmxlIGZpbGVuYW1l KSkgKGVycm9yICINCj4gICAgIChocGF0aDpmaW5kKToNCj4gICAgID4gICAgIE5vIGF2YWlsYWJs ZSBleGVjdXRhYmxlIGZyb206ICVzIiBkaXNwbGF5LWV4ZWN1dGFibGVzKSkpICh0DQo+ICAgICAo c2V0cQ0KPiAgICAgPiAgICAgcGF0aCAoaHBhdGg6dmFsaWRhdGUgcGF0aCkpIChpZiAobnVsbCBk aXNwbGF5LXdoZXJlKSAoc2V0cQ0KPiAgICAgPiAgICAgZGlzcGxheS13aGVyZSBocGF0aDpkaXNw bGF5LXdoZXJlKSkgKGZ1bmNhbGwgKGNhciAoY2RyIChvcg0KPiAgICAgKGFzc3ENCj4gICAgID4g ICAgIGRpc3BsYXktd2hlcmUgaHBhdGg6ZGlzcGxheS13aGVyZS1hbGlzdCkgKGFzc3EgKHF1b3Rl DQo+ICAgICA+ICAgICBvdGhlci13aW5kb3cpIGhwYXRoOmRpc3BsYXktd2hlcmUtYWxpc3QpKSkp IHBhdGgpIChpZiAob3INCj4gICAgIGhhc2gNCj4gICAgID4gICAgIGFuY2hvcikgKGhwYXRoOnRv LW1hcmt1cC1hbmNob3IgaGFzaCBhbmNob3IpKSB0KSkNCj4gICAgID4gICAgICAgKGxldCAoKGRp c3BsYXktZXhlY3V0YWJsZXMgKGhwYXRoOmZpbmQtcHJvZ3JhbSBwYXRoKSkNCj4gICAgID4gICAg IGV4ZWN1dGFibGUpIChjb25kICgoc3RyaW5ncCBkaXNwbGF5LWV4ZWN1dGFibGVzKSAoZnVuY2Fs bA0KPiAgICAgPiAgICAgaHJ1bGU6YWN0aW9uIChxdW90ZSBleGVjLXdpbmRvdy1jbWQpIChocGF0 aDpjb21tYW5kLXN0cmluZw0KPiAgICAgPiAgICAgZGlzcGxheS1leGVjdXRhYmxlcyBmaWxlbmFt ZSkpIG5pbCkgKChoeXBiOmZ1bmN0aW9ucA0KPiAgICAgPiAgICAgZGlzcGxheS1leGVjdXRhYmxl cykgKGZ1bmNhbGwgZGlzcGxheS1leGVjdXRhYmxlcyBmaWxlbmFtZSkNCj4gICAgIHQpDQo+ICAg ICA+ICAgICAoKGFuZCAobGlzdHAgZGlzcGxheS1leGVjdXRhYmxlcykgZGlzcGxheS1leGVjdXRh YmxlcykNCj4gICAgIChzZXRxDQo+ICAgICA+ICAgICBleGVjdXRhYmxlIChocGF0aDpmaW5kLWV4 ZWN1dGFibGUgZGlzcGxheS1leGVjdXRhYmxlcykpIChpZg0KPiAgICAgPiAgICAgZXhlY3V0YWJs ZSAoZnVuY2FsbCBocnVsZTphY3Rpb24gKHF1b3RlIGV4ZWMtd2luZG93LWNtZCkNCj4gICAgID4g ICAgIChocGF0aDpjb21tYW5kLXN0cmluZyBleGVjdXRhYmxlIGZpbGVuYW1lKSkgKGVycm9yICIN Cj4gICAgIChocGF0aDpmaW5kKToNCj4gICAgID4gICAgIE5vIGF2YWlsYWJsZSBleGVjdXRhYmxl IGZyb206ICVzIiBkaXNwbGF5LWV4ZWN1dGFibGVzKSkpICh0DQo+ICAgICAoc2V0cQ0KPiAgICAg PiAgICAgcGF0aCAoaHBhdGg6dmFsaWRhdGUgcGF0aCkpIChpZiAobnVsbCBkaXNwbGF5LXdoZXJl KSAoc2V0cQ0KPiAgICAgPiAgICAgZGlzcGxheS13aGVyZSBocGF0aDpkaXNwbGF5LXdoZXJlKSkg KGZ1bmNhbGwgKGNhciAoY2RyIChvcg0KPiAgICAgKGFzc3ENCj4gICAgID4gICAgIGRpc3BsYXkt d2hlcmUgaHBhdGg6ZGlzcGxheS13aGVyZS1hbGlzdCkgKGFzc3EgLi4uDQo+ICAgICA+ICAgICBo cGF0aDpkaXNwbGF5LXdoZXJlLWFsaXN0KSkpKSBwYXRoKSAoaWYgKG9yIGhhc2ggYW5jaG9yKQ0K PiAgICAgPiAgICAgKGhwYXRoOnRvLW1hcmt1cC1hbmNob3IgaGFzaCBhbmNob3IpKSB0KSkpDQo+ ICAgICA+ICAgICAgIChjb25kIChtb2RpZmllciAoY29uZCAoKGVxIG1vZGlmaWVyIDMzKSAoZnVu Y2FsbA0KPiAgICAgaHJ1bGU6YWN0aW9uDQo+ICAgICA+ICAgICAocXVvdGUgZXhlYy1zaGVsbC1j bWQpIGZpbGVuYW1lKSkgKChlcSBtb2RpZmllciAzOCkNCj4gICAgIChmdW5jYWxsDQo+ICAgICA+ ICAgICBocnVsZTphY3Rpb24gKHF1b3RlIGV4ZWMtd2luZG93LWNtZCkgZmlsZW5hbWUpKSAoKGVx DQo+ICAgICBtb2RpZmllciA0NSkNCj4gICAgID4gICAgIChsb2FkIGZpbGVuYW1lKSkpIG5pbCkg KHQgKGxldCAoKGRpc3BsYXktZXhlY3V0YWJsZXMNCj4gICAgID4gICAgIChocGF0aDpmaW5kLXBy b2dyYW0gcGF0aCkpIGV4ZWN1dGFibGUpIChjb25kICgoc3RyaW5ncA0KPiAgICAgPiAgICAgZGlz cGxheS1leGVjdXRhYmxlcykgKGZ1bmNhbGwgaHJ1bGU6YWN0aW9uIChxdW90ZQ0KPiAgICAgPiAg ICAgZXhlYy13aW5kb3ctY21kKSAoaHBhdGg6Y29tbWFuZC1zdHJpbmcgZGlzcGxheS1leGVjdXRh Ymxlcw0KPiAgICAgPiAgICAgZmlsZW5hbWUpKSBuaWwpICgoaHlwYjpmdW5jdGlvbnAgZGlzcGxh eS1leGVjdXRhYmxlcykNCj4gICAgIChmdW5jYWxsDQo+ICAgICA+ICAgICBkaXNwbGF5LWV4ZWN1 dGFibGVzIGZpbGVuYW1lKSB0KSAoKGFuZCAobGlzdHANCj4gICAgID4gICAgIGRpc3BsYXktZXhl Y3V0YWJsZXMpIGRpc3BsYXktZXhlY3V0YWJsZXMpIChzZXRxIGV4ZWN1dGFibGUNCj4gICAgID4g ICAgIChocGF0aDpmaW5kLWV4ZWN1dGFibGUgZGlzcGxheS1leGVjdXRhYmxlcykpIChpZiBleGVj dXRhYmxlDQo+ICAgICA+ICAgICAoZnVuY2FsbCBocnVsZTphY3Rpb24gKHF1b3RlIGV4ZWMtd2lu ZG93LWNtZCkNCj4gICAgID4gICAgIChocGF0aDpjb21tYW5kLXN0cmluZyBleGVjdXRhYmxlIGZp bGVuYW1lKSkgKGVycm9yICINCj4gICAgIChocGF0aDpmaW5kKToNCj4gICAgID4gICAgIE5vIGF2 YWlsYWJsZSBleGVjdXRhYmxlIGZyb206ICVzIiBkaXNwbGF5LWV4ZWN1dGFibGVzKSkpICh0DQo+ ICAgICAoc2V0cQ0KPiAgICAgPiAgICAgcGF0aCAoaHBhdGg6dmFsaWRhdGUgcGF0aCkpIChpZiAo bnVsbCBkaXNwbGF5LXdoZXJlKSAoc2V0cQ0KPiAgICAgPiAgICAgZGlzcGxheS13aGVyZSBocGF0 aDpkaXNwbGF5LXdoZXJlKSkgKGZ1bmNhbGwgKGNhciAoY2RyDQo+ICAgICAuLi4pKQ0KPiAgICAg PiAgICAgcGF0aCkgKGlmIChvciBoYXNoIGFuY2hvcikgKGhwYXRoOnRvLW1hcmt1cC1hbmNob3Ig aGFzaA0KPiAgICAgYW5jaG9yKSkNCj4gICAgID4gICAgIHQpKSkpKQ0KPiAgICAgPiAgICAgICAo bGV0ICgoY2FzZS1mb2xkLXNlYXJjaCB0KSBtb2RpZmllciBsb2MgZGVmYXVsdC1kaXJlY3RvcnkN Cj4gICAgID4gICAgIGFuY2hvciBoYXNoIHBhdGgpIChpZiAoc3RyaW5nLW1hdGNoIGhwYXRoOnBy ZWZpeC1yZWdleHANCj4gICAgIGZpbGVuYW1lKQ0KPiAgICAgPiAgICAgKHNldHEgbW9kaWZpZXIg KGFyZWYgZmlsZW5hbWUgMCkgZmlsZW5hbWUgKHN1YnN0cmluZw0KPiAgICAgZmlsZW5hbWUNCj4g ICAgID4gICAgIChtYXRjaC1lbmQgMCkpKSkgKHNldHEgcGF0aCAoaHBhdGg6c3Vic3RpdHV0ZS12 YWx1ZSAoaWYNCj4gICAgID4gICAgIChzdHJpbmctbWF0Y2ggaHBhdGg6bWFya3VwLWxpbmstYW5j aG9yLXJlZ2V4cCBmaWxlbmFtZSkNCj4gICAgIChwcm9nbg0KPiAgICAgPiAgICAgKHNldHEgaGFz aCB0IGFuY2hvciAobWF0Y2gtc3RyaW5nIDMgZmlsZW5hbWUpKSAoc3Vic3RyaW5nDQo+ICAgICA+ ICAgICBmaWxlbmFtZSAwIChtYXRjaC1lbmQgMSkpKSBmaWxlbmFtZSkpIGxvYyAoaGF0dHI6Z2V0 IChxdW90ZQ0KPiAgICAgPiAgICAgaGJ1dDpjdXJyZW50KSAocXVvdGUgbG9jKSkgZGVmYXVsdC1k aXJlY3RvcnkNCj4gICAgIChmaWxlLW5hbWUtZGlyZWN0b3J5DQo+ICAgICA+ICAgICAoaWYgKHN0 cmluZ3AgbG9jKSBsb2MgZGVmYXVsdC1kaXJlY3RvcnkpKSBmaWxlbmFtZQ0KPiAgICAgPiAgICAg KGhwYXRoOmFic29sdXRlLXRvIHBhdGggZGVmYXVsdC1kaXJlY3RvcnkpKSAobGV0DQo+ICAgICA+ ICAgICAoKHJlbW90ZS1maWxlbmFtZSAoaHBhdGg6cmVtb3RlLXAgcGF0aCkpKSAob3IgbW9kaWZp ZXINCj4gICAgID4gICAgIHJlbW90ZS1maWxlbmFtZSAoZmlsZS1leGlzdHMtcCBmaWxlbmFtZSkg KGVycm9yICINCj4gICAgIChocGF0aDpmaW5kKTogXA0KPiAgICAgPiAgICAgIiVzXCIgZG9lcyBu b3QgZXhpc3QiIGZpbGVuYW1lKSkgKG9yIG1vZGlmaWVyDQo+ICAgICByZW1vdGUtZmlsZW5hbWUN Cj4gICAgID4gICAgIChmaWxlLXJlYWRhYmxlLXAgZmlsZW5hbWUpIChlcnJvciAiKGhwYXRoOmZp bmQpOiBcIiVzXCIgaXMNCj4gICAgIG5vdA0KPiAgICAgPiAgICAgcmVhZGFibGUiIGZpbGVuYW1l KSkgKGlmIChhbmQgcmVtb3RlLWZpbGVuYW1lIChub3QNCj4gICAgID4gICAgIChmaWxlLWRpcmVj dG9yeS1wIHJlbW90ZS1maWxlbmFtZSkpKSAocHJvZ24gKGNvcHktZmlsZQ0KPiAgICAgPiAgICAg cmVtb3RlLWZpbGVuYW1lIChzZXRxIHBhdGggKGNvbmNhdCBocGF0aDp0bXAtcHJlZml4DQo+ICAg ICA+ICAgICAoZmlsZS1uYW1lLW5vbmRpcmVjdG9yeSByZW1vdGUtZmlsZW5hbWUpKSkgdCB0KSAo c2V0cQ0KPiAgICAgZmlsZW5hbWUNCj4gICAgID4gICAgIChjb25kIChhbmNob3IgKGNvbmNhdCBy ZW1vdGUtZmlsZW5hbWUgIiMiIGFuY2hvcikpIChoYXNoDQo+ICAgICAoY29uY2F0DQo+ICAgICA+ ICAgICByZW1vdGUtZmlsZW5hbWUgIiMiKSkgKHQgcGF0aCkpKSkpKSAoY29uZCAobW9kaWZpZXIg KGNvbmQNCj4gICAgICgoZXENCj4gICAgID4gICAgIG1vZGlmaWVyIDMzKSAoZnVuY2FsbCBocnVs ZTphY3Rpb24gKHF1b3RlIGV4ZWMtc2hlbGwtY21kKQ0KPiAgICAgPiAgICAgZmlsZW5hbWUpKSAo KGVxIG1vZGlmaWVyIDM4KSAoZnVuY2FsbCBocnVsZTphY3Rpb24gKHF1b3RlDQo+ICAgICA+ICAg ICBleGVjLXdpbmRvdy1jbWQpIGZpbGVuYW1lKSkgKChlcSBtb2RpZmllciA0NSkgKGxvYWQNCj4g ICAgIGZpbGVuYW1lKSkpDQo+ICAgICA+ICAgICBuaWwpICh0IChsZXQgKChkaXNwbGF5LWV4ZWN1 dGFibGVzIChocGF0aDpmaW5kLXByb2dyYW0NCj4gICAgIHBhdGgpKQ0KPiAgICAgPiAgICAgZXhl Y3V0YWJsZSkgKGNvbmQgKChzdHJpbmdwIGRpc3BsYXktZXhlY3V0YWJsZXMpIChmdW5jYWxsDQo+ ICAgICA+ICAgICBocnVsZTphY3Rpb24gKHF1b3RlIGV4ZWMtd2luZG93LWNtZCkgKGhwYXRoOmNv bW1hbmQtc3RyaW5nDQo+ICAgICA+ICAgICBkaXNwbGF5LWV4ZWN1dGFibGVzIGZpbGVuYW1lKSkg bmlsKSAoKGh5cGI6ZnVuY3Rpb25wDQo+ICAgICA+ICAgICBkaXNwbGF5LWV4ZWN1dGFibGVzKSAo ZnVuY2FsbCBkaXNwbGF5LWV4ZWN1dGFibGVzIGZpbGVuYW1lKQ0KPiAgICAgdCkNCj4gICAgID4g ICAgICgoYW5kIChsaXN0cCBkaXNwbGF5LWV4ZWN1dGFibGVzKSBkaXNwbGF5LWV4ZWN1dGFibGVz KQ0KPiAgICAgKHNldHENCj4gICAgID4gICAgIGV4ZWN1dGFibGUgKGhwYXRoOmZpbmQtZXhlY3V0 YWJsZSBkaXNwbGF5LWV4ZWN1dGFibGVzKSkgKGlmDQo+ICAgICA+ICAgICBleGVjdXRhYmxlIChm dW5jYWxsIGhydWxlOmFjdGlvbiAuLi4gLi4uKSAoZXJyb3IgIg0KPiAgICAgKGhwYXRoOmZpbmQp Og0KPiAgICAgPiAgICAgTm8gYXZhaWxhYmxlIGV4ZWN1dGFibGUgZnJvbTogJXMiIGRpc3BsYXkt ZXhlY3V0YWJsZXMpKSkgKHQNCj4gICAgIChzZXRxDQo+ICAgICA+ICAgICBwYXRoIChocGF0aDp2 YWxpZGF0ZSBwYXRoKSkgKGlmIChudWxsIGRpc3BsYXktd2hlcmUpIChzZXRxDQo+ICAgICA+ICAg ICBkaXNwbGF5LXdoZXJlIGhwYXRoOmRpc3BsYXktd2hlcmUpKSAoZnVuY2FsbCAoY2FyIC4uLikN Cj4gICAgIHBhdGgpIChpZg0KPiAgICAgPiAgICAgKG9yIGhhc2ggYW5jaG9yKSAoaHBhdGg6dG8t bWFya3VwLWFuY2hvciBoYXNoIGFuY2hvcikpDQo+ICAgICB0KSkpKSkpDQo+ICAgICA+ICAgICAg IGhwYXRoOmZpbmQoIi4uL09yZy9Ob3Rlcy5vcmciKQ0KPiAgICAgPiAgICAgICAjZihjb21waWxl ZC1mdW5jdGlvbiAocGF0aCAmb3B0aW9uYWwgcG9pbnQpIChpbnRlcmFjdGl2ZQ0KPiAgICAgI2YN Cj4gICAgID4gICAgIChjb21waWxlZC1mdW5jdGlvbiAoKSAjPGJ5dGVjb2RlIDB4MWZmMGFlZD4p KSAjPGJ5dGVjb2RlDQo+ICAgICA+ICAgICAweDFlZTUzZGQ+KSgiLi4vT3JnL05vdGVzLm9yZyIp DQo+ICAgICA+ICAgICAgIGFwcGx5KCNmKGNvbXBpbGVkLWZ1bmN0aW9uIChwYXRoICZvcHRpb25h bCBwb2ludCkNCj4gICAgIChpbnRlcmFjdGl2ZQ0KPiAgICAgPiAgICAgI2YoY29tcGlsZWQtZnVu Y3Rpb24gKCkgIzxieXRlY29kZSAweDIzMTM2YTU+KSkgIzxieXRlY29kZQ0KPiAgICAgPiAgICAg MHgxZWU1M2RkPikgIi4uL09yZy9Ob3Rlcy5vcmciKQ0KPiAgICAgPiAgICAgICBldmFsKChhcHBs eSBhY3Rpb24gYXJncykpDQo+ICAgICA+ICAgICAgIGFjdHlwZTphY3QoYWN0eXBlczo6bGluay10 by1maWxlICIuLi9PcmcvTm90ZXMub3JnIikNCj4gICAgID4gICAgICAgYXBwbHkoYWN0eXBlOmFj dCBhY3R5cGVzOjpsaW5rLXRvLWZpbGUgIi4uL09yZy8NCj4gICAgIE5vdGVzLm9yZyIpDQo+ICAg ICA+ICAgICAgIGhidXQ6YWN0KGhidXQ6Y3VycmVudCkNCj4gICAgID4gICAgICAgZ2J1dDphY3Qo Ik5vdGVzIikNCj4gICAgID4gICAgICAgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5KGdidXQ6YWN0ICJO b3RlcyIpDQo+ICAgICA+ICAgICAgIGNhbGwtaW50ZXJhY3RpdmVseShnYnV0OmFjdCkNCj4gICAg ID4gICAgICAgaHVpOm1lbnUtYWN0KGh5cGVyYm9sZSBuaWwgbmlsIG5pbCkNCj4gICAgID4gICAg ICAgaHlwZXJib2xlKG5pbCBuaWwgbmlsIG5pbCkNCj4gICAgID4gICAgICAgZnVuY2FsbC1pbnRl cmFjdGl2ZWx5KGh5cGVyYm9sZSBuaWwgbmlsIG5pbCBuaWwpDQo+ICAgICA+ICAgICAgIGNhbGwt aW50ZXJhY3RpdmVseShoeXBlcmJvbGUgbmlsIG5pbCkNCj4gICAgID4gICAgICAgY29tbWFuZC1l eGVjdXRlKGh5cGVyYm9sZSkNCj4gICAgID4NCj4gICAgID4NCj4gICAgID4NCg== From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 06 19:00:15 2019 Received: (at 36107) by debbugs.gnu.org; 6 Jun 2019 23:00:15 +0000 Received: from localhost ([127.0.0.1]:50763 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZ1Ml-0003py-8w for submit@debbugs.gnu.org; Thu, 06 Jun 2019 19:00:15 -0400 Received: from mail-qk1-f177.google.com ([209.85.222.177]:45723) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZ1Mj-0003pb-L8 for 36107@debbugs.gnu.org; Thu, 06 Jun 2019 19:00:14 -0400 Received: by mail-qk1-f177.google.com with SMTP id s22so125644qkj.12 for <36107@debbugs.gnu.org>; Thu, 06 Jun 2019 16:00:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=a8NLoeYjBiELlvSmGQpwWNogAKKR3WG3hZ83yQzMuFU=; b=VjvTG5j3ldTrLf05LFs4FLAJFGL5GtTYahn9oekhKMF3k+iFxhpFjb0qz3klL0jWPR zzGlIvJN5OCOzjwnmBjunKAyhSxttH9f5r88RWjvF8NhplKX8loXXabgOP8SBAR/vQ5L sofQoAAYrHFLzUE/tSCTA9Ktz9k24V4YKl17VIAHHKLtso/4Fi4GZCZy3DpSGbTCF8bo 3A925CvsvxVcVasIg6hj4WCHOSTen5J2EHZD3LHlYtVk6Kqf27fJ+/eOQpwz3TGQ5688 WowuzYC3F3F1tLtgV5BY7nHmEOiM9ANLKnhJcPa6pMJrlAJgfsw9fXFGHZ7JLr484VAg UlCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=a8NLoeYjBiELlvSmGQpwWNogAKKR3WG3hZ83yQzMuFU=; b=Rx/4OJtjCi6NB0QVltyUohZQs67mfRYtMd0bhTJCEMtyOOd1rNgomf1Go/A9Zw/sm6 m65DxgfEVa6xZv16SvWmjDgGHPtcpkdqOeeVpE3h5uhLCZzHB97llR7RQsf59815LhnM CEjACf9ZS+ewKnzsVOW7PzNHYfV2EKPgZynTP+CqqTwKzy/tTowNk8FEmCX2E+lXWgI/ 4Yy5j9P6FWVhZ6QqLbsVYYKUs16thpHfwhA8A2LV3Ocxx3YZSpeu0mdXF81UR/3YmU5N HEoyrOQdlgMno7Qzx6iPJvowQHC1EyLTbwRvex2n3REJGZNQE7aCfEqABt50Gt3/ZGzK y72Q== X-Gm-Message-State: APjAAAXxeCD6vEXnLAlS7R0HtIE5/hSLbg2/2od8MIsDuTuB+vXBZ/su ECCc4u8xlVVvYHaDI4o1IULAmBkI X-Google-Smtp-Source: APXvYqwYMKBd6XS5YLGZRRhK8CoDHZwE2ECJXX4v4hvxDXANFyDw+MTNTocQx7Bu4hisSKVeWMEaRQ== X-Received: by 2002:ae9:ec0d:: with SMTP id h13mr13424783qkg.26.1559862007599; Thu, 06 Jun 2019 16:00:07 -0700 (PDT) Received: from ?IPv6:2600:1000:b129:f598:f9ab:8724:6a69:ab0f? ([2600:1000:b129:f598:f9ab:8724:6a69:ab0f]) by smtp.gmail.com with ESMTPSA id i55sm256636qtc.21.2019.06.06.16.00.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 06 Jun 2019 16:00:06 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (1.0) Subject: Re: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) From: Robert Weiner X-Mailer: iPhone Mail (16E227) In-Reply-To: Date: Thu, 6 Jun 2019 19:00:04 -0400 Content-Transfer-Encoding: quoted-printable Message-Id: References: To: Eric Bemiller X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 36107 Cc: "36107@debbugs.gnu.org" <36107@debbugs.gnu.org>, Robert Weiner X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) -- Bob > On Jun 6, 2019, at 5:26 PM, Eric Bemiller wrote: >=20 > I then deleted the version of Hyperbole in my site lisp, and reinstalled > it using the install instructions on the Hyperbole site. Checked the > newly installed version, and `hypb:functionp` still wasn't there. Could you send the hyperbole.el and hypb.el files from this bad version so w= e can see how they are different? Glad you got a working version too.= From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 06 19:45:46 2019 Received: (at 36107) by debbugs.gnu.org; 6 Jun 2019 23:45:46 +0000 Received: from localhost ([127.0.0.1]:50816 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZ24n-0005bT-Lt for submit@debbugs.gnu.org; Thu, 06 Jun 2019 19:45:46 -0400 Received: from mail-eopbgr760125.outbound.protection.outlook.com ([40.107.76.125]:58446 helo=NAM02-CY1-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZ24l-0005TY-FC for 36107@debbugs.gnu.org; Thu, 06 Jun 2019 19:45:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chamberlain.edu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WFO4X5Vt0euh8xPr0kYAWye1dvHHq1Uua0pxo3ic54k=; b=pAPcDIknr5cU2EKshePjnkl+8sB6M42yI0X/JQn4ke0GoCe0a4XIaIkopOpp8VgdB7nNDP/n0SgduBUFdmB6bFrEtki4B90BvreqQjHZFUsP4GHPx+cfFN/QdUxFmftnufr1Ok4J3o4uma+Lhlf+3+AC6cEOy+yMeQSE47Nw8Y0= Received: from MN2PR05MB5999.namprd05.prod.outlook.com (20.178.244.83) by MN2PR05MB6126.namprd05.prod.outlook.com (20.178.244.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1965.12; Thu, 6 Jun 2019 23:45:36 +0000 Received: from MN2PR05MB5999.namprd05.prod.outlook.com ([fe80::fdb1:1f9d:89d0:50e9]) by MN2PR05MB5999.namprd05.prod.outlook.com ([fe80::fdb1:1f9d:89d0:50e9%7]) with mapi id 15.20.1965.011; Thu, 6 Jun 2019 23:45:36 +0000 From: Eric Bemiller To: Robert Weiner Subject: Re: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) Thread-Topic: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) Thread-Index: AQHVG9/PylPJnrj7ckWfvr3X6yun5w== Date: Thu, 6 Jun 2019 23:45:35 +0000 Message-ID: References: In-Reply-To: (Robert Weiner's message of "Thu, 6 Jun 2019 19:00:04 -0400") Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [173.92.89.239] x-clientproxiedby: BL0PR02CA0088.namprd02.prod.outlook.com (2603:10b6:208:51::29) To MN2PR05MB5999.namprd05.prod.outlook.com (2603:10b6:208:d1::19) authentication-results: spf=none (sender IP is ) smtp.mailfrom=EBemiller@chamberlain.edu; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9e781e95-e7ce-49c0-f232-08d6ead91202 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(49563074)(7193020); SRVR:MN2PR05MB6126; x-ms-traffictypediagnostic: MN2PR05MB6126: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3513; x-forefront-prvs: 00603B7EEF x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(396003)(376002)(39860400002)(366004)(346002)(136003)(189003)(199004)(36756003)(2616005)(11346002)(81166006)(68736007)(7736002)(71200400001)(6916009)(3846002)(25786009)(316002)(6486002)(446003)(476003)(4326008)(6506007)(6116002)(26005)(71190400001)(53546011)(102836004)(6246003)(72206003)(88552002)(81156014)(386003)(75432002)(80792005)(5024004)(6436002)(256004)(66556008)(52116002)(2906002)(66446008)(66066001)(6512007)(8936002)(14454004)(42882007)(99936001)(478600001)(1411001)(786003)(99286004)(64756008)(73956011)(5660300002)(8676002)(66946007)(54906003)(229853002)(66476007)(66576008)(76176011)(4744005)(305945005)(486006)(186003)(53936002); DIR:OUT; SFP:1102; SCL:1; SRVR:MN2PR05MB6126; H:MN2PR05MB5999.namprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: chamberlain.edu does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: Y27fo8CglHlUaM+3nRQiSeViZZlGKSMlTwT3JV8Ohh0f65izwC9HKhX8j2J4caZxkGEDqW90hdqyL3FP3bjlMBaEWycFOhY1jsN7IdDW6sdqwuF4MX4geBaElPA6TQETAO8Vg0RtA8C75BtA2A07Hd8rJ7kIzdKnxe69FG2pXsWses+byGitX3EzYbR4/WuxmPfUYLVjQVBtv7ni2I4B84Y23A2L8V2h7er96r3dEOqSm8GbHSDFNaA6SfUVq9aa677nWannMPIyyzQO6+h9DvxqoLg81NObGUy/I+Mwn42aHeRZYJPkKBAUhF2/musWOlKPVfF05gtnlQC/8WJISqxuUTsLEf0eeMdXyjlsT6yAVhixGicDUM2f2IkuRp/OQz791LXgmVYK+cAkq3CuArVwfWUGt5yLehmyxYMsM5k= Content-Type: multipart/mixed; boundary="_003_uarp1s061dnmfsfdvuadminnet_" MIME-Version: 1.0 X-OriginatorOrg: dvuadmin.net X-MS-Exchange-CrossTenant-Network-Message-Id: 9e781e95-e7ce-49c0-f232-08d6ead91202 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jun 2019 23:45:36.4471 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 97fb1a07-66ed-4983-98cd-2b41977edc25 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: D40547914@dvuadmin.net X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR05MB6126 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 36107 Cc: "36107@debbugs.gnu.org" <36107@debbugs.gnu.org>, Robert Weiner X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --_003_uarp1s061dnmfsfdvuadminnet_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQpTdXJlIHRoaW5nIC0tIGhvcGVmdWxseSB0aGV5J3JlIGF0dGFjaGVkLiBUaGVzZSBhcmUgYSBm cmVzaCBkb3dubG9hZA0KZnJvbSBlbHBhLmdudS5vcmcNCg0KUm9iZXJ0IFdlaW5lciA8cnN3Z251 QGdtYWlsLmNvbT4gd3JpdGVzOg0KDQo+IC0tIEJvYg0KPg0KPj4gT24gSnVuIDYsIDIwMTksIGF0 IDU6MjYgUE0sIEVyaWMgQmVtaWxsZXIgPGQ0MDU0NzkxNEBkdnVhZG1pbi5uZXQ+IHdyb3RlOg0K Pj4gDQo+PiBJIHRoZW4gZGVsZXRlZCB0aGUgdmVyc2lvbiBvZiBIeXBlcmJvbGUgaW4gbXkgc2l0 ZSBsaXNwLCBhbmQgcmVpbnN0YWxsZWQNCj4+IGl0IHVzaW5nIHRoZSBpbnN0YWxsIGluc3RydWN0 aW9ucyBvbiB0aGUgSHlwZXJib2xlIHNpdGUuIENoZWNrZWQgdGhlDQo+PiBuZXdseSBpbnN0YWxs ZWQgdmVyc2lvbiwgYW5kIGBoeXBiOmZ1bmN0aW9ucGAgc3RpbGwgd2Fzbid0IHRoZXJlLg0KPg0K PiBDb3VsZCB5b3Ugc2VuZCB0aGUgaHlwZXJib2xlLmVsIGFuZCBoeXBiLmVsIGZpbGVzIGZyb20g dGhpcyBiYWQgdmVyc2lvbiBzbyB3ZSBjYW4gc2VlIGhvdyB0aGV5IGFyZSBkaWZmZXJlbnQ/DQo+ DQo+IEdsYWQgeW91IGdvdCBhIHdvcmtpbmcgdmVyc2lvbiB0b28uDQoNCg== --_003_uarp1s061dnmfsfdvuadminnet_ Content-Type: application/emacs-lisp; name="hypb.el" Content-Description: hypb.el Content-Disposition: attachment; filename="hypb.el"; size=34106; creation-date="Thu, 06 Jun 2019 23:45:35 GMT"; modification-date="Thu, 06 Jun 2019 23:45:35 GMT" Content-ID: <929D8B72CF8B164A97FFBC2CF7B74BB9@namprd05.prod.outlook.com> Content-Transfer-Encoding: base64 Ozs7IGh5cGIuZWwgLS0tIE1pc2NlbGxhbmVvdXMgR05VIEh5cGVyYm9sZSBzdXBwb3J0IGZlYXR1 cmVzDQo7Ow0KOzsgQXV0aG9yOiAgICAgICBCb2IgV2VpbmVyDQo7Ow0KOzsgT3JpZy1EYXRlOiAg ICAgNi1PY3QtOTEgYXQgMDM6NDI6MzgNCjs7DQo7OyBDb3B5cmlnaHQgKEMpIDE5OTEtMjAxOSAg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQo7OyBTZWUgdGhlICJIWS1DT1BZIiBmaWxl IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLg0KOzsNCjs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdO VSBIeXBlcmJvbGUuDQoNCjs7OyBDb21tZW50YXJ5Og0KDQo7OzsgQ29kZToNCjs7OyAqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioNCjs7OyBPdGhlciByZXF1aXJlZCBFbGlzcCBsaWJyYXJpZXMNCjs7OyAqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioNCg0KKGV2YWwtYW5kLWNvbXBpbGUgKG1hcGMgIydyZXF1aXJlICcoaHZlcnNpb24g aGFjdCBsb2NhdGUpKSkNCg0KOzs7ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KOzs7IFB1YmxpYyB2YXJpYWJs ZXMNCjs7OyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioNCg0KKGRlZmNvbnN0IGh5cGI6aGVscC1idWYtcHJlZml4 ICIqSGVscDogSHlwZXJib2xlICINCiAgIlByZWZpeCBhdHRhY2hlZCB0byBhbGwgbmF0aXZlIEh5 cGVyYm9sZSBoZWxwIGJ1ZmZlciBuYW1lcy4NClRoaXMgc2hvdWxkIGVuZCB3aXRoIGEgc3BhY2Uu IikNCg0KKGRlZmN1c3RvbSBoeXBiOnJncmVwLWNvbW1hbmQNCiAgKGZvcm1hdCAiJXNncmVwIC1p bnNJSHIiIChpZiAoZXhlY3V0YWJsZS1maW5kICJ6Z3JlcCIpICJ6IiAiIikpDQogICIqR3JlcCBj b21tYW5kIHN0cmluZyBhbmQgaW5pdGlhbCBhcmd1bWVudHMgdG8gc2VuZCB0byBgaHlwYjpyZ3Jl cCcgY29tbWFuZC4NCkl0IG11c3QgZW5kIHdpdGggYSBzcGFjZS4iDQogIDp0eXBlICdzdHJpbmcN CiAgOmdyb3VwICdoeXBlcmJvbGUtY29tbWFuZHMpDQoNCjs7OyAqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCjs7 OyBQdWJsaWMgZnVuY3Rpb25zDQo7OzsgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoNCihkZWZ1biBoeXBiOmNh bGwtcHJvY2Vzcy1wIChwcm9ncmFtICZvcHRpb25hbCBpbmZpbGUgcHJlZGljYXRlICZyZXN0IGFy Z3MpDQogICJDYWxscyBhbiBleHRlcm5hbCBQUk9HUkFNIHdpdGggSU5GSUxFIGZvciBpbnB1dC4N CklmIFBSRURJQ0FURSBpcyBnaXZlbiwgaXQgaXMgZXZhbHVhdGVkIGluIGEgYnVmZmVyIHdpdGgg dGhlIFBST0dSQU0ncw0Kb3V0cHV0IGFuZCB0aGUgcmVzdWx0IHJldHVybmVkLiAgSWYgUFJFRElD QVRFIGlzIG5pbCwgcmV0dXJucyB0IGlmZg0KcHJvZ3JhbSBoYXMgbm8gb3V0cHV0IG9yIGp1c3Qg YSAwLXZhbHVlZCBvdXRwdXQuDQpSZXN0IG9mIEFSR1MgYXJlIHBhc3NlZCBhcyBhcmd1bWVudHMg dG8gUFJPR1JBTS4iDQogIChsZXQgKChidWYgKGdldC1idWZmZXItY3JlYXRlICIqdGVzdC1vdXRw dXQqIikpDQoJKGZvdW5kKSkNCiAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciBidWYNCiAgICAgIChz ZXRxIGJ1ZmZlci1yZWFkLW9ubHkgbmlsKQ0KICAgICAgKGVyYXNlLWJ1ZmZlcikNCiAgICAgIChh cHBseSAnY2FsbC1wcm9jZXNzIHByb2dyYW0gaW5maWxlIGJ1ZiBuaWwgYXJncykNCiAgICAgIChz ZXRxIGZvdW5kIA0KCSAgICAoaWYgcHJlZGljYXRlDQoJCShldmFsIHByZWRpY2F0ZSkNCgkgICAg ICAob3IgKD0gKHBvaW50LW1heCkgMSkgOzsgTm8gb3V0cHV0LCBjb25zaWRlciBjbWQgYSBzdWNj ZXNzLg0KCQkgIChhbmQgKDwgKHBvaW50LW1heCkgNCkNCgkJICAgICAgIChzdHJpbmc9IChidWZm ZXItc3Vic3RyaW5nIDEgMikgIjAiKSkpKSkNCiAgICAgIChzZXQtYnVmZmVyLW1vZGlmaWVkLXAg bmlsKQ0KICAgICAgKGtpbGwtYnVmZmVyIGJ1ZikpDQogICAgZm91bmQpKQ0KDQoNCihkZWZ1biBo eXBiOmNoYXItY291bnQgKGNoYXIgYXJyYXkpDQogICJSZXR1cm4gY291bnQgb2Ygb2NjdXJyZW5j ZXMgb2YgQ0hBUiBpbiBBUlJBWS4iDQogIChsZXQgKChpIDApIChjIDApIChsIChsZW5ndGggYXJy YXkpKSkNCiAgICAod2hpbGUgKDwgaSBsKQ0KICAgICAgKGlmICg9IGNoYXIgKGFyZWYgYXJyYXkg aSkpIChzZXRxIGMgKDErIGMpKSkNCiAgICAgIChzZXRxIGkgKDErIGkpKSkNCiAgICBjKSkNCg0K KGRlZnVuIGh5cGI6Y2htb2QgKG9wIG9jdGFsLXBlcm1pc3Npb25zIGZpbGUpDQogICJVc2VzIE9Q IGFuZCBPQ1RBTC1QRVJNSVNTSU9OUyBpbnRlZ2VyIHRvIHNldCBGSUxFIHBlcm1pc3Npb25zLg0K T1AgbWF5IGJlICssIC0sIHhvciwgb3IgZGVmYXVsdCA9LiINCiAgKGxldCAoKGZ1bmMgKGNvbmQg KChlcSBvcCAnKykgICAjJ2xvZ2lvcikNCgkJICAgICgoZXEgb3AgJy0pICAgKGxhbWJkYSAocDEg cDIpIChsb2dhbmQgKGxvZ25vdCBwMSkgcDIpKSkNCgkJICAgICgoZXEgb3AgJ3hvcikgIydsb2d4 b3IpDQoJCSAgICAodCAgICAgICAgICAgIChsYW1iZGEgKHAxIHAyKSBwMSkpKSkpDQogICAgKHNl dC1maWxlLW1vZGVzIGZpbGUgKGZ1bmNhbGwgZnVuYyAoaHlwYjpvY3QtdG8taW50IG9jdGFsLXBl cm1pc3Npb25zKQ0KCQkJCSAgKGZpbGUtbW9kZXMgZmlsZSkpKSkpDQoNCihkZWZ1biBoeXBiOmNt ZC1rZXktc3RyaW5nIChjbWQtc3ltICZvcHRpb25hbCBrZXltYXApDQogICJSZXR1cm5zIGEgc2lu Z2xlIHByZXR0eSBwcmludGVkIGtleSBzZXF1ZW5jZSBzdHJpbmcgYm91bmQgdG8gQ01ELVNZTS4N Ckdsb2JhbCBrZXltYXAgaXMgdXNlZCB1bmxlc3Mgb3B0aW9uYWwgS0VZTUFQIGlzIGdpdmVuLiIN CiAgKGlmIChhbmQgY21kLXN5bSAoc3ltYm9scCBjbWQtc3ltKSAoZmJvdW5kcCBjbWQtc3ltKSkN CiAgKGxldCogKChnZXQta2V5cyAobGFtYmRhIChjbWQtc3ltIGtleW1hcCkNCgkJICAgICAoa2V5 LWRlc2NyaXB0aW9uICh3aGVyZS1pcy1pbnRlcm5hbA0KCQkJCSAgICAgICBjbWQtc3ltIGtleW1h cCAnZmlyc3QpKSkpDQoJIChrZXlzIChmdW5jYWxsIGdldC1rZXlzIGNtZC1zeW0ga2V5bWFwKSkp DQogICAgKGNvbmNhdCAieyINCgkgICAgKGlmIChzdHJpbmc9IGtleXMgIiIpDQoJCShjb25jYXQg KGZ1bmNhbGwgZ2V0LWtleXMgJ2V4ZWN1dGUtZXh0ZW5kZWQtY29tbWFuZCBuaWwpDQoJCQkiICIg KHN5bWJvbC1uYW1lIGNtZC1zeW0pICIgUkVUIikNCgkgICAgICBrZXlzKQ0KCSAgICAifSIpKQ0K ICAoZXJyb3IgIihoeXBiOmNtZC1rZXktc3RyaW5nKTogSW52YWxpZCBjbWQtc3ltIGFyZzogJXMu IiBjbWQtc3ltKSkpDQoNCjs7OyMjI2F1dG9sb2FkDQooZGVmdW4gaHlwYjpjb25maWd1cmF0aW9u ICgmb3B0aW9uYWwgb3V0LWJ1ZikNCiAgIkluc2VydCBFbWFjcyBjb25maWd1cmF0aW9uIGluZm9y bWF0aW9uIGF0IHRoZSBlbmQgb2Ygb3B0aW9uYWwgT1VULUJVRiBvciB0aGUgY3VycmVudCBidWZm ZXIuIg0KICAoc2F2ZS1leGN1cnNpb24NCiAgICAoYW5kIG91dC1idWYgKHNldC1idWZmZXIgb3V0 LWJ1ZikpDQogICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkNCiAgICAoaWYgKHJlLXNlYXJjaC1m b3J3YXJkIG1haWwtaGVhZGVyLXNlcGFyYXRvciBuaWwgdCkNCgkoZm9yd2FyZC1saW5lIDEpDQog ICAgICAoZ290by1jaGFyIChwb2ludC1tYXgpKSkNCiAgICAoZGVsZXRlLWJsYW5rLWxpbmVzKSAo ZGVsZXRlLWJsYW5rLWxpbmVzKQ0KICAgIChsZXQgKChzdGFydCAocG9pbnQpKSkNCiAgICAgIChp bnNlcnQgKGZvcm1hdCAiSSB1c2U6XHRFZGl0b3I6ICAgICAgJXNcblx0SHlwZXJib2xlOiAgICVz XG4iDQoJCSAgICAgIChjb25kICgoYm91bmRwICdpbmZvZG9jay12ZXJzaW9uKQ0KCQkJICAgICBp bmZvZG9jay12ZXJzaW9uKQ0KCQkJICAgICh0IChoeXBiOnJlcGxhY2UtbWF0Y2gtc3RyaW5nDQoJ CQkJIiBvZiAuKyIgKGVtYWNzLXZlcnNpb24pICIiIHQpKSkNCiAgICAgICAgICAgICAgICAgICAg ICBoeXBlcmI6dmVyc2lvbikpDQogICAgICAoaWYgKGFuZCAoYm91bmRwICdici12ZXJzaW9uKSAo c3RyaW5ncCBici12ZXJzaW9uKSkNCgkgIChpbnNlcnQgKGZvcm1hdCAiXHRPTy1Ccm93c2VyOiAg JXNcbiIgYnItdmVyc2lvbikpKQ0KICAgICAgKGlmIChhbmQgKGJvdW5kcCAnc3lzdGVtLWNvbmZp Z3VyYXRpb24pIChzdHJpbmdwIHN5c3RlbS1jb25maWd1cmF0aW9uKSkNCgkgIChpbnNlcnQgKGZv cm1hdCAiXHRTeXMgVHlwZTogICAgJXNcbiIgc3lzdGVtLWNvbmZpZ3VyYXRpb24pKSkNCiAgICAg IChpbnNlcnQgKGZvcm1hdCAiXHRPUyBUeXBlOiAgICAgJXNcblx0V2luZG93IFN5czogICVzXG4i DQogICAgICAgICAgICAgICAgICAgICAgc3lzdGVtLXR5cGUgKG9yIHdpbmRvdy1zeXN0ZW0gKGh5 cGVyYjp3aW5kb3ctc3lzdGVtKQ0KCQkJCSAgICAgICJOb25lIikpKQ0KICAgICAgKGlmIChhbmQg KGJvdW5kcCAnaG1haWw6cmVhZGVyKSBobWFpbDpyZWFkZXIpDQogICAgICAgICAgKGluc2VydCAo Zm9ybWF0ICJcdE1haWwgUmVhZGVyOiAlc1xuIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAo Y29uZCAoKGVxIGhtYWlsOnJlYWRlciAncm1haWwtbW9kZSkgIlJNQUlMIikNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKChlcSBobWFpbDpyZWFkZXIgJ3ZtLW1vZGUpDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uY2F0ICJWTSAiIHZtLXZlcnNpb24pKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKGFuZCAoZXEgaG1haWw6cmVhZGVyICdtaC1z aG93LW1vZGUpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmct bWF0Y2ggInYgP1xcKFswLTldKy5bMC05XStcXCkiDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBtaC1lLVJDUy1pZCkpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoY29uY2F0ICJNSC1lICINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKHN1YnN0cmluZyBtaC1lLVJDUy1pZA0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtYXRjaC1iZWdpbm5pbmcgMSkNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWF0Y2gtZW5kIDEp KSkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoZXEgaG1haWw6cmVhZGVyICdw bS1mZHItbW9kZSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25jYXQgIlBJ RW1haWwgIiBwbS12ZXJzaW9uKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSkp KQ0KICAgICAgKGlmIChhbmQgKGJvdW5kcCAnaG5ld3M6cmVhZGVyKSAoYm91bmRwICdnbnVzLXZl cnNpb24pIGhuZXdzOnJlYWRlcikNCiAgICAgICAgICAoaW5zZXJ0IChmb3JtYXQgIlx0TmV3cyBS ZWFkZXI6ICVzXG4iIGdudXMtdmVyc2lvbikpKQ0KICAgICAgKGluc2VydCAiXG4iKQ0KICAgICAg OzsgSW5zZXJ0IHJlY2VudCBIeXBlcmJvbGUgZGVidWdnaW5nIG1lc3NhZ2VzIGlmIGFueS4NCiAg ICAgIChpZiAoZ2V0LWJ1ZmZlciAiKk1lc3NhZ2VzKiIpDQoJICAobGV0ICgob3BvaW50IChwb2lu dCkpKQ0KCSAgICAoaW5zZXJ0LWJ1ZmZlci1zdWJzdHJpbmcgIipNZXNzYWdlcyoiKQ0KCSAgICAo a2VlcC1saW5lcyAiXihIeURlYnVnKSIgb3BvaW50IChwb2ludCkpKSkNCiAgICAgICh1bnRhYmlm eSBzdGFydCAocG9pbnQpKSkpKQ0KDQooZGVmdW4gaHlwYjpkZWJ1ZyAoKQ0KICAiTG9hZHMgSHlw ZXJib2xlIGhidXQuZWwgc291cmNlIGZpbGUgYW5kIHNldHMgZGVidWdnaW5nIHRyYWNlYmFjayBm bGFnLiINCiAgKGludGVyYWN0aXZlKQ0KICAob3IgKGZlYXR1cmVwICdoaW5pdCkgKGxvYWQgImh5 cGVyYm9sZSIpKQ0KICAob3IgKGFuZCAoZmVhdHVyZXAgJ2hidXQpDQoJICAgKGxldCAoKGZ1bmMg KGh5cGI6aW5kaXJlY3QtZnVuY3Rpb24gJ2VidXQ6Y3JlYXRlKSkpDQoJICAgICAobm90IChvciAo aHlwYjplbWFjcy1ieXRlLWNvZGUtcCBmdW5jKQ0KCQkgICAgICAoZXEgJ2J5dGUtY29kZQ0KCQkJ ICAoY2FyIChjYXIgKG50aGNkciAzIChoeXBiOmluZGlyZWN0LWZ1bmN0aW9uDQoJCQkJCSAgICAg ICAnZWJ1dDpjcmVhdGUpKSkpKSkpKSkNCiAgICAgIChsb2FkICJoYnV0LmVsIikpDQogIChzZXRx IGRlYnVnLW9uLWVycm9yIHQpKQ0KDQo7OyBDb3BpZWQgZnJvbSBld3cuZWwgc28gYXMgdG8gbm90 IHJlcXVpcmUgdGhhdCBwYWNrYWdlLg0KKGRlZnVuIGh5cGI6ZGVjb2RlLXVybCAoc3RyaW5nKQ0K ICAobGV0KiAoKGJpbmFyeSAodXJsLXVuaGV4LXN0cmluZyBzdHJpbmcpKQ0KICAgICAgICAgKGRl Y29kZWQNCiAgICAgICAgICAoZGVjb2RlLWNvZGluZy1zdHJpbmcNCiAgICAgICAgICAgYmluYXJ5 DQogICAgICAgICAgIDs7IFBvc3NpYmx5IHNldCBieSBgdW5pdmVyc2FsLWNvZGluZy1zeXN0ZW0t YXJndW1lbnQnLg0KICAgICAgICAgICAob3IgY29kaW5nLXN5c3RlbS1mb3ItcmVhZA0KICAgICAg ICAgICAgICAgOzsgUkZDIDM5ODYgc2F5cyB0aGF0ICVBQiBzdHVmZiBpcyB1dGYtOC4NCiAgICAg ICAgICAgICAgIChpZiAoZXF1YWwgKGRlY29kZS1jb2Rpbmctc3RyaW5nIGJpbmFyeSAndXRmLTgp DQogICAgICAgICAgICAgICAgICAgICAgICAgICcodW5pY29kZSkpDQogICAgICAgICAgICAgICAg ICAgJ3V0Zi04DQogICAgICAgICAgICAgICAgIDs7IEJ1dCBwZXJoYXBzIG5vdC4NCiAgICAgICAg ICAgICAgICAgKGNhciAoZGV0ZWN0LWNvZGluZy1zdHJpbmcgYmluYXJ5KSkpKSkpDQogICAgICAg ICAoZW5jb2RlcyAoZmluZC1jb2Rpbmctc3lzdGVtcy1zdHJpbmcgZGVjb2RlZCkpKQ0KICAgIChp ZiAob3IgKGVxdWFsIGVuY29kZXMgJyh1bmRlY2lkZWQpKQ0KICAgICAgICAgICAgKG1lbXEgKGNv ZGluZy1zeXN0ZW0tYmFzZSAob3IgZmlsZS1uYW1lLWNvZGluZy1zeXN0ZW0NCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQtZmlsZS1uYW1lLWNvZGluZy1z eXN0ZW0pKQ0KICAgICAgICAgICAgICAgICAgZW5jb2RlcykpDQogICAgICAgIGRlY29kZWQNCiAg ICAgIDs7IElmIHdlIGNhbid0IGVuY29kZSB0aGUgZGVjb2RlZCBmaWxlIG5hbWUgKGR1ZSB0byBs YW5ndWFnZQ0KICAgICAgOzsgZW52aXJvbm1lbnQgc2V0dGluZ3MpLCB0aGVuIHdlIHJldHVybiB0 aGUgb3JpZ2luYWwsIGhleGlmaWVkDQogICAgICA7OyBzdHJpbmcuDQogICAgICBzdHJpbmcpKSkN Cg0KKGRlZnVuIGh5cGI6ZG9tYWluLW5hbWUgKCkNCiAgIlJldHVybnMgY3VycmVudCBJbnRlcm5l dCBkb21haW4gbmFtZSB3aXRoICdAJyBwcmVwZW5kZWQgb3IgbmlsIGlmIG5vbmUuIg0KICAobGV0 KiAoKGRuYW1lLWNtZCAob3IgKGZpbGUtZXhpc3RzLXAgIi91c3IvYmluL2RvbWFpbm5hbWUiKQ0K CQkJKGZpbGUtZXhpc3RzLXAgIi9iaW4vZG9tYWlubmFtZSIpKSkNCgkgKGRuYW1lIChvciAoYW5k IChib3VuZHAgJ21lc3NhZ2UtdXNlci1mcWRuKSAoc3RyaW5ncCBtZXNzYWdlLXVzZXItZnFkbikN CgkJCSAoc3RyaW5nLW1hdGNoICJcXC4iIG1lc3NhZ2UtdXNlci1mcWRuKQ0KCQkJIG1lc3NhZ2Ut dXNlci1mcWRuKQ0KCQkgICAgKGdldGVudiAiRE9NQUlOTkFNRSIpDQoJCSAgICAoaWYgZG5hbWUt Y21kDQoJCQkoaHlwYjpjYWxsLXByb2Nlc3MtcA0KCQkJICJkb21haW5uYW1lIiBuaWwgDQoJCQkg JyhzdWJzdHJpbmcgKGJ1ZmZlci1zdHJpbmcpIDAgLTEpKSkpKQ0KCSBob3N0LWFuZC1kb21haW4p DQogICAgKGlmIChvciAoYW5kIGRuYW1lIChzdHJpbmctbWF0Y2ggIlxcLiIgZG5hbWUpKQ0KCSAg ICAoYW5kIChzZXRxIGhvc3QtYW5kLWRvbWFpbiAoaHlwYjpjYWxsLXByb2Nlc3MtcA0KCQkJCQki aG9zdG5hbWUiIG5pbCAnKHN1YnN0cmluZyAoYnVmZmVyLXN0cmluZykgMCAtMSkgIi1mIikpDQoJ CSAoc2V0cSBkbmFtZSAoaWYgKHN0cmluZy1tYXRjaCAiXFxgW14uXStcXC4iIGhvc3QtYW5kLWRv bWFpbikNCgkJCQkgKHN1YnN0cmluZyBob3N0LWFuZC1kb21haW4gKG1hdGNoLWVuZCAwKSkpKSkN CgkgICAgKGxldCogKChzcmMgIi9ldGMvcmVzb2x2LmNvbmYiKQ0KCQkgICAoc3JjLWJ1Zi1leGlz dHMtcCAoZ2V0LWZpbGUtYnVmZmVyIHNyYykpKQ0KCSAgICAgIChhbmQgKGZpbGUtZXhpc3RzLXAg c3JjKSAoZmlsZS1yZWFkYWJsZS1wIHNyYykNCgkJICAgKHdpdGgtdGVtcC1idWZmZXINCgkJICAg ICAoaW5zZXJ0LWZpbGUtY29udGVudHMtbGl0ZXJhbGx5IHNyYykNCgkJICAgICAoZ290by1jaGFy IChwb2ludC1taW4pKQ0KCQkgICAgIChpZiAocmUtc2VhcmNoLWZvcndhcmQgICJeZG9tYWluWyBc dF0rXFwoW14gXHRcblxyXStcXCkiDQoJCQkJCSAgICAgbmlsIHQpDQoJCQkgKHNldHEgZG5hbWUg KGJ1ZmZlci1zdWJzdHJpbmcgKG1hdGNoLWJlZ2lubmluZyAxKQ0KCQkJCQkJICAgICAgIChtYXRj aC1lbmQgMSkpKSkNCgkJICAgICAob3Igc3JjLWJ1Zi1leGlzdHMtcCAoa2lsbC1idWZmZXIgbmls KSkNCgkJICAgICBkbmFtZSkpKSkNCgkoY29uY2F0ICJAIiBkbmFtZSkpKSkNCg0KKGRlZnVuIGh5 cGI6ZW1hY3MtYnl0ZS1jb2RlLXAgKG9iaikNCiAgIlJldHVybiBub24tbmlsIGlmZiBPQkogaXMg YW4gRW1hY3MgYnl0ZSBjb21waWxlZCBvYmplY3QuIg0KICAob3IgKGFuZCAoZmJvdW5kcCAnY29t cGlsZWQtZnVuY3Rpb24tcCkgKGNvbXBpbGVkLWZ1bmN0aW9uLXAgb2JqKSkNCiAgICAgIChhbmQg KGZib3VuZHAgJ2J5dGUtY29kZS1mdW5jdGlvbi1wKSAoYnl0ZS1jb2RlLWZ1bmN0aW9uLXAgb2Jq KSkpKQ0KDQooZGVmdW4gaHlwYjplcnJvciAoJnJlc3QgYXJncykNCiAgIlNpZ25hbHMgYW4gZXJy b3IgdHlwaWNhbGx5IHRvIGJlIGNhdWdodCBieSBgaHlwZXJib2xlJy4iDQogIChsZXQgKChtc2cg KGlmICg8IChsZW5ndGggYXJncykgMikgKGNhciBhcmdzKSAoYXBwbHkgJ2Zvcm1hdCBhcmdzKSkp KQ0KICAgIChwdXQgJ2Vycm9yICdlcnJvci1tZXNzYWdlIG1zZykNCiAgICAoZXJyb3IgbXNnKSkp DQoNCihkZWZ1biBoeXBiOmZpbGUtbWFqb3ItbW9kZSAoZmlsZSkNCiAgIlJldHVybiB0aGUgbWFq b3IgbW9kZSB1c2VkIGJ5IEZJTEUuDQpGSUxFIGlzIHRlbXBvcmFyaWx5IHJlYWQgaW50byBhIGJ1 ZmZlciB0byBkZXRlcm1pbmUgdGhlIG1ham9yIG1vZGUgaWYgbmVjZXNzYXJ5LiINCiAgKGxldCAo KGV4aXN0aW5nLWZsYWcgKGdldC1maWxlLWJ1ZmZlciBmaWxlKSkNCgkoYnVmIChmaW5kLWZpbGUt bm9zZWxlY3QgZmlsZSkpKQ0KICAgIChwcm9nMSAod2hlbiBidWYgKHNhdmUtZXhjdXJzaW9uIChz ZXQtYnVmZmVyIGJ1ZikgbWFqb3ItbW9kZSkpDQogICAgICAodW5sZXNzIChvciBleGlzdGluZy1m bGFnIChudWxsIGJ1ZikpDQoJKGtpbGwtYnVmZmVyIGJ1ZikpKSkpDQoNCihkZWZ1biBoeXBiOmZv cm1hdC1xdW90ZSAoc3RyaW5nKQ0KICAiUmVwbGFjZSBhbGwgc2luZ2xlICUgd2l0aCAlJSBpbiBT VFJJTkcgc28gYSBjYWxsIHRvIGBmb3JtYXQnIG9yIGBtZXNzYWdlJyBpZ25vcmVzIHRoZW0uIg0K ICAoaWYgKHN0cmluZ3Agc3RyaW5nKQ0KICAgICAgKHJlcGxhY2UtcmVnZXhwLWluLXN0cmluZw0K ICAgICAgICJAQEAiICIlJSIgKHJlcGxhY2UtcmVnZXhwLWluLXN0cmluZw0KCQkgICAiJSIgIiUl IiAocmVwbGFjZS1yZWdleHAtaW4tc3RyaW5nICIlJSIgIkBAQCIgc3RyaW5nIG5pbCB0KQ0KCQkg ICBuaWwgdCkNCiAgICAgICBuaWwgdCkpKQ0KDQooZGVmdW4gaHlwYjpmdW5jdGlvbi1jb3B5IChm dW5jLXN5bWJvbCkNCiAgIkNvcGllcyBGVU5DLVNZTUJPTCdzIGJvZHkgZm9yIG92ZXJsb2FkaW5n LiAgUmV0dXJucyBjb3B5IG9mIGJvZHkuIg0KICAoaWYgKGZib3VuZHAgZnVuYy1zeW1ib2wpDQog ICAgICAobGV0ICgoZnVuYyAoaHlwYjppbmRpcmVjdC1mdW5jdGlvbiBmdW5jLXN5bWJvbCkpKQ0K CShjb25kICgobGlzdHAgZnVuYykgKGNvcHktc2VxdWVuY2UgZnVuYykpDQoJICAgICAgKChzdWJy cCBmdW5jKSAoZXJyb3IgIihoeXBiOmZ1bmN0aW9uLWNvcHkpOiBgJXMnIGlzIGEgcHJpbWl0aXZl OyBjYW4ndCBjb3B5IGJvZHkuIg0KCQkJCSAgIGZ1bmMtc3ltYm9sKSkNCgkgICAgICAoKGFuZCAo aHlwYjplbWFjcy1ieXRlLWNvZGUtcCBmdW5jKSAoZmJvdW5kcCAnbWFrZS1ieXRlLWNvZGUpKQ0K CSAgICAgICAoaWYgKG5vdCAoZmJvdW5kcCAnY29tcGlsZWQtZnVuY3Rpb24tYXJnbGlzdCkpDQoJ CSAgIChsZXQgKChuZXctY29kZSAoYXBwZW5kIGZ1bmMgbmlsKSkpIDsgdHVybiBpdCBpbnRvIGEg bGlzdA0KCQkgICAgIChhcHBseSAnbWFrZS1ieXRlLWNvZGUgbmV3LWNvZGUpKQ0KCQkgOzsgQ2Fu J3QgcmVmZXJlbmNlIGJ5dGVjb2RlIG9iamVjdHMgYXMgdmVjdG9ycyBpbiBtb2Rlcm4NCgkJIDs7 IFhFbWFjcy4NCgkJIChsZXQgKChuZXctY29kZSAobmNvbmMNCgkJCQkgIChsaXN0IChjb21waWxl ZC1mdW5jdGlvbi1hcmdsaXN0IGZ1bmMpDQoJCQkJCShjb21waWxlZC1mdW5jdGlvbi1pbnN0cnVj dGlvbnMgZnVuYykNCgkJCQkJKGNvbXBpbGVkLWZ1bmN0aW9uLWNvbnN0YW50cyBmdW5jKQ0KCQkJ CQkoY29tcGlsZWQtZnVuY3Rpb24tc3RhY2stZGVwdGggZnVuYykNCgkJCQkJKGNvbXBpbGVkLWZ1 bmN0aW9uLWRvYy1zdHJpbmcgZnVuYykpKSkNCgkJICAgICAgIHNwZWMpDQoJCSAgIChpZiAoc2V0 cSBzcGVjIChjb21waWxlZC1mdW5jdGlvbi1pbnRlcmFjdGl2ZSBmdW5jKSkNCgkJICAgICAgIChz ZXRxIG5ldy1jb2RlIChuY29uYyBuZXctY29kZSAobGlzdCAobnRoIDEgc3BlYykpKSkpDQoJCSAg IChhcHBseSAnbWFrZS1ieXRlLWNvZGUgbmV3LWNvZGUpKSkpDQoJICAgICAgKHQgKGVycm9yICIo aHlwYjpmdW5jdGlvbi1jb3B5KTogQ2FuJ3QgY29weSBmdW5jdGlvbiBib2R5OiAlcyIgZnVuYykp KSkNCiAgICAoZXJyb3IgIihoeXBiOmZ1bmN0aW9uLWNvcHkpOiBgJXMnIHN5bWJvbCBpcyBub3Qg Ym91bmQgdG8gYSBmdW5jdGlvbi4iDQoJICAgZnVuYy1zeW1ib2wpKSkNCg0KKGRlZnVuIGh5cGI6 ZnVuY3Rpb24tb3ZlcmxvYWQgKGZ1bmMtc3ltIHByZXBlbmQgJnJlc3QgbmV3LWZvcm1zKQ0KICAi UmVkZWZpbmUgZnVuY3Rpb24gbmFtZWQgRlVOQy1TWU0gYnkgZWl0aGVyIFBSRVBFTkRpbmcgKG9y IGFwcGVuZGluZyBpZiBuaWwpIHJlc3Qgb2YgcXVvdGVkIE5FVy1GT1JNUy4iDQogIChsZXQgKChv bGQtZnVuYy1zeW0gKGludGVybg0KCQkJKGNvbmNhdCAiaHlwYi0tb2xkLSINCgkJCQkoc3ltYm9s LW5hbWUgZnVuYy1zeW0pKSkpKQ0KICAgIChvciAoZmJvdW5kcCBvbGQtZnVuYy1zeW0pDQoJKGRl ZmFsaWFzIG9sZC1mdW5jLXN5bSAoaHlwYjpmdW5jdGlvbi1jb3B5IGZ1bmMtc3ltKSkpDQogICAg KGxldCogKChvbGQtZnVuYyAoaHlwYjppbmRpcmVjdC1mdW5jdGlvbiBvbGQtZnVuYy1zeW0pKQ0K CSAgIChvbGQtcGFyYW0tbGlzdCAoYWN0aW9uOnBhcmFtcyBvbGQtZnVuYykpDQoJICAgKHBhcmFt LWxpc3QgKGFjdGlvbjpwYXJhbS1saXN0IG9sZC1mdW5jKSkNCgkgICAob2xkLWZ1bmMtY2FsbA0K CSAgICAgKGxpc3QgKGlmIChtZW1xICcmcmVzdCBvbGQtcGFyYW0tbGlzdCkNCgkJICAgICAgIDs7 IEhhdmUgdG8gYWNjb3VudCBmb3IgZXh0cmEgbGlzdCB3cmFwcGVyIGZyb20gJnJlc3QuDQoJCSAg ICAgICAoY29ucyAnYXBwbHkNCgkJCSAgICAgKGNvbnMgKGxpc3QgJ3F1b3RlIG9sZC1mdW5jLXN5 bSkgcGFyYW0tbGlzdCkpDQoJCSAgICAgKGNvbnMgb2xkLWZ1bmMtc3ltIHBhcmFtLWxpc3QpKSkp KQ0KICAgICAgKGV2YWwgKGFwcGVuZA0KCSAgICAgIChsaXN0ICdkZWZ1biBmdW5jLXN5bSBvbGQt cGFyYW0tbGlzdCkNCgkgICAgICAoZGVscSBuaWwNCgkJICAgIChsaXN0DQoJCSAgICAgIChkb2N1 bWVudGF0aW9uIG9sZC1mdW5jLXN5bSkNCgkJICAgICAgKGFjdGlvbjpjb21tYW5kcCBvbGQtZnVu Yy1zeW0pKSkNCgkgICAgICAoaWYgcHJlcGVuZA0KCQkgIChhcHBlbmQgbmV3LWZvcm1zIG9sZC1m dW5jLWNhbGwpDQoJCShhcHBlbmQgb2xkLWZ1bmMtY2FsbCBuZXctZm9ybXMpKSkpKSkpDQoNCihk ZWZ1biBoeXBiOmZ1bmN0aW9uLXN5bWJvbC1yZXBsYWNlIChmdW5jLXN5bSBzeW0tdG8tcmVwbGFj ZSByZXBsYWNlLXdpdGgtc3ltKQ0KICAiUmVwbGFjZXMgaW4gYm9keSBvZiBGVU5DLVNZTSBTWU0t VE8tUkVQTEFDRSB3aXRoIFJFUExBQ0UtV0lUSC1TWU0uDQpGVU5DLVNZTSBtYXkgYmUgYSBmdW5j dGlvbiBzeW1ib2wgb3IgaXRzIGJvZHkuICBBbGwgb2NjdXJyZW5jZXMgd2l0aGluIGxpc3RzDQph cmUgcmVwbGFjZWQuICBSZXR1cm5zIGJvZHkgb2YgbW9kaWZpZWQgRlVOQy1TWU0uIg0KICAobGV0 ICgoYm9keSAoaHlwYjppbmRpcmVjdC1mdW5jdGlvbiBmdW5jLXN5bSkpDQoJKGNvbnN0YW50LXZl Y3RvcikgKGNvbnN0YW50KSkNCiAgICAoaWYgKGxpc3RwIGJvZHkpDQoJOzsgYXNzdW1lIFYxOCBi eXRlIGNvbXBpbGVyDQoJKHNldHEgY29uc3RhbnQtdmVjdG9yDQoJICAgICAgKGNhciAoZGVscSBu aWwgKG1hcGNhcg0KCQkJICAgICAgKGxhbWJkYSAoZWx0KQ0KCQkJCShhbmQgKGxpc3RwIGVsdCkN CgkJCQkgICAgICh2ZWN0b3JwIChzZXRxIGNvbnN0YW50LXZlY3RvciAobnRoIDIgZWx0KSkpDQoJ CQkJICAgICBjb25zdGFudC12ZWN0b3IpKQ0KCQkJICAgICAgYm9keSkpKSkNCiAgICAgIDs7IGFz c3VtZSBFTUFDUyBieXRlIGNvbXBpbGVyICAgKGVxIChjb21waWxlZC1mdW5jdGlvbi1wIGJvZHkp IHQpDQogICAgICAoc2V0cSBjb25zdGFudCAoaWYgKGZib3VuZHAgJ2NvbXBpbGVkLWZ1bmN0aW9u LWNvbnN0YW50cykNCgkJCSAoY29tcGlsZWQtZnVuY3Rpb24tY29uc3RhbnRzIGJvZHkpDQoJCSAg ICAgICAoYXJlZiBib2R5IDIpKQ0KCSAgICBjb25zdGFudC12ZWN0b3IgKGlmICh2ZWN0b3JwIGNv bnN0YW50KSBjb25zdGFudCkpKQ0KICAgIChpZiBjb25zdGFudC12ZWN0b3INCgk7OyBDb2RlIGlz IGJ5dGUtY29tcGlsZWQuDQoJKGh5cGI6Y29uc3RhbnQtdmVjdG9yLXN5bWJvbC1yZXBsYWNlDQoJ IGNvbnN0YW50LXZlY3RvciBzeW0tdG8tcmVwbGFjZSByZXBsYWNlLXdpdGgtc3ltKQ0KICAgICAg OzsNCiAgICAgIDs7IENvZGUgaXMgbm90IGJ5dGUtY29tcGlsZWQuDQogICAgICA7OyBSZXBsYWNl cyBvY2N1cnJlbmNlIG9mIHN5bWJvbCB3aXRoaW4gbGlzdHMgb25seS4NCiAgICAgIChoeXBiOm1h cC1zdWJsaXN0cw0KICAgICAgIChsYW1iZGEgKGF0b20gbGlzdCkNCgkgOzsgVGhlICcgaW4gdGhl IG5leHQgbGluZSAqaXMqIHJlcXVpcmVkIGZvciBwcm9wZXIgc3Vic3RpdHV0aW9uLg0KCSAoaWYg KGVxIGF0b20gJ3N5bS10by1yZXBsYWNlKQ0KCSAgICAgKGxldCAoKGFnYWluIHQpKQ0KCSAgICAg ICAod2hpbGUgKGFuZCBhZ2FpbiBsaXN0KQ0KCQkgKGlmIChlcSAoY2FyIGxpc3QpIGF0b20pDQoJ CSAgICAgKHByb2duIChzZXRjYXIgbGlzdCByZXBsYWNlLXdpdGgtc3ltKQ0KCQkJICAgIChzZXRx IGFnYWluIG5pbCkpDQoJCSAgIChzZXRxIGxpc3QgKGNkciBsaXN0KSkpKSkpKQ0KICAgICAgIGJv ZHkpKQ0KICAgIGJvZHkpKQ0KDQo7OyBEZXJpdmVkIGZyb20gcG9wLWdsb2JhbC1tYXJrIG9mICJz aW1wbGUuZWwiIGluIEdOVSBFbWFjcy4NCihkZWZ1biBoeXBiOmdvdG8tbWFya2VyIChtYXJrZXIp DQogICJNYWtlIE1BUktFUidzIGJ1ZmZlciBhbmQgcG9zaXRpb24gY3VycmVudC4NCklmIE1BUktF UiBpcyBpbnZhbGlkIHNpZ25hbCBhbiBlcnJvci4iDQogIChjb25kICgobm90IChtYXJrZXJwIG1h cmtlcikpDQoJIChlcnJvciAiSW52YWxpZCBtYXJrZXI6ICVzIiBtYXJrZXIpKQ0KCSgobm90ICht YXJrZXItYnVmZmVyIG1hcmtlcikpDQoJIChlcnJvciAiSW52YWxpZCBtYXJrZXIgYnVmZmVyOiAl cyIgbWFya2VyKSkNCgkodCAobGV0KiAoKGJ1ZmZlciAobWFya2VyLWJ1ZmZlciBtYXJrZXIpKQ0K CQkgIChwb3NpdGlvbiAobWFya2VyLXBvc2l0aW9uIG1hcmtlcikpKQ0KCSAgICAgKHNldC1idWZm ZXIgYnVmZmVyKQ0KCSAgICAgKHVubGVzcyAoYW5kICg+PSBwb3NpdGlvbiAocG9pbnQtbWluKSkN CgkJCSAgKDw9IHBvc2l0aW9uIChwb2ludC1tYXgpKSkNCgkgICAgICAgKGlmIHdpZGVuLWF1dG9t YXRpY2FsbHkNCgkJICAgKHdpZGVuKQ0KCQkgKGVycm9yICJNYXJrZXIgcG9zaXRpb24gaXMgb3V0 c2lkZSBhY2Nlc3NpYmxlIHBhcnQgb2YgYnVmZmVyOiAlcyIgbWFya2VyKSkpDQoJICAgICAoZ290 by1jaGFyIHBvc2l0aW9uKQ0KCSAgICAgKHN3aXRjaC10by1idWZmZXIgYnVmZmVyKSkpKSkNCg0K KGRlZnVuIGh5cGI6aGVscC1idWYtbmFtZSAoJm9wdGlvbmFsIHN1ZmZpeCkNCiAgIlJldHVybnMg YSBIeXBlcmJvbGUgaGVscCBidWZmZXIgbmFtZSBmb3IgY3VycmVudCBidWZmZXIuDQpXaXRoIG9w dGlvbmFsIFNVRkZJWCBzdHJpbmcsIHVzZXMgaXQgcmF0aGVyIHRoYW4gYnVmZmVyIG5hbWUuIg0K ICAobGV0ICgoYm4gKG9yIHN1ZmZpeCAoYnVmZmVyLW5hbWUpKSkpDQogICAgKGlmIChzdHJpbmct bWF0Y2ggKHJlZ2V4cC1xdW90ZSBoeXBiOmhlbHAtYnVmLXByZWZpeCkgYm4pDQoJKGJ1ZmZlci1u YW1lIChnZW5lcmF0ZS1uZXctYnVmZmVyIGJuKSkNCiAgICAgIChjb25jYXQgaHlwYjpoZWxwLWJ1 Zi1wcmVmaXggYm4gIioiKSkpKQ0KDQooZGVmdW4gaHlwYjpoa2V5LWhlbHAtZmlsZSAoKQ0KICAi UmV0dXJuIHRoZSBmdWxsIHBhdGggdG8gdGhlIEh5cGVyYm9sZSBtb3VzZSBrZXkgaGVscCBmaWxl LiINCiAgKGNvbmQgKChhbmQgKGZib3VuZHAgJ2xvY2F0ZS1kYXRhLWZpbGUpDQoJICAgICAgKGxv Y2F0ZS1kYXRhLWZpbGUgImhrZXktaGVscC50eHQiKSkpDQoJKHQgKGxldCogKChoeXBiLW1hbiAo ZXhwYW5kLWZpbGUtbmFtZSAibWFuLyIgaHlwZXJiOmRpcikpDQoJCSAgKGhlbHAtZmlsZSAoZXhw YW5kLWZpbGUtbmFtZSAiaGtleS1oZWxwLnR4dCIgaHlwYi1tYW4pKSkNCgkgICAgIChpZiAob3Ig KGZpbGUtZXhpc3RzLXAgaGVscC1maWxlKQ0KCQkgICAgIChmaWxlLWV4aXN0cy1wDQoJCSAgICAg IChzZXRxIGhlbHAtZmlsZSAoZXhwYW5kLWZpbGUtbmFtZQ0KCQkJCSAgICAgICAiaGtleS1oZWxw LnR4dCIgZGF0YS1kaXJlY3RvcnkpKSkpDQoJCSBoZWxwLWZpbGUNCgkgICAgICAgKGVycm9yICIo aHlwYjpoa2V5LWhlbHAtZmlsZSk6IE5vbi1leGlzdGVudCBmaWxlOiBcIiVzXCIiDQoJCSAgICAg IGhlbHAtZmlsZSkpKSkpKQ0KDQooZGVmdW4gaHlwYjppbmRpcmVjdC1mdW5jdGlvbiAob2JqKQ0K ICAiUmV0dXJuIHRoZSBmdW5jdGlvbiBhdCB0aGUgZW5kIG9mIE9CSidzIGZ1bmN0aW9uIGNoYWlu Lg0KUmVzb2x2ZXMgYXV0b2xvYWRhYmxlIGZ1bmN0aW9uIHN5bWJvbHMgcHJvcGVybHkuIg0KICAo bGV0ICgoZnVuYw0KCSAoaWYgKGZib3VuZHAgJ2luZGlyZWN0LWZ1bmN0aW9uKQ0KCSAgICAgKGlu ZGlyZWN0LWZ1bmN0aW9uIG9iaikNCgkgICAod2hpbGUgKHN5bWJvbHAgb2JqKQ0KCSAgICAgKHNl dHEgb2JqIChzeW1ib2wtZnVuY3Rpb24gb2JqKSkpDQoJICAgb2JqKSkpDQogICAgOzsgSGFuZGxl IGZ1bmN0aW9ucyB3aXRoIGF1dG9sb2FkIGJvZGllcy4NCiAgICAoaWYgKGFuZCAoc3ltYm9scCBv YmopIChsaXN0cCBmdW5jKSAoZXEgKGNhciBmdW5jKSAnYXV0b2xvYWQpKQ0KCShsZXQgKChsb2Fk LWZpbGUgKGNhciAoY2RyIGZ1bmMpKSkpDQoJICAobG9hZCBsb2FkLWZpbGUpDQoJICA7OyBQcmV2 ZW50IGluZmluaXRlIHJlY3Vyc2lvbg0KCSAgKGlmIChlcXVhbCBmdW5jIChzeW1ib2wtZnVuY3Rp b24gb2JqKSkNCgkgICAgICAoZXJyb3IgIihoeXBiOmluZGlyZWN0LWZ1bmN0aW9uKTogQXV0b2xv YWQgb2YgJyVzJyBmYWlsZWQiIG9iaikNCgkgICAgKGh5cGI6aW5kaXJlY3QtZnVuY3Rpb24gb2Jq KSkpDQogICAgICBmdW5jKSkpDQoNCihkZWZ1biBoeXBiOmluc2VydC1yZWdpb24gKGJ1ZmZlciBz dGFydCBlbmQgaW52aXNpYmxlLWZsYWcpDQogICJJbnNlcnQgaW50byBCVUZGRVIgdGhlIGNvbnRl bnRzIG9mIHRoZSByZWdpb24gZnJvbSBTVEFSVCB0byBFTkQgd2l0aGluIHRoZSBjdXJyZW50IGJ1 ZmZlci4NCklOVklTSUJMRS1GTEFHLCBpZiBub24tbmlsLCBtZWFucyBpbnZpc2libGUgdGV4dCBp biBhbiBvdXRsaW5lIHJlZ2lvbiBpcw0KY29waWVkLCBvdGhlcndpc2UsIGl0IGlzIG9taXR0ZWQu Ig0KICAoaWYgaW52aXNpYmxlLWZsYWcNCiAgICAgIDs7IFNraXAgaGlkZGVuIGJsYW5rIGxpbmVz IGJldHdlZW4gY2VsbHMgYnV0IGluY2x1ZGUgaGlkZGVuIG91dGxpbmUgdGV4dC4NCiAgICAgICh3 aGlsZSAoPCBzdGFydCBlbmQpDQoJKGlmIChub3QgKGdldC10ZXh0LXByb3BlcnR5IHN0YXJ0ICdp bnZpc2libGUpKQ0KCSAgICAoYXBwZW5kLXRvLWJ1ZmZlciBidWZmZXIgc3RhcnQgKDErIHN0YXJ0 KSkpDQoJKHNldHEgc3RhcnQgKDErIHN0YXJ0KSkpDQogICAgOzsgU2tpcCBib3RoIGhpZGRlbiBi bGFuayBsaW5lcyBiZXR3ZWVuIGNlbGxzIGFuZCBoaWRkZW4gb3V0bGluZSB0ZXh0Lg0KICAgICh3 aGlsZSAoPCBzdGFydCBlbmQpDQogICAgICAob3IgKGt2aWV3OmNoYXItaW52aXNpYmxlLXAgc3Rh cnQpIChhcHBlbmQtdG8tYnVmZmVyIGJ1ZmZlciBzdGFydCAoMSsgc3RhcnQpKSkNCiAgICAgIChz ZXRxIHN0YXJ0ICgxKyBzdGFydCkpKSkpDQoJDQo7OzsjIyNhdXRvbG9hZA0KKGRlZnVuIGh5cGI6 bG9jYXRlIChzZWFyY2gtc3RyaW5nICZvcHRpb25hbCBmaWx0ZXIgYXJnKQ0KICAiRmluZCBmaWxl IG5hbWUgbWF0Y2hlcyBhbnl3aGVyZSwgY2FsbGluZyB0aGUgdmFsdWUgb2YgYGxvY2F0ZS1jb21t YW5kJywgYW5kIHB1dHRpbmcgcmVzdWx0cyBpbiB0aGUgYCpMb2NhdGUqJyBidWZmZXIuDQpQYXNz IGl0IFNFQVJDSC1TVFJJTkcgYXMgYXJndW1lbnQuICBJbnRlcmFjdGl2ZWx5LCBwcm9tcHQgZm9y IFNFQVJDSC1TVFJJTkcuDQpXaXRoIHByZWZpeCBhcmcgQVJHLCBwcm9tcHQgZm9yIHRoZSBleGFj dCBzaGVsbCBjb21tYW5kIHRvIHJ1biBpbnN0ZWFkLg0KDQpUaGlzIHByb2dyYW0gc2VhcmNoZXMg Zm9yIHRob3NlIGZpbGUgbmFtZXMgaW4gYSBkYXRhYmFzZSB0aGF0IG1hdGNoDQpTRUFSQ0gtU1RS SU5HIGFuZCBub3JtYWxseSBvdXRwdXRzIGFsbCBtYXRjaGluZyBhYnNvbHV0ZSBmaWxlIG5hbWVz LA0Kb25lIHBlciBsaW5lLiAgVGhlIGRhdGFiYXNlIG5vcm1hbGx5IGNvbnNpc3RzIG9mIGFsbCBm aWxlcyBvbiB5b3VyDQpzeXN0ZW0sIG9yIG9mIGFsbCBmaWxlcyB0aGF0IHlvdSBoYXZlIGFjY2Vz cyB0by4gIENvbnN1bHQgdGhlDQpkb2N1bWVudGF0aW9uIG9mIHRoZSBwcm9ncmFtIGZvciB0aGUg ZGV0YWlscyBhYm91dCBob3cgaXQgZGV0ZXJtaW5lcw0Kd2hpY2ggZmlsZSBuYW1lcyBtYXRjaCBT RUFSQ0gtU1RSSU5HLiAgKFRob3NlIGRldGFpbHMgdmFyeSBoaWdobHkgd2l0aA0KdGhlIHZlcnNp b24uKQ0KDQpZb3UgY2FuIHNwZWNpZnkgYW5vdGhlciBwcm9ncmFtIGZvciB0aGlzIGNvbW1hbmQg dG8gcnVuIGJ5IGN1c3RvbWl6aW5nDQp0aGUgdmFyaWFibGVzIGBsb2NhdGUtY29tbWFuZCcgb3Ig YGxvY2F0ZS1tYWtlLWNvbW1hbmQtbGluZScuDQoNClRoZSBtYWluIHVzZSBvZiBGSUxURVIgaXMg dG8gaW1wbGVtZW50IGBsb2NhdGUtd2l0aC1maWx0ZXInLiAgU2VlDQp0aGUgZG9jc3RyaW5nIG9m IHRoYXQgZnVuY3Rpb24gZm9yIGl0cyBtZWFuaW5nLg0KDQpBZnRlciBwcmVwYXJpbmcgdGhlIHJl c3VsdHMgYnVmZmVyLCB0aGlzIHJ1bnMgYGRpcmVkLW1vZGUtaG9vaycgYW5kDQp0aGVuIGBsb2Nh dGUtcG9zdC1jb21tYW5kLWhvb2snLiINCiAgKGludGVyYWN0aXZlIChsaXN0IChsZXQgKChkZWZh dWx0IChzeW1ib2wtYXQtcG9pbnQpKSkNCgkJICAgICAgIChyZWFkLXN0cmluZyAoZm9ybWF0ICJM b2NhdGUgZmlsZXMgYW55d2hlcmUgd2l0aCBuYW1lcyB0aGF0IG1hdGNoJXM6ICINCgkJCQkJICAg IChpZiBkZWZhdWx0DQoJCQkJCQkoZm9ybWF0ICIgKGRlZmF1bHQgJXMpIiBkZWZhdWx0KQ0KCQkJ CQkgICAgICAiIikpDQoJCQkJICAgIG5pbCBuaWwgZGVmYXVsdCkpDQoJCSAgICAgbmlsDQoJCSAg ICAgY3VycmVudC1wcmVmaXgtYXJnKSkNCiAgKGxvY2F0ZSBzZWFyY2gtc3RyaW5nIGZpbHRlciBh cmcpKQ0KDQooZGVmYWxpYXMgJ2h5cGI6bWFyayAjJ21hcmspDQoNCihpZiAoZmVhdHVyZXAgJ3hl bWFjcykNCiAgICAoZGVmYWxpYXMgJ2h5cGI6bWFyay1tYXJrZXIgJ21hcmstbWFya2VyKQ0KICAo ZGVmdW4gaHlwYjptYXJrLW1hcmtlciAoaW5hY3RpdmUtcCkNCiAgICAiUmV0dXJuIHRoaXMgYnVm ZmVyJ3MgbWFyayBhcyBhIG1hcmtlciBvYmplY3QsIG9yIG5pbCBpZiBubyBtYXJrLg0KSU5BQ1RJ VkUtUCBpcyB1bnVzZWQsIGl0IGlzIGZvciBjb21wYXRpYmlsaXR5IHdpdGggWEVtYWNzJyB2ZXJz aW9uIG9mDQptYXJrLW1hcmtlci4iDQogICAgKG1hcmstbWFya2VyKSkpDQoNCjs7OyMjI2F1dG9s b2FkDQooZGVmdW4gaHlwYjptYXAtcGxpc3QgKGZ1bmMgcGxpc3QpDQogICJSZXR1cm5zIHJlc3Vs dCBvZiBhcHBseWluZyBGVU5DIG9mIHR3byBhcmdzLCBrZXkgYW5kIHZhbHVlLCB0byBrZXktdmFs dWUgcGFpcnMgaW4gUExJU1QsIGEgcHJvcGVydHkgbGlzdC4iDQogIChjbC1sb29wIGZvciAoayB2 KSBvbiBwbGlzdCBieSAjJ2NkZHINCgkgICBjb2xsZWN0IChmdW5jYWxsIGZ1bmMgayB2KSBpbnRv IHJlc3VsdA0KCSAgIGZpbmFsbHkgcmV0dXJuIHJlc3VsdCkpDQoNCihkZWZ1biBoeXBiOm1hcC1z dWJsaXN0cyAoZnVuYyBsaXN0KQ0KICAiQXBwbGllcyBGVU5DIHRvIGV2ZXJ5IGF0b20gZm91bmQg YXQgYW55IGxldmVsIG9mIExJU1QuDQpGVU5DIG11c3QgdGFrZSB0d28gYXJndW1lbnRzLCBhbiBh dG9tIGFuZCBhIGxpc3QgaW4gd2hpY2ggdGhlIGF0b20gaXMgZm91bmQuDQpSZXR1cm5zIHZhbHVl cyBmcm9tIGFwcGxpY2F0aW9ucyBvZiBGVU5DIGFzIGEgbGlzdCB3aXRoIHRoZSBzYW1lDQpzdHJ1 Y3R1cmUgYXMgTElTVC4gIEZVTkMgaXMgdGhlcmVmb3JlIG5vcm1hbGx5IHVzZWQganVzdCBmb3Ig aXRzIHNpZGUtZWZmZWN0cy4iDQogIChtYXBjYXIgKGxhbWJkYSAoZWx0KQ0KCSAgICAoaWYgKGF0 b20gZWx0KQ0KCQkoZnVuY2FsbCBmdW5jIGVsdCBsaXN0KQ0KCSAgICAgIChoeXBiOm1hcC1zdWJs aXN0cyBmdW5jIGVsdCkpKQ0KCSAgbGlzdCkpDQoNCihkZWZ1biBoeXBiOm1hcC12ZWN0b3IgKGZ1 bmMgb2JqZWN0KQ0KICAiUmV0dXJucyBsaXN0IG9mIHJlc3VsdHMgb2YgYXBwbGljYXRpb24gb2Yg RlVOQyB0byBlYWNoIGVsZW1lbnQgb2YgT0JKRUNULg0KT0JKRUNUIHNob3VsZCBiZSBhIHZlY3Rv ciBvciBieXRlLWNvZGUgb2JqZWN0LiINCiAgKGlmIChub3QgKG9yICh2ZWN0b3JwIG9iamVjdCkg KGh5cGI6ZW1hY3MtYnl0ZS1jb2RlLXAgb2JqZWN0KSkpDQogICAgICAoZXJyb3IgIihoeXBiOm1h cC12ZWN0b3IpOiBTZWNvbmQgYXJndW1lbnQgbXVzdCBiZSBhIHZlY3RvciBvciBieXRlLWNvZGUg b2JqZWN0LiIpKQ0KICAobGV0ICgoZW5kIChsZW5ndGggb2JqZWN0KSkNCgkoaSAwKQ0KCShyZXN1 bHQpKQ0KICAgICh3aGlsZSAoPCBpIGVuZCkNCiAgICAgIChzZXRxIHJlc3VsdCAoY29ucyAoZnVu Y2FsbCBmdW5jIChhcmVmIG9iamVjdCBpKSkgcmVzdWx0KQ0KCSAgICBpICgxKyBpKSkpDQogICAg KG5yZXZlcnNlIHJlc3VsdCkpKQ0KDQo7OyBEZXJpdmVkIGZyb20gIndpbmRvdy5lbCIuDQooZGVm dW4gaHlwYjptYXhpbWl6ZS13aW5kb3ctaGVpZ2h0ICgmb3B0aW9uYWwgd2luZG93KQ0KICAiTWF4 aW1pemUgV0lORE9XLg0KTWFrZSBXSU5ET1cgYXMgbGFyZ2UgYXMgcG9zc2libGUgd2l0aG91dCBk ZWxldGluZyBhbnkgd2luZG93cy4NCldJTkRPVyBtdXN0IGJlIGEgdmFsaWQgd2luZG93IGFuZCBk ZWZhdWx0cyB0byB0aGUgc2VsZWN0ZWQgb25lLg0KDQpJZiB0aGUgb3B0aW9uIGB3aW5kb3ctcmVz aXplLXBpeGVsd2lzZScgaXMgbm9uLW5pbCBtYXhpbWl6ZQ0KV0lORE9XIHBpeGVsd2lzZS4iDQog IChpbnRlcmFjdGl2ZSkNCiAgKHNldHEgd2luZG93ICh3aW5kb3ctbm9ybWFsaXplLXdpbmRvdyB3 aW5kb3cpKQ0KICAod2luZG93LXJlc2l6ZQ0KICAgd2luZG93ICh3aW5kb3ctbWF4LWRlbHRhIHdp bmRvdyBuaWwgbmlsIG5pbCBuaWwgbmlsIHdpbmRvdy1yZXNpemUtcGl4ZWx3aXNlKQ0KICAgbmls IG5pbCB3aW5kb3ctcmVzaXplLXBpeGVsd2lzZSkpDQoNCihkZWZ1biBoeXBiOnJlcGxhY2UtbWF0 Y2gtc3RyaW5nIChyZWdleHAgc3RyIG5ld3RleHQgJm9wdGlvbmFsIGxpdGVyYWwpDQogICJSZXBs YWNlcyBhbGwgbWF0Y2hlcyBmb3IgUkVHRVhQIGluIFNUUiB3aXRoIE5FV1RFWFQgc3RyaW5nIGFu ZCByZXR1cm5zIHRoZSByZXN1bHQuDQpPcHRpb25hbCBMSVRFUkFMIG5vbi1uaWwgbWVhbnMgZG8g YSBsaXRlcmFsIHJlcGxhY2VtZW50Lg0KT3RoZXJ3aXNlIHRyZWF0IFxcIGluIE5FV1RFWFQgc3Ry aW5nIGFzIHNwZWNpYWw6DQogIFxcJiBtZWFucyBzdWJzdGl0dXRlIG9yaWdpbmFsIG1hdGNoZWQg dGV4dCwNCiAgXFxOIG1lYW5zIHN1YnN0aXR1dGUgbWF0Y2ggZm9yIFwoLi4uXCkgbnVtYmVyIE4s DQogIFxcXFwgbWVhbnMgaW5zZXJ0IG9uZSBcXC4NCk5FV1RFWFQgbWF5IGluc3RlYWQgYmUgYSBm dW5jdGlvbiBvZiBvbmUgYXJndW1lbnQgKHRoZSBzdHJpbmcgdG8gcmVwbGFjZSBpbikNCnRoYXQg cmV0dXJucyBhIHJlcGxhY2VtZW50IHN0cmluZy4iDQogICh1bmxlc3MgKHN0cmluZ3Agc3RyKQ0K ICAgIChlcnJvciAiKGh5cGI6cmVwbGFjZS1tYXRjaC1zdHJpbmcpOiAybmQgYXJnIG11c3QgYmUg YSBzdHJpbmc6ICVzIiBzdHIpKQ0KICAodW5sZXNzIChvciAoc3RyaW5ncCBuZXd0ZXh0KSAoZnVu Y3Rpb25wIG5ld3RleHQpKQ0KICAgIChlcnJvciAiKGh5cGI6cmVwbGFjZS1tYXRjaC1zdHJpbmcp OiAzcmQgYXJnIG11c3QgYmUgYSBzdHJpbmcgb3IgZnVuY3Rpb246ICVzIg0KCSAgIG5ld3RleHQp KQ0KICAobGV0ICgocnRuLXN0ciAiIikNCgkoc3RhcnQgMCkNCgkoc3BlY2lhbCkNCgltYXRjaCBw cmV2LXN0YXJ0KQ0KICAgICh3aGlsZSAoc2V0cSBtYXRjaCAoc3RyaW5nLW1hdGNoIHJlZ2V4cCBz dHIgc3RhcnQpKQ0KICAgICAgKHNldHEgcHJldi1zdGFydCBzdGFydA0KCSAgICBzdGFydCAobWF0 Y2gtZW5kIDApDQoJICAgIHJ0bi1zdHINCgkgICAgKGNvbmNhdA0KCSAgICAgIHJ0bi1zdHINCgkg ICAgICAoc3Vic3RyaW5nIHN0ciBwcmV2LXN0YXJ0IG1hdGNoKQ0KCSAgICAgIChjb25kICgoZnVu Y3Rpb25wIG5ld3RleHQpDQoJCSAgICAgKGh5cGI6cmVwbGFjZS1tYXRjaC1zdHJpbmcNCgkJICAg ICAgcmVnZXhwIChzdWJzdHJpbmcgc3RyIG1hdGNoIHN0YXJ0KQ0KCQkgICAgICAoZnVuY2FsbCBu ZXd0ZXh0IHN0cikgbGl0ZXJhbCkpDQoJCSAgICAobGl0ZXJhbCBuZXd0ZXh0KQ0KCQkgICAgKHQg KG1hcGNvbmNhdA0KCQkJIChsYW1iZGEgKGMpDQoJCQkgICAoaWYgc3BlY2lhbA0KCQkJICAgICAg IChwcm9nbg0KCQkJCSAoc2V0cSBzcGVjaWFsIG5pbCkNCgkJCQkgKGNvbmQgKChlcSBjID9cXCkg IlxcIikNCgkJCQkgICAgICAgKChlcSBjID8mKQ0KCQkJCQkoc3Vic3RyaW5nIHN0cg0KCQkJCQkJ ICAgKG1hdGNoLWJlZ2lubmluZyAwKQ0KCQkJCQkJICAgKG1hdGNoLWVuZCAwKSkpDQoJCQkJICAg ICAgICgoYW5kICg+PSBjID8wKSAoPD0gYyA/OSkpDQoJCQkJCShpZiAoPiBjICgrID8wIChsZW5n dGgNCgkJCQkJCQkobWF0Y2gtZGF0YSkpKSkNCgkJCQkJICAgIDs7IEludmFsaWQgbWF0Y2ggbnVt DQoJCQkJCSAgICAoZXJyb3IgIihoeXBiOnJlcGxhY2UtbWF0Y2gtc3RyaW5nKSBJbnZhbGlkIG1h dGNoIG51bTogJWMiIGMpDQoJCQkJCSAgKHNldHEgYyAoLSBjID8wKSkNCgkJCQkJICAoc3Vic3Ry aW5nIHN0cg0KCQkJCQkJICAgICAobWF0Y2gtYmVnaW5uaW5nIGMpDQoJCQkJCQkgICAgIChtYXRj aC1lbmQgYykpKSkNCgkJCQkgICAgICAgKHQgKGNoYXItdG8tc3RyaW5nIGMpKSkpDQoJCQkgICAg IChpZiAoZXEgYyA/XFwpIChwcm9nbiAoc2V0cSBzcGVjaWFsIHQpIG5pbCkNCgkJCSAgICAgICAo Y2hhci10by1zdHJpbmcgYykpKSkNCgkJCSBuZXd0ZXh0ICIiKSkpKSkpDQogICAgKGNvbmNhdCBy dG4tc3RyIChzdWJzdHJpbmcgc3RyIHN0YXJ0KSkpKQ0KDQooZGVmdW4gaHlwYjpyZXR1cm4tcHJv Y2Vzcy1vdXRwdXQgKHByb2dyYW0gJm9wdGlvbmFsIGluZmlsZSAmcmVzdCBhcmdzKQ0KICAiUmV0 dXJucyBhcyBhIHN0cmluZyB0aGUgb3V0cHV0IGZyb20gZXh0ZXJuYWwgUFJPR1JBTSB3aXRoIElO RklMRSBmb3IgaW5wdXQuDQpSZXN0IG9mIEFSR1MgYXJlIHBhc3NlZCBhcyBhcmd1bWVudHMgdG8g UFJPR1JBTS4NClJlbW92ZXMgYW55IHRyYWlsaW5nIG5ld2xpbmUgYXQgdGhlIGVuZCBvZiB0aGUg b3V0cHV0LiINCiAgKGxldCAoKGJ1ZiAoZ2V0LWJ1ZmZlci1jcmVhdGUgIip0ZXN0LW91dHB1dCoi KSkNCgkob3V0cHV0KSkNCiAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciBidWYNCiAgICAgIChzZXRx IGJ1ZmZlci1yZWFkLW9ubHkgbmlsKQ0KICAgICAgKGVyYXNlLWJ1ZmZlcikNCiAgICAgIChhcHBs eSAnY2FsbC1wcm9jZXNzIHByb2dyYW0gaW5maWxlIGJ1ZiBuaWwgYXJncykNCiAgICAgIChzZXRx IG91dHB1dCAoYnVmZmVyLXN0cmluZykpDQogICAgICA7OyBSZW1vdmUgdHJhaWxpbmcgbmV3bGlu ZSBmcm9tIG91dHB1dC4NCiAgICAgIChpZiAoPiAobGVuZ3RoIG91dHB1dCkgMCkgKHNldHEgb3V0 cHV0IChzdWJzdHJpbmcgb3V0cHV0IDAgLTEpKSkNCiAgICAgIChzZXQtYnVmZmVyLW1vZGlmaWVk LXAgbmlsKQ0KICAgICAgKGtpbGwtYnVmZmVyIGJ1ZikpDQogICAgb3V0cHV0KSkNCg0KKGRlZnVu IGh5cGI6cmVtb3ZlLWxpbmVzIChyZWdleHApDQogIlJlbW92ZSBsaW5lcyBjb250YWluaW5nIG1h dGNoZXMgZm9yIFJFR0VYUCB3aXRoaW4gdGhlIGFjdGl2ZSByZWdpb24gb3IgdG8gdGhlIGVuZCBv ZiBidWZmZXIuIg0KICAgIChpbnRlcmFjdGl2ZSAic1JlbW92ZSBsaW5lcyB3aXRoIG1hdGNoIGZv ciByZWdleHA6ICIpDQogICAgKGZsdXNoLWxpbmVzIHJlZ2V4cCBuaWwgbmlsIHQpKQ0KDQo7Ozsj IyNhdXRvbG9hZA0KKGRlZnVuIGh5cGI6cmdyZXAgKHBhdHRlcm4gJm9wdGlvbmFsIHByZWZpeC1h cmcpDQogICJSZWN1cnNpdmVseSBncmVwIHdpdGggc3ltYm9sIGF0IHBvaW50IG9yIFBBVFRFUk4g b3ZlciBhbGwgbm9uLWJhY2t1cCBhbmQgbm9uLWF1dG9zYXZlIGZpbGVzIGluIHRoZSBjdXJyZW50 IGRpcmVjdG9yeSB0cmVlLg0KSWYgaW4gYW4gRW1hY3MgTGlzcCBtb2RlIGJ1ZmZlciBhbmQgbm8g UFJFRklYLUFSRyBpcyBnaXZlbiwgbGltaXQgc2VhcmNoIHRvIG9ubHkgLmVsIGFuZCAuZWwuZ3og ZmlsZXMuIg0KICAoaW50ZXJhY3RpdmUgKGxpc3QgKGlmIChhbmQgKG5vdCBjdXJyZW50LXByZWZp eC1hcmcpIChlcXVhbCAoYnVmZmVyLW5hbWUpICIqTG9jYXRlKiIpKQ0KCQkJIChyZWFkLXN0cmlu ZyAiR3JlcCBmaWxlcyBsaXN0ZWQgaGVyZSBmb3I6ICIpDQoJCSAgICAgICAobGV0ICgoZGVmYXVs dCAoc3ltYm9sLWF0LXBvaW50KSkpDQoJCQkgKGlmIGRlZmF1bHQgKHNldHEgZGVmYXVsdCAoc3lt Ym9sLW5hbWUgZGVmYXVsdCkpKQ0KCQkJIChyZWFkLXN0cmluZyAoZm9ybWF0ICJSZ3JlcCBiZWxv dyBjdXJyZW50IGRpciBmb3IlczogIg0KCQkJCQkgICAgICAoaWYgZGVmYXVsdA0KCQkJCQkJICAo Zm9ybWF0ICIgKGRlZmF1bHQgJXMpIiBkZWZhdWx0KQ0KCQkJCQkJIiIpKQ0KCQkJCSAgICAgIG5p bCBuaWwgZGVmYXVsdCkpKQ0KCQkgICAgIGN1cnJlbnQtcHJlZml4LWFyZykpDQogIChsZXQqICgo ZGVsaW0gKGNvbmQgKChub3QgKHN0cmluZy1tYXRjaCAiXCciIHBhdHRlcm4pKSA/XCcpDQoJCQkg ICAgICAoKG5vdCAoc3RyaW5nLW1hdGNoICJcIiIgcGF0dGVybikpID9cIikNCgkJCSAgICAgICgo bm90IChzdHJpbmctbWF0Y2ggIj0iIHBhdHRlcm4pKSA/PSkNCgkJCSAgICAgICh0ID9AKSkpDQoJ IChncmVwLWNtZA0KCSAgKGlmIChhbmQgKG5vdCBjdXJyZW50LXByZWZpeC1hcmcpIChlcXVhbCAo YnVmZmVyLW5hbWUpICIqTG9jYXRlKiIpKQ0KCSAgICAgIChmb3JtYXQgIiVzIC1lIFwlYyVzXCVj ICVzIiBoeXBiOnJncmVwLWNvbW1hbmQgZGVsaW0gcGF0dGVybiBkZWxpbSAoaHlwYjpsb2NhdGUt cGF0aG5hbWVzKSkNCgkgICAgKGZvcm1hdCAiJXMgJXMgLWUgXCVjJXNcJWMgLiINCgkJICAgIGh5 cGI6cmdyZXAtY29tbWFuZA0KCQkgICAgKGlmIChhbmQgKG1lbXEgbWFqb3ItbW9kZSAnKGVtYWNz LWxpc3AtbW9kZSBsaXNwLWludGVyYWN0aW9uLW1vZGUpKQ0KCQkJICAgICAobm90IHByZWZpeC1h cmcpKQ0KCQkJKGlmIChzdHJpbmctbWF0Y2ggIlxcYHJnICIgaHlwYjpyZ3JlcC1jb21tYW5kKQ0K CQkJICAgICItZyBcIiouZWxcIiAtZyBcIiouZWwuZ3pcIiINCgkJCSAgIi0taW5jbHVkZT1cIiou ZWxcIiAtLWluY2x1ZGU9XCIqLmVsLmd6XCIiKQ0KCQkgICAgICAoaWYgKHN0cmluZy1tYXRjaCAi XFxgcmcgIiBoeXBiOnJncmVwLWNvbW1hbmQpDQoJCQkgICItZyBcIiEqflwiIC1nIFwiISMqXCIg LWcgXCIhVEFHU1wiIg0KCQkJIi0tZXhjbHVkZT1cIip+XCIgLS1leGNsdWRlPVwiIypcIiAtLWV4 Y2x1ZGU9XCJUQUdTXCIiKSkNCgkJICAgIGRlbGltIHBhdHRlcm4gZGVsaW0pKSkpDQogICAgKHNl dHEgdGhpcy1jb21tYW5kIGAoZ3JlcCAsZ3JlcC1jbWQpKQ0KICAgIChwdXNoIHRoaXMtY29tbWFu ZCBjb21tYW5kLWhpc3RvcnkpDQogICAgKGdyZXAgZ3JlcC1jbWQpKSkNCg0KKGRlZnVuIGh5cGI6 c2F2ZS1saW5lcyAocmVnZXhwKQ0KICJTYXZlIG9ubHkgbGluZXMgY29udGFpbmluZyBtYXRjaGVz IGZvciBSRUdFWFAgd2l0aGluIHRoZSBhY3RpdmUgcmVnaW9uIG9yIHRvIHRoZSBlbmQgb2YgYnVm ZmVyLiINCiAgICAoaW50ZXJhY3RpdmUgInNTYXZlIGxpbmVzIHdpdGggbWF0Y2ggZm9yIHJlZ2V4 cDogIikNCiAgICAoa2VlcC1saW5lcyByZWdleHAgbmlsIG5pbCB0KSkNCg0KKGRlZm1hY3JvIGh5 cGI6c2F2ZS1zZWxlY3RlZC13aW5kb3ctYW5kLWlucHV0LWZvY3VzICgmcmVzdCBib2R5KQ0KICAi RXhlY3V0ZSBCT0RZLCB0aGVuIHJlc3RvcmUgdGhlIHNlbGVjdGVkIHdpbmRvdyBpbiBlYWNoIGZy YW1lIGFuZCB0aGUgcHJldmlvdXNseSBzZWxlY3RlZCBmcmFtZSB3aXRoIGlucHV0IGZvY3VzLg0K VGhlIHZhbHVlIHJldHVybmVkIGlzIHRoZSB2YWx1ZSBvZiB0aGUgbGFzdCBmb3JtIGluIEJPRFku Ig0KICBgKGxldCAoKGZyYW1lIChzZWxlY3RlZC1mcmFtZSkpKQ0KICAgICAocHJvZzEgKHNhdmUt c2VsZWN0ZWQtd2luZG93ICxAYm9keSkNCiAgICAgICAoc2VsZWN0LWZyYW1lLXNldC1pbnB1dC1m b2N1cyBmcmFtZSkpKSkNCg0KKGRlZnVuIGh5cGI6c2VsZWN0LXdpbmRvdy1mcmFtZSAod2luZG93 KQ0KICAiU2VsZWN0IFdJTkRPVyBhbmQgaXRzIGZyYW1lIChzZXQgaW5wdXQgZm9jdXMgdGhlcmUp LiINCiAgKGlmICh3aW5kb3ctbGl2ZS1wIHdpbmRvdykNCiAgICAgIChwcm9nbiAoc2VsZWN0LXdp bmRvdyB3aW5kb3cpDQoJICAgICAoc2VsZWN0LWZyYW1lLXNldC1pbnB1dC1mb2N1cyAod2luZG93 LWZyYW1lIHdpbmRvdykpKQ0KICAgIChlcnJvciAiKGh5cGI6c2VsZWN0LXdpbmRvdy1mcmFtZSk6 IEFyZ3VtZW50IG11c3QgYmUgYSBsaXZlIHdpbmRvdywgbm90ICclcyciIHdpbmRvdykpKQ0KDQoo ZGVmdW4gaHlwYjpzdXBlcmNpdGUtcCAoKQ0KICAiUmV0dXJucyBub24tbmlsIGlmZiB0aGUgRW1h Y3MgYWRkLW9uIHN1cGVyY2l0ZSBwYWNrYWdlIGlzIGluIHVzZS4iDQogIChsZXQgKGhvb2stdmFs KQ0KICAgIChpZiAobWVtcSB0IChtYXBjYXINCgkJIChsYW1iZGEgKGhvb2stdmFyKQ0KCQkgICAo YW5kIChib3VuZHAgaG9vay12YXIpDQoJCQkocHJvZ24gKHNldHEgaG9vay12YWwgKHN5bWJvbC12 YWx1ZSBob29rLXZhcikpDQoJCQkgICAgICAgKGNvbmQgKChsaXN0cCBob29rLXZhbCkNCgkJCQkg ICAgICAoaWYgKG1lbXEgJ3NjLWNpdGUtb3JpZ2luYWwgaG9vay12YWwpDQoJCQkJCSAgdCkpDQoJ CQkJICAgICAoKGVxIGhvb2stdmFsICdzYy1jaXRlLW9yaWdpbmFsKSkpKSkpDQoJCSAnKG1haWwt Y2l0YXRpb24taG9vayBtYWlsLXlhbmstaG9va3MpKSkNCgl0KSkpDQoNCihkZWZ1biBoeXBiOnRv Z2dsZS1pc2VhcmNoLWludmlzaWJsZSAoJm9wdGlvbmFsIGFyZykNCiAgIlRvZ2dsZSBpbnRlcmFj dGl2ZSBpbnZpc2libGUgc2VhcmNoaW5nIG9uIG9yIG9mZi4NClRoaXMgZGV0ZXJtaW5lcyB3aGV0 aGVyIHRvIHNlYXJjaCBpbnNpZGUgaW52aXNpYmxlIHRleHQgb3Igbm90Lg0KVG9nZ2xlcyB0aGUg dmFyaWFibGUg4oCYaXNlYXJjaC1pbnZpc2libGXigJkgYmV0d2VlbiB2YWx1ZXMNCm5pbCBhbmQg YSBub24tbmlsIHZhbHVlIG9mIHRoZSBvcHRpb24g4oCYc2VhcmNoLWludmlzaWJsZeKAmQ0KKG9y IOKAmG9wZW7igJkgaWYg4oCYc2VhcmNoLWludmlzaWJsZeKAmSBpcyBuaWwpLg0KDQpXaXRoIG9w dGlvbmFsIHByZWZpeCBBUkcgPiAwLCB0dXJuIG9uIHNlYXJjaGluZyBpbnZpc2libGUgdGV4dC4N CklmIEFSRyA8PSAwLCB0dXJuIHNlYXJjaCBvbmx5IHZpc2libGUgdGV4dC4iDQogIChpbnRlcmFj dGl2ZSAiUCIpDQogIChpZiAobm90IChib3VuZHAgJ2lzZWFyY2gtaW52aXNpYmxlKSkNCiAgICAg IChlcnJvciAiKGh5cGI6dG9nZ2xlLWlzZWFyY2gtaW52aXNpYmxlKTogRmVhdHVyZSBub3Qgc3Vw cG9ydGVkIGJ5IHRoZSB2ZXJzaW9uIG9mIEVtYWNzIikNCiAgICAoc2V0cSBpc2VhcmNoLWludmlz aWJsZSAoaWYgKGlmIChudWxsIGFyZykNCgkJCQkgICAgKG5vdCBpc2VhcmNoLWludmlzaWJsZSkN CgkJCQkgICg+IChwcmVmaXgtbnVtZXJpYy12YWx1ZSBhcmcpIDApKQ0KCQkJCShvciBzZWFyY2gt aW52aXNpYmxlICdvcGVuKSkpDQogICAgKG1lc3NhZ2UgIkktc2VhcmNoIHdpbGwgJXNzZWFyY2gg aW52aXNpYmxlIHRleHQiDQoJICAgICAoaWYgaXNlYXJjaC1pbnZpc2libGUgIiIgIm5vdCAiKSkp KQ0KDQooZGVmdW4gaHlwYjp1c2VyLW5hbWUgKCkNCiAgIlJldHVybiB0aGUgY3VycmVudCB1c2Vy J3MgZW1haWwgb3IgbG9naW4gbmFtZSAoc2FucyBhbnkgZG9tYWluIG5hbWUpLiINCiAgKGlmIChz dHJpbmctbWF0Y2ggIkAiIGh5cGVyYjp1c2VyLWVtYWlsKQ0KICAgICAgKHN1YnN0cmluZyBoeXBl cmI6dXNlci1lbWFpbCAwIChtYXRjaC1iZWdpbm5pbmcgMCkpDQogICAgKHVzZXItbG9naW4tbmFt ZSkpKQ0KDQooZGVmdW4gaHlwYjp3aW5kb3ctbGlzdCAoJm9wdGlvbmFsIG1pbmlidWZmZXItZmxh ZykNCiAgIlJldHVybnMgYSBsaXN0IG9mIExpc3Agd2luZG93IG9iamVjdHMgZm9yIGFsbCBFbWFj cyB3aW5kb3dzIGluIHNlbGVjdGVkIGZyYW1lLg0KT3B0aW9uYWwgZmlyc3QgYXJnIE1JTklCVUZG RVItRkxBRyB0IG1lYW5zIGluY2x1ZGUgdGhlIG1pbmlidWZmZXIgd2luZG93DQppbiB0aGUgbGlz dCwgZXZlbiBpZiBpdCBpcyBub3QgYWN0aXZlLiAgSWYgTUlOSUJVRkZFUi1GTEFHIGlzIG5laXRo ZXIgdA0Kbm9yIG5pbCBpdCBtZWFucyB0byBub3QgY291bnQgdGhlIG1pbmlidWZmZXIgd2luZG93 IGV2ZW4gaWYgaXQgaXMgYWN0aXZlLiINCiAgKHdpbmRvdy1saXN0IG5pbCBtaW5pYnVmZmVyLWZs YWcpKQ0KDQo7OzsgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqDQo7OzsgQWJvdXQgSHlwZXJib2xlIFNldHVwDQo7 OzsgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqDQoNCihkZWZ2YXIgaHlwYjpob21lLXBhZ2UgImh0dHBzOi8vd3d3 LmdudS5vcmcvc29mdHdhcmUvaHlwZXJib2xlLyINCiAgIlRoZSB3ZWIgaG9tZSBwYWdlIGZvciBI eXBlcmJvbGUiKQ0KDQooZGVmdmFyIGh5cGI6aHlwZXJib2xlLWJhbm5lci1rZXltYXANCiAgKGxl dCAoKG1hcCAobWFrZS1zcGFyc2Uta2V5bWFwKSkpDQogICAgKGNvbmQgKChub3QgKGZlYXR1cmVw ICd4ZW1hY3MpKQ0KCSAgIChkZWZpbmUta2V5IG1hcCBbbW91c2UtMV0gICdoeXBiOmJyb3dzZS1o b21lLXBhZ2UpDQoJICAgKGRlZmluZS1rZXkgbWFwIFttb3VzZS0yXSAgJ2h5cGI6YnJvd3NlLWhv bWUtcGFnZSkNCgkgICAoZGVmaW5lLWtleSBtYXAgIlxDLW0iICAgICAnaHlwYjpicm93c2UtaG9t ZS1wYWdlKSkNCgkgICgoZmVhdHVyZXAgJ3hlbWFjcykNCgkgICAoZGVmaW5lLWtleSBtYXAgJ2J1 dHRvbjEgICdoeXBiOmJyb3dzZS1ob21lLXBhZ2UpDQoJICAgKGRlZmluZS1rZXkgbWFwICdidXR0 b24yICAnaHlwYjpicm93c2UtaG9tZS1wYWdlKQ0KCSAgIChkZWZpbmUta2V5IG1hcCAnKHJldHVy bikgJ2h5cGI6YnJvd3NlLWhvbWUtcGFnZSkpKQ0KICAgIG1hcCkNCiAgIktleW1hcCB1c2VkIHdo ZW4gb24gdGhlIEh5cGVyYm9sZSBiYW5uZXIgZ2x5cGguIikNCg0KOzs7IyMjYXV0b2xvYWQNCihk ZWZ1biBoeXBiOmRpc3BsYXktZmlsZS13aXRoLWxvZ28gKCZvcHRpb25hbCBmaWxlKQ0KICAiRGlz cGxheSBhbiBvcHRpb25hbCB0ZXh0IEZJTEUgaW4gaGVscCBtb2RlIHdpdGggdGhlIEh5cGVyYm9s ZSBiYW5uZXIgcHJlcGVuZGVkLg0KV2l0aG91dCBmaWxlLCB0aGUgYmFubmVyIGlzIHByZXBlbmRl ZCB0byB0aGUgY3VycmVudCBidWZmZXIuIg0KICAoaWYgZmlsZQ0KICAgICAgOzsgQSBzdHViIGZv ciB0aGlzIGZ1bmN0aW9uIGlzIGRlZmluZWQgaW4gaHZlcnNpb24uZWwgd2hlbiBub3QgcnVubmlu ZyBpbiBJbmZvRG9jay4NCiAgICAgIChpZC1icm93c2UtZmlsZSBmaWxlKSkNCiAgKGlmIChub3Qg KGZlYXR1cmVwICd4ZW1hY3MpKQ0KICAgICAgKGh5cGI6ZGlzcGxheS1maWxlLXdpdGgtbG9nby1l bWFjcyBmaWxlKQ0KICAgIChoeXBiOmRpc3BsYXktZmlsZS13aXRoLWxvZ28teGVtYWNzIGZpbGUp KQ0KICAoZ290by1jaGFyIChwb2ludC1taW4pKQ0KICAoc2tpcC1zeW50YXgtZm9yd2FyZCAiLSIp DQogIChzZXQtd2luZG93LXN0YXJ0IChzZWxlY3RlZC13aW5kb3cpIDEpDQogIChzZXQtYnVmZmVy LW1vZGlmaWVkLXAgbmlsKQ0KICAoaGVscC1tb2RlKSkNCg0KKGRlZnVuIGh5cGI6YnJvd3NlLWhv bWUtcGFnZSAoKQ0KICAiVmlzaXQgdGhlIHdlYiBob21lIHBhZ2UgZm9yIEh5cGVyYm9sZS4iDQog IChpbnRlcmFjdGl2ZSkNCiAgKHJlcXVpcmUgJ2hzeXMtd3d3KQ0KICAoaGFjdCAnd3d3LXVybCBo eXBiOmhvbWUtcGFnZSkpDQoNCjs7OyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCjs7OyBQcml2YXRlIGZ1bmN0 aW9ucw0KOzs7ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKg0KDQooZGVmdW4gaHlwYjpjb25zdGFudC12ZWN0b3It c3ltYm9sLXJlcGxhY2UNCiAgKGNvbnN0YW50LXZlY3RvciBzeW0tdG8tcmVwbGFjZSByZXBsYWNl LXdpdGgtc3ltKQ0KICA7OyBSZXBsYWNlIHN5bWJvbHMgd2l0aGluIGEgYnl0ZS1jb21waWxlZCBj b25zdGFudCB2ZWN0b3IuDQogIChsZXQgKChpIChsZW5ndGggY29uc3RhbnQtdmVjdG9yKSkNCglj b25zdGFudCkNCiAgICAod2hpbGUgKD49IChzZXRxIGkgKDEtIGkpKSAwKQ0KICAgICAgKHNldHEg Y29uc3RhbnQgKGFyZWYgY29uc3RhbnQtdmVjdG9yIGkpKQ0KICAgICAgKGNvbmQgKChlcSBjb25z dGFudCBzeW0tdG8tcmVwbGFjZSkNCgkgICAgIChhc2V0IGNvbnN0YW50LXZlY3RvciBpIHJlcGxh Y2Utd2l0aC1zeW0pKQ0KCSAgICAoKGFuZCAoZmJvdW5kcCAnY29tcGlsZWQtZnVuY3Rpb24tcCkN CgkJICAoY29tcGlsZWQtZnVuY3Rpb24tcCBjb25zdGFudCkpDQoJICAgICAoaHlwYjpmdW5jdGlv bi1zeW1ib2wtcmVwbGFjZQ0KCSAgICAgIGNvbnN0YW50IHN5bS10by1yZXBsYWNlIHJlcGxhY2Ut d2l0aC1zeW0pKSkpKSkNCg0KKGRlZnVuIGh5cGI6ZGlzcGxheS1maWxlLXdpdGgtbG9nby1lbWFj cyAoJm9wdGlvbmFsIGZpbGUpDQogICJEaXNwbGF5IGFuIG9wdGlvbmFsIHRleHQgRklMRSB3aXRo IHRoZSBIeXBlcmJvbGUgYmFubmVyIHByZXBlbmRlZC4NCldpdGhvdXQgZmlsZSwgdGhlIGJhbm5l ciBpcyBwcmVwZW5kZWQgdG8gdGhlIGN1cnJlbnQgYnVmZmVyLiINCiAgKGxldCAoKGh5cGVyYm9s ZS1iYW5uZXItcGF0aCAoZXhwYW5kLWZpbGUtbmFtZSAiaHlwZXJib2xlLWJhbm5lci5wbmciIGh5 cGVyYjpkaXIpKSkNCiAgICAoaWYgKG5vdCAoZmlsZS1yZWFkYWJsZS1wIGh5cGVyYm9sZS1iYW5u ZXItcGF0aCkpDQoJKHNldHEgaHlwZXJib2xlLWJhbm5lci1wYXRoIChpZiAoZmJvdW5kcCAnbG9j YXRlLWRhdGEtZmlsZSkNCgkJCQkJKGxvY2F0ZS1kYXRhLWZpbGUgImh5cGVyYm9sZS1iYW5uZXIu cG5nIikNCgkJCQkgICAgICAoZXhwYW5kLWZpbGUtbmFtZSAiaHlwZXJib2xlLWJhbm5lci5wbmci DQoJCQkJCQkJZGF0YS1kaXJlY3RvcnkpKSkpDQogICAgKGlmIChvciAobm90IChmYm91bmRwICdj cmVhdGUtaW1hZ2UpKQ0KCSAgICAobm90IChkaXNwbGF5LWdyYXBoaWMtcCkpDQoJICAgIChsZXQg KChidXR0b24gKG5leHQtYnV0dG9uIChwb2ludC1taW4pKSkpDQoJICAgICAgKGFuZCBidXR0b24g KGJ1dHRvbi1oYXMtdHlwZS1wIGJ1dHRvbiAnaHlwZXJib2xlLWJhbm5lcikpKQ0KCSAgICAobm90 IGh5cGVyYm9sZS1iYW5uZXItcGF0aCkNCgkgICAgKG5vdCAoZmlsZS1yZWFkYWJsZS1wIGh5cGVy Ym9sZS1iYW5uZXItcGF0aCkpKQ0KCTs7IEVpdGhlciBpbWFnZSBzdXBwb3J0IGlzIHVuYXZhaWxh YmxlLCB0aGUgZmlsZSBjYW5ub3QgYmUgcmVhZA0KCTs7IG9yIHRoZSBpbWFnZSBoYXMgYWxyZWFk eSBiZWVuIGluc2VydGVkLCBzbyBkb24ndCByZWluc2VydCBpdC4NCgluaWwNCiAgICAgIChsZXQg KChoeXBlcmJvbGUtYmFubmVyIChjcmVhdGUtaW1hZ2UgaHlwZXJib2xlLWJhbm5lci1wYXRoKSkN CgkgICAgIChidWZmZXItcmVhZC1vbmx5KQ0KCSAgICAgYnV0dG9uKQ0KCShnb3RvLWNoYXIgKHBv aW50LW1pbikpDQoJKGluc2VydCAiXG4iKQ0KCShpbnNlcnQtaW1hZ2UgaHlwZXJib2xlLWJhbm5l cikNCgkoaW5zZXJ0ICJcblxuIikNCgkoc2V0cSBidXR0b24gKG1ha2UtYnV0dG9uICgtIChwb2lu dCkgMykgKC0gKHBvaW50KSAyKSA6dHlwZSAnaHlwZXJib2xlLWJhbm5lcikpDQoJKGJ1dHRvbi1w dXQgYnV0dG9uICdoZWxwLWVjaG8gKGNvbmNhdCAiQ2xpY2sgdG8gdmlzaXQgIiBoeXBiOmhvbWUt cGFnZSkpDQoJKGJ1dHRvbi1wdXQgYnV0dG9uICdhY3Rpb24gIydoeXBiOmJyb3dzZS1ob21lLXBh Z2UpDQoJKGJ1dHRvbi1wdXQgYnV0dG9uICdmYWNlICdkZWZhdWx0KQ0KCShidXR0b24tcHV0IGJ1 dHRvbiAna2V5bWFwIGh5cGI6aHlwZXJib2xlLWJhbm5lci1rZXltYXApKSkpKQ0KDQooZGVmdW4g aHlwYjpkaXNwbGF5LWZpbGUtd2l0aC1sb2dvLXhlbWFjcyAoJm9wdGlvbmFsIGZpbGUpDQogICJE aXNwbGF5IGFuIG9wdGlvbmFsIHRleHQgRklMRSB3aXRoIHRoZSBIeXBlcmJvbGUgYmFubmVyIHBy ZXBlbmRlZC4NCldpdGhvdXQgZmlsZSwgdGhlIGJhbm5lciBpcyBwcmVwZW5kZWQgdG8gdGhlIGN1 cnJlbnQgYnVmZmVyLiINCiAgKGxldCAoKGh5cGVyYm9sZS1iYW5uZXItcGF0aCAoZXhwYW5kLWZp bGUtbmFtZSAiaHlwZXJib2xlLWJhbm5lci5wbmciIGh5cGVyYjpkaXIpKSkNCiAgICAoaWYgKG5v dCAoZmlsZS1yZWFkYWJsZS1wIGh5cGVyYm9sZS1iYW5uZXItcGF0aCkpDQoJKHNldHEgaHlwZXJi b2xlLWJhbm5lci1wYXRoIChpZiAoZmJvdW5kcCAnbG9jYXRlLWRhdGEtZmlsZSkNCgkJCQkJKGxv Y2F0ZS1kYXRhLWZpbGUgImh5cGVyYm9sZS1iYW5uZXIucG5nIikNCgkJCQkgICAgICAoZXhwYW5k LWZpbGUtbmFtZSAiaHlwZXJib2xlLWJhbm5lci5wbmciDQoJCQkJCQkJZGF0YS1kaXJlY3Rvcnkp KSkpDQogICAgKGlmIChvciAobm90IChmYm91bmRwICdtYWtlLWdseXBoKSkNCgkgICAgKGxldCAo KGV4dGVudCAobmV4dC1leHRlbnQgKGN1cnJlbnQtYnVmZmVyKSkpKQ0KCSAgICAgIChhbmQgZXh0 ZW50IChleHRlbnQtcHJvcGVydHkgZXh0ZW50ICdoeXBlcmJvbGUtYmFubmVyKSkpDQoJICAgIChu b3QgaHlwZXJib2xlLWJhbm5lci1wYXRoKQ0KCSAgICAobm90IChmaWxlLXJlYWRhYmxlLXAgaHlw ZXJib2xlLWJhbm5lci1wYXRoKSkpDQoJOzsgRWl0aGVyIGltYWdlIHN1cHBvcnQgaXMgdW5hdmFp bGFibGUsIHRoZSBmaWxlIGNhbm5vdCBiZSByZWFkDQoJOzsgb3IgdGhlIGltYWdlIGhhcyBhbHJl YWR5IGJlZW4gaW5zZXJ0ZWQsIHNvIGRvbid0IHJlaW5zZXJ0IGl0Lg0KCW5pbA0KICAgICAgKGxl dCAoKGh5cGVyYm9sZS1iYW5uZXIgKG1ha2UtZ2x5cGggaHlwZXJib2xlLWJhbm5lci1wYXRoKSkN CgkgICAgIChidWZmZXItcmVhZC1vbmx5KQ0KCSAgICAgZXh0ZW50KQ0KCShnb3RvLWNoYXIgKHBv aW50LW1pbikpDQoJKGluc2VydCAiXG4iKQ0KCShpbmRlbnQtdG8gKHN0YXJ0dXAtY2VudGVyLXNw YWNlcyBoeXBlcmJvbGUtYmFubmVyKSkNCgkoaW5zZXJ0ICJcblxuIikNCgkoc2V0cSBleHRlbnQg KG1ha2UtZXh0ZW50ICgtIChwb2ludCkgMykgKC0gKHBvaW50KSAyKSkpDQoJKHNldC1leHRlbnQt ZW5kLWdseXBoIGV4dGVudCBoeXBlcmJvbGUtYmFubmVyKQ0KCShzZXQtZXh0ZW50LXByb3BlcnR5 IGV4dGVudCAnaHlwZXJib2xlLWJhbm5lciB0KQ0KCShzZXQtZXh0ZW50LXByb3BlcnR5IGV4dGVu dCAnaGVscC1lY2hvDQoJCQkgICAgIChjb25jYXQgIkNsaWNrIHRvIHZpc2l0ICIgaHlwYjpob21l LXBhZ2UpKQ0KCShzZXQtZXh0ZW50LXByb3BlcnR5IGV4dGVudCAna2V5bWFwIGh5cGI6aHlwZXJi b2xlLWJhbm5lci1rZXltYXApKSkpKQ0KDQooZGVmdW4gaHlwYjpsb2NhdGUtcGF0aG5hbWVzICgp DQogIChzYXZlLWV4Y3Vyc2lvbg0KICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpDQogICAgKHNl YXJjaC1mb3J3YXJkICJcbiIgbmlsIHQgMykNCiAgICAocmVwbGFjZS1yZWdleHAtaW4tc3RyaW5n ICIgKlxcKFteXG5dK1xcKVxuIiAiXFwxICINCgkJCSAgICAgIChidWZmZXItc3Vic3RyaW5nLW5v LXByb3BlcnRpZXMgKHBvaW50KSAocG9pbnQtbWF4KSkpKSkNCg0KKGRlZnVuIGh5cGI6b2N0LXRv LWludCAob2N0LW51bSkNCiAgIlJldHVybnMgb2N0YWwgaW50ZWdlciBPQ1RBTC1OVU0gY29udmVy dGVkIHRvIGEgZGVjaW1hbCBpbnRlZ2VyLiINCiAgKGxldCAoKG9jdC1zdHIgKGludC10by1zdHJp bmcgb2N0LW51bSkpDQoJKGRlYy1udW0gMCkpDQogICAgKGFuZCAoc3RyaW5nLW1hdGNoICJbXjAt N10iIG9jdC1zdHIpDQoJIChlcnJvciAiKGh5cGI6b2N0LXRvLWludCk6IEJhZCBvY3RhbCBudW1i ZXI6ICVzIiBvY3Qtc3RyKSkNCiAgICAobWFwY29uY2F0IChsYW1iZGEgKG8pDQoJCSAoc2V0cSBk ZWMtbnVtICgrICgqIGRlYy1udW0gOCkNCgkJCQkgIChpZiAoYW5kICg+PSBvID8wKSAoPD0gbyA/ NykpDQoJCQkJICAgICAgKC0gbyA/MCkpKSkpDQoJICAgICAgIG9jdC1zdHIgIiIpDQogICAgZGVj LW51bSkpDQoNCjs7OyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCjs7OyBQcml2YXRlIHZhcmlhYmxlcw0KOzs7 ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKg0KDQooaWYgKG5vdCAoZmVhdHVyZXAgJ3hlbWFjcykpIChkZWZpbmUt YnV0dG9uLXR5cGUgJ2h5cGVyYm9sZS1iYW5uZXIpKQ0KDQoocHJvdmlkZSAnaHlwYikNCg0KOzs7 IGh5cGIuZWwgZW5kcyBoZXJlDQo= --_003_uarp1s061dnmfsfdvuadminnet_ Content-Type: application/emacs-lisp; name="hyperbole.el" Content-Description: hyperbole.el Content-Disposition: attachment; filename="hyperbole.el"; size=32579; creation-date="Thu, 06 Jun 2019 23:45:35 GMT"; modification-date="Thu, 06 Jun 2019 23:45:35 GMT" Content-ID: <12C293315F439447A50C61C238A0BD28@namprd05.prod.outlook.com> Content-Transfer-Encoding: base64 Ozs7IGh5cGVyYm9sZS5lbCAtLS0gR05VIEh5cGVyYm9sZTogVGhlIEV2ZXJ5ZGF5IEh5cGVydGV4 dHVhbCBJbmZvcm1hdGlvbiBNYW5hZ2VyDQoNCjs7IENvcHlyaWdodCAoQykgMTk5Mi0yMDE5ICBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NCg0KOzsgQXV0aG9yOiAgICAgICAgICAgQm9i IFdlaW5lcg0KOzsgTWFpbnRhaW5lcjogICAgICAgQm9iIFdlaW5lciA8cnN3QGdudS5vcmc+IGFu ZCBNYXRzIExpZGVsbCA8bWF0c2xAZ251Lm9yZz4NCjs7IENyZWF0ZWQ6ICAgICAgICAgIDA2LU9j dC05MiBhdCAxMTo1Mjo1MQ0KOzsgUmVsZWFzZWQ6ICAgICAgICAgMjEtSmFuLTE5DQo7OyBWZXJz aW9uOiAgICAgICAgICA3LjAuMw0KOzsgS2V5d29yZHM6ICAgICAgICAgY29tbSwgY29udmVuaWVu Y2UsIGZpbGVzLCBmcmFtZXMsIGh5cGVybWVkaWEsIGxhbmd1YWdlcywgbWFpbCwgbWF0Y2hpbmcs IG1vdXNlLCBtdWx0aW1lZGlhLCBvdXRsaW5lcywgdG9vbHMsIHdwDQo7OyBQYWNrYWdlOiAgICAg ICAgICBoeXBlcmJvbGUNCjs7IFBhY2thZ2UtUmVxdWlyZXM6ICgoZW1hY3MgIjI0LjQiKSkNCjs7 IFVSTDogICAgICAgICAgICAgIGh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9oeXBlcmJvbGUN Cg0KOzsgU2VlIHRoZSAiSFktQ09QWSIgZmlsZSBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi4NCg0K OzsgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEh5cGVyYm9sZS4NCg0KOzs7IENvbW1lbnRhcnk6 DQo7Ow0KOzsgR05VIEh5cGVyYm9sZSAocHJvbm91bmNlZCBHYS1uZXcgSGktcGVyLWJvLWxlZSks IG9yIGp1c3QgSHlwZXJib2xlLCBpcyBhbg0KOzsgZWFzeS10by11c2UsIHlldCBwb3dlcmZ1bCBh bmQgcHJvZ3JhbW1hYmxlIGh5cGVydGV4dHVhbCBpbmZvcm1hdGlvbg0KOzsgbWFuYWdlbWVudCBz eXN0ZW0gaW1wbGVtZW50ZWQgYXMgYSBHTlUgRW1hY3MgcGFja2FnZS4gIEl0IG9mZmVycyByYXBp ZCB2aWV3cw0KOzsgYW5kIGludGVybGlua2luZyBvZiBhbGwga2luZHMgb2YgdGV4dHVhbCBpbmZv cm1hdGlvbiwgdXRpbGl6aW5nIEVtYWNzIGZvcg0KOzsgZWRpdGluZy4gIEl0IGNhbiBkcmFtYXRp Y2FsbHkgaW5jcmVhc2UgeW91ciBwcm9kdWN0aXZpdHkgYW5kIGdyZWF0bHkgcmVkdWNlDQo7OyB0 aGUgbnVtYmVyIG9mIGtleWJvYXJkL21vdXNlIGtleXMgeW91J2xsIG5lZWQgdG8gd29yayBlZmZp Y2llbnRseS4NCjs7IA0KOzsgSHlwZXJib2xlIGxldHMgeW91Og0KOzsgDQo7OyAxLiBRdWlja2x5 IGNyZWF0ZSBoeXBlcmxpbmsgYnV0dG9ucyBlaXRoZXIgZnJvbSB0aGUga2V5Ym9hcmQgb3IgYnkg ZHJhZ2dpbmcNCjs7IGJldHdlZW4gYSBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIHdpbmRvdyB3aXRo IGEgbW91c2UgYnV0dG9uIGRlcHJlc3NlZC4NCjs7IExhdGVyIGFjdGl2YXRlIGJ1dHRvbnMgYnkg cHJlc3NpbmcvY2xpY2tpbmcgb24gdGhlbSBvciBieSBnaXZpbmcgdGhlIG5hbWUgb2YNCjs7IHRo ZSBidXR0b24uDQo7OyANCjs7IDIuIEFjdGl2YXRlIG1hbnkga2luZHMgb2YgYGltcGxpY2l0IGJ1 dHRvbnMnIHJlY29nbml6ZWQgYnkgY29udGV4dCB3aXRoaW4NCjs7IHRleHQgYnVmZmVycywgZS5n LiBVUkxzLCBncmVwIG91dHB1dCBsaW5lcywgYW5kIGdpdCBjb21taXRzLiAgQSBzaW5nbGUga2V5 DQo7OyBvciBtb3VzZSBidXR0b24gYXV0b21hdGljYWxseSBkb2VzIHRoZSByaWdodCB0aGluZyBp biBkb3plbnMgb2YgY29udGV4dHM7DQo7OyBqdXN0IHByZXNzIGFuZCBnby4NCjs7IA0KOzsgMy4g QnVpbGQgb3V0bGluZXMgd2l0aCBtdWx0aS1sZXZlbCBudW1iZXJlZCBvdXRsaW5lIG5vZGVzLCBl LmcuIDEuNC44LjYsDQo7OyB0aGF0IGFsbCByZW51bWJlciBhdXRvbWF0aWNhbGx5IGFzIGFueSBu b2RlIG9yIHRyZWUgaXMgbW92ZWQgaW4gdGhlDQo7OyBvdXRsaW5lLiBFYWNoIG5vZGUgYWxzbyBo YXMgYSBwZXJtYW5lbnQgaHlwZXJsaW5rIGFuY2hvciB0aGF0IHlvdSBjYW4NCjs7IHJlZmVyZW5j ZSBmcm9tIGFueSBvdGhlciBub2RlOw0KOzsgDQo7OyA0LiBNYW5hZ2UgYWxsIHlvdXIgY29udGFj dHMgcXVpY2tseSB3aXRoIGhpZXJhcmNoaWNhbCBjYXRlZ29yaWVzIGFuZCBlbWJlZA0KOzsgaHlw ZXJsaW5rcyB3aXRoaW4gZWFjaCBlbnRyeS4gT3IgY3JlYXRlIGFuIGFyY2hpdmUgb2YgZG9jdW1l bnRzIHdpdGgNCjs7IGhpZXJhcmNoaWNhbCBlbnRyaWVzIGFuZCB1c2UgdGhlIHNhbWUgc2VhcmNo IG1lY2hhbmlzbSB0byBxdWlja2x5IGZpbmQgYW55DQo7OyBtYXRjaGluZyBlbnRyeTsNCjs7IA0K OzsgNS4gVXNlIHNpbmdsZSBrZXlzIHRvIGVhc2lseSBtYW5hZ2UgeW91ciBFbWFjcyB3aW5kb3dz IG9yIGZyYW1lcyBhbmQgcXVpY2tseQ0KOzsgcmV0cmlldmUgc2F2ZWQgd2luZG93IGFuZCBmcmFt ZSBjb25maWd1cmF0aW9uczsNCjs7IA0KOzsgNi4gU2VhcmNoIGZvciB0aGluZ3MgaW4geW91ciBj dXJyZW50IGJ1ZmZlcnMsIGluIGEgZGlyZWN0b3J5IHRyZWUgb3IgYWNyb3NzDQo7OyBtYWpvciB3 ZWIgc2VhcmNoIGVuZ2luZXMgd2l0aCB0aGUgdG91Y2ggb2YgYSBmZXcga2V5cy4NCjs7IA0KOzsg VGhlIGNvbW1vbiB0aHJlYWQgaW4gYWxsIHRoZXNlIGZlYXR1cmVzIGlzIG1ha2luZyByZXRyaWV2 YWwsIG1hbmFnZW1lbnQgYW5kDQo7OyBkaXNwbGF5IG9mIGluZm9ybWF0aW9uIGZhc3QgYW5kIGVh c3kuIFRoYXQgaXMgSHlwZXJib2xlJ3MgcHVycG9zZS4NCjs7IA0KOzsgLS0tLQ0KOzsNCjs7IFNl ZSB0aGUgIklOU1RBTEwiIGZpbGUgZm9yIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMgYW5kIHRo ZSAiUkVBRE1FIiBmaWxlDQo7OyBmb3IgZ2VuZXJhbCBpbmZvcm1hdGlvbi4NCjs7DQo7OyBUaGVy ZSBpcyBubyBuZWVkIHRvIG1hbnVhbGx5IGVkaXQgdGhpcyBmaWxlIHVubGVzcyB0aGVyZSBhcmUg c3BlY2lmaWMNCjs7IGN1c3RvbWl6YXRpb25zIHlvdSB3b3VsZCBsaWtlIHRvIG1ha2UsIHN1Y2gg YXMgd2hldGhlciBhIEh5cGVyYm9sZSBBY3Rpb24NCjs7IE1vdXNlIEtleSBpcyBib3VuZCB0byB0 aGUgbWlkZGxlIG1vdXNlIGJ1dHRvbi4gIChTZWUgdGhlIGNhbGwgb2YgdGhlDQo7OyBmdW5jdGlv biwgYGhtb3VzZS1pbnN0YWxsJywgYmVsb3cpLg0KOzsNCjs7IE90aGVyIHNpdGUtc3BlY2lmaWMg Y3VzdG9taXphdGlvbnMgYmVsb25nIGluICJoc2V0dGluZ3MuZWwiLg0KDQo7OzsgQ29kZToNCjs7 OyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioNCjs7OyBTdGFydCBJbml0aWFsaXphdGlvbnMNCjs7OyAqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioNCg0KKGRlZmNvbnN0IGh5cGVyYm9sZS1sb2FkaW5nIHQNCiAgIlRlbXBvcmFyeSBj b25zdGFudCBhdmFpbGFibGUgZm9yIHRlc3Rpbmcgd2hpbGUgSHlwZXJib2xlIGlzIGxvYWRpbmcu IikgDQoNCjs7IEVuc3VyZSBkZWZncm91cCBhbmQgZGVmY3VzdG9tIGFyZSBkZWZpbmVkIGZvciB1 c2UgdGhyb3VnaG91dCBIeXBlcmJvbGUuDQoocmVxdWlyZSAnY3VzdG9tKQ0KDQooZGVmZ3JvdXAg aHlwZXJib2xlIG5pbA0KICAiSHlwZXJib2xlIGN1c3RvbWl6YXRpb25zIGNhdGVnb3J5LiINCiAg Omdyb3VwICdhcHBsaWNhdGlvbnMpDQoNCihkZWZncm91cCBoeXBlcmJvbGUtYnV0dG9ucyBuaWwN CiAgIkh5cGVyYm9sZSBleHBsaWNpdCwgZ2xvYmFsIGFuZCBpbXBsaWNpdCBidXR0b24gY3VzdG9t aXphdGlvbnMuIg0KICA6Z3JvdXAgJ2h5cGVyYm9sZSkNCg0KKGRlZmdyb3VwIGh5cGVyYm9sZS1j b21tYW5kcyBuaWwNCiAgIkh5cGVyYm9sZSBjb21tYW5kIGN1c3RvbWl6YXRpb25zLiINCiAgOmdy b3VwICdoeXBlcmJvbGUpDQoNCihkZWZncm91cCBoeXBlcmJvbGUta2V5cyBuaWwNCiAgIkh5cGVy Ym9sZSBrZXlib2FyZCBhbmQgbW91c2Uga2V5IGN1c3RvbWl6YXRpb25zLiINCiAgOmdyb3VwICdo eXBlcmJvbGUpDQoNCjs7IGRlZmdyb3VwIGh5cGVyYm9sZS1yb2xvIGlzIGluICJoeXJvbG8uZWwi Lg0KDQooZGVmZ3JvdXAgaHlwZXJib2xlLXNjcmVlbiBuaWwNCiAgIkh5cGVyYm9sZSBzY3JlZW4v ZGlzcGxheSBjdXN0b21pemF0aW9ucywgdHlwaWNhbGx5IGZyYW1lIG9yIHdpbmRvdy1yZWxhdGVk LiINCiAgOmdyb3VwICdoeXBlcmJvbGUpDQoNCjs7IFJlaW5pdGlhbGl6ZSBoeXBlcmI6ZGlyIG9u IHJlbG9hZCBpZiBpbml0aWFsaXphdGlvbiBmYWlsZWQgZm9yIGFueSByZWFzb24uDQooZXZhbC1h bmQtY29tcGlsZQ0KICAod2hlbiAoYW5kIChib3VuZHAgJ2h5cGVyYjpkaXIpIChudWxsIGh5cGVy YjpkaXIpKQ0KICAgIChtYWt1bmJvdW5kICdoeXBlcmI6ZGlyKQ0KICAgIChzZXRxIGZlYXR1cmVz IChkZWxxICdobG9hZC1wYXRoIGZlYXR1cmVzKQ0KCSAgZmVhdHVyZXMgKGRlbHEgJ2h2ZXJzaW9u IGZlYXR1cmVzKSkpDQoNCiAgOzsgRGVmaW5lcyBoeXBlcmI6cGF0aC1iZWluZy1sb2FkZWQsIGh5 cGVyYjpzdGFjay1mcmFtZSwNCiAgOzsgKGh5cGVyYjp3aW5kb3ctc3lzdGVtKSBhbmQgaHlwZXJi OmRpciwgd2hpY2ggYXJlIHVzZWQgbGF0ZXIgaW4NCiAgOzsgdGhpcyBmaWxlLiAgQWxzbyBhZGRz IEh5cGVyYm9sZSB0byB0aGUgbG9hZC1wYXRoIGlmIG5lZWQgYmUuDQogIDs7DQogIDs7IFRoaXMg aGFuZGxlcyB0aGUgY2FzZSB3aGVuIHRoZSBIeXBlcmJvbGUgcGFja2FnZSBkaXJlY3RvcnkgaXMg bm90IHlldCBpbiBsb2FkLXBhdGguDQogICh1bmxlc3MgKG9yIChyZXF1aXJlICdodmVyc2lvbiBu aWwgdCkNCgkgICAgICAoYW5kIChzdHJpbmdwIGxvYWQtZmlsZS1uYW1lKQ0KCQkgICAocmVxdWly ZSAnaHZlcnNpb24gKGV4cGFuZC1maWxlLW5hbWUNCgkJCQkgICAgICAgImh2ZXJzaW9uIg0KCQkJ CSAgICAgICAoZmlsZS1uYW1lLWRpcmVjdG9yeSBsb2FkLWZpbGUtbmFtZSkpDQoJCQkgICAgdCkp KQ0KICAgIChlcnJvciAiKEh5cGVyYm9sZSk6IFN0YXJ0dXAgZmFpbHVyZTogYGh5cGVyYjpkaXIn IG11c3QgYmUgbWFudWFsbHkgYWRkZWQgdG8gYGxvYWQtcGF0aCcgdG8gZml4LiIpKSkNCg0KOzsg VGhpcyBtdXN0IGJlIGRlZmluZWQgYmVmb3JlIHRoZSBkZWZjdXN0b20gYGluaGJpdC1oeXBlcmJv bGUtbWVzc2FnaW5nJy4NCjs7OyMjI2F1dG9sb2FkDQooZGVmdW4gaHlwZXJib2xlLXRvZ2dsZS1t ZXNzYWdpbmcgKCZvcHRpb25hbCBhcmcpDQogICJUb2dnbGUgSHlwZXJib2xlIHN1cHBvcnQgZm9y IGV4cGxpY2l0IGJ1dHRvbnMgaW4gbWFpbCBhbmQgbmV3cyBidWZmZXJzLg0KVG9nZ2xlcyB0aGUg Ym9vbGVhbiB2YXJpYWJsZSBgaW5oaWJpdC1oeXBlcmJvbGUtbWVzc2FnaW5n4oCZIGFuZCBlaXRo ZXINCmFkZHMgaG9va3MgKG5pbCB2YWx1ZSkgb3IgcmVtb3ZlcyB0aGVtICh0IHZhbHVlKS4NCg0K V2l0aCBvcHRpb25hbCBwcmVmaXggQVJHID4gMCwgZW5hYmxlcyBzdXBwb3J0LiAgSWYgQVJHIDw9 IDAsDQpkaXNhYmxlcy9pbmhpYml0cyBzdXBwb3J0LiINCiAgKGludGVyYWN0aXZlICJQIikNCiAg KHNldHEgaW5oaWJpdC1oeXBlcmJvbGUtbWVzc2FnaW5nIChpZiAobnVsbCBhcmcpDQoJCQkJCShu b3QgaW5oaWJpdC1oeXBlcmJvbGUtbWVzc2FnaW5nKQ0KCQkJCSAgICAgICg8PSAocHJlZml4LW51 bWVyaWMtdmFsdWUgYXJnKSAwKSkpDQogIChpZiBpbmhpYml0LWh5cGVyYm9sZS1tZXNzYWdpbmcN CiAgICAgICh2YXI6cmVtb3ZlLWFsbCkNCiAgICAodmFyOmFwcGVuZC1hbGwpDQogICAgOzsgQWRk IGFueSBob29rcyB0aGF0IHdlcmUgc2tpcHBlZCB3aGVuIGluaGliaXQtaHlwZXJib2xlLW1lc3Nh Z2luZw0KICAgIDs7IHdhcyBuaWwuDQogICAgKGNvbmQgKChib3VuZHAgJ2h5cGVyYm9sZS1sb2Fk aW5nKSkNCgkgICgobm90IGFmdGVyLWluaXQtdGltZSkNCgkgICAoYWRkLWhvb2sgJ2FmdGVyLWlu aXQtaG9vayAobGFtYmRhICgpIChsb2FkICJoeXBlcmJvbGUiKSkpKQ0KCSAgKHQgKGxvYWQgImh5 cGVyYm9sZSIpKSkpDQogIChpZiAoY2FsbGVkLWludGVyYWN0aXZlbHktcCAnaW50ZXJhY3RpdmUp DQogICAgICAobWVzc2FnZSAiSHlwZXJib2xlIG1lc3NhZ2luZyBidXR0b24gc3VwcG9ydCBpcyAl cyINCgkgICAgICAgKGlmIGluaGliaXQtaHlwZXJib2xlLW1lc3NhZ2luZyAiZGlzYWJsZWQiICJl bmFibGVkIikpKSkNCg0KKGRlZmdyb3VwIGh5cGVyYm9sZS1rb3V0bGluZXIgbmlsDQogICJIeXBl cmJvbGUgbXVsdGktbGV2ZWwgYXV0b251bWJlcmVkIG91dGxpbmVyIGN1c3RvbWl6YXRpb25zLiIN CiAgOmdyb3VwICdoeXBlcmJvbGUpDQoNCjs7OyAqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCjs7OyBPdGhlciBy ZXF1aXJlZCBFbGlzcCBsaWJyYXJpZXMNCjs7OyAqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCg0KOzsgQXZvaWQg YW55IHBvdGVudGlhbCBsaWJyYXJ5IG5hbWUgY29uZmxpY3QgYnkgZ2l2aW5nIHRoZSBsb2FkIGRp cmVjdG9yeS4NCihyZXF1aXJlICdzZXQgKGV4cGFuZC1maWxlLW5hbWUgInNldCIgaHlwZXJiOmRp cikpDQoNCihyZXF1aXJlICdodWktc2VsZWN0KSAgOzsgVGhpcyByZXF1aXJlcyAnaHZhciB3aGlj aCBkZWZpbmVzIHRoZSB2YXI6YXBwZW5kIGZ1bmN0aW9uLg0KDQo7OzsgKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq DQo7OzsgUHVibGljIFZhcmlhYmxlcw0KOzs7ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KDQooZGVmY3VzdG9t IGhrZXktaW5pdCB0DQogICIqQSBub24tbmlsIHZhbHVlIChkZWZhdWx0KSBhdCBzeXN0ZW0gbG9h ZCB0aW1lIGJpbmRzIHRoZSBBY3Rpb24gYW5kIEFzc2lzdCBLZXlib2FyZCBLZXlzLCBhcyB3ZWxs IGFzIG90aGVyIGtleXMuDQp7XFxbaGtleS1laXRoZXJdfSBpbnZva2VzIHRoZSBBY3Rpb24gS2V5 IGFuZCB7Qy11IFxcW2hrZXktZWl0aGVyXX0gaW52b2tlcyB0aGUgQXNzaXN0IEtleS4NCkFkZGl0 aW9uYWxseSwge1xcW2hrZXktaGVscF19IHNob3dzIHdoYXQgdGhlIEFjdGlvbiBLZXkgd2lsbCBk byBpbiB0aGUgY3VycmVudA0KY29udGV4dCAod2hlcmV2ZXIgcG9pbnQgaXMpLiAge0MtdSBcXFto a2V5LWhlbHBdfSBzaG93cyB3aGF0IHRoZSBBc3Npc3QgS2V5IHdpbGwgZG8uIg0KICA6dHlwZSAn Ym9vbGVhbg0KICA6Z3JvdXAgJ2h5cGVyYm9sZS1rZXlzKQ0KDQooZGVmY3VzdG9tIGhrZXktaW5p dC1vdmVycmlkZS1sb2NhbC1rZXlzIHQNCiAgIipJZiBzZXQgdG9nZXRoZXIgd2l0aCBgaGtleS1p bml0JywgcmVtb3ZlIGFueSBsb2NhbCBrZXkgYmluZGluZ3MgdGhhdCBoaWRlIHRoZSBIeXBlcmJv bGUgU21hcnQgS2V5cy4iDQogIDp0eXBlICdib29sZWFuDQogIDpncm91cCAnaHlwZXJib2xlLWtl eXMpDQoNCjs7OyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioNCjs7OyBQdWJsaWMga2V5IGJpbmRpbmdzDQo7Ozsg KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqDQoNCjs7DQo7OyBIeXBlcmJvbGUga2V5IGJpbmRpbmcgZm9yIG1hbnkg cmVhZC1vbmx5IG1vZGVzLiAgU2V0IHRvIG5pbCBpZiB1bndhbnRlZC4NCjs7IE5vIGxvbmdlciB1 c2VkOyB1c2UgcmVndWxhciBBY3Rpb24gS2V5IGluc3RlYWQuDQo7OyhkZWZ2YXIgYWN0aW9uLWtl eS1yZWFkLW9ubHkgIlxDLW0iDQo7OyAgIkxvY2FsIEFjdGlvbiBLZXkgYmluZGluZyBmb3Igc3Bl Y2lhbCByZWFkLW9ubHkgbW9kZXMuICBTZXQgdG8gbmlsIGlmIHVud2FudGVkLiIpDQoNCihkZWZ2 YXIgaGtleS1iaW5kaW5ncyBuaWwNCiAgIkxpc3Qgb2YgZ2xvYmFsIGtleSBzZXF1ZW5jZXMgYm91 bmQgYnkgSHlwZXJib2xlLg0KU2VlIGBoa2V5LWJpbmRpbmctZW50cnknIGZvciBmb3JtYXQuIikN Cg0KKGRlZnZhciBoa2V5LWJpbmRpbmdzLWZsYWcgbmlsDQogICJUcnVlIGlmIEh5cGVyYm9sZSBr ZXkgYmluZGluZ3MgYXJlIGluIHVzZSwgZWxzZSBuaWwuIikNCg0KKGRlZnZhciBoa2V5LXByZXZp b3VzLWJpbmRpbmdzIG5pbA0KICAiTGlzdCBvZiBnbG9iYWwga2V5IHNlcXVlbmNlcyBhbmQgdGhl aXIgcHJlLUh5cGVyYm9sZSBiaW5kaW5ncyB0aGF0IEh5cGVyYm9sZSBoYXMgb3ZlcnJpZGRlbi4N ClNlZSBgaGtleS1iaW5kaW5nLWVudHJ5JyBmb3IgZm9ybWF0LiIpDQoNCihkZWZ1biBoa2V5LWJp bmRpbmctZW50cnkgKGtleSkNCiAgIkdpdmVuIGFuIEVtYWNzIEtFWSB0aGF0IG1heSBiZSBib3Vu ZCwgcmV0dXJucyBhbiBlbnRyeSB0byBzYXZlIHRoZSBhc3NvY2lhdGVkIGJpbmRpbmcuDQpFbnRy eSBmb3JtYXQgaXM6IChrZXktZGVzY3JpcHRpb24ga2V5LXNlcXVlbmNlIGtleS1iaW5kaW5nKS4i DQogIChsaXN0IChrZXktZGVzY3JpcHRpb24ga2V5KSBrZXkgKGtleS1iaW5kaW5nIGtleSkpKQ0K DQooZGVmdW4gaGtleS1iaW5kaW5ncy1rZXlzIChlbnRyaWVzKQ0KICAobWFwY2FyICMnY2FkciBl bnRyaWVzKSkNCg0KKGRlZnVuIGhrZXktZ2V0LWJpbmRpbmdzICgpDQogICJSZXR1cm5zIGEgbGlz dCBvZiBlbnRyaWVzIGZvciBzdG9yYWdlIG9mIEh5cGVyYm9sZSBrZXkgYmluZGluZ3MuDQpgaGtl eS1pbml0aWFsaXplJyBtdXN0IGhhdmUgYWxyZWFkeSBiZWVuIGNhbGxlZCBvciB0aGUgbGlzdCB3 aWxsIGJlIGVtcHR5LiINCiAgKG1hcGNhciAobGFtYmRhIChrZXkpIChoa2V5LWJpbmRpbmctZW50 cnkga2V5KSkNCgkgIChoa2V5LWJpbmRpbmdzLWtleXMgaGtleS1wcmV2aW91cy1iaW5kaW5ncykp KQ0KDQooZGVmdW4gaGtleS1nbG9iYWwtc2V0LWtleSAoa2V5IGNvbW1hbmQgJm9wdGlvbmFsIG5v LWFkZCkNCiAgKG9yIG5vLWFkZCAoYWRkLXRvLWxpc3QgJ2hrZXktcHJldmlvdXMtYmluZGluZ3Mg KGhrZXktYmluZGluZy1lbnRyeSBrZXkpKSkNCiAgKGdsb2JhbC1zZXQta2V5IGtleSBjb21tYW5k KSkNCg0KKGRlZnVuIGhrZXktaW5pdGlhbGl6ZSAoKQ0KICAiSWYgYGhrZXktaW5pdCcgaXMgbm9u LW5pbCwgaW5pdGlhbGl6ZSBIeXBlcmJvbGUga2V5IGJpbmRpbmdzLiINCiAgKHdoZW4gaGtleS1p bml0DQogICAgOzsNCiAgICA7OyBCaW5kcyB0aGUgQWN0aW9uIEtleSB0byB7TS1SRVR9IGFuZCB0 aGUgQXNzaXN0IEtleSB0byB7Qy11IE0tUkVUfQ0KICAgIDs7IGFuZCBsb2FkcyB0aGUgSHlwZXJi b2xlIG1vdXNlIGtleSBiaW5kaW5ncy4NCiAgICAodW5sZXNzICh3aGVyZS1pcy1pbnRlcm5hbCAn aGtleS1laXRoZXIpDQogICAgICAoaGtleS1nbG9iYWwtc2V0LWtleSAiXE0tXEMtbSIgJ2hrZXkt ZWl0aGVyKSkNCiAgICA7Ow0KICAgIDs7IEJpbmQgYSBrZXksIHtDLWggQX0sIGZvciBBY3Rpb24g S2V5IGhlbHAgYW5kIHtDLXUgQy1oIEF9IGZvciBBc3Npc3Qga2V5DQogICAgOzsgaGVscC4NCiAg ICAob3IgKHdoZXJlLWlzLWludGVybmFsICdoa2V5LWhlbHApDQoJKGhrZXktZ2xvYmFsLXNldC1r ZXkgIlxDLWhBIiAnaGtleS1oZWxwKSkNCiAgICA7Ow0KICAgIDs7IFNldHVwIHNvIEh5cGVyYm9s ZSBtZW51cyBjYW4gYmUgYWNjZXNzZWQgZnJvbSBhIGtleS4gIElmIG5vdA0KICAgIDs7IGFscmVh ZHkgYm91bmQgdG8gYSBrZXksIGJpbmRzIHRoZSBmdW5jdGlvbiBgaHlwZXJib2xlJyB0byB7Qy1o IGh9Lg0KICAgIChvciAod2hlcmUtaXMtaW50ZXJuYWwgJ2h5cGVyYm9sZSkNCgk7OyBJbiBHTlUg RW1hY3MsIHRoaXMgYmluZGluZyByZXBsYWNlcyBhIGNvbW1hbmQgdGhhdCBzaG93cw0KCTs7IHRo ZSB3b3JkIGhlbGxvIGluIGZvcmVpZ24gbGFuZ3VhZ2VzOyB0aGlzIGJpbmRpbmcgbWFrZXMgdGhp cw0KCTs7IGtleSBtdWNoIG1vcmUgdXNlZnVsLg0KCShoa2V5LWdsb2JhbC1zZXQta2V5ICJcQy1o aCIgJ2h5cGVyYm9sZSkpDQogICAgOzsNCiAgICA7OyBQcm92aWRlcyBhIHNpdGUgc3RhbmRhcmQg d2F5IG9mIGVtdWxhdGluZyBtb3N0IEh5cGVyYm9sZSBtb3VzZSBkcmFnDQogICAgOzsgY29tbWFu ZHMgZnJvbSB0aGUga2V5Ym9hcmQuICBUaGlzIGlzIG1vc3QgdXNlZnVsIGZvciByYXBpZGx5IGNy ZWF0aW5nDQogICAgOzsgSHlwZXJib2xlIGxpbmsgYnV0dG9ucyBmcm9tIHRoZSBrZXlib2FyZCB3 aXRob3V0IGludm9raW5nIHRoZSBIeXBlcmJvbGUNCiAgICA7OyBtZW51LiAgT25seSB3b3JrcyBp ZiBIeXBlcmJvbGUgaXMgcnVuIHVuZGVyIGEgd2luZG93IHN5c3RlbS4NCiAgICAod2hlbiAoaHlw ZXJiOndpbmRvdy1zeXN0ZW0pDQogICAgICAoaWYgKGVxIChnbG9iYWwta2V5LWJpbmRpbmcgIlxN LW8iKSAnZmFjZW1lbnUta2V5bWFwKQ0KCSAgOzsgT3ZlcnJpZGUgZmFjZW1lbnUgcGFja2FnZSB0 aGF0IGFkZHMgYSBrZXltYXAgb24gTS1vLA0KCSAgOzsgc2luY2UgdGhpcyBiaW5kaW5nIGlzIG1v cmUgaW1wb3J0YW50IHRvIEh5cGVyYm9sZQ0KCSAgOzsgdXNlcnMuDQoJICAoaGtleS1nbG9iYWwt c2V0LWtleSAiXE0tbyIgJ2hrZXktb3BlcmF0ZSkNCgkoaGtleS1tYXliZS1nbG9iYWwtc2V0LWtl eSAiXE0tbyIgJ2hrZXktb3BlcmF0ZSkpKQ0KICAgIDs7DQogICAgOzsgQmluZHMge0MtYyBAfSB0 byBjcmVhdGVkIGEgdXNlci1zcGVjaWZpZWQgc2l6ZWQgZ3JpZCBvZiB3aW5kb3dzDQogICAgOzsg ZGlzcGxheWluZyBkaWZmZXJlbnQgYnVmZmVycy4NCiAgICA7Ow0KICAgIDs7IERvbid0IG92ZXJy aWRlIGxvY2FsIGJpbmRpbmdzIG9mIHRoaXMga2V5Lg0KICAgIChoa2V5LW1heWJlLWdsb2JhbC1z ZXQta2V5ICJcQy1jQCIgJ2h5Y29udHJvbC13aW5kb3dzLWdyaWQgdCkNCiAgICA7Ow0KICAgIDs7 IEJpbmRzIHtDLWMgQy1yfSBhcyBhIHNpdGUgc3RhbmRhcmQgd2F5IG9mIHBlcmZvcm1pbmcgZXhw bGljaXQNCiAgICA7OyBidXR0b24gcmVuYW1lcyB3aXRob3V0IGludm9raW5nIHRoZSBIeXBlcmJv bGUgbWVudS4NCiAgICA7Ow0KICAgIDs7IERvbid0IG92ZXJyaWRlIGxvY2FsIGJpbmRpbmdzIG9m IHRoaXMga2V5Lg0KICAgIChoa2V5LW1heWJlLWdsb2JhbC1zZXQta2V5ICJcQy1jXEMtciIgJ2h1 aTplYnV0LXJlbmFtZSB0KQ0KICAgIDs7DQogICAgOzsgQmluZHMge0MtYyBSRVR9IHRvIHNlbGVj dCBsYXJnZXIgYW5kIGxhcmdlciBzeW5jdGFjdGljYWwgdW5pdHMgaW4gYQ0KICAgIDs7IGJ1ZmZl ciB3aGVuIGludm9rZWQgcmVwZWF0ZWRseSwgc2hvd2luZyBpbiB0aGUgbWluaWJ1ZmZlciB0aGUg dHlwZQ0KICAgIDs7IG9mIHVuaXQgc2VsZWN0ZWQgZWFjaCB0aW1lLg0KICAgIChoa2V5LW1heWJl LWdsb2JhbC1zZXQta2V5ICJcQy1jXEMtbSIgJ2h1aS1zZWxlY3QtdGhpbmcpDQogICAgOzsNCiAg ICA7OyBCaW5kcyB7Qy1jIFx9IHRvIGludGVyYWN0aXZlbHkgbWFuYWdlIHdpbmRvd3MgYW5kIGZy YW1lcy4NCiAgICAoaGtleS1tYXliZS1nbG9iYWwtc2V0LWtleSAiXEMtY1xcIiAnaHljb250cm9s LWVuYWJsZS13aW5kb3dzLW1vZGUpDQogICAgOzsNCiAgICA7OyBCaW5kcyB7Qy1jIC99IHRvIGRp c3BsYXkgdGhlIEh5cGVyYm9sZSBGaW5kL1dlYiBzZWFyY2ggbWVudS4NCiAgICAoaGtleS1tYXli ZS1nbG9iYWwtc2V0LWtleSAiXEMtYy8iICdodWktc2VhcmNoLXdlYikNCiAgICA7Ow0KICAgIDs7 IEJpbmRzIHtDLWMgLn0gdG8ganVtcCBiZXR3ZWVuIHRoZSBzdGFydCBhbmQgZW5kIG9mIGFuIGRl bGltaXRlZCB0aGluZy4NCiAgICA7OyBEb24ndCBvdmVycmlkZSBsb2NhbCBiaW5kaW5ncyBvZiB0 aGlzIGtleS4NCiAgICAoaGtleS1tYXliZS1nbG9iYWwtc2V0LWtleSAiXEMtYy4iICdodWktc2Vs ZWN0LWdvdG8tbWF0Y2hpbmctZGVsaW1pdGVyIHQpDQogICAgOzsNCiAgICA7OyBUaGlzIGluaXRp YWxpemVzIHRoZSBTbWFydCBNb3VzZSBLZXkgYmluZGluZ3MuICBTaGlmdGVkIG1vdXNlIGJ1dHRv bnMNCiAgICA7OyBhcmUgYWx3YXlzIHNldCB1cC4gIFVuZGVyIEluZm9Eb2NrIG9yIHdpdGggYGht b3VzZS1taWRkbGUtZmxhZycNCiAgICA7OyBub24tbmlsLCB0aGlzIGFsc28gYmluZHMgdGhlIG1p ZGRsZSBtb3VzZSBidXR0b24gdG8gdGhlIEFjdGlvbiBLZXkuDQogICAgOzsgVGhlc2UgYmluZGlu Z3MgYXJlIGlnbm9yZWQgaWYgYSBwYXJ0aWN1bGFyIGZyYW1lIGRvZXMgbm90IGhhdmUgbW91c2UN CiAgICA7OyBzdXBwb3J0Lg0KICAgIChobW91c2UtaW5zdGFsbCBobW91c2UtbWlkZGxlLWZsYWcp DQogICAgOzsNCiAgICA7OyBUaGlzIG1ha2VzIGEgZG91YmxlIG9yIHRyaXBsZSBjbGljayBvZiB0 aGUgbGVmdCBtb3VzZSBidXR0b24gZG8gdGhlDQogICAgOzsgc2FtZSB0aGluZyBhcyB7Qy1jIFJF VH0uICBJdCBhbHNvIHNldHMgdXAgSmF2YSwgQysrIGFuZCBIVE1MIG1vZGVzDQogICAgOzsgZm9y IHByb3BlciBlbnRpdHkgc2VsZWN0aW9uLg0KICAgIChodWktc2VsZWN0LWluaXRpYWxpemUpDQog ICAgOzsNCiAgICA7OyBTdG9yZSBIeXBlcmJvbGUga2V5IGJpbmRpbmdzIHNvIGNhbiB0dXJuIHRo ZW0gb24gYW5kIG9mZi4NCiAgICAoc2V0cSBoa2V5LWJpbmRpbmdzIChoa2V5LWdldC1iaW5kaW5n cykNCgkgIGhrZXktYmluZGluZ3MtZmxhZyB0KQ0KICAgICkpDQoNCihkZWZ1biBoa2V5LW1heWJl LWdsb2JhbC1zZXQta2V5IChrZXkgY29tbWFuZCAmb3B0aW9uYWwgbm8tYWRkKQ0KICAiR2xvYmFs bHkgc2V0IEtFWSB0byBDT01NQU5EIGlmIEtFWSBpcyB1bmJvdW5kIGFuZCBDT01NQU5EIGlzIG5v dCBvbiBhbnkgZ2xvYmFsIGtleS4NCldpdGggdGhpcmQgYXJndW1lbnQgTk8tQUREIG5vbi1uaWws IHNraXAgc3RvcmFnZSBvZiBwcmlvciBLRVkgYmluZGluZw0Kd2hpY2ggcHJldmVudHMgYXV0b21h dGljIHJlbW92YWwgb2YgYW55IGxvY2FsIGJpbmRpbmdzIHRvIHRoZSBzYW1lIGtleS4iDQogIChv ciAoZ2xvYmFsLWtleS1iaW5kaW5nIGtleSkNCiAgICAgICh3aGVyZS1pcy1pbnRlcm5hbCBjb21t YW5kKQ0KICAgICAgKGhrZXktZ2xvYmFsLXNldC1rZXkga2V5IGNvbW1hbmQpKSkNCg0KKGRlZnVu IGhrZXktc2V0LWJpbmRpbmdzIChrZXktYmluZGluZy1saXN0KQ0KICAiU2V0IGtleXMgYm91bmQg YnkgSHlwZXJib2xlIHRvIHRob3NlIGluIEtFWS1CSU5ESU5HLUxJU1QuDQpLRVktQklORElORy1M SVNUIGlzIHRoZSB2YWx1ZSBvZiBlaXRoZXIgYGhrZXktcHJldmlvdXMtYmluZGluZ3MnDQpcKGtl eSBiaW5kaW5ncyBwcmlvciB0byBIeXBlcmJvbGUgbG9hZCkgb3IgYGhrZXktYmluZGluZ3MnIChI eXBlcmJvbGUNCmJpbmRpbmdzIGFmdGVyIGxvYWQpLiINCiAgKGRvbGlzdCAoa2V5LWFuZC1iaW5k aW5nIGtleS1iaW5kaW5nLWxpc3QpDQogICAgIChnbG9iYWwtc2V0LWtleSAoY2FkciBrZXktYW5k LWJpbmRpbmcpIChjYXIgKGNkZHIga2V5LWFuZC1iaW5kaW5nKSkpKSkNCg0KKGRlZnVuIGh5cGVy Ym9sZS10b2dnbGUtYmluZGluZ3MgKCkNCiAgIlRvZ2dsZXMgYmV0d2VlbiBIeXBlcmJvbGUgbW91 c2UgYW5kIGtleWJvYXJkIGtleXMgYW5kIHRoZWlyIHByaW9yIGJpbmRpbmdzLiINCiAgKGludGVy YWN0aXZlKQ0KICAobGV0ICgoa2V5LWJpbmRpbmctbGlzdCAoaWYgaGtleS1iaW5kaW5ncy1mbGFn DQoJCQkgICAgICBoa2V5LXByZXZpb3VzLWJpbmRpbmdzDQoJCQkgICAgaGtleS1iaW5kaW5ncykp DQoJKG90aGVyLWJpbmRpbmdzLXZhciAoaWYgaGtleS1iaW5kaW5ncy1mbGFnDQoJCQkJJ2hrZXkt YmluZGluZ3MNCgkJCSAgICAgICdoa2V5LXByZXZpb3VzLWJpbmRpbmdzKSkpDQogICAgKGlmIGtl eS1iaW5kaW5nLWxpc3QNCgkocHJvZ24NCgkgIChzZXQgb3RoZXItYmluZGluZ3MtdmFyIChoa2V5 LWdldC1iaW5kaW5ncykpDQoJICAoaGtleS1zZXQtYmluZGluZ3Mga2V5LWJpbmRpbmctbGlzdCkN CgkgIChzZXRxIGhrZXktYmluZGluZ3MtZmxhZyAobm90IGhrZXktYmluZGluZ3MtZmxhZykNCgkJ aG1vdXNlLWJpbmRpbmdzLWZsYWcgKG5vdCBobW91c2UtYmluZGluZ3MtZmxhZykpDQoJICAoaWYg KGNhbGxlZC1pbnRlcmFjdGl2ZWx5LXAgJ2ludGVyYWN0aXZlKQ0KCSAgICAgIChtZXNzYWdlICIl cyBtb3VzZSBhbmQga2V5Ym9hcmQgYmluZGluZ3MgYXJlIG5vdyBpbiB1c2UuIg0KCQkgICAgICAg KGlmIGhrZXktYmluZGluZ3MtZmxhZyAiSHlwZXJib2xlIiAiTm9uLUh5cGVyYm9sZSIpKSkpDQog ICAgICAoZXJyb3IgIihoeXBlcmJvbGUtdG9nZ2xlLWJpbmRpbmdzKTogYCVzJyBpcyBlbXB0eS4i DQoJICAgICAoaWYgaGtleS1iaW5kaW5ncy1mbGFnICdoa2V5LXByZXZpb3VzLWJpbmRpbmdzICdo a2V5LWJpbmRpbmdzKSkpKSkNCg0KOzs7ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KOzs7IExvYWQgSHlwZXJi b2xlIG1vdXNlIGJpbmRpbmdzDQo7OzsgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoNCjs7IEZyb20gbW91c2Ut cG9zaXRpb24uYyBpbiBFbWFjczoNCjs7ICAgIGYgPSBTRUxFQ1RFRF9GUkFNRSAoKTsNCjs7ICAg IFhTRVRGUkFNRSAobGlzcHlfZHVtbXksIGYpOw0KOzsNCjs7ICBJdCBzZWVtcyBsaWtlIHRoZSBY U0VURlJBTUUgbWFjcm8gaXMgbm90IHByb3Blcmx5IGNvcHlpbmcgdGhlIHZhbHVlIG9mIGYgb24g aW5pdGlhbCBmcmFtZSBzZWxlY3Rpb24gdW5kZXIgdGhlIG1hY09TIHdpbmRvdyBzeXN0ZW0uDQo7 OyAgVGhlIHByb2JsZW0gb2NjdXJzIG9uIG90aGVyIHN5c3RlbXMgYXMgd2VsbCwgZS5nLiBFbWFj cyAyNS4yIHVuZGVyIFdpbmRvd3MgNy4NCjs7DQo7OyAgSHlwZXJib2xlIHJlc29sdmVzIHRoaXMg cHJvYmxlbSBieSBzZXR0aW5nIHRoZQ0KOzsgIGBtb3VzZS1wb3NpdGlvbi1mdW5jdGlvbicgdmFy aWFibGUgYmVsb3cgdG8gcHJvcGVybHkgc2V0IHRoZQ0KOzsgIG5ld2x5IHNlbGVjdGVkIGZyYW1l Lg0KKGlmIChib3VuZHAgJ21vdXNlLXBvc2l0aW9uLWZ1bmN0aW9uKQ0KICAgIChzZXRxIG1vdXNl LXBvc2l0aW9uLWZ1bmN0aW9uDQoJICAobGFtYmRhIChmcmFtZS14LWRvdC15KQ0KCSAgICAiTWFr ZSBgbW91c2UtcG9zaXRpb24nIGFuZCBgbW91c2UtcGl4ZWwtcG9zaXRpb24nIGFsd2F5cyByZXR1 cm4gdGhlIHNlbGVjdGVkIGZyYW1lLg0KVW5kZXIgbWFjT1MgYW5kIFdpbmRvd3MgNyBhdCBsZWFz dCwgdXBvbiBpbml0aWFsIHNlbGVjdGlvbiBvZiBhIG5ldw0KZnJhbWUsIHRob3NlIGZ1bmN0aW9u cyBieSBkZWZhdWx0IHN0aWxsIHJldHVybiB0aGUgcHJpb3IgZnJhbWUuIg0KCSAgICAoaWYgKGNv bnNwIGZyYW1lLXgtZG90LXkpIChzZXRjYXIgZnJhbWUteC1kb3QteSAoc2VsZWN0ZWQtZnJhbWUp KSkNCgkgICAgZnJhbWUteC1kb3QteSkpKQ0KDQo7OyBobW91c2UtZHJ2IHdpbGwgbG9hZCBodWkt bW91c2UgYW5kIGhtb3VzZS1rZXkNCihtYXBjICMncmVxdWlyZSAnKGhzZXR0aW5ncyBobW91c2Ut ZHJ2IGhtb3VzZS1zaCkpDQoNCjs7OyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCjs7OyBZb3Ugc2hvdWxkbid0 IG5lZWQgdG8gbW9kaWZ5IGFueXRoaW5nIGJlbG93IGhlcmUuDQo7OzsgKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq DQoNCjs7IEFkZCBIeXBlcmJvbGUgSW5mbyBkaXJlY3RvcnkgdG8gSW5mby1kaXJlY3RvcnktbGlz dCBhZnRlciB0aGUgSW5mbw0KOzsgbWFudWFsIHJlYWRlciBwYWNrYWdlIGlzIGxvYWRlZC4NCihl dmFsLWFmdGVyLWxvYWQgImluZm8iDQogICcod2hlbiAoYm91bmRwICdoeXBlcmI6ZGlyKQ0KICAg ICAoaW5mby1pbml0aWFsaXplKQ0KICAgICAobGV0ICgoaW5mby1kaXIgKGV4cGFuZC1maWxlLW5h bWUgIm1hbi8iIGh5cGVyYjpkaXIpKSkNCiAgICAgICAoaWYgKGZpbGUtZXhpc3RzLXAgaW5mby1k aXIpDQoJICAgKGFkZC10by1saXN0ICdJbmZvLWRpcmVjdG9yeS1saXN0IGluZm8tZGlyKSkpKSkN Cg0KOzs7ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKg0KOzs7IFByZXZlbnQgbG9jYWwga2V5IG1hcHMgZnJvbSBo aWRpbmcvb3ZlcnJpZGluZyB0aGUgQWN0aW9uIGFuZCBBc3Npc3QgS2V5cw0KOzs7ICoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKg0KDQo7OyAoZGVmdW4gaGtleS1yZWFkLW9ubHktYmluZGluZ3MgKCkNCjs7ICAgIkJp bmRzIEFjdGlvbiBhbmQgQXNzaXN0IEtleSBmdW5jdGlvbnMgaW4gbWFueSByZWFkLW9ubHkgbW9k ZXMgdG8gdGhlIGtleSBzZXF1ZW5jZSB2YWx1ZSBvZiBgYWN0aW9uLWtleS1yZWFkLW9ubHknLg0K OzsgRG9lcyBub3RoaW5nIGlmIHRoaXMgdmFyaWFibGUgaXMgbmlsLiINCjs7ICAgKGFuZCBhY3Rp b24ta2V5LXJlYWQtb25seQ0KOzsgICAgICAgIChtYXBjYXINCjs7IAkobGFtYmRhIChrZXltYXAt c3ltKQ0KOzsgCSAgICAoaWYgKGFuZCAoYm91bmRwIGtleW1hcC1zeW0pIChrZXltYXBwIGtleW1h cC1zeW0pKQ0KOzsgCQkoZGVmaW5lLWtleSAoc3ltYm9sLXZhbHVlIGtleW1hcC1zeW0pIGFjdGlv bi1rZXktcmVhZC1vbmx5ICMnYWN0aW9uLWtleSkpKQ0KOzsgCScoQnVmZmVyLW1lbnUtbW9kZS1t YXAgY2FsZW5kYXItbW9kZS1tYXAgZGlyZWQtbW9kZS1tYXAgZ251cy1ncm91cC1tb2RlLW1hcA0K OzsgICAgICAgICAgIGdudXMtc3VtbWFyeS1tb2RlLW1hcCBJbmZvLW1vZGUtbWFwIG9vLWJyb3dz ZS1tb2RlLW1hcCBybWFpbC1tb2RlLW1hcA0KOzsgCSAgcm1haWwtc3VtbWFyeS1tb2RlLW1hcCB1 bml4LWFwcm9wb3MtbWFwKSkpKQ0KDQo7Ow0KOzsgT3ZlcnJpZGluZyBvZiBsb2NhbCBrZXkgYmlu ZGluZ3MgdGhhdCBpbnRlcmZlcmUgd2l0aCBnbG9iYWwNCjs7IGJpbmRpbmdzIGZyb20gSHlwZXJi b2xlLiAgU2VlIGBoeXBlcmI6aW5pdCcgZm9yIHRoZSBob29rIHRoYXQgY2FsbHMNCjs7IHRoZXNl IGZ1bmN0aW9ucy4NCjs7DQooZGVmdW4gaGtleS1vdmVycmlkZS1sb2NhbC1iaW5kaW5ncyAoKQ0K ICAiSWYgYGhrZXktaW5pdC1vdmVycmlkZS1sb2NhbC1rZXlzJyBhbmQgYGhrZXktaW5pdCcgYXJl IHQsIG92ZXJyaWRlIGEgbG9jYWwga2V5IGJpbmRpbmcgdGhhdCBoaWRlcyB0aGUgZ2xvYmFsIEh5 cGVyYm9sZSBTbWFydCBLZXlzLCBieSByZW1vdmluZyBpdC4iDQogIChpbnRlcmFjdGl2ZSkNCiAg KHdoZW4gaGtleS1pbml0DQogICAgOzsgRG8gcmVhZC1vbmx5IGJpbmRpbmdzIGhlcmUsIGV2ZW4g dGhvdWdoIHRoaXMgd2lsbCBydW4NCiAgICA7OyBtYW55IHRpbWVzLCBzaW5jZSBlYWNoIGtleSBt YXAgZXhpc3RzIG9ubHkgYWZ0ZXINCiAgICA7OyBpdHMgbWFqb3IgbW9kZSBpcyBmaXJzdCB1c2Vk IG9yIGxvYWRlZC4NCiAgICA7OyAoaGtleS1yZWFkLW9ubHktYmluZGluZ3MpDQogICAgKGlmIGhr ZXktaW5pdC1vdmVycmlkZS1sb2NhbC1rZXlzDQoJKGxldCAoaGtleQ0KCSAgICAgIGJpbmRpbmcp DQoJICAobWFwYyAobGFtYmRhIChkZXNjcmlwLWtleS1jbWQpDQoJCSAgKGFuZCAoc2V0cSBoa2V5 IChjYWRyIGRlc2NyaXAta2V5LWNtZCkpDQoJCSAgICAgICA7OyBUbyBzZWUgdGhlIGtleSBuYW1l LCB1c2U6IChrZXktZGVzY3JpcHRpb24gaGtleSkNCgkJICAgICAgIChzZXRxIGJpbmRpbmcgKGxv Y2FsLWtleS1iaW5kaW5nIGhrZXkpKQ0KCQkgICAgICAgOzsgQSBudW1iZXIgaW5kaWNhdGVzIGFu IGludmFsaWQga2V5IHByZWZpeCwgc28NCgkJICAgICAgIDs7IHRoZXJlIGlzIG5vdCBhY3R1YWxs eSBhIGxvY2FsIGJpbmRpbmcgZm9yDQoJCSAgICAgICA7OyB0aGlzIGtleSBzZXF1ZW5jZS4NCgkJ ICAgICAgIChub3QgKG51bWJlcnAgYmluZGluZykpDQoJCSAgICAgICAobG9jYWwtdW5zZXQta2V5 IGhrZXkpKSkNCgkJaGtleS1wcmV2aW91cy1iaW5kaW5ncykpKSkpDQoNCihkZWZ1biBoa2V5LWlu c3RhbGwtb3ZlcnJpZGUtbG9jYWwtYmluZGluZ3MgKCkNCiAgOzsgUnVuIGFmdGVyIGFueSBtYWpv ci1tb2RlIGNoYW5nZSB3aXRoaW4gYW55IGJ1ZmZlci4NCiAgKGFkZC1ob29rICdjaGFuZ2UtbWFq b3ItbW9kZS1hZnRlci1ib2R5LWhvb2sgIydoa2V5LW92ZXJyaWRlLWxvY2FsLWJpbmRpbmdzKQ0K ICA7OyBOZWVkIHRvIG92ZXJyaWRlIGJpbmRpbmdzIGluIGFueSBidWZmZXJzIHRoYXQgZXhpc3Qg YWxyZWFkeSBpZg0KICA7OyBvdmVycmlkaW5nIGlzIGVuYWJsZWQuDQogIChhbmQgaGtleS1pbml0 IGhrZXktaW5pdC1vdmVycmlkZS1sb2NhbC1rZXlzDQogICAgICAgKG1hcGMgKGxhbWJkYSAoYnVm KSAod2l0aC1jdXJyZW50LWJ1ZmZlciBidWYNCgkJCSAgICAgKGhrZXktb3ZlcnJpZGUtbG9jYWwt YmluZGluZ3MpKSkNCgkgICAgIChidWZmZXItbGlzdCkpKSkNCg0KKGRlZnVuIGhrZXktdG9nZ2xl LW92ZXJyaWRlLWxvY2FsLWJpbmRpbmdzICgmb3B0aW9uYWwgYXJnKQ0KICAiVG9nZ2xlIHdoZXRo ZXIgY29uZmxpY3RpbmcgbG9jYWwga2V5IGJpbmRpbmdzIGFyZSBvdmVycmlkZGVuIGJ5IEh5cGVy Ym9sZS4NCldpdGggb3B0aW9uYWwgQVJHLCBvdmVycmlkZSB0aGVtIGlmZiBBUkcgaXMgcG9zaXRp dmUuIg0KICAoaW50ZXJhY3RpdmUgIlAiKQ0KICAoaWYgKG9yIChhbmQgYXJnICg8PSAocHJlZml4 LW51bWVyaWMtdmFsdWUgYXJnKSAwKSkNCgkgIChhbmQgKG5vdCAoYW5kIGFyZyAoPiAocHJlZml4 LW51bWVyaWMtdmFsdWUgYXJnKSAwKSkpDQoJICAgICAgIGhrZXktaW5pdC1vdmVycmlkZS1sb2Nh bC1rZXlzKSkNCiAgICAgIChwcm9nbiAoc2V0cSBoa2V5LWluaXQtb3ZlcnJpZGUtbG9jYWwta2V5 cyBuaWwpDQoJICAgICAobWVzc2FnZSAiTG9jYWwga2V5IGJpbmRpbmdzIHRoYXQgY29uZmxpY3Qg d2l0aCBIeXBlcmJvbGUgd2lsbCBiZSBsZWZ0IGluIHBsYWNlLiIpKQ0KICAgIChzZXRxIGhrZXkt aW5pdC1vdmVycmlkZS1sb2NhbC1rZXlzIHQpDQogICAgKG1lc3NhZ2UgIkxvY2FsIGtleSBiaW5k aW5ncyB0aGF0IGNvbmZsaWN0IHdpdGggSHlwZXJib2xlIHdpbGwgYmUgcmVtb3ZlZC4iKSkpDQoN Cjs7OyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioNCjs7OyBEaXNwbGF5IEhvb2tzDQo7OzsgKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqDQoNCjs7IFBlcm1pdHMgcmVzdG9yZSBvZiB0aGUgcHJpb3Igd2luZG93IGNvbmZpZ3VyYXRp b24gYWZ0ZXIgYW55IGhlbHAgYnVmZmVyDQo7OyBpcyBzaG93biBieSBwcmVzc2luZyBlaXRoZXIg dGhlIEFjdGlvbiBvciBBc3Npc3QgS2V5IGF0IHRoZSBlbmQgb2YgdGhlDQo7OyBoZWxwIGJ1ZmZl ci4gIChIZWxwIGJ1ZmZlciBuYW1lcyBlbmQgd2l0aCAiSGVscCoiLikgIE9ubHkgb25lIG9mDQo7 OyB0aGVzZSB0d28gc2V0dGluZ3MgaXMgdXNlZCwgZGVwZW5kZW50IG9uIGVtYWNzIHZlcnNpb24u DQo7Ow0KKGFkZC1ob29rICd0ZW1wLWJ1ZmZlci1zaG93LWhvb2sgIydoa2V5LWhlbHAtc2hvdykN CihzZXRxIHRlbXAtYnVmZmVyLXNob3ctZnVuY3Rpb24gIydoa2V5LWhlbHAtc2hvdykNCg0KOzs7 ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKg0KOzs7IEF1dG9sb2Fkcw0KOzs7ICoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KDQo7 OyBLb3V0bGluZXIgYXV0b2xvYWRzIGluIHRoZSBrb3RsLyBzdWJkaXJlY3RvcnkgYXJlIGdlbmVy YXRlZCBieSAnbWFrZSBwa2cnLg0KOzsgVGhpcyBuZXh0IGxpbmUgZW5zdXJlcyB0aGV5IGFyZSBs b2FkZWQgYnkgaHlwZXJib2xlLWF1dG9sb2FkcyB3aGVuZXZlcg0KOzsgdGhlIEh5cGVyYm9sZSBw YWNrYWdlIGlzIGFjdGl2YXRlZCBpbiBhbiBFbWFjcyBzZXNzaW9uLg0KOzs7IyMjYXV0b2xvYWQg KGxvYWQgImtvdGwva290bC1hdXRvbG9hZHMiIG5pbCAnbm93YXJuKQ0KDQo7OyBCZWZvcmUgdGhl IDYuMC4xIHJlbGVhc2UsIEh5cGVyYm9sZSB1c2VkIHRvIHBhdGNoIHRoZSBwYWNrYWdlLWdlbmVy YXRlLWF1dG9sb2FkcyANCjs7IGZ1bmN0aW9uIHRvIGVuc3VyZSB0aGF0IGtvdGwvIHN1YmRpcmVj dG9yaWVzIHdlcmUgYXV0b2xvYWRlZC4gIFRoaXMNCjs7IGlzIG5vIGxvbmdlciB1c2VkIGJ1dCBp cyBsZWZ0IGhlcmUgdGVtcG9yYXJpbHkgZm9yIHJlZmVyZW5jZS4NCjs7DQo7OyBFbnN1cmUgS291 dGxpbmVyIGF1dG9sb2FkcyBpbiBrb3RsLyBzdWJkaXJlY3RvcnkgYXJlIGdlbmVyYXRlZCBhbmQg bG9hZGVkLg0KOzsgKHVubGVzcyAob3IgKGZib3VuZHAgJ2tvdGwtbW9kZSkNCjs7IAkgICAgKGFu ZCAobG9hZCAiaHlwZXJib2xlLWF1dG9sb2FkcyIgdCB0KQ0KOzsgCQkgKGZib3VuZHAgJ2tvdGwt bW9kZSkpKQ0KOzsgICAoZGVmdW4gaHlwZXJiOnBhY2thZ2UtYXV0b2xvYWRzLXN1YmRpcmVjdG9y aWVzLXAgKCkNCjs7ICAgICAocmVxdWlyZSAncGFja2FnZSkNCjs7ICAgICAobGV0ICgoZnVuYyAo c3ltYm9sLWZ1bmN0aW9uICdwYWNrYWdlLWdlbmVyYXRlLWF1dG9sb2FkcykpKQ0KOzsgICAgICAg OzsgSWYgdGhpcyBmdW5jdGlvbiBjb250YWlucyBhIGNhbGwgdG8gYXBwbHksIHRoZW4gaXQgaXMg cGF0Y2hlZA0KOzsgICAgICAgOzsgd2l0aCBzdXBwb3J0IGZvciBmaW5kaW5nIGF1dG9sb2FkcyBp biBzdWJkaXJlY3RvcmllcyBhbmQNCjs7ICAgICAgIDs7IG5vdGhpbmcgbW9yZSBuZWVkIGJlIGRv bmUuDQo7OyAgICAgICAoaWYgKGJ5dGUtY29kZS1mdW5jdGlvbi1wIGZ1bmMpDQo7OyAJICAoZGVs cSBuaWwgKG1hcGNhciAobGFtYmRhIChpdGVtKSAoZXEgaXRlbSAnYXBwbHkpKSAoYXJlZiBmdW5j IDIpKSkNCjs7IAkoc3RyaW5nLW1hdGNoICIoYXBwbHkgIiAocHJpbjEtdG8tc3RyaW5nIGZ1bmMp KSkpKQ0KDQo7OyAgICh1bmxlc3MgKGh5cGVyYjpwYWNrYWdlLWF1dG9sb2Fkcy1zdWJkaXJlY3Rv cmllcy1wKQ0KOzsgICAgIDs7IEZ1bmN0aW9uIGlzIG5vdCBwYXRjaGVkLCBzbyBkZWZpbmUgaXQg aGVyZSwgY2FsbCBpdCwgYW5kIHRoZW4gbG9hZA0KOzsgICAgIDs7IHRoZSBnZW5lcmF0ZWQgYXV0 b2xvYWRzLiAgVGhpcyB3aWxsIGhhcHBlbiBtYXhpbWFsbHkgb25seSBvbmNlDQo7OyAgICAgOzsg cGVyIGluc3RhbGxhdGlvbiBvZiBhIEh5cGVyYm9sZSByZWxlYXNlLg0KOzsgICAgIChpZiAobm90 IChmaWxlLXdyaXRhYmxlLXAgKGV4cGFuZC1maWxlLW5hbWUgImh5cGVyYm9sZS1hdXRvbG9hZHMu ZWwiIGh5cGVyYjpkaXIpKSkNCjs7IAkoZXJyb3IgIihIeXBlcmJvbGUpOiBGYWlsdXJlIGxvYWRp bmcsIG5lZWQgd3JpdGUgcGVybWlzc2lvbiB0byBcIiVzXCIiIGh5cGVyYjpkaXIpKQ0KOzsgICAg IChkZWZ1biBwYWNrYWdlLWdlbmVyYXRlLWF1dG9sb2FkcyAobmFtZSBwa2ctZGlyKQ0KOzsgICAg ICAgKGxldCogKChhdXRvLW5hbWUgKGZvcm1hdCAiJXMtYXV0b2xvYWRzLmVsIiBuYW1lKSkNCjs7 IAkgICAgIChnZW5lcmF0ZWQtYXV0b2xvYWQtZmlsZSAoZXhwYW5kLWZpbGUtbmFtZSBhdXRvLW5h bWUgcGtnLWRpcikpDQo7OyAJICAgICA7OyBTaWxlbmNlIGBhdXRvbG9hZC1nZW5lcmF0ZS1maWxl LWF1dG9sb2FkcycuDQo7OyAJICAgICAobm9uaW50ZXJhY3RpdmUgdCkNCjs7IAkgICAgIChiYWNr dXAtaW5oaWJpdGVkIHQpDQo7OyAJICAgICAodmVyc2lvbi1jb250cm9sICduZXZlcikpDQo7OyAJ KHBhY2thZ2UtYXV0b2xvYWQtZW5zdXJlLWRlZmF1bHQtZmlsZSBnZW5lcmF0ZWQtYXV0b2xvYWQt ZmlsZSkNCjs7IAkoYXBwbHkgIyd1cGRhdGUtZGlyZWN0b3J5LWF1dG9sb2FkcyBwa2ctZGlyDQo7 OyAJICAgICAgIChkZWxxIG5pbCAobWFwY2FyIChsYW1iZGEgKGYpIChhbmQgKGZpbGUtZGlyZWN0 b3J5LXAgZikNCjs7IAkJCQkJCSAgKG5vdCAoZmlsZS1zeW1saW5rLXAgZikpDQo7OyAJCQkJCQkg IGYpKQ0KOzsgCQkJCSAoZGlyZWN0b3J5LWZpbGVzIHBrZy1kaXIgdCAiW2EtekEtWl0uKiIgbmls KSkpKQ0KOzsgCShsZXQgKChidWYgKGZpbmQtYnVmZmVyLXZpc2l0aW5nIGdlbmVyYXRlZC1hdXRv bG9hZC1maWxlKSkpDQo7OyAJICAod2hlbiBidWYgKGtpbGwtYnVmZmVyIGJ1ZikpKQ0KOzsgCWF1 dG8tbmFtZSkpDQo7OyAgICAgKHBhY2thZ2UtZ2VuZXJhdGUtYXV0b2xvYWRzICJoeXBlcmJvbGUi IGh5cGVyYjpkaXIpKQ0KOzsgICAobG9hZCAiaHlwZXJib2xlLWF1dG9sb2FkcyIpKQ0KDQo7OyBN ZW51IGl0ZW1zIGNvdWxkIGNhbGwgdGhpcyBmdW5jdGlvbiBiZWZvcmUgSW5mbyBpcyBsb2FkZWQu DQooYXV0b2xvYWQgJ0luZm8tZ290by1ub2RlICAgImluZm8iICAgICAgICJKdW1wIHRvIHNwZWNp ZmljIEluZm8gbm9kZS4iICB0KQ0KDQo7OzsgSHlwZXJib2xlIHVzZXIgaW50ZXJmYWNlIGVudHJ5 IHBvaW50cyB0aGF0IHRyaWdnZXIgbG9hZGluZyBvZiB0aGUNCjs7OyBmdWxsIEh5cGVyYm9sZSBz eXN0ZW0uICBUaGVzZSBhcmUgbGVmdCBjb21tZW50ZWQgaGVyZSBmb3INCjs7OyByZWZlcmVuY2Ug aW4gY2FzZSB3ZSBldmVyIGdvIGJhY2sgdG8gYXV0b2xvYWRpbmcgSHlwZXJib2xlIHJhdGhlcg0K Ozs7IHRoYW4gaW5pdGlhbGl6aW5nIGl0IGZ1bGx5IGluIHRoaXMgZmlsZS4NCg0KOzsgOzsgQWN0 aW9uIHR5cGUgZGVmaW5pdGlvbnMuDQo7OyAoYXV0b2xvYWQgJ2RlZmFjdCAgICAgICAgICAgICJo eXBlcmJvbGUiDQo7OyAgICJDcmVhdGVzIGFuIGFjdGlvbiBUWVBFIChhbiB1bnF1b3RlZCBzeW1i b2wpIHdpdGggUEFSQU1TLCBkZXNjcmliZWQgYnkgRE9DLiINCjs7ICAgbmlsICdtYWNybykNCjs7 IDs7IEltcGxpY2l0IGJ1dHRvbiB0eXBlIGRlZmluaXRpb25zLg0KOzsgKGF1dG9sb2FkICdkZWZp YiAgICAgICAgICAgICAiaHlwZXJib2xlIg0KOzsgICAiQ3JlYXRlcyBpbXBsaWNpdCBidXR0b24g VFlQRSAodW5xdW90ZWQgc3ltKSB3aXRoIFBBUkFNUywgZGVzY3JpYmVkIGJ5IERPQy4iDQo7OyAg IG5pbCAnbWFjcm8pDQoNCjs7IChhdXRvbG9hZCAnZWJ1dDptYXAgICAgICAgICAgImh5cGVyYm9s ZSIgICAgICAiTWFwIG92ZXIgSHlwZXJib2xlIGJ1ZmZlciBidXR0b25zLiIgbmlsKQ0KOzsgKGF1 dG9sb2FkICdoYnV0OmtleS1zcmMgICAgICAiaHlwZXJib2xlIiAgICAgICJDYWxsZWQgYnkge2V9 IGNvbW1hbmQgaW4gcm9sbyBtYXRjaCBidWZmZXIuIikNCjs7IChhdXRvbG9hZCAnaHVpOmVidXQt cmVuYW1lICAgImh5cGVyYm9sZSIgICAgICAiUmVuYW1lIGEgSHlwZXJib2xlIGJ1dHRvbi4iICAg ICB0KQ0KOzsgKGF1dG9sb2FkICdoeXBlcmJvbGUgICAgICAgICAiaHlwZXJib2xlIiAgICAgICJI eXBlcmJvbGUgaW5mbyBtYW5hZ2VyIG1lbnVzLiIgIHQpDQoNCjs7IChhdXRvbG9hZCAnYWN0aW9u LWtleSAgICAgICAgImh5cGVyYm9sZSINCjs7ICAgIkNvbnRleHQtc2Vuc2l0aXZlIEFjdGlvbiBL ZXkgY29tbWFuZC4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQpDQo7OyAoYXV0 b2xvYWQgJ2FjdGlvbi1rZXktZGVwcmVzcyAiaHlwZXJib2xlIiAgICAgIkRlcHJlc3MgY29udGV4 dC1zZW5zaXRpdmUgQWN0aW9uIEtleS4iIHQpDQo7OyAoYXV0b2xvYWQgJ2Fzc2lzdC1rZXktZGVw cmVzcyAiaHlwZXJib2xlIiAgICAgIkRlcHJlc3MgY29udGV4dC1zZW5zaXRpdmUgQXNzaXN0IEtl eS4iIHQpDQo7OyAoYXV0b2xvYWQgJ2FjdGlvbi1rZXktZGVwcmVzcy1lbWFjcyAiaHlwZXJib2xl IiAiRGVwcmVzcyBjb250ZXh0LXNlbnNpdGl2ZSBBY3Rpb24gS2V5LiIgdCkNCjs7IChhdXRvbG9h ZCAnYXNzaXN0LWtleS1kZXByZXNzLWVtYWNzICJoeXBlcmJvbGUiICJEZXByZXNzIGNvbnRleHQt c2Vuc2l0aXZlIEFzc2lzdCBLZXkuIiB0KQ0KOzsgKGF1dG9sb2FkICdhY3Rpb24tbW91c2Uta2V5 LWVtYWNzICAiaHlwZXJib2xlIiAiRXhlY3V0ZSBjb250ZXh0LXNlbnNpdGl2ZSBBY3Rpb24gS2V5 LiIgdCkNCjs7IChhdXRvbG9hZCAnYXNzaXN0LW1vdXNlLWtleS1lbWFjcyAgImh5cGVyYm9sZSIg IkV4ZWN1dGUgY29udGV4dC1zZW5zaXRpdmUgQXNzaXN0IEtleS4iIHQpDQo7OyAoYXV0b2xvYWQg J2hrZXktaGVscCAgICAgICAgICJoeXBlcmJvbGUiDQo7OyAgICJEaXNwbGF5IGhlbHAgZm9yIHRo ZSBBY3Rpb24gS2V5IGNvbW1hbmQgaW4gY3VycmVudCBjb250ZXh0Lg0KOzsgV2l0aCBvcHRpb25h bCBBU1NJU1QtRkxBRyBub24tbmlsLCBkaXNwbGF5IGhlbHAgZm9yIHRoZSBBc3Npc3QgS2V5IGNv bW1hbmQuDQo7OyBSZXR1cm5zIG5vbi1uaWwgaWZmIGFzc29jaWF0ZWQgaGVscCBkb2N1bWVudGF0 aW9uIGlzIGZvdW5kLiIgICAgICAgICAgICAgICB0KQ0KOzsgKGF1dG9sb2FkICdoa2V5LWFzc2lz dC1oZWxwICAiaHlwZXJib2xlIg0KOzsgICAiRGlzcGxheSBoZWxwIGZvciB0aGUgQXNzaXN0IEtl eSBjb21tYW5kIGluIGN1cnJlbnQgY29udGV4dC4iICAgICAgICAgICAgdCkNCjs7IChhdXRvbG9h ZCAnaGtleS1oZWxwLWhpZGUgICAgImh5cGVyYm9sZSINCjs7ICAgIlJlc3RvcmVzIGZyYW1lIHRv IGNvbmZpZ3VyYXRpb24gcHJpb3IgdG8gaGVscCBidWZmZXIgZGlzcGxheS4iICAgICAgICBuaWwp DQo7OyAoYXV0b2xvYWQgJ2hrZXktaGVscC1zaG93ICAgICJoeXBlcmJvbGUiDQo7OyAgICJTYXZl cyBwcmlvciBmcmFtZSBjb25maWd1cmF0aW9uIGlmIEJVRkZFUiBkaXNwbGF5cyBoZWxwLiIgICAg ICAgICAgICAgbmlsKQ0KOzsgKGF1dG9sb2FkICdhc3Npc3Qta2V5ICAgICAgICAiaHlwZXJib2xl Ig0KOzsgICAiQ29udGV4dC1zZW5zaXRpdmUgQXNzaXN0IEtleSBjb21tYW5kLiIgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdCkNCjs7IChhdXRvbG9hZCAnYWN0aW9uLW1vdXNlLWtl eSAgImh5cGVyYm9sZSINCjs7ICAgIkNvbnRleHQtc2Vuc2l0aXZlIEFjdGlvbiBNb3VzZSBLZXkg Y29tbWFuZC4iICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQpDQo7OyAoYXV0b2xvYWQgJ2Fz c2lzdC1tb3VzZS1rZXkgICJoeXBlcmJvbGUiDQo7OyAgICJDb250ZXh0LXNlbnNpdGl2ZSBBc3Np c3QgTW91c2UgS2V5IGNvbW1hbmQuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0KQ0KOzsg KGF1dG9sb2FkICdoa2V5LW9wZXJhdGUgICAgICAiaHlwZXJib2xlIiAgICAgICJFbXVsYXRlIEh5 cGVyYm9sZSBtb3VzZSBrZXkgZHJhZ3MuIiB0KQ0KOzsgKGF1dG9sb2FkICdzeW1zZXQ6YWRkICAg ICAgICAiaHlwZXJib2xlIiAgICAgICJBZGRzIEVMVCB0byBTWU1CT0wncyBQUk9QIHNldC4iIG5p bCkNCjs7IChhdXRvbG9hZCAnaGFjdCAgICAgICAgICAgICAgImh5cGVyYm9sZSIgICAgICAiUGVy Zm9ybXMgYWN0aW9uIGZvcm1lZCBmcm9tIHJlc3Qgb2YgQVJHUy4iIG5pbCkNCjs7IChhdXRvbG9h ZCAnYWN0eXBlczo6ZXhlYy13aW5kb3ctY21kICJoeXBlcmJvbGUiDQo7OyAJICAiRXhlY3V0ZXMg YW4gZXh0ZXJuYWwgd2luZG93LWJhc2VkIFNIRUxMLUNNRCBzdHJpbmcgYXN5bmNocm9ub3VzbHku IiBuaWwpDQo7OyAoYXV0b2xvYWQgJ2hwYXRoOmFic29sdXRlLXRvICJoeXBlcmJvbGUiDQo7OyAJ ICAiTWFrZSBQQVRIIGFic29sdXRlIGZyb20gb3B0aW9uYWwgREVGQVVMVC1ESVJTLiIgbmlsKQ0K OzsgKGF1dG9sb2FkICdocGF0aDpkaXNwbGF5LWJ1ZmZlciAiaHlwZXJib2xlIg0KOzsgCSAgIkRp c3BsYXlzIGFuZCBzZWxlY3RzIEJVRkZFUiBhdCBvcHRpb25hbCBESVNQTEFZLVdIRVJFIGxvY2F0 aW9uIG9yIGF0IGBocGF0aDpkaXNwbGF5LXdoZXJlJy4iIHQpDQo7OyAoYXV0b2xvYWQgJ2hwYXRo OmZpbmQgICAgICAgICJoeXBlcmJvbGUiDQo7OyAJICAiRWRpdCBmaWxlIEZJTEVOQU1FLCBwb3Nz aWJseSB1c2luZyBhIHNwZWNpYWwgY29tbWFuZC4iIHQpDQo7OyAoYXV0b2xvYWQgJ2hwYXRoOmZp bmQtb3RoZXItZnJhbWUgImh5cGVyYm9sZSINCjs7IAkgICJFZGl0IGZpbGUgRklMRU5BTUUgaW4g b3RoZXIgZnJhbWUsIHBvc3NpYmx5IHVzaW5nIGEgc3BlY2lhbCBjb21tYW5kLiIgdCkNCjs7IChh dXRvbG9hZCAnaHBhdGg6ZmluZC1vdGhlci13aW5kb3cgImh5cGVyYm9sZSINCjs7IAkgICJFZGl0 IGZpbGUgRklMRU5BTUUgaW4gb3RoZXIgd2luZG93LCBwb3NzaWJseSB1c2luZyBhIHNwZWNpYWwg Y29tbWFuZC4iIHQpDQoNCjs7OyBBdXRvLWF1dG9sb2FkIGRvZXNuJ3Qgd29yayBmb3IgbmV4dCBp dGVtIGJlY2F1c2UgaXQgaXMgZGVmaW5lZA0KOzs7IHdpdGhpbiBhIGNvbmRpdGlvbi1jYXNlLCBz byBhdXRvbG9hZCBpdCBoZXJlLg0KKGF1dG9sb2FkICdWbS1pbml0ICAgICJodm0iICAgICJJbml0 aWFsaXplcyBIeXBlcmJvbGUgVm0gc3VwcG9ydC4iIHQpDQoNCjs7OyAqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioN Cjs7OyBPdXRsaW5lIE1vZGUgQWxpYXNlcw0KOzs7ICoqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KDQoocmVxdWly ZSAnb3V0bGluZSkNCih1bmxlc3MgKGZib3VuZHAgJ291dGxpbmUtaGlkZS1ib2R5KQ0KICAoZGVm YWxpYXMgJ291dGxpbmUtaGlkZS1ib2R5ICdoaWRlLWJvZHkpKQ0KKHVubGVzcyAoZmJvdW5kcCAn b3V0bGluZS1oaWRlLWVudHJ5KQ0KICAoZGVmYWxpYXMgJ291dGxpbmUtaGlkZS1lbnRyeSAnaGlk ZS1lbnRyeSkpDQoodW5sZXNzIChmYm91bmRwICdvdXRsaW5lLXNob3ctZW50cnkpDQogIChkZWZh bGlhcyAnb3V0bGluZS1zaG93LWVudHJ5ICdzaG93LWVudHJ5KSkNCih1bmxlc3MgKGZib3VuZHAg J291dGxpbmUtc2hvdy1hbGwpDQogIChkZWZhbGlhcyAnb3V0bGluZS1zaG93LWFsbCAnc2hvdy1h bGwpKQ0KKHVubGVzcyAoZmJvdW5kcCAnb3V0bGluZS1oaWRlLXN1YnRyZWUpDQogIChkZWZhbGlh cyAnb3V0bGluZS1oaWRlLXN1YnRyZWUgJ2hpZGUtc3VidHJlZSkpDQoodW5sZXNzIChmYm91bmRw ICdvdXRsaW5lLXNob3ctc3VidHJlZSkNCiAgKGRlZmFsaWFzICdvdXRsaW5lLXNob3ctc3VidHJl ZSAnc2hvdy1zdWJ0cmVlKSkNCih1bmxlc3MgKGZib3VuZHAgJ291dGxpbmUtZmxhZy1yZWdpb24p DQogIChkZWZ1biBvdXRsaW5lLWZsYWctcmVnaW9uIChmcm9tIHRvIGZsYWcpDQogICAgIkhpZGUg b3Igc2hvdyBsaW5lcyBmcm9tIEZST00gdG8gVE8sIGFjY29yZGluZyB0byBGTEFHLg0KSWYgRkxB RyBpcyBuaWwgdGhlbiB0ZXh0IGlzIHNob3duLCB3aGlsZSBpZiBGTEFHIGlzIHQgdGhlIHRleHQg aXMgaGlkZGVuLiINCiAgICAoaWYgZmxhZw0KCShzdWJzdC1jaGFyLWluLXJlZ2lvbiBmcm9tIHRv ID9cbiA/XHIgdCkNCiAgICAgIChzdWJzdC1jaGFyLWluLXJlZ2lvbiBmcm9tIHRvID9cciA/XG4g dCkpKSkNCih1bmxlc3MgKGZib3VuZHAgJ291dGxpbmUtaW52aXNpYmxlLWluLXApDQogIChkZWZ1 biBvdXRsaW5lLWludmlzaWJsZS1pbi1wIChiZWcgZW5kKQ0KICAgICJSZXR1cm4gdCBpZiB0aGVy ZSBpcyBhbiBpbnZpc2libGUgY2hhcmFjdGVyIGJldHdlZW4gQkVHIGFuZCBFTkQsIGVsc2Ugbmls LiINCiAgICAoY2F0Y2ggJ3Jlc3VsdA0KICAgICAgKGRlbHEgbmlsIChtYXBjYXIgKGxhbWJkYSAo bykNCgkJCSAgKGlmIChlcSAnb3V0bGluZSAob3ZlcmxheS1nZXQgbyAnaW52aXNpYmxlKSkNCgkJ CSAgICAgICh0aHJvdyAncmVzdWx0IHQpKSkNCgkJCShvdmVybGF5cy1pbiBiZWcgZW5kKSkpKSkp DQoNCjs7OyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioNCjs7OyBNZXNzYWdlIFN5c3RlbSBTdXBwb3J0IENvbmZp Z3VyYXRpb24NCjs7OyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCg0KOzsgRXZlbiBpZiB5b3UgZG9uJ3QgbmVl ZCBzb21lIG9mIHRoZSBmb2xsb3dpbmcgaG9vayBzZXR0aW5ncywgeW91IG1pZ2h0DQo7OyBhcyB3 ZWxsIGxlYXZlIHRoZW0gaW4gc28gdGhhdCBpZiB0aGV5IGV2ZXIgYmVjb21lIHVzZWZ1bCB0byB5 b3UsIHlvdQ0KOzsgbmVlZCBub3QgcmVjb25maWd1cmUgSHlwZXJib2xlLiAgVGhlc2Ugc2V0dGlu Z3MgZG8gbm90aGluZyBpZiB0aGUNCjs7IGNvcnJlc3BvbmRpbmcgc3Vic3lzdGVtcyBhcmUgbmV2 ZXIgaW52b2tlZC4NCjs7DQo7OyBHTlVTIFVTRU5FVCBuZXdzIHJlYWRlci9wb3N0ZXIgc3VwcG9y dC4NCjs7DQoodmFyOmFwcGVuZCAnZ251cy1TdGFydHVwLWhvb2sgJyhHbnVzLWluaXQpKQ0KOzsN Cjs7IEh5cGVyYm9sZSBtYWlsIHJlYWRlciBzdXBwb3J0IGNvbmZpZ3VyYXRpb24uDQo7Ow0KOzsg Um1haWwNCih2YXI6YXBwZW5kICdybWFpbC1tb2RlLWhvb2sgICAgJyhSbWFpbC1pbml0KSkNCjs7 IE1oLWUNCih2YXI6YXBwZW5kICdtaC1pbmMtZm9sZGVyLWhvb2sgJyhNaC1pbml0KSkNCjs7DQo7 OyBWTSBzdXBwb3J0IGlzIGJhc2VkIG9uIFY1LjcyIGJldGEgb2YgVk0uICBJZiB5b3UgaGF2ZSBh IHZlcnNpb24gb2YgVk0NCjs7IGVhcmxpZXIgdGhhbiA1LjcwIGJldGEsIHlvdSBzaG91bGQgZWl0 aGVyIHVwZ3JhZGUgb3IgY29tbWVudCBvdXQgdGhlDQo7OyBmb2xsb3dpbmcgbGluZSBzbyB0aGF0 IEh5cGVyYm9sZSBzdXBwb3J0IGZvciBWTSBpcyBub3QgZW5hYmxlZC4NCih2YXI6YXBwZW5kICd2 bS1tb2RlLWhvb2sgICAgICAgJyhWbS1pbml0KSkNCjs7DQo7OyBIeXBlcmJvbGUgbWFpbCBjb21w b3NlciBzdXBwb3J0IGNvbmZpZ3VyYXRpb24uDQo7Ow0KKHZhcjphcHBlbmQgJ21lc3NhZ2UtbW9k ZS1ob29rICAgKGxpc3QgKGxhbWJkYSAoKSAocmVxdWlyZSAnaHNtYWlsKSkpKQ0KKHZhcjphcHBl bmQgJ21oLWxldHRlci1tb2RlLWhvb2sgKGxpc3QgKGxhbWJkYSAoKSAocmVxdWlyZSAnaHNtYWls KSkpKQ0KKHZhcjphcHBlbmQgJ3ZtLW1haWwtbW9kZS1ob29rICAgKGxpc3QgKGxhbWJkYSAoKSAo cmVxdWlyZSAnaHNtYWlsKSkpKQ0KDQoNCjs7OyAqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCjs7OyBVUkwgQnJv d3NpbmcNCjs7OyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioNCg0KKHJlcXVpcmUgJ2Jyb3dzZS11cmwpDQoNCjs7 IFVzZSBhbnkgb2Jzb2xldGUgVVJMIHNldHRpbmcgZnJvbSBlYXJsaWVyIEh5cGVyYm9sZSByZWxl YXNlcyB0byBzZXQgdGhlDQo7OyBuZXcgVVJMIGJyb3dzaW5nIHZhcmlhYmxlLg0KKGlmIChhbmQg KGJvdW5kcCAnYWN0aW9uLWtleS11cmwtZnVuY3Rpb24pIGFjdGlvbi1rZXktdXJsLWZ1bmN0aW9u KQ0KICAgIChjb25kICgoZXEgYWN0aW9uLWtleS11cmwtZnVuY3Rpb24gJ3czLWZldGNoKQ0KCSAg IChzZXRxIGJyb3dzZS11cmwtYnJvd3Nlci1mdW5jdGlvbiAnYnJvd3NlLXVybC13MykpDQoJICAo KGVxIGFjdGlvbi1rZXktdXJsLWZ1bmN0aW9uDQoJICAgICAgICdoaWdobGlnaHQtaGVhZGVycy1m b2xsb3ctdXJsLW5ldHNjYXBlKQ0KCSAgIChzZXRxIGJyb3dzZS11cmwtYnJvd3Nlci1mdW5jdGlv biAnYnJvd3NlLXVybC1uZXRzY2FwZQ0KCQkgYnJvd3NlLXVybC1uZXctd2luZG93LWZsYWcgbmls KSkNCgkgICgoZXEgYWN0aW9uLWtleS11cmwtZnVuY3Rpb24NCgkgICAgICAgJ2hpZ2hsaWdodC1o ZWFkZXJzLWZvbGxvdy11cmwtbmV0c2NhcGUtbmV3LXdpbmRvdykNCgkgICAoc2V0cSBicm93c2Ut dXJsLWJyb3dzZXItZnVuY3Rpb24gJ2Jyb3dzZS11cmwtbmV0c2NhcGUNCgkJIGJyb3dzZS11cmwt bmV3LXdpbmRvdy1mbGFnIHQpKSkpDQoNCjs7OyAqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCjs7OyBMb2FkIFNp dGUtc3BlY2lmaWMgQ29uZmlndXJhdGlvbnMgYW5kIEluaXRpYWxpemUgSHlwZXJib2xlIFBhY2th Z2UNCjs7OyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioNCg0KKGRlZnVuIGh5cGVyYjppbml0ICgpDQogICJTdGFu ZGFyZCBjb25maWd1cmF0aW9uIHJvdXRpbmUgZm9yIEh5cGVyYm9sZS4iDQogIChpbnRlcmFjdGl2 ZSkNCiAgKG1lc3NhZ2UgIkluaXRpYWxpemluZyBIeXBlcmJvbGUuLi4iKQ0KICAocnVuLWhvb2tz ICdoeXBlcmJvbGUtaW5pdC1ob29rKQ0KICAoaHlwZXJiOmNoZWNrLWRpci11c2VyKQ0KICAob3Ig KHN0cmluZ3AgaHlwZXJiOnVzZXItZW1haWwpDQogICAgICAoc2V0cSBoeXBlcmI6dXNlci1lbWFp bA0KCSAgICAob3IgKGFuZCAoYm91bmRwICd1c2VyLW1haWwtYWRkcmVzcykNCgkJICAgICAoc3Ry aW5ncCB1c2VyLW1haWwtYWRkcmVzcykNCgkJICAgICAoc3RyaW5nLW1hdGNoICJAIiB1c2VyLW1h aWwtYWRkcmVzcykNCgkJICAgICB1c2VyLW1haWwtYWRkcmVzcykNCgkJKGNvbmNhdCAodXNlci1s b2dpbi1uYW1lKSAoaHlwYjpkb21haW4tbmFtZSkpKSkpDQogIDs7DQogIDs7IENvbmRpdGlvbmFs bHkgaW5pdGlhbGl6ZSBIeXBlcmJvbGUga2V5IGJpbmRpbmdzICh3aGVuIGhrZXktaW5pdCBpcyB0 KQ0KICAoaGtleS1pbml0aWFsaXplKQ0KICA7Ow0KICA7OyBBYmJyZXZpYXRlIE1TV2luZG93cyBt b3VudCBwb2ludCBwYXRocy4NCiAgKHdoZW4gKG9yIChmaWxlLWV4aXN0cy1wICIvbW50L2MiKQ0K CSAgICAoZmlsZS1leGlzdHMtcCAiL2N5Z2RyaXZlIikpDQogICAgKGFkZC10by1saXN0ICdkaXJl Y3RvcnktYWJicmV2LWFsaXN0ICcoIlxcYFxcKC9tbnRcXHwvY3lnZHJpdmVcXCkvIiAuICIvIikp KQ0KICA7OyBXaGVuIHJ1bm5pbmcgdW5kZXIgYSBQT1NJWCBzeXN0ZW0gd2l0aCBwb3NzaWJsZSBh Y2Nlc3MgdG8gTVNXaW5kb3dzIHNlcnZlcnMsDQogIDs7IGNhY2hlIHZhbGlkIE1TV2luZG93cyBt b3VudCBwb2ludHMuDQogIChocGF0aDpjYWNoZS1tc3dpbmRvd3MtbW91bnQtcG9pbnRzKQ0KICA7 Ow0KICA7OyBTYXZlIGJ1dHRvbiBhdHRyaWJ1dGUgZmlsZSB3aGVuZXZlciBzYW1lIGRpciBmaWxl IGlzIHNhdmVkIGFuZA0KICA7OyBgZWJ1dDpoYXR0ci1zYXZlJyBpcyBub24tbmlsLg0KICAoYWRk LWhvb2sgKGlmIChib3VuZHAgJ3dyaXRlLWZpbGUtZnVuY3Rpb25zKQ0KCQknd3JpdGUtZmlsZS1m dW5jdGlvbnMNCgkgICAgICAnd3JpdGUtZmlsZS1ob29rcykNCgkgICAgIydoYXR0cjpzYXZlIHQp DQogIDs7DQogIChoeXBlcmI6aW5pdC1tZW51YmFyKQ0KICA7Ow0KICA7OyBUaGlzIGluc3RhbGxz IGEgaG9vayB0aGF0IHJlbW92ZXMgYW55IGxvY2FsIGtleSBiaW5kaW5ncyB3aGljaA0KICA7OyBo aWRlIHRoZSBnbG9iYWwgQWN0aW9uIEtleSwgaWYgYGhrZXktaW5pdCcgYW5kDQogIDs7IGBoa2V5 LWluaXQtb3ZlcnJpZGUtbG9jYWwta2V5cycgYXJlIHQuICBUeXBpY2FsbHksIHRoZSBBY3Rpb24g S2V5DQogIDs7IHdpbGwgYmUgbXVjaCBtb3JlIHVzZWZ1bCB0aGFuIHRoZSBsb2NhbCBrZXkgYW55 d2F5LiAgU2V0dGluZw0KICA7OyBgaGtleS1pbml0LW92ZXJyaWRlLWxvY2FsLWtleXMnIHRvIG5p bCBhdCBhbnkgdGltZSwgd2lsbCBwcmV2ZW50DQogIDs7IHJlbW92YWwgb2YgZnVydGhlciBsb2Nh bCBiaW5kaW5ncy4NCiAgKGlmIChmZWF0dXJlcCAnaHlwZXJib2xlKQ0KICAgICAgKGhrZXktaW5z dGFsbC1vdmVycmlkZS1sb2NhbC1iaW5kaW5ncykNCiAgICAoYWRkLWhvb2sgJ2FmdGVyLWxvYWQt YWxpc3QgJyhoeXBlcmJvbGUgaGtleS1pbnN0YWxsLW92ZXJyaWRlLWxvY2FsLWJpbmRpbmdzKSkp DQogIDs7DQogIDs7IEh5cGVyYm9sZSBpbml0aWFsaXphdGlvbiBpcyBjb21wbGV0ZS4gDQogICht ZXNzYWdlICJJbml0aWFsaXppbmcgSHlwZXJib2xlLi4uZG9uZSIpDQogIChtZXNzYWdlICJIeXBl cmJvbGUgJXMgaXMgcmVhZHkgZm9yIGFjdGlvbi4iIGh5cGVyYjp2ZXJzaW9uKSkNCg0KOzsgVGhp cyBjYWxsIGxvYWRzIHRoZSByZXN0IG9mIHRoZSBIeXBlcmJvbGUgc3lzdGVtLg0KKHJlcXVpcmUg J2hpbml0KQ0KDQooaWYgYWZ0ZXItaW5pdC10aW1lDQogICAgOzsgVGhpcyBjYWxsIGluaXRpYWxp emVzIEh5cGVyYm9sZSBrZXkgYmluZGluZ3MgYW5kIGhvb2tzLg0KICAgIChoeXBlcmI6aW5pdCkN CiAgOzsgSW5pdGlhbGl6ZSBhZnRlciBvdGhlciBrZXkgYmluZGluZ3MgYXJlIGxvYWRlZCBhdCBz dGFydHVwLg0KICAoYWRkLWhvb2sgJ2FmdGVyLWluaXQtaG9vayAjJ2h5cGVyYjppbml0IHQpKQ0K DQoobWFrdW5ib3VuZCAnaHlwZXJib2xlLWxvYWRpbmcpDQoNCihwcm92aWRlICdoeXBlcmJvbGUp DQoNCjs7OyBoeXBlcmJvbGUuZWwgZW5kcyBoZXJlDQo= --_003_uarp1s061dnmfsfdvuadminnet_-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 06 23:38:27 2019 Received: (at 36107) by debbugs.gnu.org; 7 Jun 2019 03:38:27 +0000 Received: from localhost ([127.0.0.1]:51100 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZ5hz-0008Ug-GZ for submit@debbugs.gnu.org; Thu, 06 Jun 2019 23:38:27 -0400 Received: from eggs.gnu.org ([209.51.188.92]:53837) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZ5hy-0008UU-0G for 36107@debbugs.gnu.org; Thu, 06 Jun 2019 23:38:26 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:56569) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hZ5hr-0003yG-Gk for 36107@debbugs.gnu.org; Thu, 06 Jun 2019 23:38:19 -0400 Received: from mail-lf1-f48.google.com ([209.85.167.48]:33381) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1hZ5hq-0001zB-Oc for 36107@debbugs.gnu.org; Thu, 06 Jun 2019 23:38:19 -0400 Received: by mail-lf1-f48.google.com with SMTP id y17so501883lfe.0 for <36107@debbugs.gnu.org>; Thu, 06 Jun 2019 20:38:18 -0700 (PDT) X-Gm-Message-State: APjAAAXPHNcGtXBy+EGLl7tug9n/Xrea8IxMc4gzGr+BWo6FUwHYeail Zru02C3BSBR2kwzqc70dXNidQeHq8AqRI55WBQk= X-Google-Smtp-Source: APXvYqz2s1GYj8TXk+4dPZlaa14k0ZG1p2YX/1NyjFrKO/4lqi1g1uOm2XHJh9+RPvx5e9g2xrQaOi0fkOQD3ENnf2g= X-Received: by 2002:a19:3f16:: with SMTP id m22mr24760491lfa.104.1559878697447; Thu, 06 Jun 2019 20:38:17 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Robert Weiner Date: Thu, 6 Jun 2019 23:37:51 -0400 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) To: Eric Bemiller Content-Type: multipart/alternative; boundary="000000000000a77560058ab38f71" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 36107 Cc: Lidell Mats , "36107@debbugs.gnu.org" <36107@debbugs.gnu.org>, Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: rswgnu@gmail.com Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --000000000000a77560058ab38f71 Content-Type: text/plain; charset="UTF-8" On Thu, Jun 6, 2019 at 7:45 PM Eric Bemiller wrote: > > Sure thing -- hopefully they're attached. These are a fresh download > from elpa.gnu.org Ok, that helped show what is going on. You apparently are not downloading release 7.0.3 but the head of the elpa git tree which includes a bunch of additional changes that Stefan M. made for potential future use, as you can see here: http://git.savannah.gnu.org/gitweb/?p=emacs/elpa.git;a=shortlog;h=refs/heads/externals/hyperbole So instead, don't use any form of git, just install Hyperbole from the package manager after getting rid of all other versions and you will get version 7.0.3 (confirmed today). Then apply that one patch I sent you. Bob --000000000000a77560058ab38f71 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Thu, Jun 6, 2019 at 7:45 PM Eric Bemiller <d40547914@dvuadmin.net> wrote:
<= /div>

Sure thing -- hopefully they're attached. These are a fresh download from e= lpa.gnu.org

Ok, that helped show what is going o= n.=C2=A0 You apparently are not downloading release 7.0.3 but the head of t= he elpa git tree which includes a bunch of additional changes that Stefan M= . made for potential future use, as you can see here:


So instead, don't use any form o= f git, just install Hyperbole from the package manager after getting rid of= all other versions and you will get version 7.0.3 (confirmed today).=C2=A0= Then apply that one patch I sent you.

Bob
=C2=A0
--000000000000a77560058ab38f71-- From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 07 10:27:36 2019 Received: (at 36107) by debbugs.gnu.org; 7 Jun 2019 14:27:36 +0000 Received: from localhost ([127.0.0.1]:52224 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZFqB-0005hP-GZ for submit@debbugs.gnu.org; Fri, 07 Jun 2019 10:27:36 -0400 Received: from mail-eopbgr810128.outbound.protection.outlook.com ([40.107.81.128]:12562 helo=NAM01-BY2-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZEnW-0003xi-KS for 36107@debbugs.gnu.org; Fri, 07 Jun 2019 09:20:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chamberlain.edu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/N5dzYQGYVcC4IPcJxQgKrWRi/0UXulGiCufWYpbJqA=; b=jV0Oa+ghy4ipwkUMo2lpj4iw5Hs1L8m68XZy0OTUVrdOwURJ/M9SNfRyOQ4AL+CSk1bCpdKo5UDmy0OSNFeJmDLBXHg92AO5wKZYwYBlmfW0rTH/pEEwsB1wkYVtumgec7Yvo4c8ZgxcuGM6MnWzFeTC8M7xvx0wZqOIsMnaT50= Received: from MN2PR05MB5999.namprd05.prod.outlook.com (20.178.244.83) by MN2PR05MB6269.namprd05.prod.outlook.com (20.178.243.95) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1987.7; Fri, 7 Jun 2019 13:20:39 +0000 Received: from MN2PR05MB5999.namprd05.prod.outlook.com ([fe80::fdb1:1f9d:89d0:50e9]) by MN2PR05MB5999.namprd05.prod.outlook.com ([fe80::fdb1:1f9d:89d0:50e9%7]) with mapi id 15.20.1965.011; Fri, 7 Jun 2019 13:20:39 +0000 From: "Bemiller, Eric Timothy" To: "36107@debbugs.gnu.org" <36107@debbugs.gnu.org>, Stefan Monnier , Lidell Mats , "rswgnu@gmail.com" Subject: RE: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) Thread-Topic: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) Thread-Index: AdUdM4spyOraHp8ISBmKYJcTEoVnXA== Date: Fri, 7 Jun 2019 13:20:39 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=EBemiller@chamberlain.edu; x-originating-ip: [2606:a000:120a:c214:9866:6e35:9c0:9480] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ec66df9d-1358-496b-edae-08d6eb4aef58 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:MN2PR05MB6269; x-ms-traffictypediagnostic: MN2PR05MB6269: x-ms-exchange-purlcount: 4 x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-forefront-prvs: 0061C35778 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(396003)(376002)(366004)(346002)(39860400002)(189003)(199004)(88552002)(9686003)(81156014)(7696005)(33656002)(53936002)(86362001)(5660300002)(52536014)(476003)(2906002)(46003)(99286004)(71190400001)(71200400001)(72206003)(966005)(5024004)(102836004)(6436002)(7736002)(14454004)(486006)(6246003)(53546011)(256004)(8676002)(6506007)(305945005)(110136005)(6306002)(229853002)(25786009)(81166006)(55016002)(74316002)(66556008)(73956011)(68736007)(75432002)(66946007)(64756008)(66476007)(66446008)(76116006)(786003)(186003)(80792005)(6116002)(8936002)(478600001)(2501003)(316002); DIR:OUT; SFP:1102; SCL:1; SRVR:MN2PR05MB6269; H:MN2PR05MB5999.namprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: chamberlain.edu does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: bZ41FTUGjyKP5OoUB7FkleaYP5BBXe6w8grL11uDUGyZhd7RpA4M9YdSRq0LMBd+FfM92my8vRDDTPiZybiScRybbJzMEXxMNOY1tpEiBiioQYC+QBkHlF535EYvUe95VZ+sNcl2bV19DwWRb857sH/GpYamFZrP0FKi+DwNf8nvAdLxvYR3eOpsbf8mTtdwm0YIouYe0SdlbBzI4rY1C33FjRBsRDk7KgPh7t1W1C8RSTLcFKVKlCZe7TSfNUVA6ezNMisEiPO/zw+toa3rVCOCDVBca239PHLc+DZbGU/J+2QGlYdwf1ouGIHUQLKHvT6+r+f92JMxyxPODA74T04kqlIKvEJj3aq0KTSysftAEz+ctMlO/urvQTfYFDVRyDrrS27a3MN1I4In5wzG/BTOY9pHpE9nqTvmZQ44c4g= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: chamberlain.edu X-MS-Exchange-CrossTenant-Network-Message-Id: ec66df9d-1358-496b-edae-08d6eb4aef58 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Jun 2019 13:20:39.2865 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 97fb1a07-66ed-4983-98cd-2b41977edc25 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: D40547914@dvuadmin.net X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR05MB6269 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 36107 X-Mailman-Approved-At: Fri, 07 Jun 2019 10:27:34 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) I didn't reply all on the below -- whoops! I'm laughing here, because I've been on your side of conversations like thi= s a dozen times. Unfortunately, I don't use git. The two files I sent over come from the cod= e that's installed by the package manager directly. To get them, I moved my= actual `.emacs.d` folder somewhere else, created a new `.emacs.d` folder c= ontaining an init that had only this in it: (require 'package) (setq package-enable-at-startup nil) ;; Prevent double loading of lib= raries (package-initialize) (unless (package-installed-p 'hyperbole) (package-refresh-contents) (package-install 'hyperbole)) (require 'hyperbole) And then started Emacs as normal. I tested this exact procedure again this morning, and although for whatever= reason I got a couple of bad signature errors from elpa.gnu.org, the same = set of files with the same missing stuff came down. I swear I'm not *trying* to be frustrating! Sorry! Addition: I checked the savannah link that's on the Hyperbole page (https:/= /git.savannah.gnu.org/cgit/hyperbole.git/tree/, linked from the "ftp and gi= t" section) and the `hypb.el` in there seems to be the same incomplete one = I'm getting from the package manager: https://git.savannah.gnu.org/cgit/hyperbole.git/tree/hbut.el=20 Thanks again for looking into all this stuff! ________________________________________ From: Robert Weiner Sent: Thursday, June 6, 2019 11:37 PM To: Bemiller, Eric Timothy Cc: 36107@debbugs.gnu.org; Stefan Monnier; Lidell Mats Subject: Re: bug#36107: Global Buttons Stop Functioning When Current Workin= g Directory Changes (Forgot the Subject!) On Thu, Jun 6, 2019 at 7:45 PM Eric Bemiller > wrote: Sure thing -- hopefully they're attached. These are a fresh download from e= lpa.gnu.org Ok, that helped show what is going on. You apparently are not downloading = release 7.0.3 but the head of the elpa git tree which includes a bunch of a= dditional changes that Stefan M. made for potential future use, as you can = see here: http://git.savannah.gnu.org/gitweb/?p=3Demacs/elpa.git;a=3Dshortlog;h=3Dref= s/heads/externals/hyperbole So instead, don't use any form of git, just install Hyperbole from the pack= age manager after getting rid of all other versions and you will get versio= n 7.0.3 (confirmed today). Then apply that one patch I sent you. Bob From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 07 12:58:54 2019 Received: (at 36107) by debbugs.gnu.org; 7 Jun 2019 16:58:54 +0000 Received: from localhost ([127.0.0.1]:52318 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZICY-0000me-Tf for submit@debbugs.gnu.org; Fri, 07 Jun 2019 12:58:54 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43245) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZICX-0000mR-1j for 36107@debbugs.gnu.org; Fri, 07 Jun 2019 12:58:49 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:52123) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hZICQ-0006Fh-5l for 36107@debbugs.gnu.org; Fri, 07 Jun 2019 12:58:43 -0400 Received: from mail-lj1-f176.google.com ([209.85.208.176]:36910) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1hZICJ-0000fS-S2 for 36107@debbugs.gnu.org; Fri, 07 Jun 2019 12:58:38 -0400 Received: by mail-lj1-f176.google.com with SMTP id 131so2360402ljf.4 for <36107@debbugs.gnu.org>; Fri, 07 Jun 2019 09:58:35 -0700 (PDT) X-Gm-Message-State: APjAAAXB+bHKk5CHH8pPMHyexqVqr8GDJAghJ8HcWUyclsFjkF5LviyY /R/4efUDxjtf/80enG9Uc+dq6waJKVXbSmpcqpY= X-Google-Smtp-Source: APXvYqzLNKGvjANYBJG7w7GbMexl8AcjeCsAC6anj5vw22IxHIw+IaP/OCi7TtDH7W2k2HaeIvSeBdRLzx6SwxhP+lA= X-Received: by 2002:a2e:2b19:: with SMTP id q25mr9222402lje.127.1559926714437; Fri, 07 Jun 2019 09:58:34 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Robert Weiner Date: Fri, 7 Jun 2019 12:58:08 -0400 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) To: "Bemiller, Eric Timothy" Content-Type: multipart/alternative; boundary="000000000000b09698058abebd76" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 36107 Cc: Lidell Mats , "36107@debbugs.gnu.org" <36107@debbugs.gnu.org>, Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: rswgnu@gmail.com Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --000000000000b09698058abebd76 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Jun 7, 2019 at 9:20 AM Bemiller, Eric Timothy < EBemiller@chamberlain.edu> wrote: > I didn't reply all on the below -- whoops! > > I'm laughing here, because I've been on your side of conversations like > this a dozen times. > > Unfortunately, I don't use git. The two files I sent over come from the > code that's installed by the package manager directly. You are not getting Hyperbole V7.0.3 even though the version says that. You must have something in your initializations that is pointing somewhere that says, "Give me the latest code from Elpa" rather than "give me the code published with the latest release number". Please send the value of the 'package-archives' variable, so we can see from where your packages are coming. Mine that gets me the right code looks like: package-archives is a variable defined in =E2=80=98package.el=E2=80=99. Its value is (("gnu" . "https://elpa.gnu.org/packages/") ("melpa" . "https://melpa.org/packages/")) Original value was (("gnu" . "https://elpa.gnu.org/packages/")) Bob To get them, I moved my actual `.emacs.d` folder somewhere else, created a > new `.emacs.d` folder containing an init that had only this in it: > > (require 'package) > (setq package-enable-at-startup nil) ;; Prevent double loading of > libraries > (package-initialize) > (unless (package-installed-p 'hyperbole) > (package-refresh-contents) > (package-install 'hyperbole)) > (require 'hyperbole) > > And then started Emacs as normal. > > I tested this exact procedure again this morning, and although for > whatever reason I got a couple of bad signature errors from elpa.gnu.org, > the same set of files with the same missing stuff came down. > > I swear I'm not *trying* to be frustrating! Sorry! > > Addition: I checked the savannah link that's on the Hyperbole page ( > https://git.savannah.gnu.org/cgit/hyperbole.git/tree/, linked from the > "ftp and git" section) and the `hypb.el` in there seems to be the same > incomplete one I'm getting from the package manager: > > https://git.savannah.gnu.org/cgit/hyperbole.git/tree/hbut.el > > Thanks again for looking into all this stuff! > ________________________________________ > From: Robert Weiner > Sent: Thursday, June 6, 2019 11:37 PM > To: Bemiller, Eric Timothy > Cc: 36107@debbugs.gnu.org; Stefan Monnier; Lidell Mats > Subject: Re: bug#36107: Global Buttons Stop Functioning When Current > Working Directory Changes (Forgot the Subject!) > > On Thu, Jun 6, 2019 at 7:45 PM Eric Bemiller > wrote: > > Sure thing -- hopefully they're attached. These are a fresh download from > elpa.gnu.org > > Ok, that helped show what is going on. You apparently are not downloadin= g > release 7.0.3 but the head of the elpa git tree which includes a bunch of > additional changes that Stefan M. made for potential future use, as you c= an > see here: > > > http://git.savannah.gnu.org/gitweb/?p=3Demacs/elpa.git;a=3Dshortlog;h=3Dr= efs/heads/externals/hyperbole > > So instead, don't use any form of git, just install Hyperbole from the > package manager after getting rid of all other versions and you will get > version 7.0.3 (confirmed today). Then apply that one patch I sent you. > > Bob > > --000000000000b09698058abebd76 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Fri, Jun 7, 2019 at 9:20 AM Bemiller, Eric Timothy <EBemiller@chamberla= in.edu> wrote:
I didn't reply all on the= below -- whoops!

I'm laughing here, because I've been on your side of conversations = like this a dozen times.

Unfortunately, I don't use git. The two files I sent over come from the= code that's installed by the package manager directly.
You are not getting Hyperbole V7.0.3 even though the version says t= hat.=C2=A0 You must have something in your initializations that is pointing= somewhere that says, "Give me the latest code from Elpa" rather = than "give me the code published with the latest release number".= =C2=A0 Please send the value of
the 'package-archives' variable, s= o we can see from where your packages are coming.

Mine that gets me = the right code looks like:

package-archives is a variable defined in= =E2=80=98package.el=E2=80=99.
Its value is
(("gnu" . "= ;https://elpa.gnu.org/packages/<= /a>")
=C2=A0("melpa" . "
https://melpa.org/packages/"))
Original value was <= br>(("gnu" . "htt= ps://elpa.gnu.org/packages/"))

Bob


To get them, I moved my actu= al `.emacs.d` folder somewhere else, created a new `.emacs.d` folder contai= ning an init that had only this in it:

(require 'package)
=C2=A0 =C2=A0 =C2=A0 (setq package-enable-at-startup nil) ;; Prevent double= loading of libraries
=C2=A0 =C2=A0 =C2=A0 (package-initialize)
=C2=A0 =C2=A0 =C2=A0 (unless (package-installed-p 'hyperbole)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 (package-refresh-contents)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 (package-install 'hyperbole))
=C2=A0 =C2=A0 =C2=A0 (require 'hyperbole)

And then started Emacs as normal.

I tested this exact procedure again this morning, and although for whatever= reason I got a couple of bad signature errors from elpa.gnu.org, the same se= t of files with the same missing stuff came down.

I swear I'm not *trying* to be frustrating! Sorry!

Addition: I checked the savannah link that's on the Hyperbole page (https://git.savannah.gnu.org/cgit/hyperbole.git/tr= ee/, linked from the "ftp and git" section) and the `hypb.el`= in there seems to be the same incomplete one I'm getting from the pack= age manager:

https://git.savannah.gnu.org/cgit/hyperb= ole.git/tree/hbut.el

Thanks again for looking into all this stuff!
________________________________________
From: Robert Weiner <rs= w@gnu.org>
Sent: Thursday, June 6, 2019 11:37 PM
To: Bemiller, Eric Timothy
Cc: 36107@debbug= s.gnu.org; Stefan Monnier; Lidell Mats
Subject: Re: bug#36107: Global Buttons Stop Functioning When Current Workin= g Directory Changes (Forgot the Subject!)

On Thu, Jun 6, 2019 at 7:45 PM Eric Bemiller <d40547914@dvuadmin.net<mailto:d40547914@dvuadmin.= net>> wrote:

Sure thing -- hopefully they're attached. These are a fresh download fr= om elp= a.gnu.org<http://elpa.gnu.org>

Ok, that helped show what is going on.=C2=A0 You apparently are not downloa= ding release 7.0.3 but the head of the elpa git tree which includes a bunch= of additional changes that Stefan M. made for potential future use, as you= can see here:

http://git.savannah.gnu.org/gitweb/?p=3Demacs/elpa.git;a=3Dshortlog;h=3Dr= efs/heads/externals/hyperbole

So instead, don't use any form of git, just install Hyperbole from the = package manager after getting rid of all other versions and you will get ve= rsion 7.0.3 (confirmed today).=C2=A0 Then apply that one patch I sent you.<= br>
Bob

--000000000000b09698058abebd76-- From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 07 13:22:25 2019 Received: (at 36107) by debbugs.gnu.org; 7 Jun 2019 17:22:25 +0000 Received: from localhost ([127.0.0.1]:52345 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZIZM-0001M1-EJ for submit@debbugs.gnu.org; Fri, 07 Jun 2019 13:22:25 -0400 Received: from mail-eopbgr760102.outbound.protection.outlook.com ([40.107.76.102]:65230 helo=NAM02-CY1-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZIPw-00017q-Gc for 36107@debbugs.gnu.org; Fri, 07 Jun 2019 13:12:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chamberlain.edu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Dh9TpE+3VWlj+ydxMNiFeIp/2GX044GJzyhBCL+7LeE=; b=kudWkUTa9kw7argfrW3pJX0u0pwEoWHRd62tTcAT+Z+gOnqoXgy/RzAjlN/ihW6XTmteOa1aup2dyTrF+D7y4G8kipHj3t0JrzFSAXvh0DLeJOeNDVhG/m8iWigIa3vSibAIF/AZj9+khW1oAyn3z+26RXf7jv9P4dr3bqNWwCE= Received: from MN2PR05MB5999.namprd05.prod.outlook.com (20.178.244.83) by MN2PR05MB6126.namprd05.prod.outlook.com (20.178.244.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1965.12; Fri, 7 Jun 2019 17:12:33 +0000 Received: from MN2PR05MB5999.namprd05.prod.outlook.com ([fe80::fdb1:1f9d:89d0:50e9]) by MN2PR05MB5999.namprd05.prod.outlook.com ([fe80::fdb1:1f9d:89d0:50e9%7]) with mapi id 15.20.1965.011; Fri, 7 Jun 2019 17:12:33 +0000 From: "Bemiller, Eric Timothy" To: "rswgnu@gmail.com" Subject: RE: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) Thread-Topic: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) Thread-Index: AdUdM4spyOraHp8ISBmKYJcTEoVnXAAHqM4AAABPj6A= Date: Fri, 7 Jun 2019 17:12:33 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=EBemiller@chamberlain.edu; x-originating-ip: [2606:a000:120a:c214:9866:6e35:9c0:9480] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0fd68347-32f4-42d5-66dc-08d6eb6b54c2 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(49563074)(7193020); SRVR:MN2PR05MB6126; x-ms-traffictypediagnostic: MN2PR05MB6126: x-ms-exchange-purlcount: 9 x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:949; x-forefront-prvs: 0061C35778 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(366004)(136003)(346002)(39860400002)(376002)(396003)(189003)(199004)(33656002)(478600001)(99936001)(99286004)(1411001)(786003)(66446008)(606006)(2906002)(66556008)(8936002)(7696005)(14454004)(6306002)(446003)(54896002)(486006)(66616009)(9686003)(53936002)(186003)(64756008)(5660300002)(76116006)(8676002)(73956011)(55016002)(74316002)(2351001)(236005)(229853002)(66476007)(54906003)(66946007)(46003)(76176011)(1361003)(25786009)(52536014)(7736002)(71200400001)(966005)(86362001)(4326008)(476003)(2501003)(316002)(11346002)(81166006)(1730700003)(68736007)(6916009)(5024004)(53386004)(80792005)(75432002)(6436002)(256004)(71190400001)(5640700003)(6246003)(790700001)(6116002)(6506007)(53546011)(102836004)(81156014)(88552002)(72206003)(547064002); DIR:OUT; SFP:1102; SCL:1; SRVR:MN2PR05MB6126; H:MN2PR05MB5999.namprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: chamberlain.edu does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: on0R5YKydaZBg4h20nuD2QSYGY3eqNATeRW/mxjCdpBZIebvWRDysVJdc2IdE1dwTanlK+3l6kuZnMjh4+fO1g3hbR/AbjHpmLJXNGVBSKXc/903E3Yh8l//5YwwJ5VR+TdTZXRCg4x6OcKOVE4CvoUSlffXyMe8Qq0NjBfacLKy5mzzWSbsV2FvErS22cKA1ch/D+XyCVnPMeQqjaw+h+6xEy01pZiI1E8l65PFlVWN7UoDQ5lixIrQjB8x2ZsHjlAYhgBEMvdM5hYblOfp/kw9oLmW7vj/hd2wATaxwRn0Up9Q0hPJqOphSK1IE17bq7njslHn2PmFVfllPfZo1YqoLEr0iRe3GbujeW4mxiuAkRDu4kI/a3wSfoB7cPFmoE5/s/Ol0riVr/CByOU20AJAXDjWyFX0ZQJtCA1bsww= Content-Type: multipart/mixed; boundary="_004_MN2PR05MB599962BBA087DDA6512D53D8A9100MN2PR05MB5999namp_" MIME-Version: 1.0 X-OriginatorOrg: chamberlain.edu X-MS-Exchange-CrossTenant-Network-Message-Id: 0fd68347-32f4-42d5-66dc-08d6eb6b54c2 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Jun 2019 17:12:33.3919 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 97fb1a07-66ed-4983-98cd-2b41977edc25 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: D40547914@dvuadmin.net X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR05MB6126 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 36107 X-Mailman-Approved-At: Fri, 07 Jun 2019 13:22:21 -0400 Cc: Lidell Mats , "36107@debbugs.gnu.org" <36107@debbugs.gnu.org>, Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --_004_MN2PR05MB599962BBA087DDA6512D53D8A9100MN2PR05MB5999namp_ Content-Type: multipart/alternative; boundary="_000_MN2PR05MB599962BBA087DDA6512D53D8A9100MN2PR05MB5999namp_" --_000_MN2PR05MB599962BBA087DDA6512D53D8A9100MN2PR05MB5999namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 U3VyZSEgVXNpbmcgb25seSB0aGUgYXR0YWNoZWQgaW5pdCDigJMgd2hpY2ggbGl0ZXJhbGx5IGp1 c3QgbG9hZHMgSHlwZXJib2xlIC0tIEkgcHVsbCB0aGUgaW5jb21wbGV0ZSB2ZXJzaW9ucyBvZiB0 aG9zZSBmaWxlcyBmcm9tIGVscGEuZ251Lm9yZw0KDQpBbmQgaGVyZeKAmXMgdGhlIHZhbHVlIG9m IG15IGBwYWNrYWdlLWFyY2hpdmVzYCB3aGVuIHJ1bm5pbmcgdGhhdCBpbml0Og0KDQpwYWNrYWdl LWFyY2hpdmVzIGlzIGEgdmFyaWFibGUgZGVmaW5lZCBpbiDigJhwYWNrYWdlLmVs4oCZLg0KSXRz IHZhbHVlIGlzICgoImdudSIgLiAiaHR0cHM6Ly9lbHBhLmdudS5vcmcvcGFja2FnZXMvIikpDQoN CknigJltIG9uIGEgc3RvY2sgdmVyc2lvbiBvZiBFbWFjcyBpbnN0YWxsZWQgZnJvbSB0aGUgRW1h Y3Mgc2l0ZSwgcnVubmluZyByZWd1bGFyIFdpbmRvd3MgMTAuDQoNCkZyb206IFJvYmVydCBXZWlu ZXIgPHJzd0BnbnUub3JnPg0KU2VudDogRnJpZGF5LCBKdW5lIDcsIDIwMTkgMTI6NTggUE0NClRv OiBCZW1pbGxlciwgRXJpYyBUaW1vdGh5IDxFQmVtaWxsZXJAY2hhbWJlcmxhaW4uZWR1Pg0KQ2M6 IDM2MTA3QGRlYmJ1Z3MuZ251Lm9yZzsgU3RlZmFuIE1vbm5pZXIgPG1vbm5pZXJAaXJvLnVtb250 cmVhbC5jYT47IExpZGVsbCBNYXRzIDxtYXRzbEBnbnUub3JnPg0KU3ViamVjdDogUmU6IGJ1ZyMz NjEwNzogR2xvYmFsIEJ1dHRvbnMgU3RvcCBGdW5jdGlvbmluZyBXaGVuIEN1cnJlbnQgV29ya2lu ZyBEaXJlY3RvcnkgQ2hhbmdlcyAoRm9yZ290IHRoZSBTdWJqZWN0ISkNCg0KT24gRnJpLCBKdW4g NywgMjAxOSBhdCA5OjIwIEFNIEJlbWlsbGVyLCBFcmljIFRpbW90aHkgPEVCZW1pbGxlckBjaGFt YmVybGFpbi5lZHU8bWFpbHRvOkVCZW1pbGxlckBjaGFtYmVybGFpbi5lZHU+PiB3cm90ZToNCkkg ZGlkbid0IHJlcGx5IGFsbCBvbiB0aGUgYmVsb3cgLS0gd2hvb3BzIQ0KDQpJJ20gbGF1Z2hpbmcg aGVyZSwgYmVjYXVzZSBJJ3ZlIGJlZW4gb24geW91ciBzaWRlIG9mIGNvbnZlcnNhdGlvbnMgbGlr ZSB0aGlzIGEgZG96ZW4gdGltZXMuDQoNClVuZm9ydHVuYXRlbHksIEkgZG9uJ3QgdXNlIGdpdC4g VGhlIHR3byBmaWxlcyBJIHNlbnQgb3ZlciBjb21lIGZyb20gdGhlIGNvZGUgdGhhdCdzIGluc3Rh bGxlZCBieSB0aGUgcGFja2FnZSBtYW5hZ2VyIGRpcmVjdGx5Lg0KDQpZb3UgYXJlIG5vdCBnZXR0 aW5nIEh5cGVyYm9sZSBWNy4wLjMgZXZlbiB0aG91Z2ggdGhlIHZlcnNpb24gc2F5cyB0aGF0LiAg WW91IG11c3QgaGF2ZSBzb21ldGhpbmcgaW4geW91ciBpbml0aWFsaXphdGlvbnMgdGhhdCBpcyBw b2ludGluZyBzb21ld2hlcmUgdGhhdCBzYXlzLCAiR2l2ZSBtZSB0aGUgbGF0ZXN0IGNvZGUgZnJv bSBFbHBhIiByYXRoZXIgdGhhbiAiZ2l2ZSBtZSB0aGUgY29kZSBwdWJsaXNoZWQgd2l0aCB0aGUg bGF0ZXN0IHJlbGVhc2UgbnVtYmVyIi4gIFBsZWFzZSBzZW5kIHRoZSB2YWx1ZSBvZg0KdGhlICdw YWNrYWdlLWFyY2hpdmVzJyB2YXJpYWJsZSwgc28gd2UgY2FuIHNlZSBmcm9tIHdoZXJlIHlvdXIg cGFja2FnZXMgYXJlIGNvbWluZy4NCg0KTWluZSB0aGF0IGdldHMgbWUgdGhlIHJpZ2h0IGNvZGUg bG9va3MgbGlrZToNCg0KcGFja2FnZS1hcmNoaXZlcyBpcyBhIHZhcmlhYmxlIGRlZmluZWQgaW4g 4oCYcGFja2FnZS5lbOKAmS4NCkl0cyB2YWx1ZSBpcw0KKCgiZ251IiAuICJodHRwczovL2VscGEu Z251Lm9yZy9wYWNrYWdlcy8iKQ0KICgibWVscGEiIC4gImh0dHBzOi8vbWVscGEub3JnL3BhY2th Z2VzLyIpKQ0KT3JpZ2luYWwgdmFsdWUgd2FzDQooKCJnbnUiIC4gImh0dHBzOi8vZWxwYS5nbnUu b3JnL3BhY2thZ2VzLyIpKQ0KDQpCb2INCg0KDQpUbyBnZXQgdGhlbSwgSSBtb3ZlZCBteSBhY3R1 YWwgYC5lbWFjcy5kYCBmb2xkZXIgc29tZXdoZXJlIGVsc2UsIGNyZWF0ZWQgYSBuZXcgYC5lbWFj cy5kYCBmb2xkZXIgY29udGFpbmluZyBhbiBpbml0IHRoYXQgaGFkIG9ubHkgdGhpcyBpbiBpdDoN Cg0KKHJlcXVpcmUgJ3BhY2thZ2UpDQogICAgICAoc2V0cSBwYWNrYWdlLWVuYWJsZS1hdC1zdGFy dHVwIG5pbCkgOzsgUHJldmVudCBkb3VibGUgbG9hZGluZyBvZiBsaWJyYXJpZXMNCiAgICAgIChw YWNrYWdlLWluaXRpYWxpemUpDQogICAgICAodW5sZXNzIChwYWNrYWdlLWluc3RhbGxlZC1wICdo eXBlcmJvbGUpDQogICAgICAgIChwYWNrYWdlLXJlZnJlc2gtY29udGVudHMpDQogICAgICAgIChw YWNrYWdlLWluc3RhbGwgJ2h5cGVyYm9sZSkpDQogICAgICAocmVxdWlyZSAnaHlwZXJib2xlKQ0K DQpBbmQgdGhlbiBzdGFydGVkIEVtYWNzIGFzIG5vcm1hbC4NCg0KSSB0ZXN0ZWQgdGhpcyBleGFj dCBwcm9jZWR1cmUgYWdhaW4gdGhpcyBtb3JuaW5nLCBhbmQgYWx0aG91Z2ggZm9yIHdoYXRldmVy IHJlYXNvbiBJIGdvdCBhIGNvdXBsZSBvZiBiYWQgc2lnbmF0dXJlIGVycm9ycyBmcm9tIGVscGEu Z251Lm9yZzxodHRwOi8vZWxwYS5nbnUub3JnPiwgdGhlIHNhbWUgc2V0IG9mIGZpbGVzIHdpdGgg dGhlIHNhbWUgbWlzc2luZyBzdHVmZiBjYW1lIGRvd24uDQoNCkkgc3dlYXIgSSdtIG5vdCAqdHJ5 aW5nKiB0byBiZSBmcnVzdHJhdGluZyEgU29ycnkhDQoNCkFkZGl0aW9uOiBJIGNoZWNrZWQgdGhl IHNhdmFubmFoIGxpbmsgdGhhdCdzIG9uIHRoZSBIeXBlcmJvbGUgcGFnZSAoaHR0cHM6Ly9naXQu c2F2YW5uYWguZ251Lm9yZy9jZ2l0L2h5cGVyYm9sZS5naXQvdHJlZS8sIGxpbmtlZCBmcm9tIHRo ZSAiZnRwIGFuZCBnaXQiIHNlY3Rpb24pIGFuZCB0aGUgYGh5cGIuZWxgIGluIHRoZXJlIHNlZW1z IHRvIGJlIHRoZSBzYW1lIGluY29tcGxldGUgb25lIEknbSBnZXR0aW5nIGZyb20gdGhlIHBhY2th Z2UgbWFuYWdlcjoNCg0KaHR0cHM6Ly9naXQuc2F2YW5uYWguZ251Lm9yZy9jZ2l0L2h5cGVyYm9s ZS5naXQvdHJlZS9oYnV0LmVsDQoNClRoYW5rcyBhZ2FpbiBmb3IgbG9va2luZyBpbnRvIGFsbCB0 aGlzIHN0dWZmIQ0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KRnJv bTogUm9iZXJ0IFdlaW5lciA8cnN3QGdudS5vcmc8bWFpbHRvOnJzd0BnbnUub3JnPj4NClNlbnQ6 IFRodXJzZGF5LCBKdW5lIDYsIDIwMTkgMTE6MzcgUE0NClRvOiBCZW1pbGxlciwgRXJpYyBUaW1v dGh5DQpDYzogMzYxMDdAZGViYnVncy5nbnUub3JnPG1haWx0bzozNjEwN0BkZWJidWdzLmdudS5v cmc+OyBTdGVmYW4gTW9ubmllcjsgTGlkZWxsIE1hdHMNClN1YmplY3Q6IFJlOiBidWcjMzYxMDc6 IEdsb2JhbCBCdXR0b25zIFN0b3AgRnVuY3Rpb25pbmcgV2hlbiBDdXJyZW50IFdvcmtpbmcgRGly ZWN0b3J5IENoYW5nZXMgKEZvcmdvdCB0aGUgU3ViamVjdCEpDQoNCk9uIFRodSwgSnVuIDYsIDIw MTkgYXQgNzo0NSBQTSBFcmljIEJlbWlsbGVyIDxkNDA1NDc5MTRAZHZ1YWRtaW4ubmV0PG1haWx0 bzpkNDA1NDc5MTRAZHZ1YWRtaW4ubmV0PjxtYWlsdG86ZDQwNTQ3OTE0QGR2dWFkbWluLm5ldDxt YWlsdG86ZDQwNTQ3OTE0QGR2dWFkbWluLm5ldD4+PiB3cm90ZToNCg0KU3VyZSB0aGluZyAtLSBo b3BlZnVsbHkgdGhleSdyZSBhdHRhY2hlZC4gVGhlc2UgYXJlIGEgZnJlc2ggZG93bmxvYWQgZnJv bSBlbHBhLmdudS5vcmc8aHR0cDovL2VscGEuZ251Lm9yZz48aHR0cDovL2VscGEuZ251Lm9yZz4N Cg0KT2ssIHRoYXQgaGVscGVkIHNob3cgd2hhdCBpcyBnb2luZyBvbi4gIFlvdSBhcHBhcmVudGx5 IGFyZSBub3QgZG93bmxvYWRpbmcgcmVsZWFzZSA3LjAuMyBidXQgdGhlIGhlYWQgb2YgdGhlIGVs cGEgZ2l0IHRyZWUgd2hpY2ggaW5jbHVkZXMgYSBidW5jaCBvZiBhZGRpdGlvbmFsIGNoYW5nZXMg dGhhdCBTdGVmYW4gTS4gbWFkZSBmb3IgcG90ZW50aWFsIGZ1dHVyZSB1c2UsIGFzIHlvdSBjYW4g c2VlIGhlcmU6DQoNCmh0dHA6Ly9naXQuc2F2YW5uYWguZ251Lm9yZy9naXR3ZWIvP3A9ZW1hY3Mv ZWxwYS5naXQ7YT1zaG9ydGxvZztoPXJlZnMvaGVhZHMvZXh0ZXJuYWxzL2h5cGVyYm9sZQ0KDQpT byBpbnN0ZWFkLCBkb24ndCB1c2UgYW55IGZvcm0gb2YgZ2l0LCBqdXN0IGluc3RhbGwgSHlwZXJi b2xlIGZyb20gdGhlIHBhY2thZ2UgbWFuYWdlciBhZnRlciBnZXR0aW5nIHJpZCBvZiBhbGwgb3Ro ZXIgdmVyc2lvbnMgYW5kIHlvdSB3aWxsIGdldCB2ZXJzaW9uIDcuMC4zIChjb25maXJtZWQgdG9k YXkpLiAgVGhlbiBhcHBseSB0aGF0IG9uZSBwYXRjaCBJIHNlbnQgeW91Lg0KDQpCb2INCg== --_000_MN2PR05MB599962BBA087DDA6512D53D8A9100MN2PR05MB5999namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6 IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy IDQ7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWws IGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBpbjsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJ Zm9udC1zaXplOjExLjBwdDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjt9DQph OmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xv cjpibHVlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KYTp2aXNpdGVkLCBzcGFuLk1z b0h5cGVybGlua0ZvbGxvd2VkDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpwdXJw bGU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpwLk1zb0xpc3RQYXJhZ3JhcGgsIGxp Lk1zb0xpc3RQYXJhZ3JhcGgsIGRpdi5Nc29MaXN0UGFyYWdyYXBoDQoJe21zby1zdHlsZS1wcmlv cml0eTozNDsNCgltYXJnaW4tdG9wOjBpbjsNCgltYXJnaW4tcmlnaHQ6MGluOw0KCW1hcmdpbi1i b3R0b206MGluOw0KCW1hcmdpbi1sZWZ0Oi41aW47DQoJbWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0K CWZvbnQtc2l6ZToxMS4wcHQ7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7fQ0K cC5tc29ub3JtYWwwLCBsaS5tc29ub3JtYWwwLCBkaXYubXNvbm9ybWFsMA0KCXttc28tc3R5bGUt bmFtZTptc29ub3JtYWw7DQoJbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87DQoJbWFyZ2luLXJpZ2h0 OjBpbjsNCgltc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzsNCgltYXJnaW4tbGVmdDowaW47DQoJ Zm9udC1zaXplOjExLjBwdDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjt9DQpz cGFuLkVtYWlsU3R5bGUxOQ0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbC1yZXBseTsNCglmb250 LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsNCgljb2xvcjp3aW5kb3d0ZXh0O30NCi5Nc29D aHBEZWZhdWx0DQoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5Ow0KCWZvbnQtc2l6ZToxMC4w cHQ7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7fQ0KQHBhZ2UgV29yZFNlY3Rp b24xDQoJe3NpemU6OC41aW4gMTEuMGluOw0KCW1hcmdpbjoxLjBpbiAxLjBpbiAxLjBpbiAxLjBp bjt9DQpkaXYuV29yZFNlY3Rpb24xDQoJe3BhZ2U6V29yZFNlY3Rpb24xO30NCi0tPjwvc3R5bGU+ PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWRlZmF1bHRzIHY6ZXh0PSJlZGl0IiBz cGlkbWF4PSIxMDI2IiAvPg0KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4 bWw+DQo8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRpdCI+DQo8bzppZG1hcCB2OmV4dD0iZWRpdCIg ZGF0YT0iMSIgLz4NCjwvbzpzaGFwZWxheW91dD48L3htbD48IVtlbmRpZl0tLT4NCjwvaGVhZD4N Cjxib2R5IGxhbmc9IkVOLVVTIiBsaW5rPSJibHVlIiB2bGluaz0icHVycGxlIj4NCjxkaXYgY2xh c3M9IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5TdXJlISBVc2luZyBvbmx5 IHRoZSBhdHRhY2hlZCBpbml0IOKAkyB3aGljaCBsaXRlcmFsbHkganVzdCBsb2FkcyBIeXBlcmJv bGUgLS0gSSBwdWxsIHRoZSBpbmNvbXBsZXRlIHZlcnNpb25zIG9mIHRob3NlIGZpbGVzIGZyb20g ZWxwYS5nbnUub3JnPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZu YnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkFuZCBoZXJl4oCZcyB0aGUgdmFs dWUgb2YgbXkgYHBhY2thZ2UtYXJjaGl2ZXNgIHdoZW4gcnVubmluZyB0aGF0IGluaXQ6PG86cD48 L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxw IGNsYXNzPSJNc29Ob3JtYWwiPnBhY2thZ2UtYXJjaGl2ZXMgaXMgYSB2YXJpYWJsZSBkZWZpbmVk IGluIOKAmHBhY2thZ2UuZWzigJkuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs Ij5JdHMgdmFsdWUgaXMgKCgmcXVvdDtnbnUmcXVvdDsgLiAmcXVvdDtodHRwczovL2VscGEuZ251 Lm9yZy9wYWNrYWdlcy8mcXVvdDspKTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h bCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5J4oCZbSBvbiBh IHN0b2NrIHZlcnNpb24gb2YgRW1hY3MgaW5zdGFsbGVkIGZyb20gdGhlIEVtYWNzIHNpdGUsIHJ1 bm5pbmcgcmVndWxhciBXaW5kb3dzIDEwLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05v cm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj5Gcm9t OjwvYj4gUm9iZXJ0IFdlaW5lciAmbHQ7cnN3QGdudS5vcmcmZ3Q7IDxicj4NCjxiPlNlbnQ6PC9i PiBGcmlkYXksIEp1bmUgNywgMjAxOSAxMjo1OCBQTTxicj4NCjxiPlRvOjwvYj4gQmVtaWxsZXIs IEVyaWMgVGltb3RoeSAmbHQ7RUJlbWlsbGVyQGNoYW1iZXJsYWluLmVkdSZndDs8YnI+DQo8Yj5D Yzo8L2I+IDM2MTA3QGRlYmJ1Z3MuZ251Lm9yZzsgU3RlZmFuIE1vbm5pZXIgJmx0O21vbm5pZXJA aXJvLnVtb250cmVhbC5jYSZndDs7IExpZGVsbCBNYXRzICZsdDttYXRzbEBnbnUub3JnJmd0Ozxi cj4NCjxiPlN1YmplY3Q6PC9iPiBSZTogYnVnIzM2MTA3OiBHbG9iYWwgQnV0dG9ucyBTdG9wIEZ1 bmN0aW9uaW5nIFdoZW4gQ3VycmVudCBXb3JraW5nIERpcmVjdG9yeSBDaGFuZ2VzIChGb3Jnb3Qg dGhlIFN1YmplY3QhKTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4m bmJzcDs8L286cD48L3A+DQo8ZGl2Pg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZiI+ T24gRnJpLCBKdW4gNywgMjAxOSBhdCA5OjIwIEFNIEJlbWlsbGVyLCBFcmljIFRpbW90aHkgJmx0 Ozwvc3Bhbj48YSBocmVmPSJtYWlsdG86RUJlbWlsbGVyQGNoYW1iZXJsYWluLmVkdSIgdGFyZ2V0 PSJfYmxhbmsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90OyxzYW5z LXNlcmlmIj5FQmVtaWxsZXJAY2hhbWJlcmxhaW4uZWR1PC9zcGFuPjwvYT48c3BhbiBzdHlsZT0i Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZiI+Jmd0Ow0KIHdyb3RlOjwv c3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDsiPjxv OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8ZGl2Pg0KPGJsb2NrcXVvdGUg c3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGlu ZzowaW4gMGluIDBpbiA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tdG9wOjUuMHB0O21h cmdpbi1yaWdodDowaW47bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8cCBjbGFzcz0iTXNvTm9ybWFs Ij5JIGRpZG4ndCByZXBseSBhbGwgb24gdGhlIGJlbG93IC0tIHdob29wcyE8YnI+DQo8YnI+DQpJ J20gbGF1Z2hpbmcgaGVyZSwgYmVjYXVzZSBJJ3ZlIGJlZW4gb24geW91ciBzaWRlIG9mIGNvbnZl cnNhdGlvbnMgbGlrZSB0aGlzIGEgZG96ZW4gdGltZXMuPGJyPg0KPGJyPg0KVW5mb3J0dW5hdGVs eSwgSSBkb24ndCB1c2UgZ2l0LiBUaGUgdHdvIGZpbGVzIEkgc2VudCBvdmVyIGNvbWUgZnJvbSB0 aGUgY29kZSB0aGF0J3MgaW5zdGFsbGVkIGJ5IHRoZSBwYWNrYWdlIG1hbmFnZXIgZGlyZWN0bHku PG86cD48L286cD48L3A+DQo8L2Jsb2NrcXVvdGU+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h bCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y bWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDsiPllv dSBhcmUgbm90IGdldHRpbmcgSHlwZXJib2xlIFY3LjAuMyBldmVuIHRob3VnaCB0aGUgdmVyc2lv biBzYXlzIHRoYXQuJm5ic3A7IFlvdSBtdXN0IGhhdmUgc29tZXRoaW5nIGluIHlvdXIgaW5pdGlh bGl6YXRpb25zIHRoYXQgaXMgcG9pbnRpbmcgc29tZXdoZXJlIHRoYXQgc2F5cywgJnF1b3Q7R2l2 ZSBtZSB0aGUgbGF0ZXN0IGNvZGUgZnJvbSBFbHBhJnF1b3Q7IHJhdGhlcg0KIHRoYW4gJnF1b3Q7 Z2l2ZSBtZSB0aGUgY29kZSBwdWJsaXNoZWQgd2l0aCB0aGUgbGF0ZXN0IHJlbGVhc2UgbnVtYmVy JnF1b3Q7LiZuYnNwOyBQbGVhc2Ugc2VuZCB0aGUgdmFsdWUgb2Y8bzpwPjwvbzpwPjwvc3Bhbj48 L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9u dC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDsiPnRoZSAncGFja2FnZS1hcmNoaXZlcycg dmFyaWFibGUsIHNvIHdlIGNhbiBzZWUgZnJvbSB3aGVyZSB5b3VyIHBhY2thZ2VzIGFyZSBjb21p bmcuPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v cm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7Ij48 bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDsi Pk1pbmUgdGhhdCBnZXRzIG1lIHRoZSByaWdodCBjb2RlIGxvb2tzIGxpa2U6PG86cD48L286cD48 L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5 bGU9ImZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7Ij48bzpwPiZuYnNwOzwvbzpw Pjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz dHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDsiPnBhY2thZ2UtYXJjaGl2 ZXMgaXMgYSB2YXJpYWJsZSBkZWZpbmVkIGluIOKAmHBhY2thZ2UuZWzigJkuPGJyPg0KSXRzIHZh bHVlIGlzPGJyPg0KKCgmcXVvdDtnbnUmcXVvdDsgLiAmcXVvdDs8L3NwYW4+PGEgaHJlZj0iaHR0 cHM6Ly9lbHBhLmdudS5vcmcvcGFja2FnZXMvIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1 b3Q7Q291cmllciBOZXcmcXVvdDsiPmh0dHBzOi8vZWxwYS5nbnUub3JnL3BhY2thZ2VzLzwvc3Bh bj48L2E+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7Ij4m cXVvdDspPGJyPg0KJm5ic3A7KCZxdW90O21lbHBhJnF1b3Q7IC4gJnF1b3Q7PC9zcGFuPjxhIGhy ZWY9Imh0dHBzOi8vbWVscGEub3JnL3BhY2thZ2VzLyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5 OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7Ij5odHRwczovL21lbHBhLm9yZy9wYWNrYWdlcy88L3Nw YW4+PC9hPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90OyI+ JnF1b3Q7KSk8YnI+DQpPcmlnaW5hbCB2YWx1ZSB3YXMgPGJyPg0KKCgmcXVvdDtnbnUmcXVvdDsg LiAmcXVvdDs8L3NwYW4+PGEgaHJlZj0iaHR0cHM6Ly9lbHBhLmdudS5vcmcvcGFja2FnZXMvIj48 c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDsiPmh0dHBzOi8v ZWxwYS5nbnUub3JnL3BhY2thZ2VzLzwvc3Bhbj48L2E+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5 OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7Ij4mcXVvdDspKTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N CjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZh bWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90OyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9w Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQt ZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7Ij5Cb2I8bzpwPjwvbzpwPjwvc3Bhbj48L3A+ DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1m YW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDsiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwv cD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250 LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90OyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+ PC9wPg0KPC9kaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6 c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBpbiAwaW4gMGluIDYuMHB0O21hcmdpbi1sZWZ0 OjQuOHB0O21hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLXJpZ2h0OjBpbjttYXJnaW4tYm90dG9tOjUu MHB0Ij4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tYm90dG9tOjEyLjBwdCI+ VG8gZ2V0IHRoZW0sIEkgbW92ZWQgbXkgYWN0dWFsIGAuZW1hY3MuZGAgZm9sZGVyIHNvbWV3aGVy ZSBlbHNlLCBjcmVhdGVkIGEgbmV3IGAuZW1hY3MuZGAgZm9sZGVyIGNvbnRhaW5pbmcgYW4gaW5p dCB0aGF0IGhhZCBvbmx5IHRoaXMgaW4gaXQ6PGJyPg0KPGJyPg0KKHJlcXVpcmUgJ3BhY2thZ2Up PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgKHNldHEgcGFja2FnZS1lbmFibGUtYXQtc3RhcnR1 cCBuaWwpIDs7IFByZXZlbnQgZG91YmxlIGxvYWRpbmcgb2YgbGlicmFyaWVzPGJyPg0KJm5ic3A7 ICZuYnNwOyAmbmJzcDsgKHBhY2thZ2UtaW5pdGlhbGl6ZSk8YnI+DQombmJzcDsgJm5ic3A7ICZu YnNwOyAodW5sZXNzIChwYWNrYWdlLWluc3RhbGxlZC1wICdoeXBlcmJvbGUpPGJyPg0KJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IChwYWNrYWdlLXJlZnJlc2gtY29udGVudHMpPGJyPg0KJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IChwYWNrYWdlLWluc3RhbGwgJ2h5cGVyYm9sZSkpPGJy Pg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgKHJlcXVpcmUgJ2h5cGVyYm9sZSk8YnI+DQo8YnI+DQpB bmQgdGhlbiBzdGFydGVkIEVtYWNzIGFzIG5vcm1hbC48YnI+DQo8YnI+DQpJIHRlc3RlZCB0aGlz IGV4YWN0IHByb2NlZHVyZSBhZ2FpbiB0aGlzIG1vcm5pbmcsIGFuZCBhbHRob3VnaCBmb3Igd2hh dGV2ZXIgcmVhc29uIEkgZ290IGEgY291cGxlIG9mIGJhZCBzaWduYXR1cmUgZXJyb3JzIGZyb20N CjxhIGhyZWY9Imh0dHA6Ly9lbHBhLmdudS5vcmciIHRhcmdldD0iX2JsYW5rIj5lbHBhLmdudS5v cmc8L2E+LCB0aGUgc2FtZSBzZXQgb2YgZmlsZXMgd2l0aCB0aGUgc2FtZSBtaXNzaW5nIHN0dWZm IGNhbWUgZG93bi48YnI+DQo8YnI+DQpJIHN3ZWFyIEknbSBub3QgKnRyeWluZyogdG8gYmUgZnJ1 c3RyYXRpbmchIFNvcnJ5ITxicj4NCjxicj4NCkFkZGl0aW9uOiBJIGNoZWNrZWQgdGhlIHNhdmFu bmFoIGxpbmsgdGhhdCdzIG9uIHRoZSBIeXBlcmJvbGUgcGFnZSAoPGEgaHJlZj0iaHR0cHM6Ly9n aXQuc2F2YW5uYWguZ251Lm9yZy9jZ2l0L2h5cGVyYm9sZS5naXQvdHJlZS8iIHRhcmdldD0iX2Js YW5rIj5odHRwczovL2dpdC5zYXZhbm5haC5nbnUub3JnL2NnaXQvaHlwZXJib2xlLmdpdC90cmVl LzwvYT4sIGxpbmtlZCBmcm9tIHRoZSAmcXVvdDtmdHAgYW5kIGdpdCZxdW90OyBzZWN0aW9uKSBh bmQgdGhlIGBoeXBiLmVsYA0KIGluIHRoZXJlIHNlZW1zIHRvIGJlIHRoZSBzYW1lIGluY29tcGxl dGUgb25lIEknbSBnZXR0aW5nIGZyb20gdGhlIHBhY2thZ2UgbWFuYWdlcjo8YnI+DQo8YnI+DQo8 YSBocmVmPSJodHRwczovL2dpdC5zYXZhbm5haC5nbnUub3JnL2NnaXQvaHlwZXJib2xlLmdpdC90 cmVlL2hidXQuZWwiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2dpdC5zYXZhbm5haC5nbnUub3Jn L2NnaXQvaHlwZXJib2xlLmdpdC90cmVlL2hidXQuZWw8L2E+DQo8YnI+DQo8YnI+DQpUaGFua3Mg YWdhaW4gZm9yIGxvb2tpbmcgaW50byBhbGwgdGhpcyBzdHVmZiE8YnI+DQpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPg0KRnJvbTogUm9iZXJ0IFdlaW5lciAmbHQ7 PGEgaHJlZj0ibWFpbHRvOnJzd0BnbnUub3JnIiB0YXJnZXQ9Il9ibGFuayI+cnN3QGdudS5vcmc8 L2E+Jmd0Ozxicj4NClNlbnQ6IFRodXJzZGF5LCBKdW5lIDYsIDIwMTkgMTE6MzcgUE08YnI+DQpU bzogQmVtaWxsZXIsIEVyaWMgVGltb3RoeTxicj4NCkNjOiA8YSBocmVmPSJtYWlsdG86MzYxMDdA ZGViYnVncy5nbnUub3JnIiB0YXJnZXQ9Il9ibGFuayI+MzYxMDdAZGViYnVncy5nbnUub3JnPC9h PjsgU3RlZmFuIE1vbm5pZXI7IExpZGVsbCBNYXRzPGJyPg0KU3ViamVjdDogUmU6IGJ1ZyMzNjEw NzogR2xvYmFsIEJ1dHRvbnMgU3RvcCBGdW5jdGlvbmluZyBXaGVuIEN1cnJlbnQgV29ya2luZyBE aXJlY3RvcnkgQ2hhbmdlcyAoRm9yZ290IHRoZSBTdWJqZWN0ISk8YnI+DQo8YnI+DQpPbiBUaHUs IEp1biA2LCAyMDE5IGF0IDc6NDUgUE0gRXJpYyBCZW1pbGxlciAmbHQ7PGEgaHJlZj0ibWFpbHRv OmQ0MDU0NzkxNEBkdnVhZG1pbi5uZXQiIHRhcmdldD0iX2JsYW5rIj5kNDA1NDc5MTRAZHZ1YWRt aW4ubmV0PC9hPiZsdDttYWlsdG86PGEgaHJlZj0ibWFpbHRvOmQ0MDU0NzkxNEBkdnVhZG1pbi5u ZXQiIHRhcmdldD0iX2JsYW5rIj5kNDA1NDc5MTRAZHZ1YWRtaW4ubmV0PC9hPiZndDsmZ3Q7IHdy b3RlOjxicj4NCjxicj4NClN1cmUgdGhpbmcgLS0gaG9wZWZ1bGx5IHRoZXkncmUgYXR0YWNoZWQu IFRoZXNlIGFyZSBhIGZyZXNoIGRvd25sb2FkIGZyb20gPGEgaHJlZj0iaHR0cDovL2VscGEuZ251 Lm9yZyIgdGFyZ2V0PSJfYmxhbmsiPg0KZWxwYS5nbnUub3JnPC9hPiZsdDs8YSBocmVmPSJodHRw Oi8vZWxwYS5nbnUub3JnIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2VscGEuZ251Lm9yZzwvYT4m Z3Q7PGJyPg0KPGJyPg0KT2ssIHRoYXQgaGVscGVkIHNob3cgd2hhdCBpcyBnb2luZyBvbi4mbmJz cDsgWW91IGFwcGFyZW50bHkgYXJlIG5vdCBkb3dubG9hZGluZyByZWxlYXNlIDcuMC4zIGJ1dCB0 aGUgaGVhZCBvZiB0aGUgZWxwYSBnaXQgdHJlZSB3aGljaCBpbmNsdWRlcyBhIGJ1bmNoIG9mIGFk ZGl0aW9uYWwgY2hhbmdlcyB0aGF0IFN0ZWZhbiBNLiBtYWRlIGZvciBwb3RlbnRpYWwgZnV0dXJl IHVzZSwgYXMgeW91IGNhbiBzZWUgaGVyZTo8YnI+DQo8YnI+DQo8YSBocmVmPSJodHRwOi8vZ2l0 LnNhdmFubmFoLmdudS5vcmcvZ2l0d2ViLz9wPWVtYWNzL2VscGEuZ2l0O2E9c2hvcnRsb2c7aD1y ZWZzL2hlYWRzL2V4dGVybmFscy9oeXBlcmJvbGUiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vZ2l0 LnNhdmFubmFoLmdudS5vcmcvZ2l0d2ViLz9wPWVtYWNzL2VscGEuZ2l0O2E9c2hvcnRsb2c7aD1y ZWZzL2hlYWRzL2V4dGVybmFscy9oeXBlcmJvbGU8L2E+PGJyPg0KPGJyPg0KU28gaW5zdGVhZCwg ZG9uJ3QgdXNlIGFueSBmb3JtIG9mIGdpdCwganVzdCBpbnN0YWxsIEh5cGVyYm9sZSBmcm9tIHRo ZSBwYWNrYWdlIG1hbmFnZXIgYWZ0ZXIgZ2V0dGluZyByaWQgb2YgYWxsIG90aGVyIHZlcnNpb25z IGFuZCB5b3Ugd2lsbCBnZXQgdmVyc2lvbiA3LjAuMyAoY29uZmlybWVkIHRvZGF5KS4mbmJzcDsg VGhlbiBhcHBseSB0aGF0IG9uZSBwYXRjaCBJIHNlbnQgeW91Ljxicj4NCjxicj4NCkJvYjxvOnA+ PC9vOnA+PC9wPg0KPC9ibG9ja3F1b3RlPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ib2R5 Pg0KPC9odG1sPg0K --_000_MN2PR05MB599962BBA087DDA6512D53D8A9100MN2PR05MB5999namp_-- --_004_MN2PR05MB599962BBA087DDA6512D53D8A9100MN2PR05MB5999namp_ Content-Type: application/octet-stream; name="init.el" Content-Description: init.el Content-Disposition: attachment; filename="init.el"; size=933; creation-date="Fri, 07 Jun 2019 17:10:40 GMT"; modification-date="Fri, 07 Jun 2019 17:10:40 GMT" Content-Transfer-Encoding: base64 OzsgVGVtcG9yYXJpbHkgaWdub3JpbmcgdGhlIGJhZCBzaWduYXR1cmUgd2FybmluZ3MgZm9yIGNv bnZlbmllbmNlCihzZXRxIHBhY2thZ2UtY2hlY2stc2lnbmF0dXJlICduaWwpCihzZXRxIG5ldHdv cmstc2VjdXJpdHktbGV2ZWwgJ2xvdykKCjs7IEluc3RhbGxpbmcganVzdCBIeXBlcmJvbGUgZm9y IHRlc3RpbmcKKHJlcXVpcmUgJ3BhY2thZ2UpCihzZXRxIHBhY2thZ2UtZW5hYmxlLWF0LXN0YXJ0 dXAgbmlsKQoocGFja2FnZS1pbml0aWFsaXplKQoodW5sZXNzIChwYWNrYWdlLWluc3RhbGxlZC1w ICdoeXBlcmJvbGUpCiAgKHBhY2thZ2UtcmVmcmVzaC1jb250ZW50cykKICAocGFja2FnZS1pbnN0 YWxsICdoeXBlcmJvbGUpKQoocmVxdWlyZSAnaHlwZXJib2xlKQoKOzsgU2V0IGJ5IEVtYWNzCihj dXN0b20tc2V0LXZhcmlhYmxlcwogOzsgY3VzdG9tLXNldC12YXJpYWJsZXMgd2FzIGFkZGVkIGJ5 IEN1c3RvbS4KIDs7IElmIHlvdSBlZGl0IGl0IGJ5IGhhbmQsIHlvdSBjb3VsZCBtZXNzIGl0IHVw LCBzbyBiZSBjYXJlZnVsLgogOzsgWW91ciBpbml0IGZpbGUgc2hvdWxkIGNvbnRhaW4gb25seSBv bmUgc3VjaCBpbnN0YW5jZS4KIDs7IElmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUsIHRoZXkgd29u J3Qgd29yayByaWdodC4KICcocGFja2FnZS1zZWxlY3RlZC1wYWNrYWdlcyAocXVvdGUgKGh5cGVy Ym9sZSkpKSkKKGN1c3RvbS1zZXQtZmFjZXMKIDs7IGN1c3RvbS1zZXQtZmFjZXMgd2FzIGFkZGVk IGJ5IEN1c3RvbS4KIDs7IElmIHlvdSBlZGl0IGl0IGJ5IGhhbmQsIHlvdSBjb3VsZCBtZXNzIGl0 IHVwLCBzbyBiZSBjYXJlZnVsLgogOzsgWW91ciBpbml0IGZpbGUgc2hvdWxkIGNvbnRhaW4gb25s eSBvbmUgc3VjaCBpbnN0YW5jZS4KIDs7IElmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUsIHRoZXkg d29uJ3Qgd29yayByaWdodC4KICkK --_004_MN2PR05MB599962BBA087DDA6512D53D8A9100MN2PR05MB5999namp_-- From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 07 15:16:24 2019 Received: (at 36107) by debbugs.gnu.org; 7 Jun 2019 19:16:24 +0000 Received: from localhost ([127.0.0.1]:52432 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZKLf-0004AO-S2 for submit@debbugs.gnu.org; Fri, 07 Jun 2019 15:16:24 -0400 Received: from eggs.gnu.org ([209.51.188.92]:54959) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZKLd-0004A9-UA for 36107@debbugs.gnu.org; Fri, 07 Jun 2019 15:16:22 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:54102) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hZKLV-0000Tk-5l for 36107@debbugs.gnu.org; Fri, 07 Jun 2019 15:16:15 -0400 Received: from mail-lj1-f178.google.com ([209.85.208.178]:42528) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1hZKLT-0003ys-QL for 36107@debbugs.gnu.org; Fri, 07 Jun 2019 15:16:12 -0400 Received: by mail-lj1-f178.google.com with SMTP id t28so2659020lje.9 for <36107@debbugs.gnu.org>; Fri, 07 Jun 2019 12:16:11 -0700 (PDT) X-Gm-Message-State: APjAAAXt6dutnM/hCxwURklGmMpR0kBRn7BNdXwnArtg60npYi6Zf3Ry DGPBMgHgCu80twlGXYxQN1wqSUiJ0zCRCuDpt2I= X-Google-Smtp-Source: APXvYqx4qQ7yoi+KYnS4Bf9HUYrzQOyNsaFahxTTUscyNqvTmjt60TN8oLxD2Bef6FY3h7XCTCR1TH4CZydkejjB+kU= X-Received: by 2002:a2e:2f13:: with SMTP id v19mr20926309ljv.203.1559934970493; Fri, 07 Jun 2019 12:16:10 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Robert Weiner Date: Fri, 7 Jun 2019 15:15:44 -0400 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) To: "Bemiller, Eric Timothy" Content-Type: multipart/alternative; boundary="000000000000ca02c5058ac0a948" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 36107 Cc: Lidell Mats , "36107@debbugs.gnu.org" <36107@debbugs.gnu.org>, Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: rswgnu@gmail.com Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --000000000000ca02c5058ac0a948 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Jun 7, 2019 at 1:12 PM Bemiller, Eric Timothy < EBemiller@chamberlain.edu> wrote: > Sure! Using only the attached init =E2=80=93 which literally just loads H= yperbole > -- I pull the incomplete versions of those files from elpa.gnu.org > > > > And here=E2=80=99s the value of my `package-archives` when running that i= nit: > > > > package-archives is a variable defined in =E2=80=98package.el=E2=80=99. > > Its value is (("gnu" . "https://elpa.gnu.org/packages/")) > Well, that is correct, so I have no more thoughts on this. Maybe others will weigh in. You have a working copy by downloading if from the ftp site, so I would use that and we'll see how the next release, 7.0.4 goes for you. Bob --000000000000ca02c5058ac0a948 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Fri, Jun 7, 2019 at 1:12 PM Bemiller, Eric Timothy <EBemiller@chamberlain.edu> wro= te:

Sure! Using only the attached init =E2=80=93 which l= iterally just loads Hyperbole -- I pull the incomplete versions of those fi= les from elpa.gnu.org=

=C2=A0

And here=E2=80=99s the value of my `package-archives= ` when running that init:

=C2=A0

package-archives is a variable defined in =E2=80=98p= ackage.el=E2=80=99.

Its value is (("gnu" . "https://elpa.gnu.org/packag= es/"))


Well, that is correc= t, so I have no more thoughts on this.=C2=A0 Maybe others will weigh in.
<= br>
You have a working copy by downloading if from the ftp site, so I woul= d use that and we'll see how the next release, 7.0.4 goes for you.
Bob

<= div>
--000000000000ca02c5058ac0a948-- From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 07 15:24:13 2019 Received: (at 36107) by debbugs.gnu.org; 7 Jun 2019 19:24:13 +0000 Received: from localhost ([127.0.0.1]:52436 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZKTE-0004Lm-Q2 for submit@debbugs.gnu.org; Fri, 07 Jun 2019 15:24:13 -0400 Received: from mail-eopbgr740094.outbound.protection.outlook.com ([40.107.74.94]:17058 helo=NAM01-BN3-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZKTD-0004LX-75 for 36107@debbugs.gnu.org; Fri, 07 Jun 2019 15:24:11 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chamberlain.edu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VIgCCP+Rk1C2/1OPxfWJnzDb+pmD9vpdT/NS/jZvsv0=; b=BNazw04EnHez7IjofCQn+MP8cmw8F6VMU6LQu0QoOE6vS7Fcb4VmRhYNaIeRy8XNvGM6kHDWTyUWSNWN1dJUByvpMRnfVXDCbg9oIdP4YSJvYr2cY3UiGebgM0v8nS2bCYIpz7cZxkQ9avh+dcAPawH17HBwNQdHLtGc+nfMkwU= Received: from MN2PR05MB5999.namprd05.prod.outlook.com (20.178.244.83) by MN2PR05MB6365.namprd05.prod.outlook.com (20.178.245.204) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1987.3; Fri, 7 Jun 2019 19:24:03 +0000 Received: from MN2PR05MB5999.namprd05.prod.outlook.com ([fe80::fdb1:1f9d:89d0:50e9]) by MN2PR05MB5999.namprd05.prod.outlook.com ([fe80::fdb1:1f9d:89d0:50e9%7]) with mapi id 15.20.1965.011; Fri, 7 Jun 2019 19:24:03 +0000 From: "Bemiller, Eric Timothy" To: "rswgnu@gmail.com" Subject: RE: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) Thread-Topic: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) Thread-Index: AdUdM4spyOraHp8ISBmKYJcTEoVnXAAHqM4AAABPj6AABH6uAAAAQsvA Date: Fri, 7 Jun 2019 19:24:03 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=EBemiller@chamberlain.edu; x-originating-ip: [173.92.89.239] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ed041202-01f4-4e62-7566-08d6eb7db366 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:MN2PR05MB6365; x-ms-traffictypediagnostic: MN2PR05MB6365: x-ms-exchange-purlcount: 2 x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-forefront-prvs: 0061C35778 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(396003)(376002)(39860400002)(346002)(366004)(13464003)(189003)(199004)(53936002)(5660300002)(1411001)(72206003)(476003)(316002)(1361003)(80792005)(5640700003)(305945005)(74316002)(8936002)(81156014)(81166006)(478600001)(52536014)(76176011)(11346002)(2906002)(1730700003)(14454004)(9686003)(6436002)(2351001)(6116002)(3846002)(7696005)(5024004)(256004)(8676002)(55016002)(2501003)(6306002)(229853002)(71190400001)(71200400001)(6246003)(75432002)(6506007)(53546011)(446003)(486006)(68736007)(88552002)(54906003)(33656002)(99286004)(66066001)(186003)(6916009)(66476007)(64756008)(4326008)(66446008)(76116006)(66946007)(73956011)(7736002)(66556008)(25786009)(102836004)(86362001)(26005)(786003); DIR:OUT; SFP:1102; SCL:1; SRVR:MN2PR05MB6365; H:MN2PR05MB5999.namprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: chamberlain.edu does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: 9c9kRby1kSSVZocSKhbPM5J7/W7sn/JHwTLGJcOoTpTI5iP3bVuVYmUQC1ELSdbn4VlQ5NDvHk9kVR3FvbrfM6aILVnV+1CEVqE5Up/xYAJtbkEB3PiLlBzx09rlCEbVDNpH4Jx/fginTxER1jM3SWDTtGZD0X+vg2IOoa3qIB6JYWA3FohYb1suX7hhthDOHEBkRnYtbP16Tq4t/UiARijk9XOtAFTdlViCY0TJzYQJYccsprm86g081QtQPquyBPriPukj5xY/fdO4w6TAia+Ki3rTGjIIh826e2cho3USRM4xth02Rl3Np+4s49A+LvRSLzQkmiPXqY/bpolHEmmZ3WSkj9FQ+8YzX0iN9Ch2vx/9FwI/9As5T41Sml9DEJ5DKs3LXvuV61iAU+h3ZIeKRz+BJndEUNITN2OCxNc= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: chamberlain.edu X-MS-Exchange-CrossTenant-Network-Message-Id: ed041202-01f4-4e62-7566-08d6eb7db366 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Jun 2019 19:24:03.1430 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 97fb1a07-66ed-4983-98cd-2b41977edc25 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: D40547914@dvuadmin.net X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR05MB6365 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 36107 Cc: Lidell Mats , "36107@debbugs.gnu.org" <36107@debbugs.gnu.org>, Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) WWVhaCAtLSBJJ20gc3R1bXBlZCEgDQoNCkJ1dCwgc2VyaW91c2x5LCB0aGFuayB5b3UgZm9yIHRy eWluZyB0byB0cm91Ymxlc2hvb3QgdGhpcyAtLSBhbmQgdGhhbmtzIGZvciB0aGF0IGluaXRpYWwg cGF0Y2gsIHNpbmNlIGl0IGRpZCB0aGUgdHJpY2sgdG8gZml4IG15IGluaXRpYWwgYnVnLg0KDQot LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogUm9iZXJ0IFdlaW5lciA8cnN3QGdudS5v cmc+IA0KU2VudDogRnJpZGF5LCBKdW5lIDcsIDIwMTkgMzoxNiBQTQ0KVG86IEJlbWlsbGVyLCBF cmljIFRpbW90aHkgPEVCZW1pbGxlckBjaGFtYmVybGFpbi5lZHU+DQpDYzogMzYxMDdAZGViYnVn cy5nbnUub3JnOyBTdGVmYW4gTW9ubmllciA8bW9ubmllckBpcm8udW1vbnRyZWFsLmNhPjsgTGlk ZWxsIE1hdHMgPG1hdHNsQGdudS5vcmc+DQpTdWJqZWN0OiBSZTogYnVnIzM2MTA3OiBHbG9iYWwg QnV0dG9ucyBTdG9wIEZ1bmN0aW9uaW5nIFdoZW4gQ3VycmVudCBXb3JraW5nIERpcmVjdG9yeSBD aGFuZ2VzIChGb3Jnb3QgdGhlIFN1YmplY3QhKQ0KDQpPbiBGcmksIEp1biA3LCAyMDE5IGF0IDE6 MTIgUE0gQmVtaWxsZXIsIEVyaWMgVGltb3RoeSA8RUJlbWlsbGVyQGNoYW1iZXJsYWluLmVkdSA8 bWFpbHRvOkVCZW1pbGxlckBjaGFtYmVybGFpbi5lZHU+ID4gd3JvdGU6DQoNCg0KCVN1cmUhIFVz aW5nIG9ubHkgdGhlIGF0dGFjaGVkIGluaXQg4oCTIHdoaWNoIGxpdGVyYWxseSBqdXN0IGxvYWRz IEh5cGVyYm9sZSAtLSBJIHB1bGwgdGhlIGluY29tcGxldGUgdmVyc2lvbnMgb2YgdGhvc2UgZmls ZXMgZnJvbSBlbHBhLmdudS5vcmcgPGh0dHA6Ly9lbHBhLmdudS5vcmc+IA0KDQoJIA0KDQoJQW5k IGhlcmXigJlzIHRoZSB2YWx1ZSBvZiBteSBgcGFja2FnZS1hcmNoaXZlc2Agd2hlbiBydW5uaW5n IHRoYXQgaW5pdDoNCg0KCSANCg0KCXBhY2thZ2UtYXJjaGl2ZXMgaXMgYSB2YXJpYWJsZSBkZWZp bmVkIGluIOKAmHBhY2thZ2UuZWzigJkuDQoNCglJdHMgdmFsdWUgaXMgKCgiZ251IiAuICJodHRw czovL2VscGEuZ251Lm9yZy9wYWNrYWdlcy8iKSkNCg0KDQpXZWxsLCB0aGF0IGlzIGNvcnJlY3Qs IHNvIEkgaGF2ZSBubyBtb3JlIHRob3VnaHRzIG9uIHRoaXMuICBNYXliZSBvdGhlcnMgd2lsbCB3 ZWlnaCBpbi4NCg0KWW91IGhhdmUgYSB3b3JraW5nIGNvcHkgYnkgZG93bmxvYWRpbmcgaWYgZnJv bSB0aGUgZnRwIHNpdGUsIHNvIEkgd291bGQgdXNlIHRoYXQgYW5kIHdlJ2xsIHNlZSBob3cgdGhl IG5leHQgcmVsZWFzZSwgNy4wLjQgZ29lcyBmb3IgeW91Lg0KDQpCb2INCg0KDQo= From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 07 15:37:43 2019 Received: (at 36107) by debbugs.gnu.org; 7 Jun 2019 19:37:43 +0000 Received: from localhost ([127.0.0.1]:52449 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZKgJ-0004ix-4a for submit@debbugs.gnu.org; Fri, 07 Jun 2019 15:37:43 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:15792) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZKgI-0004ig-8F for 36107@debbugs.gnu.org; Fri, 07 Jun 2019 15:37:42 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id BE7DD1011A3; Fri, 7 Jun 2019 15:37:36 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 9085F10099F; Fri, 7 Jun 2019 15:37:35 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1559936255; bh=z+Dhn6hqitw79NPax3J5aCHHRwGQ5/Ak4HckUVqHJ7o=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=WVq7eyGX6b6JqTyQgZ2OigdNfHCQH/KncbnUL/Lg2eU4vooyqIHQ+ArLpKEWzAnbK DVgVvjvhvTBND4acHtIkk8f5rqgHzXJEL4MzIgKv93TOWj9xZWs5grHEQrzjELQaiT u72qfoo43mVPIBkix6GRr9QcgtbGtpR1oYXzGMpFNASF9hBPcY2spc4MXxetRrdudz h2XPIHLX/FfJJOTIAMEghlvq2qdOzvKDfiVofz6zxqZevqujy8b3T1MG4C2W0sIFkS K3c3hO//T+cWdvZ6/uhVjccoL3/XW2h/5oJv68Po3fEM/UpSXmQ/tCLVs1L02UZqG2 KKoJMJ3K4ReHw== Received: from alfajor (unknown [45.72.243.188]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 41139120B98; Fri, 7 Jun 2019 15:37:35 -0400 (EDT) From: Stefan Monnier To: Robert Weiner Subject: Re: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) In-Reply-To: (Robert Weiner's message of "Thu, 6 Jun 2019 08:57:02 -0400") Message-ID: References: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Date: Fri, 07 Jun 2019 15:37:25 -0400 MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain X-SPAM-LEVEL: X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 36107 Cc: rswgnu@gmail.com, "36107@debbugs.gnu.org" <36107@debbugs.gnu.org>, d40547914@dvuadmin.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > Strange as hypb:functionp hypb:functionp is removed in the elpa.git branch (which uses functionp instead since it has the advantage not only of being built-in but of correctly returning t for non-byte-compiled closures). Stefan From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 07 16:51:51 2019 Received: (at 36107) by debbugs.gnu.org; 7 Jun 2019 20:51:51 +0000 Received: from localhost ([127.0.0.1]:52483 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZLq3-0006QQ-3H for submit@debbugs.gnu.org; Fri, 07 Jun 2019 16:51:51 -0400 Received: from eggs.gnu.org ([209.51.188.92]:50613) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZLq1-0006Q7-Bq for 36107@debbugs.gnu.org; Fri, 07 Jun 2019 16:51:49 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:55936) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hZLpr-0002GA-CN for 36107@debbugs.gnu.org; Fri, 07 Jun 2019 16:51:42 -0400 Received: from mail-lj1-f177.google.com ([209.85.208.177]:46383) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1hZLpp-0005jC-VV for 36107@debbugs.gnu.org; Fri, 07 Jun 2019 16:51:38 -0400 Received: by mail-lj1-f177.google.com with SMTP id m15so2853622ljg.13 for <36107@debbugs.gnu.org>; Fri, 07 Jun 2019 13:51:37 -0700 (PDT) X-Gm-Message-State: APjAAAXAyS7vzAfDpU4LjEt3ZvKaN01X2x1bLPzytd515LTRHMNVmjyT OOLHilOMbLIkSBq8ugPHf6Lica155W0LUnDnAqI= X-Google-Smtp-Source: APXvYqyBfFSaJMa25CfosNssq9htg/YWrhuTzFNIp0PThgPiQC2cv8Dt3INLZfampFEPSuKprWo2J2fdmheRL87qom4= X-Received: by 2002:a2e:2b19:: with SMTP id q25mr9708480lje.127.1559940696567; Fri, 07 Jun 2019 13:51:36 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Robert Weiner Date: Fri, 7 Jun 2019 16:51:10 -0400 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) To: Stefan Monnier Content-Type: multipart/alternative; boundary="00000000000016f666058ac1ff92" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 36107 Cc: "36107@debbugs.gnu.org" <36107@debbugs.gnu.org>, Eric Bemiller X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: rswgnu@gmail.com Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --00000000000016f666058ac1ff92 Content-Type: text/plain; charset="UTF-8" The question we are trying to answer though is why is Eric getting the HEAD of the elpa branch when he is using the Emacs package manager to download release 7.0.3? Everyone else seems to get the right version but not him. On Fri, Jun 7, 2019 at 3:37 PM Stefan Monnier wrote: > > Strange as hypb:functionp > > hypb:functionp is removed in the elpa.git branch (which uses functionp > instead since it has the advantage not only of being built-in but of > correctly returning t for non-byte-compiled closures). > > > Stefan > > --00000000000016f666058ac1ff92 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
The question we are trying to answer though is why is Eric get= ting the HEAD of the elpa branch when he is using the Emacs package manager= to download release 7.0.3?=C2=A0 Everyone else seems to get the right vers= ion but not him.

On Fri, Jun 7, 2019 at 3:37 PM Stefan Monnier <monnier@iro.umontreal.ca> w= rote:
> Stran= ge as hypb:functionp

hypb:functionp is removed in the elpa.git branch (which uses functionp
instead since it has the advantage not only of being built-in but of
correctly returning t for non-byte-compiled closures).


=C2=A0 =C2=A0 =C2=A0 =C2=A0 Stefan

--00000000000016f666058ac1ff92-- From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 08 16:39:20 2019 Received: (at 36107) by debbugs.gnu.org; 8 Jun 2019 20:39:21 +0000 Received: from localhost ([127.0.0.1]:53784 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZi7U-0003Cc-M8 for submit@debbugs.gnu.org; Sat, 08 Jun 2019 16:39:20 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:32939) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZi7T-0003CQ-0Q for 36107@debbugs.gnu.org; Sat, 08 Jun 2019 16:39:19 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 8CE5F1011A3; Sat, 8 Jun 2019 16:39:13 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 535AE10089B; Sat, 8 Jun 2019 16:39:12 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1560026352; bh=ikVgdtGeef4OhQ9zfguIUBPX5ruFvpWjeW0bqYVrmFI=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=pKlwclEuXu70np4Vv34ukm2pSqttkTMpfmqfIukrOjuuIAStZ2VxXV/PXNgBv3xBk BAwQ6+AdC/ZkDaeHo2mkDuz4F4VNh5p6pnmdo53y+rPjKrGbeXU3PvoyIYTiU9fqK+ UHUU83BIf7lCGHpnWQ3R3Sw+bzOZM3qFrNFmlUesn8tEWAAazJVkn1qqbFEEFmFFdK aU8rCSE6Md+geJn/AQh02koa9VqFpXOgpZ0O4L16oDLU5hwdSeaD3mSJLj7NsaeKnb s05zTBts/YTzrxZv34t3FPgHAt43HEEV2RSLgLUSiZl0JYo8ATZ6mu4KrKIuoJ0iB9 rhzwJgXO+Dp/w== Received: from pastel (unknown [216.154.29.173]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 1CC8C1203AB; Sat, 8 Jun 2019 16:39:12 -0400 (EDT) From: Stefan Monnier To: Robert Weiner Subject: Re: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) Message-ID: References: Date: Sat, 08 Jun 2019 16:39:03 -0400 In-Reply-To: (Robert Weiner's message of "Fri, 7 Jun 2019 16:51:10 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.016 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain X-SPAM-LEVEL: X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 36107 Cc: rswgnu@gmail.com, "36107@debbugs.gnu.org" <36107@debbugs.gnu.org>, Eric Bemiller X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > The question we are trying to answer though is why is Eric getting the HEAD > of the elpa branch when he is using the Emacs package manager to download > release 7.0.3? Everyone else seems to get the right version but not him. AFAIK there's been no commit on the elpa.git branch since the 7.0.3 merge, so the HEAD *is* the 7.0.3 GNU ELPA release (which is slightly different from your 7.0.3, e.g. it doesn't have hypb:functionp). I merged your branch into the elpa.git one but AFAIK you haven't merged the elpa.git one into yours so they're still not quite in-sync. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 08 19:05:47 2019 Received: (at 36107) by debbugs.gnu.org; 8 Jun 2019 23:05:47 +0000 Received: from localhost ([127.0.0.1]:53879 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZkPC-0006WC-QR for submit@debbugs.gnu.org; Sat, 08 Jun 2019 19:05:47 -0400 Received: from mail-qt1-f170.google.com ([209.85.160.170]:39647) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZkPA-0006Vw-I0 for 36107@debbugs.gnu.org; Sat, 08 Jun 2019 19:05:45 -0400 Received: by mail-qt1-f170.google.com with SMTP id i34so6598111qta.6 for <36107@debbugs.gnu.org>; Sat, 08 Jun 2019 16:05:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=5V2oCp1kr7nqkZN2w2/0akvHKvbtu5a6HIufIU7hNlM=; b=fXaZsKHnZ7JhxpVgLPgAETexGe06bktMWvjjPTmq7YdxHmm2m6T5eCrRC+okBXqLmH 5ijRKhJbpM2npyRcDcnnXajnhfaaYo4XryRBqqux64CZRXlFTOw9ILtT48VJfirRmIjU 4xf4Ro412+CvUPu2zOuzZ/9WsP6IzH/MWliymx4E8E119w8pdBi8OrTSvE9JcRhK407c iOFzVw841FgH8UFbS6TbWJbXZX8+0p6NKstdgo59QLtKAmmISudctmsltLmgd8Dxupa7 R4z+oklWrpQ8cW6g8IXFdckKtUZZqNR4bRQjRv51p935R+ayf1F1f0RRIzuECk2Jvrkt apRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=5V2oCp1kr7nqkZN2w2/0akvHKvbtu5a6HIufIU7hNlM=; b=Zk6Om4libR3MwLbL/ywgWoSMhC7DriLWKsozsR+sqi/ZkUXwMygYqZuzjsXCh5pEOu FLf9+Enve+xEeoAeE0pNaHkb6+CCXE6I4J1GvoaGGCW/rp9jyTxHTNe016c0LXcF9B3a tIC2d5K3ZpQvnJ3B94erfmlm4OJ/nE2wDQk46OY/iOVytiLci06D/BMpgCDo3iIiOrbg GI6B2pojysIhwKL1TB/mj+tyKfMrX4RLtZpiAZrCO36vvlIHTZAnKQD2ifHClPwN7lIZ /+mDA6ZnVxt24ftaNg6UFFW/vU65ZvW1JDTVnpVsLB0hYyG0kMc9vPXDCKdSi3E6UWp9 aSVg== X-Gm-Message-State: APjAAAVOrkOJOOISJnC3hXFYBZmd0lUEzGzh+WGkJj8pmHU0XJ5vzJj0 ZS3uNa3mAfzZuT81ADwQmAo= X-Google-Smtp-Source: APXvYqwaJBhJ8OJ1tOVA9tuhz+Xf1Mi0Eqwu80fZFBpWS1hMKREwjq/l1bLQPZbQyb4gDPVCZ+vY6Q== X-Received: by 2002:a0c:ee29:: with SMTP id l9mr26629370qvs.43.1560035138892; Sat, 08 Jun 2019 16:05:38 -0700 (PDT) Received: from [192.168.10.108] (ool-2f1481cf.dyn.optonline.net. [47.20.129.207]) by smtp.gmail.com with ESMTPSA id 2sm3659866qts.61.2019.06.08.16.05.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 08 Jun 2019 16:05:37 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (1.0) Subject: Re: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) From: Robert Weiner X-Mailer: iPhone Mail (16E227) In-Reply-To: Date: Sat, 8 Jun 2019 19:05:36 -0400 Content-Transfer-Encoding: quoted-printable Message-Id: References: To: Stefan Monnier X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 36107 Cc: "36107@debbugs.gnu.org" <36107@debbugs.gnu.org>, Eric Bemiller , Robert Weiner X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) We need to chat about this as there are a number of inconsistencies as a res= ult and of course wr should have only one version with a version number. I a= lso produce signed releases and tag the git commit with the version number, s= o we need to agree to any merges beforehand. When I download 7.0.3 via the package manager, I still see hypb:functionp de= fined without your merges. What do you see? =E2=80=94 Bob On Jun 8, 2019, at 4:39 PM, Stefan Monnier wrote:= >> The question we are trying to answer though is why is Eric getting the HE= AD >> of the elpa branch when he is using the Emacs package manager to download= >> release 7.0.3? Everyone else seems to get the right version but not him.= >=20 > AFAIK there's been no commit on the elpa.git branch since the 7.0.3 > merge, so the HEAD *is* the 7.0.3 GNU ELPA release (which is slightly > different from your 7.0.3, e.g. it doesn't have hypb:functionp). >=20 > I merged your branch into the elpa.git one but AFAIK you haven't merged > the elpa.git one into yours so they're still not quite in-sync. >=20 >=20 > Stefan >=20 From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 08 20:03:22 2019 Received: (at 36107) by debbugs.gnu.org; 9 Jun 2019 00:03:23 +0000 Received: from localhost ([127.0.0.1]:53920 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZlIw-0001YT-Jy for submit@debbugs.gnu.org; Sat, 08 Jun 2019 20:03:22 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:40451) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZlIu-0001YF-CE for 36107@debbugs.gnu.org; Sat, 08 Jun 2019 20:03:21 -0400 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 0724C81170; Sat, 8 Jun 2019 20:03:15 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 62173810AF; Sat, 8 Jun 2019 20:03:13 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1560038593; bh=CBFOpZgoEiAPmR2Ymne9xdedBxoClRhAemv3la9YgKg=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=Irqnb8l9kQTdXAazjcytB0yutuxRNS1E2oWR2lV0VQk3m1ai1yI2p7t87QC41TgaR vfNR9QC2vbciNVT3Kca2Q9F7inJrQ643/VE/qAVe6gKf1jDn8iQxz+P5zOnBI5ci0H pIACvBfs5sKcWcU8N6buRBX2anDXoQHEUdeJ8biOmuAuupkW0nPji4HHu0t9GDhyHr zRAGwwK4L49pQedNnmFh14ixm+bBwy4uSZUQLvwlwawirLvU6w8uuhYp14GKWSTagg FaogAgIyc4HKS9JMpUrWdRDwq1m4AqDQ/38pOqHwBkKEoCZ5tTu0L73mrc7n1G4gZS g+xJZEb8kOH7A== Received: from pastel (unknown [216.154.29.173]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 1F8FC1204F8; Sat, 8 Jun 2019 20:03:13 -0400 (EDT) From: Stefan Monnier To: Robert Weiner Subject: Re: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) Message-ID: References: Date: Sat, 08 Jun 2019 20:03:12 -0400 In-Reply-To: (Robert Weiner's message of "Sat, 8 Jun 2019 19:05:36 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.054 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain KAM_SHORT 0.001 Use of a URL Shortener for very short URL X-SPAM-LEVEL: X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 36107 Cc: "36107@debbugs.gnu.org" <36107@debbugs.gnu.org>, Eric Bemiller , Robert Weiner X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > When I download 7.0.3 via the package manager, I still see hypb:functionp > defined without your merges. What do you see? =E2=80=94 Bob % wget 'http://elpa.gnu.org/packages/hyperbole-7.0.3.tar' --2019-06-08 19:54:42-- http://elpa.gnu.org/packages/hyperbole-7.0.3.t= ar R=C3=A9solution de elpa.gnu.org (elpa.gnu.org)=E2=80=A6 209.51.188.89 Connexion =C3=A0 elpa.gnu.org (elpa.gnu.org)|209.51.188.89|:80=E2=80=A6= connect=C3=A9. requ=C3=AAte HTTP transmise, en attente de la r=C3=A9ponse=E2=80=A6 200= OK Taille=C2=A0: 19712000 (19M) [application/x-tar] Sauvegarde en=C2=A0: =C2=AB=C2=A0hyperbole-7.0.3.tar=C2=A0=C2=BB =20=20=20=20 hyperbole-7.0.3.tar 100%[=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D>] 18.80M 23.6MB/s in 0.8s=20=20=20=20 =20=20=20=20 2019-06-08 19:54:43 (23.6 MB/s) =E2=80=94 =C2=AB=C2=A0hyperbole-7.0.3.t= ar=C2=A0=C2=BB sauvegard=C3=A9 [19712000/19712000] =20=20=20=20 % grep --text functionp hyperbole-7.0.3.tar (doc-str (if help-str nil (and (functionp cmd) (do= cumentation cmd))))) (if (functionp action) (unless (or (stringp newtext) (functionp newtext)) (cond ((functionp newtext) ((functionp pred-value) (if (not (functionp cmd)) (if (functionp type-help-func) ((functionp display-executables) (if (functionp hycontrol--quit-function) (if (functionp expr) (cond ((functionp predicate) (if (or (functionp browse-url-browser-function) %=20 No hypb:functionp in sight. You're likely installing it from some other ELPA archive rather than GNU ELPA. > We need to chat about this as there are a number of inconsistencies as > a result and of course wr should have only one version with a version > number. I also produce signed releases and tag the git commit with the > version number, so we need to agree to any merges beforehand. Not sure what there is to chat: you need to `git pull` from elpa.git into your branch; then undo/adjust the parts you dislike (I believe these should mostly be replacing a few (not (featurep 'xemacs)) with (featurep 'emacs)); then push the result, so that next time I pull from your branch, things will finally be in-sync. BTW I still have more cleanup to push to you, waiting for the two branches to be in sync [ tho by now, I'm not quite sure where I have it `git stashed` ;-) ] Stefan From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 09 11:29:53 2019 Received: (at 36107) by debbugs.gnu.org; 9 Jun 2019 15:29:54 +0000 Received: from localhost ([127.0.0.1]:55217 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZzlY-0001dw-Ry for submit@debbugs.gnu.org; Sun, 09 Jun 2019 11:29:53 -0400 Received: from smtp.egensajt.se ([193.42.159.246]:36559) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hZsnX-0005R3-GN for 36107@debbugs.gnu.org; Sun, 09 Jun 2019 04:03:28 -0400 Received: from barnacle (c83-254-104-161.bredband.comhem.se [83.254.104.161]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: mats.lidell@lidells.se) by smtp.egensajt.se (Postfix) with ESMTPSA id AD4E56A6; Sun, 9 Jun 2019 10:03:20 +0200 (CEST) From: Mats Lidell To: Stefan Monnier , Robert Weiner Subject: Re: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) References: Date: Sun, 09 Jun 2019 10:03:20 +0200 In-Reply-To: (Stefan Monnier's message of "Sat, 08 Jun 2019 20:03:12 -0400") Message-ID: <87v9xf2njr.fsf@lidells.se> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 36107 X-Mailman-Approved-At: Sun, 09 Jun 2019 11:29:51 -0400 Cc: "36107@debbugs.gnu.org" <36107@debbugs.gnu.org>, Eric Bemiller X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Stefan and Bob, [...] > you need to `git pull` from elpa.git into your branch; then undo/adjust the parts you dislike (I believe these should mostly be replacing a few (not (featurep 'xemacs)) with (featurep 'emacs)); then push the result, so that next time I pull from your branch, things will finally be in-sync. @Bob: I'm back from a short vacation now and will have some time to look at this. I think my last PR covered most of this but this time it ought to be even fewer changes. So the PR will be easier to review. Yours -- %% Mats From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 09 11:55:49 2019 Received: (at 36107) by debbugs.gnu.org; 9 Jun 2019 15:55:49 +0000 Received: from localhost ([127.0.0.1]:55249 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ha0Ae-0002GX-Li for submit@debbugs.gnu.org; Sun, 09 Jun 2019 11:55:48 -0400 Received: from eggs.gnu.org ([209.51.188.92]:36092) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ha0Ad-0002GM-Fg for 36107@debbugs.gnu.org; Sun, 09 Jun 2019 11:55:48 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:33102) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ha0AV-0000MS-54 for 36107@debbugs.gnu.org; Sun, 09 Jun 2019 11:55:40 -0400 Received: from mail-lj1-f181.google.com ([209.85.208.181]:33740) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1ha0AP-0004hd-4h for 36107@debbugs.gnu.org; Sun, 09 Jun 2019 11:55:36 -0400 Received: by mail-lj1-f181.google.com with SMTP id v29so5760045ljv.0 for <36107@debbugs.gnu.org>; Sun, 09 Jun 2019 08:55:33 -0700 (PDT) X-Gm-Message-State: APjAAAXz0GWXBT/xkw9r3J648xI3nw8o2ENVZN/54avov15V3G1drOtt hVnjkNYoFfLuG7vkMlsNlsttK+fE3FBn9F6uZS0= X-Google-Smtp-Source: APXvYqyH8Ke20gdNs/wsiobGGqs1KBJFA/LyjcDS9PzfHbxon68ugCIXOpdN/Z9ogdCujARVGZixB38wChrvuu/nF+4= X-Received: by 2002:a2e:63c4:: with SMTP id s65mr23869698lje.211.1560095731728; Sun, 09 Jun 2019 08:55:31 -0700 (PDT) MIME-Version: 1.0 References: <87v9xf2njr.fsf@lidells.se> In-Reply-To: <87v9xf2njr.fsf@lidells.se> From: Robert Weiner Date: Sun, 9 Jun 2019 11:55:05 -0400 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: bug#36107: Global Buttons Stop Functioning When Current Working Directory Changes (Forgot the Subject!) To: Mats Lidell Content-Type: multipart/alternative; boundary="000000000000e7c791058ae617ba" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 36107 Cc: "36107@debbugs.gnu.org" <36107@debbugs.gnu.org>, Stefan Monnier , Eric Bemiller X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: rswgnu@gmail.com Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --000000000000e7c791058ae617ba Content-Type: text/plain; charset="UTF-8" Welcome back! Let's get in sync for the next release and just agree that what I push is the final release and any changes have to be added to that before a commit with the release goes out or they don't make that release. Plus, I'd like to automate the elpa integration as part of the release Makefile. Thanks, Bob On Sun, Jun 9, 2019 at 4:03 AM Mats Lidell wrote: > Hi Stefan and Bob, > > [...] > > you need to `git pull` from elpa.git into your branch; then undo/adjust > the parts you dislike (I believe these should mostly be replacing a few > (not (featurep 'xemacs)) with (featurep 'emacs)); then push the result, so > that next time I pull from your branch, things will finally be in-sync. > > @Bob: I'm back from a short vacation now and will have some time to look > at this. I think my last PR covered most of this but this time it ought to > be even fewer changes. So the PR will be easier to review. > > Yours > -- > %% Mats > --000000000000e7c791058ae617ba Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Welcome back! Let's get in sync for the next release and j= ust agree that what I push is the final release and any changes have to be = added to that before a commit with the release goes out or they don't m= ake that release.=C2=A0 Plus, I'd like to automate the elpa integration= as part of the release Makefile.

Thanks,

Bob


On Sun, Jun 9, 2019 at 4:03 AM Mats Lidell <mats.lidell@lidells.se> wrote:
Hi Stefan and Bob,

[...]
> you need to `git pull` from elpa.git into your branch; then undo/adjus= t the parts you dislike (I believe these should mostly be replacing a few (= not (featurep 'xemacs)) with (featurep 'emacs)); then push the resu= lt, so that next time I pull from your branch, things will finally be in-sy= nc.

@Bob: I'm back from a short vacation now and will have some time to loo= k at this. I think my last PR covered most of this but this time it ought t= o be even fewer changes. So the PR will be easier to review.

Yours
--
%% Mats
--000000000000e7c791058ae617ba-- From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 09 19:25:32 2020 Received: (at control) by debbugs.gnu.org; 9 Oct 2020 23:25:32 +0000 Received: from localhost ([127.0.0.1]:36628 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kR1lT-0004Yl-K5 for submit@debbugs.gnu.org; Fri, 09 Oct 2020 19:25:32 -0400 Received: from eggs.gnu.org ([209.51.188.92]:54676) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kR1Np-0003vx-JL for control@debbugs.gnu.org; Fri, 09 Oct 2020 19:01:09 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:55353) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kR1Nk-0002Eq-93 for control@debbugs.gnu.org; Fri, 09 Oct 2020 19:01:00 -0400 Received: from c80-217-131-84.bredband.comhem.se ([80.217.131.84]:40888 helo=barnacle) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kR1Nj-0000yy-F0 for control@debbugs.gnu.org; Fri, 09 Oct 2020 19:00:59 -0400 Date: Sat, 10 Oct 2020 01:00:57 +0200 Message-Id: <87k0vzatsm.fsf@gillsatra.se> To: control@debbugs.gnu.org From: Mats Lidell Subject: control message for bug #36107 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control X-Mailman-Approved-At: Fri, 09 Oct 2020 19:25:31 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) close 36107 quit From unknown Fri Jun 20 07:28:01 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 07 Nov 2020 12:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator