Name: series-workflowkpvc7 Phase: Succeeded StartedAt: 2026-07-20 20:42:26 +0000 UTC FinishedAt: 2026-07-21 01:11:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkpvc7[0] Phase: Succeeded StartedAt: 2026-07-20 20:42:26 +0000 UTC FinishedAt: 2026-07-20 21:06:32 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkpvc7[0].run-triage Phase: Succeeded StartedAt: 2026-07-20 20:42:26 +0000 UTC FinishedAt: 2026-07-20 21:06:32 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "bpf-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git", "commit_hash": "8cd9520d35a6c38db6567e97dd93b1f11f185dc6", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BLK_DEV_NBD" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "bpf-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git", "commit_hash": "8cd9520d35a6c38db6567e97dd93b1f11f185dc6", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BLK_DEV_NBD" ], "series_id": "409945b0-159c-4d52-ae37-bc7c04383918" }, "track": "KASAN", "fuzz": { "focus": null, "focus_symbols": [ "nbd_genl_size_set", "nbd_size_set", "nbd_size_update", "nbd_set_size", "nbd_dev_remove" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDIxOjA1PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JMS19ERVZfTkJEJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bmJkX2dlbmxfc2l6ZV9zZXQmIzM0OywKICAgICYjMzQ7bmJkX3NpemVfc2V0JiMzNDssCiAgICAmIzM0O25iZF9zaXplX3VwZGF0ZSYjMzQ7LAogICAgJiMzNDtuYmRfc2V0X3NpemUmIzM0OywKICAgICYjMzQ7bmJkX2Rldl9yZW1vdmUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggaW50cm9kdWNlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIE5CRCAoTmV0d29yayBCbG9jayBEZXZpY2UpIGRyaXZlci4gSXQgZml4ZXMgYSBkZXZpY2UgbGVhayBpbiBgbmJkX2Rldl9yZW1vdmVgIGJ5IGRlY3JlbWVudGluZyBgbmJkX3RvdGFsX2RldmljZXNgLiBJdCBhbHNvIG1vZGlmaWVzIGBuYmRfZ2VubF9zaXplX3NldGAgdG8gdmFsaWRhdGUgYmxvY2sgc2l6ZXMgYW5kIG9wdGltaXplIHNpemUgdXBkYXRlcyBieSBpbnRyb2R1Y2luZyBgbmJkX3NpemVfc2V0YCBhbmQgYG5iZF9zaXplX3VwZGF0ZWAsIGF2b2lkaW5nIGZ1bGwgcXVldWUgZnJlZXppbmcgd2hlbiBvbmx5IHRoZSBieXRlIHNpemUgY2hhbmdlcy4gVGhlc2UgY2hhbmdlcyBhcmUgcmVhY2hhYmxlIHZpYSBuZXRsaW5rIGNvbmZpZ3VyYXRpb24gY29tbWFuZHMgYW5kIGRldmljZSByZW1vdmFsIHBhdGhzLCBtYWtpbmcgdGhlbSBzdWl0YWJsZSBmb3IgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMCAyMTowNTwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IGY0MDBiYzU2YjUwMjcyN2JhN2QzZWVjNDk3MTY2ZDM1ZTcwYWU5NjlcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgTW9uIEp1bCAyMCAyMTowNTo0OSAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL25iZC5jIGIvZHJpdmVycy9ibG9jay9uYmQuY1xuaW5kZXggZmU2M2YzYzU1ZDBkOTYuLjIzMDJiOGI0MDk5YTA1IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ibG9jay9uYmQuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ibG9jay9uYmQuY1xuQEAgLTI3Nyw2ICYjNDM7Mjc3LDcgQEAgc3RhdGljIHZvaWQgbmJkX2Rldl9yZW1vdmUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZClcbiBcdG11dGV4X3VubG9jayhcdTAwMjZuYmRfaW5kZXhfbXV0ZXgpO1xuIFx0ZGVzdHJveV93b3JrcXVldWUobmJkLVx1MDAzZXJlY3Zfd29ya3EpO1xuIFx0cHV0X2Rpc2soZGlzayk7XG4mIzQzO1x0bmJkX3RvdGFsX2RldmljZXMtLTtcbiB9XG4gXG4gc3RhdGljIHZvaWQgbmJkX2Rldl9yZW1vdmVfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG5AQCAtMzMxLDYgJiM0MzszMzIsMjcgQEAgc3RhdGljIHZvaWQgbmJkX21hcmtfbnNvY2tfZGVhZChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBzdHJ1Y3QgbmJkX3NvY2sgKm5zb2NrLFxuIFx0bnNvY2stXHUwMDNlc2VudCA9IDA7XG4gfVxuIFxuJiM0MztzdGF0aWMgdm9pZCBuYmRfc2l6ZV91cGRhdGUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZClcbiYjNDM7e1xuJiM0MztcdHN0cnVjdCBuYmRfY29uZmlnICpjb25maWcgPSBuYmQtXHUwMDNlY29uZmlnO1xuJiM0MztcbiYjNDM7XHRpZiAobWF4X3BhcnQpXG4mIzQzO1x0XHRzZXRfYml0KEdEX05FRURfUEFSVF9TQ0FOLCBcdTAwMjZuYmQtXHUwMDNlZGlzay1cdTAwM2VzdGF0ZSk7XG4mIzQzO1x0aWYgKCFzZXRfY2FwYWNpdHlfYW5kX25vdGlmeShuYmQtXHUwMDNlZGlzaywgY29uZmlnLVx1MDAzZWJ5dGVzaXplIFx1MDAzZVx1MDAzZSA5KSlcbiYjNDM7XHRcdGtvYmplY3RfdWV2ZW50KFx1MDAyNm5iZF90b19kZXYobmJkKS1cdTAwM2Vrb2JqLCBLT0JKX0NIQU5HRSk7XG4mIzQzO31cbiYjNDM7XG4mIzQzO3N0YXRpYyBpbnQgbmJkX3NpemVfc2V0KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIGxvZmZfdCBieXRlc2l6ZSlcbiYjNDM7e1xuJiM0MztcdGlmIChieXRlc2l6ZSBcdTAwM2MgMClcbiYjNDM7XHRcdHJldHVybiAtRUlOVkFMO1xuJiM0MztcbiYjNDM7XHRuYmQtXHUwMDNlY29uZmlnLVx1MDAzZWJ5dGVzaXplID0gYnl0ZXNpemU7XG4mIzQzO1x0aWYgKG5iZC1cdTAwM2VwaWQpXG4mIzQzO1x0XHRuYmRfc2l6ZV91cGRhdGUobmJkKTtcbiYjNDM7XHRyZXR1cm4gMDtcbiYjNDM7fVxuJiM0MztcbiBzdGF0aWMgaW50IG5iZF9zZXRfc2l6ZShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBsb2ZmX3QgYnl0ZXNpemUsIGxvZmZfdCBibGtzaXplKVxuIHtcbiBcdHN0cnVjdCBxdWV1ZV9saW1pdHMgbGltO1xuQEAgLTM3NSwxMCAmIzQzOzM5Nyw3IEBAIHN0YXRpYyBpbnQgbmJkX3NldF9zaXplKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIGxvZmZfdCBieXRlc2l6ZSwgbG9mZl90IGJsa3NpemUpXG4gXHRpZiAoZXJyb3IpXG4gXHRcdHJldHVybiBlcnJvcjtcbiBcbi1cdGlmIChtYXhfcGFydClcbi1cdFx0c2V0X2JpdChHRF9ORUVEX1BBUlRfU0NBTiwgXHUwMDI2bmJkLVx1MDAzZWRpc2stXHUwMDNlc3RhdGUpO1xuLVx0aWYgKCFzZXRfY2FwYWNpdHlfYW5kX25vdGlmeShuYmQtXHUwMDNlZGlzaywgYnl0ZXNpemUgXHUwMDNlXHUwMDNlIDkpKVxuLVx0XHRrb2JqZWN0X3VldmVudChcdTAwMjZuYmRfdG9fZGV2KG5iZCktXHUwMDNla29iaiwgS09CSl9DSEFOR0UpO1xuJiM0MztcdG5iZF9zaXplX3VwZGF0ZShuYmQpO1xuIFx0cmV0dXJuIDA7XG4gfVxuIFxuQEAgLTIwNjIsMTEgJiM0MzsyMDgxLDE5IEBAIHN0YXRpYyBpbnQgbmJkX2dlbmxfc2l6ZV9zZXQoc3RydWN0IGdlbmxfaW5mbyAqaW5mbywgc3RydWN0IG5iZF9kZXZpY2UgKm5iZClcbiBcdGlmIChpbmZvLVx1MDAzZWF0dHJzW05CRF9BVFRSX1NJWkVfQllURVNdKVxuIFx0XHRieXRlcyA9IG5sYV9nZXRfdTY0KGluZm8tXHUwMDNlYXR0cnNbTkJEX0FUVFJfU0laRV9CWVRFU10pO1xuIFxuLVx0aWYgKGluZm8tXHUwMDNlYXR0cnNbTkJEX0FUVFJfQkxPQ0tfU0laRV9CWVRFU10pXG4mIzQzO1x0aWYgKGluZm8tXHUwMDNlYXR0cnNbTkJEX0FUVFJfQkxPQ0tfU0laRV9CWVRFU10pIHtcbiBcdFx0YnNpemUgPSBubGFfZ2V0X3U2NChpbmZvLVx1MDAzZWF0dHJzW05CRF9BVFRSX0JMT0NLX1NJWkVfQllURVNdKTtcbiYjNDM7XHRcdGlmICghYnNpemUpXG4mIzQzO1x0XHRcdGJzaXplID0gMXUgXHUwMDNjXHUwMDNjIE5CRF9ERUZfQkxLU0laRV9CSVRTO1xuJiM0MztcdFx0aWYgKGJsa192YWxpZGF0ZV9ibG9ja19zaXplKGJzaXplKSlcbiYjNDM7XHRcdFx0cmV0dXJuIC1FSU5WQUw7XG4mIzQzO1x0fVxuIFxuLVx0aWYgKGJ5dGVzICE9IGNvbmZpZy1cdTAwM2VieXRlc2l6ZSB8fCBic2l6ZSAhPSBuYmRfYmxrc2l6ZShjb25maWcpKVxuLVx0XHRyZXR1cm4gbmJkX3NldF9zaXplKG5iZCwgYnl0ZXMsIGJzaXplKTtcbiYjNDM7XHRpZiAoYnl0ZXMgIT0gY29uZmlnLVx1MDAzZWJ5dGVzaXplIHx8IGJzaXplICE9IG5iZF9ibGtzaXplKGNvbmZpZykpIHtcbiYjNDM7XHRcdGlmIChic2l6ZSAhPSBuYmRfYmxrc2l6ZShjb25maWcpKVxuJiM0MztcdFx0XHRyZXR1cm4gbmJkX3NldF9zaXplKG5iZCwgYnl0ZXMsIGJzaXplKTtcbiYjNDM7XHRcdHJldHVybiBuYmRfc2l6ZV9zZXQobmJkLCBieXRlcyk7XG4mIzQzO1x0fVxuIFx0cmV0dXJuIDA7XG4gfVxuIFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDIxOjA1PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmJlc3QtZXhwZW5zaXZlPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtCTEtfREVWX05CRCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O25iZF9nZW5sX3NpemVfc2V0JiMzNDssCiAgICAmIzM0O25iZF9zaXplX3NldCYjMzQ7LAogICAgJiMzNDtuYmRfc2l6ZV91cGRhdGUmIzM0OywKICAgICYjMzQ7bmJkX3NldF9zaXplJiMzNDssCiAgICAmIzM0O25iZF9kZXZfcmVtb3ZlJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGludHJvZHVjZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBOQkQgKE5ldHdvcmsgQmxvY2sgRGV2aWNlKSBkcml2ZXIuIEl0IGZpeGVzIGEgZGV2aWNlIGxlYWsgaW4gYG5iZF9kZXZfcmVtb3ZlYCBieSBkZWNyZW1lbnRpbmcgYG5iZF90b3RhbF9kZXZpY2VzYC4gSXQgYWxzbyBtb2RpZmllcyBgbmJkX2dlbmxfc2l6ZV9zZXRgIHRvIHZhbGlkYXRlIGJsb2NrIHNpemVzIGFuZCBvcHRpbWl6ZSBzaXplIHVwZGF0ZXMgYnkgaW50cm9kdWNpbmcgYG5iZF9zaXplX3NldGAgYW5kIGBuYmRfc2l6ZV91cGRhdGVgLCBhdm9pZGluZyBmdWxsIHF1ZXVlIGZyZWV6aW5nIHdoZW4gb25seSB0aGUgYnl0ZSBzaXplIGNoYW5nZXMuIFRoZXNlIGNoYW5nZXMgYXJlIHJlYWNoYWJsZSB2aWEgbmV0bGluayBjb25maWd1cmF0aW9uIGNvbW1hbmRzIGFuZCBkZXZpY2UgcmVtb3ZhbCBwYXRocywgbWFraW5nIHRoZW0gc3VpdGFibGUgZm9yIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IGY0MDBiYzU2YjUwMjcyN2JhN2QzZWVjNDk3MTY2ZDM1ZTcwYWU5NjkKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgTW9uIEp1bCAyMCAyMTowNTo0OSAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svbmJkLmMgYi9kcml2ZXJzL2Jsb2NrL25iZC5jCmluZGV4IGZlNjNmM2M1NWQwZDk2Li4yMzAyYjhiNDA5OWEwNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibG9jay9uYmQuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2Jsb2NrL25iZC5jCkBAIC0yNzcsNiAmIzQzOzI3Nyw3IEBAIHN0YXRpYyB2b2lkIG5iZF9kZXZfcmVtb3ZlKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpCiAJbXV0ZXhfdW5sb2NrKCZhbXA7bmJkX2luZGV4X211dGV4KTsKIAlkZXN0cm95X3dvcmtxdWV1ZShuYmQtJmd0O3JlY3Zfd29ya3EpOwogCXB1dF9kaXNrKGRpc2spOwomIzQzOwluYmRfdG90YWxfZGV2aWNlcy0tOwogfQogCiBzdGF0aWMgdm9pZCBuYmRfZGV2X3JlbW92ZV93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKQEAgLTMzMSw2ICYjNDM7MzMyLDI3IEBAIHN0YXRpYyB2b2lkIG5iZF9tYXJrX25zb2NrX2RlYWQoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgc3RydWN0IG5iZF9zb2NrICpuc29jaywKIAluc29jay0mZ3Q7c2VudCA9IDA7CiB9CiAKJiM0MztzdGF0aWMgdm9pZCBuYmRfc2l6ZV91cGRhdGUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCkKJiM0Mzt7CiYjNDM7CXN0cnVjdCBuYmRfY29uZmlnICpjb25maWcgPSBuYmQtJmd0O2NvbmZpZzsKJiM0MzsKJiM0MzsJaWYgKG1heF9wYXJ0KQomIzQzOwkJc2V0X2JpdChHRF9ORUVEX1BBUlRfU0NBTiwgJmFtcDtuYmQtJmd0O2Rpc2stJmd0O3N0YXRlKTsKJiM0MzsJaWYgKCFzZXRfY2FwYWNpdHlfYW5kX25vdGlmeShuYmQtJmd0O2Rpc2ssIGNvbmZpZy0mZ3Q7Ynl0ZXNpemUgJmd0OyZndDsgOSkpCiYjNDM7CQlrb2JqZWN0X3VldmVudCgmYW1wO25iZF90b19kZXYobmJkKS0mZ3Q7a29iaiwgS09CSl9DSEFOR0UpOwomIzQzO30KJiM0MzsKJiM0MztzdGF0aWMgaW50IG5iZF9zaXplX3NldChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBsb2ZmX3QgYnl0ZXNpemUpCiYjNDM7ewomIzQzOwlpZiAoYnl0ZXNpemUgJmx0OyAwKQomIzQzOwkJcmV0dXJuIC1FSU5WQUw7CiYjNDM7CiYjNDM7CW5iZC0mZ3Q7Y29uZmlnLSZndDtieXRlc2l6ZSA9IGJ5dGVzaXplOwomIzQzOwlpZiAobmJkLSZndDtwaWQpCiYjNDM7CQluYmRfc2l6ZV91cGRhdGUobmJkKTsKJiM0MzsJcmV0dXJuIDA7CiYjNDM7fQomIzQzOwogc3RhdGljIGludCBuYmRfc2V0X3NpemUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgbG9mZl90IGJ5dGVzaXplLCBsb2ZmX3QgYmxrc2l6ZSkKIHsKIAlzdHJ1Y3QgcXVldWVfbGltaXRzIGxpbTsKQEAgLTM3NSwxMCAmIzQzOzM5Nyw3IEBAIHN0YXRpYyBpbnQgbmJkX3NldF9zaXplKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIGxvZmZfdCBieXRlc2l6ZSwgbG9mZl90IGJsa3NpemUpCiAJaWYgKGVycm9yKQogCQlyZXR1cm4gZXJyb3I7CiAKLQlpZiAobWF4X3BhcnQpCi0JCXNldF9iaXQoR0RfTkVFRF9QQVJUX1NDQU4sICZhbXA7bmJkLSZndDtkaXNrLSZndDtzdGF0ZSk7Ci0JaWYgKCFzZXRfY2FwYWNpdHlfYW5kX25vdGlmeShuYmQtJmd0O2Rpc2ssIGJ5dGVzaXplICZndDsmZ3Q7IDkpKQotCQlrb2JqZWN0X3VldmVudCgmYW1wO25iZF90b19kZXYobmJkKS0mZ3Q7a29iaiwgS09CSl9DSEFOR0UpOwomIzQzOwluYmRfc2l6ZV91cGRhdGUobmJkKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjA2MiwxMSAmIzQzOzIwODEsMTkgQEAgc3RhdGljIGludCBuYmRfZ2VubF9zaXplX3NldChzdHJ1Y3QgZ2VubF9pbmZvICppbmZvLCBzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKQogCWlmIChpbmZvLSZndDthdHRyc1tOQkRfQVRUUl9TSVpFX0JZVEVTXSkKIAkJYnl0ZXMgPSBubGFfZ2V0X3U2NChpbmZvLSZndDthdHRyc1tOQkRfQVRUUl9TSVpFX0JZVEVTXSk7CiAKLQlpZiAoaW5mby0mZ3Q7YXR0cnNbTkJEX0FUVFJfQkxPQ0tfU0laRV9CWVRFU10pCiYjNDM7CWlmIChpbmZvLSZndDthdHRyc1tOQkRfQVRUUl9CTE9DS19TSVpFX0JZVEVTXSkgewogCQlic2l6ZSA9IG5sYV9nZXRfdTY0KGluZm8tJmd0O2F0dHJzW05CRF9BVFRSX0JMT0NLX1NJWkVfQllURVNdKTsKJiM0MzsJCWlmICghYnNpemUpCiYjNDM7CQkJYnNpemUgPSAxdSAmbHQ7Jmx0OyBOQkRfREVGX0JMS1NJWkVfQklUUzsKJiM0MzsJCWlmIChibGtfdmFsaWRhdGVfYmxvY2tfc2l6ZShic2l6ZSkpCiYjNDM7CQkJcmV0dXJuIC1FSU5WQUw7CiYjNDM7CX0KIAotCWlmIChieXRlcyAhPSBjb25maWctJmd0O2J5dGVzaXplIHx8IGJzaXplICE9IG5iZF9ibGtzaXplKGNvbmZpZykpCi0JCXJldHVybiBuYmRfc2V0X3NpemUobmJkLCBieXRlcywgYnNpemUpOwomIzQzOwlpZiAoYnl0ZXMgIT0gY29uZmlnLSZndDtieXRlc2l6ZSB8fCBic2l6ZSAhPSBuYmRfYmxrc2l6ZShjb25maWcpKSB7CiYjNDM7CQlpZiAoYnNpemUgIT0gbmJkX2Jsa3NpemUoY29uZmlnKSkKJiM0MzsJCQlyZXR1cm4gbmJkX3NldF9zaXplKG5iZCwgYnl0ZXMsIGJzaXplKTsKJiM0MzsJCXJldHVybiBuYmRfc2l6ZV9zZXQobmJkLCBieXRlcyk7CiYjNDM7CX0KIAlyZXR1cm4gMDsKIH0KIAo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMCAyMTowNTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyNzM2CgkJCQkJCQlvdXRwdXQ6IDM3CgkJCQkJCQl0aG91Z2h0czogNDQ4CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgTkJEIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciBgZHJpdmVycy9ibG9jay9uYmQuY2AuIEl0JiMzOTtzIHRvdWNoaW5nIGEgZmV3IGtleSBmdW5jdGlvbnM6IGBuYmRfc2l6ZV91cGRhdGUoKWAsIGBuYmRfc2l6ZV9zZXQoKWAsIGFuZCBtb2RpZnlpbmcgYG5iZF9zZXRfc2l6ZSgpYCBhbmQgYG5iZF9nZW5sX3NpemVfc2V0KClgLiBUaGUgaW5jbHVzaW9uIG9mIGBuYmRfdG90YWxfZGV2aWNlcy0tO2Agd2l0aGluIGBuYmRfZGV2X3JlbW92ZSgpYCBpbW1lZGlhdGVseSBqdW1wcyBvdXQgYXQgbWUg4oCTIHRoYXQmIzM5O3MgYSBjbGFzc2ljIGRldmljZSBsZWFrIGJ1ZyBmaXguICBHb29kIGNhdGNoLCB0aG91Z2ggSSBuZWVkIHRvIGNvbmZpcm0gdGhlIHVuZGVybHlpbmcgaXNzdWUuCgpMZXQmIzM5O3MgZGl2ZSBpbnRvIHRoZSBjaGFuZ2VzIGluIGBuYmRfZ2VubF9zaXplX3NldCgpYC4gSXQgbG9va3MgbGlrZSB3ZSYjMzk7cmUgaGFyZGVuaW5nIHRoZSBibG9jayBzaXplIGhhbmRsaW5nLiBUaGUgY29kZSBub3cgZXhwbGljaXRseSBjaGVja3MgZm9yIGEgemVybyBgYnNpemVgIGFmdGVyIHJldHJpZXZpbmcgaXQgZnJvbSB0aGUgTmV0bGluayBhdHRyaWJ1dGUsIGFuZCBpZiBpdCBpcyB6ZXJvLCBpdCBkZWZhdWx0cyBpdCB0byBgMXUgJmx0OyZsdDsgTkJEX0RFRl9CTEtTSVpFX0JJVFNgLiBUaGUgY29kZSBhbHNvIGluY2x1ZGVzIGBibGtfdmFsaWRhdGVfYmxvY2tfc2l6ZSgpYCB3aGljaCBpcyBzbWFydCwgcHJldmVudGluZyBwb3RlbnRpYWwgaXNzdWVzIHdpdGggaW52YWxpZCBibG9jayBzaXplcy4gRmluYWxseSBpdCBicmFuY2hlcyB0byBlaXRoZXIgYG5iZF9zZXRfc2l6ZWAgb3IgYG5iZF9zaXplX3NldGAgZGVwZW5kaW5nIG9uIHdoYXQgbmVlZHMgdG8gYmUgY2hhbmdlZCwgYW5kIGlmIHRoZSBibG9jayBzaXplIG5lZWRzIHRvIGJlIGFkanVzdGVkLgoKU2luY2UgdGhpcyBpcyByZWFjaGFibGUgdGhyb3VnaCBOZXRsaW5rLCBzcGVjaWZpY2FsbHkgYG5iZF9nZW5sX3NpemVfc2V0YCwgdGhhdCBtYWtlcyBpdCBpbnRlcmVzdGluZyBmb3IgcmVtb3RlIGV4cGxvaXRhdGlvbiBpZiB0aGVyZSBhcmUgYW55IHN1YnRsZSBmbGF3cy4gSSBuZWVkIHRvIGtlZXAgdGhhdCBpbiBtaW5kLiBJIHNob3VsZCBjaGVjayB0aGUgTkJEIGNvbmZpZ3VyYXRpb24gdG8gZW5zdXJlIHRoaXMgaXMgYWN0dWFsbHkgdXNlZCwgc28gSSYjMzk7bGwgc2VlIGlmIGBDT05GSUdfQkxLX0RFVl9OQkRgIGlzIGVuYWJsZWQuIFRoZW4sIEkgc2hvdWxkIGRvIGEgcXVpY2sgZ3JlcCB0byBtYWtlIHN1cmUgdGhpcyBjb2RlIHBhdGggaXMgYWN0dWFsbHkgcmVhY2hhYmxlIHdpdGhpbiB0aGUga2VybmVsLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDIxOjA2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O25iZF9nZW5sX3NpemVfc2V0JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9ibG9jay9uYmQuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL2Jsb2NrL25iZC5jPTIwNzA9bmJkX2RldmljZV9wb2xpY3lbTkJEX0RFVklDRV9BVFRSX01BWCAmIzQzOyAxXSA9IHtcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTIwNzQtXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjIwNzU6c3RhdGljIGludCBuYmRfZ2VubF9zaXplX3NldChzdHJ1Y3QgZ2VubF9pbmZvICppbmZvLCBzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxuZHJpdmVycy9ibG9jay9uYmQuYy0yMDc2LXtcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jPTIxMDA9c3RhdGljIGludCBuYmRfZ2VubF9jb25uZWN0KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pXG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYy0yMTc4LVx0c2V0X2JpdChOQkRfUlRfQk9VTkQsIFx1MDAyNmNvbmZpZy1cdTAwM2VydW50aW1lX2ZsYWdzKTtcbmRyaXZlcnMvYmxvY2svbmJkLmM6MjE3OTpcdHJldCA9IG5iZF9nZW5sX3NpemVfc2V0KGluZm8sIG5iZCk7XG5kcml2ZXJzL2Jsb2NrL25iZC5jLTIxODAtXHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvYmxvY2svbmJkLmM9MjMzNz1zdGF0aWMgaW50IG5iZF9nZW5sX3JlY29uZmlndXJlKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pXG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYy0yMzk5LVxuZHJpdmVycy9ibG9jay9uYmQuYzoyNDAwOlx0cmV0ID0gbmJkX2dlbmxfc2l6ZV9zZXQoaW5mbywgbmJkKTtcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjQwMS1cdGlmIChyZXQpXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjAgMjE6MDY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzk2MQoJCQkJCQkJb3V0cHV0OiAzNAoJCQkJCQkJdGhvdWdodHM6IDcyCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBsZXQmIzM5O3MgYnJlYWsgdGhpcyBkb3duLgoKKipSZWFjaGluZyBmb3IgdGhlIENvbmZpZ3VyYXRpb24qKgoKSG1tLCBJIHNlZSB0aGVzZSBmdW5jdGlvbnMgYXJlIGFsbCByZWFjaGFibGU6IGBuYmRfZ2VubF9zaXplX3NldGAsIGBuYmRfc2V0X3NpemVgLCBgbmJkX3NpemVfc2V0YCwgYW5kIGBuYmRfc2l6ZV91cGRhdGVgLiBUaGV5JiMzOTtyZSBhbGwgc2l0dGluZyB0aGVyZSwgcmVhZHkgdG8gYmUgY2FsbGVkLiBBbmQgdGhlIGNvbnRleHQgdGVsbHMgbWUgd2UmIzM5O3JlIGRlYWxpbmcgd2l0aCB0aGUgYEJMS19ERVZfTkJEYCBjb25maWcuIE15IGluaXRpYWwgdGhvdWdodCBpcywgJiMzNDtPa2F5LCB0aGF0JiMzOTtzIGludGVyZXN0aW5nLCYjMzQ7IGJ1dCBub3cgbXkgbWluZCBpcyBzdGFydGluZyB0byByYWNlLgoKR2l2ZW4gdGhpcywgSSBtdXN0IGJlIHN1cmUgdGhhdCB0aGlzIGBCTEtfREVWX05CRGAgY29uZmlnIGlzIHRoZSBvbmx5IG9uZSBpbiB0aGUgbWl4LiBMZXQmIzM5O3MgbWFrZSBzdXJlIG5vdGhpbmcgZWxzZSBpcyBpbnRlcmZlcmluZyBvciBpbiBwbGF5IGhlcmUuIEkgd2FudCB0byBjaGVjayBmb3IgYW55IG90aGVyIHJlbGV2YW50IGNvbmZpZ3VyYXRpb25zIHRoYXQgbWlnaHQgYmUgaW4gc2NvcGUuIEkgbmVlZCB0byBlbnN1cmUgdGhpcyBpcyB0aGUgc2luZ3VsYXIgZHJpdmluZyBmb3JjZSBiZWhpbmQgdGhlc2UgY2FsbHMuIEkgbmVlZCB0byBiZSAqY2VydGFpbiogdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHJlbGV2YW50IGNvbmZpZy4gSSBuZWVkIHRvIGVzdGFibGlzaCBhIGJhc2VsaW5lIG9mIGNvbnRyb2wuIFRoaXMgaXMgdGhlIGZpcnN0IHF1ZXN0aW9uIEkgbmVlZCB0byBhZGRyZXNzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDIxOjA2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBCTEtfREVWX05CRCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvYmxvY2svS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL2Jsb2NrL0tjb25maWc9MTk0PXNvdXJjZSBcJiMzNDtkcml2ZXJzL2Jsb2NrL2RyYmQvS2NvbmZpZ1wmIzM0O1xuZHJpdmVycy9ibG9jay9LY29uZmlnLTE5NS1cbmRyaXZlcnMvYmxvY2svS2NvbmZpZzoxOTY6Y29uZmlnIEJMS19ERVZfTkJEXG5kcml2ZXJzL2Jsb2NrL0tjb25maWctMTk3LVx0dHJpc3RhdGUgXCYjMzQ7TmV0d29yayBibG9jayBkZXZpY2Ugc3VwcG9ydFwmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDIxOjA2PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQzODEKCQkJCQkJCW91dHB1dDogMzQKCQkJCQkJCXRob3VnaHRzOiAyNTMKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBOQkQgQ29uZmlndXJhdGlvbiBGaXgqKgoKT2theSwgc28gSSYjMzk7bSBwcmV0dHkgc3VyZSBgQkxLX0RFVl9OQkRgIGlzIHRoZSByZWxldmFudCBjb25maWcgaGVyZS4gTGV0IG1lIGRlbHZlIGludG8gdGhlIHNwZWNpZmljcyBvZiB0aGlzIHBhdGNoLiBNeSBtYWluIGZvY3VzIG5vdyBuZWVkcyB0byBiZSBvbiBgbmJkX2dlbmxfc2l6ZV9zZXRgLCBgbmJkX2dlbmxfcmVjb25maWd1cmVgLCBhbmQgYG5iZF9nZW5sX2Nvbm5lY3RgLgoKUmlnaHQsIHRoZSBwYXRjaCBpcyBhZGRyZXNzaW5nIGFuIGlzc3VlIGluIGBuYmRfZ2VubF9zaXplX3NldGAuIEl0IHNlZW1zIGxpa2UgdGhlIG9yaWdpbmFsIGltcGxlbWVudGF0aW9uIHdhcyB0cmlnZ2VyaW5nIGEgZnVsbCBgbmJkX3NldF9zaXplYCBvcGVyYXRpb24gZXZlbiB3aGVuIG9ubHkgdGhlIGBieXRlc2l6ZWAgaGFkIGJlZW4gYWx0ZXJlZC4gVGhhdCYjMzk7cyBpbmVmZmljaWVudCwgYW5kIHBvdGVudGlhbGx5IHByb2JsZW1hdGljLCBiZWNhdXNlIGBuYmRfc2V0X3NpemVgIGZyZWV6ZXMgdGhlIHF1ZXVlIGFuZCB1cGRhdGVzIGxpbWl0cy4gSSBjYW4gc2VlIHdoeSB0aGF0JiMzOTtzIGJlaW5nIGZsYWdnZWQuIFRoZSBzb2x1dGlvbj8gSW50cm9kdWNlIGBuYmRfc2l6ZV9zZXRgLCB3aGljaCBsb29rcyBsaWtlIGl0IGp1c3QgdXBkYXRlcyB0aGUgY2FwYWNpdHkgZGlyZWN0bHksIHNpZGUtc3RlcHBpbmcgdGhlIG1vcmUgaGVhdnktaGFuZGVkIG9wZXJhdGlvbnMuIFNtYXJ0LiBBbmQgSSBzZWUgdGhleSYjMzk7dmUgYWxzbyBpbmNsdWRlZCB2YWxpZGF0aW9uIGZvciBgYnNpemVgIHdoaWNoIGlzIGFsd2F5cyBhIGdvb2QgcHJhY3RpY2UuCgpTbywgbGV0JiMzOTtzIGtlZXAgdGhvc2Ugc3ltYm9scyBpbiBzaGFycCBmb2N1czogYG5iZF9nZW5sX3NpemVfc2V0YCwgYG5iZF9zaXplX3NldGAsIGBuYmRfc2l6ZV91cGRhdGVgLCBgbmJkX2dlbmxfY29ubmVjdGAsIGFuZCBgbmJkX2dlbmxfcmVjb25maWd1cmVgLgoKV2FpdCBhIG1pbnV0ZSwgaXQgbG9va3MgbGlrZSBgbmJkX2Rldl9yZW1vdmVgIGhhcyBhbHNvIGJlZW4gbW9kaWZpZWQuIEkgbmVlZCB0byB1bmRlcnN0YW5kIHRoYXQgY2hhbmdlIHRvby4gYG5iZF9kZXZfcmVtb3ZlYCBnZXRzIGNhbGxlZCBmcm9tIGBuYmRfZGV2X3JlbW92ZV93b3JrYCBhbmQgYG5iZF9jbGVhbnVwYCwgc28gdGhlcmUmIzM5O3MgYSB3aWRlciBpbXBhY3QgdGhhbiBJIGluaXRpYWxseSB0aG91Z2h0LiBJIHNob3VsZCB0YWtlIGEgY2xvc2VyIGxvb2sgYXQgdGhhdCBmdW5jdGlvbi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMCAyMTowNjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtuYmRfZGV2X3JlbW92ZSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvYmxvY2svbmJkLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9ibG9jay9uYmQuYz0yNTk9c3RhdGljIGNvbnN0IHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlIGJhY2tlbmRfYXR0ciA9IHtcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTI2My1cbmRyaXZlcnMvYmxvY2svbmJkLmM6MjY0OnN0YXRpYyB2b2lkIG5iZF9kZXZfcmVtb3ZlKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTI2NS17XG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYy0yODItXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjI4MzpzdGF0aWMgdm9pZCBuYmRfZGV2X3JlbW92ZV93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaylcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjg0LXtcbmRyaXZlcnMvYmxvY2svbmJkLmM6Mjg1Olx0bmJkX2Rldl9yZW1vdmUoY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBuYmRfZGV2aWNlLCByZW1vdmVfd29yaykpO1xuZHJpdmVycy9ibG9jay9uYmQuYy0yODYtfVxuLS1cbmRyaXZlcnMvYmxvY2svbmJkLmM9Mjg4PXN0YXRpYyB2b2lkIG5iZF9wdXQoc3RydWN0IG5iZF9kZXZpY2UgKm5iZClcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTI5Ni1cdGVsc2VcbmRyaXZlcnMvYmxvY2svbmJkLmM6Mjk3Olx0XHRuYmRfZGV2X3JlbW92ZShuYmQpO1xuZHJpdmVycy9ibG9jay9uYmQuYy0yOTgtfVxuLS1cbmRyaXZlcnMvYmxvY2svbmJkLmM9MTkyNj1zdGF0aWMgc3RydWN0IG5iZF9kZXZpY2UgKm5iZF9kZXZfYWRkKGludCBpbmRleCwgdW5zaWduZWQgaW50IHJlZnMpXG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYy0xOTQ4LVx0bmJkLVx1MDAzZXRhZ19zZXQuZHJpdmVyX2RhdGEgPSBuYmQ7XG5kcml2ZXJzL2Jsb2NrL25iZC5jOjE5NDk6XHRJTklUX1dPUksoXHUwMDI2bmJkLVx1MDAzZXJlbW92ZV93b3JrLCBuYmRfZGV2X3JlbW92ZV93b3JrKTtcbmRyaXZlcnMvYmxvY2svbmJkLmMtMTk1MC1cdG5iZC1cdTAwM2ViYWNrZW5kID0gTlVMTDtcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jPTI3MzU9c3RhdGljIHZvaWQgX19leGl0IG5iZF9jbGVhbnVwKHZvaWQpXG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYy0yNzYyLVxuZHJpdmVycy9ibG9jay9uYmQuYzoyNzYzOlx0LyogQWxzbyB3YWl0IGZvciBuYmRfZGV2X3JlbW92ZV93b3JrKCkgY29tcGxldGVzICovXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTI3NjQtXHRkZXN0cm95X3dvcmtxdWV1ZShuYmRfZGVsX3dxKTtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMCAyMTowNjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA1NTY1CgkJCQkJCQlvdXRwdXQ6IDIwMAoJCQkJCQkJdGhvdWdodHM6IDg2MQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipGdXp6aW5nIFN0cmF0ZWd5IGZvciBOZXR3b3JrIEJsb2NrIERldmljZSAoTkJEKSBEcml2ZXIqKgoKT2theSwgbGV0JiMzOTtzIGJyZWFrIHRoaXMgZG93bi4gTXkgYW5hbHlzaXMgaW5kaWNhdGVzIGEgZm9jdXMgb24gdGhlIE5ldHdvcmsgQmxvY2sgRGV2aWNlIChOQkQpIGRyaXZlci4gVGhlIGtleSBoZXJlIGlzIHRvIGlkZW50aWZ5IHRoZSBtb3N0IGltcGFjdGZ1bCBjaGFuZ2VzIGZvciBmdXp6aW5nLiBgbmJkX2Rldl9yZW1vdmVgIGltbWVkaWF0ZWx5IGNhdWdodCBteSBleWUsIGFuZCBpdCBzZWVtcyB0aGlzIHBhdGNoIGFkZHJlc3NlcyBhIHBvdGVudGlhbCBkZXZpY2UgbGVhay4gQWRkaW5nIHRoZSBkZWNyZW1lbnQgb2YgYG5iZF90b3RhbF9kZXZpY2VzYCBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlLgoKSSBjaGVja2VkIGZvciBvdGhlciByZWxldmFudCBjb25maWd1cmF0aW9ucywgYW5kIGl0IGxvb2tzIGxpa2UgYEJMS19ERVZfTkJEYCBpcyB0aGUgb25seSBvbmUgd2UgbmVlZCB0byBjb25zaWRlci4KCk5vdywgbGV0JiMzOTtzIGRlbHZlIGRlZXBlciBpbnRvIHRoZSBjb2RlIGNoYW5nZXMuIEkmIzM5O20gc2VlaW5nIHRoZSBpbnRyb2R1Y3Rpb24gb2YgYG5iZF9zaXplX3VwZGF0ZWAgYW5kIGBuYmRfc2l6ZV9zZXRgLCB3aGljaCBzdHJvbmdseSBzdWdnZXN0cyBhIHJlZmFjdG9yaW5nIGVmZm9ydCByZWxhdGVkIHRvIHNpemUgYWRqdXN0bWVudHMuIGBuYmRfc2V0X3NpemVgIGlzIG5vdyBjYWxsaW5nIGBuYmRfc2l6ZV91cGRhdGVgLiBUaGUgYG5iZF9nZW5sX3NpemVfc2V0YCBmdW5jdGlvbiBoYXMgYmVlbiBtb2RpZmllZCwgbGlrZWx5IHRvIHZhbGlkYXRlIGJsb2NrIHNpemVzIGFuZCBwb3RlbnRpYWxseSBvcHRpbWl6ZSBzaXplIHVwZGF0ZXMgYnkgaW50cm9kdWNpbmcgYG5iZF9zaXplX3NldGAgYW5kIGBuYmRfc2l6ZV91cGRhdGVgLCBhdm9pZGluZyBmdWxsIHF1ZXVlIGZyZWV6aW5nIHdoZW4gb25seSB0aGUgYnl0ZSBzaXplIGNoYW5nZXMuIFRoaXMgZnVuY3Rpb24mIzM5O3MgY2hhbmdlcyBhcmUgZnVuY3Rpb25hbC4KClNvLCB0aGUgY3JpdGljYWwgZnVuY3Rpb25zIHRvIHRhcmdldCBhcmU6IGBuYmRfZ2VubF9zaXplX3NldGAsIGBuYmRfc2l6ZV9zZXRgLCBgbmJkX3NpemVfdXBkYXRlYCwgYG5iZF9zZXRfc2l6ZWAgYW5kIG9mIGNvdXJzZSwgYG5iZF9kZXZfcmVtb3ZlYC4gVGhlc2UgcmVwcmVzZW50IHRoZSBlbnRyeSBwb2ludHMgYW5kIHRoZSBjcnVjaWFsIGFyZWFzIG9mIG1vZGlmaWNhdGlvbi4KCkdpdmVuIHRoZXNlIGNoYW5nZXMgYXJlIHJlYWNoYWJsZSB2aWEgbmV0bGluayBjb25maWd1cmF0aW9uIGNvbW1hbmRzIGFuZCBkZXZpY2UgcmVtb3ZhbCBwYXRocywgaXQmIzM5O3MgYSBnb29kIGNhbmRpZGF0ZSBmb3IgZnV6emluZy4gSSYjMzk7bGwgZmxhZyBpdCBhcyBgV29ydGhGdXp6aW5nPXRydWVgLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMCAyMTowNjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QkxLX0RFVl9OQkQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtuYmRfZ2VubF9zaXplX3NldCYjMzQ7LAogICAgJiMzNDtuYmRfc2l6ZV9zZXQmIzM0OywKICAgICYjMzQ7bmJkX3NpemVfdXBkYXRlJiMzNDssCiAgICAmIzM0O25iZF9zZXRfc2l6ZSYjMzQ7LAogICAgJiMzNDtuYmRfZGV2X3JlbW92ZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBpbnRyb2R1Y2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUgTkJEIChOZXR3b3JrIEJsb2NrIERldmljZSkgZHJpdmVyLiBJdCBmaXhlcyBhIGRldmljZSBsZWFrIGluIGBuYmRfZGV2X3JlbW92ZWAgYnkgZGVjcmVtZW50aW5nIGBuYmRfdG90YWxfZGV2aWNlc2AuIEl0IGFsc28gbW9kaWZpZXMgYG5iZF9nZW5sX3NpemVfc2V0YCB0byB2YWxpZGF0ZSBibG9jayBzaXplcyBhbmQgb3B0aW1pemUgc2l6ZSB1cGRhdGVzIGJ5IGludHJvZHVjaW5nIGBuYmRfc2l6ZV9zZXRgIGFuZCBgbmJkX3NpemVfdXBkYXRlYCwgYXZvaWRpbmcgZnVsbCBxdWV1ZSBmcmVlemluZyB3aGVuIG9ubHkgdGhlIGJ5dGUgc2l6ZSBjaGFuZ2VzLiBUaGVzZSBjaGFuZ2VzIGFyZSByZWFjaGFibGUgdmlhIG5ldGxpbmsgY29uZmlndXJhdGlvbiBjb21tYW5kcyBhbmQgZGV2aWNlIHJlbW92YWwgcGF0aHMsIG1ha2luZyB0aGVtIHN1aXRhYmxlIGZvciBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtCTEtfREVWX05CRCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O25iZF9nZW5sX3NpemVfc2V0JiMzNDssCiAgICAmIzM0O25iZF9zaXplX3NldCYjMzQ7LAogICAgJiMzNDtuYmRfc2l6ZV91cGRhdGUmIzM0OywKICAgICYjMzQ7bmJkX3NldF9zaXplJiMzNDssCiAgICAmIzM0O25iZF9kZXZfcmVtb3ZlJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGludHJvZHVjZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBOQkQgKE5ldHdvcmsgQmxvY2sgRGV2aWNlKSBkcml2ZXIuIEl0IGZpeGVzIGEgZGV2aWNlIGxlYWsgaW4gYG5iZF9kZXZfcmVtb3ZlYCBieSBkZWNyZW1lbnRpbmcgYG5iZF90b3RhbF9kZXZpY2VzYC4gSXQgYWxzbyBtb2RpZmllcyBgbmJkX2dlbmxfc2l6ZV9zZXRgIHRvIHZhbGlkYXRlIGJsb2NrIHNpemVzIGFuZCBvcHRpbWl6ZSBzaXplIHVwZGF0ZXMgYnkgaW50cm9kdWNpbmcgYG5iZF9zaXplX3NldGAgYW5kIGBuYmRfc2l6ZV91cGRhdGVgLCBhdm9pZGluZyBmdWxsIHF1ZXVlIGZyZWV6aW5nIHdoZW4gb25seSB0aGUgYnl0ZSBzaXplIGNoYW5nZXMuIFRoZXNlIGNoYW5nZXMgYXJlIHJlYWNoYWJsZSB2aWEgbmV0bGluayBjb25maWd1cmF0aW9uIGNvbW1hbmRzIGFuZCBkZXZpY2UgcmVtb3ZhbCBwYXRocywgbWFraW5nIHRoZW0gc3VpdGFibGUgZm9yIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0yMFQyMTowNTo1MS4yOTA1MjI4NTVaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyOTY3NzU2NTUyOCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJCTEtfREVWX05CRFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm5iZF9nZW5sX3NpemVfc2V0XCIsXG4gICAgXCJuYmRfc2l6ZV9zZXRcIixcbiAgICBcIm5iZF9zaXplX3VwZGF0ZVwiLFxuICAgIFwibmJkX3NldF9zaXplXCIsXG4gICAgXCJuYmRfZGV2X3JlbW92ZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGludHJvZHVjZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBOQkQgKE5ldHdvcmsgQmxvY2sgRGV2aWNlKSBkcml2ZXIuIEl0IGZpeGVzIGEgZGV2aWNlIGxlYWsgaW4gYG5iZF9kZXZfcmVtb3ZlYCBieSBkZWNyZW1lbnRpbmcgYG5iZF90b3RhbF9kZXZpY2VzYC4gSXQgYWxzbyBtb2RpZmllcyBgbmJkX2dlbmxfc2l6ZV9zZXRgIHRvIHZhbGlkYXRlIGJsb2NrIHNpemVzIGFuZCBvcHRpbWl6ZSBzaXplIHVwZGF0ZXMgYnkgaW50cm9kdWNpbmcgYG5iZF9zaXplX3NldGAgYW5kIGBuYmRfc2l6ZV91cGRhdGVgLCBhdm9pZGluZyBmdWxsIHF1ZXVlIGZyZWV6aW5nIHdoZW4gb25seSB0aGUgYnl0ZSBzaXplIGNoYW5nZXMuIFRoZXNlIGNoYW5nZXMgYXJlIHJlYWNoYWJsZSB2aWEgbmV0bGluayBjb25maWd1cmF0aW9uIGNvbW1hbmRzIGFuZCBkZXZpY2UgcmVtb3ZhbCBwYXRocywgbWFraW5nIHRoZW0gc3VpdGFibGUgZm9yIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIwVDIxOjA1OjUxLjI5MDUzMTA1NVoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTgyMDEzMzA5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgZjQwMGJjNTZiNTAyNzI3YmE3ZDNlZWM0OTcxNjZkMzVlNzBhZTk2OVxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgTW9uIEp1bCAyMCAyMTowNTo0OSAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL25iZC5jIGIvZHJpdmVycy9ibG9jay9uYmQuY1xcbmluZGV4IGZlNjNmM2M1NWQwZDk2Li4yMzAyYjhiNDA5OWEwNSAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2Jsb2NrL25iZC5jXFxuKysrIGIvZHJpdmVycy9ibG9jay9uYmQuY1xcbkBAIC0yNzcsNiArMjc3LDcgQEAgc3RhdGljIHZvaWQgbmJkX2Rldl9yZW1vdmUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZClcXG4gXFx0bXV0ZXhfdW5sb2NrKFxcdTAwMjZuYmRfaW5kZXhfbXV0ZXgpO1xcbiBcXHRkZXN0cm95X3dvcmtxdWV1ZShuYmQtXFx1MDAzZXJlY3Zfd29ya3EpO1xcbiBcXHRwdXRfZGlzayhkaXNrKTtcXG4rXFx0bmJkX3RvdGFsX2RldmljZXMtLTtcXG4gfVxcbiBcXG4gc3RhdGljIHZvaWQgbmJkX2Rldl9yZW1vdmVfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXFxuQEAgLTMzMSw2ICszMzIsMjcgQEAgc3RhdGljIHZvaWQgbmJkX21hcmtfbnNvY2tfZGVhZChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBzdHJ1Y3QgbmJkX3NvY2sgKm5zb2NrLFxcbiBcXHRuc29jay1cXHUwMDNlc2VudCA9IDA7XFxuIH1cXG4gXFxuK3N0YXRpYyB2b2lkIG5iZF9zaXplX3VwZGF0ZShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxcbit7XFxuK1xcdHN0cnVjdCBuYmRfY29uZmlnICpjb25maWcgPSBuYmQtXFx1MDAzZWNvbmZpZztcXG4rXFxuK1xcdGlmIChtYXhfcGFydClcXG4rXFx0XFx0c2V0X2JpdChHRF9ORUVEX1BBUlRfU0NBTiwgXFx1MDAyNm5iZC1cXHUwMDNlZGlzay1cXHUwMDNlc3RhdGUpO1xcbitcXHRpZiAoIXNldF9jYXBhY2l0eV9hbmRfbm90aWZ5KG5iZC1cXHUwMDNlZGlzaywgY29uZmlnLVxcdTAwM2VieXRlc2l6ZSBcXHUwMDNlXFx1MDAzZSA5KSlcXG4rXFx0XFx0a29iamVjdF91ZXZlbnQoXFx1MDAyNm5iZF90b19kZXYobmJkKS1cXHUwMDNla29iaiwgS09CSl9DSEFOR0UpO1xcbit9XFxuK1xcbitzdGF0aWMgaW50IG5iZF9zaXplX3NldChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBsb2ZmX3QgYnl0ZXNpemUpXFxuK3tcXG4rXFx0aWYgKGJ5dGVzaXplIFxcdTAwM2MgMClcXG4rXFx0XFx0cmV0dXJuIC1FSU5WQUw7XFxuK1xcbitcXHRuYmQtXFx1MDAzZWNvbmZpZy1cXHUwMDNlYnl0ZXNpemUgPSBieXRlc2l6ZTtcXG4rXFx0aWYgKG5iZC1cXHUwMDNlcGlkKVxcbitcXHRcXHRuYmRfc2l6ZV91cGRhdGUobmJkKTtcXG4rXFx0cmV0dXJuIDA7XFxuK31cXG4rXFxuIHN0YXRpYyBpbnQgbmJkX3NldF9zaXplKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIGxvZmZfdCBieXRlc2l6ZSwgbG9mZl90IGJsa3NpemUpXFxuIHtcXG4gXFx0c3RydWN0IHF1ZXVlX2xpbWl0cyBsaW07XFxuQEAgLTM3NSwxMCArMzk3LDcgQEAgc3RhdGljIGludCBuYmRfc2V0X3NpemUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgbG9mZl90IGJ5dGVzaXplLCBsb2ZmX3QgYmxrc2l6ZSlcXG4gXFx0aWYgKGVycm9yKVxcbiBcXHRcXHRyZXR1cm4gZXJyb3I7XFxuIFxcbi1cXHRpZiAobWF4X3BhcnQpXFxuLVxcdFxcdHNldF9iaXQoR0RfTkVFRF9QQVJUX1NDQU4sIFxcdTAwMjZuYmQtXFx1MDAzZWRpc2stXFx1MDAzZXN0YXRlKTtcXG4tXFx0aWYgKCFzZXRfY2FwYWNpdHlfYW5kX25vdGlmeShuYmQtXFx1MDAzZWRpc2ssIGJ5dGVzaXplIFxcdTAwM2VcXHUwMDNlIDkpKVxcbi1cXHRcXHRrb2JqZWN0X3VldmVudChcXHUwMDI2bmJkX3RvX2RldihuYmQpLVxcdTAwM2Vrb2JqLCBLT0JKX0NIQU5HRSk7XFxuK1xcdG5iZF9zaXplX3VwZGF0ZShuYmQpO1xcbiBcXHRyZXR1cm4gMDtcXG4gfVxcbiBcXG5AQCAtMjA2MiwxMSArMjA4MSwxOSBAQCBzdGF0aWMgaW50IG5iZF9nZW5sX3NpemVfc2V0KHN0cnVjdCBnZW5sX2luZm8gKmluZm8sIHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpXFxuIFxcdGlmIChpbmZvLVxcdTAwM2VhdHRyc1tOQkRfQVRUUl9TSVpFX0JZVEVTXSlcXG4gXFx0XFx0Ynl0ZXMgPSBubGFfZ2V0X3U2NChpbmZvLVxcdTAwM2VhdHRyc1tOQkRfQVRUUl9TSVpFX0JZVEVTXSk7XFxuIFxcbi1cXHRpZiAoaW5mby1cXHUwMDNlYXR0cnNbTkJEX0FUVFJfQkxPQ0tfU0laRV9CWVRFU10pXFxuK1xcdGlmIChpbmZvLVxcdTAwM2VhdHRyc1tOQkRfQVRUUl9CTE9DS19TSVpFX0JZVEVTXSkge1xcbiBcXHRcXHRic2l6ZSA9IG5sYV9nZXRfdTY0KGluZm8tXFx1MDAzZWF0dHJzW05CRF9BVFRSX0JMT0NLX1NJWkVfQllURVNdKTtcXG4rXFx0XFx0aWYgKCFic2l6ZSlcXG4rXFx0XFx0XFx0YnNpemUgPSAxdSBcXHUwMDNjXFx1MDAzYyBOQkRfREVGX0JMS1NJWkVfQklUUztcXG4rXFx0XFx0aWYgKGJsa192YWxpZGF0ZV9ibG9ja19zaXplKGJzaXplKSlcXG4rXFx0XFx0XFx0cmV0dXJuIC1FSU5WQUw7XFxuK1xcdH1cXG4gXFxuLVxcdGlmIChieXRlcyAhPSBjb25maWctXFx1MDAzZWJ5dGVzaXplIHx8IGJzaXplICE9IG5iZF9ibGtzaXplKGNvbmZpZykpXFxuLVxcdFxcdHJldHVybiBuYmRfc2V0X3NpemUobmJkLCBieXRlcywgYnNpemUpO1xcbitcXHRpZiAoYnl0ZXMgIT0gY29uZmlnLVxcdTAwM2VieXRlc2l6ZSB8fCBic2l6ZSAhPSBuYmRfYmxrc2l6ZShjb25maWcpKSB7XFxuK1xcdFxcdGlmIChic2l6ZSAhPSBuYmRfYmxrc2l6ZShjb25maWcpKVxcbitcXHRcXHRcXHRyZXR1cm4gbmJkX3NldF9zaXplKG5iZCwgYnl0ZXMsIGJzaXplKTtcXG4rXFx0XFx0cmV0dXJuIG5iZF9zaXplX3NldChuYmQsIGJ5dGVzKTtcXG4rXFx0fVxcbiBcXHRyZXR1cm4gMDtcXG4gfVxcbiBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjBUMjE6MDU6NTEuODczMDU4OTk0WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiYmVzdC1leHBlbnNpdmUiLCJEdXJhdGlvbiI6MjkwOTUwMTg3MjksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQkxLX0RFVl9OQkRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJuYmRfZ2VubF9zaXplX3NldFwiLFxuICAgIFwibmJkX3NpemVfc2V0XCIsXG4gICAgXCJuYmRfc2l6ZV91cGRhdGVcIixcbiAgICBcIm5iZF9zZXRfc2l6ZVwiLFxuICAgIFwibmJkX2Rldl9yZW1vdmVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBpbnRyb2R1Y2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUgTkJEIChOZXR3b3JrIEJsb2NrIERldmljZSkgZHJpdmVyLiBJdCBmaXhlcyBhIGRldmljZSBsZWFrIGluIGBuYmRfZGV2X3JlbW92ZWAgYnkgZGVjcmVtZW50aW5nIGBuYmRfdG90YWxfZGV2aWNlc2AuIEl0IGFsc28gbW9kaWZpZXMgYG5iZF9nZW5sX3NpemVfc2V0YCB0byB2YWxpZGF0ZSBibG9jayBzaXplcyBhbmQgb3B0aW1pemUgc2l6ZSB1cGRhdGVzIGJ5IGludHJvZHVjaW5nIGBuYmRfc2l6ZV9zZXRgIGFuZCBgbmJkX3NpemVfdXBkYXRlYCwgYXZvaWRpbmcgZnVsbCBxdWV1ZSBmcmVlemluZyB3aGVuIG9ubHkgdGhlIGJ5dGUgc2l6ZSBjaGFuZ2VzLiBUaGVzZSBjaGFuZ2VzIGFyZSByZWFjaGFibGUgdmlhIG5ldGxpbmsgY29uZmlndXJhdGlvbiBjb21tYW5kcyBhbmQgZGV2aWNlIHJlbW92YWwgcGF0aHMsIG1ha2luZyB0aGVtIHN1aXRhYmxlIGZvciBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IGY0MDBiYzU2YjUwMjcyN2JhN2QzZWVjNDk3MTY2ZDM1ZTcwYWU5NjlcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgTW9uIEp1bCAyMCAyMTowNTo0OSAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svbmJkLmMgYi9kcml2ZXJzL2Jsb2NrL25iZC5jXG5pbmRleCBmZTYzZjNjNTVkMGQ5Ni4uMjMwMmI4YjQwOTlhMDUgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2Jsb2NrL25iZC5jXG4rKysgYi9kcml2ZXJzL2Jsb2NrL25iZC5jXG5AQCAtMjc3LDYgKzI3Nyw3IEBAIHN0YXRpYyB2b2lkIG5iZF9kZXZfcmVtb3ZlKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpXG4gXHRtdXRleF91bmxvY2soXHUwMDI2bmJkX2luZGV4X211dGV4KTtcbiBcdGRlc3Ryb3lfd29ya3F1ZXVlKG5iZC1cdTAwM2VyZWN2X3dvcmtxKTtcbiBcdHB1dF9kaXNrKGRpc2spO1xuK1x0bmJkX3RvdGFsX2RldmljZXMtLTtcbiB9XG4gXG4gc3RhdGljIHZvaWQgbmJkX2Rldl9yZW1vdmVfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG5AQCAtMzMxLDYgKzMzMiwyNyBAQCBzdGF0aWMgdm9pZCBuYmRfbWFya19uc29ja19kZWFkKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIHN0cnVjdCBuYmRfc29jayAqbnNvY2ssXG4gXHRuc29jay1cdTAwM2VzZW50ID0gMDtcbiB9XG4gXG4rc3RhdGljIHZvaWQgbmJkX3NpemVfdXBkYXRlKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpXG4re1xuK1x0c3RydWN0IG5iZF9jb25maWcgKmNvbmZpZyA9IG5iZC1cdTAwM2Vjb25maWc7XG4rXG4rXHRpZiAobWF4X3BhcnQpXG4rXHRcdHNldF9iaXQoR0RfTkVFRF9QQVJUX1NDQU4sIFx1MDAyNm5iZC1cdTAwM2VkaXNrLVx1MDAzZXN0YXRlKTtcbitcdGlmICghc2V0X2NhcGFjaXR5X2FuZF9ub3RpZnkobmJkLVx1MDAzZWRpc2ssIGNvbmZpZy1cdTAwM2VieXRlc2l6ZSBcdTAwM2VcdTAwM2UgOSkpXG4rXHRcdGtvYmplY3RfdWV2ZW50KFx1MDAyNm5iZF90b19kZXYobmJkKS1cdTAwM2Vrb2JqLCBLT0JKX0NIQU5HRSk7XG4rfVxuK1xuK3N0YXRpYyBpbnQgbmJkX3NpemVfc2V0KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIGxvZmZfdCBieXRlc2l6ZSlcbit7XG4rXHRpZiAoYnl0ZXNpemUgXHUwMDNjIDApXG4rXHRcdHJldHVybiAtRUlOVkFMO1xuK1xuK1x0bmJkLVx1MDAzZWNvbmZpZy1cdTAwM2VieXRlc2l6ZSA9IGJ5dGVzaXplO1xuK1x0aWYgKG5iZC1cdTAwM2VwaWQpXG4rXHRcdG5iZF9zaXplX3VwZGF0ZShuYmQpO1xuK1x0cmV0dXJuIDA7XG4rfVxuK1xuIHN0YXRpYyBpbnQgbmJkX3NldF9zaXplKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIGxvZmZfdCBieXRlc2l6ZSwgbG9mZl90IGJsa3NpemUpXG4ge1xuIFx0c3RydWN0IHF1ZXVlX2xpbWl0cyBsaW07XG5AQCAtMzc1LDEwICszOTcsNyBAQCBzdGF0aWMgaW50IG5iZF9zZXRfc2l6ZShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBsb2ZmX3QgYnl0ZXNpemUsIGxvZmZfdCBibGtzaXplKVxuIFx0aWYgKGVycm9yKVxuIFx0XHRyZXR1cm4gZXJyb3I7XG4gXG4tXHRpZiAobWF4X3BhcnQpXG4tXHRcdHNldF9iaXQoR0RfTkVFRF9QQVJUX1NDQU4sIFx1MDAyNm5iZC1cdTAwM2VkaXNrLVx1MDAzZXN0YXRlKTtcbi1cdGlmICghc2V0X2NhcGFjaXR5X2FuZF9ub3RpZnkobmJkLVx1MDAzZWRpc2ssIGJ5dGVzaXplIFx1MDAzZVx1MDAzZSA5KSlcbi1cdFx0a29iamVjdF91ZXZlbnQoXHUwMDI2bmJkX3RvX2RldihuYmQpLVx1MDAzZWtvYmosIEtPQkpfQ0hBTkdFKTtcbitcdG5iZF9zaXplX3VwZGF0ZShuYmQpO1xuIFx0cmV0dXJuIDA7XG4gfVxuIFxuQEAgLTIwNjIsMTEgKzIwODEsMTkgQEAgc3RhdGljIGludCBuYmRfZ2VubF9zaXplX3NldChzdHJ1Y3QgZ2VubF9pbmZvICppbmZvLCBzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxuIFx0aWYgKGluZm8tXHUwMDNlYXR0cnNbTkJEX0FUVFJfU0laRV9CWVRFU10pXG4gXHRcdGJ5dGVzID0gbmxhX2dldF91NjQoaW5mby1cdTAwM2VhdHRyc1tOQkRfQVRUUl9TSVpFX0JZVEVTXSk7XG4gXG4tXHRpZiAoaW5mby1cdTAwM2VhdHRyc1tOQkRfQVRUUl9CTE9DS19TSVpFX0JZVEVTXSlcbitcdGlmIChpbmZvLVx1MDAzZWF0dHJzW05CRF9BVFRSX0JMT0NLX1NJWkVfQllURVNdKSB7XG4gXHRcdGJzaXplID0gbmxhX2dldF91NjQoaW5mby1cdTAwM2VhdHRyc1tOQkRfQVRUUl9CTE9DS19TSVpFX0JZVEVTXSk7XG4rXHRcdGlmICghYnNpemUpXG4rXHRcdFx0YnNpemUgPSAxdSBcdTAwM2NcdTAwM2MgTkJEX0RFRl9CTEtTSVpFX0JJVFM7XG4rXHRcdGlmIChibGtfdmFsaWRhdGVfYmxvY2tfc2l6ZShic2l6ZSkpXG4rXHRcdFx0cmV0dXJuIC1FSU5WQUw7XG4rXHR9XG4gXG4tXHRpZiAoYnl0ZXMgIT0gY29uZmlnLVx1MDAzZWJ5dGVzaXplIHx8IGJzaXplICE9IG5iZF9ibGtzaXplKGNvbmZpZykpXG4tXHRcdHJldHVybiBuYmRfc2V0X3NpemUobmJkLCBieXRlcywgYnNpemUpO1xuK1x0aWYgKGJ5dGVzICE9IGNvbmZpZy1cdTAwM2VieXRlc2l6ZSB8fCBic2l6ZSAhPSBuYmRfYmxrc2l6ZShjb25maWcpKSB7XG4rXHRcdGlmIChic2l6ZSAhPSBuYmRfYmxrc2l6ZShjb25maWcpKVxuK1x0XHRcdHJldHVybiBuYmRfc2V0X3NpemUobmJkLCBieXRlcywgYnNpemUpO1xuK1x0XHRyZXR1cm4gbmJkX3NpemVfc2V0KG5iZCwgYnl0ZXMpO1xuK1x0fVxuIFx0cmV0dXJuIDA7XG4gfVxuIFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjBUMjE6MDU6NTEuODczMDYwMDM0WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTAwODA5NjUxMTgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBOQkQgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciBgZHJpdmVycy9ibG9jay9uYmQuY2AuIEl0J3MgdG91Y2hpbmcgYSBmZXcga2V5IGZ1bmN0aW9uczogYG5iZF9zaXplX3VwZGF0ZSgpYCwgYG5iZF9zaXplX3NldCgpYCwgYW5kIG1vZGlmeWluZyBgbmJkX3NldF9zaXplKClgIGFuZCBgbmJkX2dlbmxfc2l6ZV9zZXQoKWAuIFRoZSBpbmNsdXNpb24gb2YgYG5iZF90b3RhbF9kZXZpY2VzLS07YCB3aXRoaW4gYG5iZF9kZXZfcmVtb3ZlKClgIGltbWVkaWF0ZWx5IGp1bXBzIG91dCBhdCBtZSDigJMgdGhhdCdzIGEgY2xhc3NpYyBkZXZpY2UgbGVhayBidWcgZml4LiAgR29vZCBjYXRjaCwgdGhvdWdoIEkgbmVlZCB0byBjb25maXJtIHRoZSB1bmRlcmx5aW5nIGlzc3VlLlxuXG5MZXQncyBkaXZlIGludG8gdGhlIGNoYW5nZXMgaW4gYG5iZF9nZW5sX3NpemVfc2V0KClgLiBJdCBsb29rcyBsaWtlIHdlJ3JlIGhhcmRlbmluZyB0aGUgYmxvY2sgc2l6ZSBoYW5kbGluZy4gVGhlIGNvZGUgbm93IGV4cGxpY2l0bHkgY2hlY2tzIGZvciBhIHplcm8gYGJzaXplYCBhZnRlciByZXRyaWV2aW5nIGl0IGZyb20gdGhlIE5ldGxpbmsgYXR0cmlidXRlLCBhbmQgaWYgaXQgaXMgemVybywgaXQgZGVmYXVsdHMgaXQgdG8gYDF1IFx1MDAzY1x1MDAzYyBOQkRfREVGX0JMS1NJWkVfQklUU2AuIFRoZSBjb2RlIGFsc28gaW5jbHVkZXMgYGJsa192YWxpZGF0ZV9ibG9ja19zaXplKClgIHdoaWNoIGlzIHNtYXJ0LCBwcmV2ZW50aW5nIHBvdGVudGlhbCBpc3N1ZXMgd2l0aCBpbnZhbGlkIGJsb2NrIHNpemVzLiBGaW5hbGx5IGl0IGJyYW5jaGVzIHRvIGVpdGhlciBgbmJkX3NldF9zaXplYCBvciBgbmJkX3NpemVfc2V0YCBkZXBlbmRpbmcgb24gd2hhdCBuZWVkcyB0byBiZSBjaGFuZ2VkLCBhbmQgaWYgdGhlIGJsb2NrIHNpemUgbmVlZHMgdG8gYmUgYWRqdXN0ZWQuXG5cblNpbmNlIHRoaXMgaXMgcmVhY2hhYmxlIHRocm91Z2ggTmV0bGluaywgc3BlY2lmaWNhbGx5IGBuYmRfZ2VubF9zaXplX3NldGAsIHRoYXQgbWFrZXMgaXQgaW50ZXJlc3RpbmcgZm9yIHJlbW90ZSBleHBsb2l0YXRpb24gaWYgdGhlcmUgYXJlIGFueSBzdWJ0bGUgZmxhd3MuIEkgbmVlZCB0byBrZWVwIHRoYXQgaW4gbWluZC4gSSBzaG91bGQgY2hlY2sgdGhlIE5CRCBjb25maWd1cmF0aW9uIHRvIGVuc3VyZSB0aGlzIGlzIGFjdHVhbGx5IHVzZWQsIHNvIEknbGwgc2VlIGlmIGBDT05GSUdfQkxLX0RFVl9OQkRgIGlzIGVuYWJsZWQuIFRoZW4sIEkgc2hvdWxkIGRvIGEgcXVpY2sgZ3JlcCB0byBtYWtlIHN1cmUgdGhpcyBjb2RlIHBhdGggaXMgYWN0dWFsbHkgcmVhY2hhYmxlIHdpdGhpbiB0aGUga2VybmVsLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNzM2LCJPdXRwdXRUb2tlbnMiOjM3LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NDQ4LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjBUMjE6MDY6MDEuOTU0MDI3NzgxWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjY5NDA5ODU4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIm5iZF9nZW5sX3NpemVfc2V0XCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvYmxvY2svbmJkLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9ibG9jay9uYmQuYz0yMDcwPW5iZF9kZXZpY2VfcG9saWN5W05CRF9ERVZJQ0VfQVRUUl9NQVggKyAxXSA9IHtcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjA3NC1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjIwNzU6c3RhdGljIGludCBuYmRfZ2VubF9zaXplX3NldChzdHJ1Y3QgZ2VubF9pbmZvICppbmZvLCBzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjA3Ni17XFxuLS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jPTIxMDA9c3RhdGljIGludCBuYmRfZ2VubF9jb25uZWN0KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pXFxuLS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTIxNzgtXFx0c2V0X2JpdChOQkRfUlRfQk9VTkQsIFxcdTAwMjZjb25maWctXFx1MDAzZXJ1bnRpbWVfZmxhZ3MpO1xcbmRyaXZlcnMvYmxvY2svbmJkLmM6MjE3OTpcXHRyZXQgPSBuYmRfZ2VubF9zaXplX3NldChpbmZvLCBuYmQpO1xcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjE4MC1cXHRpZiAocmV0KVxcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYz0yMzM3PXN0YXRpYyBpbnQgbmJkX2dlbmxfcmVjb25maWd1cmUoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjM5OS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjI0MDA6XFx0cmV0ID0gbmJkX2dlbmxfc2l6ZV9zZXQoaW5mbywgbmJkKTtcXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTI0MDEtXFx0aWYgKHJldClcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjBUMjE6MDY6MDIuMDIzNDQ0NDhaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozNDkyNzQzNDEyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBsZXQncyBicmVhayB0aGlzIGRvd24uXG5cbioqUmVhY2hpbmcgZm9yIHRoZSBDb25maWd1cmF0aW9uKipcblxuSG1tLCBJIHNlZSB0aGVzZSBmdW5jdGlvbnMgYXJlIGFsbCByZWFjaGFibGU6IGBuYmRfZ2VubF9zaXplX3NldGAsIGBuYmRfc2V0X3NpemVgLCBgbmJkX3NpemVfc2V0YCwgYW5kIGBuYmRfc2l6ZV91cGRhdGVgLiBUaGV5J3JlIGFsbCBzaXR0aW5nIHRoZXJlLCByZWFkeSB0byBiZSBjYWxsZWQuIEFuZCB0aGUgY29udGV4dCB0ZWxscyBtZSB3ZSdyZSBkZWFsaW5nIHdpdGggdGhlIGBCTEtfREVWX05CRGAgY29uZmlnLiBNeSBpbml0aWFsIHRob3VnaHQgaXMsIFwiT2theSwgdGhhdCdzIGludGVyZXN0aW5nLFwiIGJ1dCBub3cgbXkgbWluZCBpcyBzdGFydGluZyB0byByYWNlLlxuXG5HaXZlbiB0aGlzLCBJIG11c3QgYmUgc3VyZSB0aGF0IHRoaXMgYEJMS19ERVZfTkJEYCBjb25maWcgaXMgdGhlIG9ubHkgb25lIGluIHRoZSBtaXguIExldCdzIG1ha2Ugc3VyZSBub3RoaW5nIGVsc2UgaXMgaW50ZXJmZXJpbmcgb3IgaW4gcGxheSBoZXJlLiBJIHdhbnQgdG8gY2hlY2sgZm9yIGFueSBvdGhlciByZWxldmFudCBjb25maWd1cmF0aW9ucyB0aGF0IG1pZ2h0IGJlIGluIHNjb3BlLiBJIG5lZWQgdG8gZW5zdXJlIHRoaXMgaXMgdGhlIHNpbmd1bGFyIGRyaXZpbmcgZm9yY2UgYmVoaW5kIHRoZXNlIGNhbGxzLiBJIG5lZWQgdG8gYmUgKmNlcnRhaW4qIHRoYXQgdGhpcyBpcyB0aGUgb25seSByZWxldmFudCBjb25maWcuIEkgbmVlZCB0byBlc3RhYmxpc2ggYSBiYXNlbGluZSBvZiBjb250cm9sLiBUaGlzIGlzIHRoZSBmaXJzdCBxdWVzdGlvbiBJIG5lZWQgdG8gYWRkcmVzcy5cblxuXG4iLCJJbnB1dFRva2VucyI6Mzk2MSwiT3V0cHV0VG9rZW5zIjozNCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjcyLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIwVDIxOjA2OjA1LjUxNjE5MDU2M1oiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyNjcxMTMzMjUsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIEJMS19ERVZfTkJEXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvYmxvY2svS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL2Jsb2NrL0tjb25maWc9MTk0PXNvdXJjZSBcXFwiZHJpdmVycy9ibG9jay9kcmJkL0tjb25maWdcXFwiXFxuZHJpdmVycy9ibG9jay9LY29uZmlnLTE5NS1cXG5kcml2ZXJzL2Jsb2NrL0tjb25maWc6MTk2OmNvbmZpZyBCTEtfREVWX05CRFxcbmRyaXZlcnMvYmxvY2svS2NvbmZpZy0xOTctXFx0dHJpc3RhdGUgXFxcIk5ldHdvcmsgYmxvY2sgZGV2aWNlIHN1cHBvcnRcXFwiXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIwVDIxOjA2OjA1Ljc4MzMwOTE2N1oiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQ5NTM4NTA3ODQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBOQkQgQ29uZmlndXJhdGlvbiBGaXgqKlxuXG5Pa2F5LCBzbyBJJ20gcHJldHR5IHN1cmUgYEJMS19ERVZfTkJEYCBpcyB0aGUgcmVsZXZhbnQgY29uZmlnIGhlcmUuIExldCBtZSBkZWx2ZSBpbnRvIHRoZSBzcGVjaWZpY3Mgb2YgdGhpcyBwYXRjaC4gTXkgbWFpbiBmb2N1cyBub3cgbmVlZHMgdG8gYmUgb24gYG5iZF9nZW5sX3NpemVfc2V0YCwgYG5iZF9nZW5sX3JlY29uZmlndXJlYCwgYW5kIGBuYmRfZ2VubF9jb25uZWN0YC5cblxuUmlnaHQsIHRoZSBwYXRjaCBpcyBhZGRyZXNzaW5nIGFuIGlzc3VlIGluIGBuYmRfZ2VubF9zaXplX3NldGAuIEl0IHNlZW1zIGxpa2UgdGhlIG9yaWdpbmFsIGltcGxlbWVudGF0aW9uIHdhcyB0cmlnZ2VyaW5nIGEgZnVsbCBgbmJkX3NldF9zaXplYCBvcGVyYXRpb24gZXZlbiB3aGVuIG9ubHkgdGhlIGBieXRlc2l6ZWAgaGFkIGJlZW4gYWx0ZXJlZC4gVGhhdCdzIGluZWZmaWNpZW50LCBhbmQgcG90ZW50aWFsbHkgcHJvYmxlbWF0aWMsIGJlY2F1c2UgYG5iZF9zZXRfc2l6ZWAgZnJlZXplcyB0aGUgcXVldWUgYW5kIHVwZGF0ZXMgbGltaXRzLiBJIGNhbiBzZWUgd2h5IHRoYXQncyBiZWluZyBmbGFnZ2VkLiBUaGUgc29sdXRpb24/IEludHJvZHVjZSBgbmJkX3NpemVfc2V0YCwgd2hpY2ggbG9va3MgbGlrZSBpdCBqdXN0IHVwZGF0ZXMgdGhlIGNhcGFjaXR5IGRpcmVjdGx5LCBzaWRlLXN0ZXBwaW5nIHRoZSBtb3JlIGhlYXZ5LWhhbmRlZCBvcGVyYXRpb25zLiBTbWFydC4gQW5kIEkgc2VlIHRoZXkndmUgYWxzbyBpbmNsdWRlZCB2YWxpZGF0aW9uIGZvciBgYnNpemVgIHdoaWNoIGlzIGFsd2F5cyBhIGdvb2QgcHJhY3RpY2UuXG5cblNvLCBsZXQncyBrZWVwIHRob3NlIHN5bWJvbHMgaW4gc2hhcnAgZm9jdXM6IGBuYmRfZ2VubF9zaXplX3NldGAsIGBuYmRfc2l6ZV9zZXRgLCBgbmJkX3NpemVfdXBkYXRlYCwgYG5iZF9nZW5sX2Nvbm5lY3RgLCBhbmQgYG5iZF9nZW5sX3JlY29uZmlndXJlYC5cblxuV2FpdCBhIG1pbnV0ZSwgaXQgbG9va3MgbGlrZSBgbmJkX2Rldl9yZW1vdmVgIGhhcyBhbHNvIGJlZW4gbW9kaWZpZWQuIEkgbmVlZCB0byB1bmRlcnN0YW5kIHRoYXQgY2hhbmdlIHRvby4gYG5iZF9kZXZfcmVtb3ZlYCBnZXRzIGNhbGxlZCBmcm9tIGBuYmRfZGV2X3JlbW92ZV93b3JrYCBhbmQgYG5iZF9jbGVhbnVwYCwgc28gdGhlcmUncyBhIHdpZGVyIGltcGFjdCB0aGFuIEkgaW5pdGlhbGx5IHRob3VnaHQuIEkgc2hvdWxkIHRha2UgYSBjbG9zZXIgbG9vayBhdCB0aGF0IGZ1bmN0aW9uLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0MzgxLCJPdXRwdXRUb2tlbnMiOjM0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjUzLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIwVDIxOjA2OjEwLjczNzE2MzA0MVoiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo5NTY3MjQ4OSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJuYmRfZGV2X3JlbW92ZVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL2Jsb2NrL25iZC5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvYmxvY2svbmJkLmM9MjU5PXN0YXRpYyBjb25zdCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSBiYWNrZW5kX2F0dHIgPSB7XFxuLS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTI2My1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjI2NDpzdGF0aWMgdm9pZCBuYmRfZGV2X3JlbW92ZShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjY1LXtcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjgyLVxcbmRyaXZlcnMvYmxvY2svbmJkLmM6MjgzOnN0YXRpYyB2b2lkIG5iZF9kZXZfcmVtb3ZlX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjg0LXtcXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjI4NTpcXHRuYmRfZGV2X3JlbW92ZShjb250YWluZXJfb2Yod29yaywgc3RydWN0IG5iZF9kZXZpY2UsIHJlbW92ZV93b3JrKSk7XFxuZHJpdmVycy9ibG9jay9uYmQuYy0yODYtfVxcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYz0yODg9c3RhdGljIHZvaWQgbmJkX3B1dChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYy0yOTYtXFx0ZWxzZVxcbmRyaXZlcnMvYmxvY2svbmJkLmM6Mjk3OlxcdFxcdG5iZF9kZXZfcmVtb3ZlKG5iZCk7XFxuZHJpdmVycy9ibG9jay9uYmQuYy0yOTgtfVxcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYz0xOTI2PXN0YXRpYyBzdHJ1Y3QgbmJkX2RldmljZSAqbmJkX2Rldl9hZGQoaW50IGluZGV4LCB1bnNpZ25lZCBpbnQgcmVmcylcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtMTk0OC1cXHRuYmQtXFx1MDAzZXRhZ19zZXQuZHJpdmVyX2RhdGEgPSBuYmQ7XFxuZHJpdmVycy9ibG9jay9uYmQuYzoxOTQ5OlxcdElOSVRfV09SSyhcXHUwMDI2bmJkLVxcdTAwM2VyZW1vdmVfd29yaywgbmJkX2Rldl9yZW1vdmVfd29yayk7XFxuZHJpdmVycy9ibG9jay9uYmQuYy0xOTUwLVxcdG5iZC1cXHUwMDNlYmFja2VuZCA9IE5VTEw7XFxuLS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jPTI3MzU9c3RhdGljIHZvaWQgX19leGl0IG5iZF9jbGVhbnVwKHZvaWQpXFxuLS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTI3NjItXFxuZHJpdmVycy9ibG9jay9uYmQuYzoyNzYzOlxcdC8qIEFsc28gd2FpdCBmb3IgbmJkX2Rldl9yZW1vdmVfd29yaygpIGNvbXBsZXRlcyAqL1xcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjc2NC1cXHRkZXN0cm95X3dvcmtxdWV1ZShuYmRfZGVsX3dxKTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjBUMjE6MDY6MTAuODMyODQxOTRaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo5OTYwMjkyNDc2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZ1enppbmcgU3RyYXRlZ3kgZm9yIE5ldHdvcmsgQmxvY2sgRGV2aWNlIChOQkQpIERyaXZlcioqXG5cbk9rYXksIGxldCdzIGJyZWFrIHRoaXMgZG93bi4gTXkgYW5hbHlzaXMgaW5kaWNhdGVzIGEgZm9jdXMgb24gdGhlIE5ldHdvcmsgQmxvY2sgRGV2aWNlIChOQkQpIGRyaXZlci4gVGhlIGtleSBoZXJlIGlzIHRvIGlkZW50aWZ5IHRoZSBtb3N0IGltcGFjdGZ1bCBjaGFuZ2VzIGZvciBmdXp6aW5nLiBgbmJkX2Rldl9yZW1vdmVgIGltbWVkaWF0ZWx5IGNhdWdodCBteSBleWUsIGFuZCBpdCBzZWVtcyB0aGlzIHBhdGNoIGFkZHJlc3NlcyBhIHBvdGVudGlhbCBkZXZpY2UgbGVhay4gQWRkaW5nIHRoZSBkZWNyZW1lbnQgb2YgYG5iZF90b3RhbF9kZXZpY2VzYCBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlLlxuXG5JIGNoZWNrZWQgZm9yIG90aGVyIHJlbGV2YW50IGNvbmZpZ3VyYXRpb25zLCBhbmQgaXQgbG9va3MgbGlrZSBgQkxLX0RFVl9OQkRgIGlzIHRoZSBvbmx5IG9uZSB3ZSBuZWVkIHRvIGNvbnNpZGVyLlxuXG5Ob3csIGxldCdzIGRlbHZlIGRlZXBlciBpbnRvIHRoZSBjb2RlIGNoYW5nZXMuIEknbSBzZWVpbmcgdGhlIGludHJvZHVjdGlvbiBvZiBgbmJkX3NpemVfdXBkYXRlYCBhbmQgYG5iZF9zaXplX3NldGAsIHdoaWNoIHN0cm9uZ2x5IHN1Z2dlc3RzIGEgcmVmYWN0b3JpbmcgZWZmb3J0IHJlbGF0ZWQgdG8gc2l6ZSBhZGp1c3RtZW50cy4gYG5iZF9zZXRfc2l6ZWAgaXMgbm93IGNhbGxpbmcgYG5iZF9zaXplX3VwZGF0ZWAuIFRoZSBgbmJkX2dlbmxfc2l6ZV9zZXRgIGZ1bmN0aW9uIGhhcyBiZWVuIG1vZGlmaWVkLCBsaWtlbHkgdG8gdmFsaWRhdGUgYmxvY2sgc2l6ZXMgYW5kIHBvdGVudGlhbGx5IG9wdGltaXplIHNpemUgdXBkYXRlcyBieSBpbnRyb2R1Y2luZyBgbmJkX3NpemVfc2V0YCBhbmQgYG5iZF9zaXplX3VwZGF0ZWAsIGF2b2lkaW5nIGZ1bGwgcXVldWUgZnJlZXppbmcgd2hlbiBvbmx5IHRoZSBieXRlIHNpemUgY2hhbmdlcy4gVGhpcyBmdW5jdGlvbidzIGNoYW5nZXMgYXJlIGZ1bmN0aW9uYWwuXG5cblNvLCB0aGUgY3JpdGljYWwgZnVuY3Rpb25zIHRvIHRhcmdldCBhcmU6IGBuYmRfZ2VubF9zaXplX3NldGAsIGBuYmRfc2l6ZV9zZXRgLCBgbmJkX3NpemVfdXBkYXRlYCwgYG5iZF9zZXRfc2l6ZWAgYW5kIG9mIGNvdXJzZSwgYG5iZF9kZXZfcmVtb3ZlYC4gVGhlc2UgcmVwcmVzZW50IHRoZSBlbnRyeSBwb2ludHMgYW5kIHRoZSBjcnVjaWFsIGFyZWFzIG9mIG1vZGlmaWNhdGlvbi5cblxuR2l2ZW4gdGhlc2UgY2hhbmdlcyBhcmUgcmVhY2hhYmxlIHZpYSBuZXRsaW5rIGNvbmZpZ3VyYXRpb24gY29tbWFuZHMgYW5kIGRldmljZSByZW1vdmFsIHBhdGhzLCBpdCdzIGEgZ29vZCBjYW5kaWRhdGUgZm9yIGZ1enppbmcuIEknbGwgZmxhZyBpdCBhcyBgV29ydGhGdXp6aW5nPXRydWVgLlxuXG5cbiIsIklucHV0VG9rZW5zIjo1NTY1LCJPdXRwdXRUb2tlbnMiOjIwMCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjg2MSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0yMFQyMTowNjoyMC43OTMxMzY0MzZaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNzQ5MzY0NTYsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJMS19ERVZfTkJEXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwibmJkX2dlbmxfc2l6ZV9zZXRcIixcbiAgICBcIm5iZF9zaXplX3NldFwiLFxuICAgIFwibmJkX3NpemVfdXBkYXRlXCIsXG4gICAgXCJuYmRfc2V0X3NpemVcIixcbiAgICBcIm5iZF9kZXZfcmVtb3ZlXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggaW50cm9kdWNlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIE5CRCAoTmV0d29yayBCbG9jayBEZXZpY2UpIGRyaXZlci4gSXQgZml4ZXMgYSBkZXZpY2UgbGVhayBpbiBgbmJkX2Rldl9yZW1vdmVgIGJ5IGRlY3JlbWVudGluZyBgbmJkX3RvdGFsX2RldmljZXNgLiBJdCBhbHNvIG1vZGlmaWVzIGBuYmRfZ2VubF9zaXplX3NldGAgdG8gdmFsaWRhdGUgYmxvY2sgc2l6ZXMgYW5kIG9wdGltaXplIHNpemUgdXBkYXRlcyBieSBpbnRyb2R1Y2luZyBgbmJkX3NpemVfc2V0YCBhbmQgYG5iZF9zaXplX3VwZGF0ZWAsIGF2b2lkaW5nIGZ1bGwgcXVldWUgZnJlZXppbmcgd2hlbiBvbmx5IHRoZSBieXRlIHNpemUgY2hhbmdlcy4gVGhlc2UgY2hhbmdlcyBhcmUgcmVhY2hhYmxlIHZpYSBuZXRsaW5rIGNvbmZpZ3VyYXRpb24gY29tbWFuZHMgYW5kIGRldmljZSByZW1vdmFsIHBhdGhzLCBtYWtpbmcgdGhlbSBzdWl0YWJsZSBmb3IgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJCTEtfREVWX05CRFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm5iZF9nZW5sX3NpemVfc2V0XCIsXG4gICAgXCJuYmRfc2l6ZV9zZXRcIixcbiAgICBcIm5iZF9zaXplX3VwZGF0ZVwiLFxuICAgIFwibmJkX3NldF9zaXplXCIsXG4gICAgXCJuYmRfZGV2X3JlbW92ZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGludHJvZHVjZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBOQkQgKE5ldHdvcmsgQmxvY2sgRGV2aWNlKSBkcml2ZXIuIEl0IGZpeGVzIGEgZGV2aWNlIGxlYWsgaW4gYG5iZF9kZXZfcmVtb3ZlYCBieSBkZWNyZW1lbnRpbmcgYG5iZF90b3RhbF9kZXZpY2VzYC4gSXQgYWxzbyBtb2RpZmllcyBgbmJkX2dlbmxfc2l6ZV9zZXRgIHRvIHZhbGlkYXRlIGJsb2NrIHNpemVzIGFuZCBvcHRpbWl6ZSBzaXplIHVwZGF0ZXMgYnkgaW50cm9kdWNpbmcgYG5iZF9zaXplX3NldGAgYW5kIGBuYmRfc2l6ZV91cGRhdGVgLCBhdm9pZGluZyBmdWxsIHF1ZXVlIGZyZWV6aW5nIHdoZW4gb25seSB0aGUgYnl0ZSBzaXplIGNoYW5nZXMuIFRoZXNlIGNoYW5nZXMgYXJlIHJlYWNoYWJsZSB2aWEgbmV0bGluayBjb25maWd1cmF0aW9uIGNvbW1hbmRzIGFuZCBkZXZpY2UgcmVtb3ZhbCBwYXRocywgbWFraW5nIHRoZW0gc3VpdGFibGUgZm9yIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowkpvc7[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-20 20:42:26 +0000 UTC FinishedAt: 2026-07-20 21:06:22 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "bpf-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git", "commit_hash": "8cd9520d35a6c38db6567e97dd93b1f11f185dc6", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BLK_DEV_NBD" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "bpf-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git", "commit_hash": "8cd9520d35a6c38db6567e97dd93b1f11f185dc6", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BLK_DEV_NBD" ], "series_id": "409945b0-159c-4d52-ae37-bc7c04383918" }, "track": "KASAN", "fuzz": { "focus": null, "focus_symbols": [ "nbd_genl_size_set", "nbd_size_set", "nbd_size_update", "nbd_set_size", "nbd_dev_remove" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDIxOjA1PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JMS19ERVZfTkJEJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bmJkX2dlbmxfc2l6ZV9zZXQmIzM0OywKICAgICYjMzQ7bmJkX3NpemVfc2V0JiMzNDssCiAgICAmIzM0O25iZF9zaXplX3VwZGF0ZSYjMzQ7LAogICAgJiMzNDtuYmRfc2V0X3NpemUmIzM0OywKICAgICYjMzQ7bmJkX2Rldl9yZW1vdmUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggaW50cm9kdWNlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIE5CRCAoTmV0d29yayBCbG9jayBEZXZpY2UpIGRyaXZlci4gSXQgZml4ZXMgYSBkZXZpY2UgbGVhayBpbiBgbmJkX2Rldl9yZW1vdmVgIGJ5IGRlY3JlbWVudGluZyBgbmJkX3RvdGFsX2RldmljZXNgLiBJdCBhbHNvIG1vZGlmaWVzIGBuYmRfZ2VubF9zaXplX3NldGAgdG8gdmFsaWRhdGUgYmxvY2sgc2l6ZXMgYW5kIG9wdGltaXplIHNpemUgdXBkYXRlcyBieSBpbnRyb2R1Y2luZyBgbmJkX3NpemVfc2V0YCBhbmQgYG5iZF9zaXplX3VwZGF0ZWAsIGF2b2lkaW5nIGZ1bGwgcXVldWUgZnJlZXppbmcgd2hlbiBvbmx5IHRoZSBieXRlIHNpemUgY2hhbmdlcy4gVGhlc2UgY2hhbmdlcyBhcmUgcmVhY2hhYmxlIHZpYSBuZXRsaW5rIGNvbmZpZ3VyYXRpb24gY29tbWFuZHMgYW5kIGRldmljZSByZW1vdmFsIHBhdGhzLCBtYWtpbmcgdGhlbSBzdWl0YWJsZSBmb3IgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMCAyMTowNTwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IGY0MDBiYzU2YjUwMjcyN2JhN2QzZWVjNDk3MTY2ZDM1ZTcwYWU5NjlcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgTW9uIEp1bCAyMCAyMTowNTo0OSAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL25iZC5jIGIvZHJpdmVycy9ibG9jay9uYmQuY1xuaW5kZXggZmU2M2YzYzU1ZDBkOTYuLjIzMDJiOGI0MDk5YTA1IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ibG9jay9uYmQuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ibG9jay9uYmQuY1xuQEAgLTI3Nyw2ICYjNDM7Mjc3LDcgQEAgc3RhdGljIHZvaWQgbmJkX2Rldl9yZW1vdmUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZClcbiBcdG11dGV4X3VubG9jayhcdTAwMjZuYmRfaW5kZXhfbXV0ZXgpO1xuIFx0ZGVzdHJveV93b3JrcXVldWUobmJkLVx1MDAzZXJlY3Zfd29ya3EpO1xuIFx0cHV0X2Rpc2soZGlzayk7XG4mIzQzO1x0bmJkX3RvdGFsX2RldmljZXMtLTtcbiB9XG4gXG4gc3RhdGljIHZvaWQgbmJkX2Rldl9yZW1vdmVfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG5AQCAtMzMxLDYgJiM0MzszMzIsMjcgQEAgc3RhdGljIHZvaWQgbmJkX21hcmtfbnNvY2tfZGVhZChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBzdHJ1Y3QgbmJkX3NvY2sgKm5zb2NrLFxuIFx0bnNvY2stXHUwMDNlc2VudCA9IDA7XG4gfVxuIFxuJiM0MztzdGF0aWMgdm9pZCBuYmRfc2l6ZV91cGRhdGUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZClcbiYjNDM7e1xuJiM0MztcdHN0cnVjdCBuYmRfY29uZmlnICpjb25maWcgPSBuYmQtXHUwMDNlY29uZmlnO1xuJiM0MztcbiYjNDM7XHRpZiAobWF4X3BhcnQpXG4mIzQzO1x0XHRzZXRfYml0KEdEX05FRURfUEFSVF9TQ0FOLCBcdTAwMjZuYmQtXHUwMDNlZGlzay1cdTAwM2VzdGF0ZSk7XG4mIzQzO1x0aWYgKCFzZXRfY2FwYWNpdHlfYW5kX25vdGlmeShuYmQtXHUwMDNlZGlzaywgY29uZmlnLVx1MDAzZWJ5dGVzaXplIFx1MDAzZVx1MDAzZSA5KSlcbiYjNDM7XHRcdGtvYmplY3RfdWV2ZW50KFx1MDAyNm5iZF90b19kZXYobmJkKS1cdTAwM2Vrb2JqLCBLT0JKX0NIQU5HRSk7XG4mIzQzO31cbiYjNDM7XG4mIzQzO3N0YXRpYyBpbnQgbmJkX3NpemVfc2V0KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIGxvZmZfdCBieXRlc2l6ZSlcbiYjNDM7e1xuJiM0MztcdGlmIChieXRlc2l6ZSBcdTAwM2MgMClcbiYjNDM7XHRcdHJldHVybiAtRUlOVkFMO1xuJiM0MztcbiYjNDM7XHRuYmQtXHUwMDNlY29uZmlnLVx1MDAzZWJ5dGVzaXplID0gYnl0ZXNpemU7XG4mIzQzO1x0aWYgKG5iZC1cdTAwM2VwaWQpXG4mIzQzO1x0XHRuYmRfc2l6ZV91cGRhdGUobmJkKTtcbiYjNDM7XHRyZXR1cm4gMDtcbiYjNDM7fVxuJiM0MztcbiBzdGF0aWMgaW50IG5iZF9zZXRfc2l6ZShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBsb2ZmX3QgYnl0ZXNpemUsIGxvZmZfdCBibGtzaXplKVxuIHtcbiBcdHN0cnVjdCBxdWV1ZV9saW1pdHMgbGltO1xuQEAgLTM3NSwxMCAmIzQzOzM5Nyw3IEBAIHN0YXRpYyBpbnQgbmJkX3NldF9zaXplKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIGxvZmZfdCBieXRlc2l6ZSwgbG9mZl90IGJsa3NpemUpXG4gXHRpZiAoZXJyb3IpXG4gXHRcdHJldHVybiBlcnJvcjtcbiBcbi1cdGlmIChtYXhfcGFydClcbi1cdFx0c2V0X2JpdChHRF9ORUVEX1BBUlRfU0NBTiwgXHUwMDI2bmJkLVx1MDAzZWRpc2stXHUwMDNlc3RhdGUpO1xuLVx0aWYgKCFzZXRfY2FwYWNpdHlfYW5kX25vdGlmeShuYmQtXHUwMDNlZGlzaywgYnl0ZXNpemUgXHUwMDNlXHUwMDNlIDkpKVxuLVx0XHRrb2JqZWN0X3VldmVudChcdTAwMjZuYmRfdG9fZGV2KG5iZCktXHUwMDNla29iaiwgS09CSl9DSEFOR0UpO1xuJiM0MztcdG5iZF9zaXplX3VwZGF0ZShuYmQpO1xuIFx0cmV0dXJuIDA7XG4gfVxuIFxuQEAgLTIwNjIsMTEgJiM0MzsyMDgxLDE5IEBAIHN0YXRpYyBpbnQgbmJkX2dlbmxfc2l6ZV9zZXQoc3RydWN0IGdlbmxfaW5mbyAqaW5mbywgc3RydWN0IG5iZF9kZXZpY2UgKm5iZClcbiBcdGlmIChpbmZvLVx1MDAzZWF0dHJzW05CRF9BVFRSX1NJWkVfQllURVNdKVxuIFx0XHRieXRlcyA9IG5sYV9nZXRfdTY0KGluZm8tXHUwMDNlYXR0cnNbTkJEX0FUVFJfU0laRV9CWVRFU10pO1xuIFxuLVx0aWYgKGluZm8tXHUwMDNlYXR0cnNbTkJEX0FUVFJfQkxPQ0tfU0laRV9CWVRFU10pXG4mIzQzO1x0aWYgKGluZm8tXHUwMDNlYXR0cnNbTkJEX0FUVFJfQkxPQ0tfU0laRV9CWVRFU10pIHtcbiBcdFx0YnNpemUgPSBubGFfZ2V0X3U2NChpbmZvLVx1MDAzZWF0dHJzW05CRF9BVFRSX0JMT0NLX1NJWkVfQllURVNdKTtcbiYjNDM7XHRcdGlmICghYnNpemUpXG4mIzQzO1x0XHRcdGJzaXplID0gMXUgXHUwMDNjXHUwMDNjIE5CRF9ERUZfQkxLU0laRV9CSVRTO1xuJiM0MztcdFx0aWYgKGJsa192YWxpZGF0ZV9ibG9ja19zaXplKGJzaXplKSlcbiYjNDM7XHRcdFx0cmV0dXJuIC1FSU5WQUw7XG4mIzQzO1x0fVxuIFxuLVx0aWYgKGJ5dGVzICE9IGNvbmZpZy1cdTAwM2VieXRlc2l6ZSB8fCBic2l6ZSAhPSBuYmRfYmxrc2l6ZShjb25maWcpKVxuLVx0XHRyZXR1cm4gbmJkX3NldF9zaXplKG5iZCwgYnl0ZXMsIGJzaXplKTtcbiYjNDM7XHRpZiAoYnl0ZXMgIT0gY29uZmlnLVx1MDAzZWJ5dGVzaXplIHx8IGJzaXplICE9IG5iZF9ibGtzaXplKGNvbmZpZykpIHtcbiYjNDM7XHRcdGlmIChic2l6ZSAhPSBuYmRfYmxrc2l6ZShjb25maWcpKVxuJiM0MztcdFx0XHRyZXR1cm4gbmJkX3NldF9zaXplKG5iZCwgYnl0ZXMsIGJzaXplKTtcbiYjNDM7XHRcdHJldHVybiBuYmRfc2l6ZV9zZXQobmJkLCBieXRlcyk7XG4mIzQzO1x0fVxuIFx0cmV0dXJuIDA7XG4gfVxuIFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDIxOjA1PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmJlc3QtZXhwZW5zaXZlPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtCTEtfREVWX05CRCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O25iZF9nZW5sX3NpemVfc2V0JiMzNDssCiAgICAmIzM0O25iZF9zaXplX3NldCYjMzQ7LAogICAgJiMzNDtuYmRfc2l6ZV91cGRhdGUmIzM0OywKICAgICYjMzQ7bmJkX3NldF9zaXplJiMzNDssCiAgICAmIzM0O25iZF9kZXZfcmVtb3ZlJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGludHJvZHVjZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBOQkQgKE5ldHdvcmsgQmxvY2sgRGV2aWNlKSBkcml2ZXIuIEl0IGZpeGVzIGEgZGV2aWNlIGxlYWsgaW4gYG5iZF9kZXZfcmVtb3ZlYCBieSBkZWNyZW1lbnRpbmcgYG5iZF90b3RhbF9kZXZpY2VzYC4gSXQgYWxzbyBtb2RpZmllcyBgbmJkX2dlbmxfc2l6ZV9zZXRgIHRvIHZhbGlkYXRlIGJsb2NrIHNpemVzIGFuZCBvcHRpbWl6ZSBzaXplIHVwZGF0ZXMgYnkgaW50cm9kdWNpbmcgYG5iZF9zaXplX3NldGAgYW5kIGBuYmRfc2l6ZV91cGRhdGVgLCBhdm9pZGluZyBmdWxsIHF1ZXVlIGZyZWV6aW5nIHdoZW4gb25seSB0aGUgYnl0ZSBzaXplIGNoYW5nZXMuIFRoZXNlIGNoYW5nZXMgYXJlIHJlYWNoYWJsZSB2aWEgbmV0bGluayBjb25maWd1cmF0aW9uIGNvbW1hbmRzIGFuZCBkZXZpY2UgcmVtb3ZhbCBwYXRocywgbWFraW5nIHRoZW0gc3VpdGFibGUgZm9yIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IGY0MDBiYzU2YjUwMjcyN2JhN2QzZWVjNDk3MTY2ZDM1ZTcwYWU5NjkKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgTW9uIEp1bCAyMCAyMTowNTo0OSAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svbmJkLmMgYi9kcml2ZXJzL2Jsb2NrL25iZC5jCmluZGV4IGZlNjNmM2M1NWQwZDk2Li4yMzAyYjhiNDA5OWEwNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibG9jay9uYmQuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2Jsb2NrL25iZC5jCkBAIC0yNzcsNiAmIzQzOzI3Nyw3IEBAIHN0YXRpYyB2b2lkIG5iZF9kZXZfcmVtb3ZlKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpCiAJbXV0ZXhfdW5sb2NrKCZhbXA7bmJkX2luZGV4X211dGV4KTsKIAlkZXN0cm95X3dvcmtxdWV1ZShuYmQtJmd0O3JlY3Zfd29ya3EpOwogCXB1dF9kaXNrKGRpc2spOwomIzQzOwluYmRfdG90YWxfZGV2aWNlcy0tOwogfQogCiBzdGF0aWMgdm9pZCBuYmRfZGV2X3JlbW92ZV93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKQEAgLTMzMSw2ICYjNDM7MzMyLDI3IEBAIHN0YXRpYyB2b2lkIG5iZF9tYXJrX25zb2NrX2RlYWQoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgc3RydWN0IG5iZF9zb2NrICpuc29jaywKIAluc29jay0mZ3Q7c2VudCA9IDA7CiB9CiAKJiM0MztzdGF0aWMgdm9pZCBuYmRfc2l6ZV91cGRhdGUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCkKJiM0Mzt7CiYjNDM7CXN0cnVjdCBuYmRfY29uZmlnICpjb25maWcgPSBuYmQtJmd0O2NvbmZpZzsKJiM0MzsKJiM0MzsJaWYgKG1heF9wYXJ0KQomIzQzOwkJc2V0X2JpdChHRF9ORUVEX1BBUlRfU0NBTiwgJmFtcDtuYmQtJmd0O2Rpc2stJmd0O3N0YXRlKTsKJiM0MzsJaWYgKCFzZXRfY2FwYWNpdHlfYW5kX25vdGlmeShuYmQtJmd0O2Rpc2ssIGNvbmZpZy0mZ3Q7Ynl0ZXNpemUgJmd0OyZndDsgOSkpCiYjNDM7CQlrb2JqZWN0X3VldmVudCgmYW1wO25iZF90b19kZXYobmJkKS0mZ3Q7a29iaiwgS09CSl9DSEFOR0UpOwomIzQzO30KJiM0MzsKJiM0MztzdGF0aWMgaW50IG5iZF9zaXplX3NldChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBsb2ZmX3QgYnl0ZXNpemUpCiYjNDM7ewomIzQzOwlpZiAoYnl0ZXNpemUgJmx0OyAwKQomIzQzOwkJcmV0dXJuIC1FSU5WQUw7CiYjNDM7CiYjNDM7CW5iZC0mZ3Q7Y29uZmlnLSZndDtieXRlc2l6ZSA9IGJ5dGVzaXplOwomIzQzOwlpZiAobmJkLSZndDtwaWQpCiYjNDM7CQluYmRfc2l6ZV91cGRhdGUobmJkKTsKJiM0MzsJcmV0dXJuIDA7CiYjNDM7fQomIzQzOwogc3RhdGljIGludCBuYmRfc2V0X3NpemUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgbG9mZl90IGJ5dGVzaXplLCBsb2ZmX3QgYmxrc2l6ZSkKIHsKIAlzdHJ1Y3QgcXVldWVfbGltaXRzIGxpbTsKQEAgLTM3NSwxMCAmIzQzOzM5Nyw3IEBAIHN0YXRpYyBpbnQgbmJkX3NldF9zaXplKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIGxvZmZfdCBieXRlc2l6ZSwgbG9mZl90IGJsa3NpemUpCiAJaWYgKGVycm9yKQogCQlyZXR1cm4gZXJyb3I7CiAKLQlpZiAobWF4X3BhcnQpCi0JCXNldF9iaXQoR0RfTkVFRF9QQVJUX1NDQU4sICZhbXA7bmJkLSZndDtkaXNrLSZndDtzdGF0ZSk7Ci0JaWYgKCFzZXRfY2FwYWNpdHlfYW5kX25vdGlmeShuYmQtJmd0O2Rpc2ssIGJ5dGVzaXplICZndDsmZ3Q7IDkpKQotCQlrb2JqZWN0X3VldmVudCgmYW1wO25iZF90b19kZXYobmJkKS0mZ3Q7a29iaiwgS09CSl9DSEFOR0UpOwomIzQzOwluYmRfc2l6ZV91cGRhdGUobmJkKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjA2MiwxMSAmIzQzOzIwODEsMTkgQEAgc3RhdGljIGludCBuYmRfZ2VubF9zaXplX3NldChzdHJ1Y3QgZ2VubF9pbmZvICppbmZvLCBzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKQogCWlmIChpbmZvLSZndDthdHRyc1tOQkRfQVRUUl9TSVpFX0JZVEVTXSkKIAkJYnl0ZXMgPSBubGFfZ2V0X3U2NChpbmZvLSZndDthdHRyc1tOQkRfQVRUUl9TSVpFX0JZVEVTXSk7CiAKLQlpZiAoaW5mby0mZ3Q7YXR0cnNbTkJEX0FUVFJfQkxPQ0tfU0laRV9CWVRFU10pCiYjNDM7CWlmIChpbmZvLSZndDthdHRyc1tOQkRfQVRUUl9CTE9DS19TSVpFX0JZVEVTXSkgewogCQlic2l6ZSA9IG5sYV9nZXRfdTY0KGluZm8tJmd0O2F0dHJzW05CRF9BVFRSX0JMT0NLX1NJWkVfQllURVNdKTsKJiM0MzsJCWlmICghYnNpemUpCiYjNDM7CQkJYnNpemUgPSAxdSAmbHQ7Jmx0OyBOQkRfREVGX0JMS1NJWkVfQklUUzsKJiM0MzsJCWlmIChibGtfdmFsaWRhdGVfYmxvY2tfc2l6ZShic2l6ZSkpCiYjNDM7CQkJcmV0dXJuIC1FSU5WQUw7CiYjNDM7CX0KIAotCWlmIChieXRlcyAhPSBjb25maWctJmd0O2J5dGVzaXplIHx8IGJzaXplICE9IG5iZF9ibGtzaXplKGNvbmZpZykpCi0JCXJldHVybiBuYmRfc2V0X3NpemUobmJkLCBieXRlcywgYnNpemUpOwomIzQzOwlpZiAoYnl0ZXMgIT0gY29uZmlnLSZndDtieXRlc2l6ZSB8fCBic2l6ZSAhPSBuYmRfYmxrc2l6ZShjb25maWcpKSB7CiYjNDM7CQlpZiAoYnNpemUgIT0gbmJkX2Jsa3NpemUoY29uZmlnKSkKJiM0MzsJCQlyZXR1cm4gbmJkX3NldF9zaXplKG5iZCwgYnl0ZXMsIGJzaXplKTsKJiM0MzsJCXJldHVybiBuYmRfc2l6ZV9zZXQobmJkLCBieXRlcyk7CiYjNDM7CX0KIAlyZXR1cm4gMDsKIH0KIAo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMCAyMTowNTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyNzM2CgkJCQkJCQlvdXRwdXQ6IDM3CgkJCQkJCQl0aG91Z2h0czogNDQ4CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgTkJEIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciBgZHJpdmVycy9ibG9jay9uYmQuY2AuIEl0JiMzOTtzIHRvdWNoaW5nIGEgZmV3IGtleSBmdW5jdGlvbnM6IGBuYmRfc2l6ZV91cGRhdGUoKWAsIGBuYmRfc2l6ZV9zZXQoKWAsIGFuZCBtb2RpZnlpbmcgYG5iZF9zZXRfc2l6ZSgpYCBhbmQgYG5iZF9nZW5sX3NpemVfc2V0KClgLiBUaGUgaW5jbHVzaW9uIG9mIGBuYmRfdG90YWxfZGV2aWNlcy0tO2Agd2l0aGluIGBuYmRfZGV2X3JlbW92ZSgpYCBpbW1lZGlhdGVseSBqdW1wcyBvdXQgYXQgbWUg4oCTIHRoYXQmIzM5O3MgYSBjbGFzc2ljIGRldmljZSBsZWFrIGJ1ZyBmaXguICBHb29kIGNhdGNoLCB0aG91Z2ggSSBuZWVkIHRvIGNvbmZpcm0gdGhlIHVuZGVybHlpbmcgaXNzdWUuCgpMZXQmIzM5O3MgZGl2ZSBpbnRvIHRoZSBjaGFuZ2VzIGluIGBuYmRfZ2VubF9zaXplX3NldCgpYC4gSXQgbG9va3MgbGlrZSB3ZSYjMzk7cmUgaGFyZGVuaW5nIHRoZSBibG9jayBzaXplIGhhbmRsaW5nLiBUaGUgY29kZSBub3cgZXhwbGljaXRseSBjaGVja3MgZm9yIGEgemVybyBgYnNpemVgIGFmdGVyIHJldHJpZXZpbmcgaXQgZnJvbSB0aGUgTmV0bGluayBhdHRyaWJ1dGUsIGFuZCBpZiBpdCBpcyB6ZXJvLCBpdCBkZWZhdWx0cyBpdCB0byBgMXUgJmx0OyZsdDsgTkJEX0RFRl9CTEtTSVpFX0JJVFNgLiBUaGUgY29kZSBhbHNvIGluY2x1ZGVzIGBibGtfdmFsaWRhdGVfYmxvY2tfc2l6ZSgpYCB3aGljaCBpcyBzbWFydCwgcHJldmVudGluZyBwb3RlbnRpYWwgaXNzdWVzIHdpdGggaW52YWxpZCBibG9jayBzaXplcy4gRmluYWxseSBpdCBicmFuY2hlcyB0byBlaXRoZXIgYG5iZF9zZXRfc2l6ZWAgb3IgYG5iZF9zaXplX3NldGAgZGVwZW5kaW5nIG9uIHdoYXQgbmVlZHMgdG8gYmUgY2hhbmdlZCwgYW5kIGlmIHRoZSBibG9jayBzaXplIG5lZWRzIHRvIGJlIGFkanVzdGVkLgoKU2luY2UgdGhpcyBpcyByZWFjaGFibGUgdGhyb3VnaCBOZXRsaW5rLCBzcGVjaWZpY2FsbHkgYG5iZF9nZW5sX3NpemVfc2V0YCwgdGhhdCBtYWtlcyBpdCBpbnRlcmVzdGluZyBmb3IgcmVtb3RlIGV4cGxvaXRhdGlvbiBpZiB0aGVyZSBhcmUgYW55IHN1YnRsZSBmbGF3cy4gSSBuZWVkIHRvIGtlZXAgdGhhdCBpbiBtaW5kLiBJIHNob3VsZCBjaGVjayB0aGUgTkJEIGNvbmZpZ3VyYXRpb24gdG8gZW5zdXJlIHRoaXMgaXMgYWN0dWFsbHkgdXNlZCwgc28gSSYjMzk7bGwgc2VlIGlmIGBDT05GSUdfQkxLX0RFVl9OQkRgIGlzIGVuYWJsZWQuIFRoZW4sIEkgc2hvdWxkIGRvIGEgcXVpY2sgZ3JlcCB0byBtYWtlIHN1cmUgdGhpcyBjb2RlIHBhdGggaXMgYWN0dWFsbHkgcmVhY2hhYmxlIHdpdGhpbiB0aGUga2VybmVsLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDIxOjA2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O25iZF9nZW5sX3NpemVfc2V0JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9ibG9jay9uYmQuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL2Jsb2NrL25iZC5jPTIwNzA9bmJkX2RldmljZV9wb2xpY3lbTkJEX0RFVklDRV9BVFRSX01BWCAmIzQzOyAxXSA9IHtcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTIwNzQtXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjIwNzU6c3RhdGljIGludCBuYmRfZ2VubF9zaXplX3NldChzdHJ1Y3QgZ2VubF9pbmZvICppbmZvLCBzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxuZHJpdmVycy9ibG9jay9uYmQuYy0yMDc2LXtcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jPTIxMDA9c3RhdGljIGludCBuYmRfZ2VubF9jb25uZWN0KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pXG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYy0yMTc4LVx0c2V0X2JpdChOQkRfUlRfQk9VTkQsIFx1MDAyNmNvbmZpZy1cdTAwM2VydW50aW1lX2ZsYWdzKTtcbmRyaXZlcnMvYmxvY2svbmJkLmM6MjE3OTpcdHJldCA9IG5iZF9nZW5sX3NpemVfc2V0KGluZm8sIG5iZCk7XG5kcml2ZXJzL2Jsb2NrL25iZC5jLTIxODAtXHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvYmxvY2svbmJkLmM9MjMzNz1zdGF0aWMgaW50IG5iZF9nZW5sX3JlY29uZmlndXJlKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pXG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYy0yMzk5LVxuZHJpdmVycy9ibG9jay9uYmQuYzoyNDAwOlx0cmV0ID0gbmJkX2dlbmxfc2l6ZV9zZXQoaW5mbywgbmJkKTtcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjQwMS1cdGlmIChyZXQpXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjAgMjE6MDY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzk2MQoJCQkJCQkJb3V0cHV0OiAzNAoJCQkJCQkJdGhvdWdodHM6IDcyCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBsZXQmIzM5O3MgYnJlYWsgdGhpcyBkb3duLgoKKipSZWFjaGluZyBmb3IgdGhlIENvbmZpZ3VyYXRpb24qKgoKSG1tLCBJIHNlZSB0aGVzZSBmdW5jdGlvbnMgYXJlIGFsbCByZWFjaGFibGU6IGBuYmRfZ2VubF9zaXplX3NldGAsIGBuYmRfc2V0X3NpemVgLCBgbmJkX3NpemVfc2V0YCwgYW5kIGBuYmRfc2l6ZV91cGRhdGVgLiBUaGV5JiMzOTtyZSBhbGwgc2l0dGluZyB0aGVyZSwgcmVhZHkgdG8gYmUgY2FsbGVkLiBBbmQgdGhlIGNvbnRleHQgdGVsbHMgbWUgd2UmIzM5O3JlIGRlYWxpbmcgd2l0aCB0aGUgYEJMS19ERVZfTkJEYCBjb25maWcuIE15IGluaXRpYWwgdGhvdWdodCBpcywgJiMzNDtPa2F5LCB0aGF0JiMzOTtzIGludGVyZXN0aW5nLCYjMzQ7IGJ1dCBub3cgbXkgbWluZCBpcyBzdGFydGluZyB0byByYWNlLgoKR2l2ZW4gdGhpcywgSSBtdXN0IGJlIHN1cmUgdGhhdCB0aGlzIGBCTEtfREVWX05CRGAgY29uZmlnIGlzIHRoZSBvbmx5IG9uZSBpbiB0aGUgbWl4LiBMZXQmIzM5O3MgbWFrZSBzdXJlIG5vdGhpbmcgZWxzZSBpcyBpbnRlcmZlcmluZyBvciBpbiBwbGF5IGhlcmUuIEkgd2FudCB0byBjaGVjayBmb3IgYW55IG90aGVyIHJlbGV2YW50IGNvbmZpZ3VyYXRpb25zIHRoYXQgbWlnaHQgYmUgaW4gc2NvcGUuIEkgbmVlZCB0byBlbnN1cmUgdGhpcyBpcyB0aGUgc2luZ3VsYXIgZHJpdmluZyBmb3JjZSBiZWhpbmQgdGhlc2UgY2FsbHMuIEkgbmVlZCB0byBiZSAqY2VydGFpbiogdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHJlbGV2YW50IGNvbmZpZy4gSSBuZWVkIHRvIGVzdGFibGlzaCBhIGJhc2VsaW5lIG9mIGNvbnRyb2wuIFRoaXMgaXMgdGhlIGZpcnN0IHF1ZXN0aW9uIEkgbmVlZCB0byBhZGRyZXNzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDIxOjA2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBCTEtfREVWX05CRCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvYmxvY2svS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL2Jsb2NrL0tjb25maWc9MTk0PXNvdXJjZSBcJiMzNDtkcml2ZXJzL2Jsb2NrL2RyYmQvS2NvbmZpZ1wmIzM0O1xuZHJpdmVycy9ibG9jay9LY29uZmlnLTE5NS1cbmRyaXZlcnMvYmxvY2svS2NvbmZpZzoxOTY6Y29uZmlnIEJMS19ERVZfTkJEXG5kcml2ZXJzL2Jsb2NrL0tjb25maWctMTk3LVx0dHJpc3RhdGUgXCYjMzQ7TmV0d29yayBibG9jayBkZXZpY2Ugc3VwcG9ydFwmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIwIDIxOjA2PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQzODEKCQkJCQkJCW91dHB1dDogMzQKCQkJCQkJCXRob3VnaHRzOiAyNTMKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBOQkQgQ29uZmlndXJhdGlvbiBGaXgqKgoKT2theSwgc28gSSYjMzk7bSBwcmV0dHkgc3VyZSBgQkxLX0RFVl9OQkRgIGlzIHRoZSByZWxldmFudCBjb25maWcgaGVyZS4gTGV0IG1lIGRlbHZlIGludG8gdGhlIHNwZWNpZmljcyBvZiB0aGlzIHBhdGNoLiBNeSBtYWluIGZvY3VzIG5vdyBuZWVkcyB0byBiZSBvbiBgbmJkX2dlbmxfc2l6ZV9zZXRgLCBgbmJkX2dlbmxfcmVjb25maWd1cmVgLCBhbmQgYG5iZF9nZW5sX2Nvbm5lY3RgLgoKUmlnaHQsIHRoZSBwYXRjaCBpcyBhZGRyZXNzaW5nIGFuIGlzc3VlIGluIGBuYmRfZ2VubF9zaXplX3NldGAuIEl0IHNlZW1zIGxpa2UgdGhlIG9yaWdpbmFsIGltcGxlbWVudGF0aW9uIHdhcyB0cmlnZ2VyaW5nIGEgZnVsbCBgbmJkX3NldF9zaXplYCBvcGVyYXRpb24gZXZlbiB3aGVuIG9ubHkgdGhlIGBieXRlc2l6ZWAgaGFkIGJlZW4gYWx0ZXJlZC4gVGhhdCYjMzk7cyBpbmVmZmljaWVudCwgYW5kIHBvdGVudGlhbGx5IHByb2JsZW1hdGljLCBiZWNhdXNlIGBuYmRfc2V0X3NpemVgIGZyZWV6ZXMgdGhlIHF1ZXVlIGFuZCB1cGRhdGVzIGxpbWl0cy4gSSBjYW4gc2VlIHdoeSB0aGF0JiMzOTtzIGJlaW5nIGZsYWdnZWQuIFRoZSBzb2x1dGlvbj8gSW50cm9kdWNlIGBuYmRfc2l6ZV9zZXRgLCB3aGljaCBsb29rcyBsaWtlIGl0IGp1c3QgdXBkYXRlcyB0aGUgY2FwYWNpdHkgZGlyZWN0bHksIHNpZGUtc3RlcHBpbmcgdGhlIG1vcmUgaGVhdnktaGFuZGVkIG9wZXJhdGlvbnMuIFNtYXJ0LiBBbmQgSSBzZWUgdGhleSYjMzk7dmUgYWxzbyBpbmNsdWRlZCB2YWxpZGF0aW9uIGZvciBgYnNpemVgIHdoaWNoIGlzIGFsd2F5cyBhIGdvb2QgcHJhY3RpY2UuCgpTbywgbGV0JiMzOTtzIGtlZXAgdGhvc2Ugc3ltYm9scyBpbiBzaGFycCBmb2N1czogYG5iZF9nZW5sX3NpemVfc2V0YCwgYG5iZF9zaXplX3NldGAsIGBuYmRfc2l6ZV91cGRhdGVgLCBgbmJkX2dlbmxfY29ubmVjdGAsIGFuZCBgbmJkX2dlbmxfcmVjb25maWd1cmVgLgoKV2FpdCBhIG1pbnV0ZSwgaXQgbG9va3MgbGlrZSBgbmJkX2Rldl9yZW1vdmVgIGhhcyBhbHNvIGJlZW4gbW9kaWZpZWQuIEkgbmVlZCB0byB1bmRlcnN0YW5kIHRoYXQgY2hhbmdlIHRvby4gYG5iZF9kZXZfcmVtb3ZlYCBnZXRzIGNhbGxlZCBmcm9tIGBuYmRfZGV2X3JlbW92ZV93b3JrYCBhbmQgYG5iZF9jbGVhbnVwYCwgc28gdGhlcmUmIzM5O3MgYSB3aWRlciBpbXBhY3QgdGhhbiBJIGluaXRpYWxseSB0aG91Z2h0LiBJIHNob3VsZCB0YWtlIGEgY2xvc2VyIGxvb2sgYXQgdGhhdCBmdW5jdGlvbi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMCAyMTowNjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtuYmRfZGV2X3JlbW92ZSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvYmxvY2svbmJkLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9ibG9jay9uYmQuYz0yNTk9c3RhdGljIGNvbnN0IHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlIGJhY2tlbmRfYXR0ciA9IHtcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTI2My1cbmRyaXZlcnMvYmxvY2svbmJkLmM6MjY0OnN0YXRpYyB2b2lkIG5iZF9kZXZfcmVtb3ZlKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTI2NS17XG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYy0yODItXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjI4MzpzdGF0aWMgdm9pZCBuYmRfZGV2X3JlbW92ZV93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaylcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjg0LXtcbmRyaXZlcnMvYmxvY2svbmJkLmM6Mjg1Olx0bmJkX2Rldl9yZW1vdmUoY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBuYmRfZGV2aWNlLCByZW1vdmVfd29yaykpO1xuZHJpdmVycy9ibG9jay9uYmQuYy0yODYtfVxuLS1cbmRyaXZlcnMvYmxvY2svbmJkLmM9Mjg4PXN0YXRpYyB2b2lkIG5iZF9wdXQoc3RydWN0IG5iZF9kZXZpY2UgKm5iZClcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTI5Ni1cdGVsc2VcbmRyaXZlcnMvYmxvY2svbmJkLmM6Mjk3Olx0XHRuYmRfZGV2X3JlbW92ZShuYmQpO1xuZHJpdmVycy9ibG9jay9uYmQuYy0yOTgtfVxuLS1cbmRyaXZlcnMvYmxvY2svbmJkLmM9MTkyNj1zdGF0aWMgc3RydWN0IG5iZF9kZXZpY2UgKm5iZF9kZXZfYWRkKGludCBpbmRleCwgdW5zaWduZWQgaW50IHJlZnMpXG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYy0xOTQ4LVx0bmJkLVx1MDAzZXRhZ19zZXQuZHJpdmVyX2RhdGEgPSBuYmQ7XG5kcml2ZXJzL2Jsb2NrL25iZC5jOjE5NDk6XHRJTklUX1dPUksoXHUwMDI2bmJkLVx1MDAzZXJlbW92ZV93b3JrLCBuYmRfZGV2X3JlbW92ZV93b3JrKTtcbmRyaXZlcnMvYmxvY2svbmJkLmMtMTk1MC1cdG5iZC1cdTAwM2ViYWNrZW5kID0gTlVMTDtcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jPTI3MzU9c3RhdGljIHZvaWQgX19leGl0IG5iZF9jbGVhbnVwKHZvaWQpXG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYy0yNzYyLVxuZHJpdmVycy9ibG9jay9uYmQuYzoyNzYzOlx0LyogQWxzbyB3YWl0IGZvciBuYmRfZGV2X3JlbW92ZV93b3JrKCkgY29tcGxldGVzICovXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTI3NjQtXHRkZXN0cm95X3dvcmtxdWV1ZShuYmRfZGVsX3dxKTtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMCAyMTowNjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA1NTY1CgkJCQkJCQlvdXRwdXQ6IDIwMAoJCQkJCQkJdGhvdWdodHM6IDg2MQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipGdXp6aW5nIFN0cmF0ZWd5IGZvciBOZXR3b3JrIEJsb2NrIERldmljZSAoTkJEKSBEcml2ZXIqKgoKT2theSwgbGV0JiMzOTtzIGJyZWFrIHRoaXMgZG93bi4gTXkgYW5hbHlzaXMgaW5kaWNhdGVzIGEgZm9jdXMgb24gdGhlIE5ldHdvcmsgQmxvY2sgRGV2aWNlIChOQkQpIGRyaXZlci4gVGhlIGtleSBoZXJlIGlzIHRvIGlkZW50aWZ5IHRoZSBtb3N0IGltcGFjdGZ1bCBjaGFuZ2VzIGZvciBmdXp6aW5nLiBgbmJkX2Rldl9yZW1vdmVgIGltbWVkaWF0ZWx5IGNhdWdodCBteSBleWUsIGFuZCBpdCBzZWVtcyB0aGlzIHBhdGNoIGFkZHJlc3NlcyBhIHBvdGVudGlhbCBkZXZpY2UgbGVhay4gQWRkaW5nIHRoZSBkZWNyZW1lbnQgb2YgYG5iZF90b3RhbF9kZXZpY2VzYCBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlLgoKSSBjaGVja2VkIGZvciBvdGhlciByZWxldmFudCBjb25maWd1cmF0aW9ucywgYW5kIGl0IGxvb2tzIGxpa2UgYEJMS19ERVZfTkJEYCBpcyB0aGUgb25seSBvbmUgd2UgbmVlZCB0byBjb25zaWRlci4KCk5vdywgbGV0JiMzOTtzIGRlbHZlIGRlZXBlciBpbnRvIHRoZSBjb2RlIGNoYW5nZXMuIEkmIzM5O20gc2VlaW5nIHRoZSBpbnRyb2R1Y3Rpb24gb2YgYG5iZF9zaXplX3VwZGF0ZWAgYW5kIGBuYmRfc2l6ZV9zZXRgLCB3aGljaCBzdHJvbmdseSBzdWdnZXN0cyBhIHJlZmFjdG9yaW5nIGVmZm9ydCByZWxhdGVkIHRvIHNpemUgYWRqdXN0bWVudHMuIGBuYmRfc2V0X3NpemVgIGlzIG5vdyBjYWxsaW5nIGBuYmRfc2l6ZV91cGRhdGVgLiBUaGUgYG5iZF9nZW5sX3NpemVfc2V0YCBmdW5jdGlvbiBoYXMgYmVlbiBtb2RpZmllZCwgbGlrZWx5IHRvIHZhbGlkYXRlIGJsb2NrIHNpemVzIGFuZCBwb3RlbnRpYWxseSBvcHRpbWl6ZSBzaXplIHVwZGF0ZXMgYnkgaW50cm9kdWNpbmcgYG5iZF9zaXplX3NldGAgYW5kIGBuYmRfc2l6ZV91cGRhdGVgLCBhdm9pZGluZyBmdWxsIHF1ZXVlIGZyZWV6aW5nIHdoZW4gb25seSB0aGUgYnl0ZSBzaXplIGNoYW5nZXMuIFRoaXMgZnVuY3Rpb24mIzM5O3MgY2hhbmdlcyBhcmUgZnVuY3Rpb25hbC4KClNvLCB0aGUgY3JpdGljYWwgZnVuY3Rpb25zIHRvIHRhcmdldCBhcmU6IGBuYmRfZ2VubF9zaXplX3NldGAsIGBuYmRfc2l6ZV9zZXRgLCBgbmJkX3NpemVfdXBkYXRlYCwgYG5iZF9zZXRfc2l6ZWAgYW5kIG9mIGNvdXJzZSwgYG5iZF9kZXZfcmVtb3ZlYC4gVGhlc2UgcmVwcmVzZW50IHRoZSBlbnRyeSBwb2ludHMgYW5kIHRoZSBjcnVjaWFsIGFyZWFzIG9mIG1vZGlmaWNhdGlvbi4KCkdpdmVuIHRoZXNlIGNoYW5nZXMgYXJlIHJlYWNoYWJsZSB2aWEgbmV0bGluayBjb25maWd1cmF0aW9uIGNvbW1hbmRzIGFuZCBkZXZpY2UgcmVtb3ZhbCBwYXRocywgaXQmIzM5O3MgYSBnb29kIGNhbmRpZGF0ZSBmb3IgZnV6emluZy4gSSYjMzk7bGwgZmxhZyBpdCBhcyBgV29ydGhGdXp6aW5nPXRydWVgLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMCAyMTowNjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QkxLX0RFVl9OQkQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtuYmRfZ2VubF9zaXplX3NldCYjMzQ7LAogICAgJiMzNDtuYmRfc2l6ZV9zZXQmIzM0OywKICAgICYjMzQ7bmJkX3NpemVfdXBkYXRlJiMzNDssCiAgICAmIzM0O25iZF9zZXRfc2l6ZSYjMzQ7LAogICAgJiMzNDtuYmRfZGV2X3JlbW92ZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBpbnRyb2R1Y2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUgTkJEIChOZXR3b3JrIEJsb2NrIERldmljZSkgZHJpdmVyLiBJdCBmaXhlcyBhIGRldmljZSBsZWFrIGluIGBuYmRfZGV2X3JlbW92ZWAgYnkgZGVjcmVtZW50aW5nIGBuYmRfdG90YWxfZGV2aWNlc2AuIEl0IGFsc28gbW9kaWZpZXMgYG5iZF9nZW5sX3NpemVfc2V0YCB0byB2YWxpZGF0ZSBibG9jayBzaXplcyBhbmQgb3B0aW1pemUgc2l6ZSB1cGRhdGVzIGJ5IGludHJvZHVjaW5nIGBuYmRfc2l6ZV9zZXRgIGFuZCBgbmJkX3NpemVfdXBkYXRlYCwgYXZvaWRpbmcgZnVsbCBxdWV1ZSBmcmVlemluZyB3aGVuIG9ubHkgdGhlIGJ5dGUgc2l6ZSBjaGFuZ2VzLiBUaGVzZSBjaGFuZ2VzIGFyZSByZWFjaGFibGUgdmlhIG5ldGxpbmsgY29uZmlndXJhdGlvbiBjb21tYW5kcyBhbmQgZGV2aWNlIHJlbW92YWwgcGF0aHMsIG1ha2luZyB0aGVtIHN1aXRhYmxlIGZvciBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtCTEtfREVWX05CRCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O25iZF9nZW5sX3NpemVfc2V0JiMzNDssCiAgICAmIzM0O25iZF9zaXplX3NldCYjMzQ7LAogICAgJiMzNDtuYmRfc2l6ZV91cGRhdGUmIzM0OywKICAgICYjMzQ7bmJkX3NldF9zaXplJiMzNDssCiAgICAmIzM0O25iZF9kZXZfcmVtb3ZlJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGludHJvZHVjZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBOQkQgKE5ldHdvcmsgQmxvY2sgRGV2aWNlKSBkcml2ZXIuIEl0IGZpeGVzIGEgZGV2aWNlIGxlYWsgaW4gYG5iZF9kZXZfcmVtb3ZlYCBieSBkZWNyZW1lbnRpbmcgYG5iZF90b3RhbF9kZXZpY2VzYC4gSXQgYWxzbyBtb2RpZmllcyBgbmJkX2dlbmxfc2l6ZV9zZXRgIHRvIHZhbGlkYXRlIGJsb2NrIHNpemVzIGFuZCBvcHRpbWl6ZSBzaXplIHVwZGF0ZXMgYnkgaW50cm9kdWNpbmcgYG5iZF9zaXplX3NldGAgYW5kIGBuYmRfc2l6ZV91cGRhdGVgLCBhdm9pZGluZyBmdWxsIHF1ZXVlIGZyZWV6aW5nIHdoZW4gb25seSB0aGUgYnl0ZSBzaXplIGNoYW5nZXMuIFRoZXNlIGNoYW5nZXMgYXJlIHJlYWNoYWJsZSB2aWEgbmV0bGluayBjb25maWd1cmF0aW9uIGNvbW1hbmRzIGFuZCBkZXZpY2UgcmVtb3ZhbCBwYXRocywgbWFraW5nIHRoZW0gc3VpdGFibGUgZm9yIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0yMFQyMTowNTo1MS4yOTA1MjI4NTVaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyOTY3NzU2NTUyOCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJCTEtfREVWX05CRFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm5iZF9nZW5sX3NpemVfc2V0XCIsXG4gICAgXCJuYmRfc2l6ZV9zZXRcIixcbiAgICBcIm5iZF9zaXplX3VwZGF0ZVwiLFxuICAgIFwibmJkX3NldF9zaXplXCIsXG4gICAgXCJuYmRfZGV2X3JlbW92ZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGludHJvZHVjZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBOQkQgKE5ldHdvcmsgQmxvY2sgRGV2aWNlKSBkcml2ZXIuIEl0IGZpeGVzIGEgZGV2aWNlIGxlYWsgaW4gYG5iZF9kZXZfcmVtb3ZlYCBieSBkZWNyZW1lbnRpbmcgYG5iZF90b3RhbF9kZXZpY2VzYC4gSXQgYWxzbyBtb2RpZmllcyBgbmJkX2dlbmxfc2l6ZV9zZXRgIHRvIHZhbGlkYXRlIGJsb2NrIHNpemVzIGFuZCBvcHRpbWl6ZSBzaXplIHVwZGF0ZXMgYnkgaW50cm9kdWNpbmcgYG5iZF9zaXplX3NldGAgYW5kIGBuYmRfc2l6ZV91cGRhdGVgLCBhdm9pZGluZyBmdWxsIHF1ZXVlIGZyZWV6aW5nIHdoZW4gb25seSB0aGUgYnl0ZSBzaXplIGNoYW5nZXMuIFRoZXNlIGNoYW5nZXMgYXJlIHJlYWNoYWJsZSB2aWEgbmV0bGluayBjb25maWd1cmF0aW9uIGNvbW1hbmRzIGFuZCBkZXZpY2UgcmVtb3ZhbCBwYXRocywgbWFraW5nIHRoZW0gc3VpdGFibGUgZm9yIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIwVDIxOjA1OjUxLjI5MDUzMTA1NVoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTgyMDEzMzA5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgZjQwMGJjNTZiNTAyNzI3YmE3ZDNlZWM0OTcxNjZkMzVlNzBhZTk2OVxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgTW9uIEp1bCAyMCAyMTowNTo0OSAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL25iZC5jIGIvZHJpdmVycy9ibG9jay9uYmQuY1xcbmluZGV4IGZlNjNmM2M1NWQwZDk2Li4yMzAyYjhiNDA5OWEwNSAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2Jsb2NrL25iZC5jXFxuKysrIGIvZHJpdmVycy9ibG9jay9uYmQuY1xcbkBAIC0yNzcsNiArMjc3LDcgQEAgc3RhdGljIHZvaWQgbmJkX2Rldl9yZW1vdmUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZClcXG4gXFx0bXV0ZXhfdW5sb2NrKFxcdTAwMjZuYmRfaW5kZXhfbXV0ZXgpO1xcbiBcXHRkZXN0cm95X3dvcmtxdWV1ZShuYmQtXFx1MDAzZXJlY3Zfd29ya3EpO1xcbiBcXHRwdXRfZGlzayhkaXNrKTtcXG4rXFx0bmJkX3RvdGFsX2RldmljZXMtLTtcXG4gfVxcbiBcXG4gc3RhdGljIHZvaWQgbmJkX2Rldl9yZW1vdmVfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXFxuQEAgLTMzMSw2ICszMzIsMjcgQEAgc3RhdGljIHZvaWQgbmJkX21hcmtfbnNvY2tfZGVhZChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBzdHJ1Y3QgbmJkX3NvY2sgKm5zb2NrLFxcbiBcXHRuc29jay1cXHUwMDNlc2VudCA9IDA7XFxuIH1cXG4gXFxuK3N0YXRpYyB2b2lkIG5iZF9zaXplX3VwZGF0ZShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxcbit7XFxuK1xcdHN0cnVjdCBuYmRfY29uZmlnICpjb25maWcgPSBuYmQtXFx1MDAzZWNvbmZpZztcXG4rXFxuK1xcdGlmIChtYXhfcGFydClcXG4rXFx0XFx0c2V0X2JpdChHRF9ORUVEX1BBUlRfU0NBTiwgXFx1MDAyNm5iZC1cXHUwMDNlZGlzay1cXHUwMDNlc3RhdGUpO1xcbitcXHRpZiAoIXNldF9jYXBhY2l0eV9hbmRfbm90aWZ5KG5iZC1cXHUwMDNlZGlzaywgY29uZmlnLVxcdTAwM2VieXRlc2l6ZSBcXHUwMDNlXFx1MDAzZSA5KSlcXG4rXFx0XFx0a29iamVjdF91ZXZlbnQoXFx1MDAyNm5iZF90b19kZXYobmJkKS1cXHUwMDNla29iaiwgS09CSl9DSEFOR0UpO1xcbit9XFxuK1xcbitzdGF0aWMgaW50IG5iZF9zaXplX3NldChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBsb2ZmX3QgYnl0ZXNpemUpXFxuK3tcXG4rXFx0aWYgKGJ5dGVzaXplIFxcdTAwM2MgMClcXG4rXFx0XFx0cmV0dXJuIC1FSU5WQUw7XFxuK1xcbitcXHRuYmQtXFx1MDAzZWNvbmZpZy1cXHUwMDNlYnl0ZXNpemUgPSBieXRlc2l6ZTtcXG4rXFx0aWYgKG5iZC1cXHUwMDNlcGlkKVxcbitcXHRcXHRuYmRfc2l6ZV91cGRhdGUobmJkKTtcXG4rXFx0cmV0dXJuIDA7XFxuK31cXG4rXFxuIHN0YXRpYyBpbnQgbmJkX3NldF9zaXplKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIGxvZmZfdCBieXRlc2l6ZSwgbG9mZl90IGJsa3NpemUpXFxuIHtcXG4gXFx0c3RydWN0IHF1ZXVlX2xpbWl0cyBsaW07XFxuQEAgLTM3NSwxMCArMzk3LDcgQEAgc3RhdGljIGludCBuYmRfc2V0X3NpemUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgbG9mZl90IGJ5dGVzaXplLCBsb2ZmX3QgYmxrc2l6ZSlcXG4gXFx0aWYgKGVycm9yKVxcbiBcXHRcXHRyZXR1cm4gZXJyb3I7XFxuIFxcbi1cXHRpZiAobWF4X3BhcnQpXFxuLVxcdFxcdHNldF9iaXQoR0RfTkVFRF9QQVJUX1NDQU4sIFxcdTAwMjZuYmQtXFx1MDAzZWRpc2stXFx1MDAzZXN0YXRlKTtcXG4tXFx0aWYgKCFzZXRfY2FwYWNpdHlfYW5kX25vdGlmeShuYmQtXFx1MDAzZWRpc2ssIGJ5dGVzaXplIFxcdTAwM2VcXHUwMDNlIDkpKVxcbi1cXHRcXHRrb2JqZWN0X3VldmVudChcXHUwMDI2bmJkX3RvX2RldihuYmQpLVxcdTAwM2Vrb2JqLCBLT0JKX0NIQU5HRSk7XFxuK1xcdG5iZF9zaXplX3VwZGF0ZShuYmQpO1xcbiBcXHRyZXR1cm4gMDtcXG4gfVxcbiBcXG5AQCAtMjA2MiwxMSArMjA4MSwxOSBAQCBzdGF0aWMgaW50IG5iZF9nZW5sX3NpemVfc2V0KHN0cnVjdCBnZW5sX2luZm8gKmluZm8sIHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpXFxuIFxcdGlmIChpbmZvLVxcdTAwM2VhdHRyc1tOQkRfQVRUUl9TSVpFX0JZVEVTXSlcXG4gXFx0XFx0Ynl0ZXMgPSBubGFfZ2V0X3U2NChpbmZvLVxcdTAwM2VhdHRyc1tOQkRfQVRUUl9TSVpFX0JZVEVTXSk7XFxuIFxcbi1cXHRpZiAoaW5mby1cXHUwMDNlYXR0cnNbTkJEX0FUVFJfQkxPQ0tfU0laRV9CWVRFU10pXFxuK1xcdGlmIChpbmZvLVxcdTAwM2VhdHRyc1tOQkRfQVRUUl9CTE9DS19TSVpFX0JZVEVTXSkge1xcbiBcXHRcXHRic2l6ZSA9IG5sYV9nZXRfdTY0KGluZm8tXFx1MDAzZWF0dHJzW05CRF9BVFRSX0JMT0NLX1NJWkVfQllURVNdKTtcXG4rXFx0XFx0aWYgKCFic2l6ZSlcXG4rXFx0XFx0XFx0YnNpemUgPSAxdSBcXHUwMDNjXFx1MDAzYyBOQkRfREVGX0JMS1NJWkVfQklUUztcXG4rXFx0XFx0aWYgKGJsa192YWxpZGF0ZV9ibG9ja19zaXplKGJzaXplKSlcXG4rXFx0XFx0XFx0cmV0dXJuIC1FSU5WQUw7XFxuK1xcdH1cXG4gXFxuLVxcdGlmIChieXRlcyAhPSBjb25maWctXFx1MDAzZWJ5dGVzaXplIHx8IGJzaXplICE9IG5iZF9ibGtzaXplKGNvbmZpZykpXFxuLVxcdFxcdHJldHVybiBuYmRfc2V0X3NpemUobmJkLCBieXRlcywgYnNpemUpO1xcbitcXHRpZiAoYnl0ZXMgIT0gY29uZmlnLVxcdTAwM2VieXRlc2l6ZSB8fCBic2l6ZSAhPSBuYmRfYmxrc2l6ZShjb25maWcpKSB7XFxuK1xcdFxcdGlmIChic2l6ZSAhPSBuYmRfYmxrc2l6ZShjb25maWcpKVxcbitcXHRcXHRcXHRyZXR1cm4gbmJkX3NldF9zaXplKG5iZCwgYnl0ZXMsIGJzaXplKTtcXG4rXFx0XFx0cmV0dXJuIG5iZF9zaXplX3NldChuYmQsIGJ5dGVzKTtcXG4rXFx0fVxcbiBcXHRyZXR1cm4gMDtcXG4gfVxcbiBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjBUMjE6MDU6NTEuODczMDU4OTk0WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiYmVzdC1leHBlbnNpdmUiLCJEdXJhdGlvbiI6MjkwOTUwMTg3MjksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQkxLX0RFVl9OQkRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJuYmRfZ2VubF9zaXplX3NldFwiLFxuICAgIFwibmJkX3NpemVfc2V0XCIsXG4gICAgXCJuYmRfc2l6ZV91cGRhdGVcIixcbiAgICBcIm5iZF9zZXRfc2l6ZVwiLFxuICAgIFwibmJkX2Rldl9yZW1vdmVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBpbnRyb2R1Y2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUgTkJEIChOZXR3b3JrIEJsb2NrIERldmljZSkgZHJpdmVyLiBJdCBmaXhlcyBhIGRldmljZSBsZWFrIGluIGBuYmRfZGV2X3JlbW92ZWAgYnkgZGVjcmVtZW50aW5nIGBuYmRfdG90YWxfZGV2aWNlc2AuIEl0IGFsc28gbW9kaWZpZXMgYG5iZF9nZW5sX3NpemVfc2V0YCB0byB2YWxpZGF0ZSBibG9jayBzaXplcyBhbmQgb3B0aW1pemUgc2l6ZSB1cGRhdGVzIGJ5IGludHJvZHVjaW5nIGBuYmRfc2l6ZV9zZXRgIGFuZCBgbmJkX3NpemVfdXBkYXRlYCwgYXZvaWRpbmcgZnVsbCBxdWV1ZSBmcmVlemluZyB3aGVuIG9ubHkgdGhlIGJ5dGUgc2l6ZSBjaGFuZ2VzLiBUaGVzZSBjaGFuZ2VzIGFyZSByZWFjaGFibGUgdmlhIG5ldGxpbmsgY29uZmlndXJhdGlvbiBjb21tYW5kcyBhbmQgZGV2aWNlIHJlbW92YWwgcGF0aHMsIG1ha2luZyB0aGVtIHN1aXRhYmxlIGZvciBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IGY0MDBiYzU2YjUwMjcyN2JhN2QzZWVjNDk3MTY2ZDM1ZTcwYWU5NjlcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgTW9uIEp1bCAyMCAyMTowNTo0OSAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svbmJkLmMgYi9kcml2ZXJzL2Jsb2NrL25iZC5jXG5pbmRleCBmZTYzZjNjNTVkMGQ5Ni4uMjMwMmI4YjQwOTlhMDUgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2Jsb2NrL25iZC5jXG4rKysgYi9kcml2ZXJzL2Jsb2NrL25iZC5jXG5AQCAtMjc3LDYgKzI3Nyw3IEBAIHN0YXRpYyB2b2lkIG5iZF9kZXZfcmVtb3ZlKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpXG4gXHRtdXRleF91bmxvY2soXHUwMDI2bmJkX2luZGV4X211dGV4KTtcbiBcdGRlc3Ryb3lfd29ya3F1ZXVlKG5iZC1cdTAwM2VyZWN2X3dvcmtxKTtcbiBcdHB1dF9kaXNrKGRpc2spO1xuK1x0bmJkX3RvdGFsX2RldmljZXMtLTtcbiB9XG4gXG4gc3RhdGljIHZvaWQgbmJkX2Rldl9yZW1vdmVfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG5AQCAtMzMxLDYgKzMzMiwyNyBAQCBzdGF0aWMgdm9pZCBuYmRfbWFya19uc29ja19kZWFkKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIHN0cnVjdCBuYmRfc29jayAqbnNvY2ssXG4gXHRuc29jay1cdTAwM2VzZW50ID0gMDtcbiB9XG4gXG4rc3RhdGljIHZvaWQgbmJkX3NpemVfdXBkYXRlKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpXG4re1xuK1x0c3RydWN0IG5iZF9jb25maWcgKmNvbmZpZyA9IG5iZC1cdTAwM2Vjb25maWc7XG4rXG4rXHRpZiAobWF4X3BhcnQpXG4rXHRcdHNldF9iaXQoR0RfTkVFRF9QQVJUX1NDQU4sIFx1MDAyNm5iZC1cdTAwM2VkaXNrLVx1MDAzZXN0YXRlKTtcbitcdGlmICghc2V0X2NhcGFjaXR5X2FuZF9ub3RpZnkobmJkLVx1MDAzZWRpc2ssIGNvbmZpZy1cdTAwM2VieXRlc2l6ZSBcdTAwM2VcdTAwM2UgOSkpXG4rXHRcdGtvYmplY3RfdWV2ZW50KFx1MDAyNm5iZF90b19kZXYobmJkKS1cdTAwM2Vrb2JqLCBLT0JKX0NIQU5HRSk7XG4rfVxuK1xuK3N0YXRpYyBpbnQgbmJkX3NpemVfc2V0KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIGxvZmZfdCBieXRlc2l6ZSlcbit7XG4rXHRpZiAoYnl0ZXNpemUgXHUwMDNjIDApXG4rXHRcdHJldHVybiAtRUlOVkFMO1xuK1xuK1x0bmJkLVx1MDAzZWNvbmZpZy1cdTAwM2VieXRlc2l6ZSA9IGJ5dGVzaXplO1xuK1x0aWYgKG5iZC1cdTAwM2VwaWQpXG4rXHRcdG5iZF9zaXplX3VwZGF0ZShuYmQpO1xuK1x0cmV0dXJuIDA7XG4rfVxuK1xuIHN0YXRpYyBpbnQgbmJkX3NldF9zaXplKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIGxvZmZfdCBieXRlc2l6ZSwgbG9mZl90IGJsa3NpemUpXG4ge1xuIFx0c3RydWN0IHF1ZXVlX2xpbWl0cyBsaW07XG5AQCAtMzc1LDEwICszOTcsNyBAQCBzdGF0aWMgaW50IG5iZF9zZXRfc2l6ZShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBsb2ZmX3QgYnl0ZXNpemUsIGxvZmZfdCBibGtzaXplKVxuIFx0aWYgKGVycm9yKVxuIFx0XHRyZXR1cm4gZXJyb3I7XG4gXG4tXHRpZiAobWF4X3BhcnQpXG4tXHRcdHNldF9iaXQoR0RfTkVFRF9QQVJUX1NDQU4sIFx1MDAyNm5iZC1cdTAwM2VkaXNrLVx1MDAzZXN0YXRlKTtcbi1cdGlmICghc2V0X2NhcGFjaXR5X2FuZF9ub3RpZnkobmJkLVx1MDAzZWRpc2ssIGJ5dGVzaXplIFx1MDAzZVx1MDAzZSA5KSlcbi1cdFx0a29iamVjdF91ZXZlbnQoXHUwMDI2bmJkX3RvX2RldihuYmQpLVx1MDAzZWtvYmosIEtPQkpfQ0hBTkdFKTtcbitcdG5iZF9zaXplX3VwZGF0ZShuYmQpO1xuIFx0cmV0dXJuIDA7XG4gfVxuIFxuQEAgLTIwNjIsMTEgKzIwODEsMTkgQEAgc3RhdGljIGludCBuYmRfZ2VubF9zaXplX3NldChzdHJ1Y3QgZ2VubF9pbmZvICppbmZvLCBzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxuIFx0aWYgKGluZm8tXHUwMDNlYXR0cnNbTkJEX0FUVFJfU0laRV9CWVRFU10pXG4gXHRcdGJ5dGVzID0gbmxhX2dldF91NjQoaW5mby1cdTAwM2VhdHRyc1tOQkRfQVRUUl9TSVpFX0JZVEVTXSk7XG4gXG4tXHRpZiAoaW5mby1cdTAwM2VhdHRyc1tOQkRfQVRUUl9CTE9DS19TSVpFX0JZVEVTXSlcbitcdGlmIChpbmZvLVx1MDAzZWF0dHJzW05CRF9BVFRSX0JMT0NLX1NJWkVfQllURVNdKSB7XG4gXHRcdGJzaXplID0gbmxhX2dldF91NjQoaW5mby1cdTAwM2VhdHRyc1tOQkRfQVRUUl9CTE9DS19TSVpFX0JZVEVTXSk7XG4rXHRcdGlmICghYnNpemUpXG4rXHRcdFx0YnNpemUgPSAxdSBcdTAwM2NcdTAwM2MgTkJEX0RFRl9CTEtTSVpFX0JJVFM7XG4rXHRcdGlmIChibGtfdmFsaWRhdGVfYmxvY2tfc2l6ZShic2l6ZSkpXG4rXHRcdFx0cmV0dXJuIC1FSU5WQUw7XG4rXHR9XG4gXG4tXHRpZiAoYnl0ZXMgIT0gY29uZmlnLVx1MDAzZWJ5dGVzaXplIHx8IGJzaXplICE9IG5iZF9ibGtzaXplKGNvbmZpZykpXG4tXHRcdHJldHVybiBuYmRfc2V0X3NpemUobmJkLCBieXRlcywgYnNpemUpO1xuK1x0aWYgKGJ5dGVzICE9IGNvbmZpZy1cdTAwM2VieXRlc2l6ZSB8fCBic2l6ZSAhPSBuYmRfYmxrc2l6ZShjb25maWcpKSB7XG4rXHRcdGlmIChic2l6ZSAhPSBuYmRfYmxrc2l6ZShjb25maWcpKVxuK1x0XHRcdHJldHVybiBuYmRfc2V0X3NpemUobmJkLCBieXRlcywgYnNpemUpO1xuK1x0XHRyZXR1cm4gbmJkX3NpemVfc2V0KG5iZCwgYnl0ZXMpO1xuK1x0fVxuIFx0cmV0dXJuIDA7XG4gfVxuIFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjBUMjE6MDU6NTEuODczMDYwMDM0WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTAwODA5NjUxMTgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBOQkQgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciBgZHJpdmVycy9ibG9jay9uYmQuY2AuIEl0J3MgdG91Y2hpbmcgYSBmZXcga2V5IGZ1bmN0aW9uczogYG5iZF9zaXplX3VwZGF0ZSgpYCwgYG5iZF9zaXplX3NldCgpYCwgYW5kIG1vZGlmeWluZyBgbmJkX3NldF9zaXplKClgIGFuZCBgbmJkX2dlbmxfc2l6ZV9zZXQoKWAuIFRoZSBpbmNsdXNpb24gb2YgYG5iZF90b3RhbF9kZXZpY2VzLS07YCB3aXRoaW4gYG5iZF9kZXZfcmVtb3ZlKClgIGltbWVkaWF0ZWx5IGp1bXBzIG91dCBhdCBtZSDigJMgdGhhdCdzIGEgY2xhc3NpYyBkZXZpY2UgbGVhayBidWcgZml4LiAgR29vZCBjYXRjaCwgdGhvdWdoIEkgbmVlZCB0byBjb25maXJtIHRoZSB1bmRlcmx5aW5nIGlzc3VlLlxuXG5MZXQncyBkaXZlIGludG8gdGhlIGNoYW5nZXMgaW4gYG5iZF9nZW5sX3NpemVfc2V0KClgLiBJdCBsb29rcyBsaWtlIHdlJ3JlIGhhcmRlbmluZyB0aGUgYmxvY2sgc2l6ZSBoYW5kbGluZy4gVGhlIGNvZGUgbm93IGV4cGxpY2l0bHkgY2hlY2tzIGZvciBhIHplcm8gYGJzaXplYCBhZnRlciByZXRyaWV2aW5nIGl0IGZyb20gdGhlIE5ldGxpbmsgYXR0cmlidXRlLCBhbmQgaWYgaXQgaXMgemVybywgaXQgZGVmYXVsdHMgaXQgdG8gYDF1IFx1MDAzY1x1MDAzYyBOQkRfREVGX0JMS1NJWkVfQklUU2AuIFRoZSBjb2RlIGFsc28gaW5jbHVkZXMgYGJsa192YWxpZGF0ZV9ibG9ja19zaXplKClgIHdoaWNoIGlzIHNtYXJ0LCBwcmV2ZW50aW5nIHBvdGVudGlhbCBpc3N1ZXMgd2l0aCBpbnZhbGlkIGJsb2NrIHNpemVzLiBGaW5hbGx5IGl0IGJyYW5jaGVzIHRvIGVpdGhlciBgbmJkX3NldF9zaXplYCBvciBgbmJkX3NpemVfc2V0YCBkZXBlbmRpbmcgb24gd2hhdCBuZWVkcyB0byBiZSBjaGFuZ2VkLCBhbmQgaWYgdGhlIGJsb2NrIHNpemUgbmVlZHMgdG8gYmUgYWRqdXN0ZWQuXG5cblNpbmNlIHRoaXMgaXMgcmVhY2hhYmxlIHRocm91Z2ggTmV0bGluaywgc3BlY2lmaWNhbGx5IGBuYmRfZ2VubF9zaXplX3NldGAsIHRoYXQgbWFrZXMgaXQgaW50ZXJlc3RpbmcgZm9yIHJlbW90ZSBleHBsb2l0YXRpb24gaWYgdGhlcmUgYXJlIGFueSBzdWJ0bGUgZmxhd3MuIEkgbmVlZCB0byBrZWVwIHRoYXQgaW4gbWluZC4gSSBzaG91bGQgY2hlY2sgdGhlIE5CRCBjb25maWd1cmF0aW9uIHRvIGVuc3VyZSB0aGlzIGlzIGFjdHVhbGx5IHVzZWQsIHNvIEknbGwgc2VlIGlmIGBDT05GSUdfQkxLX0RFVl9OQkRgIGlzIGVuYWJsZWQuIFRoZW4sIEkgc2hvdWxkIGRvIGEgcXVpY2sgZ3JlcCB0byBtYWtlIHN1cmUgdGhpcyBjb2RlIHBhdGggaXMgYWN0dWFsbHkgcmVhY2hhYmxlIHdpdGhpbiB0aGUga2VybmVsLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNzM2LCJPdXRwdXRUb2tlbnMiOjM3LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NDQ4LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjBUMjE6MDY6MDEuOTU0MDI3NzgxWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjY5NDA5ODU4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIm5iZF9nZW5sX3NpemVfc2V0XCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvYmxvY2svbmJkLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9ibG9jay9uYmQuYz0yMDcwPW5iZF9kZXZpY2VfcG9saWN5W05CRF9ERVZJQ0VfQVRUUl9NQVggKyAxXSA9IHtcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjA3NC1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjIwNzU6c3RhdGljIGludCBuYmRfZ2VubF9zaXplX3NldChzdHJ1Y3QgZ2VubF9pbmZvICppbmZvLCBzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjA3Ni17XFxuLS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jPTIxMDA9c3RhdGljIGludCBuYmRfZ2VubF9jb25uZWN0KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pXFxuLS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTIxNzgtXFx0c2V0X2JpdChOQkRfUlRfQk9VTkQsIFxcdTAwMjZjb25maWctXFx1MDAzZXJ1bnRpbWVfZmxhZ3MpO1xcbmRyaXZlcnMvYmxvY2svbmJkLmM6MjE3OTpcXHRyZXQgPSBuYmRfZ2VubF9zaXplX3NldChpbmZvLCBuYmQpO1xcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjE4MC1cXHRpZiAocmV0KVxcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYz0yMzM3PXN0YXRpYyBpbnQgbmJkX2dlbmxfcmVjb25maWd1cmUoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjM5OS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjI0MDA6XFx0cmV0ID0gbmJkX2dlbmxfc2l6ZV9zZXQoaW5mbywgbmJkKTtcXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTI0MDEtXFx0aWYgKHJldClcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjBUMjE6MDY6MDIuMDIzNDQ0NDhaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozNDkyNzQzNDEyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBsZXQncyBicmVhayB0aGlzIGRvd24uXG5cbioqUmVhY2hpbmcgZm9yIHRoZSBDb25maWd1cmF0aW9uKipcblxuSG1tLCBJIHNlZSB0aGVzZSBmdW5jdGlvbnMgYXJlIGFsbCByZWFjaGFibGU6IGBuYmRfZ2VubF9zaXplX3NldGAsIGBuYmRfc2V0X3NpemVgLCBgbmJkX3NpemVfc2V0YCwgYW5kIGBuYmRfc2l6ZV91cGRhdGVgLiBUaGV5J3JlIGFsbCBzaXR0aW5nIHRoZXJlLCByZWFkeSB0byBiZSBjYWxsZWQuIEFuZCB0aGUgY29udGV4dCB0ZWxscyBtZSB3ZSdyZSBkZWFsaW5nIHdpdGggdGhlIGBCTEtfREVWX05CRGAgY29uZmlnLiBNeSBpbml0aWFsIHRob3VnaHQgaXMsIFwiT2theSwgdGhhdCdzIGludGVyZXN0aW5nLFwiIGJ1dCBub3cgbXkgbWluZCBpcyBzdGFydGluZyB0byByYWNlLlxuXG5HaXZlbiB0aGlzLCBJIG11c3QgYmUgc3VyZSB0aGF0IHRoaXMgYEJMS19ERVZfTkJEYCBjb25maWcgaXMgdGhlIG9ubHkgb25lIGluIHRoZSBtaXguIExldCdzIG1ha2Ugc3VyZSBub3RoaW5nIGVsc2UgaXMgaW50ZXJmZXJpbmcgb3IgaW4gcGxheSBoZXJlLiBJIHdhbnQgdG8gY2hlY2sgZm9yIGFueSBvdGhlciByZWxldmFudCBjb25maWd1cmF0aW9ucyB0aGF0IG1pZ2h0IGJlIGluIHNjb3BlLiBJIG5lZWQgdG8gZW5zdXJlIHRoaXMgaXMgdGhlIHNpbmd1bGFyIGRyaXZpbmcgZm9yY2UgYmVoaW5kIHRoZXNlIGNhbGxzLiBJIG5lZWQgdG8gYmUgKmNlcnRhaW4qIHRoYXQgdGhpcyBpcyB0aGUgb25seSByZWxldmFudCBjb25maWcuIEkgbmVlZCB0byBlc3RhYmxpc2ggYSBiYXNlbGluZSBvZiBjb250cm9sLiBUaGlzIGlzIHRoZSBmaXJzdCBxdWVzdGlvbiBJIG5lZWQgdG8gYWRkcmVzcy5cblxuXG4iLCJJbnB1dFRva2VucyI6Mzk2MSwiT3V0cHV0VG9rZW5zIjozNCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjcyLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIwVDIxOjA2OjA1LjUxNjE5MDU2M1oiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyNjcxMTMzMjUsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIEJMS19ERVZfTkJEXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvYmxvY2svS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL2Jsb2NrL0tjb25maWc9MTk0PXNvdXJjZSBcXFwiZHJpdmVycy9ibG9jay9kcmJkL0tjb25maWdcXFwiXFxuZHJpdmVycy9ibG9jay9LY29uZmlnLTE5NS1cXG5kcml2ZXJzL2Jsb2NrL0tjb25maWc6MTk2OmNvbmZpZyBCTEtfREVWX05CRFxcbmRyaXZlcnMvYmxvY2svS2NvbmZpZy0xOTctXFx0dHJpc3RhdGUgXFxcIk5ldHdvcmsgYmxvY2sgZGV2aWNlIHN1cHBvcnRcXFwiXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIwVDIxOjA2OjA1Ljc4MzMwOTE2N1oiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQ5NTM4NTA3ODQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBOQkQgQ29uZmlndXJhdGlvbiBGaXgqKlxuXG5Pa2F5LCBzbyBJJ20gcHJldHR5IHN1cmUgYEJMS19ERVZfTkJEYCBpcyB0aGUgcmVsZXZhbnQgY29uZmlnIGhlcmUuIExldCBtZSBkZWx2ZSBpbnRvIHRoZSBzcGVjaWZpY3Mgb2YgdGhpcyBwYXRjaC4gTXkgbWFpbiBmb2N1cyBub3cgbmVlZHMgdG8gYmUgb24gYG5iZF9nZW5sX3NpemVfc2V0YCwgYG5iZF9nZW5sX3JlY29uZmlndXJlYCwgYW5kIGBuYmRfZ2VubF9jb25uZWN0YC5cblxuUmlnaHQsIHRoZSBwYXRjaCBpcyBhZGRyZXNzaW5nIGFuIGlzc3VlIGluIGBuYmRfZ2VubF9zaXplX3NldGAuIEl0IHNlZW1zIGxpa2UgdGhlIG9yaWdpbmFsIGltcGxlbWVudGF0aW9uIHdhcyB0cmlnZ2VyaW5nIGEgZnVsbCBgbmJkX3NldF9zaXplYCBvcGVyYXRpb24gZXZlbiB3aGVuIG9ubHkgdGhlIGBieXRlc2l6ZWAgaGFkIGJlZW4gYWx0ZXJlZC4gVGhhdCdzIGluZWZmaWNpZW50LCBhbmQgcG90ZW50aWFsbHkgcHJvYmxlbWF0aWMsIGJlY2F1c2UgYG5iZF9zZXRfc2l6ZWAgZnJlZXplcyB0aGUgcXVldWUgYW5kIHVwZGF0ZXMgbGltaXRzLiBJIGNhbiBzZWUgd2h5IHRoYXQncyBiZWluZyBmbGFnZ2VkLiBUaGUgc29sdXRpb24/IEludHJvZHVjZSBgbmJkX3NpemVfc2V0YCwgd2hpY2ggbG9va3MgbGlrZSBpdCBqdXN0IHVwZGF0ZXMgdGhlIGNhcGFjaXR5IGRpcmVjdGx5LCBzaWRlLXN0ZXBwaW5nIHRoZSBtb3JlIGhlYXZ5LWhhbmRlZCBvcGVyYXRpb25zLiBTbWFydC4gQW5kIEkgc2VlIHRoZXkndmUgYWxzbyBpbmNsdWRlZCB2YWxpZGF0aW9uIGZvciBgYnNpemVgIHdoaWNoIGlzIGFsd2F5cyBhIGdvb2QgcHJhY3RpY2UuXG5cblNvLCBsZXQncyBrZWVwIHRob3NlIHN5bWJvbHMgaW4gc2hhcnAgZm9jdXM6IGBuYmRfZ2VubF9zaXplX3NldGAsIGBuYmRfc2l6ZV9zZXRgLCBgbmJkX3NpemVfdXBkYXRlYCwgYG5iZF9nZW5sX2Nvbm5lY3RgLCBhbmQgYG5iZF9nZW5sX3JlY29uZmlndXJlYC5cblxuV2FpdCBhIG1pbnV0ZSwgaXQgbG9va3MgbGlrZSBgbmJkX2Rldl9yZW1vdmVgIGhhcyBhbHNvIGJlZW4gbW9kaWZpZWQuIEkgbmVlZCB0byB1bmRlcnN0YW5kIHRoYXQgY2hhbmdlIHRvby4gYG5iZF9kZXZfcmVtb3ZlYCBnZXRzIGNhbGxlZCBmcm9tIGBuYmRfZGV2X3JlbW92ZV93b3JrYCBhbmQgYG5iZF9jbGVhbnVwYCwgc28gdGhlcmUncyBhIHdpZGVyIGltcGFjdCB0aGFuIEkgaW5pdGlhbGx5IHRob3VnaHQuIEkgc2hvdWxkIHRha2UgYSBjbG9zZXIgbG9vayBhdCB0aGF0IGZ1bmN0aW9uLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0MzgxLCJPdXRwdXRUb2tlbnMiOjM0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjUzLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIwVDIxOjA2OjEwLjczNzE2MzA0MVoiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo5NTY3MjQ4OSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJuYmRfZGV2X3JlbW92ZVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL2Jsb2NrL25iZC5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvYmxvY2svbmJkLmM9MjU5PXN0YXRpYyBjb25zdCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSBiYWNrZW5kX2F0dHIgPSB7XFxuLS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTI2My1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjI2NDpzdGF0aWMgdm9pZCBuYmRfZGV2X3JlbW92ZShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjY1LXtcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjgyLVxcbmRyaXZlcnMvYmxvY2svbmJkLmM6MjgzOnN0YXRpYyB2b2lkIG5iZF9kZXZfcmVtb3ZlX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjg0LXtcXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjI4NTpcXHRuYmRfZGV2X3JlbW92ZShjb250YWluZXJfb2Yod29yaywgc3RydWN0IG5iZF9kZXZpY2UsIHJlbW92ZV93b3JrKSk7XFxuZHJpdmVycy9ibG9jay9uYmQuYy0yODYtfVxcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYz0yODg9c3RhdGljIHZvaWQgbmJkX3B1dChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYy0yOTYtXFx0ZWxzZVxcbmRyaXZlcnMvYmxvY2svbmJkLmM6Mjk3OlxcdFxcdG5iZF9kZXZfcmVtb3ZlKG5iZCk7XFxuZHJpdmVycy9ibG9jay9uYmQuYy0yOTgtfVxcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYz0xOTI2PXN0YXRpYyBzdHJ1Y3QgbmJkX2RldmljZSAqbmJkX2Rldl9hZGQoaW50IGluZGV4LCB1bnNpZ25lZCBpbnQgcmVmcylcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtMTk0OC1cXHRuYmQtXFx1MDAzZXRhZ19zZXQuZHJpdmVyX2RhdGEgPSBuYmQ7XFxuZHJpdmVycy9ibG9jay9uYmQuYzoxOTQ5OlxcdElOSVRfV09SSyhcXHUwMDI2bmJkLVxcdTAwM2VyZW1vdmVfd29yaywgbmJkX2Rldl9yZW1vdmVfd29yayk7XFxuZHJpdmVycy9ibG9jay9uYmQuYy0xOTUwLVxcdG5iZC1cXHUwMDNlYmFja2VuZCA9IE5VTEw7XFxuLS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jPTI3MzU9c3RhdGljIHZvaWQgX19leGl0IG5iZF9jbGVhbnVwKHZvaWQpXFxuLS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTI3NjItXFxuZHJpdmVycy9ibG9jay9uYmQuYzoyNzYzOlxcdC8qIEFsc28gd2FpdCBmb3IgbmJkX2Rldl9yZW1vdmVfd29yaygpIGNvbXBsZXRlcyAqL1xcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjc2NC1cXHRkZXN0cm95X3dvcmtxdWV1ZShuYmRfZGVsX3dxKTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjBUMjE6MDY6MTAuODMyODQxOTRaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo5OTYwMjkyNDc2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZ1enppbmcgU3RyYXRlZ3kgZm9yIE5ldHdvcmsgQmxvY2sgRGV2aWNlIChOQkQpIERyaXZlcioqXG5cbk9rYXksIGxldCdzIGJyZWFrIHRoaXMgZG93bi4gTXkgYW5hbHlzaXMgaW5kaWNhdGVzIGEgZm9jdXMgb24gdGhlIE5ldHdvcmsgQmxvY2sgRGV2aWNlIChOQkQpIGRyaXZlci4gVGhlIGtleSBoZXJlIGlzIHRvIGlkZW50aWZ5IHRoZSBtb3N0IGltcGFjdGZ1bCBjaGFuZ2VzIGZvciBmdXp6aW5nLiBgbmJkX2Rldl9yZW1vdmVgIGltbWVkaWF0ZWx5IGNhdWdodCBteSBleWUsIGFuZCBpdCBzZWVtcyB0aGlzIHBhdGNoIGFkZHJlc3NlcyBhIHBvdGVudGlhbCBkZXZpY2UgbGVhay4gQWRkaW5nIHRoZSBkZWNyZW1lbnQgb2YgYG5iZF90b3RhbF9kZXZpY2VzYCBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlLlxuXG5JIGNoZWNrZWQgZm9yIG90aGVyIHJlbGV2YW50IGNvbmZpZ3VyYXRpb25zLCBhbmQgaXQgbG9va3MgbGlrZSBgQkxLX0RFVl9OQkRgIGlzIHRoZSBvbmx5IG9uZSB3ZSBuZWVkIHRvIGNvbnNpZGVyLlxuXG5Ob3csIGxldCdzIGRlbHZlIGRlZXBlciBpbnRvIHRoZSBjb2RlIGNoYW5nZXMuIEknbSBzZWVpbmcgdGhlIGludHJvZHVjdGlvbiBvZiBgbmJkX3NpemVfdXBkYXRlYCBhbmQgYG5iZF9zaXplX3NldGAsIHdoaWNoIHN0cm9uZ2x5IHN1Z2dlc3RzIGEgcmVmYWN0b3JpbmcgZWZmb3J0IHJlbGF0ZWQgdG8gc2l6ZSBhZGp1c3RtZW50cy4gYG5iZF9zZXRfc2l6ZWAgaXMgbm93IGNhbGxpbmcgYG5iZF9zaXplX3VwZGF0ZWAuIFRoZSBgbmJkX2dlbmxfc2l6ZV9zZXRgIGZ1bmN0aW9uIGhhcyBiZWVuIG1vZGlmaWVkLCBsaWtlbHkgdG8gdmFsaWRhdGUgYmxvY2sgc2l6ZXMgYW5kIHBvdGVudGlhbGx5IG9wdGltaXplIHNpemUgdXBkYXRlcyBieSBpbnRyb2R1Y2luZyBgbmJkX3NpemVfc2V0YCBhbmQgYG5iZF9zaXplX3VwZGF0ZWAsIGF2b2lkaW5nIGZ1bGwgcXVldWUgZnJlZXppbmcgd2hlbiBvbmx5IHRoZSBieXRlIHNpemUgY2hhbmdlcy4gVGhpcyBmdW5jdGlvbidzIGNoYW5nZXMgYXJlIGZ1bmN0aW9uYWwuXG5cblNvLCB0aGUgY3JpdGljYWwgZnVuY3Rpb25zIHRvIHRhcmdldCBhcmU6IGBuYmRfZ2VubF9zaXplX3NldGAsIGBuYmRfc2l6ZV9zZXRgLCBgbmJkX3NpemVfdXBkYXRlYCwgYG5iZF9zZXRfc2l6ZWAgYW5kIG9mIGNvdXJzZSwgYG5iZF9kZXZfcmVtb3ZlYC4gVGhlc2UgcmVwcmVzZW50IHRoZSBlbnRyeSBwb2ludHMgYW5kIHRoZSBjcnVjaWFsIGFyZWFzIG9mIG1vZGlmaWNhdGlvbi5cblxuR2l2ZW4gdGhlc2UgY2hhbmdlcyBhcmUgcmVhY2hhYmxlIHZpYSBuZXRsaW5rIGNvbmZpZ3VyYXRpb24gY29tbWFuZHMgYW5kIGRldmljZSByZW1vdmFsIHBhdGhzLCBpdCdzIGEgZ29vZCBjYW5kaWRhdGUgZm9yIGZ1enppbmcuIEknbGwgZmxhZyBpdCBhcyBgV29ydGhGdXp6aW5nPXRydWVgLlxuXG5cbiIsIklucHV0VG9rZW5zIjo1NTY1LCJPdXRwdXRUb2tlbnMiOjIwMCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjg2MSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0yMFQyMTowNjoyMC43OTMxMzY0MzZaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNzQ5MzY0NTYsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJMS19ERVZfTkJEXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwibmJkX2dlbmxfc2l6ZV9zZXRcIixcbiAgICBcIm5iZF9zaXplX3NldFwiLFxuICAgIFwibmJkX3NpemVfdXBkYXRlXCIsXG4gICAgXCJuYmRfc2V0X3NpemVcIixcbiAgICBcIm5iZF9kZXZfcmVtb3ZlXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggaW50cm9kdWNlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIE5CRCAoTmV0d29yayBCbG9jayBEZXZpY2UpIGRyaXZlci4gSXQgZml4ZXMgYSBkZXZpY2UgbGVhayBpbiBgbmJkX2Rldl9yZW1vdmVgIGJ5IGRlY3JlbWVudGluZyBgbmJkX3RvdGFsX2RldmljZXNgLiBJdCBhbHNvIG1vZGlmaWVzIGBuYmRfZ2VubF9zaXplX3NldGAgdG8gdmFsaWRhdGUgYmxvY2sgc2l6ZXMgYW5kIG9wdGltaXplIHNpemUgdXBkYXRlcyBieSBpbnRyb2R1Y2luZyBgbmJkX3NpemVfc2V0YCBhbmQgYG5iZF9zaXplX3VwZGF0ZWAsIGF2b2lkaW5nIGZ1bGwgcXVldWUgZnJlZXppbmcgd2hlbiBvbmx5IHRoZSBieXRlIHNpemUgY2hhbmdlcy4gVGhlc2UgY2hhbmdlcyBhcmUgcmVhY2hhYmxlIHZpYSBuZXRsaW5rIGNvbmZpZ3VyYXRpb24gY29tbWFuZHMgYW5kIGRldmljZSByZW1vdmFsIHBhdGhzLCBtYWtpbmcgdGhlbSBzdWl0YWJsZSBmb3IgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJCTEtfREVWX05CRFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm5iZF9nZW5sX3NpemVfc2V0XCIsXG4gICAgXCJuYmRfc2l6ZV9zZXRcIixcbiAgICBcIm5iZF9zaXplX3VwZGF0ZVwiLFxuICAgIFwibmJkX3NldF9zaXplXCIsXG4gICAgXCJuYmRfZGV2X3JlbW92ZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGludHJvZHVjZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBOQkQgKE5ldHdvcmsgQmxvY2sgRGV2aWNlKSBkcml2ZXIuIEl0IGZpeGVzIGEgZGV2aWNlIGxlYWsgaW4gYG5iZF9kZXZfcmVtb3ZlYCBieSBkZWNyZW1lbnRpbmcgYG5iZF90b3RhbF9kZXZpY2VzYC4gSXQgYWxzbyBtb2RpZmllcyBgbmJkX2dlbmxfc2l6ZV9zZXRgIHRvIHZhbGlkYXRlIGJsb2NrIHNpemVzIGFuZCBvcHRpbWl6ZSBzaXplIHVwZGF0ZXMgYnkgaW50cm9kdWNpbmcgYG5iZF9zaXplX3NldGAgYW5kIGBuYmRfc2l6ZV91cGRhdGVgLCBhdm9pZGluZyBmdWxsIHF1ZXVlIGZyZWV6aW5nIHdoZW4gb25seSB0aGUgYnl0ZSBzaXplIGNoYW5nZXMuIFRoZXNlIGNoYW5nZXMgYXJlIHJlYWNoYWJsZSB2aWEgbmV0bGluayBjb25maWd1cmF0aW9uIGNvbW1hbmRzIGFuZCBkZXZpY2UgcmVtb3ZhbCBwYXRocywgbWFraW5nIHRoZW0gc3VpdGFibGUgZm9yIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowkpvc7[1] Phase: Succeeded StartedAt: 2026-07-20 21:06:32 +0000 UTC FinishedAt: 2026-07-20 21:06:32 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkpvc7[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-20 21:06:32 +0000 UTC FinishedAt: 2026-07-20 21:06:32 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkpvc7[2] Phase: Succeeded StartedAt: 2026-07-20 21:06:32 +0000 UTC FinishedAt: 2026-07-21 01:11:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-20 21:06:32 +0000 UTC FinishedAt: 2026-07-21 01:11:13 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-20 21:06:32 +0000 UTC FinishedAt: 2026-07-20 21:06:43 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-20 21:06:32 +0000 UTC FinishedAt: 2026-07-20 21:06:40 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowkpvc7/series-workflowkpvc7-convert-artifact-3508223021/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-20 21:06:43 +0000 UTC FinishedAt: 2026-07-20 21:30:09 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-20 21:06:43 +0000 UTC FinishedAt: 2026-07-20 21:30:09 +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:*f8209140-ca94-4197-a2ff-05f70d2b6cca,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-workflowkpvc7/series-workflowkpvc7-convert-artifact-3508223021/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": "e4cabd16-a0e4-4a27-a4f5-fe93fa8417ba", "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-workflowkpvc7/series-workflowkpvc7-build-action-2635692067/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-07-20 21:06:43 +0000 UTC FinishedAt: 2026-07-20 21:29:59 +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:*f8209140-ca94-4197-a2ff-05f70d2b6cca,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-workflowkpvc7/series-workflowkpvc7-convert-artifact-3508223021/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": "e4cabd16-a0e4-4a27-a4f5-fe93fa8417ba", "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-workflowkpvc7/series-workflowkpvc7-build-action-2635692067/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-20 21:30:09 +0000 UTC FinishedAt: 2026-07-20 21:30:09 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-20 21:30:09 +0000 UTC FinishedAt: 2026-07-20 21:30:09 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-20 21:30:09 +0000 UTC FinishedAt: 2026-07-20 21:30:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-20 21:30:09 +0000 UTC FinishedAt: 2026-07-20 21:30:14 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowkpvc7/series-workflowkpvc7-convert-artifact-1497576840/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-20 21:30:19 +0000 UTC FinishedAt: 2026-07-20 21:32:57 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-20 21:30:19 +0000 UTC FinishedAt: 2026-07-20 21:32:47 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*e4cabd16-a0e4-4a27-a4f5-fe93fa8417ba,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-workflowkpvc7/series-workflowkpvc7-build-action-2635692067/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-20 21:32:57 +0000 UTC FinishedAt: 2026-07-20 21:32:57 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-20 21:32:57 +0000 UTC FinishedAt: 2026-07-20 21:32:57 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-20 21:32:57 +0000 UTC FinishedAt: 2026-07-20 22:01:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-20 21:32:57 +0000 UTC FinishedAt: 2026-07-20 22:01:38 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*f8209140-ca94-4197-a2ff-05f70d2b6cca,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-workflowkpvc7/series-workflowkpvc7-convert-artifact-1497576840/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": "c1e3be5a-8af6-4044-bfee-2aec0a030c6f", "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-workflowkpvc7/series-workflowkpvc7-build-action-1209784628/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-20 21:32:57 +0000 UTC FinishedAt: 2026-07-20 22:00:29 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*f8209140-ca94-4197-a2ff-05f70d2b6cca,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-workflowkpvc7/series-workflowkpvc7-convert-artifact-1497576840/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": "c1e3be5a-8af6-4044-bfee-2aec0a030c6f", "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-workflowkpvc7/series-workflowkpvc7-build-action-1209784628/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-20 22:01:38 +0000 UTC FinishedAt: 2026-07-20 22:01:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-20 22:01:38 +0000 UTC FinishedAt: 2026-07-20 22:01:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-20 22:01:38 +0000 UTC FinishedAt: 2026-07-20 22:03:53 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-20 22:01:38 +0000 UTC FinishedAt: 2026-07-20 22:03:43 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*c1e3be5a-8af6-4044-bfee-2aec0a030c6f,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Boot test: Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:report-findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/base,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowkpvc7/series-workflowkpvc7-build-action-1209784628/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-20 22:03:53 +0000 UTC FinishedAt: 2026-07-21 01:11:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-20 22:03:53 +0000 UTC FinishedAt: 2026-07-21 01:11:13 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:config,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:track,Default:nil,Value:*KASAN,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:base-build-id,Default:nil,Value:*e4cabd16-a0e4-4a27-a4f5-fe93fa8417ba,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*c1e3be5a-8af6-4044-bfee-2aec0a030c6f,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:base-kernel,Path:,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowkpvc7/series-workflowkpvc7-build-action-2635692067/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},Artifact{Name:patched-kernel,Path:,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowkpvc7/series-workflowkpvc7-build-action-1209784628/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-20 22:03:53 +0000 UTC FinishedAt: 2026-07-20 22:04:15 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-20 22:03:53 +0000 UTC FinishedAt: 2026-07-20 22:04:02 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowkpvc7/series-workflowkpvc7-convert-artifact-2152780353/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-20 22:03:53 +0000 UTC FinishedAt: 2026-07-20 22:03:53 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-20 22:03:53 +0000 UTC FinishedAt: 2026-07-20 22:03:53 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-20 22:03:53 +0000 UTC FinishedAt: 2026-07-20 22:03:53 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-20 22:04:15 +0000 UTC FinishedAt: 2026-07-21 01:11:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkpvc7[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["nbd_genl_size_set","nbd_size_set","nbd_size_update","nbd_set_size","nbd_dev_remove"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"8cd9520d35a6c38db6567e97dd93b1f11f185dc6","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"409945b0-159c-4d52-ae37-bc7c04383918","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-20 22:04:15 +0000 UTC FinishedAt: 2026-07-21 01:10:58 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*e4cabd16-a0e4-4a27-a4f5-fe93fa8417ba,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*c1e3be5a-8af6-4044-bfee-2aec0a030c6f,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Fuzz,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:base-kernel,Path:/base,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowkpvc7/series-workflowkpvc7-build-action-2635692067/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},Artifact{Name:patched-kernel,Path:/patched,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowkpvc7/series-workflowkpvc7-build-action-1209784628/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},Artifact{Name:config,Path:/tmp/config.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowkpvc7/series-workflowkpvc7-convert-artifact-2152780353/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,}