ZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZSBiL3NyYy9NYWtlZmlsZQppbmRleCA5Y2U2MWFhLi5iYmY4MGQzIDEwMDY0NAotLS0gYS9zcmMvTWFrZWZpbGUKKysrIGIvc3JjL01ha2VmaWxlCkBAIC0yMzEwLDEwICsyMzEwLDcgQEAKIAogIyBSdW4gaW5kaXZpZHVhbCBPTEQgc3R5bGUgdGVzdC4KICMgVGhlc2UgZG8gbm90IGRlcGVuZCBvbiB0aGUgZXhlY3V0YWJsZSwgY29tcGlsZSBpdCB3aGVuIG5lZWRlZC4KLXRlc3QxIFwKLQl0ZXN0NDIgdGVzdDQ5IFwKLQl0ZXN0NTIgdGVzdDU5IFwKLQl0ZXN0NzA6Cit0ZXN0MSB0ZXN0NDIgdGVzdDQ5IHRlc3Q1OToKIAljZCB0ZXN0ZGlyOyBybSAtZiAkQC5vdXQ7ICQoTUFLRSkgLWYgTWFrZWZpbGUgJEAub3V0IFZJTVBST0c9Li4vJChWSU1URVNUVEFSR0VUKSAkKEdVSV9URVNUQVJHKSBTQ1JJUFRTT1VSQ0U9Li4vJChTQ1JJUFRTT1VSQ0UpCiAKICMgUnVuIGluZGl2aWR1YWwgTkVXIHN0eWxlIHRlc3QuCmRpZmYgLS1naXQgYS9zcmMvdGVzdGRpci9NYWtlX2FsbC5tYWsgYi9zcmMvdGVzdGRpci9NYWtlX2FsbC5tYWsKaW5kZXggYjJkOWFjNi4uYTI1YTQ4MCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3RkaXIvTWFrZV9hbGwubWFrCisrKyBiL3NyYy90ZXN0ZGlyL01ha2VfYWxsLm1hawpAQCAtOCwyNSArOCwxOSBAQAogTk9fSU5JVFMgPSAtVSBOT05FICQoTk9fUExVR0lOUykKIAogIyBUaGUgZmlyc3Qgc2NyaXB0IGNyZWF0ZXMgc21hbGwudmltLgotU0NSSVBUU19GSVJTVCA9IFwKLQl0ZXN0MS5vdXQKK1NDUklQVFNfRklSU1QgPSB0ZXN0MS5vdXQKIAogIyBUZXN0cyB0aGF0IHJ1biBvbiBhbGwgc3lzdGVtcy4KLVNDUklQVFNfQUxMID0gXAotCXRlc3Q0Mi5vdXQgXAotCXRlc3Q3MC5vdXQKK1NDUklQVFNfQUxMID0gdGVzdDQyLm91dAogCiAjIFRlc3RzIHRoYXQgcnVuIG9uIG1vc3Qgc3lzdGVtcywgYnV0IG5vdCBvbiBBbWlnYS4KLVNDUklQVFNfTU9SRTEgPSBcCi0JdGVzdDUyLm91dAorU0NSSVBUU19NT1JFMSA9CiAKICMgVGVzdHMgdGhhdCBydW4gb24gbW9zdCBzeXN0ZW1zLCBidXQgbm90IG9uIEFtaWdhIGFuZCBET1MvV2luZG93cy4KLVNDUklQVFNfTU9SRTIgPSBcCi0JdGVzdDQ5Lm91dAorU0NSSVBUU19NT1JFMiA9IHRlc3Q0OS5vdXQKIAogIyBUZXN0cyB0aGF0IHJ1biBvbiBtb3N0IHN5c3RlbXMsIGJ1dCBub3Qgb24gVk1TCi1TQ1JJUFRTX01PUkU0ID0gXAotCXRlc3Q1OS5vdXQKK1NDUklQVFNfTU9SRTQgPSB0ZXN0NTkub3V0CiAKICMgVGVzdHMgc3BlY2lmaWNhbGx5IGZvciBNUy1XaW5kb3dzLgogU0NSSVBUU19XSU4zMiA9CkBAIC0xOTQsNiArMTg4LDcgQEAKIAl0ZXN0X21vZGVsZXNzIFwKIAl0ZXN0X21vZGVsaW5lIFwKIAl0ZXN0X21vdmUgXAorCXRlc3RfbXpzY2hlbWUgXAogCXRlc3RfbmVzdGVkX2Z1bmN0aW9uIFwKIAl0ZXN0X25ldGJlYW5zIFwKIAl0ZXN0X25vcm1hbCBcCkBAIC00MjYsNiArNDIxLDcgQEAKIAl0ZXN0X21rc2Vzc2lvbi5yZXMgXAogCXRlc3RfbW9kZWxlc3MucmVzIFwKIAl0ZXN0X21vZGVsaW5lLnJlcyBcCisJdGVzdF9tenNjaGVtZS5yZXMgXAogCXRlc3RfbmVzdGVkX2Z1bmN0aW9uLnJlcyBcCiAJdGVzdF9uZXRiZWFucy5yZXMgXAogCXRlc3Rfbm9ybWFsLnJlcyBcCmRpZmYgLS1naXQgYS9zcmMvdGVzdGRpci9NYWtlX2FtaWdhLm1hayBiL3NyYy90ZXN0ZGlyL01ha2VfYW1pZ2EubWFrCmluZGV4IGRmNzdlNGQuLmU2ZTU1ZTMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0ZGlyL01ha2VfYW1pZ2EubWFrCisrKyBiL3NyYy90ZXN0ZGlyL01ha2VfYW1pZ2EubWFrCkBAIC05LDEyICs5LDYgQEAKIAogaW5jbHVkZSBNYWtlX2FsbC5tYWsKIAotIyBUaGVzZSB0ZXN0cyBkb24ndCB3b3JrICh5ZXQpOgotIyB0ZXN0MgkJIlxcdG1wIiBkb2Vzbid0IHdvcmsKLSMgdGVzdDEwCSdlcnJvcmZvcm1hdCcgaXMgZGlmZmVyZW50Ci0jIHRlc3Q1Mglvbmx5IGZvciBXaW4zMgotIyB0ZXN0ODYsIDg3CW5vIFB5dGhvbiBpbnRlcmZhY2UKLQogU0NSSVBUUyA9ICQoU0NSSVBUU19BTEwpICQoU0NSSVBUU19NT1JFNCkKIAogIyBNdXN0IHJ1biB0ZXN0MSBmaXJzdCB0byBjcmVhdGUgc21hbGwudmltLgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvTWFrZV92bXMubW1zIGIvc3JjL3Rlc3RkaXIvTWFrZV92bXMubW1zCmluZGV4IDM1MmU1NTMuLmFmNzZmNzAgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0ZGlyL01ha2Vfdm1zLm1tcworKysgYi9zcmMvdGVzdGRpci9NYWtlX3Ztcy5tbXMKQEAgLTgxLDQwICs4MSwxOSBAQAogIyB0ZXN0NTk6IEZhaWxlZC9IYW5ncyAtIFZNUyBkb2VzIG5vdCBzdXBwb3J0IHNwZWxsIGZpbGVzIChmaWxlIG5hbWVzCiAjIHdpdGggdG9vIG1hbnkgZG90cykuCiAjCi0jIHRlc3Q3ODogYnVnIC0gVmltIGRpZXMgYXQgOnJlY292ZXIgWHRlc3QgCi0jIHRlc3Q4OTogYnVnIC0gZmluZGZpbGUoKSBkb2VzIG5vdCB3b3JrIG9uIFZNUyAoanVzdCBpbiB0aGUgY3VycmVudCBkaXJlY3RvcnkpIAotIyB0ZXN0MTAyOiBKdXN0IE9EUy01IHN1cHBvcnRzIHNwYWNlIGFuZCBzcGVjaWFsIGNoYXJzIGluIHRoZSBmaWxlbmFtZS4KLSMgT24gT0RTLTIgdGVzdHMgZmFpbC4gCiAKIC5JRkRFRiBXQU5UX0dVSQotU0NSSVBUX0dVSSA9IHRlc3QxNi5vdXQKIEdVSV9PUFRJT04gPSAtZwogLkVORElGCiAKIC5JRkRFRiBXQU5UX1VOSVgKLVNDUklQVF9VTklYID0gdGVzdDEwLm91dCB0ZXN0Mjcub3V0IHRlc3Q0OS5vdXQKLS5FTkRJRgotCi0uSUZERUYgV0FOVF9XSU4KLVNDUklQVF9XSU4gPSB0ZXN0NTIub3V0CitTQ1JJUFRfVU5JWCA9IHRlc3Q0OS5vdXQKIC5FTkRJRgogCiAuSUZERUYgV0FOVF9TUEVMTAogU0NSSVBUX1NQRUxMID0gdGVzdDU5Lm91dCAKIC5FTkRJRgogCi0uSUZERUYgV0FOVF9NWlNDSAotU0NSSVBUX01aU0NIID0gdGVzdDcwLm91dCAKLS5FTkRJRgotCi0uSUZERUYgSEFWRV9PRFM1Ci1TQ1JJUFRfT0RTNSA9IHRlc3QxMDIub3V0Ci0uRU5ESUYKLQotLklGREVGIEhBVkVfR0RJRkYKLVNDUklQVF9HRElGRiA9IHRlc3Q0Ny5vdXQKLS5FTkRJRgotCiAuaW4ub3V0IDoKIAktQCAhY2xlYW4gdXAgYmVmb3JlIGRvaW5nIHRoZSB0ZXN0CiAJLUAgaWYgIicnRiRTRUFSQ0goInRlc3Qub3V0LioiKSciIC5ORVMuICIiIHRoZW4gZGVsZXRlL25vY29uZmlybS9ub2xvZyB0ZXN0Lm91dC4qCkBAIC0xMzUsOCArMTE0LDggQEAKIAktQCBpZiAiJydGJFNFQVJDSCgiWGRvdGVzdC4qIiknIiAgLk5FUy4gIiIgdGhlbiBkZWxldGUvbm9jb25maXJtL25vbG9nIFhkb3Rlc3QuKi4qCiAJLUAgaWYgIicnRiRTRUFSQ0goIlh0ZXN0LioiKSciICAgIC5ORVMuICIiIHRoZW4gZGVsZXRlL25vY29uZmlybS9ub2xvZyBYdGVzdC4qLioKIAotYWxsIDogY2xlYW4gbm9sb2cgJChTVEFSVF9XSVRIKSAkKFNDUklQVCkgJChTQ1JJUFRfR1VJKSAkKFNDUklQVF9VTklYKSAkKFNDUklQVF9XSU4pICQoU0NSSVBUX1NQRUxMKSAkKFNDUklQVF9PRFM1KSBcCi0gICAgJChTQ1JJUFRfR0RJRkYpICQoU0NSSVBUX01aU0NIKSAkKFNDUklQVF9MVUEpIG5vbG9nIAorYWxsIDogY2xlYW4gbm9sb2cgJChTVEFSVF9XSVRIKSAkKFNDUklQVCkgJChTQ1JJUFRfVU5JWCkgJChTQ1JJUFRfU1BFTEwpIFwKKyAgICBub2xvZwogCS1AIHdyaXRlIHN5cyRvdXRwdXQgIiAiCiAJLUAgd3JpdGUgc3lzJG91dHB1dCAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iCiAJLUAgd3JpdGUgc3lzJG91dHB1dCAiICAgICAgICAgICAgICAgIEFsbCBkb25lIgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvcnVudGVzdC52aW0gYi9zcmMvdGVzdGRpci9ydW50ZXN0LnZpbQppbmRleCA2Y2M3MjAyLi5lNDJiMGNhIDEwMDY0NAotLS0gYS9zcmMvdGVzdGRpci9ydW50ZXN0LnZpbQorKysgYi9zcmMvdGVzdGRpci9ydW50ZXN0LnZpbQpAQCAtNDQ3LDcgKzQ0Nyw3IEBACiAgICIgLSBpdCBmYWlscyBhZ2FpbiB3aXRoIHRoZSBzYW1lIG1lc3NhZ2UKICAgIiAtIGl0IGZhaWxzIGZpdmUgdGltZXMgKHdpdGggYSBkaWZmZXJlbnQgbWVzc2FnZSkKICAgaWYgbGVuKHY6ZXJyb3JzKSA+IDAKLSAgICAgICAgXCAkVEVTVF9OT19SRVRSWSA9PSAnJworICAgICAgICBcICYmICRURVNUX05PX1JFVFJZID09ICcnCiAgICAgICAgIFwgJiYgKGluZGV4KHM6Zmxha3lfdGVzdHMsIGc6dGVzdGZ1bmMpID49IDAKICAgICAgICAgXCAgICAgIHx8IGc6dGVzdF9pc19mbGFreSkKICAgICB3aGlsZSAxCmRpZmYgLS1naXQgYS9zcmMvdGVzdGRpci90ZXN0NTIuaW4gYi9zcmMvdGVzdGRpci90ZXN0NTIuaW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIwNmI2NWEuLjAwMDAwMDAKLS0tIGEvc3JjL3Rlc3RkaXIvdGVzdDUyLmluCisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotVGVzdHMgZm9yIHJlYWRpbmcgYW5kIHdyaXRpbmcgZmlsZXMgd2l0aCBjb252ZXJzaW9uIGZvciBXaW4zMi4KLQotU1RBUlRURVNUCi06c28gbWJ5dGUudmltCi06IiBtYWtlIHRoaXMgYSBkdW1teSB0ZXN0IGZvciBub24tV2luMzIgc3lzdGVtcwotOmlmICFoYXMoIndpbjMyIikgfCBlISB0ZXN0Lm9rIHwgd3EhIHRlc3Qub3V0IHwgZW5kaWYKLToiCi06IiB3cml0ZSB0ZXN0czoKLToiIGNvbWJpbmUgdGhyZWUgdmFsdWVzIGZvciAnZW5jb2RpbmcnIHdpdGggdGhyZWUgdmFsdWVzIGZvciAnZmlsZWVuY29kaW5nJwotOiIgYWxzbyB3cml0ZSBmaWxlcyBmb3IgcmVhZCB0ZXN0cwotL14xCi06c2V0IGVuY29kaW5nPXV0Zi04Ci06LnchICsrZW5jPXV0Zi04IHRlc3Qub3V0Ci06LncgKytlbmM9Y3AxMjUxID4+dGVzdC5vdXQKLToudyArK2VuYz1jcDg2NiA+PnRlc3Qub3V0Ci06LnchICsrZW5jPXV0Zi04IFh1dGY4Ci0vXjIKLTpzZXQgZW5jb2Rpbmc9Y3AxMjUxCi06LncgKytlbmM9dXRmLTggPj50ZXN0Lm91dAotOi53ICsrZW5jPWNwMTI1MSA+PnRlc3Qub3V0Ci06LncgKytlbmM9Y3A4NjYgPj50ZXN0Lm91dAotOi53ISArK2VuYz1jcDEyNTEgWGNwMTI1MQotL14zCi06c2V0IGVuY29kaW5nPWNwODY2Ci06LncgKytlbmM9dXRmLTggPj50ZXN0Lm91dAotOi53ICsrZW5jPWNwMTI1MSA+PnRlc3Qub3V0Ci06LncgKytlbmM9Y3A4NjYgPj50ZXN0Lm91dAotOi53ISArK2VuYz1jcDg2NiBYY3A4NjYKLToiCi06IiByZWFkIHRocmVlICdmaWxlZW5jb2RpbmcncyB3aXRoIHV0Zi04ICdlbmNvZGluZycKLTpzZXQgZW5jb2Rpbmc9dXRmLTggZmVuY3M9dXRmLTgsY3AxMjUxCi06ZSBYdXRmOAotOi53ICsrZW5jPXV0Zi04ID4+dGVzdC5vdXQKLTplIFhjcDEyNTEKLToudyArK2VuYz11dGYtOCA+PnRlc3Qub3V0Ci06c2V0IGZlbmNzPXV0Zi04LGNwODY2Ci06ZSBYY3A4NjYKLToudyArK2VuYz11dGYtOCA+PnRlc3Qub3V0Ci06IgotOiIgcmVhZCB0aHJlZSAnZmlsZWVuY29kaW5nJ3Mgd2l0aCBjcDEyNTEgJ2VuY29kaW5nJwotOnNldCBlbmNvZGluZz11dGYtOCBmZW5jcz11dGYtOCxjcDEyNTEKLTplIFh1dGY4Ci06LncgKytlbmM9Y3AxMjUxID4+dGVzdC5vdXQKLTplIFhjcDEyNTEKLToudyArK2VuYz1jcDEyNTEgPj50ZXN0Lm91dAotOnNldCBmZW5jcz11dGYtOCxjcDg2NgotOmUgWGNwODY2Ci06LncgKytlbmM9Y3AxMjUxID4+dGVzdC5vdXQKLToiCi06IiByZWFkIHRocmVlICdmaWxlZW5jb2RpbmcncyB3aXRoIGNwODY2ICdlbmNvZGluZycKLTpzZXQgZW5jb2Rpbmc9Y3A4NjYgZmVuY3M9dXRmLTgsY3AxMjUxCi06ZSBYdXRmOAotOi53ICsrZW5jPWNwODY2ID4+dGVzdC5vdXQKLTplIFhjcDEyNTEKLToudyArK2VuYz1jcDg2NiA+PnRlc3Qub3V0Ci06c2V0IGZlbmNzPXV0Zi04LGNwODY2Ci06ZSBYY3A4NjYKLToudyArK2VuYz1jcDg2NiA+PnRlc3Qub3V0Ci06IgotOnFhIQotRU5EVEVTVAotCi0xIHV0Zi04IHRleHQ6INCU0LvRjyBWaW0gdmVyc2lvbiA2LjIuICDQn9C+0YHQu9C10LTQvdC10LUg0LjQt9C80LXQvdC10L3QuNC1OiAxOTcwIEphbiAwMQotMiBjcDEyNTEgdGV4dDogxOv/IFZpbSB2ZXJzaW9uIDYuMi4gIM/u8evl5O3l5SDo5+zl7eXt6OU6IDE5NzAgSmFuIDAxCi0zIGNwODY2IHRleHQ6IISr7yBWaW0gdmVyc2lvbiA2LjIuICCPruGrpaStpaUgqKespa2lrailOiAxOTcwIEphbiAwMQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvdGVzdDUyLm9rIGIvc3JjL3Rlc3RkaXIvdGVzdDUyLm9rCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MGI1MTY1Li4wMDAwMDAwCi0tLSBhL3NyYy90ZXN0ZGlyL3Rlc3Q1Mi5vaworKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLTEgdXRmLTggdGV4dDog0JTQu9GPIFZpbSB2ZXJzaW9uIDYuMi4gINCf0L7RgdC70LXQtNC90LXQtSDQuNC30LzQtdC90LXQvdC40LU6IDE5NzAgSmFuIDAxCi0xIHV0Zi04IHRleHQ6IMTr/yBWaW0gdmVyc2lvbiA2LjIuICDP7vHr5eTt5eUg6Ofs5e3l7ejlOiAxOTcwIEphbiAwMQotMSB1dGYtOCB0ZXh0OiCEq+8gVmltIHZlcnNpb24gNi4yLiAgj67hq6WkraWlIKinrKWtpa2opTogMTk3MCBKYW4gMDEKLTIgY3AxMjUxIHRleHQ6INCU0LvRjyBWaW0gdmVyc2lvbiA2LjIuICDQn9C+0YHQu9C10LTQvdC10LUg0LjQt9C80LXQvdC10L3QuNC1OiAxOTcwIEphbiAwMQotMiBjcDEyNTEgdGV4dDogxOv/IFZpbSB2ZXJzaW9uIDYuMi4gIM/u8evl5O3l5SDo5+zl7eXt6OU6IDE5NzAgSmFuIDAxCi0yIGNwMTI1MSB0ZXh0OiCEq+8gVmltIHZlcnNpb24gNi4yLiAgj67hq6WkraWlIKinrKWtpa2opTogMTk3MCBKYW4gMDEKLTMgY3A4NjYgdGV4dDog0JTQu9GPIFZpbSB2ZXJzaW9uIDYuMi4gINCf0L7RgdC70LXQtNC90LXQtSDQuNC30LzQtdC90LXQvdC40LU6IDE5NzAgSmFuIDAxCi0zIGNwODY2IHRleHQ6IMTr/yBWaW0gdmVyc2lvbiA2LjIuICDP7vHr5eTt5eUg6Ofs5e3l7ejlOiAxOTcwIEphbiAwMQotMyBjcDg2NiB0ZXh0OiCEq+8gVmltIHZlcnNpb24gNi4yLiAgj67hq6WkraWlIKinrKWtpa2opTogMTk3MCBKYW4gMDEKLTEgdXRmLTggdGV4dDog0JTQu9GPIFZpbSB2ZXJzaW9uIDYuMi4gINCf0L7RgdC70LXQtNC90LXQtSDQuNC30LzQtdC90LXQvdC40LU6IDE5NzAgSmFuIDAxCi0yIGNwMTI1MSB0ZXh0OiDQlNC70Y8gVmltIHZlcnNpb24gNi4yLiAg0J/QvtGB0LvQtdC00L3QtdC1INC40LfQvNC10L3QtdC90LjQtTogMTk3MCBKYW4gMDEKLTMgY3A4NjYgdGV4dDog0JTQu9GPIFZpbSB2ZXJzaW9uIDYuMi4gINCf0L7RgdC70LXQtNC90LXQtSDQuNC30LzQtdC90LXQvdC40LU6IDE5NzAgSmFuIDAxCi0xIHV0Zi04IHRleHQ6IMTr/yBWaW0gdmVyc2lvbiA2LjIuICDP7vHr5eTt5eUg6Ofs5e3l7ejlOiAxOTcwIEphbiAwMQotMiBjcDEyNTEgdGV4dDogxOv/IFZpbSB2ZXJzaW9uIDYuMi4gIM/u8evl5O3l5SDo5+zl7eXt6OU6IDE5NzAgSmFuIDAxCi0zIGNwODY2IHRleHQ6IMTr/yBWaW0gdmVyc2lvbiA2LjIuICDP7vHr5eTt5eUg6Ofs5e3l7ejlOiAxOTcwIEphbiAwMQotMSB1dGYtOCB0ZXh0OiCEq+8gVmltIHZlcnNpb24gNi4yLiAgj67hq6WkraWlIKinrKWtpa2opTogMTk3MCBKYW4gMDEKLTIgY3AxMjUxIHRleHQ6IISr7yBWaW0gdmVyc2lvbiA2LjIuICCPruGrpaStpaUgqKespa2lrailOiAxOTcwIEphbiAwMQotMyBjcDg2NiB0ZXh0OiCEq+8gVmltIHZlcnNpb24gNi4yLiAgj67hq6WkraWlIKinrKWtpa2opTogMTk3MCBKYW4gMDEKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3Q3MC5pbiBiL3NyYy90ZXN0ZGlyL3Rlc3Q3MC5pbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWVlNTljMy4uMDAwMDAwMAotLS0gYS9zcmMvdGVzdGRpci90ZXN0NzAuaW4KKysrIC9kZXYvbnVsbApAQCAtMSw2MyArMCwwIEBACi1TbW9rZSB0ZXN0IGZvciBNelNjaGVtZSBpbnRlcmZhY2UgYW5kIG16ZXZhbCgpIGZ1bmN0aW9uCi0KLVNUQVJUVEVTVAotOnNvIG16c2NoZW1lLnZpbQotOnNldCBub2NvbXBhdGlibGUgdmltaW5mbys9bnZpbWluZm8KLTpmdW5jdGlvbiEgTXpSZXF1aXJlKCkKLTpyZWRpciA9PiBsOm16dmVyc2lvbgotOm16ICh2ZXJzaW9uKQotOnJlZGlyIEVORAotOmlmIHN0cnBhcnQobDptenZlcnNpb24sIDEsIDEpIDwgIjQiCi06IiBNelNjaGVtZSB2ZXJzaW9ucyA8IDQueDoKLTpteiAocmVxdWlyZSAocHJlZml4IHZpbS0gdmltZXh0KSkKLTplbHNlCi06IiBuZXdlciB2ZXJzaW9uczoKLTpteiAocmVxdWlyZSAocHJlZml4LWluIHZpbS0gJ3ZpbWV4dCkpCi06bXogKHJlcXVpcmUgcjVycykKLTplbmRpZgotOmVuZGZ1bmN0aW9uCi06c2lsZW50IGNhbGwgTXpSZXF1aXJlKCkKLTpteiAoZGVmaW5lIGwgJygiaXRlbTAiICJkaWN0aW9uYXJ5IHdpdGggbGlzdCBPSyIgIml0ZW0yIikpCi06bXogKGRlZmluZSBoIChtYWtlLWhhc2gpKQotOm16IChoYXNoLXNldCEgaCAibGlzdCIgbCkKLS9eMQotOiIgY2hhbmdlIGJ1ZmZlciBjb250ZW50cwotOm16ICh2aW0tc2V0LWJ1ZmYtbGluZSAodmltLWV2YWwgImxpbmUoJy4nKSIpICIxIGNoYW5nZWQgbGluZSAxIikKLToiIHNjYWxhciB0ZXN0Ci06bGV0IHRtcF9zdHJpbmcgPSBtemV2YWwoJyJzdHJpbmciJykKLTpsZXQgdG1wXzEwMDAgPSAnMTAwMCctPm16ZXZhbCgpCi06aWYgdG1wX3N0cmluZyAuIHRtcF8xMDAwID09ICJzdHJpbmcxMDAwIgotOmxldCBzY2FsYXJfcmVzID0gIk9LIgotOmVsc2UKLTpsZXQgc2NhbGFyX3JlcyA9ICJGQUlMRUQiCi06ZW5kaWYKLTpjYWxsIGFwcGVuZChzZWFyY2goIl4xIiksICJzY2FsYXIgdGVzdCAiIC4gc2NhbGFyX3JlcykKLToiIGRpY3Rpb25hcnkgY29udGFpbmluZyBhIGxpc3QKLTpsZXQgdG1wID0gbXpldmFsKCJoIilbImxpc3QiXVsxXQotOi9eMi9wdXQgPXRtcAotOiIgY2lyY3VsYXIgbGlzdCAoYXQgdGhlIHNhbWUgdGltZSB0ZXN0IGxpc3RzIGNvbnRhaW5pbmcgbGlzdHMpCi06bXogKHNldC1jYXIhIChjZGRyIGwpIGwpCi06bGV0IGwyID0gbXpldmFsKCJoIilbImxpc3QiXQotOmlmIGwyWzJdID09IGwyCi06bGV0IHJlcyA9ICJPSyIKLTplbHNlCi06bGV0IHJlcyA9ICJGQUlMRUQ6ICIgLiBsMlsyXQotOmVuZGlmCi06Y2FsbCBzZXRsaW5lKHNlYXJjaCgiXjMiKSwgImNpcmN1bGFyIHRlc3QgIiAuIHJlcykKLToiIGZ1bmNyZWZzCi06bXogKGRlZmluZSB2aW06bWF4ICh2aW0tZXZhbCAiZnVuY3Rpb24oJ21heCcpIikpCi06bXogKGRlZmluZSBtICh2aW06bWF4ICcoMSAxMDAgOCkpKQotOmxldCBtID0gbXpldmFsKCdtJykKLTppZiBtID09IDEwMAotOmxldCBmcmVmX3JlcyA9ICJPSyIKLTplbHNlCi06bGV0IGZyZWZfcmVzID0gIkZBSUxFRDogIiAuIG0KLTplbmQKLTpjYWxsIGFwcGVuZChsaW5lKCckJyksICdmdW5jcmVmcyAnLiBmcmVmX3JlcykKLTo/XjE/LCR3ISB0ZXN0Lm91dAotOnFhIQotRU5EVEVTVAotCi0xIGxpbmUgMQotMiBsaW5lIDIKLTMgbGluZSAzCmRpZmYgLS1naXQgYS9zcmMvdGVzdGRpci90ZXN0NzAub2sgYi9zcmMvdGVzdGRpci90ZXN0NzAub2sKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDljODJhODYuLjAwMDAwMDAKLS0tIGEvc3JjL3Rlc3RkaXIvdGVzdDcwLm9rCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi0xIGNoYW5nZWQgbGluZSAxCi1zY2FsYXIgdGVzdCBPSwotMiBsaW5lIDIKLWRpY3Rpb25hcnkgd2l0aCBsaXN0IE9LCi1jaXJjdWxhciB0ZXN0IE9LCi1mdW5jcmVmcyBPSwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvdGVzdF9tenNjaGVtZS52aW0gYi9zcmMvdGVzdGRpci90ZXN0X216c2NoZW1lLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYmM5ODQyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3RkaXIvdGVzdF9tenNjaGVtZS52aW0KQEAgLTAsMCArMSw2MiBAQAorIiBUZXN0IGZvciBNelNjaGVtZSBpbnRlcmZhY2UgYW5kIG16ZXZhbCgpIGZ1bmN0aW9uCisKK3NvdXJjZSBjaGVjay52aW0KK0NoZWNrRmVhdHVyZSBtenNjaGVtZQorCitmdW5jIE16UmVxdWlyZSgpCisgIHJlZGlyID0+IGw6bXp2ZXJzaW9uCisgIG16ICh2ZXJzaW9uKQorICByZWRpciBFTkQKKyAgaWYgc3RycGFydChsOm16dmVyc2lvbiwgMSwgMSkgPCAiNCIKKyAgICAiIE16U2NoZW1lIHZlcnNpb25zIDwgNC54OgorICAgIG16IChyZXF1aXJlIChwcmVmaXggdmltLSB2aW1leHQpKQorICBlbHNlCisgICAgIiBuZXdlciB2ZXJzaW9uczoKKyAgICBteiAocmVxdWlyZSAocHJlZml4LWluIHZpbS0gJ3ZpbWV4dCkpCisgICAgbXogKHJlcXVpcmUgcjVycykKKyAgZW5kaWYKK2VuZGZ1bmMKKworZnVuYyBUZXN0X216c2NoZW1lKCkKKyAgbmV3CisgIGxldCBsaW5lcyA9PDwgdHJpbSBFTkQKKyAgICAxIGxpbmUgMQorICAgIDIgbGluZSAyCisgICAgMyBsaW5lIDMKKyAgRU5ECisgIGNhbGwgc2V0bGluZSgxLCBsaW5lcykKKworICBjYWxsIE16UmVxdWlyZSgpCisgIG16IChkZWZpbmUgbCAnKCJpdGVtMCIgImRpY3Rpb25hcnkgd2l0aCBsaXN0IE9LIiAiaXRlbTIiKSkKKyAgbXogKGRlZmluZSBoIChtYWtlLWhhc2gpKQorICBteiAoaGFzaC1zZXQhIGggImxpc3QiIGwpCisKKyAgY2FsbCBjdXJzb3IoMSwgMSkKKyAgIiBjaGFuZ2UgYnVmZmVyIGNvbnRlbnRzCisgIG16ICh2aW0tc2V0LWJ1ZmYtbGluZSAodmltLWV2YWwgImxpbmUoJy4nKSIpICIxIGNoYW5nZWQgbGluZSAxIikKKyAgY2FsbCBhc3NlcnRfZXF1YWwoJzEgY2hhbmdlZCBsaW5lIDEnLCBnZXRsaW5lKDEpKQorCisgICIgc2NhbGFyIHRlc3QKKyAgbGV0IHRtcF9zdHJpbmcgPSBtemV2YWwoJyJzdHJpbmciJykKKyAgbGV0IHRtcF8xMDAwID0gJzEwMDAnLT5temV2YWwoKQorICBjYWxsIGFzc2VydF9lcXVhbCgnc3RyaW5nMTAwMCcsIHRtcF9zdHJpbmcgLi4gdG1wXzEwMDApCisKKyAgIiBkaWN0aW9uYXJ5IGNvbnRhaW5pbmcgYSBsaXN0CisgIGNhbGwgYXNzZXJ0X2VxdWFsKCdkaWN0aW9uYXJ5IHdpdGggbGlzdCBPSycsIG16ZXZhbCgiaCIpWyJsaXN0Il1bMV0pCisKKyAgY2FsbCBjdXJzb3IoMiwgMSkKKyAgIiBjaXJjdWxhciBsaXN0IChhdCB0aGUgc2FtZSB0aW1lIHRlc3QgbGlzdHMgY29udGFpbmluZyBsaXN0cykKKyAgbXogKHNldC1jYXIhIChjZGRyIGwpIGwpCisgIGxldCBsMiA9IG16ZXZhbCgiaCIpWyJsaXN0Il0KKyAgY2FsbCBhc3NlcnRfZXF1YWwobDJbMl0sIGwyKQorCisgICIgZnVuY3JlZnMKKyAgbXogKGRlZmluZSB2aW06bWF4ICh2aW0tZXZhbCAiZnVuY3Rpb24oJ21heCcpIikpCisgIG16IChkZWZpbmUgbSAodmltOm1heCAnKDEgMTAwIDgpKSkKKyAgbGV0IG0gPSBtemV2YWwoJ20nKQorICBjYWxsIGFzc2VydF9lcXVhbCgxMDAsIG0pCisKKyAgY2xvc2UhCitlbmRmdW5jCisKKyIgdmltOiBzaGlmdHdpZHRoPTIgc3RzPTIgZXhwYW5kdGFiCmRpZmYgLS1naXQgYS9zcmMvdGVzdGRpci90ZXN0X3dyaXRlZmlsZS52aW0gYi9zcmMvdGVzdGRpci90ZXN0X3dyaXRlZmlsZS52aW0KaW5kZXggNWM5ZTRiMS4uZDkyZDZhZSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3RkaXIvdGVzdF93cml0ZWZpbGUudmltCisrKyBiL3NyYy90ZXN0ZGlyL3Rlc3Rfd3JpdGVmaWxlLnZpbQpAQCAtNDQyLDQgKzQ0MiwxMTggQEAKICAgY2xvc2UhCiBlbmRmdW5jCiAKKyIgVGVzdHMgZm9yIHJlYWRpbmcgYW5kIHdyaXRpbmcgZmlsZXMgd2l0aCBjb252ZXJzaW9uIGZvciBXaW4zMi4KK2Z1bmMgVGVzdF93cml0ZV9maWxlX2VuY29kaW5nKCkKKyAgQ2hlY2tNU1dpbmRvd3MKKyAgbGV0IHNhdmVfZW5jb2RpbmcgPSAmZW5jb2RpbmcKKyAgbGV0IHNhdmVfZmlsZWVuY29kaW5ncyA9ICZmaWxlZW5jb2RpbmdzCisgIHNldCBlbmNvZGluZyYgZmlsZWVuY29kaW5ncyYKKyAgbGV0IHRleHQgPTw8IHRyaW0gRU5ECisgICAgMSB1dGYtOCB0ZXh0OiDQlNC70Y8gVmltIHZlcnNpb24gNi4yLiAg0J/QvtGB0LvQtdC00L3QtdC1INC40LfQvNC10L3QtdC90LjQtTogMTk3MCBKYW4gMDEKKyAgICAyIGNwMTI1MSB0ZXh0OiDE6/8gVmltIHZlcnNpb24gNi4yLiAgz+7x6+Xk7eXlIOjn7OXt5e3o5TogMTk3MCBKYW4gMDEKKyAgICAzIGNwODY2IHRleHQ6IISr7yBWaW0gdmVyc2lvbiA2LjIuICCPruGrpaStpaUgqKespa2lrailOiAxOTcwIEphbiAwMQorICBFTkQKKyAgY2FsbCB3cml0ZWZpbGUodGV4dCwgJ1hmaWxlJykKKyAgZWRpdCBYZmlsZQorCisgICIgd3JpdGUgdGVzdHM6CisgICIgY29tYmluZSB0aHJlZSB2YWx1ZXMgZm9yICdlbmNvZGluZycgd2l0aCB0aHJlZSB2YWx1ZXMgZm9yICdmaWxlZW5jb2RpbmcnCisgICIgYWxzbyB3cml0ZSBmaWxlcyBmb3IgcmVhZCB0ZXN0cworICBjYWxsIGN1cnNvcigxLCAxKQorICBzZXQgZW5jb2Rpbmc9dXRmLTgKKyAgLnchICsrZW5jPXV0Zi04IFh0ZXN0CisgIC53ICsrZW5jPWNwMTI1MSA+PiBYdGVzdAorICAudyArK2VuYz1jcDg2NiA+PiBYdGVzdAorICAudyEgKytlbmM9dXRmLTggWHV0ZjgKKyAgbGV0IGV4cGVjdGVkID08PCB0cmltIEVORAorICAgIDEgdXRmLTggdGV4dDog0JTQu9GPIFZpbSB2ZXJzaW9uIDYuMi4gINCf0L7RgdC70LXQtNC90LXQtSDQuNC30LzQtdC90LXQvdC40LU6IDE5NzAgSmFuIDAxCisgICAgMSB1dGYtOCB0ZXh0OiDE6/8gVmltIHZlcnNpb24gNi4yLiAgz+7x6+Xk7eXlIOjn7OXt5e3o5TogMTk3MCBKYW4gMDEKKyAgICAxIHV0Zi04IHRleHQ6IISr7yBWaW0gdmVyc2lvbiA2LjIuICCPruGrpaStpaUgqKespa2lrailOiAxOTcwIEphbiAwMQorICBFTkQKKyAgY2FsbCBhc3NlcnRfZXF1YWwoZXhwZWN0ZWQsIHJlYWRmaWxlKCdYdGVzdCcpKQorCisgIGNhbGwgY3Vyc29yKDIsIDEpCisgIHNldCBlbmNvZGluZz1jcDEyNTEKKyAgLnchICsrZW5jPXV0Zi04IFh0ZXN0CisgIC53ICsrZW5jPWNwMTI1MSA+PiBYdGVzdAorICAudyArK2VuYz1jcDg2NiA+PiBYdGVzdAorICAudyEgKytlbmM9Y3AxMjUxIFhjcDEyNTEKKyAgbGV0IGV4cGVjdGVkID08PCB0cmltIEVORAorICAgIDIgY3AxMjUxIHRleHQ6INCU0LvRjyBWaW0gdmVyc2lvbiA2LjIuICDQn9C+0YHQu9C10LTQvdC10LUg0LjQt9C80LXQvdC10L3QuNC1OiAxOTcwIEphbiAwMQorICAgIDIgY3AxMjUxIHRleHQ6IMTr/yBWaW0gdmVyc2lvbiA2LjIuICDP7vHr5eTt5eUg6Ofs5e3l7ejlOiAxOTcwIEphbiAwMQorICAgIDIgY3AxMjUxIHRleHQ6IISr7yBWaW0gdmVyc2lvbiA2LjIuICCPruGrpaStpaUgqKespa2lrailOiAxOTcwIEphbiAwMQorICBFTkQKKyAgY2FsbCBhc3NlcnRfZXF1YWwoZXhwZWN0ZWQsIHJlYWRmaWxlKCdYdGVzdCcpKQorCisgIGNhbGwgY3Vyc29yKDMsIDEpCisgIHNldCBlbmNvZGluZz1jcDg2NgorICAudyEgKytlbmM9dXRmLTggWHRlc3QKKyAgLncgKytlbmM9Y3AxMjUxID4+IFh0ZXN0CisgIC53ICsrZW5jPWNwODY2ID4+IFh0ZXN0CisgIC53ISArK2VuYz1jcDg2NiBYY3A4NjYKKyAgbGV0IGV4cGVjdGVkID08PCB0cmltIEVORAorICAgIDMgY3A4NjYgdGV4dDog0JTQu9GPIFZpbSB2ZXJzaW9uIDYuMi4gINCf0L7RgdC70LXQtNC90LXQtSDQuNC30LzQtdC90LXQvdC40LU6IDE5NzAgSmFuIDAxCisgICAgMyBjcDg2NiB0ZXh0OiDE6/8gVmltIHZlcnNpb24gNi4yLiAgz+7x6+Xk7eXlIOjn7OXt5e3o5TogMTk3MCBKYW4gMDEKKyAgICAzIGNwODY2IHRleHQ6IISr7yBWaW0gdmVyc2lvbiA2LjIuICCPruGrpaStpaUgqKespa2lrailOiAxOTcwIEphbiAwMQorICBFTkQKKyAgY2FsbCBhc3NlcnRfZXF1YWwoZXhwZWN0ZWQsIHJlYWRmaWxlKCdYdGVzdCcpKQorCisgICIgcmVhZCB0aHJlZSAnZmlsZWVuY29kaW5nJ3Mgd2l0aCB1dGYtOCAnZW5jb2RpbmcnCisgIHNldCBlbmNvZGluZz11dGYtOCBmZW5jcz11dGYtOCxjcDEyNTEKKyAgZSBYdXRmOAorICAudyEgKytlbmM9dXRmLTggWHRlc3QKKyAgZSBYY3AxMjUxCisgIC53ICsrZW5jPXV0Zi04ID4+IFh0ZXN0CisgIHNldCBmZW5jcz11dGYtOCxjcDg2NgorICBlIFhjcDg2NgorICAudyArK2VuYz11dGYtOCA+PiBYdGVzdAorICBsZXQgZXhwZWN0ZWQgPTw8IHRyaW0gRU5ECisgICAgMSB1dGYtOCB0ZXh0OiDQlNC70Y8gVmltIHZlcnNpb24gNi4yLiAg0J/QvtGB0LvQtdC00L3QtdC1INC40LfQvNC10L3QtdC90LjQtTogMTk3MCBKYW4gMDEKKyAgICAyIGNwMTI1MSB0ZXh0OiDQlNC70Y8gVmltIHZlcnNpb24gNi4yLiAg0J/QvtGB0LvQtdC00L3QtdC1INC40LfQvNC10L3QtdC90LjQtTogMTk3MCBKYW4gMDEKKyAgICAzIGNwODY2IHRleHQ6INCU0LvRjyBWaW0gdmVyc2lvbiA2LjIuICDQn9C+0YHQu9C10LTQvdC10LUg0LjQt9C80LXQvdC10L3QuNC1OiAxOTcwIEphbiAwMQorICBFTkQKKyAgY2FsbCBhc3NlcnRfZXF1YWwoZXhwZWN0ZWQsIHJlYWRmaWxlKCdYdGVzdCcpKQorCisgICIgcmVhZCB0aHJlZSAnZmlsZWVuY29kaW5nJ3Mgd2l0aCBjcDEyNTEgJ2VuY29kaW5nJworICBzZXQgZW5jb2Rpbmc9dXRmLTggZmVuY3M9dXRmLTgsY3AxMjUxCisgIGUgWHV0ZjgKKyAgLnchICsrZW5jPWNwMTI1MSBYdGVzdAorICBlIFhjcDEyNTEKKyAgLncgKytlbmM9Y3AxMjUxID4+IFh0ZXN0CisgIHNldCBmZW5jcz11dGYtOCxjcDg2NgorICBlIFhjcDg2NgorICAudyArK2VuYz1jcDEyNTEgPj4gWHRlc3QKKyAgbGV0IGV4cGVjdGVkID08PCB0cmltIEVORAorICAgIDEgdXRmLTggdGV4dDogxOv/IFZpbSB2ZXJzaW9uIDYuMi4gIM/u8evl5O3l5SDo5+zl7eXt6OU6IDE5NzAgSmFuIDAxCisgICAgMiBjcDEyNTEgdGV4dDogxOv/IFZpbSB2ZXJzaW9uIDYuMi4gIM/u8evl5O3l5SDo5+zl7eXt6OU6IDE5NzAgSmFuIDAxCisgICAgMyBjcDg2NiB0ZXh0OiDE6/8gVmltIHZlcnNpb24gNi4yLiAgz+7x6+Xk7eXlIOjn7OXt5e3o5TogMTk3MCBKYW4gMDEKKyAgRU5ECisgIGNhbGwgYXNzZXJ0X2VxdWFsKGV4cGVjdGVkLCByZWFkZmlsZSgnWHRlc3QnKSkKKworICAiIHJlYWQgdGhyZWUgJ2ZpbGVlbmNvZGluZydzIHdpdGggY3A4NjYgJ2VuY29kaW5nJworICBzZXQgZW5jb2Rpbmc9Y3A4NjYgZmVuY3M9dXRmLTgsY3AxMjUxCisgIGUgWHV0ZjgKKyAgLnchICsrZW5jPWNwODY2IFh0ZXN0CisgIGUgWGNwMTI1MQorICAudyArK2VuYz1jcDg2NiA+PiBYdGVzdAorICBzZXQgZmVuY3M9dXRmLTgsY3A4NjYKKyAgZSBYY3A4NjYKKyAgLncgKytlbmM9Y3A4NjYgPj4gWHRlc3QKKyAgbGV0IGV4cGVjdGVkID08PCB0cmltIEVORAorICAgIDEgdXRmLTggdGV4dDoghKvvIFZpbSB2ZXJzaW9uIDYuMi4gII+u4aulpK2lpSCop6ylraWtqKU6IDE5NzAgSmFuIDAxCisgICAgMiBjcDEyNTEgdGV4dDoghKvvIFZpbSB2ZXJzaW9uIDYuMi4gII+u4aulpK2lpSCop6ylraWtqKU6IDE5NzAgSmFuIDAxCisgICAgMyBjcDg2NiB0ZXh0OiCEq+8gVmltIHZlcnNpb24gNi4yLiAgj67hq6WkraWlIKinrKWtpa2opTogMTk3MCBKYW4gMDEKKyAgRU5ECisgIGNhbGwgYXNzZXJ0X2VxdWFsKGV4cGVjdGVkLCByZWFkZmlsZSgnWHRlc3QnKSkKKworICBjYWxsIGRlbGV0ZSgnWGZpbGUnKQorICBjYWxsIGRlbGV0ZSgnWHRlc3QnKQorICBjYWxsIGRlbGV0ZSgnWHV0ZjgnKQorICBjYWxsIGRlbGV0ZSgnWGNwMTI1MScpCisgIGNhbGwgZGVsZXRlKCdYY3A4NjYnKQorICBsZXQgJmVuY29kaW5nID0gc2F2ZV9lbmNvZGluZworICBsZXQgJmZpbGVlbmNvZGluZ3MgPSBzYXZlX2ZpbGVlbmNvZGluZ3MKKyAgJWJ3IQorZW5kZnVuYworCiAiIHZpbTogc2hpZnR3aWR0aD0yIHN0cz0yIGV4cGFuZHRhYgpkaWZmIC0tZ2l0IGEvc3JjL3ZlcnNpb24uYyBiL3NyYy92ZXJzaW9uLmMKaW5kZXggYzQxZDkzMi4uZWM3MDIzMyAxMDA2NDQKLS0tIGEvc3JjL3ZlcnNpb24uYworKysgYi9zcmMvdmVyc2lvbi5jCkBAIC03NTUsNiArNzU1LDggQEAKIHN0YXRpYyBpbnQgaW5jbHVkZWRfcGF0Y2hlc1tdID0KIHsgICAvKiBBZGQgbmV3IHBhdGNoIG51bWJlciBiZWxvdyB0aGlzIGxpbmUgKi8KIC8qKi8KKyAgICAxMzA1LAorLyoqLwogICAgIDEzMDQsCiAvKiovCiAgICAgMTMwMywK