Name: series-workflowlztxk Phase: Succeeded StartedAt: 2026-07-02 08:46:58 +0000 UTC FinishedAt: 2026-07-02 12:55:41 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlztxk[0] Phase: Succeeded StartedAt: 2026-07-02 08:46:58 +0000 UTC FinishedAt: 2026-07-02 08:59:03 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlztxk[0].run-triage Phase: Succeeded StartedAt: 2026-07-02 08:46:58 +0000 UTC FinishedAt: 2026-07-02 08:59:03 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "bpf-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git", "commit_hash": "0b58988cacfc91604c4b5be2c3295f8aac0ee3d0", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BPF_JIT" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "bpf-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git", "commit_hash": "0b58988cacfc91604c4b5be2c3295f8aac0ee3d0", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BPF_JIT" ], "series_id": "c34bcd5f-438b-4c3d-abab-70a75a1d3e5b" }, "track": "KASAN", "fuzz": { "focus": [ "bpf" ], "focus_symbols": [ "bpf_do_misc_fixups", "__bpf_prog_select_runtime" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-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+CgkJCTx0ZD4yMDI2LzA3LzAyIDA4OjU3PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JQRl9KSVQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfZG9fbWlzY19maXh1cHMmIzM0OywKICAgICYjMzQ7X19icGZfcHJvZ19zZWxlY3RfcnVudGltZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBhZGRzIGEgYGppdF9yZXF1aXJlZGAgZmxhZyB0byBCUEYgcHJvZ3JhbXMsIHdoaWNoIGlzIHNldCB3aGVuIGEgaGVscGVyIGNhbGwgaXMgaW5saW5lZCBieSB0aGUgSklULiBJZiB0aGUgSklUIGlzIG5vdCBhdmFpbGFibGUgb3IgZmFpbHMsIHRoZSBwcm9ncmFtIGxvYWQgZmFpbHMgd2l0aCBgLUVOT1RTVVBQYC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBCUEYgdmVyaWZpZXIgYW5kIEpJVCBzZWxlY3Rpb24gbG9naWMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDIgMDg6NTc8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCA1NWJlNDZjYjJiODJjYTFlM2ExZTAzNWYyMjQ1ODQ2Y2U1ZTllZDVmXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFRodSBKdWwgMiAwODo1NzoxNyAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2JwZi5oIGIvaW5jbHVkZS9saW51eC9icGYuaFxuaW5kZXggYmEwOTc5NWUwYmZkYjcuLjQ2M2ZhZTZhNWMzM2RkIDEwMDY0NFxuLS0tIGEvaW5jbHVkZS9saW51eC9icGYuaFxuJiM0MzsmIzQzOyYjNDM7IGIvaW5jbHVkZS9saW51eC9icGYuaFxuQEAgLTE4NjUsOCAmIzQzOzE4NjUsOSBAQCBzdHJ1Y3QgYnBmX3Byb2dfYXV4IHtcbiBcbiBzdHJ1Y3QgYnBmX3Byb2cge1xuIFx0dTE2XHRcdFx0cGFnZXM7XHRcdC8qIE51bWJlciBvZiBhbGxvY2F0ZWQgcGFnZXMgKi9cbi1cdHUxNlx0XHRcdGppdGVkOjEsXHQvKiBJcyBvdXIgZmlsdGVyIEpJVCYjMzk7ZWQ/ICovXG4mIzQzO1x0dTMyXHRcdFx0aml0ZWQ6MSxcdC8qIElzIG91ciBmaWx0ZXIgSklUJiMzOTtlZD8gKi9cbiBcdFx0XHRcdGppdF9yZXF1ZXN0ZWQ6MSwvKiBhcmNocyBuZWVkIHRvIEpJVCB0aGUgcHJvZyAqL1xuJiM0MztcdFx0XHRcdGppdF9yZXF1aXJlZDoxLCAvKiBwcm9ncmFtIHN0cmljdGx5IHJlcXVpcmVzIEpJVCBjb21waWxlciAqL1xuIFx0XHRcdFx0Z3BsX2NvbXBhdGlibGU6MSwgLyogSXMgZmlsdGVyIEdQTCBjb21wYXRpYmxlPyAqL1xuIFx0XHRcdFx0Y2JfYWNjZXNzOjEsXHQvKiBJcyBjb250cm9sIGJsb2NrIGFjY2Vzc2VkPyAqL1xuIFx0XHRcdFx0ZHN0X25lZWRlZDoxLFx0LyogRG8gd2UgbmVlZCBkc3QgZW50cnk/ICovXG5kaWZmIC0tZ2l0IGEva2VybmVsL2JwZi9jb3JlLmMgYi9rZXJuZWwvYnBmL2NvcmUuY1xuaW5kZXggNjQ5Y2NlNDFlMTNmM2IuLmE1NTc1NGJjYzU5MzVhIDEwMDY0NFxuLS0tIGEva2VybmVsL2JwZi9jb3JlLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2tlcm5lbC9icGYvY29yZS5jXG5AQCAtMjYzOSw3ICYjNDM7MjYzOSw3IEBAIHN0cnVjdCBicGZfcHJvZyAqX19icGZfcHJvZ19zZWxlY3RfcnVudGltZShzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LCBzdHJ1Y3RcbiBcbiBcdFx0ZnAgPSBicGZfcHJvZ19qaXRfY29tcGlsZShlbnYsIGZwKTtcbiBcdFx0YnBmX3Byb2dfaml0X2F0dGVtcHRfZG9uZShmcCk7XG4tXHRcdGlmICghZnAtXHUwMDNlaml0ZWQgXHUwMDI2XHUwMDI2IGppdF9uZWVkZWQpIHtcbiYjNDM7XHRcdGlmICghZnAtXHUwMDNlaml0ZWQgXHUwMDI2XHUwMDI2IChqaXRfbmVlZGVkIHx8IGZwLVx1MDAzZWppdF9yZXF1aXJlZCkpIHtcbiBcdFx0XHQqZXJyID0gLUVOT1RTVVBQO1xuIFx0XHRcdHJldHVybiBmcDtcbiBcdFx0fVxuZGlmZiAtLWdpdCBhL2tlcm5lbC9icGYvZml4dXBzLmMgYi9rZXJuZWwvYnBmL2ZpeHVwcy5jXG5pbmRleCAxMmE4YTRlYjc1N2YxOC4uOTRlMDQ1N2EwYWEzM2EgMTAwNjQ0XG4tLS0gYS9rZXJuZWwvYnBmL2ZpeHVwcy5jXG4mIzQzOyYjNDM7JiM0MzsgYi9rZXJuZWwvYnBmL2ZpeHVwcy5jXG5AQCAtMTg0MSw4ICYjNDM7MTg0MSwxMCBAQCBpbnQgYnBmX2RvX21pc2NfZml4dXBzKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYpXG4gXHRcdH1cbiBcbiBcdFx0LyogU2tpcCBpbmxpbmluZyB0aGUgaGVscGVyIGNhbGwgaWYgdGhlIEpJVCBkb2VzIGl0LiAqL1xuLVx0XHRpZiAoYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKGluc24tXHUwMDNlaW1tKSlcbiYjNDM7XHRcdGlmIChicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoaW5zbi1cdTAwM2VpbW0pKSB7XG4mIzQzO1x0XHRcdHByb2ctXHUwMDNlaml0X3JlcXVpcmVkID0gMTtcbiBcdFx0XHRnb3RvIG5leHRfaW5zbjtcbiYjNDM7XHRcdH1cbiBcbiBcdFx0aWYgKGluc24tXHUwMDNlaW1tID09IEJQRl9GVU5DX2dldF9yb3V0ZV9yZWFsbSlcbiBcdFx0XHRwcm9nLVx1MDAzZWRzdF9uZWVkZWQgPSAxO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDA4OjU3PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JQRl9KSVQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfZG9fbWlzY19maXh1cHMmIzM0OywKICAgICYjMzQ7X19icGZfcHJvZ19zZWxlY3RfcnVudGltZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBhZGRzIGEgYGppdF9yZXF1aXJlZGAgZmxhZyB0byBCUEYgcHJvZ3JhbXMsIHdoaWNoIGlzIHNldCB3aGVuIGEgaGVscGVyIGNhbGwgaXMgaW5saW5lZCBieSB0aGUgSklULiBJZiB0aGUgSklUIGlzIG5vdCBhdmFpbGFibGUgb3IgZmFpbHMsIHRoZSBwcm9ncmFtIGxvYWQgZmFpbHMgd2l0aCBgLUVOT1RTVVBQYC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBCUEYgdmVyaWZpZXIgYW5kIEpJVCBzZWxlY3Rpb24gbG9naWMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IDU1YmU0NmNiMmI4MmNhMWUzYTFlMDM1ZjIyNDU4NDZjZTVlOWVkNWYKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgVGh1IEp1bCAyIDA4OjU3OjE3IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9icGYuaCBiL2luY2x1ZGUvbGludXgvYnBmLmgKaW5kZXggYmEwOTc5NWUwYmZkYjcuLjQ2M2ZhZTZhNWMzM2RkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2JwZi5oCiYjNDM7JiM0MzsmIzQzOyBiL2luY2x1ZGUvbGludXgvYnBmLmgKQEAgLTE4NjUsOCAmIzQzOzE4NjUsOSBAQCBzdHJ1Y3QgYnBmX3Byb2dfYXV4IHsKIAogc3RydWN0IGJwZl9wcm9nIHsKIAl1MTYJCQlwYWdlczsJCS8qIE51bWJlciBvZiBhbGxvY2F0ZWQgcGFnZXMgKi8KLQl1MTYJCQlqaXRlZDoxLAkvKiBJcyBvdXIgZmlsdGVyIEpJVCYjMzk7ZWQ/ICovCiYjNDM7CXUzMgkJCWppdGVkOjEsCS8qIElzIG91ciBmaWx0ZXIgSklUJiMzOTtlZD8gKi8KIAkJCQlqaXRfcmVxdWVzdGVkOjEsLyogYXJjaHMgbmVlZCB0byBKSVQgdGhlIHByb2cgKi8KJiM0MzsJCQkJaml0X3JlcXVpcmVkOjEsIC8qIHByb2dyYW0gc3RyaWN0bHkgcmVxdWlyZXMgSklUIGNvbXBpbGVyICovCiAJCQkJZ3BsX2NvbXBhdGlibGU6MSwgLyogSXMgZmlsdGVyIEdQTCBjb21wYXRpYmxlPyAqLwogCQkJCWNiX2FjY2VzczoxLAkvKiBJcyBjb250cm9sIGJsb2NrIGFjY2Vzc2VkPyAqLwogCQkJCWRzdF9uZWVkZWQ6MSwJLyogRG8gd2UgbmVlZCBkc3QgZW50cnk/ICovCmRpZmYgLS1naXQgYS9rZXJuZWwvYnBmL2NvcmUuYyBiL2tlcm5lbC9icGYvY29yZS5jCmluZGV4IDY0OWNjZTQxZTEzZjNiLi5hNTU3NTRiY2M1OTM1YSAxMDA2NDQKLS0tIGEva2VybmVsL2JwZi9jb3JlLmMKJiM0MzsmIzQzOyYjNDM7IGIva2VybmVsL2JwZi9jb3JlLmMKQEAgLTI2MzksNyAmIzQzOzI2MzksNyBAQCBzdHJ1Y3QgYnBmX3Byb2cgKl9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWUoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudiwgc3RydWN0CiAKIAkJZnAgPSBicGZfcHJvZ19qaXRfY29tcGlsZShlbnYsIGZwKTsKIAkJYnBmX3Byb2dfaml0X2F0dGVtcHRfZG9uZShmcCk7Ci0JCWlmICghZnAtJmd0O2ppdGVkICZhbXA7JmFtcDsgaml0X25lZWRlZCkgewomIzQzOwkJaWYgKCFmcC0mZ3Q7aml0ZWQgJmFtcDsmYW1wOyAoaml0X25lZWRlZCB8fCBmcC0mZ3Q7aml0X3JlcXVpcmVkKSkgewogCQkJKmVyciA9IC1FTk9UU1VQUDsKIAkJCXJldHVybiBmcDsKIAkJfQpkaWZmIC0tZ2l0IGEva2VybmVsL2JwZi9maXh1cHMuYyBiL2tlcm5lbC9icGYvZml4dXBzLmMKaW5kZXggMTJhOGE0ZWI3NTdmMTguLjk0ZTA0NTdhMGFhMzNhIDEwMDY0NAotLS0gYS9rZXJuZWwvYnBmL2ZpeHVwcy5jCiYjNDM7JiM0MzsmIzQzOyBiL2tlcm5lbC9icGYvZml4dXBzLmMKQEAgLTE4NDEsOCAmIzQzOzE4NDEsMTAgQEAgaW50IGJwZl9kb19taXNjX2ZpeHVwcyhzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52KQogCQl9CiAKIAkJLyogU2tpcCBpbmxpbmluZyB0aGUgaGVscGVyIGNhbGwgaWYgdGhlIEpJVCBkb2VzIGl0LiAqLwotCQlpZiAoYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKGluc24tJmd0O2ltbSkpCiYjNDM7CQlpZiAoYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKGluc24tJmd0O2ltbSkpIHsKJiM0MzsJCQlwcm9nLSZndDtqaXRfcmVxdWlyZWQgPSAxOwogCQkJZ290byBuZXh0X2luc247CiYjNDM7CQl9CiAKIAkJaWYgKGluc24tJmd0O2ltbSA9PSBCUEZfRlVOQ19nZXRfcm91dGVfcmVhbG0pCiAJCQlwcm9nLSZndDtkc3RfbmVlZGVkID0gMTsKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDIgMDg6NTc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjM2NgoJCQkJCQkJb3V0cHV0OiAyMwoJCQkJCQkJdGhvdWdodHM6IDI3NAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIGBqaXRfcmVxdWlyZWRgIFBhdGNoIGZvciBGdXp6aW5nIFBvdGVudGlhbCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBwYXRjaC4gSXQgaW50cm9kdWNlcyBhIGBqaXRfcmVxdWlyZWRgIGJpdCB0byB0aGUgYHN0cnVjdCBicGZfcHJvZ2AsIHdoaWNoIGlzIGludGVyZXN0aW5nLiBJdCBzZWVtcyBsaWtlIGl0JiMzOTtzIHNldHRpbmcgYHByb2ctJmd0O2ppdF9yZXF1aXJlZCA9IDFgIHdpdGhpbiBgYnBmX2RvX21pc2NfZml4dXBzYCBpZiBhIHNwZWNpZmljIGhlbHBlciBjYWxsIGlzIGlubGluZWQgYnkgdGhlIEpJVCwgaW5kaWNhdGVkIGJ5IGBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoaW5zbi0mZ3Q7aW1tKWAgcmV0dXJuaW5nIHRydWUuIFRoZW4sIGRvd24gdGhlIGxpbmUsIGluIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYCwgaXQgdXNlcyB0aGlzIGZsYWcgKGFsb25nc2lkZSBzb21lIG90aGVyIGNoZWNrcykgdG8gcG90ZW50aWFsbHkgcmV0dXJuIGAtRU5PVFNVUFBgIGlmIEpJVCBpc24mIzM5O3QgYXZhaWxhYmxlIHdoZW4gdGhlIHByb2dyYW0gbmVlZHMgaXQuCgpGcm9tIGEgZnV6emluZyBwZXJzcGVjdGl2ZSwgdGhpcyBpbW1lZGlhdGVseSBwaXF1ZXMgbXkgaW50ZXJlc3QuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSB3aXRoaW4gdGhlIEJQRiBzdWJzeXN0ZW0uIFRoZSBjb3JlIGlkZWEgaXM6IGlmIGEgQlBGIHByb2dyYW0gbGV2ZXJhZ2VzIGEgaGVscGVyIHRoYXQgdGhlIEpJVCBjb21waWxlciB3YW50cyB0byBpbmxpbmUsIGFuZCB0aGUgSklUIGlzbiYjMzk7dCBhdmFpbGFibGUgKG9yIGZhaWxzKSwgdGhlIHByb2dyYW0gbG9hZCB3aWxsIG5vdyBiZSByZWplY3RlZC4gVGhpcyBgLUVOT1RTVVBQYCBpcyBhIG5ldyBwb3RlbnRpYWwgZmFpbHVyZSBwb2ludC4gR2l2ZW4gdGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlLCBpdCYjMzk7cyBzb21ldGhpbmcgd2Ugc2hvdWxkIGxvb2sgYXQgZnV6emluZy4KCk5vdywgbGV0JiMzOTtzIHNlZSB3aGljaCBmdW5jdGlvbnMgYXJlIHJlbGV2YW50LiBJJiMzOTt2ZSBhbHJlYWR5IGlkZW50aWZpZWQgYGJwZl9kb19taXNjX2ZpeHVwc2AgYW5kIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYCBhcyBrZXkgYXJlYXMuIEkmIzM5O2xsIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgdGhlIGBqaXRfcmVxdWlyZWRgIGJpdCBwcm9wYWdhdGVzIGFuZCB3aGVyZSB0aGUgcnVudGltZSBzZWxlY3Rpb24gbG9naWMgc2l0cy4KClRvIGVmZmVjdGl2ZWx5IHRhcmdldCB0aGlzLCBJIHNob3VsZCBhbHNvIGxvb2sgYXQgdGhlIGNvbmZpZ3VyYXRpb24gZGVwZW5kZW5jaWVzLiBCUEYgaXMgdXN1YWxseSBlbmFibGVkIGJ5IGBDT05GSUdfQlBGX1NZU0NBTExgLCBvZiBjb3Vyc2UsIGJ1dCBJIHNob3VsZCBsb29rIGRlZXBlciBmb3IgbW9yZSBzcGVjaWZpYyBjb25maWd1cmF0aW9ucyB0aGF0IGNvbnRyb2wgdGhlIEpJVCwgZXNwZWNpYWxseSB0byBidWlsZCBhIGZ1enplciB0aGF0IGNhbiBkaXNhYmxlIHRoZSBKSVQgdG8gdHJpZ2dlciB0aGUgYC1FTk9UU1VQUGAuIEkmIzM5O2xsIGRpZyBpbnRvIGBrZXJuZWwvYnBmL2NvcmUuY2AgYW5kIGBrZXJuZWwvYnBmL2ZpeHVwcy5jYCB0byBzZWUgaWYgdGhlcmUgYXJlIGFueSBzcGVjaWZpYyBjb25kaXRpb25zIG9yIGNvbmZpZ3VyYXRpb25zIHRoYXQgY2FuIGluZmx1ZW5jZSB0aGUgYGppdF9yZXF1aXJlZGAgZmxhZyBvciB0aGUgSklUIGJlaGF2aW9yIGluIGdlbmVyYWwuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDIgMDg6NTc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7YnBmX2RvX21pc2NfZml4dXBzJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2luY2x1ZGUvbGludXgvYnBmX3ZlcmlmaWVyLmg9MTYxMz1pbnQgYnBmX2ZpeHVwX2NhbGxfYXJncyhzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52KTtcbmluY2x1ZGUvbGludXgvYnBmX3ZlcmlmaWVyLmg6MTYxNDppbnQgYnBmX2RvX21pc2NfZml4dXBzKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYpO1xuaW5jbHVkZS9saW51eC9icGZfdmVyaWZpZXIuaC0xNjE1LVxuLS1cbmtlcm5lbC9icGYvZml4dXBzLmM9MTQ1Mj1zdGF0aWMgaW50IGFkZF9oaWRkZW5fc3VicHJvZyhzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LCBzdHJ1Y3QgYnBmX2luc24gKnBhdGNoLCBpbnQgbGVuKVxuLS1cbmtlcm5lbC9icGYvZml4dXBzLmMtMTQ4MC0gKi9cbmtlcm5lbC9icGYvZml4dXBzLmM6MTQ4MTppbnQgYnBmX2RvX21pc2NfZml4dXBzKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYpXG5rZXJuZWwvYnBmL2ZpeHVwcy5jLTE0ODIte1xuLS1cbmtlcm5lbC9icGYvdmVyaWZpZXIuYz0xOTc0Mz1pbnQgYnBmX2NoZWNrKHN0cnVjdCBicGZfcHJvZyAqKnByb2csIHVuaW9uIGJwZl9hdHRyICphdHRyLCBicGZwdHJfdCB1YXR0cixcbi0tXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmMtMTk5MzctXHRpZiAocmV0ID09IDApXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmM6MTk5Mzg6XHRcdHJldCA9IGJwZl9kb19taXNjX2ZpeHVwcyhlbnYpO1xua2VybmVsL2JwZi92ZXJpZmllci5jLTE5OTM5LVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDA4OjU3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDM0NjgKCQkJCQkJCW91dHB1dDogMzAKCQkJCQkJCXRob3VnaHRzOiA0NgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgbGV0JiMzOTtzIGJyZWFrIHRoaXMgZG93bi4KCioqSW52ZXN0aWdhdGluZyB0aGUgQlBGIENvZGViYXNlKioKCkFscmlnaHQsIEkgbmVlZCB0byB1bmRlcnN0YW5kIHdoZXJlIGEgc3BlY2lmaWMgcGFydCBvZiB0aGUgQlBGIGNvZGUgbGl2ZXMuIE15IGluaXRpYWwgZm9jdXMgaXMgb24gYGtlcm5lbC9icGYvZml4dXBzLmNgIGFuZCBga2VybmVsL2JwZi9jb3JlLmNgLiBUaGVzZSBmaWxlIG5hbWVzIHN1Z2dlc3QgdGhleSBoYW5kbGUgQlBGIGluc3RydWN0aW9uIGZpeC11cHMgYW5kIGNvcmUgZnVuY3Rpb25hbGl0aWVzLCByZXNwZWN0aXZlbHkuIFRvIGdldCBhIGNvbXByZWhlbnNpdmUgcGljdHVyZSwgSSBzaG91bGQgYWxzbyBjaGVjayB0aGUgYnVpbGQgY29uZmlndXJhdGlvbiBhbmQgZGVwZW5kZW5jaWVzLiBUaGUgYGtlcm5lbC9icGYvTWFrZWZpbGVgIGlzIHRoZSBuYXR1cmFsIHBsYWNlIHRvIHN0YXJ0LCBhcyBpdCBzaG91bGQgY29udGFpbiB0aGUgcmVsZXZhbnQgZmxhZ3MsIG9iamVjdCBmaWxlIGRlcGVuZGVuY2llcywgYW5kIGFueSBjb25kaXRpb25hbCBjb21waWxhdGlvbiB0aGF0JiMzOTtzIGF0IHBsYXkgaW4gdGhpcyBhcmVhIG9mIHRoZSBjb2RlLiBUaGlzIHdpbGwgY2xhcmlmeSBhbnkgYnVpbGQtdGltZSBjb25maWd1cmF0aW9ucyBvciBleHRlcm5hbCBkZXBlbmRlbmNpZXMgSSBuZWVkIHRvIGJlIGF3YXJlIG9mLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDA4OjU3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2ZpeHVwcy5vJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7a2VybmVsL2JwZi9NYWtlZmlsZSYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtrZXJuZWwvYnBmL01ha2VmaWxlPTEzPW9iai0kKENPTkZJR19CUEZfU1lTQ0FMTCkgJiM0Mzs9IGJwZl9sb2NhbF9zdG9yYWdlLm8gYnBmX3Rhc2tfc3RvcmFnZS5vXG5rZXJuZWwvYnBmL01ha2VmaWxlOjE0Om9iai0kKENPTkZJR19CUEZfU1lTQ0FMTCkgJiM0Mzs9IGZpeHVwcy5vIGNmZy5vIHN0YXRlcy5vIGJhY2t0cmFjay5vIGNoZWNrX2J0Zi5vXG5rZXJuZWwvYnBmL01ha2VmaWxlLTE1LW9iai0ke0NPTkZJR19CUEZfTFNNfVx0ICAmIzQzOz0gYnBmX2lub2RlX3N0b3JhZ2Uub1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDA4OjU3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDM4MzIKCQkJCQkJCW91dHB1dDogMjUKCQkJCQkJCXRob3VnaHRzOiA0OAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgbGV0JiMzOTtzIGJyZWFrIHRoaXMgZG93bi4KCioqSW52ZXN0aWdhdGluZyBCUEYgSklUIElubGluaW5nKioKCkFscmlnaHQsIHNvIHRoZSBiaWcgcGljdHVyZSBoZXJlIGlzIGRlZmluaXRlbHkgdGllZCB0byBgQ09ORklHX0JQRl9TWVNDQUxMYCwgYnV0IHRoYXQmIzM5O3MgdGhlIGdlbmVyaWMsIG92ZXJhcmNoaW5nIG9uZSwgc28gSSBkb24mIzM5O3QgbmVlZCB0byBzcGVjaWZ5IHRoYXQgc3BlY2lmaWNhbGx5LiBJdCYjMzk7cyBhbG1vc3QgaW1wbGllZC4gSXQmIzM5O3MgdGhlIGZvdW5kYXRpb24gd2UmIzM5O3JlIGJ1aWxkaW5nIG9uLgoKTXkgZm9jdXMgc2hvdWxkIGJlIG9uIHRoZSBtb3JlIHNwZWNpZmljIGNvbmZpZyB2YXJpYWJsZS4gVGhlIG1vcmUgcmVsZXZhbnQgYXJlYSBvZiBpbnZlc3RpZ2F0aW9uLCBpcyBgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsYC4gVGhhdCYjMzk7cyB3aGVyZSBJIG5lZWQgdG8gZGlnIGluIGFuZCB1bmRlcnN0YW5kLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDA4OjU3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2JwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbCYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDthcmNoL2FybTY0L25ldC9icGZfaml0X2NvbXAuYz0zMjAxPWJvb2wgYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290byh2b2lkKVxuLS1cbmFyY2gvYXJtNjQvbmV0L2JwZl9qaXRfY29tcC5jLTMyMDUtXG5hcmNoL2FybTY0L25ldC9icGZfaml0X2NvbXAuYzozMjA2OmJvb2wgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKHMzMiBpbW0pXG5hcmNoL2FybTY0L25ldC9icGZfaml0X2NvbXAuYy0zMjA3LXtcbi0tXG5hcmNoL3Bvd2VycGMvbmV0L2JwZl9qaXRfY29tcC5jPTU3Mj1ib29sIGJwZl9qaXRfc3VwcG9ydHNfcGVyY3B1X2luc24odm9pZClcbi0tXG5hcmNoL3Bvd2VycGMvbmV0L2JwZl9qaXRfY29tcC5jLTU3Ni1cbmFyY2gvcG93ZXJwYy9uZXQvYnBmX2ppdF9jb21wLmM6NTc3OmJvb2wgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKHMzMiBpbW0pXG5hcmNoL3Bvd2VycGMvbmV0L2JwZl9qaXRfY29tcC5jLTU3OC17XG4tLVxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYz0yMTM5PWJvb2wgYnBmX2ppdF9zdXBwb3J0c19wZXJjcHVfaW5zbih2b2lkKVxuLS1cbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMtMjE0My1cbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmM6MjE0NDpib29sIGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChzMzIgaW1tKVxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0yMTQ1LXtcbi0tXG5hcmNoL3MzOTAvbmV0L2JwZl9qaXRfY29tcC5jPTMwODE9Ym9vbCBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvKHZvaWQpXG4tLVxuYXJjaC9zMzkwL25ldC9icGZfaml0X2NvbXAuYy0zMDg1LVxuYXJjaC9zMzkwL25ldC9icGZfaml0X2NvbXAuYzozMDg2OmJvb2wgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKHMzMiBpbW0pXG5hcmNoL3MzOTAvbmV0L2JwZl9qaXRfY29tcC5jLTMwODcte1xuLS1cbmluY2x1ZGUvbGludXgvZmlsdGVyLmg9MTE3OT1ib29sIGJwZl9qaXRfbmVlZHNfemV4dCh2b2lkKTtcbmluY2x1ZGUvbGludXgvZmlsdGVyLmg6MTE4MDpib29sIGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChzMzIgaW1tKTtcbmluY2x1ZGUvbGludXgvZmlsdGVyLmgtMTE4MS1ib29sIGJwZl9qaXRfc3VwcG9ydHNfc3VicHJvZ190YWlsY2FsbHModm9pZCk7XG4tLVxua2VybmVsL2JwZi9jb3JlLmM9MzIwOT1ib29sIF9fd2VhayBicGZfaml0X2J5cGFzc19zcGVjX3Y0KHZvaWQpXG4tLVxua2VybmVsL2JwZi9jb3JlLmMtMzIxOS0gKi9cbmtlcm5lbC9icGYvY29yZS5jOjMyMjA6Ym9vbCBfX3dlYWsgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKHMzMiBpbW0pXG5rZXJuZWwvYnBmL2NvcmUuYy0zMjIxLXtcbi0tXG5rZXJuZWwvYnBmL2ZpeHVwcy5jPTE0ODE9aW50IGJwZl9kb19taXNjX2ZpeHVwcyhzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52KVxuLS1cbmtlcm5lbC9icGYvZml4dXBzLmMtMTg0My1cdFx0LyogU2tpcCBpbmxpbmluZyB0aGUgaGVscGVyIGNhbGwgaWYgdGhlIEpJVCBkb2VzIGl0LiAqL1xua2VybmVsL2JwZi9maXh1cHMuYzoxODQ0Olx0XHRpZiAoYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKGluc24tXHUwMDNlaW1tKSkge1xua2VybmVsL2JwZi9maXh1cHMuYy0xODQ1LVx0XHRcdHByb2ctXHUwMDNlaml0X3JlcXVpcmVkID0gMTtcbi0tXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmM9MTY2ODM9Ym9vbCBicGZfZ2V0X2NhbGxfc3VtbWFyeShzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LCBzdHJ1Y3QgYnBmX2luc24gKmNhbGwsXG4tLVxua2VybmVsL2JwZi92ZXJpZmllci5jLTE2Njk2LVx0XHRcdCAgICAgICAoYnBmX3ZlcmlmaWVyX2lubGluZXNfaGVscGVyX2NhbGwoZW52LCBjYWxsLVx1MDAzZWltbSkgfHxcbmtlcm5lbC9icGYvdmVyaWZpZXIuYzoxNjY5NzpcdFx0XHRcdGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChjYWxsLVx1MDAzZWltbSkpO1xua2VybmVsL2JwZi92ZXJpZmllci5jLTE2Njk4LVx0XHRjcy1cdTAwM2Vpc192b2lkID0gZm4tXHUwMDNlcmV0X3R5cGUgPT0gUkVUX1ZPSUQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDIgMDg6NTc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTA0MwoJCQkJCQkJb3V0cHV0OiAyMwoJCQkJCQkJdGhvdWdodHM6IDE3NAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBc3Nlc3NtZW50IG9mIHRoZSBOZXcgQlBGIFBhdGNoKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgZG9pbmcgd2hhdCBJIHN1c3BlY3RlZCDigJMgaXQmIzM5O3MgYWRkcmVzc2luZyB0aGUgaW50ZXJhY3Rpb24gYmV0d2VlbiBpbmxpbmVkIEpJVCBoZWxwZXJzIHdpdGhpbiBCUEYgcHJvZ3JhbXMgYW5kIHRoZSBKSVQgYXZhaWxhYmlsaXR5LiBTcGVjaWZpY2FsbHksIGlmIGEgQlBGIHByb2dyYW0gbGV2ZXJhZ2VzIGEgaGVscGVyIHRoYXQgdGhlIEpJVCBpbmxpbmVzLCB0aGUgcGF0Y2ggZW5mb3JjZXMgYSBKSVQgcmVxdWlyZW1lbnQuIE1ha2VzIHNlbnNlLCBhbmQgaXQgYWxpZ25zIHdpdGggYmVzdCBwcmFjdGljZXMgZm9yIGVuc3VyaW5nIGNvbnNpc3RlbnQgYW5kIGV4cGVjdGVkIGJlaGF2aW9yLiBJZiB0aGUgSklUIGlzIGFic2VudCwgd2UmIzM5O3JlIGV4cGxpY2l0bHkgZmFpbGluZyB3aXRoIGAtRU5PVFNVUFBgLCB3aGljaCBpcyB0aGUgcmlnaHQgZXJyb3IgY29kZSBpbiB0aGlzIHNjZW5hcmlvLgoKRGVmaW5pdGVseSB3b3J0aCBhIHRob3JvdWdoIGZ1enppbmcgY2FtcGFpZ24gdG8gc2VlIGhvdyByb2J1c3QgdGhpcyBuZXcgY2hlY2sgaXMuIEkgbmVlZCB0byBrZWVwIHRoZXNlIHN5bWJvbHMgaW4gbWluZCBhcyBJIHN0YXJ0LgoKS2V5IGFyZWFzIHRvIGtlZXAgYW4gZXllIG9uIGR1cmluZyB0ZXN0aW5nLCB0aGUgZm9jYWwgcG9pbnRzIGFyZSBgYnBmX2RvX21pc2NfZml4dXBzYCBhbmQgYF9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVgLgoKUmVnYXJkaW5nIGNvbmZpZ3VyYXRpb24sIGBDT05GSUdfQlBGX1NZU0NBTExgIGlzIGEgZ2l2ZW47IGl0JiMzOTtzIHRoZSBmb3VuZGF0aW9uLiBObyBuZWVkIHRvIGV4cGxpY2l0bHkgc3BlY2lmeSBpdC4gSG93ZXZlciwgSSBzaG91bGQgZG91YmxlLWNoZWNrIHRoZSBpbXBsaWNhdGlvbnMgb2YgYENPTkZJR19CUEZfSklUYC4gSXQmIzM5O3MgdXN1YWxseSBlbmFibGVkLCBidXQgSSBuZWVkIHRvIG1ha2Ugc3VyZSBJJiMzOTttIHRlc3Rpbmcgd2l0aCBhIGZldyBjb25maWd1cmF0aW9ucy4gQSBxdWljayBncmVwIGluIGBrZXJuZWwvYnBmL2NvcmUuY2AgZm9yIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYCBzaG91bGQgZ2l2ZSBtZSBhIGJldHRlciB1bmRlcnN0YW5kaW5nIG9mIGhvdyB0aGUgY29kZSBmbG93IGludGVyYWN0cyB3aXRoIHRoYXQgY29uZmlnIG9wdGlvbi4gTGV0JiMzOTtzIHNlZSB3aGF0IHdlIGNhbiBmaW5kLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAwODo1NzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2luY2x1ZGUvbGludXgvZmlsdGVyLmg9MTEyOD1za19maWx0ZXJfcmVhc29uKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1ZmYgKnNrYilcbi0tXG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oLTExMzItXG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oOjExMzM6c3RydWN0IGJwZl9wcm9nICpfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYsIHN0cnVjdCBicGZfcHJvZyAqZnAsXG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oLTExMzQtXHRcdFx0XHRcdCAgIGludCAqZXJyKTtcbi0tXG5rZXJuZWwvYnBmL2NvcmUuYz0yNTY0PXN0YXRpYyBzdHJ1Y3QgYnBmX3Byb2cgKmJwZl9wcm9nX2ppdF9jb21waWxlKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYsIHN0cnVjdCBicGZfcHJvZyAqcHJvZylcbi0tXG5rZXJuZWwvYnBmL2NvcmUuYy0yNjEwLVxua2VybmVsL2JwZi9jb3JlLmM6MjYxMTpzdHJ1Y3QgYnBmX3Byb2cgKl9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWUoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudiwgc3RydWN0IGJwZl9wcm9nICpmcCxcbmtlcm5lbC9icGYvY29yZS5jLTI2MTItXHRcdFx0XHRcdCAgIGludCAqZXJyKVxuLS1cbmtlcm5lbC9icGYvY29yZS5jPTI2Nzg9c3RydWN0IGJwZl9wcm9nICpicGZfcHJvZ19zZWxlY3RfcnVudGltZShzdHJ1Y3QgYnBmX3Byb2cgKmZwLCBpbnQgKmVycilcbmtlcm5lbC9icGYvY29yZS5jLTI2Nzkte1xua2VybmVsL2JwZi9jb3JlLmM6MjY4MDpcdHJldHVybiBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lKE5VTEwsIGZwLCBlcnIpO1xua2VybmVsL2JwZi9jb3JlLmMtMjY4MS19XG4tLVxua2VybmVsL2JwZi92ZXJpZmllci5jPTE5NzQzPWludCBicGZfY2hlY2soc3RydWN0IGJwZl9wcm9nICoqcHJvZywgdW5pb24gYnBmX2F0dHIgKmF0dHIsIGJwZnB0cl90IHVhdHRyLFxuLS1cbmtlcm5lbC9icGYvdmVyaWZpZXIuYy0yMDAwNy1cbmtlcm5lbC9icGYvdmVyaWZpZXIuYzoyMDAwODpcdGVudi1cdTAwM2Vwcm9nID0gX19icGZfcHJvZ19zZWxlY3RfcnVudGltZShlbnYsIGVudi1cdTAwM2Vwcm9nLCBcdTAwMjZyZXQpO1xua2VybmVsL2JwZi92ZXJpZmllci5jLTIwMDA5LVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAwODo1NzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA2MDQxCgkJCQkJCQlvdXRwdXQ6IDM5CgkJCQkJCQl0aG91Z2h0czogMTQ4CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgUGF0Y2gmIzM5O3MgSW1wYWN0IG9uIEJQRiBKSVQgYW5kIFJ1bnRpbWUgU2VsZWN0aW9uKioKCk9rYXksIHNvIHRoZSBwYXRjaCBpcyBmdW5jdGlvbmFsbHkgc291bmQsIHdoaWNoIGlzIGdvb2QuIE15IGltbWVkaWF0ZSBjb25jZXJuLCBiYXNlZCBvbiB0aGUgZnVuY3Rpb24gbmFtZXMgbWVudGlvbmVkIOKAkyBgYnBmX2RvX21pc2NfZml4dXBzYCBhbmQgYF9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVgIOKAkyBpcyBob3cgdGhpcyBpbXBhY3RzIEJQRiBKSVQgYW5kIHRoZSBydW50aW1lIHNlbGVjdGlvbiBwcm9jZXNzLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgY29ubmVjdGlvbi4KCkkmIzM5O20gbm90aW5nIGBCUEZfSklUYCBoZXJlLCBldmVuIHRob3VnaCBpdCYjMzk7cyB0eXBpY2FsbHkgZW5hYmxlZCwgYmVjYXVzZSB0aGlzIHBhdGNoIHNlZW1zIGRpcmVjdGx5IHJlbGF0ZWQgdG8gKndoZW4qIEpJVCBpcyByZXF1aXJlZCBhbmQgcG90ZW50aWFsbHkgaG93IGl0JiMzOTtzIGhhbmRsZWQuIFRoZSBjb3JlIHF1ZXN0aW9uIGlzOiB3aGF0IGhhcHBlbnMgd2hlbiBKSVQgaXNuJiMzOTt0IGFsd2F5cyBhdmFpbGFibGUsIG9yIHdoZW4gaXRzIHVzYWdlIGlzIGNvbmRpdGlvbmFsPyBJZiBKSVQgaXMgZGlzYWJsZWQsIEkga25vdyBgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsYCBtaWdodCByZXR1cm4gZmFsc2UsIGJ1dCBJIG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQmIzM5O3MgdGhlIG9ubHkgaW1wYWN0LiBUaGUgcmVhbCBwb2ludCBvZiBjb25jZXJuIGhlcmUsIG5vdyB0aGF0IEkgdGhpbmsgYWJvdXQgaXQsIGlzIHdoYXQgaWYgaXQgKmRvZXMqIHJldHVybiB0cnVlLCBpbmRpY2F0aW5nIGEgbmVlZCBmb3IgSklULiBXaGF0JiMzOTtzIHRoZSBmYWxsYmFjayBvciBhbHRlcm5hdGl2ZSBwYXRod2F5IGlmIEpJVCBpc24mIzM5O3QgY29uZmlndXJlZCwgb3IgaXMgb3RoZXJ3aXNlIHVuYXZhaWxhYmxlPyBJIG5lZWQgdG8gY2hlY2sgaG93IHRoYXQgcGxheXMgb3V0LiBTbywgZXNzZW50aWFsbHksIGlmIGBDT05GSUdfQlBGX0pJVGAgaXMgZGlzYWJsZWQsIGBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGxgIHNob3VsZCByZXR1cm4gZmFsc2UsIGJ1dCBJJiMzOTttIGdvaW5nIHRvIGRvdWJsZSBjaGVjayB0aGUgY29kZSBhcm91bmQgdGhhdCBwb2ludCBmb3Igc2lkZSBlZmZlY3RzIGFuZCBlZGdlIGNhc2VzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEyLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAwODo1NzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDticGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtrZXJuZWwvYnBmL2NvcmUuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtrZXJuZWwvYnBmL2NvcmUuYz0zMjA5PWJvb2wgX193ZWFrIGJwZl9qaXRfYnlwYXNzX3NwZWNfdjQodm9pZClcbi0tXG5rZXJuZWwvYnBmL2NvcmUuYy0zMjE5LSAqL1xua2VybmVsL2JwZi9jb3JlLmM6MzIyMDpib29sIF9fd2VhayBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoczMyIGltbSlcbmtlcm5lbC9icGYvY29yZS5jLTMyMjEte1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEzLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAwODo1NzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA2NjQ3CgkJCQkJCQlvdXRwdXQ6IDMyCgkJCQkJCQl0aG91Z2h0czogNTQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBCUEYgSklUIENvbmZpZ3VyYXRpb24qKgoKT2theSwgc28gdGhlIGJhc2UtbGV2ZWwgZnVuY3Rpb24gcmV0dXJucyBgZmFsc2VgIGJ5IGRlZmF1bHQuIFRoYXQmIzM5O3MgdGhlIGJhc2VsaW5lLCB0aGUgJiMzNDtub3RoaW5nIGVuYWJsZWQmIzM0OyBzY2VuYXJpby4gQnV0IHRoZSBjcml0aWNhbCB0aGluZyBoZXJlIGlzIHRoYXQgaWYgYENPTkZJR19CUEZfSklUYCBpcyBzZXQsIHRoZSBhcmNoaXRlY3R1cmVzIGFyZSBzdXBwb3NlZCB0byBvdmVycmlkZSB0aGlzIGRlZmF1bHQgYmVoYXZpb3IuIFRoYXQgbWVhbnMgYEJQRl9KSVRgIGlzIHRoZSBrZXkuIEl0JiMzOTtzIHRoZSBlbmFibGluZyBzd2l0Y2guIFNvLCB0aGUgY3J1Y2lhbCBxdWVzdGlvbiwgdGhlIG9uZSBJIG5lZWQgdG8gYW5zd2VyLCBpczogaXMgYEJQRl9KSVRgIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbiBJJiMzOTttIGFjdHVhbGx5IGludGVyZXN0ZWQgaW4/IElzIHRoYXQgdGhlIGNvcnJlY3Qgb25lIHRvIGJlIGludmVzdGlnYXRpbmc/CgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDA4OjU3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O0NPTkZJR19CUEZfSklUJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7a2VybmVsL2JwZi8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7a2VybmVsL2JwZi9LY29uZmlnPTU4PWNvbmZpZyBCUEZfSklUX0FMV0FZU19PTlxuLS1cbmtlcm5lbC9icGYvS2NvbmZpZy02NC1cbmtlcm5lbC9icGYvS2NvbmZpZzo2NTpcdCAgV2hlbiBDT05GSUdfQlBGX0pJVF9BTFdBWVNfT04gaXMgZW5hYmxlZCwgL3Byb2Mvc3lzL25ldC9jb3JlL2JwZl9qaXRfZW5hYmxlXG5rZXJuZWwvYnBmL0tjb25maWctNjYtXHQgIGlzIHBlcm1hbmVudGx5IHNldCB0byAxIGFuZCBzZXR0aW5nIGFueSBvdGhlciB2YWx1ZSB0aGFuIHRoYXQgd2lsbFxuLS1cbmtlcm5lbC9icGYvTWFrZWZpbGU9Mj1vYmoteSA6PSBjb3JlLm9cbmtlcm5lbC9icGYvTWFrZWZpbGU6MzppZm5lcSAoJChDT05GSUdfQlBGX0pJVF9BTFdBWVNfT04pLHkpXG5rZXJuZWwvYnBmL01ha2VmaWxlLTQtIyBfX19icGZfcHJvZ19ydW4oKSBuZWVkcyBHQ1NFIGRpc2FibGVkIG9uIHg4Njsgc2VlIDMxOTNjMDgzNmYyMDMgZm9yIGRldGFpbHNcbi0tXG5rZXJuZWwvYnBmL01ha2VmaWxlPTE2PW9iai0kKENPTkZJR19CUEZfU1lTQ0FMTCkgJiM0Mzs9IGRpc2FzbS5vIG1wcm9nLm9cbmtlcm5lbC9icGYvTWFrZWZpbGU6MTc6b2JqLSQoQ09ORklHX0JQRl9KSVQpICYjNDM7PSB0cmFtcG9saW5lLm9cbmtlcm5lbC9icGYvTWFrZWZpbGUtMTgtb2JqLSQoQ09ORklHX0JQRl9TWVNDQUxMKSAmIzQzOz0gYnRmLm8gbWVtYWxsb2MubyBycXNwaW5sb2NrLm8gc3RyZWFtLm9cbi0tXG5rZXJuZWwvYnBmL01ha2VmaWxlPTIxPWVuZGlmXG5rZXJuZWwvYnBmL01ha2VmaWxlOjIyOm9iai0kKENPTkZJR19CUEZfSklUKSAmIzQzOz0gZGlzcGF0Y2hlci5vXG5rZXJuZWwvYnBmL01ha2VmaWxlLTIzLWlmZXEgKCQoQ09ORklHX05FVCkseSlcbi0tXG5rZXJuZWwvYnBmL01ha2VmaWxlPTQyPWVuZGlmXG5rZXJuZWwvYnBmL01ha2VmaWxlOjQzOmlmZXEgKCQoQ09ORklHX0JQRl9KSVQpLHkpXG5rZXJuZWwvYnBmL01ha2VmaWxlLTQ0LW9iai0kKENPTkZJR19CUEZfU1lTQ0FMTCkgJiM0Mzs9IGJwZl9zdHJ1Y3Rfb3BzLm9cbi0tXG5rZXJuZWwvYnBmL2J0Zi5jPTk3Nzg9Ym9vbCBidGZfdHlwZV9pZHNfbm9jYXN0X2FsaWFzKHN0cnVjdCBicGZfdmVyaWZpZXJfbG9nICpsb2csXG4tLVxua2VybmVsL2JwZi9idGYuYy05ODMyLVxua2VybmVsL2JwZi9idGYuYzo5ODMzOiNpZmRlZiBDT05GSUdfQlBGX0pJVFxua2VybmVsL2JwZi9idGYuYy05ODM0LXN0YXRpYyBpbnRcbi0tXG5rZXJuZWwvYnBmL2NvcmUuYz01Mzk9dm9pZCBicGZfcHJvZ19rYWxsc3ltc19kZWxfYWxsKHN0cnVjdCBicGZfcHJvZyAqZnApXG4tLVxua2VybmVsL2JwZi9jb3JlLmMtNTQ0LVxua2VybmVsL2JwZi9jb3JlLmM6NTQ1OiNpZmRlZiBDT05GSUdfQlBGX0pJVFxua2VybmVsL2JwZi9jb3JlLmMtNTQ2LS8qIEFsbCBCUEYgSklUIHN5c2N0bCBrbm9icyBoZXJlLiAqL1xua2VybmVsL2JwZi9jb3JlLmM6NTQ3OmludCBicGZfaml0X2VuYWJsZSAgIF9fcmVhZF9tb3N0bHkgPSBJU19CVUlMVElOKENPTkZJR19CUEZfSklUX0RFRkFVTFRfT04pO1xua2VybmVsL2JwZi9jb3JlLmM6NTQ4OmludCBicGZfaml0X2thbGxzeW1zIF9fcmVhZF9tb3N0bHkgPSBJU19CVUlMVElOKENPTkZJR19CUEZfSklUX0RFRkFVTFRfT04pO1xua2VybmVsL2JwZi9jb3JlLmMtNTQ5LWludCBicGZfaml0X2hhcmRlbiAgIF9fcmVhZF9tb3N0bHk7XG4tLVxua2VybmVsL2JwZi9jb3JlLmM9MTU4Nj11MTYgYnBmX291dF9zdGFja19hcmdfY250KGNvbnN0IHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYsIGNvbnN0IHN0cnVjdCBicGZfcHJvZyAqcHJvZylcbi0tXG5rZXJuZWwvYnBmL2NvcmUuYy0xNTk0LX1cbmtlcm5lbC9icGYvY29yZS5jOjE1OTU6I2VuZGlmIC8qIENPTkZJR19CUEZfSklUICovXG5rZXJuZWwvYnBmL2NvcmUuYy0xNTk2LVxuLS1cbmtlcm5lbC9icGYvY29yZS5jPTE3NTQ9Ym9vbCBicGZfb3Bjb2RlX2luX2luc250YWJsZSh1OCBjb2RlKVxuLS1cbmtlcm5lbC9icGYvY29yZS5jLTE3NzYtXG5rZXJuZWwvYnBmL2NvcmUuYzoxNzc3OiNpZm5kZWYgQ09ORklHX0JQRl9KSVRfQUxXQVlTX09OXG5rZXJuZWwvYnBmL2NvcmUuYy0xNzc4LS8qIEFic29sdXRlIHZhbHVlIG9mIHMzMiB3aXRob3V0IHVuZGVmaW5lZCBiZWhhdmlvciBmb3IgUzMyX01JTiAqL1xuLS1cbmtlcm5lbC9icGYvY29yZS5jPTI1NDE9c3RhdGljIGJvb2wgYnBmX3Byb2dfc2VsZWN0X2ludGVycHJldGVyKHN0cnVjdCBicGZfcHJvZyAqZnApXG4tLVxua2VybmVsL2JwZi9jb3JlLmMtMjU0My1cdGJvb2wgc2VsZWN0X2ludGVycHJldGVyID0gZmFsc2U7XG5rZXJuZWwvYnBmL2NvcmUuYzoyNTQ0OiNpZm5kZWYgQ09ORklHX0JQRl9KSVRfQUxXQVlTX09OXG5rZXJuZWwvYnBmL2NvcmUuYy0yNTQ1LVx0dTMyIHN0YWNrX2RlcHRoID0gbWF4X3QodTMyLCBmcC1cdTAwM2VhdXgtXHUwMDNlc3RhY2tfZGVwdGgsIDEpO1xuLS1cbmtlcm5lbC9icGYvY29yZS5jPTI1NjQ9c3RhdGljIHN0cnVjdCBicGZfcHJvZyAqYnBmX3Byb2dfaml0X2NvbXBpbGUoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudiwgc3RydWN0IGJwZl9wcm9nICpwcm9nKVxua2VybmVsL2JwZi9jb3JlLmMtMjU2NS17XG5rZXJuZWwvYnBmL2NvcmUuYzoyNTY2OiNpZmRlZiBDT05GSUdfQlBGX0pJVFxua2VybmVsL2JwZi9jb3JlLmMtMjU2Ny1cdHN0cnVjdCBicGZfcHJvZyAqb3JpZ19wcm9nO1xuLS1cbmtlcm5lbC9icGYvY29yZS5jPTI2MTE9c3RydWN0IGJwZl9wcm9nICpfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYsIHN0cnVjdCBicGZfcHJvZyAqZnAsXG4tLVxua2VybmVsL2JwZi9jb3JlLmMtMjYyMS1cbmtlcm5lbC9icGYvY29yZS5jOjI2MjI6XHRpZiAoSVNfRU5BQkxFRChDT05GSUdfQlBGX0pJVF9BTFdBWVNfT04pIHx8XG5rZXJuZWwvYnBmL2NvcmUuYy0yNjIzLVx0ICAgIGJwZl9wcm9nX2hhc19rZnVuY19jYWxsKGZwKSlcbi0tXG5rZXJuZWwvYnBmL2ZpeHVwcy5jPTEyNz1zdGF0aWMgaW50IGFkZF9rZnVuY19pbl9pbnNucyhzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LFxuLS1cbmtlcm5lbC9icGYvZml4dXBzLmMtMTQxLVxua2VybmVsL2JwZi9maXh1cHMuYzoxNDI6I2lmbmRlZiBDT05GSUdfQlBGX0pJVF9BTFdBWVNfT05cbmtlcm5lbC9icGYvZml4dXBzLmMtMTQzLXN0YXRpYyBpbnQgZ2V0X2NhbGxlZV9zdGFja19kZXB0aChzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LFxuLS1cbmtlcm5lbC9icGYvZml4dXBzLmM9MTM3Nj1pbnQgYnBmX2ZpeHVwX2NhbGxfYXJncyhzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52KVxua2VybmVsL2JwZi9maXh1cHMuYy0xMzc3LXtcbmtlcm5lbC9icGYvZml4dXBzLmM6MTM3ODojaWZuZGVmIENPTkZJR19CUEZfSklUX0FMV0FZU19PTlxua2VybmVsL2JwZi9maXh1cHMuYy0xMzc5LVx0c3RydWN0IGJwZl9wcm9nICpwcm9nID0gZW52LVx1MDAzZXByb2c7XG4tLVxua2VybmVsL2JwZi9maXh1cHMuYy0xNDA1LVx0fVxua2VybmVsL2JwZi9maXh1cHMuYzoxNDA2OiNpZm5kZWYgQ09ORklHX0JQRl9KSVRfQUxXQVlTX09OXG5rZXJuZWwvYnBmL2ZpeHVwcy5jLTE0MDctXHRpZiAoaGFzX2tmdW5jX2NhbGwpIHtcbi0tXG5rZXJuZWwvYnBmL3N5c2NhbGwuYz02NTc4PWludCBrZXJuX3N5c19icGYoaW50IGNtZCwgdW5pb24gYnBmX2F0dHIgKmF0dHIsIHVuc2lnbmVkIGludCBzaXplKVxuLS1cbmtlcm5lbC9icGYvc3lzY2FsbC5jLTY1ODMtXHRzd2l0Y2ggKGNtZCkge1xua2VybmVsL2JwZi9zeXNjYWxsLmM6NjU4NDojaWZkZWYgQ09ORklHX0JQRl9KSVQgLyogX19icGZfcHJvZ19lbnRlcl9zbGVlcGFibGUgdXNlZCBieSB0cmFtcG9saW5lIGFuZCBKSVQgKi9cbmtlcm5lbC9icGYvc3lzY2FsbC5jLTY1ODUtXHRjYXNlIEJQRl9QUk9HX1RFU1RfUlVOOlxuLS1cbmtlcm5lbC9icGYvdmVyaWZpZXIuYz00NDE4PUJURl9JRChzdHJ1Y3QsIGNncm91cClcbmtlcm5lbC9icGYvdmVyaWZpZXIuYy00NDE5LSNlbmRpZlxua2VybmVsL2JwZi92ZXJpZmllci5jOjQ0MjA6I2lmZGVmIENPTkZJR19CUEZfSklUXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmMtNDQyMS1CVEZfSUQoc3RydWN0LCBicGZfY3B1bWFzaylcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDIgMDg6NTc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogODc1NAoJCQkJCQkJb3V0cHV0OiAxMjkKCQkJCQkJCXRob3VnaHRzOiAyNDAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqTXkgQXNzZXNzbWVudCBvZiB0aGUgQlBGIEpJVCBQYXRjaCoqCgpPa2F5LCBzbyB0aGlzIHBhdGNoIGNlbnRlcnMgYXJvdW5kIGBCUEZfSklUYCwgd2hpY2ggaXMgdGhlIGtleSBjb25maWcgaGVyZS4gSXQgbG9va3MgbGlrZSB0aGUgY29yZSBtb2RpZmljYXRpb24gaXMgdGhlIGFkZGl0aW9uIG9mIHRoZSBgaml0X3JlcXVpcmVkYCBmbGFnIHdpdGhpbiB0aGUgYHN0cnVjdCBicGZfcHJvZ2AuIFRoaXMgZmxhZyBpcyBzZXQgZHVyaW5nIGBicGZfZG9fbWlzY19maXh1cHNgLCBhbmQgdGhlbiBpdCYjMzk7cyBjaGVja2VkIGR1cmluZyBgX19icGZfcHJvZ19zZWxlY3RfcnVudGltZWAuCgpFc3NlbnRpYWxseSwgaWYgYSBoZWxwZXIgY2FsbCBnZXRzIGlubGluZWQgYnkgdGhlIEpJVCBhbmQgdGhlIEpJVCBpcywgZm9yIHdoYXRldmVyIHJlYXNvbiwgdW5hdmFpbGFibGUgb3IgZmFpbHMsIHRoaXMgYGppdF9yZXF1aXJlZGAgZmxhZyBjYXVzZXMgdGhlIHByb2dyYW0gbG9hZCB0byBmYWlsIHdpdGggYW4gYC1FTk9UU1VQUGAgZXJyb3IuIEl0JiMzOTtzIGEgZnVuY3Rpb25hbCBjaGFuZ2UsIGNsZWFybHkgaW1wYWN0aW5nIGJvdGggdGhlIEJQRiB2ZXJpZmllciBhbmQgaG93IHRoZSBKSVQgaXMgc2VsZWN0ZWQuCgpUaGVyZWZvcmUsIG15IHN1bW1hcnkgd291bGQgbG9vayBzb21ldGhpbmcgbGlrZSB0aGlzOgoKKiAgICoqV29ydGhGdXp6aW5nOioqIFllcwoqICAgKipGb2N1c1N5bWJvbHM6KiogYGJwZl9kb19taXNjX2ZpeHVwc2AsIGFuZCBgX19icGZfcHJvZ19zZWxlY3RfcnVudGltZWAuCiogICAqKkVuYWJsZUNvbmZpZ3M6KiogYEJQRl9KSVRgCgpUaGUgcmVhc29uaW5nIGlzIHByZXR0eSBzdHJhaWdodGZvcndhcmQ6IHRoZSBgaml0X3JlcXVpcmVkYCBmbGFnIGlzIGRpcmVjdGx5IHRpZWQgdG8gdGhlIEpJVCYjMzk7cyBmdW5jdGlvbmFsaXR5IGFuZCBpdHMgYXZhaWxhYmlsaXR5IG9yIGZhaWx1cmUsIHdoaWNoIGhhcyBhIHRhbmdpYmxlIGltcGFjdCBvbiBwcm9ncmFtIGxvYWQuCgpJJiMzOTtsbCBxdWlja2x5IGRvdWJsZS1jaGVjayB0aGF0IHRoZXJlIGFyZW4mIzM5O3QgYW55IG90aGVyIGNvbmZpZ3MgdGhhdCBhcmUgZGlyZWN0bHkgcmVsZXZhbnQgaGVyZS4gV2hpbGUgYENPTkZJR19CUEZfU1lTQ0FMTGAgaXMgaW1wb3J0YW50LCBgQ09ORklHX0JQRl9KSVRgIGlzIHNwZWNpZmljIGVub3VnaCwgc28gaXQgaXMgcHJvYmFibHkgbm90IGdvaW5nIHRvIGJlIHdvcnRoIGFkZGluZyBpdCB0byB0aGUgbGlzdC4KCk9rYXksIHRoYXQmIzM5O3MgbXkgYXNzZXNzbWVudC4gVGltZSB0byBjYWxsIHNldC1yZXN1bHRzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE2LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAwODo1ODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QlBGX0pJVCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2JwZl9kb19taXNjX2ZpeHVwcyYjMzQ7LAogICAgJiMzNDtfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSBgaml0X3JlcXVpcmVkYCBmbGFnIHRvIEJQRiBwcm9ncmFtcywgd2hpY2ggaXMgc2V0IHdoZW4gYSBoZWxwZXIgY2FsbCBpcyBpbmxpbmVkIGJ5IHRoZSBKSVQuIElmIHRoZSBKSVQgaXMgbm90IGF2YWlsYWJsZSBvciBmYWlscywgdGhlIHByb2dyYW0gbG9hZCBmYWlscyB3aXRoIGAtRU5PVFNVUFBgLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIEJQRiB2ZXJpZmllciBhbmQgSklUIHNlbGVjdGlvbiBsb2dpYy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QlBGX0pJVCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2JwZl9kb19taXNjX2ZpeHVwcyYjMzQ7LAogICAgJiMzNDtfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSBgaml0X3JlcXVpcmVkYCBmbGFnIHRvIEJQRiBwcm9ncmFtcywgd2hpY2ggaXMgc2V0IHdoZW4gYSBoZWxwZXIgY2FsbCBpcyBpbmxpbmVkIGJ5IHRoZSBKSVQuIElmIHRoZSBKSVQgaXMgbm90IGF2YWlsYWJsZSBvciBmYWlscywgdGhlIHByb2dyYW0gbG9hZCBmYWlscyB3aXRoIGAtRU5PVFNVUFBgLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIEJQRiB2ZXJpZmllciBhbmQgSklUIHNlbGVjdGlvbiBsb2dpYy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDA4OjU3OjE4Ljc0MTcxNDc5M1oiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQxOTQ2MTI4OTEwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJQRl9KSVRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJicGZfZG9fbWlzY19maXh1cHNcIixcbiAgICBcIl9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGEgYGppdF9yZXF1aXJlZGAgZmxhZyB0byBCUEYgcHJvZ3JhbXMsIHdoaWNoIGlzIHNldCB3aGVuIGEgaGVscGVyIGNhbGwgaXMgaW5saW5lZCBieSB0aGUgSklULiBJZiB0aGUgSklUIGlzIG5vdCBhdmFpbGFibGUgb3IgZmFpbHMsIHRoZSBwcm9ncmFtIGxvYWQgZmFpbHMgd2l0aCBgLUVOT1RTVVBQYC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBCUEYgdmVyaWZpZXIgYW5kIEpJVCBzZWxlY3Rpb24gbG9naWMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDA4OjU3OjE4Ljc0MTcxOTk4M1oiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDY3NjgyMjkyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgNTViZTQ2Y2IyYjgyY2ExZTNhMWUwMzVmMjI0NTg0NmNlNWU5ZWQ1ZlxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgVGh1IEp1bCAyIDA4OjU3OjE3IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvYnBmLmggYi9pbmNsdWRlL2xpbnV4L2JwZi5oXFxuaW5kZXggYmEwOTc5NWUwYmZkYjcuLjQ2M2ZhZTZhNWMzM2RkIDEwMDY0NFxcbi0tLSBhL2luY2x1ZGUvbGludXgvYnBmLmhcXG4rKysgYi9pbmNsdWRlL2xpbnV4L2JwZi5oXFxuQEAgLTE4NjUsOCArMTg2NSw5IEBAIHN0cnVjdCBicGZfcHJvZ19hdXgge1xcbiBcXG4gc3RydWN0IGJwZl9wcm9nIHtcXG4gXFx0dTE2XFx0XFx0XFx0cGFnZXM7XFx0XFx0LyogTnVtYmVyIG9mIGFsbG9jYXRlZCBwYWdlcyAqL1xcbi1cXHR1MTZcXHRcXHRcXHRqaXRlZDoxLFxcdC8qIElzIG91ciBmaWx0ZXIgSklUJ2VkPyAqL1xcbitcXHR1MzJcXHRcXHRcXHRqaXRlZDoxLFxcdC8qIElzIG91ciBmaWx0ZXIgSklUJ2VkPyAqL1xcbiBcXHRcXHRcXHRcXHRqaXRfcmVxdWVzdGVkOjEsLyogYXJjaHMgbmVlZCB0byBKSVQgdGhlIHByb2cgKi9cXG4rXFx0XFx0XFx0XFx0aml0X3JlcXVpcmVkOjEsIC8qIHByb2dyYW0gc3RyaWN0bHkgcmVxdWlyZXMgSklUIGNvbXBpbGVyICovXFxuIFxcdFxcdFxcdFxcdGdwbF9jb21wYXRpYmxlOjEsIC8qIElzIGZpbHRlciBHUEwgY29tcGF0aWJsZT8gKi9cXG4gXFx0XFx0XFx0XFx0Y2JfYWNjZXNzOjEsXFx0LyogSXMgY29udHJvbCBibG9jayBhY2Nlc3NlZD8gKi9cXG4gXFx0XFx0XFx0XFx0ZHN0X25lZWRlZDoxLFxcdC8qIERvIHdlIG5lZWQgZHN0IGVudHJ5PyAqL1xcbmRpZmYgLS1naXQgYS9rZXJuZWwvYnBmL2NvcmUuYyBiL2tlcm5lbC9icGYvY29yZS5jXFxuaW5kZXggNjQ5Y2NlNDFlMTNmM2IuLmE1NTc1NGJjYzU5MzVhIDEwMDY0NFxcbi0tLSBhL2tlcm5lbC9icGYvY29yZS5jXFxuKysrIGIva2VybmVsL2JwZi9jb3JlLmNcXG5AQCAtMjYzOSw3ICsyNjM5LDcgQEAgc3RydWN0IGJwZl9wcm9nICpfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYsIHN0cnVjdFxcbiBcXG4gXFx0XFx0ZnAgPSBicGZfcHJvZ19qaXRfY29tcGlsZShlbnYsIGZwKTtcXG4gXFx0XFx0YnBmX3Byb2dfaml0X2F0dGVtcHRfZG9uZShmcCk7XFxuLVxcdFxcdGlmICghZnAtXFx1MDAzZWppdGVkIFxcdTAwMjZcXHUwMDI2IGppdF9uZWVkZWQpIHtcXG4rXFx0XFx0aWYgKCFmcC1cXHUwMDNlaml0ZWQgXFx1MDAyNlxcdTAwMjYgKGppdF9uZWVkZWQgfHwgZnAtXFx1MDAzZWppdF9yZXF1aXJlZCkpIHtcXG4gXFx0XFx0XFx0KmVyciA9IC1FTk9UU1VQUDtcXG4gXFx0XFx0XFx0cmV0dXJuIGZwO1xcbiBcXHRcXHR9XFxuZGlmZiAtLWdpdCBhL2tlcm5lbC9icGYvZml4dXBzLmMgYi9rZXJuZWwvYnBmL2ZpeHVwcy5jXFxuaW5kZXggMTJhOGE0ZWI3NTdmMTguLjk0ZTA0NTdhMGFhMzNhIDEwMDY0NFxcbi0tLSBhL2tlcm5lbC9icGYvZml4dXBzLmNcXG4rKysgYi9rZXJuZWwvYnBmL2ZpeHVwcy5jXFxuQEAgLTE4NDEsOCArMTg0MSwxMCBAQCBpbnQgYnBmX2RvX21pc2NfZml4dXBzKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYpXFxuIFxcdFxcdH1cXG4gXFxuIFxcdFxcdC8qIFNraXAgaW5saW5pbmcgdGhlIGhlbHBlciBjYWxsIGlmIHRoZSBKSVQgZG9lcyBpdC4gKi9cXG4tXFx0XFx0aWYgKGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChpbnNuLVxcdTAwM2VpbW0pKVxcbitcXHRcXHRpZiAoYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKGluc24tXFx1MDAzZWltbSkpIHtcXG4rXFx0XFx0XFx0cHJvZy1cXHUwMDNlaml0X3JlcXVpcmVkID0gMTtcXG4gXFx0XFx0XFx0Z290byBuZXh0X2luc247XFxuK1xcdFxcdH1cXG4gXFxuIFxcdFxcdGlmIChpbnNuLVxcdTAwM2VpbW0gPT0gQlBGX0ZVTkNfZ2V0X3JvdXRlX3JlYWxtKVxcbiBcXHRcXHRcXHRwcm9nLVxcdTAwM2Vkc3RfbmVlZGVkID0gMTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMDg6NTc6MTkuMjEwMTg5NTk1WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MTQ3NzY0NDYxOCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJCUEZfSklUXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiYnBmX2RvX21pc2NfZml4dXBzXCIsXG4gICAgXCJfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIGBqaXRfcmVxdWlyZWRgIGZsYWcgdG8gQlBGIHByb2dyYW1zLCB3aGljaCBpcyBzZXQgd2hlbiBhIGhlbHBlciBjYWxsIGlzIGlubGluZWQgYnkgdGhlIEpJVC4gSWYgdGhlIEpJVCBpcyBub3QgYXZhaWxhYmxlIG9yIGZhaWxzLCB0aGUgcHJvZ3JhbSBsb2FkIGZhaWxzIHdpdGggYC1FTk9UU1VQUGAuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgQlBGIHZlcmlmaWVyIGFuZCBKSVQgc2VsZWN0aW9uIGxvZ2ljLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDU1YmU0NmNiMmI4MmNhMWUzYTFlMDM1ZjIyNDU4NDZjZTVlOWVkNWZcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVGh1IEp1bCAyIDA4OjU3OjE3IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9icGYuaCBiL2luY2x1ZGUvbGludXgvYnBmLmhcbmluZGV4IGJhMDk3OTVlMGJmZGI3Li40NjNmYWU2YTVjMzNkZCAxMDA2NDRcbi0tLSBhL2luY2x1ZGUvbGludXgvYnBmLmhcbisrKyBiL2luY2x1ZGUvbGludXgvYnBmLmhcbkBAIC0xODY1LDggKzE4NjUsOSBAQCBzdHJ1Y3QgYnBmX3Byb2dfYXV4IHtcbiBcbiBzdHJ1Y3QgYnBmX3Byb2cge1xuIFx0dTE2XHRcdFx0cGFnZXM7XHRcdC8qIE51bWJlciBvZiBhbGxvY2F0ZWQgcGFnZXMgKi9cbi1cdHUxNlx0XHRcdGppdGVkOjEsXHQvKiBJcyBvdXIgZmlsdGVyIEpJVCdlZD8gKi9cbitcdHUzMlx0XHRcdGppdGVkOjEsXHQvKiBJcyBvdXIgZmlsdGVyIEpJVCdlZD8gKi9cbiBcdFx0XHRcdGppdF9yZXF1ZXN0ZWQ6MSwvKiBhcmNocyBuZWVkIHRvIEpJVCB0aGUgcHJvZyAqL1xuK1x0XHRcdFx0aml0X3JlcXVpcmVkOjEsIC8qIHByb2dyYW0gc3RyaWN0bHkgcmVxdWlyZXMgSklUIGNvbXBpbGVyICovXG4gXHRcdFx0XHRncGxfY29tcGF0aWJsZToxLCAvKiBJcyBmaWx0ZXIgR1BMIGNvbXBhdGlibGU/ICovXG4gXHRcdFx0XHRjYl9hY2Nlc3M6MSxcdC8qIElzIGNvbnRyb2wgYmxvY2sgYWNjZXNzZWQ/ICovXG4gXHRcdFx0XHRkc3RfbmVlZGVkOjEsXHQvKiBEbyB3ZSBuZWVkIGRzdCBlbnRyeT8gKi9cbmRpZmYgLS1naXQgYS9rZXJuZWwvYnBmL2NvcmUuYyBiL2tlcm5lbC9icGYvY29yZS5jXG5pbmRleCA2NDljY2U0MWUxM2YzYi4uYTU1NzU0YmNjNTkzNWEgMTAwNjQ0XG4tLS0gYS9rZXJuZWwvYnBmL2NvcmUuY1xuKysrIGIva2VybmVsL2JwZi9jb3JlLmNcbkBAIC0yNjM5LDcgKzI2MzksNyBAQCBzdHJ1Y3QgYnBmX3Byb2cgKl9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWUoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudiwgc3RydWN0XG4gXG4gXHRcdGZwID0gYnBmX3Byb2dfaml0X2NvbXBpbGUoZW52LCBmcCk7XG4gXHRcdGJwZl9wcm9nX2ppdF9hdHRlbXB0X2RvbmUoZnApO1xuLVx0XHRpZiAoIWZwLVx1MDAzZWppdGVkIFx1MDAyNlx1MDAyNiBqaXRfbmVlZGVkKSB7XG4rXHRcdGlmICghZnAtXHUwMDNlaml0ZWQgXHUwMDI2XHUwMDI2IChqaXRfbmVlZGVkIHx8IGZwLVx1MDAzZWppdF9yZXF1aXJlZCkpIHtcbiBcdFx0XHQqZXJyID0gLUVOT1RTVVBQO1xuIFx0XHRcdHJldHVybiBmcDtcbiBcdFx0fVxuZGlmZiAtLWdpdCBhL2tlcm5lbC9icGYvZml4dXBzLmMgYi9rZXJuZWwvYnBmL2ZpeHVwcy5jXG5pbmRleCAxMmE4YTRlYjc1N2YxOC4uOTRlMDQ1N2EwYWEzM2EgMTAwNjQ0XG4tLS0gYS9rZXJuZWwvYnBmL2ZpeHVwcy5jXG4rKysgYi9rZXJuZWwvYnBmL2ZpeHVwcy5jXG5AQCAtMTg0MSw4ICsxODQxLDEwIEBAIGludCBicGZfZG9fbWlzY19maXh1cHMoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudilcbiBcdFx0fVxuIFxuIFx0XHQvKiBTa2lwIGlubGluaW5nIHRoZSBoZWxwZXIgY2FsbCBpZiB0aGUgSklUIGRvZXMgaXQuICovXG4tXHRcdGlmIChicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoaW5zbi1cdTAwM2VpbW0pKVxuK1x0XHRpZiAoYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKGluc24tXHUwMDNlaW1tKSkge1xuK1x0XHRcdHByb2ctXHUwMDNlaml0X3JlcXVpcmVkID0gMTtcbiBcdFx0XHRnb3RvIG5leHRfaW5zbjtcbitcdFx0fVxuIFxuIFx0XHRpZiAoaW5zbi1cdTAwM2VpbW0gPT0gQlBGX0ZVTkNfZ2V0X3JvdXRlX3JlYWxtKVxuIFx0XHRcdHByb2ctXHUwMDNlZHN0X25lZWRlZCA9IDE7XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wMlQwODo1NzoxOS4yMTAxOTExODVaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2NTE5MzQyNzcyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgYGppdF9yZXF1aXJlZGAgUGF0Y2ggZm9yIEZ1enppbmcgUG90ZW50aWFsKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBwYXRjaC4gSXQgaW50cm9kdWNlcyBhIGBqaXRfcmVxdWlyZWRgIGJpdCB0byB0aGUgYHN0cnVjdCBicGZfcHJvZ2AsIHdoaWNoIGlzIGludGVyZXN0aW5nLiBJdCBzZWVtcyBsaWtlIGl0J3Mgc2V0dGluZyBgcHJvZy1cdTAwM2VqaXRfcmVxdWlyZWQgPSAxYCB3aXRoaW4gYGJwZl9kb19taXNjX2ZpeHVwc2AgaWYgYSBzcGVjaWZpYyBoZWxwZXIgY2FsbCBpcyBpbmxpbmVkIGJ5IHRoZSBKSVQsIGluZGljYXRlZCBieSBgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKGluc24tXHUwMDNlaW1tKWAgcmV0dXJuaW5nIHRydWUuIFRoZW4sIGRvd24gdGhlIGxpbmUsIGluIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYCwgaXQgdXNlcyB0aGlzIGZsYWcgKGFsb25nc2lkZSBzb21lIG90aGVyIGNoZWNrcykgdG8gcG90ZW50aWFsbHkgcmV0dXJuIGAtRU5PVFNVUFBgIGlmIEpJVCBpc24ndCBhdmFpbGFibGUgd2hlbiB0aGUgcHJvZ3JhbSBuZWVkcyBpdC5cblxuRnJvbSBhIGZ1enppbmcgcGVyc3BlY3RpdmUsIHRoaXMgaW1tZWRpYXRlbHkgcGlxdWVzIG15IGludGVyZXN0LiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2Ugd2l0aGluIHRoZSBCUEYgc3Vic3lzdGVtLiBUaGUgY29yZSBpZGVhIGlzOiBpZiBhIEJQRiBwcm9ncmFtIGxldmVyYWdlcyBhIGhlbHBlciB0aGF0IHRoZSBKSVQgY29tcGlsZXIgd2FudHMgdG8gaW5saW5lLCBhbmQgdGhlIEpJVCBpc24ndCBhdmFpbGFibGUgKG9yIGZhaWxzKSwgdGhlIHByb2dyYW0gbG9hZCB3aWxsIG5vdyBiZSByZWplY3RlZC4gVGhpcyBgLUVOT1RTVVBQYCBpcyBhIG5ldyBwb3RlbnRpYWwgZmFpbHVyZSBwb2ludC4gR2l2ZW4gdGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlLCBpdCdzIHNvbWV0aGluZyB3ZSBzaG91bGQgbG9vayBhdCBmdXp6aW5nLlxuXG5Ob3csIGxldCdzIHNlZSB3aGljaCBmdW5jdGlvbnMgYXJlIHJlbGV2YW50LiBJJ3ZlIGFscmVhZHkgaWRlbnRpZmllZCBgYnBmX2RvX21pc2NfZml4dXBzYCBhbmQgYF9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVgIGFzIGtleSBhcmVhcy4gSSdsbCBuZWVkIHRvIHVuZGVyc3RhbmQgaG93IHRoZSBgaml0X3JlcXVpcmVkYCBiaXQgcHJvcGFnYXRlcyBhbmQgd2hlcmUgdGhlIHJ1bnRpbWUgc2VsZWN0aW9uIGxvZ2ljIHNpdHMuXG5cblRvIGVmZmVjdGl2ZWx5IHRhcmdldCB0aGlzLCBJIHNob3VsZCBhbHNvIGxvb2sgYXQgdGhlIGNvbmZpZ3VyYXRpb24gZGVwZW5kZW5jaWVzLiBCUEYgaXMgdXN1YWxseSBlbmFibGVkIGJ5IGBDT05GSUdfQlBGX1NZU0NBTExgLCBvZiBjb3Vyc2UsIGJ1dCBJIHNob3VsZCBsb29rIGRlZXBlciBmb3IgbW9yZSBzcGVjaWZpYyBjb25maWd1cmF0aW9ucyB0aGF0IGNvbnRyb2wgdGhlIEpJVCwgZXNwZWNpYWxseSB0byBidWlsZCBhIGZ1enplciB0aGF0IGNhbiBkaXNhYmxlIHRoZSBKSVQgdG8gdHJpZ2dlciB0aGUgYC1FTk9UU1VQUGAuIEknbGwgZGlnIGludG8gYGtlcm5lbC9icGYvY29yZS5jYCBhbmQgYGtlcm5lbC9icGYvZml4dXBzLmNgIHRvIHNlZSBpZiB0aGVyZSBhcmUgYW55IHNwZWNpZmljIGNvbmRpdGlvbnMgb3IgY29uZmlndXJhdGlvbnMgdGhhdCBjYW4gaW5mbHVlbmNlIHRoZSBgaml0X3JlcXVpcmVkYCBmbGFnIG9yIHRoZSBKSVQgYmVoYXZpb3IgaW4gZ2VuZXJhbC5cblxuXG4iLCJJbnB1dFRva2VucyI6MjM2NiwiT3V0cHV0VG9rZW5zIjoyMywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI3NCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDA4OjU3OjI1LjcyOTUzNjU1N1oiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozMzM1NzQ1OTEyLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImJwZl9kb19taXNjX2ZpeHVwc1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJpbmNsdWRlL2xpbnV4L2JwZl92ZXJpZmllci5oPTE2MTM9aW50IGJwZl9maXh1cF9jYWxsX2FyZ3Moc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudik7XFxuaW5jbHVkZS9saW51eC9icGZfdmVyaWZpZXIuaDoxNjE0OmludCBicGZfZG9fbWlzY19maXh1cHMoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudik7XFxuaW5jbHVkZS9saW51eC9icGZfdmVyaWZpZXIuaC0xNjE1LVxcbi0tXFxua2VybmVsL2JwZi9maXh1cHMuYz0xNDUyPXN0YXRpYyBpbnQgYWRkX2hpZGRlbl9zdWJwcm9nKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYsIHN0cnVjdCBicGZfaW5zbiAqcGF0Y2gsIGludCBsZW4pXFxuLS1cXG5rZXJuZWwvYnBmL2ZpeHVwcy5jLTE0ODAtICovXFxua2VybmVsL2JwZi9maXh1cHMuYzoxNDgxOmludCBicGZfZG9fbWlzY19maXh1cHMoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudilcXG5rZXJuZWwvYnBmL2ZpeHVwcy5jLTE0ODIte1xcbi0tXFxua2VybmVsL2JwZi92ZXJpZmllci5jPTE5NzQzPWludCBicGZfY2hlY2soc3RydWN0IGJwZl9wcm9nICoqcHJvZywgdW5pb24gYnBmX2F0dHIgKmF0dHIsIGJwZnB0cl90IHVhdHRyLFxcbi0tXFxua2VybmVsL2JwZi92ZXJpZmllci5jLTE5OTM3LVxcdGlmIChyZXQgPT0gMClcXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmM6MTk5Mzg6XFx0XFx0cmV0ID0gYnBmX2RvX21pc2NfZml4dXBzKGVudik7XFxua2VybmVsL2JwZi92ZXJpZmllci5jLTE5OTM5LVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wMlQwODo1NzoyOS4wNjUyODc0NjlaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozODcyMzMyOTIzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBsZXQncyBicmVhayB0aGlzIGRvd24uXG5cbioqSW52ZXN0aWdhdGluZyB0aGUgQlBGIENvZGViYXNlKipcblxuQWxyaWdodCwgSSBuZWVkIHRvIHVuZGVyc3RhbmQgd2hlcmUgYSBzcGVjaWZpYyBwYXJ0IG9mIHRoZSBCUEYgY29kZSBsaXZlcy4gTXkgaW5pdGlhbCBmb2N1cyBpcyBvbiBga2VybmVsL2JwZi9maXh1cHMuY2AgYW5kIGBrZXJuZWwvYnBmL2NvcmUuY2AuIFRoZXNlIGZpbGUgbmFtZXMgc3VnZ2VzdCB0aGV5IGhhbmRsZSBCUEYgaW5zdHJ1Y3Rpb24gZml4LXVwcyBhbmQgY29yZSBmdW5jdGlvbmFsaXRpZXMsIHJlc3BlY3RpdmVseS4gVG8gZ2V0IGEgY29tcHJlaGVuc2l2ZSBwaWN0dXJlLCBJIHNob3VsZCBhbHNvIGNoZWNrIHRoZSBidWlsZCBjb25maWd1cmF0aW9uIGFuZCBkZXBlbmRlbmNpZXMuIFRoZSBga2VybmVsL2JwZi9NYWtlZmlsZWAgaXMgdGhlIG5hdHVyYWwgcGxhY2UgdG8gc3RhcnQsIGFzIGl0IHNob3VsZCBjb250YWluIHRoZSByZWxldmFudCBmbGFncywgb2JqZWN0IGZpbGUgZGVwZW5kZW5jaWVzLCBhbmQgYW55IGNvbmRpdGlvbmFsIGNvbXBpbGF0aW9uIHRoYXQncyBhdCBwbGF5IGluIHRoaXMgYXJlYSBvZiB0aGUgY29kZS4gVGhpcyB3aWxsIGNsYXJpZnkgYW55IGJ1aWxkLXRpbWUgY29uZmlndXJhdGlvbnMgb3IgZXh0ZXJuYWwgZGVwZW5kZW5jaWVzIEkgbmVlZCB0byBiZSBhd2FyZSBvZi5cblxuXG4iLCJJbnB1dFRva2VucyI6MzQ2OCwiT3V0cHV0VG9rZW5zIjozMCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjQ2LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDA4OjU3OjMyLjkzNzYyNDE0MloiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo5OTI5NDcxNiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJmaXh1cHMub1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJrZXJuZWwvYnBmL01ha2VmaWxlXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImtlcm5lbC9icGYvTWFrZWZpbGU9MTM9b2JqLSQoQ09ORklHX0JQRl9TWVNDQUxMKSArPSBicGZfbG9jYWxfc3RvcmFnZS5vIGJwZl90YXNrX3N0b3JhZ2Uub1xcbmtlcm5lbC9icGYvTWFrZWZpbGU6MTQ6b2JqLSQoQ09ORklHX0JQRl9TWVNDQUxMKSArPSBmaXh1cHMubyBjZmcubyBzdGF0ZXMubyBiYWNrdHJhY2subyBjaGVja19idGYub1xcbmtlcm5lbC9icGYvTWFrZWZpbGUtMTUtb2JqLSR7Q09ORklHX0JQRl9MU019XFx0ICArPSBicGZfaW5vZGVfc3RvcmFnZS5vXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDA4OjU3OjMzLjAzNjkzMTA3OFoiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjI1MjMwMjc3MjMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGxldCdzIGJyZWFrIHRoaXMgZG93bi5cblxuKipJbnZlc3RpZ2F0aW5nIEJQRiBKSVQgSW5saW5pbmcqKlxuXG5BbHJpZ2h0LCBzbyB0aGUgYmlnIHBpY3R1cmUgaGVyZSBpcyBkZWZpbml0ZWx5IHRpZWQgdG8gYENPTkZJR19CUEZfU1lTQ0FMTGAsIGJ1dCB0aGF0J3MgdGhlIGdlbmVyaWMsIG92ZXJhcmNoaW5nIG9uZSwgc28gSSBkb24ndCBuZWVkIHRvIHNwZWNpZnkgdGhhdCBzcGVjaWZpY2FsbHkuIEl0J3MgYWxtb3N0IGltcGxpZWQuIEl0J3MgdGhlIGZvdW5kYXRpb24gd2UncmUgYnVpbGRpbmcgb24uXG5cbk15IGZvY3VzIHNob3VsZCBiZSBvbiB0aGUgbW9yZSBzcGVjaWZpYyBjb25maWcgdmFyaWFibGUuIFRoZSBtb3JlIHJlbGV2YW50IGFyZWEgb2YgaW52ZXN0aWdhdGlvbiwgaXMgYGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbGAuIFRoYXQncyB3aGVyZSBJIG5lZWQgdG8gZGlnIGluIGFuZCB1bmRlcnN0YW5kLlxuXG5cbiIsIklucHV0VG9rZW5zIjozODMyLCJPdXRwdXRUb2tlbnMiOjI1LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NDgsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMDg6NTc6MzUuNTU5OTYxMzAxWiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIwODMwNzU2MDAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImFyY2gvYXJtNjQvbmV0L2JwZl9qaXRfY29tcC5jPTMyMDE9Ym9vbCBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvKHZvaWQpXFxuLS1cXG5hcmNoL2FybTY0L25ldC9icGZfaml0X2NvbXAuYy0zMjA1LVxcbmFyY2gvYXJtNjQvbmV0L2JwZl9qaXRfY29tcC5jOjMyMDY6Ym9vbCBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoczMyIGltbSlcXG5hcmNoL2FybTY0L25ldC9icGZfaml0X2NvbXAuYy0zMjA3LXtcXG4tLVxcbmFyY2gvcG93ZXJwYy9uZXQvYnBmX2ppdF9jb21wLmM9NTcyPWJvb2wgYnBmX2ppdF9zdXBwb3J0c19wZXJjcHVfaW5zbih2b2lkKVxcbi0tXFxuYXJjaC9wb3dlcnBjL25ldC9icGZfaml0X2NvbXAuYy01NzYtXFxuYXJjaC9wb3dlcnBjL25ldC9icGZfaml0X2NvbXAuYzo1Nzc6Ym9vbCBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoczMyIGltbSlcXG5hcmNoL3Bvd2VycGMvbmV0L2JwZl9qaXRfY29tcC5jLTU3OC17XFxuLS1cXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jPTIxMzk9Ym9vbCBicGZfaml0X3N1cHBvcnRzX3BlcmNwdV9pbnNuKHZvaWQpXFxuLS1cXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jLTIxNDMtXFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYzoyMTQ0OmJvb2wgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKHMzMiBpbW0pXFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0yMTQ1LXtcXG4tLVxcbmFyY2gvczM5MC9uZXQvYnBmX2ppdF9jb21wLmM9MzA4MT1ib29sIGJwZl9qaXRfc3VwcG9ydHNfdGltZWRfbWF5X2dvdG8odm9pZClcXG4tLVxcbmFyY2gvczM5MC9uZXQvYnBmX2ppdF9jb21wLmMtMzA4NS1cXG5hcmNoL3MzOTAvbmV0L2JwZl9qaXRfY29tcC5jOjMwODY6Ym9vbCBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoczMyIGltbSlcXG5hcmNoL3MzOTAvbmV0L2JwZl9qaXRfY29tcC5jLTMwODcte1xcbi0tXFxuaW5jbHVkZS9saW51eC9maWx0ZXIuaD0xMTc5PWJvb2wgYnBmX2ppdF9uZWVkc196ZXh0KHZvaWQpO1xcbmluY2x1ZGUvbGludXgvZmlsdGVyLmg6MTE4MDpib29sIGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChzMzIgaW1tKTtcXG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oLTExODEtYm9vbCBicGZfaml0X3N1cHBvcnRzX3N1YnByb2dfdGFpbGNhbGxzKHZvaWQpO1xcbi0tXFxua2VybmVsL2JwZi9jb3JlLmM9MzIwOT1ib29sIF9fd2VhayBicGZfaml0X2J5cGFzc19zcGVjX3Y0KHZvaWQpXFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYy0zMjE5LSAqL1xcbmtlcm5lbC9icGYvY29yZS5jOjMyMjA6Ym9vbCBfX3dlYWsgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKHMzMiBpbW0pXFxua2VybmVsL2JwZi9jb3JlLmMtMzIyMS17XFxuLS1cXG5rZXJuZWwvYnBmL2ZpeHVwcy5jPTE0ODE9aW50IGJwZl9kb19taXNjX2ZpeHVwcyhzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52KVxcbi0tXFxua2VybmVsL2JwZi9maXh1cHMuYy0xODQzLVxcdFxcdC8qIFNraXAgaW5saW5pbmcgdGhlIGhlbHBlciBjYWxsIGlmIHRoZSBKSVQgZG9lcyBpdC4gKi9cXG5rZXJuZWwvYnBmL2ZpeHVwcy5jOjE4NDQ6XFx0XFx0aWYgKGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChpbnNuLVxcdTAwM2VpbW0pKSB7XFxua2VybmVsL2JwZi9maXh1cHMuYy0xODQ1LVxcdFxcdFxcdHByb2ctXFx1MDAzZWppdF9yZXF1aXJlZCA9IDE7XFxuLS1cXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmM9MTY2ODM9Ym9vbCBicGZfZ2V0X2NhbGxfc3VtbWFyeShzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LCBzdHJ1Y3QgYnBmX2luc24gKmNhbGwsXFxuLS1cXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmMtMTY2OTYtXFx0XFx0XFx0ICAgICAgIChicGZfdmVyaWZpZXJfaW5saW5lc19oZWxwZXJfY2FsbChlbnYsIGNhbGwtXFx1MDAzZWltbSkgfHxcXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmM6MTY2OTc6XFx0XFx0XFx0XFx0YnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKGNhbGwtXFx1MDAzZWltbSkpO1xcbmtlcm5lbC9icGYvdmVyaWZpZXIuYy0xNjY5OC1cXHRcXHRjcy1cXHUwMDNlaXNfdm9pZCA9IGZuLVxcdTAwM2VyZXRfdHlwZSA9PSBSRVRfVk9JRDtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMDg6NTc6MzcuNjQzMDQ1MzMyWiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTg5NzgyMDU2NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBBc3Nlc3NtZW50IG9mIHRoZSBOZXcgQlBGIFBhdGNoKipcblxuT2theSwgc28gdGhpcyBwYXRjaCBpcyBkb2luZyB3aGF0IEkgc3VzcGVjdGVkIOKAkyBpdCdzIGFkZHJlc3NpbmcgdGhlIGludGVyYWN0aW9uIGJldHdlZW4gaW5saW5lZCBKSVQgaGVscGVycyB3aXRoaW4gQlBGIHByb2dyYW1zIGFuZCB0aGUgSklUIGF2YWlsYWJpbGl0eS4gU3BlY2lmaWNhbGx5LCBpZiBhIEJQRiBwcm9ncmFtIGxldmVyYWdlcyBhIGhlbHBlciB0aGF0IHRoZSBKSVQgaW5saW5lcywgdGhlIHBhdGNoIGVuZm9yY2VzIGEgSklUIHJlcXVpcmVtZW50LiBNYWtlcyBzZW5zZSwgYW5kIGl0IGFsaWducyB3aXRoIGJlc3QgcHJhY3RpY2VzIGZvciBlbnN1cmluZyBjb25zaXN0ZW50IGFuZCBleHBlY3RlZCBiZWhhdmlvci4gSWYgdGhlIEpJVCBpcyBhYnNlbnQsIHdlJ3JlIGV4cGxpY2l0bHkgZmFpbGluZyB3aXRoIGAtRU5PVFNVUFBgLCB3aGljaCBpcyB0aGUgcmlnaHQgZXJyb3IgY29kZSBpbiB0aGlzIHNjZW5hcmlvLlxuXG5EZWZpbml0ZWx5IHdvcnRoIGEgdGhvcm91Z2ggZnV6emluZyBjYW1wYWlnbiB0byBzZWUgaG93IHJvYnVzdCB0aGlzIG5ldyBjaGVjayBpcy4gSSBuZWVkIHRvIGtlZXAgdGhlc2Ugc3ltYm9scyBpbiBtaW5kIGFzIEkgc3RhcnQuXG5cbktleSBhcmVhcyB0byBrZWVwIGFuIGV5ZSBvbiBkdXJpbmcgdGVzdGluZywgdGhlIGZvY2FsIHBvaW50cyBhcmUgYGJwZl9kb19taXNjX2ZpeHVwc2AgYW5kIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYC5cblxuUmVnYXJkaW5nIGNvbmZpZ3VyYXRpb24sIGBDT05GSUdfQlBGX1NZU0NBTExgIGlzIGEgZ2l2ZW47IGl0J3MgdGhlIGZvdW5kYXRpb24uIE5vIG5lZWQgdG8gZXhwbGljaXRseSBzcGVjaWZ5IGl0LiBIb3dldmVyLCBJIHNob3VsZCBkb3VibGUtY2hlY2sgdGhlIGltcGxpY2F0aW9ucyBvZiBgQ09ORklHX0JQRl9KSVRgLiBJdCdzIHVzdWFsbHkgZW5hYmxlZCwgYnV0IEkgbmVlZCB0byBtYWtlIHN1cmUgSSdtIHRlc3Rpbmcgd2l0aCBhIGZldyBjb25maWd1cmF0aW9ucy4gQSBxdWljayBncmVwIGluIGBrZXJuZWwvYnBmL2NvcmUuY2AgZm9yIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYCBzaG91bGQgZ2l2ZSBtZSBhIGJldHRlciB1bmRlcnN0YW5kaW5nIG9mIGhvdyB0aGUgY29kZSBmbG93IGludGVyYWN0cyB3aXRoIHRoYXQgY29uZmlnIG9wdGlvbi4gTGV0J3Mgc2VlIHdoYXQgd2UgY2FuIGZpbmQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjUwNDMsIk91dHB1dFRva2VucyI6MjMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNzQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMDg6NTc6NDMuNTQwODY4NTE3WiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMTIwNjU3NzA5LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIl9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiaW5jbHVkZS9saW51eC9maWx0ZXIuaD0xMTI4PXNrX2ZpbHRlcl9yZWFzb24oc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKVxcbi0tXFxuaW5jbHVkZS9saW51eC9maWx0ZXIuaC0xMTMyLVxcbmluY2x1ZGUvbGludXgvZmlsdGVyLmg6MTEzMzpzdHJ1Y3QgYnBmX3Byb2cgKl9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWUoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudiwgc3RydWN0IGJwZl9wcm9nICpmcCxcXG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oLTExMzQtXFx0XFx0XFx0XFx0XFx0ICAgaW50ICplcnIpO1xcbi0tXFxua2VybmVsL2JwZi9jb3JlLmM9MjU2ND1zdGF0aWMgc3RydWN0IGJwZl9wcm9nICpicGZfcHJvZ19qaXRfY29tcGlsZShzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LCBzdHJ1Y3QgYnBmX3Byb2cgKnByb2cpXFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYy0yNjEwLVxcbmtlcm5lbC9icGYvY29yZS5jOjI2MTE6c3RydWN0IGJwZl9wcm9nICpfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYsIHN0cnVjdCBicGZfcHJvZyAqZnAsXFxua2VybmVsL2JwZi9jb3JlLmMtMjYxMi1cXHRcXHRcXHRcXHRcXHQgICBpbnQgKmVycilcXG4tLVxcbmtlcm5lbC9icGYvY29yZS5jPTI2Nzg9c3RydWN0IGJwZl9wcm9nICpicGZfcHJvZ19zZWxlY3RfcnVudGltZShzdHJ1Y3QgYnBmX3Byb2cgKmZwLCBpbnQgKmVycilcXG5rZXJuZWwvYnBmL2NvcmUuYy0yNjc5LXtcXG5rZXJuZWwvYnBmL2NvcmUuYzoyNjgwOlxcdHJldHVybiBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lKE5VTEwsIGZwLCBlcnIpO1xcbmtlcm5lbC9icGYvY29yZS5jLTI2ODEtfVxcbi0tXFxua2VybmVsL2JwZi92ZXJpZmllci5jPTE5NzQzPWludCBicGZfY2hlY2soc3RydWN0IGJwZl9wcm9nICoqcHJvZywgdW5pb24gYnBmX2F0dHIgKmF0dHIsIGJwZnB0cl90IHVhdHRyLFxcbi0tXFxua2VybmVsL2JwZi92ZXJpZmllci5jLTIwMDA3LVxcbmtlcm5lbC9icGYvdmVyaWZpZXIuYzoyMDAwODpcXHRlbnYtXFx1MDAzZXByb2cgPSBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lKGVudiwgZW52LVxcdTAwM2Vwcm9nLCBcXHUwMDI2cmV0KTtcXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmMtMjAwMDktXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDA4OjU3OjQ1LjY2MTUzMjYxNloiLCJTZXEiOjExLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1MTAzMjA5ODY2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgUGF0Y2gncyBJbXBhY3Qgb24gQlBGIEpJVCBhbmQgUnVudGltZSBTZWxlY3Rpb24qKlxuXG5Pa2F5LCBzbyB0aGUgcGF0Y2ggaXMgZnVuY3Rpb25hbGx5IHNvdW5kLCB3aGljaCBpcyBnb29kLiBNeSBpbW1lZGlhdGUgY29uY2VybiwgYmFzZWQgb24gdGhlIGZ1bmN0aW9uIG5hbWVzIG1lbnRpb25lZCDigJMgYGJwZl9kb19taXNjX2ZpeHVwc2AgYW5kIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYCDigJMgaXMgaG93IHRoaXMgaW1wYWN0cyBCUEYgSklUIGFuZCB0aGUgcnVudGltZSBzZWxlY3Rpb24gcHJvY2Vzcy4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGNvbm5lY3Rpb24uXG5cbkknbSBub3RpbmcgYEJQRl9KSVRgIGhlcmUsIGV2ZW4gdGhvdWdoIGl0J3MgdHlwaWNhbGx5IGVuYWJsZWQsIGJlY2F1c2UgdGhpcyBwYXRjaCBzZWVtcyBkaXJlY3RseSByZWxhdGVkIHRvICp3aGVuKiBKSVQgaXMgcmVxdWlyZWQgYW5kIHBvdGVudGlhbGx5IGhvdyBpdCdzIGhhbmRsZWQuIFRoZSBjb3JlIHF1ZXN0aW9uIGlzOiB3aGF0IGhhcHBlbnMgd2hlbiBKSVQgaXNuJ3QgYWx3YXlzIGF2YWlsYWJsZSwgb3Igd2hlbiBpdHMgdXNhZ2UgaXMgY29uZGl0aW9uYWw/IElmIEpJVCBpcyBkaXNhYmxlZCwgSSBrbm93IGBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGxgIG1pZ2h0IHJldHVybiBmYWxzZSwgYnV0IEkgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCdzIHRoZSBvbmx5IGltcGFjdC4gVGhlIHJlYWwgcG9pbnQgb2YgY29uY2VybiBoZXJlLCBub3cgdGhhdCBJIHRoaW5rIGFib3V0IGl0LCBpcyB3aGF0IGlmIGl0ICpkb2VzKiByZXR1cm4gdHJ1ZSwgaW5kaWNhdGluZyBhIG5lZWQgZm9yIEpJVC4gV2hhdCdzIHRoZSBmYWxsYmFjayBvciBhbHRlcm5hdGl2ZSBwYXRod2F5IGlmIEpJVCBpc24ndCBjb25maWd1cmVkLCBvciBpcyBvdGhlcndpc2UgdW5hdmFpbGFibGU/IEkgbmVlZCB0byBjaGVjayBob3cgdGhhdCBwbGF5cyBvdXQuIFNvLCBlc3NlbnRpYWxseSwgaWYgYENPTkZJR19CUEZfSklUYCBpcyBkaXNhYmxlZCwgYGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbGAgc2hvdWxkIHJldHVybiBmYWxzZSwgYnV0IEknbSBnb2luZyB0byBkb3VibGUgY2hlY2sgdGhlIGNvZGUgYXJvdW5kIHRoYXQgcG9pbnQgZm9yIHNpZGUgZWZmZWN0cyBhbmQgZWRnZSBjYXNlcy5cblxuXG4iLCJJbnB1dFRva2VucyI6NjA0MSwiT3V0cHV0VG9rZW5zIjozOSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE0OCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wMlQwODo1Nzo1MC43NjQ3NDQ3NjFaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEwNjUyMjQ3NiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGxcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwia2VybmVsL2JwZi9jb3JlLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwia2VybmVsL2JwZi9jb3JlLmM9MzIwOT1ib29sIF9fd2VhayBicGZfaml0X2J5cGFzc19zcGVjX3Y0KHZvaWQpXFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYy0zMjE5LSAqL1xcbmtlcm5lbC9icGYvY29yZS5jOjMyMjA6Ym9vbCBfX3dlYWsgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKHMzMiBpbW0pXFxua2VybmVsL2JwZi9jb3JlLmMtMzIyMS17XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDA4OjU3OjUwLjg3MTI3MjA5N1oiLCJTZXEiOjEzLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozNTkyNTQ3MDgzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgQlBGIEpJVCBDb25maWd1cmF0aW9uKipcblxuT2theSwgc28gdGhlIGJhc2UtbGV2ZWwgZnVuY3Rpb24gcmV0dXJucyBgZmFsc2VgIGJ5IGRlZmF1bHQuIFRoYXQncyB0aGUgYmFzZWxpbmUsIHRoZSBcIm5vdGhpbmcgZW5hYmxlZFwiIHNjZW5hcmlvLiBCdXQgdGhlIGNyaXRpY2FsIHRoaW5nIGhlcmUgaXMgdGhhdCBpZiBgQ09ORklHX0JQRl9KSVRgIGlzIHNldCwgdGhlIGFyY2hpdGVjdHVyZXMgYXJlIHN1cHBvc2VkIHRvIG92ZXJyaWRlIHRoaXMgZGVmYXVsdCBiZWhhdmlvci4gVGhhdCBtZWFucyBgQlBGX0pJVGAgaXMgdGhlIGtleS4gSXQncyB0aGUgZW5hYmxpbmcgc3dpdGNoLiBTbywgdGhlIGNydWNpYWwgcXVlc3Rpb24sIHRoZSBvbmUgSSBuZWVkIHRvIGFuc3dlciwgaXM6IGlzIGBCUEZfSklUYCB0aGUgY29uZmlndXJhdGlvbiBvcHRpb24gSSdtIGFjdHVhbGx5IGludGVyZXN0ZWQgaW4/IElzIHRoYXQgdGhlIGNvcnJlY3Qgb25lIHRvIGJlIGludmVzdGlnYXRpbmc/XG5cblxuIiwiSW5wdXRUb2tlbnMiOjY2NDcsIk91dHB1dFRva2VucyI6MzIsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo1NCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wMlQwODo1Nzo1NC40NjM4MjE3WiIsIlNlcSI6MTQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NjA2MzkyOCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJDT05GSUdfQlBGX0pJVFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJrZXJuZWwvYnBmL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJrZXJuZWwvYnBmL0tjb25maWc9NTg9Y29uZmlnIEJQRl9KSVRfQUxXQVlTX09OXFxuLS1cXG5rZXJuZWwvYnBmL0tjb25maWctNjQtXFxua2VybmVsL2JwZi9LY29uZmlnOjY1OlxcdCAgV2hlbiBDT05GSUdfQlBGX0pJVF9BTFdBWVNfT04gaXMgZW5hYmxlZCwgL3Byb2Mvc3lzL25ldC9jb3JlL2JwZl9qaXRfZW5hYmxlXFxua2VybmVsL2JwZi9LY29uZmlnLTY2LVxcdCAgaXMgcGVybWFuZW50bHkgc2V0IHRvIDEgYW5kIHNldHRpbmcgYW55IG90aGVyIHZhbHVlIHRoYW4gdGhhdCB3aWxsXFxuLS1cXG5rZXJuZWwvYnBmL01ha2VmaWxlPTI9b2JqLXkgOj0gY29yZS5vXFxua2VybmVsL2JwZi9NYWtlZmlsZTozOmlmbmVxICgkKENPTkZJR19CUEZfSklUX0FMV0FZU19PTikseSlcXG5rZXJuZWwvYnBmL01ha2VmaWxlLTQtIyBfX19icGZfcHJvZ19ydW4oKSBuZWVkcyBHQ1NFIGRpc2FibGVkIG9uIHg4Njsgc2VlIDMxOTNjMDgzNmYyMDMgZm9yIGRldGFpbHNcXG4tLVxcbmtlcm5lbC9icGYvTWFrZWZpbGU9MTY9b2JqLSQoQ09ORklHX0JQRl9TWVNDQUxMKSArPSBkaXNhc20ubyBtcHJvZy5vXFxua2VybmVsL2JwZi9NYWtlZmlsZToxNzpvYmotJChDT05GSUdfQlBGX0pJVCkgKz0gdHJhbXBvbGluZS5vXFxua2VybmVsL2JwZi9NYWtlZmlsZS0xOC1vYmotJChDT05GSUdfQlBGX1NZU0NBTEwpICs9IGJ0Zi5vIG1lbWFsbG9jLm8gcnFzcGlubG9jay5vIHN0cmVhbS5vXFxuLS1cXG5rZXJuZWwvYnBmL01ha2VmaWxlPTIxPWVuZGlmXFxua2VybmVsL2JwZi9NYWtlZmlsZToyMjpvYmotJChDT05GSUdfQlBGX0pJVCkgKz0gZGlzcGF0Y2hlci5vXFxua2VybmVsL2JwZi9NYWtlZmlsZS0yMy1pZmVxICgkKENPTkZJR19ORVQpLHkpXFxuLS1cXG5rZXJuZWwvYnBmL01ha2VmaWxlPTQyPWVuZGlmXFxua2VybmVsL2JwZi9NYWtlZmlsZTo0MzppZmVxICgkKENPTkZJR19CUEZfSklUKSx5KVxcbmtlcm5lbC9icGYvTWFrZWZpbGUtNDQtb2JqLSQoQ09ORklHX0JQRl9TWVNDQUxMKSArPSBicGZfc3RydWN0X29wcy5vXFxuLS1cXG5rZXJuZWwvYnBmL2J0Zi5jPTk3Nzg9Ym9vbCBidGZfdHlwZV9pZHNfbm9jYXN0X2FsaWFzKHN0cnVjdCBicGZfdmVyaWZpZXJfbG9nICpsb2csXFxuLS1cXG5rZXJuZWwvYnBmL2J0Zi5jLTk4MzItXFxua2VybmVsL2JwZi9idGYuYzo5ODMzOiNpZmRlZiBDT05GSUdfQlBGX0pJVFxcbmtlcm5lbC9icGYvYnRmLmMtOTgzNC1zdGF0aWMgaW50XFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYz01Mzk9dm9pZCBicGZfcHJvZ19rYWxsc3ltc19kZWxfYWxsKHN0cnVjdCBicGZfcHJvZyAqZnApXFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYy01NDQtXFxua2VybmVsL2JwZi9jb3JlLmM6NTQ1OiNpZmRlZiBDT05GSUdfQlBGX0pJVFxcbmtlcm5lbC9icGYvY29yZS5jLTU0Ni0vKiBBbGwgQlBGIEpJVCBzeXNjdGwga25vYnMgaGVyZS4gKi9cXG5rZXJuZWwvYnBmL2NvcmUuYzo1NDc6aW50IGJwZl9qaXRfZW5hYmxlICAgX19yZWFkX21vc3RseSA9IElTX0JVSUxUSU4oQ09ORklHX0JQRl9KSVRfREVGQVVMVF9PTik7XFxua2VybmVsL2JwZi9jb3JlLmM6NTQ4OmludCBicGZfaml0X2thbGxzeW1zIF9fcmVhZF9tb3N0bHkgPSBJU19CVUlMVElOKENPTkZJR19CUEZfSklUX0RFRkFVTFRfT04pO1xcbmtlcm5lbC9icGYvY29yZS5jLTU0OS1pbnQgYnBmX2ppdF9oYXJkZW4gICBfX3JlYWRfbW9zdGx5O1xcbi0tXFxua2VybmVsL2JwZi9jb3JlLmM9MTU4Nj11MTYgYnBmX291dF9zdGFja19hcmdfY250KGNvbnN0IHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYsIGNvbnN0IHN0cnVjdCBicGZfcHJvZyAqcHJvZylcXG4tLVxcbmtlcm5lbC9icGYvY29yZS5jLTE1OTQtfVxcbmtlcm5lbC9icGYvY29yZS5jOjE1OTU6I2VuZGlmIC8qIENPTkZJR19CUEZfSklUICovXFxua2VybmVsL2JwZi9jb3JlLmMtMTU5Ni1cXG4tLVxcbmtlcm5lbC9icGYvY29yZS5jPTE3NTQ9Ym9vbCBicGZfb3Bjb2RlX2luX2luc250YWJsZSh1OCBjb2RlKVxcbi0tXFxua2VybmVsL2JwZi9jb3JlLmMtMTc3Ni1cXG5rZXJuZWwvYnBmL2NvcmUuYzoxNzc3OiNpZm5kZWYgQ09ORklHX0JQRl9KSVRfQUxXQVlTX09OXFxua2VybmVsL2JwZi9jb3JlLmMtMTc3OC0vKiBBYnNvbHV0ZSB2YWx1ZSBvZiBzMzIgd2l0aG91dCB1bmRlZmluZWQgYmVoYXZpb3IgZm9yIFMzMl9NSU4gKi9cXG4tLVxcbmtlcm5lbC9icGYvY29yZS5jPTI1NDE9c3RhdGljIGJvb2wgYnBmX3Byb2dfc2VsZWN0X2ludGVycHJldGVyKHN0cnVjdCBicGZfcHJvZyAqZnApXFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYy0yNTQzLVxcdGJvb2wgc2VsZWN0X2ludGVycHJldGVyID0gZmFsc2U7XFxua2VybmVsL2JwZi9jb3JlLmM6MjU0NDojaWZuZGVmIENPTkZJR19CUEZfSklUX0FMV0FZU19PTlxcbmtlcm5lbC9icGYvY29yZS5jLTI1NDUtXFx0dTMyIHN0YWNrX2RlcHRoID0gbWF4X3QodTMyLCBmcC1cXHUwMDNlYXV4LVxcdTAwM2VzdGFja19kZXB0aCwgMSk7XFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYz0yNTY0PXN0YXRpYyBzdHJ1Y3QgYnBmX3Byb2cgKmJwZl9wcm9nX2ppdF9jb21waWxlKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYsIHN0cnVjdCBicGZfcHJvZyAqcHJvZylcXG5rZXJuZWwvYnBmL2NvcmUuYy0yNTY1LXtcXG5rZXJuZWwvYnBmL2NvcmUuYzoyNTY2OiNpZmRlZiBDT05GSUdfQlBGX0pJVFxcbmtlcm5lbC9icGYvY29yZS5jLTI1NjctXFx0c3RydWN0IGJwZl9wcm9nICpvcmlnX3Byb2c7XFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYz0yNjExPXN0cnVjdCBicGZfcHJvZyAqX19icGZfcHJvZ19zZWxlY3RfcnVudGltZShzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LCBzdHJ1Y3QgYnBmX3Byb2cgKmZwLFxcbi0tXFxua2VybmVsL2JwZi9jb3JlLmMtMjYyMS1cXG5rZXJuZWwvYnBmL2NvcmUuYzoyNjIyOlxcdGlmIChJU19FTkFCTEVEKENPTkZJR19CUEZfSklUX0FMV0FZU19PTikgfHxcXG5rZXJuZWwvYnBmL2NvcmUuYy0yNjIzLVxcdCAgICBicGZfcHJvZ19oYXNfa2Z1bmNfY2FsbChmcCkpXFxuLS1cXG5rZXJuZWwvYnBmL2ZpeHVwcy5jPTEyNz1zdGF0aWMgaW50IGFkZF9rZnVuY19pbl9pbnNucyhzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LFxcbi0tXFxua2VybmVsL2JwZi9maXh1cHMuYy0xNDEtXFxua2VybmVsL2JwZi9maXh1cHMuYzoxNDI6I2lmbmRlZiBDT05GSUdfQlBGX0pJVF9BTFdBWVNfT05cXG5rZXJuZWwvYnBmL2ZpeHVwcy5jLTE0My1zdGF0aWMgaW50IGdldF9jYWxsZWVfc3RhY2tfZGVwdGgoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudixcXG4tLVxcbmtlcm5lbC9icGYvZml4dXBzLmM9MTM3Nj1pbnQgYnBmX2ZpeHVwX2NhbGxfYXJncyhzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52KVxcbmtlcm5lbC9icGYvZml4dXBzLmMtMTM3Ny17XFxua2VybmVsL2JwZi9maXh1cHMuYzoxMzc4OiNpZm5kZWYgQ09ORklHX0JQRl9KSVRfQUxXQVlTX09OXFxua2VybmVsL2JwZi9maXh1cHMuYy0xMzc5LVxcdHN0cnVjdCBicGZfcHJvZyAqcHJvZyA9IGVudi1cXHUwMDNlcHJvZztcXG4tLVxcbmtlcm5lbC9icGYvZml4dXBzLmMtMTQwNS1cXHR9XFxua2VybmVsL2JwZi9maXh1cHMuYzoxNDA2OiNpZm5kZWYgQ09ORklHX0JQRl9KSVRfQUxXQVlTX09OXFxua2VybmVsL2JwZi9maXh1cHMuYy0xNDA3LVxcdGlmIChoYXNfa2Z1bmNfY2FsbCkge1xcbi0tXFxua2VybmVsL2JwZi9zeXNjYWxsLmM9NjU3OD1pbnQga2Vybl9zeXNfYnBmKGludCBjbWQsIHVuaW9uIGJwZl9hdHRyICphdHRyLCB1bnNpZ25lZCBpbnQgc2l6ZSlcXG4tLVxcbmtlcm5lbC9icGYvc3lzY2FsbC5jLTY1ODMtXFx0c3dpdGNoIChjbWQpIHtcXG5rZXJuZWwvYnBmL3N5c2NhbGwuYzo2NTg0OiNpZmRlZiBDT05GSUdfQlBGX0pJVCAvKiBfX2JwZl9wcm9nX2VudGVyX3NsZWVwYWJsZSB1c2VkIGJ5IHRyYW1wb2xpbmUgYW5kIEpJVCAqL1xcbmtlcm5lbC9icGYvc3lzY2FsbC5jLTY1ODUtXFx0Y2FzZSBCUEZfUFJPR19URVNUX1JVTjpcXG4tLVxcbmtlcm5lbC9icGYvdmVyaWZpZXIuYz00NDE4PUJURl9JRChzdHJ1Y3QsIGNncm91cClcXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmMtNDQxOS0jZW5kaWZcXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmM6NDQyMDojaWZkZWYgQ09ORklHX0JQRl9KSVRcXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmMtNDQyMS1CVEZfSUQoc3RydWN0LCBicGZfY3B1bWFzaylcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMDg6NTc6NTQuNTE5ODkxMTc4WiIsIlNlcSI6MTUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjYwODM3NzY5MTgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqTXkgQXNzZXNzbWVudCBvZiB0aGUgQlBGIEpJVCBQYXRjaCoqXG5cbk9rYXksIHNvIHRoaXMgcGF0Y2ggY2VudGVycyBhcm91bmQgYEJQRl9KSVRgLCB3aGljaCBpcyB0aGUga2V5IGNvbmZpZyBoZXJlLiBJdCBsb29rcyBsaWtlIHRoZSBjb3JlIG1vZGlmaWNhdGlvbiBpcyB0aGUgYWRkaXRpb24gb2YgdGhlIGBqaXRfcmVxdWlyZWRgIGZsYWcgd2l0aGluIHRoZSBgc3RydWN0IGJwZl9wcm9nYC4gVGhpcyBmbGFnIGlzIHNldCBkdXJpbmcgYGJwZl9kb19taXNjX2ZpeHVwc2AsIGFuZCB0aGVuIGl0J3MgY2hlY2tlZCBkdXJpbmcgYF9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVgLlxuXG5Fc3NlbnRpYWxseSwgaWYgYSBoZWxwZXIgY2FsbCBnZXRzIGlubGluZWQgYnkgdGhlIEpJVCBhbmQgdGhlIEpJVCBpcywgZm9yIHdoYXRldmVyIHJlYXNvbiwgdW5hdmFpbGFibGUgb3IgZmFpbHMsIHRoaXMgYGppdF9yZXF1aXJlZGAgZmxhZyBjYXVzZXMgdGhlIHByb2dyYW0gbG9hZCB0byBmYWlsIHdpdGggYW4gYC1FTk9UU1VQUGAgZXJyb3IuIEl0J3MgYSBmdW5jdGlvbmFsIGNoYW5nZSwgY2xlYXJseSBpbXBhY3RpbmcgYm90aCB0aGUgQlBGIHZlcmlmaWVyIGFuZCBob3cgdGhlIEpJVCBpcyBzZWxlY3RlZC5cblxuVGhlcmVmb3JlLCBteSBzdW1tYXJ5IHdvdWxkIGxvb2sgc29tZXRoaW5nIGxpa2UgdGhpczpcblxuKiAgICoqV29ydGhGdXp6aW5nOioqIFllc1xuKiAgICoqRm9jdXNTeW1ib2xzOioqIGBicGZfZG9fbWlzY19maXh1cHNgLCBhbmQgYF9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVgLlxuKiAgICoqRW5hYmxlQ29uZmlnczoqKiBgQlBGX0pJVGBcblxuVGhlIHJlYXNvbmluZyBpcyBwcmV0dHkgc3RyYWlnaHRmb3J3YXJkOiB0aGUgYGppdF9yZXF1aXJlZGAgZmxhZyBpcyBkaXJlY3RseSB0aWVkIHRvIHRoZSBKSVQncyBmdW5jdGlvbmFsaXR5IGFuZCBpdHMgYXZhaWxhYmlsaXR5IG9yIGZhaWx1cmUsIHdoaWNoIGhhcyBhIHRhbmdpYmxlIGltcGFjdCBvbiBwcm9ncmFtIGxvYWQuXG5cbkknbGwgcXVpY2tseSBkb3VibGUtY2hlY2sgdGhhdCB0aGVyZSBhcmVuJ3QgYW55IG90aGVyIGNvbmZpZ3MgdGhhdCBhcmUgZGlyZWN0bHkgcmVsZXZhbnQgaGVyZS4gV2hpbGUgYENPTkZJR19CUEZfU1lTQ0FMTGAgaXMgaW1wb3J0YW50LCBgQ09ORklHX0JQRl9KSVRgIGlzIHNwZWNpZmljIGVub3VnaCwgc28gaXQgaXMgcHJvYmFibHkgbm90IGdvaW5nIHRvIGJlIHdvcnRoIGFkZGluZyBpdCB0byB0aGUgbGlzdC5cblxuT2theSwgdGhhdCdzIG15IGFzc2Vzc21lbnQuIFRpbWUgdG8gY2FsbCBzZXQtcmVzdWx0cy5cblxuXG4iLCJJbnB1dFRva2VucyI6ODc1NCwiT3V0cHV0VG9rZW5zIjoxMjksIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNDAsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMDg6NTg6MDAuNjAzNjcwMjc2WiIsIlNlcSI6MTYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6ODQxNTc0MjcsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJQRl9KSVRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJicGZfZG9fbWlzY19maXh1cHNcIixcbiAgICBcIl9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGEgYGppdF9yZXF1aXJlZGAgZmxhZyB0byBCUEYgcHJvZ3JhbXMsIHdoaWNoIGlzIHNldCB3aGVuIGEgaGVscGVyIGNhbGwgaXMgaW5saW5lZCBieSB0aGUgSklULiBJZiB0aGUgSklUIGlzIG5vdCBhdmFpbGFibGUgb3IgZmFpbHMsIHRoZSBwcm9ncmFtIGxvYWQgZmFpbHMgd2l0aCBgLUVOT1RTVVBQYC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBCUEYgdmVyaWZpZXIgYW5kIEpJVCBzZWxlY3Rpb24gbG9naWMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlBGX0pJVFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImJwZl9kb19taXNjX2ZpeHVwc1wiLFxuICAgIFwiX19icGZfcHJvZ19zZWxlY3RfcnVudGltZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgYSBgaml0X3JlcXVpcmVkYCBmbGFnIHRvIEJQRiBwcm9ncmFtcywgd2hpY2ggaXMgc2V0IHdoZW4gYSBoZWxwZXIgY2FsbCBpcyBpbmxpbmVkIGJ5IHRoZSBKSVQuIElmIHRoZSBKSVQgaXMgbm90IGF2YWlsYWJsZSBvciBmYWlscywgdGhlIHByb2dyYW0gbG9hZCBmYWlscyB3aXRoIGAtRU5PVFNVUFBgLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIEJQRiB2ZXJpZmllciBhbmQgSklUIHNlbGVjdGlvbiBsb2dpYy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+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-workflowlztxk[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-02 08:46:58 +0000 UTC FinishedAt: 2026-07-02 08:58:03 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "bpf-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git", "commit_hash": "0b58988cacfc91604c4b5be2c3295f8aac0ee3d0", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BPF_JIT" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "bpf-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git", "commit_hash": "0b58988cacfc91604c4b5be2c3295f8aac0ee3d0", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BPF_JIT" ], "series_id": "c34bcd5f-438b-4c3d-abab-70a75a1d3e5b" }, "track": "KASAN", "fuzz": { "focus": [ "bpf" ], "focus_symbols": [ "bpf_do_misc_fixups", "__bpf_prog_select_runtime" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-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+CgkJCTx0ZD4yMDI2LzA3LzAyIDA4OjU3PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JQRl9KSVQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfZG9fbWlzY19maXh1cHMmIzM0OywKICAgICYjMzQ7X19icGZfcHJvZ19zZWxlY3RfcnVudGltZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBhZGRzIGEgYGppdF9yZXF1aXJlZGAgZmxhZyB0byBCUEYgcHJvZ3JhbXMsIHdoaWNoIGlzIHNldCB3aGVuIGEgaGVscGVyIGNhbGwgaXMgaW5saW5lZCBieSB0aGUgSklULiBJZiB0aGUgSklUIGlzIG5vdCBhdmFpbGFibGUgb3IgZmFpbHMsIHRoZSBwcm9ncmFtIGxvYWQgZmFpbHMgd2l0aCBgLUVOT1RTVVBQYC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBCUEYgdmVyaWZpZXIgYW5kIEpJVCBzZWxlY3Rpb24gbG9naWMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDIgMDg6NTc8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCA1NWJlNDZjYjJiODJjYTFlM2ExZTAzNWYyMjQ1ODQ2Y2U1ZTllZDVmXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFRodSBKdWwgMiAwODo1NzoxNyAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2JwZi5oIGIvaW5jbHVkZS9saW51eC9icGYuaFxuaW5kZXggYmEwOTc5NWUwYmZkYjcuLjQ2M2ZhZTZhNWMzM2RkIDEwMDY0NFxuLS0tIGEvaW5jbHVkZS9saW51eC9icGYuaFxuJiM0MzsmIzQzOyYjNDM7IGIvaW5jbHVkZS9saW51eC9icGYuaFxuQEAgLTE4NjUsOCAmIzQzOzE4NjUsOSBAQCBzdHJ1Y3QgYnBmX3Byb2dfYXV4IHtcbiBcbiBzdHJ1Y3QgYnBmX3Byb2cge1xuIFx0dTE2XHRcdFx0cGFnZXM7XHRcdC8qIE51bWJlciBvZiBhbGxvY2F0ZWQgcGFnZXMgKi9cbi1cdHUxNlx0XHRcdGppdGVkOjEsXHQvKiBJcyBvdXIgZmlsdGVyIEpJVCYjMzk7ZWQ/ICovXG4mIzQzO1x0dTMyXHRcdFx0aml0ZWQ6MSxcdC8qIElzIG91ciBmaWx0ZXIgSklUJiMzOTtlZD8gKi9cbiBcdFx0XHRcdGppdF9yZXF1ZXN0ZWQ6MSwvKiBhcmNocyBuZWVkIHRvIEpJVCB0aGUgcHJvZyAqL1xuJiM0MztcdFx0XHRcdGppdF9yZXF1aXJlZDoxLCAvKiBwcm9ncmFtIHN0cmljdGx5IHJlcXVpcmVzIEpJVCBjb21waWxlciAqL1xuIFx0XHRcdFx0Z3BsX2NvbXBhdGlibGU6MSwgLyogSXMgZmlsdGVyIEdQTCBjb21wYXRpYmxlPyAqL1xuIFx0XHRcdFx0Y2JfYWNjZXNzOjEsXHQvKiBJcyBjb250cm9sIGJsb2NrIGFjY2Vzc2VkPyAqL1xuIFx0XHRcdFx0ZHN0X25lZWRlZDoxLFx0LyogRG8gd2UgbmVlZCBkc3QgZW50cnk/ICovXG5kaWZmIC0tZ2l0IGEva2VybmVsL2JwZi9jb3JlLmMgYi9rZXJuZWwvYnBmL2NvcmUuY1xuaW5kZXggNjQ5Y2NlNDFlMTNmM2IuLmE1NTc1NGJjYzU5MzVhIDEwMDY0NFxuLS0tIGEva2VybmVsL2JwZi9jb3JlLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2tlcm5lbC9icGYvY29yZS5jXG5AQCAtMjYzOSw3ICYjNDM7MjYzOSw3IEBAIHN0cnVjdCBicGZfcHJvZyAqX19icGZfcHJvZ19zZWxlY3RfcnVudGltZShzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LCBzdHJ1Y3RcbiBcbiBcdFx0ZnAgPSBicGZfcHJvZ19qaXRfY29tcGlsZShlbnYsIGZwKTtcbiBcdFx0YnBmX3Byb2dfaml0X2F0dGVtcHRfZG9uZShmcCk7XG4tXHRcdGlmICghZnAtXHUwMDNlaml0ZWQgXHUwMDI2XHUwMDI2IGppdF9uZWVkZWQpIHtcbiYjNDM7XHRcdGlmICghZnAtXHUwMDNlaml0ZWQgXHUwMDI2XHUwMDI2IChqaXRfbmVlZGVkIHx8IGZwLVx1MDAzZWppdF9yZXF1aXJlZCkpIHtcbiBcdFx0XHQqZXJyID0gLUVOT1RTVVBQO1xuIFx0XHRcdHJldHVybiBmcDtcbiBcdFx0fVxuZGlmZiAtLWdpdCBhL2tlcm5lbC9icGYvZml4dXBzLmMgYi9rZXJuZWwvYnBmL2ZpeHVwcy5jXG5pbmRleCAxMmE4YTRlYjc1N2YxOC4uOTRlMDQ1N2EwYWEzM2EgMTAwNjQ0XG4tLS0gYS9rZXJuZWwvYnBmL2ZpeHVwcy5jXG4mIzQzOyYjNDM7JiM0MzsgYi9rZXJuZWwvYnBmL2ZpeHVwcy5jXG5AQCAtMTg0MSw4ICYjNDM7MTg0MSwxMCBAQCBpbnQgYnBmX2RvX21pc2NfZml4dXBzKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYpXG4gXHRcdH1cbiBcbiBcdFx0LyogU2tpcCBpbmxpbmluZyB0aGUgaGVscGVyIGNhbGwgaWYgdGhlIEpJVCBkb2VzIGl0LiAqL1xuLVx0XHRpZiAoYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKGluc24tXHUwMDNlaW1tKSlcbiYjNDM7XHRcdGlmIChicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoaW5zbi1cdTAwM2VpbW0pKSB7XG4mIzQzO1x0XHRcdHByb2ctXHUwMDNlaml0X3JlcXVpcmVkID0gMTtcbiBcdFx0XHRnb3RvIG5leHRfaW5zbjtcbiYjNDM7XHRcdH1cbiBcbiBcdFx0aWYgKGluc24tXHUwMDNlaW1tID09IEJQRl9GVU5DX2dldF9yb3V0ZV9yZWFsbSlcbiBcdFx0XHRwcm9nLVx1MDAzZWRzdF9uZWVkZWQgPSAxO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDA4OjU3PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JQRl9KSVQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfZG9fbWlzY19maXh1cHMmIzM0OywKICAgICYjMzQ7X19icGZfcHJvZ19zZWxlY3RfcnVudGltZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBhZGRzIGEgYGppdF9yZXF1aXJlZGAgZmxhZyB0byBCUEYgcHJvZ3JhbXMsIHdoaWNoIGlzIHNldCB3aGVuIGEgaGVscGVyIGNhbGwgaXMgaW5saW5lZCBieSB0aGUgSklULiBJZiB0aGUgSklUIGlzIG5vdCBhdmFpbGFibGUgb3IgZmFpbHMsIHRoZSBwcm9ncmFtIGxvYWQgZmFpbHMgd2l0aCBgLUVOT1RTVVBQYC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBCUEYgdmVyaWZpZXIgYW5kIEpJVCBzZWxlY3Rpb24gbG9naWMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IDU1YmU0NmNiMmI4MmNhMWUzYTFlMDM1ZjIyNDU4NDZjZTVlOWVkNWYKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgVGh1IEp1bCAyIDA4OjU3OjE3IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9icGYuaCBiL2luY2x1ZGUvbGludXgvYnBmLmgKaW5kZXggYmEwOTc5NWUwYmZkYjcuLjQ2M2ZhZTZhNWMzM2RkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2JwZi5oCiYjNDM7JiM0MzsmIzQzOyBiL2luY2x1ZGUvbGludXgvYnBmLmgKQEAgLTE4NjUsOCAmIzQzOzE4NjUsOSBAQCBzdHJ1Y3QgYnBmX3Byb2dfYXV4IHsKIAogc3RydWN0IGJwZl9wcm9nIHsKIAl1MTYJCQlwYWdlczsJCS8qIE51bWJlciBvZiBhbGxvY2F0ZWQgcGFnZXMgKi8KLQl1MTYJCQlqaXRlZDoxLAkvKiBJcyBvdXIgZmlsdGVyIEpJVCYjMzk7ZWQ/ICovCiYjNDM7CXUzMgkJCWppdGVkOjEsCS8qIElzIG91ciBmaWx0ZXIgSklUJiMzOTtlZD8gKi8KIAkJCQlqaXRfcmVxdWVzdGVkOjEsLyogYXJjaHMgbmVlZCB0byBKSVQgdGhlIHByb2cgKi8KJiM0MzsJCQkJaml0X3JlcXVpcmVkOjEsIC8qIHByb2dyYW0gc3RyaWN0bHkgcmVxdWlyZXMgSklUIGNvbXBpbGVyICovCiAJCQkJZ3BsX2NvbXBhdGlibGU6MSwgLyogSXMgZmlsdGVyIEdQTCBjb21wYXRpYmxlPyAqLwogCQkJCWNiX2FjY2VzczoxLAkvKiBJcyBjb250cm9sIGJsb2NrIGFjY2Vzc2VkPyAqLwogCQkJCWRzdF9uZWVkZWQ6MSwJLyogRG8gd2UgbmVlZCBkc3QgZW50cnk/ICovCmRpZmYgLS1naXQgYS9rZXJuZWwvYnBmL2NvcmUuYyBiL2tlcm5lbC9icGYvY29yZS5jCmluZGV4IDY0OWNjZTQxZTEzZjNiLi5hNTU3NTRiY2M1OTM1YSAxMDA2NDQKLS0tIGEva2VybmVsL2JwZi9jb3JlLmMKJiM0MzsmIzQzOyYjNDM7IGIva2VybmVsL2JwZi9jb3JlLmMKQEAgLTI2MzksNyAmIzQzOzI2MzksNyBAQCBzdHJ1Y3QgYnBmX3Byb2cgKl9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWUoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudiwgc3RydWN0CiAKIAkJZnAgPSBicGZfcHJvZ19qaXRfY29tcGlsZShlbnYsIGZwKTsKIAkJYnBmX3Byb2dfaml0X2F0dGVtcHRfZG9uZShmcCk7Ci0JCWlmICghZnAtJmd0O2ppdGVkICZhbXA7JmFtcDsgaml0X25lZWRlZCkgewomIzQzOwkJaWYgKCFmcC0mZ3Q7aml0ZWQgJmFtcDsmYW1wOyAoaml0X25lZWRlZCB8fCBmcC0mZ3Q7aml0X3JlcXVpcmVkKSkgewogCQkJKmVyciA9IC1FTk9UU1VQUDsKIAkJCXJldHVybiBmcDsKIAkJfQpkaWZmIC0tZ2l0IGEva2VybmVsL2JwZi9maXh1cHMuYyBiL2tlcm5lbC9icGYvZml4dXBzLmMKaW5kZXggMTJhOGE0ZWI3NTdmMTguLjk0ZTA0NTdhMGFhMzNhIDEwMDY0NAotLS0gYS9rZXJuZWwvYnBmL2ZpeHVwcy5jCiYjNDM7JiM0MzsmIzQzOyBiL2tlcm5lbC9icGYvZml4dXBzLmMKQEAgLTE4NDEsOCAmIzQzOzE4NDEsMTAgQEAgaW50IGJwZl9kb19taXNjX2ZpeHVwcyhzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52KQogCQl9CiAKIAkJLyogU2tpcCBpbmxpbmluZyB0aGUgaGVscGVyIGNhbGwgaWYgdGhlIEpJVCBkb2VzIGl0LiAqLwotCQlpZiAoYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKGluc24tJmd0O2ltbSkpCiYjNDM7CQlpZiAoYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKGluc24tJmd0O2ltbSkpIHsKJiM0MzsJCQlwcm9nLSZndDtqaXRfcmVxdWlyZWQgPSAxOwogCQkJZ290byBuZXh0X2luc247CiYjNDM7CQl9CiAKIAkJaWYgKGluc24tJmd0O2ltbSA9PSBCUEZfRlVOQ19nZXRfcm91dGVfcmVhbG0pCiAJCQlwcm9nLSZndDtkc3RfbmVlZGVkID0gMTsKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDIgMDg6NTc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjM2NgoJCQkJCQkJb3V0cHV0OiAyMwoJCQkJCQkJdGhvdWdodHM6IDI3NAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIGBqaXRfcmVxdWlyZWRgIFBhdGNoIGZvciBGdXp6aW5nIFBvdGVudGlhbCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBwYXRjaC4gSXQgaW50cm9kdWNlcyBhIGBqaXRfcmVxdWlyZWRgIGJpdCB0byB0aGUgYHN0cnVjdCBicGZfcHJvZ2AsIHdoaWNoIGlzIGludGVyZXN0aW5nLiBJdCBzZWVtcyBsaWtlIGl0JiMzOTtzIHNldHRpbmcgYHByb2ctJmd0O2ppdF9yZXF1aXJlZCA9IDFgIHdpdGhpbiBgYnBmX2RvX21pc2NfZml4dXBzYCBpZiBhIHNwZWNpZmljIGhlbHBlciBjYWxsIGlzIGlubGluZWQgYnkgdGhlIEpJVCwgaW5kaWNhdGVkIGJ5IGBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoaW5zbi0mZ3Q7aW1tKWAgcmV0dXJuaW5nIHRydWUuIFRoZW4sIGRvd24gdGhlIGxpbmUsIGluIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYCwgaXQgdXNlcyB0aGlzIGZsYWcgKGFsb25nc2lkZSBzb21lIG90aGVyIGNoZWNrcykgdG8gcG90ZW50aWFsbHkgcmV0dXJuIGAtRU5PVFNVUFBgIGlmIEpJVCBpc24mIzM5O3QgYXZhaWxhYmxlIHdoZW4gdGhlIHByb2dyYW0gbmVlZHMgaXQuCgpGcm9tIGEgZnV6emluZyBwZXJzcGVjdGl2ZSwgdGhpcyBpbW1lZGlhdGVseSBwaXF1ZXMgbXkgaW50ZXJlc3QuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSB3aXRoaW4gdGhlIEJQRiBzdWJzeXN0ZW0uIFRoZSBjb3JlIGlkZWEgaXM6IGlmIGEgQlBGIHByb2dyYW0gbGV2ZXJhZ2VzIGEgaGVscGVyIHRoYXQgdGhlIEpJVCBjb21waWxlciB3YW50cyB0byBpbmxpbmUsIGFuZCB0aGUgSklUIGlzbiYjMzk7dCBhdmFpbGFibGUgKG9yIGZhaWxzKSwgdGhlIHByb2dyYW0gbG9hZCB3aWxsIG5vdyBiZSByZWplY3RlZC4gVGhpcyBgLUVOT1RTVVBQYCBpcyBhIG5ldyBwb3RlbnRpYWwgZmFpbHVyZSBwb2ludC4gR2l2ZW4gdGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlLCBpdCYjMzk7cyBzb21ldGhpbmcgd2Ugc2hvdWxkIGxvb2sgYXQgZnV6emluZy4KCk5vdywgbGV0JiMzOTtzIHNlZSB3aGljaCBmdW5jdGlvbnMgYXJlIHJlbGV2YW50LiBJJiMzOTt2ZSBhbHJlYWR5IGlkZW50aWZpZWQgYGJwZl9kb19taXNjX2ZpeHVwc2AgYW5kIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYCBhcyBrZXkgYXJlYXMuIEkmIzM5O2xsIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgdGhlIGBqaXRfcmVxdWlyZWRgIGJpdCBwcm9wYWdhdGVzIGFuZCB3aGVyZSB0aGUgcnVudGltZSBzZWxlY3Rpb24gbG9naWMgc2l0cy4KClRvIGVmZmVjdGl2ZWx5IHRhcmdldCB0aGlzLCBJIHNob3VsZCBhbHNvIGxvb2sgYXQgdGhlIGNvbmZpZ3VyYXRpb24gZGVwZW5kZW5jaWVzLiBCUEYgaXMgdXN1YWxseSBlbmFibGVkIGJ5IGBDT05GSUdfQlBGX1NZU0NBTExgLCBvZiBjb3Vyc2UsIGJ1dCBJIHNob3VsZCBsb29rIGRlZXBlciBmb3IgbW9yZSBzcGVjaWZpYyBjb25maWd1cmF0aW9ucyB0aGF0IGNvbnRyb2wgdGhlIEpJVCwgZXNwZWNpYWxseSB0byBidWlsZCBhIGZ1enplciB0aGF0IGNhbiBkaXNhYmxlIHRoZSBKSVQgdG8gdHJpZ2dlciB0aGUgYC1FTk9UU1VQUGAuIEkmIzM5O2xsIGRpZyBpbnRvIGBrZXJuZWwvYnBmL2NvcmUuY2AgYW5kIGBrZXJuZWwvYnBmL2ZpeHVwcy5jYCB0byBzZWUgaWYgdGhlcmUgYXJlIGFueSBzcGVjaWZpYyBjb25kaXRpb25zIG9yIGNvbmZpZ3VyYXRpb25zIHRoYXQgY2FuIGluZmx1ZW5jZSB0aGUgYGppdF9yZXF1aXJlZGAgZmxhZyBvciB0aGUgSklUIGJlaGF2aW9yIGluIGdlbmVyYWwuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDIgMDg6NTc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7YnBmX2RvX21pc2NfZml4dXBzJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2luY2x1ZGUvbGludXgvYnBmX3ZlcmlmaWVyLmg9MTYxMz1pbnQgYnBmX2ZpeHVwX2NhbGxfYXJncyhzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52KTtcbmluY2x1ZGUvbGludXgvYnBmX3ZlcmlmaWVyLmg6MTYxNDppbnQgYnBmX2RvX21pc2NfZml4dXBzKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYpO1xuaW5jbHVkZS9saW51eC9icGZfdmVyaWZpZXIuaC0xNjE1LVxuLS1cbmtlcm5lbC9icGYvZml4dXBzLmM9MTQ1Mj1zdGF0aWMgaW50IGFkZF9oaWRkZW5fc3VicHJvZyhzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LCBzdHJ1Y3QgYnBmX2luc24gKnBhdGNoLCBpbnQgbGVuKVxuLS1cbmtlcm5lbC9icGYvZml4dXBzLmMtMTQ4MC0gKi9cbmtlcm5lbC9icGYvZml4dXBzLmM6MTQ4MTppbnQgYnBmX2RvX21pc2NfZml4dXBzKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYpXG5rZXJuZWwvYnBmL2ZpeHVwcy5jLTE0ODIte1xuLS1cbmtlcm5lbC9icGYvdmVyaWZpZXIuYz0xOTc0Mz1pbnQgYnBmX2NoZWNrKHN0cnVjdCBicGZfcHJvZyAqKnByb2csIHVuaW9uIGJwZl9hdHRyICphdHRyLCBicGZwdHJfdCB1YXR0cixcbi0tXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmMtMTk5MzctXHRpZiAocmV0ID09IDApXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmM6MTk5Mzg6XHRcdHJldCA9IGJwZl9kb19taXNjX2ZpeHVwcyhlbnYpO1xua2VybmVsL2JwZi92ZXJpZmllci5jLTE5OTM5LVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDA4OjU3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDM0NjgKCQkJCQkJCW91dHB1dDogMzAKCQkJCQkJCXRob3VnaHRzOiA0NgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgbGV0JiMzOTtzIGJyZWFrIHRoaXMgZG93bi4KCioqSW52ZXN0aWdhdGluZyB0aGUgQlBGIENvZGViYXNlKioKCkFscmlnaHQsIEkgbmVlZCB0byB1bmRlcnN0YW5kIHdoZXJlIGEgc3BlY2lmaWMgcGFydCBvZiB0aGUgQlBGIGNvZGUgbGl2ZXMuIE15IGluaXRpYWwgZm9jdXMgaXMgb24gYGtlcm5lbC9icGYvZml4dXBzLmNgIGFuZCBga2VybmVsL2JwZi9jb3JlLmNgLiBUaGVzZSBmaWxlIG5hbWVzIHN1Z2dlc3QgdGhleSBoYW5kbGUgQlBGIGluc3RydWN0aW9uIGZpeC11cHMgYW5kIGNvcmUgZnVuY3Rpb25hbGl0aWVzLCByZXNwZWN0aXZlbHkuIFRvIGdldCBhIGNvbXByZWhlbnNpdmUgcGljdHVyZSwgSSBzaG91bGQgYWxzbyBjaGVjayB0aGUgYnVpbGQgY29uZmlndXJhdGlvbiBhbmQgZGVwZW5kZW5jaWVzLiBUaGUgYGtlcm5lbC9icGYvTWFrZWZpbGVgIGlzIHRoZSBuYXR1cmFsIHBsYWNlIHRvIHN0YXJ0LCBhcyBpdCBzaG91bGQgY29udGFpbiB0aGUgcmVsZXZhbnQgZmxhZ3MsIG9iamVjdCBmaWxlIGRlcGVuZGVuY2llcywgYW5kIGFueSBjb25kaXRpb25hbCBjb21waWxhdGlvbiB0aGF0JiMzOTtzIGF0IHBsYXkgaW4gdGhpcyBhcmVhIG9mIHRoZSBjb2RlLiBUaGlzIHdpbGwgY2xhcmlmeSBhbnkgYnVpbGQtdGltZSBjb25maWd1cmF0aW9ucyBvciBleHRlcm5hbCBkZXBlbmRlbmNpZXMgSSBuZWVkIHRvIGJlIGF3YXJlIG9mLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDA4OjU3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2ZpeHVwcy5vJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7a2VybmVsL2JwZi9NYWtlZmlsZSYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtrZXJuZWwvYnBmL01ha2VmaWxlPTEzPW9iai0kKENPTkZJR19CUEZfU1lTQ0FMTCkgJiM0Mzs9IGJwZl9sb2NhbF9zdG9yYWdlLm8gYnBmX3Rhc2tfc3RvcmFnZS5vXG5rZXJuZWwvYnBmL01ha2VmaWxlOjE0Om9iai0kKENPTkZJR19CUEZfU1lTQ0FMTCkgJiM0Mzs9IGZpeHVwcy5vIGNmZy5vIHN0YXRlcy5vIGJhY2t0cmFjay5vIGNoZWNrX2J0Zi5vXG5rZXJuZWwvYnBmL01ha2VmaWxlLTE1LW9iai0ke0NPTkZJR19CUEZfTFNNfVx0ICAmIzQzOz0gYnBmX2lub2RlX3N0b3JhZ2Uub1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDA4OjU3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDM4MzIKCQkJCQkJCW91dHB1dDogMjUKCQkJCQkJCXRob3VnaHRzOiA0OAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgbGV0JiMzOTtzIGJyZWFrIHRoaXMgZG93bi4KCioqSW52ZXN0aWdhdGluZyBCUEYgSklUIElubGluaW5nKioKCkFscmlnaHQsIHNvIHRoZSBiaWcgcGljdHVyZSBoZXJlIGlzIGRlZmluaXRlbHkgdGllZCB0byBgQ09ORklHX0JQRl9TWVNDQUxMYCwgYnV0IHRoYXQmIzM5O3MgdGhlIGdlbmVyaWMsIG92ZXJhcmNoaW5nIG9uZSwgc28gSSBkb24mIzM5O3QgbmVlZCB0byBzcGVjaWZ5IHRoYXQgc3BlY2lmaWNhbGx5LiBJdCYjMzk7cyBhbG1vc3QgaW1wbGllZC4gSXQmIzM5O3MgdGhlIGZvdW5kYXRpb24gd2UmIzM5O3JlIGJ1aWxkaW5nIG9uLgoKTXkgZm9jdXMgc2hvdWxkIGJlIG9uIHRoZSBtb3JlIHNwZWNpZmljIGNvbmZpZyB2YXJpYWJsZS4gVGhlIG1vcmUgcmVsZXZhbnQgYXJlYSBvZiBpbnZlc3RpZ2F0aW9uLCBpcyBgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsYC4gVGhhdCYjMzk7cyB3aGVyZSBJIG5lZWQgdG8gZGlnIGluIGFuZCB1bmRlcnN0YW5kLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDA4OjU3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2JwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbCYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDthcmNoL2FybTY0L25ldC9icGZfaml0X2NvbXAuYz0zMjAxPWJvb2wgYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290byh2b2lkKVxuLS1cbmFyY2gvYXJtNjQvbmV0L2JwZl9qaXRfY29tcC5jLTMyMDUtXG5hcmNoL2FybTY0L25ldC9icGZfaml0X2NvbXAuYzozMjA2OmJvb2wgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKHMzMiBpbW0pXG5hcmNoL2FybTY0L25ldC9icGZfaml0X2NvbXAuYy0zMjA3LXtcbi0tXG5hcmNoL3Bvd2VycGMvbmV0L2JwZl9qaXRfY29tcC5jPTU3Mj1ib29sIGJwZl9qaXRfc3VwcG9ydHNfcGVyY3B1X2luc24odm9pZClcbi0tXG5hcmNoL3Bvd2VycGMvbmV0L2JwZl9qaXRfY29tcC5jLTU3Ni1cbmFyY2gvcG93ZXJwYy9uZXQvYnBmX2ppdF9jb21wLmM6NTc3OmJvb2wgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKHMzMiBpbW0pXG5hcmNoL3Bvd2VycGMvbmV0L2JwZl9qaXRfY29tcC5jLTU3OC17XG4tLVxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYz0yMTM5PWJvb2wgYnBmX2ppdF9zdXBwb3J0c19wZXJjcHVfaW5zbih2b2lkKVxuLS1cbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMtMjE0My1cbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmM6MjE0NDpib29sIGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChzMzIgaW1tKVxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0yMTQ1LXtcbi0tXG5hcmNoL3MzOTAvbmV0L2JwZl9qaXRfY29tcC5jPTMwODE9Ym9vbCBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvKHZvaWQpXG4tLVxuYXJjaC9zMzkwL25ldC9icGZfaml0X2NvbXAuYy0zMDg1LVxuYXJjaC9zMzkwL25ldC9icGZfaml0X2NvbXAuYzozMDg2OmJvb2wgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKHMzMiBpbW0pXG5hcmNoL3MzOTAvbmV0L2JwZl9qaXRfY29tcC5jLTMwODcte1xuLS1cbmluY2x1ZGUvbGludXgvZmlsdGVyLmg9MTE3OT1ib29sIGJwZl9qaXRfbmVlZHNfemV4dCh2b2lkKTtcbmluY2x1ZGUvbGludXgvZmlsdGVyLmg6MTE4MDpib29sIGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChzMzIgaW1tKTtcbmluY2x1ZGUvbGludXgvZmlsdGVyLmgtMTE4MS1ib29sIGJwZl9qaXRfc3VwcG9ydHNfc3VicHJvZ190YWlsY2FsbHModm9pZCk7XG4tLVxua2VybmVsL2JwZi9jb3JlLmM9MzIwOT1ib29sIF9fd2VhayBicGZfaml0X2J5cGFzc19zcGVjX3Y0KHZvaWQpXG4tLVxua2VybmVsL2JwZi9jb3JlLmMtMzIxOS0gKi9cbmtlcm5lbC9icGYvY29yZS5jOjMyMjA6Ym9vbCBfX3dlYWsgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKHMzMiBpbW0pXG5rZXJuZWwvYnBmL2NvcmUuYy0zMjIxLXtcbi0tXG5rZXJuZWwvYnBmL2ZpeHVwcy5jPTE0ODE9aW50IGJwZl9kb19taXNjX2ZpeHVwcyhzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52KVxuLS1cbmtlcm5lbC9icGYvZml4dXBzLmMtMTg0My1cdFx0LyogU2tpcCBpbmxpbmluZyB0aGUgaGVscGVyIGNhbGwgaWYgdGhlIEpJVCBkb2VzIGl0LiAqL1xua2VybmVsL2JwZi9maXh1cHMuYzoxODQ0Olx0XHRpZiAoYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKGluc24tXHUwMDNlaW1tKSkge1xua2VybmVsL2JwZi9maXh1cHMuYy0xODQ1LVx0XHRcdHByb2ctXHUwMDNlaml0X3JlcXVpcmVkID0gMTtcbi0tXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmM9MTY2ODM9Ym9vbCBicGZfZ2V0X2NhbGxfc3VtbWFyeShzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LCBzdHJ1Y3QgYnBmX2luc24gKmNhbGwsXG4tLVxua2VybmVsL2JwZi92ZXJpZmllci5jLTE2Njk2LVx0XHRcdCAgICAgICAoYnBmX3ZlcmlmaWVyX2lubGluZXNfaGVscGVyX2NhbGwoZW52LCBjYWxsLVx1MDAzZWltbSkgfHxcbmtlcm5lbC9icGYvdmVyaWZpZXIuYzoxNjY5NzpcdFx0XHRcdGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChjYWxsLVx1MDAzZWltbSkpO1xua2VybmVsL2JwZi92ZXJpZmllci5jLTE2Njk4LVx0XHRjcy1cdTAwM2Vpc192b2lkID0gZm4tXHUwMDNlcmV0X3R5cGUgPT0gUkVUX1ZPSUQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDIgMDg6NTc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTA0MwoJCQkJCQkJb3V0cHV0OiAyMwoJCQkJCQkJdGhvdWdodHM6IDE3NAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBc3Nlc3NtZW50IG9mIHRoZSBOZXcgQlBGIFBhdGNoKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgZG9pbmcgd2hhdCBJIHN1c3BlY3RlZCDigJMgaXQmIzM5O3MgYWRkcmVzc2luZyB0aGUgaW50ZXJhY3Rpb24gYmV0d2VlbiBpbmxpbmVkIEpJVCBoZWxwZXJzIHdpdGhpbiBCUEYgcHJvZ3JhbXMgYW5kIHRoZSBKSVQgYXZhaWxhYmlsaXR5LiBTcGVjaWZpY2FsbHksIGlmIGEgQlBGIHByb2dyYW0gbGV2ZXJhZ2VzIGEgaGVscGVyIHRoYXQgdGhlIEpJVCBpbmxpbmVzLCB0aGUgcGF0Y2ggZW5mb3JjZXMgYSBKSVQgcmVxdWlyZW1lbnQuIE1ha2VzIHNlbnNlLCBhbmQgaXQgYWxpZ25zIHdpdGggYmVzdCBwcmFjdGljZXMgZm9yIGVuc3VyaW5nIGNvbnNpc3RlbnQgYW5kIGV4cGVjdGVkIGJlaGF2aW9yLiBJZiB0aGUgSklUIGlzIGFic2VudCwgd2UmIzM5O3JlIGV4cGxpY2l0bHkgZmFpbGluZyB3aXRoIGAtRU5PVFNVUFBgLCB3aGljaCBpcyB0aGUgcmlnaHQgZXJyb3IgY29kZSBpbiB0aGlzIHNjZW5hcmlvLgoKRGVmaW5pdGVseSB3b3J0aCBhIHRob3JvdWdoIGZ1enppbmcgY2FtcGFpZ24gdG8gc2VlIGhvdyByb2J1c3QgdGhpcyBuZXcgY2hlY2sgaXMuIEkgbmVlZCB0byBrZWVwIHRoZXNlIHN5bWJvbHMgaW4gbWluZCBhcyBJIHN0YXJ0LgoKS2V5IGFyZWFzIHRvIGtlZXAgYW4gZXllIG9uIGR1cmluZyB0ZXN0aW5nLCB0aGUgZm9jYWwgcG9pbnRzIGFyZSBgYnBmX2RvX21pc2NfZml4dXBzYCBhbmQgYF9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVgLgoKUmVnYXJkaW5nIGNvbmZpZ3VyYXRpb24sIGBDT05GSUdfQlBGX1NZU0NBTExgIGlzIGEgZ2l2ZW47IGl0JiMzOTtzIHRoZSBmb3VuZGF0aW9uLiBObyBuZWVkIHRvIGV4cGxpY2l0bHkgc3BlY2lmeSBpdC4gSG93ZXZlciwgSSBzaG91bGQgZG91YmxlLWNoZWNrIHRoZSBpbXBsaWNhdGlvbnMgb2YgYENPTkZJR19CUEZfSklUYC4gSXQmIzM5O3MgdXN1YWxseSBlbmFibGVkLCBidXQgSSBuZWVkIHRvIG1ha2Ugc3VyZSBJJiMzOTttIHRlc3Rpbmcgd2l0aCBhIGZldyBjb25maWd1cmF0aW9ucy4gQSBxdWljayBncmVwIGluIGBrZXJuZWwvYnBmL2NvcmUuY2AgZm9yIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYCBzaG91bGQgZ2l2ZSBtZSBhIGJldHRlciB1bmRlcnN0YW5kaW5nIG9mIGhvdyB0aGUgY29kZSBmbG93IGludGVyYWN0cyB3aXRoIHRoYXQgY29uZmlnIG9wdGlvbi4gTGV0JiMzOTtzIHNlZSB3aGF0IHdlIGNhbiBmaW5kLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAwODo1NzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2luY2x1ZGUvbGludXgvZmlsdGVyLmg9MTEyOD1za19maWx0ZXJfcmVhc29uKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1ZmYgKnNrYilcbi0tXG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oLTExMzItXG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oOjExMzM6c3RydWN0IGJwZl9wcm9nICpfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYsIHN0cnVjdCBicGZfcHJvZyAqZnAsXG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oLTExMzQtXHRcdFx0XHRcdCAgIGludCAqZXJyKTtcbi0tXG5rZXJuZWwvYnBmL2NvcmUuYz0yNTY0PXN0YXRpYyBzdHJ1Y3QgYnBmX3Byb2cgKmJwZl9wcm9nX2ppdF9jb21waWxlKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYsIHN0cnVjdCBicGZfcHJvZyAqcHJvZylcbi0tXG5rZXJuZWwvYnBmL2NvcmUuYy0yNjEwLVxua2VybmVsL2JwZi9jb3JlLmM6MjYxMTpzdHJ1Y3QgYnBmX3Byb2cgKl9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWUoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudiwgc3RydWN0IGJwZl9wcm9nICpmcCxcbmtlcm5lbC9icGYvY29yZS5jLTI2MTItXHRcdFx0XHRcdCAgIGludCAqZXJyKVxuLS1cbmtlcm5lbC9icGYvY29yZS5jPTI2Nzg9c3RydWN0IGJwZl9wcm9nICpicGZfcHJvZ19zZWxlY3RfcnVudGltZShzdHJ1Y3QgYnBmX3Byb2cgKmZwLCBpbnQgKmVycilcbmtlcm5lbC9icGYvY29yZS5jLTI2Nzkte1xua2VybmVsL2JwZi9jb3JlLmM6MjY4MDpcdHJldHVybiBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lKE5VTEwsIGZwLCBlcnIpO1xua2VybmVsL2JwZi9jb3JlLmMtMjY4MS19XG4tLVxua2VybmVsL2JwZi92ZXJpZmllci5jPTE5NzQzPWludCBicGZfY2hlY2soc3RydWN0IGJwZl9wcm9nICoqcHJvZywgdW5pb24gYnBmX2F0dHIgKmF0dHIsIGJwZnB0cl90IHVhdHRyLFxuLS1cbmtlcm5lbC9icGYvdmVyaWZpZXIuYy0yMDAwNy1cbmtlcm5lbC9icGYvdmVyaWZpZXIuYzoyMDAwODpcdGVudi1cdTAwM2Vwcm9nID0gX19icGZfcHJvZ19zZWxlY3RfcnVudGltZShlbnYsIGVudi1cdTAwM2Vwcm9nLCBcdTAwMjZyZXQpO1xua2VybmVsL2JwZi92ZXJpZmllci5jLTIwMDA5LVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAwODo1NzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA2MDQxCgkJCQkJCQlvdXRwdXQ6IDM5CgkJCQkJCQl0aG91Z2h0czogMTQ4CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgUGF0Y2gmIzM5O3MgSW1wYWN0IG9uIEJQRiBKSVQgYW5kIFJ1bnRpbWUgU2VsZWN0aW9uKioKCk9rYXksIHNvIHRoZSBwYXRjaCBpcyBmdW5jdGlvbmFsbHkgc291bmQsIHdoaWNoIGlzIGdvb2QuIE15IGltbWVkaWF0ZSBjb25jZXJuLCBiYXNlZCBvbiB0aGUgZnVuY3Rpb24gbmFtZXMgbWVudGlvbmVkIOKAkyBgYnBmX2RvX21pc2NfZml4dXBzYCBhbmQgYF9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVgIOKAkyBpcyBob3cgdGhpcyBpbXBhY3RzIEJQRiBKSVQgYW5kIHRoZSBydW50aW1lIHNlbGVjdGlvbiBwcm9jZXNzLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgY29ubmVjdGlvbi4KCkkmIzM5O20gbm90aW5nIGBCUEZfSklUYCBoZXJlLCBldmVuIHRob3VnaCBpdCYjMzk7cyB0eXBpY2FsbHkgZW5hYmxlZCwgYmVjYXVzZSB0aGlzIHBhdGNoIHNlZW1zIGRpcmVjdGx5IHJlbGF0ZWQgdG8gKndoZW4qIEpJVCBpcyByZXF1aXJlZCBhbmQgcG90ZW50aWFsbHkgaG93IGl0JiMzOTtzIGhhbmRsZWQuIFRoZSBjb3JlIHF1ZXN0aW9uIGlzOiB3aGF0IGhhcHBlbnMgd2hlbiBKSVQgaXNuJiMzOTt0IGFsd2F5cyBhdmFpbGFibGUsIG9yIHdoZW4gaXRzIHVzYWdlIGlzIGNvbmRpdGlvbmFsPyBJZiBKSVQgaXMgZGlzYWJsZWQsIEkga25vdyBgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsYCBtaWdodCByZXR1cm4gZmFsc2UsIGJ1dCBJIG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQmIzM5O3MgdGhlIG9ubHkgaW1wYWN0LiBUaGUgcmVhbCBwb2ludCBvZiBjb25jZXJuIGhlcmUsIG5vdyB0aGF0IEkgdGhpbmsgYWJvdXQgaXQsIGlzIHdoYXQgaWYgaXQgKmRvZXMqIHJldHVybiB0cnVlLCBpbmRpY2F0aW5nIGEgbmVlZCBmb3IgSklULiBXaGF0JiMzOTtzIHRoZSBmYWxsYmFjayBvciBhbHRlcm5hdGl2ZSBwYXRod2F5IGlmIEpJVCBpc24mIzM5O3QgY29uZmlndXJlZCwgb3IgaXMgb3RoZXJ3aXNlIHVuYXZhaWxhYmxlPyBJIG5lZWQgdG8gY2hlY2sgaG93IHRoYXQgcGxheXMgb3V0LiBTbywgZXNzZW50aWFsbHksIGlmIGBDT05GSUdfQlBGX0pJVGAgaXMgZGlzYWJsZWQsIGBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGxgIHNob3VsZCByZXR1cm4gZmFsc2UsIGJ1dCBJJiMzOTttIGdvaW5nIHRvIGRvdWJsZSBjaGVjayB0aGUgY29kZSBhcm91bmQgdGhhdCBwb2ludCBmb3Igc2lkZSBlZmZlY3RzIGFuZCBlZGdlIGNhc2VzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEyLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAwODo1NzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDticGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtrZXJuZWwvYnBmL2NvcmUuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtrZXJuZWwvYnBmL2NvcmUuYz0zMjA5PWJvb2wgX193ZWFrIGJwZl9qaXRfYnlwYXNzX3NwZWNfdjQodm9pZClcbi0tXG5rZXJuZWwvYnBmL2NvcmUuYy0zMjE5LSAqL1xua2VybmVsL2JwZi9jb3JlLmM6MzIyMDpib29sIF9fd2VhayBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoczMyIGltbSlcbmtlcm5lbC9icGYvY29yZS5jLTMyMjEte1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEzLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAwODo1NzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA2NjQ3CgkJCQkJCQlvdXRwdXQ6IDMyCgkJCQkJCQl0aG91Z2h0czogNTQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBCUEYgSklUIENvbmZpZ3VyYXRpb24qKgoKT2theSwgc28gdGhlIGJhc2UtbGV2ZWwgZnVuY3Rpb24gcmV0dXJucyBgZmFsc2VgIGJ5IGRlZmF1bHQuIFRoYXQmIzM5O3MgdGhlIGJhc2VsaW5lLCB0aGUgJiMzNDtub3RoaW5nIGVuYWJsZWQmIzM0OyBzY2VuYXJpby4gQnV0IHRoZSBjcml0aWNhbCB0aGluZyBoZXJlIGlzIHRoYXQgaWYgYENPTkZJR19CUEZfSklUYCBpcyBzZXQsIHRoZSBhcmNoaXRlY3R1cmVzIGFyZSBzdXBwb3NlZCB0byBvdmVycmlkZSB0aGlzIGRlZmF1bHQgYmVoYXZpb3IuIFRoYXQgbWVhbnMgYEJQRl9KSVRgIGlzIHRoZSBrZXkuIEl0JiMzOTtzIHRoZSBlbmFibGluZyBzd2l0Y2guIFNvLCB0aGUgY3J1Y2lhbCBxdWVzdGlvbiwgdGhlIG9uZSBJIG5lZWQgdG8gYW5zd2VyLCBpczogaXMgYEJQRl9KSVRgIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbiBJJiMzOTttIGFjdHVhbGx5IGludGVyZXN0ZWQgaW4/IElzIHRoYXQgdGhlIGNvcnJlY3Qgb25lIHRvIGJlIGludmVzdGlnYXRpbmc/CgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDA4OjU3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O0NPTkZJR19CUEZfSklUJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7a2VybmVsL2JwZi8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7a2VybmVsL2JwZi9LY29uZmlnPTU4PWNvbmZpZyBCUEZfSklUX0FMV0FZU19PTlxuLS1cbmtlcm5lbC9icGYvS2NvbmZpZy02NC1cbmtlcm5lbC9icGYvS2NvbmZpZzo2NTpcdCAgV2hlbiBDT05GSUdfQlBGX0pJVF9BTFdBWVNfT04gaXMgZW5hYmxlZCwgL3Byb2Mvc3lzL25ldC9jb3JlL2JwZl9qaXRfZW5hYmxlXG5rZXJuZWwvYnBmL0tjb25maWctNjYtXHQgIGlzIHBlcm1hbmVudGx5IHNldCB0byAxIGFuZCBzZXR0aW5nIGFueSBvdGhlciB2YWx1ZSB0aGFuIHRoYXQgd2lsbFxuLS1cbmtlcm5lbC9icGYvTWFrZWZpbGU9Mj1vYmoteSA6PSBjb3JlLm9cbmtlcm5lbC9icGYvTWFrZWZpbGU6MzppZm5lcSAoJChDT05GSUdfQlBGX0pJVF9BTFdBWVNfT04pLHkpXG5rZXJuZWwvYnBmL01ha2VmaWxlLTQtIyBfX19icGZfcHJvZ19ydW4oKSBuZWVkcyBHQ1NFIGRpc2FibGVkIG9uIHg4Njsgc2VlIDMxOTNjMDgzNmYyMDMgZm9yIGRldGFpbHNcbi0tXG5rZXJuZWwvYnBmL01ha2VmaWxlPTE2PW9iai0kKENPTkZJR19CUEZfU1lTQ0FMTCkgJiM0Mzs9IGRpc2FzbS5vIG1wcm9nLm9cbmtlcm5lbC9icGYvTWFrZWZpbGU6MTc6b2JqLSQoQ09ORklHX0JQRl9KSVQpICYjNDM7PSB0cmFtcG9saW5lLm9cbmtlcm5lbC9icGYvTWFrZWZpbGUtMTgtb2JqLSQoQ09ORklHX0JQRl9TWVNDQUxMKSAmIzQzOz0gYnRmLm8gbWVtYWxsb2MubyBycXNwaW5sb2NrLm8gc3RyZWFtLm9cbi0tXG5rZXJuZWwvYnBmL01ha2VmaWxlPTIxPWVuZGlmXG5rZXJuZWwvYnBmL01ha2VmaWxlOjIyOm9iai0kKENPTkZJR19CUEZfSklUKSAmIzQzOz0gZGlzcGF0Y2hlci5vXG5rZXJuZWwvYnBmL01ha2VmaWxlLTIzLWlmZXEgKCQoQ09ORklHX05FVCkseSlcbi0tXG5rZXJuZWwvYnBmL01ha2VmaWxlPTQyPWVuZGlmXG5rZXJuZWwvYnBmL01ha2VmaWxlOjQzOmlmZXEgKCQoQ09ORklHX0JQRl9KSVQpLHkpXG5rZXJuZWwvYnBmL01ha2VmaWxlLTQ0LW9iai0kKENPTkZJR19CUEZfU1lTQ0FMTCkgJiM0Mzs9IGJwZl9zdHJ1Y3Rfb3BzLm9cbi0tXG5rZXJuZWwvYnBmL2J0Zi5jPTk3Nzg9Ym9vbCBidGZfdHlwZV9pZHNfbm9jYXN0X2FsaWFzKHN0cnVjdCBicGZfdmVyaWZpZXJfbG9nICpsb2csXG4tLVxua2VybmVsL2JwZi9idGYuYy05ODMyLVxua2VybmVsL2JwZi9idGYuYzo5ODMzOiNpZmRlZiBDT05GSUdfQlBGX0pJVFxua2VybmVsL2JwZi9idGYuYy05ODM0LXN0YXRpYyBpbnRcbi0tXG5rZXJuZWwvYnBmL2NvcmUuYz01Mzk9dm9pZCBicGZfcHJvZ19rYWxsc3ltc19kZWxfYWxsKHN0cnVjdCBicGZfcHJvZyAqZnApXG4tLVxua2VybmVsL2JwZi9jb3JlLmMtNTQ0LVxua2VybmVsL2JwZi9jb3JlLmM6NTQ1OiNpZmRlZiBDT05GSUdfQlBGX0pJVFxua2VybmVsL2JwZi9jb3JlLmMtNTQ2LS8qIEFsbCBCUEYgSklUIHN5c2N0bCBrbm9icyBoZXJlLiAqL1xua2VybmVsL2JwZi9jb3JlLmM6NTQ3OmludCBicGZfaml0X2VuYWJsZSAgIF9fcmVhZF9tb3N0bHkgPSBJU19CVUlMVElOKENPTkZJR19CUEZfSklUX0RFRkFVTFRfT04pO1xua2VybmVsL2JwZi9jb3JlLmM6NTQ4OmludCBicGZfaml0X2thbGxzeW1zIF9fcmVhZF9tb3N0bHkgPSBJU19CVUlMVElOKENPTkZJR19CUEZfSklUX0RFRkFVTFRfT04pO1xua2VybmVsL2JwZi9jb3JlLmMtNTQ5LWludCBicGZfaml0X2hhcmRlbiAgIF9fcmVhZF9tb3N0bHk7XG4tLVxua2VybmVsL2JwZi9jb3JlLmM9MTU4Nj11MTYgYnBmX291dF9zdGFja19hcmdfY250KGNvbnN0IHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYsIGNvbnN0IHN0cnVjdCBicGZfcHJvZyAqcHJvZylcbi0tXG5rZXJuZWwvYnBmL2NvcmUuYy0xNTk0LX1cbmtlcm5lbC9icGYvY29yZS5jOjE1OTU6I2VuZGlmIC8qIENPTkZJR19CUEZfSklUICovXG5rZXJuZWwvYnBmL2NvcmUuYy0xNTk2LVxuLS1cbmtlcm5lbC9icGYvY29yZS5jPTE3NTQ9Ym9vbCBicGZfb3Bjb2RlX2luX2luc250YWJsZSh1OCBjb2RlKVxuLS1cbmtlcm5lbC9icGYvY29yZS5jLTE3NzYtXG5rZXJuZWwvYnBmL2NvcmUuYzoxNzc3OiNpZm5kZWYgQ09ORklHX0JQRl9KSVRfQUxXQVlTX09OXG5rZXJuZWwvYnBmL2NvcmUuYy0xNzc4LS8qIEFic29sdXRlIHZhbHVlIG9mIHMzMiB3aXRob3V0IHVuZGVmaW5lZCBiZWhhdmlvciBmb3IgUzMyX01JTiAqL1xuLS1cbmtlcm5lbC9icGYvY29yZS5jPTI1NDE9c3RhdGljIGJvb2wgYnBmX3Byb2dfc2VsZWN0X2ludGVycHJldGVyKHN0cnVjdCBicGZfcHJvZyAqZnApXG4tLVxua2VybmVsL2JwZi9jb3JlLmMtMjU0My1cdGJvb2wgc2VsZWN0X2ludGVycHJldGVyID0gZmFsc2U7XG5rZXJuZWwvYnBmL2NvcmUuYzoyNTQ0OiNpZm5kZWYgQ09ORklHX0JQRl9KSVRfQUxXQVlTX09OXG5rZXJuZWwvYnBmL2NvcmUuYy0yNTQ1LVx0dTMyIHN0YWNrX2RlcHRoID0gbWF4X3QodTMyLCBmcC1cdTAwM2VhdXgtXHUwMDNlc3RhY2tfZGVwdGgsIDEpO1xuLS1cbmtlcm5lbC9icGYvY29yZS5jPTI1NjQ9c3RhdGljIHN0cnVjdCBicGZfcHJvZyAqYnBmX3Byb2dfaml0X2NvbXBpbGUoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudiwgc3RydWN0IGJwZl9wcm9nICpwcm9nKVxua2VybmVsL2JwZi9jb3JlLmMtMjU2NS17XG5rZXJuZWwvYnBmL2NvcmUuYzoyNTY2OiNpZmRlZiBDT05GSUdfQlBGX0pJVFxua2VybmVsL2JwZi9jb3JlLmMtMjU2Ny1cdHN0cnVjdCBicGZfcHJvZyAqb3JpZ19wcm9nO1xuLS1cbmtlcm5lbC9icGYvY29yZS5jPTI2MTE9c3RydWN0IGJwZl9wcm9nICpfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYsIHN0cnVjdCBicGZfcHJvZyAqZnAsXG4tLVxua2VybmVsL2JwZi9jb3JlLmMtMjYyMS1cbmtlcm5lbC9icGYvY29yZS5jOjI2MjI6XHRpZiAoSVNfRU5BQkxFRChDT05GSUdfQlBGX0pJVF9BTFdBWVNfT04pIHx8XG5rZXJuZWwvYnBmL2NvcmUuYy0yNjIzLVx0ICAgIGJwZl9wcm9nX2hhc19rZnVuY19jYWxsKGZwKSlcbi0tXG5rZXJuZWwvYnBmL2ZpeHVwcy5jPTEyNz1zdGF0aWMgaW50IGFkZF9rZnVuY19pbl9pbnNucyhzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LFxuLS1cbmtlcm5lbC9icGYvZml4dXBzLmMtMTQxLVxua2VybmVsL2JwZi9maXh1cHMuYzoxNDI6I2lmbmRlZiBDT05GSUdfQlBGX0pJVF9BTFdBWVNfT05cbmtlcm5lbC9icGYvZml4dXBzLmMtMTQzLXN0YXRpYyBpbnQgZ2V0X2NhbGxlZV9zdGFja19kZXB0aChzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LFxuLS1cbmtlcm5lbC9icGYvZml4dXBzLmM9MTM3Nj1pbnQgYnBmX2ZpeHVwX2NhbGxfYXJncyhzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52KVxua2VybmVsL2JwZi9maXh1cHMuYy0xMzc3LXtcbmtlcm5lbC9icGYvZml4dXBzLmM6MTM3ODojaWZuZGVmIENPTkZJR19CUEZfSklUX0FMV0FZU19PTlxua2VybmVsL2JwZi9maXh1cHMuYy0xMzc5LVx0c3RydWN0IGJwZl9wcm9nICpwcm9nID0gZW52LVx1MDAzZXByb2c7XG4tLVxua2VybmVsL2JwZi9maXh1cHMuYy0xNDA1LVx0fVxua2VybmVsL2JwZi9maXh1cHMuYzoxNDA2OiNpZm5kZWYgQ09ORklHX0JQRl9KSVRfQUxXQVlTX09OXG5rZXJuZWwvYnBmL2ZpeHVwcy5jLTE0MDctXHRpZiAoaGFzX2tmdW5jX2NhbGwpIHtcbi0tXG5rZXJuZWwvYnBmL3N5c2NhbGwuYz02NTc4PWludCBrZXJuX3N5c19icGYoaW50IGNtZCwgdW5pb24gYnBmX2F0dHIgKmF0dHIsIHVuc2lnbmVkIGludCBzaXplKVxuLS1cbmtlcm5lbC9icGYvc3lzY2FsbC5jLTY1ODMtXHRzd2l0Y2ggKGNtZCkge1xua2VybmVsL2JwZi9zeXNjYWxsLmM6NjU4NDojaWZkZWYgQ09ORklHX0JQRl9KSVQgLyogX19icGZfcHJvZ19lbnRlcl9zbGVlcGFibGUgdXNlZCBieSB0cmFtcG9saW5lIGFuZCBKSVQgKi9cbmtlcm5lbC9icGYvc3lzY2FsbC5jLTY1ODUtXHRjYXNlIEJQRl9QUk9HX1RFU1RfUlVOOlxuLS1cbmtlcm5lbC9icGYvdmVyaWZpZXIuYz00NDE4PUJURl9JRChzdHJ1Y3QsIGNncm91cClcbmtlcm5lbC9icGYvdmVyaWZpZXIuYy00NDE5LSNlbmRpZlxua2VybmVsL2JwZi92ZXJpZmllci5jOjQ0MjA6I2lmZGVmIENPTkZJR19CUEZfSklUXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmMtNDQyMS1CVEZfSUQoc3RydWN0LCBicGZfY3B1bWFzaylcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDIgMDg6NTc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogODc1NAoJCQkJCQkJb3V0cHV0OiAxMjkKCQkJCQkJCXRob3VnaHRzOiAyNDAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqTXkgQXNzZXNzbWVudCBvZiB0aGUgQlBGIEpJVCBQYXRjaCoqCgpPa2F5LCBzbyB0aGlzIHBhdGNoIGNlbnRlcnMgYXJvdW5kIGBCUEZfSklUYCwgd2hpY2ggaXMgdGhlIGtleSBjb25maWcgaGVyZS4gSXQgbG9va3MgbGlrZSB0aGUgY29yZSBtb2RpZmljYXRpb24gaXMgdGhlIGFkZGl0aW9uIG9mIHRoZSBgaml0X3JlcXVpcmVkYCBmbGFnIHdpdGhpbiB0aGUgYHN0cnVjdCBicGZfcHJvZ2AuIFRoaXMgZmxhZyBpcyBzZXQgZHVyaW5nIGBicGZfZG9fbWlzY19maXh1cHNgLCBhbmQgdGhlbiBpdCYjMzk7cyBjaGVja2VkIGR1cmluZyBgX19icGZfcHJvZ19zZWxlY3RfcnVudGltZWAuCgpFc3NlbnRpYWxseSwgaWYgYSBoZWxwZXIgY2FsbCBnZXRzIGlubGluZWQgYnkgdGhlIEpJVCBhbmQgdGhlIEpJVCBpcywgZm9yIHdoYXRldmVyIHJlYXNvbiwgdW5hdmFpbGFibGUgb3IgZmFpbHMsIHRoaXMgYGppdF9yZXF1aXJlZGAgZmxhZyBjYXVzZXMgdGhlIHByb2dyYW0gbG9hZCB0byBmYWlsIHdpdGggYW4gYC1FTk9UU1VQUGAgZXJyb3IuIEl0JiMzOTtzIGEgZnVuY3Rpb25hbCBjaGFuZ2UsIGNsZWFybHkgaW1wYWN0aW5nIGJvdGggdGhlIEJQRiB2ZXJpZmllciBhbmQgaG93IHRoZSBKSVQgaXMgc2VsZWN0ZWQuCgpUaGVyZWZvcmUsIG15IHN1bW1hcnkgd291bGQgbG9vayBzb21ldGhpbmcgbGlrZSB0aGlzOgoKKiAgICoqV29ydGhGdXp6aW5nOioqIFllcwoqICAgKipGb2N1c1N5bWJvbHM6KiogYGJwZl9kb19taXNjX2ZpeHVwc2AsIGFuZCBgX19icGZfcHJvZ19zZWxlY3RfcnVudGltZWAuCiogICAqKkVuYWJsZUNvbmZpZ3M6KiogYEJQRl9KSVRgCgpUaGUgcmVhc29uaW5nIGlzIHByZXR0eSBzdHJhaWdodGZvcndhcmQ6IHRoZSBgaml0X3JlcXVpcmVkYCBmbGFnIGlzIGRpcmVjdGx5IHRpZWQgdG8gdGhlIEpJVCYjMzk7cyBmdW5jdGlvbmFsaXR5IGFuZCBpdHMgYXZhaWxhYmlsaXR5IG9yIGZhaWx1cmUsIHdoaWNoIGhhcyBhIHRhbmdpYmxlIGltcGFjdCBvbiBwcm9ncmFtIGxvYWQuCgpJJiMzOTtsbCBxdWlja2x5IGRvdWJsZS1jaGVjayB0aGF0IHRoZXJlIGFyZW4mIzM5O3QgYW55IG90aGVyIGNvbmZpZ3MgdGhhdCBhcmUgZGlyZWN0bHkgcmVsZXZhbnQgaGVyZS4gV2hpbGUgYENPTkZJR19CUEZfU1lTQ0FMTGAgaXMgaW1wb3J0YW50LCBgQ09ORklHX0JQRl9KSVRgIGlzIHNwZWNpZmljIGVub3VnaCwgc28gaXQgaXMgcHJvYmFibHkgbm90IGdvaW5nIHRvIGJlIHdvcnRoIGFkZGluZyBpdCB0byB0aGUgbGlzdC4KCk9rYXksIHRoYXQmIzM5O3MgbXkgYXNzZXNzbWVudC4gVGltZSB0byBjYWxsIHNldC1yZXN1bHRzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE2LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAwODo1ODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QlBGX0pJVCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2JwZl9kb19taXNjX2ZpeHVwcyYjMzQ7LAogICAgJiMzNDtfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSBgaml0X3JlcXVpcmVkYCBmbGFnIHRvIEJQRiBwcm9ncmFtcywgd2hpY2ggaXMgc2V0IHdoZW4gYSBoZWxwZXIgY2FsbCBpcyBpbmxpbmVkIGJ5IHRoZSBKSVQuIElmIHRoZSBKSVQgaXMgbm90IGF2YWlsYWJsZSBvciBmYWlscywgdGhlIHByb2dyYW0gbG9hZCBmYWlscyB3aXRoIGAtRU5PVFNVUFBgLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIEJQRiB2ZXJpZmllciBhbmQgSklUIHNlbGVjdGlvbiBsb2dpYy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QlBGX0pJVCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2JwZl9kb19taXNjX2ZpeHVwcyYjMzQ7LAogICAgJiMzNDtfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSBgaml0X3JlcXVpcmVkYCBmbGFnIHRvIEJQRiBwcm9ncmFtcywgd2hpY2ggaXMgc2V0IHdoZW4gYSBoZWxwZXIgY2FsbCBpcyBpbmxpbmVkIGJ5IHRoZSBKSVQuIElmIHRoZSBKSVQgaXMgbm90IGF2YWlsYWJsZSBvciBmYWlscywgdGhlIHByb2dyYW0gbG9hZCBmYWlscyB3aXRoIGAtRU5PVFNVUFBgLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIEJQRiB2ZXJpZmllciBhbmQgSklUIHNlbGVjdGlvbiBsb2dpYy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDA4OjU3OjE4Ljc0MTcxNDc5M1oiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQxOTQ2MTI4OTEwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJQRl9KSVRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJicGZfZG9fbWlzY19maXh1cHNcIixcbiAgICBcIl9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGEgYGppdF9yZXF1aXJlZGAgZmxhZyB0byBCUEYgcHJvZ3JhbXMsIHdoaWNoIGlzIHNldCB3aGVuIGEgaGVscGVyIGNhbGwgaXMgaW5saW5lZCBieSB0aGUgSklULiBJZiB0aGUgSklUIGlzIG5vdCBhdmFpbGFibGUgb3IgZmFpbHMsIHRoZSBwcm9ncmFtIGxvYWQgZmFpbHMgd2l0aCBgLUVOT1RTVVBQYC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBCUEYgdmVyaWZpZXIgYW5kIEpJVCBzZWxlY3Rpb24gbG9naWMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDA4OjU3OjE4Ljc0MTcxOTk4M1oiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDY3NjgyMjkyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgNTViZTQ2Y2IyYjgyY2ExZTNhMWUwMzVmMjI0NTg0NmNlNWU5ZWQ1ZlxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgVGh1IEp1bCAyIDA4OjU3OjE3IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvYnBmLmggYi9pbmNsdWRlL2xpbnV4L2JwZi5oXFxuaW5kZXggYmEwOTc5NWUwYmZkYjcuLjQ2M2ZhZTZhNWMzM2RkIDEwMDY0NFxcbi0tLSBhL2luY2x1ZGUvbGludXgvYnBmLmhcXG4rKysgYi9pbmNsdWRlL2xpbnV4L2JwZi5oXFxuQEAgLTE4NjUsOCArMTg2NSw5IEBAIHN0cnVjdCBicGZfcHJvZ19hdXgge1xcbiBcXG4gc3RydWN0IGJwZl9wcm9nIHtcXG4gXFx0dTE2XFx0XFx0XFx0cGFnZXM7XFx0XFx0LyogTnVtYmVyIG9mIGFsbG9jYXRlZCBwYWdlcyAqL1xcbi1cXHR1MTZcXHRcXHRcXHRqaXRlZDoxLFxcdC8qIElzIG91ciBmaWx0ZXIgSklUJ2VkPyAqL1xcbitcXHR1MzJcXHRcXHRcXHRqaXRlZDoxLFxcdC8qIElzIG91ciBmaWx0ZXIgSklUJ2VkPyAqL1xcbiBcXHRcXHRcXHRcXHRqaXRfcmVxdWVzdGVkOjEsLyogYXJjaHMgbmVlZCB0byBKSVQgdGhlIHByb2cgKi9cXG4rXFx0XFx0XFx0XFx0aml0X3JlcXVpcmVkOjEsIC8qIHByb2dyYW0gc3RyaWN0bHkgcmVxdWlyZXMgSklUIGNvbXBpbGVyICovXFxuIFxcdFxcdFxcdFxcdGdwbF9jb21wYXRpYmxlOjEsIC8qIElzIGZpbHRlciBHUEwgY29tcGF0aWJsZT8gKi9cXG4gXFx0XFx0XFx0XFx0Y2JfYWNjZXNzOjEsXFx0LyogSXMgY29udHJvbCBibG9jayBhY2Nlc3NlZD8gKi9cXG4gXFx0XFx0XFx0XFx0ZHN0X25lZWRlZDoxLFxcdC8qIERvIHdlIG5lZWQgZHN0IGVudHJ5PyAqL1xcbmRpZmYgLS1naXQgYS9rZXJuZWwvYnBmL2NvcmUuYyBiL2tlcm5lbC9icGYvY29yZS5jXFxuaW5kZXggNjQ5Y2NlNDFlMTNmM2IuLmE1NTc1NGJjYzU5MzVhIDEwMDY0NFxcbi0tLSBhL2tlcm5lbC9icGYvY29yZS5jXFxuKysrIGIva2VybmVsL2JwZi9jb3JlLmNcXG5AQCAtMjYzOSw3ICsyNjM5LDcgQEAgc3RydWN0IGJwZl9wcm9nICpfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYsIHN0cnVjdFxcbiBcXG4gXFx0XFx0ZnAgPSBicGZfcHJvZ19qaXRfY29tcGlsZShlbnYsIGZwKTtcXG4gXFx0XFx0YnBmX3Byb2dfaml0X2F0dGVtcHRfZG9uZShmcCk7XFxuLVxcdFxcdGlmICghZnAtXFx1MDAzZWppdGVkIFxcdTAwMjZcXHUwMDI2IGppdF9uZWVkZWQpIHtcXG4rXFx0XFx0aWYgKCFmcC1cXHUwMDNlaml0ZWQgXFx1MDAyNlxcdTAwMjYgKGppdF9uZWVkZWQgfHwgZnAtXFx1MDAzZWppdF9yZXF1aXJlZCkpIHtcXG4gXFx0XFx0XFx0KmVyciA9IC1FTk9UU1VQUDtcXG4gXFx0XFx0XFx0cmV0dXJuIGZwO1xcbiBcXHRcXHR9XFxuZGlmZiAtLWdpdCBhL2tlcm5lbC9icGYvZml4dXBzLmMgYi9rZXJuZWwvYnBmL2ZpeHVwcy5jXFxuaW5kZXggMTJhOGE0ZWI3NTdmMTguLjk0ZTA0NTdhMGFhMzNhIDEwMDY0NFxcbi0tLSBhL2tlcm5lbC9icGYvZml4dXBzLmNcXG4rKysgYi9rZXJuZWwvYnBmL2ZpeHVwcy5jXFxuQEAgLTE4NDEsOCArMTg0MSwxMCBAQCBpbnQgYnBmX2RvX21pc2NfZml4dXBzKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYpXFxuIFxcdFxcdH1cXG4gXFxuIFxcdFxcdC8qIFNraXAgaW5saW5pbmcgdGhlIGhlbHBlciBjYWxsIGlmIHRoZSBKSVQgZG9lcyBpdC4gKi9cXG4tXFx0XFx0aWYgKGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChpbnNuLVxcdTAwM2VpbW0pKVxcbitcXHRcXHRpZiAoYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKGluc24tXFx1MDAzZWltbSkpIHtcXG4rXFx0XFx0XFx0cHJvZy1cXHUwMDNlaml0X3JlcXVpcmVkID0gMTtcXG4gXFx0XFx0XFx0Z290byBuZXh0X2luc247XFxuK1xcdFxcdH1cXG4gXFxuIFxcdFxcdGlmIChpbnNuLVxcdTAwM2VpbW0gPT0gQlBGX0ZVTkNfZ2V0X3JvdXRlX3JlYWxtKVxcbiBcXHRcXHRcXHRwcm9nLVxcdTAwM2Vkc3RfbmVlZGVkID0gMTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMDg6NTc6MTkuMjEwMTg5NTk1WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MTQ3NzY0NDYxOCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJCUEZfSklUXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiYnBmX2RvX21pc2NfZml4dXBzXCIsXG4gICAgXCJfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIGBqaXRfcmVxdWlyZWRgIGZsYWcgdG8gQlBGIHByb2dyYW1zLCB3aGljaCBpcyBzZXQgd2hlbiBhIGhlbHBlciBjYWxsIGlzIGlubGluZWQgYnkgdGhlIEpJVC4gSWYgdGhlIEpJVCBpcyBub3QgYXZhaWxhYmxlIG9yIGZhaWxzLCB0aGUgcHJvZ3JhbSBsb2FkIGZhaWxzIHdpdGggYC1FTk9UU1VQUGAuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgQlBGIHZlcmlmaWVyIGFuZCBKSVQgc2VsZWN0aW9uIGxvZ2ljLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDU1YmU0NmNiMmI4MmNhMWUzYTFlMDM1ZjIyNDU4NDZjZTVlOWVkNWZcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVGh1IEp1bCAyIDA4OjU3OjE3IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9icGYuaCBiL2luY2x1ZGUvbGludXgvYnBmLmhcbmluZGV4IGJhMDk3OTVlMGJmZGI3Li40NjNmYWU2YTVjMzNkZCAxMDA2NDRcbi0tLSBhL2luY2x1ZGUvbGludXgvYnBmLmhcbisrKyBiL2luY2x1ZGUvbGludXgvYnBmLmhcbkBAIC0xODY1LDggKzE4NjUsOSBAQCBzdHJ1Y3QgYnBmX3Byb2dfYXV4IHtcbiBcbiBzdHJ1Y3QgYnBmX3Byb2cge1xuIFx0dTE2XHRcdFx0cGFnZXM7XHRcdC8qIE51bWJlciBvZiBhbGxvY2F0ZWQgcGFnZXMgKi9cbi1cdHUxNlx0XHRcdGppdGVkOjEsXHQvKiBJcyBvdXIgZmlsdGVyIEpJVCdlZD8gKi9cbitcdHUzMlx0XHRcdGppdGVkOjEsXHQvKiBJcyBvdXIgZmlsdGVyIEpJVCdlZD8gKi9cbiBcdFx0XHRcdGppdF9yZXF1ZXN0ZWQ6MSwvKiBhcmNocyBuZWVkIHRvIEpJVCB0aGUgcHJvZyAqL1xuK1x0XHRcdFx0aml0X3JlcXVpcmVkOjEsIC8qIHByb2dyYW0gc3RyaWN0bHkgcmVxdWlyZXMgSklUIGNvbXBpbGVyICovXG4gXHRcdFx0XHRncGxfY29tcGF0aWJsZToxLCAvKiBJcyBmaWx0ZXIgR1BMIGNvbXBhdGlibGU/ICovXG4gXHRcdFx0XHRjYl9hY2Nlc3M6MSxcdC8qIElzIGNvbnRyb2wgYmxvY2sgYWNjZXNzZWQ/ICovXG4gXHRcdFx0XHRkc3RfbmVlZGVkOjEsXHQvKiBEbyB3ZSBuZWVkIGRzdCBlbnRyeT8gKi9cbmRpZmYgLS1naXQgYS9rZXJuZWwvYnBmL2NvcmUuYyBiL2tlcm5lbC9icGYvY29yZS5jXG5pbmRleCA2NDljY2U0MWUxM2YzYi4uYTU1NzU0YmNjNTkzNWEgMTAwNjQ0XG4tLS0gYS9rZXJuZWwvYnBmL2NvcmUuY1xuKysrIGIva2VybmVsL2JwZi9jb3JlLmNcbkBAIC0yNjM5LDcgKzI2MzksNyBAQCBzdHJ1Y3QgYnBmX3Byb2cgKl9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWUoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudiwgc3RydWN0XG4gXG4gXHRcdGZwID0gYnBmX3Byb2dfaml0X2NvbXBpbGUoZW52LCBmcCk7XG4gXHRcdGJwZl9wcm9nX2ppdF9hdHRlbXB0X2RvbmUoZnApO1xuLVx0XHRpZiAoIWZwLVx1MDAzZWppdGVkIFx1MDAyNlx1MDAyNiBqaXRfbmVlZGVkKSB7XG4rXHRcdGlmICghZnAtXHUwMDNlaml0ZWQgXHUwMDI2XHUwMDI2IChqaXRfbmVlZGVkIHx8IGZwLVx1MDAzZWppdF9yZXF1aXJlZCkpIHtcbiBcdFx0XHQqZXJyID0gLUVOT1RTVVBQO1xuIFx0XHRcdHJldHVybiBmcDtcbiBcdFx0fVxuZGlmZiAtLWdpdCBhL2tlcm5lbC9icGYvZml4dXBzLmMgYi9rZXJuZWwvYnBmL2ZpeHVwcy5jXG5pbmRleCAxMmE4YTRlYjc1N2YxOC4uOTRlMDQ1N2EwYWEzM2EgMTAwNjQ0XG4tLS0gYS9rZXJuZWwvYnBmL2ZpeHVwcy5jXG4rKysgYi9rZXJuZWwvYnBmL2ZpeHVwcy5jXG5AQCAtMTg0MSw4ICsxODQxLDEwIEBAIGludCBicGZfZG9fbWlzY19maXh1cHMoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudilcbiBcdFx0fVxuIFxuIFx0XHQvKiBTa2lwIGlubGluaW5nIHRoZSBoZWxwZXIgY2FsbCBpZiB0aGUgSklUIGRvZXMgaXQuICovXG4tXHRcdGlmIChicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoaW5zbi1cdTAwM2VpbW0pKVxuK1x0XHRpZiAoYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKGluc24tXHUwMDNlaW1tKSkge1xuK1x0XHRcdHByb2ctXHUwMDNlaml0X3JlcXVpcmVkID0gMTtcbiBcdFx0XHRnb3RvIG5leHRfaW5zbjtcbitcdFx0fVxuIFxuIFx0XHRpZiAoaW5zbi1cdTAwM2VpbW0gPT0gQlBGX0ZVTkNfZ2V0X3JvdXRlX3JlYWxtKVxuIFx0XHRcdHByb2ctXHUwMDNlZHN0X25lZWRlZCA9IDE7XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wMlQwODo1NzoxOS4yMTAxOTExODVaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2NTE5MzQyNzcyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgYGppdF9yZXF1aXJlZGAgUGF0Y2ggZm9yIEZ1enppbmcgUG90ZW50aWFsKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBwYXRjaC4gSXQgaW50cm9kdWNlcyBhIGBqaXRfcmVxdWlyZWRgIGJpdCB0byB0aGUgYHN0cnVjdCBicGZfcHJvZ2AsIHdoaWNoIGlzIGludGVyZXN0aW5nLiBJdCBzZWVtcyBsaWtlIGl0J3Mgc2V0dGluZyBgcHJvZy1cdTAwM2VqaXRfcmVxdWlyZWQgPSAxYCB3aXRoaW4gYGJwZl9kb19taXNjX2ZpeHVwc2AgaWYgYSBzcGVjaWZpYyBoZWxwZXIgY2FsbCBpcyBpbmxpbmVkIGJ5IHRoZSBKSVQsIGluZGljYXRlZCBieSBgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKGluc24tXHUwMDNlaW1tKWAgcmV0dXJuaW5nIHRydWUuIFRoZW4sIGRvd24gdGhlIGxpbmUsIGluIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYCwgaXQgdXNlcyB0aGlzIGZsYWcgKGFsb25nc2lkZSBzb21lIG90aGVyIGNoZWNrcykgdG8gcG90ZW50aWFsbHkgcmV0dXJuIGAtRU5PVFNVUFBgIGlmIEpJVCBpc24ndCBhdmFpbGFibGUgd2hlbiB0aGUgcHJvZ3JhbSBuZWVkcyBpdC5cblxuRnJvbSBhIGZ1enppbmcgcGVyc3BlY3RpdmUsIHRoaXMgaW1tZWRpYXRlbHkgcGlxdWVzIG15IGludGVyZXN0LiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2Ugd2l0aGluIHRoZSBCUEYgc3Vic3lzdGVtLiBUaGUgY29yZSBpZGVhIGlzOiBpZiBhIEJQRiBwcm9ncmFtIGxldmVyYWdlcyBhIGhlbHBlciB0aGF0IHRoZSBKSVQgY29tcGlsZXIgd2FudHMgdG8gaW5saW5lLCBhbmQgdGhlIEpJVCBpc24ndCBhdmFpbGFibGUgKG9yIGZhaWxzKSwgdGhlIHByb2dyYW0gbG9hZCB3aWxsIG5vdyBiZSByZWplY3RlZC4gVGhpcyBgLUVOT1RTVVBQYCBpcyBhIG5ldyBwb3RlbnRpYWwgZmFpbHVyZSBwb2ludC4gR2l2ZW4gdGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlLCBpdCdzIHNvbWV0aGluZyB3ZSBzaG91bGQgbG9vayBhdCBmdXp6aW5nLlxuXG5Ob3csIGxldCdzIHNlZSB3aGljaCBmdW5jdGlvbnMgYXJlIHJlbGV2YW50LiBJJ3ZlIGFscmVhZHkgaWRlbnRpZmllZCBgYnBmX2RvX21pc2NfZml4dXBzYCBhbmQgYF9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVgIGFzIGtleSBhcmVhcy4gSSdsbCBuZWVkIHRvIHVuZGVyc3RhbmQgaG93IHRoZSBgaml0X3JlcXVpcmVkYCBiaXQgcHJvcGFnYXRlcyBhbmQgd2hlcmUgdGhlIHJ1bnRpbWUgc2VsZWN0aW9uIGxvZ2ljIHNpdHMuXG5cblRvIGVmZmVjdGl2ZWx5IHRhcmdldCB0aGlzLCBJIHNob3VsZCBhbHNvIGxvb2sgYXQgdGhlIGNvbmZpZ3VyYXRpb24gZGVwZW5kZW5jaWVzLiBCUEYgaXMgdXN1YWxseSBlbmFibGVkIGJ5IGBDT05GSUdfQlBGX1NZU0NBTExgLCBvZiBjb3Vyc2UsIGJ1dCBJIHNob3VsZCBsb29rIGRlZXBlciBmb3IgbW9yZSBzcGVjaWZpYyBjb25maWd1cmF0aW9ucyB0aGF0IGNvbnRyb2wgdGhlIEpJVCwgZXNwZWNpYWxseSB0byBidWlsZCBhIGZ1enplciB0aGF0IGNhbiBkaXNhYmxlIHRoZSBKSVQgdG8gdHJpZ2dlciB0aGUgYC1FTk9UU1VQUGAuIEknbGwgZGlnIGludG8gYGtlcm5lbC9icGYvY29yZS5jYCBhbmQgYGtlcm5lbC9icGYvZml4dXBzLmNgIHRvIHNlZSBpZiB0aGVyZSBhcmUgYW55IHNwZWNpZmljIGNvbmRpdGlvbnMgb3IgY29uZmlndXJhdGlvbnMgdGhhdCBjYW4gaW5mbHVlbmNlIHRoZSBgaml0X3JlcXVpcmVkYCBmbGFnIG9yIHRoZSBKSVQgYmVoYXZpb3IgaW4gZ2VuZXJhbC5cblxuXG4iLCJJbnB1dFRva2VucyI6MjM2NiwiT3V0cHV0VG9rZW5zIjoyMywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI3NCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDA4OjU3OjI1LjcyOTUzNjU1N1oiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozMzM1NzQ1OTEyLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImJwZl9kb19taXNjX2ZpeHVwc1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJpbmNsdWRlL2xpbnV4L2JwZl92ZXJpZmllci5oPTE2MTM9aW50IGJwZl9maXh1cF9jYWxsX2FyZ3Moc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudik7XFxuaW5jbHVkZS9saW51eC9icGZfdmVyaWZpZXIuaDoxNjE0OmludCBicGZfZG9fbWlzY19maXh1cHMoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudik7XFxuaW5jbHVkZS9saW51eC9icGZfdmVyaWZpZXIuaC0xNjE1LVxcbi0tXFxua2VybmVsL2JwZi9maXh1cHMuYz0xNDUyPXN0YXRpYyBpbnQgYWRkX2hpZGRlbl9zdWJwcm9nKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYsIHN0cnVjdCBicGZfaW5zbiAqcGF0Y2gsIGludCBsZW4pXFxuLS1cXG5rZXJuZWwvYnBmL2ZpeHVwcy5jLTE0ODAtICovXFxua2VybmVsL2JwZi9maXh1cHMuYzoxNDgxOmludCBicGZfZG9fbWlzY19maXh1cHMoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudilcXG5rZXJuZWwvYnBmL2ZpeHVwcy5jLTE0ODIte1xcbi0tXFxua2VybmVsL2JwZi92ZXJpZmllci5jPTE5NzQzPWludCBicGZfY2hlY2soc3RydWN0IGJwZl9wcm9nICoqcHJvZywgdW5pb24gYnBmX2F0dHIgKmF0dHIsIGJwZnB0cl90IHVhdHRyLFxcbi0tXFxua2VybmVsL2JwZi92ZXJpZmllci5jLTE5OTM3LVxcdGlmIChyZXQgPT0gMClcXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmM6MTk5Mzg6XFx0XFx0cmV0ID0gYnBmX2RvX21pc2NfZml4dXBzKGVudik7XFxua2VybmVsL2JwZi92ZXJpZmllci5jLTE5OTM5LVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wMlQwODo1NzoyOS4wNjUyODc0NjlaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozODcyMzMyOTIzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBsZXQncyBicmVhayB0aGlzIGRvd24uXG5cbioqSW52ZXN0aWdhdGluZyB0aGUgQlBGIENvZGViYXNlKipcblxuQWxyaWdodCwgSSBuZWVkIHRvIHVuZGVyc3RhbmQgd2hlcmUgYSBzcGVjaWZpYyBwYXJ0IG9mIHRoZSBCUEYgY29kZSBsaXZlcy4gTXkgaW5pdGlhbCBmb2N1cyBpcyBvbiBga2VybmVsL2JwZi9maXh1cHMuY2AgYW5kIGBrZXJuZWwvYnBmL2NvcmUuY2AuIFRoZXNlIGZpbGUgbmFtZXMgc3VnZ2VzdCB0aGV5IGhhbmRsZSBCUEYgaW5zdHJ1Y3Rpb24gZml4LXVwcyBhbmQgY29yZSBmdW5jdGlvbmFsaXRpZXMsIHJlc3BlY3RpdmVseS4gVG8gZ2V0IGEgY29tcHJlaGVuc2l2ZSBwaWN0dXJlLCBJIHNob3VsZCBhbHNvIGNoZWNrIHRoZSBidWlsZCBjb25maWd1cmF0aW9uIGFuZCBkZXBlbmRlbmNpZXMuIFRoZSBga2VybmVsL2JwZi9NYWtlZmlsZWAgaXMgdGhlIG5hdHVyYWwgcGxhY2UgdG8gc3RhcnQsIGFzIGl0IHNob3VsZCBjb250YWluIHRoZSByZWxldmFudCBmbGFncywgb2JqZWN0IGZpbGUgZGVwZW5kZW5jaWVzLCBhbmQgYW55IGNvbmRpdGlvbmFsIGNvbXBpbGF0aW9uIHRoYXQncyBhdCBwbGF5IGluIHRoaXMgYXJlYSBvZiB0aGUgY29kZS4gVGhpcyB3aWxsIGNsYXJpZnkgYW55IGJ1aWxkLXRpbWUgY29uZmlndXJhdGlvbnMgb3IgZXh0ZXJuYWwgZGVwZW5kZW5jaWVzIEkgbmVlZCB0byBiZSBhd2FyZSBvZi5cblxuXG4iLCJJbnB1dFRva2VucyI6MzQ2OCwiT3V0cHV0VG9rZW5zIjozMCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjQ2LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDA4OjU3OjMyLjkzNzYyNDE0MloiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo5OTI5NDcxNiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJmaXh1cHMub1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJrZXJuZWwvYnBmL01ha2VmaWxlXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImtlcm5lbC9icGYvTWFrZWZpbGU9MTM9b2JqLSQoQ09ORklHX0JQRl9TWVNDQUxMKSArPSBicGZfbG9jYWxfc3RvcmFnZS5vIGJwZl90YXNrX3N0b3JhZ2Uub1xcbmtlcm5lbC9icGYvTWFrZWZpbGU6MTQ6b2JqLSQoQ09ORklHX0JQRl9TWVNDQUxMKSArPSBmaXh1cHMubyBjZmcubyBzdGF0ZXMubyBiYWNrdHJhY2subyBjaGVja19idGYub1xcbmtlcm5lbC9icGYvTWFrZWZpbGUtMTUtb2JqLSR7Q09ORklHX0JQRl9MU019XFx0ICArPSBicGZfaW5vZGVfc3RvcmFnZS5vXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDA4OjU3OjMzLjAzNjkzMTA3OFoiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjI1MjMwMjc3MjMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGxldCdzIGJyZWFrIHRoaXMgZG93bi5cblxuKipJbnZlc3RpZ2F0aW5nIEJQRiBKSVQgSW5saW5pbmcqKlxuXG5BbHJpZ2h0LCBzbyB0aGUgYmlnIHBpY3R1cmUgaGVyZSBpcyBkZWZpbml0ZWx5IHRpZWQgdG8gYENPTkZJR19CUEZfU1lTQ0FMTGAsIGJ1dCB0aGF0J3MgdGhlIGdlbmVyaWMsIG92ZXJhcmNoaW5nIG9uZSwgc28gSSBkb24ndCBuZWVkIHRvIHNwZWNpZnkgdGhhdCBzcGVjaWZpY2FsbHkuIEl0J3MgYWxtb3N0IGltcGxpZWQuIEl0J3MgdGhlIGZvdW5kYXRpb24gd2UncmUgYnVpbGRpbmcgb24uXG5cbk15IGZvY3VzIHNob3VsZCBiZSBvbiB0aGUgbW9yZSBzcGVjaWZpYyBjb25maWcgdmFyaWFibGUuIFRoZSBtb3JlIHJlbGV2YW50IGFyZWEgb2YgaW52ZXN0aWdhdGlvbiwgaXMgYGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbGAuIFRoYXQncyB3aGVyZSBJIG5lZWQgdG8gZGlnIGluIGFuZCB1bmRlcnN0YW5kLlxuXG5cbiIsIklucHV0VG9rZW5zIjozODMyLCJPdXRwdXRUb2tlbnMiOjI1LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NDgsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMDg6NTc6MzUuNTU5OTYxMzAxWiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIwODMwNzU2MDAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImFyY2gvYXJtNjQvbmV0L2JwZl9qaXRfY29tcC5jPTMyMDE9Ym9vbCBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvKHZvaWQpXFxuLS1cXG5hcmNoL2FybTY0L25ldC9icGZfaml0X2NvbXAuYy0zMjA1LVxcbmFyY2gvYXJtNjQvbmV0L2JwZl9qaXRfY29tcC5jOjMyMDY6Ym9vbCBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoczMyIGltbSlcXG5hcmNoL2FybTY0L25ldC9icGZfaml0X2NvbXAuYy0zMjA3LXtcXG4tLVxcbmFyY2gvcG93ZXJwYy9uZXQvYnBmX2ppdF9jb21wLmM9NTcyPWJvb2wgYnBmX2ppdF9zdXBwb3J0c19wZXJjcHVfaW5zbih2b2lkKVxcbi0tXFxuYXJjaC9wb3dlcnBjL25ldC9icGZfaml0X2NvbXAuYy01NzYtXFxuYXJjaC9wb3dlcnBjL25ldC9icGZfaml0X2NvbXAuYzo1Nzc6Ym9vbCBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoczMyIGltbSlcXG5hcmNoL3Bvd2VycGMvbmV0L2JwZl9qaXRfY29tcC5jLTU3OC17XFxuLS1cXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jPTIxMzk9Ym9vbCBicGZfaml0X3N1cHBvcnRzX3BlcmNwdV9pbnNuKHZvaWQpXFxuLS1cXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jLTIxNDMtXFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYzoyMTQ0OmJvb2wgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKHMzMiBpbW0pXFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0yMTQ1LXtcXG4tLVxcbmFyY2gvczM5MC9uZXQvYnBmX2ppdF9jb21wLmM9MzA4MT1ib29sIGJwZl9qaXRfc3VwcG9ydHNfdGltZWRfbWF5X2dvdG8odm9pZClcXG4tLVxcbmFyY2gvczM5MC9uZXQvYnBmX2ppdF9jb21wLmMtMzA4NS1cXG5hcmNoL3MzOTAvbmV0L2JwZl9qaXRfY29tcC5jOjMwODY6Ym9vbCBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoczMyIGltbSlcXG5hcmNoL3MzOTAvbmV0L2JwZl9qaXRfY29tcC5jLTMwODcte1xcbi0tXFxuaW5jbHVkZS9saW51eC9maWx0ZXIuaD0xMTc5PWJvb2wgYnBmX2ppdF9uZWVkc196ZXh0KHZvaWQpO1xcbmluY2x1ZGUvbGludXgvZmlsdGVyLmg6MTE4MDpib29sIGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChzMzIgaW1tKTtcXG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oLTExODEtYm9vbCBicGZfaml0X3N1cHBvcnRzX3N1YnByb2dfdGFpbGNhbGxzKHZvaWQpO1xcbi0tXFxua2VybmVsL2JwZi9jb3JlLmM9MzIwOT1ib29sIF9fd2VhayBicGZfaml0X2J5cGFzc19zcGVjX3Y0KHZvaWQpXFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYy0zMjE5LSAqL1xcbmtlcm5lbC9icGYvY29yZS5jOjMyMjA6Ym9vbCBfX3dlYWsgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKHMzMiBpbW0pXFxua2VybmVsL2JwZi9jb3JlLmMtMzIyMS17XFxuLS1cXG5rZXJuZWwvYnBmL2ZpeHVwcy5jPTE0ODE9aW50IGJwZl9kb19taXNjX2ZpeHVwcyhzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52KVxcbi0tXFxua2VybmVsL2JwZi9maXh1cHMuYy0xODQzLVxcdFxcdC8qIFNraXAgaW5saW5pbmcgdGhlIGhlbHBlciBjYWxsIGlmIHRoZSBKSVQgZG9lcyBpdC4gKi9cXG5rZXJuZWwvYnBmL2ZpeHVwcy5jOjE4NDQ6XFx0XFx0aWYgKGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChpbnNuLVxcdTAwM2VpbW0pKSB7XFxua2VybmVsL2JwZi9maXh1cHMuYy0xODQ1LVxcdFxcdFxcdHByb2ctXFx1MDAzZWppdF9yZXF1aXJlZCA9IDE7XFxuLS1cXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmM9MTY2ODM9Ym9vbCBicGZfZ2V0X2NhbGxfc3VtbWFyeShzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LCBzdHJ1Y3QgYnBmX2luc24gKmNhbGwsXFxuLS1cXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmMtMTY2OTYtXFx0XFx0XFx0ICAgICAgIChicGZfdmVyaWZpZXJfaW5saW5lc19oZWxwZXJfY2FsbChlbnYsIGNhbGwtXFx1MDAzZWltbSkgfHxcXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmM6MTY2OTc6XFx0XFx0XFx0XFx0YnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKGNhbGwtXFx1MDAzZWltbSkpO1xcbmtlcm5lbC9icGYvdmVyaWZpZXIuYy0xNjY5OC1cXHRcXHRjcy1cXHUwMDNlaXNfdm9pZCA9IGZuLVxcdTAwM2VyZXRfdHlwZSA9PSBSRVRfVk9JRDtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMDg6NTc6MzcuNjQzMDQ1MzMyWiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTg5NzgyMDU2NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBBc3Nlc3NtZW50IG9mIHRoZSBOZXcgQlBGIFBhdGNoKipcblxuT2theSwgc28gdGhpcyBwYXRjaCBpcyBkb2luZyB3aGF0IEkgc3VzcGVjdGVkIOKAkyBpdCdzIGFkZHJlc3NpbmcgdGhlIGludGVyYWN0aW9uIGJldHdlZW4gaW5saW5lZCBKSVQgaGVscGVycyB3aXRoaW4gQlBGIHByb2dyYW1zIGFuZCB0aGUgSklUIGF2YWlsYWJpbGl0eS4gU3BlY2lmaWNhbGx5LCBpZiBhIEJQRiBwcm9ncmFtIGxldmVyYWdlcyBhIGhlbHBlciB0aGF0IHRoZSBKSVQgaW5saW5lcywgdGhlIHBhdGNoIGVuZm9yY2VzIGEgSklUIHJlcXVpcmVtZW50LiBNYWtlcyBzZW5zZSwgYW5kIGl0IGFsaWducyB3aXRoIGJlc3QgcHJhY3RpY2VzIGZvciBlbnN1cmluZyBjb25zaXN0ZW50IGFuZCBleHBlY3RlZCBiZWhhdmlvci4gSWYgdGhlIEpJVCBpcyBhYnNlbnQsIHdlJ3JlIGV4cGxpY2l0bHkgZmFpbGluZyB3aXRoIGAtRU5PVFNVUFBgLCB3aGljaCBpcyB0aGUgcmlnaHQgZXJyb3IgY29kZSBpbiB0aGlzIHNjZW5hcmlvLlxuXG5EZWZpbml0ZWx5IHdvcnRoIGEgdGhvcm91Z2ggZnV6emluZyBjYW1wYWlnbiB0byBzZWUgaG93IHJvYnVzdCB0aGlzIG5ldyBjaGVjayBpcy4gSSBuZWVkIHRvIGtlZXAgdGhlc2Ugc3ltYm9scyBpbiBtaW5kIGFzIEkgc3RhcnQuXG5cbktleSBhcmVhcyB0byBrZWVwIGFuIGV5ZSBvbiBkdXJpbmcgdGVzdGluZywgdGhlIGZvY2FsIHBvaW50cyBhcmUgYGJwZl9kb19taXNjX2ZpeHVwc2AgYW5kIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYC5cblxuUmVnYXJkaW5nIGNvbmZpZ3VyYXRpb24sIGBDT05GSUdfQlBGX1NZU0NBTExgIGlzIGEgZ2l2ZW47IGl0J3MgdGhlIGZvdW5kYXRpb24uIE5vIG5lZWQgdG8gZXhwbGljaXRseSBzcGVjaWZ5IGl0LiBIb3dldmVyLCBJIHNob3VsZCBkb3VibGUtY2hlY2sgdGhlIGltcGxpY2F0aW9ucyBvZiBgQ09ORklHX0JQRl9KSVRgLiBJdCdzIHVzdWFsbHkgZW5hYmxlZCwgYnV0IEkgbmVlZCB0byBtYWtlIHN1cmUgSSdtIHRlc3Rpbmcgd2l0aCBhIGZldyBjb25maWd1cmF0aW9ucy4gQSBxdWljayBncmVwIGluIGBrZXJuZWwvYnBmL2NvcmUuY2AgZm9yIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYCBzaG91bGQgZ2l2ZSBtZSBhIGJldHRlciB1bmRlcnN0YW5kaW5nIG9mIGhvdyB0aGUgY29kZSBmbG93IGludGVyYWN0cyB3aXRoIHRoYXQgY29uZmlnIG9wdGlvbi4gTGV0J3Mgc2VlIHdoYXQgd2UgY2FuIGZpbmQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjUwNDMsIk91dHB1dFRva2VucyI6MjMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNzQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMDg6NTc6NDMuNTQwODY4NTE3WiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMTIwNjU3NzA5LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIl9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiaW5jbHVkZS9saW51eC9maWx0ZXIuaD0xMTI4PXNrX2ZpbHRlcl9yZWFzb24oc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKVxcbi0tXFxuaW5jbHVkZS9saW51eC9maWx0ZXIuaC0xMTMyLVxcbmluY2x1ZGUvbGludXgvZmlsdGVyLmg6MTEzMzpzdHJ1Y3QgYnBmX3Byb2cgKl9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWUoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudiwgc3RydWN0IGJwZl9wcm9nICpmcCxcXG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oLTExMzQtXFx0XFx0XFx0XFx0XFx0ICAgaW50ICplcnIpO1xcbi0tXFxua2VybmVsL2JwZi9jb3JlLmM9MjU2ND1zdGF0aWMgc3RydWN0IGJwZl9wcm9nICpicGZfcHJvZ19qaXRfY29tcGlsZShzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LCBzdHJ1Y3QgYnBmX3Byb2cgKnByb2cpXFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYy0yNjEwLVxcbmtlcm5lbC9icGYvY29yZS5jOjI2MTE6c3RydWN0IGJwZl9wcm9nICpfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYsIHN0cnVjdCBicGZfcHJvZyAqZnAsXFxua2VybmVsL2JwZi9jb3JlLmMtMjYxMi1cXHRcXHRcXHRcXHRcXHQgICBpbnQgKmVycilcXG4tLVxcbmtlcm5lbC9icGYvY29yZS5jPTI2Nzg9c3RydWN0IGJwZl9wcm9nICpicGZfcHJvZ19zZWxlY3RfcnVudGltZShzdHJ1Y3QgYnBmX3Byb2cgKmZwLCBpbnQgKmVycilcXG5rZXJuZWwvYnBmL2NvcmUuYy0yNjc5LXtcXG5rZXJuZWwvYnBmL2NvcmUuYzoyNjgwOlxcdHJldHVybiBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lKE5VTEwsIGZwLCBlcnIpO1xcbmtlcm5lbC9icGYvY29yZS5jLTI2ODEtfVxcbi0tXFxua2VybmVsL2JwZi92ZXJpZmllci5jPTE5NzQzPWludCBicGZfY2hlY2soc3RydWN0IGJwZl9wcm9nICoqcHJvZywgdW5pb24gYnBmX2F0dHIgKmF0dHIsIGJwZnB0cl90IHVhdHRyLFxcbi0tXFxua2VybmVsL2JwZi92ZXJpZmllci5jLTIwMDA3LVxcbmtlcm5lbC9icGYvdmVyaWZpZXIuYzoyMDAwODpcXHRlbnYtXFx1MDAzZXByb2cgPSBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lKGVudiwgZW52LVxcdTAwM2Vwcm9nLCBcXHUwMDI2cmV0KTtcXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmMtMjAwMDktXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDA4OjU3OjQ1LjY2MTUzMjYxNloiLCJTZXEiOjExLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1MTAzMjA5ODY2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgUGF0Y2gncyBJbXBhY3Qgb24gQlBGIEpJVCBhbmQgUnVudGltZSBTZWxlY3Rpb24qKlxuXG5Pa2F5LCBzbyB0aGUgcGF0Y2ggaXMgZnVuY3Rpb25hbGx5IHNvdW5kLCB3aGljaCBpcyBnb29kLiBNeSBpbW1lZGlhdGUgY29uY2VybiwgYmFzZWQgb24gdGhlIGZ1bmN0aW9uIG5hbWVzIG1lbnRpb25lZCDigJMgYGJwZl9kb19taXNjX2ZpeHVwc2AgYW5kIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYCDigJMgaXMgaG93IHRoaXMgaW1wYWN0cyBCUEYgSklUIGFuZCB0aGUgcnVudGltZSBzZWxlY3Rpb24gcHJvY2Vzcy4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGNvbm5lY3Rpb24uXG5cbkknbSBub3RpbmcgYEJQRl9KSVRgIGhlcmUsIGV2ZW4gdGhvdWdoIGl0J3MgdHlwaWNhbGx5IGVuYWJsZWQsIGJlY2F1c2UgdGhpcyBwYXRjaCBzZWVtcyBkaXJlY3RseSByZWxhdGVkIHRvICp3aGVuKiBKSVQgaXMgcmVxdWlyZWQgYW5kIHBvdGVudGlhbGx5IGhvdyBpdCdzIGhhbmRsZWQuIFRoZSBjb3JlIHF1ZXN0aW9uIGlzOiB3aGF0IGhhcHBlbnMgd2hlbiBKSVQgaXNuJ3QgYWx3YXlzIGF2YWlsYWJsZSwgb3Igd2hlbiBpdHMgdXNhZ2UgaXMgY29uZGl0aW9uYWw/IElmIEpJVCBpcyBkaXNhYmxlZCwgSSBrbm93IGBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGxgIG1pZ2h0IHJldHVybiBmYWxzZSwgYnV0IEkgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCdzIHRoZSBvbmx5IGltcGFjdC4gVGhlIHJlYWwgcG9pbnQgb2YgY29uY2VybiBoZXJlLCBub3cgdGhhdCBJIHRoaW5rIGFib3V0IGl0LCBpcyB3aGF0IGlmIGl0ICpkb2VzKiByZXR1cm4gdHJ1ZSwgaW5kaWNhdGluZyBhIG5lZWQgZm9yIEpJVC4gV2hhdCdzIHRoZSBmYWxsYmFjayBvciBhbHRlcm5hdGl2ZSBwYXRod2F5IGlmIEpJVCBpc24ndCBjb25maWd1cmVkLCBvciBpcyBvdGhlcndpc2UgdW5hdmFpbGFibGU/IEkgbmVlZCB0byBjaGVjayBob3cgdGhhdCBwbGF5cyBvdXQuIFNvLCBlc3NlbnRpYWxseSwgaWYgYENPTkZJR19CUEZfSklUYCBpcyBkaXNhYmxlZCwgYGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbGAgc2hvdWxkIHJldHVybiBmYWxzZSwgYnV0IEknbSBnb2luZyB0byBkb3VibGUgY2hlY2sgdGhlIGNvZGUgYXJvdW5kIHRoYXQgcG9pbnQgZm9yIHNpZGUgZWZmZWN0cyBhbmQgZWRnZSBjYXNlcy5cblxuXG4iLCJJbnB1dFRva2VucyI6NjA0MSwiT3V0cHV0VG9rZW5zIjozOSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE0OCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wMlQwODo1Nzo1MC43NjQ3NDQ3NjFaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEwNjUyMjQ3NiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGxcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwia2VybmVsL2JwZi9jb3JlLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwia2VybmVsL2JwZi9jb3JlLmM9MzIwOT1ib29sIF9fd2VhayBicGZfaml0X2J5cGFzc19zcGVjX3Y0KHZvaWQpXFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYy0zMjE5LSAqL1xcbmtlcm5lbC9icGYvY29yZS5jOjMyMjA6Ym9vbCBfX3dlYWsgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKHMzMiBpbW0pXFxua2VybmVsL2JwZi9jb3JlLmMtMzIyMS17XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDA4OjU3OjUwLjg3MTI3MjA5N1oiLCJTZXEiOjEzLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozNTkyNTQ3MDgzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgQlBGIEpJVCBDb25maWd1cmF0aW9uKipcblxuT2theSwgc28gdGhlIGJhc2UtbGV2ZWwgZnVuY3Rpb24gcmV0dXJucyBgZmFsc2VgIGJ5IGRlZmF1bHQuIFRoYXQncyB0aGUgYmFzZWxpbmUsIHRoZSBcIm5vdGhpbmcgZW5hYmxlZFwiIHNjZW5hcmlvLiBCdXQgdGhlIGNyaXRpY2FsIHRoaW5nIGhlcmUgaXMgdGhhdCBpZiBgQ09ORklHX0JQRl9KSVRgIGlzIHNldCwgdGhlIGFyY2hpdGVjdHVyZXMgYXJlIHN1cHBvc2VkIHRvIG92ZXJyaWRlIHRoaXMgZGVmYXVsdCBiZWhhdmlvci4gVGhhdCBtZWFucyBgQlBGX0pJVGAgaXMgdGhlIGtleS4gSXQncyB0aGUgZW5hYmxpbmcgc3dpdGNoLiBTbywgdGhlIGNydWNpYWwgcXVlc3Rpb24sIHRoZSBvbmUgSSBuZWVkIHRvIGFuc3dlciwgaXM6IGlzIGBCUEZfSklUYCB0aGUgY29uZmlndXJhdGlvbiBvcHRpb24gSSdtIGFjdHVhbGx5IGludGVyZXN0ZWQgaW4/IElzIHRoYXQgdGhlIGNvcnJlY3Qgb25lIHRvIGJlIGludmVzdGlnYXRpbmc/XG5cblxuIiwiSW5wdXRUb2tlbnMiOjY2NDcsIk91dHB1dFRva2VucyI6MzIsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo1NCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wMlQwODo1Nzo1NC40NjM4MjE3WiIsIlNlcSI6MTQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NjA2MzkyOCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJDT05GSUdfQlBGX0pJVFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJrZXJuZWwvYnBmL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJrZXJuZWwvYnBmL0tjb25maWc9NTg9Y29uZmlnIEJQRl9KSVRfQUxXQVlTX09OXFxuLS1cXG5rZXJuZWwvYnBmL0tjb25maWctNjQtXFxua2VybmVsL2JwZi9LY29uZmlnOjY1OlxcdCAgV2hlbiBDT05GSUdfQlBGX0pJVF9BTFdBWVNfT04gaXMgZW5hYmxlZCwgL3Byb2Mvc3lzL25ldC9jb3JlL2JwZl9qaXRfZW5hYmxlXFxua2VybmVsL2JwZi9LY29uZmlnLTY2LVxcdCAgaXMgcGVybWFuZW50bHkgc2V0IHRvIDEgYW5kIHNldHRpbmcgYW55IG90aGVyIHZhbHVlIHRoYW4gdGhhdCB3aWxsXFxuLS1cXG5rZXJuZWwvYnBmL01ha2VmaWxlPTI9b2JqLXkgOj0gY29yZS5vXFxua2VybmVsL2JwZi9NYWtlZmlsZTozOmlmbmVxICgkKENPTkZJR19CUEZfSklUX0FMV0FZU19PTikseSlcXG5rZXJuZWwvYnBmL01ha2VmaWxlLTQtIyBfX19icGZfcHJvZ19ydW4oKSBuZWVkcyBHQ1NFIGRpc2FibGVkIG9uIHg4Njsgc2VlIDMxOTNjMDgzNmYyMDMgZm9yIGRldGFpbHNcXG4tLVxcbmtlcm5lbC9icGYvTWFrZWZpbGU9MTY9b2JqLSQoQ09ORklHX0JQRl9TWVNDQUxMKSArPSBkaXNhc20ubyBtcHJvZy5vXFxua2VybmVsL2JwZi9NYWtlZmlsZToxNzpvYmotJChDT05GSUdfQlBGX0pJVCkgKz0gdHJhbXBvbGluZS5vXFxua2VybmVsL2JwZi9NYWtlZmlsZS0xOC1vYmotJChDT05GSUdfQlBGX1NZU0NBTEwpICs9IGJ0Zi5vIG1lbWFsbG9jLm8gcnFzcGlubG9jay5vIHN0cmVhbS5vXFxuLS1cXG5rZXJuZWwvYnBmL01ha2VmaWxlPTIxPWVuZGlmXFxua2VybmVsL2JwZi9NYWtlZmlsZToyMjpvYmotJChDT05GSUdfQlBGX0pJVCkgKz0gZGlzcGF0Y2hlci5vXFxua2VybmVsL2JwZi9NYWtlZmlsZS0yMy1pZmVxICgkKENPTkZJR19ORVQpLHkpXFxuLS1cXG5rZXJuZWwvYnBmL01ha2VmaWxlPTQyPWVuZGlmXFxua2VybmVsL2JwZi9NYWtlZmlsZTo0MzppZmVxICgkKENPTkZJR19CUEZfSklUKSx5KVxcbmtlcm5lbC9icGYvTWFrZWZpbGUtNDQtb2JqLSQoQ09ORklHX0JQRl9TWVNDQUxMKSArPSBicGZfc3RydWN0X29wcy5vXFxuLS1cXG5rZXJuZWwvYnBmL2J0Zi5jPTk3Nzg9Ym9vbCBidGZfdHlwZV9pZHNfbm9jYXN0X2FsaWFzKHN0cnVjdCBicGZfdmVyaWZpZXJfbG9nICpsb2csXFxuLS1cXG5rZXJuZWwvYnBmL2J0Zi5jLTk4MzItXFxua2VybmVsL2JwZi9idGYuYzo5ODMzOiNpZmRlZiBDT05GSUdfQlBGX0pJVFxcbmtlcm5lbC9icGYvYnRmLmMtOTgzNC1zdGF0aWMgaW50XFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYz01Mzk9dm9pZCBicGZfcHJvZ19rYWxsc3ltc19kZWxfYWxsKHN0cnVjdCBicGZfcHJvZyAqZnApXFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYy01NDQtXFxua2VybmVsL2JwZi9jb3JlLmM6NTQ1OiNpZmRlZiBDT05GSUdfQlBGX0pJVFxcbmtlcm5lbC9icGYvY29yZS5jLTU0Ni0vKiBBbGwgQlBGIEpJVCBzeXNjdGwga25vYnMgaGVyZS4gKi9cXG5rZXJuZWwvYnBmL2NvcmUuYzo1NDc6aW50IGJwZl9qaXRfZW5hYmxlICAgX19yZWFkX21vc3RseSA9IElTX0JVSUxUSU4oQ09ORklHX0JQRl9KSVRfREVGQVVMVF9PTik7XFxua2VybmVsL2JwZi9jb3JlLmM6NTQ4OmludCBicGZfaml0X2thbGxzeW1zIF9fcmVhZF9tb3N0bHkgPSBJU19CVUlMVElOKENPTkZJR19CUEZfSklUX0RFRkFVTFRfT04pO1xcbmtlcm5lbC9icGYvY29yZS5jLTU0OS1pbnQgYnBmX2ppdF9oYXJkZW4gICBfX3JlYWRfbW9zdGx5O1xcbi0tXFxua2VybmVsL2JwZi9jb3JlLmM9MTU4Nj11MTYgYnBmX291dF9zdGFja19hcmdfY250KGNvbnN0IHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYsIGNvbnN0IHN0cnVjdCBicGZfcHJvZyAqcHJvZylcXG4tLVxcbmtlcm5lbC9icGYvY29yZS5jLTE1OTQtfVxcbmtlcm5lbC9icGYvY29yZS5jOjE1OTU6I2VuZGlmIC8qIENPTkZJR19CUEZfSklUICovXFxua2VybmVsL2JwZi9jb3JlLmMtMTU5Ni1cXG4tLVxcbmtlcm5lbC9icGYvY29yZS5jPTE3NTQ9Ym9vbCBicGZfb3Bjb2RlX2luX2luc250YWJsZSh1OCBjb2RlKVxcbi0tXFxua2VybmVsL2JwZi9jb3JlLmMtMTc3Ni1cXG5rZXJuZWwvYnBmL2NvcmUuYzoxNzc3OiNpZm5kZWYgQ09ORklHX0JQRl9KSVRfQUxXQVlTX09OXFxua2VybmVsL2JwZi9jb3JlLmMtMTc3OC0vKiBBYnNvbHV0ZSB2YWx1ZSBvZiBzMzIgd2l0aG91dCB1bmRlZmluZWQgYmVoYXZpb3IgZm9yIFMzMl9NSU4gKi9cXG4tLVxcbmtlcm5lbC9icGYvY29yZS5jPTI1NDE9c3RhdGljIGJvb2wgYnBmX3Byb2dfc2VsZWN0X2ludGVycHJldGVyKHN0cnVjdCBicGZfcHJvZyAqZnApXFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYy0yNTQzLVxcdGJvb2wgc2VsZWN0X2ludGVycHJldGVyID0gZmFsc2U7XFxua2VybmVsL2JwZi9jb3JlLmM6MjU0NDojaWZuZGVmIENPTkZJR19CUEZfSklUX0FMV0FZU19PTlxcbmtlcm5lbC9icGYvY29yZS5jLTI1NDUtXFx0dTMyIHN0YWNrX2RlcHRoID0gbWF4X3QodTMyLCBmcC1cXHUwMDNlYXV4LVxcdTAwM2VzdGFja19kZXB0aCwgMSk7XFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYz0yNTY0PXN0YXRpYyBzdHJ1Y3QgYnBmX3Byb2cgKmJwZl9wcm9nX2ppdF9jb21waWxlKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYsIHN0cnVjdCBicGZfcHJvZyAqcHJvZylcXG5rZXJuZWwvYnBmL2NvcmUuYy0yNTY1LXtcXG5rZXJuZWwvYnBmL2NvcmUuYzoyNTY2OiNpZmRlZiBDT05GSUdfQlBGX0pJVFxcbmtlcm5lbC9icGYvY29yZS5jLTI1NjctXFx0c3RydWN0IGJwZl9wcm9nICpvcmlnX3Byb2c7XFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYz0yNjExPXN0cnVjdCBicGZfcHJvZyAqX19icGZfcHJvZ19zZWxlY3RfcnVudGltZShzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LCBzdHJ1Y3QgYnBmX3Byb2cgKmZwLFxcbi0tXFxua2VybmVsL2JwZi9jb3JlLmMtMjYyMS1cXG5rZXJuZWwvYnBmL2NvcmUuYzoyNjIyOlxcdGlmIChJU19FTkFCTEVEKENPTkZJR19CUEZfSklUX0FMV0FZU19PTikgfHxcXG5rZXJuZWwvYnBmL2NvcmUuYy0yNjIzLVxcdCAgICBicGZfcHJvZ19oYXNfa2Z1bmNfY2FsbChmcCkpXFxuLS1cXG5rZXJuZWwvYnBmL2ZpeHVwcy5jPTEyNz1zdGF0aWMgaW50IGFkZF9rZnVuY19pbl9pbnNucyhzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LFxcbi0tXFxua2VybmVsL2JwZi9maXh1cHMuYy0xNDEtXFxua2VybmVsL2JwZi9maXh1cHMuYzoxNDI6I2lmbmRlZiBDT05GSUdfQlBGX0pJVF9BTFdBWVNfT05cXG5rZXJuZWwvYnBmL2ZpeHVwcy5jLTE0My1zdGF0aWMgaW50IGdldF9jYWxsZWVfc3RhY2tfZGVwdGgoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudixcXG4tLVxcbmtlcm5lbC9icGYvZml4dXBzLmM9MTM3Nj1pbnQgYnBmX2ZpeHVwX2NhbGxfYXJncyhzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52KVxcbmtlcm5lbC9icGYvZml4dXBzLmMtMTM3Ny17XFxua2VybmVsL2JwZi9maXh1cHMuYzoxMzc4OiNpZm5kZWYgQ09ORklHX0JQRl9KSVRfQUxXQVlTX09OXFxua2VybmVsL2JwZi9maXh1cHMuYy0xMzc5LVxcdHN0cnVjdCBicGZfcHJvZyAqcHJvZyA9IGVudi1cXHUwMDNlcHJvZztcXG4tLVxcbmtlcm5lbC9icGYvZml4dXBzLmMtMTQwNS1cXHR9XFxua2VybmVsL2JwZi9maXh1cHMuYzoxNDA2OiNpZm5kZWYgQ09ORklHX0JQRl9KSVRfQUxXQVlTX09OXFxua2VybmVsL2JwZi9maXh1cHMuYy0xNDA3LVxcdGlmIChoYXNfa2Z1bmNfY2FsbCkge1xcbi0tXFxua2VybmVsL2JwZi9zeXNjYWxsLmM9NjU3OD1pbnQga2Vybl9zeXNfYnBmKGludCBjbWQsIHVuaW9uIGJwZl9hdHRyICphdHRyLCB1bnNpZ25lZCBpbnQgc2l6ZSlcXG4tLVxcbmtlcm5lbC9icGYvc3lzY2FsbC5jLTY1ODMtXFx0c3dpdGNoIChjbWQpIHtcXG5rZXJuZWwvYnBmL3N5c2NhbGwuYzo2NTg0OiNpZmRlZiBDT05GSUdfQlBGX0pJVCAvKiBfX2JwZl9wcm9nX2VudGVyX3NsZWVwYWJsZSB1c2VkIGJ5IHRyYW1wb2xpbmUgYW5kIEpJVCAqL1xcbmtlcm5lbC9icGYvc3lzY2FsbC5jLTY1ODUtXFx0Y2FzZSBCUEZfUFJPR19URVNUX1JVTjpcXG4tLVxcbmtlcm5lbC9icGYvdmVyaWZpZXIuYz00NDE4PUJURl9JRChzdHJ1Y3QsIGNncm91cClcXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmMtNDQxOS0jZW5kaWZcXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmM6NDQyMDojaWZkZWYgQ09ORklHX0JQRl9KSVRcXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmMtNDQyMS1CVEZfSUQoc3RydWN0LCBicGZfY3B1bWFzaylcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMDg6NTc6NTQuNTE5ODkxMTc4WiIsIlNlcSI6MTUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjYwODM3NzY5MTgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqTXkgQXNzZXNzbWVudCBvZiB0aGUgQlBGIEpJVCBQYXRjaCoqXG5cbk9rYXksIHNvIHRoaXMgcGF0Y2ggY2VudGVycyBhcm91bmQgYEJQRl9KSVRgLCB3aGljaCBpcyB0aGUga2V5IGNvbmZpZyBoZXJlLiBJdCBsb29rcyBsaWtlIHRoZSBjb3JlIG1vZGlmaWNhdGlvbiBpcyB0aGUgYWRkaXRpb24gb2YgdGhlIGBqaXRfcmVxdWlyZWRgIGZsYWcgd2l0aGluIHRoZSBgc3RydWN0IGJwZl9wcm9nYC4gVGhpcyBmbGFnIGlzIHNldCBkdXJpbmcgYGJwZl9kb19taXNjX2ZpeHVwc2AsIGFuZCB0aGVuIGl0J3MgY2hlY2tlZCBkdXJpbmcgYF9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVgLlxuXG5Fc3NlbnRpYWxseSwgaWYgYSBoZWxwZXIgY2FsbCBnZXRzIGlubGluZWQgYnkgdGhlIEpJVCBhbmQgdGhlIEpJVCBpcywgZm9yIHdoYXRldmVyIHJlYXNvbiwgdW5hdmFpbGFibGUgb3IgZmFpbHMsIHRoaXMgYGppdF9yZXF1aXJlZGAgZmxhZyBjYXVzZXMgdGhlIHByb2dyYW0gbG9hZCB0byBmYWlsIHdpdGggYW4gYC1FTk9UU1VQUGAgZXJyb3IuIEl0J3MgYSBmdW5jdGlvbmFsIGNoYW5nZSwgY2xlYXJseSBpbXBhY3RpbmcgYm90aCB0aGUgQlBGIHZlcmlmaWVyIGFuZCBob3cgdGhlIEpJVCBpcyBzZWxlY3RlZC5cblxuVGhlcmVmb3JlLCBteSBzdW1tYXJ5IHdvdWxkIGxvb2sgc29tZXRoaW5nIGxpa2UgdGhpczpcblxuKiAgICoqV29ydGhGdXp6aW5nOioqIFllc1xuKiAgICoqRm9jdXNTeW1ib2xzOioqIGBicGZfZG9fbWlzY19maXh1cHNgLCBhbmQgYF9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVgLlxuKiAgICoqRW5hYmxlQ29uZmlnczoqKiBgQlBGX0pJVGBcblxuVGhlIHJlYXNvbmluZyBpcyBwcmV0dHkgc3RyYWlnaHRmb3J3YXJkOiB0aGUgYGppdF9yZXF1aXJlZGAgZmxhZyBpcyBkaXJlY3RseSB0aWVkIHRvIHRoZSBKSVQncyBmdW5jdGlvbmFsaXR5IGFuZCBpdHMgYXZhaWxhYmlsaXR5IG9yIGZhaWx1cmUsIHdoaWNoIGhhcyBhIHRhbmdpYmxlIGltcGFjdCBvbiBwcm9ncmFtIGxvYWQuXG5cbkknbGwgcXVpY2tseSBkb3VibGUtY2hlY2sgdGhhdCB0aGVyZSBhcmVuJ3QgYW55IG90aGVyIGNvbmZpZ3MgdGhhdCBhcmUgZGlyZWN0bHkgcmVsZXZhbnQgaGVyZS4gV2hpbGUgYENPTkZJR19CUEZfU1lTQ0FMTGAgaXMgaW1wb3J0YW50LCBgQ09ORklHX0JQRl9KSVRgIGlzIHNwZWNpZmljIGVub3VnaCwgc28gaXQgaXMgcHJvYmFibHkgbm90IGdvaW5nIHRvIGJlIHdvcnRoIGFkZGluZyBpdCB0byB0aGUgbGlzdC5cblxuT2theSwgdGhhdCdzIG15IGFzc2Vzc21lbnQuIFRpbWUgdG8gY2FsbCBzZXQtcmVzdWx0cy5cblxuXG4iLCJJbnB1dFRva2VucyI6ODc1NCwiT3V0cHV0VG9rZW5zIjoxMjksIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNDAsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMDg6NTg6MDAuNjAzNjcwMjc2WiIsIlNlcSI6MTYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6ODQxNTc0MjcsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJQRl9KSVRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJicGZfZG9fbWlzY19maXh1cHNcIixcbiAgICBcIl9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGEgYGppdF9yZXF1aXJlZGAgZmxhZyB0byBCUEYgcHJvZ3JhbXMsIHdoaWNoIGlzIHNldCB3aGVuIGEgaGVscGVyIGNhbGwgaXMgaW5saW5lZCBieSB0aGUgSklULiBJZiB0aGUgSklUIGlzIG5vdCBhdmFpbGFibGUgb3IgZmFpbHMsIHRoZSBwcm9ncmFtIGxvYWQgZmFpbHMgd2l0aCBgLUVOT1RTVVBQYC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBCUEYgdmVyaWZpZXIgYW5kIEpJVCBzZWxlY3Rpb24gbG9naWMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlBGX0pJVFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImJwZl9kb19taXNjX2ZpeHVwc1wiLFxuICAgIFwiX19icGZfcHJvZ19zZWxlY3RfcnVudGltZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgYSBgaml0X3JlcXVpcmVkYCBmbGFnIHRvIEJQRiBwcm9ncmFtcywgd2hpY2ggaXMgc2V0IHdoZW4gYSBoZWxwZXIgY2FsbCBpcyBpbmxpbmVkIGJ5IHRoZSBKSVQuIElmIHRoZSBKSVQgaXMgbm90IGF2YWlsYWJsZSBvciBmYWlscywgdGhlIHByb2dyYW0gbG9hZCBmYWlscyB3aXRoIGAtRU5PVFNVUFBgLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIEJQRiB2ZXJpZmllciBhbmQgSklUIHNlbGVjdGlvbiBsb2dpYy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+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-workflowlztxk[1] Phase: Succeeded StartedAt: 2026-07-02 08:59:03 +0000 UTC FinishedAt: 2026-07-02 08:59:03 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlztxk[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-02 08:59:03 +0000 UTC FinishedAt: 2026-07-02 08:59:03 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlztxk[2] Phase: Succeeded StartedAt: 2026-07-02 08:59:03 +0000 UTC FinishedAt: 2026-07-02 12:55:41 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-02 08:59:04 +0000 UTC FinishedAt: 2026-07-02 12:55:41 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-02 08:59:04 +0000 UTC FinishedAt: 2026-07-02 08:59:31 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-02 08:59:04 +0000 UTC FinishedAt: 2026-07-02 08:59:28 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.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-workflowlztxk/series-workflowlztxk-convert-artifact-645680698/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-02 08:59:31 +0000 UTC FinishedAt: 2026-07-02 09:26:30 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-02 08:59:31 +0000 UTC FinishedAt: 2026-07-02 09:26:30 +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:*24f8309b-b5ce-4890-97f3-b6f483716139,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-workflowlztxk/series-workflowlztxk-convert-artifact-645680698/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": "69f248ad-83e4-40dd-a773-a88ad6fd1b46", "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-workflowlztxk/series-workflowlztxk-build-action-1622770664/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-07-02 08:59:31 +0000 UTC FinishedAt: 2026-07-02 09:24:35 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*24f8309b-b5ce-4890-97f3-b6f483716139,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-workflowlztxk/series-workflowlztxk-convert-artifact-645680698/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": "69f248ad-83e4-40dd-a773-a88ad6fd1b46", "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-workflowlztxk/series-workflowlztxk-build-action-1622770664/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-02 09:26:30 +0000 UTC FinishedAt: 2026-07-02 09:26:30 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-02 09:26:30 +0000 UTC FinishedAt: 2026-07-02 09:26:30 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-02 09:26:30 +0000 UTC FinishedAt: 2026-07-02 09:26:50 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-02 09:26:30 +0000 UTC FinishedAt: 2026-07-02 09:26:39 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.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-workflowlztxk/series-workflowlztxk-convert-artifact-977177749/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-02 09:26:50 +0000 UTC FinishedAt: 2026-07-02 09:28:57 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-02 09:26:50 +0000 UTC FinishedAt: 2026-07-02 09:28:47 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*69f248ad-83e4-40dd-a773-a88ad6fd1b46,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-workflowlztxk/series-workflowlztxk-build-action-1622770664/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-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-02 09:28:57 +0000 UTC FinishedAt: 2026-07-02 09:28:57 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-02 09:28:57 +0000 UTC FinishedAt: 2026-07-02 09:28:57 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-02 09:28:57 +0000 UTC FinishedAt: 2026-07-02 09:50:45 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-02 09:28:57 +0000 UTC FinishedAt: 2026-07-02 09:50:45 +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:*24f8309b-b5ce-4890-97f3-b6f483716139,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-workflowlztxk/series-workflowlztxk-convert-artifact-977177749/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": "87fba41f-c3f0-43c7-ba49-a58b5021a307", "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-workflowlztxk/series-workflowlztxk-build-action-1091384097/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-02 09:28:57 +0000 UTC FinishedAt: 2026-07-02 09:50:35 +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:*24f8309b-b5ce-4890-97f3-b6f483716139,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-workflowlztxk/series-workflowlztxk-convert-artifact-977177749/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": "87fba41f-c3f0-43c7-ba49-a58b5021a307", "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-workflowlztxk/series-workflowlztxk-build-action-1091384097/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-02 09:50:45 +0000 UTC FinishedAt: 2026-07-02 09:50:45 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-02 09:50:45 +0000 UTC FinishedAt: 2026-07-02 09:50:45 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-02 09:50:45 +0000 UTC FinishedAt: 2026-07-02 09:53:03 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-02 09:50:45 +0000 UTC FinishedAt: 2026-07-02 09:52:53 +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:*87fba41f-c3f0-43c7-ba49-a58b5021a307,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-workflowlztxk/series-workflowlztxk-build-action-1091384097/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-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-02 09:53:03 +0000 UTC FinishedAt: 2026-07-02 12:55:41 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-02 09:53:03 +0000 UTC FinishedAt: 2026-07-02 12:55:41 +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-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"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:*69f248ad-83e4-40dd-a773-a88ad6fd1b46,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*87fba41f-c3f0-43c7-ba49-a58b5021a307,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-workflowlztxk/series-workflowlztxk-build-action-1622770664/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-workflowlztxk/series-workflowlztxk-build-action-1091384097/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-02 09:53:03 +0000 UTC FinishedAt: 2026-07-02 09:53:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-02 09:53:03 +0000 UTC FinishedAt: 2026-07-02 09:53:10 +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-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"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-workflowlztxk/series-workflowlztxk-convert-artifact-2229008250/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-02 09:53:03 +0000 UTC FinishedAt: 2026-07-02 09:53:03 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-02 09:53:03 +0000 UTC FinishedAt: 2026-07-02 09:53:03 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-02 09:53:03 +0000 UTC FinishedAt: 2026-07-02 09:53:03 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-02 09:53:13 +0000 UTC FinishedAt: 2026-07-02 12:55:41 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlztxk[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT"],"series_id":"c34bcd5f-438b-4c3d-abab-70a75a1d3e5b","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-02 09:53:13 +0000 UTC FinishedAt: 2026-07-02 12:55:30 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*69f248ad-83e4-40dd-a773-a88ad6fd1b46,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*87fba41f-c3f0-43c7-ba49-a58b5021a307,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-workflowlztxk/series-workflowlztxk-build-action-1622770664/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-workflowlztxk/series-workflowlztxk-build-action-1091384097/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-workflowlztxk/series-workflowlztxk-convert-artifact-2229008250/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,}