Name: series-workflowv2qjx Phase: Succeeded StartedAt: 2026-07-06 20:27:45 +0000 UTC FinishedAt: 2026-07-07 01:11:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv2qjx[0] Phase: Succeeded StartedAt: 2026-07-06 20:27:45 +0000 UTC FinishedAt: 2026-07-06 20:46:14 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv2qjx[0].run-triage Phase: Succeeded StartedAt: 2026-07-06 20:27:45 +0000 UTC FinishedAt: 2026-07-06 20:46:14 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "net", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git", "commit_hash": "9e05e91a9a847ed57926414bd7c2c5e54d6c56c6", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "TIPC", "TIPC_MEDIA_UDP" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "net", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git", "commit_hash": "9e05e91a9a847ed57926414bd7c2c5e54d6c56c6", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "TIPC", "TIPC_MEDIA_UDP" ], "series_id": "355ebc28-e2df-40ec-9175-986f11bb8abd" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "tipc_udp_rcast_add", "tipc_udp_enable", "cleanup_bearer" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-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+CgkJCTx0ZD4yMDI2LzA3LzA2IDIwOjQ0PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1RJUEMmIzM0OywKICAgICYjMzQ7VElQQ19NRURJQV9VRFAmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDt0aXBjX3VkcF9yY2FzdF9hZGQmIzM0OywKICAgICYjMzQ7dGlwY191ZHBfZW5hYmxlJiMzNDssCiAgICAmIzM0O2NsZWFudXBfYmVhcmVyJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIGEgY29uY3VycmVuY3kgaXNzdWUgaW4gVElQQyBVRFAgYmVhcmVyIGxvZ2ljIGJ5IGFkZGluZyBhIHNwaW5sb2NrIHRvIHByb3RlY3QgdGhlIHJlcGxpY2FzdCBsaXN0LiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvbnRyb2wgcGF0aCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDYgMjA6NDQ8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCA4ZWRkNTQzYTBmZTI3ZTgxMzJlMzg2ZGRjMWU0MTRkODkzNTNlMjk4XG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIE1vbiBKdWwgNiAyMDo0NDo1MSAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9uZXQvdGlwYy91ZHBfbWVkaWEuYyBiL25ldC90aXBjL3VkcF9tZWRpYS5jXG5pbmRleCA2MmFlN2Y1YjU4NDA5Yy4uNjAxMTc0Mjk3YTE2Y2QgMTAwNjQ0XG4tLS0gYS9uZXQvdGlwYy91ZHBfbWVkaWEuY1xuJiM0MzsmIzQzOyYjNDM7IGIvbmV0L3RpcGMvdWRwX21lZGlhLmNcbkBAIC05NCw2ICYjNDM7OTQsNyBAQCBzdHJ1Y3QgdWRwX3JlcGxpY2FzdCB7XG4gICogQGlmaW5kZXg6XHRsb2NhbCBhZGRyZXNzIHNjb3BlXG4gICogQHdvcms6XHR1c2VkIHRvIHNjaGVkdWxlIGRlZmVycmVkIHdvcmsgb24gYSBiZWFyZXJcbiAgKiBAcmNhc3Q6XHRhc3NvY2lhdGVkIHVkcF9yZXBsaWNhc3QgY29udGFpbmVyXG4mIzQzOyAqIEByY2FzdF9sb2NrOlx0c2VyaWFsaXplcyB1cGRhdGVzIHRvIEByY2FzdC5saXN0XG4gICovXG4gc3RydWN0IHVkcF9iZWFyZXIge1xuIFx0c3RydWN0IHRpcGNfYmVhcmVyIF9fcmN1ICpiZWFyZXI7XG5AQCAtMTAxLDYgJiM0MzsxMDIsNyBAQCBzdHJ1Y3QgdWRwX2JlYXJlciB7XG4gXHR1MzIgaWZpbmRleDtcbiBcdHN0cnVjdCB3b3JrX3N0cnVjdCB3b3JrO1xuIFx0c3RydWN0IHVkcF9yZXBsaWNhc3QgcmNhc3Q7XG4mIzQzO1x0c3BpbmxvY2tfdCByY2FzdF9sb2NrOyAvKiBwcm90ZWN0cyByY2FzdC5saXN0ICovXG4gfTtcbiBcbiBzdGF0aWMgaW50IHRpcGNfdWRwX2lzX21jYXN0X2FkZHIoc3RydWN0IHVkcF9tZWRpYV9hZGRyICphZGRyKVxuQEAgLTMwMSw3ICYjNDM7MzAzLDcgQEAgc3RhdGljIGJvb2wgdGlwY191ZHBfaXNfa25vd25fcGVlcihzdHJ1Y3QgdGlwY19iZWFyZXIgKmIsXG4gc3RhdGljIGludCB0aXBjX3VkcF9yY2FzdF9hZGQoc3RydWN0IHRpcGNfYmVhcmVyICpiLFxuIFx0XHRcdCAgICAgIHN0cnVjdCB1ZHBfbWVkaWFfYWRkciAqYWRkcilcbiB7XG4tXHRzdHJ1Y3QgdWRwX3JlcGxpY2FzdCAqcmNhc3Q7XG4mIzQzO1x0c3RydWN0IHVkcF9yZXBsaWNhc3QgKnJjYXN0LCAqdG1wO1xuIFx0c3RydWN0IHVkcF9iZWFyZXIgKnViO1xuIFxuIFx0dWIgPSByY3VfZGVyZWZlcmVuY2VfcnRubChiLVx1MDAzZW1lZGlhX3B0cik7XG5AQCAtMzE5LDYgJiM0MzszMjEsMTcgQEAgc3RhdGljIGludCB0aXBjX3VkcF9yY2FzdF9hZGQoc3RydWN0IHRpcGNfYmVhcmVyICpiLFxuIFxuIFx0bWVtY3B5KFx1MDAyNnJjYXN0LVx1MDAzZWFkZHIsIGFkZHIsIHNpemVvZihzdHJ1Y3QgdWRwX21lZGlhX2FkZHIpKTtcbiBcbiYjNDM7XHQvKiB0aXBjX3VkcF9yY2FzdF9kaXNjKCkgYWRkcyBmcm9tIHNvZnRpcnEgd2l0aG91dCBydG5sX2xvY2soKS4gKi9cbiYjNDM7XHRzcGluX2xvY2tfYmgoXHUwMDI2dWItXHUwMDNlcmNhc3RfbG9jayk7XG4mIzQzO1x0bGlzdF9mb3JfZWFjaF9lbnRyeSh0bXAsIFx1MDAyNnViLVx1MDAzZXJjYXN0Lmxpc3QsIGxpc3QpIHtcbiYjNDM7XHRcdGlmICghbWVtY21wKFx1MDAyNnRtcC1cdTAwM2VhZGRyLCBhZGRyLCBzaXplb2Yoc3RydWN0IHVkcF9tZWRpYV9hZGRyKSkpIHtcbiYjNDM7XHRcdFx0c3Bpbl91bmxvY2tfYmgoXHUwMDI2dWItXHUwMDNlcmNhc3RfbG9jayk7XG4mIzQzO1x0XHRcdGRzdF9jYWNoZV9kZXN0cm95KFx1MDAyNnJjYXN0LVx1MDAzZWRzdF9jYWNoZSk7XG4mIzQzO1x0XHRcdGtmcmVlKHJjYXN0KTtcbiYjNDM7XHRcdFx0cmV0dXJuIDA7XG4mIzQzO1x0XHR9XG4mIzQzO1x0fVxuJiM0MztcbiBcdGlmIChudG9ocyhhZGRyLVx1MDAzZXByb3RvKSA9PSBFVEhfUF9JUClcbiBcdFx0cHJfaW5mbyhcJiMzNDtOZXcgcmVwbGljYXN0IHBlZXI6ICVwSTRcXG5cJiMzNDssIFx1MDAyNnJjYXN0LVx1MDAzZWFkZHIuaXB2NCk7XG4gI2lmIElTX0VOQUJMRUQoQ09ORklHX0lQVjYpXG5AQCAtMzI3LDYgJiM0MzszNDAsNyBAQCBzdGF0aWMgaW50IHRpcGNfdWRwX3JjYXN0X2FkZChzdHJ1Y3QgdGlwY19iZWFyZXIgKmIsXG4gI2VuZGlmXG4gXHRiLVx1MDAzZWJjYXN0X2FkZHIuYnJvYWRjYXN0ID0gVElQQ19SRVBMSUNBU1RfU1VQUE9SVDtcbiBcdGxpc3RfYWRkX3JjdShcdTAwMjZyY2FzdC1cdTAwM2VsaXN0LCBcdTAwMjZ1Yi1cdTAwM2VyY2FzdC5saXN0KTtcbiYjNDM7XHRzcGluX3VubG9ja19iaChcdTAwMjZ1Yi1cdTAwM2VyY2FzdF9sb2NrKTtcbiBcdHJldHVybiAwO1xuIH1cbiBcbkBAIC02NzksNiAmIzQzOzY5Myw3IEBAIHN0YXRpYyBpbnQgdGlwY191ZHBfZW5hYmxlKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IHRpcGNfYmVhcmVyICpiLFxuIFx0XHRyZXR1cm4gLUVOT01FTTtcbiBcbiBcdElOSVRfTElTVF9IRUFEKFx1MDAyNnViLVx1MDAzZXJjYXN0Lmxpc3QpO1xuJiM0MztcdHNwaW5fbG9ja19pbml0KFx1MDAyNnViLVx1MDAzZXJjYXN0X2xvY2spO1xuIFxuIFx0aWYgKCFhdHRyc1tUSVBDX05MQV9CRUFSRVJfVURQX09QVFNdKVxuIFx0XHRnb3RvIGVycjtcbkBAIC04MTksMTAgJiM0Mzs4MzQsMTIgQEAgc3RhdGljIHZvaWQgY2xlYW51cF9iZWFyZXIoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxuIFx0c3RydWN0IHVkcF9yZXBsaWNhc3QgKnJjYXN0LCAqdG1wO1xuIFx0c3RydWN0IHRpcGNfbmV0ICp0bjtcbiBcbiYjNDM7XHRzcGluX2xvY2tfYmgoXHUwMDI2dWItXHUwMDNlcmNhc3RfbG9jayk7XG4gXHRsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocmNhc3QsIHRtcCwgXHUwMDI2dWItXHUwMDNlcmNhc3QubGlzdCwgbGlzdCkge1xuIFx0XHRsaXN0X2RlbF9yY3UoXHUwMDI2cmNhc3QtXHUwMDNlbGlzdCk7XG4gXHRcdGNhbGxfcmN1X2h1cnJ5KFx1MDAyNnJjYXN0LVx1MDAzZXJjdSwgcmNhc3RfZnJlZV9yY3UpO1xuIFx0fVxuJiM0MztcdHNwaW5fdW5sb2NrX2JoKFx1MDAyNnViLVx1MDAzZXJjYXN0X2xvY2spO1xuIFxuIFx0dG4gPSB0aXBjX25ldChzb2NrX25ldCh1Yi1cdTAwM2VzaykpO1xuIFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA2IDIwOjQ0PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjFtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1RJUEMmIzM0OywKICAgICYjMzQ7VElQQ19NRURJQV9VRFAmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDt0aXBjX3VkcF9yY2FzdF9hZGQmIzM0OywKICAgICYjMzQ7dGlwY191ZHBfZW5hYmxlJiMzNDssCiAgICAmIzM0O2NsZWFudXBfYmVhcmVyJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIGEgY29uY3VycmVuY3kgaXNzdWUgaW4gVElQQyBVRFAgYmVhcmVyIGxvZ2ljIGJ5IGFkZGluZyBhIHNwaW5sb2NrIHRvIHByb3RlY3QgdGhlIHJlcGxpY2FzdCBsaXN0LiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvbnRyb2wgcGF0aCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IDhlZGQ1NDNhMGZlMjdlODEzMmUzODZkZGMxZTQxNGQ4OTM1M2UyOTgKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgTW9uIEp1bCA2IDIwOjQ0OjUxIDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvbmV0L3RpcGMvdWRwX21lZGlhLmMgYi9uZXQvdGlwYy91ZHBfbWVkaWEuYwppbmRleCA2MmFlN2Y1YjU4NDA5Yy4uNjAxMTc0Mjk3YTE2Y2QgMTAwNjQ0Ci0tLSBhL25ldC90aXBjL3VkcF9tZWRpYS5jCiYjNDM7JiM0MzsmIzQzOyBiL25ldC90aXBjL3VkcF9tZWRpYS5jCkBAIC05NCw2ICYjNDM7OTQsNyBAQCBzdHJ1Y3QgdWRwX3JlcGxpY2FzdCB7CiAgKiBAaWZpbmRleDoJbG9jYWwgYWRkcmVzcyBzY29wZQogICogQHdvcms6CXVzZWQgdG8gc2NoZWR1bGUgZGVmZXJyZWQgd29yayBvbiBhIGJlYXJlcgogICogQHJjYXN0Oglhc3NvY2lhdGVkIHVkcF9yZXBsaWNhc3QgY29udGFpbmVyCiYjNDM7ICogQHJjYXN0X2xvY2s6CXNlcmlhbGl6ZXMgdXBkYXRlcyB0byBAcmNhc3QubGlzdAogICovCiBzdHJ1Y3QgdWRwX2JlYXJlciB7CiAJc3RydWN0IHRpcGNfYmVhcmVyIF9fcmN1ICpiZWFyZXI7CkBAIC0xMDEsNiAmIzQzOzEwMiw3IEBAIHN0cnVjdCB1ZHBfYmVhcmVyIHsKIAl1MzIgaWZpbmRleDsKIAlzdHJ1Y3Qgd29ya19zdHJ1Y3Qgd29yazsKIAlzdHJ1Y3QgdWRwX3JlcGxpY2FzdCByY2FzdDsKJiM0MzsJc3BpbmxvY2tfdCByY2FzdF9sb2NrOyAvKiBwcm90ZWN0cyByY2FzdC5saXN0ICovCiB9OwogCiBzdGF0aWMgaW50IHRpcGNfdWRwX2lzX21jYXN0X2FkZHIoc3RydWN0IHVkcF9tZWRpYV9hZGRyICphZGRyKQpAQCAtMzAxLDcgJiM0MzszMDMsNyBAQCBzdGF0aWMgYm9vbCB0aXBjX3VkcF9pc19rbm93bl9wZWVyKHN0cnVjdCB0aXBjX2JlYXJlciAqYiwKIHN0YXRpYyBpbnQgdGlwY191ZHBfcmNhc3RfYWRkKHN0cnVjdCB0aXBjX2JlYXJlciAqYiwKIAkJCSAgICAgIHN0cnVjdCB1ZHBfbWVkaWFfYWRkciAqYWRkcikKIHsKLQlzdHJ1Y3QgdWRwX3JlcGxpY2FzdCAqcmNhc3Q7CiYjNDM7CXN0cnVjdCB1ZHBfcmVwbGljYXN0ICpyY2FzdCwgKnRtcDsKIAlzdHJ1Y3QgdWRwX2JlYXJlciAqdWI7CiAKIAl1YiA9IHJjdV9kZXJlZmVyZW5jZV9ydG5sKGItJmd0O21lZGlhX3B0cik7CkBAIC0zMTksNiAmIzQzOzMyMSwxNyBAQCBzdGF0aWMgaW50IHRpcGNfdWRwX3JjYXN0X2FkZChzdHJ1Y3QgdGlwY19iZWFyZXIgKmIsCiAKIAltZW1jcHkoJmFtcDtyY2FzdC0mZ3Q7YWRkciwgYWRkciwgc2l6ZW9mKHN0cnVjdCB1ZHBfbWVkaWFfYWRkcikpOwogCiYjNDM7CS8qIHRpcGNfdWRwX3JjYXN0X2Rpc2MoKSBhZGRzIGZyb20gc29mdGlycSB3aXRob3V0IHJ0bmxfbG9jaygpLiAqLwomIzQzOwlzcGluX2xvY2tfYmgoJmFtcDt1Yi0mZ3Q7cmNhc3RfbG9jayk7CiYjNDM7CWxpc3RfZm9yX2VhY2hfZW50cnkodG1wLCAmYW1wO3ViLSZndDtyY2FzdC5saXN0LCBsaXN0KSB7CiYjNDM7CQlpZiAoIW1lbWNtcCgmYW1wO3RtcC0mZ3Q7YWRkciwgYWRkciwgc2l6ZW9mKHN0cnVjdCB1ZHBfbWVkaWFfYWRkcikpKSB7CiYjNDM7CQkJc3Bpbl91bmxvY2tfYmgoJmFtcDt1Yi0mZ3Q7cmNhc3RfbG9jayk7CiYjNDM7CQkJZHN0X2NhY2hlX2Rlc3Ryb3koJmFtcDtyY2FzdC0mZ3Q7ZHN0X2NhY2hlKTsKJiM0MzsJCQlrZnJlZShyY2FzdCk7CiYjNDM7CQkJcmV0dXJuIDA7CiYjNDM7CQl9CiYjNDM7CX0KJiM0MzsKIAlpZiAobnRvaHMoYWRkci0mZ3Q7cHJvdG8pID09IEVUSF9QX0lQKQogCQlwcl9pbmZvKCYjMzQ7TmV3IHJlcGxpY2FzdCBwZWVyOiAlcEk0XG4mIzM0OywgJmFtcDtyY2FzdC0mZ3Q7YWRkci5pcHY0KTsKICNpZiBJU19FTkFCTEVEKENPTkZJR19JUFY2KQpAQCAtMzI3LDYgJiM0MzszNDAsNyBAQCBzdGF0aWMgaW50IHRpcGNfdWRwX3JjYXN0X2FkZChzdHJ1Y3QgdGlwY19iZWFyZXIgKmIsCiAjZW5kaWYKIAliLSZndDtiY2FzdF9hZGRyLmJyb2FkY2FzdCA9IFRJUENfUkVQTElDQVNUX1NVUFBPUlQ7CiAJbGlzdF9hZGRfcmN1KCZhbXA7cmNhc3QtJmd0O2xpc3QsICZhbXA7dWItJmd0O3JjYXN0Lmxpc3QpOwomIzQzOwlzcGluX3VubG9ja19iaCgmYW1wO3ViLSZndDtyY2FzdF9sb2NrKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNjc5LDYgJiM0Mzs2OTMsNyBAQCBzdGF0aWMgaW50IHRpcGNfdWRwX2VuYWJsZShzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCB0aXBjX2JlYXJlciAqYiwKIAkJcmV0dXJuIC1FTk9NRU07CiAKIAlJTklUX0xJU1RfSEVBRCgmYW1wO3ViLSZndDtyY2FzdC5saXN0KTsKJiM0MzsJc3Bpbl9sb2NrX2luaXQoJmFtcDt1Yi0mZ3Q7cmNhc3RfbG9jayk7CiAKIAlpZiAoIWF0dHJzW1RJUENfTkxBX0JFQVJFUl9VRFBfT1BUU10pCiAJCWdvdG8gZXJyOwpAQCAtODE5LDEwICYjNDM7ODM0LDEyIEBAIHN0YXRpYyB2b2lkIGNsZWFudXBfYmVhcmVyKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAlzdHJ1Y3QgdWRwX3JlcGxpY2FzdCAqcmNhc3QsICp0bXA7CiAJc3RydWN0IHRpcGNfbmV0ICp0bjsKIAomIzQzOwlzcGluX2xvY2tfYmgoJmFtcDt1Yi0mZ3Q7cmNhc3RfbG9jayk7CiAJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHJjYXN0LCB0bXAsICZhbXA7dWItJmd0O3JjYXN0Lmxpc3QsIGxpc3QpIHsKIAkJbGlzdF9kZWxfcmN1KCZhbXA7cmNhc3QtJmd0O2xpc3QpOwogCQljYWxsX3JjdV9odXJyeSgmYW1wO3JjYXN0LSZndDtyY3UsIHJjYXN0X2ZyZWVfcmN1KTsKIAl9CiYjNDM7CXNwaW5fdW5sb2NrX2JoKCZhbXA7dWItJmd0O3JjYXN0X2xvY2spOwogCiAJdG4gPSB0aXBjX25ldChzb2NrX25ldCh1Yi0mZ3Q7c2spKTsKIAo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNiAyMDo0NDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyNzE2CgkJCQkJCQlvdXRwdXQ6IDMxCgkJCQkJCQl0aG91Z2h0czogMTY5CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgVElQQyBVRFAgQmVhcmVyIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O3ZlIGdvdCB0aGlzIHBhdGNoIOKAkyBzZWVtcyBsaWtlIGEgc3RyYWlnaHRmb3J3YXJkIGZ1bmN0aW9uYWwgY2hhbmdlIHRvIHRoZSBUSVBDIFVEUCBiZWFyZXIgbG9naWMuIEl0JiMzOTtzIHRvdWNoaW5nIGBuZXQvdGlwYy91ZHBfbWVkaWEuY2AsIGFuZCB0aGUga2V5IGhlcmUgaXMgdGhlIGludHJvZHVjdGlvbiBvZiBhIHNwaW5sb2NrLCBgcmNhc3RfbG9ja2AsIHRvIHRoZSBgc3RydWN0IHVkcF9iZWFyZXJgLiBBcHBhcmVudGx5LCB0aGlzIGlzIHRvIHByb3RlY3QgdGhlIGByY2FzdC5saXN0YCBtZW1iZXIsIHdoaWNoIG1ha2VzIHNlbnNlOyBhbHdheXMgZ29vZCB0byBzZWUgdGhvc2UgY29uY3VycmVuY3kgaXNzdWVzIGFkZHJlc3NlZCB3aXRoIGFwcHJvcHJpYXRlIHN5bmNocm9uaXphdGlvbiBwcmltaXRpdmVzLiBUaGUgcGF0Y2ggaXMgYWxzbyBtb2RpZnlpbmcgYHRpcGNfdWRwX3JjYXN0X2FkZGAsIGB0aXBjX3VkcF9lbmFibGVgLCBhbmQgYGNsZWFudXBfYmVhcmVyYCDigJMgZnVuY3Rpb25zIHRoYXQgYXJlIGNsZWFybHkgaW50ZXJhY3Rpbmcgd2l0aCB0aGlzIGJyb2FkY2FzdCBsaXN0LgoKTm93LCBiZWZvcmUgSSBkaXZlIHRvbyBkZWVwLCBJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgZGVwZW5kZW5jaWVzIGFuZCBjb25maWd1cmF0aW9ucy4gSSYjMzk7bGwgbmVlZCB0byBjaGVjayB0aGUgS2NvbmZpZyBmaWxlcywgc3RhcnRpbmcgd2l0aCBgbmV0L3RpcGMvdWRwX21lZGlhLmNgIGl0c2VsZiwgdG8gc2VlIHdoYXQgb3B0aW9ucyBjb250cm9sIHRoaXMgZnVuY3Rpb25hbGl0eS4gTXkgaW1tZWRpYXRlIGh1bmNoIGlzIHRoYXQgdGhpcyBpcyBjb250cm9sbGVkIGJ5IGBDT05GSUdfVElQQ19NRURJQV9VRFBgLCBhbmQgb2YgY291cnNlIGBDT05GSUdfVElQQ2AgbXVzdCBiZSBzZXQgYXMgYSBwcmVyZXF1aXNpdGUuIAoKTGV0JiMzOTtzIHF1aWNrbHkgY29uZmlybSB3aXRoIGBncmVwcGVyYCwgdG8gYmUgYWJzb2x1dGVseSBzdXJlLiBUaGlzIHdpbGwgaGVscCBtYWtlIHN1cmUgSSB1bmRlcnN0YW5kIHRoZSBjb250ZXh0IHdpdGhpbiB0aGUgbGFyZ2VyIFRJUEMgc3lzdGVtIGJlZm9yZSBJIHN0YXJ0IHJldmlld2luZyB0aGUgcGF0Y2ggaXRzZWxmLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA2IDIwOjQ0PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O1RJUENfTUVESUFfVURQJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L3RpcGMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O25ldC90aXBjL0tjb25maWc9MjQ9Y29uZmlnIFRJUENfTUVESUFfSUJcbi0tXG5uZXQvdGlwYy9LY29uZmlnLTI5LVx0ICBJUC1vdmVyLUluZmluaUJhbmQgZGV2aWNlcy5cbm5ldC90aXBjL0tjb25maWc6MzA6Y29uZmlnIFRJUENfTUVESUFfVURQXG5uZXQvdGlwYy9LY29uZmlnLTMxLVx0Ym9vbCBcJiMzNDtJUC9VRFAgbWVkaWEgdHlwZSBzdXBwb3J0XCYjMzQ7XG4tLVxubmV0L3RpcGMvTWFrZWZpbGU9MTQ9Q0ZMQUdTX3RyYWNlLm8gJiM0Mzs9IC1JJChzcmMpXG5uZXQvdGlwYy9NYWtlZmlsZS0xNS1cbm5ldC90aXBjL01ha2VmaWxlOjE2OnRpcGMtJChDT05GSUdfVElQQ19NRURJQV9VRFApXHQmIzQzOz0gdWRwX21lZGlhLm9cbm5ldC90aXBjL01ha2VmaWxlLTE3LXRpcGMtJChDT05GSUdfVElQQ19NRURJQV9JQilcdCYjNDM7PSBpYl9tZWRpYS5vXG4tLVxubmV0L3RpcGMvYmVhcmVyLmM9NTE9c3RhdGljIHN0cnVjdCB0aXBjX21lZGlhICogY29uc3QgbWVkaWFfaW5mb19hcnJheVtdID0ge1xuLS1cbm5ldC90aXBjL2JlYXJlci5jLTU1LSNlbmRpZlxubmV0L3RpcGMvYmVhcmVyLmM6NTY6I2lmZGVmIENPTkZJR19USVBDX01FRElBX1VEUFxubmV0L3RpcGMvYmVhcmVyLmMtNTctXHRcdTAwMjZ1ZHBfbWVkaWFfaW5mbyxcbi0tXG5uZXQvdGlwYy9iZWFyZXIuYz04MjQ9c3RhdGljIGludCBfX3RpcGNfbmxfYWRkX2JlYXJlcihzdHJ1Y3QgdGlwY19ubF9tc2cgKm1zZyxcbi0tXG5uZXQvdGlwYy9iZWFyZXIuYy04NTctXG5uZXQvdGlwYy9iZWFyZXIuYzo4NTg6I2lmZGVmIENPTkZJR19USVBDX01FRElBX1VEUFxubmV0L3RpcGMvYmVhcmVyLmMtODU5LVx0aWYgKGJlYXJlci1cdTAwM2VtZWRpYS1cdTAwM2V0eXBlX2lkID09IFRJUENfTUVESUFfVFlQRV9VRFApIHtcbi0tXG5uZXQvdGlwYy9iZWFyZXIuYz0xMDYzPWludCB0aXBjX25sX2JlYXJlcl9hZGQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcbi0tXG5uZXQvdGlwYy9iZWFyZXIuYy0xMDkxLVxubmV0L3RpcGMvYmVhcmVyLmM6MTA5MjojaWZkZWYgQ09ORklHX1RJUENfTUVESUFfVURQXG5uZXQvdGlwYy9iZWFyZXIuYy0xMDkzLVx0aWYgKGF0dHJzW1RJUENfTkxBX0JFQVJFUl9VRFBfT1BUU10pIHtcbi0tXG5uZXQvdGlwYy9iZWFyZXIuYz0xMTEwPWludCBfX3RpcGNfbmxfYmVhcmVyX3NldChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxuLS1cbm5ldC90aXBjL2JlYXJlci5jLTExNTgtXHRcdFx0fVxubmV0L3RpcGMvYmVhcmVyLmM6MTE1OTojaWZkZWYgQ09ORklHX1RJUENfTUVESUFfVURQXG5uZXQvdGlwYy9iZWFyZXIuYy0xMTYwLVx0XHRcdGlmIChubGFfZ2V0X3UzMihwcm9wc1tUSVBDX05MQV9QUk9QX01UVV0pIFx1MDAzY1xuLS1cbm5ldC90aXBjL2JlYXJlci5jPTEzMTE9aW50IF9fdGlwY19ubF9tZWRpYV9zZXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcbi0tXG5uZXQvdGlwYy9iZWFyZXIuYy0xMzUzLVx0XHRcdH1cbm5ldC90aXBjL2JlYXJlci5jOjEzNTQ6I2lmZGVmIENPTkZJR19USVBDX01FRElBX1VEUFxubmV0L3RpcGMvYmVhcmVyLmMtMTM1NS1cdFx0XHRpZiAodGlwY191ZHBfbXR1X2JhZChubGFfZ2V0X3UzMlxuLS1cbm5ldC90aXBjL2JlYXJlci5oPTE5Nj1leHRlcm4gc3RydWN0IHRpcGNfbWVkaWEgaWJfbWVkaWFfaW5mbztcbm5ldC90aXBjL2JlYXJlci5oLTE5Ny0jZW5kaWZcbm5ldC90aXBjL2JlYXJlci5oOjE5ODojaWZkZWYgQ09ORklHX1RJUENfTUVESUFfVURQXG5uZXQvdGlwYy9iZWFyZXIuaC0xOTktZXh0ZXJuIHN0cnVjdCB0aXBjX21lZGlhIHVkcF9tZWRpYV9pbmZvO1xuLS1cbm5ldC90aXBjL25ldGxpbmsuYz0xNTE9c3RhdGljIGNvbnN0IHN0cnVjdCBnZW5sX29wcyB0aXBjX2dlbmxfdjJfb3BzW10gPSB7XG4tLVxubmV0L3RpcGMvbmV0bGluay5jLTI2OS1cdH0sXG5uZXQvdGlwYy9uZXRsaW5rLmM6MjcwOiNpZmRlZiBDT05GSUdfVElQQ19NRURJQV9VRFBcbm5ldC90aXBjL25ldGxpbmsuYy0yNzEtXHR7XG4tLVxubmV0L3RpcGMvdWRwX21lZGlhLmgtMzYtXG5uZXQvdGlwYy91ZHBfbWVkaWEuaDozNzojaWZkZWYgQ09ORklHX1RJUENfTUVESUFfVURQXG5uZXQvdGlwYy91ZHBfbWVkaWEuaC0zOC0jaWZuZGVmIF9USVBDX1VEUF9NRURJQV9IXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDYgMjA6NDQ8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDIxNwoJCQkJCQkJb3V0cHV0OiAyOAoJCQkJCQkJdGhvdWdodHM6IDM4CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIG15IHRha2Ugb24gdGhlIHNpdHVhdGlvbjoKCioqSW52ZXN0aWdhdGluZyB0aGUgQ29uZmlndXJhdGlvbiBmb3IgVElQQyBNZWRpYSBvdmVyIFVEUCoqCgpPa2F5LCBzbyBJIG5lZWQgdG8gY29uZmlndXJlIHRoaXMgc3lzdGVtIHRvIHVzZSBUSVBDIG92ZXIgVURQIG1lZGlhLiBUaGUgc3BlY2lmaWMgY29uZmlndXJhdGlvbiBvcHRpb24gSSBuZWVkIGlzIGBUSVBDX01FRElBX1VEUGAsIGFuZCBvZiBjb3Vyc2UsIEkmIzM5O2xsIG5lZWQgYFRJUENgIGVuYWJsZWQgYXMgd2VsbC4gTXkgZmlyc3QgbW92ZSBpcyB0byBoZWFkIG92ZXIgdG8gdGhlIGtlcm5lbCBjb25maWd1cmF0aW9uIGZpbGVzLiBUaGUgcGxhY2UgdG8gc3RhcnQgbG9va2luZyBpcyBgbmV0L3RpcGMvS2NvbmZpZ2AuIFRoYXQmIzM5O3Mgd2hlcmUgYWxsIHRoZSBtYWlubGluZSBUSVBDIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBzaG91bGQgcmVzaWRlLiBGcm9tIHRoZXJlLCBJIGNhbiBmaWd1cmUgb3V0IHRoZSBkZXBlbmRlbmNpZXMsIGltcGxpY2F0aW9ucywgYW5kIG1heWJlIGV2ZW4gZ2V0IGEgc2Vuc2Ugb2YgaG93IHRvIHByb3Blcmx5IHNldCB1cCB0aGUgVURQIG1lZGlhIHBhcnQuIExldCYjMzk7cyBzZWUgd2hhdCB0aGF0IEtjb25maWcgZmlsZSByZXZlYWxzLi4uIEkmIzM5O20gZXhwZWN0aW5nIHRvIGZpbmQgdGhlIGBUSVBDYCBvcHRpb24gdGhlcmUsIGFuZCBob3BlZnVsbHksIGBUSVBDX01FRElBX1VEUGAgYXMgYSBkaXJlY3RseSByZWxhdGVkIGNob2ljZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNiAyMDo0NTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgVElQQyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC90aXBjLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvdGlwYy9LY29uZmlnLTUtXG5uZXQvdGlwYy9LY29uZmlnOjY6bWVudWNvbmZpZyBUSVBDXG5uZXQvdGlwYy9LY29uZmlnLTctXHR0cmlzdGF0ZSBcJiMzNDtUaGUgVElQQyBQcm90b2NvbFwmIzM0O1xuLS1cbm5ldC90aXBjL0tjb25maWctMjMtXG5uZXQvdGlwYy9LY29uZmlnOjI0OmNvbmZpZyBUSVBDX01FRElBX0lCXG5uZXQvdGlwYy9LY29uZmlnLTI1LVx0Ym9vbCBcJiMzNDtJbmZpbmlCYW5kIG1lZGlhIHR5cGUgc3VwcG9ydFwmIzM0O1xuLS1cbm5ldC90aXBjL0tjb25maWctMjktXHQgIElQLW92ZXItSW5maW5pQmFuZCBkZXZpY2VzLlxubmV0L3RpcGMvS2NvbmZpZzozMDpjb25maWcgVElQQ19NRURJQV9VRFBcbm5ldC90aXBjL0tjb25maWctMzEtXHRib29sIFwmIzM0O0lQL1VEUCBtZWRpYSB0eXBlIHN1cHBvcnRcJiMzNDtcbi0tXG5uZXQvdGlwYy9LY29uZmlnLTM3LVxubmV0L3RpcGMvS2NvbmZpZzozODpjb25maWcgVElQQ19DUllQVE9cbm5ldC90aXBjL0tjb25maWctMzktXHRib29sIFwmIzM0O1RJUEMgZW5jcnlwdGlvbiBzdXBwb3J0XCYjMzQ7XG4tLVxubmV0L3RpcGMvS2NvbmZpZy01Mi1cbm5ldC90aXBjL0tjb25maWc6NTM6Y29uZmlnIFRJUENfRElBR1xubmV0L3RpcGMvS2NvbmZpZy01NC1cdHRyaXN0YXRlIFwmIzM0O1RJUEM6IHNvY2tldCBtb25pdG9yaW5nIGludGVyZmFjZVwmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA2IDIwOjQ1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ3NTYKCQkJCQkJCW91dHB1dDogMzQKCQkJCQkJCXRob3VnaHRzOiAxNTMKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBUSVBDIFVEUCBDb25maWd1cmF0aW9uIENoYW5nZSoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBhbmQgaW1tZWRpYXRlbHksIGBUSVBDYCBhbmQgYFRJUENfTUVESUFfVURQYCBhcmUgdGhlIGtleSBjb25maWdzIHRoYXQgYXJlIGJlaW5nIHRvdWNoZWQuIE15IGltbWVkaWF0ZSBmb2N1cyBpcyBvbiB0aGUgZnVuY3Rpb25zIHRoYXQgdGhpcyBwYXRjaCBpcyBtb2RpZnlpbmcuIFRoZSBkaWZmIHNob3dzIG1lIGl0JiMzOTtzIHplcm9pbmcgaW4gb246IGB0aXBjX3VkcF9yY2FzdF9hZGRgLCBgdGlwY191ZHBfZW5hYmxlYCwgYW5kIGBjbGVhbnVwX2JlYXJlcmAuCgpOb3csIHRoZSBpbXBvcnRhbnQgcXVlc3Rpb24gaXM6IGFyZSB0aGVzZSBwZXJmb3JtYW5jZS1jcml0aWNhbCBwYXRocz8gTGV0JiMzOTtzIHNlZS4uLiBgdGlwY191ZHBfcmNhc3RfYWRkYCBpcyB0aGUgb25lIGNhbGxlZCB3aGVuIGEgbmV3IHJlcGxpY2FzdCBwZWVyIGlzIGFkZGVkLiAgYHRpcGNfdWRwX2VuYWJsZWAgaXMgZ29pbmcgdG8gYmUgYWN0aXZhdGVkIHdoZW4gYSBVRFAgYmVhcmVyIGlzIGVuYWJsZWQuIEFuZCBmaW5hbGx5LCBgY2xlYW51cF9iZWFyZXJgIGlzLCBhcyB0aGUgbmFtZSBpbXBsaWVzLCBpbnZva2VkIHdoZW4gYSBVRFAgYmVhcmVyIGlzIGRpc2FibGVkIG9yIGNsZWFuZWQgdXAuCgpJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgaW1wYWN0IG9mIGFueSBjaGFuZ2VzIHRvIHRoZXNlIGZ1bmN0aW9ucywgc28gSSYjMzk7bGwgc3RhcnQgYnkgY2hlY2tpbmcgdGhlIGNhbGxlcnMgb2YgYHRpcGNfdWRwX3JjYXN0X2FkZGAuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDYgMjA6NDU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7dGlwY191ZHBfcmNhc3RfYWRkJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L3RpcGMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O25ldC90aXBjL3VkcF9tZWRpYS5jPTI4Mz1zdGF0aWMgYm9vbCB0aXBjX3VkcF9pc19rbm93bl9wZWVyKHN0cnVjdCB0aXBjX2JlYXJlciAqYixcbi0tXG5uZXQvdGlwYy91ZHBfbWVkaWEuYy0zMDItXG5uZXQvdGlwYy91ZHBfbWVkaWEuYzozMDM6c3RhdGljIGludCB0aXBjX3VkcF9yY2FzdF9hZGQoc3RydWN0IHRpcGNfYmVhcmVyICpiLFxubmV0L3RpcGMvdWRwX21lZGlhLmMtMzA0LVx0XHRcdCAgICAgIHN0cnVjdCB1ZHBfbWVkaWFfYWRkciAqYWRkcilcbi0tXG5uZXQvdGlwYy91ZHBfbWVkaWEuYz0zNDc9c3RhdGljIGludCB0aXBjX3VkcF9yY2FzdF9kaXNjKHN0cnVjdCB0aXBjX2JlYXJlciAqYiwgc3RydWN0IHNrX2J1ZmYgKnNrYilcbi0tXG5uZXQvdGlwYy91ZHBfbWVkaWEuYy0zODAtXG5uZXQvdGlwYy91ZHBfbWVkaWEuYzozODE6XHRyZXR1cm4gdGlwY191ZHBfcmNhc3RfYWRkKGIsIFx1MDAyNnNyYyk7XG5uZXQvdGlwYy91ZHBfbWVkaWEuYy0zODItfVxuLS1cbm5ldC90aXBjL3VkcF9tZWRpYS5jPTYzOD1pbnQgdGlwY191ZHBfbmxfYmVhcmVyX2FkZChzdHJ1Y3QgdGlwY19iZWFyZXIgKmIsIHN0cnVjdCBubGF0dHIgKmF0dHIpXG4tLVxubmV0L3RpcGMvdWRwX21lZGlhLmMtNjYzLVxubmV0L3RpcGMvdWRwX21lZGlhLmM6NjY0Olx0cmV0dXJuIHRpcGNfdWRwX3JjYXN0X2FkZChiLCBcdTAwMjZhZGRyKTtcbm5ldC90aXBjL3VkcF9tZWRpYS5jLTY2NS19XG4tLVxubmV0L3RpcGMvdWRwX21lZGlhLmM9Njc2PXN0YXRpYyBpbnQgdGlwY191ZHBfZW5hYmxlKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IHRpcGNfYmVhcmVyICpiLFxuLS1cbm5ldC90aXBjL3VkcF9tZWRpYS5jLTgwNi1cdGVsc2Vcbm5ldC90aXBjL3VkcF9tZWRpYS5jOjgwNzpcdFx0ZXJyID0gdGlwY191ZHBfcmNhc3RfYWRkKGIsIFx1MDAyNnJlbW90ZSk7XG5uZXQvdGlwYy91ZHBfbWVkaWEuYy04MDgtXHRpZiAoZXJyKVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA2IDIwOjQ1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDU2MzQKCQkJCQkJCW91dHB1dDogMjgKCQkJCQkJCXRob3VnaHRzOiAxMzkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBDYWxsIFBhdGhzIGZvciBVRFAgTXVsdGljYXN0IGluIFRJUEMqKgoKT2theSwgc28gSSYjMzk7bSB0cmFjaW5nIHRoZSB1c2FnZSBvZiBgdGlwY191ZHBfcmNhc3RfYWRkYC4gSXQgbG9va3MgbGlrZSB0aGlzIGZ1bmN0aW9uIGlzIHByZXR0eSBjZW50cmFsIHRvIGhhbmRsaW5nIFVEUCBtdWx0aWNhc3QgaW4gVElQQy4gSSYjMzk7bSBzZWVpbmcgdGhhdCBgdGlwY191ZHBfcmNhc3RfYWRkYCBpcyBjYWxsZWQgZnJvbSBhIGZldyBrZXkgcGxhY2VzOiBgdGlwY191ZHBfcmNhc3RfZGlzY2AsIGB0aXBjX3VkcF9ubF9iZWFyZXJfYWRkYCwgYW5kIGB0aXBjX3VkcF9lbmFibGVgLiBSaWdodCwgbWFrZXMgc2Vuc2UuIAoKYHRpcGNfdWRwX3JjYXN0X2Rpc2NgIGlzIHRyaWdnZXJlZCBieSBhIGRpc2NvdmVyeSBtZXNzYWdlIOKAkyBzbyB0aGlzIGZ1bmN0aW9uIG11c3QgYmUgaW52b2x2ZWQgaW4gcmVnaXN0ZXJpbmcgbm9kZXMgd2hlbiBhIG5ldyBkaXNjb3ZlcnkgcGFja2V0IGlzIHJlY2VpdmVkLiBUaGF0JiMzOTtzIGEgY2xhc3NpYyBtdWx0aWNhc3Qgc2V0dXAgc2NlbmFyaW8sIHNvIEkmIzM5O20gbm90IHN1cnByaXNlZCB0aGVyZS4KCmB0aXBjX3VkcF9ubF9iZWFyZXJfYWRkYCBjb21lcyBmcm9tIG5ldGxpbmsuIFRoaXMgcHJvYmFibHkgbWVhbnMgaXQmIzM5O3MgaG93IHdlJiMzOTtyZSBjb25maWd1cmluZyB0aGluZ3MgdGhyb3VnaCBhIHVzZXItc3BhY2UgcHJvY2Vzcy4gTWFrZXMgdGhlIHNldHVwIGFjY2Vzc2libGUgaW4gdXNlcmxhbmQuCgpBbmQgYHRpcGNfdWRwX2VuYWJsZWAgaXMgY2FsbGVkIHdoZW4gYSBiZWFyZXIgaXMgZW5hYmxlZC4gVGhhdCYjMzk7cyBhIGhpZ2gtbGV2ZWwgdHJpZ2dlciwgaW5kaWNhdGluZyB0aGF0IFVEUCBtdWx0aWNhc3QgZnVuY3Rpb25hbGl0eSBpcyBiZWluZyBhY3RpdmF0ZWQuIFRoYXQgb25lJiMzOTtzIGNsZWFyLgoKTm93LCBsZXQmIzM5O3Mgc2VlLCB3aGF0JiMzOTtzIHRoaXMgYGNsZWFudXBfYmVhcmVyYCBmdW5jdGlvbiBkb2luZz8gVGhhdCBvbmUmIzM5O3MgY2FsbGVkIGZyb20gYSB3b3JrcXVldWUuIEkgbmVlZCB0byBpbnZlc3RpZ2F0ZSB0aGF0IHRvIHNlZSB3aGF0JiMzOTtzIGJlaW5nIGNsZWFuZWQgdXAsIGFuZCB3aGF0IGlzIGl0cyB1c2UgY2FzZS4gSSYjMzk7bSBnb2luZyB0byBqdW1wIGludG8gYG5ldC90aXBjL3VkcF9tZWRpYS5jYCBub3cgdG8gZXhhbWluZSB0aGF0IGZ1bmN0aW9uIGluIGRldGFpbC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDYgMjA6NDU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y2xlYW51cF9iZWFyZXImIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtuZXQvdGlwYy8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7bmV0L3RpcGMvdWRwX21lZGlhLmM9ODIyPXN0YXRpYyB2b2lkIHJjYXN0X2ZyZWVfcmN1KHN0cnVjdCByY3VfaGVhZCAqcmN1KVxuLS1cbm5ldC90aXBjL3VkcF9tZWRpYS5jLTgyOS1cbm5ldC90aXBjL3VkcF9tZWRpYS5jOjgzMDovKiBjbGVhbnVwX2JlYXJlciAtIGJyZWFrIHRoZSBzb2NrZXQvYmVhcmVyIGFzc29jaWF0aW9uICovXG5uZXQvdGlwYy91ZHBfbWVkaWEuYzo4MzE6c3RhdGljIHZvaWQgY2xlYW51cF9iZWFyZXIoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxubmV0L3RpcGMvdWRwX21lZGlhLmMtODMyLXtcbi0tXG5uZXQvdGlwYy91ZHBfbWVkaWEuYz04NTc9c3RhdGljIHZvaWQgdGlwY191ZHBfZGlzYWJsZShzdHJ1Y3QgdGlwY19iZWFyZXIgKmIpXG4tLVxubmV0L3RpcGMvdWRwX21lZGlhLmMtODcwLVx0YXRvbWljX2luYyhcdTAwMjZ0aXBjX25ldChzb2NrX25ldCh1Yi1cdTAwM2VzaykpLVx1MDAzZXdxX2NvdW50KTtcbm5ldC90aXBjL3VkcF9tZWRpYS5jOjg3MTpcdElOSVRfV09SSyhcdTAwMjZ1Yi1cdTAwM2V3b3JrLCBjbGVhbnVwX2JlYXJlcik7XG5uZXQvdGlwYy91ZHBfbWVkaWEuYy04NzItXHRzY2hlZHVsZV93b3JrKFx1MDAyNnViLVx1MDAzZXdvcmspO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNiAyMDo0NTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA2NDAwCgkJCQkJCQlvdXRwdXQ6IDExMAoJCQkJCQkJdGhvdWdodHM6IDIzMQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgQ29uY3VycmVuY3kgRml4ZXMgaW4gVElQQyBVRFAgUmVwbGljYXN0KioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGFuZCwgcmlnaHQgb2ZmIHRoZSBiYXQsIEkgc2VlIHRoZXNlIGFyZW4mIzM5O3QgcGVyZm9ybWFuY2UtY3JpdGljYWwgZnVuY3Rpb25zLiBUaGV5JiMzOTtyZSBhbGwgY29udHJvbC1wYXRoIG9wZXJhdGlvbnPigJRzdHVmZiBmb3IgbWFuYWdpbmcgUmVwbGljYXN0IHBlZXJzLCBlbmFibGluZy9kaXNhYmxpbmcgYmVhcmVycyBhbmQgdGhlIGxpa2UuIFRoYXQgc2ltcGxpZmllcyB0aGluZ3MgYSBiaXQ7IHdlJiMzOTtyZSBub3QgZGVhbGluZyB3aXRoIHRpZ2h0IGxvb3BzIGhlcmUuIE15IGZvY3VzLCB0aGVuLCBpcyBzcXVhcmVseSBvbiB0aGVzZSBmdW5jdGlvbnM6IGB0aXBjX3VkcF9yY2FzdF9hZGRgLCBgdGlwY191ZHBfZW5hYmxlYCwgYGNsZWFudXBfYmVhcmVyYCwgYHRpcGNfdWRwX3JjYXN0X2Rpc2NgLCBgdGlwY191ZHBfbmxfYmVhcmVyX2FkZGAsIGFuZCBgdGlwY191ZHBfZGlzYWJsZWAuCgpMZXQmIzM5O3MgcGljayBhIGZldyBvZiB0aG9zZSBmb3IgY2xvc2VyIHNjcnV0aW55IOKAkyBgdGlwY191ZHBfcmNhc3RfYWRkYCwgYHRpcGNfdWRwX2VuYWJsZWAsIGFuZCBgY2xlYW51cF9iZWFyZXJgIGp1bXAgb3V0IGFzIHJlcHJlc2VudGF0aXZlLiBUaGUgZ2lzdCBvZiB0aGUgcGF0Y2ggaXMgYSBjb25jdXJyZW5jeSBmaXguIEl0IGludHJvZHVjZXMgYSBzcGlubG9jaywgYHJjYXN0X2xvY2tgLCB0byBndWFyZCBgdWItJmd0O3JjYXN0Lmxpc3RgLiBUaGF0IHRlbGxzIG1lIHRoaXMgaXMgYSAqZnVuY3Rpb25hbCogY2hhbmdlLCBkZXNpZ25lZCB0byBwcm90ZWN0IHRoZSBpbnRlZ3JpdHkgb2YgdGhlIFJlcGxpY2FzdCBsaXN0LCBsaWtlbHkgZnJvbSBzaW11bHRhbmVvdXMgYWNjZXNzLiBTbywgdGhlIHF1ZXN0aW9uIGlzLCBpcyB0aGlzIGFjdHVhbGx5IG5lY2Vzc2FyeT8KCldlbGwsIGxldCYjMzk7cyB0cmFjZSBgdGlwY191ZHBfcmNhc3RfYWRkYC4gRnJvbSB3aGF0IEkga25vdywgaXQmIzM5O3MgcmVhY2hhYmxlIHRocm91Z2ggbmV0bGluayBtZXNzYWdlcyBhbmQgZGlzY292ZXJ5IG1lc3NhZ2VzLiBBbHJpZ2h0LCB0aGF0IGNvbmZpcm1zIG15IGFzc3VtcHRpb24uIE5vdywgYmFzZWQgb24gdGhlIGNvZGViYXNlLCB0aGUgcmVsZXZhbnQgY29uZmlndXJhdGlvbnMgYXJlIGBUSVBDYCBhbmQgYFRJUENfTUVESUFfVURQYC4gRmluZS4gU2VlbXMgcHJldHR5IHN0cmFpZ2h0Zm9yd2FyZCwgSSB0aGluayBJJiMzOTt2ZSBnb3QgYSBoYW5kbGUgb24gdGhlIHNpdHVhdGlvbiBub3cuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA2IDIwOjQ2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtUSVBDJiMzNDssCiAgICAmIzM0O1RJUENfTUVESUFfVURQJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7dGlwY191ZHBfcmNhc3RfYWRkJiMzNDssCiAgICAmIzM0O3RpcGNfdWRwX2VuYWJsZSYjMzQ7LAogICAgJiMzNDtjbGVhbnVwX2JlYXJlciYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIGNvbmN1cnJlbmN5IGlzc3VlIGluIFRJUEMgVURQIGJlYXJlciBsb2dpYyBieSBhZGRpbmcgYSBzcGlubG9jayB0byBwcm90ZWN0IHRoZSByZXBsaWNhc3QgbGlzdC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb250cm9sIHBhdGggdGhhdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtUSVBDJiMzNDssCiAgICAmIzM0O1RJUENfTUVESUFfVURQJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7dGlwY191ZHBfcmNhc3RfYWRkJiMzNDssCiAgICAmIzM0O3RpcGNfdWRwX2VuYWJsZSYjMzQ7LAogICAgJiMzNDtjbGVhbnVwX2JlYXJlciYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIGNvbmN1cnJlbmN5IGlzc3VlIGluIFRJUEMgVURQIGJlYXJlciBsb2dpYyBieSBhZGRpbmcgYSBzcGlubG9jayB0byBwcm90ZWN0IHRoZSByZXBsaWNhc3QgbGlzdC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb250cm9sIHBhdGggdGhhdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMDZUMjA6NDQ6NTMuMDY0MDY5MzM1WiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjkxNTc5MzA2OTgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiVElQQ1wiLFxuICAgIFwiVElQQ19NRURJQV9VRFBcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJ0aXBjX3VkcF9yY2FzdF9hZGRcIixcbiAgICBcInRpcGNfdWRwX2VuYWJsZVwiLFxuICAgIFwiY2xlYW51cF9iZWFyZXJcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIGNvbmN1cnJlbmN5IGlzc3VlIGluIFRJUEMgVURQIGJlYXJlciBsb2dpYyBieSBhZGRpbmcgYSBzcGlubG9jayB0byBwcm90ZWN0IHRoZSByZXBsaWNhc3QgbGlzdC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb250cm9sIHBhdGggdGhhdCBzaG91bGQgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wNlQyMDo0NDo1My4wNjQwNzUyOTVaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjY0NTY5MjY5MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IDhlZGQ1NDNhMGZlMjdlODEzMmUzODZkZGMxZTQxNGQ4OTM1M2UyOThcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIE1vbiBKdWwgNiAyMDo0NDo1MSAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9uZXQvdGlwYy91ZHBfbWVkaWEuYyBiL25ldC90aXBjL3VkcF9tZWRpYS5jXFxuaW5kZXggNjJhZTdmNWI1ODQwOWMuLjYwMTE3NDI5N2ExNmNkIDEwMDY0NFxcbi0tLSBhL25ldC90aXBjL3VkcF9tZWRpYS5jXFxuKysrIGIvbmV0L3RpcGMvdWRwX21lZGlhLmNcXG5AQCAtOTQsNiArOTQsNyBAQCBzdHJ1Y3QgdWRwX3JlcGxpY2FzdCB7XFxuICAqIEBpZmluZGV4OlxcdGxvY2FsIGFkZHJlc3Mgc2NvcGVcXG4gICogQHdvcms6XFx0dXNlZCB0byBzY2hlZHVsZSBkZWZlcnJlZCB3b3JrIG9uIGEgYmVhcmVyXFxuICAqIEByY2FzdDpcXHRhc3NvY2lhdGVkIHVkcF9yZXBsaWNhc3QgY29udGFpbmVyXFxuKyAqIEByY2FzdF9sb2NrOlxcdHNlcmlhbGl6ZXMgdXBkYXRlcyB0byBAcmNhc3QubGlzdFxcbiAgKi9cXG4gc3RydWN0IHVkcF9iZWFyZXIge1xcbiBcXHRzdHJ1Y3QgdGlwY19iZWFyZXIgX19yY3UgKmJlYXJlcjtcXG5AQCAtMTAxLDYgKzEwMiw3IEBAIHN0cnVjdCB1ZHBfYmVhcmVyIHtcXG4gXFx0dTMyIGlmaW5kZXg7XFxuIFxcdHN0cnVjdCB3b3JrX3N0cnVjdCB3b3JrO1xcbiBcXHRzdHJ1Y3QgdWRwX3JlcGxpY2FzdCByY2FzdDtcXG4rXFx0c3BpbmxvY2tfdCByY2FzdF9sb2NrOyAvKiBwcm90ZWN0cyByY2FzdC5saXN0ICovXFxuIH07XFxuIFxcbiBzdGF0aWMgaW50IHRpcGNfdWRwX2lzX21jYXN0X2FkZHIoc3RydWN0IHVkcF9tZWRpYV9hZGRyICphZGRyKVxcbkBAIC0zMDEsNyArMzAzLDcgQEAgc3RhdGljIGJvb2wgdGlwY191ZHBfaXNfa25vd25fcGVlcihzdHJ1Y3QgdGlwY19iZWFyZXIgKmIsXFxuIHN0YXRpYyBpbnQgdGlwY191ZHBfcmNhc3RfYWRkKHN0cnVjdCB0aXBjX2JlYXJlciAqYixcXG4gXFx0XFx0XFx0ICAgICAgc3RydWN0IHVkcF9tZWRpYV9hZGRyICphZGRyKVxcbiB7XFxuLVxcdHN0cnVjdCB1ZHBfcmVwbGljYXN0ICpyY2FzdDtcXG4rXFx0c3RydWN0IHVkcF9yZXBsaWNhc3QgKnJjYXN0LCAqdG1wO1xcbiBcXHRzdHJ1Y3QgdWRwX2JlYXJlciAqdWI7XFxuIFxcbiBcXHR1YiA9IHJjdV9kZXJlZmVyZW5jZV9ydG5sKGItXFx1MDAzZW1lZGlhX3B0cik7XFxuQEAgLTMxOSw2ICszMjEsMTcgQEAgc3RhdGljIGludCB0aXBjX3VkcF9yY2FzdF9hZGQoc3RydWN0IHRpcGNfYmVhcmVyICpiLFxcbiBcXG4gXFx0bWVtY3B5KFxcdTAwMjZyY2FzdC1cXHUwMDNlYWRkciwgYWRkciwgc2l6ZW9mKHN0cnVjdCB1ZHBfbWVkaWFfYWRkcikpO1xcbiBcXG4rXFx0LyogdGlwY191ZHBfcmNhc3RfZGlzYygpIGFkZHMgZnJvbSBzb2Z0aXJxIHdpdGhvdXQgcnRubF9sb2NrKCkuICovXFxuK1xcdHNwaW5fbG9ja19iaChcXHUwMDI2dWItXFx1MDAzZXJjYXN0X2xvY2spO1xcbitcXHRsaXN0X2Zvcl9lYWNoX2VudHJ5KHRtcCwgXFx1MDAyNnViLVxcdTAwM2VyY2FzdC5saXN0LCBsaXN0KSB7XFxuK1xcdFxcdGlmICghbWVtY21wKFxcdTAwMjZ0bXAtXFx1MDAzZWFkZHIsIGFkZHIsIHNpemVvZihzdHJ1Y3QgdWRwX21lZGlhX2FkZHIpKSkge1xcbitcXHRcXHRcXHRzcGluX3VubG9ja19iaChcXHUwMDI2dWItXFx1MDAzZXJjYXN0X2xvY2spO1xcbitcXHRcXHRcXHRkc3RfY2FjaGVfZGVzdHJveShcXHUwMDI2cmNhc3QtXFx1MDAzZWRzdF9jYWNoZSk7XFxuK1xcdFxcdFxcdGtmcmVlKHJjYXN0KTtcXG4rXFx0XFx0XFx0cmV0dXJuIDA7XFxuK1xcdFxcdH1cXG4rXFx0fVxcbitcXG4gXFx0aWYgKG50b2hzKGFkZHItXFx1MDAzZXByb3RvKSA9PSBFVEhfUF9JUClcXG4gXFx0XFx0cHJfaW5mbyhcXFwiTmV3IHJlcGxpY2FzdCBwZWVyOiAlcEk0XFxcXG5cXFwiLCBcXHUwMDI2cmNhc3QtXFx1MDAzZWFkZHIuaXB2NCk7XFxuICNpZiBJU19FTkFCTEVEKENPTkZJR19JUFY2KVxcbkBAIC0zMjcsNiArMzQwLDcgQEAgc3RhdGljIGludCB0aXBjX3VkcF9yY2FzdF9hZGQoc3RydWN0IHRpcGNfYmVhcmVyICpiLFxcbiAjZW5kaWZcXG4gXFx0Yi1cXHUwMDNlYmNhc3RfYWRkci5icm9hZGNhc3QgPSBUSVBDX1JFUExJQ0FTVF9TVVBQT1JUO1xcbiBcXHRsaXN0X2FkZF9yY3UoXFx1MDAyNnJjYXN0LVxcdTAwM2VsaXN0LCBcXHUwMDI2dWItXFx1MDAzZXJjYXN0Lmxpc3QpO1xcbitcXHRzcGluX3VubG9ja19iaChcXHUwMDI2dWItXFx1MDAzZXJjYXN0X2xvY2spO1xcbiBcXHRyZXR1cm4gMDtcXG4gfVxcbiBcXG5AQCAtNjc5LDYgKzY5Myw3IEBAIHN0YXRpYyBpbnQgdGlwY191ZHBfZW5hYmxlKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IHRpcGNfYmVhcmVyICpiLFxcbiBcXHRcXHRyZXR1cm4gLUVOT01FTTtcXG4gXFxuIFxcdElOSVRfTElTVF9IRUFEKFxcdTAwMjZ1Yi1cXHUwMDNlcmNhc3QubGlzdCk7XFxuK1xcdHNwaW5fbG9ja19pbml0KFxcdTAwMjZ1Yi1cXHUwMDNlcmNhc3RfbG9jayk7XFxuIFxcbiBcXHRpZiAoIWF0dHJzW1RJUENfTkxBX0JFQVJFUl9VRFBfT1BUU10pXFxuIFxcdFxcdGdvdG8gZXJyO1xcbkBAIC04MTksMTAgKzgzNCwxMiBAQCBzdGF0aWMgdm9pZCBjbGVhbnVwX2JlYXJlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXFxuIFxcdHN0cnVjdCB1ZHBfcmVwbGljYXN0ICpyY2FzdCwgKnRtcDtcXG4gXFx0c3RydWN0IHRpcGNfbmV0ICp0bjtcXG4gXFxuK1xcdHNwaW5fbG9ja19iaChcXHUwMDI2dWItXFx1MDAzZXJjYXN0X2xvY2spO1xcbiBcXHRsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocmNhc3QsIHRtcCwgXFx1MDAyNnViLVxcdTAwM2VyY2FzdC5saXN0LCBsaXN0KSB7XFxuIFxcdFxcdGxpc3RfZGVsX3JjdShcXHUwMDI2cmNhc3QtXFx1MDAzZWxpc3QpO1xcbiBcXHRcXHRjYWxsX3JjdV9odXJyeShcXHUwMDI2cmNhc3QtXFx1MDAzZXJjdSwgcmNhc3RfZnJlZV9yY3UpO1xcbiBcXHR9XFxuK1xcdHNwaW5fdW5sb2NrX2JoKFxcdTAwMjZ1Yi1cXHUwMDNlcmNhc3RfbG9jayk7XFxuIFxcbiBcXHR0biA9IHRpcGNfbmV0KHNvY2tfbmV0KHViLVxcdTAwM2VzaykpO1xcbiBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDZUMjA6NDQ6NTMuNzEwNDYzNDI0WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2ODUxMTUyNDU0OSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJUSVBDXCIsXG4gICAgXCJUSVBDX01FRElBX1VEUFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInRpcGNfdWRwX3JjYXN0X2FkZFwiLFxuICAgIFwidGlwY191ZHBfZW5hYmxlXCIsXG4gICAgXCJjbGVhbnVwX2JlYXJlclwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgY29uY3VycmVuY3kgaXNzdWUgaW4gVElQQyBVRFAgYmVhcmVyIGxvZ2ljIGJ5IGFkZGluZyBhIHNwaW5sb2NrIHRvIHByb3RlY3QgdGhlIHJlcGxpY2FzdCBsaXN0LiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvbnRyb2wgcGF0aCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgOGVkZDU0M2EwZmUyN2U4MTMyZTM4NmRkYzFlNDE0ZDg5MzUzZTI5OFxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBNb24gSnVsIDYgMjA6NDQ6NTEgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9uZXQvdGlwYy91ZHBfbWVkaWEuYyBiL25ldC90aXBjL3VkcF9tZWRpYS5jXG5pbmRleCA2MmFlN2Y1YjU4NDA5Yy4uNjAxMTc0Mjk3YTE2Y2QgMTAwNjQ0XG4tLS0gYS9uZXQvdGlwYy91ZHBfbWVkaWEuY1xuKysrIGIvbmV0L3RpcGMvdWRwX21lZGlhLmNcbkBAIC05NCw2ICs5NCw3IEBAIHN0cnVjdCB1ZHBfcmVwbGljYXN0IHtcbiAgKiBAaWZpbmRleDpcdGxvY2FsIGFkZHJlc3Mgc2NvcGVcbiAgKiBAd29yazpcdHVzZWQgdG8gc2NoZWR1bGUgZGVmZXJyZWQgd29yayBvbiBhIGJlYXJlclxuICAqIEByY2FzdDpcdGFzc29jaWF0ZWQgdWRwX3JlcGxpY2FzdCBjb250YWluZXJcbisgKiBAcmNhc3RfbG9jazpcdHNlcmlhbGl6ZXMgdXBkYXRlcyB0byBAcmNhc3QubGlzdFxuICAqL1xuIHN0cnVjdCB1ZHBfYmVhcmVyIHtcbiBcdHN0cnVjdCB0aXBjX2JlYXJlciBfX3JjdSAqYmVhcmVyO1xuQEAgLTEwMSw2ICsxMDIsNyBAQCBzdHJ1Y3QgdWRwX2JlYXJlciB7XG4gXHR1MzIgaWZpbmRleDtcbiBcdHN0cnVjdCB3b3JrX3N0cnVjdCB3b3JrO1xuIFx0c3RydWN0IHVkcF9yZXBsaWNhc3QgcmNhc3Q7XG4rXHRzcGlubG9ja190IHJjYXN0X2xvY2s7IC8qIHByb3RlY3RzIHJjYXN0Lmxpc3QgKi9cbiB9O1xuIFxuIHN0YXRpYyBpbnQgdGlwY191ZHBfaXNfbWNhc3RfYWRkcihzdHJ1Y3QgdWRwX21lZGlhX2FkZHIgKmFkZHIpXG5AQCAtMzAxLDcgKzMwMyw3IEBAIHN0YXRpYyBib29sIHRpcGNfdWRwX2lzX2tub3duX3BlZXIoc3RydWN0IHRpcGNfYmVhcmVyICpiLFxuIHN0YXRpYyBpbnQgdGlwY191ZHBfcmNhc3RfYWRkKHN0cnVjdCB0aXBjX2JlYXJlciAqYixcbiBcdFx0XHQgICAgICBzdHJ1Y3QgdWRwX21lZGlhX2FkZHIgKmFkZHIpXG4ge1xuLVx0c3RydWN0IHVkcF9yZXBsaWNhc3QgKnJjYXN0O1xuK1x0c3RydWN0IHVkcF9yZXBsaWNhc3QgKnJjYXN0LCAqdG1wO1xuIFx0c3RydWN0IHVkcF9iZWFyZXIgKnViO1xuIFxuIFx0dWIgPSByY3VfZGVyZWZlcmVuY2VfcnRubChiLVx1MDAzZW1lZGlhX3B0cik7XG5AQCAtMzE5LDYgKzMyMSwxNyBAQCBzdGF0aWMgaW50IHRpcGNfdWRwX3JjYXN0X2FkZChzdHJ1Y3QgdGlwY19iZWFyZXIgKmIsXG4gXG4gXHRtZW1jcHkoXHUwMDI2cmNhc3QtXHUwMDNlYWRkciwgYWRkciwgc2l6ZW9mKHN0cnVjdCB1ZHBfbWVkaWFfYWRkcikpO1xuIFxuK1x0LyogdGlwY191ZHBfcmNhc3RfZGlzYygpIGFkZHMgZnJvbSBzb2Z0aXJxIHdpdGhvdXQgcnRubF9sb2NrKCkuICovXG4rXHRzcGluX2xvY2tfYmgoXHUwMDI2dWItXHUwMDNlcmNhc3RfbG9jayk7XG4rXHRsaXN0X2Zvcl9lYWNoX2VudHJ5KHRtcCwgXHUwMDI2dWItXHUwMDNlcmNhc3QubGlzdCwgbGlzdCkge1xuK1x0XHRpZiAoIW1lbWNtcChcdTAwMjZ0bXAtXHUwMDNlYWRkciwgYWRkciwgc2l6ZW9mKHN0cnVjdCB1ZHBfbWVkaWFfYWRkcikpKSB7XG4rXHRcdFx0c3Bpbl91bmxvY2tfYmgoXHUwMDI2dWItXHUwMDNlcmNhc3RfbG9jayk7XG4rXHRcdFx0ZHN0X2NhY2hlX2Rlc3Ryb3koXHUwMDI2cmNhc3QtXHUwMDNlZHN0X2NhY2hlKTtcbitcdFx0XHRrZnJlZShyY2FzdCk7XG4rXHRcdFx0cmV0dXJuIDA7XG4rXHRcdH1cbitcdH1cbitcbiBcdGlmIChudG9ocyhhZGRyLVx1MDAzZXByb3RvKSA9PSBFVEhfUF9JUClcbiBcdFx0cHJfaW5mbyhcIk5ldyByZXBsaWNhc3QgcGVlcjogJXBJNFxcblwiLCBcdTAwMjZyY2FzdC1cdTAwM2VhZGRyLmlwdjQpO1xuICNpZiBJU19FTkFCTEVEKENPTkZJR19JUFY2KVxuQEAgLTMyNyw2ICszNDAsNyBAQCBzdGF0aWMgaW50IHRpcGNfdWRwX3JjYXN0X2FkZChzdHJ1Y3QgdGlwY19iZWFyZXIgKmIsXG4gI2VuZGlmXG4gXHRiLVx1MDAzZWJjYXN0X2FkZHIuYnJvYWRjYXN0ID0gVElQQ19SRVBMSUNBU1RfU1VQUE9SVDtcbiBcdGxpc3RfYWRkX3JjdShcdTAwMjZyY2FzdC1cdTAwM2VsaXN0LCBcdTAwMjZ1Yi1cdTAwM2VyY2FzdC5saXN0KTtcbitcdHNwaW5fdW5sb2NrX2JoKFx1MDAyNnViLVx1MDAzZXJjYXN0X2xvY2spO1xuIFx0cmV0dXJuIDA7XG4gfVxuIFxuQEAgLTY3OSw2ICs2OTMsNyBAQCBzdGF0aWMgaW50IHRpcGNfdWRwX2VuYWJsZShzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCB0aXBjX2JlYXJlciAqYixcbiBcdFx0cmV0dXJuIC1FTk9NRU07XG4gXG4gXHRJTklUX0xJU1RfSEVBRChcdTAwMjZ1Yi1cdTAwM2VyY2FzdC5saXN0KTtcbitcdHNwaW5fbG9ja19pbml0KFx1MDAyNnViLVx1MDAzZXJjYXN0X2xvY2spO1xuIFxuIFx0aWYgKCFhdHRyc1tUSVBDX05MQV9CRUFSRVJfVURQX09QVFNdKVxuIFx0XHRnb3RvIGVycjtcbkBAIC04MTksMTAgKzgzNCwxMiBAQCBzdGF0aWMgdm9pZCBjbGVhbnVwX2JlYXJlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG4gXHRzdHJ1Y3QgdWRwX3JlcGxpY2FzdCAqcmNhc3QsICp0bXA7XG4gXHRzdHJ1Y3QgdGlwY19uZXQgKnRuO1xuIFxuK1x0c3Bpbl9sb2NrX2JoKFx1MDAyNnViLVx1MDAzZXJjYXN0X2xvY2spO1xuIFx0bGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHJjYXN0LCB0bXAsIFx1MDAyNnViLVx1MDAzZXJjYXN0Lmxpc3QsIGxpc3QpIHtcbiBcdFx0bGlzdF9kZWxfcmN1KFx1MDAyNnJjYXN0LVx1MDAzZWxpc3QpO1xuIFx0XHRjYWxsX3JjdV9odXJyeShcdTAwMjZyY2FzdC1cdTAwM2VyY3UsIHJjYXN0X2ZyZWVfcmN1KTtcbiBcdH1cbitcdHNwaW5fdW5sb2NrX2JoKFx1MDAyNnViLVx1MDAzZXJjYXN0X2xvY2spO1xuIFxuIFx0dG4gPSB0aXBjX25ldChzb2NrX25ldCh1Yi1cdTAwM2VzaykpO1xuIFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDZUMjA6NDQ6NTMuNzEwNDY1Nzc0WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTEzNTUzMjQ2MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIFRJUEMgVURQIEJlYXJlciBQYXRjaCoqXG5cbk9rYXksIHNvIEkndmUgZ290IHRoaXMgcGF0Y2gg4oCTIHNlZW1zIGxpa2UgYSBzdHJhaWdodGZvcndhcmQgZnVuY3Rpb25hbCBjaGFuZ2UgdG8gdGhlIFRJUEMgVURQIGJlYXJlciBsb2dpYy4gSXQncyB0b3VjaGluZyBgbmV0L3RpcGMvdWRwX21lZGlhLmNgLCBhbmQgdGhlIGtleSBoZXJlIGlzIHRoZSBpbnRyb2R1Y3Rpb24gb2YgYSBzcGlubG9jaywgYHJjYXN0X2xvY2tgLCB0byB0aGUgYHN0cnVjdCB1ZHBfYmVhcmVyYC4gQXBwYXJlbnRseSwgdGhpcyBpcyB0byBwcm90ZWN0IHRoZSBgcmNhc3QubGlzdGAgbWVtYmVyLCB3aGljaCBtYWtlcyBzZW5zZTsgYWx3YXlzIGdvb2QgdG8gc2VlIHRob3NlIGNvbmN1cnJlbmN5IGlzc3VlcyBhZGRyZXNzZWQgd2l0aCBhcHByb3ByaWF0ZSBzeW5jaHJvbml6YXRpb24gcHJpbWl0aXZlcy4gVGhlIHBhdGNoIGlzIGFsc28gbW9kaWZ5aW5nIGB0aXBjX3VkcF9yY2FzdF9hZGRgLCBgdGlwY191ZHBfZW5hYmxlYCwgYW5kIGBjbGVhbnVwX2JlYXJlcmAg4oCTIGZ1bmN0aW9ucyB0aGF0IGFyZSBjbGVhcmx5IGludGVyYWN0aW5nIHdpdGggdGhpcyBicm9hZGNhc3QgbGlzdC5cblxuTm93LCBiZWZvcmUgSSBkaXZlIHRvbyBkZWVwLCBJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgZGVwZW5kZW5jaWVzIGFuZCBjb25maWd1cmF0aW9ucy4gSSdsbCBuZWVkIHRvIGNoZWNrIHRoZSBLY29uZmlnIGZpbGVzLCBzdGFydGluZyB3aXRoIGBuZXQvdGlwYy91ZHBfbWVkaWEuY2AgaXRzZWxmLCB0byBzZWUgd2hhdCBvcHRpb25zIGNvbnRyb2wgdGhpcyBmdW5jdGlvbmFsaXR5LiBNeSBpbW1lZGlhdGUgaHVuY2ggaXMgdGhhdCB0aGlzIGlzIGNvbnRyb2xsZWQgYnkgYENPTkZJR19USVBDX01FRElBX1VEUGAsIGFuZCBvZiBjb3Vyc2UgYENPTkZJR19USVBDYCBtdXN0IGJlIHNldCBhcyBhIHByZXJlcXVpc2l0ZS4gXG5cbkxldCdzIHF1aWNrbHkgY29uZmlybSB3aXRoIGBncmVwcGVyYCwgdG8gYmUgYWJzb2x1dGVseSBzdXJlLiBUaGlzIHdpbGwgaGVscCBtYWtlIHN1cmUgSSB1bmRlcnN0YW5kIHRoZSBjb250ZXh0IHdpdGhpbiB0aGUgbGFyZ2VyIFRJUEMgc3lzdGVtIGJlZm9yZSBJIHN0YXJ0IHJldmlld2luZyB0aGUgcGF0Y2ggaXRzZWxmLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNzE2LCJPdXRwdXRUb2tlbnMiOjMxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTY5LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDZUMjA6NDQ6NTguODQ2MDAwNzc3WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQ0MDkwMzg5NywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJUSVBDX01FRElBX1VEUFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvdGlwYy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwibmV0L3RpcGMvS2NvbmZpZz0yND1jb25maWcgVElQQ19NRURJQV9JQlxcbi0tXFxubmV0L3RpcGMvS2NvbmZpZy0yOS1cXHQgIElQLW92ZXItSW5maW5pQmFuZCBkZXZpY2VzLlxcbm5ldC90aXBjL0tjb25maWc6MzA6Y29uZmlnIFRJUENfTUVESUFfVURQXFxubmV0L3RpcGMvS2NvbmZpZy0zMS1cXHRib29sIFxcXCJJUC9VRFAgbWVkaWEgdHlwZSBzdXBwb3J0XFxcIlxcbi0tXFxubmV0L3RpcGMvTWFrZWZpbGU9MTQ9Q0ZMQUdTX3RyYWNlLm8gKz0gLUkkKHNyYylcXG5uZXQvdGlwYy9NYWtlZmlsZS0xNS1cXG5uZXQvdGlwYy9NYWtlZmlsZToxNjp0aXBjLSQoQ09ORklHX1RJUENfTUVESUFfVURQKVxcdCs9IHVkcF9tZWRpYS5vXFxubmV0L3RpcGMvTWFrZWZpbGUtMTctdGlwYy0kKENPTkZJR19USVBDX01FRElBX0lCKVxcdCs9IGliX21lZGlhLm9cXG4tLVxcbm5ldC90aXBjL2JlYXJlci5jPTUxPXN0YXRpYyBzdHJ1Y3QgdGlwY19tZWRpYSAqIGNvbnN0IG1lZGlhX2luZm9fYXJyYXlbXSA9IHtcXG4tLVxcbm5ldC90aXBjL2JlYXJlci5jLTU1LSNlbmRpZlxcbm5ldC90aXBjL2JlYXJlci5jOjU2OiNpZmRlZiBDT05GSUdfVElQQ19NRURJQV9VRFBcXG5uZXQvdGlwYy9iZWFyZXIuYy01Ny1cXHRcXHUwMDI2dWRwX21lZGlhX2luZm8sXFxuLS1cXG5uZXQvdGlwYy9iZWFyZXIuYz04MjQ9c3RhdGljIGludCBfX3RpcGNfbmxfYWRkX2JlYXJlcihzdHJ1Y3QgdGlwY19ubF9tc2cgKm1zZyxcXG4tLVxcbm5ldC90aXBjL2JlYXJlci5jLTg1Ny1cXG5uZXQvdGlwYy9iZWFyZXIuYzo4NTg6I2lmZGVmIENPTkZJR19USVBDX01FRElBX1VEUFxcbm5ldC90aXBjL2JlYXJlci5jLTg1OS1cXHRpZiAoYmVhcmVyLVxcdTAwM2VtZWRpYS1cXHUwMDNldHlwZV9pZCA9PSBUSVBDX01FRElBX1RZUEVfVURQKSB7XFxuLS1cXG5uZXQvdGlwYy9iZWFyZXIuYz0xMDYzPWludCB0aXBjX25sX2JlYXJlcl9hZGQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcXG4tLVxcbm5ldC90aXBjL2JlYXJlci5jLTEwOTEtXFxubmV0L3RpcGMvYmVhcmVyLmM6MTA5MjojaWZkZWYgQ09ORklHX1RJUENfTUVESUFfVURQXFxubmV0L3RpcGMvYmVhcmVyLmMtMTA5My1cXHRpZiAoYXR0cnNbVElQQ19OTEFfQkVBUkVSX1VEUF9PUFRTXSkge1xcbi0tXFxubmV0L3RpcGMvYmVhcmVyLmM9MTExMD1pbnQgX190aXBjX25sX2JlYXJlcl9zZXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcXG4tLVxcbm5ldC90aXBjL2JlYXJlci5jLTExNTgtXFx0XFx0XFx0fVxcbm5ldC90aXBjL2JlYXJlci5jOjExNTk6I2lmZGVmIENPTkZJR19USVBDX01FRElBX1VEUFxcbm5ldC90aXBjL2JlYXJlci5jLTExNjAtXFx0XFx0XFx0aWYgKG5sYV9nZXRfdTMyKHByb3BzW1RJUENfTkxBX1BST1BfTVRVXSkgXFx1MDAzY1xcbi0tXFxubmV0L3RpcGMvYmVhcmVyLmM9MTMxMT1pbnQgX190aXBjX25sX21lZGlhX3NldChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxcbi0tXFxubmV0L3RpcGMvYmVhcmVyLmMtMTM1My1cXHRcXHRcXHR9XFxubmV0L3RpcGMvYmVhcmVyLmM6MTM1NDojaWZkZWYgQ09ORklHX1RJUENfTUVESUFfVURQXFxubmV0L3RpcGMvYmVhcmVyLmMtMTM1NS1cXHRcXHRcXHRpZiAodGlwY191ZHBfbXR1X2JhZChubGFfZ2V0X3UzMlxcbi0tXFxubmV0L3RpcGMvYmVhcmVyLmg9MTk2PWV4dGVybiBzdHJ1Y3QgdGlwY19tZWRpYSBpYl9tZWRpYV9pbmZvO1xcbm5ldC90aXBjL2JlYXJlci5oLTE5Ny0jZW5kaWZcXG5uZXQvdGlwYy9iZWFyZXIuaDoxOTg6I2lmZGVmIENPTkZJR19USVBDX01FRElBX1VEUFxcbm5ldC90aXBjL2JlYXJlci5oLTE5OS1leHRlcm4gc3RydWN0IHRpcGNfbWVkaWEgdWRwX21lZGlhX2luZm87XFxuLS1cXG5uZXQvdGlwYy9uZXRsaW5rLmM9MTUxPXN0YXRpYyBjb25zdCBzdHJ1Y3QgZ2VubF9vcHMgdGlwY19nZW5sX3YyX29wc1tdID0ge1xcbi0tXFxubmV0L3RpcGMvbmV0bGluay5jLTI2OS1cXHR9LFxcbm5ldC90aXBjL25ldGxpbmsuYzoyNzA6I2lmZGVmIENPTkZJR19USVBDX01FRElBX1VEUFxcbm5ldC90aXBjL25ldGxpbmsuYy0yNzEtXFx0e1xcbi0tXFxubmV0L3RpcGMvdWRwX21lZGlhLmgtMzYtXFxubmV0L3RpcGMvdWRwX21lZGlhLmg6Mzc6I2lmZGVmIENPTkZJR19USVBDX01FRElBX1VEUFxcbm5ldC90aXBjL3VkcF9tZWRpYS5oLTM4LSNpZm5kZWYgX1RJUENfVURQX01FRElBX0hcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDZUMjA6NDQ6NTkuMjg2OTExMjE0WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTc3OTQ0Njk5MTAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSB0YWtlIG9uIHRoZSBzaXR1YXRpb246XG5cbioqSW52ZXN0aWdhdGluZyB0aGUgQ29uZmlndXJhdGlvbiBmb3IgVElQQyBNZWRpYSBvdmVyIFVEUCoqXG5cbk9rYXksIHNvIEkgbmVlZCB0byBjb25maWd1cmUgdGhpcyBzeXN0ZW0gdG8gdXNlIFRJUEMgb3ZlciBVRFAgbWVkaWEuIFRoZSBzcGVjaWZpYyBjb25maWd1cmF0aW9uIG9wdGlvbiBJIG5lZWQgaXMgYFRJUENfTUVESUFfVURQYCwgYW5kIG9mIGNvdXJzZSwgSSdsbCBuZWVkIGBUSVBDYCBlbmFibGVkIGFzIHdlbGwuIE15IGZpcnN0IG1vdmUgaXMgdG8gaGVhZCBvdmVyIHRvIHRoZSBrZXJuZWwgY29uZmlndXJhdGlvbiBmaWxlcy4gVGhlIHBsYWNlIHRvIHN0YXJ0IGxvb2tpbmcgaXMgYG5ldC90aXBjL0tjb25maWdgLiBUaGF0J3Mgd2hlcmUgYWxsIHRoZSBtYWlubGluZSBUSVBDIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBzaG91bGQgcmVzaWRlLiBGcm9tIHRoZXJlLCBJIGNhbiBmaWd1cmUgb3V0IHRoZSBkZXBlbmRlbmNpZXMsIGltcGxpY2F0aW9ucywgYW5kIG1heWJlIGV2ZW4gZ2V0IGEgc2Vuc2Ugb2YgaG93IHRvIHByb3Blcmx5IHNldCB1cCB0aGUgVURQIG1lZGlhIHBhcnQuIExldCdzIHNlZSB3aGF0IHRoYXQgS2NvbmZpZyBmaWxlIHJldmVhbHMuLi4gSSdtIGV4cGVjdGluZyB0byBmaW5kIHRoZSBgVElQQ2Agb3B0aW9uIHRoZXJlLCBhbmQgaG9wZWZ1bGx5LCBgVElQQ19NRURJQV9VRFBgIGFzIGEgZGlyZWN0bHkgcmVsYXRlZCBjaG9pY2UuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQyMTcsIk91dHB1dFRva2VucyI6MjgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozOCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wNlQyMDo0NToxNy4wODEzODM0MTRaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6OTU4MDQ3MjMsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIFRJUENcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L3RpcGMvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC90aXBjL0tjb25maWctNS1cXG5uZXQvdGlwYy9LY29uZmlnOjY6bWVudWNvbmZpZyBUSVBDXFxubmV0L3RpcGMvS2NvbmZpZy03LVxcdHRyaXN0YXRlIFxcXCJUaGUgVElQQyBQcm90b2NvbFxcXCJcXG4tLVxcbm5ldC90aXBjL0tjb25maWctMjMtXFxubmV0L3RpcGMvS2NvbmZpZzoyNDpjb25maWcgVElQQ19NRURJQV9JQlxcbm5ldC90aXBjL0tjb25maWctMjUtXFx0Ym9vbCBcXFwiSW5maW5pQmFuZCBtZWRpYSB0eXBlIHN1cHBvcnRcXFwiXFxuLS1cXG5uZXQvdGlwYy9LY29uZmlnLTI5LVxcdCAgSVAtb3Zlci1JbmZpbmlCYW5kIGRldmljZXMuXFxubmV0L3RpcGMvS2NvbmZpZzozMDpjb25maWcgVElQQ19NRURJQV9VRFBcXG5uZXQvdGlwYy9LY29uZmlnLTMxLVxcdGJvb2wgXFxcIklQL1VEUCBtZWRpYSB0eXBlIHN1cHBvcnRcXFwiXFxuLS1cXG5uZXQvdGlwYy9LY29uZmlnLTM3LVxcbm5ldC90aXBjL0tjb25maWc6Mzg6Y29uZmlnIFRJUENfQ1JZUFRPXFxubmV0L3RpcGMvS2NvbmZpZy0zOS1cXHRib29sIFxcXCJUSVBDIGVuY3J5cHRpb24gc3VwcG9ydFxcXCJcXG4tLVxcbm5ldC90aXBjL0tjb25maWctNTItXFxubmV0L3RpcGMvS2NvbmZpZzo1Mzpjb25maWcgVElQQ19ESUFHXFxubmV0L3RpcGMvS2NvbmZpZy01NC1cXHR0cmlzdGF0ZSBcXFwiVElQQzogc29ja2V0IG1vbml0b3JpbmcgaW50ZXJmYWNlXFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wNlQyMDo0NToxNy4xNzcxOTcxMjhaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MTU0Mjg5NTg3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgVElQQyBVRFAgQ29uZmlndXJhdGlvbiBDaGFuZ2UqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGFuZCBpbW1lZGlhdGVseSwgYFRJUENgIGFuZCBgVElQQ19NRURJQV9VRFBgIGFyZSB0aGUga2V5IGNvbmZpZ3MgdGhhdCBhcmUgYmVpbmcgdG91Y2hlZC4gTXkgaW1tZWRpYXRlIGZvY3VzIGlzIG9uIHRoZSBmdW5jdGlvbnMgdGhhdCB0aGlzIHBhdGNoIGlzIG1vZGlmeWluZy4gVGhlIGRpZmYgc2hvd3MgbWUgaXQncyB6ZXJvaW5nIGluIG9uOiBgdGlwY191ZHBfcmNhc3RfYWRkYCwgYHRpcGNfdWRwX2VuYWJsZWAsIGFuZCBgY2xlYW51cF9iZWFyZXJgLlxuXG5Ob3csIHRoZSBpbXBvcnRhbnQgcXVlc3Rpb24gaXM6IGFyZSB0aGVzZSBwZXJmb3JtYW5jZS1jcml0aWNhbCBwYXRocz8gTGV0J3Mgc2VlLi4uIGB0aXBjX3VkcF9yY2FzdF9hZGRgIGlzIHRoZSBvbmUgY2FsbGVkIHdoZW4gYSBuZXcgcmVwbGljYXN0IHBlZXIgaXMgYWRkZWQuICBgdGlwY191ZHBfZW5hYmxlYCBpcyBnb2luZyB0byBiZSBhY3RpdmF0ZWQgd2hlbiBhIFVEUCBiZWFyZXIgaXMgZW5hYmxlZC4gQW5kIGZpbmFsbHksIGBjbGVhbnVwX2JlYXJlcmAgaXMsIGFzIHRoZSBuYW1lIGltcGxpZXMsIGludm9rZWQgd2hlbiBhIFVEUCBiZWFyZXIgaXMgZGlzYWJsZWQgb3IgY2xlYW5lZCB1cC5cblxuSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGltcGFjdCBvZiBhbnkgY2hhbmdlcyB0byB0aGVzZSBmdW5jdGlvbnMsIHNvIEknbGwgc3RhcnQgYnkgY2hlY2tpbmcgdGhlIGNhbGxlcnMgb2YgYHRpcGNfdWRwX3JjYXN0X2FkZGAuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ3NTYsIk91dHB1dFRva2VucyI6MzQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNTMsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDZUMjA6NDU6MjEuMzMxNDkwMTU1WiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjg3OTAzNzA2LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInRpcGNfdWRwX3JjYXN0X2FkZFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvdGlwYy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwibmV0L3RpcGMvdWRwX21lZGlhLmM9MjgzPXN0YXRpYyBib29sIHRpcGNfdWRwX2lzX2tub3duX3BlZXIoc3RydWN0IHRpcGNfYmVhcmVyICpiLFxcbi0tXFxubmV0L3RpcGMvdWRwX21lZGlhLmMtMzAyLVxcbm5ldC90aXBjL3VkcF9tZWRpYS5jOjMwMzpzdGF0aWMgaW50IHRpcGNfdWRwX3JjYXN0X2FkZChzdHJ1Y3QgdGlwY19iZWFyZXIgKmIsXFxubmV0L3RpcGMvdWRwX21lZGlhLmMtMzA0LVxcdFxcdFxcdCAgICAgIHN0cnVjdCB1ZHBfbWVkaWFfYWRkciAqYWRkcilcXG4tLVxcbm5ldC90aXBjL3VkcF9tZWRpYS5jPTM0Nz1zdGF0aWMgaW50IHRpcGNfdWRwX3JjYXN0X2Rpc2Moc3RydWN0IHRpcGNfYmVhcmVyICpiLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKVxcbi0tXFxubmV0L3RpcGMvdWRwX21lZGlhLmMtMzgwLVxcbm5ldC90aXBjL3VkcF9tZWRpYS5jOjM4MTpcXHRyZXR1cm4gdGlwY191ZHBfcmNhc3RfYWRkKGIsIFxcdTAwMjZzcmMpO1xcbm5ldC90aXBjL3VkcF9tZWRpYS5jLTM4Mi19XFxuLS1cXG5uZXQvdGlwYy91ZHBfbWVkaWEuYz02Mzg9aW50IHRpcGNfdWRwX25sX2JlYXJlcl9hZGQoc3RydWN0IHRpcGNfYmVhcmVyICpiLCBzdHJ1Y3QgbmxhdHRyICphdHRyKVxcbi0tXFxubmV0L3RpcGMvdWRwX21lZGlhLmMtNjYzLVxcbm5ldC90aXBjL3VkcF9tZWRpYS5jOjY2NDpcXHRyZXR1cm4gdGlwY191ZHBfcmNhc3RfYWRkKGIsIFxcdTAwMjZhZGRyKTtcXG5uZXQvdGlwYy91ZHBfbWVkaWEuYy02NjUtfVxcbi0tXFxubmV0L3RpcGMvdWRwX21lZGlhLmM9Njc2PXN0YXRpYyBpbnQgdGlwY191ZHBfZW5hYmxlKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IHRpcGNfYmVhcmVyICpiLFxcbi0tXFxubmV0L3RpcGMvdWRwX21lZGlhLmMtODA2LVxcdGVsc2VcXG5uZXQvdGlwYy91ZHBfbWVkaWEuYzo4MDc6XFx0XFx0ZXJyID0gdGlwY191ZHBfcmNhc3RfYWRkKGIsIFxcdTAwMjZyZW1vdGUpO1xcbm5ldC90aXBjL3VkcF9tZWRpYS5jLTgwOC1cXHRpZiAoZXJyKVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wNlQyMDo0NToyMS40MTk0MDA2NzFaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxNDMxMTQxMTUwNiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIENhbGwgUGF0aHMgZm9yIFVEUCBNdWx0aWNhc3QgaW4gVElQQyoqXG5cbk9rYXksIHNvIEknbSB0cmFjaW5nIHRoZSB1c2FnZSBvZiBgdGlwY191ZHBfcmNhc3RfYWRkYC4gSXQgbG9va3MgbGlrZSB0aGlzIGZ1bmN0aW9uIGlzIHByZXR0eSBjZW50cmFsIHRvIGhhbmRsaW5nIFVEUCBtdWx0aWNhc3QgaW4gVElQQy4gSSdtIHNlZWluZyB0aGF0IGB0aXBjX3VkcF9yY2FzdF9hZGRgIGlzIGNhbGxlZCBmcm9tIGEgZmV3IGtleSBwbGFjZXM6IGB0aXBjX3VkcF9yY2FzdF9kaXNjYCwgYHRpcGNfdWRwX25sX2JlYXJlcl9hZGRgLCBhbmQgYHRpcGNfdWRwX2VuYWJsZWAuIFJpZ2h0LCBtYWtlcyBzZW5zZS4gXG5cbmB0aXBjX3VkcF9yY2FzdF9kaXNjYCBpcyB0cmlnZ2VyZWQgYnkgYSBkaXNjb3ZlcnkgbWVzc2FnZSDigJMgc28gdGhpcyBmdW5jdGlvbiBtdXN0IGJlIGludm9sdmVkIGluIHJlZ2lzdGVyaW5nIG5vZGVzIHdoZW4gYSBuZXcgZGlzY292ZXJ5IHBhY2tldCBpcyByZWNlaXZlZC4gVGhhdCdzIGEgY2xhc3NpYyBtdWx0aWNhc3Qgc2V0dXAgc2NlbmFyaW8sIHNvIEknbSBub3Qgc3VycHJpc2VkIHRoZXJlLlxuXG5gdGlwY191ZHBfbmxfYmVhcmVyX2FkZGAgY29tZXMgZnJvbSBuZXRsaW5rLiBUaGlzIHByb2JhYmx5IG1lYW5zIGl0J3MgaG93IHdlJ3JlIGNvbmZpZ3VyaW5nIHRoaW5ncyB0aHJvdWdoIGEgdXNlci1zcGFjZSBwcm9jZXNzLiBNYWtlcyB0aGUgc2V0dXAgYWNjZXNzaWJsZSBpbiB1c2VybGFuZC5cblxuQW5kIGB0aXBjX3VkcF9lbmFibGVgIGlzIGNhbGxlZCB3aGVuIGEgYmVhcmVyIGlzIGVuYWJsZWQuIFRoYXQncyBhIGhpZ2gtbGV2ZWwgdHJpZ2dlciwgaW5kaWNhdGluZyB0aGF0IFVEUCBtdWx0aWNhc3QgZnVuY3Rpb25hbGl0eSBpcyBiZWluZyBhY3RpdmF0ZWQuIFRoYXQgb25lJ3MgY2xlYXIuXG5cbk5vdywgbGV0J3Mgc2VlLCB3aGF0J3MgdGhpcyBgY2xlYW51cF9iZWFyZXJgIGZ1bmN0aW9uIGRvaW5nPyBUaGF0IG9uZSdzIGNhbGxlZCBmcm9tIGEgd29ya3F1ZXVlLiBJIG5lZWQgdG8gaW52ZXN0aWdhdGUgdGhhdCB0byBzZWUgd2hhdCdzIGJlaW5nIGNsZWFuZWQgdXAsIGFuZCB3aGF0IGlzIGl0cyB1c2UgY2FzZS4gSSdtIGdvaW5nIHRvIGp1bXAgaW50byBgbmV0L3RpcGMvdWRwX21lZGlhLmNgIG5vdyB0byBleGFtaW5lIHRoYXQgZnVuY3Rpb24gaW4gZGV0YWlsLlxuXG5cbiIsIklucHV0VG9rZW5zIjo1NjM0LCJPdXRwdXRUb2tlbnMiOjI4LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTM5LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA2VDIwOjQ1OjM1LjczMDgxNDg4NloiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6OTMyNDI1NTQsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY2xlYW51cF9iZWFyZXJcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L3RpcGMvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC90aXBjL3VkcF9tZWRpYS5jPTgyMj1zdGF0aWMgdm9pZCByY2FzdF9mcmVlX3JjdShzdHJ1Y3QgcmN1X2hlYWQgKnJjdSlcXG4tLVxcbm5ldC90aXBjL3VkcF9tZWRpYS5jLTgyOS1cXG5uZXQvdGlwYy91ZHBfbWVkaWEuYzo4MzA6LyogY2xlYW51cF9iZWFyZXIgLSBicmVhayB0aGUgc29ja2V0L2JlYXJlciBhc3NvY2lhdGlvbiAqL1xcbm5ldC90aXBjL3VkcF9tZWRpYS5jOjgzMTpzdGF0aWMgdm9pZCBjbGVhbnVwX2JlYXJlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXFxubmV0L3RpcGMvdWRwX21lZGlhLmMtODMyLXtcXG4tLVxcbm5ldC90aXBjL3VkcF9tZWRpYS5jPTg1Nz1zdGF0aWMgdm9pZCB0aXBjX3VkcF9kaXNhYmxlKHN0cnVjdCB0aXBjX2JlYXJlciAqYilcXG4tLVxcbm5ldC90aXBjL3VkcF9tZWRpYS5jLTg3MC1cXHRhdG9taWNfaW5jKFxcdTAwMjZ0aXBjX25ldChzb2NrX25ldCh1Yi1cXHUwMDNlc2spKS1cXHUwMDNld3FfY291bnQpO1xcbm5ldC90aXBjL3VkcF9tZWRpYS5jOjg3MTpcXHRJTklUX1dPUksoXFx1MDAyNnViLVxcdTAwM2V3b3JrLCBjbGVhbnVwX2JlYXJlcik7XFxubmV0L3RpcGMvdWRwX21lZGlhLmMtODcyLVxcdHNjaGVkdWxlX3dvcmsoXFx1MDAyNnViLVxcdTAwM2V3b3JrKTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDZUMjA6NDU6MzUuODI0MDYzNTdaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MjYyNjc0MDQxOTksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIENvbmN1cnJlbmN5IEZpeGVzIGluIFRJUEMgVURQIFJlcGxpY2FzdCoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggYW5kLCByaWdodCBvZmYgdGhlIGJhdCwgSSBzZWUgdGhlc2UgYXJlbid0IHBlcmZvcm1hbmNlLWNyaXRpY2FsIGZ1bmN0aW9ucy4gVGhleSdyZSBhbGwgY29udHJvbC1wYXRoIG9wZXJhdGlvbnPigJRzdHVmZiBmb3IgbWFuYWdpbmcgUmVwbGljYXN0IHBlZXJzLCBlbmFibGluZy9kaXNhYmxpbmcgYmVhcmVycyBhbmQgdGhlIGxpa2UuIFRoYXQgc2ltcGxpZmllcyB0aGluZ3MgYSBiaXQ7IHdlJ3JlIG5vdCBkZWFsaW5nIHdpdGggdGlnaHQgbG9vcHMgaGVyZS4gTXkgZm9jdXMsIHRoZW4sIGlzIHNxdWFyZWx5IG9uIHRoZXNlIGZ1bmN0aW9uczogYHRpcGNfdWRwX3JjYXN0X2FkZGAsIGB0aXBjX3VkcF9lbmFibGVgLCBgY2xlYW51cF9iZWFyZXJgLCBgdGlwY191ZHBfcmNhc3RfZGlzY2AsIGB0aXBjX3VkcF9ubF9iZWFyZXJfYWRkYCwgYW5kIGB0aXBjX3VkcF9kaXNhYmxlYC5cblxuTGV0J3MgcGljayBhIGZldyBvZiB0aG9zZSBmb3IgY2xvc2VyIHNjcnV0aW55IOKAkyBgdGlwY191ZHBfcmNhc3RfYWRkYCwgYHRpcGNfdWRwX2VuYWJsZWAsIGFuZCBgY2xlYW51cF9iZWFyZXJgIGp1bXAgb3V0IGFzIHJlcHJlc2VudGF0aXZlLiBUaGUgZ2lzdCBvZiB0aGUgcGF0Y2ggaXMgYSBjb25jdXJyZW5jeSBmaXguIEl0IGludHJvZHVjZXMgYSBzcGlubG9jaywgYHJjYXN0X2xvY2tgLCB0byBndWFyZCBgdWItXHUwMDNlcmNhc3QubGlzdGAuIFRoYXQgdGVsbHMgbWUgdGhpcyBpcyBhICpmdW5jdGlvbmFsKiBjaGFuZ2UsIGRlc2lnbmVkIHRvIHByb3RlY3QgdGhlIGludGVncml0eSBvZiB0aGUgUmVwbGljYXN0IGxpc3QsIGxpa2VseSBmcm9tIHNpbXVsdGFuZW91cyBhY2Nlc3MuIFNvLCB0aGUgcXVlc3Rpb24gaXMsIGlzIHRoaXMgYWN0dWFsbHkgbmVjZXNzYXJ5P1xuXG5XZWxsLCBsZXQncyB0cmFjZSBgdGlwY191ZHBfcmNhc3RfYWRkYC4gRnJvbSB3aGF0IEkga25vdywgaXQncyByZWFjaGFibGUgdGhyb3VnaCBuZXRsaW5rIG1lc3NhZ2VzIGFuZCBkaXNjb3ZlcnkgbWVzc2FnZXMuIEFscmlnaHQsIHRoYXQgY29uZmlybXMgbXkgYXNzdW1wdGlvbi4gTm93LCBiYXNlZCBvbiB0aGUgY29kZWJhc2UsIHRoZSByZWxldmFudCBjb25maWd1cmF0aW9ucyBhcmUgYFRJUENgIGFuZCBgVElQQ19NRURJQV9VRFBgLiBGaW5lLiBTZWVtcyBwcmV0dHkgc3RyYWlnaHRmb3J3YXJkLCBJIHRoaW5rIEkndmUgZ290IGEgaGFuZGxlIG9uIHRoZSBzaXR1YXRpb24gbm93LlxuXG5cbiIsIklucHV0VG9rZW5zIjo2NDAwLCJPdXRwdXRUb2tlbnMiOjExMCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjIzMSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wNlQyMDo0NjowMi4wOTE0Njk3ODlaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMzA1MTI1NjQsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIlRJUENcIixcbiAgICBcIlRJUENfTUVESUFfVURQXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwidGlwY191ZHBfcmNhc3RfYWRkXCIsXG4gICAgXCJ0aXBjX3VkcF9lbmFibGVcIixcbiAgICBcImNsZWFudXBfYmVhcmVyXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYSBjb25jdXJyZW5jeSBpc3N1ZSBpbiBUSVBDIFVEUCBiZWFyZXIgbG9naWMgYnkgYWRkaW5nIGEgc3BpbmxvY2sgdG8gcHJvdGVjdCB0aGUgcmVwbGljYXN0IGxpc3QuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29udHJvbCBwYXRoIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJUSVBDXCIsXG4gICAgXCJUSVBDX01FRElBX1VEUFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInRpcGNfdWRwX3JjYXN0X2FkZFwiLFxuICAgIFwidGlwY191ZHBfZW5hYmxlXCIsXG4gICAgXCJjbGVhbnVwX2JlYXJlclwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgY29uY3VycmVuY3kgaXNzdWUgaW4gVElQQyBVRFAgYmVhcmVyIGxvZ2ljIGJ5IGFkZGluZyBhIHNwaW5sb2NrIHRvIHByb3RlY3QgdGhlIHJlcGxpY2FzdCBsaXN0LiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvbnRyb2wgcGF0aCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowv2qjx[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-06 20:27:45 +0000 UTC FinishedAt: 2026-07-06 20:46:04 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "net", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git", "commit_hash": "9e05e91a9a847ed57926414bd7c2c5e54d6c56c6", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "TIPC", "TIPC_MEDIA_UDP" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "net", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git", "commit_hash": "9e05e91a9a847ed57926414bd7c2c5e54d6c56c6", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "TIPC", "TIPC_MEDIA_UDP" ], "series_id": "355ebc28-e2df-40ec-9175-986f11bb8abd" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "tipc_udp_rcast_add", "tipc_udp_enable", "cleanup_bearer" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-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+CgkJCTx0ZD4yMDI2LzA3LzA2IDIwOjQ0PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1RJUEMmIzM0OywKICAgICYjMzQ7VElQQ19NRURJQV9VRFAmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDt0aXBjX3VkcF9yY2FzdF9hZGQmIzM0OywKICAgICYjMzQ7dGlwY191ZHBfZW5hYmxlJiMzNDssCiAgICAmIzM0O2NsZWFudXBfYmVhcmVyJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIGEgY29uY3VycmVuY3kgaXNzdWUgaW4gVElQQyBVRFAgYmVhcmVyIGxvZ2ljIGJ5IGFkZGluZyBhIHNwaW5sb2NrIHRvIHByb3RlY3QgdGhlIHJlcGxpY2FzdCBsaXN0LiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvbnRyb2wgcGF0aCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDYgMjA6NDQ8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCA4ZWRkNTQzYTBmZTI3ZTgxMzJlMzg2ZGRjMWU0MTRkODkzNTNlMjk4XG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIE1vbiBKdWwgNiAyMDo0NDo1MSAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9uZXQvdGlwYy91ZHBfbWVkaWEuYyBiL25ldC90aXBjL3VkcF9tZWRpYS5jXG5pbmRleCA2MmFlN2Y1YjU4NDA5Yy4uNjAxMTc0Mjk3YTE2Y2QgMTAwNjQ0XG4tLS0gYS9uZXQvdGlwYy91ZHBfbWVkaWEuY1xuJiM0MzsmIzQzOyYjNDM7IGIvbmV0L3RpcGMvdWRwX21lZGlhLmNcbkBAIC05NCw2ICYjNDM7OTQsNyBAQCBzdHJ1Y3QgdWRwX3JlcGxpY2FzdCB7XG4gICogQGlmaW5kZXg6XHRsb2NhbCBhZGRyZXNzIHNjb3BlXG4gICogQHdvcms6XHR1c2VkIHRvIHNjaGVkdWxlIGRlZmVycmVkIHdvcmsgb24gYSBiZWFyZXJcbiAgKiBAcmNhc3Q6XHRhc3NvY2lhdGVkIHVkcF9yZXBsaWNhc3QgY29udGFpbmVyXG4mIzQzOyAqIEByY2FzdF9sb2NrOlx0c2VyaWFsaXplcyB1cGRhdGVzIHRvIEByY2FzdC5saXN0XG4gICovXG4gc3RydWN0IHVkcF9iZWFyZXIge1xuIFx0c3RydWN0IHRpcGNfYmVhcmVyIF9fcmN1ICpiZWFyZXI7XG5AQCAtMTAxLDYgJiM0MzsxMDIsNyBAQCBzdHJ1Y3QgdWRwX2JlYXJlciB7XG4gXHR1MzIgaWZpbmRleDtcbiBcdHN0cnVjdCB3b3JrX3N0cnVjdCB3b3JrO1xuIFx0c3RydWN0IHVkcF9yZXBsaWNhc3QgcmNhc3Q7XG4mIzQzO1x0c3BpbmxvY2tfdCByY2FzdF9sb2NrOyAvKiBwcm90ZWN0cyByY2FzdC5saXN0ICovXG4gfTtcbiBcbiBzdGF0aWMgaW50IHRpcGNfdWRwX2lzX21jYXN0X2FkZHIoc3RydWN0IHVkcF9tZWRpYV9hZGRyICphZGRyKVxuQEAgLTMwMSw3ICYjNDM7MzAzLDcgQEAgc3RhdGljIGJvb2wgdGlwY191ZHBfaXNfa25vd25fcGVlcihzdHJ1Y3QgdGlwY19iZWFyZXIgKmIsXG4gc3RhdGljIGludCB0aXBjX3VkcF9yY2FzdF9hZGQoc3RydWN0IHRpcGNfYmVhcmVyICpiLFxuIFx0XHRcdCAgICAgIHN0cnVjdCB1ZHBfbWVkaWFfYWRkciAqYWRkcilcbiB7XG4tXHRzdHJ1Y3QgdWRwX3JlcGxpY2FzdCAqcmNhc3Q7XG4mIzQzO1x0c3RydWN0IHVkcF9yZXBsaWNhc3QgKnJjYXN0LCAqdG1wO1xuIFx0c3RydWN0IHVkcF9iZWFyZXIgKnViO1xuIFxuIFx0dWIgPSByY3VfZGVyZWZlcmVuY2VfcnRubChiLVx1MDAzZW1lZGlhX3B0cik7XG5AQCAtMzE5LDYgJiM0MzszMjEsMTcgQEAgc3RhdGljIGludCB0aXBjX3VkcF9yY2FzdF9hZGQoc3RydWN0IHRpcGNfYmVhcmVyICpiLFxuIFxuIFx0bWVtY3B5KFx1MDAyNnJjYXN0LVx1MDAzZWFkZHIsIGFkZHIsIHNpemVvZihzdHJ1Y3QgdWRwX21lZGlhX2FkZHIpKTtcbiBcbiYjNDM7XHQvKiB0aXBjX3VkcF9yY2FzdF9kaXNjKCkgYWRkcyBmcm9tIHNvZnRpcnEgd2l0aG91dCBydG5sX2xvY2soKS4gKi9cbiYjNDM7XHRzcGluX2xvY2tfYmgoXHUwMDI2dWItXHUwMDNlcmNhc3RfbG9jayk7XG4mIzQzO1x0bGlzdF9mb3JfZWFjaF9lbnRyeSh0bXAsIFx1MDAyNnViLVx1MDAzZXJjYXN0Lmxpc3QsIGxpc3QpIHtcbiYjNDM7XHRcdGlmICghbWVtY21wKFx1MDAyNnRtcC1cdTAwM2VhZGRyLCBhZGRyLCBzaXplb2Yoc3RydWN0IHVkcF9tZWRpYV9hZGRyKSkpIHtcbiYjNDM7XHRcdFx0c3Bpbl91bmxvY2tfYmgoXHUwMDI2dWItXHUwMDNlcmNhc3RfbG9jayk7XG4mIzQzO1x0XHRcdGRzdF9jYWNoZV9kZXN0cm95KFx1MDAyNnJjYXN0LVx1MDAzZWRzdF9jYWNoZSk7XG4mIzQzO1x0XHRcdGtmcmVlKHJjYXN0KTtcbiYjNDM7XHRcdFx0cmV0dXJuIDA7XG4mIzQzO1x0XHR9XG4mIzQzO1x0fVxuJiM0MztcbiBcdGlmIChudG9ocyhhZGRyLVx1MDAzZXByb3RvKSA9PSBFVEhfUF9JUClcbiBcdFx0cHJfaW5mbyhcJiMzNDtOZXcgcmVwbGljYXN0IHBlZXI6ICVwSTRcXG5cJiMzNDssIFx1MDAyNnJjYXN0LVx1MDAzZWFkZHIuaXB2NCk7XG4gI2lmIElTX0VOQUJMRUQoQ09ORklHX0lQVjYpXG5AQCAtMzI3LDYgJiM0MzszNDAsNyBAQCBzdGF0aWMgaW50IHRpcGNfdWRwX3JjYXN0X2FkZChzdHJ1Y3QgdGlwY19iZWFyZXIgKmIsXG4gI2VuZGlmXG4gXHRiLVx1MDAzZWJjYXN0X2FkZHIuYnJvYWRjYXN0ID0gVElQQ19SRVBMSUNBU1RfU1VQUE9SVDtcbiBcdGxpc3RfYWRkX3JjdShcdTAwMjZyY2FzdC1cdTAwM2VsaXN0LCBcdTAwMjZ1Yi1cdTAwM2VyY2FzdC5saXN0KTtcbiYjNDM7XHRzcGluX3VubG9ja19iaChcdTAwMjZ1Yi1cdTAwM2VyY2FzdF9sb2NrKTtcbiBcdHJldHVybiAwO1xuIH1cbiBcbkBAIC02NzksNiAmIzQzOzY5Myw3IEBAIHN0YXRpYyBpbnQgdGlwY191ZHBfZW5hYmxlKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IHRpcGNfYmVhcmVyICpiLFxuIFx0XHRyZXR1cm4gLUVOT01FTTtcbiBcbiBcdElOSVRfTElTVF9IRUFEKFx1MDAyNnViLVx1MDAzZXJjYXN0Lmxpc3QpO1xuJiM0MztcdHNwaW5fbG9ja19pbml0KFx1MDAyNnViLVx1MDAzZXJjYXN0X2xvY2spO1xuIFxuIFx0aWYgKCFhdHRyc1tUSVBDX05MQV9CRUFSRVJfVURQX09QVFNdKVxuIFx0XHRnb3RvIGVycjtcbkBAIC04MTksMTAgJiM0Mzs4MzQsMTIgQEAgc3RhdGljIHZvaWQgY2xlYW51cF9iZWFyZXIoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxuIFx0c3RydWN0IHVkcF9yZXBsaWNhc3QgKnJjYXN0LCAqdG1wO1xuIFx0c3RydWN0IHRpcGNfbmV0ICp0bjtcbiBcbiYjNDM7XHRzcGluX2xvY2tfYmgoXHUwMDI2dWItXHUwMDNlcmNhc3RfbG9jayk7XG4gXHRsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocmNhc3QsIHRtcCwgXHUwMDI2dWItXHUwMDNlcmNhc3QubGlzdCwgbGlzdCkge1xuIFx0XHRsaXN0X2RlbF9yY3UoXHUwMDI2cmNhc3QtXHUwMDNlbGlzdCk7XG4gXHRcdGNhbGxfcmN1X2h1cnJ5KFx1MDAyNnJjYXN0LVx1MDAzZXJjdSwgcmNhc3RfZnJlZV9yY3UpO1xuIFx0fVxuJiM0MztcdHNwaW5fdW5sb2NrX2JoKFx1MDAyNnViLVx1MDAzZXJjYXN0X2xvY2spO1xuIFxuIFx0dG4gPSB0aXBjX25ldChzb2NrX25ldCh1Yi1cdTAwM2VzaykpO1xuIFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA2IDIwOjQ0PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjFtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1RJUEMmIzM0OywKICAgICYjMzQ7VElQQ19NRURJQV9VRFAmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDt0aXBjX3VkcF9yY2FzdF9hZGQmIzM0OywKICAgICYjMzQ7dGlwY191ZHBfZW5hYmxlJiMzNDssCiAgICAmIzM0O2NsZWFudXBfYmVhcmVyJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIGEgY29uY3VycmVuY3kgaXNzdWUgaW4gVElQQyBVRFAgYmVhcmVyIGxvZ2ljIGJ5IGFkZGluZyBhIHNwaW5sb2NrIHRvIHByb3RlY3QgdGhlIHJlcGxpY2FzdCBsaXN0LiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvbnRyb2wgcGF0aCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IDhlZGQ1NDNhMGZlMjdlODEzMmUzODZkZGMxZTQxNGQ4OTM1M2UyOTgKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgTW9uIEp1bCA2IDIwOjQ0OjUxIDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvbmV0L3RpcGMvdWRwX21lZGlhLmMgYi9uZXQvdGlwYy91ZHBfbWVkaWEuYwppbmRleCA2MmFlN2Y1YjU4NDA5Yy4uNjAxMTc0Mjk3YTE2Y2QgMTAwNjQ0Ci0tLSBhL25ldC90aXBjL3VkcF9tZWRpYS5jCiYjNDM7JiM0MzsmIzQzOyBiL25ldC90aXBjL3VkcF9tZWRpYS5jCkBAIC05NCw2ICYjNDM7OTQsNyBAQCBzdHJ1Y3QgdWRwX3JlcGxpY2FzdCB7CiAgKiBAaWZpbmRleDoJbG9jYWwgYWRkcmVzcyBzY29wZQogICogQHdvcms6CXVzZWQgdG8gc2NoZWR1bGUgZGVmZXJyZWQgd29yayBvbiBhIGJlYXJlcgogICogQHJjYXN0Oglhc3NvY2lhdGVkIHVkcF9yZXBsaWNhc3QgY29udGFpbmVyCiYjNDM7ICogQHJjYXN0X2xvY2s6CXNlcmlhbGl6ZXMgdXBkYXRlcyB0byBAcmNhc3QubGlzdAogICovCiBzdHJ1Y3QgdWRwX2JlYXJlciB7CiAJc3RydWN0IHRpcGNfYmVhcmVyIF9fcmN1ICpiZWFyZXI7CkBAIC0xMDEsNiAmIzQzOzEwMiw3IEBAIHN0cnVjdCB1ZHBfYmVhcmVyIHsKIAl1MzIgaWZpbmRleDsKIAlzdHJ1Y3Qgd29ya19zdHJ1Y3Qgd29yazsKIAlzdHJ1Y3QgdWRwX3JlcGxpY2FzdCByY2FzdDsKJiM0MzsJc3BpbmxvY2tfdCByY2FzdF9sb2NrOyAvKiBwcm90ZWN0cyByY2FzdC5saXN0ICovCiB9OwogCiBzdGF0aWMgaW50IHRpcGNfdWRwX2lzX21jYXN0X2FkZHIoc3RydWN0IHVkcF9tZWRpYV9hZGRyICphZGRyKQpAQCAtMzAxLDcgJiM0MzszMDMsNyBAQCBzdGF0aWMgYm9vbCB0aXBjX3VkcF9pc19rbm93bl9wZWVyKHN0cnVjdCB0aXBjX2JlYXJlciAqYiwKIHN0YXRpYyBpbnQgdGlwY191ZHBfcmNhc3RfYWRkKHN0cnVjdCB0aXBjX2JlYXJlciAqYiwKIAkJCSAgICAgIHN0cnVjdCB1ZHBfbWVkaWFfYWRkciAqYWRkcikKIHsKLQlzdHJ1Y3QgdWRwX3JlcGxpY2FzdCAqcmNhc3Q7CiYjNDM7CXN0cnVjdCB1ZHBfcmVwbGljYXN0ICpyY2FzdCwgKnRtcDsKIAlzdHJ1Y3QgdWRwX2JlYXJlciAqdWI7CiAKIAl1YiA9IHJjdV9kZXJlZmVyZW5jZV9ydG5sKGItJmd0O21lZGlhX3B0cik7CkBAIC0zMTksNiAmIzQzOzMyMSwxNyBAQCBzdGF0aWMgaW50IHRpcGNfdWRwX3JjYXN0X2FkZChzdHJ1Y3QgdGlwY19iZWFyZXIgKmIsCiAKIAltZW1jcHkoJmFtcDtyY2FzdC0mZ3Q7YWRkciwgYWRkciwgc2l6ZW9mKHN0cnVjdCB1ZHBfbWVkaWFfYWRkcikpOwogCiYjNDM7CS8qIHRpcGNfdWRwX3JjYXN0X2Rpc2MoKSBhZGRzIGZyb20gc29mdGlycSB3aXRob3V0IHJ0bmxfbG9jaygpLiAqLwomIzQzOwlzcGluX2xvY2tfYmgoJmFtcDt1Yi0mZ3Q7cmNhc3RfbG9jayk7CiYjNDM7CWxpc3RfZm9yX2VhY2hfZW50cnkodG1wLCAmYW1wO3ViLSZndDtyY2FzdC5saXN0LCBsaXN0KSB7CiYjNDM7CQlpZiAoIW1lbWNtcCgmYW1wO3RtcC0mZ3Q7YWRkciwgYWRkciwgc2l6ZW9mKHN0cnVjdCB1ZHBfbWVkaWFfYWRkcikpKSB7CiYjNDM7CQkJc3Bpbl91bmxvY2tfYmgoJmFtcDt1Yi0mZ3Q7cmNhc3RfbG9jayk7CiYjNDM7CQkJZHN0X2NhY2hlX2Rlc3Ryb3koJmFtcDtyY2FzdC0mZ3Q7ZHN0X2NhY2hlKTsKJiM0MzsJCQlrZnJlZShyY2FzdCk7CiYjNDM7CQkJcmV0dXJuIDA7CiYjNDM7CQl9CiYjNDM7CX0KJiM0MzsKIAlpZiAobnRvaHMoYWRkci0mZ3Q7cHJvdG8pID09IEVUSF9QX0lQKQogCQlwcl9pbmZvKCYjMzQ7TmV3IHJlcGxpY2FzdCBwZWVyOiAlcEk0XG4mIzM0OywgJmFtcDtyY2FzdC0mZ3Q7YWRkci5pcHY0KTsKICNpZiBJU19FTkFCTEVEKENPTkZJR19JUFY2KQpAQCAtMzI3LDYgJiM0MzszNDAsNyBAQCBzdGF0aWMgaW50IHRpcGNfdWRwX3JjYXN0X2FkZChzdHJ1Y3QgdGlwY19iZWFyZXIgKmIsCiAjZW5kaWYKIAliLSZndDtiY2FzdF9hZGRyLmJyb2FkY2FzdCA9IFRJUENfUkVQTElDQVNUX1NVUFBPUlQ7CiAJbGlzdF9hZGRfcmN1KCZhbXA7cmNhc3QtJmd0O2xpc3QsICZhbXA7dWItJmd0O3JjYXN0Lmxpc3QpOwomIzQzOwlzcGluX3VubG9ja19iaCgmYW1wO3ViLSZndDtyY2FzdF9sb2NrKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNjc5LDYgJiM0Mzs2OTMsNyBAQCBzdGF0aWMgaW50IHRpcGNfdWRwX2VuYWJsZShzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCB0aXBjX2JlYXJlciAqYiwKIAkJcmV0dXJuIC1FTk9NRU07CiAKIAlJTklUX0xJU1RfSEVBRCgmYW1wO3ViLSZndDtyY2FzdC5saXN0KTsKJiM0MzsJc3Bpbl9sb2NrX2luaXQoJmFtcDt1Yi0mZ3Q7cmNhc3RfbG9jayk7CiAKIAlpZiAoIWF0dHJzW1RJUENfTkxBX0JFQVJFUl9VRFBfT1BUU10pCiAJCWdvdG8gZXJyOwpAQCAtODE5LDEwICYjNDM7ODM0LDEyIEBAIHN0YXRpYyB2b2lkIGNsZWFudXBfYmVhcmVyKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAlzdHJ1Y3QgdWRwX3JlcGxpY2FzdCAqcmNhc3QsICp0bXA7CiAJc3RydWN0IHRpcGNfbmV0ICp0bjsKIAomIzQzOwlzcGluX2xvY2tfYmgoJmFtcDt1Yi0mZ3Q7cmNhc3RfbG9jayk7CiAJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHJjYXN0LCB0bXAsICZhbXA7dWItJmd0O3JjYXN0Lmxpc3QsIGxpc3QpIHsKIAkJbGlzdF9kZWxfcmN1KCZhbXA7cmNhc3QtJmd0O2xpc3QpOwogCQljYWxsX3JjdV9odXJyeSgmYW1wO3JjYXN0LSZndDtyY3UsIHJjYXN0X2ZyZWVfcmN1KTsKIAl9CiYjNDM7CXNwaW5fdW5sb2NrX2JoKCZhbXA7dWItJmd0O3JjYXN0X2xvY2spOwogCiAJdG4gPSB0aXBjX25ldChzb2NrX25ldCh1Yi0mZ3Q7c2spKTsKIAo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNiAyMDo0NDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyNzE2CgkJCQkJCQlvdXRwdXQ6IDMxCgkJCQkJCQl0aG91Z2h0czogMTY5CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgVElQQyBVRFAgQmVhcmVyIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O3ZlIGdvdCB0aGlzIHBhdGNoIOKAkyBzZWVtcyBsaWtlIGEgc3RyYWlnaHRmb3J3YXJkIGZ1bmN0aW9uYWwgY2hhbmdlIHRvIHRoZSBUSVBDIFVEUCBiZWFyZXIgbG9naWMuIEl0JiMzOTtzIHRvdWNoaW5nIGBuZXQvdGlwYy91ZHBfbWVkaWEuY2AsIGFuZCB0aGUga2V5IGhlcmUgaXMgdGhlIGludHJvZHVjdGlvbiBvZiBhIHNwaW5sb2NrLCBgcmNhc3RfbG9ja2AsIHRvIHRoZSBgc3RydWN0IHVkcF9iZWFyZXJgLiBBcHBhcmVudGx5LCB0aGlzIGlzIHRvIHByb3RlY3QgdGhlIGByY2FzdC5saXN0YCBtZW1iZXIsIHdoaWNoIG1ha2VzIHNlbnNlOyBhbHdheXMgZ29vZCB0byBzZWUgdGhvc2UgY29uY3VycmVuY3kgaXNzdWVzIGFkZHJlc3NlZCB3aXRoIGFwcHJvcHJpYXRlIHN5bmNocm9uaXphdGlvbiBwcmltaXRpdmVzLiBUaGUgcGF0Y2ggaXMgYWxzbyBtb2RpZnlpbmcgYHRpcGNfdWRwX3JjYXN0X2FkZGAsIGB0aXBjX3VkcF9lbmFibGVgLCBhbmQgYGNsZWFudXBfYmVhcmVyYCDigJMgZnVuY3Rpb25zIHRoYXQgYXJlIGNsZWFybHkgaW50ZXJhY3Rpbmcgd2l0aCB0aGlzIGJyb2FkY2FzdCBsaXN0LgoKTm93LCBiZWZvcmUgSSBkaXZlIHRvbyBkZWVwLCBJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgZGVwZW5kZW5jaWVzIGFuZCBjb25maWd1cmF0aW9ucy4gSSYjMzk7bGwgbmVlZCB0byBjaGVjayB0aGUgS2NvbmZpZyBmaWxlcywgc3RhcnRpbmcgd2l0aCBgbmV0L3RpcGMvdWRwX21lZGlhLmNgIGl0c2VsZiwgdG8gc2VlIHdoYXQgb3B0aW9ucyBjb250cm9sIHRoaXMgZnVuY3Rpb25hbGl0eS4gTXkgaW1tZWRpYXRlIGh1bmNoIGlzIHRoYXQgdGhpcyBpcyBjb250cm9sbGVkIGJ5IGBDT05GSUdfVElQQ19NRURJQV9VRFBgLCBhbmQgb2YgY291cnNlIGBDT05GSUdfVElQQ2AgbXVzdCBiZSBzZXQgYXMgYSBwcmVyZXF1aXNpdGUuIAoKTGV0JiMzOTtzIHF1aWNrbHkgY29uZmlybSB3aXRoIGBncmVwcGVyYCwgdG8gYmUgYWJzb2x1dGVseSBzdXJlLiBUaGlzIHdpbGwgaGVscCBtYWtlIHN1cmUgSSB1bmRlcnN0YW5kIHRoZSBjb250ZXh0IHdpdGhpbiB0aGUgbGFyZ2VyIFRJUEMgc3lzdGVtIGJlZm9yZSBJIHN0YXJ0IHJldmlld2luZyB0aGUgcGF0Y2ggaXRzZWxmLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA2IDIwOjQ0PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O1RJUENfTUVESUFfVURQJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L3RpcGMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O25ldC90aXBjL0tjb25maWc9MjQ9Y29uZmlnIFRJUENfTUVESUFfSUJcbi0tXG5uZXQvdGlwYy9LY29uZmlnLTI5LVx0ICBJUC1vdmVyLUluZmluaUJhbmQgZGV2aWNlcy5cbm5ldC90aXBjL0tjb25maWc6MzA6Y29uZmlnIFRJUENfTUVESUFfVURQXG5uZXQvdGlwYy9LY29uZmlnLTMxLVx0Ym9vbCBcJiMzNDtJUC9VRFAgbWVkaWEgdHlwZSBzdXBwb3J0XCYjMzQ7XG4tLVxubmV0L3RpcGMvTWFrZWZpbGU9MTQ9Q0ZMQUdTX3RyYWNlLm8gJiM0Mzs9IC1JJChzcmMpXG5uZXQvdGlwYy9NYWtlZmlsZS0xNS1cbm5ldC90aXBjL01ha2VmaWxlOjE2OnRpcGMtJChDT05GSUdfVElQQ19NRURJQV9VRFApXHQmIzQzOz0gdWRwX21lZGlhLm9cbm5ldC90aXBjL01ha2VmaWxlLTE3LXRpcGMtJChDT05GSUdfVElQQ19NRURJQV9JQilcdCYjNDM7PSBpYl9tZWRpYS5vXG4tLVxubmV0L3RpcGMvYmVhcmVyLmM9NTE9c3RhdGljIHN0cnVjdCB0aXBjX21lZGlhICogY29uc3QgbWVkaWFfaW5mb19hcnJheVtdID0ge1xuLS1cbm5ldC90aXBjL2JlYXJlci5jLTU1LSNlbmRpZlxubmV0L3RpcGMvYmVhcmVyLmM6NTY6I2lmZGVmIENPTkZJR19USVBDX01FRElBX1VEUFxubmV0L3RpcGMvYmVhcmVyLmMtNTctXHRcdTAwMjZ1ZHBfbWVkaWFfaW5mbyxcbi0tXG5uZXQvdGlwYy9iZWFyZXIuYz04MjQ9c3RhdGljIGludCBfX3RpcGNfbmxfYWRkX2JlYXJlcihzdHJ1Y3QgdGlwY19ubF9tc2cgKm1zZyxcbi0tXG5uZXQvdGlwYy9iZWFyZXIuYy04NTctXG5uZXQvdGlwYy9iZWFyZXIuYzo4NTg6I2lmZGVmIENPTkZJR19USVBDX01FRElBX1VEUFxubmV0L3RpcGMvYmVhcmVyLmMtODU5LVx0aWYgKGJlYXJlci1cdTAwM2VtZWRpYS1cdTAwM2V0eXBlX2lkID09IFRJUENfTUVESUFfVFlQRV9VRFApIHtcbi0tXG5uZXQvdGlwYy9iZWFyZXIuYz0xMDYzPWludCB0aXBjX25sX2JlYXJlcl9hZGQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcbi0tXG5uZXQvdGlwYy9iZWFyZXIuYy0xMDkxLVxubmV0L3RpcGMvYmVhcmVyLmM6MTA5MjojaWZkZWYgQ09ORklHX1RJUENfTUVESUFfVURQXG5uZXQvdGlwYy9iZWFyZXIuYy0xMDkzLVx0aWYgKGF0dHJzW1RJUENfTkxBX0JFQVJFUl9VRFBfT1BUU10pIHtcbi0tXG5uZXQvdGlwYy9iZWFyZXIuYz0xMTEwPWludCBfX3RpcGNfbmxfYmVhcmVyX3NldChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxuLS1cbm5ldC90aXBjL2JlYXJlci5jLTExNTgtXHRcdFx0fVxubmV0L3RpcGMvYmVhcmVyLmM6MTE1OTojaWZkZWYgQ09ORklHX1RJUENfTUVESUFfVURQXG5uZXQvdGlwYy9iZWFyZXIuYy0xMTYwLVx0XHRcdGlmIChubGFfZ2V0X3UzMihwcm9wc1tUSVBDX05MQV9QUk9QX01UVV0pIFx1MDAzY1xuLS1cbm5ldC90aXBjL2JlYXJlci5jPTEzMTE9aW50IF9fdGlwY19ubF9tZWRpYV9zZXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcbi0tXG5uZXQvdGlwYy9iZWFyZXIuYy0xMzUzLVx0XHRcdH1cbm5ldC90aXBjL2JlYXJlci5jOjEzNTQ6I2lmZGVmIENPTkZJR19USVBDX01FRElBX1VEUFxubmV0L3RpcGMvYmVhcmVyLmMtMTM1NS1cdFx0XHRpZiAodGlwY191ZHBfbXR1X2JhZChubGFfZ2V0X3UzMlxuLS1cbm5ldC90aXBjL2JlYXJlci5oPTE5Nj1leHRlcm4gc3RydWN0IHRpcGNfbWVkaWEgaWJfbWVkaWFfaW5mbztcbm5ldC90aXBjL2JlYXJlci5oLTE5Ny0jZW5kaWZcbm5ldC90aXBjL2JlYXJlci5oOjE5ODojaWZkZWYgQ09ORklHX1RJUENfTUVESUFfVURQXG5uZXQvdGlwYy9iZWFyZXIuaC0xOTktZXh0ZXJuIHN0cnVjdCB0aXBjX21lZGlhIHVkcF9tZWRpYV9pbmZvO1xuLS1cbm5ldC90aXBjL25ldGxpbmsuYz0xNTE9c3RhdGljIGNvbnN0IHN0cnVjdCBnZW5sX29wcyB0aXBjX2dlbmxfdjJfb3BzW10gPSB7XG4tLVxubmV0L3RpcGMvbmV0bGluay5jLTI2OS1cdH0sXG5uZXQvdGlwYy9uZXRsaW5rLmM6MjcwOiNpZmRlZiBDT05GSUdfVElQQ19NRURJQV9VRFBcbm5ldC90aXBjL25ldGxpbmsuYy0yNzEtXHR7XG4tLVxubmV0L3RpcGMvdWRwX21lZGlhLmgtMzYtXG5uZXQvdGlwYy91ZHBfbWVkaWEuaDozNzojaWZkZWYgQ09ORklHX1RJUENfTUVESUFfVURQXG5uZXQvdGlwYy91ZHBfbWVkaWEuaC0zOC0jaWZuZGVmIF9USVBDX1VEUF9NRURJQV9IXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDYgMjA6NDQ8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDIxNwoJCQkJCQkJb3V0cHV0OiAyOAoJCQkJCQkJdGhvdWdodHM6IDM4CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIG15IHRha2Ugb24gdGhlIHNpdHVhdGlvbjoKCioqSW52ZXN0aWdhdGluZyB0aGUgQ29uZmlndXJhdGlvbiBmb3IgVElQQyBNZWRpYSBvdmVyIFVEUCoqCgpPa2F5LCBzbyBJIG5lZWQgdG8gY29uZmlndXJlIHRoaXMgc3lzdGVtIHRvIHVzZSBUSVBDIG92ZXIgVURQIG1lZGlhLiBUaGUgc3BlY2lmaWMgY29uZmlndXJhdGlvbiBvcHRpb24gSSBuZWVkIGlzIGBUSVBDX01FRElBX1VEUGAsIGFuZCBvZiBjb3Vyc2UsIEkmIzM5O2xsIG5lZWQgYFRJUENgIGVuYWJsZWQgYXMgd2VsbC4gTXkgZmlyc3QgbW92ZSBpcyB0byBoZWFkIG92ZXIgdG8gdGhlIGtlcm5lbCBjb25maWd1cmF0aW9uIGZpbGVzLiBUaGUgcGxhY2UgdG8gc3RhcnQgbG9va2luZyBpcyBgbmV0L3RpcGMvS2NvbmZpZ2AuIFRoYXQmIzM5O3Mgd2hlcmUgYWxsIHRoZSBtYWlubGluZSBUSVBDIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBzaG91bGQgcmVzaWRlLiBGcm9tIHRoZXJlLCBJIGNhbiBmaWd1cmUgb3V0IHRoZSBkZXBlbmRlbmNpZXMsIGltcGxpY2F0aW9ucywgYW5kIG1heWJlIGV2ZW4gZ2V0IGEgc2Vuc2Ugb2YgaG93IHRvIHByb3Blcmx5IHNldCB1cCB0aGUgVURQIG1lZGlhIHBhcnQuIExldCYjMzk7cyBzZWUgd2hhdCB0aGF0IEtjb25maWcgZmlsZSByZXZlYWxzLi4uIEkmIzM5O20gZXhwZWN0aW5nIHRvIGZpbmQgdGhlIGBUSVBDYCBvcHRpb24gdGhlcmUsIGFuZCBob3BlZnVsbHksIGBUSVBDX01FRElBX1VEUGAgYXMgYSBkaXJlY3RseSByZWxhdGVkIGNob2ljZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNiAyMDo0NTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgVElQQyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC90aXBjLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvdGlwYy9LY29uZmlnLTUtXG5uZXQvdGlwYy9LY29uZmlnOjY6bWVudWNvbmZpZyBUSVBDXG5uZXQvdGlwYy9LY29uZmlnLTctXHR0cmlzdGF0ZSBcJiMzNDtUaGUgVElQQyBQcm90b2NvbFwmIzM0O1xuLS1cbm5ldC90aXBjL0tjb25maWctMjMtXG5uZXQvdGlwYy9LY29uZmlnOjI0OmNvbmZpZyBUSVBDX01FRElBX0lCXG5uZXQvdGlwYy9LY29uZmlnLTI1LVx0Ym9vbCBcJiMzNDtJbmZpbmlCYW5kIG1lZGlhIHR5cGUgc3VwcG9ydFwmIzM0O1xuLS1cbm5ldC90aXBjL0tjb25maWctMjktXHQgIElQLW92ZXItSW5maW5pQmFuZCBkZXZpY2VzLlxubmV0L3RpcGMvS2NvbmZpZzozMDpjb25maWcgVElQQ19NRURJQV9VRFBcbm5ldC90aXBjL0tjb25maWctMzEtXHRib29sIFwmIzM0O0lQL1VEUCBtZWRpYSB0eXBlIHN1cHBvcnRcJiMzNDtcbi0tXG5uZXQvdGlwYy9LY29uZmlnLTM3LVxubmV0L3RpcGMvS2NvbmZpZzozODpjb25maWcgVElQQ19DUllQVE9cbm5ldC90aXBjL0tjb25maWctMzktXHRib29sIFwmIzM0O1RJUEMgZW5jcnlwdGlvbiBzdXBwb3J0XCYjMzQ7XG4tLVxubmV0L3RpcGMvS2NvbmZpZy01Mi1cbm5ldC90aXBjL0tjb25maWc6NTM6Y29uZmlnIFRJUENfRElBR1xubmV0L3RpcGMvS2NvbmZpZy01NC1cdHRyaXN0YXRlIFwmIzM0O1RJUEM6IHNvY2tldCBtb25pdG9yaW5nIGludGVyZmFjZVwmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA2IDIwOjQ1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ3NTYKCQkJCQkJCW91dHB1dDogMzQKCQkJCQkJCXRob3VnaHRzOiAxNTMKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBUSVBDIFVEUCBDb25maWd1cmF0aW9uIENoYW5nZSoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBhbmQgaW1tZWRpYXRlbHksIGBUSVBDYCBhbmQgYFRJUENfTUVESUFfVURQYCBhcmUgdGhlIGtleSBjb25maWdzIHRoYXQgYXJlIGJlaW5nIHRvdWNoZWQuIE15IGltbWVkaWF0ZSBmb2N1cyBpcyBvbiB0aGUgZnVuY3Rpb25zIHRoYXQgdGhpcyBwYXRjaCBpcyBtb2RpZnlpbmcuIFRoZSBkaWZmIHNob3dzIG1lIGl0JiMzOTtzIHplcm9pbmcgaW4gb246IGB0aXBjX3VkcF9yY2FzdF9hZGRgLCBgdGlwY191ZHBfZW5hYmxlYCwgYW5kIGBjbGVhbnVwX2JlYXJlcmAuCgpOb3csIHRoZSBpbXBvcnRhbnQgcXVlc3Rpb24gaXM6IGFyZSB0aGVzZSBwZXJmb3JtYW5jZS1jcml0aWNhbCBwYXRocz8gTGV0JiMzOTtzIHNlZS4uLiBgdGlwY191ZHBfcmNhc3RfYWRkYCBpcyB0aGUgb25lIGNhbGxlZCB3aGVuIGEgbmV3IHJlcGxpY2FzdCBwZWVyIGlzIGFkZGVkLiAgYHRpcGNfdWRwX2VuYWJsZWAgaXMgZ29pbmcgdG8gYmUgYWN0aXZhdGVkIHdoZW4gYSBVRFAgYmVhcmVyIGlzIGVuYWJsZWQuIEFuZCBmaW5hbGx5LCBgY2xlYW51cF9iZWFyZXJgIGlzLCBhcyB0aGUgbmFtZSBpbXBsaWVzLCBpbnZva2VkIHdoZW4gYSBVRFAgYmVhcmVyIGlzIGRpc2FibGVkIG9yIGNsZWFuZWQgdXAuCgpJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgaW1wYWN0IG9mIGFueSBjaGFuZ2VzIHRvIHRoZXNlIGZ1bmN0aW9ucywgc28gSSYjMzk7bGwgc3RhcnQgYnkgY2hlY2tpbmcgdGhlIGNhbGxlcnMgb2YgYHRpcGNfdWRwX3JjYXN0X2FkZGAuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDYgMjA6NDU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7dGlwY191ZHBfcmNhc3RfYWRkJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L3RpcGMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O25ldC90aXBjL3VkcF9tZWRpYS5jPTI4Mz1zdGF0aWMgYm9vbCB0aXBjX3VkcF9pc19rbm93bl9wZWVyKHN0cnVjdCB0aXBjX2JlYXJlciAqYixcbi0tXG5uZXQvdGlwYy91ZHBfbWVkaWEuYy0zMDItXG5uZXQvdGlwYy91ZHBfbWVkaWEuYzozMDM6c3RhdGljIGludCB0aXBjX3VkcF9yY2FzdF9hZGQoc3RydWN0IHRpcGNfYmVhcmVyICpiLFxubmV0L3RpcGMvdWRwX21lZGlhLmMtMzA0LVx0XHRcdCAgICAgIHN0cnVjdCB1ZHBfbWVkaWFfYWRkciAqYWRkcilcbi0tXG5uZXQvdGlwYy91ZHBfbWVkaWEuYz0zNDc9c3RhdGljIGludCB0aXBjX3VkcF9yY2FzdF9kaXNjKHN0cnVjdCB0aXBjX2JlYXJlciAqYiwgc3RydWN0IHNrX2J1ZmYgKnNrYilcbi0tXG5uZXQvdGlwYy91ZHBfbWVkaWEuYy0zODAtXG5uZXQvdGlwYy91ZHBfbWVkaWEuYzozODE6XHRyZXR1cm4gdGlwY191ZHBfcmNhc3RfYWRkKGIsIFx1MDAyNnNyYyk7XG5uZXQvdGlwYy91ZHBfbWVkaWEuYy0zODItfVxuLS1cbm5ldC90aXBjL3VkcF9tZWRpYS5jPTYzOD1pbnQgdGlwY191ZHBfbmxfYmVhcmVyX2FkZChzdHJ1Y3QgdGlwY19iZWFyZXIgKmIsIHN0cnVjdCBubGF0dHIgKmF0dHIpXG4tLVxubmV0L3RpcGMvdWRwX21lZGlhLmMtNjYzLVxubmV0L3RpcGMvdWRwX21lZGlhLmM6NjY0Olx0cmV0dXJuIHRpcGNfdWRwX3JjYXN0X2FkZChiLCBcdTAwMjZhZGRyKTtcbm5ldC90aXBjL3VkcF9tZWRpYS5jLTY2NS19XG4tLVxubmV0L3RpcGMvdWRwX21lZGlhLmM9Njc2PXN0YXRpYyBpbnQgdGlwY191ZHBfZW5hYmxlKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IHRpcGNfYmVhcmVyICpiLFxuLS1cbm5ldC90aXBjL3VkcF9tZWRpYS5jLTgwNi1cdGVsc2Vcbm5ldC90aXBjL3VkcF9tZWRpYS5jOjgwNzpcdFx0ZXJyID0gdGlwY191ZHBfcmNhc3RfYWRkKGIsIFx1MDAyNnJlbW90ZSk7XG5uZXQvdGlwYy91ZHBfbWVkaWEuYy04MDgtXHRpZiAoZXJyKVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA2IDIwOjQ1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDU2MzQKCQkJCQkJCW91dHB1dDogMjgKCQkJCQkJCXRob3VnaHRzOiAxMzkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBDYWxsIFBhdGhzIGZvciBVRFAgTXVsdGljYXN0IGluIFRJUEMqKgoKT2theSwgc28gSSYjMzk7bSB0cmFjaW5nIHRoZSB1c2FnZSBvZiBgdGlwY191ZHBfcmNhc3RfYWRkYC4gSXQgbG9va3MgbGlrZSB0aGlzIGZ1bmN0aW9uIGlzIHByZXR0eSBjZW50cmFsIHRvIGhhbmRsaW5nIFVEUCBtdWx0aWNhc3QgaW4gVElQQy4gSSYjMzk7bSBzZWVpbmcgdGhhdCBgdGlwY191ZHBfcmNhc3RfYWRkYCBpcyBjYWxsZWQgZnJvbSBhIGZldyBrZXkgcGxhY2VzOiBgdGlwY191ZHBfcmNhc3RfZGlzY2AsIGB0aXBjX3VkcF9ubF9iZWFyZXJfYWRkYCwgYW5kIGB0aXBjX3VkcF9lbmFibGVgLiBSaWdodCwgbWFrZXMgc2Vuc2UuIAoKYHRpcGNfdWRwX3JjYXN0X2Rpc2NgIGlzIHRyaWdnZXJlZCBieSBhIGRpc2NvdmVyeSBtZXNzYWdlIOKAkyBzbyB0aGlzIGZ1bmN0aW9uIG11c3QgYmUgaW52b2x2ZWQgaW4gcmVnaXN0ZXJpbmcgbm9kZXMgd2hlbiBhIG5ldyBkaXNjb3ZlcnkgcGFja2V0IGlzIHJlY2VpdmVkLiBUaGF0JiMzOTtzIGEgY2xhc3NpYyBtdWx0aWNhc3Qgc2V0dXAgc2NlbmFyaW8sIHNvIEkmIzM5O20gbm90IHN1cnByaXNlZCB0aGVyZS4KCmB0aXBjX3VkcF9ubF9iZWFyZXJfYWRkYCBjb21lcyBmcm9tIG5ldGxpbmsuIFRoaXMgcHJvYmFibHkgbWVhbnMgaXQmIzM5O3MgaG93IHdlJiMzOTtyZSBjb25maWd1cmluZyB0aGluZ3MgdGhyb3VnaCBhIHVzZXItc3BhY2UgcHJvY2Vzcy4gTWFrZXMgdGhlIHNldHVwIGFjY2Vzc2libGUgaW4gdXNlcmxhbmQuCgpBbmQgYHRpcGNfdWRwX2VuYWJsZWAgaXMgY2FsbGVkIHdoZW4gYSBiZWFyZXIgaXMgZW5hYmxlZC4gVGhhdCYjMzk7cyBhIGhpZ2gtbGV2ZWwgdHJpZ2dlciwgaW5kaWNhdGluZyB0aGF0IFVEUCBtdWx0aWNhc3QgZnVuY3Rpb25hbGl0eSBpcyBiZWluZyBhY3RpdmF0ZWQuIFRoYXQgb25lJiMzOTtzIGNsZWFyLgoKTm93LCBsZXQmIzM5O3Mgc2VlLCB3aGF0JiMzOTtzIHRoaXMgYGNsZWFudXBfYmVhcmVyYCBmdW5jdGlvbiBkb2luZz8gVGhhdCBvbmUmIzM5O3MgY2FsbGVkIGZyb20gYSB3b3JrcXVldWUuIEkgbmVlZCB0byBpbnZlc3RpZ2F0ZSB0aGF0IHRvIHNlZSB3aGF0JiMzOTtzIGJlaW5nIGNsZWFuZWQgdXAsIGFuZCB3aGF0IGlzIGl0cyB1c2UgY2FzZS4gSSYjMzk7bSBnb2luZyB0byBqdW1wIGludG8gYG5ldC90aXBjL3VkcF9tZWRpYS5jYCBub3cgdG8gZXhhbWluZSB0aGF0IGZ1bmN0aW9uIGluIGRldGFpbC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDYgMjA6NDU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y2xlYW51cF9iZWFyZXImIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtuZXQvdGlwYy8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7bmV0L3RpcGMvdWRwX21lZGlhLmM9ODIyPXN0YXRpYyB2b2lkIHJjYXN0X2ZyZWVfcmN1KHN0cnVjdCByY3VfaGVhZCAqcmN1KVxuLS1cbm5ldC90aXBjL3VkcF9tZWRpYS5jLTgyOS1cbm5ldC90aXBjL3VkcF9tZWRpYS5jOjgzMDovKiBjbGVhbnVwX2JlYXJlciAtIGJyZWFrIHRoZSBzb2NrZXQvYmVhcmVyIGFzc29jaWF0aW9uICovXG5uZXQvdGlwYy91ZHBfbWVkaWEuYzo4MzE6c3RhdGljIHZvaWQgY2xlYW51cF9iZWFyZXIoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxubmV0L3RpcGMvdWRwX21lZGlhLmMtODMyLXtcbi0tXG5uZXQvdGlwYy91ZHBfbWVkaWEuYz04NTc9c3RhdGljIHZvaWQgdGlwY191ZHBfZGlzYWJsZShzdHJ1Y3QgdGlwY19iZWFyZXIgKmIpXG4tLVxubmV0L3RpcGMvdWRwX21lZGlhLmMtODcwLVx0YXRvbWljX2luYyhcdTAwMjZ0aXBjX25ldChzb2NrX25ldCh1Yi1cdTAwM2VzaykpLVx1MDAzZXdxX2NvdW50KTtcbm5ldC90aXBjL3VkcF9tZWRpYS5jOjg3MTpcdElOSVRfV09SSyhcdTAwMjZ1Yi1cdTAwM2V3b3JrLCBjbGVhbnVwX2JlYXJlcik7XG5uZXQvdGlwYy91ZHBfbWVkaWEuYy04NzItXHRzY2hlZHVsZV93b3JrKFx1MDAyNnViLVx1MDAzZXdvcmspO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNiAyMDo0NTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA2NDAwCgkJCQkJCQlvdXRwdXQ6IDExMAoJCQkJCQkJdGhvdWdodHM6IDIzMQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgQ29uY3VycmVuY3kgRml4ZXMgaW4gVElQQyBVRFAgUmVwbGljYXN0KioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGFuZCwgcmlnaHQgb2ZmIHRoZSBiYXQsIEkgc2VlIHRoZXNlIGFyZW4mIzM5O3QgcGVyZm9ybWFuY2UtY3JpdGljYWwgZnVuY3Rpb25zLiBUaGV5JiMzOTtyZSBhbGwgY29udHJvbC1wYXRoIG9wZXJhdGlvbnPigJRzdHVmZiBmb3IgbWFuYWdpbmcgUmVwbGljYXN0IHBlZXJzLCBlbmFibGluZy9kaXNhYmxpbmcgYmVhcmVycyBhbmQgdGhlIGxpa2UuIFRoYXQgc2ltcGxpZmllcyB0aGluZ3MgYSBiaXQ7IHdlJiMzOTtyZSBub3QgZGVhbGluZyB3aXRoIHRpZ2h0IGxvb3BzIGhlcmUuIE15IGZvY3VzLCB0aGVuLCBpcyBzcXVhcmVseSBvbiB0aGVzZSBmdW5jdGlvbnM6IGB0aXBjX3VkcF9yY2FzdF9hZGRgLCBgdGlwY191ZHBfZW5hYmxlYCwgYGNsZWFudXBfYmVhcmVyYCwgYHRpcGNfdWRwX3JjYXN0X2Rpc2NgLCBgdGlwY191ZHBfbmxfYmVhcmVyX2FkZGAsIGFuZCBgdGlwY191ZHBfZGlzYWJsZWAuCgpMZXQmIzM5O3MgcGljayBhIGZldyBvZiB0aG9zZSBmb3IgY2xvc2VyIHNjcnV0aW55IOKAkyBgdGlwY191ZHBfcmNhc3RfYWRkYCwgYHRpcGNfdWRwX2VuYWJsZWAsIGFuZCBgY2xlYW51cF9iZWFyZXJgIGp1bXAgb3V0IGFzIHJlcHJlc2VudGF0aXZlLiBUaGUgZ2lzdCBvZiB0aGUgcGF0Y2ggaXMgYSBjb25jdXJyZW5jeSBmaXguIEl0IGludHJvZHVjZXMgYSBzcGlubG9jaywgYHJjYXN0X2xvY2tgLCB0byBndWFyZCBgdWItJmd0O3JjYXN0Lmxpc3RgLiBUaGF0IHRlbGxzIG1lIHRoaXMgaXMgYSAqZnVuY3Rpb25hbCogY2hhbmdlLCBkZXNpZ25lZCB0byBwcm90ZWN0IHRoZSBpbnRlZ3JpdHkgb2YgdGhlIFJlcGxpY2FzdCBsaXN0LCBsaWtlbHkgZnJvbSBzaW11bHRhbmVvdXMgYWNjZXNzLiBTbywgdGhlIHF1ZXN0aW9uIGlzLCBpcyB0aGlzIGFjdHVhbGx5IG5lY2Vzc2FyeT8KCldlbGwsIGxldCYjMzk7cyB0cmFjZSBgdGlwY191ZHBfcmNhc3RfYWRkYC4gRnJvbSB3aGF0IEkga25vdywgaXQmIzM5O3MgcmVhY2hhYmxlIHRocm91Z2ggbmV0bGluayBtZXNzYWdlcyBhbmQgZGlzY292ZXJ5IG1lc3NhZ2VzLiBBbHJpZ2h0LCB0aGF0IGNvbmZpcm1zIG15IGFzc3VtcHRpb24uIE5vdywgYmFzZWQgb24gdGhlIGNvZGViYXNlLCB0aGUgcmVsZXZhbnQgY29uZmlndXJhdGlvbnMgYXJlIGBUSVBDYCBhbmQgYFRJUENfTUVESUFfVURQYC4gRmluZS4gU2VlbXMgcHJldHR5IHN0cmFpZ2h0Zm9yd2FyZCwgSSB0aGluayBJJiMzOTt2ZSBnb3QgYSBoYW5kbGUgb24gdGhlIHNpdHVhdGlvbiBub3cuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA2IDIwOjQ2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtUSVBDJiMzNDssCiAgICAmIzM0O1RJUENfTUVESUFfVURQJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7dGlwY191ZHBfcmNhc3RfYWRkJiMzNDssCiAgICAmIzM0O3RpcGNfdWRwX2VuYWJsZSYjMzQ7LAogICAgJiMzNDtjbGVhbnVwX2JlYXJlciYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIGNvbmN1cnJlbmN5IGlzc3VlIGluIFRJUEMgVURQIGJlYXJlciBsb2dpYyBieSBhZGRpbmcgYSBzcGlubG9jayB0byBwcm90ZWN0IHRoZSByZXBsaWNhc3QgbGlzdC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb250cm9sIHBhdGggdGhhdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtUSVBDJiMzNDssCiAgICAmIzM0O1RJUENfTUVESUFfVURQJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7dGlwY191ZHBfcmNhc3RfYWRkJiMzNDssCiAgICAmIzM0O3RpcGNfdWRwX2VuYWJsZSYjMzQ7LAogICAgJiMzNDtjbGVhbnVwX2JlYXJlciYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIGNvbmN1cnJlbmN5IGlzc3VlIGluIFRJUEMgVURQIGJlYXJlciBsb2dpYyBieSBhZGRpbmcgYSBzcGlubG9jayB0byBwcm90ZWN0IHRoZSByZXBsaWNhc3QgbGlzdC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb250cm9sIHBhdGggdGhhdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMDZUMjA6NDQ6NTMuMDY0MDY5MzM1WiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjkxNTc5MzA2OTgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiVElQQ1wiLFxuICAgIFwiVElQQ19NRURJQV9VRFBcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJ0aXBjX3VkcF9yY2FzdF9hZGRcIixcbiAgICBcInRpcGNfdWRwX2VuYWJsZVwiLFxuICAgIFwiY2xlYW51cF9iZWFyZXJcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIGNvbmN1cnJlbmN5IGlzc3VlIGluIFRJUEMgVURQIGJlYXJlciBsb2dpYyBieSBhZGRpbmcgYSBzcGlubG9jayB0byBwcm90ZWN0IHRoZSByZXBsaWNhc3QgbGlzdC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb250cm9sIHBhdGggdGhhdCBzaG91bGQgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wNlQyMDo0NDo1My4wNjQwNzUyOTVaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjY0NTY5MjY5MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IDhlZGQ1NDNhMGZlMjdlODEzMmUzODZkZGMxZTQxNGQ4OTM1M2UyOThcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIE1vbiBKdWwgNiAyMDo0NDo1MSAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9uZXQvdGlwYy91ZHBfbWVkaWEuYyBiL25ldC90aXBjL3VkcF9tZWRpYS5jXFxuaW5kZXggNjJhZTdmNWI1ODQwOWMuLjYwMTE3NDI5N2ExNmNkIDEwMDY0NFxcbi0tLSBhL25ldC90aXBjL3VkcF9tZWRpYS5jXFxuKysrIGIvbmV0L3RpcGMvdWRwX21lZGlhLmNcXG5AQCAtOTQsNiArOTQsNyBAQCBzdHJ1Y3QgdWRwX3JlcGxpY2FzdCB7XFxuICAqIEBpZmluZGV4OlxcdGxvY2FsIGFkZHJlc3Mgc2NvcGVcXG4gICogQHdvcms6XFx0dXNlZCB0byBzY2hlZHVsZSBkZWZlcnJlZCB3b3JrIG9uIGEgYmVhcmVyXFxuICAqIEByY2FzdDpcXHRhc3NvY2lhdGVkIHVkcF9yZXBsaWNhc3QgY29udGFpbmVyXFxuKyAqIEByY2FzdF9sb2NrOlxcdHNlcmlhbGl6ZXMgdXBkYXRlcyB0byBAcmNhc3QubGlzdFxcbiAgKi9cXG4gc3RydWN0IHVkcF9iZWFyZXIge1xcbiBcXHRzdHJ1Y3QgdGlwY19iZWFyZXIgX19yY3UgKmJlYXJlcjtcXG5AQCAtMTAxLDYgKzEwMiw3IEBAIHN0cnVjdCB1ZHBfYmVhcmVyIHtcXG4gXFx0dTMyIGlmaW5kZXg7XFxuIFxcdHN0cnVjdCB3b3JrX3N0cnVjdCB3b3JrO1xcbiBcXHRzdHJ1Y3QgdWRwX3JlcGxpY2FzdCByY2FzdDtcXG4rXFx0c3BpbmxvY2tfdCByY2FzdF9sb2NrOyAvKiBwcm90ZWN0cyByY2FzdC5saXN0ICovXFxuIH07XFxuIFxcbiBzdGF0aWMgaW50IHRpcGNfdWRwX2lzX21jYXN0X2FkZHIoc3RydWN0IHVkcF9tZWRpYV9hZGRyICphZGRyKVxcbkBAIC0zMDEsNyArMzAzLDcgQEAgc3RhdGljIGJvb2wgdGlwY191ZHBfaXNfa25vd25fcGVlcihzdHJ1Y3QgdGlwY19iZWFyZXIgKmIsXFxuIHN0YXRpYyBpbnQgdGlwY191ZHBfcmNhc3RfYWRkKHN0cnVjdCB0aXBjX2JlYXJlciAqYixcXG4gXFx0XFx0XFx0ICAgICAgc3RydWN0IHVkcF9tZWRpYV9hZGRyICphZGRyKVxcbiB7XFxuLVxcdHN0cnVjdCB1ZHBfcmVwbGljYXN0ICpyY2FzdDtcXG4rXFx0c3RydWN0IHVkcF9yZXBsaWNhc3QgKnJjYXN0LCAqdG1wO1xcbiBcXHRzdHJ1Y3QgdWRwX2JlYXJlciAqdWI7XFxuIFxcbiBcXHR1YiA9IHJjdV9kZXJlZmVyZW5jZV9ydG5sKGItXFx1MDAzZW1lZGlhX3B0cik7XFxuQEAgLTMxOSw2ICszMjEsMTcgQEAgc3RhdGljIGludCB0aXBjX3VkcF9yY2FzdF9hZGQoc3RydWN0IHRpcGNfYmVhcmVyICpiLFxcbiBcXG4gXFx0bWVtY3B5KFxcdTAwMjZyY2FzdC1cXHUwMDNlYWRkciwgYWRkciwgc2l6ZW9mKHN0cnVjdCB1ZHBfbWVkaWFfYWRkcikpO1xcbiBcXG4rXFx0LyogdGlwY191ZHBfcmNhc3RfZGlzYygpIGFkZHMgZnJvbSBzb2Z0aXJxIHdpdGhvdXQgcnRubF9sb2NrKCkuICovXFxuK1xcdHNwaW5fbG9ja19iaChcXHUwMDI2dWItXFx1MDAzZXJjYXN0X2xvY2spO1xcbitcXHRsaXN0X2Zvcl9lYWNoX2VudHJ5KHRtcCwgXFx1MDAyNnViLVxcdTAwM2VyY2FzdC5saXN0LCBsaXN0KSB7XFxuK1xcdFxcdGlmICghbWVtY21wKFxcdTAwMjZ0bXAtXFx1MDAzZWFkZHIsIGFkZHIsIHNpemVvZihzdHJ1Y3QgdWRwX21lZGlhX2FkZHIpKSkge1xcbitcXHRcXHRcXHRzcGluX3VubG9ja19iaChcXHUwMDI2dWItXFx1MDAzZXJjYXN0X2xvY2spO1xcbitcXHRcXHRcXHRkc3RfY2FjaGVfZGVzdHJveShcXHUwMDI2cmNhc3QtXFx1MDAzZWRzdF9jYWNoZSk7XFxuK1xcdFxcdFxcdGtmcmVlKHJjYXN0KTtcXG4rXFx0XFx0XFx0cmV0dXJuIDA7XFxuK1xcdFxcdH1cXG4rXFx0fVxcbitcXG4gXFx0aWYgKG50b2hzKGFkZHItXFx1MDAzZXByb3RvKSA9PSBFVEhfUF9JUClcXG4gXFx0XFx0cHJfaW5mbyhcXFwiTmV3IHJlcGxpY2FzdCBwZWVyOiAlcEk0XFxcXG5cXFwiLCBcXHUwMDI2cmNhc3QtXFx1MDAzZWFkZHIuaXB2NCk7XFxuICNpZiBJU19FTkFCTEVEKENPTkZJR19JUFY2KVxcbkBAIC0zMjcsNiArMzQwLDcgQEAgc3RhdGljIGludCB0aXBjX3VkcF9yY2FzdF9hZGQoc3RydWN0IHRpcGNfYmVhcmVyICpiLFxcbiAjZW5kaWZcXG4gXFx0Yi1cXHUwMDNlYmNhc3RfYWRkci5icm9hZGNhc3QgPSBUSVBDX1JFUExJQ0FTVF9TVVBQT1JUO1xcbiBcXHRsaXN0X2FkZF9yY3UoXFx1MDAyNnJjYXN0LVxcdTAwM2VsaXN0LCBcXHUwMDI2dWItXFx1MDAzZXJjYXN0Lmxpc3QpO1xcbitcXHRzcGluX3VubG9ja19iaChcXHUwMDI2dWItXFx1MDAzZXJjYXN0X2xvY2spO1xcbiBcXHRyZXR1cm4gMDtcXG4gfVxcbiBcXG5AQCAtNjc5LDYgKzY5Myw3IEBAIHN0YXRpYyBpbnQgdGlwY191ZHBfZW5hYmxlKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IHRpcGNfYmVhcmVyICpiLFxcbiBcXHRcXHRyZXR1cm4gLUVOT01FTTtcXG4gXFxuIFxcdElOSVRfTElTVF9IRUFEKFxcdTAwMjZ1Yi1cXHUwMDNlcmNhc3QubGlzdCk7XFxuK1xcdHNwaW5fbG9ja19pbml0KFxcdTAwMjZ1Yi1cXHUwMDNlcmNhc3RfbG9jayk7XFxuIFxcbiBcXHRpZiAoIWF0dHJzW1RJUENfTkxBX0JFQVJFUl9VRFBfT1BUU10pXFxuIFxcdFxcdGdvdG8gZXJyO1xcbkBAIC04MTksMTAgKzgzNCwxMiBAQCBzdGF0aWMgdm9pZCBjbGVhbnVwX2JlYXJlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXFxuIFxcdHN0cnVjdCB1ZHBfcmVwbGljYXN0ICpyY2FzdCwgKnRtcDtcXG4gXFx0c3RydWN0IHRpcGNfbmV0ICp0bjtcXG4gXFxuK1xcdHNwaW5fbG9ja19iaChcXHUwMDI2dWItXFx1MDAzZXJjYXN0X2xvY2spO1xcbiBcXHRsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocmNhc3QsIHRtcCwgXFx1MDAyNnViLVxcdTAwM2VyY2FzdC5saXN0LCBsaXN0KSB7XFxuIFxcdFxcdGxpc3RfZGVsX3JjdShcXHUwMDI2cmNhc3QtXFx1MDAzZWxpc3QpO1xcbiBcXHRcXHRjYWxsX3JjdV9odXJyeShcXHUwMDI2cmNhc3QtXFx1MDAzZXJjdSwgcmNhc3RfZnJlZV9yY3UpO1xcbiBcXHR9XFxuK1xcdHNwaW5fdW5sb2NrX2JoKFxcdTAwMjZ1Yi1cXHUwMDNlcmNhc3RfbG9jayk7XFxuIFxcbiBcXHR0biA9IHRpcGNfbmV0KHNvY2tfbmV0KHViLVxcdTAwM2VzaykpO1xcbiBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDZUMjA6NDQ6NTMuNzEwNDYzNDI0WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2ODUxMTUyNDU0OSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJUSVBDXCIsXG4gICAgXCJUSVBDX01FRElBX1VEUFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInRpcGNfdWRwX3JjYXN0X2FkZFwiLFxuICAgIFwidGlwY191ZHBfZW5hYmxlXCIsXG4gICAgXCJjbGVhbnVwX2JlYXJlclwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgY29uY3VycmVuY3kgaXNzdWUgaW4gVElQQyBVRFAgYmVhcmVyIGxvZ2ljIGJ5IGFkZGluZyBhIHNwaW5sb2NrIHRvIHByb3RlY3QgdGhlIHJlcGxpY2FzdCBsaXN0LiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvbnRyb2wgcGF0aCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgOGVkZDU0M2EwZmUyN2U4MTMyZTM4NmRkYzFlNDE0ZDg5MzUzZTI5OFxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBNb24gSnVsIDYgMjA6NDQ6NTEgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9uZXQvdGlwYy91ZHBfbWVkaWEuYyBiL25ldC90aXBjL3VkcF9tZWRpYS5jXG5pbmRleCA2MmFlN2Y1YjU4NDA5Yy4uNjAxMTc0Mjk3YTE2Y2QgMTAwNjQ0XG4tLS0gYS9uZXQvdGlwYy91ZHBfbWVkaWEuY1xuKysrIGIvbmV0L3RpcGMvdWRwX21lZGlhLmNcbkBAIC05NCw2ICs5NCw3IEBAIHN0cnVjdCB1ZHBfcmVwbGljYXN0IHtcbiAgKiBAaWZpbmRleDpcdGxvY2FsIGFkZHJlc3Mgc2NvcGVcbiAgKiBAd29yazpcdHVzZWQgdG8gc2NoZWR1bGUgZGVmZXJyZWQgd29yayBvbiBhIGJlYXJlclxuICAqIEByY2FzdDpcdGFzc29jaWF0ZWQgdWRwX3JlcGxpY2FzdCBjb250YWluZXJcbisgKiBAcmNhc3RfbG9jazpcdHNlcmlhbGl6ZXMgdXBkYXRlcyB0byBAcmNhc3QubGlzdFxuICAqL1xuIHN0cnVjdCB1ZHBfYmVhcmVyIHtcbiBcdHN0cnVjdCB0aXBjX2JlYXJlciBfX3JjdSAqYmVhcmVyO1xuQEAgLTEwMSw2ICsxMDIsNyBAQCBzdHJ1Y3QgdWRwX2JlYXJlciB7XG4gXHR1MzIgaWZpbmRleDtcbiBcdHN0cnVjdCB3b3JrX3N0cnVjdCB3b3JrO1xuIFx0c3RydWN0IHVkcF9yZXBsaWNhc3QgcmNhc3Q7XG4rXHRzcGlubG9ja190IHJjYXN0X2xvY2s7IC8qIHByb3RlY3RzIHJjYXN0Lmxpc3QgKi9cbiB9O1xuIFxuIHN0YXRpYyBpbnQgdGlwY191ZHBfaXNfbWNhc3RfYWRkcihzdHJ1Y3QgdWRwX21lZGlhX2FkZHIgKmFkZHIpXG5AQCAtMzAxLDcgKzMwMyw3IEBAIHN0YXRpYyBib29sIHRpcGNfdWRwX2lzX2tub3duX3BlZXIoc3RydWN0IHRpcGNfYmVhcmVyICpiLFxuIHN0YXRpYyBpbnQgdGlwY191ZHBfcmNhc3RfYWRkKHN0cnVjdCB0aXBjX2JlYXJlciAqYixcbiBcdFx0XHQgICAgICBzdHJ1Y3QgdWRwX21lZGlhX2FkZHIgKmFkZHIpXG4ge1xuLVx0c3RydWN0IHVkcF9yZXBsaWNhc3QgKnJjYXN0O1xuK1x0c3RydWN0IHVkcF9yZXBsaWNhc3QgKnJjYXN0LCAqdG1wO1xuIFx0c3RydWN0IHVkcF9iZWFyZXIgKnViO1xuIFxuIFx0dWIgPSByY3VfZGVyZWZlcmVuY2VfcnRubChiLVx1MDAzZW1lZGlhX3B0cik7XG5AQCAtMzE5LDYgKzMyMSwxNyBAQCBzdGF0aWMgaW50IHRpcGNfdWRwX3JjYXN0X2FkZChzdHJ1Y3QgdGlwY19iZWFyZXIgKmIsXG4gXG4gXHRtZW1jcHkoXHUwMDI2cmNhc3QtXHUwMDNlYWRkciwgYWRkciwgc2l6ZW9mKHN0cnVjdCB1ZHBfbWVkaWFfYWRkcikpO1xuIFxuK1x0LyogdGlwY191ZHBfcmNhc3RfZGlzYygpIGFkZHMgZnJvbSBzb2Z0aXJxIHdpdGhvdXQgcnRubF9sb2NrKCkuICovXG4rXHRzcGluX2xvY2tfYmgoXHUwMDI2dWItXHUwMDNlcmNhc3RfbG9jayk7XG4rXHRsaXN0X2Zvcl9lYWNoX2VudHJ5KHRtcCwgXHUwMDI2dWItXHUwMDNlcmNhc3QubGlzdCwgbGlzdCkge1xuK1x0XHRpZiAoIW1lbWNtcChcdTAwMjZ0bXAtXHUwMDNlYWRkciwgYWRkciwgc2l6ZW9mKHN0cnVjdCB1ZHBfbWVkaWFfYWRkcikpKSB7XG4rXHRcdFx0c3Bpbl91bmxvY2tfYmgoXHUwMDI2dWItXHUwMDNlcmNhc3RfbG9jayk7XG4rXHRcdFx0ZHN0X2NhY2hlX2Rlc3Ryb3koXHUwMDI2cmNhc3QtXHUwMDNlZHN0X2NhY2hlKTtcbitcdFx0XHRrZnJlZShyY2FzdCk7XG4rXHRcdFx0cmV0dXJuIDA7XG4rXHRcdH1cbitcdH1cbitcbiBcdGlmIChudG9ocyhhZGRyLVx1MDAzZXByb3RvKSA9PSBFVEhfUF9JUClcbiBcdFx0cHJfaW5mbyhcIk5ldyByZXBsaWNhc3QgcGVlcjogJXBJNFxcblwiLCBcdTAwMjZyY2FzdC1cdTAwM2VhZGRyLmlwdjQpO1xuICNpZiBJU19FTkFCTEVEKENPTkZJR19JUFY2KVxuQEAgLTMyNyw2ICszNDAsNyBAQCBzdGF0aWMgaW50IHRpcGNfdWRwX3JjYXN0X2FkZChzdHJ1Y3QgdGlwY19iZWFyZXIgKmIsXG4gI2VuZGlmXG4gXHRiLVx1MDAzZWJjYXN0X2FkZHIuYnJvYWRjYXN0ID0gVElQQ19SRVBMSUNBU1RfU1VQUE9SVDtcbiBcdGxpc3RfYWRkX3JjdShcdTAwMjZyY2FzdC1cdTAwM2VsaXN0LCBcdTAwMjZ1Yi1cdTAwM2VyY2FzdC5saXN0KTtcbitcdHNwaW5fdW5sb2NrX2JoKFx1MDAyNnViLVx1MDAzZXJjYXN0X2xvY2spO1xuIFx0cmV0dXJuIDA7XG4gfVxuIFxuQEAgLTY3OSw2ICs2OTMsNyBAQCBzdGF0aWMgaW50IHRpcGNfdWRwX2VuYWJsZShzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCB0aXBjX2JlYXJlciAqYixcbiBcdFx0cmV0dXJuIC1FTk9NRU07XG4gXG4gXHRJTklUX0xJU1RfSEVBRChcdTAwMjZ1Yi1cdTAwM2VyY2FzdC5saXN0KTtcbitcdHNwaW5fbG9ja19pbml0KFx1MDAyNnViLVx1MDAzZXJjYXN0X2xvY2spO1xuIFxuIFx0aWYgKCFhdHRyc1tUSVBDX05MQV9CRUFSRVJfVURQX09QVFNdKVxuIFx0XHRnb3RvIGVycjtcbkBAIC04MTksMTAgKzgzNCwxMiBAQCBzdGF0aWMgdm9pZCBjbGVhbnVwX2JlYXJlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG4gXHRzdHJ1Y3QgdWRwX3JlcGxpY2FzdCAqcmNhc3QsICp0bXA7XG4gXHRzdHJ1Y3QgdGlwY19uZXQgKnRuO1xuIFxuK1x0c3Bpbl9sb2NrX2JoKFx1MDAyNnViLVx1MDAzZXJjYXN0X2xvY2spO1xuIFx0bGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHJjYXN0LCB0bXAsIFx1MDAyNnViLVx1MDAzZXJjYXN0Lmxpc3QsIGxpc3QpIHtcbiBcdFx0bGlzdF9kZWxfcmN1KFx1MDAyNnJjYXN0LVx1MDAzZWxpc3QpO1xuIFx0XHRjYWxsX3JjdV9odXJyeShcdTAwMjZyY2FzdC1cdTAwM2VyY3UsIHJjYXN0X2ZyZWVfcmN1KTtcbiBcdH1cbitcdHNwaW5fdW5sb2NrX2JoKFx1MDAyNnViLVx1MDAzZXJjYXN0X2xvY2spO1xuIFxuIFx0dG4gPSB0aXBjX25ldChzb2NrX25ldCh1Yi1cdTAwM2VzaykpO1xuIFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDZUMjA6NDQ6NTMuNzEwNDY1Nzc0WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTEzNTUzMjQ2MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIFRJUEMgVURQIEJlYXJlciBQYXRjaCoqXG5cbk9rYXksIHNvIEkndmUgZ290IHRoaXMgcGF0Y2gg4oCTIHNlZW1zIGxpa2UgYSBzdHJhaWdodGZvcndhcmQgZnVuY3Rpb25hbCBjaGFuZ2UgdG8gdGhlIFRJUEMgVURQIGJlYXJlciBsb2dpYy4gSXQncyB0b3VjaGluZyBgbmV0L3RpcGMvdWRwX21lZGlhLmNgLCBhbmQgdGhlIGtleSBoZXJlIGlzIHRoZSBpbnRyb2R1Y3Rpb24gb2YgYSBzcGlubG9jaywgYHJjYXN0X2xvY2tgLCB0byB0aGUgYHN0cnVjdCB1ZHBfYmVhcmVyYC4gQXBwYXJlbnRseSwgdGhpcyBpcyB0byBwcm90ZWN0IHRoZSBgcmNhc3QubGlzdGAgbWVtYmVyLCB3aGljaCBtYWtlcyBzZW5zZTsgYWx3YXlzIGdvb2QgdG8gc2VlIHRob3NlIGNvbmN1cnJlbmN5IGlzc3VlcyBhZGRyZXNzZWQgd2l0aCBhcHByb3ByaWF0ZSBzeW5jaHJvbml6YXRpb24gcHJpbWl0aXZlcy4gVGhlIHBhdGNoIGlzIGFsc28gbW9kaWZ5aW5nIGB0aXBjX3VkcF9yY2FzdF9hZGRgLCBgdGlwY191ZHBfZW5hYmxlYCwgYW5kIGBjbGVhbnVwX2JlYXJlcmAg4oCTIGZ1bmN0aW9ucyB0aGF0IGFyZSBjbGVhcmx5IGludGVyYWN0aW5nIHdpdGggdGhpcyBicm9hZGNhc3QgbGlzdC5cblxuTm93LCBiZWZvcmUgSSBkaXZlIHRvbyBkZWVwLCBJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgZGVwZW5kZW5jaWVzIGFuZCBjb25maWd1cmF0aW9ucy4gSSdsbCBuZWVkIHRvIGNoZWNrIHRoZSBLY29uZmlnIGZpbGVzLCBzdGFydGluZyB3aXRoIGBuZXQvdGlwYy91ZHBfbWVkaWEuY2AgaXRzZWxmLCB0byBzZWUgd2hhdCBvcHRpb25zIGNvbnRyb2wgdGhpcyBmdW5jdGlvbmFsaXR5LiBNeSBpbW1lZGlhdGUgaHVuY2ggaXMgdGhhdCB0aGlzIGlzIGNvbnRyb2xsZWQgYnkgYENPTkZJR19USVBDX01FRElBX1VEUGAsIGFuZCBvZiBjb3Vyc2UgYENPTkZJR19USVBDYCBtdXN0IGJlIHNldCBhcyBhIHByZXJlcXVpc2l0ZS4gXG5cbkxldCdzIHF1aWNrbHkgY29uZmlybSB3aXRoIGBncmVwcGVyYCwgdG8gYmUgYWJzb2x1dGVseSBzdXJlLiBUaGlzIHdpbGwgaGVscCBtYWtlIHN1cmUgSSB1bmRlcnN0YW5kIHRoZSBjb250ZXh0IHdpdGhpbiB0aGUgbGFyZ2VyIFRJUEMgc3lzdGVtIGJlZm9yZSBJIHN0YXJ0IHJldmlld2luZyB0aGUgcGF0Y2ggaXRzZWxmLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNzE2LCJPdXRwdXRUb2tlbnMiOjMxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTY5LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDZUMjA6NDQ6NTguODQ2MDAwNzc3WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQ0MDkwMzg5NywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJUSVBDX01FRElBX1VEUFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvdGlwYy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwibmV0L3RpcGMvS2NvbmZpZz0yND1jb25maWcgVElQQ19NRURJQV9JQlxcbi0tXFxubmV0L3RpcGMvS2NvbmZpZy0yOS1cXHQgIElQLW92ZXItSW5maW5pQmFuZCBkZXZpY2VzLlxcbm5ldC90aXBjL0tjb25maWc6MzA6Y29uZmlnIFRJUENfTUVESUFfVURQXFxubmV0L3RpcGMvS2NvbmZpZy0zMS1cXHRib29sIFxcXCJJUC9VRFAgbWVkaWEgdHlwZSBzdXBwb3J0XFxcIlxcbi0tXFxubmV0L3RpcGMvTWFrZWZpbGU9MTQ9Q0ZMQUdTX3RyYWNlLm8gKz0gLUkkKHNyYylcXG5uZXQvdGlwYy9NYWtlZmlsZS0xNS1cXG5uZXQvdGlwYy9NYWtlZmlsZToxNjp0aXBjLSQoQ09ORklHX1RJUENfTUVESUFfVURQKVxcdCs9IHVkcF9tZWRpYS5vXFxubmV0L3RpcGMvTWFrZWZpbGUtMTctdGlwYy0kKENPTkZJR19USVBDX01FRElBX0lCKVxcdCs9IGliX21lZGlhLm9cXG4tLVxcbm5ldC90aXBjL2JlYXJlci5jPTUxPXN0YXRpYyBzdHJ1Y3QgdGlwY19tZWRpYSAqIGNvbnN0IG1lZGlhX2luZm9fYXJyYXlbXSA9IHtcXG4tLVxcbm5ldC90aXBjL2JlYXJlci5jLTU1LSNlbmRpZlxcbm5ldC90aXBjL2JlYXJlci5jOjU2OiNpZmRlZiBDT05GSUdfVElQQ19NRURJQV9VRFBcXG5uZXQvdGlwYy9iZWFyZXIuYy01Ny1cXHRcXHUwMDI2dWRwX21lZGlhX2luZm8sXFxuLS1cXG5uZXQvdGlwYy9iZWFyZXIuYz04MjQ9c3RhdGljIGludCBfX3RpcGNfbmxfYWRkX2JlYXJlcihzdHJ1Y3QgdGlwY19ubF9tc2cgKm1zZyxcXG4tLVxcbm5ldC90aXBjL2JlYXJlci5jLTg1Ny1cXG5uZXQvdGlwYy9iZWFyZXIuYzo4NTg6I2lmZGVmIENPTkZJR19USVBDX01FRElBX1VEUFxcbm5ldC90aXBjL2JlYXJlci5jLTg1OS1cXHRpZiAoYmVhcmVyLVxcdTAwM2VtZWRpYS1cXHUwMDNldHlwZV9pZCA9PSBUSVBDX01FRElBX1RZUEVfVURQKSB7XFxuLS1cXG5uZXQvdGlwYy9iZWFyZXIuYz0xMDYzPWludCB0aXBjX25sX2JlYXJlcl9hZGQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcXG4tLVxcbm5ldC90aXBjL2JlYXJlci5jLTEwOTEtXFxubmV0L3RpcGMvYmVhcmVyLmM6MTA5MjojaWZkZWYgQ09ORklHX1RJUENfTUVESUFfVURQXFxubmV0L3RpcGMvYmVhcmVyLmMtMTA5My1cXHRpZiAoYXR0cnNbVElQQ19OTEFfQkVBUkVSX1VEUF9PUFRTXSkge1xcbi0tXFxubmV0L3RpcGMvYmVhcmVyLmM9MTExMD1pbnQgX190aXBjX25sX2JlYXJlcl9zZXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcXG4tLVxcbm5ldC90aXBjL2JlYXJlci5jLTExNTgtXFx0XFx0XFx0fVxcbm5ldC90aXBjL2JlYXJlci5jOjExNTk6I2lmZGVmIENPTkZJR19USVBDX01FRElBX1VEUFxcbm5ldC90aXBjL2JlYXJlci5jLTExNjAtXFx0XFx0XFx0aWYgKG5sYV9nZXRfdTMyKHByb3BzW1RJUENfTkxBX1BST1BfTVRVXSkgXFx1MDAzY1xcbi0tXFxubmV0L3RpcGMvYmVhcmVyLmM9MTMxMT1pbnQgX190aXBjX25sX21lZGlhX3NldChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxcbi0tXFxubmV0L3RpcGMvYmVhcmVyLmMtMTM1My1cXHRcXHRcXHR9XFxubmV0L3RpcGMvYmVhcmVyLmM6MTM1NDojaWZkZWYgQ09ORklHX1RJUENfTUVESUFfVURQXFxubmV0L3RpcGMvYmVhcmVyLmMtMTM1NS1cXHRcXHRcXHRpZiAodGlwY191ZHBfbXR1X2JhZChubGFfZ2V0X3UzMlxcbi0tXFxubmV0L3RpcGMvYmVhcmVyLmg9MTk2PWV4dGVybiBzdHJ1Y3QgdGlwY19tZWRpYSBpYl9tZWRpYV9pbmZvO1xcbm5ldC90aXBjL2JlYXJlci5oLTE5Ny0jZW5kaWZcXG5uZXQvdGlwYy9iZWFyZXIuaDoxOTg6I2lmZGVmIENPTkZJR19USVBDX01FRElBX1VEUFxcbm5ldC90aXBjL2JlYXJlci5oLTE5OS1leHRlcm4gc3RydWN0IHRpcGNfbWVkaWEgdWRwX21lZGlhX2luZm87XFxuLS1cXG5uZXQvdGlwYy9uZXRsaW5rLmM9MTUxPXN0YXRpYyBjb25zdCBzdHJ1Y3QgZ2VubF9vcHMgdGlwY19nZW5sX3YyX29wc1tdID0ge1xcbi0tXFxubmV0L3RpcGMvbmV0bGluay5jLTI2OS1cXHR9LFxcbm5ldC90aXBjL25ldGxpbmsuYzoyNzA6I2lmZGVmIENPTkZJR19USVBDX01FRElBX1VEUFxcbm5ldC90aXBjL25ldGxpbmsuYy0yNzEtXFx0e1xcbi0tXFxubmV0L3RpcGMvdWRwX21lZGlhLmgtMzYtXFxubmV0L3RpcGMvdWRwX21lZGlhLmg6Mzc6I2lmZGVmIENPTkZJR19USVBDX01FRElBX1VEUFxcbm5ldC90aXBjL3VkcF9tZWRpYS5oLTM4LSNpZm5kZWYgX1RJUENfVURQX01FRElBX0hcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDZUMjA6NDQ6NTkuMjg2OTExMjE0WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTc3OTQ0Njk5MTAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSB0YWtlIG9uIHRoZSBzaXR1YXRpb246XG5cbioqSW52ZXN0aWdhdGluZyB0aGUgQ29uZmlndXJhdGlvbiBmb3IgVElQQyBNZWRpYSBvdmVyIFVEUCoqXG5cbk9rYXksIHNvIEkgbmVlZCB0byBjb25maWd1cmUgdGhpcyBzeXN0ZW0gdG8gdXNlIFRJUEMgb3ZlciBVRFAgbWVkaWEuIFRoZSBzcGVjaWZpYyBjb25maWd1cmF0aW9uIG9wdGlvbiBJIG5lZWQgaXMgYFRJUENfTUVESUFfVURQYCwgYW5kIG9mIGNvdXJzZSwgSSdsbCBuZWVkIGBUSVBDYCBlbmFibGVkIGFzIHdlbGwuIE15IGZpcnN0IG1vdmUgaXMgdG8gaGVhZCBvdmVyIHRvIHRoZSBrZXJuZWwgY29uZmlndXJhdGlvbiBmaWxlcy4gVGhlIHBsYWNlIHRvIHN0YXJ0IGxvb2tpbmcgaXMgYG5ldC90aXBjL0tjb25maWdgLiBUaGF0J3Mgd2hlcmUgYWxsIHRoZSBtYWlubGluZSBUSVBDIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBzaG91bGQgcmVzaWRlLiBGcm9tIHRoZXJlLCBJIGNhbiBmaWd1cmUgb3V0IHRoZSBkZXBlbmRlbmNpZXMsIGltcGxpY2F0aW9ucywgYW5kIG1heWJlIGV2ZW4gZ2V0IGEgc2Vuc2Ugb2YgaG93IHRvIHByb3Blcmx5IHNldCB1cCB0aGUgVURQIG1lZGlhIHBhcnQuIExldCdzIHNlZSB3aGF0IHRoYXQgS2NvbmZpZyBmaWxlIHJldmVhbHMuLi4gSSdtIGV4cGVjdGluZyB0byBmaW5kIHRoZSBgVElQQ2Agb3B0aW9uIHRoZXJlLCBhbmQgaG9wZWZ1bGx5LCBgVElQQ19NRURJQV9VRFBgIGFzIGEgZGlyZWN0bHkgcmVsYXRlZCBjaG9pY2UuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQyMTcsIk91dHB1dFRva2VucyI6MjgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozOCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wNlQyMDo0NToxNy4wODEzODM0MTRaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6OTU4MDQ3MjMsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIFRJUENcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L3RpcGMvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC90aXBjL0tjb25maWctNS1cXG5uZXQvdGlwYy9LY29uZmlnOjY6bWVudWNvbmZpZyBUSVBDXFxubmV0L3RpcGMvS2NvbmZpZy03LVxcdHRyaXN0YXRlIFxcXCJUaGUgVElQQyBQcm90b2NvbFxcXCJcXG4tLVxcbm5ldC90aXBjL0tjb25maWctMjMtXFxubmV0L3RpcGMvS2NvbmZpZzoyNDpjb25maWcgVElQQ19NRURJQV9JQlxcbm5ldC90aXBjL0tjb25maWctMjUtXFx0Ym9vbCBcXFwiSW5maW5pQmFuZCBtZWRpYSB0eXBlIHN1cHBvcnRcXFwiXFxuLS1cXG5uZXQvdGlwYy9LY29uZmlnLTI5LVxcdCAgSVAtb3Zlci1JbmZpbmlCYW5kIGRldmljZXMuXFxubmV0L3RpcGMvS2NvbmZpZzozMDpjb25maWcgVElQQ19NRURJQV9VRFBcXG5uZXQvdGlwYy9LY29uZmlnLTMxLVxcdGJvb2wgXFxcIklQL1VEUCBtZWRpYSB0eXBlIHN1cHBvcnRcXFwiXFxuLS1cXG5uZXQvdGlwYy9LY29uZmlnLTM3LVxcbm5ldC90aXBjL0tjb25maWc6Mzg6Y29uZmlnIFRJUENfQ1JZUFRPXFxubmV0L3RpcGMvS2NvbmZpZy0zOS1cXHRib29sIFxcXCJUSVBDIGVuY3J5cHRpb24gc3VwcG9ydFxcXCJcXG4tLVxcbm5ldC90aXBjL0tjb25maWctNTItXFxubmV0L3RpcGMvS2NvbmZpZzo1Mzpjb25maWcgVElQQ19ESUFHXFxubmV0L3RpcGMvS2NvbmZpZy01NC1cXHR0cmlzdGF0ZSBcXFwiVElQQzogc29ja2V0IG1vbml0b3JpbmcgaW50ZXJmYWNlXFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wNlQyMDo0NToxNy4xNzcxOTcxMjhaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MTU0Mjg5NTg3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgVElQQyBVRFAgQ29uZmlndXJhdGlvbiBDaGFuZ2UqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGFuZCBpbW1lZGlhdGVseSwgYFRJUENgIGFuZCBgVElQQ19NRURJQV9VRFBgIGFyZSB0aGUga2V5IGNvbmZpZ3MgdGhhdCBhcmUgYmVpbmcgdG91Y2hlZC4gTXkgaW1tZWRpYXRlIGZvY3VzIGlzIG9uIHRoZSBmdW5jdGlvbnMgdGhhdCB0aGlzIHBhdGNoIGlzIG1vZGlmeWluZy4gVGhlIGRpZmYgc2hvd3MgbWUgaXQncyB6ZXJvaW5nIGluIG9uOiBgdGlwY191ZHBfcmNhc3RfYWRkYCwgYHRpcGNfdWRwX2VuYWJsZWAsIGFuZCBgY2xlYW51cF9iZWFyZXJgLlxuXG5Ob3csIHRoZSBpbXBvcnRhbnQgcXVlc3Rpb24gaXM6IGFyZSB0aGVzZSBwZXJmb3JtYW5jZS1jcml0aWNhbCBwYXRocz8gTGV0J3Mgc2VlLi4uIGB0aXBjX3VkcF9yY2FzdF9hZGRgIGlzIHRoZSBvbmUgY2FsbGVkIHdoZW4gYSBuZXcgcmVwbGljYXN0IHBlZXIgaXMgYWRkZWQuICBgdGlwY191ZHBfZW5hYmxlYCBpcyBnb2luZyB0byBiZSBhY3RpdmF0ZWQgd2hlbiBhIFVEUCBiZWFyZXIgaXMgZW5hYmxlZC4gQW5kIGZpbmFsbHksIGBjbGVhbnVwX2JlYXJlcmAgaXMsIGFzIHRoZSBuYW1lIGltcGxpZXMsIGludm9rZWQgd2hlbiBhIFVEUCBiZWFyZXIgaXMgZGlzYWJsZWQgb3IgY2xlYW5lZCB1cC5cblxuSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGltcGFjdCBvZiBhbnkgY2hhbmdlcyB0byB0aGVzZSBmdW5jdGlvbnMsIHNvIEknbGwgc3RhcnQgYnkgY2hlY2tpbmcgdGhlIGNhbGxlcnMgb2YgYHRpcGNfdWRwX3JjYXN0X2FkZGAuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ3NTYsIk91dHB1dFRva2VucyI6MzQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNTMsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDZUMjA6NDU6MjEuMzMxNDkwMTU1WiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjg3OTAzNzA2LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInRpcGNfdWRwX3JjYXN0X2FkZFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvdGlwYy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwibmV0L3RpcGMvdWRwX21lZGlhLmM9MjgzPXN0YXRpYyBib29sIHRpcGNfdWRwX2lzX2tub3duX3BlZXIoc3RydWN0IHRpcGNfYmVhcmVyICpiLFxcbi0tXFxubmV0L3RpcGMvdWRwX21lZGlhLmMtMzAyLVxcbm5ldC90aXBjL3VkcF9tZWRpYS5jOjMwMzpzdGF0aWMgaW50IHRpcGNfdWRwX3JjYXN0X2FkZChzdHJ1Y3QgdGlwY19iZWFyZXIgKmIsXFxubmV0L3RpcGMvdWRwX21lZGlhLmMtMzA0LVxcdFxcdFxcdCAgICAgIHN0cnVjdCB1ZHBfbWVkaWFfYWRkciAqYWRkcilcXG4tLVxcbm5ldC90aXBjL3VkcF9tZWRpYS5jPTM0Nz1zdGF0aWMgaW50IHRpcGNfdWRwX3JjYXN0X2Rpc2Moc3RydWN0IHRpcGNfYmVhcmVyICpiLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKVxcbi0tXFxubmV0L3RpcGMvdWRwX21lZGlhLmMtMzgwLVxcbm5ldC90aXBjL3VkcF9tZWRpYS5jOjM4MTpcXHRyZXR1cm4gdGlwY191ZHBfcmNhc3RfYWRkKGIsIFxcdTAwMjZzcmMpO1xcbm5ldC90aXBjL3VkcF9tZWRpYS5jLTM4Mi19XFxuLS1cXG5uZXQvdGlwYy91ZHBfbWVkaWEuYz02Mzg9aW50IHRpcGNfdWRwX25sX2JlYXJlcl9hZGQoc3RydWN0IHRpcGNfYmVhcmVyICpiLCBzdHJ1Y3QgbmxhdHRyICphdHRyKVxcbi0tXFxubmV0L3RpcGMvdWRwX21lZGlhLmMtNjYzLVxcbm5ldC90aXBjL3VkcF9tZWRpYS5jOjY2NDpcXHRyZXR1cm4gdGlwY191ZHBfcmNhc3RfYWRkKGIsIFxcdTAwMjZhZGRyKTtcXG5uZXQvdGlwYy91ZHBfbWVkaWEuYy02NjUtfVxcbi0tXFxubmV0L3RpcGMvdWRwX21lZGlhLmM9Njc2PXN0YXRpYyBpbnQgdGlwY191ZHBfZW5hYmxlKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IHRpcGNfYmVhcmVyICpiLFxcbi0tXFxubmV0L3RpcGMvdWRwX21lZGlhLmMtODA2LVxcdGVsc2VcXG5uZXQvdGlwYy91ZHBfbWVkaWEuYzo4MDc6XFx0XFx0ZXJyID0gdGlwY191ZHBfcmNhc3RfYWRkKGIsIFxcdTAwMjZyZW1vdGUpO1xcbm5ldC90aXBjL3VkcF9tZWRpYS5jLTgwOC1cXHRpZiAoZXJyKVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wNlQyMDo0NToyMS40MTk0MDA2NzFaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxNDMxMTQxMTUwNiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIENhbGwgUGF0aHMgZm9yIFVEUCBNdWx0aWNhc3QgaW4gVElQQyoqXG5cbk9rYXksIHNvIEknbSB0cmFjaW5nIHRoZSB1c2FnZSBvZiBgdGlwY191ZHBfcmNhc3RfYWRkYC4gSXQgbG9va3MgbGlrZSB0aGlzIGZ1bmN0aW9uIGlzIHByZXR0eSBjZW50cmFsIHRvIGhhbmRsaW5nIFVEUCBtdWx0aWNhc3QgaW4gVElQQy4gSSdtIHNlZWluZyB0aGF0IGB0aXBjX3VkcF9yY2FzdF9hZGRgIGlzIGNhbGxlZCBmcm9tIGEgZmV3IGtleSBwbGFjZXM6IGB0aXBjX3VkcF9yY2FzdF9kaXNjYCwgYHRpcGNfdWRwX25sX2JlYXJlcl9hZGRgLCBhbmQgYHRpcGNfdWRwX2VuYWJsZWAuIFJpZ2h0LCBtYWtlcyBzZW5zZS4gXG5cbmB0aXBjX3VkcF9yY2FzdF9kaXNjYCBpcyB0cmlnZ2VyZWQgYnkgYSBkaXNjb3ZlcnkgbWVzc2FnZSDigJMgc28gdGhpcyBmdW5jdGlvbiBtdXN0IGJlIGludm9sdmVkIGluIHJlZ2lzdGVyaW5nIG5vZGVzIHdoZW4gYSBuZXcgZGlzY292ZXJ5IHBhY2tldCBpcyByZWNlaXZlZC4gVGhhdCdzIGEgY2xhc3NpYyBtdWx0aWNhc3Qgc2V0dXAgc2NlbmFyaW8sIHNvIEknbSBub3Qgc3VycHJpc2VkIHRoZXJlLlxuXG5gdGlwY191ZHBfbmxfYmVhcmVyX2FkZGAgY29tZXMgZnJvbSBuZXRsaW5rLiBUaGlzIHByb2JhYmx5IG1lYW5zIGl0J3MgaG93IHdlJ3JlIGNvbmZpZ3VyaW5nIHRoaW5ncyB0aHJvdWdoIGEgdXNlci1zcGFjZSBwcm9jZXNzLiBNYWtlcyB0aGUgc2V0dXAgYWNjZXNzaWJsZSBpbiB1c2VybGFuZC5cblxuQW5kIGB0aXBjX3VkcF9lbmFibGVgIGlzIGNhbGxlZCB3aGVuIGEgYmVhcmVyIGlzIGVuYWJsZWQuIFRoYXQncyBhIGhpZ2gtbGV2ZWwgdHJpZ2dlciwgaW5kaWNhdGluZyB0aGF0IFVEUCBtdWx0aWNhc3QgZnVuY3Rpb25hbGl0eSBpcyBiZWluZyBhY3RpdmF0ZWQuIFRoYXQgb25lJ3MgY2xlYXIuXG5cbk5vdywgbGV0J3Mgc2VlLCB3aGF0J3MgdGhpcyBgY2xlYW51cF9iZWFyZXJgIGZ1bmN0aW9uIGRvaW5nPyBUaGF0IG9uZSdzIGNhbGxlZCBmcm9tIGEgd29ya3F1ZXVlLiBJIG5lZWQgdG8gaW52ZXN0aWdhdGUgdGhhdCB0byBzZWUgd2hhdCdzIGJlaW5nIGNsZWFuZWQgdXAsIGFuZCB3aGF0IGlzIGl0cyB1c2UgY2FzZS4gSSdtIGdvaW5nIHRvIGp1bXAgaW50byBgbmV0L3RpcGMvdWRwX21lZGlhLmNgIG5vdyB0byBleGFtaW5lIHRoYXQgZnVuY3Rpb24gaW4gZGV0YWlsLlxuXG5cbiIsIklucHV0VG9rZW5zIjo1NjM0LCJPdXRwdXRUb2tlbnMiOjI4LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTM5LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA2VDIwOjQ1OjM1LjczMDgxNDg4NloiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6OTMyNDI1NTQsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY2xlYW51cF9iZWFyZXJcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L3RpcGMvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC90aXBjL3VkcF9tZWRpYS5jPTgyMj1zdGF0aWMgdm9pZCByY2FzdF9mcmVlX3JjdShzdHJ1Y3QgcmN1X2hlYWQgKnJjdSlcXG4tLVxcbm5ldC90aXBjL3VkcF9tZWRpYS5jLTgyOS1cXG5uZXQvdGlwYy91ZHBfbWVkaWEuYzo4MzA6LyogY2xlYW51cF9iZWFyZXIgLSBicmVhayB0aGUgc29ja2V0L2JlYXJlciBhc3NvY2lhdGlvbiAqL1xcbm5ldC90aXBjL3VkcF9tZWRpYS5jOjgzMTpzdGF0aWMgdm9pZCBjbGVhbnVwX2JlYXJlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXFxubmV0L3RpcGMvdWRwX21lZGlhLmMtODMyLXtcXG4tLVxcbm5ldC90aXBjL3VkcF9tZWRpYS5jPTg1Nz1zdGF0aWMgdm9pZCB0aXBjX3VkcF9kaXNhYmxlKHN0cnVjdCB0aXBjX2JlYXJlciAqYilcXG4tLVxcbm5ldC90aXBjL3VkcF9tZWRpYS5jLTg3MC1cXHRhdG9taWNfaW5jKFxcdTAwMjZ0aXBjX25ldChzb2NrX25ldCh1Yi1cXHUwMDNlc2spKS1cXHUwMDNld3FfY291bnQpO1xcbm5ldC90aXBjL3VkcF9tZWRpYS5jOjg3MTpcXHRJTklUX1dPUksoXFx1MDAyNnViLVxcdTAwM2V3b3JrLCBjbGVhbnVwX2JlYXJlcik7XFxubmV0L3RpcGMvdWRwX21lZGlhLmMtODcyLVxcdHNjaGVkdWxlX3dvcmsoXFx1MDAyNnViLVxcdTAwM2V3b3JrKTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDZUMjA6NDU6MzUuODI0MDYzNTdaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MjYyNjc0MDQxOTksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIENvbmN1cnJlbmN5IEZpeGVzIGluIFRJUEMgVURQIFJlcGxpY2FzdCoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggYW5kLCByaWdodCBvZmYgdGhlIGJhdCwgSSBzZWUgdGhlc2UgYXJlbid0IHBlcmZvcm1hbmNlLWNyaXRpY2FsIGZ1bmN0aW9ucy4gVGhleSdyZSBhbGwgY29udHJvbC1wYXRoIG9wZXJhdGlvbnPigJRzdHVmZiBmb3IgbWFuYWdpbmcgUmVwbGljYXN0IHBlZXJzLCBlbmFibGluZy9kaXNhYmxpbmcgYmVhcmVycyBhbmQgdGhlIGxpa2UuIFRoYXQgc2ltcGxpZmllcyB0aGluZ3MgYSBiaXQ7IHdlJ3JlIG5vdCBkZWFsaW5nIHdpdGggdGlnaHQgbG9vcHMgaGVyZS4gTXkgZm9jdXMsIHRoZW4sIGlzIHNxdWFyZWx5IG9uIHRoZXNlIGZ1bmN0aW9uczogYHRpcGNfdWRwX3JjYXN0X2FkZGAsIGB0aXBjX3VkcF9lbmFibGVgLCBgY2xlYW51cF9iZWFyZXJgLCBgdGlwY191ZHBfcmNhc3RfZGlzY2AsIGB0aXBjX3VkcF9ubF9iZWFyZXJfYWRkYCwgYW5kIGB0aXBjX3VkcF9kaXNhYmxlYC5cblxuTGV0J3MgcGljayBhIGZldyBvZiB0aG9zZSBmb3IgY2xvc2VyIHNjcnV0aW55IOKAkyBgdGlwY191ZHBfcmNhc3RfYWRkYCwgYHRpcGNfdWRwX2VuYWJsZWAsIGFuZCBgY2xlYW51cF9iZWFyZXJgIGp1bXAgb3V0IGFzIHJlcHJlc2VudGF0aXZlLiBUaGUgZ2lzdCBvZiB0aGUgcGF0Y2ggaXMgYSBjb25jdXJyZW5jeSBmaXguIEl0IGludHJvZHVjZXMgYSBzcGlubG9jaywgYHJjYXN0X2xvY2tgLCB0byBndWFyZCBgdWItXHUwMDNlcmNhc3QubGlzdGAuIFRoYXQgdGVsbHMgbWUgdGhpcyBpcyBhICpmdW5jdGlvbmFsKiBjaGFuZ2UsIGRlc2lnbmVkIHRvIHByb3RlY3QgdGhlIGludGVncml0eSBvZiB0aGUgUmVwbGljYXN0IGxpc3QsIGxpa2VseSBmcm9tIHNpbXVsdGFuZW91cyBhY2Nlc3MuIFNvLCB0aGUgcXVlc3Rpb24gaXMsIGlzIHRoaXMgYWN0dWFsbHkgbmVjZXNzYXJ5P1xuXG5XZWxsLCBsZXQncyB0cmFjZSBgdGlwY191ZHBfcmNhc3RfYWRkYC4gRnJvbSB3aGF0IEkga25vdywgaXQncyByZWFjaGFibGUgdGhyb3VnaCBuZXRsaW5rIG1lc3NhZ2VzIGFuZCBkaXNjb3ZlcnkgbWVzc2FnZXMuIEFscmlnaHQsIHRoYXQgY29uZmlybXMgbXkgYXNzdW1wdGlvbi4gTm93LCBiYXNlZCBvbiB0aGUgY29kZWJhc2UsIHRoZSByZWxldmFudCBjb25maWd1cmF0aW9ucyBhcmUgYFRJUENgIGFuZCBgVElQQ19NRURJQV9VRFBgLiBGaW5lLiBTZWVtcyBwcmV0dHkgc3RyYWlnaHRmb3J3YXJkLCBJIHRoaW5rIEkndmUgZ290IGEgaGFuZGxlIG9uIHRoZSBzaXR1YXRpb24gbm93LlxuXG5cbiIsIklucHV0VG9rZW5zIjo2NDAwLCJPdXRwdXRUb2tlbnMiOjExMCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjIzMSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wNlQyMDo0NjowMi4wOTE0Njk3ODlaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMzA1MTI1NjQsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIlRJUENcIixcbiAgICBcIlRJUENfTUVESUFfVURQXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwidGlwY191ZHBfcmNhc3RfYWRkXCIsXG4gICAgXCJ0aXBjX3VkcF9lbmFibGVcIixcbiAgICBcImNsZWFudXBfYmVhcmVyXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYSBjb25jdXJyZW5jeSBpc3N1ZSBpbiBUSVBDIFVEUCBiZWFyZXIgbG9naWMgYnkgYWRkaW5nIGEgc3BpbmxvY2sgdG8gcHJvdGVjdCB0aGUgcmVwbGljYXN0IGxpc3QuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29udHJvbCBwYXRoIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJUSVBDXCIsXG4gICAgXCJUSVBDX01FRElBX1VEUFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInRpcGNfdWRwX3JjYXN0X2FkZFwiLFxuICAgIFwidGlwY191ZHBfZW5hYmxlXCIsXG4gICAgXCJjbGVhbnVwX2JlYXJlclwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgY29uY3VycmVuY3kgaXNzdWUgaW4gVElQQyBVRFAgYmVhcmVyIGxvZ2ljIGJ5IGFkZGluZyBhIHNwaW5sb2NrIHRvIHByb3RlY3QgdGhlIHJlcGxpY2FzdCBsaXN0LiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvbnRyb2wgcGF0aCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowv2qjx[1] Phase: Succeeded StartedAt: 2026-07-06 20:46:14 +0000 UTC FinishedAt: 2026-07-06 20:46:14 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv2qjx[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-06 20:46:14 +0000 UTC FinishedAt: 2026-07-06 20:46:14 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv2qjx[2] Phase: Succeeded StartedAt: 2026-07-06 20:46:14 +0000 UTC FinishedAt: 2026-07-07 01:11:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-06 20:46:14 +0000 UTC FinishedAt: 2026-07-07 01:11:11 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-06 20:46:14 +0000 UTC FinishedAt: 2026-07-06 20:46:35 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-06 20:46:14 +0000 UTC FinishedAt: 2026-07-06 20:46:25 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.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-workflowv2qjx/series-workflowv2qjx-convert-artifact-997689888/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-06 20:46:35 +0000 UTC FinishedAt: 2026-07-06 21:30:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-06 20:46:35 +0000 UTC FinishedAt: 2026-07-06 21:30:19 +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:*65f16993-20c8-488e-8c22-d742b9bfb121,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-workflowv2qjx/series-workflowv2qjx-convert-artifact-997689888/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": "1b750c13-7b63-42f4-94e6-bb85deef7006", "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-workflowv2qjx/series-workflowv2qjx-build-action-1390962918/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-07-06 20:46:35 +0000 UTC FinishedAt: 2026-07-06 21:30:09 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*65f16993-20c8-488e-8c22-d742b9bfb121,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-workflowv2qjx/series-workflowv2qjx-convert-artifact-997689888/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": "1b750c13-7b63-42f4-94e6-bb85deef7006", "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-workflowv2qjx/series-workflowv2qjx-build-action-1390962918/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-06 21:30:19 +0000 UTC FinishedAt: 2026-07-06 21:30:20 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-06 21:30:20 +0000 UTC FinishedAt: 2026-07-06 21:30:20 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-06 21:30:20 +0000 UTC FinishedAt: 2026-07-06 21:30:42 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-06 21:30:20 +0000 UTC FinishedAt: 2026-07-06 21:30:30 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.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-workflowv2qjx/series-workflowv2qjx-convert-artifact-2804026951/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-06 21:30:42 +0000 UTC FinishedAt: 2026-07-06 21:32:51 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-06 21:30:42 +0000 UTC FinishedAt: 2026-07-06 21:32:39 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*1b750c13-7b63-42f4-94e6-bb85deef7006,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-workflowv2qjx/series-workflowv2qjx-build-action-1390962918/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-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-06 21:32:51 +0000 UTC FinishedAt: 2026-07-06 21:32:51 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-06 21:32:51 +0000 UTC FinishedAt: 2026-07-06 21:32:51 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-06 21:32:51 +0000 UTC FinishedAt: 2026-07-06 22:06:31 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-06 21:32:51 +0000 UTC FinishedAt: 2026-07-06 22:06:31 +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:*65f16993-20c8-488e-8c22-d742b9bfb121,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-workflowv2qjx/series-workflowv2qjx-convert-artifact-2804026951/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": "b64e011d-fb2f-4fec-9ae3-1d1bde25d5bd", "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-workflowv2qjx/series-workflowv2qjx-build-action-2281590219/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-06 21:32:51 +0000 UTC FinishedAt: 2026-07-06 22:06:08 +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:*65f16993-20c8-488e-8c22-d742b9bfb121,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-workflowv2qjx/series-workflowv2qjx-convert-artifact-2804026951/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": "b64e011d-fb2f-4fec-9ae3-1d1bde25d5bd", "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-workflowv2qjx/series-workflowv2qjx-build-action-2281590219/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-06 22:06:31 +0000 UTC FinishedAt: 2026-07-06 22:06:31 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-06 22:06:31 +0000 UTC FinishedAt: 2026-07-06 22:06:31 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-06 22:06:31 +0000 UTC FinishedAt: 2026-07-06 22:08:40 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-06 22:06:31 +0000 UTC FinishedAt: 2026-07-06 22:08:30 +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:*b64e011d-fb2f-4fec-9ae3-1d1bde25d5bd,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-workflowv2qjx/series-workflowv2qjx-build-action-2281590219/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-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-06 22:08:40 +0000 UTC FinishedAt: 2026-07-07 01:11:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-06 22:08:40 +0000 UTC FinishedAt: 2026-07-07 01:11:11 +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-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"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:*1b750c13-7b63-42f4-94e6-bb85deef7006,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*b64e011d-fb2f-4fec-9ae3-1d1bde25d5bd,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-workflowv2qjx/series-workflowv2qjx-build-action-1390962918/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-workflowv2qjx/series-workflowv2qjx-build-action-2281590219/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-06 22:08:40 +0000 UTC FinishedAt: 2026-07-06 22:08:50 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-06 22:08:40 +0000 UTC FinishedAt: 2026-07-06 22:08:47 +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-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"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-workflowv2qjx/series-workflowv2qjx-convert-artifact-1145508128/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-06 22:08:40 +0000 UTC FinishedAt: 2026-07-06 22:08:40 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-06 22:08:40 +0000 UTC FinishedAt: 2026-07-06 22:08:40 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-06 22:08:40 +0000 UTC FinishedAt: 2026-07-06 22:08:40 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-06 22:08:50 +0000 UTC FinishedAt: 2026-07-07 01:11:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflowv2qjx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["tipc_udp_rcast_add","tipc_udp_enable","cleanup_bearer"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"9e05e91a9a847ed57926414bd7c2c5e54d6c56c6","config_name":"upstream-apparmor-kasan.config","enable_configs":["TIPC","TIPC_MEDIA_UDP"],"series_id":"355ebc28-e2df-40ec-9175-986f11bb8abd","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-06 22:08:50 +0000 UTC FinishedAt: 2026-07-07 01:11:00 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*1b750c13-7b63-42f4-94e6-bb85deef7006,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*b64e011d-fb2f-4fec-9ae3-1d1bde25d5bd,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-workflowv2qjx/series-workflowv2qjx-build-action-1390962918/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-workflowv2qjx/series-workflowv2qjx-build-action-2281590219/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-workflowv2qjx/series-workflowv2qjx-convert-artifact-1145508128/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,}