Name: series-workflowwz6xj Phase: Succeeded StartedAt: 2026-07-18 06:22:18 +0000 UTC FinishedAt: 2026-07-18 10:41:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwz6xj[0] Phase: Succeeded StartedAt: 2026-07-18 06:22:18 +0000 UTC FinishedAt: 2026-07-18 06:36:57 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwz6xj[0].run-triage Phase: Succeeded StartedAt: 2026-07-18 06:22:18 +0000 UTC FinishedAt: 2026-07-18 06:36:57 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "94515f3a7d4256a5062176b7d6ed0471938cd51a", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "EXT4_FS" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "94515f3a7d4256a5062176b7d6ed0471938cd51a", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "EXT4_FS" ], "series_id": "060b4f26-8df1-4c4c-ac98-e65acef8969c" }, "track": "KASAN", "fuzz": { "focus": [ "fs" ], "focus_symbols": [ "ext4_write_inline_data_end" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE4IDA2OjM2PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0VYVDRfRlMmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZCYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCByZXBsYWNlcyBhIEJVR19PTiB3aXRoIHByb3BlciBlcnJvciBoYW5kbGluZyBpbiBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZCB3aGVuIGEgY29uY3VycmVudCBwYXRoIGNvbnZlcnRzIGFuIGlubGluZSBkYXRhIGZpbGUgdG8gYmxvY2sgc3RvcmFnZS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGV4dDQgdGhhdCBjYW4gYmUgdHJpZ2dlcmVkIGJ5IGNvbmN1cnJlbnQgd3JpdGVzIHRvIGlubGluZSBkYXRhIGZpbGVzLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE4IDA2OjM2PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgZGIwYzUwMjRlYjdjMjQ5Nzk5MDYyNzQ1MGUxMzdmODcyZDI1ODY5NVxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBTYXQgSnVsIDE4IDA2OjM2OjI4IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2ZzL2V4dDQvaW5saW5lLmMgYi9mcy9leHQ0L2lubGluZS5jXG5pbmRleCA4MDQ1ZTRmZjI3MGM3Zi4uNTNkNzgzMjM1ZGE5OWIgMTAwNjQ0XG4tLS0gYS9mcy9leHQ0L2lubGluZS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9mcy9leHQ0L2lubGluZS5jXG5AQCAtODEyLDcgJiM0Mzs4MTIsMTQgQEAgaW50IGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbixcbiBcdFx0XHRnb3RvIG91dDtcbiBcdFx0fVxuIFx0XHRleHQ0X3dyaXRlX2xvY2tfeGF0dHIoaW5vZGUsIFx1MDAyNm5vX2V4cGFuZCk7XG4tXHRcdEJVR19PTighZXh0NF9oYXNfaW5saW5lX2RhdGEoaW5vZGUpKTtcbiYjNDM7XHRcdC8qIEZpbGUgbWF5IGhhdmUgYmVlbiBjb252ZXJ0ZWQgdG8gYmxvY2sgc3RvcmFnZSBieSBjb25jdXJyZW50IHBhdGggKi9cbiYjNDM7XHRcdGlmICghZXh0NF9oYXNfaW5saW5lX2RhdGEoaW5vZGUpKSB7XG4mIzQzO1x0XHRcdGV4dDRfd3JpdGVfdW5sb2NrX3hhdHRyKGlub2RlLCBcdTAwMjZub19leHBhbmQpO1xuJiM0MztcdFx0XHRicmVsc2UoaWxvYy5iaCk7XG4mIzQzO1x0XHRcdGZvbGlvX3VubG9jayhmb2xpbyk7XG4mIzQzO1x0XHRcdGZvbGlvX3B1dChmb2xpbyk7XG4mIzQzO1x0XHRcdHJldHVybiAtRUlPO1xuJiM0MztcdFx0fVxuIFxuIFx0XHQvKlxuIFx0XHQgKiBlaS1cdTAwM2VpX2lubGluZV9vZmYgbWF5IGhhdmUgY2hhbmdlZCBzaW5jZVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE4IDA2OjM2PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0VYVDRfRlMmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZCYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCByZXBsYWNlcyBhIEJVR19PTiB3aXRoIHByb3BlciBlcnJvciBoYW5kbGluZyBpbiBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZCB3aGVuIGEgY29uY3VycmVudCBwYXRoIGNvbnZlcnRzIGFuIGlubGluZSBkYXRhIGZpbGUgdG8gYmxvY2sgc3RvcmFnZS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGV4dDQgdGhhdCBjYW4gYmUgdHJpZ2dlcmVkIGJ5IGNvbmN1cnJlbnQgd3JpdGVzIHRvIGlubGluZSBkYXRhIGZpbGVzLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBkYjBjNTAyNGViN2MyNDk3OTkwNjI3NDUwZTEzN2Y4NzJkMjU4Njk1CkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFNhdCBKdWwgMTggMDY6MzY6MjggMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9mcy9leHQ0L2lubGluZS5jIGIvZnMvZXh0NC9pbmxpbmUuYwppbmRleCA4MDQ1ZTRmZjI3MGM3Zi4uNTNkNzgzMjM1ZGE5OWIgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvaW5saW5lLmMKJiM0MzsmIzQzOyYjNDM7IGIvZnMvZXh0NC9pbmxpbmUuYwpAQCAtODEyLDcgJiM0Mzs4MTIsMTQgQEAgaW50IGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwKIAkJCWdvdG8gb3V0OwogCQl9CiAJCWV4dDRfd3JpdGVfbG9ja194YXR0cihpbm9kZSwgJmFtcDtub19leHBhbmQpOwotCQlCVUdfT04oIWV4dDRfaGFzX2lubGluZV9kYXRhKGlub2RlKSk7CiYjNDM7CQkvKiBGaWxlIG1heSBoYXZlIGJlZW4gY29udmVydGVkIHRvIGJsb2NrIHN0b3JhZ2UgYnkgY29uY3VycmVudCBwYXRoICovCiYjNDM7CQlpZiAoIWV4dDRfaGFzX2lubGluZV9kYXRhKGlub2RlKSkgewomIzQzOwkJCWV4dDRfd3JpdGVfdW5sb2NrX3hhdHRyKGlub2RlLCAmYW1wO25vX2V4cGFuZCk7CiYjNDM7CQkJYnJlbHNlKGlsb2MuYmgpOwomIzQzOwkJCWZvbGlvX3VubG9jayhmb2xpbyk7CiYjNDM7CQkJZm9saW9fcHV0KGZvbGlvKTsKJiM0MzsJCQlyZXR1cm4gLUVJTzsKJiM0MzsJCX0KIAogCQkvKgogCQkgKiBlaS0mZ3Q7aV9pbmxpbmVfb2ZmIG1heSBoYXZlIGNoYW5nZWQgc2luY2UKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTggMDY6MzY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTkxNQoJCQkJCQkJb3V0cHV0OiAzOAoJCQkJCQkJdGhvdWdodHM6IDE0MQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIGV4dDQgSW5saW5lIERhdGEgV3JpdGUgRW5kIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciBgZnMvZXh0NC9pbmxpbmUuY2AuIFNlZW1zIGxpa2Ugd2UmIzM5O3JlIGFkZHJlc3NpbmcgYSBwcmV0dHkgY3J1Y2lhbCBpc3N1ZSB3aXRoaW4gdGhlIGV4dDQgaW5saW5lIGRhdGEgaGFuZGxpbmcuIFRoZSBwYXRjaCBzcGVjaWZpY2FsbHkgbW9kaWZpZXMgdGhlIGBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZGAgZnVuY3Rpb24uIFRoZSBrZXkgaGVyZSBpcyB0aGF0IGl0JiMzOTtzIGFsdGVyaW5nIHRoZSBiZWhhdmlvciB3aGVuIGBleHQ0X2hhc19pbmxpbmVfZGF0YShpbm9kZSlgIGlzIGZhbHNlLiBJbnN0ZWFkIG9mIHRoZSBrZXJuZWwganVzdCBjb21wbGV0ZWx5IGhhbHRpbmcgd2l0aCBgQlVHX09OYCwgdGhlIHBhdGNoIGludHJvZHVjZXMgc29tZSBuZXcgbG9naWMgdG8gbWFuYWdlIHRoaXMgc2l0dWF0aW9uLgoKTXkgaW1tZWRpYXRlIHRob3VnaHQgaXMsIHRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZS4gSXQmIzM5O3Mgbm90IGp1c3QgYSByZWZhY3RvcmluZyBvciBvcHRpbWl6YXRpb247IHdlJiMzOTtyZSBmdW5kYW1lbnRhbGx5IGFsdGVyaW5nIGhvdyB0aGUgc3lzdGVtICpiZWhhdmVzKiB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMuIFRoZSBwYXRjaCBkZXNjcmlwdGlvbiBpbmRpY2F0ZXMgdGhpcyBmaXhlcyBhIGNvbmN1cnJlbmN5IGJ1Zy4gQSBjb25jdXJyZW50IHByb2Nlc3MgY291bGQgY29udmVydCBhIGZpbGUgdG8gYmxvY2sgc3RvcmFnZSwgY2F1c2luZyBgZXh0NF9oYXNfaW5saW5lX2RhdGEoaW5vZGUpYCB0byBiZSBmYWxzZSwgcmlnaHQgaW4gdGhlIG1pZGRsZSBvZiB0aGlzIHdyaXRlIG9wZXJhdGlvbiwgcmVzdWx0aW5nIGluIHRoYXQgZmF0YWwgYEJVR19PTmAuIFNvLCB3ZSYjMzk7cmUgbWFraW5nIGl0IG1vcmUgcm9idXN0IGFnYWluc3QgdGhhdCBzY2VuYXJpby4KCkkgd2FudCB0byBkaXZlIGRlZXBlciBhbmQgZXhhbWluZSBgZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmRgIGluIHRoZSBhY3R1YWwgY29kZSBub3cuIEkgbmVlZCB0byB1bmRlcnN0YW5kIGV4YWN0bHkgd2hhdCYjMzk7cyBiZWluZyBkb25lIHdoZW4gdGhlIGlubGluZSBkYXRhIGZsYWcgaXMgY2xlYXJlZC4gV2hhdCBhbHRlcm5hdGl2ZSBsb2dpYyBpcyBpbXBsZW1lbnRlZD8gQXJlIHdlIGhhbmRsaW5nIGRhdGEgbWlncmF0aW9uLCBlcnJvciBjb25kaXRpb25zLCBvciBqdXN0IGdyYWNlZnVsbHkgZXhpdGluZz8gSSBuZWVkIHRvIGFuYWx5emUgaG93IHRoaXMgY2hhbmdlIGFmZmVjdHMgYXRvbWljaXR5IGFuZCBkYXRhIGludGVncml0eSwgcGFydGljdWxhcmx5IGR1cmluZyB0aGF0IHdpbmRvdyB3aGVyZSBhIGNvbnZlcnNpb24gdG8gYmxvY2sgc3RvcmFnZSBjb3VsZCBvY2N1ci4gVGhpcyBpcyBhbiBpbnRlcmVzdGluZyBtb2RpZmljYXRpb24sIGFuZCBJIG5lZWQgdG8gc2VlIGl0IGluIGRldGFpbC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xOCAwNjozNjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2ZzL2V4dDQvaW5saW5lLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZnMvZXh0NC9pbmxpbmUuYz03ODM9aW50IGV4dDRfdHJ5X3RvX3dyaXRlX2lubGluZV9kYXRhKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLFxuLS1cbmZzL2V4dDQvaW5saW5lLmMtNzkzLVxuZnMvZXh0NC9pbmxpbmUuYzo3OTQ6aW50IGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbixcbmZzL2V4dDQvaW5saW5lLmMtNzk1LVx0XHRcdCAgICAgICB1bnNpZ25lZCBjb3BpZWQsIHN0cnVjdCBmb2xpbyAqZm9saW8pXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTggMDY6MzY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjU1NwoJCQkJCQkJb3V0cHV0OiAyOAoJCQkJCQkJdGhvdWdodHM6IDc5CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgTW9kaWZpY2F0aW9uIHRvIGBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZGAqKgoKT2theSwgc28gSSBzZWUgYSBtb2RpZmljYXRpb24gdG8gdGhlIGBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZGAgZnVuY3Rpb24uIFRoYXQgaW1tZWRpYXRlbHkgZmxhZ3MgZXh0NCBhcyB0aGUgcmVsZXZhbnQgZmlsZXN5c3RlbSwgd2hpY2ggbWFrZXMgc2Vuc2UuIEJlZm9yZSBkaXZpbmcgaW50byB0aGUgc3BlY2lmaWNzIG9mICp0aGlzKiBmdW5jdGlvbiwgSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIHN1cnJvdW5kaW5nIGNvbmZpZ3VyYXRpb24gbGFuZHNjYXBlIGZvciBpbmxpbmUgZGF0YSBpbiBleHQ0LiBNeSBpbml0aWFsIHRob3VnaHQgaXMgdGhhdCBpdCYjMzk7cyBnZW5lcmFsbHkgZ292ZXJuZWQgYnkgYENPTkZJR19FWFQ0X0ZTYCwgd2hpY2ggaXMgdGhlIGJhc2UgY29uZmlndXJhdGlvbiBmb3IgZXh0NC4gSG93ZXZlciwgaW5saW5lIGRhdGEgaGFzIHNvbWUgbnVhbmNlIHNvIEkmIzM5O20gc2Vjb25kLWd1ZXNzaW5nIG15c2VsZi4gSXMgdGhlcmUgYSBtb3JlIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gb3B0aW9uLCBwZXJoYXBzIHNvbWV0aGluZyBsaWtlIGBDT05GSUdfRVhUNF9JTkxJTkVfREFUQWAgb3IgYSByZWxhdGVkIGZlYXR1cmUgZmxhZz8gSSYjMzk7bGwgbmVlZCB0byBjb25maXJtLiBJIHNob3VsZCBjaGVjayBgZnMvZXh0NC9LY29uZmlnYCB0byBzZWUgdGhlIGRlcGVuZGVuY2llcyBhbmQgY29uZmlndXJhdGlvbiBvcHRpb25zIGF2YWlsYWJsZS4gVGhhdCYjMzk7cyB0aGUgYmVzdCBwbGFjZSB0byBmaW5kIHRoZSBkZWZpbml0aXZlIGFuc3dlci4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhpcyBiZWZvcmUgcHJvY2VlZGluZy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xOCAwNjozNjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+RXJyb3I6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5ubyBtYXRjaGVzPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2lubGluZSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2ZzL2V4dDQvS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtlcnJvciYjMzQ7OiAmIzM0O25vIG1hdGNoZXMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTggMDY6MzY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjg4MQoJCQkJCQkJb3V0cHV0OiAzNQoJCQkJCQkJdGhvdWdodHM6IDQ5CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBteSBvd24gbWVudGFsIHByb2Nlc3Npbmc6CgoqKkV4dDQgSW5saW5lIERhdGEgQ29uZmlndXJhdGlvbjogQSBRdWljayBDaGVjayoqCgpSaWdodCwgc28gdGhlcmUmIzM5O3Mgbm8gZGVkaWNhdGVkIGNvbmZpZ3VyYXRpb24gc2V0dGluZyBmb3IgaW5saW5lIGRhdGEgd2l0aGluIGV4dDQsIGFzIEkgc3VzcGVjdGVkLiBJdCYjMzk7cyByZWFsbHkganVzdCBhIGZlYXR1cmUgZmxhZyB3aXRoaW4gdGhlIGV4dDQgZmlsZXN5c3RlbSBpdHNlbGYuIFNvLCBlbnN1cmluZyBgRVhUNF9GU2AgaXMgZW5hYmxlZCBpcywgZXNzZW50aWFsbHksIGFsbCBJIG5lZWQgdG8gY2hlY2sgYXQgdGhpcyBwb2ludC4gVGhhdCBzaG91bGQgY292ZXIgdGhlIGJhc2ljcy4KCk5vdywgdG8gZ2V0IGEgaGFuZGxlIG9uIGhvdyB0aGlzIGlzIGFsbCB3b3JraW5nIGluIHByYWN0aWNlLCBJJiMzOTtsbCBxdWlja2x5IG5lZWQgdG8gdmVyaWZ5IHdoZXJlIGBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZGAgaXMgYWN0dWFsbHkgYmVpbmcgY2FsbGVkLiBVbmRlcnN0YW5kaW5nIHRoZSBjYWxsIHBhdGhzIHdpbGwgZ2l2ZSBtZSBhIGJldHRlciB1bmRlcnN0YW5kaW5nIG9mIHRoZSBjb2RlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE4IDA2OjM2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2V4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZnMvZXh0NC8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZnMvZXh0NC9leHQ0Lmg9Mzc0MT1leHRlcm4gaW50IGV4dDRfdHJ5X3RvX3dyaXRlX2lubGluZV9kYXRhKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLFxuLS1cbmZzL2V4dDQvZXh0NC5oLTM3NDQtXHRcdFx0XHRcdCBzdHJ1Y3QgZm9saW8gKipmb2xpb3ApO1xuZnMvZXh0NC9leHQ0Lmg6Mzc0NTppbnQgZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmQoc3RydWN0IGlub2RlICppbm9kZSwgbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLFxuZnMvZXh0NC9leHQ0LmgtMzc0Ni1cdFx0XHQgICAgICAgdW5zaWduZWQgY29waWVkLCBzdHJ1Y3QgZm9saW8gKmZvbGlvKTtcbi0tXG5mcy9leHQ0L2lubGluZS5jPTc4Mz1pbnQgZXh0NF90cnlfdG9fd3JpdGVfaW5saW5lX2RhdGEoc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsXG4tLVxuZnMvZXh0NC9pbmxpbmUuYy03OTMtXG5mcy9leHQ0L2lubGluZS5jOjc5NDppbnQgZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmQoc3RydWN0IGlub2RlICppbm9kZSwgbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLFxuZnMvZXh0NC9pbmxpbmUuYy03OTUtXHRcdFx0ICAgICAgIHVuc2lnbmVkIGNvcGllZCwgc3RydWN0IGZvbGlvICpmb2xpbylcbi0tXG5mcy9leHQ0L2lub2RlLmM9MTQzOT1zdGF0aWMgaW50IGV4dDRfd3JpdGVfZW5kKGNvbnN0IHN0cnVjdCBraW9jYiAqaW9jYixcbi0tXG5mcy9leHQ0L2lub2RlLmMtMTQ1NC1cdCAgICBleHQ0X3Rlc3RfaW5vZGVfc3RhdGUoaW5vZGUsIEVYVDRfU1RBVEVfTUFZX0lOTElORV9EQVRBKSlcbmZzL2V4dDQvaW5vZGUuYzoxNDU1Olx0XHRyZXR1cm4gZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmQoaW5vZGUsIHBvcywgbGVuLCBjb3BpZWQsXG5mcy9leHQ0L2lub2RlLmMtMTQ1Ni1cdFx0XHRcdFx0XHQgIGZvbGlvKTtcbi0tXG5mcy9leHQ0L2lub2RlLmM9MTU0Mz1zdGF0aWMgaW50IGV4dDRfam91cm5hbGxlZF93cml0ZV9lbmQoY29uc3Qgc3RydWN0IGtpb2NiICppb2NiLFxuLS1cbmZzL2V4dDQvaW5vZGUuYy0xNTY0LVx0ICAgIGV4dDRfdGVzdF9pbm9kZV9zdGF0ZShpbm9kZSwgRVhUNF9TVEFURV9NQVlfSU5MSU5FX0RBVEEpKVxuZnMvZXh0NC9pbm9kZS5jOjE1NjU6XHRcdHJldHVybiBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZChpbm9kZSwgcG9zLCBsZW4sIGNvcGllZCxcbmZzL2V4dDQvaW5vZGUuYy0xNTY2LVx0XHRcdFx0XHRcdCAgZm9saW8pO1xuLS1cbmZzL2V4dDQvaW5vZGUuYz0zMjg4PXN0YXRpYyBpbnQgZXh0NF9kYV93cml0ZV9lbmQoY29uc3Qgc3RydWN0IGtpb2NiICppb2NiLFxuLS1cbmZzL2V4dDQvaW5vZGUuYy0zMzA0LVx0ICAgIGV4dDRfaGFzX2lubGluZV9kYXRhKGlub2RlKSlcbmZzL2V4dDQvaW5vZGUuYzozMzA1Olx0XHRyZXR1cm4gZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmQoaW5vZGUsIHBvcywgbGVuLCBjb3BpZWQsXG5mcy9leHQ0L2lub2RlLmMtMzMwNi1cdFx0XHRcdFx0XHQgIGZvbGlvKTtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xOCAwNjozNjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzNzY3CgkJCQkJCQlvdXRwdXQ6IDEwNAoJCQkJCQkJdGhvdWdodHM6IDE4NAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBbmFseXNpcyBvZiBhIFBvdGVudGlhbCBGb2N1cyBmb3IgRnV6emluZyoqCgpPa2F5LCBoZXJlJiMzOTtzIHdoYXQgSSYjMzk7bSB0aGlua2luZy4gV2UmIzM5O3ZlIGdvdCBgZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmRgIOKAkyBhIGZ1bmN0aW9uIHRoYXQmIzM5O3MgY2xlYXJseSBjcml0aWNhbCwgZ2l2ZW4gaXQmIzM5O3MgY2FsbGVkIGZyb20gdGhvc2UgY29yZSB3cml0ZSBmdW5jdGlvbnM6IGBleHQ0X3dyaXRlX2VuZGAsIGBleHQ0X2pvdXJuYWxsZWRfd3JpdGVfZW5kYCwgYW5kIGBleHQ0X2RhX3dyaXRlX2VuZGAuIFRoZXNlIGFyZSB0aGUgd29ya2hvcnNlcyBvZiB3cml0aW5nIGRhdGEgdG8gZXh0NCBmaWxlc3lzdGVtcywgc28gYW55dGhpbmcgaGFwcGVuaW5nIGluICp0aGF0KiBmdW5jdGlvbiBpcyBnb2luZyB0byBiZSBoaWdoLWltcGFjdCwgYW5kIGEgcG90ZW50aWFsIGNob2tlIHBvaW50LiBgZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmRgIGl0c2VsZiwgc2VlbXMgbGlrZSBhIHByZXR0eSBmb2N1c2VkIHN5bWJvbCB0byBzdGFydCB3aXRoLgoKR2l2ZW4gdGhhdCB0aGUgY2hhbmdlIGZvY3VzZXMgb24gYSByYWNlIGNvbmRpdGlvbiBpbnZvbHZpbmcgaW5saW5lIGRhdGEgY29udmVyc2lvbiBkdXJpbmcgY29uY3VycmVudCB3cml0ZXMsIEkmIzM5O20gdGhpbmtpbmcgdGhpcyBpcyBhIHByaW1lIHRhcmdldCBmb3IgZnV6emluZy4gVGhlIHBhdGNoIGlzIGFkZHJlc3NpbmcgYSBwb3RlbnRpYWwgYnVnIGluIGBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZGAgdGhhdCYjMzk7cyBvbmx5IGV4cG9zZWQgdW5kZXIgYSBzcGVjaWZpYyBzZXQgb2YgY2lyY3Vtc3RhbmNlcyDigJMgY29uY3VycmVudCBtb2RpZmljYXRpb24gb2YgdGhlIGZpbGUgYW5kIGNvbnZlcnNpb24gZnJvbSBpbmxpbmUgdG8gYmxvY2sgc3RvcmFnZS4gVGhpcyBpcyBleGFjdGx5IHRoZSBraW5kIG9mIHRoaW5nIGZ1enppbmcgaXMgKmJ1aWx0KiBmb3IhIEZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBleHQ0IGtlcm5lbCB3aXRoIGNvbmN1cnJlbnQgd3JpdGVzIHRvIGlubGluZSBkYXRhIGZpbGVzOyB0aGF0IG1ha2VzIGl0IGEgcmVhbCBoaWdoLXZhbHVlIHRhcmdldC4KClNvLCBsZXQmIzM5O3Mgc2V0IHRoZSBwYXJhbWV0ZXJzOgoKKiAgICoqV29ydGhGdXp6aW5nOiBUcnVlLioqIEFic29sdXRlbHkuCiogICAqKkZvY3VzU3ltYm9sczoqKiBJJiMzOTttIGdvaW5nIHRvIHplcm8gaW4gb24gYGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kYCwgdGhhdCYjMzk7cyB0aGUgaGVhcnQgb2YgdGhpcy4KKiAgICoqRW5hYmxlQ29uZmlnczoqKiBOZWVkIHRvIGVuc3VyZSBgRVhUNF9GU2AgaXMgZW5hYmxlZCwgb2J2aW91c2x5LgoqICAgKipSZWFzb25pbmc6KiogVGhlIHBhdGNoIGZ1bmRhbWVudGFsbHkgY2hhbmdlcyBob3cgYW4gZXJyb3IgY29uZGl0aW9uIGlzIGhhbmRsZWQsIGFuZCBpcyBtb3N0IGxpa2VseSB0byBiZSB0cmlnZ2VyZWQgYnkgY29uY3VycmVudCB3cml0ZXMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE4IDA2OjM2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtFWFQ0X0ZTJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7ZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmQmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggcmVwbGFjZXMgYSBCVUdfT04gd2l0aCBwcm9wZXIgZXJyb3IgaGFuZGxpbmcgaW4gZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmQgd2hlbiBhIGNvbmN1cnJlbnQgcGF0aCBjb252ZXJ0cyBhbiBpbmxpbmUgZGF0YSBmaWxlIHRvIGJsb2NrIHN0b3JhZ2UuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBleHQ0IHRoYXQgY2FuIGJlIHRyaWdnZXJlZCBieSBjb25jdXJyZW50IHdyaXRlcyB0byBpbmxpbmUgZGF0YSBmaWxlcy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7RVhUNF9GUyYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2V4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIHJlcGxhY2VzIGEgQlVHX09OIHdpdGggcHJvcGVyIGVycm9yIGhhbmRsaW5nIGluIGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kIHdoZW4gYSBjb25jdXJyZW50IHBhdGggY29udmVydHMgYW4gaW5saW5lIGRhdGEgZmlsZSB0byBibG9jayBzdG9yYWdlLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gZXh0NCB0aGF0IGNhbiBiZSB0cmlnZ2VyZWQgYnkgY29uY3VycmVudCB3cml0ZXMgdG8gaW5saW5lIGRhdGEgZmlsZXMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0xOFQwNjozNjoyOS4yODQwOTU0MzlaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNTg5NDM5MDk2NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJFWFQ0X0ZTXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmRcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCByZXBsYWNlcyBhIEJVR19PTiB3aXRoIHByb3BlciBlcnJvciBoYW5kbGluZyBpbiBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZCB3aGVuIGEgY29uY3VycmVudCBwYXRoIGNvbnZlcnRzIGFuIGlubGluZSBkYXRhIGZpbGUgdG8gYmxvY2sgc3RvcmFnZS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGV4dDQgdGhhdCBjYW4gYmUgdHJpZ2dlcmVkIGJ5IGNvbmN1cnJlbnQgd3JpdGVzIHRvIGlubGluZSBkYXRhIGZpbGVzLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xOFQwNjozNjoyOS4yODQwOTk5MDlaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjM4OTI5MjYzNiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IGRiMGM1MDI0ZWI3YzI0OTc5OTA2Mjc0NTBlMTM3Zjg3MmQyNTg2OTVcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFNhdCBKdWwgMTggMDY6MzY6MjggMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZnMvZXh0NC9pbmxpbmUuYyBiL2ZzL2V4dDQvaW5saW5lLmNcXG5pbmRleCA4MDQ1ZTRmZjI3MGM3Zi4uNTNkNzgzMjM1ZGE5OWIgMTAwNjQ0XFxuLS0tIGEvZnMvZXh0NC9pbmxpbmUuY1xcbisrKyBiL2ZzL2V4dDQvaW5saW5lLmNcXG5AQCAtODEyLDcgKzgxMiwxNCBAQCBpbnQgZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmQoc3RydWN0IGlub2RlICppbm9kZSwgbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLFxcbiBcXHRcXHRcXHRnb3RvIG91dDtcXG4gXFx0XFx0fVxcbiBcXHRcXHRleHQ0X3dyaXRlX2xvY2tfeGF0dHIoaW5vZGUsIFxcdTAwMjZub19leHBhbmQpO1xcbi1cXHRcXHRCVUdfT04oIWV4dDRfaGFzX2lubGluZV9kYXRhKGlub2RlKSk7XFxuK1xcdFxcdC8qIEZpbGUgbWF5IGhhdmUgYmVlbiBjb252ZXJ0ZWQgdG8gYmxvY2sgc3RvcmFnZSBieSBjb25jdXJyZW50IHBhdGggKi9cXG4rXFx0XFx0aWYgKCFleHQ0X2hhc19pbmxpbmVfZGF0YShpbm9kZSkpIHtcXG4rXFx0XFx0XFx0ZXh0NF93cml0ZV91bmxvY2tfeGF0dHIoaW5vZGUsIFxcdTAwMjZub19leHBhbmQpO1xcbitcXHRcXHRcXHRicmVsc2UoaWxvYy5iaCk7XFxuK1xcdFxcdFxcdGZvbGlvX3VubG9jayhmb2xpbyk7XFxuK1xcdFxcdFxcdGZvbGlvX3B1dChmb2xpbyk7XFxuK1xcdFxcdFxcdHJldHVybiAtRUlPO1xcbitcXHRcXHR9XFxuIFxcbiBcXHRcXHQvKlxcbiBcXHRcXHQgKiBlaS1cXHUwMDNlaV9pbmxpbmVfb2ZmIG1heSBoYXZlIGNoYW5nZWQgc2luY2VcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMThUMDY6MzY6MjkuNjc0MDY2NzA1WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxNTUwNDQxMDk5MSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJFWFQ0X0ZTXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmRcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCByZXBsYWNlcyBhIEJVR19PTiB3aXRoIHByb3BlciBlcnJvciBoYW5kbGluZyBpbiBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZCB3aGVuIGEgY29uY3VycmVudCBwYXRoIGNvbnZlcnRzIGFuIGlubGluZSBkYXRhIGZpbGUgdG8gYmxvY2sgc3RvcmFnZS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGV4dDQgdGhhdCBjYW4gYmUgdHJpZ2dlcmVkIGJ5IGNvbmN1cnJlbnQgd3JpdGVzIHRvIGlubGluZSBkYXRhIGZpbGVzLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IGRiMGM1MDI0ZWI3YzI0OTc5OTA2Mjc0NTBlMTM3Zjg3MmQyNTg2OTVcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgU2F0IEp1bCAxOCAwNjozNjoyOCAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2ZzL2V4dDQvaW5saW5lLmMgYi9mcy9leHQ0L2lubGluZS5jXG5pbmRleCA4MDQ1ZTRmZjI3MGM3Zi4uNTNkNzgzMjM1ZGE5OWIgMTAwNjQ0XG4tLS0gYS9mcy9leHQ0L2lubGluZS5jXG4rKysgYi9mcy9leHQ0L2lubGluZS5jXG5AQCAtODEyLDcgKzgxMiwxNCBAQCBpbnQgZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmQoc3RydWN0IGlub2RlICppbm9kZSwgbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLFxuIFx0XHRcdGdvdG8gb3V0O1xuIFx0XHR9XG4gXHRcdGV4dDRfd3JpdGVfbG9ja194YXR0cihpbm9kZSwgXHUwMDI2bm9fZXhwYW5kKTtcbi1cdFx0QlVHX09OKCFleHQ0X2hhc19pbmxpbmVfZGF0YShpbm9kZSkpO1xuK1x0XHQvKiBGaWxlIG1heSBoYXZlIGJlZW4gY29udmVydGVkIHRvIGJsb2NrIHN0b3JhZ2UgYnkgY29uY3VycmVudCBwYXRoICovXG4rXHRcdGlmICghZXh0NF9oYXNfaW5saW5lX2RhdGEoaW5vZGUpKSB7XG4rXHRcdFx0ZXh0NF93cml0ZV91bmxvY2tfeGF0dHIoaW5vZGUsIFx1MDAyNm5vX2V4cGFuZCk7XG4rXHRcdFx0YnJlbHNlKGlsb2MuYmgpO1xuK1x0XHRcdGZvbGlvX3VubG9jayhmb2xpbyk7XG4rXHRcdFx0Zm9saW9fcHV0KGZvbGlvKTtcbitcdFx0XHRyZXR1cm4gLUVJTztcbitcdFx0fVxuIFxuIFx0XHQvKlxuIFx0XHQgKiBlaS1cdTAwM2VpX2lubGluZV9vZmYgbWF5IGhhdmUgY2hhbmdlZCBzaW5jZVxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMThUMDY6MzY6MjkuNjc0MDY4MDg1WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDMyMzA4MjE5NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIGV4dDQgSW5saW5lIERhdGEgV3JpdGUgRW5kIFBhdGNoKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBmb3IgYGZzL2V4dDQvaW5saW5lLmNgLiBTZWVtcyBsaWtlIHdlJ3JlIGFkZHJlc3NpbmcgYSBwcmV0dHkgY3J1Y2lhbCBpc3N1ZSB3aXRoaW4gdGhlIGV4dDQgaW5saW5lIGRhdGEgaGFuZGxpbmcuIFRoZSBwYXRjaCBzcGVjaWZpY2FsbHkgbW9kaWZpZXMgdGhlIGBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZGAgZnVuY3Rpb24uIFRoZSBrZXkgaGVyZSBpcyB0aGF0IGl0J3MgYWx0ZXJpbmcgdGhlIGJlaGF2aW9yIHdoZW4gYGV4dDRfaGFzX2lubGluZV9kYXRhKGlub2RlKWAgaXMgZmFsc2UuIEluc3RlYWQgb2YgdGhlIGtlcm5lbCBqdXN0IGNvbXBsZXRlbHkgaGFsdGluZyB3aXRoIGBCVUdfT05gLCB0aGUgcGF0Y2ggaW50cm9kdWNlcyBzb21lIG5ldyBsb2dpYyB0byBtYW5hZ2UgdGhpcyBzaXR1YXRpb24uXG5cbk15IGltbWVkaWF0ZSB0aG91Z2h0IGlzLCB0aGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UuIEl0J3Mgbm90IGp1c3QgYSByZWZhY3RvcmluZyBvciBvcHRpbWl6YXRpb247IHdlJ3JlIGZ1bmRhbWVudGFsbHkgYWx0ZXJpbmcgaG93IHRoZSBzeXN0ZW0gKmJlaGF2ZXMqIHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucy4gVGhlIHBhdGNoIGRlc2NyaXB0aW9uIGluZGljYXRlcyB0aGlzIGZpeGVzIGEgY29uY3VycmVuY3kgYnVnLiBBIGNvbmN1cnJlbnQgcHJvY2VzcyBjb3VsZCBjb252ZXJ0IGEgZmlsZSB0byBibG9jayBzdG9yYWdlLCBjYXVzaW5nIGBleHQ0X2hhc19pbmxpbmVfZGF0YShpbm9kZSlgIHRvIGJlIGZhbHNlLCByaWdodCBpbiB0aGUgbWlkZGxlIG9mIHRoaXMgd3JpdGUgb3BlcmF0aW9uLCByZXN1bHRpbmcgaW4gdGhhdCBmYXRhbCBgQlVHX09OYC4gU28sIHdlJ3JlIG1ha2luZyBpdCBtb3JlIHJvYnVzdCBhZ2FpbnN0IHRoYXQgc2NlbmFyaW8uXG5cbkkgd2FudCB0byBkaXZlIGRlZXBlciBhbmQgZXhhbWluZSBgZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmRgIGluIHRoZSBhY3R1YWwgY29kZSBub3cuIEkgbmVlZCB0byB1bmRlcnN0YW5kIGV4YWN0bHkgd2hhdCdzIGJlaW5nIGRvbmUgd2hlbiB0aGUgaW5saW5lIGRhdGEgZmxhZyBpcyBjbGVhcmVkLiBXaGF0IGFsdGVybmF0aXZlIGxvZ2ljIGlzIGltcGxlbWVudGVkPyBBcmUgd2UgaGFuZGxpbmcgZGF0YSBtaWdyYXRpb24sIGVycm9yIGNvbmRpdGlvbnMsIG9yIGp1c3QgZ3JhY2VmdWxseSBleGl0aW5nPyBJIG5lZWQgdG8gYW5hbHl6ZSBob3cgdGhpcyBjaGFuZ2UgYWZmZWN0cyBhdG9taWNpdHkgYW5kIGRhdGEgaW50ZWdyaXR5LCBwYXJ0aWN1bGFybHkgZHVyaW5nIHRoYXQgd2luZG93IHdoZXJlIGEgY29udmVyc2lvbiB0byBibG9jayBzdG9yYWdlIGNvdWxkIG9jY3VyLiBUaGlzIGlzIGFuIGludGVyZXN0aW5nIG1vZGlmaWNhdGlvbiwgYW5kIEkgbmVlZCB0byBzZWUgaXQgaW4gZGV0YWlsLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxOTE1LCJPdXRwdXRUb2tlbnMiOjM4LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTQxLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMThUMDY6MzY6MzMuOTk3MTUxOTgxWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjU4NzA1MDk3LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImZzL2V4dDQvaW5saW5lLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZnMvZXh0NC9pbmxpbmUuYz03ODM9aW50IGV4dDRfdHJ5X3RvX3dyaXRlX2lubGluZV9kYXRhKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLFxcbi0tXFxuZnMvZXh0NC9pbmxpbmUuYy03OTMtXFxuZnMvZXh0NC9pbmxpbmUuYzo3OTQ6aW50IGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbixcXG5mcy9leHQ0L2lubGluZS5jLTc5NS1cXHRcXHRcXHQgICAgICAgdW5zaWduZWQgY29waWVkLCBzdHJ1Y3QgZm9saW8gKmZvbGlvKVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xOFQwNjozNjozNC4wNTU4NjIwNTdaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozMjAxMjUwOTY0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgTW9kaWZpY2F0aW9uIHRvIGBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZGAqKlxuXG5Pa2F5LCBzbyBJIHNlZSBhIG1vZGlmaWNhdGlvbiB0byB0aGUgYGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kYCBmdW5jdGlvbi4gVGhhdCBpbW1lZGlhdGVseSBmbGFncyBleHQ0IGFzIHRoZSByZWxldmFudCBmaWxlc3lzdGVtLCB3aGljaCBtYWtlcyBzZW5zZS4gQmVmb3JlIGRpdmluZyBpbnRvIHRoZSBzcGVjaWZpY3Mgb2YgKnRoaXMqIGZ1bmN0aW9uLCBJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgc3Vycm91bmRpbmcgY29uZmlndXJhdGlvbiBsYW5kc2NhcGUgZm9yIGlubGluZSBkYXRhIGluIGV4dDQuIE15IGluaXRpYWwgdGhvdWdodCBpcyB0aGF0IGl0J3MgZ2VuZXJhbGx5IGdvdmVybmVkIGJ5IGBDT05GSUdfRVhUNF9GU2AsIHdoaWNoIGlzIHRoZSBiYXNlIGNvbmZpZ3VyYXRpb24gZm9yIGV4dDQuIEhvd2V2ZXIsIGlubGluZSBkYXRhIGhhcyBzb21lIG51YW5jZSBzbyBJJ20gc2Vjb25kLWd1ZXNzaW5nIG15c2VsZi4gSXMgdGhlcmUgYSBtb3JlIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gb3B0aW9uLCBwZXJoYXBzIHNvbWV0aGluZyBsaWtlIGBDT05GSUdfRVhUNF9JTkxJTkVfREFUQWAgb3IgYSByZWxhdGVkIGZlYXR1cmUgZmxhZz8gSSdsbCBuZWVkIHRvIGNvbmZpcm0uIEkgc2hvdWxkIGNoZWNrIGBmcy9leHQ0L0tjb25maWdgIHRvIHNlZSB0aGUgZGVwZW5kZW5jaWVzIGFuZCBjb25maWd1cmF0aW9uIG9wdGlvbnMgYXZhaWxhYmxlLiBUaGF0J3MgdGhlIGJlc3QgcGxhY2UgdG8gZmluZCB0aGUgZGVmaW5pdGl2ZSBhbnN3ZXIuIEkgbmVlZCB0byB1bmRlcnN0YW5kIHRoaXMgYmVmb3JlIHByb2NlZWRpbmcuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI1NTcsIk91dHB1dFRva2VucyI6MjgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo3OSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xOFQwNjozNjozNy4yNTcxMTQ3NjFaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTY2NDI2MDYsIkVycm9yIjoibm8gbWF0Y2hlcyIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImlubGluZVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJmcy9leHQ0L0tjb25maWdcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiZXJyb3JcIjogXCJubyBtYXRjaGVzXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE4VDA2OjM2OjM3LjMxMzc2NDI0N1oiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjI3MTQ0MjEyMTQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzLCBmcmFtZWQgYXMgbXkgb3duIG1lbnRhbCBwcm9jZXNzaW5nOlxuXG4qKkV4dDQgSW5saW5lIERhdGEgQ29uZmlndXJhdGlvbjogQSBRdWljayBDaGVjayoqXG5cblJpZ2h0LCBzbyB0aGVyZSdzIG5vIGRlZGljYXRlZCBjb25maWd1cmF0aW9uIHNldHRpbmcgZm9yIGlubGluZSBkYXRhIHdpdGhpbiBleHQ0LCBhcyBJIHN1c3BlY3RlZC4gSXQncyByZWFsbHkganVzdCBhIGZlYXR1cmUgZmxhZyB3aXRoaW4gdGhlIGV4dDQgZmlsZXN5c3RlbSBpdHNlbGYuIFNvLCBlbnN1cmluZyBgRVhUNF9GU2AgaXMgZW5hYmxlZCBpcywgZXNzZW50aWFsbHksIGFsbCBJIG5lZWQgdG8gY2hlY2sgYXQgdGhpcyBwb2ludC4gVGhhdCBzaG91bGQgY292ZXIgdGhlIGJhc2ljcy5cblxuTm93LCB0byBnZXQgYSBoYW5kbGUgb24gaG93IHRoaXMgaXMgYWxsIHdvcmtpbmcgaW4gcHJhY3RpY2UsIEknbGwgcXVpY2tseSBuZWVkIHRvIHZlcmlmeSB3aGVyZSBgZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmRgIGlzIGFjdHVhbGx5IGJlaW5nIGNhbGxlZC4gVW5kZXJzdGFuZGluZyB0aGUgY2FsbCBwYXRocyB3aWxsIGdpdmUgbWUgYSBiZXR0ZXIgdW5kZXJzdGFuZGluZyBvZiB0aGUgY29kZS5cblxuXG4iLCJJbnB1dFRva2VucyI6Mjg4MSwiT3V0cHV0VG9rZW5zIjozNSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjQ5LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE4VDA2OjM2OjQwLjAyODE4Njk0MVoiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1Njg5OTc0NywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJmcy9leHQ0L1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJmcy9leHQ0L2V4dDQuaD0zNzQxPWV4dGVybiBpbnQgZXh0NF90cnlfdG9fd3JpdGVfaW5saW5lX2RhdGEoc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsXFxuLS1cXG5mcy9leHQ0L2V4dDQuaC0zNzQ0LVxcdFxcdFxcdFxcdFxcdCBzdHJ1Y3QgZm9saW8gKipmb2xpb3ApO1xcbmZzL2V4dDQvZXh0NC5oOjM3NDU6aW50IGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbixcXG5mcy9leHQ0L2V4dDQuaC0zNzQ2LVxcdFxcdFxcdCAgICAgICB1bnNpZ25lZCBjb3BpZWQsIHN0cnVjdCBmb2xpbyAqZm9saW8pO1xcbi0tXFxuZnMvZXh0NC9pbmxpbmUuYz03ODM9aW50IGV4dDRfdHJ5X3RvX3dyaXRlX2lubGluZV9kYXRhKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLFxcbi0tXFxuZnMvZXh0NC9pbmxpbmUuYy03OTMtXFxuZnMvZXh0NC9pbmxpbmUuYzo3OTQ6aW50IGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbixcXG5mcy9leHQ0L2lubGluZS5jLTc5NS1cXHRcXHRcXHQgICAgICAgdW5zaWduZWQgY29waWVkLCBzdHJ1Y3QgZm9saW8gKmZvbGlvKVxcbi0tXFxuZnMvZXh0NC9pbm9kZS5jPTE0Mzk9c3RhdGljIGludCBleHQ0X3dyaXRlX2VuZChjb25zdCBzdHJ1Y3Qga2lvY2IgKmlvY2IsXFxuLS1cXG5mcy9leHQ0L2lub2RlLmMtMTQ1NC1cXHQgICAgZXh0NF90ZXN0X2lub2RlX3N0YXRlKGlub2RlLCBFWFQ0X1NUQVRFX01BWV9JTkxJTkVfREFUQSkpXFxuZnMvZXh0NC9pbm9kZS5jOjE0NTU6XFx0XFx0cmV0dXJuIGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kKGlub2RlLCBwb3MsIGxlbiwgY29waWVkLFxcbmZzL2V4dDQvaW5vZGUuYy0xNDU2LVxcdFxcdFxcdFxcdFxcdFxcdCAgZm9saW8pO1xcbi0tXFxuZnMvZXh0NC9pbm9kZS5jPTE1NDM9c3RhdGljIGludCBleHQ0X2pvdXJuYWxsZWRfd3JpdGVfZW5kKGNvbnN0IHN0cnVjdCBraW9jYiAqaW9jYixcXG4tLVxcbmZzL2V4dDQvaW5vZGUuYy0xNTY0LVxcdCAgICBleHQ0X3Rlc3RfaW5vZGVfc3RhdGUoaW5vZGUsIEVYVDRfU1RBVEVfTUFZX0lOTElORV9EQVRBKSlcXG5mcy9leHQ0L2lub2RlLmM6MTU2NTpcXHRcXHRyZXR1cm4gZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmQoaW5vZGUsIHBvcywgbGVuLCBjb3BpZWQsXFxuZnMvZXh0NC9pbm9kZS5jLTE1NjYtXFx0XFx0XFx0XFx0XFx0XFx0ICBmb2xpbyk7XFxuLS1cXG5mcy9leHQ0L2lub2RlLmM9MzI4OD1zdGF0aWMgaW50IGV4dDRfZGFfd3JpdGVfZW5kKGNvbnN0IHN0cnVjdCBraW9jYiAqaW9jYixcXG4tLVxcbmZzL2V4dDQvaW5vZGUuYy0zMzA0LVxcdCAgICBleHQ0X2hhc19pbmxpbmVfZGF0YShpbm9kZSkpXFxuZnMvZXh0NC9pbm9kZS5jOjMzMDU6XFx0XFx0cmV0dXJuIGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kKGlub2RlLCBwb3MsIGxlbiwgY29waWVkLFxcbmZzL2V4dDQvaW5vZGUuYy0zMzA2LVxcdFxcdFxcdFxcdFxcdFxcdCAgZm9saW8pO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xOFQwNjozNjo0MC4wODUwOTA2NjhaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1MDEzMjMyODMzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFuYWx5c2lzIG9mIGEgUG90ZW50aWFsIEZvY3VzIGZvciBGdXp6aW5nKipcblxuT2theSwgaGVyZSdzIHdoYXQgSSdtIHRoaW5raW5nLiBXZSd2ZSBnb3QgYGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kYCDigJMgYSBmdW5jdGlvbiB0aGF0J3MgY2xlYXJseSBjcml0aWNhbCwgZ2l2ZW4gaXQncyBjYWxsZWQgZnJvbSB0aG9zZSBjb3JlIHdyaXRlIGZ1bmN0aW9uczogYGV4dDRfd3JpdGVfZW5kYCwgYGV4dDRfam91cm5hbGxlZF93cml0ZV9lbmRgLCBhbmQgYGV4dDRfZGFfd3JpdGVfZW5kYC4gVGhlc2UgYXJlIHRoZSB3b3JraG9yc2VzIG9mIHdyaXRpbmcgZGF0YSB0byBleHQ0IGZpbGVzeXN0ZW1zLCBzbyBhbnl0aGluZyBoYXBwZW5pbmcgaW4gKnRoYXQqIGZ1bmN0aW9uIGlzIGdvaW5nIHRvIGJlIGhpZ2gtaW1wYWN0LCBhbmQgYSBwb3RlbnRpYWwgY2hva2UgcG9pbnQuIGBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZGAgaXRzZWxmLCBzZWVtcyBsaWtlIGEgcHJldHR5IGZvY3VzZWQgc3ltYm9sIHRvIHN0YXJ0IHdpdGguXG5cbkdpdmVuIHRoYXQgdGhlIGNoYW5nZSBmb2N1c2VzIG9uIGEgcmFjZSBjb25kaXRpb24gaW52b2x2aW5nIGlubGluZSBkYXRhIGNvbnZlcnNpb24gZHVyaW5nIGNvbmN1cnJlbnQgd3JpdGVzLCBJJ20gdGhpbmtpbmcgdGhpcyBpcyBhIHByaW1lIHRhcmdldCBmb3IgZnV6emluZy4gVGhlIHBhdGNoIGlzIGFkZHJlc3NpbmcgYSBwb3RlbnRpYWwgYnVnIGluIGBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZGAgdGhhdCdzIG9ubHkgZXhwb3NlZCB1bmRlciBhIHNwZWNpZmljIHNldCBvZiBjaXJjdW1zdGFuY2VzIOKAkyBjb25jdXJyZW50IG1vZGlmaWNhdGlvbiBvZiB0aGUgZmlsZSBhbmQgY29udmVyc2lvbiBmcm9tIGlubGluZSB0byBibG9jayBzdG9yYWdlLiBUaGlzIGlzIGV4YWN0bHkgdGhlIGtpbmQgb2YgdGhpbmcgZnV6emluZyBpcyAqYnVpbHQqIGZvciEgRnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGV4dDQga2VybmVsIHdpdGggY29uY3VycmVudCB3cml0ZXMgdG8gaW5saW5lIGRhdGEgZmlsZXM7IHRoYXQgbWFrZXMgaXQgYSByZWFsIGhpZ2gtdmFsdWUgdGFyZ2V0LlxuXG5TbywgbGV0J3Mgc2V0IHRoZSBwYXJhbWV0ZXJzOlxuXG4qICAgKipXb3J0aEZ1enppbmc6IFRydWUuKiogQWJzb2x1dGVseS5cbiogICAqKkZvY3VzU3ltYm9sczoqKiBJJ20gZ29pbmcgdG8gemVybyBpbiBvbiBgZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmRgLCB0aGF0J3MgdGhlIGhlYXJ0IG9mIHRoaXMuXG4qICAgKipFbmFibGVDb25maWdzOioqIE5lZWQgdG8gZW5zdXJlIGBFWFQ0X0ZTYCBpcyBlbmFibGVkLCBvYnZpb3VzbHkuXG4qICAgKipSZWFzb25pbmc6KiogVGhlIHBhdGNoIGZ1bmRhbWVudGFsbHkgY2hhbmdlcyBob3cgYW4gZXJyb3IgY29uZGl0aW9uIGlzIGhhbmRsZWQsIGFuZCBpcyBtb3N0IGxpa2VseSB0byBiZSB0cmlnZ2VyZWQgYnkgY29uY3VycmVudCB3cml0ZXMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjM3NjcsIk91dHB1dFRva2VucyI6MTA0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTg0LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE4VDA2OjM2OjQ1LjA5ODMyNTc1MVoiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjgwMTQ4MTQ1LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJFWFQ0X0ZTXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmRcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCByZXBsYWNlcyBhIEJVR19PTiB3aXRoIHByb3BlciBlcnJvciBoYW5kbGluZyBpbiBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZCB3aGVuIGEgY29uY3VycmVudCBwYXRoIGNvbnZlcnRzIGFuIGlubGluZSBkYXRhIGZpbGUgdG8gYmxvY2sgc3RvcmFnZS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGV4dDQgdGhhdCBjYW4gYmUgdHJpZ2dlcmVkIGJ5IGNvbmN1cnJlbnQgd3JpdGVzIHRvIGlubGluZSBkYXRhIGZpbGVzLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkVYVDRfRlNcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZFwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIHJlcGxhY2VzIGEgQlVHX09OIHdpdGggcHJvcGVyIGVycm9yIGhhbmRsaW5nIGluIGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kIHdoZW4gYSBjb25jdXJyZW50IHBhdGggY29udmVydHMgYW4gaW5saW5lIGRhdGEgZmlsZSB0byBibG9jayBzdG9yYWdlLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gZXh0NCB0aGF0IGNhbiBiZSB0cmlnZ2VyZWQgYnkgY29uY3VycmVudCB3cml0ZXMgdG8gaW5saW5lIGRhdGEgZmlsZXMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowwz6xj[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-18 06:22:18 +0000 UTC FinishedAt: 2026-07-18 06:36:47 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "94515f3a7d4256a5062176b7d6ed0471938cd51a", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "EXT4_FS" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "94515f3a7d4256a5062176b7d6ed0471938cd51a", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "EXT4_FS" ], "series_id": "060b4f26-8df1-4c4c-ac98-e65acef8969c" }, "track": "KASAN", "fuzz": { "focus": [ "fs" ], "focus_symbols": [ "ext4_write_inline_data_end" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE4IDA2OjM2PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0VYVDRfRlMmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZCYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCByZXBsYWNlcyBhIEJVR19PTiB3aXRoIHByb3BlciBlcnJvciBoYW5kbGluZyBpbiBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZCB3aGVuIGEgY29uY3VycmVudCBwYXRoIGNvbnZlcnRzIGFuIGlubGluZSBkYXRhIGZpbGUgdG8gYmxvY2sgc3RvcmFnZS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGV4dDQgdGhhdCBjYW4gYmUgdHJpZ2dlcmVkIGJ5IGNvbmN1cnJlbnQgd3JpdGVzIHRvIGlubGluZSBkYXRhIGZpbGVzLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE4IDA2OjM2PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgZGIwYzUwMjRlYjdjMjQ5Nzk5MDYyNzQ1MGUxMzdmODcyZDI1ODY5NVxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBTYXQgSnVsIDE4IDA2OjM2OjI4IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2ZzL2V4dDQvaW5saW5lLmMgYi9mcy9leHQ0L2lubGluZS5jXG5pbmRleCA4MDQ1ZTRmZjI3MGM3Zi4uNTNkNzgzMjM1ZGE5OWIgMTAwNjQ0XG4tLS0gYS9mcy9leHQ0L2lubGluZS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9mcy9leHQ0L2lubGluZS5jXG5AQCAtODEyLDcgJiM0Mzs4MTIsMTQgQEAgaW50IGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbixcbiBcdFx0XHRnb3RvIG91dDtcbiBcdFx0fVxuIFx0XHRleHQ0X3dyaXRlX2xvY2tfeGF0dHIoaW5vZGUsIFx1MDAyNm5vX2V4cGFuZCk7XG4tXHRcdEJVR19PTighZXh0NF9oYXNfaW5saW5lX2RhdGEoaW5vZGUpKTtcbiYjNDM7XHRcdC8qIEZpbGUgbWF5IGhhdmUgYmVlbiBjb252ZXJ0ZWQgdG8gYmxvY2sgc3RvcmFnZSBieSBjb25jdXJyZW50IHBhdGggKi9cbiYjNDM7XHRcdGlmICghZXh0NF9oYXNfaW5saW5lX2RhdGEoaW5vZGUpKSB7XG4mIzQzO1x0XHRcdGV4dDRfd3JpdGVfdW5sb2NrX3hhdHRyKGlub2RlLCBcdTAwMjZub19leHBhbmQpO1xuJiM0MztcdFx0XHRicmVsc2UoaWxvYy5iaCk7XG4mIzQzO1x0XHRcdGZvbGlvX3VubG9jayhmb2xpbyk7XG4mIzQzO1x0XHRcdGZvbGlvX3B1dChmb2xpbyk7XG4mIzQzO1x0XHRcdHJldHVybiAtRUlPO1xuJiM0MztcdFx0fVxuIFxuIFx0XHQvKlxuIFx0XHQgKiBlaS1cdTAwM2VpX2lubGluZV9vZmYgbWF5IGhhdmUgY2hhbmdlZCBzaW5jZVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE4IDA2OjM2PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0VYVDRfRlMmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZCYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCByZXBsYWNlcyBhIEJVR19PTiB3aXRoIHByb3BlciBlcnJvciBoYW5kbGluZyBpbiBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZCB3aGVuIGEgY29uY3VycmVudCBwYXRoIGNvbnZlcnRzIGFuIGlubGluZSBkYXRhIGZpbGUgdG8gYmxvY2sgc3RvcmFnZS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGV4dDQgdGhhdCBjYW4gYmUgdHJpZ2dlcmVkIGJ5IGNvbmN1cnJlbnQgd3JpdGVzIHRvIGlubGluZSBkYXRhIGZpbGVzLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBkYjBjNTAyNGViN2MyNDk3OTkwNjI3NDUwZTEzN2Y4NzJkMjU4Njk1CkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFNhdCBKdWwgMTggMDY6MzY6MjggMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9mcy9leHQ0L2lubGluZS5jIGIvZnMvZXh0NC9pbmxpbmUuYwppbmRleCA4MDQ1ZTRmZjI3MGM3Zi4uNTNkNzgzMjM1ZGE5OWIgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvaW5saW5lLmMKJiM0MzsmIzQzOyYjNDM7IGIvZnMvZXh0NC9pbmxpbmUuYwpAQCAtODEyLDcgJiM0Mzs4MTIsMTQgQEAgaW50IGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwKIAkJCWdvdG8gb3V0OwogCQl9CiAJCWV4dDRfd3JpdGVfbG9ja194YXR0cihpbm9kZSwgJmFtcDtub19leHBhbmQpOwotCQlCVUdfT04oIWV4dDRfaGFzX2lubGluZV9kYXRhKGlub2RlKSk7CiYjNDM7CQkvKiBGaWxlIG1heSBoYXZlIGJlZW4gY29udmVydGVkIHRvIGJsb2NrIHN0b3JhZ2UgYnkgY29uY3VycmVudCBwYXRoICovCiYjNDM7CQlpZiAoIWV4dDRfaGFzX2lubGluZV9kYXRhKGlub2RlKSkgewomIzQzOwkJCWV4dDRfd3JpdGVfdW5sb2NrX3hhdHRyKGlub2RlLCAmYW1wO25vX2V4cGFuZCk7CiYjNDM7CQkJYnJlbHNlKGlsb2MuYmgpOwomIzQzOwkJCWZvbGlvX3VubG9jayhmb2xpbyk7CiYjNDM7CQkJZm9saW9fcHV0KGZvbGlvKTsKJiM0MzsJCQlyZXR1cm4gLUVJTzsKJiM0MzsJCX0KIAogCQkvKgogCQkgKiBlaS0mZ3Q7aV9pbmxpbmVfb2ZmIG1heSBoYXZlIGNoYW5nZWQgc2luY2UKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTggMDY6MzY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTkxNQoJCQkJCQkJb3V0cHV0OiAzOAoJCQkJCQkJdGhvdWdodHM6IDE0MQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIGV4dDQgSW5saW5lIERhdGEgV3JpdGUgRW5kIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciBgZnMvZXh0NC9pbmxpbmUuY2AuIFNlZW1zIGxpa2Ugd2UmIzM5O3JlIGFkZHJlc3NpbmcgYSBwcmV0dHkgY3J1Y2lhbCBpc3N1ZSB3aXRoaW4gdGhlIGV4dDQgaW5saW5lIGRhdGEgaGFuZGxpbmcuIFRoZSBwYXRjaCBzcGVjaWZpY2FsbHkgbW9kaWZpZXMgdGhlIGBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZGAgZnVuY3Rpb24uIFRoZSBrZXkgaGVyZSBpcyB0aGF0IGl0JiMzOTtzIGFsdGVyaW5nIHRoZSBiZWhhdmlvciB3aGVuIGBleHQ0X2hhc19pbmxpbmVfZGF0YShpbm9kZSlgIGlzIGZhbHNlLiBJbnN0ZWFkIG9mIHRoZSBrZXJuZWwganVzdCBjb21wbGV0ZWx5IGhhbHRpbmcgd2l0aCBgQlVHX09OYCwgdGhlIHBhdGNoIGludHJvZHVjZXMgc29tZSBuZXcgbG9naWMgdG8gbWFuYWdlIHRoaXMgc2l0dWF0aW9uLgoKTXkgaW1tZWRpYXRlIHRob3VnaHQgaXMsIHRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZS4gSXQmIzM5O3Mgbm90IGp1c3QgYSByZWZhY3RvcmluZyBvciBvcHRpbWl6YXRpb247IHdlJiMzOTtyZSBmdW5kYW1lbnRhbGx5IGFsdGVyaW5nIGhvdyB0aGUgc3lzdGVtICpiZWhhdmVzKiB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMuIFRoZSBwYXRjaCBkZXNjcmlwdGlvbiBpbmRpY2F0ZXMgdGhpcyBmaXhlcyBhIGNvbmN1cnJlbmN5IGJ1Zy4gQSBjb25jdXJyZW50IHByb2Nlc3MgY291bGQgY29udmVydCBhIGZpbGUgdG8gYmxvY2sgc3RvcmFnZSwgY2F1c2luZyBgZXh0NF9oYXNfaW5saW5lX2RhdGEoaW5vZGUpYCB0byBiZSBmYWxzZSwgcmlnaHQgaW4gdGhlIG1pZGRsZSBvZiB0aGlzIHdyaXRlIG9wZXJhdGlvbiwgcmVzdWx0aW5nIGluIHRoYXQgZmF0YWwgYEJVR19PTmAuIFNvLCB3ZSYjMzk7cmUgbWFraW5nIGl0IG1vcmUgcm9idXN0IGFnYWluc3QgdGhhdCBzY2VuYXJpby4KCkkgd2FudCB0byBkaXZlIGRlZXBlciBhbmQgZXhhbWluZSBgZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmRgIGluIHRoZSBhY3R1YWwgY29kZSBub3cuIEkgbmVlZCB0byB1bmRlcnN0YW5kIGV4YWN0bHkgd2hhdCYjMzk7cyBiZWluZyBkb25lIHdoZW4gdGhlIGlubGluZSBkYXRhIGZsYWcgaXMgY2xlYXJlZC4gV2hhdCBhbHRlcm5hdGl2ZSBsb2dpYyBpcyBpbXBsZW1lbnRlZD8gQXJlIHdlIGhhbmRsaW5nIGRhdGEgbWlncmF0aW9uLCBlcnJvciBjb25kaXRpb25zLCBvciBqdXN0IGdyYWNlZnVsbHkgZXhpdGluZz8gSSBuZWVkIHRvIGFuYWx5emUgaG93IHRoaXMgY2hhbmdlIGFmZmVjdHMgYXRvbWljaXR5IGFuZCBkYXRhIGludGVncml0eSwgcGFydGljdWxhcmx5IGR1cmluZyB0aGF0IHdpbmRvdyB3aGVyZSBhIGNvbnZlcnNpb24gdG8gYmxvY2sgc3RvcmFnZSBjb3VsZCBvY2N1ci4gVGhpcyBpcyBhbiBpbnRlcmVzdGluZyBtb2RpZmljYXRpb24sIGFuZCBJIG5lZWQgdG8gc2VlIGl0IGluIGRldGFpbC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xOCAwNjozNjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2ZzL2V4dDQvaW5saW5lLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZnMvZXh0NC9pbmxpbmUuYz03ODM9aW50IGV4dDRfdHJ5X3RvX3dyaXRlX2lubGluZV9kYXRhKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLFxuLS1cbmZzL2V4dDQvaW5saW5lLmMtNzkzLVxuZnMvZXh0NC9pbmxpbmUuYzo3OTQ6aW50IGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbixcbmZzL2V4dDQvaW5saW5lLmMtNzk1LVx0XHRcdCAgICAgICB1bnNpZ25lZCBjb3BpZWQsIHN0cnVjdCBmb2xpbyAqZm9saW8pXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTggMDY6MzY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjU1NwoJCQkJCQkJb3V0cHV0OiAyOAoJCQkJCQkJdGhvdWdodHM6IDc5CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgTW9kaWZpY2F0aW9uIHRvIGBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZGAqKgoKT2theSwgc28gSSBzZWUgYSBtb2RpZmljYXRpb24gdG8gdGhlIGBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZGAgZnVuY3Rpb24uIFRoYXQgaW1tZWRpYXRlbHkgZmxhZ3MgZXh0NCBhcyB0aGUgcmVsZXZhbnQgZmlsZXN5c3RlbSwgd2hpY2ggbWFrZXMgc2Vuc2UuIEJlZm9yZSBkaXZpbmcgaW50byB0aGUgc3BlY2lmaWNzIG9mICp0aGlzKiBmdW5jdGlvbiwgSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIHN1cnJvdW5kaW5nIGNvbmZpZ3VyYXRpb24gbGFuZHNjYXBlIGZvciBpbmxpbmUgZGF0YSBpbiBleHQ0LiBNeSBpbml0aWFsIHRob3VnaHQgaXMgdGhhdCBpdCYjMzk7cyBnZW5lcmFsbHkgZ292ZXJuZWQgYnkgYENPTkZJR19FWFQ0X0ZTYCwgd2hpY2ggaXMgdGhlIGJhc2UgY29uZmlndXJhdGlvbiBmb3IgZXh0NC4gSG93ZXZlciwgaW5saW5lIGRhdGEgaGFzIHNvbWUgbnVhbmNlIHNvIEkmIzM5O20gc2Vjb25kLWd1ZXNzaW5nIG15c2VsZi4gSXMgdGhlcmUgYSBtb3JlIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gb3B0aW9uLCBwZXJoYXBzIHNvbWV0aGluZyBsaWtlIGBDT05GSUdfRVhUNF9JTkxJTkVfREFUQWAgb3IgYSByZWxhdGVkIGZlYXR1cmUgZmxhZz8gSSYjMzk7bGwgbmVlZCB0byBjb25maXJtLiBJIHNob3VsZCBjaGVjayBgZnMvZXh0NC9LY29uZmlnYCB0byBzZWUgdGhlIGRlcGVuZGVuY2llcyBhbmQgY29uZmlndXJhdGlvbiBvcHRpb25zIGF2YWlsYWJsZS4gVGhhdCYjMzk7cyB0aGUgYmVzdCBwbGFjZSB0byBmaW5kIHRoZSBkZWZpbml0aXZlIGFuc3dlci4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhpcyBiZWZvcmUgcHJvY2VlZGluZy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xOCAwNjozNjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+RXJyb3I6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5ubyBtYXRjaGVzPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2lubGluZSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2ZzL2V4dDQvS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtlcnJvciYjMzQ7OiAmIzM0O25vIG1hdGNoZXMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTggMDY6MzY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjg4MQoJCQkJCQkJb3V0cHV0OiAzNQoJCQkJCQkJdGhvdWdodHM6IDQ5CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBteSBvd24gbWVudGFsIHByb2Nlc3Npbmc6CgoqKkV4dDQgSW5saW5lIERhdGEgQ29uZmlndXJhdGlvbjogQSBRdWljayBDaGVjayoqCgpSaWdodCwgc28gdGhlcmUmIzM5O3Mgbm8gZGVkaWNhdGVkIGNvbmZpZ3VyYXRpb24gc2V0dGluZyBmb3IgaW5saW5lIGRhdGEgd2l0aGluIGV4dDQsIGFzIEkgc3VzcGVjdGVkLiBJdCYjMzk7cyByZWFsbHkganVzdCBhIGZlYXR1cmUgZmxhZyB3aXRoaW4gdGhlIGV4dDQgZmlsZXN5c3RlbSBpdHNlbGYuIFNvLCBlbnN1cmluZyBgRVhUNF9GU2AgaXMgZW5hYmxlZCBpcywgZXNzZW50aWFsbHksIGFsbCBJIG5lZWQgdG8gY2hlY2sgYXQgdGhpcyBwb2ludC4gVGhhdCBzaG91bGQgY292ZXIgdGhlIGJhc2ljcy4KCk5vdywgdG8gZ2V0IGEgaGFuZGxlIG9uIGhvdyB0aGlzIGlzIGFsbCB3b3JraW5nIGluIHByYWN0aWNlLCBJJiMzOTtsbCBxdWlja2x5IG5lZWQgdG8gdmVyaWZ5IHdoZXJlIGBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZGAgaXMgYWN0dWFsbHkgYmVpbmcgY2FsbGVkLiBVbmRlcnN0YW5kaW5nIHRoZSBjYWxsIHBhdGhzIHdpbGwgZ2l2ZSBtZSBhIGJldHRlciB1bmRlcnN0YW5kaW5nIG9mIHRoZSBjb2RlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE4IDA2OjM2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2V4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZnMvZXh0NC8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZnMvZXh0NC9leHQ0Lmg9Mzc0MT1leHRlcm4gaW50IGV4dDRfdHJ5X3RvX3dyaXRlX2lubGluZV9kYXRhKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLFxuLS1cbmZzL2V4dDQvZXh0NC5oLTM3NDQtXHRcdFx0XHRcdCBzdHJ1Y3QgZm9saW8gKipmb2xpb3ApO1xuZnMvZXh0NC9leHQ0Lmg6Mzc0NTppbnQgZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmQoc3RydWN0IGlub2RlICppbm9kZSwgbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLFxuZnMvZXh0NC9leHQ0LmgtMzc0Ni1cdFx0XHQgICAgICAgdW5zaWduZWQgY29waWVkLCBzdHJ1Y3QgZm9saW8gKmZvbGlvKTtcbi0tXG5mcy9leHQ0L2lubGluZS5jPTc4Mz1pbnQgZXh0NF90cnlfdG9fd3JpdGVfaW5saW5lX2RhdGEoc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsXG4tLVxuZnMvZXh0NC9pbmxpbmUuYy03OTMtXG5mcy9leHQ0L2lubGluZS5jOjc5NDppbnQgZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmQoc3RydWN0IGlub2RlICppbm9kZSwgbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLFxuZnMvZXh0NC9pbmxpbmUuYy03OTUtXHRcdFx0ICAgICAgIHVuc2lnbmVkIGNvcGllZCwgc3RydWN0IGZvbGlvICpmb2xpbylcbi0tXG5mcy9leHQ0L2lub2RlLmM9MTQzOT1zdGF0aWMgaW50IGV4dDRfd3JpdGVfZW5kKGNvbnN0IHN0cnVjdCBraW9jYiAqaW9jYixcbi0tXG5mcy9leHQ0L2lub2RlLmMtMTQ1NC1cdCAgICBleHQ0X3Rlc3RfaW5vZGVfc3RhdGUoaW5vZGUsIEVYVDRfU1RBVEVfTUFZX0lOTElORV9EQVRBKSlcbmZzL2V4dDQvaW5vZGUuYzoxNDU1Olx0XHRyZXR1cm4gZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmQoaW5vZGUsIHBvcywgbGVuLCBjb3BpZWQsXG5mcy9leHQ0L2lub2RlLmMtMTQ1Ni1cdFx0XHRcdFx0XHQgIGZvbGlvKTtcbi0tXG5mcy9leHQ0L2lub2RlLmM9MTU0Mz1zdGF0aWMgaW50IGV4dDRfam91cm5hbGxlZF93cml0ZV9lbmQoY29uc3Qgc3RydWN0IGtpb2NiICppb2NiLFxuLS1cbmZzL2V4dDQvaW5vZGUuYy0xNTY0LVx0ICAgIGV4dDRfdGVzdF9pbm9kZV9zdGF0ZShpbm9kZSwgRVhUNF9TVEFURV9NQVlfSU5MSU5FX0RBVEEpKVxuZnMvZXh0NC9pbm9kZS5jOjE1NjU6XHRcdHJldHVybiBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZChpbm9kZSwgcG9zLCBsZW4sIGNvcGllZCxcbmZzL2V4dDQvaW5vZGUuYy0xNTY2LVx0XHRcdFx0XHRcdCAgZm9saW8pO1xuLS1cbmZzL2V4dDQvaW5vZGUuYz0zMjg4PXN0YXRpYyBpbnQgZXh0NF9kYV93cml0ZV9lbmQoY29uc3Qgc3RydWN0IGtpb2NiICppb2NiLFxuLS1cbmZzL2V4dDQvaW5vZGUuYy0zMzA0LVx0ICAgIGV4dDRfaGFzX2lubGluZV9kYXRhKGlub2RlKSlcbmZzL2V4dDQvaW5vZGUuYzozMzA1Olx0XHRyZXR1cm4gZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmQoaW5vZGUsIHBvcywgbGVuLCBjb3BpZWQsXG5mcy9leHQ0L2lub2RlLmMtMzMwNi1cdFx0XHRcdFx0XHQgIGZvbGlvKTtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xOCAwNjozNjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzNzY3CgkJCQkJCQlvdXRwdXQ6IDEwNAoJCQkJCQkJdGhvdWdodHM6IDE4NAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBbmFseXNpcyBvZiBhIFBvdGVudGlhbCBGb2N1cyBmb3IgRnV6emluZyoqCgpPa2F5LCBoZXJlJiMzOTtzIHdoYXQgSSYjMzk7bSB0aGlua2luZy4gV2UmIzM5O3ZlIGdvdCBgZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmRgIOKAkyBhIGZ1bmN0aW9uIHRoYXQmIzM5O3MgY2xlYXJseSBjcml0aWNhbCwgZ2l2ZW4gaXQmIzM5O3MgY2FsbGVkIGZyb20gdGhvc2UgY29yZSB3cml0ZSBmdW5jdGlvbnM6IGBleHQ0X3dyaXRlX2VuZGAsIGBleHQ0X2pvdXJuYWxsZWRfd3JpdGVfZW5kYCwgYW5kIGBleHQ0X2RhX3dyaXRlX2VuZGAuIFRoZXNlIGFyZSB0aGUgd29ya2hvcnNlcyBvZiB3cml0aW5nIGRhdGEgdG8gZXh0NCBmaWxlc3lzdGVtcywgc28gYW55dGhpbmcgaGFwcGVuaW5nIGluICp0aGF0KiBmdW5jdGlvbiBpcyBnb2luZyB0byBiZSBoaWdoLWltcGFjdCwgYW5kIGEgcG90ZW50aWFsIGNob2tlIHBvaW50LiBgZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmRgIGl0c2VsZiwgc2VlbXMgbGlrZSBhIHByZXR0eSBmb2N1c2VkIHN5bWJvbCB0byBzdGFydCB3aXRoLgoKR2l2ZW4gdGhhdCB0aGUgY2hhbmdlIGZvY3VzZXMgb24gYSByYWNlIGNvbmRpdGlvbiBpbnZvbHZpbmcgaW5saW5lIGRhdGEgY29udmVyc2lvbiBkdXJpbmcgY29uY3VycmVudCB3cml0ZXMsIEkmIzM5O20gdGhpbmtpbmcgdGhpcyBpcyBhIHByaW1lIHRhcmdldCBmb3IgZnV6emluZy4gVGhlIHBhdGNoIGlzIGFkZHJlc3NpbmcgYSBwb3RlbnRpYWwgYnVnIGluIGBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZGAgdGhhdCYjMzk7cyBvbmx5IGV4cG9zZWQgdW5kZXIgYSBzcGVjaWZpYyBzZXQgb2YgY2lyY3Vtc3RhbmNlcyDigJMgY29uY3VycmVudCBtb2RpZmljYXRpb24gb2YgdGhlIGZpbGUgYW5kIGNvbnZlcnNpb24gZnJvbSBpbmxpbmUgdG8gYmxvY2sgc3RvcmFnZS4gVGhpcyBpcyBleGFjdGx5IHRoZSBraW5kIG9mIHRoaW5nIGZ1enppbmcgaXMgKmJ1aWx0KiBmb3IhIEZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBleHQ0IGtlcm5lbCB3aXRoIGNvbmN1cnJlbnQgd3JpdGVzIHRvIGlubGluZSBkYXRhIGZpbGVzOyB0aGF0IG1ha2VzIGl0IGEgcmVhbCBoaWdoLXZhbHVlIHRhcmdldC4KClNvLCBsZXQmIzM5O3Mgc2V0IHRoZSBwYXJhbWV0ZXJzOgoKKiAgICoqV29ydGhGdXp6aW5nOiBUcnVlLioqIEFic29sdXRlbHkuCiogICAqKkZvY3VzU3ltYm9sczoqKiBJJiMzOTttIGdvaW5nIHRvIHplcm8gaW4gb24gYGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kYCwgdGhhdCYjMzk7cyB0aGUgaGVhcnQgb2YgdGhpcy4KKiAgICoqRW5hYmxlQ29uZmlnczoqKiBOZWVkIHRvIGVuc3VyZSBgRVhUNF9GU2AgaXMgZW5hYmxlZCwgb2J2aW91c2x5LgoqICAgKipSZWFzb25pbmc6KiogVGhlIHBhdGNoIGZ1bmRhbWVudGFsbHkgY2hhbmdlcyBob3cgYW4gZXJyb3IgY29uZGl0aW9uIGlzIGhhbmRsZWQsIGFuZCBpcyBtb3N0IGxpa2VseSB0byBiZSB0cmlnZ2VyZWQgYnkgY29uY3VycmVudCB3cml0ZXMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE4IDA2OjM2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtFWFQ0X0ZTJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7ZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmQmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggcmVwbGFjZXMgYSBCVUdfT04gd2l0aCBwcm9wZXIgZXJyb3IgaGFuZGxpbmcgaW4gZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmQgd2hlbiBhIGNvbmN1cnJlbnQgcGF0aCBjb252ZXJ0cyBhbiBpbmxpbmUgZGF0YSBmaWxlIHRvIGJsb2NrIHN0b3JhZ2UuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBleHQ0IHRoYXQgY2FuIGJlIHRyaWdnZXJlZCBieSBjb25jdXJyZW50IHdyaXRlcyB0byBpbmxpbmUgZGF0YSBmaWxlcy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7RVhUNF9GUyYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2V4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIHJlcGxhY2VzIGEgQlVHX09OIHdpdGggcHJvcGVyIGVycm9yIGhhbmRsaW5nIGluIGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kIHdoZW4gYSBjb25jdXJyZW50IHBhdGggY29udmVydHMgYW4gaW5saW5lIGRhdGEgZmlsZSB0byBibG9jayBzdG9yYWdlLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gZXh0NCB0aGF0IGNhbiBiZSB0cmlnZ2VyZWQgYnkgY29uY3VycmVudCB3cml0ZXMgdG8gaW5saW5lIGRhdGEgZmlsZXMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0xOFQwNjozNjoyOS4yODQwOTU0MzlaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNTg5NDM5MDk2NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJFWFQ0X0ZTXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmRcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCByZXBsYWNlcyBhIEJVR19PTiB3aXRoIHByb3BlciBlcnJvciBoYW5kbGluZyBpbiBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZCB3aGVuIGEgY29uY3VycmVudCBwYXRoIGNvbnZlcnRzIGFuIGlubGluZSBkYXRhIGZpbGUgdG8gYmxvY2sgc3RvcmFnZS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGV4dDQgdGhhdCBjYW4gYmUgdHJpZ2dlcmVkIGJ5IGNvbmN1cnJlbnQgd3JpdGVzIHRvIGlubGluZSBkYXRhIGZpbGVzLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xOFQwNjozNjoyOS4yODQwOTk5MDlaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjM4OTI5MjYzNiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IGRiMGM1MDI0ZWI3YzI0OTc5OTA2Mjc0NTBlMTM3Zjg3MmQyNTg2OTVcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFNhdCBKdWwgMTggMDY6MzY6MjggMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZnMvZXh0NC9pbmxpbmUuYyBiL2ZzL2V4dDQvaW5saW5lLmNcXG5pbmRleCA4MDQ1ZTRmZjI3MGM3Zi4uNTNkNzgzMjM1ZGE5OWIgMTAwNjQ0XFxuLS0tIGEvZnMvZXh0NC9pbmxpbmUuY1xcbisrKyBiL2ZzL2V4dDQvaW5saW5lLmNcXG5AQCAtODEyLDcgKzgxMiwxNCBAQCBpbnQgZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmQoc3RydWN0IGlub2RlICppbm9kZSwgbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLFxcbiBcXHRcXHRcXHRnb3RvIG91dDtcXG4gXFx0XFx0fVxcbiBcXHRcXHRleHQ0X3dyaXRlX2xvY2tfeGF0dHIoaW5vZGUsIFxcdTAwMjZub19leHBhbmQpO1xcbi1cXHRcXHRCVUdfT04oIWV4dDRfaGFzX2lubGluZV9kYXRhKGlub2RlKSk7XFxuK1xcdFxcdC8qIEZpbGUgbWF5IGhhdmUgYmVlbiBjb252ZXJ0ZWQgdG8gYmxvY2sgc3RvcmFnZSBieSBjb25jdXJyZW50IHBhdGggKi9cXG4rXFx0XFx0aWYgKCFleHQ0X2hhc19pbmxpbmVfZGF0YShpbm9kZSkpIHtcXG4rXFx0XFx0XFx0ZXh0NF93cml0ZV91bmxvY2tfeGF0dHIoaW5vZGUsIFxcdTAwMjZub19leHBhbmQpO1xcbitcXHRcXHRcXHRicmVsc2UoaWxvYy5iaCk7XFxuK1xcdFxcdFxcdGZvbGlvX3VubG9jayhmb2xpbyk7XFxuK1xcdFxcdFxcdGZvbGlvX3B1dChmb2xpbyk7XFxuK1xcdFxcdFxcdHJldHVybiAtRUlPO1xcbitcXHRcXHR9XFxuIFxcbiBcXHRcXHQvKlxcbiBcXHRcXHQgKiBlaS1cXHUwMDNlaV9pbmxpbmVfb2ZmIG1heSBoYXZlIGNoYW5nZWQgc2luY2VcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMThUMDY6MzY6MjkuNjc0MDY2NzA1WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxNTUwNDQxMDk5MSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJFWFQ0X0ZTXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmRcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCByZXBsYWNlcyBhIEJVR19PTiB3aXRoIHByb3BlciBlcnJvciBoYW5kbGluZyBpbiBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZCB3aGVuIGEgY29uY3VycmVudCBwYXRoIGNvbnZlcnRzIGFuIGlubGluZSBkYXRhIGZpbGUgdG8gYmxvY2sgc3RvcmFnZS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGV4dDQgdGhhdCBjYW4gYmUgdHJpZ2dlcmVkIGJ5IGNvbmN1cnJlbnQgd3JpdGVzIHRvIGlubGluZSBkYXRhIGZpbGVzLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IGRiMGM1MDI0ZWI3YzI0OTc5OTA2Mjc0NTBlMTM3Zjg3MmQyNTg2OTVcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgU2F0IEp1bCAxOCAwNjozNjoyOCAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2ZzL2V4dDQvaW5saW5lLmMgYi9mcy9leHQ0L2lubGluZS5jXG5pbmRleCA4MDQ1ZTRmZjI3MGM3Zi4uNTNkNzgzMjM1ZGE5OWIgMTAwNjQ0XG4tLS0gYS9mcy9leHQ0L2lubGluZS5jXG4rKysgYi9mcy9leHQ0L2lubGluZS5jXG5AQCAtODEyLDcgKzgxMiwxNCBAQCBpbnQgZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmQoc3RydWN0IGlub2RlICppbm9kZSwgbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLFxuIFx0XHRcdGdvdG8gb3V0O1xuIFx0XHR9XG4gXHRcdGV4dDRfd3JpdGVfbG9ja194YXR0cihpbm9kZSwgXHUwMDI2bm9fZXhwYW5kKTtcbi1cdFx0QlVHX09OKCFleHQ0X2hhc19pbmxpbmVfZGF0YShpbm9kZSkpO1xuK1x0XHQvKiBGaWxlIG1heSBoYXZlIGJlZW4gY29udmVydGVkIHRvIGJsb2NrIHN0b3JhZ2UgYnkgY29uY3VycmVudCBwYXRoICovXG4rXHRcdGlmICghZXh0NF9oYXNfaW5saW5lX2RhdGEoaW5vZGUpKSB7XG4rXHRcdFx0ZXh0NF93cml0ZV91bmxvY2tfeGF0dHIoaW5vZGUsIFx1MDAyNm5vX2V4cGFuZCk7XG4rXHRcdFx0YnJlbHNlKGlsb2MuYmgpO1xuK1x0XHRcdGZvbGlvX3VubG9jayhmb2xpbyk7XG4rXHRcdFx0Zm9saW9fcHV0KGZvbGlvKTtcbitcdFx0XHRyZXR1cm4gLUVJTztcbitcdFx0fVxuIFxuIFx0XHQvKlxuIFx0XHQgKiBlaS1cdTAwM2VpX2lubGluZV9vZmYgbWF5IGhhdmUgY2hhbmdlZCBzaW5jZVxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMThUMDY6MzY6MjkuNjc0MDY4MDg1WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDMyMzA4MjE5NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIGV4dDQgSW5saW5lIERhdGEgV3JpdGUgRW5kIFBhdGNoKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBmb3IgYGZzL2V4dDQvaW5saW5lLmNgLiBTZWVtcyBsaWtlIHdlJ3JlIGFkZHJlc3NpbmcgYSBwcmV0dHkgY3J1Y2lhbCBpc3N1ZSB3aXRoaW4gdGhlIGV4dDQgaW5saW5lIGRhdGEgaGFuZGxpbmcuIFRoZSBwYXRjaCBzcGVjaWZpY2FsbHkgbW9kaWZpZXMgdGhlIGBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZGAgZnVuY3Rpb24uIFRoZSBrZXkgaGVyZSBpcyB0aGF0IGl0J3MgYWx0ZXJpbmcgdGhlIGJlaGF2aW9yIHdoZW4gYGV4dDRfaGFzX2lubGluZV9kYXRhKGlub2RlKWAgaXMgZmFsc2UuIEluc3RlYWQgb2YgdGhlIGtlcm5lbCBqdXN0IGNvbXBsZXRlbHkgaGFsdGluZyB3aXRoIGBCVUdfT05gLCB0aGUgcGF0Y2ggaW50cm9kdWNlcyBzb21lIG5ldyBsb2dpYyB0byBtYW5hZ2UgdGhpcyBzaXR1YXRpb24uXG5cbk15IGltbWVkaWF0ZSB0aG91Z2h0IGlzLCB0aGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UuIEl0J3Mgbm90IGp1c3QgYSByZWZhY3RvcmluZyBvciBvcHRpbWl6YXRpb247IHdlJ3JlIGZ1bmRhbWVudGFsbHkgYWx0ZXJpbmcgaG93IHRoZSBzeXN0ZW0gKmJlaGF2ZXMqIHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucy4gVGhlIHBhdGNoIGRlc2NyaXB0aW9uIGluZGljYXRlcyB0aGlzIGZpeGVzIGEgY29uY3VycmVuY3kgYnVnLiBBIGNvbmN1cnJlbnQgcHJvY2VzcyBjb3VsZCBjb252ZXJ0IGEgZmlsZSB0byBibG9jayBzdG9yYWdlLCBjYXVzaW5nIGBleHQ0X2hhc19pbmxpbmVfZGF0YShpbm9kZSlgIHRvIGJlIGZhbHNlLCByaWdodCBpbiB0aGUgbWlkZGxlIG9mIHRoaXMgd3JpdGUgb3BlcmF0aW9uLCByZXN1bHRpbmcgaW4gdGhhdCBmYXRhbCBgQlVHX09OYC4gU28sIHdlJ3JlIG1ha2luZyBpdCBtb3JlIHJvYnVzdCBhZ2FpbnN0IHRoYXQgc2NlbmFyaW8uXG5cbkkgd2FudCB0byBkaXZlIGRlZXBlciBhbmQgZXhhbWluZSBgZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmRgIGluIHRoZSBhY3R1YWwgY29kZSBub3cuIEkgbmVlZCB0byB1bmRlcnN0YW5kIGV4YWN0bHkgd2hhdCdzIGJlaW5nIGRvbmUgd2hlbiB0aGUgaW5saW5lIGRhdGEgZmxhZyBpcyBjbGVhcmVkLiBXaGF0IGFsdGVybmF0aXZlIGxvZ2ljIGlzIGltcGxlbWVudGVkPyBBcmUgd2UgaGFuZGxpbmcgZGF0YSBtaWdyYXRpb24sIGVycm9yIGNvbmRpdGlvbnMsIG9yIGp1c3QgZ3JhY2VmdWxseSBleGl0aW5nPyBJIG5lZWQgdG8gYW5hbHl6ZSBob3cgdGhpcyBjaGFuZ2UgYWZmZWN0cyBhdG9taWNpdHkgYW5kIGRhdGEgaW50ZWdyaXR5LCBwYXJ0aWN1bGFybHkgZHVyaW5nIHRoYXQgd2luZG93IHdoZXJlIGEgY29udmVyc2lvbiB0byBibG9jayBzdG9yYWdlIGNvdWxkIG9jY3VyLiBUaGlzIGlzIGFuIGludGVyZXN0aW5nIG1vZGlmaWNhdGlvbiwgYW5kIEkgbmVlZCB0byBzZWUgaXQgaW4gZGV0YWlsLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxOTE1LCJPdXRwdXRUb2tlbnMiOjM4LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTQxLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMThUMDY6MzY6MzMuOTk3MTUxOTgxWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjU4NzA1MDk3LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImZzL2V4dDQvaW5saW5lLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZnMvZXh0NC9pbmxpbmUuYz03ODM9aW50IGV4dDRfdHJ5X3RvX3dyaXRlX2lubGluZV9kYXRhKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLFxcbi0tXFxuZnMvZXh0NC9pbmxpbmUuYy03OTMtXFxuZnMvZXh0NC9pbmxpbmUuYzo3OTQ6aW50IGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbixcXG5mcy9leHQ0L2lubGluZS5jLTc5NS1cXHRcXHRcXHQgICAgICAgdW5zaWduZWQgY29waWVkLCBzdHJ1Y3QgZm9saW8gKmZvbGlvKVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xOFQwNjozNjozNC4wNTU4NjIwNTdaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozMjAxMjUwOTY0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgTW9kaWZpY2F0aW9uIHRvIGBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZGAqKlxuXG5Pa2F5LCBzbyBJIHNlZSBhIG1vZGlmaWNhdGlvbiB0byB0aGUgYGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kYCBmdW5jdGlvbi4gVGhhdCBpbW1lZGlhdGVseSBmbGFncyBleHQ0IGFzIHRoZSByZWxldmFudCBmaWxlc3lzdGVtLCB3aGljaCBtYWtlcyBzZW5zZS4gQmVmb3JlIGRpdmluZyBpbnRvIHRoZSBzcGVjaWZpY3Mgb2YgKnRoaXMqIGZ1bmN0aW9uLCBJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgc3Vycm91bmRpbmcgY29uZmlndXJhdGlvbiBsYW5kc2NhcGUgZm9yIGlubGluZSBkYXRhIGluIGV4dDQuIE15IGluaXRpYWwgdGhvdWdodCBpcyB0aGF0IGl0J3MgZ2VuZXJhbGx5IGdvdmVybmVkIGJ5IGBDT05GSUdfRVhUNF9GU2AsIHdoaWNoIGlzIHRoZSBiYXNlIGNvbmZpZ3VyYXRpb24gZm9yIGV4dDQuIEhvd2V2ZXIsIGlubGluZSBkYXRhIGhhcyBzb21lIG51YW5jZSBzbyBJJ20gc2Vjb25kLWd1ZXNzaW5nIG15c2VsZi4gSXMgdGhlcmUgYSBtb3JlIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gb3B0aW9uLCBwZXJoYXBzIHNvbWV0aGluZyBsaWtlIGBDT05GSUdfRVhUNF9JTkxJTkVfREFUQWAgb3IgYSByZWxhdGVkIGZlYXR1cmUgZmxhZz8gSSdsbCBuZWVkIHRvIGNvbmZpcm0uIEkgc2hvdWxkIGNoZWNrIGBmcy9leHQ0L0tjb25maWdgIHRvIHNlZSB0aGUgZGVwZW5kZW5jaWVzIGFuZCBjb25maWd1cmF0aW9uIG9wdGlvbnMgYXZhaWxhYmxlLiBUaGF0J3MgdGhlIGJlc3QgcGxhY2UgdG8gZmluZCB0aGUgZGVmaW5pdGl2ZSBhbnN3ZXIuIEkgbmVlZCB0byB1bmRlcnN0YW5kIHRoaXMgYmVmb3JlIHByb2NlZWRpbmcuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI1NTcsIk91dHB1dFRva2VucyI6MjgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo3OSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xOFQwNjozNjozNy4yNTcxMTQ3NjFaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTY2NDI2MDYsIkVycm9yIjoibm8gbWF0Y2hlcyIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImlubGluZVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJmcy9leHQ0L0tjb25maWdcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiZXJyb3JcIjogXCJubyBtYXRjaGVzXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE4VDA2OjM2OjM3LjMxMzc2NDI0N1oiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjI3MTQ0MjEyMTQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzLCBmcmFtZWQgYXMgbXkgb3duIG1lbnRhbCBwcm9jZXNzaW5nOlxuXG4qKkV4dDQgSW5saW5lIERhdGEgQ29uZmlndXJhdGlvbjogQSBRdWljayBDaGVjayoqXG5cblJpZ2h0LCBzbyB0aGVyZSdzIG5vIGRlZGljYXRlZCBjb25maWd1cmF0aW9uIHNldHRpbmcgZm9yIGlubGluZSBkYXRhIHdpdGhpbiBleHQ0LCBhcyBJIHN1c3BlY3RlZC4gSXQncyByZWFsbHkganVzdCBhIGZlYXR1cmUgZmxhZyB3aXRoaW4gdGhlIGV4dDQgZmlsZXN5c3RlbSBpdHNlbGYuIFNvLCBlbnN1cmluZyBgRVhUNF9GU2AgaXMgZW5hYmxlZCBpcywgZXNzZW50aWFsbHksIGFsbCBJIG5lZWQgdG8gY2hlY2sgYXQgdGhpcyBwb2ludC4gVGhhdCBzaG91bGQgY292ZXIgdGhlIGJhc2ljcy5cblxuTm93LCB0byBnZXQgYSBoYW5kbGUgb24gaG93IHRoaXMgaXMgYWxsIHdvcmtpbmcgaW4gcHJhY3RpY2UsIEknbGwgcXVpY2tseSBuZWVkIHRvIHZlcmlmeSB3aGVyZSBgZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmRgIGlzIGFjdHVhbGx5IGJlaW5nIGNhbGxlZC4gVW5kZXJzdGFuZGluZyB0aGUgY2FsbCBwYXRocyB3aWxsIGdpdmUgbWUgYSBiZXR0ZXIgdW5kZXJzdGFuZGluZyBvZiB0aGUgY29kZS5cblxuXG4iLCJJbnB1dFRva2VucyI6Mjg4MSwiT3V0cHV0VG9rZW5zIjozNSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjQ5LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE4VDA2OjM2OjQwLjAyODE4Njk0MVoiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1Njg5OTc0NywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJmcy9leHQ0L1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJmcy9leHQ0L2V4dDQuaD0zNzQxPWV4dGVybiBpbnQgZXh0NF90cnlfdG9fd3JpdGVfaW5saW5lX2RhdGEoc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsXFxuLS1cXG5mcy9leHQ0L2V4dDQuaC0zNzQ0LVxcdFxcdFxcdFxcdFxcdCBzdHJ1Y3QgZm9saW8gKipmb2xpb3ApO1xcbmZzL2V4dDQvZXh0NC5oOjM3NDU6aW50IGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbixcXG5mcy9leHQ0L2V4dDQuaC0zNzQ2LVxcdFxcdFxcdCAgICAgICB1bnNpZ25lZCBjb3BpZWQsIHN0cnVjdCBmb2xpbyAqZm9saW8pO1xcbi0tXFxuZnMvZXh0NC9pbmxpbmUuYz03ODM9aW50IGV4dDRfdHJ5X3RvX3dyaXRlX2lubGluZV9kYXRhKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLFxcbi0tXFxuZnMvZXh0NC9pbmxpbmUuYy03OTMtXFxuZnMvZXh0NC9pbmxpbmUuYzo3OTQ6aW50IGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbixcXG5mcy9leHQ0L2lubGluZS5jLTc5NS1cXHRcXHRcXHQgICAgICAgdW5zaWduZWQgY29waWVkLCBzdHJ1Y3QgZm9saW8gKmZvbGlvKVxcbi0tXFxuZnMvZXh0NC9pbm9kZS5jPTE0Mzk9c3RhdGljIGludCBleHQ0X3dyaXRlX2VuZChjb25zdCBzdHJ1Y3Qga2lvY2IgKmlvY2IsXFxuLS1cXG5mcy9leHQ0L2lub2RlLmMtMTQ1NC1cXHQgICAgZXh0NF90ZXN0X2lub2RlX3N0YXRlKGlub2RlLCBFWFQ0X1NUQVRFX01BWV9JTkxJTkVfREFUQSkpXFxuZnMvZXh0NC9pbm9kZS5jOjE0NTU6XFx0XFx0cmV0dXJuIGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kKGlub2RlLCBwb3MsIGxlbiwgY29waWVkLFxcbmZzL2V4dDQvaW5vZGUuYy0xNDU2LVxcdFxcdFxcdFxcdFxcdFxcdCAgZm9saW8pO1xcbi0tXFxuZnMvZXh0NC9pbm9kZS5jPTE1NDM9c3RhdGljIGludCBleHQ0X2pvdXJuYWxsZWRfd3JpdGVfZW5kKGNvbnN0IHN0cnVjdCBraW9jYiAqaW9jYixcXG4tLVxcbmZzL2V4dDQvaW5vZGUuYy0xNTY0LVxcdCAgICBleHQ0X3Rlc3RfaW5vZGVfc3RhdGUoaW5vZGUsIEVYVDRfU1RBVEVfTUFZX0lOTElORV9EQVRBKSlcXG5mcy9leHQ0L2lub2RlLmM6MTU2NTpcXHRcXHRyZXR1cm4gZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmQoaW5vZGUsIHBvcywgbGVuLCBjb3BpZWQsXFxuZnMvZXh0NC9pbm9kZS5jLTE1NjYtXFx0XFx0XFx0XFx0XFx0XFx0ICBmb2xpbyk7XFxuLS1cXG5mcy9leHQ0L2lub2RlLmM9MzI4OD1zdGF0aWMgaW50IGV4dDRfZGFfd3JpdGVfZW5kKGNvbnN0IHN0cnVjdCBraW9jYiAqaW9jYixcXG4tLVxcbmZzL2V4dDQvaW5vZGUuYy0zMzA0LVxcdCAgICBleHQ0X2hhc19pbmxpbmVfZGF0YShpbm9kZSkpXFxuZnMvZXh0NC9pbm9kZS5jOjMzMDU6XFx0XFx0cmV0dXJuIGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kKGlub2RlLCBwb3MsIGxlbiwgY29waWVkLFxcbmZzL2V4dDQvaW5vZGUuYy0zMzA2LVxcdFxcdFxcdFxcdFxcdFxcdCAgZm9saW8pO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xOFQwNjozNjo0MC4wODUwOTA2NjhaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1MDEzMjMyODMzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFuYWx5c2lzIG9mIGEgUG90ZW50aWFsIEZvY3VzIGZvciBGdXp6aW5nKipcblxuT2theSwgaGVyZSdzIHdoYXQgSSdtIHRoaW5raW5nLiBXZSd2ZSBnb3QgYGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kYCDigJMgYSBmdW5jdGlvbiB0aGF0J3MgY2xlYXJseSBjcml0aWNhbCwgZ2l2ZW4gaXQncyBjYWxsZWQgZnJvbSB0aG9zZSBjb3JlIHdyaXRlIGZ1bmN0aW9uczogYGV4dDRfd3JpdGVfZW5kYCwgYGV4dDRfam91cm5hbGxlZF93cml0ZV9lbmRgLCBhbmQgYGV4dDRfZGFfd3JpdGVfZW5kYC4gVGhlc2UgYXJlIHRoZSB3b3JraG9yc2VzIG9mIHdyaXRpbmcgZGF0YSB0byBleHQ0IGZpbGVzeXN0ZW1zLCBzbyBhbnl0aGluZyBoYXBwZW5pbmcgaW4gKnRoYXQqIGZ1bmN0aW9uIGlzIGdvaW5nIHRvIGJlIGhpZ2gtaW1wYWN0LCBhbmQgYSBwb3RlbnRpYWwgY2hva2UgcG9pbnQuIGBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZGAgaXRzZWxmLCBzZWVtcyBsaWtlIGEgcHJldHR5IGZvY3VzZWQgc3ltYm9sIHRvIHN0YXJ0IHdpdGguXG5cbkdpdmVuIHRoYXQgdGhlIGNoYW5nZSBmb2N1c2VzIG9uIGEgcmFjZSBjb25kaXRpb24gaW52b2x2aW5nIGlubGluZSBkYXRhIGNvbnZlcnNpb24gZHVyaW5nIGNvbmN1cnJlbnQgd3JpdGVzLCBJJ20gdGhpbmtpbmcgdGhpcyBpcyBhIHByaW1lIHRhcmdldCBmb3IgZnV6emluZy4gVGhlIHBhdGNoIGlzIGFkZHJlc3NpbmcgYSBwb3RlbnRpYWwgYnVnIGluIGBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZGAgdGhhdCdzIG9ubHkgZXhwb3NlZCB1bmRlciBhIHNwZWNpZmljIHNldCBvZiBjaXJjdW1zdGFuY2VzIOKAkyBjb25jdXJyZW50IG1vZGlmaWNhdGlvbiBvZiB0aGUgZmlsZSBhbmQgY29udmVyc2lvbiBmcm9tIGlubGluZSB0byBibG9jayBzdG9yYWdlLiBUaGlzIGlzIGV4YWN0bHkgdGhlIGtpbmQgb2YgdGhpbmcgZnV6emluZyBpcyAqYnVpbHQqIGZvciEgRnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGV4dDQga2VybmVsIHdpdGggY29uY3VycmVudCB3cml0ZXMgdG8gaW5saW5lIGRhdGEgZmlsZXM7IHRoYXQgbWFrZXMgaXQgYSByZWFsIGhpZ2gtdmFsdWUgdGFyZ2V0LlxuXG5TbywgbGV0J3Mgc2V0IHRoZSBwYXJhbWV0ZXJzOlxuXG4qICAgKipXb3J0aEZ1enppbmc6IFRydWUuKiogQWJzb2x1dGVseS5cbiogICAqKkZvY3VzU3ltYm9sczoqKiBJJ20gZ29pbmcgdG8gemVybyBpbiBvbiBgZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmRgLCB0aGF0J3MgdGhlIGhlYXJ0IG9mIHRoaXMuXG4qICAgKipFbmFibGVDb25maWdzOioqIE5lZWQgdG8gZW5zdXJlIGBFWFQ0X0ZTYCBpcyBlbmFibGVkLCBvYnZpb3VzbHkuXG4qICAgKipSZWFzb25pbmc6KiogVGhlIHBhdGNoIGZ1bmRhbWVudGFsbHkgY2hhbmdlcyBob3cgYW4gZXJyb3IgY29uZGl0aW9uIGlzIGhhbmRsZWQsIGFuZCBpcyBtb3N0IGxpa2VseSB0byBiZSB0cmlnZ2VyZWQgYnkgY29uY3VycmVudCB3cml0ZXMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjM3NjcsIk91dHB1dFRva2VucyI6MTA0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTg0LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE4VDA2OjM2OjQ1LjA5ODMyNTc1MVoiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjgwMTQ4MTQ1LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJFWFQ0X0ZTXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiZXh0NF93cml0ZV9pbmxpbmVfZGF0YV9lbmRcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCByZXBsYWNlcyBhIEJVR19PTiB3aXRoIHByb3BlciBlcnJvciBoYW5kbGluZyBpbiBleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZCB3aGVuIGEgY29uY3VycmVudCBwYXRoIGNvbnZlcnRzIGFuIGlubGluZSBkYXRhIGZpbGUgdG8gYmxvY2sgc3RvcmFnZS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGV4dDQgdGhhdCBjYW4gYmUgdHJpZ2dlcmVkIGJ5IGNvbmN1cnJlbnQgd3JpdGVzIHRvIGlubGluZSBkYXRhIGZpbGVzLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkVYVDRfRlNcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJleHQ0X3dyaXRlX2lubGluZV9kYXRhX2VuZFwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIHJlcGxhY2VzIGEgQlVHX09OIHdpdGggcHJvcGVyIGVycm9yIGhhbmRsaW5nIGluIGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kIHdoZW4gYSBjb25jdXJyZW50IHBhdGggY29udmVydHMgYW4gaW5saW5lIGRhdGEgZmlsZSB0byBibG9jayBzdG9yYWdlLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gZXh0NCB0aGF0IGNhbiBiZSB0cmlnZ2VyZWQgYnkgY29uY3VycmVudCB3cml0ZXMgdG8gaW5saW5lIGRhdGEgZmlsZXMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowwz6xj[1] Phase: Succeeded StartedAt: 2026-07-18 06:36:57 +0000 UTC FinishedAt: 2026-07-18 06:36:57 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwz6xj[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-18 06:36:57 +0000 UTC FinishedAt: 2026-07-18 06:36:57 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwz6xj[2] Phase: Succeeded StartedAt: 2026-07-18 06:36:57 +0000 UTC FinishedAt: 2026-07-18 10:41:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-18 06:36:57 +0000 UTC FinishedAt: 2026-07-18 10:41:37 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-18 06:36:57 +0000 UTC FinishedAt: 2026-07-18 06:37:07 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-18 06:36:57 +0000 UTC FinishedAt: 2026-07-18 06:37:02 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},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-workflowwz6xj/series-workflowwz6xj-convert-artifact-898085681/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-18 06:37:07 +0000 UTC FinishedAt: 2026-07-18 07:04:35 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-18 06:37:07 +0000 UTC FinishedAt: 2026-07-18 07:04:35 +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:*1641069a-b167-452e-96f0-79c34714035f,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-workflowwz6xj/series-workflowwz6xj-convert-artifact-898085681/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": "0a4d6324-ad80-467b-b58b-6eda1d457776", "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-workflowwz6xj/series-workflowwz6xj-build-action-1165775199/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-07-18 06:37:07 +0000 UTC FinishedAt: 2026-07-18 07:04:25 +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:*1641069a-b167-452e-96f0-79c34714035f,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-workflowwz6xj/series-workflowwz6xj-convert-artifact-898085681/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": "0a4d6324-ad80-467b-b58b-6eda1d457776", "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-workflowwz6xj/series-workflowwz6xj-build-action-1165775199/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-18 07:04:35 +0000 UTC FinishedAt: 2026-07-18 07:04:35 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-18 07:04:35 +0000 UTC FinishedAt: 2026-07-18 07:04:35 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-18 07:04:35 +0000 UTC FinishedAt: 2026-07-18 07:04:45 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-18 07:04:35 +0000 UTC FinishedAt: 2026-07-18 07:04:39 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},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-workflowwz6xj/series-workflowwz6xj-convert-artifact-183884932/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-18 07:04:45 +0000 UTC FinishedAt: 2026-07-18 07:06:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-18 07:04:45 +0000 UTC FinishedAt: 2026-07-18 07:06:49 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*0a4d6324-ad80-467b-b58b-6eda1d457776,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-workflowwz6xj/series-workflowwz6xj-build-action-1165775199/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-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-18 07:06:58 +0000 UTC FinishedAt: 2026-07-18 07:06:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-18 07:06:58 +0000 UTC FinishedAt: 2026-07-18 07:06:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-18 07:06:58 +0000 UTC FinishedAt: 2026-07-18 07:36:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-18 07:06:58 +0000 UTC FinishedAt: 2026-07-18 07:36:38 +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:*1641069a-b167-452e-96f0-79c34714035f,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-workflowwz6xj/series-workflowwz6xj-convert-artifact-183884932/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": "c6ac679c-54c9-4a22-922e-9857559231e2", "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-workflowwz6xj/series-workflowwz6xj-build-action-3964393104/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-18 07:06:58 +0000 UTC FinishedAt: 2026-07-18 07:36:28 +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:*1641069a-b167-452e-96f0-79c34714035f,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-workflowwz6xj/series-workflowwz6xj-convert-artifact-183884932/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": "c6ac679c-54c9-4a22-922e-9857559231e2", "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-workflowwz6xj/series-workflowwz6xj-build-action-3964393104/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-18 07:36:38 +0000 UTC FinishedAt: 2026-07-18 07:36:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-18 07:36:38 +0000 UTC FinishedAt: 2026-07-18 07:36:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-18 07:36:38 +0000 UTC FinishedAt: 2026-07-18 07:38:52 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-18 07:36:38 +0000 UTC FinishedAt: 2026-07-18 07:38:42 +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:*c6ac679c-54c9-4a22-922e-9857559231e2,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-workflowwz6xj/series-workflowwz6xj-build-action-3964393104/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-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-18 07:38:52 +0000 UTC FinishedAt: 2026-07-18 10:41:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-18 07:38:52 +0000 UTC FinishedAt: 2026-07-18 10:41:37 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:config,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"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:*0a4d6324-ad80-467b-b58b-6eda1d457776,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*c6ac679c-54c9-4a22-922e-9857559231e2,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-workflowwz6xj/series-workflowwz6xj-build-action-1165775199/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-workflowwz6xj/series-workflowwz6xj-build-action-3964393104/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-18 07:38:52 +0000 UTC FinishedAt: 2026-07-18 07:39:02 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-18 07:38:52 +0000 UTC FinishedAt: 2026-07-18 07:38:56 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"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-workflowwz6xj/series-workflowwz6xj-convert-artifact-986210189/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-18 07:38:52 +0000 UTC FinishedAt: 2026-07-18 07:38:52 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-18 07:38:52 +0000 UTC FinishedAt: 2026-07-18 07:38:52 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-18 07:38:52 +0000 UTC FinishedAt: 2026-07-18 07:38:52 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-18 07:39:02 +0000 UTC FinishedAt: 2026-07-18 10:41:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwz6xj[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ext4_write_inline_data_end"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"94515f3a7d4256a5062176b7d6ed0471938cd51a","config_name":"upstream-apparmor-kasan.config","enable_configs":["EXT4_FS"],"series_id":"060b4f26-8df1-4c4c-ac98-e65acef8969c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-18 07:39:02 +0000 UTC FinishedAt: 2026-07-18 10:41:27 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*0a4d6324-ad80-467b-b58b-6eda1d457776,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*c6ac679c-54c9-4a22-922e-9857559231e2,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-workflowwz6xj/series-workflowwz6xj-build-action-1165775199/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-workflowwz6xj/series-workflowwz6xj-build-action-3964393104/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-workflowwz6xj/series-workflowwz6xj-convert-artifact-986210189/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,}