ZGlmZiAtLWdpdCBhL3Byb2dyYW1zL2NtZC9Dcy5yYyBiL3Byb2dyYW1zL2NtZC9Dcy5yYwppbmRleCA3OTM5ZmQ0Li44M2QwMWIyIDEwMDY0NAotLS0gYS9wcm9ncmFtcy9jbWQvQ3MucmMKKysrIGIvcHJvZ3JhbXMvY21kL0NzLnJjCkBAIC0yMzYsNCArMjM2LDUgQEAKICAgV0NNRF9OTywgIk4iCiAgIFdDTURfTk9BU1NPQywgIkZpbGUgYXNzb2NpYXRpb24gbWlzc2luZyBmb3IgZXh0ZW5zaW9uICVzXG4iCiAgIFdDTURfTk9GVFlQRSwgIk5vIG9wZW4gY29tbWFuZCBhc3NvY2lhdGVkIHdpdGggZmlsZSB0eXBlICclcydcbiIKKyAgV0NNRF9PVkVSV1JJVEUsICJPdmVyd3JpdGUiCiB9CmRpZmYgLS1naXQgYS9wcm9ncmFtcy9jbWQvRGUucmMgYi9wcm9ncmFtcy9jbWQvRGUucmMKaW5kZXggYThhZDNiNS4uYjYwY2QyYSAxMDA2NDQKLS0tIGEvcHJvZ3JhbXMvY21kL0RlLnJjCisrKyBiL3Byb2dyYW1zL2NtZC9EZS5yYwpAQCAtMjUzLDQgKzI1Myw1IEBACiAgIFdDTURfTk8sICJOIgogICBXQ01EX05PQVNTT0MsICJGaWxlIGFzc29jaWF0aW9uIG1pc3NpbmcgZm9yIGV4dGVuc2lvbiAlc1xuIgogICBXQ01EX05PRlRZUEUsICJObyBvcGVuIGNvbW1hbmQgYXNzb2NpYXRlZCB3aXRoIGZpbGUgdHlwZSAnJXMnXG4iCisgIFdDTURfT1ZFUldSSVRFLCAiT3ZlcndyaXRlIgogfQpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvY21kL0VuLnJjIGIvcHJvZ3JhbXMvY21kL0VuLnJjCmluZGV4IGU1NDJiY2JmLi43ZmQyOGE2IDEwMDY0NAotLS0gYS9wcm9ncmFtcy9jbWQvRW4ucmMKKysrIGIvcHJvZ3JhbXMvY21kL0VuLnJjCkBAIC0yNDAsNCArMjQwLDUgQEAKICAgV0NNRF9OTywgIk4iCiAgIFdDTURfTk9BU1NPQywgIkZpbGUgYXNzb2NpYXRpb24gbWlzc2luZyBmb3IgZXh0ZW5zaW9uICVzXG4iCiAgIFdDTURfTk9GVFlQRSwgIk5vIG9wZW4gY29tbWFuZCBhc3NvY2lhdGVkIHdpdGggZmlsZSB0eXBlICclcydcbiIKKyAgV0NNRF9PVkVSV1JJVEUsICJPdmVyd3JpdGUiCiB9CmRpZmYgLS1naXQgYS9wcm9ncmFtcy9jbWQvRXMucmMgYi9wcm9ncmFtcy9jbWQvRXMucmMKaW5kZXggOWZlYWM4Mi4uMDkzMzQ5NiAxMDA2NDQKLS0tIGEvcHJvZ3JhbXMvY21kL0VzLnJjCisrKyBiL3Byb2dyYW1zL2NtZC9Fcy5yYwpAQCAtMjQ4LDQgKzI0OCw1IEBACiAgIFdDTURfTk8sICJOIgogICBXQ01EX05PQVNTT0MsICJGaWxlIGFzc29jaWF0aW9uIG1pc3NpbmcgZm9yIGV4dGVuc2lvbiAlc1xuIgogICBXQ01EX05PRlRZUEUsICJObyBvcGVuIGNvbW1hbmQgYXNzb2NpYXRlZCB3aXRoIGZpbGUgdHlwZSAnJXMnXG4iCisgIFdDTURfT1ZFUldSSVRFLCAiT3ZlcndyaXRlIgogfQpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvY21kL0ZyLnJjIGIvcHJvZ3JhbXMvY21kL0ZyLnJjCmluZGV4IGU0YzBjNDIuLjY4OTc0MzggMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL2NtZC9Gci5yYworKysgYi9wcm9ncmFtcy9jbWQvRnIucmMKQEAgLTIzMCw0ICsyMzAsNSBAQAogICBXQ01EX05PLCAiTiIKICAgV0NNRF9OT0FTU09DLCAiRmlsZSBhc3NvY2lhdGlvbiBtaXNzaW5nIGZvciBleHRlbnNpb24gJXNcbiIKICAgV0NNRF9OT0ZUWVBFLCAiTm8gb3BlbiBjb21tYW5kIGFzc29jaWF0ZWQgd2l0aCBmaWxlIHR5cGUgJyVzJ1xuIgorICBXQ01EX09WRVJXUklURSwgIk92ZXJ3cml0ZSIKIH0KZGlmZiAtLWdpdCBhL3Byb2dyYW1zL2NtZC9KYS5yYyBiL3Byb2dyYW1zL2NtZC9KYS5yYwppbmRleCA3NzYyZTgwLi5mNzQzNWE2IDEwMDY0NAotLS0gYS9wcm9ncmFtcy9jbWQvSmEucmMKKysrIGIvcHJvZ3JhbXMvY21kL0phLnJjCkBAIC0yMzQsNCArMjM0LDUgQEAKICAgV0NNRF9OTywgIk4iCiAgIFdDTURfTk9BU1NPQywgIkZpbGUgYXNzb2NpYXRpb24gbWlzc2luZyBmb3IgZXh0ZW5zaW9uICVzXG4iCiAgIFdDTURfTk9GVFlQRSwgIk5vIG9wZW4gY29tbWFuZCBhc3NvY2lhdGVkIHdpdGggZmlsZSB0eXBlICclcydcbiIKKyAgV0NNRF9PVkVSV1JJVEUsICJPdmVyd3JpdGUiCiB9CmRpZmYgLS1naXQgYS9wcm9ncmFtcy9jbWQvS28ucmMgYi9wcm9ncmFtcy9jbWQvS28ucmMKaW5kZXggZWJjMzExNi4uMGE1YjJmZCAxMDA2NDQKLS0tIGEvcHJvZ3JhbXMvY21kL0tvLnJjCisrKyBiL3Byb2dyYW1zL2NtZC9Lby5yYwpAQCAtMjMyLDQgKzIzMiw1IEBACiAgIFdDTURfTk8sICK+xrTPv8AiCiAgIFdDTURfTk9BU1NPQywgIsDMIMbEwM/IrsDlwNogJXO/oSC/rLDhtcggx66x17iywMwgvvi9wLTPtNkuIFxuIgogICBXQ01EX05PRlRZUEUsICLAzCDGxMDPIMf8vcQgJyVzJ7D6IL+ssOG1yCC+7rawx9EguO23ybW1IL74vcC0z7TZLidcbiIKKyAgV0NNRF9PVkVSV1JJVEUsICJPdmVyd3JpdGUiCiB9CmRpZmYgLS1naXQgYS9wcm9ncmFtcy9jbWQvTmwucmMgYi9wcm9ncmFtcy9jbWQvTmwucmMKaW5kZXggM2E5NGQ5Mi4uZWY2YzdlMiAxMDA2NDQKLS0tIGEvcHJvZ3JhbXMvY21kL05sLnJjCisrKyBiL3Byb2dyYW1zL2NtZC9ObC5yYwpAQCAtMjMzLDQgKzIzMyw1IEBACiAgIFdDTURfTk8sICJOIgogICBXQ01EX05PQVNTT0MsICJGaWxlIGFzc29jaWF0aW9uIG1pc3NpbmcgZm9yIGV4dGVuc2lvbiAlc1xuIgogICBXQ01EX05PRlRZUEUsICJObyBvcGVuIGNvbW1hbmQgYXNzb2NpYXRlZCB3aXRoIGZpbGUgdHlwZSAnJXMnXG4iCisgIFdDTURfT1ZFUldSSVRFLCAiT3ZlcndyaXRlIgogfQpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvY21kL05vLnJjIGIvcHJvZ3JhbXMvY21kL05vLnJjCmluZGV4IDZiZjEyOWQuLjg3ZTg0ZDIgMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL2NtZC9Oby5yYworKysgYi9wcm9ncmFtcy9jbWQvTm8ucmMKQEAgLTIzMSw0ICsyMzEsNSBAQAogICBXQ01EX05PLCAiTiIKICAgV0NNRF9OT0FTU09DLCAiRmlsZSBhc3NvY2lhdGlvbiBtaXNzaW5nIGZvciBleHRlbnNpb24gJXNcbiIKICAgV0NNRF9OT0ZUWVBFLCAiTm8gb3BlbiBjb21tYW5kIGFzc29jaWF0ZWQgd2l0aCBmaWxlIHR5cGUgJyVzJ1xuIgorICBXQ01EX09WRVJXUklURSwgIk92ZXJ3cml0ZSIKIH0KZGlmZiAtLWdpdCBhL3Byb2dyYW1zL2NtZC9QbC5yYyBiL3Byb2dyYW1zL2NtZC9QbC5yYwppbmRleCAyYzc5N2UwLi41OWFmY2YwIDEwMDY0NAotLS0gYS9wcm9ncmFtcy9jbWQvUGwucmMKKysrIGIvcHJvZ3JhbXMvY21kL1BsLnJjCkBAIC0yMzUsNCArMjM1LDUgQEAKICAgV0NNRF9OTywgIk4iCiAgIFdDTURfTk9BU1NPQywgIkZpbGUgYXNzb2NpYXRpb24gbWlzc2luZyBmb3IgZXh0ZW5zaW9uICVzXG4iCiAgIFdDTURfTk9GVFlQRSwgIk5vIG9wZW4gY29tbWFuZCBhc3NvY2lhdGVkIHdpdGggZmlsZSB0eXBlICclcydcbiIKKyAgV0NNRF9PVkVSV1JJVEUsICJPdmVyd3JpdGUiCiB9CmRpZmYgLS1naXQgYS9wcm9ncmFtcy9jbWQvUHQucmMgYi9wcm9ncmFtcy9jbWQvUHQucmMKaW5kZXggZjRhMjhjZS4uM2M5ODA5ZiAxMDA2NDQKLS0tIGEvcHJvZ3JhbXMvY21kL1B0LnJjCisrKyBiL3Byb2dyYW1zL2NtZC9QdC5yYwpAQCAtNDQwLDQgKzQ0MCw1IEBACiAgIFdDTURfTk8sICJOIgogICBXQ01EX05PQVNTT0MsICJGaWxlIGFzc29jaWF0aW9uIG1pc3NpbmcgZm9yIGV4dGVuc2lvbiAlc1xuIgogICBXQ01EX05PRlRZUEUsICJObyBvcGVuIGNvbW1hbmQgYXNzb2NpYXRlZCB3aXRoIGZpbGUgdHlwZSAnJXMnXG4iCisgIFdDTURfT1ZFUldSSVRFLCAiT3ZlcndyaXRlIgogfQpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvY21kL1J1LnJjIGIvcHJvZ3JhbXMvY21kL1J1LnJjCmluZGV4IDZmM2YwMWEuLjc4MWFhMjYgMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL2NtZC9SdS5yYworKysgYi9wcm9ncmFtcy9jbWQvUnUucmMKQEAgLTI0Niw0ICsyNDYsNSBAQAogICBXQ01EX05PLCAiTiIKICAgV0NNRF9OT0FTU09DLCAiRmlsZSBhc3NvY2lhdGlvbiBtaXNzaW5nIGZvciBleHRlbnNpb24gJXNcbiIKICAgV0NNRF9OT0ZUWVBFLCAiTm8gb3BlbiBjb21tYW5kIGFzc29jaWF0ZWQgd2l0aCBmaWxlIHR5cGUgJyVzJ1xuIgorICBXQ01EX09WRVJXUklURSwgIk92ZXJ3cml0ZSIKIH0KZGlmZiAtLWdpdCBhL3Byb2dyYW1zL2NtZC9TaS5yYyBiL3Byb2dyYW1zL2NtZC9TaS5yYwppbmRleCBmNzIyNGM1Li5mNzBjOTE1IDEwMDY0NAotLS0gYS9wcm9ncmFtcy9jbWQvU2kucmMKKysrIGIvcHJvZ3JhbXMvY21kL1NpLnJjCkBAIC0yMzIsNCArMjMyLDUgQEAKICAgV0NNRF9OTywgIk4iCiAgIFdDTURfTk9BU1NPQywgIkZpbGUgYXNzb2NpYXRpb24gbWlzc2luZyBmb3IgZXh0ZW5zaW9uICVzXG4iCiAgIFdDTURfTk9GVFlQRSwgIk5vIG9wZW4gY29tbWFuZCBhc3NvY2lhdGVkIHdpdGggZmlsZSB0eXBlICclcydcbiIKKyAgV0NNRF9PVkVSV1JJVEUsICJPdmVyd3JpdGUiCiB9CmRpZmYgLS1naXQgYS9wcm9ncmFtcy9jbWQvVHIucmMgYi9wcm9ncmFtcy9jbWQvVHIucmMKaW5kZXggMWQ4ZDY3Zi4uOGI0ODIwYiAxMDA2NDQKLS0tIGEvcHJvZ3JhbXMvY21kL1RyLnJjCisrKyBiL3Byb2dyYW1zL2NtZC9Uci5yYwpAQCAtMjM0LDQgKzIzNCw1IEBACiAgIFdDTURfTk8sICJOIgogICBXQ01EX05PQVNTT0MsICJGaWxlIGFzc29jaWF0aW9uIG1pc3NpbmcgZm9yIGV4dGVuc2lvbiAlc1xuIgogICBXQ01EX05PRlRZUEUsICJObyBvcGVuIGNvbW1hbmQgYXNzb2NpYXRlZCB3aXRoIGZpbGUgdHlwZSAnJXMnXG4iCisgIFdDTURfT1ZFUldSSVRFLCAiT3ZlcndyaXRlIgogfQpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvY21kL2J1aWx0aW5zLmMgYi9wcm9ncmFtcy9jbWQvYnVpbHRpbnMuYwppbmRleCA4MzJkYTgzLi4zZDRmMDM0IDEwMDY0NAotLS0gYS9wcm9ncmFtcy9jbWQvYnVpbHRpbnMuYworKysgYi9wcm9ncmFtcy9jbWQvYnVpbHRpbnMuYwpAQCAtNzgzLDcgKzc4Myw1MSBAQAogICAgICAgU2V0TGFzdEVycm9yKEVSUk9SX0FDQ0VTU19ERU5JRUQpOwogICAgICAgc3RhdHVzID0gMDsKICAgICB9IGVsc2UgewotICAgICAgc3RhdHVzID0gTW92ZUZpbGUgKHNyYywgZGVzdCk7CisgICAgICBCT09MIG9rID0gVFJVRTsKKworICAgICAgLyogSWYgZGVzdGluYXRpb24gZXhpc3RzLCBwcm9tcHQgdW5sZXNzIC9ZIHN1cHBsaWVkICovCisgICAgICBpZiAoR2V0RmlsZUF0dHJpYnV0ZXNBKGRlc3QpICE9IElOVkFMSURfRklMRV9BVFRSSUJVVEVTKSB7CisgICAgICAgIEJPT0wgZm9yY2UgPSBGQUxTRTsKKyAgICAgICAgY2hhciBjb3B5Y21kW01BWFNUUklOR107CisgICAgICAgIGludCBsZW47CisKKyAgICAgICAgLyogLy1ZIGhhcyB0aGUgaGlnaGVzdCBwcmlvcml0eSwgdGhlbiAvWSBhbmQgZmluYWxseSB0aGUgQ09QWUNNRCBlbnYuIHZhcmlhYmxlICovCisgICAgICAgIGlmIChzdHJzdHIgKHF1YWxzLCAiLy1ZIikpCisgICAgICAgICAgZm9yY2UgPSBGQUxTRTsKKyAgICAgICAgZWxzZSBpZiAoc3Ryc3RyIChxdWFscywgIi9ZIikpCisgICAgICAgICAgZm9yY2UgPSBUUlVFOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICBsZW4gPSBHZXRFbnZpcm9ubWVudFZhcmlhYmxlICgiQ09QWUNNRCIsIGNvcHljbWQsIHNpemVvZihjb3B5Y21kKSk7CisgICAgICAgICAgZm9yY2UgPSAobGVuICYmIGxlbiA8IHNpemVvZihjb3B5Y21kKSAmJiAhIGxzdHJjbXBpIChjb3B5Y21kLCAiL1kiKSk7CisgICAgICAgIH0KKworICAgICAgICAvKiBQcm9tcHQgaWYgb3ZlcndyaXRpbmcgKi8KKyAgICAgICAgaWYgKCFmb3JjZSkgeworICAgICAgICAgIGNoYXIgIHF1ZXN0aW9uW01BWFNUUklOR107CisgICAgICAgICAgY2hhciAgb3ZlcndyaXRlW01BWFNUUklOR107CisKKyAgICAgICAgICBMb2FkU3RyaW5nIChoaW5zdCwgV0NNRF9PVkVSV1JJVEUsIG92ZXJ3cml0ZSwgc2l6ZW9mKG92ZXJ3cml0ZSkpOworCisgICAgICAgICAgLyogQXNrIGZvciBjb25maXJtYXRpb24gKi8KKyAgICAgICAgICBzcHJpbnRmKHF1ZXN0aW9uLCAiJXMgJXM/ICIsIG92ZXJ3cml0ZSwgZGVzdCk7CisgICAgICAgICAgb2sgPSBXQ01EX2Fza19jb25maXJtKHF1ZXN0aW9uLCBUUlVFKTsKKworICAgICAgICAgIC8qIFNvIGRlbGV0ZSB0aGUgZGVzdGluYXRpb24gcHJpb3IgdG8gdGhlIG1vdmUgKi8KKyAgICAgICAgICBpZiAob2spIHsKKyAgICAgICAgICAgIGlmICghRGVsZXRlRmlsZSAoZGVzdCkpIHsKKyAgICAgICAgICAgICAgV0NNRF9wcmludF9lcnJvciAoKTsKKyAgICAgICAgICAgICAgZXJyb3JsZXZlbCA9IDE7CisgICAgICAgICAgICAgIG9rID0gRkFMU0U7CisgICAgICAgICAgICB9CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisKKyAgICAgIGlmIChvaykgeworICAgICAgICBzdGF0dXMgPSBNb3ZlRmlsZSAoc3JjLCBkZXN0KTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIHN0YXR1cyA9IDE7IC8qIEFueXRoaW5nIG90aGVyIHRoYW4gMCB0byBwcmV2ZW50IGVycm9yIG1zZyBiZWxvdyAqLworICAgICAgfQogICAgIH0KIAogICAgIGlmICghc3RhdHVzKSB7CmRpZmYgLS1naXQgYS9wcm9ncmFtcy9jbWQvd2NtZC5oIGIvcHJvZ3JhbXMvY21kL3djbWQuaAppbmRleCAyOWVmYmU0Li4yODczZWEyIDEwMDY0NAotLS0gYS9wcm9ncmFtcy9jbWQvd2NtZC5oCisrKyBiL3Byb2dyYW1zL2NtZC93Y21kLmgKQEAgLTE3OSw2ICsxNzksNyBAQAogI2RlZmluZSBXQ01EX05PICAgICAgIDEwMDMKICNkZWZpbmUgV0NNRF9OT0FTU09DICAxMDA0CiAjZGVmaW5lIFdDTURfTk9GVFlQRSAgMTAwNQorI2RlZmluZSBXQ01EX09WRVJXUklURSAxMDA2CiAKIC8qIG1zZG4gc3BlY2lmaWVkIG1heCBmb3IgV2luIFhQICovCiAjZGVmaW5lIE1BWFNUUklORyA4MTkyCg==