[#112457] [Ruby master Feature#19443] Cache `Process.pid` — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>
Issue #19443 has been reported by byroot (Jean Boussier).
16 messages
2023/02/16
[#112584] [Ruby master Feature#19465] [PATCH] reuse open(2) from rb_file_load_ok on POSIX-like system — "normalperson (Eric Wong) via ruby-core" <ruby-core@...>
Issue #19465 has been reported by normalperson (Eric Wong).
9 messages
2023/02/25
[#112595] [Ruby master Feature#19465] [PATCH] reuse open(2) from rb_file_load_ok on POSIX-like system
— "nobu (Nobuyoshi Nakada) via ruby-core" <ruby-core@...>
2023/02/25
SXNzdWUgIzE5NDY1IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbm9idSAoTm9idXlvc2hpIE5ha2FkYSku
[#112613] Re: [Ruby master Feature#19465] [PATCH] reuse open(2) from rb_file_load_ok on POSIX-like system
— Eric Wong via ruby-core <ruby-core@...>
2023/02/26
"nobu (Nobuyoshi Nakada) via ruby-core" <ruby-core@ml.ruby-lang.org> wrote:
[#112615] Re: [Ruby master Feature#19465] [PATCH] reuse open(2) from rb_file_load_ok on POSIX-like system
— SHIBATA Hiroshi via ruby-core <ruby-core@...>
2023/02/27
MzUxMzZlMWU5YzIzMmFkN2EwMzQwN2I5OTJiMmU4NmI2ZGY0M2Y2MyBpcyBicm9rZW4gd2l0aCBg
[#112626] Re: [Ruby master Feature#19465] [PATCH] reuse open(2) from rb_file_load_ok on POSIX-like system
— Eric Wong via ruby-core <ruby-core@...>
2023/02/28
```
[ruby-core:112466] [Ruby master Feature#19024] Proposal: Import Modules
From:
"rubyFeedback (robert heiler) via ruby-core" <ruby-core@...>
Date:
2023-02-17 08:35:49 UTC
List:
ruby-core #112466
SXNzdWUgIzE5MDI0IGhhcyBiZWVuIHVwZGF0ZWQgYnkgcnVieUZlZWRiYWNrIChyb2JlcnQgaGVp bGVyKS4NDQoNDQoNDQpQZXJzb25hbGx5IEkgdGhpbmsgaXQgbWF5IGJlIGJldHRlciB0byBsZWF2 ZSByZXF1aXJlKCksDQ0KbG9hZCgpIGFuZCByZXF1aXJlX3JlbGF0aXZlKCkgdW5jaGFuZ2VkIGFz LWlzLCBhbmQgaW5zdGVhZA0NCmFkZCBhIG5ldywgbW9yZSBzb3BoaXN0aWNhdGVkIHdheSBmb3Ig cnVieSB0byBoYW5kbGUgbG9hZGluZw0NCm9mIHN0dWZmIGluIGdlbmVyYWwuIFRoYXQgb25lIHNo b3VsZCB0aGVuIGlkZWFsbHkgYmUgYXMgZmxleGlibGUNDQphcyBwb3NzaWJsZSwgYW5kICJleHRl bnNpYmxlIiBmb3IgdGhlIGZ1dHVyZS4gSXQgY291bGQgdGhlbiBhbHNvDQ0KYWxsb3cgYWxsIG9m IG91ciBuZWVkcyBhbmQgd2FudHMuDQ0KDQ0KTWFueSB5ZWFycyBhZ28sIGZvciBpbnN0YW5jZSwg SSB3YW50ZWQgdG8gYmUgYWJsZSB0byBsb2FkIHVwIGENDQpzcGVjaWZpYyBtb2R1bGUsIGJ1dCBp bnN0YW50bHksIHVwb24gbG9hZC10aW1lLCBhc3NpZ24gaXQgYSBuZXcNDQpkaWZmZXJlbnQgbmFt ZS4NDQoNDQpXZSBjYW4ga2luZCBvZiBzaW11bGF0ZSB0aGF0IHdheSBlLiBnLg0NCg0NCiAgICBy ZXF1aXJlICdmb29iYXInDQ0KICAgIEJhcmZvbyA9IEZvb2JhciAjIGFuZCB0aGVuIHNldHRpbmcg Rm9vYmFyIHRvIG5pbCwgSSBzdXBwb3NlLCBvcg0NCiAgICAgICAgICAgICAgICAgICAgIyBzb21l dGhpbmcgbGlrZSB0aGF0DQ0KDQ0KQnV0IEkgd2FudGVkIHRoYXQgb24gdGhlIHJlcXVpcmUvbG9h ZCBzaXR1YXRpb24uIFdlIGNvdWxkIGFsc28gDQ0KaW50ZWdyYXRlIGF1dG9sb2FkLWxpa2UgYmVo YXZpb3VyIGludG8gaXQuIEFuZCBzbyBvbiBhbmQgc28gZm9ydGguDQ0KDQ0KVGhhdCBjb3VsZCBh bHNvIG1lYW4gdG8gbG9hZCBydWJ5IGNvZGUgIm91dHNpZGUiIG9mIGFueSAibmFtZXNwYWNlIi4N DQpTdWNoIGFzICJhbm9ueW1vdXMgbG9hZGluZyIgbm90IHBvbGx1dGluZyB0aGUgbmFtZXNwYWNl Lg0NCg0NCkkgYW0gbm90IHN1cmUgd2Ugc2hvdWxkIGFkZCAiaW1wb3J0IiBhcyBzdWNoLCB0aG91 Z2guIFBlb3BsZSB3aWxsIA0NCmFzayB3aGVuIHRvIHVzZSBpbmNsdWRlLCBhbmQgZXh0ZW5kLCBh bmQgdGhlbiBpbXBvcnQuDQ0KDQ0KU28gSSBraW5kIG9mIGFncmVlIHdpdGggZnhuIHRoYXQgd2Ug c2hvdWxkIGxlYXZlIHJlcXVpcmUgYW5kIGxvYWQNDQphcyBpdCBpcywgYW5kIGluc3RlYWQgdGhp bmsgYWJvdXQgbW9yZSBmbGV4aWJsZSBsb2FkaW5nL3JlcXVpcmluZw0NCm9mIGNvZGUgYXMtaXMu DQ0KDQ0KQW5vdGhlciBmZWF0dXJlIEkgd2FudGVkIHRvIGhhdmUgaXMgdGhhdCB3ZSBjYW4gYXNz aWduICJhdXRob3JzIg0NCnRvIGEgbmFtZXNwYWNlIC0gbm90IGluIGEgd2F5IHRvIGRlbnkgcGVv cGxlIGZyb20gdXNpbmcgdGhlbSwNDQpidXQgc2ltcGx5IHRvIGJlIGFibGUgdG8gdHJhY2sgd2hv IG1hZGUgbW9kaWZpY2F0aW9ucyB3aGVyZSBhbmQNDQp3aGVuLiBJbiBzb21lIHdheXMgdGhpcyBp cyBzaW1pbGFyIHRvIGhvdyByZWZpbmVtZW50cyBjYW4gYmUNDQp0aG91Z2h0IG9mIC0gd2UgY2Fu IHRoaW5rIG9mIHRoZW0gYXMgImlzb2xhdGVkIG5hbWVzcGFjZSBjaGFuZ2VzIg0NCmJ1dCBhbGxv d2luZyB1cyBtb3JlIGNvbnRyb2wgb3ZlciB0aGUgY29kZSBjaGFuZ2VzIChpZiB3ZSBpZ25vcmUN DQp0aGUgc3ludGF4OyBJIGFsd2F5cyBmb3VuZCB0aGUgc3ludGF4IG9kZCBmb3IgcmVmaW5lbWVu dHMpLg0NCg0NClBlcmhhcHMgd2Ugc2hvdWxkIGNyZWF0ZSBhIG1vcmUgdW5pZmllZCBwcm9wb3Nh bCBldmVudHVhbGx5IHRoYXQNDQpjYW4gdW5pZnkgYWxsIHRoZSBkaWZmZXJlbnQgaWRlYXMsIHBy b3MgYW5kIGNvbnMsIGZvciBtYXR6IHRvIA0NCnRoaW5rIGFib3V0IHdoYXQgdGhlIGJlc3QgYXBw cm9hY2ggd291bGQgYmUuDQ0KDQ0KT25lIHRoaW5nIGF1c3RpbiB3cm90ZToNDQoNDQo+IEkgZG9u 4oCZdCBzZWUgYW55IHZhbHVlIGluIG5hbWVzcGFjaW5nIGJleW9uZCB3aGF0IFJ1YnkgaGFzDQ0K PiB0aHJvdWdoIG1vZHVsZXMgYW5kIGNsYXNzZXMuIEkgY2VydGFpbmx5IGRvbuKAmXQgc2VlIGFu eQ0NCj4gdmFsdWUgaW4gdGhlIGFiaWxpdHkgdG8gbG9hZCBtb3JlIHRoYW4gb25lIHZlcnNpb24g b2YgYQ0NCj4gcGllY2Ugb2YgY29kZSBhdCBhIHRpbWUgdW5kZXIgYSBkaWZmZXJlbnQgbmFtZXNw YWNlICh0aGlzDQ0KPiBpcywgSU1PLCBvbmUgb2YgdGhlIHdvcnN0IHBhcnRzIG9mIEphdmFTY3Jp cHQpLg0NCg0NCldlbGwsIHJlZmluZW1lbnRzIGFscmVhZHkgZG9lcyB0aGF0IHRvIHNvbWUgZXh0 ZW50OyBhbmQgSQ0NCmNhbiBzZWUgdGhlIHBvdGVudGlhbCB2YWx1ZSBpbiBrbm93aW5nIHdobyBt YWRlIG1vZGlmaWNhdGlvbnMNDQp3aGVyZSBhbmQgd2hlbi4gUmlnaHQgbm93IHdlIGFsbCBoYXZl IG9uZSB1bmlmaWVkIG5hbWVzcGFjZS4NDQoNDQpUaGlzIGNhbiBsZWFkIHRvIHByb2JsZW1zIHNv bWV0aW1lcy4gSSBhZ3JlZSBpdCBpcyBub3QgYSBodWdlDQ0KcHJvYmxlbSBwZXIgc2UsIGJ1dCB3 aGVuIEkgd3JpdGU6DQ0KDQ0KICAgIGNsYXNzIENvbG9ycw0NCg0NCkFuZCBzb21lIG90aGVyIHBh Y2thZ2UgaXM6DQ0KDQ0KICAgIG1vZHVsZSBDb2xvcnMNDQoNDQphbmQgSSBhbHJlYWR5IGluY2x1 ZGVkIHRoYXQsIHRoZW4gdGhlcmUgYXJlIHNvbWUgcHJvYmxlbXMuDQ0KDQ0KKE9yLCBib3RoIHVz ZSBjbGFzcywgb3IgbW9kdWxlLCBhbmQgdGhlbiBJIG1heSBvdmVyd3JpdGUNDQpzb21lIHRvcGxl dmVsIG1ldGhvZCBvciBhIHNpbWlsYXIgcHJvYmxlbS4pDQ0KDQ0KSXQncyBub3QgYSBodWdlIHBy b2JsZW0gcGVyIHNlLCBtaW5kIHlvdSwgYnV0IGluIHRoZXNlDQ0KY2FzZXMsIGJlaW5nIGFibGUg dG8gInRhcCIgaW50byBhIGNsYXNzIG9yIG1vZHVsZSBhbmQNDQpzZWUgd2hlcmUgY2hhbmdlcyB3 ZXJlIG1hZGUsIHdoZW4sIGJ5IHdob20sIGFuZCBpbiB3aGljaA0NCnBhY2thZ2UvZmlsZSwgY2Fu IGJlIHVzZWZ1bCBpbiBteSBvcGluaW9uLiBUaGF0IGlzIG5vdCB0bw0NCnNheSBJIGFncmVlIHdp dGggdGhlIHByb3Bvc2FsIGhlcmUgcGVyIHNlLCBidXQgSSB3YW50ZWQgdG8NDQpjb21tZW50IG9u IHdoZXRoZXIgdGhlcmUgbWF5IGJlIHVzZSBjYXNlcyAtIGFuZCBJIHRoaW5rIHRoZXJlDQ0KYXJl Lg0NCg0NCkkgZG9uJ3Qga25vdyBvZiBhIGdvb2Qgc3ludGF4LXdheSB0byB0YXAgaW50byBhbnkg b2YgdGhhdA0NCnRob3VnaC4gSSBqdXN0IHRoaW5rIHdlIHNob3VsZCBiZSBvcGVuIGFib3V0IGRp ZmZlcmVudCB3YXlzDQ0KaG93IHRvIGxvYWQgdXAgY29kZSBpbiBydWJ5LCBiZWNhdXNlIHRoZXJl IGFyZSBkZWZpbml0ZWx5IHVzZQ0NCmNhc2VzIHRoYXQgYXJlIG5vdCBmdWxseSBjb3ZlcmVkIGJ5 IHJlcXVpcmUgYW5kIGxvYWQuIChJIHVzZQ0NCnJlcXVpcmUoKSBhYm91dCA5OCUgb2YgdGhlIHRp bWUsIGFuZCBJIGF2b2lkIGF1dG9sb2FkLCBiZWNhdXNlDQ0KSSBmb3VuZCB0aGF0IHRoZSBjb2du aXRpdmUgbG9hZCBvZiBoYXZpbmcgdG8gcmVtZW1iZXIgaG93IHRvIHVzZQ0NCml0IG9mZnNldHMg dGhlIGJlbmVmaXRzIGl0IGJyaW5nczsgSSBhbHNvIGRvbid0IG5lZWQgcmVxdWlyZV9yZWxhdGl2 ZS4NDQpJIGRvIHNvbWV0aW1lcyBuZWVkIHRvIHVzZSBsb2FkKCksIGUuIGcuIGR5bmFtaWMgcmVs b2FkaW5nIG9mIGNvZGUNDQppZiB5b3UgbmVlZCBpdCwgYnV0IEkgY2FuIHNlZSBkaWZmZXJlbnQg dXNlIGNhc2VzIG1vc3QgYXNzdXJlZGx5LikNDQoNDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQ0KRmVhdHVyZSAjMTkwMjQ6IFByb3Bvc2FsOiBJbXBvcnQgTW9kdWxl cw0NCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xOTAyNCNjaGFuZ2UtMTAxOTEx DQ0KDQ0KKiBBdXRob3I6IHNoaW95YW1hIChDaHJpcyBTYWx6YmVyZykNDQoqIFN0YXR1czogT3Bl bg0NCiogUHJpb3JpdHk6IE5vcm1hbA0NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NDQpUaGVyZSBpcyBubyBnZW5lcmFsIHdheSBpbiBSdWJ5IHRvIGxvYWQgY29kZSBv dXRzaWRlIG9mIHRoZSBnbG9iYWxseS1zaGFyZWQgbmFtZXNwYWNlLiBUaGlzIG1ha2VzIGl0IGhh cmQgdG8gaXNvbGF0ZSBjb21wb25lbnRzIG9mIGFuIGFwcGxpY2F0aW9uIGZyb20gZWFjaCBvdGhl ciBhbmQgZnJvbSB0aGUgYXBwbGljYXRpb24gaXRzZWxmLCBsZWFkaW5nIHRvIGNvbXBsaWNhdGVk IHJlbGF0aW9uc2hpcHMgdGhhdCBjYW4gYmVjb21lIGludHJhY3RhYmxlIGFzIGFwcGxpY2F0aW9u cyBncm93IGluIHNpemUuDQ0KDQ0KVGhlIGdyb3dpbmcgcG9wdWxhcml0eSBvZiBhIGdlbSBsaWtl IFtQYWNrd2Vya10oaHR0cHM6Ly9naXRodWIuY29tL3Nob3BpZnkvcGFja3dlcmspLCB3aGljaCBw cm92aWRlcyBhIG5ldyBjb25jZXB0IG9mICJwYWNrYWdlIiB0byBlbmZvcmNlIGJvdW5kYXJpZXMg c3RhdGljYWxseSBpbiBDSSwgaXMgZXZpZGVuY2UgdGhhdCB0aGlzIGlzIGEgcmVhbCBwcm9ibGVt LiBCdXQgaW50cm9kdWNpbmcgYSBuZXcgcGFja2FnaW5nIGNvbmNlcHQgYW5kIENJIHN0ZXAgaXMg YXQgYmVzdCBvbmx5IGEgcGFydGlhbCBzb2x1dGlvbiwgd2l0aCBkb3duc2lkZXM6IGl0IGFkZHMg Y29tcGxleGl0eSBhbmQgY29nbml0aXZlIG92ZXJoZWFkIHRoYXQgd291bGRuJ3QgYmUgbmVjZXNz YXJ5IGlmIFJ1YnkgcHJvdmlkZWQgYmV0dGVyIHBhY2thZ2luZyBpdHNlbGYgKGFzIE1hdHogaGFz IHN1Z2dlc3RlZCBbaXQgc2hvdWxkXShodHRwczovL3lvdXR1LmJlL0RwMTJhM0tHTkZ3P3Q9Mjk1 NikpLg0NCg0NClRoZXJlIGlzIF9vbmVfIGxpbWl0ZWQgd2F5IGluIFJ1YnkgY3VycmVudGx5IHRv IGxvYWQgY29kZSB3aXRob3V0IHBvbGx1dGluZyB0aGUgZ2xvYmFsIG5hbWVzcGFjZTogYGxvYWRg IHdpdGggdGhlIGB3cmFwYCBwYXJhbWV0ZXIsIHdoaWNoIGFzIG9mIGh0dHBzOi8vYnVncy5ydWJ5 LWxhbmcub3JnL2lzc3Vlcy82MjEwIGNhbiBub3cgYmUgYSBtb2R1bGUuIEhvd2V2ZXIsIHRoaXMg b3B0aW9uIGRvZXMgbm90IGFwcGx5IHRyYW5zaXRpdmVseSB0byBgcmVxdWlyZWAgY2FsbHMgd2l0 aGluIHRoZSBsb2FkZWQgZmlsZSwgc28gaXRzIHVzZWZ1bG5lc3MgaXMgbGltaXRlZC4NDQoNDQpN eSBwcm9wb3NhbCBoZXJlIGlzIHRvIGVuYWJsZSBtb2R1bGUgaW1wb3J0cyBieSBkb2luZyB0aGUg Zm9sbG93aW5nOg0NCg0NCjEuIGFwcGx5IHRoZSBgd3JhcGAgbW9kdWxlIG5hbWVzcGFjZSB0cmFu c2l0aXZlbHkgdG8gYHJlcXVpcmVgcyBpbnNpZGUgdGhlIGxvYWRlZCBjb2RlLCBpbmNsdWRpbmcg bmF0aXZlIGV4dGVuc2lvbnMgKG9yIHByb3ZpZGUgYSBuZXcgZmxhZyBvciBtZXRob2QgdGhhdCB3 b3VsZCBkbyB0aGlzKSwNDQoyLiBtYWtlIHRoZSBgd3JhcGAgbW9kdWxlIHRoZSB0b3BsZXZlbCBj b250ZXh0IGZvciBjb2RlIGxvYWRlZCB1bmRlciBpdCwgc28gYDo6Rm9vYCByZXNvbHZlcyB0byBg PHRvcF93cmFwcGVyPjo6Rm9vYCBpbiBsb2FkZWQgY29kZSAob3IsIGFnYWluLCBwcm92aWRlIGEg bmV3IGZsYWcgb3IgbWV0aG9kIHRoYXQgd291bGQgZG8gdGhpcykuIF9BbHNvIG1ha2UgdGhpcyBh cHBseSB3aGVuIGNvZGUgdW5kZXIgdGhlIHdyYXBwZXIgbW9kdWxlIGlzIGNhbGxlZCBvdXRzaWRl IG9mIHRoZSBsb2FkIHByb2Nlc3MgKHdoZW4gYHRvcF93cmFwcGVyYCBpcyBubyBsb25nZXIgc2V0 KSAmbWRhc2g7IHRoaXMgbWF5IGJlIHF1aXRlIGhhcmQgdG8gZG9fLg0NCjMuIHJlc29sdmUgYG5h bWVgIG9uIGFub255bW91cyBtb2R1bGVzIHVuZGVyIHRoZSB3cmFwcGVkIG1vZHVsZSB0byB0aGVp ciBuYW1lcyB3aXRob3V0IHRoZSB0b3Agd3JhcHBlciBtb2R1bGUsIHNvIGA8dG9wX3dyYXBwZXI+ OjpGb28ubmFtZWAgZXZhbHVhdGVzIHRvIGAiRm9vImAuIFRoZXJlIG1heSBiZSBvdGhlciB3YXlz IHRvIGhhbmRsZSB0aGlzIHByb2JsZW0sIGJ1dCBhIGdlbSBsaWtlIFJhaWxzIHVzZXMgYG5hbWVg IHRvIHJlc29sdmUgZmlsZW5hbWVzIGFuZCBmYWlscyB3aGVuIGFub255bW91cyBtb2R1bGVzIHJl dHVybiBzb21ldGhpbmcgbGlrZSBgIzxNb2R1bGU6IC4uLj46OkFjdGl2ZVJlY29yZGAgaW5zdGVh ZCBvZiBqdXN0IGBBY3RpdmVSZWNvcmRgLg0NCg0NCkkgaGF2ZSByb3VnaGx5IGltcGxlbWVudGVk IHRoZXNlIHRocmVlIHRoaW5ncyBpbiBbdGhpcyBwYXRjaF0oaHR0cHM6Ly9naXRodWIuY29tL3J1 YnkvcnVieS9jb21wYXJlL21hc3Rlci4uLnNoaW95YW1hOnJ1Ynk6aW1wb3J0X21vZHVsZXMpLiBU aGlzIGltcGxlbWVudGF0aW9uIGlzIGluY29tcGxldGUgKGl0IGRvZXMgbm90IGNvdmVyIHRoZSBs YXN0IGhpZ2hsaWdodGVkIHBhcnQgb2YgMikgYnV0IHByb3ZpZGVzIGVub3VnaCBvZiBhIGJhc2lz IHRvIGltcGxlbWVudCBhbiBgaW1wb3J0YCBtZXRob2QsIHdoaWNoIEkgaGF2ZSBkb25lIGluIGEg Z2VtIGNhbGxlZCBbSW1dKGh0dHBzOi8vZ2l0aHViLmNvbS9zaGlveWFtYS9pbSkuDQ0KDQ0KSW0g cHJvdmlkZXMgYW4gYGltcG9ydGAgbWV0aG9kIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGltcG9ydCBn ZW0gY29kZSB1bmRlciBhIG5hbWVzcGFjZToNDQoNDQpgYGBydWJ5DQ0KcmVxdWlyZSAiaW0iDQ0K ZXh0ZW5kIEltDQ0KDQ0KYWN0aXZlX21vZGVsID0gaW1wb3J0ICJhY3RpdmVfbW9kZWwiDQ0KIz0+ IDwjSW06OkltcG9ydCByb290OiBhY3RpdmVfbW9kZWw+DQ0KDQ0KQWN0aXZlTW9kZWwNDQojPT4g TmFtZUVycm9yDQ0KDQ0KYWN0aXZlX21vZGVsOjpBY3RpdmVNb2RlbA0NCiM9PiBBY3RpdmVNb2Rl bA0NCg0NCmFjdGl2ZV9yZWNvcmQgPSBpbXBvcnQgImFjdGl2ZV9yZWNvcmQiDQ0KIz0+IDwjSW06 OkltcG9ydCByb290OiBhY3RpdmVfcmVjb3JkPg0NCg0NCiMgQ29uc3RhbnRzIGRlZmluZWQgaW4g dGhlIHNhbWUgZmlsZSB1bmRlciBkaWZmZXJlbnQgaW1wb3J0cyBwb2ludCB0byB0aGUgc2FtZSBv YmplY3RzDQ0KYWN0aXZlX3JlY29yZDo6QWN0aXZlTW9kZWwgPT0gYWN0aXZlX21vZGVsOjpBY3Rp dmVNb2RlbA0NCiM9PiB0cnVlDQ0KYGBgDQ0KDQ0KV2l0aCB0aGUgY29uc3RhbnRzIGFsbCBsb2Fk ZWQgdW5kZXIgYW4gYW5vbnltb3VzIG5hbWVzcGFjZSwgYW55IGNvZGUgaW1wb3J0aW5nIHRoZSBn ZW0gY2FuIG5hbWUgY29uc3RhbnRzIGhvd2V2ZXIgaXQgbGlrZXM6DQ0KDQ0KYGBgcnVieQ0NCmNs YXNzIFBvc3QgPCBhY3RpdmVfcmVjb3JkOjpBY3RpdmVSZWNvcmQ6OkJhc2UNDQplbmQNDQoNDQpB UiA9IGFjdGl2ZV9yZWNvcmQ6OkFjdGl2ZVJlY29yZA0NCg0NClBvc3Quc3VwZXJjbGFzcw0NCiM9 PiBBUjo6QmFzZQ0NCmBgYA0NCg0NCk5vdGUgdGhhdCB0aGlzIGVuYWJsZXMgdGhlIGltcG9ydGVy IHRvIGNvbXBsZXRlbHkgZGV0ZXJtaW5lIHRoZSBuYW1pbmcgZm9yIGV2ZXJ5IGNvbnN0YW50IGl0 IGltcG9ydHMuIFNvIGdlbXMgY2FuIG9wdCB0byBoaWRlIHRoZWlyIGRlcGVuZGVuY2llcyBieSAi YW5jaG9yaW5nIiB0aGVtIGluc2lkZSB0aGVpciBvd24gbmFtZXNwYWNlLCBsaWtlIHRoaXM6DQ0K DQ0KYGBgcnVieQ0NCiMgaW4gbGliL215X2dlbS5yYg0NCm1vZHVsZSBNeUdlbQ0NCiAgZGVwID0g aW1wb3J0ICJteV9nZW1fZGVwZW5kZW5jeSINDQoNDQogICMgbXlfZ2VtX2RlcGVuZGVuY3kgaXMg ImFuY2hvcmVkIiB1bmRlciB0aGUgTXlHZW0gbmFtZXNwYWNlLCBzbyBub3QgZXhwb3NlZCB0byB1 c2Vycw0NCiAgIyBvZiB0aGUgZ2VtIHVubGVzcyB0aGV5IGFsc28gcmVxdWlyZSBpdC4NDQogIE15 R2VtRGVwZW5kZW5jeSA9IGRlcA0NCg0NCiAgIy4uLg0NCmVuZA0NCmBgYA0NCg0NClRoZXJlIGFy ZSBhIGNvdXBsZSBpbXBvcnRhbnQgaW1wbGVtZW50YXRpb24gZGVjaXNpb25zIGluIHRoZSBnZW06 DQ0KDQ0KMS4gX09ubHkgbG9hZCBjb2RlIG9uY2UuXyBXaGVuIHRoZSBzYW1lIGZpbGUgaXMgaW1w b3J0ZWQgYWdhaW4gKGVpdGhlciBkaXJlY3RseSBvciB0cmFuc2l0aXZlbHkpLCAiY29weSIgY29u c3RhbnRzIGZyb20gcHJldmlvdXNseSBpbXBvcnRlZCBuYW1lc3BhY2UgdG8gdGhlIG5ldyBuYW1l c3BhY2UgdXNpbmcgYSByZWdpc3RyeSB3aGljaCBtYXBzIHdoaWNoIG5hbWVzcGFjZSAoaW1wb3J0 KSB3YXMgdXNlZCB0byBsb2FkIHdoaWNoIGZpbGUgKGFzIHNob3duIGFib3ZlIHdpdGggYWN0aXZl cmVjb3JkL2FjdGl2ZW1vZGVsKS4gVGhpcyBpcyBuZWNlc3NhcnkgdG8gZW5zdXJlIHRoYXQgZGlm ZmVyZW50IGltcG9ydHMgY2FuICJzZWUiIHNoYXJlZCBmaWxlcy4gQSBzaW1pbGFyIHJlZ2lzdHJ5 IGlzIHVzZWQgdG8gdHJhY2sgYXV0b2xvYWRzIHNvIHRoYXQgdGhleSB3b3JrIGNvcnJlY3RseSB3 aGVuIHVzZWQgZnJvbSBpbXBvcnRlZCBjb2RlLg0NCjIuIFRvcGxldmVsIGNvcmUgdHlwZXMgKGBO aWxDbGFzc2AsIGBUcnVlQ2xhc3NgLCBgRmFsc2VDbGFzc2AsIGBTdHJpbmdgLCBldGMpIGFyZSAi YWxpYXNlZCIgdG8gY29uc3RhbnRzIHVuZGVyIGVhY2ggaW1wb3J0IG1vZHVsZSB0byBtYWtlIHRo ZW0gYXZhaWxhYmxlLiBUaHVzIHRoZXJlIGNhbiBiZSBzaWRlLWVmZmVjdHMgb2YgaW1wb3J0aW5n IGNvZGUsIGJ1dCB0aGlzIGFsbG93cyBhIGdlbSBsaWtlIFJhaWxzIHRvIG1vbmtleXBhdGNoIGNv cmUgY2xhc3NlcyB3aGljaCBpdCBuZWVkcyB0byBkbyBmb3IgaXQgdG8gd29yay4NDQozLiBgT2Jq ZWN0LmNvbnN0X21pc3NpbmdgIGlzIHBhdGNoZWQgdG8gY2hlY2sgdGhlIGNhbGxlciBsb2NhdGlv biBhbmQgcmVzb2x2ZSB0byB0aGUgY29uc3RhbnQgZGVmaW5lZCB1bmRlciBhbiBpbXBvcnQsIGlm IHRoZXJlIGlzIGFuIGltcG9ydCBkZWZpbmVkIGZvciB0aGF0IGZpbGUuDQ0KDQ0KVG8gYmUgY2xl YXI6ICoqSSB0aGluayAxKSBzaG91bGQgYmUgaW1wbGVtZW50ZWQgaW4gUnVieSwgYnV0IG5vdCAy KSBhbmQgMykuKiogVGhlIGxhc3Qgb25lIChgT2JqZWN0LmNvbnN0X21pc3NpbmdgKSBpcyBhIGhh Y2sgdG8gc3VwcG9ydCB0aGUgY2FzZSB3aGVyZSBhIHRvcGxldmVsIGNvbnN0YW50IGlzIHJlZmVy ZW5jZWQgZnJvbSBhIG1ldGhvZCBjYWxsZWQgaW4gaW1wb3J0ZWQgY29kZSAoYXQgd2hpY2ggcG9p bnQgdGhlIGB0b3Bfd3JhcHBlcmAgaXMgbm90IGFjdGl2ZS4pDQ0KDQ0KSSBrbm93IHRoaXMgaXMg YSBiaWcgcHJvcG9zYWwsIGFuZCB0aGVyZSBhcmUgc3Ryb25nIG9waW5pb25zIGhlbGQuIEkgd291 bGQgcmVhbGx5IGFwcHJlY2lhdGUgY29uc3RydWN0aXZlIGZlZWRiYWNrIG9uIHRoaXMgZ2VuZXJh bCBpZGVhLg0NCg0NCk5vdGVzIGZyb20gU2VwdGVtYmVyJ3MgRGV2ZWxvcGVycyBNZWV0aW5nOiBo dHRwczovL2dpdGh1Yi5jb20vcnVieS9kZXYtbWVldGluZy1sb2cvYmxvYi9tYXN0ZXIvRGV2TWVl dGluZy0yMDIyLTA5LTIyLm1kI2ZlYXR1cmUtMTAzMjAtcmVxdWlyZS1pbnRvLW1vZHVsZS1zaGlv eWFtYQ0NCg0NClNlZSBhbHNvIHNpbWlsYXIgZGlzY3Vzc2lvbiBpbjogaHR0cHM6Ly9idWdzLnJ1 YnktbGFuZy5vcmcvaXNzdWVzLzEwMzIwDQ0KDQ0KDQ0KDQ0KLS0gDQ0KaHR0cHM6Ly9idWdzLnJ1 YnktbGFuZy5vcmcvDQ0KIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KIHJ1YnktY29yZSBtYWlsaW5nIGxpc3QgLS0gcnVieS1jb3JlQG1sLnJ1YnktbGFuZy5v cmcKIFRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gcnVieS1jb3JlLWxlYXZlQG1sLnJ1 YnktbGFuZy5vcmcKIHJ1YnktY29yZSBpbmZvIC0tIGh0dHBzOi8vbWwucnVieS1sYW5nLm9yZy9t YWlsbWFuMy9wb3N0b3JpdXMvbGlzdHMvcnVieS1jb3JlLm1sLnJ1YnktbGFuZy5vcmcv