ZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZSBiL3NyYy9NYWtlZmlsZQppbmRleCBkMzRhNjA4Li4xNDgxMjZkIDEwMDY0NAotLS0gYS9zcmMvTWFrZWZpbGUKKysrIGIvc3JjL01ha2VmaWxlCkBAIC0yMzEwLDcgKzIzMTAsNyBAQAogCiAjIFJ1biBpbmRpdmlkdWFsIE9MRCBzdHlsZSB0ZXN0LgogIyBUaGVzZSBkbyBub3QgZGVwZW5kIG9uIHRoZSBleGVjdXRhYmxlLCBjb21waWxlIGl0IHdoZW4gbmVlZGVkLgotdGVzdDEgdGVzdDQ5IHRlc3Q1OToKK3Rlc3QxIHRlc3Q0OToKIAljZCB0ZXN0ZGlyOyBybSAtZiAkQC5vdXQ7ICQoTUFLRSkgLWYgTWFrZWZpbGUgJEAub3V0IFZJTVBST0c9Li4vJChWSU1URVNUVEFSR0VUKSAkKEdVSV9URVNUQVJHKSBTQ1JJUFRTT1VSQ0U9Li4vJChTQ1JJUFRTT1VSQ0UpCiAKICMgUnVuIGluZGl2aWR1YWwgTkVXIHN0eWxlIHRlc3QuCmRpZmYgLS1naXQgYS9zcmMvdGVzdGRpci9NYWtlX2FsbC5tYWsgYi9zcmMvdGVzdGRpci9NYWtlX2FsbC5tYWsKaW5kZXggNjM1MDg3Yy4uMDkwMGE2YyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3RkaXIvTWFrZV9hbGwubWFrCisrKyBiL3NyYy90ZXN0ZGlyL01ha2VfYWxsLm1hawpAQCAtMjAsNyArMjAsNyBAQAogU0NSSVBUU19NT1JFMiA9IHRlc3Q0OS5vdXQKIAogIyBUZXN0cyB0aGF0IHJ1biBvbiBtb3N0IHN5c3RlbXMsIGJ1dCBub3Qgb24gVk1TCi1TQ1JJUFRTX01PUkU0ID0gdGVzdDU5Lm91dAorU0NSSVBUU19NT1JFNCA9CiAKICMgVGVzdHMgc3BlY2lmaWNhbGx5IGZvciBNUy1XaW5kb3dzLgogU0NSSVBUU19XSU4zMiA9CkBAIC0yNDIsNiArMjQyLDcgQEAKIAl0ZXN0X3NvdXJjZSBcCiAJdGVzdF9zb3VyY2VfdXRmOCBcCiAJdGVzdF9zcGVsbCBcCisJdGVzdF9zcGVsbF91dGY4IFwKIAl0ZXN0X3NwZWxsZmlsZSBcCiAJdGVzdF9zdGFydHVwIFwKIAl0ZXN0X3N0YXJ0dXBfdXRmOCBcCkBAIC00NjQsNiArNDY1LDcgQEAKIAl0ZXN0X3NvdW5kLnJlcyBcCiAJdGVzdF9zb3VyY2UucmVzIFwKIAl0ZXN0X3NwZWxsLnJlcyBcCisJdGVzdF9zcGVsbF91dGY4LnJlcyBcCiAJdGVzdF9zcGVsbGZpbGUucmVzIFwKIAl0ZXN0X3N0YXJ0dXAucmVzIFwKIAl0ZXN0X3N0YXQucmVzIFwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL01ha2Vfdm1zLm1tcyBiL3NyYy90ZXN0ZGlyL01ha2Vfdm1zLm1tcwppbmRleCA4NDhmY2E3Li41OWRhOTgxIDEwMDY0NAotLS0gYS9zcmMvdGVzdGRpci9NYWtlX3Ztcy5tbXMKKysrIGIvc3JjL3Rlc3RkaXIvTWFrZV92bXMubW1zCkBAIC0zMiwyMiArMzIsNiBAQAogIyBhbmQgZGlyZWN0b3J5IGhhbmRsaW5nLgogIyBXQU5UX1VOSVggPSBZRVMKIAotIyBDb21tZW50IG91dCBpZiB5b3Ugd2FudCB0byBydW4gV2luMzIgc3BlY2lmaWMgdGVzdHMgYXMgd2VsbCwgYnV0IHBsZWFzZQotIyBiZSBhd2FyZSwgdGhhdCBvbiBPcGVuVk1TIHdpbGwgZmFpbCwgYmVjYXVzZSBvZiBjYXQsIHJtLCBldGMgY29tbWFuZHMKLSMgYW5kIGRpcmVjdG9yeSBoYW5kbGluZy4KLSMgV0FOVF9XSU4gPSBZRVMKLQotIyBDb21tZW50IG91dCBpZiB5b3Ugd2FudCB0byBydW4gc3BlbGwgY2hlY2tlciB0ZXN0cy4gCi0jIFRoZXkgZmFpbCBiZWNhdXNlIFZNUyBkb2VzIG5vdCBzdXBwb3J0IGZpbGUgbmFtZXMuCi0jIFdBTlRfU1BFTEwgPSBZRVMKLQotIyBDb21tZW50IG91dCBpZiB5b3Ugd2FudCB0byBydW4gbXpzY2hlbWEgdGVzdHMuCi0jIEl0IGZhaWxzIGJlY2F1c2UgVk1TIGRvZXMgbm90IHN1cHBvcnQgdGhpcyBmZWF0dXJlIHlldC4KLSMgV0FOVF9NWlNDSCA9IFlFUwotCi0jIENvbW1lbnQgb3V0IGlmIHlvdSBoYXZlIE9EUy01IGZpbGUgc3lzdGVtCi0jIEhBVkVfT0RTNSA9IFlFUwotCiAjIENvbW1lbnQgb3V0IGlmIHlvdSBoYXZlIGd6aXAgb24geW91ciBzeXN0ZW0KICMgSEFWRV9HWklQID0gWUVTCiAKQEAgLTc1LDEyICs1OSw2IEBACiAKIFNDUklQVCA9IHRlc3QxLm91dCB0ZXN0NDkub3V0IHRlc3Q3N2Eub3V0CiAKLSMgS25vd24gcHJvYmxlbXM6Ci0jCi0jIHRlc3Q1OTogRmFpbGVkL0hhbmdzIC0gVk1TIGRvZXMgbm90IHN1cHBvcnQgc3BlbGwgZmlsZXMgKGZpbGUgbmFtZXMKLSMgd2l0aCB0b28gbWFueSBkb3RzKS4KLSMKLQogLklGREVGIFdBTlRfR1VJCiBHVUlfT1BUSU9OID0gLWcKIC5FTkRJRgpAQCAtODksMTAgKzY3LDYgQEAKIFNDUklQVF9VTklYID0gdGVzdDQ5Lm91dAogLkVORElGCiAKLS5JRkRFRiBXQU5UX1NQRUxMCi1TQ1JJUFRfU1BFTEwgPSB0ZXN0NTkub3V0IAotLkVORElGCi0KIC5pbi5vdXQgOgogCS1AICFjbGVhbiB1cCBiZWZvcmUgZG9pbmcgdGhlIHRlc3QKIAktQCBpZiAiJydGJFNFQVJDSCgidGVzdC5vdXQuKiIpJyIgLk5FUy4gIiIgdGhlbiBkZWxldGUvbm9jb25maXJtL25vbG9nIHRlc3Qub3V0LioKQEAgLTExMyw4ICs4Nyw3IEBACiAJLUAgaWYgIicnRiRTRUFSQ0goIlhkb3Rlc3QuKiIpJyIgIC5ORVMuICIiIHRoZW4gZGVsZXRlL25vY29uZmlybS9ub2xvZyBYZG90ZXN0LiouKgogCS1AIGlmICInJ0YkU0VBUkNIKCJYdGVzdC4qIiknIiAgICAuTkVTLiAiIiB0aGVuIGRlbGV0ZS9ub2NvbmZpcm0vbm9sb2cgWHRlc3QuKi4qCiAKLWFsbCA6IGNsZWFuIG5vbG9nICQoU1RBUlRfV0lUSCkgJChTQ1JJUFQpICQoU0NSSVBUX1VOSVgpICQoU0NSSVBUX1NQRUxMKSBcCi0gICAgbm9sb2cKK2FsbCA6IGNsZWFuIG5vbG9nICQoU1RBUlRfV0lUSCkgJChTQ1JJUFQpICQoU0NSSVBUX1VOSVgpIG5vbG9nCiAJLUAgd3JpdGUgc3lzJG91dHB1dCAiICIKIAktQCB3cml0ZSBzeXMkb3V0cHV0ICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIKIAktQCB3cml0ZSBzeXMkb3V0cHV0ICIgICAgICAgICAgICAgICAgQWxsIGRvbmUiCkBAIC0xMzksMTAgKzExMiw2IEBACiAJLUAgd3JpdGUgc3lzJG91dHB1dCAiTUFLRV9WTVMuTU1TIG9wdGlvbnM6IgogCS1AIHdyaXRlIHN5cyRvdXRwdXQgIiAgIFdBTlRfR1VJICAgPSAiIiQoV0FOVF9HVUkpIiIgIgogCS1AIHdyaXRlIHN5cyRvdXRwdXQgIiAgIFdBTlRfVU5JWCAgPSAiIiQoV0FOVF9VTklYKSIiICIKLQktQCB3cml0ZSBzeXMkb3V0cHV0ICIgICBXQU5UX1dJTiAgID0gIiIkKFdBTlRfV0lOKSIiICIKLQktQCB3cml0ZSBzeXMkb3V0cHV0ICIgICBXQU5UX1NQRUxMID0gIiIkKFdBTlRfU1BFTEwpIiIgIgotCS1AIHdyaXRlIHN5cyRvdXRwdXQgIiAgIFdBTlRfTVpTQ0ggPSAiIiQoV0FOVF9NWlNDSCkiIiAiCi0JLUAgd3JpdGUgc3lzJG91dHB1dCAiICAgSEFWRV9PRFM1ICA9ICIiJChIQVZFX09EUzUpIiIgIgogCS1AIHdyaXRlIHN5cyRvdXRwdXQgIiAgIEhBVkVfR1pJUCAgPSAiIiQoSEFWRV9HWklQKSIiICIKIAktQCB3cml0ZSBzeXMkb3V0cHV0ICIgICBIQVZFX0dESUZGID0gIiIkKEhBVkVfR0RJRkYpIiIgIgogCS1AIHdyaXRlIHN5cyRvdXRwdXQgIiAgIEhBVkVfSUNPTlYgPSAiIiQoSEFWRV9JQ09OVikiIiAiCmRpZmYgLS1naXQgYS9zcmMvdGVzdGRpci90ZXN0NTkuaW4gYi9zcmMvdGVzdGRpci90ZXN0NTkuaW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjZGI2MmIuLjAwMDAwMDAKLS0tIGEvc3JjL3Rlc3RkaXIvdGVzdDU5LmluCisrKyAvZGV2L251bGwKQEAgLTEsNjI2ICswLDAgQEAKLVRlc3RzIGZvciBzcGVsbCBjaGVja2luZyB3aXRoICdlbmNvZGluZycgc2V0IHRvICJ1dGYtOCIuICB2aW06IHNldCBmdD12aW0gOgotCi1TVEFSVFRFU1QKLTpzbyBzbWFsbC52aW0KLTpzbyBtYnl0ZS52aW0KLToiCi06IiBEb24ndCB3YW50IHRvIGRlcGVuZCBvbiB0aGUgbG9jYWxlIGZyb20gdGhlIGVudmlyb25tZW50LiAgVGhlIC5hZmYgYW5kIC5kaWMKLToiIHRleHQgaXMgaW4gbGF0aW4xLCB0aGUgdGVzdCB0ZXh0IGlzIHV0Zi04LgotOnNldCBlbmM9bGF0aW4xCi06ZSEKLTpzZXQgZW5jPXV0Zi04Ci06c2V0IGZlbmM9Ci06IgotOiIgRnVuY3Rpb24gdG8gdGVzdCAuYWZmLy5kaWMgd2l0aCBsaXN0IG9mIGdvb2QgYW5kIGJhZCB3b3Jkcy4KLTpmdW5jIFRlc3RPbmUoYWZmLCBkaWMpCi0gIHNldCBzcGVsbGZpbGU9Ci0gICRwdXQgPScnCi0gICRwdXQgPSd0ZXN0ICcuIGE6YWZmIC4gJy0nIC4gYTpkaWMKLSAgIiBHZW5lcmF0ZSBhIC5zcGwgZmlsZSBmcm9tIGEgLmRpYyBhbmQgLmFmZiBmaWxlLgotICBleGUgJzE7L14nIC4gYTphZmYgLiAnYWZmc3RhcnQvKzEsL14nIC4gYTphZmYgLiAnYWZmZW5kLy0xdyEgWHRlc3QuYWZmJwotICBleGUgJzE7L14nIC4gYTpkaWMgLiAnZGljc3RhcnQvKzEsL14nIC4gYTpkaWMgLiAnZGljZW5kLy0xdyEgWHRlc3QuZGljJwotICBta3NwZWxsISBYdGVzdCBYdGVzdAotICAiIHVzZSB0aGF0IHNwZWxsIGZpbGUKLSAgc2V0IHNwbD1YdGVzdC51dGYtOC5zcGwgc3BlbGwKLSAgIiBsaXN0IGFsbCB2YWxpZCB3b3JkcwotICBzcGVsbGR1bXAKLSAgJXlhbmsKLSAgcXVpdAotICAkcHV0Ci0gICRwdXQgPSctLS0tLS0tJwotICAiIGZpbmQgYWxsIGJhZCB3b3JkcyBhbmQgc3VnZ2VzdGlvbnMgZm9yIHRoZW0KLSAgZXhlICcxOy9eJyAuIGE6YWZmIC4gJ2dvb2Q6JwotICBub3JtYWwgMGY6XXMKLSAgbGV0IHByZXZiYWQgPSAnJwotICB3aGlsZSAxCi0gICAgbGV0IFtiYWQsIGFdID0gc3BlbGxiYWR3b3JkKCkKLSAgICBpZiBiYWQgPT0gJycgfHwgYmFkID09IHByZXZiYWQgfHwgYmFkID09ICdiYWRlbmQnCi0gICAgICBicmVhawotICAgIGVuZGlmCi0gICAgbGV0IHByZXZiYWQgPSBiYWQKLSAgICBsZXQgbHN0ID0gc3BlbGxzdWdnZXN0KGJhZCwgMykKLSAgICBub3JtYWwgbW0KLSAgICAkcHV0ID1iYWQKLSAgICAkcHV0ID1zdHJpbmcobHN0KQotICAgIG5vcm1hbCBgbV1zCi0gIGVuZHdoaWxlCi1lbmRmdW5jCi06IgotOmNhbGwgVGVzdE9uZSgnMScsICcxJykKLTokcHV0ID1zb3VuZGZvbGQoJ2dvb2JsZWR5Z29vb2snKQotOiRwdXQgPXNvdW5kZm9sZCgna8Ozb3DDq3LDv27DtHZlbicpCi06JHB1dCA9c291bmRmb2xkKCdvZXZlcmxvb3MgZ2V6d2V0cyBlZGFsZScpCi06IgotOiIKLToiIGFuZCBub3cgd2l0aCBTQUwgaW5zdGVhZCBvZiBTT0ZPIGl0ZW1zOyB0ZXN0IGF1dG9tYXRpYyByZWxvYWRpbmcKLWdnOi9eYWZmc3RhcnRfc2FsLysxLC9eYWZmZW5kX3NhbC8tMXchIFh0ZXN0LmFmZgotOm1rc3BlbGwhIFh0ZXN0IFh0ZXN0Ci06JHB1dCA9c291bmRmb2xkKCdnb29ibGVkeWdvb29rJykKLTokcHV0ID1zb3VuZGZvbGQoJ2vDs29ww6tyw79uw7R2ZW4nKQotOiRwdXQgPXNvdW5kZm9sZCgnb2V2ZXJsb29zIGdlendldHMgZWRhbGUnKQotOiIKLToiIGFsc28gdXNlIGFuIGFkZGl0aW9uIGZpbGUKLWdnOi9eYWRkc3RhcnQvKzEsL15hZGRlbmQvLTF3ISBYdGVzdC51dGYtOC5hZGQKLTpta3NwZWxsISBYdGVzdC51dGYtOC5hZGQuc3BsIFh0ZXN0LnV0Zi04LmFkZAotOnNldCBzcGVsbGZpbGU9WHRlc3QudXRmLTguYWRkCi0vXnRlc3QyOgotXXM6bGV0IFtzdHIsIGFdID0gc3BlbGxiYWR3b3JkKCkKLTokcHV0ID1zdHIKLTpzZXQgc3BsPVh0ZXN0X3VzLnV0Zi04LnNwbAotL150ZXN0MjoKLV1zbW06bGV0IFtzdHIsIGFdID0gc3BlbGxiYWR3b3JkKCkKLTokcHV0ID1zdHIKLWBtXXM6bGV0IFtzdHIsIGFdID0gc3BlbGxiYWR3b3JkKCkKLTokcHV0ID1zdHIKLTpzZXQgc3BsPVh0ZXN0X2diLnV0Zi04LnNwbAotL150ZXN0MjoKLV1zbW06bGV0IFtzdHIsIGFdID0gc3BlbGxiYWR3b3JkKCkKLTokcHV0ID1zdHIKLWBtXXM6bGV0IFtzdHIsIGFdID0gc3BlbGxiYWR3b3JkKCkKLTokcHV0ID1zdHIKLTpzZXQgc3BsPVh0ZXN0X256LnV0Zi04LnNwbAotL150ZXN0MjoKLV1zbW06bGV0IFtzdHIsIGFdID0gc3BlbGxiYWR3b3JkKCkKLTokcHV0ID1zdHIKLWBtXXM6bGV0IFtzdHIsIGFdID0gc3BlbGxiYWR3b3JkKCkKLTokcHV0ID1zdHIKLTpzZXQgc3BsPVh0ZXN0X2NhLnV0Zi04LnNwbAotL150ZXN0MjoKLV1zbW06bGV0IFtzdHIsIGFdID0gc3BlbGxiYWR3b3JkKCkKLTokcHV0ID1zdHIKLWBtXXM6bGV0IFtzdHIsIGFdID0gc3BlbGxiYWR3b3JkKCkKLTokcHV0ID1zdHIKLTp1bmxldCBzdHIgYQotOiIKLToiIFBvc3Rwb25lZCBwcmVmaXhlcwotOmNhbGwgVGVzdE9uZSgnMicsICcxJykKLToiCi06IiBDb21wb3VuZCB3b3JkcwotOmNhbGwgVGVzdE9uZSgnMycsICczJykKLTpjYWxsIFRlc3RPbmUoJzQnLCAnNCcpCi06Y2FsbCBUZXN0T25lKCc1JywgJzUnKQotOmNhbGwgVGVzdE9uZSgnNicsICc2JykKLTpjYWxsIFRlc3RPbmUoJzcnLCAnNycpCi06IgotOiIgY2xlYW4gdXAgZm9yIHZhbGdyaW5kCi06ZGVsZnVuYyBUZXN0T25lCi06c2V0IHNwbD0gZW5jPWxhdGluMQotOiIKLWdnOi9edGVzdCBvdXRwdXQ6Lywkd3EhIHRlc3Qub3V0Ci1FTkRURVNUCi0KLTFhZmZzdGFydAotU0VUIElTTzg4NTktMQotVFJZIGVzaWFucnRvbGNkdWdtcGhieWZ2a3dqa3F4ei3r6ejq7+7k4OL2/PsnRVNJQU5SVE9MQ0RVR01QSEJZRlZLV0pLUVhaCi0KLUZPTCAg4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb4+fr7/P3+3/8KLUxPVyAg4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb4+fr7/P3+3/8KLVVQUCAgwMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbY2drb3N3e3/8KLQotU09GT0ZST00gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWuDh4uPk5ebn6Onq6+zt7u/w8fLz9PX2+Pn6+/z9/t//wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbY2drb3N3evwotU09GT1RPICAgZWJjdGVmZ2hlamtsbm5lcGtyc3RldnZrZXNlYmN0ZWZnaGVqa2xubmVwa3JzdGV2dmtlc2VlZWVlZWVjZWVlZWVlZWVkbmVlZWVlZWVlZWVlcHNlZWVlZWVlZWNlZWVlZWVlZWRuZWVlZWVlZWVlZWVwPwotCi1NSURXT1JECSctCi0KLUtFUCA9Ci1SQVIgPwotQkFEICEKLQotI05PU1BMSVRTVUdTCi0KLVBGWCBJIE4gMQotUEZYIEkgMCBpbiAuCi0KLVBGWCBPIFkgMQotUEZYIE8gMCBvdXQgLgotCi1TRlggUyBZIDIKLVNGWCBTIDAgcyBbXnNdCi1TRlggUyAwIGVzIHMKLQotU0ZYIE4gTiAzCi1TRlggTiAwIGVuIFtebl0KLVNGWCBOIDAgbmVuIG4KLVNGWCBOIDAgbiAuCi0KLVJFUCAzCi1SRVAgZyBjaAotUkVQIGNoIGcKLVJFUCBzdnAgcy52LnAuCi0KLU1BUCA5Ci1NQVAgYeDh4uPk5QotTUFQIGXo6errCi1NQVAgaezt7u8KLU1BUCBv8vP09fYKLU1BUCB1+fr7/AotTUFQIG7xCi1NQVAgY+cKLU1BUCB5//0KLU1BUCBz3wotMWFmZmVuZAotCi1hZmZzdGFydF9zYWwKLVNFVCBJU084ODU5LTEKLVRSWSBlc2lhbnJ0b2xjZHVnbXBoYnlmdmt3amtxeHot6+no6u/u5ODi9vz7J0VTSUFOUlRPTENEVUdNUEhCWUZWS1dKS1FYWgotCi1GT0wgIODh4uPk5ebn6Onq6+zt7u/w8fLz9PX2+Pn6+/z9/t//Ci1MT1cgIODh4uPk5ebn6Onq6+zt7u/w8fLz9PX2+Pn6+/z9/t//Ci1VUFAgIMDBwsPExcbHyMnKy8zNzs/Q0dLT1NXW2Nna29zd3t//Ci0KLU1JRFdPUkQJJy0KLQotS0VQID0KLVJBUiA/Ci1CQUQgIQotCi0jTk9TUExJVFNVR1MKLQotUEZYIEkgTiAxCi1QRlggSSAwIGluIC4KLQotUEZYIE8gWSAxCi1QRlggTyAwIG91dCAuCi0KLVNGWCBTIFkgMgotU0ZYIFMgMCBzIFtec10KLVNGWCBTIDAgZXMgcwotCi1TRlggTiBOIDMKLVNGWCBOIDAgZW4gW15uXQotU0ZYIE4gMCBuZW4gbgotU0ZYIE4gMCBuIC4KLQotUkVQIDMKLVJFUCBnIGNoCi1SRVAgY2ggZwotUkVQIHN2cCBzLnYucC4KLQotTUFQIDkKLU1BUCBh4OHi4+TlCi1NQVAgZejp6usKLU1BUCBp7O3u7wotTUFQIG/y8/T19gotTUFQIHX5+vv8Ci1NQVAgbvEKLU1BUCBj5wotTUFQIHn//QotTUFQIHPfCi0KLVNBTCBBSChBRUlPVVkpLV4gICAgICAgICAqSAotU0FMIEFSKEFFSU9VWSktXiAgICAgICAgICpSCi1TQUwgQShIUileICAgICAgICAgICAgICAgKgotU0FMIEFeICAgICAgICAgICAgICAgICAgICoKLVNBTCBBSChBRUlPVVkpLSAgICAgICAgICBICi1TQUwgQVIoQUVJT1VZKS0gICAgICAgICAgUgotU0FMIEEoSFIpICAgICAgICAgICAgICAgIF8KLVNBTCDAXiAgICAgICAgICAgICAgICAgICAqCi1TQUwgxV4gICAgICAgICAgICAgICAgICAgKgotU0FMIEJCLSAgICAgICAgICAgICAgICAgIF8KLVNBTCBCICAgICAgICAgICAgICAgICAgICBCCi1TQUwgQ1EtICAgICAgICAgICAgICAgICAgXwotU0FMIENJQSAgICAgICAgICAgICAgICAgIFgKLVNBTCBDSCAgICAgICAgICAgICAgICAgICBYCi1TQUwgQyhFSVkpLSAgICAgICAgICAgICAgUwotU0FMIENLICAgICAgICAgICAgICAgICAgIEsKLVNBTCBDT1VHSF4gICAgICAgICAgICAgICBLRgotU0FMIENDPCAgICAgICAgICAgICAgICAgIEMKLVNBTCBDICAgICAgICAgICAgICAgICAgICBLCi1TQUwgREcoRUlZKSAgICAgICAgICAgICAgSwotU0FMIERELSAgICAgICAgICAgICAgICAgIF8KLVNBTCBEICAgICAgICAgICAgICAgICAgICBUCi1TQUwgyTwgICAgICAgICAgICAgICAgICAgRQotU0FMIEVIKEFFSU9VWSktXiAgICAgICAgICpICi1TQUwgRVIoQUVJT1VZKS1eICAgICAgICAgKlIKLVNBTCBFKEhSKV4gICAgICAgICAgICAgICAqCi1TQUwgRU5PVUdIXiQgICAgICAgICAgICAgKk5GCi1TQUwgRV4gICAgICAgICAgICAgICAgICAgKgotU0FMIEVIKEFFSU9VWSktICAgICAgICAgIEgKLVNBTCBFUihBRUlPVVkpLSAgICAgICAgICBSCi1TQUwgRShIUikgICAgICAgICAgICAgICAgXwotU0FMIEZGLSAgICAgICAgICAgICAgICAgIF8KLVNBTCBGICAgICAgICAgICAgICAgICAgICBGCi1TQUwgR05eICAgICAgICAgICAgICAgICAgTgotU0FMIEdOJCAgICAgICAgICAgICAgICAgIE4KLVNBTCBHTlMkICAgICAgICAgICAgICAgICBOUwotU0FMIEdORUQkICAgICAgICAgICAgICAgIE4KLVNBTCBHSChBRUlPVVkpLSAgICAgICAgICBLCi1TQUwgR0ggICAgICAgICAgICAgICAgICAgXwotU0FMIEdHOSAgICAgICAgICAgICAgICAgIEsKLVNBTCBHICAgICAgICAgICAgICAgICAgICBLCi1TQUwgSCAgICAgICAgICAgICAgICAgICAgSAotU0FMIElIKEFFSU9VWSktXiAgICAgICAgICpICi1TQUwgSVIoQUVJT1VZKS1eICAgICAgICAgKlIKLVNBTCBJKEhSKV4gICAgICAgICAgICAgICAqCi1TQUwgSV4gICAgICAgICAgICAgICAgICAgKgotU0FMIElORzYgICAgICAgICAgICAgICAgIE4KLVNBTCBJSChBRUlPVVkpLSAgICAgICAgICBICi1TQUwgSVIoQUVJT1VZKS0gICAgICAgICAgUgotU0FMIEkoSFIpICAgICAgICAgICAgICAgIF8KLVNBTCBKICAgICAgICAgICAgICAgICAgICBLCi1TQUwgS05eICAgICAgICAgICAgICAgICAgTgotU0FMIEtLLSAgICAgICAgICAgICAgICAgIF8KLVNBTCBLICAgICAgICAgICAgICAgICAgICBLCi1TQUwgTEFVR0heICAgICAgICAgICAgICAgTEYKLVNBTCBMTC0gICAgICAgICAgICAgICAgICBfCi1TQUwgTCAgICAgICAgICAgICAgICAgICAgTAotU0FMIE1CJCAgICAgICAgICAgICAgICAgIE0KLVNBTCBNTSAgICAgICAgICAgICAgICAgICBNCi1TQUwgTSAgICAgICAgICAgICAgICAgICAgTQotU0FMIE5OLSAgICAgICAgICAgICAgICAgIF8KLVNBTCBOICAgICAgICAgICAgICAgICAgICBOCi1TQUwgT0goQUVJT1VZKS1eICAgICAgICAgKkgKLVNBTCBPUihBRUlPVVkpLV4gICAgICAgICAqUgotU0FMIE8oSFIpXiAgICAgICAgICAgICAgICoKLVNBTCBPXiAgICAgICAgICAgICAgICAgICAqCi1TQUwgT0goQUVJT1VZKS0gICAgICAgICAgSAotU0FMIE9SKEFFSU9VWSktICAgICAgICAgIFIKLVNBTCBPKEhSKSAgICAgICAgICAgICAgICBfCi1TQUwgUEggICAgICAgICAgICAgICAgICAgRgotU0FMIFBOXiAgICAgICAgICAgICAgICAgIE4KLVNBTCBQUC0gICAgICAgICAgICAgICAgICBfCi1TQUwgUCAgICAgICAgICAgICAgICAgICAgUAotU0FMIFEgICAgICAgICAgICAgICAgICAgIEsKLVNBTCBSSF4gICAgICAgICAgICAgICAgICBSCi1TQUwgUk9VR0heICAgICAgICAgICAgICAgUkYKLVNBTCBSUi0gICAgICAgICAgICAgICAgICBfCi1TQUwgUiAgICAgICAgICAgICAgICAgICAgUgotU0FMIFNDSChFT1UpLSAgICAgICAgICAgIFNLCi1TQUwgU0MoSUVZKS0gICAgICAgICAgICAgUwotU0FMIFNIICAgICAgICAgICAgICAgICAgIFgKLVNBTCBTSShBTyktICAgICAgICAgICAgICBYCi1TQUwgU1MtICAgICAgICAgICAgICAgICAgXwotU0FMIFMgICAgICAgICAgICAgICAgICAgIFMKLVNBTCBUSShBTyktICAgICAgICAgICAgICBYCi1TQUwgVEggICAgICAgICAgICAgICAgICAgQAotU0FMIFRDSC0tICAgICAgICAgICAgICAgIF8KLVNBTCBUT1VHSF4gICAgICAgICAgICAgICBURgotU0FMIFRULSAgICAgICAgICAgICAgICAgIF8KLVNBTCBUICAgICAgICAgICAgICAgICAgICBUCi1TQUwgVUgoQUVJT1VZKS1eICAgICAgICAgKkgKLVNBTCBVUihBRUlPVVkpLV4gICAgICAgICAqUgotU0FMIFUoSFIpXiAgICAgICAgICAgICAgICoKLVNBTCBVXiAgICAgICAgICAgICAgICAgICAqCi1TQUwgVUgoQUVJT1VZKS0gICAgICAgICAgSAotU0FMIFVSKEFFSU9VWSktICAgICAgICAgIFIKLVNBTCBVKEhSKSAgICAgICAgICAgICAgICBfCi1TQUwgVl4gICAgICAgICAgICAgICAgICAgVwotU0FMIFYgICAgICAgICAgICAgICAgICAgIEYKLVNBTCBXUl4gICAgICAgICAgICAgICAgICBSCi1TQUwgV0heICAgICAgICAgICAgICAgICAgVwotU0FMIFcoQUVJT1UpLSAgICAgICAgICAgIFcKLVNBTCBYXiAgICAgICAgICAgICAgICAgICBTCi1TQUwgWCAgICAgICAgICAgICAgICAgICAgS1MKLVNBTCBZKEFFSU9VKS0gICAgICAgICAgICBZCi1TQUwgWlotICAgICAgICAgICAgICAgICAgXwotU0FMIFogICAgICAgICAgICAgICAgICAgIFMKLWFmZmVuZF9zYWwKLQotMmFmZnN0YXJ0Ci1TRVQgSVNPODg1OS0xCi0KLUZPTCAg4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb4+fr7/P3+3/8KLUxPVyAg4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb4+fr7/P3+3/8KLVVQUCAgwMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbY2drb3N3e3/8KLQotUEZYUE9TVFBPTkUKLQotTUlEV09SRAknLQotCi1LRVAgPQotUkFSID8KLUJBRCAhCi0KLSNOT1NQTElUU1VHUwotCi1QRlggSSBOIDEKLVBGWCBJIDAgaW4gLgotCi1QRlggTyBZIDEKLVBGWCBPIDAgb3V0IFthLXpdCi0KLVNGWCBTIFkgMgotU0ZYIFMgMCBzIFtec10KLVNGWCBTIDAgZXMgcwotCi1TRlggTiBOIDMKLVNGWCBOIDAgZW4gW15uXQotU0ZYIE4gMCBuZW4gbgotU0ZYIE4gMCBuIC4KLQotUkVQIDMKLVJFUCBnIGNoCi1SRVAgY2ggZwotUkVQIHN2cCBzLnYucC4KLQotTUFQIDkKLU1BUCBh4OHi4+TlCi1NQVAgZejp6usKLU1BUCBp7O3u7wotTUFQIG/y8/T19gotTUFQIHX5+vv8Ci1NQVAgbvEKLU1BUCBj5wotTUFQIHn//QotTUFQIHPfCi0yYWZmZW5kCi0KLTFkaWNzdGFydAotMTIzNDU2Ci10ZXN0L05PCi0jIGNvbW1lbnQKLXdyb25nCi1Db21tZW50Ci1PSwotdWsKLXB1dC9JU08KLXRoZSBlbmQKLWRlb2wKLWTp9HIKLTFkaWNlbmQKLQotYWRkc3RhcnQKLS9yZWdpb25zPXVzZ2JuegotZWxlcXVpbnQvMgotZWxla3dpbnQvMwotYWRkZW5kCi0KLTFnb29kOiB3cm9uZyBPSyBwdXRzLiBUZXN0IHRoZSBlbmQKLWJhZDogIGlucHV0cyBjb21tZW50IG9rIE9rLiB0ZXN0IGTDqcO0bCBlbmQgdGhlCi1iYWRlbmQKLQotMmdvb2Q6IHB1dHMKLWJhZDogaW5wdXRzIGNvbW1lbnQgb2sgT2sgZW5kIHRoZS4gdGVzdCBkw6nDtGwKLWJhZGVuZAotCi1UZXN0IHJ1bGVzIGZvciBjb21wb3VuZGluZy4KLQotM2FmZnN0YXJ0Ci1TRVQgSVNPODg1OS0xCi0KLUNPTVBPVU5ETUlOIDMKLUNPTVBPVU5EUlVMRSBtKgotTkVFRENPTVBPVU5EIHgKLTNhZmZlbmQKLQotM2RpY3N0YXJ0Ci0xMjM0Ci1mb28vbQotYmFyL214Ci1t7y9tCi1sYS9teAotM2RpY2VuZAotCi0zZ29vZDogZm9vIG3DryBmb29iYXIgZm9vZm9vYmFyIGJhcmZvbyBiYXJiYXJmb28KLWJhZDogYmFyIGxhIGZvb23DryBiYXJtw68gbcOvZm9vIG3Dr2JhciBtw69tw68gbGFsYSBtw69sYSBsYW3DryBmb29sYSBsYWJhcgotYmFkZW5kCi0KLQotVGVzdHMgZm9yIGNvbXBvdW5kaW5nLgotCi00YWZmc3RhcnQKLVNFVCBJU084ODU5LTEKLQotRk9MICDg4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7f/wotTE9XICDg4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7f/wotVVBQICDAwcLDxMXGx8jJysvMzc7P0NHS09TV1tjZ2tvc3d7f/wotCi1DT01QT1VORFJVTEUgbSsKLUNPTVBPVU5EUlVMRSBzbSplCi1DT01QT1VORFJVTEUgc20rCi1DT01QT1VORE1JTiAzCi1DT01QT1VORFdPUkRNQVggMwotQ09NUE9VTkRGT1JCSURGTEFHIHQKLQotQ09NUE9VTkRTWUxNQVggNQotU1lMTEFCTEUgYeFl6Wntb/P29XX6/Pt5L2FhL2F1L2VhL2VlL2VpL2llL29hL29lL29vL291L3V1L3VpCi0KLU1BUCA5Ci1NQVAgYeDh4uPk5QotTUFQIGXo6errCi1NQVAgaezt7u8KLU1BUCBv8vP09fYKLU1BUCB1+fr7/AotTUFQIG7xCi1NQVAgY+cKLU1BUCB5//0KLU1BUCBz3wotCi1ORUVEQUZGSVggeAotCi1QRlhQT1NUUE9ORQotCi1NSURXT1JEICctCi0KLVNGWCBxIE4gMQotU0ZYIHEgICAwICAgIC1vayAuCi0KLVNGWCBhIFkgMgotU0ZYIGEgMCBzIC4KLVNGWCBhIDAgaXplL3QgLgotCi1QRlggcCBOIDEKLVBGWCBwIDAgcHJlIC4KLQotUEZYIFAgTiAxCi1QRlggUCAwIG5vdSAuCi00YWZmZW5kCi0KLTRkaWNzdGFydAotMTIzNAotd29yZC9tUAotdXRpbC9hbQotcHJvL3hxCi10b21hdG8vbQotYm9yay9tcAotc3RhcnQvcwotZW5kL2UKLTRkaWNlbmQKLQotNGdvb2Q6IHdvcmQgdXRpbCBib3JrIHByZWJvcmsgc3RhcnQgZW5kIHdvcmR1dGlsIHdvcmR1dGlscyBwcm8tb2sKLQlib3JrIGJvcmtib3JrIGJvcmtib3JrYm9yayBib3JrYm9ya2Jvcmtib3JrIGJvcmtib3JrYm9ya2Jvcmtib3JrCi0JdG9tYXRvIHRvbWF0b3RvbWF0byBzdGFydGVuZCBzdGFydHdvcmQgc3RhcnR3b3Jkd29yZCBzdGFydHdvcmRlbmQKLQlzdGFydHdvcmR3b3JkZW5kIHN0YXJ0d29yZHdvcmR3b3JkZW5kIHByZWJvcmsgcHJlYm9ya2JvcmsKLQlwcmVib3JrYm9ya2JvcmsKLQlub3V3b3JkCi1iYWQ6IHdvcmR1dGlsaXplIHBybyBib3JrYm9ya2Jvcmtib3JrYm9ya2JvcmsgdG9tYXRvdG9tYXRvdG9tYXRvCi0JZW5kc3RhcnQgZW5kZW5kIHN0YXJ0c3RhcnQgd29yZGVuZCB3b3Jkc3RhcnQKLQlwcmVib3JrcHJlYm9yayAgcHJlYm9ya3ByZWJvcmtib3JrCi0gCXN0YXJ0d29yZHdvcmR3b3Jkd29yZGVuZCBib3JrcHJlYm9ya3ByZWJvcmtib3JrCi0JdXRpbHNib3JrICBzdGFydG5vdXdvcmQKLWJhZGVuZAotCi10ZXN0MjoKLWVsZXF1aW50IHRlc3QgZWxla3dpbnQgdGVzdCBlbGVrd2VudCBhc2RmCi0KLVRlc3QgYWZmaXggZmxhZ3Mgd2l0aCB0d28gY2hhcmFjdGVycwotCi01YWZmc3RhcnQKLVNFVCBJU084ODU5LTEKLQotRkxBRyBsb25nCi0KLU5FRURBRkZJWCAhIQotCi1DT01QT1VORFJVTEUgc3NtbSplZQotCi1ORUVEQ09NUE9VTkQgeHgKLUNPTVBPVU5EUEVSTUlURkxBRyBwcAotCi1TRlggMTMgWSAxCi1TRlggMTMgMCBib3JrIC4KLQotU0ZYIGExIFkgMQotU0ZYIGExIDAgYTEgLgotCi1TRlggYekgWSAxCi1TRlggYekgMCBh6SAuCi0KLVBGWCB6eiBZIDEKLVBGWCB6eiAwIHByZS9wcCAuCi0KLVBGWCB5eSBZIDEKLVBGWCB5eSAwIG5vdSAuCi01YWZmZW5kCi0KLTVkaWNzdGFydAotMTIzNAotZm9vL2ExYekhIQotYmFyL3p6MTNlZQotc3RhcnQvc3MKLWVuZC9lZXl5Ci1taWRkbGUvbW14eAotNWRpY2VuZAotCi01Z29vZDogZm9vYTEgZm9vYcOpIGJhciBwcmViYXIgYmFyYm9yayBwcmViYXJib3JrICBzdGFydHByZWJhcgotICAgICAgc3RhcnQgZW5kIHN0YXJ0ZW5kICBzdGFydG1pZGRsZWVuZCBub3VlbmQKLWJhZDogZm9vIGZvb2EyIHByYWJhciBwcm9iYXJiaXJrIG1pZGRsZSBzdGFydG1pZGRsZSBtaWRkbGVlbmQgZW5kc3RhcnQKLQlzdGFydHByb2JhciBzdGFydG5vdWVuZAotYmFkZW5kCi0KLTZhZmZzdGFydAotU0VUIElTTzg4NTktMQotCi1GTEFHIGNhcGxvbmcKLQotTkVFREFGRklYIEEhCi0KLUNPTVBPVU5EUlVMRSBzTW0qRWUKLQotTkVFRENPTVBPVU5EIFh4Ci0KLUNPTVBPVU5EUEVSTUlURkxBRyBwCi0KLVNGWCBOMyBZIDEKLVNGWCBOMyAwIGJvcmsgLgotCi1TRlggQTEgWSAxCi1TRlggQTEgMCBhMSAuCi0KLVNGWCBB6SBZIDEKLVNGWCBB6SAwIGHpIC4KLQotUEZYIFp6IFkgMQotUEZYIFp6IDAgcHJlL3AgLgotNmFmZmVuZAotCi02ZGljc3RhcnQKLTEyMzQKLW1lZS9BMUHpQSEKLWJhci9aek4zRWUKLWxlYWQvcwotZW5kL0VlCi1taWRkbGUvTW1YeAotNmRpY2VuZAotCi02Z29vZDogbWVlYTEgbWVlYcOpIGJhciBwcmViYXIgYmFyYm9yayBwcmViYXJib3JrICBsZWFkcHJlYmFyCi0gICAgICBsZWFkIGVuZCBsZWFkZW5kICBsZWFkbWlkZGxlZW5kCi1iYWQ6IG1lZSBtZWVhMiBwcmFiYXIgcHJvYmFyYmlyayBtaWRkbGUgbGVhZG1pZGRsZSBtaWRkbGVlbmQgZW5kbGVhZAotCWxlYWRwcm9iYXIKLWJhZGVuZAotCi03YWZmc3RhcnQKLVNFVCBJU084ODU5LTEKLQotRk9MICDg4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7f/wotTE9XICDg4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7f/wotVVBQICDAwcLDxMXGx8jJysvMzc7P0NHS09TV1tjZ2tvc3d7f/wotCi1GTEFHIG51bQotCi1ORUVEQUZGSVggOTk5OQotCi1DT01QT1VORFJVTEUgMiw3NyoxMjMKLQotTkVFRENPTVBPVU5EIDEKLUNPTVBPVU5EUEVSTUlURkxBRyA0MzIKLQotU0ZYIDYxMDAzIFkgMQotU0ZYIDYxMDAzIDAgbWVhdCAuCi0KLVNGWCAzOTEgWSAxCi1TRlggMzkxIDAgYTEgLgotCi1TRlggMTExIFkgMQotU0ZYIDExMSAwIGHpIC4KLQotUEZYIDE3IFkgMQotUEZYIDE3IDAgcHJlLzQzMiAuCi03YWZmZW5kCi0KLTdkaWNzdGFydAotMTIzNAotbWVlLzM5MSwxMTEsOTk5OQotYmFyLzE3LDYxMDAzLDEyMwotbGVhZC8yCi10YWlsLzEyMwotbWlkZGxlLzc3LDEKLTdkaWNlbmQKLQotN2dvb2Q6IG1lZWExIG1lZWHDqSBiYXIgcHJlYmFyIGJhcm1lYXQgcHJlYmFybWVhdCAgbGVhZHByZWJhcgotICAgICAgbGVhZCB0YWlsIGxlYWR0YWlsICBsZWFkbWlkZGxldGFpbAotYmFkOiBtZWUgbWVlYTIgcHJhYmFyIHByb2Jhcm1hYXQgbWlkZGxlIGxlYWRtaWRkbGUgbWlkZGxldGFpbCB0YWlsbGVhZAotCWxlYWRwcm9iYXIKLWJhZGVuZAotCi10ZXN0IG91dHB1dDoKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3Q1OS5vayBiL3NyYy90ZXN0ZGlyL3Rlc3Q1OS5vawpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTMxY2RkOS4uMDAwMDAwMAotLS0gYS9zcmMvdGVzdGRpci90ZXN0NTkub2sKKysrIC9kZXYvbnVsbApAQCAtMSwyNzAgKzAsMCBAQAotdGVzdCBvdXRwdXQ6Ci0KLXRlc3QgMS0xCi0jIGZpbGU6IFh0ZXN0LnV0Zi04LnNwbAotQ29tbWVudAotZGVvbAotZMOpw7RyCi1pbnB1dAotT0sKLW91dHB1dAotb3V0cHV0cwotb3V0dGVzdAotcHV0Ci1wdXRzCi10ZXN0Ci10ZXN0ZW4KLXRlc3RuCi10aGUgZW5kCi11awotd3JvbmcKLS0tLS0tLS0KLWJhZAotWydwdXQnLCAndWsnLCAnT0snXQotaW5wdXRzCi1bJ2lucHV0JywgJ3B1dHMnLCAnb3V0cHV0cyddCi1jb21tZW50Ci1bJ0NvbW1lbnQnLCAnb3V0dGVzdCcsICd0aGUgZW5kJ10KLW9rCi1bJ09LJywgJ3VrJywgJ3B1dCddCi1PawotWydPSycsICdVaycsICdQdXQnXQotdGVzdAotWydUZXN0JywgJ3Rlc3RuJywgJ3Rlc3RlbiddCi1kw6nDtGwKLVsnZGVvbCcsICdkw6nDtHInLCAndGVzdCddCi1lbmQKLVsncHV0JywgJ3VrJywgJ3Rlc3QnXQotdGhlCi1bJ3B1dCcsICd1aycsICd0ZXN0J10KLWdlYmxldGVnZWsKLWtlcGVyZW5ldmVuCi1ldmVybGVzIGdlc3ZldHMgZXRlbGUKLWtibHR5a2sKLWtwcm5mbgotKmZscyBrc3d0cyB0bAotZWxla3dlbnQKLWVsZXF1aW50Ci1lbGVrd2ludAotZWxla3dpbnQKLWVsZWt3ZW50Ci1lbGVxdWludAotZWxla3dlbnQKLWVsZXF1aW50Ci1lbGVrd2ludAotCi10ZXN0IDItMQotIyBmaWxlOiBYdGVzdC51dGYtOC5zcGwKLUNvbW1lbnQKLWRlb2wKLWTDqcO0cgotT0sKLXB1dAotaW5wdXQKLW91dHB1dAotcHV0cwotb3V0cHV0cwotdGVzdAotb3V0dGVzdAotdGVzdGVuCi10ZXN0bgotdGhlIGVuZAotdWsKLXdyb25nCi0tLS0tLS0tCi1iYWQKLVsncHV0JywgJ3VrJywgJ09LJ10KLWlucHV0cwotWydpbnB1dCcsICdwdXRzJywgJ291dHB1dHMnXQotY29tbWVudAotWydDb21tZW50J10KLW9rCi1bJ09LJywgJ3VrJywgJ3B1dCddCi1PawotWydPSycsICdVaycsICdQdXQnXQotZW5kCi1bJ3B1dCcsICd1aycsICdkZW9sJ10KLXRoZQotWydwdXQnLCAndWsnLCAndGVzdCddCi10ZXN0Ci1bJ1Rlc3QnLCAndGVzdG4nLCAndGVzdGVuJ10KLWTDqcO0bAotWydkZW9sJywgJ2TDqcO0cicsICd0ZXN0J10KLQotdGVzdCAzLTMKLSMgZmlsZTogWHRlc3QudXRmLTguc3BsCi1mb28KLW3DrwotLS0tLS0tLQotYmFkCi1bJ2ZvbycsICdtw68nXQotYmFyCi1bJ2JhcmZvbycsICdmb29iYXInLCAnZm9vJ10KLWxhCi1bJ23DrycsICdmb28nXQotZm9vbcOvCi1bJ2ZvbyBtw68nLCAnZm9vJywgJ2Zvb2ZvbyddCi1iYXJtw68KLVsnYmFyZm9vJywgJ23DrycsICdiYXJiYXInXQotbcOvZm9vCi1bJ23DryBmb28nLCAnZm9vJywgJ2Zvb2ZvbyddCi1tw69iYXIKLVsnZm9vYmFyJywgJ2JhcmJhcicsICdtw68nXQotbcOvbcOvCi1bJ23DryBtw68nLCAnbcOvJ10KLWxhbGEKLVtdCi1tw69sYQotWydtw68nLCAnbcOvIG3DryddCi1sYW3DrwotWydtw68nLCAnbcOvIG3DryddCi1mb29sYQotWydmb28nLCAnZm9vYmFyJywgJ2Zvb2ZvbyddCi1sYWJhcgotWydiYXJiYXInLCAnZm9vYmFyJ10KLQotdGVzdCA0LTQKLSMgZmlsZTogWHRlc3QudXRmLTguc3BsCi1ib3JrCi1wcmVib3JrCi1lbmQKLXByby1vawotc3RhcnQKLXRvbWF0bwotdXRpbAotdXRpbGl6ZQotdXRpbHMKLXdvcmQKLW5vdXdvcmQKLS0tLS0tLS0KLWJhZAotWydlbmQnLCAnYm9yaycsICd3b3JkJ10KLXdvcmR1dGlsaXplCi1bJ3dvcmQgdXRpbGl6ZScsICd3b3JkdXRpbHMnLCAnd29yZHV0aWwnXQotcHJvCi1bJ2JvcmsnLCAnd29yZCcsICdlbmQnXQotYm9ya2Jvcmtib3JrYm9ya2Jvcmtib3JrCi1bJ2JvcmsgYm9ya2Jvcmtib3JrYm9ya2JvcmsnLCAnYm9ya2JvcmsgYm9ya2Jvcmtib3JrYm9yaycsICdib3JrYm9ya2JvcmsgYm9ya2Jvcmtib3JrJ10KLXRvbWF0b3RvbWF0b3RvbWF0bwotWyd0b21hdG8gdG9tYXRvdG9tYXRvJywgJ3RvbWF0b3RvbWF0byB0b21hdG8nLCAndG9tYXRvIHRvbWF0byB0b21hdG8nXQotZW5kc3RhcnQKLVsnZW5kIHN0YXJ0JywgJ3N0YXJ0J10KLWVuZGVuZAotWydlbmQgZW5kJywgJ2VuZCddCi1zdGFydHN0YXJ0Ci1bJ3N0YXJ0IHN0YXJ0J10KLXdvcmRlbmQKLVsnd29yZCBlbmQnLCAnd29yZCcsICd3b3Jkd29yZCddCi13b3Jkc3RhcnQKLVsnd29yZCBzdGFydCcsICdib3JrIHN0YXJ0J10KLXByZWJvcmtwcmVib3JrCi1bJ3ByZWJvcmsgcHJlYm9yaycsICdwcmVib3JrYm9yaycsICdwcmVib3JrYm9ya2JvcmsnXQotcHJlYm9ya3ByZWJvcmtib3JrCi1bJ3ByZWJvcmsgcHJlYm9ya2JvcmsnLCAncHJlYm9ya2Jvcmtib3JrJywgJ3ByZWJvcmtib3JrYm9ya2JvcmsnXQotc3RhcnR3b3Jkd29yZHdvcmR3b3JkZW5kCi1bJ3N0YXJ0d29yZHdvcmR3b3Jkd29yZCBlbmQnLCAnc3RhcnR3b3Jkd29yZHdvcmR3b3JkJywgJ3N0YXJ0IHdvcmR3b3Jkd29yZHdvcmQgZW5kJ10KLWJvcmtwcmVib3JrcHJlYm9ya2JvcmsKLVsnYm9yayBwcmVib3JrcHJlYm9ya2JvcmsnLCAnYm9yayBwcmVib3JrIHByZWJvcmtib3JrJywgJ2JvcmsgcHJlYm9ya3ByZWJvcmsgYm9yayddCi11dGlsc2JvcmsKLVsndXRpbGJvcmsnLCAndXRpbHMgYm9yaycsICd1dGlsIGJvcmsnXQotc3RhcnRub3V3b3JkCi1bJ3N0YXJ0IG5vdXdvcmQnLCAnc3RhcnR3b3JkJywgJ3N0YXJ0Ym9ya3dvcmQnXQotCi10ZXN0IDUtNQotIyBmaWxlOiBYdGVzdC51dGYtOC5zcGwKLWJhcgotYmFyYm9yawotZW5kCi1mb29hMQotZm9vYcOpCi1ub3VlbmQKLXByZWJhcgotcHJlYmFyYm9yawotc3RhcnQKLS0tLS0tLS0KLWJhZAotWydiYXInLCAnZW5kJywgJ2Zvb2ExJ10KLWZvbwotWydmb29hMScsICdmb29hw6knLCAnYmFyJ10KLWZvb2EyCi1bJ2Zvb2ExJywgJ2Zvb2HDqScsICdiYXInXQotcHJhYmFyCi1bJ3ByZWJhcicsICdiYXInLCAnYmFyIGJhciddCi1wcm9iYXJiaXJrCi1bJ3ByZWJhcmJvcmsnXQotbWlkZGxlCi1bXQotc3RhcnRtaWRkbGUKLVsnc3RhcnRtaWRkbGVlbmQnLCAnc3RhcnRtaWRkbGViYXInXQotbWlkZGxlZW5kCi1bXQotZW5kc3RhcnQKLVsnZW5kIHN0YXJ0JywgJ3N0YXJ0J10KLXN0YXJ0cHJvYmFyCi1bJ3N0YXJ0cHJlYmFyJywgJ3N0YXJ0IHByZWJhcicsICdzdGFydGJhciddCi1zdGFydG5vdWVuZAotWydzdGFydCBub3VlbmQnLCAnc3RhcnRlbmQnXQotCi10ZXN0IDYtNgotIyBmaWxlOiBYdGVzdC51dGYtOC5zcGwKLWJhcgotYmFyYm9yawotZW5kCi1sZWFkCi1tZWVhMQotbWVlYcOpCi1wcmViYXIKLXByZWJhcmJvcmsKLS0tLS0tLS0KLWJhZAotWydiYXInLCAnZW5kJywgJ2xlYWQnXQotbWVlCi1bJ21lZWExJywgJ21lZWHDqScsICdiYXInXQotbWVlYTIKLVsnbWVlYTEnLCAnbWVlYcOpJywgJ2xlYWQnXQotcHJhYmFyCi1bJ3ByZWJhcicsICdiYXInLCAnbGVhZGJhciddCi1wcm9iYXJiaXJrCi1bJ3ByZWJhcmJvcmsnXQotbWlkZGxlCi1bXQotbGVhZG1pZGRsZQotWydsZWFkbWlkZGxlZW5kJywgJ2xlYWRtaWRkbGViYXInXQotbWlkZGxlZW5kCi1bXQotZW5kbGVhZAotWydlbmQgbGVhZCcsICdsZWFkJywgJ2VuZCBlbmQnXQotbGVhZHByb2JhcgotWydsZWFkcHJlYmFyJywgJ2xlYWQgcHJlYmFyJywgJ2xlYWRiYXInXQotCi10ZXN0IDctNwotIyBmaWxlOiBYdGVzdC51dGYtOC5zcGwKLWJhcgotYmFybWVhdAotbGVhZAotbWVlYTEKLW1lZWHDqQotcHJlYmFyCi1wcmViYXJtZWF0Ci10YWlsCi0tLS0tLS0tCi1iYWQKLVsnYmFyJywgJ2xlYWQnLCAndGFpbCddCi1tZWUKLVsnbWVlYTEnLCAnbWVlYcOpJywgJ2JhciddCi1tZWVhMgotWydtZWVhMScsICdtZWVhw6knLCAnbGVhZCddCi1wcmFiYXIKLVsncHJlYmFyJywgJ2JhcicsICdsZWFkYmFyJ10KLXByb2Jhcm1hYXQKLVsncHJlYmFybWVhdCddCi1taWRkbGUKLVtdCi1sZWFkbWlkZGxlCi1bJ2xlYWRtaWRkbGViYXInXQotbWlkZGxldGFpbAotW10KLXRhaWxsZWFkCi1bJ3RhaWwgbGVhZCcsICd0YWlsJ10KLWxlYWRwcm9iYXIKLVsnbGVhZHByZWJhcicsICdsZWFkIHByZWJhcicsICdsZWFkYmFyJ10KZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3Rfc3BlbGxfdXRmOC52aW0gYi9zcmMvdGVzdGRpci90ZXN0X3NwZWxsX3V0ZjgudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmNTYxZTQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdGRpci90ZXN0X3NwZWxsX3V0ZjgudmltCkBAIC0wLDAgKzEsNzY4IEBACisiIFRlc3QgZm9yIHNwZWxsIGNoZWNraW5nIHdpdGggJ2VuY29kaW5nJyBzZXQgdG8gdXRmLTgKKworc291cmNlIGNoZWNrLnZpbQorQ2hlY2tGZWF0dXJlIHNwZWxsCisKK3NjcmlwdGVuY29kaW5nIHV0Zi04CisKK2Z1bmMgVGVhckRvd24oKQorICBzZXQgbm9zcGVsbAorICBjYWxsIGRlbGV0ZSgnWHRlc3QuYWZmJykKKyAgY2FsbCBkZWxldGUoJ1h0ZXN0LmRpYycpCisgIGNhbGwgZGVsZXRlKCdYdGVzdC51dGYtOC5hZGQnKQorICBjYWxsIGRlbGV0ZSgnWHRlc3QudXRmLTguYWRkLnNwbCcpCisgIGNhbGwgZGVsZXRlKCdYdGVzdC51dGYtOC5zcGwnKQorICBjYWxsIGRlbGV0ZSgnWHRlc3QudXRmLTguc3VnJykKK2VuZGZ1bmMKKworbGV0IGc6dGVzdF9kYXRhX2FmZjEgPSBbCisgICAgICBcIlNFVCBJU084ODU5LTEiLAorICAgICAgXCJUUlkgZXNpYW5ydG9sY2R1Z21waGJ5ZnZrd2prcXh6LcOrw6nDqMOqw6/DrsOkw6DDosO2w7zDuydFU0lBTlJUT0xDRFVHTVBIQllGVktXSktRWFoiLAorICAgICAgXCIiLAorICAgICAgXCJGT0wgIMOgw6HDosOjw6TDpcOmw6fDqMOpw6rDq8Osw63DrsOvw7DDscOyw7PDtMO1w7bDuMO5w7rDu8O8w73DvsOfw78iLAorICAgICAgXCJMT1cgIMOgw6HDosOjw6TDpcOmw6fDqMOpw6rDq8Osw63DrsOvw7DDscOyw7PDtMO1w7bDuMO5w7rDu8O8w73DvsOfw78iLAorICAgICAgXCJVUFAgIMOAw4HDgsODw4TDhcOGw4fDiMOJw4rDi8OMw43DjsOPw5DDkcOSw5PDlMOVw5bDmMOZw5rDm8Ocw53DnsOfw78iLAorICAgICAgXCIiLAorICAgICAgXCJTT0ZPRlJPTSBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaXHhFMFx4RTFceEUyXHhFM1x4RTRceEU1XHhFNlx4RTdceEU4XHhFOVx4RUFceEVCXHhFQ1x4RURceEVFXHhFRlx4RjBceEYxXHhGMlx4RjNceEY0XHhGNVx4RjZceEY4XHhGOVx4RkFceEZCXHhGQ1x4RkRceEZFXHhERlx4RkZceEMwXHhDMVx4QzJceEMzXHhDNFx4QzVceEM2XHhDN1x4QzhceEM5XHhDQVx4Q0JceENDXHhDRFx4Q0VceENGXHhEMFx4RDFceEQyXHhEM1x4RDRceEQ1XHhENlx4RDhceEQ5XHhEQVx4REJceERDXHhERFx4REVceEJGIiwKKyAgICAgIFwiU09GT1RPICAgZWJjdGVmZ2hlamtsbm5lcGtyc3RldnZrZXNlYmN0ZWZnaGVqa2xubmVwa3JzdGV2dmtlc2VlZWVlZWVjZWVlZWVlZWVkbmVlZWVlZWVlZWVlcHNlZWVlZWVlZWNlZWVlZWVlZWRuZWVlZWVlZWVlZWVwPyIsCisgICAgICBcIiIsCisgICAgICBcIk1JRFdPUkRcdCctIiwKKyAgICAgIFwiIiwKKyAgICAgIFwiS0VQID0iLAorICAgICAgXCJSQVIgPyIsCisgICAgICBcIkJBRCAhIiwKKyAgICAgIFwiIiwKKyAgICAgIFwiUEZYIEkgTiAxIiwKKyAgICAgIFwiUEZYIEkgMCBpbiAuIiwKKyAgICAgIFwiIiwKKyAgICAgIFwiUEZYIE8gWSAxIiwKKyAgICAgIFwiUEZYIE8gMCBvdXQgLiIsCisgICAgICBcIiIsCisgICAgICBcIlNGWCBTIFkgMiIsCisgICAgICBcIlNGWCBTIDAgcyBbXnNdIiwKKyAgICAgIFwiU0ZYIFMgMCBlcyBzIiwKKyAgICAgIFwiIiwKKyAgICAgIFwiU0ZYIE4gTiAzIiwKKyAgICAgIFwiU0ZYIE4gMCBlbiBbXm5dIiwKKyAgICAgIFwiU0ZYIE4gMCBuZW4gbiIsCisgICAgICBcIlNGWCBOIDAgbiAuIiwKKyAgICAgIFwiIiwKKyAgICAgIFwiUkVQIDMiLAorICAgICAgXCJSRVAgZyBjaCIsCisgICAgICBcIlJFUCBjaCBnIiwKKyAgICAgIFwiUkVQIHN2cCBzLnYucC4iLAorICAgICAgXCIiLAorICAgICAgXCJNQVAgOSIsCisgICAgICBcIk1BUCBhXHhFMFx4RTFceEUyXHhFM1x4RTRceEU1IiwKKyAgICAgIFwiTUFQIGVceEU4XHhFOVx4RUFceEVCIiwKKyAgICAgIFwiTUFQIGlceEVDXHhFRFx4RUVceEVGIiwKKyAgICAgIFwiTUFQIG9ceEYyXHhGM1x4RjRceEY1XHhGNiIsCisgICAgICBcIk1BUCB1XHhGOVx4RkFceEZCXHhGQyIsCisgICAgICBcIk1BUCBuXHhGMSIsCisgICAgICBcIk1BUCBjXHhFNyIsCisgICAgICBcIk1BUCB5XHhGRlx4RkQiLAorICAgICAgXCJNQVAgc1x4REYiCisgICAgICBcIF0KK2xldCBnOnRlc3RfZGF0YV9kaWMxID0gWworICAgICAgXCIxMjM0NTYiLAorICAgICAgXCJ0ZXN0L05PIiwKKyAgICAgIFwiIyBjb21tZW50IiwKKyAgICAgIFwid3JvbmciLAorICAgICAgXCJDb21tZW50IiwKKyAgICAgIFwiT0siLAorICAgICAgXCJ1ayIsCisgICAgICBcInB1dC9JU08iLAorICAgICAgXCJ0aGUgZW5kIiwKKyAgICAgIFwiZGVvbCIsCisgICAgICBcImRceEU5XHhGNHIiLAorICAgICAgXCBdCitsZXQgZzp0ZXN0X2RhdGFfYWZmMiA9IFsKKyAgICAgIFwiU0VUIElTTzg4NTktMSIsCisgICAgICBcIiIsCisgICAgICBcIkZPTCAgXHhFMFx4RTFceEUyXHhFM1x4RTRceEU1XHhFNlx4RTdceEU4XHhFOVx4RUFceEVCXHhFQ1x4RURceEVFXHhFRlx4RjBceEYxXHhGMlx4RjNceEY0XHhGNVx4RjZceEY4XHhGOVx4RkFceEZCXHhGQ1x4RkRceEZFXHhERlx4RkYiLAorICAgICAgXCJMT1cgIFx4RTBceEUxXHhFMlx4RTNceEU0XHhFNVx4RTZceEU3XHhFOFx4RTlceEVBXHhFQlx4RUNceEVEXHhFRVx4RUZceEYwXHhGMVx4RjJceEYzXHhGNFx4RjVceEY2XHhGOFx4RjlceEZBXHhGQlx4RkNceEZEXHhGRVx4REZceEZGIiwKKyAgICAgIFwiVVBQICBceEMwXHhDMVx4QzJceEMzXHhDNFx4QzVceEM2XHhDN1x4QzhceEM5XHhDQVx4Q0JceENDXHhDRFx4Q0VceENGXHhEMFx4RDFceEQyXHhEM1x4RDRceEQ1XHhENlx4RDhceEQ5XHhEQVx4REJceERDXHhERFx4REVceERGXHhGRiIsCisgICAgICBcIiIsCisgICAgICBcIlBGWFBPU1RQT05FIiwKKyAgICAgIFwiIiwKKyAgICAgIFwiTUlEV09SRFx0Jy0iLAorICAgICAgXCIiLAorICAgICAgXCJLRVAgPSIsCisgICAgICBcIlJBUiA/IiwKKyAgICAgIFwiQkFEICEiLAorICAgICAgXCIiLAorICAgICAgXCJQRlggSSBOIDEiLAorICAgICAgXCJQRlggSSAwIGluIC4iLAorICAgICAgXCIiLAorICAgICAgXCJQRlggTyBZIDEiLAorICAgICAgXCJQRlggTyAwIG91dCBbYS16XSIsCisgICAgICBcIiIsCisgICAgICBcIlNGWCBTIFkgMiIsCisgICAgICBcIlNGWCBTIDAgcyBbXnNdIiwKKyAgICAgIFwiU0ZYIFMgMCBlcyBzIiwKKyAgICAgIFwiIiwKKyAgICAgIFwiU0ZYIE4gTiAzIiwKKyAgICAgIFwiU0ZYIE4gMCBlbiBbXm5dIiwKKyAgICAgIFwiU0ZYIE4gMCBuZW4gbiIsCisgICAgICBcIlNGWCBOIDAgbiAuIiwKKyAgICAgIFwiIiwKKyAgICAgIFwiUkVQIDMiLAorICAgICAgXCJSRVAgZyBjaCIsCisgICAgICBcIlJFUCBjaCBnIiwKKyAgICAgIFwiUkVQIHN2cCBzLnYucC4iLAorICAgICAgXCIiLAorICAgICAgXCJNQVAgOSIsCisgICAgICBcIk1BUCBhXHhFMFx4RTFceEUyXHhFM1x4RTRceEU1IiwKKyAgICAgIFwiTUFQIGVceEU4XHhFOVx4RUFceEVCIiwKKyAgICAgIFwiTUFQIGlceEVDXHhFRFx4RUVceEVGIiwKKyAgICAgIFwiTUFQIG9ceEYyXHhGM1x4RjRceEY1XHhGNiIsCisgICAgICBcIk1BUCB1XHhGOVx4RkFceEZCXHhGQyIsCisgICAgICBcIk1BUCBuXHhGMSIsCisgICAgICBcIk1BUCBjXHhFNyIsCisgICAgICBcIk1BUCB5XHhGRlx4RkQiLAorICAgICAgXCJNQVAgc1x4REYiLAorICAgICAgXCBdCitsZXQgZzp0ZXN0X2RhdGFfYWZmMyA9IFsKKyAgICAgIFwiU0VUIElTTzg4NTktMSIsCisgICAgICBcIiIsCisgICAgICBcIkNPTVBPVU5ETUlOIDMiLAorICAgICAgXCJDT01QT1VORFJVTEUgbSoiLAorICAgICAgXCJORUVEQ09NUE9VTkQgeCIsCisgICAgICBcIF0KK2xldCBnOnRlc3RfZGF0YV9kaWMzID0gWworICAgICAgXCIxMjM0IiwKKyAgICAgIFwiZm9vL20iLAorICAgICAgXCJiYXIvbXgiLAorICAgICAgXCJtXHhFRi9tIiwKKyAgICAgIFwibGEvbXgiLAorICAgICAgXCBdCitsZXQgZzp0ZXN0X2RhdGFfYWZmNCA9IFsKKyAgICAgIFwiU0VUIElTTzg4NTktMSIsCisgICAgICBcIiIsCisgICAgICBcIkZPTCAgXHhFMFx4RTFceEUyXHhFM1x4RTRceEU1XHhFNlx4RTdceEU4XHhFOVx4RUFceEVCXHhFQ1x4RURceEVFXHhFRlx4RjBceEYxXHhGMlx4RjNceEY0XHhGNVx4RjZceEY4XHhGOVx4RkFceEZCXHhGQ1x4RkRceEZFXHhERlx4RkYiLAorICAgICAgXCJMT1cgIFx4RTBceEUxXHhFMlx4RTNceEU0XHhFNVx4RTZceEU3XHhFOFx4RTlceEVBXHhFQlx4RUNceEVEXHhFRVx4RUZceEYwXHhGMVx4RjJceEYzXHhGNFx4RjVceEY2XHhGOFx4RjlceEZBXHhGQlx4RkNceEZEXHhGRVx4REZceEZGIiwKKyAgICAgIFwiVVBQICBceEMwXHhDMVx4QzJceEMzXHhDNFx4QzVceEM2XHhDN1x4QzhceEM5XHhDQVx4Q0JceENDXHhDRFx4Q0VceENGXHhEMFx4RDFceEQyXHhEM1x4RDRceEQ1XHhENlx4RDhceEQ5XHhEQVx4REJceERDXHhERFx4REVceERGXHhGRiIsCisgICAgICBcIiIsCisgICAgICBcIkNPTVBPVU5EUlVMRSBtKyIsCisgICAgICBcIkNPTVBPVU5EUlVMRSBzbSplIiwKKyAgICAgIFwiQ09NUE9VTkRSVUxFIHNtKyIsCisgICAgICBcIkNPTVBPVU5ETUlOIDMiLAorICAgICAgXCJDT01QT1VORFdPUkRNQVggMyIsCisgICAgICBcIkNPTVBPVU5ERk9SQklERkxBRyB0IiwKKyAgICAgIFwiIiwKKyAgICAgIFwiQ09NUE9VTkRTWUxNQVggNSIsCisgICAgICBcIlNZTExBQkxFIGFceEUxZVx4RTlpXHhFRG9ceEYzXHhGNlx4RjV1XHhGQVx4RkNceEZCeS9hYS9hdS9lYS9lZS9laS9pZS9vYS9vZS9vby9vdS91dS91aSIsCisgICAgICBcIiIsCisgICAgICBcIk1BUCA5IiwKKyAgICAgIFwiTUFQIGFceEUwXHhFMVx4RTJceEUzXHhFNFx4RTUiLAorICAgICAgXCJNQVAgZVx4RThceEU5XHhFQVx4RUIiLAorICAgICAgXCJNQVAgaVx4RUNceEVEXHhFRVx4RUYiLAorICAgICAgXCJNQVAgb1x4RjJceEYzXHhGNFx4RjVceEY2IiwKKyAgICAgIFwiTUFQIHVceEY5XHhGQVx4RkJceEZDIiwKKyAgICAgIFwiTUFQIG5ceEYxIiwKKyAgICAgIFwiTUFQIGNceEU3IiwKKyAgICAgIFwiTUFQIHlceEZGXHhGRCIsCisgICAgICBcIk1BUCBzXHhERiIsCisgICAgICBcIiIsCisgICAgICBcIk5FRURBRkZJWCB4IiwKKyAgICAgIFwiIiwKKyAgICAgIFwiUEZYUE9TVFBPTkUiLAorICAgICAgXCIiLAorICAgICAgXCJNSURXT1JEICctIiwKKyAgICAgIFwiIiwKKyAgICAgIFwiU0ZYIHEgTiAxIiwKKyAgICAgIFwiU0ZYIHEgICAwICAgIC1vayAuIiwKKyAgICAgIFwiIiwKKyAgICAgIFwiU0ZYIGEgWSAyIiwKKyAgICAgIFwiU0ZYIGEgMCBzIC4iLAorICAgICAgXCJTRlggYSAwIGl6ZS90IC4iLAorICAgICAgXCIiLAorICAgICAgXCJQRlggcCBOIDEiLAorICAgICAgXCJQRlggcCAwIHByZSAuIiwKKyAgICAgIFwiIiwKKyAgICAgIFwiUEZYIFAgTiAxIiwKKyAgICAgIFwiUEZYIFAgMCBub3UgLiIsCisgICAgICBcIF0KK2xldCBnOnRlc3RfZGF0YV9kaWM0ID0gWworICAgICAgXCIxMjM0IiwKKyAgICAgIFwid29yZC9tUCIsCisgICAgICBcInV0aWwvYW0iLAorICAgICAgXCJwcm8veHEiLAorICAgICAgXCJ0b21hdG8vbSIsCisgICAgICBcImJvcmsvbXAiLAorICAgICAgXCJzdGFydC9zIiwKKyAgICAgIFwiZW5kL2UiLAorICAgICAgXCBdCitsZXQgZzp0ZXN0X2RhdGFfYWZmNSA9IFsKKyAgICAgIFwiU0VUIElTTzg4NTktMSIsCisgICAgICBcIiIsCisgICAgICBcIkZMQUcgbG9uZyIsCisgICAgICBcIiIsCisgICAgICBcIk5FRURBRkZJWCAhISIsCisgICAgICBcIiIsCisgICAgICBcIkNPTVBPVU5EUlVMRSBzc21tKmVlIiwKKyAgICAgIFwiIiwKKyAgICAgIFwiTkVFRENPTVBPVU5EIHh4IiwKKyAgICAgIFwiQ09NUE9VTkRQRVJNSVRGTEFHIHBwIiwKKyAgICAgIFwiIiwKKyAgICAgIFwiU0ZYIDEzIFkgMSIsCisgICAgICBcIlNGWCAxMyAwIGJvcmsgLiIsCisgICAgICBcIiIsCisgICAgICBcIlNGWCBhMSBZIDEiLAorICAgICAgXCJTRlggYTEgMCBhMSAuIiwKKyAgICAgIFwiIiwKKyAgICAgIFwiU0ZYIGFceEU5IFkgMSIsCisgICAgICBcIlNGWCBhXHhFOSAwIGFceEU5IC4iLAorICAgICAgXCIiLAorICAgICAgXCJQRlggenogWSAxIiwKKyAgICAgIFwiUEZYIHp6IDAgcHJlL3BwIC4iLAorICAgICAgXCIiLAorICAgICAgXCJQRlggeXkgWSAxIiwKKyAgICAgIFwiUEZYIHl5IDAgbm91IC4iLAorICAgICAgXCBdCitsZXQgZzp0ZXN0X2RhdGFfZGljNSA9IFsKKyAgICAgIFwiMTIzNCIsCisgICAgICBcImZvby9hMWFceEU5ISEiLAorICAgICAgXCJiYXIvenoxM2VlIiwKKyAgICAgIFwic3RhcnQvc3MiLAorICAgICAgXCJlbmQvZWV5eSIsCisgICAgICBcIm1pZGRsZS9tbXh4IiwKKyAgICAgIFwgXQorbGV0IGc6dGVzdF9kYXRhX2FmZjYgPSBbCisgICAgICBcIlNFVCBJU084ODU5LTEiLAorICAgICAgXCIiLAorICAgICAgXCJGTEFHIGNhcGxvbmciLAorICAgICAgXCIiLAorICAgICAgXCJORUVEQUZGSVggQSEiLAorICAgICAgXCIiLAorICAgICAgXCJDT01QT1VORFJVTEUgc01tKkVlIiwKKyAgICAgIFwiIiwKKyAgICAgIFwiTkVFRENPTVBPVU5EIFh4IiwKKyAgICAgIFwiIiwKKyAgICAgIFwiQ09NUE9VTkRQRVJNSVRGTEFHIHAiLAorICAgICAgXCIiLAorICAgICAgXCJTRlggTjMgWSAxIiwKKyAgICAgIFwiU0ZYIE4zIDAgYm9yayAuIiwKKyAgICAgIFwiIiwKKyAgICAgIFwiU0ZYIEExIFkgMSIsCisgICAgICBcIlNGWCBBMSAwIGExIC4iLAorICAgICAgXCIiLAorICAgICAgXCJTRlggQVx4RTkgWSAxIiwKKyAgICAgIFwiU0ZYIEFceEU5IDAgYVx4RTkgLiIsCisgICAgICBcIiIsCisgICAgICBcIlBGWCBaeiBZIDEiLAorICAgICAgXCJQRlggWnogMCBwcmUvcCAuIiwKKyAgICAgIFwgXQorbGV0IGc6dGVzdF9kYXRhX2RpYzYgPSBbCisgICAgICBcIjEyMzQiLAorICAgICAgXCJtZWUvQTFBXHhFOUEhIiwKKyAgICAgIFwiYmFyL1p6TjNFZSIsCisgICAgICBcImxlYWQvcyIsCisgICAgICBcImVuZC9FZSIsCisgICAgICBcIm1pZGRsZS9NbVh4IiwKKyAgICAgIFwgXQorbGV0IGc6dGVzdF9kYXRhX2FmZjcgPSBbCisgICAgICBcIlNFVCBJU084ODU5LTEiLAorICAgICAgXCIiLAorICAgICAgXCJGTEFHIG51bSIsCisgICAgICBcIiIsCisgICAgICBcIk5FRURBRkZJWCA5OTk5IiwKKyAgICAgIFwiIiwKKyAgICAgIFwiQ09NUE9VTkRSVUxFIDIsNzcqMTIzIiwKKyAgICAgIFwiIiwKKyAgICAgIFwiTkVFRENPTVBPVU5EIDEiLAorICAgICAgXCJDT01QT1VORFBFUk1JVEZMQUcgNDMyIiwKKyAgICAgIFwiIiwKKyAgICAgIFwiU0ZYIDYxMDAzIFkgMSIsCisgICAgICBcIlNGWCA2MTAwMyAwIG1lYXQgLiIsCisgICAgICBcIiIsCisgICAgICBcIlNGWCAwIFkgMSIsCisgICAgICBcIlNGWCAwIDAgemVybyAuIiwKKyAgICAgIFwiIiwKKyAgICAgIFwiU0ZYIDM5MSBZIDEiLAorICAgICAgXCJTRlggMzkxIDAgYTEgLiIsCisgICAgICBcIiIsCisgICAgICBcIlNGWCAxMTEgWSAxIiwKKyAgICAgIFwiU0ZYIDExMSAwIGFceEU5IC4iLAorICAgICAgXCIiLAorICAgICAgXCJQRlggMTcgWSAxIiwKKyAgICAgIFwiUEZYIDE3IDAgcHJlLzQzMiAuIiwKKyAgICAgIFwgXQorbGV0IGc6dGVzdF9kYXRhX2RpYzcgPSBbCisgICAgICBcIjEyMzQiLAorICAgICAgXCJtZWUvMCwzOTEsMTExLDk5OTkiLAorICAgICAgXCJiYXIvMTcsNjEwMDMsMTIzIiwKKyAgICAgIFwibGVhZC8yIiwKKyAgICAgIFwidGFpbC8xMjMiLAorICAgICAgXCJtaWRkbGUvNzcsMSIsCisgICAgICBcIF0KK2xldCBnOnRlc3RfZGF0YV9hZmY4ID0gWworICAgICAgXCJTRVQgSVNPODg1OS0xIiwKKyAgICAgIFwiIiwKKyAgICAgIFwiTk9TUExJVFNVR1MiLAorICAgICAgXCBdCitsZXQgZzp0ZXN0X2RhdGFfZGljOCA9IFsKKyAgICAgIFwiMTIzNCIsCisgICAgICBcImZvbyIsCisgICAgICBcImJhciIsCisgICAgICBcImZhYWJhciIsCisgICAgICBcIF0KK2xldCBnOnRlc3RfZGF0YV9hZmY5ID0gWworICAgICAgXCBdCitsZXQgZzp0ZXN0X2RhdGFfZGljOSA9IFsKKyAgICAgIFwiMTIzNCIsCisgICAgICBcImZvbyIsCisgICAgICBcImJhciIsCisgICAgICBcIF0KK2xldCBnOnRlc3RfZGF0YV9hZmYxMCA9IFsKKyAgICAgIFwiQ09NUE9VTkRSVUxFIHNlIiwKKyAgICAgIFwiQ09NUE9VTkRQRVJNSVRGTEFHIHAiLAorICAgICAgXCIiLAorICAgICAgXCJTRlggQSBZIDEiLAorICAgICAgXCJTRlggQSAwIGFibGUvTXAgLiIsCisgICAgICBcIiIsCisgICAgICBcIlNGWCBNIFkgMSIsCisgICAgICBcIlNGWCBNIDAgcyAuIiwKKyAgICAgIFwgXQorbGV0IGc6dGVzdF9kYXRhX2RpYzEwID0gWworICAgICAgXCIxMjM0IiwKKyAgICAgIFwiZHJpbmsvQXMiLAorICAgICAgXCJ0YWJsZS9lIiwKKyAgICAgIFwgXQorbGV0IGc6dGVzdF9kYXRhX2FmZl9zYWwgPSBbCisgICAgICBcIlNFVCBJU084ODU5LTEiLAorICAgICAgXCJUUlkgZXNpYW5ydG9sY2R1Z21waGJ5ZnZrd2prcXh6LVx4RUJceEU5XHhFOFx4RUFceEVGXHhFRVx4RTRceEUwXHhFMlx4RjZceEZDXHhGQidFU0lBTlJUT0xDRFVHTVBIQllGVktXSktRWFoiLAorICAgICAgXCIiLAorICAgICAgXCJGT0wgIFx4RTBceEUxXHhFMlx4RTNceEU0XHhFNVx4RTZceEU3XHhFOFx4RTlceEVBXHhFQlx4RUNceEVEXHhFRVx4RUZceEYwXHhGMVx4RjJceEYzXHhGNFx4RjVceEY2XHhGOFx4RjlceEZBXHhGQlx4RkNceEZEXHhGRVx4REZceEZGIiwKKyAgICAgIFwiTE9XICBceEUwXHhFMVx4RTJceEUzXHhFNFx4RTVceEU2XHhFN1x4RThceEU5XHhFQVx4RUJceEVDXHhFRFx4RUVceEVGXHhGMFx4RjFceEYyXHhGM1x4RjRceEY1XHhGNlx4RjhceEY5XHhGQVx4RkJceEZDXHhGRFx4RkVceERGXHhGRiIsCisgICAgICBcIlVQUCAgXHhDMFx4QzFceEMyXHhDM1x4QzRceEM1XHhDNlx4QzdceEM4XHhDOVx4Q0FceENCXHhDQ1x4Q0RceENFXHhDRlx4RDBceEQxXHhEMlx4RDNceEQ0XHhENVx4RDZceEQ4XHhEOVx4REFceERCXHhEQ1x4RERceERFXHhERlx4RkYiLAorICAgICAgXCIiLAorICAgICAgXCJNSURXT1JEXHQnLSIsCisgICAgICBcIiIsCisgICAgICBcIktFUCA9IiwKKyAgICAgIFwiUkFSID8iLAorICAgICAgXCJCQUQgISIsCisgICAgICBcIiIsCisgICAgICBcIlBGWCBJIE4gMSIsCisgICAgICBcIlBGWCBJIDAgaW4gLiIsCisgICAgICBcIiIsCisgICAgICBcIlBGWCBPIFkgMSIsCisgICAgICBcIlBGWCBPIDAgb3V0IC4iLAorICAgICAgXCIiLAorICAgICAgXCJTRlggUyBZIDIiLAorICAgICAgXCJTRlggUyAwIHMgW15zXSIsCisgICAgICBcIlNGWCBTIDAgZXMgcyIsCisgICAgICBcIiIsCisgICAgICBcIlNGWCBOIE4gMyIsCisgICAgICBcIlNGWCBOIDAgZW4gW15uXSIsCisgICAgICBcIlNGWCBOIDAgbmVuIG4iLAorICAgICAgXCJTRlggTiAwIG4gLiIsCisgICAgICBcIiIsCisgICAgICBcIlJFUCAzIiwKKyAgICAgIFwiUkVQIGcgY2giLAorICAgICAgXCJSRVAgY2ggZyIsCisgICAgICBcIlJFUCBzdnAgcy52LnAuIiwKKyAgICAgIFwiIiwKKyAgICAgIFwiTUFQIDkiLAorICAgICAgXCJNQVAgYVx4RTBceEUxXHhFMlx4RTNceEU0XHhFNSIsCisgICAgICBcIk1BUCBlXHhFOFx4RTlceEVBXHhFQiIsCisgICAgICBcIk1BUCBpXHhFQ1x4RURceEVFXHhFRiIsCisgICAgICBcIk1BUCBvXHhGMlx4RjNceEY0XHhGNVx4RjYiLAorICAgICAgXCJNQVAgdVx4RjlceEZBXHhGQlx4RkMiLAorICAgICAgXCJNQVAgblx4RjEiLAorICAgICAgXCJNQVAgY1x4RTciLAorICAgICAgXCJNQVAgeVx4RkZceEZEIiwKKyAgICAgIFwiTUFQIHNceERGIiwKKyAgICAgIFwiIiwKKyAgICAgIFwiU0FMIEFIKEFFSU9VWSktXiAgICAgICAgICpIIiwKKyAgICAgIFwiU0FMIEFSKEFFSU9VWSktXiAgICAgICAgICpSIiwKKyAgICAgIFwiU0FMIEEoSFIpXiAgICAgICAgICAgICAgICoiLAorICAgICAgXCJTQUwgQV4gICAgICAgICAgICAgICAgICAgKiIsCisgICAgICBcIlNBTCBBSChBRUlPVVkpLSAgICAgICAgICBIIiwKKyAgICAgIFwiU0FMIEFSKEFFSU9VWSktICAgICAgICAgIFIiLAorICAgICAgXCJTQUwgQShIUikgICAgICAgICAgICAgICAgXyIsCisgICAgICBcIlNBTCBceEMwXiAgICAgICAgICAgICAgICAgICAqIiwKKyAgICAgIFwiU0FMIFx4QzVeICAgICAgICAgICAgICAgICAgICoiLAorICAgICAgXCJTQUwgQkItICAgICAgICAgICAgICAgICAgXyIsCisgICAgICBcIlNBTCBCICAgICAgICAgICAgICAgICAgICBCIiwKKyAgICAgIFwiU0FMIENRLSAgICAgICAgICAgICAgICAgIF8iLAorICAgICAgXCJTQUwgQ0lBICAgICAgICAgICAgICAgICAgWCIsCisgICAgICBcIlNBTCBDSCAgICAgICAgICAgICAgICAgICBYIiwKKyAgICAgIFwiU0FMIEMoRUlZKS0gICAgICAgICAgICAgIFMiLAorICAgICAgXCJTQUwgQ0sgICAgICAgICAgICAgICAgICAgSyIsCisgICAgICBcIlNBTCBDT1VHSF4gICAgICAgICAgICAgICBLRiIsCisgICAgICBcIlNBTCBDQzwgICAgICAgICAgICAgICAgICBDIiwKKyAgICAgIFwiU0FMIEMgICAgICAgICAgICAgICAgICAgIEsiLAorICAgICAgXCJTQUwgREcoRUlZKSAgICAgICAgICAgICAgSyIsCisgICAgICBcIlNBTCBERC0gICAgICAgICAgICAgICAgICBfIiwKKyAgICAgIFwiU0FMIEQgICAgICAgICAgICAgICAgICAgIFQiLAorICAgICAgXCJTQUwgXHhDOTwgICAgICAgICAgICAgICAgICAgRSIsCisgICAgICBcIlNBTCBFSChBRUlPVVkpLV4gICAgICAgICAqSCIsCisgICAgICBcIlNBTCBFUihBRUlPVVkpLV4gICAgICAgICAqUiIsCisgICAgICBcIlNBTCBFKEhSKV4gICAgICAgICAgICAgICAqIiwKKyAgICAgIFwiU0FMIEVOT1VHSF4kICAgICAgICAgICAgICpORiIsCisgICAgICBcIlNBTCBFXiAgICAgICAgICAgICAgICAgICAqIiwKKyAgICAgIFwiU0FMIEVIKEFFSU9VWSktICAgICAgICAgIEgiLAorICAgICAgXCJTQUwgRVIoQUVJT1VZKS0gICAgICAgICAgUiIsCisgICAgICBcIlNBTCBFKEhSKSAgICAgICAgICAgICAgICBfIiwKKyAgICAgIFwiU0FMIEZGLSAgICAgICAgICAgICAgICAgIF8iLAorICAgICAgXCJTQUwgRiAgICAgICAgICAgICAgICAgICAgRiIsCisgICAgICBcIlNBTCBHTl4gICAgICAgICAgICAgICAgICBOIiwKKyAgICAgIFwiU0FMIEdOJCAgICAgICAgICAgICAgICAgIE4iLAorICAgICAgXCJTQUwgR05TJCAgICAgICAgICAgICAgICAgTlMiLAorICAgICAgXCJTQUwgR05FRCQgICAgICAgICAgICAgICAgTiIsCisgICAgICBcIlNBTCBHSChBRUlPVVkpLSAgICAgICAgICBLIiwKKyAgICAgIFwiU0FMIEdIICAgICAgICAgICAgICAgICAgIF8iLAorICAgICAgXCJTQUwgR0c5ICAgICAgICAgICAgICAgICAgSyIsCisgICAgICBcIlNBTCBHICAgICAgICAgICAgICAgICAgICBLIiwKKyAgICAgIFwiU0FMIEggICAgICAgICAgICAgICAgICAgIEgiLAorICAgICAgXCJTQUwgSUgoQUVJT1VZKS1eICAgICAgICAgKkgiLAorICAgICAgXCJTQUwgSVIoQUVJT1VZKS1eICAgICAgICAgKlIiLAorICAgICAgXCJTQUwgSShIUileICAgICAgICAgICAgICAgKiIsCisgICAgICBcIlNBTCBJXiAgICAgICAgICAgICAgICAgICAqIiwKKyAgICAgIFwiU0FMIElORzYgICAgICAgICAgICAgICAgIE4iLAorICAgICAgXCJTQUwgSUgoQUVJT1VZKS0gICAgICAgICAgSCIsCisgICAgICBcIlNBTCBJUihBRUlPVVkpLSAgICAgICAgICBSIiwKKyAgICAgIFwiU0FMIEkoSFIpICAgICAgICAgICAgICAgIF8iLAorICAgICAgXCJTQUwgSiAgICAgICAgICAgICAgICAgICAgSyIsCisgICAgICBcIlNBTCBLTl4gICAgICAgICAgICAgICAgICBOIiwKKyAgICAgIFwiU0FMIEtLLSAgICAgICAgICAgICAgICAgIF8iLAorICAgICAgXCJTQUwgSyAgICAgICAgICAgICAgICAgICAgSyIsCisgICAgICBcIlNBTCBMQVVHSF4gICAgICAgICAgICAgICBMRiIsCisgICAgICBcIlNBTCBMTC0gICAgICAgICAgICAgICAgICBfIiwKKyAgICAgIFwiU0FMIEwgICAgICAgICAgICAgICAgICAgIEwiLAorICAgICAgXCJTQUwgTUIkICAgICAgICAgICAgICAgICAgTSIsCisgICAgICBcIlNBTCBNTSAgICAgICAgICAgICAgICAgICBNIiwKKyAgICAgIFwiU0FMIE0gICAgICAgICAgICAgICAgICAgIE0iLAorICAgICAgXCJTQUwgTk4tICAgICAgICAgICAgICAgICAgXyIsCisgICAgICBcIlNBTCBOICAgICAgICAgICAgICAgICAgICBOIiwKKyAgICAgIFwiU0FMIE9IKEFFSU9VWSktXiAgICAgICAgICpIIiwKKyAgICAgIFwiU0FMIE9SKEFFSU9VWSktXiAgICAgICAgICpSIiwKKyAgICAgIFwiU0FMIE8oSFIpXiAgICAgICAgICAgICAgICoiLAorICAgICAgXCJTQUwgT14gICAgICAgICAgICAgICAgICAgKiIsCisgICAgICBcIlNBTCBPSChBRUlPVVkpLSAgICAgICAgICBIIiwKKyAgICAgIFwiU0FMIE9SKEFFSU9VWSktICAgICAgICAgIFIiLAorICAgICAgXCJTQUwgTyhIUikgICAgICAgICAgICAgICAgXyIsCisgICAgICBcIlNBTCBQSCAgICAgICAgICAgICAgICAgICBGIiwKKyAgICAgIFwiU0FMIFBOXiAgICAgICAgICAgICAgICAgIE4iLAorICAgICAgXCJTQUwgUFAtICAgICAgICAgICAgICAgICAgXyIsCisgICAgICBcIlNBTCBQICAgICAgICAgICAgICAgICAgICBQIiwKKyAgICAgIFwiU0FMIFEgICAgICAgICAgICAgICAgICAgIEsiLAorICAgICAgXCJTQUwgUkheICAgICAgICAgICAgICAgICAgUiIsCisgICAgICBcIlNBTCBST1VHSF4gICAgICAgICAgICAgICBSRiIsCisgICAgICBcIlNBTCBSUi0gICAgICAgICAgICAgICAgICBfIiwKKyAgICAgIFwiU0FMIFIgICAgICAgICAgICAgICAgICAgIFIiLAorICAgICAgXCJTQUwgU0NIKEVPVSktICAgICAgICAgICAgU0siLAorICAgICAgXCJTQUwgU0MoSUVZKS0gICAgICAgICAgICAgUyIsCisgICAgICBcIlNBTCBTSCAgICAgICAgICAgICAgICAgICBYIiwKKyAgICAgIFwiU0FMIFNJKEFPKS0gICAgICAgICAgICAgIFgiLAorICAgICAgXCJTQUwgU1MtICAgICAgICAgICAgICAgICAgXyIsCisgICAgICBcIlNBTCBTICAgICAgICAgICAgICAgICAgICBTIiwKKyAgICAgIFwiU0FMIFRJKEFPKS0gICAgICAgICAgICAgIFgiLAorICAgICAgXCJTQUwgVEggICAgICAgICAgICAgICAgICAgQCIsCisgICAgICBcIlNBTCBUQ0gtLSAgICAgICAgICAgICAgICBfIiwKKyAgICAgIFwiU0FMIFRPVUdIXiAgICAgICAgICAgICAgIFRGIiwKKyAgICAgIFwiU0FMIFRULSAgICAgICAgICAgICAgICAgIF8iLAorICAgICAgXCJTQUwgVCAgICAgICAgICAgICAgICAgICAgVCIsCisgICAgICBcIlNBTCBVSChBRUlPVVkpLV4gICAgICAgICAqSCIsCisgICAgICBcIlNBTCBVUihBRUlPVVkpLV4gICAgICAgICAqUiIsCisgICAgICBcIlNBTCBVKEhSKV4gICAgICAgICAgICAgICAqIiwKKyAgICAgIFwiU0FMIFVeICAgICAgICAgICAgICAgICAgICoiLAorICAgICAgXCJTQUwgVUgoQUVJT1VZKS0gICAgICAgICAgSCIsCisgICAgICBcIlNBTCBVUihBRUlPVVkpLSAgICAgICAgICBSIiwKKyAgICAgIFwiU0FMIFUoSFIpICAgICAgICAgICAgICAgIF8iLAorICAgICAgXCJTQUwgVl4gICAgICAgICAgICAgICAgICAgVyIsCisgICAgICBcIlNBTCBWICAgICAgICAgICAgICAgICAgICBGIiwKKyAgICAgIFwiU0FMIFdSXiAgICAgICAgICAgICAgICAgIFIiLAorICAgICAgXCJTQUwgV0heICAgICAgICAgICAgICAgICAgVyIsCisgICAgICBcIlNBTCBXKEFFSU9VKS0gICAgICAgICAgICBXIiwKKyAgICAgIFwiU0FMIFheICAgICAgICAgICAgICAgICAgIFMiLAorICAgICAgXCJTQUwgWCAgICAgICAgICAgICAgICAgICAgS1MiLAorICAgICAgXCJTQUwgWShBRUlPVSktICAgICAgICAgICAgWSIsCisgICAgICBcIlNBTCBaWi0gICAgICAgICAgICAgICAgICBfIiwKKyAgICAgIFwiU0FMIFogICAgICAgICAgICAgICAgICAgIFMiLAorICAgICAgXCBdCisKK2Z1bmMgTG9hZEFmZkFuZERpYyhhZmZfY29udGVudHMsIGRpY19jb250ZW50cykKKyAgc2V0IGVuYz11dGYtOAorICBzZXQgc3BlbGxmaWxlPQorICBjYWxsIHdyaXRlZmlsZShhOmFmZl9jb250ZW50cywgIlh0ZXN0LmFmZiIpCisgIGNhbGwgd3JpdGVmaWxlKGE6ZGljX2NvbnRlbnRzLCAiWHRlc3QuZGljIikKKyAgIiBHZW5lcmF0ZSBhIC5zcGwgZmlsZSBmcm9tIGEgLmRpYyBhbmQgLmFmZiBmaWxlLgorICBta3NwZWxsISBYdGVzdCBYdGVzdAorICAiIHVzZSB0aGF0IHNwZWxsIGZpbGUKKyAgc2V0IHNwbD1YdGVzdC51dGYtOC5zcGwgc3BlbGwKK2VuZGZ1bmMKKworZnVuYyBMaXN0V29yZHMoKQorICBzcGVsbGR1bXAKKyAgJXlhbmsKKyAgcXVpdAorICByZXR1cm4gc3BsaXQoQCIsICJcbiIpCitlbmRmdW5jCisKK2Z1bmMgVGVzdEdvb2RCYWRCYXNlKCkKKyAgZXhlICcxOy9eZ29vZDonCisgIG5vcm1hbCAwZjpdcworICBsZXQgcHJldmJhZCA9ICcnCisgIGxldCByZXN1bHQgPSBbXQorICB3aGlsZSAxCisgICAgbGV0IFtiYWQsIGFdID0gc3BlbGxiYWR3b3JkKCkKKyAgICBpZiBiYWQgPT0gJycgfHwgYmFkID09IHByZXZiYWQgfHwgYmFkID09ICdiYWRlbmQnCisgICAgICBicmVhaworICAgIGVuZGlmCisgICAgbGV0IHByZXZiYWQgPSBiYWQKKyAgICBsZXQgbHN0ID0gYmFkLT5zcGVsbHN1Z2dlc3QoMykKKyAgICBub3JtYWwgbW0KKworICAgIGNhbGwgYWRkKHJlc3VsdCwgW2JhZCwgbHN0XSkKKyAgICBub3JtYWwgYG1dcworICBlbmR3aGlsZQorICByZXR1cm4gcmVzdWx0CitlbmRmdW5jCisKK2Z1bmMgUnVuR29vZEJhZChnb29kLCBiYWQsIGV4cGVjdGVkX3dvcmRzLCBleHBlY3RlZF9iYWRfd29yZHMpCisgICVid2lwZSEKKyAgY2FsbCBzZXRsaW5lKDEsIFsnJywgImdvb2Q6ICIsIGE6Z29vZCwgIGE6YmFkLCAiIGJhZGVuZCAiXSkKKyAgbGV0IHdvcmRzID0gTGlzdFdvcmRzKCkKKyAgY2FsbCBhc3NlcnRfZXF1YWwoYTpleHBlY3RlZF93b3Jkcywgd29yZHNbMTotMV0pCisgIGxldCBiYWRfd29yZHMgPSBUZXN0R29vZEJhZEJhc2UoKQorICBjYWxsIGFzc2VydF9lcXVhbChhOmV4cGVjdGVkX2JhZF93b3JkcywgYmFkX3dvcmRzKQorICAlYndpcGUhCitlbmRmdW5jCisKK2Z1bmMgVGVzdF9zcGVsbF9iYXNpYygpCisgIGNhbGwgTG9hZEFmZkFuZERpYyhnOnRlc3RfZGF0YV9hZmYxLCBnOnRlc3RfZGF0YV9kaWMxKQorICBjYWxsIFJ1bkdvb2RCYWQoIndyb25nIE9LIHB1dHMuIFRlc3QgdGhlIGVuZCIsCisgICAgICAgIFwgImJhZDogaW5wdXRzIGNvbW1lbnQgb2sgT2suIHRlc3QgZFx1MDBFOVx1MDBGNGwgZW5kIHRoZSIsCisgICAgICAgIFxbIkNvbW1lbnQiLCAiZGVvbCIsICJkXHUwMEU5XHUwMEY0ciIsICJpbnB1dCIsICJPSyIsICJvdXRwdXQiLCAib3V0cHV0cyIsICJvdXR0ZXN0IiwgInB1dCIsICJwdXRzIiwKKyAgICAgICAgXCAgInRlc3QiLCAidGVzdGVuIiwgInRlc3RuIiwgInRoZSBlbmQiLCAidWsiLCAid3JvbmciXSwKKyAgICAgICAgXFsKKyAgICAgICAgXCAgIFsiYmFkIiwgWyJwdXQiLCAidWsiLCAiT0siXV0sCisgICAgICAgIFwgICBbImlucHV0cyIsIFsiaW5wdXQiLCAicHV0cyIsICJvdXRwdXRzIl1dLAorICAgICAgICBcICAgWyJjb21tZW50IiwgWyJDb21tZW50IiwgIm91dHRlc3QiLCAidGhlIGVuZCJdXSwKKyAgICAgICAgXCAgIFsib2siLCBbIk9LIiwgInVrIiwgInB1dCJdXSwKKyAgICAgICAgXCAgIFsiT2siLCBbIk9LIiwgIlVrIiwgIlB1dCJdXSwKKyAgICAgICAgXCAgIFsidGVzdCIsIFsiVGVzdCIsICJ0ZXN0biIsICJ0ZXN0ZW4iXV0sCisgICAgICAgIFwgICBbImRcdTAwRTlcdTAwRjRsIiwgWyJkZW9sIiwgImRcdTAwRTlcdTAwRjRyIiwgInRlc3QiXV0sCisgICAgICAgIFwgICBbImVuZCIsIFsicHV0IiwgInVrIiwgInRlc3QiXV0sCisgICAgICAgIFwgICBbInRoZSIsIFsicHV0IiwgInVrIiwgInRlc3QiXV0sCisgICAgICAgIFwgXQorICAgICAgICBcICkKKworICBjYWxsIGFzc2VydF9lcXVhbCgiZ2VibGV0ZWdlayIsIHNvdW5kZm9sZCgnZ29vYmxlZHlnb29vaycpKQorICBjYWxsIGFzc2VydF9lcXVhbCgia2VwZXJlbmV2ZW4iLCAna8Ozb3DDq3LDv27DtHZlbictPnNvdW5kZm9sZCgpKQorICBjYWxsIGFzc2VydF9lcXVhbCgiZXZlcmxlcyBnZXN2ZXRzIGV0ZWxlIiwgc291bmRmb2xkKCdvZXZlcmxvb3MgZ2V6d2V0cyBlZGFsZScpKQorZW5kZnVuYworCisiIFBvc3Rwb25lZCBwcmVmaXhlcworZnVuYyBUZXN0X3NwZWxsX3ByZWZpeGVzKCkKKyAgY2FsbCBMb2FkQWZmQW5kRGljKGc6dGVzdF9kYXRhX2FmZjIsIGc6dGVzdF9kYXRhX2RpYzEpCisgIGNhbGwgUnVuR29vZEJhZCgicHV0cyIsCisgICAgICAgIFwgImJhZDogaW5wdXRzIGNvbW1lbnQgb2sgT2sgZW5kIHRoZS4gdGVzdCBkXHUwMEU5XHUwMEY0bCIsCisgICAgICAgIFwgWyJDb21tZW50IiwgImRlb2wiLCAiZFx1MDBFOVx1MDBGNHIiLCAiT0siLCAicHV0IiwgImlucHV0IiwgIm91dHB1dCIsICJwdXRzIiwgIm91dHB1dHMiLCAidGVzdCIsICJvdXR0ZXN0IiwgInRlc3RlbiIsICJ0ZXN0biIsICJ0aGUgZW5kIiwgInVrIiwgIndyb25nIl0sCisgICAgICAgIFwgWworICAgICAgICBcICAgWyJiYWQiLCBbInB1dCIsICJ1ayIsICJPSyJdXSwKKyAgICAgICAgXCAgIFsiaW5wdXRzIiwgWyJpbnB1dCIsICJwdXRzIiwgIm91dHB1dHMiXV0sCisgICAgICAgIFwgICBbImNvbW1lbnQiLCBbIkNvbW1lbnQiXV0sCisgICAgICAgIFwgICBbIm9rIiwgWyJPSyIsICJ1ayIsICJwdXQiXV0sCisgICAgICAgIFwgICBbIk9rIiwgWyJPSyIsICJVayIsICJQdXQiXV0sCisgICAgICAgIFwgICBbImVuZCIsIFsicHV0IiwgInVrIiwgImRlb2wiXV0sCisgICAgICAgIFwgICBbInRoZSIsIFsicHV0IiwgInVrIiwgInRlc3QiXV0sCisgICAgICAgIFwgICBbInRlc3QiLCBbIlRlc3QiLCAidGVzdG4iLCAidGVzdGVuIl1dLAorICAgICAgICBcICAgWyJkXHUwMEU5XHUwMEY0bCIsIFsiZGVvbCIsICJkXHUwMEU5XHUwMEY0ciIsICJ0ZXN0Il1dLAorICAgICAgICBcIF0pCitlbmRmdW5jCisKKyJDb21wb3VuZCB3b3JkcworZnVuYyBUZXN0X3NwZWxsX2NvbXBvdW5kKCkKKyAgY2FsbCBMb2FkQWZmQW5kRGljKGc6dGVzdF9kYXRhX2FmZjMsIGc6dGVzdF9kYXRhX2RpYzMpCisgIGNhbGwgUnVuR29vZEJhZCgiZm9vIG1cdTAwRUYgZm9vYmFyIGZvb2Zvb2JhciBiYXJmb28gYmFyYmFyZm9vIiwKKyAgICAgICAgXCAiYmFkOiBiYXIgbGEgZm9vbVx1MDBFRiBiYXJtXHUwMEVGIG1cdTAwRUZmb28gbVx1MDBFRmJhciBtXHUwMEVGbVx1MDBFRiBsYWxhIG1cdTAwRUZsYSBsYW1cdTAwRUYgZm9vbGEgbGFiYXIiLAorICAgICAgICBcIFsiZm9vIiwgIm1cdTAwRUYiXSwKKyAgICAgICAgXCBbCisgICAgICAgIFwgICBbImJhZCIsIFsiZm9vIiwgIm1cdTAwRUYiXV0sCisgICAgICAgIFwgICBbImJhciIsIFsiYmFyZm9vIiwgImZvb2JhciIsICJmb28iXV0sCisgICAgICAgIFwgICBbImxhIiwgWyJtXHUwMEVGIiwgImZvbyJdXSwKKyAgICAgICAgXCAgIFsiZm9vbVx1MDBFRiIsIFsiZm9vIG1cdTAwRUYiLCAiZm9vIiwgImZvb2ZvbyJdXSwKKyAgICAgICAgXCAgIFsiYmFybVx1MDBFRiIsIFsiYmFyZm9vIiwgIm1cdTAwRUYiLCAiYmFyYmFyIl1dLAorICAgICAgICBcICAgWyJtXHUwMEVGZm9vIiwgWyJtXHUwMEVGIGZvbyIsICJmb28iLCAiZm9vZm9vIl1dLAorICAgICAgICBcICAgWyJtXHUwMEVGYmFyIiwgWyJmb29iYXIiLCAiYmFyYmFyIiwgIm1cdTAwRUYiXV0sCisgICAgICAgIFwgICBbIm1cdTAwRUZtXHUwMEVGIiwgWyJtXHUwMEVGIG1cdTAwRUYiLCAibVx1MDBFRiJdXSwKKyAgICAgICAgXCAgIFsibGFsYSIsIFtdXSwKKyAgICAgICAgXCAgIFsibVx1MDBFRmxhIiwgWyJtXHUwMEVGIiwgIm1cdTAwRUYgbVx1MDBFRiJdXSwKKyAgICAgICAgXCAgIFsibGFtXHUwMEVGIiwgWyJtXHUwMEVGIiwgIm1cdTAwRUYgbVx1MDBFRiJdXSwKKyAgICAgICAgXCAgIFsiZm9vbGEiLCBbImZvbyIsICJmb29iYXIiLCAiZm9vZm9vIl1dLAorICAgICAgICBcICAgWyJsYWJhciIsIFsiYmFyYmFyIiwgImZvb2JhciJdXSwKKyAgICAgICAgXCBdKQorCisgIGNhbGwgTG9hZEFmZkFuZERpYyhnOnRlc3RfZGF0YV9hZmY0LCBnOnRlc3RfZGF0YV9kaWM0KQorICBjYWxsIFJ1bkdvb2RCYWQoIndvcmQgdXRpbCBib3JrIHByZWJvcmsgc3RhcnQgZW5kIHdvcmR1dGlsIHdvcmR1dGlscyBwcm8tb2sgYm9yayBib3JrYm9yayBib3JrYm9ya2JvcmsgYm9ya2Jvcmtib3JrYm9yayBib3JrYm9ya2Jvcmtib3JrYm9yayB0b21hdG8gdG9tYXRvdG9tYXRvIHN0YXJ0ZW5kIHN0YXJ0d29yZCBzdGFydHdvcmR3b3JkIHN0YXJ0d29yZGVuZCBzdGFydHdvcmR3b3JkZW5kIHN0YXJ0d29yZHdvcmR3b3JkZW5kIHByZWJvcmsgcHJlYm9ya2JvcmsgcHJlYm9ya2Jvcmtib3JrIG5vdXdvcmQiLAorICAgICAgICBcICJiYWQ6IHdvcmR1dGlsaXplIHBybyBib3JrYm9ya2Jvcmtib3JrYm9ya2JvcmsgdG9tYXRvdG9tYXRvdG9tYXRvIGVuZHN0YXJ0IGVuZGVuZCBzdGFydHN0YXJ0IHdvcmRlbmQgd29yZHN0YXJ0IHByZWJvcmtwcmVib3JrICBwcmVib3JrcHJlYm9ya2Jvcmsgc3RhcnR3b3Jkd29yZHdvcmR3b3JkZW5kIGJvcmtwcmVib3JrcHJlYm9ya2JvcmsgdXRpbHNib3JrICBzdGFydG5vdXdvcmQiLAorICAgICAgICBcIFsiYm9yayIsICJwcmVib3JrIiwgImVuZCIsICJwcm8tb2siLCAic3RhcnQiLCAidG9tYXRvIiwgInV0aWwiLCAidXRpbGl6ZSIsICJ1dGlscyIsICJ3b3JkIiwgIm5vdXdvcmQiXSwKKyAgICAgICAgXCBbCisgICAgICAgIFwgICBbImJhZCIsIFsiZW5kIiwgImJvcmsiLCAid29yZCJdXSwKKyAgICAgICAgXCAgIFsid29yZHV0aWxpemUiLCBbIndvcmQgdXRpbGl6ZSIsICJ3b3JkdXRpbHMiLCAid29yZHV0aWwiXV0sCisgICAgICAgIFwgICBbInBybyIsIFsiYm9yayIsICJ3b3JkIiwgImVuZCJdXSwKKyAgICAgICAgXCAgIFsiYm9ya2Jvcmtib3JrYm9ya2Jvcmtib3JrIiwgWyJib3JrIGJvcmtib3JrYm9ya2Jvcmtib3JrIiwgImJvcmtib3JrIGJvcmtib3JrYm9ya2JvcmsiLCAiYm9ya2Jvcmtib3JrIGJvcmtib3JrYm9yayJdXSwKKyAgICAgICAgXCAgIFsidG9tYXRvdG9tYXRvdG9tYXRvIiwgWyJ0b21hdG8gdG9tYXRvdG9tYXRvIiwgInRvbWF0b3RvbWF0byB0b21hdG8iLCAidG9tYXRvIHRvbWF0byB0b21hdG8iXV0sCisgICAgICAgIFwgICBbImVuZHN0YXJ0IiwgWyJlbmQgc3RhcnQiLCAic3RhcnQiXV0sCisgICAgICAgIFwgICBbImVuZGVuZCIsIFsiZW5kIGVuZCIsICJlbmQiXV0sCisgICAgICAgIFwgICBbInN0YXJ0c3RhcnQiLCBbInN0YXJ0IHN0YXJ0Il1dLAorICAgICAgICBcICAgWyJ3b3JkZW5kIiwgWyJ3b3JkIGVuZCIsICJ3b3JkIiwgIndvcmR3b3JkIl1dLAorICAgICAgICBcICAgWyJ3b3Jkc3RhcnQiLCBbIndvcmQgc3RhcnQiLCAiYm9yayBzdGFydCJdXSwKKyAgICAgICAgXCAgIFsicHJlYm9ya3ByZWJvcmsiLCBbInByZWJvcmsgcHJlYm9yayIsICJwcmVib3JrYm9yayIsICJwcmVib3JrYm9ya2JvcmsiXV0sCisgICAgICAgIFwgICBbInByZWJvcmtwcmVib3JrYm9yayIsIFsicHJlYm9yayBwcmVib3JrYm9yayIsICJwcmVib3JrYm9ya2JvcmsiLCAicHJlYm9ya2Jvcmtib3JrYm9yayJdXSwKKyAgICAgICAgXCAgIFsic3RhcnR3b3Jkd29yZHdvcmR3b3JkZW5kIiwgWyJzdGFydHdvcmR3b3Jkd29yZHdvcmQgZW5kIiwgInN0YXJ0d29yZHdvcmR3b3Jkd29yZCIsICJzdGFydCB3b3Jkd29yZHdvcmR3b3JkIGVuZCJdXSwKKyAgICAgICAgXCAgIFsiYm9ya3ByZWJvcmtwcmVib3JrYm9yayIsIFsiYm9yayBwcmVib3JrcHJlYm9ya2JvcmsiLCAiYm9yayBwcmVib3JrIHByZWJvcmtib3JrIiwgImJvcmsgcHJlYm9ya3ByZWJvcmsgYm9yayJdXSwKKyAgICAgICAgXCAgIFsidXRpbHNib3JrIiwgWyJ1dGlsYm9yayIsICJ1dGlscyBib3JrIiwgInV0aWwgYm9yayJdXSwKKyAgICAgICAgXCAgIFsic3RhcnRub3V3b3JkIiwgWyJzdGFydCBub3V3b3JkIiwgInN0YXJ0d29yZCIsICJzdGFydGJvcmt3b3JkIl1dLAorICAgICAgICBcIF0pCisKK2VuZGZ1bmMKKworIiBUZXN0IGFmZml4IGZsYWdzIHdpdGggdHdvIGNoYXJhY3RlcnMKK2Z1bmMgVGVzdF9zcGVsbF9hZmZpeCgpCisgIGNhbGwgTG9hZEFmZkFuZERpYyhnOnRlc3RfZGF0YV9hZmY1LCBnOnRlc3RfZGF0YV9kaWM1KQorICBjYWxsIFJ1bkdvb2RCYWQoImZvb2ExIGZvb2FcdTAwRTkgYmFyIHByZWJhciBiYXJib3JrIHByZWJhcmJvcmsgIHN0YXJ0cHJlYmFyIHN0YXJ0IGVuZCBzdGFydGVuZCAgc3RhcnRtaWRkbGVlbmQgbm91ZW5kIiwKKyAgICAgICAgXCAiYmFkOiBmb28gZm9vYTIgcHJhYmFyIHByb2JhcmJpcmsgbWlkZGxlIHN0YXJ0bWlkZGxlIG1pZGRsZWVuZCBlbmRzdGFydCBzdGFydHByb2JhciBzdGFydG5vdWVuZCIsCisgICAgICAgIFwgWyJiYXIiLCAiYmFyYm9yayIsICJlbmQiLCAiZm9vYTEiLCAiZm9vYVx1MDBFOSIsICJub3VlbmQiLCAicHJlYmFyIiwgInByZWJhcmJvcmsiLCAic3RhcnQiXSwKKyAgICAgICAgXCBbCisgICAgICAgIFwgICBbImJhZCIsIFsiYmFyIiwgImVuZCIsICJmb29hMSJdXSwKKyAgICAgICAgXCAgIFsiZm9vIiwgWyJmb29hMSIsICJmb29hXHUwMEU5IiwgImJhciJdXSwKKyAgICAgICAgXCAgIFsiZm9vYTIiLCBbImZvb2ExIiwgImZvb2FcdTAwRTkiLCAiYmFyIl1dLAorICAgICAgICBcICAgWyJwcmFiYXIiLCBbInByZWJhciIsICJiYXIiLCAiYmFyIGJhciJdXSwKKyAgICAgICAgXCAgIFsicHJvYmFyYmlyayIsIFsicHJlYmFyYm9yayJdXSwKKyAgICAgICAgXCAgIFsibWlkZGxlIiwgW11dLAorICAgICAgICBcICAgWyJzdGFydG1pZGRsZSIsIFsic3RhcnRtaWRkbGVlbmQiLCAic3RhcnRtaWRkbGViYXIiXV0sCisgICAgICAgIFwgICBbIm1pZGRsZWVuZCIsIFtdXSwKKyAgICAgICAgXCAgIFsiZW5kc3RhcnQiLCBbImVuZCBzdGFydCIsICJzdGFydCJdXSwKKyAgICAgICAgXCAgIFsic3RhcnRwcm9iYXIiLCBbInN0YXJ0cHJlYmFyIiwgInN0YXJ0IHByZWJhciIsICJzdGFydGJhciJdXSwKKyAgICAgICAgXCAgIFsic3RhcnRub3VlbmQiLCBbInN0YXJ0IG5vdWVuZCIsICJzdGFydGVuZCJdXSwKKyAgICAgICAgXCBdKQorCisgIGNhbGwgTG9hZEFmZkFuZERpYyhnOnRlc3RfZGF0YV9hZmY2LCBnOnRlc3RfZGF0YV9kaWM2KQorICBjYWxsIFJ1bkdvb2RCYWQoIm1lZWExIG1lZWFcdTAwRTkgYmFyIHByZWJhciBiYXJib3JrIHByZWJhcmJvcmsgIGxlYWRwcmViYXIgbGVhZCBlbmQgbGVhZGVuZCAgbGVhZG1pZGRsZWVuZCIsCisgICAgICAgIFwgICJiYWQ6IG1lZSBtZWVhMiBwcmFiYXIgcHJvYmFyYmlyayBtaWRkbGUgbGVhZG1pZGRsZSBtaWRkbGVlbmQgZW5kbGVhZCBsZWFkcHJvYmFyIiwKKyAgICAgICAgXCBbImJhciIsICJiYXJib3JrIiwgImVuZCIsICJsZWFkIiwgIm1lZWExIiwgIm1lZWFcdTAwRTkiLCAicHJlYmFyIiwgInByZWJhcmJvcmsiXSwKKyAgICAgICAgXCBbCisgICAgICAgIFwgICBbImJhZCIsIFsiYmFyIiwgImVuZCIsICJsZWFkIl1dLAorICAgICAgICBcICAgWyJtZWUiLCBbIm1lZWExIiwgIm1lZWFcdTAwRTkiLCAiYmFyIl1dLAorICAgICAgICBcICAgWyJtZWVhMiIsIFsibWVlYTEiLCAibWVlYVx1MDBFOSIsICJsZWFkIl1dLAorICAgICAgICBcICAgWyJwcmFiYXIiLCBbInByZWJhciIsICJiYXIiLCAibGVhZGJhciJdXSwKKyAgICAgICAgXCAgIFsicHJvYmFyYmlyayIsIFsicHJlYmFyYm9yayJdXSwKKyAgICAgICAgXCAgIFsibWlkZGxlIiwgW11dLAorICAgICAgICBcICAgWyJsZWFkbWlkZGxlIiwgWyJsZWFkbWlkZGxlZW5kIiwgImxlYWRtaWRkbGViYXIiXV0sCisgICAgICAgIFwgICBbIm1pZGRsZWVuZCIsIFtdXSwKKyAgICAgICAgXCAgIFsiZW5kbGVhZCIsIFsiZW5kIGxlYWQiLCAibGVhZCIsICJlbmQgZW5kIl1dLAorICAgICAgICBcICAgWyJsZWFkcHJvYmFyIiwgWyJsZWFkcHJlYmFyIiwgImxlYWQgcHJlYmFyIiwgImxlYWRiYXIiXV0sCisgICAgICAgIFwgXSkKKworICBjYWxsIExvYWRBZmZBbmREaWMoZzp0ZXN0X2RhdGFfYWZmNywgZzp0ZXN0X2RhdGFfZGljNykKKyAgY2FsbCBSdW5Hb29kQmFkKCJtZWVhMSBtZWV6ZXJvIG1lZWFcdTAwRTkgYmFyIHByZWJhciBiYXJtZWF0IHByZWJhcm1lYXQgIGxlYWRwcmViYXIgbGVhZCB0YWlsIGxlYWR0YWlsICBsZWFkbWlkZGxldGFpbCIsCisgICAgICAgIFwgImJhZDogbWVlIG1lZWEyIHByYWJhciBwcm9iYXJtYWF0IG1pZGRsZSBsZWFkbWlkZGxlIG1pZGRsZXRhaWwgdGFpbGxlYWQgbGVhZHByb2JhciIsCisgICAgICAgIFwgWyJiYXIiLCAiYmFybWVhdCIsICJsZWFkIiwgIm1lZWExIiwgIm1lZWFcdTAwRTkiLCAibWVlemVybyIsICJwcmViYXIiLCAicHJlYmFybWVhdCIsICJ0YWlsIl0sCisgICAgICAgIFwgWworICAgICAgICBcICAgWyJiYWQiLCBbImJhciIsICJsZWFkIiwgInRhaWwiXV0sCisgICAgICAgIFwgICBbIm1lZSIsIFsibWVlYTEiLCAibWVlYVx1MDBFOSIsICJiYXIiXV0sCisgICAgICAgIFwgICBbIm1lZWEyIiwgWyJtZWVhMSIsICJtZWVhXHUwMEU5IiwgImxlYWQiXV0sCisgICAgICAgIFwgICBbInByYWJhciIsIFsicHJlYmFyIiwgImJhciIsICJsZWFkYmFyIl1dLAorICAgICAgICBcICAgWyJwcm9iYXJtYWF0IiwgWyJwcmViYXJtZWF0Il1dLAorICAgICAgICBcICAgWyJtaWRkbGUiLCBbXV0sCisgICAgICAgIFwgICBbImxlYWRtaWRkbGUiLCBbImxlYWRtaWRkbGViYXIiXV0sCisgICAgICAgIFwgICBbIm1pZGRsZXRhaWwiLCBbXV0sCisgICAgICAgIFwgICBbInRhaWxsZWFkIiwgWyJ0YWlsIGxlYWQiLCAidGFpbCJdXSwKKyAgICAgICAgXCAgIFsibGVhZHByb2JhciIsIFsibGVhZHByZWJhciIsICJsZWFkIHByZWJhciIsICJsZWFkYmFyIl1dLAorICAgICAgICBcIF0pCitlbmRmdW5jCisKK2Z1bmMgVGVzdF9zcGVsbF9OT1NMSVRTVUdTKCkKKyAgY2FsbCBMb2FkQWZmQW5kRGljKGc6dGVzdF9kYXRhX2FmZjgsIGc6dGVzdF9kYXRhX2RpYzgpCisgIGNhbGwgUnVuR29vZEJhZCgiZm9vIGJhciBmYWFiYXIiLCAiYmFkOiBmb29iYXIgYmFyZm9vIiwKKyAgICAgICAgXCBbImJhciIsICJmYWFiYXIiLCAiZm9vIl0sCisgICAgICAgIFwgWworICAgICAgICBcICAgWyJiYWQiLCBbImJhciIsICJmb28iXV0sCisgICAgICAgIFwgICBbImZvb2JhciIsIFsiZmFhYmFyIiwgImZvbyBiYXIiLCAiYmFyIl1dLAorICAgICAgICBcICAgWyJiYXJmb28iLCBbImJhciBmb28iLCAiYmFyIiwgImZvbyJdXSwKKyAgICAgICAgXCBdKQorZW5kZnVuYworCisiIE51bWJlcnMKK2Z1bmMgVGVzdF9zcGVsbF9OdW1iZXJzKCkKKyAgY2FsbCBMb2FkQWZmQW5kRGljKGc6dGVzdF9kYXRhX2FmZjksIGc6dGVzdF9kYXRhX2RpYzkpCisgIGNhbGwgUnVuR29vZEJhZCgiMGIxMDExIDA3NzcgMTIzNCAweDAxZmYiLCAiIiwKKyAgICAgICAgXCBbImJhciIsICJmb28iXSwKKyAgICAgICAgXCBbCisgICAgICAgIFwgXSkKK2VuZGZ1bmMKKworIiBBZmZpeCBmbGFncworZnVuYyBUZXN0X3NwZWxsX2FmZml4X2ZsYWdzKCkKKyAgY2FsbCBMb2FkQWZmQW5kRGljKGc6dGVzdF9kYXRhX2FmZjEwLCBnOnRlc3RfZGF0YV9kaWMxMCkKKyAgY2FsbCBSdW5Hb29kQmFkKCJkcmluayBkcmlua2FibGUgZHJpbmthYmxlcyBkcmlua3RhYmxlIGRyaW5rYWJsZXRhYmxlIiwKKwlcICJiYWQ6IGRyaW5rcyBkcmlua3N0YWJsZSBkcmlua2FibGVzdGFibGUiLAorICAgICAgICBcIFsiZHJpbmsiLCAiZHJpbmthYmxlIiwgImRyaW5rYWJsZXMiLCAidGFibGUiXSwKKyAgICAgICAgXCBbWydiYWQnLCBbXV0sCisJXCBbJ2RyaW5rcycsIFsnZHJpbmsnXV0sCisJXCBbJ2RyaW5rc3RhYmxlJywgWydkcmlua3RhYmxlJywgJ2RyaW5rYWJsZScsICdkcmluayB0YWJsZSddXSwKKyAgICAgICAgXCBbJ2RyaW5rYWJsZXN0YWJsZScsIFsnZHJpbmthYmxldGFibGUnLCAnZHJpbmthYmxlcyB0YWJsZScsICdkcmlua2FibGUgdGFibGUnXV0sCisJXCBdKQorZW5kZnVuYworCitmdW5jdGlvbiBGaXJzdFNwZWxsV29yZCgpCisgIGNhbGwgZmVlZGtleXMoIi9ec3RhcnQ6XG4iLCAndHgnKQorICBub3JtYWwgXXNtbQorICBsZXQgW3N0ciwgYV0gPSBzcGVsbGJhZHdvcmQoKQorICByZXR1cm4gc3RyCitlbmRmdW5jCisKK2Z1bmN0aW9uIFNlY29uZFNwZWxsV29yZCgpCisgIG5vcm1hbCBgbV1zCisgIGxldCBbc3RyLCBhXSA9IHNwZWxsYmFkd29yZCgpCisgIHJldHVybiBzdHIKK2VuZGZ1bmMKKworIiBUZXN0IHdpdGggU0FMIGluc3RlYWQgb2YgU09GTyBpdGVtczsgdGVzdCBhdXRvbWF0aWMgcmVsb2FkaW5nCitmdW5jIFRlc3Rfc3BlbGxfc2FsX2FuZF9hZGRpdGlvbigpCisgIHNldCBzcGVsbGZpbGU9CisgIGNhbGwgd3JpdGVmaWxlKGc6dGVzdF9kYXRhX2RpYzEsICJYdGVzdC5kaWMiKQorICBjYWxsIHdyaXRlZmlsZShnOnRlc3RfZGF0YV9hZmZfc2FsLCAiWHRlc3QuYWZmIikKKyAgbWtzcGVsbCEgWHRlc3QgWHRlc3QKKyAgc2V0IHNwbD1YdGVzdC51dGYtOC5zcGwgc3BlbGwKKyAgY2FsbCBhc3NlcnRfZXF1YWwoJ2tibHR5a2snLCBzb3VuZGZvbGQoJ2dvb2JsZWR5Z29vb2snKSkKKyAgY2FsbCBhc3NlcnRfZXF1YWwoJ2twcm5mbicsIHNvdW5kZm9sZCgna8Ozb3DDq3LDv27DtHZlbicpKQorICBjYWxsIGFzc2VydF9lcXVhbCgnKmZscyBrc3d0cyB0bCcsIHNvdW5kZm9sZCgnb2V2ZXJsb29zIGdlendldHMgZWRhbGUnKSkKKworICAiYWxzbyB1c2UgYW4gYWRkaXRpb24gZmlsZQorICBjYWxsIHdyaXRlZmlsZShbIi9yZWdpb25zPXVzZ2JueiIsICJlbGVxdWludC8yIiwgImVsZWt3aW50LzMiXSwgIlh0ZXN0LnV0Zi04LmFkZCIpCisgIG1rc3BlbGwhIFh0ZXN0LnV0Zi04LmFkZC5zcGwgWHRlc3QudXRmLTguYWRkCisKKyAgYndpcGUhCisgIGNhbGwgc2V0bGluZSgxLCBbInN0YXJ0OiBlbGVxdWludCB0ZXN0IGVsZWt3aW50IHRlc3QgZWxla3dlbnQgYXNkZiJdKQorCisgIHNldCBzcGVsbGZpbGU9WHRlc3QudXRmLTguYWRkCisgIGNhbGwgYXNzZXJ0X2VxdWFsKCJlbGVrd2VudCIsIEZpcnN0U3BlbGxXb3JkKCkpCisKKyAgc2V0IHNwbD1YdGVzdF91cy51dGYtOC5zcGwKKyAgY2FsbCBhc3NlcnRfZXF1YWwoImVsZXF1aW50IiwgRmlyc3RTcGVsbFdvcmQoKSkKKyAgY2FsbCBhc3NlcnRfZXF1YWwoImVsZWt3aW50IiwgU2Vjb25kU3BlbGxXb3JkKCkpCisKKyAgc2V0IHNwbD1YdGVzdF9nYi51dGYtOC5zcGwKKyAgY2FsbCBhc3NlcnRfZXF1YWwoImVsZWt3aW50IiwgRmlyc3RTcGVsbFdvcmQoKSkKKyAgY2FsbCBhc3NlcnRfZXF1YWwoImVsZWt3ZW50IiwgU2Vjb25kU3BlbGxXb3JkKCkpCisKKyAgc2V0IHNwbD1YdGVzdF9uei51dGYtOC5zcGwKKyAgY2FsbCBhc3NlcnRfZXF1YWwoImVsZXF1aW50IiwgRmlyc3RTcGVsbFdvcmQoKSkKKyAgY2FsbCBhc3NlcnRfZXF1YWwoImVsZWt3ZW50IiwgU2Vjb25kU3BlbGxXb3JkKCkpCisKKyAgc2V0IHNwbD1YdGVzdF9jYS51dGYtOC5zcGwKKyAgY2FsbCBhc3NlcnRfZXF1YWwoImVsZXF1aW50IiwgRmlyc3RTcGVsbFdvcmQoKSkKKyAgY2FsbCBhc3NlcnRfZXF1YWwoImVsZWt3aW50IiwgU2Vjb25kU3BlbGxXb3JkKCkpCitlbmRmdW5jCisKK2Z1bmMgVGVzdF9zcGVsbGZpbGVfdmFsdWUoKQorICBzZXQgc3BlbGxmaWxlPVhkaXIvWHRlc3QudXRmLTguYWRkCisgIHNldCBzcGVsbGZpbGU9WGRpci9YdGVzdC51dGYtOC5hZGQsWHRlc3Rfb3RoZXIuYWRkCitlbmRmdW5jCisKKyIgdmltOiBzaGlmdHdpZHRoPTIgc3RzPTIgZXhwYW5kdGFiCmRpZmYgLS1naXQgYS9zcmMvdmVyc2lvbi5jIGIvc3JjL3ZlcnNpb24uYwppbmRleCBmMzQ0MDJkLi4wNjY3MjRlIDEwMDY0NAotLS0gYS9zcmMvdmVyc2lvbi5jCisrKyBiL3NyYy92ZXJzaW9uLmMKQEAgLTc1NSw2ICs3NTUsOCBAQAogc3RhdGljIGludCBpbmNsdWRlZF9wYXRjaGVzW10gPQogeyAgIC8qIEFkZCBuZXcgcGF0Y2ggbnVtYmVyIGJlbG93IHRoaXMgbGluZSAqLwogLyoqLworICAgIDEzNTQsCisvKiovCiAgICAgMTM1MywKIC8qKi8KICAgICAxMzUyLAo=