Name: series-workflowrxzvv Phase: Failed StartedAt: 2026-08-12 20:40:46 +0000 UTC FinishedAt: 2026-08-12 20:42:30 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrxzvv[0] Phase: Succeeded StartedAt: 2026-08-12 20:40:46 +0000 UTC FinishedAt: 2026-08-12 20:42:20 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrxzvv[0].run-triage Phase: Succeeded StartedAt: 2026-08-12 20:40:46 +0000 UTC FinishedAt: 2026-08-12 20:42:20 +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+CgkJCTx0ZD4yMDI2LzA4LzEyIDIwOjQyPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggcmVtb3ZlcyB0aGUgQ09ORklHX0RFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVSBjb25maWd1cmF0aW9uIG9wdGlvbiBhbmQgaXRzIGFzc29jaWF0ZWQgbG9naWMgZnJvbSBLY29uZmlnIGFuZCBoZWFkZXIgZmlsZXMuIEl0IGRvZXMgbm90IGludHJvZHVjZSBhbnkgbmV3IGZ1bmN0aW9uYWwgbG9naWMgb3IgYWx0ZXIgZXhlY3V0aW9uIGZsb3cgaW4gYSB3YXkgdGhhdCByZXF1aXJlcyBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xMiAyMDo0MjwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDlkMzhiOThmMDFjMjQ5MjI4MTZiNTcxNTg4ZjNlOTEzMmU2MzY1ZGJcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgV2VkIEF1ZyAxMiAyMDo0MTo1OSAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3BlcmNwdS1kZWZzLmggYi9pbmNsdWRlL2xpbnV4L3BlcmNwdS1kZWZzLmhcbmluZGV4IDQzYzg1NGEyNzNjM2EuLjBiZTRkMGYyM2YxZDAgMTAwNjQ0XG4tLS0gYS9pbmNsdWRlL2xpbnV4L3BlcmNwdS1kZWZzLmhcbiYjNDM7JiM0MzsmIzQzOyBiL2luY2x1ZGUvbGludXgvcGVyY3B1LWRlZnMuaFxuQEAgLTY1LDEzICYjNDM7NjUsOCBAQFxuICAqXG4gICogQXJjaHMgd2hpY2ggbmVlZCB3ZWFrIHBlcmNwdSBkZWZpbml0aW9ucyBzaG91bGQgc2V0XG4gICogQ09ORklHX0FSQ0hfTU9EVUxFX05FRURTX1dFQUtfUEVSX0NQVSB3aGVuIG5lY2Vzc2FyeS5cbi0gKlxuLSAqIFRvIGVuc3VyZSB0aGF0IHRoZSBnZW5lcmljIGNvZGUgb2JzZXJ2ZXMgdGhlIGFib3ZlIHR3b1xuLSAqIHJlc3RyaWN0aW9ucywgaWYgQ09ORklHX0RFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVSBpcyBzZXQgd2Vha1xuLSAqIGRlZmluaXRpb24gaXMgdXNlZCBmb3IgYWxsIGNhc2VzLlxuICAqL1xuLSNpZiAoZGVmaW5lZChDT05GSUdfQVJDSF9NT0RVTEVfTkVFRFNfV0VBS19QRVJfQ1BVKSBcdTAwMjZcdTAwMjYgZGVmaW5lZChNT0RVTEUpKSB8fCBcXFxuLVx0ZGVmaW5lZChDT05GSUdfREVCVUdfRk9SQ0VfV0VBS19QRVJfQ1BVKVxuJiM0MzsjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9NT0RVTEVfTkVFRFNfV0VBS19QRVJfQ1BVKSBcdTAwMjZcdTAwMjYgZGVmaW5lZChNT0RVTEUpXG4gLypcbiAgKiBfX3BjcHVfc2NvcGVfKiBkdW1teSB2YXJpYWJsZSBpcyB1c2VkIHRvIGVuZm9yY2Ugc2NvcGUuICBJdFxuICAqIHJlY2VpdmVzIHRoZSBzdGF0aWMgbW9kaWZpZXIgd2hlbiBpdCYjMzk7cyB1c2VkIGluIGZyb250IG9mXG5kaWZmIC0tZ2l0IGEvaW5jbHVkZS9ydi9kYV9tb25pdG9yLmggYi9pbmNsdWRlL3J2L2RhX21vbml0b3IuaFxuaW5kZXggMzRiOGZiYTllY2Q0NC4uNmI2NDE2OTcxMDZiZiAxMDA2NDRcbi0tLSBhL2luY2x1ZGUvcnYvZGFfbW9uaXRvci5oXG4mIzQzOyYjNDM7JiM0MzsgYi9pbmNsdWRlL3J2L2RhX21vbml0b3IuaFxuQEAgLTI0LDcgJiM0MzsyNCw3IEBAXG4gXG4gLypcbiAgKiBQZXItY3B1IHZhcmlhYmxlcyByZXF1aXJlIGEgdW5pcXVlIG5hbWUgYWx0aG91Z2ggc3RhdGljIGluIHNvbWVcbi0gKiBjb25maWd1cmF0aW9ucyAoZS5nLiBDT05GSUdfREVCVUdfRk9SQ0VfV0VBS19QRVJfQ1BVIG9yIGFscGhhIG1vZHVsZXMpLlxuJiM0MzsgKiBjb25maWd1cmF0aW9ucyAoZS5nLiBhbHBoYSBtb2R1bGVzKS5cbiAgKi9cbiAjZGVmaW5lIERBX01PTl9OQU1FIENPTkNBVEVOQVRFKGRhX21vbl8sIE1PTklUT1JfTkFNRSlcbiBcbmRpZmYgLS1naXQgYS9saWIvS2NvbmZpZy5kZWJ1ZyBiL2xpYi9LY29uZmlnLmRlYnVnXG5pbmRleCAxMjQ0ZGNhYzIyOTRhLi4yNmM4YjE5ZDA3OTU4IDEwMDY0NFxuLS0tIGEvbGliL0tjb25maWcuZGVidWdcbiYjNDM7JiM0MzsmIzQzOyBiL2xpYi9LY29uZmlnLmRlYnVnXG5AQCAtNjEzLDIxICYjNDM7NjEzLDYgQEAgY29uZmlnIEJVSUxUSU5fTU9EVUxFX1JBTkdFU1xuIFx0IEl0IGFsc28gcmVjb3JkcyBhbiBhbmNob3Igc3ltYm9sIHRvIGRldGVybWluZSB0aGUgbG9hZCBhZGRyZXNzIG9mIHRoZVxuIFx0IHNlY3Rpb24uXG4gXG4tY29uZmlnIERFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVVxuLVx0Ym9vbCBcJiMzNDtGb3JjZSB3ZWFrIHBlci1jcHUgZGVmaW5pdGlvbnNcJiMzNDtcbi1cdGRlcGVuZHMgb24gREVCVUdfS0VSTkVMXG4tXHRoZWxwXG4tXHQgIHMzOTAgYW5kIGFscGhhIHJlcXVpcmUgcGVyY3B1IHZhcmlhYmxlcyBpbiBtb2R1bGVzIHRvIGJlXG4tXHQgIGRlZmluZWQgd2VhayB0byB3b3JrIGFyb3VuZCBhZGRyZXNzaW5nIHJhbmdlIGlzc3VlIHdoaWNoXG4tXHQgIHB1dHMgdGhlIGZvbGxvd2luZyB0d28gcmVzdHJpY3Rpb25zIG9uIHBlcmNwdSB2YXJpYWJsZVxuLVx0ICBkZWZpbml0aW9ucy5cbi1cbi1cdCAgMS4gcGVyY3B1IHN5bWJvbHMgbXVzdCBiZSB1bmlxdWUgd2hldGhlciBzdGF0aWMgb3Igbm90XG4tXHQgIDIuIHBlcmNwdSB2YXJpYWJsZXMgY2FuJiMzOTt0IGJlIGRlZmluZWQgaW5zaWRlIGEgZnVuY3Rpb25cbi1cbi1cdCAgVG8gZW5zdXJlIHRoYXQgZ2VuZXJpYyBjb2RlIGZvbGxvd3MgdGhlIGFib3ZlIHJ1bGVzLCB0aGlzXG4tXHQgIG9wdGlvbiBmb3JjZXMgYWxsIHBlcmNwdSB2YXJpYWJsZXMgdG8gYmUgZGVmaW5lZCBhcyB3ZWFrLlxuLVxuIGNvbmZpZyBXQVJOX0NPTlRFWFRfQU5BTFlTSVNcbiBcdGJvb2wgXCYjMzQ7Q29tcGlsZXIgY29udGV4dC1hbmFseXNpcyB3YXJuaW5nc1wmIzM0O1xuIFx0ZGVwZW5kcyBvbiBDQ19JU19DTEFORyBcdTAwMjZcdTAwMjYgQ0xBTkdfVkVSU0lPTiBcdTAwM2U9IDIzMDAwMFxuQEAgLTEwNTMsNyAmIzQzOzEwMzgsNiBAQCBjb25maWcgTUVNX0FMTE9DX1BST0ZJTElOR1xuIFx0ZGVmYXVsdCBuXG4gXHRkZXBlbmRzIG9uIE1NVVxuIFx0ZGVwZW5kcyBvbiBQUk9DX0ZTXG4tXHRkZXBlbmRzIG9uICFERUJVR19GT1JDRV9XRUFLX1BFUl9DUFVcbiBcdHNlbGVjdCBDT0RFX1RBR0dJTkdcbiBcdHNlbGVjdCBQQUdFX0VYVEVOU0lPTlxuIFx0c2VsZWN0IFNMQUJfT0JKX0VYVFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzEyIDIwOjQyPC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmJlc3QtZXhwZW5zaXZlPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCByZW1vdmVzIHRoZSBDT05GSUdfREVCVUdfRk9SQ0VfV0VBS19QRVJfQ1BVIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGFuZCBpdHMgYXNzb2NpYXRlZCBsb2dpYyBmcm9tIEtjb25maWcgYW5kIGhlYWRlciBmaWxlcy4gSXQgZG9lcyBub3QgaW50cm9kdWNlIGFueSBuZXcgZnVuY3Rpb25hbCBsb2dpYyBvciBhbHRlciBleGVjdXRpb24gZmxvdyBpbiBhIHdheSB0aGF0IHJlcXVpcmVzIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgotIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpCiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zCiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBBbHNvIGNoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncwogICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3MKICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgOWQzOGI5OGYwMWMyNDkyMjgxNmI1NzE1ODhmM2U5MTMyZTYzNjVkYgpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBXZWQgQXVnIDEyIDIwOjQxOjU5IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9wZXJjcHUtZGVmcy5oIGIvaW5jbHVkZS9saW51eC9wZXJjcHUtZGVmcy5oCmluZGV4IDQzYzg1NGEyNzNjM2EuLjBiZTRkMGYyM2YxZDAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvcGVyY3B1LWRlZnMuaAomIzQzOyYjNDM7JiM0MzsgYi9pbmNsdWRlL2xpbnV4L3BlcmNwdS1kZWZzLmgKQEAgLTY1LDEzICYjNDM7NjUsOCBAQAogICoKICAqIEFyY2hzIHdoaWNoIG5lZWQgd2VhayBwZXJjcHUgZGVmaW5pdGlvbnMgc2hvdWxkIHNldAogICogQ09ORklHX0FSQ0hfTU9EVUxFX05FRURTX1dFQUtfUEVSX0NQVSB3aGVuIG5lY2Vzc2FyeS4KLSAqCi0gKiBUbyBlbnN1cmUgdGhhdCB0aGUgZ2VuZXJpYyBjb2RlIG9ic2VydmVzIHRoZSBhYm92ZSB0d28KLSAqIHJlc3RyaWN0aW9ucywgaWYgQ09ORklHX0RFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVSBpcyBzZXQgd2VhawotICogZGVmaW5pdGlvbiBpcyB1c2VkIGZvciBhbGwgY2FzZXMuCiAgKi8KLSNpZiAoZGVmaW5lZChDT05GSUdfQVJDSF9NT0RVTEVfTkVFRFNfV0VBS19QRVJfQ1BVKSAmYW1wOyZhbXA7IGRlZmluZWQoTU9EVUxFKSkgfHwgXAotCWRlZmluZWQoQ09ORklHX0RFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVSkKJiM0MzsjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9NT0RVTEVfTkVFRFNfV0VBS19QRVJfQ1BVKSAmYW1wOyZhbXA7IGRlZmluZWQoTU9EVUxFKQogLyoKICAqIF9fcGNwdV9zY29wZV8qIGR1bW15IHZhcmlhYmxlIGlzIHVzZWQgdG8gZW5mb3JjZSBzY29wZS4gIEl0CiAgKiByZWNlaXZlcyB0aGUgc3RhdGljIG1vZGlmaWVyIHdoZW4gaXQmIzM5O3MgdXNlZCBpbiBmcm9udCBvZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ydi9kYV9tb25pdG9yLmggYi9pbmNsdWRlL3J2L2RhX21vbml0b3IuaAppbmRleCAzNGI4ZmJhOWVjZDQ0Li42YjY0MTY5NzEwNmJmIDEwMDY0NAotLS0gYS9pbmNsdWRlL3J2L2RhX21vbml0b3IuaAomIzQzOyYjNDM7JiM0MzsgYi9pbmNsdWRlL3J2L2RhX21vbml0b3IuaApAQCAtMjQsNyAmIzQzOzI0LDcgQEAKIAogLyoKICAqIFBlci1jcHUgdmFyaWFibGVzIHJlcXVpcmUgYSB1bmlxdWUgbmFtZSBhbHRob3VnaCBzdGF0aWMgaW4gc29tZQotICogY29uZmlndXJhdGlvbnMgKGUuZy4gQ09ORklHX0RFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVSBvciBhbHBoYSBtb2R1bGVzKS4KJiM0MzsgKiBjb25maWd1cmF0aW9ucyAoZS5nLiBhbHBoYSBtb2R1bGVzKS4KICAqLwogI2RlZmluZSBEQV9NT05fTkFNRSBDT05DQVRFTkFURShkYV9tb25fLCBNT05JVE9SX05BTUUpCiAKZGlmZiAtLWdpdCBhL2xpYi9LY29uZmlnLmRlYnVnIGIvbGliL0tjb25maWcuZGVidWcKaW5kZXggMTI0NGRjYWMyMjk0YS4uMjZjOGIxOWQwNzk1OCAxMDA2NDQKLS0tIGEvbGliL0tjb25maWcuZGVidWcKJiM0MzsmIzQzOyYjNDM7IGIvbGliL0tjb25maWcuZGVidWcKQEAgLTYxMywyMSAmIzQzOzYxMyw2IEBAIGNvbmZpZyBCVUlMVElOX01PRFVMRV9SQU5HRVMKIAkgSXQgYWxzbyByZWNvcmRzIGFuIGFuY2hvciBzeW1ib2wgdG8gZGV0ZXJtaW5lIHRoZSBsb2FkIGFkZHJlc3Mgb2YgdGhlCiAJIHNlY3Rpb24uCiAKLWNvbmZpZyBERUJVR19GT1JDRV9XRUFLX1BFUl9DUFUKLQlib29sICYjMzQ7Rm9yY2Ugd2VhayBwZXItY3B1IGRlZmluaXRpb25zJiMzNDsKLQlkZXBlbmRzIG9uIERFQlVHX0tFUk5FTAotCWhlbHAKLQkgIHMzOTAgYW5kIGFscGhhIHJlcXVpcmUgcGVyY3B1IHZhcmlhYmxlcyBpbiBtb2R1bGVzIHRvIGJlCi0JICBkZWZpbmVkIHdlYWsgdG8gd29yayBhcm91bmQgYWRkcmVzc2luZyByYW5nZSBpc3N1ZSB3aGljaAotCSAgcHV0cyB0aGUgZm9sbG93aW5nIHR3byByZXN0cmljdGlvbnMgb24gcGVyY3B1IHZhcmlhYmxlCi0JICBkZWZpbml0aW9ucy4KLQotCSAgMS4gcGVyY3B1IHN5bWJvbHMgbXVzdCBiZSB1bmlxdWUgd2hldGhlciBzdGF0aWMgb3Igbm90Ci0JICAyLiBwZXJjcHUgdmFyaWFibGVzIGNhbiYjMzk7dCBiZSBkZWZpbmVkIGluc2lkZSBhIGZ1bmN0aW9uCi0KLQkgIFRvIGVuc3VyZSB0aGF0IGdlbmVyaWMgY29kZSBmb2xsb3dzIHRoZSBhYm92ZSBydWxlcywgdGhpcwotCSAgb3B0aW9uIGZvcmNlcyBhbGwgcGVyY3B1IHZhcmlhYmxlcyB0byBiZSBkZWZpbmVkIGFzIHdlYWsuCi0KIGNvbmZpZyBXQVJOX0NPTlRFWFRfQU5BTFlTSVMKIAlib29sICYjMzQ7Q29tcGlsZXIgY29udGV4dC1hbmFseXNpcyB3YXJuaW5ncyYjMzQ7CiAJZGVwZW5kcyBvbiBDQ19JU19DTEFORyAmYW1wOyZhbXA7IENMQU5HX1ZFUlNJT04gJmd0Oz0gMjMwMDAwCkBAIC0xMDUzLDcgJiM0MzsxMDM4LDYgQEAgY29uZmlnIE1FTV9BTExPQ19QUk9GSUxJTkcKIAlkZWZhdWx0IG4KIAlkZXBlbmRzIG9uIE1NVQogCWRlcGVuZHMgb24gUFJPQ19GUwotCWRlcGVuZHMgb24gIURFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVQogCXNlbGVjdCBDT0RFX1RBR0dJTkcKIAlzZWxlY3QgUEFHRV9FWFRFTlNJT04KIAlzZWxlY3QgU0xBQl9PQkpfRVhUCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzEyIDIwOjQyPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI2NzYKCQkJCQkJCW91dHB1dDogODAKCQkJCQkJCXRob3VnaHRzOiAzNzIKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqTXkgQXNzZXNzbWVudCBvZiB0aGUgQ29uZmlndXJhdGlvbiBDbGVhbnVwKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgcHJldHR5IHN0cmFpZ2h0Zm9yd2FyZC4gSXQgbG9va3MgbGlrZSBhIGNsZWFudXAgb3BlcmF0aW9uLCBzcGVjaWZpY2FsbHkgdGFyZ2V0aW5nIHRoZSByZW1vdmFsIG9mIHRoZSBgQ09ORklHX0RFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVWAgZGVidWcgY29uZmlndXJhdGlvbiBvcHRpb24uIE15IGltbWVkaWF0ZSBpbXByZXNzaW9uIGlzIHRoYXQgdGhpcyAqc2hvdWxkbiYjMzk7dCogaW50cm9kdWNlIGFueSBmdW5jdGlvbmFsIHJlZ3Jlc3Npb25zIG9yIG5lY2Vzc2l0YXRlIGFueSBmdXp6aW5nIGVmZm9ydHMuIExldCYjMzk7cyBkaWcgaW4gYW5kIGNvbmZpcm0gdGhhdCwgdGhvdWdoLgoKRmlyc3QsIGl04oCZcyB5YW5rZWQgZnJvbSBhIGZldyBzcG90czogYGluY2x1ZGUvbGludXgvcGVyY3B1LWRlZnMuaGAsIGBpbmNsdWRlL3J2L2RhX21vbml0b3IuaGAsIGFuZCBgbGliL0tjb25maWcuZGVidWdgLiBJIG5lZWQgdG8gZW5zdXJlIHRoYXQgdGhlIHJlbW92YWwgaXMgY2xlYW4gYW5kIGRvZXNuJiMzOTt0IGxlYXZlIGFueSBkYW5nbGluZyBkZXBlbmRlbmNpZXMgb3IgaW50cm9kdWNlIHNlbWFudGljIGNoYW5nZXMuCgpMb29raW5nIGF0IGBpbmNsdWRlL2xpbnV4L3BlcmNwdS1kZWZzLmhgLCB0aGUgY2hhbmdlIGlzIGNsZWFyOiBpdOKAmXMganVzdCByZW1vdmluZyB0aGUgYCNpZiBkZWZpbmVkKENPTkZJR19ERUJVR19GT1JDRV9XRUFLX1BFUl9DUFUpYCBjb25kaXRpb24gZnJvbSBhIG1hY3JvIGRlZmluaXRpb24uIE5vIGNvZGUgaXMgYmVpbmcgYWRkZWQsIGp1c3QgYSBjb25kaXRpb25hbCBicmFuY2ggYmVpbmcgcmVtb3ZlZC4gVGhpcyBhbGlnbnMgd2l0aCBhIHB1cmUgY2xlYW51cC4KCmBpbmNsdWRlL3J2L2RhX21vbml0b3IuaGAgaXMganVzdCBhIGNvbW1lbnQgY2hhbmdlIHNvIG5vdGhpbmcgc2lnbmlmaWNhbnQgdGhlcmUuCgpGaW5hbGx5LCBpbiBgbGliL0tjb25maWcuZGVidWdgLCBpdCYjMzk7cyBkcm9wcGluZyB0aGUgZGVidWcgb3B0aW9uIGl0c2VsZiBhbmQgcmVtb3ZpbmcgdGhlIGBkZXBlbmRzIG9uICFERUJVR19GT1JDRV9XRUFLX1BFUl9DUFVgIGRlcGVuZGVuY3kgZnJvbSBgTUVNX0FMTE9DX1BST0ZJTElOR2AuIFRoaXMgaXMgcHJlY2lzZWx5IHdoYXQgdGhlIGRlc2NyaXB0aW9uIHN0YXRlcyAtIGEgY2xlYW4gcmVtb3ZhbCBvZiB0aGUgZGVidWdnaW5nIGZlYXR1cmUgYW5kIGFueSBjb25zdHJhaW50cyBpdCBpbXBvc2VkLgoKR2l2ZW4gdGhpcyBhbmFseXNpcywgSSYjMzk7bSBjb25maWRlbnQgdGhhdCB0aGlzIHBhdGNoIGlzIHNvbGVseSBhIHJlbW92YWwgb2YgYSBkZWJ1Z2dpbmcgY29uZmlndXJhdGlvbiBvcHRpb24gYW5kIGl0cyBhc3NvY2lhdGVkIGxvZ2ljLiBJdCBkb2VzbiYjMzk7dCBtb2RpZnkgZXhlY3V0aW9uIGZsb3csIGFkZCBuZXcgZnVuY3Rpb25hbCBjb2RlLCBvciBjaGFuZ2UgYW55IGNvcmUgYmVoYXZpb3IuIFRoZXJlZm9yZSwgdGhpcyBwYXRjaCBpcyAqKm5vdCB3b3J0aCBmdXp6aW5nLioqCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTIgMjA6NDI8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCByZW1vdmVzIHRoZSBDT05GSUdfREVCVUdfRk9SQ0VfV0VBS19QRVJfQ1BVIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGFuZCBpdHMgYXNzb2NpYXRlZCBsb2dpYyBmcm9tIEtjb25maWcgYW5kIGhlYWRlciBmaWxlcy4gSXQgZG9lcyBub3QgaW50cm9kdWNlIGFueSBuZXcgZnVuY3Rpb25hbCBsb2dpYyBvciBhbHRlciBleGVjdXRpb24gZmxvdyBpbiBhIHdheSB0aGF0IHJlcXVpcmVzIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCByZW1vdmVzIHRoZSBDT05GSUdfREVCVUdfRk9SQ0VfV0VBS19QRVJfQ1BVIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGFuZCBpdHMgYXNzb2NpYXRlZCBsb2dpYyBmcm9tIEtjb25maWcgYW5kIGhlYWRlciBmaWxlcy4gSXQgZG9lcyBub3QgaW50cm9kdWNlIGFueSBuZXcgZnVuY3Rpb25hbCBsb2dpYyBvciBhbHRlciBleGVjdXRpb24gZmxvdyBpbiBhIHdheSB0aGF0IHJlcXVpcmVzIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzEyIDIwOjQyPC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5JZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wOC0xMlQyMDo0MjowMC43NTQzNTQ2NDdaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo5MjY2ODg3MTY2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIktNU0FOUmVhc29uaW5nXCI6IFwiXCIsXG4gIFwiTmVlZHNLTVNBTlwiOiBmYWxzZSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggcmVtb3ZlcyB0aGUgQ09ORklHX0RFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVSBjb25maWd1cmF0aW9uIG9wdGlvbiBhbmQgaXRzIGFzc29jaWF0ZWQgbG9naWMgZnJvbSBLY29uZmlnIGFuZCBoZWFkZXIgZmlsZXMuIEl0IGRvZXMgbm90IGludHJvZHVjZSBhbnkgbmV3IGZ1bmN0aW9uYWwgbG9naWMgb3IgYWx0ZXIgZXhlY3V0aW9uIGZsb3cgaW4gYSB3YXkgdGhhdCByZXF1aXJlcyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTJUMjA6NDI6MDAuNzU0MzYxMzA3WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0MDk5NTI4NzgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCA5ZDM4Yjk4ZjAxYzI0OTIyODE2YjU3MTU4OGYzZTkxMzJlNjM2NWRiXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBXZWQgQXVnIDEyIDIwOjQxOjU5IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcGVyY3B1LWRlZnMuaCBiL2luY2x1ZGUvbGludXgvcGVyY3B1LWRlZnMuaFxcbmluZGV4IDQzYzg1NGEyNzNjM2EuLjBiZTRkMGYyM2YxZDAgMTAwNjQ0XFxuLS0tIGEvaW5jbHVkZS9saW51eC9wZXJjcHUtZGVmcy5oXFxuKysrIGIvaW5jbHVkZS9saW51eC9wZXJjcHUtZGVmcy5oXFxuQEAgLTY1LDEzICs2NSw4IEBAXFxuICAqXFxuICAqIEFyY2hzIHdoaWNoIG5lZWQgd2VhayBwZXJjcHUgZGVmaW5pdGlvbnMgc2hvdWxkIHNldFxcbiAgKiBDT05GSUdfQVJDSF9NT0RVTEVfTkVFRFNfV0VBS19QRVJfQ1BVIHdoZW4gbmVjZXNzYXJ5Llxcbi0gKlxcbi0gKiBUbyBlbnN1cmUgdGhhdCB0aGUgZ2VuZXJpYyBjb2RlIG9ic2VydmVzIHRoZSBhYm92ZSB0d29cXG4tICogcmVzdHJpY3Rpb25zLCBpZiBDT05GSUdfREVCVUdfRk9SQ0VfV0VBS19QRVJfQ1BVIGlzIHNldCB3ZWFrXFxuLSAqIGRlZmluaXRpb24gaXMgdXNlZCBmb3IgYWxsIGNhc2VzLlxcbiAgKi9cXG4tI2lmIChkZWZpbmVkKENPTkZJR19BUkNIX01PRFVMRV9ORUVEU19XRUFLX1BFUl9DUFUpIFxcdTAwMjZcXHUwMDI2IGRlZmluZWQoTU9EVUxFKSkgfHwgXFxcXFxcbi1cXHRkZWZpbmVkKENPTkZJR19ERUJVR19GT1JDRV9XRUFLX1BFUl9DUFUpXFxuKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX01PRFVMRV9ORUVEU19XRUFLX1BFUl9DUFUpIFxcdTAwMjZcXHUwMDI2IGRlZmluZWQoTU9EVUxFKVxcbiAvKlxcbiAgKiBfX3BjcHVfc2NvcGVfKiBkdW1teSB2YXJpYWJsZSBpcyB1c2VkIHRvIGVuZm9yY2Ugc2NvcGUuICBJdFxcbiAgKiByZWNlaXZlcyB0aGUgc3RhdGljIG1vZGlmaWVyIHdoZW4gaXQncyB1c2VkIGluIGZyb250IG9mXFxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvcnYvZGFfbW9uaXRvci5oIGIvaW5jbHVkZS9ydi9kYV9tb25pdG9yLmhcXG5pbmRleCAzNGI4ZmJhOWVjZDQ0Li42YjY0MTY5NzEwNmJmIDEwMDY0NFxcbi0tLSBhL2luY2x1ZGUvcnYvZGFfbW9uaXRvci5oXFxuKysrIGIvaW5jbHVkZS9ydi9kYV9tb25pdG9yLmhcXG5AQCAtMjQsNyArMjQsNyBAQFxcbiBcXG4gLypcXG4gICogUGVyLWNwdSB2YXJpYWJsZXMgcmVxdWlyZSBhIHVuaXF1ZSBuYW1lIGFsdGhvdWdoIHN0YXRpYyBpbiBzb21lXFxuLSAqIGNvbmZpZ3VyYXRpb25zIChlLmcuIENPTkZJR19ERUJVR19GT1JDRV9XRUFLX1BFUl9DUFUgb3IgYWxwaGEgbW9kdWxlcykuXFxuKyAqIGNvbmZpZ3VyYXRpb25zIChlLmcuIGFscGhhIG1vZHVsZXMpLlxcbiAgKi9cXG4gI2RlZmluZSBEQV9NT05fTkFNRSBDT05DQVRFTkFURShkYV9tb25fLCBNT05JVE9SX05BTUUpXFxuIFxcbmRpZmYgLS1naXQgYS9saWIvS2NvbmZpZy5kZWJ1ZyBiL2xpYi9LY29uZmlnLmRlYnVnXFxuaW5kZXggMTI0NGRjYWMyMjk0YS4uMjZjOGIxOWQwNzk1OCAxMDA2NDRcXG4tLS0gYS9saWIvS2NvbmZpZy5kZWJ1Z1xcbisrKyBiL2xpYi9LY29uZmlnLmRlYnVnXFxuQEAgLTYxMywyMSArNjEzLDYgQEAgY29uZmlnIEJVSUxUSU5fTU9EVUxFX1JBTkdFU1xcbiBcXHQgSXQgYWxzbyByZWNvcmRzIGFuIGFuY2hvciBzeW1ib2wgdG8gZGV0ZXJtaW5lIHRoZSBsb2FkIGFkZHJlc3Mgb2YgdGhlXFxuIFxcdCBzZWN0aW9uLlxcbiBcXG4tY29uZmlnIERFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVVxcbi1cXHRib29sIFxcXCJGb3JjZSB3ZWFrIHBlci1jcHUgZGVmaW5pdGlvbnNcXFwiXFxuLVxcdGRlcGVuZHMgb24gREVCVUdfS0VSTkVMXFxuLVxcdGhlbHBcXG4tXFx0ICBzMzkwIGFuZCBhbHBoYSByZXF1aXJlIHBlcmNwdSB2YXJpYWJsZXMgaW4gbW9kdWxlcyB0byBiZVxcbi1cXHQgIGRlZmluZWQgd2VhayB0byB3b3JrIGFyb3VuZCBhZGRyZXNzaW5nIHJhbmdlIGlzc3VlIHdoaWNoXFxuLVxcdCAgcHV0cyB0aGUgZm9sbG93aW5nIHR3byByZXN0cmljdGlvbnMgb24gcGVyY3B1IHZhcmlhYmxlXFxuLVxcdCAgZGVmaW5pdGlvbnMuXFxuLVxcbi1cXHQgIDEuIHBlcmNwdSBzeW1ib2xzIG11c3QgYmUgdW5pcXVlIHdoZXRoZXIgc3RhdGljIG9yIG5vdFxcbi1cXHQgIDIuIHBlcmNwdSB2YXJpYWJsZXMgY2FuJ3QgYmUgZGVmaW5lZCBpbnNpZGUgYSBmdW5jdGlvblxcbi1cXG4tXFx0ICBUbyBlbnN1cmUgdGhhdCBnZW5lcmljIGNvZGUgZm9sbG93cyB0aGUgYWJvdmUgcnVsZXMsIHRoaXNcXG4tXFx0ICBvcHRpb24gZm9yY2VzIGFsbCBwZXJjcHUgdmFyaWFibGVzIHRvIGJlIGRlZmluZWQgYXMgd2Vhay5cXG4tXFxuIGNvbmZpZyBXQVJOX0NPTlRFWFRfQU5BTFlTSVNcXG4gXFx0Ym9vbCBcXFwiQ29tcGlsZXIgY29udGV4dC1hbmFseXNpcyB3YXJuaW5nc1xcXCJcXG4gXFx0ZGVwZW5kcyBvbiBDQ19JU19DTEFORyBcXHUwMDI2XFx1MDAyNiBDTEFOR19WRVJTSU9OIFxcdTAwM2U9IDIzMDAwMFxcbkBAIC0xMDUzLDcgKzEwMzgsNiBAQCBjb25maWcgTUVNX0FMTE9DX1BST0ZJTElOR1xcbiBcXHRkZWZhdWx0IG5cXG4gXFx0ZGVwZW5kcyBvbiBNTVVcXG4gXFx0ZGVwZW5kcyBvbiBQUk9DX0ZTXFxuLVxcdGRlcGVuZHMgb24gIURFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVVxcbiBcXHRzZWxlY3QgQ09ERV9UQUdHSU5HXFxuIFxcdHNlbGVjdCBQQUdFX0VYVEVOU0lPTlxcbiBcXHRzZWxlY3QgU0xBQl9PQkpfRVhUXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTEyVDIwOjQyOjAxLjE2NTAzNjg0NloiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImJlc3QtZXhwZW5zaXZlIiwiRHVyYXRpb24iOjg4NTYxOTQyMjcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIHJlbW92ZXMgdGhlIENPTkZJR19ERUJVR19GT1JDRV9XRUFLX1BFUl9DUFUgY29uZmlndXJhdGlvbiBvcHRpb24gYW5kIGl0cyBhc3NvY2lhdGVkIGxvZ2ljIGZyb20gS2NvbmZpZyBhbmQgaGVhZGVyIGZpbGVzLiBJdCBkb2VzIG5vdCBpbnRyb2R1Y2UgYW55IG5ldyBmdW5jdGlvbmFsIGxvZ2ljIG9yIGFsdGVyIGV4ZWN1dGlvbiBmbG93IGluIGEgd2F5IHRoYXQgcmVxdWlyZXMgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCxcbiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXG4tIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpXG4gIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zXG4gICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgQWxzbyBjaGVjayBcImRlcGVuZHMgb25cIiBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3NcbiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlnc1xuICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDlkMzhiOThmMDFjMjQ5MjI4MTZiNTcxNTg4ZjNlOTEzMmU2MzY1ZGJcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgV2VkIEF1ZyAxMiAyMDo0MTo1OSAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcGVyY3B1LWRlZnMuaCBiL2luY2x1ZGUvbGludXgvcGVyY3B1LWRlZnMuaFxuaW5kZXggNDNjODU0YTI3M2MzYS4uMGJlNGQwZjIzZjFkMCAxMDA2NDRcbi0tLSBhL2luY2x1ZGUvbGludXgvcGVyY3B1LWRlZnMuaFxuKysrIGIvaW5jbHVkZS9saW51eC9wZXJjcHUtZGVmcy5oXG5AQCAtNjUsMTMgKzY1LDggQEBcbiAgKlxuICAqIEFyY2hzIHdoaWNoIG5lZWQgd2VhayBwZXJjcHUgZGVmaW5pdGlvbnMgc2hvdWxkIHNldFxuICAqIENPTkZJR19BUkNIX01PRFVMRV9ORUVEU19XRUFLX1BFUl9DUFUgd2hlbiBuZWNlc3NhcnkuXG4tICpcbi0gKiBUbyBlbnN1cmUgdGhhdCB0aGUgZ2VuZXJpYyBjb2RlIG9ic2VydmVzIHRoZSBhYm92ZSB0d29cbi0gKiByZXN0cmljdGlvbnMsIGlmIENPTkZJR19ERUJVR19GT1JDRV9XRUFLX1BFUl9DUFUgaXMgc2V0IHdlYWtcbi0gKiBkZWZpbml0aW9uIGlzIHVzZWQgZm9yIGFsbCBjYXNlcy5cbiAgKi9cbi0jaWYgKGRlZmluZWQoQ09ORklHX0FSQ0hfTU9EVUxFX05FRURTX1dFQUtfUEVSX0NQVSkgXHUwMDI2XHUwMDI2IGRlZmluZWQoTU9EVUxFKSkgfHwgXFxcbi1cdGRlZmluZWQoQ09ORklHX0RFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVSlcbisjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9NT0RVTEVfTkVFRFNfV0VBS19QRVJfQ1BVKSBcdTAwMjZcdTAwMjYgZGVmaW5lZChNT0RVTEUpXG4gLypcbiAgKiBfX3BjcHVfc2NvcGVfKiBkdW1teSB2YXJpYWJsZSBpcyB1c2VkIHRvIGVuZm9yY2Ugc2NvcGUuICBJdFxuICAqIHJlY2VpdmVzIHRoZSBzdGF0aWMgbW9kaWZpZXIgd2hlbiBpdCdzIHVzZWQgaW4gZnJvbnQgb2ZcbmRpZmYgLS1naXQgYS9pbmNsdWRlL3J2L2RhX21vbml0b3IuaCBiL2luY2x1ZGUvcnYvZGFfbW9uaXRvci5oXG5pbmRleCAzNGI4ZmJhOWVjZDQ0Li42YjY0MTY5NzEwNmJmIDEwMDY0NFxuLS0tIGEvaW5jbHVkZS9ydi9kYV9tb25pdG9yLmhcbisrKyBiL2luY2x1ZGUvcnYvZGFfbW9uaXRvci5oXG5AQCAtMjQsNyArMjQsNyBAQFxuIFxuIC8qXG4gICogUGVyLWNwdSB2YXJpYWJsZXMgcmVxdWlyZSBhIHVuaXF1ZSBuYW1lIGFsdGhvdWdoIHN0YXRpYyBpbiBzb21lXG4tICogY29uZmlndXJhdGlvbnMgKGUuZy4gQ09ORklHX0RFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVSBvciBhbHBoYSBtb2R1bGVzKS5cbisgKiBjb25maWd1cmF0aW9ucyAoZS5nLiBhbHBoYSBtb2R1bGVzKS5cbiAgKi9cbiAjZGVmaW5lIERBX01PTl9OQU1FIENPTkNBVEVOQVRFKGRhX21vbl8sIE1PTklUT1JfTkFNRSlcbiBcbmRpZmYgLS1naXQgYS9saWIvS2NvbmZpZy5kZWJ1ZyBiL2xpYi9LY29uZmlnLmRlYnVnXG5pbmRleCAxMjQ0ZGNhYzIyOTRhLi4yNmM4YjE5ZDA3OTU4IDEwMDY0NFxuLS0tIGEvbGliL0tjb25maWcuZGVidWdcbisrKyBiL2xpYi9LY29uZmlnLmRlYnVnXG5AQCAtNjEzLDIxICs2MTMsNiBAQCBjb25maWcgQlVJTFRJTl9NT0RVTEVfUkFOR0VTXG4gXHQgSXQgYWxzbyByZWNvcmRzIGFuIGFuY2hvciBzeW1ib2wgdG8gZGV0ZXJtaW5lIHRoZSBsb2FkIGFkZHJlc3Mgb2YgdGhlXG4gXHQgc2VjdGlvbi5cbiBcbi1jb25maWcgREVCVUdfRk9SQ0VfV0VBS19QRVJfQ1BVXG4tXHRib29sIFwiRm9yY2Ugd2VhayBwZXItY3B1IGRlZmluaXRpb25zXCJcbi1cdGRlcGVuZHMgb24gREVCVUdfS0VSTkVMXG4tXHRoZWxwXG4tXHQgIHMzOTAgYW5kIGFscGhhIHJlcXVpcmUgcGVyY3B1IHZhcmlhYmxlcyBpbiBtb2R1bGVzIHRvIGJlXG4tXHQgIGRlZmluZWQgd2VhayB0byB3b3JrIGFyb3VuZCBhZGRyZXNzaW5nIHJhbmdlIGlzc3VlIHdoaWNoXG4tXHQgIHB1dHMgdGhlIGZvbGxvd2luZyB0d28gcmVzdHJpY3Rpb25zIG9uIHBlcmNwdSB2YXJpYWJsZVxuLVx0ICBkZWZpbml0aW9ucy5cbi1cbi1cdCAgMS4gcGVyY3B1IHN5bWJvbHMgbXVzdCBiZSB1bmlxdWUgd2hldGhlciBzdGF0aWMgb3Igbm90XG4tXHQgIDIuIHBlcmNwdSB2YXJpYWJsZXMgY2FuJ3QgYmUgZGVmaW5lZCBpbnNpZGUgYSBmdW5jdGlvblxuLVxuLVx0ICBUbyBlbnN1cmUgdGhhdCBnZW5lcmljIGNvZGUgZm9sbG93cyB0aGUgYWJvdmUgcnVsZXMsIHRoaXNcbi1cdCAgb3B0aW9uIGZvcmNlcyBhbGwgcGVyY3B1IHZhcmlhYmxlcyB0byBiZSBkZWZpbmVkIGFzIHdlYWsuXG4tXG4gY29uZmlnIFdBUk5fQ09OVEVYVF9BTkFMWVNJU1xuIFx0Ym9vbCBcIkNvbXBpbGVyIGNvbnRleHQtYW5hbHlzaXMgd2FybmluZ3NcIlxuIFx0ZGVwZW5kcyBvbiBDQ19JU19DTEFORyBcdTAwMjZcdTAwMjYgQ0xBTkdfVkVSU0lPTiBcdTAwM2U9IDIzMDAwMFxuQEAgLTEwNTMsNyArMTAzOCw2IEBAIGNvbmZpZyBNRU1fQUxMT0NfUFJPRklMSU5HXG4gXHRkZWZhdWx0IG5cbiBcdGRlcGVuZHMgb24gTU1VXG4gXHRkZXBlbmRzIG9uIFBST0NfRlNcbi1cdGRlcGVuZHMgb24gIURFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVVxuIFx0c2VsZWN0IENPREVfVEFHR0lOR1xuIFx0c2VsZWN0IFBBR0VfRVhURU5TSU9OXG4gXHRzZWxlY3QgU0xBQl9PQkpfRVhUXG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xMlQyMDo0MjowMS4xNjUwMzg5NzZaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo4ODU2MTcwNzE3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQgb2YgdGhlIENvbmZpZ3VyYXRpb24gQ2xlYW51cCoqXG5cbk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgcHJldHR5IHN0cmFpZ2h0Zm9yd2FyZC4gSXQgbG9va3MgbGlrZSBhIGNsZWFudXAgb3BlcmF0aW9uLCBzcGVjaWZpY2FsbHkgdGFyZ2V0aW5nIHRoZSByZW1vdmFsIG9mIHRoZSBgQ09ORklHX0RFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVWAgZGVidWcgY29uZmlndXJhdGlvbiBvcHRpb24uIE15IGltbWVkaWF0ZSBpbXByZXNzaW9uIGlzIHRoYXQgdGhpcyAqc2hvdWxkbid0KiBpbnRyb2R1Y2UgYW55IGZ1bmN0aW9uYWwgcmVncmVzc2lvbnMgb3IgbmVjZXNzaXRhdGUgYW55IGZ1enppbmcgZWZmb3J0cy4gTGV0J3MgZGlnIGluIGFuZCBjb25maXJtIHRoYXQsIHRob3VnaC5cblxuRmlyc3QsIGl04oCZcyB5YW5rZWQgZnJvbSBhIGZldyBzcG90czogYGluY2x1ZGUvbGludXgvcGVyY3B1LWRlZnMuaGAsIGBpbmNsdWRlL3J2L2RhX21vbml0b3IuaGAsIGFuZCBgbGliL0tjb25maWcuZGVidWdgLiBJIG5lZWQgdG8gZW5zdXJlIHRoYXQgdGhlIHJlbW92YWwgaXMgY2xlYW4gYW5kIGRvZXNuJ3QgbGVhdmUgYW55IGRhbmdsaW5nIGRlcGVuZGVuY2llcyBvciBpbnRyb2R1Y2Ugc2VtYW50aWMgY2hhbmdlcy5cblxuTG9va2luZyBhdCBgaW5jbHVkZS9saW51eC9wZXJjcHUtZGVmcy5oYCwgdGhlIGNoYW5nZSBpcyBjbGVhcjogaXTigJlzIGp1c3QgcmVtb3ZpbmcgdGhlIGAjaWYgZGVmaW5lZChDT05GSUdfREVCVUdfRk9SQ0VfV0VBS19QRVJfQ1BVKWAgY29uZGl0aW9uIGZyb20gYSBtYWNybyBkZWZpbml0aW9uLiBObyBjb2RlIGlzIGJlaW5nIGFkZGVkLCBqdXN0IGEgY29uZGl0aW9uYWwgYnJhbmNoIGJlaW5nIHJlbW92ZWQuIFRoaXMgYWxpZ25zIHdpdGggYSBwdXJlIGNsZWFudXAuXG5cbmBpbmNsdWRlL3J2L2RhX21vbml0b3IuaGAgaXMganVzdCBhIGNvbW1lbnQgY2hhbmdlIHNvIG5vdGhpbmcgc2lnbmlmaWNhbnQgdGhlcmUuXG5cbkZpbmFsbHksIGluIGBsaWIvS2NvbmZpZy5kZWJ1Z2AsIGl0J3MgZHJvcHBpbmcgdGhlIGRlYnVnIG9wdGlvbiBpdHNlbGYgYW5kIHJlbW92aW5nIHRoZSBgZGVwZW5kcyBvbiAhREVCVUdfRk9SQ0VfV0VBS19QRVJfQ1BVYCBkZXBlbmRlbmN5IGZyb20gYE1FTV9BTExPQ19QUk9GSUxJTkdgLiBUaGlzIGlzIHByZWNpc2VseSB3aGF0IHRoZSBkZXNjcmlwdGlvbiBzdGF0ZXMgLSBhIGNsZWFuIHJlbW92YWwgb2YgdGhlIGRlYnVnZ2luZyBmZWF0dXJlIGFuZCBhbnkgY29uc3RyYWludHMgaXQgaW1wb3NlZC5cblxuR2l2ZW4gdGhpcyBhbmFseXNpcywgSSdtIGNvbmZpZGVudCB0aGF0IHRoaXMgcGF0Y2ggaXMgc29sZWx5IGEgcmVtb3ZhbCBvZiBhIGRlYnVnZ2luZyBjb25maWd1cmF0aW9uIG9wdGlvbiBhbmQgaXRzIGFzc29jaWF0ZWQgbG9naWMuIEl0IGRvZXNuJ3QgbW9kaWZ5IGV4ZWN1dGlvbiBmbG93LCBhZGQgbmV3IGZ1bmN0aW9uYWwgY29kZSwgb3IgY2hhbmdlIGFueSBjb3JlIGJlaGF2aW9yLiBUaGVyZWZvcmUsIHRoaXMgcGF0Y2ggaXMgKipub3Qgd29ydGggZnV6emluZy4qKlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNjc2LCJPdXRwdXRUb2tlbnMiOjgwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzcyLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTJUMjA6NDI6MTAuMDIxMjEyMjkzWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNzMwMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW10sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCByZW1vdmVzIHRoZSBDT05GSUdfREVCVUdfRk9SQ0VfV0VBS19QRVJfQ1BVIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGFuZCBpdHMgYXNzb2NpYXRlZCBsb2dpYyBmcm9tIEtjb25maWcgYW5kIGhlYWRlciBmaWxlcy4gSXQgZG9lcyBub3QgaW50cm9kdWNlIGFueSBuZXcgZnVuY3Rpb25hbCBsb2dpYyBvciBhbHRlciBleGVjdXRpb24gZmxvdyBpbiBhIHdheSB0aGF0IHJlcXVpcmVzIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCByZW1vdmVzIHRoZSBDT05GSUdfREVCVUdfRk9SQ0VfV0VBS19QRVJfQ1BVIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGFuZCBpdHMgYXNzb2NpYXRlZCBsb2dpYyBmcm9tIEtjb25maWcgYW5kIGhlYWRlciBmaWxlcy4gSXQgZG9lcyBub3QgaW50cm9kdWNlIGFueSBuZXcgZnVuY3Rpb25hbCBsb2dpYyBvciBhbHRlciBleGVjdXRpb24gZmxvdyBpbiBhIHdheSB0aGF0IHJlcXVpcmVzIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xMlQyMDo0MjoxMC4wMjEyMzMxMjNaIiwiU2VxIjo1LCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6IklmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjIzMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },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-workflowrxzvv[0].run-triage(0) Phase: Succeeded StartedAt: 2026-08-12 20:40:46 +0000 UTC FinishedAt: 2026-08-12 20:42:11 +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+CgkJCTx0ZD4yMDI2LzA4LzEyIDIwOjQyPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggcmVtb3ZlcyB0aGUgQ09ORklHX0RFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVSBjb25maWd1cmF0aW9uIG9wdGlvbiBhbmQgaXRzIGFzc29jaWF0ZWQgbG9naWMgZnJvbSBLY29uZmlnIGFuZCBoZWFkZXIgZmlsZXMuIEl0IGRvZXMgbm90IGludHJvZHVjZSBhbnkgbmV3IGZ1bmN0aW9uYWwgbG9naWMgb3IgYWx0ZXIgZXhlY3V0aW9uIGZsb3cgaW4gYSB3YXkgdGhhdCByZXF1aXJlcyBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xMiAyMDo0MjwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDlkMzhiOThmMDFjMjQ5MjI4MTZiNTcxNTg4ZjNlOTEzMmU2MzY1ZGJcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgV2VkIEF1ZyAxMiAyMDo0MTo1OSAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3BlcmNwdS1kZWZzLmggYi9pbmNsdWRlL2xpbnV4L3BlcmNwdS1kZWZzLmhcbmluZGV4IDQzYzg1NGEyNzNjM2EuLjBiZTRkMGYyM2YxZDAgMTAwNjQ0XG4tLS0gYS9pbmNsdWRlL2xpbnV4L3BlcmNwdS1kZWZzLmhcbiYjNDM7JiM0MzsmIzQzOyBiL2luY2x1ZGUvbGludXgvcGVyY3B1LWRlZnMuaFxuQEAgLTY1LDEzICYjNDM7NjUsOCBAQFxuICAqXG4gICogQXJjaHMgd2hpY2ggbmVlZCB3ZWFrIHBlcmNwdSBkZWZpbml0aW9ucyBzaG91bGQgc2V0XG4gICogQ09ORklHX0FSQ0hfTU9EVUxFX05FRURTX1dFQUtfUEVSX0NQVSB3aGVuIG5lY2Vzc2FyeS5cbi0gKlxuLSAqIFRvIGVuc3VyZSB0aGF0IHRoZSBnZW5lcmljIGNvZGUgb2JzZXJ2ZXMgdGhlIGFib3ZlIHR3b1xuLSAqIHJlc3RyaWN0aW9ucywgaWYgQ09ORklHX0RFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVSBpcyBzZXQgd2Vha1xuLSAqIGRlZmluaXRpb24gaXMgdXNlZCBmb3IgYWxsIGNhc2VzLlxuICAqL1xuLSNpZiAoZGVmaW5lZChDT05GSUdfQVJDSF9NT0RVTEVfTkVFRFNfV0VBS19QRVJfQ1BVKSBcdTAwMjZcdTAwMjYgZGVmaW5lZChNT0RVTEUpKSB8fCBcXFxuLVx0ZGVmaW5lZChDT05GSUdfREVCVUdfRk9SQ0VfV0VBS19QRVJfQ1BVKVxuJiM0MzsjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9NT0RVTEVfTkVFRFNfV0VBS19QRVJfQ1BVKSBcdTAwMjZcdTAwMjYgZGVmaW5lZChNT0RVTEUpXG4gLypcbiAgKiBfX3BjcHVfc2NvcGVfKiBkdW1teSB2YXJpYWJsZSBpcyB1c2VkIHRvIGVuZm9yY2Ugc2NvcGUuICBJdFxuICAqIHJlY2VpdmVzIHRoZSBzdGF0aWMgbW9kaWZpZXIgd2hlbiBpdCYjMzk7cyB1c2VkIGluIGZyb250IG9mXG5kaWZmIC0tZ2l0IGEvaW5jbHVkZS9ydi9kYV9tb25pdG9yLmggYi9pbmNsdWRlL3J2L2RhX21vbml0b3IuaFxuaW5kZXggMzRiOGZiYTllY2Q0NC4uNmI2NDE2OTcxMDZiZiAxMDA2NDRcbi0tLSBhL2luY2x1ZGUvcnYvZGFfbW9uaXRvci5oXG4mIzQzOyYjNDM7JiM0MzsgYi9pbmNsdWRlL3J2L2RhX21vbml0b3IuaFxuQEAgLTI0LDcgJiM0MzsyNCw3IEBAXG4gXG4gLypcbiAgKiBQZXItY3B1IHZhcmlhYmxlcyByZXF1aXJlIGEgdW5pcXVlIG5hbWUgYWx0aG91Z2ggc3RhdGljIGluIHNvbWVcbi0gKiBjb25maWd1cmF0aW9ucyAoZS5nLiBDT05GSUdfREVCVUdfRk9SQ0VfV0VBS19QRVJfQ1BVIG9yIGFscGhhIG1vZHVsZXMpLlxuJiM0MzsgKiBjb25maWd1cmF0aW9ucyAoZS5nLiBhbHBoYSBtb2R1bGVzKS5cbiAgKi9cbiAjZGVmaW5lIERBX01PTl9OQU1FIENPTkNBVEVOQVRFKGRhX21vbl8sIE1PTklUT1JfTkFNRSlcbiBcbmRpZmYgLS1naXQgYS9saWIvS2NvbmZpZy5kZWJ1ZyBiL2xpYi9LY29uZmlnLmRlYnVnXG5pbmRleCAxMjQ0ZGNhYzIyOTRhLi4yNmM4YjE5ZDA3OTU4IDEwMDY0NFxuLS0tIGEvbGliL0tjb25maWcuZGVidWdcbiYjNDM7JiM0MzsmIzQzOyBiL2xpYi9LY29uZmlnLmRlYnVnXG5AQCAtNjEzLDIxICYjNDM7NjEzLDYgQEAgY29uZmlnIEJVSUxUSU5fTU9EVUxFX1JBTkdFU1xuIFx0IEl0IGFsc28gcmVjb3JkcyBhbiBhbmNob3Igc3ltYm9sIHRvIGRldGVybWluZSB0aGUgbG9hZCBhZGRyZXNzIG9mIHRoZVxuIFx0IHNlY3Rpb24uXG4gXG4tY29uZmlnIERFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVVxuLVx0Ym9vbCBcJiMzNDtGb3JjZSB3ZWFrIHBlci1jcHUgZGVmaW5pdGlvbnNcJiMzNDtcbi1cdGRlcGVuZHMgb24gREVCVUdfS0VSTkVMXG4tXHRoZWxwXG4tXHQgIHMzOTAgYW5kIGFscGhhIHJlcXVpcmUgcGVyY3B1IHZhcmlhYmxlcyBpbiBtb2R1bGVzIHRvIGJlXG4tXHQgIGRlZmluZWQgd2VhayB0byB3b3JrIGFyb3VuZCBhZGRyZXNzaW5nIHJhbmdlIGlzc3VlIHdoaWNoXG4tXHQgIHB1dHMgdGhlIGZvbGxvd2luZyB0d28gcmVzdHJpY3Rpb25zIG9uIHBlcmNwdSB2YXJpYWJsZVxuLVx0ICBkZWZpbml0aW9ucy5cbi1cbi1cdCAgMS4gcGVyY3B1IHN5bWJvbHMgbXVzdCBiZSB1bmlxdWUgd2hldGhlciBzdGF0aWMgb3Igbm90XG4tXHQgIDIuIHBlcmNwdSB2YXJpYWJsZXMgY2FuJiMzOTt0IGJlIGRlZmluZWQgaW5zaWRlIGEgZnVuY3Rpb25cbi1cbi1cdCAgVG8gZW5zdXJlIHRoYXQgZ2VuZXJpYyBjb2RlIGZvbGxvd3MgdGhlIGFib3ZlIHJ1bGVzLCB0aGlzXG4tXHQgIG9wdGlvbiBmb3JjZXMgYWxsIHBlcmNwdSB2YXJpYWJsZXMgdG8gYmUgZGVmaW5lZCBhcyB3ZWFrLlxuLVxuIGNvbmZpZyBXQVJOX0NPTlRFWFRfQU5BTFlTSVNcbiBcdGJvb2wgXCYjMzQ7Q29tcGlsZXIgY29udGV4dC1hbmFseXNpcyB3YXJuaW5nc1wmIzM0O1xuIFx0ZGVwZW5kcyBvbiBDQ19JU19DTEFORyBcdTAwMjZcdTAwMjYgQ0xBTkdfVkVSU0lPTiBcdTAwM2U9IDIzMDAwMFxuQEAgLTEwNTMsNyAmIzQzOzEwMzgsNiBAQCBjb25maWcgTUVNX0FMTE9DX1BST0ZJTElOR1xuIFx0ZGVmYXVsdCBuXG4gXHRkZXBlbmRzIG9uIE1NVVxuIFx0ZGVwZW5kcyBvbiBQUk9DX0ZTXG4tXHRkZXBlbmRzIG9uICFERUJVR19GT1JDRV9XRUFLX1BFUl9DUFVcbiBcdHNlbGVjdCBDT0RFX1RBR0dJTkdcbiBcdHNlbGVjdCBQQUdFX0VYVEVOU0lPTlxuIFx0c2VsZWN0IFNMQUJfT0JKX0VYVFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzEyIDIwOjQyPC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmJlc3QtZXhwZW5zaXZlPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCByZW1vdmVzIHRoZSBDT05GSUdfREVCVUdfRk9SQ0VfV0VBS19QRVJfQ1BVIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGFuZCBpdHMgYXNzb2NpYXRlZCBsb2dpYyBmcm9tIEtjb25maWcgYW5kIGhlYWRlciBmaWxlcy4gSXQgZG9lcyBub3QgaW50cm9kdWNlIGFueSBuZXcgZnVuY3Rpb25hbCBsb2dpYyBvciBhbHRlciBleGVjdXRpb24gZmxvdyBpbiBhIHdheSB0aGF0IHJlcXVpcmVzIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgotIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpCiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zCiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBBbHNvIGNoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncwogICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3MKICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgOWQzOGI5OGYwMWMyNDkyMjgxNmI1NzE1ODhmM2U5MTMyZTYzNjVkYgpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBXZWQgQXVnIDEyIDIwOjQxOjU5IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9wZXJjcHUtZGVmcy5oIGIvaW5jbHVkZS9saW51eC9wZXJjcHUtZGVmcy5oCmluZGV4IDQzYzg1NGEyNzNjM2EuLjBiZTRkMGYyM2YxZDAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvcGVyY3B1LWRlZnMuaAomIzQzOyYjNDM7JiM0MzsgYi9pbmNsdWRlL2xpbnV4L3BlcmNwdS1kZWZzLmgKQEAgLTY1LDEzICYjNDM7NjUsOCBAQAogICoKICAqIEFyY2hzIHdoaWNoIG5lZWQgd2VhayBwZXJjcHUgZGVmaW5pdGlvbnMgc2hvdWxkIHNldAogICogQ09ORklHX0FSQ0hfTU9EVUxFX05FRURTX1dFQUtfUEVSX0NQVSB3aGVuIG5lY2Vzc2FyeS4KLSAqCi0gKiBUbyBlbnN1cmUgdGhhdCB0aGUgZ2VuZXJpYyBjb2RlIG9ic2VydmVzIHRoZSBhYm92ZSB0d28KLSAqIHJlc3RyaWN0aW9ucywgaWYgQ09ORklHX0RFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVSBpcyBzZXQgd2VhawotICogZGVmaW5pdGlvbiBpcyB1c2VkIGZvciBhbGwgY2FzZXMuCiAgKi8KLSNpZiAoZGVmaW5lZChDT05GSUdfQVJDSF9NT0RVTEVfTkVFRFNfV0VBS19QRVJfQ1BVKSAmYW1wOyZhbXA7IGRlZmluZWQoTU9EVUxFKSkgfHwgXAotCWRlZmluZWQoQ09ORklHX0RFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVSkKJiM0MzsjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9NT0RVTEVfTkVFRFNfV0VBS19QRVJfQ1BVKSAmYW1wOyZhbXA7IGRlZmluZWQoTU9EVUxFKQogLyoKICAqIF9fcGNwdV9zY29wZV8qIGR1bW15IHZhcmlhYmxlIGlzIHVzZWQgdG8gZW5mb3JjZSBzY29wZS4gIEl0CiAgKiByZWNlaXZlcyB0aGUgc3RhdGljIG1vZGlmaWVyIHdoZW4gaXQmIzM5O3MgdXNlZCBpbiBmcm9udCBvZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ydi9kYV9tb25pdG9yLmggYi9pbmNsdWRlL3J2L2RhX21vbml0b3IuaAppbmRleCAzNGI4ZmJhOWVjZDQ0Li42YjY0MTY5NzEwNmJmIDEwMDY0NAotLS0gYS9pbmNsdWRlL3J2L2RhX21vbml0b3IuaAomIzQzOyYjNDM7JiM0MzsgYi9pbmNsdWRlL3J2L2RhX21vbml0b3IuaApAQCAtMjQsNyAmIzQzOzI0LDcgQEAKIAogLyoKICAqIFBlci1jcHUgdmFyaWFibGVzIHJlcXVpcmUgYSB1bmlxdWUgbmFtZSBhbHRob3VnaCBzdGF0aWMgaW4gc29tZQotICogY29uZmlndXJhdGlvbnMgKGUuZy4gQ09ORklHX0RFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVSBvciBhbHBoYSBtb2R1bGVzKS4KJiM0MzsgKiBjb25maWd1cmF0aW9ucyAoZS5nLiBhbHBoYSBtb2R1bGVzKS4KICAqLwogI2RlZmluZSBEQV9NT05fTkFNRSBDT05DQVRFTkFURShkYV9tb25fLCBNT05JVE9SX05BTUUpCiAKZGlmZiAtLWdpdCBhL2xpYi9LY29uZmlnLmRlYnVnIGIvbGliL0tjb25maWcuZGVidWcKaW5kZXggMTI0NGRjYWMyMjk0YS4uMjZjOGIxOWQwNzk1OCAxMDA2NDQKLS0tIGEvbGliL0tjb25maWcuZGVidWcKJiM0MzsmIzQzOyYjNDM7IGIvbGliL0tjb25maWcuZGVidWcKQEAgLTYxMywyMSAmIzQzOzYxMyw2IEBAIGNvbmZpZyBCVUlMVElOX01PRFVMRV9SQU5HRVMKIAkgSXQgYWxzbyByZWNvcmRzIGFuIGFuY2hvciBzeW1ib2wgdG8gZGV0ZXJtaW5lIHRoZSBsb2FkIGFkZHJlc3Mgb2YgdGhlCiAJIHNlY3Rpb24uCiAKLWNvbmZpZyBERUJVR19GT1JDRV9XRUFLX1BFUl9DUFUKLQlib29sICYjMzQ7Rm9yY2Ugd2VhayBwZXItY3B1IGRlZmluaXRpb25zJiMzNDsKLQlkZXBlbmRzIG9uIERFQlVHX0tFUk5FTAotCWhlbHAKLQkgIHMzOTAgYW5kIGFscGhhIHJlcXVpcmUgcGVyY3B1IHZhcmlhYmxlcyBpbiBtb2R1bGVzIHRvIGJlCi0JICBkZWZpbmVkIHdlYWsgdG8gd29yayBhcm91bmQgYWRkcmVzc2luZyByYW5nZSBpc3N1ZSB3aGljaAotCSAgcHV0cyB0aGUgZm9sbG93aW5nIHR3byByZXN0cmljdGlvbnMgb24gcGVyY3B1IHZhcmlhYmxlCi0JICBkZWZpbml0aW9ucy4KLQotCSAgMS4gcGVyY3B1IHN5bWJvbHMgbXVzdCBiZSB1bmlxdWUgd2hldGhlciBzdGF0aWMgb3Igbm90Ci0JICAyLiBwZXJjcHUgdmFyaWFibGVzIGNhbiYjMzk7dCBiZSBkZWZpbmVkIGluc2lkZSBhIGZ1bmN0aW9uCi0KLQkgIFRvIGVuc3VyZSB0aGF0IGdlbmVyaWMgY29kZSBmb2xsb3dzIHRoZSBhYm92ZSBydWxlcywgdGhpcwotCSAgb3B0aW9uIGZvcmNlcyBhbGwgcGVyY3B1IHZhcmlhYmxlcyB0byBiZSBkZWZpbmVkIGFzIHdlYWsuCi0KIGNvbmZpZyBXQVJOX0NPTlRFWFRfQU5BTFlTSVMKIAlib29sICYjMzQ7Q29tcGlsZXIgY29udGV4dC1hbmFseXNpcyB3YXJuaW5ncyYjMzQ7CiAJZGVwZW5kcyBvbiBDQ19JU19DTEFORyAmYW1wOyZhbXA7IENMQU5HX1ZFUlNJT04gJmd0Oz0gMjMwMDAwCkBAIC0xMDUzLDcgJiM0MzsxMDM4LDYgQEAgY29uZmlnIE1FTV9BTExPQ19QUk9GSUxJTkcKIAlkZWZhdWx0IG4KIAlkZXBlbmRzIG9uIE1NVQogCWRlcGVuZHMgb24gUFJPQ19GUwotCWRlcGVuZHMgb24gIURFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVQogCXNlbGVjdCBDT0RFX1RBR0dJTkcKIAlzZWxlY3QgUEFHRV9FWFRFTlNJT04KIAlzZWxlY3QgU0xBQl9PQkpfRVhUCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzEyIDIwOjQyPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI2NzYKCQkJCQkJCW91dHB1dDogODAKCQkJCQkJCXRob3VnaHRzOiAzNzIKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqTXkgQXNzZXNzbWVudCBvZiB0aGUgQ29uZmlndXJhdGlvbiBDbGVhbnVwKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgcHJldHR5IHN0cmFpZ2h0Zm9yd2FyZC4gSXQgbG9va3MgbGlrZSBhIGNsZWFudXAgb3BlcmF0aW9uLCBzcGVjaWZpY2FsbHkgdGFyZ2V0aW5nIHRoZSByZW1vdmFsIG9mIHRoZSBgQ09ORklHX0RFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVWAgZGVidWcgY29uZmlndXJhdGlvbiBvcHRpb24uIE15IGltbWVkaWF0ZSBpbXByZXNzaW9uIGlzIHRoYXQgdGhpcyAqc2hvdWxkbiYjMzk7dCogaW50cm9kdWNlIGFueSBmdW5jdGlvbmFsIHJlZ3Jlc3Npb25zIG9yIG5lY2Vzc2l0YXRlIGFueSBmdXp6aW5nIGVmZm9ydHMuIExldCYjMzk7cyBkaWcgaW4gYW5kIGNvbmZpcm0gdGhhdCwgdGhvdWdoLgoKRmlyc3QsIGl04oCZcyB5YW5rZWQgZnJvbSBhIGZldyBzcG90czogYGluY2x1ZGUvbGludXgvcGVyY3B1LWRlZnMuaGAsIGBpbmNsdWRlL3J2L2RhX21vbml0b3IuaGAsIGFuZCBgbGliL0tjb25maWcuZGVidWdgLiBJIG5lZWQgdG8gZW5zdXJlIHRoYXQgdGhlIHJlbW92YWwgaXMgY2xlYW4gYW5kIGRvZXNuJiMzOTt0IGxlYXZlIGFueSBkYW5nbGluZyBkZXBlbmRlbmNpZXMgb3IgaW50cm9kdWNlIHNlbWFudGljIGNoYW5nZXMuCgpMb29raW5nIGF0IGBpbmNsdWRlL2xpbnV4L3BlcmNwdS1kZWZzLmhgLCB0aGUgY2hhbmdlIGlzIGNsZWFyOiBpdOKAmXMganVzdCByZW1vdmluZyB0aGUgYCNpZiBkZWZpbmVkKENPTkZJR19ERUJVR19GT1JDRV9XRUFLX1BFUl9DUFUpYCBjb25kaXRpb24gZnJvbSBhIG1hY3JvIGRlZmluaXRpb24uIE5vIGNvZGUgaXMgYmVpbmcgYWRkZWQsIGp1c3QgYSBjb25kaXRpb25hbCBicmFuY2ggYmVpbmcgcmVtb3ZlZC4gVGhpcyBhbGlnbnMgd2l0aCBhIHB1cmUgY2xlYW51cC4KCmBpbmNsdWRlL3J2L2RhX21vbml0b3IuaGAgaXMganVzdCBhIGNvbW1lbnQgY2hhbmdlIHNvIG5vdGhpbmcgc2lnbmlmaWNhbnQgdGhlcmUuCgpGaW5hbGx5LCBpbiBgbGliL0tjb25maWcuZGVidWdgLCBpdCYjMzk7cyBkcm9wcGluZyB0aGUgZGVidWcgb3B0aW9uIGl0c2VsZiBhbmQgcmVtb3ZpbmcgdGhlIGBkZXBlbmRzIG9uICFERUJVR19GT1JDRV9XRUFLX1BFUl9DUFVgIGRlcGVuZGVuY3kgZnJvbSBgTUVNX0FMTE9DX1BST0ZJTElOR2AuIFRoaXMgaXMgcHJlY2lzZWx5IHdoYXQgdGhlIGRlc2NyaXB0aW9uIHN0YXRlcyAtIGEgY2xlYW4gcmVtb3ZhbCBvZiB0aGUgZGVidWdnaW5nIGZlYXR1cmUgYW5kIGFueSBjb25zdHJhaW50cyBpdCBpbXBvc2VkLgoKR2l2ZW4gdGhpcyBhbmFseXNpcywgSSYjMzk7bSBjb25maWRlbnQgdGhhdCB0aGlzIHBhdGNoIGlzIHNvbGVseSBhIHJlbW92YWwgb2YgYSBkZWJ1Z2dpbmcgY29uZmlndXJhdGlvbiBvcHRpb24gYW5kIGl0cyBhc3NvY2lhdGVkIGxvZ2ljLiBJdCBkb2VzbiYjMzk7dCBtb2RpZnkgZXhlY3V0aW9uIGZsb3csIGFkZCBuZXcgZnVuY3Rpb25hbCBjb2RlLCBvciBjaGFuZ2UgYW55IGNvcmUgYmVoYXZpb3IuIFRoZXJlZm9yZSwgdGhpcyBwYXRjaCBpcyAqKm5vdCB3b3J0aCBmdXp6aW5nLioqCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTIgMjA6NDI8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCByZW1vdmVzIHRoZSBDT05GSUdfREVCVUdfRk9SQ0VfV0VBS19QRVJfQ1BVIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGFuZCBpdHMgYXNzb2NpYXRlZCBsb2dpYyBmcm9tIEtjb25maWcgYW5kIGhlYWRlciBmaWxlcy4gSXQgZG9lcyBub3QgaW50cm9kdWNlIGFueSBuZXcgZnVuY3Rpb25hbCBsb2dpYyBvciBhbHRlciBleGVjdXRpb24gZmxvdyBpbiBhIHdheSB0aGF0IHJlcXVpcmVzIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCByZW1vdmVzIHRoZSBDT05GSUdfREVCVUdfRk9SQ0VfV0VBS19QRVJfQ1BVIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGFuZCBpdHMgYXNzb2NpYXRlZCBsb2dpYyBmcm9tIEtjb25maWcgYW5kIGhlYWRlciBmaWxlcy4gSXQgZG9lcyBub3QgaW50cm9kdWNlIGFueSBuZXcgZnVuY3Rpb25hbCBsb2dpYyBvciBhbHRlciBleGVjdXRpb24gZmxvdyBpbiBhIHdheSB0aGF0IHJlcXVpcmVzIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzEyIDIwOjQyPC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5JZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wOC0xMlQyMDo0MjowMC43NTQzNTQ2NDdaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo5MjY2ODg3MTY2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIktNU0FOUmVhc29uaW5nXCI6IFwiXCIsXG4gIFwiTmVlZHNLTVNBTlwiOiBmYWxzZSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggcmVtb3ZlcyB0aGUgQ09ORklHX0RFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVSBjb25maWd1cmF0aW9uIG9wdGlvbiBhbmQgaXRzIGFzc29jaWF0ZWQgbG9naWMgZnJvbSBLY29uZmlnIGFuZCBoZWFkZXIgZmlsZXMuIEl0IGRvZXMgbm90IGludHJvZHVjZSBhbnkgbmV3IGZ1bmN0aW9uYWwgbG9naWMgb3IgYWx0ZXIgZXhlY3V0aW9uIGZsb3cgaW4gYSB3YXkgdGhhdCByZXF1aXJlcyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTJUMjA6NDI6MDAuNzU0MzYxMzA3WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0MDk5NTI4NzgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCA5ZDM4Yjk4ZjAxYzI0OTIyODE2YjU3MTU4OGYzZTkxMzJlNjM2NWRiXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBXZWQgQXVnIDEyIDIwOjQxOjU5IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcGVyY3B1LWRlZnMuaCBiL2luY2x1ZGUvbGludXgvcGVyY3B1LWRlZnMuaFxcbmluZGV4IDQzYzg1NGEyNzNjM2EuLjBiZTRkMGYyM2YxZDAgMTAwNjQ0XFxuLS0tIGEvaW5jbHVkZS9saW51eC9wZXJjcHUtZGVmcy5oXFxuKysrIGIvaW5jbHVkZS9saW51eC9wZXJjcHUtZGVmcy5oXFxuQEAgLTY1LDEzICs2NSw4IEBAXFxuICAqXFxuICAqIEFyY2hzIHdoaWNoIG5lZWQgd2VhayBwZXJjcHUgZGVmaW5pdGlvbnMgc2hvdWxkIHNldFxcbiAgKiBDT05GSUdfQVJDSF9NT0RVTEVfTkVFRFNfV0VBS19QRVJfQ1BVIHdoZW4gbmVjZXNzYXJ5Llxcbi0gKlxcbi0gKiBUbyBlbnN1cmUgdGhhdCB0aGUgZ2VuZXJpYyBjb2RlIG9ic2VydmVzIHRoZSBhYm92ZSB0d29cXG4tICogcmVzdHJpY3Rpb25zLCBpZiBDT05GSUdfREVCVUdfRk9SQ0VfV0VBS19QRVJfQ1BVIGlzIHNldCB3ZWFrXFxuLSAqIGRlZmluaXRpb24gaXMgdXNlZCBmb3IgYWxsIGNhc2VzLlxcbiAgKi9cXG4tI2lmIChkZWZpbmVkKENPTkZJR19BUkNIX01PRFVMRV9ORUVEU19XRUFLX1BFUl9DUFUpIFxcdTAwMjZcXHUwMDI2IGRlZmluZWQoTU9EVUxFKSkgfHwgXFxcXFxcbi1cXHRkZWZpbmVkKENPTkZJR19ERUJVR19GT1JDRV9XRUFLX1BFUl9DUFUpXFxuKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX01PRFVMRV9ORUVEU19XRUFLX1BFUl9DUFUpIFxcdTAwMjZcXHUwMDI2IGRlZmluZWQoTU9EVUxFKVxcbiAvKlxcbiAgKiBfX3BjcHVfc2NvcGVfKiBkdW1teSB2YXJpYWJsZSBpcyB1c2VkIHRvIGVuZm9yY2Ugc2NvcGUuICBJdFxcbiAgKiByZWNlaXZlcyB0aGUgc3RhdGljIG1vZGlmaWVyIHdoZW4gaXQncyB1c2VkIGluIGZyb250IG9mXFxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvcnYvZGFfbW9uaXRvci5oIGIvaW5jbHVkZS9ydi9kYV9tb25pdG9yLmhcXG5pbmRleCAzNGI4ZmJhOWVjZDQ0Li42YjY0MTY5NzEwNmJmIDEwMDY0NFxcbi0tLSBhL2luY2x1ZGUvcnYvZGFfbW9uaXRvci5oXFxuKysrIGIvaW5jbHVkZS9ydi9kYV9tb25pdG9yLmhcXG5AQCAtMjQsNyArMjQsNyBAQFxcbiBcXG4gLypcXG4gICogUGVyLWNwdSB2YXJpYWJsZXMgcmVxdWlyZSBhIHVuaXF1ZSBuYW1lIGFsdGhvdWdoIHN0YXRpYyBpbiBzb21lXFxuLSAqIGNvbmZpZ3VyYXRpb25zIChlLmcuIENPTkZJR19ERUJVR19GT1JDRV9XRUFLX1BFUl9DUFUgb3IgYWxwaGEgbW9kdWxlcykuXFxuKyAqIGNvbmZpZ3VyYXRpb25zIChlLmcuIGFscGhhIG1vZHVsZXMpLlxcbiAgKi9cXG4gI2RlZmluZSBEQV9NT05fTkFNRSBDT05DQVRFTkFURShkYV9tb25fLCBNT05JVE9SX05BTUUpXFxuIFxcbmRpZmYgLS1naXQgYS9saWIvS2NvbmZpZy5kZWJ1ZyBiL2xpYi9LY29uZmlnLmRlYnVnXFxuaW5kZXggMTI0NGRjYWMyMjk0YS4uMjZjOGIxOWQwNzk1OCAxMDA2NDRcXG4tLS0gYS9saWIvS2NvbmZpZy5kZWJ1Z1xcbisrKyBiL2xpYi9LY29uZmlnLmRlYnVnXFxuQEAgLTYxMywyMSArNjEzLDYgQEAgY29uZmlnIEJVSUxUSU5fTU9EVUxFX1JBTkdFU1xcbiBcXHQgSXQgYWxzbyByZWNvcmRzIGFuIGFuY2hvciBzeW1ib2wgdG8gZGV0ZXJtaW5lIHRoZSBsb2FkIGFkZHJlc3Mgb2YgdGhlXFxuIFxcdCBzZWN0aW9uLlxcbiBcXG4tY29uZmlnIERFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVVxcbi1cXHRib29sIFxcXCJGb3JjZSB3ZWFrIHBlci1jcHUgZGVmaW5pdGlvbnNcXFwiXFxuLVxcdGRlcGVuZHMgb24gREVCVUdfS0VSTkVMXFxuLVxcdGhlbHBcXG4tXFx0ICBzMzkwIGFuZCBhbHBoYSByZXF1aXJlIHBlcmNwdSB2YXJpYWJsZXMgaW4gbW9kdWxlcyB0byBiZVxcbi1cXHQgIGRlZmluZWQgd2VhayB0byB3b3JrIGFyb3VuZCBhZGRyZXNzaW5nIHJhbmdlIGlzc3VlIHdoaWNoXFxuLVxcdCAgcHV0cyB0aGUgZm9sbG93aW5nIHR3byByZXN0cmljdGlvbnMgb24gcGVyY3B1IHZhcmlhYmxlXFxuLVxcdCAgZGVmaW5pdGlvbnMuXFxuLVxcbi1cXHQgIDEuIHBlcmNwdSBzeW1ib2xzIG11c3QgYmUgdW5pcXVlIHdoZXRoZXIgc3RhdGljIG9yIG5vdFxcbi1cXHQgIDIuIHBlcmNwdSB2YXJpYWJsZXMgY2FuJ3QgYmUgZGVmaW5lZCBpbnNpZGUgYSBmdW5jdGlvblxcbi1cXG4tXFx0ICBUbyBlbnN1cmUgdGhhdCBnZW5lcmljIGNvZGUgZm9sbG93cyB0aGUgYWJvdmUgcnVsZXMsIHRoaXNcXG4tXFx0ICBvcHRpb24gZm9yY2VzIGFsbCBwZXJjcHUgdmFyaWFibGVzIHRvIGJlIGRlZmluZWQgYXMgd2Vhay5cXG4tXFxuIGNvbmZpZyBXQVJOX0NPTlRFWFRfQU5BTFlTSVNcXG4gXFx0Ym9vbCBcXFwiQ29tcGlsZXIgY29udGV4dC1hbmFseXNpcyB3YXJuaW5nc1xcXCJcXG4gXFx0ZGVwZW5kcyBvbiBDQ19JU19DTEFORyBcXHUwMDI2XFx1MDAyNiBDTEFOR19WRVJTSU9OIFxcdTAwM2U9IDIzMDAwMFxcbkBAIC0xMDUzLDcgKzEwMzgsNiBAQCBjb25maWcgTUVNX0FMTE9DX1BST0ZJTElOR1xcbiBcXHRkZWZhdWx0IG5cXG4gXFx0ZGVwZW5kcyBvbiBNTVVcXG4gXFx0ZGVwZW5kcyBvbiBQUk9DX0ZTXFxuLVxcdGRlcGVuZHMgb24gIURFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVVxcbiBcXHRzZWxlY3QgQ09ERV9UQUdHSU5HXFxuIFxcdHNlbGVjdCBQQUdFX0VYVEVOU0lPTlxcbiBcXHRzZWxlY3QgU0xBQl9PQkpfRVhUXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTEyVDIwOjQyOjAxLjE2NTAzNjg0NloiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImJlc3QtZXhwZW5zaXZlIiwiRHVyYXRpb24iOjg4NTYxOTQyMjcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIHJlbW92ZXMgdGhlIENPTkZJR19ERUJVR19GT1JDRV9XRUFLX1BFUl9DUFUgY29uZmlndXJhdGlvbiBvcHRpb24gYW5kIGl0cyBhc3NvY2lhdGVkIGxvZ2ljIGZyb20gS2NvbmZpZyBhbmQgaGVhZGVyIGZpbGVzLiBJdCBkb2VzIG5vdCBpbnRyb2R1Y2UgYW55IG5ldyBmdW5jdGlvbmFsIGxvZ2ljIG9yIGFsdGVyIGV4ZWN1dGlvbiBmbG93IGluIGEgd2F5IHRoYXQgcmVxdWlyZXMgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCxcbiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXG4tIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpXG4gIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zXG4gICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgQWxzbyBjaGVjayBcImRlcGVuZHMgb25cIiBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3NcbiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlnc1xuICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDlkMzhiOThmMDFjMjQ5MjI4MTZiNTcxNTg4ZjNlOTEzMmU2MzY1ZGJcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgV2VkIEF1ZyAxMiAyMDo0MTo1OSAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcGVyY3B1LWRlZnMuaCBiL2luY2x1ZGUvbGludXgvcGVyY3B1LWRlZnMuaFxuaW5kZXggNDNjODU0YTI3M2MzYS4uMGJlNGQwZjIzZjFkMCAxMDA2NDRcbi0tLSBhL2luY2x1ZGUvbGludXgvcGVyY3B1LWRlZnMuaFxuKysrIGIvaW5jbHVkZS9saW51eC9wZXJjcHUtZGVmcy5oXG5AQCAtNjUsMTMgKzY1LDggQEBcbiAgKlxuICAqIEFyY2hzIHdoaWNoIG5lZWQgd2VhayBwZXJjcHUgZGVmaW5pdGlvbnMgc2hvdWxkIHNldFxuICAqIENPTkZJR19BUkNIX01PRFVMRV9ORUVEU19XRUFLX1BFUl9DUFUgd2hlbiBuZWNlc3NhcnkuXG4tICpcbi0gKiBUbyBlbnN1cmUgdGhhdCB0aGUgZ2VuZXJpYyBjb2RlIG9ic2VydmVzIHRoZSBhYm92ZSB0d29cbi0gKiByZXN0cmljdGlvbnMsIGlmIENPTkZJR19ERUJVR19GT1JDRV9XRUFLX1BFUl9DUFUgaXMgc2V0IHdlYWtcbi0gKiBkZWZpbml0aW9uIGlzIHVzZWQgZm9yIGFsbCBjYXNlcy5cbiAgKi9cbi0jaWYgKGRlZmluZWQoQ09ORklHX0FSQ0hfTU9EVUxFX05FRURTX1dFQUtfUEVSX0NQVSkgXHUwMDI2XHUwMDI2IGRlZmluZWQoTU9EVUxFKSkgfHwgXFxcbi1cdGRlZmluZWQoQ09ORklHX0RFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVSlcbisjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9NT0RVTEVfTkVFRFNfV0VBS19QRVJfQ1BVKSBcdTAwMjZcdTAwMjYgZGVmaW5lZChNT0RVTEUpXG4gLypcbiAgKiBfX3BjcHVfc2NvcGVfKiBkdW1teSB2YXJpYWJsZSBpcyB1c2VkIHRvIGVuZm9yY2Ugc2NvcGUuICBJdFxuICAqIHJlY2VpdmVzIHRoZSBzdGF0aWMgbW9kaWZpZXIgd2hlbiBpdCdzIHVzZWQgaW4gZnJvbnQgb2ZcbmRpZmYgLS1naXQgYS9pbmNsdWRlL3J2L2RhX21vbml0b3IuaCBiL2luY2x1ZGUvcnYvZGFfbW9uaXRvci5oXG5pbmRleCAzNGI4ZmJhOWVjZDQ0Li42YjY0MTY5NzEwNmJmIDEwMDY0NFxuLS0tIGEvaW5jbHVkZS9ydi9kYV9tb25pdG9yLmhcbisrKyBiL2luY2x1ZGUvcnYvZGFfbW9uaXRvci5oXG5AQCAtMjQsNyArMjQsNyBAQFxuIFxuIC8qXG4gICogUGVyLWNwdSB2YXJpYWJsZXMgcmVxdWlyZSBhIHVuaXF1ZSBuYW1lIGFsdGhvdWdoIHN0YXRpYyBpbiBzb21lXG4tICogY29uZmlndXJhdGlvbnMgKGUuZy4gQ09ORklHX0RFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVSBvciBhbHBoYSBtb2R1bGVzKS5cbisgKiBjb25maWd1cmF0aW9ucyAoZS5nLiBhbHBoYSBtb2R1bGVzKS5cbiAgKi9cbiAjZGVmaW5lIERBX01PTl9OQU1FIENPTkNBVEVOQVRFKGRhX21vbl8sIE1PTklUT1JfTkFNRSlcbiBcbmRpZmYgLS1naXQgYS9saWIvS2NvbmZpZy5kZWJ1ZyBiL2xpYi9LY29uZmlnLmRlYnVnXG5pbmRleCAxMjQ0ZGNhYzIyOTRhLi4yNmM4YjE5ZDA3OTU4IDEwMDY0NFxuLS0tIGEvbGliL0tjb25maWcuZGVidWdcbisrKyBiL2xpYi9LY29uZmlnLmRlYnVnXG5AQCAtNjEzLDIxICs2MTMsNiBAQCBjb25maWcgQlVJTFRJTl9NT0RVTEVfUkFOR0VTXG4gXHQgSXQgYWxzbyByZWNvcmRzIGFuIGFuY2hvciBzeW1ib2wgdG8gZGV0ZXJtaW5lIHRoZSBsb2FkIGFkZHJlc3Mgb2YgdGhlXG4gXHQgc2VjdGlvbi5cbiBcbi1jb25maWcgREVCVUdfRk9SQ0VfV0VBS19QRVJfQ1BVXG4tXHRib29sIFwiRm9yY2Ugd2VhayBwZXItY3B1IGRlZmluaXRpb25zXCJcbi1cdGRlcGVuZHMgb24gREVCVUdfS0VSTkVMXG4tXHRoZWxwXG4tXHQgIHMzOTAgYW5kIGFscGhhIHJlcXVpcmUgcGVyY3B1IHZhcmlhYmxlcyBpbiBtb2R1bGVzIHRvIGJlXG4tXHQgIGRlZmluZWQgd2VhayB0byB3b3JrIGFyb3VuZCBhZGRyZXNzaW5nIHJhbmdlIGlzc3VlIHdoaWNoXG4tXHQgIHB1dHMgdGhlIGZvbGxvd2luZyB0d28gcmVzdHJpY3Rpb25zIG9uIHBlcmNwdSB2YXJpYWJsZVxuLVx0ICBkZWZpbml0aW9ucy5cbi1cbi1cdCAgMS4gcGVyY3B1IHN5bWJvbHMgbXVzdCBiZSB1bmlxdWUgd2hldGhlciBzdGF0aWMgb3Igbm90XG4tXHQgIDIuIHBlcmNwdSB2YXJpYWJsZXMgY2FuJ3QgYmUgZGVmaW5lZCBpbnNpZGUgYSBmdW5jdGlvblxuLVxuLVx0ICBUbyBlbnN1cmUgdGhhdCBnZW5lcmljIGNvZGUgZm9sbG93cyB0aGUgYWJvdmUgcnVsZXMsIHRoaXNcbi1cdCAgb3B0aW9uIGZvcmNlcyBhbGwgcGVyY3B1IHZhcmlhYmxlcyB0byBiZSBkZWZpbmVkIGFzIHdlYWsuXG4tXG4gY29uZmlnIFdBUk5fQ09OVEVYVF9BTkFMWVNJU1xuIFx0Ym9vbCBcIkNvbXBpbGVyIGNvbnRleHQtYW5hbHlzaXMgd2FybmluZ3NcIlxuIFx0ZGVwZW5kcyBvbiBDQ19JU19DTEFORyBcdTAwMjZcdTAwMjYgQ0xBTkdfVkVSU0lPTiBcdTAwM2U9IDIzMDAwMFxuQEAgLTEwNTMsNyArMTAzOCw2IEBAIGNvbmZpZyBNRU1fQUxMT0NfUFJPRklMSU5HXG4gXHRkZWZhdWx0IG5cbiBcdGRlcGVuZHMgb24gTU1VXG4gXHRkZXBlbmRzIG9uIFBST0NfRlNcbi1cdGRlcGVuZHMgb24gIURFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVVxuIFx0c2VsZWN0IENPREVfVEFHR0lOR1xuIFx0c2VsZWN0IFBBR0VfRVhURU5TSU9OXG4gXHRzZWxlY3QgU0xBQl9PQkpfRVhUXG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xMlQyMDo0MjowMS4xNjUwMzg5NzZaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo4ODU2MTcwNzE3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQgb2YgdGhlIENvbmZpZ3VyYXRpb24gQ2xlYW51cCoqXG5cbk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgcHJldHR5IHN0cmFpZ2h0Zm9yd2FyZC4gSXQgbG9va3MgbGlrZSBhIGNsZWFudXAgb3BlcmF0aW9uLCBzcGVjaWZpY2FsbHkgdGFyZ2V0aW5nIHRoZSByZW1vdmFsIG9mIHRoZSBgQ09ORklHX0RFQlVHX0ZPUkNFX1dFQUtfUEVSX0NQVWAgZGVidWcgY29uZmlndXJhdGlvbiBvcHRpb24uIE15IGltbWVkaWF0ZSBpbXByZXNzaW9uIGlzIHRoYXQgdGhpcyAqc2hvdWxkbid0KiBpbnRyb2R1Y2UgYW55IGZ1bmN0aW9uYWwgcmVncmVzc2lvbnMgb3IgbmVjZXNzaXRhdGUgYW55IGZ1enppbmcgZWZmb3J0cy4gTGV0J3MgZGlnIGluIGFuZCBjb25maXJtIHRoYXQsIHRob3VnaC5cblxuRmlyc3QsIGl04oCZcyB5YW5rZWQgZnJvbSBhIGZldyBzcG90czogYGluY2x1ZGUvbGludXgvcGVyY3B1LWRlZnMuaGAsIGBpbmNsdWRlL3J2L2RhX21vbml0b3IuaGAsIGFuZCBgbGliL0tjb25maWcuZGVidWdgLiBJIG5lZWQgdG8gZW5zdXJlIHRoYXQgdGhlIHJlbW92YWwgaXMgY2xlYW4gYW5kIGRvZXNuJ3QgbGVhdmUgYW55IGRhbmdsaW5nIGRlcGVuZGVuY2llcyBvciBpbnRyb2R1Y2Ugc2VtYW50aWMgY2hhbmdlcy5cblxuTG9va2luZyBhdCBgaW5jbHVkZS9saW51eC9wZXJjcHUtZGVmcy5oYCwgdGhlIGNoYW5nZSBpcyBjbGVhcjogaXTigJlzIGp1c3QgcmVtb3ZpbmcgdGhlIGAjaWYgZGVmaW5lZChDT05GSUdfREVCVUdfRk9SQ0VfV0VBS19QRVJfQ1BVKWAgY29uZGl0aW9uIGZyb20gYSBtYWNybyBkZWZpbml0aW9uLiBObyBjb2RlIGlzIGJlaW5nIGFkZGVkLCBqdXN0IGEgY29uZGl0aW9uYWwgYnJhbmNoIGJlaW5nIHJlbW92ZWQuIFRoaXMgYWxpZ25zIHdpdGggYSBwdXJlIGNsZWFudXAuXG5cbmBpbmNsdWRlL3J2L2RhX21vbml0b3IuaGAgaXMganVzdCBhIGNvbW1lbnQgY2hhbmdlIHNvIG5vdGhpbmcgc2lnbmlmaWNhbnQgdGhlcmUuXG5cbkZpbmFsbHksIGluIGBsaWIvS2NvbmZpZy5kZWJ1Z2AsIGl0J3MgZHJvcHBpbmcgdGhlIGRlYnVnIG9wdGlvbiBpdHNlbGYgYW5kIHJlbW92aW5nIHRoZSBgZGVwZW5kcyBvbiAhREVCVUdfRk9SQ0VfV0VBS19QRVJfQ1BVYCBkZXBlbmRlbmN5IGZyb20gYE1FTV9BTExPQ19QUk9GSUxJTkdgLiBUaGlzIGlzIHByZWNpc2VseSB3aGF0IHRoZSBkZXNjcmlwdGlvbiBzdGF0ZXMgLSBhIGNsZWFuIHJlbW92YWwgb2YgdGhlIGRlYnVnZ2luZyBmZWF0dXJlIGFuZCBhbnkgY29uc3RyYWludHMgaXQgaW1wb3NlZC5cblxuR2l2ZW4gdGhpcyBhbmFseXNpcywgSSdtIGNvbmZpZGVudCB0aGF0IHRoaXMgcGF0Y2ggaXMgc29sZWx5IGEgcmVtb3ZhbCBvZiBhIGRlYnVnZ2luZyBjb25maWd1cmF0aW9uIG9wdGlvbiBhbmQgaXRzIGFzc29jaWF0ZWQgbG9naWMuIEl0IGRvZXNuJ3QgbW9kaWZ5IGV4ZWN1dGlvbiBmbG93LCBhZGQgbmV3IGZ1bmN0aW9uYWwgY29kZSwgb3IgY2hhbmdlIGFueSBjb3JlIGJlaGF2aW9yLiBUaGVyZWZvcmUsIHRoaXMgcGF0Y2ggaXMgKipub3Qgd29ydGggZnV6emluZy4qKlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNjc2LCJPdXRwdXRUb2tlbnMiOjgwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzcyLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTJUMjA6NDI6MTAuMDIxMjEyMjkzWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNzMwMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW10sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCByZW1vdmVzIHRoZSBDT05GSUdfREVCVUdfRk9SQ0VfV0VBS19QRVJfQ1BVIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGFuZCBpdHMgYXNzb2NpYXRlZCBsb2dpYyBmcm9tIEtjb25maWcgYW5kIGhlYWRlciBmaWxlcy4gSXQgZG9lcyBub3QgaW50cm9kdWNlIGFueSBuZXcgZnVuY3Rpb25hbCBsb2dpYyBvciBhbHRlciBleGVjdXRpb24gZmxvdyBpbiBhIHdheSB0aGF0IHJlcXVpcmVzIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCByZW1vdmVzIHRoZSBDT05GSUdfREVCVUdfRk9SQ0VfV0VBS19QRVJfQ1BVIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGFuZCBpdHMgYXNzb2NpYXRlZCBsb2dpYyBmcm9tIEtjb25maWcgYW5kIGhlYWRlciBmaWxlcy4gSXQgZG9lcyBub3QgaW50cm9kdWNlIGFueSBuZXcgZnVuY3Rpb25hbCBsb2dpYyBvciBhbHRlciBleGVjdXRpb24gZmxvdyBpbiBhIHdheSB0aGF0IHJlcXVpcmVzIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xMlQyMDo0MjoxMC4wMjEyMzMxMjNaIiwiU2VxIjo1LCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6IklmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjIzMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },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-workflowrxzvv[1] Phase: Running StartedAt: 2026-08-12 20:42:20 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrxzvv[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-08-12 20:42:20 +0000 UTC FinishedAt: 2026-08-12 20:42:26 +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,}