From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: poffice@blade.nagaokaut.ac.jp Delivered-To: poffice@blade.nagaokaut.ac.jp Received: from kankan.nagaokaut.ac.jp (kankan.nagaokaut.ac.jp [133.44.2.24]) by blade.nagaokaut.ac.jp (Postfix) with ESMTP id 0E0ED19E0043 for ; Tue, 26 Jan 2016 18:33:29 +0900 (JST) Received: from voscc.nagaokaut.ac.jp (voscc.nagaokaut.ac.jp [133.44.1.100]) by kankan.nagaokaut.ac.jp (Postfix) with ESMTP id 9EBB4B5D872 for ; Tue, 26 Jan 2016 19:07:24 +0900 (JST) Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by voscc.nagaokaut.ac.jp (Postfix) with ESMTP id 268EC18CC7EA for ; Tue, 26 Jan 2016 19:07:25 +0900 (JST) Received: from [221.186.184.76] (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 371E3120472; Tue, 26 Jan 2016 19:07:23 +0900 (JST) X-Original-To: ruby-core@ruby-lang.org Delivered-To: ruby-core@ruby-lang.org Received: from o10.shared.sendgrid.net (o10.shared.sendgrid.net [173.193.132.135]) by neon.ruby-lang.org (Postfix) with ESMTPS id 838FC12040F for ; Tue, 26 Jan 2016 19:07:19 +0900 (JST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sendgrid.me; h=from:to:references:subject:mime-version:content-type:content-transfer-encoding:list-id; s=smtpapi; bh=F0v+X89t3qfUIg3VYBdn5+TOAGc=; b=rDRLzNEw1xwNhvqwqa q2f+6fq/wDXblo4/7xnkszshE7OE7jwfVYwVGpZA8d6CePbCzHbvmrjUTWElvrV4 Isw98HgK+4ukz27yNgXdqyakjsVnutB/tYMA7tAsS3I+qmQBk2q5Vh5yf+LUoEPT NcqabrXOzzUUyCoa7apDvHEHI= Received: by filter0872p1mdw1.sendgrid.net with SMTP id filter0872p1mdw1.19184.56A7455148 2016-01-26 10:07:13.913483053 +0000 UTC Received: from herokuapp.com (ec2-54-226-188-25.compute-1.amazonaws.com [54.226.188.25]) by ismtpd0003p1iad1.sendgrid.net (SG) with ESMTP id RCmxyEChQr-qFLHjj7bFlA Tue, 26 Jan 2016 10:07:13.814 +0000 (UTC) Date: Tue, 26 Jan 2016 10:07:13 +0000 From: vjatseslav.gedrovits@gmail.com To: ruby-core@ruby-lang.org Message-ID: References: Mime-Version: 1.0 X-Redmine-MailingListIntegration-Message-Ids: 48077 X-Redmine-Project: ruby-trunk X-Redmine-Issue-Id: 12004 X-Redmine-Issue-Author: CoralineAda X-Redmine-Issue-Assignee: matz X-Redmine-Sender: Gedrovits 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-SG-EID: ync6xU2WACa70kv/Ymy4QrNMhiuLXJG8OTL2vJD1yS6437gN/Ly0Idqp0JfLrJaJaBbnwJyKX8+0XV T00r5lGBWLHnWwdILPH81obuY8x0BYgxn/zCKPtyYsSxx07+I5twz9P2LSEaax2MD5LkLcHi0uJM7p E1B/7UT2qNC/OZBgEmiDe1TQidUu3TY//yGfh7blOjkDE0iHxTvS/flKQQ== X-ML-Name: ruby-core X-Mail-Count: 73475 Subject: [ruby-core:73475] [Ruby trunk - Misc #12004] Code of Conduct X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Ruby developers List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" SXNzdWUgIzEyMDA0IGhhcyBiZWVuIHVwZGF0ZWQgYnkgVmphdHNlc2xhdiBHZWRyb3ZpdHMuCgoK PiBQbGVhc2UgZG9uJ3QgdXNlIGtpc3MgeW91IG9yIGh1ZyB5b3Ugb3Igc3VjaCBraW5kIG9mIGV4 cHJlc3Npb24gaW4gYW4gaW50ZXJuYXRpb25hbCBjb21tdW5pdHkgbGlrZSBoZXJlLiAKPiBUaGVz ZSB3b3JkcyBhcmUgb2sgKGUuZy4gSW4gbXkgdW5kZXJzdGFuZGluZywgUnVzc2lhbiBwZW9wbGUg a2lzcyBlYWNoIG90aGVyIGZvciBncmVldGluZyBsaWtlIGhhbmRzaGFrZSkgaW4gc29tZSBjb3Vu dHJ5IGFuZCBub3Qgb2sgaW4gb3RoZXIKPiAoSW4gVVMsIHRoZXJlIGlzIHdpZGUgY29uc2Vuc3Vz IGl0J3Mgbm90IG9rKS4KPiBJIGRvbid0IGFzayB5b3VyIGdlbmRlciBub3IgbmF0aW9uYWxpdHku IEluc3RlYWQsIEknbGwgYXNrIHlvdSBqdXN0IGRvbid0IGRvIHRoYXQuIEkgZG9uJ3QgcmVjb21t ZW5kIGFueSBvZiBzZXh1YWwgd29yZCBldmVuIGlmIGl0IGlzIHdpZGVseSB1c2VkIGFzIGFuIGlk aW9tLgo+IAo+IEkgdW5kZXJzdGFuZCB5b3UgaGF2ZSBubyBldmlsIGludGVudGlvbiBhbmQgSSBk b24ndCB0aGluayB0aGlzIG1lc3NhZ2Ugc2hvdWxkIGJlIGRlbGV0ZWQsIGJ1dCBwbGVhc2UgY2hv b3NlIHlvdXIgd29yZCBjYXJlZnVsbHkgYSBiaXQgbW9yZS4KPiAKPiBUaGFua3MuCj4gCj4gRGlz Y2xhaW1lcjogdGhpcyBpcyBub3QgYSB3YXJuaW5nIGZyb20gYW4gYWRtaW4uIHRoaXMgaXMganVz dCBteSBvcGluaW9uLgoKVGhpcyBpcyBvbmUgb2YgdGhlIHJlYXNvbnMuIERpZmZlcmVudCBjdWx0 dXJlcywgbGF3cyBhbmQgZGVmaW5pdGlvbiBvZiBub3JtYWwuIEluIHByb3Bvc2VkIGRvY3VtZW50 IHRoZXJlIGFyZSBzcGVjaWZpYyBwcml2aWxlZ2VkIGdyb3Vwcywgd2hvIHdpbGwgYmVuZWZpdCBm cm9tIHRoYXQuCkluIG91ciBsb3JlIHRoaXMganVzdCBtZWFuczogJ0kgYWdyZWUgd2l0aCB5b3Uu IFlvdSBsaWtlIHRvb2sgd29yZHMgZnJvbSBteSBtb3V0aC4nIEl0J3Mgbm90aGluZyB0byBkbyB3 aXRoIHBoeXNpY2FsIGtpc3NlcyBvZiBwZXJzb24uClNvIGlmIHRoaXMgd2lsbCBiZSBkb25lLCBz b21lb25lIChjb250cmlidXRvcnMsIG1haW50YWluZXJzKSB3aWxsIG5lZWQgdG8gZGVjaWRlIHdo byBpcyByaWdodCAoYW5kIGluIHRoaXMgZG9jdW1lbnQgd2Uga25vdyB3aG8gYXJlKS4gVGhpcyBs ZWFkcyB0byBjZW5zb3JzaGlwIGFuZCBidXJldWNyYWN5LgpUbyB3aGF0IGNhbiB0aGlzIGxlYWQ/ IFRvIHRoZSBzYW1lIHRoaW5nLCB3aGljaCBoYXBwZW5zIGluICpzb21lKiAobm8gZGlyZWN0IG5h bWVzIGhlcmUsIGd1ZXNzIGNvdW50cnkgYnkgZGlhbG9nIGJlbG93KSBjb3VudHJpZXMuCgpDdXJy ZW50IHByb3Bvc2FsIGxvb2tzIGxpa2UgdGhpczoKKnNhcmNhc20gc3RhcnQgLT4qCgo+IDEpIEhl eSEgWW91IG5lZWQgZGVtb2NyYWN5IChpbnNlcnQgd2hhdCAxIG5lZWRzLCBDb0MgaW4gdGhpcyBj YXNlKSBndXlzISBJdCdzIGZ1biwgd2UgY2FuIGRvIHRoYXQgZm9yIHlvdS4KPiAyKSBObywgd2Ug ZG9uJ3QuIFBsZWFzZSBnbyBhd2F5IGFuZCB0cnkgYnVpbGQgZGVtb2NyYWN5IChpbnNlcnQgd2hh dCAxIG5lZWQsIENvQyBpbiB0aGlzIGNhc2UpIGluIG90aGVyIHBsYWNlcy4KPiAxKSBOYWgsIHlv dSBqdXN0IChpbnNlcnQgWCkgYW5kIChpbnNlcnQgWSkuIFlvdSBjYW4ndCBoYXZlIG93biBvcGlu aW9uLiBXZSB3aWxsIGRlbGl2ZXIgZGVtb2NyYWN5IHRvIHlvdSwgYW5kIHNldCBwZW9wbGUgd2hv IHVuZGVyc3RhbmQgaXQncyBtZWFuaW5nIGluIGNoYXJnZS4KPiAyKSBXVEY/Cj4gLi4uIEFmdGVy IHJhemluZyBvdGhlciBjb3VudHJ5IHRvIGFzaGVzIGFuZCB0aG91c2FuZHMgb2YgcGVvcGxlIGxp dmVzIC4uLgo+IDEpIEhleSEgWW91IHNlZSBob3cgZ29vZCB0aGlzIGNvdW50cnkgYmVjb21lIHdp dGggZGVtb2NyYWN5PyBPdXIgcGVvcGxlIHJ1bGUgZ2VudGxlIGFuZCBnb29kLCB5b3UgbXVzdCBi ZSBncmF0ZWZ1bCEKCio8LSBzYXJjYXNtIGVuZCoKCllvdSBjYW4gYWxzbyBsb29rIGF0IHRoaXMg ZnJvbSBhIGRpZmZlcmVudCB2aWV3LiBUaGlzIENvQyBncm91cCBpcyBsaWtlIHVuaW9uIChtaW5l cnMgdW5pb24sIHRlYWNoZXJzIHVuaW9uLCBldGMpLiBXaGF0IHVuaW9uIGRvZXM/IEl0IGZvcmNl cyBhbmQgcHVzaGVzIHRoaW5ncyB3aGF0IGJlbmVmaXQgdGhlIHVuaW9uIG1lbWJlcnMuIFlvdSBj YW4gc2VlIHRoaXMgZnJvbSB0aGUgcHJvcG9zZWQgZG9jdW1lbnQgaXRzZWxmLiBQZW9wbGUgYmVm b3JlIHBvaW50ZWQgb3V0IHRoaXMgYmVmb3JlLCBzbyBubyBuZWVkIHRvIGdvIG9uIHRoaXMuIExv b2sgZXZlbiBvbiBmaXJzdCBtZXNzYWdlOgoKPiBSdWJ5VG9nZXRoZXIgYWxzbyBhZG9wdGVkIGEg cG9saWN5IHRvIG9ubHkgZnVuZCBSdWJ5IHByb2plY3RzIHRoYXQgaGFkIGEgc29saWQgY29kZSBv ZiBjb25kdWN0IGluIHBsYWNlLgoKVGhpcyBtZWFuLCByZWdhcmRsZXNzIG9mIHlvdSBwYXlpbmcg dG8gb3JnLCBpZiB5b3VyIHRob3VnaHRzIGFuZCBvcGluaW9ucyBub3QgYWdyZWUgd2l0aCBDb0Mg dGhleSB3aWxsIG5vdCBmdW5kIHlvdS4gSXNuJ3QgdGhpcyBhIGZvcm0gb2YgY2Vuc29yc2hpcD8g SXNuJ3QgaXQgdG9vIG9idmlvdXM/Cgo+IE91ciBjb21tdW5pdHkgcHJpZGVzIGl0c2VsZiBvbiBu aWNlbmVzcy4gV2hhdCBhIGNvZGUgb2YgY29uZHVjdCBkb2VzIGlzIGRlZmluZSB3aGF0IHdlIG1l YW4gYnkgbmljZS4gSXQgc3RhdGVzIGNsZWFybHkgdGhhdCB3ZSB2YWx1ZSBvcGVubmVzcywgY291 cnRlc3ksIGFuZCBjb21wYXNzaW9uLiBUaGF0IHdlIGNhcmUgYWJvdXQgYW5kIHdhbnQgY29udHJp YnV0aW9ucyBmcm9tIHBlb3BsZSB3aG8gbWF5IGJlIGRpZmZlcmVudCBmcm9tIHVzLiAKCmh0dHBz Oi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL01JTkFTV0FOIEl0IGV2ZW4gc3RhdGVzIHRoYXQgd2Ug YXJlIG5pY2UuCgo+IFRoYXQgd2UgcGxlZGdlIHRvIHJlc3BlY3QgYWxsIGNvbnRyaWJ1dG9ycyBy ZWdhcmRsZXNzIG9mIHRoZWlyICpyYWNlKiwgKmdlbmRlciosICpzZXh1YWwgb3JpZW50YXRpb24q LCBvciBvdGhlciBmYWN0b3JzLiBBbmQgaXQgbWFrZXMgaXQgY2xlYXIgdGhhdCB3ZSBhcmUgcHJl cGFyZWQgdG8gZm9sbG93IHRocm91Z2ggb24gdGhlc2UgdmFsdWVzIHdpdGggYWN0aW9uIHdoZW4g YW5kIGlmIGFuIGluY2lkZW50IGFyaXNlcy4KCldoeSBsaXN0aW5nIHByb3BlcnRpZXMgb2YgY29u dHJpYnV0b3JzPyBUaGlzIGlzIGFnYWluIGZvcmNlZCBieSB1bmlvbi4gS25vd2luZyB0aG9zZSBn cm91cHMsIHRoaXMgbWVhbnMgdGhhdCByYWNlIG11c3QgYmUgbm9uLXdoaXRlLCBnZW5kZXIgbm9u LW1hbGUgYW5kIHNleHVhbCBvcmllbnRhdGlvbiBub24taGV0ZXJvLiBTbyB2b2lsYSwgdGhleSB3 aWxsIGhhdmUgJ2xhdycgd2hpY2ggbXVzdCBiZSAnZm9yY2VkJyB0byBvcHBvc2UgdGhlIHBlb3Bs ZSB0aGV5IGRvbid0IGxpa2UuIFRoZSB1bmlvbiwgcmVtZW1iZXI/Cgo+IEFzIGNvbnRyaWJ1dG9y cyBhbmQgbWFpbnRhaW5lcnMgb2YgdGhpcyBwcm9qZWN0LCBhbmQgaW4gdGhlIGludGVyZXN0IG9m IGZvc3RlcmluZyBhbiBvcGVuIGFuZCB3ZWxjb21pbmcgY29tbXVuaXR5LCB3ZSBwbGVkZ2UgdG8g cmVzcGVjdCBhbGwgcGVvcGxlIHdobyBjb250cmlidXRlIHRocm91Z2ggcmVwb3J0aW5nIGlzc3Vl cywgcG9zdGluZyBmZWF0dXJlIHJlcXVlc3RzLCB1cGRhdGluZyBkb2N1bWVudGF0aW9uLCBzdWJt aXR0aW5nIHB1bGwgcmVxdWVzdHMgb3IgcGF0Y2hlcywgYW5kIG90aGVyIGFjdGl2aXRpZXMuCgpU aGlzIGxvb2tzIG5vdCBiYWQuCgpCdXQgbmV4dCBwYXJhZ3JhcGggdHJpZXMgdG8gZGVzY3JpYmUg cHJvcGVydGllcyBvZiBwZW9wbGUsIHdoaWNoIHJ1aW5zIGEgd2hvbGUgcG9pbnQgb2YgJ2FsbCBw ZW9wbGUgd2hvIGNvbnRyaWJ1dGUnIHRoaXMgYWxyZWFkeSBpbmNsdWRlcyBhbGwgbGlzdGVkICdm ZWF0dXJlcycuClRoZSB3b3JkIGhhcmFzc21lbnQgaXMgdXNlZCBhZ2Fpbi4gU3RvcCB1c2luZyB0 aGlzIGFscmVhZHksIGl0J3Mgbm90IGV2ZW4gY2xvc2UgdG8gcmVhbCB3b3JsZCBleGFtcGxlcyBv ZiBoYXJhc3NtZW50OiBTV0FUaW5nLCBzdGFsa2luZywgZXRjLiBUaGUgbWF4aW11bSB3aGF0IHlv dSBjYW4gZ2V0IG9uIEludGVybmV0IGlzIHNvbWVvbmUsIHdobyBzd2VhcnMgb3Igd3JpdGVzIHNv bWV0aGluZyB5b3UgZG9uJ3QgbGlrZS4gVGhpcyBpcyBub3QgaGFyYXNzbWVudC4gSGFyYXNzbWVu dCB0ZXJtIG92ZXJ1c2VkIGJ5IHNwZWNpZmljIGdyb3VwcyBub3dhZGF5cy4KCj4gV2UgYXJlIGNv bW1pdHRlZCB0byBtYWtpbmcgcGFydGljaXBhdGlvbiBpbiB0aGlzIHByb2plY3QgYSBoYXJhc3Nt ZW50LWZyZWUgZXhwZXJpZW5jZSBmb3IgZXZlcnlvbmUsIHJlZ2FyZGxlc3Mgb2YgbGV2ZWwgb2Yg ZXhwZXJpZW5jZSwgZ2VuZGVyLCBnZW5kZXIgaWRlbnRpdHkgYW5kIGV4cHJlc3Npb24sIHNleHVh bCBvcmllbnRhdGlvbiwgZGlzYWJpbGl0eSwgcGVyc29uYWwgYXBwZWFyYW5jZSwgYm9keSBzaXpl LCByYWNlLCBldGhuaWNpdHksIGFnZSwgcmVsaWdpb24sIG9yIG5hdGlvbmFsaXR5LgoKU28gd2Ug Z2V0IGxpc3Qgb2YgdW5pb25zIHByb3RlY3RlZCwgYnV0IHdlIGFyZSBub3Qgc3RvcHBpbmcsIHdl IGNvbnRpbnVlIHRvIHRpZ2h0ZW4gdGhlIHVuaW9uczoKCj4gVGhlIHVzZSBvZiBzZXh1YWxpemVk IGxhbmd1YWdlIG9yIGltYWdlcnkKClRoaXMgaXMgYWJzdHJhY3QsIGxvb2sgdGhlIGNhc2Ugb2Yg c2NpZW50aXN0IHNoaXJ0LiBJdCB3YXMgdG90YWxseSBPSyBpbiBtb3N0IGNvdW50cmllcywgYnV0 IG5vdCBpbiBvbmUuIE1hbiBoYXZlIDQga2lkcywgZ29vZCBmYW1pbHkgYW5kIGhlIGxvc3QgaGlz IGpvYiBhbmQgcmVwdXRhdGlvbiBiZWNhdXNlIG9mIGNvd2FyZHMgaW4gbWFuYWdlbWVudCwgd2hv IGp1c3Qgc2NhcmVkIG9mICdyYWdlJyBvZiBncm91cHMgZmVsdCAnaGFycmFzZWQnLgoKPiBQZXJz b25hbCBhdHRhY2tzCgpSZWFkIHRoZSBzd2VhcmluZyBwYXJ0LiBUaGlzIGNhbiBiZSBpbnRlcnBy ZXRlZCBxdWl0ZSB3aWxkbHkuIEl0J3MgaGFyZCB0byBzZXBhcmF0ZSB0aGlzIGZyb20gZmVlbGlu Z3MuCgo+IFRyb2xsaW5nIG9yIGluc3VsdGluZy9kZXJvZ2F0b3J5IGNvbW1lbnRzCgpUcm9sbGlu ZyBpcyBub3QgZ29vZCwgYnV0IHRoaXMgaXMgbm90IHRoaW5nIHRvIGRlY2xpbmUuIFNvbWV0aW1l cyBpdCdzIGV2ZW4gZnVuIHRvIHJlYWQuIApJbnN1bHRzIHZhcmllcyBvbiBkaWZmZXJlbnQgcGVv cGxlIGN1bHR1cmVzLiBTbyBhZ2Fpbiwgd2l0aG91dCBtYWtpbmcgc29tZW9uZSBzYWQsIHRoaXMg c2hvdWxkIG5vdCBiZSBmb3JjZWQgdG8gbWF0Y2ggbmVlZHMgb2YgZmV3IGdyb3Vwcy4KCj4gUHVi bGljIG9yIHByaXZhdGUgaGFyYXNzbWVudAoKQ2FzZXMgb2YgcmVhbCBoYXJhc3NtZW50IHNob3Vs ZCBiZSBoYW5kbGVkIGJ5IHRoZSBsYXdzIG9mIHRoZSBjb3VudHJ5IG9mIHZpY3RpbS4gVGhpcyBp cyBub3QgZm9yIHRlY2ggY29tbXVuaXR5IHRvIGRlY2lkZS4gU29tZW9uZSByZWFsbHkgaGFycmFz ZXMgeW91PyBZb3UgY2FuIHVzZSB5b3VyIGNvdW50cnkgbGF3cyBvbiBvdGhlciBjaXRpemVucyBv ZiB5b3VyIGNvdW50cnkuCgo+IFB1Ymxpc2hpbmcgb3RoZXIncyBwcml2YXRlIGluZm9ybWF0aW9u LCBzdWNoIGFzIHBoeXNpY2FsIG9yIGVsZWN0cm9uaWMgYWRkcmVzc2VzLCB3aXRob3V0IGV4cGxp Y2l0IHBlcm1pc3Npb24KCldoYXQgaXMgY29uc2lkZXJlZCBwcml2YXRlIGluIG91ciBkYXlzPyBJ ZiBpdCBjYW4gYmUgZm91bmQgaW4gSW50ZXJuZXQsIHRoaXMgbWVhbnMgeW91IGxlZnQgdGhpcyBp bmZvIHRvIHB1YmxpYyBhbmQgdGhpcyBpcyBub3QgcHJpdmF0ZS4gT3RoZXJ3aXNlIGl0IG11c3Qg YmUgZ292ZXJuZWQgYnkgeW91ciBjb3VudHJ5IGxhdyBvbiBjaXRpemVucyBvZiBZT1VSIGNvdW50 cnksIHdoZXJlIGxhdyBjYW4gYmUgdXNlZC4KCj4gT3RoZXIgdW5ldGhpY2FsIG9yIHVucHJvZmVz c2lvbmFsIGNvbmR1Y3QKClRoaXMgaXMgZ29vZCBlbm91Z2ggcG9pbnQsIHdoaWNoIGlzIGFscmVh ZHkgY292ZXJlZCBpbiBNSU5BU1dBTi4KCj4gUHJvamVjdCBtYWludGFpbmVycyBoYXZlIHRoZSBy aWdodCBhbmQgKnJlc3BvbnNpYmlsaXR5KiB0byByZW1vdmUsIGVkaXQsIG9yIHJlamVjdCBjb21t ZW50cywgY29tbWl0cywgY29kZSwgd2lraSBlZGl0cywgaXNzdWVzLCBhbmQgb3RoZXIgY29udHJp YnV0aW9ucyB0aGF0IGFyZSBub3QgYWxpZ25lZCB0byB0aGlzIENvZGUgb2YgQ29uZHVjdCwgb3Ig dG8gYmFuIHRlbXBvcmFyaWx5IG9yIHBlcm1hbmVudGx5IGFueSBjb250cmlidXRvciAqZm9yIG90 aGVyIGJlaGF2aW9ycyB0aGF0ICoqdGhleSoqIGRlZW0gaW5hcHByb3ByaWF0ZSwgdGhyZWF0ZW5p bmcsIG9mZmVuc2l2ZSwgb3IgaGFybWZ1bCouCgpNb2RlcmF0b3JzIGhhdmUgcmlnaHQgY3VycmVu dGx5IHRvIGRvIHNvIHdpdGhvdXQgQ29DIHRvby4gCldoYXQgd2lsbCBiZSBhZGRlZCBoZXJlLCBq dXN0IGFkZGl0aW9uYWwgd29yayBvbiB0cnlpbmcgdG8gdW5kZXJzdGFuZCB3aGF0IGlzIHdyb25n LCBvZmZlbnNpdmUgb3Igd2hhdGV2ZXIuIFRpbWUgd2lsbCBiZSBsb3N0LCB3aGljaCBjYW4gYmUg dXNlZCBvbiBhIE9TUyBwcm9qZWN0LiAKTG9vayBhdCB0aGUgJ3RoZXknIHBhcnQsIHVuaW9ucywg cmVtZW1iZXI/Cgo+IEJ5IGFkb3B0aW5nIHRoaXMgQ29kZSBvZiBDb25kdWN0LCBwcm9qZWN0IG1h aW50YWluZXJzIGNvbW1pdCB0aGVtc2VsdmVzIHRvIGZhaXJseSBhbmQgY29uc2lzdGVudGx5IGFw cGx5aW5nIHRoZXNlIHByaW5jaXBsZXMgdG8gZXZlcnkgYXNwZWN0IG9mIG1hbmFnaW5nIHRoaXMg cHJvamVjdC4gUHJvamVjdCBtYWludGFpbmVycyAqd2hvIGRvIG5vdCBmb2xsb3cgb3IgZW5mb3Jj ZSB0aGUgQ29kZSBvZiBDb25kdWN0KiBtYXkgYmUgcGVybWFuZW50bHkgcmVtb3ZlZCBmcm9tIHRo ZSBwcm9qZWN0IHRlYW0uCgpJbiB0aGVvcnksIGJ5IHRoaXMgcnVsZSBNYXR6IGl0c2VsZiBjYW4g YmUgcmVtb3ZlZCBmcm9tIHRoZSBwcm9qZWN0LCBpZiB3aWxsIG5vdCBmb2xsb3cgLyBlbmZvcmNl IHRoaXMgZG9jdW1lbnQuIFllcywgdGhlcmUgaXMgJ21heScgd29yZCwgYnV0IHdobyByZWFsbHkg Y2FyZXMgYWJvdXQgdGhhdD8gVGhpcyBjYW4gYmUgZm9yY2VkIGluIGV2ZXJ5IGNhc2Ugb3IgYnkg b2NjYXNpb24sIGRlcGVuZHMgb24gdW5pb24gbmVlZHMsIHJlbWVtYmVyPwoKPiBUaGlzIENvZGUg b2YgQ29uZHVjdCBhcHBsaWVzIGJvdGggd2l0aGluIHByb2plY3Qgc3BhY2VzIGFuZCBpbiAqcHVi bGljIHNwYWNlcyogd2hlbiBhbiBpbmRpdmlkdWFsIGlzIHJlcHJlc2VudGluZyB0aGUgcHJvamVj dCBvciBpdHMgY29tbXVuaXR5LgoKClRoaXMgaGFzICdyZXByZXNlbnRpbmcnIHBhcnQsIGJ1dCBy ZWFsbHksIGhvdyB5b3Ugc2VwYXJhdGUgdGhpcz8gTWF0eiBrbm93biBpbiBSdWJ5IHdvcmxkLCB3 aG8gbXVzdCBkZWNpZGUgd2hlbiBoZSBpcyBwcmVzZW50aW5nIG9yIG5vdD8gVW5pb24gZGVjaWRl cywgcmlnaHQ/IFdoZW4geW91IHNheSBzb21ldGhpbmcgdGhleSBkb24ndCBsaWtlLCB0aGV5IGp1 c3QgZ28gd2l0Y2ggaHVudCBvbiB5b3UuCgpQZW9wbGUgd2hvIGFjY2VwdGVkIHRoaXMgQ29DIGdp ZnRpbmcgdGhlaXIgcmlnaHRzIHRvIGV4cHJlc3MgdGhlbXNlbHZlcyBhcyB0aGV5IHdhbnQgb3V0 c2lkZSB0aGUgcHJvamVjdHMsIHRvIDNyZCBwYXJ0eSB3aGljaCB3aWxsIGRlY2lkZSBnb29kIC8g d3JvbmcuClRoYXQgdGhleSBjYW4ndCBleHByZXNzIHNvbWV0aGluZyBub3QgJ3BvcHVsYXInIGlu IHBsYWNlcyBvdXRzaWRlIHRoZSBwcm9qZWN0LCB3aXRob3V0IGhhdmluZyByaXNrIHRvIGJlIHJl bW92ZWQgZnJvbSBwcm9qZWN0LCBiZWNhdXNlIHVuaW9ucyBjYW4gY29uc2lkZXIgdGhpcyBhcyBh biBpbnN1bHQgdG8gdGhlbS4gClRoaXMgbGVhZCB0byBhIHNpdHVhdGlvbiwgd2hlcmUgcG9zdGVy cyBoZXJlIGFkZGluZyB0aGUgJ0kgZG9uJ3QgcmVwcmVzZW50IHRoZSBjb21tdW5pdHksIHRoaXMg aXMgbXkgb3BpbmlvbicsIGJsYSBibGEgYmxhIHRoaW5nLCB0byBiZSBwcm90ZWN0ZWQgZnJvbSB0 aGF0LiAKQW55dGhpbmcgdGhhdCB5b3Ugc2F5IGlzIGRlIGZhY3RvIElNSE8sIHlvdSBkb24ndCBu ZWVkIHRvIGFwb2xvZ2l6ZSBmb3IgdGhhdCBvciBjaG9vc2Ugd29yZGluZyB0cnlpbmcgdG8gbWFr ZSBoYXBweSBldmVyeSBwb3NzaWJsZSB1bmlvbiBncm91cHMuCgo+IEluc3RhbmNlcyBvZiBhYnVz aXZlLCBoYXJhc3NpbmcsIG9yIG90aGVyd2lzZSB1bmFjY2VwdGFibGUgYmVoYXZpb3IgbWF5IGJl IHJlcG9ydGVkIGJ5IGNvbnRhY3RpbmcgYSBwcm9qZWN0IG1haW50YWluZXIgYXQgW0lOU0VSVCBF TUFJTCBBRERSRVNTXS4gKkFsbCBjb21wbGFpbnRzIHdpbGwgYmUgcmV2aWV3ZWQgYW5kIGludmVz dGlnYXRlZCogYW5kICp3aWxsIHJlc3VsdCBpbiBhIHJlc3BvbnNlIHRoYXQgaXMgZGVlbWVkIG5l Y2Vzc2FyeSBhbmQgYXBwcm9wcmlhdGUgdG8gdGhlIGNpcmN1bXN0YW5jZXMqLiAKCkFsbCB3aWxs IGJlIHJldmlld2VkLCBpbnZlc3RpZ2F0ZWQgYW5kIHJlc3VsdCBpbiAnbmVjZXNzYXJ5JyBhY3Rp b24uIEFueW9uZSB3YW50cyB0byBwbGF5IFpldXMgaGVyZT8gVGhyb3cgc29tZSBsaWdodGluZyBh dCBwZW9wbGUgaWYgeW91IHNlZW0gbmVjZXNzYXJ5LgoKPiBNYWludGFpbmVycyBhcmUgb2JsaWdh dGVkIHRvIG1haW50YWluIGNvbmZpZGVudGlhbGl0eSB3aXRoIHJlZ2FyZCB0byB0aGUgcmVwb3J0 ZXIgb2YgYW4gaW5jaWRlbnQuCgpBbmQgdGhpcyBsYXN0IHBhcnQgcHJvdGVjdHMgdW5pb24gbWVt YmVycyBmcm9tIGJlaW5nIHB1YmxpYy4gVGhpcyBpcyBjYWxsZWQgJ3doaXN0bGVibG93aW5nJy4g ClRoZXJlIHdhcyB0aW1lIGluIFNvdmlldCBoaXN0b3J5LCB3aGVuIGdvdmVybm1lbnQgdGhvdWdo dCB0aGlzIGlzIGdvb2QgaWRlYSwgdG8gY2F0Y2ggdGhlIHNwaWVzLCBuZWlnaGJvb3Igd2F0Y2gg YW5kIGFsbCB0aGlzLiAKVGhpcyByZXN1bHRlZCBpbiBhIGxvdCBvZiBwZW9wbGUgc2VuZGluZyAn cmVwb3J0cycgb24gZWFjaCBvdGhlci4gV2l0aCBhIHF1aXRlIGh1bWFuIHJlYXNvbnMuIEkgZG9u J3QgbGlrZSBoaW0uIEkgd2FudCBoaXMgYXBhcnRtZW50LiBJIHdhbnQgaGlzIHdvcmsgcGxhY2Uu IEhlIGlzIFggKGluc2VydCBvdGhlciBwZXJzb25hbCByZWFzb24pLgpQcml2YXRlICd3aGlzdGxl Ymxvd2luZycgbGVhZHMgdG8gYWJ1c2Ugb2YgdGhlIHN5c3RlbXMgYW5kIHRob3NlICd3aGlzdGxl Ymxvd2VycycgY2FuIGZlZWwgdGhlbXNlbHZlcyBzYWZlLiAKVGhlIENvQyBjYW4ndCBwcm90ZWN0 IHRoZW0gZnJvbSBpdCwgZG9lcyBpdD8gVGhleSBkb24ndCB3YW50IHRoYXQgcGVvcGxlIGtub3cg d2hvIG1hZGUgdGhpcyBwZXJzb24gZGlzYXBwZWFyIGZyb20gdGhlIGNvbW11bml0eSBhbmQgd2h5 LiBCZWNhdXNlIHRoZXkgYXJlLi4uIHNjYXJlZD8KCkdlb3JnZSBPcndlbGwgd3JvdGUgZ29vZCBi b29rLCBBbmltYWwgRmFybSAoaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQW5pbWFsX0Zh cm0pClNvIEkgd2FudCB0byBmaW5pc2ggdGhpcyB3aXRoIHF1b3RlIGZyb20gaXQ6Cj4g4oCcQWxs IGFuaW1hbHMgYXJlIGVxdWFsLCBidXQgc29tZSBhbmltYWxzIGFyZSBtb3JlIGVxdWFsIHRoYW4g b3RoZXJzLuKAnSAKPiDigJUgR2VvcmdlIE9yd2VsbCwgQW5pbWFsIEZhcm0KCklmIE1hdHogd2ls bCBkZWNpZGUgdG8gaGF2ZSBzb21lIHNwZWNpZmljIHJ1bGVzLCB0aGV5IHNob3VsZCBkZWZpbml0 ZWx5IG5vdCBiZSBiYXNlZCBhbmQvb3IgbGlua2VkIHRvIHByb3Bvc2VkIENvQy4KCi0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KTWlzYyAjMTIwMDQ6IENvZGUgb2YgQ29u ZHVjdApodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTIwMDQjY2hhbmdlLTU2Njk5 CgoqIEF1dGhvcjogQ29yYWxpbmUgQWRhIEVobWtlCiogU3RhdHVzOiBBc3NpZ25lZAoqIFByaW9y aXR5OiBOb3JtYWwKKiBBc3NpZ25lZTogWXVraWhpcm8gTWF0c3Vtb3RvCi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KSSBhbSB0aGUgY3JlYXRvciBvZiB0aGUgQ29udHJp YnV0b3IgQ292ZW5hbnQsIGEgY29kZSBvZiBjb25kdWN0IGZvciBPcGVuIFNvdXJjZSBwcm9qZWN0 cy4gQXQgbGFzdCBjb3VudCB0aGVyZSBhcmUgb3ZlciAxMywwMDAgcHJvamVjdHMgb24gR2l0aHVi IHRoYXQgaGF2ZSBhZG9wdGVkIGl0LiBUaGlzIHBhc3QgeWVhciBzYXcgYWRvcHRpb24gb2YgQ29u dHJpYnV0b3IgQ292ZW5hbnQgYnkgYSBsb3Qgb2YgdmVyeSBsYXJnZSwgdmVyeSB2aXNpYmxlIHBy b2plY3RzLCBpbmNsdWRpbmcgUmFpbHMsIEdpdGh1YidzIEF0b20gdGV4dCBlZGl0b3IsIEFuZ3Vs YXIgSlMsIGJ1bmRsZXIsIGN1cmwsIGRpYXNwb3JhLCBkaXNjb3Vyc2UsIEVjbGlwc2UsIHJzcGVj LCBzaG9lcywgYW5kIHJ2bS4gVGhlIGJ1bmRsZXIgdGVhbSBtYWRlIGNvZGUgb2YgY29uZHVjdCBp bnRlZ3JhdGlvbiBhbiBvcHRpb24gaW4gdGhlIGdlbSBjcmVhdGlvbiB3b3JrZmxvdywgcHV0dGlu ZyBpdCBvbiBwYXIgd2l0aCBsaWNlbnNlIHNlbGVjdGlvbi4gTWFueSBvcGVuIHNvdXJjZSBsYW5n dWFnZSBjb21tdW5pdGllcyBoYXZlIGFscmVhZHkgYWRvcHRlZCB0aGUgY29kZSBvZiBjb25kdWN0 LCBpbmNsdWRpbmcgRWxpeGlyLCBNb25vLCB0aGUgLk5FVCBmb3VuZGF0aW9uLCBGIywgYW5kIEFw cGxlJ3MgU3dpZnQuIFJ1YnlUb2dldGhlciBhbHNvIGFkb3B0ZWQgYSBwb2xpY3kgdG8gb25seSBm dW5kIFJ1YnkgcHJvamVjdHMgdGhhdCBoYWQgYSBzb2xpZCBjb2RlIG9mIGNvbmR1Y3QgaW4gcGxh Y2UuCgpSaWdodCBub3cgaW4gdGhlIFBIUCBjb21tdW5pdHkgdGhlcmUgaXMgYSBoZWFsdGh5IGRl YmF0ZSBhYm91dCBhZG9wdGluZyB0aGUgQ29udHJpYnV0b3IgQ292ZW5hbnQuIFNpbmNlIGl0IGNh bWUgZnJvbSBhbmQgaGFzIGJlZW4gc28gd2lkZWx5IGFkb3B0ZWQgYnkgdGhlIFJ1YnkgY29tbXVu aXR5IGF0IGxhcmdlLCBJIHRoaW5rIGl0J3MgdGltZSB0aGF0IHdlIGNvbnNpZGVyIGFkb3B0aW5n IGl0IGZvciB0aGUgY29yZSBSdWJ5IGxhbmd1YWdlIGFzIHdlbGwuCgpPdXIgY29tbXVuaXR5IHBy aWRlcyBpdHNlbGYgb24gbmljZW5lc3MuIFdoYXQgYSBjb2RlIG9mIGNvbmR1Y3QgZG9lcyBpcyBk ZWZpbmUgd2hhdCB3ZSBtZWFuIGJ5IG5pY2UuIEl0IHN0YXRlcyBjbGVhcmx5IHRoYXQgd2UgdmFs dWUgb3Blbm5lc3MsIGNvdXJ0ZXN5LCBhbmQgY29tcGFzc2lvbi4gVGhhdCB3ZSBjYXJlIGFib3V0 IGFuZCB3YW50IGNvbnRyaWJ1dGlvbnMgZnJvbSBwZW9wbGUgd2hvIG1heSBiZSBkaWZmZXJlbnQg ZnJvbSB1cy4gVGhhdCB3ZSBwbGVkZ2UgdG8gcmVzcGVjdCBhbGwgY29udHJpYnV0b3JzIHJlZ2Fy ZGxlc3Mgb2YgdGhlaXIgcmFjZSwgZ2VuZGVyLCBzZXh1YWwgb3JpZW50YXRpb24sIG9yIG90aGVy IGZhY3RvcnMuIEFuZCBpdCBtYWtlcyBpdCBjbGVhciB0aGF0IHdlIGFyZSBwcmVwYXJlZCB0byBm b2xsb3cgdGhyb3VnaCBvbiB0aGVzZSB2YWx1ZXMgd2l0aCBhY3Rpb24gd2hlbiBhbmQgaWYgYW4g aW5jaWRlbnQgYXJpc2VzLgoKSSdtIGFza2luZyB0aGF0IHdlIGpvaW4gd2l0aCB0aGUgbGFyZ2Vy IFJ1YnkgY29tbXVuaXR5IGluIHN1cHBvcnRpbmcgdGhlIGFkb3B0aW9uIG9mIHRoZSBDb250cmli dXRvciBDb3ZlbmFudCBmb3IgdGhlIFJ1YnkgbGFuZ3VhZ2UuIEkgdGhpbmsgdGhhdCB0aGlzIHdp bGwgYmUgYW4gaW1wb3J0YW50IHN0ZXAgZm9yd2FyZCBhbmQgd2lsbCBlbnN1cmUgdGhlIGNvbnRp bnVlZCB3ZWxjb21pbmcgYW5kIHN1cHBvcnRpdmUgZW52aXJvbm1lbnQgYXJvdW5kIFJ1YnkuIFlv dSBjYW4gcmVhZCB0aGUgZnVsbCB0ZXh0IG9mIHRoZSBDb250cmlidXRvciBDb3ZlbmFudCBhdCBo dHRwOi8vY29udHJpYnV0b3ItY292ZW5hbnQub3JnL3ZlcnNpb24vMS8zLzAvIGFuZCBsZWFybiBt b3JlIGF0IGh0dHA6Ly9jb250cmlidXRvci1jb3ZlbmFudC5vcmcvLiAKClRoYW5rcyBmb3IgeW91 ciBjb25zaWRlcmF0aW9uIGFuZCBJIGxvb2sgZm9yd2FyZCB0byBoZWFyaW5nIHlvdXIgdGhvdWdo dHMuCgoKLS0tRmlsZXMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpTY3JlZW4gU2hv dCAyMDE2LTAxLTIyIGF0IDYuNDUuMjMgUE0ucG5nICg1OTUgS0IpClJ1YnlfQ29kZV9vZl9Db25k dWN0X051bWJlcnMucG5nICgxMTkgS0IpClJ1YnlfQ29kZV9vZl9Db25kdWN0X0Rpc2N1c3Npb24u cG5nICgxNDMgS0IpCgoKLS0gCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLwo=