Name: series-workflowv7g5c Phase: Succeeded StartedAt: 2026-07-15 13:08:55 +0000 UTC FinishedAt: 2026-07-15 15:36:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv7g5c[0] Phase: Succeeded StartedAt: 2026-07-15 13:08:55 +0000 UTC FinishedAt: 2026-07-15 13:32:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv7g5c[0].run-triage Phase: Succeeded StartedAt: 2026-07-15 13:08:55 +0000 UTC FinishedAt: 2026-07-15 13:32:12 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "bpf-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git", "commit_hash": "dc59e4fea9d83f03bad6bddf3fa2e52491777482", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BPF_JIT", "BPF_SYSCALL" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "bpf-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git", "commit_hash": "dc59e4fea9d83f03bad6bddf3fa2e52491777482", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BPF_JIT", "BPF_SYSCALL" ], "series_id": "d34d08ad-23c4-43c8-aaf3-1b476247a336" }, "track": "KASAN", "fuzz": { "focus": [ "bpf" ], "focus_symbols": [ "bpf_jit_emit_insn", "bpf_jit_supports_timed_may_goto", "arch_bpf_timed_may_goto" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE1IDEzOjMwPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JQRl9KSVQmIzM0OywKICAgICYjMzQ7QlBGX1NZU0NBTEwmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfaml0X2VtaXRfaW5zbiYjMzQ7LAogICAgJiMzNDticGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvJiMzNDssCiAgICAmIzM0O2FyY2hfYnBmX3RpbWVkX21heV9nb3RvJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgdGhlIGBicGZfdGltZWRfbWF5X2dvdG9gIGluc3RydWN0aW9uIGluIHRoZSBSSVNDLVYgNjQtYml0IEJQRiBKSVQgY29tcGlsZXIuIEl0IG1vZGlmaWVzIHRoZSBKSVQgaW5zdHJ1Y3Rpb24gZW1pdHRlciBhbmQgYWRkcyBhIG5ldyBhc3NlbWJseSB0cmFtcG9saW5lLCB3aGljaCBhcmUgZnVuY3Rpb25hbCBjaGFuZ2VzIHRoYXQgY2FuIGJlIHJlYWNoZWQgYnkgbG9hZGluZyBzcGVjaWZpYyBCUEYgcHJvZ3JhbXMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTUgMTM6MzA8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBhNjlkNDMzNDk1OGE3YWZlNTNjMjJhYWMwYTIzYjkxYjY0ZTZmYTdlXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFdlZCBKdWwgMTUgMTM6MzA6MjggMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGUgYi9hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZVxuaW5kZXggOWExZTVmMGE5NGU1NTkuLjY0NThkNGQ1MTk5MGE3IDEwMDY0NFxuLS0tIGEvYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGVcbiYjNDM7JiM0MzsmIzQzOyBiL2FyY2gvcmlzY3YvbmV0L01ha2VmaWxlXG5AQCAtMyw3ICYjNDM7Myw3IEBAXG4gb2JqLSQoQ09ORklHX0JQRl9KSVQpICYjNDM7PSBicGZfaml0X2NvcmUub1xuIFxuIGlmZXEgKCQoQ09ORklHX0FSQ0hfUlY2NEkpLHkpXG4tXHRvYmotJChDT05GSUdfQlBGX0pJVCkgJiM0Mzs9IGJwZl9qaXRfY29tcDY0Lm9cbiYjNDM7XHRvYmotJChDT05GSUdfQlBGX0pJVCkgJiM0Mzs9IGJwZl9qaXRfY29tcDY0Lm8gYnBmX3RpbWVkX21heV9nb3RvLm9cbiBlbHNlXG4gXHRvYmotJChDT05GSUdfQlBGX0pJVCkgJiM0Mzs9IGJwZl9qaXRfY29tcDMyLm9cbiBlbmRpZlxuZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMgYi9hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jXG5pbmRleCBjMDNjMWRlMTZiNzlhYy4uNGY4OGE0NDYyNzhhZTggMTAwNjQ0XG4tLS0gYS9hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jXG5AQCAtMTg0MSw3ICYjNDM7MTg0MSwxMyBAQCBpbnQgYnBmX2ppdF9lbWl0X2luc24oY29uc3Qgc3RydWN0IGJwZl9pbnNuICppbnNuLCBzdHJ1Y3QgcnZfaml0X2NvbnRleHQgKmN0eCxcbiBcdFx0aWYgKHJldClcbiBcdFx0XHRyZXR1cm4gcmV0O1xuIFxuLVx0XHRpZiAoaW5zbi1cdTAwM2VzcmNfcmVnICE9IEJQRl9QU0VVRE9fQ0FMTClcbiYjNDM7XHRcdC8qXG4mIzQzO1x0XHQgKiBhcmNoX2JwZl90aW1lZF9tYXlfZ290bygpIGlzIGVtaXR0ZWQgYnkgdGhlIHZlcmlmaWVyIGFuZFxuJiM0MztcdFx0ICogcmV0dXJucyBpdHMgcmVzdWx0IGluIEJQRl9SRUdfQVggaW5zdGVhZCBvZiBCUEZfUkVHXzAsIHNvXG4mIzQzO1x0XHQgKiBza2lwIHRoZSBub3JtYWwgXCYjMzQ7bW92ZSByZXR1cm4gcmVnaXN0ZXIgaW50byBSMFwmIzM0Oy5cbiYjNDM7XHRcdCAqL1xuJiM0MztcdFx0aWYgKGluc24tXHUwMDNlc3JjX3JlZyAhPSBCUEZfUFNFVURPX0NBTEwgXHUwMDI2XHUwMDI2XG4mIzQzO1x0XHQgICAgYWRkciAhPSAodTY0KWFyY2hfYnBmX3RpbWVkX21heV9nb3RvKVxuIFx0XHRcdGVtaXRfbXYoYnBmX3RvX3J2X3JlZyhCUEZfUkVHXzAsIGN0eCksIFJWX1JFR19BMCwgY3R4KTtcbiBcdFx0YnJlYWs7XG4gXHR9XG5AQCAtMjE1NywzICYjNDM7MjE2Myw4IEBAIGJvb2wgYnBmX2ppdF9zdXBwb3J0c19mc2Vzc2lvbih2b2lkKVxuIHtcbiBcdHJldHVybiB0cnVlO1xuIH1cbiYjNDM7XG4mIzQzO2Jvb2wgYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290byh2b2lkKVxuJiM0Mzt7XG4mIzQzO1x0cmV0dXJuIHRydWU7XG4mIzQzO31cbmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUyBiL2FyY2gvcmlzY3YvbmV0L2JwZl90aW1lZF9tYXlfZ290by5TXG5uZXcgZmlsZSBtb2RlIDEwMDY0NFxuaW5kZXggMDAwMDAwMDAwMDAwMDAuLmY0YmYyY2QxMDU4NjZiXG4tLS0gL2Rldi9udWxsXG4mIzQzOyYjNDM7JiM0MzsgYi9hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uU1xuQEAgLTAsMCAmIzQzOzEsNDcgQEBcbiYjNDM7LyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgKi9cbiYjNDM7LyogQ29weXJpZ2h0IChjKSAyMDI2IEZlbmcgSmlhbmcgXHUwMDNjamlhbmdmZW5nQGt5bGlub3MuY25cdTAwM2UgKi9cbiYjNDM7XG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2xpbmthZ2UuaFx1MDAzZVxuJiM0MzsjaW5jbHVkZSBcdTAwM2Nhc20vYXNtLmhcdTAwM2VcbiYjNDM7XG4mIzQzOy8qXG4mIzQzOyAqIFRyYW1wb2xpbmUgZm9yIHRoZSBCUEYgdGltZWQgbWF5X2dvdG8gbG9vcCBib3VuZC4gQ3VzdG9tIGNhbGxpbmcgY29udmVudGlvbjpcbiYjNDM7ICpcdC0gaW5wdXQ6ICBzdGFjayBvZmZzZXQgaW4gQlBGX1JFR19BWCAodDApXG4mIzQzOyAqXHQtIG91dHB1dDogdXBkYXRlZCBjb3VudCBpbiBCUEZfUkVHX0FYICh0MClcbiYjNDM7ICpcbiYjNDM7ICogQ2FsbHMgYnBmX2NoZWNrX3RpbWVkX21heV9nb3RvKHB0cikgd2l0aCB0aGUgc3RhbmRhcmQgUklTQy1WIEFCSSwgd2hlcmVcbiYjNDM7ICogcHRyID0gQlBGX1JFR19GUCAoczUpICYjNDM7IEJQRl9SRUdfQVggKHQwKS4gQlBGIFIwLVI1IChhNSwgYTAtYTQpIGFyZSBzYXZlZFxuJiM0MzsgKiBhY3Jvc3MgdGhlIGNhbGw7IEJQRl9SRUdfRlAgKHM1KSBpcyBjYWxsZWUtc2F2ZWQgYW5kIG5lZWRzIG5vIHNhdmluZy5cbiYjNDM7ICovXG4mIzQzO1xuJiM0MztTWU1fRlVOQ19TVEFSVChhcmNoX2JwZl90aW1lZF9tYXlfZ290bylcbiYjNDM7XHRhZGRpXHRzcCwgc3AsIC02NFxuJiM0MztcdHNkXHRyYSwgNTYoc3ApXG4mIzQzO1x0c2RcdHMwLCA0OChzcClcbiYjNDM7XHRhZGRpXHRzMCwgc3AsIDY0XG4mIzQzO1xuJiM0MztcdC8qIFNhdmUgQlBGIHJlZ2lzdGVycyBSMC1SNSAoYTUsIGEwLWE0KSAqL1xuJiM0MztcdHNkXHRhNSwgNDAoc3ApXG4mIzQzO1x0c2RcdGEwLCAzMihzcClcbiYjNDM7XHRzZFx0YTEsIDI0KHNwKVxuJiM0MztcdHNkXHRhMiwgMTYoc3ApXG4mIzQzO1x0c2RcdGEzLCA4KHNwKVxuJiM0MztcdHNkXHRhNCwgMChzcClcbiYjNDM7XG4mIzQzO1x0YWRkXHRhMCwgdDAsIHM1XG4mIzQzO1x0Y2FsbFx0YnBmX2NoZWNrX3RpbWVkX21heV9nb3RvXG4mIzQzO1x0bXZcdHQwLCBhMFxuJiM0MztcbiYjNDM7XHQvKiBSZXN0b3JlIEJQRiByZWdpc3RlcnMgUjAtUjUgKi9cbiYjNDM7XHRsZFx0YTQsIDAoc3ApXG4mIzQzO1x0bGRcdGEzLCA4KHNwKVxuJiM0MztcdGxkXHRhMiwgMTYoc3ApXG4mIzQzO1x0bGRcdGExLCAyNChzcClcbiYjNDM7XHRsZFx0YTAsIDMyKHNwKVxuJiM0MztcdGxkXHRhNSwgNDAoc3ApXG4mIzQzO1xuJiM0MztcdGxkXHRzMCwgNDgoc3ApXG4mIzQzO1x0bGRcdHJhLCA1NihzcClcbiYjNDM7XHRhZGRpXHRzcCwgc3AsIDY0XG4mIzQzO1x0cmV0XG4mIzQzO1NZTV9GVU5DX0VORChhcmNoX2JwZl90aW1lZF9tYXlfZ290bylcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3Mvc3RyZWFtLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3Mvc3RyZWFtLmNcbmluZGV4IDkyYmExZDcyZTBlY2U0Li44ZDhlNTNkMzcyNjZjZCAxMDA2NDRcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy9zdHJlYW0uY1xuJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3N0cmVhbS5jXG5AQCAtNjQsNiAmIzQzOzY0LDcgQEAgU0VDKFwmIzM0O3N5c2NhbGxcJiMzNDspXG4gX19hcmNoX3g4Nl82NFxuIF9fYXJjaF9hcm02NFxuIF9fYXJjaF9zMzkweFxuJiM0MztfX2FyY2hfcmlzY3Y2NFxuIF9fc3VjY2VzcyBfX3JldHZhbCgwKVxuIF9fc3RkZXJyKFwmIzM0O0VSUk9SOiBUaW1lb3V0IGRldGVjdGVkIGZvciBtYXlfZ290byBpbnN0cnVjdGlvblwmIzM0OylcbiBfX3N0ZGVycihcJiMzNDtDUFU6IHt7WzAtOV0mIzQzO319IFVJRDogMCBQSUQ6IHt7WzAtOV0mIzQzO319IENvbW06IHt7Lip9fVwmIzM0OylcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfYnBmX2Zhc3RjYWxsLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfYnBmX2Zhc3RjYWxsLmNcbmluZGV4IDhkN2ZmMzhlNGMwNjk3Li5lNjY3MWM1NGU1M2FkYSAxMDA2NDRcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9icGZfZmFzdGNhbGwuY1xuJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX2JwZl9mYXN0Y2FsbC5jXG5AQCAtNjYwLDYgJiM0Mzs2NjAsNyBAQCBfX25ha2VkIHZvaWQgbWF5X2dvdG9faW50ZXJhY3Rpb25feDg2XzY0KHZvaWQpXG4gXG4gU0VDKFwmIzM0O3Jhd190cFwmIzM0OylcbiBfX2FyY2hfYXJtNjRcbiYjNDM7X19hcmNoX3Jpc2N2NjRcbiBfX2xvZ19sZXZlbCg0KSBfX21zZyhcJiMzNDtzdGFjayBkZXB0aCAyNFwmIzM0OylcbiAvKiBtYXlfZ290byBjb3VudGVyIGF0IC0yNCAqL1xuIF9feGxhdGVkKFwmIzM0OzA6ICoodTY0ICopKHIxMCAtMjQpID1cJiMzNDspXG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9tYXlfZ290b18xLmNcbmluZGV4IDRiZGY0MjU2YTQxZTUxLi5mNDdiOWQ1NDBhMTc1OSAxMDA2NDRcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9tYXlfZ290b18xLmNcbiYjNDM7JiM0MzsmIzQzOyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9tYXlfZ290b18xLmNcbkBAIC0xMSw2ICYjNDM7MTEsNyBAQCBfX2Rlc2NyaXB0aW9uKFwmIzM0O21heV9nb3RvIDBcJiMzNDspXG4gX19hcmNoX3g4Nl82NFxuIF9fYXJjaF9zMzkweFxuIF9fYXJjaF9hcm02NFxuJiM0MztfX2FyY2hfcmlzY3Y2NFxuIF9feGxhdGVkKFwmIzM0OzA6IHIwID0gMVwmIzM0OylcbiBfX3hsYXRlZChcJiMzNDsxOiBleGl0XCYjMzQ7KVxuIF9fc3VjY2Vzc1xuQEAgLTMxLDYgJiM0MzszMiw3IEBAIF9fZGVzY3JpcHRpb24oXCYjMzQ7YmF0Y2ggMiBvZiBtYXlfZ290byAwXCYjMzQ7KVxuIF9fYXJjaF94ODZfNjRcbiBfX2FyY2hfczM5MHhcbiBfX2FyY2hfYXJtNjRcbiYjNDM7X19hcmNoX3Jpc2N2NjRcbiBfX3hsYXRlZChcJiMzNDswOiByMCA9IDFcJiMzNDspXG4gX194bGF0ZWQoXCYjMzQ7MTogZXhpdFwmIzM0OylcbiBfX3N1Y2Nlc3NcbkBAIC01Myw2ICYjNDM7NTUsNyBAQCBfX2Rlc2NyaXB0aW9uKFwmIzM0O21heV9nb3RvIGJhdGNoIHdpdGggb2Zmc2V0cyAyLzEvMFwmIzM0OylcbiBfX2FyY2hfeDg2XzY0XG4gX19hcmNoX3MzOTB4XG4gX19hcmNoX2FybTY0XG4mIzQzO19fYXJjaF9yaXNjdjY0XG4gX194bGF0ZWQoXCYjMzQ7MDogcjAgPSAxXCYjMzQ7KVxuIF9feGxhdGVkKFwmIzM0OzE6IGV4aXRcJiMzNDspXG4gX19zdWNjZXNzXG5AQCAtNzksNiAmIzQzOzgyLDcgQEAgX19kZXNjcmlwdGlvbihcJiMzNDttYXlfZ290byBiYXRjaCB3aXRoIG9mZnNldHMgMi8wXCYjMzQ7KVxuIF9fYXJjaF94ODZfNjRcbiBfX2FyY2hfczM5MHhcbiBfX2FyY2hfYXJtNjRcbiYjNDM7X19hcmNoX3Jpc2N2NjRcbiBfX3hsYXRlZChcJiMzNDswOiAqKHU2NCAqKShyMTAgLTE2KSA9IDY1NTM1XCYjMzQ7KVxuIF9feGxhdGVkKFwmIzM0OzE6ICoodTY0ICopKHIxMCAtOCkgPSAwXCYjMzQ7KVxuIF9feGxhdGVkKFwmIzM0OzI6IHIxMiA9ICoodTY0ICopKHIxMCAtMTYpXCYjMzQ7KVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE1IDEzOjMwPC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JQRl9KSVQmIzM0OywKICAgICYjMzQ7QlBGX1NZU0NBTEwmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfaml0X2VtaXRfaW5zbiYjMzQ7LAogICAgJiMzNDticGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvJiMzNDssCiAgICAmIzM0O2FyY2hfYnBmX3RpbWVkX21heV9nb3RvJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgdGhlIGBicGZfdGltZWRfbWF5X2dvdG9gIGluc3RydWN0aW9uIGluIHRoZSBSSVNDLVYgNjQtYml0IEJQRiBKSVQgY29tcGlsZXIuIEl0IG1vZGlmaWVzIHRoZSBKSVQgaW5zdHJ1Y3Rpb24gZW1pdHRlciBhbmQgYWRkcyBhIG5ldyBhc3NlbWJseSB0cmFtcG9saW5lLCB3aGljaCBhcmUgZnVuY3Rpb25hbCBjaGFuZ2VzIHRoYXQgY2FuIGJlIHJlYWNoZWQgYnkgbG9hZGluZyBzcGVjaWZpYyBCUEYgcHJvZ3JhbXMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IGE2OWQ0MzM0OTU4YTdhZmU1M2MyMmFhYzBhMjNiOTFiNjRlNmZhN2UKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgV2VkIEp1bCAxNSAxMzozMDoyOCAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvbmV0L01ha2VmaWxlIGIvYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGUKaW5kZXggOWExZTVmMGE5NGU1NTkuLjY0NThkNGQ1MTk5MGE3IDEwMDY0NAotLS0gYS9hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZQomIzQzOyYjNDM7JiM0MzsgYi9hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZQpAQCAtMyw3ICYjNDM7Myw3IEBACiBvYmotJChDT05GSUdfQlBGX0pJVCkgJiM0Mzs9IGJwZl9qaXRfY29yZS5vCiAKIGlmZXEgKCQoQ09ORklHX0FSQ0hfUlY2NEkpLHkpCi0Jb2JqLSQoQ09ORklHX0JQRl9KSVQpICYjNDM7PSBicGZfaml0X2NvbXA2NC5vCiYjNDM7CW9iai0kKENPTkZJR19CUEZfSklUKSAmIzQzOz0gYnBmX2ppdF9jb21wNjQubyBicGZfdGltZWRfbWF5X2dvdG8ubwogZWxzZQogCW9iai0kKENPTkZJR19CUEZfSklUKSAmIzQzOz0gYnBmX2ppdF9jb21wMzIubwogZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMgYi9hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jCmluZGV4IGMwM2MxZGUxNmI3OWFjLi40Zjg4YTQ0NjI3OGFlOCAxMDA2NDQKLS0tIGEvYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYwomIzQzOyYjNDM7JiM0MzsgYi9hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jCkBAIC0xODQxLDcgJiM0MzsxODQxLDEzIEBAIGludCBicGZfaml0X2VtaXRfaW5zbihjb25zdCBzdHJ1Y3QgYnBmX2luc24gKmluc24sIHN0cnVjdCBydl9qaXRfY29udGV4dCAqY3R4LAogCQlpZiAocmV0KQogCQkJcmV0dXJuIHJldDsKIAotCQlpZiAoaW5zbi0mZ3Q7c3JjX3JlZyAhPSBCUEZfUFNFVURPX0NBTEwpCiYjNDM7CQkvKgomIzQzOwkJICogYXJjaF9icGZfdGltZWRfbWF5X2dvdG8oKSBpcyBlbWl0dGVkIGJ5IHRoZSB2ZXJpZmllciBhbmQKJiM0MzsJCSAqIHJldHVybnMgaXRzIHJlc3VsdCBpbiBCUEZfUkVHX0FYIGluc3RlYWQgb2YgQlBGX1JFR18wLCBzbwomIzQzOwkJICogc2tpcCB0aGUgbm9ybWFsICYjMzQ7bW92ZSByZXR1cm4gcmVnaXN0ZXIgaW50byBSMCYjMzQ7LgomIzQzOwkJICovCiYjNDM7CQlpZiAoaW5zbi0mZ3Q7c3JjX3JlZyAhPSBCUEZfUFNFVURPX0NBTEwgJmFtcDsmYW1wOwomIzQzOwkJICAgIGFkZHIgIT0gKHU2NClhcmNoX2JwZl90aW1lZF9tYXlfZ290bykKIAkJCWVtaXRfbXYoYnBmX3RvX3J2X3JlZyhCUEZfUkVHXzAsIGN0eCksIFJWX1JFR19BMCwgY3R4KTsKIAkJYnJlYWs7CiAJfQpAQCAtMjE1NywzICYjNDM7MjE2Myw4IEBAIGJvb2wgYnBmX2ppdF9zdXBwb3J0c19mc2Vzc2lvbih2b2lkKQogewogCXJldHVybiB0cnVlOwogfQomIzQzOwomIzQzO2Jvb2wgYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290byh2b2lkKQomIzQzO3sKJiM0MzsJcmV0dXJuIHRydWU7CiYjNDM7fQpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9uZXQvYnBmX3RpbWVkX21heV9nb3RvLlMgYi9hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMC4uZjRiZjJjZDEwNTg2NmIKLS0tIC9kZXYvbnVsbAomIzQzOyYjNDM7JiM0MzsgYi9hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUwpAQCAtMCwwICYjNDM7MSw0NyBAQAomIzQzOy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wICovCiYjNDM7LyogQ29weXJpZ2h0IChjKSAyMDI2IEZlbmcgSmlhbmcgJmx0O2ppYW5nZmVuZ0BreWxpbm9zLmNuJmd0OyAqLwomIzQzOwomIzQzOyNpbmNsdWRlICZsdDtsaW51eC9saW5rYWdlLmgmZ3Q7CiYjNDM7I2luY2x1ZGUgJmx0O2FzbS9hc20uaCZndDsKJiM0MzsKJiM0MzsvKgomIzQzOyAqIFRyYW1wb2xpbmUgZm9yIHRoZSBCUEYgdGltZWQgbWF5X2dvdG8gbG9vcCBib3VuZC4gQ3VzdG9tIGNhbGxpbmcgY29udmVudGlvbjoKJiM0MzsgKgktIGlucHV0OiAgc3RhY2sgb2Zmc2V0IGluIEJQRl9SRUdfQVggKHQwKQomIzQzOyAqCS0gb3V0cHV0OiB1cGRhdGVkIGNvdW50IGluIEJQRl9SRUdfQVggKHQwKQomIzQzOyAqCiYjNDM7ICogQ2FsbHMgYnBmX2NoZWNrX3RpbWVkX21heV9nb3RvKHB0cikgd2l0aCB0aGUgc3RhbmRhcmQgUklTQy1WIEFCSSwgd2hlcmUKJiM0MzsgKiBwdHIgPSBCUEZfUkVHX0ZQIChzNSkgJiM0MzsgQlBGX1JFR19BWCAodDApLiBCUEYgUjAtUjUgKGE1LCBhMC1hNCkgYXJlIHNhdmVkCiYjNDM7ICogYWNyb3NzIHRoZSBjYWxsOyBCUEZfUkVHX0ZQIChzNSkgaXMgY2FsbGVlLXNhdmVkIGFuZCBuZWVkcyBubyBzYXZpbmcuCiYjNDM7ICovCiYjNDM7CiYjNDM7U1lNX0ZVTkNfU1RBUlQoYXJjaF9icGZfdGltZWRfbWF5X2dvdG8pCiYjNDM7CWFkZGkJc3AsIHNwLCAtNjQKJiM0MzsJc2QJcmEsIDU2KHNwKQomIzQzOwlzZAlzMCwgNDgoc3ApCiYjNDM7CWFkZGkJczAsIHNwLCA2NAomIzQzOwomIzQzOwkvKiBTYXZlIEJQRiByZWdpc3RlcnMgUjAtUjUgKGE1LCBhMC1hNCkgKi8KJiM0MzsJc2QJYTUsIDQwKHNwKQomIzQzOwlzZAlhMCwgMzIoc3ApCiYjNDM7CXNkCWExLCAyNChzcCkKJiM0MzsJc2QJYTIsIDE2KHNwKQomIzQzOwlzZAlhMywgOChzcCkKJiM0MzsJc2QJYTQsIDAoc3ApCiYjNDM7CiYjNDM7CWFkZAlhMCwgdDAsIHM1CiYjNDM7CWNhbGwJYnBmX2NoZWNrX3RpbWVkX21heV9nb3RvCiYjNDM7CW12CXQwLCBhMAomIzQzOwomIzQzOwkvKiBSZXN0b3JlIEJQRiByZWdpc3RlcnMgUjAtUjUgKi8KJiM0MzsJbGQJYTQsIDAoc3ApCiYjNDM7CWxkCWEzLCA4KHNwKQomIzQzOwlsZAlhMiwgMTYoc3ApCiYjNDM7CWxkCWExLCAyNChzcCkKJiM0MzsJbGQJYTAsIDMyKHNwKQomIzQzOwlsZAlhNSwgNDAoc3ApCiYjNDM7CiYjNDM7CWxkCXMwLCA0OChzcCkKJiM0MzsJbGQJcmEsIDU2KHNwKQomIzQzOwlhZGRpCXNwLCBzcCwgNjQKJiM0MzsJcmV0CiYjNDM7U1lNX0ZVTkNfRU5EKGFyY2hfYnBmX3RpbWVkX21heV9nb3RvKQpkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3N0cmVhbS5jIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3N0cmVhbS5jCmluZGV4IDkyYmExZDcyZTBlY2U0Li44ZDhlNTNkMzcyNjZjZCAxMDA2NDQKLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3N0cmVhbS5jCiYjNDM7JiM0MzsmIzQzOyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy9zdHJlYW0uYwpAQCAtNjQsNiAmIzQzOzY0LDcgQEAgU0VDKCYjMzQ7c3lzY2FsbCYjMzQ7KQogX19hcmNoX3g4Nl82NAogX19hcmNoX2FybTY0CiBfX2FyY2hfczM5MHgKJiM0MztfX2FyY2hfcmlzY3Y2NAogX19zdWNjZXNzIF9fcmV0dmFsKDApCiBfX3N0ZGVycigmIzM0O0VSUk9SOiBUaW1lb3V0IGRldGVjdGVkIGZvciBtYXlfZ290byBpbnN0cnVjdGlvbiYjMzQ7KQogX19zdGRlcnIoJiMzNDtDUFU6IHt7WzAtOV0mIzQzO319IFVJRDogMCBQSUQ6IHt7WzAtOV0mIzQzO319IENvbW06IHt7Lip9fSYjMzQ7KQpkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX2JwZl9mYXN0Y2FsbC5jIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX2JwZl9mYXN0Y2FsbC5jCmluZGV4IDhkN2ZmMzhlNGMwNjk3Li5lNjY3MWM1NGU1M2FkYSAxMDA2NDQKLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX2JwZl9mYXN0Y2FsbC5jCiYjNDM7JiM0MzsmIzQzOyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9icGZfZmFzdGNhbGwuYwpAQCAtNjYwLDYgJiM0Mzs2NjAsNyBAQCBfX25ha2VkIHZvaWQgbWF5X2dvdG9faW50ZXJhY3Rpb25feDg2XzY0KHZvaWQpCiAKIFNFQygmIzM0O3Jhd190cCYjMzQ7KQogX19hcmNoX2FybTY0CiYjNDM7X19hcmNoX3Jpc2N2NjQKIF9fbG9nX2xldmVsKDQpIF9fbXNnKCYjMzQ7c3RhY2sgZGVwdGggMjQmIzM0OykKIC8qIG1heV9nb3RvIGNvdW50ZXIgYXQgLTI0ICovCiBfX3hsYXRlZCgmIzM0OzA6ICoodTY0ICopKHIxMCAtMjQpID0mIzM0OykKZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9tYXlfZ290b18xLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfbWF5X2dvdG9fMS5jCmluZGV4IDRiZGY0MjU2YTQxZTUxLi5mNDdiOWQ1NDBhMTc1OSAxMDA2NDQKLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuYwomIzQzOyYjNDM7JiM0MzsgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfbWF5X2dvdG9fMS5jCkBAIC0xMSw2ICYjNDM7MTEsNyBAQCBfX2Rlc2NyaXB0aW9uKCYjMzQ7bWF5X2dvdG8gMCYjMzQ7KQogX19hcmNoX3g4Nl82NAogX19hcmNoX3MzOTB4CiBfX2FyY2hfYXJtNjQKJiM0MztfX2FyY2hfcmlzY3Y2NAogX194bGF0ZWQoJiMzNDswOiByMCA9IDEmIzM0OykKIF9feGxhdGVkKCYjMzQ7MTogZXhpdCYjMzQ7KQogX19zdWNjZXNzCkBAIC0zMSw2ICYjNDM7MzIsNyBAQCBfX2Rlc2NyaXB0aW9uKCYjMzQ7YmF0Y2ggMiBvZiBtYXlfZ290byAwJiMzNDspCiBfX2FyY2hfeDg2XzY0CiBfX2FyY2hfczM5MHgKIF9fYXJjaF9hcm02NAomIzQzO19fYXJjaF9yaXNjdjY0CiBfX3hsYXRlZCgmIzM0OzA6IHIwID0gMSYjMzQ7KQogX194bGF0ZWQoJiMzNDsxOiBleGl0JiMzNDspCiBfX3N1Y2Nlc3MKQEAgLTUzLDYgJiM0Mzs1NSw3IEBAIF9fZGVzY3JpcHRpb24oJiMzNDttYXlfZ290byBiYXRjaCB3aXRoIG9mZnNldHMgMi8xLzAmIzM0OykKIF9fYXJjaF94ODZfNjQKIF9fYXJjaF9zMzkweAogX19hcmNoX2FybTY0CiYjNDM7X19hcmNoX3Jpc2N2NjQKIF9feGxhdGVkKCYjMzQ7MDogcjAgPSAxJiMzNDspCiBfX3hsYXRlZCgmIzM0OzE6IGV4aXQmIzM0OykKIF9fc3VjY2VzcwpAQCAtNzksNiAmIzQzOzgyLDcgQEAgX19kZXNjcmlwdGlvbigmIzM0O21heV9nb3RvIGJhdGNoIHdpdGggb2Zmc2V0cyAyLzAmIzM0OykKIF9fYXJjaF94ODZfNjQKIF9fYXJjaF9zMzkweAogX19hcmNoX2FybTY0CiYjNDM7X19hcmNoX3Jpc2N2NjQKIF9feGxhdGVkKCYjMzQ7MDogKih1NjQgKikocjEwIC0xNikgPSA2NTUzNSYjMzQ7KQogX194bGF0ZWQoJiMzNDsxOiAqKHU2NCAqKShyMTAgLTgpID0gMCYjMzQ7KQogX194bGF0ZWQoJiMzNDsyOiByMTIgPSAqKHU2NCAqKShyMTAgLTE2KSYjMzQ7KQo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNSAxMzozMDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0MDI3CgkJCQkJCQlvdXRwdXQ6IDQ2CgkJCQkJCQl0aG91Z2h0czogNjk3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkZ1enppbmcgRmVhc2liaWxpdHk6IFJJU0MtViA2NC1iaXQgQlBGIEpJVCBgYnBmX3RpbWVkX21heV9nb3RvYCBQYXRjaCoqCgpPa2F5LCBzbyBJIGhhdmUgYSBwYXRjaCBoZXJlIHRoYXQgYWRkcyBzdXBwb3J0IGZvciBgYnBmX3RpbWVkX21heV9nb3RvYCB0byB0aGUgUklTQy1WIDY0LWJpdCBCUEYgSklUIGNvbXBpbGVyLiBNeSBpbml0aWFsIHRob3VnaHQgaXMsICYjMzQ7SXMgdGhpcyB3b3J0aCBmdXp6aW5nPyYjMzQ7IExldCYjMzk7cyBicmVhayBpdCBkb3duLiBJdCBkZWZpbml0ZWx5IGFkZHMgbmV3IGZ1bmN0aW9uYWxpdHksIHdoaWNoIGlzIHRoZSBwcmltZSB0YXJnZXQuIFJJU0MtViA2NC1iaXQgaXMgc3VwcG9ydGVkIGJ5IHN5emthbGxlciwgd2hpY2ggaXMgZ3JlYXQg4oCTIHRoYXQmIzM5O3MgYSBjaGVjay4gRnVuY3Rpb25hbGx5LCB5ZXMsIHRoZSBwYXRjaCBwcm92aWRlcyB0aGUgbmVjZXNzYXJ5IHRyYW1wb2xpbmUgYW5kIEpJVCBjb21waWxlciBtb2RpZmljYXRpb24uCgpOb3csIGNvbmZpZyBvcHRpb25zLi4uIEkgbmVlZCB0byBmaWd1cmUgb3V0IHRoZSByZWxldmFudCBvbmVzIHRvIGVuc3VyZSBzeXprYWxsZXIgY2FuIGJ1aWxkIHdpdGggdGhpcyBlbmFibGVkLiBMb29raW5nIGF0IHRoZSBjaGFuZ2VzLCBpdCBzZWVtcyB0byByZXNpZGUgaW4gYGFyY2gvcmlzY3YvbmV0L2AuIFNvLCBgQ09ORklHX0JQRl9KSVRgIGlzIGdvaW5nIHRvIGJlIGVzc2VudGlhbCwgYW5kIGJlY2F1c2UgaXQmIzM5O3MgYSA2NC1iaXQgYWRkaXRpb24sIGBDT05GSUdfQVJDSF9SVjY0SWAgb3IgaXRzIGltcGxpY2l0IGVxdWl2YWxlbnQsIHNob3VsZCBhbHNvIGJlIGltcG9ydGFudC4gT2theSwgY2hlY2tpbmcgdGhlIE1ha2VmaWxlIGNvbmZpcm1zIHRoaXM6CmBgYG1ha2VmaWxlCmlmZXEgKCQoQ09ORklHX0FSQ0hfUlY2NEkpLHkpCglvYmotJChDT05GSUdfQlBGX0pJVCkgJiM0Mzs9IGJwZl9qaXRfY29tcDY0Lm8gYnBmX3RpbWVkX21heV9nb3RvLm8KZWxzZQoJb2JqLSQoQ09ORklHX0JQRl9KSVQpICYjNDM7PSBicGZfaml0X2NvbXAzMi5vCmVuZGlmCmBgYApgQ09ORklHX0JQRl9KSVRgIGFuZCB0aGUgNjQtYml0IGFyY2hpdGVjdHVyZSBpcyB0aGUga2V5OyBgQ09ORklHX0FSQ0hfUlY2NElgIGlzIGEgZ2l2ZW4gZm9yIDY0LWJpdCBSSVNDLVYgc3lzdGVtcy4gVGhpcyBpcyBhbiBpbXBvcnRhbnQgcGllY2Ugb2YgaW5mb3JtYXRpb24gdG8gZW5zdXJlIHRoYXQgZnV6emluZyBjb25maWd1cmF0aW9ucyBhcmUgY29ycmVjdC4KCk5vdywgd2hpY2ggZnVuY3Rpb25zIGFyZSB0aGUgZm9jYWwgcG9pbnQgZm9yIHBvdGVudGlhbCBmdXp6aW5nPwoqICAgYGJwZl9qaXRfZW1pdF9pbnNuYCBpbiBgYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY2AKKiAgIGBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvYCBpbiBgYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY2AKKiAgIGBhcmNoX2JwZl90aW1lZF9tYXlfZ290b2AgaW4gYGFyY2gvcmlzY3YvbmV0L2JwZl90aW1lZF9tYXlfZ290by5TYAoKVGhlIGBicGZfaml0X2VtaXRfaW5zbmAgZnVuY3Rpb24gaXMgcGFydGljdWxhcmx5IGludGVyZXN0aW5nLiBJdCYjMzk7cyB1c2VkIHdpdGhpbiB0aGUgQlBGIEpJVCBjb21waWxhdGlvbiBwcm9jZXNzLCBzbyBpdCB3aWxsIGJlIGNhbGxlZCBhIGxvdCBkdXJpbmcgdGhlIEpJVCBwcm9jZXNzLiBJdCYjMzk7cyBub3QgYSBkYXRhIHBhdGggZnVuY3Rpb24gcGVyIHNlLCBidXQgYmVjYXVzZSBvZiBpdHMgY29tcGxleGl0eSwgaXQmIzM5O3MgYSBnb29kIHBsYWNlIHRvIHN0YXJ0IHRoZSBhbmFseXNpcy4gSXQgaXMgbGlrZWx5IGEgaG90IHBhdGgsIHRob3VnaCBwcm9iYWJseSBub3QgaW4gdGhlICYjMzQ7bm9ybWFsJiMzNDsgZGF0YSBwYXRoIHNlbnNlOyBpdCBpcyBhIGhvdCAqY29udHJvbCogcGF0aC4gSSB3aWxsIGNoZWNrIHRoZSBjb250ZXh0IG9mIGBicGZfaml0X2VtaXRfaW5zbmAgdG8gZ2FpbiBhIGJldHRlciB1bmRlcnN0YW5kaW5nLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE1IDEzOjMwPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2JwZl9qaXRfZW1pdF9pbnNuJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7YXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDthcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jPTEzMzI9aW50IGFyY2hfcHJlcGFyZV9icGZfdHJhbXBvbGluZShzdHJ1Y3QgYnBmX3RyYW1wX2ltYWdlICppbSwgdm9pZCAqcm9faW1hZ2UsXG4tLVxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0xMzY4LVxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYzoxMzY5OmludCBicGZfaml0X2VtaXRfaW5zbihjb25zdCBzdHJ1Y3QgYnBmX2luc24gKmluc24sIHN0cnVjdCBydl9qaXRfY29udGV4dCAqY3R4LFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0xMzcwLVx0XHQgICAgICBib29sIGV4dHJhX3Bhc3MpXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTUgMTM6MzA8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTU4MwoJCQkJCQkJb3V0cHV0OiA0OQoJCQkJCQkJdGhvdWdodHM6IDE1OAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBc3Nlc3NtZW50IG9mIEJQRiBKSVQgU3VwcG9ydCoqCgpPa2F5LCBzbyBJJiMzOTttIGZvY3VzaW5nIG9uIHRoZSBpbnN0cnVjdGlvbiBlbWlzc2lvbiBwcm9jZXNzIHdpdGhpbiB0aGUgQlBGIEpJVCwgYW5kIGl0IGxvb2tzIGxpa2UgYGJwZl9qaXRfZW1pdF9pbnNuYCBpcyB0aGUgY29yZSBmdW5jdGlvbi4gSSYjMzk7bGwgZGVmaW5pdGVseSB3YW50IHRvIGluY2x1ZGUgdGhhdC4KCk5vdywgbGV0JiMzOTtzIGFsc28gYnJpbmcgaW4gYGJwZl9qaXRfc3VwcG9ydHNfdGltZWRfbWF5X2dvdG9gIGFuZCBgYXJjaF9icGZfdGltZWRfbWF5X2dvdG9gLiBIbW0sIGhvbGQgb24uLi4gYGFyY2hfYnBmX3RpbWVkX21heV9nb3RvYCBpcyBhc3NlbWJseSBjb2RlLCBpc24mIzM5O3QgaXQ/IFRoYXQgY291bGQgYmUgYSBwcm9ibGVtIGZvciBmdXp6ZXJzIGxpa2Ugc3l6a2FsbGVyLCBlc3BlY2lhbGx5IHdoZW4gY29tYmluZWQgd2l0aCBLQ09WLCBhcyB0aGV5IGdlbmVyYWxseSBoYXZlIGEgaGFyZCB0aW1lIGluc3RydW1lbnRpbmcgYXNzZW1ibHkgZGlyZWN0bHkgdW5sZXNzIGl0JiMzOTtzIHNwZWNpYWxseSBhbm5vdGF0ZWQgb3IgaW52b2tlZCBmcm9tIGluc3RydW1lbnRlZCBDIGNvZGUuCgpJIGNhbiBzdGlsbCBsaXN0IGl0LCBvciBtYXliZSBJIHNob3VsZCBqdXN0IHN0aWNrIHRvIHRoZSBDIGZ1bmN0aW9ucyBpbiB0aGlzIHBhcnRpY3VsYXIgc2NlbmFyaW8uIFRvIGJlIHN1cmUsIEkgc2hvdWxkIHByb2JhYmx5IGNoZWNrIGBhcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jYCBqdXN0IHRvIGJlIGNlcnRhaW4gYWJvdXQgdGhlIGltcGxlbWVudGF0aW9uIGFuZCB1c2FnZSBvZiBgYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290b2Agb24gdGhhdCBhcmNoaXRlY3R1cmUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTUgMTM6MzA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7YnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290byYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7YXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYz0yMTYyPWJvb2wgYnBmX2ppdF9zdXBwb3J0c19mc2Vzc2lvbih2b2lkKVxuLS1cbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMtMjE2Ni1cbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmM6MjE2Nzpib29sIGJwZl9qaXRfc3VwcG9ydHNfdGltZWRfbWF5X2dvdG8odm9pZClcbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMtMjE2OC17XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTUgMTM6MzA8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNjE3NAoJCQkJCQkJb3V0cHV0OiAzMwoJCQkJCQkJdGhvdWdodHM6IDExMAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBbmFseXNpcyBvZiBSZWNlbnQgQ29kZSBDaGFuZ2VzKioKCk9rYXksIGxldCYjMzk7cyB0YWtlIGEgbG9vayBhdCB0aGVzZSBtb2RpZmljYXRpb25zLiBGaXJzdCwgSSBuZWVkIHRvIG1ha2Ugc3VyZSBJIGhhdmVuJiMzOTt0IG1pc3NlZCBhbnkgb3RoZXIgaW1wYWN0ZWQgZnVuY3Rpb25zLiBBIHF1aWNrIHNjYW4uLi4gbm8sIGl0IGxvb2tzIGxpa2Ugb25seSBgYnBmX2ppdF9lbWl0X2luc25gLCBgYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290b2AsIGFuZCBgYXJjaF9icGZfdGltZWRfbWF5X2dvdG9gIGFyZSB0b3VjaGVkLiBUaGF0JiMzOTtzIGEgcmVhc29uYWJsZSBzY29wZS4KCk5vdywgbGV0JiMzOTtzIG5haWwgZG93biB0aGUgZGVwZW5kZW5jaWVzLiBUaGUgY2hhbmdlICpvYnZpb3VzbHkqIHJlcXVpcmVzIGBCUEZfSklUYC4gVGhhdCYjMzk7cyBhIGdpdmVuLiBCdXQgdG8gZW5zdXJlIHRoaW5ncyBmdW5jdGlvbiBhcyBleHBlY3RlZCwgdGhlIGFiaWxpdHkgdG8gbG9hZCB0aGVzZSBCUEYgcHJvZ3JhbXMgaXMgZXNzZW50aWFsOyB0aGVyZWZvcmUsIEnigJlsbCBuZWVkIHRvIG1ha2UgY2VydGFpbiBgQlBGX1NZU0NBTExgIGlzIGVuYWJsZWQsIHRvby4KClRvIGRvdWJsZS1jaGVjayBldmVyeXRoaW5nLCBJJiMzOTtsbCBuZWVkIHRvIGdvIG92ZXIgdGhlIGBhcmNoL3Jpc2N2L25ldC9NYWtlZmlsZWAgdG8gY29uZmlybSB0aGVyZSBpc24mIzM5O3QgYW55dGhpbmcgSSYjMzk7dmUgb3Zlcmxvb2tlZC4gSSBuZWVkIHRvIG1ha2UgY2VydGFpbiB0aGF0IHRoZSBtb2R1bGUgaXMgYmVpbmcgYnVpbHQgYXBwcm9wcmlhdGVseS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNSAxMzozMDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtCUEZfSklUJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7YXJjaC9yaXNjdi9uZXQvTWFrZWZpbGUmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7YXJjaC9yaXNjdi9uZXQvTWFrZWZpbGUtMi1cbmFyY2gvcmlzY3YvbmV0L01ha2VmaWxlOjM6b2JqLSQoQ09ORklHX0JQRl9KSVQpICYjNDM7PSBicGZfaml0X2NvcmUub1xuYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGUtNC1cbmFyY2gvcmlzY3YvbmV0L01ha2VmaWxlPTU9aWZlcSAoJChDT05GSUdfQVJDSF9SVjY0SSkseSlcbmFyY2gvcmlzY3YvbmV0L01ha2VmaWxlOjY6XHRvYmotJChDT05GSUdfQlBGX0pJVCkgJiM0Mzs9IGJwZl9qaXRfY29tcDY0Lm8gYnBmX3RpbWVkX21heV9nb3RvLm9cbmFyY2gvcmlzY3YvbmV0L01ha2VmaWxlLTctZWxzZVxuYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGU6ODpcdG9iai0kKENPTkZJR19CUEZfSklUKSAmIzQzOz0gYnBmX2ppdF9jb21wMzIub1xuYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGUtOS1lbmRpZlxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE1IDEzOjMwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDY3MzUKCQkJCQkJCW91dHB1dDogMTQ5CgkJCQkJCQl0aG91Z2h0czogOTQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgYXNzZXNzbWVudCBvZiB0aGlzIHBhdGNoLCBmb3JtYXR0ZWQgYXMgcmVxdWVzdGVkOgoKKipSSVNDLVYgQlBGIEpJVCBGZWF0dXJlIGFuZCBGdXp6aW5nIENvbnNpZGVyYXRpb25zKioKCkFscmlnaHQsIHNvIHRoZSBjb3JlIG9mIHRoaXMgcGF0Y2ggc2VlbXMgdG8gaGluZ2Ugb24gYEJQRl9KSVRgIGFzIHRoZSBjb250cm9sbGluZyBjb25maWd1cmF0aW9uIG9wdGlvbi4gVGhhdCYjMzk7cyB0aGUga2V5IHRvIGVuYWJsaW5nIHRoZSBSSVNDLVYgQlBGIEpJVCBjb21waWxlciYjMzk7cyBuZXcgZnVuY3Rpb25hbGl0eS4gVGhlIHBhdGNoIGl0c2VsZiBpcyBmdW5jdGlvbmFsLCB3aGljaCBpcyBnb29kLCBidXQgbm93IHRoYXQgd2UmIzM5O3JlIGFkZGluZyBuZXcgY29kZSwgaXQmIzM5O3MgaW1tZWRpYXRlbHkgYXBwYXJlbnQgdGhpcyBuZWVkcyBzZXJpb3VzIGZ1enppbmcgYXR0ZW50aW9uLgoKU3BlY2lmaWNhbGx5LCBJIG5lZWQgdG8gZm9jdXMgb24gYSBmZXcga2V5IHN5bWJvbHMgdG8gZ2V0IHN0YXJ0ZWQuIFRoZSBgYnBmX2ppdF9lbWl0X2luc25gIGZ1bmN0aW9uIGlzIGNyaXRpY2FsLCBvYnZpb3VzbHksIGFzIGl0JiMzOTtzIHRoZSBpbnN0cnVjdGlvbiBlbWl0dGVyIGZvciB0aGUgSklULiBXZSYjMzk7bGwgYWxzbyBuZWVkIHRvIGNhcmVmdWxseSBleGFtaW5lIGBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvYCwgYW5kIGBhcmNoX2JwZl90aW1lZF9tYXlfZ290b2AgYW5kIHVuZGVyc3RhbmQgaG93IHRoZXNlIGFyZSBpbnRlcmFjdGluZyB3aXRoaW4gdGhlIG5ldyBKSVQgY29udGV4dC4gVGhlc2UgdGltZWQgZ290b3Mgb2Z0ZW4gaW50cm9kdWNlIG1vcmUgY29tcGxleCBjb250cm9sIGZsb3dzIHNvIG11c3QgYmUgdGVzdGVkIHRob3JvdWdobHkuCgpMZXQmIzM5O3Mgc2V0IHVwIHRoZSBmdXp6aW5nIGVudmlyb25tZW50IHdpdGggdGhvc2UgaW4gbWluZCwgYW5kIGdldCB0aGUgcmVzdWx0cyBpbiBwbGFjZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTUgMTM6MzA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JQRl9KSVQmIzM0OywKICAgICYjMzQ7QlBGX1NZU0NBTEwmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfaml0X2VtaXRfaW5zbiYjMzQ7LAogICAgJiMzNDticGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvJiMzNDssCiAgICAmIzM0O2FyY2hfYnBmX3RpbWVkX21heV9nb3RvJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgdGhlIGBicGZfdGltZWRfbWF5X2dvdG9gIGluc3RydWN0aW9uIGluIHRoZSBSSVNDLVYgNjQtYml0IEJQRiBKSVQgY29tcGlsZXIuIEl0IG1vZGlmaWVzIHRoZSBKSVQgaW5zdHJ1Y3Rpb24gZW1pdHRlciBhbmQgYWRkcyBhIG5ldyBhc3NlbWJseSB0cmFtcG9saW5lLCB3aGljaCBhcmUgZnVuY3Rpb25hbCBjaGFuZ2VzIHRoYXQgY2FuIGJlIHJlYWNoZWQgYnkgbG9hZGluZyBzcGVjaWZpYyBCUEYgcHJvZ3JhbXMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JQRl9KSVQmIzM0OywKICAgICYjMzQ7QlBGX1NZU0NBTEwmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfaml0X2VtaXRfaW5zbiYjMzQ7LAogICAgJiMzNDticGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvJiMzNDssCiAgICAmIzM0O2FyY2hfYnBmX3RpbWVkX21heV9nb3RvJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgdGhlIGBicGZfdGltZWRfbWF5X2dvdG9gIGluc3RydWN0aW9uIGluIHRoZSBSSVNDLVYgNjQtYml0IEJQRiBKSVQgY29tcGlsZXIuIEl0IG1vZGlmaWVzIHRoZSBKSVQgaW5zdHJ1Y3Rpb24gZW1pdHRlciBhbmQgYWRkcyBhIG5ldyBhc3NlbWJseSB0cmFtcG9saW5lLCB3aGljaCBhcmUgZnVuY3Rpb25hbCBjaGFuZ2VzIHRoYXQgY2FuIGJlIHJlYWNoZWQgYnkgbG9hZGluZyBzcGVjaWZpYyBCUEYgcHJvZ3JhbXMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0xNVQxMzozMDozMC4wODE3NjU2MTNaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyNTQ3NDY3MDM1MiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJCUEZfSklUXCIsXG4gICAgXCJCUEZfU1lTQ0FMTFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImJwZl9qaXRfZW1pdF9pbnNuXCIsXG4gICAgXCJicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvXCIsXG4gICAgXCJhcmNoX2JwZl90aW1lZF9tYXlfZ290b1wiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgdGhlIGBicGZfdGltZWRfbWF5X2dvdG9gIGluc3RydWN0aW9uIGluIHRoZSBSSVNDLVYgNjQtYml0IEJQRiBKSVQgY29tcGlsZXIuIEl0IG1vZGlmaWVzIHRoZSBKSVQgaW5zdHJ1Y3Rpb24gZW1pdHRlciBhbmQgYWRkcyBhIG5ldyBhc3NlbWJseSB0cmFtcG9saW5lLCB3aGljaCBhcmUgZnVuY3Rpb25hbCBjaGFuZ2VzIHRoYXQgY2FuIGJlIHJlYWNoZWQgYnkgbG9hZGluZyBzcGVjaWZpYyBCUEYgcHJvZ3JhbXMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE1VDEzOjMwOjMwLjA4MTc3MTcxM1oiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjczNjE5OTgxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgYTY5ZDQzMzQ5NThhN2FmZTUzYzIyYWFjMGEyM2I5MWI2NGU2ZmE3ZVxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgV2VkIEp1bCAxNSAxMzozMDoyOCAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZSBiL2FyY2gvcmlzY3YvbmV0L01ha2VmaWxlXFxuaW5kZXggOWExZTVmMGE5NGU1NTkuLjY0NThkNGQ1MTk5MGE3IDEwMDY0NFxcbi0tLSBhL2FyY2gvcmlzY3YvbmV0L01ha2VmaWxlXFxuKysrIGIvYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGVcXG5AQCAtMyw3ICszLDcgQEBcXG4gb2JqLSQoQ09ORklHX0JQRl9KSVQpICs9IGJwZl9qaXRfY29yZS5vXFxuIFxcbiBpZmVxICgkKENPTkZJR19BUkNIX1JWNjRJKSx5KVxcbi1cXHRvYmotJChDT05GSUdfQlBGX0pJVCkgKz0gYnBmX2ppdF9jb21wNjQub1xcbitcXHRvYmotJChDT05GSUdfQlBGX0pJVCkgKz0gYnBmX2ppdF9jb21wNjQubyBicGZfdGltZWRfbWF5X2dvdG8ub1xcbiBlbHNlXFxuIFxcdG9iai0kKENPTkZJR19CUEZfSklUKSArPSBicGZfaml0X2NvbXAzMi5vXFxuIGVuZGlmXFxuZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMgYi9hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jXFxuaW5kZXggYzAzYzFkZTE2Yjc5YWMuLjRmODhhNDQ2Mjc4YWU4IDEwMDY0NFxcbi0tLSBhL2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmNcXG4rKysgYi9hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jXFxuQEAgLTE4NDEsNyArMTg0MSwxMyBAQCBpbnQgYnBmX2ppdF9lbWl0X2luc24oY29uc3Qgc3RydWN0IGJwZl9pbnNuICppbnNuLCBzdHJ1Y3QgcnZfaml0X2NvbnRleHQgKmN0eCxcXG4gXFx0XFx0aWYgKHJldClcXG4gXFx0XFx0XFx0cmV0dXJuIHJldDtcXG4gXFxuLVxcdFxcdGlmIChpbnNuLVxcdTAwM2VzcmNfcmVnICE9IEJQRl9QU0VVRE9fQ0FMTClcXG4rXFx0XFx0LypcXG4rXFx0XFx0ICogYXJjaF9icGZfdGltZWRfbWF5X2dvdG8oKSBpcyBlbWl0dGVkIGJ5IHRoZSB2ZXJpZmllciBhbmRcXG4rXFx0XFx0ICogcmV0dXJucyBpdHMgcmVzdWx0IGluIEJQRl9SRUdfQVggaW5zdGVhZCBvZiBCUEZfUkVHXzAsIHNvXFxuK1xcdFxcdCAqIHNraXAgdGhlIG5vcm1hbCBcXFwibW92ZSByZXR1cm4gcmVnaXN0ZXIgaW50byBSMFxcXCIuXFxuK1xcdFxcdCAqL1xcbitcXHRcXHRpZiAoaW5zbi1cXHUwMDNlc3JjX3JlZyAhPSBCUEZfUFNFVURPX0NBTEwgXFx1MDAyNlxcdTAwMjZcXG4rXFx0XFx0ICAgIGFkZHIgIT0gKHU2NClhcmNoX2JwZl90aW1lZF9tYXlfZ290bylcXG4gXFx0XFx0XFx0ZW1pdF9tdihicGZfdG9fcnZfcmVnKEJQRl9SRUdfMCwgY3R4KSwgUlZfUkVHX0EwLCBjdHgpO1xcbiBcXHRcXHRicmVhaztcXG4gXFx0fVxcbkBAIC0yMTU3LDMgKzIxNjMsOCBAQCBib29sIGJwZl9qaXRfc3VwcG9ydHNfZnNlc3Npb24odm9pZClcXG4ge1xcbiBcXHRyZXR1cm4gdHJ1ZTtcXG4gfVxcbitcXG4rYm9vbCBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvKHZvaWQpXFxuK3tcXG4rXFx0cmV0dXJuIHRydWU7XFxuK31cXG5kaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9uZXQvYnBmX3RpbWVkX21heV9nb3RvLlMgYi9hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uU1xcbm5ldyBmaWxlIG1vZGUgMTAwNjQ0XFxuaW5kZXggMDAwMDAwMDAwMDAwMDAuLmY0YmYyY2QxMDU4NjZiXFxuLS0tIC9kZXYvbnVsbFxcbisrKyBiL2FyY2gvcmlzY3YvbmV0L2JwZl90aW1lZF9tYXlfZ290by5TXFxuQEAgLTAsMCArMSw0NyBAQFxcbisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCAqL1xcbisvKiBDb3B5cmlnaHQgKGMpIDIwMjYgRmVuZyBKaWFuZyBcXHUwMDNjamlhbmdmZW5nQGt5bGlub3MuY25cXHUwMDNlICovXFxuK1xcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvbGlua2FnZS5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjYXNtL2FzbS5oXFx1MDAzZVxcbitcXG4rLypcXG4rICogVHJhbXBvbGluZSBmb3IgdGhlIEJQRiB0aW1lZCBtYXlfZ290byBsb29wIGJvdW5kLiBDdXN0b20gY2FsbGluZyBjb252ZW50aW9uOlxcbisgKlxcdC0gaW5wdXQ6ICBzdGFjayBvZmZzZXQgaW4gQlBGX1JFR19BWCAodDApXFxuKyAqXFx0LSBvdXRwdXQ6IHVwZGF0ZWQgY291bnQgaW4gQlBGX1JFR19BWCAodDApXFxuKyAqXFxuKyAqIENhbGxzIGJwZl9jaGVja190aW1lZF9tYXlfZ290byhwdHIpIHdpdGggdGhlIHN0YW5kYXJkIFJJU0MtViBBQkksIHdoZXJlXFxuKyAqIHB0ciA9IEJQRl9SRUdfRlAgKHM1KSArIEJQRl9SRUdfQVggKHQwKS4gQlBGIFIwLVI1IChhNSwgYTAtYTQpIGFyZSBzYXZlZFxcbisgKiBhY3Jvc3MgdGhlIGNhbGw7IEJQRl9SRUdfRlAgKHM1KSBpcyBjYWxsZWUtc2F2ZWQgYW5kIG5lZWRzIG5vIHNhdmluZy5cXG4rICovXFxuK1xcbitTWU1fRlVOQ19TVEFSVChhcmNoX2JwZl90aW1lZF9tYXlfZ290bylcXG4rXFx0YWRkaVxcdHNwLCBzcCwgLTY0XFxuK1xcdHNkXFx0cmEsIDU2KHNwKVxcbitcXHRzZFxcdHMwLCA0OChzcClcXG4rXFx0YWRkaVxcdHMwLCBzcCwgNjRcXG4rXFxuK1xcdC8qIFNhdmUgQlBGIHJlZ2lzdGVycyBSMC1SNSAoYTUsIGEwLWE0KSAqL1xcbitcXHRzZFxcdGE1LCA0MChzcClcXG4rXFx0c2RcXHRhMCwgMzIoc3ApXFxuK1xcdHNkXFx0YTEsIDI0KHNwKVxcbitcXHRzZFxcdGEyLCAxNihzcClcXG4rXFx0c2RcXHRhMywgOChzcClcXG4rXFx0c2RcXHRhNCwgMChzcClcXG4rXFxuK1xcdGFkZFxcdGEwLCB0MCwgczVcXG4rXFx0Y2FsbFxcdGJwZl9jaGVja190aW1lZF9tYXlfZ290b1xcbitcXHRtdlxcdHQwLCBhMFxcbitcXG4rXFx0LyogUmVzdG9yZSBCUEYgcmVnaXN0ZXJzIFIwLVI1ICovXFxuK1xcdGxkXFx0YTQsIDAoc3ApXFxuK1xcdGxkXFx0YTMsIDgoc3ApXFxuK1xcdGxkXFx0YTIsIDE2KHNwKVxcbitcXHRsZFxcdGExLCAyNChzcClcXG4rXFx0bGRcXHRhMCwgMzIoc3ApXFxuK1xcdGxkXFx0YTUsIDQwKHNwKVxcbitcXG4rXFx0bGRcXHRzMCwgNDgoc3ApXFxuK1xcdGxkXFx0cmEsIDU2KHNwKVxcbitcXHRhZGRpXFx0c3AsIHNwLCA2NFxcbitcXHRyZXRcXG4rU1lNX0ZVTkNfRU5EKGFyY2hfYnBmX3RpbWVkX21heV9nb3RvKVxcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3Mvc3RyZWFtLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3Mvc3RyZWFtLmNcXG5pbmRleCA5MmJhMWQ3MmUwZWNlNC4uOGQ4ZTUzZDM3MjY2Y2QgMTAwNjQ0XFxuLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3N0cmVhbS5jXFxuKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3N0cmVhbS5jXFxuQEAgLTY0LDYgKzY0LDcgQEAgU0VDKFxcXCJzeXNjYWxsXFxcIilcXG4gX19hcmNoX3g4Nl82NFxcbiBfX2FyY2hfYXJtNjRcXG4gX19hcmNoX3MzOTB4XFxuK19fYXJjaF9yaXNjdjY0XFxuIF9fc3VjY2VzcyBfX3JldHZhbCgwKVxcbiBfX3N0ZGVycihcXFwiRVJST1I6IFRpbWVvdXQgZGV0ZWN0ZWQgZm9yIG1heV9nb3RvIGluc3RydWN0aW9uXFxcIilcXG4gX19zdGRlcnIoXFxcIkNQVToge3tbMC05XSt9fSBVSUQ6IDAgUElEOiB7e1swLTldK319IENvbW06IHt7Lip9fVxcXCIpXFxuZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9icGZfZmFzdGNhbGwuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9icGZfZmFzdGNhbGwuY1xcbmluZGV4IDhkN2ZmMzhlNGMwNjk3Li5lNjY3MWM1NGU1M2FkYSAxMDA2NDRcXG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfYnBmX2Zhc3RjYWxsLmNcXG4rKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfYnBmX2Zhc3RjYWxsLmNcXG5AQCAtNjYwLDYgKzY2MCw3IEBAIF9fbmFrZWQgdm9pZCBtYXlfZ290b19pbnRlcmFjdGlvbl94ODZfNjQodm9pZClcXG4gXFxuIFNFQyhcXFwicmF3X3RwXFxcIilcXG4gX19hcmNoX2FybTY0XFxuK19fYXJjaF9yaXNjdjY0XFxuIF9fbG9nX2xldmVsKDQpIF9fbXNnKFxcXCJzdGFjayBkZXB0aCAyNFxcXCIpXFxuIC8qIG1heV9nb3RvIGNvdW50ZXIgYXQgLTI0ICovXFxuIF9feGxhdGVkKFxcXCIwOiAqKHU2NCAqKShyMTAgLTI0KSA9XFxcIilcXG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9tYXlfZ290b18xLmNcXG5pbmRleCA0YmRmNDI1NmE0MWU1MS4uZjQ3YjlkNTQwYTE3NTkgMTAwNjQ0XFxuLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuY1xcbisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9tYXlfZ290b18xLmNcXG5AQCAtMTEsNiArMTEsNyBAQCBfX2Rlc2NyaXB0aW9uKFxcXCJtYXlfZ290byAwXFxcIilcXG4gX19hcmNoX3g4Nl82NFxcbiBfX2FyY2hfczM5MHhcXG4gX19hcmNoX2FybTY0XFxuK19fYXJjaF9yaXNjdjY0XFxuIF9feGxhdGVkKFxcXCIwOiByMCA9IDFcXFwiKVxcbiBfX3hsYXRlZChcXFwiMTogZXhpdFxcXCIpXFxuIF9fc3VjY2Vzc1xcbkBAIC0zMSw2ICszMiw3IEBAIF9fZGVzY3JpcHRpb24oXFxcImJhdGNoIDIgb2YgbWF5X2dvdG8gMFxcXCIpXFxuIF9fYXJjaF94ODZfNjRcXG4gX19hcmNoX3MzOTB4XFxuIF9fYXJjaF9hcm02NFxcbitfX2FyY2hfcmlzY3Y2NFxcbiBfX3hsYXRlZChcXFwiMDogcjAgPSAxXFxcIilcXG4gX194bGF0ZWQoXFxcIjE6IGV4aXRcXFwiKVxcbiBfX3N1Y2Nlc3NcXG5AQCAtNTMsNiArNTUsNyBAQCBfX2Rlc2NyaXB0aW9uKFxcXCJtYXlfZ290byBiYXRjaCB3aXRoIG9mZnNldHMgMi8xLzBcXFwiKVxcbiBfX2FyY2hfeDg2XzY0XFxuIF9fYXJjaF9zMzkweFxcbiBfX2FyY2hfYXJtNjRcXG4rX19hcmNoX3Jpc2N2NjRcXG4gX194bGF0ZWQoXFxcIjA6IHIwID0gMVxcXCIpXFxuIF9feGxhdGVkKFxcXCIxOiBleGl0XFxcIilcXG4gX19zdWNjZXNzXFxuQEAgLTc5LDYgKzgyLDcgQEAgX19kZXNjcmlwdGlvbihcXFwibWF5X2dvdG8gYmF0Y2ggd2l0aCBvZmZzZXRzIDIvMFxcXCIpXFxuIF9fYXJjaF94ODZfNjRcXG4gX19hcmNoX3MzOTB4XFxuIF9fYXJjaF9hcm02NFxcbitfX2FyY2hfcmlzY3Y2NFxcbiBfX3hsYXRlZChcXFwiMDogKih1NjQgKikocjEwIC0xNikgPSA2NTUzNVxcXCIpXFxuIF9feGxhdGVkKFxcXCIxOiAqKHU2NCAqKShyMTAgLTgpID0gMFxcXCIpXFxuIF9feGxhdGVkKFxcXCIyOiByMTIgPSAqKHU2NCAqKShyMTAgLTE2KVxcXCIpXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE1VDEzOjMwOjMwLjc1NjM3MjA1NFoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MjQ4MDAwNTQ2NDEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlBGX0pJVFwiLFxuICAgIFwiQlBGX1NZU0NBTExcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJicGZfaml0X2VtaXRfaW5zblwiLFxuICAgIFwiYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290b1wiLFxuICAgIFwiYXJjaF9icGZfdGltZWRfbWF5X2dvdG9cIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIHN1cHBvcnQgZm9yIHRoZSBgYnBmX3RpbWVkX21heV9nb3RvYCBpbnN0cnVjdGlvbiBpbiB0aGUgUklTQy1WIDY0LWJpdCBCUEYgSklUIGNvbXBpbGVyLiBJdCBtb2RpZmllcyB0aGUgSklUIGluc3RydWN0aW9uIGVtaXR0ZXIgYW5kIGFkZHMgYSBuZXcgYXNzZW1ibHkgdHJhbXBvbGluZSwgd2hpY2ggYXJlIGZ1bmN0aW9uYWwgY2hhbmdlcyB0aGF0IGNhbiBiZSByZWFjaGVkIGJ5IGxvYWRpbmcgc3BlY2lmaWMgQlBGIHByb2dyYW1zLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IGE2OWQ0MzM0OTU4YTdhZmU1M2MyMmFhYzBhMjNiOTFiNjRlNmZhN2VcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgV2VkIEp1bCAxNSAxMzozMDoyOCAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvbmV0L01ha2VmaWxlIGIvYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGVcbmluZGV4IDlhMWU1ZjBhOTRlNTU5Li42NDU4ZDRkNTE5OTBhNyAxMDA2NDRcbi0tLSBhL2FyY2gvcmlzY3YvbmV0L01ha2VmaWxlXG4rKysgYi9hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZVxuQEAgLTMsNyArMyw3IEBAXG4gb2JqLSQoQ09ORklHX0JQRl9KSVQpICs9IGJwZl9qaXRfY29yZS5vXG4gXG4gaWZlcSAoJChDT05GSUdfQVJDSF9SVjY0SSkseSlcbi1cdG9iai0kKENPTkZJR19CUEZfSklUKSArPSBicGZfaml0X2NvbXA2NC5vXG4rXHRvYmotJChDT05GSUdfQlBGX0pJVCkgKz0gYnBmX2ppdF9jb21wNjQubyBicGZfdGltZWRfbWF5X2dvdG8ub1xuIGVsc2VcbiBcdG9iai0kKENPTkZJR19CUEZfSklUKSArPSBicGZfaml0X2NvbXAzMi5vXG4gZW5kaWZcbmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jIGIvYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY1xuaW5kZXggYzAzYzFkZTE2Yjc5YWMuLjRmODhhNDQ2Mjc4YWU4IDEwMDY0NFxuLS0tIGEvYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY1xuKysrIGIvYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY1xuQEAgLTE4NDEsNyArMTg0MSwxMyBAQCBpbnQgYnBmX2ppdF9lbWl0X2luc24oY29uc3Qgc3RydWN0IGJwZl9pbnNuICppbnNuLCBzdHJ1Y3QgcnZfaml0X2NvbnRleHQgKmN0eCxcbiBcdFx0aWYgKHJldClcbiBcdFx0XHRyZXR1cm4gcmV0O1xuIFxuLVx0XHRpZiAoaW5zbi1cdTAwM2VzcmNfcmVnICE9IEJQRl9QU0VVRE9fQ0FMTClcbitcdFx0LypcbitcdFx0ICogYXJjaF9icGZfdGltZWRfbWF5X2dvdG8oKSBpcyBlbWl0dGVkIGJ5IHRoZSB2ZXJpZmllciBhbmRcbitcdFx0ICogcmV0dXJucyBpdHMgcmVzdWx0IGluIEJQRl9SRUdfQVggaW5zdGVhZCBvZiBCUEZfUkVHXzAsIHNvXG4rXHRcdCAqIHNraXAgdGhlIG5vcm1hbCBcIm1vdmUgcmV0dXJuIHJlZ2lzdGVyIGludG8gUjBcIi5cbitcdFx0ICovXG4rXHRcdGlmIChpbnNuLVx1MDAzZXNyY19yZWcgIT0gQlBGX1BTRVVET19DQUxMIFx1MDAyNlx1MDAyNlxuK1x0XHQgICAgYWRkciAhPSAodTY0KWFyY2hfYnBmX3RpbWVkX21heV9nb3RvKVxuIFx0XHRcdGVtaXRfbXYoYnBmX3RvX3J2X3JlZyhCUEZfUkVHXzAsIGN0eCksIFJWX1JFR19BMCwgY3R4KTtcbiBcdFx0YnJlYWs7XG4gXHR9XG5AQCAtMjE1NywzICsyMTYzLDggQEAgYm9vbCBicGZfaml0X3N1cHBvcnRzX2ZzZXNzaW9uKHZvaWQpXG4ge1xuIFx0cmV0dXJuIHRydWU7XG4gfVxuK1xuK2Jvb2wgYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290byh2b2lkKVxuK3tcbitcdHJldHVybiB0cnVlO1xuK31cbmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUyBiL2FyY2gvcmlzY3YvbmV0L2JwZl90aW1lZF9tYXlfZ290by5TXG5uZXcgZmlsZSBtb2RlIDEwMDY0NFxuaW5kZXggMDAwMDAwMDAwMDAwMDAuLmY0YmYyY2QxMDU4NjZiXG4tLS0gL2Rldi9udWxsXG4rKysgYi9hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uU1xuQEAgLTAsMCArMSw0NyBAQFxuKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wICovXG4rLyogQ29weXJpZ2h0IChjKSAyMDI2IEZlbmcgSmlhbmcgXHUwMDNjamlhbmdmZW5nQGt5bGlub3MuY25cdTAwM2UgKi9cbitcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9saW5rYWdlLmhcdTAwM2VcbisjaW5jbHVkZSBcdTAwM2Nhc20vYXNtLmhcdTAwM2VcbitcbisvKlxuKyAqIFRyYW1wb2xpbmUgZm9yIHRoZSBCUEYgdGltZWQgbWF5X2dvdG8gbG9vcCBib3VuZC4gQ3VzdG9tIGNhbGxpbmcgY29udmVudGlvbjpcbisgKlx0LSBpbnB1dDogIHN0YWNrIG9mZnNldCBpbiBCUEZfUkVHX0FYICh0MClcbisgKlx0LSBvdXRwdXQ6IHVwZGF0ZWQgY291bnQgaW4gQlBGX1JFR19BWCAodDApXG4rICpcbisgKiBDYWxscyBicGZfY2hlY2tfdGltZWRfbWF5X2dvdG8ocHRyKSB3aXRoIHRoZSBzdGFuZGFyZCBSSVNDLVYgQUJJLCB3aGVyZVxuKyAqIHB0ciA9IEJQRl9SRUdfRlAgKHM1KSArIEJQRl9SRUdfQVggKHQwKS4gQlBGIFIwLVI1IChhNSwgYTAtYTQpIGFyZSBzYXZlZFxuKyAqIGFjcm9zcyB0aGUgY2FsbDsgQlBGX1JFR19GUCAoczUpIGlzIGNhbGxlZS1zYXZlZCBhbmQgbmVlZHMgbm8gc2F2aW5nLlxuKyAqL1xuK1xuK1NZTV9GVU5DX1NUQVJUKGFyY2hfYnBmX3RpbWVkX21heV9nb3RvKVxuK1x0YWRkaVx0c3AsIHNwLCAtNjRcbitcdHNkXHRyYSwgNTYoc3ApXG4rXHRzZFx0czAsIDQ4KHNwKVxuK1x0YWRkaVx0czAsIHNwLCA2NFxuK1xuK1x0LyogU2F2ZSBCUEYgcmVnaXN0ZXJzIFIwLVI1IChhNSwgYTAtYTQpICovXG4rXHRzZFx0YTUsIDQwKHNwKVxuK1x0c2RcdGEwLCAzMihzcClcbitcdHNkXHRhMSwgMjQoc3ApXG4rXHRzZFx0YTIsIDE2KHNwKVxuK1x0c2RcdGEzLCA4KHNwKVxuK1x0c2RcdGE0LCAwKHNwKVxuK1xuK1x0YWRkXHRhMCwgdDAsIHM1XG4rXHRjYWxsXHRicGZfY2hlY2tfdGltZWRfbWF5X2dvdG9cbitcdG12XHR0MCwgYTBcbitcbitcdC8qIFJlc3RvcmUgQlBGIHJlZ2lzdGVycyBSMC1SNSAqL1xuK1x0bGRcdGE0LCAwKHNwKVxuK1x0bGRcdGEzLCA4KHNwKVxuK1x0bGRcdGEyLCAxNihzcClcbitcdGxkXHRhMSwgMjQoc3ApXG4rXHRsZFx0YTAsIDMyKHNwKVxuK1x0bGRcdGE1LCA0MChzcClcbitcbitcdGxkXHRzMCwgNDgoc3ApXG4rXHRsZFx0cmEsIDU2KHNwKVxuK1x0YWRkaVx0c3AsIHNwLCA2NFxuK1x0cmV0XG4rU1lNX0ZVTkNfRU5EKGFyY2hfYnBmX3RpbWVkX21heV9nb3RvKVxuZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy9zdHJlYW0uYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy9zdHJlYW0uY1xuaW5kZXggOTJiYTFkNzJlMGVjZTQuLjhkOGU1M2QzNzI2NmNkIDEwMDY0NFxuLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3N0cmVhbS5jXG4rKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3Mvc3RyZWFtLmNcbkBAIC02NCw2ICs2NCw3IEBAIFNFQyhcInN5c2NhbGxcIilcbiBfX2FyY2hfeDg2XzY0XG4gX19hcmNoX2FybTY0XG4gX19hcmNoX3MzOTB4XG4rX19hcmNoX3Jpc2N2NjRcbiBfX3N1Y2Nlc3MgX19yZXR2YWwoMClcbiBfX3N0ZGVycihcIkVSUk9SOiBUaW1lb3V0IGRldGVjdGVkIGZvciBtYXlfZ290byBpbnN0cnVjdGlvblwiKVxuIF9fc3RkZXJyKFwiQ1BVOiB7e1swLTldK319IFVJRDogMCBQSUQ6IHt7WzAtOV0rfX0gQ29tbToge3suKn19XCIpXG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX2JwZl9mYXN0Y2FsbC5jIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX2JwZl9mYXN0Y2FsbC5jXG5pbmRleCA4ZDdmZjM4ZTRjMDY5Ny4uZTY2NzFjNTRlNTNhZGEgMTAwNjQ0XG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfYnBmX2Zhc3RjYWxsLmNcbisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9icGZfZmFzdGNhbGwuY1xuQEAgLTY2MCw2ICs2NjAsNyBAQCBfX25ha2VkIHZvaWQgbWF5X2dvdG9faW50ZXJhY3Rpb25feDg2XzY0KHZvaWQpXG4gXG4gU0VDKFwicmF3X3RwXCIpXG4gX19hcmNoX2FybTY0XG4rX19hcmNoX3Jpc2N2NjRcbiBfX2xvZ19sZXZlbCg0KSBfX21zZyhcInN0YWNrIGRlcHRoIDI0XCIpXG4gLyogbWF5X2dvdG8gY291bnRlciBhdCAtMjQgKi9cbiBfX3hsYXRlZChcIjA6ICoodTY0ICopKHIxMCAtMjQpID1cIilcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfbWF5X2dvdG9fMS5jIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuY1xuaW5kZXggNGJkZjQyNTZhNDFlNTEuLmY0N2I5ZDU0MGExNzU5IDEwMDY0NFxuLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuY1xuKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuY1xuQEAgLTExLDYgKzExLDcgQEAgX19kZXNjcmlwdGlvbihcIm1heV9nb3RvIDBcIilcbiBfX2FyY2hfeDg2XzY0XG4gX19hcmNoX3MzOTB4XG4gX19hcmNoX2FybTY0XG4rX19hcmNoX3Jpc2N2NjRcbiBfX3hsYXRlZChcIjA6IHIwID0gMVwiKVxuIF9feGxhdGVkKFwiMTogZXhpdFwiKVxuIF9fc3VjY2Vzc1xuQEAgLTMxLDYgKzMyLDcgQEAgX19kZXNjcmlwdGlvbihcImJhdGNoIDIgb2YgbWF5X2dvdG8gMFwiKVxuIF9fYXJjaF94ODZfNjRcbiBfX2FyY2hfczM5MHhcbiBfX2FyY2hfYXJtNjRcbitfX2FyY2hfcmlzY3Y2NFxuIF9feGxhdGVkKFwiMDogcjAgPSAxXCIpXG4gX194bGF0ZWQoXCIxOiBleGl0XCIpXG4gX19zdWNjZXNzXG5AQCAtNTMsNiArNTUsNyBAQCBfX2Rlc2NyaXB0aW9uKFwibWF5X2dvdG8gYmF0Y2ggd2l0aCBvZmZzZXRzIDIvMS8wXCIpXG4gX19hcmNoX3g4Nl82NFxuIF9fYXJjaF9zMzkweFxuIF9fYXJjaF9hcm02NFxuK19fYXJjaF9yaXNjdjY0XG4gX194bGF0ZWQoXCIwOiByMCA9IDFcIilcbiBfX3hsYXRlZChcIjE6IGV4aXRcIilcbiBfX3N1Y2Nlc3NcbkBAIC03OSw2ICs4Miw3IEBAIF9fZGVzY3JpcHRpb24oXCJtYXlfZ290byBiYXRjaCB3aXRoIG9mZnNldHMgMi8wXCIpXG4gX19hcmNoX3g4Nl82NFxuIF9fYXJjaF9zMzkweFxuIF9fYXJjaF9hcm02NFxuK19fYXJjaF9yaXNjdjY0XG4gX194bGF0ZWQoXCIwOiAqKHU2NCAqKShyMTAgLTE2KSA9IDY1NTM1XCIpXG4gX194bGF0ZWQoXCIxOiAqKHU2NCAqKShyMTAgLTgpID0gMFwiKVxuIF9feGxhdGVkKFwiMjogcjEyID0gKih1NjQgKikocjEwIC0xNilcIilcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE1VDEzOjMwOjMwLjc1NjM3Mzk0NFoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjkwMDUyMTE2MzgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqRnV6emluZyBGZWFzaWJpbGl0eTogUklTQy1WIDY0LWJpdCBCUEYgSklUIGBicGZfdGltZWRfbWF5X2dvdG9gIFBhdGNoKipcblxuT2theSwgc28gSSBoYXZlIGEgcGF0Y2ggaGVyZSB0aGF0IGFkZHMgc3VwcG9ydCBmb3IgYGJwZl90aW1lZF9tYXlfZ290b2AgdG8gdGhlIFJJU0MtViA2NC1iaXQgQlBGIEpJVCBjb21waWxlci4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCBcIklzIHRoaXMgd29ydGggZnV6emluZz9cIiBMZXQncyBicmVhayBpdCBkb3duLiBJdCBkZWZpbml0ZWx5IGFkZHMgbmV3IGZ1bmN0aW9uYWxpdHksIHdoaWNoIGlzIHRoZSBwcmltZSB0YXJnZXQuIFJJU0MtViA2NC1iaXQgaXMgc3VwcG9ydGVkIGJ5IHN5emthbGxlciwgd2hpY2ggaXMgZ3JlYXQg4oCTIHRoYXQncyBhIGNoZWNrLiBGdW5jdGlvbmFsbHksIHllcywgdGhlIHBhdGNoIHByb3ZpZGVzIHRoZSBuZWNlc3NhcnkgdHJhbXBvbGluZSBhbmQgSklUIGNvbXBpbGVyIG1vZGlmaWNhdGlvbi5cblxuTm93LCBjb25maWcgb3B0aW9ucy4uLiBJIG5lZWQgdG8gZmlndXJlIG91dCB0aGUgcmVsZXZhbnQgb25lcyB0byBlbnN1cmUgc3l6a2FsbGVyIGNhbiBidWlsZCB3aXRoIHRoaXMgZW5hYmxlZC4gTG9va2luZyBhdCB0aGUgY2hhbmdlcywgaXQgc2VlbXMgdG8gcmVzaWRlIGluIGBhcmNoL3Jpc2N2L25ldC9gLiBTbywgYENPTkZJR19CUEZfSklUYCBpcyBnb2luZyB0byBiZSBlc3NlbnRpYWwsIGFuZCBiZWNhdXNlIGl0J3MgYSA2NC1iaXQgYWRkaXRpb24sIGBDT05GSUdfQVJDSF9SVjY0SWAgb3IgaXRzIGltcGxpY2l0IGVxdWl2YWxlbnQsIHNob3VsZCBhbHNvIGJlIGltcG9ydGFudC4gT2theSwgY2hlY2tpbmcgdGhlIE1ha2VmaWxlIGNvbmZpcm1zIHRoaXM6XG5gYGBtYWtlZmlsZVxuaWZlcSAoJChDT05GSUdfQVJDSF9SVjY0SSkseSlcblx0b2JqLSQoQ09ORklHX0JQRl9KSVQpICs9IGJwZl9qaXRfY29tcDY0Lm8gYnBmX3RpbWVkX21heV9nb3RvLm9cbmVsc2Vcblx0b2JqLSQoQ09ORklHX0JQRl9KSVQpICs9IGJwZl9qaXRfY29tcDMyLm9cbmVuZGlmXG5gYGBcbmBDT05GSUdfQlBGX0pJVGAgYW5kIHRoZSA2NC1iaXQgYXJjaGl0ZWN0dXJlIGlzIHRoZSBrZXk7IGBDT05GSUdfQVJDSF9SVjY0SWAgaXMgYSBnaXZlbiBmb3IgNjQtYml0IFJJU0MtViBzeXN0ZW1zLiBUaGlzIGlzIGFuIGltcG9ydGFudCBwaWVjZSBvZiBpbmZvcm1hdGlvbiB0byBlbnN1cmUgdGhhdCBmdXp6aW5nIGNvbmZpZ3VyYXRpb25zIGFyZSBjb3JyZWN0LlxuXG5Ob3csIHdoaWNoIGZ1bmN0aW9ucyBhcmUgdGhlIGZvY2FsIHBvaW50IGZvciBwb3RlbnRpYWwgZnV6emluZz9cbiogICBgYnBmX2ppdF9lbWl0X2luc25gIGluIGBhcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jYFxuKiAgIGBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvYCBpbiBgYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY2BcbiogICBgYXJjaF9icGZfdGltZWRfbWF5X2dvdG9gIGluIGBhcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uU2BcblxuVGhlIGBicGZfaml0X2VtaXRfaW5zbmAgZnVuY3Rpb24gaXMgcGFydGljdWxhcmx5IGludGVyZXN0aW5nLiBJdCdzIHVzZWQgd2l0aGluIHRoZSBCUEYgSklUIGNvbXBpbGF0aW9uIHByb2Nlc3MsIHNvIGl0IHdpbGwgYmUgY2FsbGVkIGEgbG90IGR1cmluZyB0aGUgSklUIHByb2Nlc3MuIEl0J3Mgbm90IGEgZGF0YSBwYXRoIGZ1bmN0aW9uIHBlciBzZSwgYnV0IGJlY2F1c2Ugb2YgaXRzIGNvbXBsZXhpdHksIGl0J3MgYSBnb29kIHBsYWNlIHRvIHN0YXJ0IHRoZSBhbmFseXNpcy4gSXQgaXMgbGlrZWx5IGEgaG90IHBhdGgsIHRob3VnaCBwcm9iYWJseSBub3QgaW4gdGhlIFwibm9ybWFsXCIgZGF0YSBwYXRoIHNlbnNlOyBpdCBpcyBhIGhvdCAqY29udHJvbCogcGF0aC4gSSB3aWxsIGNoZWNrIHRoZSBjb250ZXh0IG9mIGBicGZfaml0X2VtaXRfaW5zbmAgdG8gZ2FpbiBhIGJldHRlciB1bmRlcnN0YW5kaW5nLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0MDI3LCJPdXRwdXRUb2tlbnMiOjQ2LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6Njk3LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTVUMTM6MzA6MzkuNzYxNTg3NzkyWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE2NzQ5MzczMywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJicGZfaml0X2VtaXRfaW5zblwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJhcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmM9MTMzMj1pbnQgYXJjaF9wcmVwYXJlX2JwZl90cmFtcG9saW5lKHN0cnVjdCBicGZfdHJhbXBfaW1hZ2UgKmltLCB2b2lkICpyb19pbWFnZSxcXG4tLVxcbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMtMTM2OC1cXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jOjEzNjk6aW50IGJwZl9qaXRfZW1pdF9pbnNuKGNvbnN0IHN0cnVjdCBicGZfaW5zbiAqaW5zbiwgc3RydWN0IHJ2X2ppdF9jb250ZXh0ICpjdHgsXFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0xMzcwLVxcdFxcdCAgICAgIGJvb2wgZXh0cmFfcGFzcylcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTVUMTM6MzA6MzkuOTI5MDk4MjM1WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTI2Nzc0OTcwMSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBBc3Nlc3NtZW50IG9mIEJQRiBKSVQgU3VwcG9ydCoqXG5cbk9rYXksIHNvIEknbSBmb2N1c2luZyBvbiB0aGUgaW5zdHJ1Y3Rpb24gZW1pc3Npb24gcHJvY2VzcyB3aXRoaW4gdGhlIEJQRiBKSVQsIGFuZCBpdCBsb29rcyBsaWtlIGBicGZfaml0X2VtaXRfaW5zbmAgaXMgdGhlIGNvcmUgZnVuY3Rpb24uIEknbGwgZGVmaW5pdGVseSB3YW50IHRvIGluY2x1ZGUgdGhhdC5cblxuTm93LCBsZXQncyBhbHNvIGJyaW5nIGluIGBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvYCBhbmQgYGFyY2hfYnBmX3RpbWVkX21heV9nb3RvYC4gSG1tLCBob2xkIG9uLi4uIGBhcmNoX2JwZl90aW1lZF9tYXlfZ290b2AgaXMgYXNzZW1ibHkgY29kZSwgaXNuJ3QgaXQ/IFRoYXQgY291bGQgYmUgYSBwcm9ibGVtIGZvciBmdXp6ZXJzIGxpa2Ugc3l6a2FsbGVyLCBlc3BlY2lhbGx5IHdoZW4gY29tYmluZWQgd2l0aCBLQ09WLCBhcyB0aGV5IGdlbmVyYWxseSBoYXZlIGEgaGFyZCB0aW1lIGluc3RydW1lbnRpbmcgYXNzZW1ibHkgZGlyZWN0bHkgdW5sZXNzIGl0J3Mgc3BlY2lhbGx5IGFubm90YXRlZCBvciBpbnZva2VkIGZyb20gaW5zdHJ1bWVudGVkIEMgY29kZS5cblxuSSBjYW4gc3RpbGwgbGlzdCBpdCwgb3IgbWF5YmUgSSBzaG91bGQganVzdCBzdGljayB0byB0aGUgQyBmdW5jdGlvbnMgaW4gdGhpcyBwYXJ0aWN1bGFyIHNjZW5hcmlvLiBUbyBiZSBzdXJlLCBJIHNob3VsZCBwcm9iYWJseSBjaGVjayBgYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY2AganVzdCB0byBiZSBjZXJ0YWluIGFib3V0IHRoZSBpbXBsZW1lbnRhdGlvbiBhbmQgdXNhZ2Ugb2YgYGJwZl9qaXRfc3VwcG9ydHNfdGltZWRfbWF5X2dvdG9gIG9uIHRoYXQgYXJjaGl0ZWN0dXJlLlxuXG5cbiIsIklucHV0VG9rZW5zIjo1NTgzLCJPdXRwdXRUb2tlbnMiOjQ5LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTU4LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE1VDEzOjMwOjQ1LjE5Njg1MDQwNloiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo4ODE4NDIwMSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYz0yMTYyPWJvb2wgYnBmX2ppdF9zdXBwb3J0c19mc2Vzc2lvbih2b2lkKVxcbi0tXFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0yMTY2LVxcbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmM6MjE2Nzpib29sIGJwZl9qaXRfc3VwcG9ydHNfdGltZWRfbWF5X2dvdG8odm9pZClcXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jLTIxNjgte1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNVQxMzozMDo0NS4yODUwNDc2MzdaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0NTgwNjczMTkxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFuYWx5c2lzIG9mIFJlY2VudCBDb2RlIENoYW5nZXMqKlxuXG5Pa2F5LCBsZXQncyB0YWtlIGEgbG9vayBhdCB0aGVzZSBtb2RpZmljYXRpb25zLiBGaXJzdCwgSSBuZWVkIHRvIG1ha2Ugc3VyZSBJIGhhdmVuJ3QgbWlzc2VkIGFueSBvdGhlciBpbXBhY3RlZCBmdW5jdGlvbnMuIEEgcXVpY2sgc2Nhbi4uLiBubywgaXQgbG9va3MgbGlrZSBvbmx5IGBicGZfaml0X2VtaXRfaW5zbmAsIGBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvYCwgYW5kIGBhcmNoX2JwZl90aW1lZF9tYXlfZ290b2AgYXJlIHRvdWNoZWQuIFRoYXQncyBhIHJlYXNvbmFibGUgc2NvcGUuXG5cbk5vdywgbGV0J3MgbmFpbCBkb3duIHRoZSBkZXBlbmRlbmNpZXMuIFRoZSBjaGFuZ2UgKm9idmlvdXNseSogcmVxdWlyZXMgYEJQRl9KSVRgLiBUaGF0J3MgYSBnaXZlbi4gQnV0IHRvIGVuc3VyZSB0aGluZ3MgZnVuY3Rpb24gYXMgZXhwZWN0ZWQsIHRoZSBhYmlsaXR5IHRvIGxvYWQgdGhlc2UgQlBGIHByb2dyYW1zIGlzIGVzc2VudGlhbDsgdGhlcmVmb3JlLCBJ4oCZbGwgbmVlZCB0byBtYWtlIGNlcnRhaW4gYEJQRl9TWVNDQUxMYCBpcyBlbmFibGVkLCB0b28uXG5cblRvIGRvdWJsZS1jaGVjayBldmVyeXRoaW5nLCBJJ2xsIG5lZWQgdG8gZ28gb3ZlciB0aGUgYGFyY2gvcmlzY3YvbmV0L01ha2VmaWxlYCB0byBjb25maXJtIHRoZXJlIGlzbid0IGFueXRoaW5nIEkndmUgb3Zlcmxvb2tlZC4gSSBuZWVkIHRvIG1ha2UgY2VydGFpbiB0aGF0IHRoZSBtb2R1bGUgaXMgYmVpbmcgYnVpbHQgYXBwcm9wcmlhdGVseS5cblxuXG4iLCJJbnB1dFRva2VucyI6NjE3NCwiT3V0cHV0VG9rZW5zIjozMywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjExMCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xNVQxMzozMDo0OS44NjU3MjI3ODhaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTAxMTU4Nzg5LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIkJQRl9KSVRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGVcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGUtMi1cXG5hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZTozOm9iai0kKENPTkZJR19CUEZfSklUKSArPSBicGZfaml0X2NvcmUub1xcbmFyY2gvcmlzY3YvbmV0L01ha2VmaWxlLTQtXFxuYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGU9NT1pZmVxICgkKENPTkZJR19BUkNIX1JWNjRJKSx5KVxcbmFyY2gvcmlzY3YvbmV0L01ha2VmaWxlOjY6XFx0b2JqLSQoQ09ORklHX0JQRl9KSVQpICs9IGJwZl9qaXRfY29tcDY0Lm8gYnBmX3RpbWVkX21heV9nb3RvLm9cXG5hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZS03LWVsc2VcXG5hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZTo4OlxcdG9iai0kKENPTkZJR19CUEZfSklUKSArPSBicGZfaml0X2NvbXAzMi5vXFxuYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGUtOS1lbmRpZlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNVQxMzozMDo0OS45NjY5MDU4MjdaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1NDIwNzU2MTA1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgYXNzZXNzbWVudCBvZiB0aGlzIHBhdGNoLCBmb3JtYXR0ZWQgYXMgcmVxdWVzdGVkOlxuXG4qKlJJU0MtViBCUEYgSklUIEZlYXR1cmUgYW5kIEZ1enppbmcgQ29uc2lkZXJhdGlvbnMqKlxuXG5BbHJpZ2h0LCBzbyB0aGUgY29yZSBvZiB0aGlzIHBhdGNoIHNlZW1zIHRvIGhpbmdlIG9uIGBCUEZfSklUYCBhcyB0aGUgY29udHJvbGxpbmcgY29uZmlndXJhdGlvbiBvcHRpb24uIFRoYXQncyB0aGUga2V5IHRvIGVuYWJsaW5nIHRoZSBSSVNDLVYgQlBGIEpJVCBjb21waWxlcidzIG5ldyBmdW5jdGlvbmFsaXR5LiBUaGUgcGF0Y2ggaXRzZWxmIGlzIGZ1bmN0aW9uYWwsIHdoaWNoIGlzIGdvb2QsIGJ1dCBub3cgdGhhdCB3ZSdyZSBhZGRpbmcgbmV3IGNvZGUsIGl0J3MgaW1tZWRpYXRlbHkgYXBwYXJlbnQgdGhpcyBuZWVkcyBzZXJpb3VzIGZ1enppbmcgYXR0ZW50aW9uLlxuXG5TcGVjaWZpY2FsbHksIEkgbmVlZCB0byBmb2N1cyBvbiBhIGZldyBrZXkgc3ltYm9scyB0byBnZXQgc3RhcnRlZC4gVGhlIGBicGZfaml0X2VtaXRfaW5zbmAgZnVuY3Rpb24gaXMgY3JpdGljYWwsIG9idmlvdXNseSwgYXMgaXQncyB0aGUgaW5zdHJ1Y3Rpb24gZW1pdHRlciBmb3IgdGhlIEpJVC4gV2UnbGwgYWxzbyBuZWVkIHRvIGNhcmVmdWxseSBleGFtaW5lIGBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvYCwgYW5kIGBhcmNoX2JwZl90aW1lZF9tYXlfZ290b2AgYW5kIHVuZGVyc3RhbmQgaG93IHRoZXNlIGFyZSBpbnRlcmFjdGluZyB3aXRoaW4gdGhlIG5ldyBKSVQgY29udGV4dC4gVGhlc2UgdGltZWQgZ290b3Mgb2Z0ZW4gaW50cm9kdWNlIG1vcmUgY29tcGxleCBjb250cm9sIGZsb3dzIHNvIG11c3QgYmUgdGVzdGVkIHRob3JvdWdobHkuXG5cbkxldCdzIHNldCB1cCB0aGUgZnV6emluZyBlbnZpcm9ubWVudCB3aXRoIHRob3NlIGluIG1pbmQsIGFuZCBnZXQgdGhlIHJlc3VsdHMgaW4gcGxhY2UuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjY3MzUsIk91dHB1dFRva2VucyI6MTQ5LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6OTQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTVUMTM6MzA6NTUuMzg3NjY1MDEyWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTY4NzU1NjMzLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJCUEZfSklUXCIsXG4gICAgXCJCUEZfU1lTQ0FMTFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImJwZl9qaXRfZW1pdF9pbnNuXCIsXG4gICAgXCJicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvXCIsXG4gICAgXCJhcmNoX2JwZl90aW1lZF9tYXlfZ290b1wiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgdGhlIGBicGZfdGltZWRfbWF5X2dvdG9gIGluc3RydWN0aW9uIGluIHRoZSBSSVNDLVYgNjQtYml0IEJQRiBKSVQgY29tcGlsZXIuIEl0IG1vZGlmaWVzIHRoZSBKSVQgaW5zdHJ1Y3Rpb24gZW1pdHRlciBhbmQgYWRkcyBhIG5ldyBhc3NlbWJseSB0cmFtcG9saW5lLCB3aGljaCBhcmUgZnVuY3Rpb25hbCBjaGFuZ2VzIHRoYXQgY2FuIGJlIHJlYWNoZWQgYnkgbG9hZGluZyBzcGVjaWZpYyBCUEYgcHJvZ3JhbXMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlBGX0pJVFwiLFxuICAgIFwiQlBGX1NZU0NBTExcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJicGZfaml0X2VtaXRfaW5zblwiLFxuICAgIFwiYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290b1wiLFxuICAgIFwiYXJjaF9icGZfdGltZWRfbWF5X2dvdG9cIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIHN1cHBvcnQgZm9yIHRoZSBgYnBmX3RpbWVkX21heV9nb3RvYCBpbnN0cnVjdGlvbiBpbiB0aGUgUklTQy1WIDY0LWJpdCBCUEYgSklUIGNvbXBpbGVyLiBJdCBtb2RpZmllcyB0aGUgSklUIGluc3RydWN0aW9uIGVtaXR0ZXIgYW5kIGFkZHMgYSBuZXcgYXNzZW1ibHkgdHJhbXBvbGluZSwgd2hpY2ggYXJlIGZ1bmN0aW9uYWwgY2hhbmdlcyB0aGF0IGNhbiBiZSByZWFjaGVkIGJ5IGxvYWRpbmcgc3BlY2lmaWMgQlBGIHByb2dyYW1zLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+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-workflowv7g5c[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-15 13:08:55 +0000 UTC FinishedAt: 2026-07-15 13:30:57 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "bpf-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git", "commit_hash": "dc59e4fea9d83f03bad6bddf3fa2e52491777482", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BPF_JIT", "BPF_SYSCALL" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "bpf-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git", "commit_hash": "dc59e4fea9d83f03bad6bddf3fa2e52491777482", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BPF_JIT", "BPF_SYSCALL" ], "series_id": "d34d08ad-23c4-43c8-aaf3-1b476247a336" }, "track": "KASAN", "fuzz": { "focus": [ "bpf" ], "focus_symbols": [ "bpf_jit_emit_insn", "bpf_jit_supports_timed_may_goto", "arch_bpf_timed_may_goto" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE1IDEzOjMwPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JQRl9KSVQmIzM0OywKICAgICYjMzQ7QlBGX1NZU0NBTEwmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfaml0X2VtaXRfaW5zbiYjMzQ7LAogICAgJiMzNDticGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvJiMzNDssCiAgICAmIzM0O2FyY2hfYnBmX3RpbWVkX21heV9nb3RvJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgdGhlIGBicGZfdGltZWRfbWF5X2dvdG9gIGluc3RydWN0aW9uIGluIHRoZSBSSVNDLVYgNjQtYml0IEJQRiBKSVQgY29tcGlsZXIuIEl0IG1vZGlmaWVzIHRoZSBKSVQgaW5zdHJ1Y3Rpb24gZW1pdHRlciBhbmQgYWRkcyBhIG5ldyBhc3NlbWJseSB0cmFtcG9saW5lLCB3aGljaCBhcmUgZnVuY3Rpb25hbCBjaGFuZ2VzIHRoYXQgY2FuIGJlIHJlYWNoZWQgYnkgbG9hZGluZyBzcGVjaWZpYyBCUEYgcHJvZ3JhbXMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTUgMTM6MzA8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBhNjlkNDMzNDk1OGE3YWZlNTNjMjJhYWMwYTIzYjkxYjY0ZTZmYTdlXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFdlZCBKdWwgMTUgMTM6MzA6MjggMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGUgYi9hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZVxuaW5kZXggOWExZTVmMGE5NGU1NTkuLjY0NThkNGQ1MTk5MGE3IDEwMDY0NFxuLS0tIGEvYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGVcbiYjNDM7JiM0MzsmIzQzOyBiL2FyY2gvcmlzY3YvbmV0L01ha2VmaWxlXG5AQCAtMyw3ICYjNDM7Myw3IEBAXG4gb2JqLSQoQ09ORklHX0JQRl9KSVQpICYjNDM7PSBicGZfaml0X2NvcmUub1xuIFxuIGlmZXEgKCQoQ09ORklHX0FSQ0hfUlY2NEkpLHkpXG4tXHRvYmotJChDT05GSUdfQlBGX0pJVCkgJiM0Mzs9IGJwZl9qaXRfY29tcDY0Lm9cbiYjNDM7XHRvYmotJChDT05GSUdfQlBGX0pJVCkgJiM0Mzs9IGJwZl9qaXRfY29tcDY0Lm8gYnBmX3RpbWVkX21heV9nb3RvLm9cbiBlbHNlXG4gXHRvYmotJChDT05GSUdfQlBGX0pJVCkgJiM0Mzs9IGJwZl9qaXRfY29tcDMyLm9cbiBlbmRpZlxuZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMgYi9hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jXG5pbmRleCBjMDNjMWRlMTZiNzlhYy4uNGY4OGE0NDYyNzhhZTggMTAwNjQ0XG4tLS0gYS9hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jXG5AQCAtMTg0MSw3ICYjNDM7MTg0MSwxMyBAQCBpbnQgYnBmX2ppdF9lbWl0X2luc24oY29uc3Qgc3RydWN0IGJwZl9pbnNuICppbnNuLCBzdHJ1Y3QgcnZfaml0X2NvbnRleHQgKmN0eCxcbiBcdFx0aWYgKHJldClcbiBcdFx0XHRyZXR1cm4gcmV0O1xuIFxuLVx0XHRpZiAoaW5zbi1cdTAwM2VzcmNfcmVnICE9IEJQRl9QU0VVRE9fQ0FMTClcbiYjNDM7XHRcdC8qXG4mIzQzO1x0XHQgKiBhcmNoX2JwZl90aW1lZF9tYXlfZ290bygpIGlzIGVtaXR0ZWQgYnkgdGhlIHZlcmlmaWVyIGFuZFxuJiM0MztcdFx0ICogcmV0dXJucyBpdHMgcmVzdWx0IGluIEJQRl9SRUdfQVggaW5zdGVhZCBvZiBCUEZfUkVHXzAsIHNvXG4mIzQzO1x0XHQgKiBza2lwIHRoZSBub3JtYWwgXCYjMzQ7bW92ZSByZXR1cm4gcmVnaXN0ZXIgaW50byBSMFwmIzM0Oy5cbiYjNDM7XHRcdCAqL1xuJiM0MztcdFx0aWYgKGluc24tXHUwMDNlc3JjX3JlZyAhPSBCUEZfUFNFVURPX0NBTEwgXHUwMDI2XHUwMDI2XG4mIzQzO1x0XHQgICAgYWRkciAhPSAodTY0KWFyY2hfYnBmX3RpbWVkX21heV9nb3RvKVxuIFx0XHRcdGVtaXRfbXYoYnBmX3RvX3J2X3JlZyhCUEZfUkVHXzAsIGN0eCksIFJWX1JFR19BMCwgY3R4KTtcbiBcdFx0YnJlYWs7XG4gXHR9XG5AQCAtMjE1NywzICYjNDM7MjE2Myw4IEBAIGJvb2wgYnBmX2ppdF9zdXBwb3J0c19mc2Vzc2lvbih2b2lkKVxuIHtcbiBcdHJldHVybiB0cnVlO1xuIH1cbiYjNDM7XG4mIzQzO2Jvb2wgYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290byh2b2lkKVxuJiM0Mzt7XG4mIzQzO1x0cmV0dXJuIHRydWU7XG4mIzQzO31cbmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUyBiL2FyY2gvcmlzY3YvbmV0L2JwZl90aW1lZF9tYXlfZ290by5TXG5uZXcgZmlsZSBtb2RlIDEwMDY0NFxuaW5kZXggMDAwMDAwMDAwMDAwMDAuLmY0YmYyY2QxMDU4NjZiXG4tLS0gL2Rldi9udWxsXG4mIzQzOyYjNDM7JiM0MzsgYi9hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uU1xuQEAgLTAsMCAmIzQzOzEsNDcgQEBcbiYjNDM7LyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgKi9cbiYjNDM7LyogQ29weXJpZ2h0IChjKSAyMDI2IEZlbmcgSmlhbmcgXHUwMDNjamlhbmdmZW5nQGt5bGlub3MuY25cdTAwM2UgKi9cbiYjNDM7XG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2xpbmthZ2UuaFx1MDAzZVxuJiM0MzsjaW5jbHVkZSBcdTAwM2Nhc20vYXNtLmhcdTAwM2VcbiYjNDM7XG4mIzQzOy8qXG4mIzQzOyAqIFRyYW1wb2xpbmUgZm9yIHRoZSBCUEYgdGltZWQgbWF5X2dvdG8gbG9vcCBib3VuZC4gQ3VzdG9tIGNhbGxpbmcgY29udmVudGlvbjpcbiYjNDM7ICpcdC0gaW5wdXQ6ICBzdGFjayBvZmZzZXQgaW4gQlBGX1JFR19BWCAodDApXG4mIzQzOyAqXHQtIG91dHB1dDogdXBkYXRlZCBjb3VudCBpbiBCUEZfUkVHX0FYICh0MClcbiYjNDM7ICpcbiYjNDM7ICogQ2FsbHMgYnBmX2NoZWNrX3RpbWVkX21heV9nb3RvKHB0cikgd2l0aCB0aGUgc3RhbmRhcmQgUklTQy1WIEFCSSwgd2hlcmVcbiYjNDM7ICogcHRyID0gQlBGX1JFR19GUCAoczUpICYjNDM7IEJQRl9SRUdfQVggKHQwKS4gQlBGIFIwLVI1IChhNSwgYTAtYTQpIGFyZSBzYXZlZFxuJiM0MzsgKiBhY3Jvc3MgdGhlIGNhbGw7IEJQRl9SRUdfRlAgKHM1KSBpcyBjYWxsZWUtc2F2ZWQgYW5kIG5lZWRzIG5vIHNhdmluZy5cbiYjNDM7ICovXG4mIzQzO1xuJiM0MztTWU1fRlVOQ19TVEFSVChhcmNoX2JwZl90aW1lZF9tYXlfZ290bylcbiYjNDM7XHRhZGRpXHRzcCwgc3AsIC02NFxuJiM0MztcdHNkXHRyYSwgNTYoc3ApXG4mIzQzO1x0c2RcdHMwLCA0OChzcClcbiYjNDM7XHRhZGRpXHRzMCwgc3AsIDY0XG4mIzQzO1xuJiM0MztcdC8qIFNhdmUgQlBGIHJlZ2lzdGVycyBSMC1SNSAoYTUsIGEwLWE0KSAqL1xuJiM0MztcdHNkXHRhNSwgNDAoc3ApXG4mIzQzO1x0c2RcdGEwLCAzMihzcClcbiYjNDM7XHRzZFx0YTEsIDI0KHNwKVxuJiM0MztcdHNkXHRhMiwgMTYoc3ApXG4mIzQzO1x0c2RcdGEzLCA4KHNwKVxuJiM0MztcdHNkXHRhNCwgMChzcClcbiYjNDM7XG4mIzQzO1x0YWRkXHRhMCwgdDAsIHM1XG4mIzQzO1x0Y2FsbFx0YnBmX2NoZWNrX3RpbWVkX21heV9nb3RvXG4mIzQzO1x0bXZcdHQwLCBhMFxuJiM0MztcbiYjNDM7XHQvKiBSZXN0b3JlIEJQRiByZWdpc3RlcnMgUjAtUjUgKi9cbiYjNDM7XHRsZFx0YTQsIDAoc3ApXG4mIzQzO1x0bGRcdGEzLCA4KHNwKVxuJiM0MztcdGxkXHRhMiwgMTYoc3ApXG4mIzQzO1x0bGRcdGExLCAyNChzcClcbiYjNDM7XHRsZFx0YTAsIDMyKHNwKVxuJiM0MztcdGxkXHRhNSwgNDAoc3ApXG4mIzQzO1xuJiM0MztcdGxkXHRzMCwgNDgoc3ApXG4mIzQzO1x0bGRcdHJhLCA1NihzcClcbiYjNDM7XHRhZGRpXHRzcCwgc3AsIDY0XG4mIzQzO1x0cmV0XG4mIzQzO1NZTV9GVU5DX0VORChhcmNoX2JwZl90aW1lZF9tYXlfZ290bylcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3Mvc3RyZWFtLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3Mvc3RyZWFtLmNcbmluZGV4IDkyYmExZDcyZTBlY2U0Li44ZDhlNTNkMzcyNjZjZCAxMDA2NDRcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy9zdHJlYW0uY1xuJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3N0cmVhbS5jXG5AQCAtNjQsNiAmIzQzOzY0LDcgQEAgU0VDKFwmIzM0O3N5c2NhbGxcJiMzNDspXG4gX19hcmNoX3g4Nl82NFxuIF9fYXJjaF9hcm02NFxuIF9fYXJjaF9zMzkweFxuJiM0MztfX2FyY2hfcmlzY3Y2NFxuIF9fc3VjY2VzcyBfX3JldHZhbCgwKVxuIF9fc3RkZXJyKFwmIzM0O0VSUk9SOiBUaW1lb3V0IGRldGVjdGVkIGZvciBtYXlfZ290byBpbnN0cnVjdGlvblwmIzM0OylcbiBfX3N0ZGVycihcJiMzNDtDUFU6IHt7WzAtOV0mIzQzO319IFVJRDogMCBQSUQ6IHt7WzAtOV0mIzQzO319IENvbW06IHt7Lip9fVwmIzM0OylcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfYnBmX2Zhc3RjYWxsLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfYnBmX2Zhc3RjYWxsLmNcbmluZGV4IDhkN2ZmMzhlNGMwNjk3Li5lNjY3MWM1NGU1M2FkYSAxMDA2NDRcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9icGZfZmFzdGNhbGwuY1xuJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX2JwZl9mYXN0Y2FsbC5jXG5AQCAtNjYwLDYgJiM0Mzs2NjAsNyBAQCBfX25ha2VkIHZvaWQgbWF5X2dvdG9faW50ZXJhY3Rpb25feDg2XzY0KHZvaWQpXG4gXG4gU0VDKFwmIzM0O3Jhd190cFwmIzM0OylcbiBfX2FyY2hfYXJtNjRcbiYjNDM7X19hcmNoX3Jpc2N2NjRcbiBfX2xvZ19sZXZlbCg0KSBfX21zZyhcJiMzNDtzdGFjayBkZXB0aCAyNFwmIzM0OylcbiAvKiBtYXlfZ290byBjb3VudGVyIGF0IC0yNCAqL1xuIF9feGxhdGVkKFwmIzM0OzA6ICoodTY0ICopKHIxMCAtMjQpID1cJiMzNDspXG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9tYXlfZ290b18xLmNcbmluZGV4IDRiZGY0MjU2YTQxZTUxLi5mNDdiOWQ1NDBhMTc1OSAxMDA2NDRcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9tYXlfZ290b18xLmNcbiYjNDM7JiM0MzsmIzQzOyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9tYXlfZ290b18xLmNcbkBAIC0xMSw2ICYjNDM7MTEsNyBAQCBfX2Rlc2NyaXB0aW9uKFwmIzM0O21heV9nb3RvIDBcJiMzNDspXG4gX19hcmNoX3g4Nl82NFxuIF9fYXJjaF9zMzkweFxuIF9fYXJjaF9hcm02NFxuJiM0MztfX2FyY2hfcmlzY3Y2NFxuIF9feGxhdGVkKFwmIzM0OzA6IHIwID0gMVwmIzM0OylcbiBfX3hsYXRlZChcJiMzNDsxOiBleGl0XCYjMzQ7KVxuIF9fc3VjY2Vzc1xuQEAgLTMxLDYgJiM0MzszMiw3IEBAIF9fZGVzY3JpcHRpb24oXCYjMzQ7YmF0Y2ggMiBvZiBtYXlfZ290byAwXCYjMzQ7KVxuIF9fYXJjaF94ODZfNjRcbiBfX2FyY2hfczM5MHhcbiBfX2FyY2hfYXJtNjRcbiYjNDM7X19hcmNoX3Jpc2N2NjRcbiBfX3hsYXRlZChcJiMzNDswOiByMCA9IDFcJiMzNDspXG4gX194bGF0ZWQoXCYjMzQ7MTogZXhpdFwmIzM0OylcbiBfX3N1Y2Nlc3NcbkBAIC01Myw2ICYjNDM7NTUsNyBAQCBfX2Rlc2NyaXB0aW9uKFwmIzM0O21heV9nb3RvIGJhdGNoIHdpdGggb2Zmc2V0cyAyLzEvMFwmIzM0OylcbiBfX2FyY2hfeDg2XzY0XG4gX19hcmNoX3MzOTB4XG4gX19hcmNoX2FybTY0XG4mIzQzO19fYXJjaF9yaXNjdjY0XG4gX194bGF0ZWQoXCYjMzQ7MDogcjAgPSAxXCYjMzQ7KVxuIF9feGxhdGVkKFwmIzM0OzE6IGV4aXRcJiMzNDspXG4gX19zdWNjZXNzXG5AQCAtNzksNiAmIzQzOzgyLDcgQEAgX19kZXNjcmlwdGlvbihcJiMzNDttYXlfZ290byBiYXRjaCB3aXRoIG9mZnNldHMgMi8wXCYjMzQ7KVxuIF9fYXJjaF94ODZfNjRcbiBfX2FyY2hfczM5MHhcbiBfX2FyY2hfYXJtNjRcbiYjNDM7X19hcmNoX3Jpc2N2NjRcbiBfX3hsYXRlZChcJiMzNDswOiAqKHU2NCAqKShyMTAgLTE2KSA9IDY1NTM1XCYjMzQ7KVxuIF9feGxhdGVkKFwmIzM0OzE6ICoodTY0ICopKHIxMCAtOCkgPSAwXCYjMzQ7KVxuIF9feGxhdGVkKFwmIzM0OzI6IHIxMiA9ICoodTY0ICopKHIxMCAtMTYpXCYjMzQ7KVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE1IDEzOjMwPC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JQRl9KSVQmIzM0OywKICAgICYjMzQ7QlBGX1NZU0NBTEwmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfaml0X2VtaXRfaW5zbiYjMzQ7LAogICAgJiMzNDticGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvJiMzNDssCiAgICAmIzM0O2FyY2hfYnBmX3RpbWVkX21heV9nb3RvJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgdGhlIGBicGZfdGltZWRfbWF5X2dvdG9gIGluc3RydWN0aW9uIGluIHRoZSBSSVNDLVYgNjQtYml0IEJQRiBKSVQgY29tcGlsZXIuIEl0IG1vZGlmaWVzIHRoZSBKSVQgaW5zdHJ1Y3Rpb24gZW1pdHRlciBhbmQgYWRkcyBhIG5ldyBhc3NlbWJseSB0cmFtcG9saW5lLCB3aGljaCBhcmUgZnVuY3Rpb25hbCBjaGFuZ2VzIHRoYXQgY2FuIGJlIHJlYWNoZWQgYnkgbG9hZGluZyBzcGVjaWZpYyBCUEYgcHJvZ3JhbXMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IGE2OWQ0MzM0OTU4YTdhZmU1M2MyMmFhYzBhMjNiOTFiNjRlNmZhN2UKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgV2VkIEp1bCAxNSAxMzozMDoyOCAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvbmV0L01ha2VmaWxlIGIvYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGUKaW5kZXggOWExZTVmMGE5NGU1NTkuLjY0NThkNGQ1MTk5MGE3IDEwMDY0NAotLS0gYS9hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZQomIzQzOyYjNDM7JiM0MzsgYi9hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZQpAQCAtMyw3ICYjNDM7Myw3IEBACiBvYmotJChDT05GSUdfQlBGX0pJVCkgJiM0Mzs9IGJwZl9qaXRfY29yZS5vCiAKIGlmZXEgKCQoQ09ORklHX0FSQ0hfUlY2NEkpLHkpCi0Jb2JqLSQoQ09ORklHX0JQRl9KSVQpICYjNDM7PSBicGZfaml0X2NvbXA2NC5vCiYjNDM7CW9iai0kKENPTkZJR19CUEZfSklUKSAmIzQzOz0gYnBmX2ppdF9jb21wNjQubyBicGZfdGltZWRfbWF5X2dvdG8ubwogZWxzZQogCW9iai0kKENPTkZJR19CUEZfSklUKSAmIzQzOz0gYnBmX2ppdF9jb21wMzIubwogZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMgYi9hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jCmluZGV4IGMwM2MxZGUxNmI3OWFjLi40Zjg4YTQ0NjI3OGFlOCAxMDA2NDQKLS0tIGEvYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYwomIzQzOyYjNDM7JiM0MzsgYi9hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jCkBAIC0xODQxLDcgJiM0MzsxODQxLDEzIEBAIGludCBicGZfaml0X2VtaXRfaW5zbihjb25zdCBzdHJ1Y3QgYnBmX2luc24gKmluc24sIHN0cnVjdCBydl9qaXRfY29udGV4dCAqY3R4LAogCQlpZiAocmV0KQogCQkJcmV0dXJuIHJldDsKIAotCQlpZiAoaW5zbi0mZ3Q7c3JjX3JlZyAhPSBCUEZfUFNFVURPX0NBTEwpCiYjNDM7CQkvKgomIzQzOwkJICogYXJjaF9icGZfdGltZWRfbWF5X2dvdG8oKSBpcyBlbWl0dGVkIGJ5IHRoZSB2ZXJpZmllciBhbmQKJiM0MzsJCSAqIHJldHVybnMgaXRzIHJlc3VsdCBpbiBCUEZfUkVHX0FYIGluc3RlYWQgb2YgQlBGX1JFR18wLCBzbwomIzQzOwkJICogc2tpcCB0aGUgbm9ybWFsICYjMzQ7bW92ZSByZXR1cm4gcmVnaXN0ZXIgaW50byBSMCYjMzQ7LgomIzQzOwkJICovCiYjNDM7CQlpZiAoaW5zbi0mZ3Q7c3JjX3JlZyAhPSBCUEZfUFNFVURPX0NBTEwgJmFtcDsmYW1wOwomIzQzOwkJICAgIGFkZHIgIT0gKHU2NClhcmNoX2JwZl90aW1lZF9tYXlfZ290bykKIAkJCWVtaXRfbXYoYnBmX3RvX3J2X3JlZyhCUEZfUkVHXzAsIGN0eCksIFJWX1JFR19BMCwgY3R4KTsKIAkJYnJlYWs7CiAJfQpAQCAtMjE1NywzICYjNDM7MjE2Myw4IEBAIGJvb2wgYnBmX2ppdF9zdXBwb3J0c19mc2Vzc2lvbih2b2lkKQogewogCXJldHVybiB0cnVlOwogfQomIzQzOwomIzQzO2Jvb2wgYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290byh2b2lkKQomIzQzO3sKJiM0MzsJcmV0dXJuIHRydWU7CiYjNDM7fQpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9uZXQvYnBmX3RpbWVkX21heV9nb3RvLlMgYi9hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMC4uZjRiZjJjZDEwNTg2NmIKLS0tIC9kZXYvbnVsbAomIzQzOyYjNDM7JiM0MzsgYi9hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUwpAQCAtMCwwICYjNDM7MSw0NyBAQAomIzQzOy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wICovCiYjNDM7LyogQ29weXJpZ2h0IChjKSAyMDI2IEZlbmcgSmlhbmcgJmx0O2ppYW5nZmVuZ0BreWxpbm9zLmNuJmd0OyAqLwomIzQzOwomIzQzOyNpbmNsdWRlICZsdDtsaW51eC9saW5rYWdlLmgmZ3Q7CiYjNDM7I2luY2x1ZGUgJmx0O2FzbS9hc20uaCZndDsKJiM0MzsKJiM0MzsvKgomIzQzOyAqIFRyYW1wb2xpbmUgZm9yIHRoZSBCUEYgdGltZWQgbWF5X2dvdG8gbG9vcCBib3VuZC4gQ3VzdG9tIGNhbGxpbmcgY29udmVudGlvbjoKJiM0MzsgKgktIGlucHV0OiAgc3RhY2sgb2Zmc2V0IGluIEJQRl9SRUdfQVggKHQwKQomIzQzOyAqCS0gb3V0cHV0OiB1cGRhdGVkIGNvdW50IGluIEJQRl9SRUdfQVggKHQwKQomIzQzOyAqCiYjNDM7ICogQ2FsbHMgYnBmX2NoZWNrX3RpbWVkX21heV9nb3RvKHB0cikgd2l0aCB0aGUgc3RhbmRhcmQgUklTQy1WIEFCSSwgd2hlcmUKJiM0MzsgKiBwdHIgPSBCUEZfUkVHX0ZQIChzNSkgJiM0MzsgQlBGX1JFR19BWCAodDApLiBCUEYgUjAtUjUgKGE1LCBhMC1hNCkgYXJlIHNhdmVkCiYjNDM7ICogYWNyb3NzIHRoZSBjYWxsOyBCUEZfUkVHX0ZQIChzNSkgaXMgY2FsbGVlLXNhdmVkIGFuZCBuZWVkcyBubyBzYXZpbmcuCiYjNDM7ICovCiYjNDM7CiYjNDM7U1lNX0ZVTkNfU1RBUlQoYXJjaF9icGZfdGltZWRfbWF5X2dvdG8pCiYjNDM7CWFkZGkJc3AsIHNwLCAtNjQKJiM0MzsJc2QJcmEsIDU2KHNwKQomIzQzOwlzZAlzMCwgNDgoc3ApCiYjNDM7CWFkZGkJczAsIHNwLCA2NAomIzQzOwomIzQzOwkvKiBTYXZlIEJQRiByZWdpc3RlcnMgUjAtUjUgKGE1LCBhMC1hNCkgKi8KJiM0MzsJc2QJYTUsIDQwKHNwKQomIzQzOwlzZAlhMCwgMzIoc3ApCiYjNDM7CXNkCWExLCAyNChzcCkKJiM0MzsJc2QJYTIsIDE2KHNwKQomIzQzOwlzZAlhMywgOChzcCkKJiM0MzsJc2QJYTQsIDAoc3ApCiYjNDM7CiYjNDM7CWFkZAlhMCwgdDAsIHM1CiYjNDM7CWNhbGwJYnBmX2NoZWNrX3RpbWVkX21heV9nb3RvCiYjNDM7CW12CXQwLCBhMAomIzQzOwomIzQzOwkvKiBSZXN0b3JlIEJQRiByZWdpc3RlcnMgUjAtUjUgKi8KJiM0MzsJbGQJYTQsIDAoc3ApCiYjNDM7CWxkCWEzLCA4KHNwKQomIzQzOwlsZAlhMiwgMTYoc3ApCiYjNDM7CWxkCWExLCAyNChzcCkKJiM0MzsJbGQJYTAsIDMyKHNwKQomIzQzOwlsZAlhNSwgNDAoc3ApCiYjNDM7CiYjNDM7CWxkCXMwLCA0OChzcCkKJiM0MzsJbGQJcmEsIDU2KHNwKQomIzQzOwlhZGRpCXNwLCBzcCwgNjQKJiM0MzsJcmV0CiYjNDM7U1lNX0ZVTkNfRU5EKGFyY2hfYnBmX3RpbWVkX21heV9nb3RvKQpkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3N0cmVhbS5jIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3N0cmVhbS5jCmluZGV4IDkyYmExZDcyZTBlY2U0Li44ZDhlNTNkMzcyNjZjZCAxMDA2NDQKLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3N0cmVhbS5jCiYjNDM7JiM0MzsmIzQzOyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy9zdHJlYW0uYwpAQCAtNjQsNiAmIzQzOzY0LDcgQEAgU0VDKCYjMzQ7c3lzY2FsbCYjMzQ7KQogX19hcmNoX3g4Nl82NAogX19hcmNoX2FybTY0CiBfX2FyY2hfczM5MHgKJiM0MztfX2FyY2hfcmlzY3Y2NAogX19zdWNjZXNzIF9fcmV0dmFsKDApCiBfX3N0ZGVycigmIzM0O0VSUk9SOiBUaW1lb3V0IGRldGVjdGVkIGZvciBtYXlfZ290byBpbnN0cnVjdGlvbiYjMzQ7KQogX19zdGRlcnIoJiMzNDtDUFU6IHt7WzAtOV0mIzQzO319IFVJRDogMCBQSUQ6IHt7WzAtOV0mIzQzO319IENvbW06IHt7Lip9fSYjMzQ7KQpkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX2JwZl9mYXN0Y2FsbC5jIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX2JwZl9mYXN0Y2FsbC5jCmluZGV4IDhkN2ZmMzhlNGMwNjk3Li5lNjY3MWM1NGU1M2FkYSAxMDA2NDQKLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX2JwZl9mYXN0Y2FsbC5jCiYjNDM7JiM0MzsmIzQzOyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9icGZfZmFzdGNhbGwuYwpAQCAtNjYwLDYgJiM0Mzs2NjAsNyBAQCBfX25ha2VkIHZvaWQgbWF5X2dvdG9faW50ZXJhY3Rpb25feDg2XzY0KHZvaWQpCiAKIFNFQygmIzM0O3Jhd190cCYjMzQ7KQogX19hcmNoX2FybTY0CiYjNDM7X19hcmNoX3Jpc2N2NjQKIF9fbG9nX2xldmVsKDQpIF9fbXNnKCYjMzQ7c3RhY2sgZGVwdGggMjQmIzM0OykKIC8qIG1heV9nb3RvIGNvdW50ZXIgYXQgLTI0ICovCiBfX3hsYXRlZCgmIzM0OzA6ICoodTY0ICopKHIxMCAtMjQpID0mIzM0OykKZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9tYXlfZ290b18xLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfbWF5X2dvdG9fMS5jCmluZGV4IDRiZGY0MjU2YTQxZTUxLi5mNDdiOWQ1NDBhMTc1OSAxMDA2NDQKLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuYwomIzQzOyYjNDM7JiM0MzsgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfbWF5X2dvdG9fMS5jCkBAIC0xMSw2ICYjNDM7MTEsNyBAQCBfX2Rlc2NyaXB0aW9uKCYjMzQ7bWF5X2dvdG8gMCYjMzQ7KQogX19hcmNoX3g4Nl82NAogX19hcmNoX3MzOTB4CiBfX2FyY2hfYXJtNjQKJiM0MztfX2FyY2hfcmlzY3Y2NAogX194bGF0ZWQoJiMzNDswOiByMCA9IDEmIzM0OykKIF9feGxhdGVkKCYjMzQ7MTogZXhpdCYjMzQ7KQogX19zdWNjZXNzCkBAIC0zMSw2ICYjNDM7MzIsNyBAQCBfX2Rlc2NyaXB0aW9uKCYjMzQ7YmF0Y2ggMiBvZiBtYXlfZ290byAwJiMzNDspCiBfX2FyY2hfeDg2XzY0CiBfX2FyY2hfczM5MHgKIF9fYXJjaF9hcm02NAomIzQzO19fYXJjaF9yaXNjdjY0CiBfX3hsYXRlZCgmIzM0OzA6IHIwID0gMSYjMzQ7KQogX194bGF0ZWQoJiMzNDsxOiBleGl0JiMzNDspCiBfX3N1Y2Nlc3MKQEAgLTUzLDYgJiM0Mzs1NSw3IEBAIF9fZGVzY3JpcHRpb24oJiMzNDttYXlfZ290byBiYXRjaCB3aXRoIG9mZnNldHMgMi8xLzAmIzM0OykKIF9fYXJjaF94ODZfNjQKIF9fYXJjaF9zMzkweAogX19hcmNoX2FybTY0CiYjNDM7X19hcmNoX3Jpc2N2NjQKIF9feGxhdGVkKCYjMzQ7MDogcjAgPSAxJiMzNDspCiBfX3hsYXRlZCgmIzM0OzE6IGV4aXQmIzM0OykKIF9fc3VjY2VzcwpAQCAtNzksNiAmIzQzOzgyLDcgQEAgX19kZXNjcmlwdGlvbigmIzM0O21heV9nb3RvIGJhdGNoIHdpdGggb2Zmc2V0cyAyLzAmIzM0OykKIF9fYXJjaF94ODZfNjQKIF9fYXJjaF9zMzkweAogX19hcmNoX2FybTY0CiYjNDM7X19hcmNoX3Jpc2N2NjQKIF9feGxhdGVkKCYjMzQ7MDogKih1NjQgKikocjEwIC0xNikgPSA2NTUzNSYjMzQ7KQogX194bGF0ZWQoJiMzNDsxOiAqKHU2NCAqKShyMTAgLTgpID0gMCYjMzQ7KQogX194bGF0ZWQoJiMzNDsyOiByMTIgPSAqKHU2NCAqKShyMTAgLTE2KSYjMzQ7KQo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNSAxMzozMDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0MDI3CgkJCQkJCQlvdXRwdXQ6IDQ2CgkJCQkJCQl0aG91Z2h0czogNjk3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkZ1enppbmcgRmVhc2liaWxpdHk6IFJJU0MtViA2NC1iaXQgQlBGIEpJVCBgYnBmX3RpbWVkX21heV9nb3RvYCBQYXRjaCoqCgpPa2F5LCBzbyBJIGhhdmUgYSBwYXRjaCBoZXJlIHRoYXQgYWRkcyBzdXBwb3J0IGZvciBgYnBmX3RpbWVkX21heV9nb3RvYCB0byB0aGUgUklTQy1WIDY0LWJpdCBCUEYgSklUIGNvbXBpbGVyLiBNeSBpbml0aWFsIHRob3VnaHQgaXMsICYjMzQ7SXMgdGhpcyB3b3J0aCBmdXp6aW5nPyYjMzQ7IExldCYjMzk7cyBicmVhayBpdCBkb3duLiBJdCBkZWZpbml0ZWx5IGFkZHMgbmV3IGZ1bmN0aW9uYWxpdHksIHdoaWNoIGlzIHRoZSBwcmltZSB0YXJnZXQuIFJJU0MtViA2NC1iaXQgaXMgc3VwcG9ydGVkIGJ5IHN5emthbGxlciwgd2hpY2ggaXMgZ3JlYXQg4oCTIHRoYXQmIzM5O3MgYSBjaGVjay4gRnVuY3Rpb25hbGx5LCB5ZXMsIHRoZSBwYXRjaCBwcm92aWRlcyB0aGUgbmVjZXNzYXJ5IHRyYW1wb2xpbmUgYW5kIEpJVCBjb21waWxlciBtb2RpZmljYXRpb24uCgpOb3csIGNvbmZpZyBvcHRpb25zLi4uIEkgbmVlZCB0byBmaWd1cmUgb3V0IHRoZSByZWxldmFudCBvbmVzIHRvIGVuc3VyZSBzeXprYWxsZXIgY2FuIGJ1aWxkIHdpdGggdGhpcyBlbmFibGVkLiBMb29raW5nIGF0IHRoZSBjaGFuZ2VzLCBpdCBzZWVtcyB0byByZXNpZGUgaW4gYGFyY2gvcmlzY3YvbmV0L2AuIFNvLCBgQ09ORklHX0JQRl9KSVRgIGlzIGdvaW5nIHRvIGJlIGVzc2VudGlhbCwgYW5kIGJlY2F1c2UgaXQmIzM5O3MgYSA2NC1iaXQgYWRkaXRpb24sIGBDT05GSUdfQVJDSF9SVjY0SWAgb3IgaXRzIGltcGxpY2l0IGVxdWl2YWxlbnQsIHNob3VsZCBhbHNvIGJlIGltcG9ydGFudC4gT2theSwgY2hlY2tpbmcgdGhlIE1ha2VmaWxlIGNvbmZpcm1zIHRoaXM6CmBgYG1ha2VmaWxlCmlmZXEgKCQoQ09ORklHX0FSQ0hfUlY2NEkpLHkpCglvYmotJChDT05GSUdfQlBGX0pJVCkgJiM0Mzs9IGJwZl9qaXRfY29tcDY0Lm8gYnBmX3RpbWVkX21heV9nb3RvLm8KZWxzZQoJb2JqLSQoQ09ORklHX0JQRl9KSVQpICYjNDM7PSBicGZfaml0X2NvbXAzMi5vCmVuZGlmCmBgYApgQ09ORklHX0JQRl9KSVRgIGFuZCB0aGUgNjQtYml0IGFyY2hpdGVjdHVyZSBpcyB0aGUga2V5OyBgQ09ORklHX0FSQ0hfUlY2NElgIGlzIGEgZ2l2ZW4gZm9yIDY0LWJpdCBSSVNDLVYgc3lzdGVtcy4gVGhpcyBpcyBhbiBpbXBvcnRhbnQgcGllY2Ugb2YgaW5mb3JtYXRpb24gdG8gZW5zdXJlIHRoYXQgZnV6emluZyBjb25maWd1cmF0aW9ucyBhcmUgY29ycmVjdC4KCk5vdywgd2hpY2ggZnVuY3Rpb25zIGFyZSB0aGUgZm9jYWwgcG9pbnQgZm9yIHBvdGVudGlhbCBmdXp6aW5nPwoqICAgYGJwZl9qaXRfZW1pdF9pbnNuYCBpbiBgYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY2AKKiAgIGBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvYCBpbiBgYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY2AKKiAgIGBhcmNoX2JwZl90aW1lZF9tYXlfZ290b2AgaW4gYGFyY2gvcmlzY3YvbmV0L2JwZl90aW1lZF9tYXlfZ290by5TYAoKVGhlIGBicGZfaml0X2VtaXRfaW5zbmAgZnVuY3Rpb24gaXMgcGFydGljdWxhcmx5IGludGVyZXN0aW5nLiBJdCYjMzk7cyB1c2VkIHdpdGhpbiB0aGUgQlBGIEpJVCBjb21waWxhdGlvbiBwcm9jZXNzLCBzbyBpdCB3aWxsIGJlIGNhbGxlZCBhIGxvdCBkdXJpbmcgdGhlIEpJVCBwcm9jZXNzLiBJdCYjMzk7cyBub3QgYSBkYXRhIHBhdGggZnVuY3Rpb24gcGVyIHNlLCBidXQgYmVjYXVzZSBvZiBpdHMgY29tcGxleGl0eSwgaXQmIzM5O3MgYSBnb29kIHBsYWNlIHRvIHN0YXJ0IHRoZSBhbmFseXNpcy4gSXQgaXMgbGlrZWx5IGEgaG90IHBhdGgsIHRob3VnaCBwcm9iYWJseSBub3QgaW4gdGhlICYjMzQ7bm9ybWFsJiMzNDsgZGF0YSBwYXRoIHNlbnNlOyBpdCBpcyBhIGhvdCAqY29udHJvbCogcGF0aC4gSSB3aWxsIGNoZWNrIHRoZSBjb250ZXh0IG9mIGBicGZfaml0X2VtaXRfaW5zbmAgdG8gZ2FpbiBhIGJldHRlciB1bmRlcnN0YW5kaW5nLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE1IDEzOjMwPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2JwZl9qaXRfZW1pdF9pbnNuJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7YXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDthcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jPTEzMzI9aW50IGFyY2hfcHJlcGFyZV9icGZfdHJhbXBvbGluZShzdHJ1Y3QgYnBmX3RyYW1wX2ltYWdlICppbSwgdm9pZCAqcm9faW1hZ2UsXG4tLVxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0xMzY4LVxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYzoxMzY5OmludCBicGZfaml0X2VtaXRfaW5zbihjb25zdCBzdHJ1Y3QgYnBmX2luc24gKmluc24sIHN0cnVjdCBydl9qaXRfY29udGV4dCAqY3R4LFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0xMzcwLVx0XHQgICAgICBib29sIGV4dHJhX3Bhc3MpXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTUgMTM6MzA8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTU4MwoJCQkJCQkJb3V0cHV0OiA0OQoJCQkJCQkJdGhvdWdodHM6IDE1OAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBc3Nlc3NtZW50IG9mIEJQRiBKSVQgU3VwcG9ydCoqCgpPa2F5LCBzbyBJJiMzOTttIGZvY3VzaW5nIG9uIHRoZSBpbnN0cnVjdGlvbiBlbWlzc2lvbiBwcm9jZXNzIHdpdGhpbiB0aGUgQlBGIEpJVCwgYW5kIGl0IGxvb2tzIGxpa2UgYGJwZl9qaXRfZW1pdF9pbnNuYCBpcyB0aGUgY29yZSBmdW5jdGlvbi4gSSYjMzk7bGwgZGVmaW5pdGVseSB3YW50IHRvIGluY2x1ZGUgdGhhdC4KCk5vdywgbGV0JiMzOTtzIGFsc28gYnJpbmcgaW4gYGJwZl9qaXRfc3VwcG9ydHNfdGltZWRfbWF5X2dvdG9gIGFuZCBgYXJjaF9icGZfdGltZWRfbWF5X2dvdG9gLiBIbW0sIGhvbGQgb24uLi4gYGFyY2hfYnBmX3RpbWVkX21heV9nb3RvYCBpcyBhc3NlbWJseSBjb2RlLCBpc24mIzM5O3QgaXQ/IFRoYXQgY291bGQgYmUgYSBwcm9ibGVtIGZvciBmdXp6ZXJzIGxpa2Ugc3l6a2FsbGVyLCBlc3BlY2lhbGx5IHdoZW4gY29tYmluZWQgd2l0aCBLQ09WLCBhcyB0aGV5IGdlbmVyYWxseSBoYXZlIGEgaGFyZCB0aW1lIGluc3RydW1lbnRpbmcgYXNzZW1ibHkgZGlyZWN0bHkgdW5sZXNzIGl0JiMzOTtzIHNwZWNpYWxseSBhbm5vdGF0ZWQgb3IgaW52b2tlZCBmcm9tIGluc3RydW1lbnRlZCBDIGNvZGUuCgpJIGNhbiBzdGlsbCBsaXN0IGl0LCBvciBtYXliZSBJIHNob3VsZCBqdXN0IHN0aWNrIHRvIHRoZSBDIGZ1bmN0aW9ucyBpbiB0aGlzIHBhcnRpY3VsYXIgc2NlbmFyaW8uIFRvIGJlIHN1cmUsIEkgc2hvdWxkIHByb2JhYmx5IGNoZWNrIGBhcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jYCBqdXN0IHRvIGJlIGNlcnRhaW4gYWJvdXQgdGhlIGltcGxlbWVudGF0aW9uIGFuZCB1c2FnZSBvZiBgYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290b2Agb24gdGhhdCBhcmNoaXRlY3R1cmUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTUgMTM6MzA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7YnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290byYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7YXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYz0yMTYyPWJvb2wgYnBmX2ppdF9zdXBwb3J0c19mc2Vzc2lvbih2b2lkKVxuLS1cbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMtMjE2Ni1cbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmM6MjE2Nzpib29sIGJwZl9qaXRfc3VwcG9ydHNfdGltZWRfbWF5X2dvdG8odm9pZClcbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMtMjE2OC17XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTUgMTM6MzA8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNjE3NAoJCQkJCQkJb3V0cHV0OiAzMwoJCQkJCQkJdGhvdWdodHM6IDExMAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBbmFseXNpcyBvZiBSZWNlbnQgQ29kZSBDaGFuZ2VzKioKCk9rYXksIGxldCYjMzk7cyB0YWtlIGEgbG9vayBhdCB0aGVzZSBtb2RpZmljYXRpb25zLiBGaXJzdCwgSSBuZWVkIHRvIG1ha2Ugc3VyZSBJIGhhdmVuJiMzOTt0IG1pc3NlZCBhbnkgb3RoZXIgaW1wYWN0ZWQgZnVuY3Rpb25zLiBBIHF1aWNrIHNjYW4uLi4gbm8sIGl0IGxvb2tzIGxpa2Ugb25seSBgYnBmX2ppdF9lbWl0X2luc25gLCBgYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290b2AsIGFuZCBgYXJjaF9icGZfdGltZWRfbWF5X2dvdG9gIGFyZSB0b3VjaGVkLiBUaGF0JiMzOTtzIGEgcmVhc29uYWJsZSBzY29wZS4KCk5vdywgbGV0JiMzOTtzIG5haWwgZG93biB0aGUgZGVwZW5kZW5jaWVzLiBUaGUgY2hhbmdlICpvYnZpb3VzbHkqIHJlcXVpcmVzIGBCUEZfSklUYC4gVGhhdCYjMzk7cyBhIGdpdmVuLiBCdXQgdG8gZW5zdXJlIHRoaW5ncyBmdW5jdGlvbiBhcyBleHBlY3RlZCwgdGhlIGFiaWxpdHkgdG8gbG9hZCB0aGVzZSBCUEYgcHJvZ3JhbXMgaXMgZXNzZW50aWFsOyB0aGVyZWZvcmUsIEnigJlsbCBuZWVkIHRvIG1ha2UgY2VydGFpbiBgQlBGX1NZU0NBTExgIGlzIGVuYWJsZWQsIHRvby4KClRvIGRvdWJsZS1jaGVjayBldmVyeXRoaW5nLCBJJiMzOTtsbCBuZWVkIHRvIGdvIG92ZXIgdGhlIGBhcmNoL3Jpc2N2L25ldC9NYWtlZmlsZWAgdG8gY29uZmlybSB0aGVyZSBpc24mIzM5O3QgYW55dGhpbmcgSSYjMzk7dmUgb3Zlcmxvb2tlZC4gSSBuZWVkIHRvIG1ha2UgY2VydGFpbiB0aGF0IHRoZSBtb2R1bGUgaXMgYmVpbmcgYnVpbHQgYXBwcm9wcmlhdGVseS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNSAxMzozMDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtCUEZfSklUJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7YXJjaC9yaXNjdi9uZXQvTWFrZWZpbGUmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7YXJjaC9yaXNjdi9uZXQvTWFrZWZpbGUtMi1cbmFyY2gvcmlzY3YvbmV0L01ha2VmaWxlOjM6b2JqLSQoQ09ORklHX0JQRl9KSVQpICYjNDM7PSBicGZfaml0X2NvcmUub1xuYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGUtNC1cbmFyY2gvcmlzY3YvbmV0L01ha2VmaWxlPTU9aWZlcSAoJChDT05GSUdfQVJDSF9SVjY0SSkseSlcbmFyY2gvcmlzY3YvbmV0L01ha2VmaWxlOjY6XHRvYmotJChDT05GSUdfQlBGX0pJVCkgJiM0Mzs9IGJwZl9qaXRfY29tcDY0Lm8gYnBmX3RpbWVkX21heV9nb3RvLm9cbmFyY2gvcmlzY3YvbmV0L01ha2VmaWxlLTctZWxzZVxuYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGU6ODpcdG9iai0kKENPTkZJR19CUEZfSklUKSAmIzQzOz0gYnBmX2ppdF9jb21wMzIub1xuYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGUtOS1lbmRpZlxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE1IDEzOjMwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDY3MzUKCQkJCQkJCW91dHB1dDogMTQ5CgkJCQkJCQl0aG91Z2h0czogOTQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgYXNzZXNzbWVudCBvZiB0aGlzIHBhdGNoLCBmb3JtYXR0ZWQgYXMgcmVxdWVzdGVkOgoKKipSSVNDLVYgQlBGIEpJVCBGZWF0dXJlIGFuZCBGdXp6aW5nIENvbnNpZGVyYXRpb25zKioKCkFscmlnaHQsIHNvIHRoZSBjb3JlIG9mIHRoaXMgcGF0Y2ggc2VlbXMgdG8gaGluZ2Ugb24gYEJQRl9KSVRgIGFzIHRoZSBjb250cm9sbGluZyBjb25maWd1cmF0aW9uIG9wdGlvbi4gVGhhdCYjMzk7cyB0aGUga2V5IHRvIGVuYWJsaW5nIHRoZSBSSVNDLVYgQlBGIEpJVCBjb21waWxlciYjMzk7cyBuZXcgZnVuY3Rpb25hbGl0eS4gVGhlIHBhdGNoIGl0c2VsZiBpcyBmdW5jdGlvbmFsLCB3aGljaCBpcyBnb29kLCBidXQgbm93IHRoYXQgd2UmIzM5O3JlIGFkZGluZyBuZXcgY29kZSwgaXQmIzM5O3MgaW1tZWRpYXRlbHkgYXBwYXJlbnQgdGhpcyBuZWVkcyBzZXJpb3VzIGZ1enppbmcgYXR0ZW50aW9uLgoKU3BlY2lmaWNhbGx5LCBJIG5lZWQgdG8gZm9jdXMgb24gYSBmZXcga2V5IHN5bWJvbHMgdG8gZ2V0IHN0YXJ0ZWQuIFRoZSBgYnBmX2ppdF9lbWl0X2luc25gIGZ1bmN0aW9uIGlzIGNyaXRpY2FsLCBvYnZpb3VzbHksIGFzIGl0JiMzOTtzIHRoZSBpbnN0cnVjdGlvbiBlbWl0dGVyIGZvciB0aGUgSklULiBXZSYjMzk7bGwgYWxzbyBuZWVkIHRvIGNhcmVmdWxseSBleGFtaW5lIGBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvYCwgYW5kIGBhcmNoX2JwZl90aW1lZF9tYXlfZ290b2AgYW5kIHVuZGVyc3RhbmQgaG93IHRoZXNlIGFyZSBpbnRlcmFjdGluZyB3aXRoaW4gdGhlIG5ldyBKSVQgY29udGV4dC4gVGhlc2UgdGltZWQgZ290b3Mgb2Z0ZW4gaW50cm9kdWNlIG1vcmUgY29tcGxleCBjb250cm9sIGZsb3dzIHNvIG11c3QgYmUgdGVzdGVkIHRob3JvdWdobHkuCgpMZXQmIzM5O3Mgc2V0IHVwIHRoZSBmdXp6aW5nIGVudmlyb25tZW50IHdpdGggdGhvc2UgaW4gbWluZCwgYW5kIGdldCB0aGUgcmVzdWx0cyBpbiBwbGFjZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTUgMTM6MzA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JQRl9KSVQmIzM0OywKICAgICYjMzQ7QlBGX1NZU0NBTEwmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfaml0X2VtaXRfaW5zbiYjMzQ7LAogICAgJiMzNDticGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvJiMzNDssCiAgICAmIzM0O2FyY2hfYnBmX3RpbWVkX21heV9nb3RvJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgdGhlIGBicGZfdGltZWRfbWF5X2dvdG9gIGluc3RydWN0aW9uIGluIHRoZSBSSVNDLVYgNjQtYml0IEJQRiBKSVQgY29tcGlsZXIuIEl0IG1vZGlmaWVzIHRoZSBKSVQgaW5zdHJ1Y3Rpb24gZW1pdHRlciBhbmQgYWRkcyBhIG5ldyBhc3NlbWJseSB0cmFtcG9saW5lLCB3aGljaCBhcmUgZnVuY3Rpb25hbCBjaGFuZ2VzIHRoYXQgY2FuIGJlIHJlYWNoZWQgYnkgbG9hZGluZyBzcGVjaWZpYyBCUEYgcHJvZ3JhbXMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JQRl9KSVQmIzM0OywKICAgICYjMzQ7QlBGX1NZU0NBTEwmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfaml0X2VtaXRfaW5zbiYjMzQ7LAogICAgJiMzNDticGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvJiMzNDssCiAgICAmIzM0O2FyY2hfYnBmX3RpbWVkX21heV9nb3RvJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgdGhlIGBicGZfdGltZWRfbWF5X2dvdG9gIGluc3RydWN0aW9uIGluIHRoZSBSSVNDLVYgNjQtYml0IEJQRiBKSVQgY29tcGlsZXIuIEl0IG1vZGlmaWVzIHRoZSBKSVQgaW5zdHJ1Y3Rpb24gZW1pdHRlciBhbmQgYWRkcyBhIG5ldyBhc3NlbWJseSB0cmFtcG9saW5lLCB3aGljaCBhcmUgZnVuY3Rpb25hbCBjaGFuZ2VzIHRoYXQgY2FuIGJlIHJlYWNoZWQgYnkgbG9hZGluZyBzcGVjaWZpYyBCUEYgcHJvZ3JhbXMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0xNVQxMzozMDozMC4wODE3NjU2MTNaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyNTQ3NDY3MDM1MiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJCUEZfSklUXCIsXG4gICAgXCJCUEZfU1lTQ0FMTFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImJwZl9qaXRfZW1pdF9pbnNuXCIsXG4gICAgXCJicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvXCIsXG4gICAgXCJhcmNoX2JwZl90aW1lZF9tYXlfZ290b1wiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgdGhlIGBicGZfdGltZWRfbWF5X2dvdG9gIGluc3RydWN0aW9uIGluIHRoZSBSSVNDLVYgNjQtYml0IEJQRiBKSVQgY29tcGlsZXIuIEl0IG1vZGlmaWVzIHRoZSBKSVQgaW5zdHJ1Y3Rpb24gZW1pdHRlciBhbmQgYWRkcyBhIG5ldyBhc3NlbWJseSB0cmFtcG9saW5lLCB3aGljaCBhcmUgZnVuY3Rpb25hbCBjaGFuZ2VzIHRoYXQgY2FuIGJlIHJlYWNoZWQgYnkgbG9hZGluZyBzcGVjaWZpYyBCUEYgcHJvZ3JhbXMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE1VDEzOjMwOjMwLjA4MTc3MTcxM1oiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjczNjE5OTgxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgYTY5ZDQzMzQ5NThhN2FmZTUzYzIyYWFjMGEyM2I5MWI2NGU2ZmE3ZVxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgV2VkIEp1bCAxNSAxMzozMDoyOCAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZSBiL2FyY2gvcmlzY3YvbmV0L01ha2VmaWxlXFxuaW5kZXggOWExZTVmMGE5NGU1NTkuLjY0NThkNGQ1MTk5MGE3IDEwMDY0NFxcbi0tLSBhL2FyY2gvcmlzY3YvbmV0L01ha2VmaWxlXFxuKysrIGIvYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGVcXG5AQCAtMyw3ICszLDcgQEBcXG4gb2JqLSQoQ09ORklHX0JQRl9KSVQpICs9IGJwZl9qaXRfY29yZS5vXFxuIFxcbiBpZmVxICgkKENPTkZJR19BUkNIX1JWNjRJKSx5KVxcbi1cXHRvYmotJChDT05GSUdfQlBGX0pJVCkgKz0gYnBmX2ppdF9jb21wNjQub1xcbitcXHRvYmotJChDT05GSUdfQlBGX0pJVCkgKz0gYnBmX2ppdF9jb21wNjQubyBicGZfdGltZWRfbWF5X2dvdG8ub1xcbiBlbHNlXFxuIFxcdG9iai0kKENPTkZJR19CUEZfSklUKSArPSBicGZfaml0X2NvbXAzMi5vXFxuIGVuZGlmXFxuZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMgYi9hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jXFxuaW5kZXggYzAzYzFkZTE2Yjc5YWMuLjRmODhhNDQ2Mjc4YWU4IDEwMDY0NFxcbi0tLSBhL2FyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmNcXG4rKysgYi9hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jXFxuQEAgLTE4NDEsNyArMTg0MSwxMyBAQCBpbnQgYnBmX2ppdF9lbWl0X2luc24oY29uc3Qgc3RydWN0IGJwZl9pbnNuICppbnNuLCBzdHJ1Y3QgcnZfaml0X2NvbnRleHQgKmN0eCxcXG4gXFx0XFx0aWYgKHJldClcXG4gXFx0XFx0XFx0cmV0dXJuIHJldDtcXG4gXFxuLVxcdFxcdGlmIChpbnNuLVxcdTAwM2VzcmNfcmVnICE9IEJQRl9QU0VVRE9fQ0FMTClcXG4rXFx0XFx0LypcXG4rXFx0XFx0ICogYXJjaF9icGZfdGltZWRfbWF5X2dvdG8oKSBpcyBlbWl0dGVkIGJ5IHRoZSB2ZXJpZmllciBhbmRcXG4rXFx0XFx0ICogcmV0dXJucyBpdHMgcmVzdWx0IGluIEJQRl9SRUdfQVggaW5zdGVhZCBvZiBCUEZfUkVHXzAsIHNvXFxuK1xcdFxcdCAqIHNraXAgdGhlIG5vcm1hbCBcXFwibW92ZSByZXR1cm4gcmVnaXN0ZXIgaW50byBSMFxcXCIuXFxuK1xcdFxcdCAqL1xcbitcXHRcXHRpZiAoaW5zbi1cXHUwMDNlc3JjX3JlZyAhPSBCUEZfUFNFVURPX0NBTEwgXFx1MDAyNlxcdTAwMjZcXG4rXFx0XFx0ICAgIGFkZHIgIT0gKHU2NClhcmNoX2JwZl90aW1lZF9tYXlfZ290bylcXG4gXFx0XFx0XFx0ZW1pdF9tdihicGZfdG9fcnZfcmVnKEJQRl9SRUdfMCwgY3R4KSwgUlZfUkVHX0EwLCBjdHgpO1xcbiBcXHRcXHRicmVhaztcXG4gXFx0fVxcbkBAIC0yMTU3LDMgKzIxNjMsOCBAQCBib29sIGJwZl9qaXRfc3VwcG9ydHNfZnNlc3Npb24odm9pZClcXG4ge1xcbiBcXHRyZXR1cm4gdHJ1ZTtcXG4gfVxcbitcXG4rYm9vbCBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvKHZvaWQpXFxuK3tcXG4rXFx0cmV0dXJuIHRydWU7XFxuK31cXG5kaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9uZXQvYnBmX3RpbWVkX21heV9nb3RvLlMgYi9hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uU1xcbm5ldyBmaWxlIG1vZGUgMTAwNjQ0XFxuaW5kZXggMDAwMDAwMDAwMDAwMDAuLmY0YmYyY2QxMDU4NjZiXFxuLS0tIC9kZXYvbnVsbFxcbisrKyBiL2FyY2gvcmlzY3YvbmV0L2JwZl90aW1lZF9tYXlfZ290by5TXFxuQEAgLTAsMCArMSw0NyBAQFxcbisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCAqL1xcbisvKiBDb3B5cmlnaHQgKGMpIDIwMjYgRmVuZyBKaWFuZyBcXHUwMDNjamlhbmdmZW5nQGt5bGlub3MuY25cXHUwMDNlICovXFxuK1xcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvbGlua2FnZS5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjYXNtL2FzbS5oXFx1MDAzZVxcbitcXG4rLypcXG4rICogVHJhbXBvbGluZSBmb3IgdGhlIEJQRiB0aW1lZCBtYXlfZ290byBsb29wIGJvdW5kLiBDdXN0b20gY2FsbGluZyBjb252ZW50aW9uOlxcbisgKlxcdC0gaW5wdXQ6ICBzdGFjayBvZmZzZXQgaW4gQlBGX1JFR19BWCAodDApXFxuKyAqXFx0LSBvdXRwdXQ6IHVwZGF0ZWQgY291bnQgaW4gQlBGX1JFR19BWCAodDApXFxuKyAqXFxuKyAqIENhbGxzIGJwZl9jaGVja190aW1lZF9tYXlfZ290byhwdHIpIHdpdGggdGhlIHN0YW5kYXJkIFJJU0MtViBBQkksIHdoZXJlXFxuKyAqIHB0ciA9IEJQRl9SRUdfRlAgKHM1KSArIEJQRl9SRUdfQVggKHQwKS4gQlBGIFIwLVI1IChhNSwgYTAtYTQpIGFyZSBzYXZlZFxcbisgKiBhY3Jvc3MgdGhlIGNhbGw7IEJQRl9SRUdfRlAgKHM1KSBpcyBjYWxsZWUtc2F2ZWQgYW5kIG5lZWRzIG5vIHNhdmluZy5cXG4rICovXFxuK1xcbitTWU1fRlVOQ19TVEFSVChhcmNoX2JwZl90aW1lZF9tYXlfZ290bylcXG4rXFx0YWRkaVxcdHNwLCBzcCwgLTY0XFxuK1xcdHNkXFx0cmEsIDU2KHNwKVxcbitcXHRzZFxcdHMwLCA0OChzcClcXG4rXFx0YWRkaVxcdHMwLCBzcCwgNjRcXG4rXFxuK1xcdC8qIFNhdmUgQlBGIHJlZ2lzdGVycyBSMC1SNSAoYTUsIGEwLWE0KSAqL1xcbitcXHRzZFxcdGE1LCA0MChzcClcXG4rXFx0c2RcXHRhMCwgMzIoc3ApXFxuK1xcdHNkXFx0YTEsIDI0KHNwKVxcbitcXHRzZFxcdGEyLCAxNihzcClcXG4rXFx0c2RcXHRhMywgOChzcClcXG4rXFx0c2RcXHRhNCwgMChzcClcXG4rXFxuK1xcdGFkZFxcdGEwLCB0MCwgczVcXG4rXFx0Y2FsbFxcdGJwZl9jaGVja190aW1lZF9tYXlfZ290b1xcbitcXHRtdlxcdHQwLCBhMFxcbitcXG4rXFx0LyogUmVzdG9yZSBCUEYgcmVnaXN0ZXJzIFIwLVI1ICovXFxuK1xcdGxkXFx0YTQsIDAoc3ApXFxuK1xcdGxkXFx0YTMsIDgoc3ApXFxuK1xcdGxkXFx0YTIsIDE2KHNwKVxcbitcXHRsZFxcdGExLCAyNChzcClcXG4rXFx0bGRcXHRhMCwgMzIoc3ApXFxuK1xcdGxkXFx0YTUsIDQwKHNwKVxcbitcXG4rXFx0bGRcXHRzMCwgNDgoc3ApXFxuK1xcdGxkXFx0cmEsIDU2KHNwKVxcbitcXHRhZGRpXFx0c3AsIHNwLCA2NFxcbitcXHRyZXRcXG4rU1lNX0ZVTkNfRU5EKGFyY2hfYnBmX3RpbWVkX21heV9nb3RvKVxcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3Mvc3RyZWFtLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3Mvc3RyZWFtLmNcXG5pbmRleCA5MmJhMWQ3MmUwZWNlNC4uOGQ4ZTUzZDM3MjY2Y2QgMTAwNjQ0XFxuLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3N0cmVhbS5jXFxuKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3N0cmVhbS5jXFxuQEAgLTY0LDYgKzY0LDcgQEAgU0VDKFxcXCJzeXNjYWxsXFxcIilcXG4gX19hcmNoX3g4Nl82NFxcbiBfX2FyY2hfYXJtNjRcXG4gX19hcmNoX3MzOTB4XFxuK19fYXJjaF9yaXNjdjY0XFxuIF9fc3VjY2VzcyBfX3JldHZhbCgwKVxcbiBfX3N0ZGVycihcXFwiRVJST1I6IFRpbWVvdXQgZGV0ZWN0ZWQgZm9yIG1heV9nb3RvIGluc3RydWN0aW9uXFxcIilcXG4gX19zdGRlcnIoXFxcIkNQVToge3tbMC05XSt9fSBVSUQ6IDAgUElEOiB7e1swLTldK319IENvbW06IHt7Lip9fVxcXCIpXFxuZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9icGZfZmFzdGNhbGwuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9icGZfZmFzdGNhbGwuY1xcbmluZGV4IDhkN2ZmMzhlNGMwNjk3Li5lNjY3MWM1NGU1M2FkYSAxMDA2NDRcXG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfYnBmX2Zhc3RjYWxsLmNcXG4rKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfYnBmX2Zhc3RjYWxsLmNcXG5AQCAtNjYwLDYgKzY2MCw3IEBAIF9fbmFrZWQgdm9pZCBtYXlfZ290b19pbnRlcmFjdGlvbl94ODZfNjQodm9pZClcXG4gXFxuIFNFQyhcXFwicmF3X3RwXFxcIilcXG4gX19hcmNoX2FybTY0XFxuK19fYXJjaF9yaXNjdjY0XFxuIF9fbG9nX2xldmVsKDQpIF9fbXNnKFxcXCJzdGFjayBkZXB0aCAyNFxcXCIpXFxuIC8qIG1heV9nb3RvIGNvdW50ZXIgYXQgLTI0ICovXFxuIF9feGxhdGVkKFxcXCIwOiAqKHU2NCAqKShyMTAgLTI0KSA9XFxcIilcXG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9tYXlfZ290b18xLmNcXG5pbmRleCA0YmRmNDI1NmE0MWU1MS4uZjQ3YjlkNTQwYTE3NTkgMTAwNjQ0XFxuLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuY1xcbisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9tYXlfZ290b18xLmNcXG5AQCAtMTEsNiArMTEsNyBAQCBfX2Rlc2NyaXB0aW9uKFxcXCJtYXlfZ290byAwXFxcIilcXG4gX19hcmNoX3g4Nl82NFxcbiBfX2FyY2hfczM5MHhcXG4gX19hcmNoX2FybTY0XFxuK19fYXJjaF9yaXNjdjY0XFxuIF9feGxhdGVkKFxcXCIwOiByMCA9IDFcXFwiKVxcbiBfX3hsYXRlZChcXFwiMTogZXhpdFxcXCIpXFxuIF9fc3VjY2Vzc1xcbkBAIC0zMSw2ICszMiw3IEBAIF9fZGVzY3JpcHRpb24oXFxcImJhdGNoIDIgb2YgbWF5X2dvdG8gMFxcXCIpXFxuIF9fYXJjaF94ODZfNjRcXG4gX19hcmNoX3MzOTB4XFxuIF9fYXJjaF9hcm02NFxcbitfX2FyY2hfcmlzY3Y2NFxcbiBfX3hsYXRlZChcXFwiMDogcjAgPSAxXFxcIilcXG4gX194bGF0ZWQoXFxcIjE6IGV4aXRcXFwiKVxcbiBfX3N1Y2Nlc3NcXG5AQCAtNTMsNiArNTUsNyBAQCBfX2Rlc2NyaXB0aW9uKFxcXCJtYXlfZ290byBiYXRjaCB3aXRoIG9mZnNldHMgMi8xLzBcXFwiKVxcbiBfX2FyY2hfeDg2XzY0XFxuIF9fYXJjaF9zMzkweFxcbiBfX2FyY2hfYXJtNjRcXG4rX19hcmNoX3Jpc2N2NjRcXG4gX194bGF0ZWQoXFxcIjA6IHIwID0gMVxcXCIpXFxuIF9feGxhdGVkKFxcXCIxOiBleGl0XFxcIilcXG4gX19zdWNjZXNzXFxuQEAgLTc5LDYgKzgyLDcgQEAgX19kZXNjcmlwdGlvbihcXFwibWF5X2dvdG8gYmF0Y2ggd2l0aCBvZmZzZXRzIDIvMFxcXCIpXFxuIF9fYXJjaF94ODZfNjRcXG4gX19hcmNoX3MzOTB4XFxuIF9fYXJjaF9hcm02NFxcbitfX2FyY2hfcmlzY3Y2NFxcbiBfX3hsYXRlZChcXFwiMDogKih1NjQgKikocjEwIC0xNikgPSA2NTUzNVxcXCIpXFxuIF9feGxhdGVkKFxcXCIxOiAqKHU2NCAqKShyMTAgLTgpID0gMFxcXCIpXFxuIF9feGxhdGVkKFxcXCIyOiByMTIgPSAqKHU2NCAqKShyMTAgLTE2KVxcXCIpXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE1VDEzOjMwOjMwLjc1NjM3MjA1NFoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MjQ4MDAwNTQ2NDEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlBGX0pJVFwiLFxuICAgIFwiQlBGX1NZU0NBTExcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJicGZfaml0X2VtaXRfaW5zblwiLFxuICAgIFwiYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290b1wiLFxuICAgIFwiYXJjaF9icGZfdGltZWRfbWF5X2dvdG9cIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIHN1cHBvcnQgZm9yIHRoZSBgYnBmX3RpbWVkX21heV9nb3RvYCBpbnN0cnVjdGlvbiBpbiB0aGUgUklTQy1WIDY0LWJpdCBCUEYgSklUIGNvbXBpbGVyLiBJdCBtb2RpZmllcyB0aGUgSklUIGluc3RydWN0aW9uIGVtaXR0ZXIgYW5kIGFkZHMgYSBuZXcgYXNzZW1ibHkgdHJhbXBvbGluZSwgd2hpY2ggYXJlIGZ1bmN0aW9uYWwgY2hhbmdlcyB0aGF0IGNhbiBiZSByZWFjaGVkIGJ5IGxvYWRpbmcgc3BlY2lmaWMgQlBGIHByb2dyYW1zLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IGE2OWQ0MzM0OTU4YTdhZmU1M2MyMmFhYzBhMjNiOTFiNjRlNmZhN2VcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgV2VkIEp1bCAxNSAxMzozMDoyOCAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvbmV0L01ha2VmaWxlIGIvYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGVcbmluZGV4IDlhMWU1ZjBhOTRlNTU5Li42NDU4ZDRkNTE5OTBhNyAxMDA2NDRcbi0tLSBhL2FyY2gvcmlzY3YvbmV0L01ha2VmaWxlXG4rKysgYi9hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZVxuQEAgLTMsNyArMyw3IEBAXG4gb2JqLSQoQ09ORklHX0JQRl9KSVQpICs9IGJwZl9qaXRfY29yZS5vXG4gXG4gaWZlcSAoJChDT05GSUdfQVJDSF9SVjY0SSkseSlcbi1cdG9iai0kKENPTkZJR19CUEZfSklUKSArPSBicGZfaml0X2NvbXA2NC5vXG4rXHRvYmotJChDT05GSUdfQlBGX0pJVCkgKz0gYnBmX2ppdF9jb21wNjQubyBicGZfdGltZWRfbWF5X2dvdG8ub1xuIGVsc2VcbiBcdG9iai0kKENPTkZJR19CUEZfSklUKSArPSBicGZfaml0X2NvbXAzMi5vXG4gZW5kaWZcbmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jIGIvYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY1xuaW5kZXggYzAzYzFkZTE2Yjc5YWMuLjRmODhhNDQ2Mjc4YWU4IDEwMDY0NFxuLS0tIGEvYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY1xuKysrIGIvYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY1xuQEAgLTE4NDEsNyArMTg0MSwxMyBAQCBpbnQgYnBmX2ppdF9lbWl0X2luc24oY29uc3Qgc3RydWN0IGJwZl9pbnNuICppbnNuLCBzdHJ1Y3QgcnZfaml0X2NvbnRleHQgKmN0eCxcbiBcdFx0aWYgKHJldClcbiBcdFx0XHRyZXR1cm4gcmV0O1xuIFxuLVx0XHRpZiAoaW5zbi1cdTAwM2VzcmNfcmVnICE9IEJQRl9QU0VVRE9fQ0FMTClcbitcdFx0LypcbitcdFx0ICogYXJjaF9icGZfdGltZWRfbWF5X2dvdG8oKSBpcyBlbWl0dGVkIGJ5IHRoZSB2ZXJpZmllciBhbmRcbitcdFx0ICogcmV0dXJucyBpdHMgcmVzdWx0IGluIEJQRl9SRUdfQVggaW5zdGVhZCBvZiBCUEZfUkVHXzAsIHNvXG4rXHRcdCAqIHNraXAgdGhlIG5vcm1hbCBcIm1vdmUgcmV0dXJuIHJlZ2lzdGVyIGludG8gUjBcIi5cbitcdFx0ICovXG4rXHRcdGlmIChpbnNuLVx1MDAzZXNyY19yZWcgIT0gQlBGX1BTRVVET19DQUxMIFx1MDAyNlx1MDAyNlxuK1x0XHQgICAgYWRkciAhPSAodTY0KWFyY2hfYnBmX3RpbWVkX21heV9nb3RvKVxuIFx0XHRcdGVtaXRfbXYoYnBmX3RvX3J2X3JlZyhCUEZfUkVHXzAsIGN0eCksIFJWX1JFR19BMCwgY3R4KTtcbiBcdFx0YnJlYWs7XG4gXHR9XG5AQCAtMjE1NywzICsyMTYzLDggQEAgYm9vbCBicGZfaml0X3N1cHBvcnRzX2ZzZXNzaW9uKHZvaWQpXG4ge1xuIFx0cmV0dXJuIHRydWU7XG4gfVxuK1xuK2Jvb2wgYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290byh2b2lkKVxuK3tcbitcdHJldHVybiB0cnVlO1xuK31cbmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uUyBiL2FyY2gvcmlzY3YvbmV0L2JwZl90aW1lZF9tYXlfZ290by5TXG5uZXcgZmlsZSBtb2RlIDEwMDY0NFxuaW5kZXggMDAwMDAwMDAwMDAwMDAuLmY0YmYyY2QxMDU4NjZiXG4tLS0gL2Rldi9udWxsXG4rKysgYi9hcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uU1xuQEAgLTAsMCArMSw0NyBAQFxuKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wICovXG4rLyogQ29weXJpZ2h0IChjKSAyMDI2IEZlbmcgSmlhbmcgXHUwMDNjamlhbmdmZW5nQGt5bGlub3MuY25cdTAwM2UgKi9cbitcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9saW5rYWdlLmhcdTAwM2VcbisjaW5jbHVkZSBcdTAwM2Nhc20vYXNtLmhcdTAwM2VcbitcbisvKlxuKyAqIFRyYW1wb2xpbmUgZm9yIHRoZSBCUEYgdGltZWQgbWF5X2dvdG8gbG9vcCBib3VuZC4gQ3VzdG9tIGNhbGxpbmcgY29udmVudGlvbjpcbisgKlx0LSBpbnB1dDogIHN0YWNrIG9mZnNldCBpbiBCUEZfUkVHX0FYICh0MClcbisgKlx0LSBvdXRwdXQ6IHVwZGF0ZWQgY291bnQgaW4gQlBGX1JFR19BWCAodDApXG4rICpcbisgKiBDYWxscyBicGZfY2hlY2tfdGltZWRfbWF5X2dvdG8ocHRyKSB3aXRoIHRoZSBzdGFuZGFyZCBSSVNDLVYgQUJJLCB3aGVyZVxuKyAqIHB0ciA9IEJQRl9SRUdfRlAgKHM1KSArIEJQRl9SRUdfQVggKHQwKS4gQlBGIFIwLVI1IChhNSwgYTAtYTQpIGFyZSBzYXZlZFxuKyAqIGFjcm9zcyB0aGUgY2FsbDsgQlBGX1JFR19GUCAoczUpIGlzIGNhbGxlZS1zYXZlZCBhbmQgbmVlZHMgbm8gc2F2aW5nLlxuKyAqL1xuK1xuK1NZTV9GVU5DX1NUQVJUKGFyY2hfYnBmX3RpbWVkX21heV9nb3RvKVxuK1x0YWRkaVx0c3AsIHNwLCAtNjRcbitcdHNkXHRyYSwgNTYoc3ApXG4rXHRzZFx0czAsIDQ4KHNwKVxuK1x0YWRkaVx0czAsIHNwLCA2NFxuK1xuK1x0LyogU2F2ZSBCUEYgcmVnaXN0ZXJzIFIwLVI1IChhNSwgYTAtYTQpICovXG4rXHRzZFx0YTUsIDQwKHNwKVxuK1x0c2RcdGEwLCAzMihzcClcbitcdHNkXHRhMSwgMjQoc3ApXG4rXHRzZFx0YTIsIDE2KHNwKVxuK1x0c2RcdGEzLCA4KHNwKVxuK1x0c2RcdGE0LCAwKHNwKVxuK1xuK1x0YWRkXHRhMCwgdDAsIHM1XG4rXHRjYWxsXHRicGZfY2hlY2tfdGltZWRfbWF5X2dvdG9cbitcdG12XHR0MCwgYTBcbitcbitcdC8qIFJlc3RvcmUgQlBGIHJlZ2lzdGVycyBSMC1SNSAqL1xuK1x0bGRcdGE0LCAwKHNwKVxuK1x0bGRcdGEzLCA4KHNwKVxuK1x0bGRcdGEyLCAxNihzcClcbitcdGxkXHRhMSwgMjQoc3ApXG4rXHRsZFx0YTAsIDMyKHNwKVxuK1x0bGRcdGE1LCA0MChzcClcbitcbitcdGxkXHRzMCwgNDgoc3ApXG4rXHRsZFx0cmEsIDU2KHNwKVxuK1x0YWRkaVx0c3AsIHNwLCA2NFxuK1x0cmV0XG4rU1lNX0ZVTkNfRU5EKGFyY2hfYnBmX3RpbWVkX21heV9nb3RvKVxuZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy9zdHJlYW0uYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy9zdHJlYW0uY1xuaW5kZXggOTJiYTFkNzJlMGVjZTQuLjhkOGU1M2QzNzI2NmNkIDEwMDY0NFxuLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3N0cmVhbS5jXG4rKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3Mvc3RyZWFtLmNcbkBAIC02NCw2ICs2NCw3IEBAIFNFQyhcInN5c2NhbGxcIilcbiBfX2FyY2hfeDg2XzY0XG4gX19hcmNoX2FybTY0XG4gX19hcmNoX3MzOTB4XG4rX19hcmNoX3Jpc2N2NjRcbiBfX3N1Y2Nlc3MgX19yZXR2YWwoMClcbiBfX3N0ZGVycihcIkVSUk9SOiBUaW1lb3V0IGRldGVjdGVkIGZvciBtYXlfZ290byBpbnN0cnVjdGlvblwiKVxuIF9fc3RkZXJyKFwiQ1BVOiB7e1swLTldK319IFVJRDogMCBQSUQ6IHt7WzAtOV0rfX0gQ29tbToge3suKn19XCIpXG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX2JwZl9mYXN0Y2FsbC5jIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX2JwZl9mYXN0Y2FsbC5jXG5pbmRleCA4ZDdmZjM4ZTRjMDY5Ny4uZTY2NzFjNTRlNTNhZGEgMTAwNjQ0XG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfYnBmX2Zhc3RjYWxsLmNcbisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy92ZXJpZmllcl9icGZfZmFzdGNhbGwuY1xuQEAgLTY2MCw2ICs2NjAsNyBAQCBfX25ha2VkIHZvaWQgbWF5X2dvdG9faW50ZXJhY3Rpb25feDg2XzY0KHZvaWQpXG4gXG4gU0VDKFwicmF3X3RwXCIpXG4gX19hcmNoX2FybTY0XG4rX19hcmNoX3Jpc2N2NjRcbiBfX2xvZ19sZXZlbCg0KSBfX21zZyhcInN0YWNrIGRlcHRoIDI0XCIpXG4gLyogbWF5X2dvdG8gY291bnRlciBhdCAtMjQgKi9cbiBfX3hsYXRlZChcIjA6ICoodTY0ICopKHIxMCAtMjQpID1cIilcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdmVyaWZpZXJfbWF5X2dvdG9fMS5jIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuY1xuaW5kZXggNGJkZjQyNTZhNDFlNTEuLmY0N2I5ZDU0MGExNzU5IDEwMDY0NFxuLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuY1xuKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3ZlcmlmaWVyX21heV9nb3RvXzEuY1xuQEAgLTExLDYgKzExLDcgQEAgX19kZXNjcmlwdGlvbihcIm1heV9nb3RvIDBcIilcbiBfX2FyY2hfeDg2XzY0XG4gX19hcmNoX3MzOTB4XG4gX19hcmNoX2FybTY0XG4rX19hcmNoX3Jpc2N2NjRcbiBfX3hsYXRlZChcIjA6IHIwID0gMVwiKVxuIF9feGxhdGVkKFwiMTogZXhpdFwiKVxuIF9fc3VjY2Vzc1xuQEAgLTMxLDYgKzMyLDcgQEAgX19kZXNjcmlwdGlvbihcImJhdGNoIDIgb2YgbWF5X2dvdG8gMFwiKVxuIF9fYXJjaF94ODZfNjRcbiBfX2FyY2hfczM5MHhcbiBfX2FyY2hfYXJtNjRcbitfX2FyY2hfcmlzY3Y2NFxuIF9feGxhdGVkKFwiMDogcjAgPSAxXCIpXG4gX194bGF0ZWQoXCIxOiBleGl0XCIpXG4gX19zdWNjZXNzXG5AQCAtNTMsNiArNTUsNyBAQCBfX2Rlc2NyaXB0aW9uKFwibWF5X2dvdG8gYmF0Y2ggd2l0aCBvZmZzZXRzIDIvMS8wXCIpXG4gX19hcmNoX3g4Nl82NFxuIF9fYXJjaF9zMzkweFxuIF9fYXJjaF9hcm02NFxuK19fYXJjaF9yaXNjdjY0XG4gX194bGF0ZWQoXCIwOiByMCA9IDFcIilcbiBfX3hsYXRlZChcIjE6IGV4aXRcIilcbiBfX3N1Y2Nlc3NcbkBAIC03OSw2ICs4Miw3IEBAIF9fZGVzY3JpcHRpb24oXCJtYXlfZ290byBiYXRjaCB3aXRoIG9mZnNldHMgMi8wXCIpXG4gX19hcmNoX3g4Nl82NFxuIF9fYXJjaF9zMzkweFxuIF9fYXJjaF9hcm02NFxuK19fYXJjaF9yaXNjdjY0XG4gX194bGF0ZWQoXCIwOiAqKHU2NCAqKShyMTAgLTE2KSA9IDY1NTM1XCIpXG4gX194bGF0ZWQoXCIxOiAqKHU2NCAqKShyMTAgLTgpID0gMFwiKVxuIF9feGxhdGVkKFwiMjogcjEyID0gKih1NjQgKikocjEwIC0xNilcIilcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE1VDEzOjMwOjMwLjc1NjM3Mzk0NFoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjkwMDUyMTE2MzgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqRnV6emluZyBGZWFzaWJpbGl0eTogUklTQy1WIDY0LWJpdCBCUEYgSklUIGBicGZfdGltZWRfbWF5X2dvdG9gIFBhdGNoKipcblxuT2theSwgc28gSSBoYXZlIGEgcGF0Y2ggaGVyZSB0aGF0IGFkZHMgc3VwcG9ydCBmb3IgYGJwZl90aW1lZF9tYXlfZ290b2AgdG8gdGhlIFJJU0MtViA2NC1iaXQgQlBGIEpJVCBjb21waWxlci4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCBcIklzIHRoaXMgd29ydGggZnV6emluZz9cIiBMZXQncyBicmVhayBpdCBkb3duLiBJdCBkZWZpbml0ZWx5IGFkZHMgbmV3IGZ1bmN0aW9uYWxpdHksIHdoaWNoIGlzIHRoZSBwcmltZSB0YXJnZXQuIFJJU0MtViA2NC1iaXQgaXMgc3VwcG9ydGVkIGJ5IHN5emthbGxlciwgd2hpY2ggaXMgZ3JlYXQg4oCTIHRoYXQncyBhIGNoZWNrLiBGdW5jdGlvbmFsbHksIHllcywgdGhlIHBhdGNoIHByb3ZpZGVzIHRoZSBuZWNlc3NhcnkgdHJhbXBvbGluZSBhbmQgSklUIGNvbXBpbGVyIG1vZGlmaWNhdGlvbi5cblxuTm93LCBjb25maWcgb3B0aW9ucy4uLiBJIG5lZWQgdG8gZmlndXJlIG91dCB0aGUgcmVsZXZhbnQgb25lcyB0byBlbnN1cmUgc3l6a2FsbGVyIGNhbiBidWlsZCB3aXRoIHRoaXMgZW5hYmxlZC4gTG9va2luZyBhdCB0aGUgY2hhbmdlcywgaXQgc2VlbXMgdG8gcmVzaWRlIGluIGBhcmNoL3Jpc2N2L25ldC9gLiBTbywgYENPTkZJR19CUEZfSklUYCBpcyBnb2luZyB0byBiZSBlc3NlbnRpYWwsIGFuZCBiZWNhdXNlIGl0J3MgYSA2NC1iaXQgYWRkaXRpb24sIGBDT05GSUdfQVJDSF9SVjY0SWAgb3IgaXRzIGltcGxpY2l0IGVxdWl2YWxlbnQsIHNob3VsZCBhbHNvIGJlIGltcG9ydGFudC4gT2theSwgY2hlY2tpbmcgdGhlIE1ha2VmaWxlIGNvbmZpcm1zIHRoaXM6XG5gYGBtYWtlZmlsZVxuaWZlcSAoJChDT05GSUdfQVJDSF9SVjY0SSkseSlcblx0b2JqLSQoQ09ORklHX0JQRl9KSVQpICs9IGJwZl9qaXRfY29tcDY0Lm8gYnBmX3RpbWVkX21heV9nb3RvLm9cbmVsc2Vcblx0b2JqLSQoQ09ORklHX0JQRl9KSVQpICs9IGJwZl9qaXRfY29tcDMyLm9cbmVuZGlmXG5gYGBcbmBDT05GSUdfQlBGX0pJVGAgYW5kIHRoZSA2NC1iaXQgYXJjaGl0ZWN0dXJlIGlzIHRoZSBrZXk7IGBDT05GSUdfQVJDSF9SVjY0SWAgaXMgYSBnaXZlbiBmb3IgNjQtYml0IFJJU0MtViBzeXN0ZW1zLiBUaGlzIGlzIGFuIGltcG9ydGFudCBwaWVjZSBvZiBpbmZvcm1hdGlvbiB0byBlbnN1cmUgdGhhdCBmdXp6aW5nIGNvbmZpZ3VyYXRpb25zIGFyZSBjb3JyZWN0LlxuXG5Ob3csIHdoaWNoIGZ1bmN0aW9ucyBhcmUgdGhlIGZvY2FsIHBvaW50IGZvciBwb3RlbnRpYWwgZnV6emluZz9cbiogICBgYnBmX2ppdF9lbWl0X2luc25gIGluIGBhcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jYFxuKiAgIGBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvYCBpbiBgYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY2BcbiogICBgYXJjaF9icGZfdGltZWRfbWF5X2dvdG9gIGluIGBhcmNoL3Jpc2N2L25ldC9icGZfdGltZWRfbWF5X2dvdG8uU2BcblxuVGhlIGBicGZfaml0X2VtaXRfaW5zbmAgZnVuY3Rpb24gaXMgcGFydGljdWxhcmx5IGludGVyZXN0aW5nLiBJdCdzIHVzZWQgd2l0aGluIHRoZSBCUEYgSklUIGNvbXBpbGF0aW9uIHByb2Nlc3MsIHNvIGl0IHdpbGwgYmUgY2FsbGVkIGEgbG90IGR1cmluZyB0aGUgSklUIHByb2Nlc3MuIEl0J3Mgbm90IGEgZGF0YSBwYXRoIGZ1bmN0aW9uIHBlciBzZSwgYnV0IGJlY2F1c2Ugb2YgaXRzIGNvbXBsZXhpdHksIGl0J3MgYSBnb29kIHBsYWNlIHRvIHN0YXJ0IHRoZSBhbmFseXNpcy4gSXQgaXMgbGlrZWx5IGEgaG90IHBhdGgsIHRob3VnaCBwcm9iYWJseSBub3QgaW4gdGhlIFwibm9ybWFsXCIgZGF0YSBwYXRoIHNlbnNlOyBpdCBpcyBhIGhvdCAqY29udHJvbCogcGF0aC4gSSB3aWxsIGNoZWNrIHRoZSBjb250ZXh0IG9mIGBicGZfaml0X2VtaXRfaW5zbmAgdG8gZ2FpbiBhIGJldHRlciB1bmRlcnN0YW5kaW5nLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0MDI3LCJPdXRwdXRUb2tlbnMiOjQ2LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6Njk3LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTVUMTM6MzA6MzkuNzYxNTg3NzkyWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE2NzQ5MzczMywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJicGZfaml0X2VtaXRfaW5zblwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJhcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmM9MTMzMj1pbnQgYXJjaF9wcmVwYXJlX2JwZl90cmFtcG9saW5lKHN0cnVjdCBicGZfdHJhbXBfaW1hZ2UgKmltLCB2b2lkICpyb19pbWFnZSxcXG4tLVxcbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMtMTM2OC1cXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jOjEzNjk6aW50IGJwZl9qaXRfZW1pdF9pbnNuKGNvbnN0IHN0cnVjdCBicGZfaW5zbiAqaW5zbiwgc3RydWN0IHJ2X2ppdF9jb250ZXh0ICpjdHgsXFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0xMzcwLVxcdFxcdCAgICAgIGJvb2wgZXh0cmFfcGFzcylcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTVUMTM6MzA6MzkuOTI5MDk4MjM1WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTI2Nzc0OTcwMSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBBc3Nlc3NtZW50IG9mIEJQRiBKSVQgU3VwcG9ydCoqXG5cbk9rYXksIHNvIEknbSBmb2N1c2luZyBvbiB0aGUgaW5zdHJ1Y3Rpb24gZW1pc3Npb24gcHJvY2VzcyB3aXRoaW4gdGhlIEJQRiBKSVQsIGFuZCBpdCBsb29rcyBsaWtlIGBicGZfaml0X2VtaXRfaW5zbmAgaXMgdGhlIGNvcmUgZnVuY3Rpb24uIEknbGwgZGVmaW5pdGVseSB3YW50IHRvIGluY2x1ZGUgdGhhdC5cblxuTm93LCBsZXQncyBhbHNvIGJyaW5nIGluIGBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvYCBhbmQgYGFyY2hfYnBmX3RpbWVkX21heV9nb3RvYC4gSG1tLCBob2xkIG9uLi4uIGBhcmNoX2JwZl90aW1lZF9tYXlfZ290b2AgaXMgYXNzZW1ibHkgY29kZSwgaXNuJ3QgaXQ/IFRoYXQgY291bGQgYmUgYSBwcm9ibGVtIGZvciBmdXp6ZXJzIGxpa2Ugc3l6a2FsbGVyLCBlc3BlY2lhbGx5IHdoZW4gY29tYmluZWQgd2l0aCBLQ09WLCBhcyB0aGV5IGdlbmVyYWxseSBoYXZlIGEgaGFyZCB0aW1lIGluc3RydW1lbnRpbmcgYXNzZW1ibHkgZGlyZWN0bHkgdW5sZXNzIGl0J3Mgc3BlY2lhbGx5IGFubm90YXRlZCBvciBpbnZva2VkIGZyb20gaW5zdHJ1bWVudGVkIEMgY29kZS5cblxuSSBjYW4gc3RpbGwgbGlzdCBpdCwgb3IgbWF5YmUgSSBzaG91bGQganVzdCBzdGljayB0byB0aGUgQyBmdW5jdGlvbnMgaW4gdGhpcyBwYXJ0aWN1bGFyIHNjZW5hcmlvLiBUbyBiZSBzdXJlLCBJIHNob3VsZCBwcm9iYWJseSBjaGVjayBgYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuY2AganVzdCB0byBiZSBjZXJ0YWluIGFib3V0IHRoZSBpbXBsZW1lbnRhdGlvbiBhbmQgdXNhZ2Ugb2YgYGJwZl9qaXRfc3VwcG9ydHNfdGltZWRfbWF5X2dvdG9gIG9uIHRoYXQgYXJjaGl0ZWN0dXJlLlxuXG5cbiIsIklucHV0VG9rZW5zIjo1NTgzLCJPdXRwdXRUb2tlbnMiOjQ5LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTU4LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE1VDEzOjMwOjQ1LjE5Njg1MDQwNloiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo4ODE4NDIwMSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYz0yMTYyPWJvb2wgYnBmX2ppdF9zdXBwb3J0c19mc2Vzc2lvbih2b2lkKVxcbi0tXFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0yMTY2LVxcbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmM6MjE2Nzpib29sIGJwZl9qaXRfc3VwcG9ydHNfdGltZWRfbWF5X2dvdG8odm9pZClcXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jLTIxNjgte1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNVQxMzozMDo0NS4yODUwNDc2MzdaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0NTgwNjczMTkxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFuYWx5c2lzIG9mIFJlY2VudCBDb2RlIENoYW5nZXMqKlxuXG5Pa2F5LCBsZXQncyB0YWtlIGEgbG9vayBhdCB0aGVzZSBtb2RpZmljYXRpb25zLiBGaXJzdCwgSSBuZWVkIHRvIG1ha2Ugc3VyZSBJIGhhdmVuJ3QgbWlzc2VkIGFueSBvdGhlciBpbXBhY3RlZCBmdW5jdGlvbnMuIEEgcXVpY2sgc2Nhbi4uLiBubywgaXQgbG9va3MgbGlrZSBvbmx5IGBicGZfaml0X2VtaXRfaW5zbmAsIGBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvYCwgYW5kIGBhcmNoX2JwZl90aW1lZF9tYXlfZ290b2AgYXJlIHRvdWNoZWQuIFRoYXQncyBhIHJlYXNvbmFibGUgc2NvcGUuXG5cbk5vdywgbGV0J3MgbmFpbCBkb3duIHRoZSBkZXBlbmRlbmNpZXMuIFRoZSBjaGFuZ2UgKm9idmlvdXNseSogcmVxdWlyZXMgYEJQRl9KSVRgLiBUaGF0J3MgYSBnaXZlbi4gQnV0IHRvIGVuc3VyZSB0aGluZ3MgZnVuY3Rpb24gYXMgZXhwZWN0ZWQsIHRoZSBhYmlsaXR5IHRvIGxvYWQgdGhlc2UgQlBGIHByb2dyYW1zIGlzIGVzc2VudGlhbDsgdGhlcmVmb3JlLCBJ4oCZbGwgbmVlZCB0byBtYWtlIGNlcnRhaW4gYEJQRl9TWVNDQUxMYCBpcyBlbmFibGVkLCB0b28uXG5cblRvIGRvdWJsZS1jaGVjayBldmVyeXRoaW5nLCBJJ2xsIG5lZWQgdG8gZ28gb3ZlciB0aGUgYGFyY2gvcmlzY3YvbmV0L01ha2VmaWxlYCB0byBjb25maXJtIHRoZXJlIGlzbid0IGFueXRoaW5nIEkndmUgb3Zlcmxvb2tlZC4gSSBuZWVkIHRvIG1ha2UgY2VydGFpbiB0aGF0IHRoZSBtb2R1bGUgaXMgYmVpbmcgYnVpbHQgYXBwcm9wcmlhdGVseS5cblxuXG4iLCJJbnB1dFRva2VucyI6NjE3NCwiT3V0cHV0VG9rZW5zIjozMywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjExMCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xNVQxMzozMDo0OS44NjU3MjI3ODhaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTAxMTU4Nzg5LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIkJQRl9KSVRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGVcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGUtMi1cXG5hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZTozOm9iai0kKENPTkZJR19CUEZfSklUKSArPSBicGZfaml0X2NvcmUub1xcbmFyY2gvcmlzY3YvbmV0L01ha2VmaWxlLTQtXFxuYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGU9NT1pZmVxICgkKENPTkZJR19BUkNIX1JWNjRJKSx5KVxcbmFyY2gvcmlzY3YvbmV0L01ha2VmaWxlOjY6XFx0b2JqLSQoQ09ORklHX0JQRl9KSVQpICs9IGJwZl9qaXRfY29tcDY0Lm8gYnBmX3RpbWVkX21heV9nb3RvLm9cXG5hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZS03LWVsc2VcXG5hcmNoL3Jpc2N2L25ldC9NYWtlZmlsZTo4OlxcdG9iai0kKENPTkZJR19CUEZfSklUKSArPSBicGZfaml0X2NvbXAzMi5vXFxuYXJjaC9yaXNjdi9uZXQvTWFrZWZpbGUtOS1lbmRpZlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNVQxMzozMDo0OS45NjY5MDU4MjdaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1NDIwNzU2MTA1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgYXNzZXNzbWVudCBvZiB0aGlzIHBhdGNoLCBmb3JtYXR0ZWQgYXMgcmVxdWVzdGVkOlxuXG4qKlJJU0MtViBCUEYgSklUIEZlYXR1cmUgYW5kIEZ1enppbmcgQ29uc2lkZXJhdGlvbnMqKlxuXG5BbHJpZ2h0LCBzbyB0aGUgY29yZSBvZiB0aGlzIHBhdGNoIHNlZW1zIHRvIGhpbmdlIG9uIGBCUEZfSklUYCBhcyB0aGUgY29udHJvbGxpbmcgY29uZmlndXJhdGlvbiBvcHRpb24uIFRoYXQncyB0aGUga2V5IHRvIGVuYWJsaW5nIHRoZSBSSVNDLVYgQlBGIEpJVCBjb21waWxlcidzIG5ldyBmdW5jdGlvbmFsaXR5LiBUaGUgcGF0Y2ggaXRzZWxmIGlzIGZ1bmN0aW9uYWwsIHdoaWNoIGlzIGdvb2QsIGJ1dCBub3cgdGhhdCB3ZSdyZSBhZGRpbmcgbmV3IGNvZGUsIGl0J3MgaW1tZWRpYXRlbHkgYXBwYXJlbnQgdGhpcyBuZWVkcyBzZXJpb3VzIGZ1enppbmcgYXR0ZW50aW9uLlxuXG5TcGVjaWZpY2FsbHksIEkgbmVlZCB0byBmb2N1cyBvbiBhIGZldyBrZXkgc3ltYm9scyB0byBnZXQgc3RhcnRlZC4gVGhlIGBicGZfaml0X2VtaXRfaW5zbmAgZnVuY3Rpb24gaXMgY3JpdGljYWwsIG9idmlvdXNseSwgYXMgaXQncyB0aGUgaW5zdHJ1Y3Rpb24gZW1pdHRlciBmb3IgdGhlIEpJVC4gV2UnbGwgYWxzbyBuZWVkIHRvIGNhcmVmdWxseSBleGFtaW5lIGBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvYCwgYW5kIGBhcmNoX2JwZl90aW1lZF9tYXlfZ290b2AgYW5kIHVuZGVyc3RhbmQgaG93IHRoZXNlIGFyZSBpbnRlcmFjdGluZyB3aXRoaW4gdGhlIG5ldyBKSVQgY29udGV4dC4gVGhlc2UgdGltZWQgZ290b3Mgb2Z0ZW4gaW50cm9kdWNlIG1vcmUgY29tcGxleCBjb250cm9sIGZsb3dzIHNvIG11c3QgYmUgdGVzdGVkIHRob3JvdWdobHkuXG5cbkxldCdzIHNldCB1cCB0aGUgZnV6emluZyBlbnZpcm9ubWVudCB3aXRoIHRob3NlIGluIG1pbmQsIGFuZCBnZXQgdGhlIHJlc3VsdHMgaW4gcGxhY2UuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjY3MzUsIk91dHB1dFRva2VucyI6MTQ5LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6OTQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTVUMTM6MzA6NTUuMzg3NjY1MDEyWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTY4NzU1NjMzLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJCUEZfSklUXCIsXG4gICAgXCJCUEZfU1lTQ0FMTFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImJwZl9qaXRfZW1pdF9pbnNuXCIsXG4gICAgXCJicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvXCIsXG4gICAgXCJhcmNoX2JwZl90aW1lZF9tYXlfZ290b1wiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgdGhlIGBicGZfdGltZWRfbWF5X2dvdG9gIGluc3RydWN0aW9uIGluIHRoZSBSSVNDLVYgNjQtYml0IEJQRiBKSVQgY29tcGlsZXIuIEl0IG1vZGlmaWVzIHRoZSBKSVQgaW5zdHJ1Y3Rpb24gZW1pdHRlciBhbmQgYWRkcyBhIG5ldyBhc3NlbWJseSB0cmFtcG9saW5lLCB3aGljaCBhcmUgZnVuY3Rpb25hbCBjaGFuZ2VzIHRoYXQgY2FuIGJlIHJlYWNoZWQgYnkgbG9hZGluZyBzcGVjaWZpYyBCUEYgcHJvZ3JhbXMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlBGX0pJVFwiLFxuICAgIFwiQlBGX1NZU0NBTExcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJicGZfaml0X2VtaXRfaW5zblwiLFxuICAgIFwiYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290b1wiLFxuICAgIFwiYXJjaF9icGZfdGltZWRfbWF5X2dvdG9cIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIHN1cHBvcnQgZm9yIHRoZSBgYnBmX3RpbWVkX21heV9nb3RvYCBpbnN0cnVjdGlvbiBpbiB0aGUgUklTQy1WIDY0LWJpdCBCUEYgSklUIGNvbXBpbGVyLiBJdCBtb2RpZmllcyB0aGUgSklUIGluc3RydWN0aW9uIGVtaXR0ZXIgYW5kIGFkZHMgYSBuZXcgYXNzZW1ibHkgdHJhbXBvbGluZSwgd2hpY2ggYXJlIGZ1bmN0aW9uYWwgY2hhbmdlcyB0aGF0IGNhbiBiZSByZWFjaGVkIGJ5IGxvYWRpbmcgc3BlY2lmaWMgQlBGIHByb2dyYW1zLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+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-workflowv7g5c[1] Phase: Succeeded StartedAt: 2026-07-15 13:32:12 +0000 UTC FinishedAt: 2026-07-15 13:32:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv7g5c[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-15 13:32:12 +0000 UTC FinishedAt: 2026-07-15 13:32:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv7g5c[2] Phase: Succeeded StartedAt: 2026-07-15 13:32:12 +0000 UTC FinishedAt: 2026-07-15 15:36:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-15 13:32:12 +0000 UTC FinishedAt: 2026-07-15 15:36:18 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-15 13:32:12 +0000 UTC FinishedAt: 2026-07-15 13:32:23 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-15 13:32:12 +0000 UTC FinishedAt: 2026-07-15 13:32:20 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowv7g5c/series-workflowv7g5c-convert-artifact-2573230725/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-15 13:32:23 +0000 UTC FinishedAt: 2026-07-15 14:16:15 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-15 13:32:23 +0000 UTC FinishedAt: 2026-07-15 14:16:15 +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:*b92cd4e7-417e-4281-b709-fdc8490bd838,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-workflowv7g5c/series-workflowv7g5c-convert-artifact-2573230725/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": "06f0d76e-d3b9-4409-a9c6-84b2d66100dc", "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-workflowv7g5c/series-workflowv7g5c-build-action-2317295147/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-07-15 13:32:23 +0000 UTC FinishedAt: 2026-07-15 14:16:05 +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:*b92cd4e7-417e-4281-b709-fdc8490bd838,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-workflowv7g5c/series-workflowv7g5c-convert-artifact-2573230725/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": "06f0d76e-d3b9-4409-a9c6-84b2d66100dc", "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-workflowv7g5c/series-workflowv7g5c-build-action-2317295147/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-15 14:16:15 +0000 UTC FinishedAt: 2026-07-15 14:16:15 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-15 14:16:15 +0000 UTC FinishedAt: 2026-07-15 14:16:15 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-15 14:16:15 +0000 UTC FinishedAt: 2026-07-15 14:16:25 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-15 14:16:15 +0000 UTC FinishedAt: 2026-07-15 14:16:21 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowv7g5c/series-workflowv7g5c-convert-artifact-3922357600/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-15 14:16:25 +0000 UTC FinishedAt: 2026-07-15 14:18:22 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-15 14:16:25 +0000 UTC FinishedAt: 2026-07-15 14:18:12 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*06f0d76e-d3b9-4409-a9c6-84b2d66100dc,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-workflowv7g5c/series-workflowv7g5c-build-action-2317295147/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-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-15 14:18:22 +0000 UTC FinishedAt: 2026-07-15 14:18:22 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-15 14:18:22 +0000 UTC FinishedAt: 2026-07-15 14:18:22 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-15 14:18:22 +0000 UTC FinishedAt: 2026-07-15 15:29:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-15 14:18:22 +0000 UTC FinishedAt: 2026-07-15 15:29:38 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*b92cd4e7-417e-4281-b709-fdc8490bd838,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-workflowv7g5c/series-workflowv7g5c-convert-artifact-3922357600/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": "35d79b77-3c5e-421c-b204-9bed756caf0c", "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-workflowv7g5c/series-workflowv7g5c-build-action-1144838684/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-15 14:18:22 +0000 UTC FinishedAt: 2026-07-15 15:28:43 +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:*b92cd4e7-417e-4281-b709-fdc8490bd838,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-workflowv7g5c/series-workflowv7g5c-convert-artifact-3922357600/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": "35d79b77-3c5e-421c-b204-9bed756caf0c", "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-workflowv7g5c/series-workflowv7g5c-build-action-1144838684/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-15 15:29:38 +0000 UTC FinishedAt: 2026-07-15 15:29:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-15 15:29:38 +0000 UTC FinishedAt: 2026-07-15 15:29:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-15 15:29:38 +0000 UTC FinishedAt: 2026-07-15 15:32:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-15 15:29:38 +0000 UTC FinishedAt: 2026-07-15 15:32:48 +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:*35d79b77-3c5e-421c-b204-9bed756caf0c,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-workflowv7g5c/series-workflowv7g5c-build-action-1144838684/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-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-15 15:32:58 +0000 UTC FinishedAt: 2026-07-15 15:36:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-15 15:32:58 +0000 UTC FinishedAt: 2026-07-15 15:36:18 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:config,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"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:*06f0d76e-d3b9-4409-a9c6-84b2d66100dc,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*35d79b77-3c5e-421c-b204-9bed756caf0c,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-workflowv7g5c/series-workflowv7g5c-build-action-2317295147/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-workflowv7g5c/series-workflowv7g5c-build-action-1144838684/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-15 15:32:58 +0000 UTC FinishedAt: 2026-07-15 15:33:35 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-15 15:32:58 +0000 UTC FinishedAt: 2026-07-15 15:33:28 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"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-workflowv7g5c/series-workflowv7g5c-convert-artifact-3883363769/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-15 15:32:58 +0000 UTC FinishedAt: 2026-07-15 15:32:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-15 15:32:58 +0000 UTC FinishedAt: 2026-07-15 15:32:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-15 15:32:58 +0000 UTC FinishedAt: 2026-07-15 15:32:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-15 15:33:35 +0000 UTC FinishedAt: 2026-07-15 15:36:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv7g5c[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_jit_emit_insn","bpf_jit_supports_timed_may_goto","arch_bpf_timed_may_goto"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_JIT","BPF_SYSCALL"],"series_id":"d34d08ad-23c4-43c8-aaf3-1b476247a336","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-15 15:33:35 +0000 UTC FinishedAt: 2026-07-15 15:35:58 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*06f0d76e-d3b9-4409-a9c6-84b2d66100dc,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*35d79b77-3c5e-421c-b204-9bed756caf0c,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-workflowv7g5c/series-workflowv7g5c-build-action-2317295147/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-workflowv7g5c/series-workflowv7g5c-build-action-1144838684/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-workflowv7g5c/series-workflowv7g5c-convert-artifact-3883363769/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,}