[#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:116246] [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:00:54 UTC
List:
ruby-core #116246
SXNzdWUgIzIwMTU1IGhhcyBiZWVuIHVwZGF0ZWQgYnkgaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFt cykuDQ0KDQ0KU3RhdHVzIGNoYW5nZWQgZnJvbSBPcGVuIHRvIEFzc2lnbmVkDQ0KQXNzaWduZWUg c2V0IHRvIGlvcXVhdGl4IChTYW11ZWwgV2lsbGlhbXMpDQ0KDQ0KVGhhbmtzIGZvciB0aGUgcmVw b3J0LCBJJ2xsIG5lZWQgdG8gaW52ZXN0aWdhdGUuDQ0KDQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQ0NCkJ1ZyAjMjAxNTU6IFVzaW5nIHZhbHVlIG9mIHJiX2ZpYmVy X3NjaGVkdWxlcl9jdXJyZW50KCkgY3Jhc2hlcyBSdWJ5DQ0KaHR0cHM6Ly9idWdzLnJ1YnktbGFu Zy5vcmcvaXNzdWVzLzIwMTU1I2NoYW5nZS0xMDYyNjcNDQoNDQoqIEF1dGhvcjogcGFkZG9yIChQ YXRyaWsgV2VuZ2VyKQ0NCiogU3RhdHVzOiBBc3NpZ25lZA0NCiogUHJpb3JpdHk6IE5vcm1hbA0N CiogQXNzaWduZWU6IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlhbXMpDQ0KKiBydWJ5IC12OiBydWJ5 IDMuMy4wICgyMDIzLTEyLTI1IHJldmlzaW9uIDUxMjRmOWFjNzUpIFt4ODZfNjQtbGludXhdDQ0K KiBCYWNrcG9ydDogMy4wOiBVTktOT1dOLCAzLjE6IFVOS05PV04sIDMuMjogVU5LTk9XTiwgMy4z OiBVTktOT1dODQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0NCldo aWxlIHRyeWluZyB0byBtYW51YWxseSBibG9jay91bmJsb2NrIGZpYmVycyBmcm9tIGFuIGV4dGVu c2lvbiB1c2luZyB0aGUgRmliZXIgU2NoZWR1bGVyLA0NCkkgbm90aWNlZCB0aGF0IHVzaW5nIHRo ZSByZXR1cm4gdmFsdWUgb2YgYHJiX2ZpYmVyX3NjaGVkdWxlcl9jdXJyZW50KClgIGNyYXNoZXMg UnVieS4NDQoNDQpJJ3ZlIGNyZWF0ZWQgYSBtaW5pbWFsIGV4dGVuc2lvbiBnZW0gY2FsbGVkICJm aWJlcl9ibG9ja2VyIi4gSXRzIHRlc3Qgc3VpdGUgc2hvd3MgdGhlIGJlaGF2aW9yLiBTZWUgaHR0 cHM6Ly9naXRodWIuY29tL3BhZGRvci9maWJlcl9ibG9ja2VyLCBlc3BlY2lhbGx5IHRoZSBsaW5l cyBjb250YWluaW5nIGBGSVhNRWAuDQ0KDQ0KUGFzc2luZyBgRmliZXIuc2NoZWR1bGVyYCB0byB0 aGUgZXh0ZW5zaW9uIGZ1bmN0aW9ucyB3b3Jrcy4gQnV0IGxldHRpbmcgaXQgZ2V0IHRoZSBjdXJy ZW50IHNjaGVkdWxlciBpdHNlbGYgZG9lcyBub3Qgc2VlbSB0byB3b3JrLg0NCg0NCklzIGByYl9m aWJlcl9zY2hlZHVsZXJfY3VycmVudCgpYCh3aXRoaW4gYSBub24tYmxvY2tpbmcgRmliZXIpIG5v dCB0aGUgZXF1aXZhbGVudCB0byBgRmliZXIuc2NoZWR1bGVyYD8NDQpFdmVuIGp1c3QgcHJpbnRp bmcgdGhlIGl0cyByZXR1cm4gdmFsdWUgd2l0aCBgI3BgIHdpbGwgY3Jhc2ggUnVieS4NDQoNDQoN DQpSdWJ5IGVpdGhlciBjcmFzaGVzIGxpa2UgdGhpczoNDQpgYGANDQojIFJ1bm5pbmc6DQ0KDQ0K VDEgQkVHSU4NDQpUMiBCRUdJTg0NClQxIEVORA0NCi4uVDEgQkVHSU4NDQpleHQ6IGJsb2NraW5n IGZpYmVyDQ0KcGFzc2VkIHNjaGVkdWxlciA9ICM8U2NoZWR1bGVyOjB4MDAwMDdmYzVmMjJkMzll OCBAcmVhZGFibGU9e30sIEB3cml0YWJsZT17fSwgQHdhaXRpbmc9e30sIEBjbG9zZWQ9ZmFsc2Us IEBsb2NrPSM8VGhyZWFkOjpNdXRleDoweDAwMDA3ZmM1ZjIyZWM4ZDA+LCBAYmxvY2tpbmc9e30s IEByZWFkeT1bXSwgQHVyZ2VudD1bIzxJTzpmZCA1PiwgIzxJTzpmZCA2Pl0+DQ0KVDIgQkVHSU4N DQpleHQ6IHVuYmxvY2tpbmcgZmliZXINDQpUMSBFTkQNDQouRQ0NCg0NCkZpbmlzaGVkIGluIDEu MDA3MDE0cywgMy45NzIxIHJ1bnMvcywgMi45NzkxIGFzc2VydGlvbnMvcy4NDQoNDQogIDEpIEVy cm9yOg0NClRlc3RGaWJlckJsb2NrZXIjdGVzdF9maWJlcl9ibG9ja2VyX2N1cnJlbnRfZmliZXI6 DQ0KZmF0YWw6IG1hY2hpbmUgc3RhY2sgb3ZlcmZsb3cgaW4gY3JpdGljYWwgcmVnaW9uDQ0KICAg IE5vIGJhY2t0cmFjZQ0NCmBgYA0NCg0NCk9yIHdpdGggYSBzZWdmYXVsdDoNDQpgYGANDQojIFJ1 bm5pbmc6DQ0KDQ0KRmliZXJCbG9ja2VyLnRlc3Qgd29ya3MuDQ0KLlQxIEJFR0lODQ0KVDIgQkVH SU4NDQpUMSBFTkQNDQouVDEgQkVHSU4NDQpleHQ6IGJsb2NraW5nIGZpYmVyDQ0KL2hvbWUvdXNl ci9kZXYvb3NzL2FzeW5jX3J1YnlfdGVzdC9yYm5uZy9maWJlcl9ibG9ja2VyL3Rlc3QvdGVzdF9m aWJlcl9ibG9ja2VyLnJiOjQwOiBbQlVHXSBTZWdtZW50YXRpb24gZmF1bHQgYXQgMHgwMDAwMDAw MDM5MGQ4Zjk4DQ0KcnVieSAzLjMuMCAoMjAyMy0xMi0yNSByZXZpc2lvbiA1MTI0ZjlhYzc1KSBb eDg2XzY0LWxpbnV4XQ0NCg0NCi0tIENvbnRyb2wgZnJhbWUgaW5mb3JtYXRpb24gLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NDQpjOjAwMDMgcDotLS0tIHM6 MDAxMiBlOjAwMDAxMSBDRlVOQyAgOmJsb2NrX2ZpYmVyDQ0KYzowMDAyIHA6MDAxNCBzOjAwMDYg ZTowMDAwMDUgQkxPQ0sgIC9ob21lL3VzZXIvZGV2L29zcy9hc3luY19ydWJ5X3Rlc3QvcmJubmcv ZmliZXJfYmxvY2tlci90ZXN0L3Rlc3RfZmliZXJfYmxvY2tlci5yYjo0MCBbRklOSVNIXQ0NCmM6 MDAwMSBwOi0tLS0gczowMDAzIGU6MDAwMDAyIERVTU1ZICBbRklOSVNIXQ0NCg0NCi0tIFJ1Ynkg bGV2ZWwgYmFja3RyYWNlIGluZm9ybWF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0NDQovaG9tZS91c2VyL2Rldi9vc3MvYXN5bmNfcnVieV90ZXN0L3Jibm5nL2Zp YmVyX2Jsb2NrZXIvdGVzdC90ZXN0X2ZpYmVyX2Jsb2NrZXIucmI6NDA6aW4gYGJsb2NrIGluIHRl c3RfZmliZXJfYmxvY2tpbmdfaW5fZXh0Jw0NCi9ob21lL3VzZXIvZGV2L29zcy9hc3luY19ydWJ5 X3Rlc3QvcmJubmcvZmliZXJfYmxvY2tlci90ZXN0L3Rlc3RfZmliZXJfYmxvY2tlci5yYjo0MDpp biBgYmxvY2tfZmliZXInDQ0KDQ0KLS0gVGhyZWFkaW5nIGluZm9ybWF0aW9uIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0NClRvdGFsIHJhY3RvciBj b3VudDogMQ0NClJ1YnkgdGhyZWFkIGNvdW50IGZvciB0aGlzIHJhY3RvcjogNA0NCg0NCi0tIE1h Y2hpbmUgcmVnaXN0ZXIgY29udGV4dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NDQogUklQOiAweDAwMDA3ZjE1NTRmMTdhZDggUkJQOiAweDAwMDAwMDAw MzkwZDhmOTAgUlNQOiAweDAwMDA3ZjE1M2E3OWUyODANDQogUkFYOiAweDAwMDA3ZjE1NTRhZGRi YTggUkJYOiAweDAwMDA3ZjE1M2E3OWVhYjAgUkNYOiAweDAwMDAwMDAwMDAwMDAwMDANDQogUkRY OiAweDAwMDA3ZjE1NTRhZGU2MDAgUkRJOiAweDAwMDA3ZjE1NTUxZTg3ODggUlNJOiAweDAwMDAw MDAwMDAwMDBhZTENDQogIFI4OiAweDAwMDAwMDAwMDAwMDAwMmIgIFI5OiAweDAwMDA3ZjE1M2E3 OWYwMzggUjEwOiAweDAwMDA3ZjE1NTRjMGI5YjANDQogUjExOiAweDAwMDA3ZjE1M2E3OWU0OTAg UjEyOiAweDAwMDAwMDAwMDAwMDBhZTEgUjEzOiAweDAwMDAwMDAwMDAwMDAwMDANDQogUjE0OiAw eDAwMDAwMDAwMDAwMDAwMDAgUjE1OiAweDAwMDA1NWFiNzMyZDdkZjAgRUZMOiAweDAwMDAwMDAw MDAwMTAyMDYNDQoNDQotLSBDIGxldmVsIGJhY2t0cmFjZSBpbmZvcm1hdGlvbiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQ0KL2hvbWUvdXNlci8ucnViaWVzL3J1 YnktMy4zLjAvbGliL2xpYnJ1Ynkuc28uMy4zKHJiX3ByaW50X2JhY2t0cmFjZSsweDE0KSBbMHg3 ZjE1NTRmMjQ5NjFdIC9ob21lL3VzZXIvc3JjL3J1YnktMy4zLjAvdm1fZHVtcC5jOjgyMA0NCi9o b21lL3VzZXIvLnJ1Ymllcy9ydWJ5LTMuMy4wL2xpYi9saWJydWJ5LnNvLjMuMyhyYl92bV9idWdy ZXBvcnQpIC9ob21lL3VzZXIvc3JjL3J1YnktMy4zLjAvdm1fZHVtcC5jOjExNTENDQovaG9tZS91 c2VyLy5ydWJpZXMvcnVieS0zLjMuMC9saWIvbGlicnVieS5zby4zLjMocmJfYnVnX2Zvcl9mYXRh bF9zaWduYWwrMHgxMDQpIFsweDdmMTU1NGQxYzIxNF0gL2hvbWUvdXNlci9zcmMvcnVieS0zLjMu MC9lcnJvci5jOjEwNjUNDQovaG9tZS91c2VyLy5ydWJpZXMvcnVieS0zLjMuMC9saWIvbGlicnVi eS5zby4zLjMoc2lnc2VndisweDRmKSBbMHg3ZjE1NTRlNzAwZGZdIC9ob21lL3VzZXIvc3JjL3J1 YnktMy4zLjAvc2lnbmFsLmM6OTI2DQ0KL2xpYi94ODZfNjQtbGludXgtZ251L2xpYmMuc28uNigw eDdmMTU1NDg0MjUyMCkgWzB4N2YxNTU0ODQyNTIwXQ0NCi9ob21lL3VzZXIvLnJ1Ymllcy9ydWJ5 LTMuMy4wL2xpYi9saWJydWJ5LnNvLjMuMyhSQkFTSUNfQ0xBU1MrMHgwKSBbMHg3ZjE1NTRmMTdh ZDhdIC4vaW5jbHVkZS9ydWJ5L2ludGVybmFsL2dsb2JhbHMuaDoxNzgNDQovaG9tZS91c2VyLy5y dWJpZXMvcnVieS0zLjMuMC9saWIvbGlicnVieS5zby4zLjMoZ2NjY3RfbWV0aG9kX3NlYXJjaCkg L2hvbWUvdXNlci9zcmMvcnVieS0zLjMuMC92bV9ldmFsLmM6NDc1DQ0KL2hvbWUvdXNlci8ucnVi aWVzL3J1YnktMy4zLjAvbGliL2xpYnJ1Ynkuc28uMy4zKHJiX2Z1bmNhbGx2X3Njb3BlKSAvaG9t ZS91c2VyL3NyYy9ydWJ5LTMuMy4wL3ZtX2V2YWwuYzoxMDYzDQ0KL2hvbWUvdXNlci8ucnViaWVz L3J1YnktMy4zLjAvbGliL2xpYnJ1Ynkuc28uMy4zKHJiX2Z1bmNhbGx2KSAvaG9tZS91c2VyL3Ny Yy9ydWJ5LTMuMy4wL3ZtX2V2YWwuYzoxMDg0DQ0KL2hvbWUvdXNlci8ucnViaWVzL3J1YnktMy4z LjAvbGliL2xpYnJ1Ynkuc28uMy4zKHJiX2luc3BlY3QrMHgxOSkgWzB4N2YxNTU0ZGMxNTY5XSAv aG9tZS91c2VyL3NyYy9ydWJ5LTMuMy4wL29iamVjdC5jOjY5Nw0NCi9ob21lL3VzZXIvLnJ1Ymll cy9ydWJ5LTMuMy4wL2xpYi9saWJydWJ5LnNvLjMuMyhydWJ5X19zZnZleHRyYSsweDExYSkgWzB4 N2YxNTU0ZTcyMjNhXSAvaG9tZS91c2VyL3NyYy9ydWJ5LTMuMy4wL3NwcmludGYuYzoxMTE5DQ0K L2hvbWUvdXNlci8ucnViaWVzL3J1YnktMy4zLjAvbGliL2xpYnJ1Ynkuc28uMy4zKEJTRF92ZnBy aW50ZisweGE2OSkgWzB4N2YxNTU0ZTczMDU5XSAvaG9tZS91c2VyL3NyYy9ydWJ5LTMuMy4wL3Zz bnByaW50Zi5jOjgzMA0NCi9ob21lL3VzZXIvLnJ1Ymllcy9ydWJ5LTMuMy4wL2xpYi9saWJydWJ5 LnNvLjMuMyhSQkFTSUNfU0VUX0NMQVNTX1JBVysweDApIFsweDdmMTU1NGU3NWI1Nl0gL2hvbWUv dXNlci9zcmMvcnVieS0zLjMuMC9zcHJpbnRmLmM6MTE2OA0NCi9ob21lL3VzZXIvLnJ1Ymllcy9y dWJ5LTMuMy4wL2xpYi9saWJydWJ5LnNvLjMuMyhydWJ5X3ZzcHJpbnRmMCkgL2hvbWUvdXNlci9z cmMvcnVieS0zLjMuMC9zcHJpbnRmLmM6MTE2OQ0NCi9ob21lL3VzZXIvLnJ1Ymllcy9ydWJ5LTMu My4wL2xpYi9saWJydWJ5LnNvLjMuMyhyYl9lbmNfdnNwcmludGYrMHg1ZCkgWzB4N2YxNTU0ZTc1 ZWNkXSAvaG9tZS91c2VyL3NyYy9ydWJ5LTMuMy4wL3NwcmludGYuYzoxMTk1DQ0KL2hvbWUvdXNl ci8ucnViaWVzL3J1YnktMy4zLjAvbGliL2xpYnJ1Ynkuc28uMy4zKHJiX3NwcmludGYrMHg5ZCkg WzB4N2YxNTU0ZTc2MDdkXSAvaG9tZS91c2VyL3NyYy9ydWJ5LTMuMy4wL3NwcmludGYuYzoxMjI1 DQ0KL2hvbWUvdXNlci9kZXYvb3NzL2FzeW5jX3J1YnlfdGVzdC9yYm5uZy9maWJlcl9ibG9ja2Vy L2xpYi9maWJlcl9ibG9ja2VyL2ZpYmVyX2Jsb2NrZXIuc28oYmxvY2tfZmliZXIrMHg0YSkgWzB4 N2YxNTU0YWQ0MzBhXSAuLi8uLi8uLi8uLi9leHQvZmliZXJfYmxvY2tlci9maWJlcl9ibG9ja2Vy LmM6MjkNDQovaG9tZS91c2VyLy5ydWJpZXMvcnVieS0zLjMuMC9saWIvbGlicnVieS5zby4zLjMo dm1fY2ZwX2NvbnNpc3RlbnRfcCsweDApIFsweDdmMTU1NGVmNjRiNF0gL2hvbWUvdXNlci9zcmMv cnVieS0zLjMuMC92bV9pbnNuaGVscGVyLmM6MzQ5MA0NCi9ob21lL3VzZXIvLnJ1Ymllcy9ydWJ5 LTMuMy4wL2xpYi9saWJydWJ5LnNvLjMuMyh2bV9jYWxsX2NmdW5jX3dpdGhfZnJhbWVfKSAvaG9t ZS91c2VyL3NyYy9ydWJ5LTMuMy4wL3ZtX2luc25oZWxwZXIuYzozNDkyDQ0KL2hvbWUvdXNlci8u cnViaWVzL3J1YnktMy4zLjAvbGliL2xpYnJ1Ynkuc28uMy4zKHZtX2NhbGxfY2Z1bmNfd2l0aF9m cmFtZSkgL2hvbWUvdXNlci9zcmMvcnVieS0zLjMuMC92bV9pbnNuaGVscGVyLmM6MzUxOA0NCi9o b21lL3VzZXIvLnJ1Ymllcy9ydWJ5LTMuMy4wL2xpYi9saWJydWJ5LnNvLjMuMyh2bV9jYWxsX2Nm dW5jX290aGVyKSAvaG9tZS91c2VyL3NyYy9ydWJ5LTMuMy4wL3ZtX2luc25oZWxwZXIuYzozNTQ0 DQ0KL2hvbWUvdXNlci8ucnViaWVzL3J1YnktMy4zLjAvbGliL2xpYnJ1Ynkuc28uMy4zKHZtX3Nl bmRpc2grMHg5ZSkgWzB4N2YxNTU0ZjA2Zjg3XSAvaG9tZS91c2VyL3NyYy9ydWJ5LTMuMy4wL3Zt X2luc25oZWxwZXIuYzo1NTgxDQ0KL2hvbWUvdXNlci8ucnViaWVzL3J1YnktMy4zLjAvbGliL2xp YnJ1Ynkuc28uMy4zKHZtX2V4ZWNfY29yZSkgL2hvbWUvdXNlci9zcmMvcnVieS0zLjMuMC9pbnNu cy5kZWY6ODM0DQ0KL2hvbWUvdXNlci8ucnViaWVzL3J1YnktMy4zLjAvbGliL2xpYnJ1Ynkuc28u My4zKHJiX3ZtX2V4ZWMrMHgxOWEpIFsweDdmMTU1NGYwZDFmYV0gL2hvbWUvdXNlci9zcmMvcnVi eS0zLjMuMC92bS5jOjI0ODYNDQovaG9tZS91c2VyLy5ydWJpZXMvcnVieS0zLjMuMC9saWIvbGli cnVieS5zby4zLjMocmJfdm1faW52b2tlX3Byb2MrMHg1ZikgWzB4N2YxNTU0ZjEyZTBmXSAvaG9t ZS91c2VyL3NyYy9ydWJ5LTMuMy4wL3ZtLmM6MTcyOA0NCi9ob21lL3VzZXIvLnJ1Ymllcy9ydWJ5 LTMuMy4wL2xpYi9saWJydWJ5LnNvLjMuMyhyYl9maWJlcl9zdGFydCsweDFiYSkgWzB4N2YxNTU0 Y2YwOThhXSAvaG9tZS91c2VyL3NyYy9ydWJ5LTMuMy4wL2NvbnQuYzoyNTM2DQ0KL2hvbWUvdXNl ci8ucnViaWVzL3J1YnktMy4zLjAvbGliL2xpYnJ1Ynkuc28uMy4zKGZpYmVyX2VudHJ5KzB4MjAp IFsweDdmMTU1NGNmMGQwMF0gL2hvbWUvdXNlci9zcmMvcnVieS0zLjMuMC9jb250LmM6ODQ3DQ0K L2hvbWUvdXNlci8ucnViaWVzL3J1YnktMy4zLjAvbGliL2xpYnJ1Ynkuc28uMy4zKHJiX3RocmVh ZHB0cl9yb290X2ZpYmVyX3NldHVwKSAobnVsbCk6MA0NCmBgYA0NCg0NClRoaXMgaGFwcGVucyB3 aXRoIHRoZSBBc3luYyBzY2hlZHVsZXIgYXMgd2VsbCBhcyB3aXRoIFJ1YnnigJlzIHRlc3Qgc2No ZWR1bGVyLiBNeSBtaW5pbWFsIGV4dGVuc2lvbiB1c2VzIFJ1YnnigJlzLg0NCg0NCkkgaG9wZSBJ J20gbm90IG1pc3Npbmcgc29tZXRoaW5nIG9idmlvdXMuIE15IEMgaXNuJ3QgdmVyeSBnb29kLg0N Cg0NCg0NCg0NCi0tIA0NCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLw0NCiBfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiBydWJ5LWNvcmUgbWFpbGluZyBs aXN0IC0tIHJ1YnktY29yZUBtbC5ydWJ5LWxhbmcub3JnCiBUbyB1bnN1YnNjcmliZSBzZW5kIGFu IGVtYWlsIHRvIHJ1YnktY29yZS1sZWF2ZUBtbC5ydWJ5LWxhbmcub3JnCiBydWJ5LWNvcmUgaW5m byAtLSBodHRwczovL21sLnJ1YnktbGFuZy5vcmcvbWFpbG1hbjMvcG9zdG9yaXVzL2xpc3RzL3J1 YnktY29yZS5tbC5ydWJ5LWxhbmcub3JnLw==