ZGlmZiAtLWdpdCBhL2RvY3MveG1sL25naW54L2NoYW5nZXMueG1sIGIvZG9jcy94bWwvbmdpbngvY2hhbmdlcy54bWwKaW5kZXggYTIxMDc1MC4uZDJiNzkyMSAxMDA2NDQKLS0tIGEvZG9jcy94bWwvbmdpbngvY2hhbmdlcy54bWwKKysrIGIvZG9jcy94bWwvbmdpbngvY2hhbmdlcy54bWwKQEAgLTksNiArOSwyMyBAQAogPHRpdGxlIGxhbmc9ImVuIj5uZ2lueCBjaGFuZ2Vsb2c8L3RpdGxlPgogCiAKKzxjaGFuZ2VzIHZlcj0iMC4zLjYwIiBkYXRlPSIxOC4wOC4yMDA2Ij4KKworPGNoYW5nZSB0eXBlPSJidWdmaXgiPgorPHBhcmEgbGFuZz0icnUiPgor188g19LFzdEg0MXSxc7B0NLB18zFzsnRIM/bycLLySDSwcLP3snKINDSz8PF09Mgzc/HINrBw8nLzMnU2NPROworz9vJwsvBINDP0dfJzMHT2CDXIDAuMy41OS4KKzwvcGFyYT4KKzxwYXJhIGxhbmc9ImVuIj4KK2Egd29ya2VyIHByb2Nlc3MgbWF5IGdvdCBjYXVnaHQgaW4gYW4gZW5kbGVzcyBsb29wCit3aGlsZSBhbiBlcnJvciByZWRpcmVjdGlvbjsKK2J1ZyBhcHBlYXJlZCBpbiAwLjMuNTkuCis8L3BhcmE+Cis8L2NoYW5nZT4KKworPC9jaGFuZ2VzPgorCisKIDxjaGFuZ2VzIHZlcj0iMC4zLjU5IiBkYXRlPSIxNi4wOC4yMDA2Ij4KIAogPGNoYW5nZSB0eXBlPSJmZWF0dXJlIj4KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL25naW54LmggYi9zcmMvY29yZS9uZ2lueC5oCmluZGV4IDIyNGZiNzAuLjFkNDE3ZmUgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL25naW54LmgKKysrIGIvc3JjL2NvcmUvbmdpbnguaApAQCAtOCw3ICs4LDcgQEAKICNkZWZpbmUgX05HSU5YX0hfSU5DTFVERURfCiAKIAotI2RlZmluZSBOR0lOWF9WRVIgICAgICAgICAgIm5naW54LzAuMy41OSIKKyNkZWZpbmUgTkdJTlhfVkVSICAgICAgICAgICJuZ2lueC8wLjMuNjAiCiAKICNkZWZpbmUgTkdJTlhfVkFSICAgICAgICAgICJOR0lOWCIKICNkZWZpbmUgTkdYX09MRFBJRF9FWFQgICAgICIub2xkYmluIgpkaWZmIC0tZ2l0IGEvc3JjL2h0dHAvbmd4X2h0dHBfY29yZV9tb2R1bGUuYyBiL3NyYy9odHRwL25neF9odHRwX2NvcmVfbW9kdWxlLmMKaW5kZXggYjI4OTMxNy4uNWMxOTE2NyAxMDA2NDQKLS0tIGEvc3JjL2h0dHAvbmd4X2h0dHBfY29yZV9tb2R1bGUuYworKysgYi9zcmMvaHR0cC9uZ3hfaHR0cF9jb3JlX21vZHVsZS5jCkBAIC01MDcsNyArNTA3LDcgQEAKICAgICByLT52YWxpZF9sb2NhdGlvbiA9IDE7CiAgICAgci0+dXJpX2NoYW5nZWQgPSAxOwogCi0gICAgci0+cGhhc2UgPSAociA9PSByLT5tYWluKSA/IE5HWF9IVFRQX1BPU1RfUkVBRF9QSEFTRToKKyAgICByLT5waGFzZSA9ICghci0+aW50ZXJuYWwpID8gTkdYX0hUVFBfUE9TVF9SRUFEX1BIQVNFOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOR1hfSFRUUF9TRVJWRVJfUkVXUklURV9QSEFTRTsKICAgICByLT5waGFzZV9oYW5kbGVyID0gMDsKIApAQCAtMTMyNCw2ICsxMzI0LDE1IEBACiB7CiAgICAgbmd4X2h0dHBfY29yZV9zcnZfY29uZl90ICAqY3NjZjsKIAorICAgIHItPnVyaV9jaGFuZ2VzLS07CisKKyAgICBpZiAoci0+dXJpX2NoYW5nZXMgPT0gMCkgeworICAgICAgICBuZ3hfbG9nX2Vycm9yKE5HWF9MT0dfRVJSLCByLT5jb25uZWN0aW9uLT5sb2csIDAsCisgICAgICAgICAgICAgICAgICAgICAgInJld3JpdGUgb3IgaW50ZXJuYWwgcmVkaXJlY3Rpb24gY3ljbGUiKTsKKyAgICAgICAgbmd4X2h0dHBfZmluYWxpemVfcmVxdWVzdChyLCBOR1hfSFRUUF9JTlRFUk5BTF9TRVJWRVJfRVJST1IpOworICAgICAgICByZXR1cm4gTkdYX0RPTkU7CisgICAgfQorCiAgICAgci0+dXJpID0gKnVyaTsKIAogICAgIGlmIChhcmdzKSB7CkBAIC0xMzM4LDcgKzEzNDcsOCBAQAogICAgICAgICAgICAgICAgICAgICJpbnRlcm5hbCByZWRpcmVjdDogXCIlVj8lVlwiIiwgdXJpLCAmci0+YXJncyk7CiAKICAgICBpZiAobmd4X2h0dHBfc2V0X2V4dGVuKHIpICE9IE5HWF9PSykgewotICAgICAgICByZXR1cm4gTkdYX0hUVFBfSU5URVJOQUxfU0VSVkVSX0VSUk9SOworICAgICAgICBuZ3hfaHR0cF9maW5hbGl6ZV9yZXF1ZXN0KHIsIE5HWF9IVFRQX0lOVEVSTkFMX1NFUlZFUl9FUlJPUik7CisgICAgICAgIHJldHVybiBOR1hfRE9ORTsKICAgICB9CiAKICAgICAvKiBjbGVhciB0aGUgbW9kdWxlcyBjb250ZXh0cyAqLwpAQCAtMTM1MSw4ICsxMzYxLDYgQEAKIAogICAgIHItPmludGVybmFsID0gMTsKIAotICAgIHItPnVyaV9jaGFuZ2VzLS07Ci0KICAgICBuZ3hfaHR0cF9oYW5kbGVyKHIpOwogCiAgICAgcmV0dXJuIE5HWF9ET05FOwpkaWZmIC0tZ2l0IGEvc3JjL2h0dHAvbmd4X2h0dHBfc3BlY2lhbF9yZXNwb25zZS5jIGIvc3JjL2h0dHAvbmd4X2h0dHBfc3BlY2lhbF9yZXNwb25zZS5jCmluZGV4IGFiZGY2MjQuLmE0NGM1MWMgMTAwNjQ0Ci0tLSBhL3NyYy9odHRwL25neF9odHRwX3NwZWNpYWxfcmVzcG9uc2UuYworKysgYi9zcmMvaHR0cC9uZ3hfaHR0cF9zcGVjaWFsX3Jlc3BvbnNlLmMKQEAgLTMxMiw2ICszMTIsNyBAQAogICAgIH0KIAogICAgIHItPmhlYWRlcnNfb3V0LnN0YXR1cyA9IGVycm9yOworICAgIHItPmVycl9zdGF0dXMgPSBlcnJvcjsKIAogICAgIGlmIChyLT5rZWVwYWxpdmUgIT0gMCkgewogICAgICAgICBzd2l0Y2ggKGVycm9yKSB7CkBAIC0zNDAsNyArMzQxLDcgQEAKIAogICAgIGNsY2YgPSBuZ3hfaHR0cF9nZXRfbW9kdWxlX2xvY19jb25mKHIsIG5neF9odHRwX2NvcmVfbW9kdWxlKTsKIAotICAgIGlmIChjbGNmLT5lcnJvcl9wYWdlcykgeworICAgIGlmIChyLT51cmlfY2hhbmdlcyAmJiBjbGNmLT5lcnJvcl9wYWdlcykgewogCiAgICAgICAgIGVycl9wYWdlID0gY2xjZi0+ZXJyb3JfcGFnZXMtPmVsdHM7CiAK