ZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZSBiL3NyYy9NYWtlZmlsZQppbmRleCBkZTk0YzgyLi40ZDBhNWViIDEwMDY0NAotLS0gYS9zcmMvTWFrZWZpbGUKKysrIGIvc3JjL01ha2VmaWxlCkBAIC0zNDUsNyArMzQ1LDcgQEAKICMgLS1lbmFibGUtZ3VpPWd0ayBvciBsZWF2ZSBvdXQgLS1lbmFibGUtZ25vbWUtY2hlY2suCiAjCiAjIEdOT01FIG1ha2VzIHNlbnNlIG9ubHkgZm9yIEdUSysgMi4gIEF2b2lkIHVzZSBvZiAtLWVuYWJsZS1nbm9tZS1jaGVjayB3aXRoCi0jIEdUSysgMyBidWlsZCwgYXMgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgR05PTUUgaXMgYWxyZWFkeSBpbmNvb3BlcmF0ZWQgaW50bworIyBHVEsrIDMgYnVpbGQsIGFzIHRoZSBmdW5jdGlvbmFsaXR5IG9mIEdOT01FIGlzIGFscmVhZHkgaW5jb3Jwb3JhdGVkIGludG8KICMgR1RLKyAzLgogIwogIyBJZiB0aGUgc2VsZWN0ZWQgR1VJIGlzbid0IGZvdW5kLCB0aGUgR1VJIGlzIGRpc2FibGVkIGF1dG9tYXRpY2FsbHkKZGlmZiAtLWdpdCBhL3NyYy9lcnJvcnMuaCBiL3NyYy9lcnJvcnMuaAppbmRleCA1Nzc2OTA2Li4wZDUzZmE4IDEwMDY0NAotLS0gYS9zcmMvZXJyb3JzLmgKKysrIGIvc3JjL2Vycm9ycy5oCkBAIC0zNTE2LDcgKzM1MTYsNyBAQAogRVhURVJOIGNoYXIgZV9tZW1iZXJfc3RyX3R5cGVfbWlzbWF0Y2hfZXhwZWN0ZWRfc3RyX2J1dF9nb3Rfc3RyW10KIAlJTklUKD0gTl8oIkUxNDA2OiBNZW1iZXIgXCIlc1wiOiB0eXBlIG1pc21hdGNoLCBleHBlY3RlZCAlcyBidXQgZ290ICVzIikpOwogRVhURVJOIGNoYXIgZV9tZXRob2Rfc3RyX3R5cGVfbWlzbWF0Y2hfZXhwZWN0ZWRfc3RyX2J1dF9nb3Rfc3RyW10KLQlJTklUKD0gTl8oIkUxNDA3OiBNZW1iZXIgXCIlc1wiOiB0eXBlIG1pc21hdGNoLCBleHBlY3RlZCAlcyBidXQgZ290ICVzIikpOworCUlOSVQoPSBOXygiRTE0MDc6IE1ldGhvZCBcIiVzXCI6IHR5cGUgbWlzbWF0Y2gsIGV4cGVjdGVkICVzIGJ1dCBnb3QgJXMiKSk7CiBFWFRFUk4gY2hhciBlX2FwdHlwZXNfaXNfbnVsbF9ucl9zdHJbXQogCUlOSVQoPSAiRTE0MDg6IEludGVybmFsIGVycm9yOiBhcF90eXBlcyBvciBhcF90eXBlc1tpZHhdIGlzIE5VTEw6ICVkOiAlcyIpOwogRVhURVJOIGNoYXIgZV9pbnRlcmZhY2Vfc3RhdGljX2RpcmVjdF9hY2Nlc3Nfc3RyW10KZGlmZiAtLWdpdCBhL3NyYy9leF9jbWRzLmMgYi9zcmMvZXhfY21kcy5jCmluZGV4IDU2NmVkN2QuLjM1NDQwOTIgMTAwNjQ0Ci0tLSBhL3NyYy9leF9jbWRzLmMKKysrIGIvc3JjL2V4X2NtZHMuYwpAQCAtMjY0Nyw5ICsyNjQ3LDkgQEAKICAgICB9CiAKIAotICAgICAvLyBFbmQgVmlzdWFsIG1vZGUgYmVmb3JlIHN3aXRjaGluZyB0byBhbm90aGVyIGJ1ZmZlciwgc28gdGhlIHRleHQgY2FuIGJlCi0gICAgIC8vIGNvcGllZCBpbnRvIHRoZSBHVUkgc2VsZWN0aW9uIGJ1ZmZlci4KLSAgICAgLy8gQ2FyZWZ1bDogbWF5IHRyaWdnZXIgTW9kZUNoYW5nZWQoKSBhdXRvY29tbWFuZAorICAgIC8vIEVuZCBWaXN1YWwgbW9kZSBiZWZvcmUgc3dpdGNoaW5nIHRvIGFub3RoZXIgYnVmZmVyLCBzbyB0aGUgdGV4dCBjYW4gYmUKKyAgICAvLyBjb3BpZWQgaW50byB0aGUgR1VJIHNlbGVjdGlvbiBidWZmZXIuCisgICAgLy8gQ2FyZWZ1bDogbWF5IHRyaWdnZXIgTW9kZUNoYW5nZWQoKSBhdXRvY29tbWFuZAogCiAgICAgLy8gU2hvdWxkIHdlIGJsb2NrIGF1dG9jb21tYW5kcyBoZXJlPwogICAgIHJlc2V0X1ZJc3VhbCgpOwpkaWZmIC0tZ2l0IGEvc3JjL2ZpbmRmaWxlLmMgYi9zcmMvZmluZGZpbGUuYwppbmRleCA3Mjg3YjEwLi4yNDZhODE4IDEwMDY0NAotLS0gYS9zcmMvZmluZGZpbGUuYworKysgYi9zcmMvZmluZGZpbGUuYwpAQCAtNDgsOCArNDgsOCBAQAogICoKICAqIEFUVEVOVElPTjoKICAqID09PT09PT09PT0KLSAqCUFsc28gd2UgdXNlIGFuIGFsbG9jYXRlZCBzZWFyY2ggY29udGV4dCBoZXJlLCB0aGlzIGZ1bmN0aW9ucyBhcmUgTk9UCi0gKgl0aHJlYWQtc2FmZSEhISEhCisgKglBbHNvIHdlIHVzZSBhbiBhbGxvY2F0ZWQgc2VhcmNoIGNvbnRleHQgaGVyZSwgdGhlc2UgZnVuY3Rpb25zIGFyZSBOT1QKKyAqCXRocmVhZC1zYWZlIQogICoKICAqCVRvIG1pbmltaXplIHBhcmFtZXRlciBwYXNzaW5nIChvciBiZWNhdXNlIEknbSB0byBsYXp5KSwgb25seSB0aGUKICAqCWV4dGVybmFsIHZpc2libGUgZnVuY3Rpb25zIGdldCBhIHNlYXJjaCBjb250ZXh0IGFzIGEgcGFyYW1ldGVyLiBUaGlzIGlzCmRpZmYgLS1naXQgYS9zcmMvZ3VpX2d0a194MTEuYyBiL3NyYy9ndWlfZ3RrX3gxMS5jCmluZGV4IDNmMGNmOGMuLjNmZDZmM2EgMTAwNjQ0Ci0tLSBhL3NyYy9ndWlfZ3RrX3gxMS5jCisrKyBiL3NyYy9ndWlfZ3RrX3gxMS5jCkBAIC00MDAyLDggKzQwMDIsOCBAQAogICAgIH0KIAogICAgIC8vIFJlYWwgd2luZG93cyBjYW4gZ2V0IGZvY3VzIC4uLiBHdGtQbHVnLCBiZWluZyBhIG1lcmUgY29udGFpbmVyIGNhbid0LAotICAgIC8vIG9ubHkgaXRzIHdpZGdldHMuICBBcmd1YWJseSwgdGhpcyBjb3VsZCBiZSBjb21tb24gY29kZSBhbmQgd2Ugbm90IHVzZQotICAgIC8vIHRoZSB3aW5kb3cgZm9jdXMgYXQgYWxsLCBidXQgbGV0J3MgYmUgc2FmZS4KKyAgICAvLyBvbmx5IGl0cyB3aWRnZXRzLiAgQXJndWFibHksIHRoaXMgY291bGQgYmUgY29tbW9uIGNvZGUgYW5kIHdlIGRvIG5vdAorICAgIC8vIHVzZSB0aGUgd2luZG93IGZvY3VzIGF0IGFsbCwgYnV0IGxldCdzIGJlIHNhZmUuCiAgICAgaWYgKGd0a19zb2NrZXRfaWQgPT0gMCkKICAgICB7CiAJZ19zaWduYWxfY29ubmVjdChHX09CSkVDVChndWkubWFpbndpbiksICJmb2N1cy1vdXQtZXZlbnQiLApkaWZmIC0tZ2l0IGEvc3JjL2luc2V4cGFuZC5jIGIvc3JjL2luc2V4cGFuZC5jCmluZGV4IGI3NjdiNGUuLjNiMDZlZTAgMTAwNjQ0Ci0tLSBhL3NyYy9pbnNleHBhbmQuYworKysgYi9zcmMvaW5zZXhwYW5kLmMKQEAgLTM3ODksNyArMzc4OSw3IEBACiAJc3QuZm91bmRfYWxsID0gRkFMU0U7CiAJc3QuaW5zX2J1ZiA9IGN1cmJ1ZjsKIAl2aW1fZnJlZShzdC5lX2NwdF9jb3B5KTsKLQkvLyBNYWtlIGEgY29weSBvZiAnY29tcGxldGUnLCBpZiBjYXNlIHRoZSBidWZmZXIgaXMgd2lwZWQgb3V0LgorCS8vIE1ha2UgYSBjb3B5IG9mICdjb21wbGV0ZScsIGluIGNhc2UgdGhlIGJ1ZmZlciBpcyB3aXBlZCBvdXQuCiAJc3QuZV9jcHRfY29weSA9IHZpbV9zdHJzYXZlKChjb21wbF9jb250X3N0YXR1cyAmIENPTlRfTE9DQUwpCiAJCQkJCSAgICA/IChjaGFyX3UgKikiLiIgOiBjdXJidWYtPmJfcF9jcHQpOwogCXN0LmVfY3B0ID0gc3QuZV9jcHRfY29weSA9PSBOVUxMID8gKGNoYXJfdSAqKSIiIDogc3QuZV9jcHRfY29weTsKZGlmZiAtLWdpdCBhL3NyYy9tYWluLmMgYi9zcmMvbWFpbi5jCmluZGV4IGE0MGMzYTYuLjc3MDcyNmYgMTAwNjQ0Ci0tLSBhL3NyYy9tYWluLmMKKysrIGIvc3JjL21haW4uYwpAQCAtMTU0OCw3ICsxNTQ4LDcgQEAKIAkJICAgICYmICFza2lwX3Rlcm1fbG9vcCkKIAkgICAgewogCQkvLyBJZiB0ZXJtaW5hbF9sb29wKCkgcmV0dXJucyBPSyB3ZSBnb3QgYSBrZXkgdGhhdCBpcyBoYW5kbGVkCi0JCS8vIGluIE5vcm1hbCBtb2RlbC4gIFdpdGggRkFJTCB3ZSBmaXJzdCBuZWVkIHRvIHBvc2l0aW9uIHRoZQorCQkvLyBpbiBOb3JtYWwgbW9kZS4gIFdpdGggRkFJTCB3ZSBmaXJzdCBuZWVkIHRvIHBvc2l0aW9uIHRoZQogCQkvLyBjdXJzb3IgYW5kIHRoZSBzY3JlZW4gbmVlZHMgdG8gYmUgcmVkcmF3bi4KIAkJaWYgKHRlcm1pbmFsX2xvb3AoVFJVRSkgPT0gT0spCiAJCSAgICBub3JtYWxfY21kKCZvYSwgVFJVRSk7CmRpZmYgLS1naXQgYS9zcmMvbWJ5dGUuYyBiL3NyYy9tYnl0ZS5jCmluZGV4IGE5NjAzY2IuLmM0ZDFkZGIgMTAwNjQ0Ci0tLSBhL3NyYy9tYnl0ZS5jCisrKyBiL3NyYy9tYnl0ZS5jCkBAIC00MDUwLDcgKzQwNTAsNyBAQAogCTB4MjAyMSwgLy8g4oChIGRvdWJsZSBkYWdnZXIKIAkweDIwMjYsIC8vIOKApiBob3Jpem9udGFsIGVsbGlwc2lzCiAJMHgyMDMwLCAvLyDigLAgcGVyIG1pbGxlIHNpZ24KLQkweDIwMzEsIC8vIOKAsSBwZXIgdGhlbiB0aG91c2FuZCBzaWduCisJMHgyMDMxLCAvLyDigLEgcGVyIHRlbiB0aG91c2FuZCBzaWduCiAJMHgyMDNjLCAvLyDigLwgZG91YmxlIGV4Y2xhbWF0aW9uIG1hcmsKIAkweDIwNDcsIC8vIOKBhyBkb3VibGUgcXVlc3Rpb24gbWFyawogCTB4MjA0OCwgLy8g4oGIIHF1ZXN0aW9uIGV4Y2xhbWF0aW9uIG1hcmsKZGlmZiAtLWdpdCBhL3NyYy9tb3VzZS5jIGIvc3JjL21vdXNlLmMKaW5kZXggYzllOTZjOS4uYWEwNmU2YyAxMDA2NDQKLS0tIGEvc3JjL21vdXNlLmMKKysrIGIvc3JjL21vdXNlLmMKQEAgLTIxNjIsNyArMjE2Miw3IEBACiBkb19tb3VzZXNjcm9sbF9ob3Jpeihsb25nX3UgbGVmdGNvbCkKIHsKICAgICBpZiAoY3Vyd2luLT53X3Bfd3JhcCkKLQlyZXR1cm4gRkFMU0U7ICAvLyBubyB3cmFwcGluZywgbm8gc2Nyb2xsaW5nCisJcmV0dXJuIEZBTFNFOyAgLy8gbm8gaG9yaXpvbnRhbCBzY3JvbGxpbmcgd2hlbiB3cmFwcGluZwogCiAgICAgaWYgKGN1cndpbi0+d19sZWZ0Y29sID09IChjb2xucl9UKWxlZnRjb2wpCiAJcmV0dXJuIEZBTFNFOyAgLy8gYWxyZWFkeSB0aGVyZQpkaWZmIC0tZ2l0IGEvc3JjL3BvL1JFQURNRS50eHQgYi9zcmMvcG8vUkVBRE1FLnR4dAppbmRleCA4ZWMxYjU5Li4wMzkwMzhiIDEwMDY0NAotLS0gYS9zcmMvcG8vUkVBRE1FLnR4dAorKysgYi9zcmMvcG8vUkVBRE1FLnR4dApAQCAtNDEsNyArNDEsNyBAQAogV0hFTiBUSEVSRSBJUyBBIE1JU1RBS0UKIAogSWYgeW91IGZpbmQgdGhlcmUgaXMgYSBtaXN0YWtlIGluIG9uZSBvZiB0aGUgdHJhbnNsYXRpb25zLCBwbGVhc2UgcmVwb3J0IHRoaXMKLXRvIHRoZSBtYWludGFpbmVyIG9mIHRoZSB0cmFuc2xhdGlvbi4gIEhpcy9oZXIgRS1tYWlsIGFkZHJlc3MgaXMgaW4gdGhlCit0byB0aGUgbWFpbnRhaW5lciBvZiB0aGUgdHJhbnNsYXRpb24uICBIaXMvaGVyIGUtbWFpbCBhZGRyZXNzIGlzIGluIHRoZQogY29tbWVudHMgYXQgdGhlIHN0YXJ0IG9mIHRoZSBmaWxlLiAgWW91IGNhbiBhbHNvIHNlZSB0aGlzIHdpdGggdGhlICI6bWVzc2FnZXMiCiBjb21tYW5kIGluIFZpbSB3aGVuIHRoZSB0cmFuc2xhdGlvbiBpcyBiZWluZyB1c2VkLgogCmRpZmYgLS1naXQgYS9zcmMvcG8vUkVBRE1FX21pbmd3LnR4dCBiL3NyYy9wby9SRUFETUVfbWluZ3cudHh0CmluZGV4IGE5OGFmNTcuLmFiYjVjZDcgMTAwNjQ0Ci0tLSBhL3NyYy9wby9SRUFETUVfbWluZ3cudHh0CisrKyBiL3NyYy9wby9SRUFETUVfbWluZ3cudHh0CkBAIC02MCw3ICs2MCw3IEBACiAKICAgICBUaGVyZSBpcyBvbmUgc3BlY2lhbCBtZXNzYWdlOgogCW1zZ2lkICJNZXNzYWdlcyBtYWludGFpbmVyOiBUaGUgVmltIFByb2plY3QiCi0gICAgWW91IHNob3VsZCBpbmNsdWRlIHlvdXIgbmFtZSBhbmQgRS1tYWlsIGFkZHJlc3MgaW5zdGVhZCwgZm9yIGV4YW1wbGU6CisgICAgWW91IHNob3VsZCBpbmNsdWRlIHlvdXIgbmFtZSBhbmQgZS1tYWlsIGFkZHJlc3MgaW5zdGVhZCwgZm9yIGV4YW1wbGU6CiAJbXNnc3RyICJCZXJpY2h0ZW4g/GJlcnNldHp0IGJlaTogSm9obiBEb2UgPGpvaG5AZG9lLm9yZz4iCiAKICgzKSBDbGVhbiB1cApkaWZmIC0tZ2l0IGEvc3JjL3NvdW5kLmMgYi9zcmMvc291bmQuYwppbmRleCBhOTY4ZWNkLi42ZTk0OWU4IDEwMDY0NAotLS0gYS9zcmMvc291bmQuYworKysgYi9zcmMvc291bmQuYwpAQCAtMTcsNyArMTcsNyBAQAogCiBzdGF0aWMgbG9uZwkgICAgc291bmRfaWQgPSAwOwogCi0vLyBzb3VuZGNiX1QgaXMgdHlwZGVmJ2VkIGluIHByb3RvL3NvdW5kLnBybworLy8gc291bmRjYl9UIGlzIHR5cGVkZWYnZWQgaW4gcHJvdG8vc291bmQucHJvCiAKIHN0cnVjdCBzb3VuZGNiX1MgewogICAgIGNhbGxiYWNrX1QJc25kX2NhbGxiYWNrOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlcm0uYyBiL3NyYy90ZXJtLmMKaW5kZXggMTU0MjA0NS4uMmRiZmRhZCAxMDA2NDQKLS0tIGEvc3JjL3Rlcm0uYworKysgYi9zcmMvdGVybS5jCkBAIC02NjU1LDcgKzY2NTUsNyBAQAogI2lmZGVmIEZFQVRfRVZBTAogCSAgICAvKgogCSAgICAgKiBDaGFuZ2UgPFNJRD5GdW5jIHRvIEtfU05SIDxzY3JpcHQtbnI+IF9GdW5jLiAgVGhpcyBuYW1lIGlzIHVzZWQKLQkgICAgICogZm9yIHNjcmlwdC1sb2NsYSB1c2VyIGZ1bmN0aW9ucy4KKwkgICAgICogZm9yIHNjcmlwdC1sb2NhbCB1c2VyIGZ1bmN0aW9ucy4KIAkgICAgICogKHJvb206IDUgKiA2ID0gMzAgYnl0ZXM7IG5lZWRlZDogMyArIDxucj4gKyAxIDw9IDE0KQogCSAgICAgKiBBbHNvIGNoYW5nZSA8U0lEPm5hbWUuRnVuYyB0byBLX1NOUiA8aW1wb3J0LXNjcmlwdC1ucj4gX0Z1bmMuCiAJICAgICAqIE9ubHkgaWYgIm5hbWUiIGlzIHJlY29nbml6ZWQgYXMgYW4gaW1wb3J0LgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvdGVzdF9hdXRvY21kLnZpbSBiL3NyYy90ZXN0ZGlyL3Rlc3RfYXV0b2NtZC52aW0KaW5kZXggYjc0ZGRhOS4uMWI5ZWNjOSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3RkaXIvdGVzdF9hdXRvY21kLnZpbQorKysgYi9zcmMvdGVzdGRpci90ZXN0X2F1dG9jbWQudmltCkBAIC0yMDI1LDggKzIwMjUsOCBAQAogIiBUZXN0IGZvciBCdWZVbmxvYWQgYXV0b2NvbW1hbmQgdGhhdCB1bmxvYWRzIGFsbCB0aGUgb3RoZXIgYnVmZmVycwogZnVuYyBUZXN0X2J1ZnVubG9hZF9hbGwoKQogICBsZXQgZzp0ZXN0X2lzX2ZsYWt5ID0gMQotICBjYWxsIHdyaXRlZmlsZShbJ1Rlc3QgZmlsZSBYeHgxJ10sICdYeHgxJywgJ0QnKSIKLSAgY2FsbCB3cml0ZWZpbGUoWydUZXN0IGZpbGUgWHh4MiddLCAnWHh4MicsICdEJykiCisgIGNhbGwgd3JpdGVmaWxlKFsnVGVzdCBmaWxlIFh4eDEnXSwgJ1h4eDEnLCAnRCcpCisgIGNhbGwgd3JpdGVmaWxlKFsnVGVzdCBmaWxlIFh4eDInXSwgJ1h4eDInLCAnRCcpCiAKICAgbGV0IGNvbnRlbnQgPTw8IHRyaW0gW0NPREVdCiAgICAgZnVuYyBVbmxvYWRBbGxCdWZzKCkKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3RfY2hhbm5lbC52aW0gYi9zcmMvdGVzdGRpci90ZXN0X2NoYW5uZWwudmltCmluZGV4IDZiZTIxMzcuLjVhMzUwODMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0ZGlyL3Rlc3RfY2hhbm5lbC52aW0KKysrIGIvc3JjL3Rlc3RkaXIvdGVzdF9jaGFubmVsLnZpbQpAQCAtNTI0LDcgKzUyNCw3IEBACiAgIGxldCBzdGFydCA9IHJlbHRpbWUoKQogICBsZXQgaGFuZGxlID0gY2hfb3BlbignbG9jYWxob3N0Ojk4NzYnLCBzOmNob3B0KQogICBpZiBjaF9zdGF0dXMoaGFuZGxlKSAhPSAiZmFpbCIKLSAgICAiIE9vcHMsIHBvcnQgZG9lcyBleGlzdHMuCisgICAgIiBPb3BzLCBwb3J0IGV4aXN0cy4KICAgICBjYWxsIGNoX2Nsb3NlKGhhbmRsZSkKICAgZWxzZQogICAgIGxldCBlbGFwc2VkID0gcmVsdGltZShzdGFydCkKQEAgLTUzOCw3ICs1MzgsNyBAQAogICB0cnkKICAgICBsZXQgaGFuZGxlID0gY2hfb3BlbignbG9jYWxob3N0Ojk4NjcnLCB7J3dhaXR0aW1lJzogNTAwfSkKICAgICBpZiBjaF9zdGF0dXMoaGFuZGxlKSAhPSAiZmFpbCIKLSAgICAgICIgT29wcywgcG9ydCBkb2VzIGV4aXN0cy4KKyAgICAgICIgT29wcywgcG9ydCBleGlzdHMuCiAgICAgICBjYWxsIGNoX2Nsb3NlKGhhbmRsZSkKICAgICBlbHNlCiAgICAgICAiIEZhaWxlZCBjb25uZWN0aW9uIHNob3VsZCB3YWl0IGFib3V0IDUwMCBtc2VjLiAgQ2FuIGJlIGxvbmdlciBpZiB0aGUKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3RfZWRpdC52aW0gYi9zcmMvdGVzdGRpci90ZXN0X2VkaXQudmltCmluZGV4IDNjZTU0MjEuLmQ2NjJmNGEgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0ZGlyL3Rlc3RfZWRpdC52aW0KKysrIGIvc3JjL3Rlc3RkaXIvdGVzdF9lZGl0LnZpbQpAQCAtMTIxOSw3ICsxMjE5LDcgQEAKIGVuZGZ1bmMKIAogZnVuYyBUZXN0X2VkaXRfTU9VU0UoKQotICAiIFRoaXMgaXMgYSBzaW1wbGUgdGVzdCwgc2luY2Ugd2Ugbm90IHJlYWxseSB1c2luZyB0aGUgbW91c2UgaGVyZQorICAiIFRoaXMgaXMgYSBzaW1wbGUgdGVzdCwgc2luY2Ugd2UncmUgbm90IHJlYWxseSB1c2luZyB0aGUgbW91c2UgaGVyZQogICBDaGVja0ZlYXR1cmUgbW91c2UKICAgMTBuZXcKICAgY2FsbCBzZXRsaW5lKDEsIHJhbmdlKDEsIDEwMCkpCkBAIC0xNzk3LDcgKzE3OTcsNyBAQAogICBjbG9zZSEKICAgc2V0IGNoYXJjb252ZXJ0JgogCi0gICIgJ2NoYXJjb252ZXJ0JyBmdW5jdGlvbiBkb2Vzbid0IGNyZWF0ZSBhIG91dHB1dCBmaWxlCisgICIgJ2NoYXJjb252ZXJ0JyBmdW5jdGlvbiBkb2Vzbid0IGNyZWF0ZSBhbiBvdXRwdXQgZmlsZQogICBmdW5jIENjb252MSgpCiAgIGVuZGZ1bmMKICAgc2V0IGNoYXJjb252ZXJ0PUNjb252MSgpCmRpZmYgLS1naXQgYS9zcmMvdGVzdGRpci90ZXN0X2Z1bmN0aW9ucy52aW0gYi9zcmMvdGVzdGRpci90ZXN0X2Z1bmN0aW9ucy52aW0KaW5kZXggNjU0ZDkxMi4uYjE0YzU0MSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3RkaXIvdGVzdF9mdW5jdGlvbnMudmltCisrKyBiL3NyYy90ZXN0ZGlyL3Rlc3RfZnVuY3Rpb25zLnZpbQpAQCAtMjkxMSw3ICsyOTExLDcgQEAKICAgY2FsbCB0ZXJtX3NlbmRrZXlzKGJ1ZiwgZ2V0c3RhdGUpCiAgIGNhbGwgV2FpdEZvckFzc2VydCh7LT4gYXNzZXJ0X21hdGNoKCdzdGF0ZTogbVNjOyBtb2RlOiBuJywgdGVybV9nZXRsaW5lKGJ1ZiwgNikpfSwgMTAwMCkKIAotICAiIEEgb3BlcmF0b3IgaXMgcGVuZGluZworICAiIEFuIG9wZXJhdG9yIGlzIHBlbmRpbmcKICAgY2FsbCB0ZXJtX3NlbmRrZXlzKGJ1ZiwgIjpjYWxsIFJ1blRpbWVyKClcPENSPnkiKQogICBjYWxsIFRlcm1XYWl0KGJ1ZiwgMjUpCiAgIGNhbGwgdGVybV9zZW5ka2V5cyhidWYsICJ5IikKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3RfaGlnaGxpZ2h0LnZpbSBiL3NyYy90ZXN0ZGlyL3Rlc3RfaGlnaGxpZ2h0LnZpbQppbmRleCA2ZTM5ZDRlLi5hZjYwNTAzIDEwMDY0NAotLS0gYS9zcmMvdGVzdGRpci90ZXN0X2hpZ2hsaWdodC52aW0KKysrIGIvc3JjL3Rlc3RkaXIvdGVzdF9oaWdobGlnaHQudmltCkBAIC04NzgsNyArODc4LDcgQEAKICAgaGkgY2xlYXIKIGVuZGZ1bmMKIAotIiBUZXN0IGZvciAnY3Rlcm11bCBpbiBhIGhpZ2hsaWdodCBncm91cAorIiBUZXN0IGZvciAnY3Rlcm11bCcgaW4gYSBoaWdobGlnaHQgZ3JvdXAKIGZ1bmMgVGVzdF9oaWdobGlnaHRfY3Rlcm11bCgpCiAgIENoZWNrTm90R3VpCiAgIGNhbGwgYXNzZXJ0X25vdG1hdGNoKCdjdGVybXVsPScsIEhpZ2hsaWdodEFyZ3MoJ05vcm1hbCcpKQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvdGVzdF9saXN0ZGljdC52aW0gYi9zcmMvdGVzdGRpci90ZXN0X2xpc3RkaWN0LnZpbQppbmRleCAzZmYyMDk3Li5iN2M4YWQ3IDEwMDY0NAotLS0gYS9zcmMvdGVzdGRpci90ZXN0X2xpc3RkaWN0LnZpbQorKysgYi9zcmMvdGVzdGRpci90ZXN0X2xpc3RkaWN0LnZpbQpAQCAtMzczLDcgKzM3Myw3IEBACiAgIGVuZHRyeQogICBjYWxsIGFzc2VydF9lcXVhbCgnVmltKGxldCk6RTcxNjogIjE1MDAiJywgc3RyKQogCi0gICIgbG9va3VwIGVhY2ggaXRlbXMKKyAgIiBsb29rdXAgZWFjaCBpdGVtCiAgIGZvciBpIGluIHJhbmdlKDE1MDApCiAgICAgY2FsbCBhc3NlcnRfZXF1YWwoMzAwMCAtIGksIGRbaV0pCiAgIGVuZGZvcgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvdGVzdF9ta3Nlc3Npb24udmltIGIvc3JjL3Rlc3RkaXIvdGVzdF9ta3Nlc3Npb24udmltCmluZGV4IDU0ODVlMTQuLjc4ZDMwMWYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0ZGlyL3Rlc3RfbWtzZXNzaW9uLnZpbQorKysgYi9zcmMvdGVzdGRpci90ZXN0X21rc2Vzc2lvbi52aW0KQEAgLTU2OCw3ICs1NjgsNyBAQAogZnVuYyBUZXN0X21rdmlld190ZXJtaW5hbF93aW5kb3dzKCkKICAgQ2hlY2tGZWF0dXJlIHRlcm1pbmFsCiAKLSAgIiBjcmVhdGUgdHdvIHdpbmRvdyBvbiB0aGUgc2FtZSB0ZXJtaW5hbCB0byBjaGVjayB0aGlzIGlzIGhhbmRsZWQgT0sKKyAgIiBjcmVhdGUgdHdvIHdpbmRvd3Mgb24gdGhlIHNhbWUgdGVybWluYWwgdG8gY2hlY2sgdGhpcyBpcyBoYW5kbGVkIE9LCiAgIHRlcm1pbmFsCiAgIGxldCB0ZXJtX2J1ZiA9IGJ1Zm5yKCkKICAgZXhlICdzYnVmICcgLi4gdGVybV9idWYKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3Rfbm9ybWFsLnZpbSBiL3NyYy90ZXN0ZGlyL3Rlc3Rfbm9ybWFsLnZpbQppbmRleCBlZmRhMTQyLi45MTExZWI4IDEwMDY0NAotLS0gYS9zcmMvdGVzdGRpci90ZXN0X25vcm1hbC52aW0KKysrIGIvc3JjL3Rlc3RkaXIvdGVzdF9ub3JtYWwudmltCkBAIC0zODAsNyArMzgwLDcgQEAKIGVuZGZ1bmMKIAogZnVuYyBUZXN0X25vcm1hbDA3X2ludGVybmFsZm10KCkKLSAgIiBiYXNpYyB0ZXN0IGZvciBpbnRlcm5hbCBmb3JtbWF0dGVyIHRvIHRleHR3aWR0aCBvZiAxMgorICAiIGJhc2ljIHRlc3QgZm9yIGludGVybmFsIGZvcm1hdHRlciB0byB0ZXh0d2lkdGggb2YgMTIKICAgbGV0IGxpc3Q9cmFuZ2UoMSwxMSkKICAgY2FsbCBtYXAobGlzdCwgJ3Y6dmFsLiIgICAgIicpCiAgIDEwbmV3CkBAIC0yNTgyLDcgKzI1ODIsNyBAQAogICBleGUgIm5vcm0hIEcwXDxjLXY+NGs0bHkiCiAgIGV4ZSAibm9ybSEgZ3Zvb2QiCiAgIGNhbGwgYXNzZXJ0X2VxdWFsKFsnJywgJ2FiZmdoJywgJ2FiZmdoJywgJ2FiZmdoJywgJ2ZnaCcsICdmZ2gnLCAnZmdoJywgJ2ZnaCcsICdmZ2gnXSwgZ2V0bGluZSgxLCckJykpCi0gICIgZ3YgY2Fubm90IGJlIHVzZWQgIGluIG9wZXJhdG9yIHBlbmRpbmcgbW9kZQorICAiIGd2IGNhbm5vdCBiZSB1c2VkIGluIG9wZXJhdG9yIHBlbmRpbmcgbW9kZQogICBjYWxsIGFzc2VydF9iZWVwcygnbm9ybWFsISBjZ3YnKQogICAiIGd2IHNob3VsZCBiZWVwIHdpdGhvdXQgYSBwcmV2aW91c2x5IHNlbGVjdGVkIHZpc3VhbCBhcmVhCiAgIG5ldwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvdGVzdF9zdWJzdGl0dXRlLnZpbSBiL3NyYy90ZXN0ZGlyL3Rlc3Rfc3Vic3RpdHV0ZS52aW0KaW5kZXggOTIwNDczZC4uYjk5ZDBlMCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3RkaXIvdGVzdF9zdWJzdGl0dXRlLnZpbQorKysgYi9zcmMvdGVzdGRpci90ZXN0X3N1YnN0aXR1dGUudmltCkBAIC0xNDQ4LDcgKzE0NDgsNyBAQAogICBsZXQgYnVmbnIgPSBidWZucignJScpCiAgIHB1dCA9ImFiY2RlZiIKICAgc2lsZW50ISBzL1wlJykvXD1SKCkKLSAgY2FsbCBhc3NlcnRfZmFpbHMoJzolcy8uL1w9UigpL2cnLCAnRTU2NScpCisgIGNhbGwgYXNzZXJ0X2ZhaWxzKCc6JXMvLi9cPVIoKS9nJywgJ0U1NjU6JykKICAgZGVsZnVuYyBSCiAgIGV4ZSBidWZuciAuLiAiYnchIgogZW5kZnVuYwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvdGVzdF92aW05X2NsYXNzLnZpbSBiL3NyYy90ZXN0ZGlyL3Rlc3RfdmltOV9jbGFzcy52aW0KaW5kZXggOWYxZTkxZC4uMjU0OWYzMiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3RkaXIvdGVzdF92aW05X2NsYXNzLnZpbQorKysgYi9zcmMvdGVzdGRpci90ZXN0X3ZpbTlfY2xhc3MudmltCkBAIC0xODg0LDcgKzE4ODQsNyBAQAogICAgICAgICBlbmRkZWYKICAgICAgIGVuZGNsYXNzCiAgIEVORAotICB2OS5DaGVja1NjcmlwdEZhaWx1cmUobGluZXMsICdFMTQwNzogTWVtYmVyICJJc0V2ZW4iOiB0eXBlIG1pc21hdGNoLCBleHBlY3RlZCBmdW5jKG51bWJlcik6IGJvb2wgYnV0IGdvdCBmdW5jKG51bWJlcik6IHN0cmluZycpCisgIHY5LkNoZWNrU2NyaXB0RmFpbHVyZShsaW5lcywgJ0UxNDA3OiBNZXRob2QgIklzRXZlbiI6IHR5cGUgbWlzbWF0Y2gsIGV4cGVjdGVkIGZ1bmMobnVtYmVyKTogYm9vbCBidXQgZ290IGZ1bmMobnVtYmVyKTogc3RyaW5nJykKIAogICBsaW5lcyA9PDwgdHJpbSBFTkQKICAgICAgIHZpbTlzY3JpcHQKQEAgLTE4OTcsNyArMTg5Nyw3IEBACiAgICAgICAgIGVuZGRlZgogICAgICAgZW5kY2xhc3MKICAgRU5ECi0gIHY5LkNoZWNrU2NyaXB0RmFpbHVyZShsaW5lcywgJ0UxNDA3OiBNZW1iZXIgIklzRXZlbiI6IHR5cGUgbWlzbWF0Y2gsIGV4cGVjdGVkIGZ1bmMobnVtYmVyKTogYm9vbCBidXQgZ290IGZ1bmMoYm9vbCk6IGJvb2wnKQorICB2OS5DaGVja1NjcmlwdEZhaWx1cmUobGluZXMsICdFMTQwNzogTWV0aG9kICJJc0V2ZW4iOiB0eXBlIG1pc21hdGNoLCBleHBlY3RlZCBmdW5jKG51bWJlcik6IGJvb2wgYnV0IGdvdCBmdW5jKGJvb2wpOiBib29sJykKIAogICBsaW5lcyA9PDwgdHJpbSBFTkQKICAgICAgIHZpbTlzY3JpcHQKQEAgLTE5MTAsNyArMTkxMCw3IEBACiAgICAgICAgIGVuZGRlZgogICAgICAgZW5kY2xhc3MKICAgRU5ECi0gIHY5LkNoZWNrU2NyaXB0RmFpbHVyZShsaW5lcywgJ0UxNDA3OiBNZW1iZXIgIklzRXZlbiI6IHR5cGUgbWlzbWF0Y2gsIGV4cGVjdGVkIGZ1bmMobnVtYmVyKTogYm9vbCBidXQgZ290IGZ1bmMobnVtYmVyLCAuLi5saXN0PG51bWJlcj4pOiBib29sJykKKyAgdjkuQ2hlY2tTY3JpcHRGYWlsdXJlKGxpbmVzLCAnRTE0MDc6IE1ldGhvZCAiSXNFdmVuIjogdHlwZSBtaXNtYXRjaCwgZXhwZWN0ZWQgZnVuYyhudW1iZXIpOiBib29sIGJ1dCBnb3QgZnVuYyhudW1iZXIsIC4uLmxpc3Q8bnVtYmVyPik6IGJvb2wnKQogCiAgICMgYWNjZXNzIHN1cGVyY2xhc3MgaW50ZXJmYWNlIG1lbWJlcnMgZnJvbSBzdWJjbGFzcywgbWl4IHZhcmlhYmxlIG9yZGVyCiAgIGxpbmVzID08PCB0cmltIEVORApAQCAtNDU3Niw3ICs0NTc2LDcgQEAKICAgICAgIGVuZGRlZgogICAgIGVuZGNsYXNzCiAgIEVORAotICB2OS5DaGVja1NjcmlwdEZhaWx1cmUobGluZXMsICdFMTQwNzogTWVtYmVyICJGb28iOiB0eXBlIG1pc21hdGNoLCBleHBlY3RlZCBmdW5jKHN0cmluZywgbnVtYmVyKTogbGlzdDxudW1iZXI+IGJ1dCBnb3QgZnVuYyhudW1iZXIsIHN0cmluZyk6IGxpc3Q8c3RyaW5nPicpCisgIHY5LkNoZWNrU2NyaXB0RmFpbHVyZShsaW5lcywgJ0UxNDA3OiBNZXRob2QgIkZvbyI6IHR5cGUgbWlzbWF0Y2gsIGV4cGVjdGVkIGZ1bmMoc3RyaW5nLCBudW1iZXIpOiBsaXN0PG51bWJlcj4gYnV0IGdvdCBmdW5jKG51bWJlciwgc3RyaW5nKTogbGlzdDxzdHJpbmc+JykKIAogICAjIFVzZSBhbiBhYnN0cmFjdCBjbGFzcyB0byBpbnZva2UgYW4gYWJzdHJhY3QgbWV0aG9kCiAgICMgRklYTUU6IFRoaXMgc2hvdWxkIGZhaWwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3Rfdmltc2NyaXB0LnZpbSBiL3NyYy90ZXN0ZGlyL3Rlc3Rfdmltc2NyaXB0LnZpbQppbmRleCAwMDJkMTE1Li4wYzRhZWRiIDEwMDY0NAotLS0gYS9zcmMvdGVzdGRpci90ZXN0X3ZpbXNjcmlwdC52aW0KKysrIGIvc3JjL3Rlc3RkaXIvdGVzdF92aW1zY3JpcHQudmltCkBAIC0zMTA1LDcgKzMxMDUsNyBAQAogIgkgICAgc2hvdWxkIGJlIGdpdmVuLgogIgogIgkgICAgVGhpcyB0ZXN0IHJldXNlcyB0aGUgZnVuY3Rpb24gTUVTU0FHRVMoKSBmcm9tIHRoZSBwcmV2aW91cyB0ZXN0LgotIgkgICAgVGhpcyBmdW5jdGlvbnMgY2hlY2tzIHRoZSBtZXNzYWdlcyBpbiBnOm1zZ2ZpbGUuCisiCSAgICBUaGlzIGZ1bmN0aW9uIGNoZWNrcyB0aGUgbWVzc2FnZXMgaW4gZzptc2dmaWxlLgogIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogZnVuYyBUZXN0X25lc3RlZF93aGlsZV9lcnJvcigpCkBAIC0zMjMwLDcgKzMyMzAsNyBAQAogIgkgICAgZXJyb3IgbWVzc2FnZXMgc2hvdWxkIGJlIGdpdmVuLgogIgogIgkgICAgVGhpcyB0ZXN0IHJldXNlcyB0aGUgZnVuY3Rpb24gTUVTU0FHRVMoKSBmcm9tIHRoZSBwcmV2aW91cyB0ZXN0LgotIgkgICAgVGhpcyBmdW5jdGlvbnMgY2hlY2tzIHRoZSBtZXNzYWdlcyBpbiBnOm1zZ2ZpbGUuCisiCSAgICBUaGlzIGZ1bmN0aW9uIGNoZWNrcyB0aGUgbWVzc2FnZXMgaW4gZzptc2dmaWxlLgogIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogZnVuYyBUZXN0X25lc3RlZF9jb250X2JyZWFrX2Vycm9yKCkKQEAgLTMzMzYsNyArMzMzNiw3IEBACiAiCSAgICBzaG91bGQgYmUgZ2l2ZW4uCiAiCiAiCSAgICBUaGlzIHRlc3QgcmV1c2VzIHRoZSBmdW5jdGlvbiBNRVNTQUdFUygpIGZyb20gdGhlIHByZXZpb3VzIHRlc3QuCi0iCSAgICBUaGlzIGZ1bmN0aW9ucyBjaGVja3MgdGhlIG1lc3NhZ2VzIGluIGc6bXNnZmlsZS4KKyIJICAgIFRoaXMgZnVuY3Rpb24gY2hlY2sgdGhlIG1lc3NhZ2VzIGluIGc6bXNnZmlsZS4KICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIGZ1bmMgVGVzdF9uZXN0ZWRfZW5kdHJ5X2Vycm9yKCkKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3RfdmlydHVhbGVkaXQudmltIGIvc3JjL3Rlc3RkaXIvdGVzdF92aXJ0dWFsZWRpdC52aW0KaW5kZXggZGE1ZjZmNS4uNDRjNWVjOCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3RkaXIvdGVzdF92aXJ0dWFsZWRpdC52aW0KKysrIGIvc3JjL3Rlc3RkaXIvdGVzdF92aXJ0dWFsZWRpdC52aW0KQEAgLTIzNiw3ICsyMzYsNyBAQAogICBzZXQgdmlydHVhbGVkaXQ9CiBlbmRmdW5jCiAKLSIgVXNpbmcgIkMiIHRoZW4gdGhlbiA8Q1I+IG1vdmVzIHRoZSBsYXN0IHJlbWFpbmluZyBjaGFyYWN0ZXIgdG8gdGhlIG5leHQKKyIgVXNpbmcgIkMiIHRoZW4gPENSPiBtb3ZlcyB0aGUgbGFzdCByZW1haW5pbmcgY2hhcmFjdGVyIHRvIHRoZSBuZXh0CiAiIGxpbmUuICAoTWFyeSBFbGxlbiBGb3N0ZXIpCiBmdW5jIFRlc3RfdmVfZGVsX3RvX2VvbCgpCiAgIG5ldwpkaWZmIC0tZ2l0IGEvc3JjL3R5cHZhbC5jIGIvc3JjL3R5cHZhbC5jCmluZGV4IGY5ZjZiZDYuLjA4ZGQyMzEgMTAwNjQ0Ci0tLSBhL3NyYy90eXB2YWwuYworKysgYi9zcmMvdHlwdmFsLmMKQEAgLTI5Miw3ICsyOTIsNyBAQAogfQogCiAvKgotICogTGlrZSB0dl9nZXRfbnVtYmUoKSBidXQgaW4gVmltOSBzY3JpcHQgZG8gY29udmVydCBhIG51bWJlciBpbiBhIHN0cmluZyB0byBhCisgKiBMaWtlIHR2X2dldF9udW1iZXIoKSBidXQgaW4gVmltOSBzY3JpcHQgZG8gY29udmVydCBhIG51bWJlciBpbiBhIHN0cmluZyB0byBhCiAgKiBudW1iZXIgd2l0aG91dCBnaXZpbmcgYW4gZXJyb3IuCiAgKi8KICAgICB2YXJudW1iZXJfVApkaWZmIC0tZ2l0IGEvc3JjL3ZlcnNpb24uYyBiL3NyYy92ZXJzaW9uLmMKaW5kZXggOGZhYTUzNC4uNzBkZDQ2ZiAxMDA2NDQKLS0tIGEvc3JjL3ZlcnNpb24uYworKysgYi9zcmMvdmVyc2lvbi5jCkBAIC03MDAsNiArNzAwLDggQEAKIHN0YXRpYyBpbnQgaW5jbHVkZWRfcGF0Y2hlc1tdID0KIHsgICAvKiBBZGQgbmV3IHBhdGNoIG51bWJlciBiZWxvdyB0aGlzIGxpbmUgKi8KIC8qKi8KKyAgICAxODg2LAorLyoqLwogICAgIDE4ODUsCiAvKiovCiAgICAgMTg4NCwKZGlmZiAtLWdpdCBhL3NyYy92aW05LmggYi9zcmMvdmltOS5oCmluZGV4IGUzMGViZGEuLmJhZmZmOTQgMTAwNjQ0Ci0tLSBhL3NyYy92aW05LmgKKysrIGIvc3JjL3ZpbTkuaApAQCAtMzIsNyArMzIsNyBAQAogCiAgICAgSVNOX1NPVVJDRSwJICAgIC8vIHNvdXJjZSBhdXRvbG9hZCBzY3JpcHQsIGlzbl9hcmcubnVtYmVyIGlzIHRoZSBzY3JpcHQgSUQKICAgICBJU05fSU5TVFIsCSAgICAvLyBpbnN0cnVjdGlvbnMgY29tcGlsZWQgZnJvbSBleHByZXNzaW9uCi0gICAgSVNOX0NPTlNUUlVDVCwgIC8vIGNvbnN0cnVjdCBhbiBvYmplY3QsIHVzaW5nIGNvbnRzdHJ1Y3RfVAorICAgIElTTl9DT05TVFJVQ1QsICAvLyBjb25zdHJ1Y3QgYW4gb2JqZWN0LCB1c2luZyBjb25zdHJ1Y3RfVAogICAgIElTTl9HRVRfT0JKX01FTUJFUiwgLy8gb2JqZWN0IG1lbWJlciwgaW5kZXggaXMgaXNuX2FyZy5udW1iZXIKICAgICBJU05fR0VUX0lURl9NRU1CRVIsIC8vIGludGVyZmFjZSBtZW1iZXIsIGluZGV4IGlzIGlzbl9hcmcuY2xhc3NtZW1iZXIKICAgICBJU05fU1RPUkVfVEhJUywgLy8gc3RvcmUgdmFsdWUgaW4gInRoaXMiIG9iamVjdCBtZW1iZXIsIGluZGV4IGlzCmRpZmYgLS1naXQgYS9zcmMvdmltOXR5cGUuYyBiL3NyYy92aW05dHlwZS5jCmluZGV4IDM5NTVjZTIuLjJiODFjOTIgMTAwNjQ0Ci0tLSBhL3NyYy92aW05dHlwZS5jCisrKyBiL3NyYy92aW05dHlwZS5jCkBAIC03MjIsNyArNzIyLDcgQEAKIAl7CiAJICAgIC8vIElmIGEgdHlwZSBjaGVjayBpcyBuZWVkZWQgdGhhdCBtZWFucyBhc3NpZ25pbmcgImFueSIgb3IKIAkgICAgLy8gInVua25vd24iIHRvIGEgbW9yZSBzcGVjaWZpYyB0eXBlLCB3aGljaCBmYWlscyBoZXJlLgotCSAgICAvLyBFeGVjcHQgd2hlbiBpdCBsb29rcyBsaWtlIGEgbGFtYmRhLCBzaW5jZSB0aGV5IGhhdmUgYW4KKwkgICAgLy8gRXhjZXB0IHdoZW4gaXQgbG9va3MgbGlrZSBhIGxhbWJkYSwgc2luY2UgdGhleSBoYXZlIGFuCiAJICAgIC8vIGluY29tcGxldGUgdHlwZS4KIAkgICAgdHlwZV9taXNtYXRjaF93aGVyZShleHBlY3RlZCwgYWN0dWFsX3R5cGUsIHdoZXJlKTsKIAkgICAgcmVzID0gRkFJTDsK