Re: DBD::Oracle forked client hangs with Oracle Client Libraries 19.20 and later.
[email protected] (Justin Schoeman) Fri, 27 Oct 2023 09:27:44 +0200
| Newsgroups | perl.dbi.users |
|---|---|
| Message-ID | <[email protected]> |
VG8gZm9sbG93IHVwLCB3aXRoIHRoZSBoYWNrYXJvdW5kIGluIHRoZSBwcmV2aW91cyBwb3N0 LCBhbmQgbW9kaWZ5IA0KdGVzdC5wbCB0byBkaXNwYXRjaCBiYXRjaGVzIG9mIDIwIGNoaWxk cmVuLCBpdCBldmVudHVhbGx5IGRpZXMgd2l0aCBhIA0Kc2VnZmF1bHQgKGJlbG93IC0gY29y ZWR1bXAgYXZhaWxhYmxlIG9uIHJlcXVlc3QpLiBBbHRob3VnaCBJIGNhbiBub3QgYmUgDQpz dXJlIGlmIHRoaXMgaXMgcmVsYXRlZCB0byBteSBoYWNrLCBvciB0aGUgY29yZSBsaWJyYXJ5 Lg0KDQpUaGFua3MsDQoNCkp1c3Rpbg0KDQogwqDCoMKgwqDCoMKgIE1lc3NhZ2U6IFByb2Nl c3MgMTE0MTY5MSAodGVzdC5wbCkgb2YgdXNlciAxMDAwIGR1bXBlZCBjb3JlLg0KDQogwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIE1vZHVsZSBsaWJuc3NfcmVzb2x2ZS5zby4y IGZyb20gcnBtIA0Kc3lzdGVtZC0yNTMuMTAtMS5mYzM4Lng4Nl82NA0KIMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBNb2R1bGUgbGlibnNzX21kbnM0X21pbmltYWwuc28uMiBm cm9tIHJwbSANCm5zcy1tZG5zLTAuMTUuMS04LmZjMzgueDg2XzY0DQogwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIE1vZHVsZSBsaWJjYXAuc28uMiBmcm9tIHJwbSBsaWJjYXAt Mi40OC02LmZjMzgueDg2XzY0DQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIE1v ZHVsZSBsaWJuc3NfbXlob3N0bmFtZS5zby4yIGZyb20gcnBtIA0Kc3lzdGVtZC0yNTMuMTAt MS5mYzM4Lng4Nl82NA0KIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBNb2R1bGUg bGlibnVtYS5zby4xIGZyb20gcnBtIG51bWFjdGwtMi4wLjE2LTIuZmMzOC54ODZfNjQNCiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgTW9kdWxlIGxpYmFpby5zby4xIGZyb20g cnBtIGxpYmFpby0wLjMuMTExLTE1LmZjMzgueDg2XzY0DQogwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIE1vZHVsZSBsaWJjcnlwdC5zby4yIGZyb20gcnBtIA0KbGlieGNyeXB0 LTQuNC4zNi0xLmZjMzgueDg2XzY0DQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IFN0YWNrIHRyYWNlIG9mIHRocmVhZCAxMTQxNjk3Og0KIMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCAjMMKgIDB4MDAwMDdmOGJmZTBiMDg4NCBfX3B0aHJlYWRfa2lsbF9pbXBs ZW1lbnRhdGlvbiANCihsaWJjLnNvLjYgKyAweDhlODg0KQ0KIMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAjMcKgIDB4MDAwMDdmOGJmZTA1ZmFmZSByYWlzZSAobGliYy5zby42 ICsgMHgzZGFmZSkNCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIzLCoCAweDAw MDA3ZjhiZWVjY2I3M2Ygc2tnZXNpZ09TQ3Jhc2ggDQoobGliY2xudHNoLnNvLjIxLjEgKyAw eDI4Y2I3M2YpDQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICMzwqAgMHgwMDAw N2Y4YmVmM2NhOWVkIGtwZURiZ1NpZ25hbEhhbmRsZXIgDQoobGliY2xudHNoLnNvLjIxLjEg KyAweDJmY2E5ZWQpDQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICM0wqAgMHgw MDAwN2Y4YmVlY2NiYTUyIHNrZ2VzaWdfc2lnYWN0aW9uSGFuZGxlciANCihsaWJjbG50c2gu c28uMjEuMSArIDB4MjhjYmE1MikNCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg IzXCoCAweDAwMDA3ZjhiZmUwNWZiYjAgX19yZXN0b3JlX3J0IChsaWJjLnNvLjYgKyAweDNk YmIwKQ0KIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjNsKgIDB4MDAwMDdmOGJm ZTMwMmU3MCBQZXJsX2NzaWdoYW5kbGVyMyANCihsaWJwZXJsLnNvLjUuMzYgKyAweDEwMmU3 MCkNCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIzfCoCAweDAwMDA3ZjhiZmUw NWZiYjAgX19yZXN0b3JlX3J0IChsaWJjLnNvLjYgKyAweDNkYmIwKQ0KIMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAjOMKgIDB4MDAwMDdmOGJmZTBhYjIxOSBfX2Z1dGV4X2Fi c3RpbWVkX3dhaXRfY29tbW9uIA0KKGxpYmMuc28uNiArIDB4ODkyMTkpDQogwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgICM5wqAgMHgwMDAwN2Y4YmZlMGFkZjIyIA0KcHRocmVh ZF9jb25kX3RpbWVkd2FpdEBAR0xJQkNfMi4zLjIgKGxpYmMuc28uNiArIDB4OGJmMjIpDQog wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICMxMCAweDAwMDA3ZjhiZWI2YWJmYzMg c2x0c3BjdGltZXdhaXQgDQoobGliY2xudHNoY29yZS5zby4yMS4xICsgMHhhYmZjMykNCiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIzExIDB4MDAwMDdmOGJlYzhjZjUwMSBr cHVjcGluY3J0aW1lIChsaWJjbG50c2guc28uMjEuMSANCisgMHg0Y2Y1MDEpDQogwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICMxMiAweDAwMDA3ZjhiZmUwYWU5NDcgc3RhcnRf dGhyZWFkIChsaWJjLnNvLjYgKyAweDhjOTQ3KQ0KIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCAjMTMgMHgwMDAwN2Y4YmZlMTM0ODYwIF9fY2xvbmUzIChsaWJjLnNvLjYgKyAw eDExMjg2MCkNCg0KIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBTdGFjayB0cmFj ZSBvZiB0aHJlYWQgMTE0MTY5MToNCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg IzDCoCAweDAwMDA3ZjhiZmUxMjMwZWEgcmVhZCAobGliYy5zby42ICsgMHgxMDEwZWEpDQog wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICMxwqAgMHgwMDAwN2Y4YmVmOGQwMmQw IHNudHRyZWFkIChsaWJjbG50c2guc28uMjEuMSArIA0KMHgzNGQwMmQwKQ0KIMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjMsKgIDB4MDAwMDdmOGJlZjhjZWIzNSBudHRmcHJk IChsaWJjbG50c2guc28uMjEuMSArIA0KMHgzNGNlYjM1KQ0KIMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAjM8KgIDB4MDAwMDdmOGJlZjhjM2M5NSBuc2Jhc2ljX2JyYyAobGli Y2xudHNoLnNvLjIxLjEgKyANCjB4MzRjM2M5NSkNCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgIzTCoCAweDAwMDA3ZjhiZWY4YjdlN2YgbmlvcXJjIChsaWJjbG50c2guc28u MjEuMSArIA0KMHgzNGI3ZTdmKQ0KIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAj NcKgIDB4MDAwMDdmOGJlZjhmN2VjZiB0dGNkcnYgKGxpYmNsbnRzaC5zby4yMS4xICsgDQow eDM0ZjdlY2YpDQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICM2wqAgMHgwMDAw N2Y4YmVmOGJkY2NkIG5pb3F3YSAobGliY2xudHNoLnNvLjIxLjEgKyANCjB4MzRiZGNjZCkN CiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIzfCoCAweDAwMDA3ZjhiZWY4OGI2 OTAgdXBpcnRyYyAobGliY2xudHNoLnNvLjIxLjEgKyANCjB4MzQ4YjY5MCkNCiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIzjCoCAweDAwMDA3ZjhiZWY4YTAzMzEga3B1cmNz YyAobGliY2xudHNoLnNvLjIxLjEgKyANCjB4MzRhMDMzMSkNCiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgIznCoCAweDAwMDA3ZjhiZWY4OTBmNDAga3B1ZXhlYyAobGliY2xu dHNoLnNvLjIxLjEgKyANCjB4MzQ5MGY0MCkNCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgIzEwIDB4MDAwMDdmOGJlZjg4YWQ0OSBPQ0lTdG10RXhlY3V0ZSANCihsaWJjbG50 c2guc28uMjEuMSArIDB4MzQ4YWQ0OSkNCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgIzExIDB4MDAwMDdmOGJmZTVlMjM3NyBvcmFfc3RfZXhlY3V0ZSAoT3JhY2xlLnNvICsg MHgyNDM3NykNCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIzEyIDB4MDAwMDdm OGJmZTVjYWQ3ZCBYU19EQkRfX09yYWNsZV9fc3RfZXhlY3V0ZSANCihPcmFjbGUuc28gKyAw eGNkN2QpDQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICMxMyAweDAwMDA3Zjhi ZmU2MWIxMDYgWFNfREJJX2Rpc3BhdGNoIChEQkkuc28gKyAweGYxMDYpDQogwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgICMxNCAweDAwMDA3ZjhiZmUzMjY1YWEgUGVybF9wcF9l bnRlcnN1YiANCihsaWJwZXJsLnNvLjUuMzYgKyAweDEyNjVhYSkNCiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgIzE1IDB4MDAwMDdmOGJmZTMxNzk1OCBQZXJsX3J1bm9wc19z dGFuZGFyZCANCihsaWJwZXJsLnNvLjUuMzYgKyAweDExNzk1OCkNCiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgIzE2IDB4MDAwMDdmOGJmZTI3YzNlNyBQZXJsX2NhbGxfc3Yg KGxpYnBlcmwuc28uNS4zNiArIA0KMHg3YzNlNykNCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgIzE3IDB4MDAwMDdmOGJmZTYxYjE2NCBYU19EQklfZGlzcGF0Y2ggKERCSS5z byArIDB4ZjE2NCkNCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIzE4IDB4MDAw MDdmOGJmZTMyNjVhYSBQZXJsX3BwX2VudGVyc3ViIA0KKGxpYnBlcmwuc28uNS4zNiArIDB4 MTI2NWFhKQ0KIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjMTkgMHgwMDAwN2Y4 YmZlMzE3OTU4IFBlcmxfcnVub3BzX3N0YW5kYXJkIA0KKGxpYnBlcmwuc28uNS4zNiArIDB4 MTE3OTU4KQ0KIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjMjAgMHgwMDAwN2Y4 YmZlMjgyNTlkIHBlcmxfcnVuIChsaWJwZXJsLnNvLjUuMzYgKyAweDgyNTlkKQ0KIMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjMjEgMHgwMDAwNTY1NTFjYTE3MzRhIG1haW4g KHBlcmwgKyAweDEzNGEpDQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICMyMiAw eDAwMDA3ZjhiZmUwNDliOGEgX19saWJjX3N0YXJ0X2NhbGxfbWFpbiANCihsaWJjLnNvLjYg KyAweDI3YjhhKQ0KIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjMjMgMHgwMDAw N2Y4YmZlMDQ5YzRiIF9fbGliY19zdGFydF9tYWluQEBHTElCQ18yLjM0IA0KKGxpYmMuc28u NiArIDB4MjdjNGIpDQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICMyNCAweDAw MDA1NjU1MWNhMTczODUgX3N0YXJ0IChwZXJsICsgMHgxMzg1KQ0KIMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBFTEYgb2JqZWN0IGJpbmFyeSBhcmNoaXRlY3R1cmU6IEFNRCB4 ODYtNjQNCg0KT24gMjAyMy8xMC8yNSAxNTozOSwgSnVzdGluIFNjaG9lbWFuIHdyb3RlOg0K PiBHb29kIGRheSwNCj4NCj4gSSBhbSB0cnlpbmcgdG8gZGlnIGludG8gYW4gaXNzdWUgYWZ0 ZXIgYSByZWNlbnQgT3JhY2xlIHVwZGF0ZS4gVGhlIA0KPiBhcHBsaWNhdGlvbiBoYXMgYmVl biBydW5uaW5nIGZsYXdsZXNzbHkgZnJvbSB2ZXJzaW9uIDkueCB0byAxOC41LCBhbmQgDQo+ IGhhcyBvbmx5IGJyb2tlbiBvbiB0aGUgbW9zdCByZWNlbnQgY2xpZW50IGxpYnJhcnkgdXBk YXRlcy4NCj4NCj4gQXR0YWNoZWQgaXMgYSBjdXQgZG93biBhcHBsaWNhdGlvbiB3aGljaCBk ZW1vbnN0cmF0ZXMgdGhlIGlzc3VlLg0KPg0KPiBUaGUgZm9ya2VkIGNoaWxkIHByb2Nlc3Nl cyBuZXZlciBleGl0LiBBdHRhY2hpbmcgdG8gdGhlbSB3aXRoIEdEQiBnaXZlczoNCj4NCj4g KGdkYikgdCBhIGEgYnQNCj4NCj4gVGhyZWFkIDEgKFRocmVhZCAweDdmMGM0OGE2MmM0MCAo TFdQIDc3MzY3NikgInRlc3QucGwiKToNCj4gIzDCoCBmdXRleF93YWl0IChwcml2YXRlPTxv cHRpbWl6ZWQgb3V0PiwgZXhwZWN0ZWQ9MTQsIA0KPiBmdXRleF93b3JkPTB4NTVjNWVmMWM5 NmU0KSBhdCAuLi9zeXNkZXBzL25wdGwvZnV0ZXgtaW50ZXJuYWwuaDoxNDYNCj4gIzHCoCBm dXRleF93YWl0X3NpbXBsZSAocHJpdmF0ZT08b3B0aW1pemVkIG91dD4sIGV4cGVjdGVkPTE0 LCANCj4gZnV0ZXhfd29yZD0weDU1YzVlZjFjOTZlNCkgYXQgLi4vc3lzZGVwcy9ucHRsL2Z1 dGV4LWludGVybmFsLmg6MTc3DQo+ICMywqAgX19HSV9fX3B0aHJlYWRfY29uZF9kZXN0cm95 IChjb25kPTB4NTVjNWVmMWM5NmMwKSBhdCANCj4gcHRocmVhZF9jb25kX2Rlc3Ryb3kuYzo1 Mw0KPiAjM8KgIDB4MDAwMDdmMGMzNWNhYzA3MiBpbiBzbHRzcGNkZXN0cm95ICgpIGZyb20g DQo+IC91c3IvbGliL29yYWNsZS8yMS9jbGllbnQ2NC9saWIvbGliY2xudHNoY29yZS5zby4y MS4xDQo+ICM0wqAgMHgwMDAwN2YwYzM2ZWNmNjhlIGluIGtwdWNwc3RvcHRociAoKSBmcm9t IA0KPiAvdXNyL2xpYi9vcmFjbGUvMjEvY2xpZW50NjQvbGliL2xpYmNsbnRzaC5zby4yMS4x DQo+ICM1wqAgMHgwMDAwN2YwYzM5ZTlhNDJlIGluIGtwdWZobmRsMCAoKSBmcm9tIA0KPiAv dXNyL2xpYi9vcmFjbGUvMjEvY2xpZW50NjQvbGliL2xpYmNsbnRzaC5zby4yMS4xDQo+ICM2 wqAgMHgwMDAwN2YwYzQ4YTEwMjhhIGluIG9yYV9kYl9kZXN0cm95IA0KPiAoZGJoPWRiaEBl bnRyeT0weDU1YzVlZjMyYzViMCwgaW1wX2RiaD1pbXBfZGJoQGVudHJ5PTB4NTVjNWVmMDM1 MzkwKSANCj4gYXQgL3Jvb3QvLmxvY2FsL3NoYXJlLy5jcGFuL2J1aWxkL0RCRC1PcmFjbGUt MS44My0yL2RiZGltcC5jOjEyNjMNCj4gIzfCoCAweDAwMDA3ZjBjNDhhMTA3NTIgaW4gWFNf REJEX19PcmFjbGVfX2RiX0RFU1RST1kgDQo+IChteV9wZXJsPTB4NTVjNWVlZTI3MmEwLCBj dj08b3B0aW1pemVkIG91dD4pIGF0IC4vT3JhY2xlLnhzaTo0MzINCj4gIzjCoCAweDAwMDA3 ZjBjNDhhNGQxMDYgaW4gWFNfREJJX2Rpc3BhdGNoIChteV9wZXJsPTB4NTVjNWVlZTI3MmEw LCANCj4gY3Y9MHg1NWM1ZWYxM2I5YzgpIGF0IA0KPiAvdXNyL3NyYy9kZWJ1Zy9wZXJsLURC SS0xLjY0My0xNS5mYzM4Lng4Nl82NC9EQkkueHM6Mzc4Mw0KPiAjOcKgIDB4MDAwMDdmMGM0 ODcyNjVhYSBpbiBQZXJsX3BwX2VudGVyc3ViIChteV9wZXJsPTB4NTVjNWVlZTI3MmEwKSBh dCANCj4gL3Vzci9zcmMvZGVidWcvcGVybC01LjM2LjEtNDk3LmZjMzgueDg2XzY0L3BwX2hv dC5jOjUzNTMNCj4gIzEwIDB4MDAwMDdmMGM0ODY3YzdhNiBpbiBQZXJsX2NhbGxfc3YgKG15 X3Blcmw9PG9wdGltaXplZCBvdXQ+LCANCj4gc3Y9PG9wdGltaXplZCBvdXQ+LCBmbGFncz08 b3B0aW1pemVkIG91dD4pIGF0IA0KPiAvdXNyL3NyYy9kZWJ1Zy9wZXJsLTUuMzYuMS00OTcu ZmMzOC54ODZfNjQvcGVybC5jOjMwNTcNCj4gIzExIDB4MDAwMDdmMGM0ODcyYzY0MyBpbiBT X2N1cnNlIA0KPiAobXlfcGVybD1teV9wZXJsQGVudHJ5PTB4NTVjNWVlZTI3MmEwLCBzdj1z dkBlbnRyeT0weDU1YzVlZjM0YWYzOCwgDQo+IGNoZWNrX3JlZmNudD1jaGVja19yZWZjbnRA ZW50cnk9dHJ1ZSkgYXQgDQo+IC91c3Ivc3JjL2RlYnVnL3BlcmwtNS4zNi4xLTQ5Ny5mYzM4 Lng4Nl82NC9zdi5jOjY5NzMNCj4gIzEyIDB4MDAwMDdmMGM0ODcyY2Q4OCBpbiBQZXJsX3N2 X2NsZWFyIA0KPiAobXlfcGVybD1teV9wZXJsQGVudHJ5PTB4NTVjNWVlZTI3MmEwLCANCj4g b3JpZ19zdj1vcmlnX3N2QGVudHJ5PTB4NTVjNWVmMDc5ODU4KSBhdCANCj4gL3Vzci9zcmMv ZGVidWcvcGVybC01LjM2LjEtNDk3LmZjMzgueDg2XzY0L3N2LmM6NjUzNg0KPiAjMTMgMHgw MDAwN2YwYzQ4NzJkM2EyIGluIFBlcmxfc3ZfZnJlZTIgKG15X3Blcmw9MHg1NWM1ZWVlMjcy YTAsIA0KPiBzdj0weDU1YzVlZjA3OTg1OCwgcmM9PG9wdGltaXplZCBvdXQ+KSBhdCANCj4g L3Vzci9zcmMvZGVidWcvcGVybC01LjM2LjEtNDk3LmZjMzgueDg2XzY0L3N2LmM6NzA3Mw0K PiAjMTQgMHgwMDAwN2YwYzQ4NmZjODc4IGluIFBlcmxfU3ZSRUZDTlRfZGVjIChzdj08b3B0 aW1pemVkIG91dD4sIA0KPiBteV9wZXJsPTB4NTVjNWVlZTI3MmEwKSBhdCANCj4gL3Vzci9z cmMvZGVidWcvcGVybC01LjM2LjEtNDk3LmZjMzgueDg2XzY0L2lubGluZS5oOjQwNQ0KPiAj MTUgU19tZ19mcmVlX3N0cnVjdCAobXlfcGVybD0weDU1YzVlZWUyNzJhMCwgc3Y9PG9wdGlt aXplZCBvdXQ+LCANCj4gbWc9MHg1NWM1ZWYzNGJiNzApIGF0IC91c3Ivc3JjL2RlYnVnL3Bl cmwtNS4zNi4xLTQ5Ny5mYzM4Lng4Nl82NC9tZy5jOjU2Mw0KPiAjMTYgMHgwMDAwN2YwYzQ4 NmZjOGM5IGluIFBlcmxfbWdfZnJlZSAobXlfcGVybD0weDU1YzVlZWUyNzJhMCwgDQo+IHN2 PTB4NTVjNWVmMzRhZWMwKSBhdCAvdXNyL3NyYy9kZWJ1Zy9wZXJsLTUuMzYuMS00OTcuZmMz OC54ODZfNjQvbWcuYzo1ODUNCj4gIzE3IDB4MDAwMDdmMGM0ODcyY2RjMyBpbiBQZXJsX3N2 X2NsZWFyIA0KPiAobXlfcGVybD1teV9wZXJsQGVudHJ5PTB4NTVjNWVlZTI3MmEwLCANCj4g b3JpZ19zdj1vcmlnX3N2QGVudHJ5PTB4NTVjNWVmMzRhZWMwKSBhdCANCj4gL3Vzci9zcmMv ZGVidWcvcGVybC01LjM2LjEtNDk3LmZjMzgueDg2XzY0L3N2LmM6NjU0NA0KPiAjMTggMHgw MDAwN2YwYzQ4NzJkM2EyIGluIFBlcmxfc3ZfZnJlZTIgKG15X3Blcmw9MHg1NWM1ZWVlMjcy YTAsIA0KPiBzdj0weDU1YzVlZjM0YWVjMCwgcmM9PG9wdGltaXplZCBvdXQ+KSBhdCANCj4g L3Vzci9zcmMvZGVidWcvcGVybC01LjM2LjEtNDk3LmZjMzgueDg2XzY0L3N2LmM6NzA3Mw0K PiAjMTkgMHgwMDAwN2YwYzQ4NzIyNjQ2IGluIFBlcmxfU3ZSRUZDTlRfZGVjX05OIChzdj08 b3B0aW1pemVkIG91dD4sIA0KPiBteV9wZXJsPTxvcHRpbWl6ZWQgb3V0PikgYXQgDQo+IC91 c3Ivc3JjL2RlYnVnL3BlcmwtNS4zNi4xLTQ5Ny5mYzM4Lng4Nl82NC9pbmxpbmUuaDo0MTkN Cj4gIzIwIGRvX2NsZWFuX29ianMgKHJlZj0weDU1YzVlZjMzOGNlMCwgbXlfcGVybD08b3B0 aW1pemVkIG91dD4pIGF0IA0KPiAvdXNyL3NyYy9kZWJ1Zy9wZXJsLTUuMzYuMS00OTcuZmMz OC54ODZfNjQvc3YuYzo0NDgNCj4gIzIxIFNfdmlzaXQgKG1hc2s9MjA0OCwgZmxhZ3M9MjA0 OCwgZj08b3B0aW1pemVkIG91dD4sIA0KPiBteV9wZXJsPTB4NTVjNWVlZTI3MmEwKSBhdCAN Cj4gL3Vzci9zcmMvZGVidWcvcGVybC01LjM2LjEtNDk3LmZjMzgueDg2XzY0L3N2LmM6Mzkx DQo+ICMyMiBQZXJsX3N2X2NsZWFuX29ianMgKG15X3Blcmw9MHg1NWM1ZWVlMjcyYTApIGF0 IA0KPiAvdXNyL3NyYy9kZWJ1Zy9wZXJsLTUuMzYuMS00OTcuZmMzOC54ODZfNjQvc3YuYzo1 NDINCj4gIzIzIDB4MDAwMDdmMGM0ODY4MDE2MCBpbiBwZXJsX2Rlc3RydWN0IChteV9wZXJs PTB4NTVjNWVlZTI3MmEwKSBhdCANCj4gL3Vzci9zcmMvZGVidWcvcGVybC01LjM2LjEtNDk3 LmZjMzgueDg2XzY0L3BlcmwuYzo4ODANCj4gIzI0IDB4MDAwMDU1YzVlZGEwZjMyNCBpbiBt YWluIChhcmdjPTxvcHRpbWl6ZWQgb3V0PiwgYXJndj08b3B0aW1pemVkIA0KPiBvdXQ+LCBl bnY9PG9wdGltaXplZCBvdXQ+KSBhdCANCj4gL3Vzci9zcmMvZGVidWcvcGVybC01LjM2LjEt NDk3LmZjMzgueDg2XzY0L3BlcmxtYWluLmM6MTIxDQo+DQo+IEkgaGF2ZSBpbnN0cnVtZW50 ZWQgZGJkaW1wbC5jIGFzIGZvbGxvd3M6DQo+DQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyogZnJlZSBnbG9iYWwgZW52aXJvbm1lbnQgaGFu ZGxlIGR1cmluZyANCj4gZGVzdHJ1Y3Rpb24gb2YgbGFzdCBjb25uZWN0aW9uICovDQo+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfSBlbHNlIGlm ICggKGltcF9kYmgtPmVudmhwID09IGltcF9kcmgtPmVudmhwKSANCj4gJiYgKFN2VFJVRShw ZXJsX2dldF9zdigiREJJOjpQRVJMX0VORElORyIsMCkpKSApIHsNCj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgUGVy bElPX3ByaW50ZihQZXJsSU9fc3RkZXJyKCksIA0KPiAiRVhJVDFcbiIpOw0KPiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBPQ0lIYW5kbGVGcmVlX2xvZ19zdGF0KGltcF9kYmgsIA0KPiBpbXBfZGJoLT5lbnZocCwg T0NJX0hUWVBFX0VOViwgc3RhdHVzKTsNCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgUGVybElPX3ByaW50ZihQZXJs SU9fc3RkZXJyKCksIA0KPiAiRVhJVDJcbiIpOw0KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoIHN0YXR1cyA9 PSBPQ0lfU1VDQ0VTUyApIHsNCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgUGVybElPX3ByaW50ZihQZXJsSU9fc3Rk ZXJyKCksIA0KPiAiRVhJVDNcbiIpOw0KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaW1w X2RiaC0+ZW52aHAgPSBOVUxMOw0KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaW1wX2Ry aC0+ZW52aHAgPSBOVUxMOw0KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9DQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfQ0KPg0KPiBBbmQgdGhlIGNoaWxkIHByaW50 cyAnRVhJVDEnLCBidXQgbmV2ZXIgJ0VYSVQyJy4gSWYgSSBjb21tZW50IG91dCB0aGUgDQo+ IGNhbGwgdG8gT0NJSGFuZGxlRnJlZV9sb2dfc3RhdCgpIHRoZW4gdGhlIGNoaWxkIHByb2Nl c3MgZXhpdHMgd2l0aG91dCANCj4gZXJyb3IgKGFsdGhvdWdoIHRoZXJlIGFyZSByYW5kb20g c2VnZmF1bHRzIGFmdGVyIGxvbmcgcnVuIHRpbWVzKS4NCj4NCj4gMS4gQSBjb21wbGV0ZSBs b2cgb2YgYWxsIHN0ZXBzIG9mIHRoZSBidWlsZCwgZS5nLjoNCj4NCj4gQXRhdGNoZWQgKGJ1 aWxkLmxvZykNCj4NCj4gMi4gRnVsbCBkZXRhaWxzIG9mIHdoaWNoIHZlcnNpb24gb2YgT3Jh Y2xlIGNsaWVudCBhbmQgc2VydmVyIHlvdSdyZSB1c2luZw0KPg0KPiAjIHJwbSAtcWEgfCBn cmVwIG9yYWNsZQ0KPiBvcmFjbGUtaW5zdGFudGNsaWVudC1iYXNpYy0yMS4xMS4wLjAuMC0x Lng4Nl82NA0KPiBvcmFjbGUtaW5zdGFudGNsaWVudC1kZXZlbC0yMS4xMS4wLjAuMC0xLng4 Nl82NA0KPg0KPg0KPiAzLiBUaGUgb3V0cHV0IG9mIHBlcmwgLVbCoMKgwqDCoMKgwqAgKHRo YXQncyBhIGNhcGl0YWwgViwgbm90IGxvd2VyY2FzZSkNCj4NCj4gQXR0YWNoZWQgKHBlcmwt Vi5sb2cpDQo+DQo+IFRoYW5rcywNCj4gSnVzdGluDQo+DQo+DQo+DQo=