ZGlmZiAtLWdpdCBhL0JVSUxELmduIGIvQlVJTEQuZ24KaW5kZXggYTlkNThhMS4uYmM2ODgwNCAxMDA2NDQKLS0tIGEvQlVJTEQuZ24KKysrIGIvQlVJTEQuZ24KQEAgLTE1Myw3ICsxNTMsNyBAQAogICAgICJ0ZXN0aW5nL2Z4X3N0cmluZ190ZXN0aGVscGVycy5oIiwKICAgICAidGVzdGluZy90ZXN0X3N1cHBvcnQuY3BwIiwKICAgICAidGVzdGluZy90ZXN0X3N1cHBvcnQuaCIsCi0gICAgInRlc3RpbmcvdXRpbHMvcGF0aF9zZXJ2aWNlLmNwcCIsCisgICAgJ3Rlc3RpbmcvdXRpbHMvcGF0aF9zZXJ2aWNlLmNwcCcsCiAgIF0KICAgZGVwcyA9IFsKICAgICAiLy90ZXN0aW5nL2dtb2NrIiwKQEAgLTc0OCw2ICs3NDgsNyBAQAogICAgICJjb3JlL3NyYy9mcGRmYXBpL2ZwZGZfcGFnZS9mcGRmX3BhZ2VfZnVuY19lbWJlZGRlcnRlc3QuY3BwIiwKICAgICAiY29yZS9zcmMvZnBkZmFwaS9mcGRmX3BhcnNlci9mcGRmX3BhcnNlcl9kZWNvZGVfZW1iZWRkZXJ0ZXN0LmNwcCIsCiAgICAgImNvcmUvc3JjL2ZwZGZhcGkvZnBkZl9wYXJzZXIvZnBkZl9wYXJzZXJfcGFyc2VyX2VtYmVkZGVydGVzdC5jcHAiLAorICAgICJjb3JlL3NyYy9mcGRmYXBpL2ZwZGZfcmVuZGVyL2ZwZGZfcmVuZGVyX2xvYWRfaW1hZ2VfZW1iZWRkZXJ0ZXN0LmNwcCIsCiAgICAgImNvcmUvc3JjL2ZwZGZhcGkvZnBkZl9yZW5kZXIvZnBkZl9yZW5kZXJfcGF0dGVybl9lbWJlZGRlcnRlc3QuY3BwIiwKICAgICAiZnBkZnNkay9zcmMvZnBkZl9kYXRhYXZhaWxfZW1iZWRkZXJ0ZXN0LmNwcCIsCiAgICAgImZwZGZzZGsvc3JjL2ZwZGZkb2NfZW1iZWRkZXJ0ZXN0LmNwcCIsCmRpZmYgLS1naXQgYS9jb3JlL3NyYy9mcGRmYXBpL2ZwZGZfcmVuZGVyL2ZwZGZfcmVuZGVyX2xvYWRpbWFnZS5jcHAgYi9jb3JlL3NyYy9mcGRmYXBpL2ZwZGZfcmVuZGVyL2ZwZGZfcmVuZGVyX2xvYWRpbWFnZS5jcHAKaW5kZXggZjZmNDFkOS4uYmRkNWU5YSAxMDA2NDQKLS0tIGEvY29yZS9zcmMvZnBkZmFwaS9mcGRmX3JlbmRlci9mcGRmX3JlbmRlcl9sb2FkaW1hZ2UuY3BwCisrKyBiL2NvcmUvc3JjL2ZwZGZhcGkvZnBkZl9yZW5kZXIvZnBkZl9yZW5kZXJfbG9hZGltYWdlLmNwcApAQCAtMTksNyArMTksOSBAQAogCiBuYW1lc3BhY2UgewogCi11bnNpZ25lZCBpbnQgX0dldEJpdHM4KGNvbnN0IHVpbnQ4X3QqIHBEYXRhLCBpbnQgYml0cG9zLCBpbnQgbmJpdHMpIHsKK3Vuc2lnbmVkIGludCBHZXRCaXRzOChjb25zdCB1aW50OF90KiBwRGF0YSwgdWludDY0X3QgYml0cG9zLCBzaXplX3QgbmJpdHMpIHsKKyAgQVNTRVJUKG5iaXRzID09IDEgfHwgbmJpdHMgPT0gMiB8fCBuYml0cyA9PSA0IHx8IG5iaXRzID09IDggfHwgbmJpdHMgPT0gMTYpOworICBBU1NFUlQoKGJpdHBvcyAmIChuYml0cyAtIDEpKSA9PSAwKTsKICAgdW5zaWduZWQgaW50IGJ5dGUgPSBwRGF0YVtiaXRwb3MgLyA4XTsKICAgaWYgKG5iaXRzID09IDgpIHsKICAgICByZXR1cm4gYnl0ZTsKQEAgLTk5MywxMSArOTk1LDExIEBACiAgICAgICAgICAgaW50IHNyY19iaXRfcG9zID0gMDsKICAgICAgICAgICBpbnQgZGVzdF9ieXRlX3BvcyA9IDA7CiAgICAgICAgICAgZm9yIChpbnQgY29sdW1uID0gMDsgY29sdW1uIDwgbV9XaWR0aDsgY29sdW1uKyspIHsKLSAgICAgICAgICAgIGludCBSID0gX0dldEJpdHM4KHNyY19zY2FuLCBzcmNfYml0X3BvcywgbV9icGMpOworICAgICAgICAgICAgaW50IFIgPSBHZXRCaXRzOChzcmNfc2Nhbiwgc3JjX2JpdF9wb3MsIG1fYnBjKTsKICAgICAgICAgICAgIHNyY19iaXRfcG9zICs9IG1fYnBjOwotICAgICAgICAgICAgaW50IEcgPSBfR2V0Qml0czgoc3JjX3NjYW4sIHNyY19iaXRfcG9zLCBtX2JwYyk7CisgICAgICAgICAgICBpbnQgRyA9IEdldEJpdHM4KHNyY19zY2FuLCBzcmNfYml0X3BvcywgbV9icGMpOwogICAgICAgICAgICAgc3JjX2JpdF9wb3MgKz0gbV9icGM7Ci0gICAgICAgICAgICBpbnQgQiA9IF9HZXRCaXRzOChzcmNfc2Nhbiwgc3JjX2JpdF9wb3MsIG1fYnBjKTsKKyAgICAgICAgICAgIGludCBCID0gR2V0Qml0czgoc3JjX3NjYW4sIHNyY19iaXRfcG9zLCBtX2JwYyk7CiAgICAgICAgICAgICBzcmNfYml0X3BvcyArPSBtX2JwYzsKICAgICAgICAgICAgIFIgPSBOT1JNQUxDT0xPUl9NQVgoUiwgbWF4X2RhdGEpOwogICAgICAgICAgICAgRyA9IE5PUk1BTENPTE9SX01BWChHLCBtYXhfZGF0YSk7CkBAIC0xMDUxLDcgKzEwNTMsNyBAQAogICAgIGludCBkZXN0X2J5dGVfcG9zID0gMDsKICAgICBmb3IgKGludCBjb2x1bW4gPSAwOyBjb2x1bW4gPCBtX1dpZHRoOyBjb2x1bW4rKykgewogICAgICAgZm9yIChGWF9EV09SRCBjb2xvciA9IDA7IGNvbG9yIDwgbV9uQ29tcG9uZW50czsgY29sb3IrKykgewotICAgICAgICBpbnQgZGF0YSA9IF9HZXRCaXRzOChzcmNfc2Nhbiwgc3JjX2JpdF9wb3MsIG1fYnBjKTsKKyAgICAgICAgaW50IGRhdGEgPSBHZXRCaXRzOChzcmNfc2Nhbiwgc3JjX2JpdF9wb3MsIG1fYnBjKTsKICAgICAgICAgY29sb3JfdmFsdWVzW2NvbG9yXSA9IG1fcENvbXBEYXRhW2NvbG9yXS5tX0RlY29kZU1pbiArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX3BDb21wRGF0YVtjb2xvcl0ubV9EZWNvZGVTdGVwICogZGF0YTsKICAgICAgICAgc3JjX2JpdF9wb3MgKz0gbV9icGM7CkBAIC0xMTQ2LDcgKzExNDgsNyBAQAogICAgICAgZm9yIChpbnQgY29sID0gMDsgY29sIDwgbV9XaWR0aDsgY29sKyspIHsKICAgICAgICAgaW50IGNvbG9yX2luZGV4ID0gMDsKICAgICAgICAgZm9yIChGWF9EV09SRCBjb2xvciA9IDA7IGNvbG9yIDwgbV9uQ29tcG9uZW50czsgY29sb3IrKykgewotICAgICAgICAgIGludCBkYXRhID0gX0dldEJpdHM4KHBTcmNMaW5lLCBzcmNfYml0X3BvcywgbV9icGMpOworICAgICAgICAgIGludCBkYXRhID0gR2V0Qml0czgocFNyY0xpbmUsIHNyY19iaXRfcG9zLCBtX2JwYyk7CiAgICAgICAgICAgY29sb3JfaW5kZXggfD0gZGF0YSA8PCAoY29sb3IgKiBtX2JwYyk7CiAgICAgICAgICAgc3JjX2JpdF9wb3MgKz0gbV9icGM7CiAgICAgICAgIH0KQEAgLTEzNjgsNyArMTM3MCw3IEBACiAgICAgZm9yIChGWF9EV09SRCBjb2wgPSAwOyBjb2wgPCBzcmNfd2lkdGg7IGNvbCsrKSB7CiAgICAgICBpbnQgY29sb3JfaW5kZXggPSAwOwogICAgICAgZm9yIChGWF9EV09SRCBjb2xvciA9IDA7IGNvbG9yIDwgbV9uQ29tcG9uZW50czsgY29sb3IrKykgewotICAgICAgICBpbnQgZGF0YSA9IF9HZXRCaXRzOChwU3JjTGluZSwgc3JjX2JpdF9wb3MsIG1fYnBjKTsKKyAgICAgICAgaW50IGRhdGEgPSBHZXRCaXRzOChwU3JjTGluZSwgc3JjX2JpdF9wb3MsIG1fYnBjKTsKICAgICAgICAgY29sb3JfaW5kZXggfD0gZGF0YSA8PCAoY29sb3IgKiBtX2JwYyk7CiAgICAgICAgIHNyY19iaXRfcG9zICs9IG1fYnBjOwogICAgICAgfQpAQCAtMTQzMSw1OSArMTQzMyw2NiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNsaXBfd2lkdGgpIGNvbnN0IHsKICAgaW50IGxhc3Rfc3JjX3ggPSAtMTsKICAgRlhfQVJHQiBsYXN0X2FyZ2IgPSBGWEFSR0JfTUFLRSgweEZGLCAweEZGLCAweEZGLCAweEZGKTsKLSAgRlhfRkxPQVQgb3JpZ19Ob3Q4QnBwID0gKEZYX0ZMT0FUKW1fYnBjICogKEZYX0ZMT0FUKW1fbkNvbXBvbmVudHMgLyA4LjBmOwogICBGWF9GTE9BVCB1bml0X1RvOEJwYyA9IDI1NS4wZiAvICgoMSA8PCBtX2JwYykgLSAxKTsKICAgZm9yIChpbnQgaSA9IDA7IGkgPCBjbGlwX3dpZHRoOyBpKyspIHsKICAgICBpbnQgZGVzdF94ID0gY2xpcF9sZWZ0ICsgaTsKICAgICBGWF9EV09SRCBzcmNfeCA9IChiRmxpcFggPyAoZGVzdF93aWR0aCAtIGRlc3RfeCAtIDEpIDogZGVzdF94KSAqCiAgICAgICAgICAgICAgICAgICAgICAoaW50NjRfdClzcmNfd2lkdGggLyBkZXN0X3dpZHRoOwogICAgIHNyY194ICU9IHNyY193aWR0aDsKKworICAgIC8vIE5vIG5lZWQgdG8gY2hlY2sgZm9yIDMyLWJpdCBvdmVyZmxvdywgYXMgfHNyY194fCBpcyBib3VuZGVkIGJ5CisgICAgLy8gfHNyY193aWR0aHwgYW5kIERvd25TYW1wbGVTY2FubGluZSBhbHJlYWR5IGNoZWNrZWQgZm9yIG92ZXJmbG93IHdpdGggdGhlCisgICAgLy8gcGl0Y2ggY2FsY3VsYXRpb24uCiAgICAgY29uc3QgdWludDhfdCogcFNyY1BpeGVsID0gbnVsbHB0cjsKKyAgICBzaXplX3QgYml0X29mZnNldCA9IDA7CiAgICAgaWYgKG1fYnBjICUgOCA9PSAwKSB7CiAgICAgICBwU3JjUGl4ZWwgPSBwU3JjTGluZSArIHNyY194ICogb3JpZ19CcHA7CiAgICAgfSBlbHNlIHsKLSAgICAgIHBTcmNQaXhlbCA9IHBTcmNMaW5lICsgKGludCkoc3JjX3ggKiBvcmlnX05vdDhCcHApOworICAgICAgc2l6ZV90IG51bV9iaXRzID0gc3JjX3ggKiBtX2JwYyAqIG1fbkNvbXBvbmVudHM7CisgICAgICBwU3JjUGl4ZWwgPSBwU3JjTGluZSArIG51bV9iaXRzIC8gODsKKyAgICAgIGJpdF9vZmZzZXQgPSBudW1fYml0cyAlIDg7CiAgICAgfQorCiAgICAgdWludDhfdCogcERlc3RQaXhlbCA9IGRlc3Rfc2NhbiArIGkgKiBkZXN0X0JwcDsKICAgICBGWF9BUkdCIGFyZ2I7CiAgICAgaWYgKHNyY194ID09IGxhc3Rfc3JjX3gpIHsKICAgICAgIGFyZ2IgPSBsYXN0X2FyZ2I7CiAgICAgfSBlbHNlIHsKKyAgICAgIENGWF9GaXhlZEJ1Zkdyb3c8dWludDhfdCwgMTI4PiBleHRyYWN0ZWRfY29tcG9uZW50cyhtX25Db21wb25lbnRzKTsKKyAgICAgIGlmIChtX2JwYyAlIDggIT0gMCkgeworICAgICAgICB1aW50NjRfdCBzcmNfYml0X3BvcyA9IGJpdF9vZmZzZXQ7CisgICAgICAgIGZvciAoRlhfRFdPUkQgaiA9IDA7IGogPCBtX25Db21wb25lbnRzOyArK2opIHsKKyAgICAgICAgICBleHRyYWN0ZWRfY29tcG9uZW50c1tqXSA9IHN0YXRpY19jYXN0PHVpbnQ4X3Q+KAorICAgICAgICAgICAgICBHZXRCaXRzOChwU3JjUGl4ZWwsIHNyY19iaXRfcG9zLCBtX2JwYykgKiB1bml0X1RvOEJwYyk7CisgICAgICAgICAgc3JjX2JpdF9wb3MgKz0gbV9icGM7CisgICAgICAgIH0KKyAgICAgICAgcFNyY1BpeGVsID0gZXh0cmFjdGVkX2NvbXBvbmVudHM7CisgICAgICB9CisKICAgICAgIGlmIChtX3BDb2xvclNwYWNlKSB7Ci0gICAgICAgIENGWF9GaXhlZEJ1Zkdyb3c8dWludDhfdCwgMTI4PiB0ZW1wKG9yaWdfQnBwKTsKICAgICAgICAgdWludDhfdCBjb2xvcls0XTsKICAgICAgICAgY29uc3QgRlhfQk9PTCBiVHJhbnNNYXNrID0gVHJhbnNNYXNrKCk7CiAgICAgICAgIGlmIChtX2JEZWZhdWx0RGVjb2RlKSB7Ci0gICAgICAgICAgaWYgKG1fYnBjIDwgOCkgewotICAgICAgICAgICAgaW50IHNyY19iaXRfcG9zID0gMDsKLSAgICAgICAgICAgIGlmIChzcmNfeCAlIDIpIHsKLSAgICAgICAgICAgICAgc3JjX2JpdF9wb3MgPSA0OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgZm9yIChGWF9EV09SRCBqID0gMDsgaiA8IG1fbkNvbXBvbmVudHM7ICsraikgewotICAgICAgICAgICAgICB0ZW1wW2pdID0gKHVpbnQ4X3QpKF9HZXRCaXRzOChwU3JjUGl4ZWwsIHNyY19iaXRfcG9zLCBtX2JwYykgKgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXRfVG84QnBjKTsKLSAgICAgICAgICAgICAgc3JjX2JpdF9wb3MgKz0gbV9icGM7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBtX3BDb2xvclNwYWNlLT5UcmFuc2xhdGVJbWFnZUxpbmUoY29sb3IsIHRlbXAsIDEsIDAsIDAsIGJUcmFuc01hc2spOwotICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBtX3BDb2xvclNwYWNlLT5UcmFuc2xhdGVJbWFnZUxpbmUoY29sb3IsIHBTcmNQaXhlbCwgMSwgMCwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiVHJhbnNNYXNrKTsKLSAgICAgICAgICB9CisgICAgICAgICAgbV9wQ29sb3JTcGFjZS0+VHJhbnNsYXRlSW1hZ2VMaW5lKGNvbG9yLCBwU3JjUGl4ZWwsIDEsIDAsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJUcmFuc01hc2spOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgIGZvciAoRlhfRFdPUkQgaiA9IDA7IGogPCBtX25Db21wb25lbnRzOyArK2opIHsKKyAgICAgICAgICAgIEZYX0ZMT0FUIGNvbXBvbmVudF92YWx1ZSA9CisgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8RlhfRkxPQVQ+KGV4dHJhY3RlZF9jb21wb25lbnRzW2pdKTsKICAgICAgICAgICAgIGludCBjb2xvcl92YWx1ZSA9CiAgICAgICAgICAgICAgICAgKGludCkoKG1fcENvbXBEYXRhW2pdLm1fRGVjb2RlTWluICsKLSAgICAgICAgICAgICAgICAgICAgICAgbV9wQ29tcERhdGFbal0ubV9EZWNvZGVTdGVwICogKEZYX0ZMT0FUKXBTcmNQaXhlbFtqXSkgKgorICAgICAgICAgICAgICAgICAgICAgICBtX3BDb21wRGF0YVtqXS5tX0RlY29kZVN0ZXAgKiBjb21wb25lbnRfdmFsdWUpICoKICAgICAgICAgICAgICAgICAgICAgICAgICAgMjU1LjBmICsKICAgICAgICAgICAgICAgICAgICAgICAwLjVmKTsKLSAgICAgICAgICAgIHRlbXBbal0gPQorICAgICAgICAgICAgZXh0cmFjdGVkX2NvbXBvbmVudHNbal0gPQogICAgICAgICAgICAgICAgIGNvbG9yX3ZhbHVlID4gMjU1ID8gMjU1IDogKGNvbG9yX3ZhbHVlIDwgMCA/IDAgOiBjb2xvcl92YWx1ZSk7CiAgICAgICAgICAgfQotICAgICAgICAgIG1fcENvbG9yU3BhY2UtPlRyYW5zbGF0ZUltYWdlTGluZShjb2xvciwgdGVtcCwgMSwgMCwgMCwgYlRyYW5zTWFzayk7CisgICAgICAgICAgbV9wQ29sb3JTcGFjZS0+VHJhbnNsYXRlSW1hZ2VMaW5lKGNvbG9yLCBleHRyYWN0ZWRfY29tcG9uZW50cywgMSwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgYlRyYW5zTWFzayk7CiAgICAgICAgIH0KICAgICAgICAgYXJnYiA9IEZYQVJHQl9NQUtFKDB4RkYsIGNvbG9yWzJdLCBjb2xvclsxXSwgY29sb3JbMF0pOwogICAgICAgfSBlbHNlIHsKLSAgICAgICAgYXJnYiA9IEZYQVJHQl9NQUtFKDB4RmYsIHBTcmNQaXhlbFsyXSwgcFNyY1BpeGVsWzFdLCBwU3JjUGl4ZWxbMF0pOworICAgICAgICBhcmdiID0gRlhBUkdCX01BS0UoMHhGRiwgcFNyY1BpeGVsWzJdLCBwU3JjUGl4ZWxbMV0sIHBTcmNQaXhlbFswXSk7CiAgICAgICB9CiAgICAgICBpZiAobV9iQ29sb3JLZXkpIHsKICAgICAgICAgaW50IGFscGhhID0gMHhGRjsKZGlmZiAtLWdpdCBhL2NvcmUvc3JjL2ZwZGZhcGkvZnBkZl9yZW5kZXIvZnBkZl9yZW5kZXJfbG9hZGltYWdlX2VtYmVkZGVydGVzdC5jcHAgYi9jb3JlL3NyYy9mcGRmYXBpL2ZwZGZfcmVuZGVyL2ZwZGZfcmVuZGVyX2xvYWRpbWFnZV9lbWJlZGRlcnRlc3QuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2MzMyNDkKLS0tIC9kZXYvbnVsbAorKysgYi9jb3JlL3NyYy9mcGRmYXBpL2ZwZGZfcmVuZGVyL2ZwZGZfcmVuZGVyX2xvYWRpbWFnZV9lbWJlZGRlcnRlc3QuY3BwCkBAIC0wLDAgKzEsMTkgQEAKKy8vIENvcHlyaWdodCAyMDE1IFBERml1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworI2luY2x1ZGUgInRlc3RpbmcvZW1iZWRkZXJfdGVzdC5oIgorI2luY2x1ZGUgInRlc3RpbmcvZ3Rlc3QvaW5jbHVkZS9ndGVzdC9ndGVzdC5oIgorCitjbGFzcyBGUERGUmVuZGVyTG9hZEltYWdlRW1iZWRkZXJ0ZXN0IDogcHVibGljIEVtYmVkZGVyVGVzdCB7fTsKKworVEVTVF9GKEZQREZSZW5kZXJMb2FkSW1hZ2VFbWJlZGRlcnRlc3QsIEJ1Z181NTQxNTEpIHsKKyAgLy8gVGVzdCBzY2FubGluZSBkb3duc2FtcGxpbmcgd2l0aCBhIEJpdHNQZXJDb21wb25lbnQgb2YgNC4KKyAgLy8gU2hvdWxkIG5vdCBjcmFzaC4KKyAgRVhQRUNUX1RSVUUoT3BlbkRvY3VtZW50KCJidWdfNTU0MTUxLnBkZiIpKTsKKyAgRlBERl9QQUdFIHBhZ2UgPSBMb2FkUGFnZSgwKTsKKyAgRVhQRUNUX05FKG51bGxwdHIsIHBhZ2UpOworICBGUERGX0JJVE1BUCBiaXRtYXAgPSBSZW5kZXJQYWdlKHBhZ2UpOworICBGUERGQml0bWFwX0Rlc3Ryb3koYml0bWFwKTsKKyAgVW5sb2FkUGFnZShwYWdlKTsKK30KZGlmZiAtLWdpdCBhL3BkZml1bS5neXAgYi9wZGZpdW0uZ3lwCmluZGV4IDMzYzRlMTkuLjBiZjA3NDIgMTAwNjQ0Ci0tLSBhL3BkZml1bS5neXAKKysrIGIvcGRmaXVtLmd5cApAQCAtNzQ2LDYgKzc0Niw3IEBACiAgICAgICAgICdjb3JlL3NyYy9mcGRmYXBpL2ZwZGZfcGFnZS9mcGRmX3BhZ2VfZnVuY19lbWJlZGRlcnRlc3QuY3BwJywKICAgICAgICAgJ2NvcmUvc3JjL2ZwZGZhcGkvZnBkZl9wYXJzZXIvZnBkZl9wYXJzZXJfZGVjb2RlX2VtYmVkZGVydGVzdC5jcHAnLAogICAgICAgICAnY29yZS9zcmMvZnBkZmFwaS9mcGRmX3BhcnNlci9mcGRmX3BhcnNlcl9wYXJzZXJfZW1iZWRkZXJ0ZXN0LmNwcCcsCisgICAgICAgICdjb3JlL3NyYy9mcGRmYXBpL2ZwZGZfcmVuZGVyL2ZwZGZfcmVuZGVyX2xvYWRpbWFnZV9lbWJlZGRlcnRlc3QuY3BwJywKICAgICAgICAgJ2NvcmUvc3JjL2ZwZGZhcGkvZnBkZl9yZW5kZXIvZnBkZl9yZW5kZXJfcGF0dGVybl9lbWJlZGRlcnRlc3QuY3BwJywKICAgICAgICAgJ2ZwZGZzZGsvc3JjL2ZwZGZfZGF0YWF2YWlsX2VtYmVkZGVydGVzdC5jcHAnLAogICAgICAgICAnZnBkZnNkay9zcmMvZnBkZmRvY19lbWJlZGRlcnRlc3QuY3BwJywKZGlmZiAtLWdpdCBhL3Rlc3RpbmcvcmVzb3VyY2VzL2J1Z181NTQxNTEuaW4gYi90ZXN0aW5nL3Jlc291cmNlcy9idWdfNTU0MTUxLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwODcxNTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0aW5nL3Jlc291cmNlcy9idWdfNTU0MTUxLmluCkBAIC0wLDAgKzEsNTkgQEAKK3t7aGVhZGVyfX0KKwore3tvYmplY3QgMSAwfX0KKzw8CisgIC9QYWdlcyAyIDAgUgorPj4KK2VuZG9iagorCit7e29iamVjdCAyIDB9fQorPDwKKyAgL0tpZHMgWyAzIDAgUiBdCis+PgorZW5kb2JqCisKK3t7b2JqZWN0IDMgMH19Cis8PAorICAvQ29udGVudHMgNiAwIFIKKyAgL1Jlc291cmNlcyA1IDAgUgorPj4KK2VuZG9iagorCit7e29iamVjdCA2IDB9fQorPDw+Pgorc3RyZWFtCis2MTIgMC4wIDAuMCAxMDQwMDAgMCAwIGNtCisvWEJhZCBEbworZW5kc3RyZWFtCitlbmRvYmoKKwore3tvYmplY3QgNSAwfX0KKzw8CisgIC9YT2JqZWN0IDw8CisgICAgL1hCYWQgNyAwIFIKKyAgPj4KKz4+CitlbmRvYmoKKwore3tvYmplY3QgNyAwfX0KKzw8CisgIC9UeXBlIC9YT2JqZWN0CisgIC9TdWJ0eXBlIC9JbWFnZQorICAvV2lkdGggNjEyCisgIC9IZWlnaHQgMTA0MDAwCisgIC9Db2xvclNwYWNlIC9EZXZpY2VSR0IKKyAgL0JpdHNQZXJDb21wb25lbnQgNAorICAvTGVuZ3RoIDAKKyAgL0RlY29kZSBbMS4wXQorPj4KK3N0cmVhbQorRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCitlbmRvYmoKKwore3t4cmVmfX0KK3RyYWlsZXIgPDwKKyAgL1Jvb3QgMSAwIFIKKyAgL1NpemUgOAorPj4KK3t7c3RhcnR4cmVmfX0KKyUlRU9GCmRpZmYgLS1naXQgYS90ZXN0aW5nL3Jlc291cmNlcy9idWdfNTU0MTUxLnBkZiBiL3Rlc3RpbmcvcmVzb3VyY2VzL2J1Z181NTQxNTEucGRmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhNzcwYTcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0aW5nL3Jlc291cmNlcy9idWdfNTU0MTUxLnBkZgpAQCAtMCwwICsxLDcwIEBACislUERGLTEuNworJaDypPQKKworMSAwIG9iagorPDwKKyAgL1BhZ2VzIDIgMCBSCis+PgorZW5kb2JqCisKKzIgMCBvYmoKKzw8CisgIC9LaWRzIFsgMyAwIFIgXQorPj4KK2VuZG9iagorCiszIDAgb2JqCis8PAorICAvQ29udGVudHMgNiAwIFIKKyAgL1Jlc291cmNlcyA1IDAgUgorPj4KK2VuZG9iagorCis2IDAgb2JqCis8PD4+CitzdHJlYW0KKzYxMiAwLjAgMC4wIDEwNDAwMCAwIDAgY20KKy9YQmFkIERvCitlbmRzdHJlYW0KK2VuZG9iagorCis1IDAgb2JqCis8PAorICAvWE9iamVjdCA8PAorICAgIC9YQmFkIDcgMCBSCisgID4+Cis+PgorZW5kb2JqCisKKzcgMCBvYmoKKzw8CisgIC9UeXBlIC9YT2JqZWN0CisgIC9TdWJ0eXBlIC9JbWFnZQorICAvV2lkdGggNjEyCisgIC9IZWlnaHQgMTA0MDAwCisgIC9Db2xvclNwYWNlIC9EZXZpY2VSR0IKKyAgL0JpdHNQZXJDb21wb25lbnQgNAorICAvTGVuZ3RoIDAKKyAgL0RlY29kZSBbMS4wXQorPj4KK3N0cmVhbQorRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCitlbmRvYmoKKworeHJlZgorMCA4CiswMDAwMDAwMDAwIDY1NTM1IGYgCiswMDAwMDAwMDE2IDAwMDAwIG4gCiswMDAwMDAwMDUzIDAwMDAwIG4gCiswMDAwMDAwMDkzIDAwMDAwIG4gCiswMDAwMDAwMDAwIDY1NTM1IGYgCiswMDAwMDAwMjI1IDAwMDAwIG4gCiswMDAwMDAwMTUyIDAwMDAwIG4gCiswMDAwMDAwMjgyIDAwMDAwIG4gCit0cmFpbGVyIDw8CisgIC9Sb290IDEgMCBSCisgIC9TaXplIDgKKz4+CitzdGFydHhyZWYKKzEzNzAKKyUlRU9GCg==