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: Yaakov Selkowitz To: git-commits@fedoraproject.org Subject: [rpms/vlc] epel9-next: Merge branch 'rawhide' into epel9 Date: Mon, 20 Jul 2026 18:06:12 GMT Message-ID: <178457077249.1.17257346692580774750.rpms-vlc-89611fa78306@fedoraproject.org> List-ID: X-Git-Repo: rpms/vlc X-Git-Branch: epel9-next X-Git-Rev: 89611fa78306de21608e6ae293c34c8434fdda59 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvdmxjCkJyYW5jaCA6 IGVwZWw5LW5leHQKQ29tbWl0IDogODk2MTFmYTc4MzA2ZGUyMTYwOGU2YWUyOTNjMzRjODQzNGZk ZGE1OQpBdXRob3IgOiBZYWFrb3YgU2Vsa293aXR6IDx5c2Vsa293aUByZWRoYXQuY29tPgpEYXRl ICAgOiAyMDI1LTEyLTAyVDE4OjM3OjEzLTA1OjAwClN0YXRzICA6ICsxNDYvLTI1NzggaW4gMTIg ZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL3ZsYy9j Lzg5NjExZmE3ODMwNmRlMjE2MDhlNmFlMjkzYzM0Yzg0MzRmZGRhNTk/YnJhbmNoPWVwZWw5LW5l eHQKCkxvZzoKTWVyZ2UgYnJhbmNoICdyYXdoaWRlJyBpbnRvIGVwZWw5CgotLS0KZGlmZiAtLWdp dCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IDY3ZWQyZDguLjhjZTNiZTYgMTAwNjQ0 Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtMSwyICsxLDIgQEAKLS92bGMt My4wLjIwLnRhci54egotL3ZsYy0zLjAuMjEudGFyLnh6CisvdmxjLSoudGFyLmJ6MgorL3ZsYy0q LnRhci54egoKZGlmZiAtLWdpdCBhLzU1NzQucGF0Y2ggYi81NTc0LnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCA3ZGFjNzRhLi4wMDAwMDAwCi0tLSBhLzU1NzQucGF0Y2gKKysr IC9kZXYvbnVsbApAQCAtMSw3NzUgKzAsMCBAQAotRnJvbSA4MWQ2ZDU2ZGY2ZTVhNjZlZDk5OTcw ZTJjNTU5NTM5ODU4ZjRhMGI3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYt OD9xP1I9QzM9QTltaT0yMERlbmlzLUNvdXJtb250Pz0gPHJlbWlAcmVtbGFiLm5ldD4KLURhdGU6 IFNhdCwgNSBNYXkgMjAxOCAxNToyODoxNSArMDMwMAotU3ViamVjdDogW1BBVENIIDAxLzExXSBh dmNvZGVjOiBhdm9pZCBzaWduZWRuZXNzIG1pc21hdGNoIHdhcm5pbmcKLQotQml0bWFzayBzaG91 bGQgYmUgdW5zaWduZWQsIGJ1dCBmZm1wZWcgc2VlbXMgY29uZnVzZWQgd2l0aCBpdHNlbGYuCi0K LShjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDg1NDQyMzNlN2ZkZTI5NjU0MzVlMzJhNDQ1NDk0 ODk4NDQwZWNjMzApCi0tLS0KLSBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYyB8IDQgKyst LQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRp ZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYyBiL21vZHVsZXMvY29kZWMv YXZjb2RlYy9hdWRpby5jCi1pbmRleCA1MGE3NmM3YTE4ZS4uZTVhZjBjYTVmMmYgMTAwNjQ0Ci0t LS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYwotKysrIGIvbW9kdWxlcy9jb2RlYy9h dmNvZGVjL2F1ZGlvLmMKLUBAIC01OTMsOSArNTkzLDkgQEAgc3RhdGljIHZvaWQgU2V0dXBPdXRw dXRGb3JtYXQoIGRlY29kZXJfdCAqcF9kZWMsIGJvb2wgYl90cnVzdCApCi0gICAgIHVpbnQzMl90 IHBpX29yZGVyX3NyY1tpX29yZGVyX21heF07Ci0gCi0gICAgIGludCBpX2NoYW5uZWxzX3NyYyA9 IDA7Ci0tICAgIGludDY0X3QgY2hhbm5lbF9sYXlvdXQgPQotKyAgICB1aW50NjRfdCBjaGFubmVs X2xheW91dCA9Ci0gICAgICAgICBwX3N5cy0+cF9jb250ZXh0LT5jaGFubmVsX2xheW91dCA/IHBf c3lzLT5wX2NvbnRleHQtPmNoYW5uZWxfbGF5b3V0IDoKLS0gICAgICAgIGF2X2dldF9kZWZhdWx0 X2NoYW5uZWxfbGF5b3V0KCBwX3N5cy0+cF9jb250ZXh0LT5jaGFubmVscyApOwotKyAgICAgICAg KHVpbnQ2NF90KWF2X2dldF9kZWZhdWx0X2NoYW5uZWxfbGF5b3V0KCBwX3N5cy0+cF9jb250ZXh0 LT5jaGFubmVscyApOwotIAotICAgICBpZiggY2hhbm5lbF9sYXlvdXQgKQotICAgICB7Ci0tLSAK LUdpdExhYgotCi0KLUZyb20gYzc3MDllN2EwNDhlYjY5YjY1NmQ3Zjk2NjNkZWJiYzFkZGUxZjU5 MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IElsa2thIE9sbGFra2EgPGlsZW9vQHZp ZGVvbGFuLm9yZz4KLURhdGU6IFdlZCwgNSBKdWwgMjAyMyAxMjo1MTozNCArMDMwMAotU3ViamVj dDogW1BBVENIIDAyLzExXSBhdmNvZGVjOiB1c2UgcF9kZWMtPmZtdF9vdXQgaW5zdGVhZCBvZiBj b250ZXh0IGNoYW5uZWxzCi0gb24gYXVkaW8gY2hhbm5lbC1jb3VudAotCi1yZWR1Y2VzIHRoZSBu ZWVkIG9mIGlmZGVmcyB3aGVuIGFkZGluZyBjaF9sYXlvdXQgc3VwcG9ydAotCi0oY2hlcnJ5IHBp Y2tlZCBmcm9tIGNvbW1pdCBiZGRmNWJhMTkxMTFkMWNjNDQ2M2Q5ODc2YzRiYzRiYTc1ZjgyZDdm KQotLS0tCi0gbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMgfCAxNCArKysrKysrLS0tLS0t LQotIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCi0KLWRp ZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYyBiL21vZHVsZXMvY29kZWMv YXZjb2RlYy9hdWRpby5jCi1pbmRleCBlNWFmMGNhNWYyZi4uMjYxNjZjMDg0ZTUgMTAwNjQ0Ci0t LS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYwotKysrIGIvbW9kdWxlcy9jb2RlYy9h dmNvZGVjL2F1ZGlvLmMKLUBAIC00ODQsMTUgKzQ4NCwxNSBAQCBzdGF0aWMgYmxvY2tfdCAqIENv bnZlcnRBVkZyYW1lKCBkZWNvZGVyX3QgKnBfZGVjLCBBVkZyYW1lICpmcmFtZSApCi0gICAgIC8q IEludGVybGVhdmUgYXVkaW8gaWYgcmVxdWlyZWQgKi8KLSAgICAgaWYoIGF2X3NhbXBsZV9mbXRf aXNfcGxhbmFyKCBjdHgtPnNhbXBsZV9mbXQgKSApCi0gICAgIHsKLS0gICAgICAgIHBfYmxvY2sg PSBibG9ja19BbGxvYyhmcmFtZS0+bGluZXNpemVbMF0gKiBjdHgtPmNoYW5uZWxzKTsKLSsgICAg ICAgIHBfYmxvY2sgPSBibG9ja19BbGxvYyhmcmFtZS0+bGluZXNpemVbMF0gKiBwX2RlYy0+Zm10 X291dC5hdWRpby5pX2NoYW5uZWxzICk7Ci0gICAgICAgICBpZiAoIGxpa2VseShwX2Jsb2NrKSAp Ci0gICAgICAgICB7Ci0tICAgICAgICAgICAgY29uc3Qgdm9pZCAqcGxhbmVzW2N0eC0+Y2hhbm5l bHNdOwotLSAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgY3R4LT5jaGFubmVsczsgaSsr KQotKyAgICAgICAgICAgIGNvbnN0IHZvaWQgKnBsYW5lc1twX2RlYy0+Zm10X291dC5hdWRpby5p X2NoYW5uZWxzXTsKLSsgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHBfZGVjLT5mbXRf b3V0LmF1ZGlvLmlfY2hhbm5lbHM7IGkrKykKLSAgICAgICAgICAgICAgICAgcGxhbmVzW2ldID0g ZnJhbWUtPmV4dGVuZGVkX2RhdGFbaV07Ci0gCi0gICAgICAgICAgICAgYW91dF9JbnRlcmxlYXZl KHBfYmxvY2stPnBfYnVmZmVyLCBwbGFuZXMsIGZyYW1lLT5uYl9zYW1wbGVzLAotLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjdHgtPmNoYW5uZWxzLCBwX2RlYy0+Zm10X291dC5hdWRpby5p X2Zvcm1hdCk7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBfZGVjLT5mbXRfb3V0LmF1 ZGlvLmlfY2hhbm5lbHMsIHBfZGVjLT5mbXRfb3V0LmF1ZGlvLmlfZm9ybWF0KTsKLSAgICAgICAg ICAgICBwX2Jsb2NrLT5pX25iX3NhbXBsZXMgPSBmcmFtZS0+bmJfc2FtcGxlczsKLSAgICAgICAg IH0KLSAgICAgICAgIGF2X2ZyYW1lX2ZyZWUoJmZyYW1lKTsKLUBAIC01MTEsNyArNTExLDcgQEAg c3RhdGljIGJsb2NrX3QgKiBDb252ZXJ0QVZGcmFtZSggZGVjb2Rlcl90ICpwX2RlYywgQVZGcmFt ZSAqZnJhbWUgKQotICAgICAgICAgewotICAgICAgICAgICAgIGFvdXRfQ2hhbm5lbEV4dHJhY3Qo IHBfYnVmZmVyLT5wX2J1ZmZlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw X2RlYy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzLAotLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHBfYmxvY2stPnBfYnVmZmVyLCBjdHgtPmNoYW5uZWxzLAotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHBfYmxvY2stPnBfYnVmZmVyLCBwX2RlYy0+Zm10X291dC5h dWRpby5pX2NoYW5uZWxzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBfYmxv Y2stPmlfbmJfc2FtcGxlcywgcF9zeXMtPnBpX2V4dHJhY3Rpb24sCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcF9kZWMtPmZtdF9vdXQuYXVkaW8uaV9iaXRzcGVyc2FtcGxlICk7 Ci0gICAgICAgICAgICAgcF9idWZmZXItPmlfbmJfc2FtcGxlcyA9IHBfYmxvY2stPmlfbmJfc2Ft cGxlczsKLUBAIC02MDAsMTMgKzYwMCwxMyBAQCBzdGF0aWMgdm9pZCBTZXR1cE91dHB1dEZvcm1h dCggZGVjb2Rlcl90ICpwX2RlYywgYm9vbCBiX3RydXN0ICkKLSAgICAgaWYoIGNoYW5uZWxfbGF5 b3V0ICkKLSAgICAgewotICAgICAgICAgZm9yKCB1bnNpZ25lZCBpID0gMDsgaSA8IGlfb3JkZXJf bWF4Ci0tICAgICAgICAgJiYgaV9jaGFubmVsc19zcmMgPCBwX3N5cy0+cF9jb250ZXh0LT5jaGFu bmVsczsgaSsrICkKLSsgICAgICAgICAmJiBpX2NoYW5uZWxzX3NyYyA8IHBfZGVjLT5mbXRfb3V0 LmF1ZGlvLmlfY2hhbm5lbHM7IGkrKyApCi0gICAgICAgICB7Ci0gICAgICAgICAgICAgaWYoIGNo YW5uZWxfbGF5b3V0ICYgcGlfY2hhbm5lbHNfbWFwW2ldWzBdICkKLSAgICAgICAgICAgICAgICAg cGlfb3JkZXJfc3JjW2lfY2hhbm5lbHNfc3JjKytdID0gcGlfY2hhbm5lbHNfbWFwW2ldWzFdOwot ICAgICAgICAgfQotIAotLSAgICAgICAgaWYoIGlfY2hhbm5lbHNfc3JjICE9IHBfc3lzLT5wX2Nv bnRleHQtPmNoYW5uZWxzICYmIGJfdHJ1c3QgKQotKyAgICAgICAgaWYoIGlfY2hhbm5lbHNfc3Jj ICE9IHBfZGVjLT5mbXRfb3V0LmF1ZGlvLmlfY2hhbm5lbHMgJiYgYl90cnVzdCApCi0gICAgICAg ICAgICAgbXNnX0VyciggcF9kZWMsICJDaGFubmVsIGxheW91dCBub3QgdW5kZXJzdG9vZCIgKTsK LSAKLSAgICAgICAgIC8qIERldGVjdCBzcGVjaWFsIGR1YWwgbW9ubyBjYXNlICovCi0tLSAKLUdp dExhYgotCi0KLUZyb20gOTliMTQ5NjYxODI5OTUzMTRmNWIyOWZkOTcyZDZhOTAwMGVhM2UwMCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IElsa2thIE9sbGFra2EgPGlsZW9vQHZpZGVv bGFuLm9yZz4KLURhdGU6IFdlZCwgNSBKdWwgMjAyMyAxMzozMzowOSArMDMwMAotU3ViamVjdDog W1BBVENIIDAzLzExXSBhdmNvZGVjOiBhdWRpbyBkZWNvZGVyIHRvIHVzZSBjaF9sYXlvdXQKLQot KGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNDk2ZjBmMmE2NTljMTMzOWQxZTM3MzMwZDQ0NmU5 YjZjZTk2ZTc2YikKLS0tLQotIG1vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jIHwgNDIgKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMzQgaW5z ZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMv YXZjb2RlYy9hdWRpby5jIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMKLWluZGV4IDI2 MTY2YzA4NGU1Li5hZDhhNDBhYjRlZCAxMDA2NDQKLS0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2Rl Yy9hdWRpby5jCi0rKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYwotQEAgLTEzOSw3 ICsxMzksMTEgQEAgc3RhdGljIGludCBPcGVuQXVkaW9Db2RlYyggZGVjb2Rlcl90ICpwX2RlYyAp Ci0gICAgIH0KLSAKLSAgICAgY3R4LT5zYW1wbGVfcmF0ZSA9IHBfZGVjLT5mbXRfaW4uYXVkaW8u aV9yYXRlOwotKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5OSwgOTk5LCAyNCwg MTAwKQotKyAgICBhdl9jaGFubmVsX2xheW91dF9kZWZhdWx0KCAmY3R4LT5jaF9sYXlvdXQsIHBf ZGVjLT5mbXRfaW4uYXVkaW8uaV9jaGFubmVscyApOwotKyNlbHNlCi0gICAgIGN0eC0+Y2hhbm5l bHMgPSBwX2RlYy0+Zm10X2luLmF1ZGlvLmlfY2hhbm5lbHM7Ci0rI2VuZGlmCi0gICAgIGN0eC0+ YmxvY2tfYWxpZ24gPSBwX2RlYy0+Zm10X2luLmF1ZGlvLmlfYmxvY2thbGlnbjsKLSAgICAgY3R4 LT5iaXRfcmF0ZSA9IHBfZGVjLT5mbXRfaW4uaV9iaXRyYXRlOwotICAgICBjdHgtPmJpdHNfcGVy X2NvZGVkX3NhbXBsZSA9IHBfZGVjLT5mbXRfaW4uYXVkaW8uaV9iaXRzcGVyc2FtcGxlOwotQEAg LTM5NSwxMiArMzk5LDE3IEBAIHN0YXRpYyBpbnQgRGVjb2RlQmxvY2soIGRlY29kZXJfdCAqcF9k ZWMsIGJsb2NrX3QgKipwcF9ibG9jayApCi0gICAgICAgICByZXQgPSBhdmNvZGVjX3JlY2VpdmVf ZnJhbWUoIGN0eCwgZnJhbWUgKTsKLSAgICAgICAgIGlmKCByZXQgPT0gMCApCi0gICAgICAgICB7 Ci0rI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgOTk5LCA5OTksIDI0LCAxMDApCi0r ICAgICAgICAgICAgaW50IGNoYW5uZWxzID0gZnJhbWUtPmNoX2xheW91dC5uYl9jaGFubmVsczsK LSsjZWxzZQotKyAgICAgICAgICAgIGludCBjaGFubmVscyA9IGN0eC0+Y2hhbm5lbHM7Ci0rI2Vu ZGlmCi0gICAgICAgICAgICAgLyogY2hlY2tzIGFuZCBpbml0IGZyb20gZmlyc3QgZGVjb2RlZCBm cmFtZSAqLwotLSAgICAgICAgICAgIGlmKCBjdHgtPmNoYW5uZWxzIDw9IDAgfHwgY3R4LT5jaGFu bmVscyA+IElOUFVUX0NIQU5fTUFYCi0rICAgICAgICAgICAgaWYoIGNoYW5uZWxzIDw9IDAgfHwg Y2hhbm5lbHMgPiBJTlBVVF9DSEFOX01BWAotICAgICAgICAgICAgICB8fCBjdHgtPnNhbXBsZV9y YXRlIDw9IDAgKQotICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgbXNnX1dhcm4oIHBf ZGVjLCAiaW52YWxpZCBhdWRpbyBwcm9wZXJ0aWVzIGNoYW5uZWxzIGNvdW50ICVkLCBzYW1wbGUg cmF0ZSAlZCIsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgtPmNoYW5uZWxzLCBjdHgt PnNhbXBsZV9yYXRlICk7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFubmVscywgY3R4 LT5zYW1wbGVfcmF0ZSApOwotICAgICAgICAgICAgICAgICBnb3RvIGRyb3A7Ci0gICAgICAgICAg ICAgfQotICAgICAgICAgICAgIGVsc2UgaWYoIHBfZGVjLT5mbXRfb3V0LmF1ZGlvLmlfcmF0ZSAh PSAodW5zaWduZWQgaW50KWN0eC0+c2FtcGxlX3JhdGUgKQotQEAgLTU4MCw2ICs1ODksMTYgQEAg c3RhdGljIHZvaWQgU2V0dXBPdXRwdXRGb3JtYXQoIGRlY29kZXJfdCAqcF9kZWMsIGJvb2wgYl90 cnVzdCApCi0gICAgIHBfZGVjLT5mbXRfb3V0LmF1ZGlvLmlfcmF0ZSA9IHBfc3lzLT5wX2NvbnRl eHQtPnNhbXBsZV9yYXRlOwotIAotICAgICAvKiAqLwotKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05f Q0hFQ0soNTksIDk5OSwgOTk5LCAyNCwgMTAwKQotKyAgICBpZiggcF9zeXMtPmlfcHJldmlvdXNf Y2hhbm5lbHMgPT0gcF9zeXMtPnBfY29udGV4dC0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzICYmCi0r ICAgICAgICBwX3N5cy0+aV9wcmV2aW91c19sYXlvdXQgPT0gcF9zeXMtPnBfY29udGV4dC0+Y2hf bGF5b3V0LnUubWFzayApCi0rICAgICAgICByZXR1cm47Ci0rICAgIGlmKCBiX3RydXN0ICkKLSsg ICAgewotKyAgICAgICAgcF9zeXMtPmlfcHJldmlvdXNfY2hhbm5lbHMgPSBwX3N5cy0+cF9jb250 ZXh0LT5jaF9sYXlvdXQubmJfY2hhbm5lbHM7Ci0rICAgICAgICBwX3N5cy0+aV9wcmV2aW91c19s YXlvdXQgPSBwX3N5cy0+cF9jb250ZXh0LT5jaF9sYXlvdXQudS5tYXNrOwotKyAgICB9Ci0rI2Vs c2UKLSAgICAgaWYoIHBfc3lzLT5pX3ByZXZpb3VzX2NoYW5uZWxzID09IHBfc3lzLT5wX2NvbnRl eHQtPmNoYW5uZWxzICYmCi0gICAgICAgICBwX3N5cy0+aV9wcmV2aW91c19sYXlvdXQgPT0gcF9z eXMtPnBfY29udGV4dC0+Y2hhbm5lbF9sYXlvdXQgKQotICAgICAgICAgcmV0dXJuOwotQEAgLTU4 OCwyNSArNjA3LDMyIEBAIHN0YXRpYyB2b2lkIFNldHVwT3V0cHV0Rm9ybWF0KCBkZWNvZGVyX3Qg KnBfZGVjLCBib29sIGJfdHJ1c3QgKQotICAgICAgICAgcF9zeXMtPmlfcHJldmlvdXNfY2hhbm5l bHMgPSBwX3N5cy0+cF9jb250ZXh0LT5jaGFubmVsczsKLSAgICAgICAgIHBfc3lzLT5pX3ByZXZp b3VzX2xheW91dCA9IHBfc3lzLT5wX2NvbnRleHQtPmNoYW5uZWxfbGF5b3V0OwotICAgICB9Ci0r I2VuZGlmCi0gCi0gICAgIGNvbnN0IHVuc2lnbmVkIGlfb3JkZXJfbWF4ID0gc2l6ZW9mKHBpX2No YW5uZWxzX21hcCkvc2l6ZW9mKCpwaV9jaGFubmVsc19tYXApOwotICAgICB1aW50MzJfdCBwaV9v cmRlcl9zcmNbaV9vcmRlcl9tYXhdOwotIAotICAgICBpbnQgaV9jaGFubmVsc19zcmMgPSAwOwot LSAgICB1aW50NjRfdCBjaGFubmVsX2xheW91dCA9Ci0rI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9D SEVDSyg1OSwgOTk5LCA5OTksIDI0LCAxMDApCi0rICAgIHVpbnQ2NF90IGNoYW5uZWxfbGF5b3V0 X21hc2sgPSBwX3N5cy0+cF9jb250ZXh0LT5jaF9sYXlvdXQudS5tYXNrOwotKyAgICBpbnQgY2hh bm5lbF9jb3VudCA9IHBfc3lzLT5wX2NvbnRleHQtPmNoX2xheW91dC5uYl9jaGFubmVsczsKLSsj ZWxzZQotKyAgICB1aW50NjRfdCBjaGFubmVsX2xheW91dF9tYXNrID0KLSAgICAgICAgIHBfc3lz LT5wX2NvbnRleHQtPmNoYW5uZWxfbGF5b3V0ID8gcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbF9s YXlvdXQgOgotICAgICAgICAgKHVpbnQ2NF90KWF2X2dldF9kZWZhdWx0X2NoYW5uZWxfbGF5b3V0 KCBwX3N5cy0+cF9jb250ZXh0LT5jaGFubmVscyApOwotKyAgICBpbnQgY2hhbm5lbF9jb3VudCA9 IHBfc3lzLT5wX2NvbnRleHQtPmNoYW5uZWxzOwotKyNlbmRpZgotIAotLSAgICBpZiggY2hhbm5l bF9sYXlvdXQgKQotKyAgICBpZiggY2hhbm5lbF9sYXlvdXRfbWFzayApCi0gICAgIHsKLSAgICAg ICAgIGZvciggdW5zaWduZWQgaSA9IDA7IGkgPCBpX29yZGVyX21heAotLSAgICAgICAgICYmIGlf Y2hhbm5lbHNfc3JjIDwgcF9kZWMtPmZtdF9vdXQuYXVkaW8uaV9jaGFubmVsczsgaSsrICkKLSsg ICAgICAgICAmJiBpX2NoYW5uZWxzX3NyYyA8IGNoYW5uZWxfY291bnQ7IGkrKyApCi0gICAgICAg ICB7Ci0tICAgICAgICAgICAgaWYoIGNoYW5uZWxfbGF5b3V0ICYgcGlfY2hhbm5lbHNfbWFwW2ld WzBdICkKLSsgICAgICAgICAgICBpZiggY2hhbm5lbF9sYXlvdXRfbWFzayAmIHBpX2NoYW5uZWxz X21hcFtpXVswXSApCi0gICAgICAgICAgICAgICAgIHBpX29yZGVyX3NyY1tpX2NoYW5uZWxzX3Ny YysrXSA9IHBpX2NoYW5uZWxzX21hcFtpXVsxXTsKLSAgICAgICAgIH0KLSAKLS0gICAgICAgIGlm KCBpX2NoYW5uZWxzX3NyYyAhPSBwX2RlYy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzICYmIGJf dHJ1c3QgKQotKyAgICAgICAgaWYoIGlfY2hhbm5lbHNfc3JjICE9IGNoYW5uZWxfY291bnQgJiYg Yl90cnVzdCApCi0gICAgICAgICAgICAgbXNnX0VyciggcF9kZWMsICJDaGFubmVsIGxheW91dCBu b3QgdW5kZXJzdG9vZCIgKTsKLSAKLSAgICAgICAgIC8qIERldGVjdCBzcGVjaWFsIGR1YWwgbW9u byBjYXNlICovCi1AQCAtNjM4LDcgKzY2NCw3IEBAIHN0YXRpYyB2b2lkIFNldHVwT3V0cHV0Rm9y bWF0KCBkZWNvZGVyX3QgKnBfZGVjLCBib29sIGJfdHJ1c3QgKQotICAgICB7Ci0gICAgICAgICBt c2dfV2FybiggcF9kZWMsICJubyBjaGFubmVsIGxheW91dCBmb3VuZCIpOwotICAgICAgICAgcF9k ZWMtPmZtdF9vdXQuYXVkaW8uaV9waHlzaWNhbF9jaGFubmVscyA9IDA7Ci0tICAgICAgICBwX2Rl Yy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzID0gcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbHM7 Ci0rICAgICAgICBwX2RlYy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzID0gY2hhbm5lbF9jb3Vu dDsKLSAgICAgfQotIAotICAgICBhb3V0X0Zvcm1hdFByZXBhcmUoICZwX2RlYy0+Zm10X291dC5h dWRpbyApOwotLS0gCi1HaXRMYWIKLQotCi1Gcm9tIGM0NGVkYjg1ZTRmMjVjYmM3YTg0ODIxMWQy ZDNjYTlmMDNiZDQ2ZTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBJbGtrYSBPbGxh a2thIDxpbGVvb0B2aWRlb2xhbi5vcmc+Ci1EYXRlOiBUdWUsIDQgSnVsIDIwMjMgMTY6NTI6Mzgg KzAzMDAKLVN1YmplY3Q6IFtQQVRDSCAwNC8xMV0gYXZjb2RlYzogdXNlIHBfZW5jIGF1ZGlvIGNo YW5uZWxzIGluc3RlYWQgb2YgY29udGV4dAotIGNoYW5uZWxzIGluIGVuY29kZXIKLQotQWxsb3dz IHRvIGhhdmUgbGVzcyBjb25kaXRpb25zIGluIGNvZGUgd2hlbiBhZGRpbmcgbmV3IGNoX2xheW91 dCB1c2UKLQotKGNoZXJyeS1waWNrZWQgZnJvbSBjb21taXQgMjk3NDdhOGFiYjk4YmE1M2E2NGFh Njc2MTk4Mzg5MWVlZWQyZTBlNCkKLS0tLQotIG1vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVy LmMgfCAyNCArKysrKysrKysrKystLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTIgaW5z ZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVj L2F2Y29kZWMvZW5jb2Rlci5jIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYwotaW5k ZXggNDkxOWNjZjBlMGUuLjUyODQ4ZGUwNjU4IDEwMDY0NAotLS0tIGEvbW9kdWxlcy9jb2RlYy9h dmNvZGVjL2VuY29kZXIuYwotKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYwot QEAgLTc5MCw3ICs3OTAsNyBAQCBpbnQgSW5pdFZpZGVvRW5jKCB2bGNfb2JqZWN0X3QgKnBfdGhp cyApCi0gICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICB9Ci0gICAgICAgICB9Ci0tICAg ICAgICBpZiggaV9jaGFubmVsc19zcmMgIT0gcF9jb250ZXh0LT5jaGFubmVscyApCi0rICAgICAg ICBpZiggaV9jaGFubmVsc19zcmMgIT0gcF9lbmMtPmZtdF9vdXQuYXVkaW8uaV9jaGFubmVscyAp Ci0gICAgICAgICAgICAgbXNnX0VyciggcF9lbmMsICJDaGFubmVsIGxheW91dCBub3QgdW5kZXJz dG9vZCIgKTsKLSAKLSAgICAgICAgIHBfc3lzLT5pX2NoYW5uZWxzX3RvX3Jlb3JkZXIgPQotQEAg LTg5Nyw3ICs4OTcsNyBAQCBpbnQgSW5pdFZpZGVvRW5jKCB2bGNfb2JqZWN0X3QgKnBfdGhpcyAp Ci0gICAgIGlmKCByZXQgKQotICAgICB7Ci0gICAgICAgICBpZiggcF9lbmMtPmZtdF9pbi5pX2Nh dCAhPSBBVURJT19FUyB8fAotLSAgICAgICAgICAgICAgICAocF9jb250ZXh0LT5jaGFubmVscyA8 PSAyICYmIGlfY29kZWNfaWQgIT0gQVZfQ09ERUNfSURfTVAyCi0rICAgICAgICAgICAgICAgIChw X2VuYy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzIDw9IDIgJiYgaV9jb2RlY19pZCAhPSBBVl9D T0RFQ19JRF9NUDIKLSAgICAgICAgICAgICAgICAgICYmIGlfY29kZWNfaWQgIT0gQVZfQ09ERUNf SURfTVAzKSApCi0gZXJybXNnOgotICAgICAgICAgewotQEAgLTkyMiw3ICs5MjIsNyBAQCBlcnJt c2c6Ci0gICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgIH0KLSAKLS0gICAgICAgIGlm KCBwX2NvbnRleHQtPmNoYW5uZWxzID4gMiApCi0rICAgICAgICBpZiggcF9lbmMtPmZtdF9vdXQu YXVkaW8uaV9jaGFubmVscyA+IDIgKQotICAgICAgICAgewotICAgICAgICAgICAgIHBfY29udGV4 dC0+Y2hhbm5lbHMgPSAyOwotICAgICAgICAgICAgIHBfY29udGV4dC0+Y2hhbm5lbF9sYXlvdXQg PSBjaGFubmVsX21hc2tbcF9jb250ZXh0LT5jaGFubmVsc11bMV07Ci1AQCAtMTAyOCw3ICsxMDI4 LDcgQEAgZXJybXNnOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBfY29u dGV4dC0+ZnJhbWVfc2l6ZSA6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg QVZfSU5QVVRfQlVGRkVSX01JTl9TSVpFOwotICAgICAgICAgcF9zeXMtPmlfYnVmZmVyX291dCA9 IGF2X3NhbXBsZXNfZ2V0X2J1ZmZlcl9zaXplKE5VTEwsCi0tICAgICAgICAgICAgICAgIHBfc3lz LT5wX2NvbnRleHQtPmNoYW5uZWxzLCBwX3N5cy0+aV9mcmFtZV9zaXplLAotKyAgICAgICAgICAg ICAgICBwX2VuYy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzLCBwX3N5cy0+aV9mcmFtZV9zaXpl LAotICAgICAgICAgICAgICAgICBwX3N5cy0+cF9jb250ZXh0LT5zYW1wbGVfZm10LCBERUZBVUxU X0FMSUdOKTsKLSAgICAgICAgIHBfc3lzLT5wX2J1ZmZlciA9IGF2X21hbGxvYyggcF9zeXMtPmlf YnVmZmVyX291dCApOwotICAgICAgICAgaWYgKCB1bmxpa2VseSggcF9zeXMtPnBfYnVmZmVyID09 IE5VTEwgKSApCi1AQCAtMTI3OCw3ICsxMjc4LDcgQEAgc3RhdGljIGJsb2NrX3QgKmhhbmRsZV9k ZWxheV9idWZmZXIoIGVuY29kZXJfdCAqcF9lbmMsIGVuY29kZXJfc3lzX3QgKnBfc3lzLCB1bnMK LSB7Ci0gICAgIGJsb2NrX3QgKnBfYmxvY2sgPSBOVUxMOwotICAgICAvL0hvdyBtdWNoIHdlIG5l ZWQgdG8gY29weSBmcm9tIG5ldyBwYWNrZXQKLS0gICAgY29uc3Qgc2l6ZV90IGxlZnRvdmVyID0g bGVmdG92ZXJfc2FtcGxlcyAqIHBfc3lzLT5wX2NvbnRleHQtPmNoYW5uZWxzICogcF9zeXMtPmlf c2FtcGxlX2J5dGVzOwotKyAgICBjb25zdCBzaXplX3QgbGVmdG92ZXIgPSBsZWZ0b3Zlcl9zYW1w bGVzICogcF9lbmMtPmZtdF9vdXQuYXVkaW8uaV9jaGFubmVscyAqIHBfc3lzLT5pX3NhbXBsZV9i eXRlczsKLSAKLSAgICAgYXZfZnJhbWVfdW5yZWYoIHBfc3lzLT5mcmFtZSApOwotICAgICBwX3N5 cy0+ZnJhbWUtPmZvcm1hdCAgICAgPSBwX3N5cy0+cF9jb250ZXh0LT5zYW1wbGVfZm10OwotQEAg LTEzMDEsNyArMTMwMSw3IEBAIHN0YXRpYyBibG9ja190ICpoYW5kbGVfZGVsYXlfYnVmZmVyKCBl bmNvZGVyX3QgKnBfZW5jLCBlbmNvZGVyX3N5c190ICpwX3N5cywgdW5zCi0gICAgICAgICAvLyBX ZSBuZWVkIHRvIGRlaW50ZXJsZWF2ZSBmcm9tIHBfYW91dF9idWYgdG8gcF9idWZmZXIgdGhlIGxl ZnRvdmVyIGJ5dGVzCi0gICAgICAgICBpZiggcF9zeXMtPmJfcGxhbmFyICkKLSAgICAgICAgICAg ICBhb3V0X0RlaW50ZXJsZWF2ZSggcF9zeXMtPnBfaW50ZXJsZWF2ZV9idWYsIHBfc3lzLT5wX2J1 ZmZlciwKLS0gICAgICAgICAgICAgICAgcF9zeXMtPmlfZnJhbWVfc2l6ZSwgcF9zeXMtPnBfY29u dGV4dC0+Y2hhbm5lbHMsIHBfZW5jLT5mbXRfaW4uaV9jb2RlYyApOwotKyAgICAgICAgICAgICAg ICBwX3N5cy0+aV9mcmFtZV9zaXplLCBwX2VuYy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzLCBw X2VuYy0+Zm10X2luLmlfY29kZWMgKTsKLSAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICBtZW1j cHkoIHBfc3lzLT5wX2J1ZmZlciArIGJ1ZmZlcl9kZWxheSwgcF9hb3V0X2J1Zi0+cF9idWZmZXIs IGxlZnRvdmVyKTsKLSAKLUBAIC0xMzE5LDcgKzEzMTksNyBAQCBzdGF0aWMgYmxvY2tfdCAqaGFu ZGxlX2RlbGF5X2J1ZmZlciggZW5jb2Rlcl90ICpwX2VuYywgZW5jb2Rlcl9zeXNfdCAqcF9zeXMs IHVucwotICAgICAgICAgbWVtc2V0KCBwX3N5cy0+cF9idWZmZXIgKyAobGVmdG92ZXIrYnVmZmVy X2RlbGF5KSwgMCwgcGFkZGluZ19zaXplICk7Ci0gICAgICAgICBidWZmZXJfZGVsYXkgKz0gcGFk ZGluZ19zaXplOwotICAgICB9Ci0tICAgIGlmKCBhdmNvZGVjX2ZpbGxfYXVkaW9fZnJhbWUoIHBf c3lzLT5mcmFtZSwgcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbHMsCi0rICAgIGlmKCBhdmNvZGVj X2ZpbGxfYXVkaW9fZnJhbWUoIHBfc3lzLT5mcmFtZSwgcF9lbmMtPmZtdF9vdXQuYXVkaW8uaV9j aGFubmVscywKLSAgICAgICAgICAgICBwX3N5cy0+cF9jb250ZXh0LT5zYW1wbGVfZm10LCBwX3N5 cy0+Yl9wbGFuYXIgPyBwX3N5cy0+cF9pbnRlcmxlYXZlX2J1ZiA6IHBfc3lzLT5wX2J1ZmZlciwK LSAgICAgICAgICAgICBwX3N5cy0+aV9idWZmZXJfb3V0LAotICAgICAgICAgICAgIERFRkFVTFRf QUxJR04pIDwgMCApCi1AQCAtMTM0OSw3ICsxMzQ5LDcgQEAgc3RhdGljIGJsb2NrX3QgKkVuY29k ZUF1ZGlvKCBlbmNvZGVyX3QgKnBfZW5jLCBibG9ja190ICpwX2FvdXRfYnVmICkKLSAKLSAgICAg Ly9pX2J5dGVzX2xlZnQgaXMgYW1vdW50IG9mIGJ5dGVzIHdlIGdldAotICAgICBpX3NhbXBsZXNf bGVmdCA9IHBfYW91dF9idWYgPyBwX2FvdXRfYnVmLT5pX25iX3NhbXBsZXMgOiAwOwotLSAgICBi dWZmZXJfZGVsYXkgPSBwX3N5cy0+aV9zYW1wbGVzX2RlbGF5ICogcF9zeXMtPmlfc2FtcGxlX2J5 dGVzICogcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbHM7Ci0rICAgIGJ1ZmZlcl9kZWxheSA9IHBf c3lzLT5pX3NhbXBsZXNfZGVsYXkgKiBwX3N5cy0+aV9zYW1wbGVfYnl0ZXMgKiBwX2VuYy0+Zm10 X291dC5hdWRpby5pX2NoYW5uZWxzOwotIAotICAgICAvL3Bfc3lzLT5pX2J1ZmZlcl9vdXQgPSBw X3N5cy0+aV9mcmFtZV9zaXplICogY2hhbiAqIHBfc3lzLT5pX3NhbXBsZV9ieXRlcwotICAgICAv L0NhbGN1bGF0ZSBob3cgbWFueSBieXRlcyB3ZSB3b3VsZCBuZWVkIGZyb20gY3VycmVudCBidWZm ZXIgdG8gZmlsbCBmcmFtZQotQEAgLTE0MTgsMTIgKzE0MTgsMTIgQEAgc3RhdGljIGJsb2NrX3Qg KkVuY29kZUF1ZGlvKCBlbmNvZGVyX3QgKnBfZW5jLCBibG9ja190ICpwX2FvdXRfYnVmICkKLSAg ICAgICAgIHBfc3lzLT5mcmFtZS0+Y2hhbm5lbHMgPSBwX3N5cy0+cF9jb250ZXh0LT5jaGFubmVs czsKLSAKLSAgICAgICAgIGNvbnN0IGludCBpbl9ieXRlcyA9IHBfc3lzLT5mcmFtZS0+bmJfc2Ft cGxlcyAqCi0tICAgICAgICAgICAgcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbHMgKiBwX3N5cy0+ aV9zYW1wbGVfYnl0ZXM7Ci0rICAgICAgICAgICAgcF9lbmMtPmZtdF9vdXQuYXVkaW8uaV9jaGFu bmVscyogcF9zeXMtPmlfc2FtcGxlX2J5dGVzOwotIAotICAgICAgICAgaWYoIHBfc3lzLT5iX3Bs YW5hciApCi0gICAgICAgICB7Ci0gICAgICAgICAgICAgYW91dF9EZWludGVybGVhdmUoIHBfc3lz LT5wX2J1ZmZlciwgcF9hb3V0X2J1Zi0+cF9idWZmZXIsCi0tICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHBfc3lzLT5mcmFtZS0+bmJfc2FtcGxlcywgcF9zeXMtPnBfY29udGV4dC0+Y2hh bm5lbHMsIHBfZW5jLT5mbXRfaW4uaV9jb2RlYyApOwotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBwX3N5cy0+ZnJhbWUtPm5iX3NhbXBsZXMsIHBfZW5jLT5mbXRfb3V0LmF1ZGlvLmlf Y2hhbm5lbHMsIHBfZW5jLT5mbXRfaW4uaV9jb2RlYyApOwotIAotICAgICAgICAgfQotICAgICAg ICAgZWxzZQotQEAgLTE0MzEsNyArMTQzMSw3IEBAIHN0YXRpYyBibG9ja190ICpFbmNvZGVBdWRp byggZW5jb2Rlcl90ICpwX2VuYywgYmxvY2tfdCAqcF9hb3V0X2J1ZiApCi0gICAgICAgICAgICAg bWVtY3B5KHBfc3lzLT5wX2J1ZmZlciwgcF9hb3V0X2J1Zi0+cF9idWZmZXIsIGluX2J5dGVzKTsK LSAgICAgICAgIH0KLSAKLS0gICAgICAgIGlmKCBhdmNvZGVjX2ZpbGxfYXVkaW9fZnJhbWUoIHBf c3lzLT5mcmFtZSwgcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbHMsCi0rICAgICAgICBpZiggYXZj b2RlY19maWxsX2F1ZGlvX2ZyYW1lKCBwX3N5cy0+ZnJhbWUsIHBfZW5jLT5mbXRfb3V0LmF1ZGlv LmlfY2hhbm5lbHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcF9zeXMt PnBfY29udGV4dC0+c2FtcGxlX2ZtdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBwX3N5cy0+cF9idWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcF9zeXMtPmlfYnVmZmVyX291dCwKLUBAIC0xNDU3LDcgKzE0NTcsNyBAQCBzdGF0aWMgYmxv Y2tfdCAqRW5jb2RlQXVkaW8oIGVuY29kZXJfdCAqcF9lbmMsIGJsb2NrX3QgKnBfYW91dF9idWYg KQotICAgICBpZiggcF9hb3V0X2J1Zi0+aV9uYl9zYW1wbGVzID4gMCApCi0gICAgIHsKLSAgICAg ICAgbWVtY3B5KCBwX3N5cy0+cF9idWZmZXIgKyBidWZmZXJfZGVsYXksIHBfYW91dF9idWYtPnBf YnVmZmVyLAotLSAgICAgICAgICAgICAgIHBfYW91dF9idWYtPmlfbmJfc2FtcGxlcyAqIHBfc3lz LT5pX3NhbXBsZV9ieXRlcyAqIHBfc3lzLT5wX2NvbnRleHQtPmNoYW5uZWxzKTsKLSsgICAgICAg ICAgICAgICBwX2FvdXRfYnVmLT5pX25iX3NhbXBsZXMgKiBwX3N5cy0+aV9zYW1wbGVfYnl0ZXMg KiBwX2VuYy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzKTsKLSAgICAgICAgcF9zeXMtPmlfc2Ft cGxlc19kZWxheSArPSBwX2FvdXRfYnVmLT5pX25iX3NhbXBsZXM7Ci0gICAgIH0KLSAKLS0tIAot R2l0TGFiCi0KLQotRnJvbSBiOGFkODBhMjBlOWU4NDA4MmRhYzI4NDgwNzBkMjUxZmE2ODQxMmM3 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0ZyYW49QzM9QTdvaXM9 MjBDYXJ0ZWduaWU/PSA8ZmN2bGNkZXZAZnJlZS5mcj4KLURhdGU6IFR1ZSwgMjMgQXByIDIwMjQg MTM6MTM6MzAgKzA3MDAKLVN1YmplY3Q6IFtQQVRDSCAwNS8xMV0gY29kZWM6IGF2Y29kZWM6IG1h cCBBWVVWIGFzIFJBV1ZJREVPIHdpdGggZmZtcGVnIDYuMAotCi0oY2hlcnJ5IHBpY2tlZCBmcm9t IGNvbW1pdCA5NTVlZjkzOTQ2N2E2MjhlYjhkYTA4ZTBkNWVhZWZjOWEzNDg0Y2JhKQotLS0tCi0g bW9kdWxlcy9jb2RlYy9hdmNvZGVjL2ZvdXJjYy5jIHwgNiArKysrKy0KLSAxIGZpbGUgY2hhbmdl ZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9tb2R1bGVz L2NvZGVjL2F2Y29kZWMvZm91cmNjLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZm91cmNjLmMK LWluZGV4IDMzYzZjYWUwOWFiLi45N2YzMTg4MjExZCAxMDA2NDQKLS0tLSBhL21vZHVsZXMvY29k ZWMvYXZjb2RlYy9mb3VyY2MuYwotKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2ZvdXJjYy5j Ci1AQCAtMTgyLDggKzE4MiwxMiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHZsY19hdmNvZGVjX2Zv dXJjYyB2aWRlb19jb2RlY3NbXSA9Ci0gICAgIC8qIEFWX0NPREVDX0lEX1YyMTBYICovCi0gICAg IHsgVkxDX0NPREVDX1RNViwgQVZfQ09ERUNfSURfVE1WIH0sCi0gICAgIHsgVkxDX0NPREVDX1Yy MTAsIEFWX0NPREVDX0lEX1YyMTAgfSwKLS0jaWYgTElCQVZDT0RFQ19WRVJTSU9OX0lOVCA+PSBB Vl9WRVJTSU9OX0lOVCggNTQsIDUwLCAxMDAgKSAmJiBMSUJBVkNPREVDX1ZFUlNJT05fTUlDUk8g Pj0gMTAwCi0rI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9NSUNSTyA+PSAxMDAKLSsjIGlmIExJQkFW Q09ERUNfVkVSU0lPTl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQoIDU5LCA0MiwgMTAyICkKLSsgICAg eyBWTENfQ09ERUNfVlVZQSwgQVZfQ09ERUNfSURfUkFXVklERU8gfSwKLSsjIGVsaWYgTElCQVZD T0RFQ19WRVJTSU9OX0lOVCA+PSBBVl9WRVJTSU9OX0lOVCggNTQsIDUwLCAxMDAgKQotICAgICB7 IFZMQ19DT0RFQ19WVVlBLCBBVl9DT0RFQ19JRF9BWVVWIH0sCi0rIyBlbmRpZgotICNlbmRpZgot ICAgICAvKiBBVl9DT0RFQ19JRF9EUFggKi8KLSAgICAgeyBWTENfQ09ERUNfTUFELCBBVl9DT0RF Q19JRF9NQUQgfSwKLS0tIAotR2l0TGFiCi0KLQotRnJvbSA1OGMwNTI0MGMyNmI2ZWVmNTZlN2M1 YWIzNWIxNGNjZDgzNzc2NjdmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYt OD9xP0ZyYW49QzM9QTdvaXM9MjBDYXJ0ZWduaWU/PSA8ZmN2bGNkZXZAZnJlZS5mcj4KLURhdGU6 IFRodSwgMTMgSnVuIDIwMjQgMTI6MjE6NTggKzA3MDAKLVN1YmplY3Q6IFtQQVRDSCAwNi8xMV0g YXZjb2RlYzogZW5jb2RlcjogZml4IGNoYW5uZWxfbGF5b3V0IGNvbmRpdGlvbmFscwotCi0tLS0K LSBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jIHwgMTEgKysrKysrKystLS0KLSAxIGZp bGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0 IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYyBiL21vZHVsZXMvY29kZWMvYXZjb2Rl Yy9lbmNvZGVyLmMKLWluZGV4IDUyODQ4ZGUwNjU4Li42YmQ1OGY1MDcxZCAxMDA2NDQKLS0tLSBh L21vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMKLSsrKyBiL21vZHVsZXMvY29kZWMvYXZj b2RlYy9lbmNvZGVyLmMKLUBAIC00MywxMiArNDMsMTMgQEAKLSAjaW5jbHVkZSA8dmxjX2NwdS5o PgotIAotICNpbmNsdWRlIDxsaWJhdmNvZGVjL2F2Y29kZWMuaD4KLS0jaW5jbHVkZSA8bGliYXZ1 dGlsL2NoYW5uZWxfbGF5b3V0Lmg+Ci0gCi0gI2luY2x1ZGUgImF2Y29kZWMuaCIKLSAjaW5jbHVk ZSAiYXZjb21tb24uaCIKLSAKLS0jaWYgTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soIDUyLDIsNiww LDAgKQotKyNkZWZpbmUgQVBJX0NIQU5ORUxfTEFZT1VUIChMSUJBVlVUSUxfVkVSU0lPTl9DSEVD SyggNTIsIDIsIDYsIDAsIDEwMCkpCi0rCi0rI2lmIEFQSV9DSEFOTkVMX0xBWU9VVAotICMgaW5j bHVkZSA8bGliYXZ1dGlsL2NoYW5uZWxfbGF5b3V0Lmg+Ci0gI2VuZGlmCi0gCi1AQCAtMTU3LDYg KzE1OCw3IEBAIHN0cnVjdCBlbmNvZGVyX3N5c190Ci0gCi0gCi0gLyogVGFrZW4gZnJvbSBhdWRp by5jKi8KLSsjaWYgQVBJX0NIQU5ORUxfTEFZT1VUCi0gc3RhdGljIGNvbnN0IHVpbnQ2NF90IHBp X2NoYW5uZWxzX21hcFtdWzJdID0KLSB7Ci0gICAgIHsgQVZfQ0hfRlJPTlRfTEVGVCwgICAgICAg IEFPVVRfQ0hBTl9MRUZUIH0sCi1AQCAtMTkzLDYgKzE5NSw3IEBAIHN0YXRpYyBjb25zdCB1aW50 MzJfdCBjaGFubmVsX21hc2tbXVsyXSA9IHsKLSAgICAge0FPVVRfQ0hBTlNfN18xLCBBVl9DSF9M QVlPVVRfN1BPSU5UMX0sCi0gICAgIHtBT1VUX0NIQU5TXzhfMSwgQVZfQ0hfTEFZT1VUX09DVEFH T05BTH0sCi0gfTsKLSsjZW5kaWYKLSAKLSBzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgcHBzel9l bmNfb3B0aW9uc1tdID0gewotICAgICAia2V5aW50IiwgImJmcmFtZXMiLCAidnQiLCAicW1pbiIs ICJxbWF4IiwgImNvZGVjIiwgImhxIiwKLUBAIC03NDYsNyArNzQ5LDcgQEAgaW50IEluaXRWaWRl b0VuYyggdmxjX29iamVjdF90ICpwX3RoaXMgKQotICAgICAgICAgcF9jb250ZXh0LT50aW1lX2Jh c2UubnVtID0gMTsKLSAgICAgICAgIHBfY29udGV4dC0+dGltZV9iYXNlLmRlbiA9IHBfY29udGV4 dC0+c2FtcGxlX3JhdGU7Ci0gICAgICAgICBwX2NvbnRleHQtPmNoYW5uZWxzICAgICAgPSBwX2Vu Yy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzOwotLSNpZiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVD SyggNTIsIDIsIDYsIDAsIDApCi0rI2lmIEFQSV9DSEFOTkVMX0xBWU9VVAotICAgICAgICAgcF9j b250ZXh0LT5jaGFubmVsX2xheW91dCA9IGNoYW5uZWxfbWFza1twX2NvbnRleHQtPmNoYW5uZWxz XVsxXTsKLSAKLSAgICAgICAgIC8qIFNldHVwIENoYW5uZWwgb3JkZXJpbmcgZm9yIG11bHRpY2hh bm5lbCBhdWRpbwotQEAgLTkyNSw3ICs5MjgsOSBAQCBlcnJtc2c6Ci0gICAgICAgICBpZiggcF9l bmMtPmZtdF9vdXQuYXVkaW8uaV9jaGFubmVscyA+IDIgKQotICAgICAgICAgewotICAgICAgICAg ICAgIHBfY29udGV4dC0+Y2hhbm5lbHMgPSAyOwotKyNpZiBBUElfQ0hBTk5FTF9MQVlPVVQKLSAg ICAgICAgICAgICBwX2NvbnRleHQtPmNoYW5uZWxfbGF5b3V0ID0gY2hhbm5lbF9tYXNrW3BfY29u dGV4dC0+Y2hhbm5lbHNdWzFdOwotKyNlbmRpZgotIAotICAgICAgICAgICAgIC8qIENoYW5nZSBm bXRfaW4gaW4gb3JkZXIgdG8gYXNrIGZvciBhIGNoYW5uZWxzIGNvbnZlcnNpb24gKi8KLSAgICAg ICAgICAgICBwX2VuYy0+Zm10X2luLmF1ZGlvLmlfY2hhbm5lbHMgPQotLS0gCi1HaXRMYWIKLQot Ci1Gcm9tIDNkYjZlNjc3NjgwYTFhOTRlNDczZmU5ZDlmYzEyMWFmMzRjZGNmMmIgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/RnJhbj1DMz1BN29pcz0yMENhcnRlZ25p ZT89IDxmY3ZsY2RldkBmcmVlLmZyPgotRGF0ZTogU2F0LCAxNyBBdWcgMjAyNCAxMToyMjozMyAr MDcwMAotU3ViamVjdDogW1BBVENIIDA3LzExXSBjb2RlYzogYXZjb2RlYzogZml4IGF1ZGlvIGNo YW5uZWxfbGF5b3V0IGNvbmRpdGlvbmFscwotCi0tLS0KLSBtb2R1bGVzL2NvZGVjL2F2Y29kZWMv YXVkaW8uYyB8IDIzICsrKysrKysrKysrKysrKy0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDE1 IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9tb2R1bGVzL2Nv ZGVjL2F2Y29kZWMvYXVkaW8uYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCi1pbmRl eCBhZDhhNDBhYjRlZC4uYzc0NzU3Yzc2YWUgMTAwNjQ0Ci0tLS0gYS9tb2R1bGVzL2NvZGVjL2F2 Y29kZWMvYXVkaW8uYwotKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMKLUBAIC00 MSw4ICs0MSwxMSBAQAotICNpbmNsdWRlIDxsaWJhdmNvZGVjL2F2Y29kZWMuaD4KLSAjaW5jbHVk ZSA8bGliYXZ1dGlsL21lbS5oPgotIAotLSNpbmNsdWRlIDxsaWJhdnV0aWwvY2hhbm5lbF9sYXlv dXQuaD4KLSsjZGVmaW5lIEFQSV9DSEFOTkVMX0xBWU9VVCAoTElCQVZVVElMX1ZFUlNJT05fQ0hF Q0soIDUyLCAyLCA2LCAwLCAxMDApKQotIAotKyNpZiBBUElfQ0hBTk5FTF9MQVlPVVQKLSsjIGlu Y2x1ZGUgPGxpYmF2dXRpbC9jaGFubmVsX2xheW91dC5oPgotKyNlbmRpZgotIAotIC8qKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKgotICAqIGRlY29kZXJfc3lzX3QgOiBkZWNvZGVyIGRlc2NyaXB0b3IKLUBA IC01OTgsNyArNjAxLDcgQEAgc3RhdGljIHZvaWQgU2V0dXBPdXRwdXRGb3JtYXQoIGRlY29kZXJf dCAqcF9kZWMsIGJvb2wgYl90cnVzdCApCi0gICAgICAgICBwX3N5cy0+aV9wcmV2aW91c19jaGFu bmVscyA9IHBfc3lzLT5wX2NvbnRleHQtPmNoX2xheW91dC5uYl9jaGFubmVsczsKLSAgICAgICAg IHBfc3lzLT5pX3ByZXZpb3VzX2xheW91dCA9IHBfc3lzLT5wX2NvbnRleHQtPmNoX2xheW91dC51 Lm1hc2s7Ci0gICAgIH0KLS0jZWxzZQotKyNlbGlmIEFQSV9DSEFOTkVMX0xBWU9VVAotICAgICBp ZiggcF9zeXMtPmlfcHJldmlvdXNfY2hhbm5lbHMgPT0gcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5l bHMgJiYKLSAgICAgICAgIHBfc3lzLT5pX3ByZXZpb3VzX2xheW91dCA9PSBwX3N5cy0+cF9jb250 ZXh0LT5jaGFubmVsX2xheW91dCApCi0gICAgICAgICByZXR1cm47Ci1AQCAtNjEyLDE1ICs2MTUs MTkgQEAgc3RhdGljIHZvaWQgU2V0dXBPdXRwdXRGb3JtYXQoIGRlY29kZXJfdCAqcF9kZWMsIGJv b2wgYl90cnVzdCApCi0gICAgIGNvbnN0IHVuc2lnbmVkIGlfb3JkZXJfbWF4ID0gc2l6ZW9mKHBp X2NoYW5uZWxzX21hcCkvc2l6ZW9mKCpwaV9jaGFubmVsc19tYXApOwotICAgICB1aW50MzJfdCBw aV9vcmRlcl9zcmNbaV9vcmRlcl9tYXhdOwotIAotLSAgICBpbnQgaV9jaGFubmVsc19zcmMgPSAw OwotKyAgICBpbnQgaV9jaGFubmVsc19zcmMgPSAwLCBjaGFubmVsX2NvdW50OwotKyAgICB1aW50 NjRfdCBjaGFubmVsX2xheW91dF9tYXNrOwotICNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0so NTksIDk5OSwgOTk5LCAyNCwgMTAwKQotLSAgICB1aW50NjRfdCBjaGFubmVsX2xheW91dF9tYXNr ID0gcF9zeXMtPnBfY29udGV4dC0+Y2hfbGF5b3V0LnUubWFzazsKLS0gICAgaW50IGNoYW5uZWxf Y291bnQgPSBwX3N5cy0+cF9jb250ZXh0LT5jaF9sYXlvdXQubmJfY2hhbm5lbHM7Ci0tI2Vsc2UK LS0gICAgdWludDY0X3QgY2hhbm5lbF9sYXlvdXRfbWFzayA9Ci0rICAgIGNoYW5uZWxfbGF5b3V0 X21hc2sgPSBwX3N5cy0+cF9jb250ZXh0LT5jaF9sYXlvdXQudS5tYXNrOwotKyAgICBjaGFubmVs X2NvdW50ID0gcF9zeXMtPnBfY29udGV4dC0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzOwotKyNlbGlm IEFQSV9DSEFOTkVMX0xBWU9VVAotKyAgICBjaGFubmVsX2xheW91dF9tYXNrID0KLSAgICAgICAg IHBfc3lzLT5wX2NvbnRleHQtPmNoYW5uZWxfbGF5b3V0ID8gcF9zeXMtPnBfY29udGV4dC0+Y2hh bm5lbF9sYXlvdXQgOgotICAgICAgICAgKHVpbnQ2NF90KWF2X2dldF9kZWZhdWx0X2NoYW5uZWxf bGF5b3V0KCBwX3N5cy0+cF9jb250ZXh0LT5jaGFubmVscyApOwotLSAgICBpbnQgY2hhbm5lbF9j b3VudCA9IHBfc3lzLT5wX2NvbnRleHQtPmNoYW5uZWxzOwotKyAgICBjaGFubmVsX2NvdW50ID0g cF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbHM7Ci0rI2Vsc2UKLSsgICAgY2hhbm5lbF9sYXlvdXRf bWFzayA9IE5VTEw7Ci0rICAgIGNoYW5uZWxfY291bnQgPSBwX3N5cy0+cF9jb250ZXh0LT5jaGFu bmVsczsKLSAjZW5kaWYKLSAKLSAgICAgaWYoIGNoYW5uZWxfbGF5b3V0X21hc2sgKQotLS0gCi1H aXRMYWIKLQotCi1Gcm9tIGI1YmI5YmRhMDNhMDZmYzFjZmQ2ODJkYWNiNTcxYjY4OGI1NTU4ZDkg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/RnJhbj1DMz1BN29pcz0y MENhcnRlZ25pZT89IDxmY3ZsY2RldkBmcmVlLmZyPgotRGF0ZTogVHVlLCAyMyBBcHIgMjAyNCAx MzoxNDo1MyArMDcwMAotU3ViamVjdDogW1BBVENIIDA4LzExXSBkZW11eC9tdXg6IGF2Zm9ybWF0 OiB1c2UgY2hfbGF5b3V0IGZyb20gZmZtcGVnIDUuMQotCi1tZXJnZXIgcGljayBmcm9tIGNvbW1p dCBhNTVlYzMyYWIzNzYwZDllZGI2ZjA1NDgxY2QzYTk4MWFhNDI4NzhkCi1hbmQgZml4dXAgMTk1 ZjBjOTg1OTliNTU5NTBjNDlhNjJmOThkOWQzNDk1YmUzMTBkZgotLS0tCi0gbW9kdWxlcy9kZW11 eC9hdmZvcm1hdC9kZW11eC5jIHwgNCArKysrCi0gbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXgu YyAgIHwgNCArKysrCi0gMiBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKykKLQotZGlmZiAt LWdpdCBhL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvZGVtdXguYyBiL21vZHVsZXMvZGVtdXgvYXZm b3JtYXQvZGVtdXguYwotaW5kZXggM2IzNTViYjNmYWUuLjgzMGRjMDE1N2UyIDEwMDY0NAotLS0t IGEvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9kZW11eC5jCi0rKysgYi9tb2R1bGVzL2RlbXV4L2F2 Zm9ybWF0L2RlbXV4LmMKLUBAIC00MDEsNyArNDAxLDExIEBAIGludCBhdmZvcm1hdF9PcGVuRGVt dXgoIHZsY19vYmplY3RfdCAqcF90aGlzICkKLSAgICAgICAgICAgICBlc19mb3JtYXRfSW5pdCgg JmVzX2ZtdCwgQVVESU9fRVMsIGZjYyApOwotICAgICAgICAgICAgIGVzX2ZtdC5pX29yaWdpbmFs X2ZvdXJjYyA9IENvZGVjVGFnVG9Gb3VyY2MoIGNwLT5jb2RlY190YWcgKTsKLSAgICAgICAgICAg ICBlc19mbXQuaV9iaXRyYXRlID0gY3AtPmJpdF9yYXRlOwotKyNpZiBMSUJBVkNPREVDX1ZFUlNJ T05fSU5UID49IEFWX1ZFUlNJT05fSU5UKCA1OSwgMjQsIDEwMCApICYmIExJQkFWQ09ERUNfVkVS U0lPTl9NSUNSTyA+PSAxMDAKLSsgICAgICAgICAgICBlc19mbXQuYXVkaW8uaV9jaGFubmVscyA9 IGNwLT5jaF9sYXlvdXQubmJfY2hhbm5lbHM7Ci0rI2Vsc2UKLSAgICAgICAgICAgICBlc19mbXQu YXVkaW8uaV9jaGFubmVscyA9IGNwLT5jaGFubmVsczsKLSsjZW5kaWYKLSAgICAgICAgICAgICBl c19mbXQuYXVkaW8uaV9yYXRlID0gY3AtPnNhbXBsZV9yYXRlOwotICAgICAgICAgICAgIGVzX2Zt dC5hdWRpby5pX2JpdHNwZXJzYW1wbGUgPSBjcC0+Yml0c19wZXJfY29kZWRfc2FtcGxlOwotICAg ICAgICAgICAgIGVzX2ZtdC5hdWRpby5pX2Jsb2NrYWxpZ24gPSBjcC0+YmxvY2tfYWxpZ247Ci1k aWZmIC0tZ2l0IGEvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYyBiL21vZHVsZXMvZGVtdXgv YXZmb3JtYXQvbXV4LmMKLWluZGV4IGM3MDgyNzY5NTRjLi44YmY4NzM1ODg1ZiAxMDA2NDQKLS0t LSBhL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvbXV4LmMKLSsrKyBiL21vZHVsZXMvZGVtdXgvYXZm b3JtYXQvbXV4LmMKLUBAIC0yNjcsNyArMjY3LDExIEBAIHN0YXRpYyBpbnQgQWRkU3RyZWFtKCBz b3V0X211eF90ICpwX211eCwgc291dF9pbnB1dF90ICpwX2lucHV0ICkKLSAgICAgewotICAgICBj YXNlIEFVRElPX0VTOgotICAgICAgICAgY29kZWNwYXItPmNvZGVjX3R5cGUgPSBBVk1FRElBX1RZ UEVfQVVESU87Ci0rI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQo IDU5LCAyNCwgMTAwICkgJiYgTElCQVZDT0RFQ19WRVJTSU9OX01JQ1JPID49IDEwMAotKyAgICAg ICAgYXZfY2hhbm5lbF9sYXlvdXRfZGVmYXVsdCggJmNvZGVjcGFyLT5jaF9sYXlvdXQsIGZtdC0+ YXVkaW8uaV9jaGFubmVscyApOwotKyNlbHNlCi0gICAgICAgICBjb2RlY3Bhci0+Y2hhbm5lbHMg PSBmbXQtPmF1ZGlvLmlfY2hhbm5lbHM7Ci0rI2VuZGlmCi0gICAgICAgICBjb2RlY3Bhci0+c2Ft cGxlX3JhdGUgPSBmbXQtPmF1ZGlvLmlfcmF0ZTsKLSAgICAgICAgIHN0cmVhbS0+dGltZV9iYXNl ID0gKEFWUmF0aW9uYWwpezEsIGNvZGVjcGFyLT5zYW1wbGVfcmF0ZX07Ci0gICAgICAgICBpZiAo Zm10LT5pX2JpdHJhdGUgPT0gMCkgewotLS0gCi1HaXRMYWIKLQotCi1Gcm9tIGZhMDAxY2RhN2Y2 YjIyODQzNDM4YzM5ZGZjMDc4MDUwYmI1NGM3MmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1G cm9tOiBJbGtrYSBPbGxha2thIDxpbGVvb0B2aWRlb2xhbi5vcmc+Ci1EYXRlOiBUdWUsIDQgSnVs IDIwMjMgMTY6NTM6NDMgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSCAwOS8xMV0gYXZjb2RlYzogYWRk IGhhbmRsaW5nIG9mIG5ldyBjaF9sYXlvdXQgaW4gYXVkaW8gZW5jb2RlcgotCi1jb25kaXRpb25l ZCB0byBhdmNvZGVjIHZlcnNpb24gd2hlcmUgaXMgaXQgYWRkZWQKLQotKGNoZXJyeSBwaWNrZWQg ZnJvbSBjb21taXQgYzQzMDJjYTU5ZGQ3OWVmZDcyMDhhNDVhM2ZjZGM0NDM4OGZkMDNhOCkKLS0t LQotIG1vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMgfCAxNSArKysrKysrKysrKysrLS0K LSAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlm ZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMgYi9tb2R1bGVzL2NvZGVj L2F2Y29kZWMvZW5jb2Rlci5jCi1pbmRleCA2YmQ1OGY1MDcxZC4uNzU3ZjkzYjQ2ODQgMTAwNjQ0 Ci0tLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jCi0rKysgYi9tb2R1bGVzL2Nv ZGVjL2F2Y29kZWMvZW5jb2Rlci5jCi1AQCAtOTI3LDExICs5MjcsMTQgQEAgZXJybXNnOgotIAot ICAgICAgICAgaWYoIHBfZW5jLT5mbXRfb3V0LmF1ZGlvLmlfY2hhbm5lbHMgPiAyICkKLSAgICAg ICAgIHsKLSsjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCA5OTksIDk5OSwgMjQsIDEw MCkKLSsgICAgICAgICAgICBhdl9jaGFubmVsX2xheW91dF9kZWZhdWx0KCAmcF9jb250ZXh0LT5j aF9sYXlvdXQsIDIgKTsKLSsjZWxzZQotICAgICAgICAgICAgIHBfY29udGV4dC0+Y2hhbm5lbHMg PSAyOwotLSNpZiBBUElfQ0hBTk5FTF9MQVlPVVQKLSsjIGlmIEFQSV9DSEFOTkVMX0xBWU9VVAot ICAgICAgICAgICAgIHBfY29udGV4dC0+Y2hhbm5lbF9sYXlvdXQgPSBjaGFubmVsX21hc2tbcF9j b250ZXh0LT5jaGFubmVsc11bMV07Ci0rIyBlbmRpZgotICNlbmRpZgotLQotICAgICAgICAgICAg IC8qIENoYW5nZSBmbXRfaW4gaW4gb3JkZXIgdG8gYXNrIGZvciBhIGNoYW5uZWxzIGNvbnZlcnNp b24gKi8KLSAgICAgICAgICAgICBwX2VuYy0+Zm10X2luLmF1ZGlvLmlfY2hhbm5lbHMgPQotICAg ICAgICAgICAgIHBfZW5jLT5mbXRfb3V0LmF1ZGlvLmlfY2hhbm5lbHMgPSAyOwotQEAgLTEyODgs OCArMTI5MSwxMiBAQCBzdGF0aWMgYmxvY2tfdCAqaGFuZGxlX2RlbGF5X2J1ZmZlciggZW5jb2Rl cl90ICpwX2VuYywgZW5jb2Rlcl9zeXNfdCAqcF9zeXMsIHVucwotICAgICBhdl9mcmFtZV91bnJl ZiggcF9zeXMtPmZyYW1lICk7Ci0gICAgIHBfc3lzLT5mcmFtZS0+Zm9ybWF0ICAgICA9IHBfc3lz LT5wX2NvbnRleHQtPnNhbXBsZV9mbXQ7Ci0gICAgIHBfc3lzLT5mcmFtZS0+bmJfc2FtcGxlcyA9 IGxlZnRvdmVyX3NhbXBsZXMgKyBwX3N5cy0+aV9zYW1wbGVzX2RlbGF5OwotKyNpZiBMSUJBVkNP REVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5OSwgOTk5LCAyNCwgMTAwKQotKyAgICBhdl9jaGFubmVs X2xheW91dF9jb3B5KCZwX3N5cy0+ZnJhbWUtPmNoX2xheW91dCwgJnBfc3lzLT5wX2NvbnRleHQt PmNoX2xheW91dCk7Ci0rI2Vsc2UKLSAgICAgcF9zeXMtPmZyYW1lLT5jaGFubmVsX2xheW91dCA9 IHBfc3lzLT5wX2NvbnRleHQtPmNoYW5uZWxfbGF5b3V0OwotICAgICBwX3N5cy0+ZnJhbWUtPmNo YW5uZWxzID0gcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbHM7Ci0rI2VuZGlmCi0gCi0gICAgIHBf c3lzLT5mcmFtZS0+cHRzICAgICAgICA9IGRhdGVfR2V0KCAmcF9zeXMtPmJ1ZmZlcl9kYXRlICkg KiBwX3N5cy0+cF9jb250ZXh0LT50aW1lX2Jhc2UuZGVuIC8KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIENMT0NLX0ZSRVEgLyBwX3N5cy0+cF9jb250ZXh0LT50aW1lX2Jhc2UubnVt OwotQEAgLTE0MTksOCArMTQyNiwxMiBAQCBzdGF0aWMgYmxvY2tfdCAqRW5jb2RlQXVkaW8oIGVu Y29kZXJfdCAqcF9lbmMsIGJsb2NrX3QgKnBfYW91dF9idWYgKQotICAgICAgICAgcF9zeXMtPmZy YW1lLT5wdHMgICAgICAgID0gZGF0ZV9HZXQoICZwX3N5cy0+YnVmZmVyX2RhdGUgKSAqIHBfc3lz LT5wX2NvbnRleHQtPnRpbWVfYmFzZS5kZW4gLwotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIENMT0NLX0ZSRVEgLyBwX3N5cy0+cF9jb250ZXh0LT50aW1lX2Jhc2UubnVtOwot IAotKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5OSwgOTk5LCAyNCwgMTAwKQot KyAgICAgICAgYXZfY2hhbm5lbF9sYXlvdXRfY29weSgmcF9zeXMtPmZyYW1lLT5jaF9sYXlvdXQs ICZwX3N5cy0+cF9jb250ZXh0LT5jaF9sYXlvdXQpOwotKyNlbHNlCi0gICAgICAgICBwX3N5cy0+ ZnJhbWUtPmNoYW5uZWxfbGF5b3V0ID0gcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbF9sYXlvdXQ7 Ci0gICAgICAgICBwX3N5cy0+ZnJhbWUtPmNoYW5uZWxzID0gcF9zeXMtPnBfY29udGV4dC0+Y2hh bm5lbHM7Ci0rI2VuZGlmCi0gCi0gICAgICAgICBjb25zdCBpbnQgaW5fYnl0ZXMgPSBwX3N5cy0+ ZnJhbWUtPm5iX3NhbXBsZXMgKgotICAgICAgICAgICAgIHBfZW5jLT5mbXRfb3V0LmF1ZGlvLmlf Y2hhbm5lbHMqIHBfc3lzLT5pX3NhbXBsZV9ieXRlczsKLS0tIAotR2l0TGFiCi0KLQotRnJvbSBi YjYyOTg5Y2NjMTI4NjZkMzA4ZTZmMzhkYzE1MTNkZTljYjFjNmRhIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQotRnJvbTogSWxra2EgT2xsYWtrYSA8aWxlb29AdmlkZW9sYW4ub3JnPgotRGF0ZTog VHVlLCA0IEp1bCAyMDIzIDE2OjU1OjI4ICswMzAwCi1TdWJqZWN0OiBbUEFUQ0ggMTAvMTFdIGF2 Y29kZWM6IHVzZSBjaF9sYXlvdXQgZm9yIGNoYW5uZWwgbGF5b3V0IGluIGF1ZGlvCi0gZW5jb2Rl cgotCi1jaGFubmVscyBhbmQgY2hhbm5lbF9sYXlvdXQgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBG Rk1QRUcgNS4xIGFuZCB3aWxsIGJlIHJlbW92ZWQgZXZlbnR1YWxseQotCi1hbHNvIGFsd2F5cyBj cmVhdGUgdGhlIG1hcHBpbmcsIGFzIGNoX2xheW91dCBpcyBhbHdheXMgdGhlcmUKLQotKGNoZXJy eSBwaWNrZWQgZnJvbSBjb21taXQgYjczZGM4ODQxZDk5OWM2YmU5ZGU3MThjZDJjZDNhZWIxMzI3 OTc5MikKLS0tLQotIG1vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMgfCA1MyArKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMjIgaW5zZXJ0aW9u cygrKSwgMzEgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29k ZWMvZW5jb2Rlci5jIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYwotaW5kZXggNzU3 ZjkzYjQ2ODQuLmFlNzQ2Yzk5ZmM4IDEwMDY0NAotLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVj L2VuY29kZXIuYwotKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYwotQEAgLTE4 Myw2ICsxODMsNyBAQCBzdGF0aWMgY29uc3QgdWludDY0X3QgcGlfY2hhbm5lbHNfbWFwW11bMl0g PQotICAgICB7IEFWX0NIX1NURVJFT19SSUdIVCwgICAgICAwIH0sCi0gfTsKLSAKLSsjIGlmICFM SUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5OSwgOTk5LCAyNCwgMTAwKQotIHN0YXRpYyBj b25zdCB1aW50MzJfdCBjaGFubmVsX21hc2tbXVsyXSA9IHsKLSAgICAgezAsMH0sCi0gICAgIHtB T1VUX0NIQU5fQ0VOVEVSLCBBVl9DSF9MQVlPVVRfTU9OT30sCi1AQCAtMTk1LDYgKzE5Niw3IEBA IHN0YXRpYyBjb25zdCB1aW50MzJfdCBjaGFubmVsX21hc2tbXVsyXSA9IHsKLSAgICAge0FPVVRf Q0hBTlNfN18xLCBBVl9DSF9MQVlPVVRfN1BPSU5UMX0sCi0gICAgIHtBT1VUX0NIQU5TXzhfMSwg QVZfQ0hfTEFZT1VUX09DVEFHT05BTH0sCi0gfTsKLSsjIGVuZGlmCi0gI2VuZGlmCi0gCi0gc3Rh dGljIGNvbnN0IGNoYXIgKmNvbnN0IHBwc3pfZW5jX29wdGlvbnNbXSA9IHsKLUBAIC03NDgsNDkg Kzc1MCwzNiBAQCBpbnQgSW5pdFZpZGVvRW5jKCB2bGNfb2JqZWN0X3QgKnBfdGhpcyApCi0gICAg ICAgICBkYXRlX1NldCggJnBfc3lzLT5idWZmZXJfZGF0ZSwgQVZfTk9QVFNfVkFMVUUgKTsKLSAg ICAgICAgIHBfY29udGV4dC0+dGltZV9iYXNlLm51bSA9IDE7Ci0gICAgICAgICBwX2NvbnRleHQt PnRpbWVfYmFzZS5kZW4gPSBwX2NvbnRleHQtPnNhbXBsZV9yYXRlOwotLSAgICAgICAgcF9jb250 ZXh0LT5jaGFubmVscyAgICAgID0gcF9lbmMtPmZtdF9vdXQuYXVkaW8uaV9jaGFubmVsczsKLS0j aWYgQVBJX0NIQU5ORUxfTEFZT1VUCi0tICAgICAgICBwX2NvbnRleHQtPmNoYW5uZWxfbGF5b3V0 ID0gY2hhbm5lbF9tYXNrW3BfY29udGV4dC0+Y2hhbm5lbHNdWzFdOwotIAotLSAgICAgICAgLyog U2V0dXAgQ2hhbm5lbCBvcmRlcmluZyBmb3IgbXVsdGljaGFubmVsIGF1ZGlvCi0rICAgICAgICAv KiBTZXR1cCBDaGFubmVsIG9yZGVyaW5nIGZvciBhdWRpbwotICAgICAgICAgICogYXMgVkxDIGNo YW5uZWwgb3JkZXIgaXNuJ3Qgc2FtZSBhcyBsaWJhdmNvZGVjIGV4cGVjdHMKLSAgICAgICAgICAq LwotIAotICAgICAgICAgcF9zeXMtPmlfY2hhbm5lbHNfdG9fcmVvcmRlciA9IDA7Ci0gCi0tICAg ICAgICAvKiBTcGVjaWZpZWQgb3JkZXIKLSsgICAgICAgIC8qIENyZWF0ZSBjaGFubmVsIGxheW91 dCBmb3IgYXZjb2RlYwotICAgICAgICAgICogQ29waWVkIGZyb20gYXVkaW8uYwotICAgICAgICAg ICovCi0tICAgICAgICBjb25zdCB1bnNpZ25lZCBpX29yZGVyX21heCA9IDggKiBzaXplb2YocF9j b250ZXh0LT5jaGFubmVsX2xheW91dCk7Ci0tICAgICAgICB1aW50MzJfdCBwaV9vcmRlcl9kc3Rb QU9VVF9DSEFOX01BWF0gPSB7IH07Ci0rI2lmIEFQSV9DSEFOTkVMX0xBWU9VVAotKyAgICAgICAg dWludDMyX3QgcGlfb3JkZXJfZHN0W0FPVVRfQ0hBTl9NQVhdID0geyAwIH07Ci0gICAgICAgICB1 aW50MzJfdCBvcmRlcl9tYXNrID0gMDsKLSAgICAgICAgIGludCBpX2NoYW5uZWxzX3NyYyA9IDA7 Ci0tCi0tICAgICAgICBpZiggcF9jb250ZXh0LT5jaGFubmVsX2xheW91dCApCi0tICAgICAgICB7 Ci0tICAgICAgICAgICAgbXNnX0RiZyggcF9lbmMsICJDcmVhdGluZyBjaGFubmVsIG9yZGVyIGZv ciByZW9yZGVyaW5nIik7Ci0tICAgICAgICAgICAgZm9yKCB1bnNpZ25lZCBpID0gMDsgaSA8IHNp emVvZihwaV9jaGFubmVsc19tYXApL3NpemVvZigqcGlfY2hhbm5lbHNfbWFwKTsgaSsrICkKLS0g ICAgICAgICAgICB7Ci0tICAgICAgICAgICAgICAgIGlmKCBwX2NvbnRleHQtPmNoYW5uZWxfbGF5 b3V0ICYgcGlfY2hhbm5lbHNfbWFwW2ldWzBdICkKLS0gICAgICAgICAgICAgICAgewotLSAgICAg ICAgICAgICAgICAgICAgbXNnX0RiZyggcF9lbmMsICIlZCAlIlBSSXg2NCIgbWFwcGVkIHRvICUi UFJJeDY0IiIsIGlfY2hhbm5lbHNfc3JjLCBwaV9jaGFubmVsc19tYXBbaV1bMF0sIHBpX2NoYW5u ZWxzX21hcFtpXVsxXSk7Ci0tICAgICAgICAgICAgICAgICAgICBwaV9vcmRlcl9kc3RbaV9jaGFu bmVsc19zcmMrK10gPSBwaV9jaGFubmVsc19tYXBbaV1bMV07Ci0tICAgICAgICAgICAgICAgICAg ICBvcmRlcl9tYXNrIHw9IHBpX2NoYW5uZWxzX21hcFtpXVsxXTsKLS0gICAgICAgICAgICAgICAg fQotLSAgICAgICAgICAgIH0KLS0gICAgICAgIH0KLS0gICAgICAgIGVsc2UKLSsgICAgICAgIG1z Z19EYmcoIHBfZW5jLCAiQ3JlYXRpbmcgY2hhbm5lbCBvcmRlciBmb3IgcmVvcmRlcmluZyIpOwot KyMgaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCA5OTksIDk5OSwgMjQsIDEwMCkKLSsg ICAgICAgIGF2X2NoYW5uZWxfbGF5b3V0X2RlZmF1bHQoICZwX2NvbnRleHQtPmNoX2xheW91dCwg cF9lbmMtPmZtdF9vdXQuYXVkaW8uaV9jaGFubmVscyApOwotKyAgICAgICAgdWludDY0X3QgY2hh bm5lbF9tYXNrID0gcF9jb250ZXh0LT5jaF9sYXlvdXQudS5tYXNrOwotKyMgZWxzZQotKyAgICAg ICAgcF9jb250ZXh0LT5jaGFubmVscyA9IHBfZW5jLT5mbXRfb3V0LmF1ZGlvLmlfY2hhbm5lbHM7 Ci0rICAgICAgICBwX2NvbnRleHQtPmNoYW5uZWxfbGF5b3V0ID0gY2hhbm5lbF9tYXNrW3BfY29u dGV4dC0+Y2hhbm5lbHNdWzFdOwotKyAgICAgICAgdWludDY0X3QgY2hhbm5lbF9tYXNrID0gcF9j b250ZXh0LT5jaGFubmVsX2xheW91dDsKLSsjIGVuZGlmCi0rICAgICAgICBmb3IoIHVuc2lnbmVk IGkgPSAwOyBpIDwgc2l6ZW9mKHBpX2NoYW5uZWxzX21hcCkvc2l6ZW9mKCpwaV9jaGFubmVsc19t YXApOyBpKysgKQotICAgICAgICAgewotLSAgICAgICAgICAgIG1zZ19EYmcoIHBfZW5jLCAiQ3Jl YXRpbmcgZGVmYXVsdCBjaGFubmVsIG9yZGVyIGZvciByZW9yZGVyaW5nIik7Ci0tICAgICAgICAg ICAgLyogQ3JlYXRlIGRlZmF1bHQgb3JkZXIgICovCi0tICAgICAgICAgICAgZm9yKCB1bnNpZ25l ZCBpbnQgaSA9IDA7IGkgPCBfX01JTiggaV9vcmRlcl9tYXgsICh1bnNpZ25lZClwX3N5cy0+cF9j b250ZXh0LT5jaGFubmVscyApOyBpKysgKQotKyAgICAgICAgICAgIGlmKCBjaGFubmVsX21hc2sg JiBwaV9jaGFubmVsc19tYXBbaV1bMF0gKQotICAgICAgICAgICAgIHsKLS0gICAgICAgICAgICAg ICAgaWYoIGkgPCBzaXplb2YocGlfY2hhbm5lbHNfbWFwKS9zaXplb2YoKnBpX2NoYW5uZWxzX21h cCkgKQotLSAgICAgICAgICAgICAgICB7Ci0tICAgICAgICAgICAgICAgICAgICBtc2dfRGJnKCBw X2VuYywgIiVkIGNoYW5uZWwgaXMgJSJQUkl4NjQiIiwgaV9jaGFubmVsc19zcmMsIHBpX2NoYW5u ZWxzX21hcFtpXVsxXSk7Ci0tICAgICAgICAgICAgICAgICAgICBwaV9vcmRlcl9kc3RbaV9jaGFu bmVsc19zcmMrK10gPSBwaV9jaGFubmVsc19tYXBbaV1bMV07Ci0tICAgICAgICAgICAgICAgICAg ICBvcmRlcl9tYXNrIHw9IHBpX2NoYW5uZWxzX21hcFtpXVsxXTsKLS0gICAgICAgICAgICAgICAg fQotKyAgICAgICAgICAgICAgICBtc2dfRGJnKCBwX2VuYywgIiVkICUiUFJJeDY0IiBtYXBwZWQg dG8gJSJQUkl4NjQiIiwgaV9jaGFubmVsc19zcmMsIHBpX2NoYW5uZWxzX21hcFtpXVswXSwgcGlf Y2hhbm5lbHNfbWFwW2ldWzFdKTsKLSsgICAgICAgICAgICAgICAgcGlfb3JkZXJfZHN0W2lfY2hh bm5lbHNfc3JjKytdID0gcGlfY2hhbm5lbHNfbWFwW2ldWzFdOwotKyAgICAgICAgICAgICAgICBv cmRlcl9tYXNrIHw9IHBpX2NoYW5uZWxzX21hcFtpXVsxXTsKLSAgICAgICAgICAgICB9Ci0gICAg ICAgICB9Ci0gICAgICAgICBpZiggaV9jaGFubmVsc19zcmMgIT0gcF9lbmMtPmZtdF9vdXQuYXVk aW8uaV9jaGFubmVscyApCi1AQCAtNzk5LDYgKzc4OCw4IEBAIGludCBJbml0VmlkZW9FbmMoIHZs Y19vYmplY3RfdCAqcF90aGlzICkKLSAgICAgICAgIHBfc3lzLT5pX2NoYW5uZWxzX3RvX3Jlb3Jk ZXIgPQotICAgICAgICAgICAgIGFvdXRfQ2hlY2tDaGFubmVsUmVvcmRlciggTlVMTCwgcGlfb3Jk ZXJfZHN0LCBvcmRlcl9tYXNrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcF9zeXMtPnBpX3Jlb3JkZXJfbGF5b3V0ICk7Ci0rI2Vsc2UKLSsgICAgICAgIHBfY29udGV4 dC0+Y2hhbm5lbHMgPSBwX2VuYy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzOwotICNlbmRpZgot IAotICAgICAgICAgaWYgKCBwX2VuYy0+Zm10X291dC5pX2NvZGVjID09IFZMQ19DT0RFQ19NUDRB ICkKLS0tIAotR2l0TGFiCi0KLQotRnJvbSBlMDIwZjlhYmIzMTgwOTU4NGUzM2Q3NDA1OTNkNmFl NWExOTA3NzFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0ZyYW49 QzM9QTdvaXM9MjBDYXJ0ZWduaWU/PSA8ZmN2bGNkZXZAZnJlZS5mcj4KLURhdGU6IE1vbiwgMTIg QXVnIDIwMjQgMTk6MzI6NDIgKzA3MDAKLVN1YmplY3Q6IFtQQVRDSCAxMS8xMV0gY29kZWM6IGF2 Y29kZWM6IGJ5cGFzcyByZW1vdmVkIGRlZmluZSBmb3IgSW50ZWwKLSB3b3JrYXJvdW5kcwotCi1h ZGFwdGVkIGZyb20gY2hlcnJ5IHBpY2tlZCBjb21taXQgMTI4MDcyOGFkMzA1ZjAwY2ViYTM0OTFj ZTExYmY2NjEwNzAxN2E2YwotLS0tCi0gbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2QzZDExdmEuYyB8 IDQgKysrKwotIG1vZHVsZXMvY29kZWMvYXZjb2RlYy9keHZhMi5jICAgfCA0ICsrKysKLSAyIGZp bGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2Rl Yy9hdmNvZGVjL2QzZDExdmEuYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9kM2QxMXZhLmMKLWlu ZGV4IGUxNTYwYTkzMTJjLi41MjYwNjI4MzY0ZiAxMDA2NDQKLS0tLSBhL21vZHVsZXMvY29kZWMv YXZjb2RlYy9kM2QxMXZhLmMKLSsrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9kM2QxMXZhLmMK LUBAIC01NSw2ICs1NSwxMCBAQAotICNkZWZpbmUgRDNEX0RlY29kZXJTdXJmYWNlICBJRDNEMTFW aWRlb0RlY29kZXJPdXRwdXRWaWV3Ci0gI2luY2x1ZGUgImRpcmVjdHhfdmEuaCIKLSAKLSsjaWZu ZGVmIEZGX0RYVkEyX1dPUktBUk9VTkRfSU5URUxfQ0xFQVJWSURFTwotKyMgZGVmaW5lIEZGX0RY VkEyX1dPUktBUk9VTkRfSU5URUxfQ0xFQVJWSURFTyAyIC8vIG1vdmVkIHRvIGxpYmF2Y29kZWMv ZHh2YTJfaW50ZXJuYWwuaCA6LwotKyNlbmRpZgotKwotIHN0YXRpYyBpbnQgT3Blbih2bGNfdmFf dCAqLCBBVkNvZGVjQ29udGV4dCAqLCBjb25zdCBBVlBpeEZtdERlc2NyaXB0b3IgKiwgZW51bSBQ aXhlbEZvcm1hdCwKLSAgICAgICAgICAgICAgICAgY29uc3QgZXNfZm9ybWF0X3QgKiwgcGljdHVy ZV9zeXNfdCAqcF9zeXMpOwotIHN0YXRpYyB2b2lkIENsb3NlKHZsY192YV90ICosIHZvaWQgKiop OwotZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9keHZhMi5jIGIvbW9kdWxlcy9j b2RlYy9hdmNvZGVjL2R4dmEyLmMKLWluZGV4IDJlNjgwOWEwNTQxLi4wMzdhZDdkNDQ4OCAxMDA2 NDQKLS0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9keHZhMi5jCi0rKysgYi9tb2R1bGVzL2Nv ZGVjL2F2Y29kZWMvZHh2YTIuYwotQEAgLTQzLDYgKzQzLDEwIEBACi0gI2RlZmluZSBEM0RfRGVj b2RlclN1cmZhY2UgIElEaXJlY3QzRFN1cmZhY2U5Ci0gI2luY2x1ZGUgImRpcmVjdHhfdmEuaCIK LSAKLSsjaWZuZGVmIEZGX0RYVkEyX1dPUktBUk9VTkRfSU5URUxfQ0xFQVJWSURFTwotKyMgZGVm aW5lIEZGX0RYVkEyX1dPUktBUk9VTkRfSU5URUxfQ0xFQVJWSURFTyAyIC8vIG1vdmVkIHRvIGxp YmF2Y29kZWMvZHh2YTJfaW50ZXJuYWwuaCA6LwotKyNlbmRpZgotKwotIHN0YXRpYyBpbnQgT3Bl bih2bGNfdmFfdCAqLCBBVkNvZGVjQ29udGV4dCAqLCBjb25zdCBBVlBpeEZtdERlc2NyaXB0b3Ig KiwgZW51bSBQaXhlbEZvcm1hdCwKLSAgICAgICAgICAgICAgICAgY29uc3QgZXNfZm9ybWF0X3Qg KiwgcGljdHVyZV9zeXNfdCAqcF9zeXMpOwotIHN0YXRpYyB2b2lkIENsb3NlKHZsY192YV90ICos IHZvaWQgKiopOwotLS0gCi1HaXRMYWIKLQoKZGlmZiAtLWdpdCBhLzU1OTAucGF0Y2ggYi81NTkw LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzOGVjM2NjLi4wMDAwMDAwCi0t LSBhLzU1OTAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1Gcm9tIGE3NjFl MWMyMDJiNjMyZTc4NjVkMThmY2YxMWEyYjllMjg1ZWE5YWUgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCi1Gcm9tOiBUcmlzdGFuIE1hdHRoZXdzIDx0bWF0dGhAdmlkZW9sYW4ub3JnPgotRGF0ZTog V2VkLCAxIEZlYiAyMDIzIDIzOjM5OjM2IC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIG9wdXNfaGVh ZGVyOiBmaXggY2hhbm5lbCBtYXBwaW5nIGZhbWlseSAxIHBhcnNpbmcKLQotRml4ZXMgIzI3ODA4 Ci0KLShjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDc5ZmE2YWYwYTk4OTIxZjlkMzQ5MzM3NjFm NGZlMjBlZjZjMzUzMDkpCi0tLS0KLSBtb2R1bGVzL2NvZGVjL29wdXNfaGVhZGVyLmMgfCAyICst Ci0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYg LS1naXQgYS9tb2R1bGVzL2NvZGVjL29wdXNfaGVhZGVyLmMgYi9tb2R1bGVzL2NvZGVjL29wdXNf aGVhZGVyLmMKLWluZGV4IDQwNjlhNWNmNDYxMy4uYjEzNGIyMGI2MjViIDEwMDY0NAotLS0tIGEv bW9kdWxlcy9jb2RlYy9vcHVzX2hlYWRlci5jCi0rKysgYi9tb2R1bGVzL2NvZGVjL29wdXNfaGVh ZGVyLmMKLUBAIC0yMDUsNyArMjA1LDcgQEAgaW50IG9wdXNfaGVhZGVyX3BhcnNlKGNvbnN0IHVu c2lnbmVkIGNoYXIgKnBhY2tldCwgaW50IGxlbiwgT3B1c0hlYWRlciAqaCkKLSAgICAgICAgIGgt Pm5iX2NvdXBsZWQgPSBjaDsKLSAKLSAgICAgICAgIC8qIE11bHRpLXN0cmVhbSBzdXBwb3J0ICov Ci0tICAgICAgICBpZihoLT5jaGFubmVsX21hcHBpbmcgPT0gMikKLSsgICAgICAgIGlmKGgtPmNo YW5uZWxfbWFwcGluZyA8PSAyKQotICAgICAgICAgewotICAgICAgICAgICAgIGlmIChoLT5uYl9j b3VwbGVkICsgaC0+bmJfc3RyZWFtcyA+IDI1NSkKLSAgICAgICAgICAgICAgICAgcmV0dXJuIDA7 Ci0tLSAKLUdpdExhYgotCgpkaWZmIC0tZ2l0IGEvNjE2OC5wYXRjaCBiLzYxNjgucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZkY2M4YzEuLjAwMDAwMDAKLS0tIGEvNjE2OC5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDgyICswLDAgQEAKLUZyb20gYTYxOGUzMWNmMjA5MTY4 YWU0MjBlOTU3NTA3MzRhMzczNTk5NjllMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206 ID0/VVRGLTg/cT9GcmFuPUMzPUE3b2lzPTIwQ2FydGVnbmllPz0gPGZjdmxjZGV2QGZyZWUuZnI+ Ci1EYXRlOiBTdW4sIDcgSnVsIDIwMjQgMTE6MTQ6MDUgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0g bXV4OiBhdmZvcm1hdDogZml4IGF2aW8gY2FsbGJhY2tzIHNpZ25hdHVyZSB3aXRoIGZmbXBlZyA2 LjEKLQotQVBJIHNpZ25hdHVyZSBjaGFuZ2VzIGludHJvZHVjZWQgZGVwZW5kaW5nIG9uIGEgcG9z aXRpdmUgZGVmaW5lLAotdGhlbiByZW1vdmVkIGxhdGVyLCBtYWtpbmcgaXQgYnJlYWsgcHJpb3Ig b3IgcG9zdCByZW1vdmFsLi4uCi0KLShhZGFwdGVkIGZyb20gY29tbWl0IDUwM2MwNGZhZDkyMzk0 MjBiZTI2ZDY3YWFiNGQ1ZjYzYzUzZWI0ZjcpCi0tLS0KLSBtb2R1bGVzL2NvZGVjL2F2Y29kZWMv YXZjb21tb25fY29tcGF0LmggfCAgMyArKysKLSBtb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5j ICAgICAgICAgICAgfCAxOCArKysrKysrKysrKysrKysrKysKLSAyIGZpbGVzIGNoYW5nZWQsIDIx IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNv bW1vbl9jb21wYXQuaCBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaAot aW5kZXggOWQxNmIzZGM0N2Q5Li41NjFhZDgzZjk5ZjkgMTAwNjQ0Ci0tLS0gYS9tb2R1bGVzL2Nv ZGVjL2F2Y29kZWMvYXZjb21tb25fY29tcGF0LmgKLSsrKyBiL21vZHVsZXMvY29kZWMvYXZjb2Rl Yy9hdmNvbW1vbl9jb21wYXQuaAotQEAgLTc3LDYgKzc3LDkgQEAKLSAjaWZuZGVmICBGRl9NQVhf Ql9GUkFNRVMKLSAjIGRlZmluZSAgRkZfTUFYX0JfRlJBTUVTIDE2IC8vIEZJWE1FOiByZW1vdmUg dGhpcwotICNlbmRpZgotKyNpZm5kZWYgRkZfQVBJX0FWSU9fV1JJVEVfTk9OQ09OU1QgLy8gcmVt b3ZlZCBpbiBmZm1wZWcgNwotKyMgZGVmaW5lIEZGX0FQSV9BVklPX1dSSVRFX05PTkNPTlNUIChM SUJBVkZPUk1BVF9WRVJTSU9OX01BSk9SIDwgNjEpCi0rI2VuZGlmCi0gCi0gI2VuZGlmIC8qIEhB VkVfTElCQVZDT0RFQ19BVkNPREVDX0ggKi8KLSAKLWRpZmYgLS1naXQgYS9tb2R1bGVzL2RlbXV4 L2F2Zm9ybWF0L211eC5jIGIvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYwotaW5kZXggOGJm ODczNTg4NWY1Li4wMzNhODdiZGFhYWQgMTAwNjQ0Ci0tLS0gYS9tb2R1bGVzL2RlbXV4L2F2Zm9y bWF0L211eC5jCi0rKysgYi9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jCi1AQCAtNzQsMTEg Kzc0LDIwIEBAIHN0YXRpYyBpbnQgQWRkU3RyZWFtKCBzb3V0X211eF90ICosIHNvdXRfaW5wdXRf dCAqICk7Ci0gc3RhdGljIHZvaWQgRGVsU3RyZWFtKCBzb3V0X211eF90ICosIHNvdXRfaW5wdXRf dCAqICk7Ci0gc3RhdGljIGludCBNdXggICAgICAoIHNvdXRfbXV4X3QgKiApOwotIAotKyNpZiBG Rl9BUElfQVZJT19XUklURV9OT05DT05TVAotIHN0YXRpYyBpbnQgSU9Xcml0ZSggdm9pZCAqb3Bh cXVlLCB1aW50OF90ICpidWYsIGludCBidWZfc2l6ZSApOwotKyNlbHNlCi0rc3RhdGljIGludCBJ T1dyaXRlKCB2b2lkICpvcGFxdWUsIGNvbnN0IHVpbnQ4X3QgKmJ1ZiwgaW50IGJ1Zl9zaXplICk7 Ci0rI2VuZGlmCi0gc3RhdGljIGludDY0X3QgSU9TZWVrKCB2b2lkICpvcGFxdWUsIGludDY0X3Qg b2Zmc2V0LCBpbnQgd2hlbmNlICk7Ci0gI2lmIExJQkFWRk9STUFUX1ZFUlNJT05fQ0hFQ0soIDU3 LCA3LCAwLCA0MCwgMTAwICkKLSsjIGlmIEZGX0FQSV9BVklPX1dSSVRFX05PTkNPTlNUCi0gc3Rh dGljIGludCBJT1dyaXRlVHlwZWQodm9pZCAqb3BhcXVlLCB1aW50OF90ICpidWYsIGludCBidWZf c2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIEFWSU9EYXRhTWFya2Vy VHlwZSB0eXBlLCBpbnQ2NF90IHRpbWUpOwotKyMgZWxzZQotK2ludCBJT1dyaXRlVHlwZWQodm9p ZCAqb3BhcXVlLCBjb25zdCB1aW50OF90ICpidWYsIGludCBidWZfc2l6ZSwKLSsgICAgICAgICAg ICAgICAgIGVudW0gQVZJT0RhdGFNYXJrZXJUeXBlIHR5cGUsIGludDY0X3QgdGltZSk7Ci0rIyBl bmRpZgotICNlbmRpZgotIAotIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotQEAgLTQxMSw4ICs0MjAs MTMgQEAgc3RhdGljIGludCBNdXhCbG9jayggc291dF9tdXhfdCAqcF9tdXgsIHNvdXRfaW5wdXRf dCAqcF9pbnB1dCApCi0gfQotIAotICNpZiBMSUJBVkZPUk1BVF9WRVJTSU9OX0NIRUNLKCA1Nywg NywgMCwgNDAsIDEwMCApCi0rIyBpZiBGRl9BUElfQVZJT19XUklURV9OT05DT05TVAotIGludCBJ T1dyaXRlVHlwZWQodm9pZCAqb3BhcXVlLCB1aW50OF90ICpidWYsIGludCBidWZfc2l6ZSwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIEFWSU9EYXRhTWFya2VyVHlwZSB0eXBl LCBpbnQ2NF90IHRpbWUpCi0rIyBlbHNlCi0raW50IElPV3JpdGVUeXBlZCh2b2lkICpvcGFxdWUs IGNvbnN0IHVpbnQ4X3QgKmJ1ZiwgaW50IGJ1Zl9zaXplLAotKyAgICAgICAgICAgICAgICAgZW51 bSBBVklPRGF0YU1hcmtlclR5cGUgdHlwZSwgaW50NjRfdCB0aW1lKQotKyMgZW5kaWYKLSB7Ci0g ICAgIFZMQ19VTlVTRUQodGltZSk7Ci0gCi1AQCAtNTEyLDcgKzUyNiwxMSBAQCBzdGF0aWMgaW50 IENvbnRyb2woIHNvdXRfbXV4X3QgKnBfbXV4LCBpbnQgaV9xdWVyeSwgdmFfbGlzdCBhcmdzICkK LSAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBJL08gd3JhcHBlcnMgZm9yIGxpYmF2Zm9ybWF0 Ci0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqLwotKyNpZiBGRl9BUElfQVZJT19XUklURV9OT05DT05T VAotIHN0YXRpYyBpbnQgSU9Xcml0ZSggdm9pZCAqb3BhcXVlLCB1aW50OF90ICpidWYsIGludCBi dWZfc2l6ZSApCi0rI2Vsc2UKLStzdGF0aWMgaW50IElPV3JpdGUoIHZvaWQgKm9wYXF1ZSwgY29u c3QgdWludDhfdCAqYnVmLCBpbnQgYnVmX3NpemUgKQotKyNlbmRpZgotIHsKLSAgICAgc291dF9t dXhfdCAqcF9tdXggPSBvcGFxdWU7Ci0gICAgIHNvdXRfbXV4X3N5c190ICpwX3N5cyA9IHBfbXV4 LT5wX3N5czsKLS0tIAotR2l0TGFiCi0KCmRpZmYgLS1naXQgYS82MjczLnBhdGNoIGIvNjI3My5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDQ5ZWU1MC4uMDAwMDAwMAotLS0g YS82MjczLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTQzMCArMCwwIEBACi1Gcm9tIDhmZWY4 MzczMWE2YjczMjRmZmQwMzkzMzI3MmZjZmQ5YjA4YTJjYjAgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCi1Gcm9tOiBTdGV2ZSBMaG9tbWUgPHJvYnV4NEB5Y2Jjci54eXo+Ci1EYXRlOiBUaHUsIDcg Tm92IDIwMjQgMDc6MjA6NTcgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAwMS8xNV0gYXZjb21tb246 IHJlbmFtZSBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyB0bwotIExJQkFWX1VUSUxfVkVSU0lPTl9D SEVDSwotCi1UaGUgTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0sgZm9ybSB3aWxsIGJlIGZvciBjaGVj a3MgYWxzbyBkb25lIGluIDQuMC4KLQotTm8gZnVuY3Rpb25hbCBjaGFuZ2VzLgotLS0tCi0gbW9k dWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMgICAgICAgICAgIHwgMiArLQotIG1vZHVsZXMvY29k ZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaCB8IDYgKysrLS0tCi0gbW9kdWxlcy9jb2RlYy9h dmNvZGVjL2Nocm9tYS5jICAgICAgICAgIHwgMiArLQotIG1vZHVsZXMvY29kZWMvYXZjb2RlYy9l bmNvZGVyLmMgICAgICAgICB8IDIgKy0KLSBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmEuYyAgICAg ICAgICAgICAgfCAyICstCi0gbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZpZGVvLmMgICAgICAgICAg IHwgNiArKystLS0KLSA2IGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDEwIGRlbGV0 aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMgYi9t b2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYwotaW5kZXggYzc0NzU3Yzc2YWUuLjQ0MzM1ZWMz Y2NlIDEwMDY0NAotLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMKLSsrKyBiL21v ZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCi1AQCAtNDEsNyArNDEsNyBAQAotICNpbmNsdWRl IDxsaWJhdmNvZGVjL2F2Y29kZWMuaD4KLSAjaW5jbHVkZSA8bGliYXZ1dGlsL21lbS5oPgotIAot LSNkZWZpbmUgQVBJX0NIQU5ORUxfTEFZT1VUIChMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyggNTIs IDIsIDYsIDAsIDEwMCkpCi0rI2RlZmluZSBBUElfQ0hBTk5FTF9MQVlPVVQgKExJQkFWX1VUSUxf VkVSU0lPTl9DSEVDSyggNTIsIDIsIDYsIDAsIDEwMCkpCi0gCi0gI2lmIEFQSV9DSEFOTkVMX0xB WU9VVAotICMgaW5jbHVkZSA8bGliYXZ1dGlsL2NoYW5uZWxfbGF5b3V0Lmg+Ci1kaWZmIC0tZ2l0 IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uX2NvbXBhdC5oIGIvbW9kdWxlcy9jb2Rl Yy9hdmNvZGVjL2F2Y29tbW9uX2NvbXBhdC5oCi1pbmRleCA1NjFhZDgzZjk5Zi4uYmIyYjlhZTAz ZTUgMTAwNjQ0Ci0tLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb25fY29tcGF0LmgK LSsrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaAotQEAgLTg2LDE1 ICs4NiwxNSBAQAotICNpZmRlZiBIQVZFX0xJQkFWVVRJTF9BVlVUSUxfSAotICMgaW5jbHVkZSA8 bGliYXZ1dGlsL2F2dXRpbC5oPgotIAotLS8qIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLIGNoZWNr cyBmb3IgdGhlIHJpZ2h0IHZlcnNpb24gb2YgbGliYXYgYW5kIEZGbXBlZwotKy8qIExJQkFWX1VU SUxfVkVSU0lPTl9DSEVDSyBjaGVja3MgZm9yIHRoZSByaWdodCB2ZXJzaW9uIG9mIGxpYmF2IGFu ZCBGRm1wZWcKLSAgKiBhIGlzIHRoZSBtYWpvciB2ZXJzaW9uCi0gICogYiBhbmQgYyB0aGUgbWlu b3IgYW5kIG1pY3JvIHZlcnNpb25zIG9mIGxpYmF2Ci0gICogZCBhbmQgZSB0aGUgbWlub3IgYW5k IG1pY3JvIHZlcnNpb25zIG9mIEZGbXBlZyAqLwotLSNkZWZpbmUgTElCQVZVVElMX1ZFUlNJT05f Q0hFQ0soIGEsIGIsIGMsIGQsIGUgKSBcCi0rI2RlZmluZSBMSUJBVl9VVElMX1ZFUlNJT05fQ0hF Q0soIGEsIGIsIGMsIGQsIGUgKSBcCi0gICAgICggKExJQkFWVVRJTF9WRVJTSU9OX01JQ1JPIDwg IDEwMCAmJiBMSUJBVlVUSUxfVkVSU0lPTl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQoIGEsIGIsIGMg KSApIHx8IFwKLSAgICAgICAoTElCQVZVVElMX1ZFUlNJT05fTUlDUk8gPj0gMTAwICYmIExJQkFW VVRJTF9WRVJTSU9OX0lOVCA+PSBBVl9WRVJTSU9OX0lOVCggYSwgZCwgZSApICkgKQotIAotLSNp ZiAhTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soIDUyLCAxMSwgMCwgMzIsIDEwMCApCi0rI2lmICFM SUJBVl9VVElMX1ZFUlNJT05fQ0hFQ0soIDUyLCAxMSwgMCwgMzIsIDEwMCApCi0gIyAgIGRlZmlu ZSBBVl9QSVhfRk1UX0ZMQUdfSFdBQ0NFTCAgUElYX0ZNVF9IV0FDQ0VMCi0gI2VuZGlmCi0gCi1k aWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2Nocm9tYS5jIGIvbW9kdWxlcy9jb2Rl Yy9hdmNvZGVjL2Nocm9tYS5jCi1pbmRleCBjYjk2MzRkYjU5Ny4uZGEyMGJjYjEwYjMgMTAwNjQ0 Ci0tLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvY2hyb21hLmMKLSsrKyBiL21vZHVsZXMvY29k ZWMvYXZjb2RlYy9jaHJvbWEuYwotQEAgLTE4MCw3ICsxODAsNyBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0Ci0gICAgIHtWTENfQ09ERUNfR0JSX1BMQU5BUl8xNkIsIEFWX1BJWF9GTVRfR0JSUDE2QkUs IDAsIDAsIDAgfSwKLSAKLSAgICAgLyogWFlaICovCi0tI2lmIExJQkFWVVRJTF9WRVJTSU9OX0NI RUNLKDUyLCAxMCwgMCwgMjUsIDEwMCkKLSsjaWYgTElCQVZfVVRJTF9WRVJTSU9OX0NIRUNLKDUy LCAxMCwgMCwgMjUsIDEwMCkKLSAgICAge1ZMQ19DT0RFQ19YWVoxMiwgQVZfUElYX0ZNVF9YWVox MiwgMHhmZmYwLCAweGZmZjAsIDB4ZmZmMH0sCi0gI2VuZGlmCi0gICAgIHsgMCwgMCwgMCwgMCwg MCB9Ci1kaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYyBiL21vZHVs ZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMKLWluZGV4IGFlNzQ2Yzk5ZmM4Li5jOWEzNGQ4ZjBk YSAxMDA2NDQKLS0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMKLSsrKyBiL21v ZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMKLUBAIC00Nyw3ICs0Nyw3IEBACi0gI2luY2x1 ZGUgImF2Y29kZWMuaCIKLSAjaW5jbHVkZSAiYXZjb21tb24uaCIKLSAKLS0jZGVmaW5lIEFQSV9D SEFOTkVMX0xBWU9VVCAoTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soIDUyLCAyLCA2LCAwLCAxMDAp KQotKyNkZWZpbmUgQVBJX0NIQU5ORUxfTEFZT1VUIChMSUJBVl9VVElMX1ZFUlNJT05fQ0hFQ0so IDUyLCAyLCA2LCAwLCAxMDApKQotIAotICNpZiBBUElfQ0hBTk5FTF9MQVlPVVQKLSAjIGluY2x1 ZGUgPGxpYmF2dXRpbC9jaGFubmVsX2xheW91dC5oPgotZGlmZiAtLWdpdCBhL21vZHVsZXMvY29k ZWMvYXZjb2RlYy92YS5jIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZhLmMKLWluZGV4IDBmZWIw M2I5NzRmLi4wNmRlNTRkZGNmMCAxMDA2NDQKLS0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy92 YS5jCi0rKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmEuYwotQEAgLTU4LDcgKzU4LDcgQEAg dmxjX2ZvdXJjY190IHZsY192YV9HZXRDaHJvbWEoZW51bSBQaXhlbEZvcm1hdCBod2ZtdCwgZW51 bSBQaXhlbEZvcm1hdCBzd2ZtdCkKLSAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgYnJlYWs7 Ci0gCi0tI2lmIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKDU0LCAxMywgMSwgMjQsIDEwMCkKLSsj aWYgTElCQVZfVVRJTF9WRVJTSU9OX0NIRUNLKDU0LCAxMywgMSwgMjQsIDEwMCkKLSAgICAgICAg IGNhc2UgQVZfUElYX0ZNVF9EM0QxMVZBX1ZMRDoKLSAgICAgICAgICAgICBzd2l0Y2ggKHN3Zm10 KQotICAgICAgICAgICAgIHsKLWRpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlk ZW8uYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jCi1pbmRleCA4Yzg5MmRkM2Y0OC4u ZGVlZmQzMDc2YTkgMTAwNjQ0Ci0tLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYwot KysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZpZGVvLmMKLUBAIC0yNTcsMTIgKzI1NywxMiBA QCBzdGF0aWMgaW50IGxhdmNfR2V0VmlkZW9Gb3JtYXQoZGVjb2Rlcl90ICpkZWMsIHZpZGVvX2Zv cm1hdF90ICpyZXN0cmljdCBmbXQsCi0gICAgICAgICBjYXNlIEFWQ09MX1RSQ19CVDIwMjBfMTI6 Ci0gICAgICAgICAgICAgZm10LT50cmFuc2ZlciA9IFRSQU5TRkVSX0ZVTkNfQlQyMDIwOwotICAg ICAgICAgICAgIGJyZWFrOwotLSNpZiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyggNTUsIDE0LCAw LCAzMSwgMTAwKQotKyNpZiBMSUJBVl9VVElMX1ZFUlNJT05fQ0hFQ0soIDU1LCAxNCwgMCwgMzEs IDEwMCkKLSAgICAgICAgIGNhc2UgQVZDT0xfVFJDX0FSSUJfU1REX0I2NzoKLSAgICAgICAgICAg ICBmbXQtPnRyYW5zZmVyID0gVFJBTlNGRVJfRlVOQ19BUklCX0I2NzsKLSAgICAgICAgICAgICBi cmVhazsKLSAjZW5kaWYKLS0jaWYgTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soIDU1LCAxNywgMCwg MzcsIDEwMCkKLSsjaWYgTElCQVZfVVRJTF9WRVJTSU9OX0NIRUNLKCA1NSwgMTcsIDAsIDM3LCAx MDApCi0gICAgICAgICBjYXNlIEFWQ09MX1RSQ19TTVBURTIwODQ6Ci0gICAgICAgICAgICAgZm10 LT50cmFuc2ZlciA9IFRSQU5TRkVSX0ZVTkNfU01QVEVfU1QyMDg0OwotICAgICAgICAgICAgIGJy ZWFrOwotQEAgLTY4Nyw3ICs2ODcsNyBAQCBzdGF0aWMgaW50IGZmbXBlZ19PcGVuVmEoZGVjb2Rl cl90ICpwX2RlYywgQVZDb2RlY0NvbnRleHQgKnBfY29udGV4dCwKLSBzdGF0aWMgY29uc3QgZW51 bSBQaXhlbEZvcm1hdCBod2ZtdHNbXSA9Ci0gewotICNpZmRlZiBfV0lOMzIKLS0jaWYgTElCQVZV VElMX1ZFUlNJT05fQ0hFQ0soNTQsIDEzLCAxLCAyNCwgMTAwKQotKyNpZiBMSUJBVl9VVElMX1ZF UlNJT05fQ0hFQ0soNTQsIDEzLCAxLCAyNCwgMTAwKQotICAgICBBVl9QSVhfRk1UX0QzRDExVkFf VkxELAotICNlbmRpZgotICAgICBBVl9QSVhfRk1UX0RYVkEyX1ZMRCwKLS0tIAotR2l0TGFiCi0K LQotRnJvbSA1ZWZhY2EzOTNiNzM4OGQ2MjliYmE5MjAxMjdlYjU0NjUzMjVjNDM2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQotRnJvbTogU3RldmUgTGhvbW1lIDxyb2J1eDRAeWNiY3IueHl6Pgot RGF0ZTogV2VkLCAxOSBKdW4gMjAyNCAxMzo1NjozMSArMDIwMAotU3ViamVjdDogW1BBVENIIDAy LzE1XSBhdmNvbW1vbjogdXNlIGEgc3BlY2lmaWMgbWFjcm8gdG8gY2hlY2sgdGhlIEZGbXBlZwot IGxpYmF2dXRpbCB2ZXJzaW9uCi0KLVRoaXMgbWFjcm8gZG9lc24ndCBjaGVjayBmb3IgbGliYXYg d2hpY2ggaXMgYXNzdW1lZCB0byBub3QgaGF2ZSB0byByZWxldmFudAotY29kZS4gVGhpcyBpcyB0 aGUgc2FtZSBtYWNybyBuYW1lIHVzZWQgaW4gVkxDIDQuMC4KLS0tLQotIG1vZHVsZXMvY29kZWMv YXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaCB8IDYgKysrKystCi0gbW9kdWxlcy9jb2RlYy9hdmNv ZGVjL2Nocm9tYS5jICAgICAgICAgIHwgOCArKysrLS0tLQotIG1vZHVsZXMvY29kZWMvYXZjb2Rl Yy92aWRlby5jICAgICAgICAgICB8IDcgKysrKy0tLQotIDMgZmlsZXMgY2hhbmdlZCwgMTMgaW5z ZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMv YXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaCBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1v bl9jb21wYXQuaAotaW5kZXggYmIyYjlhZTAzZTUuLjViYWRlOTNiM2M1IDEwMDY0NAotLS0tIGEv bW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uX2NvbXBhdC5oCi0rKysgYi9tb2R1bGVzL2Nv ZGVjL2F2Y29kZWMvYXZjb21tb25fY29tcGF0LmgKLUBAIC04Niw3ICs4NiwxMSBAQAotICNpZmRl ZiBIQVZFX0xJQkFWVVRJTF9BVlVUSUxfSAotICMgaW5jbHVkZSA8bGliYXZ1dGlsL2F2dXRpbC5o PgotIAotLS8qIExJQkFWX1VUSUxfVkVSU0lPTl9DSEVDSyBjaGVja3MgZm9yIHRoZSByaWdodCB2 ZXJzaW9uIG9mIGxpYmF2IGFuZCBGRm1wZWcKLSsvKiBjaGVjayB0aGUgRkZtcGVnIGxpYmF2dXRp bCB2ZXJzaW9uICovCi0rI2RlZmluZSBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyggYSwgZCwgZSAp IFwKLSsgICAgKExJQkFWVVRJTF9WRVJTSU9OX01JQ1JPID49IDEwMCAmJiBMSUJBVlVUSUxfVkVS U0lPTl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQoIGEsIGQsIGUgKSApCi0rCi0rLyogTElCQVZfVVRJ TF9WRVJTSU9OX0NIRUNLIGNoZWNrcyBmb3IgdGhlIHJpZ2h0IGxpYmF2dXRpbCB2ZXJzaW9uIG9m IGxpYmF2IGFuZCBGRm1wZWcKLSAgKiBhIGlzIHRoZSBtYWpvciB2ZXJzaW9uCi0gICogYiBhbmQg YyB0aGUgbWlub3IgYW5kIG1pY3JvIHZlcnNpb25zIG9mIGxpYmF2Ci0gICogZCBhbmQgZSB0aGUg bWlub3IgYW5kIG1pY3JvIHZlcnNpb25zIG9mIEZGbXBlZyAqLwotZGlmZiAtLWdpdCBhL21vZHVs ZXMvY29kZWMvYXZjb2RlYy9jaHJvbWEuYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9jaHJvbWEu YwotaW5kZXggZGEyMGJjYjEwYjMuLjE1NmZiMGJlZWM4IDEwMDY0NAotLS0tIGEvbW9kdWxlcy9j b2RlYy9hdmNvZGVjL2Nocm9tYS5jCi0rKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvY2hyb21h LmMKLUBAIC04Niw3ICs4Niw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QKLSAgICAge1ZMQ19DT0RF Q19JNDIwXzlCLCBBVl9QSVhfRk1UX1lVVjQyMFA5QkUsIDAsIDAsIDAgfSwKLSAgICAge1ZMQ19D T0RFQ19JNDIwXzEwTCwgQVZfUElYX0ZNVF9ZVVY0MjBQMTBMRSwgMCwgMCwgMCB9LAotICAgICB7 VkxDX0NPREVDX0k0MjBfMTBCLCBBVl9QSVhfRk1UX1lVVjQyMFAxMEJFLCAwLCAwLCAwIH0sCi0t I2lmIChMSUJBVlVUSUxfVkVSU0lPTl9NSUNSTyA+PSAxMDAgJiYgTElCQVZVVElMX1ZFUlNJT05f SU5UID49IEFWX1ZFUlNJT05fSU5UKCA1NCwgMTcsIDEwMCApICkKLSsjaWYgTElCQVZVVElMX1ZF UlNJT05fQ0hFQ0soIDU0LCAxNywgMTAwICkKLSAgICAge1ZMQ19DT0RFQ19JNDIwXzEyTCwgQVZf UElYX0ZNVF9ZVVY0MjBQMTJMRSwgMCwgMCwgMCB9LAotICAgICB7VkxDX0NPREVDX0k0MjBfMTJC LCBBVl9QSVhfRk1UX1lVVjQyMFAxMkJFLCAwLCAwLCAwIH0sCi0gI2VuZGlmCi1AQCAtMTAwLDcg KzEwMCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QKLSAgICAge1ZMQ19DT0RFQ19JNDIyXzlCLCBB Vl9QSVhfRk1UX1lVVjQyMlA5QkUsIDAsIDAsIDAgfSwKLSAgICAge1ZMQ19DT0RFQ19JNDIyXzEw TCwgQVZfUElYX0ZNVF9ZVVY0MjJQMTBMRSwgMCwgMCwgMCB9LAotICAgICB7VkxDX0NPREVDX0k0 MjJfMTBCLCBBVl9QSVhfRk1UX1lVVjQyMlAxMEJFLCAwLCAwLCAwIH0sCi0tI2lmIChMSUJBVlVU SUxfVkVSU0lPTl9NSUNSTyA+PSAxMDAgJiYgTElCQVZVVElMX1ZFUlNJT05fSU5UID49IEFWX1ZF UlNJT05fSU5UKCA1NCwgMTcsIDEwMCApICkKLSsjaWYgTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0so IDU0LCAxNywgMTAwICkKLSAgICAge1ZMQ19DT0RFQ19JNDIyXzEyTCwgQVZfUElYX0ZNVF9ZVVY0 MjJQMTJMRSwgMCwgMCwgMCB9LAotICAgICB7VkxDX0NPREVDX0k0MjJfMTJCLCBBVl9QSVhfRk1U X1lVVjQyMlAxMkJFLCAwLCAwLCAwIH0sCi0gI2VuZGlmCi1AQCAtMTE2LDcgKzExNiw3IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QKLSAgICAge1ZMQ19DT0RFQ19JNDQ0XzlCLCBBVl9QSVhfRk1UX1lV VjQ0NFA5QkUsIDAsIDAsIDAgfSwKLSAgICAge1ZMQ19DT0RFQ19JNDQ0XzEwTCwgQVZfUElYX0ZN VF9ZVVY0NDRQMTBMRSwgMCwgMCwgMCB9LAotICAgICB7VkxDX0NPREVDX0k0NDRfMTBCLCBBVl9Q SVhfRk1UX1lVVjQ0NFAxMEJFLCAwLCAwLCAwIH0sCi0tI2lmIChMSUJBVlVUSUxfVkVSU0lPTl9N SUNSTyA+PSAxMDAgJiYgTElCQVZVVElMX1ZFUlNJT05fSU5UID49IEFWX1ZFUlNJT05fSU5UKCA1 NCwgMTcsIDEwMCApICkKLSsjaWYgTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soIDU0LCAxNywgMTAw ICkKLSAgICAge1ZMQ19DT0RFQ19JNDQ0XzEyTCwgQVZfUElYX0ZNVF9ZVVY0NDRQMTJMRSwgMCwg MCwgMCB9LAotICAgICB7VkxDX0NPREVDX0k0NDRfMTJCLCBBVl9QSVhfRk1UX1lVVjQ0NFAxMkJF LCAwLCAwLCAwIH0sCi0gI2VuZGlmCi1AQCAtMTQ1LDcgKzE0NSw3IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QKLSAgICAgVkxDX1JHQiggVkxDX0NPREVDX1JHQjMyLCBBVl9QSVhfRk1UXzBCR1IzMiwg QVZfUElYX0ZNVF8wUkdCMzIsIDB4MDAwMDAwZmYsIDB4MDAwMGZmMDAsIDB4MDBmZjAwMDAgKQot ICNlbmRpZgotIAotLSNpZiAoTElCQVZVVElMX1ZFUlNJT05fTUlDUk8gPT0gMCB8fCBMSUJBVlVU SUxfVkVSU0lPTl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQoIDU1LCAwLCAxMDAgKSApCi0rI2lmIChM SUJBVlVUSUxfVkVSU0lPTl9NSUNSTyA9PSAwIHx8IExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKCA1 NSwgMCwgMTAwICkgKQotICNpZmRlZiBXT1JEU19CSUdFTkRJQU4KLSAgICAge1ZMQ19DT0RFQ19S R0JBNjQsIEFWX1BJWF9GTVRfUkdCQTY0QkUsIDAsIDAsIDAgfSwKLSAjZWxzZSAvKiAhV09SRFNf QklHRU5ESUFOICovCi1kaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZpZGVvLmMg Yi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYwotaW5kZXggZGVlZmQzMDc2YTkuLmQzMjg0 ZGE4YWVkIDEwMDY0NAotLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZpZGVvLmMKLSsrKyBi L21vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jCi1AQCAtMzksNyArMzksOCBAQAotICNpbmNs dWRlIDxsaWJhdmNvZGVjL2F2Y29kZWMuaD4KLSAjaW5jbHVkZSA8bGliYXZ1dGlsL21lbS5oPgot ICNpbmNsdWRlIDxsaWJhdnV0aWwvcGl4ZGVzYy5oPgotLSNpZiAoTElCQVZVVElMX1ZFUlNJT05f TUlDUk8gPj0gMTAwICYmIExJQkFWVVRJTF9WRVJTSU9OX0lOVCA+PSBBVl9WRVJTSU9OX0lOVCgg NTUsIDE2LCAxMDEgKSApCi0rI2luY2x1ZGUgImF2Y29tbW9uX2NvbXBhdC5oIgotKyNpZiBMSUJB VlVUSUxfVkVSU0lPTl9DSEVDSyggNTUsIDE2LCAxMDEgKQotICNpbmNsdWRlIDxsaWJhdnV0aWwv bWFzdGVyaW5nX2Rpc3BsYXlfbWV0YWRhdGEuaD4KLSAjZW5kaWYKLSAKLUBAIC05OTUsNyArOTk2 LDcgQEAgc3RhdGljIGludCBEZWNvZGVTaWRlZGF0YSggZGVjb2Rlcl90ICpwX2RlYywgY29uc3Qg QVZGcmFtZSAqZnJhbWUsIHBpY3R1cmVfdCAqcF8KLSAgICAgZGVjb2Rlcl9zeXNfdCAqcF9zeXMg PSBwX2RlYy0+cF9zeXM7Ci0gICAgIGJvb2wgZm9ybWF0X2NoYW5nZWQgPSBmYWxzZTsKLSAKLS0j aWYgKExJQkFWVVRJTF9WRVJTSU9OX01JQ1JPID49IDEwMCAmJiBMSUJBVlVUSUxfVkVSU0lPTl9J TlQgPj0gQVZfVkVSU0lPTl9JTlQoIDU1LCAxNiwgMTAxICkgKQotKyNpZiBMSUJBVlVUSUxfVkVS U0lPTl9DSEVDSyggNTUsIDE2LCAxMDEgKQotICNkZWZpbmUgRlJPTV9BVlJBVChkZWZhdWx0X2Zh Y3RvciwgYXZyYXQpIFwKLSAodWludDY0X3QpKGRlZmF1bHRfZmFjdG9yKSAqIChhdnJhdCkubnVt IC8gKGF2cmF0KS5kZW4KLSAgICAgY29uc3QgQVZGcmFtZVNpZGVEYXRhICptZXRhZGF0YSA9Ci1A QCAtMTA1MCw3ICsxMDUxLDcgQEAgc3RhdGljIGludCBEZWNvZGVTaWRlZGF0YSggZGVjb2Rlcl90 ICpwX2RlYywgY29uc3QgQVZGcmFtZSAqZnJhbWUsIHBpY3R1cmVfdCAqcF8KLSAjdW5kZWYgRlJP TV9BVlJBVAotICAgICB9Ci0gI2VuZGlmCi0tI2lmIChMSUJBVlVUSUxfVkVSU0lPTl9NSUNSTyA+ PSAxMDAgJiYgTElCQVZVVElMX1ZFUlNJT05fSU5UID49IEFWX1ZFUlNJT05fSU5UKCA1NSwgNjAs IDEwMCApICkKLSsjaWYgTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soIDU1LCA2MCwgMTAwICkKLSAg ICAgY29uc3QgQVZGcmFtZVNpZGVEYXRhICptZXRhZGF0YV9sdCA9Ci0gICAgICAgICAgICAgYXZf ZnJhbWVfZ2V0X3NpZGVfZGF0YSggZnJhbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgQVZfRlJBTUVfREFUQV9DT05URU5UX0xJR0hUX0xFVkVMICk7Ci0tLSAKLUdpdExh YgotCi0KLUZyb20gNTU0YTk3YWIzM2NkNjgwYjYwNzMxZWM4NWZkOTEyMjMyOTI5MTcyNSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0ZXZlIExob21tZSA8cm9idXg0QHljYmNyLnh5 ej4KLURhdGU6IFRodSwgNyBOb3YgMjAyNCAwNzoyMjoyNiArMDEwMAotU3ViamVjdDogW1BBVENI IDAzLzE1XSBhdmNvbW1vbjogcmVuYW1lIExJQkFWRk9STUFUX1ZFUlNJT05fQ0hFQ0sgdG8KLSBM SUJBVl9GT1JNQVRfVkVSU0lPTl9DSEVDSwotCi1UaGUgTElCQVZGT1JNQVRfVkVSU0lPTl9DSEVD SyBmb3JtIHdpbGwgYmUgZm9yIGNoZWNrcyBhbHNvIGRvbmUgaW4gNC4wLgotCi1ObyBmdW5jdGlv bmFsIGNoYW5nZXMuCi0tLS0KLSBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb25fY29tcGF0 LmggfCAgMiArLQotIG1vZHVsZXMvZGVtdXgvYXZmb3JtYXQvbXV4LmMgICAgICAgICAgICB8IDEw ICsrKysrLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlv bnMoLSkKLQotZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21w YXQuaCBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaAotaW5kZXggNWJh ZGU5M2IzYzUuLmQwMDk2YmMxYmJiIDEwMDY0NAotLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVj L2F2Y29tbW9uX2NvbXBhdC5oCi0rKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb25f Y29tcGF0LmgKLUBAIC0xMjYsNyArMTI2LDcgQEAKLSAjaWZkZWYgSEFWRV9MSUJBVkZPUk1BVF9B VkZPUk1BVF9ICi0gIyBpbmNsdWRlIDxsaWJhdmZvcm1hdC9hdmZvcm1hdC5oPgotIAotLSNkZWZp bmUgTElCQVZGT1JNQVRfVkVSU0lPTl9DSEVDSyggYSwgYiwgYywgZCwgZSApIFwKLSsjZGVmaW5l IExJQkFWX0ZPUk1BVF9WRVJTSU9OX0NIRUNLKCBhLCBiLCBjLCBkLCBlICkgXAotICAgICAoIChM SUJBVkZPUk1BVF9WRVJTSU9OX01JQ1JPIDwgIDEwMCAmJiBMSUJBVkZPUk1BVF9WRVJTSU9OX0lO VCA+PSBBVl9WRVJTSU9OX0lOVCggYSwgYiwgYyApICkgfHwgXAotICAgICAgIChMSUJBVkZPUk1B VF9WRVJTSU9OX01JQ1JPID49IDEwMCAmJiBMSUJBVkZPUk1BVF9WRVJTSU9OX0lOVCA+PSBBVl9W RVJTSU9OX0lOVCggYSwgZCwgZSApICkgKQotIAotZGlmZiAtLWdpdCBhL21vZHVsZXMvZGVtdXgv YXZmb3JtYXQvbXV4LmMgYi9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jCi1pbmRleCAwMzNh ODdiZGFhYS4uMTgyZTk0NTg3YWQgMTAwNjQ0Ci0tLS0gYS9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0 L211eC5jCi0rKysgYi9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jCi1AQCAtNjEsNyArNjEs NyBAQCBzdHJ1Y3Qgc291dF9tdXhfc3lzX3QKLSAgICAgYm9vbCAgICAgYl93cml0ZV9oZWFkZXI7 Ci0gICAgIGJvb2wgICAgIGJfd3JpdGVfa2V5ZnJhbWU7Ci0gICAgIGJvb2wgICAgIGJfZXJyb3I7 Ci0tI2lmIExJQkFWRk9STUFUX1ZFUlNJT05fQ0hFQ0soIDU3LCA3LCAwLCA0MCwgMTAwICkKLSsj aWYgTElCQVZfRk9STUFUX1ZFUlNJT05fQ0hFQ0soIDU3LCA3LCAwLCA0MCwgMTAwICkKLSAgICAg Ym9vbCAgICAgYl9oZWFkZXJfZG9uZTsKLSAjZW5kaWYKLSB9OwotQEAgLTgwLDcgKzgwLDcgQEAg c3RhdGljIGludCBJT1dyaXRlKCB2b2lkICpvcGFxdWUsIHVpbnQ4X3QgKmJ1ZiwgaW50IGJ1Zl9z aXplICk7Ci0gc3RhdGljIGludCBJT1dyaXRlKCB2b2lkICpvcGFxdWUsIGNvbnN0IHVpbnQ4X3Qg KmJ1ZiwgaW50IGJ1Zl9zaXplICk7Ci0gI2VuZGlmCi0gc3RhdGljIGludDY0X3QgSU9TZWVrKCB2 b2lkICpvcGFxdWUsIGludDY0X3Qgb2Zmc2V0LCBpbnQgd2hlbmNlICk7Ci0tI2lmIExJQkFWRk9S TUFUX1ZFUlNJT05fQ0hFQ0soIDU3LCA3LCAwLCA0MCwgMTAwICkKLSsjaWYgTElCQVZfRk9STUFU X1ZFUlNJT05fQ0hFQ0soIDU3LCA3LCAwLCA0MCwgMTAwICkKLSAjIGlmIEZGX0FQSV9BVklPX1dS SVRFX05PTkNPTlNUCi0gc3RhdGljIGludCBJT1dyaXRlVHlwZWQodm9pZCAqb3BhcXVlLCB1aW50 OF90ICpidWYsIGludCBidWZfc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBl bnVtIEFWSU9EYXRhTWFya2VyVHlwZSB0eXBlLCBpbnQ2NF90IHRpbWUpOwotQEAgLTE2OCw3ICsx NjgsNyBAQCBpbnQgYXZmb3JtYXRfT3Blbk11eCggdmxjX29iamVjdF90ICpwX3RoaXMgKQotICAg ICBwX3N5cy0+Yl93cml0ZV9oZWFkZXIgPSB0cnVlOwotICAgICBwX3N5cy0+Yl93cml0ZV9rZXlm cmFtZSA9IGZhbHNlOwotICAgICBwX3N5cy0+Yl9lcnJvciA9IGZhbHNlOwotLSNpZiBMSUJBVkZP Uk1BVF9WRVJTSU9OX0NIRUNLKCA1NywgNywgMCwgNDAsIDEwMCApCi0rI2lmIExJQkFWX0ZPUk1B VF9WRVJTSU9OX0NIRUNLKCA1NywgNywgMCwgNDAsIDEwMCApCi0gICAgIHBfc3lzLT5pby0+d3Jp dGVfZGF0YV90eXBlID0gSU9Xcml0ZVR5cGVkOwotICAgICBwX3N5cy0+Yl9oZWFkZXJfZG9uZSA9 IGZhbHNlOwotICNlbmRpZgotQEAgLTQxOSw3ICs0MTksNyBAQCBzdGF0aWMgaW50IE11eEJsb2Nr KCBzb3V0X211eF90ICpwX211eCwgc291dF9pbnB1dF90ICpwX2lucHV0ICkKLSAgICAgcmV0dXJu IFZMQ19TVUNDRVNTOwotIH0KLSAKLS0jaWYgTElCQVZGT1JNQVRfVkVSU0lPTl9DSEVDSyggNTcs IDcsIDAsIDQwLCAxMDAgKQotKyNpZiBMSUJBVl9GT1JNQVRfVkVSU0lPTl9DSEVDSyggNTcsIDcs IDAsIDQwLCAxMDAgKQotICMgaWYgRkZfQVBJX0FWSU9fV1JJVEVfTk9OQ09OU1QKLSBpbnQgSU9X cml0ZVR5cGVkKHZvaWQgKm9wYXF1ZSwgdWludDhfdCAqYnVmLCBpbnQgYnVmX3NpemUsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBBVklPRGF0YU1hcmtlclR5cGUgdHlwZSwg aW50NjRfdCB0aW1lKQotQEAgLTU0NSw3ICs1NDUsNyBAQCBzdGF0aWMgaW50IElPV3JpdGUoIHZv aWQgKm9wYXF1ZSwgY29uc3QgdWludDhfdCAqYnVmLCBpbnQgYnVmX3NpemUgKQotIAotICAgICBp ZiggcF9zeXMtPmJfd3JpdGVfaGVhZGVyICkKLSAgICAgICAgIHBfYnVmLT5pX2ZsYWdzIHw9IEJM T0NLX0ZMQUdfSEVBREVSOwotLSNpZiBMSUJBVkZPUk1BVF9WRVJTSU9OX0NIRUNLKCA1NywgNywg MCwgNDAsIDEwMCApCi0rI2lmIExJQkFWX0ZPUk1BVF9WRVJTSU9OX0NIRUNLKCA1NywgNywgMCwg NDAsIDEwMCApCi0gICAgIGlmKCAhcF9zeXMtPmJfaGVhZGVyX2RvbmUgKQotICAgICAgICAgcF9i dWYtPmlfZmxhZ3MgfD0gQkxPQ0tfRkxBR19IRUFERVI7Ci0gI2VuZGlmCi0tLSAKLUdpdExhYgot Ci0KLUZyb20gZDQwNmEzMTI3NjM1YWZjYmEyNDM2Y2JjOWNiYjNlZmJkYzgyNjMzMSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0ZXZlIExob21tZSA8cm9idXg0QHljYmNyLnh5ej4K LURhdGU6IFdlZCwgMTkgSnVuIDIwMjQgMTM6NTc6MjQgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAw NC8xNV0gYXZjb21tb246IHVzZSBhIHNwZWNpZmljIG1hY3JvIHRvIGNoZWNrIHRoZSBGRm1wZWcK LSBsaWJhdmZvcm1hdCB2ZXJzaW9uCi0KLVRoaXMgbWFjcm8gZG9lc24ndCBjaGVjayBmb3IgbGli YXYgd2hpY2ggaXMgYXNzdW1lZCB0byBub3QgaGF2ZSB0byByZWxldmFudAotY29kZS4gVGhpcyBp cyB0aGUgc2FtZSBtYWNybyBuYW1lIHVzZWQgaW4gVkxDIDQuMC4KLS0tLQotIG1vZHVsZXMvY29k ZWMvYXZjb2RlYy9hdmNvbW1vbi5oICAgICAgICB8ICAyICstCi0gbW9kdWxlcy9jb2RlYy9hdmNv ZGVjL2F2Y29tbW9uX2NvbXBhdC5oIHwgIDggKysrKysrKysKLSBtb2R1bGVzL2RlbXV4L2F2Zm9y bWF0L2RlbXV4LmMgICAgICAgICAgfCAgMyArLS0KLSBtb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211 eC5jICAgICAgICAgICAgfCAxMSArKysrLS0tLS0tLQotIDQgZmlsZXMgY2hhbmdlZCwgMTQgaW5z ZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVj L2F2Y29kZWMvYXZjb21tb24uaCBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbi5oCi1p bmRleCBmZjVkYmEwNmM5Mi4uYWEwYzBiODhiODUgMTAwNjQ0Ci0tLS0gYS9tb2R1bGVzL2NvZGVj L2F2Y29kZWMvYXZjb21tb24uaAotKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9u LmgKLUBAIC0xMDYsNyArMTA2LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIHZsY19pbml0X2F2Zm9y bWF0KHZsY19vYmplY3RfdCAqb2JqKQotIAotICAgICBhdmZvcm1hdF9uZXR3b3JrX2luaXQoKTsK LSAKLS0jaWYgKExJQkFWRk9STUFUX1ZFUlNJT05fTUlDUk8gPCAxMDApIHx8IChMSUJBVkZPUk1B VF9WRVJTSU9OX0lOVCA8IEFWX1ZFUlNJT05fSU5UKDU4LCA5LCAxMDApKQotKyNpZiAoTElCQVZG T1JNQVRfVkVSU0lPTl9NSUNSTyA8IDEwMCkgfHwgIShMSUJBVkZPUk1BVF9WRVJTSU9OX0NIRUNL KDU4LCA5LCAxMDApKQotICAgICBhdl9yZWdpc3Rlcl9hbGwoKTsKLSAjZW5kaWYKLSAKLWRpZmYg LS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb25fY29tcGF0LmggYi9tb2R1bGVz L2NvZGVjL2F2Y29kZWMvYXZjb21tb25fY29tcGF0LmgKLWluZGV4IGQwMDk2YmMxYmJiLi4zZmVh YjNhNjU3ZSAxMDA2NDQKLS0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21w YXQuaAotKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uX2NvbXBhdC5oCi1AQCAt MTI2LDYgKzEyNiwxNCBAQAotICNpZmRlZiBIQVZFX0xJQkFWRk9STUFUX0FWRk9STUFUX0gKLSAj IGluY2x1ZGUgPGxpYmF2Zm9ybWF0L2F2Zm9ybWF0Lmg+Ci0gCi0rLyogY2hlY2sgdGhlIEZGbXBl ZyBsaWJhdmZvcm1hdCB2ZXJzaW9uICovCi0rI2RlZmluZSBMSUJBVkZPUk1BVF9WRVJTSU9OX0NI RUNLKCBhLCBkLCBlICkgXAotKyAgICAoTElCQVZGT1JNQVRfVkVSU0lPTl9NSUNSTyA+PSAxMDAg JiYgTElCQVZGT1JNQVRfVkVSU0lPTl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQoIGEsIGQsIGUgKSAp Ci0rCi0rLyogTElCQVZfRk9STUFUX1ZFUlNJT05fQ0hFQ0sgY2hlY2tzIGZvciB0aGUgcmlnaHQg bGliYXZmb3JtYXQgdmVyc2lvbiBvZiBsaWJhdiBhbmQgRkZtcGVnCi0rICogYSBpcyB0aGUgbWFq b3IgdmVyc2lvbgotKyAqIGIgYW5kIGMgdGhlIG1pbm9yIGFuZCBtaWNybyB2ZXJzaW9ucyBvZiBs aWJhdgotKyAqIGQgYW5kIGUgdGhlIG1pbm9yIGFuZCBtaWNybyB2ZXJzaW9ucyBvZiBGRm1wZWcg Ki8KLSAjZGVmaW5lIExJQkFWX0ZPUk1BVF9WRVJTSU9OX0NIRUNLKCBhLCBiLCBjLCBkLCBlICkg XAotICAgICAoIChMSUJBVkZPUk1BVF9WRVJTSU9OX01JQ1JPIDwgIDEwMCAmJiBMSUJBVkZPUk1B VF9WRVJTSU9OX0lOVCA+PSBBVl9WRVJTSU9OX0lOVCggYSwgYiwgYyApICkgfHwgXAotICAgICAg IChMSUJBVkZPUk1BVF9WRVJTSU9OX01JQ1JPID49IDEwMCAmJiBMSUJBVkZPUk1BVF9WRVJTSU9O X0lOVCA+PSBBVl9WRVJTSU9OX0lOVCggYSwgZCwgZSApICkgKQotZGlmZiAtLWdpdCBhL21vZHVs ZXMvZGVtdXgvYXZmb3JtYXQvZGVtdXguYyBiL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvZGVtdXgu YwotaW5kZXggODMwZGMwMTU3ZTIuLjM5ZDIzNjZjZWYyIDEwMDY0NAotLS0tIGEvbW9kdWxlcy9k ZW11eC9hdmZvcm1hdC9kZW11eC5jCi0rKysgYi9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L2RlbXV4 LmMKLUBAIC01Miw4ICs1Miw3IEBACi0gCi0gIyBkZWZpbmUgSEFWRV9BVlVUSUxfQ09ERUNfQVRU QUNITUVOVCAxCi0gCi0tI2lmIExJQkFWRk9STUFUX1ZFUlNJT05fTUlDUk8gPj0gMTAwICYmIFwK LS0gICAgTElCQVZGT1JNQVRfVkVSU0lPTl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQoNTksIDAsIDEw MCkKLSsjaWYgTElCQVZGT1JNQVRfVkVSU0lPTl9DSEVDSyg1OSwgMCwgMTAwKQotICMgZGVmaW5l IEFWRl9NQVlCRV9DT05TVCBjb25zdAotICNlbHNlCi0gIyBkZWZpbmUgQVZGX01BWUJFX0NPTlNU Ci1kaWZmIC0tZ2l0IGEvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYyBiL21vZHVsZXMvZGVt dXgvYXZmb3JtYXQvbXV4LmMKLWluZGV4IDE4MmU5NDU4N2FkLi42NjRhNjQ2NzM0YyAxMDA2NDQK LS0tLSBhL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvbXV4LmMKLSsrKyBiL21vZHVsZXMvZGVtdXgv YXZmb3JtYXQvbXV4LmMKLUBAIC05NSw4ICs5NSw3IEBAIGludCBJT1dyaXRlVHlwZWQodm9pZCAq b3BhcXVlLCBjb25zdCB1aW50OF90ICpidWYsIGludCBidWZfc2l6ZSwKLSAgKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKiovCi0gaW50IGF2Zm9ybWF0X09wZW5NdXgoIHZsY19vYmplY3RfdCAqcF90aGlzICkK LSB7Ci0tI2lmIExJQkFWRk9STUFUX1ZFUlNJT05fTUlDUk8gPj0gMTAwICYmIFwKLS0gICAgTElC QVZGT1JNQVRfVkVSU0lPTl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQoNTksIDAsIDEwMCkKLSsjaWYg TElCQVZGT1JNQVRfVkVSU0lPTl9DSEVDSyg1OSwgMCwgMTAwKQotICAgICBjb25zdCBBVk91dHB1 dEZvcm1hdCAqZmlsZV9vZm9ybWF0OwotICNlbHNlCi0gICAgIEFWT3V0cHV0Rm9ybWF0ICpmaWxl X29mb3JtYXQ7Ci1AQCAtMTA0LDggKzEwMyw3IEBAIGludCBhdmZvcm1hdF9PcGVuTXV4KCB2bGNf b2JqZWN0X3QgKnBfdGhpcyApCi0gICAgIHNvdXRfbXV4X3QgKnBfbXV4ID0gKHNvdXRfbXV4X3Qq KXBfdGhpczsKLSAgICAgYm9vbCBkdW1teSA9ICFzdHJjbXAoIHBfbXV4LT5wX2FjY2Vzcy0+cHN6 X2FjY2VzcywgImR1bW15Iik7Ci0gCi0tI2lmICggKExJQkFWRk9STUFUX1ZFUlNJT05fTUlDUk8g Pj0gMTAwKSBcCi0tICAgICAgJiYgKExJQkFWRk9STUFUX1ZFUlNJT05fSU5UIDwgQVZfVkVSU0lP Tl9JTlQoNTgsIDcsIDEwMCkpICkKLSsjaWYgTElCQVZGT1JNQVRfVkVSU0lPTl9NSUNSTyA+PSAx MDAgJiYgIShMSUJBVkZPUk1BVF9WRVJTSU9OX0NIRUNLKDU4LCA3LCAxMDApKQotICAgICBpZigg ZHVtbXkgJiYgc3RybGVuKHBfbXV4LT5wX2FjY2Vzcy0+cHN6X3BhdGgpCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPj0gc2l6ZW9mICgoKEFWRm9ybWF0Q29udGV4dCAqKU5VTEwpLT5m aWxlbmFtZSkgKQotICAgICAgICAgcmV0dXJuIFZMQ19FR0VORVJJQzsKLUBAIC0xNDQsOCArMTQy LDcgQEAgaW50IGF2Zm9ybWF0X09wZW5NdXgoIHZsY19vYmplY3RfdCAqcF90aGlzICkKLSAgICAg cF9zeXMtPm9jLT5vZm9ybWF0ID0gZmlsZV9vZm9ybWF0OwotICAgICAvKiBJZiB3ZSB1c2UgZHVt bXkgYWNjZXNzLCBsZXQgYXZmb3JtYXQgd3JpdGUgb3V0cHV0ICovCi0gICAgIGlmKCBkdW1teSAp Ci0tI2lmICggKExJQkFWRk9STUFUX1ZFUlNJT05fTUlDUk8gPj0gMTAwKSBcCi0tICAgICAgJiYg KExJQkFWRk9STUFUX1ZFUlNJT05fSU5UID49IEFWX1ZFUlNJT05fSU5UKDU4LCA3LCAxMDApKSAp Ci0rI2lmIExJQkFWRk9STUFUX1ZFUlNJT05fQ0hFQ0soNTgsIDcsIDEwMCkKLSAgICAgICAgIHBf c3lzLT5vYy0+dXJsID0gYXZfc3RyZHVwKHBfbXV4LT5wX2FjY2Vzcy0+cHN6X3BhdGgpOwotICNl bHNlCi0gICAgICAgICBzdHJjcHkoIHBfc3lzLT5vYy0+ZmlsZW5hbWUsIHBfbXV4LT5wX2FjY2Vz cy0+cHN6X3BhdGggKTsKLUBAIC0zOTcsNyArMzk0LDcgQEAgc3RhdGljIGludCBNdXhCbG9jaygg c291dF9tdXhfdCAqcF9tdXgsIHNvdXRfaW5wdXRfdCAqcF9pbnB1dCApCi0gICAgICAgICBwa3Qt PmR0cyA9IHBfZGF0YS0+aV9kdHMgKiBwX3N0cmVhbS0+dGltZV9iYXNlLmRlbiAvCi0gICAgICAg ICAgICAgQ0xPQ0tfRlJFUSAvIHBfc3RyZWFtLT50aW1lX2Jhc2UubnVtOwotIAotLSNpZiBMSUJB VkZPUk1BVF9WRVJTSU9OX01JQ1JPID49IDEwMCAmJiBMSUJBVkZPUk1BVF9WRVJTSU9OX0lOVCA8 IEFWX1ZFUlNJT05fSU5UKDU5LCAyLCAxMDMpCi0rI2lmIExJQkFWRk9STUFUX1ZFUlNJT05fTUlD Uk8gPj0gMTAwICYmICEoTElCQVZGT1JNQVRfVkVSU0lPTl9DSEVDSyg1OSwgMiwgMTAzKSkKLSAg ICAgLyogdGhpcyBpcyBhbm90aGVyIGhhY2sgdG8gcHJldmVudCBsaWJhdmZvcm1hdCBmcm9tIHRy aWdnZXJpbmcgdGhlICJub24gbW9ub3RvbmUgdGltZXN0YW1wcyIgY2hlY2sgaW4gYXZmb3JtYXQv dXRpbHMuYyAqLwotICAgICBwX3N0cmVhbS0+Y3VyX2R0cyA9ICggcF9kYXRhLT5pX2R0cyAqIHBf c3RyZWFtLT50aW1lX2Jhc2UuZGVuIC8KLSAgICAgICAgICAgICBDTE9DS19GUkVRIC8gcF9zdHJl YW0tPnRpbWVfYmFzZS5udW0gKSAtIDE7Ci0tLSAKLUdpdExhYgotCi0KLUZyb20gOTMwZGRjMGQw ZmVjNTVmZmY2YzJlZDBmZmNjOTA0NzczYmFlNjYyMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK LUZyb206IFN0ZXZlIExob21tZSA8cm9idXg0QHljYmNyLnh5ej4KLURhdGU6IFRodSwgNyBOb3Yg MjAyNCAwNzoyMzoyNyArMDEwMAotU3ViamVjdDogW1BBVENIIDA1LzE1XSBhdmNvbW1vbjogcmVu YW1lIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyB0bwotIExJQkFWX0NPREVDX1ZFUlNJT05fQ0hF Q0sKLQotVGhlIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyBmb3JtIHdpbGwgYmUgZm9yIGNoZWNr cyBhbHNvIGRvbmUgaW4gNC4wLgotCi1ObyBmdW5jdGlvbmFsIGNoYW5nZXMuCi0tLS0KLSBtb2R1 bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYyAgICAgICAgICAgfCAgOCArKysrLS0tLQotIG1vZHVs ZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaCB8ICA0ICsrLS0KLSBtb2R1bGVzL2Nv ZGVjL2F2Y29kZWMvZDNkMTF2YS5jICAgICAgICAgfCAgNCArKy0tCi0gbW9kdWxlcy9jb2RlYy9h dmNvZGVjL2VuY29kZXIuYyAgICAgICAgIHwgMTAgKysrKystLS0tLQotIG1vZHVsZXMvY29kZWMv YXZjb2RlYy9mb3VyY2MuYyAgICAgICAgICB8IDE0ICsrKysrKystLS0tLS0tCi0gbW9kdWxlcy9j b2RlYy9hdmNvZGVjL3ZpZGVvLmMgICAgICAgICAgIHwgIDIgKy0KLSA2IGZpbGVzIGNoYW5nZWQs IDIxIGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbW9kdWxl cy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYwot aW5kZXggNDQzMzVlYzNjY2UuLjdhOTc5ZTk2ZTE5IDEwMDY0NAotLS0tIGEvbW9kdWxlcy9jb2Rl Yy9hdmNvZGVjL2F1ZGlvLmMKLSsrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCi1A QCAtMTQyLDcgKzE0Miw3IEBAIHN0YXRpYyBpbnQgT3BlbkF1ZGlvQ29kZWMoIGRlY29kZXJfdCAq cF9kZWMgKQotICAgICB9Ci0gCi0gICAgIGN0eC0+c2FtcGxlX3JhdGUgPSBwX2RlYy0+Zm10X2lu LmF1ZGlvLmlfcmF0ZTsKLS0jaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCA5OTksIDk5 OSwgMjQsIDEwMCkKLSsjaWYgTElCQVZfQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgOTk5LCA5OTks IDI0LCAxMDApCi0gICAgIGF2X2NoYW5uZWxfbGF5b3V0X2RlZmF1bHQoICZjdHgtPmNoX2xheW91 dCwgcF9kZWMtPmZtdF9pbi5hdWRpby5pX2NoYW5uZWxzICk7Ci0gI2Vsc2UKLSAgICAgY3R4LT5j aGFubmVscyA9IHBfZGVjLT5mbXRfaW4uYXVkaW8uaV9jaGFubmVsczsKLUBAIC00MDIsNyArNDAy LDcgQEAgc3RhdGljIGludCBEZWNvZGVCbG9jayggZGVjb2Rlcl90ICpwX2RlYywgYmxvY2tfdCAq KnBwX2Jsb2NrICkKLSAgICAgICAgIHJldCA9IGF2Y29kZWNfcmVjZWl2ZV9mcmFtZSggY3R4LCBm cmFtZSApOwotICAgICAgICAgaWYoIHJldCA9PSAwICkKLSAgICAgICAgIHsKLS0jaWYgTElCQVZD T0RFQ19WRVJTSU9OX0NIRUNLKDU5LCA5OTksIDk5OSwgMjQsIDEwMCkKLSsjaWYgTElCQVZfQ09E RUNfVkVSU0lPTl9DSEVDSyg1OSwgOTk5LCA5OTksIDI0LCAxMDApCi0gICAgICAgICAgICAgaW50 IGNoYW5uZWxzID0gZnJhbWUtPmNoX2xheW91dC5uYl9jaGFubmVsczsKLSAjZWxzZQotICAgICAg ICAgICAgIGludCBjaGFubmVscyA9IGN0eC0+Y2hhbm5lbHM7Ci1AQCAtNTkyLDcgKzU5Miw3IEBA IHN0YXRpYyB2b2lkIFNldHVwT3V0cHV0Rm9ybWF0KCBkZWNvZGVyX3QgKnBfZGVjLCBib29sIGJf dHJ1c3QgKQotICAgICBwX2RlYy0+Zm10X291dC5hdWRpby5pX3JhdGUgPSBwX3N5cy0+cF9jb250 ZXh0LT5zYW1wbGVfcmF0ZTsKLSAKLSAgICAgLyogKi8KLS0jaWYgTElCQVZDT0RFQ19WRVJTSU9O X0NIRUNLKDU5LCA5OTksIDk5OSwgMjQsIDEwMCkKLSsjaWYgTElCQVZfQ09ERUNfVkVSU0lPTl9D SEVDSyg1OSwgOTk5LCA5OTksIDI0LCAxMDApCi0gICAgIGlmKCBwX3N5cy0+aV9wcmV2aW91c19j aGFubmVscyA9PSBwX3N5cy0+cF9jb250ZXh0LT5jaF9sYXlvdXQubmJfY2hhbm5lbHMgJiYKLSAg ICAgICAgIHBfc3lzLT5pX3ByZXZpb3VzX2xheW91dCA9PSBwX3N5cy0+cF9jb250ZXh0LT5jaF9s YXlvdXQudS5tYXNrICkKLSAgICAgICAgIHJldHVybjsKLUBAIC02MTcsNyArNjE3LDcgQEAgc3Rh dGljIHZvaWQgU2V0dXBPdXRwdXRGb3JtYXQoIGRlY29kZXJfdCAqcF9kZWMsIGJvb2wgYl90cnVz dCApCi0gCi0gICAgIGludCBpX2NoYW5uZWxzX3NyYyA9IDAsIGNoYW5uZWxfY291bnQ7Ci0gICAg IHVpbnQ2NF90IGNoYW5uZWxfbGF5b3V0X21hc2s7Ci0tI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9D SEVDSyg1OSwgOTk5LCA5OTksIDI0LCAxMDApCi0rI2lmIExJQkFWX0NPREVDX1ZFUlNJT05fQ0hF Q0soNTksIDk5OSwgOTk5LCAyNCwgMTAwKQotICAgICBjaGFubmVsX2xheW91dF9tYXNrID0gcF9z eXMtPnBfY29udGV4dC0+Y2hfbGF5b3V0LnUubWFzazsKLSAgICAgY2hhbm5lbF9jb3VudCA9IHBf c3lzLT5wX2NvbnRleHQtPmNoX2xheW91dC5uYl9jaGFubmVsczsKLSAjZWxpZiBBUElfQ0hBTk5F TF9MQVlPVVQKLWRpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb25fY29t cGF0LmggYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb25fY29tcGF0LmgKLWluZGV4IDNm ZWFiM2E2NTdlLi5iNTA0ZmNkODIxOCAxMDA2NDQKLS0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2Rl Yy9hdmNvbW1vbl9jb21wYXQuaAotKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9u X2NvbXBhdC5oCi1AQCAtMzAsMTEgKzMwLDExIEBACi0gI2lmZGVmIEhBVkVfTElCQVZDT0RFQ19B VkNPREVDX0gKLSAjaW5jbHVkZSA8bGliYXZjb2RlYy9hdmNvZGVjLmg+Ci0gCi0tLyogTElCQVZD T0RFQ19WRVJTSU9OX0NIRUNLIGNoZWNrcyBmb3IgdGhlIHJpZ2h0IHZlcnNpb24gb2YgbGliYXYg YW5kIEZGbXBlZwotKy8qIExJQkFWX0NPREVDX1ZFUlNJT05fQ0hFQ0sgY2hlY2tzIGZvciB0aGUg cmlnaHQgdmVyc2lvbiBvZiBsaWJhdiBhbmQgRkZtcGVnCi0gICogYSBpcyB0aGUgbWFqb3IgdmVy c2lvbgotICAqIGIgYW5kIGMgdGhlIG1pbm9yIGFuZCBtaWNybyB2ZXJzaW9ucyBvZiBsaWJhdgot ICAqIGQgYW5kIGUgdGhlIG1pbm9yIGFuZCBtaWNybyB2ZXJzaW9ucyBvZiBGRm1wZWcgKi8KLS0j ZGVmaW5lIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyggYSwgYiwgYywgZCwgZSApIFwKLSsjZGVm aW5lIExJQkFWX0NPREVDX1ZFUlNJT05fQ0hFQ0soIGEsIGIsIGMsIGQsIGUgKSBcCi0gICAgICgg KExJQkFWQ09ERUNfVkVSU0lPTl9NSUNSTyA8ICAxMDAgJiYgTElCQVZDT0RFQ19WRVJTSU9OX0lO VCA+PSBBVl9WRVJTSU9OX0lOVCggYSwgYiwgYyApICkgfHwgXAotICAgICAgIChMSUJBVkNPREVD X1ZFUlNJT05fTUlDUk8gPj0gMTAwICYmIExJQkFWQ09ERUNfVkVSU0lPTl9JTlQgPj0gQVZfVkVS U0lPTl9JTlQoIGEsIGQsIGUgKSApICkKLSAKLWRpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2 Y29kZWMvZDNkMTF2YS5jIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2QzZDExdmEuYwotaW5kZXgg NTI2MDYyODM2NGYuLmUxYzEwZDMxMTg4IDEwMDY0NAotLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNv ZGVjL2QzZDExdmEuYwotKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2QzZDExdmEuYwotQEAg LTc2LDcgKzc2LDcgQEAgdmxjX21vZHVsZV9lbmQoKQotICAqIFNvIHdlIGdldCB0aGUgc3VyZmFj ZXMgZnJvbSB0aGUgZGVjb2RlciBwb29sIHdoZW4gbmVlZGVkLiBXZSBkb24ndCBuZWVkIHRvCi0g ICogZXh0cmFjdCB0aGUgZGVjb2RlZCBzdXJmYWNlIGludG8gdGhlIGRlY29kZXIgcGljdHVyZSBh bnltb3JlLgotICAqLwotLSNkZWZpbmUgRDNEMTFfRElSRUNUX0RFQ09ERSAgTElCQVZDT0RFQ19W RVJTSU9OX0NIRUNLKCA1NywgMzAsIDMsIDcyLCAxMDEgKQotKyNkZWZpbmUgRDNEMTFfRElSRUNU X0RFQ09ERSAgTElCQVZfQ09ERUNfVkVSU0lPTl9DSEVDSyggNTcsIDMwLCAzLCA3MiwgMTAxICkK LSAKLSAjaW5jbHVkZSA8aW5pdGd1aWQuaD4gLyogbXVzdCBiZSBsYXN0IGluY2x1ZGVkIHRvIG5v dCByZWRlZmluZSBleGlzdGluZyBHVUlEcyAqLwotIAotQEAgLTc2NCw3ICs3NjQsNyBAQCBzdGF0 aWMgaW50IER4Q3JlYXRlRGVjb2RlclN1cmZhY2VzKHZsY192YV90ICp2YSwgaW50IGNvZGVjX2lk LAotICAgICAgICAgICAgIGFzc2VydCh0ZXhEZXNjLkZvcm1hdCA9PSBzeXMtPnJlbmRlcik7Ci0g ICAgICAgICAgICAgYXNzZXJ0KHRleERlc2MuQmluZEZsYWdzICYgRDNEMTFfQklORF9ERUNPREVS KTsKLSAKLS0jaWYgIUxJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyggNTcsIDI3LCAyLCA2MSwgMTAy ICkKLSsjaWYgIUxJQkFWX0NPREVDX1ZFUlNJT05fQ0hFQ0soIDU3LCAyNywgMiwgNjEsIDEwMiAp Ci0gICAgICAgICAgICAgaWYgKHBpYy0+cF9zeXMtPnNsaWNlX2luZGV4ICE9IHN1cmZhY2VfaWR4 KQotICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgbXNnX1dhcm4odmEsICJkM2QxMXZh IHJlcXVpcmVzIGRlY29kaW5nIHNsaWNlcyB0byBiZSB0aGUgZmlyc3QgaW4gdGhlIHRleHR1cmUg KCVkLyVkKSIsCi1kaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYyBi L21vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMKLWluZGV4IGM5YTM0ZDhmMGRhLi45Y2Y5 YTdkMDYwNyAxMDA2NDQKLS0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMKLSsr KyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMKLUBAIC0xODMsNyArMTgzLDcgQEAg c3RhdGljIGNvbnN0IHVpbnQ2NF90IHBpX2NoYW5uZWxzX21hcFtdWzJdID0KLSAgICAgeyBBVl9D SF9TVEVSRU9fUklHSFQsICAgICAgMCB9LAotIH07Ci0gCi0tIyBpZiAhTElCQVZDT0RFQ19WRVJT SU9OX0NIRUNLKDU5LCA5OTksIDk5OSwgMjQsIDEwMCkKLSsjIGlmICFMSUJBVl9DT0RFQ19WRVJT SU9OX0NIRUNLKDU5LCA5OTksIDk5OSwgMjQsIDEwMCkKLSBzdGF0aWMgY29uc3QgdWludDMyX3Qg Y2hhbm5lbF9tYXNrW11bMl0gPSB7Ci0gICAgIHswLDB9LAotICAgICB7QU9VVF9DSEFOX0NFTlRF UiwgQVZfQ0hfTEFZT1VUX01PTk99LAotQEAgLTc2NSw3ICs3NjUsNyBAQCBpbnQgSW5pdFZpZGVv RW5jKCB2bGNfb2JqZWN0X3QgKnBfdGhpcyApCi0gICAgICAgICB1aW50MzJfdCBvcmRlcl9tYXNr ID0gMDsKLSAgICAgICAgIGludCBpX2NoYW5uZWxzX3NyYyA9IDA7Ci0gICAgICAgICBtc2dfRGJn KCBwX2VuYywgIkNyZWF0aW5nIGNoYW5uZWwgb3JkZXIgZm9yIHJlb3JkZXJpbmciKTsKLS0jIGlm IExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgOTk5LCA5OTksIDI0LCAxMDApCi0rIyBpZiBM SUJBVl9DT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCA5OTksIDk5OSwgMjQsIDEwMCkKLSAgICAgICAg IGF2X2NoYW5uZWxfbGF5b3V0X2RlZmF1bHQoICZwX2NvbnRleHQtPmNoX2xheW91dCwgcF9lbmMt PmZtdF9vdXQuYXVkaW8uaV9jaGFubmVscyApOwotICAgICAgICAgdWludDY0X3QgY2hhbm5lbF9t YXNrID0gcF9jb250ZXh0LT5jaF9sYXlvdXQudS5tYXNrOwotICMgZWxzZQotQEAgLTkxOCw3ICs5 MTgsNyBAQCBlcnJtc2c6Ci0gCi0gICAgICAgICBpZiggcF9lbmMtPmZtdF9vdXQuYXVkaW8uaV9j aGFubmVscyA+IDIgKQotICAgICAgICAgewotLSNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0so NTksIDk5OSwgOTk5LCAyNCwgMTAwKQotKyNpZiBMSUJBVl9DT0RFQ19WRVJTSU9OX0NIRUNLKDU5 LCA5OTksIDk5OSwgMjQsIDEwMCkKLSAgICAgICAgICAgICBhdl9jaGFubmVsX2xheW91dF9kZWZh dWx0KCAmcF9jb250ZXh0LT5jaF9sYXlvdXQsIDIgKTsKLSAjZWxzZQotICAgICAgICAgICAgIHBf Y29udGV4dC0+Y2hhbm5lbHMgPSAyOwotQEAgLTEyODIsNyArMTI4Miw3IEBAIHN0YXRpYyBibG9j a190ICpoYW5kbGVfZGVsYXlfYnVmZmVyKCBlbmNvZGVyX3QgKnBfZW5jLCBlbmNvZGVyX3N5c190 ICpwX3N5cywgdW5zCi0gICAgIGF2X2ZyYW1lX3VucmVmKCBwX3N5cy0+ZnJhbWUgKTsKLSAgICAg cF9zeXMtPmZyYW1lLT5mb3JtYXQgICAgID0gcF9zeXMtPnBfY29udGV4dC0+c2FtcGxlX2ZtdDsK LSAgICAgcF9zeXMtPmZyYW1lLT5uYl9zYW1wbGVzID0gbGVmdG92ZXJfc2FtcGxlcyArIHBfc3lz LT5pX3NhbXBsZXNfZGVsYXk7Ci0tI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgOTk5 LCA5OTksIDI0LCAxMDApCi0rI2lmIExJQkFWX0NPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5OSwg OTk5LCAyNCwgMTAwKQotICAgICBhdl9jaGFubmVsX2xheW91dF9jb3B5KCZwX3N5cy0+ZnJhbWUt PmNoX2xheW91dCwgJnBfc3lzLT5wX2NvbnRleHQtPmNoX2xheW91dCk7Ci0gI2Vsc2UKLSAgICAg cF9zeXMtPmZyYW1lLT5jaGFubmVsX2xheW91dCA9IHBfc3lzLT5wX2NvbnRleHQtPmNoYW5uZWxf bGF5b3V0OwotQEAgLTE0MTcsNyArMTQxNyw3IEBAIHN0YXRpYyBibG9ja190ICpFbmNvZGVBdWRp byggZW5jb2Rlcl90ICpwX2VuYywgYmxvY2tfdCAqcF9hb3V0X2J1ZiApCi0gICAgICAgICBwX3N5 cy0+ZnJhbWUtPnB0cyAgICAgICAgPSBkYXRlX0dldCggJnBfc3lzLT5idWZmZXJfZGF0ZSApICog cF9zeXMtPnBfY29udGV4dC0+dGltZV9iYXNlLmRlbiAvCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgQ0xPQ0tfRlJFUSAvIHBfc3lzLT5wX2NvbnRleHQtPnRpbWVfYmFzZS5u dW07Ci0gCi0tI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgOTk5LCA5OTksIDI0LCAx MDApCi0rI2lmIExJQkFWX0NPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5OSwgOTk5LCAyNCwgMTAw KQotICAgICAgICAgYXZfY2hhbm5lbF9sYXlvdXRfY29weSgmcF9zeXMtPmZyYW1lLT5jaF9sYXlv dXQsICZwX3N5cy0+cF9jb250ZXh0LT5jaF9sYXlvdXQpOwotICNlbHNlCi0gICAgICAgICBwX3N5 cy0+ZnJhbWUtPmNoYW5uZWxfbGF5b3V0ID0gcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbF9sYXlv dXQ7Ci1kaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2ZvdXJjYy5jIGIvbW9kdWxl cy9jb2RlYy9hdmNvZGVjL2ZvdXJjYy5jCi1pbmRleCA5N2YzMTg4MjExZC4uM2FlYTZiNThmZjAg MTAwNjQ0Ci0tLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZm91cmNjLmMKLSsrKyBiL21vZHVs ZXMvY29kZWMvYXZjb2RlYy9mb3VyY2MuYwotQEAgLTIzMCw3ICsyMzAsNyBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IHZsY19hdmNvZGVjX2ZvdXJjYyB2aWRlb19jb2RlY3NbXSA9Ci0gICAgIHsgVkxD X0NPREVDX0NMTEMsIEFWX0NPREVDX0lEX0NMTEMgfSwKLSAgICAgeyBWTENfQ09ERUNfTVNTMiwg QVZfQ09ERUNfSURfTVNTMiB9LAotICAgICB7IFZMQ19DT0RFQ19WUDksIEFWX0NPREVDX0lEX1ZQ OSB9LAotLSNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soIDU3LCAyNiwgMCwgODMsIDEwMSAp Ci0rI2lmIExJQkFWX0NPREVDX1ZFUlNJT05fQ0hFQ0soIDU3LCAyNiwgMCwgODMsIDEwMSApCi0g ICAgIHsgVkxDX0NPREVDX0FWMSwgQVZfQ09ERUNfSURfQVYxIH0sCi0gI2VuZGlmCi0gICAgIHsg VkxDX0NPREVDX0lDT0QsIEFWX0NPREVDX0lEX0FJQyB9LAotQEAgLTI4NSwxOSArMjg1LDE5IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgdmxjX2F2Y29kZWNfZm91cmNjIHZpZGVvX2NvZGVjc1tdID0K LSAgICAgLyogZmZtcGVnIG9ubHk6IEFWX0NPREVDX0lEX1NOT1cgKi8KLSAgICAgLyogZmZtcGVn IG9ubHk6IEFWX0NPREVDX0lEX1NNVkpQRUcgKi8KLSAKLS0jaWYgTElCQVZDT0RFQ19WRVJTSU9O X0NIRUNLKCA1NywgOTk5LCA5OTksIDI0LCAxMDIgKQotKyNpZiBMSUJBVl9DT0RFQ19WRVJTSU9O X0NIRUNLKCA1NywgOTk5LCA5OTksIDI0LCAxMDIgKQotICAgICB7IFZMQ19DT0RFQ19DSU5FRk9S TSwgQVZfQ09ERUNfSURfQ0ZIRCB9LAotICNlbmRpZgotIAotLSNpZiBMSUJBVkNPREVDX1ZFUlNJ T05fQ0hFQ0soIDU3LCA5OTksIDk5OSwgNzAsIDEwMCApCi0rI2lmIExJQkFWX0NPREVDX1ZFUlNJ T05fQ0hFQ0soIDU3LCA5OTksIDk5OSwgNzAsIDEwMCApCi0gICAgIHsgVkxDX0NPREVDX1BJWExF VCwgQVZfQ09ERUNfSURfUElYTEVUIH0sCi0gI2VuZGlmCi0gCi0tI2lmIExJQkFWQ09ERUNfVkVS U0lPTl9DSEVDSyggNTcsIDk5OSwgOTk5LCA3MSwgMTAxICkKLSsjaWYgTElCQVZfQ09ERUNfVkVS U0lPTl9DSEVDSyggNTcsIDk5OSwgOTk5LCA3MSwgMTAxICkKLSAgICAgeyBWTENfQ09ERUNfU1BF RURIUSwgQVZfQ09ERUNfSURfU1BFRURIUSB9LAotICNlbmRpZgotIAotLSNpZiBMSUJBVkNPREVD X1ZFUlNJT05fQ0hFQ0soIDU3LCA5OTksIDk5OSwgNzksIDEwMCApCi0rI2lmIExJQkFWX0NPREVD X1ZFUlNJT05fQ0hFQ0soIDU3LCA5OTksIDk5OSwgNzksIDEwMCApCi0gICAgIHsgVkxDX0NPREVD X0ZNVkMsIEFWX0NPREVDX0lEX0ZNVkMgfSwKLSAjZW5kaWYKLSB9OwotQEAgLTQxNCw3ICs0MTQs NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHZsY19hdmNvZGVjX2ZvdXJjYyBhdWRpb19jb2RlY3Nb XSA9Ci0gICAgIC8qIEFWX0NPREVDX0lEX1dFU1RXT09EX1NORDEgKi8KLSAgICAgeyBWTENfQ09E RUNfR1NNLCBBVl9DT0RFQ19JRF9HU00gfSwKLSAgICAgeyBWTENfQ09ERUNfUURNMiwgQVZfQ09E RUNfSURfUURNMiB9LAotLSNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soIDU3LCA5OTksIDk5 OSwgNzEsIDEwMCApCi0rI2lmIExJQkFWX0NPREVDX1ZFUlNJT05fQ0hFQ0soIDU3LCA5OTksIDk5 OSwgNzEsIDEwMCApCi0gICAgIHsgVkxDX0NPREVDX1FETUMsIEFWX0NPREVDX0lEX1FETUMgfSwK LSAjZW5kaWYKLSAgICAgeyBWTENfQ09ERUNfQ09PSywgQVZfQ09ERUNfSURfQ09PSyB9LAotQEAg LTQ4Miw3ICs0ODIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHZsY19hdmNvZGVjX2ZvdXJjYyBz cHVfY29kZWNzW10gPQotICAgICB7IFZMQ19DT0RFQ19TU0EsIEFWX0NPREVDX0lEX1NTQSB9LAot ICAgICAvKiBBVl9DT0RFQ19JRF9NT1ZfVEVYVCAqLwotICAgICB7IFZMQ19DT0RFQ19CRF9QRywg QVZfQ09ERUNfSURfSERNVl9QR1NfU1VCVElUTEUgfSwKLS0jaWYgTElCQVZDT0RFQ19WRVJTSU9O X0NIRUNLKCA1NywgOTk5LCA5OTksIDcxLCAxMDAgKQotKyNpZiBMSUJBVl9DT0RFQ19WRVJTSU9O X0NIRUNLKCA1NywgOTk5LCA5OTksIDcxLCAxMDAgKQotICAgICB7IFZMQ19DT0RFQ19CRF9URVhU LCBBVl9DT0RFQ19JRF9IRE1WX1RFWFRfU1VCVElUTEUgfSwKLSAjZW5kaWYKLSAgICAgeyBWTENf Q09ERUNfVEVMRVRFWFQsIEFWX0NPREVDX0lEX0RWQl9URUxFVEVYVCB9LAotZGlmZiAtLWdpdCBh L21vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3Zp ZGVvLmMKLWluZGV4IGQzMjg0ZGE4YWVkLi41NTJjNjAyZWRmNiAxMDA2NDQKLS0tLSBhL21vZHVs ZXMvY29kZWMvYXZjb2RlYy92aWRlby5jCi0rKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlk ZW8uYwotQEAgLTEzMDcsNyArMTMwNyw3IEBAIHN0YXRpYyBwaWN0dXJlX3QgKkRlY29kZUJsb2Nr KCBkZWNvZGVyX3QgKnBfZGVjLCBibG9ja190ICoqcHBfYmxvY2ssIGJvb2wgKmVycm9yCi0gICAg ICAgICB9Ci0gCi0gICAgICAgICAvKiBDb21wdXRlIHRoZSBQVFMgKi8KLS0jaWYgTElCQVZDT0RF Q19WRVJTSU9OX0NIRUNLKDU3LCAyNCwgMCwgNjEsIDEwMCkKLSsjaWYgTElCQVZfQ09ERUNfVkVS U0lPTl9DSEVDSyg1NywgMjQsIDAsIDYxLCAxMDApCi0gIyBpZiBMSUJBVkNPREVDX1ZFUlNJT05f TUlDUk8gPj0gMTAwCi0gICAgICAgICB2bGNfdGlja190IGlfcHRzID0gZnJhbWUtPmJlc3RfZWZm b3J0X3RpbWVzdGFtcDsKLSAjIGVsc2UKLS0tIAotR2l0TGFiCi0KLQotRnJvbSBjZTA4NDE1MmM5 YmFkZTA0MWNhMThlMTljM2IyNjRlNGUxMzRjNmMzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQot RnJvbTogU3RldmUgTGhvbW1lIDxyb2J1eDRAeWNiY3IueHl6PgotRGF0ZTogV2VkLCAxOSBKdW4g MjAyNCAxMzo1OToxNSArMDIwMAotU3ViamVjdDogW1BBVENIIDA2LzE1XSBhdmNvbW1vbjogdXNl IGEgc3BlY2lmaWMgbWFjcm8gdG8gY2hlY2sgdGhlIEZGbXBlZwotIGxpYmF2Y29kZWMgdmVyc2lv bgotCi1UaGlzIG1hY3JvIGRvZXNuJ3QgY2hlY2sgZm9yIGxpYmF2IHdoaWNoIGlzIGFzc3VtZWQg dG8gbm90IGhhdmUgdG8gcmVsZXZhbnQKLWNvZGUuIFRoaXMgaXMgdGhlIHNhbWUgbWFjcm8gbmFt ZSB1c2VkIGluIFZMQyA0LjAuCi0tLS0KLSBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYyAg ICAgICAgICAgfCAgOCArKysrLS0tLQotIG1vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbi5o ICAgICAgICB8ICAyICstCi0gbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uX2NvbXBhdC5o IHwgIDQgKysrKwotIG1vZHVsZXMvY29kZWMvYXZjb2RlYy9kaXJlY3R4X3ZhLmMgICAgICB8ICA0 ICsrLS0KLSBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jICAgICAgICAgfCAxMyArKysr KystLS0tLS0tCi0gbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2ZvdXJjYy5jICAgICAgICAgIHwgMTgg KysrKysrKystLS0tLS0tLS0tCi0gbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZpZGVvLmMgICAgICAg ICAgIHwgIDMgKy0tCi0gbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9kZW11eC5jICAgICAgICAgIHwg IDIgKy0KLSBtb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jICAgICAgICAgICAgfCAgMiArLQot IDkgZmlsZXMgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCi0KLWRp ZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYyBiL21vZHVsZXMvY29kZWMv YXZjb2RlYy9hdWRpby5jCi1pbmRleCA3YTk3OWU5NmUxOS4uYTNmNjdmN2JkOTMgMTAwNjQ0Ci0t LS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYwotKysrIGIvbW9kdWxlcy9jb2RlYy9h dmNvZGVjL2F1ZGlvLmMKLUBAIC0xNDIsNyArMTQyLDcgQEAgc3RhdGljIGludCBPcGVuQXVkaW9D b2RlYyggZGVjb2Rlcl90ICpwX2RlYyApCi0gICAgIH0KLSAKLSAgICAgY3R4LT5zYW1wbGVfcmF0 ZSA9IHBfZGVjLT5mbXRfaW4uYXVkaW8uaV9yYXRlOwotLSNpZiBMSUJBVl9DT0RFQ19WRVJTSU9O X0NIRUNLKDU5LCA5OTksIDk5OSwgMjQsIDEwMCkKLSsjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NI RUNLKDU5LCAyNCwgMTAwKQotICAgICBhdl9jaGFubmVsX2xheW91dF9kZWZhdWx0KCAmY3R4LT5j aF9sYXlvdXQsIHBfZGVjLT5mbXRfaW4uYXVkaW8uaV9jaGFubmVscyApOwotICNlbHNlCi0gICAg IGN0eC0+Y2hhbm5lbHMgPSBwX2RlYy0+Zm10X2luLmF1ZGlvLmlfY2hhbm5lbHM7Ci1AQCAtNDAy LDcgKzQwMiw3IEBAIHN0YXRpYyBpbnQgRGVjb2RlQmxvY2soIGRlY29kZXJfdCAqcF9kZWMsIGJs b2NrX3QgKipwcF9ibG9jayApCi0gICAgICAgICByZXQgPSBhdmNvZGVjX3JlY2VpdmVfZnJhbWUo IGN0eCwgZnJhbWUgKTsKLSAgICAgICAgIGlmKCByZXQgPT0gMCApCi0gICAgICAgICB7Ci0tI2lm IExJQkFWX0NPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5OSwgOTk5LCAyNCwgMTAwKQotKyNpZiBM SUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDI0LCAxMDApCi0gICAgICAgICAgICAgaW50IGNo YW5uZWxzID0gZnJhbWUtPmNoX2xheW91dC5uYl9jaGFubmVsczsKLSAjZWxzZQotICAgICAgICAg ICAgIGludCBjaGFubmVscyA9IGN0eC0+Y2hhbm5lbHM7Ci1AQCAtNTkyLDcgKzU5Miw3IEBAIHN0 YXRpYyB2b2lkIFNldHVwT3V0cHV0Rm9ybWF0KCBkZWNvZGVyX3QgKnBfZGVjLCBib29sIGJfdHJ1 c3QgKQotICAgICBwX2RlYy0+Zm10X291dC5hdWRpby5pX3JhdGUgPSBwX3N5cy0+cF9jb250ZXh0 LT5zYW1wbGVfcmF0ZTsKLSAKLSAgICAgLyogKi8KLS0jaWYgTElCQVZfQ09ERUNfVkVSU0lPTl9D SEVDSyg1OSwgOTk5LCA5OTksIDI0LCAxMDApCi0rI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVD Syg1OSwgMjQsIDEwMCkKLSAgICAgaWYoIHBfc3lzLT5pX3ByZXZpb3VzX2NoYW5uZWxzID09IHBf c3lzLT5wX2NvbnRleHQtPmNoX2xheW91dC5uYl9jaGFubmVscyAmJgotICAgICAgICAgcF9zeXMt PmlfcHJldmlvdXNfbGF5b3V0ID09IHBfc3lzLT5wX2NvbnRleHQtPmNoX2xheW91dC51Lm1hc2sg KQotICAgICAgICAgcmV0dXJuOwotQEAgLTYxNyw3ICs2MTcsNyBAQCBzdGF0aWMgdm9pZCBTZXR1 cE91dHB1dEZvcm1hdCggZGVjb2Rlcl90ICpwX2RlYywgYm9vbCBiX3RydXN0ICkKLSAKLSAgICAg aW50IGlfY2hhbm5lbHNfc3JjID0gMCwgY2hhbm5lbF9jb3VudDsKLSAgICAgdWludDY0X3QgY2hh bm5lbF9sYXlvdXRfbWFzazsKLS0jaWYgTElCQVZfQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgOTk5 LCA5OTksIDI0LCAxMDApCi0rI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgMjQsIDEw MCkKLSAgICAgY2hhbm5lbF9sYXlvdXRfbWFzayA9IHBfc3lzLT5wX2NvbnRleHQtPmNoX2xheW91 dC51Lm1hc2s7Ci0gICAgIGNoYW5uZWxfY291bnQgPSBwX3N5cy0+cF9jb250ZXh0LT5jaF9sYXlv dXQubmJfY2hhbm5lbHM7Ci0gI2VsaWYgQVBJX0NIQU5ORUxfTEFZT1VUCi1kaWZmIC0tZ2l0IGEv bW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uLmggYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMv YXZjb21tb24uaAotaW5kZXggYWEwYzBiODhiODUuLjEwYWQxM2RjNWY4IDEwMDY0NAotLS0tIGEv bW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uLmgKLSsrKyBiL21vZHVsZXMvY29kZWMvYXZj b2RlYy9hdmNvbW1vbi5oCi1AQCAtMTIzLDcgKzEyMyw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB2 bGNfaW5pdF9hdmNvZGVjKHZsY19vYmplY3RfdCAqb2JqKQotIAotICAgICB2bGNfaW5pdF9hdnV0 aWwob2JqKTsKLSAKLS0jaWYgKExJQkFWRk9STUFUX1ZFUlNJT05fTUlDUk8gPCAxMDApIHx8IChM SUJBVkNPREVDX1ZFUlNJT05fSU5UIDwgQVZfVkVSU0lPTl9JTlQoNTgsIDEwLCAxMDApKQotKyNp ZiAoTElCQVZGT1JNQVRfVkVSU0lPTl9NSUNSTyA8IDEwMCkgfHwgIShMSUJBVkNPREVDX1ZFUlNJ T05fQ0hFQ0soNTgsIDEwLCAxMDApKQotICAgICBhdmNvZGVjX3JlZ2lzdGVyX2FsbCgpOwotICNl bmRpZgotIAotZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21w YXQuaCBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaAotaW5kZXggYjUw NGZjZDgyMTguLmFjMDJjMDZkMjMzIDEwMDY0NAotLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVj L2F2Y29tbW9uX2NvbXBhdC5oCi0rKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb25f Y29tcGF0LmgKLUBAIC0zMCw2ICszMCwxMCBAQAotICNpZmRlZiBIQVZFX0xJQkFWQ09ERUNfQVZD T0RFQ19ICi0gI2luY2x1ZGUgPGxpYmF2Y29kZWMvYXZjb2RlYy5oPgotIAotKy8qIGNoZWNrIHRo ZSBGRm1wZWcgbGliYXZ1dGlsIHZlcnNpb24gKi8KLSsjZGVmaW5lIExJQkFWQ09ERUNfVkVSU0lP Tl9DSEVDSyggYSwgZCwgZSApIFwKLSsgICAgKExJQkFWQ09ERUNfVkVSU0lPTl9NSUNSTyA+PSAx MDAgJiYgTElCQVZDT0RFQ19WRVJTSU9OX0lOVCA+PSBBVl9WRVJTSU9OX0lOVCggYSwgZCwgZSAp ICkKLSsKLSAvKiBMSUJBVl9DT0RFQ19WRVJTSU9OX0NIRUNLIGNoZWNrcyBmb3IgdGhlIHJpZ2h0 IHZlcnNpb24gb2YgbGliYXYgYW5kIEZGbXBlZwotICAqIGEgaXMgdGhlIG1ham9yIHZlcnNpb24K LSAgKiBiIGFuZCBjIHRoZSBtaW5vciBhbmQgbWljcm8gdmVyc2lvbnMgb2YgbGliYXYKLWRpZmYg LS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZGlyZWN0eF92YS5jIGIvbW9kdWxlcy9jb2Rl Yy9hdmNvZGVjL2RpcmVjdHhfdmEuYwotaW5kZXggNWI3OTgwZmQ5N2QuLjM2YTVkNjFhNTU5IDEw MDY0NAotLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2RpcmVjdHhfdmEuYwotKysrIGIvbW9k dWxlcy9jb2RlYy9hdmNvZGVjL2RpcmVjdHhfdmEuYwotQEAgLTI4NCw3ICsyODQsNyBAQCBzdGF0 aWMgY29uc3QgZGlyZWN0eF92YV9tb2RlX3QgRFhWQV9NT0RFU1tdID0gewotIAotICAgICAvKiBW UHggKi8KLSAgICAgeyAiVlA4IiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZEWFZBX01vZGVWUDhfVkxELCAg ICAgICAgICAgICAgICAgICAgICA4LCAwLCBOVUxMIH0sCi0tI2lmIExJQkFWQ09ERUNfVkVSU0lP Tl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQoIDU3LCAxNywgMTAwICkgJiYgTElCQVZDT0RFQ19WRVJT SU9OX01JQ1JPID49IDEwMAotKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soIDU3LCAxNywg MTAwICkKLSAgICAgeyAiVlA5IHByb2ZpbGUgMCIsICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZEWFZBX01vZGVWUDlfVkxEX1By b2ZpbGUwLCAgICAgICAgICAgICA4LCBBVl9DT0RFQ19JRF9WUDksIFBST0ZfVlA5X01BSU4gfSwK LSAgICAgeyAiVlA5IHByb2ZpbGUgMiIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZEWFZBX01vZGVWUDlfVkxEXzEwYml0X1By b2ZpbGUyLCAgICAgICAxMCwgQVZfQ09ERUNfSURfVlA5LCBQUk9GX1ZQOV8xMCB9LAotICNlbHNl Ci1AQCAtMjk0LDcgKzI5NCw3IEBAIHN0YXRpYyBjb25zdCBkaXJlY3R4X3ZhX21vZGVfdCBEWFZB X01PREVTW10gPSB7Ci0gICAgIHsgIlZQOSBwcm9maWxlIEludGVsIiwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmRFhWQV9Nb2RlVlA5 X1ZMRF9JbnRlbCwgICAgICAgICAgICAgICAgOCwgMCwgTlVMTCB9LAotIAotICAgICAvKiBBVjEg Ki8KLS0jaWYgTElCQVZDT0RFQ19WRVJTSU9OX0lOVCA+PSBBVl9WRVJTSU9OX0lOVCggNTgsIDEx MiwgMTAzICkgJiYgTElCQVZDT0RFQ19WRVJTSU9OX01JQ1JPID49IDEwMAotKyNpZiBMSUJBVkNP REVDX1ZFUlNJT05fQ0hFQ0soIDU4LCAxMTIsIDEwMyApCi0gICAgIHsgIkFWMSBNYWluIHByb2Zp bGUgOCIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAmRFhWQV9Nb2RlQVYxX1ZMRF9Qcm9maWxlMCwgICAgICAgICAgICAgOCwgQVZfQ09E RUNfSURfQVYxLCBQUk9GX0FWMV9NQUlOIH0sCi0gICAgIHsgIkFWMSBNYWluIHByb2ZpbGUgMTAi LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmRFhWQV9Nb2RlQVYxX1ZMRF9Qcm9maWxlMCwgICAgICAgICAgICAgMTAsIEFWX0NPREVDX0lE X0FWMSwgUFJPRl9BVjFfTUFJTiB9LAotICAgICB7ICJBVjEgSGlnaCBwcm9maWxlIDgiLCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkRY VkFfTW9kZUFWMV9WTERfUHJvZmlsZTEsICAgICAgICAgICAgIDgsIEFWX0NPREVDX0lEX0FWMSwg UFJPRl9BVjFfSElHSCB9LAotZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNv ZGVyLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jCi1pbmRleCA5Y2Y5YTdkMDYw Ny4uMjAxNGI4YWZhZjUgMTAwNjQ0Ci0tLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rl ci5jCi0rKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jCi1AQCAtNjEsOCArNjEs NyBAQAotIAotICNkZWZpbmUgUkFXX0FVRElPX0ZSQU1FX1NJWkUgKDIwNDgpCi0gCi0tI2lmIExJ QkFWQ09ERUNfVkVSU0lPTl9NSUNSTyA+PSAxMDAgJiYgXAotLSAgICBMSUJBVkNPREVDX1ZFUlNJ T05fSU5UID49IEFWX1ZFUlNJT05fSU5UKDU5LCAwLCAxMDApCi0rI2lmIExJQkFWQ09ERUNfVkVS U0lPTl9DSEVDSyg1OSwgMCwgMTAwKQotICMgZGVmaW5lIEFWQ19NQVlCRV9DT05TVCBjb25zdAot ICNlbHNlCi0gIyBkZWZpbmUgQVZDX01BWUJFX0NPTlNUCi1AQCAtMTgzLDcgKzE4Miw3IEBAIHN0 YXRpYyBjb25zdCB1aW50NjRfdCBwaV9jaGFubmVsc19tYXBbXVsyXSA9Ci0gICAgIHsgQVZfQ0hf U1RFUkVPX1JJR0hULCAgICAgIDAgfSwKLSB9OwotIAotLSMgaWYgIUxJQkFWX0NPREVDX1ZFUlNJ T05fQ0hFQ0soNTksIDk5OSwgOTk5LCAyNCwgMTAwKQotKyMgaWYgIUxJQkFWQ09ERUNfVkVSU0lP Tl9DSEVDSyg1OSwgMjQsIDEwMCkKLSBzdGF0aWMgY29uc3QgdWludDMyX3QgY2hhbm5lbF9tYXNr W11bMl0gPSB7Ci0gICAgIHswLDB9LAotICAgICB7QU9VVF9DSEFOX0NFTlRFUiwgQVZfQ0hfTEFZ T1VUX01PTk99LAotQEAgLTc2NSw3ICs3NjQsNyBAQCBpbnQgSW5pdFZpZGVvRW5jKCB2bGNfb2Jq ZWN0X3QgKnBfdGhpcyApCi0gICAgICAgICB1aW50MzJfdCBvcmRlcl9tYXNrID0gMDsKLSAgICAg ICAgIGludCBpX2NoYW5uZWxzX3NyYyA9IDA7Ci0gICAgICAgICBtc2dfRGJnKCBwX2VuYywgIkNy ZWF0aW5nIGNoYW5uZWwgb3JkZXIgZm9yIHJlb3JkZXJpbmciKTsKLS0jIGlmIExJQkFWX0NPREVD X1ZFUlNJT05fQ0hFQ0soNTksIDk5OSwgOTk5LCAyNCwgMTAwKQotKyMgaWYgTElCQVZDT0RFQ19W RVJTSU9OX0NIRUNLKDU5LCAyNCwgMTAwKQotICAgICAgICAgYXZfY2hhbm5lbF9sYXlvdXRfZGVm YXVsdCggJnBfY29udGV4dC0+Y2hfbGF5b3V0LCBwX2VuYy0+Zm10X291dC5hdWRpby5pX2NoYW5u ZWxzICk7Ci0gICAgICAgICB1aW50NjRfdCBjaGFubmVsX21hc2sgPSBwX2NvbnRleHQtPmNoX2xh eW91dC51Lm1hc2s7Ci0gIyBlbHNlCi1AQCAtOTE4LDcgKzkxNyw3IEBAIGVycm1zZzoKLSAKLSAg ICAgICAgIGlmKCBwX2VuYy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzID4gMiApCi0gICAgICAg ICB7Ci0tI2lmIExJQkFWX0NPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5OSwgOTk5LCAyNCwgMTAw KQotKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDI0LCAxMDApCi0gICAgICAgICAg ICAgYXZfY2hhbm5lbF9sYXlvdXRfZGVmYXVsdCggJnBfY29udGV4dC0+Y2hfbGF5b3V0LCAyICk7 Ci0gI2Vsc2UKLSAgICAgICAgICAgICBwX2NvbnRleHQtPmNoYW5uZWxzID0gMjsKLUBAIC0xMjgy LDcgKzEyODEsNyBAQCBzdGF0aWMgYmxvY2tfdCAqaGFuZGxlX2RlbGF5X2J1ZmZlciggZW5jb2Rl cl90ICpwX2VuYywgZW5jb2Rlcl9zeXNfdCAqcF9zeXMsIHVucwotICAgICBhdl9mcmFtZV91bnJl ZiggcF9zeXMtPmZyYW1lICk7Ci0gICAgIHBfc3lzLT5mcmFtZS0+Zm9ybWF0ICAgICA9IHBfc3lz LT5wX2NvbnRleHQtPnNhbXBsZV9mbXQ7Ci0gICAgIHBfc3lzLT5mcmFtZS0+bmJfc2FtcGxlcyA9 IGxlZnRvdmVyX3NhbXBsZXMgKyBwX3N5cy0+aV9zYW1wbGVzX2RlbGF5OwotLSNpZiBMSUJBVl9D T0RFQ19WRVJTSU9OX0NIRUNLKDU5LCA5OTksIDk5OSwgMjQsIDEwMCkKLSsjaWYgTElCQVZDT0RF Q19WRVJTSU9OX0NIRUNLKDU5LCAyNCwgMTAwKQotICAgICBhdl9jaGFubmVsX2xheW91dF9jb3B5 KCZwX3N5cy0+ZnJhbWUtPmNoX2xheW91dCwgJnBfc3lzLT5wX2NvbnRleHQtPmNoX2xheW91dCk7 Ci0gI2Vsc2UKLSAgICAgcF9zeXMtPmZyYW1lLT5jaGFubmVsX2xheW91dCA9IHBfc3lzLT5wX2Nv bnRleHQtPmNoYW5uZWxfbGF5b3V0OwotQEAgLTE0MTcsNyArMTQxNiw3IEBAIHN0YXRpYyBibG9j a190ICpFbmNvZGVBdWRpbyggZW5jb2Rlcl90ICpwX2VuYywgYmxvY2tfdCAqcF9hb3V0X2J1ZiAp Ci0gICAgICAgICBwX3N5cy0+ZnJhbWUtPnB0cyAgICAgICAgPSBkYXRlX0dldCggJnBfc3lzLT5i dWZmZXJfZGF0ZSApICogcF9zeXMtPnBfY29udGV4dC0+dGltZV9iYXNlLmRlbiAvCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0xPQ0tfRlJFUSAvIHBfc3lzLT5wX2NvbnRl eHQtPnRpbWVfYmFzZS5udW07Ci0gCi0tI2lmIExJQkFWX0NPREVDX1ZFUlNJT05fQ0hFQ0soNTks IDk5OSwgOTk5LCAyNCwgMTAwKQotKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDI0 LCAxMDApCi0gICAgICAgICBhdl9jaGFubmVsX2xheW91dF9jb3B5KCZwX3N5cy0+ZnJhbWUtPmNo X2xheW91dCwgJnBfc3lzLT5wX2NvbnRleHQtPmNoX2xheW91dCk7Ci0gI2Vsc2UKLSAgICAgICAg IHBfc3lzLT5mcmFtZS0+Y2hhbm5lbF9sYXlvdXQgPSBwX3N5cy0+cF9jb250ZXh0LT5jaGFubmVs X2xheW91dDsKLWRpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZm91cmNjLmMgYi9t b2R1bGVzL2NvZGVjL2F2Y29kZWMvZm91cmNjLmMKLWluZGV4IDNhZWE2YjU4ZmYwLi5kNzVjMjFm ZmE0OSAxMDA2NDQKLS0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9mb3VyY2MuYwotKysrIGIv bW9kdWxlcy9jb2RlYy9hdmNvZGVjL2ZvdXJjYy5jCi1AQCAtMTgyLDEyICsxODIsMTAgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCB2bGNfYXZjb2RlY19mb3VyY2MgdmlkZW9fY29kZWNzW10gPQotICAg ICAvKiBBVl9DT0RFQ19JRF9WMjEwWCAqLwotICAgICB7IFZMQ19DT0RFQ19UTVYsIEFWX0NPREVD X0lEX1RNViB9LAotICAgICB7IFZMQ19DT0RFQ19WMjEwLCBBVl9DT0RFQ19JRF9WMjEwIH0sCi0t I2lmIExJQkFWQ09ERUNfVkVSU0lPTl9NSUNSTyA+PSAxMDAKLS0jIGlmIExJQkFWQ09ERUNfVkVS U0lPTl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQoIDU5LCA0MiwgMTAyICkKLSsjaWYgTElCQVZDT0RF Q19WRVJTSU9OX0NIRUNLKCA1OSwgNDIsIDEwMiApCi0gICAgIHsgVkxDX0NPREVDX1ZVWUEsIEFW X0NPREVDX0lEX1JBV1ZJREVPIH0sCi0tIyBlbGlmIExJQkFWQ09ERUNfVkVSU0lPTl9JTlQgPj0g QVZfVkVSU0lPTl9JTlQoIDU0LCA1MCwgMTAwICkKLSsjZWxpZiBMSUJBVkNPREVDX1ZFUlNJT05f Q0hFQ0soIDU0LCA1MCwgMTAwICkKLSAgICAgeyBWTENfQ09ERUNfVlVZQSwgQVZfQ09ERUNfSURf QVlVViB9LAotLSMgZW5kaWYKLSAjZW5kaWYKLSAgICAgLyogQVZfQ09ERUNfSURfRFBYICovCi0g ICAgIHsgVkxDX0NPREVDX01BRCwgQVZfQ09ERUNfSURfTUFEIH0sCi1AQCAtMjg1LDE5ICsyODMs MTkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB2bGNfYXZjb2RlY19mb3VyY2MgdmlkZW9fY29kZWNz W10gPQotICAgICAvKiBmZm1wZWcgb25seTogQVZfQ09ERUNfSURfU05PVyAqLwotICAgICAvKiBm Zm1wZWcgb25seTogQVZfQ09ERUNfSURfU01WSlBFRyAqLwotIAotLSNpZiBMSUJBVl9DT0RFQ19W RVJTSU9OX0NIRUNLKCA1NywgOTk5LCA5OTksIDI0LCAxMDIgKQotKyNpZiBMSUJBVkNPREVDX1ZF UlNJT05fQ0hFQ0soIDU3LCAyNCwgMTAyICkKLSAgICAgeyBWTENfQ09ERUNfQ0lORUZPUk0sIEFW X0NPREVDX0lEX0NGSEQgfSwKLSAjZW5kaWYKLSAKLS0jaWYgTElCQVZfQ09ERUNfVkVSU0lPTl9D SEVDSyggNTcsIDk5OSwgOTk5LCA3MCwgMTAwICkKLSsjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NI RUNLKCA1NywgNzAsIDEwMCApCi0gICAgIHsgVkxDX0NPREVDX1BJWExFVCwgQVZfQ09ERUNfSURf UElYTEVUIH0sCi0gI2VuZGlmCi0gCi0tI2lmIExJQkFWX0NPREVDX1ZFUlNJT05fQ0hFQ0soIDU3 LCA5OTksIDk5OSwgNzEsIDEwMSApCi0rI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyggNTcs IDcxLCAxMDEgKQotICAgICB7IFZMQ19DT0RFQ19TUEVFREhRLCBBVl9DT0RFQ19JRF9TUEVFREhR IH0sCi0gI2VuZGlmCi0gCi0tI2lmIExJQkFWX0NPREVDX1ZFUlNJT05fQ0hFQ0soIDU3LCA5OTks IDk5OSwgNzksIDEwMCApCi0rI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyggNTcsIDc5LCAx MDAgKQotICAgICB7IFZMQ19DT0RFQ19GTVZDLCBBVl9DT0RFQ19JRF9GTVZDIH0sCi0gI2VuZGlm Ci0gfTsKLUBAIC00MTQsNyArNDEyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB2bGNfYXZjb2Rl Y19mb3VyY2MgYXVkaW9fY29kZWNzW10gPQotICAgICAvKiBBVl9DT0RFQ19JRF9XRVNUV09PRF9T TkQxICovCi0gICAgIHsgVkxDX0NPREVDX0dTTSwgQVZfQ09ERUNfSURfR1NNIH0sCi0gICAgIHsg VkxDX0NPREVDX1FETTIsIEFWX0NPREVDX0lEX1FETTIgfSwKLS0jaWYgTElCQVZfQ09ERUNfVkVS U0lPTl9DSEVDSyggNTcsIDk5OSwgOTk5LCA3MSwgMTAwICkKLSsjaWYgTElCQVZDT0RFQ19WRVJT SU9OX0NIRUNLKCA1NywgNzEsIDEwMCApCi0gICAgIHsgVkxDX0NPREVDX1FETUMsIEFWX0NPREVD X0lEX1FETUMgfSwKLSAjZW5kaWYKLSAgICAgeyBWTENfQ09ERUNfQ09PSywgQVZfQ09ERUNfSURf Q09PSyB9LAotQEAgLTQ4Miw3ICs0ODAsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHZsY19hdmNv ZGVjX2ZvdXJjYyBzcHVfY29kZWNzW10gPQotICAgICB7IFZMQ19DT0RFQ19TU0EsIEFWX0NPREVD X0lEX1NTQSB9LAotICAgICAvKiBBVl9DT0RFQ19JRF9NT1ZfVEVYVCAqLwotICAgICB7IFZMQ19D T0RFQ19CRF9QRywgQVZfQ09ERUNfSURfSERNVl9QR1NfU1VCVElUTEUgfSwKLS0jaWYgTElCQVZf Q09ERUNfVkVSU0lPTl9DSEVDSyggNTcsIDk5OSwgOTk5LCA3MSwgMTAwICkKLSsjaWYgTElCQVZD T0RFQ19WRVJTSU9OX0NIRUNLKCA1NywgNzEsIDEwMCApCi0gICAgIHsgVkxDX0NPREVDX0JEX1RF WFQsIEFWX0NPREVDX0lEX0hETVZfVEVYVF9TVUJUSVRMRSB9LAotICNlbmRpZgotICAgICB7IFZM Q19DT0RFQ19URUxFVEVYVCwgQVZfQ09ERUNfSURfRFZCX1RFTEVURVhUIH0sCi1kaWZmIC0tZ2l0 IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZpZGVvLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMv dmlkZW8uYwotaW5kZXggNTUyYzYwMmVkZjYuLmMzMDZlOTE2YzdkIDEwMDY0NAotLS0tIGEvbW9k dWxlcy9jb2RlYy9hdmNvZGVjL3ZpZGVvLmMKLSsrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy92 aWRlby5jCi1AQCAtMTgyNCw4ICsxODI0LDcgQEAgbm9fcmV1c2U6Ci0gICAgIGlmICghY2FuX2h3 YWNjZWwpCi0gICAgICAgICByZXR1cm4gc3dmbXQ7Ci0gCi0tI2lmIChMSUJBVkNPREVDX1ZFUlNJ T05fTUlDUk8gPj0gMTAwKSBcCi0tICAmJiAoTElCQVZDT0RFQ19WRVJTSU9OX0lOVCA8IEFWX1ZF UlNJT05fSU5UKDU3LCA4MywgMTAxKSkKLSsjaWYgKExJQkFWQ09ERUNfVkVSU0lPTl9NSUNSTyA+ PSAxMDApICYmICEoTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU3LCA4MywgMTAxKSkKLSAgICAg aWYgKHBfY29udGV4dC0+YWN0aXZlX3RocmVhZF90eXBlKQotICAgICB7Ci0gICAgICAgICBtc2df V2FybihwX2RlYywgInRocmVhZCB0eXBlICVkOiBkaXNhYmxpbmcgaGFyZHdhcmUgYWNjZWxlcmF0 aW9uIiwKLWRpZmYgLS1naXQgYS9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L2RlbXV4LmMgYi9tb2R1 bGVzL2RlbXV4L2F2Zm9ybWF0L2RlbXV4LmMKLWluZGV4IDM5ZDIzNjZjZWYyLi45OTc1YjBmNDdi NiAxMDA2NDQKLS0tLSBhL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvZGVtdXguYwotKysrIGIvbW9k dWxlcy9kZW11eC9hdmZvcm1hdC9kZW11eC5jCi1AQCAtNDAwLDcgKzQwMCw3IEBAIGludCBhdmZv cm1hdF9PcGVuRGVtdXgoIHZsY19vYmplY3RfdCAqcF90aGlzICkKLSAgICAgICAgICAgICBlc19m b3JtYXRfSW5pdCggJmVzX2ZtdCwgQVVESU9fRVMsIGZjYyApOwotICAgICAgICAgICAgIGVzX2Zt dC5pX29yaWdpbmFsX2ZvdXJjYyA9IENvZGVjVGFnVG9Gb3VyY2MoIGNwLT5jb2RlY190YWcgKTsK LSAgICAgICAgICAgICBlc19mbXQuaV9iaXRyYXRlID0gY3AtPmJpdF9yYXRlOwotLSNpZiBMSUJB VkNPREVDX1ZFUlNJT05fSU5UID49IEFWX1ZFUlNJT05fSU5UKCA1OSwgMjQsIDEwMCApICYmIExJ QkFWQ09ERUNfVkVSU0lPTl9NSUNSTyA+PSAxMDAKLSsjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NI RUNLKCA1OSwgMjQsIDEwMCApCi0gICAgICAgICAgICAgZXNfZm10LmF1ZGlvLmlfY2hhbm5lbHMg PSBjcC0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzOwotICNlbHNlCi0gICAgICAgICAgICAgZXNfZm10 LmF1ZGlvLmlfY2hhbm5lbHMgPSBjcC0+Y2hhbm5lbHM7Ci1kaWZmIC0tZ2l0IGEvbW9kdWxlcy9k ZW11eC9hdmZvcm1hdC9tdXguYyBiL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvbXV4LmMKLWluZGV4 IDY2NGE2NDY3MzRjLi5hNDgxOTBjOTNjYSAxMDA2NDQKLS0tLSBhL21vZHVsZXMvZGVtdXgvYXZm b3JtYXQvbXV4LmMKLSsrKyBiL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvbXV4LmMKLUBAIC0yNzMs NyArMjczLDcgQEAgc3RhdGljIGludCBBZGRTdHJlYW0oIHNvdXRfbXV4X3QgKnBfbXV4LCBzb3V0 X2lucHV0X3QgKnBfaW5wdXQgKQotICAgICB7Ci0gICAgIGNhc2UgQVVESU9fRVM6Ci0gICAgICAg ICBjb2RlY3Bhci0+Y29kZWNfdHlwZSA9IEFWTUVESUFfVFlQRV9BVURJTzsKLS0jaWYgTElCQVZD T0RFQ19WRVJTSU9OX0lOVCA+PSBBVl9WRVJTSU9OX0lOVCggNTksIDI0LCAxMDAgKSAmJiBMSUJB VkNPREVDX1ZFUlNJT05fTUlDUk8gPj0gMTAwCi0rI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVD SyggNTksIDI0LCAxMDAgKQotICAgICAgICAgYXZfY2hhbm5lbF9sYXlvdXRfZGVmYXVsdCggJmNv ZGVjcGFyLT5jaF9sYXlvdXQsIGZtdC0+YXVkaW8uaV9jaGFubmVscyApOwotICNlbHNlCi0gICAg ICAgICBjb2RlY3Bhci0+Y2hhbm5lbHMgPSBmbXQtPmF1ZGlvLmlfY2hhbm5lbHM7Ci0tLSAKLUdp dExhYgotCi0KLUZyb20gNTM0NTY0YjI4OWRiN2VlOTY2YWJmODg4MjA3MjU4YzNlNjgyOGM5OCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFpoYW8gWmhpbGkgPHF1aW5rYmxhY2tAZm94 bWFpbC5jb20+Ci1EYXRlOiBGcmksIDExIEp1biAyMDIxIDE4OjAyOjM0ICswODAwCi1TdWJqZWN0 OiBbUEFUQ0ggMDcvMTVdIGNvZGVjOiBhdmNvZGVjOiBjaGVjayBvcGVuIGNvZGVjIHJldHVybiB2 YWx1ZQotCi0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAyMWFiNmJlMjJlN2MxODMxY2ViZjAy M2ZkNTNiZDdmZmJmYWQyMmY2KSAoZWRpdGVkKQotZWRpdGVkOgotLSBvbiAzLjAgRGVjb2RlQmxv Y2sgcmV0dXJucyBhIHBpY3R1cmVfdCwgbm90IGFuIGVycm9yIGNvZGUKLS0tLQotIG1vZHVsZXMv Y29kZWMvYXZjb2RlYy9hdWRpby5jIHwgIDcgKysrKysrLQotIG1vZHVsZXMvY29kZWMvYXZjb2Rl Yy92aWRlby5jIHwgMTEgKysrKysrKy0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlv bnMoKyksIDUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29k ZWMvYXVkaW8uYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCi1pbmRleCBhM2Y2N2Y3 YmQ5My4uZTg0MzY3NTRmNGEgMTAwNjQ0Ci0tLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVk aW8uYwotKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMKLUBAIC0zMDksNyArMzA5 LDEyIEBAIHN0YXRpYyBpbnQgRGVjb2RlQmxvY2soIGRlY29kZXJfdCAqcF9kZWMsIGJsb2NrX3Qg KipwcF9ibG9jayApCi0gICAgICAmJiAhYXZjb2RlY19pc19vcGVuKCBjdHggKSApCi0gICAgIHsK LSAgICAgICAgIEluaXREZWNvZGVyQ29uZmlnKCBwX2RlYywgY3R4ICk7Ci0tICAgICAgICBPcGVu QXVkaW9Db2RlYyggcF9kZWMgKTsKLSsgICAgICAgIGlmKCBPcGVuQXVkaW9Db2RlYyggcF9kZWMg KSA8IDAgKQotKyAgICAgICAgewotKyAgICAgICAgICAgIGlmKCBwcF9ibG9jayAhPSBOVUxMICYm ICpwcF9ibG9jayAhPSBOVUxMICkKLSsgICAgICAgICAgICAgICAgYmxvY2tfUmVsZWFzZSggKnBw X2Jsb2NrICk7Ci0rICAgICAgICAgICAgcmV0dXJuIFZMQ0RFQ19FQ1JJVElDQUw7Ci0rICAgICAg ICB9Ci0gICAgIH0KLSAKLSAgICAgaWYoICFhdmNvZGVjX2lzX29wZW4oIGN0eCApICkKLWRpZmYg LS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYyBiL21vZHVsZXMvY29kZWMvYXZj b2RlYy92aWRlby5jCi1pbmRleCBjMzA2ZTkxNmM3ZC4uMDk2YTBiNzk0MGUgMTAwNjQ0Ci0tLS0g YS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYwotKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNv ZGVjL3ZpZGVvLmMKLUBAIC0xMTE0LDE3ICsxMTE0LDIwIEBAIHN0YXRpYyBwaWN0dXJlX3QgKkRl Y29kZUJsb2NrKCBkZWNvZGVyX3QgKnBfZGVjLCBibG9ja190ICoqcHBfYmxvY2ssIGJvb2wgKmVy cm9yCi0gICAgIGJvb2wgZW9zX3Nwb3R0ZWQgPSBmYWxzZTsKLSAKLSAKLS0gICAgYmxvY2tfdCAq cF9ibG9jazsKLSsgICAgYmxvY2tfdCAqcF9ibG9jayA9IHBwX2Jsb2NrID8gKnBwX2Jsb2NrIDog TlVMTDsKLSAgICAgdmxjX3RpY2tfdCBjdXJyZW50X3RpbWU7Ci0gCi0gICAgIGlmKCAhcF9jb250 ZXh0LT5leHRyYWRhdGFfc2l6ZSAmJiBwX2RlYy0+Zm10X2luLmlfZXh0cmEgKQotICAgICB7Ci0g ICAgICAgICBmZm1wZWdfSW5pdENvZGVjKCBwX2RlYyApOwotLSAgICAgICAgaWYoICFhdmNvZGVj X2lzX29wZW4oIHBfY29udGV4dCApICkKLS0gICAgICAgICAgICBPcGVuVmlkZW9Db2RlYyggcF9k ZWMgKTsKLSsgICAgICAgIGlmKCAhYXZjb2RlY19pc19vcGVuKCBwX2NvbnRleHQgKSAmJiBPcGVu VmlkZW9Db2RlYyhwX2RlYykgPCAwICkKLSsgICAgICAgIHsKLSsgICAgICAgICAgICBpZiggcF9i bG9jayAhPSBOVUxMICkKLSsgICAgICAgICAgICAgICAgYmxvY2tfUmVsZWFzZSggcF9ibG9jayAp OwotKyAgICAgICAgICAgIHJldHVybiBOVUxMOwotKyAgICAgICAgfQotICAgICB9Ci0gCi0tICAg IHBfYmxvY2sgPSBwcF9ibG9jayA/ICpwcF9ibG9jayA6IE5VTEw7Ci0gICAgIGlmKCFwX2Jsb2Nr ICYmICEocF9zeXMtPnBfY29kZWMtPmNhcGFiaWxpdGllcyAmIEFWX0NPREVDX0NBUF9ERUxBWSkg KQotICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gCi0tLSAKLUdpdExhYgotCi0KLUZyb20gYjJiNTRl YjFlZmEzZWNjNzJhNGE2NGQwZDk2MmNhYjA2NzZmYmNlMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKLUZyb206IFN0ZXZlIExob21tZSA8cm9idXg0QHljYmNyLnh5ej4KLURhdGU6IEZyaSwgNiBK YW4gMjAyMyAxMDoxNjowOSArMDEwMAotU3ViamVjdDogW1BBVENIIDA4LzE1XSBhdmNvZGVjOiB1 c2UgQVJSQVlfU0laRSBpbnN0ZWFkIG9mIGN1c3RvbSBjb2RlCi0KLShjaGVycnkgcGlja2VkIGZy b20gY29tbWl0IDI4YzgwZWU0N2U2Y2RmOTYxZjUwMWVlZDlkNDgzNzk1NmIzOGFmZDEpCi0tLS0K LSBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwg MSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL21vZHVsZXMvY29k ZWMvYXZjb2RlYy9hdWRpby5jIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMKLWluZGV4 IGU4NDM2NzU0ZjRhLi4yMDc0NDAxMDQzMyAxMDA2NDQKLS0tLSBhL21vZHVsZXMvY29kZWMvYXZj b2RlYy9hdWRpby5jCi0rKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYwotQEAgLTU1 OCw3ICs1NTgsNyBAQCB2bGNfZm91cmNjX3QgR2V0VmxjQXVkaW9Gb3JtYXQoIGludCBmbXQgKQot ICAgICAgICAgW0FWX1NBTVBMRV9GTVRfRkxUUF0gID0gVkxDX0NPREVDX0ZMMzIsCi0gICAgICAg ICBbQVZfU0FNUExFX0ZNVF9EQkxQXSAgPSBWTENfQ09ERUNfRkw2NCwKLSAgICAgfTsKLS0gICAg aWYoIChzaXplb2YoZmNjKSAvIHNpemVvZihmY2NbMF0pKSA+ICh1bnNpZ25lZClmbXQgKQotKyAg ICBpZiggQVJSQVlfU0laRShmY2MpID4gKHVuc2lnbmVkKWZtdCApCi0gICAgICAgICByZXR1cm4g ZmNjW2ZtdF07Ci0gICAgIHJldHVybiBWTENfQ09ERUNfUzE2TjsKLSB9Ci0tLSAKLUdpdExhYgot Ci0KLUZyb20gNzYzZGMzZWJhNTJjYjc2MzNhODRmNDRkY2RlMTk2MDJmY2E1ZWFjNyBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IElsa2thIE9sbGFra2EgPGlsZW9vQHZpZGVvbGFuLm9y Zz4KLURhdGU6IFdlZCwgNSBKdWwgMjAyMyAxNTowOTo1NyArMDMwMAotU3ViamVjdDogW1BBVENI IDA5LzE1XSBhdmNvZGVjL2F1ZGlvOiBtYWtlIGNoYW5uZWwgbWFwcGluZyBhcnJheSAwIHRlcm1p bmF0ZWQKLQotQWxzbyBjaGFuZ2UgcGlfY2hhbm5lbHNfc3JjIHRvIGJlIG9ubHkgQU9VVF9DSEFO X01BWCBpbnN0ZWFkIG9mIHNhbWUKLXNpemUgYXMgbWFwcGluZyBhcnJheS4KLQotKGNoZXJyeSBw aWNrZWQgZnJvbSBjb21taXQgMGZmODZiZjhhMjhhMDgwMzQwZjYwMGNiODU2MTgxNWZjNDNlM2I0 YSkgKHJlYmFzZWQpCi1yZWJhc2VkOgotLSB0aGUgY29kZSBhcm91bmQgaXMgc2xpZ2h0bHkgZGlm ZmVyZW50Ci0tLS0KLSBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYyB8IDYgKysrLS0tCi0g MSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAt LWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jIGIvbW9kdWxlcy9jb2RlYy9hdmNv ZGVjL2F1ZGlvLmMKLWluZGV4IDIwNzQ0MDEwNDMzLi4wNGM1NDAxNzNiZiAxMDA2NDQKLS0tLSBh L21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCi0rKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29k ZWMvYXVkaW8uYwotQEAgLTU4NSw2ICs1ODUsNyBAQCBzdGF0aWMgY29uc3QgdWludDY0X3QgcGlf Y2hhbm5lbHNfbWFwW11bMl0gPQotICAgICB7IEFWX0NIX1RPUF9CQUNLX1JJR0hULCAgICAwIH0s Ci0gICAgIHsgQVZfQ0hfU1RFUkVPX0xFRlQsICAgICAgIDAgfSwKLSAgICAgeyBBVl9DSF9TVEVS RU9fUklHSFQsICAgICAgMCB9LAotKyAgICB7IDAsIDAgfSwKLSB9OwotIAotIHN0YXRpYyB2b2lk IFNldHVwT3V0cHV0Rm9ybWF0KCBkZWNvZGVyX3QgKnBfZGVjLCBib29sIGJfdHJ1c3QgKQotQEAg LTYxNyw4ICs2MTgsNyBAQCBzdGF0aWMgdm9pZCBTZXR1cE91dHB1dEZvcm1hdCggZGVjb2Rlcl90 ICpwX2RlYywgYm9vbCBiX3RydXN0ICkKLSAgICAgfQotICNlbmRpZgotIAotLSAgICBjb25zdCB1 bnNpZ25lZCBpX29yZGVyX21heCA9IHNpemVvZihwaV9jaGFubmVsc19tYXApL3NpemVvZigqcGlf Y2hhbm5lbHNfbWFwKTsKLS0gICAgdWludDMyX3QgcGlfb3JkZXJfc3JjW2lfb3JkZXJfbWF4XTsK LSsgICAgdWludDMyX3QgcGlfb3JkZXJfc3JjW0FPVVRfQ0hBTl9NQVhdID0geyAwIH07Ci0gCi0g ICAgIGludCBpX2NoYW5uZWxzX3NyYyA9IDAsIGNoYW5uZWxfY291bnQ7Ci0gICAgIHVpbnQ2NF90 IGNoYW5uZWxfbGF5b3V0X21hc2s7Ci1AQCAtNjM3LDcgKzYzNyw3IEBAIHN0YXRpYyB2b2lkIFNl dHVwT3V0cHV0Rm9ybWF0KCBkZWNvZGVyX3QgKnBfZGVjLCBib29sIGJfdHJ1c3QgKQotIAotICAg ICBpZiggY2hhbm5lbF9sYXlvdXRfbWFzayApCi0gICAgIHsKLS0gICAgICAgIGZvciggdW5zaWdu ZWQgaSA9IDA7IGkgPCBpX29yZGVyX21heAotKyAgICAgICAgZm9yKCB1bnNpZ25lZCBpID0gMDsg cGlfY2hhbm5lbHNfbWFwW2ldWzBdCi0gICAgICAgICAgJiYgaV9jaGFubmVsc19zcmMgPCBjaGFu bmVsX2NvdW50OyBpKysgKQotICAgICAgICAgewotICAgICAgICAgICAgIGlmKCBjaGFubmVsX2xh eW91dF9tYXNrICYgcGlfY2hhbm5lbHNfbWFwW2ldWzBdICkKLS0tIAotR2l0TGFiCi0KLQotRnJv bSBkMWZiNWM2Y2IzNzJkMjIzMzA0NjA2NGRiMTc0ZGFmMTk4N2MxMjExIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0ZyYW49QzM9QTdvaXM9MjBDYXJ0ZWduaWU/PSA8 ZmN2bGNkZXZAZnJlZS5mcj4KLURhdGU6IE1vbiwgMTAgSnVuIDIwMjQgMTE6MTA6MzcgKzA3MDAK LVN1YmplY3Q6IFtQQVRDSCAxMC8xNV0gY29kZWM6IGF2Y29kZWM6IGZpeCBjaF9sYXlvdXQgcmVx dWlyZW1lbnQKLQotcmVmcyAjMjg2NjcKLQotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNDE3 Nzg1MzVkY2FlOGIxNDVlYmZhYTAzOTJkZTI4MWU0NzBhOTFiZikgKGVkaXRlZCkKLWVkaXRlZDoK LS0gb24gMy4wIHRoZSBhdWRpbyBjaGVjayB3YXMgc3RpbGwgdXNpbmcgYSBMSUJBVkNPREVDX1ZF UlNJT05fQ0hFQ0sgY2hlY2sKLS0gdGhlIG11eC9kZW11eCBjaGVja3Mgd2VyZSBhbHJlYWR5IHRo ZXJlIHdpdGggZGlmZmVyZW50IHNwYWNlcwotLS0tCi0gbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1 ZGlvLmMgIHwgMiArLQotIG1vZHVsZXMvZGVtdXgvYXZmb3JtYXQvZGVtdXguYyB8IDIgKy0KLSBt b2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jICAgfCAyICstCi0gMyBmaWxlcyBjaGFuZ2VkLCAz IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9tb2R1bGVzL2Nv ZGVjL2F2Y29kZWMvYXVkaW8uYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCi1pbmRl eCAwNGM1NDAxNzNiZi4uOTc5MjU2YzQwMGEgMTAwNjQ0Ci0tLS0gYS9tb2R1bGVzL2NvZGVjL2F2 Y29kZWMvYXVkaW8uYwotKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMKLUBAIC0x NDIsNyArMTQyLDcgQEAgc3RhdGljIGludCBPcGVuQXVkaW9Db2RlYyggZGVjb2Rlcl90ICpwX2Rl YyApCi0gICAgIH0KLSAKLSAgICAgY3R4LT5zYW1wbGVfcmF0ZSA9IHBfZGVjLT5mbXRfaW4uYXVk aW8uaV9yYXRlOwotLSNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDI0LCAxMDApCi0r I2lmIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKDU3LCAyNCwgMTAwKQotICAgICBhdl9jaGFubmVs X2xheW91dF9kZWZhdWx0KCAmY3R4LT5jaF9sYXlvdXQsIHBfZGVjLT5mbXRfaW4uYXVkaW8uaV9j aGFubmVscyApOwotICNlbHNlCi0gICAgIGN0eC0+Y2hhbm5lbHMgPSBwX2RlYy0+Zm10X2luLmF1 ZGlvLmlfY2hhbm5lbHM7Ci1kaWZmIC0tZ2l0IGEvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9kZW11 eC5jIGIvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9kZW11eC5jCi1pbmRleCA5OTc1YjBmNDdiNi4u YzQ5ZjdlYjRmYzAgMTAwNjQ0Ci0tLS0gYS9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L2RlbXV4LmMK LSsrKyBiL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvZGVtdXguYwotQEAgLTQwMCw3ICs0MDAsNyBA QCBpbnQgYXZmb3JtYXRfT3BlbkRlbXV4KCB2bGNfb2JqZWN0X3QgKnBfdGhpcyApCi0gICAgICAg ICAgICAgZXNfZm9ybWF0X0luaXQoICZlc19mbXQsIEFVRElPX0VTLCBmY2MgKTsKLSAgICAgICAg ICAgICBlc19mbXQuaV9vcmlnaW5hbF9mb3VyY2MgPSBDb2RlY1RhZ1RvRm91cmNjKCBjcC0+Y29k ZWNfdGFnICk7Ci0gICAgICAgICAgICAgZXNfZm10LmlfYml0cmF0ZSA9IGNwLT5iaXRfcmF0ZTsK LS0jaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKCA1OSwgMjQsIDEwMCApCi0rI2lmIExJQkFW Q09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgMjQsIDEwMCkKLSAgICAgICAgICAgICBlc19mbXQuYXVk aW8uaV9jaGFubmVscyA9IGNwLT5jaF9sYXlvdXQubmJfY2hhbm5lbHM7Ci0gI2Vsc2UKLSAgICAg ICAgICAgICBlc19mbXQuYXVkaW8uaV9jaGFubmVscyA9IGNwLT5jaGFubmVsczsKLWRpZmYgLS1n aXQgYS9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jIGIvbW9kdWxlcy9kZW11eC9hdmZvcm1h dC9tdXguYwotaW5kZXggYTQ4MTkwYzkzY2EuLjA5MGVkOWY1YmZhIDEwMDY0NAotLS0tIGEvbW9k dWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYwotKysrIGIvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9t dXguYwotQEAgLTI3Myw3ICsyNzMsNyBAQCBzdGF0aWMgaW50IEFkZFN0cmVhbSggc291dF9tdXhf dCAqcF9tdXgsIHNvdXRfaW5wdXRfdCAqcF9pbnB1dCApCi0gICAgIHsKLSAgICAgY2FzZSBBVURJ T19FUzoKLSAgICAgICAgIGNvZGVjcGFyLT5jb2RlY190eXBlID0gQVZNRURJQV9UWVBFX0FVRElP OwotLSNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soIDU5LCAyNCwgMTAwICkKLSsjaWYgTElC QVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCAyNCwgMTAwKQotICAgICAgICAgYXZfY2hhbm5lbF9s YXlvdXRfZGVmYXVsdCggJmNvZGVjcGFyLT5jaF9sYXlvdXQsIGZtdC0+YXVkaW8uaV9jaGFubmVs cyApOwotICNlbHNlCi0gICAgICAgICBjb2RlY3Bhci0+Y2hhbm5lbHMgPSBmbXQtPmF1ZGlvLmlf Y2hhbm5lbHM7Ci0tLSAKLUdpdExhYgotCi0KLUZyb20gMGJjYjMwNmI3YzA1NTQ5YTc5NWI5MDFh ZTMzZDZjNzIwNDQ1NjcxNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0ZXZlIExo b21tZSA8cm9idXg0QHljYmNyLnh5ej4KLURhdGU6IFR1ZSwgMTggSnVuIDIwMjQgMTU6MzQ6MTAg KzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAxMS8xNV0gZmZtcGVnOiBmaXggbGliYXZ1dGlsIHZlcnNp b24gY2hlY2sgZm9yCi0gYXZfY2hhbm5lbF9sYXlvdXRfZGVmYXVsdCgpCi0KLUl0IHdhcyBhZGRl ZCBpbiBjNDE4OTlhMzc3MGNiNDUxMGUxNWIyMjNmYTM0ZDEyOTMwNWIxNTg5IHdoaWNoCi13YXMg bGliYXZ1dGlsIDU3LjIzLjEwMCBhdCB0aGUgdGltZSBidXQgdGhlIG1pbm9yIHZlcnNpb24gd2Fz IG5vdCB1cGRhdGVkIGluCi10aGF0IGNvbW1pdCBzbyB3ZSBjaGVjayA1Ny4yNC4xMDAuCi0KLVRo ZSBzYW1lIGNoZWNrIGFwcGxpZXMgZm9yIGF2X2NoYW5uZWxfbGF5b3V0X2NvcHkoKSBhZGRlZCBp biB0aGUgc2FtZSBjb21taXQuCi0KLVRoaXMgaXMgcGFydCBvZiBGRm1wZWcgNS4xLgotCi1odHRw czovL2dpdGh1Yi5jb20vRkZtcGVnL0ZGbXBlZy9jb21taXQvMDg2YTgwNDgwNjFiZjlmYjRjNjM5 NDNmNjk2MmRiNDgxNzVmNjU1YwotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMTk1ZjBjOTg1 OTliNTU5NTBjNDlhNjJmOThkOWQzNDk1YmUzMTBkZikgKHJlYmFzZWQpCi1yZWJhc2VkOgotLSB0 aGUgY29kZSBhcm91bmQgaXMgc2xpZ2h0bHkgZGlmZmVyZW50Ci0tLS0KLSBtb2R1bGVzL2NvZGVj L2F2Y29kZWMvZW5jb2Rlci5jIHwgOCArKysrLS0tLQotIG1vZHVsZXMvZGVtdXgvYXZmb3JtYXQv bXV4LmMgICAgfCAyICstCi0gMiBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVs ZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5j IGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYwotaW5kZXggMjAxNGI4YWZhZjUuLmVj NjNjOWM1NDM5IDEwMDY0NAotLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYwot KysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYwotQEAgLTc2NCw3ICs3NjQsNyBA QCBpbnQgSW5pdFZpZGVvRW5jKCB2bGNfb2JqZWN0X3QgKnBfdGhpcyApCi0gICAgICAgICB1aW50 MzJfdCBvcmRlcl9tYXNrID0gMDsKLSAgICAgICAgIGludCBpX2NoYW5uZWxzX3NyYyA9IDA7Ci0g ICAgICAgICBtc2dfRGJnKCBwX2VuYywgIkNyZWF0aW5nIGNoYW5uZWwgb3JkZXIgZm9yIHJlb3Jk ZXJpbmciKTsKLS0jIGlmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgMjQsIDEwMCkKLSsj IGlmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgMjQsIDEwMCkgJiYgTElCQVZVVElMX1ZF UlNJT05fQ0hFQ0soNTcsIDI0LCAxMDApCi0gICAgICAgICBhdl9jaGFubmVsX2xheW91dF9kZWZh dWx0KCAmcF9jb250ZXh0LT5jaF9sYXlvdXQsIHBfZW5jLT5mbXRfb3V0LmF1ZGlvLmlfY2hhbm5l bHMgKTsKLSAgICAgICAgIHVpbnQ2NF90IGNoYW5uZWxfbWFzayA9IHBfY29udGV4dC0+Y2hfbGF5 b3V0LnUubWFzazsKLSAjIGVsc2UKLUBAIC05MTcsNyArOTE3LDcgQEAgZXJybXNnOgotIAotICAg ICAgICAgaWYoIHBfZW5jLT5mbXRfb3V0LmF1ZGlvLmlfY2hhbm5lbHMgPiAyICkKLSAgICAgICAg IHsKLS0jaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCAyNCwgMTAwKQotKyNpZiBMSUJB VkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDI0LCAxMDApICYmIExJQkFWVVRJTF9WRVJTSU9OX0NI RUNLKDU3LCAyNCwgMTAwKQotICAgICAgICAgICAgIGF2X2NoYW5uZWxfbGF5b3V0X2RlZmF1bHQo ICZwX2NvbnRleHQtPmNoX2xheW91dCwgMiApOwotICNlbHNlCi0gICAgICAgICAgICAgcF9jb250 ZXh0LT5jaGFubmVscyA9IDI7Ci1AQCAtMTI4MSw3ICsxMjgxLDcgQEAgc3RhdGljIGJsb2NrX3Qg KmhhbmRsZV9kZWxheV9idWZmZXIoIGVuY29kZXJfdCAqcF9lbmMsIGVuY29kZXJfc3lzX3QgKnBf c3lzLCB1bnMKLSAgICAgYXZfZnJhbWVfdW5yZWYoIHBfc3lzLT5mcmFtZSApOwotICAgICBwX3N5 cy0+ZnJhbWUtPmZvcm1hdCAgICAgPSBwX3N5cy0+cF9jb250ZXh0LT5zYW1wbGVfZm10OwotICAg ICBwX3N5cy0+ZnJhbWUtPm5iX3NhbXBsZXMgPSBsZWZ0b3Zlcl9zYW1wbGVzICsgcF9zeXMtPmlf c2FtcGxlc19kZWxheTsKLS0jaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCAyNCwgMTAw KQotKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDI0LCAxMDApICYmIExJQkFWVVRJ TF9WRVJTSU9OX0NIRUNLKDU3LCAyNCwgMTAwKQotICAgICBhdl9jaGFubmVsX2xheW91dF9jb3B5 KCZwX3N5cy0+ZnJhbWUtPmNoX2xheW91dCwgJnBfc3lzLT5wX2NvbnRleHQtPmNoX2xheW91dCk7 Ci0gI2Vsc2UKLSAgICAgcF9zeXMtPmZyYW1lLT5jaGFubmVsX2xheW91dCA9IHBfc3lzLT5wX2Nv bnRleHQtPmNoYW5uZWxfbGF5b3V0OwotQEAgLTE0MTYsNyArMTQxNiw3IEBAIHN0YXRpYyBibG9j a190ICpFbmNvZGVBdWRpbyggZW5jb2Rlcl90ICpwX2VuYywgYmxvY2tfdCAqcF9hb3V0X2J1ZiAp Ci0gICAgICAgICBwX3N5cy0+ZnJhbWUtPnB0cyAgICAgICAgPSBkYXRlX0dldCggJnBfc3lzLT5i dWZmZXJfZGF0ZSApICogcF9zeXMtPnBfY29udGV4dC0+dGltZV9iYXNlLmRlbiAvCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0xPQ0tfRlJFUSAvIHBfc3lzLT5wX2NvbnRl eHQtPnRpbWVfYmFzZS5udW07Ci0gCi0tI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwg MjQsIDEwMCkKLSsjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCAyNCwgMTAwKSAmJiBM SUJBVlVUSUxfVkVSU0lPTl9DSEVDSyg1NywgMjQsIDEwMCkKLSAgICAgICAgIGF2X2NoYW5uZWxf bGF5b3V0X2NvcHkoJnBfc3lzLT5mcmFtZS0+Y2hfbGF5b3V0LCAmcF9zeXMtPnBfY29udGV4dC0+ Y2hfbGF5b3V0KTsKLSAjZWxzZQotICAgICAgICAgcF9zeXMtPmZyYW1lLT5jaGFubmVsX2xheW91 dCA9IHBfc3lzLT5wX2NvbnRleHQtPmNoYW5uZWxfbGF5b3V0OwotZGlmZiAtLWdpdCBhL21vZHVs ZXMvZGVtdXgvYXZmb3JtYXQvbXV4LmMgYi9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jCi1p bmRleCAwOTBlZDlmNWJmYS4uYmY2NWNhMzY3MTYgMTAwNjQ0Ci0tLS0gYS9tb2R1bGVzL2RlbXV4 L2F2Zm9ybWF0L211eC5jCi0rKysgYi9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jCi1AQCAt MjczLDcgKzI3Myw3IEBAIHN0YXRpYyBpbnQgQWRkU3RyZWFtKCBzb3V0X211eF90ICpwX211eCwg c291dF9pbnB1dF90ICpwX2lucHV0ICkKLSAgICAgewotICAgICBjYXNlIEFVRElPX0VTOgotICAg ICAgICAgY29kZWNwYXItPmNvZGVjX3R5cGUgPSBBVk1FRElBX1RZUEVfQVVESU87Ci0tI2lmIExJ QkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgMjQsIDEwMCkKLSsjaWYgTElCQVZVVElMX1ZFUlNJ T05fQ0hFQ0soNTcsIDI0LCAxMDApCi0gICAgICAgICBhdl9jaGFubmVsX2xheW91dF9kZWZhdWx0 KCAmY29kZWNwYXItPmNoX2xheW91dCwgZm10LT5hdWRpby5pX2NoYW5uZWxzICk7Ci0gI2Vsc2UK LSAgICAgICAgIGNvZGVjcGFyLT5jaGFubmVscyA9IGZtdC0+YXVkaW8uaV9jaGFubmVsczsKLS0t IAotR2l0TGFiCi0KLQotRnJvbSAzOGY5NjM4ZWM3MWMyZmU5MTdkZmQ5OWFjMmUxNzk1YjMzNTdj ZmMzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogU3RldmUgTGhvbW1lIDxyb2J1eDRA eWNiY3IueHl6PgotRGF0ZTogVHVlLCAxOCBKdW4gMjAyNCAxNjowNDo0MSArMDIwMAotU3ViamVj dDogW1BBVENIIDEyLzE1XSBmZm1wZWc6IGZpeCBsaWJhdmNvZGVjIHZlcnNpb24gY2hlY2sgZm9y Ci0gQVZDb2RlY1BhcmFtZXRlcnMuY2hfbGF5b3V0Ci1NSU1FLVZlcnNpb246IDEuMAotQ29udGVu dC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29k aW5nOiA4Yml0Ci0KLUl0IHdhcyBhZGRlZCBpbiAyNzZjMDY3MjZmYmQyZjc4NGQ1MTE4OTg3MGJk ODM0ZTkyODQ4MTJmIHdoaWNoCi13YXMgbGliYXZjb2RlYyA1OS4yMy4xMDAgYXQgdGhlIHRpbWUg YnV0IHRoZSBtaW5vciB2ZXJzaW9uIHdhcyBub3QgdXBkYXRlZCBpbgotdGhhdCBjb21taXQgc28g d2UgY2hlY2sgNTkuMjQuMTAwLgotCi1UaGlzIGlzIHBhcnQgb2YgRkZtcGVnIDUuMS4KLQotSXQg d2FzIGVycm9uZW91c2x5IHJlbW92ZWQgaW4gYTU1ZWMzMmFiMzc2MGQ5ZWRiNmYwNTQ4MWNkM2E5 ODFhYTQyODc4ZC4KLQotaHR0cHM6Ly9naXRodWIuY29tL0ZGbXBlZy9GRm1wZWcvY29tbWl0LzI3 NmMwNjcyNmZiZDJmNzg0ZDUxMTg5ODcwYmQ4MzRlOTI4NDgxMmYKLQotQ28tYXV0aG9yZWQtYnk6 IEZyYW7Dp29pcyBDYXJ0ZWduaWUgPGZjdmxjZGV2QGZyZWUuZnI+Ci0oY2hlcnJ5IHBpY2tlZCBm cm9tIGNvbW1pdCA1OTdiZGI4ZTA3ODQxMDFiNWY0MTJmZWJhMzMwOTU1OGFkNWI4ODYyKQotLS0t Ci0gbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwg MSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL21vZHVsZXMvZGVt dXgvYXZmb3JtYXQvbXV4LmMgYi9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jCi1pbmRleCBi ZjY1Y2EzNjcxNi4uZDhiZTVkMWQ5ZjUgMTAwNjQ0Ci0tLS0gYS9tb2R1bGVzL2RlbXV4L2F2Zm9y bWF0L211eC5jCi0rKysgYi9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jCi1AQCAtMjczLDcg KzI3Myw3IEBAIHN0YXRpYyBpbnQgQWRkU3RyZWFtKCBzb3V0X211eF90ICpwX211eCwgc291dF9p bnB1dF90ICpwX2lucHV0ICkKLSAgICAgewotICAgICBjYXNlIEFVRElPX0VTOgotICAgICAgICAg Y29kZWNwYXItPmNvZGVjX3R5cGUgPSBBVk1FRElBX1RZUEVfQVVESU87Ci0tI2lmIExJQkFWVVRJ TF9WRVJTSU9OX0NIRUNLKDU3LCAyNCwgMTAwKQotKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hF Q0soNTksIDI0LCAxMDApICYmIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKDU3LCAyNCwgMTAwKQot ICAgICAgICAgYXZfY2hhbm5lbF9sYXlvdXRfZGVmYXVsdCggJmNvZGVjcGFyLT5jaF9sYXlvdXQs IGZtdC0+YXVkaW8uaV9jaGFubmVscyApOwotICNlbHNlCi0gICAgICAgICBjb2RlY3Bhci0+Y2hh bm5lbHMgPSBmbXQtPmF1ZGlvLmlfY2hhbm5lbHM7Ci0tLSAKLUdpdExhYgotCi0KLUZyb20gMDkz OWQ1NWI4MWU5MTZmZjMwM2Y5MmYzMDEyNTdjMmUwODg1ZmRiOSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKLUZyb206IFN0ZXZlIExob21tZSA8cm9idXg0QHljYmNyLnh5ej4KLURhdGU6IFdlZCwg MTkgSnVuIDIwMjQgMTM6NDE6MDQgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAxMy8xNV0gYXZjb2Rl YzogZml4IGxpYmF2Y29kZWMgdmVyc2lvbiBjaGVjayBmb3IKLSBBVkNvZGVjQ29udGV4dC5jaF9s YXlvdXQKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJz ZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotSXQgd2FzIGFkZGVk IGluIDU0OGFlYjkzODM0Yjg0MjVjODZkMWNlNjBmZGRjMWQ0MTgwNTcyNGQgd2hpY2gKLXdhcyBs aWJhdmNvZGVjIDU5LjIzLjEwMCBhdCB0aGUgdGltZSBidXQgdGhlIG1pbm9yIHZlcnNpb24gd2Fz IG5vdCB1cGRhdGVkIGluCi10aGF0IGNvbW1pdCBzbyB3ZSBjaGVjayA1OS4yNC4xMDAuCi0KLVRo aXMgaXMgcGFydCBvZiBGRm1wZWcgNS4xLgotCi1odHRwczovL2dpdGh1Yi5jb20vRkZtcGVnL0ZG bXBlZy9jb21taXQvNTQ4YWViOTM4MzRiODQyNWM4NmQxY2U2MGZkZGMxZDQxODA1NzI0ZAotCi1D by1hdXRob3JlZC1ieTogRnJhbsOnb2lzIENhcnRlZ25pZSA8ZmN2bGNkZXZAZnJlZS5mcj4KLShj aGVycnkgcGlja2VkIGZyb20gY29tbWl0IDhmZDkxOGI4Nzg3YjhkMDc3ZGVjZjFhMmI5NTVhYjBj N2I5NjRiZjMpIChyZWJhc2VkKQotcmViYXNlZDoKLS0gb24gMy4wIGZtdF9pbiBpcyBub3QgYSBw b2ludGVyCi0tLS0KLSBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYyB8IDIgKy0KLSAxIGZp bGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBh L21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1 ZGlvLmMKLWluZGV4IDk3OTI1NmM0MDBhLi5mYjIyZjAzMzAwNSAxMDA2NDQKLS0tLSBhL21vZHVs ZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCi0rKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVk aW8uYwotQEAgLTE0Miw3ICsxNDIsNyBAQCBzdGF0aWMgaW50IE9wZW5BdWRpb0NvZGVjKCBkZWNv ZGVyX3QgKnBfZGVjICkKLSAgICAgfQotIAotICAgICBjdHgtPnNhbXBsZV9yYXRlID0gcF9kZWMt PmZtdF9pbi5hdWRpby5pX3JhdGU7Ci0tI2lmIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKDU3LCAy NCwgMTAwKQotKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDI0LCAxMDApICYmIExJ QkFWVVRJTF9WRVJTSU9OX0NIRUNLKDU3LCAyNCwgMTAwKQotICAgICBhdl9jaGFubmVsX2xheW91 dF9kZWZhdWx0KCAmY3R4LT5jaF9sYXlvdXQsIHBfZGVjLT5mbXRfaW4uYXVkaW8uaV9jaGFubmVs cyApOwotICNlbHNlCi0gICAgIGN0eC0+Y2hhbm5lbHMgPSBwX2RlYy0+Zm10X2luLmF1ZGlvLmlf Y2hhbm5lbHM7Ci0tLSAKLUdpdExhYgotCi0KLUZyb20gZTUwNzJiMzQwNDI1ZTc4NmI5ZTM3NmNk ZjRiZmY0OTYyYzZlMzJmMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0ZXZlIExo b21tZSA8cm9idXg0QHljYmNyLnh5ej4KLURhdGU6IFdlZCwgMTkgSnVuIDIwMjQgMDg6MzY6NDAg KzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAxNC8xNV0gZmZtcGVnOiBmaXggbGliYXZ1dGlsIHZlcnNp b24gY2hlY2sgZm9yCi0gQVZGcmFtZS5jaF9sYXlvdXQKLQotSXQgd2FzIGFkZGVkIGluIGRiNmVm YTE4MTVlMjE3ZWQ3NmYzOWFlZThiMTVlZTVjNjQ2OTg1Mzcgd2hpY2gKLXdhcyBsaWJhdnV0aWwg NTcuMjMuMTAwIGF0IHRoZSB0aW1lIGJ1dCB0aGUgbWlub3IgdmVyc2lvbiB3YXMgbm90IHVwZGF0 ZWQgaW4KLXRoYXQgY29tbWl0IHNvIHdlIGNoZWNrIDU3LjI0LjEwMC4KLQotVGhpcyBpcyBwYXJ0 IG9mIEZGbXBlZyA1LjEuCi0KLWh0dHBzOi8vZ2l0aHViLmNvbS9GRm1wZWcvRkZtcGVnL2NvbW1p dC9kYjZlZmExODE1ZTIxN2VkNzZmMzlhZWU4YjE1ZWU1YzY0Njk4NTM3Ci0oY2hlcnJ5IHBpY2tl ZCBmcm9tIGNvbW1pdCBmMjM3MTU1ODg3ZjA0OWY4YmVmZWYyZmRmYWRhZTdiNjBmNjk3YjBkKQot LS0tCi0gbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMgfCAyICstCi0gMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9tb2R1bGVz L2NvZGVjL2F2Y29kZWMvYXVkaW8uYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCi1p bmRleCBmYjIyZjAzMzAwNS4uYzI3NzcxYWViMmUgMTAwNjQ0Ci0tLS0gYS9tb2R1bGVzL2NvZGVj L2F2Y29kZWMvYXVkaW8uYwotKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMKLUBA IC00MDcsNyArNDA3LDcgQEAgc3RhdGljIGludCBEZWNvZGVCbG9jayggZGVjb2Rlcl90ICpwX2Rl YywgYmxvY2tfdCAqKnBwX2Jsb2NrICkKLSAgICAgICAgIHJldCA9IGF2Y29kZWNfcmVjZWl2ZV9m cmFtZSggY3R4LCBmcmFtZSApOwotICAgICAgICAgaWYoIHJldCA9PSAwICkKLSAgICAgICAgIHsK LS0jaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCAyNCwgMTAwKQotKyNpZiBMSUJBVlVU SUxfVkVSU0lPTl9DSEVDSyg1NywgMjQsIDEwMCkKLSAgICAgICAgICAgICBpbnQgY2hhbm5lbHMg PSBmcmFtZS0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzOwotICNlbHNlCi0gICAgICAgICAgICAgaW50 IGNoYW5uZWxzID0gY3R4LT5jaGFubmVsczsKLS0tIAotR2l0TGFiCi0KLQotRnJvbSAxNzEzYmU1 NTJmOWUyNjI2MGEzYWMzM2NlMDRhYjg5ZjY2MDc4MGNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQotRnJvbTogPT9VVEYtOD9xP0ZyYW49QzM9QTdvaXM9MjBDYXJ0ZWduaWU/PSA8ZmN2bGNkZXZA ZnJlZS5mcj4KLURhdGU6IFRodSwgMjAgSnVuIDIwMjQgMTM6MTI6MzcgKzAyMDAKLVN1YmplY3Q6 IFtQQVRDSCAxNS8xNV0gYXZjb2RlYzogYWRkIGEgZGVmaW5lIHRvIHRlc3QgZm9yCi0gQVZDb2Rl Y0NvbnRleHQuY2hfbGF5b3V0IGF2YWlsYWJpbGl0eQotCi1Dby1hdXRob3JlZC1ieTogU3RldmUg TGhvbW1lIDxyb2J1eDRAeWNiY3IueHl6PgotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgM2Fi ZjkzNzM1ZGY5N2NjMmM5NmUxMTAyOGI3NjA2NzU0N2MyN2ViNykgKHJlYmFzZWQpCi1yZWJhc2Vk OgotLSBvbiAzLjAgdGhlIGZtdF9pbiBpcyBub3QgYSBwb2ludGVyCi0tIHRoZSBjb2RlIGFyb3Vu ZCBpcyBzbGlnaHRseSBkaWZmZXJlbnQgZHVlIHRvIHRoZSB1c2Ugb2YgQVBJX0NIQU5ORUxfTEFZ T1VUCi0tLS0KLSBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYyAgIHwgIDggKysrKystLS0K LSBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jIHwgMTIgKysrKysrKy0tLS0tCi0gMiBm aWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQotCi1kaWZmIC0t Z2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29k ZWMvYXVkaW8uYwotaW5kZXggYzI3NzcxYWViMmUuLmI2MTg2ZDZlYzU2IDEwMDY0NAotLS0tIGEv bW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMKLSsrKyBiL21vZHVsZXMvY29kZWMvYXZjb2Rl Yy9hdWRpby5jCi1AQCAtNDEsNiArNDEsOCBAQAotICNpbmNsdWRlIDxsaWJhdmNvZGVjL2F2Y29k ZWMuaD4KLSAjaW5jbHVkZSA8bGliYXZ1dGlsL21lbS5oPgotIAotKyNkZWZpbmUgQVBJX0NIQU5O RUxfTEFZT1VUX1NUUlVDVCAoTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCAyNCwgMTAwKSkg Ly8gQVZDb2RlY0NvbnRleHQuY2hfbGF5b3V0Ci0rCi0gI2RlZmluZSBBUElfQ0hBTk5FTF9MQVlP VVQgKExJQkFWX1VUSUxfVkVSU0lPTl9DSEVDSyggNTIsIDIsIDYsIDAsIDEwMCkpCi0gCi0gI2lm IEFQSV9DSEFOTkVMX0xBWU9VVAotQEAgLTE0Miw3ICsxNDQsNyBAQCBzdGF0aWMgaW50IE9wZW5B dWRpb0NvZGVjKCBkZWNvZGVyX3QgKnBfZGVjICkKLSAgICAgfQotIAotICAgICBjdHgtPnNhbXBs ZV9yYXRlID0gcF9kZWMtPmZtdF9pbi5hdWRpby5pX3JhdGU7Ci0tI2lmIExJQkFWQ09ERUNfVkVS U0lPTl9DSEVDSyg1OSwgMjQsIDEwMCkgJiYgTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soNTcsIDI0 LCAxMDApCi0rI2lmIEFQSV9DSEFOTkVMX0xBWU9VVF9TVFJVQ1QgJiYgTElCQVZVVElMX1ZFUlNJ T05fQ0hFQ0soNTcsIDI0LCAxMDApCi0gICAgIGF2X2NoYW5uZWxfbGF5b3V0X2RlZmF1bHQoICZj dHgtPmNoX2xheW91dCwgcF9kZWMtPmZtdF9pbi5hdWRpby5pX2NoYW5uZWxzICk7Ci0gI2Vsc2UK LSAgICAgY3R4LT5jaGFubmVscyA9IHBfZGVjLT5mbXRfaW4uYXVkaW8uaV9jaGFubmVsczsKLUBA IC01OTgsNyArNjAwLDcgQEAgc3RhdGljIHZvaWQgU2V0dXBPdXRwdXRGb3JtYXQoIGRlY29kZXJf dCAqcF9kZWMsIGJvb2wgYl90cnVzdCApCi0gICAgIHBfZGVjLT5mbXRfb3V0LmF1ZGlvLmlfcmF0 ZSA9IHBfc3lzLT5wX2NvbnRleHQtPnNhbXBsZV9yYXRlOwotIAotICAgICAvKiAqLwotLSNpZiBM SUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDI0LCAxMDApCi0rI2lmIEFQSV9DSEFOTkVMX0xB WU9VVF9TVFJVQ1QKLSAgICAgaWYoIHBfc3lzLT5pX3ByZXZpb3VzX2NoYW5uZWxzID09IHBfc3lz LT5wX2NvbnRleHQtPmNoX2xheW91dC5uYl9jaGFubmVscyAmJgotICAgICAgICAgcF9zeXMtPmlf cHJldmlvdXNfbGF5b3V0ID09IHBfc3lzLT5wX2NvbnRleHQtPmNoX2xheW91dC51Lm1hc2sgKQot ICAgICAgICAgcmV0dXJuOwotQEAgLTYyMiw3ICs2MjQsNyBAQCBzdGF0aWMgdm9pZCBTZXR1cE91 dHB1dEZvcm1hdCggZGVjb2Rlcl90ICpwX2RlYywgYm9vbCBiX3RydXN0ICkKLSAKLSAgICAgaW50 IGlfY2hhbm5lbHNfc3JjID0gMCwgY2hhbm5lbF9jb3VudDsKLSAgICAgdWludDY0X3QgY2hhbm5l bF9sYXlvdXRfbWFzazsKLS0jaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCAyNCwgMTAw KQotKyNpZiBBUElfQ0hBTk5FTF9MQVlPVVRfU1RSVUNUCi0gICAgIGNoYW5uZWxfbGF5b3V0X21h c2sgPSBwX3N5cy0+cF9jb250ZXh0LT5jaF9sYXlvdXQudS5tYXNrOwotICAgICBjaGFubmVsX2Nv dW50ID0gcF9zeXMtPnBfY29udGV4dC0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzOwotICNlbGlmIEFQ SV9DSEFOTkVMX0xBWU9VVAotZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNv ZGVyLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jCi1pbmRleCBlYzYzYzljNTQz OS4uYjBkMzEyNjkyNDQgMTAwNjQ0Ci0tLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rl ci5jCi0rKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jCi1AQCAtNDcsNiArNDcs OCBAQAotICNpbmNsdWRlICJhdmNvZGVjLmgiCi0gI2luY2x1ZGUgImF2Y29tbW9uLmgiCi0gCi0r I2RlZmluZSBBUElfQ0hBTk5FTF9MQVlPVVRfU1RSVUNUIChMSUJBVkNPREVDX1ZFUlNJT05fQ0hF Q0soNTksIDI0LCAxMDApKSAvLyBBVkNvZGVjQ29udGV4dC5jaF9sYXlvdXQKLSsKLSAjZGVmaW5l IEFQSV9DSEFOTkVMX0xBWU9VVCAoTElCQVZfVVRJTF9WRVJTSU9OX0NIRUNLKCA1MiwgMiwgNiwg MCwgMTAwKSkKLSAKLSAjaWYgQVBJX0NIQU5ORUxfTEFZT1VUCi1AQCAtMTgyLDcgKzE4NCw3IEBA IHN0YXRpYyBjb25zdCB1aW50NjRfdCBwaV9jaGFubmVsc19tYXBbXVsyXSA9Ci0gICAgIHsgQVZf Q0hfU1RFUkVPX1JJR0hULCAgICAgIDAgfSwKLSB9OwotIAotLSMgaWYgIUxJQkFWQ09ERUNfVkVS U0lPTl9DSEVDSyg1OSwgMjQsIDEwMCkKLSsjIGlmICFBUElfQ0hBTk5FTF9MQVlPVVRfU1RSVUNU Ci0gc3RhdGljIGNvbnN0IHVpbnQzMl90IGNoYW5uZWxfbWFza1tdWzJdID0gewotICAgICB7MCww fSwKLSAgICAge0FPVVRfQ0hBTl9DRU5URVIsIEFWX0NIX0xBWU9VVF9NT05PfSwKLUBAIC03NjQs NyArNzY2LDcgQEAgaW50IEluaXRWaWRlb0VuYyggdmxjX29iamVjdF90ICpwX3RoaXMgKQotICAg ICAgICAgdWludDMyX3Qgb3JkZXJfbWFzayA9IDA7Ci0gICAgICAgICBpbnQgaV9jaGFubmVsc19z cmMgPSAwOwotICAgICAgICAgbXNnX0RiZyggcF9lbmMsICJDcmVhdGluZyBjaGFubmVsIG9yZGVy IGZvciByZW9yZGVyaW5nIik7Ci0tIyBpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDI0 LCAxMDApICYmIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKDU3LCAyNCwgMTAwKQotKyMgaWYgQVBJ X0NIQU5ORUxfTEFZT1VUX1NUUlVDVCAmJiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyg1NywgMjQs IDEwMCkKLSAgICAgICAgIGF2X2NoYW5uZWxfbGF5b3V0X2RlZmF1bHQoICZwX2NvbnRleHQtPmNo X2xheW91dCwgcF9lbmMtPmZtdF9vdXQuYXVkaW8uaV9jaGFubmVscyApOwotICAgICAgICAgdWlu dDY0X3QgY2hhbm5lbF9tYXNrID0gcF9jb250ZXh0LT5jaF9sYXlvdXQudS5tYXNrOwotICMgZWxz ZQotQEAgLTkxNyw3ICs5MTksNyBAQCBlcnJtc2c6Ci0gCi0gICAgICAgICBpZiggcF9lbmMtPmZt dF9vdXQuYXVkaW8uaV9jaGFubmVscyA+IDIgKQotICAgICAgICAgewotLSNpZiBMSUJBVkNPREVD X1ZFUlNJT05fQ0hFQ0soNTksIDI0LCAxMDApICYmIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKDU3 LCAyNCwgMTAwKQotKyNpZiBBUElfQ0hBTk5FTF9MQVlPVVRfU1RSVUNUICYmIExJQkFWVVRJTF9W RVJTSU9OX0NIRUNLKDU3LCAyNCwgMTAwKQotICAgICAgICAgICAgIGF2X2NoYW5uZWxfbGF5b3V0 X2RlZmF1bHQoICZwX2NvbnRleHQtPmNoX2xheW91dCwgMiApOwotICNlbHNlCi0gICAgICAgICAg ICAgcF9jb250ZXh0LT5jaGFubmVscyA9IDI7Ci1AQCAtMTI4MSw3ICsxMjgzLDcgQEAgc3RhdGlj IGJsb2NrX3QgKmhhbmRsZV9kZWxheV9idWZmZXIoIGVuY29kZXJfdCAqcF9lbmMsIGVuY29kZXJf c3lzX3QgKnBfc3lzLCB1bnMKLSAgICAgYXZfZnJhbWVfdW5yZWYoIHBfc3lzLT5mcmFtZSApOwot ICAgICBwX3N5cy0+ZnJhbWUtPmZvcm1hdCAgICAgPSBwX3N5cy0+cF9jb250ZXh0LT5zYW1wbGVf Zm10OwotICAgICBwX3N5cy0+ZnJhbWUtPm5iX3NhbXBsZXMgPSBsZWZ0b3Zlcl9zYW1wbGVzICsg cF9zeXMtPmlfc2FtcGxlc19kZWxheTsKLS0jaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5 LCAyNCwgMTAwKSAmJiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyg1NywgMjQsIDEwMCkKLSsjaWYg QVBJX0NIQU5ORUxfTEFZT1VUX1NUUlVDVCAmJiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyg1Nywg MjQsIDEwMCkKLSAgICAgYXZfY2hhbm5lbF9sYXlvdXRfY29weSgmcF9zeXMtPmZyYW1lLT5jaF9s YXlvdXQsICZwX3N5cy0+cF9jb250ZXh0LT5jaF9sYXlvdXQpOwotICNlbHNlCi0gICAgIHBfc3lz LT5mcmFtZS0+Y2hhbm5lbF9sYXlvdXQgPSBwX3N5cy0+cF9jb250ZXh0LT5jaGFubmVsX2xheW91 dDsKLUBAIC0xNDE2LDcgKzE0MTgsNyBAQCBzdGF0aWMgYmxvY2tfdCAqRW5jb2RlQXVkaW8oIGVu Y29kZXJfdCAqcF9lbmMsIGJsb2NrX3QgKnBfYW91dF9idWYgKQotICAgICAgICAgcF9zeXMtPmZy YW1lLT5wdHMgICAgICAgID0gZGF0ZV9HZXQoICZwX3N5cy0+YnVmZmVyX2RhdGUgKSAqIHBfc3lz LT5wX2NvbnRleHQtPnRpbWVfYmFzZS5kZW4gLwotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIENMT0NLX0ZSRVEgLyBwX3N5cy0+cF9jb250ZXh0LT50aW1lX2Jhc2UubnVtOwot IAotLSNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDI0LCAxMDApICYmIExJQkFWVVRJ TF9WRVJTSU9OX0NIRUNLKDU3LCAyNCwgMTAwKQotKyNpZiBBUElfQ0hBTk5FTF9MQVlPVVRfU1RS VUNUICYmIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKDU3LCAyNCwgMTAwKQotICAgICAgICAgYXZf Y2hhbm5lbF9sYXlvdXRfY29weSgmcF9zeXMtPmZyYW1lLT5jaF9sYXlvdXQsICZwX3N5cy0+cF9j b250ZXh0LT5jaF9sYXlvdXQpOwotICNlbHNlCi0gICAgICAgICBwX3N5cy0+ZnJhbWUtPmNoYW5u ZWxfbGF5b3V0ID0gcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbF9sYXlvdXQ7Ci0tLSAKLUdpdExh YgotCgpkaWZmIC0tZ2l0IGEvNjUyNy5wYXRjaCBiLzY1MjcucGF0Y2gKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDFjMzg2ZmEuLjAwMDAwMDAKLS0tIGEvNjUyNy5wYXRjaAorKysgL2Rl di9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLUZyb20gYTk0NTk0NGMyZDUwY2FjZmFjZGQ1YjE2ZDRl YTVlN2I0NzY2YTlmYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0ZXZlIExob21t ZSA8cm9idXg0QHljYmNyLnh5ej4KLURhdGU6IE1vbiwgMTYgRGVjIDIwMjQgMDk6Mjg6NTUgKzAx MDAKLVN1YmplY3Q6IFtQQVRDSF0gbmZzOiBmaXggbGlibmZzIEFQSSB2MiBzdXBwb3J0Ci0KLUlu dHJvZHVjZWQgaW4gbGlibmZzIDYuMC4wLgotCi1Dby1hdXRob3JlZC1ieTogcm9ubmllIHNhaGxi ZXJnIDxyb25uaWVzYWhsYmVyZ0BnbWFpbC5jb20+Ci1Dby1hdXRob3JlZC1ieTogVGhvbWFzIEd1 aWxsZW0gPHRob21hc0BnbGxtLmZyPgotLS0tCi0gbW9kdWxlcy9hY2Nlc3MvbmZzLmMgfCA5ICsr KysrKysrLQotIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkK LQotZGlmZiAtLWdpdCBhL21vZHVsZXMvYWNjZXNzL25mcy5jIGIvbW9kdWxlcy9hY2Nlc3MvbmZz LmMKLWluZGV4IGYxNjRjZGE4NjQ5OS4uMzUxMGMzZmUxZjE0IDEwMDY0NAotLS0tIGEvbW9kdWxl cy9hY2Nlc3MvbmZzLmMKLSsrKyBiL21vZHVsZXMvYWNjZXNzL25mcy5jCi1AQCAtMTg4LDcgKzE4 OCw4IEBAIG5mc19yZWFkX2NiKGludCBpX3N0YXR1cywgc3RydWN0IG5mc19jb250ZXh0ICpwX25m cywgdm9pZCAqcF9kYXRhLAotICAgICBlbHNlCi0gICAgIHsKLSAgICAgICAgIHBfc3lzLT5yZXMu cmVhZC5pX2xlbiA9IGlfc3RhdHVzOwotLSAgICAgICAgbWVtY3B5KHBfc3lzLT5yZXMucmVhZC5w X2J1ZiwgcF9kYXRhLCBpX3N0YXR1cyk7Ci0rICAgICAgICBpZiAocF9zeXMtPnJlcy5yZWFkLnBf YnVmICE9IE5VTEwgJiYgcF9kYXRhICE9IE5VTEwpCi0rICAgICAgICAgICAgbWVtY3B5KHBfc3lz LT5yZXMucmVhZC5wX2J1ZiwgcF9kYXRhLCBpX3N0YXR1cyk7Ci0gICAgIH0KLSB9Ci0gCi1AQCAt MjA4LDkgKzIwOSwxNSBAQCBGaWxlUmVhZChzdHJlYW1fdCAqcF9hY2Nlc3MsIHZvaWQgKnBfYnVm LCBzaXplX3QgaV9sZW4pCi0gICAgICAgICByZXR1cm4gMDsKLSAKLSAgICAgcF9zeXMtPnJlcy5y ZWFkLmlfbGVuID0gMDsKLSsjaWZkZWYgTElCTkZTX0FQSV9WMgotKyAgICBwX3N5cy0+cmVzLnJl YWQucF9idWYgPSBOVUxMOwotKyAgICBpZiAobmZzX3JlYWRfYXN5bmMocF9zeXMtPnBfbmZzLCBw X3N5cy0+cF9uZnNmaCwgcF9idWYsIGlfbGVuLCBuZnNfcmVhZF9jYiwKLSsgICAgICAgICAgICAg ICAgICAgICAgIHBfYWNjZXNzKSA8IDApCi0rI2Vsc2UKLSAgICAgcF9zeXMtPnJlcy5yZWFkLnBf YnVmID0gcF9idWY7Ci0gICAgIGlmIChuZnNfcmVhZF9hc3luYyhwX3N5cy0+cF9uZnMsIHBfc3lz LT5wX25mc2ZoLCBpX2xlbiwgbmZzX3JlYWRfY2IsCi0gICAgICAgICAgICAgICAgICAgICAgICBw X2FjY2VzcykgPCAwKQotKyNlbmRpZgotICAgICB7Ci0gICAgICAgICBtc2dfRXJyKHBfYWNjZXNz LCAibmZzX3JlYWRfYXN5bmMgZmFpbGVkIik7Ci0gICAgICAgICByZXR1cm4gMDsKLS0tIAotR2l0 TGFiCi0KCmRpZmYgLS1naXQgYS82NjA2LnBhdGNoIGIvNjYwNi5wYXRjaApkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMzIyODE4Yi4uMDAwMDAwMAotLS0gYS82NjA2LnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsMTQ5ICswLDAgQEAKLUZyb20gYmE1ZGMwM2FlY2MxZDk2ZjgxYjc2ODM4 Zjg0NWViZGU3MzQ4Y2Y2MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IERhdmlkIFJv c2NhIDxub3dyZXBAZ21haWwuY29tPgotRGF0ZTogRnJpLCAyMCBEZWMgMjAyNCAyMDoyNDozNiAr MDEwMAotU3ViamVjdDogW1BBVENIXSBhdmNvZGVjOiB2YWFwaTogU3VwcG9ydCBWQUFQSSB3aXRo IGxhdGVzdCBGRm1wZWcKLQotLS0tCi0gY29uZmlndXJlLmFjICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgMjAgKy0tLS0tLS0tLS0tLQotIG1vZHVsZXMvY29kZWMvTWFrZWZpbGUuYW0gICAg ICAgICAgICAgICB8ICAyICstCi0gbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uX2NvbXBh dC5oIHwgIDMgKysKLSBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmFhcGkuYyAgICAgICAgICAgfCAz OCArKysrKysrKysrKysrKysrKysrKysrKy0tCi0gNCBmaWxlcyBjaGFuZ2VkLCA0MSBpbnNlcnRp b25zKCspLCAyMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2Nv bmZpZ3VyZS5hYwotaW5kZXggMDBhZmIwNjNjNDU1Li4wODkzMzllMTBlMGIgMTAwNjQ0Ci0tLS0g YS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTI1NTAsMjUgKzI1NTAsNyBA QCBBTV9DT05ESVRJT05BTChbSEFWRV9WQUFQSV0sIFt0ZXN0ICIke2hhdmVfdmFhcGl9IiA9ICJ5 ZXMiXSkKLSBBTV9DT05ESVRJT05BTChbSEFWRV9WQUFQSV9EUk1dLCBbdGVzdCAiJHtoYXZlX3Zh YXBpX2RybX0iID0gInllcyJdKQotIEFNX0NPTkRJVElPTkFMKFtIQVZFX1ZBQVBJX1gxMV0sIFt0 ZXN0ICIke2hhdmVfdmFhcGlfeDExfSIgPSAieWVzIl0pCi0gQU1fQ09ORElUSU9OQUwoW0hBVkVf VkFBUElfV0xdLCBbdGVzdCAiJHtoYXZlX3ZhYXBpX3dsfSIgPSAieWVzIl0pCi0tCi0taGF2ZV9h dmNvZGVjX3ZhYXBpPSJubyIKLS1BU19JRihbdGVzdCAiJHtoYXZlX3ZhYXBpfSIgPSAieWVzIiAt YSAiJHtoYXZlX2F2Y29kZWN9IiA9ICJ5ZXMiXSwgWwotLSAgVkxDX1NBVkVfRkxBR1MKLS0gIENQ UEZMQUdTPSIke0NQUEZMQUdTfSAke0FWQ09ERUNfQ0ZMQUdTfSIKLS0gIENGTEFHUz0iJHtDRkxB R1N9ICR7QVZDT0RFQ19DRkxBR1N9IgotLSAgQUNfQ0hFQ0tfSEVBREVSUyhbbGliYXZjb2RlYy92 YWFwaS5oXSwgWwotLSAgICBBQ19NU0dfTk9USUNFKFtWQSBBUEkgYWNjZWxlcmF0aW9uIGFjdGl2 YXRlZF0pCi0tICAgIGhhdmVfYXZjb2RlY192YWFwaT0ieWVzIgotLSAgXSxbCi0tICAgIEFTX0lG KFt0ZXN0IC1uICIke2VuYWJsZV9saWJ2YX0iXSwgWwotLSAgICAgIEFDX01TR19FUlJPUihbbGli dmEgaXMgcHJlc2VudCBidXQgbGliYXZjb2RlYy92YWFwaS5oIGlzIG1pc3NpbmddKQotLSAgICBd LCBbCi0tICAgICAgQUNfTVNHX1dBUk4oW2xpYnZhIGlzIHByZXNlbnQgYnV0IGxpYmF2Y29kZWMv dmFhcGkuaCBpcyBtaXNzaW5nIF0pCi0tICAgIF0pCi0tICBdKQotLSAgVkxDX1JFU1RPUkVfRkxB R1MKLS1dKQotLUFNX0NPTkRJVElPTkFMKFtIQVZFX0FWQ09ERUNfVkFBUEldLCBbdGVzdCAiJHto YXZlX2F2Y29kZWNfdmFhcGl9IiA9ICJ5ZXMiXSkKLStBTV9DT05ESVRJT05BTChbSEFWRV9BVkNP REVDX1ZBQVBJXSwgW3Rlc3QgIiR7aGF2ZV92YWFwaX0iID0gInllcyIgLWEgIiR7aGF2ZV9hdmNv ZGVjfSIgPSAieWVzIl0pCi0gCi0gZG5sCi0gZG5sIGR4dmEyIG5lZWRzIGF2Y29kZWMKLWRpZmYg LS1naXQgYS9tb2R1bGVzL2NvZGVjL01ha2VmaWxlLmFtIGIvbW9kdWxlcy9jb2RlYy9NYWtlZmls ZS5hbQotaW5kZXggNmQ5NDY1ZmRhZWY5Li5kZDA0MzkxYzFiZjcgMTAwNjQ0Ci0tLS0gYS9tb2R1 bGVzL2NvZGVjL01ha2VmaWxlLmFtCi0rKysgYi9tb2R1bGVzL2NvZGVjL01ha2VmaWxlLmFtCi1A QCAtNDE2LDcgKzQxNiw3IEBAIGxpYnZhYXBpX3BsdWdpbl9sYV9TT1VSQ0VTID0gXAotIAljb2Rl Yy9hdmNvZGVjL3ZhYXBpLmMgaHcvdmFhcGkvdmxjX3ZhYXBpLmMgaHcvdmFhcGkvdmxjX3ZhYXBp LmgKLSBsaWJ2YWFwaV9wbHVnaW5fbGFfQ1BQRkxBR1MgPSAkKEFNX0NQUEZMQUdTKQotIGxpYnZh YXBpX3BsdWdpbl9sYV9DRkxBR1MgPSAkKEFNX0NGTEFHUykgJChBVkNPREVDX0NGTEFHUykKLS1s aWJ2YWFwaV9wbHVnaW5fbGFfTElCQUREID0gJChMSUJWQV9MSUJTKQotK2xpYnZhYXBpX3BsdWdp bl9sYV9MSUJBREQgPSAkKExJQlZBX0xJQlMpICQoQVZDT0RFQ19MSUJTKQotIGlmIEhBVkVfQVZD T0RFQ19WQUFQSQotIGlmIEhBVkVfVkFBUElfRFJNCi0gY29kZWNfTFRMSUJSQVJJRVMgKz0gbGli dmFhcGlfZHJtX3BsdWdpbi5sYQotZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9h dmNvbW1vbl9jb21wYXQuaCBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQu aAotaW5kZXggYWMwMmMwNmQyMzM5Li44YWI2OTEwZjMyNTAgMTAwNjQ0Ci0tLS0gYS9tb2R1bGVz L2NvZGVjL2F2Y29kZWMvYXZjb21tb25fY29tcGF0LmgKLSsrKyBiL21vZHVsZXMvY29kZWMvYXZj b2RlYy9hdmNvbW1vbl9jb21wYXQuaAotQEAgLTg0LDYgKzg0LDkgQEAKLSAjaWZuZGVmIEZGX0FQ SV9BVklPX1dSSVRFX05PTkNPTlNUIC8vIHJlbW92ZWQgaW4gZmZtcGVnIDcKLSAjIGRlZmluZSBG Rl9BUElfQVZJT19XUklURV9OT05DT05TVCAoTElCQVZGT1JNQVRfVkVSU0lPTl9NQUpPUiA8IDYx KQotICNlbmRpZgotKyNpZm5kZWYgRkZfQVBJX1NUUlVDVF9WQUFQSV9DT05URVhUCi0rIyBkZWZp bmUgRkZfQVBJX1NUUlVDVF9WQUFQSV9DT05URVhUIChMSUJBVkNPREVDX1ZFUlNJT05fTUFKT1Ig PCA1OSkKLSsjZW5kaWYKLSAKLSAjZW5kaWYgLyogSEFWRV9MSUJBVkNPREVDX0FWQ09ERUNfSCAq LwotIAotZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy92YWFwaS5jIGIvbW9kdWxl cy9jb2RlYy9hdmNvZGVjL3ZhYXBpLmMKLWluZGV4IGM4MzI2OWU0M2YzMC4uZTIwM2JhYWY5ZWUy IDEwMDY0NAotLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZhYXBpLmMKLSsrKyBiL21vZHVs ZXMvY29kZWMvYXZjb2RlYy92YWFwaS5jCi1AQCAtNDIsMTIgKzQyLDI1IEBACi0gIyBpbmNsdWRl IDx2YS92YV9kcm0uaD4KLSAjZW5kaWYKLSAjaW5jbHVkZSA8bGliYXZjb2RlYy9hdmNvZGVjLmg+ Ci0rI2lmIEZGX0FQSV9TVFJVQ1RfVkFBUElfQ09OVEVYVAotICNpbmNsdWRlIDxsaWJhdmNvZGVj L3ZhYXBpLmg+Ci0rI2Vsc2UKLSsjaW5jbHVkZSA8bGliYXZ1dGlsL2h3Y29udGV4dF92YWFwaS5o PgotKyNlbmRpZgotIAotICNpbmNsdWRlICJhdmNvZGVjLmgiCi0gI2luY2x1ZGUgInZhLmgiCi0g I2luY2x1ZGUgIi4uLy4uL2h3L3ZhYXBpL3ZsY192YWFwaS5oIgotIAotKyNpZiAhRkZfQVBJX1NU UlVDVF9WQUFQSV9DT05URVhUCi0rc3RydWN0IHZhYXBpX2NvbnRleHQKLSt7Ci0rICAgIFZBRGlz cGxheSBkaXNwbGF5OwotKyAgICBWQUNvbmZpZ0lEIGNvbmZpZ19pZDsKLSsgICAgVkFDb250ZXh0 SUQgY29udGV4dF9pZDsKLSt9OwotKyNlbmRpZgotKwotIHN0cnVjdCB2bGNfdmFfc3lzX3QKLSB7 Ci0gICAgIHN0cnVjdCB2bGNfdmFhcGlfaW5zdGFuY2UgKnZhX2luc3Q7Ci1AQCAtMTQ1LDggKzE1 OCwxMCBAQCBzdGF0aWMgdm9pZCBEZWxldGUodmxjX3ZhX3QgKnZhLCB2b2lkICoqaHdjdHgpCi0g Ci0gICAgICh2b2lkKSBod2N0eDsKLSAKLS0gICAgdmxjX3ZhYXBpX0Rlc3Ryb3lDb250ZXh0KG8s IHN5cy0+aHdfY3R4LmRpc3BsYXksIHN5cy0+aHdfY3R4LmNvbnRleHRfaWQpOwotLSAgICB2bGNf dmFhcGlfRGVzdHJveUNvbmZpZyhvLCBzeXMtPmh3X2N0eC5kaXNwbGF5LCBzeXMtPmh3X2N0eC5j b25maWdfaWQpOwotKyAgICBpZiAoc3lzLT5od19jdHguY29udGV4dF9pZCAhPSBWQV9JTlZBTElE X0lEKQotKyAgICAgICAgdmxjX3ZhYXBpX0Rlc3Ryb3lDb250ZXh0KG8sIHN5cy0+aHdfY3R4LmRp c3BsYXksIHN5cy0+aHdfY3R4LmNvbnRleHRfaWQpOwotKyAgICBpZiAoc3lzLT5od19jdHguY29u ZmlnX2lkICE9IFZBX0lOVkFMSURfSUQpCi0rICAgICAgICB2bGNfdmFhcGlfRGVzdHJveUNvbmZp ZyhvLCBzeXMtPmh3X2N0eC5kaXNwbGF5LCBzeXMtPmh3X2N0eC5jb25maWdfaWQpOwotICAgICB2 bGNfdmFhcGlfUmVsZWFzZUluc3RhbmNlKHN5cy0+dmFfaW5zdCk7Ci0gICAgIGZyZWUoc3lzKTsK LSB9Ci1AQCAtMTk2LDYgKzIxMSw3IEBAIHN0YXRpYyBpbnQgQ3JlYXRlKHZsY192YV90ICp2YSwg QVZDb2RlY0NvbnRleHQgKmN0eCwgY29uc3QgQVZQaXhGbXREZXNjcmlwdG9yICpkCi0gICAgIHN5 cy0+aHdfY3R4LmNvbmZpZ19pZCA9IFZBX0lOVkFMSURfSUQ7Ci0gICAgIHN5cy0+aHdfY3R4LmNv bnRleHRfaWQgPSBWQV9JTlZBTElEX0lEOwotIAotKyNpZiBGRl9BUElfU1RSVUNUX1ZBQVBJX0NP TlRFWFQKLSAgICAgc3lzLT5od19jdHguY29uZmlnX2lkID0KLSAgICAgICAgIHZsY192YWFwaV9D cmVhdGVDb25maWdDaGVja2VkKG8sIHN5cy0+aHdfY3R4LmRpc3BsYXksIGlfcHJvZmlsZSwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZBRW50cnlwb2ludFZMRCwgaV92 bGNfY2hyb21hKTsKLUBAIC0yMTEsNiArMjI3LDI0IEBAIHN0YXRpYyBpbnQgQ3JlYXRlKHZsY192 YV90ICp2YSwgQVZDb2RlY0NvbnRleHQgKmN0eCwgY29uc3QgQVZQaXhGbXREZXNjcmlwdG9yICpk Ci0gICAgICAgICBnb3RvIGVycm9yOwotIAotICAgICBjdHgtPmh3YWNjZWxfY29udGV4dCA9ICZz eXMtPmh3X2N0eDsKLSsjZWxzZQotKyAgICBBVkJ1ZmZlclJlZiAqaHdkZXZfcmVmID0gYXZfaHdk ZXZpY2VfY3R4X2FsbG9jKEFWX0hXREVWSUNFX1RZUEVfVkFBUEkpOwotKyAgICBpZiAoaHdkZXZf cmVmID09IE5VTEwpCi0rICAgICAgICBnb3RvIGVycm9yOwotKwotKyAgICBBVkhXRGV2aWNlQ29u dGV4dCAqaHdkZXZfY3R4ID0gKHZvaWQgKikgaHdkZXZfcmVmLT5kYXRhOwotKyAgICBBVlZBQVBJ RGV2aWNlQ29udGV4dCAqdmFkZXZfY3R4ID0gaHdkZXZfY3R4LT5od2N0eDsKLSsgICAgdmFkZXZf Y3R4LT5kaXNwbGF5ID0gdmFfZHB5OwotKwotKyAgICBpZiAoYXZfaHdkZXZpY2VfY3R4X2luaXQo aHdkZXZfcmVmKSA8IDApCi0rICAgIHsKLSsgICAgICAgIGF2X2J1ZmZlcl91bnJlZigmaHdkZXZf cmVmKTsKLSsgICAgICAgIGdvdG8gZXJyb3I7Ci0rICAgIH0KLSsKLSsgICAgY3R4LT5od19kZXZp Y2VfY3R4ID0gaHdkZXZfcmVmOwotKyNlbmRpZgotKwotICAgICB2YS0+c3lzID0gc3lzOwotICAg ICB2YS0+ZGVzY3JpcHRpb24gPSB2YVF1ZXJ5VmVuZG9yU3RyaW5nKHN5cy0+aHdfY3R4LmRpc3Bs YXkpOwotICAgICB2YS0+Z2V0ID0gR2V0OwotLS0gCi1HaXRMYWIKLQoKZGlmZiAtLWdpdCBhL2Fw cGRhdGEucGF0Y2ggYi9hcHBkYXRhLnBhdGNoCmluZGV4IDIwMDJhMTMuLjRjYzA5YzMgMTAwNjQ0 Ci0tLSBhL2FwcGRhdGEucGF0Y2gKKysrIGIvYXBwZGF0YS5wYXRjaApAQCAtMSwxOSArMSwxNSBA QAotZGlmZiAtLWdpdCBhL3NoYXJlL3ZsYy5hcHBkYXRhLnhtbC5pbi5pbiBiL3NoYXJlL3ZsYy5h cHBkYXRhLnhtbC5pbi5pbgorZGlmZiAtLWdpdCBhL3NoYXJlL29yZy52aWRlb2xhbi52bGMuYXBw ZGF0YS54bWwuaW4uaW4gYi9zaGFyZS9vcmcudmlkZW9sYW4udmxjLmFwcGRhdGEueG1sLmluLmlu CiBpbmRleCBjYzljMzlhLi4zYzU1NjIwIDEwMDY0NAotLS0tIGEvc2hhcmUvdmxjLmFwcGRhdGEu eG1sLmluLmluCi0rKysgYi9zaGFyZS92bGMuYXBwZGF0YS54bWwuaW4uaW4KLUBAIC0xOCw3ICsx OCw3IEBACistLS0gYS9zaGFyZS9vcmcudmlkZW9sYW4udmxjLmFwcGRhdGEueG1sLmluLmluCisr KysgYi9zaGFyZS9vcmcudmlkZW9sYW4udmxjLmFwcGRhdGEueG1sLmluLmluCitAQCAtMTgsOCAr MTgsOSBAQAogICAgICA8dXJsIHR5cGU9ImJ1Z3RyYWNrZXIiPmh0dHBzOi8vdHJhYy52aWRlb2xh bi5vcmcvdmxjLzwvdXJsPgogICAgICA8dXJsIHR5cGU9ImRvbmF0aW9uIj5odHRwczovL3d3dy52 aWRlb2xhbi5vcmcvY29udHJpYnV0ZS5odG1sPC91cmw+CiAgICAgIDxyZWxlYXNlcz4KIC0gICAg ICAgIDxyZWxlYXNlIHZlcnNpb249IkBWRVJTSU9OQCIgLz4KICsgICAgICAgIDxyZWxlYXNlIHZl cnNpb249IkBWRVJTSU9OQCIgZGF0ZT0iQERBVEVAIiAvPgogICAgICA8L3JlbGVhc2VzPgorKyAg ICA8cmVwbGFjZXM+PGlkPm9yZy52aWRlb2xhbi5WTEM8L2lkPjwvcmVwbGFjZXM+CiAgICAgIDxw cm92aWRlcz4KICAgICAgICAgIDxsaWJyYXJ5PmxpYnZsYy5zby41PC9saWJyYXJ5PgotQEAgLTM4 LDQgKzM4LDUgQEAKLSAgICAgICAgICAgICA8aW1hZ2U+aHR0cDovL2ltYWdlcy52aWRlb2xhbi5v cmcvdmxjL3NjcmVlbnNob3RzLzIuMC4wL3ZsYy0yLjAtZ25vbWUzLWRlYmlhbi5qcGc8L2ltYWdl PgotICAgICAgICAgPC9zY3JlZW5zaG90PgotICAgICA8L3NjcmVlbnNob3RzPgotKyAgICA8Y29u dGVudF9yYXRpbmcgdHlwZT0ib2Fycy0xLjEiIC8+Ci0gPC9jb21wb25lbnQ+CisgICAgIDwvcHJv dmlkZXM+CgpkaWZmIC0tZ2l0IGEvZmZtcGVnOC5wYXRjaCBiL2ZmbXBlZzgucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDg2MDhjZgotLS0gL2Rldi9udWxsCisrKyBi L2ZmbXBlZzgucGF0Y2gKQEAgLTAsMCArMSw4MyBAQAorZGlmZiAtdXAgdmxjLTMuMC4yMS9tb2R1 bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYy5vcmlnIHZsYy0zLjAuMjEvbW9kdWxlcy9jb2RlYy9h dmNvZGVjL3ZpZGVvLmMKKy0tLSB2bGMtMy4wLjIxL21vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRl by5jLm9yaWcJMjAyNC0wNi0wNSAxNzo1NjowNy4wMDAwMDAwMDAgKzAyMDAKKysrKyB2bGMtMy4w LjIxL21vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jCTIwMjUtMDktMjkgMTg6MTE6MzEuMTAw MzEzNDUwICswMjAwCitAQCAtMTQyOSw4ICsxNDI5LDEzIEBAIHN0YXRpYyBwaWN0dXJlX3QgKkRl Y29kZUJsb2NrKCBkZWNvZGVyX3QKKyAgICAgICAgIC8qIEhhY2sgdG8gZm9yY2UgZGlzcGxheSBv ZiBzdGlsbCBwaWN0dXJlcyAqLworICAgICAgICAgcF9waWMtPmJfZm9yY2UgPSBwX3N5cy0+Yl9m aXJzdF9mcmFtZTsKKyAgICAgICAgIHBfcGljLT5pX25iX2ZpZWxkcyA9IDIgKyBmcmFtZS0+cmVw ZWF0X3BpY3Q7CisrI2lmIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKCA1OCwgNywgMTAwICkKKysg ICAgICAgIHBfcGljLT5iX3Byb2dyZXNzaXZlID0gIShmcmFtZS0+ZmxhZ3MgJiBBVl9GUkFNRV9G TEFHX0lOVEVSTEFDRUQpOworKyAgICAgICAgcF9waWMtPmJfdG9wX2ZpZWxkX2ZpcnN0ID0gISEo ZnJhbWUtPmZsYWdzICYgQVZfRlJBTUVfRkxBR19UT1BfRklFTERfRklSU1QpOworKyNlbHNlCisg ICAgICAgICBwX3BpYy0+Yl9wcm9ncmVzc2l2ZSA9ICFmcmFtZS0+aW50ZXJsYWNlZF9mcmFtZTsK KyAgICAgICAgIHBfcGljLT5iX3RvcF9maWVsZF9maXJzdCA9IGZyYW1lLT50b3BfZmllbGRfZmly c3Q7CisrI2VuZGlmCisgCisgICAgICAgICBpZiAoRGVjb2RlU2lkZWRhdGEocF9kZWMsIGZyYW1l LCBwX3BpYykpCisgICAgICAgICAgICAgaV9wdHMgPSBWTENfVElDS19JTlZBTElEOworZGlmZiAt dXAgdmxjLTMuMC4yMS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb25fY29tcGF0Lmgub3Jp ZyB2bGMtMy4wLjIxL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaAorLS0t IHZsYy0zLjAuMjEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uX2NvbXBhdC5oLm9yaWcJ MjAyNS0wOS0yOSAxODoxNTo0MS4yNjg0NTI1NzggKzAyMDAKKysrKyB2bGMtMy4wLjIxL21vZHVs ZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaAkyMDI1LTA5LTI5IDIwOjQ0OjAyLjI1 NDQ0MDg0MSArMDIwMAorQEAgLTc1LDkgKzc1LDEyIEBACisgI2lmbmRlZiBBVl9DT0RFQ19DQVBf U01BTExfTEFTVF9GUkFNRQorICMgZGVmaW5lIEFWX0NPREVDX0NBUF9TTUFMTF9MQVNUX0ZSQU1F IENPREVDX0NBUF9TTUFMTF9MQVNUX0ZSQU1FCisgI2VuZGlmCistI2lmbmRlZiBBVl9JTlBVVF9C VUZGRVJfTUlOX1NJWkUKKysjaWYgIWRlZmluZWQoQVZfSU5QVVRfQlVGRkVSX01JTl9TSVpFKSAm JiBkZWZpbmVkKEZGX01JTl9CVUZGRVJfU0laRSkKKyAjIGRlZmluZSBBVl9JTlBVVF9CVUZGRVJf TUlOX1NJWkUgRkZfTUlOX0JVRkZFUl9TSVpFCisgI2VuZGlmCisrI2lmbmRlZiBBVl9JTlBVVF9C VUZGRVJfTUlOX1NJWkUKKysjIGRlZmluZSBBVl9JTlBVVF9CVUZGRVJfTUlOX1NJWkUgMTYzODQK KysjZW5kaWYKKyAjaWZuZGVmICBGRl9NQVhfQl9GUkFNRVMKKyAjIGRlZmluZSAgRkZfTUFYX0Jf RlJBTUVTIDE2IC8vIEZJWE1FOiByZW1vdmUgdGhpcworICNlbmRpZgorQEAgLTg3LDYgKzg3LDQ4 IEBACisgI2lmbmRlZiBGRl9BUElfU1RSVUNUX1ZBQVBJX0NPTlRFWFQKKyAjIGRlZmluZSBGRl9B UElfU1RSVUNUX1ZBQVBJX0NPTlRFWFQgKExJQkFWQ09ERUNfVkVSU0lPTl9NQUpPUiA8IDU5KQor ICNlbmRpZgorKyNpZm5kZWYgRkZfUFJPRklMRV9VTktOT1dOIC8vIHJlbW92ZWQgaW4gZmZtcGVn IDgKKysjIGRlZmluZSBGRl9QUk9GSUxFX1VOS05PV04gQVZfUFJPRklMRV9VTktOT1dOCisrI2Vu ZGlmCisrI2lmbmRlZiBGRl9MRVZFTF9VTktOT1dOCisrIyBkZWZpbmUgRkZfTEVWRUxfVU5LTk9X TiBBVl9MRVZFTF9VTktOT1dOCisrI2VuZGlmCisrI2lmbmRlZiBGRl9QUk9GSUxFX0hFVkNfTUFJ TgorKyMgZGVmaW5lIEZGX1BST0ZJTEVfSEVWQ19NQUlOIEFWX1BST0ZJTEVfSEVWQ19NQUlOCisr I2VuZGlmCisrI2lmbmRlZiBGRl9QUk9GSUxFX0hFVkNfTUFJTl8xMAorKyMgZGVmaW5lIEZGX1BS T0ZJTEVfSEVWQ19NQUlOXzEwIEFWX1BST0ZJTEVfSEVWQ19NQUlOXzEwCisrI2VuZGlmCisrI2lm bmRlZiBGRl9QUk9GSUxFX1ZQOV8wCisrIyBkZWZpbmUgRkZfUFJPRklMRV9WUDlfMCBBVl9QUk9G SUxFX1ZQOV8wCisrI2VuZGlmCisrI2lmbmRlZiBGRl9QUk9GSUxFX1ZQOV8yCisrIyBkZWZpbmUg RkZfUFJPRklMRV9WUDlfMiBBVl9QUk9GSUxFX1ZQOV8yCisrI2VuZGlmCisrI2lmbmRlZiBGRl9Q Uk9GSUxFX0FBQ19MT1cKKysjIGRlZmluZSBGRl9QUk9GSUxFX0FBQ19MT1cgQVZfUFJPRklMRV9B QUNfTE9XCisrI2VuZGlmCisrI2lmbmRlZiBGRl9QUk9GSUxFX0FBQ19NQUlOCisrIyBkZWZpbmUg RkZfUFJPRklMRV9BQUNfTUFJTiBBVl9QUk9GSUxFX0FBQ19NQUlOCisrI2VuZGlmCisrI2lmbmRl ZiBGRl9QUk9GSUxFX0FBQ19TU1IKKysjIGRlZmluZSBGRl9QUk9GSUxFX0FBQ19TU1IgQVZfUFJP RklMRV9BQUNfU1NSCisrI2VuZGlmCisrI2lmbmRlZiBGRl9QUk9GSUxFX0FBQ19MVFAKKysjIGRl ZmluZSBGRl9QUk9GSUxFX0FBQ19MVFAgQVZfUFJPRklMRV9BQUNfTFRQCisrI2VuZGlmCisrI2lm bmRlZiBGRl9QUk9GSUxFX0FBQ19IRV9WMgorKyMgZGVmaW5lIEZGX1BST0ZJTEVfQUFDX0hFX1Yy IEFWX1BST0ZJTEVfQUFDX0hFX1YyCisrI2VuZGlmCisrI2lmbmRlZiBGRl9QUk9GSUxFX0FBQ19I RQorKyMgZGVmaW5lIEZGX1BST0ZJTEVfQUFDX0hFIEFWX1BST0ZJTEVfQUFDX0hFCisrI2VuZGlm CisrI2lmbmRlZiBGRl9QUk9GSUxFX0FBQ19MRAorKyMgZGVmaW5lIEZGX1BST0ZJTEVfQUFDX0xE IEFWX1BST0ZJTEVfQUFDX0xECisrI2VuZGlmCisrI2lmbmRlZiBGRl9QUk9GSUxFX0FBQ19FTEQK KysjIGRlZmluZSBGRl9QUk9GSUxFX0FBQ19FTEQgQVZfUFJPRklMRV9BQUNfRUxECisrI2VuZGlm CisgCisgI2VuZGlmIC8qIEhBVkVfTElCQVZDT0RFQ19BVkNPREVDX0ggKi8KKyAKCmRpZmYgLS1n aXQgYS9saXZlNTU1LnBhdGNoIGIvbGl2ZTU1NS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggYjJmMzVkYi4uMDAwMDAwMAotLS0gYS9saXZlNTU1LnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsMTcgKzAsMCBAQAotZGlmZiAtdXAgdmxjLTMuMC4yMS9tb2R1bGVzL2FjY2Vzcy9s aXZlNTU1LmNwcC5vcmlnIHZsYy0zLjAuMjEvbW9kdWxlcy9hY2Nlc3MvbGl2ZTU1NS5jcHAKLS0t LSB2bGMtMy4wLjIxL21vZHVsZXMvYWNjZXNzL2xpdmU1NTUuY3BwLm9yaWcJMjAyNC0wNi0wNSAx Nzo1NjowNy4wMDAwMDAwMDAgKzAyMDAKLSsrKyB2bGMtMy4wLjIxL21vZHVsZXMvYWNjZXNzL2xp dmU1NTUuY3BwCTIwMjQtMTItMDYgMTE6NDE6MDguNjMzMDUzMDM5ICswMTAwCi1AQCAtMjM2LDgg KzIzNiwxMyBAQCBzdHJ1Y3QgZGVtdXhfc3lzX3QKLSAgICAgYm9vbCAgICAgICAgICAgICBiX25v X2RhdGE7ICAgICAvKiBpZiB3ZSBuZXZlciByZWNlaXZlZCBhbnkgZGF0YSAqLwotICAgICBpbnQg ICAgICAgICAgICAgIGlfbm9fZGF0YV90aTsgIC8qIGNvbnNlY3V0aXZlIG51bWJlciBvZiBUYXNr SW50ZXJydXB0ICovCi0gCi0rI2lmIExJVkVNRURJQV9MSUJSQVJZX1ZFUlNJT05fSU5UID49IDE3 MzI3NTIwMDAKLSsgICAgc3RkOjphdG9taWNfY2hhciBldmVudF9ydHNwOwotKyAgICBzdGQ6OmF0 b21pY19jaGFyIGV2ZW50X2RhdGE7Ci0rI2Vsc2UKLSAgICAgY2hhciAgICAgICAgICAgICBldmVu dF9ydHNwOwotICAgICBjaGFyICAgICAgICAgICAgIGV2ZW50X2RhdGE7Ci0rI2VuZGlmCi0gCi0g ICAgIGJvb2wgICAgICAgICAgICAgYl9nZXRfcGFyYW07ICAgLyogRG9lcyB0aGUgc2VydmVyIHN1 cHBvcnQgR0VUX1BBUkFNRVRFUiAqLwotICAgICBib29sICAgICAgICAgICAgIGJfcGF1c2VkOyAg ICAgIC8qIEFyZSB3ZSBwYXVzZWQ/ICovCgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMK aW5kZXggOGUyMWVkNi4uMjViODc1OSAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9zb3VyY2Vz CkBAIC0xICsxIEBACi1TSEE1MTIgKHZsYy0zLjAuMjEudGFyLnh6KSA9IGNiMWFmNzZjODA1NjY0 OGMzMzFkN2U2ZTA2ODBkMTYxZWQxODQ5ZWI2MzU5ODc1MDRmNDVlYWUwMjUzMWU5YjQzMjY1MTAz NDMxN2ZhN2UwMmIwNzIyOTA1ZGZiOWYwZjVkYWQ2N2I1OTI0Y2M2MmVkY2FmMGQxNzNhYzM2YWVl CitTSEE1MTIgKHZsYy0zLjAuMjIudGFyLnh6KSA9IGY2MDkyNmZhZTUwOGNiNWIzYjk5ZDMyOTEw ZWEwZjgzMzcyZGQ0NjQ5N2M2MGFhMGM2MDFkZmQzYjViNDY3YzljNmNjNjI4YWIwYTNhODU0MTU1 OTczOWY3N2ZjOGEwMGRlOTA5YTJjOWI5MmQ3MDBkNWI0ODgzMGU4YjNlNDA5CgpkaWZmIC0tZ2l0 IGEvdmxjLnNwZWMgYi92bGMuc3BlYwppbmRleCBkMTM1NjEzLi5kN2IzMDViIDEwMDY0NAotLS0g YS92bGMuc3BlYworKysgYi92bGMuc3BlYwpAQCAtMTEsMTcgKzExLDIwIEBACiAjIG5vdCBjb21w YXRpYmxlIHdpdGggbGlicGxhY2Viby02CiAjIGh0dHBzOi8vY29kZS52aWRlb2xhbi5vcmcvdmlk ZW9sYW4vdmxjLy0vbWVyZ2VfcmVxdWVzdHMvMzk1MAogJWJjb25kIHBsYWNlYm8gJVshKDAlez9m ZWRvcmF9ID49IDM5IHx8IDAlez9yaGVsfSA+PSAxMCldCisjIGxpYnBvc3Rwcm9jIHdhcyByZW1v dmVkIGluIEZGbXBlZyA4IChGNDQrKQorJWJjb25kIHBvc3Rwcm9jICVbISgwJXs/ZmVkb3JhfSA+ PSA0NCB8fCAwJXs/cmhlbH0gPj0gMTEpXQogIyBkaXNhYmxlZCBkdWUgdG8gdmFyaW91cyBpc3N1 ZXMKICViY29uZCBwcm9qZWN0bSAwCiAKICMgc29tZSBkZXBlbmRlbmNpZXMgYXJlIG5vdCB5ZXQg aW4gRVBFTCAxMAotJWJjb25kIGRhYWxhICV7dW5kZWZpbmVkIGVsMTB9CislYmNvbmQgZGFhbGEg MQogJWJjb25kIGxpcmMgMQogJWJjb25kIHNjaHJvICVbISgwJXs/cmhlbH0gPj0gMTApXQogJWJj b25kIHNkbCAlWyEoMCV7P3JoZWx9ID49IDEwKV0KIAogJWlmbmFyY2ggczM5MHgKLSViY29uZCBj cnlzdGFsaGQgJVswJXs/ZmVkb3JhfSB8fCAwJXs/cmhlbH0gPCA5XQorIyByZXRpcmVkIGZyb20g RjQzLCB3YXMgbmV2ZXIgaW4gRVBFTCA5KworJWJjb25kIGNyeXN0YWxoZCAwCiAlYmNvbmQgaWVl ZTEzOTQgMQogJWVuZGlmCiAKQEAgLTI5LDI5ICszMiwzNCBAQAogJWJjb25kIHZwbCAxCiAlZW5k aWYKIAorI2dsb2JhbCBjb21taXQgZjkwMjBjNGRmMDczYzg2MWEyOGYwY2RhNWM2YzVkY2NiNThh NDllZgorI2dsb2JhbCBnaXRkYXRlIDIwMjUxMTI0CisKKyVnbG9iYWwgYXBwX2lkICBvcmcudmlk ZW9sYW4udmxjCisKIE5hbWU6CQl2bGMKIEVwb2NoOgkJMQotVmVyc2lvbjoJMy4wLjIxCitWZXJz aW9uOgkzLjAuMjIKIFJlbGVhc2U6CSVhdXRvcmVsZWFzZQogU3VtbWFyeToJVGhlIGNyb3NzLXBs YXRmb3JtIG9wZW4tc291cmNlIG11bHRpbWVkaWEgZnJhbWV3b3JrLCBwbGF5ZXIgYW5kIHNlcnZl cgogTGljZW5zZToJR1BMLTIuMC1vci1sYXRlciBBTkQgTEdQTC0yLjEtb3ItbGF0ZXIgQU5EIEJT RC0yLUNsYXVzZSBBTkQgQlNELTMtQ2xhdXNlCiBVUkw6CQlodHRwczovL3d3dy52aWRlb2xhbi5v cmcKKyVpZiAwJXs/Y29tbWl0OjF9CitTb3VyY2U6CQlodHRwczovL2NvZGUudmlkZW9sYW4ub3Jn L3ZpZGVvbGFuL3ZsYy8tL2FyY2hpdmUvJXtjb21taXR9L3ZsYy0le2NvbW1pdH0udGFyLmJ6Mgor JWVsc2UKIFNvdXJjZToJCWh0dHBzOi8vZ2V0LnZpZGVvbGFuLm9yZy92bGMvJXt2ZXJzaW9ufS92 bGMtJXt2ZXJzaW9ufS50YXIueHoKKyVlbmRpZgogU291cmNlOgkJbWFjcm9zLnZsYwogCiAjIyB1 cHN0cmVhbSBwYXRjaGVzCi0jIG9wdXNfaGVhZGVyOiBmaXggY2hhbm5lbCBtYXBwaW5nIGZhbWls eSAxIHBhcnNpbmcgKHJoYnojMjMwNzkxOSkKLVBhdGNoOgkJaHR0cHM6Ly9jb2RlLnZpZGVvbGFu Lm9yZy92aWRlb2xhbi92bGMvLS9tZXJnZV9yZXF1ZXN0cy81NTkwLnBhdGNoCi0jIGFkZCBzdXBw b3J0IGZvciBmZm1wZWcgNy4wICh3aXRob3V0IFZBQVBJKQotUGF0Y2g6CQlodHRwczovL2NvZGUu dmlkZW9sYW4ub3JnL3ZpZGVvbGFuL3ZsYy8tL21lcmdlX3JlcXVlc3RzLzU1NzQucGF0Y2gKLSMg bXV4OiBhdmZvcm1hdDogZml4IGF2aW8gY2FsbGJhY2tzIHNpZ25hdHVyZSB3aXRoIGZmbXBlZyA2 LjEKLVBhdGNoOgkJaHR0cHM6Ly9jb2RlLnZpZGVvbGFuLm9yZy92aWRlb2xhbi92bGMvLS9tZXJn ZV9yZXF1ZXN0cy82MTY4LnBhdGNoCi0jIGZmbXBlZzogYmFja3BvcnQgbW9yZSBjaGFubmVsIGNo ZWNrcwotUGF0Y2g6CQlodHRwczovL2NvZGUudmlkZW9sYW4ub3JnL3ZpZGVvbGFuL3ZsYy8tL21l cmdlX3JlcXVlc3RzLzYyNzMucGF0Y2gKLSMgYXZjb2RlYzogdmFhcGk6IHN1cHBvcnQgVkFBUEkg d2l0aCBsYXRlc3QgRkZtcGVnCi1QYXRjaDoJCWh0dHBzOi8vY29kZS52aWRlb2xhbi5vcmcvdmlk ZW9sYW4vdmxjLy0vbWVyZ2VfcmVxdWVzdHMvNjYwNi5wYXRjaAotIyBuZnM6IGZpeCBsaWJuZnMg QVBJIHYyIHN1cHBvcnQgKHJoYnojMjM0MTc5MSkKLVBhdGNoOgkJaHR0cHM6Ly9jb2RlLnZpZGVv bGFuLm9yZy92aWRlb2xhbi92bGMvLS9tZXJnZV9yZXF1ZXN0cy82NTI3LnBhdGNoCisKKyMjIGJh Y2twb3J0ZWQgcGF0Y2hlcyBmcm9tIG1hc3RlcgorIyBmcmVlcmRwOiB1cGRhdGUgdG8gZnJlZXJk cCAyLjAgYXBpICgjMjI3OCkKK1BhdGNoOgkJZnJlZXJkcDIucGF0Y2gKKyMgcG9ydCB0byBGRm1w ZWcgOAorIyBodHRwczovL2NvZGUudmlkZW9sYW4ub3JnL3ZpZGVvbGFuL3ZsYy8tL21lcmdlX3Jl cXVlc3RzLzY2NTkKKyMgaHR0cHM6Ly9jb2RlLnZpZGVvbGFuLm9yZy92aWRlb2xhbi92bGMvLS9p c3N1ZXMvMjkyNzgKK1BhdGNoOgkJZmZtcGVnOC5wYXRjaAogCiAjIyB1cHN0cmVhbWFibGUgcGF0 Y2hlcwogCkBAIC02OCwxMCArNzYsNiBAQCBQYXRjaDoJCWFwcGRhdGEucGF0Y2gKIFBhdGNoOgkJ bGliaWRuMi5wYXRjaAogIyBmaXggZGVwcmVjYXRlZCBsdWEgbWF0aCBmdW5jdGlvbnMgKHJoYnoj MjI4MDA5MSkKIFBhdGNoOgkJbHVhLW1hdGgucGF0Y2gKLSMgdXBkYXRlIHRvIGZyZWVyZHAyIGFw aTsgYmFja3BvcnQgZnJvbSBtYXN0ZXIKLVBhdGNoOgkJZnJlZXJkcDIucGF0Y2gKLSMgZml4IGJ1 aWxkIHdpdGggbGl2ZTU1NS0yMDI0LjExLjI4Ci1QYXRjaDoJCWxpdmU1NTUucGF0Y2gKICMgYXZv aWQgInN0YWxlIHBsdWdpbiBjYWNoZSIgd2FybmluZ3MgaW4gZmxhdHBha3MKIFBhdGNoOgkJZmxh dHBhay1jYWNoZS5wYXRjaAogCkBAIC04Niw3ICs5MCw3IEBAIEJ1aWxkUmVxdWlyZXM6CWdjYy1j KysKIEJ1aWxkUmVxdWlyZXM6CWRlc2t0b3AtZmlsZS11dGlscwogQnVpbGRSZXF1aXJlczoJbGli YXBwc3RyZWFtLWdsaWIKIAotQnVpbGRSZXF1aXJlczoJYTUyZGVjLWRldmVsCisjQnVpbGRSZXF1 aXJlczoJYTUyZGVjLWRldmVsCiBCdWlsZFJlcXVpcmVzOglhYWxpYi1kZXZlbAogQnVpbGRSZXF1 aXJlczoJZmFhZDItZGV2ZWwKIEJ1aWxkUmVxdWlyZXM6CWhvc3RuYW1lCkBAIC0xNTEsNyArMTU1 LDcgQEAgQnVpbGRSZXF1aXJlczoJcGtnY29uZmlnKGxpYmNocm9tYXByaW50KQogJWlmICV7d2l0 aCBpZWVlMTM5NH0KIEJ1aWxkUmVxdWlyZXM6CXBrZ2NvbmZpZyhsaWJkYzEzOTQtMikgPj0gMi4x LjAKICVlbmRpZgotQnVpbGRSZXF1aXJlczoJcGtnY29uZmlnKGxpYmRjYSkgPj0gMC4wLjUKKyNC dWlsZFJlcXVpcmVzOglwa2djb25maWcobGliZGNhKSA+PSAwLjAuNQogI0J1aWxkUmVxdWlyZXM6 CXBrZ2NvbmZpZyhsaWJkc20pID49IDAuMi4wCiBCdWlsZFJlcXVpcmVzOglwa2djb25maWcobGli ZHZicHNpKQogQnVpbGRSZXF1aXJlczoJcGtnY29uZmlnKGxpYmVibWwpID49IDEuMy42CkBAIC0x NjAsNyArMTY0LDcgQEAgQnVpbGRSZXF1aXJlczoJcGtnY29uZmlnKGxpYmdtZSkKIEJ1aWxkUmVx dWlyZXM6CXBrZ2NvbmZpZyhsaWJpZG4yKQogQnVpbGRSZXF1aXJlczoJcGtnY29uZmlnKGxpYm1h dHJvc2thKQogQnVpbGRSZXF1aXJlczoJcGtnY29uZmlnKGxpYm1vZHBsdWcpID49IDAuOC45LjAK LUJ1aWxkUmVxdWlyZXM6CXBrZ2NvbmZpZyhsaWJtcGVnMikgPj0gMC4zLjIKKyNCdWlsZFJlcXVp cmVzOglwa2djb25maWcobGlibXBlZzIpID49IDAuMy4yCiBCdWlsZFJlcXVpcmVzOglwa2djb25m aWcobGlibXBnMTIzKQogQnVpbGRSZXF1aXJlczoJcGtnY29uZmlnKGxpYm10cCkgPj0gMS4wLjAK IEJ1aWxkUmVxdWlyZXM6CXBrZ2NvbmZpZyhsaWJuZnMpID49IDEuMTAuMApAQCAtMTY4LDcgKzE3 Miw5IEBAIEJ1aWxkUmVxdWlyZXM6CXBrZ2NvbmZpZyhsaWJub3RpZnkpIHBrZ2NvbmZpZyhndGsr LTMuMCkKICVpZiAle3dpdGggcGxhY2Vib30KIEJ1aWxkUmVxdWlyZXM6CXBrZ2NvbmZpZyhsaWJw bGFjZWJvKSA8IDYKICVlbmRpZgorJWlmICV7d2l0aCBwb3N0cHJvY30KIEJ1aWxkUmVxdWlyZXM6 CXBrZ2NvbmZpZyhsaWJwb3N0cHJvYykKKyVlbmRpZgogJWlmICV7d2l0aCBwcm9qZWN0bX0KIEJ1 aWxkUmVxdWlyZXM6CXBrZ2NvbmZpZyhsaWJwcm9qZWN0TSkKICVlbmRpZgpAQCAtMzgxLDYgKzM4 NywxNiBAQCBSZXF1aXJlczoJZ29vZ2xlLW5vdG8tc2VyaWYtdmYtZm9udHMKICVlbmRpZgogUmVj b21tZW5kczoJbGlidjRsJXs/X2lzYX0KIENvbmZsaWN0czoJJXtuYW1lfS1jb3JlIDwgJXtlcG9j aH06JXt2ZXJzaW9ufS0le3JlbGVhc2V9CislaWYgJXt3aXRob3V0IGNyeXN0YWxoZH0KK09ic29s ZXRlczoJJXtuYW1lfS1wbHVnaW4tY3J5c3RhbGhkIDwgJXtlcG9jaH06JXt2ZXJzaW9ufS0le3Jl bGVhc2V9CislZW5kaWYKKyVpZiAle3dpdGhvdXQgaWVlZTEzOTR9CitPYnNvbGV0ZXM6CSV7bmFt ZX0tcGx1Z2luLWllZWUxMzk0IDwgJXtlcG9jaH06JXt2ZXJzaW9ufS0le3JlbGVhc2V9CislZW5k aWYKKyVpZiAle3dpdGhvdXQgb3BlbmN2fQorT2Jzb2xldGVzOgkle25hbWV9LXBsdWdpbi1vcGVu Y3YgPCAle2Vwb2NofTole3ZlcnNpb259LSV7cmVsZWFzZX0KKyVlbmRpZgorCiAlZGVzY3JpcHRp b24gcGx1Z2lucy1iYXNlCiBWTEMgbWVkaWEgcGxheWVyIGNvcmUgY29tcG9uZW50cwogCkBAIC01 NTksNyArNTc1LDcgQEAgZGV2ZWxvcGluZyBhcHBsaWNhdGlvbnMgYW5kIHBsdWdpbnMgdGhhdCB1 c2UgJXtuYW1lfS4KIAogCiAlcHJlcAotJWF1dG9zZXR1cCAtcDEKKyVhdXRvc2V0dXAgLXAxICV7 P2NvbW1pdDotbiAle25hbWV9LSV7Y29tbWl0fX0KIAogcm0gLWYgYWNsb2NhbC5tNCBtNC9saWIq Lm00IG00L2x0Ki5tNAogLi9ib290c3RyYXAKQEAgLTU2NywxOCArNTgzLDE2IEBAIHJtIC1mIGFj bG9jYWwubTQgbTQvbGliKi5tNCBtNC9sdCoubTQKICMgc3dpdGNoICJBbGxvdyBhdXRvbWF0aWMg aWNvbiBjaGFuZ2UiIHRvIG9wdC1pbgogc2VkIC1pIC1lICdzfFwoInF0LWljb24tY2hhbmdlIixc KSB0cnVlfFwxIGZhbHNlfCcgbW9kdWxlcy9ndWkvcXQvcXQuY3BwCiAKLSMgc3luYyBhcHBzdHJl YW0gYXBwLWlkIHdpdGggRmxhdGh1YgogIyBmaWxsIGluIHJlbGVhc2UgZGF0ZSBmcm9tIGFwcHN0 cmVhbS5wYXRjaAogIyBodHRwczogaHR0cHM6Ly9jb2RlLnZpZGVvbGFuLm9yZy92aWRlb2xhbi92 bGMvLS9tZXJnZV9yZXF1ZXN0cy8xNTU1ICg0LjApCi1zZWQgLWUgJ3N8b3JnXC52aWRlb2xhblwu dmxjfG9yZy52aWRlb2xhbi5WTEN8JyBcCi0gICAgLWUgJ3N8QERBVEVAfCUoZGF0ZSArJUYgLXIg JXtTOjB9KXwnIFwKK3NlZCAtZSAnc3xAREFURUB8JShkYXRlICslRiAtciAle1M6MH0pfCcgXAog ICAgIC1lICdzfGh0dHA6fGh0dHBzOnxnJyBcCi0gICAgLWkgc2hhcmUvdmxjLmFwcGRhdGEueG1s LmluLmluCisgICAgLWkgc2hhcmUvJXthcHBfaWR9LmFwcGRhdGEueG1sLmluLmluCiAKICVpZiAw JXs/ZmxhdHBha30KICMgaWNvbnMgYXJlIHJlbmFtZWQgaW4gb3JkZXIgdG8gYmUgZXhwb3J0ZWQK LXNlZCAtaSAtZSAnL2ljb25fdGhlbWVfbG9hZC9zfCJ2bGMifCJvcmcudmlkZW9sYW4uVkxDInwn IG1vZHVsZXMvbm90aWZ5L25vdGlmeS5jCi1zZWQgLWkgLWUgJy9mcm9tVGhlbWUvc3widmxjInwi b3JnLnZpZGVvbGFuLlZMQyJ8JyBcCitzZWQgLWkgLWUgJy9pY29uX3RoZW1lX2xvYWQvc3widmxj InwiJXthcHBfaWR9InwnIG1vZHVsZXMvbm90aWZ5L25vdGlmeS5jCitzZWQgLWkgLWUgJy9mcm9t VGhlbWUvc3widmxjInwiJXthcHBfaWR9InwnIFwKIAltb2R1bGVzL2d1aS9xdC9tYWluX2ludGVy ZmFjZS5jcHAgbW9kdWxlcy9ndWkvcXQvcXQuY3BwCiAlZW5kaWYKIApAQCAtNjQxLDE3ICs2NTUs MTcgQEAgZXhwb3J0IExJVkU1NTVfUFJFRklYPSV7X3ByZWZpeH0KIAktLWVuYWJsZS1saWJ2YQkJ CQkJCVwKIAktLWVuYWJsZS1hdmZvcm1hdAkJCQkJXAogCS0tZW5hYmxlLXN3c2NhbGUJCQkJCVwK LQktLWVuYWJsZS1wb3N0cHJvYwkJCQkJXAorCS0tZW5hYmxlLXBvc3Rwcm9jJXshP3dpdGhfcG9z dHByb2M6PW5vfQkJCVwKIAktLWVuYWJsZS1mYWFkCQkJCQkJXAogCS0tZW5hYmxlLWFvbQkJCQkJ CVwKIAktLWVuYWJsZS1kYXYxZAkJCQkJCVwKIAktLWVuYWJsZS12cHgJCQkJCQlcCiAJLS1lbmFi bGUtdHdvbGFtZQkJCQkJXAogCS0tZW5hYmxlLWZka2FhYwkJCQkJCVwKLQktLWVuYWJsZS1hNTIJ CQkJCQlcCi0JLS1lbmFibGUtZGNhCQkJCQkJXAorCS0tZGlzYWJsZS1hNTIJCQkJCQlcCisJLS1k aXNhYmxlLWRjYQkJCQkJCVwKIAktLWVuYWJsZS1mbGFjCQkJCQkJXAotCS0tZW5hYmxlLWxpYm1w ZWcyCQkJCQlcCisJLS1kaXNhYmxlLWxpYm1wZWcyCQkJCQlcCiAJLS1lbmFibGUtdm9yYmlzCQkJ CQkJXAogCS0tZW5hYmxlLXRyZW1vcgkJCQkJCVwKIAktLWVuYWJsZS1zcGVleAkJCQkJCVwKQEAg LTc3OCw3ICs3OTIsNyBAQCBybSAtcmYgJXtidWlsZHJvb3R9JXtfZG9jZGlyfS92bGMKIAogJWNo ZWNrCiBkZXNrdG9wLWZpbGUtdmFsaWRhdGUgJXtidWlsZHJvb3R9JXtfZGF0YWRpcn0vYXBwbGlj YXRpb25zL3ZsYy5kZXNrdG9wCi1hcHBzdHJlYW0tdXRpbCB2YWxpZGF0ZS1yZWxheCAtLW5vbmV0 ICV7YnVpbGRyb290fSV7X2RhdGFkaXJ9L21ldGFpbmZvL3ZsYy5hcHBkYXRhLnhtbAorYXBwc3Ry ZWFtLXV0aWwgdmFsaWRhdGUtcmVsYXggLS1ub25ldCAle2J1aWxkcm9vdH0le19kYXRhZGlyfS9t ZXRhaW5mby8le2FwcF9pZH0uYXBwZGF0YS54bWwKIAogIyBjaHJvbWFfY29weV90ZXN0IGZhaWxz IG9uIHMzOTB4IChiaWcgZW5kaWFuPykKICVpZm5hcmNoIHMzOTB4CkBAIC04MDAsNyArODE0LDcg QEAgbWFrZSBjaGVjawogJXtfZGF0YWRpcn0vaWNvbnMvaGljb2xvci8qL2FwcHMvJXtuYW1lfS5w bmcKICV7X2RhdGFkaXJ9L3NvbGlkL2FjdGlvbnMvJXtuYW1lfS0qLmRlc2t0b3AKICV7X2RhdGFk aXJ9L3ZsYy91dGlscy8KLSV7X21ldGFpbmZvZGlyfS8le25hbWV9LmFwcGRhdGEueG1sCisle19t ZXRhaW5mb2Rpcn0vJXthcHBfaWR9LmFwcGRhdGEueG1sCiAKICVmaWxlcyBsaWJzIC1mICV7bmFt ZX0ubGFuZwogJWxpY2Vuc2UgQ09QWUlORy5MSUIKQEAgLTkyNCw3ICs5MzgsNiBAQCBtYWtlIGNo ZWNrCiAle3ZsY19wbHVnaW5kaXJ9L2F1ZGlvX291dHB1dC9saWJhZmlsZV9wbHVnaW4uc28KICV7 dmxjX3BsdWdpbmRpcn0vYXVkaW9fb3V0cHV0L2xpYmFsc2FfcGx1Z2luLnNvCiAle3ZsY19wbHVn aW5kaXJ9L2F1ZGlvX291dHB1dC9saWJhbWVtX3BsdWdpbi5zbwotJXt2bGNfcGx1Z2luZGlyfS9j b2RlYy9saWJhNTJfcGx1Z2luLnNvCiAle3ZsY19wbHVnaW5kaXJ9L2NvZGVjL2xpYmFkcGNtX3Bs dWdpbi5zbwogJXt2bGNfcGx1Z2luZGlyfS9jb2RlYy9saWJhZXMzX3BsdWdpbi5zbwogJXt2bGNf cGx1Z2luZGlyfS9jb2RlYy9saWJhcmF3X3BsdWdpbi5zbwpAQCAtOTg2LDYgKzk5OSw3IEBAIG1h a2UgY2hlY2sKICV7dmxjX3BsdWdpbmRpcn0vZGVtdXgvbGliZGVtdXhkdW1wX3BsdWdpbi5zbwog JXt2bGNfcGx1Z2luZGlyfS9kZW11eC9saWJkaXJhY3N5c19wbHVnaW4uc28KICV7dmxjX3BsdWdp bmRpcn0vZGVtdXgvbGliZGlyZWN0b3J5X2RlbXV4X3BsdWdpbi5zbworJXt2bGNfcGx1Z2luZGly fS9kZW11eC9saWJkbXhtdXNfcGx1Z2luLnNvCiAle3ZsY19wbHVnaW5kaXJ9L2RlbXV4L2xpYmVz X3BsdWdpbi5zbwogJXt2bGNfcGx1Z2luZGlyfS9kZW11eC9saWJmbGFjc3lzX3BsdWdpbi5zbwog JXt2bGNfcGx1Z2luZGlyfS9kZW11eC9saWJoMjZ4X3BsdWdpbi5zbwpAQCAtMTA5Nyw3ICsxMTEx LDkgQEAgbWFrZSBjaGVjawogJXt2bGNfcGx1Z2luZGlyfS90ZXh0X3JlbmRlcmVyL2xpYnRkdW1t eV9wbHVnaW4uc28KICVleGNsdWRlICV7dmxjX3BsdWdpbmRpcn0vdmlkZW9fY2hyb21hL2xpYnN3 c2NhbGVfcGx1Z2luLnNvCiAle3ZsY19wbHVnaW5kaXJ9L3ZpZGVvX2Nocm9tYS8qLnNvCislaWYg JXt3aXRoIHBvc3Rwcm9jfQogJWV4Y2x1ZGUgJXt2bGNfcGx1Z2luZGlyfS92aWRlb19maWx0ZXIv bGlicG9zdHByb2NfcGx1Z2luLnNvCislZW5kaWYKICVleGNsdWRlICV7dmxjX3BsdWdpbmRpcn0v dmlkZW9fZmlsdGVyL2xpYm9wZW5jdl8qLnNvCiAle3ZsY19wbHVnaW5kaXJ9L3ZpZGVvX2ZpbHRl ci8qLnNvCiAle3ZsY19wbHVnaW5kaXJ9L3ZpZGVvX291dHB1dC9saWJmYl9wbHVnaW4uc28KQEAg LTExMzQsMTAgKzExNTAsOCBAQCBtYWtlIGNoZWNrCiAlaWYgJXt3aXRoIGRhYWxhfQogJXt2bGNf cGx1Z2luZGlyfS9jb2RlYy9saWJkYWFsYV9wbHVnaW4uc28KICVlbmRpZgotJXt2bGNfcGx1Z2lu ZGlyfS9jb2RlYy9saWJkY2FfcGx1Z2luLnNvCiAle3ZsY19wbHVnaW5kaXJ9L2NvZGVjL2xpYmth dGVfcGx1Z2luLnNvCiAle3ZsY19wbHVnaW5kaXJ9L2NvZGVjL2xpYmxpYmFzc19wbHVnaW4uc28K LSV7dmxjX3BsdWdpbmRpcn0vY29kZWMvbGlibGlibXBlZzJfcGx1Z2luLnNvCiAlaWYgJXt3aXRo IHZwbH0KICV7dmxjX3BsdWdpbmRpcn0vY29kZWMvbGlicXN2X3BsdWdpbi5zbwogJWVuZGlmCkBA IC0xMTg0LDcgKzExOTgsOSBAQCBtYWtlIGNoZWNrCiAle3ZsY19wbHVnaW5kaXJ9L3N0cmVhbV9v dXQvbGlic3RyZWFtX291dF9jaHJvbWFwcmludF9wbHVnaW4uc28KICV7dmxjX3BsdWdpbmRpcn0v dmRwYXUvbGlidmRwYXVfYXZjb2RlY19wbHVnaW4uc28KICV7dmxjX3BsdWdpbmRpcn0vdmlkZW9f Y2hyb21hL2xpYnN3c2NhbGVfcGx1Z2luLnNvCislaWYgJXt3aXRoIHBvc3Rwcm9jfQogJXt2bGNf cGx1Z2luZGlyfS92aWRlb19maWx0ZXIvbGlicG9zdHByb2NfcGx1Z2luLnNvCislZW5kaWYKIAog JWZpbGVzIHBsdWdpbi1mbHVpZHN5bnRoCiAle3ZsY19wbHVnaW5kaXJ9L2NvZGVjL2xpYmZsdWlk c3ludGhfcGx1Z2luLnNvCg==