Name: series-workflowmx8nn Phase: Succeeded StartedAt: 2026-07-17 16:38:08 +0000 UTC FinishedAt: 2026-07-17 18:28:52 +0000 UTC Input: nil Output: nil --------- Name: series-workflowmx8nn[0] Phase: Succeeded StartedAt: 2026-07-17 16:38:08 +0000 UTC FinishedAt: 2026-07-17 17:19:54 +0000 UTC Input: nil Output: nil --------- Name: series-workflowmx8nn[0].run-triage Phase: Succeeded StartedAt: 2026-07-17 16:38:08 +0000 UTC FinishedAt: 2026-07-17 17:19:54 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "kvm-next", "tree_url": "https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/", "commit_hash": "a204badd8432f93b7e862e7dac6db0fe3d65f370", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "KVM" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "kvm-next", "tree_url": "https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/", "commit_hash": "a204badd8432f93b7e862e7dac6db0fe3d65f370", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "KVM" ], "series_id": "18027fce-98a2-4f29-ac12-c66698f585e6" }, "track": "KASAN", "fuzz": { "focus": [ "kvm" ], "focus_symbols": [ "do_secure_storage_access" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE3IDE3OjE5PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0tWTSYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2RvX3NlY3VyZV9zdG9yYWdlX2FjY2VzcyYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgcGFnZSBmYXVsdCBoYW5kbGluZyBmb3Igc2VjdXJlIHN0b3JhZ2UgYWNjZXNzIG9uIHMzOTAgKGRvX3NlY3VyZV9zdG9yYWdlX2FjY2VzcykuIEl0IGNoYW5nZXMgaG93IHRoZSBtbWFwIGxvY2sgaXMgYWNxdWlyZWQgYW5kIGhvdyBlcnJvcnMgYXJlIGhhbmRsZWQgd2hlbiBhIFZNQSBpcyBub3QgZm91bmQuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBjb3JlIGFyY2hpdGVjdHVyZSBjb2RlIGFuZCBzaG91bGQgYmUgZnV6emVkLiBUaGUgY29kZSBpcyBndWFyZGVkIGJ5IENPTkZJR19LVk0uJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTcgMTc6MTk8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCA2MTg1NGIzMzYwYWU1ODEwOTM0YzQ2OTRkZDU4NTY1MzVkYmVkYmJkXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIEZyaSBKdWwgMTcgMTc6MTk6MjUgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL21tL2ZhdWx0LmMgYi9hcmNoL3MzOTAvbW0vZmF1bHQuY1xuaW5kZXggMDI4YWViOWM0OGQ2ZmYuLmQ2YzU4ZDc4ZWRjNWFmIDEwMDY0NFxuLS0tIGEvYXJjaC9zMzkwL21tL2ZhdWx0LmNcbiYjNDM7JiM0MzsmIzQzOyBiL2FyY2gvczM5MC9tbS9mYXVsdC5jXG5AQCAtNDU2LDEwICYjNDM7NDU2LDkgQEAgdm9pZCBkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3Moc3RydWN0IHB0X3JlZ3MgKnJlZ3MpXG4gXHRcdGlmIChmYXVsdGhhbmRsZXJfZGlzYWJsZWQoKSlcbiBcdFx0XHRyZXR1cm4gaGFuZGxlX2ZhdWx0X2Vycm9yX25vbG9jayhyZWdzLCAwKTtcbiBcdFx0bW0gPSBjdXJyZW50LVx1MDAzZW1tO1xuLVx0XHRtbWFwX3JlYWRfbG9jayhtbSk7XG4tXHRcdHZtYSA9IGZpbmRfdm1hKG1tLCBhZGRyKTtcbiYjNDM7XHRcdHZtYSA9IGxvY2tfbW1fYW5kX2ZpbmRfdm1hKG1tLCBhZGRyLCByZWdzKTtcbiBcdFx0aWYgKCF2bWEpXG4tXHRcdFx0cmV0dXJuIGhhbmRsZV9mYXVsdF9lcnJvcihyZWdzLCBTRUdWX01BUEVSUik7XG4mIzQzO1x0XHRcdHJldHVybiBoYW5kbGVfZmF1bHRfZXJyb3Jfbm9sb2NrKHJlZ3MsIFNFR1ZfTUFQRVJSKTtcbiBcdFx0Zm9saW8gPSBmb2xpb193YWxrX3N0YXJ0KFx1MDAyNmZ3LCB2bWEsIGFkZHIsIDApO1xuIFx0XHRpZiAoIWZvbGlvKSB7XG4gXHRcdFx0bW1hcF9yZWFkX3VubG9jayhtbSk7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTcgMTc6MTk8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7S1ZNJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7ZG9fc2VjdXJlX3N0b3JhZ2VfYWNjZXNzJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBwYWdlIGZhdWx0IGhhbmRsaW5nIGZvciBzZWN1cmUgc3RvcmFnZSBhY2Nlc3Mgb24gczM5MCAoZG9fc2VjdXJlX3N0b3JhZ2VfYWNjZXNzKS4gSXQgY2hhbmdlcyBob3cgdGhlIG1tYXAgbG9jayBpcyBhY3F1aXJlZCBhbmQgaG93IGVycm9ycyBhcmUgaGFuZGxlZCB3aGVuIGEgVk1BIGlzIG5vdCBmb3VuZC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGNvcmUgYXJjaGl0ZWN0dXJlIGNvZGUgYW5kIHNob3VsZCBiZSBmdXp6ZWQuIFRoZSBjb2RlIGlzIGd1YXJkZWQgYnkgQ09ORklHX0tWTS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLApldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXQKICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LAogICBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgNjE4NTRiMzM2MGFlNTgxMDkzNGM0Njk0ZGQ1ODU2NTM1ZGJlZGJiZApBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBGcmkgSnVsIDE3IDE3OjE5OjI1IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL21tL2ZhdWx0LmMgYi9hcmNoL3MzOTAvbW0vZmF1bHQuYwppbmRleCAwMjhhZWI5YzQ4ZDZmZi4uZDZjNThkNzhlZGM1YWYgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9tbS9mYXVsdC5jCiYjNDM7JiM0MzsmIzQzOyBiL2FyY2gvczM5MC9tbS9mYXVsdC5jCkBAIC00NTYsMTAgJiM0Mzs0NTYsOSBAQCB2b2lkIGRvX3NlY3VyZV9zdG9yYWdlX2FjY2VzcyhzdHJ1Y3QgcHRfcmVncyAqcmVncykKIAkJaWYgKGZhdWx0aGFuZGxlcl9kaXNhYmxlZCgpKQogCQkJcmV0dXJuIGhhbmRsZV9mYXVsdF9lcnJvcl9ub2xvY2socmVncywgMCk7CiAJCW1tID0gY3VycmVudC0mZ3Q7bW07Ci0JCW1tYXBfcmVhZF9sb2NrKG1tKTsKLQkJdm1hID0gZmluZF92bWEobW0sIGFkZHIpOwomIzQzOwkJdm1hID0gbG9ja19tbV9hbmRfZmluZF92bWEobW0sIGFkZHIsIHJlZ3MpOwogCQlpZiAoIXZtYSkKLQkJCXJldHVybiBoYW5kbGVfZmF1bHRfZXJyb3IocmVncywgU0VHVl9NQVBFUlIpOwomIzQzOwkJCXJldHVybiBoYW5kbGVfZmF1bHRfZXJyb3Jfbm9sb2NrKHJlZ3MsIFNFR1ZfTUFQRVJSKTsKIAkJZm9saW8gPSBmb2xpb193YWxrX3N0YXJ0KCZhbXA7ZncsIHZtYSwgYWRkciwgMCk7CiAJCWlmICghZm9saW8pIHsKIAkJCW1tYXBfcmVhZF91bmxvY2sobW0pOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNyAxNzoxOTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxOTMxCgkJCQkJCQlvdXRwdXQ6IDM5CgkJCQkJCQl0aG91Z2h0czogMjMzCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIFBhdGNoIHRvIHMzOTAgTWVtb3J5IE1hbmFnZW1lbnQqKgoKT2theSwgc28gdGhpcyBwYXRjaCBpcyB0b3VjaGluZyBgYXJjaC9zMzkwL21tL2ZhdWx0LmNgLiBSaWdodCBhd2F5LCBJIHNlZSB0aGF0IGl0JiMzOTtzIGNoYW5naW5nIHRoZSBsb2NraW5nIHN0cmF0ZWd5IHdpdGhpbiBgZG9fc2VjdXJlX3N0b3JhZ2VfYWNjZXNzYC4gSXQmIzM5O3MgbW92aW5nIGZyb20gdGhlIG9sZGVyIGBtbWFwX3JlYWRfbG9ja2AgYW5kIGBmaW5kX3ZtYWAgYXBwcm9hY2ggdG8gdXNpbmcgYGxvY2tfbW1fYW5kX2ZpbmRfdm1hYC4gVGhhdCYjMzk7cyBpbnRlcmVzdGluZywgYW5kIGxpa2VseSBtZWFucyB0aGV5JiMzOTtyZSBhaW1pbmcgZm9yIGEgbW9yZSBmaW5lLWdyYWluZWQgbG9ja2luZyBtZWNoYW5pc20gb3IgdHJ5aW5nIHRvIGF2b2lkIHNvbWUgcG90ZW50aWFsIGNvbnRlbnRpb24gaXNzdWVzLiBUaGUgZXJyb3IgaGFuZGxpbmcgY2hhbmdlIGlzIGltcG9ydGFudCB0b287IHVzaW5nIGBoYW5kbGVfZmF1bHRfZXJyb3Jfbm9sb2NrYCBpbnN0ZWFkIG9mIHRoZSBsb2NrZWQgdmVyc2lvbiB3aGVuIGBsb2NrX21tX2FuZF9maW5kX3ZtYWAgZmFpbHMuIFRoaXMgaXMgYmVjYXVzZSBgbG9ja19tbV9hbmRfZmluZF92bWFgIGRvZXNuJiMzOTt0IGhvbGQgdGhlIGxvY2sgaWYgaXQgcmV0dXJucyBgTlVMTGAuIFRoaXMgZXJyb3IgcGF0aCBpcyB0aGUga2V5IHRvIHVuZGVyc3RhbmQgaWYgdGhlcmUgaXMgYSByYWNlIGNvbmRpdGlvbi4KCk5vdywgYSBjcml0aWNhbCBxdWVzdGlvbiBhcmlzZXM6IGlzIHRoaXMgY29kZSBwYXRoIGV2ZW4gKnJlYWNoYWJsZSogaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudD8gYGRvX3NlY3VyZV9zdG9yYWdlX2FjY2Vzc2AgaXMsIGFmdGVyIGFsbCwgdmVyeSBzcGVjaWZpYyB0byB0aGUgczM5MCBhcmNoaXRlY3R1cmUuIE15IGZpcnN0IHRob3VnaHQgaXMgdGhhdCBzeXprYWxsZXIgcHJvYmFibHkgaXNuJiMzOTt0IGNvbmZpZ3VyZWQgdG8gcnVuIG9uIHMzOTAgYnkgZGVmYXVsdCwgYnV0IGl0ICpjb3VsZCogYmUuIEkgbmVlZCB0byBrZWVwIGluIG1pbmQgdGhhdCB0aGUgJiMzNDtzMzkwJiMzNDsgaXMgYW4gYXJjaGl0ZWN0dXJlLgoKVWx0aW1hdGVseSwgaXMgaXQgd29ydGggdGhlIGVmZm9ydCB0byBjb25zaWRlciBmdXp6aW5nIHRoaXMgYXJlYT8gWWVzLCB3aXRob3V0IHF1ZXN0aW9uLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgZGVlcCB3aXRoaW4gdGhlIGFyY2hpdGVjdHVyZS1zcGVjaWZpYyBtZW1vcnkgbWFuYWdlbWVudCBjb2RlLiBFdmVuIGlmIGl0IHJlcXVpcmVzIHNvbWUgZXh0cmEgc2V0dXAgdG8gcnVuIHN5emthbGxlciBvbiBzMzkwLCB0aGUgcG90ZW50aWFsIGZvciBkaXNjb3ZlcmluZyBjcml0aWNhbCBtZW1vcnkgYWNjZXNzIGJ1Z3MgcmVsYXRlZCB0byB0aGlzIGxvY2tpbmcgY2hhbmdlIGlzIHNpZ25pZmljYW50LiBJIG5lZWQgdG8gZ28gYmFjayBhbmQgdGFrZSBhIGNsb3NlciBsb29rIGF0IGBkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3NgIGl0c2VsZiB3aXRoaW4gYGFyY2gvczM5MC9tbS9mYXVsdC5jYCB0byBzZWUgaG93IGl0IGNhbiBiZSBhZmZlY3RlZC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNyAxNzoxOTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3MmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDthcmNoL3MzOTAvbW0vZmF1bHQuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDthcmNoL3MzOTAvbW0vZmF1bHQuYz00MDQ9Tk9LUFJPQkVfU1lNQk9MKGRvX2RhdF9leGNlcHRpb24pO1xuLS1cbmFyY2gvczM5MC9tbS9mYXVsdC5jLTQwNy1cbmFyY2gvczM5MC9tbS9mYXVsdC5jOjQwODp2b2lkIGRvX3NlY3VyZV9zdG9yYWdlX2FjY2VzcyhzdHJ1Y3QgcHRfcmVncyAqcmVncylcbmFyY2gvczM5MC9tbS9mYXVsdC5jLTQwOS17XG4tLVxuYXJjaC9zMzkwL21tL2ZhdWx0LmMtNDc2LX1cbmFyY2gvczM5MC9tbS9mYXVsdC5jOjQ3NzpOT0tQUk9CRV9TWU1CT0woZG9fc2VjdXJlX3N0b3JhZ2VfYWNjZXNzKTtcbmFyY2gvczM5MC9tbS9mYXVsdC5jLTQ3OC1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNyAxNzoxOTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyODAxCgkJCQkJCQlvdXRwdXQ6IDQxCgkJCQkJCQl0aG91Z2h0czogMjkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgaW50ZXJwcmV0YXRpb24gb2YgdGhhdCB0aG91Z2h0IHByb2Nlc3MsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2UsIGFuZCB3cml0dGVuIGluIHRoZSBmaXJzdCBwZXJzb246CgoqKkRpdmluZyBpbnRvIGBkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3NgIGluIHMzOTAgRmF1bHQgSGFuZGxpbmcqKgoKQWxyaWdodCwgbXkgaW50ZXJuYWwgcmV2aWV3IGhhcyBsZWQgbWUgdG8gZm9jdXMgb24gYGRvX3NlY3VyZV9zdG9yYWdlX2FjY2Vzc2Agd2l0aGluIGBhcmNoL3MzOTAvbW0vZmF1bHQuY2AuIEkga25vdyB0aGlzIGlzIGEgY3JpdGljYWwgc3BvdCBmb3IgaGFuZGxpbmcgbWVtb3J5IGFjY2VzcyBpc3N1ZXMsIHBhcnRpY3VsYXJseSB0aG9zZSByZWxhdGVkIHRvIHNlY3VyZSBzdG9yYWdlIG9uIHRoZSBzMzkwIGFyY2hpdGVjdHVyZS4gR2l2ZW4gdGhlIGNvbnRleHQgb2Ygd2hhdCBJJiMzOTt2ZSBiZWVuIGludmVzdGlnYXRpbmcsIHVuZGVyc3RhbmRpbmcgcHJlY2lzZWx5IGhvdyB0aGlzIGZ1bmN0aW9uIHdvcmtzIGlzIGdvaW5nIHRvIGJlIGtleS4gSSBuZWVkIHRvIHJlZnJlc2ggbXkgdW5kZXJzdGFuZGluZyBvZiBob3cgZmF1bHQgaGFuZGxpbmcgaW50ZXJhY3RzIHdpdGggdGhlIHNlY3VyZSBzdG9yYWdlIG1lY2hhbmlzbXMgb24gdGhlIHBsYXRmb3JtLiBTcGVjaWZpY2FsbHksIEkmIzM5O20gZ29pbmcgdG8gbG9vayBhdCBob3cgaXQgZGVhbHMgd2l0aCBwYWdlIGZhdWx0cyByZWxhdGVkIHRvIHByb3RlY3RlZCBtZW1vcnkgcmVnaW9ucywgcG90ZW50aWFsIHBlcm1pc3Npb24gdmlvbGF0aW9ucywgYW5kIGFueSByZWxhdGVkIHNlY3VyaXR5IGNoZWNrcyBwZXJmb3JtZWQuIEkgc3VzcGVjdCBJIG5lZWQgdG8gcGF5IGNsb3NlIGF0dGVudGlvbiB0byB0aGUgaW50ZXJhY3Rpb24gd2l0aCB0aGUgaGFyZHdhcmUmIzM5O3Mgc3RvcmFnZSBrZXkgZmFjaWxpdGllcyBhcyB3ZWxsLiBNeSBnb2FsIGlzIHRvIGdyYXNwIGhvdyB0aGVzZSBhY2Nlc3MgY29udHJvbCBtZWNoYW5pc21zIHByZXZlbnQgdW5hdXRob3JpemVkIGRhdGEgYWNjZXNzIGFuZCBob3cgdGhlIGtlcm5lbCBoYW5kbGVzIHRoZXNlIHNpdHVhdGlvbnMuIFRoaXMgaXMgYW4gZXNzZW50aWFsIHN0ZXAgaW4gd2hhdGV2ZXIgaXNzdWUgb3IgaW1wcm92ZW1lbnQgSSYjMzk7bSB3b3JraW5nIG9uIHJpZ2h0IG5vdy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNyAxNzoxOTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnJlYWQtZmlsZTwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RmlsZSYjMzQ7OiAmIzM0O2FyY2gvczM5MC9tbS9mYXVsdC5jJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogNDAwLAogICYjMzQ7TGluZUNvdW50JiMzNDs6IDEwMAp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7Q29udGVudHMmIzM0OzogJiMzNDsgNDAwOlx0dm9pZCBkb19kYXRfZXhjZXB0aW9uKHN0cnVjdCBwdF9yZWdzICpyZWdzKVxuIDQwMTpcdHtcbiA0MDI6XHRcdGRvX2V4Y2VwdGlvbihyZWdzLCBWTV9BQ0NFU1NfRkxBR1MpO1xuIDQwMzpcdH1cbiA0MDQ6XHROT0tQUk9CRV9TWU1CT0woZG9fZGF0X2V4Y2VwdGlvbik7XG4gNDA1Olx0XG4gNDA2Olx0I2lmIElTX0VOQUJMRUQoQ09ORklHX0tWTSlcbiA0MDc6XHRcbiA0MDg6XHR2b2lkIGRvX3NlY3VyZV9zdG9yYWdlX2FjY2VzcyhzdHJ1Y3QgcHRfcmVncyAqcmVncylcbiA0MDk6XHR7XG4gNDEwOlx0XHR1bmlvbiB0ZWlkIHRlaWQgPSB7IC52YWwgPSByZWdzLVx1MDAzZWludF9wYXJtX2xvbmcgfTtcbiA0MTE6XHRcdHVuc2lnbmVkIGxvbmcgYWRkciA9IGdldF9mYXVsdF9hZGRyZXNzKHJlZ3MpO1xuIDQxMjpcdFx0c3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWE7XG4gNDEzOlx0XHRzdHJ1Y3QgZm9saW9fd2FsayBmdztcbiA0MTQ6XHRcdHN0cnVjdCBtbV9zdHJ1Y3QgKm1tO1xuIDQxNTpcdFx0c3RydWN0IGZvbGlvICpmb2xpbztcbiA0MTY6XHRcdGludCByYztcbiA0MTc6XHRcbiA0MTg6XHRcdC8qXG4gNDE5Olx0XHQgKiBCaXQgNjEgaW5kaWNhdGVzIGlmIHRoZSBhZGRyZXNzIGlzIHZhbGlkLCBpZiBpdCBpcyBub3QgdGhlXG4gNDIwOlx0XHQgKiBrZXJuZWwgc2hvdWxkIGJlIHN0b3BwZWQgb3IgU0lHU0VHViBzaG91bGQgYmUgc2VudCB0byB0aGVcbiA0MjE6XHRcdCAqIHByb2Nlc3MuIEJpdCA2MSBpcyBub3QgcmVsaWFibGUgd2l0aG91dCB0aGUgbWlzYyBVViBmZWF0dXJlLFxuIDQyMjpcdFx0ICogdGhlcmVmb3JlIHRoaXMgbmVlZHMgdG8gYmUgY2hlY2tlZCB0b28uXG4gNDIzOlx0XHQgKi9cbiA0MjQ6XHRcdGlmICh1dl9oYXNfZmVhdHVyZShCSVRfVVZfRkVBVF9NSVNDKSBcdTAwMjZcdTAwMjYgIXRlaWQuYjYxKSB7XG4gNDI1Olx0XHRcdC8qXG4gNDI2Olx0XHRcdCAqIFdoZW4gdGhpcyBoYXBwZW5zLCB1c2Vyc3BhY2UgZGlkIHNvbWV0aGluZyB0aGF0IGl0XG4gNDI3Olx0XHRcdCAqIHdhcyBub3Qgc3VwcG9zZWQgdG8gZG8sIGUuZy4gYnJhbmNoaW5nIGludG8gc2VjdXJlXG4gNDI4Olx0XHRcdCAqIG1lbW9yeS4gVHJpZ2dlciBhIHNlZ21lbnRhdGlvbiBmYXVsdC5cbiA0Mjk6XHRcdFx0ICovXG4gNDMwOlx0XHRcdGlmICh1c2VyX21vZGUocmVncykpIHtcbiA0MzE6XHRcdFx0XHRzZW5kX3NpZyhTSUdTRUdWLCBjdXJyZW50LCAwKTtcbiA0MzI6XHRcdFx0XHRyZXR1cm47XG4gNDMzOlx0XHRcdH1cbiA0MzQ6XHRcdFx0LypcbiA0MzU6XHRcdFx0ICogVGhlIGtlcm5lbCBzaG91bGQgbmV2ZXIgcnVuIGludG8gdGhpcyBjYXNlIGFuZFxuIDQzNjpcdFx0XHQgKiB0aGVyZSBpcyBubyB3YXkgb3V0IG9mIHRoaXMgc2l0dWF0aW9uLlxuIDQzNzpcdFx0XHQgKi9cbiA0Mzg6XHRcdFx0cGFuaWMoXCYjMzQ7VW5leHBlY3RlZCBQR00gMHgzZCB3aXRoIFRFSUQgYml0IDYxPTBcJiMzNDspO1xuIDQzOTpcdFx0fVxuIDQ0MDpcdFx0aWYgKGlzX2tlcm5lbF9mYXVsdChyZWdzKSkge1xuIDQ0MTpcdFx0XHRmb2xpbyA9IHZpcnRfdG9fZm9saW8oKHZvaWQgKilhZGRyKTtcbiA0NDI6XHRcdFx0aWYgKHVubGlrZWx5KCFmb2xpb190cnlfZ2V0KGZvbGlvKSkpXG4gNDQzOlx0XHRcdFx0cmV0dXJuO1xuIDQ0NDpcdFx0XHRyYyA9IHV2X2NvbnZlcnRfZnJvbV9zZWN1cmUoZm9saW9fdG9fcGh5cyhmb2xpbykpO1xuIDQ0NTpcdFx0XHRpZiAoIXJjKVxuIDQ0NjpcdFx0XHRcdGNsZWFyX2JpdChQR19hcmNoXzEsIFx1MDAyNmZvbGlvLVx1MDAzZWZsYWdzLmYpO1xuIDQ0NzpcdFx0XHRmb2xpb19wdXQoZm9saW8pO1xuIDQ0ODpcdFx0XHQvKlxuIDQ0OTpcdFx0XHQgKiBUaGVyZSBhcmUgc29tZSB2YWxpZCBmaXh1cCB0eXBlcyBmb3Iga2VybmVsXG4gNDUwOlx0XHRcdCAqIGFjY2Vzc2VzIHRvIGRvbmF0ZWQgc2VjdXJlIG1lbW9yeS4gemVyb3BhZCBpcyBvbmVcbiA0NTE6XHRcdFx0ICogb2YgdGhlbS5cbiA0NTI6XHRcdFx0ICovXG4gNDUzOlx0XHRcdGlmIChyYylcbiA0NTQ6XHRcdFx0XHRyZXR1cm4gaGFuZGxlX2ZhdWx0X2Vycm9yX25vbG9jayhyZWdzLCAwKTtcbiA0NTU6XHRcdH0gZWxzZSB7XG4gNDU2Olx0XHRcdGlmIChmYXVsdGhhbmRsZXJfZGlzYWJsZWQoKSlcbiA0NTc6XHRcdFx0XHRyZXR1cm4gaGFuZGxlX2ZhdWx0X2Vycm9yX25vbG9jayhyZWdzLCAwKTtcbiA0NTg6XHRcdFx0bW0gPSBjdXJyZW50LVx1MDAzZW1tO1xuIDQ1OTpcdFx0XHR2bWEgPSBsb2NrX21tX2FuZF9maW5kX3ZtYShtbSwgYWRkciwgcmVncyk7XG4gNDYwOlx0XHRcdGlmICghdm1hKVxuIDQ2MTpcdFx0XHRcdHJldHVybiBoYW5kbGVfZmF1bHRfZXJyb3Jfbm9sb2NrKHJlZ3MsIFNFR1ZfTUFQRVJSKTtcbiA0NjI6XHRcdFx0Zm9saW8gPSBmb2xpb193YWxrX3N0YXJ0KFx1MDAyNmZ3LCB2bWEsIGFkZHIsIDApO1xuIDQ2MzpcdFx0XHRpZiAoIWZvbGlvKSB7XG4gNDY0Olx0XHRcdFx0bW1hcF9yZWFkX3VubG9jayhtbSk7XG4gNDY1Olx0XHRcdFx0cmV0dXJuO1xuIDQ2NjpcdFx0XHR9XG4gNDY3Olx0XHRcdC8qIGFyY2hfbWFrZV9mb2xpb19hY2Nlc3NpYmxlKCkgbmVlZHMgYSByYWlzZWQgcmVmY291bnQuICovXG4gNDY4Olx0XHRcdGZvbGlvX2dldChmb2xpbyk7XG4gNDY5Olx0XHRcdHJjID0gYXJjaF9tYWtlX2ZvbGlvX2FjY2Vzc2libGUoZm9saW8pO1xuIDQ3MDpcdFx0XHRmb2xpb19wdXQoZm9saW8pO1xuIDQ3MTpcdFx0XHRmb2xpb193YWxrX2VuZChcdTAwMjZmdywgdm1hKTtcbiA0NzI6XHRcdFx0aWYgKHJjKVxuIDQ3MzpcdFx0XHRcdHNlbmRfc2lnKFNJR1NFR1YsIGN1cnJlbnQsIDApO1xuIDQ3NDpcdFx0XHRtbWFwX3JlYWRfdW5sb2NrKG1tKTtcbiA0NzU6XHRcdH1cbiA0NzY6XHR9XG4gNDc3Olx0Tk9LUFJPQkVfU1lNQk9MKGRvX3NlY3VyZV9zdG9yYWdlX2FjY2Vzcyk7XG4gNDc4Olx0XG4gNDc5Olx0I2VuZGlmIC8qIENPTkZJR19LVk0gKi9cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD43LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNyAxNzoxOTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0MzU1CgkJCQkJCQlvdXRwdXQ6IDExNwoJCQkJCQkJdGhvdWdodHM6IDEzOQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipGdXp6aW5nIFRhcmdldCBJZGVudGlmaWNhdGlvbioqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBjb2RlIGFuZCBpbW1lZGlhdGVseSBzZWUgdGhhdCB0aGUgYGRvX3NlY3VyZV9zdG9yYWdlX2FjY2Vzc2AgZnVuY3Rpb24gaGFzIGEgYCNpZiBJU19FTkFCTEVEKENPTkZJR19LVk0pYCB3cmFwcGVyLiBUaGF0JiMzOTtzIGEgcHJldHR5IGNsZWFyIGluZGljYXRvcjogdGhpcyBmdW5jdGlvbmFsaXR5IGlzIGRlcGVuZGVudCBvbiB0aGUgS2VybmVsLWJhc2VkIFZpcnR1YWwgTWFjaGluZSwgb3IgYEtWTWAuIFNpbmNlIGl0JiMzOTtzIGNvbmRpdGlvbmFsLCB0aGF0IGltcGxpZXMgYSBzcGVjaWZpYyBleGVjdXRpb24gcGF0aCB3aGVuIEtWTSBpcyBlbmFibGVkLCBhbmQgYSBzZXBhcmF0ZSBvbmUgd2hlbiBpdCYjMzk7cyBub3QuIFRoYXQgbWFrZXMgaXQgYSBnb29kIGNhbmRpZGF0ZSBmb3IgZnV6emluZywgZ2l2ZW4gdGhhdCBwYXRoIGRpdmVyZ2VuY2UuIExvb2tpbmcgaW50byB0aGUgZGV0YWlscyBvZiB0aGUgZnVuY3Rpb24sIGl0IHNlZW1zIGxpa2UgaXQgbW9kaWZpZXMgbG9jayBhY3F1aXNpdGlvbiBhbmQgZXJyb3IgaGFuZGxpbmcsIG1ha2luZyBpdCBldmVuIG1vcmUgaW50ZXJlc3RpbmcgZnJvbSBhIHNlY3VyaXR5IHBlcnNwZWN0aXZlLiBJdCBkZWZpbml0ZWx5IHdhcnJhbnRzIGEgY2xvc2VyIGxvb2sgdW5kZXIgdGhlIG1pY3Jvc2NvcGUgb2YgZnV6emluZy4KCk5vdywgbGV0IG1lIGp1c3QgcXVpY2tseSBkb3VibGUtY2hlY2sgZm9yIGFueSBvdGhlciBwb3RlbnRpYWxseSByZWxldmFudCBjb25maWd1cmF0aW9ucy4gQmFzZWQgb24gdGhlIGRvY3VtZW50YXRpb24gdGhlIGBhcmNoL3MzOTAvbW0vZmF1bHQuY2AgZmlsZSBoYXMgYSBzaW1pbGFyIHByb2ZpbGUgYXMgYGRvX3NlY3VyZV9zdG9yYWdlX2FjY2Vzc2AuIEl0JiMzOTtzIGNvbXBpbGVkIHNwZWNpZmljYWxseSBmb3IgdGhlIHMzOTAgYXJjaGl0ZWN0dXJlLCB3aGljaCBhbHNvIGlzIHdvcnRoIGZ1enppbmcuCgpBbHJpZ2h0LCB3aXRoIHRoZXNlIHR3byB0YXJnZXRzIGlkZW50aWZpZWQsIEkmIzM5O20gZ29pbmcgdG8gc2V0IHRoZXNlIHJlc3VsdHMgYW5kIHByb2NlZWQgd2l0aCBmdXJ0aGVyIGFuYWx5c2lzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE3IDE3OjE5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtLVk0mIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3MmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIHBhZ2UgZmF1bHQgaGFuZGxpbmcgZm9yIHNlY3VyZSBzdG9yYWdlIGFjY2VzcyBvbiBzMzkwIChkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3MpLiBJdCBjaGFuZ2VzIGhvdyB0aGUgbW1hcCBsb2NrIGlzIGFjcXVpcmVkIGFuZCBob3cgZXJyb3JzIGFyZSBoYW5kbGVkIHdoZW4gYSBWTUEgaXMgbm90IGZvdW5kLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gY29yZSBhcmNoaXRlY3R1cmUgY29kZSBhbmQgc2hvdWxkIGJlIGZ1enplZC4gVGhlIGNvZGUgaXMgZ3VhcmRlZCBieSBDT05GSUdfS1ZNLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtLVk0mIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3MmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIHBhZ2UgZmF1bHQgaGFuZGxpbmcgZm9yIHNlY3VyZSBzdG9yYWdlIGFjY2VzcyBvbiBzMzkwIChkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3MpLiBJdCBjaGFuZ2VzIGhvdyB0aGUgbW1hcCBsb2NrIGlzIGFjcXVpcmVkIGFuZCBob3cgZXJyb3JzIGFyZSBoYW5kbGVkIHdoZW4gYSBWTUEgaXMgbm90IGZvdW5kLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gY29yZSBhcmNoaXRlY3R1cmUgY29kZSBhbmQgc2hvdWxkIGJlIGZ1enplZC4gVGhlIGNvZGUgaXMgZ3VhcmRlZCBieSBDT05GSUdfS1ZNLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMTdUMTc6MTk6MjYuNjM3NTczODUxWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTY5ODg0MDY3ODIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiS1ZNXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiZG9fc2VjdXJlX3N0b3JhZ2VfYWNjZXNzXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIHBhZ2UgZmF1bHQgaGFuZGxpbmcgZm9yIHNlY3VyZSBzdG9yYWdlIGFjY2VzcyBvbiBzMzkwIChkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3MpLiBJdCBjaGFuZ2VzIGhvdyB0aGUgbW1hcCBsb2NrIGlzIGFjcXVpcmVkIGFuZCBob3cgZXJyb3JzIGFyZSBoYW5kbGVkIHdoZW4gYSBWTUEgaXMgbm90IGZvdW5kLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gY29yZSBhcmNoaXRlY3R1cmUgY29kZSBhbmQgc2hvdWxkIGJlIGZ1enplZC4gVGhlIGNvZGUgaXMgZ3VhcmRlZCBieSBDT05GSUdfS1ZNLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xN1QxNzoxOToyNi42Mzc1ODEyOTFaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjU2MDM4MjE5NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IDYxODU0YjMzNjBhZTU4MTA5MzRjNDY5NGRkNTg1NjUzNWRiZWRiYmRcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIEZyaSBKdWwgMTcgMTc6MTk6MjUgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL21tL2ZhdWx0LmMgYi9hcmNoL3MzOTAvbW0vZmF1bHQuY1xcbmluZGV4IDAyOGFlYjljNDhkNmZmLi5kNmM1OGQ3OGVkYzVhZiAxMDA2NDRcXG4tLS0gYS9hcmNoL3MzOTAvbW0vZmF1bHQuY1xcbisrKyBiL2FyY2gvczM5MC9tbS9mYXVsdC5jXFxuQEAgLTQ1NiwxMCArNDU2LDkgQEAgdm9pZCBkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3Moc3RydWN0IHB0X3JlZ3MgKnJlZ3MpXFxuIFxcdFxcdGlmIChmYXVsdGhhbmRsZXJfZGlzYWJsZWQoKSlcXG4gXFx0XFx0XFx0cmV0dXJuIGhhbmRsZV9mYXVsdF9lcnJvcl9ub2xvY2socmVncywgMCk7XFxuIFxcdFxcdG1tID0gY3VycmVudC1cXHUwMDNlbW07XFxuLVxcdFxcdG1tYXBfcmVhZF9sb2NrKG1tKTtcXG4tXFx0XFx0dm1hID0gZmluZF92bWEobW0sIGFkZHIpO1xcbitcXHRcXHR2bWEgPSBsb2NrX21tX2FuZF9maW5kX3ZtYShtbSwgYWRkciwgcmVncyk7XFxuIFxcdFxcdGlmICghdm1hKVxcbi1cXHRcXHRcXHRyZXR1cm4gaGFuZGxlX2ZhdWx0X2Vycm9yKHJlZ3MsIFNFR1ZfTUFQRVJSKTtcXG4rXFx0XFx0XFx0cmV0dXJuIGhhbmRsZV9mYXVsdF9lcnJvcl9ub2xvY2socmVncywgU0VHVl9NQVBFUlIpO1xcbiBcXHRcXHRmb2xpbyA9IGZvbGlvX3dhbGtfc3RhcnQoXFx1MDAyNmZ3LCB2bWEsIGFkZHIsIDApO1xcbiBcXHRcXHRpZiAoIWZvbGlvKSB7XFxuIFxcdFxcdFxcdG1tYXBfcmVhZF91bmxvY2sobW0pO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xN1QxNzoxOToyNy4xOTg5NTU5NjhaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE2NDI3MDE1ODc0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIktWTVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImRvX3NlY3VyZV9zdG9yYWdlX2FjY2Vzc1wiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBwYWdlIGZhdWx0IGhhbmRsaW5nIGZvciBzZWN1cmUgc3RvcmFnZSBhY2Nlc3Mgb24gczM5MCAoZG9fc2VjdXJlX3N0b3JhZ2VfYWNjZXNzKS4gSXQgY2hhbmdlcyBob3cgdGhlIG1tYXAgbG9jayBpcyBhY3F1aXJlZCBhbmQgaG93IGVycm9ycyBhcmUgaGFuZGxlZCB3aGVuIGEgVk1BIGlzIG5vdCBmb3VuZC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGNvcmUgYXJjaGl0ZWN0dXJlIGNvZGUgYW5kIHNob3VsZCBiZSBmdXp6ZWQuIFRoZSBjb2RlIGlzIGd1YXJkZWQgYnkgQ09ORklHX0tWTS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCA2MTg1NGIzMzYwYWU1ODEwOTM0YzQ2OTRkZDU4NTY1MzVkYmVkYmJkXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIEZyaSBKdWwgMTcgMTc6MTk6MjUgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9hcmNoL3MzOTAvbW0vZmF1bHQuYyBiL2FyY2gvczM5MC9tbS9mYXVsdC5jXG5pbmRleCAwMjhhZWI5YzQ4ZDZmZi4uZDZjNThkNzhlZGM1YWYgMTAwNjQ0XG4tLS0gYS9hcmNoL3MzOTAvbW0vZmF1bHQuY1xuKysrIGIvYXJjaC9zMzkwL21tL2ZhdWx0LmNcbkBAIC00NTYsMTAgKzQ1Niw5IEBAIHZvaWQgZG9fc2VjdXJlX3N0b3JhZ2VfYWNjZXNzKHN0cnVjdCBwdF9yZWdzICpyZWdzKVxuIFx0XHRpZiAoZmF1bHRoYW5kbGVyX2Rpc2FibGVkKCkpXG4gXHRcdFx0cmV0dXJuIGhhbmRsZV9mYXVsdF9lcnJvcl9ub2xvY2socmVncywgMCk7XG4gXHRcdG1tID0gY3VycmVudC1cdTAwM2VtbTtcbi1cdFx0bW1hcF9yZWFkX2xvY2sobW0pO1xuLVx0XHR2bWEgPSBmaW5kX3ZtYShtbSwgYWRkcik7XG4rXHRcdHZtYSA9IGxvY2tfbW1fYW5kX2ZpbmRfdm1hKG1tLCBhZGRyLCByZWdzKTtcbiBcdFx0aWYgKCF2bWEpXG4tXHRcdFx0cmV0dXJuIGhhbmRsZV9mYXVsdF9lcnJvcihyZWdzLCBTRUdWX01BUEVSUik7XG4rXHRcdFx0cmV0dXJuIGhhbmRsZV9mYXVsdF9lcnJvcl9ub2xvY2socmVncywgU0VHVl9NQVBFUlIpO1xuIFx0XHRmb2xpbyA9IGZvbGlvX3dhbGtfc3RhcnQoXHUwMDI2ZncsIHZtYSwgYWRkciwgMCk7XG4gXHRcdGlmICghZm9saW8pIHtcbiBcdFx0XHRtbWFwX3JlYWRfdW5sb2NrKG1tKTtcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDE3OjE5OjI3LjE5ODk3Mzk0OFoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjYxMDE1MTI4MDUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIGEgUGF0Y2ggdG8gczM5MCBNZW1vcnkgTWFuYWdlbWVudCoqXG5cbk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgdG91Y2hpbmcgYGFyY2gvczM5MC9tbS9mYXVsdC5jYC4gUmlnaHQgYXdheSwgSSBzZWUgdGhhdCBpdCdzIGNoYW5naW5nIHRoZSBsb2NraW5nIHN0cmF0ZWd5IHdpdGhpbiBgZG9fc2VjdXJlX3N0b3JhZ2VfYWNjZXNzYC4gSXQncyBtb3ZpbmcgZnJvbSB0aGUgb2xkZXIgYG1tYXBfcmVhZF9sb2NrYCBhbmQgYGZpbmRfdm1hYCBhcHByb2FjaCB0byB1c2luZyBgbG9ja19tbV9hbmRfZmluZF92bWFgLiBUaGF0J3MgaW50ZXJlc3RpbmcsIGFuZCBsaWtlbHkgbWVhbnMgdGhleSdyZSBhaW1pbmcgZm9yIGEgbW9yZSBmaW5lLWdyYWluZWQgbG9ja2luZyBtZWNoYW5pc20gb3IgdHJ5aW5nIHRvIGF2b2lkIHNvbWUgcG90ZW50aWFsIGNvbnRlbnRpb24gaXNzdWVzLiBUaGUgZXJyb3IgaGFuZGxpbmcgY2hhbmdlIGlzIGltcG9ydGFudCB0b287IHVzaW5nIGBoYW5kbGVfZmF1bHRfZXJyb3Jfbm9sb2NrYCBpbnN0ZWFkIG9mIHRoZSBsb2NrZWQgdmVyc2lvbiB3aGVuIGBsb2NrX21tX2FuZF9maW5kX3ZtYWAgZmFpbHMuIFRoaXMgaXMgYmVjYXVzZSBgbG9ja19tbV9hbmRfZmluZF92bWFgIGRvZXNuJ3QgaG9sZCB0aGUgbG9jayBpZiBpdCByZXR1cm5zIGBOVUxMYC4gVGhpcyBlcnJvciBwYXRoIGlzIHRoZSBrZXkgdG8gdW5kZXJzdGFuZCBpZiB0aGVyZSBpcyBhIHJhY2UgY29uZGl0aW9uLlxuXG5Ob3csIGEgY3JpdGljYWwgcXVlc3Rpb24gYXJpc2VzOiBpcyB0aGlzIGNvZGUgcGF0aCBldmVuICpyZWFjaGFibGUqIGluIGEgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQ/IGBkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3NgIGlzLCBhZnRlciBhbGwsIHZlcnkgc3BlY2lmaWMgdG8gdGhlIHMzOTAgYXJjaGl0ZWN0dXJlLiBNeSBmaXJzdCB0aG91Z2h0IGlzIHRoYXQgc3l6a2FsbGVyIHByb2JhYmx5IGlzbid0IGNvbmZpZ3VyZWQgdG8gcnVuIG9uIHMzOTAgYnkgZGVmYXVsdCwgYnV0IGl0ICpjb3VsZCogYmUuIEkgbmVlZCB0byBrZWVwIGluIG1pbmQgdGhhdCB0aGUgXCJzMzkwXCIgaXMgYW4gYXJjaGl0ZWN0dXJlLlxuXG5VbHRpbWF0ZWx5LCBpcyBpdCB3b3J0aCB0aGUgZWZmb3J0IHRvIGNvbnNpZGVyIGZ1enppbmcgdGhpcyBhcmVhPyBZZXMsIHdpdGhvdXQgcXVlc3Rpb24uIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBkZWVwIHdpdGhpbiB0aGUgYXJjaGl0ZWN0dXJlLXNwZWNpZmljIG1lbW9yeSBtYW5hZ2VtZW50IGNvZGUuIEV2ZW4gaWYgaXQgcmVxdWlyZXMgc29tZSBleHRyYSBzZXR1cCB0byBydW4gc3l6a2FsbGVyIG9uIHMzOTAsIHRoZSBwb3RlbnRpYWwgZm9yIGRpc2NvdmVyaW5nIGNyaXRpY2FsIG1lbW9yeSBhY2Nlc3MgYnVncyByZWxhdGVkIHRvIHRoaXMgbG9ja2luZyBjaGFuZ2UgaXMgc2lnbmlmaWNhbnQuIEkgbmVlZCB0byBnbyBiYWNrIGFuZCB0YWtlIGEgY2xvc2VyIGxvb2sgYXQgYGRvX3NlY3VyZV9zdG9yYWdlX2FjY2Vzc2AgaXRzZWxmIHdpdGhpbiBgYXJjaC9zMzkwL21tL2ZhdWx0LmNgIHRvIHNlZSBob3cgaXQgY2FuIGJlIGFmZmVjdGVkLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxOTMxLCJPdXRwdXRUb2tlbnMiOjM5LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjMzLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTdUMTc6MTk6MzMuMzAwNDg5NDIzWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEwNzE2ODIxNCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3NcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiYXJjaC9zMzkwL21tL2ZhdWx0LmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiYXJjaC9zMzkwL21tL2ZhdWx0LmM9NDA0PU5PS1BST0JFX1NZTUJPTChkb19kYXRfZXhjZXB0aW9uKTtcXG4tLVxcbmFyY2gvczM5MC9tbS9mYXVsdC5jLTQwNy1cXG5hcmNoL3MzOTAvbW0vZmF1bHQuYzo0MDg6dm9pZCBkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3Moc3RydWN0IHB0X3JlZ3MgKnJlZ3MpXFxuYXJjaC9zMzkwL21tL2ZhdWx0LmMtNDA5LXtcXG4tLVxcbmFyY2gvczM5MC9tbS9mYXVsdC5jLTQ3Ni19XFxuYXJjaC9zMzkwL21tL2ZhdWx0LmM6NDc3Ok5PS1BST0JFX1NZTUJPTChkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3MpO1xcbmFyY2gvczM5MC9tbS9mYXVsdC5jLTQ3OC1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTdUMTc6MTk6MzMuNDA3NjYxOTA3WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDM4NTI2ODQ5NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IGludGVycHJldGF0aW9uIG9mIHRoYXQgdGhvdWdodCBwcm9jZXNzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlLCBhbmQgd3JpdHRlbiBpbiB0aGUgZmlyc3QgcGVyc29uOlxuXG4qKkRpdmluZyBpbnRvIGBkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3NgIGluIHMzOTAgRmF1bHQgSGFuZGxpbmcqKlxuXG5BbHJpZ2h0LCBteSBpbnRlcm5hbCByZXZpZXcgaGFzIGxlZCBtZSB0byBmb2N1cyBvbiBgZG9fc2VjdXJlX3N0b3JhZ2VfYWNjZXNzYCB3aXRoaW4gYGFyY2gvczM5MC9tbS9mYXVsdC5jYC4gSSBrbm93IHRoaXMgaXMgYSBjcml0aWNhbCBzcG90IGZvciBoYW5kbGluZyBtZW1vcnkgYWNjZXNzIGlzc3VlcywgcGFydGljdWxhcmx5IHRob3NlIHJlbGF0ZWQgdG8gc2VjdXJlIHN0b3JhZ2Ugb24gdGhlIHMzOTAgYXJjaGl0ZWN0dXJlLiBHaXZlbiB0aGUgY29udGV4dCBvZiB3aGF0IEkndmUgYmVlbiBpbnZlc3RpZ2F0aW5nLCB1bmRlcnN0YW5kaW5nIHByZWNpc2VseSBob3cgdGhpcyBmdW5jdGlvbiB3b3JrcyBpcyBnb2luZyB0byBiZSBrZXkuIEkgbmVlZCB0byByZWZyZXNoIG15IHVuZGVyc3RhbmRpbmcgb2YgaG93IGZhdWx0IGhhbmRsaW5nIGludGVyYWN0cyB3aXRoIHRoZSBzZWN1cmUgc3RvcmFnZSBtZWNoYW5pc21zIG9uIHRoZSBwbGF0Zm9ybS4gU3BlY2lmaWNhbGx5LCBJJ20gZ29pbmcgdG8gbG9vayBhdCBob3cgaXQgZGVhbHMgd2l0aCBwYWdlIGZhdWx0cyByZWxhdGVkIHRvIHByb3RlY3RlZCBtZW1vcnkgcmVnaW9ucywgcG90ZW50aWFsIHBlcm1pc3Npb24gdmlvbGF0aW9ucywgYW5kIGFueSByZWxhdGVkIHNlY3VyaXR5IGNoZWNrcyBwZXJmb3JtZWQuIEkgc3VzcGVjdCBJIG5lZWQgdG8gcGF5IGNsb3NlIGF0dGVudGlvbiB0byB0aGUgaW50ZXJhY3Rpb24gd2l0aCB0aGUgaGFyZHdhcmUncyBzdG9yYWdlIGtleSBmYWNpbGl0aWVzIGFzIHdlbGwuIE15IGdvYWwgaXMgdG8gZ3Jhc3AgaG93IHRoZXNlIGFjY2VzcyBjb250cm9sIG1lY2hhbmlzbXMgcHJldmVudCB1bmF1dGhvcml6ZWQgZGF0YSBhY2Nlc3MgYW5kIGhvdyB0aGUga2VybmVsIGhhbmRsZXMgdGhlc2Ugc2l0dWF0aW9ucy4gVGhpcyBpcyBhbiBlc3NlbnRpYWwgc3RlcCBpbiB3aGF0ZXZlciBpc3N1ZSBvciBpbXByb3ZlbWVudCBJJ20gd29ya2luZyBvbiByaWdodCBub3cuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI4MDEsIk91dHB1dFRva2VucyI6NDEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyOSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xN1QxNzoxOTozNy43OTI5MzI4NTJaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMTY0MjAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJGaWxlXCI6IFwiYXJjaC9zMzkwL21tL2ZhdWx0LmNcIixcbiAgXCJGaXJzdExpbmVcIjogNDAwLFxuICBcIkxpbmVDb3VudFwiOiAxMDBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiIDQwMDpcXHR2b2lkIGRvX2RhdF9leGNlcHRpb24oc3RydWN0IHB0X3JlZ3MgKnJlZ3MpXFxuIDQwMTpcXHR7XFxuIDQwMjpcXHRcXHRkb19leGNlcHRpb24ocmVncywgVk1fQUNDRVNTX0ZMQUdTKTtcXG4gNDAzOlxcdH1cXG4gNDA0OlxcdE5PS1BST0JFX1NZTUJPTChkb19kYXRfZXhjZXB0aW9uKTtcXG4gNDA1OlxcdFxcbiA0MDY6XFx0I2lmIElTX0VOQUJMRUQoQ09ORklHX0tWTSlcXG4gNDA3OlxcdFxcbiA0MDg6XFx0dm9pZCBkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3Moc3RydWN0IHB0X3JlZ3MgKnJlZ3MpXFxuIDQwOTpcXHR7XFxuIDQxMDpcXHRcXHR1bmlvbiB0ZWlkIHRlaWQgPSB7IC52YWwgPSByZWdzLVxcdTAwM2VpbnRfcGFybV9sb25nIH07XFxuIDQxMTpcXHRcXHR1bnNpZ25lZCBsb25nIGFkZHIgPSBnZXRfZmF1bHRfYWRkcmVzcyhyZWdzKTtcXG4gNDEyOlxcdFxcdHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hO1xcbiA0MTM6XFx0XFx0c3RydWN0IGZvbGlvX3dhbGsgZnc7XFxuIDQxNDpcXHRcXHRzdHJ1Y3QgbW1fc3RydWN0ICptbTtcXG4gNDE1OlxcdFxcdHN0cnVjdCBmb2xpbyAqZm9saW87XFxuIDQxNjpcXHRcXHRpbnQgcmM7XFxuIDQxNzpcXHRcXG4gNDE4OlxcdFxcdC8qXFxuIDQxOTpcXHRcXHQgKiBCaXQgNjEgaW5kaWNhdGVzIGlmIHRoZSBhZGRyZXNzIGlzIHZhbGlkLCBpZiBpdCBpcyBub3QgdGhlXFxuIDQyMDpcXHRcXHQgKiBrZXJuZWwgc2hvdWxkIGJlIHN0b3BwZWQgb3IgU0lHU0VHViBzaG91bGQgYmUgc2VudCB0byB0aGVcXG4gNDIxOlxcdFxcdCAqIHByb2Nlc3MuIEJpdCA2MSBpcyBub3QgcmVsaWFibGUgd2l0aG91dCB0aGUgbWlzYyBVViBmZWF0dXJlLFxcbiA0MjI6XFx0XFx0ICogdGhlcmVmb3JlIHRoaXMgbmVlZHMgdG8gYmUgY2hlY2tlZCB0b28uXFxuIDQyMzpcXHRcXHQgKi9cXG4gNDI0OlxcdFxcdGlmICh1dl9oYXNfZmVhdHVyZShCSVRfVVZfRkVBVF9NSVNDKSBcXHUwMDI2XFx1MDAyNiAhdGVpZC5iNjEpIHtcXG4gNDI1OlxcdFxcdFxcdC8qXFxuIDQyNjpcXHRcXHRcXHQgKiBXaGVuIHRoaXMgaGFwcGVucywgdXNlcnNwYWNlIGRpZCBzb21ldGhpbmcgdGhhdCBpdFxcbiA0Mjc6XFx0XFx0XFx0ICogd2FzIG5vdCBzdXBwb3NlZCB0byBkbywgZS5nLiBicmFuY2hpbmcgaW50byBzZWN1cmVcXG4gNDI4OlxcdFxcdFxcdCAqIG1lbW9yeS4gVHJpZ2dlciBhIHNlZ21lbnRhdGlvbiBmYXVsdC5cXG4gNDI5OlxcdFxcdFxcdCAqL1xcbiA0MzA6XFx0XFx0XFx0aWYgKHVzZXJfbW9kZShyZWdzKSkge1xcbiA0MzE6XFx0XFx0XFx0XFx0c2VuZF9zaWcoU0lHU0VHViwgY3VycmVudCwgMCk7XFxuIDQzMjpcXHRcXHRcXHRcXHRyZXR1cm47XFxuIDQzMzpcXHRcXHRcXHR9XFxuIDQzNDpcXHRcXHRcXHQvKlxcbiA0MzU6XFx0XFx0XFx0ICogVGhlIGtlcm5lbCBzaG91bGQgbmV2ZXIgcnVuIGludG8gdGhpcyBjYXNlIGFuZFxcbiA0MzY6XFx0XFx0XFx0ICogdGhlcmUgaXMgbm8gd2F5IG91dCBvZiB0aGlzIHNpdHVhdGlvbi5cXG4gNDM3OlxcdFxcdFxcdCAqL1xcbiA0Mzg6XFx0XFx0XFx0cGFuaWMoXFxcIlVuZXhwZWN0ZWQgUEdNIDB4M2Qgd2l0aCBURUlEIGJpdCA2MT0wXFxcIik7XFxuIDQzOTpcXHRcXHR9XFxuIDQ0MDpcXHRcXHRpZiAoaXNfa2VybmVsX2ZhdWx0KHJlZ3MpKSB7XFxuIDQ0MTpcXHRcXHRcXHRmb2xpbyA9IHZpcnRfdG9fZm9saW8oKHZvaWQgKilhZGRyKTtcXG4gNDQyOlxcdFxcdFxcdGlmICh1bmxpa2VseSghZm9saW9fdHJ5X2dldChmb2xpbykpKVxcbiA0NDM6XFx0XFx0XFx0XFx0cmV0dXJuO1xcbiA0NDQ6XFx0XFx0XFx0cmMgPSB1dl9jb252ZXJ0X2Zyb21fc2VjdXJlKGZvbGlvX3RvX3BoeXMoZm9saW8pKTtcXG4gNDQ1OlxcdFxcdFxcdGlmICghcmMpXFxuIDQ0NjpcXHRcXHRcXHRcXHRjbGVhcl9iaXQoUEdfYXJjaF8xLCBcXHUwMDI2Zm9saW8tXFx1MDAzZWZsYWdzLmYpO1xcbiA0NDc6XFx0XFx0XFx0Zm9saW9fcHV0KGZvbGlvKTtcXG4gNDQ4OlxcdFxcdFxcdC8qXFxuIDQ0OTpcXHRcXHRcXHQgKiBUaGVyZSBhcmUgc29tZSB2YWxpZCBmaXh1cCB0eXBlcyBmb3Iga2VybmVsXFxuIDQ1MDpcXHRcXHRcXHQgKiBhY2Nlc3NlcyB0byBkb25hdGVkIHNlY3VyZSBtZW1vcnkuIHplcm9wYWQgaXMgb25lXFxuIDQ1MTpcXHRcXHRcXHQgKiBvZiB0aGVtLlxcbiA0NTI6XFx0XFx0XFx0ICovXFxuIDQ1MzpcXHRcXHRcXHRpZiAocmMpXFxuIDQ1NDpcXHRcXHRcXHRcXHRyZXR1cm4gaGFuZGxlX2ZhdWx0X2Vycm9yX25vbG9jayhyZWdzLCAwKTtcXG4gNDU1OlxcdFxcdH0gZWxzZSB7XFxuIDQ1NjpcXHRcXHRcXHRpZiAoZmF1bHRoYW5kbGVyX2Rpc2FibGVkKCkpXFxuIDQ1NzpcXHRcXHRcXHRcXHRyZXR1cm4gaGFuZGxlX2ZhdWx0X2Vycm9yX25vbG9jayhyZWdzLCAwKTtcXG4gNDU4OlxcdFxcdFxcdG1tID0gY3VycmVudC1cXHUwMDNlbW07XFxuIDQ1OTpcXHRcXHRcXHR2bWEgPSBsb2NrX21tX2FuZF9maW5kX3ZtYShtbSwgYWRkciwgcmVncyk7XFxuIDQ2MDpcXHRcXHRcXHRpZiAoIXZtYSlcXG4gNDYxOlxcdFxcdFxcdFxcdHJldHVybiBoYW5kbGVfZmF1bHRfZXJyb3Jfbm9sb2NrKHJlZ3MsIFNFR1ZfTUFQRVJSKTtcXG4gNDYyOlxcdFxcdFxcdGZvbGlvID0gZm9saW9fd2Fsa19zdGFydChcXHUwMDI2ZncsIHZtYSwgYWRkciwgMCk7XFxuIDQ2MzpcXHRcXHRcXHRpZiAoIWZvbGlvKSB7XFxuIDQ2NDpcXHRcXHRcXHRcXHRtbWFwX3JlYWRfdW5sb2NrKG1tKTtcXG4gNDY1OlxcdFxcdFxcdFxcdHJldHVybjtcXG4gNDY2OlxcdFxcdFxcdH1cXG4gNDY3OlxcdFxcdFxcdC8qIGFyY2hfbWFrZV9mb2xpb19hY2Nlc3NpYmxlKCkgbmVlZHMgYSByYWlzZWQgcmVmY291bnQuICovXFxuIDQ2ODpcXHRcXHRcXHRmb2xpb19nZXQoZm9saW8pO1xcbiA0Njk6XFx0XFx0XFx0cmMgPSBhcmNoX21ha2VfZm9saW9fYWNjZXNzaWJsZShmb2xpbyk7XFxuIDQ3MDpcXHRcXHRcXHRmb2xpb19wdXQoZm9saW8pO1xcbiA0NzE6XFx0XFx0XFx0Zm9saW9fd2Fsa19lbmQoXFx1MDAyNmZ3LCB2bWEpO1xcbiA0NzI6XFx0XFx0XFx0aWYgKHJjKVxcbiA0NzM6XFx0XFx0XFx0XFx0c2VuZF9zaWcoU0lHU0VHViwgY3VycmVudCwgMCk7XFxuIDQ3NDpcXHRcXHRcXHRtbWFwX3JlYWRfdW5sb2NrKG1tKTtcXG4gNDc1OlxcdFxcdH1cXG4gNDc2OlxcdH1cXG4gNDc3OlxcdE5PS1BST0JFX1NZTUJPTChkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3MpO1xcbiA0Nzg6XFx0XFxuIDQ3OTpcXHQjZW5kaWYgLyogQ09ORklHX0tWTSAqL1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xN1QxNzoxOTozNy43OTMwNTE3OTJaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1Njg0NzMyMjU5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZ1enppbmcgVGFyZ2V0IElkZW50aWZpY2F0aW9uKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBjb2RlIGFuZCBpbW1lZGlhdGVseSBzZWUgdGhhdCB0aGUgYGRvX3NlY3VyZV9zdG9yYWdlX2FjY2Vzc2AgZnVuY3Rpb24gaGFzIGEgYCNpZiBJU19FTkFCTEVEKENPTkZJR19LVk0pYCB3cmFwcGVyLiBUaGF0J3MgYSBwcmV0dHkgY2xlYXIgaW5kaWNhdG9yOiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgZGVwZW5kZW50IG9uIHRoZSBLZXJuZWwtYmFzZWQgVmlydHVhbCBNYWNoaW5lLCBvciBgS1ZNYC4gU2luY2UgaXQncyBjb25kaXRpb25hbCwgdGhhdCBpbXBsaWVzIGEgc3BlY2lmaWMgZXhlY3V0aW9uIHBhdGggd2hlbiBLVk0gaXMgZW5hYmxlZCwgYW5kIGEgc2VwYXJhdGUgb25lIHdoZW4gaXQncyBub3QuIFRoYXQgbWFrZXMgaXQgYSBnb29kIGNhbmRpZGF0ZSBmb3IgZnV6emluZywgZ2l2ZW4gdGhhdCBwYXRoIGRpdmVyZ2VuY2UuIExvb2tpbmcgaW50byB0aGUgZGV0YWlscyBvZiB0aGUgZnVuY3Rpb24sIGl0IHNlZW1zIGxpa2UgaXQgbW9kaWZpZXMgbG9jayBhY3F1aXNpdGlvbiBhbmQgZXJyb3IgaGFuZGxpbmcsIG1ha2luZyBpdCBldmVuIG1vcmUgaW50ZXJlc3RpbmcgZnJvbSBhIHNlY3VyaXR5IHBlcnNwZWN0aXZlLiBJdCBkZWZpbml0ZWx5IHdhcnJhbnRzIGEgY2xvc2VyIGxvb2sgdW5kZXIgdGhlIG1pY3Jvc2NvcGUgb2YgZnV6emluZy5cblxuTm93LCBsZXQgbWUganVzdCBxdWlja2x5IGRvdWJsZS1jaGVjayBmb3IgYW55IG90aGVyIHBvdGVudGlhbGx5IHJlbGV2YW50IGNvbmZpZ3VyYXRpb25zLiBCYXNlZCBvbiB0aGUgZG9jdW1lbnRhdGlvbiB0aGUgYGFyY2gvczM5MC9tbS9mYXVsdC5jYCBmaWxlIGhhcyBhIHNpbWlsYXIgcHJvZmlsZSBhcyBgZG9fc2VjdXJlX3N0b3JhZ2VfYWNjZXNzYC4gSXQncyBjb21waWxlZCBzcGVjaWZpY2FsbHkgZm9yIHRoZSBzMzkwIGFyY2hpdGVjdHVyZSwgd2hpY2ggYWxzbyBpcyB3b3J0aCBmdXp6aW5nLlxuXG5BbHJpZ2h0LCB3aXRoIHRoZXNlIHR3byB0YXJnZXRzIGlkZW50aWZpZWQsIEknbSBnb2luZyB0byBzZXQgdGhlc2UgcmVzdWx0cyBhbmQgcHJvY2VlZCB3aXRoIGZ1cnRoZXIgYW5hbHlzaXMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQzNTUsIk91dHB1dFRva2VucyI6MTE3LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTM5LCJUb29sQ2FsbHMiOlsicmVhZC1maWxlIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTdUMTc6MTk6NDMuNDc3Nzg2MTgxWiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNDgxODE2MDIsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIktWTVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImRvX3NlY3VyZV9zdG9yYWdlX2FjY2Vzc1wiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBwYWdlIGZhdWx0IGhhbmRsaW5nIGZvciBzZWN1cmUgc3RvcmFnZSBhY2Nlc3Mgb24gczM5MCAoZG9fc2VjdXJlX3N0b3JhZ2VfYWNjZXNzKS4gSXQgY2hhbmdlcyBob3cgdGhlIG1tYXAgbG9jayBpcyBhY3F1aXJlZCBhbmQgaG93IGVycm9ycyBhcmUgaGFuZGxlZCB3aGVuIGEgVk1BIGlzIG5vdCBmb3VuZC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGNvcmUgYXJjaGl0ZWN0dXJlIGNvZGUgYW5kIHNob3VsZCBiZSBmdXp6ZWQuIFRoZSBjb2RlIGlzIGd1YXJkZWQgYnkgQ09ORklHX0tWTS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJLVk1cIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3NcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgcGFnZSBmYXVsdCBoYW5kbGluZyBmb3Igc2VjdXJlIHN0b3JhZ2UgYWNjZXNzIG9uIHMzOTAgKGRvX3NlY3VyZV9zdG9yYWdlX2FjY2VzcykuIEl0IGNoYW5nZXMgaG93IHRoZSBtbWFwIGxvY2sgaXMgYWNxdWlyZWQgYW5kIGhvdyBlcnJvcnMgYXJlIGhhbmRsZWQgd2hlbiBhIFZNQSBpcyBub3QgZm91bmQuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBjb3JlIGFyY2hpdGVjdHVyZSBjb2RlIGFuZCBzaG91bGQgYmUgZnV6emVkLiBUaGUgY29kZSBpcyBndWFyZGVkIGJ5IENPTkZJR19LVk0uXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowmx8nn[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-17 16:38:08 +0000 UTC FinishedAt: 2026-07-17 17:19:44 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "kvm-next", "tree_url": "https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/", "commit_hash": "a204badd8432f93b7e862e7dac6db0fe3d65f370", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "KVM" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "kvm-next", "tree_url": "https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/", "commit_hash": "a204badd8432f93b7e862e7dac6db0fe3d65f370", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "KVM" ], "series_id": "18027fce-98a2-4f29-ac12-c66698f585e6" }, "track": "KASAN", "fuzz": { "focus": [ "kvm" ], "focus_symbols": [ "do_secure_storage_access" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE3IDE3OjE5PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0tWTSYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2RvX3NlY3VyZV9zdG9yYWdlX2FjY2VzcyYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgcGFnZSBmYXVsdCBoYW5kbGluZyBmb3Igc2VjdXJlIHN0b3JhZ2UgYWNjZXNzIG9uIHMzOTAgKGRvX3NlY3VyZV9zdG9yYWdlX2FjY2VzcykuIEl0IGNoYW5nZXMgaG93IHRoZSBtbWFwIGxvY2sgaXMgYWNxdWlyZWQgYW5kIGhvdyBlcnJvcnMgYXJlIGhhbmRsZWQgd2hlbiBhIFZNQSBpcyBub3QgZm91bmQuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBjb3JlIGFyY2hpdGVjdHVyZSBjb2RlIGFuZCBzaG91bGQgYmUgZnV6emVkLiBUaGUgY29kZSBpcyBndWFyZGVkIGJ5IENPTkZJR19LVk0uJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTcgMTc6MTk8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCA2MTg1NGIzMzYwYWU1ODEwOTM0YzQ2OTRkZDU4NTY1MzVkYmVkYmJkXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIEZyaSBKdWwgMTcgMTc6MTk6MjUgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL21tL2ZhdWx0LmMgYi9hcmNoL3MzOTAvbW0vZmF1bHQuY1xuaW5kZXggMDI4YWViOWM0OGQ2ZmYuLmQ2YzU4ZDc4ZWRjNWFmIDEwMDY0NFxuLS0tIGEvYXJjaC9zMzkwL21tL2ZhdWx0LmNcbiYjNDM7JiM0MzsmIzQzOyBiL2FyY2gvczM5MC9tbS9mYXVsdC5jXG5AQCAtNDU2LDEwICYjNDM7NDU2LDkgQEAgdm9pZCBkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3Moc3RydWN0IHB0X3JlZ3MgKnJlZ3MpXG4gXHRcdGlmIChmYXVsdGhhbmRsZXJfZGlzYWJsZWQoKSlcbiBcdFx0XHRyZXR1cm4gaGFuZGxlX2ZhdWx0X2Vycm9yX25vbG9jayhyZWdzLCAwKTtcbiBcdFx0bW0gPSBjdXJyZW50LVx1MDAzZW1tO1xuLVx0XHRtbWFwX3JlYWRfbG9jayhtbSk7XG4tXHRcdHZtYSA9IGZpbmRfdm1hKG1tLCBhZGRyKTtcbiYjNDM7XHRcdHZtYSA9IGxvY2tfbW1fYW5kX2ZpbmRfdm1hKG1tLCBhZGRyLCByZWdzKTtcbiBcdFx0aWYgKCF2bWEpXG4tXHRcdFx0cmV0dXJuIGhhbmRsZV9mYXVsdF9lcnJvcihyZWdzLCBTRUdWX01BUEVSUik7XG4mIzQzO1x0XHRcdHJldHVybiBoYW5kbGVfZmF1bHRfZXJyb3Jfbm9sb2NrKHJlZ3MsIFNFR1ZfTUFQRVJSKTtcbiBcdFx0Zm9saW8gPSBmb2xpb193YWxrX3N0YXJ0KFx1MDAyNmZ3LCB2bWEsIGFkZHIsIDApO1xuIFx0XHRpZiAoIWZvbGlvKSB7XG4gXHRcdFx0bW1hcF9yZWFkX3VubG9jayhtbSk7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTcgMTc6MTk8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7S1ZNJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7ZG9fc2VjdXJlX3N0b3JhZ2VfYWNjZXNzJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBwYWdlIGZhdWx0IGhhbmRsaW5nIGZvciBzZWN1cmUgc3RvcmFnZSBhY2Nlc3Mgb24gczM5MCAoZG9fc2VjdXJlX3N0b3JhZ2VfYWNjZXNzKS4gSXQgY2hhbmdlcyBob3cgdGhlIG1tYXAgbG9jayBpcyBhY3F1aXJlZCBhbmQgaG93IGVycm9ycyBhcmUgaGFuZGxlZCB3aGVuIGEgVk1BIGlzIG5vdCBmb3VuZC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGNvcmUgYXJjaGl0ZWN0dXJlIGNvZGUgYW5kIHNob3VsZCBiZSBmdXp6ZWQuIFRoZSBjb2RlIGlzIGd1YXJkZWQgYnkgQ09ORklHX0tWTS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLApldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXQKICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LAogICBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgNjE4NTRiMzM2MGFlNTgxMDkzNGM0Njk0ZGQ1ODU2NTM1ZGJlZGJiZApBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBGcmkgSnVsIDE3IDE3OjE5OjI1IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL21tL2ZhdWx0LmMgYi9hcmNoL3MzOTAvbW0vZmF1bHQuYwppbmRleCAwMjhhZWI5YzQ4ZDZmZi4uZDZjNThkNzhlZGM1YWYgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9tbS9mYXVsdC5jCiYjNDM7JiM0MzsmIzQzOyBiL2FyY2gvczM5MC9tbS9mYXVsdC5jCkBAIC00NTYsMTAgJiM0Mzs0NTYsOSBAQCB2b2lkIGRvX3NlY3VyZV9zdG9yYWdlX2FjY2VzcyhzdHJ1Y3QgcHRfcmVncyAqcmVncykKIAkJaWYgKGZhdWx0aGFuZGxlcl9kaXNhYmxlZCgpKQogCQkJcmV0dXJuIGhhbmRsZV9mYXVsdF9lcnJvcl9ub2xvY2socmVncywgMCk7CiAJCW1tID0gY3VycmVudC0mZ3Q7bW07Ci0JCW1tYXBfcmVhZF9sb2NrKG1tKTsKLQkJdm1hID0gZmluZF92bWEobW0sIGFkZHIpOwomIzQzOwkJdm1hID0gbG9ja19tbV9hbmRfZmluZF92bWEobW0sIGFkZHIsIHJlZ3MpOwogCQlpZiAoIXZtYSkKLQkJCXJldHVybiBoYW5kbGVfZmF1bHRfZXJyb3IocmVncywgU0VHVl9NQVBFUlIpOwomIzQzOwkJCXJldHVybiBoYW5kbGVfZmF1bHRfZXJyb3Jfbm9sb2NrKHJlZ3MsIFNFR1ZfTUFQRVJSKTsKIAkJZm9saW8gPSBmb2xpb193YWxrX3N0YXJ0KCZhbXA7ZncsIHZtYSwgYWRkciwgMCk7CiAJCWlmICghZm9saW8pIHsKIAkJCW1tYXBfcmVhZF91bmxvY2sobW0pOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNyAxNzoxOTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxOTMxCgkJCQkJCQlvdXRwdXQ6IDM5CgkJCQkJCQl0aG91Z2h0czogMjMzCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIFBhdGNoIHRvIHMzOTAgTWVtb3J5IE1hbmFnZW1lbnQqKgoKT2theSwgc28gdGhpcyBwYXRjaCBpcyB0b3VjaGluZyBgYXJjaC9zMzkwL21tL2ZhdWx0LmNgLiBSaWdodCBhd2F5LCBJIHNlZSB0aGF0IGl0JiMzOTtzIGNoYW5naW5nIHRoZSBsb2NraW5nIHN0cmF0ZWd5IHdpdGhpbiBgZG9fc2VjdXJlX3N0b3JhZ2VfYWNjZXNzYC4gSXQmIzM5O3MgbW92aW5nIGZyb20gdGhlIG9sZGVyIGBtbWFwX3JlYWRfbG9ja2AgYW5kIGBmaW5kX3ZtYWAgYXBwcm9hY2ggdG8gdXNpbmcgYGxvY2tfbW1fYW5kX2ZpbmRfdm1hYC4gVGhhdCYjMzk7cyBpbnRlcmVzdGluZywgYW5kIGxpa2VseSBtZWFucyB0aGV5JiMzOTtyZSBhaW1pbmcgZm9yIGEgbW9yZSBmaW5lLWdyYWluZWQgbG9ja2luZyBtZWNoYW5pc20gb3IgdHJ5aW5nIHRvIGF2b2lkIHNvbWUgcG90ZW50aWFsIGNvbnRlbnRpb24gaXNzdWVzLiBUaGUgZXJyb3IgaGFuZGxpbmcgY2hhbmdlIGlzIGltcG9ydGFudCB0b287IHVzaW5nIGBoYW5kbGVfZmF1bHRfZXJyb3Jfbm9sb2NrYCBpbnN0ZWFkIG9mIHRoZSBsb2NrZWQgdmVyc2lvbiB3aGVuIGBsb2NrX21tX2FuZF9maW5kX3ZtYWAgZmFpbHMuIFRoaXMgaXMgYmVjYXVzZSBgbG9ja19tbV9hbmRfZmluZF92bWFgIGRvZXNuJiMzOTt0IGhvbGQgdGhlIGxvY2sgaWYgaXQgcmV0dXJucyBgTlVMTGAuIFRoaXMgZXJyb3IgcGF0aCBpcyB0aGUga2V5IHRvIHVuZGVyc3RhbmQgaWYgdGhlcmUgaXMgYSByYWNlIGNvbmRpdGlvbi4KCk5vdywgYSBjcml0aWNhbCBxdWVzdGlvbiBhcmlzZXM6IGlzIHRoaXMgY29kZSBwYXRoIGV2ZW4gKnJlYWNoYWJsZSogaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudD8gYGRvX3NlY3VyZV9zdG9yYWdlX2FjY2Vzc2AgaXMsIGFmdGVyIGFsbCwgdmVyeSBzcGVjaWZpYyB0byB0aGUgczM5MCBhcmNoaXRlY3R1cmUuIE15IGZpcnN0IHRob3VnaHQgaXMgdGhhdCBzeXprYWxsZXIgcHJvYmFibHkgaXNuJiMzOTt0IGNvbmZpZ3VyZWQgdG8gcnVuIG9uIHMzOTAgYnkgZGVmYXVsdCwgYnV0IGl0ICpjb3VsZCogYmUuIEkgbmVlZCB0byBrZWVwIGluIG1pbmQgdGhhdCB0aGUgJiMzNDtzMzkwJiMzNDsgaXMgYW4gYXJjaGl0ZWN0dXJlLgoKVWx0aW1hdGVseSwgaXMgaXQgd29ydGggdGhlIGVmZm9ydCB0byBjb25zaWRlciBmdXp6aW5nIHRoaXMgYXJlYT8gWWVzLCB3aXRob3V0IHF1ZXN0aW9uLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgZGVlcCB3aXRoaW4gdGhlIGFyY2hpdGVjdHVyZS1zcGVjaWZpYyBtZW1vcnkgbWFuYWdlbWVudCBjb2RlLiBFdmVuIGlmIGl0IHJlcXVpcmVzIHNvbWUgZXh0cmEgc2V0dXAgdG8gcnVuIHN5emthbGxlciBvbiBzMzkwLCB0aGUgcG90ZW50aWFsIGZvciBkaXNjb3ZlcmluZyBjcml0aWNhbCBtZW1vcnkgYWNjZXNzIGJ1Z3MgcmVsYXRlZCB0byB0aGlzIGxvY2tpbmcgY2hhbmdlIGlzIHNpZ25pZmljYW50LiBJIG5lZWQgdG8gZ28gYmFjayBhbmQgdGFrZSBhIGNsb3NlciBsb29rIGF0IGBkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3NgIGl0c2VsZiB3aXRoaW4gYGFyY2gvczM5MC9tbS9mYXVsdC5jYCB0byBzZWUgaG93IGl0IGNhbiBiZSBhZmZlY3RlZC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNyAxNzoxOTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3MmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDthcmNoL3MzOTAvbW0vZmF1bHQuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDthcmNoL3MzOTAvbW0vZmF1bHQuYz00MDQ9Tk9LUFJPQkVfU1lNQk9MKGRvX2RhdF9leGNlcHRpb24pO1xuLS1cbmFyY2gvczM5MC9tbS9mYXVsdC5jLTQwNy1cbmFyY2gvczM5MC9tbS9mYXVsdC5jOjQwODp2b2lkIGRvX3NlY3VyZV9zdG9yYWdlX2FjY2VzcyhzdHJ1Y3QgcHRfcmVncyAqcmVncylcbmFyY2gvczM5MC9tbS9mYXVsdC5jLTQwOS17XG4tLVxuYXJjaC9zMzkwL21tL2ZhdWx0LmMtNDc2LX1cbmFyY2gvczM5MC9tbS9mYXVsdC5jOjQ3NzpOT0tQUk9CRV9TWU1CT0woZG9fc2VjdXJlX3N0b3JhZ2VfYWNjZXNzKTtcbmFyY2gvczM5MC9tbS9mYXVsdC5jLTQ3OC1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNyAxNzoxOTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyODAxCgkJCQkJCQlvdXRwdXQ6IDQxCgkJCQkJCQl0aG91Z2h0czogMjkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgaW50ZXJwcmV0YXRpb24gb2YgdGhhdCB0aG91Z2h0IHByb2Nlc3MsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2UsIGFuZCB3cml0dGVuIGluIHRoZSBmaXJzdCBwZXJzb246CgoqKkRpdmluZyBpbnRvIGBkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3NgIGluIHMzOTAgRmF1bHQgSGFuZGxpbmcqKgoKQWxyaWdodCwgbXkgaW50ZXJuYWwgcmV2aWV3IGhhcyBsZWQgbWUgdG8gZm9jdXMgb24gYGRvX3NlY3VyZV9zdG9yYWdlX2FjY2Vzc2Agd2l0aGluIGBhcmNoL3MzOTAvbW0vZmF1bHQuY2AuIEkga25vdyB0aGlzIGlzIGEgY3JpdGljYWwgc3BvdCBmb3IgaGFuZGxpbmcgbWVtb3J5IGFjY2VzcyBpc3N1ZXMsIHBhcnRpY3VsYXJseSB0aG9zZSByZWxhdGVkIHRvIHNlY3VyZSBzdG9yYWdlIG9uIHRoZSBzMzkwIGFyY2hpdGVjdHVyZS4gR2l2ZW4gdGhlIGNvbnRleHQgb2Ygd2hhdCBJJiMzOTt2ZSBiZWVuIGludmVzdGlnYXRpbmcsIHVuZGVyc3RhbmRpbmcgcHJlY2lzZWx5IGhvdyB0aGlzIGZ1bmN0aW9uIHdvcmtzIGlzIGdvaW5nIHRvIGJlIGtleS4gSSBuZWVkIHRvIHJlZnJlc2ggbXkgdW5kZXJzdGFuZGluZyBvZiBob3cgZmF1bHQgaGFuZGxpbmcgaW50ZXJhY3RzIHdpdGggdGhlIHNlY3VyZSBzdG9yYWdlIG1lY2hhbmlzbXMgb24gdGhlIHBsYXRmb3JtLiBTcGVjaWZpY2FsbHksIEkmIzM5O20gZ29pbmcgdG8gbG9vayBhdCBob3cgaXQgZGVhbHMgd2l0aCBwYWdlIGZhdWx0cyByZWxhdGVkIHRvIHByb3RlY3RlZCBtZW1vcnkgcmVnaW9ucywgcG90ZW50aWFsIHBlcm1pc3Npb24gdmlvbGF0aW9ucywgYW5kIGFueSByZWxhdGVkIHNlY3VyaXR5IGNoZWNrcyBwZXJmb3JtZWQuIEkgc3VzcGVjdCBJIG5lZWQgdG8gcGF5IGNsb3NlIGF0dGVudGlvbiB0byB0aGUgaW50ZXJhY3Rpb24gd2l0aCB0aGUgaGFyZHdhcmUmIzM5O3Mgc3RvcmFnZSBrZXkgZmFjaWxpdGllcyBhcyB3ZWxsLiBNeSBnb2FsIGlzIHRvIGdyYXNwIGhvdyB0aGVzZSBhY2Nlc3MgY29udHJvbCBtZWNoYW5pc21zIHByZXZlbnQgdW5hdXRob3JpemVkIGRhdGEgYWNjZXNzIGFuZCBob3cgdGhlIGtlcm5lbCBoYW5kbGVzIHRoZXNlIHNpdHVhdGlvbnMuIFRoaXMgaXMgYW4gZXNzZW50aWFsIHN0ZXAgaW4gd2hhdGV2ZXIgaXNzdWUgb3IgaW1wcm92ZW1lbnQgSSYjMzk7bSB3b3JraW5nIG9uIHJpZ2h0IG5vdy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNyAxNzoxOTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnJlYWQtZmlsZTwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RmlsZSYjMzQ7OiAmIzM0O2FyY2gvczM5MC9tbS9mYXVsdC5jJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogNDAwLAogICYjMzQ7TGluZUNvdW50JiMzNDs6IDEwMAp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7Q29udGVudHMmIzM0OzogJiMzNDsgNDAwOlx0dm9pZCBkb19kYXRfZXhjZXB0aW9uKHN0cnVjdCBwdF9yZWdzICpyZWdzKVxuIDQwMTpcdHtcbiA0MDI6XHRcdGRvX2V4Y2VwdGlvbihyZWdzLCBWTV9BQ0NFU1NfRkxBR1MpO1xuIDQwMzpcdH1cbiA0MDQ6XHROT0tQUk9CRV9TWU1CT0woZG9fZGF0X2V4Y2VwdGlvbik7XG4gNDA1Olx0XG4gNDA2Olx0I2lmIElTX0VOQUJMRUQoQ09ORklHX0tWTSlcbiA0MDc6XHRcbiA0MDg6XHR2b2lkIGRvX3NlY3VyZV9zdG9yYWdlX2FjY2VzcyhzdHJ1Y3QgcHRfcmVncyAqcmVncylcbiA0MDk6XHR7XG4gNDEwOlx0XHR1bmlvbiB0ZWlkIHRlaWQgPSB7IC52YWwgPSByZWdzLVx1MDAzZWludF9wYXJtX2xvbmcgfTtcbiA0MTE6XHRcdHVuc2lnbmVkIGxvbmcgYWRkciA9IGdldF9mYXVsdF9hZGRyZXNzKHJlZ3MpO1xuIDQxMjpcdFx0c3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWE7XG4gNDEzOlx0XHRzdHJ1Y3QgZm9saW9fd2FsayBmdztcbiA0MTQ6XHRcdHN0cnVjdCBtbV9zdHJ1Y3QgKm1tO1xuIDQxNTpcdFx0c3RydWN0IGZvbGlvICpmb2xpbztcbiA0MTY6XHRcdGludCByYztcbiA0MTc6XHRcbiA0MTg6XHRcdC8qXG4gNDE5Olx0XHQgKiBCaXQgNjEgaW5kaWNhdGVzIGlmIHRoZSBhZGRyZXNzIGlzIHZhbGlkLCBpZiBpdCBpcyBub3QgdGhlXG4gNDIwOlx0XHQgKiBrZXJuZWwgc2hvdWxkIGJlIHN0b3BwZWQgb3IgU0lHU0VHViBzaG91bGQgYmUgc2VudCB0byB0aGVcbiA0MjE6XHRcdCAqIHByb2Nlc3MuIEJpdCA2MSBpcyBub3QgcmVsaWFibGUgd2l0aG91dCB0aGUgbWlzYyBVViBmZWF0dXJlLFxuIDQyMjpcdFx0ICogdGhlcmVmb3JlIHRoaXMgbmVlZHMgdG8gYmUgY2hlY2tlZCB0b28uXG4gNDIzOlx0XHQgKi9cbiA0MjQ6XHRcdGlmICh1dl9oYXNfZmVhdHVyZShCSVRfVVZfRkVBVF9NSVNDKSBcdTAwMjZcdTAwMjYgIXRlaWQuYjYxKSB7XG4gNDI1Olx0XHRcdC8qXG4gNDI2Olx0XHRcdCAqIFdoZW4gdGhpcyBoYXBwZW5zLCB1c2Vyc3BhY2UgZGlkIHNvbWV0aGluZyB0aGF0IGl0XG4gNDI3Olx0XHRcdCAqIHdhcyBub3Qgc3VwcG9zZWQgdG8gZG8sIGUuZy4gYnJhbmNoaW5nIGludG8gc2VjdXJlXG4gNDI4Olx0XHRcdCAqIG1lbW9yeS4gVHJpZ2dlciBhIHNlZ21lbnRhdGlvbiBmYXVsdC5cbiA0Mjk6XHRcdFx0ICovXG4gNDMwOlx0XHRcdGlmICh1c2VyX21vZGUocmVncykpIHtcbiA0MzE6XHRcdFx0XHRzZW5kX3NpZyhTSUdTRUdWLCBjdXJyZW50LCAwKTtcbiA0MzI6XHRcdFx0XHRyZXR1cm47XG4gNDMzOlx0XHRcdH1cbiA0MzQ6XHRcdFx0LypcbiA0MzU6XHRcdFx0ICogVGhlIGtlcm5lbCBzaG91bGQgbmV2ZXIgcnVuIGludG8gdGhpcyBjYXNlIGFuZFxuIDQzNjpcdFx0XHQgKiB0aGVyZSBpcyBubyB3YXkgb3V0IG9mIHRoaXMgc2l0dWF0aW9uLlxuIDQzNzpcdFx0XHQgKi9cbiA0Mzg6XHRcdFx0cGFuaWMoXCYjMzQ7VW5leHBlY3RlZCBQR00gMHgzZCB3aXRoIFRFSUQgYml0IDYxPTBcJiMzNDspO1xuIDQzOTpcdFx0fVxuIDQ0MDpcdFx0aWYgKGlzX2tlcm5lbF9mYXVsdChyZWdzKSkge1xuIDQ0MTpcdFx0XHRmb2xpbyA9IHZpcnRfdG9fZm9saW8oKHZvaWQgKilhZGRyKTtcbiA0NDI6XHRcdFx0aWYgKHVubGlrZWx5KCFmb2xpb190cnlfZ2V0KGZvbGlvKSkpXG4gNDQzOlx0XHRcdFx0cmV0dXJuO1xuIDQ0NDpcdFx0XHRyYyA9IHV2X2NvbnZlcnRfZnJvbV9zZWN1cmUoZm9saW9fdG9fcGh5cyhmb2xpbykpO1xuIDQ0NTpcdFx0XHRpZiAoIXJjKVxuIDQ0NjpcdFx0XHRcdGNsZWFyX2JpdChQR19hcmNoXzEsIFx1MDAyNmZvbGlvLVx1MDAzZWZsYWdzLmYpO1xuIDQ0NzpcdFx0XHRmb2xpb19wdXQoZm9saW8pO1xuIDQ0ODpcdFx0XHQvKlxuIDQ0OTpcdFx0XHQgKiBUaGVyZSBhcmUgc29tZSB2YWxpZCBmaXh1cCB0eXBlcyBmb3Iga2VybmVsXG4gNDUwOlx0XHRcdCAqIGFjY2Vzc2VzIHRvIGRvbmF0ZWQgc2VjdXJlIG1lbW9yeS4gemVyb3BhZCBpcyBvbmVcbiA0NTE6XHRcdFx0ICogb2YgdGhlbS5cbiA0NTI6XHRcdFx0ICovXG4gNDUzOlx0XHRcdGlmIChyYylcbiA0NTQ6XHRcdFx0XHRyZXR1cm4gaGFuZGxlX2ZhdWx0X2Vycm9yX25vbG9jayhyZWdzLCAwKTtcbiA0NTU6XHRcdH0gZWxzZSB7XG4gNDU2Olx0XHRcdGlmIChmYXVsdGhhbmRsZXJfZGlzYWJsZWQoKSlcbiA0NTc6XHRcdFx0XHRyZXR1cm4gaGFuZGxlX2ZhdWx0X2Vycm9yX25vbG9jayhyZWdzLCAwKTtcbiA0NTg6XHRcdFx0bW0gPSBjdXJyZW50LVx1MDAzZW1tO1xuIDQ1OTpcdFx0XHR2bWEgPSBsb2NrX21tX2FuZF9maW5kX3ZtYShtbSwgYWRkciwgcmVncyk7XG4gNDYwOlx0XHRcdGlmICghdm1hKVxuIDQ2MTpcdFx0XHRcdHJldHVybiBoYW5kbGVfZmF1bHRfZXJyb3Jfbm9sb2NrKHJlZ3MsIFNFR1ZfTUFQRVJSKTtcbiA0NjI6XHRcdFx0Zm9saW8gPSBmb2xpb193YWxrX3N0YXJ0KFx1MDAyNmZ3LCB2bWEsIGFkZHIsIDApO1xuIDQ2MzpcdFx0XHRpZiAoIWZvbGlvKSB7XG4gNDY0Olx0XHRcdFx0bW1hcF9yZWFkX3VubG9jayhtbSk7XG4gNDY1Olx0XHRcdFx0cmV0dXJuO1xuIDQ2NjpcdFx0XHR9XG4gNDY3Olx0XHRcdC8qIGFyY2hfbWFrZV9mb2xpb19hY2Nlc3NpYmxlKCkgbmVlZHMgYSByYWlzZWQgcmVmY291bnQuICovXG4gNDY4Olx0XHRcdGZvbGlvX2dldChmb2xpbyk7XG4gNDY5Olx0XHRcdHJjID0gYXJjaF9tYWtlX2ZvbGlvX2FjY2Vzc2libGUoZm9saW8pO1xuIDQ3MDpcdFx0XHRmb2xpb19wdXQoZm9saW8pO1xuIDQ3MTpcdFx0XHRmb2xpb193YWxrX2VuZChcdTAwMjZmdywgdm1hKTtcbiA0NzI6XHRcdFx0aWYgKHJjKVxuIDQ3MzpcdFx0XHRcdHNlbmRfc2lnKFNJR1NFR1YsIGN1cnJlbnQsIDApO1xuIDQ3NDpcdFx0XHRtbWFwX3JlYWRfdW5sb2NrKG1tKTtcbiA0NzU6XHRcdH1cbiA0NzY6XHR9XG4gNDc3Olx0Tk9LUFJPQkVfU1lNQk9MKGRvX3NlY3VyZV9zdG9yYWdlX2FjY2Vzcyk7XG4gNDc4Olx0XG4gNDc5Olx0I2VuZGlmIC8qIENPTkZJR19LVk0gKi9cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD43LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNyAxNzoxOTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0MzU1CgkJCQkJCQlvdXRwdXQ6IDExNwoJCQkJCQkJdGhvdWdodHM6IDEzOQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipGdXp6aW5nIFRhcmdldCBJZGVudGlmaWNhdGlvbioqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBjb2RlIGFuZCBpbW1lZGlhdGVseSBzZWUgdGhhdCB0aGUgYGRvX3NlY3VyZV9zdG9yYWdlX2FjY2Vzc2AgZnVuY3Rpb24gaGFzIGEgYCNpZiBJU19FTkFCTEVEKENPTkZJR19LVk0pYCB3cmFwcGVyLiBUaGF0JiMzOTtzIGEgcHJldHR5IGNsZWFyIGluZGljYXRvcjogdGhpcyBmdW5jdGlvbmFsaXR5IGlzIGRlcGVuZGVudCBvbiB0aGUgS2VybmVsLWJhc2VkIFZpcnR1YWwgTWFjaGluZSwgb3IgYEtWTWAuIFNpbmNlIGl0JiMzOTtzIGNvbmRpdGlvbmFsLCB0aGF0IGltcGxpZXMgYSBzcGVjaWZpYyBleGVjdXRpb24gcGF0aCB3aGVuIEtWTSBpcyBlbmFibGVkLCBhbmQgYSBzZXBhcmF0ZSBvbmUgd2hlbiBpdCYjMzk7cyBub3QuIFRoYXQgbWFrZXMgaXQgYSBnb29kIGNhbmRpZGF0ZSBmb3IgZnV6emluZywgZ2l2ZW4gdGhhdCBwYXRoIGRpdmVyZ2VuY2UuIExvb2tpbmcgaW50byB0aGUgZGV0YWlscyBvZiB0aGUgZnVuY3Rpb24sIGl0IHNlZW1zIGxpa2UgaXQgbW9kaWZpZXMgbG9jayBhY3F1aXNpdGlvbiBhbmQgZXJyb3IgaGFuZGxpbmcsIG1ha2luZyBpdCBldmVuIG1vcmUgaW50ZXJlc3RpbmcgZnJvbSBhIHNlY3VyaXR5IHBlcnNwZWN0aXZlLiBJdCBkZWZpbml0ZWx5IHdhcnJhbnRzIGEgY2xvc2VyIGxvb2sgdW5kZXIgdGhlIG1pY3Jvc2NvcGUgb2YgZnV6emluZy4KCk5vdywgbGV0IG1lIGp1c3QgcXVpY2tseSBkb3VibGUtY2hlY2sgZm9yIGFueSBvdGhlciBwb3RlbnRpYWxseSByZWxldmFudCBjb25maWd1cmF0aW9ucy4gQmFzZWQgb24gdGhlIGRvY3VtZW50YXRpb24gdGhlIGBhcmNoL3MzOTAvbW0vZmF1bHQuY2AgZmlsZSBoYXMgYSBzaW1pbGFyIHByb2ZpbGUgYXMgYGRvX3NlY3VyZV9zdG9yYWdlX2FjY2Vzc2AuIEl0JiMzOTtzIGNvbXBpbGVkIHNwZWNpZmljYWxseSBmb3IgdGhlIHMzOTAgYXJjaGl0ZWN0dXJlLCB3aGljaCBhbHNvIGlzIHdvcnRoIGZ1enppbmcuCgpBbHJpZ2h0LCB3aXRoIHRoZXNlIHR3byB0YXJnZXRzIGlkZW50aWZpZWQsIEkmIzM5O20gZ29pbmcgdG8gc2V0IHRoZXNlIHJlc3VsdHMgYW5kIHByb2NlZWQgd2l0aCBmdXJ0aGVyIGFuYWx5c2lzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE3IDE3OjE5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtLVk0mIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3MmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIHBhZ2UgZmF1bHQgaGFuZGxpbmcgZm9yIHNlY3VyZSBzdG9yYWdlIGFjY2VzcyBvbiBzMzkwIChkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3MpLiBJdCBjaGFuZ2VzIGhvdyB0aGUgbW1hcCBsb2NrIGlzIGFjcXVpcmVkIGFuZCBob3cgZXJyb3JzIGFyZSBoYW5kbGVkIHdoZW4gYSBWTUEgaXMgbm90IGZvdW5kLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gY29yZSBhcmNoaXRlY3R1cmUgY29kZSBhbmQgc2hvdWxkIGJlIGZ1enplZC4gVGhlIGNvZGUgaXMgZ3VhcmRlZCBieSBDT05GSUdfS1ZNLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtLVk0mIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3MmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIHBhZ2UgZmF1bHQgaGFuZGxpbmcgZm9yIHNlY3VyZSBzdG9yYWdlIGFjY2VzcyBvbiBzMzkwIChkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3MpLiBJdCBjaGFuZ2VzIGhvdyB0aGUgbW1hcCBsb2NrIGlzIGFjcXVpcmVkIGFuZCBob3cgZXJyb3JzIGFyZSBoYW5kbGVkIHdoZW4gYSBWTUEgaXMgbm90IGZvdW5kLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gY29yZSBhcmNoaXRlY3R1cmUgY29kZSBhbmQgc2hvdWxkIGJlIGZ1enplZC4gVGhlIGNvZGUgaXMgZ3VhcmRlZCBieSBDT05GSUdfS1ZNLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMTdUMTc6MTk6MjYuNjM3NTczODUxWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTY5ODg0MDY3ODIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiS1ZNXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiZG9fc2VjdXJlX3N0b3JhZ2VfYWNjZXNzXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIHBhZ2UgZmF1bHQgaGFuZGxpbmcgZm9yIHNlY3VyZSBzdG9yYWdlIGFjY2VzcyBvbiBzMzkwIChkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3MpLiBJdCBjaGFuZ2VzIGhvdyB0aGUgbW1hcCBsb2NrIGlzIGFjcXVpcmVkIGFuZCBob3cgZXJyb3JzIGFyZSBoYW5kbGVkIHdoZW4gYSBWTUEgaXMgbm90IGZvdW5kLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gY29yZSBhcmNoaXRlY3R1cmUgY29kZSBhbmQgc2hvdWxkIGJlIGZ1enplZC4gVGhlIGNvZGUgaXMgZ3VhcmRlZCBieSBDT05GSUdfS1ZNLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xN1QxNzoxOToyNi42Mzc1ODEyOTFaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjU2MDM4MjE5NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IDYxODU0YjMzNjBhZTU4MTA5MzRjNDY5NGRkNTg1NjUzNWRiZWRiYmRcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIEZyaSBKdWwgMTcgMTc6MTk6MjUgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL21tL2ZhdWx0LmMgYi9hcmNoL3MzOTAvbW0vZmF1bHQuY1xcbmluZGV4IDAyOGFlYjljNDhkNmZmLi5kNmM1OGQ3OGVkYzVhZiAxMDA2NDRcXG4tLS0gYS9hcmNoL3MzOTAvbW0vZmF1bHQuY1xcbisrKyBiL2FyY2gvczM5MC9tbS9mYXVsdC5jXFxuQEAgLTQ1NiwxMCArNDU2LDkgQEAgdm9pZCBkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3Moc3RydWN0IHB0X3JlZ3MgKnJlZ3MpXFxuIFxcdFxcdGlmIChmYXVsdGhhbmRsZXJfZGlzYWJsZWQoKSlcXG4gXFx0XFx0XFx0cmV0dXJuIGhhbmRsZV9mYXVsdF9lcnJvcl9ub2xvY2socmVncywgMCk7XFxuIFxcdFxcdG1tID0gY3VycmVudC1cXHUwMDNlbW07XFxuLVxcdFxcdG1tYXBfcmVhZF9sb2NrKG1tKTtcXG4tXFx0XFx0dm1hID0gZmluZF92bWEobW0sIGFkZHIpO1xcbitcXHRcXHR2bWEgPSBsb2NrX21tX2FuZF9maW5kX3ZtYShtbSwgYWRkciwgcmVncyk7XFxuIFxcdFxcdGlmICghdm1hKVxcbi1cXHRcXHRcXHRyZXR1cm4gaGFuZGxlX2ZhdWx0X2Vycm9yKHJlZ3MsIFNFR1ZfTUFQRVJSKTtcXG4rXFx0XFx0XFx0cmV0dXJuIGhhbmRsZV9mYXVsdF9lcnJvcl9ub2xvY2socmVncywgU0VHVl9NQVBFUlIpO1xcbiBcXHRcXHRmb2xpbyA9IGZvbGlvX3dhbGtfc3RhcnQoXFx1MDAyNmZ3LCB2bWEsIGFkZHIsIDApO1xcbiBcXHRcXHRpZiAoIWZvbGlvKSB7XFxuIFxcdFxcdFxcdG1tYXBfcmVhZF91bmxvY2sobW0pO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xN1QxNzoxOToyNy4xOTg5NTU5NjhaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE2NDI3MDE1ODc0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIktWTVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImRvX3NlY3VyZV9zdG9yYWdlX2FjY2Vzc1wiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBwYWdlIGZhdWx0IGhhbmRsaW5nIGZvciBzZWN1cmUgc3RvcmFnZSBhY2Nlc3Mgb24gczM5MCAoZG9fc2VjdXJlX3N0b3JhZ2VfYWNjZXNzKS4gSXQgY2hhbmdlcyBob3cgdGhlIG1tYXAgbG9jayBpcyBhY3F1aXJlZCBhbmQgaG93IGVycm9ycyBhcmUgaGFuZGxlZCB3aGVuIGEgVk1BIGlzIG5vdCBmb3VuZC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGNvcmUgYXJjaGl0ZWN0dXJlIGNvZGUgYW5kIHNob3VsZCBiZSBmdXp6ZWQuIFRoZSBjb2RlIGlzIGd1YXJkZWQgYnkgQ09ORklHX0tWTS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCA2MTg1NGIzMzYwYWU1ODEwOTM0YzQ2OTRkZDU4NTY1MzVkYmVkYmJkXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIEZyaSBKdWwgMTcgMTc6MTk6MjUgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9hcmNoL3MzOTAvbW0vZmF1bHQuYyBiL2FyY2gvczM5MC9tbS9mYXVsdC5jXG5pbmRleCAwMjhhZWI5YzQ4ZDZmZi4uZDZjNThkNzhlZGM1YWYgMTAwNjQ0XG4tLS0gYS9hcmNoL3MzOTAvbW0vZmF1bHQuY1xuKysrIGIvYXJjaC9zMzkwL21tL2ZhdWx0LmNcbkBAIC00NTYsMTAgKzQ1Niw5IEBAIHZvaWQgZG9fc2VjdXJlX3N0b3JhZ2VfYWNjZXNzKHN0cnVjdCBwdF9yZWdzICpyZWdzKVxuIFx0XHRpZiAoZmF1bHRoYW5kbGVyX2Rpc2FibGVkKCkpXG4gXHRcdFx0cmV0dXJuIGhhbmRsZV9mYXVsdF9lcnJvcl9ub2xvY2socmVncywgMCk7XG4gXHRcdG1tID0gY3VycmVudC1cdTAwM2VtbTtcbi1cdFx0bW1hcF9yZWFkX2xvY2sobW0pO1xuLVx0XHR2bWEgPSBmaW5kX3ZtYShtbSwgYWRkcik7XG4rXHRcdHZtYSA9IGxvY2tfbW1fYW5kX2ZpbmRfdm1hKG1tLCBhZGRyLCByZWdzKTtcbiBcdFx0aWYgKCF2bWEpXG4tXHRcdFx0cmV0dXJuIGhhbmRsZV9mYXVsdF9lcnJvcihyZWdzLCBTRUdWX01BUEVSUik7XG4rXHRcdFx0cmV0dXJuIGhhbmRsZV9mYXVsdF9lcnJvcl9ub2xvY2socmVncywgU0VHVl9NQVBFUlIpO1xuIFx0XHRmb2xpbyA9IGZvbGlvX3dhbGtfc3RhcnQoXHUwMDI2ZncsIHZtYSwgYWRkciwgMCk7XG4gXHRcdGlmICghZm9saW8pIHtcbiBcdFx0XHRtbWFwX3JlYWRfdW5sb2NrKG1tKTtcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDE3OjE5OjI3LjE5ODk3Mzk0OFoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjYxMDE1MTI4MDUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIGEgUGF0Y2ggdG8gczM5MCBNZW1vcnkgTWFuYWdlbWVudCoqXG5cbk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgdG91Y2hpbmcgYGFyY2gvczM5MC9tbS9mYXVsdC5jYC4gUmlnaHQgYXdheSwgSSBzZWUgdGhhdCBpdCdzIGNoYW5naW5nIHRoZSBsb2NraW5nIHN0cmF0ZWd5IHdpdGhpbiBgZG9fc2VjdXJlX3N0b3JhZ2VfYWNjZXNzYC4gSXQncyBtb3ZpbmcgZnJvbSB0aGUgb2xkZXIgYG1tYXBfcmVhZF9sb2NrYCBhbmQgYGZpbmRfdm1hYCBhcHByb2FjaCB0byB1c2luZyBgbG9ja19tbV9hbmRfZmluZF92bWFgLiBUaGF0J3MgaW50ZXJlc3RpbmcsIGFuZCBsaWtlbHkgbWVhbnMgdGhleSdyZSBhaW1pbmcgZm9yIGEgbW9yZSBmaW5lLWdyYWluZWQgbG9ja2luZyBtZWNoYW5pc20gb3IgdHJ5aW5nIHRvIGF2b2lkIHNvbWUgcG90ZW50aWFsIGNvbnRlbnRpb24gaXNzdWVzLiBUaGUgZXJyb3IgaGFuZGxpbmcgY2hhbmdlIGlzIGltcG9ydGFudCB0b287IHVzaW5nIGBoYW5kbGVfZmF1bHRfZXJyb3Jfbm9sb2NrYCBpbnN0ZWFkIG9mIHRoZSBsb2NrZWQgdmVyc2lvbiB3aGVuIGBsb2NrX21tX2FuZF9maW5kX3ZtYWAgZmFpbHMuIFRoaXMgaXMgYmVjYXVzZSBgbG9ja19tbV9hbmRfZmluZF92bWFgIGRvZXNuJ3QgaG9sZCB0aGUgbG9jayBpZiBpdCByZXR1cm5zIGBOVUxMYC4gVGhpcyBlcnJvciBwYXRoIGlzIHRoZSBrZXkgdG8gdW5kZXJzdGFuZCBpZiB0aGVyZSBpcyBhIHJhY2UgY29uZGl0aW9uLlxuXG5Ob3csIGEgY3JpdGljYWwgcXVlc3Rpb24gYXJpc2VzOiBpcyB0aGlzIGNvZGUgcGF0aCBldmVuICpyZWFjaGFibGUqIGluIGEgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQ/IGBkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3NgIGlzLCBhZnRlciBhbGwsIHZlcnkgc3BlY2lmaWMgdG8gdGhlIHMzOTAgYXJjaGl0ZWN0dXJlLiBNeSBmaXJzdCB0aG91Z2h0IGlzIHRoYXQgc3l6a2FsbGVyIHByb2JhYmx5IGlzbid0IGNvbmZpZ3VyZWQgdG8gcnVuIG9uIHMzOTAgYnkgZGVmYXVsdCwgYnV0IGl0ICpjb3VsZCogYmUuIEkgbmVlZCB0byBrZWVwIGluIG1pbmQgdGhhdCB0aGUgXCJzMzkwXCIgaXMgYW4gYXJjaGl0ZWN0dXJlLlxuXG5VbHRpbWF0ZWx5LCBpcyBpdCB3b3J0aCB0aGUgZWZmb3J0IHRvIGNvbnNpZGVyIGZ1enppbmcgdGhpcyBhcmVhPyBZZXMsIHdpdGhvdXQgcXVlc3Rpb24uIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBkZWVwIHdpdGhpbiB0aGUgYXJjaGl0ZWN0dXJlLXNwZWNpZmljIG1lbW9yeSBtYW5hZ2VtZW50IGNvZGUuIEV2ZW4gaWYgaXQgcmVxdWlyZXMgc29tZSBleHRyYSBzZXR1cCB0byBydW4gc3l6a2FsbGVyIG9uIHMzOTAsIHRoZSBwb3RlbnRpYWwgZm9yIGRpc2NvdmVyaW5nIGNyaXRpY2FsIG1lbW9yeSBhY2Nlc3MgYnVncyByZWxhdGVkIHRvIHRoaXMgbG9ja2luZyBjaGFuZ2UgaXMgc2lnbmlmaWNhbnQuIEkgbmVlZCB0byBnbyBiYWNrIGFuZCB0YWtlIGEgY2xvc2VyIGxvb2sgYXQgYGRvX3NlY3VyZV9zdG9yYWdlX2FjY2Vzc2AgaXRzZWxmIHdpdGhpbiBgYXJjaC9zMzkwL21tL2ZhdWx0LmNgIHRvIHNlZSBob3cgaXQgY2FuIGJlIGFmZmVjdGVkLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxOTMxLCJPdXRwdXRUb2tlbnMiOjM5LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjMzLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTdUMTc6MTk6MzMuMzAwNDg5NDIzWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEwNzE2ODIxNCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3NcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiYXJjaC9zMzkwL21tL2ZhdWx0LmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiYXJjaC9zMzkwL21tL2ZhdWx0LmM9NDA0PU5PS1BST0JFX1NZTUJPTChkb19kYXRfZXhjZXB0aW9uKTtcXG4tLVxcbmFyY2gvczM5MC9tbS9mYXVsdC5jLTQwNy1cXG5hcmNoL3MzOTAvbW0vZmF1bHQuYzo0MDg6dm9pZCBkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3Moc3RydWN0IHB0X3JlZ3MgKnJlZ3MpXFxuYXJjaC9zMzkwL21tL2ZhdWx0LmMtNDA5LXtcXG4tLVxcbmFyY2gvczM5MC9tbS9mYXVsdC5jLTQ3Ni19XFxuYXJjaC9zMzkwL21tL2ZhdWx0LmM6NDc3Ok5PS1BST0JFX1NZTUJPTChkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3MpO1xcbmFyY2gvczM5MC9tbS9mYXVsdC5jLTQ3OC1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTdUMTc6MTk6MzMuNDA3NjYxOTA3WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDM4NTI2ODQ5NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IGludGVycHJldGF0aW9uIG9mIHRoYXQgdGhvdWdodCBwcm9jZXNzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlLCBhbmQgd3JpdHRlbiBpbiB0aGUgZmlyc3QgcGVyc29uOlxuXG4qKkRpdmluZyBpbnRvIGBkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3NgIGluIHMzOTAgRmF1bHQgSGFuZGxpbmcqKlxuXG5BbHJpZ2h0LCBteSBpbnRlcm5hbCByZXZpZXcgaGFzIGxlZCBtZSB0byBmb2N1cyBvbiBgZG9fc2VjdXJlX3N0b3JhZ2VfYWNjZXNzYCB3aXRoaW4gYGFyY2gvczM5MC9tbS9mYXVsdC5jYC4gSSBrbm93IHRoaXMgaXMgYSBjcml0aWNhbCBzcG90IGZvciBoYW5kbGluZyBtZW1vcnkgYWNjZXNzIGlzc3VlcywgcGFydGljdWxhcmx5IHRob3NlIHJlbGF0ZWQgdG8gc2VjdXJlIHN0b3JhZ2Ugb24gdGhlIHMzOTAgYXJjaGl0ZWN0dXJlLiBHaXZlbiB0aGUgY29udGV4dCBvZiB3aGF0IEkndmUgYmVlbiBpbnZlc3RpZ2F0aW5nLCB1bmRlcnN0YW5kaW5nIHByZWNpc2VseSBob3cgdGhpcyBmdW5jdGlvbiB3b3JrcyBpcyBnb2luZyB0byBiZSBrZXkuIEkgbmVlZCB0byByZWZyZXNoIG15IHVuZGVyc3RhbmRpbmcgb2YgaG93IGZhdWx0IGhhbmRsaW5nIGludGVyYWN0cyB3aXRoIHRoZSBzZWN1cmUgc3RvcmFnZSBtZWNoYW5pc21zIG9uIHRoZSBwbGF0Zm9ybS4gU3BlY2lmaWNhbGx5LCBJJ20gZ29pbmcgdG8gbG9vayBhdCBob3cgaXQgZGVhbHMgd2l0aCBwYWdlIGZhdWx0cyByZWxhdGVkIHRvIHByb3RlY3RlZCBtZW1vcnkgcmVnaW9ucywgcG90ZW50aWFsIHBlcm1pc3Npb24gdmlvbGF0aW9ucywgYW5kIGFueSByZWxhdGVkIHNlY3VyaXR5IGNoZWNrcyBwZXJmb3JtZWQuIEkgc3VzcGVjdCBJIG5lZWQgdG8gcGF5IGNsb3NlIGF0dGVudGlvbiB0byB0aGUgaW50ZXJhY3Rpb24gd2l0aCB0aGUgaGFyZHdhcmUncyBzdG9yYWdlIGtleSBmYWNpbGl0aWVzIGFzIHdlbGwuIE15IGdvYWwgaXMgdG8gZ3Jhc3AgaG93IHRoZXNlIGFjY2VzcyBjb250cm9sIG1lY2hhbmlzbXMgcHJldmVudCB1bmF1dGhvcml6ZWQgZGF0YSBhY2Nlc3MgYW5kIGhvdyB0aGUga2VybmVsIGhhbmRsZXMgdGhlc2Ugc2l0dWF0aW9ucy4gVGhpcyBpcyBhbiBlc3NlbnRpYWwgc3RlcCBpbiB3aGF0ZXZlciBpc3N1ZSBvciBpbXByb3ZlbWVudCBJJ20gd29ya2luZyBvbiByaWdodCBub3cuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI4MDEsIk91dHB1dFRva2VucyI6NDEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyOSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xN1QxNzoxOTozNy43OTI5MzI4NTJaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMTY0MjAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJGaWxlXCI6IFwiYXJjaC9zMzkwL21tL2ZhdWx0LmNcIixcbiAgXCJGaXJzdExpbmVcIjogNDAwLFxuICBcIkxpbmVDb3VudFwiOiAxMDBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiIDQwMDpcXHR2b2lkIGRvX2RhdF9leGNlcHRpb24oc3RydWN0IHB0X3JlZ3MgKnJlZ3MpXFxuIDQwMTpcXHR7XFxuIDQwMjpcXHRcXHRkb19leGNlcHRpb24ocmVncywgVk1fQUNDRVNTX0ZMQUdTKTtcXG4gNDAzOlxcdH1cXG4gNDA0OlxcdE5PS1BST0JFX1NZTUJPTChkb19kYXRfZXhjZXB0aW9uKTtcXG4gNDA1OlxcdFxcbiA0MDY6XFx0I2lmIElTX0VOQUJMRUQoQ09ORklHX0tWTSlcXG4gNDA3OlxcdFxcbiA0MDg6XFx0dm9pZCBkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3Moc3RydWN0IHB0X3JlZ3MgKnJlZ3MpXFxuIDQwOTpcXHR7XFxuIDQxMDpcXHRcXHR1bmlvbiB0ZWlkIHRlaWQgPSB7IC52YWwgPSByZWdzLVxcdTAwM2VpbnRfcGFybV9sb25nIH07XFxuIDQxMTpcXHRcXHR1bnNpZ25lZCBsb25nIGFkZHIgPSBnZXRfZmF1bHRfYWRkcmVzcyhyZWdzKTtcXG4gNDEyOlxcdFxcdHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hO1xcbiA0MTM6XFx0XFx0c3RydWN0IGZvbGlvX3dhbGsgZnc7XFxuIDQxNDpcXHRcXHRzdHJ1Y3QgbW1fc3RydWN0ICptbTtcXG4gNDE1OlxcdFxcdHN0cnVjdCBmb2xpbyAqZm9saW87XFxuIDQxNjpcXHRcXHRpbnQgcmM7XFxuIDQxNzpcXHRcXG4gNDE4OlxcdFxcdC8qXFxuIDQxOTpcXHRcXHQgKiBCaXQgNjEgaW5kaWNhdGVzIGlmIHRoZSBhZGRyZXNzIGlzIHZhbGlkLCBpZiBpdCBpcyBub3QgdGhlXFxuIDQyMDpcXHRcXHQgKiBrZXJuZWwgc2hvdWxkIGJlIHN0b3BwZWQgb3IgU0lHU0VHViBzaG91bGQgYmUgc2VudCB0byB0aGVcXG4gNDIxOlxcdFxcdCAqIHByb2Nlc3MuIEJpdCA2MSBpcyBub3QgcmVsaWFibGUgd2l0aG91dCB0aGUgbWlzYyBVViBmZWF0dXJlLFxcbiA0MjI6XFx0XFx0ICogdGhlcmVmb3JlIHRoaXMgbmVlZHMgdG8gYmUgY2hlY2tlZCB0b28uXFxuIDQyMzpcXHRcXHQgKi9cXG4gNDI0OlxcdFxcdGlmICh1dl9oYXNfZmVhdHVyZShCSVRfVVZfRkVBVF9NSVNDKSBcXHUwMDI2XFx1MDAyNiAhdGVpZC5iNjEpIHtcXG4gNDI1OlxcdFxcdFxcdC8qXFxuIDQyNjpcXHRcXHRcXHQgKiBXaGVuIHRoaXMgaGFwcGVucywgdXNlcnNwYWNlIGRpZCBzb21ldGhpbmcgdGhhdCBpdFxcbiA0Mjc6XFx0XFx0XFx0ICogd2FzIG5vdCBzdXBwb3NlZCB0byBkbywgZS5nLiBicmFuY2hpbmcgaW50byBzZWN1cmVcXG4gNDI4OlxcdFxcdFxcdCAqIG1lbW9yeS4gVHJpZ2dlciBhIHNlZ21lbnRhdGlvbiBmYXVsdC5cXG4gNDI5OlxcdFxcdFxcdCAqL1xcbiA0MzA6XFx0XFx0XFx0aWYgKHVzZXJfbW9kZShyZWdzKSkge1xcbiA0MzE6XFx0XFx0XFx0XFx0c2VuZF9zaWcoU0lHU0VHViwgY3VycmVudCwgMCk7XFxuIDQzMjpcXHRcXHRcXHRcXHRyZXR1cm47XFxuIDQzMzpcXHRcXHRcXHR9XFxuIDQzNDpcXHRcXHRcXHQvKlxcbiA0MzU6XFx0XFx0XFx0ICogVGhlIGtlcm5lbCBzaG91bGQgbmV2ZXIgcnVuIGludG8gdGhpcyBjYXNlIGFuZFxcbiA0MzY6XFx0XFx0XFx0ICogdGhlcmUgaXMgbm8gd2F5IG91dCBvZiB0aGlzIHNpdHVhdGlvbi5cXG4gNDM3OlxcdFxcdFxcdCAqL1xcbiA0Mzg6XFx0XFx0XFx0cGFuaWMoXFxcIlVuZXhwZWN0ZWQgUEdNIDB4M2Qgd2l0aCBURUlEIGJpdCA2MT0wXFxcIik7XFxuIDQzOTpcXHRcXHR9XFxuIDQ0MDpcXHRcXHRpZiAoaXNfa2VybmVsX2ZhdWx0KHJlZ3MpKSB7XFxuIDQ0MTpcXHRcXHRcXHRmb2xpbyA9IHZpcnRfdG9fZm9saW8oKHZvaWQgKilhZGRyKTtcXG4gNDQyOlxcdFxcdFxcdGlmICh1bmxpa2VseSghZm9saW9fdHJ5X2dldChmb2xpbykpKVxcbiA0NDM6XFx0XFx0XFx0XFx0cmV0dXJuO1xcbiA0NDQ6XFx0XFx0XFx0cmMgPSB1dl9jb252ZXJ0X2Zyb21fc2VjdXJlKGZvbGlvX3RvX3BoeXMoZm9saW8pKTtcXG4gNDQ1OlxcdFxcdFxcdGlmICghcmMpXFxuIDQ0NjpcXHRcXHRcXHRcXHRjbGVhcl9iaXQoUEdfYXJjaF8xLCBcXHUwMDI2Zm9saW8tXFx1MDAzZWZsYWdzLmYpO1xcbiA0NDc6XFx0XFx0XFx0Zm9saW9fcHV0KGZvbGlvKTtcXG4gNDQ4OlxcdFxcdFxcdC8qXFxuIDQ0OTpcXHRcXHRcXHQgKiBUaGVyZSBhcmUgc29tZSB2YWxpZCBmaXh1cCB0eXBlcyBmb3Iga2VybmVsXFxuIDQ1MDpcXHRcXHRcXHQgKiBhY2Nlc3NlcyB0byBkb25hdGVkIHNlY3VyZSBtZW1vcnkuIHplcm9wYWQgaXMgb25lXFxuIDQ1MTpcXHRcXHRcXHQgKiBvZiB0aGVtLlxcbiA0NTI6XFx0XFx0XFx0ICovXFxuIDQ1MzpcXHRcXHRcXHRpZiAocmMpXFxuIDQ1NDpcXHRcXHRcXHRcXHRyZXR1cm4gaGFuZGxlX2ZhdWx0X2Vycm9yX25vbG9jayhyZWdzLCAwKTtcXG4gNDU1OlxcdFxcdH0gZWxzZSB7XFxuIDQ1NjpcXHRcXHRcXHRpZiAoZmF1bHRoYW5kbGVyX2Rpc2FibGVkKCkpXFxuIDQ1NzpcXHRcXHRcXHRcXHRyZXR1cm4gaGFuZGxlX2ZhdWx0X2Vycm9yX25vbG9jayhyZWdzLCAwKTtcXG4gNDU4OlxcdFxcdFxcdG1tID0gY3VycmVudC1cXHUwMDNlbW07XFxuIDQ1OTpcXHRcXHRcXHR2bWEgPSBsb2NrX21tX2FuZF9maW5kX3ZtYShtbSwgYWRkciwgcmVncyk7XFxuIDQ2MDpcXHRcXHRcXHRpZiAoIXZtYSlcXG4gNDYxOlxcdFxcdFxcdFxcdHJldHVybiBoYW5kbGVfZmF1bHRfZXJyb3Jfbm9sb2NrKHJlZ3MsIFNFR1ZfTUFQRVJSKTtcXG4gNDYyOlxcdFxcdFxcdGZvbGlvID0gZm9saW9fd2Fsa19zdGFydChcXHUwMDI2ZncsIHZtYSwgYWRkciwgMCk7XFxuIDQ2MzpcXHRcXHRcXHRpZiAoIWZvbGlvKSB7XFxuIDQ2NDpcXHRcXHRcXHRcXHRtbWFwX3JlYWRfdW5sb2NrKG1tKTtcXG4gNDY1OlxcdFxcdFxcdFxcdHJldHVybjtcXG4gNDY2OlxcdFxcdFxcdH1cXG4gNDY3OlxcdFxcdFxcdC8qIGFyY2hfbWFrZV9mb2xpb19hY2Nlc3NpYmxlKCkgbmVlZHMgYSByYWlzZWQgcmVmY291bnQuICovXFxuIDQ2ODpcXHRcXHRcXHRmb2xpb19nZXQoZm9saW8pO1xcbiA0Njk6XFx0XFx0XFx0cmMgPSBhcmNoX21ha2VfZm9saW9fYWNjZXNzaWJsZShmb2xpbyk7XFxuIDQ3MDpcXHRcXHRcXHRmb2xpb19wdXQoZm9saW8pO1xcbiA0NzE6XFx0XFx0XFx0Zm9saW9fd2Fsa19lbmQoXFx1MDAyNmZ3LCB2bWEpO1xcbiA0NzI6XFx0XFx0XFx0aWYgKHJjKVxcbiA0NzM6XFx0XFx0XFx0XFx0c2VuZF9zaWcoU0lHU0VHViwgY3VycmVudCwgMCk7XFxuIDQ3NDpcXHRcXHRcXHRtbWFwX3JlYWRfdW5sb2NrKG1tKTtcXG4gNDc1OlxcdFxcdH1cXG4gNDc2OlxcdH1cXG4gNDc3OlxcdE5PS1BST0JFX1NZTUJPTChkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3MpO1xcbiA0Nzg6XFx0XFxuIDQ3OTpcXHQjZW5kaWYgLyogQ09ORklHX0tWTSAqL1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xN1QxNzoxOTozNy43OTMwNTE3OTJaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1Njg0NzMyMjU5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZ1enppbmcgVGFyZ2V0IElkZW50aWZpY2F0aW9uKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBjb2RlIGFuZCBpbW1lZGlhdGVseSBzZWUgdGhhdCB0aGUgYGRvX3NlY3VyZV9zdG9yYWdlX2FjY2Vzc2AgZnVuY3Rpb24gaGFzIGEgYCNpZiBJU19FTkFCTEVEKENPTkZJR19LVk0pYCB3cmFwcGVyLiBUaGF0J3MgYSBwcmV0dHkgY2xlYXIgaW5kaWNhdG9yOiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgZGVwZW5kZW50IG9uIHRoZSBLZXJuZWwtYmFzZWQgVmlydHVhbCBNYWNoaW5lLCBvciBgS1ZNYC4gU2luY2UgaXQncyBjb25kaXRpb25hbCwgdGhhdCBpbXBsaWVzIGEgc3BlY2lmaWMgZXhlY3V0aW9uIHBhdGggd2hlbiBLVk0gaXMgZW5hYmxlZCwgYW5kIGEgc2VwYXJhdGUgb25lIHdoZW4gaXQncyBub3QuIFRoYXQgbWFrZXMgaXQgYSBnb29kIGNhbmRpZGF0ZSBmb3IgZnV6emluZywgZ2l2ZW4gdGhhdCBwYXRoIGRpdmVyZ2VuY2UuIExvb2tpbmcgaW50byB0aGUgZGV0YWlscyBvZiB0aGUgZnVuY3Rpb24sIGl0IHNlZW1zIGxpa2UgaXQgbW9kaWZpZXMgbG9jayBhY3F1aXNpdGlvbiBhbmQgZXJyb3IgaGFuZGxpbmcsIG1ha2luZyBpdCBldmVuIG1vcmUgaW50ZXJlc3RpbmcgZnJvbSBhIHNlY3VyaXR5IHBlcnNwZWN0aXZlLiBJdCBkZWZpbml0ZWx5IHdhcnJhbnRzIGEgY2xvc2VyIGxvb2sgdW5kZXIgdGhlIG1pY3Jvc2NvcGUgb2YgZnV6emluZy5cblxuTm93LCBsZXQgbWUganVzdCBxdWlja2x5IGRvdWJsZS1jaGVjayBmb3IgYW55IG90aGVyIHBvdGVudGlhbGx5IHJlbGV2YW50IGNvbmZpZ3VyYXRpb25zLiBCYXNlZCBvbiB0aGUgZG9jdW1lbnRhdGlvbiB0aGUgYGFyY2gvczM5MC9tbS9mYXVsdC5jYCBmaWxlIGhhcyBhIHNpbWlsYXIgcHJvZmlsZSBhcyBgZG9fc2VjdXJlX3N0b3JhZ2VfYWNjZXNzYC4gSXQncyBjb21waWxlZCBzcGVjaWZpY2FsbHkgZm9yIHRoZSBzMzkwIGFyY2hpdGVjdHVyZSwgd2hpY2ggYWxzbyBpcyB3b3J0aCBmdXp6aW5nLlxuXG5BbHJpZ2h0LCB3aXRoIHRoZXNlIHR3byB0YXJnZXRzIGlkZW50aWZpZWQsIEknbSBnb2luZyB0byBzZXQgdGhlc2UgcmVzdWx0cyBhbmQgcHJvY2VlZCB3aXRoIGZ1cnRoZXIgYW5hbHlzaXMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQzNTUsIk91dHB1dFRva2VucyI6MTE3LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTM5LCJUb29sQ2FsbHMiOlsicmVhZC1maWxlIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTdUMTc6MTk6NDMuNDc3Nzg2MTgxWiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNDgxODE2MDIsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIktWTVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImRvX3NlY3VyZV9zdG9yYWdlX2FjY2Vzc1wiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBwYWdlIGZhdWx0IGhhbmRsaW5nIGZvciBzZWN1cmUgc3RvcmFnZSBhY2Nlc3Mgb24gczM5MCAoZG9fc2VjdXJlX3N0b3JhZ2VfYWNjZXNzKS4gSXQgY2hhbmdlcyBob3cgdGhlIG1tYXAgbG9jayBpcyBhY3F1aXJlZCBhbmQgaG93IGVycm9ycyBhcmUgaGFuZGxlZCB3aGVuIGEgVk1BIGlzIG5vdCBmb3VuZC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGNvcmUgYXJjaGl0ZWN0dXJlIGNvZGUgYW5kIHNob3VsZCBiZSBmdXp6ZWQuIFRoZSBjb2RlIGlzIGd1YXJkZWQgYnkgQ09ORklHX0tWTS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJLVk1cIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJkb19zZWN1cmVfc3RvcmFnZV9hY2Nlc3NcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgcGFnZSBmYXVsdCBoYW5kbGluZyBmb3Igc2VjdXJlIHN0b3JhZ2UgYWNjZXNzIG9uIHMzOTAgKGRvX3NlY3VyZV9zdG9yYWdlX2FjY2VzcykuIEl0IGNoYW5nZXMgaG93IHRoZSBtbWFwIGxvY2sgaXMgYWNxdWlyZWQgYW5kIGhvdyBlcnJvcnMgYXJlIGhhbmRsZWQgd2hlbiBhIFZNQSBpcyBub3QgZm91bmQuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBjb3JlIGFyY2hpdGVjdHVyZSBjb2RlIGFuZCBzaG91bGQgYmUgZnV6emVkLiBUaGUgY29kZSBpcyBndWFyZGVkIGJ5IENPTkZJR19LVk0uXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowmx8nn[1] Phase: Succeeded StartedAt: 2026-07-17 17:19:54 +0000 UTC FinishedAt: 2026-07-17 17:19:54 +0000 UTC Input: nil Output: nil --------- Name: series-workflowmx8nn[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-17 17:19:54 +0000 UTC FinishedAt: 2026-07-17 17:19:54 +0000 UTC Input: nil Output: nil --------- Name: series-workflowmx8nn[2] Phase: Succeeded StartedAt: 2026-07-17 17:19:54 +0000 UTC FinishedAt: 2026-07-17 18:28:52 +0000 UTC Input: nil Output: nil --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-17 17:19:54 +0000 UTC FinishedAt: 2026-07-17 18:28:52 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-17 17:19:54 +0000 UTC FinishedAt: 2026-07-17 17:20:04 +0000 UTC Input: nil Output: nil --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-17 17:19:54 +0000 UTC FinishedAt: 2026-07-17 17:20:00 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowmx8nn/series-workflowmx8nn-convert-artifact-3373327143/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-17 17:20:04 +0000 UTC FinishedAt: 2026-07-17 17:51:55 +0000 UTC Input: nil Output: nil --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-17 17:20:04 +0000 UTC FinishedAt: 2026-07-17 17:51:55 +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:*b3c1bb98-4d53-4d58-8ac3-0ae5a3cbb8e6,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-workflowmx8nn/series-workflowmx8nn-convert-artifact-3373327143/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": "89aa410c-94b1-4951-8d22-409d1ee2375d", "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-workflowmx8nn/series-workflowmx8nn-build-action-2550739645/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-07-17 17:20:04 +0000 UTC FinishedAt: 2026-07-17 17:51:45 +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:*b3c1bb98-4d53-4d58-8ac3-0ae5a3cbb8e6,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-workflowmx8nn/series-workflowmx8nn-convert-artifact-3373327143/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": "89aa410c-94b1-4951-8d22-409d1ee2375d", "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-workflowmx8nn/series-workflowmx8nn-build-action-2550739645/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-17 17:51:55 +0000 UTC FinishedAt: 2026-07-17 17:51:55 +0000 UTC Input: nil Output: nil --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-17 17:51:55 +0000 UTC FinishedAt: 2026-07-17 17:51:55 +0000 UTC Input: nil Output: nil --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-17 17:51:55 +0000 UTC FinishedAt: 2026-07-17 17:52:05 +0000 UTC Input: nil Output: nil --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-17 17:51:55 +0000 UTC FinishedAt: 2026-07-17 17:52:01 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowmx8nn/series-workflowmx8nn-convert-artifact-3301674710/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-17 17:52:05 +0000 UTC FinishedAt: 2026-07-17 17:54:17 +0000 UTC Input: nil Output: nil --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-17 17:52:05 +0000 UTC FinishedAt: 2026-07-17 17:54:07 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*89aa410c-94b1-4951-8d22-409d1ee2375d,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-workflowmx8nn/series-workflowmx8nn-build-action-2550739645/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-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-17 17:54:17 +0000 UTC FinishedAt: 2026-07-17 17:54:17 +0000 UTC Input: nil Output: nil --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-17 17:54:17 +0000 UTC FinishedAt: 2026-07-17 17:54:17 +0000 UTC Input: nil Output: nil --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-17 17:54:17 +0000 UTC FinishedAt: 2026-07-17 18:23:50 +0000 UTC Input: nil Output: nil --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-17 17:54:17 +0000 UTC FinishedAt: 2026-07-17 18:23:50 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*b3c1bb98-4d53-4d58-8ac3-0ae5a3cbb8e6,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-workflowmx8nn/series-workflowmx8nn-convert-artifact-3301674710/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": "5bafd95c-bc97-4681-9152-38e73b8fb07f", "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-workflowmx8nn/series-workflowmx8nn-build-action-4118820058/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-17 17:54:17 +0000 UTC FinishedAt: 2026-07-17 18:23:40 +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:*b3c1bb98-4d53-4d58-8ac3-0ae5a3cbb8e6,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-workflowmx8nn/series-workflowmx8nn-convert-artifact-3301674710/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": "5bafd95c-bc97-4681-9152-38e73b8fb07f", "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-workflowmx8nn/series-workflowmx8nn-build-action-4118820058/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-17 18:23:50 +0000 UTC FinishedAt: 2026-07-17 18:23:50 +0000 UTC Input: nil Output: nil --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-17 18:23:50 +0000 UTC FinishedAt: 2026-07-17 18:23:50 +0000 UTC Input: nil Output: nil --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-17 18:23:50 +0000 UTC FinishedAt: 2026-07-17 18:25:46 +0000 UTC Input: nil Output: nil --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-17 18:23:50 +0000 UTC FinishedAt: 2026-07-17 18:25:36 +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:*5bafd95c-bc97-4681-9152-38e73b8fb07f,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-workflowmx8nn/series-workflowmx8nn-build-action-4118820058/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-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-17 18:25:46 +0000 UTC FinishedAt: 2026-07-17 18:28:52 +0000 UTC Input: nil Output: nil --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-17 18:25:46 +0000 UTC FinishedAt: 2026-07-17 18:28:52 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:config,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"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:*89aa410c-94b1-4951-8d22-409d1ee2375d,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*5bafd95c-bc97-4681-9152-38e73b8fb07f,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-workflowmx8nn/series-workflowmx8nn-build-action-2550739645/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-workflowmx8nn/series-workflowmx8nn-build-action-4118820058/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-17 18:25:46 +0000 UTC FinishedAt: 2026-07-17 18:25:56 +0000 UTC Input: nil Output: nil --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-17 18:25:46 +0000 UTC FinishedAt: 2026-07-17 18:25:51 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"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-workflowmx8nn/series-workflowmx8nn-convert-artifact-355035771/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-17 18:25:46 +0000 UTC FinishedAt: 2026-07-17 18:25:46 +0000 UTC Input: nil Output: nil --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-17 18:25:46 +0000 UTC FinishedAt: 2026-07-17 18:25:46 +0000 UTC Input: nil Output: nil --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-17 18:25:46 +0000 UTC FinishedAt: 2026-07-17 18:25:46 +0000 UTC Input: nil Output: nil --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-17 18:25:56 +0000 UTC FinishedAt: 2026-07-17 18:28:52 +0000 UTC Input: nil Output: nil --------- Name: series-workflowmx8nn[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["do_secure_storage_access"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM"],"series_id":"18027fce-98a2-4f29-ac12-c66698f585e6","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-17 18:25:56 +0000 UTC FinishedAt: 2026-07-17 18:28:31 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*89aa410c-94b1-4951-8d22-409d1ee2375d,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*5bafd95c-bc97-4681-9152-38e73b8fb07f,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-workflowmx8nn/series-workflowmx8nn-build-action-2550739645/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-workflowmx8nn/series-workflowmx8nn-build-action-4118820058/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-workflowmx8nn/series-workflowmx8nn-convert-artifact-355035771/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,}