Name: series-workflowvrvjd Phase: Failed StartedAt: 2026-07-11 18:40:47 +0000 UTC FinishedAt: 2026-07-11 18:52:07 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvrvjd[0] Phase: Succeeded StartedAt: 2026-07-11 18:40:47 +0000 UTC FinishedAt: 2026-07-11 18:51:42 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvrvjd[0].run-triage Phase: Succeeded StartedAt: 2026-07-11 18:40:47 +0000 UTC FinishedAt: 2026-07-11 18:51:42 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "AI determined the patch has no functional impact", "targets": null, "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzExIDE4OjUxPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgdXNlci1zcGFjZSB0b29scyAobGliYnBmKSBhbmQgc2VsZnRlc3RzIGluIHRoZSB0b29scy8gZGlyZWN0b3J5LiBJdCBkb2VzIG5vdCBtYWtlIGFueSBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCBjb2RlLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMSAxODo1MTwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IGNhOWNmNmY0YmIxY2IxMzMyZWY0MTY2NWFjODVjYmMzNGY5N2U0OThcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgU2F0IEp1bCAxMSAxODo1MTowOSAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS90b29scy9saWIvYnBmL2xpYmJwZi5jIGIvdG9vbHMvbGliL2JwZi9saWJicGYuY1xuaW5kZXggMTM2ODc1MmFhMTNjMzkuLjFhYjkzOWRmYjdmMDhjIDEwMDY0NFxuLS0tIGEvdG9vbHMvbGliL2JwZi9saWJicGYuY1xuJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvbGliL2JwZi9saWJicGYuY1xuQEAgLTEyOTczLDEzICYjNDM7MTI5NzMsMTQgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmFyY2hfc3BlY2lmaWNfbGliX3BhdGhzKHZvaWQpXG4gLyogR2V0IGZ1bGwgcGF0aCB0byBwcm9ncmFtL3NoYXJlZCBsaWJyYXJ5LiAqL1xuIHN0YXRpYyBpbnQgcmVzb2x2ZV9mdWxsX3BhdGgoY29uc3QgY2hhciAqZmlsZSwgY2hhciAqcmVzdWx0LCBzaXplX3QgcmVzdWx0X3N6KVxuIHtcbi1cdGNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoc1szXSA9IHt9O1xuJiM0MztcdGNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoc1s0XSA9IHt9O1xuIFx0aW50IGksIHBlcm07XG4gXG4gXHRpZiAoc3RyX2hhc19zZngoZmlsZSwgXCYjMzQ7LnNvXCYjMzQ7KSB8fCBzdHJzdHIoZmlsZSwgXCYjMzQ7LnNvLlwmIzM0OykpIHtcbiBcdFx0c2VhcmNoX3BhdGhzWzBdID0gZ2V0ZW52KFwmIzM0O0xEX0xJQlJBUllfUEFUSFwmIzM0Oyk7XG4gXHRcdHNlYXJjaF9wYXRoc1sxXSA9IFwmIzM0Oy91c3IvbGliNjQ6L3Vzci9saWJcJiMzNDs7XG4gXHRcdHNlYXJjaF9wYXRoc1syXSA9IGFyY2hfc3BlY2lmaWNfbGliX3BhdGhzKCk7XG4mIzQzO1x0XHRzZWFyY2hfcGF0aHNbM10gPSBcJiMzNDsvbGliNjQ6L2xpYlwmIzM0OztcbiBcdFx0cGVybSA9IFJfT0s7XG4gXHR9IGVsc2Uge1xuIFx0XHRzZWFyY2hfcGF0aHNbMF0gPSBnZXRlbnYoXCYjMzQ7UEFUSFwmIzM0Oyk7XG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL01ha2VmaWxlIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL01ha2VmaWxlXG5pbmRleCBiNjQyZWU0ODllYTY0MC4uNzI2MGQ2NzJhY2Y3M2EgMTAwNjQ0XG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvTWFrZWZpbGVcbiYjNDM7JiM0MzsmIzQzOyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9NYWtlZmlsZVxuQEAgLTEwNTUsMTAgJiM0MzsxMDU1LDEzIEBAIGVuZGlmXG4gREVGQVVMVF9JTlNUQUxMX1JVTEUgOj0gJChJTlNUQUxMX1JVTEUpXG4gb3ZlcnJpZGUgZGVmaW5lIElOU1RBTExfUlVMRVxuIFx0JChERUZBVUxUX0lOU1RBTExfUlVMRSlcbiYjNDM7XHRAbWtkaXIgLXAgJChJTlNUQUxMX1BBVEgpL3Rvb2xzL3NiaW5cbiYjNDM7XHRAcnN5bmMgLWEgJChpZiAkKFBFUk1JU1NJVkUpLC0taWdub3JlLW1pc3NpbmctYXJncykgJChUUlVOTkVSX0JQRlRPT0wpICQoSU5TVEFMTF9QQVRIKS90b29scy9zYmluL1xuJiM0MztcdEByc3luYyAtYSAkKGlmICQoUEVSTUlTU0lWRSksLS1pZ25vcmUtbWlzc2luZy1hcmdzKSAkKE9VVFBVVCkvcmVzb2x2ZV9idGZpZHMudGVzdC5vLkJURiAkKElOU1RBTExfUEFUSCkvXG4gXHRAZm9yIERJUiBpbiAkKFRFU1RfSU5TVF9TVUJESVJTKTsgZG9cdFx0XHRcdCAgXFxcbiBcdFx0bWtkaXIgLXAgJChJTlNUQUxMX1BBVEgpLyQkRElSO1x0XHRcdFx0ICBcXFxuIFx0XHRyc3luYyAtYSAkKGlmICQoUEVSTUlTU0lWRSksLS1pZ25vcmUtbWlzc2luZy1hcmdzKVx0ICBcXFxuLVx0XHRcdCQoT1VUUFVUKS8kJERJUi8qLmJwZi5vXHRcdFx0XHQgIFxcXG4mIzQzO1x0XHRcdCQoT1VUUFVUKS8kJERJUi8qLmJwZi5vICQoT1VUUFVUKS8kJERJUi9yZXNvbHZlX2J0Zmlkcy50ZXN0Lm8uQlRGIFxcXG4gXHRcdFx0JChJTlNUQUxMX1BBVEgpLyQkRElSO1x0XHRcdFx0ICBcXFxuIFx0ZG9uZVxuIGVuZGVmXG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dfdGVzdHMvbHNtX2JkZXYuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL2xzbV9iZGV2LmNcbmluZGV4IGE5NzA3OThlMTE3MzUzLi4yOGJjNGIxMTdmNDE1YiAxMDA2NDRcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL2xzbV9iZGV2LmNcbiYjNDM7JiM0MzsmIzQzOyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL2xzbV9iZGV2LmNcbkBAIC0xNyw2ICYjNDM7MTcsNyBAQFxuICNpbmNsdWRlIFx1MDAzY3N0ZGxpYi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjc3RyaW5nLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NzeXMvc3RhdC5oXHUwMDNlXG4mIzQzOyNpbmNsdWRlIFx1MDAzY3N5cy9zeXNtYWNyb3MuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY3N5cy90eXBlcy5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjdW5pc3RkLmhcdTAwM2VcbiAjaW5jbHVkZSBcJiMzNDtsc21fYmRldi5za2VsLmhcJiMzNDtcbkBAIC0xNzIsNyAmIzQzOzE3Myw3IEBAIHZvaWQgdGVzdF9sc21fYmRldih2b2lkKVxuIFx0aWYgKCFBU1NFUlRfT0soc3RhdChETV9ERVZfUEFUSCwgXHUwMDI2c3QpLCBcJiMzNDtzdGF0IGRtIGRldlwmIzM0OykpXG4gXHRcdGdvdG8gcmVtb3ZlX2RtO1xuIFxuLVx0ZGV2X2tleSA9IChfX3UzMilzdC5zdF9yZGV2O1xuJiM0MztcdGRldl9rZXkgPSAobWFqb3Ioc3Quc3RfcmRldikgXHUwMDNjXHUwMDNjIDIwKSB8IG1pbm9yKHN0LnN0X3JkZXYpO1xuIFxuIFx0LyogTG9vayB1cCB0aGUgZGV2aWNlIGluIHRoZSBCUEYgbWFwIGFuZCB2ZXJpZnkuICovXG4gXHRlcnIgPSBicGZfbWFwX19sb29rdXBfZWxlbShza2VsLVx1MDAzZW1hcHMudmVyaXR5X2RldmljZXMsXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTEgMTg6NTE8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBtb2RpZmllcyB1c2VyLXNwYWNlIHRvb2xzIChsaWJicGYpIGFuZCBzZWxmdGVzdHMgaW4gdGhlIHRvb2xzLyBkaXJlY3RvcnkuIEl0IGRvZXMgbm90IG1ha2UgYW55IGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIGNvZGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBjYTljZjZmNGJiMWNiMTMzMmVmNDE2NjVhYzg1Y2JjMzRmOTdlNDk4CkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFNhdCBKdWwgMTEgMTg6NTE6MDkgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS90b29scy9saWIvYnBmL2xpYmJwZi5jIGIvdG9vbHMvbGliL2JwZi9saWJicGYuYwppbmRleCAxMzY4NzUyYWExM2MzOS4uMWFiOTM5ZGZiN2YwOGMgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYi9icGYvbGliYnBmLmMKJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvbGliL2JwZi9saWJicGYuYwpAQCAtMTI5NzMsMTMgJiM0MzsxMjk3MywxNCBAQCBzdGF0aWMgY29uc3QgY2hhciAqYXJjaF9zcGVjaWZpY19saWJfcGF0aHModm9pZCkKIC8qIEdldCBmdWxsIHBhdGggdG8gcHJvZ3JhbS9zaGFyZWQgbGlicmFyeS4gKi8KIHN0YXRpYyBpbnQgcmVzb2x2ZV9mdWxsX3BhdGgoY29uc3QgY2hhciAqZmlsZSwgY2hhciAqcmVzdWx0LCBzaXplX3QgcmVzdWx0X3N6KQogewotCWNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoc1szXSA9IHt9OwomIzQzOwljb25zdCBjaGFyICpzZWFyY2hfcGF0aHNbNF0gPSB7fTsKIAlpbnQgaSwgcGVybTsKIAogCWlmIChzdHJfaGFzX3NmeChmaWxlLCAmIzM0Oy5zbyYjMzQ7KSB8fCBzdHJzdHIoZmlsZSwgJiMzNDsuc28uJiMzNDspKSB7CiAJCXNlYXJjaF9wYXRoc1swXSA9IGdldGVudigmIzM0O0xEX0xJQlJBUllfUEFUSCYjMzQ7KTsKIAkJc2VhcmNoX3BhdGhzWzFdID0gJiMzNDsvdXNyL2xpYjY0Oi91c3IvbGliJiMzNDs7CiAJCXNlYXJjaF9wYXRoc1syXSA9IGFyY2hfc3BlY2lmaWNfbGliX3BhdGhzKCk7CiYjNDM7CQlzZWFyY2hfcGF0aHNbM10gPSAmIzM0Oy9saWI2NDovbGliJiMzNDs7CiAJCXBlcm0gPSBSX09LOwogCX0gZWxzZSB7CiAJCXNlYXJjaF9wYXRoc1swXSA9IGdldGVudigmIzM0O1BBVEgmIzM0Oyk7CmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvTWFrZWZpbGUgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvTWFrZWZpbGUKaW5kZXggYjY0MmVlNDg5ZWE2NDAuLjcyNjBkNjcyYWNmNzNhIDEwMDY0NAotLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvTWFrZWZpbGUKJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL01ha2VmaWxlCkBAIC0xMDU1LDEwICYjNDM7MTA1NSwxMyBAQCBlbmRpZgogREVGQVVMVF9JTlNUQUxMX1JVTEUgOj0gJChJTlNUQUxMX1JVTEUpCiBvdmVycmlkZSBkZWZpbmUgSU5TVEFMTF9SVUxFCiAJJChERUZBVUxUX0lOU1RBTExfUlVMRSkKJiM0MzsJQG1rZGlyIC1wICQoSU5TVEFMTF9QQVRIKS90b29scy9zYmluCiYjNDM7CUByc3luYyAtYSAkKGlmICQoUEVSTUlTU0lWRSksLS1pZ25vcmUtbWlzc2luZy1hcmdzKSAkKFRSVU5ORVJfQlBGVE9PTCkgJChJTlNUQUxMX1BBVEgpL3Rvb2xzL3NiaW4vCiYjNDM7CUByc3luYyAtYSAkKGlmICQoUEVSTUlTU0lWRSksLS1pZ25vcmUtbWlzc2luZy1hcmdzKSAkKE9VVFBVVCkvcmVzb2x2ZV9idGZpZHMudGVzdC5vLkJURiAkKElOU1RBTExfUEFUSCkvCiAJQGZvciBESVIgaW4gJChURVNUX0lOU1RfU1VCRElSUyk7IGRvCQkJCSAgXAogCQlta2RpciAtcCAkKElOU1RBTExfUEFUSCkvJCRESVI7CQkJCSAgXAogCQlyc3luYyAtYSAkKGlmICQoUEVSTUlTU0lWRSksLS1pZ25vcmUtbWlzc2luZy1hcmdzKQkgIFwKLQkJCSQoT1VUUFVUKS8kJERJUi8qLmJwZi5vCQkJCSAgXAomIzQzOwkJCSQoT1VUUFVUKS8kJERJUi8qLmJwZi5vICQoT1VUUFVUKS8kJERJUi9yZXNvbHZlX2J0Zmlkcy50ZXN0Lm8uQlRGIFwKIAkJCSQoSU5TVEFMTF9QQVRIKS8kJERJUjsJCQkJICBcCiAJZG9uZQogZW5kZWYKZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL2xzbV9iZGV2LmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ190ZXN0cy9sc21fYmRldi5jCmluZGV4IGE5NzA3OThlMTE3MzUzLi4yOGJjNGIxMTdmNDE1YiAxMDA2NDQKLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dfdGVzdHMvbHNtX2JkZXYuYwomIzQzOyYjNDM7JiM0MzsgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ190ZXN0cy9sc21fYmRldi5jCkBAIC0xNyw2ICYjNDM7MTcsNyBAQAogI2luY2x1ZGUgJmx0O3N0ZGxpYi5oJmd0OwogI2luY2x1ZGUgJmx0O3N0cmluZy5oJmd0OwogI2luY2x1ZGUgJmx0O3N5cy9zdGF0LmgmZ3Q7CiYjNDM7I2luY2x1ZGUgJmx0O3N5cy9zeXNtYWNyb3MuaCZndDsKICNpbmNsdWRlICZsdDtzeXMvdHlwZXMuaCZndDsKICNpbmNsdWRlICZsdDt1bmlzdGQuaCZndDsKICNpbmNsdWRlICYjMzQ7bHNtX2JkZXYuc2tlbC5oJiMzNDsKQEAgLTE3Miw3ICYjNDM7MTczLDcgQEAgdm9pZCB0ZXN0X2xzbV9iZGV2KHZvaWQpCiAJaWYgKCFBU1NFUlRfT0soc3RhdChETV9ERVZfUEFUSCwgJmFtcDtzdCksICYjMzQ7c3RhdCBkbSBkZXYmIzM0OykpCiAJCWdvdG8gcmVtb3ZlX2RtOwogCi0JZGV2X2tleSA9IChfX3UzMilzdC5zdF9yZGV2OwomIzQzOwlkZXZfa2V5ID0gKG1ham9yKHN0LnN0X3JkZXYpICZsdDsmbHQ7IDIwKSB8IG1pbm9yKHN0LnN0X3JkZXYpOwogCiAJLyogTG9vayB1cCB0aGUgZGV2aWNlIGluIHRoZSBCUEYgbWFwIGFuZCB2ZXJpZnkuICovCiAJZXJyID0gYnBmX21hcF9fbG9va3VwX2VsZW0oc2tlbC0mZ3Q7bWFwcy52ZXJpdHlfZGV2aWNlcywKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTEgMTg6NTE8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjcxNAoJCQkJCQkJb3V0cHV0OiA2NgoJCQkJCQkJdGhvdWdodHM6IDIyOAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipQYXRjaCBBbmFseXNpczogTm90IEtlcm5lbC1JbXBhY3RpbmcqKgoKT2theSwgc28gSSYjMzk7dmUgdGFrZW4gYSBsb29rIGF0IHRoaXMgcGF0Y2ggYW5kIGl0cyBmaWxlIG1vZGlmaWNhdGlvbnMuIEl0IGxvb2tzIGxpa2UgdGhlIGNoYW5nZXMgYXJlIGlzb2xhdGVkIHRvIHRoZSBgdG9vbHMvYCBkaXJlY3RvcnksIHNwZWNpZmljYWxseSB0b3VjaGluZyBgdG9vbHMvbGliL2JwZi9saWJicGYuY2AsIGB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvTWFrZWZpbGVgLCBhbmQgYHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL2xzbV9iZGV2LmNgLiBJbW1lZGlhdGVseSwgbXkgc3BpZGV5LXNlbnNlIGlzIHRlbGxpbmcgbWUgdGhpcyBpc24mIzM5O3Qga2VybmVsLWxldmVsLCBidXQgbGV0JiMzOTtzIGJlIHRob3JvdWdoLgoKUmlnaHQsIGBsaWJicGYuY2AgaXMgdGhlIHVzZXItc3BhY2UgbGlicmFyeSwgc28gZGVmaW5pdGVseSBub3QgaW4ta2VybmVsLiBUaGUgYE1ha2VmaWxlYCBpcyBmb3IgdGhlIHNlbGZ0ZXN0cywgYWdhaW4gdXNlci1zcGFjZSB0ZXN0IG9yY2hlc3RyYXRpb24uIEFuZCBmaW5hbGx5LCBgbHNtX2JkZXYuY2AgaXMgY2xlYXJseSBhbm90aGVyIHVzZXItc3BhY2UgdGVzdCBwcm9ncmFtLCB0aGlzIG9uZSBmb3IgQlBGIExTTS4KCkdpdmVuIHRoYXQgbm9uZSBvZiB0aGVzZSBmaWxlcyByZXByZXNlbnQgY29yZSBrZXJuZWwgZnVuY3Rpb25hbGl0eSwgSSYjMzk7bSBjb25maWRlbnQgaW4gY29uY2x1ZGluZyB0aGF0IHRoaXMgcGF0Y2ggZG9lc24mIzM5O3QgaW50cm9kdWNlIGFueSBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IG5lY2Vzc2l0YXRlIGZ1enppbmcuIFRodXMsIEkmIzM5O2xsIHNldCBgV29ydGhGdXp6aW5nPWZhbHNlYC4gVGltZSB0byBjYWxsIHNldC1yZXN1bHRzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzExIDE4OjUxPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogW10sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBtb2RpZmllcyB1c2VyLXNwYWNlIHRvb2xzIChsaWJicGYpIGFuZCBzZWxmdGVzdHMgaW4gdGhlIHRvb2xzLyBkaXJlY3RvcnkuIEl0IGRvZXMgbm90IG1ha2UgYW55IGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIGNvZGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIHVzZXItc3BhY2UgdG9vbHMgKGxpYmJwZikgYW5kIHNlbGZ0ZXN0cyBpbiB0aGUgdG9vbHMvIGRpcmVjdG9yeS4gSXQgZG9lcyBub3QgbWFrZSBhbnkgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgY29kZS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0xMVQxODo1MToxMC45NTE4NjI0OTNaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NzcxOTkwMDEzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIHVzZXItc3BhY2UgdG9vbHMgKGxpYmJwZikgYW5kIHNlbGZ0ZXN0cyBpbiB0aGUgdG9vbHMvIGRpcmVjdG9yeS4gSXQgZG9lcyBub3QgbWFrZSBhbnkgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgY29kZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTExVDE4OjUxOjEwLjk1MTg4MTU0M1oiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTY4NDIzMDY1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgY2E5Y2Y2ZjRiYjFjYjEzMzJlZjQxNjY1YWM4NWNiYzM0Zjk3ZTQ5OFxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgU2F0IEp1bCAxMSAxODo1MTowOSAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS90b29scy9saWIvYnBmL2xpYmJwZi5jIGIvdG9vbHMvbGliL2JwZi9saWJicGYuY1xcbmluZGV4IDEzNjg3NTJhYTEzYzM5Li4xYWI5MzlkZmI3ZjA4YyAxMDA2NDRcXG4tLS0gYS90b29scy9saWIvYnBmL2xpYmJwZi5jXFxuKysrIGIvdG9vbHMvbGliL2JwZi9saWJicGYuY1xcbkBAIC0xMjk3MywxMyArMTI5NzMsMTQgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmFyY2hfc3BlY2lmaWNfbGliX3BhdGhzKHZvaWQpXFxuIC8qIEdldCBmdWxsIHBhdGggdG8gcHJvZ3JhbS9zaGFyZWQgbGlicmFyeS4gKi9cXG4gc3RhdGljIGludCByZXNvbHZlX2Z1bGxfcGF0aChjb25zdCBjaGFyICpmaWxlLCBjaGFyICpyZXN1bHQsIHNpemVfdCByZXN1bHRfc3opXFxuIHtcXG4tXFx0Y29uc3QgY2hhciAqc2VhcmNoX3BhdGhzWzNdID0ge307XFxuK1xcdGNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoc1s0XSA9IHt9O1xcbiBcXHRpbnQgaSwgcGVybTtcXG4gXFxuIFxcdGlmIChzdHJfaGFzX3NmeChmaWxlLCBcXFwiLnNvXFxcIikgfHwgc3Ryc3RyKGZpbGUsIFxcXCIuc28uXFxcIikpIHtcXG4gXFx0XFx0c2VhcmNoX3BhdGhzWzBdID0gZ2V0ZW52KFxcXCJMRF9MSUJSQVJZX1BBVEhcXFwiKTtcXG4gXFx0XFx0c2VhcmNoX3BhdGhzWzFdID0gXFxcIi91c3IvbGliNjQ6L3Vzci9saWJcXFwiO1xcbiBcXHRcXHRzZWFyY2hfcGF0aHNbMl0gPSBhcmNoX3NwZWNpZmljX2xpYl9wYXRocygpO1xcbitcXHRcXHRzZWFyY2hfcGF0aHNbM10gPSBcXFwiL2xpYjY0Oi9saWJcXFwiO1xcbiBcXHRcXHRwZXJtID0gUl9PSztcXG4gXFx0fSBlbHNlIHtcXG4gXFx0XFx0c2VhcmNoX3BhdGhzWzBdID0gZ2V0ZW52KFxcXCJQQVRIXFxcIik7XFxuZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9NYWtlZmlsZSBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9NYWtlZmlsZVxcbmluZGV4IGI2NDJlZTQ4OWVhNjQwLi43MjYwZDY3MmFjZjczYSAxMDA2NDRcXG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvTWFrZWZpbGVcXG4rKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvTWFrZWZpbGVcXG5AQCAtMTA1NSwxMCArMTA1NSwxMyBAQCBlbmRpZlxcbiBERUZBVUxUX0lOU1RBTExfUlVMRSA6PSAkKElOU1RBTExfUlVMRSlcXG4gb3ZlcnJpZGUgZGVmaW5lIElOU1RBTExfUlVMRVxcbiBcXHQkKERFRkFVTFRfSU5TVEFMTF9SVUxFKVxcbitcXHRAbWtkaXIgLXAgJChJTlNUQUxMX1BBVEgpL3Rvb2xzL3NiaW5cXG4rXFx0QHJzeW5jIC1hICQoaWYgJChQRVJNSVNTSVZFKSwtLWlnbm9yZS1taXNzaW5nLWFyZ3MpICQoVFJVTk5FUl9CUEZUT09MKSAkKElOU1RBTExfUEFUSCkvdG9vbHMvc2Jpbi9cXG4rXFx0QHJzeW5jIC1hICQoaWYgJChQRVJNSVNTSVZFKSwtLWlnbm9yZS1taXNzaW5nLWFyZ3MpICQoT1VUUFVUKS9yZXNvbHZlX2J0Zmlkcy50ZXN0Lm8uQlRGICQoSU5TVEFMTF9QQVRIKS9cXG4gXFx0QGZvciBESVIgaW4gJChURVNUX0lOU1RfU1VCRElSUyk7IGRvXFx0XFx0XFx0XFx0ICBcXFxcXFxuIFxcdFxcdG1rZGlyIC1wICQoSU5TVEFMTF9QQVRIKS8kJERJUjtcXHRcXHRcXHRcXHQgIFxcXFxcXG4gXFx0XFx0cnN5bmMgLWEgJChpZiAkKFBFUk1JU1NJVkUpLC0taWdub3JlLW1pc3NpbmctYXJncylcXHQgIFxcXFxcXG4tXFx0XFx0XFx0JChPVVRQVVQpLyQkRElSLyouYnBmLm9cXHRcXHRcXHRcXHQgIFxcXFxcXG4rXFx0XFx0XFx0JChPVVRQVVQpLyQkRElSLyouYnBmLm8gJChPVVRQVVQpLyQkRElSL3Jlc29sdmVfYnRmaWRzLnRlc3Quby5CVEYgXFxcXFxcbiBcXHRcXHRcXHQkKElOU1RBTExfUEFUSCkvJCRESVI7XFx0XFx0XFx0XFx0ICBcXFxcXFxuIFxcdGRvbmVcXG4gZW5kZWZcXG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dfdGVzdHMvbHNtX2JkZXYuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL2xzbV9iZGV2LmNcXG5pbmRleCBhOTcwNzk4ZTExNzM1My4uMjhiYzRiMTE3ZjQxNWIgMTAwNjQ0XFxuLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dfdGVzdHMvbHNtX2JkZXYuY1xcbisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL2xzbV9iZGV2LmNcXG5AQCAtMTcsNiArMTcsNyBAQFxcbiAjaW5jbHVkZSBcXHUwMDNjc3RkbGliLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NzdHJpbmcuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY3N5cy9zdGF0LmhcXHUwMDNlXFxuKyNpbmNsdWRlIFxcdTAwM2NzeXMvc3lzbWFjcm9zLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NzeXMvdHlwZXMuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY3VuaXN0ZC5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXFwibHNtX2JkZXYuc2tlbC5oXFxcIlxcbkBAIC0xNzIsNyArMTczLDcgQEAgdm9pZCB0ZXN0X2xzbV9iZGV2KHZvaWQpXFxuIFxcdGlmICghQVNTRVJUX09LKHN0YXQoRE1fREVWX1BBVEgsIFxcdTAwMjZzdCksIFxcXCJzdGF0IGRtIGRldlxcXCIpKVxcbiBcXHRcXHRnb3RvIHJlbW92ZV9kbTtcXG4gXFxuLVxcdGRldl9rZXkgPSAoX191MzIpc3Quc3RfcmRldjtcXG4rXFx0ZGV2X2tleSA9IChtYWpvcihzdC5zdF9yZGV2KSBcXHUwMDNjXFx1MDAzYyAyMCkgfCBtaW5vcihzdC5zdF9yZGV2KTtcXG4gXFxuIFxcdC8qIExvb2sgdXAgdGhlIGRldmljZSBpbiB0aGUgQlBGIG1hcCBhbmQgdmVyaWZ5LiAqL1xcbiBcXHRlcnIgPSBicGZfbWFwX19sb29rdXBfZWxlbShza2VsLVxcdTAwM2VtYXBzLnZlcml0eV9kZXZpY2VzLFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMVQxODo1MToxMS41MjEyODg2MThaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjUyMDI1NTc0NjcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgdXNlci1zcGFjZSB0b29scyAobGliYnBmKSBhbmQgc2VsZnRlc3RzIGluIHRoZSB0b29scy8gZGlyZWN0b3J5LiBJdCBkb2VzIG5vdCBtYWtlIGFueSBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCBjb2RlLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCBjYTljZjZmNGJiMWNiMTMzMmVmNDE2NjVhYzg1Y2JjMzRmOTdlNDk4XG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFNhdCBKdWwgMTEgMTg6NTE6MDkgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS90b29scy9saWIvYnBmL2xpYmJwZi5jIGIvdG9vbHMvbGliL2JwZi9saWJicGYuY1xuaW5kZXggMTM2ODc1MmFhMTNjMzkuLjFhYjkzOWRmYjdmMDhjIDEwMDY0NFxuLS0tIGEvdG9vbHMvbGliL2JwZi9saWJicGYuY1xuKysrIGIvdG9vbHMvbGliL2JwZi9saWJicGYuY1xuQEAgLTEyOTczLDEzICsxMjk3MywxNCBAQCBzdGF0aWMgY29uc3QgY2hhciAqYXJjaF9zcGVjaWZpY19saWJfcGF0aHModm9pZClcbiAvKiBHZXQgZnVsbCBwYXRoIHRvIHByb2dyYW0vc2hhcmVkIGxpYnJhcnkuICovXG4gc3RhdGljIGludCByZXNvbHZlX2Z1bGxfcGF0aChjb25zdCBjaGFyICpmaWxlLCBjaGFyICpyZXN1bHQsIHNpemVfdCByZXN1bHRfc3opXG4ge1xuLVx0Y29uc3QgY2hhciAqc2VhcmNoX3BhdGhzWzNdID0ge307XG4rXHRjb25zdCBjaGFyICpzZWFyY2hfcGF0aHNbNF0gPSB7fTtcbiBcdGludCBpLCBwZXJtO1xuIFxuIFx0aWYgKHN0cl9oYXNfc2Z4KGZpbGUsIFwiLnNvXCIpIHx8IHN0cnN0cihmaWxlLCBcIi5zby5cIikpIHtcbiBcdFx0c2VhcmNoX3BhdGhzWzBdID0gZ2V0ZW52KFwiTERfTElCUkFSWV9QQVRIXCIpO1xuIFx0XHRzZWFyY2hfcGF0aHNbMV0gPSBcIi91c3IvbGliNjQ6L3Vzci9saWJcIjtcbiBcdFx0c2VhcmNoX3BhdGhzWzJdID0gYXJjaF9zcGVjaWZpY19saWJfcGF0aHMoKTtcbitcdFx0c2VhcmNoX3BhdGhzWzNdID0gXCIvbGliNjQ6L2xpYlwiO1xuIFx0XHRwZXJtID0gUl9PSztcbiBcdH0gZWxzZSB7XG4gXHRcdHNlYXJjaF9wYXRoc1swXSA9IGdldGVudihcIlBBVEhcIik7XG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL01ha2VmaWxlIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL01ha2VmaWxlXG5pbmRleCBiNjQyZWU0ODllYTY0MC4uNzI2MGQ2NzJhY2Y3M2EgMTAwNjQ0XG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvTWFrZWZpbGVcbisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9NYWtlZmlsZVxuQEAgLTEwNTUsMTAgKzEwNTUsMTMgQEAgZW5kaWZcbiBERUZBVUxUX0lOU1RBTExfUlVMRSA6PSAkKElOU1RBTExfUlVMRSlcbiBvdmVycmlkZSBkZWZpbmUgSU5TVEFMTF9SVUxFXG4gXHQkKERFRkFVTFRfSU5TVEFMTF9SVUxFKVxuK1x0QG1rZGlyIC1wICQoSU5TVEFMTF9QQVRIKS90b29scy9zYmluXG4rXHRAcnN5bmMgLWEgJChpZiAkKFBFUk1JU1NJVkUpLC0taWdub3JlLW1pc3NpbmctYXJncykgJChUUlVOTkVSX0JQRlRPT0wpICQoSU5TVEFMTF9QQVRIKS90b29scy9zYmluL1xuK1x0QHJzeW5jIC1hICQoaWYgJChQRVJNSVNTSVZFKSwtLWlnbm9yZS1taXNzaW5nLWFyZ3MpICQoT1VUUFVUKS9yZXNvbHZlX2J0Zmlkcy50ZXN0Lm8uQlRGICQoSU5TVEFMTF9QQVRIKS9cbiBcdEBmb3IgRElSIGluICQoVEVTVF9JTlNUX1NVQkRJUlMpOyBkb1x0XHRcdFx0ICBcXFxuIFx0XHRta2RpciAtcCAkKElOU1RBTExfUEFUSCkvJCRESVI7XHRcdFx0XHQgIFxcXG4gXHRcdHJzeW5jIC1hICQoaWYgJChQRVJNSVNTSVZFKSwtLWlnbm9yZS1taXNzaW5nLWFyZ3MpXHQgIFxcXG4tXHRcdFx0JChPVVRQVVQpLyQkRElSLyouYnBmLm9cdFx0XHRcdCAgXFxcbitcdFx0XHQkKE9VVFBVVCkvJCRESVIvKi5icGYubyAkKE9VVFBVVCkvJCRESVIvcmVzb2x2ZV9idGZpZHMudGVzdC5vLkJURiBcXFxuIFx0XHRcdCQoSU5TVEFMTF9QQVRIKS8kJERJUjtcdFx0XHRcdCAgXFxcbiBcdGRvbmVcbiBlbmRlZlxuZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL2xzbV9iZGV2LmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ190ZXN0cy9sc21fYmRldi5jXG5pbmRleCBhOTcwNzk4ZTExNzM1My4uMjhiYzRiMTE3ZjQxNWIgMTAwNjQ0XG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ190ZXN0cy9sc21fYmRldi5jXG4rKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ190ZXN0cy9sc21fYmRldi5jXG5AQCAtMTcsNiArMTcsNyBAQFxuICNpbmNsdWRlIFx1MDAzY3N0ZGxpYi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjc3RyaW5nLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NzeXMvc3RhdC5oXHUwMDNlXG4rI2luY2x1ZGUgXHUwMDNjc3lzL3N5c21hY3Jvcy5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjc3lzL3R5cGVzLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2N1bmlzdGQuaFx1MDAzZVxuICNpbmNsdWRlIFwibHNtX2JkZXYuc2tlbC5oXCJcbkBAIC0xNzIsNyArMTczLDcgQEAgdm9pZCB0ZXN0X2xzbV9iZGV2KHZvaWQpXG4gXHRpZiAoIUFTU0VSVF9PSyhzdGF0KERNX0RFVl9QQVRILCBcdTAwMjZzdCksIFwic3RhdCBkbSBkZXZcIikpXG4gXHRcdGdvdG8gcmVtb3ZlX2RtO1xuIFxuLVx0ZGV2X2tleSA9IChfX3UzMilzdC5zdF9yZGV2O1xuK1x0ZGV2X2tleSA9IChtYWpvcihzdC5zdF9yZGV2KSBcdTAwM2NcdTAwM2MgMjApIHwgbWlub3Ioc3Quc3RfcmRldik7XG4gXG4gXHQvKiBMb29rIHVwIHRoZSBkZXZpY2UgaW4gdGhlIEJQRiBtYXAgYW5kIHZlcmlmeS4gKi9cbiBcdGVyciA9IGJwZl9tYXBfX2xvb2t1cF9lbGVtKHNrZWwtXHUwMDNlbWFwcy52ZXJpdHlfZGV2aWNlcyxcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTExVDE4OjUxOjExLjUyMTI5MDQ4OVoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjUyMDI1MTkyNzgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqUGF0Y2ggQW5hbHlzaXM6IE5vdCBLZXJuZWwtSW1wYWN0aW5nKipcblxuT2theSwgc28gSSd2ZSB0YWtlbiBhIGxvb2sgYXQgdGhpcyBwYXRjaCBhbmQgaXRzIGZpbGUgbW9kaWZpY2F0aW9ucy4gSXQgbG9va3MgbGlrZSB0aGUgY2hhbmdlcyBhcmUgaXNvbGF0ZWQgdG8gdGhlIGB0b29scy9gIGRpcmVjdG9yeSwgc3BlY2lmaWNhbGx5IHRvdWNoaW5nIGB0b29scy9saWIvYnBmL2xpYmJwZi5jYCwgYHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9NYWtlZmlsZWAsIGFuZCBgdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dfdGVzdHMvbHNtX2JkZXYuY2AuIEltbWVkaWF0ZWx5LCBteSBzcGlkZXktc2Vuc2UgaXMgdGVsbGluZyBtZSB0aGlzIGlzbid0IGtlcm5lbC1sZXZlbCwgYnV0IGxldCdzIGJlIHRob3JvdWdoLlxuXG5SaWdodCwgYGxpYmJwZi5jYCBpcyB0aGUgdXNlci1zcGFjZSBsaWJyYXJ5LCBzbyBkZWZpbml0ZWx5IG5vdCBpbi1rZXJuZWwuIFRoZSBgTWFrZWZpbGVgIGlzIGZvciB0aGUgc2VsZnRlc3RzLCBhZ2FpbiB1c2VyLXNwYWNlIHRlc3Qgb3JjaGVzdHJhdGlvbi4gQW5kIGZpbmFsbHksIGBsc21fYmRldi5jYCBpcyBjbGVhcmx5IGFub3RoZXIgdXNlci1zcGFjZSB0ZXN0IHByb2dyYW0sIHRoaXMgb25lIGZvciBCUEYgTFNNLlxuXG5HaXZlbiB0aGF0IG5vbmUgb2YgdGhlc2UgZmlsZXMgcmVwcmVzZW50IGNvcmUga2VybmVsIGZ1bmN0aW9uYWxpdHksIEknbSBjb25maWRlbnQgaW4gY29uY2x1ZGluZyB0aGF0IHRoaXMgcGF0Y2ggZG9lc24ndCBpbnRyb2R1Y2UgYW55IGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgbmVjZXNzaXRhdGUgZnV6emluZy4gVGh1cywgSSdsbCBzZXQgYFdvcnRoRnV6emluZz1mYWxzZWAuIFRpbWUgdG8gY2FsbCBzZXQtcmVzdWx0cy5cblxuXG4iLCJJbnB1dFRva2VucyI6MjcxNCwiT3V0cHV0VG9rZW5zIjo2NiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjIyOCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTExVDE4OjUxOjE2LjcyMzgxMTYyNloiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzMxMDAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBtb2RpZmllcyB1c2VyLXNwYWNlIHRvb2xzIChsaWJicGYpIGFuZCBzZWxmdGVzdHMgaW4gdGhlIHRvb2xzLyBkaXJlY3RvcnkuIEl0IGRvZXMgbm90IG1ha2UgYW55IGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIGNvZGUuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIHVzZXItc3BhY2UgdG9vbHMgKGxpYmJwZikgYW5kIHNlbGZ0ZXN0cyBpbiB0aGUgdG9vbHMvIGRpcmVjdG9yeS4gSXQgZG9lcyBub3QgbWFrZSBhbnkgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgY29kZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowvrvjd[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-11 18:40:47 +0000 UTC FinishedAt: 2026-07-11 18:51:17 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "AI determined the patch has no functional impact", "targets": null, "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzExIDE4OjUxPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgdXNlci1zcGFjZSB0b29scyAobGliYnBmKSBhbmQgc2VsZnRlc3RzIGluIHRoZSB0b29scy8gZGlyZWN0b3J5LiBJdCBkb2VzIG5vdCBtYWtlIGFueSBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCBjb2RlLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMSAxODo1MTwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IGNhOWNmNmY0YmIxY2IxMzMyZWY0MTY2NWFjODVjYmMzNGY5N2U0OThcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgU2F0IEp1bCAxMSAxODo1MTowOSAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS90b29scy9saWIvYnBmL2xpYmJwZi5jIGIvdG9vbHMvbGliL2JwZi9saWJicGYuY1xuaW5kZXggMTM2ODc1MmFhMTNjMzkuLjFhYjkzOWRmYjdmMDhjIDEwMDY0NFxuLS0tIGEvdG9vbHMvbGliL2JwZi9saWJicGYuY1xuJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvbGliL2JwZi9saWJicGYuY1xuQEAgLTEyOTczLDEzICYjNDM7MTI5NzMsMTQgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmFyY2hfc3BlY2lmaWNfbGliX3BhdGhzKHZvaWQpXG4gLyogR2V0IGZ1bGwgcGF0aCB0byBwcm9ncmFtL3NoYXJlZCBsaWJyYXJ5LiAqL1xuIHN0YXRpYyBpbnQgcmVzb2x2ZV9mdWxsX3BhdGgoY29uc3QgY2hhciAqZmlsZSwgY2hhciAqcmVzdWx0LCBzaXplX3QgcmVzdWx0X3N6KVxuIHtcbi1cdGNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoc1szXSA9IHt9O1xuJiM0MztcdGNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoc1s0XSA9IHt9O1xuIFx0aW50IGksIHBlcm07XG4gXG4gXHRpZiAoc3RyX2hhc19zZngoZmlsZSwgXCYjMzQ7LnNvXCYjMzQ7KSB8fCBzdHJzdHIoZmlsZSwgXCYjMzQ7LnNvLlwmIzM0OykpIHtcbiBcdFx0c2VhcmNoX3BhdGhzWzBdID0gZ2V0ZW52KFwmIzM0O0xEX0xJQlJBUllfUEFUSFwmIzM0Oyk7XG4gXHRcdHNlYXJjaF9wYXRoc1sxXSA9IFwmIzM0Oy91c3IvbGliNjQ6L3Vzci9saWJcJiMzNDs7XG4gXHRcdHNlYXJjaF9wYXRoc1syXSA9IGFyY2hfc3BlY2lmaWNfbGliX3BhdGhzKCk7XG4mIzQzO1x0XHRzZWFyY2hfcGF0aHNbM10gPSBcJiMzNDsvbGliNjQ6L2xpYlwmIzM0OztcbiBcdFx0cGVybSA9IFJfT0s7XG4gXHR9IGVsc2Uge1xuIFx0XHRzZWFyY2hfcGF0aHNbMF0gPSBnZXRlbnYoXCYjMzQ7UEFUSFwmIzM0Oyk7XG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL01ha2VmaWxlIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL01ha2VmaWxlXG5pbmRleCBiNjQyZWU0ODllYTY0MC4uNzI2MGQ2NzJhY2Y3M2EgMTAwNjQ0XG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvTWFrZWZpbGVcbiYjNDM7JiM0MzsmIzQzOyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9NYWtlZmlsZVxuQEAgLTEwNTUsMTAgJiM0MzsxMDU1LDEzIEBAIGVuZGlmXG4gREVGQVVMVF9JTlNUQUxMX1JVTEUgOj0gJChJTlNUQUxMX1JVTEUpXG4gb3ZlcnJpZGUgZGVmaW5lIElOU1RBTExfUlVMRVxuIFx0JChERUZBVUxUX0lOU1RBTExfUlVMRSlcbiYjNDM7XHRAbWtkaXIgLXAgJChJTlNUQUxMX1BBVEgpL3Rvb2xzL3NiaW5cbiYjNDM7XHRAcnN5bmMgLWEgJChpZiAkKFBFUk1JU1NJVkUpLC0taWdub3JlLW1pc3NpbmctYXJncykgJChUUlVOTkVSX0JQRlRPT0wpICQoSU5TVEFMTF9QQVRIKS90b29scy9zYmluL1xuJiM0MztcdEByc3luYyAtYSAkKGlmICQoUEVSTUlTU0lWRSksLS1pZ25vcmUtbWlzc2luZy1hcmdzKSAkKE9VVFBVVCkvcmVzb2x2ZV9idGZpZHMudGVzdC5vLkJURiAkKElOU1RBTExfUEFUSCkvXG4gXHRAZm9yIERJUiBpbiAkKFRFU1RfSU5TVF9TVUJESVJTKTsgZG9cdFx0XHRcdCAgXFxcbiBcdFx0bWtkaXIgLXAgJChJTlNUQUxMX1BBVEgpLyQkRElSO1x0XHRcdFx0ICBcXFxuIFx0XHRyc3luYyAtYSAkKGlmICQoUEVSTUlTU0lWRSksLS1pZ25vcmUtbWlzc2luZy1hcmdzKVx0ICBcXFxuLVx0XHRcdCQoT1VUUFVUKS8kJERJUi8qLmJwZi5vXHRcdFx0XHQgIFxcXG4mIzQzO1x0XHRcdCQoT1VUUFVUKS8kJERJUi8qLmJwZi5vICQoT1VUUFVUKS8kJERJUi9yZXNvbHZlX2J0Zmlkcy50ZXN0Lm8uQlRGIFxcXG4gXHRcdFx0JChJTlNUQUxMX1BBVEgpLyQkRElSO1x0XHRcdFx0ICBcXFxuIFx0ZG9uZVxuIGVuZGVmXG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dfdGVzdHMvbHNtX2JkZXYuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL2xzbV9iZGV2LmNcbmluZGV4IGE5NzA3OThlMTE3MzUzLi4yOGJjNGIxMTdmNDE1YiAxMDA2NDRcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL2xzbV9iZGV2LmNcbiYjNDM7JiM0MzsmIzQzOyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL2xzbV9iZGV2LmNcbkBAIC0xNyw2ICYjNDM7MTcsNyBAQFxuICNpbmNsdWRlIFx1MDAzY3N0ZGxpYi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjc3RyaW5nLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NzeXMvc3RhdC5oXHUwMDNlXG4mIzQzOyNpbmNsdWRlIFx1MDAzY3N5cy9zeXNtYWNyb3MuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY3N5cy90eXBlcy5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjdW5pc3RkLmhcdTAwM2VcbiAjaW5jbHVkZSBcJiMzNDtsc21fYmRldi5za2VsLmhcJiMzNDtcbkBAIC0xNzIsNyAmIzQzOzE3Myw3IEBAIHZvaWQgdGVzdF9sc21fYmRldih2b2lkKVxuIFx0aWYgKCFBU1NFUlRfT0soc3RhdChETV9ERVZfUEFUSCwgXHUwMDI2c3QpLCBcJiMzNDtzdGF0IGRtIGRldlwmIzM0OykpXG4gXHRcdGdvdG8gcmVtb3ZlX2RtO1xuIFxuLVx0ZGV2X2tleSA9IChfX3UzMilzdC5zdF9yZGV2O1xuJiM0MztcdGRldl9rZXkgPSAobWFqb3Ioc3Quc3RfcmRldikgXHUwMDNjXHUwMDNjIDIwKSB8IG1pbm9yKHN0LnN0X3JkZXYpO1xuIFxuIFx0LyogTG9vayB1cCB0aGUgZGV2aWNlIGluIHRoZSBCUEYgbWFwIGFuZCB2ZXJpZnkuICovXG4gXHRlcnIgPSBicGZfbWFwX19sb29rdXBfZWxlbShza2VsLVx1MDAzZW1hcHMudmVyaXR5X2RldmljZXMsXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTEgMTg6NTE8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBtb2RpZmllcyB1c2VyLXNwYWNlIHRvb2xzIChsaWJicGYpIGFuZCBzZWxmdGVzdHMgaW4gdGhlIHRvb2xzLyBkaXJlY3RvcnkuIEl0IGRvZXMgbm90IG1ha2UgYW55IGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIGNvZGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBjYTljZjZmNGJiMWNiMTMzMmVmNDE2NjVhYzg1Y2JjMzRmOTdlNDk4CkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFNhdCBKdWwgMTEgMTg6NTE6MDkgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS90b29scy9saWIvYnBmL2xpYmJwZi5jIGIvdG9vbHMvbGliL2JwZi9saWJicGYuYwppbmRleCAxMzY4NzUyYWExM2MzOS4uMWFiOTM5ZGZiN2YwOGMgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYi9icGYvbGliYnBmLmMKJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvbGliL2JwZi9saWJicGYuYwpAQCAtMTI5NzMsMTMgJiM0MzsxMjk3MywxNCBAQCBzdGF0aWMgY29uc3QgY2hhciAqYXJjaF9zcGVjaWZpY19saWJfcGF0aHModm9pZCkKIC8qIEdldCBmdWxsIHBhdGggdG8gcHJvZ3JhbS9zaGFyZWQgbGlicmFyeS4gKi8KIHN0YXRpYyBpbnQgcmVzb2x2ZV9mdWxsX3BhdGgoY29uc3QgY2hhciAqZmlsZSwgY2hhciAqcmVzdWx0LCBzaXplX3QgcmVzdWx0X3N6KQogewotCWNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoc1szXSA9IHt9OwomIzQzOwljb25zdCBjaGFyICpzZWFyY2hfcGF0aHNbNF0gPSB7fTsKIAlpbnQgaSwgcGVybTsKIAogCWlmIChzdHJfaGFzX3NmeChmaWxlLCAmIzM0Oy5zbyYjMzQ7KSB8fCBzdHJzdHIoZmlsZSwgJiMzNDsuc28uJiMzNDspKSB7CiAJCXNlYXJjaF9wYXRoc1swXSA9IGdldGVudigmIzM0O0xEX0xJQlJBUllfUEFUSCYjMzQ7KTsKIAkJc2VhcmNoX3BhdGhzWzFdID0gJiMzNDsvdXNyL2xpYjY0Oi91c3IvbGliJiMzNDs7CiAJCXNlYXJjaF9wYXRoc1syXSA9IGFyY2hfc3BlY2lmaWNfbGliX3BhdGhzKCk7CiYjNDM7CQlzZWFyY2hfcGF0aHNbM10gPSAmIzM0Oy9saWI2NDovbGliJiMzNDs7CiAJCXBlcm0gPSBSX09LOwogCX0gZWxzZSB7CiAJCXNlYXJjaF9wYXRoc1swXSA9IGdldGVudigmIzM0O1BBVEgmIzM0Oyk7CmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvTWFrZWZpbGUgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvTWFrZWZpbGUKaW5kZXggYjY0MmVlNDg5ZWE2NDAuLjcyNjBkNjcyYWNmNzNhIDEwMDY0NAotLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvTWFrZWZpbGUKJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL01ha2VmaWxlCkBAIC0xMDU1LDEwICYjNDM7MTA1NSwxMyBAQCBlbmRpZgogREVGQVVMVF9JTlNUQUxMX1JVTEUgOj0gJChJTlNUQUxMX1JVTEUpCiBvdmVycmlkZSBkZWZpbmUgSU5TVEFMTF9SVUxFCiAJJChERUZBVUxUX0lOU1RBTExfUlVMRSkKJiM0MzsJQG1rZGlyIC1wICQoSU5TVEFMTF9QQVRIKS90b29scy9zYmluCiYjNDM7CUByc3luYyAtYSAkKGlmICQoUEVSTUlTU0lWRSksLS1pZ25vcmUtbWlzc2luZy1hcmdzKSAkKFRSVU5ORVJfQlBGVE9PTCkgJChJTlNUQUxMX1BBVEgpL3Rvb2xzL3NiaW4vCiYjNDM7CUByc3luYyAtYSAkKGlmICQoUEVSTUlTU0lWRSksLS1pZ25vcmUtbWlzc2luZy1hcmdzKSAkKE9VVFBVVCkvcmVzb2x2ZV9idGZpZHMudGVzdC5vLkJURiAkKElOU1RBTExfUEFUSCkvCiAJQGZvciBESVIgaW4gJChURVNUX0lOU1RfU1VCRElSUyk7IGRvCQkJCSAgXAogCQlta2RpciAtcCAkKElOU1RBTExfUEFUSCkvJCRESVI7CQkJCSAgXAogCQlyc3luYyAtYSAkKGlmICQoUEVSTUlTU0lWRSksLS1pZ25vcmUtbWlzc2luZy1hcmdzKQkgIFwKLQkJCSQoT1VUUFVUKS8kJERJUi8qLmJwZi5vCQkJCSAgXAomIzQzOwkJCSQoT1VUUFVUKS8kJERJUi8qLmJwZi5vICQoT1VUUFVUKS8kJERJUi9yZXNvbHZlX2J0Zmlkcy50ZXN0Lm8uQlRGIFwKIAkJCSQoSU5TVEFMTF9QQVRIKS8kJERJUjsJCQkJICBcCiAJZG9uZQogZW5kZWYKZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL2xzbV9iZGV2LmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ190ZXN0cy9sc21fYmRldi5jCmluZGV4IGE5NzA3OThlMTE3MzUzLi4yOGJjNGIxMTdmNDE1YiAxMDA2NDQKLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dfdGVzdHMvbHNtX2JkZXYuYwomIzQzOyYjNDM7JiM0MzsgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ190ZXN0cy9sc21fYmRldi5jCkBAIC0xNyw2ICYjNDM7MTcsNyBAQAogI2luY2x1ZGUgJmx0O3N0ZGxpYi5oJmd0OwogI2luY2x1ZGUgJmx0O3N0cmluZy5oJmd0OwogI2luY2x1ZGUgJmx0O3N5cy9zdGF0LmgmZ3Q7CiYjNDM7I2luY2x1ZGUgJmx0O3N5cy9zeXNtYWNyb3MuaCZndDsKICNpbmNsdWRlICZsdDtzeXMvdHlwZXMuaCZndDsKICNpbmNsdWRlICZsdDt1bmlzdGQuaCZndDsKICNpbmNsdWRlICYjMzQ7bHNtX2JkZXYuc2tlbC5oJiMzNDsKQEAgLTE3Miw3ICYjNDM7MTczLDcgQEAgdm9pZCB0ZXN0X2xzbV9iZGV2KHZvaWQpCiAJaWYgKCFBU1NFUlRfT0soc3RhdChETV9ERVZfUEFUSCwgJmFtcDtzdCksICYjMzQ7c3RhdCBkbSBkZXYmIzM0OykpCiAJCWdvdG8gcmVtb3ZlX2RtOwogCi0JZGV2X2tleSA9IChfX3UzMilzdC5zdF9yZGV2OwomIzQzOwlkZXZfa2V5ID0gKG1ham9yKHN0LnN0X3JkZXYpICZsdDsmbHQ7IDIwKSB8IG1pbm9yKHN0LnN0X3JkZXYpOwogCiAJLyogTG9vayB1cCB0aGUgZGV2aWNlIGluIHRoZSBCUEYgbWFwIGFuZCB2ZXJpZnkuICovCiAJZXJyID0gYnBmX21hcF9fbG9va3VwX2VsZW0oc2tlbC0mZ3Q7bWFwcy52ZXJpdHlfZGV2aWNlcywKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTEgMTg6NTE8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjcxNAoJCQkJCQkJb3V0cHV0OiA2NgoJCQkJCQkJdGhvdWdodHM6IDIyOAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipQYXRjaCBBbmFseXNpczogTm90IEtlcm5lbC1JbXBhY3RpbmcqKgoKT2theSwgc28gSSYjMzk7dmUgdGFrZW4gYSBsb29rIGF0IHRoaXMgcGF0Y2ggYW5kIGl0cyBmaWxlIG1vZGlmaWNhdGlvbnMuIEl0IGxvb2tzIGxpa2UgdGhlIGNoYW5nZXMgYXJlIGlzb2xhdGVkIHRvIHRoZSBgdG9vbHMvYCBkaXJlY3RvcnksIHNwZWNpZmljYWxseSB0b3VjaGluZyBgdG9vbHMvbGliL2JwZi9saWJicGYuY2AsIGB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvTWFrZWZpbGVgLCBhbmQgYHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL2xzbV9iZGV2LmNgLiBJbW1lZGlhdGVseSwgbXkgc3BpZGV5LXNlbnNlIGlzIHRlbGxpbmcgbWUgdGhpcyBpc24mIzM5O3Qga2VybmVsLWxldmVsLCBidXQgbGV0JiMzOTtzIGJlIHRob3JvdWdoLgoKUmlnaHQsIGBsaWJicGYuY2AgaXMgdGhlIHVzZXItc3BhY2UgbGlicmFyeSwgc28gZGVmaW5pdGVseSBub3QgaW4ta2VybmVsLiBUaGUgYE1ha2VmaWxlYCBpcyBmb3IgdGhlIHNlbGZ0ZXN0cywgYWdhaW4gdXNlci1zcGFjZSB0ZXN0IG9yY2hlc3RyYXRpb24uIEFuZCBmaW5hbGx5LCBgbHNtX2JkZXYuY2AgaXMgY2xlYXJseSBhbm90aGVyIHVzZXItc3BhY2UgdGVzdCBwcm9ncmFtLCB0aGlzIG9uZSBmb3IgQlBGIExTTS4KCkdpdmVuIHRoYXQgbm9uZSBvZiB0aGVzZSBmaWxlcyByZXByZXNlbnQgY29yZSBrZXJuZWwgZnVuY3Rpb25hbGl0eSwgSSYjMzk7bSBjb25maWRlbnQgaW4gY29uY2x1ZGluZyB0aGF0IHRoaXMgcGF0Y2ggZG9lc24mIzM5O3QgaW50cm9kdWNlIGFueSBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IG5lY2Vzc2l0YXRlIGZ1enppbmcuIFRodXMsIEkmIzM5O2xsIHNldCBgV29ydGhGdXp6aW5nPWZhbHNlYC4gVGltZSB0byBjYWxsIHNldC1yZXN1bHRzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzExIDE4OjUxPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogW10sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBtb2RpZmllcyB1c2VyLXNwYWNlIHRvb2xzIChsaWJicGYpIGFuZCBzZWxmdGVzdHMgaW4gdGhlIHRvb2xzLyBkaXJlY3RvcnkuIEl0IGRvZXMgbm90IG1ha2UgYW55IGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIGNvZGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIHVzZXItc3BhY2UgdG9vbHMgKGxpYmJwZikgYW5kIHNlbGZ0ZXN0cyBpbiB0aGUgdG9vbHMvIGRpcmVjdG9yeS4gSXQgZG9lcyBub3QgbWFrZSBhbnkgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgY29kZS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0xMVQxODo1MToxMC45NTE4NjI0OTNaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NzcxOTkwMDEzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIHVzZXItc3BhY2UgdG9vbHMgKGxpYmJwZikgYW5kIHNlbGZ0ZXN0cyBpbiB0aGUgdG9vbHMvIGRpcmVjdG9yeS4gSXQgZG9lcyBub3QgbWFrZSBhbnkgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgY29kZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTExVDE4OjUxOjEwLjk1MTg4MTU0M1oiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTY4NDIzMDY1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgY2E5Y2Y2ZjRiYjFjYjEzMzJlZjQxNjY1YWM4NWNiYzM0Zjk3ZTQ5OFxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgU2F0IEp1bCAxMSAxODo1MTowOSAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS90b29scy9saWIvYnBmL2xpYmJwZi5jIGIvdG9vbHMvbGliL2JwZi9saWJicGYuY1xcbmluZGV4IDEzNjg3NTJhYTEzYzM5Li4xYWI5MzlkZmI3ZjA4YyAxMDA2NDRcXG4tLS0gYS90b29scy9saWIvYnBmL2xpYmJwZi5jXFxuKysrIGIvdG9vbHMvbGliL2JwZi9saWJicGYuY1xcbkBAIC0xMjk3MywxMyArMTI5NzMsMTQgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmFyY2hfc3BlY2lmaWNfbGliX3BhdGhzKHZvaWQpXFxuIC8qIEdldCBmdWxsIHBhdGggdG8gcHJvZ3JhbS9zaGFyZWQgbGlicmFyeS4gKi9cXG4gc3RhdGljIGludCByZXNvbHZlX2Z1bGxfcGF0aChjb25zdCBjaGFyICpmaWxlLCBjaGFyICpyZXN1bHQsIHNpemVfdCByZXN1bHRfc3opXFxuIHtcXG4tXFx0Y29uc3QgY2hhciAqc2VhcmNoX3BhdGhzWzNdID0ge307XFxuK1xcdGNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoc1s0XSA9IHt9O1xcbiBcXHRpbnQgaSwgcGVybTtcXG4gXFxuIFxcdGlmIChzdHJfaGFzX3NmeChmaWxlLCBcXFwiLnNvXFxcIikgfHwgc3Ryc3RyKGZpbGUsIFxcXCIuc28uXFxcIikpIHtcXG4gXFx0XFx0c2VhcmNoX3BhdGhzWzBdID0gZ2V0ZW52KFxcXCJMRF9MSUJSQVJZX1BBVEhcXFwiKTtcXG4gXFx0XFx0c2VhcmNoX3BhdGhzWzFdID0gXFxcIi91c3IvbGliNjQ6L3Vzci9saWJcXFwiO1xcbiBcXHRcXHRzZWFyY2hfcGF0aHNbMl0gPSBhcmNoX3NwZWNpZmljX2xpYl9wYXRocygpO1xcbitcXHRcXHRzZWFyY2hfcGF0aHNbM10gPSBcXFwiL2xpYjY0Oi9saWJcXFwiO1xcbiBcXHRcXHRwZXJtID0gUl9PSztcXG4gXFx0fSBlbHNlIHtcXG4gXFx0XFx0c2VhcmNoX3BhdGhzWzBdID0gZ2V0ZW52KFxcXCJQQVRIXFxcIik7XFxuZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9NYWtlZmlsZSBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9NYWtlZmlsZVxcbmluZGV4IGI2NDJlZTQ4OWVhNjQwLi43MjYwZDY3MmFjZjczYSAxMDA2NDRcXG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvTWFrZWZpbGVcXG4rKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvTWFrZWZpbGVcXG5AQCAtMTA1NSwxMCArMTA1NSwxMyBAQCBlbmRpZlxcbiBERUZBVUxUX0lOU1RBTExfUlVMRSA6PSAkKElOU1RBTExfUlVMRSlcXG4gb3ZlcnJpZGUgZGVmaW5lIElOU1RBTExfUlVMRVxcbiBcXHQkKERFRkFVTFRfSU5TVEFMTF9SVUxFKVxcbitcXHRAbWtkaXIgLXAgJChJTlNUQUxMX1BBVEgpL3Rvb2xzL3NiaW5cXG4rXFx0QHJzeW5jIC1hICQoaWYgJChQRVJNSVNTSVZFKSwtLWlnbm9yZS1taXNzaW5nLWFyZ3MpICQoVFJVTk5FUl9CUEZUT09MKSAkKElOU1RBTExfUEFUSCkvdG9vbHMvc2Jpbi9cXG4rXFx0QHJzeW5jIC1hICQoaWYgJChQRVJNSVNTSVZFKSwtLWlnbm9yZS1taXNzaW5nLWFyZ3MpICQoT1VUUFVUKS9yZXNvbHZlX2J0Zmlkcy50ZXN0Lm8uQlRGICQoSU5TVEFMTF9QQVRIKS9cXG4gXFx0QGZvciBESVIgaW4gJChURVNUX0lOU1RfU1VCRElSUyk7IGRvXFx0XFx0XFx0XFx0ICBcXFxcXFxuIFxcdFxcdG1rZGlyIC1wICQoSU5TVEFMTF9QQVRIKS8kJERJUjtcXHRcXHRcXHRcXHQgIFxcXFxcXG4gXFx0XFx0cnN5bmMgLWEgJChpZiAkKFBFUk1JU1NJVkUpLC0taWdub3JlLW1pc3NpbmctYXJncylcXHQgIFxcXFxcXG4tXFx0XFx0XFx0JChPVVRQVVQpLyQkRElSLyouYnBmLm9cXHRcXHRcXHRcXHQgIFxcXFxcXG4rXFx0XFx0XFx0JChPVVRQVVQpLyQkRElSLyouYnBmLm8gJChPVVRQVVQpLyQkRElSL3Jlc29sdmVfYnRmaWRzLnRlc3Quby5CVEYgXFxcXFxcbiBcXHRcXHRcXHQkKElOU1RBTExfUEFUSCkvJCRESVI7XFx0XFx0XFx0XFx0ICBcXFxcXFxuIFxcdGRvbmVcXG4gZW5kZWZcXG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dfdGVzdHMvbHNtX2JkZXYuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL2xzbV9iZGV2LmNcXG5pbmRleCBhOTcwNzk4ZTExNzM1My4uMjhiYzRiMTE3ZjQxNWIgMTAwNjQ0XFxuLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dfdGVzdHMvbHNtX2JkZXYuY1xcbisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL2xzbV9iZGV2LmNcXG5AQCAtMTcsNiArMTcsNyBAQFxcbiAjaW5jbHVkZSBcXHUwMDNjc3RkbGliLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NzdHJpbmcuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY3N5cy9zdGF0LmhcXHUwMDNlXFxuKyNpbmNsdWRlIFxcdTAwM2NzeXMvc3lzbWFjcm9zLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NzeXMvdHlwZXMuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY3VuaXN0ZC5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXFwibHNtX2JkZXYuc2tlbC5oXFxcIlxcbkBAIC0xNzIsNyArMTczLDcgQEAgdm9pZCB0ZXN0X2xzbV9iZGV2KHZvaWQpXFxuIFxcdGlmICghQVNTRVJUX09LKHN0YXQoRE1fREVWX1BBVEgsIFxcdTAwMjZzdCksIFxcXCJzdGF0IGRtIGRldlxcXCIpKVxcbiBcXHRcXHRnb3RvIHJlbW92ZV9kbTtcXG4gXFxuLVxcdGRldl9rZXkgPSAoX191MzIpc3Quc3RfcmRldjtcXG4rXFx0ZGV2X2tleSA9IChtYWpvcihzdC5zdF9yZGV2KSBcXHUwMDNjXFx1MDAzYyAyMCkgfCBtaW5vcihzdC5zdF9yZGV2KTtcXG4gXFxuIFxcdC8qIExvb2sgdXAgdGhlIGRldmljZSBpbiB0aGUgQlBGIG1hcCBhbmQgdmVyaWZ5LiAqL1xcbiBcXHRlcnIgPSBicGZfbWFwX19sb29rdXBfZWxlbShza2VsLVxcdTAwM2VtYXBzLnZlcml0eV9kZXZpY2VzLFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMVQxODo1MToxMS41MjEyODg2MThaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjUyMDI1NTc0NjcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgdXNlci1zcGFjZSB0b29scyAobGliYnBmKSBhbmQgc2VsZnRlc3RzIGluIHRoZSB0b29scy8gZGlyZWN0b3J5LiBJdCBkb2VzIG5vdCBtYWtlIGFueSBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCBjb2RlLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCBjYTljZjZmNGJiMWNiMTMzMmVmNDE2NjVhYzg1Y2JjMzRmOTdlNDk4XG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFNhdCBKdWwgMTEgMTg6NTE6MDkgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS90b29scy9saWIvYnBmL2xpYmJwZi5jIGIvdG9vbHMvbGliL2JwZi9saWJicGYuY1xuaW5kZXggMTM2ODc1MmFhMTNjMzkuLjFhYjkzOWRmYjdmMDhjIDEwMDY0NFxuLS0tIGEvdG9vbHMvbGliL2JwZi9saWJicGYuY1xuKysrIGIvdG9vbHMvbGliL2JwZi9saWJicGYuY1xuQEAgLTEyOTczLDEzICsxMjk3MywxNCBAQCBzdGF0aWMgY29uc3QgY2hhciAqYXJjaF9zcGVjaWZpY19saWJfcGF0aHModm9pZClcbiAvKiBHZXQgZnVsbCBwYXRoIHRvIHByb2dyYW0vc2hhcmVkIGxpYnJhcnkuICovXG4gc3RhdGljIGludCByZXNvbHZlX2Z1bGxfcGF0aChjb25zdCBjaGFyICpmaWxlLCBjaGFyICpyZXN1bHQsIHNpemVfdCByZXN1bHRfc3opXG4ge1xuLVx0Y29uc3QgY2hhciAqc2VhcmNoX3BhdGhzWzNdID0ge307XG4rXHRjb25zdCBjaGFyICpzZWFyY2hfcGF0aHNbNF0gPSB7fTtcbiBcdGludCBpLCBwZXJtO1xuIFxuIFx0aWYgKHN0cl9oYXNfc2Z4KGZpbGUsIFwiLnNvXCIpIHx8IHN0cnN0cihmaWxlLCBcIi5zby5cIikpIHtcbiBcdFx0c2VhcmNoX3BhdGhzWzBdID0gZ2V0ZW52KFwiTERfTElCUkFSWV9QQVRIXCIpO1xuIFx0XHRzZWFyY2hfcGF0aHNbMV0gPSBcIi91c3IvbGliNjQ6L3Vzci9saWJcIjtcbiBcdFx0c2VhcmNoX3BhdGhzWzJdID0gYXJjaF9zcGVjaWZpY19saWJfcGF0aHMoKTtcbitcdFx0c2VhcmNoX3BhdGhzWzNdID0gXCIvbGliNjQ6L2xpYlwiO1xuIFx0XHRwZXJtID0gUl9PSztcbiBcdH0gZWxzZSB7XG4gXHRcdHNlYXJjaF9wYXRoc1swXSA9IGdldGVudihcIlBBVEhcIik7XG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL01ha2VmaWxlIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL01ha2VmaWxlXG5pbmRleCBiNjQyZWU0ODllYTY0MC4uNzI2MGQ2NzJhY2Y3M2EgMTAwNjQ0XG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvTWFrZWZpbGVcbisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9NYWtlZmlsZVxuQEAgLTEwNTUsMTAgKzEwNTUsMTMgQEAgZW5kaWZcbiBERUZBVUxUX0lOU1RBTExfUlVMRSA6PSAkKElOU1RBTExfUlVMRSlcbiBvdmVycmlkZSBkZWZpbmUgSU5TVEFMTF9SVUxFXG4gXHQkKERFRkFVTFRfSU5TVEFMTF9SVUxFKVxuK1x0QG1rZGlyIC1wICQoSU5TVEFMTF9QQVRIKS90b29scy9zYmluXG4rXHRAcnN5bmMgLWEgJChpZiAkKFBFUk1JU1NJVkUpLC0taWdub3JlLW1pc3NpbmctYXJncykgJChUUlVOTkVSX0JQRlRPT0wpICQoSU5TVEFMTF9QQVRIKS90b29scy9zYmluL1xuK1x0QHJzeW5jIC1hICQoaWYgJChQRVJNSVNTSVZFKSwtLWlnbm9yZS1taXNzaW5nLWFyZ3MpICQoT1VUUFVUKS9yZXNvbHZlX2J0Zmlkcy50ZXN0Lm8uQlRGICQoSU5TVEFMTF9QQVRIKS9cbiBcdEBmb3IgRElSIGluICQoVEVTVF9JTlNUX1NVQkRJUlMpOyBkb1x0XHRcdFx0ICBcXFxuIFx0XHRta2RpciAtcCAkKElOU1RBTExfUEFUSCkvJCRESVI7XHRcdFx0XHQgIFxcXG4gXHRcdHJzeW5jIC1hICQoaWYgJChQRVJNSVNTSVZFKSwtLWlnbm9yZS1taXNzaW5nLWFyZ3MpXHQgIFxcXG4tXHRcdFx0JChPVVRQVVQpLyQkRElSLyouYnBmLm9cdFx0XHRcdCAgXFxcbitcdFx0XHQkKE9VVFBVVCkvJCRESVIvKi5icGYubyAkKE9VVFBVVCkvJCRESVIvcmVzb2x2ZV9idGZpZHMudGVzdC5vLkJURiBcXFxuIFx0XHRcdCQoSU5TVEFMTF9QQVRIKS8kJERJUjtcdFx0XHRcdCAgXFxcbiBcdGRvbmVcbiBlbmRlZlxuZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL2xzbV9iZGV2LmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ190ZXN0cy9sc21fYmRldi5jXG5pbmRleCBhOTcwNzk4ZTExNzM1My4uMjhiYzRiMTE3ZjQxNWIgMTAwNjQ0XG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ190ZXN0cy9sc21fYmRldi5jXG4rKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ190ZXN0cy9sc21fYmRldi5jXG5AQCAtMTcsNiArMTcsNyBAQFxuICNpbmNsdWRlIFx1MDAzY3N0ZGxpYi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjc3RyaW5nLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NzeXMvc3RhdC5oXHUwMDNlXG4rI2luY2x1ZGUgXHUwMDNjc3lzL3N5c21hY3Jvcy5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjc3lzL3R5cGVzLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2N1bmlzdGQuaFx1MDAzZVxuICNpbmNsdWRlIFwibHNtX2JkZXYuc2tlbC5oXCJcbkBAIC0xNzIsNyArMTczLDcgQEAgdm9pZCB0ZXN0X2xzbV9iZGV2KHZvaWQpXG4gXHRpZiAoIUFTU0VSVF9PSyhzdGF0KERNX0RFVl9QQVRILCBcdTAwMjZzdCksIFwic3RhdCBkbSBkZXZcIikpXG4gXHRcdGdvdG8gcmVtb3ZlX2RtO1xuIFxuLVx0ZGV2X2tleSA9IChfX3UzMilzdC5zdF9yZGV2O1xuK1x0ZGV2X2tleSA9IChtYWpvcihzdC5zdF9yZGV2KSBcdTAwM2NcdTAwM2MgMjApIHwgbWlub3Ioc3Quc3RfcmRldik7XG4gXG4gXHQvKiBMb29rIHVwIHRoZSBkZXZpY2UgaW4gdGhlIEJQRiBtYXAgYW5kIHZlcmlmeS4gKi9cbiBcdGVyciA9IGJwZl9tYXBfX2xvb2t1cF9lbGVtKHNrZWwtXHUwMDNlbWFwcy52ZXJpdHlfZGV2aWNlcyxcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTExVDE4OjUxOjExLjUyMTI5MDQ4OVoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjUyMDI1MTkyNzgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqUGF0Y2ggQW5hbHlzaXM6IE5vdCBLZXJuZWwtSW1wYWN0aW5nKipcblxuT2theSwgc28gSSd2ZSB0YWtlbiBhIGxvb2sgYXQgdGhpcyBwYXRjaCBhbmQgaXRzIGZpbGUgbW9kaWZpY2F0aW9ucy4gSXQgbG9va3MgbGlrZSB0aGUgY2hhbmdlcyBhcmUgaXNvbGF0ZWQgdG8gdGhlIGB0b29scy9gIGRpcmVjdG9yeSwgc3BlY2lmaWNhbGx5IHRvdWNoaW5nIGB0b29scy9saWIvYnBmL2xpYmJwZi5jYCwgYHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9NYWtlZmlsZWAsIGFuZCBgdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dfdGVzdHMvbHNtX2JkZXYuY2AuIEltbWVkaWF0ZWx5LCBteSBzcGlkZXktc2Vuc2UgaXMgdGVsbGluZyBtZSB0aGlzIGlzbid0IGtlcm5lbC1sZXZlbCwgYnV0IGxldCdzIGJlIHRob3JvdWdoLlxuXG5SaWdodCwgYGxpYmJwZi5jYCBpcyB0aGUgdXNlci1zcGFjZSBsaWJyYXJ5LCBzbyBkZWZpbml0ZWx5IG5vdCBpbi1rZXJuZWwuIFRoZSBgTWFrZWZpbGVgIGlzIGZvciB0aGUgc2VsZnRlc3RzLCBhZ2FpbiB1c2VyLXNwYWNlIHRlc3Qgb3JjaGVzdHJhdGlvbi4gQW5kIGZpbmFsbHksIGBsc21fYmRldi5jYCBpcyBjbGVhcmx5IGFub3RoZXIgdXNlci1zcGFjZSB0ZXN0IHByb2dyYW0sIHRoaXMgb25lIGZvciBCUEYgTFNNLlxuXG5HaXZlbiB0aGF0IG5vbmUgb2YgdGhlc2UgZmlsZXMgcmVwcmVzZW50IGNvcmUga2VybmVsIGZ1bmN0aW9uYWxpdHksIEknbSBjb25maWRlbnQgaW4gY29uY2x1ZGluZyB0aGF0IHRoaXMgcGF0Y2ggZG9lc24ndCBpbnRyb2R1Y2UgYW55IGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgbmVjZXNzaXRhdGUgZnV6emluZy4gVGh1cywgSSdsbCBzZXQgYFdvcnRoRnV6emluZz1mYWxzZWAuIFRpbWUgdG8gY2FsbCBzZXQtcmVzdWx0cy5cblxuXG4iLCJJbnB1dFRva2VucyI6MjcxNCwiT3V0cHV0VG9rZW5zIjo2NiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjIyOCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTExVDE4OjUxOjE2LjcyMzgxMTYyNloiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzMxMDAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBtb2RpZmllcyB1c2VyLXNwYWNlIHRvb2xzIChsaWJicGYpIGFuZCBzZWxmdGVzdHMgaW4gdGhlIHRvb2xzLyBkaXJlY3RvcnkuIEl0IGRvZXMgbm90IG1ha2UgYW55IGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIGNvZGUuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIHVzZXItc3BhY2UgdG9vbHMgKGxpYmJwZikgYW5kIHNlbGZ0ZXN0cyBpbiB0aGUgdG9vbHMvIGRpcmVjdG9yeS4gSXQgZG9lcyBub3QgbWFrZSBhbnkgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgY29kZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowvrvjd[1] Phase: Running StartedAt: 2026-07-11 18:51:42 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvrvjd[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-07-11 18:51:42 +0000 UTC FinishedAt: 2026-07-11 18:51:59 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:code,Default:nil,Value:*1,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{},Result:nil,ExitCode:*1,}