From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS4713 221.184.0.0/13 X-Spam-Status: No, score=-3.5 required=3.0 tests=AWL,BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI,SPF_HELO_NONE, T_SCC_BODY_TEXT_LINE,T_SPF_PERMERROR,UNPARSEABLE_RELAY,URIBL_GREY shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id 14DB71F54E for ; Tue, 9 Aug 2022 11:52:40 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=sendgrid.me header.i=@sendgrid.me header.b="XAOMey2K"; dkim-atps=neutral Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id B3731121952; Tue, 9 Aug 2022 20:52:33 +0900 (JST) Received: from o1678948x4.outbound-mail.sendgrid.net (o1678948x4.outbound-mail.sendgrid.net [167.89.48.4]) by neon.ruby-lang.org (Postfix) with ESMTPS id CDC4312194E for ; Tue, 9 Aug 2022 20:52:30 +0900 (JST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sendgrid.me; h=from:references:subject:mime-version:content-type: content-transfer-encoding:list-id:to:cc; s=smtpapi; bh=090vbW9ZshX/P14SxE95YoAgeS4rlQUoS2BJ27r/LvU=; b=XAOMey2Ku3SFs32zpUMoYe4nLJJfeYsb81snr/2V9pLbIaugs+lUSECT/qqAXMH1iEa7 JN1B20N7LzIh4skexqnkgELxzBcnbCAv/FbqksFtWussr1+fC8elmcPsYuSALphSO6rukp NbtFVuu9A7Wq0cFrgQKtYOWLVq8pN5PnQ= Received: by filterdrecv-7787b7f4d9-gcnf9 with SMTP id filterdrecv-7787b7f4d9-gcnf9-1-62F24A7C-19 2022-08-09 11:52:28.533703367 +0000 UTC m=+1611985.036557086 Received: from herokuapp.com (unknown) by geopod-ismtpd-4-5 (SG) with ESMTP id Tx78Y6FGTRSqIgxi3uS-CQ for ; Tue, 09 Aug 2022 11:52:28.436 +0000 (UTC) Date: Tue, 09 Aug 2022 11:52:28 +0000 (UTC) From: "Eregon (Benoit Daloze)" Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 18949 X-Redmine-Issue-Author: Eregon X-Redmine-Sender: Eregon X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-Redmine-MailingListIntegration-Message-Ids: 85862 X-SG-EID: =?us-ascii?Q?DvL3W2Xo+Vk=2FeUn3F50L=2FNc8u9NqZCnbE0mXZHiyye4R1YZg=2FtAFc0SAFzpcS=2F?= =?us-ascii?Q?Zcr7BqPN=2FYCcMZBMITNeIci9STxYay0JAJWPbek?= =?us-ascii?Q?rFR+qVEnDbswpSknn5a=2FEHsOcdkKP5KvqL0nEuh?= =?us-ascii?Q?DtRvPabjvD0hGykY3a3OoDQYNQv1p3BdyI15vw4?= =?us-ascii?Q?4xTZ91E6RYZnREjp9NPSmDXye8PNY6PB8536=2FVb?= =?us-ascii?Q?kDvUMmU3CFz2LNQLBEiXQkxC483PLpJsSIyG932?= =?us-ascii?Q?2l6wQRyVWzJcn9XNQ8n0Q=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 109454 Subject: [ruby-core:109454] [Ruby master Feature#18949] Deprecate and remove replicate and dummy encodings X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Reply-To: Ruby developers Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" SXNzdWUgIzE4OTQ5IGhhcyBiZWVuIHVwZGF0ZWQgYnkgRXJlZ29uIChCZW5vaXQgRGFsb3plKS4N Cg0KDQpkdWVyc3QgKE1hcnRpbiBEw7xyc3QpIHdyb3RlIGluICNub3RlLTIwOg0KPiBJIHRoaW5r IGl0IHNob3VsZCBiZSBva2F5IHRvIGluIHlvdXIgaW1wbGVtZW50YXRpb24gYXNzdW1lIGEgbWF4 aW11bSBudW1iZXIgb2YgZW5jb2RpbmdzIChjdXJyZW50bHksIHRoZSBudW1iZXIgb2YgYWN0dWFs IGVuY29kaW5ncyBpbiBDUnVieSBpcyBhIGJpdCBtb3JlIHRoYW4gMTAwLCBzbyBhIG1heCBvZiAx Mjcgb3Igd2hhdGV2ZXIgbWlnaHQgYmUgYSBnb29kIGNob2ljZSkuIFRoZW4geW91IGRvbid0IG5l ZWQgYSBoYXNodGFibGUsIHlvdSBjYW4ganVzdCB1c2UgYW4gYXJyYXkuDQoNClRoYXQgd291bGQg Z2V0IG9ubHkgYSBzbWFsbCBwYXJ0IG9mIHRoZSBiZW5lZml0cywgd291bGQgaW50cm9kdWNlIGEg d2VpcmQgYXJiaXRyYXJ5IGxpbWl0IGZvciBgRW5jb2RpbmcjcmVwbGljYXRlYC9gcmJfZGVmaW5l X2R1bW15X2VuY29kaW5nYCBhbmQgd291bGQgbm90IHJlbW92ZSB0aGUgbmVlZCBmb3Igc3luY2hy b25pemF0aW9uLg0KU28gSSBkb24ndCB0aGluayB0aGF0J3MgYSBnb29kIGNob2ljZSBpbiBwcmFj dGljZSBmb3IgYW55IFJ1YnkgaW1wbGVtZW50YXRpb24uDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0NCkZlYXR1cmUgIzE4OTQ5OiBEZXByZWNhdGUgYW5kIHJlbW92 ZSByZXBsaWNhdGUgYW5kIGR1bW15IGVuY29kaW5ncw0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5v cmcvaXNzdWVzLzE4OTQ5I2NoYW5nZS05ODYxMg0KDQoqIEF1dGhvcjogRXJlZ29uIChCZW5vaXQg RGFsb3plKQ0KKiBTdGF0dXM6IE9wZW4NCiogUHJpb3JpdHk6IE5vcm1hbA0KLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUnVieSBoYXMgYSBsb3Qgb2YgYWNjaWRlbnRh bCBjb21wbGV4aXR5Lg0KU29tZXRpbWVzIGl0IGJlY29tZXMgY2xlYXIgc29tZSBmZWF0dXJlcyBi cmluZyBhIGxvdCBvZiBjb21wbGV4aXR5IGFuZCB5ZXQgcHJvdmlkZSBsaXR0bGUgdmFsdWUgb3Ig YXJlIHVzZWQgdmVyeSByYXJlbHkuDQpBbHNvIG1vc3QgUnVieSB1c2VycyBkbyBub3QgZXZlbiBr bm93IGFib3V0IHRoZXNlIGZlYXR1cmVzLg0KUmVwbGljYXRlIGFuZCBkdW1teSBlbmNvZGluZ3Mg c2VlbSB0byBjbGVhcmx5IGZhbGwgaW50byB0aGlzIGNhdGVnb3J5LCBhbG1vc3Qgbm9ib2R5IHVz ZXMgdGhlbSBidXQgdGhleSBhZGQgYSBzaWduaWZpY2FudCBjb21wbGV4aXR5IGFuZCBhbHNvIGFk ZCBhIHNpZ25pZmljYW50IHBlcmZvcm1hbmNlIG92ZXJoZWFkLg0KTm90YWJseSwgdGhlIGV4aXN0 ZW5jZSBvZiB0aG9zZSBtZWFucyB0aGUgbnVtYmVyIG9mIGVuY29kaW5ncyBpbiBhIFJ1YnkgcnVu dGltZSBpcyBhY3R1YWxseSB2YXJpYWJsZSBhbmQgbm90IGZpeGVkLg0KVGhhdCBtZWFucyBleHRy YSBzeW5jaHJvbml6YXRpb24sIGhhc2h0YWJsZSBsb29rdXBzLCBpbmRpcmVjdGlvbnMsIGZ1bmN0 aW9uIGNhbGxzLCBldGMuDQoNCiMjIFJlcGxpY2F0ZSBFbmNvZGluZ3MNCg0KUmVwbGljYXRlIGVu Y29kaW5ncyBhcmUgY3JlYXRlZCB1c2luZyBgRW5jb2RpbmcjcmVwbGljYXRlKG5hbWUpYC4NCkl0 IGFsbW9zdCBzb3VuZHMgbGlrZSBhbiBhbGlhcyBidXQgaW4gZmFjdCBpdCBpcyBtb3JlIHRoYW4g dGhhdCBhbmQgY3JlYXRlcyBhIG5ldyBFbmNvZGluZyBvYmplY3QsIHdoaWNoIGNhbiBiZSB1c2Vk IGJ5IGEgU3RyaW5nOg0KYGBgcnVieQ0KZSA9IEVuY29kaW5nOjpVU19BU0NJSS5yZXBsaWNhdGUo J01ZLVVTLUFTQ0lJJykNCnMgPSAiYWJjIi5mb3JjZV9lbmNvZGluZyhlKQ0KcCBzLmVuY29kaW5n ICMgPT4gZQ0KcCBzLmVuY29kaW5nLm5hbWUgIyA9PiAnTVktVVMtQVNDSUknDQpgYGANCg0KVGhp cyBzZWVtcyBjb21wbGV0ZWx5IHVzZWxlc3MuDQpUaGVyZSBpcyBhbiBvYnZpb3VzIGZpcnN0IHN0 ZXAgaGVyZSB3aGljaCBpcyB0byBjaGFuZ2UgYEVuY29kaW5nI3JlcGxpY2F0ZWAgdG8gcmV0dXJu IHRoZSByZWNlaXZlciwgYW5kIGp1c3QgaW5zdGFsbCBhbiBhbGlhcyBmb3IgaXQuDQpUaGF0IGF2 b2lkcyBjcmVhdGluZyBtb3JlIGVuY29kaW5nIGluc3RhbmNlcyBuZWVkbGVzc2x5Lg0KDQpJIHRo aW5rIHdlIHNob3VsZCBhbHNvIGRlcHJlY2F0ZSBhbmQgcmVtb3ZlIHRoaXMgbWV0aG9kIHRob3Vn aCwgaXQgaXMgbmV2ZXIgYSBnb29kIGlkZWEgdG8gaGF2ZSBhIGdsb2JhbCBtdXRhYmxlIG1hcCBs aWtlIHRoaXMuDQpJZiBzb21lb25lIHdhbnQgZXh0cmEgYWxpYXNlcyBmb3IgZW5jb2RpbmdzLCB0 aGV5IGNhbiBlYXNpbHkgdG8gZG8gc28gYnkgaGF2aW5nIHRoZWlyIG93biBIYXNoOiBgeyBhbGlh cyA9PiBlbmNvZGluZyB9LmZldGNoKG5hbWUpIHsgRW5jb2RpbmcuZmluZChuYW1lKSB9YC4NCg0K IyMgRHVtbXkgRW5jb2RpbmdzDQoNCkR1bW15IGVuY29kaW5ncyBhcmUgbm90IHJlYWwgZW5jb2Rp bmdzLiBUaGV5IGFyZSBhcnRpZmljaWFsIGVuY29kaW5ncyBkZXNpZ25lZCB0byBsb29rIGxpa2Ug ZW5jb2RpbmdzLCBidXQgZG9uJ3QgZnVuY3Rpb24gYXMgZW5jb2RpbmdzIGluIFJ1YnkuDQpGcm9t IHRoZSBkb2NzOg0KYGBgDQplbmMuZHVtbXk/IC0+IHRydWUgb3IgZmFsc2UNCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KUmV0dXJucyB0cnVlIGZvciBkdW1teSBlbmNvZGluZ3MuIEEgZHVtbXkgZW5jb2Rpbmcg aXMgYW4gZW5jb2RpbmcgZm9yDQp3aGljaCBjaGFyYWN0ZXIgaGFuZGxpbmcgaXMgbm90IHByb3Bl cmx5IGltcGxlbWVudGVkLiBJdCBpcyB1c2VkIGZvcg0Kc3RhdGVmdWwgZW5jb2RpbmdzLg0KYGBg DQoNCkkgd29uZGVyIHdoeSB3ZSBoYXZlIHRob3NlIGhhbGYtaW1wbGVtZW50ZWQgZW5jb2Rpbmdz IGluIGNvcmUsIGl0IHNvdW5kcyB0byBtZSBsaWtlIHVuZmluaXNoZWQgd29yayB3aGljaCBzaG91 bGQgbm90IGhhdmUgYmVlbiBtZXJnZWQuDQoNClRoZSAiY29kZXBvaW50cyIgb2YgZHVtbXkgZW5j b2RpbmdzIGFyZSBqdXN0ICJieXRlcyIgYW5kIHNvIHRoZXkgYmVoYXZlIHRoZSBzYW1lIGFzIGBF bmNvZGluZzo6QklOQVJZYCwgd2l0aCB0aGUgZXhjZXB0aW9uIG9mIHRoZSBVVEYtMTYgYW5kIFVU Ri0zMiBkdW1teSBlbmNvZGluZ3MuDQoNCiMjIyBVVEYtMTYgYW5kIFVURi0zMiBkdW1teSBlbmNv ZGluZ3MNCg0KVGhlc2UgdHdvIGFyZSBzcGVjaWFsIGR1bW15IGVuY29kaW5ncy4NCldoYXQgdGhl eSBkbyBpcyB0aGV5IHNjYW4gdGhlIGZpcnN0IDIgb3IgNCBieXRlcyBvZiB0aGUgU3RyaW5nLCBh bmQgaWYgdGhvc2UgYnl0ZXMgYXJlIGEgYnl0ZS1vcmRlciBtYXJrIChCT00pLA0KdGhlIHRydWUg ImFjdHVhbCIgZW5jb2RpbmcgaXMgcmVzb2x2ZWQgdG8gVVRGLTE2QkUvVVRGLTE2TEUgb3IgVVRG LTMyQkUvVVRGLTMyTEUuDQpPdGhlcndpc2UsIGBFbmNvZGluZzo6QklOQVJZYCBpcyByZXR1cm5l ZC4NClRoaXMgbG9naWMgaXMgZG9uZSBieSBgZ2V0X2FjdHVhbF9lbmNvZGluZygpYC4NCg0KV2hh dCBpcyB3ZWlyZCBpcyB0aGlzIGNoZWNrIGlzIG5vdCBkb25lIG9uIFN0cmluZyBjcmVhdGlvbiwg bm8sIGl0IGlzIGRvbmUgKmV2ZXJ5IHRpbWUqIHRoZSBlbmNvZGluZyBvZiB0aGF0IFN0cmluZyBp cyBhY2Nlc3NlZCAoYW5kIHRoZSByZXN1bHQgaXMgbm90IHN0b3JlZCBvbiB0aGUgU3RyaW5nKS4N ClRoYXQgaXMgYSBuZWVkbGVzcyBvdmVyaGVhZCBhbmQgcmVhbGx5IHVucmVsaWFibGUgc2VtYW50 aWNzLg0KRG8gd2UgcmVhbGx5IHdhbnQgYSBTdHJpbmcgd2hpY2ggYXV0b21hZ2ljYWxseSBjaGFu Z2VzIGJldHdlZW4gVVRGLTE2TEUgYW5kIFVURi0xNkJFIGJhc2VkIG9uIG11dGF0aW5nIGl0cyBi eXRlcz8gSSB0aGluayBub2JvZHkgd2FudHMgdGhhdDoNCmBgYHJ1YnkNCnMgPSAiXHhGRlx4RkVh XHgwMGJceDAwY1x4MDBkXHgwMCIuZm9yY2VfZW5jb2RpbmcoIlVURi0xNiIpDQpwIHMgIyA9PiAi XHVGRUZGYWJjZCINCnMuc2V0Ynl0ZSAwLCAyNTQNCnMuc2V0Ynl0ZSAxLCAyNTUNCnAgcyAjID0+ ICJcdUZFRkZcdTYxMDBcdTYyMDBcdTYzMDBcdTY0MDAiDQpgYGANCg0KSSB0aGluayB0aGUgcGF0 aCBpcyBjbGVhciwgd2Ugc2hvdWxkIGRlcHJlY2F0ZSBhbmQgdGhlbiByZW1vdmUgRW5jb2Rpbmc6 OlVURl8xNiBhbmQgRW5jb2Rpbmc6OlVURl8zMiAoZHVtbXkgZW5jb2RpbmdzKS4NCkFuZCB0aGVu IHdlIG5vIGxvbmdlciBuZWVkIGBnZXRfYWN0dWFsX2VuY29kaW5nKClgIGFuZCB0aGUgb3Zlcmhl YWQgaXQgYWRkcyB0byBldmVyeSBTdHJpbmcgbWV0aG9kLg0KDQpXZSBjb3VsZCBhbHNvIGtlZXAg dGhvc2UgY29uc3RhbnRzIGFuZCBtYWtlIHRoZW0gcmVmZXIgdGhlIG5hdGl2ZS1lbmRpYW4gVVRG LTE2LzMyLg0KQnV0IHRoYXQgY291bGQgY2F1c2UgY29uZnVzaW5nIGVycm9ycyBhcyB3ZSB3b3Vs ZCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlbS4NCldlIGNvdWxkIGFkZCBgRW5jb2Rpbmc6OlVU Rl8xNk5FYCAvIGBFbmNvZGluZzo6VVRGXzE2X05BVElWRV9FTkRJQU5gIGlmIHRoYXQgaXMgdXNl ZnVsLg0KDQpBbm90aGVyIHBvc3NpYmlsaXR5IHdvdWxkIGJlIHRvIHJlc29sdmUgdGhlc2UgZW5j b2RpbmdzIG9uIFN0cmluZyBjcmVhdGlvbiwgbGlrZToNCmBgYA0KIlx4RkZceEZFIi5mb3JjZV9l bmNvZGluZygiVVRGLTE2IikuZW5jb2RpbmcgIyA9PiBVVEYtMTZMRQ0KU3RyaW5nLm5ldygiXHhG Rlx4RkUiLCBlbmNvZGluZzogRW5jb2Rpbmc6OlVURl8xNikuZW5jb2RpbmcgIyA9PiBVVEYtMTZM RQ0KImFiIi5mb3JjZV9lbmNvZGluZygiVVRGLTE2IikuZW5jb2RpbmcgIyBleGNlcHRpb24sIG5v dCBhIEJPTQ0KU3RyaW5nLm5ldygiYWIiLCBlbmNvZGluZzogRW5jb2Rpbmc6OlVURl8xNikuZW5j b2RpbmcgIyBleGNlcHRpb24sIG5vdCBhIEJPTQ0KYGBgDQpJIHRoaW5rIGl0IGlzIHVubmVjZXNz YXJ5IHRvIGtlZXAgc3VjaCBjb21wbGV4aXR5IHRob3VnaC4NCkEgY2xhc3MgbWV0aG9kIG9uIFN0 cmluZyBvciBFbmNvZGluZyBsaWtlIGUuZy4gYEVuY29kaW5nLmZpbmRfZnJvbV9ib20oc3RyaW5n KWAgaXMgc28gbXVjaCBjbGVhcmVyIGFuZCBlZmZpY2llbnQgKG5vIG5lZWQgdG8gc3BlY2lhbCBj YXNlIHRob3NlIGVuY29kaW5ncyBpbiBTdHJpbmcubmV3LCAjZm9yY2VfZW5jb2RpbmcsIGV0Yyku DQoNCkZXSVcgSlJ1Ynkgc2VlbXMgdG8gdXNlIGBnZXRBY3R1YWxFbmNvZGluZygpYCBvbmx5IGlu IDIgcGxhY2VzIChzY2FuRm9yQ29kZVJhbmdlLCBpbnNwZWN0KSwgd2hpY2ggaXMgYW4gaW5kaWNh dGlvbiB0aG9zZSBkdW1teSBVVEYgZW5jb2RpbmdzIGFyZSBiYXJlbHkgdXNlZCBpZiBldmVyLiBT aW1pbGFybHksIFRydWZmbGVSdWJ5IG9ubHkgaGFzIDQgdXNhZ2VzIG9mIGBHZXRBY3R1YWxFbmNv ZGluZ05vZGVgLg0KDQojIyMgRXhpc3RpbmcgZHVtbXkgZW5jb2RpbmdzDQoNCmBgYA0KPiBFbmNv ZGluZy5saXN0LnNlbGVjdCgmOmR1bW15PykgDQpbIzxFbmNvZGluZzpVVEYtMTYgKGR1bW15KT4s ICAjPEVuY29kaW5nOlVURi0zMiAoZHVtbXkpPiwNCiAjPEVuY29kaW5nOklCTTAzNyAoZHVtbXkp PiwgIzxFbmNvZGluZzpVVEYtNyAoZHVtbXkpPiwNCiAjPEVuY29kaW5nOklTTy0yMDIyLUpQIChk dW1teSk+LCAjPEVuY29kaW5nOklTTy0yMDIyLUpQLTIgKGR1bW15KT4sICM8RW5jb2Rpbmc6SVNP LTIwMjItSlAtS0RESSAoZHVtbXkpPiwNCiAjPEVuY29kaW5nOkNQNTAyMjAgKGR1bW15KT4sICM8 RW5jb2Rpbmc6Q1A1MDIyMSAoZHVtbXkpPl0NCmBgYA0KDQpTbyBiZXNpZGVzIFVURi0xNi9VVEYt MzIgZHVtbXksIGl0J3Mgb25seSA3IGVuY29kaW5ncy4NCkRvZXMgYW55b25lIHVzZSBvbmUgb2Yg dGhlc2UgNyBkdW1teSBlbmNvZGluZ3M/DQoNCldoYXQgaXMgaW50ZXJlc3RpbmcgdG8gbm90ZSwg aXMgdGhhdCB0aGVzZSBlbmNvZGluZ3MgYXJlIGV4YWN0bHkgdGhlIG9uZXMgdGhhdCBhcmUgYWxz byBub3QgQVNDSUktY29tcGF0aWJsZSwgd2l0aCB0aGUgZXhjZXB0aW9uIG9mIFVURi0xNkJFL1VU Ri0xNkxFL1VURi0zMkJFL1VURi0zMkxFIChub24tZHVtbXkpLg0KQXMgYSBub3RlLCBVVEYtezE2 LDMyfXtCRSxMRX0gYXJlIEFTQ0lJLWNvbXBhdGlibGUgaW4gY29kZXBvaW50cyBidXQgbm90IGlu IGJ5dGVzLCBhbmQgUnVieSB1c2VzIHRoZSBieXRlcyBkZWZpbml0aW9uIG9mIEFTQ0lJLWNvbXBh dGlibGUuDQpUaGVyZSBpcyBwb3RlbnRpYWwgdG8gc2ltcGxpZnkgZW5jb2RpbmcgY29tcGF0aWJp bGl0eSBydWxlcyBhbmQgZW5jb2RpbmcgY29tcGF0aWJpbGl0eSBjaGVja3MgYmFzZWQgb24gdGhh dC4NClNvIHdoYXQgdGhpcyBtZWFucyBpcyBpZiB3ZSByZW1vdmVkIGR1bW15IGVuY29kaW5ncywg YWxsIGVuY29kaW5ncyBleGNlcHQgVVRGLXsxNiwzMn17QkUsTEV9IHdvdWxkIGJlIEFTQ0lJLWNv bXBhdGlibGUsIHdoaWNoIHdvdWxkIGxlYWQgdG8gc2lnbmlmaWNhbnQgc2ltcGxpZmljYXRpb25z IGZvciBtYW55IHN0cmluZyBvcGVyYXRpb25zIHdoaWNoIGN1cnJlbnRseSBuZWVkIHRvIGhhbmRs ZSBkdW1teSBlbmNvZGluZ3Mgc3BlY2lhbGx5Lg0KVW5pY29kZSBlbmNvZGluZ3MgbGlrZSBVVEYt ezE2LDMyfXtCRSxMRX0gYWxyZWFkeSBoYXZlIHNwZWNpYWwgYmVoYXZpb3IgZm9yIHNvbWUgUnVi eSBtZXRob2RzLCBzbyB0aG9zZSBhcmUgYWxyZWFkeSBoYW5kbGVkIHNwZWNpYWxseSBpbiBzb21l IHBsYWNlcyAodGhleSBhcmUgdGhlIG9ubHkgZW5jb2RpbmdzIHdpdGggbWluTGVuZ3RoID4gMSku DQoNCmBgYA0KPiBFbmNvZGluZy5saXN0LnJlamVjdCgmOmFzY2lpX2NvbXBhdGlibGU/KQ0KWyM8 RW5jb2Rpbmc6VVRGLTE2QkU+LCAjPEVuY29kaW5nOlVURi0xNkxFPiwNCiAjPEVuY29kaW5nOlVU Ri0zMkJFPiwgIzxFbmNvZGluZzpVVEYtMzJMRT4sDQogIzxFbmNvZGluZzpVVEYtMTYgKGR1bW15 KT4sICM8RW5jb2Rpbmc6VVRGLTMyIChkdW1teSk+LA0KICM8RW5jb2Rpbmc6SUJNMDM3IChkdW1t eSk+LCAjPEVuY29kaW5nOlVURi03IChkdW1teSk+LA0KICM8RW5jb2Rpbmc6SVNPLTIwMjItSlAg KGR1bW15KT4sICM8RW5jb2Rpbmc6SVNPLTIwMjItSlAtMiAoZHVtbXkpPiwgIzxFbmNvZGluZzpJ U08tMjAyMi1KUC1LRERJIChkdW1teSk+LA0KICM8RW5jb2Rpbmc6Q1A1MDIyMCAoZHVtbXkpPiwg IzxFbmNvZGluZzpDUDUwMjIxIChkdW1teSk+XQ0KYGBgDQoNCldoYXQgY2FuIHdlIGRvIHdpdGgg c3VjaCBhIGR1bW15IG5vbi1BU0NJSS1jb21wYXRpYmxlIGVuY29kaW5nPw0KQWxtb3N0IG5vdGhp bmcgdXNlZnVsOg0KYGBgcnVieQ0KcyA9ICJhYmMiLmVuY29kZSgiSUJNMDM3IikNCj0+ICJceDgx XHg4Mlx4ODMiDQo+IHMuYnl0ZXMNCj0+IFsxMjksIDEzMCwgMTMxXQ0KPiBzLmNvZGVwb2ludHMN Cj0+IFsxMjksIDEzMCwgMTMxXQ0KPiBzID09ICJhYmMiDQo9PiBmYWxzZQ0KPiAiw6l0w6kiLmVu Y29kZSgiSUJNMDM3IikNCj0+ICJceDUxXHhBM1x4NTEiDQpgYGANCg0KU28gYWJvdXQgdGhlIG9u bHkgdGhpbmcgdGhhdCB3b3JrcyB3aXRoIHRoZW0gaXMgYFN0cmluZyNlbmNvZGVgLg0KDQpJIHRo aW5rIHdlIGNvdWxkIHByZXNlcnZlIHRoYXQgZnVuY3Rpb25hbGl0eSwgaWYgYWN0dWFsbHkgdXNl ZCAoZG9lcyBhbnlvbmUgdXNlIG9uZSBvZiB0aGVzZSA3IGR1bW15IGVuY29kaW5ncz8pLCB0aHJv dWdoOg0KYGBgcnVieQ0KPiAiw6l0w6kiLmVuY29kZSgiSUJNMDM3IikNCj0+ICJceDUxXHhBM1x4 NTEiICguZW5jb2RpbmcgPT0gQklOQVJZKQ0KPiAiXHg1MVx4QTNceDUxIi5lbmNvZGUoIlVURi04 IiwgIklCTTAzNyIpICMgZW5jb2RlIGZyb20gSUJNMDM3IHRvIFVURi04DQo9PiAiw6l0w6kiICgu ZW5jb2RpbmcgPT0gVVRGLTgpDQpgYGANCg0KVGhhdCB3YXkgdGhlcmUgaXMgbm8gbmVlZCBmb3Ig dGhvc2UgdG8gYmUgRW5jb2RpbmcgaW5zdGFuY2VzLCB3ZSB3b3VsZCBvbmx5IG5lZWQgdGhlIGNv bnZlcnNpb24gdGFibGVzLg0KDQpJdCBpcyBldmVuIGJldHRlciBpZiB3ZSBjYW4gcmVtb3ZlIHRo ZW0sIHNvIHRoZSBub3Rpb24gb2YgImR1bW15IGVuY29kaW5ncyIgY2FuIGRpc2FwcGVhciBjb21w bGV0ZWx5IGFuZCBub2JvZHkgbmVlZHMgdG8gdW5kZXJzdGFuZCBvciBpbXBsZW1lbnQgdGhlbS4N Cg0KIyMjIHJiX2RlZmluZV9kdW1teV9lbmNvZGluZyhuYW1lKQ0KDQpUaGUgQy1BUEkgaGFzIGBy Yl9kZWZpbmVfZHVtbXlfZW5jb2RpbmcoY29uc3QgY2hhciAqbmFtZSlgLg0KVGhpcyBjcmVhdGVz IGEgbmV3IEVuY29kaW5nIGluc3RhbmNlIHdpdGggYGR1bW15Pz10cnVlYCwgYW5kIGl0IGlzIGFs c28gbm9uLUFTQ0lJLWNvbXBhdGlibGUuDQpUaGVyZSBzZWVtcyB0byBiZSBubyBwdXJwb3NlIHRv IHRoaXMgYmVzaWRlcyBzdG9yaW5nIHRoZSBtZXRhZGF0YSBvZiBhbiBlbmNvZGluZyB3aGljaCBk b2VzIG5vdCBleGlzdCBpbiBSdWJ5Lg0KVGhpcyBzZWVtcyBhIHJlYWxseSBleHBlbnNpdmUvY29t cGxleCB3YXkgdG8gaGFuZGxlIHRoYXQgZnJvbSB0aGUgVk0gcG9pbnQgb2YgdmlldyAoYmVjYXVz ZSBpdCBkeW5hbWljYWxseSBjcmVhdGVzIGFuIEVuY29kaW5nIGFuZCBhZGQgaXQgdG8gbGlzdHMv bWFwcy9ldGMpLg0KQSBzaW1wbGUgcmVwbGFjZW1lbnQgd291bGQgYmUgdG8gbWFyayB0aGUgU3Ry aW5nIGFzIEJJTkFSWSBhbmQgc2F2ZSB0aGUgZW5jb2RpbmcgbmFtZSBhcyBhbiBpbnN0YW5jZSB2 YXJpYWJsZSBvZiB0aGF0IFN0cmluZy4NClNpbmNlIGFueXdheSBSdWJ5IGNhbid0IHVuZGVyc3Rh bmQgYW55dGhpbmcgYWJvdXQgdGhhdCBTdHJpbmcsIGl0J3MganVzdCByYXcgYnl0ZXMgdG8gUnVi eSdzIGV5ZXMuDQoNCiMjIFN1bW1hcnkNCg0KSSBzdWdnZXN0IHdlIGRlcHJlY2F0ZSByZXBsaWNh dGUgYW5kIGR1bW15IGVuY29kaW5ncyBpbiBSdWJ5IDMuMi4NCkFuZCB0aGVuIHdlIHJlbW92ZSB0 aGVtIGluIHRoZSBuZXh0IHZlcnNpb24uDQoNClRoaXMgd2lsbCBzaWduaWZpY2FudGx5IHNpbXBs aWZ5IHN0cmluZy1yZWxhdGVkIG1ldGhvZHMsIGFuZCB0aGUgYmVoYXZpb3IgZXhwb3NlZCB0byBS dWJ5IHVzZXJzLg0KDQpJdCB3aWxsIGFsc28gc2lnbmlmaWNhbnRseSBzcGVlZHVwIGVuY29kaW5n IGxvb2t1cCBpbiBDUnVieSAoYW5kIG90aGVyIFJ1YnkgaW1wbGVtZW50YXRpb25zKS4NCldpdGgg YSBmaXhlZCBudW1iZXIgb2YgZW5jb2RpbmdzIHdlIGNhbiBlbnN1cmUgYWxsIGVuY29kaW5nIGlu ZGljZXMgZml0IGluIDcgYml0cywgYW5kIGBFTkNPRElOR19HRVRgIGNhbiBiZSBzaW1wbHkgYFJC X0VOQ09ESU5HX0dFVF9JTkxJTkVEYC4NCmBnZXRfYWN0dWFsX2VuY29kaW5nKClgIHdpbGwgYmUg Z29uZSBhbmQgaXRzIG92ZXJoZWFkIGFzIHdlbGwuDQpgcmJfZW5jX2Zyb21faW5kZXgoKWAgd291 bGQgYmUganVzdCBgcmV0dXJuIGdsb2JhbF9lbmNfdGFibGUtPmxpc3RbaW5kZXhdLmVuYztgLCBp bnN0ZWFkIG9mIHRoZSBleHBlbnNpdmUgYmVoYXZpb3IgY3VycmVudGx5IHdpdGggYEdMT0JBTF9F TkNfVEFCTEVfRVZBTGAgd2hpY2ggdGFrZXMgYSBsb2NrIGFuZCBtb3JlIHdoZW4gdGhlcmUgYXJl IG11bHRpcGxlIFJhY3RvcnMuDQpNYW55IGNoZWNrcyBpbiB0aGVzZSBtZXRob2RzIHdvdWxkIGJl IHJlbW92ZWQgYXMgd2VsbC4NCllldCBhbm90aGVyIGltcHJvdmVtZW50IHdvdWxkIGJlIHRvIGxv YWQgYWxsIGVuY29kaW5ncyBlYWdlcmx5LCB0aGF0IGlzIHNtYWxsIGFuZCBmYXN0IGluIG15IGV4 cGVyaWVuY2UsIHdoYXQgaXMgc2xvdyBhbmQgYmlnIGlzIHRoZSBjb252ZXJzaW9uIHRhYmxlcywg dGhhdCdkIHNpbXBsaWZ5IGBtdXN0X2VuY2luZGV4KClgIGZ1cnRoZXIuDQpUaGVzZSBjaGFuZ2Vz IHdvdWxkIGFmZmVjdCBtb3N0IFN0cmluZyBtZXRob2RzLCB3aGljaCB1c2UNCmBgYA0KU1RSX0VO Q19HRVQtPmdldF9lbmNvZGluZyB3aGljaCBkb2VzOg0KICBnZXRfYWN0dWFsX2VuY29kaW5nLT5y Yl9lbmNfZnJvbV9pbmRleCBhbmQgcG9zc2libHkgLT5lbmNfZnJvbV9pbmRleA0KICBFTkNPRElO R19HRVQtPlJCX0VOQ09ESU5HX0dFVF9JTkxJTkVEIGFuZCBwb3NzaWJseSAtPnJiX2VuY19nZXRf aW5kZXgtPmVuY19nZXRfaW5kZXhfc3RyLT5yYl9hdHRyX2dldA0KYGBgDQpTb21lIG9mIHRoZXNl IGRldGFpbHMgYXJlIG1lbnRpb25lZCBpbiBodHRwczovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L3B1 bGwvNjA5NSNkaXNjdXNzaW9uX3I5MTUxNDk3MDguDQpUaGUgb3ZlcmhlYWQgaXMgc28gbGFyZ2Ug dGhhdCBpdCBpcyB3b3J0aCBoYW5kbGluZyBzb21lIGhhcmRjb2RlZCBlbmNvZGluZyBpbmRpY2Vz IGRpcmVjdGx5IGluIFN0cmluZyBtZXRob2RzLg0KVGhpcyBmZWVscyB3cm9uZywgZ2V0dGluZyB0 aGUgZW5jb2RpbmcgZnJvbSBhIFN0cmluZyBzaG91bGQgYmUgc2ltcGxlLCBzdHJhaWdodGZvcndh cmQgYW5kIGZhc3QuDQoNCkZ1cnRoZXIgb3B0aW1pemF0aW9ucyB3aWxsIGJlIHVubG9ja2VkIGFz IHRoZSBlbmNvZGluZyBsaXN0IGJlY29tZXMgZml4ZWQgYW5kIGltbXV0YWJsZS4NCkZvciBleGFt cGxlLCB0aGUgbmFtZS10by1FbmNvZGluZyBtYXAgaXMgdGhlbiBpbW11dGFibGUgYW5kIGNvdWxk IHVzZSBwZXJmZWN0IGhhc2hpbmcuDQpJbmxpbmUgY2FjaGluZyB0aG9zZSBsb29rdXBzIGFsc28g YmVjb21lcyBlYXNpZXIgYXMgdGhlIHRoZSBtYXAgY2Fubm90IGNoYW5nZS4NCkFsc28gdGhhdCBt YXAgd291bGQgbm8gbG9uZ2VyIG5lZWQgc3luY2hyb25pemF0aW9uLCBldGMuDQoNCiMjIFRvIERl Y2lkZQ0KDQpFYWNoIGl0ZW0gaXMgaW5kZXBlbmRlbnQuIEkgdGhpbmsgMSAmIDIgYXJlIHZlcnkg aW1wb3J0YW50LCAzIGxlc3MgYnV0IHdvdWxkIGJlIG5pY2UuDQoNCjEuIERlcHJlY2F0ZSBhbmQg dGhlbiByZW1vdmUgYEVuY29kaW5nI3JlcGxpY2F0ZWAgYW5kIGByYl9kZWZpbmVfZHVtbXlfZW5j b2RpbmcoKWAuIFdpdGggdGhhdCB0aGVyZSBpcyBhIGZpeGVkIG51bWJlciBvZiBlbmNvZGluZ3Ms IGEgbG90IG9mIHNpbXBsaWZpY2F0aW9ucyBhbmQgbWFueSBvcHRpbWl6YXRpb25zIGJlY29tZSBh dmFpbGFibGUuIFRoZXkgYXJlIHVzZWQgcmVzcGVjdGl2ZWx5IGluIG9ubHkgMSBnZW0gYW5kIDUg Z2Vtcywgc2VlIGh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xODk0OSNub3RlLTQN CjIuIERlcHJlY2F0ZSBhbmQgdGhlbiByZW1vdmUgdGhlIGR1bW15IFVURi0xNiBhbmQgVVRGLTMy IGVuY29kaW5ncy4gVGhpcyByZW1vdmVzIHRoZSBuZWVkIGZvciBgZ2V0X2FjdHVhbF9lbmNvZGlu ZygpYCB3aGljaCBpcyBleHBlbnNpdmUuIFRoaXMgZnVuY3Rpb25hbGl0eSBzZWVtcyByYXJlbHkg dXNlZCBpbiBwcmFjdGljZSwgYW5kIGl0IG9ubHkgd29ya3Mgd2hlbiBzdWNoIHN0cmluZ3MgaGF2 ZSBhIEJPTSwgd2hpY2ggaXMgdmVyeSByYXJlLg0KMy4gRGVwcmVjYXRlIGFuZCB0aGVuIHJlbW92 ZSBvdGhlciBkdW1teSBlbmNvZGluZ3MsIHNvIHRoZXJlIGFyZSBubyBtb3JlIGR1bW15ICJoYWxm LWltcGxlbWVudGVkIiBlbmNvZGluZ3MgYW5kIGFsbCBlbmNvZGluZ3MgYXJlIEFTQ0lJLWNvbXBh dGlibGUgaW4gdGVybXMgb2YgY29kZXBvaW50cy4NCg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1 YnktbGFuZy5vcmcvDQo=