Name: series-workflow72dxw Phase: Succeeded StartedAt: 2026-07-09 02:47:12 +0000 UTC FinishedAt: 2026-07-09 07:17:56 +0000 UTC Input: nil Output: nil --------- Name: series-workflow72dxw[0] Phase: Succeeded StartedAt: 2026-07-09 02:47:12 +0000 UTC FinishedAt: 2026-07-09 03:00:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflow72dxw[0].run-triage Phase: Succeeded StartedAt: 2026-07-09 02:47:12 +0000 UTC FinishedAt: 2026-07-09 03:00:28 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "net", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git", "commit_hash": "6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "RDS", "RDS_RDMA", "RDS_TCP", "IPV6" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "net", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git", "commit_hash": "6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "RDS", "RDS_RDMA", "RDS_TCP", "IPV6" ], "series_id": "9dc07b61-b3cf-419e-ab0b-8d9251cadc60" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "rds_ib_laddr_check_cm", "rds_tcp_laddr_check" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDAyOjU4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1JEUyYjMzQ7LAogICAgJiMzNDtSRFNfUkRNQSYjMzQ7LAogICAgJiMzNDtSRFNfVENQJiMzNDssCiAgICAmIzM0O0lQVjYmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtyZHNfaWJfbGFkZHJfY2hlY2tfY20mIzM0OywKICAgICYjMzQ7cmRzX3RjcF9sYWRkcl9jaGVjayYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBhZGRzIG1pc3NpbmcgYGlwdjZfbW9kX2VuYWJsZWQoKWAgY2hlY2tzIGluIFJEUyBvdmVyIElCIGFuZCBSRFMgb3ZlciBUQ1Agd2hlbiBjaGVja2luZyBsb2NhbCBhZGRyZXNzZXMsIHByZXZlbnRpbmcgcG90ZW50aWFsIGlzc3VlcyB3aGVuIElQdjYgbW9kdWxlIGlzIGRpc2FibGVkIGJ1dCBDT05GSUdfSVBWNiBpcyBlbmFibGVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDAyOjU4PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgODk1NDVmMWRhOGIyOWVkZWMyZDBlZWZjMGY0ODBkNDNhODBkMmU1MFxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBUaHUgSnVsIDkgMDI6NTg6MTcgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvbmV0L3Jkcy9pYi5jIGIvbmV0L3Jkcy9pYi5jXG5pbmRleCAzOWY4NzI3MmUwNzFiZi4uOGY5Y2Y0OTE5ODRmMTIgMTAwNjQ0XG4tLS0gYS9uZXQvcmRzL2liLmNcbiYjNDM7JiM0MzsmIzQzOyBiL25ldC9yZHMvaWIuY1xuQEAgLTQyOSw2ICYjNDM7NDI5LDEwIEBAIHN0YXRpYyBpbnQgcmRzX2liX2xhZGRyX2NoZWNrX2NtKHN0cnVjdCBuZXQgKm5ldCwgY29uc3Qgc3RydWN0IGluNl9hZGRyICphZGRyLFxuIFx0XHRzYSA9IChzdHJ1Y3Qgc29ja2FkZHIgKilcdTAwMjZzaW47XG4gXHR9IGVsc2Uge1xuICNpZiBJU19FTkFCTEVEKENPTkZJR19JUFY2KVxuJiM0MztcdFx0aWYgKCFpcHY2X21vZF9lbmFibGVkKCkpIHtcbiYjNDM7XHRcdFx0cmV0ID0gLUVBRERSTk9UQVZBSUw7XG4mIzQzO1x0XHRcdGdvdG8gb3V0O1xuJiM0MztcdFx0fVxuIFx0XHRtZW1zZXQoXHUwMDI2c2luNiwgMCwgc2l6ZW9mKHNpbjYpKTtcbiBcdFx0c2luNi5zaW42X2ZhbWlseSA9IEFGX0lORVQ2O1xuIFx0XHRzaW42LnNpbjZfYWRkciA9ICphZGRyO1xuZGlmZiAtLWdpdCBhL25ldC9yZHMvdGNwLmMgYi9uZXQvcmRzL3RjcC5jXG5pbmRleCBhMWRlMTE0ZDVlMmUwMS4uOTU1ZDkyMjc3ZDVhNjIgMTAwNjQ0XG4tLS0gYS9uZXQvcmRzL3RjcC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9uZXQvcmRzL3RjcC5jXG5AQCAtMzY2LDkgJiM0MzszNjYsMTEgQEAgaW50IHJkc190Y3BfbGFkZHJfY2hlY2soc3RydWN0IG5ldCAqbmV0LCBjb25zdCBzdHJ1Y3QgaW42X2FkZHIgKmFkZHIsXG4gXHRcdHJjdV9yZWFkX3VubG9jaygpO1xuIFx0fVxuICNpZiBJU19FTkFCTEVEKENPTkZJR19JUFY2KVxuLVx0cmV0ID0gaXB2Nl9jaGtfYWRkcihuZXQsIGFkZHIsIGRldiwgMCk7XG4tXHRpZiAocmV0KVxuLVx0XHRyZXR1cm4gMDtcbiYjNDM7XHRpZiAoaXB2Nl9tb2RfZW5hYmxlZCgpKSB7XG4mIzQzO1x0XHRyZXQgPSBpcHY2X2Noa19hZGRyKG5ldCwgYWRkciwgZGV2LCAwKTtcbiYjNDM7XHRcdGlmIChyZXQpXG4mIzQzO1x0XHRcdHJldHVybiAwO1xuJiM0MztcdH1cbiAjZW5kaWZcbiBcdHJldHVybiAtRUFERFJOT1RBVkFJTDtcbiB9XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMDI6NTg8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7UkRTJiMzNDssCiAgICAmIzM0O1JEU19SRE1BJiMzNDssCiAgICAmIzM0O1JEU19UQ1AmIzM0OywKICAgICYjMzQ7SVBWNiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3Jkc19pYl9sYWRkcl9jaGVja19jbSYjMzQ7LAogICAgJiMzNDtyZHNfdGNwX2xhZGRyX2NoZWNrJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgbWlzc2luZyBgaXB2Nl9tb2RfZW5hYmxlZCgpYCBjaGVja3MgaW4gUkRTIG92ZXIgSUIgYW5kIFJEUyBvdmVyIFRDUCB3aGVuIGNoZWNraW5nIGxvY2FsIGFkZHJlc3NlcywgcHJldmVudGluZyBwb3RlbnRpYWwgaXNzdWVzIHdoZW4gSVB2NiBtb2R1bGUgaXMgZGlzYWJsZWQgYnV0IENPTkZJR19JUFY2IGlzIGVuYWJsZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IDg5NTQ1ZjFkYThiMjllZGVjMmQwZWVmYzBmNDgwZDQzYTgwZDJlNTAKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgVGh1IEp1bCA5IDAyOjU4OjE3IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvbmV0L3Jkcy9pYi5jIGIvbmV0L3Jkcy9pYi5jCmluZGV4IDM5Zjg3MjcyZTA3MWJmLi44ZjljZjQ5MTk4NGYxMiAxMDA2NDQKLS0tIGEvbmV0L3Jkcy9pYi5jCiYjNDM7JiM0MzsmIzQzOyBiL25ldC9yZHMvaWIuYwpAQCAtNDI5LDYgJiM0Mzs0MjksMTAgQEAgc3RhdGljIGludCByZHNfaWJfbGFkZHJfY2hlY2tfY20oc3RydWN0IG5ldCAqbmV0LCBjb25zdCBzdHJ1Y3QgaW42X2FkZHIgKmFkZHIsCiAJCXNhID0gKHN0cnVjdCBzb2NrYWRkciAqKSZhbXA7c2luOwogCX0gZWxzZSB7CiAjaWYgSVNfRU5BQkxFRChDT05GSUdfSVBWNikKJiM0MzsJCWlmICghaXB2Nl9tb2RfZW5hYmxlZCgpKSB7CiYjNDM7CQkJcmV0ID0gLUVBRERSTk9UQVZBSUw7CiYjNDM7CQkJZ290byBvdXQ7CiYjNDM7CQl9CiAJCW1lbXNldCgmYW1wO3NpbjYsIDAsIHNpemVvZihzaW42KSk7CiAJCXNpbjYuc2luNl9mYW1pbHkgPSBBRl9JTkVUNjsKIAkJc2luNi5zaW42X2FkZHIgPSAqYWRkcjsKZGlmZiAtLWdpdCBhL25ldC9yZHMvdGNwLmMgYi9uZXQvcmRzL3RjcC5jCmluZGV4IGExZGUxMTRkNWUyZTAxLi45NTVkOTIyNzdkNWE2MiAxMDA2NDQKLS0tIGEvbmV0L3Jkcy90Y3AuYwomIzQzOyYjNDM7JiM0MzsgYi9uZXQvcmRzL3RjcC5jCkBAIC0zNjYsOSAmIzQzOzM2NiwxMSBAQCBpbnQgcmRzX3RjcF9sYWRkcl9jaGVjayhzdHJ1Y3QgbmV0ICpuZXQsIGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqYWRkciwKIAkJcmN1X3JlYWRfdW5sb2NrKCk7CiAJfQogI2lmIElTX0VOQUJMRUQoQ09ORklHX0lQVjYpCi0JcmV0ID0gaXB2Nl9jaGtfYWRkcihuZXQsIGFkZHIsIGRldiwgMCk7Ci0JaWYgKHJldCkKLQkJcmV0dXJuIDA7CiYjNDM7CWlmIChpcHY2X21vZF9lbmFibGVkKCkpIHsKJiM0MzsJCXJldCA9IGlwdjZfY2hrX2FkZHIobmV0LCBhZGRyLCBkZXYsIDApOwomIzQzOwkJaWYgKHJldCkKJiM0MzsJCQlyZXR1cm4gMDsKJiM0MzsJfQogI2VuZGlmCiAJcmV0dXJuIC1FQUREUk5PVEFWQUlMOwogfQo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wOSAwMjo1ODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMTA5CgkJCQkJCQlvdXRwdXQ6IDY2CgkJCQkJCQl0aG91Z2h0czogMTMwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgUkRTIElQdjYgUGF0Y2gqKgoKT2theSwgc28gSSYjMzk7dmUgZ290IHRoaXMgcGF0Y2ggaGVyZSB0aGF0JiMzOTtzIHRvdWNoaW5nIGBuZXQvcmRzL2liLmNgIGFuZCBgbmV0L3Jkcy90Y3AuY2AuIEl0IGxvb2tzIGxpa2Ugd2UmIzM5O3JlIGFkZGluZyBzb21lIGBpcHY2X21vZF9lbmFibGVkKClgIGNoZWNrcyBiZWZvcmUgd2UgZG8gYW55dGhpbmcgSVB2NiByZWxhdGVkIGluIGByZHNfaWJfbGFkZHJfY2hlY2tfY21gIGFuZCBgcmRzX3RjcF9sYWRkcl9jaGVja2AuIFRoaXMgaXMgYSBjbGVhciBmdW5jdGlvbmFsIGNoYW5nZSwgbm90IGp1c3QgYSBjb3NtZXRpYyB0d2Vhay4gTm93LCBteSBmaXJzdCB0aG91Z2h0IGlzLCAmIzM0O1doYXQgY29uZmlndXJhdGlvbiBvcHRpb25zIGFyZSBjb250cm9sbGluZyB0aGlzIGJlaGF2aW9yPyYjMzQ7IFNwZWNpZmljYWxseSwgSSBuZWVkIHRvIHVuZGVyc3RhbmQgd2hhdCB0cmlnZ2VycyB0aGUgYnVpbGQgb2YgUkRTLCBSRFNfVENQLCBhbmQgUkRTX0lCLiBUaW1lIHRvIHB1bGwgb3V0IGBncmVwcGVyYCBhbmQgc2VhcmNoIGZvciB0aG9zZSBmdW5jdGlvbiBuYW1lcywgYHJkc19pYl9sYWRkcl9jaGVja19jbWAgYW5kIGByZHNfdGNwX2xhZGRyX2NoZWNrYC4gSSBuZWVkIHRvIGZpZ3VyZSBvdXQgdGhlIGRlcGVuZGVuY2llcyBhbmQgZW5zdXJlIHRoZSBuZWNlc3NhcnkgY29uZmlnIG9wdGlvbnMgYXJlIHNldCB0byBlbmFibGUgSVB2NiBzdXBwb3J0IGNvcnJlY3RseSB3aGVuIHRoaXMgcGF0Y2ggaXMgYXBwbGllZC4gVW5kZXJzdGFuZGluZyB0aGUgY29uZmlnIGRlcGVuZGVuY2llcyBpcyBrZXkgdG8gY29uZmlybWluZyB0aGUgcGF0Y2gmIzM5O3MgY29ycmVjdG5lc3MgYW5kIHVuZGVyc3RhbmRpbmcgaG93IGl0IGludGVyYWN0cyB3aXRoIHRoZSBleGlzdGluZyBzeXN0ZW0uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMDI6NTg8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7cmRzX2liX2xhZGRyX2NoZWNrX2NtJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L3Jkcy8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7bmV0L3Jkcy9pYi5jPTM4MT1zdGF0aWMgdm9pZCByZHM2X2liX2ljX2luZm8oc3RydWN0IHNvY2tldCAqc29jaywgdW5zaWduZWQgaW50IGxlbixcbi0tXG5uZXQvcmRzL2liLmMtNDAzLSAqL1xubmV0L3Jkcy9pYi5jOjQwNDpzdGF0aWMgaW50IHJkc19pYl9sYWRkcl9jaGVja19jbShzdHJ1Y3QgbmV0ICpuZXQsIGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqYWRkcixcbm5ldC9yZHMvaWIuYy00MDUtXHRcdFx0XHQgX191MzIgc2NvcGVfaWQpXG4tLVxubmV0L3Jkcy9pYi5jPTQ5ND1zdGF0aWMgaW50IHJkc19pYl9sYWRkcl9jaGVjayhzdHJ1Y3QgbmV0ICpuZXQsIGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqYWRkcixcbi0tXG5uZXQvcmRzL2liLmMtNTEwLVxubmV0L3Jkcy9pYi5jOjUxMTpcdHJldHVybiByZHNfaWJfbGFkZHJfY2hlY2tfY20obmV0LCBhZGRyLCBzY29wZV9pZCk7XG5uZXQvcmRzL2liLmMtNTEyLX1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wOSAwMjo1ODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtyZHNfdGNwX2xhZGRyX2NoZWNrJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L3Jkcy8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7bmV0L3Jkcy90Y3AuYz0yODQ9c3RhdGljIHZvaWQgcmRzNl90Y3BfdGNfaW5mbyhzdHJ1Y3Qgc29ja2V0ICpzb2NrLCB1bnNpZ25lZCBpbnQgbGVuLFxuLS1cbm5ldC9yZHMvdGNwLmMtMzQwLVxubmV0L3Jkcy90Y3AuYzozNDE6aW50IHJkc190Y3BfbGFkZHJfY2hlY2soc3RydWN0IG5ldCAqbmV0LCBjb25zdCBzdHJ1Y3QgaW42X2FkZHIgKmFkZHIsXG5uZXQvcmRzL3RjcC5jLTM0Mi1cdFx0XHRfX3UzMiBzY29wZV9pZClcbi0tXG5uZXQvcmRzL3RjcC5jPTQ4MT1zdHJ1Y3QgcmRzX3RyYW5zcG9ydCByZHNfdGNwX3RyYW5zcG9ydCA9IHtcbm5ldC9yZHMvdGNwLmM6NDgyOlx0LmxhZGRyX2NoZWNrXHRcdD0gcmRzX3RjcF9sYWRkcl9jaGVjayxcbm5ldC9yZHMvdGNwLmMtNDgzLVx0LnhtaXRfcGF0aF9wcmVwYXJlXHQ9IHJkc190Y3BfeG1pdF9wYXRoX3ByZXBhcmUsXG4tLVxubmV0L3Jkcy90Y3AuaD04MT12b2lkIHJkc190Y3BfYWNjZXB0X3dvcmsoc3RydWN0IHJkc190Y3BfbmV0ICpydG4pO1xubmV0L3Jkcy90Y3AuaDo4MjppbnQgcmRzX3RjcF9sYWRkcl9jaGVjayhzdHJ1Y3QgbmV0ICpuZXQsIGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqYWRkcixcbm5ldC9yZHMvdGNwLmgtODMtXHRcdFx0X191MzIgc2NvcGVfaWQpO1xuLS1cbm5ldC9yZHMvdGNwX2xpc3Rlbi5jPTE1Mj1pbnQgcmRzX3RjcF9hY2NlcHRfb25lKHN0cnVjdCByZHNfdGNwX25ldCAqcnRuKVxuLS1cbm5ldC9yZHMvdGNwX2xpc3Rlbi5jLTIxOS1cbm5ldC9yZHMvdGNwX2xpc3Rlbi5jOjIyMDpcdGlmICghcmRzX3RjcF9sYWRkcl9jaGVjayhzb2NrX25ldChsaXN0ZW5fc29jay1cdTAwM2VzayksIHBlZXJfYWRkciwgZGV2X2lmKSkge1xubmV0L3Jkcy90Y3BfbGlzdGVuLmMtMjIxLVx0XHQvKiBsb2NhbCBhZGRyZXNzIGNvbm5lY3Rpb24gaXMgb25seSBhbGxvd2VkIHZpYSBsb29wYmFjayAqL1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDAyOjU4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMxOTgKCQkJCQkJCW91dHB1dDogMjYKCQkJCQkJCXRob3VnaHRzOiA5CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IGF0dGVtcHQgYXQgc3VtbWFyaXppbmcgdGhhdCB0aG91Z2h0IHByb2Nlc3MsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2U6CgoqKkNoZWNraW5nIEtjb25maWcgZm9yIFJEUyBDb25maWd1cmF0aW9uKioKCkFscmlnaHQsIGxldCYjMzk7cyBnZXQgZG93biB0byBicmFzcyB0YWNrcy4gSSBuZWVkIHRvIHF1aWNrbHkgYXNjZXJ0YWluIGlmIHRoZSBSZW1vdGUgRGlyZWN0IE1lbW9yeSBBY2Nlc3MgKFJETUEpIG92ZXIgU2hhcmVkIE1lbW9yeSAoUkRTKSBjb25maWd1cmF0aW9uIG9wdGlvbnMgYXJlIGNvcnJlY3RseSBkZWZpbmVkIGluIHRoZSBjdXJyZW50IGtlcm5lbCBjb25maWd1cmF0aW9uLiBCZWZvcmUgZGl2aW5nIGludG8gZGVidWdnaW5nIG9yIHBlcmZvcm1hbmNlIGFuYWx5c2lzLCB0aGlzIGlzIHRoZSBsb2dpY2FsIGZpcnN0IHN0ZXAuIEkgbmVlZCB0byBjb25maXJtIGlmIFJEUyBpcyBlbmFibGVkIGFuZCwgbW9yZSBpbXBvcnRhbnRseSwgaG93IGl0JiMzOTtzIGVuYWJsZWQuIEFyZSB0aGUgYXBwcm9wcmlhdGUgbW9kdWxlcyBidWlsdD8gQXJlIHRoZXJlIGFueSBjb25kaXRpb25hbCBkZXBlbmRlbmNpZXMgSSYjMzk7bSBvdmVybG9va2luZz8gQSBxdWljayBzY2FuIG9mIGBLY29uZmlnYCB3aWxsIHRlbGwgbWUgaWYgdGhlIHJlbGV2YW50IHN5bWJvbHMgKGUuZy4sIGBDT05GSUdfUkRTYCwgYENPTkZJR19SRFNfUkRNQWAsIGV0Yy4pIGFyZSBwcm9wZXJseSBzZXQgYW5kLCBpZiBzbywgd2hhdCB2YWx1ZXMgdGhleSYjMzk7cmUgYXNzaWduZWQuIFRoaXMgd2lsbCBpbmZvcm0gbXkgbmV4dCBzdGVwcy4gVGhpcyBpcyBhIGZ1bmRhbWVudGFsIGNoZWNrLCBzYXZpbmcgdGltZSBhbmQgcG90ZW50aWFsIHJhYmJpdCBob2xlcyBsYXRlci4gSSBleHBlY3QgdG8gYmUgYWJsZSB0byB0ZWxsIGF0IGEgZ2xhbmNlLCBiYXNlZCBvbiBleHBlcmllbmNlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDAyOjU5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBSRFMmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtuZXQvcmRzLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvcmRzL0tjb25maWctMi1cbm5ldC9yZHMvS2NvbmZpZzozOmNvbmZpZyBSRFNcbm5ldC9yZHMvS2NvbmZpZy00LVx0dHJpc3RhdGUgXCYjMzQ7VGhlIFJlbGlhYmxlIERhdGFncmFtIFNvY2tldHMgUHJvdG9jb2xcJiMzNDtcbi0tXG5uZXQvcmRzL0tjb25maWctOS1cbm5ldC9yZHMvS2NvbmZpZzoxMDpjb25maWcgUkRTX1JETUFcbm5ldC9yZHMvS2NvbmZpZy0xMS1cdHRyaXN0YXRlIFwmIzM0O1JEUyBvdmVyIEluZmluaWJhbmRcJiMzNDtcbi0tXG5uZXQvcmRzL0tjb25maWctMTYtXG5uZXQvcmRzL0tjb25maWc6MTc6Y29uZmlnIFJEU19UQ1Bcbm5ldC9yZHMvS2NvbmZpZy0xOC1cdHRyaXN0YXRlIFwmIzM0O1JEUyBvdmVyIFRDUFwmIzM0O1xuLS1cbm5ldC9yZHMvS2NvbmZpZy0yNC1cbm5ldC9yZHMvS2NvbmZpZzoyNTpjb25maWcgUkRTX0RFQlVHXG5uZXQvcmRzL0tjb25maWctMjYtXHRib29sIFwmIzM0O1JEUyBkZWJ1Z2dpbmcgbWVzc2FnZXNcJiMzNDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wOSAwMjo1OTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzNjQ0CgkJCQkJCQlvdXRwdXQ6IDMyCgkJCQkJCQl0aG91Z2h0czogMTYwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgQWRkcmVzcyBDaGVjayBGdW5jdGlvbnMqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgY29kZSBhbmQgaXQmIzM5O3MgY2xlYXIgd2UmIzM5O3JlIGRlYWxpbmcgd2l0aCBuZXR3b3JrIGFkZHJlc3MgY2hlY2tzLCBzcGVjaWZpY2FsbHkgcmVsYXRlZCB0byBSZW1vdGUgRGlyZWN0IE1lbW9yeSBBY2Nlc3MgKFJETUEpIGFuZCBUQ1AsIGJhc2VkIG9uIHRoZSBzeW1ib2xzIEkgc2VlOiBgUkRTYCwgYFJEU19SRE1BYCwgYW5kIGBSRFNfVENQYC4gQW5kIHdlIGFic29sdXRlbHkgbmVlZCB0byBpbmNsdWRlIGBJUFY2YCBiZWNhdXNlIG9mIHRoYXQgYCNpZiBJU19FTkFCTEVEKENPTkZJR19JUFY2KWAgYmxvY2suCgpNeSBpbW1lZGlhdGUgZm9jdXMgaXMgb24gYHJkc19pYl9sYWRkcl9jaGVja19jbWAgYW5kIGByZHNfdGNwX2xhZGRyX2NoZWNrYC4gSG1tLCBub3cgSSBzZWUgdGhhdCBgcmRzX2liX2xhZGRyX2NoZWNrX2NtYCBpcyBkZWNsYXJlZCBhcyBgc3RhdGljYCwgd2hpY2ggaXMgaW50ZXJlc3RpbmcuIEhvd2V2ZXIsIGl0JiMzOTtzIGByZHNfaWJfbGFkZHJfY2hlY2tgIHRoYXQgY2FsbHMgaXQuIEdpdmVuIHRoZSBjYWxsIGNoYWluIGFuZCBwb3RlbnRpYWwgZm9yIGZ1dHVyZSB1c2UsIEkgdGhpbmsgaXQmIzM5O3MgYmV0dGVyIHRvIGluY2x1ZGUgYm90aCBzeW1ib2xzLCBvciBzaW1wbHkgdXNlIHRoZSBsYXR0ZXIsIHNpbmNlIHRoZSBmb3JtZXIgaXMgYSBkZXRhaWwuIFRoZSBgcmRzX3RjcF9sYWRkcl9jaGVja2AgZnVuY3Rpb24sIG9uIHRoZSBvdGhlciBoYW5kLCBpcyBleHBvcnRlZCwgb3IgYXQgbGVhc3Qgbm90IHN0YXRpYywgd2hpY2ggaXMgZ29vZCB0byBrbm93LgoKSnVzdCB0byBiZSBhYnNvbHV0ZWx5IHN1cmUsIEkmIzM5O20gZ29pbmcgdG8gcXVpY2tseSBkb3VibGUgY2hlY2sgd2hldGhlciBgcmRzX2liX2xhZGRyX2NoZWNrYCBpdHNlbGYgaXMgYWxzbyBkZWNsYXJlZCBhcyBzdGF0aWMgb3Igbm90LiBCZXN0IHRvIGF2b2lkIGFueSBhc3N1bXB0aW9ucyBoZXJlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDAyOjU5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O3Jkc19pYl9sYWRkcl9jaGVjayYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC9yZHMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O25ldC9yZHMvaWIuYz0zODE9c3RhdGljIHZvaWQgcmRzNl9pYl9pY19pbmZvKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHVuc2lnbmVkIGludCBsZW4sXG4tLVxubmV0L3Jkcy9pYi5jLTQwMy0gKi9cbm5ldC9yZHMvaWIuYzo0MDQ6c3RhdGljIGludCByZHNfaWJfbGFkZHJfY2hlY2tfY20oc3RydWN0IG5ldCAqbmV0LCBjb25zdCBzdHJ1Y3QgaW42X2FkZHIgKmFkZHIsXG5uZXQvcmRzL2liLmMtNDA1LVx0XHRcdFx0IF9fdTMyIHNjb3BlX2lkKVxuLS1cbm5ldC9yZHMvaWIuYy00OTMtXG5uZXQvcmRzL2liLmM6NDk0OnN0YXRpYyBpbnQgcmRzX2liX2xhZGRyX2NoZWNrKHN0cnVjdCBuZXQgKm5ldCwgY29uc3Qgc3RydWN0IGluNl9hZGRyICphZGRyLFxubmV0L3Jkcy9pYi5jLTQ5NS1cdFx0XHQgICAgICBfX3UzMiBzY29wZV9pZClcbi0tXG5uZXQvcmRzL2liLmMtNTEwLVxubmV0L3Jkcy9pYi5jOjUxMTpcdHJldHVybiByZHNfaWJfbGFkZHJfY2hlY2tfY20obmV0LCBhZGRyLCBzY29wZV9pZCk7XG5uZXQvcmRzL2liLmMtNTEyLX1cbi0tXG5uZXQvcmRzL2liLmM9NTU5PXN0cnVjdCByZHNfdHJhbnNwb3J0IHJkc19pYl90cmFuc3BvcnQgPSB7XG5uZXQvcmRzL2liLmM6NTYwOlx0LmxhZGRyX2NoZWNrXHRcdD0gcmRzX2liX2xhZGRyX2NoZWNrLFxubmV0L3Jkcy9pYi5jLTU2MS1cdC54bWl0X3BhdGhfY29tcGxldGVcdD0gcmRzX2liX3htaXRfcGF0aF9jb21wbGV0ZSxcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMDI6NTk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDQ3NQoJCQkJCQkJb3V0cHV0OiAxMTgKCQkJCQkJCXRob3VnaHRzOiAxNjIKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqTXkgQW5hbHlzaXMgb2YgdGhlIFJEUyBMb2NhbCBBZGRyZXNzIENoZWNrIFBhdGNoKioKCk9rYXksIHNvIHRoZSBgcmRzX2liX2xhZGRyX2NoZWNrYCBmdW5jdGlvbiBpcyBzdGF0aWMsIHdoaWNoIGlzIGdvb2QgdG8ga25vdy4gVGhpcyBtZWFucyBJIG5lZWQgdG8gZm9jdXMgb24gdGhlIHN5bWJvbHMgYHJkc19pYl9sYWRkcl9jaGVja19jbWAgYW5kIGByZHNfdGNwX2xhZGRyX2NoZWNrYC4gSSBjYW4gc2VlIHRoZSByZWxldmFudCBjb25maWd1cmF0aW9ucyBhcmUgYFJEU2AsIGBSRFNfUkRNQWAsIGBSRFNfVENQYCwgYW5kIGBJUFY2YC4KClRoZSBwdXJwb3NlIG9mIHRoaXMgcGF0Y2ggaXMgY2xlYXI6IGl0JiMzOTtzIGFkZGluZyBtaXNzaW5nIGBpcHY2X21vZF9lbmFibGVkKClgIGNoZWNrcyB3aXRoaW4gdGhlIFJEUyBjb2RlLCBzcGVjaWZpY2FsbHkgZm9yIFJEUyBvdmVyIEluZmluaUJhbmQgYW5kIFJEUyBvdmVyIFRDUCwgd2hlbiBkZWFsaW5nIHdpdGggbG9jYWwgYWRkcmVzcyB2YWxpZGF0aW9uLiBUaGlzIGlzIGxpa2VseSB0byBwcmV2ZW50IGlzc3VlcyBpZiBJUHY2IGlzIGRpc2FibGVkIGJ1dCB0aGUgYENPTkZJR19JUFY2YCBvcHRpb24gaXMgZW5hYmxlZCwgd2hpY2ggY2FuIGJlIGEgdHJpY2t5IGNvbmZpZ3VyYXRpb24gc2NlbmFyaW8uIEl0JiMzOTtzIGEgc2Vuc2libGUgc2FmZWd1YXJkLgoKTm93LCBJIG5lZWQgdG8gdmVyaWZ5IHRoYXQgYGlwdjZfbW9kX2VuYWJsZWQoKWAgaXMgYWN0dWFsbHkgcmVhY2hhYmxlIHdpdGhpbiB0aGlzIGNvZGUgcGF0aC4gTGV0IG1lIHRoaW5rLi4uIHllcywgaWYgYW4gUkRTIHNvY2tldCBpcyBib3VuZCB0byBhbiBJUHY2IGFkZHJlc3MsIGl0JiMzOTtsbCB0cmlnZ2VyIHRoZSBgbGFkZHJfY2hlY2tgIGZ1bmN0aW9uLiBTbyB0aGUgZGVwZW5kZW5jeSBpcyB2YWxpZC4KCkkgYW0gc2F0aXNmaWVkIHRoYXQgdGhlIHBhdGNoIGFkZHJlc3NlcyBhIGdlbnVpbmUgY29uY2VybiwgYW5kIHRoZSBhcHByb2FjaCBpcyBzb3VuZC4gTGV0JiMzOTtzIG1ha2Ugc3VyZSB0aGUgcmVzdWx0cyByZWZsZWN0IHRoaXMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDAzOjAwPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtSRFMmIzM0OywKICAgICYjMzQ7UkRTX1JETUEmIzM0OywKICAgICYjMzQ7UkRTX1RDUCYjMzQ7LAogICAgJiMzNDtJUFY2JiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7cmRzX2liX2xhZGRyX2NoZWNrX2NtJiMzNDssCiAgICAmIzM0O3Jkc190Y3BfbGFkZHJfY2hlY2smIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBtaXNzaW5nIGBpcHY2X21vZF9lbmFibGVkKClgIGNoZWNrcyBpbiBSRFMgb3ZlciBJQiBhbmQgUkRTIG92ZXIgVENQIHdoZW4gY2hlY2tpbmcgbG9jYWwgYWRkcmVzc2VzLCBwcmV2ZW50aW5nIHBvdGVudGlhbCBpc3N1ZXMgd2hlbiBJUHY2IG1vZHVsZSBpcyBkaXNhYmxlZCBidXQgQ09ORklHX0lQVjYgaXMgZW5hYmxlZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7UkRTJiMzNDssCiAgICAmIzM0O1JEU19SRE1BJiMzNDssCiAgICAmIzM0O1JEU19UQ1AmIzM0OywKICAgICYjMzQ7SVBWNiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3Jkc19pYl9sYWRkcl9jaGVja19jbSYjMzQ7LAogICAgJiMzNDtyZHNfdGNwX2xhZGRyX2NoZWNrJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgbWlzc2luZyBgaXB2Nl9tb2RfZW5hYmxlZCgpYCBjaGVja3MgaW4gUkRTIG92ZXIgSUIgYW5kIFJEUyBvdmVyIFRDUCB3aGVuIGNoZWNraW5nIGxvY2FsIGFkZHJlc3NlcywgcHJldmVudGluZyBwb3RlbnRpYWwgaXNzdWVzIHdoZW4gSVB2NiBtb2R1bGUgaXMgZGlzYWJsZWQgYnV0IENPTkZJR19JUFY2IGlzIGVuYWJsZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0wOVQwMjo1ODoxOS45NTE4OTMwNDZaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMTcxMzU2Njg0NzYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiUkRTXCIsXG4gICAgXCJSRFNfUkRNQVwiLFxuICAgIFwiUkRTX1RDUFwiLFxuICAgIFwiSVBWNlwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInJkc19pYl9sYWRkcl9jaGVja19jbVwiLFxuICAgIFwicmRzX3RjcF9sYWRkcl9jaGVja1wiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgbWlzc2luZyBgaXB2Nl9tb2RfZW5hYmxlZCgpYCBjaGVja3MgaW4gUkRTIG92ZXIgSUIgYW5kIFJEUyBvdmVyIFRDUCB3aGVuIGNoZWNraW5nIGxvY2FsIGFkZHJlc3NlcywgcHJldmVudGluZyBwb3RlbnRpYWwgaXNzdWVzIHdoZW4gSVB2NiBtb2R1bGUgaXMgZGlzYWJsZWQgYnV0IENPTkZJR19JUFY2IGlzIGVuYWJsZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA5VDAyOjU4OjE5Ljk1MTkxMTMxN1oiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6ODUzNjQ0MzAwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgODk1NDVmMWRhOGIyOWVkZWMyZDBlZWZjMGY0ODBkNDNhODBkMmU1MFxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgVGh1IEp1bCA5IDAyOjU4OjE3IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL25ldC9yZHMvaWIuYyBiL25ldC9yZHMvaWIuY1xcbmluZGV4IDM5Zjg3MjcyZTA3MWJmLi44ZjljZjQ5MTk4NGYxMiAxMDA2NDRcXG4tLS0gYS9uZXQvcmRzL2liLmNcXG4rKysgYi9uZXQvcmRzL2liLmNcXG5AQCAtNDI5LDYgKzQyOSwxMCBAQCBzdGF0aWMgaW50IHJkc19pYl9sYWRkcl9jaGVja19jbShzdHJ1Y3QgbmV0ICpuZXQsIGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqYWRkcixcXG4gXFx0XFx0c2EgPSAoc3RydWN0IHNvY2thZGRyICopXFx1MDAyNnNpbjtcXG4gXFx0fSBlbHNlIHtcXG4gI2lmIElTX0VOQUJMRUQoQ09ORklHX0lQVjYpXFxuK1xcdFxcdGlmICghaXB2Nl9tb2RfZW5hYmxlZCgpKSB7XFxuK1xcdFxcdFxcdHJldCA9IC1FQUREUk5PVEFWQUlMO1xcbitcXHRcXHRcXHRnb3RvIG91dDtcXG4rXFx0XFx0fVxcbiBcXHRcXHRtZW1zZXQoXFx1MDAyNnNpbjYsIDAsIHNpemVvZihzaW42KSk7XFxuIFxcdFxcdHNpbjYuc2luNl9mYW1pbHkgPSBBRl9JTkVUNjtcXG4gXFx0XFx0c2luNi5zaW42X2FkZHIgPSAqYWRkcjtcXG5kaWZmIC0tZ2l0IGEvbmV0L3Jkcy90Y3AuYyBiL25ldC9yZHMvdGNwLmNcXG5pbmRleCBhMWRlMTE0ZDVlMmUwMS4uOTU1ZDkyMjc3ZDVhNjIgMTAwNjQ0XFxuLS0tIGEvbmV0L3Jkcy90Y3AuY1xcbisrKyBiL25ldC9yZHMvdGNwLmNcXG5AQCAtMzY2LDkgKzM2NiwxMSBAQCBpbnQgcmRzX3RjcF9sYWRkcl9jaGVjayhzdHJ1Y3QgbmV0ICpuZXQsIGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqYWRkcixcXG4gXFx0XFx0cmN1X3JlYWRfdW5sb2NrKCk7XFxuIFxcdH1cXG4gI2lmIElTX0VOQUJMRUQoQ09ORklHX0lQVjYpXFxuLVxcdHJldCA9IGlwdjZfY2hrX2FkZHIobmV0LCBhZGRyLCBkZXYsIDApO1xcbi1cXHRpZiAocmV0KVxcbi1cXHRcXHRyZXR1cm4gMDtcXG4rXFx0aWYgKGlwdjZfbW9kX2VuYWJsZWQoKSkge1xcbitcXHRcXHRyZXQgPSBpcHY2X2Noa19hZGRyKG5ldCwgYWRkciwgZGV2LCAwKTtcXG4rXFx0XFx0aWYgKHJldClcXG4rXFx0XFx0XFx0cmV0dXJuIDA7XFxuK1xcdH1cXG4gI2VuZGlmXFxuIFxcdHJldHVybiAtRUFERFJOT1RBVkFJTDtcXG4gfVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQwMjo1ODoyMC44MDcxNzA3MjdaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjExNjI4MDM3ODA0NiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJSRFNcIixcbiAgICBcIlJEU19SRE1BXCIsXG4gICAgXCJSRFNfVENQXCIsXG4gICAgXCJJUFY2XCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwicmRzX2liX2xhZGRyX2NoZWNrX2NtXCIsXG4gICAgXCJyZHNfdGNwX2xhZGRyX2NoZWNrXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBtaXNzaW5nIGBpcHY2X21vZF9lbmFibGVkKClgIGNoZWNrcyBpbiBSRFMgb3ZlciBJQiBhbmQgUkRTIG92ZXIgVENQIHdoZW4gY2hlY2tpbmcgbG9jYWwgYWRkcmVzc2VzLCBwcmV2ZW50aW5nIHBvdGVudGlhbCBpc3N1ZXMgd2hlbiBJUHY2IG1vZHVsZSBpcyBkaXNhYmxlZCBidXQgQ09ORklHX0lQVjYgaXMgZW5hYmxlZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCA4OTU0NWYxZGE4YjI5ZWRlYzJkMGVlZmMwZjQ4MGQ0M2E4MGQyZTUwXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFRodSBKdWwgOSAwMjo1ODoxNyAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL25ldC9yZHMvaWIuYyBiL25ldC9yZHMvaWIuY1xuaW5kZXggMzlmODcyNzJlMDcxYmYuLjhmOWNmNDkxOTg0ZjEyIDEwMDY0NFxuLS0tIGEvbmV0L3Jkcy9pYi5jXG4rKysgYi9uZXQvcmRzL2liLmNcbkBAIC00MjksNiArNDI5LDEwIEBAIHN0YXRpYyBpbnQgcmRzX2liX2xhZGRyX2NoZWNrX2NtKHN0cnVjdCBuZXQgKm5ldCwgY29uc3Qgc3RydWN0IGluNl9hZGRyICphZGRyLFxuIFx0XHRzYSA9IChzdHJ1Y3Qgc29ja2FkZHIgKilcdTAwMjZzaW47XG4gXHR9IGVsc2Uge1xuICNpZiBJU19FTkFCTEVEKENPTkZJR19JUFY2KVxuK1x0XHRpZiAoIWlwdjZfbW9kX2VuYWJsZWQoKSkge1xuK1x0XHRcdHJldCA9IC1FQUREUk5PVEFWQUlMO1xuK1x0XHRcdGdvdG8gb3V0O1xuK1x0XHR9XG4gXHRcdG1lbXNldChcdTAwMjZzaW42LCAwLCBzaXplb2Yoc2luNikpO1xuIFx0XHRzaW42LnNpbjZfZmFtaWx5ID0gQUZfSU5FVDY7XG4gXHRcdHNpbjYuc2luNl9hZGRyID0gKmFkZHI7XG5kaWZmIC0tZ2l0IGEvbmV0L3Jkcy90Y3AuYyBiL25ldC9yZHMvdGNwLmNcbmluZGV4IGExZGUxMTRkNWUyZTAxLi45NTVkOTIyNzdkNWE2MiAxMDA2NDRcbi0tLSBhL25ldC9yZHMvdGNwLmNcbisrKyBiL25ldC9yZHMvdGNwLmNcbkBAIC0zNjYsOSArMzY2LDExIEBAIGludCByZHNfdGNwX2xhZGRyX2NoZWNrKHN0cnVjdCBuZXQgKm5ldCwgY29uc3Qgc3RydWN0IGluNl9hZGRyICphZGRyLFxuIFx0XHRyY3VfcmVhZF91bmxvY2soKTtcbiBcdH1cbiAjaWYgSVNfRU5BQkxFRChDT05GSUdfSVBWNilcbi1cdHJldCA9IGlwdjZfY2hrX2FkZHIobmV0LCBhZGRyLCBkZXYsIDApO1xuLVx0aWYgKHJldClcbi1cdFx0cmV0dXJuIDA7XG4rXHRpZiAoaXB2Nl9tb2RfZW5hYmxlZCgpKSB7XG4rXHRcdHJldCA9IGlwdjZfY2hrX2FkZHIobmV0LCBhZGRyLCBkZXYsIDApO1xuK1x0XHRpZiAocmV0KVxuK1x0XHRcdHJldHVybiAwO1xuK1x0fVxuICNlbmRpZlxuIFx0cmV0dXJuIC1FQUREUk5PVEFWQUlMO1xuIH1cbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA5VDAyOjU4OjIwLjgwNzE3MzExN1oiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjM1OTU2MTA0MTk0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgUkRTIElQdjYgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ3ZlIGdvdCB0aGlzIHBhdGNoIGhlcmUgdGhhdCdzIHRvdWNoaW5nIGBuZXQvcmRzL2liLmNgIGFuZCBgbmV0L3Jkcy90Y3AuY2AuIEl0IGxvb2tzIGxpa2Ugd2UncmUgYWRkaW5nIHNvbWUgYGlwdjZfbW9kX2VuYWJsZWQoKWAgY2hlY2tzIGJlZm9yZSB3ZSBkbyBhbnl0aGluZyBJUHY2IHJlbGF0ZWQgaW4gYHJkc19pYl9sYWRkcl9jaGVja19jbWAgYW5kIGByZHNfdGNwX2xhZGRyX2NoZWNrYC4gVGhpcyBpcyBhIGNsZWFyIGZ1bmN0aW9uYWwgY2hhbmdlLCBub3QganVzdCBhIGNvc21ldGljIHR3ZWFrLiBOb3csIG15IGZpcnN0IHRob3VnaHQgaXMsIFwiV2hhdCBjb25maWd1cmF0aW9uIG9wdGlvbnMgYXJlIGNvbnRyb2xsaW5nIHRoaXMgYmVoYXZpb3I/XCIgU3BlY2lmaWNhbGx5LCBJIG5lZWQgdG8gdW5kZXJzdGFuZCB3aGF0IHRyaWdnZXJzIHRoZSBidWlsZCBvZiBSRFMsIFJEU19UQ1AsIGFuZCBSRFNfSUIuIFRpbWUgdG8gcHVsbCBvdXQgYGdyZXBwZXJgIGFuZCBzZWFyY2ggZm9yIHRob3NlIGZ1bmN0aW9uIG5hbWVzLCBgcmRzX2liX2xhZGRyX2NoZWNrX2NtYCBhbmQgYHJkc190Y3BfbGFkZHJfY2hlY2tgLiBJIG5lZWQgdG8gZmlndXJlIG91dCB0aGUgZGVwZW5kZW5jaWVzIGFuZCBlbnN1cmUgdGhlIG5lY2Vzc2FyeSBjb25maWcgb3B0aW9ucyBhcmUgc2V0IHRvIGVuYWJsZSBJUHY2IHN1cHBvcnQgY29ycmVjdGx5IHdoZW4gdGhpcyBwYXRjaCBpcyBhcHBsaWVkLiBVbmRlcnN0YW5kaW5nIHRoZSBjb25maWcgZGVwZW5kZW5jaWVzIGlzIGtleSB0byBjb25maXJtaW5nIHRoZSBwYXRjaCdzIGNvcnJlY3RuZXNzIGFuZCB1bmRlcnN0YW5kaW5nIGhvdyBpdCBpbnRlcmFjdHMgd2l0aCB0aGUgZXhpc3Rpbmcgc3lzdGVtLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMTA5LCJPdXRwdXRUb2tlbnMiOjY2LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTMwLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMDI6NTg6NTYuNzYzMjgwMDYxWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIwNTcyODUyOCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJyZHNfaWJfbGFkZHJfY2hlY2tfY21cIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L3Jkcy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwibmV0L3Jkcy9pYi5jPTM4MT1zdGF0aWMgdm9pZCByZHM2X2liX2ljX2luZm8oc3RydWN0IHNvY2tldCAqc29jaywgdW5zaWduZWQgaW50IGxlbixcXG4tLVxcbm5ldC9yZHMvaWIuYy00MDMtICovXFxubmV0L3Jkcy9pYi5jOjQwNDpzdGF0aWMgaW50IHJkc19pYl9sYWRkcl9jaGVja19jbShzdHJ1Y3QgbmV0ICpuZXQsIGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqYWRkcixcXG5uZXQvcmRzL2liLmMtNDA1LVxcdFxcdFxcdFxcdCBfX3UzMiBzY29wZV9pZClcXG4tLVxcbm5ldC9yZHMvaWIuYz00OTQ9c3RhdGljIGludCByZHNfaWJfbGFkZHJfY2hlY2soc3RydWN0IG5ldCAqbmV0LCBjb25zdCBzdHJ1Y3QgaW42X2FkZHIgKmFkZHIsXFxuLS1cXG5uZXQvcmRzL2liLmMtNTEwLVxcbm5ldC9yZHMvaWIuYzo1MTE6XFx0cmV0dXJuIHJkc19pYl9sYWRkcl9jaGVja19jbShuZXQsIGFkZHIsIHNjb3BlX2lkKTtcXG5uZXQvcmRzL2liLmMtNTEyLX1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMDI6NTg6NTYuOTY5MDEyODk5WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEwOTQ3OTk3OSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJyZHNfdGNwX2xhZGRyX2NoZWNrXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcIm5ldC9yZHMvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC9yZHMvdGNwLmM9Mjg0PXN0YXRpYyB2b2lkIHJkczZfdGNwX3RjX2luZm8oc3RydWN0IHNvY2tldCAqc29jaywgdW5zaWduZWQgaW50IGxlbixcXG4tLVxcbm5ldC9yZHMvdGNwLmMtMzQwLVxcbm5ldC9yZHMvdGNwLmM6MzQxOmludCByZHNfdGNwX2xhZGRyX2NoZWNrKHN0cnVjdCBuZXQgKm5ldCwgY29uc3Qgc3RydWN0IGluNl9hZGRyICphZGRyLFxcbm5ldC9yZHMvdGNwLmMtMzQyLVxcdFxcdFxcdF9fdTMyIHNjb3BlX2lkKVxcbi0tXFxubmV0L3Jkcy90Y3AuYz00ODE9c3RydWN0IHJkc190cmFuc3BvcnQgcmRzX3RjcF90cmFuc3BvcnQgPSB7XFxubmV0L3Jkcy90Y3AuYzo0ODI6XFx0LmxhZGRyX2NoZWNrXFx0XFx0PSByZHNfdGNwX2xhZGRyX2NoZWNrLFxcbm5ldC9yZHMvdGNwLmMtNDgzLVxcdC54bWl0X3BhdGhfcHJlcGFyZVxcdD0gcmRzX3RjcF94bWl0X3BhdGhfcHJlcGFyZSxcXG4tLVxcbm5ldC9yZHMvdGNwLmg9ODE9dm9pZCByZHNfdGNwX2FjY2VwdF93b3JrKHN0cnVjdCByZHNfdGNwX25ldCAqcnRuKTtcXG5uZXQvcmRzL3RjcC5oOjgyOmludCByZHNfdGNwX2xhZGRyX2NoZWNrKHN0cnVjdCBuZXQgKm5ldCwgY29uc3Qgc3RydWN0IGluNl9hZGRyICphZGRyLFxcbm5ldC9yZHMvdGNwLmgtODMtXFx0XFx0XFx0X191MzIgc2NvcGVfaWQpO1xcbi0tXFxubmV0L3Jkcy90Y3BfbGlzdGVuLmM9MTUyPWludCByZHNfdGNwX2FjY2VwdF9vbmUoc3RydWN0IHJkc190Y3BfbmV0ICpydG4pXFxuLS1cXG5uZXQvcmRzL3RjcF9saXN0ZW4uYy0yMTktXFxubmV0L3Jkcy90Y3BfbGlzdGVuLmM6MjIwOlxcdGlmICghcmRzX3RjcF9sYWRkcl9jaGVjayhzb2NrX25ldChsaXN0ZW5fc29jay1cXHUwMDNlc2spLCBwZWVyX2FkZHIsIGRldl9pZikpIHtcXG5uZXQvcmRzL3RjcF9saXN0ZW4uYy0yMjEtXFx0XFx0LyogbG9jYWwgYWRkcmVzcyBjb25uZWN0aW9uIGlzIG9ubHkgYWxsb3dlZCB2aWEgbG9vcGJhY2sgKi9cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMDI6NTg6NTcuMDc4NDk5MjI4WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTU0NDcxNDc0MjEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSBhdHRlbXB0IGF0IHN1bW1hcml6aW5nIHRoYXQgdGhvdWdodCBwcm9jZXNzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlOlxuXG4qKkNoZWNraW5nIEtjb25maWcgZm9yIFJEUyBDb25maWd1cmF0aW9uKipcblxuQWxyaWdodCwgbGV0J3MgZ2V0IGRvd24gdG8gYnJhc3MgdGFja3MuIEkgbmVlZCB0byBxdWlja2x5IGFzY2VydGFpbiBpZiB0aGUgUmVtb3RlIERpcmVjdCBNZW1vcnkgQWNjZXNzIChSRE1BKSBvdmVyIFNoYXJlZCBNZW1vcnkgKFJEUykgY29uZmlndXJhdGlvbiBvcHRpb25zIGFyZSBjb3JyZWN0bHkgZGVmaW5lZCBpbiB0aGUgY3VycmVudCBrZXJuZWwgY29uZmlndXJhdGlvbi4gQmVmb3JlIGRpdmluZyBpbnRvIGRlYnVnZ2luZyBvciBwZXJmb3JtYW5jZSBhbmFseXNpcywgdGhpcyBpcyB0aGUgbG9naWNhbCBmaXJzdCBzdGVwLiBJIG5lZWQgdG8gY29uZmlybSBpZiBSRFMgaXMgZW5hYmxlZCBhbmQsIG1vcmUgaW1wb3J0YW50bHksIGhvdyBpdCdzIGVuYWJsZWQuIEFyZSB0aGUgYXBwcm9wcmlhdGUgbW9kdWxlcyBidWlsdD8gQXJlIHRoZXJlIGFueSBjb25kaXRpb25hbCBkZXBlbmRlbmNpZXMgSSdtIG92ZXJsb29raW5nPyBBIHF1aWNrIHNjYW4gb2YgYEtjb25maWdgIHdpbGwgdGVsbCBtZSBpZiB0aGUgcmVsZXZhbnQgc3ltYm9scyAoZS5nLiwgYENPTkZJR19SRFNgLCBgQ09ORklHX1JEU19SRE1BYCwgZXRjLikgYXJlIHByb3Blcmx5IHNldCBhbmQsIGlmIHNvLCB3aGF0IHZhbHVlcyB0aGV5J3JlIGFzc2lnbmVkLiBUaGlzIHdpbGwgaW5mb3JtIG15IG5leHQgc3RlcHMuIFRoaXMgaXMgYSBmdW5kYW1lbnRhbCBjaGVjaywgc2F2aW5nIHRpbWUgYW5kIHBvdGVudGlhbCByYWJiaXQgaG9sZXMgbGF0ZXIuIEkgZXhwZWN0IHRvIGJlIGFibGUgdG8gdGVsbCBhdCBhIGdsYW5jZSwgYmFzZWQgb24gZXhwZXJpZW5jZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MzE5OCwiT3V0cHV0VG9rZW5zIjoyNiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjksIlRvb2xDYWxscyI6WyJncmVwcGVyIiwiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA5VDAyOjU5OjEyLjUyNTY0ODgyOVoiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0OTQzNzcyMjUsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIFJEU1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvcmRzL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQvcmRzL0tjb25maWctMi1cXG5uZXQvcmRzL0tjb25maWc6Mzpjb25maWcgUkRTXFxubmV0L3Jkcy9LY29uZmlnLTQtXFx0dHJpc3RhdGUgXFxcIlRoZSBSZWxpYWJsZSBEYXRhZ3JhbSBTb2NrZXRzIFByb3RvY29sXFxcIlxcbi0tXFxubmV0L3Jkcy9LY29uZmlnLTktXFxubmV0L3Jkcy9LY29uZmlnOjEwOmNvbmZpZyBSRFNfUkRNQVxcbm5ldC9yZHMvS2NvbmZpZy0xMS1cXHR0cmlzdGF0ZSBcXFwiUkRTIG92ZXIgSW5maW5pYmFuZFxcXCJcXG4tLVxcbm5ldC9yZHMvS2NvbmZpZy0xNi1cXG5uZXQvcmRzL0tjb25maWc6MTc6Y29uZmlnIFJEU19UQ1BcXG5uZXQvcmRzL0tjb25maWctMTgtXFx0dHJpc3RhdGUgXFxcIlJEUyBvdmVyIFRDUFxcXCJcXG4tLVxcbm5ldC9yZHMvS2NvbmZpZy0yNC1cXG5uZXQvcmRzL0tjb25maWc6MjU6Y29uZmlnIFJEU19ERUJVR1xcbm5ldC9yZHMvS2NvbmZpZy0yNi1cXHRib29sIFxcXCJSRFMgZGVidWdnaW5nIG1lc3NhZ2VzXFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQwMjo1OToxMy4wMjAwMzI3NDRaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozMjQxMzQyMjAxNSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIEFkZHJlc3MgQ2hlY2sgRnVuY3Rpb25zKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBjb2RlIGFuZCBpdCdzIGNsZWFyIHdlJ3JlIGRlYWxpbmcgd2l0aCBuZXR3b3JrIGFkZHJlc3MgY2hlY2tzLCBzcGVjaWZpY2FsbHkgcmVsYXRlZCB0byBSZW1vdGUgRGlyZWN0IE1lbW9yeSBBY2Nlc3MgKFJETUEpIGFuZCBUQ1AsIGJhc2VkIG9uIHRoZSBzeW1ib2xzIEkgc2VlOiBgUkRTYCwgYFJEU19SRE1BYCwgYW5kIGBSRFNfVENQYC4gQW5kIHdlIGFic29sdXRlbHkgbmVlZCB0byBpbmNsdWRlIGBJUFY2YCBiZWNhdXNlIG9mIHRoYXQgYCNpZiBJU19FTkFCTEVEKENPTkZJR19JUFY2KWAgYmxvY2suXG5cbk15IGltbWVkaWF0ZSBmb2N1cyBpcyBvbiBgcmRzX2liX2xhZGRyX2NoZWNrX2NtYCBhbmQgYHJkc190Y3BfbGFkZHJfY2hlY2tgLiBIbW0sIG5vdyBJIHNlZSB0aGF0IGByZHNfaWJfbGFkZHJfY2hlY2tfY21gIGlzIGRlY2xhcmVkIGFzIGBzdGF0aWNgLCB3aGljaCBpcyBpbnRlcmVzdGluZy4gSG93ZXZlciwgaXQncyBgcmRzX2liX2xhZGRyX2NoZWNrYCB0aGF0IGNhbGxzIGl0LiBHaXZlbiB0aGUgY2FsbCBjaGFpbiBhbmQgcG90ZW50aWFsIGZvciBmdXR1cmUgdXNlLCBJIHRoaW5rIGl0J3MgYmV0dGVyIHRvIGluY2x1ZGUgYm90aCBzeW1ib2xzLCBvciBzaW1wbHkgdXNlIHRoZSBsYXR0ZXIsIHNpbmNlIHRoZSBmb3JtZXIgaXMgYSBkZXRhaWwuIFRoZSBgcmRzX3RjcF9sYWRkcl9jaGVja2AgZnVuY3Rpb24sIG9uIHRoZSBvdGhlciBoYW5kLCBpcyBleHBvcnRlZCwgb3IgYXQgbGVhc3Qgbm90IHN0YXRpYywgd2hpY2ggaXMgZ29vZCB0byBrbm93LlxuXG5KdXN0IHRvIGJlIGFic29sdXRlbHkgc3VyZSwgSSdtIGdvaW5nIHRvIHF1aWNrbHkgZG91YmxlIGNoZWNrIHdoZXRoZXIgYHJkc19pYl9sYWRkcl9jaGVja2AgaXRzZWxmIGlzIGFsc28gZGVjbGFyZWQgYXMgc3RhdGljIG9yIG5vdC4gQmVzdCB0byBhdm9pZCBhbnkgYXNzdW1wdGlvbnMgaGVyZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MzY0NCwiT3V0cHV0VG9rZW5zIjozMiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE2MCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQwMjo1OTo0NS40MzM0NTcwMTlaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjkzOTI3NjUyLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInJkc19pYl9sYWRkcl9jaGVja1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvcmRzL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQvcmRzL2liLmM9MzgxPXN0YXRpYyB2b2lkIHJkczZfaWJfaWNfaW5mbyhzdHJ1Y3Qgc29ja2V0ICpzb2NrLCB1bnNpZ25lZCBpbnQgbGVuLFxcbi0tXFxubmV0L3Jkcy9pYi5jLTQwMy0gKi9cXG5uZXQvcmRzL2liLmM6NDA0OnN0YXRpYyBpbnQgcmRzX2liX2xhZGRyX2NoZWNrX2NtKHN0cnVjdCBuZXQgKm5ldCwgY29uc3Qgc3RydWN0IGluNl9hZGRyICphZGRyLFxcbm5ldC9yZHMvaWIuYy00MDUtXFx0XFx0XFx0XFx0IF9fdTMyIHNjb3BlX2lkKVxcbi0tXFxubmV0L3Jkcy9pYi5jLTQ5My1cXG5uZXQvcmRzL2liLmM6NDk0OnN0YXRpYyBpbnQgcmRzX2liX2xhZGRyX2NoZWNrKHN0cnVjdCBuZXQgKm5ldCwgY29uc3Qgc3RydWN0IGluNl9hZGRyICphZGRyLFxcbm5ldC9yZHMvaWIuYy00OTUtXFx0XFx0XFx0ICAgICAgX191MzIgc2NvcGVfaWQpXFxuLS1cXG5uZXQvcmRzL2liLmMtNTEwLVxcbm5ldC9yZHMvaWIuYzo1MTE6XFx0cmV0dXJuIHJkc19pYl9sYWRkcl9jaGVja19jbShuZXQsIGFkZHIsIHNjb3BlX2lkKTtcXG5uZXQvcmRzL2liLmMtNTEyLX1cXG4tLVxcbm5ldC9yZHMvaWIuYz01NTk9c3RydWN0IHJkc190cmFuc3BvcnQgcmRzX2liX3RyYW5zcG9ydCA9IHtcXG5uZXQvcmRzL2liLmM6NTYwOlxcdC5sYWRkcl9jaGVja1xcdFxcdD0gcmRzX2liX2xhZGRyX2NoZWNrLFxcbm5ldC9yZHMvaWIuYy01NjEtXFx0LnhtaXRfcGF0aF9jb21wbGV0ZVxcdD0gcmRzX2liX3htaXRfcGF0aF9jb21wbGV0ZSxcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMDI6NTk6NDYuMTI3Mzg5OTYxWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjMwNzM3MDE2ODU1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFuYWx5c2lzIG9mIHRoZSBSRFMgTG9jYWwgQWRkcmVzcyBDaGVjayBQYXRjaCoqXG5cbk9rYXksIHNvIHRoZSBgcmRzX2liX2xhZGRyX2NoZWNrYCBmdW5jdGlvbiBpcyBzdGF0aWMsIHdoaWNoIGlzIGdvb2QgdG8ga25vdy4gVGhpcyBtZWFucyBJIG5lZWQgdG8gZm9jdXMgb24gdGhlIHN5bWJvbHMgYHJkc19pYl9sYWRkcl9jaGVja19jbWAgYW5kIGByZHNfdGNwX2xhZGRyX2NoZWNrYC4gSSBjYW4gc2VlIHRoZSByZWxldmFudCBjb25maWd1cmF0aW9ucyBhcmUgYFJEU2AsIGBSRFNfUkRNQWAsIGBSRFNfVENQYCwgYW5kIGBJUFY2YC5cblxuVGhlIHB1cnBvc2Ugb2YgdGhpcyBwYXRjaCBpcyBjbGVhcjogaXQncyBhZGRpbmcgbWlzc2luZyBgaXB2Nl9tb2RfZW5hYmxlZCgpYCBjaGVja3Mgd2l0aGluIHRoZSBSRFMgY29kZSwgc3BlY2lmaWNhbGx5IGZvciBSRFMgb3ZlciBJbmZpbmlCYW5kIGFuZCBSRFMgb3ZlciBUQ1AsIHdoZW4gZGVhbGluZyB3aXRoIGxvY2FsIGFkZHJlc3MgdmFsaWRhdGlvbi4gVGhpcyBpcyBsaWtlbHkgdG8gcHJldmVudCBpc3N1ZXMgaWYgSVB2NiBpcyBkaXNhYmxlZCBidXQgdGhlIGBDT05GSUdfSVBWNmAgb3B0aW9uIGlzIGVuYWJsZWQsIHdoaWNoIGNhbiBiZSBhIHRyaWNreSBjb25maWd1cmF0aW9uIHNjZW5hcmlvLiBJdCdzIGEgc2Vuc2libGUgc2FmZWd1YXJkLlxuXG5Ob3csIEkgbmVlZCB0byB2ZXJpZnkgdGhhdCBgaXB2Nl9tb2RfZW5hYmxlZCgpYCBpcyBhY3R1YWxseSByZWFjaGFibGUgd2l0aGluIHRoaXMgY29kZSBwYXRoLiBMZXQgbWUgdGhpbmsuLi4geWVzLCBpZiBhbiBSRFMgc29ja2V0IGlzIGJvdW5kIHRvIGFuIElQdjYgYWRkcmVzcywgaXQnbGwgdHJpZ2dlciB0aGUgYGxhZGRyX2NoZWNrYCBmdW5jdGlvbi4gU28gdGhlIGRlcGVuZGVuY3kgaXMgdmFsaWQuXG5cbkkgYW0gc2F0aXNmaWVkIHRoYXQgdGhlIHBhdGNoIGFkZHJlc3NlcyBhIGdlbnVpbmUgY29uY2VybiwgYW5kIHRoZSBhcHByb2FjaCBpcyBzb3VuZC4gTGV0J3MgbWFrZSBzdXJlIHRoZSByZXN1bHRzIHJlZmxlY3QgdGhpcy5cblxuXG4iLCJJbnB1dFRva2VucyI6NDQ3NSwiT3V0cHV0VG9rZW5zIjoxMTgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNjIsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMDM6MDA6MTYuODY0NDEwMjE1WiIsIlNlcSI6MTEsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjIzMTMyMTQ3LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJSRFNcIixcbiAgICBcIlJEU19SRE1BXCIsXG4gICAgXCJSRFNfVENQXCIsXG4gICAgXCJJUFY2XCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwicmRzX2liX2xhZGRyX2NoZWNrX2NtXCIsXG4gICAgXCJyZHNfdGNwX2xhZGRyX2NoZWNrXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBtaXNzaW5nIGBpcHY2X21vZF9lbmFibGVkKClgIGNoZWNrcyBpbiBSRFMgb3ZlciBJQiBhbmQgUkRTIG92ZXIgVENQIHdoZW4gY2hlY2tpbmcgbG9jYWwgYWRkcmVzc2VzLCBwcmV2ZW50aW5nIHBvdGVudGlhbCBpc3N1ZXMgd2hlbiBJUHY2IG1vZHVsZSBpcyBkaXNhYmxlZCBidXQgQ09ORklHX0lQVjYgaXMgZW5hYmxlZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJSRFNcIixcbiAgICBcIlJEU19SRE1BXCIsXG4gICAgXCJSRFNfVENQXCIsXG4gICAgXCJJUFY2XCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwicmRzX2liX2xhZGRyX2NoZWNrX2NtXCIsXG4gICAgXCJyZHNfdGNwX2xhZGRyX2NoZWNrXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBtaXNzaW5nIGBpcHY2X21vZF9lbmFibGVkKClgIGNoZWNrcyBpbiBSRFMgb3ZlciBJQiBhbmQgUkRTIG92ZXIgVENQIHdoZW4gY2hlY2tpbmcgbG9jYWwgYWRkcmVzc2VzLCBwcmV2ZW50aW5nIHBvdGVudGlhbCBpc3N1ZXMgd2hlbiBJUHY2IG1vZHVsZSBpcyBkaXNhYmxlZCBidXQgQ09ORklHX0lQVjYgaXMgZW5hYmxlZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLmR1cmF0aW9uIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnTGxtVG9rZW4gPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS50b2tlbnMgLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdUb29sRHVyID0gc3RhdHMudG9vbC5jb3VudCA+IDAgPyAoc3RhdHMudG9vbC5kdXJhdGlvbiAvIHN0YXRzLnRvb2wuY291bnQpLnRvRml4ZWQoMikgOiAwOwoKCQkJY29uc3QgbGxtU3VtYXJ5Q2VsbHMgPSBbc3RhdHMubGxtLmNvdW50LCBzdGF0cy5sbG0udG9rZW5zLCBhdmdMbG1Ub2tlbiwgc3RhdHMubGxtLmR1cmF0aW9uLCBhdmdMbG1EdXJdOwoJCQljb25zdCB0b29sU3VtbWFyeUNlbGxzID0gW3N0YXRzLnRvb2wuY291bnQsIHN0YXRzLnRvb2wuZHVyYXRpb24sIGF2Z1Rvb2xEdXJdOwoKCQkJY29uc3QgbGxtU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGxtX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQlsbG1TdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgbGxtVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQlsbG1TdW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJbGxtVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJbGxtU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQobGxtVHIpOwoKCQkJY29uc3QgdG9vbFN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2xfc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgdG9vbFRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJdG9vbFN1bW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJdG9vbFRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZCh0b29sVHIpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBmaWx0ZXJlZFN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBbImxsbSIsICJ0b29sIl0uaW5jbHVkZXMoZC5UeXBlKSk7CgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ0R1cmF0aW9uJyk7CgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7IAoKCQkJZmlsdGVyZWRTdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJCgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsKCQkJCWxldCB0b29sdGlwID0gcy5OYW1lOwoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIgJiYgcy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoJCQkJZGF0YS5hZGRSb3coW2Ake3MuU2VxfWAsIGR1ciwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1RpbWUgQ29uc3VtcHRpb24gb2YgTExNL1Rvb2wgQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTS9Ub29sIFN0ZXBzJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ1NlY29uZHMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1cmF0aW9uX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBsbG1TdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gZC5UeXBlID09PSAibGxtIik7CgkJCWlmIChsbG1TdGVwcy5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwkJCQoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ1Rva2VucycpOwkJCQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICdzdHlsZSd9KTsJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7CQoKCQkJY29uc3QgYWdlbnRDb2xvcnMgPSB7fTsKCQkJY29uc3QgcGFsZXR0ZSA9IFsnIzQyODVGNCcsICcjREI0NDM3JywgJyNGNEI0MDAnLCAnIzBGOUQ1OCcsICcjQUI0N0JDJywgJyMwMEFDQzEnXTsKCQkJbGV0IGNvbG9ySWR4ID0gMDsKCQkJY29uc3QgYWdlbnRMTE1Db3VudHMgPSB7fTsKCQkJbGxtU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCWlmICghYWdlbnRDb2xvcnNbcy5OYW1lXSkgewoJCQkJCWFnZW50Q29sb3JzW3MuTmFtZV0gPSBwYWxldHRlW2NvbG9ySWR4ICUgcGFsZXR0ZS5sZW5ndGhdOwoJCQkJCWNvbG9ySWR4Kys7CgkJCQl9CgoJCQkJYWdlbnRMTE1Db3VudHNbcy5OYW1lXSA9IChhZ2VudExMTUNvdW50c1tzLk5hbWVdIHx8IDApICsgMTsKCQkJCWNvbnN0IGxhYmVsID0gYCR7cy5OYW1lfS0ke2FnZW50TExNQ291bnRzW3MuTmFtZV19YDsKCQkJCWNvbnN0IHRvdGFsVG9rZW5zID0gcy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2VuczsKCQkJCWNvbnN0IHN0eWxlID0gYGNvbG9yOiAke2FnZW50Q29sb3JzW3MuTmFtZV19YDsKCQkJCWxldCB0b29sdGlwID0gYFRvdGFsIFRva2VuczogJHt0b3RhbFRva2Vuc31cbihJbjogJHtzLklucHV0VG9rZW5zfSwgT3V0OiAke3MuT3V0cHV0VG9rZW5zfSwgVGhvdWdodHM6ICR7cy5PdXRwdXRUaG91Z2h0c1Rva2Vuc30pYDsKCQkJCWlmIChzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgoJCQkJZGF0YS5hZGRSb3coW2xhYmVsLCB0b3RhbFRva2Vucywgc3R5bGUsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUb2tlbiBDb25zdW1wdGlvbiBieSBMTE0gQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTSBDYWxsIFNlcXVlbmNlJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ0NvbnN1bWVkIFRva2VucycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9rZW5fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCQlsZXQgYWxsRXhwYW5kZWQgPSBmYWxzZTsKCQlmdW5jdGlvbiB0b2dnbGVBbGxEZXRhaWxzKCkgewoJCQlhbGxFeHBhbmRlZCA9ICFhbGxFeHBhbmRlZDsKCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGV0YWlscycpLmZvckVhY2goZCA9PiB7CgkJCQlpZiAoYWxsRXhwYW5kZWQpIGQuc2V0QXR0cmlidXRlKCdvcGVuJywgJycpOwoJCQkJZWxzZSBkLnJlbW92ZUF0dHJpYnV0ZSgnb3BlbicpOwoJCQl9KTsKCQl9Cgk8L3NjcmlwdD4KCgo8L2JvZHk+CjwvaHRtbD4K" },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-workflow72dxw[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-09 02:47:12 +0000 UTC FinishedAt: 2026-07-09 03:00:18 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "net", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git", "commit_hash": "6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "RDS", "RDS_RDMA", "RDS_TCP", "IPV6" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "net", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git", "commit_hash": "6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "RDS", "RDS_RDMA", "RDS_TCP", "IPV6" ], "series_id": "9dc07b61-b3cf-419e-ab0b-8d9251cadc60" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "rds_ib_laddr_check_cm", "rds_tcp_laddr_check" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDAyOjU4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1JEUyYjMzQ7LAogICAgJiMzNDtSRFNfUkRNQSYjMzQ7LAogICAgJiMzNDtSRFNfVENQJiMzNDssCiAgICAmIzM0O0lQVjYmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtyZHNfaWJfbGFkZHJfY2hlY2tfY20mIzM0OywKICAgICYjMzQ7cmRzX3RjcF9sYWRkcl9jaGVjayYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBhZGRzIG1pc3NpbmcgYGlwdjZfbW9kX2VuYWJsZWQoKWAgY2hlY2tzIGluIFJEUyBvdmVyIElCIGFuZCBSRFMgb3ZlciBUQ1Agd2hlbiBjaGVja2luZyBsb2NhbCBhZGRyZXNzZXMsIHByZXZlbnRpbmcgcG90ZW50aWFsIGlzc3VlcyB3aGVuIElQdjYgbW9kdWxlIGlzIGRpc2FibGVkIGJ1dCBDT05GSUdfSVBWNiBpcyBlbmFibGVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDAyOjU4PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgODk1NDVmMWRhOGIyOWVkZWMyZDBlZWZjMGY0ODBkNDNhODBkMmU1MFxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBUaHUgSnVsIDkgMDI6NTg6MTcgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvbmV0L3Jkcy9pYi5jIGIvbmV0L3Jkcy9pYi5jXG5pbmRleCAzOWY4NzI3MmUwNzFiZi4uOGY5Y2Y0OTE5ODRmMTIgMTAwNjQ0XG4tLS0gYS9uZXQvcmRzL2liLmNcbiYjNDM7JiM0MzsmIzQzOyBiL25ldC9yZHMvaWIuY1xuQEAgLTQyOSw2ICYjNDM7NDI5LDEwIEBAIHN0YXRpYyBpbnQgcmRzX2liX2xhZGRyX2NoZWNrX2NtKHN0cnVjdCBuZXQgKm5ldCwgY29uc3Qgc3RydWN0IGluNl9hZGRyICphZGRyLFxuIFx0XHRzYSA9IChzdHJ1Y3Qgc29ja2FkZHIgKilcdTAwMjZzaW47XG4gXHR9IGVsc2Uge1xuICNpZiBJU19FTkFCTEVEKENPTkZJR19JUFY2KVxuJiM0MztcdFx0aWYgKCFpcHY2X21vZF9lbmFibGVkKCkpIHtcbiYjNDM7XHRcdFx0cmV0ID0gLUVBRERSTk9UQVZBSUw7XG4mIzQzO1x0XHRcdGdvdG8gb3V0O1xuJiM0MztcdFx0fVxuIFx0XHRtZW1zZXQoXHUwMDI2c2luNiwgMCwgc2l6ZW9mKHNpbjYpKTtcbiBcdFx0c2luNi5zaW42X2ZhbWlseSA9IEFGX0lORVQ2O1xuIFx0XHRzaW42LnNpbjZfYWRkciA9ICphZGRyO1xuZGlmZiAtLWdpdCBhL25ldC9yZHMvdGNwLmMgYi9uZXQvcmRzL3RjcC5jXG5pbmRleCBhMWRlMTE0ZDVlMmUwMS4uOTU1ZDkyMjc3ZDVhNjIgMTAwNjQ0XG4tLS0gYS9uZXQvcmRzL3RjcC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9uZXQvcmRzL3RjcC5jXG5AQCAtMzY2LDkgJiM0MzszNjYsMTEgQEAgaW50IHJkc190Y3BfbGFkZHJfY2hlY2soc3RydWN0IG5ldCAqbmV0LCBjb25zdCBzdHJ1Y3QgaW42X2FkZHIgKmFkZHIsXG4gXHRcdHJjdV9yZWFkX3VubG9jaygpO1xuIFx0fVxuICNpZiBJU19FTkFCTEVEKENPTkZJR19JUFY2KVxuLVx0cmV0ID0gaXB2Nl9jaGtfYWRkcihuZXQsIGFkZHIsIGRldiwgMCk7XG4tXHRpZiAocmV0KVxuLVx0XHRyZXR1cm4gMDtcbiYjNDM7XHRpZiAoaXB2Nl9tb2RfZW5hYmxlZCgpKSB7XG4mIzQzO1x0XHRyZXQgPSBpcHY2X2Noa19hZGRyKG5ldCwgYWRkciwgZGV2LCAwKTtcbiYjNDM7XHRcdGlmIChyZXQpXG4mIzQzO1x0XHRcdHJldHVybiAwO1xuJiM0MztcdH1cbiAjZW5kaWZcbiBcdHJldHVybiAtRUFERFJOT1RBVkFJTDtcbiB9XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMDI6NTg8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7UkRTJiMzNDssCiAgICAmIzM0O1JEU19SRE1BJiMzNDssCiAgICAmIzM0O1JEU19UQ1AmIzM0OywKICAgICYjMzQ7SVBWNiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3Jkc19pYl9sYWRkcl9jaGVja19jbSYjMzQ7LAogICAgJiMzNDtyZHNfdGNwX2xhZGRyX2NoZWNrJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgbWlzc2luZyBgaXB2Nl9tb2RfZW5hYmxlZCgpYCBjaGVja3MgaW4gUkRTIG92ZXIgSUIgYW5kIFJEUyBvdmVyIFRDUCB3aGVuIGNoZWNraW5nIGxvY2FsIGFkZHJlc3NlcywgcHJldmVudGluZyBwb3RlbnRpYWwgaXNzdWVzIHdoZW4gSVB2NiBtb2R1bGUgaXMgZGlzYWJsZWQgYnV0IENPTkZJR19JUFY2IGlzIGVuYWJsZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IDg5NTQ1ZjFkYThiMjllZGVjMmQwZWVmYzBmNDgwZDQzYTgwZDJlNTAKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgVGh1IEp1bCA5IDAyOjU4OjE3IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvbmV0L3Jkcy9pYi5jIGIvbmV0L3Jkcy9pYi5jCmluZGV4IDM5Zjg3MjcyZTA3MWJmLi44ZjljZjQ5MTk4NGYxMiAxMDA2NDQKLS0tIGEvbmV0L3Jkcy9pYi5jCiYjNDM7JiM0MzsmIzQzOyBiL25ldC9yZHMvaWIuYwpAQCAtNDI5LDYgJiM0Mzs0MjksMTAgQEAgc3RhdGljIGludCByZHNfaWJfbGFkZHJfY2hlY2tfY20oc3RydWN0IG5ldCAqbmV0LCBjb25zdCBzdHJ1Y3QgaW42X2FkZHIgKmFkZHIsCiAJCXNhID0gKHN0cnVjdCBzb2NrYWRkciAqKSZhbXA7c2luOwogCX0gZWxzZSB7CiAjaWYgSVNfRU5BQkxFRChDT05GSUdfSVBWNikKJiM0MzsJCWlmICghaXB2Nl9tb2RfZW5hYmxlZCgpKSB7CiYjNDM7CQkJcmV0ID0gLUVBRERSTk9UQVZBSUw7CiYjNDM7CQkJZ290byBvdXQ7CiYjNDM7CQl9CiAJCW1lbXNldCgmYW1wO3NpbjYsIDAsIHNpemVvZihzaW42KSk7CiAJCXNpbjYuc2luNl9mYW1pbHkgPSBBRl9JTkVUNjsKIAkJc2luNi5zaW42X2FkZHIgPSAqYWRkcjsKZGlmZiAtLWdpdCBhL25ldC9yZHMvdGNwLmMgYi9uZXQvcmRzL3RjcC5jCmluZGV4IGExZGUxMTRkNWUyZTAxLi45NTVkOTIyNzdkNWE2MiAxMDA2NDQKLS0tIGEvbmV0L3Jkcy90Y3AuYwomIzQzOyYjNDM7JiM0MzsgYi9uZXQvcmRzL3RjcC5jCkBAIC0zNjYsOSAmIzQzOzM2NiwxMSBAQCBpbnQgcmRzX3RjcF9sYWRkcl9jaGVjayhzdHJ1Y3QgbmV0ICpuZXQsIGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqYWRkciwKIAkJcmN1X3JlYWRfdW5sb2NrKCk7CiAJfQogI2lmIElTX0VOQUJMRUQoQ09ORklHX0lQVjYpCi0JcmV0ID0gaXB2Nl9jaGtfYWRkcihuZXQsIGFkZHIsIGRldiwgMCk7Ci0JaWYgKHJldCkKLQkJcmV0dXJuIDA7CiYjNDM7CWlmIChpcHY2X21vZF9lbmFibGVkKCkpIHsKJiM0MzsJCXJldCA9IGlwdjZfY2hrX2FkZHIobmV0LCBhZGRyLCBkZXYsIDApOwomIzQzOwkJaWYgKHJldCkKJiM0MzsJCQlyZXR1cm4gMDsKJiM0MzsJfQogI2VuZGlmCiAJcmV0dXJuIC1FQUREUk5PVEFWQUlMOwogfQo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wOSAwMjo1ODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMTA5CgkJCQkJCQlvdXRwdXQ6IDY2CgkJCQkJCQl0aG91Z2h0czogMTMwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgUkRTIElQdjYgUGF0Y2gqKgoKT2theSwgc28gSSYjMzk7dmUgZ290IHRoaXMgcGF0Y2ggaGVyZSB0aGF0JiMzOTtzIHRvdWNoaW5nIGBuZXQvcmRzL2liLmNgIGFuZCBgbmV0L3Jkcy90Y3AuY2AuIEl0IGxvb2tzIGxpa2Ugd2UmIzM5O3JlIGFkZGluZyBzb21lIGBpcHY2X21vZF9lbmFibGVkKClgIGNoZWNrcyBiZWZvcmUgd2UgZG8gYW55dGhpbmcgSVB2NiByZWxhdGVkIGluIGByZHNfaWJfbGFkZHJfY2hlY2tfY21gIGFuZCBgcmRzX3RjcF9sYWRkcl9jaGVja2AuIFRoaXMgaXMgYSBjbGVhciBmdW5jdGlvbmFsIGNoYW5nZSwgbm90IGp1c3QgYSBjb3NtZXRpYyB0d2Vhay4gTm93LCBteSBmaXJzdCB0aG91Z2h0IGlzLCAmIzM0O1doYXQgY29uZmlndXJhdGlvbiBvcHRpb25zIGFyZSBjb250cm9sbGluZyB0aGlzIGJlaGF2aW9yPyYjMzQ7IFNwZWNpZmljYWxseSwgSSBuZWVkIHRvIHVuZGVyc3RhbmQgd2hhdCB0cmlnZ2VycyB0aGUgYnVpbGQgb2YgUkRTLCBSRFNfVENQLCBhbmQgUkRTX0lCLiBUaW1lIHRvIHB1bGwgb3V0IGBncmVwcGVyYCBhbmQgc2VhcmNoIGZvciB0aG9zZSBmdW5jdGlvbiBuYW1lcywgYHJkc19pYl9sYWRkcl9jaGVja19jbWAgYW5kIGByZHNfdGNwX2xhZGRyX2NoZWNrYC4gSSBuZWVkIHRvIGZpZ3VyZSBvdXQgdGhlIGRlcGVuZGVuY2llcyBhbmQgZW5zdXJlIHRoZSBuZWNlc3NhcnkgY29uZmlnIG9wdGlvbnMgYXJlIHNldCB0byBlbmFibGUgSVB2NiBzdXBwb3J0IGNvcnJlY3RseSB3aGVuIHRoaXMgcGF0Y2ggaXMgYXBwbGllZC4gVW5kZXJzdGFuZGluZyB0aGUgY29uZmlnIGRlcGVuZGVuY2llcyBpcyBrZXkgdG8gY29uZmlybWluZyB0aGUgcGF0Y2gmIzM5O3MgY29ycmVjdG5lc3MgYW5kIHVuZGVyc3RhbmRpbmcgaG93IGl0IGludGVyYWN0cyB3aXRoIHRoZSBleGlzdGluZyBzeXN0ZW0uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMDI6NTg8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7cmRzX2liX2xhZGRyX2NoZWNrX2NtJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L3Jkcy8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7bmV0L3Jkcy9pYi5jPTM4MT1zdGF0aWMgdm9pZCByZHM2X2liX2ljX2luZm8oc3RydWN0IHNvY2tldCAqc29jaywgdW5zaWduZWQgaW50IGxlbixcbi0tXG5uZXQvcmRzL2liLmMtNDAzLSAqL1xubmV0L3Jkcy9pYi5jOjQwNDpzdGF0aWMgaW50IHJkc19pYl9sYWRkcl9jaGVja19jbShzdHJ1Y3QgbmV0ICpuZXQsIGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqYWRkcixcbm5ldC9yZHMvaWIuYy00MDUtXHRcdFx0XHQgX191MzIgc2NvcGVfaWQpXG4tLVxubmV0L3Jkcy9pYi5jPTQ5ND1zdGF0aWMgaW50IHJkc19pYl9sYWRkcl9jaGVjayhzdHJ1Y3QgbmV0ICpuZXQsIGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqYWRkcixcbi0tXG5uZXQvcmRzL2liLmMtNTEwLVxubmV0L3Jkcy9pYi5jOjUxMTpcdHJldHVybiByZHNfaWJfbGFkZHJfY2hlY2tfY20obmV0LCBhZGRyLCBzY29wZV9pZCk7XG5uZXQvcmRzL2liLmMtNTEyLX1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wOSAwMjo1ODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtyZHNfdGNwX2xhZGRyX2NoZWNrJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L3Jkcy8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7bmV0L3Jkcy90Y3AuYz0yODQ9c3RhdGljIHZvaWQgcmRzNl90Y3BfdGNfaW5mbyhzdHJ1Y3Qgc29ja2V0ICpzb2NrLCB1bnNpZ25lZCBpbnQgbGVuLFxuLS1cbm5ldC9yZHMvdGNwLmMtMzQwLVxubmV0L3Jkcy90Y3AuYzozNDE6aW50IHJkc190Y3BfbGFkZHJfY2hlY2soc3RydWN0IG5ldCAqbmV0LCBjb25zdCBzdHJ1Y3QgaW42X2FkZHIgKmFkZHIsXG5uZXQvcmRzL3RjcC5jLTM0Mi1cdFx0XHRfX3UzMiBzY29wZV9pZClcbi0tXG5uZXQvcmRzL3RjcC5jPTQ4MT1zdHJ1Y3QgcmRzX3RyYW5zcG9ydCByZHNfdGNwX3RyYW5zcG9ydCA9IHtcbm5ldC9yZHMvdGNwLmM6NDgyOlx0LmxhZGRyX2NoZWNrXHRcdD0gcmRzX3RjcF9sYWRkcl9jaGVjayxcbm5ldC9yZHMvdGNwLmMtNDgzLVx0LnhtaXRfcGF0aF9wcmVwYXJlXHQ9IHJkc190Y3BfeG1pdF9wYXRoX3ByZXBhcmUsXG4tLVxubmV0L3Jkcy90Y3AuaD04MT12b2lkIHJkc190Y3BfYWNjZXB0X3dvcmsoc3RydWN0IHJkc190Y3BfbmV0ICpydG4pO1xubmV0L3Jkcy90Y3AuaDo4MjppbnQgcmRzX3RjcF9sYWRkcl9jaGVjayhzdHJ1Y3QgbmV0ICpuZXQsIGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqYWRkcixcbm5ldC9yZHMvdGNwLmgtODMtXHRcdFx0X191MzIgc2NvcGVfaWQpO1xuLS1cbm5ldC9yZHMvdGNwX2xpc3Rlbi5jPTE1Mj1pbnQgcmRzX3RjcF9hY2NlcHRfb25lKHN0cnVjdCByZHNfdGNwX25ldCAqcnRuKVxuLS1cbm5ldC9yZHMvdGNwX2xpc3Rlbi5jLTIxOS1cbm5ldC9yZHMvdGNwX2xpc3Rlbi5jOjIyMDpcdGlmICghcmRzX3RjcF9sYWRkcl9jaGVjayhzb2NrX25ldChsaXN0ZW5fc29jay1cdTAwM2VzayksIHBlZXJfYWRkciwgZGV2X2lmKSkge1xubmV0L3Jkcy90Y3BfbGlzdGVuLmMtMjIxLVx0XHQvKiBsb2NhbCBhZGRyZXNzIGNvbm5lY3Rpb24gaXMgb25seSBhbGxvd2VkIHZpYSBsb29wYmFjayAqL1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDAyOjU4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMxOTgKCQkJCQkJCW91dHB1dDogMjYKCQkJCQkJCXRob3VnaHRzOiA5CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IGF0dGVtcHQgYXQgc3VtbWFyaXppbmcgdGhhdCB0aG91Z2h0IHByb2Nlc3MsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2U6CgoqKkNoZWNraW5nIEtjb25maWcgZm9yIFJEUyBDb25maWd1cmF0aW9uKioKCkFscmlnaHQsIGxldCYjMzk7cyBnZXQgZG93biB0byBicmFzcyB0YWNrcy4gSSBuZWVkIHRvIHF1aWNrbHkgYXNjZXJ0YWluIGlmIHRoZSBSZW1vdGUgRGlyZWN0IE1lbW9yeSBBY2Nlc3MgKFJETUEpIG92ZXIgU2hhcmVkIE1lbW9yeSAoUkRTKSBjb25maWd1cmF0aW9uIG9wdGlvbnMgYXJlIGNvcnJlY3RseSBkZWZpbmVkIGluIHRoZSBjdXJyZW50IGtlcm5lbCBjb25maWd1cmF0aW9uLiBCZWZvcmUgZGl2aW5nIGludG8gZGVidWdnaW5nIG9yIHBlcmZvcm1hbmNlIGFuYWx5c2lzLCB0aGlzIGlzIHRoZSBsb2dpY2FsIGZpcnN0IHN0ZXAuIEkgbmVlZCB0byBjb25maXJtIGlmIFJEUyBpcyBlbmFibGVkIGFuZCwgbW9yZSBpbXBvcnRhbnRseSwgaG93IGl0JiMzOTtzIGVuYWJsZWQuIEFyZSB0aGUgYXBwcm9wcmlhdGUgbW9kdWxlcyBidWlsdD8gQXJlIHRoZXJlIGFueSBjb25kaXRpb25hbCBkZXBlbmRlbmNpZXMgSSYjMzk7bSBvdmVybG9va2luZz8gQSBxdWljayBzY2FuIG9mIGBLY29uZmlnYCB3aWxsIHRlbGwgbWUgaWYgdGhlIHJlbGV2YW50IHN5bWJvbHMgKGUuZy4sIGBDT05GSUdfUkRTYCwgYENPTkZJR19SRFNfUkRNQWAsIGV0Yy4pIGFyZSBwcm9wZXJseSBzZXQgYW5kLCBpZiBzbywgd2hhdCB2YWx1ZXMgdGhleSYjMzk7cmUgYXNzaWduZWQuIFRoaXMgd2lsbCBpbmZvcm0gbXkgbmV4dCBzdGVwcy4gVGhpcyBpcyBhIGZ1bmRhbWVudGFsIGNoZWNrLCBzYXZpbmcgdGltZSBhbmQgcG90ZW50aWFsIHJhYmJpdCBob2xlcyBsYXRlci4gSSBleHBlY3QgdG8gYmUgYWJsZSB0byB0ZWxsIGF0IGEgZ2xhbmNlLCBiYXNlZCBvbiBleHBlcmllbmNlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDAyOjU5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBSRFMmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtuZXQvcmRzLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvcmRzL0tjb25maWctMi1cbm5ldC9yZHMvS2NvbmZpZzozOmNvbmZpZyBSRFNcbm5ldC9yZHMvS2NvbmZpZy00LVx0dHJpc3RhdGUgXCYjMzQ7VGhlIFJlbGlhYmxlIERhdGFncmFtIFNvY2tldHMgUHJvdG9jb2xcJiMzNDtcbi0tXG5uZXQvcmRzL0tjb25maWctOS1cbm5ldC9yZHMvS2NvbmZpZzoxMDpjb25maWcgUkRTX1JETUFcbm5ldC9yZHMvS2NvbmZpZy0xMS1cdHRyaXN0YXRlIFwmIzM0O1JEUyBvdmVyIEluZmluaWJhbmRcJiMzNDtcbi0tXG5uZXQvcmRzL0tjb25maWctMTYtXG5uZXQvcmRzL0tjb25maWc6MTc6Y29uZmlnIFJEU19UQ1Bcbm5ldC9yZHMvS2NvbmZpZy0xOC1cdHRyaXN0YXRlIFwmIzM0O1JEUyBvdmVyIFRDUFwmIzM0O1xuLS1cbm5ldC9yZHMvS2NvbmZpZy0yNC1cbm5ldC9yZHMvS2NvbmZpZzoyNTpjb25maWcgUkRTX0RFQlVHXG5uZXQvcmRzL0tjb25maWctMjYtXHRib29sIFwmIzM0O1JEUyBkZWJ1Z2dpbmcgbWVzc2FnZXNcJiMzNDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wOSAwMjo1OTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzNjQ0CgkJCQkJCQlvdXRwdXQ6IDMyCgkJCQkJCQl0aG91Z2h0czogMTYwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgQWRkcmVzcyBDaGVjayBGdW5jdGlvbnMqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgY29kZSBhbmQgaXQmIzM5O3MgY2xlYXIgd2UmIzM5O3JlIGRlYWxpbmcgd2l0aCBuZXR3b3JrIGFkZHJlc3MgY2hlY2tzLCBzcGVjaWZpY2FsbHkgcmVsYXRlZCB0byBSZW1vdGUgRGlyZWN0IE1lbW9yeSBBY2Nlc3MgKFJETUEpIGFuZCBUQ1AsIGJhc2VkIG9uIHRoZSBzeW1ib2xzIEkgc2VlOiBgUkRTYCwgYFJEU19SRE1BYCwgYW5kIGBSRFNfVENQYC4gQW5kIHdlIGFic29sdXRlbHkgbmVlZCB0byBpbmNsdWRlIGBJUFY2YCBiZWNhdXNlIG9mIHRoYXQgYCNpZiBJU19FTkFCTEVEKENPTkZJR19JUFY2KWAgYmxvY2suCgpNeSBpbW1lZGlhdGUgZm9jdXMgaXMgb24gYHJkc19pYl9sYWRkcl9jaGVja19jbWAgYW5kIGByZHNfdGNwX2xhZGRyX2NoZWNrYC4gSG1tLCBub3cgSSBzZWUgdGhhdCBgcmRzX2liX2xhZGRyX2NoZWNrX2NtYCBpcyBkZWNsYXJlZCBhcyBgc3RhdGljYCwgd2hpY2ggaXMgaW50ZXJlc3RpbmcuIEhvd2V2ZXIsIGl0JiMzOTtzIGByZHNfaWJfbGFkZHJfY2hlY2tgIHRoYXQgY2FsbHMgaXQuIEdpdmVuIHRoZSBjYWxsIGNoYWluIGFuZCBwb3RlbnRpYWwgZm9yIGZ1dHVyZSB1c2UsIEkgdGhpbmsgaXQmIzM5O3MgYmV0dGVyIHRvIGluY2x1ZGUgYm90aCBzeW1ib2xzLCBvciBzaW1wbHkgdXNlIHRoZSBsYXR0ZXIsIHNpbmNlIHRoZSBmb3JtZXIgaXMgYSBkZXRhaWwuIFRoZSBgcmRzX3RjcF9sYWRkcl9jaGVja2AgZnVuY3Rpb24sIG9uIHRoZSBvdGhlciBoYW5kLCBpcyBleHBvcnRlZCwgb3IgYXQgbGVhc3Qgbm90IHN0YXRpYywgd2hpY2ggaXMgZ29vZCB0byBrbm93LgoKSnVzdCB0byBiZSBhYnNvbHV0ZWx5IHN1cmUsIEkmIzM5O20gZ29pbmcgdG8gcXVpY2tseSBkb3VibGUgY2hlY2sgd2hldGhlciBgcmRzX2liX2xhZGRyX2NoZWNrYCBpdHNlbGYgaXMgYWxzbyBkZWNsYXJlZCBhcyBzdGF0aWMgb3Igbm90LiBCZXN0IHRvIGF2b2lkIGFueSBhc3N1bXB0aW9ucyBoZXJlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDAyOjU5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O3Jkc19pYl9sYWRkcl9jaGVjayYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC9yZHMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O25ldC9yZHMvaWIuYz0zODE9c3RhdGljIHZvaWQgcmRzNl9pYl9pY19pbmZvKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHVuc2lnbmVkIGludCBsZW4sXG4tLVxubmV0L3Jkcy9pYi5jLTQwMy0gKi9cbm5ldC9yZHMvaWIuYzo0MDQ6c3RhdGljIGludCByZHNfaWJfbGFkZHJfY2hlY2tfY20oc3RydWN0IG5ldCAqbmV0LCBjb25zdCBzdHJ1Y3QgaW42X2FkZHIgKmFkZHIsXG5uZXQvcmRzL2liLmMtNDA1LVx0XHRcdFx0IF9fdTMyIHNjb3BlX2lkKVxuLS1cbm5ldC9yZHMvaWIuYy00OTMtXG5uZXQvcmRzL2liLmM6NDk0OnN0YXRpYyBpbnQgcmRzX2liX2xhZGRyX2NoZWNrKHN0cnVjdCBuZXQgKm5ldCwgY29uc3Qgc3RydWN0IGluNl9hZGRyICphZGRyLFxubmV0L3Jkcy9pYi5jLTQ5NS1cdFx0XHQgICAgICBfX3UzMiBzY29wZV9pZClcbi0tXG5uZXQvcmRzL2liLmMtNTEwLVxubmV0L3Jkcy9pYi5jOjUxMTpcdHJldHVybiByZHNfaWJfbGFkZHJfY2hlY2tfY20obmV0LCBhZGRyLCBzY29wZV9pZCk7XG5uZXQvcmRzL2liLmMtNTEyLX1cbi0tXG5uZXQvcmRzL2liLmM9NTU5PXN0cnVjdCByZHNfdHJhbnNwb3J0IHJkc19pYl90cmFuc3BvcnQgPSB7XG5uZXQvcmRzL2liLmM6NTYwOlx0LmxhZGRyX2NoZWNrXHRcdD0gcmRzX2liX2xhZGRyX2NoZWNrLFxubmV0L3Jkcy9pYi5jLTU2MS1cdC54bWl0X3BhdGhfY29tcGxldGVcdD0gcmRzX2liX3htaXRfcGF0aF9jb21wbGV0ZSxcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMDI6NTk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDQ3NQoJCQkJCQkJb3V0cHV0OiAxMTgKCQkJCQkJCXRob3VnaHRzOiAxNjIKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqTXkgQW5hbHlzaXMgb2YgdGhlIFJEUyBMb2NhbCBBZGRyZXNzIENoZWNrIFBhdGNoKioKCk9rYXksIHNvIHRoZSBgcmRzX2liX2xhZGRyX2NoZWNrYCBmdW5jdGlvbiBpcyBzdGF0aWMsIHdoaWNoIGlzIGdvb2QgdG8ga25vdy4gVGhpcyBtZWFucyBJIG5lZWQgdG8gZm9jdXMgb24gdGhlIHN5bWJvbHMgYHJkc19pYl9sYWRkcl9jaGVja19jbWAgYW5kIGByZHNfdGNwX2xhZGRyX2NoZWNrYC4gSSBjYW4gc2VlIHRoZSByZWxldmFudCBjb25maWd1cmF0aW9ucyBhcmUgYFJEU2AsIGBSRFNfUkRNQWAsIGBSRFNfVENQYCwgYW5kIGBJUFY2YC4KClRoZSBwdXJwb3NlIG9mIHRoaXMgcGF0Y2ggaXMgY2xlYXI6IGl0JiMzOTtzIGFkZGluZyBtaXNzaW5nIGBpcHY2X21vZF9lbmFibGVkKClgIGNoZWNrcyB3aXRoaW4gdGhlIFJEUyBjb2RlLCBzcGVjaWZpY2FsbHkgZm9yIFJEUyBvdmVyIEluZmluaUJhbmQgYW5kIFJEUyBvdmVyIFRDUCwgd2hlbiBkZWFsaW5nIHdpdGggbG9jYWwgYWRkcmVzcyB2YWxpZGF0aW9uLiBUaGlzIGlzIGxpa2VseSB0byBwcmV2ZW50IGlzc3VlcyBpZiBJUHY2IGlzIGRpc2FibGVkIGJ1dCB0aGUgYENPTkZJR19JUFY2YCBvcHRpb24gaXMgZW5hYmxlZCwgd2hpY2ggY2FuIGJlIGEgdHJpY2t5IGNvbmZpZ3VyYXRpb24gc2NlbmFyaW8uIEl0JiMzOTtzIGEgc2Vuc2libGUgc2FmZWd1YXJkLgoKTm93LCBJIG5lZWQgdG8gdmVyaWZ5IHRoYXQgYGlwdjZfbW9kX2VuYWJsZWQoKWAgaXMgYWN0dWFsbHkgcmVhY2hhYmxlIHdpdGhpbiB0aGlzIGNvZGUgcGF0aC4gTGV0IG1lIHRoaW5rLi4uIHllcywgaWYgYW4gUkRTIHNvY2tldCBpcyBib3VuZCB0byBhbiBJUHY2IGFkZHJlc3MsIGl0JiMzOTtsbCB0cmlnZ2VyIHRoZSBgbGFkZHJfY2hlY2tgIGZ1bmN0aW9uLiBTbyB0aGUgZGVwZW5kZW5jeSBpcyB2YWxpZC4KCkkgYW0gc2F0aXNmaWVkIHRoYXQgdGhlIHBhdGNoIGFkZHJlc3NlcyBhIGdlbnVpbmUgY29uY2VybiwgYW5kIHRoZSBhcHByb2FjaCBpcyBzb3VuZC4gTGV0JiMzOTtzIG1ha2Ugc3VyZSB0aGUgcmVzdWx0cyByZWZsZWN0IHRoaXMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDAzOjAwPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtSRFMmIzM0OywKICAgICYjMzQ7UkRTX1JETUEmIzM0OywKICAgICYjMzQ7UkRTX1RDUCYjMzQ7LAogICAgJiMzNDtJUFY2JiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7cmRzX2liX2xhZGRyX2NoZWNrX2NtJiMzNDssCiAgICAmIzM0O3Jkc190Y3BfbGFkZHJfY2hlY2smIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBtaXNzaW5nIGBpcHY2X21vZF9lbmFibGVkKClgIGNoZWNrcyBpbiBSRFMgb3ZlciBJQiBhbmQgUkRTIG92ZXIgVENQIHdoZW4gY2hlY2tpbmcgbG9jYWwgYWRkcmVzc2VzLCBwcmV2ZW50aW5nIHBvdGVudGlhbCBpc3N1ZXMgd2hlbiBJUHY2IG1vZHVsZSBpcyBkaXNhYmxlZCBidXQgQ09ORklHX0lQVjYgaXMgZW5hYmxlZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7UkRTJiMzNDssCiAgICAmIzM0O1JEU19SRE1BJiMzNDssCiAgICAmIzM0O1JEU19UQ1AmIzM0OywKICAgICYjMzQ7SVBWNiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3Jkc19pYl9sYWRkcl9jaGVja19jbSYjMzQ7LAogICAgJiMzNDtyZHNfdGNwX2xhZGRyX2NoZWNrJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgbWlzc2luZyBgaXB2Nl9tb2RfZW5hYmxlZCgpYCBjaGVja3MgaW4gUkRTIG92ZXIgSUIgYW5kIFJEUyBvdmVyIFRDUCB3aGVuIGNoZWNraW5nIGxvY2FsIGFkZHJlc3NlcywgcHJldmVudGluZyBwb3RlbnRpYWwgaXNzdWVzIHdoZW4gSVB2NiBtb2R1bGUgaXMgZGlzYWJsZWQgYnV0IENPTkZJR19JUFY2IGlzIGVuYWJsZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0wOVQwMjo1ODoxOS45NTE4OTMwNDZaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMTcxMzU2Njg0NzYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiUkRTXCIsXG4gICAgXCJSRFNfUkRNQVwiLFxuICAgIFwiUkRTX1RDUFwiLFxuICAgIFwiSVBWNlwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInJkc19pYl9sYWRkcl9jaGVja19jbVwiLFxuICAgIFwicmRzX3RjcF9sYWRkcl9jaGVja1wiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgbWlzc2luZyBgaXB2Nl9tb2RfZW5hYmxlZCgpYCBjaGVja3MgaW4gUkRTIG92ZXIgSUIgYW5kIFJEUyBvdmVyIFRDUCB3aGVuIGNoZWNraW5nIGxvY2FsIGFkZHJlc3NlcywgcHJldmVudGluZyBwb3RlbnRpYWwgaXNzdWVzIHdoZW4gSVB2NiBtb2R1bGUgaXMgZGlzYWJsZWQgYnV0IENPTkZJR19JUFY2IGlzIGVuYWJsZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA5VDAyOjU4OjE5Ljk1MTkxMTMxN1oiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6ODUzNjQ0MzAwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgODk1NDVmMWRhOGIyOWVkZWMyZDBlZWZjMGY0ODBkNDNhODBkMmU1MFxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgVGh1IEp1bCA5IDAyOjU4OjE3IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL25ldC9yZHMvaWIuYyBiL25ldC9yZHMvaWIuY1xcbmluZGV4IDM5Zjg3MjcyZTA3MWJmLi44ZjljZjQ5MTk4NGYxMiAxMDA2NDRcXG4tLS0gYS9uZXQvcmRzL2liLmNcXG4rKysgYi9uZXQvcmRzL2liLmNcXG5AQCAtNDI5LDYgKzQyOSwxMCBAQCBzdGF0aWMgaW50IHJkc19pYl9sYWRkcl9jaGVja19jbShzdHJ1Y3QgbmV0ICpuZXQsIGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqYWRkcixcXG4gXFx0XFx0c2EgPSAoc3RydWN0IHNvY2thZGRyICopXFx1MDAyNnNpbjtcXG4gXFx0fSBlbHNlIHtcXG4gI2lmIElTX0VOQUJMRUQoQ09ORklHX0lQVjYpXFxuK1xcdFxcdGlmICghaXB2Nl9tb2RfZW5hYmxlZCgpKSB7XFxuK1xcdFxcdFxcdHJldCA9IC1FQUREUk5PVEFWQUlMO1xcbitcXHRcXHRcXHRnb3RvIG91dDtcXG4rXFx0XFx0fVxcbiBcXHRcXHRtZW1zZXQoXFx1MDAyNnNpbjYsIDAsIHNpemVvZihzaW42KSk7XFxuIFxcdFxcdHNpbjYuc2luNl9mYW1pbHkgPSBBRl9JTkVUNjtcXG4gXFx0XFx0c2luNi5zaW42X2FkZHIgPSAqYWRkcjtcXG5kaWZmIC0tZ2l0IGEvbmV0L3Jkcy90Y3AuYyBiL25ldC9yZHMvdGNwLmNcXG5pbmRleCBhMWRlMTE0ZDVlMmUwMS4uOTU1ZDkyMjc3ZDVhNjIgMTAwNjQ0XFxuLS0tIGEvbmV0L3Jkcy90Y3AuY1xcbisrKyBiL25ldC9yZHMvdGNwLmNcXG5AQCAtMzY2LDkgKzM2NiwxMSBAQCBpbnQgcmRzX3RjcF9sYWRkcl9jaGVjayhzdHJ1Y3QgbmV0ICpuZXQsIGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqYWRkcixcXG4gXFx0XFx0cmN1X3JlYWRfdW5sb2NrKCk7XFxuIFxcdH1cXG4gI2lmIElTX0VOQUJMRUQoQ09ORklHX0lQVjYpXFxuLVxcdHJldCA9IGlwdjZfY2hrX2FkZHIobmV0LCBhZGRyLCBkZXYsIDApO1xcbi1cXHRpZiAocmV0KVxcbi1cXHRcXHRyZXR1cm4gMDtcXG4rXFx0aWYgKGlwdjZfbW9kX2VuYWJsZWQoKSkge1xcbitcXHRcXHRyZXQgPSBpcHY2X2Noa19hZGRyKG5ldCwgYWRkciwgZGV2LCAwKTtcXG4rXFx0XFx0aWYgKHJldClcXG4rXFx0XFx0XFx0cmV0dXJuIDA7XFxuK1xcdH1cXG4gI2VuZGlmXFxuIFxcdHJldHVybiAtRUFERFJOT1RBVkFJTDtcXG4gfVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQwMjo1ODoyMC44MDcxNzA3MjdaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjExNjI4MDM3ODA0NiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJSRFNcIixcbiAgICBcIlJEU19SRE1BXCIsXG4gICAgXCJSRFNfVENQXCIsXG4gICAgXCJJUFY2XCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwicmRzX2liX2xhZGRyX2NoZWNrX2NtXCIsXG4gICAgXCJyZHNfdGNwX2xhZGRyX2NoZWNrXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBtaXNzaW5nIGBpcHY2X21vZF9lbmFibGVkKClgIGNoZWNrcyBpbiBSRFMgb3ZlciBJQiBhbmQgUkRTIG92ZXIgVENQIHdoZW4gY2hlY2tpbmcgbG9jYWwgYWRkcmVzc2VzLCBwcmV2ZW50aW5nIHBvdGVudGlhbCBpc3N1ZXMgd2hlbiBJUHY2IG1vZHVsZSBpcyBkaXNhYmxlZCBidXQgQ09ORklHX0lQVjYgaXMgZW5hYmxlZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCA4OTU0NWYxZGE4YjI5ZWRlYzJkMGVlZmMwZjQ4MGQ0M2E4MGQyZTUwXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFRodSBKdWwgOSAwMjo1ODoxNyAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL25ldC9yZHMvaWIuYyBiL25ldC9yZHMvaWIuY1xuaW5kZXggMzlmODcyNzJlMDcxYmYuLjhmOWNmNDkxOTg0ZjEyIDEwMDY0NFxuLS0tIGEvbmV0L3Jkcy9pYi5jXG4rKysgYi9uZXQvcmRzL2liLmNcbkBAIC00MjksNiArNDI5LDEwIEBAIHN0YXRpYyBpbnQgcmRzX2liX2xhZGRyX2NoZWNrX2NtKHN0cnVjdCBuZXQgKm5ldCwgY29uc3Qgc3RydWN0IGluNl9hZGRyICphZGRyLFxuIFx0XHRzYSA9IChzdHJ1Y3Qgc29ja2FkZHIgKilcdTAwMjZzaW47XG4gXHR9IGVsc2Uge1xuICNpZiBJU19FTkFCTEVEKENPTkZJR19JUFY2KVxuK1x0XHRpZiAoIWlwdjZfbW9kX2VuYWJsZWQoKSkge1xuK1x0XHRcdHJldCA9IC1FQUREUk5PVEFWQUlMO1xuK1x0XHRcdGdvdG8gb3V0O1xuK1x0XHR9XG4gXHRcdG1lbXNldChcdTAwMjZzaW42LCAwLCBzaXplb2Yoc2luNikpO1xuIFx0XHRzaW42LnNpbjZfZmFtaWx5ID0gQUZfSU5FVDY7XG4gXHRcdHNpbjYuc2luNl9hZGRyID0gKmFkZHI7XG5kaWZmIC0tZ2l0IGEvbmV0L3Jkcy90Y3AuYyBiL25ldC9yZHMvdGNwLmNcbmluZGV4IGExZGUxMTRkNWUyZTAxLi45NTVkOTIyNzdkNWE2MiAxMDA2NDRcbi0tLSBhL25ldC9yZHMvdGNwLmNcbisrKyBiL25ldC9yZHMvdGNwLmNcbkBAIC0zNjYsOSArMzY2LDExIEBAIGludCByZHNfdGNwX2xhZGRyX2NoZWNrKHN0cnVjdCBuZXQgKm5ldCwgY29uc3Qgc3RydWN0IGluNl9hZGRyICphZGRyLFxuIFx0XHRyY3VfcmVhZF91bmxvY2soKTtcbiBcdH1cbiAjaWYgSVNfRU5BQkxFRChDT05GSUdfSVBWNilcbi1cdHJldCA9IGlwdjZfY2hrX2FkZHIobmV0LCBhZGRyLCBkZXYsIDApO1xuLVx0aWYgKHJldClcbi1cdFx0cmV0dXJuIDA7XG4rXHRpZiAoaXB2Nl9tb2RfZW5hYmxlZCgpKSB7XG4rXHRcdHJldCA9IGlwdjZfY2hrX2FkZHIobmV0LCBhZGRyLCBkZXYsIDApO1xuK1x0XHRpZiAocmV0KVxuK1x0XHRcdHJldHVybiAwO1xuK1x0fVxuICNlbmRpZlxuIFx0cmV0dXJuIC1FQUREUk5PVEFWQUlMO1xuIH1cbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA5VDAyOjU4OjIwLjgwNzE3MzExN1oiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjM1OTU2MTA0MTk0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgUkRTIElQdjYgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ3ZlIGdvdCB0aGlzIHBhdGNoIGhlcmUgdGhhdCdzIHRvdWNoaW5nIGBuZXQvcmRzL2liLmNgIGFuZCBgbmV0L3Jkcy90Y3AuY2AuIEl0IGxvb2tzIGxpa2Ugd2UncmUgYWRkaW5nIHNvbWUgYGlwdjZfbW9kX2VuYWJsZWQoKWAgY2hlY2tzIGJlZm9yZSB3ZSBkbyBhbnl0aGluZyBJUHY2IHJlbGF0ZWQgaW4gYHJkc19pYl9sYWRkcl9jaGVja19jbWAgYW5kIGByZHNfdGNwX2xhZGRyX2NoZWNrYC4gVGhpcyBpcyBhIGNsZWFyIGZ1bmN0aW9uYWwgY2hhbmdlLCBub3QganVzdCBhIGNvc21ldGljIHR3ZWFrLiBOb3csIG15IGZpcnN0IHRob3VnaHQgaXMsIFwiV2hhdCBjb25maWd1cmF0aW9uIG9wdGlvbnMgYXJlIGNvbnRyb2xsaW5nIHRoaXMgYmVoYXZpb3I/XCIgU3BlY2lmaWNhbGx5LCBJIG5lZWQgdG8gdW5kZXJzdGFuZCB3aGF0IHRyaWdnZXJzIHRoZSBidWlsZCBvZiBSRFMsIFJEU19UQ1AsIGFuZCBSRFNfSUIuIFRpbWUgdG8gcHVsbCBvdXQgYGdyZXBwZXJgIGFuZCBzZWFyY2ggZm9yIHRob3NlIGZ1bmN0aW9uIG5hbWVzLCBgcmRzX2liX2xhZGRyX2NoZWNrX2NtYCBhbmQgYHJkc190Y3BfbGFkZHJfY2hlY2tgLiBJIG5lZWQgdG8gZmlndXJlIG91dCB0aGUgZGVwZW5kZW5jaWVzIGFuZCBlbnN1cmUgdGhlIG5lY2Vzc2FyeSBjb25maWcgb3B0aW9ucyBhcmUgc2V0IHRvIGVuYWJsZSBJUHY2IHN1cHBvcnQgY29ycmVjdGx5IHdoZW4gdGhpcyBwYXRjaCBpcyBhcHBsaWVkLiBVbmRlcnN0YW5kaW5nIHRoZSBjb25maWcgZGVwZW5kZW5jaWVzIGlzIGtleSB0byBjb25maXJtaW5nIHRoZSBwYXRjaCdzIGNvcnJlY3RuZXNzIGFuZCB1bmRlcnN0YW5kaW5nIGhvdyBpdCBpbnRlcmFjdHMgd2l0aCB0aGUgZXhpc3Rpbmcgc3lzdGVtLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMTA5LCJPdXRwdXRUb2tlbnMiOjY2LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTMwLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMDI6NTg6NTYuNzYzMjgwMDYxWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIwNTcyODUyOCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJyZHNfaWJfbGFkZHJfY2hlY2tfY21cIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L3Jkcy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwibmV0L3Jkcy9pYi5jPTM4MT1zdGF0aWMgdm9pZCByZHM2X2liX2ljX2luZm8oc3RydWN0IHNvY2tldCAqc29jaywgdW5zaWduZWQgaW50IGxlbixcXG4tLVxcbm5ldC9yZHMvaWIuYy00MDMtICovXFxubmV0L3Jkcy9pYi5jOjQwNDpzdGF0aWMgaW50IHJkc19pYl9sYWRkcl9jaGVja19jbShzdHJ1Y3QgbmV0ICpuZXQsIGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqYWRkcixcXG5uZXQvcmRzL2liLmMtNDA1LVxcdFxcdFxcdFxcdCBfX3UzMiBzY29wZV9pZClcXG4tLVxcbm5ldC9yZHMvaWIuYz00OTQ9c3RhdGljIGludCByZHNfaWJfbGFkZHJfY2hlY2soc3RydWN0IG5ldCAqbmV0LCBjb25zdCBzdHJ1Y3QgaW42X2FkZHIgKmFkZHIsXFxuLS1cXG5uZXQvcmRzL2liLmMtNTEwLVxcbm5ldC9yZHMvaWIuYzo1MTE6XFx0cmV0dXJuIHJkc19pYl9sYWRkcl9jaGVja19jbShuZXQsIGFkZHIsIHNjb3BlX2lkKTtcXG5uZXQvcmRzL2liLmMtNTEyLX1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMDI6NTg6NTYuOTY5MDEyODk5WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEwOTQ3OTk3OSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJyZHNfdGNwX2xhZGRyX2NoZWNrXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcIm5ldC9yZHMvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC9yZHMvdGNwLmM9Mjg0PXN0YXRpYyB2b2lkIHJkczZfdGNwX3RjX2luZm8oc3RydWN0IHNvY2tldCAqc29jaywgdW5zaWduZWQgaW50IGxlbixcXG4tLVxcbm5ldC9yZHMvdGNwLmMtMzQwLVxcbm5ldC9yZHMvdGNwLmM6MzQxOmludCByZHNfdGNwX2xhZGRyX2NoZWNrKHN0cnVjdCBuZXQgKm5ldCwgY29uc3Qgc3RydWN0IGluNl9hZGRyICphZGRyLFxcbm5ldC9yZHMvdGNwLmMtMzQyLVxcdFxcdFxcdF9fdTMyIHNjb3BlX2lkKVxcbi0tXFxubmV0L3Jkcy90Y3AuYz00ODE9c3RydWN0IHJkc190cmFuc3BvcnQgcmRzX3RjcF90cmFuc3BvcnQgPSB7XFxubmV0L3Jkcy90Y3AuYzo0ODI6XFx0LmxhZGRyX2NoZWNrXFx0XFx0PSByZHNfdGNwX2xhZGRyX2NoZWNrLFxcbm5ldC9yZHMvdGNwLmMtNDgzLVxcdC54bWl0X3BhdGhfcHJlcGFyZVxcdD0gcmRzX3RjcF94bWl0X3BhdGhfcHJlcGFyZSxcXG4tLVxcbm5ldC9yZHMvdGNwLmg9ODE9dm9pZCByZHNfdGNwX2FjY2VwdF93b3JrKHN0cnVjdCByZHNfdGNwX25ldCAqcnRuKTtcXG5uZXQvcmRzL3RjcC5oOjgyOmludCByZHNfdGNwX2xhZGRyX2NoZWNrKHN0cnVjdCBuZXQgKm5ldCwgY29uc3Qgc3RydWN0IGluNl9hZGRyICphZGRyLFxcbm5ldC9yZHMvdGNwLmgtODMtXFx0XFx0XFx0X191MzIgc2NvcGVfaWQpO1xcbi0tXFxubmV0L3Jkcy90Y3BfbGlzdGVuLmM9MTUyPWludCByZHNfdGNwX2FjY2VwdF9vbmUoc3RydWN0IHJkc190Y3BfbmV0ICpydG4pXFxuLS1cXG5uZXQvcmRzL3RjcF9saXN0ZW4uYy0yMTktXFxubmV0L3Jkcy90Y3BfbGlzdGVuLmM6MjIwOlxcdGlmICghcmRzX3RjcF9sYWRkcl9jaGVjayhzb2NrX25ldChsaXN0ZW5fc29jay1cXHUwMDNlc2spLCBwZWVyX2FkZHIsIGRldl9pZikpIHtcXG5uZXQvcmRzL3RjcF9saXN0ZW4uYy0yMjEtXFx0XFx0LyogbG9jYWwgYWRkcmVzcyBjb25uZWN0aW9uIGlzIG9ubHkgYWxsb3dlZCB2aWEgbG9vcGJhY2sgKi9cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMDI6NTg6NTcuMDc4NDk5MjI4WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTU0NDcxNDc0MjEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSBhdHRlbXB0IGF0IHN1bW1hcml6aW5nIHRoYXQgdGhvdWdodCBwcm9jZXNzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlOlxuXG4qKkNoZWNraW5nIEtjb25maWcgZm9yIFJEUyBDb25maWd1cmF0aW9uKipcblxuQWxyaWdodCwgbGV0J3MgZ2V0IGRvd24gdG8gYnJhc3MgdGFja3MuIEkgbmVlZCB0byBxdWlja2x5IGFzY2VydGFpbiBpZiB0aGUgUmVtb3RlIERpcmVjdCBNZW1vcnkgQWNjZXNzIChSRE1BKSBvdmVyIFNoYXJlZCBNZW1vcnkgKFJEUykgY29uZmlndXJhdGlvbiBvcHRpb25zIGFyZSBjb3JyZWN0bHkgZGVmaW5lZCBpbiB0aGUgY3VycmVudCBrZXJuZWwgY29uZmlndXJhdGlvbi4gQmVmb3JlIGRpdmluZyBpbnRvIGRlYnVnZ2luZyBvciBwZXJmb3JtYW5jZSBhbmFseXNpcywgdGhpcyBpcyB0aGUgbG9naWNhbCBmaXJzdCBzdGVwLiBJIG5lZWQgdG8gY29uZmlybSBpZiBSRFMgaXMgZW5hYmxlZCBhbmQsIG1vcmUgaW1wb3J0YW50bHksIGhvdyBpdCdzIGVuYWJsZWQuIEFyZSB0aGUgYXBwcm9wcmlhdGUgbW9kdWxlcyBidWlsdD8gQXJlIHRoZXJlIGFueSBjb25kaXRpb25hbCBkZXBlbmRlbmNpZXMgSSdtIG92ZXJsb29raW5nPyBBIHF1aWNrIHNjYW4gb2YgYEtjb25maWdgIHdpbGwgdGVsbCBtZSBpZiB0aGUgcmVsZXZhbnQgc3ltYm9scyAoZS5nLiwgYENPTkZJR19SRFNgLCBgQ09ORklHX1JEU19SRE1BYCwgZXRjLikgYXJlIHByb3Blcmx5IHNldCBhbmQsIGlmIHNvLCB3aGF0IHZhbHVlcyB0aGV5J3JlIGFzc2lnbmVkLiBUaGlzIHdpbGwgaW5mb3JtIG15IG5leHQgc3RlcHMuIFRoaXMgaXMgYSBmdW5kYW1lbnRhbCBjaGVjaywgc2F2aW5nIHRpbWUgYW5kIHBvdGVudGlhbCByYWJiaXQgaG9sZXMgbGF0ZXIuIEkgZXhwZWN0IHRvIGJlIGFibGUgdG8gdGVsbCBhdCBhIGdsYW5jZSwgYmFzZWQgb24gZXhwZXJpZW5jZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MzE5OCwiT3V0cHV0VG9rZW5zIjoyNiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjksIlRvb2xDYWxscyI6WyJncmVwcGVyIiwiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA5VDAyOjU5OjEyLjUyNTY0ODgyOVoiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0OTQzNzcyMjUsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIFJEU1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvcmRzL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQvcmRzL0tjb25maWctMi1cXG5uZXQvcmRzL0tjb25maWc6Mzpjb25maWcgUkRTXFxubmV0L3Jkcy9LY29uZmlnLTQtXFx0dHJpc3RhdGUgXFxcIlRoZSBSZWxpYWJsZSBEYXRhZ3JhbSBTb2NrZXRzIFByb3RvY29sXFxcIlxcbi0tXFxubmV0L3Jkcy9LY29uZmlnLTktXFxubmV0L3Jkcy9LY29uZmlnOjEwOmNvbmZpZyBSRFNfUkRNQVxcbm5ldC9yZHMvS2NvbmZpZy0xMS1cXHR0cmlzdGF0ZSBcXFwiUkRTIG92ZXIgSW5maW5pYmFuZFxcXCJcXG4tLVxcbm5ldC9yZHMvS2NvbmZpZy0xNi1cXG5uZXQvcmRzL0tjb25maWc6MTc6Y29uZmlnIFJEU19UQ1BcXG5uZXQvcmRzL0tjb25maWctMTgtXFx0dHJpc3RhdGUgXFxcIlJEUyBvdmVyIFRDUFxcXCJcXG4tLVxcbm5ldC9yZHMvS2NvbmZpZy0yNC1cXG5uZXQvcmRzL0tjb25maWc6MjU6Y29uZmlnIFJEU19ERUJVR1xcbm5ldC9yZHMvS2NvbmZpZy0yNi1cXHRib29sIFxcXCJSRFMgZGVidWdnaW5nIG1lc3NhZ2VzXFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQwMjo1OToxMy4wMjAwMzI3NDRaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozMjQxMzQyMjAxNSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIEFkZHJlc3MgQ2hlY2sgRnVuY3Rpb25zKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBjb2RlIGFuZCBpdCdzIGNsZWFyIHdlJ3JlIGRlYWxpbmcgd2l0aCBuZXR3b3JrIGFkZHJlc3MgY2hlY2tzLCBzcGVjaWZpY2FsbHkgcmVsYXRlZCB0byBSZW1vdGUgRGlyZWN0IE1lbW9yeSBBY2Nlc3MgKFJETUEpIGFuZCBUQ1AsIGJhc2VkIG9uIHRoZSBzeW1ib2xzIEkgc2VlOiBgUkRTYCwgYFJEU19SRE1BYCwgYW5kIGBSRFNfVENQYC4gQW5kIHdlIGFic29sdXRlbHkgbmVlZCB0byBpbmNsdWRlIGBJUFY2YCBiZWNhdXNlIG9mIHRoYXQgYCNpZiBJU19FTkFCTEVEKENPTkZJR19JUFY2KWAgYmxvY2suXG5cbk15IGltbWVkaWF0ZSBmb2N1cyBpcyBvbiBgcmRzX2liX2xhZGRyX2NoZWNrX2NtYCBhbmQgYHJkc190Y3BfbGFkZHJfY2hlY2tgLiBIbW0sIG5vdyBJIHNlZSB0aGF0IGByZHNfaWJfbGFkZHJfY2hlY2tfY21gIGlzIGRlY2xhcmVkIGFzIGBzdGF0aWNgLCB3aGljaCBpcyBpbnRlcmVzdGluZy4gSG93ZXZlciwgaXQncyBgcmRzX2liX2xhZGRyX2NoZWNrYCB0aGF0IGNhbGxzIGl0LiBHaXZlbiB0aGUgY2FsbCBjaGFpbiBhbmQgcG90ZW50aWFsIGZvciBmdXR1cmUgdXNlLCBJIHRoaW5rIGl0J3MgYmV0dGVyIHRvIGluY2x1ZGUgYm90aCBzeW1ib2xzLCBvciBzaW1wbHkgdXNlIHRoZSBsYXR0ZXIsIHNpbmNlIHRoZSBmb3JtZXIgaXMgYSBkZXRhaWwuIFRoZSBgcmRzX3RjcF9sYWRkcl9jaGVja2AgZnVuY3Rpb24sIG9uIHRoZSBvdGhlciBoYW5kLCBpcyBleHBvcnRlZCwgb3IgYXQgbGVhc3Qgbm90IHN0YXRpYywgd2hpY2ggaXMgZ29vZCB0byBrbm93LlxuXG5KdXN0IHRvIGJlIGFic29sdXRlbHkgc3VyZSwgSSdtIGdvaW5nIHRvIHF1aWNrbHkgZG91YmxlIGNoZWNrIHdoZXRoZXIgYHJkc19pYl9sYWRkcl9jaGVja2AgaXRzZWxmIGlzIGFsc28gZGVjbGFyZWQgYXMgc3RhdGljIG9yIG5vdC4gQmVzdCB0byBhdm9pZCBhbnkgYXNzdW1wdGlvbnMgaGVyZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MzY0NCwiT3V0cHV0VG9rZW5zIjozMiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE2MCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQwMjo1OTo0NS40MzM0NTcwMTlaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjkzOTI3NjUyLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInJkc19pYl9sYWRkcl9jaGVja1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvcmRzL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQvcmRzL2liLmM9MzgxPXN0YXRpYyB2b2lkIHJkczZfaWJfaWNfaW5mbyhzdHJ1Y3Qgc29ja2V0ICpzb2NrLCB1bnNpZ25lZCBpbnQgbGVuLFxcbi0tXFxubmV0L3Jkcy9pYi5jLTQwMy0gKi9cXG5uZXQvcmRzL2liLmM6NDA0OnN0YXRpYyBpbnQgcmRzX2liX2xhZGRyX2NoZWNrX2NtKHN0cnVjdCBuZXQgKm5ldCwgY29uc3Qgc3RydWN0IGluNl9hZGRyICphZGRyLFxcbm5ldC9yZHMvaWIuYy00MDUtXFx0XFx0XFx0XFx0IF9fdTMyIHNjb3BlX2lkKVxcbi0tXFxubmV0L3Jkcy9pYi5jLTQ5My1cXG5uZXQvcmRzL2liLmM6NDk0OnN0YXRpYyBpbnQgcmRzX2liX2xhZGRyX2NoZWNrKHN0cnVjdCBuZXQgKm5ldCwgY29uc3Qgc3RydWN0IGluNl9hZGRyICphZGRyLFxcbm5ldC9yZHMvaWIuYy00OTUtXFx0XFx0XFx0ICAgICAgX191MzIgc2NvcGVfaWQpXFxuLS1cXG5uZXQvcmRzL2liLmMtNTEwLVxcbm5ldC9yZHMvaWIuYzo1MTE6XFx0cmV0dXJuIHJkc19pYl9sYWRkcl9jaGVja19jbShuZXQsIGFkZHIsIHNjb3BlX2lkKTtcXG5uZXQvcmRzL2liLmMtNTEyLX1cXG4tLVxcbm5ldC9yZHMvaWIuYz01NTk9c3RydWN0IHJkc190cmFuc3BvcnQgcmRzX2liX3RyYW5zcG9ydCA9IHtcXG5uZXQvcmRzL2liLmM6NTYwOlxcdC5sYWRkcl9jaGVja1xcdFxcdD0gcmRzX2liX2xhZGRyX2NoZWNrLFxcbm5ldC9yZHMvaWIuYy01NjEtXFx0LnhtaXRfcGF0aF9jb21wbGV0ZVxcdD0gcmRzX2liX3htaXRfcGF0aF9jb21wbGV0ZSxcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMDI6NTk6NDYuMTI3Mzg5OTYxWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjMwNzM3MDE2ODU1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFuYWx5c2lzIG9mIHRoZSBSRFMgTG9jYWwgQWRkcmVzcyBDaGVjayBQYXRjaCoqXG5cbk9rYXksIHNvIHRoZSBgcmRzX2liX2xhZGRyX2NoZWNrYCBmdW5jdGlvbiBpcyBzdGF0aWMsIHdoaWNoIGlzIGdvb2QgdG8ga25vdy4gVGhpcyBtZWFucyBJIG5lZWQgdG8gZm9jdXMgb24gdGhlIHN5bWJvbHMgYHJkc19pYl9sYWRkcl9jaGVja19jbWAgYW5kIGByZHNfdGNwX2xhZGRyX2NoZWNrYC4gSSBjYW4gc2VlIHRoZSByZWxldmFudCBjb25maWd1cmF0aW9ucyBhcmUgYFJEU2AsIGBSRFNfUkRNQWAsIGBSRFNfVENQYCwgYW5kIGBJUFY2YC5cblxuVGhlIHB1cnBvc2Ugb2YgdGhpcyBwYXRjaCBpcyBjbGVhcjogaXQncyBhZGRpbmcgbWlzc2luZyBgaXB2Nl9tb2RfZW5hYmxlZCgpYCBjaGVja3Mgd2l0aGluIHRoZSBSRFMgY29kZSwgc3BlY2lmaWNhbGx5IGZvciBSRFMgb3ZlciBJbmZpbmlCYW5kIGFuZCBSRFMgb3ZlciBUQ1AsIHdoZW4gZGVhbGluZyB3aXRoIGxvY2FsIGFkZHJlc3MgdmFsaWRhdGlvbi4gVGhpcyBpcyBsaWtlbHkgdG8gcHJldmVudCBpc3N1ZXMgaWYgSVB2NiBpcyBkaXNhYmxlZCBidXQgdGhlIGBDT05GSUdfSVBWNmAgb3B0aW9uIGlzIGVuYWJsZWQsIHdoaWNoIGNhbiBiZSBhIHRyaWNreSBjb25maWd1cmF0aW9uIHNjZW5hcmlvLiBJdCdzIGEgc2Vuc2libGUgc2FmZWd1YXJkLlxuXG5Ob3csIEkgbmVlZCB0byB2ZXJpZnkgdGhhdCBgaXB2Nl9tb2RfZW5hYmxlZCgpYCBpcyBhY3R1YWxseSByZWFjaGFibGUgd2l0aGluIHRoaXMgY29kZSBwYXRoLiBMZXQgbWUgdGhpbmsuLi4geWVzLCBpZiBhbiBSRFMgc29ja2V0IGlzIGJvdW5kIHRvIGFuIElQdjYgYWRkcmVzcywgaXQnbGwgdHJpZ2dlciB0aGUgYGxhZGRyX2NoZWNrYCBmdW5jdGlvbi4gU28gdGhlIGRlcGVuZGVuY3kgaXMgdmFsaWQuXG5cbkkgYW0gc2F0aXNmaWVkIHRoYXQgdGhlIHBhdGNoIGFkZHJlc3NlcyBhIGdlbnVpbmUgY29uY2VybiwgYW5kIHRoZSBhcHByb2FjaCBpcyBzb3VuZC4gTGV0J3MgbWFrZSBzdXJlIHRoZSByZXN1bHRzIHJlZmxlY3QgdGhpcy5cblxuXG4iLCJJbnB1dFRva2VucyI6NDQ3NSwiT3V0cHV0VG9rZW5zIjoxMTgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNjIsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMDM6MDA6MTYuODY0NDEwMjE1WiIsIlNlcSI6MTEsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjIzMTMyMTQ3LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJSRFNcIixcbiAgICBcIlJEU19SRE1BXCIsXG4gICAgXCJSRFNfVENQXCIsXG4gICAgXCJJUFY2XCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwicmRzX2liX2xhZGRyX2NoZWNrX2NtXCIsXG4gICAgXCJyZHNfdGNwX2xhZGRyX2NoZWNrXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBtaXNzaW5nIGBpcHY2X21vZF9lbmFibGVkKClgIGNoZWNrcyBpbiBSRFMgb3ZlciBJQiBhbmQgUkRTIG92ZXIgVENQIHdoZW4gY2hlY2tpbmcgbG9jYWwgYWRkcmVzc2VzLCBwcmV2ZW50aW5nIHBvdGVudGlhbCBpc3N1ZXMgd2hlbiBJUHY2IG1vZHVsZSBpcyBkaXNhYmxlZCBidXQgQ09ORklHX0lQVjYgaXMgZW5hYmxlZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJSRFNcIixcbiAgICBcIlJEU19SRE1BXCIsXG4gICAgXCJSRFNfVENQXCIsXG4gICAgXCJJUFY2XCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwicmRzX2liX2xhZGRyX2NoZWNrX2NtXCIsXG4gICAgXCJyZHNfdGNwX2xhZGRyX2NoZWNrXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBtaXNzaW5nIGBpcHY2X21vZF9lbmFibGVkKClgIGNoZWNrcyBpbiBSRFMgb3ZlciBJQiBhbmQgUkRTIG92ZXIgVENQIHdoZW4gY2hlY2tpbmcgbG9jYWwgYWRkcmVzc2VzLCBwcmV2ZW50aW5nIHBvdGVudGlhbCBpc3N1ZXMgd2hlbiBJUHY2IG1vZHVsZSBpcyBkaXNhYmxlZCBidXQgQ09ORklHX0lQVjYgaXMgZW5hYmxlZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLmR1cmF0aW9uIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnTGxtVG9rZW4gPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS50b2tlbnMgLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdUb29sRHVyID0gc3RhdHMudG9vbC5jb3VudCA+IDAgPyAoc3RhdHMudG9vbC5kdXJhdGlvbiAvIHN0YXRzLnRvb2wuY291bnQpLnRvRml4ZWQoMikgOiAwOwoKCQkJY29uc3QgbGxtU3VtYXJ5Q2VsbHMgPSBbc3RhdHMubGxtLmNvdW50LCBzdGF0cy5sbG0udG9rZW5zLCBhdmdMbG1Ub2tlbiwgc3RhdHMubGxtLmR1cmF0aW9uLCBhdmdMbG1EdXJdOwoJCQljb25zdCB0b29sU3VtbWFyeUNlbGxzID0gW3N0YXRzLnRvb2wuY291bnQsIHN0YXRzLnRvb2wuZHVyYXRpb24sIGF2Z1Rvb2xEdXJdOwoKCQkJY29uc3QgbGxtU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGxtX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQlsbG1TdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgbGxtVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQlsbG1TdW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJbGxtVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJbGxtU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQobGxtVHIpOwoKCQkJY29uc3QgdG9vbFN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2xfc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgdG9vbFRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJdG9vbFN1bW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJdG9vbFRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZCh0b29sVHIpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBmaWx0ZXJlZFN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBbImxsbSIsICJ0b29sIl0uaW5jbHVkZXMoZC5UeXBlKSk7CgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ0R1cmF0aW9uJyk7CgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7IAoKCQkJZmlsdGVyZWRTdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJCgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsKCQkJCWxldCB0b29sdGlwID0gcy5OYW1lOwoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIgJiYgcy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoJCQkJZGF0YS5hZGRSb3coW2Ake3MuU2VxfWAsIGR1ciwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1RpbWUgQ29uc3VtcHRpb24gb2YgTExNL1Rvb2wgQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTS9Ub29sIFN0ZXBzJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ1NlY29uZHMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1cmF0aW9uX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBsbG1TdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gZC5UeXBlID09PSAibGxtIik7CgkJCWlmIChsbG1TdGVwcy5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwkJCQoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ1Rva2VucycpOwkJCQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICdzdHlsZSd9KTsJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7CQoKCQkJY29uc3QgYWdlbnRDb2xvcnMgPSB7fTsKCQkJY29uc3QgcGFsZXR0ZSA9IFsnIzQyODVGNCcsICcjREI0NDM3JywgJyNGNEI0MDAnLCAnIzBGOUQ1OCcsICcjQUI0N0JDJywgJyMwMEFDQzEnXTsKCQkJbGV0IGNvbG9ySWR4ID0gMDsKCQkJY29uc3QgYWdlbnRMTE1Db3VudHMgPSB7fTsKCQkJbGxtU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCWlmICghYWdlbnRDb2xvcnNbcy5OYW1lXSkgewoJCQkJCWFnZW50Q29sb3JzW3MuTmFtZV0gPSBwYWxldHRlW2NvbG9ySWR4ICUgcGFsZXR0ZS5sZW5ndGhdOwoJCQkJCWNvbG9ySWR4Kys7CgkJCQl9CgoJCQkJYWdlbnRMTE1Db3VudHNbcy5OYW1lXSA9IChhZ2VudExMTUNvdW50c1tzLk5hbWVdIHx8IDApICsgMTsKCQkJCWNvbnN0IGxhYmVsID0gYCR7cy5OYW1lfS0ke2FnZW50TExNQ291bnRzW3MuTmFtZV19YDsKCQkJCWNvbnN0IHRvdGFsVG9rZW5zID0gcy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2VuczsKCQkJCWNvbnN0IHN0eWxlID0gYGNvbG9yOiAke2FnZW50Q29sb3JzW3MuTmFtZV19YDsKCQkJCWxldCB0b29sdGlwID0gYFRvdGFsIFRva2VuczogJHt0b3RhbFRva2Vuc31cbihJbjogJHtzLklucHV0VG9rZW5zfSwgT3V0OiAke3MuT3V0cHV0VG9rZW5zfSwgVGhvdWdodHM6ICR7cy5PdXRwdXRUaG91Z2h0c1Rva2Vuc30pYDsKCQkJCWlmIChzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgoJCQkJZGF0YS5hZGRSb3coW2xhYmVsLCB0b3RhbFRva2Vucywgc3R5bGUsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUb2tlbiBDb25zdW1wdGlvbiBieSBMTE0gQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTSBDYWxsIFNlcXVlbmNlJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ0NvbnN1bWVkIFRva2VucycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9rZW5fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCQlsZXQgYWxsRXhwYW5kZWQgPSBmYWxzZTsKCQlmdW5jdGlvbiB0b2dnbGVBbGxEZXRhaWxzKCkgewoJCQlhbGxFeHBhbmRlZCA9ICFhbGxFeHBhbmRlZDsKCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGV0YWlscycpLmZvckVhY2goZCA9PiB7CgkJCQlpZiAoYWxsRXhwYW5kZWQpIGQuc2V0QXR0cmlidXRlKCdvcGVuJywgJycpOwoJCQkJZWxzZSBkLnJlbW92ZUF0dHJpYnV0ZSgnb3BlbicpOwoJCQl9KTsKCQl9Cgk8L3NjcmlwdD4KCgo8L2JvZHk+CjwvaHRtbD4K" },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-workflow72dxw[1] Phase: Succeeded StartedAt: 2026-07-09 03:00:28 +0000 UTC FinishedAt: 2026-07-09 03:00:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflow72dxw[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-09 03:00:28 +0000 UTC FinishedAt: 2026-07-09 03:00:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflow72dxw[2] Phase: Succeeded StartedAt: 2026-07-09 03:00:28 +0000 UTC FinishedAt: 2026-07-09 07:17:56 +0000 UTC Input: nil Output: nil --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-09 03:00:28 +0000 UTC FinishedAt: 2026-07-09 07:17:56 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-09 03:00:28 +0000 UTC FinishedAt: 2026-07-09 03:02:23 +0000 UTC Input: nil Output: nil --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-09 03:00:28 +0000 UTC FinishedAt: 2026-07-09 03:01:18 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow72dxw/series-workflow72dxw-convert-artifact-217210732/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-09 03:02:23 +0000 UTC FinishedAt: 2026-07-09 03:37:36 +0000 UTC Input: nil Output: nil --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-09 03:02:23 +0000 UTC FinishedAt: 2026-07-09 03:37:36 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*cf376179-2cce-41a0-b3c8-f0fb4a6731ed,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow72dxw/series-workflow72dxw-convert-artifact-217210732/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "b09705bd-4059-4ebd-9184-17e93280fcac", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow72dxw/series-workflow72dxw-build-action-3708799386/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-07-09 03:02:23 +0000 UTC FinishedAt: 2026-07-09 03:37:26 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*cf376179-2cce-41a0-b3c8-f0fb4a6731ed,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow72dxw/series-workflow72dxw-convert-artifact-217210732/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "b09705bd-4059-4ebd-9184-17e93280fcac", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow72dxw/series-workflow72dxw-build-action-3708799386/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-09 03:37:36 +0000 UTC FinishedAt: 2026-07-09 03:37:36 +0000 UTC Input: nil Output: nil --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-09 03:37:36 +0000 UTC FinishedAt: 2026-07-09 03:37:36 +0000 UTC Input: nil Output: nil --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-09 03:37:36 +0000 UTC FinishedAt: 2026-07-09 03:37:46 +0000 UTC Input: nil Output: nil --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-09 03:37:36 +0000 UTC FinishedAt: 2026-07-09 03:37:44 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow72dxw/series-workflow72dxw-convert-artifact-3824346155/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-09 03:37:46 +0000 UTC FinishedAt: 2026-07-09 03:40:01 +0000 UTC Input: nil Output: nil --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-09 03:37:46 +0000 UTC FinishedAt: 2026-07-09 03:39:52 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*b09705bd-4059-4ebd-9184-17e93280fcac,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Boot test: Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:report-findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/base,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow72dxw/series-workflow72dxw-build-action-3708799386/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "success": true },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-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-09 03:40:01 +0000 UTC FinishedAt: 2026-07-09 03:40:01 +0000 UTC Input: nil Output: nil --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-09 03:40:01 +0000 UTC FinishedAt: 2026-07-09 03:40:01 +0000 UTC Input: nil Output: nil --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-09 03:40:01 +0000 UTC FinishedAt: 2026-07-09 04:13:22 +0000 UTC Input: nil Output: nil --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-09 03:40:01 +0000 UTC FinishedAt: 2026-07-09 04:13:22 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*cf376179-2cce-41a0-b3c8-f0fb4a6731ed,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow72dxw/series-workflow72dxw-convert-artifact-3824346155/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "b5fa1610-7bee-490a-85b0-05a3a37b6c7d", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow72dxw/series-workflow72dxw-build-action-81564751/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-09 03:40:01 +0000 UTC FinishedAt: 2026-07-09 04:13:12 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*cf376179-2cce-41a0-b3c8-f0fb4a6731ed,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow72dxw/series-workflow72dxw-convert-artifact-3824346155/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "b5fa1610-7bee-490a-85b0-05a3a37b6c7d", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow72dxw/series-workflow72dxw-build-action-81564751/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-09 04:13:22 +0000 UTC FinishedAt: 2026-07-09 04:13:22 +0000 UTC Input: nil Output: nil --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-09 04:13:22 +0000 UTC FinishedAt: 2026-07-09 04:13:22 +0000 UTC Input: nil Output: nil --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-09 04:13:22 +0000 UTC FinishedAt: 2026-07-09 04:15:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-09 04:13:22 +0000 UTC FinishedAt: 2026-07-09 04:15:28 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*b5fa1610-7bee-490a-85b0-05a3a37b6c7d,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Boot test: Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:report-findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/base,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow72dxw/series-workflow72dxw-build-action-81564751/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "success": true },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-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-09 04:15:37 +0000 UTC FinishedAt: 2026-07-09 07:17:56 +0000 UTC Input: nil Output: nil --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-09 04:15:37 +0000 UTC FinishedAt: 2026-07-09 07:17:56 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:config,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:track,Default:nil,Value:*KASAN,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:base-build-id,Default:nil,Value:*b09705bd-4059-4ebd-9184-17e93280fcac,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*b5fa1610-7bee-490a-85b0-05a3a37b6c7d,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:base-kernel,Path:,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow72dxw/series-workflow72dxw-build-action-3708799386/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},Artifact{Name:patched-kernel,Path:,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow72dxw/series-workflow72dxw-build-action-81564751/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-09 04:15:37 +0000 UTC FinishedAt: 2026-07-09 04:15:47 +0000 UTC Input: nil Output: nil --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-09 04:15:37 +0000 UTC FinishedAt: 2026-07-09 04:15:45 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow72dxw/series-workflow72dxw-convert-artifact-76168260/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-09 04:15:37 +0000 UTC FinishedAt: 2026-07-09 04:15:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-09 04:15:37 +0000 UTC FinishedAt: 2026-07-09 04:15:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-09 04:15:37 +0000 UTC FinishedAt: 2026-07-09 04:15:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-09 04:15:47 +0000 UTC FinishedAt: 2026-07-09 07:17:56 +0000 UTC Input: nil Output: nil --------- Name: series-workflow72dxw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rds_ib_laddr_check_cm","rds_tcp_laddr_check"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc","config_name":"upstream-apparmor-kasan.config","enable_configs":["RDS","RDS_RDMA","RDS_TCP","IPV6"],"series_id":"9dc07b61-b3cf-419e-ab0b-8d9251cadc60","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-09 04:15:47 +0000 UTC FinishedAt: 2026-07-09 07:17:47 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*b09705bd-4059-4ebd-9184-17e93280fcac,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*b5fa1610-7bee-490a-85b0-05a3a37b6c7d,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Fuzz,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:base-kernel,Path:/base,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow72dxw/series-workflow72dxw-build-action-3708799386/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},Artifact{Name:patched-kernel,Path:/patched,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow72dxw/series-workflow72dxw-build-action-81564751/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},Artifact{Name:config,Path:/tmp/config.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflow72dxw/series-workflow72dxw-convert-artifact-76168260/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,}