Name: series-workflowksfcw Phase: Succeeded StartedAt: 2026-07-13 13:49:53 +0000 UTC FinishedAt: 2026-07-13 19:09:15 +0000 UTC Input: nil Output: nil --------- Name: series-workflowksfcw[0] Phase: Succeeded StartedAt: 2026-07-13 13:49:53 +0000 UTC FinishedAt: 2026-07-13 14:08:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowksfcw[0].run-triage Phase: Succeeded StartedAt: 2026-07-13 13:49:53 +0000 UTC FinishedAt: 2026-07-13 14:08:38 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "net", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git", "commit_hash": "3f1f755366687d051174739fb99f7d560202f60b", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "X25" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "net", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git", "commit_hash": "3f1f755366687d051174739fb99f7d560202f60b", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "X25" ], "series_id": "6042ded8-78c6-4d73-b8be-19d61bbe15f5" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "x25_kill_by_neigh" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEzIDE0OjA3PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1gyNSYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3gyNV9raWxsX2J5X25laWdoJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIHVzZS1hZnRlci1mcmVlIG9yIGxpc3QgY29ycnVwdGlvbiBpbiBgeDI1X2tpbGxfYnlfbmVpZ2hgIGJ5IHByb3Blcmx5IGhvbGRpbmcgYSByZWZlcmVuY2UgdG8gdGhlIHNvY2tldCBhbmQgcmVzdGFydGluZyB0aGUgbGlzdCB0cmF2ZXJzYWwgYWZ0ZXIgZHJvcHBpbmcgdGhlIGxvY2suIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgWC4yNSBuZXR3b3JraW5nIHByb3RvY29sIGltcGxlbWVudGF0aW9uLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEzIDE0OjA3PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgZTZmOTE3ZmFkMDMxYmZjYjZhNjg1OGI1YTdhNDMwNjAxNDNhYmY2ZlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBNb24gSnVsIDEzIDE0OjA3OjAxIDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL25ldC94MjUvYWZfeDI1LmMgYi9uZXQveDI1L2FmX3gyNS5jXG5pbmRleCBjMzFkMmFmNWRkMjIzMy4uOGFhZTkyNzNiN2MxNDQgMTAwNjQ0XG4tLS0gYS9uZXQveDI1L2FmX3gyNS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9uZXQveDI1L2FmX3gyNS5jXG5AQCAtMTc2OCwxNSAmIzQzOzE3NjgsMTkgQEAgdm9pZCB4MjVfa2lsbF9ieV9uZWlnaChzdHJ1Y3QgeDI1X25laWdoICpuYilcbiB7XG4gXHRzdHJ1Y3Qgc29jayAqcztcbiBcbiYjNDM7YWdhaW46XG4gXHR3cml0ZV9sb2NrX2JoKFx1MDAyNngyNV9saXN0X2xvY2spO1xuIFxuIFx0c2tfZm9yX2VhY2gocywgXHUwMDI2eDI1X2xpc3QpIHtcbiBcdFx0aWYgKHgyNV9zayhzKS1cdTAwM2VuZWlnaGJvdXIgPT0gbmIpIHtcbiYjNDM7XHRcdFx0c29ja19ob2xkKHMpO1xuIFx0XHRcdHdyaXRlX3VubG9ja19iaChcdTAwMjZ4MjVfbGlzdF9sb2NrKTtcbiBcdFx0XHRsb2NrX3NvY2socyk7XG4tXHRcdFx0eDI1X2Rpc2Nvbm5lY3QocywgRU5FVFVOUkVBQ0gsIDAsIDApO1xuJiM0MztcdFx0XHRpZiAoeDI1X3NrKHMpLVx1MDAzZW5laWdoYm91ciA9PSBuYilcbiYjNDM7XHRcdFx0XHR4MjVfZGlzY29ubmVjdChzLCBFTkVUVU5SRUFDSCwgMCwgMCk7XG4gXHRcdFx0cmVsZWFzZV9zb2NrKHMpO1xuLVx0XHRcdHdyaXRlX2xvY2tfYmgoXHUwMDI2eDI1X2xpc3RfbG9jayk7XG4mIzQzO1x0XHRcdHNvY2tfcHV0KHMpO1xuJiM0MztcdFx0XHRnb3RvIGFnYWluO1xuIFx0XHR9XG4gXHR9XG4gXHR3cml0ZV91bmxvY2tfYmgoXHUwMDI2eDI1X2xpc3RfbG9jayk7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTMgMTQ6MDc8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7WDI1JiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7eDI1X2tpbGxfYnlfbmVpZ2gmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgdXNlLWFmdGVyLWZyZWUgb3IgbGlzdCBjb3JydXB0aW9uIGluIGB4MjVfa2lsbF9ieV9uZWlnaGAgYnkgcHJvcGVybHkgaG9sZGluZyBhIHJlZmVyZW5jZSB0byB0aGUgc29ja2V0IGFuZCByZXN0YXJ0aW5nIHRoZSBsaXN0IHRyYXZlcnNhbCBhZnRlciBkcm9wcGluZyB0aGUgbG9jay4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBYLjI1IG5ldHdvcmtpbmcgcHJvdG9jb2wgaW1wbGVtZW50YXRpb24uJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IGU2ZjkxN2ZhZDAzMWJmY2I2YTY4NThiNWE3YTQzMDYwMTQzYWJmNmYKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgTW9uIEp1bCAxMyAxNDowNzowMSAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL25ldC94MjUvYWZfeDI1LmMgYi9uZXQveDI1L2FmX3gyNS5jCmluZGV4IGMzMWQyYWY1ZGQyMjMzLi44YWFlOTI3M2I3YzE0NCAxMDA2NDQKLS0tIGEvbmV0L3gyNS9hZl94MjUuYwomIzQzOyYjNDM7JiM0MzsgYi9uZXQveDI1L2FmX3gyNS5jCkBAIC0xNzY4LDE1ICYjNDM7MTc2OCwxOSBAQCB2b2lkIHgyNV9raWxsX2J5X25laWdoKHN0cnVjdCB4MjVfbmVpZ2ggKm5iKQogewogCXN0cnVjdCBzb2NrICpzOwogCiYjNDM7YWdhaW46CiAJd3JpdGVfbG9ja19iaCgmYW1wO3gyNV9saXN0X2xvY2spOwogCiAJc2tfZm9yX2VhY2gocywgJmFtcDt4MjVfbGlzdCkgewogCQlpZiAoeDI1X3NrKHMpLSZndDtuZWlnaGJvdXIgPT0gbmIpIHsKJiM0MzsJCQlzb2NrX2hvbGQocyk7CiAJCQl3cml0ZV91bmxvY2tfYmgoJmFtcDt4MjVfbGlzdF9sb2NrKTsKIAkJCWxvY2tfc29jayhzKTsKLQkJCXgyNV9kaXNjb25uZWN0KHMsIEVORVRVTlJFQUNILCAwLCAwKTsKJiM0MzsJCQlpZiAoeDI1X3NrKHMpLSZndDtuZWlnaGJvdXIgPT0gbmIpCiYjNDM7CQkJCXgyNV9kaXNjb25uZWN0KHMsIEVORVRVTlJFQUNILCAwLCAwKTsKIAkJCXJlbGVhc2Vfc29jayhzKTsKLQkJCXdyaXRlX2xvY2tfYmgoJmFtcDt4MjVfbGlzdF9sb2NrKTsKJiM0MzsJCQlzb2NrX3B1dChzKTsKJiM0MzsJCQlnb3RvIGFnYWluOwogCQl9CiAJfQogCXdyaXRlX3VubG9ja19iaCgmYW1wO3gyNV9saXN0X2xvY2spOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMyAxNDowNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMDAwCgkJCQkJCQlvdXRwdXQ6IDM1CgkJCQkJCQl0aG91Z2h0czogMTUxCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgWC4yNSBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTt2ZSBnb3QgdGhpcyBwYXRjaCBoZXJlIHRoYXQmIzM5O3MgdG91Y2hpbmcgYG5ldC94MjUvYWZfeDI1LmNgLiBJdCBsb29rcyBsaWtlIGl0JiMzOTtzIHNwZWNpZmljYWxseSBmb2N1c2VkIG9uIHRoZSBgeDI1X2tpbGxfYnlfbmVpZ2hgIGZ1bmN0aW9uLiBBaCwgSSBzZWUsIGl0JiMzOTtzIGFkZHJlc3NpbmcgYSBwb3RlbnRpYWwgY29uY3VycmVuY3kgaXNzdWUgd2l0aCB0aGF0IGB4MjVfbGlzdGAuIFRoaXMgaXMgYSBjbGFzc2ljIHBhdHRlcm4g4oCTIHRyeWluZyB0byBpdGVyYXRlIG92ZXIgYSBsaXN0IHdoaWxlIGFsc28gcG90ZW50aWFsbHkgcmVsZWFzaW5nIGFuZCByZWFjcXVpcmluZyBhIGxvY2sgb24gaXQuIFNwZWNpZmljYWxseSwgaXQgc2VlbXMgbGlrZSB0aGUgb3JpZ2luYWwgY29kZSBjb3VsZCBsZWFkIHRvIGEgdXNlLWFmdGVyLWZyZWUgb3IgY29ycnVwdGlvbiBpZiB0aGUgbG9jayB3YXMgZHJvcHBlZCBkdXJpbmcgdGhlIGxpc3QgdHJhdmVyc2FsLgoKU21hcnQgbW92ZSDigJMgdGhleSYjMzk7cmUgdXNpbmcgYHNvY2tfaG9sZChzKWAgdG8gYnVtcCB0aGUgcmVmZXJlbmNlIGNvdW50IGJlZm9yZSBkcm9wcGluZyB0aGUgbG9jaywgYW5kIHRoZW4gYHNvY2tfcHV0KHMpYCBhZnRlciBwcm9jZXNzaW5nIHRoZSBzb2NrZXQuIFRoZSBgZ290byBhZ2FpbmAgY29uc3RydWN0IGlzIGEgc3RhbmRhcmQgYXBwcm9hY2ggdG8gcmUtaXRlcmF0ZSBvbmNlIHRoZSBsb2NrIGhhcyBiZWVuIHJlYWNxdWlyZWQsIGVuc3VyaW5nIHRoZXkgZG9uJiMzOTt0IG1pc3MgYW55IGVudHJpZXMgYW5kIHRoYXQgdGhlIGxpc3QgaXMgY29uc2lzdGVudC4gSXQmIzM5O3MgYSBjbGVhbiBhbmQgZWZmaWNpZW50IHdheSB0byBoYW5kbGUgdGhpcyBraW5kIG9mIHJhY2UgY29uZGl0aW9uLCB3aGljaCBpcyBjZXJ0YWlubHkgdGhlIHJpZ2h0IGFwcHJvYWNoIGhlcmUuIFRpbWUgdG8gZGlnIGluIGFuZCB2ZXJpZnkgdGhlIGNvZGUmIzM5O3MgbG9naWMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTMgMTQ6MDc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7eDI1X2tpbGxfYnlfbmVpZ2gmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtuZXQveDI1LyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQveDI1L2FmX3gyNS5jPTE3NjM9c3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9jayB4MjVfZGV2X25vdGlmaWVyID0ge1xuLS1cbm5ldC94MjUvYWZfeDI1LmMtMTc2Ni1cbm5ldC94MjUvYWZfeDI1LmM6MTc2Nzp2b2lkIHgyNV9raWxsX2J5X25laWdoKHN0cnVjdCB4MjVfbmVpZ2ggKm5iKVxubmV0L3gyNS9hZl94MjUuYy0xNzY4LXtcbi0tXG5uZXQveDI1L3gyNV9saW5rLmM9NjQ9dm9pZCB4MjVfbGlua19jb250cm9sKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCB4MjVfbmVpZ2ggKm5iLFxuLS1cbm5ldC94MjUveDI1X2xpbmsuYy04NC1cdFx0XHQvKiBjbGVhciBleGlzdGluZyB2aXJ0dWFsIGNhbGxzICovXG5uZXQveDI1L3gyNV9saW5rLmM6ODU6XHRcdFx0eDI1X2tpbGxfYnlfbmVpZ2gobmIpO1xubmV0L3gyNS94MjVfbGluay5jLTg2LVxuLS1cbm5ldC94MjUveDI1X2xpbmsuYy05OS1cdFx0XHQvKiBjbGVhciBleGlzdGluZyB2aXJ0dWFsIGNhbGxzICovXG5uZXQveDI1L3gyNV9saW5rLmM6MTAwOlx0XHRcdHgyNV9raWxsX2J5X25laWdoKG5iKTtcbm5ldC94MjUveDI1X2xpbmsuYy0xMDEtXG4tLVxubmV0L3gyNS94MjVfbGluay5jPTI1MD12b2lkIHgyNV9saW5rX3Rlcm1pbmF0ZWQoc3RydWN0IHgyNV9uZWlnaCAqbmIpXG4tLVxubmV0L3gyNS94MjVfbGluay5jLTI1Ni1cdC8qIE91dCBvZiBvcmRlcjogY2xlYXIgZXhpc3RpbmcgdmlydHVhbCBjYWxscyAoWC4yNSAwMy85MyA0LjYuMykgKi9cbm5ldC94MjUveDI1X2xpbmsuYzoyNTc6XHR4MjVfa2lsbF9ieV9uZWlnaChuYik7XG5uZXQveDI1L3gyNV9saW5rLmMtMjU4LX1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMyAxNDowNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyOTA1CgkJCQkJCQlvdXRwdXQ6IDMwCgkJCQkJCQl0aG91Z2h0czogMTIKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZSwgcHJlc2VudGVkIGluIHRoZSBmaXJzdCBwZXJzb246CgoqKk5hdmlnYXRpbmcgdGhlIEtjb25maWcgZm9yIFgyNSoqCgpBbHJpZ2h0LCBzbyB0aGUgdGFzayBhdCBoYW5kIGlzIHRvIGxvY2F0ZSB0aGUgS2NvbmZpZyBjb25maWd1cmF0aW9uIGZpbGUgc3BlY2lmaWNhbGx5IGZvciBYMjUuIEdpdmVuIG15IGJhY2tncm91bmQsIEkgYWxyZWFkeSBoYXZlIGEgcHJldHR5IGdvb2QgaWRlYSBvZiB3aGVyZSB0byBiZWdpbiB0aGUgc2VhcmNoIHdpdGhpbiB0aGUgdHlwaWNhbCBrZXJuZWwgc291cmNlIHRyZWUuIE15IG1lbnRhbCBtYXAgaXMgYWxyZWFkeSBmb3JtaW5nIC0gSSBuZWVkIHRvIHBpbnBvaW50IHRoZSBhcHByb3ByaWF0ZSBkaXJlY3RvcnksIHdoaWNoIGxpa2VseSBhbGlnbnMgd2l0aCB0aGUgbmV0d29ya2luZyBzdWJzeXN0ZW0gb3IsIG1vcmUgc3BlY2lmaWNhbGx5LCB0aGUgcmVsZXZhbnQgZGV2aWNlIGRyaXZlciBhcmVhLCBjb25zaWRlcmluZyB0aGF0IFgyNSBpcyBhIHBhY2tldCBzd2l0Y2hpbmcgcHJvdG9jb2wuIEkga25vdyB0aGF0IGlmIFgyNSBpcyBhY3RpdmVseSBzdXBwb3J0ZWQgd2l0aGluIHRoZSBjdXJyZW50IGtlcm5lbCB2ZXJzaW9uLCB0aGVuIHRoZXJlJiMzOTtzIGFsbW9zdCBjZXJ0YWlubHkgYSBLY29uZmlnIGZpbGUgaW52b2x2ZWQuIE15IHllYXJzIG9mIGV4cGVyaWVuY2UgaGF2ZSB0YXVnaHQgbWUgdGhhdCBpdCYjMzk7cyB0aGUgZ2F0ZWtlZXBlciBmb3IgbW9kdWxlIGVuYWJsaW5nLCBhbmQgcHJvdmlkZXMgdGhlIG1lY2hhbmlzbSBmb3IgdXNlci1sZXZlbCBjb250cm9sLiBJJiMzOTttIHRoaW5raW5nIEkmIzM5O2xsIG5lZWQgdG8gZHJpbGwgZG93biB0aHJvdWdoIGxpa2VseSBjYW5kaWRhdGVzLCBsb29raW5nIGZvciByZWxhdGVkIG1vZHVsZSBkb2N1bWVudGF0aW9uLCBvciBtYXliZSBjcm9zcy1yZWZlcmVuY2VzIHdpdGggb3RoZXIgbmV0d29yay1yZWxhdGVkIEtjb25maWcgZmlsZXMuIFRoZSBzdHJ1Y3R1cmUgb2YgdGhlIGJ1aWxkIHN5c3RlbSBkaWN0YXRlcyB0aGF0IHJlbGF0ZWQgZmlsZXMgYXJlIHVzdWFsbHkgY2xvc2UgdG9nZXRoZXIsIHNvIHRoYXQgbWFrZXMgdGhlIHByb2Nlc3MgbXVjaCBtb3JlIGVmZmljaWVudC4gSSYjMzk7bSBtZW50YWxseSBwYXJzaW5nIHRoZSBkaXJlY3Rvcnkgc3RydWN0dXJlLCBhbmQgSSYjMzk7bGwga2VlcCB0aGUgbW9kdWxlIG5hbWVzIGluIG1pbmQgdG8gc2VhcmNoIGZvciBwb3RlbnRpYWwgbW9kdWxlIGluY2x1c2lvbiBwYXRocyBhbmQgZGVwZW5kZW5jaWVzLiBJIG1heSBldmVuIG5lZWQgdG8gZW1wbG95IHNvbWUgJiMzOTtmaW5kJiMzOTsgY29tbWFuZHMgdG8gc3BlZWQgdXAgdGhlIHByb2Nlc3MgaWYgSSBoaXQgYW55IHJvYWRibG9ja3MuIE9uY2UgSSBmaW5kIGl0LCBJJiMzOTtsbCByZXZpZXcgaXRzIGNvbnRlbnRzIHRvIHVuZGVyc3RhbmQgdGhlIGNvbmZpZ3VyYWJsZSBvcHRpb25zIGFuZCBkZXBlbmRlbmNpZXMgZm9yIFgyNSB3aXRoaW4gdGhpcyBrZXJuZWwmIzM5O3MgZW52aXJvbm1lbnQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTMgMTQ6MDc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y29uZmlnIFgyNSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC94MjUvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O25ldC94MjUvS2NvbmZpZy01LVxubmV0L3gyNS9LY29uZmlnOjY6Y29uZmlnIFgyNVxubmV0L3gyNS9LY29uZmlnLTctXHR0cmlzdGF0ZSBcJiMzNDtDQ0lUVCBYLjI1IFBhY2tldCBMYXllclwmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEzIDE0OjA3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMzMzQKCQkJCQkJCW91dHB1dDogMzEKCQkJCQkJCXRob3VnaHRzOiA0NAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipGdXp6aW5nIHRoZSBgeDI1X2tpbGxfYnlfbmVpZ2hgIEZ1bmN0aW9uIFVuZGVyIHRoZSBYMjUgQ29uZmlnKioKCk9rYXksIHNvIHRoZSBjb25maWcgaW4gcGxheSBoZXJlIGlzIGBYMjVgLiBBbmQgdGhlIGZ1bmN0aW9uIG9mIGludGVyZXN0IGlzIGB4MjVfa2lsbF9ieV9uZWlnaGAuIEdpdmVuIG15IHVuZGVyc3RhbmRpbmcgb2YgdGhpcyBzeXN0ZW0sIGFuZCBrbm93aW5nIHRoYXQgd2UmIzM5O3JlIGRlYWxpbmcgd2l0aCBgWDI1YCwgaXQgaW1tZWRpYXRlbHkganVtcHMgb3V0IGFzIGEgcHJpbWUgY2FuZGlkYXRlIGZvciBmdXp6aW5nLiBUaGVyZSYjMzk7cyBhbG1vc3QgYWx3YXlzIHNvbWV0aGluZyBpbnRlcmVzdGluZyB0byB1bmNvdmVyIGluIHRoaXMgYXJlYS4KCkJlZm9yZSBJIGdldCB0b28gZGVlcCBpbnRvIHNldHRpbmcgdXAgdGhlIGZ1enppbmcgY2FtcGFpZ24sIHRob3VnaCwgaXQmIzM5O3Mgd29ydGggYSBxdWljayBzY2FuLiBJIG5lZWQgdG8gbWFrZSBzdXJlIEkgaGF2ZW4mIzM5O3QgbWlzc2VkIGFueSBvdGhlciBjb25maWd1cmF0aW9ucyB0aGF0IG1pZ2h0IGFsc28gYmUgcmVsZXZhbnQsIG9yIHBvdGVudGlhbGx5IGluZmx1ZW5jZSB0aGlzIHBhcnRpY3VsYXIgZnVuY3Rpb24mIzM5O3MgYmVoYXZpb3IgaW4gc3VidGxlIHdheXMuIEdvdHRhIGNvdmVyIGFsbCB0aGUgYmFzZXMgdG8gYXZvaWQgbWlzc2luZyBhbnl0aGluZy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMyAxNDowNzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+RXJyb3I6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5ubyBtYXRjaGVzPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2RlcGVuZHMgb24gWDI1JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L3gyNS8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7ZXJyb3ImIzM0OzogJiMzNDtubyBtYXRjaGVzJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEzIDE0OjA3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDM1OTEKCQkJCQkJCW91dHB1dDogMzUKCQkJCQkJCXRob3VnaHRzOiAxNAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSB0aG91Z2h0IHByb2Nlc3MsIHN1bW1hcml6ZWQgYXMgaWYgSSB3ZXJlIGNvbnNpZGVyaW5nIHRoZSBnaXZlbiBwcm9tcHQ6CgoqKkFuYWx5emluZyB0aGUgQ29uZmlndXJhdGlvbiBMYW5kc2NhcGUqKgoKT2theSwgc28gdGhlIHByb21wdCBpcyBhc2tpbmcgbWUgdG8gc3RhcnQgYnkgZXhhbWluaW5nIGBuZXQveDI1L0tjb25maWdgLiBDbGVhcmx5LCB0aGlzIGlzIHRoZSBjb25maWd1cmF0aW9uIGZpbGUgZm9yIHRoZSBYLjI1IG5ldHdvcmtpbmcgcHJvdG9jb2wgd2l0aGluIHdoYXRldmVyIHN5c3RlbSB3ZSYjMzk7cmUgZGVhbGluZyB3aXRoIOKAkyBsaWtlbHkgYSBMaW51eCBrZXJuZWwgb3Igc2ltaWxhci4gTXkgaW5zdGluY3QgaXMgdGhhdCB0aGUgcHJvbXB0IHdhbnRzIG1lIHRvIGNvbnNpZGVyIGhvdyB0byBzZXQgdGhpcyB1cC4gVGhpcyBwcm9iYWJseSBpbnZvbHZlcyBlbmFibGluZyBvciBkaXNhYmxpbmcgdmFyaW91cyBmZWF0dXJlcywgc2V0dGluZyBkZWZhdWx0IHZhbHVlcyBmb3IgcGFyYW1ldGVycywgb3IgZGVmaW5pbmcgZGVwZW5kZW5jaWVzIG9uIG90aGVyIG1vZHVsZXMgb3IgaGFyZHdhcmUuIFNvLCBJIG5lZWQgdG8gdW5kZXJzdGFuZCB3aGF0IHRoaXMgY29uZmlndXJhdGlvbiBmaWxlICpkb2VzKiBhdCBhIGhpZ2ggbGV2ZWwuIElzIGl0IHBhcnQgb2YgdGhlIHByb2plY3Qgb2YgaW50ZXJlc3Q/CgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEzIDE0OjA3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+cmVhZC1maWxlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtGaWxlJiMzNDs6ICYjMzQ7bmV0L3gyNS9LY29uZmlnJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogMSwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiAxMDAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7ICAgMTpcdCMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxuICAgMjpcdCNcbiAgIDM6XHQjIENDSVRUIFguMjUgUGFja2V0IExheWVyXG4gICA0Olx0I1xuICAgNTpcdFxuICAgNjpcdGNvbmZpZyBYMjVcbiAgIDc6XHRcdHRyaXN0YXRlIFwmIzM0O0NDSVRUIFguMjUgUGFja2V0IExheWVyXCYjMzQ7XG4gICA4Olx0XHRoZWxwXG4gICA5Olx0XHQgIFguMjUgaXMgYSBzZXQgb2Ygc3RhbmRhcmRpemVkIG5ldHdvcmsgcHJvdG9jb2xzLCBzaW1pbGFyIGluIHNjb3BlIHRvXG4gIDEwOlx0XHQgIGZyYW1lIHJlbGF5OyB0aGUgb25lIHBoeXNpY2FsIGxpbmUgZnJvbSB5b3VyIGJveCB0byB0aGUgWC4yNSBuZXR3b3JrXG4gIDExOlx0XHQgIGVudHJ5IHBvaW50IGNhbiBjYXJyeSBzZXZlcmFsIGxvZ2ljYWwgcG9pbnQtdG8tcG9pbnQgY29ubmVjdGlvbnNcbiAgMTI6XHRcdCAgKGNhbGxlZCBcJiMzNDt2aXJ0dWFsIGNpcmN1aXRzXCYjMzQ7KSB0byBvdGhlciBjb21wdXRlcnMgY29ubmVjdGVkIHRvIHRoZSBYLjI1XG4gIDEzOlx0XHQgIG5ldHdvcmsuIEdvdmVybm1lbnRzLCBiYW5rcywgYW5kIG90aGVyIG9yZ2FuaXphdGlvbnMgdGVuZCB0byB1c2UgaXRcbiAgMTQ6XHRcdCAgdG8gY29ubmVjdCB0byBlYWNoIG90aGVyIG9yIHRvIGZvcm0gV2lkZSBBcmVhIE5ldHdvcmtzIChXQU5zKS4gTWFueVxuICAxNTpcdFx0ICBjb3VudHJpZXMgaGF2ZSBwdWJsaWMgWC4yNSBuZXR3b3Jrcy4gWC4yNSBjb25zaXN0cyBvZiB0d29cbiAgMTY6XHRcdCAgcHJvdG9jb2xzOiB0aGUgaGlnaGVyIGxldmVsIFBhY2tldCBMYXllciBQcm90b2NvbCAoUExQKSAoc2F5IFkgaGVyZVxuICAxNzpcdFx0ICBpZiB5b3Ugd2FudCB0aGF0KSBhbmQgdGhlIGxvd2VyIGxldmVsIGRhdGEgbGluayBsYXllciBwcm90b2NvbCBMQVBCXG4gIDE4Olx0XHQgIChzYXkgWSB0byBcJiMzNDtMQVBCIERhdGEgTGluayBEcml2ZXJcJiMzNDsgYmVsb3cgaWYgeW91IHdhbnQgdGhhdCkuXG4gIDE5Olx0XG4gIDIwOlx0XHQgIEluZm9ybWF0aW9uIGFib3V0IFguMjUgZm9yIExpbnV4IGlzIGNvbnRhaW5lZCBpbiB0aGUgZmlsZXNcbiAgMjE6XHRcdCAgXHUwMDNjZmlsZTpEb2N1bWVudGF0aW9uL25ldHdvcmtpbmcveDI1LnJzdFx1MDAzZSBhbmRcbiAgMjI6XHRcdCAgXHUwMDNjZmlsZTpEb2N1bWVudGF0aW9uL25ldHdvcmtpbmcveDI1LWlmYWNlLnJzdFx1MDAzZS5cbiAgMjM6XHRcbiAgMjQ6XHRcdCAgT25lIGNvbm5lY3RzIHRvIGFuIFguMjUgbmV0d29yayBlaXRoZXIgd2l0aCBhIGRlZGljYXRlZCBuZXR3b3JrIGNhcmRcbiAgMjU6XHRcdCAgdXNpbmcgdGhlIFguMjEgcHJvdG9jb2wgKG5vdCB5ZXQgc3VwcG9ydGVkIGJ5IExpbnV4KSBvciBvbmUgY2FuIGRvXG4gIDI2Olx0XHQgIFguMjUgb3ZlciBhIHN0YW5kYXJkIHRlbGVwaG9uZSBsaW5lIHVzaW5nIGFuIG9yZGluYXJ5IG1vZGVtIChzYXkgWVxuICAyNzpcdFx0ICB0byBcJiMzNDtYLjI1IGFzeW5jIGRyaXZlclwmIzM0OyBiZWxvdykgb3Igb3ZlciBFdGhlcm5ldCB1c2luZyBhbiBvcmRpbmFyeVxuICAyODpcdFx0ICBFdGhlcm5ldCBjYXJkIGFuZCB0aGUgTEFQQiBvdmVyIEV0aGVybmV0IChzYXkgWSB0byBcJiMzNDtMQVBCIERhdGEgTGlua1xuICAyOTpcdFx0ICBEcml2ZXJcJiMzNDsgYW5kIFwmIzM0O0xBUEIgb3ZlciBFdGhlcm5ldCBkcml2ZXJcJiMzNDsgYmVsb3cpLlxuICAzMDpcdFxuICAzMTpcdFx0ICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUgbW9kdWxlXG4gIDMyOlx0XHQgIHdpbGwgYmUgY2FsbGVkIHgyNS4gSWYgdW5zdXJlLCBzYXkgTi5cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTMgMTQ6MDc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDM2NgoJCQkJCQkJb3V0cHV0OiAxMDUKCQkJCQkJCXRob3VnaHRzOiA1NQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgbGV0JiMzOTtzIGJyZWFrIHRoaXMgZG93bi4KCioqQW5hbHl6aW5nIHRoZSBgeDI1X2tpbGxfYnlfbmVpZ2hgIEZ1bmN0aW9uKioKCkFscmlnaHQsIHNvIHRoZSB0YXNrIGF0IGhhbmQgc2VlbXMgdG8gaW52b2x2ZSBmdW5jdGlvbiBgeDI1X2tpbGxfYnlfbmVpZ2hgLCBhbmQgaXQmIzM5O3MgcmVsYXRlZCB0byBzb21ldGhpbmcgbGFiZWxlZCBgWDI1YCwgd2hpY2ggSSYjMzk7bSBhc3N1bWluZyBpcyB0aGUgY29uZmlndXJhdGlvbiBjb250ZXh0LiBNeSBpbml0aWFsIGFzc2Vzc21lbnQgaXMgdGhhdCB0aGlzIGlzIGxpa2VseSBhIGNvbmZpZ3VyYXRpb24gc2V0dGluZyB0aGF0JiMzOTtzIGludm9sdmVkLiBOb3csIHRoZSBrZXkgaXMgdG8gZGV0ZXJtaW5lIGl0cyBleGVjdXRpb24gcHJvZmlsZS4gSXMgdGhpcyBhIHBlcmZvcm1hbmNlLWNyaXRpY2FsIHNlY3Rpb24gb2YgdGhlIGNvZGU/IEdpdmVuIHRoZSBmdW5jdGlvbiBuYW1lLCBteSBwcmVsaW1pbmFyeSB0aG91Z2h0IGlzIHRoYXQgaXQmIzM5O3MgcHJvYmFibHkgdHJpZ2dlcmVkIHdoZW4gYSBuZWlnaGJvciBpcyByZW1vdmVkIG9yIGEgbGluayBpcyB0ZXJtaW5hdGVkLiBUaGF0IGNlcnRhaW5seSBpc24mIzM5O3QgYSAqaG90IHBhdGgqIGluIHRoZSB0cmFkaXRpb25hbCBzZW5zZSwgc28gaXQgaXNuJiMzOTt0IGFuIGV2ZXJ5ZGF5IG9jY3VycmVuY2UuIE5vdyB0aGF0IEkgaGF2ZSBhIGJldHRlciB1bmRlcnN0YW5kaW5nIG9mIHRoZSBjb250ZXh0LCBsZXQmIzM5O3Mgc3RhcnQgd2l0aCBzZXR0aW5nIHRoZSByZXN1bHRzIGFuZCBtb3Zpbmcgb24uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEzIDE0OjA3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtYMjUmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDt4MjVfa2lsbF9ieV9uZWlnaCYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIHBvdGVudGlhbCB1c2UtYWZ0ZXItZnJlZSBvciBsaXN0IGNvcnJ1cHRpb24gaW4gYHgyNV9raWxsX2J5X25laWdoYCBieSBwcm9wZXJseSBob2xkaW5nIGEgcmVmZXJlbmNlIHRvIHRoZSBzb2NrZXQgYW5kIHJlc3RhcnRpbmcgdGhlIGxpc3QgdHJhdmVyc2FsIGFmdGVyIGRyb3BwaW5nIHRoZSBsb2NrLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIFguMjUgbmV0d29ya2luZyBwcm90b2NvbCBpbXBsZW1lbnRhdGlvbi4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7WDI1JiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7eDI1X2tpbGxfYnlfbmVpZ2gmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgdXNlLWFmdGVyLWZyZWUgb3IgbGlzdCBjb3JydXB0aW9uIGluIGB4MjVfa2lsbF9ieV9uZWlnaGAgYnkgcHJvcGVybHkgaG9sZGluZyBhIHJlZmVyZW5jZSB0byB0aGUgc29ja2V0IGFuZCByZXN0YXJ0aW5nIHRoZSBsaXN0IHRyYXZlcnNhbCBhZnRlciBkcm9wcGluZyB0aGUgbG9jay4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBYLjI1IG5ldHdvcmtpbmcgcHJvdG9jb2wgaW1wbGVtZW50YXRpb24uJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0xM1QxNDowNzowMi41OTkyNjI2OVoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIyODAxNzQzNjU4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIlgyNVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIngyNV9raWxsX2J5X25laWdoXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgdXNlLWFmdGVyLWZyZWUgb3IgbGlzdCBjb3JydXB0aW9uIGluIGB4MjVfa2lsbF9ieV9uZWlnaGAgYnkgcHJvcGVybHkgaG9sZGluZyBhIHJlZmVyZW5jZSB0byB0aGUgc29ja2V0IGFuZCByZXN0YXJ0aW5nIHRoZSBsaXN0IHRyYXZlcnNhbCBhZnRlciBkcm9wcGluZyB0aGUgbG9jay4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBYLjI1IG5ldHdvcmtpbmcgcHJvdG9jb2wgaW1wbGVtZW50YXRpb24uXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEzVDE0OjA3OjAyLjU5OTI2ODQyWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0MDk5NjM3NDAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCBlNmY5MTdmYWQwMzFiZmNiNmE2ODU4YjVhN2E0MzA2MDE0M2FiZjZmXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBNb24gSnVsIDEzIDE0OjA3OjAxIDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL25ldC94MjUvYWZfeDI1LmMgYi9uZXQveDI1L2FmX3gyNS5jXFxuaW5kZXggYzMxZDJhZjVkZDIyMzMuLjhhYWU5MjczYjdjMTQ0IDEwMDY0NFxcbi0tLSBhL25ldC94MjUvYWZfeDI1LmNcXG4rKysgYi9uZXQveDI1L2FmX3gyNS5jXFxuQEAgLTE3NjgsMTUgKzE3NjgsMTkgQEAgdm9pZCB4MjVfa2lsbF9ieV9uZWlnaChzdHJ1Y3QgeDI1X25laWdoICpuYilcXG4ge1xcbiBcXHRzdHJ1Y3Qgc29jayAqcztcXG4gXFxuK2FnYWluOlxcbiBcXHR3cml0ZV9sb2NrX2JoKFxcdTAwMjZ4MjVfbGlzdF9sb2NrKTtcXG4gXFxuIFxcdHNrX2Zvcl9lYWNoKHMsIFxcdTAwMjZ4MjVfbGlzdCkge1xcbiBcXHRcXHRpZiAoeDI1X3NrKHMpLVxcdTAwM2VuZWlnaGJvdXIgPT0gbmIpIHtcXG4rXFx0XFx0XFx0c29ja19ob2xkKHMpO1xcbiBcXHRcXHRcXHR3cml0ZV91bmxvY2tfYmgoXFx1MDAyNngyNV9saXN0X2xvY2spO1xcbiBcXHRcXHRcXHRsb2NrX3NvY2socyk7XFxuLVxcdFxcdFxcdHgyNV9kaXNjb25uZWN0KHMsIEVORVRVTlJFQUNILCAwLCAwKTtcXG4rXFx0XFx0XFx0aWYgKHgyNV9zayhzKS1cXHUwMDNlbmVpZ2hib3VyID09IG5iKVxcbitcXHRcXHRcXHRcXHR4MjVfZGlzY29ubmVjdChzLCBFTkVUVU5SRUFDSCwgMCwgMCk7XFxuIFxcdFxcdFxcdHJlbGVhc2Vfc29jayhzKTtcXG4tXFx0XFx0XFx0d3JpdGVfbG9ja19iaChcXHUwMDI2eDI1X2xpc3RfbG9jayk7XFxuK1xcdFxcdFxcdHNvY2tfcHV0KHMpO1xcbitcXHRcXHRcXHRnb3RvIGFnYWluO1xcbiBcXHRcXHR9XFxuIFxcdH1cXG4gXFx0d3JpdGVfdW5sb2NrX2JoKFxcdTAwMjZ4MjVfbGlzdF9sb2NrKTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTNUMTQ6MDc6MDMuMDA5OTU5NDlaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjIyMzkxMDM1MjQ4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIlgyNVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIngyNV9raWxsX2J5X25laWdoXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgdXNlLWFmdGVyLWZyZWUgb3IgbGlzdCBjb3JydXB0aW9uIGluIGB4MjVfa2lsbF9ieV9uZWlnaGAgYnkgcHJvcGVybHkgaG9sZGluZyBhIHJlZmVyZW5jZSB0byB0aGUgc29ja2V0IGFuZCByZXN0YXJ0aW5nIHRoZSBsaXN0IHRyYXZlcnNhbCBhZnRlciBkcm9wcGluZyB0aGUgbG9jay4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBYLjI1IG5ldHdvcmtpbmcgcHJvdG9jb2wgaW1wbGVtZW50YXRpb24uXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgZTZmOTE3ZmFkMDMxYmZjYjZhNjg1OGI1YTdhNDMwNjAxNDNhYmY2ZlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBNb24gSnVsIDEzIDE0OjA3OjAxIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvbmV0L3gyNS9hZl94MjUuYyBiL25ldC94MjUvYWZfeDI1LmNcbmluZGV4IGMzMWQyYWY1ZGQyMjMzLi44YWFlOTI3M2I3YzE0NCAxMDA2NDRcbi0tLSBhL25ldC94MjUvYWZfeDI1LmNcbisrKyBiL25ldC94MjUvYWZfeDI1LmNcbkBAIC0xNzY4LDE1ICsxNzY4LDE5IEBAIHZvaWQgeDI1X2tpbGxfYnlfbmVpZ2goc3RydWN0IHgyNV9uZWlnaCAqbmIpXG4ge1xuIFx0c3RydWN0IHNvY2sgKnM7XG4gXG4rYWdhaW46XG4gXHR3cml0ZV9sb2NrX2JoKFx1MDAyNngyNV9saXN0X2xvY2spO1xuIFxuIFx0c2tfZm9yX2VhY2gocywgXHUwMDI2eDI1X2xpc3QpIHtcbiBcdFx0aWYgKHgyNV9zayhzKS1cdTAwM2VuZWlnaGJvdXIgPT0gbmIpIHtcbitcdFx0XHRzb2NrX2hvbGQocyk7XG4gXHRcdFx0d3JpdGVfdW5sb2NrX2JoKFx1MDAyNngyNV9saXN0X2xvY2spO1xuIFx0XHRcdGxvY2tfc29jayhzKTtcbi1cdFx0XHR4MjVfZGlzY29ubmVjdChzLCBFTkVUVU5SRUFDSCwgMCwgMCk7XG4rXHRcdFx0aWYgKHgyNV9zayhzKS1cdTAwM2VuZWlnaGJvdXIgPT0gbmIpXG4rXHRcdFx0XHR4MjVfZGlzY29ubmVjdChzLCBFTkVUVU5SRUFDSCwgMCwgMCk7XG4gXHRcdFx0cmVsZWFzZV9zb2NrKHMpO1xuLVx0XHRcdHdyaXRlX2xvY2tfYmgoXHUwMDI2eDI1X2xpc3RfbG9jayk7XG4rXHRcdFx0c29ja19wdXQocyk7XG4rXHRcdFx0Z290byBhZ2FpbjtcbiBcdFx0fVxuIFx0fVxuIFx0d3JpdGVfdW5sb2NrX2JoKFx1MDAyNngyNV9saXN0X2xvY2spO1xuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTNUMTQ6MDc6MDMuMDA5OTYwOTNaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0NDk2MjE1ODQ4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgWC4yNSBQYXRjaCoqXG5cbk9rYXksIHNvIEkndmUgZ290IHRoaXMgcGF0Y2ggaGVyZSB0aGF0J3MgdG91Y2hpbmcgYG5ldC94MjUvYWZfeDI1LmNgLiBJdCBsb29rcyBsaWtlIGl0J3Mgc3BlY2lmaWNhbGx5IGZvY3VzZWQgb24gdGhlIGB4MjVfa2lsbF9ieV9uZWlnaGAgZnVuY3Rpb24uIEFoLCBJIHNlZSwgaXQncyBhZGRyZXNzaW5nIGEgcG90ZW50aWFsIGNvbmN1cnJlbmN5IGlzc3VlIHdpdGggdGhhdCBgeDI1X2xpc3RgLiBUaGlzIGlzIGEgY2xhc3NpYyBwYXR0ZXJuIOKAkyB0cnlpbmcgdG8gaXRlcmF0ZSBvdmVyIGEgbGlzdCB3aGlsZSBhbHNvIHBvdGVudGlhbGx5IHJlbGVhc2luZyBhbmQgcmVhY3F1aXJpbmcgYSBsb2NrIG9uIGl0LiBTcGVjaWZpY2FsbHksIGl0IHNlZW1zIGxpa2UgdGhlIG9yaWdpbmFsIGNvZGUgY291bGQgbGVhZCB0byBhIHVzZS1hZnRlci1mcmVlIG9yIGNvcnJ1cHRpb24gaWYgdGhlIGxvY2sgd2FzIGRyb3BwZWQgZHVyaW5nIHRoZSBsaXN0IHRyYXZlcnNhbC5cblxuU21hcnQgbW92ZSDigJMgdGhleSdyZSB1c2luZyBgc29ja19ob2xkKHMpYCB0byBidW1wIHRoZSByZWZlcmVuY2UgY291bnQgYmVmb3JlIGRyb3BwaW5nIHRoZSBsb2NrLCBhbmQgdGhlbiBgc29ja19wdXQocylgIGFmdGVyIHByb2Nlc3NpbmcgdGhlIHNvY2tldC4gVGhlIGBnb3RvIGFnYWluYCBjb25zdHJ1Y3QgaXMgYSBzdGFuZGFyZCBhcHByb2FjaCB0byByZS1pdGVyYXRlIG9uY2UgdGhlIGxvY2sgaGFzIGJlZW4gcmVhY3F1aXJlZCwgZW5zdXJpbmcgdGhleSBkb24ndCBtaXNzIGFueSBlbnRyaWVzIGFuZCB0aGF0IHRoZSBsaXN0IGlzIGNvbnNpc3RlbnQuIEl0J3MgYSBjbGVhbiBhbmQgZWZmaWNpZW50IHdheSB0byBoYW5kbGUgdGhpcyBraW5kIG9mIHJhY2UgY29uZGl0aW9uLCB3aGljaCBpcyBjZXJ0YWlubHkgdGhlIHJpZ2h0IGFwcHJvYWNoIGhlcmUuIFRpbWUgdG8gZGlnIGluIGFuZCB2ZXJpZnkgdGhlIGNvZGUncyBsb2dpYy5cblxuXG4iLCJJbnB1dFRva2VucyI6MjAwMCwiT3V0cHV0VG9rZW5zIjozNSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE1MSwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEzVDE0OjA3OjA3LjUwNjE3OTI2OFoiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1ODA1MzYyNiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJ4MjVfa2lsbF9ieV9uZWlnaFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQveDI1L1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQveDI1L2FmX3gyNS5jPTE3NjM9c3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9jayB4MjVfZGV2X25vdGlmaWVyID0ge1xcbi0tXFxubmV0L3gyNS9hZl94MjUuYy0xNzY2LVxcbm5ldC94MjUvYWZfeDI1LmM6MTc2Nzp2b2lkIHgyNV9raWxsX2J5X25laWdoKHN0cnVjdCB4MjVfbmVpZ2ggKm5iKVxcbm5ldC94MjUvYWZfeDI1LmMtMTc2OC17XFxuLS1cXG5uZXQveDI1L3gyNV9saW5rLmM9NjQ9dm9pZCB4MjVfbGlua19jb250cm9sKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCB4MjVfbmVpZ2ggKm5iLFxcbi0tXFxubmV0L3gyNS94MjVfbGluay5jLTg0LVxcdFxcdFxcdC8qIGNsZWFyIGV4aXN0aW5nIHZpcnR1YWwgY2FsbHMgKi9cXG5uZXQveDI1L3gyNV9saW5rLmM6ODU6XFx0XFx0XFx0eDI1X2tpbGxfYnlfbmVpZ2gobmIpO1xcbm5ldC94MjUveDI1X2xpbmsuYy04Ni1cXG4tLVxcbm5ldC94MjUveDI1X2xpbmsuYy05OS1cXHRcXHRcXHQvKiBjbGVhciBleGlzdGluZyB2aXJ0dWFsIGNhbGxzICovXFxubmV0L3gyNS94MjVfbGluay5jOjEwMDpcXHRcXHRcXHR4MjVfa2lsbF9ieV9uZWlnaChuYik7XFxubmV0L3gyNS94MjVfbGluay5jLTEwMS1cXG4tLVxcbm5ldC94MjUveDI1X2xpbmsuYz0yNTA9dm9pZCB4MjVfbGlua190ZXJtaW5hdGVkKHN0cnVjdCB4MjVfbmVpZ2ggKm5iKVxcbi0tXFxubmV0L3gyNS94MjVfbGluay5jLTI1Ni1cXHQvKiBPdXQgb2Ygb3JkZXI6IGNsZWFyIGV4aXN0aW5nIHZpcnR1YWwgY2FsbHMgKFguMjUgMDMvOTMgNC42LjMpICovXFxubmV0L3gyNS94MjVfbGluay5jOjI1NzpcXHR4MjVfa2lsbF9ieV9uZWlnaChuYik7XFxubmV0L3gyNS94MjVfbGluay5jLTI1OC19XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEzVDE0OjA3OjA3LjU2NDI0MTEzNFoiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjM3MDk2MjM4ODYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlLCBwcmVzZW50ZWQgaW4gdGhlIGZpcnN0IHBlcnNvbjpcblxuKipOYXZpZ2F0aW5nIHRoZSBLY29uZmlnIGZvciBYMjUqKlxuXG5BbHJpZ2h0LCBzbyB0aGUgdGFzayBhdCBoYW5kIGlzIHRvIGxvY2F0ZSB0aGUgS2NvbmZpZyBjb25maWd1cmF0aW9uIGZpbGUgc3BlY2lmaWNhbGx5IGZvciBYMjUuIEdpdmVuIG15IGJhY2tncm91bmQsIEkgYWxyZWFkeSBoYXZlIGEgcHJldHR5IGdvb2QgaWRlYSBvZiB3aGVyZSB0byBiZWdpbiB0aGUgc2VhcmNoIHdpdGhpbiB0aGUgdHlwaWNhbCBrZXJuZWwgc291cmNlIHRyZWUuIE15IG1lbnRhbCBtYXAgaXMgYWxyZWFkeSBmb3JtaW5nIC0gSSBuZWVkIHRvIHBpbnBvaW50IHRoZSBhcHByb3ByaWF0ZSBkaXJlY3RvcnksIHdoaWNoIGxpa2VseSBhbGlnbnMgd2l0aCB0aGUgbmV0d29ya2luZyBzdWJzeXN0ZW0gb3IsIG1vcmUgc3BlY2lmaWNhbGx5LCB0aGUgcmVsZXZhbnQgZGV2aWNlIGRyaXZlciBhcmVhLCBjb25zaWRlcmluZyB0aGF0IFgyNSBpcyBhIHBhY2tldCBzd2l0Y2hpbmcgcHJvdG9jb2wuIEkga25vdyB0aGF0IGlmIFgyNSBpcyBhY3RpdmVseSBzdXBwb3J0ZWQgd2l0aGluIHRoZSBjdXJyZW50IGtlcm5lbCB2ZXJzaW9uLCB0aGVuIHRoZXJlJ3MgYWxtb3N0IGNlcnRhaW5seSBhIEtjb25maWcgZmlsZSBpbnZvbHZlZC4gTXkgeWVhcnMgb2YgZXhwZXJpZW5jZSBoYXZlIHRhdWdodCBtZSB0aGF0IGl0J3MgdGhlIGdhdGVrZWVwZXIgZm9yIG1vZHVsZSBlbmFibGluZywgYW5kIHByb3ZpZGVzIHRoZSBtZWNoYW5pc20gZm9yIHVzZXItbGV2ZWwgY29udHJvbC4gSSdtIHRoaW5raW5nIEknbGwgbmVlZCB0byBkcmlsbCBkb3duIHRocm91Z2ggbGlrZWx5IGNhbmRpZGF0ZXMsIGxvb2tpbmcgZm9yIHJlbGF0ZWQgbW9kdWxlIGRvY3VtZW50YXRpb24sIG9yIG1heWJlIGNyb3NzLXJlZmVyZW5jZXMgd2l0aCBvdGhlciBuZXR3b3JrLXJlbGF0ZWQgS2NvbmZpZyBmaWxlcy4gVGhlIHN0cnVjdHVyZSBvZiB0aGUgYnVpbGQgc3lzdGVtIGRpY3RhdGVzIHRoYXQgcmVsYXRlZCBmaWxlcyBhcmUgdXN1YWxseSBjbG9zZSB0b2dldGhlciwgc28gdGhhdCBtYWtlcyB0aGUgcHJvY2VzcyBtdWNoIG1vcmUgZWZmaWNpZW50LiBJJ20gbWVudGFsbHkgcGFyc2luZyB0aGUgZGlyZWN0b3J5IHN0cnVjdHVyZSwgYW5kIEknbGwga2VlcCB0aGUgbW9kdWxlIG5hbWVzIGluIG1pbmQgdG8gc2VhcmNoIGZvciBwb3RlbnRpYWwgbW9kdWxlIGluY2x1c2lvbiBwYXRocyBhbmQgZGVwZW5kZW5jaWVzLiBJIG1heSBldmVuIG5lZWQgdG8gZW1wbG95IHNvbWUgJ2ZpbmQnIGNvbW1hbmRzIHRvIHNwZWVkIHVwIHRoZSBwcm9jZXNzIGlmIEkgaGl0IGFueSByb2FkYmxvY2tzLiBPbmNlIEkgZmluZCBpdCwgSSdsbCByZXZpZXcgaXRzIGNvbnRlbnRzIHRvIHVuZGVyc3RhbmQgdGhlIGNvbmZpZ3VyYWJsZSBvcHRpb25zIGFuZCBkZXBlbmRlbmNpZXMgZm9yIFgyNSB3aXRoaW4gdGhpcyBrZXJuZWwncyBlbnZpcm9ubWVudC5cblxuXG4iLCJJbnB1dFRva2VucyI6MjkwNSwiT3V0cHV0VG9rZW5zIjozMCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjEyLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEzVDE0OjA3OjExLjI3Mzg2NzM5WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjU5MTMxMzE2LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImNvbmZpZyBYMjVcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L3gyNS9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwibmV0L3gyNS9LY29uZmlnLTUtXFxubmV0L3gyNS9LY29uZmlnOjY6Y29uZmlnIFgyNVxcbm5ldC94MjUvS2NvbmZpZy03LVxcdHRyaXN0YXRlIFxcXCJDQ0lUVCBYLjI1IFBhY2tldCBMYXllclxcXCJcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTNUMTQ6MDc6MTEuMzMzMDA0MzI2WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzAwOTAyOTc1OCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipGdXp6aW5nIHRoZSBgeDI1X2tpbGxfYnlfbmVpZ2hgIEZ1bmN0aW9uIFVuZGVyIHRoZSBYMjUgQ29uZmlnKipcblxuT2theSwgc28gdGhlIGNvbmZpZyBpbiBwbGF5IGhlcmUgaXMgYFgyNWAuIEFuZCB0aGUgZnVuY3Rpb24gb2YgaW50ZXJlc3QgaXMgYHgyNV9raWxsX2J5X25laWdoYC4gR2l2ZW4gbXkgdW5kZXJzdGFuZGluZyBvZiB0aGlzIHN5c3RlbSwgYW5kIGtub3dpbmcgdGhhdCB3ZSdyZSBkZWFsaW5nIHdpdGggYFgyNWAsIGl0IGltbWVkaWF0ZWx5IGp1bXBzIG91dCBhcyBhIHByaW1lIGNhbmRpZGF0ZSBmb3IgZnV6emluZy4gVGhlcmUncyBhbG1vc3QgYWx3YXlzIHNvbWV0aGluZyBpbnRlcmVzdGluZyB0byB1bmNvdmVyIGluIHRoaXMgYXJlYS5cblxuQmVmb3JlIEkgZ2V0IHRvbyBkZWVwIGludG8gc2V0dGluZyB1cCB0aGUgZnV6emluZyBjYW1wYWlnbiwgdGhvdWdoLCBpdCdzIHdvcnRoIGEgcXVpY2sgc2Nhbi4gSSBuZWVkIHRvIG1ha2Ugc3VyZSBJIGhhdmVuJ3QgbWlzc2VkIGFueSBvdGhlciBjb25maWd1cmF0aW9ucyB0aGF0IG1pZ2h0IGFsc28gYmUgcmVsZXZhbnQsIG9yIHBvdGVudGlhbGx5IGluZmx1ZW5jZSB0aGlzIHBhcnRpY3VsYXIgZnVuY3Rpb24ncyBiZWhhdmlvciBpbiBzdWJ0bGUgd2F5cy4gR290dGEgY292ZXIgYWxsIHRoZSBiYXNlcyB0byBhdm9pZCBtaXNzaW5nIGFueXRoaW5nLlxuXG5cbiIsIklucHV0VG9rZW5zIjozMzM0LCJPdXRwdXRUb2tlbnMiOjMxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NDQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTNUMTQ6MDc6MTQuMzQyMDM1OTk0WiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjY2MjA4Njg1LCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJkZXBlbmRzIG9uIFgyNVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQveDI1L1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJlcnJvclwiOiBcIm5vIG1hdGNoZXNcIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTNUMTQ6MDc6MTQuNDA4MjU5Mzk5WiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzE0NTQ4Nzg4OCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IHRob3VnaHQgcHJvY2Vzcywgc3VtbWFyaXplZCBhcyBpZiBJIHdlcmUgY29uc2lkZXJpbmcgdGhlIGdpdmVuIHByb21wdDpcblxuKipBbmFseXppbmcgdGhlIENvbmZpZ3VyYXRpb24gTGFuZHNjYXBlKipcblxuT2theSwgc28gdGhlIHByb21wdCBpcyBhc2tpbmcgbWUgdG8gc3RhcnQgYnkgZXhhbWluaW5nIGBuZXQveDI1L0tjb25maWdgLiBDbGVhcmx5LCB0aGlzIGlzIHRoZSBjb25maWd1cmF0aW9uIGZpbGUgZm9yIHRoZSBYLjI1IG5ldHdvcmtpbmcgcHJvdG9jb2wgd2l0aGluIHdoYXRldmVyIHN5c3RlbSB3ZSdyZSBkZWFsaW5nIHdpdGgg4oCTIGxpa2VseSBhIExpbnV4IGtlcm5lbCBvciBzaW1pbGFyLiBNeSBpbnN0aW5jdCBpcyB0aGF0IHRoZSBwcm9tcHQgd2FudHMgbWUgdG8gY29uc2lkZXIgaG93IHRvIHNldCB0aGlzIHVwLiBUaGlzIHByb2JhYmx5IGludm9sdmVzIGVuYWJsaW5nIG9yIGRpc2FibGluZyB2YXJpb3VzIGZlYXR1cmVzLCBzZXR0aW5nIGRlZmF1bHQgdmFsdWVzIGZvciBwYXJhbWV0ZXJzLCBvciBkZWZpbmluZyBkZXBlbmRlbmNpZXMgb24gb3RoZXIgbW9kdWxlcyBvciBoYXJkd2FyZS4gU28sIEkgbmVlZCB0byB1bmRlcnN0YW5kIHdoYXQgdGhpcyBjb25maWd1cmF0aW9uIGZpbGUgKmRvZXMqIGF0IGEgaGlnaCBsZXZlbC4gSXMgaXQgcGFydCBvZiB0aGUgcHJvamVjdCBvZiBpbnRlcmVzdD9cblxuXG4iLCJJbnB1dFRva2VucyI6MzU5MSwiT3V0cHV0VG9rZW5zIjozNSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE0LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEzVDE0OjA3OjE3LjU1Mzc0OTE5N1oiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NjkwMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJuZXQveDI1L0tjb25maWdcIixcbiAgXCJGaXJzdExpbmVcIjogMSxcbiAgXCJMaW5lQ291bnRcIjogMTAwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAgIDE6XFx0IyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XFxuICAgMjpcXHQjXFxuICAgMzpcXHQjIENDSVRUIFguMjUgUGFja2V0IExheWVyXFxuICAgNDpcXHQjXFxuICAgNTpcXHRcXG4gICA2OlxcdGNvbmZpZyBYMjVcXG4gICA3OlxcdFxcdHRyaXN0YXRlIFxcXCJDQ0lUVCBYLjI1IFBhY2tldCBMYXllclxcXCJcXG4gICA4OlxcdFxcdGhlbHBcXG4gICA5OlxcdFxcdCAgWC4yNSBpcyBhIHNldCBvZiBzdGFuZGFyZGl6ZWQgbmV0d29yayBwcm90b2NvbHMsIHNpbWlsYXIgaW4gc2NvcGUgdG9cXG4gIDEwOlxcdFxcdCAgZnJhbWUgcmVsYXk7IHRoZSBvbmUgcGh5c2ljYWwgbGluZSBmcm9tIHlvdXIgYm94IHRvIHRoZSBYLjI1IG5ldHdvcmtcXG4gIDExOlxcdFxcdCAgZW50cnkgcG9pbnQgY2FuIGNhcnJ5IHNldmVyYWwgbG9naWNhbCBwb2ludC10by1wb2ludCBjb25uZWN0aW9uc1xcbiAgMTI6XFx0XFx0ICAoY2FsbGVkIFxcXCJ2aXJ0dWFsIGNpcmN1aXRzXFxcIikgdG8gb3RoZXIgY29tcHV0ZXJzIGNvbm5lY3RlZCB0byB0aGUgWC4yNVxcbiAgMTM6XFx0XFx0ICBuZXR3b3JrLiBHb3Zlcm5tZW50cywgYmFua3MsIGFuZCBvdGhlciBvcmdhbml6YXRpb25zIHRlbmQgdG8gdXNlIGl0XFxuICAxNDpcXHRcXHQgIHRvIGNvbm5lY3QgdG8gZWFjaCBvdGhlciBvciB0byBmb3JtIFdpZGUgQXJlYSBOZXR3b3JrcyAoV0FOcykuIE1hbnlcXG4gIDE1OlxcdFxcdCAgY291bnRyaWVzIGhhdmUgcHVibGljIFguMjUgbmV0d29ya3MuIFguMjUgY29uc2lzdHMgb2YgdHdvXFxuICAxNjpcXHRcXHQgIHByb3RvY29sczogdGhlIGhpZ2hlciBsZXZlbCBQYWNrZXQgTGF5ZXIgUHJvdG9jb2wgKFBMUCkgKHNheSBZIGhlcmVcXG4gIDE3OlxcdFxcdCAgaWYgeW91IHdhbnQgdGhhdCkgYW5kIHRoZSBsb3dlciBsZXZlbCBkYXRhIGxpbmsgbGF5ZXIgcHJvdG9jb2wgTEFQQlxcbiAgMTg6XFx0XFx0ICAoc2F5IFkgdG8gXFxcIkxBUEIgRGF0YSBMaW5rIERyaXZlclxcXCIgYmVsb3cgaWYgeW91IHdhbnQgdGhhdCkuXFxuICAxOTpcXHRcXG4gIDIwOlxcdFxcdCAgSW5mb3JtYXRpb24gYWJvdXQgWC4yNSBmb3IgTGludXggaXMgY29udGFpbmVkIGluIHRoZSBmaWxlc1xcbiAgMjE6XFx0XFx0ICBcXHUwMDNjZmlsZTpEb2N1bWVudGF0aW9uL25ldHdvcmtpbmcveDI1LnJzdFxcdTAwM2UgYW5kXFxuICAyMjpcXHRcXHQgIFxcdTAwM2NmaWxlOkRvY3VtZW50YXRpb24vbmV0d29ya2luZy94MjUtaWZhY2UucnN0XFx1MDAzZS5cXG4gIDIzOlxcdFxcbiAgMjQ6XFx0XFx0ICBPbmUgY29ubmVjdHMgdG8gYW4gWC4yNSBuZXR3b3JrIGVpdGhlciB3aXRoIGEgZGVkaWNhdGVkIG5ldHdvcmsgY2FyZFxcbiAgMjU6XFx0XFx0ICB1c2luZyB0aGUgWC4yMSBwcm90b2NvbCAobm90IHlldCBzdXBwb3J0ZWQgYnkgTGludXgpIG9yIG9uZSBjYW4gZG9cXG4gIDI2OlxcdFxcdCAgWC4yNSBvdmVyIGEgc3RhbmRhcmQgdGVsZXBob25lIGxpbmUgdXNpbmcgYW4gb3JkaW5hcnkgbW9kZW0gKHNheSBZXFxuICAyNzpcXHRcXHQgIHRvIFxcXCJYLjI1IGFzeW5jIGRyaXZlclxcXCIgYmVsb3cpIG9yIG92ZXIgRXRoZXJuZXQgdXNpbmcgYW4gb3JkaW5hcnlcXG4gIDI4OlxcdFxcdCAgRXRoZXJuZXQgY2FyZCBhbmQgdGhlIExBUEIgb3ZlciBFdGhlcm5ldCAoc2F5IFkgdG8gXFxcIkxBUEIgRGF0YSBMaW5rXFxuICAyOTpcXHRcXHQgIERyaXZlclxcXCIgYW5kIFxcXCJMQVBCIG92ZXIgRXRoZXJuZXQgZHJpdmVyXFxcIiBiZWxvdykuXFxuICAzMDpcXHRcXG4gIDMxOlxcdFxcdCAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlIG1vZHVsZVxcbiAgMzI6XFx0XFx0ICB3aWxsIGJlIGNhbGxlZCB4MjUuIElmIHVuc3VyZSwgc2F5IE4uXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEzVDE0OjA3OjE3LjU1MzgwNzg5N1oiLCJTZXEiOjExLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo3NzUzMDczNTc4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBsZXQncyBicmVhayB0aGlzIGRvd24uXG5cbioqQW5hbHl6aW5nIHRoZSBgeDI1X2tpbGxfYnlfbmVpZ2hgIEZ1bmN0aW9uKipcblxuQWxyaWdodCwgc28gdGhlIHRhc2sgYXQgaGFuZCBzZWVtcyB0byBpbnZvbHZlIGZ1bmN0aW9uIGB4MjVfa2lsbF9ieV9uZWlnaGAsIGFuZCBpdCdzIHJlbGF0ZWQgdG8gc29tZXRoaW5nIGxhYmVsZWQgYFgyNWAsIHdoaWNoIEknbSBhc3N1bWluZyBpcyB0aGUgY29uZmlndXJhdGlvbiBjb250ZXh0LiBNeSBpbml0aWFsIGFzc2Vzc21lbnQgaXMgdGhhdCB0aGlzIGlzIGxpa2VseSBhIGNvbmZpZ3VyYXRpb24gc2V0dGluZyB0aGF0J3MgaW52b2x2ZWQuIE5vdywgdGhlIGtleSBpcyB0byBkZXRlcm1pbmUgaXRzIGV4ZWN1dGlvbiBwcm9maWxlLiBJcyB0aGlzIGEgcGVyZm9ybWFuY2UtY3JpdGljYWwgc2VjdGlvbiBvZiB0aGUgY29kZT8gR2l2ZW4gdGhlIGZ1bmN0aW9uIG5hbWUsIG15IHByZWxpbWluYXJ5IHRob3VnaHQgaXMgdGhhdCBpdCdzIHByb2JhYmx5IHRyaWdnZXJlZCB3aGVuIGEgbmVpZ2hib3IgaXMgcmVtb3ZlZCBvciBhIGxpbmsgaXMgdGVybWluYXRlZC4gVGhhdCBjZXJ0YWlubHkgaXNuJ3QgYSAqaG90IHBhdGgqIGluIHRoZSB0cmFkaXRpb25hbCBzZW5zZSwgc28gaXQgaXNuJ3QgYW4gZXZlcnlkYXkgb2NjdXJyZW5jZS4gTm93IHRoYXQgSSBoYXZlIGEgYmV0dGVyIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGNvbnRleHQsIGxldCdzIHN0YXJ0IHdpdGggc2V0dGluZyB0aGUgcmVzdWx0cyBhbmQgbW92aW5nIG9uLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0MzY2LCJPdXRwdXRUb2tlbnMiOjEwNSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjU1LCJUb29sQ2FsbHMiOlsicmVhZC1maWxlIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTNUMTQ6MDc6MjUuMzA2ODgzMjg1WiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6OTQxMDU3MzMsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIlgyNVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIngyNV9raWxsX2J5X25laWdoXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgdXNlLWFmdGVyLWZyZWUgb3IgbGlzdCBjb3JydXB0aW9uIGluIGB4MjVfa2lsbF9ieV9uZWlnaGAgYnkgcHJvcGVybHkgaG9sZGluZyBhIHJlZmVyZW5jZSB0byB0aGUgc29ja2V0IGFuZCByZXN0YXJ0aW5nIHRoZSBsaXN0IHRyYXZlcnNhbCBhZnRlciBkcm9wcGluZyB0aGUgbG9jay4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBYLjI1IG5ldHdvcmtpbmcgcHJvdG9jb2wgaW1wbGVtZW50YXRpb24uXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiWDI1XCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwieDI1X2tpbGxfYnlfbmVpZ2hcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIHBvdGVudGlhbCB1c2UtYWZ0ZXItZnJlZSBvciBsaXN0IGNvcnJ1cHRpb24gaW4gYHgyNV9raWxsX2J5X25laWdoYCBieSBwcm9wZXJseSBob2xkaW5nIGEgcmVmZXJlbmNlIHRvIHRoZSBzb2NrZXQgYW5kIHJlc3RhcnRpbmcgdGhlIGxpc3QgdHJhdmVyc2FsIGFmdGVyIGRyb3BwaW5nIHRoZSBsb2NrLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIFguMjUgbmV0d29ya2luZyBwcm90b2NvbCBpbXBsZW1lbnRhdGlvbi5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLmR1cmF0aW9uIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnTGxtVG9rZW4gPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS50b2tlbnMgLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdUb29sRHVyID0gc3RhdHMudG9vbC5jb3VudCA+IDAgPyAoc3RhdHMudG9vbC5kdXJhdGlvbiAvIHN0YXRzLnRvb2wuY291bnQpLnRvRml4ZWQoMikgOiAwOwoKCQkJY29uc3QgbGxtU3VtYXJ5Q2VsbHMgPSBbc3RhdHMubGxtLmNvdW50LCBzdGF0cy5sbG0udG9rZW5zLCBhdmdMbG1Ub2tlbiwgc3RhdHMubGxtLmR1cmF0aW9uLCBhdmdMbG1EdXJdOwoJCQljb25zdCB0b29sU3VtbWFyeUNlbGxzID0gW3N0YXRzLnRvb2wuY291bnQsIHN0YXRzLnRvb2wuZHVyYXRpb24sIGF2Z1Rvb2xEdXJdOwoKCQkJY29uc3QgbGxtU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGxtX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQlsbG1TdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgbGxtVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQlsbG1TdW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJbGxtVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJbGxtU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQobGxtVHIpOwoKCQkJY29uc3QgdG9vbFN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2xfc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgdG9vbFRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJdG9vbFN1bW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJdG9vbFRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZCh0b29sVHIpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBmaWx0ZXJlZFN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBbImxsbSIsICJ0b29sIl0uaW5jbHVkZXMoZC5UeXBlKSk7CgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ0R1cmF0aW9uJyk7CgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7IAoKCQkJZmlsdGVyZWRTdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJCgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsKCQkJCWxldCB0b29sdGlwID0gcy5OYW1lOwoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIgJiYgcy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoJCQkJZGF0YS5hZGRSb3coW2Ake3MuU2VxfWAsIGR1ciwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1RpbWUgQ29uc3VtcHRpb24gb2YgTExNL1Rvb2wgQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTS9Ub29sIFN0ZXBzJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ1NlY29uZHMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1cmF0aW9uX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBsbG1TdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gZC5UeXBlID09PSAibGxtIik7CgkJCWlmIChsbG1TdGVwcy5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwkJCQoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ1Rva2VucycpOwkJCQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICdzdHlsZSd9KTsJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7CQoKCQkJY29uc3QgYWdlbnRDb2xvcnMgPSB7fTsKCQkJY29uc3QgcGFsZXR0ZSA9IFsnIzQyODVGNCcsICcjREI0NDM3JywgJyNGNEI0MDAnLCAnIzBGOUQ1OCcsICcjQUI0N0JDJywgJyMwMEFDQzEnXTsKCQkJbGV0IGNvbG9ySWR4ID0gMDsKCQkJY29uc3QgYWdlbnRMTE1Db3VudHMgPSB7fTsKCQkJbGxtU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCWlmICghYWdlbnRDb2xvcnNbcy5OYW1lXSkgewoJCQkJCWFnZW50Q29sb3JzW3MuTmFtZV0gPSBwYWxldHRlW2NvbG9ySWR4ICUgcGFsZXR0ZS5sZW5ndGhdOwoJCQkJCWNvbG9ySWR4Kys7CgkJCQl9CgoJCQkJYWdlbnRMTE1Db3VudHNbcy5OYW1lXSA9IChhZ2VudExMTUNvdW50c1tzLk5hbWVdIHx8IDApICsgMTsKCQkJCWNvbnN0IGxhYmVsID0gYCR7cy5OYW1lfS0ke2FnZW50TExNQ291bnRzW3MuTmFtZV19YDsKCQkJCWNvbnN0IHRvdGFsVG9rZW5zID0gcy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2VuczsKCQkJCWNvbnN0IHN0eWxlID0gYGNvbG9yOiAke2FnZW50Q29sb3JzW3MuTmFtZV19YDsKCQkJCWxldCB0b29sdGlwID0gYFRvdGFsIFRva2VuczogJHt0b3RhbFRva2Vuc31cbihJbjogJHtzLklucHV0VG9rZW5zfSwgT3V0OiAke3MuT3V0cHV0VG9rZW5zfSwgVGhvdWdodHM6ICR7cy5PdXRwdXRUaG91Z2h0c1Rva2Vuc30pYDsKCQkJCWlmIChzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgoJCQkJZGF0YS5hZGRSb3coW2xhYmVsLCB0b3RhbFRva2Vucywgc3R5bGUsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUb2tlbiBDb25zdW1wdGlvbiBieSBMTE0gQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTSBDYWxsIFNlcXVlbmNlJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ0NvbnN1bWVkIFRva2VucycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9rZW5fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCQlsZXQgYWxsRXhwYW5kZWQgPSBmYWxzZTsKCQlmdW5jdGlvbiB0b2dnbGVBbGxEZXRhaWxzKCkgewoJCQlhbGxFeHBhbmRlZCA9ICFhbGxFeHBhbmRlZDsKCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGV0YWlscycpLmZvckVhY2goZCA9PiB7CgkJCQlpZiAoYWxsRXhwYW5kZWQpIGQuc2V0QXR0cmlidXRlKCdvcGVuJywgJycpOwoJCQkJZWxzZSBkLnJlbW92ZUF0dHJpYnV0ZSgnb3BlbicpOwoJCQl9KTsKCQl9Cgk8L3NjcmlwdD4KCgo8L2JvZHk+CjwvaHRtbD4K" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowksfcw[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-13 13:49:53 +0000 UTC FinishedAt: 2026-07-13 14:07:27 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "net", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git", "commit_hash": "3f1f755366687d051174739fb99f7d560202f60b", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "X25" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "net", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git", "commit_hash": "3f1f755366687d051174739fb99f7d560202f60b", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "X25" ], "series_id": "6042ded8-78c6-4d73-b8be-19d61bbe15f5" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "x25_kill_by_neigh" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEzIDE0OjA3PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1gyNSYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3gyNV9raWxsX2J5X25laWdoJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIHVzZS1hZnRlci1mcmVlIG9yIGxpc3QgY29ycnVwdGlvbiBpbiBgeDI1X2tpbGxfYnlfbmVpZ2hgIGJ5IHByb3Blcmx5IGhvbGRpbmcgYSByZWZlcmVuY2UgdG8gdGhlIHNvY2tldCBhbmQgcmVzdGFydGluZyB0aGUgbGlzdCB0cmF2ZXJzYWwgYWZ0ZXIgZHJvcHBpbmcgdGhlIGxvY2suIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgWC4yNSBuZXR3b3JraW5nIHByb3RvY29sIGltcGxlbWVudGF0aW9uLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEzIDE0OjA3PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgZTZmOTE3ZmFkMDMxYmZjYjZhNjg1OGI1YTdhNDMwNjAxNDNhYmY2ZlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBNb24gSnVsIDEzIDE0OjA3OjAxIDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL25ldC94MjUvYWZfeDI1LmMgYi9uZXQveDI1L2FmX3gyNS5jXG5pbmRleCBjMzFkMmFmNWRkMjIzMy4uOGFhZTkyNzNiN2MxNDQgMTAwNjQ0XG4tLS0gYS9uZXQveDI1L2FmX3gyNS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9uZXQveDI1L2FmX3gyNS5jXG5AQCAtMTc2OCwxNSAmIzQzOzE3NjgsMTkgQEAgdm9pZCB4MjVfa2lsbF9ieV9uZWlnaChzdHJ1Y3QgeDI1X25laWdoICpuYilcbiB7XG4gXHRzdHJ1Y3Qgc29jayAqcztcbiBcbiYjNDM7YWdhaW46XG4gXHR3cml0ZV9sb2NrX2JoKFx1MDAyNngyNV9saXN0X2xvY2spO1xuIFxuIFx0c2tfZm9yX2VhY2gocywgXHUwMDI2eDI1X2xpc3QpIHtcbiBcdFx0aWYgKHgyNV9zayhzKS1cdTAwM2VuZWlnaGJvdXIgPT0gbmIpIHtcbiYjNDM7XHRcdFx0c29ja19ob2xkKHMpO1xuIFx0XHRcdHdyaXRlX3VubG9ja19iaChcdTAwMjZ4MjVfbGlzdF9sb2NrKTtcbiBcdFx0XHRsb2NrX3NvY2socyk7XG4tXHRcdFx0eDI1X2Rpc2Nvbm5lY3QocywgRU5FVFVOUkVBQ0gsIDAsIDApO1xuJiM0MztcdFx0XHRpZiAoeDI1X3NrKHMpLVx1MDAzZW5laWdoYm91ciA9PSBuYilcbiYjNDM7XHRcdFx0XHR4MjVfZGlzY29ubmVjdChzLCBFTkVUVU5SRUFDSCwgMCwgMCk7XG4gXHRcdFx0cmVsZWFzZV9zb2NrKHMpO1xuLVx0XHRcdHdyaXRlX2xvY2tfYmgoXHUwMDI2eDI1X2xpc3RfbG9jayk7XG4mIzQzO1x0XHRcdHNvY2tfcHV0KHMpO1xuJiM0MztcdFx0XHRnb3RvIGFnYWluO1xuIFx0XHR9XG4gXHR9XG4gXHR3cml0ZV91bmxvY2tfYmgoXHUwMDI2eDI1X2xpc3RfbG9jayk7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTMgMTQ6MDc8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7WDI1JiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7eDI1X2tpbGxfYnlfbmVpZ2gmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgdXNlLWFmdGVyLWZyZWUgb3IgbGlzdCBjb3JydXB0aW9uIGluIGB4MjVfa2lsbF9ieV9uZWlnaGAgYnkgcHJvcGVybHkgaG9sZGluZyBhIHJlZmVyZW5jZSB0byB0aGUgc29ja2V0IGFuZCByZXN0YXJ0aW5nIHRoZSBsaXN0IHRyYXZlcnNhbCBhZnRlciBkcm9wcGluZyB0aGUgbG9jay4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBYLjI1IG5ldHdvcmtpbmcgcHJvdG9jb2wgaW1wbGVtZW50YXRpb24uJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IGU2ZjkxN2ZhZDAzMWJmY2I2YTY4NThiNWE3YTQzMDYwMTQzYWJmNmYKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgTW9uIEp1bCAxMyAxNDowNzowMSAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL25ldC94MjUvYWZfeDI1LmMgYi9uZXQveDI1L2FmX3gyNS5jCmluZGV4IGMzMWQyYWY1ZGQyMjMzLi44YWFlOTI3M2I3YzE0NCAxMDA2NDQKLS0tIGEvbmV0L3gyNS9hZl94MjUuYwomIzQzOyYjNDM7JiM0MzsgYi9uZXQveDI1L2FmX3gyNS5jCkBAIC0xNzY4LDE1ICYjNDM7MTc2OCwxOSBAQCB2b2lkIHgyNV9raWxsX2J5X25laWdoKHN0cnVjdCB4MjVfbmVpZ2ggKm5iKQogewogCXN0cnVjdCBzb2NrICpzOwogCiYjNDM7YWdhaW46CiAJd3JpdGVfbG9ja19iaCgmYW1wO3gyNV9saXN0X2xvY2spOwogCiAJc2tfZm9yX2VhY2gocywgJmFtcDt4MjVfbGlzdCkgewogCQlpZiAoeDI1X3NrKHMpLSZndDtuZWlnaGJvdXIgPT0gbmIpIHsKJiM0MzsJCQlzb2NrX2hvbGQocyk7CiAJCQl3cml0ZV91bmxvY2tfYmgoJmFtcDt4MjVfbGlzdF9sb2NrKTsKIAkJCWxvY2tfc29jayhzKTsKLQkJCXgyNV9kaXNjb25uZWN0KHMsIEVORVRVTlJFQUNILCAwLCAwKTsKJiM0MzsJCQlpZiAoeDI1X3NrKHMpLSZndDtuZWlnaGJvdXIgPT0gbmIpCiYjNDM7CQkJCXgyNV9kaXNjb25uZWN0KHMsIEVORVRVTlJFQUNILCAwLCAwKTsKIAkJCXJlbGVhc2Vfc29jayhzKTsKLQkJCXdyaXRlX2xvY2tfYmgoJmFtcDt4MjVfbGlzdF9sb2NrKTsKJiM0MzsJCQlzb2NrX3B1dChzKTsKJiM0MzsJCQlnb3RvIGFnYWluOwogCQl9CiAJfQogCXdyaXRlX3VubG9ja19iaCgmYW1wO3gyNV9saXN0X2xvY2spOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMyAxNDowNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMDAwCgkJCQkJCQlvdXRwdXQ6IDM1CgkJCQkJCQl0aG91Z2h0czogMTUxCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgWC4yNSBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTt2ZSBnb3QgdGhpcyBwYXRjaCBoZXJlIHRoYXQmIzM5O3MgdG91Y2hpbmcgYG5ldC94MjUvYWZfeDI1LmNgLiBJdCBsb29rcyBsaWtlIGl0JiMzOTtzIHNwZWNpZmljYWxseSBmb2N1c2VkIG9uIHRoZSBgeDI1X2tpbGxfYnlfbmVpZ2hgIGZ1bmN0aW9uLiBBaCwgSSBzZWUsIGl0JiMzOTtzIGFkZHJlc3NpbmcgYSBwb3RlbnRpYWwgY29uY3VycmVuY3kgaXNzdWUgd2l0aCB0aGF0IGB4MjVfbGlzdGAuIFRoaXMgaXMgYSBjbGFzc2ljIHBhdHRlcm4g4oCTIHRyeWluZyB0byBpdGVyYXRlIG92ZXIgYSBsaXN0IHdoaWxlIGFsc28gcG90ZW50aWFsbHkgcmVsZWFzaW5nIGFuZCByZWFjcXVpcmluZyBhIGxvY2sgb24gaXQuIFNwZWNpZmljYWxseSwgaXQgc2VlbXMgbGlrZSB0aGUgb3JpZ2luYWwgY29kZSBjb3VsZCBsZWFkIHRvIGEgdXNlLWFmdGVyLWZyZWUgb3IgY29ycnVwdGlvbiBpZiB0aGUgbG9jayB3YXMgZHJvcHBlZCBkdXJpbmcgdGhlIGxpc3QgdHJhdmVyc2FsLgoKU21hcnQgbW92ZSDigJMgdGhleSYjMzk7cmUgdXNpbmcgYHNvY2tfaG9sZChzKWAgdG8gYnVtcCB0aGUgcmVmZXJlbmNlIGNvdW50IGJlZm9yZSBkcm9wcGluZyB0aGUgbG9jaywgYW5kIHRoZW4gYHNvY2tfcHV0KHMpYCBhZnRlciBwcm9jZXNzaW5nIHRoZSBzb2NrZXQuIFRoZSBgZ290byBhZ2FpbmAgY29uc3RydWN0IGlzIGEgc3RhbmRhcmQgYXBwcm9hY2ggdG8gcmUtaXRlcmF0ZSBvbmNlIHRoZSBsb2NrIGhhcyBiZWVuIHJlYWNxdWlyZWQsIGVuc3VyaW5nIHRoZXkgZG9uJiMzOTt0IG1pc3MgYW55IGVudHJpZXMgYW5kIHRoYXQgdGhlIGxpc3QgaXMgY29uc2lzdGVudC4gSXQmIzM5O3MgYSBjbGVhbiBhbmQgZWZmaWNpZW50IHdheSB0byBoYW5kbGUgdGhpcyBraW5kIG9mIHJhY2UgY29uZGl0aW9uLCB3aGljaCBpcyBjZXJ0YWlubHkgdGhlIHJpZ2h0IGFwcHJvYWNoIGhlcmUuIFRpbWUgdG8gZGlnIGluIGFuZCB2ZXJpZnkgdGhlIGNvZGUmIzM5O3MgbG9naWMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTMgMTQ6MDc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7eDI1X2tpbGxfYnlfbmVpZ2gmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtuZXQveDI1LyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQveDI1L2FmX3gyNS5jPTE3NjM9c3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9jayB4MjVfZGV2X25vdGlmaWVyID0ge1xuLS1cbm5ldC94MjUvYWZfeDI1LmMtMTc2Ni1cbm5ldC94MjUvYWZfeDI1LmM6MTc2Nzp2b2lkIHgyNV9raWxsX2J5X25laWdoKHN0cnVjdCB4MjVfbmVpZ2ggKm5iKVxubmV0L3gyNS9hZl94MjUuYy0xNzY4LXtcbi0tXG5uZXQveDI1L3gyNV9saW5rLmM9NjQ9dm9pZCB4MjVfbGlua19jb250cm9sKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCB4MjVfbmVpZ2ggKm5iLFxuLS1cbm5ldC94MjUveDI1X2xpbmsuYy04NC1cdFx0XHQvKiBjbGVhciBleGlzdGluZyB2aXJ0dWFsIGNhbGxzICovXG5uZXQveDI1L3gyNV9saW5rLmM6ODU6XHRcdFx0eDI1X2tpbGxfYnlfbmVpZ2gobmIpO1xubmV0L3gyNS94MjVfbGluay5jLTg2LVxuLS1cbm5ldC94MjUveDI1X2xpbmsuYy05OS1cdFx0XHQvKiBjbGVhciBleGlzdGluZyB2aXJ0dWFsIGNhbGxzICovXG5uZXQveDI1L3gyNV9saW5rLmM6MTAwOlx0XHRcdHgyNV9raWxsX2J5X25laWdoKG5iKTtcbm5ldC94MjUveDI1X2xpbmsuYy0xMDEtXG4tLVxubmV0L3gyNS94MjVfbGluay5jPTI1MD12b2lkIHgyNV9saW5rX3Rlcm1pbmF0ZWQoc3RydWN0IHgyNV9uZWlnaCAqbmIpXG4tLVxubmV0L3gyNS94MjVfbGluay5jLTI1Ni1cdC8qIE91dCBvZiBvcmRlcjogY2xlYXIgZXhpc3RpbmcgdmlydHVhbCBjYWxscyAoWC4yNSAwMy85MyA0LjYuMykgKi9cbm5ldC94MjUveDI1X2xpbmsuYzoyNTc6XHR4MjVfa2lsbF9ieV9uZWlnaChuYik7XG5uZXQveDI1L3gyNV9saW5rLmMtMjU4LX1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMyAxNDowNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyOTA1CgkJCQkJCQlvdXRwdXQ6IDMwCgkJCQkJCQl0aG91Z2h0czogMTIKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZSwgcHJlc2VudGVkIGluIHRoZSBmaXJzdCBwZXJzb246CgoqKk5hdmlnYXRpbmcgdGhlIEtjb25maWcgZm9yIFgyNSoqCgpBbHJpZ2h0LCBzbyB0aGUgdGFzayBhdCBoYW5kIGlzIHRvIGxvY2F0ZSB0aGUgS2NvbmZpZyBjb25maWd1cmF0aW9uIGZpbGUgc3BlY2lmaWNhbGx5IGZvciBYMjUuIEdpdmVuIG15IGJhY2tncm91bmQsIEkgYWxyZWFkeSBoYXZlIGEgcHJldHR5IGdvb2QgaWRlYSBvZiB3aGVyZSB0byBiZWdpbiB0aGUgc2VhcmNoIHdpdGhpbiB0aGUgdHlwaWNhbCBrZXJuZWwgc291cmNlIHRyZWUuIE15IG1lbnRhbCBtYXAgaXMgYWxyZWFkeSBmb3JtaW5nIC0gSSBuZWVkIHRvIHBpbnBvaW50IHRoZSBhcHByb3ByaWF0ZSBkaXJlY3RvcnksIHdoaWNoIGxpa2VseSBhbGlnbnMgd2l0aCB0aGUgbmV0d29ya2luZyBzdWJzeXN0ZW0gb3IsIG1vcmUgc3BlY2lmaWNhbGx5LCB0aGUgcmVsZXZhbnQgZGV2aWNlIGRyaXZlciBhcmVhLCBjb25zaWRlcmluZyB0aGF0IFgyNSBpcyBhIHBhY2tldCBzd2l0Y2hpbmcgcHJvdG9jb2wuIEkga25vdyB0aGF0IGlmIFgyNSBpcyBhY3RpdmVseSBzdXBwb3J0ZWQgd2l0aGluIHRoZSBjdXJyZW50IGtlcm5lbCB2ZXJzaW9uLCB0aGVuIHRoZXJlJiMzOTtzIGFsbW9zdCBjZXJ0YWlubHkgYSBLY29uZmlnIGZpbGUgaW52b2x2ZWQuIE15IHllYXJzIG9mIGV4cGVyaWVuY2UgaGF2ZSB0YXVnaHQgbWUgdGhhdCBpdCYjMzk7cyB0aGUgZ2F0ZWtlZXBlciBmb3IgbW9kdWxlIGVuYWJsaW5nLCBhbmQgcHJvdmlkZXMgdGhlIG1lY2hhbmlzbSBmb3IgdXNlci1sZXZlbCBjb250cm9sLiBJJiMzOTttIHRoaW5raW5nIEkmIzM5O2xsIG5lZWQgdG8gZHJpbGwgZG93biB0aHJvdWdoIGxpa2VseSBjYW5kaWRhdGVzLCBsb29raW5nIGZvciByZWxhdGVkIG1vZHVsZSBkb2N1bWVudGF0aW9uLCBvciBtYXliZSBjcm9zcy1yZWZlcmVuY2VzIHdpdGggb3RoZXIgbmV0d29yay1yZWxhdGVkIEtjb25maWcgZmlsZXMuIFRoZSBzdHJ1Y3R1cmUgb2YgdGhlIGJ1aWxkIHN5c3RlbSBkaWN0YXRlcyB0aGF0IHJlbGF0ZWQgZmlsZXMgYXJlIHVzdWFsbHkgY2xvc2UgdG9nZXRoZXIsIHNvIHRoYXQgbWFrZXMgdGhlIHByb2Nlc3MgbXVjaCBtb3JlIGVmZmljaWVudC4gSSYjMzk7bSBtZW50YWxseSBwYXJzaW5nIHRoZSBkaXJlY3Rvcnkgc3RydWN0dXJlLCBhbmQgSSYjMzk7bGwga2VlcCB0aGUgbW9kdWxlIG5hbWVzIGluIG1pbmQgdG8gc2VhcmNoIGZvciBwb3RlbnRpYWwgbW9kdWxlIGluY2x1c2lvbiBwYXRocyBhbmQgZGVwZW5kZW5jaWVzLiBJIG1heSBldmVuIG5lZWQgdG8gZW1wbG95IHNvbWUgJiMzOTtmaW5kJiMzOTsgY29tbWFuZHMgdG8gc3BlZWQgdXAgdGhlIHByb2Nlc3MgaWYgSSBoaXQgYW55IHJvYWRibG9ja3MuIE9uY2UgSSBmaW5kIGl0LCBJJiMzOTtsbCByZXZpZXcgaXRzIGNvbnRlbnRzIHRvIHVuZGVyc3RhbmQgdGhlIGNvbmZpZ3VyYWJsZSBvcHRpb25zIGFuZCBkZXBlbmRlbmNpZXMgZm9yIFgyNSB3aXRoaW4gdGhpcyBrZXJuZWwmIzM5O3MgZW52aXJvbm1lbnQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTMgMTQ6MDc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y29uZmlnIFgyNSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC94MjUvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O25ldC94MjUvS2NvbmZpZy01LVxubmV0L3gyNS9LY29uZmlnOjY6Y29uZmlnIFgyNVxubmV0L3gyNS9LY29uZmlnLTctXHR0cmlzdGF0ZSBcJiMzNDtDQ0lUVCBYLjI1IFBhY2tldCBMYXllclwmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEzIDE0OjA3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMzMzQKCQkJCQkJCW91dHB1dDogMzEKCQkJCQkJCXRob3VnaHRzOiA0NAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipGdXp6aW5nIHRoZSBgeDI1X2tpbGxfYnlfbmVpZ2hgIEZ1bmN0aW9uIFVuZGVyIHRoZSBYMjUgQ29uZmlnKioKCk9rYXksIHNvIHRoZSBjb25maWcgaW4gcGxheSBoZXJlIGlzIGBYMjVgLiBBbmQgdGhlIGZ1bmN0aW9uIG9mIGludGVyZXN0IGlzIGB4MjVfa2lsbF9ieV9uZWlnaGAuIEdpdmVuIG15IHVuZGVyc3RhbmRpbmcgb2YgdGhpcyBzeXN0ZW0sIGFuZCBrbm93aW5nIHRoYXQgd2UmIzM5O3JlIGRlYWxpbmcgd2l0aCBgWDI1YCwgaXQgaW1tZWRpYXRlbHkganVtcHMgb3V0IGFzIGEgcHJpbWUgY2FuZGlkYXRlIGZvciBmdXp6aW5nLiBUaGVyZSYjMzk7cyBhbG1vc3QgYWx3YXlzIHNvbWV0aGluZyBpbnRlcmVzdGluZyB0byB1bmNvdmVyIGluIHRoaXMgYXJlYS4KCkJlZm9yZSBJIGdldCB0b28gZGVlcCBpbnRvIHNldHRpbmcgdXAgdGhlIGZ1enppbmcgY2FtcGFpZ24sIHRob3VnaCwgaXQmIzM5O3Mgd29ydGggYSBxdWljayBzY2FuLiBJIG5lZWQgdG8gbWFrZSBzdXJlIEkgaGF2ZW4mIzM5O3QgbWlzc2VkIGFueSBvdGhlciBjb25maWd1cmF0aW9ucyB0aGF0IG1pZ2h0IGFsc28gYmUgcmVsZXZhbnQsIG9yIHBvdGVudGlhbGx5IGluZmx1ZW5jZSB0aGlzIHBhcnRpY3VsYXIgZnVuY3Rpb24mIzM5O3MgYmVoYXZpb3IgaW4gc3VidGxlIHdheXMuIEdvdHRhIGNvdmVyIGFsbCB0aGUgYmFzZXMgdG8gYXZvaWQgbWlzc2luZyBhbnl0aGluZy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMyAxNDowNzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+RXJyb3I6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5ubyBtYXRjaGVzPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2RlcGVuZHMgb24gWDI1JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L3gyNS8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7ZXJyb3ImIzM0OzogJiMzNDtubyBtYXRjaGVzJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEzIDE0OjA3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDM1OTEKCQkJCQkJCW91dHB1dDogMzUKCQkJCQkJCXRob3VnaHRzOiAxNAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSB0aG91Z2h0IHByb2Nlc3MsIHN1bW1hcml6ZWQgYXMgaWYgSSB3ZXJlIGNvbnNpZGVyaW5nIHRoZSBnaXZlbiBwcm9tcHQ6CgoqKkFuYWx5emluZyB0aGUgQ29uZmlndXJhdGlvbiBMYW5kc2NhcGUqKgoKT2theSwgc28gdGhlIHByb21wdCBpcyBhc2tpbmcgbWUgdG8gc3RhcnQgYnkgZXhhbWluaW5nIGBuZXQveDI1L0tjb25maWdgLiBDbGVhcmx5LCB0aGlzIGlzIHRoZSBjb25maWd1cmF0aW9uIGZpbGUgZm9yIHRoZSBYLjI1IG5ldHdvcmtpbmcgcHJvdG9jb2wgd2l0aGluIHdoYXRldmVyIHN5c3RlbSB3ZSYjMzk7cmUgZGVhbGluZyB3aXRoIOKAkyBsaWtlbHkgYSBMaW51eCBrZXJuZWwgb3Igc2ltaWxhci4gTXkgaW5zdGluY3QgaXMgdGhhdCB0aGUgcHJvbXB0IHdhbnRzIG1lIHRvIGNvbnNpZGVyIGhvdyB0byBzZXQgdGhpcyB1cC4gVGhpcyBwcm9iYWJseSBpbnZvbHZlcyBlbmFibGluZyBvciBkaXNhYmxpbmcgdmFyaW91cyBmZWF0dXJlcywgc2V0dGluZyBkZWZhdWx0IHZhbHVlcyBmb3IgcGFyYW1ldGVycywgb3IgZGVmaW5pbmcgZGVwZW5kZW5jaWVzIG9uIG90aGVyIG1vZHVsZXMgb3IgaGFyZHdhcmUuIFNvLCBJIG5lZWQgdG8gdW5kZXJzdGFuZCB3aGF0IHRoaXMgY29uZmlndXJhdGlvbiBmaWxlICpkb2VzKiBhdCBhIGhpZ2ggbGV2ZWwuIElzIGl0IHBhcnQgb2YgdGhlIHByb2plY3Qgb2YgaW50ZXJlc3Q/CgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEzIDE0OjA3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+cmVhZC1maWxlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtGaWxlJiMzNDs6ICYjMzQ7bmV0L3gyNS9LY29uZmlnJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogMSwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiAxMDAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7ICAgMTpcdCMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxuICAgMjpcdCNcbiAgIDM6XHQjIENDSVRUIFguMjUgUGFja2V0IExheWVyXG4gICA0Olx0I1xuICAgNTpcdFxuICAgNjpcdGNvbmZpZyBYMjVcbiAgIDc6XHRcdHRyaXN0YXRlIFwmIzM0O0NDSVRUIFguMjUgUGFja2V0IExheWVyXCYjMzQ7XG4gICA4Olx0XHRoZWxwXG4gICA5Olx0XHQgIFguMjUgaXMgYSBzZXQgb2Ygc3RhbmRhcmRpemVkIG5ldHdvcmsgcHJvdG9jb2xzLCBzaW1pbGFyIGluIHNjb3BlIHRvXG4gIDEwOlx0XHQgIGZyYW1lIHJlbGF5OyB0aGUgb25lIHBoeXNpY2FsIGxpbmUgZnJvbSB5b3VyIGJveCB0byB0aGUgWC4yNSBuZXR3b3JrXG4gIDExOlx0XHQgIGVudHJ5IHBvaW50IGNhbiBjYXJyeSBzZXZlcmFsIGxvZ2ljYWwgcG9pbnQtdG8tcG9pbnQgY29ubmVjdGlvbnNcbiAgMTI6XHRcdCAgKGNhbGxlZCBcJiMzNDt2aXJ0dWFsIGNpcmN1aXRzXCYjMzQ7KSB0byBvdGhlciBjb21wdXRlcnMgY29ubmVjdGVkIHRvIHRoZSBYLjI1XG4gIDEzOlx0XHQgIG5ldHdvcmsuIEdvdmVybm1lbnRzLCBiYW5rcywgYW5kIG90aGVyIG9yZ2FuaXphdGlvbnMgdGVuZCB0byB1c2UgaXRcbiAgMTQ6XHRcdCAgdG8gY29ubmVjdCB0byBlYWNoIG90aGVyIG9yIHRvIGZvcm0gV2lkZSBBcmVhIE5ldHdvcmtzIChXQU5zKS4gTWFueVxuICAxNTpcdFx0ICBjb3VudHJpZXMgaGF2ZSBwdWJsaWMgWC4yNSBuZXR3b3Jrcy4gWC4yNSBjb25zaXN0cyBvZiB0d29cbiAgMTY6XHRcdCAgcHJvdG9jb2xzOiB0aGUgaGlnaGVyIGxldmVsIFBhY2tldCBMYXllciBQcm90b2NvbCAoUExQKSAoc2F5IFkgaGVyZVxuICAxNzpcdFx0ICBpZiB5b3Ugd2FudCB0aGF0KSBhbmQgdGhlIGxvd2VyIGxldmVsIGRhdGEgbGluayBsYXllciBwcm90b2NvbCBMQVBCXG4gIDE4Olx0XHQgIChzYXkgWSB0byBcJiMzNDtMQVBCIERhdGEgTGluayBEcml2ZXJcJiMzNDsgYmVsb3cgaWYgeW91IHdhbnQgdGhhdCkuXG4gIDE5Olx0XG4gIDIwOlx0XHQgIEluZm9ybWF0aW9uIGFib3V0IFguMjUgZm9yIExpbnV4IGlzIGNvbnRhaW5lZCBpbiB0aGUgZmlsZXNcbiAgMjE6XHRcdCAgXHUwMDNjZmlsZTpEb2N1bWVudGF0aW9uL25ldHdvcmtpbmcveDI1LnJzdFx1MDAzZSBhbmRcbiAgMjI6XHRcdCAgXHUwMDNjZmlsZTpEb2N1bWVudGF0aW9uL25ldHdvcmtpbmcveDI1LWlmYWNlLnJzdFx1MDAzZS5cbiAgMjM6XHRcbiAgMjQ6XHRcdCAgT25lIGNvbm5lY3RzIHRvIGFuIFguMjUgbmV0d29yayBlaXRoZXIgd2l0aCBhIGRlZGljYXRlZCBuZXR3b3JrIGNhcmRcbiAgMjU6XHRcdCAgdXNpbmcgdGhlIFguMjEgcHJvdG9jb2wgKG5vdCB5ZXQgc3VwcG9ydGVkIGJ5IExpbnV4KSBvciBvbmUgY2FuIGRvXG4gIDI2Olx0XHQgIFguMjUgb3ZlciBhIHN0YW5kYXJkIHRlbGVwaG9uZSBsaW5lIHVzaW5nIGFuIG9yZGluYXJ5IG1vZGVtIChzYXkgWVxuICAyNzpcdFx0ICB0byBcJiMzNDtYLjI1IGFzeW5jIGRyaXZlclwmIzM0OyBiZWxvdykgb3Igb3ZlciBFdGhlcm5ldCB1c2luZyBhbiBvcmRpbmFyeVxuICAyODpcdFx0ICBFdGhlcm5ldCBjYXJkIGFuZCB0aGUgTEFQQiBvdmVyIEV0aGVybmV0IChzYXkgWSB0byBcJiMzNDtMQVBCIERhdGEgTGlua1xuICAyOTpcdFx0ICBEcml2ZXJcJiMzNDsgYW5kIFwmIzM0O0xBUEIgb3ZlciBFdGhlcm5ldCBkcml2ZXJcJiMzNDsgYmVsb3cpLlxuICAzMDpcdFxuICAzMTpcdFx0ICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUgbW9kdWxlXG4gIDMyOlx0XHQgIHdpbGwgYmUgY2FsbGVkIHgyNS4gSWYgdW5zdXJlLCBzYXkgTi5cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTMgMTQ6MDc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDM2NgoJCQkJCQkJb3V0cHV0OiAxMDUKCQkJCQkJCXRob3VnaHRzOiA1NQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgbGV0JiMzOTtzIGJyZWFrIHRoaXMgZG93bi4KCioqQW5hbHl6aW5nIHRoZSBgeDI1X2tpbGxfYnlfbmVpZ2hgIEZ1bmN0aW9uKioKCkFscmlnaHQsIHNvIHRoZSB0YXNrIGF0IGhhbmQgc2VlbXMgdG8gaW52b2x2ZSBmdW5jdGlvbiBgeDI1X2tpbGxfYnlfbmVpZ2hgLCBhbmQgaXQmIzM5O3MgcmVsYXRlZCB0byBzb21ldGhpbmcgbGFiZWxlZCBgWDI1YCwgd2hpY2ggSSYjMzk7bSBhc3N1bWluZyBpcyB0aGUgY29uZmlndXJhdGlvbiBjb250ZXh0LiBNeSBpbml0aWFsIGFzc2Vzc21lbnQgaXMgdGhhdCB0aGlzIGlzIGxpa2VseSBhIGNvbmZpZ3VyYXRpb24gc2V0dGluZyB0aGF0JiMzOTtzIGludm9sdmVkLiBOb3csIHRoZSBrZXkgaXMgdG8gZGV0ZXJtaW5lIGl0cyBleGVjdXRpb24gcHJvZmlsZS4gSXMgdGhpcyBhIHBlcmZvcm1hbmNlLWNyaXRpY2FsIHNlY3Rpb24gb2YgdGhlIGNvZGU/IEdpdmVuIHRoZSBmdW5jdGlvbiBuYW1lLCBteSBwcmVsaW1pbmFyeSB0aG91Z2h0IGlzIHRoYXQgaXQmIzM5O3MgcHJvYmFibHkgdHJpZ2dlcmVkIHdoZW4gYSBuZWlnaGJvciBpcyByZW1vdmVkIG9yIGEgbGluayBpcyB0ZXJtaW5hdGVkLiBUaGF0IGNlcnRhaW5seSBpc24mIzM5O3QgYSAqaG90IHBhdGgqIGluIHRoZSB0cmFkaXRpb25hbCBzZW5zZSwgc28gaXQgaXNuJiMzOTt0IGFuIGV2ZXJ5ZGF5IG9jY3VycmVuY2UuIE5vdyB0aGF0IEkgaGF2ZSBhIGJldHRlciB1bmRlcnN0YW5kaW5nIG9mIHRoZSBjb250ZXh0LCBsZXQmIzM5O3Mgc3RhcnQgd2l0aCBzZXR0aW5nIHRoZSByZXN1bHRzIGFuZCBtb3Zpbmcgb24uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEzIDE0OjA3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtYMjUmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDt4MjVfa2lsbF9ieV9uZWlnaCYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIHBvdGVudGlhbCB1c2UtYWZ0ZXItZnJlZSBvciBsaXN0IGNvcnJ1cHRpb24gaW4gYHgyNV9raWxsX2J5X25laWdoYCBieSBwcm9wZXJseSBob2xkaW5nIGEgcmVmZXJlbmNlIHRvIHRoZSBzb2NrZXQgYW5kIHJlc3RhcnRpbmcgdGhlIGxpc3QgdHJhdmVyc2FsIGFmdGVyIGRyb3BwaW5nIHRoZSBsb2NrLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIFguMjUgbmV0d29ya2luZyBwcm90b2NvbCBpbXBsZW1lbnRhdGlvbi4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7WDI1JiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7eDI1X2tpbGxfYnlfbmVpZ2gmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgdXNlLWFmdGVyLWZyZWUgb3IgbGlzdCBjb3JydXB0aW9uIGluIGB4MjVfa2lsbF9ieV9uZWlnaGAgYnkgcHJvcGVybHkgaG9sZGluZyBhIHJlZmVyZW5jZSB0byB0aGUgc29ja2V0IGFuZCByZXN0YXJ0aW5nIHRoZSBsaXN0IHRyYXZlcnNhbCBhZnRlciBkcm9wcGluZyB0aGUgbG9jay4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBYLjI1IG5ldHdvcmtpbmcgcHJvdG9jb2wgaW1wbGVtZW50YXRpb24uJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0xM1QxNDowNzowMi41OTkyNjI2OVoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIyODAxNzQzNjU4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIlgyNVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIngyNV9raWxsX2J5X25laWdoXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgdXNlLWFmdGVyLWZyZWUgb3IgbGlzdCBjb3JydXB0aW9uIGluIGB4MjVfa2lsbF9ieV9uZWlnaGAgYnkgcHJvcGVybHkgaG9sZGluZyBhIHJlZmVyZW5jZSB0byB0aGUgc29ja2V0IGFuZCByZXN0YXJ0aW5nIHRoZSBsaXN0IHRyYXZlcnNhbCBhZnRlciBkcm9wcGluZyB0aGUgbG9jay4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBYLjI1IG5ldHdvcmtpbmcgcHJvdG9jb2wgaW1wbGVtZW50YXRpb24uXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEzVDE0OjA3OjAyLjU5OTI2ODQyWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0MDk5NjM3NDAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCBlNmY5MTdmYWQwMzFiZmNiNmE2ODU4YjVhN2E0MzA2MDE0M2FiZjZmXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBNb24gSnVsIDEzIDE0OjA3OjAxIDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL25ldC94MjUvYWZfeDI1LmMgYi9uZXQveDI1L2FmX3gyNS5jXFxuaW5kZXggYzMxZDJhZjVkZDIyMzMuLjhhYWU5MjczYjdjMTQ0IDEwMDY0NFxcbi0tLSBhL25ldC94MjUvYWZfeDI1LmNcXG4rKysgYi9uZXQveDI1L2FmX3gyNS5jXFxuQEAgLTE3NjgsMTUgKzE3NjgsMTkgQEAgdm9pZCB4MjVfa2lsbF9ieV9uZWlnaChzdHJ1Y3QgeDI1X25laWdoICpuYilcXG4ge1xcbiBcXHRzdHJ1Y3Qgc29jayAqcztcXG4gXFxuK2FnYWluOlxcbiBcXHR3cml0ZV9sb2NrX2JoKFxcdTAwMjZ4MjVfbGlzdF9sb2NrKTtcXG4gXFxuIFxcdHNrX2Zvcl9lYWNoKHMsIFxcdTAwMjZ4MjVfbGlzdCkge1xcbiBcXHRcXHRpZiAoeDI1X3NrKHMpLVxcdTAwM2VuZWlnaGJvdXIgPT0gbmIpIHtcXG4rXFx0XFx0XFx0c29ja19ob2xkKHMpO1xcbiBcXHRcXHRcXHR3cml0ZV91bmxvY2tfYmgoXFx1MDAyNngyNV9saXN0X2xvY2spO1xcbiBcXHRcXHRcXHRsb2NrX3NvY2socyk7XFxuLVxcdFxcdFxcdHgyNV9kaXNjb25uZWN0KHMsIEVORVRVTlJFQUNILCAwLCAwKTtcXG4rXFx0XFx0XFx0aWYgKHgyNV9zayhzKS1cXHUwMDNlbmVpZ2hib3VyID09IG5iKVxcbitcXHRcXHRcXHRcXHR4MjVfZGlzY29ubmVjdChzLCBFTkVUVU5SRUFDSCwgMCwgMCk7XFxuIFxcdFxcdFxcdHJlbGVhc2Vfc29jayhzKTtcXG4tXFx0XFx0XFx0d3JpdGVfbG9ja19iaChcXHUwMDI2eDI1X2xpc3RfbG9jayk7XFxuK1xcdFxcdFxcdHNvY2tfcHV0KHMpO1xcbitcXHRcXHRcXHRnb3RvIGFnYWluO1xcbiBcXHRcXHR9XFxuIFxcdH1cXG4gXFx0d3JpdGVfdW5sb2NrX2JoKFxcdTAwMjZ4MjVfbGlzdF9sb2NrKTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTNUMTQ6MDc6MDMuMDA5OTU5NDlaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjIyMzkxMDM1MjQ4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIlgyNVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIngyNV9raWxsX2J5X25laWdoXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgdXNlLWFmdGVyLWZyZWUgb3IgbGlzdCBjb3JydXB0aW9uIGluIGB4MjVfa2lsbF9ieV9uZWlnaGAgYnkgcHJvcGVybHkgaG9sZGluZyBhIHJlZmVyZW5jZSB0byB0aGUgc29ja2V0IGFuZCByZXN0YXJ0aW5nIHRoZSBsaXN0IHRyYXZlcnNhbCBhZnRlciBkcm9wcGluZyB0aGUgbG9jay4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBYLjI1IG5ldHdvcmtpbmcgcHJvdG9jb2wgaW1wbGVtZW50YXRpb24uXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgZTZmOTE3ZmFkMDMxYmZjYjZhNjg1OGI1YTdhNDMwNjAxNDNhYmY2ZlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBNb24gSnVsIDEzIDE0OjA3OjAxIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvbmV0L3gyNS9hZl94MjUuYyBiL25ldC94MjUvYWZfeDI1LmNcbmluZGV4IGMzMWQyYWY1ZGQyMjMzLi44YWFlOTI3M2I3YzE0NCAxMDA2NDRcbi0tLSBhL25ldC94MjUvYWZfeDI1LmNcbisrKyBiL25ldC94MjUvYWZfeDI1LmNcbkBAIC0xNzY4LDE1ICsxNzY4LDE5IEBAIHZvaWQgeDI1X2tpbGxfYnlfbmVpZ2goc3RydWN0IHgyNV9uZWlnaCAqbmIpXG4ge1xuIFx0c3RydWN0IHNvY2sgKnM7XG4gXG4rYWdhaW46XG4gXHR3cml0ZV9sb2NrX2JoKFx1MDAyNngyNV9saXN0X2xvY2spO1xuIFxuIFx0c2tfZm9yX2VhY2gocywgXHUwMDI2eDI1X2xpc3QpIHtcbiBcdFx0aWYgKHgyNV9zayhzKS1cdTAwM2VuZWlnaGJvdXIgPT0gbmIpIHtcbitcdFx0XHRzb2NrX2hvbGQocyk7XG4gXHRcdFx0d3JpdGVfdW5sb2NrX2JoKFx1MDAyNngyNV9saXN0X2xvY2spO1xuIFx0XHRcdGxvY2tfc29jayhzKTtcbi1cdFx0XHR4MjVfZGlzY29ubmVjdChzLCBFTkVUVU5SRUFDSCwgMCwgMCk7XG4rXHRcdFx0aWYgKHgyNV9zayhzKS1cdTAwM2VuZWlnaGJvdXIgPT0gbmIpXG4rXHRcdFx0XHR4MjVfZGlzY29ubmVjdChzLCBFTkVUVU5SRUFDSCwgMCwgMCk7XG4gXHRcdFx0cmVsZWFzZV9zb2NrKHMpO1xuLVx0XHRcdHdyaXRlX2xvY2tfYmgoXHUwMDI2eDI1X2xpc3RfbG9jayk7XG4rXHRcdFx0c29ja19wdXQocyk7XG4rXHRcdFx0Z290byBhZ2FpbjtcbiBcdFx0fVxuIFx0fVxuIFx0d3JpdGVfdW5sb2NrX2JoKFx1MDAyNngyNV9saXN0X2xvY2spO1xuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTNUMTQ6MDc6MDMuMDA5OTYwOTNaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0NDk2MjE1ODQ4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgWC4yNSBQYXRjaCoqXG5cbk9rYXksIHNvIEkndmUgZ290IHRoaXMgcGF0Y2ggaGVyZSB0aGF0J3MgdG91Y2hpbmcgYG5ldC94MjUvYWZfeDI1LmNgLiBJdCBsb29rcyBsaWtlIGl0J3Mgc3BlY2lmaWNhbGx5IGZvY3VzZWQgb24gdGhlIGB4MjVfa2lsbF9ieV9uZWlnaGAgZnVuY3Rpb24uIEFoLCBJIHNlZSwgaXQncyBhZGRyZXNzaW5nIGEgcG90ZW50aWFsIGNvbmN1cnJlbmN5IGlzc3VlIHdpdGggdGhhdCBgeDI1X2xpc3RgLiBUaGlzIGlzIGEgY2xhc3NpYyBwYXR0ZXJuIOKAkyB0cnlpbmcgdG8gaXRlcmF0ZSBvdmVyIGEgbGlzdCB3aGlsZSBhbHNvIHBvdGVudGlhbGx5IHJlbGVhc2luZyBhbmQgcmVhY3F1aXJpbmcgYSBsb2NrIG9uIGl0LiBTcGVjaWZpY2FsbHksIGl0IHNlZW1zIGxpa2UgdGhlIG9yaWdpbmFsIGNvZGUgY291bGQgbGVhZCB0byBhIHVzZS1hZnRlci1mcmVlIG9yIGNvcnJ1cHRpb24gaWYgdGhlIGxvY2sgd2FzIGRyb3BwZWQgZHVyaW5nIHRoZSBsaXN0IHRyYXZlcnNhbC5cblxuU21hcnQgbW92ZSDigJMgdGhleSdyZSB1c2luZyBgc29ja19ob2xkKHMpYCB0byBidW1wIHRoZSByZWZlcmVuY2UgY291bnQgYmVmb3JlIGRyb3BwaW5nIHRoZSBsb2NrLCBhbmQgdGhlbiBgc29ja19wdXQocylgIGFmdGVyIHByb2Nlc3NpbmcgdGhlIHNvY2tldC4gVGhlIGBnb3RvIGFnYWluYCBjb25zdHJ1Y3QgaXMgYSBzdGFuZGFyZCBhcHByb2FjaCB0byByZS1pdGVyYXRlIG9uY2UgdGhlIGxvY2sgaGFzIGJlZW4gcmVhY3F1aXJlZCwgZW5zdXJpbmcgdGhleSBkb24ndCBtaXNzIGFueSBlbnRyaWVzIGFuZCB0aGF0IHRoZSBsaXN0IGlzIGNvbnNpc3RlbnQuIEl0J3MgYSBjbGVhbiBhbmQgZWZmaWNpZW50IHdheSB0byBoYW5kbGUgdGhpcyBraW5kIG9mIHJhY2UgY29uZGl0aW9uLCB3aGljaCBpcyBjZXJ0YWlubHkgdGhlIHJpZ2h0IGFwcHJvYWNoIGhlcmUuIFRpbWUgdG8gZGlnIGluIGFuZCB2ZXJpZnkgdGhlIGNvZGUncyBsb2dpYy5cblxuXG4iLCJJbnB1dFRva2VucyI6MjAwMCwiT3V0cHV0VG9rZW5zIjozNSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE1MSwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEzVDE0OjA3OjA3LjUwNjE3OTI2OFoiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1ODA1MzYyNiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJ4MjVfa2lsbF9ieV9uZWlnaFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQveDI1L1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQveDI1L2FmX3gyNS5jPTE3NjM9c3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9jayB4MjVfZGV2X25vdGlmaWVyID0ge1xcbi0tXFxubmV0L3gyNS9hZl94MjUuYy0xNzY2LVxcbm5ldC94MjUvYWZfeDI1LmM6MTc2Nzp2b2lkIHgyNV9raWxsX2J5X25laWdoKHN0cnVjdCB4MjVfbmVpZ2ggKm5iKVxcbm5ldC94MjUvYWZfeDI1LmMtMTc2OC17XFxuLS1cXG5uZXQveDI1L3gyNV9saW5rLmM9NjQ9dm9pZCB4MjVfbGlua19jb250cm9sKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCB4MjVfbmVpZ2ggKm5iLFxcbi0tXFxubmV0L3gyNS94MjVfbGluay5jLTg0LVxcdFxcdFxcdC8qIGNsZWFyIGV4aXN0aW5nIHZpcnR1YWwgY2FsbHMgKi9cXG5uZXQveDI1L3gyNV9saW5rLmM6ODU6XFx0XFx0XFx0eDI1X2tpbGxfYnlfbmVpZ2gobmIpO1xcbm5ldC94MjUveDI1X2xpbmsuYy04Ni1cXG4tLVxcbm5ldC94MjUveDI1X2xpbmsuYy05OS1cXHRcXHRcXHQvKiBjbGVhciBleGlzdGluZyB2aXJ0dWFsIGNhbGxzICovXFxubmV0L3gyNS94MjVfbGluay5jOjEwMDpcXHRcXHRcXHR4MjVfa2lsbF9ieV9uZWlnaChuYik7XFxubmV0L3gyNS94MjVfbGluay5jLTEwMS1cXG4tLVxcbm5ldC94MjUveDI1X2xpbmsuYz0yNTA9dm9pZCB4MjVfbGlua190ZXJtaW5hdGVkKHN0cnVjdCB4MjVfbmVpZ2ggKm5iKVxcbi0tXFxubmV0L3gyNS94MjVfbGluay5jLTI1Ni1cXHQvKiBPdXQgb2Ygb3JkZXI6IGNsZWFyIGV4aXN0aW5nIHZpcnR1YWwgY2FsbHMgKFguMjUgMDMvOTMgNC42LjMpICovXFxubmV0L3gyNS94MjVfbGluay5jOjI1NzpcXHR4MjVfa2lsbF9ieV9uZWlnaChuYik7XFxubmV0L3gyNS94MjVfbGluay5jLTI1OC19XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEzVDE0OjA3OjA3LjU2NDI0MTEzNFoiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjM3MDk2MjM4ODYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlLCBwcmVzZW50ZWQgaW4gdGhlIGZpcnN0IHBlcnNvbjpcblxuKipOYXZpZ2F0aW5nIHRoZSBLY29uZmlnIGZvciBYMjUqKlxuXG5BbHJpZ2h0LCBzbyB0aGUgdGFzayBhdCBoYW5kIGlzIHRvIGxvY2F0ZSB0aGUgS2NvbmZpZyBjb25maWd1cmF0aW9uIGZpbGUgc3BlY2lmaWNhbGx5IGZvciBYMjUuIEdpdmVuIG15IGJhY2tncm91bmQsIEkgYWxyZWFkeSBoYXZlIGEgcHJldHR5IGdvb2QgaWRlYSBvZiB3aGVyZSB0byBiZWdpbiB0aGUgc2VhcmNoIHdpdGhpbiB0aGUgdHlwaWNhbCBrZXJuZWwgc291cmNlIHRyZWUuIE15IG1lbnRhbCBtYXAgaXMgYWxyZWFkeSBmb3JtaW5nIC0gSSBuZWVkIHRvIHBpbnBvaW50IHRoZSBhcHByb3ByaWF0ZSBkaXJlY3RvcnksIHdoaWNoIGxpa2VseSBhbGlnbnMgd2l0aCB0aGUgbmV0d29ya2luZyBzdWJzeXN0ZW0gb3IsIG1vcmUgc3BlY2lmaWNhbGx5LCB0aGUgcmVsZXZhbnQgZGV2aWNlIGRyaXZlciBhcmVhLCBjb25zaWRlcmluZyB0aGF0IFgyNSBpcyBhIHBhY2tldCBzd2l0Y2hpbmcgcHJvdG9jb2wuIEkga25vdyB0aGF0IGlmIFgyNSBpcyBhY3RpdmVseSBzdXBwb3J0ZWQgd2l0aGluIHRoZSBjdXJyZW50IGtlcm5lbCB2ZXJzaW9uLCB0aGVuIHRoZXJlJ3MgYWxtb3N0IGNlcnRhaW5seSBhIEtjb25maWcgZmlsZSBpbnZvbHZlZC4gTXkgeWVhcnMgb2YgZXhwZXJpZW5jZSBoYXZlIHRhdWdodCBtZSB0aGF0IGl0J3MgdGhlIGdhdGVrZWVwZXIgZm9yIG1vZHVsZSBlbmFibGluZywgYW5kIHByb3ZpZGVzIHRoZSBtZWNoYW5pc20gZm9yIHVzZXItbGV2ZWwgY29udHJvbC4gSSdtIHRoaW5raW5nIEknbGwgbmVlZCB0byBkcmlsbCBkb3duIHRocm91Z2ggbGlrZWx5IGNhbmRpZGF0ZXMsIGxvb2tpbmcgZm9yIHJlbGF0ZWQgbW9kdWxlIGRvY3VtZW50YXRpb24sIG9yIG1heWJlIGNyb3NzLXJlZmVyZW5jZXMgd2l0aCBvdGhlciBuZXR3b3JrLXJlbGF0ZWQgS2NvbmZpZyBmaWxlcy4gVGhlIHN0cnVjdHVyZSBvZiB0aGUgYnVpbGQgc3lzdGVtIGRpY3RhdGVzIHRoYXQgcmVsYXRlZCBmaWxlcyBhcmUgdXN1YWxseSBjbG9zZSB0b2dldGhlciwgc28gdGhhdCBtYWtlcyB0aGUgcHJvY2VzcyBtdWNoIG1vcmUgZWZmaWNpZW50LiBJJ20gbWVudGFsbHkgcGFyc2luZyB0aGUgZGlyZWN0b3J5IHN0cnVjdHVyZSwgYW5kIEknbGwga2VlcCB0aGUgbW9kdWxlIG5hbWVzIGluIG1pbmQgdG8gc2VhcmNoIGZvciBwb3RlbnRpYWwgbW9kdWxlIGluY2x1c2lvbiBwYXRocyBhbmQgZGVwZW5kZW5jaWVzLiBJIG1heSBldmVuIG5lZWQgdG8gZW1wbG95IHNvbWUgJ2ZpbmQnIGNvbW1hbmRzIHRvIHNwZWVkIHVwIHRoZSBwcm9jZXNzIGlmIEkgaGl0IGFueSByb2FkYmxvY2tzLiBPbmNlIEkgZmluZCBpdCwgSSdsbCByZXZpZXcgaXRzIGNvbnRlbnRzIHRvIHVuZGVyc3RhbmQgdGhlIGNvbmZpZ3VyYWJsZSBvcHRpb25zIGFuZCBkZXBlbmRlbmNpZXMgZm9yIFgyNSB3aXRoaW4gdGhpcyBrZXJuZWwncyBlbnZpcm9ubWVudC5cblxuXG4iLCJJbnB1dFRva2VucyI6MjkwNSwiT3V0cHV0VG9rZW5zIjozMCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjEyLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEzVDE0OjA3OjExLjI3Mzg2NzM5WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjU5MTMxMzE2LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImNvbmZpZyBYMjVcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L3gyNS9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwibmV0L3gyNS9LY29uZmlnLTUtXFxubmV0L3gyNS9LY29uZmlnOjY6Y29uZmlnIFgyNVxcbm5ldC94MjUvS2NvbmZpZy03LVxcdHRyaXN0YXRlIFxcXCJDQ0lUVCBYLjI1IFBhY2tldCBMYXllclxcXCJcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTNUMTQ6MDc6MTEuMzMzMDA0MzI2WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzAwOTAyOTc1OCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipGdXp6aW5nIHRoZSBgeDI1X2tpbGxfYnlfbmVpZ2hgIEZ1bmN0aW9uIFVuZGVyIHRoZSBYMjUgQ29uZmlnKipcblxuT2theSwgc28gdGhlIGNvbmZpZyBpbiBwbGF5IGhlcmUgaXMgYFgyNWAuIEFuZCB0aGUgZnVuY3Rpb24gb2YgaW50ZXJlc3QgaXMgYHgyNV9raWxsX2J5X25laWdoYC4gR2l2ZW4gbXkgdW5kZXJzdGFuZGluZyBvZiB0aGlzIHN5c3RlbSwgYW5kIGtub3dpbmcgdGhhdCB3ZSdyZSBkZWFsaW5nIHdpdGggYFgyNWAsIGl0IGltbWVkaWF0ZWx5IGp1bXBzIG91dCBhcyBhIHByaW1lIGNhbmRpZGF0ZSBmb3IgZnV6emluZy4gVGhlcmUncyBhbG1vc3QgYWx3YXlzIHNvbWV0aGluZyBpbnRlcmVzdGluZyB0byB1bmNvdmVyIGluIHRoaXMgYXJlYS5cblxuQmVmb3JlIEkgZ2V0IHRvbyBkZWVwIGludG8gc2V0dGluZyB1cCB0aGUgZnV6emluZyBjYW1wYWlnbiwgdGhvdWdoLCBpdCdzIHdvcnRoIGEgcXVpY2sgc2Nhbi4gSSBuZWVkIHRvIG1ha2Ugc3VyZSBJIGhhdmVuJ3QgbWlzc2VkIGFueSBvdGhlciBjb25maWd1cmF0aW9ucyB0aGF0IG1pZ2h0IGFsc28gYmUgcmVsZXZhbnQsIG9yIHBvdGVudGlhbGx5IGluZmx1ZW5jZSB0aGlzIHBhcnRpY3VsYXIgZnVuY3Rpb24ncyBiZWhhdmlvciBpbiBzdWJ0bGUgd2F5cy4gR290dGEgY292ZXIgYWxsIHRoZSBiYXNlcyB0byBhdm9pZCBtaXNzaW5nIGFueXRoaW5nLlxuXG5cbiIsIklucHV0VG9rZW5zIjozMzM0LCJPdXRwdXRUb2tlbnMiOjMxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NDQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTNUMTQ6MDc6MTQuMzQyMDM1OTk0WiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjY2MjA4Njg1LCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJkZXBlbmRzIG9uIFgyNVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQveDI1L1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJlcnJvclwiOiBcIm5vIG1hdGNoZXNcIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTNUMTQ6MDc6MTQuNDA4MjU5Mzk5WiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzE0NTQ4Nzg4OCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IHRob3VnaHQgcHJvY2Vzcywgc3VtbWFyaXplZCBhcyBpZiBJIHdlcmUgY29uc2lkZXJpbmcgdGhlIGdpdmVuIHByb21wdDpcblxuKipBbmFseXppbmcgdGhlIENvbmZpZ3VyYXRpb24gTGFuZHNjYXBlKipcblxuT2theSwgc28gdGhlIHByb21wdCBpcyBhc2tpbmcgbWUgdG8gc3RhcnQgYnkgZXhhbWluaW5nIGBuZXQveDI1L0tjb25maWdgLiBDbGVhcmx5LCB0aGlzIGlzIHRoZSBjb25maWd1cmF0aW9uIGZpbGUgZm9yIHRoZSBYLjI1IG5ldHdvcmtpbmcgcHJvdG9jb2wgd2l0aGluIHdoYXRldmVyIHN5c3RlbSB3ZSdyZSBkZWFsaW5nIHdpdGgg4oCTIGxpa2VseSBhIExpbnV4IGtlcm5lbCBvciBzaW1pbGFyLiBNeSBpbnN0aW5jdCBpcyB0aGF0IHRoZSBwcm9tcHQgd2FudHMgbWUgdG8gY29uc2lkZXIgaG93IHRvIHNldCB0aGlzIHVwLiBUaGlzIHByb2JhYmx5IGludm9sdmVzIGVuYWJsaW5nIG9yIGRpc2FibGluZyB2YXJpb3VzIGZlYXR1cmVzLCBzZXR0aW5nIGRlZmF1bHQgdmFsdWVzIGZvciBwYXJhbWV0ZXJzLCBvciBkZWZpbmluZyBkZXBlbmRlbmNpZXMgb24gb3RoZXIgbW9kdWxlcyBvciBoYXJkd2FyZS4gU28sIEkgbmVlZCB0byB1bmRlcnN0YW5kIHdoYXQgdGhpcyBjb25maWd1cmF0aW9uIGZpbGUgKmRvZXMqIGF0IGEgaGlnaCBsZXZlbC4gSXMgaXQgcGFydCBvZiB0aGUgcHJvamVjdCBvZiBpbnRlcmVzdD9cblxuXG4iLCJJbnB1dFRva2VucyI6MzU5MSwiT3V0cHV0VG9rZW5zIjozNSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE0LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEzVDE0OjA3OjE3LjU1Mzc0OTE5N1oiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NjkwMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJuZXQveDI1L0tjb25maWdcIixcbiAgXCJGaXJzdExpbmVcIjogMSxcbiAgXCJMaW5lQ291bnRcIjogMTAwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAgIDE6XFx0IyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XFxuICAgMjpcXHQjXFxuICAgMzpcXHQjIENDSVRUIFguMjUgUGFja2V0IExheWVyXFxuICAgNDpcXHQjXFxuICAgNTpcXHRcXG4gICA2OlxcdGNvbmZpZyBYMjVcXG4gICA3OlxcdFxcdHRyaXN0YXRlIFxcXCJDQ0lUVCBYLjI1IFBhY2tldCBMYXllclxcXCJcXG4gICA4OlxcdFxcdGhlbHBcXG4gICA5OlxcdFxcdCAgWC4yNSBpcyBhIHNldCBvZiBzdGFuZGFyZGl6ZWQgbmV0d29yayBwcm90b2NvbHMsIHNpbWlsYXIgaW4gc2NvcGUgdG9cXG4gIDEwOlxcdFxcdCAgZnJhbWUgcmVsYXk7IHRoZSBvbmUgcGh5c2ljYWwgbGluZSBmcm9tIHlvdXIgYm94IHRvIHRoZSBYLjI1IG5ldHdvcmtcXG4gIDExOlxcdFxcdCAgZW50cnkgcG9pbnQgY2FuIGNhcnJ5IHNldmVyYWwgbG9naWNhbCBwb2ludC10by1wb2ludCBjb25uZWN0aW9uc1xcbiAgMTI6XFx0XFx0ICAoY2FsbGVkIFxcXCJ2aXJ0dWFsIGNpcmN1aXRzXFxcIikgdG8gb3RoZXIgY29tcHV0ZXJzIGNvbm5lY3RlZCB0byB0aGUgWC4yNVxcbiAgMTM6XFx0XFx0ICBuZXR3b3JrLiBHb3Zlcm5tZW50cywgYmFua3MsIGFuZCBvdGhlciBvcmdhbml6YXRpb25zIHRlbmQgdG8gdXNlIGl0XFxuICAxNDpcXHRcXHQgIHRvIGNvbm5lY3QgdG8gZWFjaCBvdGhlciBvciB0byBmb3JtIFdpZGUgQXJlYSBOZXR3b3JrcyAoV0FOcykuIE1hbnlcXG4gIDE1OlxcdFxcdCAgY291bnRyaWVzIGhhdmUgcHVibGljIFguMjUgbmV0d29ya3MuIFguMjUgY29uc2lzdHMgb2YgdHdvXFxuICAxNjpcXHRcXHQgIHByb3RvY29sczogdGhlIGhpZ2hlciBsZXZlbCBQYWNrZXQgTGF5ZXIgUHJvdG9jb2wgKFBMUCkgKHNheSBZIGhlcmVcXG4gIDE3OlxcdFxcdCAgaWYgeW91IHdhbnQgdGhhdCkgYW5kIHRoZSBsb3dlciBsZXZlbCBkYXRhIGxpbmsgbGF5ZXIgcHJvdG9jb2wgTEFQQlxcbiAgMTg6XFx0XFx0ICAoc2F5IFkgdG8gXFxcIkxBUEIgRGF0YSBMaW5rIERyaXZlclxcXCIgYmVsb3cgaWYgeW91IHdhbnQgdGhhdCkuXFxuICAxOTpcXHRcXG4gIDIwOlxcdFxcdCAgSW5mb3JtYXRpb24gYWJvdXQgWC4yNSBmb3IgTGludXggaXMgY29udGFpbmVkIGluIHRoZSBmaWxlc1xcbiAgMjE6XFx0XFx0ICBcXHUwMDNjZmlsZTpEb2N1bWVudGF0aW9uL25ldHdvcmtpbmcveDI1LnJzdFxcdTAwM2UgYW5kXFxuICAyMjpcXHRcXHQgIFxcdTAwM2NmaWxlOkRvY3VtZW50YXRpb24vbmV0d29ya2luZy94MjUtaWZhY2UucnN0XFx1MDAzZS5cXG4gIDIzOlxcdFxcbiAgMjQ6XFx0XFx0ICBPbmUgY29ubmVjdHMgdG8gYW4gWC4yNSBuZXR3b3JrIGVpdGhlciB3aXRoIGEgZGVkaWNhdGVkIG5ldHdvcmsgY2FyZFxcbiAgMjU6XFx0XFx0ICB1c2luZyB0aGUgWC4yMSBwcm90b2NvbCAobm90IHlldCBzdXBwb3J0ZWQgYnkgTGludXgpIG9yIG9uZSBjYW4gZG9cXG4gIDI2OlxcdFxcdCAgWC4yNSBvdmVyIGEgc3RhbmRhcmQgdGVsZXBob25lIGxpbmUgdXNpbmcgYW4gb3JkaW5hcnkgbW9kZW0gKHNheSBZXFxuICAyNzpcXHRcXHQgIHRvIFxcXCJYLjI1IGFzeW5jIGRyaXZlclxcXCIgYmVsb3cpIG9yIG92ZXIgRXRoZXJuZXQgdXNpbmcgYW4gb3JkaW5hcnlcXG4gIDI4OlxcdFxcdCAgRXRoZXJuZXQgY2FyZCBhbmQgdGhlIExBUEIgb3ZlciBFdGhlcm5ldCAoc2F5IFkgdG8gXFxcIkxBUEIgRGF0YSBMaW5rXFxuICAyOTpcXHRcXHQgIERyaXZlclxcXCIgYW5kIFxcXCJMQVBCIG92ZXIgRXRoZXJuZXQgZHJpdmVyXFxcIiBiZWxvdykuXFxuICAzMDpcXHRcXG4gIDMxOlxcdFxcdCAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlIG1vZHVsZVxcbiAgMzI6XFx0XFx0ICB3aWxsIGJlIGNhbGxlZCB4MjUuIElmIHVuc3VyZSwgc2F5IE4uXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEzVDE0OjA3OjE3LjU1MzgwNzg5N1oiLCJTZXEiOjExLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo3NzUzMDczNTc4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBsZXQncyBicmVhayB0aGlzIGRvd24uXG5cbioqQW5hbHl6aW5nIHRoZSBgeDI1X2tpbGxfYnlfbmVpZ2hgIEZ1bmN0aW9uKipcblxuQWxyaWdodCwgc28gdGhlIHRhc2sgYXQgaGFuZCBzZWVtcyB0byBpbnZvbHZlIGZ1bmN0aW9uIGB4MjVfa2lsbF9ieV9uZWlnaGAsIGFuZCBpdCdzIHJlbGF0ZWQgdG8gc29tZXRoaW5nIGxhYmVsZWQgYFgyNWAsIHdoaWNoIEknbSBhc3N1bWluZyBpcyB0aGUgY29uZmlndXJhdGlvbiBjb250ZXh0LiBNeSBpbml0aWFsIGFzc2Vzc21lbnQgaXMgdGhhdCB0aGlzIGlzIGxpa2VseSBhIGNvbmZpZ3VyYXRpb24gc2V0dGluZyB0aGF0J3MgaW52b2x2ZWQuIE5vdywgdGhlIGtleSBpcyB0byBkZXRlcm1pbmUgaXRzIGV4ZWN1dGlvbiBwcm9maWxlLiBJcyB0aGlzIGEgcGVyZm9ybWFuY2UtY3JpdGljYWwgc2VjdGlvbiBvZiB0aGUgY29kZT8gR2l2ZW4gdGhlIGZ1bmN0aW9uIG5hbWUsIG15IHByZWxpbWluYXJ5IHRob3VnaHQgaXMgdGhhdCBpdCdzIHByb2JhYmx5IHRyaWdnZXJlZCB3aGVuIGEgbmVpZ2hib3IgaXMgcmVtb3ZlZCBvciBhIGxpbmsgaXMgdGVybWluYXRlZC4gVGhhdCBjZXJ0YWlubHkgaXNuJ3QgYSAqaG90IHBhdGgqIGluIHRoZSB0cmFkaXRpb25hbCBzZW5zZSwgc28gaXQgaXNuJ3QgYW4gZXZlcnlkYXkgb2NjdXJyZW5jZS4gTm93IHRoYXQgSSBoYXZlIGEgYmV0dGVyIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGNvbnRleHQsIGxldCdzIHN0YXJ0IHdpdGggc2V0dGluZyB0aGUgcmVzdWx0cyBhbmQgbW92aW5nIG9uLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0MzY2LCJPdXRwdXRUb2tlbnMiOjEwNSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjU1LCJUb29sQ2FsbHMiOlsicmVhZC1maWxlIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTNUMTQ6MDc6MjUuMzA2ODgzMjg1WiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6OTQxMDU3MzMsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIlgyNVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIngyNV9raWxsX2J5X25laWdoXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgdXNlLWFmdGVyLWZyZWUgb3IgbGlzdCBjb3JydXB0aW9uIGluIGB4MjVfa2lsbF9ieV9uZWlnaGAgYnkgcHJvcGVybHkgaG9sZGluZyBhIHJlZmVyZW5jZSB0byB0aGUgc29ja2V0IGFuZCByZXN0YXJ0aW5nIHRoZSBsaXN0IHRyYXZlcnNhbCBhZnRlciBkcm9wcGluZyB0aGUgbG9jay4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBYLjI1IG5ldHdvcmtpbmcgcHJvdG9jb2wgaW1wbGVtZW50YXRpb24uXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiWDI1XCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwieDI1X2tpbGxfYnlfbmVpZ2hcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIHBvdGVudGlhbCB1c2UtYWZ0ZXItZnJlZSBvciBsaXN0IGNvcnJ1cHRpb24gaW4gYHgyNV9raWxsX2J5X25laWdoYCBieSBwcm9wZXJseSBob2xkaW5nIGEgcmVmZXJlbmNlIHRvIHRoZSBzb2NrZXQgYW5kIHJlc3RhcnRpbmcgdGhlIGxpc3QgdHJhdmVyc2FsIGFmdGVyIGRyb3BwaW5nIHRoZSBsb2NrLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIFguMjUgbmV0d29ya2luZyBwcm90b2NvbCBpbXBsZW1lbnRhdGlvbi5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLmR1cmF0aW9uIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnTGxtVG9rZW4gPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS50b2tlbnMgLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdUb29sRHVyID0gc3RhdHMudG9vbC5jb3VudCA+IDAgPyAoc3RhdHMudG9vbC5kdXJhdGlvbiAvIHN0YXRzLnRvb2wuY291bnQpLnRvRml4ZWQoMikgOiAwOwoKCQkJY29uc3QgbGxtU3VtYXJ5Q2VsbHMgPSBbc3RhdHMubGxtLmNvdW50LCBzdGF0cy5sbG0udG9rZW5zLCBhdmdMbG1Ub2tlbiwgc3RhdHMubGxtLmR1cmF0aW9uLCBhdmdMbG1EdXJdOwoJCQljb25zdCB0b29sU3VtbWFyeUNlbGxzID0gW3N0YXRzLnRvb2wuY291bnQsIHN0YXRzLnRvb2wuZHVyYXRpb24sIGF2Z1Rvb2xEdXJdOwoKCQkJY29uc3QgbGxtU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGxtX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQlsbG1TdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgbGxtVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQlsbG1TdW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJbGxtVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJbGxtU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQobGxtVHIpOwoKCQkJY29uc3QgdG9vbFN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2xfc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgdG9vbFRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJdG9vbFN1bW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJdG9vbFRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZCh0b29sVHIpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBmaWx0ZXJlZFN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBbImxsbSIsICJ0b29sIl0uaW5jbHVkZXMoZC5UeXBlKSk7CgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ0R1cmF0aW9uJyk7CgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7IAoKCQkJZmlsdGVyZWRTdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJCgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsKCQkJCWxldCB0b29sdGlwID0gcy5OYW1lOwoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIgJiYgcy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoJCQkJZGF0YS5hZGRSb3coW2Ake3MuU2VxfWAsIGR1ciwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1RpbWUgQ29uc3VtcHRpb24gb2YgTExNL1Rvb2wgQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTS9Ub29sIFN0ZXBzJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ1NlY29uZHMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1cmF0aW9uX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBsbG1TdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gZC5UeXBlID09PSAibGxtIik7CgkJCWlmIChsbG1TdGVwcy5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwkJCQoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ1Rva2VucycpOwkJCQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICdzdHlsZSd9KTsJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7CQoKCQkJY29uc3QgYWdlbnRDb2xvcnMgPSB7fTsKCQkJY29uc3QgcGFsZXR0ZSA9IFsnIzQyODVGNCcsICcjREI0NDM3JywgJyNGNEI0MDAnLCAnIzBGOUQ1OCcsICcjQUI0N0JDJywgJyMwMEFDQzEnXTsKCQkJbGV0IGNvbG9ySWR4ID0gMDsKCQkJY29uc3QgYWdlbnRMTE1Db3VudHMgPSB7fTsKCQkJbGxtU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCWlmICghYWdlbnRDb2xvcnNbcy5OYW1lXSkgewoJCQkJCWFnZW50Q29sb3JzW3MuTmFtZV0gPSBwYWxldHRlW2NvbG9ySWR4ICUgcGFsZXR0ZS5sZW5ndGhdOwoJCQkJCWNvbG9ySWR4Kys7CgkJCQl9CgoJCQkJYWdlbnRMTE1Db3VudHNbcy5OYW1lXSA9IChhZ2VudExMTUNvdW50c1tzLk5hbWVdIHx8IDApICsgMTsKCQkJCWNvbnN0IGxhYmVsID0gYCR7cy5OYW1lfS0ke2FnZW50TExNQ291bnRzW3MuTmFtZV19YDsKCQkJCWNvbnN0IHRvdGFsVG9rZW5zID0gcy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2VuczsKCQkJCWNvbnN0IHN0eWxlID0gYGNvbG9yOiAke2FnZW50Q29sb3JzW3MuTmFtZV19YDsKCQkJCWxldCB0b29sdGlwID0gYFRvdGFsIFRva2VuczogJHt0b3RhbFRva2Vuc31cbihJbjogJHtzLklucHV0VG9rZW5zfSwgT3V0OiAke3MuT3V0cHV0VG9rZW5zfSwgVGhvdWdodHM6ICR7cy5PdXRwdXRUaG91Z2h0c1Rva2Vuc30pYDsKCQkJCWlmIChzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgoJCQkJZGF0YS5hZGRSb3coW2xhYmVsLCB0b3RhbFRva2Vucywgc3R5bGUsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUb2tlbiBDb25zdW1wdGlvbiBieSBMTE0gQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTSBDYWxsIFNlcXVlbmNlJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ0NvbnN1bWVkIFRva2VucycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9rZW5fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCQlsZXQgYWxsRXhwYW5kZWQgPSBmYWxzZTsKCQlmdW5jdGlvbiB0b2dnbGVBbGxEZXRhaWxzKCkgewoJCQlhbGxFeHBhbmRlZCA9ICFhbGxFeHBhbmRlZDsKCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGV0YWlscycpLmZvckVhY2goZCA9PiB7CgkJCQlpZiAoYWxsRXhwYW5kZWQpIGQuc2V0QXR0cmlidXRlKCdvcGVuJywgJycpOwoJCQkJZWxzZSBkLnJlbW92ZUF0dHJpYnV0ZSgnb3BlbicpOwoJCQl9KTsKCQl9Cgk8L3NjcmlwdD4KCgo8L2JvZHk+CjwvaHRtbD4K" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowksfcw[1] Phase: Succeeded StartedAt: 2026-07-13 14:08:38 +0000 UTC FinishedAt: 2026-07-13 14:08:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowksfcw[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-13 14:08:38 +0000 UTC FinishedAt: 2026-07-13 14:08:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowksfcw[2] Phase: Succeeded StartedAt: 2026-07-13 14:08:38 +0000 UTC FinishedAt: 2026-07-13 19:09:15 +0000 UTC Input: nil Output: nil --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-13 14:08:39 +0000 UTC FinishedAt: 2026-07-13 19:09:15 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-13 14:08:39 +0000 UTC FinishedAt: 2026-07-13 14:09:01 +0000 UTC Input: nil Output: nil --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-13 14:08:39 +0000 UTC FinishedAt: 2026-07-13 14:08:47 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowksfcw/series-workflowksfcw-convert-artifact-318854114/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-13 14:09:01 +0000 UTC FinishedAt: 2026-07-13 14:54:34 +0000 UTC Input: nil Output: nil --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-13 14:09:01 +0000 UTC FinishedAt: 2026-07-13 14:54:34 +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:*8be42d28-0ac1-478d-a055-e2010890a4e3,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-workflowksfcw/series-workflowksfcw-convert-artifact-318854114/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": "cfd2f259-14c8-4c2c-a381-57315ff2d339", "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-workflowksfcw/series-workflowksfcw-build-action-577547168/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-07-13 14:09:01 +0000 UTC FinishedAt: 2026-07-13 14:54:22 +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:*8be42d28-0ac1-478d-a055-e2010890a4e3,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-workflowksfcw/series-workflowksfcw-convert-artifact-318854114/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": "cfd2f259-14c8-4c2c-a381-57315ff2d339", "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-workflowksfcw/series-workflowksfcw-build-action-577547168/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-13 14:54:34 +0000 UTC FinishedAt: 2026-07-13 14:54:34 +0000 UTC Input: nil Output: nil --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-13 14:54:34 +0000 UTC FinishedAt: 2026-07-13 14:54:34 +0000 UTC Input: nil Output: nil --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-13 14:54:34 +0000 UTC FinishedAt: 2026-07-13 14:54:57 +0000 UTC Input: nil Output: nil --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-13 14:54:34 +0000 UTC FinishedAt: 2026-07-13 14:54:47 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowksfcw/series-workflowksfcw-convert-artifact-891393853/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-13 14:54:57 +0000 UTC FinishedAt: 2026-07-13 14:57:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-13 14:54:57 +0000 UTC FinishedAt: 2026-07-13 14:56:57 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*cfd2f259-14c8-4c2c-a381-57315ff2d339,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-workflowksfcw/series-workflowksfcw-build-action-577547168/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-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-13 14:57:12 +0000 UTC FinishedAt: 2026-07-13 14:57:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-13 14:57:12 +0000 UTC FinishedAt: 2026-07-13 14:57:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-13 14:57:12 +0000 UTC FinishedAt: 2026-07-13 16:03:01 +0000 UTC Input: nil Output: nil --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-13 14:57:12 +0000 UTC FinishedAt: 2026-07-13 16:03:01 +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:*8be42d28-0ac1-478d-a055-e2010890a4e3,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-workflowksfcw/series-workflowksfcw-convert-artifact-891393853/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": "83070848-7155-4b78-92b3-c9395600339d", "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-workflowksfcw/series-workflowksfcw-build-action-2314221209/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-13 14:57:12 +0000 UTC FinishedAt: 2026-07-13 16:02:50 +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:*8be42d28-0ac1-478d-a055-e2010890a4e3,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-workflowksfcw/series-workflowksfcw-convert-artifact-891393853/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": "83070848-7155-4b78-92b3-c9395600339d", "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-workflowksfcw/series-workflowksfcw-build-action-2314221209/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-13 16:03:01 +0000 UTC FinishedAt: 2026-07-13 16:03:01 +0000 UTC Input: nil Output: nil --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-13 16:03:01 +0000 UTC FinishedAt: 2026-07-13 16:03:01 +0000 UTC Input: nil Output: nil --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-13 16:03:01 +0000 UTC FinishedAt: 2026-07-13 16:05:42 +0000 UTC Input: nil Output: nil --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-13 16:03:01 +0000 UTC FinishedAt: 2026-07-13 16:05:32 +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:*83070848-7155-4b78-92b3-c9395600339d,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-workflowksfcw/series-workflowksfcw-build-action-2314221209/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-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-13 16:05:42 +0000 UTC FinishedAt: 2026-07-13 19:09:15 +0000 UTC Input: nil Output: nil --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-13 16:05:42 +0000 UTC FinishedAt: 2026-07-13 19:09:15 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:config,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"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:*cfd2f259-14c8-4c2c-a381-57315ff2d339,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*83070848-7155-4b78-92b3-c9395600339d,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-workflowksfcw/series-workflowksfcw-build-action-577547168/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-workflowksfcw/series-workflowksfcw-build-action-2314221209/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-13 16:05:42 +0000 UTC FinishedAt: 2026-07-13 16:05:55 +0000 UTC Input: nil Output: nil --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-13 16:05:42 +0000 UTC FinishedAt: 2026-07-13 16:05:47 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"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-workflowksfcw/series-workflowksfcw-convert-artifact-656967362/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-13 16:05:42 +0000 UTC FinishedAt: 2026-07-13 16:05:42 +0000 UTC Input: nil Output: nil --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-13 16:05:42 +0000 UTC FinishedAt: 2026-07-13 16:05:42 +0000 UTC Input: nil Output: nil --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-13 16:05:42 +0000 UTC FinishedAt: 2026-07-13 16:05:42 +0000 UTC Input: nil Output: nil --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-13 16:05:55 +0000 UTC FinishedAt: 2026-07-13 19:09:15 +0000 UTC Input: nil Output: nil --------- Name: series-workflowksfcw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["x25_kill_by_neigh"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3f1f755366687d051174739fb99f7d560202f60b","config_name":"upstream-apparmor-kasan.config","enable_configs":["X25"],"series_id":"6042ded8-78c6-4d73-b8be-19d61bbe15f5","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-13 16:05:55 +0000 UTC FinishedAt: 2026-07-13 19:09:05 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*cfd2f259-14c8-4c2c-a381-57315ff2d339,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*83070848-7155-4b78-92b3-c9395600339d,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-workflowksfcw/series-workflowksfcw-build-action-577547168/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-workflowksfcw/series-workflowksfcw-build-action-2314221209/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-workflowksfcw/series-workflowksfcw-convert-artifact-656967362/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,}