Name: series-workflow9z4wq Phase: Succeeded StartedAt: 2026-08-03 11:28:21 +0000 UTC FinishedAt: 2026-08-03 13:00:40 +0000 UTC Input: nil Output: nil --------- Name: series-workflow9z4wq[0] Phase: Succeeded StartedAt: 2026-08-03 11:28:21 +0000 UTC FinishedAt: 2026-08-03 12:09:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflow9z4wq[0].run-triage Phase: Succeeded StartedAt: 2026-08-03 11:28:21 +0000 UTC FinishedAt: 2026-08-03 12:09:18 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "linux-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next", "commit_hash": "415606a7be939835db9b0d6b711887586646346d", "config_name": "upstream-apparmor-kasan.config", "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "linux-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next", "commit_hash": "415606a7be939835db9b0d6b711887586646346d", "config_name": "upstream-apparmor-kasan.config", "series_id": "c835c95d-f9cd-4ce1-bcc4-8fd72dbff97c" }, "track": "KASAN", "fuzz": { "focus": [ "fs" ], "focus_symbols": [ "vfs_open_consume", "vfs_open", "finish_open" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAzIDEyOjA4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7dmZzX29wZW5fY29uc3VtZSYjMzQ7LAogICAgJiMzNDt2ZnNfb3BlbiYjMzQ7LAogICAgJiMzNDtmaW5pc2hfb3BlbiYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyBjb3JlIFZGUyBmaWxlIG9wZW5pbmcgbG9naWMsIHNwZWNpZmljYWxseSBob3cgcGF0aCByZWZlcmVuY2VzIGFyZSBoYW5kbGVkIGFuZCBjb25zdW1lZCBkdXJpbmcgYGRvX2RlbnRyeV9vcGVuYCBhbmQgYHZmc19vcGVuYC4gVGhpcyBpcyBjcml0aWNhbCBjb3JlIGtlcm5lbCBmdW5jdGlvbmFsaXR5IHRoYXQgaXMgaGlnaGx5IHJlYWNoYWJsZSBhbmQgcHJvbmUgdG8gcmVmZXJlbmNlIGNvdW50aW5nIG9yIHVzZS1hZnRlci1mcmVlIGJ1Z3MgaWYgbWlzaGFuZGxlZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMyAxMjowODwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDRkN2E4YjI2NjZmNTg5YmM0MTMwZmYzYzBmNjJmOWY3OTI1YWI3OGNcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgTW9uIEF1ZyAzIDEyOjA4OjUwIDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2ZzL2ludGVybmFsLmggYi9mcy9pbnRlcm5hbC5oXG5pbmRleCBjNjU4YzhhNWViZDU2Li45NjMyMjM5MDM2YWNjIDEwMDY0NFxuLS0tIGEvZnMvaW50ZXJuYWwuaFxuJiM0MzsmIzQzOyYjNDM7IGIvZnMvaW50ZXJuYWwuaFxuQEAgLTIwNSw2ICYjNDM7MjA1LDcgQEAgaW50IGRvX2ZjaG93bmF0KGludCBkZmQsIGNvbnN0IGNoYXIgX191c2VyICpmaWxlbmFtZSwgdWlkX3QgdXNlciwgZ2lkX3QgZ3JvdXAsXG4gXHRcdGludCBmbGFnKTtcbiBpbnQgY2hvd25fY29tbW9uKGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCB1aWRfdCB1c2VyLCBnaWRfdCBncm91cCk7XG4gZXh0ZXJuIGludCB2ZnNfb3Blbihjb25zdCBzdHJ1Y3QgcGF0aCAqLCBzdHJ1Y3QgZmlsZSAqKTtcbiYjNDM7aW50IHZmc19vcGVuX2NvbnN1bWUoc3RydWN0IHBhdGggKiwgc3RydWN0IGZpbGUgKik7XG4gXG4gLypcbiAgKiBpbm9kZS5jXG5kaWZmIC0tZ2l0IGEvZnMvbmFtZWkuYyBiL2ZzL25hbWVpLmNcbmluZGV4IDNmOWJmMTAzYmExMjYuLmNmNzllY2VkZjI4ODAgMTAwNjQ0XG4tLS0gYS9mcy9uYW1laS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9mcy9uYW1laS5jXG5AQCAtNDc4OSw2ICYjNDM7NDc4OSw3IEBAIHN0YXRpYyBjb25zdCBjaGFyICpvcGVuX2xhc3RfbG9va3VwcyhzdHJ1Y3QgbmFtZWlkYXRhICpuZCxcbiBzdGF0aWMgaW50IGRvX29wZW4oc3RydWN0IG5hbWVpZGF0YSAqbmQsXG4gXHRcdCAgIHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBzdHJ1Y3Qgb3Blbl9mbGFncyAqb3ApXG4ge1xuJiM0MztcdHN0cnVjdCB2ZnNtb3VudCAqbW50O1xuIFx0c3RydWN0IG1udF9pZG1hcCAqaWRtYXA7XG4gXHRpbnQgb3Blbl9mbGFnID0gb3AtXHUwMDNlb3Blbl9mbGFnO1xuIFx0Ym9vbCBkb190cnVuY2F0ZTtcbkBAIC00ODI3LDE0ICYjNDM7NDgyOCwyMCBAQCBzdGF0aWMgaW50IGRvX29wZW4oc3RydWN0IG5hbWVpZGF0YSAqbmQsXG4gXHRcdG9wZW5fZmxhZyBcdTAwMjY9IH5PX1RSVU5DO1xuIFx0XHRhY2NfbW9kZSA9IDA7XG4gXHR9IGVsc2UgaWYgKGRfaXNfcmVnKG5kLVx1MDAzZXBhdGguZGVudHJ5KSBcdTAwMjZcdTAwMjYgb3Blbl9mbGFnIFx1MDAyNiBPX1RSVU5DKSB7XG4tXHRcdGVycm9yID0gbW50X3dhbnRfd3JpdGUobmQtXHUwMDNlcGF0aC5tbnQpO1xuJiM0MztcdFx0LypcbiYjNDM7XHRcdCAqIFN0YXNoIHRoZSBtb3VudCBwb2ludCBiZWZvcmUgdmZzX29wZW5fY29uc3VtZSgpIHdoYWNrcyBuZC1cdTAwM2VwYXRoLlxuJiM0MztcdFx0ICogSXQgaXMgc2FmZWx5IGFjY2Vzc2libGUgYmVjYXVzZSB0aGUgZmlsZSBvYmogdXNpbmcgaXQgaXMgZ3VhcmFudGVlZFxuJiM0MztcdFx0ICogdG8gbm90IGRpc2FwcGVhciB3aGlsZSB3ZSBleGVjdXRlLlxuJiM0MztcdFx0ICovXG4mIzQzO1x0XHRtbnQgPSBuZC1cdTAwM2VwYXRoLm1udDtcbiYjNDM7XHRcdGVycm9yID0gbW50X3dhbnRfd3JpdGUobW50KTtcbiBcdFx0aWYgKGVycm9yKVxuIFx0XHRcdHJldHVybiBlcnJvcjtcbiBcdFx0ZG9fdHJ1bmNhdGUgPSB0cnVlO1xuIFx0fVxuIFx0ZXJyb3IgPSBtYXlfb3BlbihpZG1hcCwgXHUwMDI2bmQtXHUwMDNlcGF0aCwgYWNjX21vZGUsIG9wZW5fZmxhZyk7XG4gXHRpZiAoIWVycm9yIFx1MDAyNlx1MDAyNiAhKGZpbGUtXHUwMDNlZl9tb2RlIFx1MDAyNiBGTU9ERV9PUEVORUQpKVxuLVx0XHRlcnJvciA9IHZmc19vcGVuKFx1MDAyNm5kLVx1MDAzZXBhdGgsIGZpbGUpO1xuJiM0MztcdFx0ZXJyb3IgPSB2ZnNfb3Blbl9jb25zdW1lKFx1MDAyNm5kLVx1MDAzZXBhdGgsIGZpbGUpO1xuIFx0aWYgKCFlcnJvcilcbiBcdFx0ZXJyb3IgPSBzZWN1cml0eV9maWxlX3Bvc3Rfb3BlbihmaWxlLCBvcC1cdTAwM2VhY2NfbW9kZSk7XG4gXHRpZiAoIWVycm9yIFx1MDAyNlx1MDAyNiBkb190cnVuY2F0ZSlcbkBAIC00ODQ0LDcgJiM0Mzs0ODUxLDcgQEAgc3RhdGljIGludCBkb19vcGVuKHN0cnVjdCBuYW1laWRhdGEgKm5kLFxuIFx0XHRlcnJvciA9IC1FSU5WQUw7XG4gXHR9XG4gXHRpZiAoZG9fdHJ1bmNhdGUpXG4tXHRcdG1udF9kcm9wX3dyaXRlKG5kLVx1MDAzZXBhdGgubW50KTtcbiYjNDM7XHRcdG1udF9kcm9wX3dyaXRlKG1udCk7XG4gXHRyZXR1cm4gZXJyb3I7XG4gfVxuIFxuZGlmZiAtLWdpdCBhL2ZzL29wZW4uYyBiL2ZzL29wZW4uY1xuaW5kZXggNmIxYzE0ZTY4NGE5My4uMmE3Njk3Y2VlMDBiYyAxMDA2NDRcbi0tLSBhL2ZzL29wZW4uY1xuJiM0MzsmIzQzOyYjNDM7IGIvZnMvb3Blbi5jXG5AQCAtOTMxLDYgJiM0Mzs5MzEsMTEgQEAgc3RhdGljIGlubGluZSBpbnQgZmlsZV9nZXRfd3JpdGVfYWNjZXNzKHN0cnVjdCBmaWxlICpmKVxuIFx0cmV0dXJuIGVycm9yO1xuIH1cbiBcbiYjNDM7LypcbiYjNDM7ICogUG9wdWxhdGUgc3RydWN0IGZpbGVcbiYjNDM7ICpcbiYjNDM7ICogTk9URTogaXQgYXNzdW1lcyBmX3BhdGggaXMgcG9wdWxhdGVkIGFuZCBjb25zdW1lcyB0aGUgY2FsbGVyJiMzOTtzIHJlZmVyZW5jZS5cbiYjNDM7ICovXG4gc3RhdGljIGludCBkb19kZW50cnlfb3BlbihzdHJ1Y3QgZmlsZSAqZixcbiBcdFx0XHQgIGludCAoKm9wZW4pKHN0cnVjdCBpbm9kZSAqLCBzdHJ1Y3QgZmlsZSAqKSlcbiB7XG5AQCAtOTM4LDcgJiM0Mzs5NDMsNiBAQCBzdGF0aWMgaW50IGRvX2RlbnRyeV9vcGVuKHN0cnVjdCBmaWxlICpmLFxuIFx0c3RydWN0IGlub2RlICppbm9kZSA9IGYtXHUwMDNlZl9wYXRoLmRlbnRyeS1cdTAwM2VkX2lub2RlO1xuIFx0aW50IGVycm9yO1xuIFxuLVx0cGF0aF9nZXQoXHUwMDI2Zi1cdTAwM2VmX3BhdGgpO1xuIFx0Zi1cdTAwM2VmX2lub2RlID0gaW5vZGU7XG4gXHRmLVx1MDAzZWZfbWFwcGluZyA9IGlub2RlLVx1MDAzZWlfbWFwcGluZztcbiBcdGYtXHUwMDNlZl93Yl9lcnIgPSBmaWxlbWFwX3NhbXBsZV93Yl9lcnIoZi1cdTAwM2VmX21hcHBpbmcpO1xuQEAgLTEwNTUsNiAmIzQzOzEwNTksNyBAQCBpbnQgZmluaXNoX29wZW4oc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSxcbiBcdEJVR19PTihmaWxlLVx1MDAzZWZfbW9kZSBcdTAwMjYgRk1PREVfT1BFTkVEKTsgLyogb25jZSBpdCYjMzk7cyBvcGVuZWQsIGl0JiMzOTtzIG9wZW5lZCAqL1xuIFxuIFx0ZmlsZS1cdTAwM2VfX2ZfcGF0aC5kZW50cnkgPSBkZW50cnk7XG4mIzQzO1x0cGF0aF9nZXQoXHUwMDI2ZmlsZS1cdTAwM2VmX3BhdGgpO1xuIFx0cmV0dXJuIGRvX2RlbnRyeV9vcGVuKGZpbGUsIG9wZW4pO1xuIH1cbiBFWFBPUlRfU1lNQk9MKGZpbmlzaF9vcGVuKTtcbkBAIC0xMDk4LDYgJiM0MzsxMTAzLDcgQEAgaW50IHZmc19vcGVuKGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3QgZmlsZSAqZmlsZSlcbiBcdGludCByZXQ7XG4gXG4gXHRmaWxlLVx1MDAzZV9fZl9wYXRoID0gKnBhdGg7XG4mIzQzO1x0cGF0aF9nZXQoXHUwMDI2ZmlsZS1cdTAwM2VmX3BhdGgpO1xuIFx0cmV0ID0gZG9fZGVudHJ5X29wZW4oZmlsZSwgTlVMTCk7XG4gXHRpZiAoIXJldCkge1xuIFx0XHQvKlxuQEAgLTExMTAsNiAmIzQzOzExMTYsMjUgQEAgaW50IHZmc19vcGVuKGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3QgZmlsZSAqZmlsZSlcbiBcdHJldHVybiByZXQ7XG4gfVxuIFxuJiM0MzsvKipcbiYjNDM7ICogdmZzX29wZW5fY29uc3VtZSAtIG9wZW4gdGhlIGZpbGUgYXQgdGhlIGdpdmVuIHBhdGggYW5kIGNvbnN1bWUgdGhlIHJlZmVyZW5jZVxuJiM0MzsgKiBAcGF0aDogcGF0aCB0byBvcGVuXG4mIzQzOyAqIEBmaWxlOiBuZXdseSBhbGxvY2F0ZWQgZmlsZSB3aXRoIGZfZmxhZyBpbml0aWFsaXplZFxuJiM0MzsgKi9cbiYjNDM7aW50IHZmc19vcGVuX2NvbnN1bWUoc3RydWN0IHBhdGggKnBhdGgsIHN0cnVjdCBmaWxlICpmaWxlKVxuJiM0Mzt7XG4mIzQzO1x0aW50IHJldDtcbiYjNDM7XG4mIzQzO1x0ZmlsZS1cdTAwM2VfX2ZfcGF0aCA9ICpwYXRoO1xuJiM0MztcdHBhdGgtXHUwMDNlbW50ID0gTlVMTDtcbiYjNDM7XHRwYXRoLVx1MDAzZWRlbnRyeSA9IE5VTEw7XG4mIzQzO1x0cmV0ID0gZG9fZGVudHJ5X29wZW4oZmlsZSwgTlVMTCk7XG4mIzQzO1x0aWYgKCFyZXQpIHtcbiYjNDM7XHRcdGZzbm90aWZ5X29wZW4oZmlsZSk7XG4mIzQzO1x0fVxuJiM0MztcdHJldHVybiByZXQ7XG4mIzQzO31cbiYjNDM7XG4gc3RydWN0IGZpbGUgKmRlbnRyeV9vcGVuKGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCBpbnQgZmxhZ3MsXG4gXHRcdFx0IGNvbnN0IHN0cnVjdCBjcmVkICpjcmVkKVxuIHtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMyAxMjowODwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5iZXN0LWV4cGVuc2l2ZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDt2ZnNfb3Blbl9jb25zdW1lJiMzNDssCiAgICAmIzM0O3Zmc19vcGVuJiMzNDssCiAgICAmIzM0O2ZpbmlzaF9vcGVuJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIGNvcmUgVkZTIGZpbGUgb3BlbmluZyBsb2dpYywgc3BlY2lmaWNhbGx5IGhvdyBwYXRoIHJlZmVyZW5jZXMgYXJlIGhhbmRsZWQgYW5kIGNvbnN1bWVkIGR1cmluZyBgZG9fZGVudHJ5X29wZW5gIGFuZCBgdmZzX29wZW5gLiBUaGlzIGlzIGNyaXRpY2FsIGNvcmUga2VybmVsIGZ1bmN0aW9uYWxpdHkgdGhhdCBpcyBoaWdobHkgcmVhY2hhYmxlIGFuZCBwcm9uZSB0byByZWZlcmVuY2UgY291bnRpbmcgb3IgdXNlLWFmdGVyLWZyZWUgYnVncyBpZiBtaXNoYW5kbGVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgotIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpCiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zCiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBBbHNvIGNoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncwogICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3MKICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgNGQ3YThiMjY2NmY1ODliYzQxMzBmZjNjMGY2MmY5Zjc5MjVhYjc4YwpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBNb24gQXVnIDMgMTI6MDg6NTAgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9mcy9pbnRlcm5hbC5oIGIvZnMvaW50ZXJuYWwuaAppbmRleCBjNjU4YzhhNWViZDU2Li45NjMyMjM5MDM2YWNjIDEwMDY0NAotLS0gYS9mcy9pbnRlcm5hbC5oCiYjNDM7JiM0MzsmIzQzOyBiL2ZzL2ludGVybmFsLmgKQEAgLTIwNSw2ICYjNDM7MjA1LDcgQEAgaW50IGRvX2ZjaG93bmF0KGludCBkZmQsIGNvbnN0IGNoYXIgX191c2VyICpmaWxlbmFtZSwgdWlkX3QgdXNlciwgZ2lkX3QgZ3JvdXAsCiAJCWludCBmbGFnKTsKIGludCBjaG93bl9jb21tb24oY29uc3Qgc3RydWN0IHBhdGggKnBhdGgsIHVpZF90IHVzZXIsIGdpZF90IGdyb3VwKTsKIGV4dGVybiBpbnQgdmZzX29wZW4oY29uc3Qgc3RydWN0IHBhdGggKiwgc3RydWN0IGZpbGUgKik7CiYjNDM7aW50IHZmc19vcGVuX2NvbnN1bWUoc3RydWN0IHBhdGggKiwgc3RydWN0IGZpbGUgKik7CiAKIC8qCiAgKiBpbm9kZS5jCmRpZmYgLS1naXQgYS9mcy9uYW1laS5jIGIvZnMvbmFtZWkuYwppbmRleCAzZjliZjEwM2JhMTI2Li5jZjc5ZWNlZGYyODgwIDEwMDY0NAotLS0gYS9mcy9uYW1laS5jCiYjNDM7JiM0MzsmIzQzOyBiL2ZzL25hbWVpLmMKQEAgLTQ3ODksNiAmIzQzOzQ3ODksNyBAQCBzdGF0aWMgY29uc3QgY2hhciAqb3Blbl9sYXN0X2xvb2t1cHMoc3RydWN0IG5hbWVpZGF0YSAqbmQsCiBzdGF0aWMgaW50IGRvX29wZW4oc3RydWN0IG5hbWVpZGF0YSAqbmQsCiAJCSAgIHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBzdHJ1Y3Qgb3Blbl9mbGFncyAqb3ApCiB7CiYjNDM7CXN0cnVjdCB2ZnNtb3VudCAqbW50OwogCXN0cnVjdCBtbnRfaWRtYXAgKmlkbWFwOwogCWludCBvcGVuX2ZsYWcgPSBvcC0mZ3Q7b3Blbl9mbGFnOwogCWJvb2wgZG9fdHJ1bmNhdGU7CkBAIC00ODI3LDE0ICYjNDM7NDgyOCwyMCBAQCBzdGF0aWMgaW50IGRvX29wZW4oc3RydWN0IG5hbWVpZGF0YSAqbmQsCiAJCW9wZW5fZmxhZyAmYW1wOz0gfk9fVFJVTkM7CiAJCWFjY19tb2RlID0gMDsKIAl9IGVsc2UgaWYgKGRfaXNfcmVnKG5kLSZndDtwYXRoLmRlbnRyeSkgJmFtcDsmYW1wOyBvcGVuX2ZsYWcgJmFtcDsgT19UUlVOQykgewotCQllcnJvciA9IG1udF93YW50X3dyaXRlKG5kLSZndDtwYXRoLm1udCk7CiYjNDM7CQkvKgomIzQzOwkJICogU3Rhc2ggdGhlIG1vdW50IHBvaW50IGJlZm9yZSB2ZnNfb3Blbl9jb25zdW1lKCkgd2hhY2tzIG5kLSZndDtwYXRoLgomIzQzOwkJICogSXQgaXMgc2FmZWx5IGFjY2Vzc2libGUgYmVjYXVzZSB0aGUgZmlsZSBvYmogdXNpbmcgaXQgaXMgZ3VhcmFudGVlZAomIzQzOwkJICogdG8gbm90IGRpc2FwcGVhciB3aGlsZSB3ZSBleGVjdXRlLgomIzQzOwkJICovCiYjNDM7CQltbnQgPSBuZC0mZ3Q7cGF0aC5tbnQ7CiYjNDM7CQllcnJvciA9IG1udF93YW50X3dyaXRlKG1udCk7CiAJCWlmIChlcnJvcikKIAkJCXJldHVybiBlcnJvcjsKIAkJZG9fdHJ1bmNhdGUgPSB0cnVlOwogCX0KIAllcnJvciA9IG1heV9vcGVuKGlkbWFwLCAmYW1wO25kLSZndDtwYXRoLCBhY2NfbW9kZSwgb3Blbl9mbGFnKTsKIAlpZiAoIWVycm9yICZhbXA7JmFtcDsgIShmaWxlLSZndDtmX21vZGUgJmFtcDsgRk1PREVfT1BFTkVEKSkKLQkJZXJyb3IgPSB2ZnNfb3BlbigmYW1wO25kLSZndDtwYXRoLCBmaWxlKTsKJiM0MzsJCWVycm9yID0gdmZzX29wZW5fY29uc3VtZSgmYW1wO25kLSZndDtwYXRoLCBmaWxlKTsKIAlpZiAoIWVycm9yKQogCQllcnJvciA9IHNlY3VyaXR5X2ZpbGVfcG9zdF9vcGVuKGZpbGUsIG9wLSZndDthY2NfbW9kZSk7CiAJaWYgKCFlcnJvciAmYW1wOyZhbXA7IGRvX3RydW5jYXRlKQpAQCAtNDg0NCw3ICYjNDM7NDg1MSw3IEBAIHN0YXRpYyBpbnQgZG9fb3BlbihzdHJ1Y3QgbmFtZWlkYXRhICpuZCwKIAkJZXJyb3IgPSAtRUlOVkFMOwogCX0KIAlpZiAoZG9fdHJ1bmNhdGUpCi0JCW1udF9kcm9wX3dyaXRlKG5kLSZndDtwYXRoLm1udCk7CiYjNDM7CQltbnRfZHJvcF93cml0ZShtbnQpOwogCXJldHVybiBlcnJvcjsKIH0KIApkaWZmIC0tZ2l0IGEvZnMvb3Blbi5jIGIvZnMvb3Blbi5jCmluZGV4IDZiMWMxNGU2ODRhOTMuLjJhNzY5N2NlZTAwYmMgMTAwNjQ0Ci0tLSBhL2ZzL29wZW4uYwomIzQzOyYjNDM7JiM0MzsgYi9mcy9vcGVuLmMKQEAgLTkzMSw2ICYjNDM7OTMxLDExIEBAIHN0YXRpYyBpbmxpbmUgaW50IGZpbGVfZ2V0X3dyaXRlX2FjY2VzcyhzdHJ1Y3QgZmlsZSAqZikKIAlyZXR1cm4gZXJyb3I7CiB9CiAKJiM0MzsvKgomIzQzOyAqIFBvcHVsYXRlIHN0cnVjdCBmaWxlCiYjNDM7ICoKJiM0MzsgKiBOT1RFOiBpdCBhc3N1bWVzIGZfcGF0aCBpcyBwb3B1bGF0ZWQgYW5kIGNvbnN1bWVzIHRoZSBjYWxsZXImIzM5O3MgcmVmZXJlbmNlLgomIzQzOyAqLwogc3RhdGljIGludCBkb19kZW50cnlfb3BlbihzdHJ1Y3QgZmlsZSAqZiwKIAkJCSAgaW50ICgqb3Blbikoc3RydWN0IGlub2RlICosIHN0cnVjdCBmaWxlICopKQogewpAQCAtOTM4LDcgJiM0Mzs5NDMsNiBAQCBzdGF0aWMgaW50IGRvX2RlbnRyeV9vcGVuKHN0cnVjdCBmaWxlICpmLAogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBmLSZndDtmX3BhdGguZGVudHJ5LSZndDtkX2lub2RlOwogCWludCBlcnJvcjsKIAotCXBhdGhfZ2V0KCZhbXA7Zi0mZ3Q7Zl9wYXRoKTsKIAlmLSZndDtmX2lub2RlID0gaW5vZGU7CiAJZi0mZ3Q7Zl9tYXBwaW5nID0gaW5vZGUtJmd0O2lfbWFwcGluZzsKIAlmLSZndDtmX3diX2VyciA9IGZpbGVtYXBfc2FtcGxlX3diX2VycihmLSZndDtmX21hcHBpbmcpOwpAQCAtMTA1NSw2ICYjNDM7MTA1OSw3IEBAIGludCBmaW5pc2hfb3BlbihzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LAogCUJVR19PTihmaWxlLSZndDtmX21vZGUgJmFtcDsgRk1PREVfT1BFTkVEKTsgLyogb25jZSBpdCYjMzk7cyBvcGVuZWQsIGl0JiMzOTtzIG9wZW5lZCAqLwogCiAJZmlsZS0mZ3Q7X19mX3BhdGguZGVudHJ5ID0gZGVudHJ5OwomIzQzOwlwYXRoX2dldCgmYW1wO2ZpbGUtJmd0O2ZfcGF0aCk7CiAJcmV0dXJuIGRvX2RlbnRyeV9vcGVuKGZpbGUsIG9wZW4pOwogfQogRVhQT1JUX1NZTUJPTChmaW5pc2hfb3Blbik7CkBAIC0xMDk4LDYgJiM0MzsxMTAzLDcgQEAgaW50IHZmc19vcGVuKGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIAlpbnQgcmV0OwogCiAJZmlsZS0mZ3Q7X19mX3BhdGggPSAqcGF0aDsKJiM0MzsJcGF0aF9nZXQoJmFtcDtmaWxlLSZndDtmX3BhdGgpOwogCXJldCA9IGRvX2RlbnRyeV9vcGVuKGZpbGUsIE5VTEwpOwogCWlmICghcmV0KSB7CiAJCS8qCkBAIC0xMTEwLDYgJiM0MzsxMTE2LDI1IEBAIGludCB2ZnNfb3Blbihjb25zdCBzdHJ1Y3QgcGF0aCAqcGF0aCwgc3RydWN0IGZpbGUgKmZpbGUpCiAJcmV0dXJuIHJldDsKIH0KIAomIzQzOy8qKgomIzQzOyAqIHZmc19vcGVuX2NvbnN1bWUgLSBvcGVuIHRoZSBmaWxlIGF0IHRoZSBnaXZlbiBwYXRoIGFuZCBjb25zdW1lIHRoZSByZWZlcmVuY2UKJiM0MzsgKiBAcGF0aDogcGF0aCB0byBvcGVuCiYjNDM7ICogQGZpbGU6IG5ld2x5IGFsbG9jYXRlZCBmaWxlIHdpdGggZl9mbGFnIGluaXRpYWxpemVkCiYjNDM7ICovCiYjNDM7aW50IHZmc19vcGVuX2NvbnN1bWUoc3RydWN0IHBhdGggKnBhdGgsIHN0cnVjdCBmaWxlICpmaWxlKQomIzQzO3sKJiM0MzsJaW50IHJldDsKJiM0MzsKJiM0MzsJZmlsZS0mZ3Q7X19mX3BhdGggPSAqcGF0aDsKJiM0MzsJcGF0aC0mZ3Q7bW50ID0gTlVMTDsKJiM0MzsJcGF0aC0mZ3Q7ZGVudHJ5ID0gTlVMTDsKJiM0MzsJcmV0ID0gZG9fZGVudHJ5X29wZW4oZmlsZSwgTlVMTCk7CiYjNDM7CWlmICghcmV0KSB7CiYjNDM7CQlmc25vdGlmeV9vcGVuKGZpbGUpOwomIzQzOwl9CiYjNDM7CXJldHVybiByZXQ7CiYjNDM7fQomIzQzOwogc3RydWN0IGZpbGUgKmRlbnRyeV9vcGVuKGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCBpbnQgZmxhZ3MsCiAJCQkgY29uc3Qgc3RydWN0IGNyZWQgKmNyZWQpCiB7CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAzIDEyOjA4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMzNzkKCQkJCQkJCW91dHB1dDogMjAKCQkJCQkJCXRob3VnaHRzOiA2MjAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgQ29yZSBWRlMgTW9kaWZpY2F0aW9uKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgdG91Y2hpbmcgc29tZSBrZXkgZmlsZXM6IGBmcy9uYW1laS5jYCwgYGZzL29wZW4uY2AsIGFuZCBgZnMvaW50ZXJuYWwuaGAuIFJpZ2h0IG9mZiB0aGUgYmF0LCB0aGF0IHNjcmVhbXMgJiMzNDtpbXBvcnRhbnQmIzM0OyBhbmQgJiMzNDtwb3RlbnRpYWwgZm9yIGludGVyZXN0aW5nIGZ1enppbmcgdGFyZ2V0cy4mIzM0OyBUaGUgaW50cm9kdWN0aW9uIG9mIGB2ZnNfb3Blbl9jb25zdW1lYCBhbmQgaXRzIGludGVncmF0aW9uIHdpdGhpbiBgZG9fb3BlbmAgaW4gYGZzL25hbWVpLmNgIGFyZSB0aGUgaW1tZWRpYXRlIHBvaW50cyBvZiBpbnRlcmVzdC4gUGx1cywgdGhlIGFsdGVyYXRpb24gb2YgYGRvX2RlbnRyeV9vcGVuYCB0byBjaGFuZ2UgdGhlIGBwYXRoX2dldGAgY2FsbHMsIG1vdmluZyB0aGVtIHRvIGBmaW5pc2hfb3BlbmAgYW5kIGB2ZnNfb3BlbmAgaXMgYW5vdGhlciBzaWduaWZpY2FudCBwaWVjZSBvZiB0aGlzLgoKTXkgaW5pdGlhbCBmb2N1cyBuZWVkcyB0byBiZSBvbiB0aGVzZSBmdW5jdGlvbnM6IGB2ZnNfb3Blbl9jb25zdW1lYCwgYGZpbmlzaF9vcGVuYCwgYW5kIGB2ZnNfb3BlbmAuIEkgaW5pdGlhbGx5IGJlbGlldmVkIGBkb19vcGVuYCB3YXMgYWxzbyBhIGtleSBzeW1ib2wsIGJ1dCB1cG9uIGludmVzdGlnYXRpb24sIGl0IHR1cm5zIG91dCBpdCYjMzk7cyBzdGF0aWMgd2l0aGluIGBmcy9uYW1laS5jYCwgd2hpY2ggbWFrZXMgaXQgbGVzcyBkaXJlY3RseSBleHBvc2VkIGFzIGFuIGVudHJ5IHBvaW50LiBJdCYjMzk7cyBjYWxsZWQgYnkgYHBhdGhfb3BlbmF0YCwgd2hpY2ggaW4gdHVybiBpcyBjYWxsZWQgYnkgYGRvX2ZpbHBfb3BlbmAsIHdoaWNoIGlzIG5vdCBzdGF0aWMuCgpTbywgSSBuZWVkIHRvIGxvb2sgY2xvc2VseSBhdCBob3cgdGhlc2UgdGhyZWUgZnVuY3Rpb25zLCBgdmZzX29wZW5fY29uc3VtZWAsIGBmaW5pc2hfb3BlbmAsIGFuZCBgdmZzX29wZW5gLCBpbnRlcmFjdC4gYHZmc19vcGVuX2NvbnN1bWVgIGlzIG5ldywgcmVzaWRpbmcgaW4gYGZzL29wZW4uY2AuIEkgY2hlY2tlZCwgYW5kIGB2ZnNfb3BlbmAgYW5kIGBmaW5pc2hfb3BlbmAgYXJlIGRlZmluZWQgaW4gYGZzL2ludGVybmFsLmhgLiBUaGVyZSBhcmUgbm8gc3BlY2lmaWMgY29uZmlndXJhdGlvbiBvcHRpb25zIHRvIHdvcnJ5IGFib3V0IGFzIHRoaXMgaXMgYSBjb3JlIFZGUyBjaGFuZ2UgdGhhdCB3aWxsIGFsd2F5cyBiZSBlbmFibGVkLgoKSnVzdCB0byBiZSBzdXJlLCBJ4oCZbGwgcXVpY2tseSBkb3VibGUtY2hlY2sgdGhlIHNpZ25hdHVyZSBvZiBgdmZzX29wZW5fY29uc3VtZWA6IGBpbnQgdmZzX29wZW5fY29uc3VtZShzdHJ1Y3QgcGF0aCAqcGF0aCwgc3RydWN0IGZpbGUgKmZpbGUpYC4gVGltZSB0byBkaWcgZGVlcGVyIGludG8gdGhlIGNvZGUgYW5kIHNlZSBob3cgdGhlc2UgcGllY2VzIGZpdCB0b2dldGhlci4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMyAxMjowODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDt2ZnNfb3Blbl9jb25zdW1lJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2ZzL2ludGVybmFsLmg9MjA3PWV4dGVybiBpbnQgdmZzX29wZW4oY29uc3Qgc3RydWN0IHBhdGggKiwgc3RydWN0IGZpbGUgKik7XG5mcy9pbnRlcm5hbC5oOjIwODppbnQgdmZzX29wZW5fY29uc3VtZShzdHJ1Y3QgcGF0aCAqLCBzdHJ1Y3QgZmlsZSAqKTtcbmZzL2ludGVybmFsLmgtMjA5LVxuLS1cbmZzL25hbWVpLmM9NDc4OT1zdGF0aWMgaW50IGRvX29wZW4oc3RydWN0IG5hbWVpZGF0YSAqbmQsXG4tLVxuZnMvbmFtZWkuYy00ODMxLVx0XHQvKlxuZnMvbmFtZWkuYzo0ODMyOlx0XHQgKiBTdGFzaCB0aGUgbW91bnQgcG9pbnQgYmVmb3JlIHZmc19vcGVuX2NvbnN1bWUoKSB3aGFja3MgbmQtXHUwMDNlcGF0aC5cbmZzL25hbWVpLmMtNDgzMy1cdFx0ICogSXQgaXMgc2FmZWx5IGFjY2Vzc2libGUgYmVjYXVzZSB0aGUgZmlsZSBvYmogdXNpbmcgaXQgaXMgZ3VhcmFudGVlZFxuLS1cbmZzL25hbWVpLmMtNDg0My1cdGlmICghZXJyb3IgXHUwMDI2XHUwMDI2ICEoZmlsZS1cdTAwM2VmX21vZGUgXHUwMDI2IEZNT0RFX09QRU5FRCkpXG5mcy9uYW1laS5jOjQ4NDQ6XHRcdGVycm9yID0gdmZzX29wZW5fY29uc3VtZShcdTAwMjZuZC1cdTAwM2VwYXRoLCBmaWxlKTtcbmZzL25hbWVpLmMtNDg0NS1cdGlmICghZXJyb3IpXG4tLVxuZnMvb3Blbi5jPTExMDE9aW50IHZmc19vcGVuKGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3QgZmlsZSAqZmlsZSlcbi0tXG5mcy9vcGVuLmMtMTExOS0vKipcbmZzL29wZW4uYzoxMTIwOiAqIHZmc19vcGVuX2NvbnN1bWUgLSBvcGVuIHRoZSBmaWxlIGF0IHRoZSBnaXZlbiBwYXRoIGFuZCBjb25zdW1lIHRoZSByZWZlcmVuY2VcbmZzL29wZW4uYy0xMTIxLSAqIEBwYXRoOiBwYXRoIHRvIG9wZW5cbi0tXG5mcy9vcGVuLmMtMTEyMy0gKi9cbmZzL29wZW4uYzoxMTI0OmludCB2ZnNfb3Blbl9jb25zdW1lKHN0cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3QgZmlsZSAqZmlsZSlcbmZzL29wZW4uYy0xMTI1LXtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMyAxMjowOTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0ODQ0CgkJCQkJCQlvdXRwdXQ6IDExMgoJCQkJCQkJdGhvdWdodHM6IDE3MQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIFZGUyBGaWxlIE9wZW4gUGF0Y2gqKgoKT2theSwgc28gdGhpcyBwYXRjaCBpcyBkaWdnaW5nIGludG8gdGhlIGhlYXJ0IG9mIHRoZSBWaXJ0dWFsIEZpbGUgU3lzdGVtIChWRlMpLCBzcGVjaWZpY2FsbHkgdGhlIGZpbGUgb3BlbmluZyBwcm9jZXNzLiBJdCBzZWVtcyB0byBiZSBtb2RpZnlpbmcgc29tZSBjb3JlIGxvZ2ljIHdpdGhpbiBgZG9fZGVudHJ5X29wZW5gLCBgdmZzX29wZW5gLCBgZmluaXNoX29wZW5gLCBhbmQgYHZmc19vcGVuX2NvbnN1bWVgLiBUaGF0JiMzOTtzICpkZWZpbml0ZWx5KiBhbiBhcmVhIHRoYXQgc2NyZWFtcyBmb3IgZnV6emluZy4gQW55IGNoYW5nZSB0byBob3cgcGF0aCByZWZlcmVuY2VzIGFyZSBtYW5hZ2VkIGR1cmluZyBhIGZpbGUgb3BlbiBpcyBhIHByaW1lIHRhcmdldCBmb3IgdW5jb3ZlcmluZyBzdWJ0bGUgcmVmZXJlbmNlIGNvdW50aW5nIGJ1Z3Mgb3IgbmFzdHkgdXNlLWFmdGVyLWZyZWUgdnVsbmVyYWJpbGl0aWVzIOKAkyBlc3BlY2lhbGx5IGluIHRoZSBWRlMuIFRoaXMgaXMgbG93LWhhbmdpbmcgZnJ1aXQsIHJpcGUgZm9yIGV4cGxvaXRhdGlvbi4gVGhlIGJlYXV0eSBvZiB0aGlzIGlzIHRoYXQgaXQmIzM5O3MgY29yZSBWRlMsIHNvIG5vIHNwZWNpYWwgY29uZmlndXJhdGlvbnMgYXJlIGxpa2VseSBuZWVkZWQgdG8gdHJpZ2dlciB0aGUgcmVsZXZhbnQgY29kZSBwYXRocy4gSXQgc2hvdWxkIGp1c3Qgd29yay4KCk15IGZvY3VzIHNob3VsZCBiZSBvbiB0aGUgY2FsbCBjaGFpbiBpbnZvbHZpbmcgYHZmc19vcGVuX2NvbnN1bWVgLCBgdmZzX29wZW5gLCBhbmQgYGZpbmlzaF9vcGVuYCwgYXMgaXQgY2hhbmdlcyB0aGluZ3MgaW4gdGhlIGZpbGUgb3BlbmluZyBwcm9jZXNzLiBJIGNvdWxkIGxvb2sgYXQgYGRvX2ZpbHBfb3BlbmAgdG8gbWFrZSBzdXJlIEkgZG9uJiMzOTt0IG1pc3MgYW55dGhpbmcsIGJ1dCBgdmZzX29wZW5fY29uc3VtZWAgcHJvYmFibHkgY292ZXJzIGl0IGFsbC4gTGV0JiMzOTtzIHN0YXJ0IHdpdGggdGhvc2UgdGhyZWUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDMgMTI6MDk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3Zmc19vcGVuX2NvbnN1bWUmIzM0OywKICAgICYjMzQ7dmZzX29wZW4mIzM0OywKICAgICYjMzQ7ZmluaXNoX29wZW4mIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgY29yZSBWRlMgZmlsZSBvcGVuaW5nIGxvZ2ljLCBzcGVjaWZpY2FsbHkgaG93IHBhdGggcmVmZXJlbmNlcyBhcmUgaGFuZGxlZCBhbmQgY29uc3VtZWQgZHVyaW5nIGBkb19kZW50cnlfb3BlbmAgYW5kIGB2ZnNfb3BlbmAuIFRoaXMgaXMgY3JpdGljYWwgY29yZSBrZXJuZWwgZnVuY3Rpb25hbGl0eSB0aGF0IGlzIGhpZ2hseSByZWFjaGFibGUgYW5kIHByb25lIHRvIHJlZmVyZW5jZSBjb3VudGluZyBvciB1c2UtYWZ0ZXItZnJlZSBidWdzIGlmIG1pc2hhbmRsZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7dmZzX29wZW5fY29uc3VtZSYjMzQ7LAogICAgJiMzNDt2ZnNfb3BlbiYjMzQ7LAogICAgJiMzNDtmaW5pc2hfb3BlbiYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyBjb3JlIFZGUyBmaWxlIG9wZW5pbmcgbG9naWMsIHNwZWNpZmljYWxseSBob3cgcGF0aCByZWZlcmVuY2VzIGFyZSBoYW5kbGVkIGFuZCBjb25zdW1lZCBkdXJpbmcgYGRvX2RlbnRyeV9vcGVuYCBhbmQgYHZmc19vcGVuYC4gVGhpcyBpcyBjcml0aWNhbCBjb3JlIGtlcm5lbCBmdW5jdGlvbmFsaXR5IHRoYXQgaXMgaGlnaGx5IHJlYWNoYWJsZSBhbmQgcHJvbmUgdG8gcmVmZXJlbmNlIGNvdW50aW5nIG9yIHVzZS1hZnRlci1mcmVlIGJ1Z3MgaWYgbWlzaGFuZGxlZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAzVDEyOjA4OjUxLjIwNTQ0NjYzNVoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE1OTQzMTIyMDg4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInZmc19vcGVuX2NvbnN1bWVcIixcbiAgICBcInZmc19vcGVuXCIsXG4gICAgXCJmaW5pc2hfb3BlblwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIGNvcmUgVkZTIGZpbGUgb3BlbmluZyBsb2dpYywgc3BlY2lmaWNhbGx5IGhvdyBwYXRoIHJlZmVyZW5jZXMgYXJlIGhhbmRsZWQgYW5kIGNvbnN1bWVkIGR1cmluZyBgZG9fZGVudHJ5X29wZW5gIGFuZCBgdmZzX29wZW5gLiBUaGlzIGlzIGNyaXRpY2FsIGNvcmUga2VybmVsIGZ1bmN0aW9uYWxpdHkgdGhhdCBpcyBoaWdobHkgcmVhY2hhYmxlIGFuZCBwcm9uZSB0byByZWZlcmVuY2UgY291bnRpbmcgb3IgdXNlLWFmdGVyLWZyZWUgYnVncyBpZiBtaXNoYW5kbGVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wM1QxMjowODo1MS4yMDU0NTE4ODVaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjM5MjEwNDU0NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IDRkN2E4YjI2NjZmNTg5YmM0MTMwZmYzYzBmNjJmOWY3OTI1YWI3OGNcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIE1vbiBBdWcgMyAxMjowODo1MCAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9mcy9pbnRlcm5hbC5oIGIvZnMvaW50ZXJuYWwuaFxcbmluZGV4IGM2NThjOGE1ZWJkNTYuLjk2MzIyMzkwMzZhY2MgMTAwNjQ0XFxuLS0tIGEvZnMvaW50ZXJuYWwuaFxcbisrKyBiL2ZzL2ludGVybmFsLmhcXG5AQCAtMjA1LDYgKzIwNSw3IEBAIGludCBkb19mY2hvd25hdChpbnQgZGZkLCBjb25zdCBjaGFyIF9fdXNlciAqZmlsZW5hbWUsIHVpZF90IHVzZXIsIGdpZF90IGdyb3VwLFxcbiBcXHRcXHRpbnQgZmxhZyk7XFxuIGludCBjaG93bl9jb21tb24oY29uc3Qgc3RydWN0IHBhdGggKnBhdGgsIHVpZF90IHVzZXIsIGdpZF90IGdyb3VwKTtcXG4gZXh0ZXJuIGludCB2ZnNfb3Blbihjb25zdCBzdHJ1Y3QgcGF0aCAqLCBzdHJ1Y3QgZmlsZSAqKTtcXG4raW50IHZmc19vcGVuX2NvbnN1bWUoc3RydWN0IHBhdGggKiwgc3RydWN0IGZpbGUgKik7XFxuIFxcbiAvKlxcbiAgKiBpbm9kZS5jXFxuZGlmZiAtLWdpdCBhL2ZzL25hbWVpLmMgYi9mcy9uYW1laS5jXFxuaW5kZXggM2Y5YmYxMDNiYTEyNi4uY2Y3OWVjZWRmMjg4MCAxMDA2NDRcXG4tLS0gYS9mcy9uYW1laS5jXFxuKysrIGIvZnMvbmFtZWkuY1xcbkBAIC00Nzg5LDYgKzQ3ODksNyBAQCBzdGF0aWMgY29uc3QgY2hhciAqb3Blbl9sYXN0X2xvb2t1cHMoc3RydWN0IG5hbWVpZGF0YSAqbmQsXFxuIHN0YXRpYyBpbnQgZG9fb3BlbihzdHJ1Y3QgbmFtZWlkYXRhICpuZCxcXG4gXFx0XFx0ICAgc3RydWN0IGZpbGUgKmZpbGUsIGNvbnN0IHN0cnVjdCBvcGVuX2ZsYWdzICpvcClcXG4ge1xcbitcXHRzdHJ1Y3QgdmZzbW91bnQgKm1udDtcXG4gXFx0c3RydWN0IG1udF9pZG1hcCAqaWRtYXA7XFxuIFxcdGludCBvcGVuX2ZsYWcgPSBvcC1cXHUwMDNlb3Blbl9mbGFnO1xcbiBcXHRib29sIGRvX3RydW5jYXRlO1xcbkBAIC00ODI3LDE0ICs0ODI4LDIwIEBAIHN0YXRpYyBpbnQgZG9fb3BlbihzdHJ1Y3QgbmFtZWlkYXRhICpuZCxcXG4gXFx0XFx0b3Blbl9mbGFnIFxcdTAwMjY9IH5PX1RSVU5DO1xcbiBcXHRcXHRhY2NfbW9kZSA9IDA7XFxuIFxcdH0gZWxzZSBpZiAoZF9pc19yZWcobmQtXFx1MDAzZXBhdGguZGVudHJ5KSBcXHUwMDI2XFx1MDAyNiBvcGVuX2ZsYWcgXFx1MDAyNiBPX1RSVU5DKSB7XFxuLVxcdFxcdGVycm9yID0gbW50X3dhbnRfd3JpdGUobmQtXFx1MDAzZXBhdGgubW50KTtcXG4rXFx0XFx0LypcXG4rXFx0XFx0ICogU3Rhc2ggdGhlIG1vdW50IHBvaW50IGJlZm9yZSB2ZnNfb3Blbl9jb25zdW1lKCkgd2hhY2tzIG5kLVxcdTAwM2VwYXRoLlxcbitcXHRcXHQgKiBJdCBpcyBzYWZlbHkgYWNjZXNzaWJsZSBiZWNhdXNlIHRoZSBmaWxlIG9iaiB1c2luZyBpdCBpcyBndWFyYW50ZWVkXFxuK1xcdFxcdCAqIHRvIG5vdCBkaXNhcHBlYXIgd2hpbGUgd2UgZXhlY3V0ZS5cXG4rXFx0XFx0ICovXFxuK1xcdFxcdG1udCA9IG5kLVxcdTAwM2VwYXRoLm1udDtcXG4rXFx0XFx0ZXJyb3IgPSBtbnRfd2FudF93cml0ZShtbnQpO1xcbiBcXHRcXHRpZiAoZXJyb3IpXFxuIFxcdFxcdFxcdHJldHVybiBlcnJvcjtcXG4gXFx0XFx0ZG9fdHJ1bmNhdGUgPSB0cnVlO1xcbiBcXHR9XFxuIFxcdGVycm9yID0gbWF5X29wZW4oaWRtYXAsIFxcdTAwMjZuZC1cXHUwMDNlcGF0aCwgYWNjX21vZGUsIG9wZW5fZmxhZyk7XFxuIFxcdGlmICghZXJyb3IgXFx1MDAyNlxcdTAwMjYgIShmaWxlLVxcdTAwM2VmX21vZGUgXFx1MDAyNiBGTU9ERV9PUEVORUQpKVxcbi1cXHRcXHRlcnJvciA9IHZmc19vcGVuKFxcdTAwMjZuZC1cXHUwMDNlcGF0aCwgZmlsZSk7XFxuK1xcdFxcdGVycm9yID0gdmZzX29wZW5fY29uc3VtZShcXHUwMDI2bmQtXFx1MDAzZXBhdGgsIGZpbGUpO1xcbiBcXHRpZiAoIWVycm9yKVxcbiBcXHRcXHRlcnJvciA9IHNlY3VyaXR5X2ZpbGVfcG9zdF9vcGVuKGZpbGUsIG9wLVxcdTAwM2VhY2NfbW9kZSk7XFxuIFxcdGlmICghZXJyb3IgXFx1MDAyNlxcdTAwMjYgZG9fdHJ1bmNhdGUpXFxuQEAgLTQ4NDQsNyArNDg1MSw3IEBAIHN0YXRpYyBpbnQgZG9fb3BlbihzdHJ1Y3QgbmFtZWlkYXRhICpuZCxcXG4gXFx0XFx0ZXJyb3IgPSAtRUlOVkFMO1xcbiBcXHR9XFxuIFxcdGlmIChkb190cnVuY2F0ZSlcXG4tXFx0XFx0bW50X2Ryb3Bfd3JpdGUobmQtXFx1MDAzZXBhdGgubW50KTtcXG4rXFx0XFx0bW50X2Ryb3Bfd3JpdGUobW50KTtcXG4gXFx0cmV0dXJuIGVycm9yO1xcbiB9XFxuIFxcbmRpZmYgLS1naXQgYS9mcy9vcGVuLmMgYi9mcy9vcGVuLmNcXG5pbmRleCA2YjFjMTRlNjg0YTkzLi4yYTc2OTdjZWUwMGJjIDEwMDY0NFxcbi0tLSBhL2ZzL29wZW4uY1xcbisrKyBiL2ZzL29wZW4uY1xcbkBAIC05MzEsNiArOTMxLDExIEBAIHN0YXRpYyBpbmxpbmUgaW50IGZpbGVfZ2V0X3dyaXRlX2FjY2VzcyhzdHJ1Y3QgZmlsZSAqZilcXG4gXFx0cmV0dXJuIGVycm9yO1xcbiB9XFxuIFxcbisvKlxcbisgKiBQb3B1bGF0ZSBzdHJ1Y3QgZmlsZVxcbisgKlxcbisgKiBOT1RFOiBpdCBhc3N1bWVzIGZfcGF0aCBpcyBwb3B1bGF0ZWQgYW5kIGNvbnN1bWVzIHRoZSBjYWxsZXIncyByZWZlcmVuY2UuXFxuKyAqL1xcbiBzdGF0aWMgaW50IGRvX2RlbnRyeV9vcGVuKHN0cnVjdCBmaWxlICpmLFxcbiBcXHRcXHRcXHQgIGludCAoKm9wZW4pKHN0cnVjdCBpbm9kZSAqLCBzdHJ1Y3QgZmlsZSAqKSlcXG4ge1xcbkBAIC05MzgsNyArOTQzLDYgQEAgc3RhdGljIGludCBkb19kZW50cnlfb3BlbihzdHJ1Y3QgZmlsZSAqZixcXG4gXFx0c3RydWN0IGlub2RlICppbm9kZSA9IGYtXFx1MDAzZWZfcGF0aC5kZW50cnktXFx1MDAzZWRfaW5vZGU7XFxuIFxcdGludCBlcnJvcjtcXG4gXFxuLVxcdHBhdGhfZ2V0KFxcdTAwMjZmLVxcdTAwM2VmX3BhdGgpO1xcbiBcXHRmLVxcdTAwM2VmX2lub2RlID0gaW5vZGU7XFxuIFxcdGYtXFx1MDAzZWZfbWFwcGluZyA9IGlub2RlLVxcdTAwM2VpX21hcHBpbmc7XFxuIFxcdGYtXFx1MDAzZWZfd2JfZXJyID0gZmlsZW1hcF9zYW1wbGVfd2JfZXJyKGYtXFx1MDAzZWZfbWFwcGluZyk7XFxuQEAgLTEwNTUsNiArMTA1OSw3IEBAIGludCBmaW5pc2hfb3BlbihzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LFxcbiBcXHRCVUdfT04oZmlsZS1cXHUwMDNlZl9tb2RlIFxcdTAwMjYgRk1PREVfT1BFTkVEKTsgLyogb25jZSBpdCdzIG9wZW5lZCwgaXQncyBvcGVuZWQgKi9cXG4gXFxuIFxcdGZpbGUtXFx1MDAzZV9fZl9wYXRoLmRlbnRyeSA9IGRlbnRyeTtcXG4rXFx0cGF0aF9nZXQoXFx1MDAyNmZpbGUtXFx1MDAzZWZfcGF0aCk7XFxuIFxcdHJldHVybiBkb19kZW50cnlfb3BlbihmaWxlLCBvcGVuKTtcXG4gfVxcbiBFWFBPUlRfU1lNQk9MKGZpbmlzaF9vcGVuKTtcXG5AQCAtMTA5OCw2ICsxMTAzLDcgQEAgaW50IHZmc19vcGVuKGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3QgZmlsZSAqZmlsZSlcXG4gXFx0aW50IHJldDtcXG4gXFxuIFxcdGZpbGUtXFx1MDAzZV9fZl9wYXRoID0gKnBhdGg7XFxuK1xcdHBhdGhfZ2V0KFxcdTAwMjZmaWxlLVxcdTAwM2VmX3BhdGgpO1xcbiBcXHRyZXQgPSBkb19kZW50cnlfb3BlbihmaWxlLCBOVUxMKTtcXG4gXFx0aWYgKCFyZXQpIHtcXG4gXFx0XFx0LypcXG5AQCAtMTExMCw2ICsxMTE2LDI1IEBAIGludCB2ZnNfb3Blbihjb25zdCBzdHJ1Y3QgcGF0aCAqcGF0aCwgc3RydWN0IGZpbGUgKmZpbGUpXFxuIFxcdHJldHVybiByZXQ7XFxuIH1cXG4gXFxuKy8qKlxcbisgKiB2ZnNfb3Blbl9jb25zdW1lIC0gb3BlbiB0aGUgZmlsZSBhdCB0aGUgZ2l2ZW4gcGF0aCBhbmQgY29uc3VtZSB0aGUgcmVmZXJlbmNlXFxuKyAqIEBwYXRoOiBwYXRoIHRvIG9wZW5cXG4rICogQGZpbGU6IG5ld2x5IGFsbG9jYXRlZCBmaWxlIHdpdGggZl9mbGFnIGluaXRpYWxpemVkXFxuKyAqL1xcbitpbnQgdmZzX29wZW5fY29uc3VtZShzdHJ1Y3QgcGF0aCAqcGF0aCwgc3RydWN0IGZpbGUgKmZpbGUpXFxuK3tcXG4rXFx0aW50IHJldDtcXG4rXFxuK1xcdGZpbGUtXFx1MDAzZV9fZl9wYXRoID0gKnBhdGg7XFxuK1xcdHBhdGgtXFx1MDAzZW1udCA9IE5VTEw7XFxuK1xcdHBhdGgtXFx1MDAzZWRlbnRyeSA9IE5VTEw7XFxuK1xcdHJldCA9IGRvX2RlbnRyeV9vcGVuKGZpbGUsIE5VTEwpO1xcbitcXHRpZiAoIXJldCkge1xcbitcXHRcXHRmc25vdGlmeV9vcGVuKGZpbGUpO1xcbitcXHR9XFxuK1xcdHJldHVybiByZXQ7XFxuK31cXG4rXFxuIHN0cnVjdCBmaWxlICpkZW50cnlfb3Blbihjb25zdCBzdHJ1Y3QgcGF0aCAqcGF0aCwgaW50IGZsYWdzLFxcbiBcXHRcXHRcXHQgY29uc3Qgc3RydWN0IGNyZWQgKmNyZWQpXFxuIHtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDNUMTI6MDg6NTEuNTk4MzgxMzhaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJiZXN0LWV4cGVuc2l2ZSIsIkR1cmF0aW9uIjoxNTU1MDE4MDQ2MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJ2ZnNfb3Blbl9jb25zdW1lXCIsXG4gICAgXCJ2ZnNfb3BlblwiLFxuICAgIFwiZmluaXNoX29wZW5cIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyBjb3JlIFZGUyBmaWxlIG9wZW5pbmcgbG9naWMsIHNwZWNpZmljYWxseSBob3cgcGF0aCByZWZlcmVuY2VzIGFyZSBoYW5kbGVkIGFuZCBjb25zdW1lZCBkdXJpbmcgYGRvX2RlbnRyeV9vcGVuYCBhbmQgYHZmc19vcGVuYC4gVGhpcyBpcyBjcml0aWNhbCBjb3JlIGtlcm5lbCBmdW5jdGlvbmFsaXR5IHRoYXQgaXMgaGlnaGx5IHJlYWNoYWJsZSBhbmQgcHJvbmUgdG8gcmVmZXJlbmNlIGNvdW50aW5nIG9yIHVzZS1hZnRlci1mcmVlIGJ1Z3MgaWYgbWlzaGFuZGxlZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG4tIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSlcbiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4gICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnNcbiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBBbHNvIGNoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlnc1xuICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzXG4gICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgNGQ3YThiMjY2NmY1ODliYzQxMzBmZjNjMGY2MmY5Zjc5MjVhYjc4Y1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBNb24gQXVnIDMgMTI6MDg6NTAgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9mcy9pbnRlcm5hbC5oIGIvZnMvaW50ZXJuYWwuaFxuaW5kZXggYzY1OGM4YTVlYmQ1Ni4uOTYzMjIzOTAzNmFjYyAxMDA2NDRcbi0tLSBhL2ZzL2ludGVybmFsLmhcbisrKyBiL2ZzL2ludGVybmFsLmhcbkBAIC0yMDUsNiArMjA1LDcgQEAgaW50IGRvX2ZjaG93bmF0KGludCBkZmQsIGNvbnN0IGNoYXIgX191c2VyICpmaWxlbmFtZSwgdWlkX3QgdXNlciwgZ2lkX3QgZ3JvdXAsXG4gXHRcdGludCBmbGFnKTtcbiBpbnQgY2hvd25fY29tbW9uKGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCB1aWRfdCB1c2VyLCBnaWRfdCBncm91cCk7XG4gZXh0ZXJuIGludCB2ZnNfb3Blbihjb25zdCBzdHJ1Y3QgcGF0aCAqLCBzdHJ1Y3QgZmlsZSAqKTtcbitpbnQgdmZzX29wZW5fY29uc3VtZShzdHJ1Y3QgcGF0aCAqLCBzdHJ1Y3QgZmlsZSAqKTtcbiBcbiAvKlxuICAqIGlub2RlLmNcbmRpZmYgLS1naXQgYS9mcy9uYW1laS5jIGIvZnMvbmFtZWkuY1xuaW5kZXggM2Y5YmYxMDNiYTEyNi4uY2Y3OWVjZWRmMjg4MCAxMDA2NDRcbi0tLSBhL2ZzL25hbWVpLmNcbisrKyBiL2ZzL25hbWVpLmNcbkBAIC00Nzg5LDYgKzQ3ODksNyBAQCBzdGF0aWMgY29uc3QgY2hhciAqb3Blbl9sYXN0X2xvb2t1cHMoc3RydWN0IG5hbWVpZGF0YSAqbmQsXG4gc3RhdGljIGludCBkb19vcGVuKHN0cnVjdCBuYW1laWRhdGEgKm5kLFxuIFx0XHQgICBzdHJ1Y3QgZmlsZSAqZmlsZSwgY29uc3Qgc3RydWN0IG9wZW5fZmxhZ3MgKm9wKVxuIHtcbitcdHN0cnVjdCB2ZnNtb3VudCAqbW50O1xuIFx0c3RydWN0IG1udF9pZG1hcCAqaWRtYXA7XG4gXHRpbnQgb3Blbl9mbGFnID0gb3AtXHUwMDNlb3Blbl9mbGFnO1xuIFx0Ym9vbCBkb190cnVuY2F0ZTtcbkBAIC00ODI3LDE0ICs0ODI4LDIwIEBAIHN0YXRpYyBpbnQgZG9fb3BlbihzdHJ1Y3QgbmFtZWlkYXRhICpuZCxcbiBcdFx0b3Blbl9mbGFnIFx1MDAyNj0gfk9fVFJVTkM7XG4gXHRcdGFjY19tb2RlID0gMDtcbiBcdH0gZWxzZSBpZiAoZF9pc19yZWcobmQtXHUwMDNlcGF0aC5kZW50cnkpIFx1MDAyNlx1MDAyNiBvcGVuX2ZsYWcgXHUwMDI2IE9fVFJVTkMpIHtcbi1cdFx0ZXJyb3IgPSBtbnRfd2FudF93cml0ZShuZC1cdTAwM2VwYXRoLm1udCk7XG4rXHRcdC8qXG4rXHRcdCAqIFN0YXNoIHRoZSBtb3VudCBwb2ludCBiZWZvcmUgdmZzX29wZW5fY29uc3VtZSgpIHdoYWNrcyBuZC1cdTAwM2VwYXRoLlxuK1x0XHQgKiBJdCBpcyBzYWZlbHkgYWNjZXNzaWJsZSBiZWNhdXNlIHRoZSBmaWxlIG9iaiB1c2luZyBpdCBpcyBndWFyYW50ZWVkXG4rXHRcdCAqIHRvIG5vdCBkaXNhcHBlYXIgd2hpbGUgd2UgZXhlY3V0ZS5cbitcdFx0ICovXG4rXHRcdG1udCA9IG5kLVx1MDAzZXBhdGgubW50O1xuK1x0XHRlcnJvciA9IG1udF93YW50X3dyaXRlKG1udCk7XG4gXHRcdGlmIChlcnJvcilcbiBcdFx0XHRyZXR1cm4gZXJyb3I7XG4gXHRcdGRvX3RydW5jYXRlID0gdHJ1ZTtcbiBcdH1cbiBcdGVycm9yID0gbWF5X29wZW4oaWRtYXAsIFx1MDAyNm5kLVx1MDAzZXBhdGgsIGFjY19tb2RlLCBvcGVuX2ZsYWcpO1xuIFx0aWYgKCFlcnJvciBcdTAwMjZcdTAwMjYgIShmaWxlLVx1MDAzZWZfbW9kZSBcdTAwMjYgRk1PREVfT1BFTkVEKSlcbi1cdFx0ZXJyb3IgPSB2ZnNfb3BlbihcdTAwMjZuZC1cdTAwM2VwYXRoLCBmaWxlKTtcbitcdFx0ZXJyb3IgPSB2ZnNfb3Blbl9jb25zdW1lKFx1MDAyNm5kLVx1MDAzZXBhdGgsIGZpbGUpO1xuIFx0aWYgKCFlcnJvcilcbiBcdFx0ZXJyb3IgPSBzZWN1cml0eV9maWxlX3Bvc3Rfb3BlbihmaWxlLCBvcC1cdTAwM2VhY2NfbW9kZSk7XG4gXHRpZiAoIWVycm9yIFx1MDAyNlx1MDAyNiBkb190cnVuY2F0ZSlcbkBAIC00ODQ0LDcgKzQ4NTEsNyBAQCBzdGF0aWMgaW50IGRvX29wZW4oc3RydWN0IG5hbWVpZGF0YSAqbmQsXG4gXHRcdGVycm9yID0gLUVJTlZBTDtcbiBcdH1cbiBcdGlmIChkb190cnVuY2F0ZSlcbi1cdFx0bW50X2Ryb3Bfd3JpdGUobmQtXHUwMDNlcGF0aC5tbnQpO1xuK1x0XHRtbnRfZHJvcF93cml0ZShtbnQpO1xuIFx0cmV0dXJuIGVycm9yO1xuIH1cbiBcbmRpZmYgLS1naXQgYS9mcy9vcGVuLmMgYi9mcy9vcGVuLmNcbmluZGV4IDZiMWMxNGU2ODRhOTMuLjJhNzY5N2NlZTAwYmMgMTAwNjQ0XG4tLS0gYS9mcy9vcGVuLmNcbisrKyBiL2ZzL29wZW4uY1xuQEAgLTkzMSw2ICs5MzEsMTEgQEAgc3RhdGljIGlubGluZSBpbnQgZmlsZV9nZXRfd3JpdGVfYWNjZXNzKHN0cnVjdCBmaWxlICpmKVxuIFx0cmV0dXJuIGVycm9yO1xuIH1cbiBcbisvKlxuKyAqIFBvcHVsYXRlIHN0cnVjdCBmaWxlXG4rICpcbisgKiBOT1RFOiBpdCBhc3N1bWVzIGZfcGF0aCBpcyBwb3B1bGF0ZWQgYW5kIGNvbnN1bWVzIHRoZSBjYWxsZXIncyByZWZlcmVuY2UuXG4rICovXG4gc3RhdGljIGludCBkb19kZW50cnlfb3BlbihzdHJ1Y3QgZmlsZSAqZixcbiBcdFx0XHQgIGludCAoKm9wZW4pKHN0cnVjdCBpbm9kZSAqLCBzdHJ1Y3QgZmlsZSAqKSlcbiB7XG5AQCAtOTM4LDcgKzk0Myw2IEBAIHN0YXRpYyBpbnQgZG9fZGVudHJ5X29wZW4oc3RydWN0IGZpbGUgKmYsXG4gXHRzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZi1cdTAwM2VmX3BhdGguZGVudHJ5LVx1MDAzZWRfaW5vZGU7XG4gXHRpbnQgZXJyb3I7XG4gXG4tXHRwYXRoX2dldChcdTAwMjZmLVx1MDAzZWZfcGF0aCk7XG4gXHRmLVx1MDAzZWZfaW5vZGUgPSBpbm9kZTtcbiBcdGYtXHUwMDNlZl9tYXBwaW5nID0gaW5vZGUtXHUwMDNlaV9tYXBwaW5nO1xuIFx0Zi1cdTAwM2VmX3diX2VyciA9IGZpbGVtYXBfc2FtcGxlX3diX2VycihmLVx1MDAzZWZfbWFwcGluZyk7XG5AQCAtMTA1NSw2ICsxMDU5LDcgQEAgaW50IGZpbmlzaF9vcGVuKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksXG4gXHRCVUdfT04oZmlsZS1cdTAwM2VmX21vZGUgXHUwMDI2IEZNT0RFX09QRU5FRCk7IC8qIG9uY2UgaXQncyBvcGVuZWQsIGl0J3Mgb3BlbmVkICovXG4gXG4gXHRmaWxlLVx1MDAzZV9fZl9wYXRoLmRlbnRyeSA9IGRlbnRyeTtcbitcdHBhdGhfZ2V0KFx1MDAyNmZpbGUtXHUwMDNlZl9wYXRoKTtcbiBcdHJldHVybiBkb19kZW50cnlfb3BlbihmaWxlLCBvcGVuKTtcbiB9XG4gRVhQT1JUX1NZTUJPTChmaW5pc2hfb3Blbik7XG5AQCAtMTA5OCw2ICsxMTAzLDcgQEAgaW50IHZmc19vcGVuKGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3QgZmlsZSAqZmlsZSlcbiBcdGludCByZXQ7XG4gXG4gXHRmaWxlLVx1MDAzZV9fZl9wYXRoID0gKnBhdGg7XG4rXHRwYXRoX2dldChcdTAwMjZmaWxlLVx1MDAzZWZfcGF0aCk7XG4gXHRyZXQgPSBkb19kZW50cnlfb3BlbihmaWxlLCBOVUxMKTtcbiBcdGlmICghcmV0KSB7XG4gXHRcdC8qXG5AQCAtMTExMCw2ICsxMTE2LDI1IEBAIGludCB2ZnNfb3Blbihjb25zdCBzdHJ1Y3QgcGF0aCAqcGF0aCwgc3RydWN0IGZpbGUgKmZpbGUpXG4gXHRyZXR1cm4gcmV0O1xuIH1cbiBcbisvKipcbisgKiB2ZnNfb3Blbl9jb25zdW1lIC0gb3BlbiB0aGUgZmlsZSBhdCB0aGUgZ2l2ZW4gcGF0aCBhbmQgY29uc3VtZSB0aGUgcmVmZXJlbmNlXG4rICogQHBhdGg6IHBhdGggdG8gb3BlblxuKyAqIEBmaWxlOiBuZXdseSBhbGxvY2F0ZWQgZmlsZSB3aXRoIGZfZmxhZyBpbml0aWFsaXplZFxuKyAqL1xuK2ludCB2ZnNfb3Blbl9jb25zdW1lKHN0cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3QgZmlsZSAqZmlsZSlcbit7XG4rXHRpbnQgcmV0O1xuK1xuK1x0ZmlsZS1cdTAwM2VfX2ZfcGF0aCA9ICpwYXRoO1xuK1x0cGF0aC1cdTAwM2VtbnQgPSBOVUxMO1xuK1x0cGF0aC1cdTAwM2VkZW50cnkgPSBOVUxMO1xuK1x0cmV0ID0gZG9fZGVudHJ5X29wZW4oZmlsZSwgTlVMTCk7XG4rXHRpZiAoIXJldCkge1xuK1x0XHRmc25vdGlmeV9vcGVuKGZpbGUpO1xuK1x0fVxuK1x0cmV0dXJuIHJldDtcbit9XG4rXG4gc3RydWN0IGZpbGUgKmRlbnRyeV9vcGVuKGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCBpbnQgZmxhZ3MsXG4gXHRcdFx0IGNvbnN0IHN0cnVjdCBjcmVkICpjcmVkKVxuIHtcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAzVDEyOjA4OjUxLjU5ODM4NDM5WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6ODI2MTAyMjg0MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBDb3JlIFZGUyBNb2RpZmljYXRpb24qKlxuXG5Pa2F5LCBzbyB0aGlzIHBhdGNoIGlzIHRvdWNoaW5nIHNvbWUga2V5IGZpbGVzOiBgZnMvbmFtZWkuY2AsIGBmcy9vcGVuLmNgLCBhbmQgYGZzL2ludGVybmFsLmhgLiBSaWdodCBvZmYgdGhlIGJhdCwgdGhhdCBzY3JlYW1zIFwiaW1wb3J0YW50XCIgYW5kIFwicG90ZW50aWFsIGZvciBpbnRlcmVzdGluZyBmdXp6aW5nIHRhcmdldHMuXCIgVGhlIGludHJvZHVjdGlvbiBvZiBgdmZzX29wZW5fY29uc3VtZWAgYW5kIGl0cyBpbnRlZ3JhdGlvbiB3aXRoaW4gYGRvX29wZW5gIGluIGBmcy9uYW1laS5jYCBhcmUgdGhlIGltbWVkaWF0ZSBwb2ludHMgb2YgaW50ZXJlc3QuIFBsdXMsIHRoZSBhbHRlcmF0aW9uIG9mIGBkb19kZW50cnlfb3BlbmAgdG8gY2hhbmdlIHRoZSBgcGF0aF9nZXRgIGNhbGxzLCBtb3ZpbmcgdGhlbSB0byBgZmluaXNoX29wZW5gIGFuZCBgdmZzX29wZW5gIGlzIGFub3RoZXIgc2lnbmlmaWNhbnQgcGllY2Ugb2YgdGhpcy5cblxuTXkgaW5pdGlhbCBmb2N1cyBuZWVkcyB0byBiZSBvbiB0aGVzZSBmdW5jdGlvbnM6IGB2ZnNfb3Blbl9jb25zdW1lYCwgYGZpbmlzaF9vcGVuYCwgYW5kIGB2ZnNfb3BlbmAuIEkgaW5pdGlhbGx5IGJlbGlldmVkIGBkb19vcGVuYCB3YXMgYWxzbyBhIGtleSBzeW1ib2wsIGJ1dCB1cG9uIGludmVzdGlnYXRpb24sIGl0IHR1cm5zIG91dCBpdCdzIHN0YXRpYyB3aXRoaW4gYGZzL25hbWVpLmNgLCB3aGljaCBtYWtlcyBpdCBsZXNzIGRpcmVjdGx5IGV4cG9zZWQgYXMgYW4gZW50cnkgcG9pbnQuIEl0J3MgY2FsbGVkIGJ5IGBwYXRoX29wZW5hdGAsIHdoaWNoIGluIHR1cm4gaXMgY2FsbGVkIGJ5IGBkb19maWxwX29wZW5gLCB3aGljaCBpcyBub3Qgc3RhdGljLlxuXG5TbywgSSBuZWVkIHRvIGxvb2sgY2xvc2VseSBhdCBob3cgdGhlc2UgdGhyZWUgZnVuY3Rpb25zLCBgdmZzX29wZW5fY29uc3VtZWAsIGBmaW5pc2hfb3BlbmAsIGFuZCBgdmZzX29wZW5gLCBpbnRlcmFjdC4gYHZmc19vcGVuX2NvbnN1bWVgIGlzIG5ldywgcmVzaWRpbmcgaW4gYGZzL29wZW4uY2AuIEkgY2hlY2tlZCwgYW5kIGB2ZnNfb3BlbmAgYW5kIGBmaW5pc2hfb3BlbmAgYXJlIGRlZmluZWQgaW4gYGZzL2ludGVybmFsLmhgLiBUaGVyZSBhcmUgbm8gc3BlY2lmaWMgY29uZmlndXJhdGlvbiBvcHRpb25zIHRvIHdvcnJ5IGFib3V0IGFzIHRoaXMgaXMgYSBjb3JlIFZGUyBjaGFuZ2UgdGhhdCB3aWxsIGFsd2F5cyBiZSBlbmFibGVkLlxuXG5KdXN0IHRvIGJlIHN1cmUsIEnigJlsbCBxdWlja2x5IGRvdWJsZS1jaGVjayB0aGUgc2lnbmF0dXJlIG9mIGB2ZnNfb3Blbl9jb25zdW1lYDogYGludCB2ZnNfb3Blbl9jb25zdW1lKHN0cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3QgZmlsZSAqZmlsZSlgLiBUaW1lIHRvIGRpZyBkZWVwZXIgaW50byB0aGUgY29kZSBhbmQgc2VlIGhvdyB0aGVzZSBwaWVjZXMgZml0IHRvZ2V0aGVyLlxuXG5cbiIsIklucHV0VG9rZW5zIjozMzc5LCJPdXRwdXRUb2tlbnMiOjIwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NjIwLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDNUMTI6MDg6NTkuODU5NDA5NDNaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjEyODEzMzczMywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJ2ZnNfb3Blbl9jb25zdW1lXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImZzL2ludGVybmFsLmg9MjA3PWV4dGVybiBpbnQgdmZzX29wZW4oY29uc3Qgc3RydWN0IHBhdGggKiwgc3RydWN0IGZpbGUgKik7XFxuZnMvaW50ZXJuYWwuaDoyMDg6aW50IHZmc19vcGVuX2NvbnN1bWUoc3RydWN0IHBhdGggKiwgc3RydWN0IGZpbGUgKik7XFxuZnMvaW50ZXJuYWwuaC0yMDktXFxuLS1cXG5mcy9uYW1laS5jPTQ3ODk9c3RhdGljIGludCBkb19vcGVuKHN0cnVjdCBuYW1laWRhdGEgKm5kLFxcbi0tXFxuZnMvbmFtZWkuYy00ODMxLVxcdFxcdC8qXFxuZnMvbmFtZWkuYzo0ODMyOlxcdFxcdCAqIFN0YXNoIHRoZSBtb3VudCBwb2ludCBiZWZvcmUgdmZzX29wZW5fY29uc3VtZSgpIHdoYWNrcyBuZC1cXHUwMDNlcGF0aC5cXG5mcy9uYW1laS5jLTQ4MzMtXFx0XFx0ICogSXQgaXMgc2FmZWx5IGFjY2Vzc2libGUgYmVjYXVzZSB0aGUgZmlsZSBvYmogdXNpbmcgaXQgaXMgZ3VhcmFudGVlZFxcbi0tXFxuZnMvbmFtZWkuYy00ODQzLVxcdGlmICghZXJyb3IgXFx1MDAyNlxcdTAwMjYgIShmaWxlLVxcdTAwM2VmX21vZGUgXFx1MDAyNiBGTU9ERV9PUEVORUQpKVxcbmZzL25hbWVpLmM6NDg0NDpcXHRcXHRlcnJvciA9IHZmc19vcGVuX2NvbnN1bWUoXFx1MDAyNm5kLVxcdTAwM2VwYXRoLCBmaWxlKTtcXG5mcy9uYW1laS5jLTQ4NDUtXFx0aWYgKCFlcnJvcilcXG4tLVxcbmZzL29wZW4uYz0xMTAxPWludCB2ZnNfb3Blbihjb25zdCBzdHJ1Y3QgcGF0aCAqcGF0aCwgc3RydWN0IGZpbGUgKmZpbGUpXFxuLS1cXG5mcy9vcGVuLmMtMTExOS0vKipcXG5mcy9vcGVuLmM6MTEyMDogKiB2ZnNfb3Blbl9jb25zdW1lIC0gb3BlbiB0aGUgZmlsZSBhdCB0aGUgZ2l2ZW4gcGF0aCBhbmQgY29uc3VtZSB0aGUgcmVmZXJlbmNlXFxuZnMvb3Blbi5jLTExMjEtICogQHBhdGg6IHBhdGggdG8gb3Blblxcbi0tXFxuZnMvb3Blbi5jLTExMjMtICovXFxuZnMvb3Blbi5jOjExMjQ6aW50IHZmc19vcGVuX2NvbnN1bWUoc3RydWN0IHBhdGggKnBhdGgsIHN0cnVjdCBmaWxlICpmaWxlKVxcbmZzL29wZW4uYy0xMTI1LXtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDNUMTI6MDk6MDEuOTg3NTUwMDY0WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTE2MDk3MjEwOSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIFZGUyBGaWxlIE9wZW4gUGF0Y2gqKlxuXG5Pa2F5LCBzbyB0aGlzIHBhdGNoIGlzIGRpZ2dpbmcgaW50byB0aGUgaGVhcnQgb2YgdGhlIFZpcnR1YWwgRmlsZSBTeXN0ZW0gKFZGUyksIHNwZWNpZmljYWxseSB0aGUgZmlsZSBvcGVuaW5nIHByb2Nlc3MuIEl0IHNlZW1zIHRvIGJlIG1vZGlmeWluZyBzb21lIGNvcmUgbG9naWMgd2l0aGluIGBkb19kZW50cnlfb3BlbmAsIGB2ZnNfb3BlbmAsIGBmaW5pc2hfb3BlbmAsIGFuZCBgdmZzX29wZW5fY29uc3VtZWAuIFRoYXQncyAqZGVmaW5pdGVseSogYW4gYXJlYSB0aGF0IHNjcmVhbXMgZm9yIGZ1enppbmcuIEFueSBjaGFuZ2UgdG8gaG93IHBhdGggcmVmZXJlbmNlcyBhcmUgbWFuYWdlZCBkdXJpbmcgYSBmaWxlIG9wZW4gaXMgYSBwcmltZSB0YXJnZXQgZm9yIHVuY292ZXJpbmcgc3VidGxlIHJlZmVyZW5jZSBjb3VudGluZyBidWdzIG9yIG5hc3R5IHVzZS1hZnRlci1mcmVlIHZ1bG5lcmFiaWxpdGllcyDigJMgZXNwZWNpYWxseSBpbiB0aGUgVkZTLiBUaGlzIGlzIGxvdy1oYW5naW5nIGZydWl0LCByaXBlIGZvciBleHBsb2l0YXRpb24uIFRoZSBiZWF1dHkgb2YgdGhpcyBpcyB0aGF0IGl0J3MgY29yZSBWRlMsIHNvIG5vIHNwZWNpYWwgY29uZmlndXJhdGlvbnMgYXJlIGxpa2VseSBuZWVkZWQgdG8gdHJpZ2dlciB0aGUgcmVsZXZhbnQgY29kZSBwYXRocy4gSXQgc2hvdWxkIGp1c3Qgd29yay5cblxuTXkgZm9jdXMgc2hvdWxkIGJlIG9uIHRoZSBjYWxsIGNoYWluIGludm9sdmluZyBgdmZzX29wZW5fY29uc3VtZWAsIGB2ZnNfb3BlbmAsIGFuZCBgZmluaXNoX29wZW5gLCBhcyBpdCBjaGFuZ2VzIHRoaW5ncyBpbiB0aGUgZmlsZSBvcGVuaW5nIHByb2Nlc3MuIEkgY291bGQgbG9vayBhdCBgZG9fZmlscF9vcGVuYCB0byBtYWtlIHN1cmUgSSBkb24ndCBtaXNzIGFueXRoaW5nLCBidXQgYHZmc19vcGVuX2NvbnN1bWVgIHByb2JhYmx5IGNvdmVycyBpdCBhbGwuIExldCdzIHN0YXJ0IHdpdGggdGhvc2UgdGhyZWUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ4NDQsIk91dHB1dFRva2VucyI6MTEyLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTcxLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAzVDEyOjA5OjA3LjE0ODUyNTM4M1oiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzM2MzAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJ2ZnNfb3Blbl9jb25zdW1lXCIsXG4gICAgXCJ2ZnNfb3BlblwiLFxuICAgIFwiZmluaXNoX29wZW5cIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyBjb3JlIFZGUyBmaWxlIG9wZW5pbmcgbG9naWMsIHNwZWNpZmljYWxseSBob3cgcGF0aCByZWZlcmVuY2VzIGFyZSBoYW5kbGVkIGFuZCBjb25zdW1lZCBkdXJpbmcgYGRvX2RlbnRyeV9vcGVuYCBhbmQgYHZmc19vcGVuYC4gVGhpcyBpcyBjcml0aWNhbCBjb3JlIGtlcm5lbCBmdW5jdGlvbmFsaXR5IHRoYXQgaXMgaGlnaGx5IHJlYWNoYWJsZSBhbmQgcHJvbmUgdG8gcmVmZXJlbmNlIGNvdW50aW5nIG9yIHVzZS1hZnRlci1mcmVlIGJ1Z3MgaWYgbWlzaGFuZGxlZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJ2ZnNfb3Blbl9jb25zdW1lXCIsXG4gICAgXCJ2ZnNfb3BlblwiLFxuICAgIFwiZmluaXNoX29wZW5cIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyBjb3JlIFZGUyBmaWxlIG9wZW5pbmcgbG9naWMsIHNwZWNpZmljYWxseSBob3cgcGF0aCByZWZlcmVuY2VzIGFyZSBoYW5kbGVkIGFuZCBjb25zdW1lZCBkdXJpbmcgYGRvX2RlbnRyeV9vcGVuYCBhbmQgYHZmc19vcGVuYC4gVGhpcyBpcyBjcml0aWNhbCBjb3JlIGtlcm5lbCBmdW5jdGlvbmFsaXR5IHRoYXQgaXMgaGlnaGx5IHJlYWNoYWJsZSBhbmQgcHJvbmUgdG8gcmVmZXJlbmNlIGNvdW50aW5nIG9yIHVzZS1hZnRlci1mcmVlIGJ1Z3MgaWYgbWlzaGFuZGxlZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLmR1cmF0aW9uIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnTGxtVG9rZW4gPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS50b2tlbnMgLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdUb29sRHVyID0gc3RhdHMudG9vbC5jb3VudCA+IDAgPyAoc3RhdHMudG9vbC5kdXJhdGlvbiAvIHN0YXRzLnRvb2wuY291bnQpLnRvRml4ZWQoMikgOiAwOwoKCQkJY29uc3QgbGxtU3VtYXJ5Q2VsbHMgPSBbc3RhdHMubGxtLmNvdW50LCBzdGF0cy5sbG0udG9rZW5zLCBhdmdMbG1Ub2tlbiwgc3RhdHMubGxtLmR1cmF0aW9uLCBhdmdMbG1EdXJdOwoJCQljb25zdCB0b29sU3VtbWFyeUNlbGxzID0gW3N0YXRzLnRvb2wuY291bnQsIHN0YXRzLnRvb2wuZHVyYXRpb24sIGF2Z1Rvb2xEdXJdOwoKCQkJY29uc3QgbGxtU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGxtX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQlsbG1TdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgbGxtVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQlsbG1TdW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJbGxtVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJbGxtU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQobGxtVHIpOwoKCQkJY29uc3QgdG9vbFN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2xfc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgdG9vbFRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJdG9vbFN1bW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJdG9vbFRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZCh0b29sVHIpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBmaWx0ZXJlZFN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBbImxsbSIsICJ0b29sIl0uaW5jbHVkZXMoZC5UeXBlKSk7CgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ0R1cmF0aW9uJyk7CgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7IAoKCQkJZmlsdGVyZWRTdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJCgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsKCQkJCWxldCB0b29sdGlwID0gcy5OYW1lOwoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIgJiYgcy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoJCQkJZGF0YS5hZGRSb3coW2Ake3MuU2VxfWAsIGR1ciwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1RpbWUgQ29uc3VtcHRpb24gb2YgTExNL1Rvb2wgQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTS9Ub29sIFN0ZXBzJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ1NlY29uZHMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1cmF0aW9uX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBsbG1TdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gZC5UeXBlID09PSAibGxtIik7CgkJCWlmIChsbG1TdGVwcy5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwkJCQoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ1Rva2VucycpOwkJCQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICdzdHlsZSd9KTsJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7CQoKCQkJY29uc3QgYWdlbnRDb2xvcnMgPSB7fTsKCQkJY29uc3QgcGFsZXR0ZSA9IFsnIzQyODVGNCcsICcjREI0NDM3JywgJyNGNEI0MDAnLCAnIzBGOUQ1OCcsICcjQUI0N0JDJywgJyMwMEFDQzEnXTsKCQkJbGV0IGNvbG9ySWR4ID0gMDsKCQkJY29uc3QgYWdlbnRMTE1Db3VudHMgPSB7fTsKCQkJbGxtU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCWlmICghYWdlbnRDb2xvcnNbcy5OYW1lXSkgewoJCQkJCWFnZW50Q29sb3JzW3MuTmFtZV0gPSBwYWxldHRlW2NvbG9ySWR4ICUgcGFsZXR0ZS5sZW5ndGhdOwoJCQkJCWNvbG9ySWR4Kys7CgkJCQl9CgoJCQkJYWdlbnRMTE1Db3VudHNbcy5OYW1lXSA9IChhZ2VudExMTUNvdW50c1tzLk5hbWVdIHx8IDApICsgMTsKCQkJCWNvbnN0IGxhYmVsID0gYCR7cy5OYW1lfS0ke2FnZW50TExNQ291bnRzW3MuTmFtZV19YDsKCQkJCWNvbnN0IHRvdGFsVG9rZW5zID0gcy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2VuczsKCQkJCWNvbnN0IHN0eWxlID0gYGNvbG9yOiAke2FnZW50Q29sb3JzW3MuTmFtZV19YDsKCQkJCWxldCB0b29sdGlwID0gYFRvdGFsIFRva2VuczogJHt0b3RhbFRva2Vuc31cbihJbjogJHtzLklucHV0VG9rZW5zfSwgT3V0OiAke3MuT3V0cHV0VG9rZW5zfSwgVGhvdWdodHM6ICR7cy5PdXRwdXRUaG91Z2h0c1Rva2Vuc30pYDsKCQkJCWlmIChzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgoJCQkJZGF0YS5hZGRSb3coW2xhYmVsLCB0b3RhbFRva2Vucywgc3R5bGUsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUb2tlbiBDb25zdW1wdGlvbiBieSBMTE0gQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTSBDYWxsIFNlcXVlbmNlJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ0NvbnN1bWVkIFRva2VucycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9rZW5fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCQlsZXQgYWxsRXhwYW5kZWQgPSBmYWxzZTsKCQlmdW5jdGlvbiB0b2dnbGVBbGxEZXRhaWxzKCkgewoJCQlhbGxFeHBhbmRlZCA9ICFhbGxFeHBhbmRlZDsKCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGV0YWlscycpLmZvckVhY2goZCA9PiB7CgkJCQlpZiAoYWxsRXhwYW5kZWQpIGQuc2V0QXR0cmlidXRlKCdvcGVuJywgJycpOwoJCQkJZWxzZSBkLnJlbW92ZUF0dHJpYnV0ZSgnb3BlbicpOwoJCQl9KTsKCQl9Cgk8L3NjcmlwdD4KCgo8L2JvZHk+CjwvaHRtbD4K" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflow9z4wq[0].run-triage(0) Phase: Succeeded StartedAt: 2026-08-03 11:28:21 +0000 UTC FinishedAt: 2026-08-03 12:09:08 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "linux-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next", "commit_hash": "415606a7be939835db9b0d6b711887586646346d", "config_name": "upstream-apparmor-kasan.config", "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "linux-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next", "commit_hash": "415606a7be939835db9b0d6b711887586646346d", "config_name": "upstream-apparmor-kasan.config", "series_id": "c835c95d-f9cd-4ce1-bcc4-8fd72dbff97c" }, "track": "KASAN", "fuzz": { "focus": [ "fs" ], "focus_symbols": [ "vfs_open_consume", "vfs_open", "finish_open" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAzIDEyOjA4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7dmZzX29wZW5fY29uc3VtZSYjMzQ7LAogICAgJiMzNDt2ZnNfb3BlbiYjMzQ7LAogICAgJiMzNDtmaW5pc2hfb3BlbiYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyBjb3JlIFZGUyBmaWxlIG9wZW5pbmcgbG9naWMsIHNwZWNpZmljYWxseSBob3cgcGF0aCByZWZlcmVuY2VzIGFyZSBoYW5kbGVkIGFuZCBjb25zdW1lZCBkdXJpbmcgYGRvX2RlbnRyeV9vcGVuYCBhbmQgYHZmc19vcGVuYC4gVGhpcyBpcyBjcml0aWNhbCBjb3JlIGtlcm5lbCBmdW5jdGlvbmFsaXR5IHRoYXQgaXMgaGlnaGx5IHJlYWNoYWJsZSBhbmQgcHJvbmUgdG8gcmVmZXJlbmNlIGNvdW50aW5nIG9yIHVzZS1hZnRlci1mcmVlIGJ1Z3MgaWYgbWlzaGFuZGxlZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMyAxMjowODwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDRkN2E4YjI2NjZmNTg5YmM0MTMwZmYzYzBmNjJmOWY3OTI1YWI3OGNcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgTW9uIEF1ZyAzIDEyOjA4OjUwIDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2ZzL2ludGVybmFsLmggYi9mcy9pbnRlcm5hbC5oXG5pbmRleCBjNjU4YzhhNWViZDU2Li45NjMyMjM5MDM2YWNjIDEwMDY0NFxuLS0tIGEvZnMvaW50ZXJuYWwuaFxuJiM0MzsmIzQzOyYjNDM7IGIvZnMvaW50ZXJuYWwuaFxuQEAgLTIwNSw2ICYjNDM7MjA1LDcgQEAgaW50IGRvX2ZjaG93bmF0KGludCBkZmQsIGNvbnN0IGNoYXIgX191c2VyICpmaWxlbmFtZSwgdWlkX3QgdXNlciwgZ2lkX3QgZ3JvdXAsXG4gXHRcdGludCBmbGFnKTtcbiBpbnQgY2hvd25fY29tbW9uKGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCB1aWRfdCB1c2VyLCBnaWRfdCBncm91cCk7XG4gZXh0ZXJuIGludCB2ZnNfb3Blbihjb25zdCBzdHJ1Y3QgcGF0aCAqLCBzdHJ1Y3QgZmlsZSAqKTtcbiYjNDM7aW50IHZmc19vcGVuX2NvbnN1bWUoc3RydWN0IHBhdGggKiwgc3RydWN0IGZpbGUgKik7XG4gXG4gLypcbiAgKiBpbm9kZS5jXG5kaWZmIC0tZ2l0IGEvZnMvbmFtZWkuYyBiL2ZzL25hbWVpLmNcbmluZGV4IDNmOWJmMTAzYmExMjYuLmNmNzllY2VkZjI4ODAgMTAwNjQ0XG4tLS0gYS9mcy9uYW1laS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9mcy9uYW1laS5jXG5AQCAtNDc4OSw2ICYjNDM7NDc4OSw3IEBAIHN0YXRpYyBjb25zdCBjaGFyICpvcGVuX2xhc3RfbG9va3VwcyhzdHJ1Y3QgbmFtZWlkYXRhICpuZCxcbiBzdGF0aWMgaW50IGRvX29wZW4oc3RydWN0IG5hbWVpZGF0YSAqbmQsXG4gXHRcdCAgIHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBzdHJ1Y3Qgb3Blbl9mbGFncyAqb3ApXG4ge1xuJiM0MztcdHN0cnVjdCB2ZnNtb3VudCAqbW50O1xuIFx0c3RydWN0IG1udF9pZG1hcCAqaWRtYXA7XG4gXHRpbnQgb3Blbl9mbGFnID0gb3AtXHUwMDNlb3Blbl9mbGFnO1xuIFx0Ym9vbCBkb190cnVuY2F0ZTtcbkBAIC00ODI3LDE0ICYjNDM7NDgyOCwyMCBAQCBzdGF0aWMgaW50IGRvX29wZW4oc3RydWN0IG5hbWVpZGF0YSAqbmQsXG4gXHRcdG9wZW5fZmxhZyBcdTAwMjY9IH5PX1RSVU5DO1xuIFx0XHRhY2NfbW9kZSA9IDA7XG4gXHR9IGVsc2UgaWYgKGRfaXNfcmVnKG5kLVx1MDAzZXBhdGguZGVudHJ5KSBcdTAwMjZcdTAwMjYgb3Blbl9mbGFnIFx1MDAyNiBPX1RSVU5DKSB7XG4tXHRcdGVycm9yID0gbW50X3dhbnRfd3JpdGUobmQtXHUwMDNlcGF0aC5tbnQpO1xuJiM0MztcdFx0LypcbiYjNDM7XHRcdCAqIFN0YXNoIHRoZSBtb3VudCBwb2ludCBiZWZvcmUgdmZzX29wZW5fY29uc3VtZSgpIHdoYWNrcyBuZC1cdTAwM2VwYXRoLlxuJiM0MztcdFx0ICogSXQgaXMgc2FmZWx5IGFjY2Vzc2libGUgYmVjYXVzZSB0aGUgZmlsZSBvYmogdXNpbmcgaXQgaXMgZ3VhcmFudGVlZFxuJiM0MztcdFx0ICogdG8gbm90IGRpc2FwcGVhciB3aGlsZSB3ZSBleGVjdXRlLlxuJiM0MztcdFx0ICovXG4mIzQzO1x0XHRtbnQgPSBuZC1cdTAwM2VwYXRoLm1udDtcbiYjNDM7XHRcdGVycm9yID0gbW50X3dhbnRfd3JpdGUobW50KTtcbiBcdFx0aWYgKGVycm9yKVxuIFx0XHRcdHJldHVybiBlcnJvcjtcbiBcdFx0ZG9fdHJ1bmNhdGUgPSB0cnVlO1xuIFx0fVxuIFx0ZXJyb3IgPSBtYXlfb3BlbihpZG1hcCwgXHUwMDI2bmQtXHUwMDNlcGF0aCwgYWNjX21vZGUsIG9wZW5fZmxhZyk7XG4gXHRpZiAoIWVycm9yIFx1MDAyNlx1MDAyNiAhKGZpbGUtXHUwMDNlZl9tb2RlIFx1MDAyNiBGTU9ERV9PUEVORUQpKVxuLVx0XHRlcnJvciA9IHZmc19vcGVuKFx1MDAyNm5kLVx1MDAzZXBhdGgsIGZpbGUpO1xuJiM0MztcdFx0ZXJyb3IgPSB2ZnNfb3Blbl9jb25zdW1lKFx1MDAyNm5kLVx1MDAzZXBhdGgsIGZpbGUpO1xuIFx0aWYgKCFlcnJvcilcbiBcdFx0ZXJyb3IgPSBzZWN1cml0eV9maWxlX3Bvc3Rfb3BlbihmaWxlLCBvcC1cdTAwM2VhY2NfbW9kZSk7XG4gXHRpZiAoIWVycm9yIFx1MDAyNlx1MDAyNiBkb190cnVuY2F0ZSlcbkBAIC00ODQ0LDcgJiM0Mzs0ODUxLDcgQEAgc3RhdGljIGludCBkb19vcGVuKHN0cnVjdCBuYW1laWRhdGEgKm5kLFxuIFx0XHRlcnJvciA9IC1FSU5WQUw7XG4gXHR9XG4gXHRpZiAoZG9fdHJ1bmNhdGUpXG4tXHRcdG1udF9kcm9wX3dyaXRlKG5kLVx1MDAzZXBhdGgubW50KTtcbiYjNDM7XHRcdG1udF9kcm9wX3dyaXRlKG1udCk7XG4gXHRyZXR1cm4gZXJyb3I7XG4gfVxuIFxuZGlmZiAtLWdpdCBhL2ZzL29wZW4uYyBiL2ZzL29wZW4uY1xuaW5kZXggNmIxYzE0ZTY4NGE5My4uMmE3Njk3Y2VlMDBiYyAxMDA2NDRcbi0tLSBhL2ZzL29wZW4uY1xuJiM0MzsmIzQzOyYjNDM7IGIvZnMvb3Blbi5jXG5AQCAtOTMxLDYgJiM0Mzs5MzEsMTEgQEAgc3RhdGljIGlubGluZSBpbnQgZmlsZV9nZXRfd3JpdGVfYWNjZXNzKHN0cnVjdCBmaWxlICpmKVxuIFx0cmV0dXJuIGVycm9yO1xuIH1cbiBcbiYjNDM7LypcbiYjNDM7ICogUG9wdWxhdGUgc3RydWN0IGZpbGVcbiYjNDM7ICpcbiYjNDM7ICogTk9URTogaXQgYXNzdW1lcyBmX3BhdGggaXMgcG9wdWxhdGVkIGFuZCBjb25zdW1lcyB0aGUgY2FsbGVyJiMzOTtzIHJlZmVyZW5jZS5cbiYjNDM7ICovXG4gc3RhdGljIGludCBkb19kZW50cnlfb3BlbihzdHJ1Y3QgZmlsZSAqZixcbiBcdFx0XHQgIGludCAoKm9wZW4pKHN0cnVjdCBpbm9kZSAqLCBzdHJ1Y3QgZmlsZSAqKSlcbiB7XG5AQCAtOTM4LDcgJiM0Mzs5NDMsNiBAQCBzdGF0aWMgaW50IGRvX2RlbnRyeV9vcGVuKHN0cnVjdCBmaWxlICpmLFxuIFx0c3RydWN0IGlub2RlICppbm9kZSA9IGYtXHUwMDNlZl9wYXRoLmRlbnRyeS1cdTAwM2VkX2lub2RlO1xuIFx0aW50IGVycm9yO1xuIFxuLVx0cGF0aF9nZXQoXHUwMDI2Zi1cdTAwM2VmX3BhdGgpO1xuIFx0Zi1cdTAwM2VmX2lub2RlID0gaW5vZGU7XG4gXHRmLVx1MDAzZWZfbWFwcGluZyA9IGlub2RlLVx1MDAzZWlfbWFwcGluZztcbiBcdGYtXHUwMDNlZl93Yl9lcnIgPSBmaWxlbWFwX3NhbXBsZV93Yl9lcnIoZi1cdTAwM2VmX21hcHBpbmcpO1xuQEAgLTEwNTUsNiAmIzQzOzEwNTksNyBAQCBpbnQgZmluaXNoX29wZW4oc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSxcbiBcdEJVR19PTihmaWxlLVx1MDAzZWZfbW9kZSBcdTAwMjYgRk1PREVfT1BFTkVEKTsgLyogb25jZSBpdCYjMzk7cyBvcGVuZWQsIGl0JiMzOTtzIG9wZW5lZCAqL1xuIFxuIFx0ZmlsZS1cdTAwM2VfX2ZfcGF0aC5kZW50cnkgPSBkZW50cnk7XG4mIzQzO1x0cGF0aF9nZXQoXHUwMDI2ZmlsZS1cdTAwM2VmX3BhdGgpO1xuIFx0cmV0dXJuIGRvX2RlbnRyeV9vcGVuKGZpbGUsIG9wZW4pO1xuIH1cbiBFWFBPUlRfU1lNQk9MKGZpbmlzaF9vcGVuKTtcbkBAIC0xMDk4LDYgJiM0MzsxMTAzLDcgQEAgaW50IHZmc19vcGVuKGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3QgZmlsZSAqZmlsZSlcbiBcdGludCByZXQ7XG4gXG4gXHRmaWxlLVx1MDAzZV9fZl9wYXRoID0gKnBhdGg7XG4mIzQzO1x0cGF0aF9nZXQoXHUwMDI2ZmlsZS1cdTAwM2VmX3BhdGgpO1xuIFx0cmV0ID0gZG9fZGVudHJ5X29wZW4oZmlsZSwgTlVMTCk7XG4gXHRpZiAoIXJldCkge1xuIFx0XHQvKlxuQEAgLTExMTAsNiAmIzQzOzExMTYsMjUgQEAgaW50IHZmc19vcGVuKGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3QgZmlsZSAqZmlsZSlcbiBcdHJldHVybiByZXQ7XG4gfVxuIFxuJiM0MzsvKipcbiYjNDM7ICogdmZzX29wZW5fY29uc3VtZSAtIG9wZW4gdGhlIGZpbGUgYXQgdGhlIGdpdmVuIHBhdGggYW5kIGNvbnN1bWUgdGhlIHJlZmVyZW5jZVxuJiM0MzsgKiBAcGF0aDogcGF0aCB0byBvcGVuXG4mIzQzOyAqIEBmaWxlOiBuZXdseSBhbGxvY2F0ZWQgZmlsZSB3aXRoIGZfZmxhZyBpbml0aWFsaXplZFxuJiM0MzsgKi9cbiYjNDM7aW50IHZmc19vcGVuX2NvbnN1bWUoc3RydWN0IHBhdGggKnBhdGgsIHN0cnVjdCBmaWxlICpmaWxlKVxuJiM0Mzt7XG4mIzQzO1x0aW50IHJldDtcbiYjNDM7XG4mIzQzO1x0ZmlsZS1cdTAwM2VfX2ZfcGF0aCA9ICpwYXRoO1xuJiM0MztcdHBhdGgtXHUwMDNlbW50ID0gTlVMTDtcbiYjNDM7XHRwYXRoLVx1MDAzZWRlbnRyeSA9IE5VTEw7XG4mIzQzO1x0cmV0ID0gZG9fZGVudHJ5X29wZW4oZmlsZSwgTlVMTCk7XG4mIzQzO1x0aWYgKCFyZXQpIHtcbiYjNDM7XHRcdGZzbm90aWZ5X29wZW4oZmlsZSk7XG4mIzQzO1x0fVxuJiM0MztcdHJldHVybiByZXQ7XG4mIzQzO31cbiYjNDM7XG4gc3RydWN0IGZpbGUgKmRlbnRyeV9vcGVuKGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCBpbnQgZmxhZ3MsXG4gXHRcdFx0IGNvbnN0IHN0cnVjdCBjcmVkICpjcmVkKVxuIHtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMyAxMjowODwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5iZXN0LWV4cGVuc2l2ZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDt2ZnNfb3Blbl9jb25zdW1lJiMzNDssCiAgICAmIzM0O3Zmc19vcGVuJiMzNDssCiAgICAmIzM0O2ZpbmlzaF9vcGVuJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIGNvcmUgVkZTIGZpbGUgb3BlbmluZyBsb2dpYywgc3BlY2lmaWNhbGx5IGhvdyBwYXRoIHJlZmVyZW5jZXMgYXJlIGhhbmRsZWQgYW5kIGNvbnN1bWVkIGR1cmluZyBgZG9fZGVudHJ5X29wZW5gIGFuZCBgdmZzX29wZW5gLiBUaGlzIGlzIGNyaXRpY2FsIGNvcmUga2VybmVsIGZ1bmN0aW9uYWxpdHkgdGhhdCBpcyBoaWdobHkgcmVhY2hhYmxlIGFuZCBwcm9uZSB0byByZWZlcmVuY2UgY291bnRpbmcgb3IgdXNlLWFmdGVyLWZyZWUgYnVncyBpZiBtaXNoYW5kbGVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgotIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpCiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zCiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBBbHNvIGNoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncwogICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3MKICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgNGQ3YThiMjY2NmY1ODliYzQxMzBmZjNjMGY2MmY5Zjc5MjVhYjc4YwpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBNb24gQXVnIDMgMTI6MDg6NTAgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9mcy9pbnRlcm5hbC5oIGIvZnMvaW50ZXJuYWwuaAppbmRleCBjNjU4YzhhNWViZDU2Li45NjMyMjM5MDM2YWNjIDEwMDY0NAotLS0gYS9mcy9pbnRlcm5hbC5oCiYjNDM7JiM0MzsmIzQzOyBiL2ZzL2ludGVybmFsLmgKQEAgLTIwNSw2ICYjNDM7MjA1LDcgQEAgaW50IGRvX2ZjaG93bmF0KGludCBkZmQsIGNvbnN0IGNoYXIgX191c2VyICpmaWxlbmFtZSwgdWlkX3QgdXNlciwgZ2lkX3QgZ3JvdXAsCiAJCWludCBmbGFnKTsKIGludCBjaG93bl9jb21tb24oY29uc3Qgc3RydWN0IHBhdGggKnBhdGgsIHVpZF90IHVzZXIsIGdpZF90IGdyb3VwKTsKIGV4dGVybiBpbnQgdmZzX29wZW4oY29uc3Qgc3RydWN0IHBhdGggKiwgc3RydWN0IGZpbGUgKik7CiYjNDM7aW50IHZmc19vcGVuX2NvbnN1bWUoc3RydWN0IHBhdGggKiwgc3RydWN0IGZpbGUgKik7CiAKIC8qCiAgKiBpbm9kZS5jCmRpZmYgLS1naXQgYS9mcy9uYW1laS5jIGIvZnMvbmFtZWkuYwppbmRleCAzZjliZjEwM2JhMTI2Li5jZjc5ZWNlZGYyODgwIDEwMDY0NAotLS0gYS9mcy9uYW1laS5jCiYjNDM7JiM0MzsmIzQzOyBiL2ZzL25hbWVpLmMKQEAgLTQ3ODksNiAmIzQzOzQ3ODksNyBAQCBzdGF0aWMgY29uc3QgY2hhciAqb3Blbl9sYXN0X2xvb2t1cHMoc3RydWN0IG5hbWVpZGF0YSAqbmQsCiBzdGF0aWMgaW50IGRvX29wZW4oc3RydWN0IG5hbWVpZGF0YSAqbmQsCiAJCSAgIHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBzdHJ1Y3Qgb3Blbl9mbGFncyAqb3ApCiB7CiYjNDM7CXN0cnVjdCB2ZnNtb3VudCAqbW50OwogCXN0cnVjdCBtbnRfaWRtYXAgKmlkbWFwOwogCWludCBvcGVuX2ZsYWcgPSBvcC0mZ3Q7b3Blbl9mbGFnOwogCWJvb2wgZG9fdHJ1bmNhdGU7CkBAIC00ODI3LDE0ICYjNDM7NDgyOCwyMCBAQCBzdGF0aWMgaW50IGRvX29wZW4oc3RydWN0IG5hbWVpZGF0YSAqbmQsCiAJCW9wZW5fZmxhZyAmYW1wOz0gfk9fVFJVTkM7CiAJCWFjY19tb2RlID0gMDsKIAl9IGVsc2UgaWYgKGRfaXNfcmVnKG5kLSZndDtwYXRoLmRlbnRyeSkgJmFtcDsmYW1wOyBvcGVuX2ZsYWcgJmFtcDsgT19UUlVOQykgewotCQllcnJvciA9IG1udF93YW50X3dyaXRlKG5kLSZndDtwYXRoLm1udCk7CiYjNDM7CQkvKgomIzQzOwkJICogU3Rhc2ggdGhlIG1vdW50IHBvaW50IGJlZm9yZSB2ZnNfb3Blbl9jb25zdW1lKCkgd2hhY2tzIG5kLSZndDtwYXRoLgomIzQzOwkJICogSXQgaXMgc2FmZWx5IGFjY2Vzc2libGUgYmVjYXVzZSB0aGUgZmlsZSBvYmogdXNpbmcgaXQgaXMgZ3VhcmFudGVlZAomIzQzOwkJICogdG8gbm90IGRpc2FwcGVhciB3aGlsZSB3ZSBleGVjdXRlLgomIzQzOwkJICovCiYjNDM7CQltbnQgPSBuZC0mZ3Q7cGF0aC5tbnQ7CiYjNDM7CQllcnJvciA9IG1udF93YW50X3dyaXRlKG1udCk7CiAJCWlmIChlcnJvcikKIAkJCXJldHVybiBlcnJvcjsKIAkJZG9fdHJ1bmNhdGUgPSB0cnVlOwogCX0KIAllcnJvciA9IG1heV9vcGVuKGlkbWFwLCAmYW1wO25kLSZndDtwYXRoLCBhY2NfbW9kZSwgb3Blbl9mbGFnKTsKIAlpZiAoIWVycm9yICZhbXA7JmFtcDsgIShmaWxlLSZndDtmX21vZGUgJmFtcDsgRk1PREVfT1BFTkVEKSkKLQkJZXJyb3IgPSB2ZnNfb3BlbigmYW1wO25kLSZndDtwYXRoLCBmaWxlKTsKJiM0MzsJCWVycm9yID0gdmZzX29wZW5fY29uc3VtZSgmYW1wO25kLSZndDtwYXRoLCBmaWxlKTsKIAlpZiAoIWVycm9yKQogCQllcnJvciA9IHNlY3VyaXR5X2ZpbGVfcG9zdF9vcGVuKGZpbGUsIG9wLSZndDthY2NfbW9kZSk7CiAJaWYgKCFlcnJvciAmYW1wOyZhbXA7IGRvX3RydW5jYXRlKQpAQCAtNDg0NCw3ICYjNDM7NDg1MSw3IEBAIHN0YXRpYyBpbnQgZG9fb3BlbihzdHJ1Y3QgbmFtZWlkYXRhICpuZCwKIAkJZXJyb3IgPSAtRUlOVkFMOwogCX0KIAlpZiAoZG9fdHJ1bmNhdGUpCi0JCW1udF9kcm9wX3dyaXRlKG5kLSZndDtwYXRoLm1udCk7CiYjNDM7CQltbnRfZHJvcF93cml0ZShtbnQpOwogCXJldHVybiBlcnJvcjsKIH0KIApkaWZmIC0tZ2l0IGEvZnMvb3Blbi5jIGIvZnMvb3Blbi5jCmluZGV4IDZiMWMxNGU2ODRhOTMuLjJhNzY5N2NlZTAwYmMgMTAwNjQ0Ci0tLSBhL2ZzL29wZW4uYwomIzQzOyYjNDM7JiM0MzsgYi9mcy9vcGVuLmMKQEAgLTkzMSw2ICYjNDM7OTMxLDExIEBAIHN0YXRpYyBpbmxpbmUgaW50IGZpbGVfZ2V0X3dyaXRlX2FjY2VzcyhzdHJ1Y3QgZmlsZSAqZikKIAlyZXR1cm4gZXJyb3I7CiB9CiAKJiM0MzsvKgomIzQzOyAqIFBvcHVsYXRlIHN0cnVjdCBmaWxlCiYjNDM7ICoKJiM0MzsgKiBOT1RFOiBpdCBhc3N1bWVzIGZfcGF0aCBpcyBwb3B1bGF0ZWQgYW5kIGNvbnN1bWVzIHRoZSBjYWxsZXImIzM5O3MgcmVmZXJlbmNlLgomIzQzOyAqLwogc3RhdGljIGludCBkb19kZW50cnlfb3BlbihzdHJ1Y3QgZmlsZSAqZiwKIAkJCSAgaW50ICgqb3Blbikoc3RydWN0IGlub2RlICosIHN0cnVjdCBmaWxlICopKQogewpAQCAtOTM4LDcgJiM0Mzs5NDMsNiBAQCBzdGF0aWMgaW50IGRvX2RlbnRyeV9vcGVuKHN0cnVjdCBmaWxlICpmLAogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBmLSZndDtmX3BhdGguZGVudHJ5LSZndDtkX2lub2RlOwogCWludCBlcnJvcjsKIAotCXBhdGhfZ2V0KCZhbXA7Zi0mZ3Q7Zl9wYXRoKTsKIAlmLSZndDtmX2lub2RlID0gaW5vZGU7CiAJZi0mZ3Q7Zl9tYXBwaW5nID0gaW5vZGUtJmd0O2lfbWFwcGluZzsKIAlmLSZndDtmX3diX2VyciA9IGZpbGVtYXBfc2FtcGxlX3diX2VycihmLSZndDtmX21hcHBpbmcpOwpAQCAtMTA1NSw2ICYjNDM7MTA1OSw3IEBAIGludCBmaW5pc2hfb3BlbihzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LAogCUJVR19PTihmaWxlLSZndDtmX21vZGUgJmFtcDsgRk1PREVfT1BFTkVEKTsgLyogb25jZSBpdCYjMzk7cyBvcGVuZWQsIGl0JiMzOTtzIG9wZW5lZCAqLwogCiAJZmlsZS0mZ3Q7X19mX3BhdGguZGVudHJ5ID0gZGVudHJ5OwomIzQzOwlwYXRoX2dldCgmYW1wO2ZpbGUtJmd0O2ZfcGF0aCk7CiAJcmV0dXJuIGRvX2RlbnRyeV9vcGVuKGZpbGUsIG9wZW4pOwogfQogRVhQT1JUX1NZTUJPTChmaW5pc2hfb3Blbik7CkBAIC0xMDk4LDYgJiM0MzsxMTAzLDcgQEAgaW50IHZmc19vcGVuKGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIAlpbnQgcmV0OwogCiAJZmlsZS0mZ3Q7X19mX3BhdGggPSAqcGF0aDsKJiM0MzsJcGF0aF9nZXQoJmFtcDtmaWxlLSZndDtmX3BhdGgpOwogCXJldCA9IGRvX2RlbnRyeV9vcGVuKGZpbGUsIE5VTEwpOwogCWlmICghcmV0KSB7CiAJCS8qCkBAIC0xMTEwLDYgJiM0MzsxMTE2LDI1IEBAIGludCB2ZnNfb3Blbihjb25zdCBzdHJ1Y3QgcGF0aCAqcGF0aCwgc3RydWN0IGZpbGUgKmZpbGUpCiAJcmV0dXJuIHJldDsKIH0KIAomIzQzOy8qKgomIzQzOyAqIHZmc19vcGVuX2NvbnN1bWUgLSBvcGVuIHRoZSBmaWxlIGF0IHRoZSBnaXZlbiBwYXRoIGFuZCBjb25zdW1lIHRoZSByZWZlcmVuY2UKJiM0MzsgKiBAcGF0aDogcGF0aCB0byBvcGVuCiYjNDM7ICogQGZpbGU6IG5ld2x5IGFsbG9jYXRlZCBmaWxlIHdpdGggZl9mbGFnIGluaXRpYWxpemVkCiYjNDM7ICovCiYjNDM7aW50IHZmc19vcGVuX2NvbnN1bWUoc3RydWN0IHBhdGggKnBhdGgsIHN0cnVjdCBmaWxlICpmaWxlKQomIzQzO3sKJiM0MzsJaW50IHJldDsKJiM0MzsKJiM0MzsJZmlsZS0mZ3Q7X19mX3BhdGggPSAqcGF0aDsKJiM0MzsJcGF0aC0mZ3Q7bW50ID0gTlVMTDsKJiM0MzsJcGF0aC0mZ3Q7ZGVudHJ5ID0gTlVMTDsKJiM0MzsJcmV0ID0gZG9fZGVudHJ5X29wZW4oZmlsZSwgTlVMTCk7CiYjNDM7CWlmICghcmV0KSB7CiYjNDM7CQlmc25vdGlmeV9vcGVuKGZpbGUpOwomIzQzOwl9CiYjNDM7CXJldHVybiByZXQ7CiYjNDM7fQomIzQzOwogc3RydWN0IGZpbGUgKmRlbnRyeV9vcGVuKGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCBpbnQgZmxhZ3MsCiAJCQkgY29uc3Qgc3RydWN0IGNyZWQgKmNyZWQpCiB7CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAzIDEyOjA4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMzNzkKCQkJCQkJCW91dHB1dDogMjAKCQkJCQkJCXRob3VnaHRzOiA2MjAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgQ29yZSBWRlMgTW9kaWZpY2F0aW9uKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgdG91Y2hpbmcgc29tZSBrZXkgZmlsZXM6IGBmcy9uYW1laS5jYCwgYGZzL29wZW4uY2AsIGFuZCBgZnMvaW50ZXJuYWwuaGAuIFJpZ2h0IG9mZiB0aGUgYmF0LCB0aGF0IHNjcmVhbXMgJiMzNDtpbXBvcnRhbnQmIzM0OyBhbmQgJiMzNDtwb3RlbnRpYWwgZm9yIGludGVyZXN0aW5nIGZ1enppbmcgdGFyZ2V0cy4mIzM0OyBUaGUgaW50cm9kdWN0aW9uIG9mIGB2ZnNfb3Blbl9jb25zdW1lYCBhbmQgaXRzIGludGVncmF0aW9uIHdpdGhpbiBgZG9fb3BlbmAgaW4gYGZzL25hbWVpLmNgIGFyZSB0aGUgaW1tZWRpYXRlIHBvaW50cyBvZiBpbnRlcmVzdC4gUGx1cywgdGhlIGFsdGVyYXRpb24gb2YgYGRvX2RlbnRyeV9vcGVuYCB0byBjaGFuZ2UgdGhlIGBwYXRoX2dldGAgY2FsbHMsIG1vdmluZyB0aGVtIHRvIGBmaW5pc2hfb3BlbmAgYW5kIGB2ZnNfb3BlbmAgaXMgYW5vdGhlciBzaWduaWZpY2FudCBwaWVjZSBvZiB0aGlzLgoKTXkgaW5pdGlhbCBmb2N1cyBuZWVkcyB0byBiZSBvbiB0aGVzZSBmdW5jdGlvbnM6IGB2ZnNfb3Blbl9jb25zdW1lYCwgYGZpbmlzaF9vcGVuYCwgYW5kIGB2ZnNfb3BlbmAuIEkgaW5pdGlhbGx5IGJlbGlldmVkIGBkb19vcGVuYCB3YXMgYWxzbyBhIGtleSBzeW1ib2wsIGJ1dCB1cG9uIGludmVzdGlnYXRpb24sIGl0IHR1cm5zIG91dCBpdCYjMzk7cyBzdGF0aWMgd2l0aGluIGBmcy9uYW1laS5jYCwgd2hpY2ggbWFrZXMgaXQgbGVzcyBkaXJlY3RseSBleHBvc2VkIGFzIGFuIGVudHJ5IHBvaW50LiBJdCYjMzk7cyBjYWxsZWQgYnkgYHBhdGhfb3BlbmF0YCwgd2hpY2ggaW4gdHVybiBpcyBjYWxsZWQgYnkgYGRvX2ZpbHBfb3BlbmAsIHdoaWNoIGlzIG5vdCBzdGF0aWMuCgpTbywgSSBuZWVkIHRvIGxvb2sgY2xvc2VseSBhdCBob3cgdGhlc2UgdGhyZWUgZnVuY3Rpb25zLCBgdmZzX29wZW5fY29uc3VtZWAsIGBmaW5pc2hfb3BlbmAsIGFuZCBgdmZzX29wZW5gLCBpbnRlcmFjdC4gYHZmc19vcGVuX2NvbnN1bWVgIGlzIG5ldywgcmVzaWRpbmcgaW4gYGZzL29wZW4uY2AuIEkgY2hlY2tlZCwgYW5kIGB2ZnNfb3BlbmAgYW5kIGBmaW5pc2hfb3BlbmAgYXJlIGRlZmluZWQgaW4gYGZzL2ludGVybmFsLmhgLiBUaGVyZSBhcmUgbm8gc3BlY2lmaWMgY29uZmlndXJhdGlvbiBvcHRpb25zIHRvIHdvcnJ5IGFib3V0IGFzIHRoaXMgaXMgYSBjb3JlIFZGUyBjaGFuZ2UgdGhhdCB3aWxsIGFsd2F5cyBiZSBlbmFibGVkLgoKSnVzdCB0byBiZSBzdXJlLCBJ4oCZbGwgcXVpY2tseSBkb3VibGUtY2hlY2sgdGhlIHNpZ25hdHVyZSBvZiBgdmZzX29wZW5fY29uc3VtZWA6IGBpbnQgdmZzX29wZW5fY29uc3VtZShzdHJ1Y3QgcGF0aCAqcGF0aCwgc3RydWN0IGZpbGUgKmZpbGUpYC4gVGltZSB0byBkaWcgZGVlcGVyIGludG8gdGhlIGNvZGUgYW5kIHNlZSBob3cgdGhlc2UgcGllY2VzIGZpdCB0b2dldGhlci4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMyAxMjowODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDt2ZnNfb3Blbl9jb25zdW1lJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2ZzL2ludGVybmFsLmg9MjA3PWV4dGVybiBpbnQgdmZzX29wZW4oY29uc3Qgc3RydWN0IHBhdGggKiwgc3RydWN0IGZpbGUgKik7XG5mcy9pbnRlcm5hbC5oOjIwODppbnQgdmZzX29wZW5fY29uc3VtZShzdHJ1Y3QgcGF0aCAqLCBzdHJ1Y3QgZmlsZSAqKTtcbmZzL2ludGVybmFsLmgtMjA5LVxuLS1cbmZzL25hbWVpLmM9NDc4OT1zdGF0aWMgaW50IGRvX29wZW4oc3RydWN0IG5hbWVpZGF0YSAqbmQsXG4tLVxuZnMvbmFtZWkuYy00ODMxLVx0XHQvKlxuZnMvbmFtZWkuYzo0ODMyOlx0XHQgKiBTdGFzaCB0aGUgbW91bnQgcG9pbnQgYmVmb3JlIHZmc19vcGVuX2NvbnN1bWUoKSB3aGFja3MgbmQtXHUwMDNlcGF0aC5cbmZzL25hbWVpLmMtNDgzMy1cdFx0ICogSXQgaXMgc2FmZWx5IGFjY2Vzc2libGUgYmVjYXVzZSB0aGUgZmlsZSBvYmogdXNpbmcgaXQgaXMgZ3VhcmFudGVlZFxuLS1cbmZzL25hbWVpLmMtNDg0My1cdGlmICghZXJyb3IgXHUwMDI2XHUwMDI2ICEoZmlsZS1cdTAwM2VmX21vZGUgXHUwMDI2IEZNT0RFX09QRU5FRCkpXG5mcy9uYW1laS5jOjQ4NDQ6XHRcdGVycm9yID0gdmZzX29wZW5fY29uc3VtZShcdTAwMjZuZC1cdTAwM2VwYXRoLCBmaWxlKTtcbmZzL25hbWVpLmMtNDg0NS1cdGlmICghZXJyb3IpXG4tLVxuZnMvb3Blbi5jPTExMDE9aW50IHZmc19vcGVuKGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3QgZmlsZSAqZmlsZSlcbi0tXG5mcy9vcGVuLmMtMTExOS0vKipcbmZzL29wZW4uYzoxMTIwOiAqIHZmc19vcGVuX2NvbnN1bWUgLSBvcGVuIHRoZSBmaWxlIGF0IHRoZSBnaXZlbiBwYXRoIGFuZCBjb25zdW1lIHRoZSByZWZlcmVuY2VcbmZzL29wZW4uYy0xMTIxLSAqIEBwYXRoOiBwYXRoIHRvIG9wZW5cbi0tXG5mcy9vcGVuLmMtMTEyMy0gKi9cbmZzL29wZW4uYzoxMTI0OmludCB2ZnNfb3Blbl9jb25zdW1lKHN0cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3QgZmlsZSAqZmlsZSlcbmZzL29wZW4uYy0xMTI1LXtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMyAxMjowOTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0ODQ0CgkJCQkJCQlvdXRwdXQ6IDExMgoJCQkJCQkJdGhvdWdodHM6IDE3MQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIFZGUyBGaWxlIE9wZW4gUGF0Y2gqKgoKT2theSwgc28gdGhpcyBwYXRjaCBpcyBkaWdnaW5nIGludG8gdGhlIGhlYXJ0IG9mIHRoZSBWaXJ0dWFsIEZpbGUgU3lzdGVtIChWRlMpLCBzcGVjaWZpY2FsbHkgdGhlIGZpbGUgb3BlbmluZyBwcm9jZXNzLiBJdCBzZWVtcyB0byBiZSBtb2RpZnlpbmcgc29tZSBjb3JlIGxvZ2ljIHdpdGhpbiBgZG9fZGVudHJ5X29wZW5gLCBgdmZzX29wZW5gLCBgZmluaXNoX29wZW5gLCBhbmQgYHZmc19vcGVuX2NvbnN1bWVgLiBUaGF0JiMzOTtzICpkZWZpbml0ZWx5KiBhbiBhcmVhIHRoYXQgc2NyZWFtcyBmb3IgZnV6emluZy4gQW55IGNoYW5nZSB0byBob3cgcGF0aCByZWZlcmVuY2VzIGFyZSBtYW5hZ2VkIGR1cmluZyBhIGZpbGUgb3BlbiBpcyBhIHByaW1lIHRhcmdldCBmb3IgdW5jb3ZlcmluZyBzdWJ0bGUgcmVmZXJlbmNlIGNvdW50aW5nIGJ1Z3Mgb3IgbmFzdHkgdXNlLWFmdGVyLWZyZWUgdnVsbmVyYWJpbGl0aWVzIOKAkyBlc3BlY2lhbGx5IGluIHRoZSBWRlMuIFRoaXMgaXMgbG93LWhhbmdpbmcgZnJ1aXQsIHJpcGUgZm9yIGV4cGxvaXRhdGlvbi4gVGhlIGJlYXV0eSBvZiB0aGlzIGlzIHRoYXQgaXQmIzM5O3MgY29yZSBWRlMsIHNvIG5vIHNwZWNpYWwgY29uZmlndXJhdGlvbnMgYXJlIGxpa2VseSBuZWVkZWQgdG8gdHJpZ2dlciB0aGUgcmVsZXZhbnQgY29kZSBwYXRocy4gSXQgc2hvdWxkIGp1c3Qgd29yay4KCk15IGZvY3VzIHNob3VsZCBiZSBvbiB0aGUgY2FsbCBjaGFpbiBpbnZvbHZpbmcgYHZmc19vcGVuX2NvbnN1bWVgLCBgdmZzX29wZW5gLCBhbmQgYGZpbmlzaF9vcGVuYCwgYXMgaXQgY2hhbmdlcyB0aGluZ3MgaW4gdGhlIGZpbGUgb3BlbmluZyBwcm9jZXNzLiBJIGNvdWxkIGxvb2sgYXQgYGRvX2ZpbHBfb3BlbmAgdG8gbWFrZSBzdXJlIEkgZG9uJiMzOTt0IG1pc3MgYW55dGhpbmcsIGJ1dCBgdmZzX29wZW5fY29uc3VtZWAgcHJvYmFibHkgY292ZXJzIGl0IGFsbC4gTGV0JiMzOTtzIHN0YXJ0IHdpdGggdGhvc2UgdGhyZWUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDMgMTI6MDk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3Zmc19vcGVuX2NvbnN1bWUmIzM0OywKICAgICYjMzQ7dmZzX29wZW4mIzM0OywKICAgICYjMzQ7ZmluaXNoX29wZW4mIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgY29yZSBWRlMgZmlsZSBvcGVuaW5nIGxvZ2ljLCBzcGVjaWZpY2FsbHkgaG93IHBhdGggcmVmZXJlbmNlcyBhcmUgaGFuZGxlZCBhbmQgY29uc3VtZWQgZHVyaW5nIGBkb19kZW50cnlfb3BlbmAgYW5kIGB2ZnNfb3BlbmAuIFRoaXMgaXMgY3JpdGljYWwgY29yZSBrZXJuZWwgZnVuY3Rpb25hbGl0eSB0aGF0IGlzIGhpZ2hseSByZWFjaGFibGUgYW5kIHByb25lIHRvIHJlZmVyZW5jZSBjb3VudGluZyBvciB1c2UtYWZ0ZXItZnJlZSBidWdzIGlmIG1pc2hhbmRsZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7dmZzX29wZW5fY29uc3VtZSYjMzQ7LAogICAgJiMzNDt2ZnNfb3BlbiYjMzQ7LAogICAgJiMzNDtmaW5pc2hfb3BlbiYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyBjb3JlIFZGUyBmaWxlIG9wZW5pbmcgbG9naWMsIHNwZWNpZmljYWxseSBob3cgcGF0aCByZWZlcmVuY2VzIGFyZSBoYW5kbGVkIGFuZCBjb25zdW1lZCBkdXJpbmcgYGRvX2RlbnRyeV9vcGVuYCBhbmQgYHZmc19vcGVuYC4gVGhpcyBpcyBjcml0aWNhbCBjb3JlIGtlcm5lbCBmdW5jdGlvbmFsaXR5IHRoYXQgaXMgaGlnaGx5IHJlYWNoYWJsZSBhbmQgcHJvbmUgdG8gcmVmZXJlbmNlIGNvdW50aW5nIG9yIHVzZS1hZnRlci1mcmVlIGJ1Z3MgaWYgbWlzaGFuZGxlZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAzVDEyOjA4OjUxLjIwNTQ0NjYzNVoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE1OTQzMTIyMDg4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInZmc19vcGVuX2NvbnN1bWVcIixcbiAgICBcInZmc19vcGVuXCIsXG4gICAgXCJmaW5pc2hfb3BlblwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIGNvcmUgVkZTIGZpbGUgb3BlbmluZyBsb2dpYywgc3BlY2lmaWNhbGx5IGhvdyBwYXRoIHJlZmVyZW5jZXMgYXJlIGhhbmRsZWQgYW5kIGNvbnN1bWVkIGR1cmluZyBgZG9fZGVudHJ5X29wZW5gIGFuZCBgdmZzX29wZW5gLiBUaGlzIGlzIGNyaXRpY2FsIGNvcmUga2VybmVsIGZ1bmN0aW9uYWxpdHkgdGhhdCBpcyBoaWdobHkgcmVhY2hhYmxlIGFuZCBwcm9uZSB0byByZWZlcmVuY2UgY291bnRpbmcgb3IgdXNlLWFmdGVyLWZyZWUgYnVncyBpZiBtaXNoYW5kbGVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wM1QxMjowODo1MS4yMDU0NTE4ODVaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjM5MjEwNDU0NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IDRkN2E4YjI2NjZmNTg5YmM0MTMwZmYzYzBmNjJmOWY3OTI1YWI3OGNcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIE1vbiBBdWcgMyAxMjowODo1MCAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9mcy9pbnRlcm5hbC5oIGIvZnMvaW50ZXJuYWwuaFxcbmluZGV4IGM2NThjOGE1ZWJkNTYuLjk2MzIyMzkwMzZhY2MgMTAwNjQ0XFxuLS0tIGEvZnMvaW50ZXJuYWwuaFxcbisrKyBiL2ZzL2ludGVybmFsLmhcXG5AQCAtMjA1LDYgKzIwNSw3IEBAIGludCBkb19mY2hvd25hdChpbnQgZGZkLCBjb25zdCBjaGFyIF9fdXNlciAqZmlsZW5hbWUsIHVpZF90IHVzZXIsIGdpZF90IGdyb3VwLFxcbiBcXHRcXHRpbnQgZmxhZyk7XFxuIGludCBjaG93bl9jb21tb24oY29uc3Qgc3RydWN0IHBhdGggKnBhdGgsIHVpZF90IHVzZXIsIGdpZF90IGdyb3VwKTtcXG4gZXh0ZXJuIGludCB2ZnNfb3Blbihjb25zdCBzdHJ1Y3QgcGF0aCAqLCBzdHJ1Y3QgZmlsZSAqKTtcXG4raW50IHZmc19vcGVuX2NvbnN1bWUoc3RydWN0IHBhdGggKiwgc3RydWN0IGZpbGUgKik7XFxuIFxcbiAvKlxcbiAgKiBpbm9kZS5jXFxuZGlmZiAtLWdpdCBhL2ZzL25hbWVpLmMgYi9mcy9uYW1laS5jXFxuaW5kZXggM2Y5YmYxMDNiYTEyNi4uY2Y3OWVjZWRmMjg4MCAxMDA2NDRcXG4tLS0gYS9mcy9uYW1laS5jXFxuKysrIGIvZnMvbmFtZWkuY1xcbkBAIC00Nzg5LDYgKzQ3ODksNyBAQCBzdGF0aWMgY29uc3QgY2hhciAqb3Blbl9sYXN0X2xvb2t1cHMoc3RydWN0IG5hbWVpZGF0YSAqbmQsXFxuIHN0YXRpYyBpbnQgZG9fb3BlbihzdHJ1Y3QgbmFtZWlkYXRhICpuZCxcXG4gXFx0XFx0ICAgc3RydWN0IGZpbGUgKmZpbGUsIGNvbnN0IHN0cnVjdCBvcGVuX2ZsYWdzICpvcClcXG4ge1xcbitcXHRzdHJ1Y3QgdmZzbW91bnQgKm1udDtcXG4gXFx0c3RydWN0IG1udF9pZG1hcCAqaWRtYXA7XFxuIFxcdGludCBvcGVuX2ZsYWcgPSBvcC1cXHUwMDNlb3Blbl9mbGFnO1xcbiBcXHRib29sIGRvX3RydW5jYXRlO1xcbkBAIC00ODI3LDE0ICs0ODI4LDIwIEBAIHN0YXRpYyBpbnQgZG9fb3BlbihzdHJ1Y3QgbmFtZWlkYXRhICpuZCxcXG4gXFx0XFx0b3Blbl9mbGFnIFxcdTAwMjY9IH5PX1RSVU5DO1xcbiBcXHRcXHRhY2NfbW9kZSA9IDA7XFxuIFxcdH0gZWxzZSBpZiAoZF9pc19yZWcobmQtXFx1MDAzZXBhdGguZGVudHJ5KSBcXHUwMDI2XFx1MDAyNiBvcGVuX2ZsYWcgXFx1MDAyNiBPX1RSVU5DKSB7XFxuLVxcdFxcdGVycm9yID0gbW50X3dhbnRfd3JpdGUobmQtXFx1MDAzZXBhdGgubW50KTtcXG4rXFx0XFx0LypcXG4rXFx0XFx0ICogU3Rhc2ggdGhlIG1vdW50IHBvaW50IGJlZm9yZSB2ZnNfb3Blbl9jb25zdW1lKCkgd2hhY2tzIG5kLVxcdTAwM2VwYXRoLlxcbitcXHRcXHQgKiBJdCBpcyBzYWZlbHkgYWNjZXNzaWJsZSBiZWNhdXNlIHRoZSBmaWxlIG9iaiB1c2luZyBpdCBpcyBndWFyYW50ZWVkXFxuK1xcdFxcdCAqIHRvIG5vdCBkaXNhcHBlYXIgd2hpbGUgd2UgZXhlY3V0ZS5cXG4rXFx0XFx0ICovXFxuK1xcdFxcdG1udCA9IG5kLVxcdTAwM2VwYXRoLm1udDtcXG4rXFx0XFx0ZXJyb3IgPSBtbnRfd2FudF93cml0ZShtbnQpO1xcbiBcXHRcXHRpZiAoZXJyb3IpXFxuIFxcdFxcdFxcdHJldHVybiBlcnJvcjtcXG4gXFx0XFx0ZG9fdHJ1bmNhdGUgPSB0cnVlO1xcbiBcXHR9XFxuIFxcdGVycm9yID0gbWF5X29wZW4oaWRtYXAsIFxcdTAwMjZuZC1cXHUwMDNlcGF0aCwgYWNjX21vZGUsIG9wZW5fZmxhZyk7XFxuIFxcdGlmICghZXJyb3IgXFx1MDAyNlxcdTAwMjYgIShmaWxlLVxcdTAwM2VmX21vZGUgXFx1MDAyNiBGTU9ERV9PUEVORUQpKVxcbi1cXHRcXHRlcnJvciA9IHZmc19vcGVuKFxcdTAwMjZuZC1cXHUwMDNlcGF0aCwgZmlsZSk7XFxuK1xcdFxcdGVycm9yID0gdmZzX29wZW5fY29uc3VtZShcXHUwMDI2bmQtXFx1MDAzZXBhdGgsIGZpbGUpO1xcbiBcXHRpZiAoIWVycm9yKVxcbiBcXHRcXHRlcnJvciA9IHNlY3VyaXR5X2ZpbGVfcG9zdF9vcGVuKGZpbGUsIG9wLVxcdTAwM2VhY2NfbW9kZSk7XFxuIFxcdGlmICghZXJyb3IgXFx1MDAyNlxcdTAwMjYgZG9fdHJ1bmNhdGUpXFxuQEAgLTQ4NDQsNyArNDg1MSw3IEBAIHN0YXRpYyBpbnQgZG9fb3BlbihzdHJ1Y3QgbmFtZWlkYXRhICpuZCxcXG4gXFx0XFx0ZXJyb3IgPSAtRUlOVkFMO1xcbiBcXHR9XFxuIFxcdGlmIChkb190cnVuY2F0ZSlcXG4tXFx0XFx0bW50X2Ryb3Bfd3JpdGUobmQtXFx1MDAzZXBhdGgubW50KTtcXG4rXFx0XFx0bW50X2Ryb3Bfd3JpdGUobW50KTtcXG4gXFx0cmV0dXJuIGVycm9yO1xcbiB9XFxuIFxcbmRpZmYgLS1naXQgYS9mcy9vcGVuLmMgYi9mcy9vcGVuLmNcXG5pbmRleCA2YjFjMTRlNjg0YTkzLi4yYTc2OTdjZWUwMGJjIDEwMDY0NFxcbi0tLSBhL2ZzL29wZW4uY1xcbisrKyBiL2ZzL29wZW4uY1xcbkBAIC05MzEsNiArOTMxLDExIEBAIHN0YXRpYyBpbmxpbmUgaW50IGZpbGVfZ2V0X3dyaXRlX2FjY2VzcyhzdHJ1Y3QgZmlsZSAqZilcXG4gXFx0cmV0dXJuIGVycm9yO1xcbiB9XFxuIFxcbisvKlxcbisgKiBQb3B1bGF0ZSBzdHJ1Y3QgZmlsZVxcbisgKlxcbisgKiBOT1RFOiBpdCBhc3N1bWVzIGZfcGF0aCBpcyBwb3B1bGF0ZWQgYW5kIGNvbnN1bWVzIHRoZSBjYWxsZXIncyByZWZlcmVuY2UuXFxuKyAqL1xcbiBzdGF0aWMgaW50IGRvX2RlbnRyeV9vcGVuKHN0cnVjdCBmaWxlICpmLFxcbiBcXHRcXHRcXHQgIGludCAoKm9wZW4pKHN0cnVjdCBpbm9kZSAqLCBzdHJ1Y3QgZmlsZSAqKSlcXG4ge1xcbkBAIC05MzgsNyArOTQzLDYgQEAgc3RhdGljIGludCBkb19kZW50cnlfb3BlbihzdHJ1Y3QgZmlsZSAqZixcXG4gXFx0c3RydWN0IGlub2RlICppbm9kZSA9IGYtXFx1MDAzZWZfcGF0aC5kZW50cnktXFx1MDAzZWRfaW5vZGU7XFxuIFxcdGludCBlcnJvcjtcXG4gXFxuLVxcdHBhdGhfZ2V0KFxcdTAwMjZmLVxcdTAwM2VmX3BhdGgpO1xcbiBcXHRmLVxcdTAwM2VmX2lub2RlID0gaW5vZGU7XFxuIFxcdGYtXFx1MDAzZWZfbWFwcGluZyA9IGlub2RlLVxcdTAwM2VpX21hcHBpbmc7XFxuIFxcdGYtXFx1MDAzZWZfd2JfZXJyID0gZmlsZW1hcF9zYW1wbGVfd2JfZXJyKGYtXFx1MDAzZWZfbWFwcGluZyk7XFxuQEAgLTEwNTUsNiArMTA1OSw3IEBAIGludCBmaW5pc2hfb3BlbihzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LFxcbiBcXHRCVUdfT04oZmlsZS1cXHUwMDNlZl9tb2RlIFxcdTAwMjYgRk1PREVfT1BFTkVEKTsgLyogb25jZSBpdCdzIG9wZW5lZCwgaXQncyBvcGVuZWQgKi9cXG4gXFxuIFxcdGZpbGUtXFx1MDAzZV9fZl9wYXRoLmRlbnRyeSA9IGRlbnRyeTtcXG4rXFx0cGF0aF9nZXQoXFx1MDAyNmZpbGUtXFx1MDAzZWZfcGF0aCk7XFxuIFxcdHJldHVybiBkb19kZW50cnlfb3BlbihmaWxlLCBvcGVuKTtcXG4gfVxcbiBFWFBPUlRfU1lNQk9MKGZpbmlzaF9vcGVuKTtcXG5AQCAtMTA5OCw2ICsxMTAzLDcgQEAgaW50IHZmc19vcGVuKGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3QgZmlsZSAqZmlsZSlcXG4gXFx0aW50IHJldDtcXG4gXFxuIFxcdGZpbGUtXFx1MDAzZV9fZl9wYXRoID0gKnBhdGg7XFxuK1xcdHBhdGhfZ2V0KFxcdTAwMjZmaWxlLVxcdTAwM2VmX3BhdGgpO1xcbiBcXHRyZXQgPSBkb19kZW50cnlfb3BlbihmaWxlLCBOVUxMKTtcXG4gXFx0aWYgKCFyZXQpIHtcXG4gXFx0XFx0LypcXG5AQCAtMTExMCw2ICsxMTE2LDI1IEBAIGludCB2ZnNfb3Blbihjb25zdCBzdHJ1Y3QgcGF0aCAqcGF0aCwgc3RydWN0IGZpbGUgKmZpbGUpXFxuIFxcdHJldHVybiByZXQ7XFxuIH1cXG4gXFxuKy8qKlxcbisgKiB2ZnNfb3Blbl9jb25zdW1lIC0gb3BlbiB0aGUgZmlsZSBhdCB0aGUgZ2l2ZW4gcGF0aCBhbmQgY29uc3VtZSB0aGUgcmVmZXJlbmNlXFxuKyAqIEBwYXRoOiBwYXRoIHRvIG9wZW5cXG4rICogQGZpbGU6IG5ld2x5IGFsbG9jYXRlZCBmaWxlIHdpdGggZl9mbGFnIGluaXRpYWxpemVkXFxuKyAqL1xcbitpbnQgdmZzX29wZW5fY29uc3VtZShzdHJ1Y3QgcGF0aCAqcGF0aCwgc3RydWN0IGZpbGUgKmZpbGUpXFxuK3tcXG4rXFx0aW50IHJldDtcXG4rXFxuK1xcdGZpbGUtXFx1MDAzZV9fZl9wYXRoID0gKnBhdGg7XFxuK1xcdHBhdGgtXFx1MDAzZW1udCA9IE5VTEw7XFxuK1xcdHBhdGgtXFx1MDAzZWRlbnRyeSA9IE5VTEw7XFxuK1xcdHJldCA9IGRvX2RlbnRyeV9vcGVuKGZpbGUsIE5VTEwpO1xcbitcXHRpZiAoIXJldCkge1xcbitcXHRcXHRmc25vdGlmeV9vcGVuKGZpbGUpO1xcbitcXHR9XFxuK1xcdHJldHVybiByZXQ7XFxuK31cXG4rXFxuIHN0cnVjdCBmaWxlICpkZW50cnlfb3Blbihjb25zdCBzdHJ1Y3QgcGF0aCAqcGF0aCwgaW50IGZsYWdzLFxcbiBcXHRcXHRcXHQgY29uc3Qgc3RydWN0IGNyZWQgKmNyZWQpXFxuIHtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDNUMTI6MDg6NTEuNTk4MzgxMzhaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJiZXN0LWV4cGVuc2l2ZSIsIkR1cmF0aW9uIjoxNTU1MDE4MDQ2MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJ2ZnNfb3Blbl9jb25zdW1lXCIsXG4gICAgXCJ2ZnNfb3BlblwiLFxuICAgIFwiZmluaXNoX29wZW5cIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyBjb3JlIFZGUyBmaWxlIG9wZW5pbmcgbG9naWMsIHNwZWNpZmljYWxseSBob3cgcGF0aCByZWZlcmVuY2VzIGFyZSBoYW5kbGVkIGFuZCBjb25zdW1lZCBkdXJpbmcgYGRvX2RlbnRyeV9vcGVuYCBhbmQgYHZmc19vcGVuYC4gVGhpcyBpcyBjcml0aWNhbCBjb3JlIGtlcm5lbCBmdW5jdGlvbmFsaXR5IHRoYXQgaXMgaGlnaGx5IHJlYWNoYWJsZSBhbmQgcHJvbmUgdG8gcmVmZXJlbmNlIGNvdW50aW5nIG9yIHVzZS1hZnRlci1mcmVlIGJ1Z3MgaWYgbWlzaGFuZGxlZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG4tIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSlcbiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4gICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnNcbiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBBbHNvIGNoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlnc1xuICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzXG4gICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgNGQ3YThiMjY2NmY1ODliYzQxMzBmZjNjMGY2MmY5Zjc5MjVhYjc4Y1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBNb24gQXVnIDMgMTI6MDg6NTAgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9mcy9pbnRlcm5hbC5oIGIvZnMvaW50ZXJuYWwuaFxuaW5kZXggYzY1OGM4YTVlYmQ1Ni4uOTYzMjIzOTAzNmFjYyAxMDA2NDRcbi0tLSBhL2ZzL2ludGVybmFsLmhcbisrKyBiL2ZzL2ludGVybmFsLmhcbkBAIC0yMDUsNiArMjA1LDcgQEAgaW50IGRvX2ZjaG93bmF0KGludCBkZmQsIGNvbnN0IGNoYXIgX191c2VyICpmaWxlbmFtZSwgdWlkX3QgdXNlciwgZ2lkX3QgZ3JvdXAsXG4gXHRcdGludCBmbGFnKTtcbiBpbnQgY2hvd25fY29tbW9uKGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCB1aWRfdCB1c2VyLCBnaWRfdCBncm91cCk7XG4gZXh0ZXJuIGludCB2ZnNfb3Blbihjb25zdCBzdHJ1Y3QgcGF0aCAqLCBzdHJ1Y3QgZmlsZSAqKTtcbitpbnQgdmZzX29wZW5fY29uc3VtZShzdHJ1Y3QgcGF0aCAqLCBzdHJ1Y3QgZmlsZSAqKTtcbiBcbiAvKlxuICAqIGlub2RlLmNcbmRpZmYgLS1naXQgYS9mcy9uYW1laS5jIGIvZnMvbmFtZWkuY1xuaW5kZXggM2Y5YmYxMDNiYTEyNi4uY2Y3OWVjZWRmMjg4MCAxMDA2NDRcbi0tLSBhL2ZzL25hbWVpLmNcbisrKyBiL2ZzL25hbWVpLmNcbkBAIC00Nzg5LDYgKzQ3ODksNyBAQCBzdGF0aWMgY29uc3QgY2hhciAqb3Blbl9sYXN0X2xvb2t1cHMoc3RydWN0IG5hbWVpZGF0YSAqbmQsXG4gc3RhdGljIGludCBkb19vcGVuKHN0cnVjdCBuYW1laWRhdGEgKm5kLFxuIFx0XHQgICBzdHJ1Y3QgZmlsZSAqZmlsZSwgY29uc3Qgc3RydWN0IG9wZW5fZmxhZ3MgKm9wKVxuIHtcbitcdHN0cnVjdCB2ZnNtb3VudCAqbW50O1xuIFx0c3RydWN0IG1udF9pZG1hcCAqaWRtYXA7XG4gXHRpbnQgb3Blbl9mbGFnID0gb3AtXHUwMDNlb3Blbl9mbGFnO1xuIFx0Ym9vbCBkb190cnVuY2F0ZTtcbkBAIC00ODI3LDE0ICs0ODI4LDIwIEBAIHN0YXRpYyBpbnQgZG9fb3BlbihzdHJ1Y3QgbmFtZWlkYXRhICpuZCxcbiBcdFx0b3Blbl9mbGFnIFx1MDAyNj0gfk9fVFJVTkM7XG4gXHRcdGFjY19tb2RlID0gMDtcbiBcdH0gZWxzZSBpZiAoZF9pc19yZWcobmQtXHUwMDNlcGF0aC5kZW50cnkpIFx1MDAyNlx1MDAyNiBvcGVuX2ZsYWcgXHUwMDI2IE9fVFJVTkMpIHtcbi1cdFx0ZXJyb3IgPSBtbnRfd2FudF93cml0ZShuZC1cdTAwM2VwYXRoLm1udCk7XG4rXHRcdC8qXG4rXHRcdCAqIFN0YXNoIHRoZSBtb3VudCBwb2ludCBiZWZvcmUgdmZzX29wZW5fY29uc3VtZSgpIHdoYWNrcyBuZC1cdTAwM2VwYXRoLlxuK1x0XHQgKiBJdCBpcyBzYWZlbHkgYWNjZXNzaWJsZSBiZWNhdXNlIHRoZSBmaWxlIG9iaiB1c2luZyBpdCBpcyBndWFyYW50ZWVkXG4rXHRcdCAqIHRvIG5vdCBkaXNhcHBlYXIgd2hpbGUgd2UgZXhlY3V0ZS5cbitcdFx0ICovXG4rXHRcdG1udCA9IG5kLVx1MDAzZXBhdGgubW50O1xuK1x0XHRlcnJvciA9IG1udF93YW50X3dyaXRlKG1udCk7XG4gXHRcdGlmIChlcnJvcilcbiBcdFx0XHRyZXR1cm4gZXJyb3I7XG4gXHRcdGRvX3RydW5jYXRlID0gdHJ1ZTtcbiBcdH1cbiBcdGVycm9yID0gbWF5X29wZW4oaWRtYXAsIFx1MDAyNm5kLVx1MDAzZXBhdGgsIGFjY19tb2RlLCBvcGVuX2ZsYWcpO1xuIFx0aWYgKCFlcnJvciBcdTAwMjZcdTAwMjYgIShmaWxlLVx1MDAzZWZfbW9kZSBcdTAwMjYgRk1PREVfT1BFTkVEKSlcbi1cdFx0ZXJyb3IgPSB2ZnNfb3BlbihcdTAwMjZuZC1cdTAwM2VwYXRoLCBmaWxlKTtcbitcdFx0ZXJyb3IgPSB2ZnNfb3Blbl9jb25zdW1lKFx1MDAyNm5kLVx1MDAzZXBhdGgsIGZpbGUpO1xuIFx0aWYgKCFlcnJvcilcbiBcdFx0ZXJyb3IgPSBzZWN1cml0eV9maWxlX3Bvc3Rfb3BlbihmaWxlLCBvcC1cdTAwM2VhY2NfbW9kZSk7XG4gXHRpZiAoIWVycm9yIFx1MDAyNlx1MDAyNiBkb190cnVuY2F0ZSlcbkBAIC00ODQ0LDcgKzQ4NTEsNyBAQCBzdGF0aWMgaW50IGRvX29wZW4oc3RydWN0IG5hbWVpZGF0YSAqbmQsXG4gXHRcdGVycm9yID0gLUVJTlZBTDtcbiBcdH1cbiBcdGlmIChkb190cnVuY2F0ZSlcbi1cdFx0bW50X2Ryb3Bfd3JpdGUobmQtXHUwMDNlcGF0aC5tbnQpO1xuK1x0XHRtbnRfZHJvcF93cml0ZShtbnQpO1xuIFx0cmV0dXJuIGVycm9yO1xuIH1cbiBcbmRpZmYgLS1naXQgYS9mcy9vcGVuLmMgYi9mcy9vcGVuLmNcbmluZGV4IDZiMWMxNGU2ODRhOTMuLjJhNzY5N2NlZTAwYmMgMTAwNjQ0XG4tLS0gYS9mcy9vcGVuLmNcbisrKyBiL2ZzL29wZW4uY1xuQEAgLTkzMSw2ICs5MzEsMTEgQEAgc3RhdGljIGlubGluZSBpbnQgZmlsZV9nZXRfd3JpdGVfYWNjZXNzKHN0cnVjdCBmaWxlICpmKVxuIFx0cmV0dXJuIGVycm9yO1xuIH1cbiBcbisvKlxuKyAqIFBvcHVsYXRlIHN0cnVjdCBmaWxlXG4rICpcbisgKiBOT1RFOiBpdCBhc3N1bWVzIGZfcGF0aCBpcyBwb3B1bGF0ZWQgYW5kIGNvbnN1bWVzIHRoZSBjYWxsZXIncyByZWZlcmVuY2UuXG4rICovXG4gc3RhdGljIGludCBkb19kZW50cnlfb3BlbihzdHJ1Y3QgZmlsZSAqZixcbiBcdFx0XHQgIGludCAoKm9wZW4pKHN0cnVjdCBpbm9kZSAqLCBzdHJ1Y3QgZmlsZSAqKSlcbiB7XG5AQCAtOTM4LDcgKzk0Myw2IEBAIHN0YXRpYyBpbnQgZG9fZGVudHJ5X29wZW4oc3RydWN0IGZpbGUgKmYsXG4gXHRzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZi1cdTAwM2VmX3BhdGguZGVudHJ5LVx1MDAzZWRfaW5vZGU7XG4gXHRpbnQgZXJyb3I7XG4gXG4tXHRwYXRoX2dldChcdTAwMjZmLVx1MDAzZWZfcGF0aCk7XG4gXHRmLVx1MDAzZWZfaW5vZGUgPSBpbm9kZTtcbiBcdGYtXHUwMDNlZl9tYXBwaW5nID0gaW5vZGUtXHUwMDNlaV9tYXBwaW5nO1xuIFx0Zi1cdTAwM2VmX3diX2VyciA9IGZpbGVtYXBfc2FtcGxlX3diX2VycihmLVx1MDAzZWZfbWFwcGluZyk7XG5AQCAtMTA1NSw2ICsxMDU5LDcgQEAgaW50IGZpbmlzaF9vcGVuKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksXG4gXHRCVUdfT04oZmlsZS1cdTAwM2VmX21vZGUgXHUwMDI2IEZNT0RFX09QRU5FRCk7IC8qIG9uY2UgaXQncyBvcGVuZWQsIGl0J3Mgb3BlbmVkICovXG4gXG4gXHRmaWxlLVx1MDAzZV9fZl9wYXRoLmRlbnRyeSA9IGRlbnRyeTtcbitcdHBhdGhfZ2V0KFx1MDAyNmZpbGUtXHUwMDNlZl9wYXRoKTtcbiBcdHJldHVybiBkb19kZW50cnlfb3BlbihmaWxlLCBvcGVuKTtcbiB9XG4gRVhQT1JUX1NZTUJPTChmaW5pc2hfb3Blbik7XG5AQCAtMTA5OCw2ICsxMTAzLDcgQEAgaW50IHZmc19vcGVuKGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3QgZmlsZSAqZmlsZSlcbiBcdGludCByZXQ7XG4gXG4gXHRmaWxlLVx1MDAzZV9fZl9wYXRoID0gKnBhdGg7XG4rXHRwYXRoX2dldChcdTAwMjZmaWxlLVx1MDAzZWZfcGF0aCk7XG4gXHRyZXQgPSBkb19kZW50cnlfb3BlbihmaWxlLCBOVUxMKTtcbiBcdGlmICghcmV0KSB7XG4gXHRcdC8qXG5AQCAtMTExMCw2ICsxMTE2LDI1IEBAIGludCB2ZnNfb3Blbihjb25zdCBzdHJ1Y3QgcGF0aCAqcGF0aCwgc3RydWN0IGZpbGUgKmZpbGUpXG4gXHRyZXR1cm4gcmV0O1xuIH1cbiBcbisvKipcbisgKiB2ZnNfb3Blbl9jb25zdW1lIC0gb3BlbiB0aGUgZmlsZSBhdCB0aGUgZ2l2ZW4gcGF0aCBhbmQgY29uc3VtZSB0aGUgcmVmZXJlbmNlXG4rICogQHBhdGg6IHBhdGggdG8gb3BlblxuKyAqIEBmaWxlOiBuZXdseSBhbGxvY2F0ZWQgZmlsZSB3aXRoIGZfZmxhZyBpbml0aWFsaXplZFxuKyAqL1xuK2ludCB2ZnNfb3Blbl9jb25zdW1lKHN0cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3QgZmlsZSAqZmlsZSlcbit7XG4rXHRpbnQgcmV0O1xuK1xuK1x0ZmlsZS1cdTAwM2VfX2ZfcGF0aCA9ICpwYXRoO1xuK1x0cGF0aC1cdTAwM2VtbnQgPSBOVUxMO1xuK1x0cGF0aC1cdTAwM2VkZW50cnkgPSBOVUxMO1xuK1x0cmV0ID0gZG9fZGVudHJ5X29wZW4oZmlsZSwgTlVMTCk7XG4rXHRpZiAoIXJldCkge1xuK1x0XHRmc25vdGlmeV9vcGVuKGZpbGUpO1xuK1x0fVxuK1x0cmV0dXJuIHJldDtcbit9XG4rXG4gc3RydWN0IGZpbGUgKmRlbnRyeV9vcGVuKGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCBpbnQgZmxhZ3MsXG4gXHRcdFx0IGNvbnN0IHN0cnVjdCBjcmVkICpjcmVkKVxuIHtcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAzVDEyOjA4OjUxLjU5ODM4NDM5WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6ODI2MTAyMjg0MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBDb3JlIFZGUyBNb2RpZmljYXRpb24qKlxuXG5Pa2F5LCBzbyB0aGlzIHBhdGNoIGlzIHRvdWNoaW5nIHNvbWUga2V5IGZpbGVzOiBgZnMvbmFtZWkuY2AsIGBmcy9vcGVuLmNgLCBhbmQgYGZzL2ludGVybmFsLmhgLiBSaWdodCBvZmYgdGhlIGJhdCwgdGhhdCBzY3JlYW1zIFwiaW1wb3J0YW50XCIgYW5kIFwicG90ZW50aWFsIGZvciBpbnRlcmVzdGluZyBmdXp6aW5nIHRhcmdldHMuXCIgVGhlIGludHJvZHVjdGlvbiBvZiBgdmZzX29wZW5fY29uc3VtZWAgYW5kIGl0cyBpbnRlZ3JhdGlvbiB3aXRoaW4gYGRvX29wZW5gIGluIGBmcy9uYW1laS5jYCBhcmUgdGhlIGltbWVkaWF0ZSBwb2ludHMgb2YgaW50ZXJlc3QuIFBsdXMsIHRoZSBhbHRlcmF0aW9uIG9mIGBkb19kZW50cnlfb3BlbmAgdG8gY2hhbmdlIHRoZSBgcGF0aF9nZXRgIGNhbGxzLCBtb3ZpbmcgdGhlbSB0byBgZmluaXNoX29wZW5gIGFuZCBgdmZzX29wZW5gIGlzIGFub3RoZXIgc2lnbmlmaWNhbnQgcGllY2Ugb2YgdGhpcy5cblxuTXkgaW5pdGlhbCBmb2N1cyBuZWVkcyB0byBiZSBvbiB0aGVzZSBmdW5jdGlvbnM6IGB2ZnNfb3Blbl9jb25zdW1lYCwgYGZpbmlzaF9vcGVuYCwgYW5kIGB2ZnNfb3BlbmAuIEkgaW5pdGlhbGx5IGJlbGlldmVkIGBkb19vcGVuYCB3YXMgYWxzbyBhIGtleSBzeW1ib2wsIGJ1dCB1cG9uIGludmVzdGlnYXRpb24sIGl0IHR1cm5zIG91dCBpdCdzIHN0YXRpYyB3aXRoaW4gYGZzL25hbWVpLmNgLCB3aGljaCBtYWtlcyBpdCBsZXNzIGRpcmVjdGx5IGV4cG9zZWQgYXMgYW4gZW50cnkgcG9pbnQuIEl0J3MgY2FsbGVkIGJ5IGBwYXRoX29wZW5hdGAsIHdoaWNoIGluIHR1cm4gaXMgY2FsbGVkIGJ5IGBkb19maWxwX29wZW5gLCB3aGljaCBpcyBub3Qgc3RhdGljLlxuXG5TbywgSSBuZWVkIHRvIGxvb2sgY2xvc2VseSBhdCBob3cgdGhlc2UgdGhyZWUgZnVuY3Rpb25zLCBgdmZzX29wZW5fY29uc3VtZWAsIGBmaW5pc2hfb3BlbmAsIGFuZCBgdmZzX29wZW5gLCBpbnRlcmFjdC4gYHZmc19vcGVuX2NvbnN1bWVgIGlzIG5ldywgcmVzaWRpbmcgaW4gYGZzL29wZW4uY2AuIEkgY2hlY2tlZCwgYW5kIGB2ZnNfb3BlbmAgYW5kIGBmaW5pc2hfb3BlbmAgYXJlIGRlZmluZWQgaW4gYGZzL2ludGVybmFsLmhgLiBUaGVyZSBhcmUgbm8gc3BlY2lmaWMgY29uZmlndXJhdGlvbiBvcHRpb25zIHRvIHdvcnJ5IGFib3V0IGFzIHRoaXMgaXMgYSBjb3JlIFZGUyBjaGFuZ2UgdGhhdCB3aWxsIGFsd2F5cyBiZSBlbmFibGVkLlxuXG5KdXN0IHRvIGJlIHN1cmUsIEnigJlsbCBxdWlja2x5IGRvdWJsZS1jaGVjayB0aGUgc2lnbmF0dXJlIG9mIGB2ZnNfb3Blbl9jb25zdW1lYDogYGludCB2ZnNfb3Blbl9jb25zdW1lKHN0cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3QgZmlsZSAqZmlsZSlgLiBUaW1lIHRvIGRpZyBkZWVwZXIgaW50byB0aGUgY29kZSBhbmQgc2VlIGhvdyB0aGVzZSBwaWVjZXMgZml0IHRvZ2V0aGVyLlxuXG5cbiIsIklucHV0VG9rZW5zIjozMzc5LCJPdXRwdXRUb2tlbnMiOjIwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NjIwLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDNUMTI6MDg6NTkuODU5NDA5NDNaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjEyODEzMzczMywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJ2ZnNfb3Blbl9jb25zdW1lXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImZzL2ludGVybmFsLmg9MjA3PWV4dGVybiBpbnQgdmZzX29wZW4oY29uc3Qgc3RydWN0IHBhdGggKiwgc3RydWN0IGZpbGUgKik7XFxuZnMvaW50ZXJuYWwuaDoyMDg6aW50IHZmc19vcGVuX2NvbnN1bWUoc3RydWN0IHBhdGggKiwgc3RydWN0IGZpbGUgKik7XFxuZnMvaW50ZXJuYWwuaC0yMDktXFxuLS1cXG5mcy9uYW1laS5jPTQ3ODk9c3RhdGljIGludCBkb19vcGVuKHN0cnVjdCBuYW1laWRhdGEgKm5kLFxcbi0tXFxuZnMvbmFtZWkuYy00ODMxLVxcdFxcdC8qXFxuZnMvbmFtZWkuYzo0ODMyOlxcdFxcdCAqIFN0YXNoIHRoZSBtb3VudCBwb2ludCBiZWZvcmUgdmZzX29wZW5fY29uc3VtZSgpIHdoYWNrcyBuZC1cXHUwMDNlcGF0aC5cXG5mcy9uYW1laS5jLTQ4MzMtXFx0XFx0ICogSXQgaXMgc2FmZWx5IGFjY2Vzc2libGUgYmVjYXVzZSB0aGUgZmlsZSBvYmogdXNpbmcgaXQgaXMgZ3VhcmFudGVlZFxcbi0tXFxuZnMvbmFtZWkuYy00ODQzLVxcdGlmICghZXJyb3IgXFx1MDAyNlxcdTAwMjYgIShmaWxlLVxcdTAwM2VmX21vZGUgXFx1MDAyNiBGTU9ERV9PUEVORUQpKVxcbmZzL25hbWVpLmM6NDg0NDpcXHRcXHRlcnJvciA9IHZmc19vcGVuX2NvbnN1bWUoXFx1MDAyNm5kLVxcdTAwM2VwYXRoLCBmaWxlKTtcXG5mcy9uYW1laS5jLTQ4NDUtXFx0aWYgKCFlcnJvcilcXG4tLVxcbmZzL29wZW4uYz0xMTAxPWludCB2ZnNfb3Blbihjb25zdCBzdHJ1Y3QgcGF0aCAqcGF0aCwgc3RydWN0IGZpbGUgKmZpbGUpXFxuLS1cXG5mcy9vcGVuLmMtMTExOS0vKipcXG5mcy9vcGVuLmM6MTEyMDogKiB2ZnNfb3Blbl9jb25zdW1lIC0gb3BlbiB0aGUgZmlsZSBhdCB0aGUgZ2l2ZW4gcGF0aCBhbmQgY29uc3VtZSB0aGUgcmVmZXJlbmNlXFxuZnMvb3Blbi5jLTExMjEtICogQHBhdGg6IHBhdGggdG8gb3Blblxcbi0tXFxuZnMvb3Blbi5jLTExMjMtICovXFxuZnMvb3Blbi5jOjExMjQ6aW50IHZmc19vcGVuX2NvbnN1bWUoc3RydWN0IHBhdGggKnBhdGgsIHN0cnVjdCBmaWxlICpmaWxlKVxcbmZzL29wZW4uYy0xMTI1LXtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDNUMTI6MDk6MDEuOTg3NTUwMDY0WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTE2MDk3MjEwOSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIFZGUyBGaWxlIE9wZW4gUGF0Y2gqKlxuXG5Pa2F5LCBzbyB0aGlzIHBhdGNoIGlzIGRpZ2dpbmcgaW50byB0aGUgaGVhcnQgb2YgdGhlIFZpcnR1YWwgRmlsZSBTeXN0ZW0gKFZGUyksIHNwZWNpZmljYWxseSB0aGUgZmlsZSBvcGVuaW5nIHByb2Nlc3MuIEl0IHNlZW1zIHRvIGJlIG1vZGlmeWluZyBzb21lIGNvcmUgbG9naWMgd2l0aGluIGBkb19kZW50cnlfb3BlbmAsIGB2ZnNfb3BlbmAsIGBmaW5pc2hfb3BlbmAsIGFuZCBgdmZzX29wZW5fY29uc3VtZWAuIFRoYXQncyAqZGVmaW5pdGVseSogYW4gYXJlYSB0aGF0IHNjcmVhbXMgZm9yIGZ1enppbmcuIEFueSBjaGFuZ2UgdG8gaG93IHBhdGggcmVmZXJlbmNlcyBhcmUgbWFuYWdlZCBkdXJpbmcgYSBmaWxlIG9wZW4gaXMgYSBwcmltZSB0YXJnZXQgZm9yIHVuY292ZXJpbmcgc3VidGxlIHJlZmVyZW5jZSBjb3VudGluZyBidWdzIG9yIG5hc3R5IHVzZS1hZnRlci1mcmVlIHZ1bG5lcmFiaWxpdGllcyDigJMgZXNwZWNpYWxseSBpbiB0aGUgVkZTLiBUaGlzIGlzIGxvdy1oYW5naW5nIGZydWl0LCByaXBlIGZvciBleHBsb2l0YXRpb24uIFRoZSBiZWF1dHkgb2YgdGhpcyBpcyB0aGF0IGl0J3MgY29yZSBWRlMsIHNvIG5vIHNwZWNpYWwgY29uZmlndXJhdGlvbnMgYXJlIGxpa2VseSBuZWVkZWQgdG8gdHJpZ2dlciB0aGUgcmVsZXZhbnQgY29kZSBwYXRocy4gSXQgc2hvdWxkIGp1c3Qgd29yay5cblxuTXkgZm9jdXMgc2hvdWxkIGJlIG9uIHRoZSBjYWxsIGNoYWluIGludm9sdmluZyBgdmZzX29wZW5fY29uc3VtZWAsIGB2ZnNfb3BlbmAsIGFuZCBgZmluaXNoX29wZW5gLCBhcyBpdCBjaGFuZ2VzIHRoaW5ncyBpbiB0aGUgZmlsZSBvcGVuaW5nIHByb2Nlc3MuIEkgY291bGQgbG9vayBhdCBgZG9fZmlscF9vcGVuYCB0byBtYWtlIHN1cmUgSSBkb24ndCBtaXNzIGFueXRoaW5nLCBidXQgYHZmc19vcGVuX2NvbnN1bWVgIHByb2JhYmx5IGNvdmVycyBpdCBhbGwuIExldCdzIHN0YXJ0IHdpdGggdGhvc2UgdGhyZWUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ4NDQsIk91dHB1dFRva2VucyI6MTEyLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTcxLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAzVDEyOjA5OjA3LjE0ODUyNTM4M1oiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzM2MzAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJ2ZnNfb3Blbl9jb25zdW1lXCIsXG4gICAgXCJ2ZnNfb3BlblwiLFxuICAgIFwiZmluaXNoX29wZW5cIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyBjb3JlIFZGUyBmaWxlIG9wZW5pbmcgbG9naWMsIHNwZWNpZmljYWxseSBob3cgcGF0aCByZWZlcmVuY2VzIGFyZSBoYW5kbGVkIGFuZCBjb25zdW1lZCBkdXJpbmcgYGRvX2RlbnRyeV9vcGVuYCBhbmQgYHZmc19vcGVuYC4gVGhpcyBpcyBjcml0aWNhbCBjb3JlIGtlcm5lbCBmdW5jdGlvbmFsaXR5IHRoYXQgaXMgaGlnaGx5IHJlYWNoYWJsZSBhbmQgcHJvbmUgdG8gcmVmZXJlbmNlIGNvdW50aW5nIG9yIHVzZS1hZnRlci1mcmVlIGJ1Z3MgaWYgbWlzaGFuZGxlZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJ2ZnNfb3Blbl9jb25zdW1lXCIsXG4gICAgXCJ2ZnNfb3BlblwiLFxuICAgIFwiZmluaXNoX29wZW5cIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyBjb3JlIFZGUyBmaWxlIG9wZW5pbmcgbG9naWMsIHNwZWNpZmljYWxseSBob3cgcGF0aCByZWZlcmVuY2VzIGFyZSBoYW5kbGVkIGFuZCBjb25zdW1lZCBkdXJpbmcgYGRvX2RlbnRyeV9vcGVuYCBhbmQgYHZmc19vcGVuYC4gVGhpcyBpcyBjcml0aWNhbCBjb3JlIGtlcm5lbCBmdW5jdGlvbmFsaXR5IHRoYXQgaXMgaGlnaGx5IHJlYWNoYWJsZSBhbmQgcHJvbmUgdG8gcmVmZXJlbmNlIGNvdW50aW5nIG9yIHVzZS1hZnRlci1mcmVlIGJ1Z3MgaWYgbWlzaGFuZGxlZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLmR1cmF0aW9uIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnTGxtVG9rZW4gPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS50b2tlbnMgLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdUb29sRHVyID0gc3RhdHMudG9vbC5jb3VudCA+IDAgPyAoc3RhdHMudG9vbC5kdXJhdGlvbiAvIHN0YXRzLnRvb2wuY291bnQpLnRvRml4ZWQoMikgOiAwOwoKCQkJY29uc3QgbGxtU3VtYXJ5Q2VsbHMgPSBbc3RhdHMubGxtLmNvdW50LCBzdGF0cy5sbG0udG9rZW5zLCBhdmdMbG1Ub2tlbiwgc3RhdHMubGxtLmR1cmF0aW9uLCBhdmdMbG1EdXJdOwoJCQljb25zdCB0b29sU3VtbWFyeUNlbGxzID0gW3N0YXRzLnRvb2wuY291bnQsIHN0YXRzLnRvb2wuZHVyYXRpb24sIGF2Z1Rvb2xEdXJdOwoKCQkJY29uc3QgbGxtU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGxtX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQlsbG1TdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgbGxtVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQlsbG1TdW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJbGxtVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJbGxtU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQobGxtVHIpOwoKCQkJY29uc3QgdG9vbFN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2xfc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgdG9vbFRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJdG9vbFN1bW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJdG9vbFRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZCh0b29sVHIpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBmaWx0ZXJlZFN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBbImxsbSIsICJ0b29sIl0uaW5jbHVkZXMoZC5UeXBlKSk7CgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ0R1cmF0aW9uJyk7CgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7IAoKCQkJZmlsdGVyZWRTdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJCgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsKCQkJCWxldCB0b29sdGlwID0gcy5OYW1lOwoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIgJiYgcy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoJCQkJZGF0YS5hZGRSb3coW2Ake3MuU2VxfWAsIGR1ciwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1RpbWUgQ29uc3VtcHRpb24gb2YgTExNL1Rvb2wgQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTS9Ub29sIFN0ZXBzJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ1NlY29uZHMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1cmF0aW9uX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBsbG1TdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gZC5UeXBlID09PSAibGxtIik7CgkJCWlmIChsbG1TdGVwcy5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwkJCQoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ1Rva2VucycpOwkJCQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICdzdHlsZSd9KTsJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7CQoKCQkJY29uc3QgYWdlbnRDb2xvcnMgPSB7fTsKCQkJY29uc3QgcGFsZXR0ZSA9IFsnIzQyODVGNCcsICcjREI0NDM3JywgJyNGNEI0MDAnLCAnIzBGOUQ1OCcsICcjQUI0N0JDJywgJyMwMEFDQzEnXTsKCQkJbGV0IGNvbG9ySWR4ID0gMDsKCQkJY29uc3QgYWdlbnRMTE1Db3VudHMgPSB7fTsKCQkJbGxtU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCWlmICghYWdlbnRDb2xvcnNbcy5OYW1lXSkgewoJCQkJCWFnZW50Q29sb3JzW3MuTmFtZV0gPSBwYWxldHRlW2NvbG9ySWR4ICUgcGFsZXR0ZS5sZW5ndGhdOwoJCQkJCWNvbG9ySWR4Kys7CgkJCQl9CgoJCQkJYWdlbnRMTE1Db3VudHNbcy5OYW1lXSA9IChhZ2VudExMTUNvdW50c1tzLk5hbWVdIHx8IDApICsgMTsKCQkJCWNvbnN0IGxhYmVsID0gYCR7cy5OYW1lfS0ke2FnZW50TExNQ291bnRzW3MuTmFtZV19YDsKCQkJCWNvbnN0IHRvdGFsVG9rZW5zID0gcy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2VuczsKCQkJCWNvbnN0IHN0eWxlID0gYGNvbG9yOiAke2FnZW50Q29sb3JzW3MuTmFtZV19YDsKCQkJCWxldCB0b29sdGlwID0gYFRvdGFsIFRva2VuczogJHt0b3RhbFRva2Vuc31cbihJbjogJHtzLklucHV0VG9rZW5zfSwgT3V0OiAke3MuT3V0cHV0VG9rZW5zfSwgVGhvdWdodHM6ICR7cy5PdXRwdXRUaG91Z2h0c1Rva2Vuc30pYDsKCQkJCWlmIChzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgoJCQkJZGF0YS5hZGRSb3coW2xhYmVsLCB0b3RhbFRva2Vucywgc3R5bGUsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUb2tlbiBDb25zdW1wdGlvbiBieSBMTE0gQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTSBDYWxsIFNlcXVlbmNlJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ0NvbnN1bWVkIFRva2VucycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9rZW5fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCQlsZXQgYWxsRXhwYW5kZWQgPSBmYWxzZTsKCQlmdW5jdGlvbiB0b2dnbGVBbGxEZXRhaWxzKCkgewoJCQlhbGxFeHBhbmRlZCA9ICFhbGxFeHBhbmRlZDsKCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGV0YWlscycpLmZvckVhY2goZCA9PiB7CgkJCQlpZiAoYWxsRXhwYW5kZWQpIGQuc2V0QXR0cmlidXRlKCdvcGVuJywgJycpOwoJCQkJZWxzZSBkLnJlbW92ZUF0dHJpYnV0ZSgnb3BlbicpOwoJCQl9KTsKCQl9Cgk8L3NjcmlwdD4KCgo8L2JvZHk+CjwvaHRtbD4K" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflow9z4wq[1] Phase: Succeeded StartedAt: 2026-08-03 12:09:18 +0000 UTC FinishedAt: 2026-08-03 12:09:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflow9z4wq[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-08-03 12:09:18 +0000 UTC FinishedAt: 2026-08-03 12:09:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflow9z4wq[2] Phase: Succeeded StartedAt: 2026-08-03 12:09:18 +0000 UTC FinishedAt: 2026-08-03 13:00:40 +0000 UTC Input: nil Output: nil --------- Name: series-workflow9z4wq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["vfs_open_consume","vfs_open","finish_open"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"c835c95d-f9cd-4ce1-bcc4-8fd72dbff97c","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN) Phase: Failed StartedAt: 2026-08-03 12:09:18 +0000 UTC FinishedAt: 2026-08-03 13:00:40 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["vfs_open_consume","vfs_open","finish_open"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"c835c95d-f9cd-4ce1-bcc4-8fd72dbff97c","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflow9z4wq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["vfs_open_consume","vfs_open","finish_open"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"c835c95d-f9cd-4ce1-bcc4-8fd72dbff97c","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-08-03 12:09:18 +0000 UTC FinishedAt: 2026-08-03 12:09:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflow9z4wq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["vfs_open_consume","vfs_open","finish_open"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"c835c95d-f9cd-4ce1-bcc4-8fd72dbff97c","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-08-03 12:09:18 +0000 UTC FinishedAt: 2026-08-03 12:09:35 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},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-workflow9z4wq/series-workflow9z4wq-convert-artifact-2504628921/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow9z4wq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["vfs_open_consume","vfs_open","finish_open"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"c835c95d-f9cd-4ce1-bcc4-8fd72dbff97c","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-08-03 12:09:38 +0000 UTC FinishedAt: 2026-08-03 12:29:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflow9z4wq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["vfs_open_consume","vfs_open","finish_open"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"c835c95d-f9cd-4ce1-bcc4-8fd72dbff97c","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-08-03 12:09:38 +0000 UTC FinishedAt: 2026-08-03 12:29:12 +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:*e9c7c570-a3f5-4bfb-8def-b20bc66b9c75,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-workflow9z4wq/series-workflow9z4wq-convert-artifact-2504628921/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": "7ae6b6cd-56ee-46a2-8cef-41a34464a79d", "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-workflow9z4wq/series-workflow9z4wq-build-action-4086171607/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow9z4wq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["vfs_open_consume","vfs_open","finish_open"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"c835c95d-f9cd-4ce1-bcc4-8fd72dbff97c","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-08-03 12:09:38 +0000 UTC FinishedAt: 2026-08-03 12:29:02 +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:*e9c7c570-a3f5-4bfb-8def-b20bc66b9c75,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-workflow9z4wq/series-workflow9z4wq-convert-artifact-2504628921/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": "7ae6b6cd-56ee-46a2-8cef-41a34464a79d", "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-workflow9z4wq/series-workflow9z4wq-build-action-4086171607/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow9z4wq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["vfs_open_consume","vfs_open","finish_open"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"c835c95d-f9cd-4ce1-bcc4-8fd72dbff97c","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-08-03 12:29:12 +0000 UTC FinishedAt: 2026-08-03 12:29:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflow9z4wq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["vfs_open_consume","vfs_open","finish_open"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"c835c95d-f9cd-4ce1-bcc4-8fd72dbff97c","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-08-03 12:29:12 +0000 UTC FinishedAt: 2026-08-03 12:29:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflow9z4wq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["vfs_open_consume","vfs_open","finish_open"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"c835c95d-f9cd-4ce1-bcc4-8fd72dbff97c","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-08-03 12:29:12 +0000 UTC FinishedAt: 2026-08-03 12:29:23 +0000 UTC Input: nil Output: nil --------- Name: series-workflow9z4wq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["vfs_open_consume","vfs_open","finish_open"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"c835c95d-f9cd-4ce1-bcc4-8fd72dbff97c","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-08-03 12:29:12 +0000 UTC FinishedAt: 2026-08-03 12:29:17 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"c835c95d-f9cd-4ce1-bcc4-8fd72dbff97c","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},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-workflow9z4wq/series-workflow9z4wq-convert-artifact-406724236/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow9z4wq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["vfs_open_consume","vfs_open","finish_open"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"c835c95d-f9cd-4ce1-bcc4-8fd72dbff97c","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-08-03 12:29:23 +0000 UTC FinishedAt: 2026-08-03 13:00:30 +0000 UTC Input: nil Output: nil --------- Name: series-workflow9z4wq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["vfs_open_consume","vfs_open","finish_open"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"c835c95d-f9cd-4ce1-bcc4-8fd72dbff97c","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-08-03 12:29:23 +0000 UTC FinishedAt: 2026-08-03 13:00:20 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*7ae6b6cd-56ee-46a2-8cef-41a34464a79d,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-workflow9z4wq/series-workflow9z4wq-build-action-4086171607/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": false },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-workflow9z4wq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["vfs_open_consume","vfs_open","finish_open"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"c835c95d-f9cd-4ce1-bcc4-8fd72dbff97c","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[5] Phase: Failed StartedAt: 2026-08-03 13:00:30 +0000 UTC FinishedAt: 2026-08-03 13:00:40 +0000 UTC Input: nil Output: nil --------- Name: series-workflow9z4wq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["vfs_open_consume","vfs_open","finish_open"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"415606a7be939835db9b0d6b711887586646346d","config_name":"upstream-apparmor-kasan.config","series_id":"c835c95d-f9cd-4ce1-bcc4-8fd72dbff97c","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Failed StartedAt: 2026-08-03 13:00:30 +0000 UTC FinishedAt: 2026-08-03 13:00:34 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:code,Default:nil,Value:*1,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{},Result:nil,ExitCode:*1,}