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: Jakub Filak To: git-commits@fedoraproject.org Subject: [rpms/abrt] update-2.17.9-f44: New upstream release 2.6.0 Date: Mon, 03 Aug 2026 11:04:25 GMT Message-ID: <178575506544.1.12049149270546597187.rpms-abrt-a8bf279ba20b@fedoraproject.org> List-ID: X-Git-Repo: rpms/abrt X-Git-Branch: update-2.17.9-f44 X-Git-Rev: a8bf279ba20b944cbe3f98da82f64c7f996dc5e9 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvYWJydApCcmFuY2gg OiB1cGRhdGUtMi4xNy45LWY0NApDb21taXQgOiBhOGJmMjc5YmEyMGI5NDRjYmUzZjk4ZGE4MmY2 NGM3Zjk5NmRjNWU5CkF1dGhvciA6IEpha3ViIEZpbGFrIDxqZmlsYWtAcmVkaGF0LmNvbT4KRGF0 ZSAgIDogMjAxNS0wNi0xMFQwODozMjoxOSswMjowMApTdGF0cyAgOiArNDUvLTIzNDcgaW4gMTYg ZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2FicnQv Yy9hOGJmMjc5YmEyMGI5NDRjYmUzZjk4ZGE4MmY2NGM3Zjk5NmRjNWU5P2JyYW5jaD11cGRhdGUt Mi4xNy45LWY0NAoKTG9nOgpOZXcgdXBzdHJlYW0gcmVsZWFzZSAyLjYuMAoKLS0tCmRpZmYgLS1n aXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQppbmRleCAxMWRmYTVkLi4zNGQ2YzQ2IDEwMDY0 NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5naXRpZ25vcmUKQEAgLTQxLDMgKzQxLDQgQEAgYWJy dC0xLjEuMTMudGFyLmd6CiAvYWJydC0yLjQuMC50YXIuZ3oKIC9hYnJ0LTIuNS4wLnRhci5negog L2FicnQtMi41LjEudGFyLmd6CisvYWJydC0yLjYuMC50YXIuZ3oKCmRpZmYgLS1naXQgYS8wMDA0 LWFwcGxldC1zd2l0Y2gtdG8tRC1CdXMtbWV0aG9kcy5wYXRjaCBiLzAwMDQtYXBwbGV0LXN3aXRj aC10by1ELUJ1cy1tZXRob2RzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBl ZTZkN2M1Li4wMDAwMDAwCi0tLSBhLzAwMDQtYXBwbGV0LXN3aXRjaC10by1ELUJ1cy1tZXRob2Rz LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDI3ICswLDAgQEAKLUZyb20gYTI5NzdiMGZlMDIz YTg5NmMzMDA2ZjI3ZWUyYjE0ODY5MGRmZjI0YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZy b206IEpha3ViIEZpbGFrIDxqZmlsYWtAcmVkaGF0LmNvbT4KLURhdGU6IFdlZCwgOCBBcHIgMjAx NSAwODoyMzowMyArMDIwMAotU3ViamVjdDogW1BBVENIXSBhcHBsZXQ6IHN3aXRjaCB0byBELUJ1 cyBtZXRob2RzCi0KLVRoaXMgcGF0Y2ggaXMgYSBwYXJ0IG9mIG91ciBlZmZvcnRzIHRvIG1ha2Ug YWJydC1hcHBsZXQgaW5kZXBlbmRlbnQgb24KLXRoZSBiYWNrZW5kLgotCi1UaGlzIHBhdGNoIGNv bnZlcnRzIGFsbCBkYXRhIG1hbmlwdWxhdGlvbiBmdW5jdGlvbnMgdG8gRC1CdXMgY2FsbHMsIHNv Ci10aGUgbm90aWZpY2F0aW9ucyBhcmUgbWFkZSBvZiBkYXRhIG9idGFpbmVkIHRocm91Z2ggRC1C dXMuCi0KLVRoZSByZXBvcnRpbmcgc3RpbGwgcmVsaWVzIG9uIGZpbGUgc3lzdGVtIGFjY2Vzcywg dGhvdWdoLgotCi1TaWduZWQtb2ZmLWJ5OiBKYWt1YiBGaWxhayA8amZpbGFrQHJlZGhhdC5jb20+ Ci0tLS0KLSBzcmMvYXBwbGV0L2FwcGxldC5jICAgICAgICB8IDE4MSArKysrKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KLSBzcmMvaW5jbHVkZS9saWJhYnJ0LmggICAg ICB8ICAxNiArKysrCi0gc3JjL2xpYi9wcm9ibGVtX2FwaV9kYnVzLmMgfCAgNjEgKysrKysrKysr KystLS0tCi0gMyBmaWxlcyBjaGFuZ2VkLCAxNzQgaW5zZXJ0aW9ucygrKSwgODQgZGVsZXRpb25z KC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvYXBwbGV0L2FwcGxldC5jIGIvc3JjL2FwcGxldC9hcHBs ZXQuYwotaW5kZXggN2I1OGY2ZS4uNGRmNjlmYyAxMDA2NDQKLS0tLSBhL3NyYy9hcHBsZXQvYXBw bGV0LmMKLSsrKyBiL3NyYy9hcHBsZXQvYXBwbGV0LmMKLUBAIC0xMjAsNiArMTIwLDcgQEAgdHlw ZWRlZiBzdHJ1Y3QgcHJvYmxlbV9pbmZvIHsKLSAgICAgYm9vbCByZXBvcnRlZDsKLSAgICAgYm9v bCB3YXNfYW5ub3VuY2VkOwotICAgICBib29sIGlzX3dyaXRhYmxlOwotKyAgICBpbnQgdGltZTsK LSB9IHByb2JsZW1faW5mb190OwotIAotIHN0YXRpYyB2b2lkIHB1c2hfdG9fZGVmZXJyZWRfcXVl dWUocHJvYmxlbV9pbmZvX3QgKnBpKQotQEAgLTEzNyw2ICsxMzgsNTkgQEAgc3RhdGljIGNvbnN0 IGNoYXIgKnByb2JsZW1faW5mb19nZXRfY29tbWFuZF9saW5lKHByb2JsZW1faW5mb190ICpwaSkK LSAgICAgcmV0dXJuIHByb2JsZW1fZGF0YV9nZXRfY29udGVudF9vcl9OVUxMKHBpLT5wcm9ibGVt X2RhdGEsIEZJTEVOQU1FX0NNRExJTkUpOwotIH0KLSAKLStzdGF0aWMgaW50IHByb2JsZW1faW5m b19nZXRfdGltZShwcm9ibGVtX2luZm9fdCAqcGkpCi0rewotKyAgICBpZiAocGktPnRpbWUgPT0g LTEpCi0rICAgIHsKLSsgICAgICAgIGNvbnN0IGNoYXIgKnRpbWVfc3RyID0gcHJvYmxlbV9kYXRh X2dldF9jb250ZW50X29yX05VTEwocGktPnByb2JsZW1fZGF0YSwgRklMRU5BTUVfVElNRSk7Ci0r Ci0rICAgICAgICBpZiAodGltZV9zdHIgPT0gTlVMTCkKLSsgICAgICAgICAgICBlcnJvcl9tc2df YW5kX2RpZSgiQlVHOiBQcm9ibGVtIGluZm8gaGFzIGRhdGEgd2l0aG91dCB0aGUgZWxlbWVudCB0 aW1lIik7Ci0rCi0rICAgICAgICBwaS0+dGltZSA9IGF0b2kodGltZV9zdHIpOwotKyAgICB9Ci0r Ci0rICAgIHJldHVybiBwaS0+dGltZTsKLSt9Ci0rCi0rc3RhdGljIGNvbnN0IGNoYXIgKipwcm9i bGVtX2luZm9fZ2V0X2Vudihwcm9ibGVtX2luZm9fdCAqcGkpCi0rewotKyAgICBpZiAocGktPmVu dnAgPT0gTlVMTCkKLSsgICAgewotKyAgICAgICAgY29uc3QgY2hhciAqZW52X3N0ciA9IHByb2Js ZW1fZGF0YV9nZXRfY29udGVudF9vcl9OVUxMKHBpLT5wcm9ibGVtX2RhdGEsIEZJTEVOQU1FX0VO VklST04pOwotKyAgICAgICAgcGktPmVudnAgPSAoZW52X3N0ciAhPSBOVUxMKSA/IGdfc3Ryc3Bs aXQgKGVudl9zdHIsICJcbiIsIC0xKSA6IE5VTEw7Ci0rICAgIH0KLSsKLSsgICAgcmV0dXJuIChj b25zdCBjaGFyICoqKXBpLT5lbnZwOwotK30KLSsKLStzdGF0aWMgaW50IHByb2JsZW1faW5mb19n ZXRfcGlkKHByb2JsZW1faW5mb190ICpwaSkKLSt7Ci0rICAgIGlmIChwaS0+cGlkID09IC0xKQot KyAgICB7Ci0rICAgICAgICBjb25zdCBjaGFyICpwaWRfc3RyID0gcHJvYmxlbV9kYXRhX2dldF9j b250ZW50X29yX05VTEwocGktPnByb2JsZW1fZGF0YSwgRklMRU5BTUVfUElEKTsKLSsgICAgICAg IHBpLT5waWQgPSAocGlkX3N0ciAhPSBOVUxMKSA/IGF0b2kgKHBpZF9zdHIpIDogLTE7Ci0rICAg IH0KLSsKLSsgICAgcmV0dXJuIHBpLT5waWQ7Ci0rfQotKwotK3N0YXRpYyBpbnQgcHJvYmxlbV9p bmZvX2dldF9jb3VudChwcm9ibGVtX2luZm9fdCAqcGkpCi0rewotKyAgICBpZiAocGktPmNvdW50 ID09IC0xKQotKyAgICB7Ci0rICAgICAgICBjb25zdCBjaGFyICpjb3VudF9zdHIgPSBwcm9ibGVt X2RhdGFfZ2V0X2NvbnRlbnRfb3JfTlVMTChwaS0+cHJvYmxlbV9kYXRhLCBGSUxFTkFNRV9DT1VO VCk7Ci0rICAgICAgICBwaS0+Y291bnQgPSBjb3VudF9zdHIgPyBhdG9pKGNvdW50X3N0cikgOiAx OwotKyAgICB9Ci0rCi0rICAgIHJldHVybiBwaS0+Y291bnQ7Ci0rfQotKwotK3N0YXRpYyBib29s IHByb2JsZW1faW5mb19pc19yZXBvcnRlZChwcm9ibGVtX2luZm9fdCAqcGkpCi0rewotKyAgICBy ZXR1cm4gcHJvYmxlbV9kYXRhX2dldF9jb250ZW50X29yX05VTEwocGktPnByb2JsZW1fZGF0YSwg RklMRU5BTUVfUkVQT1JURURfVE8pICE9IE5VTEw7Ci0rfQotKwotIHN0YXRpYyB2b2lkIHByb2Js ZW1faW5mb19zZXRfZGlyKHByb2JsZW1faW5mb190ICpwaSwgY29uc3QgY2hhciAqZGlyKQotIHsK LSAgICAgcHJvYmxlbV9kYXRhX2FkZF90ZXh0X25vdGVkaXRhYmxlKHBpLT5wcm9ibGVtX2RhdGEs IENEX0RVTVBESVIsIGRpcik7Ci1AQCAtMTc2LDYgKzIzMCw5IEBAIHN0YXRpYyBwcm9ibGVtX2lu Zm9fdCAqcHJvYmxlbV9pbmZvX25ldyhjb25zdCBjaGFyICpkaXIpCi0gewotICAgICBwcm9ibGVt X2luZm9fdCAqcGkgPSBnX25ldzAocHJvYmxlbV9pbmZvX3QsIDEpOwotICAgICBwaS0+cmVmY291 bnQgPSAxOwotKyAgICBwaS0+dGltZSA9IC0xOwotKyAgICBwaS0+cGlkID0gLTE7Ci0rICAgIHBp LT5jb3VudCA9IC0xOwotICAgICBwaS0+cHJvYmxlbV9kYXRhID0gcHJvYmxlbV9kYXRhX25ldygp OwotICAgICBwcm9ibGVtX2luZm9fc2V0X2RpcihwaSwgZGlyKTsKLSAgICAgcmV0dXJuIHBpOwot QEAgLTE5NCw4ICsyNTEsNiBAQCBzdGF0aWMgdm9pZCBwcm9ibGVtX2luZm9fdW5yZWYoZ3BvaW50 ZXIgZGF0YSkKLSAgICAgICAgIHJldHVybjsKLSAKLSAgICAgcHJvYmxlbV9kYXRhX2ZyZWUocGkt PnByb2JsZW1fZGF0YSk7Ci0tICAgIGlmIChwaS0+ZW52cCkKLS0gICAgICAgIGdfc3RyZnJlZXYo cGktPmVudnApOwotICAgICBnX2ZyZWUocGkpOwotIH0KLSAKLUBAIC01NTYsNyArNjExLDcgQEAg c3RhdGljIHZvaWQgbm90aWZ5X3Byb2JsZW1fbGlzdChHTGlzdCAqcHJvYmxlbXMpCi0gICAgICAg ICAgICAgY29udGludWU7Ci0gICAgICAgICB9Ci0gCi0tICAgICAgICBhcHAgPSBwcm9ibGVtX2Ny ZWF0ZV9hcHBfZnJvbV9lbnYgKChjb25zdCBjaGFyICoqKXBpLT5lbnZwLCBwaS0+cGlkKTsKLSsg ICAgICAgIGFwcCA9IHByb2JsZW1fY3JlYXRlX2FwcF9mcm9tX2VudiAocHJvYmxlbV9pbmZvX2dl dF9lbnYocGkpLCBwcm9ibGVtX2luZm9fZ2V0X3BpZChwaSkpOwotIAotICAgICAgICAgaWYgKCFh cHApCi0gICAgICAgICAgICAgYXBwID0gcHJvYmxlbV9jcmVhdGVfYXBwX2Zyb21fY21kbGluZSAo cHJvYmxlbV9pbmZvX2dldF9jb21tYW5kX2xpbmUocGkpKTsKLUBAIC01NzIsNyArNjI3LDcgQEAg c3RhdGljIHZvaWQgbm90aWZ5X3Byb2JsZW1fbGlzdChHTGlzdCAqcHJvYmxlbXMpCi0gICAgICAg ICBnYm9vbGVhbiBpc19wYWNrYWdlZCA9IHBpLT5pc19wYWNrYWdlZDsKLSAgICAgICAgIGdib29s ZWFuIGlzX3J1bm5pbmdfYWdhaW4gPSBpc19hcHBfcnVubmluZyhhcHApOwotICAgICAgICAgZ2Jv b2xlYW4gaXNfY3VycmVudF91c2VyID0gIXBpLT5mb3JlaWduOwotLSAgICAgICAgZ2Jvb2xlYW4g YWxyZWFkeV9yZXBvcnRlZCA9IChwaS0+Y291bnQgPiAxKTsKLSsgICAgICAgIGdib29sZWFuIGFs cmVhZHlfcmVwb3J0ZWQgPSBwcm9ibGVtX2luZm9fZ2V0X2NvdW50KHBpKSA+IDE7Ci0gCi0gICAg ICAgICBnYm9vbGVhbiByZXBvcnRfYnV0dG9uID0gRkFMU0U7Ci0gICAgICAgICBnYm9vbGVhbiBy ZXN0YXJ0X2J1dHRvbiA9IEZBTFNFOwotQEAgLTkxNCwxNCArOTY5LDIyIEBAIHN0YXRpYyB2b2lk IENyYXNoKEdWYXJpYW50ICpwYXJhbWV0ZXJzKQotICAgICBpZiAoZm9yZWlnbl9wcm9ibGVtICYm ICFnX3VzZXJfaXNfYWRtaW4pCi0gICAgICAgICByZXR1cm47Ci0gCi0tICAgIHN0cnVjdCBkdW1w X2RpciAqZGQgPSBkZF9vcGVuZGlyKGRpciwgRERfT1BFTl9SRUFET05MWSk7Ci0tICAgIGNoYXIg KmNvbW1hbmRfbGluZSA9IGRkX2xvYWRfdGV4dF9leHQoZGQsIEZJTEVOQU1FX0NNRExJTkUsIERE X0ZBSUxfUVVJRVRMWV9FTk9FTlQgfCBERF9MT0FEX1RFWFRfUkVUVVJOX05VTExfT05fRkFJTFVS RSk7Ci0tICAgIGNoYXIgKmNvdW50X3N0ciA9IGRkX2xvYWRfdGV4dF9leHQoZGQsIEZJTEVOQU1F X0NPVU5ULCBERF9GQUlMX1FVSUVUTFlfRU5PRU5UIHwgRERfTE9BRF9URVhUX1JFVFVSTl9OVUxM X09OX0ZBSUxVUkUpOwotLSAgICBndWludCBjb3VudCA9IGNvdW50X3N0ciA/IGF0b2koY291bnRf c3RyKSA6IDE7Ci0tICAgIGdfZnJlZShjb3VudF9zdHIpOwotLSAgICBjaGFyICplbnYgPSBkZF9s b2FkX3RleHRfZXh0KGRkLCBGSUxFTkFNRV9FTlZJUk9OLCBERF9GQUlMX1FVSUVUTFlfRU5PRU5U IHwgRERfTE9BRF9URVhUX1JFVFVSTl9OVUxMX09OX0ZBSUxVUkUpOwotLSAgICBjaGFyICpwaWQg PSBkZF9sb2FkX3RleHRfZXh0KGRkLCBGSUxFTkFNRV9QSUQsIEREX0ZBSUxfUVVJRVRMWV9FTk9F TlQgfCBERF9MT0FEX1RFWFRfUkVUVVJOX05VTExfT05fRkFJTFVSRSk7Ci0tICAgIGRkX2Nsb3Nl KGRkKTsKLSsgICAgc3RhdGljIGNvbnN0IGNoYXIgKmVsZW1lbnRzW10gPSB7Ci0rICAgICAgICBG SUxFTkFNRV9DTURMSU5FLAotKyAgICAgICAgRklMRU5BTUVfQ09VTlQsCi0rICAgICAgICBGSUxF TkFNRV9VVUlELAotKyAgICAgICAgRklMRU5BTUVfRFVQSEFTSCwKLSsgICAgICAgIEZJTEVOQU1F X0NPTVBPTkVOVCwKLSsgICAgICAgIEZJTEVOQU1FX0VOVklST04sCi0rICAgICAgICBGSUxFTkFN RV9QSUQsCi0rICAgICAgICBOVUxMLAotKyAgICB9OwotKwotKyAgICBwcm9ibGVtX2luZm9fdCAq cGkgPSBwcm9ibGVtX2luZm9fbmV3KGRpcik7Ci0rICAgIGZpbGxfcHJvYmxlbV9kYXRhX292ZXJf ZGJ1cyhkaXIsIGVsZW1lbnRzLCBwaS0+cHJvYmxlbV9kYXRhKTsKLSsKLSsgICAgcGktPmZvcmVp Z24gPSBmb3JlaWduX3Byb2JsZW07Ci0rICAgIHBpLT5pc19wYWNrYWdlZCA9IChwYWNrYWdlX25h bWUgIT0gTlVMTCk7Ci0gCi0gICAgIC8qCi0gICAgICAqIENhbid0IGFwcGVuZCBkaXIgdG8gdGhl IHNlZW4gbGlzdCBiZWNhdXNlIG9mIGRpcmVjdG9yeSBzdGVhbGluZwotQEAgLTkyOSwyNCArOTky LDYgQEAgc3RhdGljIHZvaWQgQ3Jhc2goR1ZhcmlhbnQgKnBhcmFtZXRlcnMpCi0gICAgICAqIGFw cGVuZF9kaXJsaXN0KGRpcik7Ci0gICAgICAqCi0gICAgICAqLwotLQotLSAgICBwcm9ibGVtX2lu Zm9fdCAqcGkgPSBwcm9ibGVtX2luZm9fbmV3KGRpcik7Ci0tICAgIGlmICh1dWlkICE9IE5VTEwg JiYgdXVpZFswXSAhPSAnXDAnKQotLSAgICAgICAgcHJvYmxlbV9kYXRhX2FkZF90ZXh0X25vdGVk aXRhYmxlKHBpLT5wcm9ibGVtX2RhdGEsIEZJTEVOQU1FX1VVSUQsIHV1aWQpOwotLSAgICBpZiAo ZHVwaGFzaCAhPSBOVUxMICYmIGR1cGhhc2hbMF0gIT0gJ1wwJykKLS0gICAgICAgIHByb2JsZW1f ZGF0YV9hZGRfdGV4dF9ub3RlZGl0YWJsZShwaS0+cHJvYmxlbV9kYXRhLCBGSUxFTkFNRV9EVVBI QVNILCBkdXBoYXNoKTsKLS0gICAgaWYgKHBhY2thZ2VfbmFtZSAhPSBOVUxMICYmIHBhY2thZ2Vf bmFtZVswXSAhPSAnXDAnKQotLSAgICAgICAgcHJvYmxlbV9kYXRhX2FkZF90ZXh0X25vdGVkaXRh YmxlKHBpLT5wcm9ibGVtX2RhdGEsIEZJTEVOQU1FX0NPTVBPTkVOVCwgcGFja2FnZV9uYW1lKTsK LS0gICAgaWYgKGNvbW1hbmRfbGluZSAhPSBOVUxMKQotLSAgICAgICAgcHJvYmxlbV9kYXRhX2Fk ZF90ZXh0X25vdGVkaXRhYmxlKHBpLT5wcm9ibGVtX2RhdGEsIEZJTEVOQU1FX0NNRExJTkUsIGNv bW1hbmRfbGluZSk7Ci0tICAgIHBpLT5mb3JlaWduID0gZm9yZWlnbl9wcm9ibGVtOwotLSAgICBw aS0+Y291bnQgPSBjb3VudDsKLS0gICAgcGktPmlzX3BhY2thZ2VkID0gKHBhY2thZ2VfbmFtZSAh PSBOVUxMKTsKLS0gICAgcGktPmVudnAgPSAoZW52ICE9IE5VTEwpID8gZ19zdHJzcGxpdCAoZW52 LCAiXG4iLCAtMSkgOiBOVUxMOwotLSAgICBwaS0+cGlkID0gKHBpZCAhPSBOVUxMKSA/IGF0b2kg KHBpZCkgOiAtMTsKLS0gICAgZnJlZShjb21tYW5kX2xpbmUpOwotLSAgICBmcmVlKGVudik7Ci0t ICAgIGZyZWUocGlkKTsKLSAgICAgc2hvd19wcm9ibGVtX25vdGlmaWNhdGlvbihwaSk7Ci0gfQot IAotQEAgLTk3MCw2ICsxMDE1LDE5IEBAIG5hbWVfYWNxdWlyZWRfaGFuZGxlciAoR0RCdXNDb25u ZWN0aW9uICpjb25uZWN0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIg Km5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICBncG9pbnRlciB1c2VyX2RhdGEpCi0gewot KyAgICBzdGF0aWMgY29uc3QgY2hhciAqZWxlbWVudHNbXSA9IHsKLSsgICAgICAgIEZJTEVOQU1F X0NNRExJTkUsCi0rICAgICAgICBGSUxFTkFNRV9DT1VOVCwKLSsgICAgICAgIEZJTEVOQU1FX1VV SUQsCi0rICAgICAgICBGSUxFTkFNRV9EVVBIQVNILAotKyAgICAgICAgRklMRU5BTUVfQ09NUE9O RU5ULAotKyAgICAgICAgRklMRU5BTUVfVUlELAotKyAgICAgICAgRklMRU5BTUVfVElNRSwKLSsg ICAgICAgIEZJTEVOQU1FX1JFUE9SVEVEX1RPLAotKyAgICAgICAgRklMRU5BTUVfTk9UX1JFUE9S VEFCTEUsCi0rICAgICAgICBOVUxMCi0rICAgIH07Ci0rCi0gICAgIC8qIElmIHNvbWUgbmV3IGRp cnMgYXBwZWFyZWQgc2luY2Ugb3VyIGxhc3QgcnVuLCBsZXQgdXNlciBrbm93IGl0ICovCi0gICAg IEdMaXN0ICpuZXdfZGlycyA9IE5VTEw7Ci0gICAgIEdMaXN0ICpub3RpZnlfbGlzdCA9IE5VTEw7 Ci1AQCAtOTgwLDU4ICsxMDM4LDQ1IEBAIG5hbWVfYWNxdWlyZWRfaGFuZGxlciAoR0RCdXNDb25u ZWN0aW9uICpjb25uZWN0aW9uLAotICAgICAvKiBBZ2UgbGltaXQgPSBub3cgLSAzIGRheXMgKi8K LSAgICAgY29uc3QgdW5zaWduZWQgbG9uZyBtaW5fYm9ybl90aW1lID0gKHVuc2lnbmVkIGxvbmcp KHRpbWVfYmVmb3JlX25kYXlzKDMpKTsKLSAKLS0gICAgd2hpbGUgKG5ld19kaXJzKQotKyAgICBm b3IgKCA7IG5ld19kaXJzICE9IE5VTEw7IG5ld19kaXJzID0gZ19saXN0X25leHQobmV3X2RpcnMp KQotICAgICB7Ci0tICAgICAgICBzdHJ1Y3QgZHVtcF9kaXIgKmRkID0gZGRfb3BlbmRpcigoY2hh ciAqKW5ld19kaXJzLT5kYXRhLCBERF9PUEVOX1JFQURPTkxZKTsKLS0gICAgICAgIGlmIChkZCA9 PSBOVUxMKQotKyAgICAgICAgY29uc3QgY2hhciAqcHJvYmxlbV9pZCA9IChjb25zdCBjaGFyICop bmV3X2RpcnMtPmRhdGE7Ci0rICAgICAgICBwcm9ibGVtX2luZm9fdCAqcGkgPSBwcm9ibGVtX2lu Zm9fbmV3KHByb2JsZW1faWQpOwotKwotKyAgICAgICAgaWYgKGZpbGxfcHJvYmxlbV9kYXRhX292 ZXJfZGJ1cyhwcm9ibGVtX2lkLCBlbGVtZW50cywgcGktPnByb2JsZW1fZGF0YSkgIT0gMCkKLSAg ICAgICAgIHsKLS0gICAgICAgICAgICBsb2dfbm90aWNlKCInJXMnIGlzIG5vdCBhIGR1bXAgZGly IC0gaWdub3JpbmdcbiIsIChjaGFyICopbmV3X2RpcnMtPmRhdGEpOwotLSAgICAgICAgICAgIG5l d19kaXJzID0gZ19saXN0X25leHQobmV3X2RpcnMpOwotKyAgICAgICAgICAgIGxvZ19ub3RpY2Uo IiclcycgaXMgbm90IGEgZHVtcCBkaXIgLSBpZ25vcmluZ1xuIiwgcHJvYmxlbV9pZCk7Ci0rICAg ICAgICAgICAgcHJvYmxlbV9pbmZvX3VucmVmKHBpKTsKLSAgICAgICAgICAgICBjb250aW51ZTsK LSAgICAgICAgIH0KLSAKLS0gICAgICAgIGlmIChkZC0+ZGRfdGltZSA8IG1pbl9ib3JuX3RpbWUp Ci0rICAgICAgICAvKiBUT0RPOiBhZGQgYSBmaWx0ZXIgZm9yIG9ubHkgY29tcGxldGUgcHJvYmxl bXMgdG8gR2V0UHJvYmxlbXMgRC1CdXMgbWV0aG9kICovCi0rICAgICAgICBpZiAoIWRidXNfcHJv YmxlbV9pc19jb21wbGV0ZShwcm9ibGVtX2lkKSkKLSAgICAgICAgIHsKLS0gICAgICAgICAgICBs b2dfbm90aWNlKCJJZ25vcmluZyBvdXRkYXRlZCBwcm9ibGVtICclcyciLCAoY2hhciAqKW5ld19k aXJzLT5kYXRhKTsKLS0gICAgICAgICAgICBnb3RvIG5leHQ7Ci0rICAgICAgICAgICAgbG9nX25v dGljZSgiSWdub3JpbmcgaW5jb21wbGV0ZSBwcm9ibGVtICclcyciLCBwcm9ibGVtX2lkKTsKLSsg ICAgICAgICAgICBwcm9ibGVtX2luZm9fdW5yZWYocGkpOwotKyAgICAgICAgICAgIGNvbnRpbnVl OwotICAgICAgICAgfQotIAotLSAgICAgICAgaWYgKCFwcm9ibGVtX2R1bXBfZGlyX2lzX2NvbXBs ZXRlKGRkKSkKLSsgICAgICAgIC8qIFRPRE86IGFkZCBhIGZpbHRlciBmb3IgbWF4LW9sZCByZXBv cnRlZCBwcm9ibGVtcyB0byBHZXRQcm9ibGVtcyBELUJ1cyBtZXRob2QgKi8KLSsgICAgICAgIGlm IChwcm9ibGVtX2luZm9fZ2V0X3RpbWUocGkpIDwgbWluX2Jvcm5fdGltZSkKLSAgICAgICAgIHsK LS0gICAgICAgICAgICBsb2dfbm90aWNlKCJJZ25vcmluZyBpbmNvbXBsZXRlIHByb2JsZW0gJyVz JyIsIChjaGFyICopbmV3X2RpcnMtPmRhdGEpOwotLSAgICAgICAgICAgIGdvdG8gbmV4dDsKLSsg ICAgICAgICAgICBsb2dfbm90aWNlKCJJZ25vcmluZyBvdXRkYXRlZCBwcm9ibGVtICclcyciLCBw cm9ibGVtX2lkKTsKLSsgICAgICAgICAgICBwcm9ibGVtX2luZm9fdW5yZWYocGkpOwotKyAgICAg ICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgfQotIAotLSAgICAgICAgaWYgKCFkZF9leGlzdChk ZCwgRklMRU5BTUVfUkVQT1JURURfVE8pKQotKyAgICAgICAgLyogVE9ETzogYWRkIGEgZmlsdGVy IGZvciBub3QteWV0IHJlcG9ydGVkIHByb2JsZW1zIHRvIEdldFByb2JsZW1zIEQtQnVzIG1ldGhv ZCAqLwotKyAgICAgICAgaWYgKHByb2JsZW1faW5mb19pc19yZXBvcnRlZChwaSkpCi0gICAgICAg ICB7Ci0tICAgICAgICAgICAgcHJvYmxlbV9pbmZvX3QgKnBpID0gcHJvYmxlbV9pbmZvX25ldyhu ZXdfZGlycy0+ZGF0YSk7Ci0tICAgICAgICAgICAgY29uc3QgY2hhciAqZWxlbWVudHNbXSA9IHtG SUxFTkFNRV9VVUlELCBGSUxFTkFNRV9EVVBIQVNILCBGSUxFTkFNRV9DT01QT05FTlQsIEZJTEVO QU1FX05PVF9SRVBPUlRBQkxFLCBGSUxFTkFNRV9DTURMSU5FfTsKLS0KLS0gICAgICAgICAgICBm b3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemVvZihlbGVtZW50cykvc2l6ZW9mKCplbGVtZW50cyk7 ICsraSkKLS0gICAgICAgICAgICB7Ci0tICAgICAgICAgICAgICAgIGNoYXIgKiBjb25zdCB2YWx1 ZSA9IGRkX2xvYWRfdGV4dF9leHQoZGQsIGVsZW1lbnRzW2ldLAotLSAgICAgICAgICAgICAgICAg ICAgICAgIEREX0ZBSUxfUVVJRVRMWV9FTk9FTlQgfCBERF9MT0FEX1RFWFRfUkVUVVJOX05VTExf T05fRkFJTFVSRSk7Ci0tICAgICAgICAgICAgICAgIGlmICh2YWx1ZSkKLS0gICAgICAgICAgICAg ICAgICAgIHByb2JsZW1fZGF0YV9hZGRfdGV4dF9ub3RlZGl0YWJsZShwaS0+cHJvYmxlbV9kYXRh LCBlbGVtZW50c1tpXSwgdmFsdWUpOwotLSAgICAgICAgICAgICAgICBmcmVlKHZhbHVlKTsKLS0g ICAgICAgICAgICB9Ci0tCi0tICAgICAgICAgICAgLyogQ2FuJ3QgYmUgZm9yZWlnbiBiZWNhdXNl IGlmIHRoZSBwcm9ibGVtIGlzIGZvcmVpZ24gdGhlbiB0aGUKLS0gICAgICAgICAgICAgKiBkZF9v cGVuZGlyKCkgY2FsbCBmYWlsZWQgZmV3IGxpbmVzIGFib3ZlIGFuZCB0aGUgcHJvYmxlbSBpcyBp Z25vcmVkLgotLSAgICAgICAgICAgICAqICovCi0tICAgICAgICAgICAgcGktPmZvcmVpZ24gPSBm YWxzZTsKLS0KLS0gICAgICAgICAgICBub3RpZnlfbGlzdCA9IGdfbGlzdF9wcmVwZW5kKG5vdGlm eV9saXN0LCBwaSk7Ci0tICAgICAgICB9Ci0tICAgICAgICBlbHNlCi0tICAgICAgICB7Ci0tICAg ICAgICAgICAgbG9nX25vdGljZSgiSWdub3JpbmcgYWxyZWFkeSByZXBvcnRlZCBwcm9ibGVtICcl cyciLCAoY2hhciAqKW5ld19kaXJzLT5kYXRhKTsKLSsgICAgICAgICAgICBsb2dfbm90aWNlKCJJ Z25vcmluZyBhbHJlYWR5IHJlcG9ydGVkIHByb2JsZW0gJyVzJyIsIHByb2JsZW1faWQpOwotKyAg ICAgICAgICAgIHByb2JsZW1faW5mb191bnJlZihwaSk7Ci0rICAgICAgICAgICAgY29udGludWU7 Ci0gICAgICAgICB9Ci0gCi0tbmV4dDoKLS0gICAgICAgIGRkX2Nsb3NlKGRkKTsKLS0KLS0gICAg ICAgIG5ld19kaXJzID0gZ19saXN0X25leHQobmV3X2RpcnMpOwotKyAgICAgICAgLyogQ2FuJ3Qg YmUgZm9yZWlnIGJlY2F1c2UgbmV3X2Rpcl9leGlzdHMoKSByZXR1cm5zIG9ubHkgb3duIHByb2Js ZW1zICovCi0rICAgICAgICBwaS0+Zm9yZWlnbiA9IGZhbHNlOwotKyAgICAgICAgbm90aWZ5X2xp c3QgPSBnX2xpc3RfcHJlcGVuZChub3RpZnlfbGlzdCwgcGkpOwotICAgICB9Ci0gCi0gICAgIGlm IChub3RpZnlfbGlzdCkKLWRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9saWJhYnJ0LmggYi9zcmMv aW5jbHVkZS9saWJhYnJ0LmgKLWluZGV4IDE5YWQ0YTguLjA3ZGMxNzIgMTAwNjQ0Ci0tLS0gYS9z cmMvaW5jbHVkZS9saWJhYnJ0LmgKLSsrKyBiL3NyYy9pbmNsdWRlL2xpYmFicnQuaAotQEAgLTE2 NCw2ICsxNjQsMTUgQEAgaW50IGNob3duX2Rpcl9vdmVyX2RidXMoY29uc3QgY2hhciAqcHJvYmxl bV9kaXJfcGF0aCk7Ci0gaW50IHRlc3RfZXhpc3Rfb3Zlcl9kYnVzKGNvbnN0IGNoYXIgKnByb2Js ZW1faWQsIGNvbnN0IGNoYXIgKmVsZW1lbnRfbmFtZSk7Ci0gCi0gLyoqCi0rICBAYnJpZWYgQ2hl Y2tzIHdoZXRoZXIgdGhlIHByb2JsZW0gY29ycmVzcG9uZGluZyB0byB0aGUgZ2l2ZW4gSUQgaXMg Y29tcGxldGUKLSsKLSsgIE1pZ2h0IHJlcXVpcmUgYXV0aG9yaXphdGlvbgotKwotKyAgQHJldHVy biBQb3NpdGl2ZSBudW1iZXIgaWYgc3VjaCB0aGUgcHJvYmxlIGlzIGNvbXBsZXRlLCAwIGlmIGRv ZXNuJ3QgYW5kIG5lZ2F0aXZlIG51bWJlciBpZiBhbiBlcnJvciBvY2N1cnMuCi0rICovCi0raW50 IGRidXNfcHJvYmxlbV9pc19jb21wbGV0ZShjb25zdCBjaGFyICpwcm9ibGVtX2lkKTsKLSsKLSsv KioKLSAgIEAgUmV0dXJucyB2YWx1ZSBvZiB0aGUgZ2l2ZW4gZWxlbWVudCBuYW1lCi0gCi0gICBN aWdodCByZXF1aXJlIGF1dGhvcml6YXRpb24KLUBAIC0xODIsNiArMTkxLDEzIEBAIGNoYXIgKmxv YWRfdGV4dF9vdmVyX2RidXMoY29uc3QgY2hhciAqcHJvYmxlbV9pZCwgY29uc3QgY2hhciAqZWxl bWVudF9uYW1lKTsKLSBpbnQgZGVsZXRlX3Byb2JsZW1fZGlyc19vdmVyX2RidXMoY29uc3QgR0xp c3QgKnByb2JsZW1fZGlyX3BhdGhzKTsKLSAKLSAvKioKLSsgIEBicmllZiBGZXRjaGVzIGdpdmVu IHByb2JsZW0gZWxlbWVudHMgZm9yIHNwZWNpZmllZCBwcm9ibGVtIGlkCi0rCi0rICBAcmV0dXJu IG9uIGZhaWx1cmVzIHJldHVybnMgbm9uIHplcm8gdmFsdWUgYW5kIGVtaXRzIGVycm9yIG1lc3Nh Z2UKLSsqLwotK2ludCBmaWxsX3Byb2JsZW1fZGF0YV9vdmVyX2RidXMoY29uc3QgY2hhciAqcHJv YmxlbV9kaXJfcGF0aCwgY29uc3QgY2hhciAqKmVsZW1lbnRzLCBwcm9ibGVtX2RhdGFfdCAqcHJv YmxlbV9kYXRhKTsKLSsKLSsvKioKLSAgIEBicmllZiBGZXRjaGVzIHByb2JsZW0gaW5mb3JtYXRp b24gZm9yIHNwZWNpZmllZCBwcm9ibGVtIGlkCi0gCi0gICBAcmV0dXJuIHByb2JsZW1fZGF0YV90 IG9yIE5VTEwgb24gZmFpbHVyZQotZGlmZiAtLWdpdCBhL3NyYy9saWIvcHJvYmxlbV9hcGlfZGJ1 cy5jIGIvc3JjL2xpYi9wcm9ibGVtX2FwaV9kYnVzLmMKLWluZGV4IDUxNDg5MzIuLmNlNWM0N2Ig MTAwNjQ0Ci0tLS0gYS9zcmMvbGliL3Byb2JsZW1fYXBpX2RidXMuYwotKysrIGIvc3JjL2xpYi9w cm9ibGVtX2FwaV9kYnVzLmMKLUBAIC0xMDEsMjMgKzEwMSwyMSBAQCBpbnQgZGVsZXRlX3Byb2Js ZW1fZGlyc19vdmVyX2RidXMoY29uc3QgR0xpc3QgKnByb2JsZW1fZGlyX3BhdGhzKQotICAgICBy ZXR1cm4gMDsKLSB9Ci0gCi0tcHJvYmxlbV9kYXRhX3QgKmdldF9wcm9ibGVtX2RhdGFfZGJ1cyhj b25zdCBjaGFyICpwcm9ibGVtX2Rpcl9wYXRoKQotK2ludCBmaWxsX3Byb2JsZW1fZGF0YV9vdmVy X2RidXMoY29uc3QgY2hhciAqcHJvYmxlbV9pZCwgY29uc3QgY2hhciAqKmVsZW1lbnRzLCBwcm9i bGVtX2RhdGFfdCAqcHJvYmxlbV9kYXRhKQotIHsKLSAgICAgSU5JVElBTElaRV9MSUJBQlJUKCk7 Ci0gCi0gICAgIEdEQnVzUHJveHkgKnByb3h5ID0gZ2V0X2RidXNfcHJveHkoKTsKLSAgICAgaWYg KCFwcm94eSkKLS0gICAgICAgIHJldHVybiBOVUxMOwotKyAgICAgICAgcmV0dXJuIC0xOwotIAot LSAgICBHVmFyaWFudEJ1aWxkZXIgKmJ1aWxkZXIgPSBnX3ZhcmlhbnRfYnVpbGRlcl9uZXcoR19W QVJJQU5UX1RZUEUoImFzIikpOwotLSAgICBnX3ZhcmlhbnRfYnVpbGRlcl9hZGQoYnVpbGRlciwg InMiLCBGSUxFTkFNRV9USU1FICAgICAgICAgICk7Ci0tICAgIGdfdmFyaWFudF9idWlsZGVyX2Fk ZChidWlsZGVyLCAicyIsIEZJTEVOQU1FX1JFQVNPTiAgICAgICAgKTsKLS0gICAgZ192YXJpYW50 X2J1aWxkZXJfYWRkKGJ1aWxkZXIsICJzIiwgRklMRU5BTUVfTk9UX1JFUE9SVEFCTEUpOwotLSAg ICBnX3ZhcmlhbnRfYnVpbGRlcl9hZGQoYnVpbGRlciwgInMiLCBGSUxFTkFNRV9DT01QT05FTlQg ICAgICk7Ci0tICAgIGdfdmFyaWFudF9idWlsZGVyX2FkZChidWlsZGVyLCAicyIsIEZJTEVOQU1F X0VYRUNVVEFCTEUgICAgKTsKLS0gICAgZ192YXJpYW50X2J1aWxkZXJfYWRkKGJ1aWxkZXIsICJz IiwgRklMRU5BTUVfUkVQT1JURURfVE8gICApOwotLSAgICBHVmFyaWFudCAqcGFyYW1zID0gZ192 YXJpYW50X25ldygiKHNhcykiLCBwcm9ibGVtX2Rpcl9wYXRoLCBidWlsZGVyKTsKLS0gICAgZ192 YXJpYW50X2J1aWxkZXJfdW5yZWYoYnVpbGRlcik7Ci0rICAgIEdWYXJpYW50QnVpbGRlciAqYXJn c19idWlsZGVyID0gZ192YXJpYW50X2J1aWxkZXJfbmV3KEdfVkFSSUFOVF9UWVBFKCJhcyIpKTsK LSsKLSsgICAgZm9yIChjb25zdCBjaGFyICoqaXRlciA9IGVsZW1lbnRzOyAqaXRlcjsgKytpdGVy KQotKyAgICAgICAgZ192YXJpYW50X2J1aWxkZXJfYWRkKGFyZ3NfYnVpbGRlciwgInMiLCAqaXRl cik7Ci0rCi0rICAgIEdWYXJpYW50ICpwYXJhbXMgPSBnX3ZhcmlhbnRfbmV3KCIoc2FzKSIsIHBy b2JsZW1faWQsIGFyZ3NfYnVpbGRlcik7Ci0rICAgIGdfdmFyaWFudF9idWlsZGVyX3VucmVmKGFy Z3NfYnVpbGRlcik7Ci0gCi0gICAgIEdFcnJvciAqZXJyb3IgPSBOVUxMOwotICAgICBHVmFyaWFu dCAqcmVzdWx0ID0gZ19kYnVzX3Byb3h5X2NhbGxfc3luYyhwcm94eSwKLUBAIC0xMzAsMjAgKzEy OCw0NiBAQCBwcm9ibGVtX2RhdGFfdCAqZ2V0X3Byb2JsZW1fZGF0YV9kYnVzKGNvbnN0IGNoYXIg KnByb2JsZW1fZGlyX3BhdGgpCi0gCi0gICAgIGlmIChlcnJvcikKLSAgICAgewotLSAgICAgICAg ZXJyb3JfbXNnKF8oIkNhbid0IGdldCBwcm9ibGVtIGRhdGEgZnJvbSBhYnJ0LWRidXM6ICVzIiks IGVycm9yLT5tZXNzYWdlKTsKLSsgICAgICAgIGVycm9yX21zZyhfKCJELUJ1cyBHZXRJbmZvIG1l dGhvZCBjYWxsIGZhaWxlZDogJXMiKSwgZXJyb3ItPm1lc3NhZ2UpOwotICAgICAgICAgZ19lcnJv cl9mcmVlKGVycm9yKTsKLS0gICAgICAgIHJldHVybiBOVUxMOwotKyAgICAgICAgcmV0dXJuIC0y OwotICAgICB9Ci0gCi0tICAgIHByb2JsZW1fZGF0YV90ICpwZCA9IHByb2JsZW1fZGF0YV9uZXco KTsKLSsKLSAgICAgY2hhciAqa2V5LCAqdmFsOwotICAgICBHVmFyaWFudEl0ZXIgKml0ZXI7Ci0g ICAgIGdfdmFyaWFudF9nZXQocmVzdWx0LCAiKGF7c3N9KSIsICZpdGVyKTsKLSAgICAgd2hpbGUg KGdfdmFyaWFudF9pdGVyX2xvb3AoaXRlciwgIntzc30iLCAma2V5LCAmdmFsKSkKLSsgICAgICAg IHByb2JsZW1fZGF0YV9hZGRfdGV4dF9ub3RlZGl0YWJsZShwcm9ibGVtX2RhdGEsIGtleSwgdmFs KTsKLSsKLSsgICAgZ192YXJpYW50X3VucmVmKHJlc3VsdCk7Ci0rCi0rICAgIHJldHVybiAwOwot K30KLSsKLStwcm9ibGVtX2RhdGFfdCAqZ2V0X3Byb2JsZW1fZGF0YV9kYnVzKGNvbnN0IGNoYXIg KnByb2JsZW1fZGlyX3BhdGgpCi0rewotKyAgICBJTklUSUFMSVpFX0xJQkFCUlQoKTsKLSsKLSsg ICAgc3RhdGljIGNvbnN0IGNoYXIgKmVsZW1lbnRzW10gPSB7Ci0rICAgICAgICBGSUxFTkFNRV9U SU1FLAotKyAgICAgICAgRklMRU5BTUVfUkVBU09OLAotKyAgICAgICAgRklMRU5BTUVfTk9UX1JF UE9SVEFCTEUsCi0rICAgICAgICBGSUxFTkFNRV9DT01QT05FTlQsCi0rICAgICAgICBGSUxFTkFN RV9FWEVDVVRBQkxFLAotKyAgICAgICAgRklMRU5BTUVfUkVQT1JURURfVE8sCi0rICAgICAgICBO VUxMLAotKyAgICB9OwotKwotKyAgICBwcm9ibGVtX2RhdGFfdCAqcGQgPSBwcm9ibGVtX2RhdGFf bmV3KCk7Ci0rCi0rICAgIGlmIChmaWxsX3Byb2JsZW1fZGF0YV9vdmVyX2RidXMocHJvYmxlbV9k aXJfcGF0aCwgZWxlbWVudHMsIHBkKSAhPSAwKQotICAgICB7Ci0tICAgICAgICBwcm9ibGVtX2Rh dGFfYWRkX3RleHRfbm90ZWRpdGFibGUocGQsIGtleSwgdmFsKTsKLSsgICAgICAgIGVycm9yX21z ZyhfKCJDYW4ndCBnZXQgcHJvYmxlbSBkYXRhIGZyb20gYWJydC1kYnVzIikpOwotKyAgICAgICAg cHJvYmxlbV9kYXRhX2ZyZWUocGQpOwotKyAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgIH0KLS0g ICAgZ192YXJpYW50X3VucmVmKHJlc3VsdCk7Ci0rCi0gICAgIHJldHVybiBwZDsKLSB9Ci0gCi1A QCAtMjU5LDYgKzI4MywxMSBAQCBpbnQgdGVzdF9leGlzdF9vdmVyX2RidXMoY29uc3QgY2hhciAq cHJvYmxlbV9pZCwgY29uc3QgY2hhciAqZWxlbWVudF9uYW1lKQotICAgICByZXR1cm4gcmV0dmFs OwotIH0KLSAKLStpbnQgZGJ1c19wcm9ibGVtX2lzX2NvbXBsZXRlKGNvbnN0IGNoYXIgKnByb2Js ZW1faWQpCi0rewotKyAgICByZXR1cm4gdGVzdF9leGlzdF9vdmVyX2RidXMocHJvYmxlbV9pZCwg RklMRU5BTUVfQ09VTlQpOwotK30KLSsKLSBjaGFyICpsb2FkX3RleHRfb3Zlcl9kYnVzKGNvbnN0 IGNoYXIgKnByb2JsZW1faWQsIGNvbnN0IGNoYXIgKmVsZW1lbnRfbmFtZSkKLSB7Ci0gICAgIElO SVRJQUxJWkVfTElCQUJSVCgpOwotLS0gCi0yLjQuMQotCgpkaWZmIC0tZ2l0IGEvMDAwNS1saWIt YWRkLW5ldy1rZXJuZWwtdGFpbnQtZmxhZ3MucGF0Y2ggYi8wMDA1LWxpYi1hZGQtbmV3LWtlcm5l bC10YWludC1mbGFncy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTU1YzVh NS4uMDAwMDAwMAotLS0gYS8wMDA1LWxpYi1hZGQtbmV3LWtlcm5lbC10YWludC1mbGFncy5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDYwICswLDAgQEAKLUZyb20gZTUyZDE0MjE0YmQzNTZmMzE4 NTZhNWFiNjNlZjE0YTYwZDMxODM2NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEph a3ViIEZpbGFrIDxqZmlsYWtAcmVkaGF0LmNvbT4KLURhdGU6IFR1ZSwgNSBNYXkgMjAxNSAxMDo0 NjowNiArMDIwMAotU3ViamVjdDogW1BBVENIXSBsaWI6IGFkZCBuZXcga2VybmVsIHRhaW50IGZs YWdzCi0KLVNpZ25lZC1vZmYtYnk6IEpha3ViIEZpbGFrIDxqZmlsYWtAcmVkaGF0LmNvbT4KLS0t LQotIHNyYy9saWIva2VybmVsLmMgfCAxNiArKysrKysrKysrKy0tLS0tCi0gMSBmaWxlIGNoYW5n ZWQsIDExIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMv bGliL2tlcm5lbC5jIGIvc3JjL2xpYi9rZXJuZWwuYwotaW5kZXggYWY0M2FlMC4uZGRlM2QyOCAx MDA2NDQKLS0tLSBhL3NyYy9saWIva2VybmVsLmMKLSsrKyBiL3NyYy9saWIva2VybmVsLmMKLUBA IC02MzIsOCArNjMyLDE0IEBAIGNoYXIgKmtvb3BzX2V4dHJhY3RfdmVyc2lvbihjb25zdCBjaGFy ICpsaW5lcG9pbnRlcikKLSAgKiAgJ1cnIC0gVGFpbnQgb24gd2FybmluZy4KLSAgKiAgJ0MnIC0g bW9kdWxlcyBmcm9tIGRyaXZlcnMvc3RhZ2luZyBhcmUgbG9hZGVkLgotICAqICAnSScgLSBXb3Jr aW5nIGFyb3VuZCBzZXZlcmUgZmlybXdhcmUgYnVnLgotKyAqICAnTycgLSBPdXQtb2YtdHJlZSBt b2R1bGUgaGFzIGJlZW4gbG9hZGVkLgotKyAqICAnRScgLSBVbnNpZ25lZCBtb2R1bGUgaGFzIGJl ZW4gbG9hZGVkLgotKyAqICAnTCcgLSBBIHNvZnQgbG9ja3VwIGhhcyBwcmV2aW91c2x5IG9jY3Vy cmVkLgotKyAqICAnSycgLSBLZXJuZWwgaGFzIGJlZW4gbGl2ZSBwYXRjaGVkLgotKyAqCi0rICog Q29tcGF0aWJpbGl0eSBmbGFncyBmcm9tIG9sZGVyIHZlcnNpb25zIGFuZCBkb3duc3RyZWFtIHNv dXJjZXM6Ci0gICogICdIJyAtIEhhcmR3YXJlIGlzIHVuc3VwcG9ydGVkLgotLSAqICAgVCAgLSBU ZWNoX3ByZXZpZXcKLSsgKiAgJ1QnIC0gVGVjaF9wcmV2aWV3Ci0gICovCi0gCi0gI2lmIDAgLyog dW51c2VkICovCi1AQCAtNjU4LDcgKzY2NCw3IEBAIGNoYXIgKmtlcm5lbF90YWludGVkX3Nob3J0 KGNvbnN0IGNoYXIgKmtlcm5lbF9idCkKLSAgICAgICAgIHJldHVybiBOVUxMOwotIAotICAgICB0 YWludGVkICs9IHN0cmxlbigiVGFpbnRlZDogIik7Ci0tICAgIC8qIDEzID09IGN1cnJlbnQgY291 bnQgb2Yga25vd24gZmxhZ3MgKi8KLSsgICAgLyogMTcgKyAyID09IGN1cnJlbnQgY291bnQgb2Yg a25vd24gZmxhZ3MgKi8KLSAgICAgLyogaHR0cDovL2dpdC5rZXJuZWwub3JnLz9wPWxpbnV4L2tl cm5lbC9naXQvdG9ydmFsZHMvbGludXguZ2l0O2E9YmxvYl9wbGFpbjtmPWtlcm5lbC9wYW5pYy5j O2hiPUhFQUQgKi8KLSAgICAgLyogMjYgdGhlIG1heGltYWwgc2FuZSBjb3VudCBvZiBmbGFncyBi ZWNhdXNlIG9mIGFscGhhYmV0IGxpbWl0cyAqLwotICAgICB1bnNpZ25lZCBzeiA9IDI2ICsgMTsK LUBAIC03MDEsMTQgKzcwNywxNCBAQCBzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgdG50c19sb25n W10gPSB7Ci0gICAgIC8qIEIgKi8gIlN5c3RlbSBoYXMgaGl0IGJhZF9wYWdlLiIsCi0gICAgIC8q IEMgKi8gIk1vZHVsZXMgZnJvbSBkcml2ZXJzL3N0YWdpbmcgYXJlIGxvYWRlZC4iLAotICAgICAv KiBEICovICJLZXJuZWwgaGFzIG9vcHNlZCBiZWZvcmUiLAotLSAgICAvKiBFICovIE5VTEwsCi0r ICAgIC8qIEUgKi8gIlVuc2lnbmVkIG1vZHVsZSBoYXMgYmVlbiBsb2FkZWQuIgotICAgICAvKiBG ICovICJNb2R1bGUgaGFzIGJlZW4gZm9yY2libHkgbG9hZGVkLiIsCi0gICAgIC8qIEcgKi8gIlBy b3ByaWV0YXJ5IG1vZHVsZSBoYXMgbm90IGJlZW4gbG9hZGVkLiIsCi0gICAgIC8qIEggKi8gTlVM TCwKLSAgICAgLyogSSAqLyAiV29ya2luZyBhcm91bmQgc2V2ZXJlIGZpcm13YXJlIGJ1Zy4iLAot ICAgICAvKiBKICovIE5VTEwsCi0tICAgIC8qIEsgKi8gTlVMTCwKLS0gICAgLyogTCAqLyBOVUxM LAotKyAgICAvKiBLICovICJLZXJuZWwgaGFzIGJlZW4gbGl2ZSBwYXRjaGVkLiIsCi0rICAgIC8q IEwgKi8gIkEgc29mdCBsb2NrdXAgaGFzIHByZXZpb3VzbHkgb2NjdXJyZWQuIiwKLSAgICAgLyog TSAqLyAiU3lzdGVtIGV4cGVyaWVuY2VkIGEgbWFjaGluZSBjaGVjayBleGNlcHRpb24uIiwKLSAg ICAgLyogTiAqLyBOVUxMLAotICAgICAvKiBPICovICJPdXQtb2YtdHJlZSBtb2R1bGUgaGFzIGJl ZW4gbG9hZGVkLiIsCi0tLSAKLTIuNC4xCi0KCmRpZmYgLS1naXQgYS8wMDA2LXVwbG9hZC12YWxp ZGF0ZS1hbmQtc2FuaXRpemUtdXBsb2FkZWQtZHVtcC1kaXJlY3RvcmkucGF0Y2ggYi8wMDA2LXVw bG9hZC12YWxpZGF0ZS1hbmQtc2FuaXRpemUtdXBsb2FkZWQtZHVtcC1kaXJlY3RvcmkucGF0Y2gK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4MjNiMzMuLjAwMDAwMDAKLS0tIGEvMDAw Ni11cGxvYWQtdmFsaWRhdGUtYW5kLXNhbml0aXplLXVwbG9hZGVkLWR1bXAtZGlyZWN0b3JpLnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTQyICswLDAgQEAKLUZyb20gMzc0NmI3NjI3MjE4NDM4 YWU3ZDc4MWZjOGIxOGEyMjE0NTRlOTA5MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206 IEpha3ViIEZpbGFrIDxqZmlsYWtAcmVkaGF0LmNvbT4KLURhdGU6IE1vbiwgMjAgQXByIDIwMTUg MTU6MTU6NDAgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gdXBsb2FkOiB2YWxpZGF0ZSBhbmQgc2Fu aXRpemUgdXBsb2FkZWQgZHVtcCBkaXJlY3RvcmllcwotCi1JdCB3YXMgZGlzY292ZXJlZCB0aGF0 LCB3aGVuIG1vdmluZyBwcm9ibGVtIHJlcG9ydHMgZnJvbQotL3Zhci9zcG9vbC9hYnJ0LXVwbG9h ZCB0byAvdmFyL3Nwb29sL2FicnQgb3IgL3Zhci90bXAvYWJydCwKLWFicnQtaGFuZGxlLXVwbG9h ZCBkb2VzIG5vdCB2ZXJpZnkgdGhhdCB0aGUgbmV3IHByb2JsZW0gZGlyZWN0b3J5Ci1oYXMgYXBw cm9wcmlhdGUgcGVybWlzc2lvbnMgYW5kIGRvZXMgbm90IGNvbnRhaW4gc3ltYm9saWMgbGlua3Mu ICBBCi1jcmFmdGVkIHByb2JsZW0gcmVwb3J0IGV4cG9zZXMgb3RoZXIgcGFydHMgb2YgYWJydCB0 byBhdHRhY2ssIGFuZAotdGhlIGFicnQtaGFuZGxlLXVwbG9hZCBzY3JpcHQgYWxsb3dzIHRvIG92 ZXJ3cml0ZSBhcmJpdHJhcnkgZmlsZXMuCi0KLUFja25vd2xlZGdlbWVudDoKLQotVGhpcyBpc3N1 ZSB3YXMgZGlzY292ZXJlZCBieSBGbG9yaWFuIFdlaW1lciBvZiBSZWQgSGF0IFByb2R1Y3QgU2Vj dXJpdHkuCi0KLVJlbGF0ZWQ6ICMxMjEyOTUzCi0KLVNpZ25lZC1vZmYtYnk6IEpha3ViIEZpbGFr IDxqZmlsYWtAcmVkaGF0LmNvbT4KLS0tLQotIHNyYy9kYWVtb24vYWJydC1oYW5kbGUtdXBsb2Fk LmluIHwgNzggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQotIDEgZmls ZSBjaGFuZ2VkLCA3MCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0 IGEvc3JjL2RhZW1vbi9hYnJ0LWhhbmRsZS11cGxvYWQuaW4gYi9zcmMvZGFlbW9uL2FicnQtaGFu ZGxlLXVwbG9hZC5pbgotaW5kZXggNDViYTcyZC4uZTgxMmVmMCAxMDA3NTUKLS0tLSBhL3NyYy9k YWVtb24vYWJydC1oYW5kbGUtdXBsb2FkLmluCi0rKysgYi9zcmMvZGFlbW9uL2FicnQtaGFuZGxl LXVwbG9hZC5pbgotQEAgLTEwLDYgKzEwLDcgQEAgaW1wb3J0IGdldG9wdAotIGltcG9ydCB0ZW1w ZmlsZQotIGltcG9ydCBzaHV0aWwKLSBpbXBvcnQgZGF0ZXRpbWUKLStpbXBvcnQgZ3JwCi0gCi0g ZnJvbSByZXBvcnRjbGllbnQgaW1wb3J0IHNldF92ZXJib3NpdHksIGVycm9yX21zZ19hbmRfZGll LCBlcnJvcl9tc2csIGxvZwotIAotQEAgLTM2LDEyICszNyw3NyBAQCBkZWYgaW5pdF9nZXR0ZXh0 KCk6Ci0gCi0gaW1wb3J0IHByb2JsZW0KLSAKLS1kZWYgd3JpdGVfc3RyX3RvKGZpbGVuYW1lLCBz KToKLS0gICAgZmQgPSBvcy5vcGVuKGZpbGVuYW1lLCBvcy5PX1dST05MWSB8IG9zLk9fQ1JFQVQg fCBvcy5PX1RSVU5DLCBAREVGQVVMVF9EVU1QX0RJUl9NT0RFQCB8IHN0YXQuU19JUk9USCkKLStk ZWYgd3JpdGVfc3RyX3RvKGZpbGVuYW1lLCBzLCB1aWQsIGdpZCwgbW9kZSk6Ci0rICAgIGZkID0g b3Mub3BlbihmaWxlbmFtZSwgb3MuT19XUk9OTFkgfCBvcy5PX0NSRUFUIHwgb3MuT19UUlVOQywg bW9kZSkKLSAgICAgaWYgZmQgPj0gMDoKLSsgICAgICAgIG9zLmZjaG93bihmZCwgdWlkLCBnaWQp Ci0gICAgICAgICBvcy53cml0ZShmZCwgcykKLSAgICAgICAgIG9zLmNsb3NlKGZkKQotIAotKwot K2RlZiB2YWxpZGF0ZV90cmFuc2Zvcm1fbW92ZV9hbmRfbm90aWZ5KHVwbG9hZGVkX2Rpcl9wYXRo LCBwcm9ibGVtX2Rpcl9wYXRoLCBkZXN0PU5vbmUpOgotKyAgICBmc3VpZCA9IDAKLSsgICAgZnNn aWQgPSAwCi0rCi0rICAgIHRyeToKLSsgICAgICAgIGdhYnJ0ID0gZ3JwLmdldGdybmFtKCJhYnJ0 IikKLSsgICAgICAgIGZzZ2lkID0gZ2FicnQuZ3JfZ2lkCi0rICAgIGV4Y2VwdCBLZXlFcnJvciBh cyBleDoKLSsgICAgICAgIGVycm9yX21zZygiRmFpbGVkIHRvIGdldCBHSUQgb2YgJ2FicnQnICh1 c2luZyAwIGluc3RlYWQpOiB7MH0nIi5mb3JtYXQoc3RyKGV4KSkpCi0rCi0rICAgIHRyeToKLSsg ICAgICAgICMgZ2l2ZSB0aGUgdXBsb2FkZWQgZGlyZWN0b3J5IHRvICdyb290OmFicnQnIG9yICdy b290OnJvb3QnCi0rICAgICAgICBvcy5jaG93bih1cGxvYWRlZF9kaXJfcGF0aCwgZnN1aWQsIGZz Z2lkKQotKyAgICAgICAgIyBzZXQgdGhlIHJpZ2h0IHBlcm1pc3Npb25zIGZvciB0aGlzIG1hY2hp bmUKLSsgICAgICAgICMgKGFsbG93IHRoZSBvd25lciBhbmQgdGhlIGdyb3VwIHRvIGFjY2VzcyBw cm9ibGVtIGVsZW1lbnRzLAotKyAgICAgICAgIyAgdGhlIGRlZmF1bHQgZHVtcCBkaXIgbW9kZSBs YWNrcyB4IGJpdCBmb3IgYm90aCkKLSsgICAgICAgIG9zLmNobW9kKHVwbG9hZGVkX2Rpcl9wYXRo LCBAREVGQVVMVF9EVU1QX0RJUl9NT0RFQCB8IHN0YXQuU19JWFVTUiB8IHN0YXQuU19JWEdSUCkK LSsKLSsgICAgICAgICMgc2FuaXRpemUgcHJvYmxlbSBlbGVtZW50cwotKyAgICAgICAgZm9yIGl0 ZW0gaW4gb3MubGlzdGRpcih1cGxvYWRlZF9kaXJfcGF0aCk6Ci0rICAgICAgICAgICAgYXBhdGgg PSBvcy5wYXRoLmpvaW4odXBsb2FkZWRfZGlyX3BhdGgsIGl0ZW0pCi0rICAgICAgICAgICAgaWYg b3MucGF0aC5pc2xpbmsoYXBhdGgpOgotKyAgICAgICAgICAgICAgICAjIHJlbW92ZSBzeW1ib2xp YyBsaW5rcwotKyAgICAgICAgICAgICAgICBvcy5yZW1vdmUoYXBhdGgpCi0rICAgICAgICAgICAg ZWxpZiBvcy5wYXRoLmlzZGlyKGFwYXRoKToKLSsgICAgICAgICAgICAgICAgIyByZW1vdmUgZGly ZWN0b3JpZXMKLSsgICAgICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShhcGF0aCkKLSsgICAgICAg ICAgICBlbGlmIG9zLnBhdGguaXNmaWxlKGFwYXRoKToKLSsgICAgICAgICAgICAgICAgIyBzZXQg ZmlsZSBvd25lcnNoaXAgdG8gJ3Jvb3Q6YWJydCcgb3IgJ3Jvb3Q6cm9vdCcKLSsgICAgICAgICAg ICAgICAgb3MuY2hvd24oYXBhdGgsIGZzdWlkLCBmc2dpZCkKLSsgICAgICAgICAgICAgICAgIyBz ZXQgdGhlIHJpZ2h0IGZpbGUgcGVybWlzc2lvbnMgZm9yIHRoaXMgbWFjaGluZQotKyAgICAgICAg ICAgICAgICBvcy5jaG1vZChhcGF0aCwgQERFRkFVTFRfRFVNUF9ESVJfTU9ERUApCi0rICAgICAg ICAgICAgZWxzZToKLSsgICAgICAgICAgICAgICAgIyByZW1vdmUgdGhpbmdzIHRoYXQgYXJlIG5l aXRoZXIgZmlsZXMsIHN5bWxpbmtzIG5vciBkaXJlY3RvcmllcwotKyAgICAgICAgICAgICAgICBv cy5yZW1vdmUoYXBhdGgpCi0rICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGV4OgotKyAgICAgICAgZXJy b3JfbXNnKCJSZW1vdmluZyB1cGxvYWRlZCBkaXIgJ3swfSc6ICd7MX0nIi5mb3JtYXQodXBsb2Fk ZWRfZGlyX3BhdGgsIHN0cihleCkpKQotKyAgICAgICAgdHJ5OgotKyAgICAgICAgICAgIHNodXRp bC5ybXRyZWUodXBsb2FkZWRfZGlyX3BhdGgpCi0rICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBl eDI6Ci0rICAgICAgICAgICAgZXJyb3JfbXNnX2FuZF9kaWUoIkZhaWxlZCB0byBjbGVhbiB1cCBk aXIgJ3swfSc6ICd7MX0nIi5mb3JtYXQodXBsb2FkZWRfZGlyX3BhdGgsIHN0cihleDIpKSkKLSsg ICAgICAgIHJldHVybgotKwotKyAgICAjIG92ZXJ3cml0ZSByZW1vdGUgaWYgaXQgZXhpc3RzCi0r ICAgIHJlbW90ZV9wYXRoID0gb3MucGF0aC5qb2luKHVwbG9hZGVkX2Rpcl9wYXRoLCAicmVtb3Rl IikKLSsgICAgd3JpdGVfc3RyX3RvKHJlbW90ZV9wYXRoLCAiMSIsIGZzdWlkLCBmc2dpZCwgQERF RkFVTFRfRFVNUF9ESVJfTU9ERUApCi0rCi0rICAgICMgYWJydGQgd291bGQgaW5jcmVtZW50IGNv dW50IHZhbHVlIGFuZCBhYnJ0LXNlcnZlciByZWZ1c2VzIHRvIHByb2Nlc3MKLSsgICAgIyBwcm9i bGVtIGRpcmVjdG9yaWVzIGNvbnRhaW5pbmcgJ2NvdW50JyBlbGVtZW50IHdoZW4gUHJpdmF0ZVJl cG9ydHMgaXMgb24uCi0rICAgIGNvdW50X3BhdGggPSBvcy5wYXRoLmpvaW4odXBsb2FkZWRfZGly X3BhdGgsICJjb3VudCIpCi0rICAgIGlmIG9zLnBhdGguZXhpc3RzKGNvdW50X3BhdGgpOgotKyAg ICAgICAgIyBvdmVyd3JpdGUgcmVtb3RlX2NvdW50IGlmIGl0IGV4aXN0cwotKyAgICAgICAgcmVt b3RlX2NvdW50X3BhdGggPSBvcy5wYXRoLmpvaW4odXBsb2FkZWRfZGlyX3BhdGgsICJyZW1vdGVf Y291bnQiKQotKyAgICAgICAgb3MucmVuYW1lKGNvdW50X3BhdGgsIHJlbW90ZV9jb3VudF9wYXRo KQotKwotKyAgICBpZiBub3QgZGVzdDoKLSsgICAgICAgIGRlc3QgPSBwcm9ibGVtX2Rpcl9wYXRo Ci0rCi0rICAgIHNodXRpbC5tb3ZlKHVwbG9hZGVkX2Rpcl9wYXRoLCBkZXN0KQotKwotKyAgICBw cm9ibGVtLm5vdGlmeV9uZXdfcGF0aChwcm9ibGVtX2Rpcl9wYXRoKQotKwotKwotIGlmIF9fbmFt ZV9fID09ICJfX21haW5fXyI6Ci0gCi0gICAgICMgSGVscGVyOiBleGl0IHdpdGggY2xlYW51cAot QEAgLTE3NywyMSArMjQzLDE3IEBAIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6Ci0gICAgICAg ICAjIG9yIG9uZSBvciBtb3JlIGNvbXBsZXRlIHByb2JsZW0gZGF0YSBkaXJlY3Rvcmllcy4KLSAg ICAgICAgICMgQ2hlY2tpbmcgc2Vjb25kIHBvc3NpYmlsaXR5IGZpcnN0LgotICAgICAgICAgaWYg KG9zLnBhdGguZXhpc3RzKHRlbXBkaXIrIi9hbmFseXplciIpIG9yIG9zLnBhdGguZXhpc3RzKHRl bXBkaXIrIi90eXBlIikpIGFuZCBvcy5wYXRoLmV4aXN0cyh0ZW1wZGlyKyIvdGltZSIpOgotLSAg ICAgICAgICAgIHdyaXRlX3N0cl90byh0ZW1wZGlyKyIvcmVtb3RlIiwgIjEiKQotLSAgICAgICAg ICAgIHNodXRpbC5tb3ZlKHRlbXBkaXIsIGFicnRfZGlyKQotLSAgICAgICAgICAgIHByb2JsZW0u bm90aWZ5X25ld19wYXRoKGFicnRfZGlyKyIvIitvcy5wYXRoLmJhc2VuYW1lKHRlbXBkaXIpKQot KyAgICAgICAgICAgIHZhbGlkYXRlX3RyYW5zZm9ybV9tb3ZlX2FuZF9ub3RpZnkodGVtcGRpciwg YWJydF9kaXIrIi8iK29zLnBhdGguYmFzZW5hbWUodGVtcGRpciksIGRlc3Q9YWJydF9kaXIpCi0g ICAgICAgICBlbHNlOgotICAgICAgICAgICAgIGZvciBkIGluIG9zLmxpc3RkaXIodGVtcGRpcik6 Ci0gICAgICAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKHRlbXBkaXIrIi8iK2QpOgot ICAgICAgICAgICAgICAgICAgICAgY29udGludWUKLS0gICAgICAgICAgICAgICAgd3JpdGVfc3Ry X3RvKHRlbXBkaXIrIi8iK2QrIi9yZW1vdGUiLCAiMSIpCi0gICAgICAgICAgICAgICAgIGRzdCA9 IGFicnRfZGlyKyIvIitkCi0gICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGRzdCk6 Ci0gICAgICAgICAgICAgICAgICAgICBkc3QgKz0gIi4iK3N0cihvcy5nZXRwaWQoKSkKLSAgICAg ICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoZHN0KToKLSAgICAgICAgICAgICAgICAgICAg IGNvbnRpbnVlCi0tICAgICAgICAgICAgICAgIHNodXRpbC5tb3ZlKHRlbXBkaXIrIi8iK2QsIGRz dCkKLS0gICAgICAgICAgICAgICAgcHJvYmxlbS5ub3RpZnlfbmV3X3BhdGgoZHN0KQotKyAgICAg ICAgICAgICAgICB2YWxpZGF0ZV90cmFuc2Zvcm1fbW92ZV9hbmRfbm90aWZ5KHRlbXBkaXIrIi8i K2QsIGRzdCkKLSAKLSAgICAgICAgIGRpZV9leGl0Y29kZSA9IDAKLSAgICAgICAgICMgVGhpcyBk ZWxldGVzIHdvcmtpbmdfZGlyICg9PSBkZWxldGVfb25fZXhpdCkKLS0tIAotMi40LjEKLQoKZGlm ZiAtLWdpdCBhLzAwMDgtYS1hLXMtcC1kLWFkZC1uZXcta25vd24taW50ZXJwcmV0ZXItdG8tY29u Zi1maWxlLnBhdGNoIGIvMDAwOC1hLWEtcy1wLWQtYWRkLW5ldy1rbm93bi1pbnRlcnByZXRlci10 by1jb25mLWZpbGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdhMjU0Yjcu LjAwMDAwMDAKLS0tIGEvMDAwOC1hLWEtcy1wLWQtYWRkLW5ldy1rbm93bi1pbnRlcnByZXRlci10 by1jb25mLWZpbGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1Gcm9tIDdk NWJlNDI3ZTIwOGU1NjVlZTE2YTdmMzRiZTY0YWNiNzgxZmIyZjkgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCi1Gcm9tOiBNYXRlaiBIYWJybmFsIDxtaGFicm5hbEByZWRoYXQuY29tPgotRGF0ZTog TW9uLCAxOCBNYXkgMjAxNSAwODo0NTo0OCArMDIwMAotU3ViamVjdDogW1BBVENIXSBhLWEtcy1w LWQ6IGFkZCBuZXcga25vd24gaW50ZXJwcmV0ZXIgdG8gY29uZiBmaWxlCi0KLVRoZXJlIHdlcmUg bmV3IGJ1Z3ppbGxhcyBvcGVuZWQgd2l0aCB3cm9uZyBjb21wb25lbnQgJ3B5dGhvbjMnIGJlY2F1 c2Ugb2YgYSBuZXcKLXZlcnNpb24gb2YgcHl0aG9uICgzLjQpLiBXZSBkb24ndCB3YW50IHRvIGJs YW1lIHRoZSBpbnRlcnByZXRlcnMgYnV0IHRoZQotcnVubmluZyBzY3JpcHRzLgotCi1jbG9zZSAj OTY1Ci0KLVNpZ25lZC1vZmYtYnk6IE1hdGVqIEhhYnJuYWwgPG1oYWJybmFsQHJlZGhhdC5jb20+ Ci0tLS0KLSBzcmMvZGFlbW9uL2FicnQtYWN0aW9uLXNhdmUtcGFja2FnZS1kYXRhLmNvbmYgfCAy ICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRp ZmYgLS1naXQgYS9zcmMvZGFlbW9uL2FicnQtYWN0aW9uLXNhdmUtcGFja2FnZS1kYXRhLmNvbmYg Yi9zcmMvZGFlbW9uL2FicnQtYWN0aW9uLXNhdmUtcGFja2FnZS1kYXRhLmNvbmYKLWluZGV4IDMz Y2VmOGYuLjI3Yjk2MDcgMTAwNjQ0Ci0tLS0gYS9zcmMvZGFlbW9uL2FicnQtYWN0aW9uLXNhdmUt cGFja2FnZS1kYXRhLmNvbmYKLSsrKyBiL3NyYy9kYWVtb24vYWJydC1hY3Rpb24tc2F2ZS1wYWNr YWdlLWRhdGEuY29uZgotQEAgLTE4LDQgKzE4LDQgQEAgUHJvY2Vzc1VucGFja2FnZWQgPSB5ZXMK LSBCbGFja0xpc3RlZFBhdGhzID0gL3Vzci9zaGFyZS9kb2MvKiwgKi9leGFtcGxlKiwgL3Vzci9i aW4vbnNwbHVnaW52aWV3ZXIKLSAKLSAjIGludGVycHJldGVycyBuYW1lcwotLUludGVycHJldGVy cyA9IHB5dGhvbjIsIHB5dGhvbjIuNywgcHl0aG9uLCBweXRob24zLCBweXRob24zLjMsIHBlcmws IHBlcmw1LjE2LjIKLStJbnRlcnByZXRlcnMgPSBweXRob24yLCBweXRob24yLjcsIHB5dGhvbiwg cHl0aG9uMywgcHl0aG9uMy4zLCBweXRob24zLjQsIHB5dGhvbjMuNSwgcGVybCwgcGVybDUuMTYu MgotLS0gCi0yLjQuMQotCgpkaWZmIC0tZ2l0IGEvMDAxMC1hcHBsZXQtZml4LXByb2JsZW0taW5m by1kb3VibGUtZnJlZS5wYXRjaCBiLzAwMTAtYXBwbGV0LWZpeC1wcm9ibGVtLWluZm8tZG91Ymxl LWZyZWUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1NmJhMDQuLjAwMDAw MDAKLS0tIGEvMDAxMC1hcHBsZXQtZml4LXByb2JsZW0taW5mby1kb3VibGUtZnJlZS5wYXRjaAor KysgL2Rldi9udWxsCkBAIC0xLDQxICswLDAgQEAKLUZyb20gNjVjMjRiYjI0OGI5YjdiMmUzM2U4 YjBiYTllM2UwNmZmZGU0YjI5MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hdGVq IEhhYnJuYWwgPG1oYWJybmFsQHJlZGhhdC5jb20+Ci1EYXRlOiBNb24sIDE4IE1heSAyMDE1IDE1 OjQ2OjU5ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIGFwcGxldDogZml4IHByb2JsZW0gaW5mbyBk b3VibGUgZnJlZQotCi1UaGVyZSB3YXMgYSBkb3VibGUgZnJlZSB3aGVuIGFuIGFjdGlvbiBmdW5j dGlvbiB3YXMgY2FsbGVkLgotUHJvYmxlbSBpbmZvIGlzIGZyZWVkIHdoZW4gdGhlIG5vdGlmaWNh dGlvbiBpcyBkZXN0cm95ZWQgYmVjYXVzZSB0aGUgZnJlZQotZnVuY3Rpb24gaXMgcmVnaXN0cmVk IHdoZW4gdGhlIGFjdGlvbiBpcyBhZGRlZAotKG5vdGlmeV9ub3RpZmljYXRpb25fYWRkX2FjdGlv bigpKS4gU28gdGhlIHByb2JsZW1faW5mb191bnJlZigpIGZ1bmN0aW9uIGluIHRoZQotYWN0aW9u IGZ1bmN0aW9uIGlzIG1vcmVvdmVyIGFuZCBjYXVzZXMgdGhlIGRvdWJsZSBmcmVlIHByb2JsZW0u Ci0KLVJlbGF0ZWQgdG8gcmhieiMxMjExNjQ0Ci0KLVNpZ25lZC1vZmYtYnk6IE1hdGVqIEhhYnJu YWwgPG1oYWJybmFsQHJlZGhhdC5jb20+Ci0tLS0KLSBzcmMvYXBwbGV0L2FwcGxldC5jIHwgMiAt LQotIDEgZmlsZSBjaGFuZ2VkLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2Fw cGxldC9hcHBsZXQuYyBiL3NyYy9hcHBsZXQvYXBwbGV0LmMKLWluZGV4IDRkZjY5ZmMuLmMwMGY3 ZTMgMTAwNjQ0Ci0tLS0gYS9zcmMvYXBwbGV0L2FwcGxldC5jCi0rKysgYi9zcmMvYXBwbGV0L2Fw cGxldC5jCi1AQCAtNTAxLDcgKzUwMSw2IEBAIHN0YXRpYyB2b2lkIGFjdGlvbl9yZXBvcnQoTm90 aWZ5Tm90aWZpY2F0aW9uICpub3RpZmljYXRpb24sIGdjaGFyICphY3Rpb24sIGdwb2luCi0gICAg IHByb2JsZW1faW5mb190ICpwaSA9IChwcm9ibGVtX2luZm9fdCAqKXVzZXJfZGF0YTsKLSAgICAg aWYgKHByb2JsZW1faW5mb19nZXRfZGlyKHBpKSkKLSAgICAgICAgIGZvcmtfZXhlY19ndWkocHJv YmxlbV9pbmZvX2dldF9kaXIocGkpKTsKLS0gICAgcHJvYmxlbV9pbmZvX3VucmVmKHBpKTsKLSB9 Ci0gCi0gc3RhdGljIHZvaWQgYWN0aW9uX3Jlc3RhcnQoTm90aWZ5Tm90aWZpY2F0aW9uICpub3Rp ZmljYXRpb24sIGdjaGFyICphY3Rpb24sIGdwb2ludGVyIHVzZXJfZGF0YSkKLUBAIC01MjgsNyAr NTI3LDYgQEAgc3RhdGljIHZvaWQgYWN0aW9uX3Jlc3RhcnQoTm90aWZ5Tm90aWZpY2F0aW9uICpu b3RpZmljYXRpb24sIGdjaGFyICphY3Rpb24sIGdwb2kKLSAgICAgICAgICAgICAgICAgICAgZXJy LT5tZXNzYWdlKTsKLSAgICAgfQotICAgICBnX29iamVjdF91bnJlZiAoYXBwKTsKLS0gICAgcHJv YmxlbV9pbmZvX3VucmVmKHBpKTsKLSB9Ci0gCi0gc3RhdGljIHZvaWQgb25fbm90aWZ5X2Nsb3Nl KE5vdGlmeU5vdGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uLCBncG9pbnRlciB1c2VyX2RhdGEpCi0t LSAKLTIuNC4xCi0KCmRpZmYgLS1naXQgYS8wMDExLWNsaS1kby1ub3QtZXhpdC13aXRoLXNlZ2Zh dWx0LWlmLWRidXMtZmFpbHMucGF0Y2ggYi8wMDExLWNsaS1kby1ub3QtZXhpdC13aXRoLXNlZ2Zh dWx0LWlmLWRidXMtZmFpbHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMx N2UzM2UuLjAwMDAwMDAKLS0tIGEvMDAxMS1jbGktZG8tbm90LWV4aXQtd2l0aC1zZWdmYXVsdC1p Zi1kYnVzLWZhaWxzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotRnJvbSA4 Mjk1N2EzMzkwMTg4NTA5OTIxZWMxNmJkZGMyN2YyYWVlYjAxYjhkIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQotRnJvbTogTWF0ZWogSGFicm5hbCA8bWhhYnJuYWxAcmVkaGF0LmNvbT4KLURhdGU6 IE1vbiwgNCBNYXkgMjAxNSAxMDozNToyNSArMDIwMAotU3ViamVjdDogW1BBVENIXSBjbGk6IGRv IG5vdCBleGl0IHdpdGggc2VnZmF1bHQgaWYgZGJ1cyBmYWlscwotCi1UaGVyZSB3YXMgYSBzZWdm YXVsdCB3aGVuIHdlIHJhbiAnYWJydC1jbGkgbGlzdCcgYW5kIGRidXMgZmFpbGVkLgotCi1SZWxh dGVkIHRvIHJoYnojMTIxNzkwMQotCi1TaWduZWQtb2ZmLWJ5OiBNYXRlaiBIYWJybmFsIDxtaGFi cm5hbEByZWRoYXQuY29tPgotLS0tCi0gc3JjL2NsaS9saXN0LmMgfCAyICsrCi0gMSBmaWxlIGNo YW5nZWQsIDIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NsaS9saXN0LmMgYi9z cmMvY2xpL2xpc3QuYwotaW5kZXggYzBjODE5ZC4uMzFkMTgzNSAxMDA2NDQKLS0tLSBhL3NyYy9j bGkvbGlzdC5jCi0rKysgYi9zcmMvY2xpL2xpc3QuYwotQEAgLTE0Miw2ICsxNDIsOCBAQCBpbnQg Y21kX2xpc3QoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQotICAgICBwYXJzZV9vcHRzKGFy Z2MsIChjaGFyICoqKWFyZ3YsIHByb2dyYW1fb3B0aW9ucywgcHJvZ3JhbV91c2FnZV9zdHJpbmcp OwotIAotICAgICB2ZWN0b3Jfb2ZfcHJvYmxlbV9kYXRhX3QgKmNpID0gZmV0Y2hfY3Jhc2hfaW5m b3MoKTsKLSsgICAgaWYgKGNpID09IE5VTEwpCi0rICAgICAgICByZXR1cm4gMTsKLSAKLSAgICAg Z19wdHJfYXJyYXlfc29ydF93aXRoX2RhdGEoY2ksICZjbXBfcHJvYmxlbV9kYXRhLCAoY2hhciAq KSBGSUxFTkFNRV9MQVNUX09DQ1VSUkVOQ0UpOwotIAotLS0gCi0yLjQuMQotCgpkaWZmIC0tZ2l0 IGEvMDAxMy1hYnJ0LWF1dG8tcmVwb3J0aW5nLXJlcXVpcmUtcmh0c3VwcG9ydC5jb25mLWZpbGUt b25sLnBhdGNoIGIvMDAxMy1hYnJ0LWF1dG8tcmVwb3J0aW5nLXJlcXVpcmUtcmh0c3VwcG9ydC5j b25mLWZpbGUtb25sLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZmVjN2Q5 Li4wMDAwMDAwCi0tLSBhLzAwMTMtYWJydC1hdXRvLXJlcG9ydGluZy1yZXF1aXJlLXJodHN1cHBv cnQuY29uZi1maWxlLW9ubC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU4OSArMCwwIEBACi1G cm9tIDBiODk1NWE4NDVmN2EyOGEwOTBiZmUwN2QzM2EwYWNmMTYxNTI2ZTIgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCi1Gcm9tOiBNYXRlaiBIYWJybmFsIDxtaGFicm5hbEByZWRoYXQuY29tPgot RGF0ZTogRnJpLCAyNCBBcHIgMjAxNSAxNTozNzoxNSArMDIwMAotU3ViamVjdDogW1BBVENIXSBh YnJ0LWF1dG8tcmVwb3J0aW5nOiByZXF1aXJlIHJodHN1cHBvcnQuY29uZiBmaWxlIG9ubHkgb24K LSBSSEVMCi0KLWFicnQtYXV0by1yZXBvcnRpbmcgcmVxdWlyZWQgdGhlIHJodHN1cHBvcnQuY29u ZiBvbiBGZWRvcmEgYW5kIENlbnRPUyBidXQgdGhlIGNvbmYKLWZpbGUgZG8gbm90IGV4aXN0cyBp biB0aG9zZSBzeXN0ZW1zLgotCi1SZXNvbHZlcyBhYnJ0L2FicnQjOTU3Ci0KLVNpZ25lZC1vZmYt Ynk6IE1hdGVqIEhhYnJuYWwgPG1oYWJybmFsQHJlZGhhdC5jb20+Ci0tLS0KLSBjb25maWd1cmUu YWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDExICsrKwotIGRvYy9NYWtlZmls ZS5hbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTMgKysrLQotIGRvYy9hYnJ0LWF1 dG8tcmVwb3J0aW5nLWF1dGhlbnRpY2F0ZWQudHh0ICAgfCAxMDYgKysrKysrKysrKysrKysrKysr KysrKysrKysrKwotIGRvYy9hYnJ0LWF1dG8tcmVwb3J0aW5nLXVuYXV0aGVudGljYXRlZC50eHQg fCAgNzEgKysrKysrKysrKysrKysrKysrKwotIGRvYy9hYnJ0LWF1dG8tcmVwb3J0aW5nLnR4dCAg ICAgICAgICAgICAgICAgfCAxMDYgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIHNyYy9k YWVtb24vYWJydC1hdXRvLXJlcG9ydGluZy5jICAgICAgICAgICAgfCAgNzEgKysrKysrKysrKysr KystLS0tLQotIDYgZmlsZXMgY2hhbmdlZCwgMjU0IGluc2VydGlvbnMoKyksIDEyNCBkZWxldGlv bnMoLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZG9jL2FicnQtYXV0by1yZXBvcnRpbmctYXV0aGVu dGljYXRlZC50eHQKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZG9jL2FicnQtYXV0by1yZXBvcnRpbmct dW5hdXRoZW50aWNhdGVkLnR4dAotIGRlbGV0ZSBtb2RlIDEwMDY0NCBkb2MvYWJydC1hdXRvLXJl cG9ydGluZy50eHQKLQotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwot aW5kZXggYWNkMGQzMi4uNjk2MmQyYyAxMDA2NDQKLS0tLSBhL2NvbmZpZ3VyZS5hYwotKysrIGIv Y29uZmlndXJlLmFjCi1AQCAtMjk2LDYgKzI5NiwxNyBAQCBBQ19BUkdfRU5BQkxFKHN1Z2dlc3Qt YXV0b3JlcG9ydGluZywKLSAKLSBBTV9DT05ESVRJT05BTChTVUdHRVNUX0FVVE9SRVBPUlRJTkcs IHRlc3QgIiRlbmFibGVfc3VnZ2VzdF9hdXRvcmVwb3J0aW5nIiA9ICJ5ZXMiKQotIAotKyMgQXV0 aGVudGljYXRlZCBhdXRvcmVwb3J0aW5nCi0rCi0rQUNfQVJHX0VOQUJMRShhdXRoZW50aWNhdGVk LWF1dG9yZXBvcnRpbmcsCi0rICAgIEFTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1hdXRoZW50aWNh dGVkLWF1dG9yZXBvcnRpbmddLAotKyAgICBbZW5hYmxlIGF1dGhlbnRpY2F0ZWQgYXV0b3JlcG9y dGluZ10pLAotKyAgICBbZW5hYmxlX2F1dGhlbnRpY2F0ZWRfYXV0b3JlcG9ydGluZz0kZW5hYmxl dmFsXSwKLSsgICAgW2VuYWJsZV9hdXRoZW50aWNhdGVkX2F1dG9yZXBvcnRpbmc9bm9dCi0rKQot KwotK0FNX0NPTkRJVElPTkFMKEFVVEhFTlRJQ0FURURfQVVUT1JFUE9SVElORywgdGVzdCAiJGVu YWJsZV9hdXRoZW50aWNhdGVkX2F1dG9yZXBvcnRpbmciID0gInllcyIpCi0rCi0gIyBNYWtlIHNh dHlyIHVzZSBHREIgb3IgZWxmdXRpbHMvbGlidW53aW5kIGZvciB1bndpbmRpbmc/Ci0gCi0gQUNf QVJHX0VOQUJMRShbbmF0aXZlLXVud2luZGVyXSwKLWRpZmYgLS1naXQgYS9kb2MvTWFrZWZpbGUu YW0gYi9kb2MvTWFrZWZpbGUuYW0KLWluZGV4IDZlZmQ2ZDYuLjNlNzQ5OWMgMTAwNjQ0Ci0tLS0g YS9kb2MvTWFrZWZpbGUuYW0KLSsrKyBiL2RvYy9NYWtlZmlsZS5hbQotQEAgLTc4LDYgKzc4LDE3 IEBAIG1hbjFfTUFOUyA9ICR7TUFOMV9UWFQ6JS50eHQ9JS4xfQotIG1hbjVfTUFOUyA9ICR7TUFO NV9UWFQ6JS50eHQ9JS41fSAke01BTjVfUFJFRk9STUFUVEVEfQotIG1hbjhfTUFOUyA9ICR7TUFO OF9UWFQ6JS50eHQ9JS44fQotIAotK01BTl9TT1VSQ0UgPQotK01BTl9TT1VSQ0UgPSBhYnJ0LWF1 dG8tcmVwb3J0aW5nLWF1dGhlbnRpY2F0ZWQudHh0Ci0rTUFOX1NPVVJDRSA9IGFicnQtYXV0by1y ZXBvcnRpbmctdW5hdXRoZW50aWNhdGVkLnR4dAotKwotK2lmIEFVVEhFTlRJQ0FURURfQVVUT1JF UE9SVElORwotK2FicnQtYXV0by1yZXBvcnRpbmcudHh0OiBhYnJ0LWF1dG8tcmVwb3J0aW5nLWF1 dGhlbnRpY2F0ZWQudHh0Ci0rZWxzZQotK2FicnQtYXV0by1yZXBvcnRpbmcudHh0OiBhYnJ0LWF1 dG8tcmVwb3J0aW5nLXVuYXV0aGVudGljYXRlZC50eHQKLStlbmRpZgotKwljcCAkPCAkQAotKwot ICUuMSAlLjUgJS44OiAlLnhtbAotIAkkKFhNTFRPX1NJTEVOVCkgeG1sdG8gbWFuICQ8IDI+JjEg fCBzZWQgJy9Ob3RlL2QnCi0gCi1AQCAtODYsNiArOTcsNiBAQCBtYW44X01BTlMgPSAke01BTjhf VFhUOiUudHh0PSUuOH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLWNvbmYtZmlsZSAu Li9hc2NpaWRvYy5jb25mIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAtYWFicnRfdmVy c2lvbj0kKFBBQ0tBR0VfVkVSU0lPTikgLW8gJEAgJDwKLSAKLS1FWFRSQV9ESVNUID0gJChNQU4x X1RYVCkgJChNQU41X1RYVCkgJChNQU44X1RYVCkgJChNQU41X1BSRUZPUk1BVFRFRCkKLStFWFRS QV9ESVNUID0gJChNQU4xX1RYVCkgJChNQU41X1RYVCkgJChNQU44X1RYVCkgJChNQU41X1BSRUZP Uk1BVFRFRCkgJChNQU5fU09VUkNFKQotIAotIENMRUFORklMRVMgPSAke01BTjFfVFhUOiUudHh0 PSUuMX0gJHtNQU41X1RYVDolLnR4dD0lLjV9ICR7TUFOOF9UWFQ6JS50eHQ9JS44fQotZGlmZiAt LWdpdCBhL2RvYy9hYnJ0LWF1dG8tcmVwb3J0aW5nLWF1dGhlbnRpY2F0ZWQudHh0IGIvZG9jL2Fi cnQtYXV0by1yZXBvcnRpbmctYXV0aGVudGljYXRlZC50eHQKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0 Ci1pbmRleCAwMDAwMDAwLi4yYTI3OTQ1Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9kb2MvYWJydC1h dXRvLXJlcG9ydGluZy1hdXRoZW50aWNhdGVkLnR4dAotQEAgLTAsMCArMSwxMDYgQEAKLSthYnJ0 LWF1dG8tcmVwb3J0aW5nKDEpCi0rPT09PT09PT09PT09PT09PT09PT09PQotKwotK05BTUUKLSst LS0tCi0rYWJydC1hdXRvLXJlcG9ydGluZyAtIEdldCBvciBtb2RpZnkgdGhlIGF1dG8gcmVwb3J0 aW5nIG9wdGlvbiB2YWx1ZXMKLSsKLStTWU5PUFNJUwotKy0tLS0tLS0tCi0rJ2FicnQtYXV0by1y ZXBvcnRpbmcnIFstdl0gWyBlbmFibGVkIHwgeWVzIHwgMSB8IG9uIHwgZGlzYWJsZWQgfCBubyB8 IDAgfCBvZmYgXQotKyAgICAgICAgICAgICAgICAgICAgICBbIFstLWFub255bW91c10gfAotKyAg ICAgICAgICAgICAgICAgICAgICAgIFstLXVzZXJuYW1lIFVTRVJOQU1FIFstLXBhc3N3b3JkIFBB U1NXT1JEXSBdIHwKLSsgICAgICAgICAgICAgICAgICAgICAgICBbLS1jZXJ0aWZpY2F0ZSBTT1VS Q0VdIF0KLSsKLStERVNDUklQVElPTgotKy0tLS0tLS0tLS0tCi0rUmVhZHMgdGhlIGNvbmZpZ3Vy YXRpb24gZnJvbSBhYnJ0LmNvbmYgYW5kIHNhdmVzIHRoZSBjaGFuZ2VzIHRvIHRoZSBzYW1lIGZp bGUuCi0rCi0rVGhlIGNoYW5nZXMgd2lsbCB0YWtlIGVmZmVjdCBpbW1lZGlhdGVseSB3aXRob3V0 IG5lY2Vzc2l0eSB0byByZXN0YXJ0IGFueSBBQlJUCi0rcHJvY2VzcyBhbmQgd2lsbCBiZSBwZXJz aXN0ZW50LgotKwotKydkaXNhYmxlZCc6OgotKyAgIFVzZXIgaGF2ZSB0byByZXBvcnQgdGhlIGRl dGVjdCBwcm9ibGVtcyBtYW51YWxseQotKwotKydlbmFibGVkJzo6Ci0rICAgQUJSVCB1cGxvYWRz IGFuIHVSZXBvcnQgd2hpY2ggd2FzIGdlbmVyYXRlZCBmb3IgYSBkZXRlY3RlZCBwcm9ibGVtCi0r ICAgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIGRldGVjdGlvbiBwaGFzZS4KLSsKLStSZWFkcyBhbmQg c2F2ZXMgdGhlIGF1dGhlbnRpY2F0aW9uIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBpbgotKy9ldGMv bGlicmVwb3J0L3BsdWdpbnMvdXJlcG9ydC5jb25mIGFuZCAvZXRjL2xpYnJlcG9ydC9wbHVnaW5z L3JodHN1cHBvcnQuY29uZgotKwotK3VSZXBvcnQgZGVzY3JpcHRpb24KLSt+fn5+fn5+fn5+fn5+ fn5+fn5+Ci0rQUJSVCBzdXBwb3J0cyB1UmVwb3J0cyBmb3IgZm91ciB0eXBlcyBvZiBjcmFzaGVz OiBjcmFzaGVzIG9mIEMvQysrIHByb2dyYW1zCi0rdGhhdCByZXN1bHQgaW4gYSBjb3JlIGR1bXAs IHVuY2F1Z2h0IFB5dGhvbiBleGNlcHRpb25zLCB1bmNhdWdodCBKYXZhCi0rZXhjZXB0aW9ucyBh bmQga2VybmVsIG9vcHNlcy4KLSsKLStFYWNoIHVSZXBvcnQgZ2VuZXJhbGx5IGNvbnRhaW5zIGEg c3RhY2sgdHJhY2UsIG9yIG11bHRpcGxlIHN0YWNrIHRyYWNlcyBpbiB0aGUKLStjYXNlIG9mIG11 bHRpLXRocmVhZGVkIEMvQysrIGFuZCBKYXZhIHByb2dyYW1zLiBUaGUgc3RhY2sgdHJhY2Ugb25s eSBkZXNjcmliZXMKLSt0aGUgY2FsbCBzdGFjayBvZiB0aGUgcHJvZ3JhbSBhdCB0aGUgdGltZSBv ZiB0aGUgY3Jhc2ggYW5kIGRvZXMgbm90IGNvbnRhaW4KLStjb250ZW50cyBvZiBhbnkgdmFyaWFi bGVzLgotKwotK0V2ZXJ5IHVSZXBvcnQgYWxzbyBjb250YWlucyBpZGVudGlmaWNhdGlvbiBvZiB0 aGUgb3BlcmF0aW5nIHN5c3RlbSwgdmVyc2lvbnMgb2YKLSt0aGUgUlBNIHBhY2thZ2VzIGludm9s dmVkIGluIHRoZSBjcmFzaCwgYW5kIHdoZXRoZXIgdGhlIHByb2dyYW0gcmFuIHVuZGVyIGEKLSty b290IHVzZXIuCi0rCi0rVGhlcmUgYXJlIGFsc28gaXRlbXMgc3BlY2lmaWMgdG8gZWFjaCBjcmFz aCB0eXBlOgotKwotK0MvQysrIGNyYXNoZXM6OgotKyAgICB0aGVzZSBhcmUgcGF0aCB0byB0aGUg ZXhlY3V0YWJsZSBhbmQgc2lnbmFsIGRlbGl2ZXJlZCB0byB0aGUgcHJvZ3JhbSwKLSsKLStQeXRo b24gZXhjZXB0aW9uczo6Ci0rICAgIHRoZXJlIGlzIHRoZSB0eXBlIG9mIHRoZSBleGNlcHRpb24g KHdpdGhvdXQgdGhlIGVycm9yIG1lc3NhZ2UsIHdoaWNoIG1heQotKyAgICBjb250YWluIHNlbnNp dGl2ZSBkYXRhKSwKLSsKLStmb3Iga2VybmVsIG9vcHNlczo6Ci0rICAgIHRoZXNlIGFyZSBsaXN0 IG9mIGxvYWRlZCBrZXJuZWwgbW9kdWxlcywgbGlzdCBvZiB0YWludCBmbGFncywgYW5kIGZ1bGwg dGV4dAotKyAgICBvZiB0aGUga2VybmVsIG9vcHMuCi0rCi0rVGhlIGF1dGhlbnRpY2F0ZWQgdVJl cG9ydHMgYWxzbyBjb250YWlucyAqaG9zdG5hbWUqIGFuZCAqbWFjaGluZWlkKiB0byBlbmFibGUg YQotK3NlcnZlciBzaWRlIGZpbHRlcmluZyBhdCBodHRwczovL2FjY2Vzcy5yZWRoYXQuY29tLy4K LSsKLStUaGUgYXV0aGVudGljYXRlZCB1UmVwb3J0cyBoYXZlIHRoZSBiZW5lZml0IG9mIHJpY2gg c2VydmVyIHJlcGxpZXMgd2hpY2ggbWF5Ci0raW5jbHVkZSBhIHNvbHV0aW9uIGZvciB0aGUgc3Vi bWl0dGVkIGNyYXNoLiBUaGUgYXV0aGVudGljYXRpb24gaXMgZG9uZSB1c2luZwotK2VpdGhlciBS ZWQgSGF0IFN1YnNjcmlwdGlvbiBDZXJ0aWZpY2F0ZXMgb3IgUmVkIEhhdCBDdXN0b21lciBQb3J0 YWwKLStjcmVkZW50aWFscy4KLSsKLSsnV2FybmluZyc6Ci0rVGhlIGZ1bGwgdGV4dCBvZiBhIGtl cm5lbCBvb3BzIG1pZ2h0IGNvbnRhaW4gaW5mb3JtYXRpb24gbGlrZSB0aGUKLStpZGVudGlmaWNh dGlvbiBvZiB0aGUgaG9zdCBoYXJkd2FyZSB0eXBlLiBZb3Ugc2hvdWxkIGRpc2FibGUgdGhlIGF1 dG9yZXBvcnRpbmcKLStmZWF0dXJlIGlmIHlvdSBkbyBub3Qgd2FudCB0byBzaGFyZSB0aGlzIGlu Zm9ybWF0aW9uIHdpdGggUmVkIEhhdC4KLSsKLSsKLStPUFRJT05TCi0rLS0tLS0tLQotKy12LCAt LXZlcmJvc2U6OgotKyAgIEJlIG1vcmUgdmVyYm9zZS4gQ2FuIGJlIGdpdmVuIG11bHRpcGxlIHRp bWVzLgotKwotKy1hLCAtLWFub255bW91czo6Ci0rICAgVHVybnMgdGhlIGF1dGhlbnRpY2F0aW9u IG9mZiBieSBjbGVhcmluZyBib3RoICdTU0xDbGllbnRBdXRoJyBhbmQgJ0hUVFBBdXRoJwotKyAg IGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBpbiAvZXRjL2xpYnJlcG9ydC9wbHVnaW5zL3VyZXBvcnQu Y29uZgotKwotKy11LCAtLXVzZXJuYW1lIFVTRVJOQU1FOjoKLSsgICBUdXJucyBIVFRQIEF1dGhl bnRpY2F0aW9uIG9uIGJ5IHNldHRpbmcgJ0hUVFBBdXRoJyBjb25maWd1cmF0aW9uIG9wdGlvbiB0 bwotKyAgICpyaHRzLWNyZWRlbnRpYWxzKiBpbiAvZXRjL2xpYnJlcG9ydC9wbHVnaW5zL3VyZXBv cnQuY29uZiBhbmQgc3RvcmluZwotKyAgIFVTRVJOQU1FIGFuZCBQQVNTV09SRCBpbiAvZXRjL2xp YnJlcG9ydC9wbHVnaW5zL3JodHN1cHBvcnQuY29uZgotKyAgIEFsc28gdHVybnMgdGhlIFNTTCBD bGllbnQgQXV0aGVudGljYXRpb24gb2ZmLCBiZWNhdXNlIHRoZXNlIG1ldGhvZHMgY2Fubm90Ci0r ICAgYmUgdXNlZCB0b2dldGhlci4KLSsKLSstcCwgLS1wYXNzd29yZCBQQVNTV09SRDo6Ci0rICAg UGFzc3dvcmQgZm9yIEhUVFAgQXV0aGVudGljYXRpb24uIElmIG5vdCBwcm92aWRlZCwgYSBwcm9t cHQgYXNraW5nIGZvciBpdAotKyAgIHdpbGwgYmUgaXNzdWVkLgotKwotKy1jLCAtLWNlcnRpZmlj YXRlIFNPVVJDRTo6Ci0rICAgVHVybnMgU1NMIENsaWVudCBBdXRoZW50aWNhdGlvbiBvbiBieSBz ZXR0aW5nICdTU0xDbGllbnRBdXRoJyBjb25maWd1cmF0aW9uCi0rICAgb3B0aW9uIHRvIFNPVVJD RSBpbiAvZXRjL2xpYnJlcG9ydC9wbHVnaW5zL3VyZXBvcnQuY29uZi4KLSsgICBBbHNvIHR1cm5z IHRoZSBIVFRQIEF1dGhlbnRpY2F0aW9uIG9mZiwgYmVjYXVzZSB0aGVzZSBtZXRob2RzIGNhbm5v dAotKyAgIGJlIHVzZWQgdG9nZXRoZXIuCi0rCi0rU0VFIEFMU08KLSstLS0tLS0tLQotK2FicnQu Y29uZig1KSwgdXJlcG9ydC5jb25mKDUpLCByaHRzdXBwb3J0LmNvbmYoNSkKLSsKLStBVVRIT1JT Ci0rLS0tLS0tLQotKyogQUJSVCB0ZWFtCi1kaWZmIC0tZ2l0IGEvZG9jL2FicnQtYXV0by1yZXBv cnRpbmctdW5hdXRoZW50aWNhdGVkLnR4dCBiL2RvYy9hYnJ0LWF1dG8tcmVwb3J0aW5nLXVuYXV0 aGVudGljYXRlZC50eHQKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi4zMjBj ODAzCi0tLS0gL2Rldi9udWxsCi0rKysgYi9kb2MvYWJydC1hdXRvLXJlcG9ydGluZy11bmF1dGhl bnRpY2F0ZWQudHh0Ci1AQCAtMCwwICsxLDcxIEBACi0rYWJydC1hdXRvLXJlcG9ydGluZygxKQot Kz09PT09PT09PT09PT09PT09PT09PT0KLSsKLStOQU1FCi0rLS0tLQotK2FicnQtYXV0by1yZXBv cnRpbmcgLSBHZXQgb3IgbW9kaWZ5IHRoZSBhdXRvIHJlcG9ydGluZyBvcHRpb24gdmFsdWVzCi0r Ci0rU1lOT1BTSVMKLSstLS0tLS0tLQotKydhYnJ0LWF1dG8tcmVwb3J0aW5nJyBbLXZdIFsgZW5h YmxlZCB8IHllcyB8IDEgfCBvbiB8IGRpc2FibGVkIHwgbm8gfCAwIHwgb2ZmIF0KLSsKLStERVND UklQVElPTgotKy0tLS0tLS0tLS0tCi0rUmVhZHMgdGhlIGNvbmZpZ3VyYXRpb24gZnJvbSBhYnJ0 LmNvbmYgYW5kIHNhdmVzIHRoZSBjaGFuZ2VzIHRvIHRoZSBzYW1lIGZpbGUuCi0rCi0rVGhlIGNo YW5nZXMgd2lsbCB0YWtlIGVmZmVjdCBpbW1lZGlhdGVseSB3aXRob3V0IG5lY2Vzc2l0eSB0byBy ZXN0YXJ0IGFueSBBQlJUCi0rcHJvY2VzcyBhbmQgd2lsbCBiZSBwZXJzaXN0ZW50LgotKwotKydk aXNhYmxlZCc6OgotKyAgIFVzZXIgaGF2ZSB0byByZXBvcnQgdGhlIGRldGVjdCBwcm9ibGVtcyBt YW51YWxseQotKwotKydlbmFibGVkJzo6Ci0rICAgQUJSVCB1cGxvYWRzIGFuIHVSZXBvcnQgd2hp Y2ggd2FzIGdlbmVyYXRlZCBmb3IgYSBkZXRlY3RlZCBwcm9ibGVtCi0rICAgaW1tZWRpYXRlbHkg YWZ0ZXIgdGhlIGRldGVjdGlvbiBwaGFzZS4KLSsKLSt1UmVwb3J0IGRlc2NyaXB0aW9uCi0rfn5+ fn5+fn5+fn5+fn5+fn5+fgotK0FCUlQgc3VwcG9ydHMgdVJlcG9ydHMgZm9yIGZvdXIgdHlwZXMg b2YgY3Jhc2hlczogY3Jhc2hlcyBvZiBDL0MrKyBwcm9ncmFtcwotK3RoYXQgcmVzdWx0IGluIGEg Y29yZSBkdW1wLCB1bmNhdWdodCBQeXRob24gZXhjZXB0aW9ucywgdW5jYXVnaHQgSmF2YQotK2V4 Y2VwdGlvbnMgYW5kIGtlcm5lbCBvb3BzZXMuCi0rCi0rRWFjaCB1UmVwb3J0IGdlbmVyYWxseSBj b250YWlucyBhIHN0YWNrIHRyYWNlLCBvciBtdWx0aXBsZSBzdGFjayB0cmFjZXMgaW4gdGhlCi0r Y2FzZSBvZiBtdWx0aS10aHJlYWRlZCBDL0MrKyBhbmQgSmF2YSBwcm9ncmFtcy4gVGhlIHN0YWNr IHRyYWNlIG9ubHkgZGVzY3JpYmVzCi0rdGhlIGNhbGwgc3RhY2sgb2YgdGhlIHByb2dyYW0gYXQg dGhlIHRpbWUgb2YgdGhlIGNyYXNoIGFuZCBkb2VzIG5vdCBjb250YWluCi0rY29udGVudHMgb2Yg YW55IHZhcmlhYmxlcy4KLSsKLStFdmVyeSB1UmVwb3J0IGFsc28gY29udGFpbnMgaWRlbnRpZmlj YXRpb24gb2YgdGhlIG9wZXJhdGluZyBzeXN0ZW0sIHZlcnNpb25zIG9mCi0rdGhlIFJQTSBwYWNr YWdlcyBpbnZvbHZlZCBpbiB0aGUgY3Jhc2gsIGFuZCB3aGV0aGVyIHRoZSBwcm9ncmFtIHJhbiB1 bmRlciBhCi0rcm9vdCB1c2VyLgotKwotK1RoZXJlIGFyZSBhbHNvIGl0ZW1zIHNwZWNpZmljIHRv IGVhY2ggY3Jhc2ggdHlwZToKLSsKLStDL0MrKyBjcmFzaGVzOjoKLSsgICAgdGhlc2UgYXJlIHBh dGggdG8gdGhlIGV4ZWN1dGFibGUgYW5kIHNpZ25hbCBkZWxpdmVyZWQgdG8gdGhlIHByb2dyYW0s Ci0rCi0rUHl0aG9uIGV4Y2VwdGlvbnM6OgotKyAgICB0aGVyZSBpcyB0aGUgdHlwZSBvZiB0aGUg ZXhjZXB0aW9uICh3aXRob3V0IHRoZSBlcnJvciBtZXNzYWdlLCB3aGljaCBtYXkKLSsgICAgY29u dGFpbiBzZW5zaXRpdmUgZGF0YSksCi0rCi0rZm9yIGtlcm5lbCBvb3BzZXM6OgotKyAgICB0aGVz ZSBhcmUgbGlzdCBvZiBsb2FkZWQga2VybmVsIG1vZHVsZXMsIGxpc3Qgb2YgdGFpbnQgZmxhZ3Ms IGFuZCBmdWxsIHRleHQKLSsgICAgb2YgdGhlIGtlcm5lbCBvb3BzLgotKwotKydXYXJuaW5nJzoK LStUaGUgZnVsbCB0ZXh0IG9mIGEga2VybmVsIG9vcHMgbWlnaHQgY29udGFpbiBpbmZvcm1hdGlv biBsaWtlIHRoZQotK2lkZW50aWZpY2F0aW9uIG9mIHRoZSBob3N0IGhhcmR3YXJlIHR5cGUuIFlv dSBzaG91bGQgZGlzYWJsZSB0aGUgYXV0b3JlcG9ydGluZwotK2ZlYXR1cmUgaWYgeW91IGRvIG5v dCB3YW50IHRvIHNoYXJlIHRoaXMgaW5mb3JtYXRpb24gd2l0aCBSZWQgSGF0LgotKwotKwotK09Q VElPTlMKLSstLS0tLS0tCi0rLXYsIC0tdmVyYm9zZTo6Ci0rICAgQmUgbW9yZSB2ZXJib3NlLiBD YW4gYmUgZ2l2ZW4gbXVsdGlwbGUgdGltZXMuCi0rCi0rU0VFIEFMU08KLSstLS0tLS0tLQotK2Fi cnQuY29uZig1KQotKwotK0FVVEhPUlMKLSstLS0tLS0tCi0rKiBBQlJUIHRlYW0KLWRpZmYgLS1n aXQgYS9kb2MvYWJydC1hdXRvLXJlcG9ydGluZy50eHQgYi9kb2MvYWJydC1hdXRvLXJlcG9ydGlu Zy50eHQKLWRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMmEyNzk0NS4uMDAwMDAwMAot LS0tIGEvZG9jL2FicnQtYXV0by1yZXBvcnRpbmcudHh0Ci0rKysgL2Rldi9udWxsCi1AQCAtMSwx MDYgKzAsMCBAQAotLWFicnQtYXV0by1yZXBvcnRpbmcoMSkKLS09PT09PT09PT09PT09PT09PT09 PT09Ci0tCi0tTkFNRQotLS0tLS0KLS1hYnJ0LWF1dG8tcmVwb3J0aW5nIC0gR2V0IG9yIG1vZGlm eSB0aGUgYXV0byByZXBvcnRpbmcgb3B0aW9uIHZhbHVlcwotLQotLVNZTk9QU0lTCi0tLS0tLS0t LS0KLS0nYWJydC1hdXRvLXJlcG9ydGluZycgWy12XSBbIGVuYWJsZWQgfCB5ZXMgfCAxIHwgb24g fCBkaXNhYmxlZCB8IG5vIHwgMCB8IG9mZiBdCi0tICAgICAgICAgICAgICAgICAgICAgIFsgWy0t YW5vbnltb3VzXSB8Ci0tICAgICAgICAgICAgICAgICAgICAgICAgWy0tdXNlcm5hbWUgVVNFUk5B TUUgWy0tcGFzc3dvcmQgUEFTU1dPUkRdIF0gfAotLSAgICAgICAgICAgICAgICAgICAgICAgIFst LWNlcnRpZmljYXRlIFNPVVJDRV0gXQotLQotLURFU0NSSVBUSU9OCi0tLS0tLS0tLS0tLS0KLS1S ZWFkcyB0aGUgY29uZmlndXJhdGlvbiBmcm9tIGFicnQuY29uZiBhbmQgc2F2ZXMgdGhlIGNoYW5n ZXMgdG8gdGhlIHNhbWUgZmlsZS4KLS0KLS1UaGUgY2hhbmdlcyB3aWxsIHRha2UgZWZmZWN0IGlt bWVkaWF0ZWx5IHdpdGhvdXQgbmVjZXNzaXR5IHRvIHJlc3RhcnQgYW55IEFCUlQKLS1wcm9jZXNz IGFuZCB3aWxsIGJlIHBlcnNpc3RlbnQuCi0tCi0tJ2Rpc2FibGVkJzo6Ci0tICAgVXNlciBoYXZl IHRvIHJlcG9ydCB0aGUgZGV0ZWN0IHByb2JsZW1zIG1hbnVhbGx5Ci0tCi0tJ2VuYWJsZWQnOjoK LS0gICBBQlJUIHVwbG9hZHMgYW4gdVJlcG9ydCB3aGljaCB3YXMgZ2VuZXJhdGVkIGZvciBhIGRl dGVjdGVkIHByb2JsZW0KLS0gICBpbW1lZGlhdGVseSBhZnRlciB0aGUgZGV0ZWN0aW9uIHBoYXNl LgotLQotLVJlYWRzIGFuZCBzYXZlcyB0aGUgYXV0aGVudGljYXRpb24gY29uZmlndXJhdGlvbiBv cHRpb25zIGluCi0tL2V0Yy9saWJyZXBvcnQvcGx1Z2lucy91cmVwb3J0LmNvbmYgYW5kIC9ldGMv bGlicmVwb3J0L3BsdWdpbnMvcmh0c3VwcG9ydC5jb25mCi0tCi0tdVJlcG9ydCBkZXNjcmlwdGlv bgotLX5+fn5+fn5+fn5+fn5+fn5+fn4KLS1BQlJUIHN1cHBvcnRzIHVSZXBvcnRzIGZvciBmb3Vy IHR5cGVzIG9mIGNyYXNoZXM6IGNyYXNoZXMgb2YgQy9DKysgcHJvZ3JhbXMKLS10aGF0IHJlc3Vs dCBpbiBhIGNvcmUgZHVtcCwgdW5jYXVnaHQgUHl0aG9uIGV4Y2VwdGlvbnMsIHVuY2F1Z2h0IEph dmEKLS1leGNlcHRpb25zIGFuZCBrZXJuZWwgb29wc2VzLgotLQotLUVhY2ggdVJlcG9ydCBnZW5l cmFsbHkgY29udGFpbnMgYSBzdGFjayB0cmFjZSwgb3IgbXVsdGlwbGUgc3RhY2sgdHJhY2VzIGlu IHRoZQotLWNhc2Ugb2YgbXVsdGktdGhyZWFkZWQgQy9DKysgYW5kIEphdmEgcHJvZ3JhbXMuIFRo ZSBzdGFjayB0cmFjZSBvbmx5IGRlc2NyaWJlcwotLXRoZSBjYWxsIHN0YWNrIG9mIHRoZSBwcm9n cmFtIGF0IHRoZSB0aW1lIG9mIHRoZSBjcmFzaCBhbmQgZG9lcyBub3QgY29udGFpbgotLWNvbnRl bnRzIG9mIGFueSB2YXJpYWJsZXMuCi0tCi0tRXZlcnkgdVJlcG9ydCBhbHNvIGNvbnRhaW5zIGlk ZW50aWZpY2F0aW9uIG9mIHRoZSBvcGVyYXRpbmcgc3lzdGVtLCB2ZXJzaW9ucyBvZgotLXRoZSBS UE0gcGFja2FnZXMgaW52b2x2ZWQgaW4gdGhlIGNyYXNoLCBhbmQgd2hldGhlciB0aGUgcHJvZ3Jh bSByYW4gdW5kZXIgYQotLXJvb3QgdXNlci4KLS0KLS1UaGVyZSBhcmUgYWxzbyBpdGVtcyBzcGVj aWZpYyB0byBlYWNoIGNyYXNoIHR5cGU6Ci0tCi0tQy9DKysgY3Jhc2hlczo6Ci0tICAgIHRoZXNl IGFyZSBwYXRoIHRvIHRoZSBleGVjdXRhYmxlIGFuZCBzaWduYWwgZGVsaXZlcmVkIHRvIHRoZSBw cm9ncmFtLAotLQotLVB5dGhvbiBleGNlcHRpb25zOjoKLS0gICAgdGhlcmUgaXMgdGhlIHR5cGUg b2YgdGhlIGV4Y2VwdGlvbiAod2l0aG91dCB0aGUgZXJyb3IgbWVzc2FnZSwgd2hpY2ggbWF5Ci0t ICAgIGNvbnRhaW4gc2Vuc2l0aXZlIGRhdGEpLAotLQotLWZvciBrZXJuZWwgb29wc2VzOjoKLS0g ICAgdGhlc2UgYXJlIGxpc3Qgb2YgbG9hZGVkIGtlcm5lbCBtb2R1bGVzLCBsaXN0IG9mIHRhaW50 IGZsYWdzLCBhbmQgZnVsbCB0ZXh0Ci0tICAgIG9mIHRoZSBrZXJuZWwgb29wcy4KLS0KLS1UaGUg YXV0aGVudGljYXRlZCB1UmVwb3J0cyBhbHNvIGNvbnRhaW5zICpob3N0bmFtZSogYW5kICptYWNo aW5laWQqIHRvIGVuYWJsZSBhCi0tc2VydmVyIHNpZGUgZmlsdGVyaW5nIGF0IGh0dHBzOi8vYWNj ZXNzLnJlZGhhdC5jb20vLgotLQotLVRoZSBhdXRoZW50aWNhdGVkIHVSZXBvcnRzIGhhdmUgdGhl IGJlbmVmaXQgb2YgcmljaCBzZXJ2ZXIgcmVwbGllcyB3aGljaCBtYXkKLS1pbmNsdWRlIGEgc29s dXRpb24gZm9yIHRoZSBzdWJtaXR0ZWQgY3Jhc2guIFRoZSBhdXRoZW50aWNhdGlvbiBpcyBkb25l IHVzaW5nCi0tZWl0aGVyIFJlZCBIYXQgU3Vic2NyaXB0aW9uIENlcnRpZmljYXRlcyBvciBSZWQg SGF0IEN1c3RvbWVyIFBvcnRhbAotLWNyZWRlbnRpYWxzLgotLQotLSdXYXJuaW5nJzoKLS1UaGUg ZnVsbCB0ZXh0IG9mIGEga2VybmVsIG9vcHMgbWlnaHQgY29udGFpbiBpbmZvcm1hdGlvbiBsaWtl IHRoZQotLWlkZW50aWZpY2F0aW9uIG9mIHRoZSBob3N0IGhhcmR3YXJlIHR5cGUuIFlvdSBzaG91 bGQgZGlzYWJsZSB0aGUgYXV0b3JlcG9ydGluZwotLWZlYXR1cmUgaWYgeW91IGRvIG5vdCB3YW50 IHRvIHNoYXJlIHRoaXMgaW5mb3JtYXRpb24gd2l0aCBSZWQgSGF0LgotLQotLQotLU9QVElPTlMK LS0tLS0tLS0tCi0tLXYsIC0tdmVyYm9zZTo6Ci0tICAgQmUgbW9yZSB2ZXJib3NlLiBDYW4gYmUg Z2l2ZW4gbXVsdGlwbGUgdGltZXMuCi0tCi0tLWEsIC0tYW5vbnltb3VzOjoKLS0gICBUdXJucyB0 aGUgYXV0aGVudGljYXRpb24gb2ZmIGJ5IGNsZWFyaW5nIGJvdGggJ1NTTENsaWVudEF1dGgnIGFu ZCAnSFRUUEF1dGgnCi0tICAgY29uZmlndXJhdGlvbiBvcHRpb25zIGluIC9ldGMvbGlicmVwb3J0 L3BsdWdpbnMvdXJlcG9ydC5jb25mCi0tCi0tLXUsIC0tdXNlcm5hbWUgVVNFUk5BTUU6OgotLSAg IFR1cm5zIEhUVFAgQXV0aGVudGljYXRpb24gb24gYnkgc2V0dGluZyAnSFRUUEF1dGgnIGNvbmZp Z3VyYXRpb24gb3B0aW9uIHRvCi0tICAgKnJodHMtY3JlZGVudGlhbHMqIGluIC9ldGMvbGlicmVw b3J0L3BsdWdpbnMvdXJlcG9ydC5jb25mIGFuZCBzdG9yaW5nCi0tICAgVVNFUk5BTUUgYW5kIFBB U1NXT1JEIGluIC9ldGMvbGlicmVwb3J0L3BsdWdpbnMvcmh0c3VwcG9ydC5jb25mCi0tICAgQWxz byB0dXJucyB0aGUgU1NMIENsaWVudCBBdXRoZW50aWNhdGlvbiBvZmYsIGJlY2F1c2UgdGhlc2Ug bWV0aG9kcyBjYW5ub3QKLS0gICBiZSB1c2VkIHRvZ2V0aGVyLgotLQotLS1wLCAtLXBhc3N3b3Jk IFBBU1NXT1JEOjoKLS0gICBQYXNzd29yZCBmb3IgSFRUUCBBdXRoZW50aWNhdGlvbi4gSWYgbm90 IHByb3ZpZGVkLCBhIHByb21wdCBhc2tpbmcgZm9yIGl0Ci0tICAgd2lsbCBiZSBpc3N1ZWQuCi0t Ci0tLWMsIC0tY2VydGlmaWNhdGUgU09VUkNFOjoKLS0gICBUdXJucyBTU0wgQ2xpZW50IEF1dGhl bnRpY2F0aW9uIG9uIGJ5IHNldHRpbmcgJ1NTTENsaWVudEF1dGgnIGNvbmZpZ3VyYXRpb24KLS0g ICBvcHRpb24gdG8gU09VUkNFIGluIC9ldGMvbGlicmVwb3J0L3BsdWdpbnMvdXJlcG9ydC5jb25m LgotLSAgIEFsc28gdHVybnMgdGhlIEhUVFAgQXV0aGVudGljYXRpb24gb2ZmLCBiZWNhdXNlIHRo ZXNlIG1ldGhvZHMgY2Fubm90Ci0tICAgYmUgdXNlZCB0b2dldGhlci4KLS0KLS1TRUUgQUxTTwot LS0tLS0tLS0tCi0tYWJydC5jb25mKDUpLCB1cmVwb3J0LmNvbmYoNSksIHJodHN1cHBvcnQuY29u Zig1KQotLQotLUFVVEhPUlMKLS0tLS0tLS0tCi0tKiBBQlJUIHRlYW0KLWRpZmYgLS1naXQgYS9z cmMvZGFlbW9uL2FicnQtYXV0by1yZXBvcnRpbmcuYyBiL3NyYy9kYWVtb24vYWJydC1hdXRvLXJl cG9ydGluZy5jCi1pbmRleCAwZmZmZWI2Li5iNjA4YzliIDEwMDY0NAotLS0tIGEvc3JjL2RhZW1v bi9hYnJ0LWF1dG8tcmVwb3J0aW5nLmMKLSsrKyBiL3NyYy9kYWVtb24vYWJydC1hdXRvLXJlcG9y dGluZy5jCi1AQCAtNjQsNiArNjQsNyBAQCBzZXRfYWJydF9yZXBvcnRpbmcobWFwX3N0cmluZ190 ICpjb25mLCBjb25zdCBjaGFyICpvcHRfdmFsdWUpCi0gICAgIHJldHVybiAxOwotIH0KLSAKLSsj aWYgQVVUSEVOVElDQVRFRF9BVVRPUkVQT1JUSU5HICE9IDAKLSBzdGF0aWMgaW50Ci0gc2V0X3Vy ZXBvcnRfaHR0cF9hdXRoKG1hcF9zdHJpbmdfdCAqY29uZiwgY29uc3QgY2hhciAqb3B0X3ZhbHVl KQotIHsKLUBAIC0xMzQsNiArMTM1LDcgQEAgc2V0X3JodHNfY3JlZGVudGlhbHMobWFwX3N0cmlu Z190ICpjb25mLCBjb25zdCBjaGFyICp1c2VybmFtZSwgY29uc3QgY2hhciAqcGFzc3cKLSAgICAg LyogTm8gY2hhbmdlcyBuZWVkZWQgLT4gc3VjY2VzcyAqLwotICAgICByZXR1cm4gMTsKLSB9Ci0r I2VuZGlmCi0gCi0gc3RhdGljIGNvbnN0IGNoYXIgKgotIGdldF9hYnJ0X3JlcG9ydGluZyhtYXBf c3RyaW5nX3QgKmNvbmYpCi1AQCAtMTQzLDYgKzE0NSw3IEBAIGdldF9hYnJ0X3JlcG9ydGluZyht YXBfc3RyaW5nX3QgKmNvbmYpCi0gICAgIHJldHVybiBSRVBPUlRJTkdfU1RBVEVTW2luZGV4XVsw XTsKLSB9Ci0gCi0rI2lmIEFVVEhFTlRJQ0FURURfQVVUT1JFUE9SVElORyAhPSAwCi0gc3RhdGlj IGNvbnN0IGNoYXIgKgotIGdldF91cmVwb3J0X2h0dHBfYXV0aChtYXBfc3RyaW5nX3QgKmNvbmYp Ci0gewotQEAgLTE1NCw2ICsxNTcsNyBAQCBnZXRfdXJlcG9ydF9jbGllbnRfYXV0aChtYXBfc3Ry aW5nX3QgKmNvbmYpCi0gewotICAgICByZXR1cm4gZ2V0X21hcF9zdHJpbmdfaXRlbV9vcl9OVUxM KGNvbmYsIFVSRVBPUlRfQ0xJRU5UX0FVVEhfT1BUSU9OKTsKLSB9Ci0rI2VuZGlmCi0gCi0gaW50 IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKLSB7Ci1AQCAtMTcxLDU3ICsxNzUsNzggQEAg aW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKLSAgICAgdGV4dGRvbWFpbihQQUNLQUdF KTsKLSAjZW5kaWYKLSAKLSsjZGVmaW5lIFBST0dSQU1fVVNBR0VfTUlERExFX1BBUlQgXAotKyAg ICAgICAgICAgICJcbiIgXAotKyAgICAgICAgICAgICJHZXQgb3IgbW9kaWZ5IGEgdmFsdWUgb2Yg dGhlIGF1dG8tcmVwb3J0aW5nIG9wdGlvbi4gVGhlIGNoYW5nZXMgd2lsbCB0YWtlXG4iIFwKLSsg ICAgICAgICAgICAiZWZmZWN0IGltbWVkaWF0ZWx5IGFuZCB3aWxsIGJlIHBlcnNpc3RlbnQuXG4i IFwKLSsgICAgICAgICAgICAiXG4iIFwKLSsgICAgICAgICAgICAiIlNUQVRFX01BTlVBTCI6XG4i IFwKLSsgICAgICAgICAgICAiVXNlciBoYXZlIHRvIHJlcG9ydCB0aGUgZGV0ZWN0IHByb2JsZW1z IG1hbnVhbGx5XG4iIFwKLSsgICAgICAgICAgICAiXG4iIFwKLSsgICAgICAgICAgICAiIlNUQVRF X0FVVE8iOlxuIiBcCi0rICAgICAgICAgICAgIkFCUlQgdXBsb2FkcyBhbiB1UmVwb3J0IHdoaWNo IHdhcyBnZW5lcmF0ZWQgZm9yIGEgZGV0ZWN0ZWQgcHJvYmxlbVxuIiBcCi0rICAgICAgICAgICAg ImltbWVkaWF0ZWx5IGFmdGVyIHRoZSBkZXRlY3Rpb24gcGhhc2UuIHVSZXBvcnQgZ2VuZXJhbGx5 IGNvbnRhaW5zIGEgc3RhY2tcbiIgXAotKyAgICAgICAgICAgICJ0cmFjZSB3aGljaCBvbmx5IGRl c2NyaWJlcyB0aGUgY2FsbCBzdGFjayBvZiB0aGUgcHJvZ3JhbSBhdCB0aGUgdGltZSBvZiB0aGVc biIgXAotKyAgICAgICAgICAgICJjcmFzaCBhbmQgZG9lcyBub3QgY29udGFpbiBjb250ZW50cyBv ZiBhbnkgdmFyaWFibGVzLiAgRXZlcnkgdVJlcG9ydCBhbHNvXG4iIFwKLSsgICAgICAgICAgICAi Y29udGFpbnMgaWRlbnRpZmljYXRpb24gb2YgdGhlIG9wZXJhdGluZyBzeXN0ZW0sIHZlcnNpb25z IG9mIHRoZSBSUE0gcGFja2FnZXNcbiIgXAotKyAgICAgICAgICAgICJpbnZvbHZlZCBpbiB0aGUg Y3Jhc2gsIGFuZCB3aGV0aGVyIHRoZSBwcm9ncmFtIHJhbiB1bmRlciBhIHJvb3QgdXNlci5cbiIg XAotKyAgICAgICAgICAgICJcbiIKLSsKLSAgICAgYWJydF9pbml0KGFyZ3YpOwotKyNpZiBBVVRI RU5USUNBVEVEX0FVVE9SRVBPUlRJTkcgIT0gMAotICAgICBjb25zdCBjaGFyICpwcm9ncmFtX3Vz YWdlX3N0cmluZyA9IF8oCi0gICAgICAgICAgICAgIiYgWyAiU1RBVEVfTUFOVUFMIiB8ICJTVEFU RV9BVVRPIiB8IHllcyB8IG5vIHwgMSB8IDAgXSBcXFxuIgotICAgICAgICAgICAgICIgIFtbLS1h bm9ueW1vdXNdIHwgWy0tdXNlcm5hbWUgVVNFUk5BTUUgWy0tcGFzc3dvcmQgUEFTU1dPUkRdXSB8 IFstLWNlcnRpZmljYXRlIFNPVVJDRV1dXG4iCi0tICAgICAgICAgICAgIlxuIgotLSAgICAgICAg ICAgICJHZXQgb3IgbW9kaWZ5IGEgdmFsdWUgb2YgdGhlIGF1dG8tcmVwb3J0aW5nIG9wdGlvbi4g VGhlIGNoYW5nZXMgd2lsbCB0YWtlXG4iCi0tICAgICAgICAgICAgImVmZmVjdCBpbW1lZGlhdGVs eSBhbmQgd2lsbCBiZSBwZXJzaXN0ZW50LlxuIgotLSAgICAgICAgICAgICJcbiIKLS0gICAgICAg ICAgICAiIlNUQVRFX01BTlVBTCI6XG4iCi0tICAgICAgICAgICAgIlVzZXIgaGF2ZSB0byByZXBv cnQgdGhlIGRldGVjdCBwcm9ibGVtcyBtYW51YWxseVxuIgotLSAgICAgICAgICAgICJcbiIKLS0g ICAgICAgICAgICAiIlNUQVRFX0FVVE8iOlxuIgotLSAgICAgICAgICAgICJBQlJUIHVwbG9hZHMg YW4gdVJlcG9ydCB3aGljaCB3YXMgZ2VuZXJhdGVkIGZvciBhIGRldGVjdGVkIHByb2JsZW1cbiIK LS0gICAgICAgICAgICAiaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIGRldGVjdGlvbiBwaGFzZS4gdVJl cG9ydCBnZW5lcmFsbHkgY29udGFpbnMgYSBzdGFja1xuIgotLSAgICAgICAgICAgICJ0cmFjZSB3 aGljaCBvbmx5IGRlc2NyaWJlcyB0aGUgY2FsbCBzdGFjayBvZiB0aGUgcHJvZ3JhbSBhdCB0aGUg dGltZSBvZiB0aGVcbiIKLS0gICAgICAgICAgICAiY3Jhc2ggYW5kIGRvZXMgbm90IGNvbnRhaW4g Y29udGVudHMgb2YgYW55IHZhcmlhYmxlcy4gIEV2ZXJ5IHVSZXBvcnQgYWxzb1xuIgotLSAgICAg ICAgICAgICJjb250YWlucyBpZGVudGlmaWNhdGlvbiBvZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSwg dmVyc2lvbnMgb2YgdGhlIFJQTSBwYWNrYWdlc1xuIgotLSAgICAgICAgICAgICJpbnZvbHZlZCBp biB0aGUgY3Jhc2gsIGFuZCB3aGV0aGVyIHRoZSBwcm9ncmFtIHJhbiB1bmRlciBhIHJvb3QgdXNl ci5cbiIKLS0gICAgICAgICAgICAiXG4iCi0rICAgICAgICAgICAgUFJPR1JBTV9VU0FHRV9NSURE TEVfUEFSVAotICAgICAgICAgICAgICJTZWUgYWJydC1hdXRvLXJlcG9ydGluZygxKSwgcmVwb3J0 ZXItdXJlcG9ydCgxKSBhbmQgcmVwb3J0ZXItcmh0c3VwcG9ydCgxKVxuIgotICAgICAgICAgICAg ICJmb3IgbW9yZSBkZXRhaWxzLlxuIgotICAgICApOwotKyNlbHNlCi0rICAgIGNvbnN0IGNoYXIg KnByb2dyYW1fdXNhZ2Vfc3RyaW5nID0gXygKLSsgICAgICAgICAgICAiJiBbICJTVEFURV9NQU5V QUwiIHwgIlNUQVRFX0FVVE8iIHwgeWVzIHwgbm8gfCAxIHwgMCBdXG4iCi0rICAgICAgICAgICAg UFJPR1JBTV9VU0FHRV9NSURETEVfUEFSVAotKyAgICAgICAgICAgICJTZWUgYWJydC1hdXRvLXJl cG9ydGluZygxKSBhbmQgcmVwb3J0ZXItdXJlcG9ydCgxKSBmb3IgbW9yZSBkZXRhaWxzLlxuIgot KyAgICApOwotKyNlbmRpZgotIAotICAgICBlbnVtIHsKLSAgICAgICAgIE9QVF92ID0gMSA8PCAw LAotKyNpZiBBVVRIRU5USUNBVEVEX0FVVE9SRVBPUlRJTkcgIT0gMAotICAgICAgICAgT1BUX2Eg PSAxIDw8IDEsCi0gICAgICAgICBPUFRfdSA9IDEgPDwgMiwKLSAgICAgICAgIE9QVF9wID0gMSA8 PCAzLAotICAgICAgICAgT1BUX2MgPSAxIDw8IDQsCi0rI2VuZGlmCi0gICAgIH07Ci0gCi0rI2lm IEFVVEhFTlRJQ0FURURfQVVUT1JFUE9SVElORyAhPSAwCi0gICAgIGludCBhbm9ueW1vdXMgPSAw OwotICAgICBjb25zdCBjaGFyICp1c2VybmFtZSA9IE5VTEw7Ci0gICAgIGNvbnN0IGNoYXIgKnBh c3N3b3JkID0gTlVMTDsKLSAgICAgY29uc3QgY2hhciAqY2VydGlmaWNhdGUgPSBOVUxMOwotKyNl bmRpZgotIAotICAgICAvKiBLZWVwIGVudW0gYWJvdmUgYW5kIG9yZGVyIG9mIG9wdGlvbnMgYmVs b3cgaW4gc3luYyEgKi8KLSAgICAgc3RydWN0IG9wdGlvbnMgcHJvZ3JhbV9vcHRpb25zW10gPSB7 Ci0gICAgICAgICBPUFRfX1ZFUkJPU0UoJmdfdmVyYm9zZSksCi0rI2lmIEFVVEhFTlRJQ0FURURf QVVUT1JFUE9SVElORyAhPSAwCi0gICAgICAgICBPUFRfQk9PTCAgKCAgJ2EnLCAiYW5vbnltb3Vz IiwgICAmYW5vbnltb3VzLCAgICAgICAgICAgICAgIF8oIlR1cm5zIHRoZSBhdXRoZW50aWNhdGlv biBvZmYiKSksCi0gICAgICAgICBPUFRfU1RSSU5HKCAgJ3UnLCAidXNlcm5hbWUiLCAgICAmdXNl cm5hbWUsICAgICJVU0VSTkFNRSIsIF8oIlJlZCBIYXQgU3VwcG9ydCB1c2VyIG5hbWUiKSksCi0g ICAgICAgICBPUFRfU1RSSU5HKCAgJ3AnLCAicGFzc3dvcmQiLCAgICAmcGFzc3dvcmQsICAgICJQ QVNTV09SRCIsIF8oIlJlZCBIYXQgU3VwcG9ydCBwYXNzd29yZCwgaWYgbm90IGdpdmVuLCBhIHBy b21wdCBmb3IgaXQgd2lsbCBiZSBpc3N1ZWQiKSksCi0gICAgICAgICBPUFRfU1RSSU5HKCAgJ2Mn LCAiY2VydGlmaWNhdGUiLCAmY2VydGlmaWNhdGUsICJTT1VSQ0UiLCAgIF8oInVSZXBvcnQgU1NM IGNlcnRpZmljYXRlIHBhdGhzIG9yIGNlcnRpZmljYXRlIHR5cGUiKSksCi0rI2VuZGlmCi0gICAg ICAgICBPUFRfRU5EKCkKLSAgICAgfTsKLSAKLS0gICAgY29uc3QgdW5zaWduZWQgb3B0cyA9IHBh cnNlX29wdHMoYXJnYywgYXJndiwgcHJvZ3JhbV9vcHRpb25zLCBwcm9ncmFtX3VzYWdlX3N0cmlu Zyk7Ci0rI2lmIEFVVEhFTlRJQ0FURURfQVVUT1JFUE9SVElORyAhPSAwCi0rICAgIGNvbnN0IHVu c2lnbmVkIG9wdHMgPQotKyNlbmRpZgotKyAgICBwYXJzZV9vcHRzKGFyZ2MsIGFyZ3YsIHByb2dy YW1fb3B0aW9ucywgcHJvZ3JhbV91c2FnZV9zdHJpbmcpOwotIAotICAgICBhcmd2ICs9IG9wdGlu ZDsKLSAgICAgYXJnYyAtPSBvcHRpbmQ7Ci0gCi0rI2lmIEFVVEhFTlRJQ0FURURfQVVUT1JFUE9S VElORyAhPSAwCi0gICAgIGlmICgob3B0cyAmIE9QVF9wKSAmJiAhKG9wdHMgJiBPUFRfdSkpCi0g ICAgIHsKLSAgICAgICAgIGVycm9yX21zZyhfKCJZb3UgYWxzbyBuZWVkIHRvIHNwZWNpZnkgLS11 c2VybmFtZSBmb3IgLS1wYXNzd29yZCIpKTsKLUBAIC0yNDYsNiArMjcxLDcgQEAgaW50IG1haW4o aW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKLSAgICAgICAgIHNob3dfdXNhZ2VfYW5kX2RpZShwcm9n cmFtX3VzYWdlX3N0cmluZywgcHJvZ3JhbV9vcHRpb25zKTsKLSAgICAgfQotIAotKyNlbmRpZgot ICAgICBpZiAoYXJnYyA+IDEpCi0gICAgIHsKLSAgICAgICAgIGVycm9yX21zZyhfKCJJbnZhbGlk IG51bWJlciBvZiBhcmd1bWVudHMiKSk7Ci1AQCAtMjc1LDIwICszMDEsMjUgQEAgaW50IG1haW4o aW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKLSAgICAgaW50IGV4aXRfY29kZSA9IEVYSVRfRkFJTFVS RTsKLSAKLSAgICAgbWFwX3N0cmluZ190ICpjb25mID0gbmV3X21hcF9zdHJpbmcoKTsKLSsjaWYg QVVUSEVOVElDQVRFRF9BVVRPUkVQT1JUSU5HICE9IDAKLSAgICAgbWFwX3N0cmluZ190ICpyaHRz X2NvbmYgPSBuZXdfbWFwX3N0cmluZygpOwotICAgICBtYXBfc3RyaW5nX3QgKnJodHNfY29uZl9i Y2sgPSBOVUxMOwotKyNlbmRpZgotICAgICBtYXBfc3RyaW5nX3QgKnVyZXBvcnRfY29uZiA9IG5l d19tYXBfc3RyaW5nKCk7Ci0gICAgIG1hcF9zdHJpbmdfdCAqdXJlcG9ydF9jb25mX2JjayA9IE5V TEw7Ci0gCi0gICAgIGlmICghbG9hZF9hYnJ0X2NvbmZfZmlsZShDT05GX05BTUUsIGNvbmYpKQot ICAgICAgICAgZ290byBmaW5pdG87Ci0gCi0rI2lmIEFVVEhFTlRJQ0FURURfQVVUT1JFUE9SVElO RyAhPSAwCi0gICAgIGlmICghbG9hZF9wbHVnaW5fY29uZl9maWxlKFJIVFNfTkFNRSwgcmh0c19j b25mLCBmYWxzZSkpCi0gICAgICAgICBnb3RvIGZpbml0bzsKLSsjZW5kaWYKLSAKLSAgICAgaWYg KCFsb2FkX3BsdWdpbl9jb25mX2ZpbGUoVVJFUE9SVF9OQU1FLCB1cmVwb3J0X2NvbmYsIGZhbHNl KSkKLSAgICAgICAgIGdvdG8gZmluaXRvOwotIAotKyNpZiBBVVRIRU5USUNBVEVEX0FVVE9SRVBP UlRJTkcgIT0gMAotICAgICBpZiAoKG9wdHMgJiBPUFRfYSkpCi0gICAgIHsKLSAgICAgICAgIHVy ZXBvcnRfY29uZl9iY2sgPSBjbG9uZV9tYXBfc3RyaW5nKHVyZXBvcnRfY29uZik7Ci1AQCAtMzM0 LDExICszNjUsMTMgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKLSAgICAgICAg ICAgICBnb3RvIGZpbml0bzsKLSAgICAgfQotIAotKyNlbmRpZgotICAgICBpZiAoYXJnYyA9PSAw KQotICAgICB7Ci0gICAgICAgICBwcmludGYoIiVzIiwgZ2V0X2FicnRfcmVwb3J0aW5nKGNvbmYp KTsKLSAgICAgICAgIGV4aXRfY29kZSA9IEVYSVRfU1VDQ0VTUzsKLSAKLSsjaWYgQVVUSEVOVElD QVRFRF9BVVRPUkVQT1JUSU5HICE9IDAKLSAgICAgICAgIGlmIChnX3ZlcmJvc2UgPj0gMSkKLSAg ICAgICAgIHsKLSAgICAgICAgICAgICBjb25zdCBjaGFyICp0bXAgPSBnZXRfdXJlcG9ydF9odHRw X2F1dGgodXJlcG9ydF9jb25mKTsKLUBAIC0zNTAsNyArMzgzLDcgQEAgaW50IG1haW4oaW50IGFy Z2MsIGNoYXIgKmFyZ3ZbXSkKLSAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgIHBy aW50ZigiICVzIiwgXygiYW5vbnltb3VzIGF1dG8gcmVwb3J0aW5nIikpOwotICAgICAgICAgfQot LQotKyNlbmRpZgotICAgICAgICAgcHV0Y2hhcignXG4nKTsKLSAKLSAgICAgICAgIGdvdG8gZmlu aXRvOwotQEAgLTM2MywxNiArMzk2LDIwIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2 W10pCi0gICAgICAgICBpZiAodXJlcG9ydF9jb25mX2JjayAhPSBOVUxMKQotICAgICAgICAgICAg IHNhdmVfcGx1Z2luX2NvbmZfZmlsZShVUkVQT1JUX05BTUUsIHVyZXBvcnRfY29uZl9iY2spOwot IAotKyNpZiBBVVRIRU5USUNBVEVEX0FVVE9SRVBPUlRJTkcgIT0gMAotICAgICAgICAgaWYgKHJo dHNfY29uZl9iY2sgIT0gTlVMTCkKLSAgICAgICAgICAgICBzYXZlX3BsdWdpbl9jb25mX2ZpbGUo UkhUU19OQU1FLCByaHRzX2NvbmZfYmNrKTsKLSsjZW5kaWYKLSAgICAgfQotIAotIAotIGZpbml0 bzoKLSAgICAgZnJlZV9tYXBfc3RyaW5nKHVyZXBvcnRfY29uZik7Ci0gICAgIGZyZWVfbWFwX3N0 cmluZyh1cmVwb3J0X2NvbmZfYmNrKTsKLSsjaWYgQVVUSEVOVElDQVRFRF9BVVRPUkVQT1JUSU5H ICE9IDAKLSAgICAgZnJlZV9tYXBfc3RyaW5nKHJodHNfY29uZik7Ci0gICAgIGZyZWVfbWFwX3N0 cmluZyhyaHRzX2NvbmZfYmNrKTsKLSsjZW5kaWYKLSAgICAgZnJlZV9tYXBfc3RyaW5nKGNvbmYp OwotICAgICByZXR1cm4gZXhpdF9jb2RlOwotIH0KLS0tIAotMi40LjEKLQoKZGlmZiAtLWdpdCBh LzAwMTUtYWJydC1hY3Rpb24tbGlzdC1kc29zLWRvLW5vdC1kZWNvZGUtbm90LWV4aXN0aW5nLW9i ai5wYXRjaCBiLzAwMTUtYWJydC1hY3Rpb24tbGlzdC1kc29zLWRvLW5vdC1kZWNvZGUtbm90LWV4 aXN0aW5nLW9iai5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzFhMTVmNC4u MDAwMDAwMAotLS0gYS8wMDE1LWFicnQtYWN0aW9uLWxpc3QtZHNvcy1kby1ub3QtZGVjb2RlLW5v dC1leGlzdGluZy1vYmoucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi1Gcm9t IGMxN2NiMTk5OTM1N2Q5YmU1MWI4MTE4NjYxYThmMzU1NjljNjZkZDAgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiBNYXRlaiBIYWJybmFsIDxtaGFicm5hbEByZWRoYXQuY29tPgotRGF0 ZTogVGh1LCAxNCBNYXkgMjAxNSAxNjoyNzowMiArMDIwMAotU3ViamVjdDogW1BBVENIXSBhYnJ0 LWFjdGlvbi1saXN0LWRzb3M6IGRvIG5vdCBkZWNvZGUgbm90IGV4aXN0aW5nIG9iamVjdAotCi1J ZiB5b3UgYnVpbGQgYSBwYWNrYWdlIHVzaW5nICdtYWtlIHJwbScsIHRoZXJlIGlzIG5vIHZlbmRv ciBwYXJhbSBpbiBpdC4KLVNvIHRoaXMgaXMgdGhlIHJlYXNvbiB3aHkgdGhlIERlY29kZSBtZXRo b2Qgd2FzIGNhbGxlZCBvbiBOb25lIG9iamVjdC4KLQotU2lnbmVkLW9mZi1ieTogTWF0ZWogSGFi cm5hbCA8bWhhYnJuYWxAcmVkaGF0LmNvbT4KLS0tLQotIHNyYy9wbHVnaW5zL2FicnQtYWN0aW9u LWxpc3QtZHNvcyB8IDcgKysrKysrLQotIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9wbHVnaW5zL2FicnQtYWN0aW9uLWxp c3QtZHNvcyBiL3NyYy9wbHVnaW5zL2FicnQtYWN0aW9uLWxpc3QtZHNvcwotaW5kZXggZjRhMTUz Ni4uYTMwNzhhNSAxMDA2NDQKLS0tLSBhL3NyYy9wbHVnaW5zL2FicnQtYWN0aW9uLWxpc3QtZHNv cwotKysrIGIvc3JjL3BsdWdpbnMvYWJydC1hY3Rpb24tbGlzdC1kc29zCi1AQCAtODIsMTAgKzgy LDE1IEBAIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6Ci0gICAgICAgICAgICAgICAgICAgICAg ICAgaWYgb3V0bmFtZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0ZmlsZSA9IHhv cGVuKG91dG5hbWUsICJ3IikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0bmFtZSA9 IE5vbmUKLSsKLSsgICAgICAgICAgICAgICAgICAgICAgICB2ZW5kb3IgPSBoW3JwbS5SUE1UQUdf VkVORE9SXQotKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIHZlbmRvciAhPSBOb25lOgotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJkb3IgPSB2ZW5kb3IuZGVjb2RlKCd1dGYtOCcp Ci0rCi0gICAgICAgICAgICAgICAgICAgICAgICAgb3V0ZmlsZS53cml0ZSgiJXMgJXMgKCVzKSAl c1xuIiAlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhdGgsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhbcnBtLlJQTVRBR19ORVZSQV0uZGVj b2RlKCd1dGYtOCcpLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoW3Jw bS5SUE1UQUdfVkVORE9SXS5kZWNvZGUoJ3V0Zi04JyksCi0rICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHZlcmRvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaFtycG0uUlBNVEFHX0lOU1RBTExUSU1FXSkKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICApCi0gCi0tLSAKLTIuNC4xCi0KCmRpZmYgLS1naXQgYS8wMDE2LWRvYy1w b2xraXQtU3BlbGxpbmctZ3JhbW1hci1maXhlcy5wYXRjaCBiLzAwMTYtZG9jLXBvbGtpdC1TcGVs bGluZy1ncmFtbWFyLWZpeGVzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBl ZjhiOGE0Li4wMDAwMDAwCi0tLSBhLzAwMTYtZG9jLXBvbGtpdC1TcGVsbGluZy1ncmFtbWFyLWZp eGVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTQzICswLDAgQEAKLUZyb20gZTNkZjMxNWIx OGY4MzNiYjQ0ZWI4YWFkZWVmYzJhZDkzMmYzOWY5NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK LUZyb206ID0/VVRGLTg/cT9WaWxsZT0yMFNreXR0PUMzPUE0Pz0gPHZpbGxlLnNreXR0YUBpa2ku Zmk+Ci1EYXRlOiBUdWUsIDE5IE1heSAyMDE1IDA5OjI5OjI4ICswMzAwCi1TdWJqZWN0OiBbUEFU Q0hdIGRvYywgcG9sa2l0OiBTcGVsbGluZy9ncmFtbWFyIGZpeGVzCi0KLS0tLQotIGRvYy9kZXNp Z24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArKystLS0K LSBkb2MvcHJvYmxlbXMtc2VydmljZS9vcmcuZnJlZWRlc2t0b3AuUHJvYmxlbXMueG1sLmluIHwg IDQgKystLQotIGRvYy9wcm9qZWN0L2FicnQudGV4ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAxNCArKysrKysrLS0tLS0tLQotIHNyYy9kYnVzL2FicnRfcG9sa2l0LnBvbGljeSAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCi0gNCBmaWxlcyBjaGFuZ2VkLCAxNCBp bnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2RvYy9kZXNpZ24g Yi9kb2MvZGVzaWduCi1pbmRleCBhOWNlMDQwLi5mMjE0Y2FmIDEwMDY0NAotLS0tIGEvZG9jL2Rl c2lnbgotKysrIGIvZG9jL2Rlc2lnbgotQEAgLTM3LDcgKzM3LDcgQEAgdG8gYSBkZWRpY2F0ZWQg c2VydmVyKHMpIGZvciBwcm9jZXNzaW5nIChiYWNrdHJhY2UsIGV0YykuCi0gCi0gCURlc2lnbgot IAotLUFicnQgZGVzaWduIHNob3VsZCBiZSBmbGV4aWJsZSBlbm91Z2ggdG8gYWNjb21vZGF0ZSBh bGwKLStBYnJ0IGRlc2lnbiBzaG91bGQgYmUgZmxleGlibGUgZW5vdWdoIHRvIGFjY29tbW9kYXRl IGFsbAotIG9mIHRoZSBhYm92ZSB1c2FnZSBzY2VuYXJpb3MuCi0gCi0gU2luY2UgY3VycmVudGx5 IHdlIGRvIG5vdCBrbm93IGhvdyB0byBkdW1wIG9vcHMgb24gZGVtYW5kLAotQEAgLTcwLDcgKzcw LDcgQEAgdXNlcyBpbm90aWZ5IHRvIHdhdGNoIGZvciBjcmFzaGVzLiBJbnN0ZWFkIHRoZSBwcm9n cmFtcyB3aGljaCBjcmVhdGUgY3Jhc2hlcwotIGNhbiB0cmlnZ2VyIHRoZWlyIGluaXRpYWwgKCJw b3N0LWNyZWF0ZSIpIHByb2Nlc3NpbmcgdGhlbXNlbHZlc10KLSAKLSBDcmFzaGVzIGNvbmNlcHR1 YWxseSBnbyB0aHJvdWdoICJldmVudHMiIGluIHRoZWlyIGxpdmVzLgotLUFwYXJ0IGZyb20gInBv c3QtY3JlYXRlIiBldmVudCBkZWNyaWJlZCBhYm92ZSwgdGhleSBtYXkgaGF2ZQotK0FwYXJ0IGZy b20gInBvc3QtY3JlYXRlIiBldmVudCBkZXNjcmliZWQgYWJvdmUsIHRoZXkgbWF5IGhhdmUKLSAi YW5hbHl6ZSIgZXZlbnQsICJyZXBvcnRbX0ZPT10iIGV2ZW50cywKLSBhbmQgYXJiaXRyYXJpbHkt bmFtZWQgb3RoZXIgZXZlbnRzLgotIGFicnQtaGFuZGxlLWNyYXNoZHVtcCB0b29sIGNhbiBiZSB1 c2VkIHRvICJydW4iIGFuIGV2ZW50IG9uIGEgZGlyZWN0b3J5LAotQEAgLTEyNCw3ICsxMjQsNyBA QCBEb25lOgotICogTWFrZSBhYnJ0LWd1aSBzdGFydCBhYnJ0ZCBvbiBkZW1hbmQsIHNvIHRoYXQg YWJydC1ndWkgY2FuIGJlIHN0YXJ0ZWQKLSAgIGV2ZW4gaWYgYWJydGQgZG9lcyBub3QgcnVuIGF0 IHRoZSBtb21lbnQuCi0gKiBtYWtlIGtlcm5lbG9vcHMgcGx1Z2luIGludG8gc2VwYXJhdGUgZGFl bW9uIChjb252ZXJ0IGl0IHRvIGEgaG9vawotLSAgYW5kIGdldCByaWQgb2YgImNyb24gcGx1Z2lu cyIgd2hpY2ggYXJlIHdyb25nIGlkZWEgc2luY2UgdGhlIGJlZ2luaW5nKQotKyAgYW5kIGdldCBy aWQgb2YgImNyb24gcGx1Z2lucyIgd2hpY2ggYXJlIHdyb25nIGlkZWEgc2luY2UgdGhlIGJlZ2lu bmluZykKLSAqIG1ha2UgQy9DKysgaG9vayB0byBiZSBzdGFydGVkIGJ5IGluaXQgc2NyaXB0Ci0g KiBhZGQgImluY2x1ZGUgRklMRSIgZmVhdHVyZSB0byBhYnJ0X2V2ZW50LmNvbmYKLSAKLWRpZmYg LS1naXQgYS9kb2MvcHJvYmxlbXMtc2VydmljZS9vcmcuZnJlZWRlc2t0b3AuUHJvYmxlbXMueG1s LmluIGIvZG9jL3Byb2JsZW1zLXNlcnZpY2Uvb3JnLmZyZWVkZXNrdG9wLlByb2JsZW1zLnhtbC5p bgotaW5kZXggMTE4ZDRiMi4uYjc5MWJkYiAxMDA2NDQKLS0tLSBhL2RvYy9wcm9ibGVtcy1zZXJ2 aWNlL29yZy5mcmVlZGVza3RvcC5Qcm9ibGVtcy54bWwuaW4KLSsrKyBiL2RvYy9wcm9ibGVtcy1z ZXJ2aWNlL29yZy5mcmVlZGVza3RvcC5Qcm9ibGVtcy54bWwuaW4KLUBAIC01Myw3ICs1Myw3IEBA Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA8dGVybT51aWQ8L3Rlcm0+Ci0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPHBhcmE+T25seSBhIHVzZXIgd2l0aCByb290IHByaXZpbGVkZ2VzIGNhbiBwYXNz IHRoaXMgZmllbGQuIEZvciBhbGwgb3RoZXIgdXNlcnMgdGhlIGZpZWxkIGlzIGZpbGxlZCBieSBj YWxsZXIncyB1aWQuPC9wYXJhPgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDxwYXJhPk9ubHkgYSB1c2VyIHdpdGggcm9vdCBwcml2aWxlZ2VzIGNhbiBwYXNzIHRoaXMgZmll bGQuIEZvciBhbGwgb3RoZXIgdXNlcnMgdGhlIGZpZWxkIGlzIGZpbGxlZCBieSBjYWxsZXIncyB1 aWQuPC9wYXJhPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saXN0aXRlbT4K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92YXJsaXN0ZW50cnk+Ci0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDx2YXJsaXN0ZW50cnk+Ci1AQCAtMzA5LDcgKzMwOSw3IEBAIGZv ciBwcmJsbWlkIGluIHByb2JsZW1zLkdldFByb2JsZW1zKCk6Ci0gICAgICAgICAgICAgICAgIDwv YXJnPgotIAotICAgICAgICAgICAgICAgICA8YXJnIHR5cGU9J3gnIG5hbWU9J3RpbWVzdGFtcF9m cm9tJyBkaXJlY3Rpb249J2luJz4KLS0gICAgICAgICAgICAgICAgICAgIDx0cDpkb2NzdHJpbmc+ QmVnaW5uaWcgb2YgcmVxdWlyZWQgdGltZSByYW5nZS48L3RwOmRvY3N0cmluZz4KLSsgICAgICAg ICAgICAgICAgICAgIDx0cDpkb2NzdHJpbmc+QmVnaW5uaW5nIG9mIHJlcXVpcmVkIHRpbWUgcmFu Z2UuPC90cDpkb2NzdHJpbmc+Ci0gICAgICAgICAgICAgICAgIDwvYXJnPgotIAotICAgICAgICAg ICAgICAgICA8YXJnIHR5cGU9J3gnIG5hbWU9J3RpbWVzdGFtcF90bycgZGlyZWN0aW9uPSdpbic+ Ci1kaWZmIC0tZ2l0IGEvZG9jL3Byb2plY3QvYWJydC50ZXggYi9kb2MvcHJvamVjdC9hYnJ0LnRl eAotaW5kZXggOWU3NzI0ZS4uMDNiNTcwNSAxMDA2NDQKLS0tLSBhL2RvYy9wcm9qZWN0L2FicnQu dGV4Ci0rKysgYi9kb2MvcHJvamVjdC9hYnJ0LnRleAotQEAgLTE5NCw3ICsxOTQsNyBAQCBpbmZv cm1hdGlvbiByZWdhcmRpbmcgdGhlaXIgaW50ZXJlc3RzLCBpbnZvbHZlbWVudC4KLSB7XHRleHRi ZntQYWNrYWdlIE1haW50YWluZXJzfQotICAgXG5vZGVwYXJ0e3NlY29uZH0gXHZzcGFjZXstNW1t fQotICAgXGJlZ2lue2l0ZW1pemV9IFxpdGVtc2VwMXB0IFxwYXJza2lwMHB0IFxwYXJzZXAwcHQK LS0gIFxpdGVtIEZpeGluZyBtb3N0IGZyZXF1ZW50bHkgb2NjdXJlZCBidWdzCi0rICBcaXRlbSBG aXhpbmcgbW9zdCBmcmVxdWVudGx5IG9jY3VycmVkIGJ1Z3MKLSAgIFxpdGVtIEZpeGluZyBidWdz IHdoZXJlIHRoZSBidWcgaXMgd2VsbCBkZXNjcmliZWQKLSAgIFxlbmR7aXRlbWl6ZX0KLSB9Owot QEAgLTI2NSw3ICsyNjUsNyBAQCBIaWdobGlnaHQgaW1wb3J0YW50IHJlcG9ydHMKLSBJbi1kZXB0 aCBidWcgZml4aW5nCi0gLS0tLS0tLS0tLS0tLS0tLS0tLQotIAotLUNvbGxlY3QgY29yZS1kdW1w IGZvciBmcmVxdWVudGx5IG9jY3VyZWQgcmVwb3J0cwotK0NvbGxlY3QgY29yZS1kdW1wIGZvciBm cmVxdWVudGx5IG9jY3VycmVkIHJlcG9ydHMKLSAKLSBSZXRyYWNlIGNvcmVkdW1wcyBvbiBkZW1h bmQKLSAKLUBAIC01NzAsNyArNTcwLDcgQEAgY29tcG9uZW50cy4KLSAgICAgUmVkIEhhdCBCdWd6 aWxsYS4KLSAgIFxlbmR7ZGVzY3JpcHRpb259Ci0gXGl0ZW1bRGF0YSBTdG9yYWdlXSBEYXRhYmFz ZSBhbmQgZmlsZSBzdG9yYWdlIGZvciBkYXRhIHJlcXVpcmVkIGZvcgotLSAgdGhlIGFuYWx5c2lz LCBldmFsdWF0aW9uLCBhZG4gcHJvY2Vzc2luZyBvZiByZXBvcnRzIGFuZCBwcm9ibGVtcy4KLSsg IHRoZSBhbmFseXNpcywgZXZhbHVhdGlvbiwgYW5kIHByb2Nlc3Npbmcgb2YgcmVwb3J0cyBhbmQg cHJvYmxlbXMuCi0gICBcYmVnaW57ZGVzY3JpcHRpb259Ci0gICBcaXRlbVtMTFZNIGJpdGNvZGVd IFdlIHN0b3JlIExMVk0gYml0Y29kZSBvZiBldmVyeSBiaW5hcnkgYW5kCi0gICAgIGR5bmFtaWMg bGlicmFyeSBjb21waWxlZCBmcm9tIEMvQysrIHNvdXJjZSBjb2RlLgotQEAgLTU4Miw4ICs1ODIs OCBAQCBjb21wb25lbnRzLgotIFxiZWdpbnt0aWt6cGljdHVyZX0KLSBcdW1sY2xhc3NbeD0tNCx5 PTBde3Byb2JsZW19ewotIGlkIDogUFJJTUFSWSBLRVkgXFwKLS1maXJzdCBvY2N1cmVuY2UgOiBU SU1FU1RBTVAgTk9UIE5VTEwgXFwKLS1sYXN0IG9jY3VyZW5jZSA6IFRJTUVTVEFNUCBOT1QgTlVM TCBcXAotK2ZpcnN0IG9jY3VycmVuY2UgOiBUSU1FU1RBTVAgTk9UIE5VTEwgXFwKLStsYXN0IG9j Y3VycmVuY2UgOiBUSU1FU1RBTVAgTk9UIE5VTEwgXFwKLSB9e30KLSAKLSBcdW1sY2xhc3NbeD00 LHk9LTJde3Byb2JsZW0gcmVwb3J0fXsKLUBAIC02MTYsOCArNjE2LDggQEAgUGFydCBvZiByZXBv cnRzIGlzIHBvcHVsYXRlZCBmcm9tICRcbXUkcmVwb3J0cy4KLSBcdW1sY2xhc3NbeD0tNCx5PTBd e3JlcG9ydH17Ci0gaWQgOiBQUklNQVJZIEtFWSBBVVRPSU5DUkVNRU5UIFxcCi0gdHlwZSA6IEVO VU0gKFVTRVJTUEFDRSwgS0VSTkVMLCBQWVRIT04sIFNFTElOVVgpIFxcCi0tZmlyc3Qgb2NjdXJl bmNlIDogVElNRVNUQU1QIFxcCi0tbGFzdCBvY2N1cmVuY2UgOiBUSU1FU1RBTVAgXFwKLStmaXJz dCBvY2N1cnJlbmNlIDogVElNRVNUQU1QIFxcCi0rbGFzdCBvY2N1cnJlbmNlIDogVElNRVNUQU1Q IFxcCi0gY291bnQgOiBJTlQgXFwKLSBjb21wb25lbnQgaWQgOiBGT1JFSUdOIEtFWSBcXAotIHBy b2JsZW0gaWQgOiBGT1JFSUdOIEtFWQotZGlmZiAtLWdpdCBhL3NyYy9kYnVzL2FicnRfcG9sa2l0 LnBvbGljeSBiL3NyYy9kYnVzL2FicnRfcG9sa2l0LnBvbGljeQotaW5kZXggYTM0MjVkOS4uMmM3 NTIzMyAxMDA2NDQKLS0tLSBhL3NyYy9kYnVzL2FicnRfcG9sa2l0LnBvbGljeQotKysrIGIvc3Jj L2RidXMvYWJydF9wb2xraXQucG9saWN5Ci1AQCAtMTcsNyArMTcsNyBAQCBDb3B5cmlnaHQgKGMp IDIwMTIgQUJSVCBUZWFtIDxjcmFzaC1jYXRjaGVyQGZlZG9yYWhvc3RlZC5jb20+Ci0gICA8IS0t IGJ5IGRlZmF1bHQgb25seSByb290IGNhbiBzZWUgb3RoZXIgdXNlcnMgcHJvYmxlbXMgLS0+Ci0g ICA8YWN0aW9uIGlkPSJvcmcuZnJlZWRlc2t0b3AucHJvYmxlbXMuZ2V0YWxsIj4KLSAgICAgPGRl c2NyaXB0aW9uPkdldCBwcm9ibGVtcyBmcm9tIGFsbCB1c2VyczwvZGVzY3JpcHRpb24+Ci0tICAg IDxtZXNzYWdlPlJlYWRpbmcgb3RoZXJzIHByb2JsZW1zIHJlcXVpcmVzIGF1dGhlbnRpY2F0aW9u PC9tZXNzYWdlPgotKyAgICA8bWVzc2FnZT5SZWFkaW5nIG90aGVyIHVzZXJzJyBwcm9ibGVtcyBy ZXF1aXJlcyBhdXRoZW50aWNhdGlvbjwvbWVzc2FnZT4KLSAgICAgPGRlZmF1bHRzPgotICAgICAg IDxhbGxvd19hbnk+YXV0aF9hZG1pbjwvYWxsb3dfYW55PgotICAgICAgIDxhbGxvd19hY3RpdmU+ YXV0aF9hZG1pbl9rZWVwPC9hbGxvd19hY3RpdmU+Ci1AQCAtMjgsNyArMjgsNyBAQCBDb3B5cmln aHQgKGMpIDIwMTIgQUJSVCBUZWFtIDxjcmFzaC1jYXRjaGVyQGZlZG9yYWhvc3RlZC5jb20+Ci0g ICA8IS0tIGJ5IGRlZmF1bHQgb25seSByb290IGNhbiBhY2Nlc3MgY29uZmlndXJhdGlvbiAgLS0+ Ci0gICA8YWN0aW9uIGlkPSJjb20ucmVkaGF0LnByb2JsZW1zLmNvbmZpZ3VyYXRpb24udXBkYXRl Ij4KLSAgICAgPGRlc2NyaXB0aW9uPlNldCB2YWx1ZSBvZiBjb25maWd1cmF0aW9uIHByb3BlcnRp ZXM8L2Rlc2NyaXB0aW9uPgotLSAgICA8bWVzc2FnZT5VcGRhdGUgY29uZmlndXJhdGlvbiB2YWx1 ZXMgcmV1cXVpcmVzIGF1dGhlbnRpY2F0aW9uPC9tZXNzYWdlPgotKyAgICA8bWVzc2FnZT5VcGRh dGluZyBjb25maWd1cmF0aW9uIHZhbHVlcyByZXF1aXJlcyBhdXRoZW50aWNhdGlvbjwvbWVzc2Fn ZT4KLSAgICAgPGRlZmF1bHRzPgotICAgICAgIDxhbGxvd19hbnk+YXV0aF9hZG1pbjwvYWxsb3df YW55PgotICAgICAgIDxhbGxvd19hY3RpdmU+YXV0aF9hZG1pbl9rZWVwPC9hbGxvd19hY3RpdmU+ Ci0tLSAKLTIuNC4xCi0KCmRpZmYgLS1naXQgYS8wMDE4LWFwcGxldC1taWdyYXRlLUF1dG9yZXBv cnRpbmctb3B0aW9ucy10by1HU2V0dGluZ3MucGF0Y2ggYi8wMDE4LWFwcGxldC1taWdyYXRlLUF1 dG9yZXBvcnRpbmctb3B0aW9ucy10by1HU2V0dGluZ3MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IGRiNjdlNTUuLjAwMDAwMDAKLS0tIGEvMDAxOC1hcHBsZXQtbWlncmF0ZS1B dXRvcmVwb3J0aW5nLW9wdGlvbnMtdG8tR1NldHRpbmdzLnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsMTIzICswLDAgQEAKLUZyb20gNzBiMmU2OTgxYjY2N2Q1Y2ZiMzFmODk0NTI3ZTE2ZjNlZWVk MTRjOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEpha3ViIEZpbGFrIDxqZmlsYWtA cmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgMTUgTWF5IDIwMTUgMTQ6NDU6NDAgKzAyMDAKLVN1Ympl Y3Q6IFtQQVRDSF0gYXBwbGV0OiBtaWdyYXRlIEF1dG9yZXBvcnRpbmcgb3B0aW9ucyB0byBHU2V0 dGluZ3MKLQotUmVhZCB0aGUgb3B0aW9uJ3MgdmFsdWUgZnJvbSB0aGUgYXBwJ3MgY29uZmlndXJh dGlvbiBmaWxlLCB1cGRhdGUgdGhlCi1nbm9tZSBzZXR0aW5nIGlmIG5lZWRlZCBhbmQgcmVtb3Zl IHRoZSBvcHRpb24gZnJvbSB0aGUgYXBwJ3MKLWNvbmZpZ3VyYXRpb24gZmlsZSBpbiBvcmRlciB0 byBza2lwIHRoZSBtaWdyYXRpb24gYXQgbmV4dCBzdGFydC4KLQotUmVsYXRlZCB0byAjOTY2Ci0K LVNpZ25lZC1vZmYtYnk6IEpha3ViIEZpbGFrIDxqZmlsYWtAcmVkaGF0LmNvbT4KLS0tLQotIHNy Yy9hcHBsZXQvYXBwbGV0LmMgfCA2MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKystLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA1NSBpbnNlcnRpb25zKCspLCA1 IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2FwcGxldC9hcHBsZXQuYyBiL3NyYy9h cHBsZXQvYXBwbGV0LmMKLWluZGV4IDRkZjY5ZmMuLmI1MzQ4MzkgMTAwNjQ0Ci0tLS0gYS9zcmMv YXBwbGV0L2FwcGxldC5jCi0rKysgYi9zcmMvYXBwbGV0L2FwcGxldC5jCi1AQCAtMzYsNiArMzYs MTAgQEAKLSAjaW5jbHVkZSAibGliYWJydC5oIgotICNpbmNsdWRlICJwcm9ibGVtX2FwaS5oIgot IAotKyNkZWZpbmUgQVBQX05BTUUgImFicnQtYXBwbGV0IgotKyNkZWZpbmUgR1NfU0NIRU1BX0lE X1BSSVZBQ1kgIm9yZy5nbm9tZS5kZXNrdG9wLnByaXZhY3kiCi0rI2RlZmluZSBHU19QUklWQUNZ X09QVF9BVVRPX1JFUE9SVElORyAicmVwb3J0LXRlY2huaWNhbC1wcm9ibGVtcyIKLSsKLSAvKiBs aWJub3RpZnkgYWN0aW9uIGtleXMgKi8KLSAjZGVmaW5lIEFfUkVQT1JUX1JFUE9SVCAiUkVQT1JU IgotICNkZWZpbmUgQV9SRVNUQVJUX0FQUExJQ0FUSU9OICJSRVNUQVJUIgotQEAgLTU1LDE1ICs1 OSw2MCBAQCBzdGF0aWMgYm9vbCBpc19hdXRvcmVwb3J0aW5nX2VuYWJsZWQodm9pZCkKLSAgICAg R1NldHRpbmdzICpzZXR0aW5nczsKLSAgICAgZ2Jvb2xlYW4gcmV0OwotIAotLSAgICBzZXR0aW5n cyA9IGdfc2V0dGluZ3NfbmV3ICgib3JnLmdub21lLmRlc2t0b3AucHJpdmFjeSIpOwotLSAgICBy ZXQgPSBnX3NldHRpbmdzX2dldF9ib29sZWFuIChzZXR0aW5ncywgInJlcG9ydC10ZWNobmljYWwt cHJvYmxlbXMiKTsKLSsgICAgc2V0dGluZ3MgPSBnX3NldHRpbmdzX25ldyAoR1NfU0NIRU1BX0lE X1BSSVZBQ1kpOwotKyAgICByZXQgPSBnX3NldHRpbmdzX2dldF9ib29sZWFuIChzZXR0aW5ncywg R1NfUFJJVkFDWV9PUFRfQVVUT19SRVBPUlRJTkcpOwotICAgICBnX29iamVjdF91bnJlZiAoc2V0 dGluZ3MpOwotICAgICByZXR1cm4gcmV0OwotIH0KLSAKLStzdGF0aWMgdm9pZCBtaWdyYXRlX2F1 dG9fcmVwb3J0aW5nX3RvX2dzZXR0aW5ncyh2b2lkKQotK3sKLSsjZGVmaW5lIE9QVF9OQU1FICJB dXRvcmVwb3J0aW5nRW5hYmxlZCIKLSsgICAgbWFwX3N0cmluZ190ICpzZXR0aW5ncyA9IG5ld19t YXBfc3RyaW5nKCk7Ci0rICAgIGlmICghbG9hZF9hcHBfY29uZl9maWxlKEFQUF9OQU1FLCBzZXR0 aW5ncykpCi0rICAgICAgICBnb3RvIGZpbml0bzsKLSsKLSsgICAgLyogU2lsZW50bHkgaWdub3Jl IG5vdCBjb25maWd1cmVkIG9wdGlvbnMgKi8KLSsgICAgaW50IHN2X2xvZ21vZGUgPSBsb2dtb2Rl OwotKyAgICAvKiBidXQgb25seSBpZiB3ZSBydW4gaW4gc2lsZW50IG1vZGUgKG5vIC12IG9uIGNv bW1hbmQgbGluZSkgKi8KLSsgICAgbG9nbW9kZSA9IGdfdmVyYm9zZSA9PSAwID8gMCA6IHN2X2xv Z21vZGU7Ci0rCi0rICAgIGludCBhdXRvX3JlcG9ydGluZyA9IDA7Ci0rICAgIGludCBjb25maWd1 cmVkID0gdHJ5X2dldF9tYXBfc3RyaW5nX2l0ZW1fYXNfYm9vbChzZXR0aW5ncywgT1BUX05BTUUs ICZhdXRvX3JlcG9ydGluZyk7Ci0rCi0rICAgIGxvZ21vZGUgPSBzdl9sb2dtb2RlOwotKwotKyAg ICBpZiAoIWNvbmZpZ3VyZWQpCi0rICAgICAgICBnb3RvIGZpbml0bzsKLSsKLSsgICAgLyogRW5h YmxlIHRoZSBHUyBvcHRpb24gaWYgQXV0b3JlcG9ydGluZ0VuYWJsZWQgaXMgdHJ1ZSBiZWNhdXNl IHRoZSB1c2VyCi0rICAgICAqIHR1cm5lZCB0aGUgQXV0b3JlcG9ydGluZyBpbiBhYnJ0LWFwcGxl dCBpbiBhIGJlZm9yZSBHUy4KLSsgICAgICoKLSsgICAgICogRG8gbm90IGRpc2FibGUgdGhlIEdT IG9wdGlvbiBpZiBBdXRvcmVwb3J0aW5nRXZlbnQgaXMgZmFsc2UgYmVjYXVzZSB0aGUKLSsgICAg ICogR1Mgb3B0aW9uIGlzIGZhbHNlIGJ5IGRlZmF1bHQsIHRodXMgZGlzYWJsaW5nIHdvdWxkIHJl dmVydCB0aGUgdXNlcidzCi0rICAgICAqIGRlY2lzaW9uIHRvICBhdXRvbWF0aWNhbGx5IHJlcG9y dCB0ZWNobmljYWwgcHJvYmxlbXMuCi0rICAgICAqLwotKyAgICBpZiAoYXV0b19yZXBvcnRpbmcp Ci0rICAgIHsKLSsgICAgICAgIEdTZXR0aW5ncyAqc2V0dGluZ3MgPSBnX3NldHRpbmdzX25ldyhH U19TQ0hFTUFfSURfUFJJVkFDWSk7Ci0rICAgICAgICBnX3NldHRpbmdzX3NldF9ib29sZWFuKHNl dHRpbmdzLCBHU19QUklWQUNZX09QVF9BVVRPX1JFUE9SVElORywgVFJVRSk7Ci0rICAgICAgICBn X29iamVjdF91bnJlZihzZXR0aW5ncyk7Ci0rICAgIH0KLSsKLSsgICAgcmVtb3ZlX21hcF9zdHJp bmdfaXRlbShzZXR0aW5ncywgT1BUX05BTUUpOwotKyAgICBzYXZlX2FwcF9jb25mX2ZpbGUoQVBQ X05BTUUsIHNldHRpbmdzKTsKLSsKLSsgICAgbG9nKCJTdWNjZXNzZnVsbHkgbWlncmF0ZWQgIkFQ UF9OQU1FIjoiT1BUX05BTUUiIHRvICJHU19TQ0hFTUFfSURfUFJJVkFDWSI6IkdTX1BSSVZBQ1lf T1BUX0FVVE9fUkVQT1JUSU5HKTsKLSsKLSsjdW5kZWYgT1BUX05BTUUKLStmaW5pdG86Ci0rICAg IGZyZWVfbWFwX3N0cmluZyhzZXR0aW5ncyk7Ci0rICAgIHJldHVybjsKLSt9Ci0rCi0gc3RhdGlj IGNvbnN0IGNoYXIgKmdldF9hdXRvcmVwb3J0X2V2ZW50X25hbWUodm9pZCkKLSB7Ci0tICAgIGxv YWRfdXNlcl9zZXR0aW5ncygiYWJydC1hcHBsZXQiKTsKLSsgICAgbG9hZF91c2VyX3NldHRpbmdz KEFQUF9OQU1FKTsKLSAgICAgY29uc3QgY2hhciAqY29uZmlndXJlZCA9IGdldF91c2VyX3NldHRp bmcoIkF1dG9yZXBvcnRpbmdFdmVudCIpOwotICAgICByZXR1cm4gY29uZmlndXJlZCA/IGNvbmZp Z3VyZWQgOiBnX3NldHRpbmdzX2F1dG9yZXBvcnRpbmdfZXZlbnQ7Ci0gfQotQEAgLTU1NCw3ICs2 MDMsNyBAQCBzdGF0aWMgTm90aWZ5Tm90aWZpY2F0aW9uICpuZXdfd2Fybl9ub3RpZmljYXRpb24o Y29uc3QgY2hhciAqYm9keSkKLSAKLSAgICAgbm90aWZ5X25vdGlmaWNhdGlvbl9zZXRfdXJnZW5j eShub3RpZmljYXRpb24sIE5PVElGWV9VUkdFTkNZX05PUk1BTCk7Ci0gICAgIG5vdGlmeV9ub3Rp ZmljYXRpb25fc2V0X3RpbWVvdXQobm90aWZpY2F0aW9uLCBOT1RJRllfRVhQSVJFU19ERUZBVUxU KTsKLS0gICAgbm90aWZ5X25vdGlmaWNhdGlvbl9zZXRfaGludChub3RpZmljYXRpb24sICJkZXNr dG9wLWVudHJ5IiwgZ192YXJpYW50X25ld19zdHJpbmcoImFicnQtYXBwbGV0IikpOwotKyAgICBu b3RpZnlfbm90aWZpY2F0aW9uX3NldF9oaW50KG5vdGlmaWNhdGlvbiwgImRlc2t0b3AtZW50cnki LCBnX3ZhcmlhbnRfbmV3X3N0cmluZyhBUFBfTkFNRSkpOwotIAotICAgICByZXR1cm4gbm90aWZp Y2F0aW9uOwotIH0KLUBAIC0xMTQ3LDEzICsxMTk2LDE0IEBAIGludCBtYWluKGludCBhcmdjLCBj aGFyKiogYXJndikKLSAgICAgLyp1bnNpZ25lZCBvcHRzID0qLyBwYXJzZV9vcHRzKGFyZ2MsIGFy Z3YsIHByb2dyYW1fb3B0aW9ucywgcHJvZ3JhbV91c2FnZV9zdHJpbmcpOwotIAotICAgICBtaWdy YXRlX3RvX3hkZ19kaXJzKCk7Ci0rICAgIG1pZ3JhdGVfYXV0b19yZXBvcnRpbmdfdG9fZ3NldHRp bmdzKCk7Ci0gCi0gICAgIGV4cG9ydF9hYnJ0X2VudnZhcnMoMCk7Ci0gICAgIG1zZ19wcmVmaXgg PSBnX3Byb2duYW1lOwotIAotICAgICBsb2FkX2FicnRfY29uZigpOwotICAgICBsb2FkX2V2ZW50 X2NvbmZpZ19kYXRhKCk7Ci0tICAgIGxvYWRfdXNlcl9zZXR0aW5ncygiYWJydC1hcHBsZXQiKTsK LSsgICAgbG9hZF91c2VyX3NldHRpbmdzKEFQUF9OQU1FKTsKLSAKLSAgICAgLyogSW5pdGlhbGl6 ZSBvdXIgKGRidXNfYWJydCkgbWFjaGluZXJ5IGJ5IGZpbHRlcmluZwotICAgICAgKiBmb3Igc2ln bmFsczoKLS0tIAotMi40LjEKLQoKZGlmZiAtLWdpdCBhLzAwMTktY29uZmlnLVVJLXJlYWQtZ2xh ZGUtZnJvbS1hLWxvY2FsLWZpbGUtZmlyc3QucGF0Y2ggYi8wMDE5LWNvbmZpZy1VSS1yZWFkLWds YWRlLWZyb20tYS1sb2NhbC1maWxlLWZpcnN0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCA0MzgxNzQ0Li4wMDAwMDAwCi0tLSBhLzAwMTktY29uZmlnLVVJLXJlYWQtZ2xhZGUt ZnJvbS1hLWxvY2FsLWZpbGUtZmlyc3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCww IEBACi1Gcm9tIGViMWU0NWExZTgwNzBiZWU2YmE0NGYzMjVmN2RkMGNhODkwMGRjNzcgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKYWt1YiBGaWxhayA8amZpbGFrQHJlZGhhdC5jb20+ Ci1EYXRlOiBTYXQsIDE2IE1heSAyMDE1IDA2OjQ2OjE3ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hd IGNvbmZpZyBVSTogcmVhZCBnbGFkZSBmcm9tIGEgbG9jYWwgZmlsZSBmaXJzdAotCi1JZiB5b3Ug cmVhZCB0aGUgc3lzdGVtIGZpbGUgZmlyc3QsIHlvdSB3b24ndCBiZSBhYmxlIHRvIHRoZSBhcHBs aWNhdGlvbgotZnJvbSBhIGRldmVsb3BtZW50IGRpcmVjdG9yeS4KLQotU2lnbmVkLW9mZi1ieTog SmFrdWIgRmlsYWsgPGpmaWxha0ByZWRoYXQuY29tPgotLS0tCi0gc3JjL2NvbmZpZ3VyYXRpb24t Z3VpL2FicnQtY29uZmlnLXdpZGdldC5jIHwgOCArKysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA0 IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvY29uZmln dXJhdGlvbi1ndWkvYWJydC1jb25maWctd2lkZ2V0LmMgYi9zcmMvY29uZmlndXJhdGlvbi1ndWkv YWJydC1jb25maWctd2lkZ2V0LmMKLWluZGV4IDY2NDE4MGQuLjJjNzU0MjkgMTAwNjQ0Ci0tLS0g YS9zcmMvY29uZmlndXJhdGlvbi1ndWkvYWJydC1jb25maWctd2lkZ2V0LmMKLSsrKyBiL3NyYy9j b25maWd1cmF0aW9uLWd1aS9hYnJ0LWNvbmZpZy13aWRnZXQuYwotQEAgLTIyMSwxNCArMjIxLDE0 IEBAIGFicnRfY29uZmlnX3dpZGdldF9pbml0KEFicnRDb25maWdXaWRnZXQgKnNlbGYpCi0gICAg IHNlbGYtPnByaXYtPmJ1aWxkZXIgPSBndGtfYnVpbGRlcl9uZXcoKTsKLSAgICAgZ3RrX2J1aWxk ZXJfc2V0X3RyYW5zbGF0aW9uX2RvbWFpbihzZWxmLT5wcml2LT5idWlsZGVyLCBHRVRURVhUX1BB Q0tBR0UpOwotIAotLSAgICBndGtfYnVpbGRlcl9hZGRfZnJvbV9maWxlKHNlbGYtPnByaXYtPmJ1 aWxkZXIsIEFCUlRfVUlfRElSICIvIiBVSV9GSUxFX05BTUUsICZlcnJvcik7Ci0rICAgIGd0a19i dWlsZGVyX2FkZF9mcm9tX2ZpbGUoc2VsZi0+cHJpdi0+YnVpbGRlciwgVUlfRklMRV9OQU1FLCAm ZXJyb3IpOwotICAgICBpZihlcnJvciAhPSBOVUxMKSB7Ci0tICAgICAgICBnX3dhcm5pbmcoIkZh aWxlZCB0byBsb2FkICclcyc6ICVzIiwgQUJSVF9VSV9ESVIgIi8iIFVJX0ZJTEVfTkFNRSwgZXJy b3ItPm1lc3NhZ2UpOwotKyAgICAgICAgbG9nX2RlYnVnKCJGYWlsZWQgdG8gbG9hZCAnJXMnOiAl cyIsIFVJX0ZJTEVfTkFNRSwgZXJyb3ItPm1lc3NhZ2UpOwotICAgICAgICAgZ19lcnJvcl9mcmVl KGVycm9yKTsKLSAgICAgICAgIGVycm9yID0gTlVMTDsKLS0gICAgICAgIGd0a19idWlsZGVyX2Fk ZF9mcm9tX2ZpbGUoc2VsZi0+cHJpdi0+YnVpbGRlciwgVUlfRklMRV9OQU1FLCAmZXJyb3IpOwot KyAgICAgICAgZ3RrX2J1aWxkZXJfYWRkX2Zyb21fZmlsZShzZWxmLT5wcml2LT5idWlsZGVyLCBB QlJUX1VJX0RJUiAiLyIgVUlfRklMRV9OQU1FLCAmZXJyb3IpOwotICAgICAgICAgaWYoZXJyb3Ig IT0gTlVMTCkgewotLSAgICAgICAgICAgIGdfd2FybmluZygiRmFpbGVkIHRvIGxvYWQgJyVzJzog JXMiLCBVSV9GSUxFX05BTUUsIGVycm9yLT5tZXNzYWdlKTsKLSsgICAgICAgICAgICBnX3dhcm5p bmcoIkZhaWxlZCB0byBsb2FkICclcyc6ICVzIiwgQUJSVF9VSV9ESVIgIi8iIFVJX0ZJTEVfTkFN RSwgZXJyb3ItPm1lc3NhZ2UpOwotICAgICAgICAgICAgIGdfZXJyb3JfZnJlZShlcnJvcik7Ci0g ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgfQotLS0gCi0yLjQuMQotCgpkaWZmIC0tZ2l0 IGEvMDAyMC1jb25maWctVUktZW5hYmxlLW9wdGlvbnMtd2l0aG91dC1jb25maWctZmlsZXMucGF0 Y2ggYi8wMDIwLWNvbmZpZy1VSS1lbmFibGUtb3B0aW9ucy13aXRob3V0LWNvbmZpZy1maWxlcy5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWRkODNmZC4uMDAwMDAwMAotLS0g YS8wMDIwLWNvbmZpZy1VSS1lbmFibGUtb3B0aW9ucy13aXRob3V0LWNvbmZpZy1maWxlcy5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLUZyb20gNWQ1NDQwMjhjM2RkM2Y0YWY5 ZDRkYTgzYTRjNTdkMmMwNWMwOTAxNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEph a3ViIEZpbGFrIDxqZmlsYWtAcmVkaGF0LmNvbT4KLURhdGU6IFNhdCwgMTYgTWF5IDIwMTUgMDY6 NTE6MDkgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gY29uZmlnIFVJOiBlbmFibGUgb3B0aW9ucyB3 aXRob3V0IGNvbmZpZyBmaWxlcwotCi1TaWduZWQtb2ZmLWJ5OiBKYWt1YiBGaWxhayA8amZpbGFr QHJlZGhhdC5jb20+Ci0tLS0KLSBzcmMvY29uZmlndXJhdGlvbi1ndWkvYWJydC1jb25maWctd2lk Z2V0LmMgfCAxNCArKysrKysrKysrKystLQotIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25z KCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NvbmZpZ3VyYXRpb24tZ3Vp L2FicnQtY29uZmlnLXdpZGdldC5jIGIvc3JjL2NvbmZpZ3VyYXRpb24tZ3VpL2FicnQtY29uZmln LXdpZGdldC5jCi1pbmRleCAyYzc1NDI5Li44YmZjMjY5IDEwMDY0NAotLS0tIGEvc3JjL2NvbmZp Z3VyYXRpb24tZ3VpL2FicnQtY29uZmlnLXdpZGdldC5jCi0rKysgYi9zcmMvY29uZmlndXJhdGlv bi1ndWkvYWJydC1jb25maWctd2lkZ2V0LmMKLUBAIC0xNzUsMTAgKzE3NSwxMyBAQCBvbl9zd2l0 Y2hfYWN0aXZhdGUoR09iamVjdCAgICAgICAqb2JqZWN0LAotICAgICAgICAgR1BhcmFtU3BlYyAg ICAgKnNwZWMsCi0gICAgICAgICBBYnJ0Q29uZmlnV2lkZ2V0ICpjb25maWcpCi0gewotKyAgICBB YnJ0Q29uZmlnV2lkZ2V0T3B0aW9uICpvcHRpb24gPSBnX29iamVjdF9nZXRfZGF0YShHX09CSkVD VChvYmplY3QpLCAiYWJydC1vcHRpb24iKTsKLSsgICAgaWYgKG9wdGlvbi0+Y29uZmlnID09IE5V TEwpCi0rICAgICAgICByZXR1cm47Ci0rCi0gICAgIGNvbnN0IGdib29sZWFuIHN0YXRlID0gZ3Rr X3N3aXRjaF9nZXRfYWN0aXZlKEdUS19TV0lUQ0gob2JqZWN0KSk7Ci0gICAgIGNvbnN0IGNoYXIg KmNvbnN0IHZhbCA9IHN0YXRlID8gInllcyIgOiAibm8iOwotIAotLSAgICBBYnJ0Q29uZmlnV2lk Z2V0T3B0aW9uICpvcHRpb24gPSBnX29iamVjdF9nZXRfZGF0YShHX09CSkVDVChvYmplY3QpLCAi YWJydC1vcHRpb24iKTsKLSAgICAgbG9nX2RlYnVnKCIlcyA6ICVzIiwgb3B0aW9uLT5uYW1lLCB2 YWwpOwotICAgICBhYnJ0X2FwcF9jb25maWd1cmF0aW9uX3NldF92YWx1ZShvcHRpb24tPmNvbmZp Zywgb3B0aW9uLT5uYW1lLCB2YWwpOwotICAgICBhYnJ0X2FwcF9jb25maWd1cmF0aW9uX3NhdmUo b3B0aW9uLT5jb25maWcpOwotQEAgLTE5MSw3ICsxOTQsMTEgQEAgdXBkYXRlX29wdGlvbl9jdXJy ZW50X3ZhbHVlKEFicnRDb25maWdXaWRnZXQgKnNlbGYsIGVudW0gQWJydE9wdGlvbnMgb3BpZCkK LSAgICAgYXNzZXJ0KChvcGlkID49IF9BQlJUX09QVF9CRUdJTl8gJiYgb3BpZCA8IF9BQlJUX09Q VF9FTkRfKSB8fCAhIk91dCBvZiByYW5nZSBPcHRpb24gSUQgdmFsdWUiKTsKLSAKLSAgICAgQWJy dENvbmZpZ1dpZGdldE9wdGlvbiAqb3B0aW9uID0gJihzZWxmLT5wcml2LT5vcHRpb25zW29waWRd KTsKLS0gICAgY29uc3QgY2hhciAqdmFsID0gYWJydF9hcHBfY29uZmlndXJhdGlvbl9nZXRfdmFs dWUob3B0aW9uLT5jb25maWcsIG9wdGlvbi0+bmFtZSk7Ci0rCi0rICAgIGNvbnN0IGNoYXIgKnZh bCA9IE5VTEw7Ci0rICAgIGlmIChvcHRpb24tPmNvbmZpZyAhPSBOVUxMKQotKyAgICAgICAgdmFs ID0gYWJydF9hcHBfY29uZmlndXJhdGlvbl9nZXRfdmFsdWUob3B0aW9uLT5jb25maWcsIG9wdGlv bi0+bmFtZSk7Ci0rCi0gICAgIG9wdGlvbi0+Y3VycmVudF92YWx1ZSA9IHZhbCA/IHN0cmluZ190 b19ib29sKHZhbCkgOiBvcHRpb24tPmRlZmF1bHRfdmFsdWU7Ci0gfQotIAotQEAgLTIwOSw2ICsy MTYsOSBAQCBjb25uZWN0X3N3aXRjaF93aXRoX29wdGlvbihBYnJ0Q29uZmlnV2lkZ2V0ICpzZWxm LCBlbnVtIEFicnRPcHRpb25zIG9waWQsIGNvbnN0Ci0gICAgIGdfb2JqZWN0X3NldF9kYXRhKEdf T0JKRUNUKGdzdyksICJhYnJ0LW9wdGlvbiIsIG9wdGlvbik7Ci0gICAgIGdfc2lnbmFsX2Nvbm5l Y3QoR19PQkpFQ1QoZ3N3KSwgIm5vdGlmeTo6YWN0aXZlIiwKLSAgICAgICAgICAgICBHX0NBTExC QUNLKG9uX3N3aXRjaF9hY3RpdmF0ZSksIHNlbGYpOwotKwotKyAgICBpZiAob3B0aW9uLT5jb25m aWcgPT0gTlVMTCkKLSsgICAgICAgIGd0a193aWRnZXRfc2V0X3NlbnNpdGl2ZShHVEtfV0lER0VU KGdzdyksIEZBTFNFKTsKLSB9Ci0gCi0gc3RhdGljIHZvaWQKLS0tIAotMi40LjEKLQoKZGlmZiAt LWdpdCBhLzAwMjEtY29uZmlnLVVJLUF1dG9tYXRpYy1yZXBvcnRpbmctZnJvbS1HU2V0dGluZ3Mu cGF0Y2ggYi8wMDIxLWNvbmZpZy1VSS1BdXRvbWF0aWMtcmVwb3J0aW5nLWZyb20tR1NldHRpbmdz LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOWE4YWJkLi4wMDAwMDAwCi0t LSBhLzAwMjEtY29uZmlnLVVJLUF1dG9tYXRpYy1yZXBvcnRpbmctZnJvbS1HU2V0dGluZ3MucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MDIgKzAsMCBAQAotRnJvbSBhYmRlZGFmZDNhNTMwYWQ0 YmFhOTkyMDEwYTNjZmM4NzY0NWQ5OGQxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTog SmFrdWIgRmlsYWsgPGpmaWxha0ByZWRoYXQuY29tPgotRGF0ZTogU2F0LCAxNiBNYXkgMjAxNSAw Njo1MTozNyArMDIwMAotU3ViamVjdDogW1BBVENIXSBjb25maWcgVUk6IEF1dG9tYXRpYyByZXBv cnRpbmcgZnJvbSBHU2V0dGluZ3MKLQotSWYgUHJpdmFjeSBwYW5lbHMgZXhpc3RzOgotICBNYWtl IHRoZSB3aWRnZXQgaW5zZW5zaXRpdmUgYmVjYXVzZSB0aGUgdXNlciBjYW4gb25seSByZWFkIGl0 cyB2YWx1ZS4KLSAgQWRkIGEgYnV0dG9uIGxhdW5jaGluZyBQcml2YWN5IHBhbmVsLgotRWxzZToK LSAgUmVhZC93cml0ZSB0aGUgR1NldHRpbmdzIGFuZCBzaG93IGEgd2FybmluZyBhYm91dCBtb2Rp ZnlpbmcgdGhlCi0gIEdTZXR0aW5ncy4KLQotU2lnbmVkLW9mZi1ieTogSmFrdWIgRmlsYWsgPGpm aWxha0ByZWRoYXQuY29tPgotLS0tCi0gcG8vUE9URklMRVMuaW4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgMSArCi0gc3JjL2NvbmZpZ3VyYXRpb24tZ3VpL2FicnQtY29uZmln LXdpZGdldC5jICAgICB8IDIwMSArKysrKysrKysrKysrKysrKysrKysrKy0tCi0gc3JjL2NvbmZp Z3VyYXRpb24tZ3VpL2FicnQtY29uZmlnLXdpZGdldC5nbGFkZSB8ICA4MiArKysrLS0tLS0tCi0g MyBmaWxlcyBjaGFuZ2VkLCAyMTcgaW5zZXJ0aW9ucygrKSwgNjcgZGVsZXRpb25zKC0pCi0KLWRp ZmYgLS1naXQgYS9wby9QT1RGSUxFUy5pbiBiL3BvL1BPVEZJTEVTLmluCi1pbmRleCAwZGExMzk2 Li44YzMxNDM4IDEwMDY0NAotLS0tIGEvcG8vUE9URklMRVMuaW4KLSsrKyBiL3BvL1BPVEZJTEVT LmluCi1AQCAtMyw2ICszLDcgQEAKLSAjIFBsZWFzZSBrZWVwIHRoaXMgZmlsZSBzb3J0ZWQgYWxw aGFiZXRpY2FsbHkuCi0gc3JjL2FwcGxldC9hYnJ0LWFwcGxldC5kZXNrdG9wLmluCi0gc3JjL2Fw cGxldC9hcHBsZXQuYwotK3NyYy9jb25maWd1cmF0aW9uLWd1aS9hYnJ0LWNvbmZpZy13aWRnZXQu YwotIHNyYy9jb25maWd1cmF0aW9uLWd1aS9hYnJ0LWNvbmZpZy13aWRnZXQuZ2xhZGUKLSBzcmMv Y29uZmlndXJhdGlvbi1ndWkvc3lzdGVtLWNvbmZpZy1hYnJ0LmMKLSBzcmMvY29uZmlndXJhdGlv bi1ndWkvbWFpbi5jCi1kaWZmIC0tZ2l0IGEvc3JjL2NvbmZpZ3VyYXRpb24tZ3VpL2FicnQtY29u ZmlnLXdpZGdldC5jIGIvc3JjL2NvbmZpZ3VyYXRpb24tZ3VpL2FicnQtY29uZmlnLXdpZGdldC5j Ci1pbmRleCA4YmZjMjY5Li5jOWIwYjAyIDEwMDY0NAotLS0tIGEvc3JjL2NvbmZpZ3VyYXRpb24t Z3VpL2FicnQtY29uZmlnLXdpZGdldC5jCi0rKysgYi9zcmMvY29uZmlndXJhdGlvbi1ndWkvYWJy dC1jb25maWctd2lkZ2V0LmMKLUBAIC0yMSw2ICsyMSw4IEBACi0gI2VuZGlmCi0gCi0gI2luY2x1 ZGUgImFicnQtY29uZmlnLXdpZGdldC5oIgotKyNpbmNsdWRlIDxzYXR5ci91dGlscy5oPgotKyNp bmNsdWRlIDxnaW8vZ2Rlc2t0b3BhcHBpbmZvLmg+Ci0gCi0gI2luY2x1ZGUgImxpYmFicnQuaCIK LSAjaW5jbHVkZSA8YXNzZXJ0Lmg+Ci1AQCAtMzIsMTkgKzM0LDM2IEBACi0gCi0gI2RlZmluZSBV SV9GSUxFX05BTUUgImFicnQtY29uZmlnLXdpZGdldC5nbGFkZSIKLSAKLSsvKiBBYnJ0Q29uZmln V2lkZ2V0UHJpdmF0ZToKLSsgKiAgICAgKyBBYnJ0Q29uZmlnV2lkZ2V0T3B0aW9uID09ICJhYnJ0 LW9wdGlvbiIgb2YgR3RrU3dpdGNoCi0rICogICAgICsgQWJydENvbmZpZ1dpZGdldE9wdGlvbiA9 PSAiYWJydC1vcHRpb24iIG9mIEd0a1N3aXRjaAotKyAqICAgICArIC4uLgotKyAqCi0rICogICAg ICsgQWJydEFwcENvbmZpZ3VyYXRpb24gPT0gY29uZmlnIG9mIEFicnRDb25maWdXaWRnZXRPcHRp b24KLSsgKiAgICAgKyBBYnJ0QXBwQ29uZmlndXJhdGlvbiA9PSBjb25maWcgb2YgQWJydENvbmZp Z1dpZGdldE9wdGlvbgotKyAqICAgICArIC4uLgotKyAqLwotKwotKy8qIFRoaXMgc3RydWN0dXJl IHJlcHJlc2VudHMgZWl0aGVyIGFuIEFCUlQgY29uZmlndXJhdGlvbiBmaWxlIG9yIGEgR1NldHRp bmdzCi0rICogc2NoZW1hLgotKyAqLwotIHR5cGVkZWYgc3RydWN0IHsKLS0gICAgY2hhciAqYXBw X25hbWU7Ci0tICAgIG1hcF9zdHJpbmdfdCAqc2V0dGluZ3M7Ci0rICAgIGNoYXIgKmFwcF9uYW1l OyAgICAgICAgICAgICAvLy88IGUuZyBhYnJ0LWFwcGxldCwgb3JnLmdub21lLmRlc2t0b3AucHJp dmFjeQotKyAgICBtYXBfc3RyaW5nX3QgKnNldHRpbmdzOyAgICAgLy8vPCBBQlJUIGNvbmZpZ3Vy YXRpb24gZmlsZQotKyAgICBHU2V0dGluZ3MgKmdsaWJfc2V0dGluZ3M7ICAgLy8vPCBHU2V0dGlu Z3MKLSB9IEFicnRBcHBDb25maWd1cmF0aW9uOwotIAotKy8qIFRoaXMgc3RydWN0dXJlIHJlcHJl c2VudHMgYSBzaW5nbGUgc3dpdGNoLgotKyAqLwotIHR5cGVkZWYgc3RydWN0IHsKLS0gICAgY29u c3QgY2hhciAqbmFtZTsKLSsgICAgY29uc3QgY2hhciAqbmFtZTsgICAgICAgICAgIC8vLzwgZS5n LiBhc2tfc3RlYWxfZGlyLCByZXBvcnQtdGVjaG5pY2FsLXByb2JsZW1zCi0gICAgIEd0a1N3aXRj aCAqd2lkZ2V0OwotICAgICBnYm9vbGVhbiBkZWZhdWx0X3ZhbHVlOwotICAgICBnYm9vbGVhbiBj dXJyZW50X3ZhbHVlOwotICAgICBBYnJ0QXBwQ29uZmlndXJhdGlvbiAqY29uZmlnOwotIH0gQWJy dENvbmZpZ1dpZGdldE9wdGlvbjsKLSAKLSsvKiBFYWNoIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGhh cyBpdHMgb3duIG51bWJlci4gKi8KLSBlbnVtIEFicnRPcHRpb25zCi0gewotICAgICBfQUJSVF9P UFRfQkVHSU5fLAotQEAgLTYwLDExICs3OSwxNSBAQCBlbnVtIEFicnRPcHRpb25zCi0gICAgIF9B QlJUX09QVF9FTkRfLAotIH07Ci0gCi0rLyogVGhpcyBzdHJ1Y3R1cmUgaG9sZHMgcHJpdmF0ZSBk YXRhIG9mIEFicnRDb25maWdXaWRnZXQKLSsgKi8KLSBzdHJ1Y3QgQWJydENvbmZpZ1dpZGdldFBy aXZhdGUgewotICAgICBHdGtCdWlsZGVyICAgKmJ1aWxkZXI7Ci0gICAgIEFicnRBcHBDb25maWd1 cmF0aW9uICpyZXBvcnRfZ3RrX2NvbmY7Ci0gICAgIEFicnRBcHBDb25maWd1cmF0aW9uICphYnJ0 X2FwcGxldF9jb25mOwotKyAgICBBYnJ0QXBwQ29uZmlndXJhdGlvbiAqcHJpdmFjeV9nc2V0dGlu Z3M7Ci0gCi0rICAgIC8qIFN0YXRpYyBhcnJheSBmb3IgYWxsIHN3aXRjaGVzICovCi0gICAgIEFi cnRDb25maWdXaWRnZXRPcHRpb24gb3B0aW9uc1tfQUJSVF9PUFRfRU5EX107Ci0gfTsKLSAKLUBA IC03OSw2ICsxMDIsOCBAQCBzdGF0aWMgZ3VpbnQgc19zaWduYWxzW1NOX0xBU1RfU0lHTkFMXSA9 IHsgMCB9OwotIAotIHN0YXRpYyB2b2lkIGFicnRfY29uZmlnX3dpZGdldF9maW5hbGl6ZShHT2Jq ZWN0ICpvYmplY3QpOwotIAotKy8qIE5ldyBBQlJUIGNvbmZpZ3VyYXRpb24gZmlsZSB3cmFwcGVy Ci0rICovCi0gc3RhdGljIEFicnRBcHBDb25maWd1cmF0aW9uICoKLSBhYnJ0X2FwcF9jb25maWd1 cmF0aW9uX25ldyhjb25zdCBjaGFyICphcHBfbmFtZSkKLSB7Ci1AQCAtODYsNiArMTExLDcgQEAg YWJydF9hcHBfY29uZmlndXJhdGlvbl9uZXcoY29uc3QgY2hhciAqYXBwX25hbWUpCi0gCi0gICAg IGNvbmYtPmFwcF9uYW1lID0geHN0cmR1cChhcHBfbmFtZSk7Ci0gICAgIGNvbmYtPnNldHRpbmdz ID0gbmV3X21hcF9zdHJpbmcoKTsKLSsgICAgY29uZi0+Z2xpYl9zZXR0aW5ncyA9IE5VTEw7Ci0g Ci0gICAgIGlmKCFsb2FkX2FwcF9jb25mX2ZpbGUoY29uZi0+YXBwX25hbWUsIGNvbmYtPnNldHRp bmdzKSkgewotICAgICAgICAgZ193YXJuaW5nKCJGYWlsZWQgdG8gbG9hZCBjb25maWcgZm9yICcl cyciLCBjb25mLT5hcHBfbmFtZSk7Ci1AQCAtOTQsMjIgKzEyMCw1MCBAQCBhYnJ0X2FwcF9jb25m aWd1cmF0aW9uX25ldyhjb25zdCBjaGFyICphcHBfbmFtZSkKLSAgICAgcmV0dXJuIGNvbmY7Ci0g fQotIAotKy8qIE5ldyBHU2V0dGluZ3Mgd3JhcHBlcgotKyAqLwotK3N0YXRpYyBBYnJ0QXBwQ29u ZmlndXJhdGlvbiAqCi0rYWJydF9hcHBfY29uZmlndXJhdGlvbl9uZXdfZ2xpYihjb25zdCBjaGFy ICpzY2hlbWEpCi0rewotKyAgICBBYnJ0QXBwQ29uZmlndXJhdGlvbiAqY29uZiA9IHhtYWxsb2Mo c2l6ZW9mKCpjb25mKSk7Ci0rCi0rICAgIGNvbmYtPmFwcF9uYW1lID0geHN0cmR1cChzY2hlbWEp OwotKyAgICBjb25mLT5zZXR0aW5ncyA9IE5VTEw7Ci0rICAgIGNvbmYtPmdsaWJfc2V0dGluZ3Mg PSBnX3NldHRpbmdzX25ldyhjb25mLT5hcHBfbmFtZSk7Ci0rCi0rICAgIHJldHVybiBjb25mOwot K30KLSsKLSBzdGF0aWMgdm9pZAotIGFicnRfYXBwX2NvbmZpZ3VyYXRpb25fc2V0X3ZhbHVlKEFi cnRBcHBDb25maWd1cmF0aW9uICpjb25mLCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2 YWx1ZSkKLSB7Ci0tICAgIHNldF9hcHBfdXNlcl9zZXR0aW5nKGNvbmYtPnNldHRpbmdzLCBuYW1l LCB2YWx1ZSk7Ci0rICAgIGlmIChjb25mLT5zZXR0aW5ncykKLSsgICAgICAgIHNldF9hcHBfdXNl cl9zZXR0aW5nKGNvbmYtPnNldHRpbmdzLCBuYW1lLCB2YWx1ZSk7Ci0rICAgIGVsc2UgaWYgKGNv bmYtPmdsaWJfc2V0dGluZ3MpCi0rICAgICAgICBnX3NldHRpbmdzX3NldF9ib29sZWFuKGNvbmYt PmdsaWJfc2V0dGluZ3MsIG5hbWUsIHN0cmluZ190b19ib29sKHZhbHVlKSk7Ci0rICAgIGVsc2UK LSsgICAgICAgIGFzc2VydCghIkJVRzogbm90IHByb3Blcmx5IGluaXRpYWxpemVkIEFicnRBcHBD b25maWd1cmF0aW9uIik7Ci0gfQotIAotIHN0YXRpYyBjb25zdCBjaGFyICoKLSBhYnJ0X2FwcF9j b25maWd1cmF0aW9uX2dldF92YWx1ZShBYnJ0QXBwQ29uZmlndXJhdGlvbiAqY29uZiwgY29uc3Qg Y2hhciAqbmFtZSkKLSB7Ci0tICAgIHJldHVybiBnZXRfYXBwX3VzZXJfc2V0dGluZyhjb25mLT5z ZXR0aW5ncywgbmFtZSk7Ci0rICAgIGlmIChjb25mLT5zZXR0aW5ncykKLSsgICAgICAgIHJldHVy biBnZXRfYXBwX3VzZXJfc2V0dGluZyhjb25mLT5zZXR0aW5ncywgbmFtZSk7Ci0rCi0rICAgIGlm IChjb25mLT5nbGliX3NldHRpbmdzKQotKyAgICAgICAgcmV0dXJuIGdfc2V0dGluZ3NfZ2V0X2Jv b2xlYW4oY29uZi0+Z2xpYl9zZXR0aW5ncywgbmFtZSkgPyAieWVzIiA6ICJubyI7Ci0rCi0rICAg IGFzc2VydCghIkJVRzogbm90IHByb3Blcmx5IGluaXRpYWxpemVkIEFicnRBcHBDb25maWd1cmF0 aW9uIik7Ci0gfQotIAotIHN0YXRpYyB2b2lkCi0gYWJydF9hcHBfY29uZmlndXJhdGlvbl9zYXZl KEFicnRBcHBDb25maWd1cmF0aW9uICpjb25mKQotIHsKLS0gICAgc2F2ZV9hcHBfY29uZl9maWxl KGNvbmYtPmFwcF9uYW1lLCBjb25mLT5zZXR0aW5ncyk7Ci0rICAgIGlmIChjb25mLT5zZXR0aW5n cykKLSsgICAgICAgIHNhdmVfYXBwX2NvbmZfZmlsZShjb25mLT5hcHBfbmFtZSwgY29uZi0+c2V0 dGluZ3MpOwotKwotKyAgICAvKiBObyBuZWVkIHRvIHNhdmUgR1NldHRpbmdzIGJlY2F1c2UgY2hh bmdlcyBhcmUgYXBwbGllZCBpbnN0YW50bHkgKi8KLSB9Ci0gCi0gc3RhdGljIHZvaWQKLUBAIC0x MjEsOCArMTc1LDE3IEBAIGFicnRfYXBwX2NvbmZpZ3VyYXRpb25fZnJlZShBYnJ0QXBwQ29uZmln dXJhdGlvbiAqY29uZikKLSAgICAgZnJlZShjb25mLT5hcHBfbmFtZSk7Ci0gICAgIGNvbmYtPmFw cF9uYW1lID0gKHZvaWQgKikweERFQURCRUFGOwotIAotLSAgICBmcmVlX21hcF9zdHJpbmcoY29u Zi0+c2V0dGluZ3MpOwotLSAgICBjb25mLT5zZXR0aW5ncyA9ICh2b2lkICopMHhERUFEQkVBRjsK LSsgICAgaWYgKGNvbmYtPnNldHRpbmdzKQotKyAgICB7Ci0rICAgICAgICBmcmVlX21hcF9zdHJp bmcoY29uZi0+c2V0dGluZ3MpOwotKyAgICAgICAgY29uZi0+c2V0dGluZ3MgPSAodm9pZCAqKTB4 REVBREJFQUY7Ci0rICAgIH0KLSsKLSsgICAgaWYgKGNvbmYtPmdsaWJfc2V0dGluZ3MpCi0rICAg IHsKLSsgICAgICAgIGdfb2JqZWN0X3VucmVmKGNvbmYtPmdsaWJfc2V0dGluZ3MpOwotKyAgICAg ICAgY29uZi0+Z2xpYl9zZXR0aW5ncyA9ICh2b2lkICopMHhERUFEQkVBRjsKLSsgICAgfQotIH0K LSAKLSBzdGF0aWMgdm9pZAotQEAgLTE2MSw2ICsyMjQsOSBAQCBhYnJ0X2NvbmZpZ193aWRnZXRf ZmluYWxpemUoR09iamVjdCAqb2JqZWN0KQotICAgICBhYnJ0X2FwcF9jb25maWd1cmF0aW9uX2Zy ZWUoc2VsZi0+cHJpdi0+YWJydF9hcHBsZXRfY29uZik7Ci0gICAgIHNlbGYtPnByaXYtPmFicnRf YXBwbGV0X2NvbmYgPSBOVUxMOwotIAotKyAgICBhYnJ0X2FwcF9jb25maWd1cmF0aW9uX2ZyZWUo c2VsZi0+cHJpdi0+cHJpdmFjeV9nc2V0dGluZ3MpOwotKyAgICBzZWxmLT5wcml2LT5wcml2YWN5 X2dzZXR0aW5ncyA9IE5VTEw7Ci0rCi0gICAgIEdfT0JKRUNUX0NMQVNTKGFicnRfY29uZmlnX3dp ZGdldF9wYXJlbnRfY2xhc3MpLT5maW5hbGl6ZShvYmplY3QpOwotIH0KLSAKLUBAIC0yMTcsOCAr MjgzLDMxIEBAIGNvbm5lY3Rfc3dpdGNoX3dpdGhfb3B0aW9uKEFicnRDb25maWdXaWRnZXQgKnNl bGYsIGVudW0gQWJydE9wdGlvbnMgb3BpZCwgY29uc3QKLSAgICAgZ19zaWduYWxfY29ubmVjdChH X09CSkVDVChnc3cpLCAibm90aWZ5OjphY3RpdmUiLAotICAgICAgICAgICAgIEdfQ0FMTEJBQ0so b25fc3dpdGNoX2FjdGl2YXRlKSwgc2VsZik7Ci0gCi0tICAgIGlmIChvcHRpb24tPmNvbmZpZyA9 PSBOVUxMKQotLSAgICAgICAgZ3RrX3dpZGdldF9zZXRfc2Vuc2l0aXZlKEdUS19XSURHRVQoZ3N3 KSwgRkFMU0UpOwotKyAgICAvKiBJZiB0aGUgb3B0aW9uIGhhcyBubyBjb25maWcsIG1ha2UgdGhl IGNvcnJlc3BvbmRpbmcgaW5zZW5zaXRpdmUuICovCi0rICAgIGd0a193aWRnZXRfc2V0X3NlbnNp dGl2ZShHVEtfV0lER0VUKGdzdyksIG9wdGlvbi0+Y29uZmlnICE9IE5VTEwpOwotK30KLSsKLStz dGF0aWMgdm9pZAotK3BwX2xhdW5jaGVyX2NsaWNrZWQoR3RrQnV0dG9uICpsYXVuY2hlciwgZ3Bv aW50ZXIgKnVudXNlZF9kYXRhKQotK3sKLSsgICAgR0Rlc2t0b3BBcHBJbmZvICphcHAgPSBnX29i amVjdF9nZXRfZGF0YShHX09CSkVDVChsYXVuY2hlciksICJsYXVuY2hlZC1hcHAiKTsKLSsgICAg R0Vycm9yICplcnIgPSBOVUxMOwotKyAgICBpZiAoIWdfYXBwX2luZm9fbGF1bmNoKEdfQVBQX0lO Rk8oYXBwKSwgTlVMTCwgTlVMTCwgJmVycikpCi0rICAgIHsKLSsgICAgICAgIHBlcnJvcl9tc2co IkNvdWxkIG5vdCBsYXVuY2ggJyVzJzogJXMiLAotKyAgICAgICAgICAgICAgICBnX2Rlc2t0b3Bf YXBwX2luZm9fZ2V0X2ZpbGVuYW1lKEdfREVTS1RPUF9BUFBfSU5GTyAoYXBwKSksCi0rICAgICAg ICAgICAgICAgIGVyci0+bWVzc2FnZSk7Ci0rICAgIH0KLSt9Ci0rCi0rc3RhdGljIHZvaWQKLStv c19yZWxlYXNlX2NhbGxiYWNrKGNoYXIgKmtleSwgY2hhciAqdmFsdWUsIHZvaWQgKmRhdGEpCi0r ewotKyAgICBpZiAoc3RyY21wKGtleSwgIlBSSVZBQ1lfUE9MSUNZIikgPT0gMCkKLSsgICAgICAg ICooY2hhciAqKilkYXRhID0gdmFsdWU7Ci0rICAgIGVsc2UKLSsgICAgICAgIGZyZWUodmFsdWUp OwotKyAgICBmcmVlKGtleSk7Ci0gfQotIAotIHN0YXRpYyB2b2lkCi1AQCAtMjQ5LDYgKzMzOCw3 IEBAIGFicnRfY29uZmlnX3dpZGdldF9pbml0KEFicnRDb25maWdXaWRnZXQgKnNlbGYpCi0gCi0g ICAgIHNlbGYtPnByaXYtPnJlcG9ydF9ndGtfY29uZiA9IGFicnRfYXBwX2NvbmZpZ3VyYXRpb25f bmV3KCJyZXBvcnQtZ3RrIik7Ci0gICAgIHNlbGYtPnByaXYtPmFicnRfYXBwbGV0X2NvbmYgPSBh YnJ0X2FwcF9jb25maWd1cmF0aW9uX25ldygiYWJydC1hcHBsZXQiKTsKLSsgICAgc2VsZi0+cHJp di0+cHJpdmFjeV9nc2V0dGluZ3MgPSBhYnJ0X2FwcF9jb25maWd1cmF0aW9uX25ld19nbGliKCJv cmcuZ25vbWUuZGVza3RvcC5wcml2YWN5Iik7Ci0gCi0gICAgIC8qIEluaXRpYWxpemUgb3B0aW9u cyAqLwotICAgICAvKiByZXBvcnQtZ3RrICovCi1AQCAtMjU5LDE1ICszNDksOTggQEAgYWJydF9j b25maWdfd2lkZ2V0X2luaXQoQWJydENvbmZpZ1dpZGdldCAqc2VsZikKLSAgICAgc2VsZi0+cHJp di0+b3B0aW9uc1tBQlJUX09QVF9VUExPQURfQ09SRURVTVBdLm5hbWUgPSAiYWJydF9hbmFseXpl X3NtYXJ0X2Fza191cGxvYWRfY29yZWR1bXAiOwotICAgICBzZWxmLT5wcml2LT5vcHRpb25zW0FC UlRfT1BUX1VQTE9BRF9DT1JFRFVNUF0uZGVmYXVsdF92YWx1ZSA9IFRSVUU7Ci0gICAgIHNlbGYt PnByaXYtPm9wdGlvbnNbQUJSVF9PUFRfVVBMT0FEX0NPUkVEVU1QXS5jb25maWcgPSBzZWxmLT5w cml2LT5yZXBvcnRfZ3RrX2NvbmY7Ci0tCi0gICAgIHNlbGYtPnByaXYtPm9wdGlvbnNbQUJSVF9P UFRfUFJJVkFURV9USUNLRVRdLm5hbWUgPSBDUkVBVEVfUFJJVkFURV9USUNLRVQ7Ci0gICAgIHNl bGYtPnByaXYtPm9wdGlvbnNbQUJSVF9PUFRfUFJJVkFURV9USUNLRVRdLmRlZmF1bHRfdmFsdWUg PSBGQUxTRTsKLSAgICAgc2VsZi0+cHJpdi0+b3B0aW9uc1tBQlJUX09QVF9QUklWQVRFX1RJQ0tF VF0uY29uZmlnID0gc2VsZi0+cHJpdi0+cmVwb3J0X2d0a19jb25mOwotIAotICAgICAvKiBhYnJ0 LWFwcGxldCAqLwotLSAgICBzZWxmLT5wcml2LT5vcHRpb25zW0FCUlRfT1BUX1NFTkRfVVJFUE9S VF0ubmFtZSA9ICJBdXRvcmVwb3J0aW5nRW5hYmxlZCI7Ci0tICAgIHNlbGYtPnByaXYtPm9wdGlv bnNbQUJSVF9PUFRfU0VORF9VUkVQT1JUXS5kZWZhdWx0X3ZhbHVlID0gZ19zZXR0aW5nc19hdXRv cmVwb3J0aW5nOwotLSAgICBzZWxmLT5wcml2LT5vcHRpb25zW0FCUlRfT1BUX1NFTkRfVVJFUE9S VF0uY29uZmlnID0gc2VsZi0+cHJpdi0+YWJydF9hcHBsZXRfY29uZjsKLSsgICAgc2VsZi0+cHJp di0+b3B0aW9uc1tBQlJUX09QVF9TRU5EX1VSRVBPUlRdLm5hbWUgPSAicmVwb3J0LXRlY2huaWNh bC1wcm9ibGVtcyI7Ci0rICAgIHNlbGYtPnByaXYtPm9wdGlvbnNbQUJSVF9PUFRfU0VORF9VUkVQ T1JUXS5kZWZhdWx0X3ZhbHVlID0KLSsgICAgICAgICAgICBzdHJpbmdfdG9fYm9vbChhYnJ0X2Fw cF9jb25maWd1cmF0aW9uX2dldF92YWx1ZShzZWxmLT5wcml2LT5wcml2YWN5X2dzZXR0aW5ncywK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAicmVwb3J0LXRlY2huaWNhbC1wcm9ibGVtcyIpKTsKLSsgICAgewotKyAgICAgICAgLyog R2V0IHRoZSBjb250YWluZXIgd2lkZ2V0IGZvciB0aGUgbGF1Y2ggYnV0dG9uIGFuZCB3YXJuaW5n cyAqLwotKyAgICAgICAgR3RrV2lkZ2V0ICpoYm94X2F1dG9fcmVwb3J0aW5nID0gV0lEKCJoYm94 X2F1dG9fcmVwb3J0aW5nIik7Ci0rICAgICAgICBhc3NlcnQoaGJveF9hdXRvX3JlcG9ydGluZyk7 Ci0rCi0rICAgICAgICAvKiBCZSBhYmxlIHRvIHVzZSBhbm90aGVyIGRlc2t0b3AgZmlsZSB3aGls ZSBkZWJ1Z2dpbmcgKi8KLSsgICAgICAgIGNvbnN0IGNoYXIgKmdwcF9hcHAgPSBnZXRlbnYoIkFC UlRfUFJJVkFDWV9BUFBfREVTS1RPUCIpOwotKyAgICAgICAgaWYgKGdwcF9hcHAgPT0gTlVMTCkK LSsgICAgICAgICAgICBncHBfYXBwID0gImdub21lLXByaXZhY3ktcGFuZWwuZGVza3RvcCI7Ci0r Ci0rICAgICAgICBHRGVza3RvcEFwcEluZm8gKmFwcCA9IGdfZGVza3RvcF9hcHBfaW5mb19uZXco Z3BwX2FwcCk7Ci0rICAgICAgICBjaGFyICptZXNzYWdlID0gTlVMTDsKLSsgICAgICAgIGNoYXIg Km1hcmt1cCA9IE5VTEw7Ci0rICAgICAgICBpZiAoIWFwcCkKLSsgICAgICAgIHsKLSsgICAgICAg ICAgICAvKiBNYWtlIHRoZSBzd2l0Y2ggZWRpdGFibGUgKi8KLSsgICAgICAgICAgICBzZWxmLT5w cml2LT5vcHRpb25zW0FCUlRfT1BUX1NFTkRfVVJFUE9SVF0uY29uZmlnID0gc2VsZi0+cHJpdi0+ cHJpdmFjeV9nc2V0dGluZ3M7Ci0rCi0rICAgICAgICAgICAgY2hhciAqb3NfcmVsZWFzZSA9IHht YWxsb2Nfb3Blbl9yZWFkX2Nsb3NlKCIvZXRjL29zLXJlbGVhc2UiLCAvKm5vIHNpemUgbGltaXQq L05VTEwpOwotKyAgICAgICAgICAgIGNoYXIgKnByaXZhY3lfcG9saWN5ID0gTlVMTDsKLSsKLSsg ICAgICAgICAgICAvKiBUcnkgdG8gZ2V0IHRoZSB2YWx1ZSBvZiBQUklWQUNZX1BPTElDWSBmcm9t IC9ldGMvb3MtcmVsZWFzZSAqLwotKyAgICAgICAgICAgIHNyX3BhcnNlX29zX3JlbGVhc2Uob3Nf cmVsZWFzZSwgb3NfcmVsZWFzZV9jYWxsYmFjaywgKHZvaWQgKikmcHJpdmFjeV9wb2xpY3kpOwot KwotKyAgICAgICAgICAgIG1lc3NhZ2UgPSB4YXNwcmludGYoXygiVGhlIGNvbmZpZ3VyYXRpb24g b3B0aW9uIGFib3ZlIGhhcyBiZWVuIG1vdmVkIHRvIEdTZXR0aW5ncyBhbmQgIgotKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAidGhlIHN3aXRjaCBpcyBsaW5rZWQgdG8gdGhlIHZh bHVlIG9mIHRoZSBzZXR0aW5nICdyZXBvcnQtdGVjaG5pY2FsLXByb2JsZW1zJyAiCi0rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tIHRoZSBzY2hlbWEgJ29yZy5nbm9tZS5k ZXNrdG9wLnByaXZhY3knLiIpKTsKLSsKLSsgICAgICAgICAgICAvKiBEbyBub3QgYWRkIFByaXZh Y3kgUG9saWN5IGxpbmsgaWYgL2V0Yy9vcy1yZWxlYXNlIGRvZXMgbm90IGNvbnRhaW4gUFJJVkFD WV9QT0xJQ1kgKi8KLSsgICAgICAgICAgICBpZiAocHJpdmFjeV9wb2xpY3kgIT0gTlVMTCkKLSsg ICAgICAgICAgICAgICAgbWFya3VwID0geGFzcHJpbnRmKCI8aT4lczwvaT5cblxuPGEgaHJlZj1c IiVzXCI+UHJpdmFjeSBQb2xpY3k8L2E+IiwgbWVzc2FnZSwgcHJpdmFjeV9wb2xpY3kpOwotKyAg ICAgICAgICAgIGVsc2UKLSsgICAgICAgICAgICAgICAgbWFya3VwID0geGFzcHJpbnRmKCI8aT4l czwvaT4iLCBtZXNzYWdlKTsKLSsKLSsgICAgICAgICAgICBmcmVlKHByaXZhY3lfcG9saWN5KTsK LSsgICAgICAgICAgICBmcmVlKG9zX3JlbGVhc2UpOwotKyAgICAgICAgfQotKyAgICAgICAgZWxz ZQotKyAgICAgICAgewotKyAgICAgICAgICAgIC8qIE1ha2UgdGhlIHN3aXRjaCByZWFkLW9ubHkg Ki8KLSsgICAgICAgICAgICBzZWxmLT5wcml2LT5vcHRpb25zW0FCUlRfT1BUX1NFTkRfVVJFUE9S VF0uY29uZmlnID0gTlVMTDsKLSsKLSsgICAgICAgICAgICBtZXNzYWdlID0geGFzcHJpbnRmKF8o IlRoZSBjb25maWd1cmF0aW9uIG9wdGlvbiBhYm92ZSBjYW4gYmUgY29uZmlndXJlZCBpbiIpKTsK LSsgICAgICAgICAgICBtYXJrdXAgPSB4YXNwcmludGYoIjxpPiVzPC9pPiIsIG1lc3NhZ2UpOwot KwotKyAgICAgICAgICAgIEd0a1dpZGdldCAqbGF1bmNoZXIgPSBndGtfYnV0dG9uX25ld193aXRo X2xhYmVsKGdfYXBwX2luZm9fZ2V0X2Rpc3BsYXlfbmFtZShHX0FQUF9JTkZPKGFwcCkpKTsKLSsK LSsgICAgICAgICAgICAvKiBIZXJlIHdlIGNvdWxkIHBhc3MgdGhlIGxhdW5jaGVyIHRvIHBwX2xh dW5jaGVyX2NsaWNrZWQoKSBhcyB0aGUKLSsgICAgICAgICAgICAgKiA0dGggYXJndW1lbnQgb2Yg Z19zaWduYWxfY29ubmVjdCgpIGJ1dCB3ZSB3b3VsZCBsZWVrIHRoZQotKyAgICAgICAgICAgICAq IGxhdW5jaGVyJ3MgbWVtb3J5LiBUaGVyZWZvcmUgd2UgbmVlZCB0byBmaW5kIGEgd2F5IGhvdyB0 byBmcmVlCi0rICAgICAgICAgICAgICogdGhlIGxhdW5jaGVyIHdoZW4gaXQgaXMgbm90IG5lZWRl ZCBhbnltb3JlLiBHdGtXaWRnZXQgaW5oZXJpdHMKLSsgICAgICAgICAgICAgKiBmcm9tIEdPYmpl Y3Qgd2hpY2ggb2ZmZXJzIGEgZnVuY3Rpb25hbGl0eSBmb3IgYXR0YWNoaW5nIGFuCi0rICAgICAg ICAgICAgICogYXJiaXRyYXJ5IGRhdGEgdG8gaXRzIGluc3RhbmNlcy4gVGhlIGxhc3QgYXJndW1l bnQgaXMgYSBmdW5jdGlvbgotKyAgICAgICAgICAgICAqIGNhbGxlZCB0byBkZXN0cm95IHRoZSBh cmJpcmFydHkgZGF0YSB3aGVuIHRoZSBpbnN0YW5jZSBpcyBiZWluZwotKyAgICAgICAgICAgICAq IGRlc3RvcnllZC4gKi8KLSsgICAgICAgICAgICBnX29iamVjdF9zZXRfZGF0YV9mdWxsKEdfT0JK RUNUKGxhdW5jaGVyKSwgImxhdW5jaGVkLWFwcCIsIGFwcCwgZ19vYmplY3RfdW5yZWYpOwotKyAg ICAgICAgICAgIGdfc2lnbmFsX2Nvbm5lY3QobGF1bmNoZXIsICJjbGlja2VkIiwgR19DQUxMQkFD SyhwcF9sYXVuY2hlcl9jbGlja2VkKSwgTlVMTCk7Ci0rCi0rICAgICAgICAgICAgLyogTWFrZSB0 aGUgbGF1bmNoZXIgYnV0dG9uIG5hcnJvdywgb3RoZXJ3aXNlIGl0IHdvdWxkIGV4cGFuZCB0bwot KyAgICAgICAgICAgICAqIHRoZSB3aWR0aCBvZiB0aGUgd2FybmluaWcuICovCi0rICAgICAgICAg ICAgZ3RrX3dpZGdldF9zZXRfaGV4cGFuZChsYXVuY2hlciwgRkFMU0UpOwotKyAgICAgICAgICAg IGd0a193aWRnZXRfc2V0X3ZleHBhbmQobGF1bmNoZXIsIEZBTFNFKTsKLSsKLSsgICAgICAgICAg ICAvKiBNYWtlIHRoZSBsYXVuY2hlciBidXR0b24gYWxsaWduZWQgb24gY2VudGVyIG9mIHRoZSB3 YXJuaW5nLiAqLwotKyAgICAgICAgICAgIGd0a193aWRnZXRfc2V0X2hhbGlnbihsYXVuY2hlciwg R1RLX0FMSUdOX0NFTlRFUik7Ci0rICAgICAgICAgICAgZ3RrX3dpZGdldF9zZXRfdmFsaWduKGxh dW5jaGVyLCBHVEtfQUxJR05fQ0VOVEVSKTsKLSsKLSsgICAgICAgICAgICBndGtfYm94X3BhY2tf ZW5kKEdUS19CT1goaGJveF9hdXRvX3JlcG9ydGluZyksIGxhdW5jaGVyLCBmYWxzZSwgZmFsc2Us IDApOwotKyAgICAgICAgfQotKwotKwotKyAgICAgICAgR3RrV2lkZ2V0ICpsYmwgPSBndGtfbGFi ZWxfbmV3KG1lc3NhZ2UpOwotKyAgICAgICAgZ3RrX2xhYmVsX3NldF9tYXJrdXAoR1RLX0xBQkVM KGxibCksIG1hcmt1cCk7Ci0rICAgICAgICAvKiBEbyBub3QgZXhwYW5kIHRoZSB3aW5kb3cgYnkg dG9vIGxvbmcgd2FybmluZy4gKi8KLSsgICAgICAgIGd0a19sYWJlbF9zZXRfbGluZV93cmFwKEdU S19MQUJFTChsYmwpLCBUUlVFKTsKLSsgICAgICAgIC8qIExldCB1c2VycyB0byBjb3B5IHRoZSB3 YXJuaW5nLiAqLwotKyAgICAgICAgZ3RrX2xhYmVsX3NldF9zZWxlY3RhYmxlKEdUS19MQUJFTChs YmwpLCBUUlVFKTsKLSsKLSsgICAgICAgIGZyZWUobWFya3VwKTsKLSsgICAgICAgIGZyZWUobWVz c2FnZSk7Ci0rCi0rICAgICAgICBndGtfYm94X3BhY2tfc3RhcnQoR1RLX0JPWChoYm94X2F1dG9f cmVwb3J0aW5nKSwgbGJsLCBmYWxzZSwgZmFsc2UsIDApOwotKyAgICB9Ci0gCi0gICAgIHNlbGYt PnByaXYtPm9wdGlvbnNbQUJSVF9PUFRfU0hPUlRFTkVEX1JFUE9SVElOR10ubmFtZSA9ICJTaG9y dGVuZWRSZXBvcnRpbmciOwotICAgICBzZWxmLT5wcml2LT5vcHRpb25zW0FCUlRfT1BUX1NIT1JU RU5FRF9SRVBPUlRJTkddLmRlZmF1bHRfdmFsdWUgPSBnX3NldHRpbmdzX3Nob3J0ZW5lZHJlcG9y dGluZzsKLWRpZmYgLS1naXQgYS9zcmMvY29uZmlndXJhdGlvbi1ndWkvYWJydC1jb25maWctd2lk Z2V0LmdsYWRlIGIvc3JjL2NvbmZpZ3VyYXRpb24tZ3VpL2FicnQtY29uZmlnLXdpZGdldC5nbGFk ZQotaW5kZXggM2FhNTY2Yy4uN2Y2MTNjNyAxMDA2NDQKLS0tLSBhL3NyYy9jb25maWd1cmF0aW9u LWd1aS9hYnJ0LWNvbmZpZy13aWRnZXQuZ2xhZGUKLSsrKyBiL3NyYy9jb25maWd1cmF0aW9uLWd1 aS9hYnJ0LWNvbmZpZy13aWRnZXQuZ2xhZGUKLUBAIC0xLDYgKzEsNyBAQAotIDw/eG1sIHZlcnNp b249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci0rPCEtLSBHZW5lcmF0ZWQgd2l0aCBnbGFkZSAz LjE4LjMgLS0+Ci0gPGludGVyZmFjZT4KLS0gIDwhLS0gaW50ZXJmYWNlLXJlcXVpcmVzIGd0aysg My4wIC0tPgotKyAgPHJlcXVpcmVzIGxpYj0iZ3RrKyIgdmVyc2lvbj0iMy4wIi8+Ci0gICA8b2Jq ZWN0IGNsYXNzPSJHdGtXaW5kb3ciIGlkPSJ3aW5kb3cxIj4KLSAgICAgPHByb3BlcnR5IG5hbWU9 ImNhbl9mb2N1cyI+RmFsc2U8L3Byb3BlcnR5PgotICAgICA8Y2hpbGQ+Ci1AQCAtMTEsNyArMTIs NiBAQAotICAgICAgICAgPHByb3BlcnR5IG5hbWU9Im1hcmdpbl9yaWdodCI+MTA8L3Byb3BlcnR5 PgotICAgICAgICAgPHByb3BlcnR5IG5hbWU9Im1hcmdpbl90b3AiPjEwPC9wcm9wZXJ0eT4KLSAg ICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJtYXJnaW5fYm90dG9tIj4xMDwvcHJvcGVydHk+Ci0tICAg ICAgICA8cHJvcGVydHkgbmFtZT0icm93X2hvbW9nZW5lb3VzIj5UcnVlPC9wcm9wZXJ0eT4KLSAg ICAgICAgIDxjaGlsZD4KLSAgICAgICAgICAgPG9iamVjdCBjbGFzcz0iR3RrTGFiZWwiIGlkPSJs YWJlbDIiPgotICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5UcnVlPC9wcm9w ZXJ0eT4KLUBAIC0yNiw4ICsyNiw2IEBACi0gICAgICAgICAgIDxwYWNraW5nPgotICAgICAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJsZWZ0X2F0dGFjaCI+MDwvcHJvcGVydHk+Ci0gICAgICAgICAg ICAgPHByb3BlcnR5IG5hbWU9InRvcF9hdHRhY2giPjE8L3Byb3BlcnR5PgotLSAgICAgICAgICAg IDxwcm9wZXJ0eSBuYW1lPSJ3aWR0aCI+MTwvcHJvcGVydHk+Ci0tICAgICAgICAgICAgPHByb3Bl cnR5IG5hbWU9ImhlaWdodCI+MTwvcHJvcGVydHk+Ci0gICAgICAgICAgIDwvcGFja2luZz4KLSAg ICAgICAgIDwvY2hpbGQ+Ci0gICAgICAgICA8Y2hpbGQ+Ci1AQCAtNDQsOCArNDIsNiBAQAotICAg ICAgICAgICA8cGFja2luZz4KLSAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibGVmdF9hdHRh Y2giPjA8L3Byb3BlcnR5PgotICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b3BfYXR0YWNo Ij4zPC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0id2lkdGgiPjE8L3By b3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJoZWlnaHQiPjE8L3Byb3BlcnR5 PgotICAgICAgICAgICA8L3BhY2tpbmc+Ci0gICAgICAgICA8L2NoaWxkPgotICAgICAgICAgPGNo aWxkPgotQEAgLTU5LDggKzU1LDYgQEAKLSAgICAgICAgICAgPHBhY2tpbmc+Ci0gICAgICAgICAg ICAgPHByb3BlcnR5IG5hbWU9ImxlZnRfYXR0YWNoIj4xPC9wcm9wZXJ0eT4KLSAgICAgICAgICAg ICA8cHJvcGVydHkgbmFtZT0idG9wX2F0dGFjaCI+MDwvcHJvcGVydHk+Ci0tICAgICAgICAgICAg PHByb3BlcnR5IG5hbWU9IndpZHRoIj4xPC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJvcGVy dHkgbmFtZT0iaGVpZ2h0Ij4xPC9wcm9wZXJ0eT4KLSAgICAgICAgICAgPC9wYWNraW5nPgotICAg ICAgICAgPC9jaGlsZD4KLSAgICAgICAgIDxjaGlsZD4KLUBAIC03NCwxMyArNjgsMTIgQEAKLSAg ICAgICAgICAgPHBhY2tpbmc+Ci0gICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImxlZnRfYXR0 YWNoIj4xPC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idG9wX2F0dGFj aCI+MTwvcHJvcGVydHk+Ci0tICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9IndpZHRoIj4xPC9w cm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iaGVpZ2h0Ij4xPC9wcm9wZXJ0 eT4KLSAgICAgICAgICAgPC9wYWNraW5nPgotICAgICAgICAgPC9jaGlsZD4KLSAgICAgICAgIDxj aGlsZD4KLSAgICAgICAgICAgPG9iamVjdCBjbGFzcz0iR3RrU3dpdGNoIiBpZD0ic3dpdGNoX3Nl bmRfdXJlcG9ydCI+Ci0gICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InZpc2libGUiPlRydWU8 L3Byb3BlcnR5PgotKyAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJzZW5zaXRpdmUiPkZhbHNl PC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iY2FuX2ZvY3VzIj5UcnVl PC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iaGFsaWduIj5lbmQ8L3By b3BlcnR5PgotICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ2YWxpZ24iPmNlbnRlcjwvcHJv cGVydHk+Ci1AQCAtODksOCArODIsNiBAQAotICAgICAgICAgICA8cGFja2luZz4KLSAgICAgICAg ICAgICA8cHJvcGVydHkgbmFtZT0ibGVmdF9hdHRhY2giPjE8L3Byb3BlcnR5PgotICAgICAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b3BfYXR0YWNoIj4zPC9wcm9wZXJ0eT4KLS0gICAgICAgICAg ICA8cHJvcGVydHkgbmFtZT0id2lkdGgiPjE8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJoZWlnaHQiPjE8L3Byb3BlcnR5PgotICAgICAgICAgICA8L3BhY2tpbmc+Ci0g ICAgICAgICA8L2NoaWxkPgotICAgICAgICAgPGNoaWxkPgotQEAgLTEwNiw5ICs5Nyw3IEBACi0g ICAgICAgICAgIDwvb2JqZWN0PgotICAgICAgICAgICA8cGFja2luZz4KLSAgICAgICAgICAgICA8 cHJvcGVydHkgbmFtZT0ibGVmdF9hdHRhY2giPjA8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxw cm9wZXJ0eSBuYW1lPSJ0b3BfYXR0YWNoIj40PC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJv cGVydHkgbmFtZT0id2lkdGgiPjE8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9wZXJ0eSBu YW1lPSJoZWlnaHQiPjE8L3Byb3BlcnR5PgotKyAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0 b3BfYXR0YWNoIj41PC9wcm9wZXJ0eT4KLSAgICAgICAgICAgPC9wYWNraW5nPgotICAgICAgICAg PC9jaGlsZD4KLSAgICAgICAgIDxjaGlsZD4KLUBAIC0xMjEsOSArMTEwLDcgQEAKLSAgICAgICAg ICAgPC9vYmplY3Q+Ci0gICAgICAgICAgIDxwYWNraW5nPgotICAgICAgICAgICAgIDxwcm9wZXJ0 eSBuYW1lPSJsZWZ0X2F0dGFjaCI+MTwvcHJvcGVydHk+Ci0tICAgICAgICAgICAgPHByb3BlcnR5 IG5hbWU9InRvcF9hdHRhY2giPjQ8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9wZXJ0eSBu YW1lPSJ3aWR0aCI+MTwvcHJvcGVydHk+Ci0tICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9Imhl aWdodCI+MTwvcHJvcGVydHk+Ci0rICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvcF9hdHRh Y2giPjU8L3Byb3BlcnR5PgotICAgICAgICAgICA8L3BhY2tpbmc+Ci0gICAgICAgICA8L2NoaWxk PgotICAgICAgICAgPGNoaWxkPgotQEAgLTEzNiw5ICsxMjMsNyBAQAotICAgICAgICAgICA8L29i amVjdD4KLSAgICAgICAgICAgPHBhY2tpbmc+Ci0gICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9 ImxlZnRfYXR0YWNoIj4xPC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0i dG9wX2F0dGFjaCI+NTwvcHJvcGVydHk+Ci0tICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9Indp ZHRoIj4xPC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iaGVpZ2h0Ij4x PC9wcm9wZXJ0eT4KLSsgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idG9wX2F0dGFjaCI+Njwv cHJvcGVydHk+Ci0gICAgICAgICAgIDwvcGFja2luZz4KLSAgICAgICAgIDwvY2hpbGQ+Ci0gICAg ICAgICA8Y2hpbGQ+Ci1AQCAtMTU0LDkgKzEzOSw3IEBACi0gICAgICAgICAgIDwvb2JqZWN0Pgot ICAgICAgICAgICA8cGFja2luZz4KLSAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibGVmdF9h dHRhY2giPjA8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b3BfYXR0 YWNoIj41PC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0id2lkdGgiPjE8 L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJoZWlnaHQiPjE8L3Byb3Bl cnR5PgotKyAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b3BfYXR0YWNoIj42PC9wcm9wZXJ0 eT4KLSAgICAgICAgICAgPC9wYWNraW5nPgotICAgICAgICAgPC9jaGlsZD4KLSAgICAgICAgIDxj aGlsZD4KLUBAIC0xNzIsOCArMTU1LDYgQEAKLSAgICAgICAgICAgPHBhY2tpbmc+Ci0gICAgICAg ICAgICAgPHByb3BlcnR5IG5hbWU9ImxlZnRfYXR0YWNoIj4yPC9wcm9wZXJ0eT4KLSAgICAgICAg ICAgICA8cHJvcGVydHkgbmFtZT0idG9wX2F0dGFjaCI+MDwvcHJvcGVydHk+Ci0tICAgICAgICAg ICAgPHByb3BlcnR5IG5hbWU9IndpZHRoIj4xPC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJv cGVydHkgbmFtZT0iaGVpZ2h0Ij4xPC9wcm9wZXJ0eT4KLSAgICAgICAgICAgPC9wYWNraW5nPgot ICAgICAgICAgPC9jaGlsZD4KLSAgICAgICAgIDxjaGlsZD4KLUBAIC0xODgsOCArMTY5LDYgQEAK LSAgICAgICAgICAgPHBhY2tpbmc+Ci0gICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImxlZnRf YXR0YWNoIj4yPC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idG9wX2F0 dGFjaCI+MTwvcHJvcGVydHk+Ci0tICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9IndpZHRoIj4x PC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iaGVpZ2h0Ij4xPC9wcm9w ZXJ0eT4KLSAgICAgICAgICAgPC9wYWNraW5nPgotICAgICAgICAgPC9jaGlsZD4KLSAgICAgICAg IDxjaGlsZD4KLUBAIC0yMDQsOCArMTgzLDYgQEAKLSAgICAgICAgICAgPHBhY2tpbmc+Ci0gICAg ICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImxlZnRfYXR0YWNoIj4yPC9wcm9wZXJ0eT4KLSAgICAg ICAgICAgICA8cHJvcGVydHkgbmFtZT0idG9wX2F0dGFjaCI+MzwvcHJvcGVydHk+Ci0tICAgICAg ICAgICAgPHByb3BlcnR5IG5hbWU9IndpZHRoIj4xPC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8 cHJvcGVydHkgbmFtZT0iaGVpZ2h0Ij4xPC9wcm9wZXJ0eT4KLSAgICAgICAgICAgPC9wYWNraW5n PgotICAgICAgICAgPC9jaGlsZD4KLSAgICAgICAgIDxjaGlsZD4KLUBAIC0yMTksOSArMTk2LDcg QEAKLSAgICAgICAgICAgPC9vYmplY3Q+Ci0gICAgICAgICAgIDxwYWNraW5nPgotICAgICAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJsZWZ0X2F0dGFjaCI+MjwvcHJvcGVydHk+Ci0tICAgICAgICAg ICAgPHByb3BlcnR5IG5hbWU9InRvcF9hdHRhY2giPjQ8L3Byb3BlcnR5PgotLSAgICAgICAgICAg IDxwcm9wZXJ0eSBuYW1lPSJ3aWR0aCI+MTwvcHJvcGVydHk+Ci0tICAgICAgICAgICAgPHByb3Bl cnR5IG5hbWU9ImhlaWdodCI+MTwvcHJvcGVydHk+Ci0rICAgICAgICAgICAgPHByb3BlcnR5IG5h bWU9InRvcF9hdHRhY2giPjU8L3Byb3BlcnR5PgotICAgICAgICAgICA8L3BhY2tpbmc+Ci0gICAg ICAgICA8L2NoaWxkPgotICAgICAgICAgPGNoaWxkPgotQEAgLTIzNSw5ICsyMTAsNyBAQAotICAg ICAgICAgICA8L29iamVjdD4KLSAgICAgICAgICAgPHBhY2tpbmc+Ci0gICAgICAgICAgICAgPHBy b3BlcnR5IG5hbWU9ImxlZnRfYXR0YWNoIj4yPC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJv cGVydHkgbmFtZT0idG9wX2F0dGFjaCI+NTwvcHJvcGVydHk+Ci0tICAgICAgICAgICAgPHByb3Bl cnR5IG5hbWU9IndpZHRoIj4xPC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJvcGVydHkgbmFt ZT0iaGVpZ2h0Ij4xPC9wcm9wZXJ0eT4KLSsgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idG9w X2F0dGFjaCI+NjwvcHJvcGVydHk+Ci0gICAgICAgICAgIDwvcGFja2luZz4KLSAgICAgICAgIDwv Y2hpbGQ+Ci0gICAgICAgICA8Y2hpbGQ+Ci1AQCAtMjU0LDggKzIyNyw2IEBACi0gICAgICAgICAg IDxwYWNraW5nPgotICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJsZWZ0X2F0dGFjaCI+MDwv cHJvcGVydHk+Ci0gICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvcF9hdHRhY2giPjA8L3By b3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ3aWR0aCI+MTwvcHJvcGVydHk+ Ci0tICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImhlaWdodCI+MTwvcHJvcGVydHk+Ci0gICAg ICAgICAgIDwvcGFja2luZz4KLSAgICAgICAgIDwvY2hpbGQ+Ci0gICAgICAgICA8Y2hpbGQ+Ci1A QCAtMjcwLDggKzI0MSw2IEBACi0gICAgICAgICAgIDxwYWNraW5nPgotICAgICAgICAgICAgIDxw cm9wZXJ0eSBuYW1lPSJsZWZ0X2F0dGFjaCI+MjwvcHJvcGVydHk+Ci0gICAgICAgICAgICAgPHBy b3BlcnR5IG5hbWU9InRvcF9hdHRhY2giPjI8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJ3aWR0aCI+MTwvcHJvcGVydHk+Ci0tICAgICAgICAgICAgPHByb3BlcnR5IG5h bWU9ImhlaWdodCI+MTwvcHJvcGVydHk+Ci0gICAgICAgICAgIDwvcGFja2luZz4KLSAgICAgICAg IDwvY2hpbGQ+Ci0gICAgICAgICA8Y2hpbGQ+Ci1AQCAtMjg2LDggKzI1NSw2IEBACi0gICAgICAg ICAgIDxwYWNraW5nPgotICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJsZWZ0X2F0dGFjaCI+ MDwvcHJvcGVydHk+Ci0gICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvcF9hdHRhY2giPjI8 L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ3aWR0aCI+MTwvcHJvcGVy dHk+Ci0tICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImhlaWdodCI+MTwvcHJvcGVydHk+Ci0g ICAgICAgICAgIDwvcGFja2luZz4KLSAgICAgICAgIDwvY2hpbGQ+Ci0gICAgICAgICA8Y2hpbGQ+ Ci1AQCAtMzAxLDggKzI2OCw2IEBACi0gICAgICAgICAgIDxwYWNraW5nPgotICAgICAgICAgICAg IDxwcm9wZXJ0eSBuYW1lPSJsZWZ0X2F0dGFjaCI+MTwvcHJvcGVydHk+Ci0gICAgICAgICAgICAg PHByb3BlcnR5IG5hbWU9InRvcF9hdHRhY2giPjI8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxw cm9wZXJ0eSBuYW1lPSJ3aWR0aCI+MTwvcHJvcGVydHk+Ci0tICAgICAgICAgICAgPHByb3BlcnR5 IG5hbWU9ImhlaWdodCI+MTwvcHJvcGVydHk+Ci0gICAgICAgICAgIDwvcGFja2luZz4KLSAgICAg ICAgIDwvY2hpbGQ+Ci0gICAgICAgICA8Y2hpbGQ+Ci1AQCAtMzE2LDkgKzI4MSw3IEBACi0gICAg ICAgICAgIDwvb2JqZWN0PgotICAgICAgICAgICA8cGFja2luZz4KLSAgICAgICAgICAgICA8cHJv cGVydHkgbmFtZT0ibGVmdF9hdHRhY2giPjA8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJ0b3BfYXR0YWNoIj42PC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJvcGVy dHkgbmFtZT0id2lkdGgiPjE8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1l PSJoZWlnaHQiPjE8L3Byb3BlcnR5PgotKyAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b3Bf YXR0YWNoIj43PC9wcm9wZXJ0eT4KLSAgICAgICAgICAgPC9wYWNraW5nPgotICAgICAgICAgPC9j aGlsZD4KLSAgICAgICAgIDxjaGlsZD4KLUBAIC0zMzEsOSArMjk0LDcgQEAKLSAgICAgICAgICAg PC9vYmplY3Q+Ci0gICAgICAgICAgIDxwYWNraW5nPgotICAgICAgICAgICAgIDxwcm9wZXJ0eSBu YW1lPSJsZWZ0X2F0dGFjaCI+MTwvcHJvcGVydHk+Ci0tICAgICAgICAgICAgPHByb3BlcnR5IG5h bWU9InRvcF9hdHRhY2giPjY8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1l PSJ3aWR0aCI+MTwvcHJvcGVydHk+Ci0tICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImhlaWdo dCI+MTwvcHJvcGVydHk+Ci0rICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvcF9hdHRhY2gi Pjc8L3Byb3BlcnR5PgotICAgICAgICAgICA8L3BhY2tpbmc+Ci0gICAgICAgICA8L2NoaWxkPgot ICAgICAgICAgPGNoaWxkPgotQEAgLTM0NywxMSArMzA4LDI2IEBACi0gICAgICAgICAgIDwvb2Jq ZWN0PgotICAgICAgICAgICA8cGFja2luZz4KLSAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0i bGVmdF9hdHRhY2giPjI8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0 b3BfYXR0YWNoIj42PC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0id2lk dGgiPjE8L3Byb3BlcnR5PgotLSAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJoZWlnaHQiPjE8 L3Byb3BlcnR5PgotKyAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b3BfYXR0YWNoIj43PC9w cm9wZXJ0eT4KLSAgICAgICAgICAgPC9wYWNraW5nPgotICAgICAgICAgPC9jaGlsZD4KLSsgICAg ICAgIDxjaGlsZD4KLSsgICAgICAgICAgPG9iamVjdCBjbGFzcz0iR3RrQm94IiBpZD0iaGJveF9h dXRvX3JlcG9ydGluZyI+Ci0rICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InZpc2libGUiPlRy dWU8L3Byb3BlcnR5PgotKyAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJjYW5fZm9jdXMiPkZh bHNlPC9wcm9wZXJ0eT4KLSsgICAgICAgICAgICA8Y2hpbGQ+Ci0rICAgICAgICAgICAgICA8cGxh Y2Vob2xkZXIvPgotKyAgICAgICAgICAgIDwvY2hpbGQ+Ci0rICAgICAgICAgIDwvb2JqZWN0Pgot KyAgICAgICAgICA8cGFja2luZz4KLSsgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibGVmdF9h dHRhY2giPjA8L3Byb3BlcnR5PgotKyAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b3BfYXR0 YWNoIj40PC9wcm9wZXJ0eT4KLSsgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0id2lkdGgiPjI8 L3Byb3BlcnR5PgotKyAgICAgICAgICA8L3BhY2tpbmc+Ci0rICAgICAgICA8L2NoaWxkPgotKyAg ICAgICAgPGNoaWxkPgotKyAgICAgICAgICA8cGxhY2Vob2xkZXIvPgotKyAgICAgICAgPC9jaGls ZD4KLSAgICAgICA8L29iamVjdD4KLSAgICAgPC9jaGlsZD4KLSAgIDwvb2JqZWN0PgotLS0gCi0y LjQuMQotCgpkaWZmIC0tZ2l0IGEvYWJydC5zcGVjIGIvYWJydC5zcGVjCmluZGV4IDAxMTAxM2Eu LjczODA1YTUgMTAwNjQ0Ci0tLSBhL2FicnQuc3BlYworKysgYi9hYnJ0LnNwZWMKQEAgLTIxLDYg KzIxLDkgQEAKICAgICAlZW5kaWYKICVlbmRpZgogCisjIGJ1aWxkIGFicnQtYXRvbWljIHN1YnBh Y2thZ2UKKyViY29uZF93aXRob3V0IGF0b21pYworCiAlaWZhcmNoIGFhcmNoNjQKICVkZWZpbmUg aGF2ZV9rZXhlY190b29scyAwCiAlZWxzZQpAQCAtNDAsMTMgKzQzLDEzIEBACiAgICAgJWRlZmlu ZSBkb2NkaXJ2ZXJzaW9uIC0le3ZlcnNpb259CiAlZW5kaWYKIAotJWRlZmluZSBsaWJyZXBvcnRf dmVyIDIuNS4xCi0lZGVmaW5lIHNhdHlyX3ZlciAwLjE2CislZGVmaW5lIGxpYnJlcG9ydF92ZXIg Mi42LjAKKyVkZWZpbmUgc2F0eXJfdmVyIDAuMTgKIAogU3VtbWFyeTogQXV0b21hdGljIGJ1ZyBk ZXRlY3Rpb24gYW5kIHJlcG9ydGluZyB0b29sCiBOYW1lOiBhYnJ0Ci1WZXJzaW9uOiAyLjUuMQot UmVsZWFzZTogMyV7P2Rpc3R9CitWZXJzaW9uOiAyLjYuMAorUmVsZWFzZTogMSV7P2Rpc3R9CiBM aWNlbnNlOiBHUEx2MisKIEdyb3VwOiBBcHBsaWNhdGlvbnMvU3lzdGVtCiBVUkw6IGh0dHBzOi8v Z2l0aHViLmNvbS9hYnJ0L2FicnQvd2lraS9BQlJULVByb2plY3QKQEAgLTU2LDI4ICs1OSw2IEBA IFBhdGNoMDogZGlzYWJsZS1PcGVuR1BHQ2hlY2staW4tRmVkb3JhLVJhd2hpZGUucGF0Y2gKIAog IyBnaXQgZm9ybWF0LXBhdGNoICUle1ZlcnNpb259IC0tdG9wby1vcmRlciAtTiAtTTsKICMgaT0x OyBmb3IgcCBpbiBgbHMgMCoucGF0Y2hgOyBkbyBwcmludGYgIlBhdGNoJTA0ZDogJXNcbiIgJGkg JHA7ICgoaSsrKSk7IGRvbmUKLSNQYXRjaDAwMDE6IDAwMDEtdGVzdHN1aXRlLWdyYWItYmVha2Vy bGliLXN0b3JlZC1sb2ctZmlsZXMtZnJvbS12YXItdC5wYXRjaAotI1BhdGNoMDAwMjogMDAwMi10 ZXN0c3VpdGUtYWRkLXRoZS1tYWNoaW5laWQtdGVzdC1jYXNlLXRvLXJoZWw2LnBhdGNoCi0jUGF0 Y2gwMDAzOiAwMDAzLXRlc3RzdWl0ZS1hZGQtdGVzdC1mb3ItYWJydC1jbGktcmVwb3J0LXZpYS1y ZXBvcnRlci0ucGF0Y2gKLVBhdGNoMDAwNDogMDAwNC1hcHBsZXQtc3dpdGNoLXRvLUQtQnVzLW1l dGhvZHMucGF0Y2gKLVBhdGNoMDAwNTogMDAwNS1saWItYWRkLW5ldy1rZXJuZWwtdGFpbnQtZmxh Z3MucGF0Y2gKLVBhdGNoMDAwNjogMDAwNi11cGxvYWQtdmFsaWRhdGUtYW5kLXNhbml0aXplLXVw bG9hZGVkLWR1bXAtZGlyZWN0b3JpLnBhdGNoCi0jUGF0Y2gwMDA3OiAwMDA3LXRlc3RzdWl0ZS1k b24tdC1ydW4td2hvbGUtdGVzdC1pZi1yZXBvcnRlci1tYW50aXNidC0ucGF0Y2gKLVBhdGNoMDAw ODogMDAwOC1hLWEtcy1wLWQtYWRkLW5ldy1rbm93bi1pbnRlcnByZXRlci10by1jb25mLWZpbGUu cGF0Y2gKLSNQYXRjaDAwMDk6IDAwMDktYWJydC1kZXRlY3QtRHVtcExvY2F0aW9uLWZyb20tYWJy dC5jb25mLWluc3RlYWQtb2YtdS5wYXRjaAotUGF0Y2gwMDEwOiAwMDEwLWFwcGxldC1maXgtcHJv YmxlbS1pbmZvLWRvdWJsZS1mcmVlLnBhdGNoCi1QYXRjaDAwMTE6IDAwMTEtY2xpLWRvLW5vdC1l eGl0LXdpdGgtc2VnZmF1bHQtaWYtZGJ1cy1mYWlscy5wYXRjaAotI1BhdGNoMDAxMjogMDAxMi1z cGVjLWFkZC1hLWRlcGVuZGVuY3ktb24tYWJydC1kYnVzLXRvLWFicnQtY2xpLnBhdGNoCi1QYXRj aDAwMTM6IDAwMTMtYWJydC1hdXRvLXJlcG9ydGluZy1yZXF1aXJlLXJodHN1cHBvcnQuY29uZi1m aWxlLW9ubC5wYXRjaAotI1BhdGNoMDAxNDogMDAxNC1zcGVjLWFkZC1BVVRIRU5USUNBVEVEX0FV VE9SRVBPUlRJTkctY29uZGl0aW9uYWwucGF0Y2gKLVBhdGNoMDAxNTogMDAxNS1hYnJ0LWFjdGlv bi1saXN0LWRzb3MtZG8tbm90LWRlY29kZS1ub3QtZXhpc3Rpbmctb2JqLnBhdGNoCi1QYXRjaDAw MTY6IDAwMTYtZG9jLXBvbGtpdC1TcGVsbGluZy1ncmFtbWFyLWZpeGVzLnBhdGNoCi0jUGF0Y2gw MDE3OiAwMDE3LXRlc3RzdWl0ZS1hZGQtbmV3LXZlcnNpb24tb2YtcHl0aG9uLWludGVycHJldGVy cy5wYXRjaAotUGF0Y2gwMDE4OiAwMDE4LWFwcGxldC1taWdyYXRlLUF1dG9yZXBvcnRpbmctb3B0 aW9ucy10by1HU2V0dGluZ3MucGF0Y2gKLVBhdGNoMDAxOTogMDAxOS1jb25maWctVUktcmVhZC1n bGFkZS1mcm9tLWEtbG9jYWwtZmlsZS1maXJzdC5wYXRjaAotUGF0Y2gwMDIwOiAwMDIwLWNvbmZp Zy1VSS1lbmFibGUtb3B0aW9ucy13aXRob3V0LWNvbmZpZy1maWxlcy5wYXRjaAotUGF0Y2gwMDIx OiAwMDIxLWNvbmZpZy1VSS1BdXRvbWF0aWMtcmVwb3J0aW5nLWZyb20tR1NldHRpbmdzLnBhdGNo Ci0jUGF0Y2gwMDIyOiAwMDIyLXRlc3RzdWl0ZS10ZXN0LXNhZmVuZXNzLW9mLWNyZWF0aW5nLXVz ZXItY29yZXMucGF0Y2gKIAogIyAnJSVhdXRvc2V0dXAgLVMgZ2l0JyAtPiBnaXQKIEJ1aWxkUmVx dWlyZXM6IGdpdApAQCAtMTA0LDYgKzg1LDcgQEAgQnVpbGRSZXF1aXJlczogc2F0eXItZGV2ZWwg Pj0gJXtzYXR5cl92ZXJ9CiBCdWlsZFJlcXVpcmVzOiBzeXN0ZW1kLXB5dGhvbgogQnVpbGRSZXF1 aXJlczogc3lzdGVtZC1weXRob24zCiBCdWlsZFJlcXVpcmVzOiBhdWdlYXMKK0J1aWxkUmVxdWly ZXM6IGxpYnNlbGludXgtZGV2ZWwKIAogUmVxdWlyZXM6IGxpYnJlcG9ydCA+PSAle2xpYnJlcG9y dF92ZXJ9CiBSZXF1aXJlczogc2F0eXIgPj0gJXtzYXR5cl92ZXJ9CkBAIC0zOTEsMTEgKzM3Mywx MyBAQCBQcm92aWRlczogYnVnLWJ1ZGR5ID0gMi4yOC4wCiBWaXJ0dWFsIHBhY2thZ2UgdG8gaW5z dGFsbCBhbGwgbmVjZXNzYXJ5IHBhY2thZ2VzIGZvciB1c2FnZSBmcm9tIGRlc2t0b3AKIGVudmly b25tZW50LgogCislaWYgJXt3aXRoIGF0b21pY30KICVwYWNrYWdlIGF0b21pYwogU3VtbWFyeTog UGFja2FnZSB0byBtYWtlIGVhc3kgZGVmYXVsdCBpbnN0YWxsYXRpb24gb24gQXRvbWljIGhvc3Rz CiBHcm91cDogQXBwbGljYXRpb25zL1N5c3RlbQogUmVxdWlyZXM6ICV7bmFtZX0tYWRkb24tY29y ZWR1bXAtaGVscGVyID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9CiBDb25mbGljdHM6ICV7bmFtZX0t YWRkb24tY2NwcAorJWVuZGlmCiAKICVkZXNjcmlwdGlvbiBhdG9taWMKIFBhY2thZ2UgdG8gaW5z dGFsbCBhbGwgbmVjZXNzYXJ5IHBhY2thZ2VzIGZvciB1c2FnZSBmcm9tIEF0b21pYwpAQCAtNDE4 LDYgKzQwMiw3IEBAIFN1bW1hcnk6IEFCUlQgUHl0aG9uIEFQSQogR3JvdXA6IFN5c3RlbSBFbnZp cm9ubWVudC9MaWJyYXJpZXMKIFJlcXVpcmVzOiAle25hbWV9ID0gJXt2ZXJzaW9ufS0le3JlbGVh c2V9CiBSZXF1aXJlczogJXtuYW1lfS1saWJzID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9CitSZXF1 aXJlczogJXtuYW1lfS1kYnVzID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9CiBSZXF1aXJlczogcHln b2JqZWN0MgogUmVxdWlyZXM6IGRidXMtcHl0aG9uCiBSZXF1aXJlczogbGlicmVwb3J0LXB5dGhv bgpAQCAtNDQ1LDYgKzQzMCw3IEBAIFN1bW1hcnk6IEFCUlQgUHl0aG9uIDMgQVBJCiBHcm91cDog U3lzdGVtIEVudmlyb25tZW50L0xpYnJhcmllcwogUmVxdWlyZXM6ICV7bmFtZX0gPSAle3ZlcnNp b259LSV7cmVsZWFzZX0KIFJlcXVpcmVzOiAle25hbWV9LWxpYnMgPSAle3ZlcnNpb259LSV7cmVs ZWFzZX0KK1JlcXVpcmVzOiAle25hbWV9LWRidXMgPSAle3ZlcnNpb259LSV7cmVsZWFzZX0KIFJl cXVpcmVzOiBweWdvYmplY3QzCiBSZXF1aXJlczogcHl0aG9uMy1kYnVzCiBSZXF1aXJlczogbGli cmVwb3J0LXB5dGhvbjMKQEAgLTQ5Myw2ICs0NzksOSBAQCBDRkxBR1M9IiV7b3B0ZmxhZ3N9IC1X ZXJyb3IiICVjb25maWd1cmUgLS1lbmFibGUtZG94eWdlbi1kb2NzIFwKICVpZm5hcmNoIGFybSBh cm1oZnAgYXJtdjdobCBhcm12N2wgYWFyY2g2NAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC0tZW5hYmxlLW5hdGl2ZS11bndpbmRlciBcCiAlZW5kaWYKKyVpZiAle3dp dGhvdXQgYXRvbWljfQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0t d2l0aG91dC1hdG9taWMgXAorJWVuZGlmCiAlaWYgJXs/aGF2ZV9rZXhlY190b29sc30gPT0gMAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1hZGRvbi12 bWNvcmUgXAogJWVuZGlmCkBAIC01MjAsNyArNTA5LDcgQEAgZmluZCAkUlBNX0JVSUxEX1JPT1Qg LW5hbWUgJyoubGEnIC1vciAtbmFtZSAnKi5hJyB8IHhhcmdzIHJtIC1mCiBta2RpciAtcCAke1JQ TV9CVUlMRF9ST09UfS8le19pbml0cmRkaXJ9CiBta2RpciAtcCAkUlBNX0JVSUxEX1JPT1QvdmFy L2NhY2hlL2FicnQtZGkKIG1rZGlyIC1wICRSUE1fQlVJTERfUk9PVC92YXIvcnVuL2FicnQKLW1r ZGlyIC1wICRSUE1fQlVJTERfUk9PVC92YXIvdG1wL2FicnQKK21rZGlyIC1wICRSUE1fQlVJTERf Uk9PVC92YXIvc3Bvb2wvYWJydAogbWtkaXIgLXAgJFJQTV9CVUlMRF9ST09UL3Zhci9zcG9vbC9h YnJ0LXVwbG9hZAogbWtkaXIgLXAgJFJQTV9CVUlMRF9ST09UJXtfbG9jYWxzdGF0ZWRpcn0vbGli L2FicnQKIApAQCAtNjI3LDYgKzYxNiw3IEBAIGNob3duIC1SIGFicnQ6YWJydCAle19sb2NhbHN0 YXRlZGlyfS9jYWNoZS9hYnJ0LWRpCiAjIHVwZGF0ZSBpY29uIGNhY2hlCiB0b3VjaCAtLW5vLWNy ZWF0ZSAle19kYXRhZGlyfS9pY29ucy9oaWNvbG9yICY+L2Rldi9udWxsIHx8IDoKIAorJWlmICV7 d2l0aCBhdG9taWN9CiAlcG9zdCBhdG9taWMKIGlmIFsgLWYgL2V0Yy9hYnJ0L3BsdWdpbnMvQ0Nw cC5jb25mIF07IHRoZW4KICAgICBtdiAvZXRjL2FicnQvcGx1Z2lucy9DQ3BwLmNvbmYgL2V0Yy9h YnJ0L3BsdWdpbnMvQ0NwcC5jb25mLnJwbXNhdmUuYXRvbWljIHx8IGV4aXQgMTsKQEAgLTY1NCw2 ICs2NDQsNyBAQCBmaQogCiAlcG9zdHVuIGF0b21pYwogJXN5c3RlbWRfcG9zdHVuX3dpdGhfcmVz dGFydCBhYnJ0LWNvcmVkdW1wLWhlbHBlci5zZXJ2aWNlCislZW5kaWYKIAogJXBvc3QgbGlicyAt cCAvc2Jpbi9sZGNvbmZpZwogCkBAIC03MDAsNiArNjkxLDExIEBAIHNlcnZpY2UgYWJydC11cGxv YWQtd2F0Y2ggY29uZHJlc3RhcnQgPi9kZXYvbnVsbCAyPiYxIHx8IDoKICVwb3N0dHJhbnMgZ3Vp CiBndGstdXBkYXRlLWljb24tY2FjaGUgJXtfZGF0YWRpcn0vaWNvbnMvaGljb2xvciAmPi9kZXYv bnVsbCB8fCA6CiAKKyVwb3N0dHJhbnMgZGJ1cworIyBGb3JjZSBhYnJ0LWRidXMgdG8gcmVzdGFy dCBsaWtlIHdlIGRvIHdpdGggdGhlIG90aGVyIHNlcnZpY2VzCitraWxsYWxsIGFicnQtZGJ1cyA+ L2Rldi9udWxsIDI+JjEgfHwgOgorCisKICVmaWxlcyAtZiAle25hbWV9LmxhbmcKICVkZWZhdHRy KC0scm9vdCxyb290LC0pCiAlZG9jIFJFQURNRSBDT1BZSU5HCkBAIC03MzYsNyArNzMyLDcgQEAg Z3RrLXVwZGF0ZS1pY29uLWNhY2hlICV7X2RhdGFkaXJ9L2ljb25zL2hpY29sb3IgJj4vZGV2L251 bGwgfHwgOgogJXtfbWFuZGlyfS9tYW41L2FicnRfZXZlbnQuY29uZi41Lmd6CiAlY29uZmlnKG5v cmVwbGFjZSkgJXtfc3lzY29uZmRpcn0vbGlicmVwb3J0L2V2ZW50cy5kL3NtYXJ0X2V2ZW50LmNv bmYKICV7X21hbmRpcn0vbWFuNS9zbWFydF9ldmVudC5jb25mLjUuZ3oKLSVkaXIgJWF0dHIoMDc1 MSwgYWJydCwgYWJydCkgJXtfbG9jYWxzdGF0ZWRpcn0vdG1wLyV7bmFtZX0KKyVkaXIgJWF0dHIo MDc1MSwgYWJydCwgYWJydCkgJXtfbG9jYWxzdGF0ZWRpcn0vc3Bvb2wvJXtuYW1lfQogJWRpciAl YXR0cigwNzAwLCBhYnJ0LCBhYnJ0KSAle19sb2NhbHN0YXRlZGlyfS9zcG9vbC8le25hbWV9LXVw bG9hZAogIyBhYnJ0ZCBydW5zIGFzIHJvb3QKICVkaXIgJWF0dHIoMDc1NSwgcm9vdCwgcm9vdCkg JXtfbG9jYWxzdGF0ZWRpcn0vcnVuLyV7bmFtZX0KQEAgLTk4Nyw2ICs5ODMsNyBAQCBndGstdXBk YXRlLWljb24tY2FjaGUgJXtfZGF0YWRpcn0vaWNvbnMvaGljb2xvciAmPi9kZXYvbnVsbCB8fCA6 CiAlZmlsZXMgZGVza3RvcAogJWRlZmF0dHIoLSxyb290LHJvb3QsLSkKIAorJWlmICV7d2l0aCBh dG9taWN9CiAlZmlsZXMgYXRvbWljCiAlZGVmYXR0cigtLHJvb3Qscm9vdCwtKQogJWNvbmZpZyhu b3JlcGxhY2UpICV7X3N5c2NvbmZkaXJ9LyV7bmFtZX0vcGx1Z2lucy9DQ3BwX0F0b21pYy5jb25m CkBAIC05OTYsNiArOTkzLDcgQEAgZ3RrLXVwZGF0ZS1pY29uLWNhY2hlICV7X2RhdGFkaXJ9L2lj b25zL2hpY29sb3IgJj4vZGV2L251bGwgfHwgOgogJXtfYmluZGlyfS9hYnJ0LWFjdGlvbi1zYXZl LXBhY2thZ2UtZGF0YQogJXtfbWFuZGlyfS9tYW4xL2FicnQtYWN0aW9uLXNhdmUtcGFja2FnZS1k YXRhLjEuZ3oKICV7X21hbmRpcn0vbWFuNS9hYnJ0LWFjdGlvbi1zYXZlLXBhY2thZ2UtZGF0YS5j b25mLjUuZ3oKKyVlbmRpZgogCiAlZmlsZXMgcGx1Z2luLWJvZGhpCiAlZGVmYXR0cigtLHJvb3Qs cm9vdCwtKQpAQCAtMTA0NSw4ICsxMDQzLDI0IEBAIGd0ay11cGRhdGUtaWNvbi1jYWNoZSAle19k YXRhZGlyfS9pY29ucy9oaWNvbG9yICY+L2Rldi9udWxsIHx8IDoKICVjb25maWcobm9yZXBsYWNl KSAle19zeXNjb25mZGlyfS9wcm9maWxlLmQvYWJydC1jb25zb2xlLW5vdGlmaWNhdGlvbi5zaAog CiAlY2hhbmdlbG9nCisqIFR1ZSBKdW4gMDkgMjAxNSBKYWt1YiBGaWxhayA8amZpbGFrQHJlZGhh dC5jb20+IDIuNi4wLTEKKy0gbW92ZSB0aGUgZGVmYXVsdCBkdW1wIGxvY2F0aW9uIHRvIC92YXIv c3Bvb2wvYWJydCBmcm9tIC92YXIvdG1wL2FicnQKKy0gaG9va3M6IHVzZSByb290IGZvciBvd25l ciBvZiBhbGwgZHVtcCBkaXJlY3RvcmllcworLSBjY3BwOiBkbyBub3QgdW5saW5rIGZhaWxlZCBh bmQgYmlnIHVzZXIgY29yZXMKKy0gY2NwcDogZG9uJ3Qgc2F2ZSB0aGUgc3lzdGVtIGxvZ3MgYnkg ZGVmYXVsdAorLSBjY3BwOiBzdG9wIHJlYWRpbmcgaHNfZXJyb3IubG9nIGZyb20gL3RtcAorLSBj Y3BwOiBlbXVsYXRlIHNlbGludXggZm9yIGNyZWF0aW9uIG9mIGNvbXBhdCBjb3JlcworLSBrb29w czogZG9uJ3Qgc2F2ZSBkbWVzZyBpZiBrZXJuZWwuZG1lc2dfcmVzdHJpY3Q9MQorLSBkYnVzOiB2 YWxpZGF0ZSBwYXNzZWQgYXJndW1lbnRzCistIHR1cm4gb2ZmIGV4cGxvcmluZyBjcmFzaGVkIHBy b2Nlc3MncyByb290IGRpcmVjdG9yaWVzCistIGFicnQtcHl0aG9uOiBidWcgZml4ZXMgYW5kIGlt cHJvdmVtZW50cworLSBmaXhlcyBmb3IgQ1ZFLTIwMTUtMzMxNSwgQ1ZFLTIwMTUtMzE0MiwgQ1ZF LTIwMTUtMTg2OSwgQ1ZFLTIwMTUtMTg3MAorLSBmaXhlcyBmb3IgQ1ZFLTIwMTUtMzE0NywgQ1ZF LTIwMTUtMzE1MSwgQ1ZFLTIwMTUtMzE1MCwgQ1ZFLTIwMTUtMzE1OQorLSBzcGVjOiBhZGQgYWJy dC1kYnVzIHRvIFJzIG9mIGFicnQtcHl0aG9uIGFuZCBhYnJ0LWNsaQorLSBzcGVjOiByZXN0YXJ0 IGFicnQtZGJ1cyBpbiBwb3N0dHJhbnMKKwogKiBXZWQgTWF5IDIwIDIwMTUgTWF0ZWogSGFicm5h bCA8bWhhYnJuYWxAcmVkaGF0LmNvbT4gMi41LjEtMwotLSBhcHBsZXQ6IHN3aXRjaCB0byBELUJ1 cyBtZXRob2RzCistIGFwcGxldDogZml4IHByb2JsZW0gaW5mbyBkb3VibGUgZnJlZQogLSB1cGxv YWQ6IHZhbGlkYXRlIGFuZCBzYW5pdGl6ZSB1cGxvYWRlZCBkdW1wIGRpcmVjdG9yaWVzCiAtIGFw cGxldDogc3dpdGNoIHRvIEQtQnVzIG1ldGhvZHMKIC0gbGliOiBhZGQgbmV3IGtlcm5lbCB0YWlu dCBmbGFncwoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IGM2MTE2NDEuLjEz Y2FmZWYgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSArMSBAQAotZDI0 YjVmNGU0ODI2YTA4MzJlNmEyMWU2YjA4NjRjMmUgIGFicnQtMi41LjEudGFyLmd6CitiNzY0ZDZh MmExMmFhYWU4Y2JhYjNmYjdmYmUzNzA4OSAgYWJydC0yLjYuMC50YXIuZ3oK