ZGlmZiAtLWdpdCBhL3N1cHdpc2RvbS9zcF9jYXJkLmMgYi9zdXB3aXNkb20vc3BfY2FyZC5jCmluZGV4IDRmY2JkNjUuLmUyM2NkNjEgMTAwNjQ0Ci0tLSBhL3N1cHdpc2RvbS9zcF9jYXJkLmMKKysrIGIvc3Vwd2lzZG9tL3NwX2NhcmQuYwpAQCAtMTIyLDkgKzEyMiw4IEBACiAgIHsKICAgICByZXR1cm4gcmV0OwogICB9Ci0gIG9mZnNldCA9IDA7Ci0gIE1FTUNMRUFSKGNhcmQtPmNpdGl6ZW5fY2FyZG5vLCBzaXplb2YoY2FyZC0+Y2l0aXplbl9jYXJkbm8pKTsKLSAgb2Zmc2V0ICs9IDMxOworICBvZmZzZXQgPSAzMTsKKyAgb2Zmc2V0ICs9IDg7CiAgIE1FTUNQWShjYXJkLT5jaXRpemVuX2NhcmRubywgYnVmZitvZmZzZXQsIHNpemVvZihjYXJkLT5jaXRpemVuX2NhcmRubykpOwogICBvZmZzZXQgKz0gMTI7CiAgIG9mZnNldCArPSAxODsKZGlmZiAtLWdpdCBhL3N1cHdpc2RvbS9zcF9jb21tdW5pY2F0ZS5jIGIvc3Vwd2lzZG9tL3NwX2NvbW11bmljYXRlLmMKaW5kZXggZmFiNWI0NC4uM2VhMzNjZiAxMDA2NDQKLS0tIGEvc3Vwd2lzZG9tL3NwX2NvbW11bmljYXRlLmMKKysrIGIvc3Vwd2lzZG9tL3NwX2NvbW11bmljYXRlLmMKQEAgLTE0NCw3ICsxNDQsNyBAQAogICAgIH0KICAgICBlbHNlIGlmKElTX0tFWShQS19JTlRfQU1PVU5UX0xJTUlULGZpZWxkLmtleSkpCiAgICAgewotICAgICAgY2FyZC0+YW1vdW50bGltaXQgPSAodWludDMyKWZpZWxkLnZhbC5pbnR2YWw7CisgICAgICBjYXJkLT5hbW91bnRsaW1pdCA9ICh1aW50MzIpZmllbGQudmFsLmludHZhbCoxMDsKICAgICB9CiAgIH0KICAgLy9kaXNwX2hpbnRfaW5mbyhwb3MsIsntt93Iz9aks8m5piIsREVMQVlfVElNRTFzKTsKQEAgLTE2Nyw3ICsxNjcsNyBAQAogICBjd19wYWNrX21hcF9zaXplKCZwYWNrLDQpOwogCiAgIHNwX3BhY2tfcHV0X2JpbigmcGFjaywgUEtfQklOX0NBUkRQSFlJRCwgY2FyZC0+Y2FyZHBoeWlkLCA0KTsKLSAgc3BfcGFja19wdXRfYmluKCZwYWNrLCBQS19CSU5fQ0lUSVpFTl9DQVJETk8sIGNhcmQtPmNpdGl6ZW5fY2FyZG5vKzgsIDQpOworICBzcF9wYWNrX3B1dF9iaW4oJnBhY2ssIFBLX0JJTl9DSVRJWkVOX0NBUkROTywgY2FyZC0+Y2l0aXplbl9jYXJkbm8sIDQpOwogICBzcF9wYWNrX3B1dF9iaW4oJnBhY2ssIFBLX0JJTl9ERVZQSFlJRCwgcG9zLT5kZXZwaHlpZCwgNCk7CiAgIHNwX3BhY2tfcHV0X2JpbigmcGFjaywgUEtfQklOX0RFVlRJTUUsIGN0aW1lLCA2KTsKIApAQCAtMzYwLDcgKzM2MCw3IEBACiAgICAgfQogICAgIGVsc2UgaWYoSVNfS0VZKFBLX0lOVF9QQVlBTVQsIGZpZWxkLmtleSkpCiAgICAgewotICAgICAgY2FyZC0+cXJjb2RlLnBhaWRBbW91bnQgPSAodWludDgpZmllbGQudmFsLmludHZhbDsKKyAgICAgIGNhcmQtPnFyY29kZS5wYWlkQW1vdW50ID0gKHVpbnQzMilmaWVsZC52YWwuaW50dmFsOwogICAgIH0KICAgICBlbHNlIGlmKElTX0tFWShQS19JTlRfRkVFQU1PVU5ULGZpZWxkLmtleSkpCiAgICAgewpAQCAtMzg0LDcgKzM4NCw3IEBACiAgICAgfQogICAgIGVsc2UgaWYoSVNfS0VZKFBLX0lOVF9BTU9VTlRfTElNSVQsZmllbGQua2V5KSkKICAgICB7Ci0gICAgICBjYXJkLT5hbW91bnRsaW1pdCA9ICh1aW50MTYpZmllbGQudmFsLmludHZhbDsKKyAgICAgIGNhcmQtPmFtb3VudGxpbWl0ID0gKHVpbnQzMilmaWVsZC52YWwuaW50dmFsKjEwOwogICAgIH0KICAgfQogICByZXR1cm4gcmVzcC5yZXRjb2RlOwpAQCAtNDE3LDEwICs0MTcsMTIgQEAKICAgY3dfcGFja19jb250ZXh0IHBhY2s7CiAgIHNwX3Byb3RvY29sX3JlcXVlc3RfdCByZXE7CiAKKyAgcG9zLT5oZWFydGJlYXQuaGVhcnRfc3RhdHVzID0gSEVBUlRfU0VORDsKKwogICB0cmFuc2R0bF9hY2NvdW50X2NvYmlsTG5vID0gdHJhbnNkdGwtPmNvYmlsbG5vOwogICBzcF9wcm90b2NvbF9yZXFfaW5pdCgmcmVxLCBTUF9DTURfVFJBTlNEVExfQUNDT1VOVCk7CiAgIHNwX3BhY2tfaW5pdCgmcGFjayxyZXEuZGF0YSxzaXplb2YocmVxLmRhdGEpKTsKLSAgY3dfcGFja19tYXBfc2l6ZSgmcGFjaywxMCk7CisgIGN3X3BhY2tfbWFwX3NpemUoJnBhY2ssMTEpOwogCiAgIHNwX3BhY2tfcHV0X2JpbigmcGFjaywgUEtfQklOX0RFVlBIWUlELCB0cmFuc2R0bC0+ZGV2cGh5aWQsNCk7CiAgIHNwX3BhY2tfcHV0X2JpbigmcGFjaywgUEtfQklOX1RSQU5TREFURSwgdHJhbnNkdGwtPnRyYW5zZGF0ZSwzKTsKQEAgLTQyOCw2ICs0MzAsNyBAQAogICBzcF9wYWNrX3B1dF9pbnQoJnBhY2ssIFBLX0lOVF9DT0JJTExOTywgdHJhbnNkdGwtPmNvYmlsbG5vKTsKICAgc3BfcGFja19wdXRfYmluKCZwYWNrLCBQS19CSU5fQ0FSRFBIWUlELCB0cmFuc2R0bC0+Y2FyZHBoeWlkLAogICAgICAgICAgICAgICAgICAgc2l6ZW9mKHRyYW5zZHRsLT5jYXJkcGh5aWQpKTsKKyAgc3BfcGFja19wdXRfYmluKCZwYWNrLCBQS19CSU5fQ0lUSVpFTl9DQVJETk8sIHRyYW5zZHRsLT5jYXJkbm8sIDQpOwogICBzcF9wYWNrX3B1dF9pbnQoJnBhY2ssIFBLX0lOVF9UUkFOU1dBWSwgdHJhbnNkdGwtPnRyYW5zd2F5KTsKICAgc3BfcGFja19wdXRfaW50KCZwYWNrLCBQS19JTlRfQU1PVU5ULCB0cmFuc2R0bC0+YW1vdW50KTsKICAgc3BfcGFja19wdXRfaW50KCZwYWNrLCBQS19JTlRfUEFZQU1ULCB0cmFuc2R0bC0+cGFpZEFtb3VudCk7CkBAIC00NDcsMjkgKzQ1MCwzMCBAQAogICBjd191bnBhY2tfY29udGV4dCB1bnBhY2s7CiAgIHVucGFja19maWVsZF90IGZpZWxkOwogCi0gIGlmKCFyZXNwLT5yZXRjb2RlKQorICBpZihyZXNwLT5yZXRjb2RlKQogICB7Ci0gICAgc3BfdW5wYWNrX2luaXQoJnVucGFjaywgcmVzcC0+ZGF0YSwgcmVzcC0+ZGF0YWxlbik7Ci0gICAgc2l6ZSA9IHNwX3VucGFja19tYXBfc2l6ZSgmdW5wYWNrKTsKLSAgICB3aGlsZShzaXplLS0gPiAwKQorICAgIHJldHVybiByZXNwLT5yZXRjb2RlOworICB9CisgIHBvcy0+aGVhcnRiZWF0LmhlYXJ0X3N0YXR1cyA9IEhFQVJUX1JFQ1Y7CisgIHNwX3VucGFja19pbml0KCZ1bnBhY2ssIHJlc3AtPmRhdGEsIHJlc3AtPmRhdGFsZW4pOworICBzaXplID0gc3BfdW5wYWNrX21hcF9zaXplKCZ1bnBhY2spOworICB3aGlsZShzaXplLS0gPiAwKQorICB7CisgICAgc3BfdW5wYWNrX3ZhbHVlKCZ1bnBhY2ssJmZpZWxkKTsKKyAgICBpZihJU19LRVkoUEtfSU5UX0NPQklMTE5PLGZpZWxkLmtleSkpCiAgICAgewotICAgICAgc3BfdW5wYWNrX3ZhbHVlKCZ1bnBhY2ssJmZpZWxkKTsKLSAgICAgIGlmKElTX0tFWShQS19JTlRfQ09CSUxMTk8sZmllbGQua2V5KSkKKyAgICAgIGlmKGZpZWxkLnZhbC5pbnR2YWwgPT0gdHJhbnNkdGxfYWNjb3VudF9jb2JpbExubykKICAgICAgIHsKLSAgICAgICAgaWYoZmllbGQudmFsLmludHZhbCA9PSB0cmFuc2R0bF9hY2NvdW50X2NvYmlsTG5vKQorICAgICAgICBwb3MtPnVuY29uZmlybV90cmFuc2R0bC50cmFuc2FkZHIrPSBzaXplb2Yoc3BfdHJhbnNkdGxfdCk7CisgICAgICAgIGlmKEFERFJfVFJBTlNEVExfRU5EIDw9IHBvcy0+dW5jb25maXJtX3RyYW5zZHRsLnRyYW5zYWRkcikKICAgICAgICAgewotICAgICAgICAgIHBvcy0+dW5jb25maXJtX3RyYW5zZHRsLnRyYW5zYWRkcis9IHNpemVvZihzcF90cmFuc2R0bF90KTsKLSAgICAgICAgICBpZihBRERSX1RSQU5TRFRMX0VORCA8PSBwb3MtPnVuY29uZmlybV90cmFuc2R0bC50cmFuc2FkZHIpCi0gICAgICAgICAgewotICAgICAgICAgICAgcG9zLT51bmNvbmZpcm1fdHJhbnNkdGwudHJhbnNhZGRyPSBBRERSX1RSQU5TRFRMX0JFR0lOOwotICAgICAgICAgIH0KLSAgICAgICAgICByZXR1cm4gc3Bfd3JpdGVfdW5jb25maXJtX3JlY29yZChwb3MpOworICAgICAgICAgIHBvcy0+dW5jb25maXJtX3RyYW5zZHRsLnRyYW5zYWRkcj0gQUREUl9UUkFOU0RUTF9CRUdJTjsKICAgICAgICAgfQorICAgICAgICByZXR1cm4gc3Bfd3JpdGVfdW5jb25maXJtX3JlY29yZChwb3MpOwogICAgICAgfQogICAgIH0KICAgfQogICByZXR1cm4gcmVzcC0+cmV0Y29kZTsKLQogfQogCiBzdGF0aWMgdWludDggc3BfY29uZmlybV9oZWFydGJlYXQoc3BfcHJvdG9jb2xfcmVzcG9uc2VfdCogcmVzcCwgc3BfcG9zX3QqIHBvcykKZGlmZiAtLWdpdCBhL3N1cHdpc2RvbS9zcF9jb25maWcuaCBiL3N1cHdpc2RvbS9zcF9jb25maWcuaAppbmRleCAxMTE5ZDI4Li42MDA2NWFkIDEwMDY0NAotLS0gYS9zdXB3aXNkb20vc3BfY29uZmlnLmgKKysrIGIvc3Vwd2lzZG9tL3NwX2NvbmZpZy5oCkBAIC0xMDMsMTMgKzEwMywxNCBAQAogICB1aW50OCB0cmFuc3RpbWVbM107CiAgIHVpbnQzMiBjb2JpbGxubzsJCS8vvbvS17aptaWx4LrFCiAgIHVpbnQ4IGNhcmRwaHlpZFs0XTsJLy+/qM7vwO1pZAorICB1aW50OCBjYXJkbm9bNF07IC8vytDD8b+ousUKICAgdWludDggdHJhbnN3YXk7CQkvL7270te3vcq9o6wwLbP1yryjrDEty6K/qKOsMi3JqMLrCi0gIHVpbnQ4IGFtb3VudDsJCQkvL8q1vMrWp7i2vfC27gotICB1aW50OCBwYWlkQW1vdW50OwkJLy/S0danuLa98Lbuo6y1scrHz8i/27fRxKPKvc/Co6y8x8K80tHWp7i2tcS98LbuCi0gIHVpbnQ4IGZsb3dzZW5zb3JzOwkvL8q1vMrKudPDvMbBv6OotaXOu6O6sNm6wcn9o6kKKyAgdWludDMyIGFtb3VudDsJCQkvL8q1vMrWp7i2vfC27gorICB1aW50MzIgcGFpZEFtb3VudDsJCS8v0tHWp7i2vfC27qOstbHKx8/Iv9u30cSjyr3PwqOsvMfCvNLR1qe4trXEvfC27gorICB1aW50MzIgZmxvd3NlbnNvcnM7CS8vyrW8ysq508O8xsG/o6i1pc67o7qw2brByf2jqQogICB1aW50OCB0cmFuc3RhdHVzOwkJLy/B98uu17TMrKOsMC2z9cq8o6wxLbPJuaajrDItyqew3AotICB1aW50OCByZXZlcnNlWzddOwkJLy/VvM67t/sKLSAgdWludDggY3JjWzJdOyAJCS8vbGVuPTMyCisgIHVpbnQ4IHVudXNlZFsyNl07CQkvL9W8zru3+worICB1aW50OCBjcmNbMl07IAkJLy9sZW49NjQKIH0gc3BfdHJhbnNkdGxfdDsKIAogdHlwZWRlZiBzdHJ1Y3QKQEAgLTE0NCwxMiArMTQ1LDEyIEBACiAKICAgdWludDggc3RhcnR0aW1lWzZdOyAgCS8vy6K/qMqxvOQKICAgLyrPyL/bv+6687P2y64qLwotICB1aW50MTYgcHJlcGFpZF9udW07CS8vtaW0zr/J08O8xsG/KLWlzrs6MTAwbWwpCi0gIHVpbnQxNiBwcmVwYWlkX2FtdDsJLy+1pbTO1KS4tr3wx64KKyAgdWludDMyIHByZXBhaWRfbnVtOwkvL7WltM6/ydPDvMbBvyi1pc67OjEwMG1sKQorICB1aW50MzIgcHJlcGFpZF9hbXQ7CS8vtaW0ztSkuLa98MeuKLWlzrs6wOUpCiAKLSAgdWludDE2IHBhaWRfbnVtOyAJCS8vwNu8xr/J08O8xsG/KLWlzrs6MTAwbWwpCi0gIHVpbnQxNiBwYWlkX3N1bTsgIAkvL8DbvMbWp7i2vfC27gotICB1aW50MTYgdXNlZF9udW07IAkJLy/S0cq508O8xsG/KLWlzrs6MTAwbWwpCisgIHVpbnQzMiBwYWlkX251bTsgCQkvL8DbvMa/ydPDvMbBvyi1pc67OjEwMG1sKQorICB1aW50MzIgcGFpZF9zdW07ICAJLy/A27zG1qe4tr3wtu4otaXOuzrA5SkKKyAgdWludDMyIHVzZWRfbnVtOyAJCS8v0tHKudPDvMbBvyi1pc67OjEwMG1sKQogfSBzcF9wdXJjaGFzZV90OwogCiAvL7b+zqzC69DFz6IKQEAgLTE2Miw3ICsxNjMsNyBAQAogICB1aW50MzIgd2FpdHRpbWU7CQkvL7P2y661yLT9yrG85AogICB1aW50OCBhdXRoc3RhdHVzOwkJLy/Tw7unyLfIz9e0zKyjqDAtzrTIt8jPo6wxLdLRyLfIz6OpCiAgIHVpbnQ4IHBheXN0YXR1czsJCS8v1qe4tte0zKyjqDAttP3Wp7i2o6wgMS3S0danuLajrCAyLbT6v9ujrDMgLSC52LHVo6kKLSAgdWludDggcGFpZEFtb3VudDsJCS8vtbG2qbWlysfS0danuLbXtMyso6y3tbvY1qe4trPJuaa98LbuIKOsILfx1PLKxyAwCisgIHVpbnQzMiBwYWlkQW1vdW50OwkJLy+1sbaptaXKx9LR1qe4tte0zKyjrLe1u9jWp7i2s8m5pr3wtu4go6wgt/HU8srHIDAKIH0gc3BfcXJjb2RlX3Q7CiAKIC8vyeixuLLOyv0KQEAgLTIyNCwxOSArMjI1LDE5IEBACiB7CiAgIHVpbnQ4IGZlZV9zdGFydDsJLy9UsNm6wcn9v6rKvDsKICAgdWludDggZmVlX3VuaXQ7CS8vtaW0zr/bt9G/ydPDwffBv6OotaXOuzoxMDBtbKOpCi0gIHVpbnQ4IGZlZV9hbXQ7CS8vtaW0zr/bt9G98Lbuo6zS1LfWzqq1pc67CisgIHVpbnQ4IGZlZV9hbXQ7CS8vtaW0zr/bt9G98Lbuo6zS1MDlzqq1pc67CiB9IHNwX2ZlZXBhcmFfdDsKIAogLy+/qL3hubnQxc+iCiB0eXBlZGVmIHN0cnVjdAogewogICB1aW50OCBjYXJkcGh5aWRbNF07Ci0gIHVpbnQ4IGNpdGl6ZW5fY2FyZG5vWzEyXTsJLy/K0MPxusUKKyAgdWludDggY2l0aXplbl9jYXJkbm9bNF07CS8vytDD8brFCiAgIHVpbnQ4IGNhcmR0eXBlOwogICB1aW50OCBleHBpcmVkYXRlWzRdOwogCi0gIHVpbnQxNiB3YXRlcmxpbWl0OwkJLy+1pbTOs/bLrsH3wb/Jz8/eo6gxMDBtbKOpCi0gIHVpbnQxNiBhbW91bnRsaW1pdDsJCS8vtaW0zrP2y6698Lbuyc/P3iAot9YpCisgIHVpbnQzMiB3YXRlcmxpbWl0OwkJLy+1pbTOs/bLrsH3wb/Jz8/eo6gxMDBtbKOpCisgIHVpbnQzMiBhbW91bnRsaW1pdDsJCS8vtaW0zrP2y6698Lbuyc/P3iAowOUpCiAgIHVpbnQzMiBjb2JpbGxubzsJCS8vvbvS17aptaWx4LrFCiAgIHVpbnQ4CXBlcm1pdDsJCQkvL8rHt/HUytDtz/u30aOsMC3UytDto6wxLbK71MrQ7QogICBjaGFyIGxpbWl0bXNnWzQ1XTsJCS8vz97Wxs/7t9HQxc+iCmRpZmYgLS1naXQgYS9zdXB3aXNkb20vc3BfY29uc3VtZS5jIGIvc3Vwd2lzZG9tL3NwX2NvbnN1bWUuYwppbmRleCA5MGM1Mjk1Li5jNDE4MzY4IDEwMDY0NAotLS0gYS9zdXB3aXNkb20vc3BfY29uc3VtZS5jCisrKyBiL3N1cHdpc2RvbS9zcF9jb25zdW1lLmMKQEAgLTM0Myw3ICszNDMsNyBAQAogICB9CiAgIGlmKHBvcy0+cHVyY2hhc2UucGFpZF9zdW0gPiAwKQogICB7Ci0gICAgc3ByaW50Zihtc2csIrmyvMYgJTAuMmbUqiIscG9zLT5wdXJjaGFzZS5wYWlkX3N1bS8xMDAuMGYpOworICAgIHNwcmludGYobXNnLCK5srzGICUwLjNm1KoiLHBvcy0+cHVyY2hhc2UucGFpZF9zdW0vMTAwMC4wZik7CiAgICAgZGlzcF9oaW50X2luZm9fdHdvKHBvcywiveHK+LzGt9EiLG1zZyxERUxBWV9USU1FMnMpOwogICB9CiAgIGVsc2UKQEAgLTM2NCw3ICszNjQsNyBAQAogICBzcF92YWx2ZV9vZmYoKTsKICAgaWYocG9zLT5wdXJjaGFzZS5wYWlkX3N1bSA+IDApCiAgIHsKLSAgICBzcHJpbnRmKG1zZywiubK8xiAlMC4yZtSqIixwb3MtPnB1cmNoYXNlLnBhaWRfc3VtLzEwMC4wZik7CisgICAgc3ByaW50Zihtc2csIrmyvMYgJTAuM2bUqiIscG9zLT5wdXJjaGFzZS5wYWlkX3N1bS8xMDAwLjBmKTsKICAgICBkaXNwX2hpbnRfaW5mb190d28ocG9zLCLU3c2jvMa30SIsbXNnLERFTEFZX1RJTUUycyk7CiAgIH0KICAgZWxzZQpAQCAtMzkzLDcgKzM5Myw3IEBACiAgIHN3aXRjaChjYXJkV29ya1N0YXRlLT5jdXJyZW50X3N0YXRlKQogICB7CiAgIGNhc2UgQ0FSRFdPUktTVEFUVVNfTk9ORToKLSAgICBpZih0aW1lcl9nZXRfdGlja2VyKCkgLSBwb3MtPmNhcmRTdGF0ZS5maXJzdHRpY2sgPCAxNTAwKQorICAgIGlmKHRpbWVyX2dldF90aWNrZXIoKSAtIHBvcy0+Y2FyZFN0YXRlLmZpcnN0dGljayA8IDUwMCkKICAgICB7CiAgICAgICBicmVhazsKICAgICB9CmRpZmYgLS1naXQgYS9zdXB3aXNkb20vc3BfZGF0YS5jIGIvc3Vwd2lzZG9tL3NwX2RhdGEuYwppbmRleCAyMjc1YWJjLi5kODdiOTE4IDEwMDY0NAotLS0gYS9zdXB3aXNkb20vc3BfZGF0YS5jCisrKyBiL3N1cHdpc2RvbS9zcF9kYXRhLmMKQEAgLTQsOCArNCw4IEBACiAjaW5jbHVkZSAic3BfY29uc3RhbnQuaCIKICNpbmNsdWRlICJzcF9kaXNwbGF5LmgiCiAKLSNkZWZpbmUgcmVjb3JkX2JlaGFsZl9sZW4gMTkKLSNkZWZpbmUgcmVjb3JkX2JlbG93X2xlbiAxMworI2RlZmluZSByZWNvcmRfYmVoYWxmX2xlbiAyMworI2RlZmluZSByZWNvcmRfYmVsb3dfbGVuIDQxCiAKIC8v0a27t7zHwrzDv9K7scrB98uuvMfCvLXEtdjWtwogc3RhdGljIHVpbnQxNiBzcF93cml0ZV9sYXN0X3JlY29yZChzcF9wb3NfdCogcG9zKQpAQCAtNzksNiArNzksNyBAQAogICBtZW1jcHkocmVjb3JkLnRyYW5zdGltZSwgY3RpbWUrMywgMyk7CiAgIHJlY29yZC5jb2JpbGxubyA9IGNhcmQtPmNvYmlsbG5vOwogICBtZW1jcHkocmVjb3JkLmNhcmRwaHlpZCwgY2FyZC0+Y2FyZHBoeWlkLCBzaXplb2YoY2FyZC0+Y2FyZHBoeWlkKSk7CisgIG1lbWNweShyZWNvcmQuY2FyZG5vLCBjYXJkLT5jaXRpemVuX2NhcmRubywgc2l6ZW9mKGNhcmQtPmNpdGl6ZW5fY2FyZG5vKSk7CiAgIGlmKHBvcy0+cGF5bW9kZSA9PSBQQVlNT0RFX1FSQ09ERSkKICAgewogICAgIHJlY29yZC50cmFuc3dheSA9IDI7CmRpZmYgLS1naXQgYS9zdXB3aXNkb20vc3BfZGlzcGxheS5jIGIvc3Vwd2lzZG9tL3NwX2Rpc3BsYXkuYwppbmRleCA2MDdhZWZmLi4zZWMzYTFiIDEwMDY0NAotLS0gYS9zdXB3aXNkb20vc3BfZGlzcGxheS5jCisrKyBiL3N1cHdpc2RvbS9zcF9kaXNwbGF5LmMKQEAgLTI1LDcgKzI1LDcgQEAKIHZvaWQgc2hvd19tb25leShzcF9wb3NfdCogcG9zLCB1aW50MzIgbW9uZXkpCiB7CiAgIGNoYXIgbXNnWzMyXTsKLSAgc3ByaW50Zihtc2csIiAgICAgJS4wMmYg1KoiLG1vbmV5LzEwMC4wZik7CisgIHNwcmludGYobXNnLCIgICAgICUuMDNm1KoiLG1vbmV5LzEwMDAuMGYpOwogICBkaXNwX2hpbnRfaW5mb190d28ocG9zLCLA27zGy6630ToiLG1zZywwKTsKIH0KIAo=