[#116016] [Ruby master Bug#20150] Memory leak in grapheme clusters — "peterzhu2118 (Peter Zhu) via ruby-core" <ruby-core@...>
Issue #20150 has been reported by peterzhu2118 (Peter Zhu).
7 messages
2024/01/04
[#116382] [Ruby master Feature#20205] Enable `frozen_string_literal` by default — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>
Issue #20205 has been reported by byroot (Jean Boussier).
77 messages
2024/01/23
[ruby-core:116248] [Ruby master Bug#20155] Using value of rb_fiber_scheduler_current() crashes Ruby
From:
"ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>
Date:
2024-01-16 21:27:12 UTC
List:
ruby-core #116248
SXNzdWUgIzIwMTU1IGhhcyBiZWVuIHVwZGF0ZWQgYnkgaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFt cykuDQ0KDQ0KDQ0KSGVyZSBpcyB0aGUgaW1wbGVtZW50YXRpb24gZnJvbSBDUnVieToNDQoNDQpg YGBjDQ0Kc3RhdGljIFZBTFVFDQ0KcmJfZmliZXJfc2NoZWR1bGVyX2N1cnJlbnRfZm9yX3RocmVh ZHB0cihyYl90aHJlYWRfdCAqdGhyZWFkKQ0NCnsNDQogICAgVk1fQVNTRVJUKHRocmVhZCk7DQ0K DQ0KICAgIGlmICh0aHJlYWQtPmJsb2NraW5nID09IDApIHsNDQogICAgICAgIHJldHVybiB0aHJl YWQtPnNjaGVkdWxlcjsNDQogICAgfQ0NCiAgICBlbHNlIHsNDQogICAgICAgIHJldHVybiBRbmls Ow0NCiAgICB9DQ0KfQ0NCg0NClZBTFVFDQ0KcmJfZmliZXJfc2NoZWR1bGVyX2N1cnJlbnQodm9p ZCkNDQp7DQ0KICAgIHJldHVybiByYl9maWJlcl9zY2hlZHVsZXJfY3VycmVudF9mb3JfdGhyZWFk cHRyKEdFVF9USFJFQUQoKSk7DQ0KfQ0NCmBgYA0NCg0NCkFzIHlvdSBjYW4gc2VlLCBpdCdzIG5v dCBwYXJ0aWN1bGFybHkgY29tcGxleC4NDQoNDQpNYXliZSB0aGUgcHJvYmxlbSBpcyB0cnlpbmcg dG8gcHJpbnQgaXQgb3V0LiBJJ20gYWN0dWFsbHkgbm90IHN1cmUgaWYgeW91IGNhbiB3cml0ZSBg cCBGaWJlci5zY2hlZHVsZXJgIC0gSSBtZWFuLCBpbiB0aGVvcnkgaXQgc2hvdWxkIHdvcmsuDQ0K DQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0NCkJ1ZyAjMjAxNTU6 IFVzaW5nIHZhbHVlIG9mIHJiX2ZpYmVyX3NjaGVkdWxlcl9jdXJyZW50KCkgY3Jhc2hlcyBSdWJ5 DQ0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzIwMTU1I2NoYW5nZS0xMDYyNjkN DQoNDQoqIEF1dGhvcjogcGFkZG9yIChQYXRyaWsgV2VuZ2VyKQ0NCiogU3RhdHVzOiBBc3NpZ25l ZA0NCiogUHJpb3JpdHk6IE5vcm1hbA0NCiogQXNzaWduZWU6IGlvcXVhdGl4IChTYW11ZWwgV2ls bGlhbXMpDQ0KKiBydWJ5IC12OiBydWJ5IDMuMy4wICgyMDIzLTEyLTI1IHJldmlzaW9uIDUxMjRm OWFjNzUpIFt4ODZfNjQtbGludXhdDQ0KKiBCYWNrcG9ydDogMy4wOiBVTktOT1dOLCAzLjE6IFVO S05PV04sIDMuMjogVU5LTk9XTiwgMy4zOiBVTktOT1dODQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQ0NCldoaWxlIHRyeWluZyB0byBtYW51YWxseSBibG9jay91bmJs b2NrIGZpYmVycyBmcm9tIGFuIGV4dGVuc2lvbiB1c2luZyB0aGUgRmliZXIgU2NoZWR1bGVyLA0N Ckkgbm90aWNlZCB0aGF0IHVzaW5nIHRoZSByZXR1cm4gdmFsdWUgb2YgYHJiX2ZpYmVyX3NjaGVk dWxlcl9jdXJyZW50KClgIGNyYXNoZXMgUnVieS4NDQoNDQpJJ3ZlIGNyZWF0ZWQgYSBtaW5pbWFs IGV4dGVuc2lvbiBnZW0gY2FsbGVkICJmaWJlcl9ibG9ja2VyIi4gSXRzIHRlc3Qgc3VpdGUgc2hv d3MgdGhlIGJlaGF2aW9yLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3BhZGRvci9maWJlcl9ibG9j a2VyLCBlc3BlY2lhbGx5IHRoZSBsaW5lcyBjb250YWluaW5nIGBGSVhNRWAuDQ0KDQ0KUGFzc2lu ZyBgRmliZXIuc2NoZWR1bGVyYCB0byB0aGUgZXh0ZW5zaW9uIGZ1bmN0aW9ucyB3b3Jrcy4gQnV0 IGxldHRpbmcgaXQgZ2V0IHRoZSBjdXJyZW50IHNjaGVkdWxlciBpdHNlbGYgZG9lcyBub3Qgc2Vl bSB0byB3b3JrLg0NCg0NCklzIGByYl9maWJlcl9zY2hlZHVsZXJfY3VycmVudCgpYCh3aXRoaW4g YSBub24tYmxvY2tpbmcgRmliZXIpIG5vdCB0aGUgZXF1aXZhbGVudCB0byBgRmliZXIuc2NoZWR1 bGVyYD8NDQpFdmVuIGp1c3QgcHJpbnRpbmcgdGhlIGl0cyByZXR1cm4gdmFsdWUgd2l0aCBgI3Bg IHdpbGwgY3Jhc2ggUnVieS4NDQoNDQoNDQpSdWJ5IGVpdGhlciBjcmFzaGVzIGxpa2UgdGhpczoN DQpgYGANDQojIFJ1bm5pbmc6DQ0KDQ0KVDEgQkVHSU4NDQpUMiBCRUdJTg0NClQxIEVORA0NCi4u VDEgQkVHSU4NDQpleHQ6IGJsb2NraW5nIGZpYmVyDQ0KcGFzc2VkIHNjaGVkdWxlciA9ICM8U2No ZWR1bGVyOjB4MDAwMDdmYzVmMjJkMzllOCBAcmVhZGFibGU9e30sIEB3cml0YWJsZT17fSwgQHdh aXRpbmc9e30sIEBjbG9zZWQ9ZmFsc2UsIEBsb2NrPSM8VGhyZWFkOjpNdXRleDoweDAwMDA3ZmM1 ZjIyZWM4ZDA+LCBAYmxvY2tpbmc9e30sIEByZWFkeT1bXSwgQHVyZ2VudD1bIzxJTzpmZCA1Piwg IzxJTzpmZCA2Pl0+DQ0KVDIgQkVHSU4NDQpleHQ6IHVuYmxvY2tpbmcgZmliZXINDQpUMSBFTkQN DQouRQ0NCg0NCkZpbmlzaGVkIGluIDEuMDA3MDE0cywgMy45NzIxIHJ1bnMvcywgMi45NzkxIGFz c2VydGlvbnMvcy4NDQoNDQogIDEpIEVycm9yOg0NClRlc3RGaWJlckJsb2NrZXIjdGVzdF9maWJl cl9ibG9ja2VyX2N1cnJlbnRfZmliZXI6DQ0KZmF0YWw6IG1hY2hpbmUgc3RhY2sgb3ZlcmZsb3cg aW4gY3JpdGljYWwgcmVnaW9uDQ0KICAgIE5vIGJhY2t0cmFjZQ0NCmBgYA0NCg0NCk9yIHdpdGgg YSBzZWdmYXVsdDoNDQpgYGANDQojIFJ1bm5pbmc6DQ0KDQ0KRmliZXJCbG9ja2VyLnRlc3Qgd29y a3MuDQ0KLlQxIEJFR0lODQ0KVDIgQkVHSU4NDQpUMSBFTkQNDQouVDEgQkVHSU4NDQpleHQ6IGJs b2NraW5nIGZpYmVyDQ0KL2hvbWUvdXNlci9kZXYvb3NzL2FzeW5jX3J1YnlfdGVzdC9yYm5uZy9m aWJlcl9ibG9ja2VyL3Rlc3QvdGVzdF9maWJlcl9ibG9ja2VyLnJiOjQwOiBbQlVHXSBTZWdtZW50 YXRpb24gZmF1bHQgYXQgMHgwMDAwMDAwMDM5MGQ4Zjk4DQ0KcnVieSAzLjMuMCAoMjAyMy0xMi0y NSByZXZpc2lvbiA1MTI0ZjlhYzc1KSBbeDg2XzY0LWxpbnV4XQ0NCg0NCi0tIENvbnRyb2wgZnJh bWUgaW5mb3JtYXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NDQpjOjAwMDMgcDotLS0tIHM6MDAxMiBlOjAwMDAxMSBDRlVOQyAgOmJsb2NrX2ZpYmVy DQ0KYzowMDAyIHA6MDAxNCBzOjAwMDYgZTowMDAwMDUgQkxPQ0sgIC9ob21lL3VzZXIvZGV2L29z cy9hc3luY19ydWJ5X3Rlc3QvcmJubmcvZmliZXJfYmxvY2tlci90ZXN0L3Rlc3RfZmliZXJfYmxv Y2tlci5yYjo0MCBbRklOSVNIXQ0NCmM6MDAwMSBwOi0tLS0gczowMDAzIGU6MDAwMDAyIERVTU1Z ICBbRklOSVNIXQ0NCg0NCi0tIFJ1YnkgbGV2ZWwgYmFja3RyYWNlIGluZm9ybWF0aW9uIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NDQovaG9tZS91c2VyL2Rldi9vc3Mv YXN5bmNfcnVieV90ZXN0L3Jibm5nL2ZpYmVyX2Jsb2NrZXIvdGVzdC90ZXN0X2ZpYmVyX2Jsb2Nr ZXIucmI6NDA6aW4gYGJsb2NrIGluIHRlc3RfZmliZXJfYmxvY2tpbmdfaW5fZXh0Jw0NCi9ob21l L3VzZXIvZGV2L29zcy9hc3luY19ydWJ5X3Rlc3QvcmJubmcvZmliZXJfYmxvY2tlci90ZXN0L3Rl c3RfZmliZXJfYmxvY2tlci5yYjo0MDppbiBgYmxvY2tfZmliZXInDQ0KDQ0KLS0gVGhyZWFkaW5n IGluZm9ybWF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0NClRvdGFsIHJhY3RvciBjb3VudDogMQ0NClJ1YnkgdGhyZWFkIGNvdW50IGZvciB0 aGlzIHJhY3RvcjogNA0NCg0NCi0tIE1hY2hpbmUgcmVnaXN0ZXIgY29udGV4dCAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NDQogUklQOiAweDAwMDA3ZjE1 NTRmMTdhZDggUkJQOiAweDAwMDAwMDAwMzkwZDhmOTAgUlNQOiAweDAwMDA3ZjE1M2E3OWUyODAN DQogUkFYOiAweDAwMDA3ZjE1NTRhZGRiYTggUkJYOiAweDAwMDA3ZjE1M2E3OWVhYjAgUkNYOiAw eDAwMDAwMDAwMDAwMDAwMDANDQogUkRYOiAweDAwMDA3ZjE1NTRhZGU2MDAgUkRJOiAweDAwMDA3 ZjE1NTUxZTg3ODggUlNJOiAweDAwMDAwMDAwMDAwMDBhZTENDQogIFI4OiAweDAwMDAwMDAwMDAw MDAwMmIgIFI5OiAweDAwMDA3ZjE1M2E3OWYwMzggUjEwOiAweDAwMDA3ZjE1NTRjMGI5YjANDQog UjExOiAweDAwMDA3ZjE1M2E3OWU0OTAgUjEyOiAweDAwMDAwMDAwMDAwMDBhZTEgUjEzOiAweDAw MDAwMDAwMDAwMDAwMDANDQogUjE0OiAweDAwMDAwMDAwMDAwMDAwMDAgUjE1OiAweDAwMDA1NWFi NzMyZDdkZjAgRUZMOiAweDAwMDAwMDAwMDAwMTAyMDYNDQoNDQotLSBDIGxldmVsIGJhY2t0cmFj ZSBpbmZvcm1hdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t DQ0KL2hvbWUvdXNlci8ucnViaWVzL3J1YnktMy4zLjAvbGliL2xpYnJ1Ynkuc28uMy4zKHJiX3By aW50X2JhY2t0cmFjZSsweDE0KSBbMHg3ZjE1NTRmMjQ5NjFdIC9ob21lL3VzZXIvc3JjL3J1Ynkt My4zLjAvdm1fZHVtcC5jOjgyMA0NCi9ob21lL3VzZXIvLnJ1Ymllcy9ydWJ5LTMuMy4wL2xpYi9s aWJydWJ5LnNvLjMuMyhyYl92bV9idWdyZXBvcnQpIC9ob21lL3VzZXIvc3JjL3J1YnktMy4zLjAv dm1fZHVtcC5jOjExNTENDQovaG9tZS91c2VyLy5ydWJpZXMvcnVieS0zLjMuMC9saWIvbGlicnVi eS5zby4zLjMocmJfYnVnX2Zvcl9mYXRhbF9zaWduYWwrMHgxMDQpIFsweDdmMTU1NGQxYzIxNF0g L2hvbWUvdXNlci9zcmMvcnVieS0zLjMuMC9lcnJvci5jOjEwNjUNDQovaG9tZS91c2VyLy5ydWJp ZXMvcnVieS0zLjMuMC9saWIvbGlicnVieS5zby4zLjMoc2lnc2VndisweDRmKSBbMHg3ZjE1NTRl NzAwZGZdIC9ob21lL3VzZXIvc3JjL3J1YnktMy4zLjAvc2lnbmFsLmM6OTI2DQ0KL2xpYi94ODZf NjQtbGludXgtZ251L2xpYmMuc28uNigweDdmMTU1NDg0MjUyMCkgWzB4N2YxNTU0ODQyNTIwXQ0N Ci9ob21lL3VzZXIvLnJ1Ymllcy9ydWJ5LTMuMy4wL2xpYi9saWJydWJ5LnNvLjMuMyhSQkFTSUNf Q0xBU1MrMHgwKSBbMHg3ZjE1NTRmMTdhZDhdIC4vaW5jbHVkZS9ydWJ5L2ludGVybmFsL2dsb2Jh bHMuaDoxNzgNDQovaG9tZS91c2VyLy5ydWJpZXMvcnVieS0zLjMuMC9saWIvbGlicnVieS5zby4z LjMoZ2NjY3RfbWV0aG9kX3NlYXJjaCkgL2hvbWUvdXNlci9zcmMvcnVieS0zLjMuMC92bV9ldmFs LmM6NDc1DQ0KL2hvbWUvdXNlci8ucnViaWVzL3J1YnktMy4zLjAvbGliL2xpYnJ1Ynkuc28uMy4z KHJiX2Z1bmNhbGx2X3Njb3BlKSAvaG9tZS91c2VyL3NyYy9ydWJ5LTMuMy4wL3ZtX2V2YWwuYzox MDYzDQ0KL2hvbWUvdXNlci8ucnViaWVzL3J1YnktMy4zLjAvbGliL2xpYnJ1Ynkuc28uMy4zKHJi X2Z1bmNhbGx2KSAvaG9tZS91c2VyL3NyYy9ydWJ5LTMuMy4wL3ZtX2V2YWwuYzoxMDg0DQ0KL2hv bWUvdXNlci8ucnViaWVzL3J1YnktMy4zLjAvbGliL2xpYnJ1Ynkuc28uMy4zKHJiX2luc3BlY3Qr MHgxOSkgWzB4N2YxNTU0ZGMxNTY5XSAvaG9tZS91c2VyL3NyYy9ydWJ5LTMuMy4wL29iamVjdC5j OjY5Nw0NCi9ob21lL3VzZXIvLnJ1Ymllcy9ydWJ5LTMuMy4wL2xpYi9saWJydWJ5LnNvLjMuMyhy dWJ5X19zZnZleHRyYSsweDExYSkgWzB4N2YxNTU0ZTcyMjNhXSAvaG9tZS91c2VyL3NyYy9ydWJ5 LTMuMy4wL3NwcmludGYuYzoxMTE5DQ0KL2hvbWUvdXNlci8ucnViaWVzL3J1YnktMy4zLjAvbGli L2xpYnJ1Ynkuc28uMy4zKEJTRF92ZnByaW50ZisweGE2OSkgWzB4N2YxNTU0ZTczMDU5XSAvaG9t ZS91c2VyL3NyYy9ydWJ5LTMuMy4wL3ZzbnByaW50Zi5jOjgzMA0NCi9ob21lL3VzZXIvLnJ1Ymll cy9ydWJ5LTMuMy4wL2xpYi9saWJydWJ5LnNvLjMuMyhSQkFTSUNfU0VUX0NMQVNTX1JBVysweDAp IFsweDdmMTU1NGU3NWI1Nl0gL2hvbWUvdXNlci9zcmMvcnVieS0zLjMuMC9zcHJpbnRmLmM6MTE2 OA0NCi9ob21lL3VzZXIvLnJ1Ymllcy9ydWJ5LTMuMy4wL2xpYi9saWJydWJ5LnNvLjMuMyhydWJ5 X3ZzcHJpbnRmMCkgL2hvbWUvdXNlci9zcmMvcnVieS0zLjMuMC9zcHJpbnRmLmM6MTE2OQ0NCi9o b21lL3VzZXIvLnJ1Ymllcy9ydWJ5LTMuMy4wL2xpYi9saWJydWJ5LnNvLjMuMyhyYl9lbmNfdnNw cmludGYrMHg1ZCkgWzB4N2YxNTU0ZTc1ZWNkXSAvaG9tZS91c2VyL3NyYy9ydWJ5LTMuMy4wL3Nw cmludGYuYzoxMTk1DQ0KL2hvbWUvdXNlci8ucnViaWVzL3J1YnktMy4zLjAvbGliL2xpYnJ1Ynku c28uMy4zKHJiX3NwcmludGYrMHg5ZCkgWzB4N2YxNTU0ZTc2MDdkXSAvaG9tZS91c2VyL3NyYy9y dWJ5LTMuMy4wL3NwcmludGYuYzoxMjI1DQ0KL2hvbWUvdXNlci9kZXYvb3NzL2FzeW5jX3J1Ynlf dGVzdC9yYm5uZy9maWJlcl9ibG9ja2VyL2xpYi9maWJlcl9ibG9ja2VyL2ZpYmVyX2Jsb2NrZXIu c28oYmxvY2tfZmliZXIrMHg0YSkgWzB4N2YxNTU0YWQ0MzBhXSAuLi8uLi8uLi8uLi9leHQvZmli ZXJfYmxvY2tlci9maWJlcl9ibG9ja2VyLmM6MjkNDQovaG9tZS91c2VyLy5ydWJpZXMvcnVieS0z LjMuMC9saWIvbGlicnVieS5zby4zLjModm1fY2ZwX2NvbnNpc3RlbnRfcCsweDApIFsweDdmMTU1 NGVmNjRiNF0gL2hvbWUvdXNlci9zcmMvcnVieS0zLjMuMC92bV9pbnNuaGVscGVyLmM6MzQ5MA0N Ci9ob21lL3VzZXIvLnJ1Ymllcy9ydWJ5LTMuMy4wL2xpYi9saWJydWJ5LnNvLjMuMyh2bV9jYWxs X2NmdW5jX3dpdGhfZnJhbWVfKSAvaG9tZS91c2VyL3NyYy9ydWJ5LTMuMy4wL3ZtX2luc25oZWxw ZXIuYzozNDkyDQ0KL2hvbWUvdXNlci8ucnViaWVzL3J1YnktMy4zLjAvbGliL2xpYnJ1Ynkuc28u My4zKHZtX2NhbGxfY2Z1bmNfd2l0aF9mcmFtZSkgL2hvbWUvdXNlci9zcmMvcnVieS0zLjMuMC92 bV9pbnNuaGVscGVyLmM6MzUxOA0NCi9ob21lL3VzZXIvLnJ1Ymllcy9ydWJ5LTMuMy4wL2xpYi9s aWJydWJ5LnNvLjMuMyh2bV9jYWxsX2NmdW5jX290aGVyKSAvaG9tZS91c2VyL3NyYy9ydWJ5LTMu My4wL3ZtX2luc25oZWxwZXIuYzozNTQ0DQ0KL2hvbWUvdXNlci8ucnViaWVzL3J1YnktMy4zLjAv bGliL2xpYnJ1Ynkuc28uMy4zKHZtX3NlbmRpc2grMHg5ZSkgWzB4N2YxNTU0ZjA2Zjg3XSAvaG9t ZS91c2VyL3NyYy9ydWJ5LTMuMy4wL3ZtX2luc25oZWxwZXIuYzo1NTgxDQ0KL2hvbWUvdXNlci8u cnViaWVzL3J1YnktMy4zLjAvbGliL2xpYnJ1Ynkuc28uMy4zKHZtX2V4ZWNfY29yZSkgL2hvbWUv dXNlci9zcmMvcnVieS0zLjMuMC9pbnNucy5kZWY6ODM0DQ0KL2hvbWUvdXNlci8ucnViaWVzL3J1 YnktMy4zLjAvbGliL2xpYnJ1Ynkuc28uMy4zKHJiX3ZtX2V4ZWMrMHgxOWEpIFsweDdmMTU1NGYw ZDFmYV0gL2hvbWUvdXNlci9zcmMvcnVieS0zLjMuMC92bS5jOjI0ODYNDQovaG9tZS91c2VyLy5y dWJpZXMvcnVieS0zLjMuMC9saWIvbGlicnVieS5zby4zLjMocmJfdm1faW52b2tlX3Byb2MrMHg1 ZikgWzB4N2YxNTU0ZjEyZTBmXSAvaG9tZS91c2VyL3NyYy9ydWJ5LTMuMy4wL3ZtLmM6MTcyOA0N Ci9ob21lL3VzZXIvLnJ1Ymllcy9ydWJ5LTMuMy4wL2xpYi9saWJydWJ5LnNvLjMuMyhyYl9maWJl cl9zdGFydCsweDFiYSkgWzB4N2YxNTU0Y2YwOThhXSAvaG9tZS91c2VyL3NyYy9ydWJ5LTMuMy4w L2NvbnQuYzoyNTM2DQ0KL2hvbWUvdXNlci8ucnViaWVzL3J1YnktMy4zLjAvbGliL2xpYnJ1Ynku c28uMy4zKGZpYmVyX2VudHJ5KzB4MjApIFsweDdmMTU1NGNmMGQwMF0gL2hvbWUvdXNlci9zcmMv cnVieS0zLjMuMC9jb250LmM6ODQ3DQ0KL2hvbWUvdXNlci8ucnViaWVzL3J1YnktMy4zLjAvbGli L2xpYnJ1Ynkuc28uMy4zKHJiX3RocmVhZHB0cl9yb290X2ZpYmVyX3NldHVwKSAobnVsbCk6MA0N CmBgYA0NCg0NClRoaXMgaGFwcGVucyB3aXRoIHRoZSBBc3luYyBzY2hlZHVsZXIgYXMgd2VsbCBh cyB3aXRoIFJ1YnnigJlzIHRlc3Qgc2NoZWR1bGVyLiBNeSBtaW5pbWFsIGV4dGVuc2lvbiB1c2Vz IFJ1YnnigJlzLg0NCg0NCkkgaG9wZSBJJ20gbm90IG1pc3Npbmcgc29tZXRoaW5nIG9idmlvdXMu IE15IEMgaXNuJ3QgdmVyeSBnb29kLg0NCg0NCg0NCg0NCi0tIA0NCmh0dHBzOi8vYnVncy5ydWJ5 LWxhbmcub3JnLw0NCiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCiBydWJ5LWNvcmUgbWFpbGluZyBsaXN0IC0tIHJ1YnktY29yZUBtbC5ydWJ5LWxhbmcub3Jn CiBUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIHJ1YnktY29yZS1sZWF2ZUBtbC5ydWJ5 LWxhbmcub3JnCiBydWJ5LWNvcmUgaW5mbyAtLSBodHRwczovL21sLnJ1YnktbGFuZy5vcmcvbWFp bG1hbjMvcG9zdG9yaXVzL2xpc3RzL3J1YnktY29yZS5tbC5ydWJ5LWxhbmcub3JnLw==