From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Paul Howarth To: git-commits@fedoraproject.org Subject: [rpms/perl-Net-SSLeay] rawhide: Add support for OpenSSL 4.0.0 (rhbz#2458197, GH#553) Date: Wed, 10 Jun 2026 14:30:07 GMT Message-ID: <178110180700.1.2092670577421367838.rpms-perl-Net-SSLeay-2f802e653bc8@fedoraproject.org> List-ID: X-Git-Repo: rpms/perl-Net-SSLeay X-Git-Branch: rawhide X-Git-Rev: 2f802e653bc8981ee3103fb89275f3346f027aaa QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvcGVybC1OZXQtU1NM ZWF5CkJyYW5jaCA6IHJhd2hpZGUKQ29tbWl0IDogMmY4MDJlNjUzYmM4OTgxZWUzMTAzZmI4OTI3 NWYzMzQ2ZjAyN2FhYQpBdXRob3IgOiBQYXVsIEhvd2FydGggPHBhdWxAY2l0eS1mYW4ub3JnPgpE YXRlICAgOiAyMDI2LTA2LTEwVDE1OjI2OjAxKzAxOjAwClN0YXRzICA6ICs1MDYvLTEgaW4gMiBm aWxlKHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvcGVybC1O ZXQtU1NMZWF5L2MvMmY4MDJlNjUzYmM4OTgxZWUzMTAzZmI4OTI3NWYzMzQ2ZjAyN2FhYT9icmFu Y2g9cmF3aGlkZQoKTG9nOgpBZGQgc3VwcG9ydCBmb3IgT3BlblNTTCA0LjAuMCAocmhieiMyNDU4 MTk3LCBHSCM1NTMpCgotLS0KZGlmZiAtLWdpdCBhLzU1My5wYXRjaCBiLzU1My5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZmZmOGE1Ci0tLSAvZGV2L251bGwKKysr IGIvNTUzLnBhdGNoCkBAIC0wLDAgKzEsNDk3IEBACitGcm9tIDM2MWIzYWRjMWRkMDlmNzBiZTdi ZDg5NzI5OTI2MjZhMzI0MGI1OGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VU Ri04P3E/TWljaGFsPTIwSm9zZWY9MjA9QzU9QTBwYT1DND04RGVrPz0gPG1zcGFjZWtAcmVkaGF0 LmNvbT4KK0RhdGU6IFR1ZSwgMTQgQXByIDIwMjYgMTI6Mzc6MzkgKzAyMDAKK1N1YmplY3Q6IFtQ QVRDSCAxLzVdIEZpeCBTU0x2MyBpbiBPcGVuU1NMIDQuMC4wCisKK1N1cHBvcnQgZm9yIFNTTHYz IHdhcyByZW1vdmVkLgorLS0tCisgU1NMZWF5LnhzIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQs IDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL1NTTGVheS54 cyBiL1NTTGVheS54cworaW5kZXggMGVkN2Q5Ni4uNTQwN2ZhMSAxMDA2NDQKKy0tLSBhL1NTTGVh eS54cworKysrIGIvU1NMZWF5LnhzCitAQCAtMjQ1NCw3ICsyNDU0LDcgQEAgU1NMX0NUWF92Ml9u ZXcoKQorIAorICNlbmRpZgorICNlbmRpZgorLSNpZm5kZWYgT1BFTlNTTF9OT19TU0wzCisrI2lm ICFkZWZpbmVkKE9QRU5TU0xfTk9fU1NMMykgJiYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4 NDAwMDAwMDBMCisgCisgU1NMX0NUWCAqCisgU1NMX0NUWF92M19uZXcoKQorQEAgLTU2MDAsNyAr NTYwMCw3IEBAIFNTTHYyX21ldGhvZCgpCisgI2VuZGlmCisgI2VuZGlmCisgCistI2lmbmRlZiBP UEVOU1NMX05PX1NTTDMKKysjaWYgIWRlZmluZWQoT1BFTlNTTF9OT19TU0wzKSAmJiBPUEVOU1NM X1ZFUlNJT05fTlVNQkVSIDwgMHg0MDAwMDAwMEwKKyAKKyBjb25zdCBTU0xfTUVUSE9EICoKKyBT U0x2M19tZXRob2QoKQorCitGcm9tIDc4MGM3YWQ0ODAzZDBmYzhlNzU1YmI4NmU1ODlmODQ4OThl NjUwNDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/TWljaGFsPTIw Sm9zZWY9MjA9QzU9QTBwYT1DND04RGVrPz0gPG1zcGFjZWtAcmVkaGF0LmNvbT4KK0RhdGU6IFR1 ZSwgMTQgQXByIDIwMjYgMTQ6MDg6MDAgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAyLzVdIE9wZW5T U0wgNC4wLjAgcmVtb3ZlIHN1cHBvcnQgZm9yIHNvbWUgVExTIGZ1bmN0aW9ucworCitSZW1vdmVz IGZpeGVkIHZlcnNpb24gVExTIG1ldGhvZHMKKyhodHRwczovL2dpdGh1Yi5jb20vb3BlbnNzbC9v cGVuc3NsL3B1bGwvMzAxMjgpCistLS0KKyBTU0xlYXkueHMgICAgICAgICAgfCA1MSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCisgbGliL05ldC9TU0xlYXku cG9kIHwgMTcgKysrKysrKysrLS0tLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgNTUgaW5zZXJ0aW9u cygrKSwgMTMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9TU0xlYXkueHMgYi9TU0xlYXku eHMKK2luZGV4IDU0MDdmYTEuLmFkOTk2ZDUgMTAwNjQ0CistLS0gYS9TU0xlYXkueHMKKysrKyBi L1NTTGVheS54cworQEAgLTI0NzIsNyArMjQ3Miw3IEBAIFNTTF9DVFhfdjIzX25ldygpCisgICAg ICBPVVRQVVQ6CisgICAgICBSRVRWQUwKKyAKKy0jaWYgIWRlZmluZWQoT1BFTlNTTF9OT19UTFMx X01FVEhPRCkKKysjaWYgIWRlZmluZWQoT1BFTlNTTF9OT19UTFMxX01FVEhPRCkgJiYgT1BFTlNT TF9WRVJTSU9OX05VTUJFUiA8IDB4NDAwMDAwMDBMCisgCisgU1NMX0NUWCAqCisgU1NMX0NUWF90 bHN2MV9uZXcoKQorQEAgLTI0ODEsOSArMjQ4MSwyMiBAQCBTU0xfQ1RYX3Rsc3YxX25ldygpCisg ICAgICBPVVRQVVQ6CisgICAgICBSRVRWQUwKKyAKKysjZWxpZiBPUEVOU1NMX1ZFUlNJT05fTlVN QkVSID49IDB4NDAwMDAwMDBMCisrCisrU1NMX0NUWCAqCisrU1NMX0NUWF90bHN2MV9uZXcoKQor KyAgICAgQ09ERToKKysgICAgIFJFVFZBTCA9IFNTTF9DVFhfbmV3KFRMU19tZXRob2QoKSk7Cisr ICAgICBpZiAoUkVUVkFMKSB7CisrICAgICAgICAgIFNTTF9DVFhfc2V0X21pbl9wcm90b192ZXJz aW9uKFJFVFZBTCwgVExTMV9WRVJTSU9OKTsKKysgICAgICAgICAgU1NMX0NUWF9zZXRfbWF4X3By b3RvX3ZlcnNpb24oUkVUVkFMLCBUTFMxX1ZFUlNJT04pOworKyAgICAgfQorKyAgICAgT1VUUFVU OgorKyAgICAgUkVUVkFMCisrCisgI2VuZGlmCisgCistI2lmIChPUEVOU1NMX1ZFUlNJT05fTlVN QkVSID49IDB4MTAwMDEwMDFMICYmICFkZWZpbmVkKE9QRU5TU0xfTk9fVExTMV8xX01FVEhPRCkp IC8qIE9wZW5TU0wgMS4wLjEtYmV0YTEgKi8KKysjaWYgKE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIg Pj0gMHgxMDAwMTAwMUwgJiYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4NDAwMDAwMDBMICYm ICFkZWZpbmVkKE9QRU5TU0xfTk9fVExTMV8xX01FVEhPRCkpIC8qIE9wZW5TU0wgMS4wLjEtYmV0 YTEgKi8KKyAKKyBTU0xfQ1RYICoKKyBTU0xfQ1RYX3Rsc3YxXzFfbmV3KCkKK0BAIC0yNDkyLDkg KzI1MDUsMjIgQEAgU1NMX0NUWF90bHN2MV8xX25ldygpCisgICAgICBPVVRQVVQ6CisgICAgICBS RVRWQUwKKyAKKysjZWxpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4NDAwMDAwMDBMCisr CisrU1NMX0NUWCAqCisrU1NMX0NUWF90bHN2MV8xX25ldygpCisrICAgICBDT0RFOgorKyAgICAg UkVUVkFMID0gU1NMX0NUWF9uZXcoVExTX21ldGhvZCgpKTsKKysgICAgIGlmIChSRVRWQUwpIHsK KysgICAgICAgICAgU1NMX0NUWF9zZXRfbWluX3Byb3RvX3ZlcnNpb24oUkVUVkFMLCBUTFMxXzFf VkVSU0lPTik7CisrICAgICAgICAgIFNTTF9DVFhfc2V0X21heF9wcm90b192ZXJzaW9uKFJFVFZB TCwgVExTMV8xX1ZFUlNJT04pOworKyAgICAgfQorKyAgICAgT1VUUFVUOgorKyAgICAgUkVUVkFM CisrCisgI2VuZGlmCisgCistI2lmIChPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MTAwMDEw MDFMICYmICFkZWZpbmVkKE9QRU5TU0xfTk9fVExTMV8yX01FVEhPRCkpIC8qIE9wZW5TU0wgMS4w LjEtYmV0YTEgKi8KKysjaWYgKE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgxMDAwMTAwMUwg JiYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4NDAwMDAwMDBMICYmICFkZWZpbmVkKE9QRU5T U0xfTk9fVExTMV8yX01FVEhPRCkpIC8qIE9wZW5TU0wgMS4wLjEtYmV0YTEgKi8KKyAKKyBTU0xf Q1RYICoKKyBTU0xfQ1RYX3Rsc3YxXzJfbmV3KCkKK0BAIC0yNTAzLDYgKzI1MjksMTkgQEAgU1NM X0NUWF90bHN2MV8yX25ldygpCisgICAgICBPVVRQVVQ6CisgICAgICBSRVRWQUwKKyAKKysjZWxp ZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4NDAwMDAwMDBMCisrCisrU1NMX0NUWCAqCisr U1NMX0NUWF90bHN2MV8yX25ldygpCisrICAgICBDT0RFOgorKyAgICAgUkVUVkFMID0gU1NMX0NU WF9uZXcoVExTX21ldGhvZCgpKTsKKysgICAgIGlmIChSRVRWQUwpIHsKKysgICAgICAgICAgU1NM X0NUWF9zZXRfbWluX3Byb3RvX3ZlcnNpb24oUkVUVkFMLCBUTFMxXzJfVkVSU0lPTik7CisrICAg ICAgICAgIFNTTF9DVFhfc2V0X21heF9wcm90b192ZXJzaW9uKFJFVFZBTCwgVExTMV8yX1ZFUlNJ T04pOworKyAgICAgfQorKyAgICAgT1VUUFVUOgorKyAgICAgUkVUVkFMCisrCisgI2VuZGlmCisg CisgU1NMX0NUWCAqCitAQCAtNTYxNiw3ICs1NjU1LDcgQEAgU1NMdjIzX3NlcnZlcl9tZXRob2Qo KQorIGNvbnN0IFNTTF9NRVRIT0QgKgorIFNTTHYyM19jbGllbnRfbWV0aG9kKCkKKyAKKy0jaWYg IWRlZmluZWQoT1BFTlNTTF9OT19UTFMxX01FVEhPRCkKKysjaWYgIWRlZmluZWQoT1BFTlNTTF9O T19UTFMxX01FVEhPRCkgJiYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4NDAwMDAwMDBMCisg CisgY29uc3QgU1NMX01FVEhPRCAqCisgVExTdjFfbWV0aG9kKCkKK0BAIC01NjI5LDcgKzU2Njgs NyBAQCBUTFN2MV9jbGllbnRfbWV0aG9kKCkKKyAKKyAjZW5kaWYKKyAKKy0jaWYgKE9QRU5TU0xf VkVSU0lPTl9OVU1CRVIgPj0gMHgxMDAwMTAwMUwgJiYgIWRlZmluZWQoT1BFTlNTTF9OT19UTFMx XzFfTUVUSE9EKSkgLyogT3BlblNTTCAxLjAuMS1iZXRhMSAqLworKyNpZiAoT1BFTlNTTF9WRVJT SU9OX05VTUJFUiA+PSAweDEwMDAxMDAxTCAmJiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHg0 MDAwMDAwMEwgJiYgIWRlZmluZWQoT1BFTlNTTF9OT19UTFMxXzFfTUVUSE9EKSkgLyogT3BlblNT TCAxLjAuMS1iZXRhMSAqLworIAorIGNvbnN0IFNTTF9NRVRIT0QgKgorIFRMU3YxXzFfbWV0aG9k KCkKK0BAIC01NjQyLDcgKzU2ODEsNyBAQCBUTFN2MV8xX2NsaWVudF9tZXRob2QoKQorIAorICNl bmRpZgorIAorLSNpZiAoT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMDAxMDAxTCAmJiAh ZGVmaW5lZChPUEVOU1NMX05PX1RMUzFfMl9NRVRIT0QpKSAvKiBPcGVuU1NMIDEuMC4xLWJldGEx ICovCisrI2lmIChPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MTAwMDEwMDFMICYmIE9QRU5T U0xfVkVSU0lPTl9OVU1CRVIgPCAweDQwMDAwMDAwTCAmJiAhZGVmaW5lZChPUEVOU1NMX05PX1RM UzFfMl9NRVRIT0QpKSAvKiBPcGVuU1NMIDEuMC4xLWJldGExICovCisgCisgY29uc3QgU1NMX01F VEhPRCAqCisgVExTdjFfMl9tZXRob2QoKQorZGlmZiAtLWdpdCBhL2xpYi9OZXQvU1NMZWF5LnBv ZCBiL2xpYi9OZXQvU1NMZWF5LnBvZAoraW5kZXggNTU0ZmQxMS4uZDk0N2FkMyAxMDA2NDQKKy0t LSBhL2xpYi9OZXQvU1NMZWF5LnBvZAorKysrIGIvbGliL05ldC9TU0xlYXkucG9kCitAQCAtMTU3 NSw3ICsxNTc1LDcgQEAgQ2hlY2sgb3BlbnNzbCBkb2MgTDxodHRwczovL3d3dy5vcGVuc3NsLm9y Zy9kb2NzL21hbm1hc3Rlci9tYW4zL1NTTF9DVFhfbmV3Lmh0bWwKKyAKKyA9aXRlbSAqIFRMU3Yx X21ldGhvZCwgVExTdjFfc2VydmVyX21ldGhvZCBhbmQgVExTdjFfY2xpZW50X21ldGhvZAorIAor LUI8Q09NUEFUSUJJTElUWTo+IFJlcXVpcmVzIE9wZW5TU0wgb3IgTGlicmVTU0wgYnVpbHQgd2l0 aCBzdXBwb3J0IGZvciBUTFN2MS4gU2VydmVyIGFuZCBjbGllbnQgbWV0aG9kcyBub3QgYXZhaWxh YmxlIGluIE5ldC1TU0xlYXktMS44MiBhbmQgYmVmb3JlLgorK0I8Q09NUEFUSUJJTElUWTo+IFJl cXVpcmVzIE9wZW5TU0wgb3IgTGlicmVTU0wgYnVpbHQgd2l0aCBzdXBwb3J0IGZvciBUTFN2MS4g U2VydmVyIGFuZCBjbGllbnQgbWV0aG9kcyBub3QgYXZhaWxhYmxlIGluIE5ldC1TU0xlYXktMS44 MiBhbmQgYmVmb3JlLiBOb3QgYXZhaWxhYmxlIGluIE9wZW5TU0wgNC4wLjAgYW5kIGxhdGVyLiBV c2UgTDwvVExTX21ldGhvZD4gd2l0aCBMPC9DVFhfc2V0X21pbl9wcm90b192ZXJzaW9uPiBhbmQg TDwvQ1RYX3NldF9tYXhfcHJvdG9fdmVyc2lvbj4gaW5zdGVhZC4KKyAKKyBSZXR1cm5zIFNTTF9N RVRIT0Qgc3RydWN0dXJlIGNvcnJlc3BvbmRpbmcgdG8gVExTdjEgbWV0aG9kLCB0aGUgcmV0dXJu IHZhbHVlIGNhbiBiZSBsYXRlciB1c2VkIGFzIGEgcGFyYW0gb2YgTDwvQ1RYX25ld193aXRoX21l dGhvZD4uCisgCitAQCAtMTU4Nyw3ICsxNTg3LDcgQEAgQ2hlY2sgb3BlbnNzbCBkb2MgTDxodHRw czovL3d3dy5vcGVuc3NsLm9yZy9kb2NzL21hbm1hc3Rlci9tYW4zL1NTTF9DVFhfbmV3Lmh0bWwK KyAKKyA9aXRlbSAqIFRMU3YxXzFfbWV0aG9kLCBUTFN2MV8xX3NlcnZlcl9tZXRob2QgYW5kIFRM U3YxXzFfY2xpZW50X21ldGhvZAorIAorLUI8Q09NUEFUSUJJTElUWTo+IFJlcXVpcmVzIE9wZW5T U0wgPj0gMS4wLjEgb3IgTGlicmVTU0wgYnVpbHQgd2l0aCBzdXBwb3J0IGZvciBUTFN2MS4xLiBT ZXJ2ZXIgYW5kIGNsaWVudCBtZXRob2RzIG5vdCBhdmFpbGFibGUgaW4gTmV0LVNTTGVheS0xLjgy IGFuZCBiZWZvcmUuCisrQjxDT01QQVRJQklMSVRZOj4gUmVxdWlyZXMgT3BlblNTTCA+PSAxLjAu MSBvciBMaWJyZVNTTCBidWlsdCB3aXRoIHN1cHBvcnQgZm9yIFRMU3YxLjEuIFNlcnZlciBhbmQg Y2xpZW50IG1ldGhvZHMgbm90IGF2YWlsYWJsZSBpbiBOZXQtU1NMZWF5LTEuODIgYW5kIGJlZm9y ZS4gTm90IGF2YWlsYWJsZSBpbiBPcGVuU1NMIDQuMC4wIGFuZCBsYXRlci4gVXNlIEw8L1RMU19t ZXRob2Q+IHdpdGggTDwvQ1RYX3NldF9taW5fcHJvdG9fdmVyc2lvbj4gYW5kIEw8L0NUWF9zZXRf bWF4X3Byb3RvX3ZlcnNpb24+IGluc3RlYWQuCisgCisgUmV0dXJucyBTU0xfTUVUSE9EIHN0cnVj dHVyZSBjb3JyZXNwb25kaW5nIHRvIFRMU3YxXzEgbWV0aG9kLCB0aGUgcmV0dXJuIHZhbHVlIGNh biBiZSBsYXRlciB1c2VkIGFzIGEgcGFyYW0gb2YgTDwvQ1RYX25ld193aXRoX21ldGhvZD4uCisg CitAQCAtMTU5OSw3ICsxNTk5LDcgQEAgQ2hlY2sgb3BlbnNzbCBkb2MgTDxodHRwczovL3d3dy5v cGVuc3NsLm9yZy9kb2NzL21hbm1hc3Rlci9tYW4zL1NTTF9DVFhfbmV3Lmh0bWwKKyAKKyA9aXRl bSAqIFRMU3YxXzJfbWV0aG9kLCBUTFN2MV8yX3NlcnZlcl9tZXRob2QgYW5kIFRMU3YxXzJfY2xp ZW50X21ldGhvZAorIAorLUI8Q09NUEFUSUJJTElUWTo+IFJlcXVpcmVzIE9wZW5TU0wgPj0gMS4w LjEgb3IgTGlicmVTU0wgYnVpbHQgd2l0aCBzdXBwb3J0IGZvciBUTFN2MS4yLiBTZXJ2ZXIgYW5k IGNsaWVudCBtZXRob2RzIG5vdCBhdmFpbGFibGUgaW4gTmV0LVNTTGVheS0xLjgyIGFuZCBiZWZv cmUuCisrQjxDT01QQVRJQklMSVRZOj4gUmVxdWlyZXMgT3BlblNTTCA+PSAxLjAuMSBvciBMaWJy ZVNTTCBidWlsdCB3aXRoIHN1cHBvcnQgZm9yIFRMU3YxLjIuIFNlcnZlciBhbmQgY2xpZW50IG1l dGhvZHMgbm90IGF2YWlsYWJsZSBpbiBOZXQtU1NMZWF5LTEuODIgYW5kIGJlZm9yZS4gTm90IGF2 YWlsYWJsZSBpbiBPcGVuU1NMIDQuMC4wIGFuZCBsYXRlci4gVXNlIEw8L1RMU19tZXRob2Q+IHdp dGggTDwvQ1RYX3NldF9taW5fcHJvdG9fdmVyc2lvbj4gYW5kIEw8L0NUWF9zZXRfbWF4X3Byb3Rv X3ZlcnNpb24+IGluc3RlYWQuCisgCisgUmV0dXJucyBTU0xfTUVUSE9EIHN0cnVjdHVyZSBjb3Jy ZXNwb25kaW5nIHRvIFRMU3YxXzIgbWV0aG9kLCB0aGUgcmV0dXJuIHZhbHVlIGNhbiBiZSBsYXRl ciB1c2VkIGFzIGEgcGFyYW0gb2YgTDwvQ1RYX25ld193aXRoX21ldGhvZD4uCisgCitAQCAtMjk5 OCw3ICsyOTk4LDcgQEAgQ3JlYXRlcyBhIG5ldyBTU0xfQ1RYIG9iamVjdCAtIGJhc2VkIG9uIFNT THYzX21ldGhvZCgpIC0gYXMgZnJhbWV3b3JrIHRvIGVzdGFibGkKKyAKKyA9aXRlbSAqIENUWF90 bHN2MV9uZXcKKyAKKy1CPENPTVBBVElCSUxJVFk6PiBSZXF1aXJlcyBPcGVuU1NMIG9yIExpYnJl U1NMIGJ1aWx0IHdpdGggc3VwcG9ydCBmb3IgVExTdjEuCisrQjxDT01QQVRJQklMSVRZOj4gUmVx dWlyZXMgT3BlblNTTCBvciBMaWJyZVNTTCBidWlsdCB3aXRoIHN1cHBvcnQgZm9yIFRMU3YxLiBJ biBPcGVuU1NMIDQuMC4wIGFuZCBsYXRlciwgdGhpcyBmdW5jdGlvbiBpcyBlbXVsYXRlZCB1c2lu ZyBMPC9UTFNfbWV0aG9kPiB3aXRoIEw8L0NUWF9zZXRfbWluX3Byb3RvX3ZlcnNpb24+IGFuZCBM PC9DVFhfc2V0X21heF9wcm90b192ZXJzaW9uPiBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS4g SXQgaXMgcmVjb21tZW5kZWQgdG8gdXNlIEw8L0NUWF9uZXc+IHdpdGggTDwvQ1RYX3NldF9taW5f cHJvdG9fdmVyc2lvbj4gYW5kIEw8L0NUWF9zZXRfbWF4X3Byb3RvX3ZlcnNpb24+IGluc3RlYWQu CisgCisgQ3JlYXRlcyBhIG5ldyBTU0xfQ1RYIG9iamVjdCAtIGJhc2VkIG9uIEM8VExTdjFfbWV0 aG9kKCk+IC0gYXMgYSBmcmFtZXdvcmsgZm9yIGVzdGFibGlzaGluZyBjb25uZWN0aW9ucyB1c2lu ZyBUTFN2MS4KKyAKK0BAIC0zMDA4LDcgKzMwMDgsNyBAQCBDcmVhdGVzIGEgbmV3IFNTTF9DVFgg b2JqZWN0IC0gYmFzZWQgb24gQzxUTFN2MV9tZXRob2QoKT4gLSBhcyBhIGZyYW1ld29yayBmb3Ig ZQorIAorID1pdGVtICogQ1RYX3Rsc3YxXzFfbmV3CisgCistQjxDT01QQVRJQklMSVRZOj4gUmVx dWlyZXMgT3BlblNTTCA+PSAxLjAuMSBvciBMaWJyZVNTTCBidWlsdCB3aXRoIHN1cHBvcnQgZm9y IFRMU3YxLjEuCisrQjxDT01QQVRJQklMSVRZOj4gUmVxdWlyZXMgT3BlblNTTCA+PSAxLjAuMSBv ciBMaWJyZVNTTCBidWlsdCB3aXRoIHN1cHBvcnQgZm9yIFRMU3YxLjEuIEluIE9wZW5TU0wgNC4w LjAgYW5kIGxhdGVyLCB0aGlzIGZ1bmN0aW9uIGlzIGVtdWxhdGVkIHVzaW5nIEw8L1RMU19tZXRo b2Q+IHdpdGggTDwvQ1RYX3NldF9taW5fcHJvdG9fdmVyc2lvbj4gYW5kIEw8L0NUWF9zZXRfbWF4 X3Byb3RvX3ZlcnNpb24+IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LiBJdCBpcyByZWNvbW1l bmRlZCB0byB1c2UgTDwvQ1RYX25ldz4gd2l0aCBMPC9DVFhfc2V0X21pbl9wcm90b192ZXJzaW9u PiBhbmQgTDwvQ1RYX3NldF9tYXhfcHJvdG9fdmVyc2lvbj4gaW5zdGVhZC4KKyAKKyBDcmVhdGVz IGEgbmV3IFNTTF9DVFggb2JqZWN0IC0gYmFzZWQgb24gQzxUTFN2MV8xX21ldGhvZCgpPiAtIGFz IGEgZnJhbWV3b3JrIGZvciBlc3RhYmxpc2hpbmcgY29ubmVjdGlvbnMgdXNpbmcgVExTdjEuMS4K KyAKK0BAIC0zMDE4LDcgKzMwMTgsNyBAQCBDcmVhdGVzIGEgbmV3IFNTTF9DVFggb2JqZWN0IC0g YmFzZWQgb24gQzxUTFN2MV8xX21ldGhvZCgpPiAtIGFzIGEgZnJhbWV3b3JrIGZvcgorIAorID1p dGVtICogQ1RYX3Rsc3YxXzJfbmV3CisgCistQjxDT01QQVRJQklMSVRZOj4gUmVxdWlyZXMgT3Bl blNTTCA+PSAxLjAuMSBvciBMaWJyZVNTTCBidWlsdCB3aXRoIHN1cHBvcnQgZm9yIFRMU3YxLjIu CisrQjxDT01QQVRJQklMSVRZOj4gUmVxdWlyZXMgT3BlblNTTCA+PSAxLjAuMSBvciBMaWJyZVNT TCBidWlsdCB3aXRoIHN1cHBvcnQgZm9yIFRMU3YxLjIuIEluIE9wZW5TU0wgNC4wLjAgYW5kIGxh dGVyLCB0aGlzIGZ1bmN0aW9uIGlzIGVtdWxhdGVkIHVzaW5nIEw8L1RMU19tZXRob2Q+IHdpdGgg TDwvQ1RYX3NldF9taW5fcHJvdG9fdmVyc2lvbj4gYW5kIEw8L0NUWF9zZXRfbWF4X3Byb3RvX3Zl cnNpb24+IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LiBJdCBpcyByZWNvbW1lbmRlZCB0byB1 c2UgTDwvQ1RYX25ldz4gd2l0aCBMPC9DVFhfc2V0X21pbl9wcm90b192ZXJzaW9uPiBhbmQgTDwv Q1RYX3NldF9tYXhfcHJvdG9fdmVyc2lvbj4gaW5zdGVhZC4KKyAKKyBDcmVhdGVzIGEgbmV3IFNT TF9DVFggb2JqZWN0IC0gYmFzZWQgb24gQzxUTFN2MV8yX21ldGhvZCgpPiAtIGFzIGEgZnJhbWV3 b3JrIGZvciBlc3RhYmxpc2hpbmcgY29ubmVjdGlvbnMgdXNpbmcgVExTdjEuMi4KKyAKK0BAIC0z MDM1LDcgKzMwMzUsMTAgQEAgQ3JlYXRlcyBhIG5ldyBTU0xfQ1RYIG9iamVjdCBiYXNlZCBvbiAk bWV0aCBtZXRob2QKKyAgICAgIworICAgICAjIHJldHVybnM6IHZhbHVlIGNvcnJlc3BvbmRpbmcg dG8gb3BlbnNzbCdzIFNTTF9DVFggc3RydWN0dXJlICgwIG9uIGZhaWx1cmUpCisgCistICAgICMg ZXhhbXBsZQorKyAgICAjIGV4YW1wbGUgKHJlY29tbWVuZGVkLCBhdmFpbGFibGUgc2luY2UgT3Bl blNTTCAxLjEuMCkKKysgICAgbXkgJGN0eCA9IE5ldDo6U1NMZWF5OjpDVFhfbmV3X3dpdGhfbWV0 aG9kKCZOZXQ6OlNTTGVheTo6VExTX21ldGhvZCk7CisrCisrICAgICMgZXhhbXBsZSAoVExTdjFf bWV0aG9kIG5vdCBhdmFpbGFibGUgaW4gT3BlblNTTCA0LjAuMCspCisgICAgIG15ICRjdHggPSBO ZXQ6OlNTTGVheTo6Q1RYX25ld193aXRoX21ldGhvZCgmTmV0OjpTU0xlYXk6OlRMU3YxX21ldGhv ZCk7CisgCisgQ2hlY2sgb3BlbnNzbCBkb2MgTDxodHRwczovL3d3dy5vcGVuc3NsLm9yZy9kb2Nz L21hbm1hc3Rlci9tYW4zL1NTTF9DVFhfbmV3Lmh0bWw+CisKK0Zyb20gOTI5ZThlYjVhZTI5NTNm ZGI1MjMxNTg4YTlkOTE2YWU2Y2ZmYTkzOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 ID0/VVRGLTg/cT9NaWNoYWw9MjBKb3NlZj0yMD1DNT1BMHBhPUM0PThEZWs/PSA8bXNwYWNla0By ZWRoYXQuY29tPgorRGF0ZTogVHVlLCAxNCBBcHIgMjAyNiAxNDozMjoyNyArMDIwMAorU3ViamVj dDogW1BBVENIIDMvNV0gRml4IE5ldDo6U1NMZWF5IHRvIHN1cHBvcnQgb3BhcXVlIEFTTjFfU1RS SU5HCisKKy0tLQorIFNTTGVheS54cyB8IDk1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNTcgaW5zZXJ0aW9u cygrKSwgMzggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9TU0xlYXkueHMgYi9TU0xlYXku eHMKK2luZGV4IGFkOTk2ZDUuLjI1NjdkODEgMTAwNjQ0CistLS0gYS9TU0xlYXkueHMKKysrKyBi L1NTTGVheS54cworQEAgLTIxOTQsMzUgKzIxOTQsNDEgQEAgaW50IHNzbF9jdHhfc2V0X2NlcnRf Y2JfaW52b2tlKFNTTCAqc3NsLCB2b2lkICphcmcpCisgCisgdGltZV90IEFTTjFfVElNRV90aW1l dChBU04xX1RJTUUgKmFzbjF0LCB0aW1lX3QgKmdtdG9mZikgeworICAgICBzdHJ1Y3QgdG0gdDsK Ky0gICAgY29uc3QgY2hhciAqcCA9IChjb25zdCBjaGFyKikgYXNuMXQtPmRhdGE7CisrI2lmIChP UEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MTAxMDAwMGYgJiYgIWRlZmluZWQoTElCUkVTU0xf VkVSU0lPTl9OVU1CRVIpKSB8fCAoTElCUkVTU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgyMDcwMDAw ZkwpCisrICAgIGNvbnN0IGNoYXIgKnAgPSAoY29uc3QgY2hhciopIEFTTjFfU1RSSU5HX2dldDBf ZGF0YShhc24xdCk7CisrI2Vsc2UKKysgICAgY29uc3QgY2hhciAqcCA9IChjb25zdCBjaGFyKikg QVNOMV9TVFJJTkdfZGF0YShhc24xdCk7CisrI2VuZGlmCisrICAgIGludCBhc24xdF9sZW5ndGgg PSBBU04xX1NUUklOR19sZW5ndGgoYXNuMXQpOworKyAgICBpbnQgYXNuMXRfdHlwZSA9IEFTTjFf U1RSSU5HX3R5cGUoYXNuMXQpOworICAgICBzaXplX3QgbXNlYyA9IDAsIHR6ID0gMCwgaSwgbDsK KyAgICAgdGltZV90IHJlc3VsdDsKKyAgICAgaW50IGFkaiA9IDA7CisgCistICAgIGlmIChhc24x dC0+dHlwZSA9PSBWX0FTTjFfVVRDVElNRSkgeworLQlpZiAoYXNuMXQtPmxlbmd0aDwxMiB8fCBh c24xdC0+bGVuZ3RoPjE3KSByZXR1cm4gMDsKKy0JaWYgKGFzbjF0LT5sZW5ndGg+MTIpIHR6ID0g MTI7CisrICAgIGlmIChhc24xdF90eXBlID09IFZfQVNOMV9VVENUSU1FKSB7CisrCWlmIChhc24x dF9sZW5ndGg8MTIgfHwgYXNuMXRfbGVuZ3RoPjE3KSByZXR1cm4gMDsKKysJaWYgKGFzbjF0X2xl bmd0aD4xMikgdHogPSAxMjsKKyAgICAgfSBlbHNlIHsKKy0JaWYgKGFzbjF0LT5sZW5ndGg8MTQp IHJldHVybiAwOworLQlpZiAoYXNuMXQtPmxlbmd0aD4xNCkgeworKwlpZiAoYXNuMXRfbGVuZ3Ro PDE0KSByZXR1cm4gMDsKKysJaWYgKGFzbjF0X2xlbmd0aD4xNCkgeworIAkgICAgaWYgKHBbMTRd ID09ICcuJykgeworIAkJbXNlYyA9IDE0OworLQkJZm9yKGk9bXNlYysxO2k8YXNuMXQtPmxlbmd0 aCAmJiBwW2ldPj0nMCcgJiYgcFtpXTw9JzknO2krKykgOworLQkJaWYgKGk8YXNuMXQtPmxlbmd0 aCkgdHogPSBpOworKwkJZm9yKGk9bXNlYysxO2k8KHNpemVfdClhc24xdF9sZW5ndGggJiYgcFtp XT49JzAnICYmIHBbaV08PSc5JztpKyspIDsKKysJCWlmIChpPChzaXplX3QpYXNuMXRfbGVuZ3Ro KSB0eiA9IGk7CisgCSAgICB9IGVsc2UgeworIAkJdHogPSAxNDsKKyAJICAgIH0KKyAJfQorICAg ICB9CisgCistICAgIGwgPSBtc2VjID8gbXNlYyA6IHR6ID8gdHogOiBhc24xdC0+bGVuZ3RoOwor KyAgICBsID0gbXNlYyA/IG1zZWMgOiB0eiA/IHR6IDogKHNpemVfdClhc24xdF9sZW5ndGg7Cisg ICAgIGZvcihpPTA7aTxsO2krKykgeworIAlpZiAocFtpXTwnMCcgfHwgcFtpXT4nOScpIHJldHVy biAwOworICAgICB9CisgCisgICAgIC8qIGV4dHJhY3QgZGF0YSBhbmQgdGltZSAqLworICAgICBP UEVOU1NMX2NsZWFuc2UoJnQsIHNpemVvZih0KSk7CistICAgIGlmIChhc24xdC0+dHlwZSA9PSBW X0FTTjFfVVRDVElNRSkgeyAvKiBZWSAtIHR3byBkaWdpdCB5ZWFyICovCisrICAgIGlmIChhc24x dF90eXBlID09IFZfQVNOMV9VVENUSU1FKSB7IC8qIFlZIC0gdHdvIGRpZ2l0IHllYXIgKi8KKyAJ dC50bV95ZWFyID0gKHBbMF0tJzAnKSoxMCArIChwWzFdLScwJyk7CisgCWlmICh0LnRtX3llYXIg PCA3MCkgdC50bV95ZWFyICs9IDEwMDsKKyAJaT0yOworQEAgLTIyNDIsMTEgKzIyNDgsMTEgQEAg dGltZV90IEFTTjFfVElNRV90aW1ldChBU04xX1RJTUUgKmFzbjF0LCB0aW1lX3QgKmdtdG9mZikg eworICAgICBpZiAodHopIHsKKyAJLyogVFogaXMgJ1onIG9yIFsrLV1EREREIGFuZCBhZnRlciBU WiB0aGUgc3RyaW5nIG11c3Qgc3RvcCovCisgCWlmIChwW3R6XSA9PSAnWicpIHsKKy0JICAgIGlm IChhc24xdC0+bGVuZ3RoPnR6KzEgKSByZXR1cm4gMDsKKy0JfSBlbHNlIGlmIChhc24xdC0+bGVu Z3RoPHR6KzUgfHwgKHBbdHpdIT0nLScgJiYgcFt0el0hPScrJykpIHsKKysJICAgIGlmICgoc2l6 ZV90KWFzbjF0X2xlbmd0aD50eisxICkgcmV0dXJuIDA7CisrCX0gZWxzZSBpZiAoKHNpemVfdClh c24xdF9sZW5ndGg8dHorNSB8fCAocFt0el0hPSctJyAmJiBwW3R6XSE9JysnKSkgeworIAkgICAg cmV0dXJuIDA7CisgCX0gZWxzZSB7CistCSAgICBpZiAoYXNuMXQtPmxlbmd0aD50eis1ICkgcmV0 dXJuIDA7CisrCSAgICBpZiAoKHNpemVfdClhc24xdF9sZW5ndGg+dHorNSApIHJldHVybiAwOwor IAkgICAgZm9yKGk9dHorMTtpPHR6KzU7aSsrKSB7CisgCQlpZiAocFtpXTwnMCcgfHwgcFtpXT4n OScpIHJldHVybiAwOworIAkgICAgfQorQEAgLTQ2OTAsNyArNDY5NiwxMSBAQCBYNTA5X2dldF9z dWJqZWN0QWx0TmFtZXMoY2VydCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgRVhURU5EKFNQ LCAyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQrKzsKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgUFVTSHMoc3ZfMm1vcnRhbChuZXdTVml2KHN1YmpBbHROYW1lRE4tPnR5cGUp KSk7CistICAgICAgICAgICAgICAgICAgICAgICAgIFBVU0hzKHN2XzJtb3J0YWwobmV3U1Zwdigo Y29uc3QgY2hhciopc3ViakFsdE5hbWVETi0+ZC5pcC0+ZGF0YSwgc3ViakFsdE5hbWVETi0+ZC5p cC0+bGVuZ3RoKSkpOworKyNpZiAoT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAwMDBm ICYmICFkZWZpbmVkKExJQlJFU1NMX1ZFUlNJT05fTlVNQkVSKSkgfHwgKExJQlJFU1NMX1ZFUlNJ T05fTlVNQkVSID49IDB4MjA3MDAwMGZMKQorKyAgICAgICAgICAgICAgICAgICAgICAgICBQVVNI cyhzdl8ybW9ydGFsKG5ld1NWcHYoKGNvbnN0IGNoYXIqKUFTTjFfU1RSSU5HX2dldDBfZGF0YShz dWJqQWx0TmFtZUROLT5kLmlwKSwgQVNOMV9TVFJJTkdfbGVuZ3RoKHN1YmpBbHROYW1lRE4tPmQu aXApKSkpOworKyNlbHNlCisrICAgICAgICAgICAgICAgICAgICAgICAgIFBVU0hzKHN2XzJtb3J0 YWwobmV3U1ZwdigoY29uc3QgY2hhciopQVNOMV9TVFJJTkdfZGF0YShzdWJqQWx0TmFtZUROLT5k LmlwKSwgQVNOMV9TVFJJTkdfbGVuZ3RoKHN1YmpBbHROYW1lRE4tPmQuaXApKSkpOworKyNlbmRp ZgorICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAKKyAgICAgICAgICAgICAgICAg ICAgICB9CitAQCAtNTIyOSwxNSArNTIzOSwyMCBAQCBQX0FTTjFfVElNRV9nZXRfaXNvdGltZSh0 bSkKKyAgICAgIEFTTjFfVElNRV90b19nZW5lcmFsaXplZHRpbWUodG0sJnRtcCk7CisgICAgICBp ZiAodG1wKSB7CisgICAgICAgIGlmIChBU04xX0dFTkVSQUxJWkVEVElNRV9jaGVjayh0bXApKSB7 CistICAgICAgICAgaWYgKHN0cmxlbigoY2hhciopdG1wLT5kYXRhKT49MTQgJiYgc3RybGVuKChj aGFyKil0bXAtPmRhdGEpPDIwMCkgeworKyNpZiAoT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAw eDEwMTAwMDBmICYmICFkZWZpbmVkKExJQlJFU1NMX1ZFUlNJT05fTlVNQkVSKSkgfHwgKExJQlJF U1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MjA3MDAwMGZMKQorKyAgICAgICAgIGNvbnN0IGNoYXIg KnRtcF9kYXRhID0gKGNvbnN0IGNoYXIqKUFTTjFfU1RSSU5HX2dldDBfZGF0YSh0bXApOworKyNl bHNlCisrICAgICAgICAgY29uc3QgY2hhciAqdG1wX2RhdGEgPSAoY29uc3QgY2hhciopQVNOMV9T VFJJTkdfZGF0YSh0bXApOworKyNlbmRpZgorKyAgICAgICAgIGlmIChzdHJsZW4odG1wX2RhdGEp Pj0xNCAmJiBzdHJsZW4odG1wX2RhdGEpPDIwMCkgeworICAgICAgICAgICAgc3RyY3B5IChidWYs Inl5eXktbW0tZGRUaGg6bW06c3MiKTsKKy0gICAgICAgICAgIHN0cm5jcHkoYnVmLCAgIChjaGFy Kil0bXAtPmRhdGEsICAgNCk7CistICAgICAgICAgICBzdHJuY3B5KGJ1Zis1LCAoY2hhciopdG1w LT5kYXRhKzQsIDIpOworLSAgICAgICAgICAgc3RybmNweShidWYrOCwgKGNoYXIqKXRtcC0+ZGF0 YSs2LCAyKTsKKy0gICAgICAgICAgIHN0cm5jcHkoYnVmKzExLChjaGFyKil0bXAtPmRhdGErOCwg Mik7CistICAgICAgICAgICBzdHJuY3B5KGJ1ZisxNCwoY2hhciopdG1wLT5kYXRhKzEwLDIpOwor LSAgICAgICAgICAgc3RybmNweShidWYrMTcsKGNoYXIqKXRtcC0+ZGF0YSsxMiwyKTsKKy0gICAg ICAgICAgIGlmIChzdHJsZW4oKGNoYXIqKXRtcC0+ZGF0YSk+MTQpIHN0cmNhdChidWYrMTksKGNo YXIqKXRtcC0+ZGF0YSsxNCk7CisrICAgICAgICAgICBzdHJuY3B5KGJ1ZiwgICB0bXBfZGF0YSwg ICA0KTsKKysgICAgICAgICAgIHN0cm5jcHkoYnVmKzUsIHRtcF9kYXRhKzQsIDIpOworKyAgICAg ICAgICAgc3RybmNweShidWYrOCwgdG1wX2RhdGErNiwgMik7CisrICAgICAgICAgICBzdHJuY3B5 KGJ1ZisxMSx0bXBfZGF0YSs4LCAyKTsKKysgICAgICAgICAgIHN0cm5jcHkoYnVmKzE0LHRtcF9k YXRhKzEwLDIpOworKyAgICAgICAgICAgc3RybmNweShidWYrMTcsdG1wX2RhdGErMTIsMik7Cisr ICAgICAgICAgICBpZiAoc3RybGVuKHRtcF9kYXRhKT4xNCkgc3RyY2F0KGJ1ZisxOSx0bXBfZGF0 YSsxNCk7CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIEFTTjFfR0VORVJBTElaRURU SU1FX2ZyZWUodG1wKTsKK0BAIC01MjUwLDcgKzUyNjUsNiBAQCBQX0FTTjFfVElNRV9zZXRfaXNv dGltZSh0bSxzdHIpCisgICAgICBBU04xX1RJTUUgKnRtCisgICAgICBjb25zdCBjaGFyICpzdHIK KyAgICAgIFBSRUlOSVQ6CistICAgICBBU04xX1RJTUUgdDsKKyAgICAgIGNoYXIgYnVmWzI1Nl07 CisgICAgICBpbnQgaSxydjsKKyAgICAgIENPREU6CitAQCAtNTI3MiwyMiArNTI4NiwyNyBAQCBQ X0FTTjFfVElNRV9zZXRfaXNvdGltZSh0bSxzdHIpCisgICAgICBidWZbMTRdID0gJ1wwJzsKKyAg ICAgIGlmIChzdHJsZW4oc3RyKT4xOSAmJiBzdHJsZW4oc3RyKTwyMDApIHN0cmNhdChidWYsc3Ry KzE5KTsKKyAKKy0gICAgIC8qIFdPUktBUk9VTkQ6IEFTTjFfVElNRV9zZXRfc3RyaW5nKCkgbm90 IGF2YWlsYWJsZSBpbiAwLjkuOCAhISEqLworLSAgICAgLyogaW4gMS4wLjAgd2Ugd291bGQgc2lt cGx5OiBydiA9IEFTTjFfVElNRV9zZXRfc3RyaW5nKHRtLGJ1Zik7ICovCistICAgICB0Lmxlbmd0 aCA9IHN0cmxlbihidWYpOworLSAgICAgdC5kYXRhID0gKHVuc2lnbmVkIGNoYXIgKilidWY7Cist ICAgICB0LmZsYWdzID0gMDsKKy0gICAgIHQudHlwZSA9IFZfQVNOMV9VVENUSU1FOworLSAgICAg aWYgKCFBU04xX1RJTUVfY2hlY2soJnQpKSB7CistICAgICAgICB0LnR5cGUgPSBWX0FTTjFfR0VO RVJBTElaRURUSU1FOworLSAgICAgICAgaWYgKCFBU04xX1RJTUVfY2hlY2soJnQpKSBYU1JFVFVS Tl9VTkRFRjsKKysgICAgIC8qIEFTTjFfVElNRV9zZXRfc3RyaW5nKCkgbm90IGF2YWlsYWJsZSBp biAwLjkuOCAqLworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MTAwMDAwMDBMCisr ICAgICBydiA9IEFTTjFfVElNRV9zZXRfc3RyaW5nKHRtLCBidWYpOworKyAgICAgaWYgKCFydikg WFNSRVRVUk5fVU5ERUY7CisrI2Vsc2UKKysgICAgIHsKKysgICAgICAgIEFTTjFfVElNRSB0Owor KyAgICAgICAgdC5sZW5ndGggPSBzdHJsZW4oYnVmKTsKKysgICAgICAgIHQuZGF0YSA9ICh1bnNp Z25lZCBjaGFyICopYnVmOworKyAgICAgICAgdC5mbGFncyA9IDA7CisrICAgICAgICB0LnR5cGUg PSBWX0FTTjFfVVRDVElNRTsKKysgICAgICAgIGlmICghQVNOMV9USU1FX2NoZWNrKCZ0KSkgewor KyAgICAgICAgICAgdC50eXBlID0gVl9BU04xX0dFTkVSQUxJWkVEVElNRTsKKysgICAgICAgICAg IGlmICghQVNOMV9USU1FX2NoZWNrKCZ0KSkgWFNSRVRVUk5fVU5ERUY7CisrICAgICAgICB9Cisr ICAgICAgICB0bS0+dHlwZSA9IHQudHlwZTsKKysgICAgICAgIHRtLT5mbGFncyA9IHQuZmxhZ3M7 CisrICAgICAgICBpZiAoIUFTTjFfU1RSSU5HX3NldCh0bSx0LmRhdGEsdC5sZW5ndGgpKSBYU1JF VFVSTl9VTkRFRjsKKysgICAgICAgIHJ2ID0gMTsKKyAgICAgIH0KKy0gICAgIHRtLT50eXBlID0g dC50eXBlOworLSAgICAgdG0tPmZsYWdzID0gdC5mbGFnczsKKy0gICAgIGlmICghQVNOMV9TVFJJ Tkdfc2V0KHRtLHQuZGF0YSx0Lmxlbmd0aCkpIFhTUkVUVVJOX1VOREVGOworLSAgICAgcnYgPSAx OworLQorLSAgICAgLyogZW5kIG9mIEFTTjFfVElNRV9zZXRfc3RyaW5nKCkgcmVpbXBsZW1lbnRh dGlvbiAqLworKyNlbmRpZgorIAorICAgICAgU1QoMCkgPSBzdl9uZXdtb3J0YWwoKTsKKyAgICAg IHN2X3NldGl2KFNUKDApLCBydik7IC8qIDEgPSBzdWNjZXNzLCB1bmRlZiA9IGZhaWx1cmUgKi8K KworRnJvbSAxYTU4MzdmYTQ4OTgzNmYwZGZjNDExZDNhMGM0ZDk1NWNlOGZhYjhjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP01pY2hhbD0yMEpvc2VmPTIwPUM1PUEw cGE9QzQ9OERlaz89IDxtc3BhY2VrQHJlZGhhdC5jb20+CitEYXRlOiBUdWUsIDE0IEFwciAyMDI2 IDE0OjQ4OjUxICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggNC81XSBVcGRhdGUgdGVzdHMgZm9yIHJl bW92YWwgb2YgU1NMdjIgQ2xpZW50IEhlbGxvIHN1cHBvcnQgaW4KKyBPcGVuU1NMIDQuMC4wCisK Ky0tLQorIHQvbG9jYWwvNDhfY2xpZW50X2hlbGxvX2NhbGxiYWNrLnQgfCAxMiArKysrKysrLS0t LS0KKyAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitk aWZmIC0tZ2l0IGEvdC9sb2NhbC80OF9jbGllbnRfaGVsbG9fY2FsbGJhY2sudCBiL3QvbG9jYWwv NDhfY2xpZW50X2hlbGxvX2NhbGxiYWNrLnQKK2luZGV4IGQ5OTEyMmMuLjExMGQ3NjkgMTAwNjQ0 CistLS0gYS90L2xvY2FsLzQ4X2NsaWVudF9oZWxsb19jYWxsYmFjay50CisrKysgYi90L2xvY2Fs LzQ4X2NsaWVudF9oZWxsb19jYWxsYmFjay50CitAQCAtNSwxMyArNSwxNSBAQCB1c2UgVGVzdDo6 TmV0OjpTU0xlYXkgcXcoCisgICAgIGNhbl9mb3JrIGRhdGFfZmlsZV9wYXRoIGluaXRpYWxpc2Vf bGlic3NsIG5ld19jdHggdGNwX3NvY2tldAorICk7CisgCisrbXkgJGhhc19zc2x2Ml9oZWxsbzsK KyBCRUdJTiB7CisgICAgIGlmIChub3QgZGVmaW5lZCAmTmV0OjpTU0xlYXk6OkNUWF9zZXRfY2xp ZW50X2hlbGxvX2NiKSB7CisgICAgICAgICBwbGFuIHNraXBfYWxsID0+ICJObyBTU0xfQ1RYX3Nl dF9jbGllbnRfaGVsbG9fY2IoKSI7CisgICAgIH0gZWxzaWYgKG5vdCBjYW5fZm9yaygpKSB7Cisg ICAgICAgICBwbGFuIHNraXBfYWxsID0+ICJmb3JrKCkgbm90IHN1cHBvcnRlZCBvbiB0aGlzIHN5 c3RlbSI7CisgICAgIH0gZWxzZSB7CistICAgICAgICBwbGFuIHRlc3RzID0+IDQxOworKyAgICAg ICAgJGhhc19zc2x2Ml9oZWxsbyA9IE5ldDo6U1NMZWF5OjpTU0xlYXkoKSA8IDB4NDAwMDAwMDA7 CisrICAgICAgICBwbGFuIHRlc3RzID0+ICRoYXNfc3NsdjJfaGVsbG8gPyA0MSA6IDMwOworICAg ICB9CisgfQorIAorQEAgLTE3Miw3ICsxNzQsNyBAQCBteSBAY2JfdGVzdHMgPSAoCisgICAgICMg YXJndW1lbnQgcGFzc2VkIHRvIHRoZSBjYWxsYmFjaworICAgICAjIHRydWUgaWYgdGhlIGNhbGxi YWNrIGZ1bmN0aW9uIHRyaWdnZXJzIGNyb2FrKCkKKyAgICAgIyB0cnVlIGlmIHRoZSBjbGllbnQg bmVlZHMgdG8gdGVzdCB0aGF0IEFMUE4gYWxlcnQgKDEyMCkgaXMgcmVjZWl2ZWQKKy0gICAgWyBc JmNsaWVudF9oZWxsb19jYl92MmhlbGxvX2RldGVjdGlvbiwgdW5kZWYsIDAgXSwKKysgICAgKCRo YXNfc3NsdjJfaGVsbG8gPyBbIFwmY2xpZW50X2hlbGxvX2NiX3YyaGVsbG9fZGV0ZWN0aW9uLCB1 bmRlZiwgMCBdIDogKCkpLAorICAgICBbIFwmY2xpZW50X2hlbGxvX2NiX2dldHRlcnMsIHVuZGVm LCAwIF0sCisgICAgIFsgXCZjbGllbnRfaGVsbG9fY2JfdmFsdWVfcGFzc2luZywgXCRjYl90ZXN0 X2FyZywgMCBdLAorICAgICBbIFwmY2xpZW50X2hlbGxvX2NiX2FsZXJ0X2FscG4sIHVuZGVmLCAw LCAnYWxlcnRzJ10sCitAQCAtMjQ4LDggKzI1MCw4IEBAIG15IEByZXN1bHRzOworICAgICB9Owor IAorICAgICAjIFN0YXJ0IHdpdGggU1NMdjIgQ2xpZW50SGVsbG8gZGV0ZWN0aW9uIHRlc3QuIFNl bmQgYSBjYW5uZWQgU1NMdjIKKy0gICAgIyBDbGllbnRIZWxsby4KKy0gICAgeworKyAgICAjIENs aWVudEhlbGxvLiBSZW1vdmVkIGluIE9wZW5TU0wgNC4wLjAuCisrICAgIGlmICgkaGFzX3NzbHYy X2hlbGxvKSB7CisgCW15ICRzX2NsaWVudHYyID0gJHNlcnZlci0+Y29ubmVjdCgpOworIAlteSAk Y2xpZW50djJfaGVsbG8gPSBnZXRfc3NsdjJfaGVsbG8oKTsKKyAJc3lzd3JpdGUoJHNfY2xpZW50 djIsICRjbGllbnR2Ml9oZWxsbywgbGVuZ3RoICRjbGllbnR2Ml9oZWxsbyk7CitAQCAtMzA2LDcg KzMwOCw3IEBAIG15IEByZXN1bHRzOworIHdhaXRwaWQgJHBpZCwgMDsKKyBwdXNoIEByZXN1bHRz LCBbJD8gPT0gMCwgJ0NsaWVudDogc2VydmVyIGV4aXRlZCB3aXRoIDAnXTsKKyBFTkQgeworLSAg VGVzdDo6TW9yZS0+YnVpbGRlci0+Y3VycmVudF90ZXN0KDM3KTsKKysgIFRlc3Q6Ok1vcmUtPmJ1 aWxkZXItPmN1cnJlbnRfdGVzdCgkaGFzX3NzbHYyX2hlbGxvID8gMzcgOiAyNyk7CisgICBvaygg JF8tPlswXSwgJF8tPlsxXSApIGZvciAoQHJlc3VsdHMpOworIH0KKyAKKworRnJvbSA4OWY2YWE1 ZDlmOWUwYzg5NzZkMmRiYjA3YjUxYWJlM2ExMjQ1N2NjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogPT9VVEYtOD9xP01pY2hhbD0yMEpvc2VmPTIwPUM1PUEwcGE9QzQ9OERlaz89IDxt c3BhY2VrQHJlZGhhdC5jb20+CitEYXRlOiBUdWUsIDE0IEFwciAyMDI2IDE0OjU1OjQyICswMjAw CitTdWJqZWN0OiBbUEFUQ0ggNS81XSBBZGQgZGVmYXVsdCAnJyBmb3IgTmV0OjpTU0xlYXk6Ok9Q RU5TU0xfaW5mbygpIHJldHVybgorIHZhbHVlIGluIHRlc3RzCisKK1RoZSByb290IGNhdXNlIHdh cyB0aGUgcmVtb3ZhbCBvZiBlbmdpbmVzIGluIE9wZW5TU0wgNC4wLjAsIHdoaWNoCit0cmlnZ2Vy ZWQgYSB3YXJuaW5nLgorLS0tCisgdC9sb2NhbC8wM191c2UudCB8IDE3ICsrKysrKysrKy0tLS0t LS0tCisgMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKwor ZGlmZiAtLWdpdCBhL3QvbG9jYWwvMDNfdXNlLnQgYi90L2xvY2FsLzAzX3VzZS50CitpbmRleCAz NjM2NGI0Li5mOGZkMWFlIDEwMDY0NAorLS0tIGEvdC9sb2NhbC8wM191c2UudAorKysrIGIvdC9s b2NhbC8wM191c2UudAorQEAgLTYzLDEyICs2MywxMyBAQCBpZiAoZGVmaW5lZCAmTmV0OjpTU0xl YXk6Ok9QRU5TU0xfdmVyc2lvbl9tYWpvcikgeworICAgICBkaWFnKCIgIE9QRU5TU0xfdmVyc2lv bl9idWlsZF9tZXRhZGF0YSgpOiAnIiAuIE5ldDo6U1NMZWF5OjpPUEVOU1NMX3ZlcnNpb25fYnVp bGRfbWV0YWRhdGEoKSAuICInIik7CisgICAgIGRpYWcoIiIpOworICAgICBkaWFnKCJMaWJyYXJ5 IGluZm9ybWF0aW9uIHdpdGggT1BFTlNTTF9pbmZvKCk6Iik7CistICAgIGRpYWcoIiAgT1BFTlNT TF9JTkZPX0NPTkZJR19ESVI6ICAgICAgICAgICAgICciIC4gTmV0OjpTU0xlYXk6Ok9QRU5TU0xf aW5mbyhOZXQ6OlNTTGVheTo6T1BFTlNTTF9JTkZPX0NPTkZJR19ESVIoKSkgICAgICAgICAgICAg LiAiJyIpOworLSAgICBkaWFnKCIgIE9QRU5TU0xfSU5GT19FTkdJTkVTX0RJUjogICAgICAgICAg ICAnIiAuIE5ldDo6U1NMZWF5OjpPUEVOU1NMX2luZm8oTmV0OjpTU0xlYXk6Ok9QRU5TU0xfSU5G T19FTkdJTkVTX0RJUigpKSAgICAgICAgICAgIC4gIiciKTsKKy0gICAgZGlhZygiICBPUEVOU1NM X0lORk9fTU9EVUxFU19ESVI6ICAgICAgICAgICAgJyIgLiBOZXQ6OlNTTGVheTo6T1BFTlNTTF9p bmZvKE5ldDo6U1NMZWF5OjpPUEVOU1NMX0lORk9fTU9EVUxFU19ESVIoKSkgICAgICAgICAgICAu ICInIik7CistICAgIGRpYWcoIiAgT1BFTlNTTF9JTkZPX0RTT19FWFRFTlNJT046ICAgICAgICAg ICciIC4gTmV0OjpTU0xlYXk6Ok9QRU5TU0xfaW5mbyhOZXQ6OlNTTGVheTo6T1BFTlNTTF9JTkZP X0RTT19FWFRFTlNJT04oKSkgICAgICAgICAgLiAiJyIpOworLSAgICBkaWFnKCIgIE9QRU5TU0xf SU5GT19ESVJfRklMRU5BTUVfU0VQQVJBVE9SOiAnIiAuIE5ldDo6U1NMZWF5OjpPUEVOU1NMX2lu Zm8oTmV0OjpTU0xlYXk6Ok9QRU5TU0xfSU5GT19ESVJfRklMRU5BTUVfU0VQQVJBVE9SKCkpIC4g IiciKTsKKy0gICAgZGlhZygiICBPUEVOU1NMX0lORk9fTElTVF9TRVBBUkFUT1I6ICAgICAgICAg JyIgLiBOZXQ6OlNTTGVheTo6T1BFTlNTTF9pbmZvKE5ldDo6U1NMZWF5OjpPUEVOU1NMX0lORk9f TElTVF9TRVBBUkFUT1IoKSkgICAgICAgICAuICInIik7CistICAgIGRpYWcoIiAgT1BFTlNTTF9J TkZPX1NFRURfU09VUkNFOiAgICAgICAgICAgICciIC4gTmV0OjpTU0xlYXk6Ok9QRU5TU0xfaW5m byhOZXQ6OlNTTGVheTo6T1BFTlNTTF9JTkZPX1NFRURfU09VUkNFKCkpICAgICAgICAgICAgLiAi JyIpOworLSAgICBkaWFnKCIgIE9QRU5TU0xfSU5GT19DUFVfU0VUVElOR1M6ICAgICAgICAgICAn IiAuIE5ldDo6U1NMZWF5OjpPUEVOU1NMX2luZm8oTmV0OjpTU0xlYXk6Ok9QRU5TU0xfSU5GT19D UFVfU0VUVElOR1MoKSkgICAgICAgICAgIC4gIiciKTsKKysgICAgbXkgJG9zc2xfaW5mbyA9IHN1 YiB7IG15ICR2ID0gTmV0OjpTU0xlYXk6Ok9QRU5TU0xfaW5mbygkX1swXSk7IGRlZmluZWQgJHYg PyAkdiA6ICcnIH07CisrICAgIGRpYWcoIiAgT1BFTlNTTF9JTkZPX0NPTkZJR19ESVI6ICAgICAg ICAgICAgICciIC4gJG9zc2xfaW5mby0+KE5ldDo6U1NMZWF5OjpPUEVOU1NMX0lORk9fQ09ORklH X0RJUigpKSAgICAgICAgICAgICAuICInIik7CisrICAgIGRpYWcoIiAgT1BFTlNTTF9JTkZPX0VO R0lORVNfRElSOiAgICAgICAgICAgICciIC4gJG9zc2xfaW5mby0+KE5ldDo6U1NMZWF5OjpPUEVO U1NMX0lORk9fRU5HSU5FU19ESVIoKSkgICAgICAgICAgICAuICInIik7CisrICAgIGRpYWcoIiAg T1BFTlNTTF9JTkZPX01PRFVMRVNfRElSOiAgICAgICAgICAgICciIC4gJG9zc2xfaW5mby0+KE5l dDo6U1NMZWF5OjpPUEVOU1NMX0lORk9fTU9EVUxFU19ESVIoKSkgICAgICAgICAgICAuICInIik7 CisrICAgIGRpYWcoIiAgT1BFTlNTTF9JTkZPX0RTT19FWFRFTlNJT046ICAgICAgICAgICciIC4g JG9zc2xfaW5mby0+KE5ldDo6U1NMZWF5OjpPUEVOU1NMX0lORk9fRFNPX0VYVEVOU0lPTigpKSAg ICAgICAgICAuICInIik7CisrICAgIGRpYWcoIiAgT1BFTlNTTF9JTkZPX0RJUl9GSUxFTkFNRV9T RVBBUkFUT1I6ICciIC4gJG9zc2xfaW5mby0+KE5ldDo6U1NMZWF5OjpPUEVOU1NMX0lORk9fRElS X0ZJTEVOQU1FX1NFUEFSQVRPUigpKSAuICInIik7CisrICAgIGRpYWcoIiAgT1BFTlNTTF9JTkZP X0xJU1RfU0VQQVJBVE9SOiAgICAgICAgICciIC4gJG9zc2xfaW5mby0+KE5ldDo6U1NMZWF5OjpP UEVOU1NMX0lORk9fTElTVF9TRVBBUkFUT1IoKSkgICAgICAgICAuICInIik7CisrICAgIGRpYWco IiAgT1BFTlNTTF9JTkZPX1NFRURfU09VUkNFOiAgICAgICAgICAgICciIC4gJG9zc2xfaW5mby0+ KE5ldDo6U1NMZWF5OjpPUEVOU1NMX0lORk9fU0VFRF9TT1VSQ0UoKSkgICAgICAgICAgICAuICIn Iik7CisrICAgIGRpYWcoIiAgT1BFTlNTTF9JTkZPX0NQVV9TRVRUSU5HUzogICAgICAgICAgICci IC4gJG9zc2xfaW5mby0+KE5ldDo6U1NMZWF5OjpPUEVOU1NMX0lORk9fQ1BVX1NFVFRJTkdTKCkp ICAgICAgICAgICAuICInIik7CisgfQoKZGlmZiAtLWdpdCBhL3BlcmwtTmV0LVNTTGVheS5zcGVj IGIvcGVybC1OZXQtU1NMZWF5LnNwZWMKaW5kZXggZTRkZTg2MC4uNjk3Y2YzMyAxMDA2NDQKLS0t IGEvcGVybC1OZXQtU1NMZWF5LnNwZWMKKysrIGIvcGVybC1OZXQtU1NMZWF5LnNwZWMKQEAgLTEy LDExICsxMiwxMiBAQAogCiBOYW1lOgkJcGVybC1OZXQtU1NMZWF5CiBWZXJzaW9uOgkxLjk2Ci1S ZWxlYXNlOgkxJXs/ZGlzdH0KK1JlbGVhc2U6CTIlez9kaXN0fQogU3VtbWFyeToJUGVybCBleHRl bnNpb24gZm9yIHVzaW5nIE9wZW5TU0wKIExpY2Vuc2U6CUFydGlzdGljLTIuMAogVVJMOgkJaHR0 cHM6Ly9tZXRhY3Bhbi5vcmcvcmVsZWFzZS9OZXQtU1NMZWF5CiBTb3VyY2UwOglodHRwczovL2Nw YW4ubWV0YWNwYW4ub3JnL21vZHVsZXMvYnktbW9kdWxlL05ldC9OZXQtU1NMZWF5LSV7dmVyc2lv bn0udGFyLmd6CitQYXRjaDA6CQlodHRwczovL3BhdGNoLWRpZmYuZ2l0aHVidXNlcmNvbnRlbnQu Y29tL3Jhdy9yYWRpYXRvci1zb2Z0d2FyZS9wNS1uZXQtc3NsZWF5L3B1bGwvNTUzLnBhdGNoCiBQ YXRjaDEwOglOZXQtU1NMZWF5LTEuOTAtcGtnY29uZmlnLnBhdGNoCiAjID09PT09PT09PT09IE1v ZHVsZSBCdWlsZCA9PT09PT09PT09PT09PT09PT09PT09PT09PT0KIEJ1aWxkUmVxdWlyZXM6CWNv cmV1dGlscwpAQCAtODksNiArOTAsMTAgQEAgc28geW91IGNhbiB3cml0ZSBzZXJ2ZXJzIG9yIGNs aWVudHMgZm9yIG1vcmUgY29tcGxpY2F0ZWQgYXBwbGljYXRpb25zLgogJXByZXAKICVzZXR1cCAt cSAtbiBOZXQtU1NMZWF5LSV7dmVyc2lvbn0KIAorIyBPcGVuU1NMNCBjb21wYXRpYmlsaXR5Cisj IGh0dHBzOi8vZ2l0aHViLmNvbS9yYWRpYXRvci1zb2Z0d2FyZS9wNS1uZXQtc3NsZWF5L3B1bGwv NTUzCislcGF0Y2ggLVAwIC1wMQorCiAjIEdldCBsaWJyYXJpZXMgdG8gbGluayBhZ2FpbnN0IGZy b20gcGtnLWNvbmZpZwogIyBodHRwczovL2dpdGh1Yi5jb20vcmFkaWF0b3Itc29mdHdhcmUvcDUt bmV0LXNzbGVheS9wdWxsLzEyNwogJXBhdGNoIC1QIDEwCkBAIC0xMzMsNiArMTM4LDkgQEAgbWFr ZSB0ZXN0CiAle19tYW5kaXJ9L21hbjMvTmV0OjpTU0xlYXk6OkhhbmRsZS4zKgogCiAlY2hhbmdl bG9nCisqIFdlZCBKdW4gMTAgMjAyNiBQYXVsIEhvd2FydGggPHBhdWxAY2l0eS1mYW4ub3JnPiAt IDEuOTYtMgorLSBBZGQgc3VwcG9ydCBmb3IgT3BlblNTTCA0LjAuMCAocmhieiMyNDU4MTk3LCBH SCM1NTMpCisKICogU3VuIE1hciAyMiAyMDI2IFBhdWwgSG93YXJ0aCA8cGF1bEBjaXR5LWZhbi5v cmc+IC0gMS45Ni0xCiAtIFVwZGF0ZSB0byAxLjk2CiAgIC0gU2tpcCBOUE4gdGVzdHMgd2hlbiBO UE4gaXMgZGlzYWJsZWQgaW4gT3BlblNTTCBpbnN0ZWFkIG9mIGFzc3VtaW5nIE5QTiBpcwo=