ZGlmZiAtLWdpdCBhL3N1cHdpc2RvbS9zcF9jb21tdW5pY2F0ZS5jIGIvc3Vwd2lzZG9tL3NwX2NvbW11bmljYXRlLmMKaW5kZXggOThkNjA5Ni4uNzliNTYwMSAxMDA2NDQKLS0tIGEvc3Vwd2lzZG9tL3NwX2NvbW11bmljYXRlLmMKKysrIGIvc3Vwd2lzZG9tL3NwX2NvbW11bmljYXRlLmMKQEAgLTM2MywxMCArMzYzLDIyIEBACiAgICAgewogICAgICAgY2FyZC0+ZmVlcGFyYS5mZWVfdW5pdCA9ICh1aW50OClmaWVsZC52YWwuaW50dmFsOwogICAgIH0KKyAgICBlbHNlIGlmKElTX0tFWShQS19JTlRfRkVFU1RBUlQsZmllbGQua2V5KSkKKyAgICB7CisgICAgICBjYXJkLT5mZWVwYXJhLmZlZV9zdGFydCA9ICh1aW50OClmaWVsZC52YWwuaW50dmFsOworICAgIH0KKyAgICBlbHNlIGlmKElTX0tFWShQS19JTlRfV0FJVFRJTUUsZmllbGQua2V5KSkKKyAgICB7CisgICAgICBjYXJkLT5xcmNvZGUud2FpdHRpbWUgPSAodWludDMyKWZpZWxkLnZhbC5pbnR2YWw7CisgICAgfQogICAgIGVsc2UgaWYoSVNfS0VZKFBLX0lOVF9XQVRFUkxJTUlULCBmaWVsZC5rZXkpKQogICAgIHsKICAgICAgIGNhcmQtPndhdGVybGltaXQgPSAodWludDE2KWZpZWxkLnZhbC5pbnR2YWw7CiAgICAgfQorICAgIGVsc2UgaWYoSVNfS0VZKFBLX0lOVF9BTU9VTlRfTElNSVQsZmllbGQua2V5KSkKKyAgICB7CisgICAgICBjYXJkLT5hbW91bnRsaW1pdCA9ICh1aW50MTYpZmllbGQudmFsLmludHZhbDsKKyAgICB9CiAgIH0KICAgcmV0dXJuIHJlc3AucmV0Y29kZTsKIH0KZGlmZiAtLWdpdCBhL3N1cHdpc2RvbS9zcF9jb21tdW5pY2F0ZS5oIGIvc3Vwd2lzZG9tL3NwX2NvbW11bmljYXRlLmgKaW5kZXggMjg4NTQzNS4uYzA2NWYyMCAxMDA2NDQKLS0tIGEvc3Vwd2lzZG9tL3NwX2NvbW11bmljYXRlLmgKKysrIGIvc3Vwd2lzZG9tL3NwX2NvbW11bmljYXRlLmgKQEAgLTgyLDYgKzgyLDcgQEAKICNkZWZpbmUgUEtfSU5UX1BFUk1JVAkJCQkiMTgiCiAjZGVmaW5lIFBLX1NUUl9MSU1JVE1TRwkJCQkiMTkiCiAjZGVmaW5lIFBLX0lOVF9BTU9VTlRfTElNSVQJCQkiMjAiCisjZGVmaW5lIFBLX0lOVF9XQUlUVElNRQkJCQkiMjEiCiAKICNkZWZpbmUgU1BfQ01EX1VQR1JBREUgMHgyMCAgICAgICAgIAkvL9Taz9/J/by2CiAjZGVmaW5lIFNQX0NNRF9UUkFOU0RUTF9BQ0NPVU5UIDB4MjIgICAgLy+8x9XLwffLrgpkaWZmIC0tZ2l0IGEvc3Vwd2lzZG9tL3NwX2NvbmZpZy5oIGIvc3Vwd2lzZG9tL3NwX2NvbmZpZy5oCmluZGV4IGEyNzc0NzcuLjNkYWVkMDggMTAwNjQ0Ci0tLSBhL3N1cHdpc2RvbS9zcF9jb25maWcuaAorKysgYi9zdXB3aXNkb20vc3BfY29uZmlnLmgKQEAgLTE1OSw2ICsxNTksNyBAQAogICB1aW50MzIgc3RhcnR0aW1lOwkJLy+2/s6swuu/qsq8yrG85AogICB1aW50MzIgbm93dGltZTsJCS8vtv7OrMLrtbHHsMqxvOQKICAgdWludDMyIHZhbGlkdGltZTsJCS8vtv7OrMLr09DQp8qxvOQKKyAgdWludDMyIHdhaXR0aW1lOwkJLy+z9suutci0/cqxvOQKICAgdWludDggYXV0aHN0YXR1czsJCS8v08O7p8i3yM/XtMyso6gwLc60yLfIz6OsMS3S0ci3yM+jqQogICB1aW50OCBwYXlzdGF0dXM7CQkvL9anuLbXtMyso6gwLbT91qe4tqOsIDEt0tHWp7i2o6wgMi20+r/bo6wzIC0gudix1aOpCiAgIHVpbnQ4IHBhaWRBbW91bnQ7CQkvL7Wxtqm1pcrH0tHWp7i217TMrKOst7W72NanuLazybmmvfC27iCjrCC38dTyyscgMApkaWZmIC0tZ2l0IGEvc3Vwd2lzZG9tL3NwX2NvbnN1bWUuYyBiL3N1cHdpc2RvbS9zcF9jb25zdW1lLmMKaW5kZXggMzY4YjQ1Yy4uYTE0MTI0NyAxMDA2NDQKLS0tIGEvc3Vwd2lzZG9tL3NwX2NvbnN1bWUuYworKysgYi9zdXB3aXNkb20vc3BfY29uc3VtZS5jCkBAIC0zMjgsNiArMzI4LDE0IEBACiAgIGNoYXIgbXNnWzMyXTsKICAgc3BfdmFsdmVfb2ZmKCk7CiAKKyAgLyoqCisgICoq08nT2srHz8i/27fRuvPKudPDo6y3wNa51ruy5b+oyrG/27fRCisgICoqLworICBpZihwb3MtPnB1cmNoYXNlLnVzZWRfbnVtID09IDApCisgIHsKKyAgICBwb3MtPnB1cmNoYXNlLnBhaWRfbnVtID0gMDsKKyAgICBwb3MtPnB1cmNoYXNlLnBhaWRfc3VtID0gMDsKKyAgfQogICByZXQgPSBzcF9wcmVwYXJlX2JlbG93X3RyYW5zZHRsKHBvcywgY2FyZCk7CiAgIGlmKHJldCkKICAgewpAQCAtNjQwLDcgKzY0OCw3IEBACiAgICAgICBicmVhazsKICAgICB9CiAgICAgZGlzcF9oaW50X2luZm9fdHdvKHBvcywgIsfrx/O2/s6swusiLCLH68nUtcguLi4iLDApOwotCU1FTUNMRUFSKCZDQVJELHNpemVvZihzcF9jYXJkX3QpKTsKKyAgICBNRU1DTEVBUigmQ0FSRCxzaXplb2Yoc3BfY2FyZF90KSk7CiAgICAgcmV0ID0gc3BfcXJjb2RlX2luaXQocG9zLCAmQ0FSRCk7CiAgICAgaWYocmV0KQogICAgIHsKQEAgLTY4MCw2ICs2ODgsNyBAQAogICAgICAgICAgIGVsc2UKICAgICAgICAgICB7CiAgICAgICAgICAgICBkb19zdGFydChwb3MpOworICAgICAgICAgICAgQ0FSRC5xcmNvZGUuc3RhcnR0aW1lID0gQ0FSRC5xcmNvZGUubm93dGltZTsKICAgICAgICAgICAgIGNhcmRXb3JrU3RhdGUtPmxhc3Rfc3RhdGUgPSBjYXJkV29ya1N0YXRlLT5jdXJyZW50X3N0YXRlOwogICAgICAgICAgICAgY2FyZFdvcmtTdGF0ZS0+Y3VycmVudF9zdGF0ZSA9IENBUkRXT1JLU1RBVFVTX1dPUktJTkc7CiAgICAgICAgICAgfQpAQCAtNzE1LDYgKzcyNCwxNyBAQAogICAgICAgZGlzcF9oaW50X2luZm9fdHdvKHBvcywgIs2j1rmz9suuIiwi0tG077WltM698Lbuyc/P3iIsIERFTEFZX1RJTUUycyk7CiAgICAgICBjYXJkV29ya1N0YXRlLT5jdXJyZW50X3N0YXRlID0gQ0FSRFdPUktTVEFUVVNfU1RPUFBJTkc7CiAgICAgfQorICAgIC8qKsi3yM+z9suuuvOzrLn9tci0/cqxvOTOtLP2y67No9a5s/bLrioqLworICAgIENBUkQucXJjb2RlLm5vd3RpbWUgPSBzcF9nZXRfdGlja2VyKCk7CisgICAgaWYoKENBUkQucXJjb2RlLm5vd3RpbWUgLSBDQVJELnFyY29kZS5zdGFydHRpbWUpID4gQ0FSRC5xcmNvZGUud2FpdHRpbWUqREVMQVlfVElNRTFzKQorICAgIHsKKyAgICAgIGlmKHBvcy0+cHVyY2hhc2UudXNlZF9udW0gPT0gMCkKKyAgICAgIHsKKyAgICAgICAgZGlzcF9oaW50X2luZm9fdHdvKHBvcywgIs2j1rmz9suuIiwizrS87LLitb2z9suuIiwgREVMQVlfVElNRTJzKTsKKyAgICAgICAgY2FyZFdvcmtTdGF0ZS0+Y3VycmVudF9zdGF0ZSA9IENBUkRXT1JLU1RBVFVTX1NUT1BQSU5HOworICAgICAgfQorICAgIH0KKwogICAgIGNhcmRXb3JrU3RhdGUtPmxhc3Rfc3RhdGUgPSBjYXJkV29ya1N0YXRlLT5jdXJyZW50X3N0YXRlOwogICAgIGNhcmRXb3JrU3RhdGUtPnBhdXNlX3RpY2sgPSBzcF9nZXRfdGlja2VyKCk7CiAgICAgYnJlYWs7Cg==