Name: series-workflowljf8x Phase: Succeeded StartedAt: 2026-08-02 22:45:15 +0000 UTC FinishedAt: 2026-08-03 02:43:33 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljf8x[0] Phase: Succeeded StartedAt: 2026-08-02 22:45:15 +0000 UTC FinishedAt: 2026-08-02 22:48:04 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljf8x[0].run-triage Phase: Succeeded StartedAt: 2026-08-02 22:45:15 +0000 UTC FinishedAt: 2026-08-02 22:48:04 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "axboe", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git", "commit_hash": "f5098b6bae761e346ebcd9da7f95622c04733cff", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "MAC80211", "MAC80211_HWSIM", "CFG80211" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "axboe", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git", "commit_hash": "f5098b6bae761e346ebcd9da7f95622c04733cff", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "MAC80211", "MAC80211_HWSIM", "CFG80211" ], "series_id": "132b80ac-3725-4bf3-b3e6-e2e1845b3bf7" }, "track": "KASAN", "fuzz": { "focus": null, "focus_symbols": [ "ieee80211_tdls_peer_del_work", "ieee80211_tdls_oper" ], "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+CgkJCTx0ZD4yMDI2LzA4LzAyIDIyOjQ3PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O01BQzgwMjExJiMzNDssCiAgICAmIzM0O01BQzgwMjExX0hXU0lNJiMzNDssCiAgICAmIzM0O0NGRzgwMjExJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7aWVlZTgwMjExX3RkbHNfcGVlcl9kZWxfd29yayYjMzQ7LAogICAgJiMzNDtpZWVlODAyMTFfdGRsc19vcGVyJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSB0ZWFyZG93biBhbmQgZGVsZXRpb24gbG9naWMgZm9yIFRETFMgKFR1bm5lbGVkIERpcmVjdCBMaW5rIFNldHVwKSBwZWVycyBpbiB0aGUgbWFjODAyMTEgc3Vic3lzdGVtLiBJdCBmaXhlcyBhIHBvdGVudGlhbCBpc3N1ZSB3aGVyZSBhIG5vbi1URExTIHN0YXRpb24gY291bGQgYmUgZGVzdHJveWVkIGJ5IHZlcmlmeWluZyB0aGUgc3RhdGlvbiB0eXBlIGJlZm9yZSBjYWxsaW5nIGBfX3N0YV9pbmZvX2Rlc3Ryb3lgLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gcmVhY2hhYmxlIGNvcmUgd2lyZWxlc3MgbG9naWMgdGhhdCBjYW4gYmUgdHJpZ2dlcmVkIHZpYSBubDgwMjExIG5ldGxpbmsgY29tbWFuZHMgYW5kIHRlc3RlZCB1c2luZyB0aGUgbWFjODAyMTFfaHdzaW0gZHJpdmVyLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAyIDIyOjQ3PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgMDk3MjAzMjQyNDRlODYxYWQzYWJmMGQ4NmQ4Y2MxNmQ3YTMwOWYwYlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBTdW4gQXVnIDIgMjI6NDc6MjEgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvbmV0L21hYzgwMjExL3RkbHMuYyBiL25ldC9tYWM4MDIxMS90ZGxzLmNcbmluZGV4IGZmZDU3NWE4ZDE4OGYuLjI0Mjk3NTUyZjVmY2YgMTAwNjQ0XG4tLS0gYS9uZXQvbWFjODAyMTEvdGRscy5jXG4mIzQzOyYjNDM7JiM0MzsgYi9uZXQvbWFjODAyMTEvdGRscy5jXG5AQCAtMzMsOCAmIzQzOzMzLDEyIEBAIHZvaWQgaWVlZTgwMjExX3RkbHNfcGVlcl9kZWxfd29yayhzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3Qgd2lwaHlfd29yayAqd2spXG4gXHRsb2NrZGVwX2Fzc2VydF93aXBoeShsb2NhbC1cdTAwM2Vody53aXBoeSk7XG4gXG4gXHRpZiAoIWlzX3plcm9fZXRoZXJfYWRkcihzZGF0YS1cdTAwM2V1Lm1nZC50ZGxzX3BlZXIpKSB7XG4mIzQzO1x0XHRzdHJ1Y3Qgc3RhX2luZm8gKnN0YTtcbiYjNDM7XG4gXHRcdHRkbHNfZGJnKHNkYXRhLCBcJiMzNDtURExTIGRlbCBwZWVyICVwTVxcblwmIzM0Oywgc2RhdGEtXHUwMDNldS5tZ2QudGRsc19wZWVyKTtcbi1cdFx0c3RhX2luZm9fZGVzdHJveV9hZGRyKHNkYXRhLCBzZGF0YS1cdTAwM2V1Lm1nZC50ZGxzX3BlZXIpO1xuJiM0MztcdFx0c3RhID0gc3RhX2luZm9fZ2V0KHNkYXRhLCBzZGF0YS1cdTAwM2V1Lm1nZC50ZGxzX3BlZXIpO1xuJiM0MztcdFx0aWYgKHN0YSBcdTAwMjZcdTAwMjYgc3RhLVx1MDAzZXN0YS50ZGxzKVxuJiM0MztcdFx0XHRfX3N0YV9pbmZvX2Rlc3Ryb3koc3RhKTtcbiBcdFx0ZXRoX3plcm9fYWRkcihzZGF0YS1cdTAwM2V1Lm1nZC50ZGxzX3BlZXIpO1xuIFx0fVxuIH1cbkBAIC0xNDYyLDYgJiM0MzsxNDY2LDEwIEBAIGludCBpZWVlODAyMTFfdGRsc19vcGVyKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4gXHRcdFx0ICAgICAhZXRoZXJfYWRkcl9lcXVhbChzZGF0YS1cdTAwM2V1Lm1nZC50ZGxzX3BlZXIsIHBlZXIpKTtcbiBcdFx0YnJlYWs7XG4gXHRjYXNlIE5MODAyMTFfVERMU19ESVNBQkxFX0xJTks6XG4mIzQzO1x0XHRzdGEgPSBzdGFfaW5mb19nZXQoc2RhdGEsIHBlZXIpO1xuJiM0MztcdFx0aWYgKCFzdGEgfHwgIXN0YS1cdTAwM2VzdGEudGRscylcbiYjNDM7XHRcdFx0cmV0dXJuIC1FTk9MSU5LO1xuJiM0MztcbiBcdFx0LypcbiBcdFx0ICogVGhlIHRlYXJkb3duIG1lc3NhZ2UgaW4gaWVlZTgwMjExX3RkbHNfbWdtdF90ZWFyZG93bigpIHdhc1xuIFx0XHQgKiBjcmVhdGVkIHdoaWxlIHRoZSBxdWV1ZXMgd2VyZSBzdG9wcGVkLCBzbyBpdCBtaWdodCBzdGlsbCBiZVxuQEAgLTE0NzYsNyAmIzQzOzE0ODQsNyBAQCBpbnQgaWVlZTgwMjExX3RkbHNfb3BlcihzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuIFx0XHQvKiBmbHVzaCBhIHBvdGVudGlhbGx5IHF1ZXVlZCB0ZWFyZG93biBwYWNrZXQgKi9cbiBcdFx0aWVlZTgwMjExX2ZsdXNoX3F1ZXVlcyhsb2NhbCwgc2RhdGEsIGZhbHNlKTtcbiBcbi1cdFx0cmV0ID0gc3RhX2luZm9fZGVzdHJveV9hZGRyKHNkYXRhLCBwZWVyKTtcbiYjNDM7XHRcdHJldCA9IF9fc3RhX2luZm9fZGVzdHJveShzdGEpO1xuIFxuIFx0XHRpZWU4MDIxMV90ZGxzX3JlY2FsY19odF9wcm90ZWN0aW9uKHNkYXRhLCBOVUxMKTtcbiBcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMiAyMjo0NzwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5iZXN0LWV4cGVuc2l2ZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7TUFDODAyMTEmIzM0OywKICAgICYjMzQ7TUFDODAyMTFfSFdTSU0mIzM0OywKICAgICYjMzQ7Q0ZHODAyMTEmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtpZWVlODAyMTFfdGRsc19wZWVyX2RlbF93b3JrJiMzNDssCiAgICAmIzM0O2llZWU4MDIxMV90ZGxzX29wZXImIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIHRlYXJkb3duIGFuZCBkZWxldGlvbiBsb2dpYyBmb3IgVERMUyAoVHVubmVsZWQgRGlyZWN0IExpbmsgU2V0dXApIHBlZXJzIGluIHRoZSBtYWM4MDIxMSBzdWJzeXN0ZW0uIEl0IGZpeGVzIGEgcG90ZW50aWFsIGlzc3VlIHdoZXJlIGEgbm9uLVRETFMgc3RhdGlvbiBjb3VsZCBiZSBkZXN0cm95ZWQgYnkgdmVyaWZ5aW5nIHRoZSBzdGF0aW9uIHR5cGUgYmVmb3JlIGNhbGxpbmcgYF9fc3RhX2luZm9fZGVzdHJveWAuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiByZWFjaGFibGUgY29yZSB3aXJlbGVzcyBsb2dpYyB0aGF0IGNhbiBiZSB0cmlnZ2VyZWQgdmlhIG5sODAyMTEgbmV0bGluayBjb21tYW5kcyBhbmQgdGVzdGVkIHVzaW5nIHRoZSBtYWM4MDIxMV9od3NpbSBkcml2ZXIuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsCiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuCi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSkKICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgogICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnMKICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIEFsc28gY2hlY2sgJiMzNDtkZXBlbmRzIG9uJiMzNDsgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzCiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncwogICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCAwOTcyMDMyNDI0NGU4NjFhZDNhYmYwZDg2ZDhjYzE2ZDdhMzA5ZjBiCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFN1biBBdWcgMiAyMjo0NzoyMSAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL25ldC9tYWM4MDIxMS90ZGxzLmMgYi9uZXQvbWFjODAyMTEvdGRscy5jCmluZGV4IGZmZDU3NWE4ZDE4OGYuLjI0Mjk3NTUyZjVmY2YgMTAwNjQ0Ci0tLSBhL25ldC9tYWM4MDIxMS90ZGxzLmMKJiM0MzsmIzQzOyYjNDM7IGIvbmV0L21hYzgwMjExL3RkbHMuYwpAQCAtMzMsOCAmIzQzOzMzLDEyIEBAIHZvaWQgaWVlZTgwMjExX3RkbHNfcGVlcl9kZWxfd29yayhzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3Qgd2lwaHlfd29yayAqd2spCiAJbG9ja2RlcF9hc3NlcnRfd2lwaHkobG9jYWwtJmd0O2h3LndpcGh5KTsKIAogCWlmICghaXNfemVyb19ldGhlcl9hZGRyKHNkYXRhLSZndDt1Lm1nZC50ZGxzX3BlZXIpKSB7CiYjNDM7CQlzdHJ1Y3Qgc3RhX2luZm8gKnN0YTsKJiM0MzsKIAkJdGRsc19kYmcoc2RhdGEsICYjMzQ7VERMUyBkZWwgcGVlciAlcE1cbiYjMzQ7LCBzZGF0YS0mZ3Q7dS5tZ2QudGRsc19wZWVyKTsKLQkJc3RhX2luZm9fZGVzdHJveV9hZGRyKHNkYXRhLCBzZGF0YS0mZ3Q7dS5tZ2QudGRsc19wZWVyKTsKJiM0MzsJCXN0YSA9IHN0YV9pbmZvX2dldChzZGF0YSwgc2RhdGEtJmd0O3UubWdkLnRkbHNfcGVlcik7CiYjNDM7CQlpZiAoc3RhICZhbXA7JmFtcDsgc3RhLSZndDtzdGEudGRscykKJiM0MzsJCQlfX3N0YV9pbmZvX2Rlc3Ryb3koc3RhKTsKIAkJZXRoX3plcm9fYWRkcihzZGF0YS0mZ3Q7dS5tZ2QudGRsc19wZWVyKTsKIAl9CiB9CkBAIC0xNDYyLDYgJiM0MzsxNDY2LDEwIEBAIGludCBpZWVlODAyMTFfdGRsc19vcGVyKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJCQkgICAgICFldGhlcl9hZGRyX2VxdWFsKHNkYXRhLSZndDt1Lm1nZC50ZGxzX3BlZXIsIHBlZXIpKTsKIAkJYnJlYWs7CiAJY2FzZSBOTDgwMjExX1RETFNfRElTQUJMRV9MSU5LOgomIzQzOwkJc3RhID0gc3RhX2luZm9fZ2V0KHNkYXRhLCBwZWVyKTsKJiM0MzsJCWlmICghc3RhIHx8ICFzdGEtJmd0O3N0YS50ZGxzKQomIzQzOwkJCXJldHVybiAtRU5PTElOSzsKJiM0MzsKIAkJLyoKIAkJICogVGhlIHRlYXJkb3duIG1lc3NhZ2UgaW4gaWVlZTgwMjExX3RkbHNfbWdtdF90ZWFyZG93bigpIHdhcwogCQkgKiBjcmVhdGVkIHdoaWxlIHRoZSBxdWV1ZXMgd2VyZSBzdG9wcGVkLCBzbyBpdCBtaWdodCBzdGlsbCBiZQpAQCAtMTQ3Niw3ICYjNDM7MTQ4NCw3IEBAIGludCBpZWVlODAyMTFfdGRsc19vcGVyKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJCS8qIGZsdXNoIGEgcG90ZW50aWFsbHkgcXVldWVkIHRlYXJkb3duIHBhY2tldCAqLwogCQlpZWVlODAyMTFfZmx1c2hfcXVldWVzKGxvY2FsLCBzZGF0YSwgZmFsc2UpOwogCi0JCXJldCA9IHN0YV9pbmZvX2Rlc3Ryb3lfYWRkcihzZGF0YSwgcGVlcik7CiYjNDM7CQlyZXQgPSBfX3N0YV9pbmZvX2Rlc3Ryb3koc3RhKTsKIAogCQlpZWU4MDIxMV90ZGxzX3JlY2FsY19odF9wcm90ZWN0aW9uKHNkYXRhLCBOVUxMKTsKIAo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMiAyMjo0NzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyNTI0CgkJCQkJCQlvdXRwdXQ6IDM4CgkJCQkJCQl0aG91Z2h0czogMjQ0CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIE1BQzgwMjExIFRETFMgUGF0Y2gqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggdGhhdCB0d2Vha3MgYG5ldC9tYWM4MDIxMS90ZGxzLmNgLiBUaGUgY29yZSBvZiB0aGUgY2hhbmdlIHJldm9sdmVzIGFyb3VuZCBob3cgc3RhdGlvbiBpbmZvcm1hdGlvbiBpcyBoYW5kbGVkLCBzcGVjaWZpY2FsbHkgd2l0aGluIHRoZSBURExTIGNvbnRleHQuIEl0IGxvb2tzIGxpa2UgdGhleSYjMzk7cmUgcmVwbGFjaW5nIHRoZSBkaXJlY3QgY2FsbCB0byBgc3RhX2luZm9fZGVzdHJveV9hZGRyYCB3aXRoIGEgbW9yZSBjYXV0aW91cyBhcHByb2FjaCwgdXNpbmcgYHN0YV9pbmZvX2dldGAgYW5kIGBfX3N0YV9pbmZvX2Rlc3Ryb3lgIGluc3RlYWQuIFRoZSBnb2FsIGhlcmUsIGFzIEkgdW5kZXJzdGFuZCBpdCwgaXMgdG8gdmVyaWZ5IHRoYXQgdGhlIHN0YXRpb24gaW4gcXVlc3Rpb24gaXMgKmFjdHVhbGx5KiBhIFRETFMgc3RhdGlvbiBieSBjaGVja2luZyBgc3RhLSZndDtzdGEudGRsc2AgYmVmb3JlIHByb2NlZWRpbmcgd2l0aCBkZXN0cnVjdGlvbi4gVGhpcyBpcyBhIHNvbGlkIG1vdmU7IGl0IGF2b2lkcyBwb3RlbnRpYWwgaXNzdWVzIHdpdGggYWNjaWRlbnRhbGx5IG9wZXJhdGluZyBvbiBub24tVERMUyBzdGF0aW9ucy4KCk5vdywgSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGltcGxpY2F0aW9ucyBiZXR0ZXIuIE15IGZvY3VzIG5lZWRzIHRvIGJlIG9uIGBpZWVlODAyMTFfdGRsc19wZWVyX2RlbF93b3JrYCBhbmQgYGllZWU4MDIxMV90ZGxzX29wZXJgIOKAkyB0aGUgdHdvIGZ1bmN0aW9ucyBiZWluZyBtb2RpZmllZC4gR2l2ZW4gdGhhdCB0aGVzZSBhcmUgcGFydCBvZiB0aGUgVERMUyBpbXBsZW1lbnRhdGlvbiB3aXRoaW4gbWFjODAyMTEsIEkgY2FuIHByZXR0eSBxdWlja2x5IGNvbmZpcm0gdGhpcyBpcyByZWxldmFudCB0byB0aGUgdHVubmVsZWQgZGlyZWN0IGxpbmsgc2V0dXAgZnVuY3Rpb25hbGl0eS4KClRoaXMgaXMgZW1pbmVudGx5IHRlc3RhYmxlOyBJIGNhbiBhYnNvbHV0ZWx5IHVzZSBgbWFjODAyMTFfaHdzaW1gIHRvIHJ1biB0aHJvdWdoIHNvbWUgc2NlbmFyaW9zIGFuZCB2YWxpZGF0ZSB0aGlzLiBJJiMzOTtsbCBuZWVkIHRvIG1ha2Ugc3VyZSBJJiMzOTttIGV4ZXJjaXNpbmcgdGhlIGNvZGUgcGF0aHMgYWZmZWN0ZWQgYnkgdGhpcyBjaGFuZ2UuCgpMYXN0bHksIEkgbmVlZCB0byBxdWlja2x5IGlkZW50aWZ5IHRoZSByZWxldmFudCBjb25maWd1cmF0aW9uIG9wdGlvbnMuIGBNQUM4MDIxMWAgaXMgdGhlIG9idmlvdXMgc3RhcnRpbmcgcG9pbnQsIGJ1dCBJIHNob3VsZCBzY2FuIGBuZXQvbWFjODAyMTEvdGRscy5jYCBpdHNlbGYgdG8gY29uZmlybSBpZiB0aGVyZSBhcmUgYW55IHNwZWNpZmljIFRETFMtcmVsYXRlZCBjb25maWd1cmF0aW9uIG9wdGlvbnMgdGhhdCBjb3VsZCBpbmZsdWVuY2UgdGhpcyBjaGFuZ2UuIEdvdHRhIGNoZWNrIGFsbCB0aGUgZGVwZW5kZW5jaWVzIQoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAyIDIyOjQ3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBNQUM4MDIxMSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC9tYWM4MDIxMS9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O25ldC9tYWM4MDIxMS9LY29uZmlnLTEtIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyOmNvbmZpZyBNQUM4MDIxMVxubmV0L21hYzgwMjExL0tjb25maWctMy1cdHRyaXN0YXRlIFwmIzM0O0dlbmVyaWMgSUVFRSA4MDIuMTEgTmV0d29ya2luZyBTdGFjayAobWFjODAyMTEpXCYjMzQ7XG4tLVxubmV0L21hYzgwMjExL0tjb25maWc9MTk9aWYgTUFDODAyMTEgIT0gblxubmV0L21hYzgwMjExL0tjb25maWctMjAtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMTpjb25maWcgTUFDODAyMTFfSEFTX1JDXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMi1cdGJvb2xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzLVxubmV0L21hYzgwMjExL0tjb25maWc6MjQ6Y29uZmlnIE1BQzgwMjExX1JDX01JTlNUUkVMXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNS1cdGJvb2wgXCYjMzQ7TWluc3RyZWxcJiMzNDsgaWYgRVhQRVJUXG4tLVxubmV0L21hYzgwMjExL0tjb25maWc9MzE9Y2hvaWNlXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctNDAtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo0MTpjb25maWcgTUFDODAyMTFfUkNfREVGQVVMVF9NSU5TVFJFTFxubmV0L21hYzgwMjExL0tjb25maWctNDItXHRib29sIFwmIzM0O01pbnN0cmVsXCYjMzQ7XG4tLVxubmV0L21hYzgwMjExL0tjb25maWc9NDg9ZW5kY2hvaWNlXG5uZXQvbWFjODAyMTEvS2NvbmZpZy00OS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjUwOmNvbmZpZyBNQUM4MDIxMV9SQ19ERUZBVUxUXG5uZXQvbWFjODAyMTEvS2NvbmZpZy01MS1cdHN0cmluZ1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnPTU3PWNvbW1lbnQgXCYjMzQ7U29tZSB3aXJlbGVzcyBkcml2ZXJzIHJlcXVpcmUgYSByYXRlIGNvbnRyb2wgYWxnb3JpdGhtXCYjMzQ7XG4tLVxubmV0L21hYzgwMjExL0tjb25maWctNTktXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo2MDpjb25maWcgTUFDODAyMTFfS1VOSVRfVEVTVFxubmV0L21hYzgwMjExL0tjb25maWctNjEtXHR0cmlzdGF0ZSBcJiMzNDtLVW5pdCB0ZXN0cyBmb3IgbWFjODAyMTFcJiMzNDsgaWYgIUtVTklUX0FMTF9URVNUU1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTY5LVxubmV0L21hYzgwMjExL0tjb25maWc6NzA6Y29uZmlnIE1BQzgwMjExX01FU0hcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTcxLVx0Ym9vbCBcJiMzNDtFbmFibGUgbWFjODAyMTEgbWVzaCBuZXR3b3JraW5nIHN1cHBvcnRcJiMzNDtcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy03OC1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjc5OmNvbmZpZyBNQUM4MDIxMV9MRURTXG5uZXQvbWFjODAyMTEvS2NvbmZpZy04MC1cdGJvb2wgXCYjMzQ7RW5hYmxlIExFRCB0cmlnZ2Vyc1wmIzM0O1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTg3LVxubmV0L21hYzgwMjExL0tjb25maWc6ODg6Y29uZmlnIE1BQzgwMjExX0RFQlVHRlNcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTg5LVx0Ym9vbCBcJiMzNDtFeHBvcnQgbWFjODAyMTEgaW50ZXJuYWxzIGluIERlYnVnRlNcJiMzNDtcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy05Ni1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjk3OmNvbmZpZyBNQUM4MDIxMV9NRVNTQUdFX1RSQUNJTkdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTk4LVx0Ym9vbCBcJiMzNDtUcmFjZSBhbGwgbWFjODAyMTEgZGVidWcgbWVzc2FnZXNcJiMzNDtcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMDktXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxMTA6bWVudWNvbmZpZyBNQUM4MDIxMV9ERUJVR19NRU5VXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTEtXHRib29sIFwmIzM0O1NlbGVjdCBtYWM4MDIxMSBkZWJ1Z2dpbmcgZmVhdHVyZXNcJiMzNDtcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTUtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxMTY6Y29uZmlnIE1BQzgwMjExX05PSU5MSU5FXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTctXHRib29sIFwmIzM0O0RvIG5vdCBpbmxpbmUgVFgvUlggaGFuZGxlcnNcJiMzNDtcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMzEtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxMzI6Y29uZmlnIE1BQzgwMjExX1ZFUkJPU0VfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTEzMy1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBkZWJ1Z2dpbmcgb3V0cHV0XCYjMzQ7XG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMTQyLVxubmV0L21hYzgwMjExL0tjb25maWc6MTQzOmNvbmZpZyBNQUM4MDIxMV9NTE1FX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNDQtXHRib29sIFwmIzM0O1ZlcmJvc2UgbWFuYWdlZCBNTE1FIG91dHB1dFwmIzM0O1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE1My1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE1NDpjb25maWcgTUFDODAyMTFfU1RBX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNTUtXHRib29sIFwmIzM0O1ZlcmJvc2Ugc3RhdGlvbiBkZWJ1Z2dpbmdcJiMzNDtcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNjItXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxNjM6Y29uZmlnIE1BQzgwMjExX0hUX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNjQtXHRib29sIFwmIzM0O1ZlcmJvc2UgSFQgZGVidWdnaW5nXCYjMzQ7XG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMTc0LVxubmV0L21hYzgwMjExL0tjb25maWc6MTc1OmNvbmZpZyBNQUM4MDIxMV9PQ0JfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE3Ni1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBPQ0IgZGVidWdnaW5nXCYjMzQ7XG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMTg1LVxubmV0L21hYzgwMjExL0tjb25maWc6MTg2OmNvbmZpZyBNQUM4MDIxMV9JQlNTX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xODctXHRib29sIFwmIzM0O1ZlcmJvc2UgSUJTUyBkZWJ1Z2dpbmdcJiMzNDtcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xOTYtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxOTc6Y29uZmlnIE1BQzgwMjExX1BTX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xOTgtXHRib29sIFwmIzM0O1ZlcmJvc2UgcG93ZXJzYXZlIG1vZGUgZGVidWdnaW5nXCYjMzQ7XG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMjA4LVxubmV0L21hYzgwMjExL0tjb25maWc6MjA5OmNvbmZpZyBNQUM4MDIxMV9NUExfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIxMC1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBtZXNoIHBlZXIgbGluayBkZWJ1Z2dpbmdcJiMzNDtcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMjEtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMjI6Y29uZmlnIE1BQzgwMjExX01QQVRIX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMjMtXHRib29sIFwmIzM0O1ZlcmJvc2UgbWVzaCBwYXRoIGRlYnVnZ2luZ1wmIzM0O1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzNC1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIzNTpjb25maWcgTUFDODAyMTFfTUhXTVBfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzNi1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBtZXNoIEhXTVAgcm91dGluZyBkZWJ1Z2dpbmdcJiMzNDtcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNDctXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNDg6Y29uZmlnIE1BQzgwMjExX01FU0hfU1lOQ19ERUJVR1xubmV0L21hYzgwMjExL0tjb25maWctMjQ5LVx0Ym9vbCBcJiMzNDtWZXJib3NlIG1lc2ggc3luY2hyb25pemF0aW9uIGRlYnVnZ2luZ1wmIzM0O1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI1OC1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI1OTpjb25maWcgTUFDODAyMTFfTUVTSF9DU0FfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI2MC1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBtZXNoIGNoYW5uZWwgc3dpdGNoIGRlYnVnZ2luZ1wmIzM0O1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI2OS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI3MDpjb25maWcgTUFDODAyMTFfTUVTSF9QU19ERUJVR1xubmV0L21hYzgwMjExL0tjb25maWctMjcxLVx0Ym9vbCBcJiMzNDtWZXJib3NlIG1lc2ggcG93ZXJzYXZlIGRlYnVnZ2luZ1wmIzM0O1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI4MC1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI4MTpjb25maWcgTUFDODAyMTFfVERMU19ERUJVR1xubmV0L21hYzgwMjExL0tjb25maWctMjgyLVx0Ym9vbCBcJiMzNDtWZXJib3NlIFRETFMgZGVidWdnaW5nXCYjMzQ7XG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMjkyLVxubmV0L21hYzgwMjExL0tjb25maWc6MjkzOmNvbmZpZyBNQUM4MDIxMV9ERUJVR19DT1VOVEVSU1xubmV0L21hYzgwMjExL0tjb25maWctMjk0LVx0Ym9vbCBcJiMzNDtFeHRyYSBzdGF0aXN0aWNzIGZvciBUWC9SWCBkZWJ1Z2dpbmdcJiMzNDtcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0zMDctXG5uZXQvbWFjODAyMTEvS2NvbmZpZzozMDg6Y29uZmlnIE1BQzgwMjExX1NUQV9IQVNIX01BWF9TSVpFXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0zMDktXHRpbnQgXCYjMzQ7U3RhdGlvbiBoYXNoIHRhYmxlIG1heGltdW0gc2l6ZVwmIzM0OyBpZiBNQUM4MDIxMV9ERUJVR19NRU5VXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDIgMjI6NDc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTM2OQoJCQkJCQkJb3V0cHV0OiA0MQoJCQkJCQkJdGhvdWdodHM6IDc2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBteSBvd24gbWVudGFsIHByb2Nlc3Npbmc6CgoqKkFuYWx5emluZyBQb3RlbnRpYWwgSW1wYWN0IG9mIHRoZSBQYXRjaCoqCgpSaWdodCwgbGV0JiMzOTtzIGJyZWFrIHRoaXMgZG93bi4gVGhpcyBwYXRjaCBzZWVtcyB0byBiZSB0b3VjaGluZyBgaWVlZTgwMjExX3RkbHNfcGVlcl9kZWxfd29ya2AgYW5kIGBpZWVlODAyMTFfdGRsc19vcGVyYC4gSW1tZWRpYXRlbHksIG15IHNwaWRleS1zZW5zZSBpcyB0aW5nbGluZyDigJMgdGhlc2UgYXJlIGxpa2VseSBleHBvc2VkIHZpYSBubDgwMjExIG5ldGxpbmsgY29tbWFuZHMsIG1ha2luZyB0aGVtIHByaW1lIGNhbmRpZGF0ZXMgZm9yIGV4dGVybmFsIGludGVyYWN0aW9uIGFuZCwgcG90ZW50aWFsbHksIHZ1bG5lcmFiaWxpdGllcyBpZiBub3QgaGFuZGxlZCB3aXRoIGV4dHJlbWUgY2FyZS4gTXkgZmlyc3QgbW92ZSBpcyB0byB2ZXJpZnkgdGhhdCBzdXNwaWNpb24uIEkgbmVlZCB0byBjb25maXJtIHRoYXQgYGllZWU4MDIxMV90ZGxzX29wZXJgIGlzIGluZGVlZCBhY2Nlc3NpYmxlIHRocm91Z2ggdGhlIG5ldGxpbmsgaW50ZXJmYWNlLiBJdCYjMzk7cyBjcnVjaWFsIEkgdW5kZXJzdGFuZCB0aGUgYXR0YWNrIHN1cmZhY2UgYmVmb3JlIEkgZXZlbiBiZWdpbiB0byByZXZpZXcgdGhlIGNvZGUuIExldCYjMzk7cyBzZWUuLi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMiAyMjo0NzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtpZWVlODAyMTFfdGRsc19vcGVyJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L21hYzgwMjExLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvbWFjODAyMTEvY2ZnLmM9NTk5MT1jb25zdCBzdHJ1Y3QgY2ZnODAyMTFfb3BzIG1hYzgwMjExX2NvbmZpZ19vcHMgPSB7XG4tLVxubmV0L21hYzgwMjExL2NmZy5jLTYwNjItXHQuc2V0X3Jla2V5X2RhdGEgPSBpZWVlODAyMTFfc2V0X3Jla2V5X2RhdGEsXG5uZXQvbWFjODAyMTEvY2ZnLmM6NjA2MzpcdC50ZGxzX29wZXIgPSBpZWVlODAyMTFfdGRsc19vcGVyLFxubmV0L21hYzgwMjExL2NmZy5jLTYwNjQtXHQudGRsc19tZ210ID0gaWVlZTgwMjExX3RkbHNfbWdtdCxcbi0tXG5uZXQvbWFjODAyMTEvaWVlZTgwMjExX2kuaD0yOTEzPWludCBpZWVlODAyMTFfdGRsc19tZ210KHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxubmV0L21hYzgwMjExL2llZWU4MDIxMV9pLmgtMjkxNy1cdFx0XHRjb25zdCB1OCAqZXh0cmFfaWVzLCBzaXplX3QgZXh0cmFfaWVzX2xlbik7XG5uZXQvbWFjODAyMTEvaWVlZTgwMjExX2kuaDoyOTE4OmludCBpZWVlODAyMTFfdGRsc19vcGVyKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG5uZXQvbWFjODAyMTEvaWVlZTgwMjExX2kuaC0yOTE5LVx0XHRcdGNvbnN0IHU4ICpwZWVyLCBlbnVtIG5sODAyMTFfdGRsc19vcGVyYXRpb24gb3Blcik7XG4tLVxubmV0L21hYzgwMjExL3RkbHMuYz0xMzg2PWllZTgwMjExX3RkbHNfcmVjYWxjX2h0X3Byb3RlY3Rpb24oc3RydWN0IGllZWU4MDIxMV9zdWJfaWZfZGF0YSAqc2RhdGEsXG4tLVxubmV0L21hYzgwMjExL3RkbHMuYy0xNDE2LVxubmV0L21hYzgwMjExL3RkbHMuYzoxNDE3OmludCBpZWVlODAyMTFfdGRsc19vcGVyKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG5uZXQvbWFjODAyMTEvdGRscy5jLTE0MTgtXHRcdFx0Y29uc3QgdTggKnBlZXIsIGVudW0gbmw4MDIxMV90ZGxzX29wZXJhdGlvbiBvcGVyKVxuLS1cbm5ldC9tYWM4MDIxMS90ZGxzLmMtMTUxMC1cbm5ldC9tYWM4MDIxMS90ZGxzLmM6MTUxMTp2b2lkIGllZWU4MDIxMV90ZGxzX29wZXJfcmVxdWVzdChzdHJ1Y3QgaWVlZTgwMjExX3ZpZiAqdmlmLCBjb25zdCB1OCAqcGVlcixcbm5ldC9tYWM4MDIxMS90ZGxzLmMtMTUxMi1cdFx0XHRcdCBlbnVtIG5sODAyMTFfdGRsc19vcGVyYXRpb24gb3Blcixcbi0tXG5uZXQvbWFjODAyMTEvdGRscy5jLTE1MjQtfVxubmV0L21hYzgwMjExL3RkbHMuYzoxNTI1OkVYUE9SVF9TWU1CT0woaWVlZTgwMjExX3RkbHNfb3Blcl9yZXF1ZXN0KTtcbm5ldC9tYWM4MDIxMS90ZGxzLmMtMTUyNi1cbi0tXG5uZXQvbWFjODAyMTEvdGRscy5jPTIwNDc9dm9pZCBpZWVlODAyMTFfdGVhcmRvd25fdGRsc19wZWVycyhzdHJ1Y3QgaWVlZTgwMjExX2xpbmtfZGF0YSAqbGluaylcbi0tXG5uZXQvbWFjODAyMTEvdGRscy5jLTIwNjEtXG5uZXQvbWFjODAyMTEvdGRscy5jOjIwNjI6XHRcdGllZWU4MDIxMV90ZGxzX29wZXJfcmVxdWVzdChcdTAwMjZzZGF0YS1cdTAwM2V2aWYsIHN0YS1cdTAwM2VzdGEuYWRkcixcbm5ldC9tYWM4MDIxMS90ZGxzLmMtMjA2My1cdFx0XHRcdFx0ICAgIE5MODAyMTFfVERMU19URUFSRE9XTiwgcmVhc29uLFxuLS1cbm5ldC9tYWM4MDIxMS90ZGxzLmM9MjA2OT12b2lkIGllZWU4MDIxMV90ZGxzX2hhbmRsZV9kaXNjb25uZWN0KHN0cnVjdCBpZWVlODAyMTFfc3ViX2lmX2RhdGEgKnNkYXRhLFxuLS1cbm5ldC9tYWM4MDIxMS90ZGxzLmMtMjA4NS1cbm5ldC9tYWM4MDIxMS90ZGxzLmM6MjA4NjpcdGllZWU4MDIxMV90ZGxzX29wZXJfcmVxdWVzdChcdTAwMjZzZGF0YS1cdTAwM2V2aWYsIHBlZXIsXG5uZXQvbWFjODAyMTEvdGRscy5jLTIwODctXHRcdFx0XHQgICAgTkw4MDIxMV9URExTX1RFQVJET1dOLFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAyIDIyOjQ3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDY3MzQKCQkJCQkJCW91dHB1dDogNDUKCQkJCQkJCXRob3VnaHRzOiAxMzkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgdW5kZXJzdGFuZGluZywgZnJhbWVkIGFzIG15IGludGVybmFsIHRob3VnaHQgcHJvY2VzczoKCioqRGl2aW5nIGludG8gdGhlIFRETFMgT3BlcmF0aW9ucyoqCgpBbHJpZ2h0LCBJJiMzOTttIGRpZ2dpbmcgaW50byB0aGlzIGBpZWVlODAyMTFfdGRsc19vcGVyYCBmdW5jdGlvbi4gTGV0IG1lIHNlZS4uLiByaWdodCwgdGhpcyBpcyB0aGUgYC50ZGxzX29wZXJgIGNhbGxiYWNrIHdpdGhpbiB0aGUgYG1hYzgwMjExX2NvbmZpZ19vcHNgIHN0cnVjdHVyZS4gU28sIHRoYXQgbWVhbnMgaXQmIzM5O3MgdGhlIGZ1bmN0aW9uIHRoYXQgZ2V0cyBjYWxsZWQgZnJvbSBgY2ZnODAyMTFgIHdoZW5ldmVyIGEgdXNlci1zcGFjZSBhcHBsaWNhdGlvbiB0aHJvd3MgYSBgTkw4MDIxMV9DTURfVERMU19PUEVSYCBjb21tYW5kIGF0IGl0LiBNYWtlcyBwZXJmZWN0IHNlbnNlLiBUaGlzIGlzIHRoZSBlbnRyeSBwb2ludCBmb3IgVERMUyAoVHVubmVsZWQgRGlyZWN0IExpbmsgU2V0dXApIG9wZXJhdGlvbnMgZnJvbSB0aGUgdXNlciBzcGFjZS4KCk5vdywgd2hhdCBhYm91dCB0aGlzIGBpZWVlODAyMTFfdGRsc19wZWVyX2RlbF93b3JrYCBmdW5jdGlvbj8gSXQmIzM5O3MgbWVudGlvbmVkIGluIHRoZSBjb250ZXh0LCBzbyBpdCYjMzk7cyBjbGVhcmx5IHJlbGF0ZWQuIEFoLCBpdCBsb29rcyBsaWtlIHRoaXMgaXMgYSB3b3JrcXVldWUgZnVuY3Rpb24uIEdvb2QsIGdvb2QsIGEgZGVmZXJyZWQgb3BlcmF0aW9uLiBMaWtlbHkgZGVhbGluZyB3aXRoIHRoZSBjbGVhbnVwIG9mIGEgVERMUyBwZWVyLiBJJiMzOTtsbCBuZWVkIHRvIGZpZ3VyZSBvdXQgdGhlIGV4YWN0IGNsZWFudXAgcHJvY2Vzcywgc28gaXQmIzM5O3MgdGltZSB0byBjaGVjayBgaWVlZTgwMjExX3RkbHNfcGVlcl9kZWxfd29ya2AgZnVuY3Rpb24uIEkgd2lsbCBjaGVjayB0aGUgZmlsZSBpbiBgbmV0L21hYzgwMjExL3RkbHMuY2AgdG8gdW5kZXJzdGFuZCB0aGUgcHJvY2Vzcy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMiAyMjo0NzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtpZWVlODAyMTFfdGRsc19wZWVyX2RlbF93b3JrJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L21hYzgwMjExLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvbWFjODAyMTEvaWVlZTgwMjExX2kuaD0yOTE4PWludCBpZWVlODAyMTFfdGRsc19vcGVyKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG5uZXQvbWFjODAyMTEvaWVlZTgwMjExX2kuaC0yOTE5LVx0XHRcdGNvbnN0IHU4ICpwZWVyLCBlbnVtIG5sODAyMTFfdGRsc19vcGVyYXRpb24gb3Blcik7XG5uZXQvbWFjODAyMTEvaWVlZTgwMjExX2kuaDoyOTIwOnZvaWQgaWVlZTgwMjExX3RkbHNfcGVlcl9kZWxfd29yayhzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3Qgd2lwaHlfd29yayAqd2spO1xubmV0L21hYzgwMjExL2llZWU4MDIxMV9pLmgtMjkyMS1pbnQgaWVlZTgwMjExX3RkbHNfY2hhbm5lbF9zd2l0Y2goc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5uZXQvbWFjODAyMTEvbWxtZS5jPTk0NDY9dm9pZCBpZWVlODAyMTFfc3RhX3NldHVwX3NkYXRhKHN0cnVjdCBpZWVlODAyMTFfc3ViX2lmX2RhdGEgKnNkYXRhKVxuLS1cbm5ldC9tYWM4MDIxMS9tbG1lLmMtOTQ1NS1cdHdpcGh5X2RlbGF5ZWRfd29ya19pbml0KFx1MDAyNmlmbWdkLVx1MDAzZXRkbHNfcGVlcl9kZWxfd29yayxcbm5ldC9tYWM4MDIxMS9tbG1lLmM6OTQ1NjpcdFx0XHRcdGllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmspO1xubmV0L21hYzgwMjExL21sbWUuYy05NDU3LVx0d2lwaHlfaHJ0aW1lcl93b3JrX2luaXQoXHUwMDI2aWZtZ2QtXHUwMDNlbWxfcmVjb25mX3dvcmssXG4tLVxubmV0L21hYzgwMjExL3RkbHMuYy0yMy1cbm5ldC9tYWM4MDIxMS90ZGxzLmM6MjQ6dm9pZCBpZWVlODAyMTFfdGRsc19wZWVyX2RlbF93b3JrKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCB3aXBoeV93b3JrICp3aylcbm5ldC9tYWM4MDIxMS90ZGxzLmMtMjUte1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAyIDIyOjQ3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDc3MTQKCQkJCQkJCW91dHB1dDogMzcKCQkJCQkJCXRob3VnaHRzOiAyMjUKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgTUFDODAyMTEgVERMUyBCdWcgRml4KioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCBhIHBhdGNoIHRoYXQgYWRkcmVzc2VzIGEgcG90ZW50aWFsIGlzc3VlIHdpdGhpbiB0aGUgTUFDODAyMTEgVERMUyBsb2dpYy4gSXQgc2VlbXMgdGhlcmUmIzM5O3MgYSBidWcgd2hlcmUgYHN0YV9pbmZvX2Rlc3Ryb3lfYWRkcmAgaXMgYmVpbmcgY2FsbGVkIGluIGEgc2NlbmFyaW8gd2hlcmUgdGhlIHN0YXRpb24gbWlnaHQgbm90IGFjdHVhbGx5IGJlIGEgVERMUyBzdGF0aW9uLCBvciBpdCBzaW1wbHkgbWlnaHQgbm90IGV2ZW4gZXhpc3QuIFRoZSBmaXggcmVwbGFjZXMgdGhpcyBwcm9ibGVtYXRpYyBjYWxsIHdpdGggYHN0YV9pbmZvX2dldGAgYW5kIGBfX3N0YV9pbmZvX2Rlc3Ryb3lgLCB3aGljaCBzaG91bGQgcHJvdmlkZSBtb3JlIHJvYnVzdCBoYW5kbGluZy4KCkZ1bmN0aW9uYWxseSwgdGhpcyBpcyBhIGNoYW5nZSB3aXRoaW4gdGhlIFRETFMgY29tcG9uZW50IG9mIE1BQzgwMjExLiBHb29kIHRvIGtub3cgaXQmIzM5O3MgcmVhY2hhYmxlIHRocm91Z2ggYm90aCBgbWFjODAyMTFfaHdzaW1gIGFuZCB0aGUgY2ZnODAyMTEgbmV0bGluayBjb21tYW5kcywgd2hpY2ggZ2l2ZXMgdXMgbXVsdGlwbGUgd2F5cyB0byBpbnRlcmFjdCB3aXRoIGFuZCB0ZXN0IHRoaXMuCgpUbyBwcm9wZXJseSB2ZXQgdGhpcywgZnV6emluZyBpcyBkZWZpbml0ZWx5IG9uIHRoZSBhZ2VuZGEuCgpJJiMzOTtsbCBrZWVwIGFuIGV5ZSBvbiB0aGUgZm9sbG93aW5nIHN5bWJvbHMgYXMgSSBkaXZlIGRlZXBlcjogYGllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmtgIGFuZCBgaWVlZTgwMjExX3RkbHNfb3BlcmAuIFRoZXkgc2hvdWxkIHByb3ZpZGUgY3JpdGljYWwgY29udGV4dCBhcm91bmQgdGhlIGFmZmVjdGVkIGNvZGUuCgpGb3IgY29uZmlndXJhdGlvbiwgSSYjMzk7bGwgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCBgTUFDODAyMTFgIGFuZCBgQ0ZHODAyMTFgIGFyZSBlbmFibGVkLiBTaW5jZSBgQ0ZHODAyMTFgIGlzIGltcGxpZWQgYnkgYE1BQzgwMjExYCwgdGhhdCBzaG91bGQgYmUgcmVsYXRpdmVseSBzdHJhaWdodGZvcndhcmQuIEFuZCwgb2YgY291cnNlLCBlbmFibGluZyBgTUFDODAyMTFfSFdTSU1gIHdpbGwgYmUgaW52YWx1YWJsZSBmb3IgdGVzdGluZyB0aGlzIGZpeC4KCkp1c3QgdG8gYmUgYWJzb2x1dGVseSBzdXJlLCBJJiMzOTtsbCB2ZXJpZnkgdGhhdCBgTUFDODAyMTFfSFdTSU1gIGlzIGluZGVlZCB0aGUgY29ycmVjdCBjb25maWd1cmF0aW9uIG5hbWUuIEJldHRlciBzYWZlIHRoYW4gc29ycnkuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAyIDIyOjQ3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBNQUM4MDIxMV9IV1NJTSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy92aXJ0dWFsL0tjb25maWc6MTpjb25maWcgTUFDODAyMTFfSFdTSU1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3ZpcnR1YWwvS2NvbmZpZy0yLVx0dHJpc3RhdGUgXCYjMzQ7U2ltdWxhdGVkIHJhZGlvIHRlc3RpbmcgdG9vbCBmb3IgbWFjODAyMTFcJiMzNDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDIgMjI6NDc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogODQyMQoJCQkJCQkJb3V0cHV0OiAzMwoJCQkJCQkJdGhvdWdodHM6IDMzCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IHN1bW1hcml6ZWQgdGhvdWdodCBwcm9jZXNzLCBwcmVzZW50ZWQgYXMgaWYgSSB3ZXJlIGNvbnNpZGVyaW5nIHRoaXMgbXlzZWxmOgoKKipURExTIENvbmZpZ3VyYXRpb24gUmV2aWV3KioKCkFscmlnaHQsIHllcCwgSSYjMzk7bSB3aXRoIGl0LiBgTUFDODAyMTFfSFdTSU1gIGlzIGRlZmluaXRlbHkgdGhlIHJpZ2h0IGNvbmZpZ3VyYXRpb24gaGVyZS4gTWFrZXMgcGVyZmVjdCBzZW5zZS4gTm93LCBsZXQgbWUganVzdCBxdWlja2x5IHJ1biB0aHJvdWdoIG15IG1lbnRhbCBjaGVja2xpc3QuIFRpbWUgdG8gbWFrZSBzdXJlIHdlIGhhdmVuJiMzOTt0IG92ZXJsb29rZWQgYW55IG90aGVyIGNvbmZpZyBzZXR0aW5ncyB0aGF0IG1pZ2h0IGJlIHJlcXVpcmVkIHNwZWNpZmljYWxseSBmb3IgVERMUyBmdW5jdGlvbmFsaXR5LiBJIG5lZWQgdG8gZW5zdXJlIHdlIGhhdmUgZXZlcnkgYmFzZSBjb3ZlcmVkIGFuZCBhcmVuJiMzOTt0IG1pc3Npbmcgc29tZSBvYnNjdXJlIGZsYWcgb3IgZGVwZW5kZW5jeS4gSXQmIzM5O3MgYSBxdWljayBzY2FuLCBqdXN0IHRvIGJlIHN1cmUgd2UgaGF2ZW4mIzM5O3QgaW5hZHZlcnRlbnRseSBvbWl0dGVkIHNvbWV0aGluZyBjcml0aWNhbC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDIgMjI6NDc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7VERMUyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC9tYWM4MDIxMS9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O25ldC9tYWM4MDIxMS9LY29uZmlnPTI3MD1jb25maWcgTUFDODAyMTFfTUVTSF9QU19ERUJVR1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI4MC1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI4MTpjb25maWcgTUFDODAyMTFfVERMU19ERUJVR1xubmV0L21hYzgwMjExL0tjb25maWc6MjgyOlx0Ym9vbCBcJiMzNDtWZXJib3NlIFRETFMgZGVidWdnaW5nXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yODMtXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yODUtXHQgIFNlbGVjdGluZyB0aGlzIG9wdGlvbiBjYXVzZXMgbWFjODAyMTEgdG8gcHJpbnQgb3V0IHZlcnlcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI4NjpcdCAgdmVyYm9zZSBURExTIHNlbGVjdGlvbiBkZWJ1Z2dpbmcgbWVzc2FnZXMgKHdoZW4gbWFjODAyMTFcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI4NzpcdCAgaXMgYSBURExTIFNUQSkuXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yODgtXHQgIEl0IHNob3VsZCBub3QgYmUgc2VsZWN0ZWQgb24gcHJvZHVjdGlvbiBzeXN0ZW1zIGFzIHRob3NlXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAyIDIyOjQ3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDg4OTAKCQkJCQkJCW91dHB1dDogMTk1CgkJCQkJCQl0aG91Z2h0czogMzIzCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgVERMUyBQZWVyIFRlYXJkb3duIFBhdGNoKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgZGVhbGluZyB3aXRoIFRETFMgcGVlcnMgd2l0aGluIHRoZSBgbWFjODAyMTFgIHN1YnN5c3RlbS4gUmlnaHQgb2ZmIHRoZSBiYXQsIEkgc2VlIHRoYXQgdGhlIFRETFMgZnVuY3Rpb25hbGl0eSBpdHNlbGYgaXNuJiMzOTt0IGEgc3RhbmRhbG9uZSBjb25maWd1cmF0aW9uIG9wdGlvbiwgaXQmIzM5O3MgaW50ZWdyYXRlZCBpbnRvIGBtYWM4MDIxMWAuIFRoYXQgbWFrZXMgc2Vuc2U7IGl04oCZcyBhIGNvcmUgd2lyZWxlc3MgY29tcG9uZW50LgoKTXkgbmV4dCBzdGVwIGlzIHRvIHF1aWNrbHkgY29uZmlybSB0aGUgc2NvcGUgb2YgdGhlIGtleSBmdW5jdGlvbnMuIExldCBtZSBjaGVjayBpZiBgaWVlZTgwMjExX3RkbHNfb3BlcmAgaXMgc3RhdGljIG9yIG5vdC4gQWgsIGl0JiMzOTtzIG5vdCBzdGF0aWMuIEl0JiMzOTtzIGV4cG9ydGVkIHRocm91Z2ggYG1hYzgwMjExX2NvbmZpZ19vcHNgLCB3aGljaCBpcyBpbXBvcnRhbnQgZm9yIHVuZGVyc3RhbmRpbmcgaXRzIHVzYWdlIHBvaW50cy4gQW5kIGBpZWVlODAyMTFfdGRsc19wZWVyX2RlbF93b3JrYCBpc24mIzM5O3Qgc3RhdGljIGVpdGhlci4KCkFscmlnaHQsIHNvIHRoZSBrZXkgc3ltYm9scyB0byBmb2N1cyBvbiBhcmUgYGllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmtgIGFuZCBgaWVlZTgwMjExX3RkbHNfb3BlcmAuIFRoYXQgZ2l2ZXMgbWUgYSBjbGVhciBpZGVhIG9mIHdoZXJlIHRoZSBtb2RpZmljYXRpb25zIGFyZSBmb2N1c2VkLgoKTm93LCBsZXQmIzM5O3MgbG9vayBhdCB0aGUgJiMzNDtFbmFibGVDb25maWdzLiYjMzQ7IEkgY2FuIHNlZSB0aGF0IGBNQUM4MDIxMWAgYW5kIGBNQUM4MDIxMV9IV1NJTWAgYXJlIHRoZSByZWxldmFudCBjb25maWd1cmF0aW9ucy4gVGhlIEhXU0lNIGRyaXZlciBpcyBwYXJ0aWN1bGFybHkgaW50ZXJlc3RpbmcgYmVjYXVzZSBpdCBzdWdnZXN0cyB0aGlzIGNoYW5nZSBjYW4gYmUgZWZmZWN0aXZlbHkgdGVzdGVkIGluIGEgc2ltdWxhdGVkIGVudmlyb25tZW50LCB3aGljaCBpcyBleGNlbGxlbnQgZm9yIHJlZ3Jlc3Npb25zLgoKVGhlIHJlYXNvbmluZyBzZWN0aW9uIGhpZ2hsaWdodHMgdGhhdCB0aGlzIHBhdGNoIGFkZHJlc3NlcyBURExTIHBlZXIgdGVhcmRvd24gYW5kIGRlbGV0aW9uIGxvZ2ljIGluIGBtYWM4MDIxMWAuIFRoZSBjb3JlIG9mIHRoZSBmaXggYXBwZWFycyB0byBpbnZvbHZlIHByZXZlbnRpbmcgdGhlIGRlc3RydWN0aW9uIG9mIG5vbi1URExTIHN0YXRpb25zLCB3aGljaCBpcyBhIHNlbnNpYmxlIG1lYXN1cmUuIFRoZSBjaGFuZ2UgYXBwZWFycyB0byBiZSBpbiB0aGUgd2lyZWxlc3MgY29yZSBsb2dpYywgYW5kIGNhbiBiZSB0cmlnZ2VyZWQgdmlhIG5sODAyMTEgbmV0bGluayBjb21tYW5kcy4KCkkmIzM5O2xsIHF1aWNrbHkgZG91YmxlLWNoZWNrIGlmIGBDRkc4MDIxMWAgaXMgcmVxdWlyZWQuIEkga25vdyB0aGF0IGBNQUM4MDIxMWAgaGFzIGEgZGVwZW5kZW5jeSBvbiBgQ0ZHODAyMTFgLiBUbyBiZSBzYWZlLCBJJiMzOTtsbCBpbmNsdWRlIGBDRkc4MDIxMWAgaW4gdGhlIGNvbmZpZ3VyYXRpb24gYXMgd2VsbCwganVzdCB0byBlbnN1cmUgY29tcHJlaGVuc2l2ZSBjb3ZlcmFnZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDIgMjI6NDc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O01BQzgwMjExJiMzNDssCiAgICAmIzM0O01BQzgwMjExX0hXU0lNJiMzNDssCiAgICAmIzM0O0NGRzgwMjExJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7aWVlZTgwMjExX3RkbHNfcGVlcl9kZWxfd29yayYjMzQ7LAogICAgJiMzNDtpZWVlODAyMTFfdGRsc19vcGVyJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSB0ZWFyZG93biBhbmQgZGVsZXRpb24gbG9naWMgZm9yIFRETFMgKFR1bm5lbGVkIERpcmVjdCBMaW5rIFNldHVwKSBwZWVycyBpbiB0aGUgbWFjODAyMTEgc3Vic3lzdGVtLiBJdCBmaXhlcyBhIHBvdGVudGlhbCBpc3N1ZSB3aGVyZSBhIG5vbi1URExTIHN0YXRpb24gY291bGQgYmUgZGVzdHJveWVkIGJ5IHZlcmlmeWluZyB0aGUgc3RhdGlvbiB0eXBlIGJlZm9yZSBjYWxsaW5nIGBfX3N0YV9pbmZvX2Rlc3Ryb3lgLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gcmVhY2hhYmxlIGNvcmUgd2lyZWxlc3MgbG9naWMgdGhhdCBjYW4gYmUgdHJpZ2dlcmVkIHZpYSBubDgwMjExIG5ldGxpbmsgY29tbWFuZHMgYW5kIHRlc3RlZCB1c2luZyB0aGUgbWFjODAyMTFfaHdzaW0gZHJpdmVyLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtNQUM4MDIxMSYjMzQ7LAogICAgJiMzNDtNQUM4MDIxMV9IV1NJTSYjMzQ7LAogICAgJiMzNDtDRkc4MDIxMSYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2llZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmsmIzM0OywKICAgICYjMzQ7aWVlZTgwMjExX3RkbHNfb3BlciYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgdGVhcmRvd24gYW5kIGRlbGV0aW9uIGxvZ2ljIGZvciBURExTIChUdW5uZWxlZCBEaXJlY3QgTGluayBTZXR1cCkgcGVlcnMgaW4gdGhlIG1hYzgwMjExIHN1YnN5c3RlbS4gSXQgZml4ZXMgYSBwb3RlbnRpYWwgaXNzdWUgd2hlcmUgYSBub24tVERMUyBzdGF0aW9uIGNvdWxkIGJlIGRlc3Ryb3llZCBieSB2ZXJpZnlpbmcgdGhlIHN0YXRpb24gdHlwZSBiZWZvcmUgY2FsbGluZyBgX19zdGFfaW5mb19kZXN0cm95YC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHJlYWNoYWJsZSBjb3JlIHdpcmVsZXNzIGxvZ2ljIHRoYXQgY2FuIGJlIHRyaWdnZXJlZCB2aWEgbmw4MDIxMSBuZXRsaW5rIGNvbW1hbmRzIGFuZCB0ZXN0ZWQgdXNpbmcgdGhlIG1hYzgwMjExX2h3c2ltIGRyaXZlci4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAyVDIyOjQ3OjIyLjEzMTc0Mjg3M1oiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjMwNzQ5NjExNzM5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIk1BQzgwMjExXCIsXG4gICAgXCJNQUM4MDIxMV9IV1NJTVwiLFxuICAgIFwiQ0ZHODAyMTFcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJpZWVlODAyMTFfdGRsc19wZWVyX2RlbF93b3JrXCIsXG4gICAgXCJpZWVlODAyMTFfdGRsc19vcGVyXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIHRlYXJkb3duIGFuZCBkZWxldGlvbiBsb2dpYyBmb3IgVERMUyAoVHVubmVsZWQgRGlyZWN0IExpbmsgU2V0dXApIHBlZXJzIGluIHRoZSBtYWM4MDIxMSBzdWJzeXN0ZW0uIEl0IGZpeGVzIGEgcG90ZW50aWFsIGlzc3VlIHdoZXJlIGEgbm9uLVRETFMgc3RhdGlvbiBjb3VsZCBiZSBkZXN0cm95ZWQgYnkgdmVyaWZ5aW5nIHRoZSBzdGF0aW9uIHR5cGUgYmVmb3JlIGNhbGxpbmcgYF9fc3RhX2luZm9fZGVzdHJveWAuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiByZWFjaGFibGUgY29yZSB3aXJlbGVzcyBsb2dpYyB0aGF0IGNhbiBiZSB0cmlnZ2VyZWQgdmlhIG5sODAyMTEgbmV0bGluayBjb21tYW5kcyBhbmQgdGVzdGVkIHVzaW5nIHRoZSBtYWM4MDIxMV9od3NpbSBkcml2ZXIuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAyVDIyOjQ3OjIyLjEzMTc0ODU5M1oiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTAxMjExNDk5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgMDk3MjAzMjQyNDRlODYxYWQzYWJmMGQ4NmQ4Y2MxNmQ3YTMwOWYwYlxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgU3VuIEF1ZyAyIDIyOjQ3OjIxIDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL25ldC9tYWM4MDIxMS90ZGxzLmMgYi9uZXQvbWFjODAyMTEvdGRscy5jXFxuaW5kZXggZmZkNTc1YThkMTg4Zi4uMjQyOTc1NTJmNWZjZiAxMDA2NDRcXG4tLS0gYS9uZXQvbWFjODAyMTEvdGRscy5jXFxuKysrIGIvbmV0L21hYzgwMjExL3RkbHMuY1xcbkBAIC0zMyw4ICszMywxMiBAQCB2b2lkIGllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmsoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IHdpcGh5X3dvcmsgKndrKVxcbiBcXHRsb2NrZGVwX2Fzc2VydF93aXBoeShsb2NhbC1cXHUwMDNlaHcud2lwaHkpO1xcbiBcXG4gXFx0aWYgKCFpc196ZXJvX2V0aGVyX2FkZHIoc2RhdGEtXFx1MDAzZXUubWdkLnRkbHNfcGVlcikpIHtcXG4rXFx0XFx0c3RydWN0IHN0YV9pbmZvICpzdGE7XFxuK1xcbiBcXHRcXHR0ZGxzX2RiZyhzZGF0YSwgXFxcIlRETFMgZGVsIHBlZXIgJXBNXFxcXG5cXFwiLCBzZGF0YS1cXHUwMDNldS5tZ2QudGRsc19wZWVyKTtcXG4tXFx0XFx0c3RhX2luZm9fZGVzdHJveV9hZGRyKHNkYXRhLCBzZGF0YS1cXHUwMDNldS5tZ2QudGRsc19wZWVyKTtcXG4rXFx0XFx0c3RhID0gc3RhX2luZm9fZ2V0KHNkYXRhLCBzZGF0YS1cXHUwMDNldS5tZ2QudGRsc19wZWVyKTtcXG4rXFx0XFx0aWYgKHN0YSBcXHUwMDI2XFx1MDAyNiBzdGEtXFx1MDAzZXN0YS50ZGxzKVxcbitcXHRcXHRcXHRfX3N0YV9pbmZvX2Rlc3Ryb3koc3RhKTtcXG4gXFx0XFx0ZXRoX3plcm9fYWRkcihzZGF0YS1cXHUwMDNldS5tZ2QudGRsc19wZWVyKTtcXG4gXFx0fVxcbiB9XFxuQEAgLTE0NjIsNiArMTQ2NiwxMCBAQCBpbnQgaWVlZTgwMjExX3RkbHNfb3BlcihzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbiBcXHRcXHRcXHQgICAgICFldGhlcl9hZGRyX2VxdWFsKHNkYXRhLVxcdTAwM2V1Lm1nZC50ZGxzX3BlZXIsIHBlZXIpKTtcXG4gXFx0XFx0YnJlYWs7XFxuIFxcdGNhc2UgTkw4MDIxMV9URExTX0RJU0FCTEVfTElOSzpcXG4rXFx0XFx0c3RhID0gc3RhX2luZm9fZ2V0KHNkYXRhLCBwZWVyKTtcXG4rXFx0XFx0aWYgKCFzdGEgfHwgIXN0YS1cXHUwMDNlc3RhLnRkbHMpXFxuK1xcdFxcdFxcdHJldHVybiAtRU5PTElOSztcXG4rXFxuIFxcdFxcdC8qXFxuIFxcdFxcdCAqIFRoZSB0ZWFyZG93biBtZXNzYWdlIGluIGllZWU4MDIxMV90ZGxzX21nbXRfdGVhcmRvd24oKSB3YXNcXG4gXFx0XFx0ICogY3JlYXRlZCB3aGlsZSB0aGUgcXVldWVzIHdlcmUgc3RvcHBlZCwgc28gaXQgbWlnaHQgc3RpbGwgYmVcXG5AQCAtMTQ3Niw3ICsxNDg0LDcgQEAgaW50IGllZWU4MDIxMV90ZGxzX29wZXIoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4gXFx0XFx0LyogZmx1c2ggYSBwb3RlbnRpYWxseSBxdWV1ZWQgdGVhcmRvd24gcGFja2V0ICovXFxuIFxcdFxcdGllZWU4MDIxMV9mbHVzaF9xdWV1ZXMobG9jYWwsIHNkYXRhLCBmYWxzZSk7XFxuIFxcbi1cXHRcXHRyZXQgPSBzdGFfaW5mb19kZXN0cm95X2FkZHIoc2RhdGEsIHBlZXIpO1xcbitcXHRcXHRyZXQgPSBfX3N0YV9pbmZvX2Rlc3Ryb3koc3RhKTtcXG4gXFxuIFxcdFxcdGllZTgwMjExX3RkbHNfcmVjYWxjX2h0X3Byb3RlY3Rpb24oc2RhdGEsIE5VTEwpO1xcbiBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDJUMjI6NDc6MjIuNjMzOTExNDkxWiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiYmVzdC1leHBlbnNpdmUiLCJEdXJhdGlvbiI6MzAyNDc0MjgzNTksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiTUFDODAyMTFcIixcbiAgICBcIk1BQzgwMjExX0hXU0lNXCIsXG4gICAgXCJDRkc4MDIxMVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmtcIixcbiAgICBcImllZWU4MDIxMV90ZGxzX29wZXJcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgdGVhcmRvd24gYW5kIGRlbGV0aW9uIGxvZ2ljIGZvciBURExTIChUdW5uZWxlZCBEaXJlY3QgTGluayBTZXR1cCkgcGVlcnMgaW4gdGhlIG1hYzgwMjExIHN1YnN5c3RlbS4gSXQgZml4ZXMgYSBwb3RlbnRpYWwgaXNzdWUgd2hlcmUgYSBub24tVERMUyBzdGF0aW9uIGNvdWxkIGJlIGRlc3Ryb3llZCBieSB2ZXJpZnlpbmcgdGhlIHN0YXRpb24gdHlwZSBiZWZvcmUgY2FsbGluZyBgX19zdGFfaW5mb19kZXN0cm95YC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHJlYWNoYWJsZSBjb3JlIHdpcmVsZXNzIGxvZ2ljIHRoYXQgY2FuIGJlIHRyaWdnZXJlZCB2aWEgbmw4MDIxMSBuZXRsaW5rIGNvbW1hbmRzIGFuZCB0ZXN0ZWQgdXNpbmcgdGhlIG1hYzgwMjExX2h3c2ltIGRyaXZlci5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG4tIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSlcbiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4gICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnNcbiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBBbHNvIGNoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlnc1xuICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzXG4gICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgMDk3MjAzMjQyNDRlODYxYWQzYWJmMGQ4NmQ4Y2MxNmQ3YTMwOWYwYlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBTdW4gQXVnIDIgMjI6NDc6MjEgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9uZXQvbWFjODAyMTEvdGRscy5jIGIvbmV0L21hYzgwMjExL3RkbHMuY1xuaW5kZXggZmZkNTc1YThkMTg4Zi4uMjQyOTc1NTJmNWZjZiAxMDA2NDRcbi0tLSBhL25ldC9tYWM4MDIxMS90ZGxzLmNcbisrKyBiL25ldC9tYWM4MDIxMS90ZGxzLmNcbkBAIC0zMyw4ICszMywxMiBAQCB2b2lkIGllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmsoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IHdpcGh5X3dvcmsgKndrKVxuIFx0bG9ja2RlcF9hc3NlcnRfd2lwaHkobG9jYWwtXHUwMDNlaHcud2lwaHkpO1xuIFxuIFx0aWYgKCFpc196ZXJvX2V0aGVyX2FkZHIoc2RhdGEtXHUwMDNldS5tZ2QudGRsc19wZWVyKSkge1xuK1x0XHRzdHJ1Y3Qgc3RhX2luZm8gKnN0YTtcbitcbiBcdFx0dGRsc19kYmcoc2RhdGEsIFwiVERMUyBkZWwgcGVlciAlcE1cXG5cIiwgc2RhdGEtXHUwMDNldS5tZ2QudGRsc19wZWVyKTtcbi1cdFx0c3RhX2luZm9fZGVzdHJveV9hZGRyKHNkYXRhLCBzZGF0YS1cdTAwM2V1Lm1nZC50ZGxzX3BlZXIpO1xuK1x0XHRzdGEgPSBzdGFfaW5mb19nZXQoc2RhdGEsIHNkYXRhLVx1MDAzZXUubWdkLnRkbHNfcGVlcik7XG4rXHRcdGlmIChzdGEgXHUwMDI2XHUwMDI2IHN0YS1cdTAwM2VzdGEudGRscylcbitcdFx0XHRfX3N0YV9pbmZvX2Rlc3Ryb3koc3RhKTtcbiBcdFx0ZXRoX3plcm9fYWRkcihzZGF0YS1cdTAwM2V1Lm1nZC50ZGxzX3BlZXIpO1xuIFx0fVxuIH1cbkBAIC0xNDYyLDYgKzE0NjYsMTAgQEAgaW50IGllZWU4MDIxMV90ZGxzX29wZXIoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbiBcdFx0XHQgICAgICFldGhlcl9hZGRyX2VxdWFsKHNkYXRhLVx1MDAzZXUubWdkLnRkbHNfcGVlciwgcGVlcikpO1xuIFx0XHRicmVhaztcbiBcdGNhc2UgTkw4MDIxMV9URExTX0RJU0FCTEVfTElOSzpcbitcdFx0c3RhID0gc3RhX2luZm9fZ2V0KHNkYXRhLCBwZWVyKTtcbitcdFx0aWYgKCFzdGEgfHwgIXN0YS1cdTAwM2VzdGEudGRscylcbitcdFx0XHRyZXR1cm4gLUVOT0xJTks7XG4rXG4gXHRcdC8qXG4gXHRcdCAqIFRoZSB0ZWFyZG93biBtZXNzYWdlIGluIGllZWU4MDIxMV90ZGxzX21nbXRfdGVhcmRvd24oKSB3YXNcbiBcdFx0ICogY3JlYXRlZCB3aGlsZSB0aGUgcXVldWVzIHdlcmUgc3RvcHBlZCwgc28gaXQgbWlnaHQgc3RpbGwgYmVcbkBAIC0xNDc2LDcgKzE0ODQsNyBAQCBpbnQgaWVlZTgwMjExX3RkbHNfb3BlcihzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuIFx0XHQvKiBmbHVzaCBhIHBvdGVudGlhbGx5IHF1ZXVlZCB0ZWFyZG93biBwYWNrZXQgKi9cbiBcdFx0aWVlZTgwMjExX2ZsdXNoX3F1ZXVlcyhsb2NhbCwgc2RhdGEsIGZhbHNlKTtcbiBcbi1cdFx0cmV0ID0gc3RhX2luZm9fZGVzdHJveV9hZGRyKHNkYXRhLCBwZWVyKTtcbitcdFx0cmV0ID0gX19zdGFfaW5mb19kZXN0cm95KHN0YSk7XG4gXG4gXHRcdGllZTgwMjExX3RkbHNfcmVjYWxjX2h0X3Byb3RlY3Rpb24oc2RhdGEsIE5VTEwpO1xuIFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDJUMjI6NDc6MjIuNjMzOTEzNDcxWiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTc4NjA0MTEzOSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBNQUM4MDIxMSBURExTIFBhdGNoKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCB0aGF0IHR3ZWFrcyBgbmV0L21hYzgwMjExL3RkbHMuY2AuIFRoZSBjb3JlIG9mIHRoZSBjaGFuZ2UgcmV2b2x2ZXMgYXJvdW5kIGhvdyBzdGF0aW9uIGluZm9ybWF0aW9uIGlzIGhhbmRsZWQsIHNwZWNpZmljYWxseSB3aXRoaW4gdGhlIFRETFMgY29udGV4dC4gSXQgbG9va3MgbGlrZSB0aGV5J3JlIHJlcGxhY2luZyB0aGUgZGlyZWN0IGNhbGwgdG8gYHN0YV9pbmZvX2Rlc3Ryb3lfYWRkcmAgd2l0aCBhIG1vcmUgY2F1dGlvdXMgYXBwcm9hY2gsIHVzaW5nIGBzdGFfaW5mb19nZXRgIGFuZCBgX19zdGFfaW5mb19kZXN0cm95YCBpbnN0ZWFkLiBUaGUgZ29hbCBoZXJlLCBhcyBJIHVuZGVyc3RhbmQgaXQsIGlzIHRvIHZlcmlmeSB0aGF0IHRoZSBzdGF0aW9uIGluIHF1ZXN0aW9uIGlzICphY3R1YWxseSogYSBURExTIHN0YXRpb24gYnkgY2hlY2tpbmcgYHN0YS1cdTAwM2VzdGEudGRsc2AgYmVmb3JlIHByb2NlZWRpbmcgd2l0aCBkZXN0cnVjdGlvbi4gVGhpcyBpcyBhIHNvbGlkIG1vdmU7IGl0IGF2b2lkcyBwb3RlbnRpYWwgaXNzdWVzIHdpdGggYWNjaWRlbnRhbGx5IG9wZXJhdGluZyBvbiBub24tVERMUyBzdGF0aW9ucy5cblxuTm93LCBJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgaW1wbGljYXRpb25zIGJldHRlci4gTXkgZm9jdXMgbmVlZHMgdG8gYmUgb24gYGllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmtgIGFuZCBgaWVlZTgwMjExX3RkbHNfb3BlcmAg4oCTIHRoZSB0d28gZnVuY3Rpb25zIGJlaW5nIG1vZGlmaWVkLiBHaXZlbiB0aGF0IHRoZXNlIGFyZSBwYXJ0IG9mIHRoZSBURExTIGltcGxlbWVudGF0aW9uIHdpdGhpbiBtYWM4MDIxMSwgSSBjYW4gcHJldHR5IHF1aWNrbHkgY29uZmlybSB0aGlzIGlzIHJlbGV2YW50IHRvIHRoZSB0dW5uZWxlZCBkaXJlY3QgbGluayBzZXR1cCBmdW5jdGlvbmFsaXR5LlxuXG5UaGlzIGlzIGVtaW5lbnRseSB0ZXN0YWJsZTsgSSBjYW4gYWJzb2x1dGVseSB1c2UgYG1hYzgwMjExX2h3c2ltYCB0byBydW4gdGhyb3VnaCBzb21lIHNjZW5hcmlvcyBhbmQgdmFsaWRhdGUgdGhpcy4gSSdsbCBuZWVkIHRvIG1ha2Ugc3VyZSBJJ20gZXhlcmNpc2luZyB0aGUgY29kZSBwYXRocyBhZmZlY3RlZCBieSB0aGlzIGNoYW5nZS5cblxuTGFzdGx5LCBJIG5lZWQgdG8gcXVpY2tseSBpZGVudGlmeSB0aGUgcmVsZXZhbnQgY29uZmlndXJhdGlvbiBvcHRpb25zLiBgTUFDODAyMTFgIGlzIHRoZSBvYnZpb3VzIHN0YXJ0aW5nIHBvaW50LCBidXQgSSBzaG91bGQgc2NhbiBgbmV0L21hYzgwMjExL3RkbHMuY2AgaXRzZWxmIHRvIGNvbmZpcm0gaWYgdGhlcmUgYXJlIGFueSBzcGVjaWZpYyBURExTLXJlbGF0ZWQgY29uZmlndXJhdGlvbiBvcHRpb25zIHRoYXQgY291bGQgaW5mbHVlbmNlIHRoaXMgY2hhbmdlLiBHb3R0YSBjaGVjayBhbGwgdGhlIGRlcGVuZGVuY2llcyFcblxuXG4iLCJJbnB1dFRva2VucyI6MjUyNCwiT3V0cHV0VG9rZW5zIjozOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI0NCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAyVDIyOjQ3OjI4LjQxOTk1ODQzWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjU4NTQ2MjQ2LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImNvbmZpZyBNQUM4MDIxMVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvbWFjODAyMTEvS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQvbWFjODAyMTEvS2NvbmZpZy0xLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI6Y29uZmlnIE1BQzgwMjExXFxubmV0L21hYzgwMjExL0tjb25maWctMy1cXHR0cmlzdGF0ZSBcXFwiR2VuZXJpYyBJRUVFIDgwMi4xMSBOZXR3b3JraW5nIFN0YWNrIChtYWM4MDIxMSlcXFwiXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZz0xOT1pZiBNQUM4MDIxMSAhPSBuXFxubmV0L21hYzgwMjExL0tjb25maWctMjAtXFxubmV0L21hYzgwMjExL0tjb25maWc6MjE6Y29uZmlnIE1BQzgwMjExX0hBU19SQ1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIyLVxcdGJvb2xcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMy1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNDpjb25maWcgTUFDODAyMTFfUkNfTUlOU1RSRUxcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNS1cXHRib29sIFxcXCJNaW5zdHJlbFxcXCIgaWYgRVhQRVJUXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZz0zMT1jaG9pY2VcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTQwLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjQxOmNvbmZpZyBNQUM4MDIxMV9SQ19ERUZBVUxUX01JTlNUUkVMXFxubmV0L21hYzgwMjExL0tjb25maWctNDItXFx0Ym9vbCBcXFwiTWluc3RyZWxcXFwiXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZz00OD1lbmRjaG9pY2VcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy00OS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo1MDpjb25maWcgTUFDODAyMTFfUkNfREVGQVVMVFxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTUxLVxcdHN0cmluZ1xcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWc9NTc9Y29tbWVudCBcXFwiU29tZSB3aXJlbGVzcyBkcml2ZXJzIHJlcXVpcmUgYSByYXRlIGNvbnRyb2wgYWxnb3JpdGhtXFxcIlxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctNTktXFxubmV0L21hYzgwMjExL0tjb25maWc6NjA6Y29uZmlnIE1BQzgwMjExX0tVTklUX1RFU1RcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy02MS1cXHR0cmlzdGF0ZSBcXFwiS1VuaXQgdGVzdHMgZm9yIG1hYzgwMjExXFxcIiBpZiAhS1VOSVRfQUxMX1RFU1RTXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy02OS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo3MDpjb25maWcgTUFDODAyMTFfTUVTSFxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTcxLVxcdGJvb2wgXFxcIkVuYWJsZSBtYWM4MDIxMSBtZXNoIG5ldHdvcmtpbmcgc3VwcG9ydFxcXCJcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTc4LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjc5OmNvbmZpZyBNQUM4MDIxMV9MRURTXFxubmV0L21hYzgwMjExL0tjb25maWctODAtXFx0Ym9vbCBcXFwiRW5hYmxlIExFRCB0cmlnZ2Vyc1xcXCJcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTg3LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjg4OmNvbmZpZyBNQUM4MDIxMV9ERUJVR0ZTXFxubmV0L21hYzgwMjExL0tjb25maWctODktXFx0Ym9vbCBcXFwiRXhwb3J0IG1hYzgwMjExIGludGVybmFscyBpbiBEZWJ1Z0ZTXFxcIlxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctOTYtXFxubmV0L21hYzgwMjExL0tjb25maWc6OTc6Y29uZmlnIE1BQzgwMjExX01FU1NBR0VfVFJBQ0lOR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTk4LVxcdGJvb2wgXFxcIlRyYWNlIGFsbCBtYWM4MDIxMSBkZWJ1ZyBtZXNzYWdlc1xcXCJcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTEwOS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxMTA6bWVudWNvbmZpZyBNQUM4MDIxMV9ERUJVR19NRU5VXFxubmV0L21hYzgwMjExL0tjb25maWctMTExLVxcdGJvb2wgXFxcIlNlbGVjdCBtYWM4MDIxMSBkZWJ1Z2dpbmcgZmVhdHVyZXNcXFwiXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTUtXFxubmV0L21hYzgwMjExL0tjb25maWc6MTE2OmNvbmZpZyBNQUM4MDIxMV9OT0lOTElORVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTExNy1cXHRib29sIFxcXCJEbyBub3QgaW5saW5lIFRYL1JYIGhhbmRsZXJzXFxcIlxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTMxLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjEzMjpjb25maWcgTUFDODAyMTFfVkVSQk9TRV9ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTEzMy1cXHRib29sIFxcXCJWZXJib3NlIGRlYnVnZ2luZyBvdXRwdXRcXFwiXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNDItXFxubmV0L21hYzgwMjExL0tjb25maWc6MTQzOmNvbmZpZyBNQUM4MDIxMV9NTE1FX0RFQlVHXFxubmV0L21hYzgwMjExL0tjb25maWctMTQ0LVxcdGJvb2wgXFxcIlZlcmJvc2UgbWFuYWdlZCBNTE1FIG91dHB1dFxcXCJcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE1My1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxNTQ6Y29uZmlnIE1BQzgwMjExX1NUQV9ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE1NS1cXHRib29sIFxcXCJWZXJib3NlIHN0YXRpb24gZGVidWdnaW5nXFxcIlxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTYyLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE2Mzpjb25maWcgTUFDODAyMTFfSFRfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNjQtXFx0Ym9vbCBcXFwiVmVyYm9zZSBIVCBkZWJ1Z2dpbmdcXFwiXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNzQtXFxubmV0L21hYzgwMjExL0tjb25maWc6MTc1OmNvbmZpZyBNQUM4MDIxMV9PQ0JfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNzYtXFx0Ym9vbCBcXFwiVmVyYm9zZSBPQ0IgZGVidWdnaW5nXFxcIlxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTg1LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE4Njpjb25maWcgTUFDODAyMTFfSUJTU19ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE4Ny1cXHRib29sIFxcXCJWZXJib3NlIElCU1MgZGVidWdnaW5nXFxcIlxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTk2LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE5Nzpjb25maWcgTUFDODAyMTFfUFNfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xOTgtXFx0Ym9vbCBcXFwiVmVyYm9zZSBwb3dlcnNhdmUgbW9kZSBkZWJ1Z2dpbmdcXFwiXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMDgtXFxubmV0L21hYzgwMjExL0tjb25maWc6MjA5OmNvbmZpZyBNQUM4MDIxMV9NUExfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMTAtXFx0Ym9vbCBcXFwiVmVyYm9zZSBtZXNoIHBlZXIgbGluayBkZWJ1Z2dpbmdcXFwiXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMjEtXFxubmV0L21hYzgwMjExL0tjb25maWc6MjIyOmNvbmZpZyBNQUM4MDIxMV9NUEFUSF9ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIyMy1cXHRib29sIFxcXCJWZXJib3NlIG1lc2ggcGF0aCBkZWJ1Z2dpbmdcXFwiXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMzQtXFxubmV0L21hYzgwMjExL0tjb25maWc6MjM1OmNvbmZpZyBNQUM4MDIxMV9NSFdNUF9ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzNi1cXHRib29sIFxcXCJWZXJib3NlIG1lc2ggSFdNUCByb3V0aW5nIGRlYnVnZ2luZ1xcXCJcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI0Ny1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNDg6Y29uZmlnIE1BQzgwMjExX01FU0hfU1lOQ19ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI0OS1cXHRib29sIFxcXCJWZXJib3NlIG1lc2ggc3luY2hyb25pemF0aW9uIGRlYnVnZ2luZ1xcXCJcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI1OC1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNTk6Y29uZmlnIE1BQzgwMjExX01FU0hfQ1NBX0RFQlVHXFxubmV0L21hYzgwMjExL0tjb25maWctMjYwLVxcdGJvb2wgXFxcIlZlcmJvc2UgbWVzaCBjaGFubmVsIHN3aXRjaCBkZWJ1Z2dpbmdcXFwiXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNjktXFxubmV0L21hYzgwMjExL0tjb25maWc6MjcwOmNvbmZpZyBNQUM4MDIxMV9NRVNIX1BTX0RFQlVHXFxubmV0L21hYzgwMjExL0tjb25maWctMjcxLVxcdGJvb2wgXFxcIlZlcmJvc2UgbWVzaCBwb3dlcnNhdmUgZGVidWdnaW5nXFxcIlxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMjgwLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI4MTpjb25maWcgTUFDODAyMTFfVERMU19ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI4Mi1cXHRib29sIFxcXCJWZXJib3NlIFRETFMgZGVidWdnaW5nXFxcIlxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMjkyLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI5Mzpjb25maWcgTUFDODAyMTFfREVCVUdfQ09VTlRFUlNcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yOTQtXFx0Ym9vbCBcXFwiRXh0cmEgc3RhdGlzdGljcyBmb3IgVFgvUlggZGVidWdnaW5nXFxcIlxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMzA3LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjMwODpjb25maWcgTUFDODAyMTFfU1RBX0hBU0hfTUFYX1NJWkVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0zMDktXFx0aW50IFxcXCJTdGF0aW9uIGhhc2ggdGFibGUgbWF4aW11bSBzaXplXFxcIiBpZiBNQUM4MDIxMV9ERUJVR19NRU5VXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAyVDIyOjQ3OjI4LjQ3ODUxMjM1N1oiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjMzNDA2NTczMDEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzLCBmcmFtZWQgYXMgbXkgb3duIG1lbnRhbCBwcm9jZXNzaW5nOlxuXG4qKkFuYWx5emluZyBQb3RlbnRpYWwgSW1wYWN0IG9mIHRoZSBQYXRjaCoqXG5cblJpZ2h0LCBsZXQncyBicmVhayB0aGlzIGRvd24uIFRoaXMgcGF0Y2ggc2VlbXMgdG8gYmUgdG91Y2hpbmcgYGllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmtgIGFuZCBgaWVlZTgwMjExX3RkbHNfb3BlcmAuIEltbWVkaWF0ZWx5LCBteSBzcGlkZXktc2Vuc2UgaXMgdGluZ2xpbmcg4oCTIHRoZXNlIGFyZSBsaWtlbHkgZXhwb3NlZCB2aWEgbmw4MDIxMSBuZXRsaW5rIGNvbW1hbmRzLCBtYWtpbmcgdGhlbSBwcmltZSBjYW5kaWRhdGVzIGZvciBleHRlcm5hbCBpbnRlcmFjdGlvbiBhbmQsIHBvdGVudGlhbGx5LCB2dWxuZXJhYmlsaXRpZXMgaWYgbm90IGhhbmRsZWQgd2l0aCBleHRyZW1lIGNhcmUuIE15IGZpcnN0IG1vdmUgaXMgdG8gdmVyaWZ5IHRoYXQgc3VzcGljaW9uLiBJIG5lZWQgdG8gY29uZmlybSB0aGF0IGBpZWVlODAyMTFfdGRsc19vcGVyYCBpcyBpbmRlZWQgYWNjZXNzaWJsZSB0aHJvdWdoIHRoZSBuZXRsaW5rIGludGVyZmFjZS4gSXQncyBjcnVjaWFsIEkgdW5kZXJzdGFuZCB0aGUgYXR0YWNrIHN1cmZhY2UgYmVmb3JlIEkgZXZlbiBiZWdpbiB0byByZXZpZXcgdGhlIGNvZGUuIExldCdzIHNlZS4uLlxuXG5cbiIsIklucHV0VG9rZW5zIjo1MzY5LCJPdXRwdXRUb2tlbnMiOjQxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NzYsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDJUMjI6NDc6MzEuODE5MTc0NTg4WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjExMjE3MjUyMywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJpZWVlODAyMTFfdGRsc19vcGVyXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcIm5ldC9tYWM4MDIxMS9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwibmV0L21hYzgwMjExL2NmZy5jPTU5OTE9Y29uc3Qgc3RydWN0IGNmZzgwMjExX29wcyBtYWM4MDIxMV9jb25maWdfb3BzID0ge1xcbi0tXFxubmV0L21hYzgwMjExL2NmZy5jLTYwNjItXFx0LnNldF9yZWtleV9kYXRhID0gaWVlZTgwMjExX3NldF9yZWtleV9kYXRhLFxcbm5ldC9tYWM4MDIxMS9jZmcuYzo2MDYzOlxcdC50ZGxzX29wZXIgPSBpZWVlODAyMTFfdGRsc19vcGVyLFxcbm5ldC9tYWM4MDIxMS9jZmcuYy02MDY0LVxcdC50ZGxzX21nbXQgPSBpZWVlODAyMTFfdGRsc19tZ210LFxcbi0tXFxubmV0L21hYzgwMjExL2llZWU4MDIxMV9pLmg9MjkxMz1pbnQgaWVlZTgwMjExX3RkbHNfbWdtdChzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxubmV0L21hYzgwMjExL2llZWU4MDIxMV9pLmgtMjkxNy1cXHRcXHRcXHRjb25zdCB1OCAqZXh0cmFfaWVzLCBzaXplX3QgZXh0cmFfaWVzX2xlbik7XFxubmV0L21hYzgwMjExL2llZWU4MDIxMV9pLmg6MjkxODppbnQgaWVlZTgwMjExX3RkbHNfb3BlcihzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbm5ldC9tYWM4MDIxMS9pZWVlODAyMTFfaS5oLTI5MTktXFx0XFx0XFx0Y29uc3QgdTggKnBlZXIsIGVudW0gbmw4MDIxMV90ZGxzX29wZXJhdGlvbiBvcGVyKTtcXG4tLVxcbm5ldC9tYWM4MDIxMS90ZGxzLmM9MTM4Nj1pZWU4MDIxMV90ZGxzX3JlY2FsY19odF9wcm90ZWN0aW9uKHN0cnVjdCBpZWVlODAyMTFfc3ViX2lmX2RhdGEgKnNkYXRhLFxcbi0tXFxubmV0L21hYzgwMjExL3RkbHMuYy0xNDE2LVxcbm5ldC9tYWM4MDIxMS90ZGxzLmM6MTQxNzppbnQgaWVlZTgwMjExX3RkbHNfb3BlcihzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbm5ldC9tYWM4MDIxMS90ZGxzLmMtMTQxOC1cXHRcXHRcXHRjb25zdCB1OCAqcGVlciwgZW51bSBubDgwMjExX3RkbHNfb3BlcmF0aW9uIG9wZXIpXFxuLS1cXG5uZXQvbWFjODAyMTEvdGRscy5jLTE1MTAtXFxubmV0L21hYzgwMjExL3RkbHMuYzoxNTExOnZvaWQgaWVlZTgwMjExX3RkbHNfb3Blcl9yZXF1ZXN0KHN0cnVjdCBpZWVlODAyMTFfdmlmICp2aWYsIGNvbnN0IHU4ICpwZWVyLFxcbm5ldC9tYWM4MDIxMS90ZGxzLmMtMTUxMi1cXHRcXHRcXHRcXHQgZW51bSBubDgwMjExX3RkbHNfb3BlcmF0aW9uIG9wZXIsXFxuLS1cXG5uZXQvbWFjODAyMTEvdGRscy5jLTE1MjQtfVxcbm5ldC9tYWM4MDIxMS90ZGxzLmM6MTUyNTpFWFBPUlRfU1lNQk9MKGllZWU4MDIxMV90ZGxzX29wZXJfcmVxdWVzdCk7XFxubmV0L21hYzgwMjExL3RkbHMuYy0xNTI2LVxcbi0tXFxubmV0L21hYzgwMjExL3RkbHMuYz0yMDQ3PXZvaWQgaWVlZTgwMjExX3RlYXJkb3duX3RkbHNfcGVlcnMoc3RydWN0IGllZWU4MDIxMV9saW5rX2RhdGEgKmxpbmspXFxuLS1cXG5uZXQvbWFjODAyMTEvdGRscy5jLTIwNjEtXFxubmV0L21hYzgwMjExL3RkbHMuYzoyMDYyOlxcdFxcdGllZWU4MDIxMV90ZGxzX29wZXJfcmVxdWVzdChcXHUwMDI2c2RhdGEtXFx1MDAzZXZpZiwgc3RhLVxcdTAwM2VzdGEuYWRkcixcXG5uZXQvbWFjODAyMTEvdGRscy5jLTIwNjMtXFx0XFx0XFx0XFx0XFx0ICAgIE5MODAyMTFfVERMU19URUFSRE9XTiwgcmVhc29uLFxcbi0tXFxubmV0L21hYzgwMjExL3RkbHMuYz0yMDY5PXZvaWQgaWVlZTgwMjExX3RkbHNfaGFuZGxlX2Rpc2Nvbm5lY3Qoc3RydWN0IGllZWU4MDIxMV9zdWJfaWZfZGF0YSAqc2RhdGEsXFxuLS1cXG5uZXQvbWFjODAyMTEvdGRscy5jLTIwODUtXFxubmV0L21hYzgwMjExL3RkbHMuYzoyMDg2OlxcdGllZWU4MDIxMV90ZGxzX29wZXJfcmVxdWVzdChcXHUwMDI2c2RhdGEtXFx1MDAzZXZpZiwgcGVlcixcXG5uZXQvbWFjODAyMTEvdGRscy5jLTIwODctXFx0XFx0XFx0XFx0ICAgIE5MODAyMTFfVERMU19URUFSRE9XTixcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDJUMjI6NDc6MzEuOTMxMzUyMDYxWiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDI2MTEwNDI2MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IHVuZGVyc3RhbmRpbmcsIGZyYW1lZCBhcyBteSBpbnRlcm5hbCB0aG91Z2h0IHByb2Nlc3M6XG5cbioqRGl2aW5nIGludG8gdGhlIFRETFMgT3BlcmF0aW9ucyoqXG5cbkFscmlnaHQsIEknbSBkaWdnaW5nIGludG8gdGhpcyBgaWVlZTgwMjExX3RkbHNfb3BlcmAgZnVuY3Rpb24uIExldCBtZSBzZWUuLi4gcmlnaHQsIHRoaXMgaXMgdGhlIGAudGRsc19vcGVyYCBjYWxsYmFjayB3aXRoaW4gdGhlIGBtYWM4MDIxMV9jb25maWdfb3BzYCBzdHJ1Y3R1cmUuIFNvLCB0aGF0IG1lYW5zIGl0J3MgdGhlIGZ1bmN0aW9uIHRoYXQgZ2V0cyBjYWxsZWQgZnJvbSBgY2ZnODAyMTFgIHdoZW5ldmVyIGEgdXNlci1zcGFjZSBhcHBsaWNhdGlvbiB0aHJvd3MgYSBgTkw4MDIxMV9DTURfVERMU19PUEVSYCBjb21tYW5kIGF0IGl0LiBNYWtlcyBwZXJmZWN0IHNlbnNlLiBUaGlzIGlzIHRoZSBlbnRyeSBwb2ludCBmb3IgVERMUyAoVHVubmVsZWQgRGlyZWN0IExpbmsgU2V0dXApIG9wZXJhdGlvbnMgZnJvbSB0aGUgdXNlciBzcGFjZS5cblxuTm93LCB3aGF0IGFib3V0IHRoaXMgYGllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmtgIGZ1bmN0aW9uPyBJdCdzIG1lbnRpb25lZCBpbiB0aGUgY29udGV4dCwgc28gaXQncyBjbGVhcmx5IHJlbGF0ZWQuIEFoLCBpdCBsb29rcyBsaWtlIHRoaXMgaXMgYSB3b3JrcXVldWUgZnVuY3Rpb24uIEdvb2QsIGdvb2QsIGEgZGVmZXJyZWQgb3BlcmF0aW9uLiBMaWtlbHkgZGVhbGluZyB3aXRoIHRoZSBjbGVhbnVwIG9mIGEgVERMUyBwZWVyLiBJJ2xsIG5lZWQgdG8gZmlndXJlIG91dCB0aGUgZXhhY3QgY2xlYW51cCBwcm9jZXNzLCBzbyBpdCdzIHRpbWUgdG8gY2hlY2sgYGllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmtgIGZ1bmN0aW9uLiBJIHdpbGwgY2hlY2sgdGhlIGZpbGUgaW4gYG5ldC9tYWM4MDIxMS90ZGxzLmNgIHRvIHVuZGVyc3RhbmQgdGhlIHByb2Nlc3MuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjY3MzQsIk91dHB1dFRva2VucyI6NDUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMzksIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDJUMjI6NDc6MzYuMTkyNDU5Njc1WiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjY3MzY1MzI2LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmtcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L21hYzgwMjExL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQvbWFjODAyMTEvaWVlZTgwMjExX2kuaD0yOTE4PWludCBpZWVlODAyMTFfdGRsc19vcGVyKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxubmV0L21hYzgwMjExL2llZWU4MDIxMV9pLmgtMjkxOS1cXHRcXHRcXHRjb25zdCB1OCAqcGVlciwgZW51bSBubDgwMjExX3RkbHNfb3BlcmF0aW9uIG9wZXIpO1xcbm5ldC9tYWM4MDIxMS9pZWVlODAyMTFfaS5oOjI5MjA6dm9pZCBpZWVlODAyMTFfdGRsc19wZWVyX2RlbF93b3JrKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCB3aXBoeV93b3JrICp3ayk7XFxubmV0L21hYzgwMjExL2llZWU4MDIxMV9pLmgtMjkyMS1pbnQgaWVlZTgwMjExX3RkbHNfY2hhbm5lbF9zd2l0Y2goc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4tLVxcbm5ldC9tYWM4MDIxMS9tbG1lLmM9OTQ0Nj12b2lkIGllZWU4MDIxMV9zdGFfc2V0dXBfc2RhdGEoc3RydWN0IGllZWU4MDIxMV9zdWJfaWZfZGF0YSAqc2RhdGEpXFxuLS1cXG5uZXQvbWFjODAyMTEvbWxtZS5jLTk0NTUtXFx0d2lwaHlfZGVsYXllZF93b3JrX2luaXQoXFx1MDAyNmlmbWdkLVxcdTAwM2V0ZGxzX3BlZXJfZGVsX3dvcmssXFxubmV0L21hYzgwMjExL21sbWUuYzo5NDU2OlxcdFxcdFxcdFxcdGllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmspO1xcbm5ldC9tYWM4MDIxMS9tbG1lLmMtOTQ1Ny1cXHR3aXBoeV9ocnRpbWVyX3dvcmtfaW5pdChcXHUwMDI2aWZtZ2QtXFx1MDAzZW1sX3JlY29uZl93b3JrLFxcbi0tXFxubmV0L21hYzgwMjExL3RkbHMuYy0yMy1cXG5uZXQvbWFjODAyMTEvdGRscy5jOjI0OnZvaWQgaWVlZTgwMjExX3RkbHNfcGVlcl9kZWxfd29yayhzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3Qgd2lwaHlfd29yayAqd2spXFxubmV0L21hYzgwMjExL3RkbHMuYy0yNS17XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAyVDIyOjQ3OjM2LjI1OTgzMjYxWiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTI3NjY3NzI0MSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBNQUM4MDIxMSBURExTIEJ1ZyBGaXgqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCBhIHBhdGNoIHRoYXQgYWRkcmVzc2VzIGEgcG90ZW50aWFsIGlzc3VlIHdpdGhpbiB0aGUgTUFDODAyMTEgVERMUyBsb2dpYy4gSXQgc2VlbXMgdGhlcmUncyBhIGJ1ZyB3aGVyZSBgc3RhX2luZm9fZGVzdHJveV9hZGRyYCBpcyBiZWluZyBjYWxsZWQgaW4gYSBzY2VuYXJpbyB3aGVyZSB0aGUgc3RhdGlvbiBtaWdodCBub3QgYWN0dWFsbHkgYmUgYSBURExTIHN0YXRpb24sIG9yIGl0IHNpbXBseSBtaWdodCBub3QgZXZlbiBleGlzdC4gVGhlIGZpeCByZXBsYWNlcyB0aGlzIHByb2JsZW1hdGljIGNhbGwgd2l0aCBgc3RhX2luZm9fZ2V0YCBhbmQgYF9fc3RhX2luZm9fZGVzdHJveWAsIHdoaWNoIHNob3VsZCBwcm92aWRlIG1vcmUgcm9idXN0IGhhbmRsaW5nLlxuXG5GdW5jdGlvbmFsbHksIHRoaXMgaXMgYSBjaGFuZ2Ugd2l0aGluIHRoZSBURExTIGNvbXBvbmVudCBvZiBNQUM4MDIxMS4gR29vZCB0byBrbm93IGl0J3MgcmVhY2hhYmxlIHRocm91Z2ggYm90aCBgbWFjODAyMTFfaHdzaW1gIGFuZCB0aGUgY2ZnODAyMTEgbmV0bGluayBjb21tYW5kcywgd2hpY2ggZ2l2ZXMgdXMgbXVsdGlwbGUgd2F5cyB0byBpbnRlcmFjdCB3aXRoIGFuZCB0ZXN0IHRoaXMuXG5cblRvIHByb3Blcmx5IHZldCB0aGlzLCBmdXp6aW5nIGlzIGRlZmluaXRlbHkgb24gdGhlIGFnZW5kYS5cblxuSSdsbCBrZWVwIGFuIGV5ZSBvbiB0aGUgZm9sbG93aW5nIHN5bWJvbHMgYXMgSSBkaXZlIGRlZXBlcjogYGllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmtgIGFuZCBgaWVlZTgwMjExX3RkbHNfb3BlcmAuIFRoZXkgc2hvdWxkIHByb3ZpZGUgY3JpdGljYWwgY29udGV4dCBhcm91bmQgdGhlIGFmZmVjdGVkIGNvZGUuXG5cbkZvciBjb25maWd1cmF0aW9uLCBJJ2xsIG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgYE1BQzgwMjExYCBhbmQgYENGRzgwMjExYCBhcmUgZW5hYmxlZC4gU2luY2UgYENGRzgwMjExYCBpcyBpbXBsaWVkIGJ5IGBNQUM4MDIxMWAsIHRoYXQgc2hvdWxkIGJlIHJlbGF0aXZlbHkgc3RyYWlnaHRmb3J3YXJkLiBBbmQsIG9mIGNvdXJzZSwgZW5hYmxpbmcgYE1BQzgwMjExX0hXU0lNYCB3aWxsIGJlIGludmFsdWFibGUgZm9yIHRlc3RpbmcgdGhpcyBmaXguXG5cbkp1c3QgdG8gYmUgYWJzb2x1dGVseSBzdXJlLCBJJ2xsIHZlcmlmeSB0aGF0IGBNQUM4MDIxMV9IV1NJTWAgaXMgaW5kZWVkIHRoZSBjb3JyZWN0IGNvbmZpZ3VyYXRpb24gbmFtZS4gQmV0dGVyIHNhZmUgdGhhbiBzb3JyeS5cblxuXG4iLCJJbnB1dFRva2VucyI6NzcxNCwiT3V0cHV0VG9rZW5zIjozNywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjIyNSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0wMlQyMjo0Nzo0MS41MzY1MTIzMVoiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzEwOTIwMDAxLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImNvbmZpZyBNQUM4MDIxMV9IV1NJTVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvdmlydHVhbC9LY29uZmlnOjE6Y29uZmlnIE1BQzgwMjExX0hXU0lNXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvdmlydHVhbC9LY29uZmlnLTItXFx0dHJpc3RhdGUgXFxcIlNpbXVsYXRlZCByYWRpbyB0ZXN0aW5nIHRvb2wgZm9yIG1hYzgwMjExXFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wMlQyMjo0Nzo0MS44NDc0Mzc1MTFaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzAxNzk2MTc2MSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IHN1bW1hcml6ZWQgdGhvdWdodCBwcm9jZXNzLCBwcmVzZW50ZWQgYXMgaWYgSSB3ZXJlIGNvbnNpZGVyaW5nIHRoaXMgbXlzZWxmOlxuXG4qKlRETFMgQ29uZmlndXJhdGlvbiBSZXZpZXcqKlxuXG5BbHJpZ2h0LCB5ZXAsIEknbSB3aXRoIGl0LiBgTUFDODAyMTFfSFdTSU1gIGlzIGRlZmluaXRlbHkgdGhlIHJpZ2h0IGNvbmZpZ3VyYXRpb24gaGVyZS4gTWFrZXMgcGVyZmVjdCBzZW5zZS4gTm93LCBsZXQgbWUganVzdCBxdWlja2x5IHJ1biB0aHJvdWdoIG15IG1lbnRhbCBjaGVja2xpc3QuIFRpbWUgdG8gbWFrZSBzdXJlIHdlIGhhdmVuJ3Qgb3Zlcmxvb2tlZCBhbnkgb3RoZXIgY29uZmlnIHNldHRpbmdzIHRoYXQgbWlnaHQgYmUgcmVxdWlyZWQgc3BlY2lmaWNhbGx5IGZvciBURExTIGZ1bmN0aW9uYWxpdHkuIEkgbmVlZCB0byBlbnN1cmUgd2UgaGF2ZSBldmVyeSBiYXNlIGNvdmVyZWQgYW5kIGFyZW4ndCBtaXNzaW5nIHNvbWUgb2JzY3VyZSBmbGFnIG9yIGRlcGVuZGVuY3kuIEl0J3MgYSBxdWljayBzY2FuLCBqdXN0IHRvIGJlIHN1cmUgd2UgaGF2ZW4ndCBpbmFkdmVydGVudGx5IG9taXR0ZWQgc29tZXRoaW5nIGNyaXRpY2FsLlxuXG5cbiIsIklucHV0VG9rZW5zIjo4NDIxLCJPdXRwdXRUb2tlbnMiOjMzLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzMsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDJUMjI6NDc6NDQuODY1NDAyNjAyWiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo4NDg3MTQ2NCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJURExTXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcIm5ldC9tYWM4MDIxMS9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC9tYWM4MDIxMS9LY29uZmlnPTI3MD1jb25maWcgTUFDODAyMTFfTUVTSF9QU19ERUJVR1xcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMjgwLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI4MTpjb25maWcgTUFDODAyMTFfVERMU19ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI4MjpcXHRib29sIFxcXCJWZXJib3NlIFRETFMgZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI4My1cXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI4NS1cXHQgIFNlbGVjdGluZyB0aGlzIG9wdGlvbiBjYXVzZXMgbWFjODAyMTEgdG8gcHJpbnQgb3V0IHZlcnlcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyODY6XFx0ICB2ZXJib3NlIFRETFMgc2VsZWN0aW9uIGRlYnVnZ2luZyBtZXNzYWdlcyAod2hlbiBtYWM4MDIxMVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI4NzpcXHQgIGlzIGEgVERMUyBTVEEpLlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI4OC1cXHQgIEl0IHNob3VsZCBub3QgYmUgc2VsZWN0ZWQgb24gcHJvZHVjdGlvbiBzeXN0ZW1zIGFzIHRob3NlXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAyVDIyOjQ3OjQ0Ljk1MDI4MDI4N1oiLCJTZXEiOjEzLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo3NzgxOTE2NTc0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgVERMUyBQZWVyIFRlYXJkb3duIFBhdGNoKipcblxuT2theSwgc28gdGhpcyBwYXRjaCBpcyBkZWFsaW5nIHdpdGggVERMUyBwZWVycyB3aXRoaW4gdGhlIGBtYWM4MDIxMWAgc3Vic3lzdGVtLiBSaWdodCBvZmYgdGhlIGJhdCwgSSBzZWUgdGhhdCB0aGUgVERMUyBmdW5jdGlvbmFsaXR5IGl0c2VsZiBpc24ndCBhIHN0YW5kYWxvbmUgY29uZmlndXJhdGlvbiBvcHRpb24sIGl0J3MgaW50ZWdyYXRlZCBpbnRvIGBtYWM4MDIxMWAuIFRoYXQgbWFrZXMgc2Vuc2U7IGl04oCZcyBhIGNvcmUgd2lyZWxlc3MgY29tcG9uZW50LlxuXG5NeSBuZXh0IHN0ZXAgaXMgdG8gcXVpY2tseSBjb25maXJtIHRoZSBzY29wZSBvZiB0aGUga2V5IGZ1bmN0aW9ucy4gTGV0IG1lIGNoZWNrIGlmIGBpZWVlODAyMTFfdGRsc19vcGVyYCBpcyBzdGF0aWMgb3Igbm90LiBBaCwgaXQncyBub3Qgc3RhdGljLiBJdCdzIGV4cG9ydGVkIHRocm91Z2ggYG1hYzgwMjExX2NvbmZpZ19vcHNgLCB3aGljaCBpcyBpbXBvcnRhbnQgZm9yIHVuZGVyc3RhbmRpbmcgaXRzIHVzYWdlIHBvaW50cy4gQW5kIGBpZWVlODAyMTFfdGRsc19wZWVyX2RlbF93b3JrYCBpc24ndCBzdGF0aWMgZWl0aGVyLlxuXG5BbHJpZ2h0LCBzbyB0aGUga2V5IHN5bWJvbHMgdG8gZm9jdXMgb24gYXJlIGBpZWVlODAyMTFfdGRsc19wZWVyX2RlbF93b3JrYCBhbmQgYGllZWU4MDIxMV90ZGxzX29wZXJgLiBUaGF0IGdpdmVzIG1lIGEgY2xlYXIgaWRlYSBvZiB3aGVyZSB0aGUgbW9kaWZpY2F0aW9ucyBhcmUgZm9jdXNlZC5cblxuTm93LCBsZXQncyBsb29rIGF0IHRoZSBcIkVuYWJsZUNvbmZpZ3MuXCIgSSBjYW4gc2VlIHRoYXQgYE1BQzgwMjExYCBhbmQgYE1BQzgwMjExX0hXU0lNYCBhcmUgdGhlIHJlbGV2YW50IGNvbmZpZ3VyYXRpb25zLiBUaGUgSFdTSU0gZHJpdmVyIGlzIHBhcnRpY3VsYXJseSBpbnRlcmVzdGluZyBiZWNhdXNlIGl0IHN1Z2dlc3RzIHRoaXMgY2hhbmdlIGNhbiBiZSBlZmZlY3RpdmVseSB0ZXN0ZWQgaW4gYSBzaW11bGF0ZWQgZW52aXJvbm1lbnQsIHdoaWNoIGlzIGV4Y2VsbGVudCBmb3IgcmVncmVzc2lvbnMuXG5cblRoZSByZWFzb25pbmcgc2VjdGlvbiBoaWdobGlnaHRzIHRoYXQgdGhpcyBwYXRjaCBhZGRyZXNzZXMgVERMUyBwZWVyIHRlYXJkb3duIGFuZCBkZWxldGlvbiBsb2dpYyBpbiBgbWFjODAyMTFgLiBUaGUgY29yZSBvZiB0aGUgZml4IGFwcGVhcnMgdG8gaW52b2x2ZSBwcmV2ZW50aW5nIHRoZSBkZXN0cnVjdGlvbiBvZiBub24tVERMUyBzdGF0aW9ucywgd2hpY2ggaXMgYSBzZW5zaWJsZSBtZWFzdXJlLiBUaGUgY2hhbmdlIGFwcGVhcnMgdG8gYmUgaW4gdGhlIHdpcmVsZXNzIGNvcmUgbG9naWMsIGFuZCBjYW4gYmUgdHJpZ2dlcmVkIHZpYSBubDgwMjExIG5ldGxpbmsgY29tbWFuZHMuXG5cbkknbGwgcXVpY2tseSBkb3VibGUtY2hlY2sgaWYgYENGRzgwMjExYCBpcyByZXF1aXJlZC4gSSBrbm93IHRoYXQgYE1BQzgwMjExYCBoYXMgYSBkZXBlbmRlbmN5IG9uIGBDRkc4MDIxMWAuIFRvIGJlIHNhZmUsIEknbGwgaW5jbHVkZSBgQ0ZHODAyMTFgIGluIHRoZSBjb25maWd1cmF0aW9uIGFzIHdlbGwsIGp1c3QgdG8gZW5zdXJlIGNvbXByZWhlbnNpdmUgY292ZXJhZ2UuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjg4OTAsIk91dHB1dFRva2VucyI6MTk1LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzIzLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAyVDIyOjQ3OjUyLjczMjE5ODk0MVoiLCJTZXEiOjE0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE0OTEzNTk4MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiTUFDODAyMTFcIixcbiAgICBcIk1BQzgwMjExX0hXU0lNXCIsXG4gICAgXCJDRkc4MDIxMVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmtcIixcbiAgICBcImllZWU4MDIxMV90ZGxzX29wZXJcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgdGVhcmRvd24gYW5kIGRlbGV0aW9uIGxvZ2ljIGZvciBURExTIChUdW5uZWxlZCBEaXJlY3QgTGluayBTZXR1cCkgcGVlcnMgaW4gdGhlIG1hYzgwMjExIHN1YnN5c3RlbS4gSXQgZml4ZXMgYSBwb3RlbnRpYWwgaXNzdWUgd2hlcmUgYSBub24tVERMUyBzdGF0aW9uIGNvdWxkIGJlIGRlc3Ryb3llZCBieSB2ZXJpZnlpbmcgdGhlIHN0YXRpb24gdHlwZSBiZWZvcmUgY2FsbGluZyBgX19zdGFfaW5mb19kZXN0cm95YC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHJlYWNoYWJsZSBjb3JlIHdpcmVsZXNzIGxvZ2ljIHRoYXQgY2FuIGJlIHRyaWdnZXJlZCB2aWEgbmw4MDIxMSBuZXRsaW5rIGNvbW1hbmRzIGFuZCB0ZXN0ZWQgdXNpbmcgdGhlIG1hYzgwMjExX2h3c2ltIGRyaXZlci5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJNQUM4MDIxMVwiLFxuICAgIFwiTUFDODAyMTFfSFdTSU1cIixcbiAgICBcIkNGRzgwMjExXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiaWVlZTgwMjExX3RkbHNfcGVlcl9kZWxfd29ya1wiLFxuICAgIFwiaWVlZTgwMjExX3RkbHNfb3BlclwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSB0ZWFyZG93biBhbmQgZGVsZXRpb24gbG9naWMgZm9yIFRETFMgKFR1bm5lbGVkIERpcmVjdCBMaW5rIFNldHVwKSBwZWVycyBpbiB0aGUgbWFjODAyMTEgc3Vic3lzdGVtLiBJdCBmaXhlcyBhIHBvdGVudGlhbCBpc3N1ZSB3aGVyZSBhIG5vbi1URExTIHN0YXRpb24gY291bGQgYmUgZGVzdHJveWVkIGJ5IHZlcmlmeWluZyB0aGUgc3RhdGlvbiB0eXBlIGJlZm9yZSBjYWxsaW5nIGBfX3N0YV9pbmZvX2Rlc3Ryb3lgLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gcmVhY2hhYmxlIGNvcmUgd2lyZWxlc3MgbG9naWMgdGhhdCBjYW4gYmUgdHJpZ2dlcmVkIHZpYSBubDgwMjExIG5ldGxpbmsgY29tbWFuZHMgYW5kIHRlc3RlZCB1c2luZyB0aGUgbWFjODAyMTFfaHdzaW0gZHJpdmVyLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },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-workflowljf8x[0].run-triage(0) Phase: Succeeded StartedAt: 2026-08-02 22:45:15 +0000 UTC FinishedAt: 2026-08-02 22:47:54 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "axboe", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git", "commit_hash": "f5098b6bae761e346ebcd9da7f95622c04733cff", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "MAC80211", "MAC80211_HWSIM", "CFG80211" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "axboe", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git", "commit_hash": "f5098b6bae761e346ebcd9da7f95622c04733cff", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "MAC80211", "MAC80211_HWSIM", "CFG80211" ], "series_id": "132b80ac-3725-4bf3-b3e6-e2e1845b3bf7" }, "track": "KASAN", "fuzz": { "focus": null, "focus_symbols": [ "ieee80211_tdls_peer_del_work", "ieee80211_tdls_oper" ], "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+CgkJCTx0ZD4yMDI2LzA4LzAyIDIyOjQ3PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O01BQzgwMjExJiMzNDssCiAgICAmIzM0O01BQzgwMjExX0hXU0lNJiMzNDssCiAgICAmIzM0O0NGRzgwMjExJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7aWVlZTgwMjExX3RkbHNfcGVlcl9kZWxfd29yayYjMzQ7LAogICAgJiMzNDtpZWVlODAyMTFfdGRsc19vcGVyJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSB0ZWFyZG93biBhbmQgZGVsZXRpb24gbG9naWMgZm9yIFRETFMgKFR1bm5lbGVkIERpcmVjdCBMaW5rIFNldHVwKSBwZWVycyBpbiB0aGUgbWFjODAyMTEgc3Vic3lzdGVtLiBJdCBmaXhlcyBhIHBvdGVudGlhbCBpc3N1ZSB3aGVyZSBhIG5vbi1URExTIHN0YXRpb24gY291bGQgYmUgZGVzdHJveWVkIGJ5IHZlcmlmeWluZyB0aGUgc3RhdGlvbiB0eXBlIGJlZm9yZSBjYWxsaW5nIGBfX3N0YV9pbmZvX2Rlc3Ryb3lgLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gcmVhY2hhYmxlIGNvcmUgd2lyZWxlc3MgbG9naWMgdGhhdCBjYW4gYmUgdHJpZ2dlcmVkIHZpYSBubDgwMjExIG5ldGxpbmsgY29tbWFuZHMgYW5kIHRlc3RlZCB1c2luZyB0aGUgbWFjODAyMTFfaHdzaW0gZHJpdmVyLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAyIDIyOjQ3PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgMDk3MjAzMjQyNDRlODYxYWQzYWJmMGQ4NmQ4Y2MxNmQ3YTMwOWYwYlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBTdW4gQXVnIDIgMjI6NDc6MjEgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvbmV0L21hYzgwMjExL3RkbHMuYyBiL25ldC9tYWM4MDIxMS90ZGxzLmNcbmluZGV4IGZmZDU3NWE4ZDE4OGYuLjI0Mjk3NTUyZjVmY2YgMTAwNjQ0XG4tLS0gYS9uZXQvbWFjODAyMTEvdGRscy5jXG4mIzQzOyYjNDM7JiM0MzsgYi9uZXQvbWFjODAyMTEvdGRscy5jXG5AQCAtMzMsOCAmIzQzOzMzLDEyIEBAIHZvaWQgaWVlZTgwMjExX3RkbHNfcGVlcl9kZWxfd29yayhzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3Qgd2lwaHlfd29yayAqd2spXG4gXHRsb2NrZGVwX2Fzc2VydF93aXBoeShsb2NhbC1cdTAwM2Vody53aXBoeSk7XG4gXG4gXHRpZiAoIWlzX3plcm9fZXRoZXJfYWRkcihzZGF0YS1cdTAwM2V1Lm1nZC50ZGxzX3BlZXIpKSB7XG4mIzQzO1x0XHRzdHJ1Y3Qgc3RhX2luZm8gKnN0YTtcbiYjNDM7XG4gXHRcdHRkbHNfZGJnKHNkYXRhLCBcJiMzNDtURExTIGRlbCBwZWVyICVwTVxcblwmIzM0Oywgc2RhdGEtXHUwMDNldS5tZ2QudGRsc19wZWVyKTtcbi1cdFx0c3RhX2luZm9fZGVzdHJveV9hZGRyKHNkYXRhLCBzZGF0YS1cdTAwM2V1Lm1nZC50ZGxzX3BlZXIpO1xuJiM0MztcdFx0c3RhID0gc3RhX2luZm9fZ2V0KHNkYXRhLCBzZGF0YS1cdTAwM2V1Lm1nZC50ZGxzX3BlZXIpO1xuJiM0MztcdFx0aWYgKHN0YSBcdTAwMjZcdTAwMjYgc3RhLVx1MDAzZXN0YS50ZGxzKVxuJiM0MztcdFx0XHRfX3N0YV9pbmZvX2Rlc3Ryb3koc3RhKTtcbiBcdFx0ZXRoX3plcm9fYWRkcihzZGF0YS1cdTAwM2V1Lm1nZC50ZGxzX3BlZXIpO1xuIFx0fVxuIH1cbkBAIC0xNDYyLDYgJiM0MzsxNDY2LDEwIEBAIGludCBpZWVlODAyMTFfdGRsc19vcGVyKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4gXHRcdFx0ICAgICAhZXRoZXJfYWRkcl9lcXVhbChzZGF0YS1cdTAwM2V1Lm1nZC50ZGxzX3BlZXIsIHBlZXIpKTtcbiBcdFx0YnJlYWs7XG4gXHRjYXNlIE5MODAyMTFfVERMU19ESVNBQkxFX0xJTks6XG4mIzQzO1x0XHRzdGEgPSBzdGFfaW5mb19nZXQoc2RhdGEsIHBlZXIpO1xuJiM0MztcdFx0aWYgKCFzdGEgfHwgIXN0YS1cdTAwM2VzdGEudGRscylcbiYjNDM7XHRcdFx0cmV0dXJuIC1FTk9MSU5LO1xuJiM0MztcbiBcdFx0LypcbiBcdFx0ICogVGhlIHRlYXJkb3duIG1lc3NhZ2UgaW4gaWVlZTgwMjExX3RkbHNfbWdtdF90ZWFyZG93bigpIHdhc1xuIFx0XHQgKiBjcmVhdGVkIHdoaWxlIHRoZSBxdWV1ZXMgd2VyZSBzdG9wcGVkLCBzbyBpdCBtaWdodCBzdGlsbCBiZVxuQEAgLTE0NzYsNyAmIzQzOzE0ODQsNyBAQCBpbnQgaWVlZTgwMjExX3RkbHNfb3BlcihzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuIFx0XHQvKiBmbHVzaCBhIHBvdGVudGlhbGx5IHF1ZXVlZCB0ZWFyZG93biBwYWNrZXQgKi9cbiBcdFx0aWVlZTgwMjExX2ZsdXNoX3F1ZXVlcyhsb2NhbCwgc2RhdGEsIGZhbHNlKTtcbiBcbi1cdFx0cmV0ID0gc3RhX2luZm9fZGVzdHJveV9hZGRyKHNkYXRhLCBwZWVyKTtcbiYjNDM7XHRcdHJldCA9IF9fc3RhX2luZm9fZGVzdHJveShzdGEpO1xuIFxuIFx0XHRpZWU4MDIxMV90ZGxzX3JlY2FsY19odF9wcm90ZWN0aW9uKHNkYXRhLCBOVUxMKTtcbiBcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMiAyMjo0NzwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5iZXN0LWV4cGVuc2l2ZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7TUFDODAyMTEmIzM0OywKICAgICYjMzQ7TUFDODAyMTFfSFdTSU0mIzM0OywKICAgICYjMzQ7Q0ZHODAyMTEmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtpZWVlODAyMTFfdGRsc19wZWVyX2RlbF93b3JrJiMzNDssCiAgICAmIzM0O2llZWU4MDIxMV90ZGxzX29wZXImIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIHRlYXJkb3duIGFuZCBkZWxldGlvbiBsb2dpYyBmb3IgVERMUyAoVHVubmVsZWQgRGlyZWN0IExpbmsgU2V0dXApIHBlZXJzIGluIHRoZSBtYWM4MDIxMSBzdWJzeXN0ZW0uIEl0IGZpeGVzIGEgcG90ZW50aWFsIGlzc3VlIHdoZXJlIGEgbm9uLVRETFMgc3RhdGlvbiBjb3VsZCBiZSBkZXN0cm95ZWQgYnkgdmVyaWZ5aW5nIHRoZSBzdGF0aW9uIHR5cGUgYmVmb3JlIGNhbGxpbmcgYF9fc3RhX2luZm9fZGVzdHJveWAuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiByZWFjaGFibGUgY29yZSB3aXJlbGVzcyBsb2dpYyB0aGF0IGNhbiBiZSB0cmlnZ2VyZWQgdmlhIG5sODAyMTEgbmV0bGluayBjb21tYW5kcyBhbmQgdGVzdGVkIHVzaW5nIHRoZSBtYWM4MDIxMV9od3NpbSBkcml2ZXIuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsCiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuCi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSkKICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgogICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnMKICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIEFsc28gY2hlY2sgJiMzNDtkZXBlbmRzIG9uJiMzNDsgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzCiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncwogICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCAwOTcyMDMyNDI0NGU4NjFhZDNhYmYwZDg2ZDhjYzE2ZDdhMzA5ZjBiCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFN1biBBdWcgMiAyMjo0NzoyMSAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL25ldC9tYWM4MDIxMS90ZGxzLmMgYi9uZXQvbWFjODAyMTEvdGRscy5jCmluZGV4IGZmZDU3NWE4ZDE4OGYuLjI0Mjk3NTUyZjVmY2YgMTAwNjQ0Ci0tLSBhL25ldC9tYWM4MDIxMS90ZGxzLmMKJiM0MzsmIzQzOyYjNDM7IGIvbmV0L21hYzgwMjExL3RkbHMuYwpAQCAtMzMsOCAmIzQzOzMzLDEyIEBAIHZvaWQgaWVlZTgwMjExX3RkbHNfcGVlcl9kZWxfd29yayhzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3Qgd2lwaHlfd29yayAqd2spCiAJbG9ja2RlcF9hc3NlcnRfd2lwaHkobG9jYWwtJmd0O2h3LndpcGh5KTsKIAogCWlmICghaXNfemVyb19ldGhlcl9hZGRyKHNkYXRhLSZndDt1Lm1nZC50ZGxzX3BlZXIpKSB7CiYjNDM7CQlzdHJ1Y3Qgc3RhX2luZm8gKnN0YTsKJiM0MzsKIAkJdGRsc19kYmcoc2RhdGEsICYjMzQ7VERMUyBkZWwgcGVlciAlcE1cbiYjMzQ7LCBzZGF0YS0mZ3Q7dS5tZ2QudGRsc19wZWVyKTsKLQkJc3RhX2luZm9fZGVzdHJveV9hZGRyKHNkYXRhLCBzZGF0YS0mZ3Q7dS5tZ2QudGRsc19wZWVyKTsKJiM0MzsJCXN0YSA9IHN0YV9pbmZvX2dldChzZGF0YSwgc2RhdGEtJmd0O3UubWdkLnRkbHNfcGVlcik7CiYjNDM7CQlpZiAoc3RhICZhbXA7JmFtcDsgc3RhLSZndDtzdGEudGRscykKJiM0MzsJCQlfX3N0YV9pbmZvX2Rlc3Ryb3koc3RhKTsKIAkJZXRoX3plcm9fYWRkcihzZGF0YS0mZ3Q7dS5tZ2QudGRsc19wZWVyKTsKIAl9CiB9CkBAIC0xNDYyLDYgJiM0MzsxNDY2LDEwIEBAIGludCBpZWVlODAyMTFfdGRsc19vcGVyKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJCQkgICAgICFldGhlcl9hZGRyX2VxdWFsKHNkYXRhLSZndDt1Lm1nZC50ZGxzX3BlZXIsIHBlZXIpKTsKIAkJYnJlYWs7CiAJY2FzZSBOTDgwMjExX1RETFNfRElTQUJMRV9MSU5LOgomIzQzOwkJc3RhID0gc3RhX2luZm9fZ2V0KHNkYXRhLCBwZWVyKTsKJiM0MzsJCWlmICghc3RhIHx8ICFzdGEtJmd0O3N0YS50ZGxzKQomIzQzOwkJCXJldHVybiAtRU5PTElOSzsKJiM0MzsKIAkJLyoKIAkJICogVGhlIHRlYXJkb3duIG1lc3NhZ2UgaW4gaWVlZTgwMjExX3RkbHNfbWdtdF90ZWFyZG93bigpIHdhcwogCQkgKiBjcmVhdGVkIHdoaWxlIHRoZSBxdWV1ZXMgd2VyZSBzdG9wcGVkLCBzbyBpdCBtaWdodCBzdGlsbCBiZQpAQCAtMTQ3Niw3ICYjNDM7MTQ4NCw3IEBAIGludCBpZWVlODAyMTFfdGRsc19vcGVyKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJCS8qIGZsdXNoIGEgcG90ZW50aWFsbHkgcXVldWVkIHRlYXJkb3duIHBhY2tldCAqLwogCQlpZWVlODAyMTFfZmx1c2hfcXVldWVzKGxvY2FsLCBzZGF0YSwgZmFsc2UpOwogCi0JCXJldCA9IHN0YV9pbmZvX2Rlc3Ryb3lfYWRkcihzZGF0YSwgcGVlcik7CiYjNDM7CQlyZXQgPSBfX3N0YV9pbmZvX2Rlc3Ryb3koc3RhKTsKIAogCQlpZWU4MDIxMV90ZGxzX3JlY2FsY19odF9wcm90ZWN0aW9uKHNkYXRhLCBOVUxMKTsKIAo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMiAyMjo0NzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyNTI0CgkJCQkJCQlvdXRwdXQ6IDM4CgkJCQkJCQl0aG91Z2h0czogMjQ0CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIE1BQzgwMjExIFRETFMgUGF0Y2gqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggdGhhdCB0d2Vha3MgYG5ldC9tYWM4MDIxMS90ZGxzLmNgLiBUaGUgY29yZSBvZiB0aGUgY2hhbmdlIHJldm9sdmVzIGFyb3VuZCBob3cgc3RhdGlvbiBpbmZvcm1hdGlvbiBpcyBoYW5kbGVkLCBzcGVjaWZpY2FsbHkgd2l0aGluIHRoZSBURExTIGNvbnRleHQuIEl0IGxvb2tzIGxpa2UgdGhleSYjMzk7cmUgcmVwbGFjaW5nIHRoZSBkaXJlY3QgY2FsbCB0byBgc3RhX2luZm9fZGVzdHJveV9hZGRyYCB3aXRoIGEgbW9yZSBjYXV0aW91cyBhcHByb2FjaCwgdXNpbmcgYHN0YV9pbmZvX2dldGAgYW5kIGBfX3N0YV9pbmZvX2Rlc3Ryb3lgIGluc3RlYWQuIFRoZSBnb2FsIGhlcmUsIGFzIEkgdW5kZXJzdGFuZCBpdCwgaXMgdG8gdmVyaWZ5IHRoYXQgdGhlIHN0YXRpb24gaW4gcXVlc3Rpb24gaXMgKmFjdHVhbGx5KiBhIFRETFMgc3RhdGlvbiBieSBjaGVja2luZyBgc3RhLSZndDtzdGEudGRsc2AgYmVmb3JlIHByb2NlZWRpbmcgd2l0aCBkZXN0cnVjdGlvbi4gVGhpcyBpcyBhIHNvbGlkIG1vdmU7IGl0IGF2b2lkcyBwb3RlbnRpYWwgaXNzdWVzIHdpdGggYWNjaWRlbnRhbGx5IG9wZXJhdGluZyBvbiBub24tVERMUyBzdGF0aW9ucy4KCk5vdywgSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGltcGxpY2F0aW9ucyBiZXR0ZXIuIE15IGZvY3VzIG5lZWRzIHRvIGJlIG9uIGBpZWVlODAyMTFfdGRsc19wZWVyX2RlbF93b3JrYCBhbmQgYGllZWU4MDIxMV90ZGxzX29wZXJgIOKAkyB0aGUgdHdvIGZ1bmN0aW9ucyBiZWluZyBtb2RpZmllZC4gR2l2ZW4gdGhhdCB0aGVzZSBhcmUgcGFydCBvZiB0aGUgVERMUyBpbXBsZW1lbnRhdGlvbiB3aXRoaW4gbWFjODAyMTEsIEkgY2FuIHByZXR0eSBxdWlja2x5IGNvbmZpcm0gdGhpcyBpcyByZWxldmFudCB0byB0aGUgdHVubmVsZWQgZGlyZWN0IGxpbmsgc2V0dXAgZnVuY3Rpb25hbGl0eS4KClRoaXMgaXMgZW1pbmVudGx5IHRlc3RhYmxlOyBJIGNhbiBhYnNvbHV0ZWx5IHVzZSBgbWFjODAyMTFfaHdzaW1gIHRvIHJ1biB0aHJvdWdoIHNvbWUgc2NlbmFyaW9zIGFuZCB2YWxpZGF0ZSB0aGlzLiBJJiMzOTtsbCBuZWVkIHRvIG1ha2Ugc3VyZSBJJiMzOTttIGV4ZXJjaXNpbmcgdGhlIGNvZGUgcGF0aHMgYWZmZWN0ZWQgYnkgdGhpcyBjaGFuZ2UuCgpMYXN0bHksIEkgbmVlZCB0byBxdWlja2x5IGlkZW50aWZ5IHRoZSByZWxldmFudCBjb25maWd1cmF0aW9uIG9wdGlvbnMuIGBNQUM4MDIxMWAgaXMgdGhlIG9idmlvdXMgc3RhcnRpbmcgcG9pbnQsIGJ1dCBJIHNob3VsZCBzY2FuIGBuZXQvbWFjODAyMTEvdGRscy5jYCBpdHNlbGYgdG8gY29uZmlybSBpZiB0aGVyZSBhcmUgYW55IHNwZWNpZmljIFRETFMtcmVsYXRlZCBjb25maWd1cmF0aW9uIG9wdGlvbnMgdGhhdCBjb3VsZCBpbmZsdWVuY2UgdGhpcyBjaGFuZ2UuIEdvdHRhIGNoZWNrIGFsbCB0aGUgZGVwZW5kZW5jaWVzIQoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAyIDIyOjQ3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBNQUM4MDIxMSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC9tYWM4MDIxMS9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O25ldC9tYWM4MDIxMS9LY29uZmlnLTEtIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyOmNvbmZpZyBNQUM4MDIxMVxubmV0L21hYzgwMjExL0tjb25maWctMy1cdHRyaXN0YXRlIFwmIzM0O0dlbmVyaWMgSUVFRSA4MDIuMTEgTmV0d29ya2luZyBTdGFjayAobWFjODAyMTEpXCYjMzQ7XG4tLVxubmV0L21hYzgwMjExL0tjb25maWc9MTk9aWYgTUFDODAyMTEgIT0gblxubmV0L21hYzgwMjExL0tjb25maWctMjAtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMTpjb25maWcgTUFDODAyMTFfSEFTX1JDXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMi1cdGJvb2xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzLVxubmV0L21hYzgwMjExL0tjb25maWc6MjQ6Y29uZmlnIE1BQzgwMjExX1JDX01JTlNUUkVMXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNS1cdGJvb2wgXCYjMzQ7TWluc3RyZWxcJiMzNDsgaWYgRVhQRVJUXG4tLVxubmV0L21hYzgwMjExL0tjb25maWc9MzE9Y2hvaWNlXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctNDAtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo0MTpjb25maWcgTUFDODAyMTFfUkNfREVGQVVMVF9NSU5TVFJFTFxubmV0L21hYzgwMjExL0tjb25maWctNDItXHRib29sIFwmIzM0O01pbnN0cmVsXCYjMzQ7XG4tLVxubmV0L21hYzgwMjExL0tjb25maWc9NDg9ZW5kY2hvaWNlXG5uZXQvbWFjODAyMTEvS2NvbmZpZy00OS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjUwOmNvbmZpZyBNQUM4MDIxMV9SQ19ERUZBVUxUXG5uZXQvbWFjODAyMTEvS2NvbmZpZy01MS1cdHN0cmluZ1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnPTU3PWNvbW1lbnQgXCYjMzQ7U29tZSB3aXJlbGVzcyBkcml2ZXJzIHJlcXVpcmUgYSByYXRlIGNvbnRyb2wgYWxnb3JpdGhtXCYjMzQ7XG4tLVxubmV0L21hYzgwMjExL0tjb25maWctNTktXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo2MDpjb25maWcgTUFDODAyMTFfS1VOSVRfVEVTVFxubmV0L21hYzgwMjExL0tjb25maWctNjEtXHR0cmlzdGF0ZSBcJiMzNDtLVW5pdCB0ZXN0cyBmb3IgbWFjODAyMTFcJiMzNDsgaWYgIUtVTklUX0FMTF9URVNUU1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTY5LVxubmV0L21hYzgwMjExL0tjb25maWc6NzA6Y29uZmlnIE1BQzgwMjExX01FU0hcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTcxLVx0Ym9vbCBcJiMzNDtFbmFibGUgbWFjODAyMTEgbWVzaCBuZXR3b3JraW5nIHN1cHBvcnRcJiMzNDtcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy03OC1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjc5OmNvbmZpZyBNQUM4MDIxMV9MRURTXG5uZXQvbWFjODAyMTEvS2NvbmZpZy04MC1cdGJvb2wgXCYjMzQ7RW5hYmxlIExFRCB0cmlnZ2Vyc1wmIzM0O1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTg3LVxubmV0L21hYzgwMjExL0tjb25maWc6ODg6Y29uZmlnIE1BQzgwMjExX0RFQlVHRlNcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTg5LVx0Ym9vbCBcJiMzNDtFeHBvcnQgbWFjODAyMTEgaW50ZXJuYWxzIGluIERlYnVnRlNcJiMzNDtcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy05Ni1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjk3OmNvbmZpZyBNQUM4MDIxMV9NRVNTQUdFX1RSQUNJTkdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTk4LVx0Ym9vbCBcJiMzNDtUcmFjZSBhbGwgbWFjODAyMTEgZGVidWcgbWVzc2FnZXNcJiMzNDtcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMDktXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxMTA6bWVudWNvbmZpZyBNQUM4MDIxMV9ERUJVR19NRU5VXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTEtXHRib29sIFwmIzM0O1NlbGVjdCBtYWM4MDIxMSBkZWJ1Z2dpbmcgZmVhdHVyZXNcJiMzNDtcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTUtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxMTY6Y29uZmlnIE1BQzgwMjExX05PSU5MSU5FXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTctXHRib29sIFwmIzM0O0RvIG5vdCBpbmxpbmUgVFgvUlggaGFuZGxlcnNcJiMzNDtcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMzEtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxMzI6Y29uZmlnIE1BQzgwMjExX1ZFUkJPU0VfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTEzMy1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBkZWJ1Z2dpbmcgb3V0cHV0XCYjMzQ7XG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMTQyLVxubmV0L21hYzgwMjExL0tjb25maWc6MTQzOmNvbmZpZyBNQUM4MDIxMV9NTE1FX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNDQtXHRib29sIFwmIzM0O1ZlcmJvc2UgbWFuYWdlZCBNTE1FIG91dHB1dFwmIzM0O1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE1My1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE1NDpjb25maWcgTUFDODAyMTFfU1RBX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNTUtXHRib29sIFwmIzM0O1ZlcmJvc2Ugc3RhdGlvbiBkZWJ1Z2dpbmdcJiMzNDtcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNjItXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxNjM6Y29uZmlnIE1BQzgwMjExX0hUX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNjQtXHRib29sIFwmIzM0O1ZlcmJvc2UgSFQgZGVidWdnaW5nXCYjMzQ7XG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMTc0LVxubmV0L21hYzgwMjExL0tjb25maWc6MTc1OmNvbmZpZyBNQUM4MDIxMV9PQ0JfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE3Ni1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBPQ0IgZGVidWdnaW5nXCYjMzQ7XG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMTg1LVxubmV0L21hYzgwMjExL0tjb25maWc6MTg2OmNvbmZpZyBNQUM4MDIxMV9JQlNTX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xODctXHRib29sIFwmIzM0O1ZlcmJvc2UgSUJTUyBkZWJ1Z2dpbmdcJiMzNDtcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xOTYtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxOTc6Y29uZmlnIE1BQzgwMjExX1BTX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xOTgtXHRib29sIFwmIzM0O1ZlcmJvc2UgcG93ZXJzYXZlIG1vZGUgZGVidWdnaW5nXCYjMzQ7XG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMjA4LVxubmV0L21hYzgwMjExL0tjb25maWc6MjA5OmNvbmZpZyBNQUM4MDIxMV9NUExfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIxMC1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBtZXNoIHBlZXIgbGluayBkZWJ1Z2dpbmdcJiMzNDtcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMjEtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMjI6Y29uZmlnIE1BQzgwMjExX01QQVRIX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMjMtXHRib29sIFwmIzM0O1ZlcmJvc2UgbWVzaCBwYXRoIGRlYnVnZ2luZ1wmIzM0O1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzNC1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIzNTpjb25maWcgTUFDODAyMTFfTUhXTVBfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzNi1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBtZXNoIEhXTVAgcm91dGluZyBkZWJ1Z2dpbmdcJiMzNDtcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNDctXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNDg6Y29uZmlnIE1BQzgwMjExX01FU0hfU1lOQ19ERUJVR1xubmV0L21hYzgwMjExL0tjb25maWctMjQ5LVx0Ym9vbCBcJiMzNDtWZXJib3NlIG1lc2ggc3luY2hyb25pemF0aW9uIGRlYnVnZ2luZ1wmIzM0O1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI1OC1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI1OTpjb25maWcgTUFDODAyMTFfTUVTSF9DU0FfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI2MC1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBtZXNoIGNoYW5uZWwgc3dpdGNoIGRlYnVnZ2luZ1wmIzM0O1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI2OS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI3MDpjb25maWcgTUFDODAyMTFfTUVTSF9QU19ERUJVR1xubmV0L21hYzgwMjExL0tjb25maWctMjcxLVx0Ym9vbCBcJiMzNDtWZXJib3NlIG1lc2ggcG93ZXJzYXZlIGRlYnVnZ2luZ1wmIzM0O1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI4MC1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI4MTpjb25maWcgTUFDODAyMTFfVERMU19ERUJVR1xubmV0L21hYzgwMjExL0tjb25maWctMjgyLVx0Ym9vbCBcJiMzNDtWZXJib3NlIFRETFMgZGVidWdnaW5nXCYjMzQ7XG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMjkyLVxubmV0L21hYzgwMjExL0tjb25maWc6MjkzOmNvbmZpZyBNQUM4MDIxMV9ERUJVR19DT1VOVEVSU1xubmV0L21hYzgwMjExL0tjb25maWctMjk0LVx0Ym9vbCBcJiMzNDtFeHRyYSBzdGF0aXN0aWNzIGZvciBUWC9SWCBkZWJ1Z2dpbmdcJiMzNDtcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0zMDctXG5uZXQvbWFjODAyMTEvS2NvbmZpZzozMDg6Y29uZmlnIE1BQzgwMjExX1NUQV9IQVNIX01BWF9TSVpFXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0zMDktXHRpbnQgXCYjMzQ7U3RhdGlvbiBoYXNoIHRhYmxlIG1heGltdW0gc2l6ZVwmIzM0OyBpZiBNQUM4MDIxMV9ERUJVR19NRU5VXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDIgMjI6NDc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTM2OQoJCQkJCQkJb3V0cHV0OiA0MQoJCQkJCQkJdGhvdWdodHM6IDc2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBteSBvd24gbWVudGFsIHByb2Nlc3Npbmc6CgoqKkFuYWx5emluZyBQb3RlbnRpYWwgSW1wYWN0IG9mIHRoZSBQYXRjaCoqCgpSaWdodCwgbGV0JiMzOTtzIGJyZWFrIHRoaXMgZG93bi4gVGhpcyBwYXRjaCBzZWVtcyB0byBiZSB0b3VjaGluZyBgaWVlZTgwMjExX3RkbHNfcGVlcl9kZWxfd29ya2AgYW5kIGBpZWVlODAyMTFfdGRsc19vcGVyYC4gSW1tZWRpYXRlbHksIG15IHNwaWRleS1zZW5zZSBpcyB0aW5nbGluZyDigJMgdGhlc2UgYXJlIGxpa2VseSBleHBvc2VkIHZpYSBubDgwMjExIG5ldGxpbmsgY29tbWFuZHMsIG1ha2luZyB0aGVtIHByaW1lIGNhbmRpZGF0ZXMgZm9yIGV4dGVybmFsIGludGVyYWN0aW9uIGFuZCwgcG90ZW50aWFsbHksIHZ1bG5lcmFiaWxpdGllcyBpZiBub3QgaGFuZGxlZCB3aXRoIGV4dHJlbWUgY2FyZS4gTXkgZmlyc3QgbW92ZSBpcyB0byB2ZXJpZnkgdGhhdCBzdXNwaWNpb24uIEkgbmVlZCB0byBjb25maXJtIHRoYXQgYGllZWU4MDIxMV90ZGxzX29wZXJgIGlzIGluZGVlZCBhY2Nlc3NpYmxlIHRocm91Z2ggdGhlIG5ldGxpbmsgaW50ZXJmYWNlLiBJdCYjMzk7cyBjcnVjaWFsIEkgdW5kZXJzdGFuZCB0aGUgYXR0YWNrIHN1cmZhY2UgYmVmb3JlIEkgZXZlbiBiZWdpbiB0byByZXZpZXcgdGhlIGNvZGUuIExldCYjMzk7cyBzZWUuLi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMiAyMjo0NzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtpZWVlODAyMTFfdGRsc19vcGVyJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L21hYzgwMjExLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvbWFjODAyMTEvY2ZnLmM9NTk5MT1jb25zdCBzdHJ1Y3QgY2ZnODAyMTFfb3BzIG1hYzgwMjExX2NvbmZpZ19vcHMgPSB7XG4tLVxubmV0L21hYzgwMjExL2NmZy5jLTYwNjItXHQuc2V0X3Jla2V5X2RhdGEgPSBpZWVlODAyMTFfc2V0X3Jla2V5X2RhdGEsXG5uZXQvbWFjODAyMTEvY2ZnLmM6NjA2MzpcdC50ZGxzX29wZXIgPSBpZWVlODAyMTFfdGRsc19vcGVyLFxubmV0L21hYzgwMjExL2NmZy5jLTYwNjQtXHQudGRsc19tZ210ID0gaWVlZTgwMjExX3RkbHNfbWdtdCxcbi0tXG5uZXQvbWFjODAyMTEvaWVlZTgwMjExX2kuaD0yOTEzPWludCBpZWVlODAyMTFfdGRsc19tZ210KHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxubmV0L21hYzgwMjExL2llZWU4MDIxMV9pLmgtMjkxNy1cdFx0XHRjb25zdCB1OCAqZXh0cmFfaWVzLCBzaXplX3QgZXh0cmFfaWVzX2xlbik7XG5uZXQvbWFjODAyMTEvaWVlZTgwMjExX2kuaDoyOTE4OmludCBpZWVlODAyMTFfdGRsc19vcGVyKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG5uZXQvbWFjODAyMTEvaWVlZTgwMjExX2kuaC0yOTE5LVx0XHRcdGNvbnN0IHU4ICpwZWVyLCBlbnVtIG5sODAyMTFfdGRsc19vcGVyYXRpb24gb3Blcik7XG4tLVxubmV0L21hYzgwMjExL3RkbHMuYz0xMzg2PWllZTgwMjExX3RkbHNfcmVjYWxjX2h0X3Byb3RlY3Rpb24oc3RydWN0IGllZWU4MDIxMV9zdWJfaWZfZGF0YSAqc2RhdGEsXG4tLVxubmV0L21hYzgwMjExL3RkbHMuYy0xNDE2LVxubmV0L21hYzgwMjExL3RkbHMuYzoxNDE3OmludCBpZWVlODAyMTFfdGRsc19vcGVyKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG5uZXQvbWFjODAyMTEvdGRscy5jLTE0MTgtXHRcdFx0Y29uc3QgdTggKnBlZXIsIGVudW0gbmw4MDIxMV90ZGxzX29wZXJhdGlvbiBvcGVyKVxuLS1cbm5ldC9tYWM4MDIxMS90ZGxzLmMtMTUxMC1cbm5ldC9tYWM4MDIxMS90ZGxzLmM6MTUxMTp2b2lkIGllZWU4MDIxMV90ZGxzX29wZXJfcmVxdWVzdChzdHJ1Y3QgaWVlZTgwMjExX3ZpZiAqdmlmLCBjb25zdCB1OCAqcGVlcixcbm5ldC9tYWM4MDIxMS90ZGxzLmMtMTUxMi1cdFx0XHRcdCBlbnVtIG5sODAyMTFfdGRsc19vcGVyYXRpb24gb3Blcixcbi0tXG5uZXQvbWFjODAyMTEvdGRscy5jLTE1MjQtfVxubmV0L21hYzgwMjExL3RkbHMuYzoxNTI1OkVYUE9SVF9TWU1CT0woaWVlZTgwMjExX3RkbHNfb3Blcl9yZXF1ZXN0KTtcbm5ldC9tYWM4MDIxMS90ZGxzLmMtMTUyNi1cbi0tXG5uZXQvbWFjODAyMTEvdGRscy5jPTIwNDc9dm9pZCBpZWVlODAyMTFfdGVhcmRvd25fdGRsc19wZWVycyhzdHJ1Y3QgaWVlZTgwMjExX2xpbmtfZGF0YSAqbGluaylcbi0tXG5uZXQvbWFjODAyMTEvdGRscy5jLTIwNjEtXG5uZXQvbWFjODAyMTEvdGRscy5jOjIwNjI6XHRcdGllZWU4MDIxMV90ZGxzX29wZXJfcmVxdWVzdChcdTAwMjZzZGF0YS1cdTAwM2V2aWYsIHN0YS1cdTAwM2VzdGEuYWRkcixcbm5ldC9tYWM4MDIxMS90ZGxzLmMtMjA2My1cdFx0XHRcdFx0ICAgIE5MODAyMTFfVERMU19URUFSRE9XTiwgcmVhc29uLFxuLS1cbm5ldC9tYWM4MDIxMS90ZGxzLmM9MjA2OT12b2lkIGllZWU4MDIxMV90ZGxzX2hhbmRsZV9kaXNjb25uZWN0KHN0cnVjdCBpZWVlODAyMTFfc3ViX2lmX2RhdGEgKnNkYXRhLFxuLS1cbm5ldC9tYWM4MDIxMS90ZGxzLmMtMjA4NS1cbm5ldC9tYWM4MDIxMS90ZGxzLmM6MjA4NjpcdGllZWU4MDIxMV90ZGxzX29wZXJfcmVxdWVzdChcdTAwMjZzZGF0YS1cdTAwM2V2aWYsIHBlZXIsXG5uZXQvbWFjODAyMTEvdGRscy5jLTIwODctXHRcdFx0XHQgICAgTkw4MDIxMV9URExTX1RFQVJET1dOLFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAyIDIyOjQ3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDY3MzQKCQkJCQkJCW91dHB1dDogNDUKCQkJCQkJCXRob3VnaHRzOiAxMzkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgdW5kZXJzdGFuZGluZywgZnJhbWVkIGFzIG15IGludGVybmFsIHRob3VnaHQgcHJvY2VzczoKCioqRGl2aW5nIGludG8gdGhlIFRETFMgT3BlcmF0aW9ucyoqCgpBbHJpZ2h0LCBJJiMzOTttIGRpZ2dpbmcgaW50byB0aGlzIGBpZWVlODAyMTFfdGRsc19vcGVyYCBmdW5jdGlvbi4gTGV0IG1lIHNlZS4uLiByaWdodCwgdGhpcyBpcyB0aGUgYC50ZGxzX29wZXJgIGNhbGxiYWNrIHdpdGhpbiB0aGUgYG1hYzgwMjExX2NvbmZpZ19vcHNgIHN0cnVjdHVyZS4gU28sIHRoYXQgbWVhbnMgaXQmIzM5O3MgdGhlIGZ1bmN0aW9uIHRoYXQgZ2V0cyBjYWxsZWQgZnJvbSBgY2ZnODAyMTFgIHdoZW5ldmVyIGEgdXNlci1zcGFjZSBhcHBsaWNhdGlvbiB0aHJvd3MgYSBgTkw4MDIxMV9DTURfVERMU19PUEVSYCBjb21tYW5kIGF0IGl0LiBNYWtlcyBwZXJmZWN0IHNlbnNlLiBUaGlzIGlzIHRoZSBlbnRyeSBwb2ludCBmb3IgVERMUyAoVHVubmVsZWQgRGlyZWN0IExpbmsgU2V0dXApIG9wZXJhdGlvbnMgZnJvbSB0aGUgdXNlciBzcGFjZS4KCk5vdywgd2hhdCBhYm91dCB0aGlzIGBpZWVlODAyMTFfdGRsc19wZWVyX2RlbF93b3JrYCBmdW5jdGlvbj8gSXQmIzM5O3MgbWVudGlvbmVkIGluIHRoZSBjb250ZXh0LCBzbyBpdCYjMzk7cyBjbGVhcmx5IHJlbGF0ZWQuIEFoLCBpdCBsb29rcyBsaWtlIHRoaXMgaXMgYSB3b3JrcXVldWUgZnVuY3Rpb24uIEdvb2QsIGdvb2QsIGEgZGVmZXJyZWQgb3BlcmF0aW9uLiBMaWtlbHkgZGVhbGluZyB3aXRoIHRoZSBjbGVhbnVwIG9mIGEgVERMUyBwZWVyLiBJJiMzOTtsbCBuZWVkIHRvIGZpZ3VyZSBvdXQgdGhlIGV4YWN0IGNsZWFudXAgcHJvY2Vzcywgc28gaXQmIzM5O3MgdGltZSB0byBjaGVjayBgaWVlZTgwMjExX3RkbHNfcGVlcl9kZWxfd29ya2AgZnVuY3Rpb24uIEkgd2lsbCBjaGVjayB0aGUgZmlsZSBpbiBgbmV0L21hYzgwMjExL3RkbHMuY2AgdG8gdW5kZXJzdGFuZCB0aGUgcHJvY2Vzcy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMiAyMjo0NzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtpZWVlODAyMTFfdGRsc19wZWVyX2RlbF93b3JrJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L21hYzgwMjExLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvbWFjODAyMTEvaWVlZTgwMjExX2kuaD0yOTE4PWludCBpZWVlODAyMTFfdGRsc19vcGVyKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG5uZXQvbWFjODAyMTEvaWVlZTgwMjExX2kuaC0yOTE5LVx0XHRcdGNvbnN0IHU4ICpwZWVyLCBlbnVtIG5sODAyMTFfdGRsc19vcGVyYXRpb24gb3Blcik7XG5uZXQvbWFjODAyMTEvaWVlZTgwMjExX2kuaDoyOTIwOnZvaWQgaWVlZTgwMjExX3RkbHNfcGVlcl9kZWxfd29yayhzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3Qgd2lwaHlfd29yayAqd2spO1xubmV0L21hYzgwMjExL2llZWU4MDIxMV9pLmgtMjkyMS1pbnQgaWVlZTgwMjExX3RkbHNfY2hhbm5lbF9zd2l0Y2goc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5uZXQvbWFjODAyMTEvbWxtZS5jPTk0NDY9dm9pZCBpZWVlODAyMTFfc3RhX3NldHVwX3NkYXRhKHN0cnVjdCBpZWVlODAyMTFfc3ViX2lmX2RhdGEgKnNkYXRhKVxuLS1cbm5ldC9tYWM4MDIxMS9tbG1lLmMtOTQ1NS1cdHdpcGh5X2RlbGF5ZWRfd29ya19pbml0KFx1MDAyNmlmbWdkLVx1MDAzZXRkbHNfcGVlcl9kZWxfd29yayxcbm5ldC9tYWM4MDIxMS9tbG1lLmM6OTQ1NjpcdFx0XHRcdGllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmspO1xubmV0L21hYzgwMjExL21sbWUuYy05NDU3LVx0d2lwaHlfaHJ0aW1lcl93b3JrX2luaXQoXHUwMDI2aWZtZ2QtXHUwMDNlbWxfcmVjb25mX3dvcmssXG4tLVxubmV0L21hYzgwMjExL3RkbHMuYy0yMy1cbm5ldC9tYWM4MDIxMS90ZGxzLmM6MjQ6dm9pZCBpZWVlODAyMTFfdGRsc19wZWVyX2RlbF93b3JrKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCB3aXBoeV93b3JrICp3aylcbm5ldC9tYWM4MDIxMS90ZGxzLmMtMjUte1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAyIDIyOjQ3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDc3MTQKCQkJCQkJCW91dHB1dDogMzcKCQkJCQkJCXRob3VnaHRzOiAyMjUKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgTUFDODAyMTEgVERMUyBCdWcgRml4KioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCBhIHBhdGNoIHRoYXQgYWRkcmVzc2VzIGEgcG90ZW50aWFsIGlzc3VlIHdpdGhpbiB0aGUgTUFDODAyMTEgVERMUyBsb2dpYy4gSXQgc2VlbXMgdGhlcmUmIzM5O3MgYSBidWcgd2hlcmUgYHN0YV9pbmZvX2Rlc3Ryb3lfYWRkcmAgaXMgYmVpbmcgY2FsbGVkIGluIGEgc2NlbmFyaW8gd2hlcmUgdGhlIHN0YXRpb24gbWlnaHQgbm90IGFjdHVhbGx5IGJlIGEgVERMUyBzdGF0aW9uLCBvciBpdCBzaW1wbHkgbWlnaHQgbm90IGV2ZW4gZXhpc3QuIFRoZSBmaXggcmVwbGFjZXMgdGhpcyBwcm9ibGVtYXRpYyBjYWxsIHdpdGggYHN0YV9pbmZvX2dldGAgYW5kIGBfX3N0YV9pbmZvX2Rlc3Ryb3lgLCB3aGljaCBzaG91bGQgcHJvdmlkZSBtb3JlIHJvYnVzdCBoYW5kbGluZy4KCkZ1bmN0aW9uYWxseSwgdGhpcyBpcyBhIGNoYW5nZSB3aXRoaW4gdGhlIFRETFMgY29tcG9uZW50IG9mIE1BQzgwMjExLiBHb29kIHRvIGtub3cgaXQmIzM5O3MgcmVhY2hhYmxlIHRocm91Z2ggYm90aCBgbWFjODAyMTFfaHdzaW1gIGFuZCB0aGUgY2ZnODAyMTEgbmV0bGluayBjb21tYW5kcywgd2hpY2ggZ2l2ZXMgdXMgbXVsdGlwbGUgd2F5cyB0byBpbnRlcmFjdCB3aXRoIGFuZCB0ZXN0IHRoaXMuCgpUbyBwcm9wZXJseSB2ZXQgdGhpcywgZnV6emluZyBpcyBkZWZpbml0ZWx5IG9uIHRoZSBhZ2VuZGEuCgpJJiMzOTtsbCBrZWVwIGFuIGV5ZSBvbiB0aGUgZm9sbG93aW5nIHN5bWJvbHMgYXMgSSBkaXZlIGRlZXBlcjogYGllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmtgIGFuZCBgaWVlZTgwMjExX3RkbHNfb3BlcmAuIFRoZXkgc2hvdWxkIHByb3ZpZGUgY3JpdGljYWwgY29udGV4dCBhcm91bmQgdGhlIGFmZmVjdGVkIGNvZGUuCgpGb3IgY29uZmlndXJhdGlvbiwgSSYjMzk7bGwgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCBgTUFDODAyMTFgIGFuZCBgQ0ZHODAyMTFgIGFyZSBlbmFibGVkLiBTaW5jZSBgQ0ZHODAyMTFgIGlzIGltcGxpZWQgYnkgYE1BQzgwMjExYCwgdGhhdCBzaG91bGQgYmUgcmVsYXRpdmVseSBzdHJhaWdodGZvcndhcmQuIEFuZCwgb2YgY291cnNlLCBlbmFibGluZyBgTUFDODAyMTFfSFdTSU1gIHdpbGwgYmUgaW52YWx1YWJsZSBmb3IgdGVzdGluZyB0aGlzIGZpeC4KCkp1c3QgdG8gYmUgYWJzb2x1dGVseSBzdXJlLCBJJiMzOTtsbCB2ZXJpZnkgdGhhdCBgTUFDODAyMTFfSFdTSU1gIGlzIGluZGVlZCB0aGUgY29ycmVjdCBjb25maWd1cmF0aW9uIG5hbWUuIEJldHRlciBzYWZlIHRoYW4gc29ycnkuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAyIDIyOjQ3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBNQUM4MDIxMV9IV1NJTSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy92aXJ0dWFsL0tjb25maWc6MTpjb25maWcgTUFDODAyMTFfSFdTSU1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL3ZpcnR1YWwvS2NvbmZpZy0yLVx0dHJpc3RhdGUgXCYjMzQ7U2ltdWxhdGVkIHJhZGlvIHRlc3RpbmcgdG9vbCBmb3IgbWFjODAyMTFcJiMzNDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDIgMjI6NDc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogODQyMQoJCQkJCQkJb3V0cHV0OiAzMwoJCQkJCQkJdGhvdWdodHM6IDMzCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IHN1bW1hcml6ZWQgdGhvdWdodCBwcm9jZXNzLCBwcmVzZW50ZWQgYXMgaWYgSSB3ZXJlIGNvbnNpZGVyaW5nIHRoaXMgbXlzZWxmOgoKKipURExTIENvbmZpZ3VyYXRpb24gUmV2aWV3KioKCkFscmlnaHQsIHllcCwgSSYjMzk7bSB3aXRoIGl0LiBgTUFDODAyMTFfSFdTSU1gIGlzIGRlZmluaXRlbHkgdGhlIHJpZ2h0IGNvbmZpZ3VyYXRpb24gaGVyZS4gTWFrZXMgcGVyZmVjdCBzZW5zZS4gTm93LCBsZXQgbWUganVzdCBxdWlja2x5IHJ1biB0aHJvdWdoIG15IG1lbnRhbCBjaGVja2xpc3QuIFRpbWUgdG8gbWFrZSBzdXJlIHdlIGhhdmVuJiMzOTt0IG92ZXJsb29rZWQgYW55IG90aGVyIGNvbmZpZyBzZXR0aW5ncyB0aGF0IG1pZ2h0IGJlIHJlcXVpcmVkIHNwZWNpZmljYWxseSBmb3IgVERMUyBmdW5jdGlvbmFsaXR5LiBJIG5lZWQgdG8gZW5zdXJlIHdlIGhhdmUgZXZlcnkgYmFzZSBjb3ZlcmVkIGFuZCBhcmVuJiMzOTt0IG1pc3Npbmcgc29tZSBvYnNjdXJlIGZsYWcgb3IgZGVwZW5kZW5jeS4gSXQmIzM5O3MgYSBxdWljayBzY2FuLCBqdXN0IHRvIGJlIHN1cmUgd2UgaGF2ZW4mIzM5O3QgaW5hZHZlcnRlbnRseSBvbWl0dGVkIHNvbWV0aGluZyBjcml0aWNhbC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDIgMjI6NDc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7VERMUyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC9tYWM4MDIxMS9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O25ldC9tYWM4MDIxMS9LY29uZmlnPTI3MD1jb25maWcgTUFDODAyMTFfTUVTSF9QU19ERUJVR1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI4MC1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI4MTpjb25maWcgTUFDODAyMTFfVERMU19ERUJVR1xubmV0L21hYzgwMjExL0tjb25maWc6MjgyOlx0Ym9vbCBcJiMzNDtWZXJib3NlIFRETFMgZGVidWdnaW5nXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yODMtXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yODUtXHQgIFNlbGVjdGluZyB0aGlzIG9wdGlvbiBjYXVzZXMgbWFjODAyMTEgdG8gcHJpbnQgb3V0IHZlcnlcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI4NjpcdCAgdmVyYm9zZSBURExTIHNlbGVjdGlvbiBkZWJ1Z2dpbmcgbWVzc2FnZXMgKHdoZW4gbWFjODAyMTFcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI4NzpcdCAgaXMgYSBURExTIFNUQSkuXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yODgtXHQgIEl0IHNob3VsZCBub3QgYmUgc2VsZWN0ZWQgb24gcHJvZHVjdGlvbiBzeXN0ZW1zIGFzIHRob3NlXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAyIDIyOjQ3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDg4OTAKCQkJCQkJCW91dHB1dDogMTk1CgkJCQkJCQl0aG91Z2h0czogMzIzCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgVERMUyBQZWVyIFRlYXJkb3duIFBhdGNoKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgZGVhbGluZyB3aXRoIFRETFMgcGVlcnMgd2l0aGluIHRoZSBgbWFjODAyMTFgIHN1YnN5c3RlbS4gUmlnaHQgb2ZmIHRoZSBiYXQsIEkgc2VlIHRoYXQgdGhlIFRETFMgZnVuY3Rpb25hbGl0eSBpdHNlbGYgaXNuJiMzOTt0IGEgc3RhbmRhbG9uZSBjb25maWd1cmF0aW9uIG9wdGlvbiwgaXQmIzM5O3MgaW50ZWdyYXRlZCBpbnRvIGBtYWM4MDIxMWAuIFRoYXQgbWFrZXMgc2Vuc2U7IGl04oCZcyBhIGNvcmUgd2lyZWxlc3MgY29tcG9uZW50LgoKTXkgbmV4dCBzdGVwIGlzIHRvIHF1aWNrbHkgY29uZmlybSB0aGUgc2NvcGUgb2YgdGhlIGtleSBmdW5jdGlvbnMuIExldCBtZSBjaGVjayBpZiBgaWVlZTgwMjExX3RkbHNfb3BlcmAgaXMgc3RhdGljIG9yIG5vdC4gQWgsIGl0JiMzOTtzIG5vdCBzdGF0aWMuIEl0JiMzOTtzIGV4cG9ydGVkIHRocm91Z2ggYG1hYzgwMjExX2NvbmZpZ19vcHNgLCB3aGljaCBpcyBpbXBvcnRhbnQgZm9yIHVuZGVyc3RhbmRpbmcgaXRzIHVzYWdlIHBvaW50cy4gQW5kIGBpZWVlODAyMTFfdGRsc19wZWVyX2RlbF93b3JrYCBpc24mIzM5O3Qgc3RhdGljIGVpdGhlci4KCkFscmlnaHQsIHNvIHRoZSBrZXkgc3ltYm9scyB0byBmb2N1cyBvbiBhcmUgYGllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmtgIGFuZCBgaWVlZTgwMjExX3RkbHNfb3BlcmAuIFRoYXQgZ2l2ZXMgbWUgYSBjbGVhciBpZGVhIG9mIHdoZXJlIHRoZSBtb2RpZmljYXRpb25zIGFyZSBmb2N1c2VkLgoKTm93LCBsZXQmIzM5O3MgbG9vayBhdCB0aGUgJiMzNDtFbmFibGVDb25maWdzLiYjMzQ7IEkgY2FuIHNlZSB0aGF0IGBNQUM4MDIxMWAgYW5kIGBNQUM4MDIxMV9IV1NJTWAgYXJlIHRoZSByZWxldmFudCBjb25maWd1cmF0aW9ucy4gVGhlIEhXU0lNIGRyaXZlciBpcyBwYXJ0aWN1bGFybHkgaW50ZXJlc3RpbmcgYmVjYXVzZSBpdCBzdWdnZXN0cyB0aGlzIGNoYW5nZSBjYW4gYmUgZWZmZWN0aXZlbHkgdGVzdGVkIGluIGEgc2ltdWxhdGVkIGVudmlyb25tZW50LCB3aGljaCBpcyBleGNlbGxlbnQgZm9yIHJlZ3Jlc3Npb25zLgoKVGhlIHJlYXNvbmluZyBzZWN0aW9uIGhpZ2hsaWdodHMgdGhhdCB0aGlzIHBhdGNoIGFkZHJlc3NlcyBURExTIHBlZXIgdGVhcmRvd24gYW5kIGRlbGV0aW9uIGxvZ2ljIGluIGBtYWM4MDIxMWAuIFRoZSBjb3JlIG9mIHRoZSBmaXggYXBwZWFycyB0byBpbnZvbHZlIHByZXZlbnRpbmcgdGhlIGRlc3RydWN0aW9uIG9mIG5vbi1URExTIHN0YXRpb25zLCB3aGljaCBpcyBhIHNlbnNpYmxlIG1lYXN1cmUuIFRoZSBjaGFuZ2UgYXBwZWFycyB0byBiZSBpbiB0aGUgd2lyZWxlc3MgY29yZSBsb2dpYywgYW5kIGNhbiBiZSB0cmlnZ2VyZWQgdmlhIG5sODAyMTEgbmV0bGluayBjb21tYW5kcy4KCkkmIzM5O2xsIHF1aWNrbHkgZG91YmxlLWNoZWNrIGlmIGBDRkc4MDIxMWAgaXMgcmVxdWlyZWQuIEkga25vdyB0aGF0IGBNQUM4MDIxMWAgaGFzIGEgZGVwZW5kZW5jeSBvbiBgQ0ZHODAyMTFgLiBUbyBiZSBzYWZlLCBJJiMzOTtsbCBpbmNsdWRlIGBDRkc4MDIxMWAgaW4gdGhlIGNvbmZpZ3VyYXRpb24gYXMgd2VsbCwganVzdCB0byBlbnN1cmUgY29tcHJlaGVuc2l2ZSBjb3ZlcmFnZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDIgMjI6NDc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O01BQzgwMjExJiMzNDssCiAgICAmIzM0O01BQzgwMjExX0hXU0lNJiMzNDssCiAgICAmIzM0O0NGRzgwMjExJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7aWVlZTgwMjExX3RkbHNfcGVlcl9kZWxfd29yayYjMzQ7LAogICAgJiMzNDtpZWVlODAyMTFfdGRsc19vcGVyJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSB0ZWFyZG93biBhbmQgZGVsZXRpb24gbG9naWMgZm9yIFRETFMgKFR1bm5lbGVkIERpcmVjdCBMaW5rIFNldHVwKSBwZWVycyBpbiB0aGUgbWFjODAyMTEgc3Vic3lzdGVtLiBJdCBmaXhlcyBhIHBvdGVudGlhbCBpc3N1ZSB3aGVyZSBhIG5vbi1URExTIHN0YXRpb24gY291bGQgYmUgZGVzdHJveWVkIGJ5IHZlcmlmeWluZyB0aGUgc3RhdGlvbiB0eXBlIGJlZm9yZSBjYWxsaW5nIGBfX3N0YV9pbmZvX2Rlc3Ryb3lgLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gcmVhY2hhYmxlIGNvcmUgd2lyZWxlc3MgbG9naWMgdGhhdCBjYW4gYmUgdHJpZ2dlcmVkIHZpYSBubDgwMjExIG5ldGxpbmsgY29tbWFuZHMgYW5kIHRlc3RlZCB1c2luZyB0aGUgbWFjODAyMTFfaHdzaW0gZHJpdmVyLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtNQUM4MDIxMSYjMzQ7LAogICAgJiMzNDtNQUM4MDIxMV9IV1NJTSYjMzQ7LAogICAgJiMzNDtDRkc4MDIxMSYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2llZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmsmIzM0OywKICAgICYjMzQ7aWVlZTgwMjExX3RkbHNfb3BlciYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgdGVhcmRvd24gYW5kIGRlbGV0aW9uIGxvZ2ljIGZvciBURExTIChUdW5uZWxlZCBEaXJlY3QgTGluayBTZXR1cCkgcGVlcnMgaW4gdGhlIG1hYzgwMjExIHN1YnN5c3RlbS4gSXQgZml4ZXMgYSBwb3RlbnRpYWwgaXNzdWUgd2hlcmUgYSBub24tVERMUyBzdGF0aW9uIGNvdWxkIGJlIGRlc3Ryb3llZCBieSB2ZXJpZnlpbmcgdGhlIHN0YXRpb24gdHlwZSBiZWZvcmUgY2FsbGluZyBgX19zdGFfaW5mb19kZXN0cm95YC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHJlYWNoYWJsZSBjb3JlIHdpcmVsZXNzIGxvZ2ljIHRoYXQgY2FuIGJlIHRyaWdnZXJlZCB2aWEgbmw4MDIxMSBuZXRsaW5rIGNvbW1hbmRzIGFuZCB0ZXN0ZWQgdXNpbmcgdGhlIG1hYzgwMjExX2h3c2ltIGRyaXZlci4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAyVDIyOjQ3OjIyLjEzMTc0Mjg3M1oiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjMwNzQ5NjExNzM5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIk1BQzgwMjExXCIsXG4gICAgXCJNQUM4MDIxMV9IV1NJTVwiLFxuICAgIFwiQ0ZHODAyMTFcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJpZWVlODAyMTFfdGRsc19wZWVyX2RlbF93b3JrXCIsXG4gICAgXCJpZWVlODAyMTFfdGRsc19vcGVyXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIHRlYXJkb3duIGFuZCBkZWxldGlvbiBsb2dpYyBmb3IgVERMUyAoVHVubmVsZWQgRGlyZWN0IExpbmsgU2V0dXApIHBlZXJzIGluIHRoZSBtYWM4MDIxMSBzdWJzeXN0ZW0uIEl0IGZpeGVzIGEgcG90ZW50aWFsIGlzc3VlIHdoZXJlIGEgbm9uLVRETFMgc3RhdGlvbiBjb3VsZCBiZSBkZXN0cm95ZWQgYnkgdmVyaWZ5aW5nIHRoZSBzdGF0aW9uIHR5cGUgYmVmb3JlIGNhbGxpbmcgYF9fc3RhX2luZm9fZGVzdHJveWAuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiByZWFjaGFibGUgY29yZSB3aXJlbGVzcyBsb2dpYyB0aGF0IGNhbiBiZSB0cmlnZ2VyZWQgdmlhIG5sODAyMTEgbmV0bGluayBjb21tYW5kcyBhbmQgdGVzdGVkIHVzaW5nIHRoZSBtYWM4MDIxMV9od3NpbSBkcml2ZXIuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAyVDIyOjQ3OjIyLjEzMTc0ODU5M1oiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTAxMjExNDk5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgMDk3MjAzMjQyNDRlODYxYWQzYWJmMGQ4NmQ4Y2MxNmQ3YTMwOWYwYlxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgU3VuIEF1ZyAyIDIyOjQ3OjIxIDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL25ldC9tYWM4MDIxMS90ZGxzLmMgYi9uZXQvbWFjODAyMTEvdGRscy5jXFxuaW5kZXggZmZkNTc1YThkMTg4Zi4uMjQyOTc1NTJmNWZjZiAxMDA2NDRcXG4tLS0gYS9uZXQvbWFjODAyMTEvdGRscy5jXFxuKysrIGIvbmV0L21hYzgwMjExL3RkbHMuY1xcbkBAIC0zMyw4ICszMywxMiBAQCB2b2lkIGllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmsoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IHdpcGh5X3dvcmsgKndrKVxcbiBcXHRsb2NrZGVwX2Fzc2VydF93aXBoeShsb2NhbC1cXHUwMDNlaHcud2lwaHkpO1xcbiBcXG4gXFx0aWYgKCFpc196ZXJvX2V0aGVyX2FkZHIoc2RhdGEtXFx1MDAzZXUubWdkLnRkbHNfcGVlcikpIHtcXG4rXFx0XFx0c3RydWN0IHN0YV9pbmZvICpzdGE7XFxuK1xcbiBcXHRcXHR0ZGxzX2RiZyhzZGF0YSwgXFxcIlRETFMgZGVsIHBlZXIgJXBNXFxcXG5cXFwiLCBzZGF0YS1cXHUwMDNldS5tZ2QudGRsc19wZWVyKTtcXG4tXFx0XFx0c3RhX2luZm9fZGVzdHJveV9hZGRyKHNkYXRhLCBzZGF0YS1cXHUwMDNldS5tZ2QudGRsc19wZWVyKTtcXG4rXFx0XFx0c3RhID0gc3RhX2luZm9fZ2V0KHNkYXRhLCBzZGF0YS1cXHUwMDNldS5tZ2QudGRsc19wZWVyKTtcXG4rXFx0XFx0aWYgKHN0YSBcXHUwMDI2XFx1MDAyNiBzdGEtXFx1MDAzZXN0YS50ZGxzKVxcbitcXHRcXHRcXHRfX3N0YV9pbmZvX2Rlc3Ryb3koc3RhKTtcXG4gXFx0XFx0ZXRoX3plcm9fYWRkcihzZGF0YS1cXHUwMDNldS5tZ2QudGRsc19wZWVyKTtcXG4gXFx0fVxcbiB9XFxuQEAgLTE0NjIsNiArMTQ2NiwxMCBAQCBpbnQgaWVlZTgwMjExX3RkbHNfb3BlcihzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbiBcXHRcXHRcXHQgICAgICFldGhlcl9hZGRyX2VxdWFsKHNkYXRhLVxcdTAwM2V1Lm1nZC50ZGxzX3BlZXIsIHBlZXIpKTtcXG4gXFx0XFx0YnJlYWs7XFxuIFxcdGNhc2UgTkw4MDIxMV9URExTX0RJU0FCTEVfTElOSzpcXG4rXFx0XFx0c3RhID0gc3RhX2luZm9fZ2V0KHNkYXRhLCBwZWVyKTtcXG4rXFx0XFx0aWYgKCFzdGEgfHwgIXN0YS1cXHUwMDNlc3RhLnRkbHMpXFxuK1xcdFxcdFxcdHJldHVybiAtRU5PTElOSztcXG4rXFxuIFxcdFxcdC8qXFxuIFxcdFxcdCAqIFRoZSB0ZWFyZG93biBtZXNzYWdlIGluIGllZWU4MDIxMV90ZGxzX21nbXRfdGVhcmRvd24oKSB3YXNcXG4gXFx0XFx0ICogY3JlYXRlZCB3aGlsZSB0aGUgcXVldWVzIHdlcmUgc3RvcHBlZCwgc28gaXQgbWlnaHQgc3RpbGwgYmVcXG5AQCAtMTQ3Niw3ICsxNDg0LDcgQEAgaW50IGllZWU4MDIxMV90ZGxzX29wZXIoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4gXFx0XFx0LyogZmx1c2ggYSBwb3RlbnRpYWxseSBxdWV1ZWQgdGVhcmRvd24gcGFja2V0ICovXFxuIFxcdFxcdGllZWU4MDIxMV9mbHVzaF9xdWV1ZXMobG9jYWwsIHNkYXRhLCBmYWxzZSk7XFxuIFxcbi1cXHRcXHRyZXQgPSBzdGFfaW5mb19kZXN0cm95X2FkZHIoc2RhdGEsIHBlZXIpO1xcbitcXHRcXHRyZXQgPSBfX3N0YV9pbmZvX2Rlc3Ryb3koc3RhKTtcXG4gXFxuIFxcdFxcdGllZTgwMjExX3RkbHNfcmVjYWxjX2h0X3Byb3RlY3Rpb24oc2RhdGEsIE5VTEwpO1xcbiBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDJUMjI6NDc6MjIuNjMzOTExNDkxWiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiYmVzdC1leHBlbnNpdmUiLCJEdXJhdGlvbiI6MzAyNDc0MjgzNTksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiTUFDODAyMTFcIixcbiAgICBcIk1BQzgwMjExX0hXU0lNXCIsXG4gICAgXCJDRkc4MDIxMVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmtcIixcbiAgICBcImllZWU4MDIxMV90ZGxzX29wZXJcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgdGVhcmRvd24gYW5kIGRlbGV0aW9uIGxvZ2ljIGZvciBURExTIChUdW5uZWxlZCBEaXJlY3QgTGluayBTZXR1cCkgcGVlcnMgaW4gdGhlIG1hYzgwMjExIHN1YnN5c3RlbS4gSXQgZml4ZXMgYSBwb3RlbnRpYWwgaXNzdWUgd2hlcmUgYSBub24tVERMUyBzdGF0aW9uIGNvdWxkIGJlIGRlc3Ryb3llZCBieSB2ZXJpZnlpbmcgdGhlIHN0YXRpb24gdHlwZSBiZWZvcmUgY2FsbGluZyBgX19zdGFfaW5mb19kZXN0cm95YC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHJlYWNoYWJsZSBjb3JlIHdpcmVsZXNzIGxvZ2ljIHRoYXQgY2FuIGJlIHRyaWdnZXJlZCB2aWEgbmw4MDIxMSBuZXRsaW5rIGNvbW1hbmRzIGFuZCB0ZXN0ZWQgdXNpbmcgdGhlIG1hYzgwMjExX2h3c2ltIGRyaXZlci5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG4tIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSlcbiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4gICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnNcbiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBBbHNvIGNoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlnc1xuICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzXG4gICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgMDk3MjAzMjQyNDRlODYxYWQzYWJmMGQ4NmQ4Y2MxNmQ3YTMwOWYwYlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBTdW4gQXVnIDIgMjI6NDc6MjEgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9uZXQvbWFjODAyMTEvdGRscy5jIGIvbmV0L21hYzgwMjExL3RkbHMuY1xuaW5kZXggZmZkNTc1YThkMTg4Zi4uMjQyOTc1NTJmNWZjZiAxMDA2NDRcbi0tLSBhL25ldC9tYWM4MDIxMS90ZGxzLmNcbisrKyBiL25ldC9tYWM4MDIxMS90ZGxzLmNcbkBAIC0zMyw4ICszMywxMiBAQCB2b2lkIGllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmsoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IHdpcGh5X3dvcmsgKndrKVxuIFx0bG9ja2RlcF9hc3NlcnRfd2lwaHkobG9jYWwtXHUwMDNlaHcud2lwaHkpO1xuIFxuIFx0aWYgKCFpc196ZXJvX2V0aGVyX2FkZHIoc2RhdGEtXHUwMDNldS5tZ2QudGRsc19wZWVyKSkge1xuK1x0XHRzdHJ1Y3Qgc3RhX2luZm8gKnN0YTtcbitcbiBcdFx0dGRsc19kYmcoc2RhdGEsIFwiVERMUyBkZWwgcGVlciAlcE1cXG5cIiwgc2RhdGEtXHUwMDNldS5tZ2QudGRsc19wZWVyKTtcbi1cdFx0c3RhX2luZm9fZGVzdHJveV9hZGRyKHNkYXRhLCBzZGF0YS1cdTAwM2V1Lm1nZC50ZGxzX3BlZXIpO1xuK1x0XHRzdGEgPSBzdGFfaW5mb19nZXQoc2RhdGEsIHNkYXRhLVx1MDAzZXUubWdkLnRkbHNfcGVlcik7XG4rXHRcdGlmIChzdGEgXHUwMDI2XHUwMDI2IHN0YS1cdTAwM2VzdGEudGRscylcbitcdFx0XHRfX3N0YV9pbmZvX2Rlc3Ryb3koc3RhKTtcbiBcdFx0ZXRoX3plcm9fYWRkcihzZGF0YS1cdTAwM2V1Lm1nZC50ZGxzX3BlZXIpO1xuIFx0fVxuIH1cbkBAIC0xNDYyLDYgKzE0NjYsMTAgQEAgaW50IGllZWU4MDIxMV90ZGxzX29wZXIoc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbiBcdFx0XHQgICAgICFldGhlcl9hZGRyX2VxdWFsKHNkYXRhLVx1MDAzZXUubWdkLnRkbHNfcGVlciwgcGVlcikpO1xuIFx0XHRicmVhaztcbiBcdGNhc2UgTkw4MDIxMV9URExTX0RJU0FCTEVfTElOSzpcbitcdFx0c3RhID0gc3RhX2luZm9fZ2V0KHNkYXRhLCBwZWVyKTtcbitcdFx0aWYgKCFzdGEgfHwgIXN0YS1cdTAwM2VzdGEudGRscylcbitcdFx0XHRyZXR1cm4gLUVOT0xJTks7XG4rXG4gXHRcdC8qXG4gXHRcdCAqIFRoZSB0ZWFyZG93biBtZXNzYWdlIGluIGllZWU4MDIxMV90ZGxzX21nbXRfdGVhcmRvd24oKSB3YXNcbiBcdFx0ICogY3JlYXRlZCB3aGlsZSB0aGUgcXVldWVzIHdlcmUgc3RvcHBlZCwgc28gaXQgbWlnaHQgc3RpbGwgYmVcbkBAIC0xNDc2LDcgKzE0ODQsNyBAQCBpbnQgaWVlZTgwMjExX3RkbHNfb3BlcihzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuIFx0XHQvKiBmbHVzaCBhIHBvdGVudGlhbGx5IHF1ZXVlZCB0ZWFyZG93biBwYWNrZXQgKi9cbiBcdFx0aWVlZTgwMjExX2ZsdXNoX3F1ZXVlcyhsb2NhbCwgc2RhdGEsIGZhbHNlKTtcbiBcbi1cdFx0cmV0ID0gc3RhX2luZm9fZGVzdHJveV9hZGRyKHNkYXRhLCBwZWVyKTtcbitcdFx0cmV0ID0gX19zdGFfaW5mb19kZXN0cm95KHN0YSk7XG4gXG4gXHRcdGllZTgwMjExX3RkbHNfcmVjYWxjX2h0X3Byb3RlY3Rpb24oc2RhdGEsIE5VTEwpO1xuIFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDJUMjI6NDc6MjIuNjMzOTEzNDcxWiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTc4NjA0MTEzOSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBNQUM4MDIxMSBURExTIFBhdGNoKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCB0aGF0IHR3ZWFrcyBgbmV0L21hYzgwMjExL3RkbHMuY2AuIFRoZSBjb3JlIG9mIHRoZSBjaGFuZ2UgcmV2b2x2ZXMgYXJvdW5kIGhvdyBzdGF0aW9uIGluZm9ybWF0aW9uIGlzIGhhbmRsZWQsIHNwZWNpZmljYWxseSB3aXRoaW4gdGhlIFRETFMgY29udGV4dC4gSXQgbG9va3MgbGlrZSB0aGV5J3JlIHJlcGxhY2luZyB0aGUgZGlyZWN0IGNhbGwgdG8gYHN0YV9pbmZvX2Rlc3Ryb3lfYWRkcmAgd2l0aCBhIG1vcmUgY2F1dGlvdXMgYXBwcm9hY2gsIHVzaW5nIGBzdGFfaW5mb19nZXRgIGFuZCBgX19zdGFfaW5mb19kZXN0cm95YCBpbnN0ZWFkLiBUaGUgZ29hbCBoZXJlLCBhcyBJIHVuZGVyc3RhbmQgaXQsIGlzIHRvIHZlcmlmeSB0aGF0IHRoZSBzdGF0aW9uIGluIHF1ZXN0aW9uIGlzICphY3R1YWxseSogYSBURExTIHN0YXRpb24gYnkgY2hlY2tpbmcgYHN0YS1cdTAwM2VzdGEudGRsc2AgYmVmb3JlIHByb2NlZWRpbmcgd2l0aCBkZXN0cnVjdGlvbi4gVGhpcyBpcyBhIHNvbGlkIG1vdmU7IGl0IGF2b2lkcyBwb3RlbnRpYWwgaXNzdWVzIHdpdGggYWNjaWRlbnRhbGx5IG9wZXJhdGluZyBvbiBub24tVERMUyBzdGF0aW9ucy5cblxuTm93LCBJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgaW1wbGljYXRpb25zIGJldHRlci4gTXkgZm9jdXMgbmVlZHMgdG8gYmUgb24gYGllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmtgIGFuZCBgaWVlZTgwMjExX3RkbHNfb3BlcmAg4oCTIHRoZSB0d28gZnVuY3Rpb25zIGJlaW5nIG1vZGlmaWVkLiBHaXZlbiB0aGF0IHRoZXNlIGFyZSBwYXJ0IG9mIHRoZSBURExTIGltcGxlbWVudGF0aW9uIHdpdGhpbiBtYWM4MDIxMSwgSSBjYW4gcHJldHR5IHF1aWNrbHkgY29uZmlybSB0aGlzIGlzIHJlbGV2YW50IHRvIHRoZSB0dW5uZWxlZCBkaXJlY3QgbGluayBzZXR1cCBmdW5jdGlvbmFsaXR5LlxuXG5UaGlzIGlzIGVtaW5lbnRseSB0ZXN0YWJsZTsgSSBjYW4gYWJzb2x1dGVseSB1c2UgYG1hYzgwMjExX2h3c2ltYCB0byBydW4gdGhyb3VnaCBzb21lIHNjZW5hcmlvcyBhbmQgdmFsaWRhdGUgdGhpcy4gSSdsbCBuZWVkIHRvIG1ha2Ugc3VyZSBJJ20gZXhlcmNpc2luZyB0aGUgY29kZSBwYXRocyBhZmZlY3RlZCBieSB0aGlzIGNoYW5nZS5cblxuTGFzdGx5LCBJIG5lZWQgdG8gcXVpY2tseSBpZGVudGlmeSB0aGUgcmVsZXZhbnQgY29uZmlndXJhdGlvbiBvcHRpb25zLiBgTUFDODAyMTFgIGlzIHRoZSBvYnZpb3VzIHN0YXJ0aW5nIHBvaW50LCBidXQgSSBzaG91bGQgc2NhbiBgbmV0L21hYzgwMjExL3RkbHMuY2AgaXRzZWxmIHRvIGNvbmZpcm0gaWYgdGhlcmUgYXJlIGFueSBzcGVjaWZpYyBURExTLXJlbGF0ZWQgY29uZmlndXJhdGlvbiBvcHRpb25zIHRoYXQgY291bGQgaW5mbHVlbmNlIHRoaXMgY2hhbmdlLiBHb3R0YSBjaGVjayBhbGwgdGhlIGRlcGVuZGVuY2llcyFcblxuXG4iLCJJbnB1dFRva2VucyI6MjUyNCwiT3V0cHV0VG9rZW5zIjozOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI0NCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAyVDIyOjQ3OjI4LjQxOTk1ODQzWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjU4NTQ2MjQ2LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImNvbmZpZyBNQUM4MDIxMVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvbWFjODAyMTEvS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQvbWFjODAyMTEvS2NvbmZpZy0xLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI6Y29uZmlnIE1BQzgwMjExXFxubmV0L21hYzgwMjExL0tjb25maWctMy1cXHR0cmlzdGF0ZSBcXFwiR2VuZXJpYyBJRUVFIDgwMi4xMSBOZXR3b3JraW5nIFN0YWNrIChtYWM4MDIxMSlcXFwiXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZz0xOT1pZiBNQUM4MDIxMSAhPSBuXFxubmV0L21hYzgwMjExL0tjb25maWctMjAtXFxubmV0L21hYzgwMjExL0tjb25maWc6MjE6Y29uZmlnIE1BQzgwMjExX0hBU19SQ1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIyLVxcdGJvb2xcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMy1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNDpjb25maWcgTUFDODAyMTFfUkNfTUlOU1RSRUxcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNS1cXHRib29sIFxcXCJNaW5zdHJlbFxcXCIgaWYgRVhQRVJUXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZz0zMT1jaG9pY2VcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTQwLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjQxOmNvbmZpZyBNQUM4MDIxMV9SQ19ERUZBVUxUX01JTlNUUkVMXFxubmV0L21hYzgwMjExL0tjb25maWctNDItXFx0Ym9vbCBcXFwiTWluc3RyZWxcXFwiXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZz00OD1lbmRjaG9pY2VcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy00OS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo1MDpjb25maWcgTUFDODAyMTFfUkNfREVGQVVMVFxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTUxLVxcdHN0cmluZ1xcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWc9NTc9Y29tbWVudCBcXFwiU29tZSB3aXJlbGVzcyBkcml2ZXJzIHJlcXVpcmUgYSByYXRlIGNvbnRyb2wgYWxnb3JpdGhtXFxcIlxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctNTktXFxubmV0L21hYzgwMjExL0tjb25maWc6NjA6Y29uZmlnIE1BQzgwMjExX0tVTklUX1RFU1RcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy02MS1cXHR0cmlzdGF0ZSBcXFwiS1VuaXQgdGVzdHMgZm9yIG1hYzgwMjExXFxcIiBpZiAhS1VOSVRfQUxMX1RFU1RTXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy02OS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo3MDpjb25maWcgTUFDODAyMTFfTUVTSFxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTcxLVxcdGJvb2wgXFxcIkVuYWJsZSBtYWM4MDIxMSBtZXNoIG5ldHdvcmtpbmcgc3VwcG9ydFxcXCJcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTc4LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjc5OmNvbmZpZyBNQUM4MDIxMV9MRURTXFxubmV0L21hYzgwMjExL0tjb25maWctODAtXFx0Ym9vbCBcXFwiRW5hYmxlIExFRCB0cmlnZ2Vyc1xcXCJcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTg3LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjg4OmNvbmZpZyBNQUM4MDIxMV9ERUJVR0ZTXFxubmV0L21hYzgwMjExL0tjb25maWctODktXFx0Ym9vbCBcXFwiRXhwb3J0IG1hYzgwMjExIGludGVybmFscyBpbiBEZWJ1Z0ZTXFxcIlxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctOTYtXFxubmV0L21hYzgwMjExL0tjb25maWc6OTc6Y29uZmlnIE1BQzgwMjExX01FU1NBR0VfVFJBQ0lOR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTk4LVxcdGJvb2wgXFxcIlRyYWNlIGFsbCBtYWM4MDIxMSBkZWJ1ZyBtZXNzYWdlc1xcXCJcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTEwOS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxMTA6bWVudWNvbmZpZyBNQUM4MDIxMV9ERUJVR19NRU5VXFxubmV0L21hYzgwMjExL0tjb25maWctMTExLVxcdGJvb2wgXFxcIlNlbGVjdCBtYWM4MDIxMSBkZWJ1Z2dpbmcgZmVhdHVyZXNcXFwiXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTUtXFxubmV0L21hYzgwMjExL0tjb25maWc6MTE2OmNvbmZpZyBNQUM4MDIxMV9OT0lOTElORVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTExNy1cXHRib29sIFxcXCJEbyBub3QgaW5saW5lIFRYL1JYIGhhbmRsZXJzXFxcIlxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTMxLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjEzMjpjb25maWcgTUFDODAyMTFfVkVSQk9TRV9ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTEzMy1cXHRib29sIFxcXCJWZXJib3NlIGRlYnVnZ2luZyBvdXRwdXRcXFwiXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNDItXFxubmV0L21hYzgwMjExL0tjb25maWc6MTQzOmNvbmZpZyBNQUM4MDIxMV9NTE1FX0RFQlVHXFxubmV0L21hYzgwMjExL0tjb25maWctMTQ0LVxcdGJvb2wgXFxcIlZlcmJvc2UgbWFuYWdlZCBNTE1FIG91dHB1dFxcXCJcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE1My1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxNTQ6Y29uZmlnIE1BQzgwMjExX1NUQV9ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE1NS1cXHRib29sIFxcXCJWZXJib3NlIHN0YXRpb24gZGVidWdnaW5nXFxcIlxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTYyLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE2Mzpjb25maWcgTUFDODAyMTFfSFRfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNjQtXFx0Ym9vbCBcXFwiVmVyYm9zZSBIVCBkZWJ1Z2dpbmdcXFwiXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNzQtXFxubmV0L21hYzgwMjExL0tjb25maWc6MTc1OmNvbmZpZyBNQUM4MDIxMV9PQ0JfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNzYtXFx0Ym9vbCBcXFwiVmVyYm9zZSBPQ0IgZGVidWdnaW5nXFxcIlxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTg1LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE4Njpjb25maWcgTUFDODAyMTFfSUJTU19ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE4Ny1cXHRib29sIFxcXCJWZXJib3NlIElCU1MgZGVidWdnaW5nXFxcIlxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTk2LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE5Nzpjb25maWcgTUFDODAyMTFfUFNfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xOTgtXFx0Ym9vbCBcXFwiVmVyYm9zZSBwb3dlcnNhdmUgbW9kZSBkZWJ1Z2dpbmdcXFwiXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMDgtXFxubmV0L21hYzgwMjExL0tjb25maWc6MjA5OmNvbmZpZyBNQUM4MDIxMV9NUExfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMTAtXFx0Ym9vbCBcXFwiVmVyYm9zZSBtZXNoIHBlZXIgbGluayBkZWJ1Z2dpbmdcXFwiXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMjEtXFxubmV0L21hYzgwMjExL0tjb25maWc6MjIyOmNvbmZpZyBNQUM4MDIxMV9NUEFUSF9ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIyMy1cXHRib29sIFxcXCJWZXJib3NlIG1lc2ggcGF0aCBkZWJ1Z2dpbmdcXFwiXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMzQtXFxubmV0L21hYzgwMjExL0tjb25maWc6MjM1OmNvbmZpZyBNQUM4MDIxMV9NSFdNUF9ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzNi1cXHRib29sIFxcXCJWZXJib3NlIG1lc2ggSFdNUCByb3V0aW5nIGRlYnVnZ2luZ1xcXCJcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI0Ny1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNDg6Y29uZmlnIE1BQzgwMjExX01FU0hfU1lOQ19ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI0OS1cXHRib29sIFxcXCJWZXJib3NlIG1lc2ggc3luY2hyb25pemF0aW9uIGRlYnVnZ2luZ1xcXCJcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI1OC1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNTk6Y29uZmlnIE1BQzgwMjExX01FU0hfQ1NBX0RFQlVHXFxubmV0L21hYzgwMjExL0tjb25maWctMjYwLVxcdGJvb2wgXFxcIlZlcmJvc2UgbWVzaCBjaGFubmVsIHN3aXRjaCBkZWJ1Z2dpbmdcXFwiXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNjktXFxubmV0L21hYzgwMjExL0tjb25maWc6MjcwOmNvbmZpZyBNQUM4MDIxMV9NRVNIX1BTX0RFQlVHXFxubmV0L21hYzgwMjExL0tjb25maWctMjcxLVxcdGJvb2wgXFxcIlZlcmJvc2UgbWVzaCBwb3dlcnNhdmUgZGVidWdnaW5nXFxcIlxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMjgwLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI4MTpjb25maWcgTUFDODAyMTFfVERMU19ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI4Mi1cXHRib29sIFxcXCJWZXJib3NlIFRETFMgZGVidWdnaW5nXFxcIlxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMjkyLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI5Mzpjb25maWcgTUFDODAyMTFfREVCVUdfQ09VTlRFUlNcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yOTQtXFx0Ym9vbCBcXFwiRXh0cmEgc3RhdGlzdGljcyBmb3IgVFgvUlggZGVidWdnaW5nXFxcIlxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMzA3LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjMwODpjb25maWcgTUFDODAyMTFfU1RBX0hBU0hfTUFYX1NJWkVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0zMDktXFx0aW50IFxcXCJTdGF0aW9uIGhhc2ggdGFibGUgbWF4aW11bSBzaXplXFxcIiBpZiBNQUM4MDIxMV9ERUJVR19NRU5VXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAyVDIyOjQ3OjI4LjQ3ODUxMjM1N1oiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjMzNDA2NTczMDEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzLCBmcmFtZWQgYXMgbXkgb3duIG1lbnRhbCBwcm9jZXNzaW5nOlxuXG4qKkFuYWx5emluZyBQb3RlbnRpYWwgSW1wYWN0IG9mIHRoZSBQYXRjaCoqXG5cblJpZ2h0LCBsZXQncyBicmVhayB0aGlzIGRvd24uIFRoaXMgcGF0Y2ggc2VlbXMgdG8gYmUgdG91Y2hpbmcgYGllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmtgIGFuZCBgaWVlZTgwMjExX3RkbHNfb3BlcmAuIEltbWVkaWF0ZWx5LCBteSBzcGlkZXktc2Vuc2UgaXMgdGluZ2xpbmcg4oCTIHRoZXNlIGFyZSBsaWtlbHkgZXhwb3NlZCB2aWEgbmw4MDIxMSBuZXRsaW5rIGNvbW1hbmRzLCBtYWtpbmcgdGhlbSBwcmltZSBjYW5kaWRhdGVzIGZvciBleHRlcm5hbCBpbnRlcmFjdGlvbiBhbmQsIHBvdGVudGlhbGx5LCB2dWxuZXJhYmlsaXRpZXMgaWYgbm90IGhhbmRsZWQgd2l0aCBleHRyZW1lIGNhcmUuIE15IGZpcnN0IG1vdmUgaXMgdG8gdmVyaWZ5IHRoYXQgc3VzcGljaW9uLiBJIG5lZWQgdG8gY29uZmlybSB0aGF0IGBpZWVlODAyMTFfdGRsc19vcGVyYCBpcyBpbmRlZWQgYWNjZXNzaWJsZSB0aHJvdWdoIHRoZSBuZXRsaW5rIGludGVyZmFjZS4gSXQncyBjcnVjaWFsIEkgdW5kZXJzdGFuZCB0aGUgYXR0YWNrIHN1cmZhY2UgYmVmb3JlIEkgZXZlbiBiZWdpbiB0byByZXZpZXcgdGhlIGNvZGUuIExldCdzIHNlZS4uLlxuXG5cbiIsIklucHV0VG9rZW5zIjo1MzY5LCJPdXRwdXRUb2tlbnMiOjQxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NzYsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDJUMjI6NDc6MzEuODE5MTc0NTg4WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjExMjE3MjUyMywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJpZWVlODAyMTFfdGRsc19vcGVyXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcIm5ldC9tYWM4MDIxMS9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwibmV0L21hYzgwMjExL2NmZy5jPTU5OTE9Y29uc3Qgc3RydWN0IGNmZzgwMjExX29wcyBtYWM4MDIxMV9jb25maWdfb3BzID0ge1xcbi0tXFxubmV0L21hYzgwMjExL2NmZy5jLTYwNjItXFx0LnNldF9yZWtleV9kYXRhID0gaWVlZTgwMjExX3NldF9yZWtleV9kYXRhLFxcbm5ldC9tYWM4MDIxMS9jZmcuYzo2MDYzOlxcdC50ZGxzX29wZXIgPSBpZWVlODAyMTFfdGRsc19vcGVyLFxcbm5ldC9tYWM4MDIxMS9jZmcuYy02MDY0LVxcdC50ZGxzX21nbXQgPSBpZWVlODAyMTFfdGRsc19tZ210LFxcbi0tXFxubmV0L21hYzgwMjExL2llZWU4MDIxMV9pLmg9MjkxMz1pbnQgaWVlZTgwMjExX3RkbHNfbWdtdChzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxubmV0L21hYzgwMjExL2llZWU4MDIxMV9pLmgtMjkxNy1cXHRcXHRcXHRjb25zdCB1OCAqZXh0cmFfaWVzLCBzaXplX3QgZXh0cmFfaWVzX2xlbik7XFxubmV0L21hYzgwMjExL2llZWU4MDIxMV9pLmg6MjkxODppbnQgaWVlZTgwMjExX3RkbHNfb3BlcihzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbm5ldC9tYWM4MDIxMS9pZWVlODAyMTFfaS5oLTI5MTktXFx0XFx0XFx0Y29uc3QgdTggKnBlZXIsIGVudW0gbmw4MDIxMV90ZGxzX29wZXJhdGlvbiBvcGVyKTtcXG4tLVxcbm5ldC9tYWM4MDIxMS90ZGxzLmM9MTM4Nj1pZWU4MDIxMV90ZGxzX3JlY2FsY19odF9wcm90ZWN0aW9uKHN0cnVjdCBpZWVlODAyMTFfc3ViX2lmX2RhdGEgKnNkYXRhLFxcbi0tXFxubmV0L21hYzgwMjExL3RkbHMuYy0xNDE2LVxcbm5ldC9tYWM4MDIxMS90ZGxzLmM6MTQxNzppbnQgaWVlZTgwMjExX3RkbHNfb3BlcihzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbm5ldC9tYWM4MDIxMS90ZGxzLmMtMTQxOC1cXHRcXHRcXHRjb25zdCB1OCAqcGVlciwgZW51bSBubDgwMjExX3RkbHNfb3BlcmF0aW9uIG9wZXIpXFxuLS1cXG5uZXQvbWFjODAyMTEvdGRscy5jLTE1MTAtXFxubmV0L21hYzgwMjExL3RkbHMuYzoxNTExOnZvaWQgaWVlZTgwMjExX3RkbHNfb3Blcl9yZXF1ZXN0KHN0cnVjdCBpZWVlODAyMTFfdmlmICp2aWYsIGNvbnN0IHU4ICpwZWVyLFxcbm5ldC9tYWM4MDIxMS90ZGxzLmMtMTUxMi1cXHRcXHRcXHRcXHQgZW51bSBubDgwMjExX3RkbHNfb3BlcmF0aW9uIG9wZXIsXFxuLS1cXG5uZXQvbWFjODAyMTEvdGRscy5jLTE1MjQtfVxcbm5ldC9tYWM4MDIxMS90ZGxzLmM6MTUyNTpFWFBPUlRfU1lNQk9MKGllZWU4MDIxMV90ZGxzX29wZXJfcmVxdWVzdCk7XFxubmV0L21hYzgwMjExL3RkbHMuYy0xNTI2LVxcbi0tXFxubmV0L21hYzgwMjExL3RkbHMuYz0yMDQ3PXZvaWQgaWVlZTgwMjExX3RlYXJkb3duX3RkbHNfcGVlcnMoc3RydWN0IGllZWU4MDIxMV9saW5rX2RhdGEgKmxpbmspXFxuLS1cXG5uZXQvbWFjODAyMTEvdGRscy5jLTIwNjEtXFxubmV0L21hYzgwMjExL3RkbHMuYzoyMDYyOlxcdFxcdGllZWU4MDIxMV90ZGxzX29wZXJfcmVxdWVzdChcXHUwMDI2c2RhdGEtXFx1MDAzZXZpZiwgc3RhLVxcdTAwM2VzdGEuYWRkcixcXG5uZXQvbWFjODAyMTEvdGRscy5jLTIwNjMtXFx0XFx0XFx0XFx0XFx0ICAgIE5MODAyMTFfVERMU19URUFSRE9XTiwgcmVhc29uLFxcbi0tXFxubmV0L21hYzgwMjExL3RkbHMuYz0yMDY5PXZvaWQgaWVlZTgwMjExX3RkbHNfaGFuZGxlX2Rpc2Nvbm5lY3Qoc3RydWN0IGllZWU4MDIxMV9zdWJfaWZfZGF0YSAqc2RhdGEsXFxuLS1cXG5uZXQvbWFjODAyMTEvdGRscy5jLTIwODUtXFxubmV0L21hYzgwMjExL3RkbHMuYzoyMDg2OlxcdGllZWU4MDIxMV90ZGxzX29wZXJfcmVxdWVzdChcXHUwMDI2c2RhdGEtXFx1MDAzZXZpZiwgcGVlcixcXG5uZXQvbWFjODAyMTEvdGRscy5jLTIwODctXFx0XFx0XFx0XFx0ICAgIE5MODAyMTFfVERMU19URUFSRE9XTixcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDJUMjI6NDc6MzEuOTMxMzUyMDYxWiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDI2MTEwNDI2MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IHVuZGVyc3RhbmRpbmcsIGZyYW1lZCBhcyBteSBpbnRlcm5hbCB0aG91Z2h0IHByb2Nlc3M6XG5cbioqRGl2aW5nIGludG8gdGhlIFRETFMgT3BlcmF0aW9ucyoqXG5cbkFscmlnaHQsIEknbSBkaWdnaW5nIGludG8gdGhpcyBgaWVlZTgwMjExX3RkbHNfb3BlcmAgZnVuY3Rpb24uIExldCBtZSBzZWUuLi4gcmlnaHQsIHRoaXMgaXMgdGhlIGAudGRsc19vcGVyYCBjYWxsYmFjayB3aXRoaW4gdGhlIGBtYWM4MDIxMV9jb25maWdfb3BzYCBzdHJ1Y3R1cmUuIFNvLCB0aGF0IG1lYW5zIGl0J3MgdGhlIGZ1bmN0aW9uIHRoYXQgZ2V0cyBjYWxsZWQgZnJvbSBgY2ZnODAyMTFgIHdoZW5ldmVyIGEgdXNlci1zcGFjZSBhcHBsaWNhdGlvbiB0aHJvd3MgYSBgTkw4MDIxMV9DTURfVERMU19PUEVSYCBjb21tYW5kIGF0IGl0LiBNYWtlcyBwZXJmZWN0IHNlbnNlLiBUaGlzIGlzIHRoZSBlbnRyeSBwb2ludCBmb3IgVERMUyAoVHVubmVsZWQgRGlyZWN0IExpbmsgU2V0dXApIG9wZXJhdGlvbnMgZnJvbSB0aGUgdXNlciBzcGFjZS5cblxuTm93LCB3aGF0IGFib3V0IHRoaXMgYGllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmtgIGZ1bmN0aW9uPyBJdCdzIG1lbnRpb25lZCBpbiB0aGUgY29udGV4dCwgc28gaXQncyBjbGVhcmx5IHJlbGF0ZWQuIEFoLCBpdCBsb29rcyBsaWtlIHRoaXMgaXMgYSB3b3JrcXVldWUgZnVuY3Rpb24uIEdvb2QsIGdvb2QsIGEgZGVmZXJyZWQgb3BlcmF0aW9uLiBMaWtlbHkgZGVhbGluZyB3aXRoIHRoZSBjbGVhbnVwIG9mIGEgVERMUyBwZWVyLiBJJ2xsIG5lZWQgdG8gZmlndXJlIG91dCB0aGUgZXhhY3QgY2xlYW51cCBwcm9jZXNzLCBzbyBpdCdzIHRpbWUgdG8gY2hlY2sgYGllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmtgIGZ1bmN0aW9uLiBJIHdpbGwgY2hlY2sgdGhlIGZpbGUgaW4gYG5ldC9tYWM4MDIxMS90ZGxzLmNgIHRvIHVuZGVyc3RhbmQgdGhlIHByb2Nlc3MuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjY3MzQsIk91dHB1dFRva2VucyI6NDUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMzksIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDJUMjI6NDc6MzYuMTkyNDU5Njc1WiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjY3MzY1MzI2LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmtcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L21hYzgwMjExL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQvbWFjODAyMTEvaWVlZTgwMjExX2kuaD0yOTE4PWludCBpZWVlODAyMTFfdGRsc19vcGVyKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxubmV0L21hYzgwMjExL2llZWU4MDIxMV9pLmgtMjkxOS1cXHRcXHRcXHRjb25zdCB1OCAqcGVlciwgZW51bSBubDgwMjExX3RkbHNfb3BlcmF0aW9uIG9wZXIpO1xcbm5ldC9tYWM4MDIxMS9pZWVlODAyMTFfaS5oOjI5MjA6dm9pZCBpZWVlODAyMTFfdGRsc19wZWVyX2RlbF93b3JrKHN0cnVjdCB3aXBoeSAqd2lwaHksIHN0cnVjdCB3aXBoeV93b3JrICp3ayk7XFxubmV0L21hYzgwMjExL2llZWU4MDIxMV9pLmgtMjkyMS1pbnQgaWVlZTgwMjExX3RkbHNfY2hhbm5lbF9zd2l0Y2goc3RydWN0IHdpcGh5ICp3aXBoeSwgc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4tLVxcbm5ldC9tYWM4MDIxMS9tbG1lLmM9OTQ0Nj12b2lkIGllZWU4MDIxMV9zdGFfc2V0dXBfc2RhdGEoc3RydWN0IGllZWU4MDIxMV9zdWJfaWZfZGF0YSAqc2RhdGEpXFxuLS1cXG5uZXQvbWFjODAyMTEvbWxtZS5jLTk0NTUtXFx0d2lwaHlfZGVsYXllZF93b3JrX2luaXQoXFx1MDAyNmlmbWdkLVxcdTAwM2V0ZGxzX3BlZXJfZGVsX3dvcmssXFxubmV0L21hYzgwMjExL21sbWUuYzo5NDU2OlxcdFxcdFxcdFxcdGllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmspO1xcbm5ldC9tYWM4MDIxMS9tbG1lLmMtOTQ1Ny1cXHR3aXBoeV9ocnRpbWVyX3dvcmtfaW5pdChcXHUwMDI2aWZtZ2QtXFx1MDAzZW1sX3JlY29uZl93b3JrLFxcbi0tXFxubmV0L21hYzgwMjExL3RkbHMuYy0yMy1cXG5uZXQvbWFjODAyMTEvdGRscy5jOjI0OnZvaWQgaWVlZTgwMjExX3RkbHNfcGVlcl9kZWxfd29yayhzdHJ1Y3Qgd2lwaHkgKndpcGh5LCBzdHJ1Y3Qgd2lwaHlfd29yayAqd2spXFxubmV0L21hYzgwMjExL3RkbHMuYy0yNS17XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAyVDIyOjQ3OjM2LjI1OTgzMjYxWiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTI3NjY3NzI0MSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBNQUM4MDIxMSBURExTIEJ1ZyBGaXgqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCBhIHBhdGNoIHRoYXQgYWRkcmVzc2VzIGEgcG90ZW50aWFsIGlzc3VlIHdpdGhpbiB0aGUgTUFDODAyMTEgVERMUyBsb2dpYy4gSXQgc2VlbXMgdGhlcmUncyBhIGJ1ZyB3aGVyZSBgc3RhX2luZm9fZGVzdHJveV9hZGRyYCBpcyBiZWluZyBjYWxsZWQgaW4gYSBzY2VuYXJpbyB3aGVyZSB0aGUgc3RhdGlvbiBtaWdodCBub3QgYWN0dWFsbHkgYmUgYSBURExTIHN0YXRpb24sIG9yIGl0IHNpbXBseSBtaWdodCBub3QgZXZlbiBleGlzdC4gVGhlIGZpeCByZXBsYWNlcyB0aGlzIHByb2JsZW1hdGljIGNhbGwgd2l0aCBgc3RhX2luZm9fZ2V0YCBhbmQgYF9fc3RhX2luZm9fZGVzdHJveWAsIHdoaWNoIHNob3VsZCBwcm92aWRlIG1vcmUgcm9idXN0IGhhbmRsaW5nLlxuXG5GdW5jdGlvbmFsbHksIHRoaXMgaXMgYSBjaGFuZ2Ugd2l0aGluIHRoZSBURExTIGNvbXBvbmVudCBvZiBNQUM4MDIxMS4gR29vZCB0byBrbm93IGl0J3MgcmVhY2hhYmxlIHRocm91Z2ggYm90aCBgbWFjODAyMTFfaHdzaW1gIGFuZCB0aGUgY2ZnODAyMTEgbmV0bGluayBjb21tYW5kcywgd2hpY2ggZ2l2ZXMgdXMgbXVsdGlwbGUgd2F5cyB0byBpbnRlcmFjdCB3aXRoIGFuZCB0ZXN0IHRoaXMuXG5cblRvIHByb3Blcmx5IHZldCB0aGlzLCBmdXp6aW5nIGlzIGRlZmluaXRlbHkgb24gdGhlIGFnZW5kYS5cblxuSSdsbCBrZWVwIGFuIGV5ZSBvbiB0aGUgZm9sbG93aW5nIHN5bWJvbHMgYXMgSSBkaXZlIGRlZXBlcjogYGllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmtgIGFuZCBgaWVlZTgwMjExX3RkbHNfb3BlcmAuIFRoZXkgc2hvdWxkIHByb3ZpZGUgY3JpdGljYWwgY29udGV4dCBhcm91bmQgdGhlIGFmZmVjdGVkIGNvZGUuXG5cbkZvciBjb25maWd1cmF0aW9uLCBJJ2xsIG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgYE1BQzgwMjExYCBhbmQgYENGRzgwMjExYCBhcmUgZW5hYmxlZC4gU2luY2UgYENGRzgwMjExYCBpcyBpbXBsaWVkIGJ5IGBNQUM4MDIxMWAsIHRoYXQgc2hvdWxkIGJlIHJlbGF0aXZlbHkgc3RyYWlnaHRmb3J3YXJkLiBBbmQsIG9mIGNvdXJzZSwgZW5hYmxpbmcgYE1BQzgwMjExX0hXU0lNYCB3aWxsIGJlIGludmFsdWFibGUgZm9yIHRlc3RpbmcgdGhpcyBmaXguXG5cbkp1c3QgdG8gYmUgYWJzb2x1dGVseSBzdXJlLCBJJ2xsIHZlcmlmeSB0aGF0IGBNQUM4MDIxMV9IV1NJTWAgaXMgaW5kZWVkIHRoZSBjb3JyZWN0IGNvbmZpZ3VyYXRpb24gbmFtZS4gQmV0dGVyIHNhZmUgdGhhbiBzb3JyeS5cblxuXG4iLCJJbnB1dFRva2VucyI6NzcxNCwiT3V0cHV0VG9rZW5zIjozNywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjIyNSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0wMlQyMjo0Nzo0MS41MzY1MTIzMVoiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzEwOTIwMDAxLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImNvbmZpZyBNQUM4MDIxMV9IV1NJTVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvdmlydHVhbC9LY29uZmlnOjE6Y29uZmlnIE1BQzgwMjExX0hXU0lNXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvdmlydHVhbC9LY29uZmlnLTItXFx0dHJpc3RhdGUgXFxcIlNpbXVsYXRlZCByYWRpbyB0ZXN0aW5nIHRvb2wgZm9yIG1hYzgwMjExXFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wMlQyMjo0Nzo0MS44NDc0Mzc1MTFaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzAxNzk2MTc2MSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IHN1bW1hcml6ZWQgdGhvdWdodCBwcm9jZXNzLCBwcmVzZW50ZWQgYXMgaWYgSSB3ZXJlIGNvbnNpZGVyaW5nIHRoaXMgbXlzZWxmOlxuXG4qKlRETFMgQ29uZmlndXJhdGlvbiBSZXZpZXcqKlxuXG5BbHJpZ2h0LCB5ZXAsIEknbSB3aXRoIGl0LiBgTUFDODAyMTFfSFdTSU1gIGlzIGRlZmluaXRlbHkgdGhlIHJpZ2h0IGNvbmZpZ3VyYXRpb24gaGVyZS4gTWFrZXMgcGVyZmVjdCBzZW5zZS4gTm93LCBsZXQgbWUganVzdCBxdWlja2x5IHJ1biB0aHJvdWdoIG15IG1lbnRhbCBjaGVja2xpc3QuIFRpbWUgdG8gbWFrZSBzdXJlIHdlIGhhdmVuJ3Qgb3Zlcmxvb2tlZCBhbnkgb3RoZXIgY29uZmlnIHNldHRpbmdzIHRoYXQgbWlnaHQgYmUgcmVxdWlyZWQgc3BlY2lmaWNhbGx5IGZvciBURExTIGZ1bmN0aW9uYWxpdHkuIEkgbmVlZCB0byBlbnN1cmUgd2UgaGF2ZSBldmVyeSBiYXNlIGNvdmVyZWQgYW5kIGFyZW4ndCBtaXNzaW5nIHNvbWUgb2JzY3VyZSBmbGFnIG9yIGRlcGVuZGVuY3kuIEl0J3MgYSBxdWljayBzY2FuLCBqdXN0IHRvIGJlIHN1cmUgd2UgaGF2ZW4ndCBpbmFkdmVydGVudGx5IG9taXR0ZWQgc29tZXRoaW5nIGNyaXRpY2FsLlxuXG5cbiIsIklucHV0VG9rZW5zIjo4NDIxLCJPdXRwdXRUb2tlbnMiOjMzLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzMsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDJUMjI6NDc6NDQuODY1NDAyNjAyWiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo4NDg3MTQ2NCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJURExTXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcIm5ldC9tYWM4MDIxMS9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC9tYWM4MDIxMS9LY29uZmlnPTI3MD1jb25maWcgTUFDODAyMTFfTUVTSF9QU19ERUJVR1xcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMjgwLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI4MTpjb25maWcgTUFDODAyMTFfVERMU19ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI4MjpcXHRib29sIFxcXCJWZXJib3NlIFRETFMgZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI4My1cXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI4NS1cXHQgIFNlbGVjdGluZyB0aGlzIG9wdGlvbiBjYXVzZXMgbWFjODAyMTEgdG8gcHJpbnQgb3V0IHZlcnlcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyODY6XFx0ICB2ZXJib3NlIFRETFMgc2VsZWN0aW9uIGRlYnVnZ2luZyBtZXNzYWdlcyAod2hlbiBtYWM4MDIxMVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI4NzpcXHQgIGlzIGEgVERMUyBTVEEpLlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI4OC1cXHQgIEl0IHNob3VsZCBub3QgYmUgc2VsZWN0ZWQgb24gcHJvZHVjdGlvbiBzeXN0ZW1zIGFzIHRob3NlXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAyVDIyOjQ3OjQ0Ljk1MDI4MDI4N1oiLCJTZXEiOjEzLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo3NzgxOTE2NTc0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgVERMUyBQZWVyIFRlYXJkb3duIFBhdGNoKipcblxuT2theSwgc28gdGhpcyBwYXRjaCBpcyBkZWFsaW5nIHdpdGggVERMUyBwZWVycyB3aXRoaW4gdGhlIGBtYWM4MDIxMWAgc3Vic3lzdGVtLiBSaWdodCBvZmYgdGhlIGJhdCwgSSBzZWUgdGhhdCB0aGUgVERMUyBmdW5jdGlvbmFsaXR5IGl0c2VsZiBpc24ndCBhIHN0YW5kYWxvbmUgY29uZmlndXJhdGlvbiBvcHRpb24sIGl0J3MgaW50ZWdyYXRlZCBpbnRvIGBtYWM4MDIxMWAuIFRoYXQgbWFrZXMgc2Vuc2U7IGl04oCZcyBhIGNvcmUgd2lyZWxlc3MgY29tcG9uZW50LlxuXG5NeSBuZXh0IHN0ZXAgaXMgdG8gcXVpY2tseSBjb25maXJtIHRoZSBzY29wZSBvZiB0aGUga2V5IGZ1bmN0aW9ucy4gTGV0IG1lIGNoZWNrIGlmIGBpZWVlODAyMTFfdGRsc19vcGVyYCBpcyBzdGF0aWMgb3Igbm90LiBBaCwgaXQncyBub3Qgc3RhdGljLiBJdCdzIGV4cG9ydGVkIHRocm91Z2ggYG1hYzgwMjExX2NvbmZpZ19vcHNgLCB3aGljaCBpcyBpbXBvcnRhbnQgZm9yIHVuZGVyc3RhbmRpbmcgaXRzIHVzYWdlIHBvaW50cy4gQW5kIGBpZWVlODAyMTFfdGRsc19wZWVyX2RlbF93b3JrYCBpc24ndCBzdGF0aWMgZWl0aGVyLlxuXG5BbHJpZ2h0LCBzbyB0aGUga2V5IHN5bWJvbHMgdG8gZm9jdXMgb24gYXJlIGBpZWVlODAyMTFfdGRsc19wZWVyX2RlbF93b3JrYCBhbmQgYGllZWU4MDIxMV90ZGxzX29wZXJgLiBUaGF0IGdpdmVzIG1lIGEgY2xlYXIgaWRlYSBvZiB3aGVyZSB0aGUgbW9kaWZpY2F0aW9ucyBhcmUgZm9jdXNlZC5cblxuTm93LCBsZXQncyBsb29rIGF0IHRoZSBcIkVuYWJsZUNvbmZpZ3MuXCIgSSBjYW4gc2VlIHRoYXQgYE1BQzgwMjExYCBhbmQgYE1BQzgwMjExX0hXU0lNYCBhcmUgdGhlIHJlbGV2YW50IGNvbmZpZ3VyYXRpb25zLiBUaGUgSFdTSU0gZHJpdmVyIGlzIHBhcnRpY3VsYXJseSBpbnRlcmVzdGluZyBiZWNhdXNlIGl0IHN1Z2dlc3RzIHRoaXMgY2hhbmdlIGNhbiBiZSBlZmZlY3RpdmVseSB0ZXN0ZWQgaW4gYSBzaW11bGF0ZWQgZW52aXJvbm1lbnQsIHdoaWNoIGlzIGV4Y2VsbGVudCBmb3IgcmVncmVzc2lvbnMuXG5cblRoZSByZWFzb25pbmcgc2VjdGlvbiBoaWdobGlnaHRzIHRoYXQgdGhpcyBwYXRjaCBhZGRyZXNzZXMgVERMUyBwZWVyIHRlYXJkb3duIGFuZCBkZWxldGlvbiBsb2dpYyBpbiBgbWFjODAyMTFgLiBUaGUgY29yZSBvZiB0aGUgZml4IGFwcGVhcnMgdG8gaW52b2x2ZSBwcmV2ZW50aW5nIHRoZSBkZXN0cnVjdGlvbiBvZiBub24tVERMUyBzdGF0aW9ucywgd2hpY2ggaXMgYSBzZW5zaWJsZSBtZWFzdXJlLiBUaGUgY2hhbmdlIGFwcGVhcnMgdG8gYmUgaW4gdGhlIHdpcmVsZXNzIGNvcmUgbG9naWMsIGFuZCBjYW4gYmUgdHJpZ2dlcmVkIHZpYSBubDgwMjExIG5ldGxpbmsgY29tbWFuZHMuXG5cbkknbGwgcXVpY2tseSBkb3VibGUtY2hlY2sgaWYgYENGRzgwMjExYCBpcyByZXF1aXJlZC4gSSBrbm93IHRoYXQgYE1BQzgwMjExYCBoYXMgYSBkZXBlbmRlbmN5IG9uIGBDRkc4MDIxMWAuIFRvIGJlIHNhZmUsIEknbGwgaW5jbHVkZSBgQ0ZHODAyMTFgIGluIHRoZSBjb25maWd1cmF0aW9uIGFzIHdlbGwsIGp1c3QgdG8gZW5zdXJlIGNvbXByZWhlbnNpdmUgY292ZXJhZ2UuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjg4OTAsIk91dHB1dFRva2VucyI6MTk1LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzIzLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAyVDIyOjQ3OjUyLjczMjE5ODk0MVoiLCJTZXEiOjE0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE0OTEzNTk4MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiTUFDODAyMTFcIixcbiAgICBcIk1BQzgwMjExX0hXU0lNXCIsXG4gICAgXCJDRkc4MDIxMVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImllZWU4MDIxMV90ZGxzX3BlZXJfZGVsX3dvcmtcIixcbiAgICBcImllZWU4MDIxMV90ZGxzX29wZXJcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgdGVhcmRvd24gYW5kIGRlbGV0aW9uIGxvZ2ljIGZvciBURExTIChUdW5uZWxlZCBEaXJlY3QgTGluayBTZXR1cCkgcGVlcnMgaW4gdGhlIG1hYzgwMjExIHN1YnN5c3RlbS4gSXQgZml4ZXMgYSBwb3RlbnRpYWwgaXNzdWUgd2hlcmUgYSBub24tVERMUyBzdGF0aW9uIGNvdWxkIGJlIGRlc3Ryb3llZCBieSB2ZXJpZnlpbmcgdGhlIHN0YXRpb24gdHlwZSBiZWZvcmUgY2FsbGluZyBgX19zdGFfaW5mb19kZXN0cm95YC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHJlYWNoYWJsZSBjb3JlIHdpcmVsZXNzIGxvZ2ljIHRoYXQgY2FuIGJlIHRyaWdnZXJlZCB2aWEgbmw4MDIxMSBuZXRsaW5rIGNvbW1hbmRzIGFuZCB0ZXN0ZWQgdXNpbmcgdGhlIG1hYzgwMjExX2h3c2ltIGRyaXZlci5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJNQUM4MDIxMVwiLFxuICAgIFwiTUFDODAyMTFfSFdTSU1cIixcbiAgICBcIkNGRzgwMjExXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiaWVlZTgwMjExX3RkbHNfcGVlcl9kZWxfd29ya1wiLFxuICAgIFwiaWVlZTgwMjExX3RkbHNfb3BlclwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSB0ZWFyZG93biBhbmQgZGVsZXRpb24gbG9naWMgZm9yIFRETFMgKFR1bm5lbGVkIERpcmVjdCBMaW5rIFNldHVwKSBwZWVycyBpbiB0aGUgbWFjODAyMTEgc3Vic3lzdGVtLiBJdCBmaXhlcyBhIHBvdGVudGlhbCBpc3N1ZSB3aGVyZSBhIG5vbi1URExTIHN0YXRpb24gY291bGQgYmUgZGVzdHJveWVkIGJ5IHZlcmlmeWluZyB0aGUgc3RhdGlvbiB0eXBlIGJlZm9yZSBjYWxsaW5nIGBfX3N0YV9pbmZvX2Rlc3Ryb3lgLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gcmVhY2hhYmxlIGNvcmUgd2lyZWxlc3MgbG9naWMgdGhhdCBjYW4gYmUgdHJpZ2dlcmVkIHZpYSBubDgwMjExIG5ldGxpbmsgY29tbWFuZHMgYW5kIHRlc3RlZCB1c2luZyB0aGUgbWFjODAyMTFfaHdzaW0gZHJpdmVyLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },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-workflowljf8x[1] Phase: Succeeded StartedAt: 2026-08-02 22:48:04 +0000 UTC FinishedAt: 2026-08-02 22:48:04 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljf8x[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-08-02 22:48:04 +0000 UTC FinishedAt: 2026-08-02 22:48:04 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljf8x[2] Phase: Succeeded StartedAt: 2026-08-02 22:48:04 +0000 UTC FinishedAt: 2026-08-03 02:43:33 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-08-02 22:48:04 +0000 UTC FinishedAt: 2026-08-03 02:43:33 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-08-02 22:48:04 +0000 UTC FinishedAt: 2026-08-02 22:48:14 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-08-02 22:48:04 +0000 UTC FinishedAt: 2026-08-02 22:48:11 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.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-workflowljf8x/series-workflowljf8x-convert-artifact-2308141910/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-08-02 22:48:14 +0000 UTC FinishedAt: 2026-08-02 23:14:43 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-08-02 22:48:14 +0000 UTC FinishedAt: 2026-08-02 23:14:43 +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:*a03ea710-9f42-4320-9262-b95d7d10b9cf,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-workflowljf8x/series-workflowljf8x-convert-artifact-2308141910/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": "08d17542-a4cc-4135-b53d-7e403c1ec08e", "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-workflowljf8x/series-workflowljf8x-build-action-3266858988/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-08-02 22:48:14 +0000 UTC FinishedAt: 2026-08-02 23:14:33 +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:*a03ea710-9f42-4320-9262-b95d7d10b9cf,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-workflowljf8x/series-workflowljf8x-convert-artifact-2308141910/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": "08d17542-a4cc-4135-b53d-7e403c1ec08e", "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-workflowljf8x/series-workflowljf8x-build-action-3266858988/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-08-02 23:14:43 +0000 UTC FinishedAt: 2026-08-02 23:14:43 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-08-02 23:14:43 +0000 UTC FinishedAt: 2026-08-02 23:14:43 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-08-02 23:14:43 +0000 UTC FinishedAt: 2026-08-02 23:15:03 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-08-02 23:14:43 +0000 UTC FinishedAt: 2026-08-02 23:14:48 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.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-workflowljf8x/series-workflowljf8x-convert-artifact-3336101353/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-08-02 23:15:03 +0000 UTC FinishedAt: 2026-08-02 23:17:03 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-08-02 23:15:03 +0000 UTC FinishedAt: 2026-08-02 23:16:52 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*08d17542-a4cc-4135-b53d-7e403c1ec08e,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-workflowljf8x/series-workflowljf8x-build-action-3266858988/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-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-08-02 23:17:03 +0000 UTC FinishedAt: 2026-08-02 23:17:03 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-08-02 23:17:03 +0000 UTC FinishedAt: 2026-08-02 23:17:03 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-08-02 23:17:03 +0000 UTC FinishedAt: 2026-08-02 23:39:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-08-02 23:17:03 +0000 UTC FinishedAt: 2026-08-02 23:39:58 +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:*a03ea710-9f42-4320-9262-b95d7d10b9cf,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-workflowljf8x/series-workflowljf8x-convert-artifact-3336101353/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": "63d451e6-4c5e-49c4-9c3d-4dc23b9b6d4d", "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-workflowljf8x/series-workflowljf8x-build-action-3532463557/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-08-02 23:17:03 +0000 UTC FinishedAt: 2026-08-02 23:39:48 +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:*a03ea710-9f42-4320-9262-b95d7d10b9cf,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-workflowljf8x/series-workflowljf8x-convert-artifact-3336101353/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": "63d451e6-4c5e-49c4-9c3d-4dc23b9b6d4d", "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-workflowljf8x/series-workflowljf8x-build-action-3532463557/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-08-02 23:39:58 +0000 UTC FinishedAt: 2026-08-02 23:39:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-08-02 23:39:58 +0000 UTC FinishedAt: 2026-08-02 23:39:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-08-02 23:39:58 +0000 UTC FinishedAt: 2026-08-02 23:41:59 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-08-02 23:39:58 +0000 UTC FinishedAt: 2026-08-02 23:41:50 +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:*63d451e6-4c5e-49c4-9c3d-4dc23b9b6d4d,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-workflowljf8x/series-workflowljf8x-build-action-3532463557/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-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-08-02 23:41:59 +0000 UTC FinishedAt: 2026-08-03 02:43:33 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-08-02 23:41:59 +0000 UTC FinishedAt: 2026-08-03 02:43:33 +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":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"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:*08d17542-a4cc-4135-b53d-7e403c1ec08e,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*63d451e6-4c5e-49c4-9c3d-4dc23b9b6d4d,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-workflowljf8x/series-workflowljf8x-build-action-3266858988/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-workflowljf8x/series-workflowljf8x-build-action-3532463557/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-08-02 23:41:59 +0000 UTC FinishedAt: 2026-08-02 23:42:09 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-08-02 23:41:59 +0000 UTC FinishedAt: 2026-08-02 23:42:04 +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":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"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-workflowljf8x/series-workflowljf8x-convert-artifact-159138622/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-08-02 23:41:59 +0000 UTC FinishedAt: 2026-08-02 23:41:59 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-08-02 23:41:59 +0000 UTC FinishedAt: 2026-08-02 23:41:59 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-08-02 23:41:59 +0000 UTC FinishedAt: 2026-08-02 23:41:59 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-08-02 23:42:09 +0000 UTC FinishedAt: 2026-08-03 02:43:33 +0000 UTC Input: nil Output: nil --------- Name: series-workflowljf8x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":null,"focus_symbols":["ieee80211_tdls_peer_del_work","ieee80211_tdls_oper"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f5098b6bae761e346ebcd9da7f95622c04733cff","config_name":"upstream-apparmor-kasan.config","enable_configs":["MAC80211","MAC80211_HWSIM","CFG80211"],"series_id":"132b80ac-3725-4bf3-b3e6-e2e1845b3bf7","tree_name":"axboe","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/axboe/linux.git"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-08-02 23:42:09 +0000 UTC FinishedAt: 2026-08-03 02:43:24 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*08d17542-a4cc-4135-b53d-7e403c1ec08e,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*63d451e6-4c5e-49c4-9c3d-4dc23b9b6d4d,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-workflowljf8x/series-workflowljf8x-build-action-3266858988/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-workflowljf8x/series-workflowljf8x-build-action-3532463557/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-workflowljf8x/series-workflowljf8x-convert-artifact-159138622/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,}