Name: series-workflowvvwjf Phase: Succeeded StartedAt: 2026-07-20 09:42:46 +0000 UTC FinishedAt: 2026-07-20 12:13:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvvwjf[0] Phase: Succeeded StartedAt: 2026-07-20 09:42:46 +0000 UTC FinishedAt: 2026-07-20 10:16:23 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvvwjf[0].run-triage Phase: Succeeded StartedAt: 2026-07-20 09:42:46 +0000 UTC FinishedAt: 2026-07-20 10:16:23 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "kvm-next", "tree_url": "https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/", "commit_hash": "a204badd8432f93b7e862e7dac6db0fe3d65f370", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "VHOST_SCSI" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "kvm-next", "tree_url": "https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/", "commit_hash": "a204badd8432f93b7e862e7dac6db0fe3d65f370", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "VHOST_SCSI" ], "series_id": "4d051ff8-5e07-47fb-8188-cebc2ca034bf" }, "track": "KASAN", "fuzz": { "focus": [ "kvm" ], "focus_symbols": [ "vhost_scsi_complete_cmd_work" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDEwOjE1PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1ZIT1NUX1NDU0kmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDt2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBsb2NraW5nIGJlaGF2aW9yIGluIHZob3N0X3Njc2lfY29tcGxldGVfY21kX3dvcmsgdG8gaG9sZCB0aGUgdmlydHF1ZXVlIG11dGV4IHdoaWxlIGNhbGxpbmcgdmhvc3Rfc2lnbmFsLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgZml4aW5nIGEgcG90ZW50aWFsIHJhY2UgY29uZGl0aW9uLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDEwOjE1PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgMDAwNmU2ZDg3NTY0YzYxMDU2M2FiYzM5ZTE5NzVhZDYzNzNmMmE1NVxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBNb24gSnVsIDIwIDEwOjE1OjA4IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmhvc3Qvc2NzaS5jIGIvZHJpdmVycy92aG9zdC9zY3NpLmNcbmluZGV4IDlhMTI1M2I5ZDhjNTBlLi5hNzg5ZDYyMzU5ODYzNiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvdmhvc3Qvc2NzaS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL3Zob3N0L3Njc2kuY1xuQEAgLTczNSwxMCAmIzQzOzczNSw5IEBAIHN0YXRpYyB2b2lkIHZob3N0X3Njc2lfY29tcGxldGVfY21kX3dvcmsoc3RydWN0IHZob3N0X3dvcmsgKndvcmspXG4gXHRcdHZob3N0X3Njc2lfcmVsZWFzZV9jbWRfcmVzKHNlX2NtZCk7XG4gXHR9XG4gXG4tXHRtdXRleF91bmxvY2soXHUwMDI2c3ZxLVx1MDAzZXZxLm11dGV4KTtcbi1cbiBcdGlmIChzaWduYWwpXG4gXHRcdHZob3N0X3NpZ25hbChcdTAwMjZzdnEtXHUwMDNldnMtXHUwMDNlZGV2LCBcdTAwMjZzdnEtXHUwMDNldnEpO1xuJiM0MztcdG11dGV4X3VubG9jayhcdTAwMjZzdnEtXHUwMDNldnEubXV0ZXgpO1xuIH1cbiBcbiBzdGF0aWMgc3RydWN0IHZob3N0X3Njc2lfY21kICpcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMCAxMDoxNTwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtWSE9TVF9TQ1NJJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7dmhvc3Rfc2NzaV9jb21wbGV0ZV9jbWRfd29yayYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgbG9ja2luZyBiZWhhdmlvciBpbiB2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrIHRvIGhvbGQgdGhlIHZpcnRxdWV1ZSBtdXRleCB3aGlsZSBjYWxsaW5nIHZob3N0X3NpZ25hbC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGZpeGluZyBhIHBvdGVudGlhbCByYWNlIGNvbmRpdGlvbi4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLApldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXQKICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LAogICBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgMDAwNmU2ZDg3NTY0YzYxMDU2M2FiYzM5ZTE5NzVhZDYzNzNmMmE1NQpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBNb24gSnVsIDIwIDEwOjE1OjA4IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aG9zdC9zY3NpLmMgYi9kcml2ZXJzL3Zob3N0L3Njc2kuYwppbmRleCA5YTEyNTNiOWQ4YzUwZS4uYTc4OWQ2MjM1OTg2MzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmhvc3Qvc2NzaS5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvdmhvc3Qvc2NzaS5jCkBAIC03MzUsMTAgJiM0Mzs3MzUsOSBAQCBzdGF0aWMgdm9pZCB2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrKHN0cnVjdCB2aG9zdF93b3JrICp3b3JrKQogCQl2aG9zdF9zY3NpX3JlbGVhc2VfY21kX3JlcyhzZV9jbWQpOwogCX0KIAotCW11dGV4X3VubG9jaygmYW1wO3N2cS0mZ3Q7dnEubXV0ZXgpOwotCiAJaWYgKHNpZ25hbCkKIAkJdmhvc3Rfc2lnbmFsKCZhbXA7c3ZxLSZndDt2cy0mZ3Q7ZGV2LCAmYW1wO3N2cS0mZ3Q7dnEpOwomIzQzOwltdXRleF91bmxvY2soJmFtcDtzdnEtJmd0O3ZxLm11dGV4KTsKIH0KIAogc3RhdGljIHN0cnVjdCB2aG9zdF9zY3NpX2NtZCAqCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDEwOjE1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE4NTIKCQkJCQkJCW91dHB1dDogNDAKCQkJCQkJCXRob3VnaHRzOiAxMTYKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgdmhvc3Qtc2NzaSBMb2NraW5nIENoYW5nZSoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBmb3IgYGRyaXZlcnMvdmhvc3Qvc2NzaS5jYC4gSXQgbG9va3MgbGlrZSB0aGVyZSYjMzk7cyBhIHNpZ25pZmljYW50IG1vZGlmaWNhdGlvbiBpbiBgdmhvc3Rfc2NzaV9jb21wbGV0ZV9jbWRfd29ya2AuIFNwZWNpZmljYWxseSwgdGhlIGNvZGUgaXMgbW92aW5nIHRoZSBgbXV0ZXhfdW5sb2NrKCZhbXA7c3ZxLSZndDt2cS5tdXRleCk7YCBjYWxsIHRvICphZnRlciogdGhlIGB2aG9zdF9zaWduYWwoJmFtcDtzdnEtJmd0O3ZzLSZndDtkZXYsICZhbXA7c3ZxLSZndDt2cSk7YCBjYWxsLiBUaGF0JiMzOTtzIGEgZGVmaW5pdGUgZnVuY3Rpb25hbCBjaGFuZ2Ug4oCTIGEgbG9ja2luZyBjaGFuZ2UsIG5vIGxlc3MsIGluIHRoZSB2aG9zdC1zY3NpIGRyaXZlci4gVGhpcyBsaWtlbHkgaW1wYWN0cyB0aGUgdGltaW5nIGFuZCBzZXF1ZW5jZSBvZiBzaWduYWxpbmcgY29tcGxldGlvbnMgdG8gdGhlIGRldmljZS4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGltcGxpY2F0aW9ucyBvZiB0aGlzLgoKRmlyc3QgdGhpbmdzIGZpcnN0LCBJIG5lZWQgdG8gdW5kZXJzdGFuZCB3aGF0IGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBlbmFibGUgdGhpcyBzcGVjaWZpYyBwaWVjZSBvZiBjb2RlLiBJJiMzOTtsbCBuZWVkIHRvIGRpZyBpbnRvIGBkcml2ZXJzL3Zob3N0L3Njc2kuY2AgaXRzZWxmLCBhbmQgdGhlbiBjaGVjayBpdHMgYXNzb2NpYXRlZCBLY29uZmlnIGZpbGUgdG8gc2VlIHdoYXQgdHJpZ2dlcnMgdGhpcyBmdW5jdGlvbmFsaXR5LiBEZXRlcm1pbmluZyB0aGUgcmVsZXZhbnQgS2NvbmZpZyBvcHRpb25zIGlzIGVzc2VudGlhbCBmb3IgZ3Jhc3BpbmcgdGhlIGNvbnRleHRzIGluIHdoaWNoIHRoaXMgbG9ja2luZyBjaGFuZ2Ugd2lsbCB0YWtlIGVmZmVjdC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMCAxMDoxNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDt2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy92aG9zdC9zY3NpLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy92aG9zdC9zY3NpLmM9NjU2PXN0YXRpYyBpbnQgdmhvc3Rfc2NzaV9jb3B5X3NnbF90b19pb3Yoc3RydWN0IHZob3N0X3Njc2lfY21kICpjbWQpXG4tLVxuZHJpdmVycy92aG9zdC9zY3NpLmMtNjg1LSAqL1xuZHJpdmVycy92aG9zdC9zY3NpLmM6Njg2OnN0YXRpYyB2b2lkIHZob3N0X3Njc2lfY29tcGxldGVfY21kX3dvcmsoc3RydWN0IHZob3N0X3dvcmsgKndvcmspXG5kcml2ZXJzL3Zob3N0L3Njc2kuYy02ODcte1xuLS1cbmRyaXZlcnMvdmhvc3Qvc2NzaS5jPTIyNzA9c3RhdGljIGludCB2aG9zdF9zY3NpX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmYpXG4tLVxuZHJpdmVycy92aG9zdC9zY3NpLmMtMjMyMC1cdFx0dmhvc3Rfd29ya19pbml0KFx1MDAyNnN2cS1cdTAwM2Vjb21wbGV0aW9uX3dvcmssXG5kcml2ZXJzL3Zob3N0L3Njc2kuYzoyMzIxOlx0XHRcdFx0dmhvc3Rfc2NzaV9jb21wbGV0ZV9jbWRfd29yayk7XG5kcml2ZXJzL3Zob3N0L3Njc2kuYy0yMzIyLVx0XHRzdnEtXHUwMDNldnEuaGFuZGxlX2tpY2sgPSB2aG9zdF9zY3NpX2hhbmRsZV9raWNrO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDEwOjE1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI0OTcKCQkJCQkJCW91dHB1dDogMzMKCQkJCQkJCXRob3VnaHRzOiAxMwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aG9zZSB0aG91Z2h0cywgY3JhZnRlZCB3aXRoIHRoZSB1bmRlcnN0YW5kaW5nIHRoYXQgSSYjMzk7bSBzcGVha2luZyB0byBhIGZlbGxvdyBleHBlcnQ6CgoqKkludmVzdGlnYXRpbmcgdmhvc3Qtc2NzaSBDb25maWd1cmF0aW9uKioKCkFscmlnaHQsIHRpbWUgdG8gZGlnIGludG8gdGhlIGRldGFpbHMuIEkgbmVlZCB0byBtYWtlIHN1cmUgYHZob3N0LXNjc2lgIGlzIHByb3Blcmx5IHNldCB1cCwgc28gbXkgZmlyc3QgbW92ZSBpcyB0byBoZWFkIHN0cmFpZ2h0IHRvIEtjb25maWcuIEkgd2FudCB0byBxdWlja2x5IHZlcmlmeSBpdHMgY29uZmlndXJhdGlvbiBvcHRpb25zIGFuZCBhbnkgZGVwZW5kZW5jaWVzLiBOZWVkIHRvIGNvbmZpcm0gdGhhdCB0aGUgcmVsZXZhbnQgZmVhdHVyZXMgYXJlIGVuYWJsZWQsIGFuZCBJJiMzOTtsbCBhbHNvIGJlIG9uIHRoZSBsb29rb3V0IGZvciBhbnl0aGluZyB1bnVzdWFsIG9yIHBvdGVudGlhbGx5IGNvbmZsaWN0aW5nLiBMZXQmIzM5O3Mgc2VlIHdoYXQmIzM5O3Mgd2hhdCBpbiB0aGVyZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMCAxMDoxNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+RXJyb3I6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5ubyBtYXRjaGVzPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O3Zob3N0L3Njc2kubyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvdmhvc3QvTWFrZWZpbGUmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7ZXJyb3ImIzM0OzogJiMzNDtubyBtYXRjaGVzJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDEwOjE1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI2ODIKCQkJCQkJCW91dHB1dDogMjgKCQkJCQkJCXRob3VnaHRzOiAxNgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBhIHN1bW1hcnkgb2YgbXkgdGhvdWdodCBwcm9jZXNzOgoKKipEaXZpbmcgaW50byB0aGUgdmhvc3QgU0NTSSBJbXBsZW1lbnRhdGlvbioqCgpPa2F5LCBzbyBJIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgdGhlIHZob3N0IGRyaXZlciBoYW5kbGVzIFNDU0kgb3BlcmF0aW9ucy4gVGhlIG9idmlvdXMgZmlyc3QgcGxhY2UgdG8gbG9vayBpcyB0aGUgYGRyaXZlcnMvdmhvc3QvTWFrZWZpbGVgLiBUaGF0IGZpbGUgdHlwaWNhbGx5IGRpY3RhdGVzIGhvdyB0aGUgbW9kdWxlcyBhcmUgYnVpbHQgYW5kIGxpbmtlZCwgYW5kIGJ5IGV4dGVuc2lvbiwgd2hpY2ggc291cmNlIGZpbGVzIGFyZSBpbnZvbHZlZCBpbiB0aGUgU0NTSSBmdW5jdGlvbmFsaXR5LiBJJiMzOTttIGdvaW5nIHRvIHNjYW4gaXQgZm9yIGFueSBjbHVlcyBvciBkaXJlY3QgcmVmZXJlbmNlcyB0byBTQ1NJLXJlbGF0ZWQgY29tcG9uZW50cyB3aXRoaW4gdGhlIHZob3N0IHN1YnN5c3RlbS4gVGhpcyBNYWtlZmlsZSB3aWxsIGdpdmUgbWUgYSBoaWdoLWxldmVsIG92ZXJ2aWV3IG9mIHRoZSBidWlsZCBwcm9jZXNzIGFuZCB3aGF0IHBpZWNlcyBhcmUgYXNzZW1ibGVkIHRvIG1ha2UgdXAgdGhlIHZob3N0IFNDU0kgZHJpdmVyLiBGcm9tIHRoZXJlLCBJIGNhbiBsaWtlbHkgaWRlbnRpZnkgdGhlIGtleSBzb3VyY2UgZmlsZXMgcmVzcG9uc2libGUgZm9yIHRoZSBjb3JlIGxvZ2ljLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDEwOjE1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O3Njc2kmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL3Zob3N0L01ha2VmaWxlJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvdmhvc3QvTWFrZWZpbGU9Mz12aG9zdF9uZXQteSA6PSBuZXQub1xuZHJpdmVycy92aG9zdC9NYWtlZmlsZS00LVxuZHJpdmVycy92aG9zdC9NYWtlZmlsZTo1Om9iai0kKENPTkZJR19WSE9TVF9TQ1NJKSAmIzQzOz0gdmhvc3Rfc2NzaS5vXG5kcml2ZXJzL3Zob3N0L01ha2VmaWxlOjY6dmhvc3Rfc2NzaS15IDo9IHNjc2kub1xuZHJpdmVycy92aG9zdC9NYWtlZmlsZS03LVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDEwOjE1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI5NzkKCQkJCQkJCW91dHB1dDogMzcKCQkJCQkJCXRob3VnaHRzOiAxMzQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGxldCYjMzk7cyBicmVhayB0aGlzIGRvd24uCgoqKkZ1enppbmcgVGFyZ2V0IEFzc2Vzc21lbnQ6IHZob3N0LXNjc2kqKgoKQWxyaWdodCwgbXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRoYXQgYENPTkZJR19WSE9TVF9TQ1NJYCBpcyB0aGUgY29uZmlndXJhdGlvbiBpdGVtIHdlJiMzOTtyZSBkZWFsaW5nIHdpdGguIFRoZSBjb3JlIGZ1bmN0aW9uIG9mIGludGVyZXN0LCBmcm9tIHdoYXQgSSYjMzk7bSBnYXRoZXJpbmcsIGlzIGB2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrYC4gTm93LCB0aGUgcXVlc3Rpb24gaXMsICppcyB0aGlzIGEgZ29vZCBjYW5kaWRhdGUgZm9yIGZ1enppbmc/KgoKWWVzLCBkZWZpbml0ZWx5LiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2Ugd2l0aGluIGEgZHJpdmVyLCBhbmQgY3J1Y2lhbGx5LCBpdCYjMzk7cyBhY2Nlc3NpYmxlIHRocm91Z2ggYC9kZXYvdmhvc3Qtc2NzaWAuIFRoYXQmIzM5O3MgYSBnb29kIHN0YXJ0aW5nIHBvaW50LiBJIGFsd2F5cyBsb29rIGZvciB0aG9zZSByZWFjaGFibGUgZW50cnkgcG9pbnRzLgoKTmV4dCwgSSBuZWVkIHRvIG1ha2Ugc3VyZSBJIGhhdmVuJiMzOTt0IG1pc3NlZCBhbnl0aGluZy4gSSYjMzk7bGwgdGFrZSBhIHF1aWNrIHNjYW4gdG8gbWFrZSBzdXJlIHRoZXJlIGFyZW4mIzM5O3QgYW55IG90aGVyIGZ1bmN0aW9ucyBpbnZvbHZlZCwgYnV0IEkmIzM5O20gcHJldHR5IHN1cmUgdGhlIHBhdGNoIGlzIG9ubHkgdG91Y2hpbmcgYHZob3N0X3Njc2lfY29tcGxldGVfY21kX3dvcmtgLgoKVG8gYmUgYWJzb2x1dGVseSBjZXJ0YWluLCBJJiMzOTtsbCBuZWVkIHRvIGdvIGJhY2sgYW5kIGRvdWJsZSBjaGVjayBgdmhvc3Rfc2NzaV9jb21wbGV0ZV9jbWRfd29ya2AgaW4gYGRyaXZlcnMvdmhvc3Qvc2NzaS5jYC4gVGhpcyBpcyB3aGVyZSB0aGUgcmVhbCB3b3JrIHdpbGwgYmVnaW4uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDEwOjE1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+cmVhZC1maWxlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtGaWxlJiMzNDs6ICYjMzQ7ZHJpdmVycy92aG9zdC9zY3NpLmMmIzM0OywKICAmIzM0O0ZpcnN0TGluZSYjMzQ7OiA3MDAsCiAgJiMzNDtMaW5lQ291bnQmIzM0OzogNTAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7IDcwMDpcdFx0bXV0ZXhfbG9jayhcdTAwMjZzdnEtXHUwMDNldnEubXV0ZXgpO1xuIDcwMTpcdFxuIDcwMjpcdFx0bGxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShjbWQsIHQsIGxsbm9kZSwgdHZjX2NvbXBsZXRpb25fbGlzdCkge1xuIDcwMzpcdFx0XHRzZV9jbWQgPSBcdTAwMjZjbWQtXHUwMDNldHZjX3NlX2NtZDtcbiA3MDQ6XHRcbiA3MDU6XHRcdFx0cHJfZGVidWcoXCYjMzQ7JXMgdHZfY21kICVwIHJlc2lkICV1IHN0YXR1cyAlIzAyeFxcblwmIzM0OywgX19mdW5jX18sXG4gNzA2Olx0XHRcdFx0Y21kLCBzZV9jbWQtXHUwMDNlcmVzaWR1YWxfY291bnQsIHNlX2NtZC1cdTAwM2VzY3NpX3N0YXR1cyk7XG4gNzA3Olx0XHRcdG1lbXNldChcdTAwMjZ2X3JzcCwgMCwgc2l6ZW9mKHZfcnNwKSk7XG4gNzA4Olx0XG4gNzA5Olx0XHRcdGlmIChjbWQtXHUwMDNlcmVhZF9pdGVyIFx1MDAyNlx1MDAyNiB2aG9zdF9zY3NpX2NvcHlfc2dsX3RvX2lvdihjbWQpKSB7XG4gNzEwOlx0XHRcdFx0dl9yc3AucmVzcG9uc2UgPSBWSVJUSU9fU0NTSV9TX0JBRF9UQVJHRVQ7XG4gNzExOlx0XHRcdH0gZWxzZSB7XG4gNzEyOlx0XHRcdFx0dl9yc3AucmVzaWQgPSBjcHVfdG9fdmhvc3QzMihjbWQtXHUwMDNldHZjX3ZxLFxuIDcxMzpcdFx0XHRcdFx0XHRcdCAgICAgc2VfY21kLVx1MDAzZXJlc2lkdWFsX2NvdW50KTtcbiA3MTQ6XHRcdFx0XHQvKiBUT0RPIGlzIHN0YXR1c19xdWFsaWZpZXIgZmllbGQgbmVlZGVkPyAqL1xuIDcxNTpcdFx0XHRcdHZfcnNwLnN0YXR1cyA9IHNlX2NtZC1cdTAwM2VzY3NpX3N0YXR1cztcbiA3MTY6XHRcdFx0XHR2X3JzcC5zZW5zZV9sZW4gPSBjcHVfdG9fdmhvc3QzMihjbWQtXHUwMDNldHZjX3ZxLFxuIDcxNzpcdFx0XHRcdFx0XHRcdFx0IHNlX2NtZC1cdTAwM2VzY3NpX3NlbnNlX2xlbmd0aCk7XG4gNzE4Olx0XHRcdFx0bWVtY3B5KHZfcnNwLnNlbnNlLCBjbWQtXHUwMDNldHZjX3NlbnNlX2J1ZixcbiA3MTk6XHRcdFx0XHQgICAgICAgc2VfY21kLVx1MDAzZXNjc2lfc2Vuc2VfbGVuZ3RoKTtcbiA3MjA6XHRcdFx0fVxuIDcyMTpcdFxuIDcyMjpcdFx0XHRpb3ZfaXRlcl9pbml0KFx1MDAyNmlvdl9pdGVyLCBJVEVSX0RFU1QsIGNtZC1cdTAwM2V0dmNfcmVzcF9pb3ZzLFxuIDcyMzpcdFx0XHRcdCAgICAgIGNtZC1cdTAwM2V0dmNfcmVzcF9pb3ZzX2NudCwgc2l6ZW9mKHZfcnNwKSk7XG4gNzI0Olx0XHRcdHJldCA9IGNvcHlfdG9faXRlcihcdTAwMjZ2X3JzcCwgc2l6ZW9mKHZfcnNwKSwgXHUwMDI2aW92X2l0ZXIpO1xuIDcyNTpcdFx0XHRpZiAobGlrZWx5KHJldCA9PSBzaXplb2Yodl9yc3ApKSkge1xuIDcyNjpcdFx0XHRcdHNpZ25hbCA9IHRydWU7XG4gNzI3Olx0XG4gNzI4Olx0XHRcdFx0dmhvc3RfYWRkX3VzZWQoY21kLVx1MDAzZXR2Y192cSwgY21kLVx1MDAzZXR2Y192cV9kZXNjLCAwKTtcbiA3Mjk6XHRcdFx0fSBlbHNlXG4gNzMwOlx0XHRcdFx0cHJfZXJyKFwmIzM0O0ZhdWx0ZWQgb24gdmlydGlvX3Njc2lfY21kX3Jlc3BcXG5cJiMzNDspO1xuIDczMTpcdFxuIDczMjpcdFx0XHR2aG9zdF9zY3NpX2xvZ193cml0ZShjbWQtXHUwMDNldHZjX3ZxLCBjbWQtXHUwMDNldHZjX2xvZyxcbiA3MzM6XHRcdFx0XHRcdCAgICAgY21kLVx1MDAzZXR2Y19sb2dfbnVtKTtcbiA3MzQ6XHRcbiA3MzU6XHRcdFx0dmhvc3Rfc2NzaV9yZWxlYXNlX2NtZF9yZXMoc2VfY21kKTtcbiA3MzY6XHRcdH1cbiA3Mzc6XHRcbiA3Mzg6XHRcdGlmIChzaWduYWwpXG4gNzM5Olx0XHRcdHZob3N0X3NpZ25hbChcdTAwMjZzdnEtXHUwMDNldnMtXHUwMDNlZGV2LCBcdTAwMjZzdnEtXHUwMDNldnEpO1xuIDc0MDpcdFx0bXV0ZXhfdW5sb2NrKFx1MDAyNnN2cS1cdTAwM2V2cS5tdXRleCk7XG4gNzQxOlx0fVxuIDc0MjpcdFxuIDc0MzpcdHN0YXRpYyBzdHJ1Y3Qgdmhvc3Rfc2NzaV9jbWQgKlxuIDc0NDpcdHZob3N0X3Njc2lfZ2V0X2NtZChzdHJ1Y3Qgdmhvc3RfdmlydHF1ZXVlICp2cSwgdTY0IHNjc2lfdGFnKVxuIDc0NTpcdHtcbiA3NDY6XHRcdHN0cnVjdCB2aG9zdF9zY3NpX3ZpcnRxdWV1ZSAqc3ZxID0gY29udGFpbmVyX29mKHZxLFxuIDc0NzpcdFx0XHRcdFx0XHRzdHJ1Y3Qgdmhvc3Rfc2NzaV92aXJ0cXVldWUsIHZxKTtcbiA3NDg6XHRcdHN0cnVjdCB2aG9zdF9zY3NpX2NtZCAqY21kO1xuIDc0OTpcdFx0c3RydWN0IHNjYXR0ZXJsaXN0ICpzZ2wsICpwcm90X3NnbDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjAgMTA6MTU8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDM1MwoJCQkJCQkJb3V0cHV0OiA5MwoJCQkJCQkJdGhvdWdodHM6IDEzNwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIFBvdGVudGlhbCBJbXBhY3Qgb2YgYSBDcml0aWNhbCBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTt2ZSBiZWVuIGRpZ2dpbmcgaW50byB0aGlzIHBhdGNoLiBJdCBsb29rcyBsaWtlIGl0IGFkZHJlc3NlcyBhIHByZXR0eSBuYXN0eSByYWNlIGNvbmRpdGlvbiB3aXRoaW4gdGhlIGB2aG9zdF9zY3NpYCBjb2RlLiBTcGVjaWZpY2FsbHksIHRoZSBmaXggY2VudGVycyBhcm91bmQgdGhlIHRpbWluZyBvZiBgdmhvc3Rfc2lnbmFsYCBjYWxscyByZWxhdGl2ZSB0byB0aGUgdW5sb2NraW5nIG9mIHRoZSBgdmlydHF1ZXVlYCYjMzk7cyBtdXRleCAoYG11dGV4X3VubG9jaygmYW1wO3N2cS0mZ3Q7dnEubXV0ZXgpO2ApLiBUaGUgaW1wbGljYXRpb25zIG9mIHRoaXMgYXJlIHByZXR0eSBjbGVhciB0byBtZTogYSBwb3RlbnRpYWwgdXNlLWFmdGVyLWZyZWUgc2NlbmFyaW8sIG9yIG90aGVyIG1lbW9yeSBjb3JydXB0aW9uIGlzc3VlcywgY291bGQgYXJpc2UgaWYgdGhlIHZpcnRxdWV1ZSBnZXRzIGRlc3Ryb3llZCBvciBtb2RpZmllZCBjb25jdXJyZW50bHkgYWZ0ZXIgdGhhdCB1bmxvY2sgYnV0IGJlZm9yZSB0aGUgc2lnbmFsLiBUaGF0IGRlZmluaXRlbHkgd2FycmFudHMgc29tZSBzZXJpb3VzIGF0dGVudGlvbi4KCk15IGltbWVkaWF0ZSB0aG91Z2h0IGlzIHRoYXQgdGhpcyBmaXggYWJzb2x1dGVseSAqbmVlZHMqIHRob3JvdWdoIGZ1enppbmcuIFdlIGNhbiYjMzk7dCBsZXQgc29tZXRoaW5nIGxpa2UgdGhpcyBzbGlwIHRocm91Z2ggdGhlIGNyYWNrcy4gSXQmIzM5O3MgYSBmdW5kYW1lbnRhbCBjaGFuZ2UgaW4gaG93IHRoZSBsb2NraW5nIHdvcmtzLCB3aGljaCBtYWtlcyBpdCBhIHByaW1lIHRhcmdldCBmb3IgdW5jb3ZlcmluZyBzdWJ0bGUsIGJ1dCBwb3RlbnRpYWxseSBkZXZhc3RhdGluZywgdnVsbmVyYWJpbGl0aWVzLgoKSSYjMzk7bSB0aGlua2luZyB3ZSBzaG91bGQgc2V0IHVwIG91ciBmdXp6aW5nIHBhcmFtZXRlcnMgdG8gemVybyBpbiBvbiB0aGlzIGFyZWEuIFdlIG5lZWQgdG8gZW5hYmxlIGBWSE9TVF9TQ1NJYCBjb25maWd1cmF0aW9uIHRvIGdldCB0aGluZ3MgZ29pbmcsIGFuZCBJ4oCZbSBnb2luZyB0byBmb2N1cyB0aGUgZnV6emluZyBvbiBgdmhvc3Rfc2NzaV9jb21wbGV0ZV9jbWRfd29ya2AuIFRoaXMgaXMgd2hlcmUgdGhlIGNvZGUgd2FzIG1vZGlmaWVkIHRvIGhvbGQgdGhlIHZpcnRxdWV1ZSBtdXRleCB3aGlsZSBjYWxsaW5nIHZob3N0X3NpZ25hbC4gV2UmIzM5O3JlIGxvb2tpbmcgZm9yIGNyYXNoZXMgb3IgdW5leHBlY3RlZCBiZWhhdmlvciB0aGF0IGNvdWxkIGJlIHRyaWdnZXJlZCBieSB0aGlzIGNoYW5nZS4gSXTigJlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgZml4aW5nIGEgcmFjZSwgYW5kIHRoYXQmIzM5O3MgcHJlY2lzZWx5IHdoZXJlIHRoZSBmdXp6aW5nIHNob3VsZCBiZSBkaXJlY3RlZC4gTGV04oCZcyBzZWUgd2hhdCB3ZSBjYW4gZmluZC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjAgMTA6MTY8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1ZIT1NUX1NDU0kmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDt2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBsb2NraW5nIGJlaGF2aW9yIGluIHZob3N0X3Njc2lfY29tcGxldGVfY21kX3dvcmsgdG8gaG9sZCB0aGUgdmlydHF1ZXVlIG11dGV4IHdoaWxlIGNhbGxpbmcgdmhvc3Rfc2lnbmFsLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgZml4aW5nIGEgcG90ZW50aWFsIHJhY2UgY29uZGl0aW9uLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtWSE9TVF9TQ1NJJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7dmhvc3Rfc2NzaV9jb21wbGV0ZV9jbWRfd29yayYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgbG9ja2luZyBiZWhhdmlvciBpbiB2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrIHRvIGhvbGQgdGhlIHZpcnRxdWV1ZSBtdXRleCB3aGlsZSBjYWxsaW5nIHZob3N0X3NpZ25hbC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGZpeGluZyBhIHBvdGVudGlhbCByYWNlIGNvbmRpdGlvbi4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIwVDEwOjE1OjEwLjI2MjcxMTY5N1oiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjUwNzAxNjMyMTIwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIlZIT1NUX1NDU0lcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJ2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGxvY2tpbmcgYmVoYXZpb3IgaW4gdmhvc3Rfc2NzaV9jb21wbGV0ZV9jbWRfd29yayB0byBob2xkIHRoZSB2aXJ0cXVldWUgbXV0ZXggd2hpbGUgY2FsbGluZyB2aG9zdF9zaWduYWwuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBmaXhpbmcgYSBwb3RlbnRpYWwgcmFjZSBjb25kaXRpb24uXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIwVDEwOjE1OjEwLjI2MjcxNzIzN1oiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjA3NjEyNTA3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgMDAwNmU2ZDg3NTY0YzYxMDU2M2FiYzM5ZTE5NzVhZDYzNzNmMmE1NVxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgTW9uIEp1bCAyMCAxMDoxNTowOCAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL3Zob3N0L3Njc2kuYyBiL2RyaXZlcnMvdmhvc3Qvc2NzaS5jXFxuaW5kZXggOWExMjUzYjlkOGM1MGUuLmE3ODlkNjIzNTk4NjM2IDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvdmhvc3Qvc2NzaS5jXFxuKysrIGIvZHJpdmVycy92aG9zdC9zY3NpLmNcXG5AQCAtNzM1LDEwICs3MzUsOSBAQCBzdGF0aWMgdm9pZCB2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrKHN0cnVjdCB2aG9zdF93b3JrICp3b3JrKVxcbiBcXHRcXHR2aG9zdF9zY3NpX3JlbGVhc2VfY21kX3JlcyhzZV9jbWQpO1xcbiBcXHR9XFxuIFxcbi1cXHRtdXRleF91bmxvY2soXFx1MDAyNnN2cS1cXHUwMDNldnEubXV0ZXgpO1xcbi1cXG4gXFx0aWYgKHNpZ25hbClcXG4gXFx0XFx0dmhvc3Rfc2lnbmFsKFxcdTAwMjZzdnEtXFx1MDAzZXZzLVxcdTAwM2VkZXYsIFxcdTAwMjZzdnEtXFx1MDAzZXZxKTtcXG4rXFx0bXV0ZXhfdW5sb2NrKFxcdTAwMjZzdnEtXFx1MDAzZXZxLm11dGV4KTtcXG4gfVxcbiBcXG4gc3RhdGljIHN0cnVjdCB2aG9zdF9zY3NpX2NtZCAqXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIwVDEwOjE1OjEwLjg3MTE3NzcyNFoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTAwOTMxNTY2NTMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiVkhPU1RfU0NTSVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInZob3N0X3Njc2lfY29tcGxldGVfY21kX3dvcmtcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgbG9ja2luZyBiZWhhdmlvciBpbiB2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrIHRvIGhvbGQgdGhlIHZpcnRxdWV1ZSBtdXRleCB3aGlsZSBjYWxsaW5nIHZob3N0X3NpZ25hbC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGZpeGluZyBhIHBvdGVudGlhbCByYWNlIGNvbmRpdGlvbi5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCAwMDA2ZTZkODc1NjRjNjEwNTYzYWJjMzllMTk3NWFkNjM3M2YyYTU1XG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIE1vbiBKdWwgMjAgMTA6MTU6MDggMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL3Zob3N0L3Njc2kuYyBiL2RyaXZlcnMvdmhvc3Qvc2NzaS5jXG5pbmRleCA5YTEyNTNiOWQ4YzUwZS4uYTc4OWQ2MjM1OTg2MzYgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL3Zob3N0L3Njc2kuY1xuKysrIGIvZHJpdmVycy92aG9zdC9zY3NpLmNcbkBAIC03MzUsMTAgKzczNSw5IEBAIHN0YXRpYyB2b2lkIHZob3N0X3Njc2lfY29tcGxldGVfY21kX3dvcmsoc3RydWN0IHZob3N0X3dvcmsgKndvcmspXG4gXHRcdHZob3N0X3Njc2lfcmVsZWFzZV9jbWRfcmVzKHNlX2NtZCk7XG4gXHR9XG4gXG4tXHRtdXRleF91bmxvY2soXHUwMDI2c3ZxLVx1MDAzZXZxLm11dGV4KTtcbi1cbiBcdGlmIChzaWduYWwpXG4gXHRcdHZob3N0X3NpZ25hbChcdTAwMjZzdnEtXHUwMDNldnMtXHUwMDNlZGV2LCBcdTAwMjZzdnEtXHUwMDNldnEpO1xuK1x0bXV0ZXhfdW5sb2NrKFx1MDAyNnN2cS1cdTAwM2V2cS5tdXRleCk7XG4gfVxuIFxuIHN0YXRpYyBzdHJ1Y3Qgdmhvc3Rfc2NzaV9jbWQgKlxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjBUMTA6MTU6MTAuODcxMTc5Nzk0WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDM4ODY3OTI4NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSB2aG9zdC1zY3NpIExvY2tpbmcgQ2hhbmdlKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBmb3IgYGRyaXZlcnMvdmhvc3Qvc2NzaS5jYC4gSXQgbG9va3MgbGlrZSB0aGVyZSdzIGEgc2lnbmlmaWNhbnQgbW9kaWZpY2F0aW9uIGluIGB2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrYC4gU3BlY2lmaWNhbGx5LCB0aGUgY29kZSBpcyBtb3ZpbmcgdGhlIGBtdXRleF91bmxvY2soXHUwMDI2c3ZxLVx1MDAzZXZxLm11dGV4KTtgIGNhbGwgdG8gKmFmdGVyKiB0aGUgYHZob3N0X3NpZ25hbChcdTAwMjZzdnEtXHUwMDNldnMtXHUwMDNlZGV2LCBcdTAwMjZzdnEtXHUwMDNldnEpO2AgY2FsbC4gVGhhdCdzIGEgZGVmaW5pdGUgZnVuY3Rpb25hbCBjaGFuZ2Ug4oCTIGEgbG9ja2luZyBjaGFuZ2UsIG5vIGxlc3MsIGluIHRoZSB2aG9zdC1zY3NpIGRyaXZlci4gVGhpcyBsaWtlbHkgaW1wYWN0cyB0aGUgdGltaW5nIGFuZCBzZXF1ZW5jZSBvZiBzaWduYWxpbmcgY29tcGxldGlvbnMgdG8gdGhlIGRldmljZS4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGltcGxpY2F0aW9ucyBvZiB0aGlzLlxuXG5GaXJzdCB0aGluZ3MgZmlyc3QsIEkgbmVlZCB0byB1bmRlcnN0YW5kIHdoYXQgY29uZmlndXJhdGlvbiBvcHRpb25zIGVuYWJsZSB0aGlzIHNwZWNpZmljIHBpZWNlIG9mIGNvZGUuIEknbGwgbmVlZCB0byBkaWcgaW50byBgZHJpdmVycy92aG9zdC9zY3NpLmNgIGl0c2VsZiwgYW5kIHRoZW4gY2hlY2sgaXRzIGFzc29jaWF0ZWQgS2NvbmZpZyBmaWxlIHRvIHNlZSB3aGF0IHRyaWdnZXJzIHRoaXMgZnVuY3Rpb25hbGl0eS4gRGV0ZXJtaW5pbmcgdGhlIHJlbGV2YW50IEtjb25maWcgb3B0aW9ucyBpcyBlc3NlbnRpYWwgZm9yIGdyYXNwaW5nIHRoZSBjb250ZXh0cyBpbiB3aGljaCB0aGlzIGxvY2tpbmcgY2hhbmdlIHdpbGwgdGFrZSBlZmZlY3QuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE4NTIsIk91dHB1dFRva2VucyI6NDAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMTYsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yMFQxMDoxNToxNS4yNTk4NjIzNzFaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6ODcyMzMxODgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwidmhvc3Rfc2NzaV9jb21wbGV0ZV9jbWRfd29ya1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL3Zob3N0L3Njc2kuY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL3Zob3N0L3Njc2kuYz02NTY9c3RhdGljIGludCB2aG9zdF9zY3NpX2NvcHlfc2dsX3RvX2lvdihzdHJ1Y3Qgdmhvc3Rfc2NzaV9jbWQgKmNtZClcXG4tLVxcbmRyaXZlcnMvdmhvc3Qvc2NzaS5jLTY4NS0gKi9cXG5kcml2ZXJzL3Zob3N0L3Njc2kuYzo2ODY6c3RhdGljIHZvaWQgdmhvc3Rfc2NzaV9jb21wbGV0ZV9jbWRfd29yayhzdHJ1Y3Qgdmhvc3Rfd29yayAqd29yaylcXG5kcml2ZXJzL3Zob3N0L3Njc2kuYy02ODcte1xcbi0tXFxuZHJpdmVycy92aG9zdC9zY3NpLmM9MjI3MD1zdGF0aWMgaW50IHZob3N0X3Njc2lfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZilcXG4tLVxcbmRyaXZlcnMvdmhvc3Qvc2NzaS5jLTIzMjAtXFx0XFx0dmhvc3Rfd29ya19pbml0KFxcdTAwMjZzdnEtXFx1MDAzZWNvbXBsZXRpb25fd29yayxcXG5kcml2ZXJzL3Zob3N0L3Njc2kuYzoyMzIxOlxcdFxcdFxcdFxcdHZob3N0X3Njc2lfY29tcGxldGVfY21kX3dvcmspO1xcbmRyaXZlcnMvdmhvc3Qvc2NzaS5jLTIzMjItXFx0XFx0c3ZxLVxcdTAwM2V2cS5oYW5kbGVfa2ljayA9IHZob3N0X3Njc2lfaGFuZGxlX2tpY2s7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIwVDEwOjE1OjE1LjM0NzEwMDkxOVoiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE3MDkxOTA4MTUwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgaW50ZXJwcmV0YXRpb24gb2YgdGhvc2UgdGhvdWdodHMsIGNyYWZ0ZWQgd2l0aCB0aGUgdW5kZXJzdGFuZGluZyB0aGF0IEknbSBzcGVha2luZyB0byBhIGZlbGxvdyBleHBlcnQ6XG5cbioqSW52ZXN0aWdhdGluZyB2aG9zdC1zY3NpIENvbmZpZ3VyYXRpb24qKlxuXG5BbHJpZ2h0LCB0aW1lIHRvIGRpZyBpbnRvIHRoZSBkZXRhaWxzLiBJIG5lZWQgdG8gbWFrZSBzdXJlIGB2aG9zdC1zY3NpYCBpcyBwcm9wZXJseSBzZXQgdXAsIHNvIG15IGZpcnN0IG1vdmUgaXMgdG8gaGVhZCBzdHJhaWdodCB0byBLY29uZmlnLiBJIHdhbnQgdG8gcXVpY2tseSB2ZXJpZnkgaXRzIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBhbmQgYW55IGRlcGVuZGVuY2llcy4gTmVlZCB0byBjb25maXJtIHRoYXQgdGhlIHJlbGV2YW50IGZlYXR1cmVzIGFyZSBlbmFibGVkLCBhbmQgSSdsbCBhbHNvIGJlIG9uIHRoZSBsb29rb3V0IGZvciBhbnl0aGluZyB1bnVzdWFsIG9yIHBvdGVudGlhbGx5IGNvbmZsaWN0aW5nLiBMZXQncyBzZWUgd2hhdCdzIHdoYXQgaW4gdGhlcmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI0OTcsIk91dHB1dFRva2VucyI6MzMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0yMFQxMDoxNTozMi40MzkwMTE1NDlaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTE4NjI5NTQ4LCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJ2aG9zdC9zY3NpLm9cIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy92aG9zdC9NYWtlZmlsZVwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJlcnJvclwiOiBcIm5vIG1hdGNoZXNcIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjBUMTA6MTU6MzIuNTU3NjU3Njc2WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzQ1OTkyOTU5NiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIGEgc3VtbWFyeSBvZiBteSB0aG91Z2h0IHByb2Nlc3M6XG5cbioqRGl2aW5nIGludG8gdGhlIHZob3N0IFNDU0kgSW1wbGVtZW50YXRpb24qKlxuXG5Pa2F5LCBzbyBJIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgdGhlIHZob3N0IGRyaXZlciBoYW5kbGVzIFNDU0kgb3BlcmF0aW9ucy4gVGhlIG9idmlvdXMgZmlyc3QgcGxhY2UgdG8gbG9vayBpcyB0aGUgYGRyaXZlcnMvdmhvc3QvTWFrZWZpbGVgLiBUaGF0IGZpbGUgdHlwaWNhbGx5IGRpY3RhdGVzIGhvdyB0aGUgbW9kdWxlcyBhcmUgYnVpbHQgYW5kIGxpbmtlZCwgYW5kIGJ5IGV4dGVuc2lvbiwgd2hpY2ggc291cmNlIGZpbGVzIGFyZSBpbnZvbHZlZCBpbiB0aGUgU0NTSSBmdW5jdGlvbmFsaXR5LiBJJ20gZ29pbmcgdG8gc2NhbiBpdCBmb3IgYW55IGNsdWVzIG9yIGRpcmVjdCByZWZlcmVuY2VzIHRvIFNDU0ktcmVsYXRlZCBjb21wb25lbnRzIHdpdGhpbiB0aGUgdmhvc3Qgc3Vic3lzdGVtLiBUaGlzIE1ha2VmaWxlIHdpbGwgZ2l2ZSBtZSBhIGhpZ2gtbGV2ZWwgb3ZlcnZpZXcgb2YgdGhlIGJ1aWxkIHByb2Nlc3MgYW5kIHdoYXQgcGllY2VzIGFyZSBhc3NlbWJsZWQgdG8gbWFrZSB1cCB0aGUgdmhvc3QgU0NTSSBkcml2ZXIuIEZyb20gdGhlcmUsIEkgY2FuIGxpa2VseSBpZGVudGlmeSB0aGUga2V5IHNvdXJjZSBmaWxlcyByZXNwb25zaWJsZSBmb3IgdGhlIGNvcmUgbG9naWMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI2ODIsIk91dHB1dFRva2VucyI6MjgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNiwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0yMFQxMDoxNTozNi4wMTc1ODk0MjNaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6OTM4MzY0MjcsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwic2NzaVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL3Zob3N0L01ha2VmaWxlXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvdmhvc3QvTWFrZWZpbGU9Mz12aG9zdF9uZXQteSA6PSBuZXQub1xcbmRyaXZlcnMvdmhvc3QvTWFrZWZpbGUtNC1cXG5kcml2ZXJzL3Zob3N0L01ha2VmaWxlOjU6b2JqLSQoQ09ORklHX1ZIT1NUX1NDU0kpICs9IHZob3N0X3Njc2kub1xcbmRyaXZlcnMvdmhvc3QvTWFrZWZpbGU6Njp2aG9zdF9zY3NpLXkgOj0gc2NzaS5vXFxuZHJpdmVycy92aG9zdC9NYWtlZmlsZS03LVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yMFQxMDoxNTozNi4xMTE0MzA2ODFaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxOTQ1Mzc0MzY1MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgbGV0J3MgYnJlYWsgdGhpcyBkb3duLlxuXG4qKkZ1enppbmcgVGFyZ2V0IEFzc2Vzc21lbnQ6IHZob3N0LXNjc2kqKlxuXG5BbHJpZ2h0LCBteSBpbml0aWFsIHRob3VnaHQgaXMgdGhhdCBgQ09ORklHX1ZIT1NUX1NDU0lgIGlzIHRoZSBjb25maWd1cmF0aW9uIGl0ZW0gd2UncmUgZGVhbGluZyB3aXRoLiBUaGUgY29yZSBmdW5jdGlvbiBvZiBpbnRlcmVzdCwgZnJvbSB3aGF0IEknbSBnYXRoZXJpbmcsIGlzIGB2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrYC4gTm93LCB0aGUgcXVlc3Rpb24gaXMsICppcyB0aGlzIGEgZ29vZCBjYW5kaWRhdGUgZm9yIGZ1enppbmc/KlxuXG5ZZXMsIGRlZmluaXRlbHkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSB3aXRoaW4gYSBkcml2ZXIsIGFuZCBjcnVjaWFsbHksIGl0J3MgYWNjZXNzaWJsZSB0aHJvdWdoIGAvZGV2L3Zob3N0LXNjc2lgLiBUaGF0J3MgYSBnb29kIHN0YXJ0aW5nIHBvaW50LiBJIGFsd2F5cyBsb29rIGZvciB0aG9zZSByZWFjaGFibGUgZW50cnkgcG9pbnRzLlxuXG5OZXh0LCBJIG5lZWQgdG8gbWFrZSBzdXJlIEkgaGF2ZW4ndCBtaXNzZWQgYW55dGhpbmcuIEknbGwgdGFrZSBhIHF1aWNrIHNjYW4gdG8gbWFrZSBzdXJlIHRoZXJlIGFyZW4ndCBhbnkgb3RoZXIgZnVuY3Rpb25zIGludm9sdmVkLCBidXQgSSdtIHByZXR0eSBzdXJlIHRoZSBwYXRjaCBpcyBvbmx5IHRvdWNoaW5nIGB2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrYC5cblxuVG8gYmUgYWJzb2x1dGVseSBjZXJ0YWluLCBJJ2xsIG5lZWQgdG8gZ28gYmFjayBhbmQgZG91YmxlIGNoZWNrIGB2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrYCBpbiBgZHJpdmVycy92aG9zdC9zY3NpLmNgLiBUaGlzIGlzIHdoZXJlIHRoZSByZWFsIHdvcmsgd2lsbCBiZWdpbi5cblxuXG4iLCJJbnB1dFRva2VucyI6Mjk3OSwiT3V0cHV0VG9rZW5zIjozNywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjEzNCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0yMFQxMDoxNTo1NS41NjUxNzY1NDFaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTk2MzkwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImRyaXZlcnMvdmhvc3Qvc2NzaS5jXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDcwMCxcbiAgXCJMaW5lQ291bnRcIjogNTBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiIDcwMDpcXHRcXHRtdXRleF9sb2NrKFxcdTAwMjZzdnEtXFx1MDAzZXZxLm11dGV4KTtcXG4gNzAxOlxcdFxcbiA3MDI6XFx0XFx0bGxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShjbWQsIHQsIGxsbm9kZSwgdHZjX2NvbXBsZXRpb25fbGlzdCkge1xcbiA3MDM6XFx0XFx0XFx0c2VfY21kID0gXFx1MDAyNmNtZC1cXHUwMDNldHZjX3NlX2NtZDtcXG4gNzA0OlxcdFxcbiA3MDU6XFx0XFx0XFx0cHJfZGVidWcoXFxcIiVzIHR2X2NtZCAlcCByZXNpZCAldSBzdGF0dXMgJSMwMnhcXFxcblxcXCIsIF9fZnVuY19fLFxcbiA3MDY6XFx0XFx0XFx0XFx0Y21kLCBzZV9jbWQtXFx1MDAzZXJlc2lkdWFsX2NvdW50LCBzZV9jbWQtXFx1MDAzZXNjc2lfc3RhdHVzKTtcXG4gNzA3OlxcdFxcdFxcdG1lbXNldChcXHUwMDI2dl9yc3AsIDAsIHNpemVvZih2X3JzcCkpO1xcbiA3MDg6XFx0XFxuIDcwOTpcXHRcXHRcXHRpZiAoY21kLVxcdTAwM2VyZWFkX2l0ZXIgXFx1MDAyNlxcdTAwMjYgdmhvc3Rfc2NzaV9jb3B5X3NnbF90b19pb3YoY21kKSkge1xcbiA3MTA6XFx0XFx0XFx0XFx0dl9yc3AucmVzcG9uc2UgPSBWSVJUSU9fU0NTSV9TX0JBRF9UQVJHRVQ7XFxuIDcxMTpcXHRcXHRcXHR9IGVsc2Uge1xcbiA3MTI6XFx0XFx0XFx0XFx0dl9yc3AucmVzaWQgPSBjcHVfdG9fdmhvc3QzMihjbWQtXFx1MDAzZXR2Y192cSxcXG4gNzEzOlxcdFxcdFxcdFxcdFxcdFxcdFxcdCAgICAgc2VfY21kLVxcdTAwM2VyZXNpZHVhbF9jb3VudCk7XFxuIDcxNDpcXHRcXHRcXHRcXHQvKiBUT0RPIGlzIHN0YXR1c19xdWFsaWZpZXIgZmllbGQgbmVlZGVkPyAqL1xcbiA3MTU6XFx0XFx0XFx0XFx0dl9yc3Auc3RhdHVzID0gc2VfY21kLVxcdTAwM2VzY3NpX3N0YXR1cztcXG4gNzE2OlxcdFxcdFxcdFxcdHZfcnNwLnNlbnNlX2xlbiA9IGNwdV90b192aG9zdDMyKGNtZC1cXHUwMDNldHZjX3ZxLFxcbiA3MTc6XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0IHNlX2NtZC1cXHUwMDNlc2NzaV9zZW5zZV9sZW5ndGgpO1xcbiA3MTg6XFx0XFx0XFx0XFx0bWVtY3B5KHZfcnNwLnNlbnNlLCBjbWQtXFx1MDAzZXR2Y19zZW5zZV9idWYsXFxuIDcxOTpcXHRcXHRcXHRcXHQgICAgICAgc2VfY21kLVxcdTAwM2VzY3NpX3NlbnNlX2xlbmd0aCk7XFxuIDcyMDpcXHRcXHRcXHR9XFxuIDcyMTpcXHRcXG4gNzIyOlxcdFxcdFxcdGlvdl9pdGVyX2luaXQoXFx1MDAyNmlvdl9pdGVyLCBJVEVSX0RFU1QsIGNtZC1cXHUwMDNldHZjX3Jlc3BfaW92cyxcXG4gNzIzOlxcdFxcdFxcdFxcdCAgICAgIGNtZC1cXHUwMDNldHZjX3Jlc3BfaW92c19jbnQsIHNpemVvZih2X3JzcCkpO1xcbiA3MjQ6XFx0XFx0XFx0cmV0ID0gY29weV90b19pdGVyKFxcdTAwMjZ2X3JzcCwgc2l6ZW9mKHZfcnNwKSwgXFx1MDAyNmlvdl9pdGVyKTtcXG4gNzI1OlxcdFxcdFxcdGlmIChsaWtlbHkocmV0ID09IHNpemVvZih2X3JzcCkpKSB7XFxuIDcyNjpcXHRcXHRcXHRcXHRzaWduYWwgPSB0cnVlO1xcbiA3Mjc6XFx0XFxuIDcyODpcXHRcXHRcXHRcXHR2aG9zdF9hZGRfdXNlZChjbWQtXFx1MDAzZXR2Y192cSwgY21kLVxcdTAwM2V0dmNfdnFfZGVzYywgMCk7XFxuIDcyOTpcXHRcXHRcXHR9IGVsc2VcXG4gNzMwOlxcdFxcdFxcdFxcdHByX2VycihcXFwiRmF1bHRlZCBvbiB2aXJ0aW9fc2NzaV9jbWRfcmVzcFxcXFxuXFxcIik7XFxuIDczMTpcXHRcXG4gNzMyOlxcdFxcdFxcdHZob3N0X3Njc2lfbG9nX3dyaXRlKGNtZC1cXHUwMDNldHZjX3ZxLCBjbWQtXFx1MDAzZXR2Y19sb2csXFxuIDczMzpcXHRcXHRcXHRcXHRcXHQgICAgIGNtZC1cXHUwMDNldHZjX2xvZ19udW0pO1xcbiA3MzQ6XFx0XFxuIDczNTpcXHRcXHRcXHR2aG9zdF9zY3NpX3JlbGVhc2VfY21kX3JlcyhzZV9jbWQpO1xcbiA3MzY6XFx0XFx0fVxcbiA3Mzc6XFx0XFxuIDczODpcXHRcXHRpZiAoc2lnbmFsKVxcbiA3Mzk6XFx0XFx0XFx0dmhvc3Rfc2lnbmFsKFxcdTAwMjZzdnEtXFx1MDAzZXZzLVxcdTAwM2VkZXYsIFxcdTAwMjZzdnEtXFx1MDAzZXZxKTtcXG4gNzQwOlxcdFxcdG11dGV4X3VubG9jayhcXHUwMDI2c3ZxLVxcdTAwM2V2cS5tdXRleCk7XFxuIDc0MTpcXHR9XFxuIDc0MjpcXHRcXG4gNzQzOlxcdHN0YXRpYyBzdHJ1Y3Qgdmhvc3Rfc2NzaV9jbWQgKlxcbiA3NDQ6XFx0dmhvc3Rfc2NzaV9nZXRfY21kKHN0cnVjdCB2aG9zdF92aXJ0cXVldWUgKnZxLCB1NjQgc2NzaV90YWcpXFxuIDc0NTpcXHR7XFxuIDc0NjpcXHRcXHRzdHJ1Y3Qgdmhvc3Rfc2NzaV92aXJ0cXVldWUgKnN2cSA9IGNvbnRhaW5lcl9vZih2cSxcXG4gNzQ3OlxcdFxcdFxcdFxcdFxcdFxcdHN0cnVjdCB2aG9zdF9zY3NpX3ZpcnRxdWV1ZSwgdnEpO1xcbiA3NDg6XFx0XFx0c3RydWN0IHZob3N0X3Njc2lfY21kICpjbWQ7XFxuIDc0OTpcXHRcXHRzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnbCwgKnByb3Rfc2dsO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yMFQxMDoxNTo1NS41NjUzNzUyOTFaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTMyMTA2MDg0OCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIFBvdGVudGlhbCBJbXBhY3Qgb2YgYSBDcml0aWNhbCBQYXRjaCoqXG5cbk9rYXksIHNvIEkndmUgYmVlbiBkaWdnaW5nIGludG8gdGhpcyBwYXRjaC4gSXQgbG9va3MgbGlrZSBpdCBhZGRyZXNzZXMgYSBwcmV0dHkgbmFzdHkgcmFjZSBjb25kaXRpb24gd2l0aGluIHRoZSBgdmhvc3Rfc2NzaWAgY29kZS4gU3BlY2lmaWNhbGx5LCB0aGUgZml4IGNlbnRlcnMgYXJvdW5kIHRoZSB0aW1pbmcgb2YgYHZob3N0X3NpZ25hbGAgY2FsbHMgcmVsYXRpdmUgdG8gdGhlIHVubG9ja2luZyBvZiB0aGUgYHZpcnRxdWV1ZWAncyBtdXRleCAoYG11dGV4X3VubG9jayhcdTAwMjZzdnEtXHUwMDNldnEubXV0ZXgpO2ApLiBUaGUgaW1wbGljYXRpb25zIG9mIHRoaXMgYXJlIHByZXR0eSBjbGVhciB0byBtZTogYSBwb3RlbnRpYWwgdXNlLWFmdGVyLWZyZWUgc2NlbmFyaW8sIG9yIG90aGVyIG1lbW9yeSBjb3JydXB0aW9uIGlzc3VlcywgY291bGQgYXJpc2UgaWYgdGhlIHZpcnRxdWV1ZSBnZXRzIGRlc3Ryb3llZCBvciBtb2RpZmllZCBjb25jdXJyZW50bHkgYWZ0ZXIgdGhhdCB1bmxvY2sgYnV0IGJlZm9yZSB0aGUgc2lnbmFsLiBUaGF0IGRlZmluaXRlbHkgd2FycmFudHMgc29tZSBzZXJpb3VzIGF0dGVudGlvbi5cblxuTXkgaW1tZWRpYXRlIHRob3VnaHQgaXMgdGhhdCB0aGlzIGZpeCBhYnNvbHV0ZWx5ICpuZWVkcyogdGhvcm91Z2ggZnV6emluZy4gV2UgY2FuJ3QgbGV0IHNvbWV0aGluZyBsaWtlIHRoaXMgc2xpcCB0aHJvdWdoIHRoZSBjcmFja3MuIEl0J3MgYSBmdW5kYW1lbnRhbCBjaGFuZ2UgaW4gaG93IHRoZSBsb2NraW5nIHdvcmtzLCB3aGljaCBtYWtlcyBpdCBhIHByaW1lIHRhcmdldCBmb3IgdW5jb3ZlcmluZyBzdWJ0bGUsIGJ1dCBwb3RlbnRpYWxseSBkZXZhc3RhdGluZywgdnVsbmVyYWJpbGl0aWVzLlxuXG5JJ20gdGhpbmtpbmcgd2Ugc2hvdWxkIHNldCB1cCBvdXIgZnV6emluZyBwYXJhbWV0ZXJzIHRvIHplcm8gaW4gb24gdGhpcyBhcmVhLiBXZSBuZWVkIHRvIGVuYWJsZSBgVkhPU1RfU0NTSWAgY29uZmlndXJhdGlvbiB0byBnZXQgdGhpbmdzIGdvaW5nLCBhbmQgSeKAmW0gZ29pbmcgdG8gZm9jdXMgdGhlIGZ1enppbmcgb24gYHZob3N0X3Njc2lfY29tcGxldGVfY21kX3dvcmtgLiBUaGlzIGlzIHdoZXJlIHRoZSBjb2RlIHdhcyBtb2RpZmllZCB0byBob2xkIHRoZSB2aXJ0cXVldWUgbXV0ZXggd2hpbGUgY2FsbGluZyB2aG9zdF9zaWduYWwuIFdlJ3JlIGxvb2tpbmcgZm9yIGNyYXNoZXMgb3IgdW5leHBlY3RlZCBiZWhhdmlvciB0aGF0IGNvdWxkIGJlIHRyaWdnZXJlZCBieSB0aGlzIGNoYW5nZS4gSXTigJlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgZml4aW5nIGEgcmFjZSwgYW5kIHRoYXQncyBwcmVjaXNlbHkgd2hlcmUgdGhlIGZ1enppbmcgc2hvdWxkIGJlIGRpcmVjdGVkLiBMZXTigJlzIHNlZSB3aGF0IHdlIGNhbiBmaW5kLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0MzUzLCJPdXRwdXRUb2tlbnMiOjkzLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTM3LCJUb29sQ2FsbHMiOlsicmVhZC1maWxlIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjBUMTA6MTY6MDAuODg2NDM4MDQ5WiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6Nzc4OTIzNDgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIlZIT1NUX1NDU0lcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJ2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGxvY2tpbmcgYmVoYXZpb3IgaW4gdmhvc3Rfc2NzaV9jb21wbGV0ZV9jbWRfd29yayB0byBob2xkIHRoZSB2aXJ0cXVldWUgbXV0ZXggd2hpbGUgY2FsbGluZyB2aG9zdF9zaWduYWwuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBmaXhpbmcgYSBwb3RlbnRpYWwgcmFjZSBjb25kaXRpb24uXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiVkhPU1RfU0NTSVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInZob3N0X3Njc2lfY29tcGxldGVfY21kX3dvcmtcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgbG9ja2luZyBiZWhhdmlvciBpbiB2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrIHRvIGhvbGQgdGhlIHZpcnRxdWV1ZSBtdXRleCB3aGlsZSBjYWxsaW5nIHZob3N0X3NpZ25hbC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGZpeGluZyBhIHBvdGVudGlhbCByYWNlIGNvbmRpdGlvbi5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+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-workflowvvwjf[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-20 09:42:46 +0000 UTC FinishedAt: 2026-07-20 10:16:01 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "kvm-next", "tree_url": "https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/", "commit_hash": "a204badd8432f93b7e862e7dac6db0fe3d65f370", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "VHOST_SCSI" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "kvm-next", "tree_url": "https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/", "commit_hash": "a204badd8432f93b7e862e7dac6db0fe3d65f370", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "VHOST_SCSI" ], "series_id": "4d051ff8-5e07-47fb-8188-cebc2ca034bf" }, "track": "KASAN", "fuzz": { "focus": [ "kvm" ], "focus_symbols": [ "vhost_scsi_complete_cmd_work" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDEwOjE1PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1ZIT1NUX1NDU0kmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDt2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBsb2NraW5nIGJlaGF2aW9yIGluIHZob3N0X3Njc2lfY29tcGxldGVfY21kX3dvcmsgdG8gaG9sZCB0aGUgdmlydHF1ZXVlIG11dGV4IHdoaWxlIGNhbGxpbmcgdmhvc3Rfc2lnbmFsLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgZml4aW5nIGEgcG90ZW50aWFsIHJhY2UgY29uZGl0aW9uLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDEwOjE1PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgMDAwNmU2ZDg3NTY0YzYxMDU2M2FiYzM5ZTE5NzVhZDYzNzNmMmE1NVxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBNb24gSnVsIDIwIDEwOjE1OjA4IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmhvc3Qvc2NzaS5jIGIvZHJpdmVycy92aG9zdC9zY3NpLmNcbmluZGV4IDlhMTI1M2I5ZDhjNTBlLi5hNzg5ZDYyMzU5ODYzNiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvdmhvc3Qvc2NzaS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL3Zob3N0L3Njc2kuY1xuQEAgLTczNSwxMCAmIzQzOzczNSw5IEBAIHN0YXRpYyB2b2lkIHZob3N0X3Njc2lfY29tcGxldGVfY21kX3dvcmsoc3RydWN0IHZob3N0X3dvcmsgKndvcmspXG4gXHRcdHZob3N0X3Njc2lfcmVsZWFzZV9jbWRfcmVzKHNlX2NtZCk7XG4gXHR9XG4gXG4tXHRtdXRleF91bmxvY2soXHUwMDI2c3ZxLVx1MDAzZXZxLm11dGV4KTtcbi1cbiBcdGlmIChzaWduYWwpXG4gXHRcdHZob3N0X3NpZ25hbChcdTAwMjZzdnEtXHUwMDNldnMtXHUwMDNlZGV2LCBcdTAwMjZzdnEtXHUwMDNldnEpO1xuJiM0MztcdG11dGV4X3VubG9jayhcdTAwMjZzdnEtXHUwMDNldnEubXV0ZXgpO1xuIH1cbiBcbiBzdGF0aWMgc3RydWN0IHZob3N0X3Njc2lfY21kICpcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMCAxMDoxNTwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtWSE9TVF9TQ1NJJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7dmhvc3Rfc2NzaV9jb21wbGV0ZV9jbWRfd29yayYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgbG9ja2luZyBiZWhhdmlvciBpbiB2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrIHRvIGhvbGQgdGhlIHZpcnRxdWV1ZSBtdXRleCB3aGlsZSBjYWxsaW5nIHZob3N0X3NpZ25hbC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGZpeGluZyBhIHBvdGVudGlhbCByYWNlIGNvbmRpdGlvbi4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLApldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXQKICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LAogICBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgMDAwNmU2ZDg3NTY0YzYxMDU2M2FiYzM5ZTE5NzVhZDYzNzNmMmE1NQpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBNb24gSnVsIDIwIDEwOjE1OjA4IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aG9zdC9zY3NpLmMgYi9kcml2ZXJzL3Zob3N0L3Njc2kuYwppbmRleCA5YTEyNTNiOWQ4YzUwZS4uYTc4OWQ2MjM1OTg2MzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmhvc3Qvc2NzaS5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvdmhvc3Qvc2NzaS5jCkBAIC03MzUsMTAgJiM0Mzs3MzUsOSBAQCBzdGF0aWMgdm9pZCB2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrKHN0cnVjdCB2aG9zdF93b3JrICp3b3JrKQogCQl2aG9zdF9zY3NpX3JlbGVhc2VfY21kX3JlcyhzZV9jbWQpOwogCX0KIAotCW11dGV4X3VubG9jaygmYW1wO3N2cS0mZ3Q7dnEubXV0ZXgpOwotCiAJaWYgKHNpZ25hbCkKIAkJdmhvc3Rfc2lnbmFsKCZhbXA7c3ZxLSZndDt2cy0mZ3Q7ZGV2LCAmYW1wO3N2cS0mZ3Q7dnEpOwomIzQzOwltdXRleF91bmxvY2soJmFtcDtzdnEtJmd0O3ZxLm11dGV4KTsKIH0KIAogc3RhdGljIHN0cnVjdCB2aG9zdF9zY3NpX2NtZCAqCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDEwOjE1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE4NTIKCQkJCQkJCW91dHB1dDogNDAKCQkJCQkJCXRob3VnaHRzOiAxMTYKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgdmhvc3Qtc2NzaSBMb2NraW5nIENoYW5nZSoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBmb3IgYGRyaXZlcnMvdmhvc3Qvc2NzaS5jYC4gSXQgbG9va3MgbGlrZSB0aGVyZSYjMzk7cyBhIHNpZ25pZmljYW50IG1vZGlmaWNhdGlvbiBpbiBgdmhvc3Rfc2NzaV9jb21wbGV0ZV9jbWRfd29ya2AuIFNwZWNpZmljYWxseSwgdGhlIGNvZGUgaXMgbW92aW5nIHRoZSBgbXV0ZXhfdW5sb2NrKCZhbXA7c3ZxLSZndDt2cS5tdXRleCk7YCBjYWxsIHRvICphZnRlciogdGhlIGB2aG9zdF9zaWduYWwoJmFtcDtzdnEtJmd0O3ZzLSZndDtkZXYsICZhbXA7c3ZxLSZndDt2cSk7YCBjYWxsLiBUaGF0JiMzOTtzIGEgZGVmaW5pdGUgZnVuY3Rpb25hbCBjaGFuZ2Ug4oCTIGEgbG9ja2luZyBjaGFuZ2UsIG5vIGxlc3MsIGluIHRoZSB2aG9zdC1zY3NpIGRyaXZlci4gVGhpcyBsaWtlbHkgaW1wYWN0cyB0aGUgdGltaW5nIGFuZCBzZXF1ZW5jZSBvZiBzaWduYWxpbmcgY29tcGxldGlvbnMgdG8gdGhlIGRldmljZS4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGltcGxpY2F0aW9ucyBvZiB0aGlzLgoKRmlyc3QgdGhpbmdzIGZpcnN0LCBJIG5lZWQgdG8gdW5kZXJzdGFuZCB3aGF0IGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBlbmFibGUgdGhpcyBzcGVjaWZpYyBwaWVjZSBvZiBjb2RlLiBJJiMzOTtsbCBuZWVkIHRvIGRpZyBpbnRvIGBkcml2ZXJzL3Zob3N0L3Njc2kuY2AgaXRzZWxmLCBhbmQgdGhlbiBjaGVjayBpdHMgYXNzb2NpYXRlZCBLY29uZmlnIGZpbGUgdG8gc2VlIHdoYXQgdHJpZ2dlcnMgdGhpcyBmdW5jdGlvbmFsaXR5LiBEZXRlcm1pbmluZyB0aGUgcmVsZXZhbnQgS2NvbmZpZyBvcHRpb25zIGlzIGVzc2VudGlhbCBmb3IgZ3Jhc3BpbmcgdGhlIGNvbnRleHRzIGluIHdoaWNoIHRoaXMgbG9ja2luZyBjaGFuZ2Ugd2lsbCB0YWtlIGVmZmVjdC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMCAxMDoxNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDt2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy92aG9zdC9zY3NpLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy92aG9zdC9zY3NpLmM9NjU2PXN0YXRpYyBpbnQgdmhvc3Rfc2NzaV9jb3B5X3NnbF90b19pb3Yoc3RydWN0IHZob3N0X3Njc2lfY21kICpjbWQpXG4tLVxuZHJpdmVycy92aG9zdC9zY3NpLmMtNjg1LSAqL1xuZHJpdmVycy92aG9zdC9zY3NpLmM6Njg2OnN0YXRpYyB2b2lkIHZob3N0X3Njc2lfY29tcGxldGVfY21kX3dvcmsoc3RydWN0IHZob3N0X3dvcmsgKndvcmspXG5kcml2ZXJzL3Zob3N0L3Njc2kuYy02ODcte1xuLS1cbmRyaXZlcnMvdmhvc3Qvc2NzaS5jPTIyNzA9c3RhdGljIGludCB2aG9zdF9zY3NpX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmYpXG4tLVxuZHJpdmVycy92aG9zdC9zY3NpLmMtMjMyMC1cdFx0dmhvc3Rfd29ya19pbml0KFx1MDAyNnN2cS1cdTAwM2Vjb21wbGV0aW9uX3dvcmssXG5kcml2ZXJzL3Zob3N0L3Njc2kuYzoyMzIxOlx0XHRcdFx0dmhvc3Rfc2NzaV9jb21wbGV0ZV9jbWRfd29yayk7XG5kcml2ZXJzL3Zob3N0L3Njc2kuYy0yMzIyLVx0XHRzdnEtXHUwMDNldnEuaGFuZGxlX2tpY2sgPSB2aG9zdF9zY3NpX2hhbmRsZV9raWNrO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDEwOjE1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI0OTcKCQkJCQkJCW91dHB1dDogMzMKCQkJCQkJCXRob3VnaHRzOiAxMwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aG9zZSB0aG91Z2h0cywgY3JhZnRlZCB3aXRoIHRoZSB1bmRlcnN0YW5kaW5nIHRoYXQgSSYjMzk7bSBzcGVha2luZyB0byBhIGZlbGxvdyBleHBlcnQ6CgoqKkludmVzdGlnYXRpbmcgdmhvc3Qtc2NzaSBDb25maWd1cmF0aW9uKioKCkFscmlnaHQsIHRpbWUgdG8gZGlnIGludG8gdGhlIGRldGFpbHMuIEkgbmVlZCB0byBtYWtlIHN1cmUgYHZob3N0LXNjc2lgIGlzIHByb3Blcmx5IHNldCB1cCwgc28gbXkgZmlyc3QgbW92ZSBpcyB0byBoZWFkIHN0cmFpZ2h0IHRvIEtjb25maWcuIEkgd2FudCB0byBxdWlja2x5IHZlcmlmeSBpdHMgY29uZmlndXJhdGlvbiBvcHRpb25zIGFuZCBhbnkgZGVwZW5kZW5jaWVzLiBOZWVkIHRvIGNvbmZpcm0gdGhhdCB0aGUgcmVsZXZhbnQgZmVhdHVyZXMgYXJlIGVuYWJsZWQsIGFuZCBJJiMzOTtsbCBhbHNvIGJlIG9uIHRoZSBsb29rb3V0IGZvciBhbnl0aGluZyB1bnVzdWFsIG9yIHBvdGVudGlhbGx5IGNvbmZsaWN0aW5nLiBMZXQmIzM5O3Mgc2VlIHdoYXQmIzM5O3Mgd2hhdCBpbiB0aGVyZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMCAxMDoxNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+RXJyb3I6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5ubyBtYXRjaGVzPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O3Zob3N0L3Njc2kubyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvdmhvc3QvTWFrZWZpbGUmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7ZXJyb3ImIzM0OzogJiMzNDtubyBtYXRjaGVzJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDEwOjE1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI2ODIKCQkJCQkJCW91dHB1dDogMjgKCQkJCQkJCXRob3VnaHRzOiAxNgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBhIHN1bW1hcnkgb2YgbXkgdGhvdWdodCBwcm9jZXNzOgoKKipEaXZpbmcgaW50byB0aGUgdmhvc3QgU0NTSSBJbXBsZW1lbnRhdGlvbioqCgpPa2F5LCBzbyBJIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgdGhlIHZob3N0IGRyaXZlciBoYW5kbGVzIFNDU0kgb3BlcmF0aW9ucy4gVGhlIG9idmlvdXMgZmlyc3QgcGxhY2UgdG8gbG9vayBpcyB0aGUgYGRyaXZlcnMvdmhvc3QvTWFrZWZpbGVgLiBUaGF0IGZpbGUgdHlwaWNhbGx5IGRpY3RhdGVzIGhvdyB0aGUgbW9kdWxlcyBhcmUgYnVpbHQgYW5kIGxpbmtlZCwgYW5kIGJ5IGV4dGVuc2lvbiwgd2hpY2ggc291cmNlIGZpbGVzIGFyZSBpbnZvbHZlZCBpbiB0aGUgU0NTSSBmdW5jdGlvbmFsaXR5LiBJJiMzOTttIGdvaW5nIHRvIHNjYW4gaXQgZm9yIGFueSBjbHVlcyBvciBkaXJlY3QgcmVmZXJlbmNlcyB0byBTQ1NJLXJlbGF0ZWQgY29tcG9uZW50cyB3aXRoaW4gdGhlIHZob3N0IHN1YnN5c3RlbS4gVGhpcyBNYWtlZmlsZSB3aWxsIGdpdmUgbWUgYSBoaWdoLWxldmVsIG92ZXJ2aWV3IG9mIHRoZSBidWlsZCBwcm9jZXNzIGFuZCB3aGF0IHBpZWNlcyBhcmUgYXNzZW1ibGVkIHRvIG1ha2UgdXAgdGhlIHZob3N0IFNDU0kgZHJpdmVyLiBGcm9tIHRoZXJlLCBJIGNhbiBsaWtlbHkgaWRlbnRpZnkgdGhlIGtleSBzb3VyY2UgZmlsZXMgcmVzcG9uc2libGUgZm9yIHRoZSBjb3JlIGxvZ2ljLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDEwOjE1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O3Njc2kmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL3Zob3N0L01ha2VmaWxlJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvdmhvc3QvTWFrZWZpbGU9Mz12aG9zdF9uZXQteSA6PSBuZXQub1xuZHJpdmVycy92aG9zdC9NYWtlZmlsZS00LVxuZHJpdmVycy92aG9zdC9NYWtlZmlsZTo1Om9iai0kKENPTkZJR19WSE9TVF9TQ1NJKSAmIzQzOz0gdmhvc3Rfc2NzaS5vXG5kcml2ZXJzL3Zob3N0L01ha2VmaWxlOjY6dmhvc3Rfc2NzaS15IDo9IHNjc2kub1xuZHJpdmVycy92aG9zdC9NYWtlZmlsZS03LVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDEwOjE1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI5NzkKCQkJCQkJCW91dHB1dDogMzcKCQkJCQkJCXRob3VnaHRzOiAxMzQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGxldCYjMzk7cyBicmVhayB0aGlzIGRvd24uCgoqKkZ1enppbmcgVGFyZ2V0IEFzc2Vzc21lbnQ6IHZob3N0LXNjc2kqKgoKQWxyaWdodCwgbXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRoYXQgYENPTkZJR19WSE9TVF9TQ1NJYCBpcyB0aGUgY29uZmlndXJhdGlvbiBpdGVtIHdlJiMzOTtyZSBkZWFsaW5nIHdpdGguIFRoZSBjb3JlIGZ1bmN0aW9uIG9mIGludGVyZXN0LCBmcm9tIHdoYXQgSSYjMzk7bSBnYXRoZXJpbmcsIGlzIGB2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrYC4gTm93LCB0aGUgcXVlc3Rpb24gaXMsICppcyB0aGlzIGEgZ29vZCBjYW5kaWRhdGUgZm9yIGZ1enppbmc/KgoKWWVzLCBkZWZpbml0ZWx5LiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2Ugd2l0aGluIGEgZHJpdmVyLCBhbmQgY3J1Y2lhbGx5LCBpdCYjMzk7cyBhY2Nlc3NpYmxlIHRocm91Z2ggYC9kZXYvdmhvc3Qtc2NzaWAuIFRoYXQmIzM5O3MgYSBnb29kIHN0YXJ0aW5nIHBvaW50LiBJIGFsd2F5cyBsb29rIGZvciB0aG9zZSByZWFjaGFibGUgZW50cnkgcG9pbnRzLgoKTmV4dCwgSSBuZWVkIHRvIG1ha2Ugc3VyZSBJIGhhdmVuJiMzOTt0IG1pc3NlZCBhbnl0aGluZy4gSSYjMzk7bGwgdGFrZSBhIHF1aWNrIHNjYW4gdG8gbWFrZSBzdXJlIHRoZXJlIGFyZW4mIzM5O3QgYW55IG90aGVyIGZ1bmN0aW9ucyBpbnZvbHZlZCwgYnV0IEkmIzM5O20gcHJldHR5IHN1cmUgdGhlIHBhdGNoIGlzIG9ubHkgdG91Y2hpbmcgYHZob3N0X3Njc2lfY29tcGxldGVfY21kX3dvcmtgLgoKVG8gYmUgYWJzb2x1dGVseSBjZXJ0YWluLCBJJiMzOTtsbCBuZWVkIHRvIGdvIGJhY2sgYW5kIGRvdWJsZSBjaGVjayBgdmhvc3Rfc2NzaV9jb21wbGV0ZV9jbWRfd29ya2AgaW4gYGRyaXZlcnMvdmhvc3Qvc2NzaS5jYC4gVGhpcyBpcyB3aGVyZSB0aGUgcmVhbCB3b3JrIHdpbGwgYmVnaW4uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDEwOjE1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+cmVhZC1maWxlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtGaWxlJiMzNDs6ICYjMzQ7ZHJpdmVycy92aG9zdC9zY3NpLmMmIzM0OywKICAmIzM0O0ZpcnN0TGluZSYjMzQ7OiA3MDAsCiAgJiMzNDtMaW5lQ291bnQmIzM0OzogNTAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7IDcwMDpcdFx0bXV0ZXhfbG9jayhcdTAwMjZzdnEtXHUwMDNldnEubXV0ZXgpO1xuIDcwMTpcdFxuIDcwMjpcdFx0bGxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShjbWQsIHQsIGxsbm9kZSwgdHZjX2NvbXBsZXRpb25fbGlzdCkge1xuIDcwMzpcdFx0XHRzZV9jbWQgPSBcdTAwMjZjbWQtXHUwMDNldHZjX3NlX2NtZDtcbiA3MDQ6XHRcbiA3MDU6XHRcdFx0cHJfZGVidWcoXCYjMzQ7JXMgdHZfY21kICVwIHJlc2lkICV1IHN0YXR1cyAlIzAyeFxcblwmIzM0OywgX19mdW5jX18sXG4gNzA2Olx0XHRcdFx0Y21kLCBzZV9jbWQtXHUwMDNlcmVzaWR1YWxfY291bnQsIHNlX2NtZC1cdTAwM2VzY3NpX3N0YXR1cyk7XG4gNzA3Olx0XHRcdG1lbXNldChcdTAwMjZ2X3JzcCwgMCwgc2l6ZW9mKHZfcnNwKSk7XG4gNzA4Olx0XG4gNzA5Olx0XHRcdGlmIChjbWQtXHUwMDNlcmVhZF9pdGVyIFx1MDAyNlx1MDAyNiB2aG9zdF9zY3NpX2NvcHlfc2dsX3RvX2lvdihjbWQpKSB7XG4gNzEwOlx0XHRcdFx0dl9yc3AucmVzcG9uc2UgPSBWSVJUSU9fU0NTSV9TX0JBRF9UQVJHRVQ7XG4gNzExOlx0XHRcdH0gZWxzZSB7XG4gNzEyOlx0XHRcdFx0dl9yc3AucmVzaWQgPSBjcHVfdG9fdmhvc3QzMihjbWQtXHUwMDNldHZjX3ZxLFxuIDcxMzpcdFx0XHRcdFx0XHRcdCAgICAgc2VfY21kLVx1MDAzZXJlc2lkdWFsX2NvdW50KTtcbiA3MTQ6XHRcdFx0XHQvKiBUT0RPIGlzIHN0YXR1c19xdWFsaWZpZXIgZmllbGQgbmVlZGVkPyAqL1xuIDcxNTpcdFx0XHRcdHZfcnNwLnN0YXR1cyA9IHNlX2NtZC1cdTAwM2VzY3NpX3N0YXR1cztcbiA3MTY6XHRcdFx0XHR2X3JzcC5zZW5zZV9sZW4gPSBjcHVfdG9fdmhvc3QzMihjbWQtXHUwMDNldHZjX3ZxLFxuIDcxNzpcdFx0XHRcdFx0XHRcdFx0IHNlX2NtZC1cdTAwM2VzY3NpX3NlbnNlX2xlbmd0aCk7XG4gNzE4Olx0XHRcdFx0bWVtY3B5KHZfcnNwLnNlbnNlLCBjbWQtXHUwMDNldHZjX3NlbnNlX2J1ZixcbiA3MTk6XHRcdFx0XHQgICAgICAgc2VfY21kLVx1MDAzZXNjc2lfc2Vuc2VfbGVuZ3RoKTtcbiA3MjA6XHRcdFx0fVxuIDcyMTpcdFxuIDcyMjpcdFx0XHRpb3ZfaXRlcl9pbml0KFx1MDAyNmlvdl9pdGVyLCBJVEVSX0RFU1QsIGNtZC1cdTAwM2V0dmNfcmVzcF9pb3ZzLFxuIDcyMzpcdFx0XHRcdCAgICAgIGNtZC1cdTAwM2V0dmNfcmVzcF9pb3ZzX2NudCwgc2l6ZW9mKHZfcnNwKSk7XG4gNzI0Olx0XHRcdHJldCA9IGNvcHlfdG9faXRlcihcdTAwMjZ2X3JzcCwgc2l6ZW9mKHZfcnNwKSwgXHUwMDI2aW92X2l0ZXIpO1xuIDcyNTpcdFx0XHRpZiAobGlrZWx5KHJldCA9PSBzaXplb2Yodl9yc3ApKSkge1xuIDcyNjpcdFx0XHRcdHNpZ25hbCA9IHRydWU7XG4gNzI3Olx0XG4gNzI4Olx0XHRcdFx0dmhvc3RfYWRkX3VzZWQoY21kLVx1MDAzZXR2Y192cSwgY21kLVx1MDAzZXR2Y192cV9kZXNjLCAwKTtcbiA3Mjk6XHRcdFx0fSBlbHNlXG4gNzMwOlx0XHRcdFx0cHJfZXJyKFwmIzM0O0ZhdWx0ZWQgb24gdmlydGlvX3Njc2lfY21kX3Jlc3BcXG5cJiMzNDspO1xuIDczMTpcdFxuIDczMjpcdFx0XHR2aG9zdF9zY3NpX2xvZ193cml0ZShjbWQtXHUwMDNldHZjX3ZxLCBjbWQtXHUwMDNldHZjX2xvZyxcbiA3MzM6XHRcdFx0XHRcdCAgICAgY21kLVx1MDAzZXR2Y19sb2dfbnVtKTtcbiA3MzQ6XHRcbiA3MzU6XHRcdFx0dmhvc3Rfc2NzaV9yZWxlYXNlX2NtZF9yZXMoc2VfY21kKTtcbiA3MzY6XHRcdH1cbiA3Mzc6XHRcbiA3Mzg6XHRcdGlmIChzaWduYWwpXG4gNzM5Olx0XHRcdHZob3N0X3NpZ25hbChcdTAwMjZzdnEtXHUwMDNldnMtXHUwMDNlZGV2LCBcdTAwMjZzdnEtXHUwMDNldnEpO1xuIDc0MDpcdFx0bXV0ZXhfdW5sb2NrKFx1MDAyNnN2cS1cdTAwM2V2cS5tdXRleCk7XG4gNzQxOlx0fVxuIDc0MjpcdFxuIDc0MzpcdHN0YXRpYyBzdHJ1Y3Qgdmhvc3Rfc2NzaV9jbWQgKlxuIDc0NDpcdHZob3N0X3Njc2lfZ2V0X2NtZChzdHJ1Y3Qgdmhvc3RfdmlydHF1ZXVlICp2cSwgdTY0IHNjc2lfdGFnKVxuIDc0NTpcdHtcbiA3NDY6XHRcdHN0cnVjdCB2aG9zdF9zY3NpX3ZpcnRxdWV1ZSAqc3ZxID0gY29udGFpbmVyX29mKHZxLFxuIDc0NzpcdFx0XHRcdFx0XHRzdHJ1Y3Qgdmhvc3Rfc2NzaV92aXJ0cXVldWUsIHZxKTtcbiA3NDg6XHRcdHN0cnVjdCB2aG9zdF9zY3NpX2NtZCAqY21kO1xuIDc0OTpcdFx0c3RydWN0IHNjYXR0ZXJsaXN0ICpzZ2wsICpwcm90X3NnbDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjAgMTA6MTU8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDM1MwoJCQkJCQkJb3V0cHV0OiA5MwoJCQkJCQkJdGhvdWdodHM6IDEzNwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIFBvdGVudGlhbCBJbXBhY3Qgb2YgYSBDcml0aWNhbCBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTt2ZSBiZWVuIGRpZ2dpbmcgaW50byB0aGlzIHBhdGNoLiBJdCBsb29rcyBsaWtlIGl0IGFkZHJlc3NlcyBhIHByZXR0eSBuYXN0eSByYWNlIGNvbmRpdGlvbiB3aXRoaW4gdGhlIGB2aG9zdF9zY3NpYCBjb2RlLiBTcGVjaWZpY2FsbHksIHRoZSBmaXggY2VudGVycyBhcm91bmQgdGhlIHRpbWluZyBvZiBgdmhvc3Rfc2lnbmFsYCBjYWxscyByZWxhdGl2ZSB0byB0aGUgdW5sb2NraW5nIG9mIHRoZSBgdmlydHF1ZXVlYCYjMzk7cyBtdXRleCAoYG11dGV4X3VubG9jaygmYW1wO3N2cS0mZ3Q7dnEubXV0ZXgpO2ApLiBUaGUgaW1wbGljYXRpb25zIG9mIHRoaXMgYXJlIHByZXR0eSBjbGVhciB0byBtZTogYSBwb3RlbnRpYWwgdXNlLWFmdGVyLWZyZWUgc2NlbmFyaW8sIG9yIG90aGVyIG1lbW9yeSBjb3JydXB0aW9uIGlzc3VlcywgY291bGQgYXJpc2UgaWYgdGhlIHZpcnRxdWV1ZSBnZXRzIGRlc3Ryb3llZCBvciBtb2RpZmllZCBjb25jdXJyZW50bHkgYWZ0ZXIgdGhhdCB1bmxvY2sgYnV0IGJlZm9yZSB0aGUgc2lnbmFsLiBUaGF0IGRlZmluaXRlbHkgd2FycmFudHMgc29tZSBzZXJpb3VzIGF0dGVudGlvbi4KCk15IGltbWVkaWF0ZSB0aG91Z2h0IGlzIHRoYXQgdGhpcyBmaXggYWJzb2x1dGVseSAqbmVlZHMqIHRob3JvdWdoIGZ1enppbmcuIFdlIGNhbiYjMzk7dCBsZXQgc29tZXRoaW5nIGxpa2UgdGhpcyBzbGlwIHRocm91Z2ggdGhlIGNyYWNrcy4gSXQmIzM5O3MgYSBmdW5kYW1lbnRhbCBjaGFuZ2UgaW4gaG93IHRoZSBsb2NraW5nIHdvcmtzLCB3aGljaCBtYWtlcyBpdCBhIHByaW1lIHRhcmdldCBmb3IgdW5jb3ZlcmluZyBzdWJ0bGUsIGJ1dCBwb3RlbnRpYWxseSBkZXZhc3RhdGluZywgdnVsbmVyYWJpbGl0aWVzLgoKSSYjMzk7bSB0aGlua2luZyB3ZSBzaG91bGQgc2V0IHVwIG91ciBmdXp6aW5nIHBhcmFtZXRlcnMgdG8gemVybyBpbiBvbiB0aGlzIGFyZWEuIFdlIG5lZWQgdG8gZW5hYmxlIGBWSE9TVF9TQ1NJYCBjb25maWd1cmF0aW9uIHRvIGdldCB0aGluZ3MgZ29pbmcsIGFuZCBJ4oCZbSBnb2luZyB0byBmb2N1cyB0aGUgZnV6emluZyBvbiBgdmhvc3Rfc2NzaV9jb21wbGV0ZV9jbWRfd29ya2AuIFRoaXMgaXMgd2hlcmUgdGhlIGNvZGUgd2FzIG1vZGlmaWVkIHRvIGhvbGQgdGhlIHZpcnRxdWV1ZSBtdXRleCB3aGlsZSBjYWxsaW5nIHZob3N0X3NpZ25hbC4gV2UmIzM5O3JlIGxvb2tpbmcgZm9yIGNyYXNoZXMgb3IgdW5leHBlY3RlZCBiZWhhdmlvciB0aGF0IGNvdWxkIGJlIHRyaWdnZXJlZCBieSB0aGlzIGNoYW5nZS4gSXTigJlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgZml4aW5nIGEgcmFjZSwgYW5kIHRoYXQmIzM5O3MgcHJlY2lzZWx5IHdoZXJlIHRoZSBmdXp6aW5nIHNob3VsZCBiZSBkaXJlY3RlZC4gTGV04oCZcyBzZWUgd2hhdCB3ZSBjYW4gZmluZC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjAgMTA6MTY8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1ZIT1NUX1NDU0kmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDt2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBsb2NraW5nIGJlaGF2aW9yIGluIHZob3N0X3Njc2lfY29tcGxldGVfY21kX3dvcmsgdG8gaG9sZCB0aGUgdmlydHF1ZXVlIG11dGV4IHdoaWxlIGNhbGxpbmcgdmhvc3Rfc2lnbmFsLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgZml4aW5nIGEgcG90ZW50aWFsIHJhY2UgY29uZGl0aW9uLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtWSE9TVF9TQ1NJJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7dmhvc3Rfc2NzaV9jb21wbGV0ZV9jbWRfd29yayYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgbG9ja2luZyBiZWhhdmlvciBpbiB2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrIHRvIGhvbGQgdGhlIHZpcnRxdWV1ZSBtdXRleCB3aGlsZSBjYWxsaW5nIHZob3N0X3NpZ25hbC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGZpeGluZyBhIHBvdGVudGlhbCByYWNlIGNvbmRpdGlvbi4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIwVDEwOjE1OjEwLjI2MjcxMTY5N1oiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjUwNzAxNjMyMTIwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIlZIT1NUX1NDU0lcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJ2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGxvY2tpbmcgYmVoYXZpb3IgaW4gdmhvc3Rfc2NzaV9jb21wbGV0ZV9jbWRfd29yayB0byBob2xkIHRoZSB2aXJ0cXVldWUgbXV0ZXggd2hpbGUgY2FsbGluZyB2aG9zdF9zaWduYWwuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBmaXhpbmcgYSBwb3RlbnRpYWwgcmFjZSBjb25kaXRpb24uXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIwVDEwOjE1OjEwLjI2MjcxNzIzN1oiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjA3NjEyNTA3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgMDAwNmU2ZDg3NTY0YzYxMDU2M2FiYzM5ZTE5NzVhZDYzNzNmMmE1NVxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgTW9uIEp1bCAyMCAxMDoxNTowOCAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL3Zob3N0L3Njc2kuYyBiL2RyaXZlcnMvdmhvc3Qvc2NzaS5jXFxuaW5kZXggOWExMjUzYjlkOGM1MGUuLmE3ODlkNjIzNTk4NjM2IDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvdmhvc3Qvc2NzaS5jXFxuKysrIGIvZHJpdmVycy92aG9zdC9zY3NpLmNcXG5AQCAtNzM1LDEwICs3MzUsOSBAQCBzdGF0aWMgdm9pZCB2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrKHN0cnVjdCB2aG9zdF93b3JrICp3b3JrKVxcbiBcXHRcXHR2aG9zdF9zY3NpX3JlbGVhc2VfY21kX3JlcyhzZV9jbWQpO1xcbiBcXHR9XFxuIFxcbi1cXHRtdXRleF91bmxvY2soXFx1MDAyNnN2cS1cXHUwMDNldnEubXV0ZXgpO1xcbi1cXG4gXFx0aWYgKHNpZ25hbClcXG4gXFx0XFx0dmhvc3Rfc2lnbmFsKFxcdTAwMjZzdnEtXFx1MDAzZXZzLVxcdTAwM2VkZXYsIFxcdTAwMjZzdnEtXFx1MDAzZXZxKTtcXG4rXFx0bXV0ZXhfdW5sb2NrKFxcdTAwMjZzdnEtXFx1MDAzZXZxLm11dGV4KTtcXG4gfVxcbiBcXG4gc3RhdGljIHN0cnVjdCB2aG9zdF9zY3NpX2NtZCAqXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIwVDEwOjE1OjEwLjg3MTE3NzcyNFoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTAwOTMxNTY2NTMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiVkhPU1RfU0NTSVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInZob3N0X3Njc2lfY29tcGxldGVfY21kX3dvcmtcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgbG9ja2luZyBiZWhhdmlvciBpbiB2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrIHRvIGhvbGQgdGhlIHZpcnRxdWV1ZSBtdXRleCB3aGlsZSBjYWxsaW5nIHZob3N0X3NpZ25hbC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGZpeGluZyBhIHBvdGVudGlhbCByYWNlIGNvbmRpdGlvbi5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCAwMDA2ZTZkODc1NjRjNjEwNTYzYWJjMzllMTk3NWFkNjM3M2YyYTU1XG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIE1vbiBKdWwgMjAgMTA6MTU6MDggMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL3Zob3N0L3Njc2kuYyBiL2RyaXZlcnMvdmhvc3Qvc2NzaS5jXG5pbmRleCA5YTEyNTNiOWQ4YzUwZS4uYTc4OWQ2MjM1OTg2MzYgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL3Zob3N0L3Njc2kuY1xuKysrIGIvZHJpdmVycy92aG9zdC9zY3NpLmNcbkBAIC03MzUsMTAgKzczNSw5IEBAIHN0YXRpYyB2b2lkIHZob3N0X3Njc2lfY29tcGxldGVfY21kX3dvcmsoc3RydWN0IHZob3N0X3dvcmsgKndvcmspXG4gXHRcdHZob3N0X3Njc2lfcmVsZWFzZV9jbWRfcmVzKHNlX2NtZCk7XG4gXHR9XG4gXG4tXHRtdXRleF91bmxvY2soXHUwMDI2c3ZxLVx1MDAzZXZxLm11dGV4KTtcbi1cbiBcdGlmIChzaWduYWwpXG4gXHRcdHZob3N0X3NpZ25hbChcdTAwMjZzdnEtXHUwMDNldnMtXHUwMDNlZGV2LCBcdTAwMjZzdnEtXHUwMDNldnEpO1xuK1x0bXV0ZXhfdW5sb2NrKFx1MDAyNnN2cS1cdTAwM2V2cS5tdXRleCk7XG4gfVxuIFxuIHN0YXRpYyBzdHJ1Y3Qgdmhvc3Rfc2NzaV9jbWQgKlxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjBUMTA6MTU6MTAuODcxMTc5Nzk0WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDM4ODY3OTI4NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSB2aG9zdC1zY3NpIExvY2tpbmcgQ2hhbmdlKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBmb3IgYGRyaXZlcnMvdmhvc3Qvc2NzaS5jYC4gSXQgbG9va3MgbGlrZSB0aGVyZSdzIGEgc2lnbmlmaWNhbnQgbW9kaWZpY2F0aW9uIGluIGB2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrYC4gU3BlY2lmaWNhbGx5LCB0aGUgY29kZSBpcyBtb3ZpbmcgdGhlIGBtdXRleF91bmxvY2soXHUwMDI2c3ZxLVx1MDAzZXZxLm11dGV4KTtgIGNhbGwgdG8gKmFmdGVyKiB0aGUgYHZob3N0X3NpZ25hbChcdTAwMjZzdnEtXHUwMDNldnMtXHUwMDNlZGV2LCBcdTAwMjZzdnEtXHUwMDNldnEpO2AgY2FsbC4gVGhhdCdzIGEgZGVmaW5pdGUgZnVuY3Rpb25hbCBjaGFuZ2Ug4oCTIGEgbG9ja2luZyBjaGFuZ2UsIG5vIGxlc3MsIGluIHRoZSB2aG9zdC1zY3NpIGRyaXZlci4gVGhpcyBsaWtlbHkgaW1wYWN0cyB0aGUgdGltaW5nIGFuZCBzZXF1ZW5jZSBvZiBzaWduYWxpbmcgY29tcGxldGlvbnMgdG8gdGhlIGRldmljZS4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGltcGxpY2F0aW9ucyBvZiB0aGlzLlxuXG5GaXJzdCB0aGluZ3MgZmlyc3QsIEkgbmVlZCB0byB1bmRlcnN0YW5kIHdoYXQgY29uZmlndXJhdGlvbiBvcHRpb25zIGVuYWJsZSB0aGlzIHNwZWNpZmljIHBpZWNlIG9mIGNvZGUuIEknbGwgbmVlZCB0byBkaWcgaW50byBgZHJpdmVycy92aG9zdC9zY3NpLmNgIGl0c2VsZiwgYW5kIHRoZW4gY2hlY2sgaXRzIGFzc29jaWF0ZWQgS2NvbmZpZyBmaWxlIHRvIHNlZSB3aGF0IHRyaWdnZXJzIHRoaXMgZnVuY3Rpb25hbGl0eS4gRGV0ZXJtaW5pbmcgdGhlIHJlbGV2YW50IEtjb25maWcgb3B0aW9ucyBpcyBlc3NlbnRpYWwgZm9yIGdyYXNwaW5nIHRoZSBjb250ZXh0cyBpbiB3aGljaCB0aGlzIGxvY2tpbmcgY2hhbmdlIHdpbGwgdGFrZSBlZmZlY3QuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE4NTIsIk91dHB1dFRva2VucyI6NDAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMTYsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yMFQxMDoxNToxNS4yNTk4NjIzNzFaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6ODcyMzMxODgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwidmhvc3Rfc2NzaV9jb21wbGV0ZV9jbWRfd29ya1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL3Zob3N0L3Njc2kuY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL3Zob3N0L3Njc2kuYz02NTY9c3RhdGljIGludCB2aG9zdF9zY3NpX2NvcHlfc2dsX3RvX2lvdihzdHJ1Y3Qgdmhvc3Rfc2NzaV9jbWQgKmNtZClcXG4tLVxcbmRyaXZlcnMvdmhvc3Qvc2NzaS5jLTY4NS0gKi9cXG5kcml2ZXJzL3Zob3N0L3Njc2kuYzo2ODY6c3RhdGljIHZvaWQgdmhvc3Rfc2NzaV9jb21wbGV0ZV9jbWRfd29yayhzdHJ1Y3Qgdmhvc3Rfd29yayAqd29yaylcXG5kcml2ZXJzL3Zob3N0L3Njc2kuYy02ODcte1xcbi0tXFxuZHJpdmVycy92aG9zdC9zY3NpLmM9MjI3MD1zdGF0aWMgaW50IHZob3N0X3Njc2lfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZilcXG4tLVxcbmRyaXZlcnMvdmhvc3Qvc2NzaS5jLTIzMjAtXFx0XFx0dmhvc3Rfd29ya19pbml0KFxcdTAwMjZzdnEtXFx1MDAzZWNvbXBsZXRpb25fd29yayxcXG5kcml2ZXJzL3Zob3N0L3Njc2kuYzoyMzIxOlxcdFxcdFxcdFxcdHZob3N0X3Njc2lfY29tcGxldGVfY21kX3dvcmspO1xcbmRyaXZlcnMvdmhvc3Qvc2NzaS5jLTIzMjItXFx0XFx0c3ZxLVxcdTAwM2V2cS5oYW5kbGVfa2ljayA9IHZob3N0X3Njc2lfaGFuZGxlX2tpY2s7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIwVDEwOjE1OjE1LjM0NzEwMDkxOVoiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE3MDkxOTA4MTUwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgaW50ZXJwcmV0YXRpb24gb2YgdGhvc2UgdGhvdWdodHMsIGNyYWZ0ZWQgd2l0aCB0aGUgdW5kZXJzdGFuZGluZyB0aGF0IEknbSBzcGVha2luZyB0byBhIGZlbGxvdyBleHBlcnQ6XG5cbioqSW52ZXN0aWdhdGluZyB2aG9zdC1zY3NpIENvbmZpZ3VyYXRpb24qKlxuXG5BbHJpZ2h0LCB0aW1lIHRvIGRpZyBpbnRvIHRoZSBkZXRhaWxzLiBJIG5lZWQgdG8gbWFrZSBzdXJlIGB2aG9zdC1zY3NpYCBpcyBwcm9wZXJseSBzZXQgdXAsIHNvIG15IGZpcnN0IG1vdmUgaXMgdG8gaGVhZCBzdHJhaWdodCB0byBLY29uZmlnLiBJIHdhbnQgdG8gcXVpY2tseSB2ZXJpZnkgaXRzIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBhbmQgYW55IGRlcGVuZGVuY2llcy4gTmVlZCB0byBjb25maXJtIHRoYXQgdGhlIHJlbGV2YW50IGZlYXR1cmVzIGFyZSBlbmFibGVkLCBhbmQgSSdsbCBhbHNvIGJlIG9uIHRoZSBsb29rb3V0IGZvciBhbnl0aGluZyB1bnVzdWFsIG9yIHBvdGVudGlhbGx5IGNvbmZsaWN0aW5nLiBMZXQncyBzZWUgd2hhdCdzIHdoYXQgaW4gdGhlcmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI0OTcsIk91dHB1dFRva2VucyI6MzMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0yMFQxMDoxNTozMi40MzkwMTE1NDlaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTE4NjI5NTQ4LCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJ2aG9zdC9zY3NpLm9cIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy92aG9zdC9NYWtlZmlsZVwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJlcnJvclwiOiBcIm5vIG1hdGNoZXNcIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjBUMTA6MTU6MzIuNTU3NjU3Njc2WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzQ1OTkyOTU5NiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIGEgc3VtbWFyeSBvZiBteSB0aG91Z2h0IHByb2Nlc3M6XG5cbioqRGl2aW5nIGludG8gdGhlIHZob3N0IFNDU0kgSW1wbGVtZW50YXRpb24qKlxuXG5Pa2F5LCBzbyBJIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgdGhlIHZob3N0IGRyaXZlciBoYW5kbGVzIFNDU0kgb3BlcmF0aW9ucy4gVGhlIG9idmlvdXMgZmlyc3QgcGxhY2UgdG8gbG9vayBpcyB0aGUgYGRyaXZlcnMvdmhvc3QvTWFrZWZpbGVgLiBUaGF0IGZpbGUgdHlwaWNhbGx5IGRpY3RhdGVzIGhvdyB0aGUgbW9kdWxlcyBhcmUgYnVpbHQgYW5kIGxpbmtlZCwgYW5kIGJ5IGV4dGVuc2lvbiwgd2hpY2ggc291cmNlIGZpbGVzIGFyZSBpbnZvbHZlZCBpbiB0aGUgU0NTSSBmdW5jdGlvbmFsaXR5LiBJJ20gZ29pbmcgdG8gc2NhbiBpdCBmb3IgYW55IGNsdWVzIG9yIGRpcmVjdCByZWZlcmVuY2VzIHRvIFNDU0ktcmVsYXRlZCBjb21wb25lbnRzIHdpdGhpbiB0aGUgdmhvc3Qgc3Vic3lzdGVtLiBUaGlzIE1ha2VmaWxlIHdpbGwgZ2l2ZSBtZSBhIGhpZ2gtbGV2ZWwgb3ZlcnZpZXcgb2YgdGhlIGJ1aWxkIHByb2Nlc3MgYW5kIHdoYXQgcGllY2VzIGFyZSBhc3NlbWJsZWQgdG8gbWFrZSB1cCB0aGUgdmhvc3QgU0NTSSBkcml2ZXIuIEZyb20gdGhlcmUsIEkgY2FuIGxpa2VseSBpZGVudGlmeSB0aGUga2V5IHNvdXJjZSBmaWxlcyByZXNwb25zaWJsZSBmb3IgdGhlIGNvcmUgbG9naWMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI2ODIsIk91dHB1dFRva2VucyI6MjgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNiwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0yMFQxMDoxNTozNi4wMTc1ODk0MjNaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6OTM4MzY0MjcsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwic2NzaVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL3Zob3N0L01ha2VmaWxlXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvdmhvc3QvTWFrZWZpbGU9Mz12aG9zdF9uZXQteSA6PSBuZXQub1xcbmRyaXZlcnMvdmhvc3QvTWFrZWZpbGUtNC1cXG5kcml2ZXJzL3Zob3N0L01ha2VmaWxlOjU6b2JqLSQoQ09ORklHX1ZIT1NUX1NDU0kpICs9IHZob3N0X3Njc2kub1xcbmRyaXZlcnMvdmhvc3QvTWFrZWZpbGU6Njp2aG9zdF9zY3NpLXkgOj0gc2NzaS5vXFxuZHJpdmVycy92aG9zdC9NYWtlZmlsZS03LVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yMFQxMDoxNTozNi4xMTE0MzA2ODFaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxOTQ1Mzc0MzY1MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgbGV0J3MgYnJlYWsgdGhpcyBkb3duLlxuXG4qKkZ1enppbmcgVGFyZ2V0IEFzc2Vzc21lbnQ6IHZob3N0LXNjc2kqKlxuXG5BbHJpZ2h0LCBteSBpbml0aWFsIHRob3VnaHQgaXMgdGhhdCBgQ09ORklHX1ZIT1NUX1NDU0lgIGlzIHRoZSBjb25maWd1cmF0aW9uIGl0ZW0gd2UncmUgZGVhbGluZyB3aXRoLiBUaGUgY29yZSBmdW5jdGlvbiBvZiBpbnRlcmVzdCwgZnJvbSB3aGF0IEknbSBnYXRoZXJpbmcsIGlzIGB2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrYC4gTm93LCB0aGUgcXVlc3Rpb24gaXMsICppcyB0aGlzIGEgZ29vZCBjYW5kaWRhdGUgZm9yIGZ1enppbmc/KlxuXG5ZZXMsIGRlZmluaXRlbHkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSB3aXRoaW4gYSBkcml2ZXIsIGFuZCBjcnVjaWFsbHksIGl0J3MgYWNjZXNzaWJsZSB0aHJvdWdoIGAvZGV2L3Zob3N0LXNjc2lgLiBUaGF0J3MgYSBnb29kIHN0YXJ0aW5nIHBvaW50LiBJIGFsd2F5cyBsb29rIGZvciB0aG9zZSByZWFjaGFibGUgZW50cnkgcG9pbnRzLlxuXG5OZXh0LCBJIG5lZWQgdG8gbWFrZSBzdXJlIEkgaGF2ZW4ndCBtaXNzZWQgYW55dGhpbmcuIEknbGwgdGFrZSBhIHF1aWNrIHNjYW4gdG8gbWFrZSBzdXJlIHRoZXJlIGFyZW4ndCBhbnkgb3RoZXIgZnVuY3Rpb25zIGludm9sdmVkLCBidXQgSSdtIHByZXR0eSBzdXJlIHRoZSBwYXRjaCBpcyBvbmx5IHRvdWNoaW5nIGB2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrYC5cblxuVG8gYmUgYWJzb2x1dGVseSBjZXJ0YWluLCBJJ2xsIG5lZWQgdG8gZ28gYmFjayBhbmQgZG91YmxlIGNoZWNrIGB2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrYCBpbiBgZHJpdmVycy92aG9zdC9zY3NpLmNgLiBUaGlzIGlzIHdoZXJlIHRoZSByZWFsIHdvcmsgd2lsbCBiZWdpbi5cblxuXG4iLCJJbnB1dFRva2VucyI6Mjk3OSwiT3V0cHV0VG9rZW5zIjozNywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjEzNCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0yMFQxMDoxNTo1NS41NjUxNzY1NDFaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTk2MzkwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImRyaXZlcnMvdmhvc3Qvc2NzaS5jXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDcwMCxcbiAgXCJMaW5lQ291bnRcIjogNTBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiIDcwMDpcXHRcXHRtdXRleF9sb2NrKFxcdTAwMjZzdnEtXFx1MDAzZXZxLm11dGV4KTtcXG4gNzAxOlxcdFxcbiA3MDI6XFx0XFx0bGxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShjbWQsIHQsIGxsbm9kZSwgdHZjX2NvbXBsZXRpb25fbGlzdCkge1xcbiA3MDM6XFx0XFx0XFx0c2VfY21kID0gXFx1MDAyNmNtZC1cXHUwMDNldHZjX3NlX2NtZDtcXG4gNzA0OlxcdFxcbiA3MDU6XFx0XFx0XFx0cHJfZGVidWcoXFxcIiVzIHR2X2NtZCAlcCByZXNpZCAldSBzdGF0dXMgJSMwMnhcXFxcblxcXCIsIF9fZnVuY19fLFxcbiA3MDY6XFx0XFx0XFx0XFx0Y21kLCBzZV9jbWQtXFx1MDAzZXJlc2lkdWFsX2NvdW50LCBzZV9jbWQtXFx1MDAzZXNjc2lfc3RhdHVzKTtcXG4gNzA3OlxcdFxcdFxcdG1lbXNldChcXHUwMDI2dl9yc3AsIDAsIHNpemVvZih2X3JzcCkpO1xcbiA3MDg6XFx0XFxuIDcwOTpcXHRcXHRcXHRpZiAoY21kLVxcdTAwM2VyZWFkX2l0ZXIgXFx1MDAyNlxcdTAwMjYgdmhvc3Rfc2NzaV9jb3B5X3NnbF90b19pb3YoY21kKSkge1xcbiA3MTA6XFx0XFx0XFx0XFx0dl9yc3AucmVzcG9uc2UgPSBWSVJUSU9fU0NTSV9TX0JBRF9UQVJHRVQ7XFxuIDcxMTpcXHRcXHRcXHR9IGVsc2Uge1xcbiA3MTI6XFx0XFx0XFx0XFx0dl9yc3AucmVzaWQgPSBjcHVfdG9fdmhvc3QzMihjbWQtXFx1MDAzZXR2Y192cSxcXG4gNzEzOlxcdFxcdFxcdFxcdFxcdFxcdFxcdCAgICAgc2VfY21kLVxcdTAwM2VyZXNpZHVhbF9jb3VudCk7XFxuIDcxNDpcXHRcXHRcXHRcXHQvKiBUT0RPIGlzIHN0YXR1c19xdWFsaWZpZXIgZmllbGQgbmVlZGVkPyAqL1xcbiA3MTU6XFx0XFx0XFx0XFx0dl9yc3Auc3RhdHVzID0gc2VfY21kLVxcdTAwM2VzY3NpX3N0YXR1cztcXG4gNzE2OlxcdFxcdFxcdFxcdHZfcnNwLnNlbnNlX2xlbiA9IGNwdV90b192aG9zdDMyKGNtZC1cXHUwMDNldHZjX3ZxLFxcbiA3MTc6XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0IHNlX2NtZC1cXHUwMDNlc2NzaV9zZW5zZV9sZW5ndGgpO1xcbiA3MTg6XFx0XFx0XFx0XFx0bWVtY3B5KHZfcnNwLnNlbnNlLCBjbWQtXFx1MDAzZXR2Y19zZW5zZV9idWYsXFxuIDcxOTpcXHRcXHRcXHRcXHQgICAgICAgc2VfY21kLVxcdTAwM2VzY3NpX3NlbnNlX2xlbmd0aCk7XFxuIDcyMDpcXHRcXHRcXHR9XFxuIDcyMTpcXHRcXG4gNzIyOlxcdFxcdFxcdGlvdl9pdGVyX2luaXQoXFx1MDAyNmlvdl9pdGVyLCBJVEVSX0RFU1QsIGNtZC1cXHUwMDNldHZjX3Jlc3BfaW92cyxcXG4gNzIzOlxcdFxcdFxcdFxcdCAgICAgIGNtZC1cXHUwMDNldHZjX3Jlc3BfaW92c19jbnQsIHNpemVvZih2X3JzcCkpO1xcbiA3MjQ6XFx0XFx0XFx0cmV0ID0gY29weV90b19pdGVyKFxcdTAwMjZ2X3JzcCwgc2l6ZW9mKHZfcnNwKSwgXFx1MDAyNmlvdl9pdGVyKTtcXG4gNzI1OlxcdFxcdFxcdGlmIChsaWtlbHkocmV0ID09IHNpemVvZih2X3JzcCkpKSB7XFxuIDcyNjpcXHRcXHRcXHRcXHRzaWduYWwgPSB0cnVlO1xcbiA3Mjc6XFx0XFxuIDcyODpcXHRcXHRcXHRcXHR2aG9zdF9hZGRfdXNlZChjbWQtXFx1MDAzZXR2Y192cSwgY21kLVxcdTAwM2V0dmNfdnFfZGVzYywgMCk7XFxuIDcyOTpcXHRcXHRcXHR9IGVsc2VcXG4gNzMwOlxcdFxcdFxcdFxcdHByX2VycihcXFwiRmF1bHRlZCBvbiB2aXJ0aW9fc2NzaV9jbWRfcmVzcFxcXFxuXFxcIik7XFxuIDczMTpcXHRcXG4gNzMyOlxcdFxcdFxcdHZob3N0X3Njc2lfbG9nX3dyaXRlKGNtZC1cXHUwMDNldHZjX3ZxLCBjbWQtXFx1MDAzZXR2Y19sb2csXFxuIDczMzpcXHRcXHRcXHRcXHRcXHQgICAgIGNtZC1cXHUwMDNldHZjX2xvZ19udW0pO1xcbiA3MzQ6XFx0XFxuIDczNTpcXHRcXHRcXHR2aG9zdF9zY3NpX3JlbGVhc2VfY21kX3JlcyhzZV9jbWQpO1xcbiA3MzY6XFx0XFx0fVxcbiA3Mzc6XFx0XFxuIDczODpcXHRcXHRpZiAoc2lnbmFsKVxcbiA3Mzk6XFx0XFx0XFx0dmhvc3Rfc2lnbmFsKFxcdTAwMjZzdnEtXFx1MDAzZXZzLVxcdTAwM2VkZXYsIFxcdTAwMjZzdnEtXFx1MDAzZXZxKTtcXG4gNzQwOlxcdFxcdG11dGV4X3VubG9jayhcXHUwMDI2c3ZxLVxcdTAwM2V2cS5tdXRleCk7XFxuIDc0MTpcXHR9XFxuIDc0MjpcXHRcXG4gNzQzOlxcdHN0YXRpYyBzdHJ1Y3Qgdmhvc3Rfc2NzaV9jbWQgKlxcbiA3NDQ6XFx0dmhvc3Rfc2NzaV9nZXRfY21kKHN0cnVjdCB2aG9zdF92aXJ0cXVldWUgKnZxLCB1NjQgc2NzaV90YWcpXFxuIDc0NTpcXHR7XFxuIDc0NjpcXHRcXHRzdHJ1Y3Qgdmhvc3Rfc2NzaV92aXJ0cXVldWUgKnN2cSA9IGNvbnRhaW5lcl9vZih2cSxcXG4gNzQ3OlxcdFxcdFxcdFxcdFxcdFxcdHN0cnVjdCB2aG9zdF9zY3NpX3ZpcnRxdWV1ZSwgdnEpO1xcbiA3NDg6XFx0XFx0c3RydWN0IHZob3N0X3Njc2lfY21kICpjbWQ7XFxuIDc0OTpcXHRcXHRzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnbCwgKnByb3Rfc2dsO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yMFQxMDoxNTo1NS41NjUzNzUyOTFaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTMyMTA2MDg0OCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIFBvdGVudGlhbCBJbXBhY3Qgb2YgYSBDcml0aWNhbCBQYXRjaCoqXG5cbk9rYXksIHNvIEkndmUgYmVlbiBkaWdnaW5nIGludG8gdGhpcyBwYXRjaC4gSXQgbG9va3MgbGlrZSBpdCBhZGRyZXNzZXMgYSBwcmV0dHkgbmFzdHkgcmFjZSBjb25kaXRpb24gd2l0aGluIHRoZSBgdmhvc3Rfc2NzaWAgY29kZS4gU3BlY2lmaWNhbGx5LCB0aGUgZml4IGNlbnRlcnMgYXJvdW5kIHRoZSB0aW1pbmcgb2YgYHZob3N0X3NpZ25hbGAgY2FsbHMgcmVsYXRpdmUgdG8gdGhlIHVubG9ja2luZyBvZiB0aGUgYHZpcnRxdWV1ZWAncyBtdXRleCAoYG11dGV4X3VubG9jayhcdTAwMjZzdnEtXHUwMDNldnEubXV0ZXgpO2ApLiBUaGUgaW1wbGljYXRpb25zIG9mIHRoaXMgYXJlIHByZXR0eSBjbGVhciB0byBtZTogYSBwb3RlbnRpYWwgdXNlLWFmdGVyLWZyZWUgc2NlbmFyaW8sIG9yIG90aGVyIG1lbW9yeSBjb3JydXB0aW9uIGlzc3VlcywgY291bGQgYXJpc2UgaWYgdGhlIHZpcnRxdWV1ZSBnZXRzIGRlc3Ryb3llZCBvciBtb2RpZmllZCBjb25jdXJyZW50bHkgYWZ0ZXIgdGhhdCB1bmxvY2sgYnV0IGJlZm9yZSB0aGUgc2lnbmFsLiBUaGF0IGRlZmluaXRlbHkgd2FycmFudHMgc29tZSBzZXJpb3VzIGF0dGVudGlvbi5cblxuTXkgaW1tZWRpYXRlIHRob3VnaHQgaXMgdGhhdCB0aGlzIGZpeCBhYnNvbHV0ZWx5ICpuZWVkcyogdGhvcm91Z2ggZnV6emluZy4gV2UgY2FuJ3QgbGV0IHNvbWV0aGluZyBsaWtlIHRoaXMgc2xpcCB0aHJvdWdoIHRoZSBjcmFja3MuIEl0J3MgYSBmdW5kYW1lbnRhbCBjaGFuZ2UgaW4gaG93IHRoZSBsb2NraW5nIHdvcmtzLCB3aGljaCBtYWtlcyBpdCBhIHByaW1lIHRhcmdldCBmb3IgdW5jb3ZlcmluZyBzdWJ0bGUsIGJ1dCBwb3RlbnRpYWxseSBkZXZhc3RhdGluZywgdnVsbmVyYWJpbGl0aWVzLlxuXG5JJ20gdGhpbmtpbmcgd2Ugc2hvdWxkIHNldCB1cCBvdXIgZnV6emluZyBwYXJhbWV0ZXJzIHRvIHplcm8gaW4gb24gdGhpcyBhcmVhLiBXZSBuZWVkIHRvIGVuYWJsZSBgVkhPU1RfU0NTSWAgY29uZmlndXJhdGlvbiB0byBnZXQgdGhpbmdzIGdvaW5nLCBhbmQgSeKAmW0gZ29pbmcgdG8gZm9jdXMgdGhlIGZ1enppbmcgb24gYHZob3N0X3Njc2lfY29tcGxldGVfY21kX3dvcmtgLiBUaGlzIGlzIHdoZXJlIHRoZSBjb2RlIHdhcyBtb2RpZmllZCB0byBob2xkIHRoZSB2aXJ0cXVldWUgbXV0ZXggd2hpbGUgY2FsbGluZyB2aG9zdF9zaWduYWwuIFdlJ3JlIGxvb2tpbmcgZm9yIGNyYXNoZXMgb3IgdW5leHBlY3RlZCBiZWhhdmlvciB0aGF0IGNvdWxkIGJlIHRyaWdnZXJlZCBieSB0aGlzIGNoYW5nZS4gSXTigJlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgZml4aW5nIGEgcmFjZSwgYW5kIHRoYXQncyBwcmVjaXNlbHkgd2hlcmUgdGhlIGZ1enppbmcgc2hvdWxkIGJlIGRpcmVjdGVkLiBMZXTigJlzIHNlZSB3aGF0IHdlIGNhbiBmaW5kLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0MzUzLCJPdXRwdXRUb2tlbnMiOjkzLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTM3LCJUb29sQ2FsbHMiOlsicmVhZC1maWxlIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjBUMTA6MTY6MDAuODg2NDM4MDQ5WiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6Nzc4OTIzNDgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIlZIT1NUX1NDU0lcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJ2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGxvY2tpbmcgYmVoYXZpb3IgaW4gdmhvc3Rfc2NzaV9jb21wbGV0ZV9jbWRfd29yayB0byBob2xkIHRoZSB2aXJ0cXVldWUgbXV0ZXggd2hpbGUgY2FsbGluZyB2aG9zdF9zaWduYWwuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBmaXhpbmcgYSBwb3RlbnRpYWwgcmFjZSBjb25kaXRpb24uXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiVkhPU1RfU0NTSVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInZob3N0X3Njc2lfY29tcGxldGVfY21kX3dvcmtcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgbG9ja2luZyBiZWhhdmlvciBpbiB2aG9zdF9zY3NpX2NvbXBsZXRlX2NtZF93b3JrIHRvIGhvbGQgdGhlIHZpcnRxdWV1ZSBtdXRleCB3aGlsZSBjYWxsaW5nIHZob3N0X3NpZ25hbC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGZpeGluZyBhIHBvdGVudGlhbCByYWNlIGNvbmRpdGlvbi5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+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-workflowvvwjf[1] Phase: Succeeded StartedAt: 2026-07-20 10:16:23 +0000 UTC FinishedAt: 2026-07-20 10:16:23 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvvwjf[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-20 10:16:23 +0000 UTC FinishedAt: 2026-07-20 10:16:23 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvvwjf[2] Phase: Succeeded StartedAt: 2026-07-20 10:16:23 +0000 UTC FinishedAt: 2026-07-20 12:13:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-20 10:16:23 +0000 UTC FinishedAt: 2026-07-20 12:13:11 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-20 10:16:23 +0000 UTC FinishedAt: 2026-07-20 10:16:33 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-20 10:16:23 +0000 UTC FinishedAt: 2026-07-20 10:16:27 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},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-workflowvvwjf/series-workflowvvwjf-convert-artifact-307336051/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-20 10:16:33 +0000 UTC FinishedAt: 2026-07-20 10:59:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-20 10:16:33 +0000 UTC FinishedAt: 2026-07-20 10:59:19 +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:*bb3f6c64-c8e8-43cc-ae84-b94a7053f83e,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-workflowvvwjf/series-workflowvvwjf-convert-artifact-307336051/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": "62642b24-e25a-40f3-8d0e-89d1bc42f3fe", "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-workflowvvwjf/series-workflowvvwjf-build-action-1223423521/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-07-20 10:16:33 +0000 UTC FinishedAt: 2026-07-20 10:59:09 +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:*bb3f6c64-c8e8-43cc-ae84-b94a7053f83e,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-workflowvvwjf/series-workflowvvwjf-convert-artifact-307336051/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": "62642b24-e25a-40f3-8d0e-89d1bc42f3fe", "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-workflowvvwjf/series-workflowvvwjf-build-action-1223423521/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-20 10:59:19 +0000 UTC FinishedAt: 2026-07-20 10:59:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-20 10:59:19 +0000 UTC FinishedAt: 2026-07-20 10:59:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-20 10:59:19 +0000 UTC FinishedAt: 2026-07-20 10:59:29 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-20 10:59:19 +0000 UTC FinishedAt: 2026-07-20 10:59:24 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},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-workflowvvwjf/series-workflowvvwjf-convert-artifact-407842922/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-20 10:59:29 +0000 UTC FinishedAt: 2026-07-20 11:01:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-20 10:59:29 +0000 UTC FinishedAt: 2026-07-20 11:01:18 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*62642b24-e25a-40f3-8d0e-89d1bc42f3fe,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-workflowvvwjf/series-workflowvvwjf-build-action-1223423521/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-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-20 11:01:28 +0000 UTC FinishedAt: 2026-07-20 11:01:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-20 11:01:28 +0000 UTC FinishedAt: 2026-07-20 11:01:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-20 11:01:28 +0000 UTC FinishedAt: 2026-07-20 11:37:36 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-20 11:01:28 +0000 UTC FinishedAt: 2026-07-20 11:37:36 +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:*bb3f6c64-c8e8-43cc-ae84-b94a7053f83e,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-workflowvvwjf/series-workflowvvwjf-convert-artifact-407842922/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": "9cd59a73-70aa-45c7-a014-df7a3daa9d2b", "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-workflowvvwjf/series-workflowvvwjf-build-action-2329369742/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-20 11:01:28 +0000 UTC FinishedAt: 2026-07-20 11:37:26 +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:*bb3f6c64-c8e8-43cc-ae84-b94a7053f83e,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-workflowvvwjf/series-workflowvvwjf-convert-artifact-407842922/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": "9cd59a73-70aa-45c7-a014-df7a3daa9d2b", "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-workflowvvwjf/series-workflowvvwjf-build-action-2329369742/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-20 11:37:36 +0000 UTC FinishedAt: 2026-07-20 11:37:36 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-20 11:37:36 +0000 UTC FinishedAt: 2026-07-20 11:37:36 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-20 11:37:36 +0000 UTC FinishedAt: 2026-07-20 11:39:45 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-20 11:37:36 +0000 UTC FinishedAt: 2026-07-20 11:39:35 +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:*9cd59a73-70aa-45c7-a014-df7a3daa9d2b,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-workflowvvwjf/series-workflowvvwjf-build-action-2329369742/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-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-20 11:39:45 +0000 UTC FinishedAt: 2026-07-20 12:13:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-20 11:39:45 +0000 UTC FinishedAt: 2026-07-20 12:13:11 +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-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"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:*62642b24-e25a-40f3-8d0e-89d1bc42f3fe,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*9cd59a73-70aa-45c7-a014-df7a3daa9d2b,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-workflowvvwjf/series-workflowvvwjf-build-action-1223423521/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-workflowvvwjf/series-workflowvvwjf-build-action-2329369742/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-20 11:39:45 +0000 UTC FinishedAt: 2026-07-20 11:39:55 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-20 11:39:45 +0000 UTC FinishedAt: 2026-07-20 11:39:50 +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-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"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-workflowvvwjf/series-workflowvvwjf-convert-artifact-3792677887/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-20 11:39:45 +0000 UTC FinishedAt: 2026-07-20 11:39:45 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-20 11:39:45 +0000 UTC FinishedAt: 2026-07-20 11:39:45 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-20 11:39:45 +0000 UTC FinishedAt: 2026-07-20 11:39:45 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-20 11:39:55 +0000 UTC FinishedAt: 2026-07-20 12:13:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvvwjf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["vhost_scsi_complete_cmd_work"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["VHOST_SCSI"],"series_id":"4d051ff8-5e07-47fb-8188-cebc2ca034bf","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-20 11:39:55 +0000 UTC FinishedAt: 2026-07-20 12:13:01 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*62642b24-e25a-40f3-8d0e-89d1bc42f3fe,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*9cd59a73-70aa-45c7-a014-df7a3daa9d2b,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-workflowvvwjf/series-workflowvvwjf-build-action-1223423521/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-workflowvvwjf/series-workflowvvwjf-build-action-2329369742/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-workflowvvwjf/series-workflowvvwjf-convert-artifact-3792677887/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,}