Name: series-workflow8n7n9 Phase: Succeeded StartedAt: 2026-08-26 06:16:05 +0000 UTC FinishedAt: 2026-08-26 06:57:41 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8n7n9[0] Phase: Succeeded StartedAt: 2026-08-26 06:16:05 +0000 UTC FinishedAt: 2026-08-26 06:18:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8n7n9[0].run-triage Phase: Succeeded StartedAt: 2026-08-26 06:16:05 +0000 UTC FinishedAt: 2026-08-26 06:18:13 +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": "dc4b95b8fee95113587e93ca116356032d271371", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "UNIX" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "net", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git", "commit_hash": "dc4b95b8fee95113587e93ca116356032d271371", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "UNIX" ], "series_id": "0c386833-cead-4e73-854d-ebdae8dba39e" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [], "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+CgkJCTx0ZD4yMDI2LzA4LzI2IDA2OjE3PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1VOSVgmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtLTVNBTlJlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBjaGFuZ2VzIHRoZSBwcm9jX2hhbmRsZXIgZm9yIHRoZSAmIzM5O21heF9kZ3JhbV9xbGVuJiMzOTsgc3lzY3RsIGZyb20gcHJvY19kb2ludHZlYyB0byBwcm9jX2RvaW50dmVjX21pbm1heCBhbmQgc2V0cyBleHRyYTEgdG8gU1lTQ1RMX1pFUk8uIFRoaXMgZW5mb3JjZXMgYSBtaW5pbXVtIHZhbHVlIG9mIDAgZm9yIHRoZSBzeXNjdGwsIHByZXZlbnRpbmcgbmVnYXRpdmUgdmFsdWVzLiBUaGlzIGlzIGEgc2ltcGxlIGJvdW5kcyBjaGVjayBmaXggYW5kIGRvZXMgbm90IGludHJvZHVjZSBhbnkgbmV3IHN0cnVjdHVyZXMsIGFsbG9jYXRpb25zLCBvciBsb2dpYyB0aGF0IGNvdWxkIGV4cG9zZSB1bmluaXRpYWxpemVkIG1lbW9yeS4gVGhlcmVmb3JlLCBLTVNBTiBpcyBub3QgYXBwbGljYWJsZS4mIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggY2hhbmdlcyB0aGUgcHJvY19oYW5kbGVyIGZvciB0aGUgbWF4X2RncmFtX3FsZW4gc3lzY3RsIHRvIHByb2NfZG9pbnR2ZWNfbWlubWF4IGFuZCBzZXRzIGEgbWluaW11bSB2YWx1ZSBvZiAwLCBwcmV2ZW50aW5nIG5lZ2F0aXZlIHZhbHVlcy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIHRvIHRoZSBzeXNjdGwgaW50ZXJmYWNlIGZvciBVTklYIGRvbWFpbiBzb2NrZXRzLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzI2IDA2OjE3PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgNWYzMGE0ZjY4MTczOThmZTVlZGYzMmNjZjQwNzNlNzJjMDk4OGYxY1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgQXVnIDI2IDA2OjE3OjI5IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL25ldC91bml4L3N5c2N0bF9uZXRfdW5peC5jIGIvbmV0L3VuaXgvc3lzY3RsX25ldF91bml4LmNcbmluZGV4IDQ3NjYwZDU3MjZiYmQuLjI3ODIwOTU2M2Q0YjcgMTAwNjQ0XG4tLS0gYS9uZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguY1xuJiM0MzsmIzQzOyYjNDM7IGIvbmV0L3VuaXgvc3lzY3RsX25ldF91bml4LmNcbkBAIC0xOSw3ICYjNDM7MTksOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGN0bF90YWJsZSB1bml4X3RhYmxlW10gPSB7XG4gXHRcdC5kYXRhXHRcdD0gXHUwMDI2aW5pdF9uZXQudW54LnN5c2N0bF9tYXhfZGdyYW1fcWxlbixcbiBcdFx0Lm1heGxlblx0XHQ9IHNpemVvZihpbnQpLFxuIFx0XHQubW9kZVx0XHQ9IDA2NDQsXG4tXHRcdC5wcm9jX2hhbmRsZXJcdD0gcHJvY19kb2ludHZlY1xuJiM0MztcdFx0LnByb2NfaGFuZGxlclx0PSBwcm9jX2RvaW50dmVjX21pbm1heCxcbiYjNDM7XHRcdC5leHRyYTFcdFx0PSBTWVNDVExfWkVSTyxcbiBcdH0sXG4gfTtcbiBcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yNiAwNjoxNzwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5iZXN0LWV4cGVuc2l2ZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7VU5JWCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBjaGFuZ2VzIHRoZSBwcm9jX2hhbmRsZXIgZm9yIHRoZSBtYXhfZGdyYW1fcWxlbiBzeXNjdGwgdG8gcHJvY19kb2ludHZlY19taW5tYXggYW5kIHNldHMgYSBtaW5pbXVtIHZhbHVlIG9mIDAsIHByZXZlbnRpbmcgbmVnYXRpdmUgdmFsdWVzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgdG8gdGhlIHN5c2N0bCBpbnRlcmZhY2UgZm9yIFVOSVggZG9tYWluIHNvY2tldHMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsCiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuCi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSkKICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgogICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnMKICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIEFsc28gY2hlY2sgJiMzNDtkZXBlbmRzIG9uJiMzNDsgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzCiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncwogICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCA1ZjMwYTRmNjgxNzM5OGZlNWVkZjMyY2NmNDA3M2U3MmMwOTg4ZjFjCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFdlZCBBdWcgMjYgMDY6MTc6MjkgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9uZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguYyBiL25ldC91bml4L3N5c2N0bF9uZXRfdW5peC5jCmluZGV4IDQ3NjYwZDU3MjZiYmQuLjI3ODIwOTU2M2Q0YjcgMTAwNjQ0Ci0tLSBhL25ldC91bml4L3N5c2N0bF9uZXRfdW5peC5jCiYjNDM7JiM0MzsmIzQzOyBiL25ldC91bml4L3N5c2N0bF9uZXRfdW5peC5jCkBAIC0xOSw3ICYjNDM7MTksOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGN0bF90YWJsZSB1bml4X3RhYmxlW10gPSB7CiAJCS5kYXRhCQk9ICZhbXA7aW5pdF9uZXQudW54LnN5c2N0bF9tYXhfZGdyYW1fcWxlbiwKIAkJLm1heGxlbgkJPSBzaXplb2YoaW50KSwKIAkJLm1vZGUJCT0gMDY0NCwKLQkJLnByb2NfaGFuZGxlcgk9IHByb2NfZG9pbnR2ZWMKJiM0MzsJCS5wcm9jX2hhbmRsZXIJPSBwcm9jX2RvaW50dmVjX21pbm1heCwKJiM0MzsJCS5leHRyYTEJCT0gU1lTQ1RMX1pFUk8sCiAJfSwKIH07CiAKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjYgMDY6MTc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjAwOQoJCQkJCQkJb3V0cHV0OiAzOAoJCQkJCQkJdGhvdWdodHM6IDEwMwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipFeGFtaW5pbmcgdGhlIFVuaXggRG9tYWluIFNvY2tldCBDb25maWd1cmF0aW9uIENoYW5nZSoqCgpPa2F5LCBzbyB0aGUgY2hhbmdlIEkmIzM5O20gbG9va2luZyBhdCBtb2RpZmllcyBgbmV0L3VuaXgvc3lzY3RsX25ldF91bml4LmNgLiBTcGVjaWZpY2FsbHksIGl0IHNlZW1zIGxpa2UgdGhleSYjMzk7dmUgdXBkYXRlZCBob3cgdGhlIGBtYXhfZGdyYW1fcWxlbmAgcGFyYW1ldGVyIGlzIGhhbmRsZWQuIFByZXZpb3VzbHksIGl0IHVzZWQgYHByb2NfZG9pbnR2ZWNgLCB3aGljaCBpcyBhIG1vcmUgYmFzaWMgaW50ZWdlciBoYW5kbGluZyBmdW5jdGlvbi4gTm93LCB0aGV5JiMzOTt2ZSBzd2l0Y2hlZCB0byBgcHJvY19kb2ludHZlY19taW5tYXhgLCBhbmQgdGhleSYjMzk7dmUgYWRkZWQgYC5leHRyYTEgPSBTWVNDVExfWkVST2AuIFRoaXMgaXMgaW1tZWRpYXRlbHkgaW50ZXJlc3RpbmcgYmVjYXVzZSBgcHJvY19kb2ludHZlY19taW5tYXhgIGltcGxpZXMgdGhhdCB0aGV5JiMzOTtyZSBub3cgaW1wb3NpbmcgYSBtaW5pbXVtIGFuZCBtYXhpbXVtIHZhbHVlLCBwcmVzdW1hYmx5IHRvIGd1YXJkIGFnYWluc3QgY29uZmlndXJhdGlvbiBlcnJvcnMuIEFuZCB0aGUgYFNZU0NUTF9aRVJPYCBzZXR0aW5nIGluIGBleHRyYTFgLi4uIHdlbGwsIHRoYXQgY2xlYXJseSBtZWFucyB0aGUgbWluaW11bSBpcyBub3cgZXhwbGljaXRseSBzZXQgdG8gemVyby4KClRoZSBpbW1lZGlhdGUgaW1wbGljYXRpb24gaXMgdGhhdCB5b3UgY2FuIG5vIGxvbmdlciBzZXQgYG1heF9kZ3JhbV9xbGVuYCB0byBhIG5lZ2F0aXZlIHZhbHVlLCB3aGljaCBtYWtlcyBzZW5zZS4gTmVnYXRpdmUgdmFsdWVzIGZvciBxdWV1ZSBsZW5ndGhzIGFyZSBub25zZW5zaWNhbCBhbmQgY291bGQgbGVhZCB0byBpc3N1ZXMuIEl0JiMzOTtzIGEgc2Vuc2libGUgaGFyZGVuaW5nIGNoYW5nZSwgcHJldmVudGluZyBhIHBvdGVudGlhbCBtaXNjb25maWd1cmF0aW9uIHRoYXQgY291bGQgbGVhZCB0byB1bmV4cGVjdGVkIGJlaGF2aW9yIG9yIGV2ZW4gZGVuaWFsLW9mLXNlcnZpY2UgaW4gZWRnZSBjYXNlcy4gSSYjMzk7bGwgbmVlZCB0byBjaGVjayB0aGUgZXhhY3QgZnVuY3Rpb24gZGVmaW5pdGlvbnMgYW5kIHBvdGVudGlhbCBzaWRlLWVmZmVjdHMsIGJ1dCBvdmVyYWxsIHRoaXMgc2VlbXMgbGlrZSBhIHNvbGlkLCBzYWZlIGltcHJvdmVtZW50LiBOb3csIGxldCYjMzk7cyBnbyBpbnRvIGBuZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguY2AgYW5kIGRpZyBpbnRvIHRoZSBzcGVjaWZpY3MuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjYgMDY6MTc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtuZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguYyYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDEsCiAgJiMzNDtMaW5lQ291bnQmIzM0OzogNDAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7ICAgMTpcdC8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyXG4gICAyOlx0LypcbiAgIDM6XHQgKiBORVQ0Olx0U3lzY3RsIGludGVyZmFjZSB0byBuZXQgYWZfdW5peCBzdWJzeXN0ZW0uXG4gICA0Olx0ICpcbiAgIDU6XHQgKiBBdXRob3JzOlx0TWlrZSBTaGF2ZXIuXG4gICA2Olx0ICovXG4gICA3Olx0XG4gICA4Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvc2xhYi5oXHUwMDNlXG4gICA5Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvc3RyaW5nLmhcdTAwM2VcbiAgMTA6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9zeXNjdGwuaFx1MDAzZVxuICAxMTpcdCNpbmNsdWRlIFx1MDAzY25ldC9hZl91bml4LmhcdTAwM2VcbiAgMTI6XHQjaW5jbHVkZSBcdTAwM2NuZXQvbmV0X25hbWVzcGFjZS5oXHUwMDNlXG4gIDEzOlx0XG4gIDE0Olx0I2luY2x1ZGUgXCYjMzQ7YWZfdW5peC5oXCYjMzQ7XG4gIDE1Olx0XG4gIDE2Olx0c3RhdGljIGNvbnN0IHN0cnVjdCBjdGxfdGFibGUgdW5peF90YWJsZVtdID0ge1xuICAxNzpcdFx0e1xuICAxODpcdFx0XHQucHJvY25hbWVcdD0gXCYjMzQ7bWF4X2RncmFtX3FsZW5cJiMzNDssXG4gIDE5Olx0XHRcdC5kYXRhXHRcdD0gXHUwMDI2aW5pdF9uZXQudW54LnN5c2N0bF9tYXhfZGdyYW1fcWxlbixcbiAgMjA6XHRcdFx0Lm1heGxlblx0XHQ9IHNpemVvZihpbnQpLFxuICAyMTpcdFx0XHQubW9kZVx0XHQ9IDA2NDQsXG4gIDIyOlx0XHRcdC5wcm9jX2hhbmRsZXJcdD0gcHJvY19kb2ludHZlY19taW5tYXgsXG4gIDIzOlx0XHRcdC5leHRyYTFcdFx0PSBTWVNDVExfWkVSTyxcbiAgMjQ6XHRcdH0sXG4gIDI1Olx0fTtcbiAgMjY6XHRcbiAgMjc6XHRzdGF0aWMgY29uc3Qgc3RydWN0IGN0bF90YWJsZSAqdW5peF90YWJsZV9kdXAoc3RydWN0IG5ldCAqbmV0KVxuICAyODpcdHtcbiAgMjk6XHRcdHN0cnVjdCBjdGxfdGFibGUgKnRhYmxlO1xuICAzMDpcdFxuICAzMTpcdFx0dGFibGUgPSBrbWVtZHVwKHVuaXhfdGFibGUsIHNpemVvZih1bml4X3RhYmxlKSwgR0ZQX0tFUk5FTCk7XG4gIDMyOlx0XHRpZiAoIXRhYmxlKVxuICAzMzpcdFx0XHRyZXR1cm4gTlVMTDtcbiAgMzQ6XHRcbiAgMzU6XHRcdHRhYmxlWzBdLmRhdGEgPSBcdTAwMjZuZXQtXHUwMDNldW54LnN5c2N0bF9tYXhfZGdyYW1fcWxlbjtcbiAgMzY6XHRcbiAgMzc6XHRcdHJldHVybiB0YWJsZTtcbiAgMzg6XHR9XG4gIDM5Olx0XG4gIDQwOlx0aW50IF9fbmV0X2luaXQgdW5peF9zeXNjdGxfcmVnaXN0ZXIoc3RydWN0IG5ldCAqbmV0KVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzI2IDA2OjE3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI5OTMKCQkJCQkJCW91dHB1dDogMjgKCQkJCQkJCXRob3VnaHRzOiA1MjkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqRnV6emluZyBEZWNpc2lvbiBmb3IgYSBTeXNjdGwgTWluL01heCBDaGFuZ2UqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggYW5kIGl0JiMzOTtzIG1vZGlmeWluZyBhIHN5c2N0bCBwYXJhbWV0ZXIgdG8gcHJldmVudCBuZWdhdGl2ZSB2YWx1ZXMuIEZ1bmN0aW9uYWxseSwgaXQmIzM5O3MgYSBtaW5vciBjaGFuZ2U7IHRoZSBjb3JlIGxvZ2ljIGlzIHN0YXlpbmcgdGhlIHNhbWUsIGJ1dCBpdCYjMzk7cyBhbHRlcmluZyB0aGUgYWNjZXB0YWJsZSByYW5nZS4gSW5pdGlhbGx5LCBJIHRob3VnaHQsICYjMzQ7SXMgdGhpcyBldmVuIHdvcnRoIGZ1enppbmc/JiMzNDsgSXQmIzM5O3MganVzdCBhIG1pbi9tYXggYWRqdXN0bWVudCwgdXN1YWxseSB0aG9zZSBhcmUgbm90IHdvcnRoeSBvZiBmdXp6aW5nLiBNeSBpbml0aWFsIGluc3RpbmN0IHdhcyBsZWFuaW5nIHRvd2FyZHMgbm8sIHNpbmNlIGl0JiMzOTtzIGEgdmVyeSBzbWFsbCBzeXNjdGwgY2hhbmdlIC0gZXNwZWNpYWxseSBhIG51bWVyaWMgY29uc3RhbnQgb3IgbWFjcm8gY2hhbmdlIHRoYXQgZG9lc24mIzM5O3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LiBCdXQgd2FpdC4uLnRoaXMgKmRvZXMqIGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdyBieSBwcmV2ZW50aW5nIG5lZ2F0aXZlIHZhbHVlcyEgSXQmIzM5O3Mgbm90IGp1c3QgYSBjb3NtZXRpYyBjaGFuZ2UuCgpNeSBuZXh0IHN0ZXAgd2FzIHRvIGRpZyBpbnRvIHRoZSByZWxldmFudCBmdW5jdGlvbnMuIGB1bml4X3N5c2N0bF9yZWdpc3RlcmAgb3IgYHByb2NfZG9pbnR2ZWNfbWlubWF4YCBzZWVtZWQgcmVsZXZhbnQgYXQgZmlyc3QsIGJ1dCBpdCBzZWVtcyBsaWtlIHRoaXMgY2hhbmdlIGlzIGFjdHVhbGx5IGluIHRoZSBgdW5peF90YWJsZWAgc3RydWN0IGRlZmluaXRpb24uIE5vIG5ldyBmdW5jdGlvbnMgYXJlIGJlaW5nIGludHJvZHVjZWQsIGl0JiMzOTtzIGp1c3QgYW4gdXBkYXRlIHRvIHRoZSB0YWJsZSBpdHNlbGYuIFRoZW4gSSBzdGFydGVkIHNlY29uZC1ndWVzc2luZyBteXNlbGYgYWdhaW4uIFRoZSBpbnN0cnVjdGlvbnMgc3VnZ2VzdCAmIzM0O1JldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnMuLi4gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LiYjMzQ7IFRoaXMgc2VlbWVkIGxpa2UgdGhlIGNhc2UgaGVyZSwgc2luY2UgdGhlIGNoYW5nZSBpcyB0byBhIHN0cnVjdCBpbml0aWFsaXphdGlvbiwgYSBudW1lcmljIGNvbnN0YW50IGNoYW5nZS4KCkhvd2V2ZXIsIG9uIGZ1cnRoZXIgaW5zcGVjdGlvbiwgaXQmIzM5O3Mgbm90IGp1c3QgYSBzaW1wbGUgY29uc3RhbnQgY2hhbmdlLiBJdCBwcmV2ZW50cyBhIG5lZ2F0aXZlIHZhbHVlLCBjaGFuZ2luZyBgcHJvY19oYW5kbGVyYCB0byBgcHJvY19kb2ludHZlY19taW5tYXhgIGFuZCBhZGRpbmcgYGV4dHJhMWAuIEkgbmVlZCB0byBjaGFuZ2UgbXkgZGVjaXNpb24gaGVyZSwgYmVjYXVzZSB0aGlzIGlzIGEgKmZ1bmN0aW9uYWwqIGNoYW5nZSwgZXZlbiBpZiBpdCYjMzk7cyBzbWFsbC4gSXQmIzM5O3MgZXNzZW50aWFsbHkgYWRkaW5nIGEgYm91bmRhcnkgY2hlY2sgdGhhdCBkaWRuJiMzOTt0IGV4aXN0IGJlZm9yZS4KClNvLCBJJiMzOTttIGxlYW5pbmcgdG93YXJkIGBXb3J0aEZ1enppbmc9dHJ1ZWAuIEJ1dCwgdGhlIGNoYW5nZSBpcyB0cml2aWFsIGFuZCBkb2VzbiYjMzk7dCBpbnRyb2R1Y2UgYW55IG5ldyBsb2dpYyB0byBmdXp6LCB0aGVyZSBhcmUgbm8gc3BlY2lmaWMgZnVuY3Rpb25zIHRvIGZvY3VzIG9uLiBTbywgbXkgZmluYWwgYW5zd2VyIHNob3VsZCBiZSBXb3J0aEZ1enppbmc9dHJ1ZSwgYnV0IG1heWJlIG5vIEZvY3VzU3ltYm9scy4gVGhlIGNvbmZpZ3VyYXRpb24gaXMgYFVOSVhgLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzI2IDA2OjE3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBVTklYJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L3VuaXgvS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvdW5peC9LY29uZmlnLTUtXG5uZXQvdW5peC9LY29uZmlnOjY6Y29uZmlnIFVOSVhcbm5ldC91bml4L0tjb25maWctNy1cdGJvb2wgXCYjMzQ7VW5peCBkb21haW4gc29ja2V0c1wmIzM0O1xuLS1cbm5ldC91bml4L0tjb25maWc9MTk9Y29uZmlnXHRBRl9VTklYX09PQlxuLS1cbm5ldC91bml4L0tjb25maWctMjUtXG5uZXQvdW5peC9LY29uZmlnOjI2OmNvbmZpZyBVTklYX0RJQUdcbm5ldC91bml4L0tjb25maWctMjctXHR0cmlzdGF0ZSBcJiMzNDtVTklYOiBzb2NrZXQgbW9uaXRvcmluZyBpbnRlcmZhY2VcJiMzNDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD43LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yNiAwNjoxNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0MTIxCgkJCQkJCQlvdXRwdXQ6IDkwCgkJCQkJCQl0aG91Z2h0czogNTgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqTXkgUXVpY2sgQXNzZXNzbWVudCBvZiB0aGUgQ29uZmlndXJhdGlvbioqCgpBbHJpZ2h0LCB0aGUgY29uZmlndXJhdGlvbiBpcyBzZXQgdG8gYFVOSVhgLiBNeSBpbml0aWFsIGluc3RpbmN0IGlzIHRvIG1hcmsgdGhpcyBhcyBzb21ldGhpbmcgd29ydGggZnV6emluZyBhbmQgcmV0dXJuIGEgYFdvcnRoRnV6emluZz10cnVlYCByZXNwb25zZS4gSSYjMzk7ZCBzZXQgYEVuYWJsZUNvbmZpZ3NgIHRvIGluY2x1ZGUgJiMzNDtVTklYJiMzNDsgYW5kIGxlYXZlIHRoZSBgRm9jdXNTeW1ib2xzYCBlbXB0eS4gQnV0IGhvbGQgb24gYSBzZWNvbmQuLi4gaXNuJiMzOTt0IGBVTklYYCBhIGJvb2xlYW4sIGFuZCBpc24mIzM5O3QgaXQgdXN1YWxseSAqYWxyZWFkeSogZW5hYmxlZCBieSBkZWZhdWx0PyBIbW0uLi4gcmF0aGVyIHRoYW4gbWVzcyBhcm91bmQgd2l0aCBpdCwgSSYjMzk7bGwganVzdCBnbyBhaGVhZCBhbmQgb3V0cHV0IGl0IGFzIGlzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzI2IDA2OjE3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtVTklYJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGNoYW5nZXMgdGhlIHByb2NfaGFuZGxlciBmb3IgdGhlIG1heF9kZ3JhbV9xbGVuIHN5c2N0bCB0byBwcm9jX2RvaW50dmVjX21pbm1heCBhbmQgc2V0cyBhIG1pbmltdW0gdmFsdWUgb2YgMCwgcHJldmVudGluZyBuZWdhdGl2ZSB2YWx1ZXMuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSB0byB0aGUgc3lzY3RsIGludGVyZmFjZSBmb3IgVU5JWCBkb21haW4gc29ja2V0cy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7VU5JWCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBjaGFuZ2VzIHRoZSBwcm9jX2hhbmRsZXIgZm9yIHRoZSBtYXhfZGdyYW1fcWxlbiBzeXNjdGwgdG8gcHJvY19kb2ludHZlY19taW5tYXggYW5kIHNldHMgYSBtaW5pbXVtIHZhbHVlIG9mIDAsIHByZXZlbnRpbmcgbmVnYXRpdmUgdmFsdWVzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgdG8gdGhlIHN5c2N0bCBpbnRlcmZhY2UgZm9yIFVOSVggZG9tYWluIHNvY2tldHMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjYgMDY6MTc8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPklmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yNiAwNjoxNzwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5rbXNhbi1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5iZXN0LWV4cGVuc2l2ZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtLTVNBTlJlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBjaGFuZ2VzIHRoZSBwcm9jX2hhbmRsZXIgZm9yIHRoZSAmIzM5O21heF9kZ3JhbV9xbGVuJiMzOTsgc3lzY3RsIGZyb20gcHJvY19kb2ludHZlYyB0byBwcm9jX2RvaW50dmVjX21pbm1heCBhbmQgc2V0cyBleHRyYTEgdG8gU1lTQ1RMX1pFUk8uIFRoaXMgZW5mb3JjZXMgYSBtaW5pbXVtIHZhbHVlIG9mIDAgZm9yIHRoZSBzeXNjdGwsIHByZXZlbnRpbmcgbmVnYXRpdmUgdmFsdWVzLiBUaGlzIGlzIGEgc2ltcGxlIGJvdW5kcyBjaGVjayBmaXggYW5kIGRvZXMgbm90IGludHJvZHVjZSBhbnkgbmV3IHN0cnVjdHVyZXMsIGFsbG9jYXRpb25zLCBvciBsb2dpYyB0aGF0IGNvdWxkIGV4cG9zZSB1bmluaXRpYWxpemVkIG1lbW9yeS4gVGhlcmVmb3JlLCBLTVNBTiBpcyBub3QgYXBwbGljYWJsZS4mIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgc2VjdXJpdHkgZW5naW5lZXIgc3BlY2lhbGl6aW5nIGluIGtlcm5lbCBtZW1vcnkKZXJyb3IgZGV0ZWN0b3JzIChLQVNBTiBhbmQgS01TQU4pLiBZb3VyIGpvYiBpcyB0byByZXZpZXcgdGhlIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQKZGV0ZXJtaW5lIGlmIHRoZSBjb2RlIGNoYW5nZXMganVzdGlmeSBzcGF3bmluZyBhIGRlZGljYXRlZCBLTVNBTiAoS2VybmVsTWVtb3J5U2FuaXRpemVyKQpmdXp6aW5nIHNlc3Npb24gaW4gYWRkaXRpb24gdG8gc3RhbmRhcmQgS0FTQU4gZnV6emluZy4KCkNSSVRJQ0FMIERJU1RJTkNUSU9OIEJFVFdFRU4gS0FTQU4gQU5EIEtNU0FOOgotIFN0YW5kYXJkIEtBU0FOIGtlcm5lbCBidWlsZHMgKHVwc3RyZWFtLWFwcGFybW9yLWthc2FuLmNvbmZpZykgYWxyZWFkeSBlbmFibGUKICBhIGNvbXByZWhlbnNpdmUgc3VpdGUgb2YgZGVidWdnaW5nIHRvb2xzIGFuZCBzYW5pdGl6ZXJzLCBpbmNsdWRpbmcgS0FTQU4KICAob3V0LW9mLWJvdW5kcyBhY2Nlc3NlcywgdXNlLWFmdGVyLWZyZWUsIGRvdWJsZSBmcmVlLCBpbnZhbGlkIGZyZWUpLCBMT0NLREVQCiAgKGxvY2tpbmcgYnVncyBhbmQgZGVhZGxvY2tzKSwgVUItc2FuaXRpemVycywgYW5kIG1lbW9yeSBjb3JydXB0aW9uIGNoZWNrcy4KLSBLTVNBTiAoS2VybmVsTWVtb3J5U2FuaXRpemVyKSBkZXRlY3RzIHJlYWRzIG9mIFVOSU5JVElBTElaRUQgbWVtb3J5IChzdGFjaywgaGVhcCwKICBvciBwYWdlIGFsbG9jYXRpb25zKSBhbmQga2VybmVsLXRvLXVzZXIgbWVtb3J5IGluZm8tbGVha3MuCgpSdWxlOiBUSEVSRSBJUyBOTyBTRU5TRSBJTiBSVU5OSU5HIEEgS01TQU4gU0VTU0lPTiBJRiBBIEJVRyBDQU4gQkUgQ0FVR0hUIEJZIEtBU0FOLApMT0NLREVQLCBPUiBPVEhFUiBTVEFOREFSRCBCVUcgREVURUNUT1JTLgpBIGRlZGljYXRlZCBLTVNBTiBmdXp6aW5nIHNlc3Npb24gaW5jdXJzIHNpZ25pZmljYW50IHJlc291cmNlIGNvc3RzLiBZb3UgbXVzdCBPTkxZCnNldCBOZWVkc0tNU0FOPXRydWUgaWYgdGhlIGNvZGUgY2hhbmdlcyBpbnRyb2R1Y2Ugb3IgZXhwb3NlIFVOSU5JVElBTElaRUQgTUVNT1JZIHJpc2tzCnRoYXQgYXJlIGRldGVjdGVkIE9OTFkgYnkgS01TQU4uCgpMb29rIGhvbGlzdGljYWxseSBhdCB0aGUgcGF0Y2ggc2VyaWVzIGFuZCBzdXJyb3VuZGluZyBjb2RlLiBFdmVuIGlmIG5vIGRpcmVjdAp1bmluaXRpYWxpemVkIGZpZWxkIGFjY2Vzc2VzIG9yIG5ldyBidWZmZXIgYWxsb2NhdGlvbnMgYXJlIGFkZGVkIGluIHRoZSBkaWZmIGl0c2VsZiwKYSBwYXRjaCBtYXkgYWx0ZXIgY29udHJvbCBmbG93LCBib3VuZHMgY2hlY2tpbmcsIG9yIGRhdGEgbGVuZ3RoIGNhbGN1bGF0aW9ucyBpbiB3YXlzCnRoYXQgY2hhbmdlIGhvdyB0aGUgcmVzdCBvZiB0aGUgY29kZSBvcGVyYXRlcyBvbiBleGlzdGluZyBidWZmZXJzIChlLmcuIGFsbG93aW5nCnVuaW5pdGlhbGl6ZWQgc3RhY2svaGVhcCBtZW1vcnkgdG8gYmUgcmVhZCwgY29waWVkIHRvIHVzZXIgc3BhY2UsIG9yIHVzZWQgaW4gY29udHJvbApmbG93KS4gRG8gbm90IGhlc2l0YXRlIHRvIHVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGluc3BlY3QgdGhlIHN1cnJvdW5kaW5nIGNvZGUsCmNhbGxlZCBmdW5jdGlvbnMsIGFuZCBjYWxsZXJzLgoKU2V0IE5lZWRzS01TQU49dHJ1ZSBPTkxZIElGIHRoZSBwYXRjaCBpbnRyb2R1Y2VzIG9yIG1vZGlmaWVzOgoxLiBLZXJuZWwgc3RydWN0dXJlcyBzZW50IHRvIHVzZXIgc3BhY2UgKHZpYSBjb3B5X3RvX3VzZXIsIHB1dF91c2VyLCBuZXRsaW5rIHNrYgogICBhdHRyaWJ1dGVzLCBpb2N0bCBvdXRwdXQgYXJndW1lbnRzLCBzb2NrZXQgb3B0aW9ucywgb3IgQlBGIGJ1ZmZlcnMpIHdoZXJlIGZpZWxkcwogICBvciBzdHJ1Y3R1cmUgcGFkZGluZyBtaWdodCBub3QgYmUgZnVsbHkgaW5pdGlhbGl6ZWQvemVyb2VkLgoyLiBDb25kaXRpb25hbCBsb2dpYyBvciBicmFuY2hpbmcgdGhhdCBkZXBlbmRzIG9uIHBvdGVudGlhbGx5IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzCiAgIG9yIHN0cnVjdCBmaWVsZHMuCjMuIEFsbG9jYXRpb24gb3IgaW5pdGlhbGl6YXRpb24gb2YgY29tcGxleCBkYXRhIHN0cnVjdHVyZXMgd2hlcmUgdW5pbml0aWFsaXplZCBmaWVsZHMKICAgY291bGQgYmUgcmVhZCBsYXRlciBpbiByZWFjaGFibGUgY29kZSBwYXRocy4KNC4gQm91bmRzIGNoZWNrcywgbGVuZ3Rocywgb3IgbG9naWMgaW4gYSB3YXkgdGhhdCBhbGxvd3Mgc3Vycm91bmRpbmcgY29kZSB0byBhY2Nlc3MKICAgdW5pbml0aWFsaXplZCBieXRlcyBvZiBleGlzdGluZyBidWZmZXJzLgoKU2V0IE5lZWRzS01TQU49ZmFsc2UgSUY6Ci0gVGhlIGNvZGUgY2hhbmdlcyBwcmltYXJpbHkgcmlzayBvdXQtb2YtYm91bmRzIGFjY2VzcywgYXJyYXkgb3ZlcmZsb3dzLCBOVUxMIHBvaW50ZXIKICBkZXJlZmVyZW5jZXMsIGxvY2tpbmcgZGVhZGxvY2tzLCBvciB1c2UtYWZ0ZXItZnJlZSBidWdzICh0aGVzZSBhcmUgYWxyZWFkeSBjYXVnaHQKICBieSBLQVNBTiwgTE9DS0RFUCwgb3Igc3RhbmRhcmQgYnVnIGRldGVjdG9ycykuCi0gQWxsIHN0YWNrL2hlYXAgc3RydWN0dXJlcyB0b3VjaGVkIG9yIGludHJvZHVjZWQgYnkgdGhlIHBhdGNoIGFyZSBmdWxseSB6ZXJvZWQKICBvciBpbml0aWFsaXplZCAoZS5nLiB1c2luZyA9IHswfSwgbWVtc2V0LCBremFsbG9jKSBiZWZvcmUgYmVpbmcgcmVhZCBvciBjb3BpZWQuCi0gVGhlIHBhdGNoIGRvZXMgbm90IGludHJvZHVjZSBhbnkgcmlzayBvZiB1bmluaXRpYWxpemVkIG1lbW9yeSB1c2FnZSBvciBpbmZvLWxlYWtzLgoKVXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gaW5zcGVjdCB0aGUgc3Vycm91bmRpbmcgY29kZSBpZiBuZWNlc3NhcnksIHRoZW4gcHJvdmlkZQpkZXRhaWxlZCBLTVNBTlJlYXNvbmluZyBjb250cmFzdGluZyBLQVNBTiB2cyBLTVNBTiBhcHBsaWNhYmlsaXR5IGZvciB0aGlzIHBhdGNoLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgNWYzMGE0ZjY4MTczOThmZTVlZGYzMmNjZjQwNzNlNzJjMDk4OGYxYwpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBXZWQgQXVnIDI2IDA2OjE3OjI5IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvbmV0L3VuaXgvc3lzY3RsX25ldF91bml4LmMgYi9uZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguYwppbmRleCA0NzY2MGQ1NzI2YmJkLi4yNzgyMDk1NjNkNGI3IDEwMDY0NAotLS0gYS9uZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguYwomIzQzOyYjNDM7JiM0MzsgYi9uZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguYwpAQCAtMTksNyAmIzQzOzE5LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBjdGxfdGFibGUgdW5peF90YWJsZVtdID0gewogCQkuZGF0YQkJPSAmYW1wO2luaXRfbmV0LnVueC5zeXNjdGxfbWF4X2RncmFtX3FsZW4sCiAJCS5tYXhsZW4JCT0gc2l6ZW9mKGludCksCiAJCS5tb2RlCQk9IDA2NDQsCi0JCS5wcm9jX2hhbmRsZXIJPSBwcm9jX2RvaW50dmVjCiYjNDM7CQkucHJvY19oYW5kbGVyCT0gcHJvY19kb2ludHZlY19taW5tYXgsCiYjNDM7CQkuZXh0cmExCQk9IFNZU0NUTF9aRVJPLAogCX0sCiB9OwogCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzM8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yNiAwNjoxNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+a21zYW4tZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMDA2CgkJCQkJCQlvdXRwdXQ6IDM4CgkJCQkJCQl0aG91Z2h0czogMTQ3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgdGhlIE5ldC9Vbml4IFN5c2N0bCBNb2RpZmljYXRpb24qKgoKT2theSwgc28gdGhpcyBwYXRjaCBpcyBhIHN0cmFpZ2h0Zm9yd2FyZCBhZGp1c3RtZW50IHRvIGBuZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguY2AuIFRoZXkmIzM5O3JlIGVzc2VudGlhbGx5IHRpZ2h0ZW5pbmcgdXAgdGhlIGJvdW5kcyBjaGVja2luZyBmb3IgdGhlIGB1bnguc3lzY3RsX21heF9kZ3JhbV9xbGVuYCBzeXNjdGwuIEluc3RlYWQgb2YgdGhlIGdlbmVyaWMgYHByb2NfZG9pbnR2ZWNgIGhhbmRsZXIsIHdlJiMzOTtyZSBub3cgdXNpbmcgYHByb2NfZG9pbnR2ZWNfbWlubWF4YCwgd2hpY2ggaXMgdGhlIGNvcnJlY3QgYXBwcm9hY2ggdG8gaW1wb3NlIGEgbWluaW11bSB2YWx1ZS4gVGhlIGAuZXh0cmExID0gU1lTQ1RMX1pFUk9gIHBhcnQgY29uZmlybXMgdGhhdCB0aGUgbWluaW11bSBpcyBpbmRlZWQgemVybywgZWZmZWN0aXZlbHkgcHJldmVudGluZyBuZWdhdGl2ZSB2YWx1ZXMuCgpJdCYjMzk7cyBhIGNsYXNzaWMgZXhhbXBsZSBvZiBhIHNpbXBsZSBzeXNjdGwgYm91bmRzIGNoZWNrIGZpeCDigJMgZXhhY3RseSB0aGUga2luZCBvZiB0aGluZyB5b3UgKndhbnQqIHRvIHNlZS4gSXTigJlzIGxvdy1yaXNrOyBJIGNhbiYjMzk7dCBzZWUgYW55IG9idmlvdXMgaW50cm9kdWN0aW9uIG9mIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHZ1bG5lcmFiaWxpdGllcyBoZXJlLiBHaXZlbiB0aGUgc2NvcGUgb2YgdGhlIGNoYW5nZSwgS01TQU4gaXMgcHJvYmFibHkgb3ZlcmtpbGwsIGFuZCBub3Qgd2FycmFudGVkLgoKSnVzdCB0byBiZSBhYnNvbHV0ZWx5IGNlcnRhaW4sIEkmIzM5O2xsIGRvIGEgcXVpY2sgc2NhbiBvZiB0aGUgZmlsZSBhbmQgaXRzIHN1cnJvdW5kaW5nIGNvZGUgdG8gbWFrZSBzdXJlIG5vdGhpbmcgdW50b3dhcmQgaXMgaGFwcGVuaW5nLCBidXQsIGZyYW5rbHksIEkmIzM5O20gZXhwZWN0aW5nIHRoaXMgdG8gYmUgYSBxdWljayBhcHByb3ZhbC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8zPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjYgMDY6MTc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtuZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguYyYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDEsCiAgJiMzNDtMaW5lQ291bnQmIzM0OzogMzAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7ICAgMTpcdC8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyXG4gICAyOlx0LypcbiAgIDM6XHQgKiBORVQ0Olx0U3lzY3RsIGludGVyZmFjZSB0byBuZXQgYWZfdW5peCBzdWJzeXN0ZW0uXG4gICA0Olx0ICpcbiAgIDU6XHQgKiBBdXRob3JzOlx0TWlrZSBTaGF2ZXIuXG4gICA2Olx0ICovXG4gICA3Olx0XG4gICA4Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvc2xhYi5oXHUwMDNlXG4gICA5Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvc3RyaW5nLmhcdTAwM2VcbiAgMTA6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9zeXNjdGwuaFx1MDAzZVxuICAxMTpcdCNpbmNsdWRlIFx1MDAzY25ldC9hZl91bml4LmhcdTAwM2VcbiAgMTI6XHQjaW5jbHVkZSBcdTAwM2NuZXQvbmV0X25hbWVzcGFjZS5oXHUwMDNlXG4gIDEzOlx0XG4gIDE0Olx0I2luY2x1ZGUgXCYjMzQ7YWZfdW5peC5oXCYjMzQ7XG4gIDE1Olx0XG4gIDE2Olx0c3RhdGljIGNvbnN0IHN0cnVjdCBjdGxfdGFibGUgdW5peF90YWJsZVtdID0ge1xuICAxNzpcdFx0e1xuICAxODpcdFx0XHQucHJvY25hbWVcdD0gXCYjMzQ7bWF4X2RncmFtX3FsZW5cJiMzNDssXG4gIDE5Olx0XHRcdC5kYXRhXHRcdD0gXHUwMDI2aW5pdF9uZXQudW54LnN5c2N0bF9tYXhfZGdyYW1fcWxlbixcbiAgMjA6XHRcdFx0Lm1heGxlblx0XHQ9IHNpemVvZihpbnQpLFxuICAyMTpcdFx0XHQubW9kZVx0XHQ9IDA2NDQsXG4gIDIyOlx0XHRcdC5wcm9jX2hhbmRsZXJcdD0gcHJvY19kb2ludHZlY19taW5tYXgsXG4gIDIzOlx0XHRcdC5leHRyYTFcdFx0PSBTWVNDVExfWkVSTyxcbiAgMjQ6XHRcdH0sXG4gIDI1Olx0fTtcbiAgMjY6XHRcbiAgMjc6XHRzdGF0aWMgY29uc3Qgc3RydWN0IGN0bF90YWJsZSAqdW5peF90YWJsZV9kdXAoc3RydWN0IG5ldCAqbmV0KVxuICAyODpcdHtcbiAgMjk6XHRcdHN0cnVjdCBjdGxfdGFibGUgKnRhYmxlO1xuICAzMDpcdFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEzLzM8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yNiAwNjoxNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+a21zYW4tZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyODQyCgkJCQkJCQlvdXRwdXQ6IDEyMgoJCQkJCQkJdGhvdWdodHM6IDQ2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIG15IHN1bW1hcnksIGFzIHRob3VnaCBJJiMzOTttIHRoaW5raW5nIHRocm91Z2ggdGhpcyBwYXRjaDoKCioqVmFsaWRhdGluZyBgbWF4X2RncmFtX3FsZW5gKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgYSBzdHJhaWdodGZvcndhcmQgc3lzY3RsIHZhbGlkYXRpb24gZml4LiBJdCBhZGRyZXNzZXMgYSBzaXR1YXRpb24gd2hlcmUgYG1heF9kZ3JhbV9xbGVuYCBjb3VsZCBiZSwgaW5jb3JyZWN0bHksIHNldCB0byBhIG5lZ2F0aXZlIHZhbHVlLiBOb3RoaW5nIGNvbXBsZXggaGVyZSwganVzdCBlbnN1cmluZyB0aGUgc3lzdGVtIGJlaGF2ZXMgYXMgZXhwZWN0ZWQuIFRoZSBjb2RlJiMzOTtzIGNsZWFuIGFuZCBkb2VzbiYjMzk7dCBpbnZvbHZlIGFueSB1bmluaXRpYWxpemVkIG1lbW9yeSBpc3N1ZXMsIHdoaWNoIGlzIGFsd2F5cyBhIHJlbGllZi4gR2l2ZW4gdGhlIG5hdHVyZSBvZiB0aGlzIGNoYW5nZSBhbmQgbGFjayBvZiBhbnkgbWVtb3J5IGNvcnJ1cHRpb24gcG90ZW50aWFsLCBJJiMzOTttIGNvbWZvcnRhYmxlIHNldHRpbmcgYE5lZWRzS01TQU49ZmFsc2VgLiBMZXQmIzM5O3MgZ2V0IHRoaXMgaW4uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTQvMzwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzI2IDA2OjE4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0tNU0FOUmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGNoYW5nZXMgdGhlIHByb2NfaGFuZGxlciBmb3IgdGhlICYjMzk7bWF4X2RncmFtX3FsZW4mIzM5OyBzeXNjdGwgZnJvbSBwcm9jX2RvaW50dmVjIHRvIHByb2NfZG9pbnR2ZWNfbWlubWF4IGFuZCBzZXRzIGV4dHJhMSB0byBTWVNDVExfWkVSTy4gVGhpcyBlbmZvcmNlcyBhIG1pbmltdW0gdmFsdWUgb2YgMCBmb3IgdGhlIHN5c2N0bCwgcHJldmVudGluZyBuZWdhdGl2ZSB2YWx1ZXMuIFRoaXMgaXMgYSBzaW1wbGUgYm91bmRzIGNoZWNrIGZpeCBhbmQgZG9lcyBub3QgaW50cm9kdWNlIGFueSBuZXcgc3RydWN0dXJlcywgYWxsb2NhdGlvbnMsIG9yIGxvZ2ljIHRoYXQgY291bGQgZXhwb3NlIHVuaW5pdGlhbGl6ZWQgbWVtb3J5LiBUaGVyZWZvcmUsIEtNU0FOIGlzIG5vdCBhcHBsaWNhYmxlLiYjMzQ7LAogICYjMzQ7TmVlZHNLTVNBTiYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggY2hhbmdlcyB0aGUgcHJvY19oYW5kbGVyIGZvciB0aGUgJiMzOTttYXhfZGdyYW1fcWxlbiYjMzk7IHN5c2N0bCBmcm9tIHByb2NfZG9pbnR2ZWMgdG8gcHJvY19kb2ludHZlY19taW5tYXggYW5kIHNldHMgZXh0cmExIHRvIFNZU0NUTF9aRVJPLiBUaGlzIGVuZm9yY2VzIGEgbWluaW11bSB2YWx1ZSBvZiAwIGZvciB0aGUgc3lzY3RsLCBwcmV2ZW50aW5nIG5lZ2F0aXZlIHZhbHVlcy4gVGhpcyBpcyBhIHNpbXBsZSBib3VuZHMgY2hlY2sgZml4IGFuZCBkb2VzIG5vdCBpbnRyb2R1Y2UgYW55IG5ldyBzdHJ1Y3R1cmVzLCBhbGxvY2F0aW9ucywgb3IgbG9naWMgdGhhdCBjb3VsZCBleHBvc2UgdW5pbml0aWFsaXplZCBtZW1vcnkuIFRoZXJlZm9yZSwgS01TQU4gaXMgbm90IGFwcGxpY2FibGUuJiMzNDssCiAgJiMzNDtOZWVkc0tNU0FOJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI2VDA2OjE3OjMxLjA1NDY3MTcyWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzA2MTU0NzA0ODAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiVU5JWFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIktNU0FOUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGNoYW5nZXMgdGhlIHByb2NfaGFuZGxlciBmb3IgdGhlICdtYXhfZGdyYW1fcWxlbicgc3lzY3RsIGZyb20gcHJvY19kb2ludHZlYyB0byBwcm9jX2RvaW50dmVjX21pbm1heCBhbmQgc2V0cyBleHRyYTEgdG8gU1lTQ1RMX1pFUk8uIFRoaXMgZW5mb3JjZXMgYSBtaW5pbXVtIHZhbHVlIG9mIDAgZm9yIHRoZSBzeXNjdGwsIHByZXZlbnRpbmcgbmVnYXRpdmUgdmFsdWVzLiBUaGlzIGlzIGEgc2ltcGxlIGJvdW5kcyBjaGVjayBmaXggYW5kIGRvZXMgbm90IGludHJvZHVjZSBhbnkgbmV3IHN0cnVjdHVyZXMsIGFsbG9jYXRpb25zLCBvciBsb2dpYyB0aGF0IGNvdWxkIGV4cG9zZSB1bmluaXRpYWxpemVkIG1lbW9yeS4gVGhlcmVmb3JlLCBLTVNBTiBpcyBub3QgYXBwbGljYWJsZS5cIixcbiAgXCJOZWVkc0tNU0FOXCI6IGZhbHNlLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBjaGFuZ2VzIHRoZSBwcm9jX2hhbmRsZXIgZm9yIHRoZSBtYXhfZGdyYW1fcWxlbiBzeXNjdGwgdG8gcHJvY19kb2ludHZlY19taW5tYXggYW5kIHNldHMgYSBtaW5pbXVtIHZhbHVlIG9mIDAsIHByZXZlbnRpbmcgbmVnYXRpdmUgdmFsdWVzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgdG8gdGhlIHN5c2N0bCBpbnRlcmZhY2UgZm9yIFVOSVggZG9tYWluIHNvY2tldHMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI2VDA2OjE3OjMxLjA1NDY3NTcxWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMjQzMzQ5NDI3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgNWYzMGE0ZjY4MTczOThmZTVlZGYzMmNjZjQwNzNlNzJjMDk4OGYxY1xcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgV2VkIEF1ZyAyNiAwNjoxNzoyOSAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9uZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguYyBiL25ldC91bml4L3N5c2N0bF9uZXRfdW5peC5jXFxuaW5kZXggNDc2NjBkNTcyNmJiZC4uMjc4MjA5NTYzZDRiNyAxMDA2NDRcXG4tLS0gYS9uZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguY1xcbisrKyBiL25ldC91bml4L3N5c2N0bF9uZXRfdW5peC5jXFxuQEAgLTE5LDcgKzE5LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBjdGxfdGFibGUgdW5peF90YWJsZVtdID0ge1xcbiBcXHRcXHQuZGF0YVxcdFxcdD0gXFx1MDAyNmluaXRfbmV0LnVueC5zeXNjdGxfbWF4X2RncmFtX3FsZW4sXFxuIFxcdFxcdC5tYXhsZW5cXHRcXHQ9IHNpemVvZihpbnQpLFxcbiBcXHRcXHQubW9kZVxcdFxcdD0gMDY0NCxcXG4tXFx0XFx0LnByb2NfaGFuZGxlclxcdD0gcHJvY19kb2ludHZlY1xcbitcXHRcXHQucHJvY19oYW5kbGVyXFx0PSBwcm9jX2RvaW50dmVjX21pbm1heCxcXG4rXFx0XFx0LmV4dHJhMVxcdFxcdD0gU1lTQ1RMX1pFUk8sXFxuIFxcdH0sXFxuIH07XFxuIFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0yNlQwNjoxNzozMi4yOTg2MDM1OTdaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJiZXN0LWV4cGVuc2l2ZSIsIkR1cmF0aW9uIjoxNzk2NTkxOTA4NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJVTklYXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGNoYW5nZXMgdGhlIHByb2NfaGFuZGxlciBmb3IgdGhlIG1heF9kZ3JhbV9xbGVuIHN5c2N0bCB0byBwcm9jX2RvaW50dmVjX21pbm1heCBhbmQgc2V0cyBhIG1pbmltdW0gdmFsdWUgb2YgMCwgcHJldmVudGluZyBuZWdhdGl2ZSB2YWx1ZXMuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSB0byB0aGUgc3lzY3RsIGludGVyZmFjZSBmb3IgVU5JWCBkb21haW4gc29ja2V0cy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG4tIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSlcbiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4gICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnNcbiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBBbHNvIGNoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlnc1xuICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzXG4gICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgNWYzMGE0ZjY4MTczOThmZTVlZGYzMmNjZjQwNzNlNzJjMDk4OGYxY1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgQXVnIDI2IDA2OjE3OjI5IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvbmV0L3VuaXgvc3lzY3RsX25ldF91bml4LmMgYi9uZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguY1xuaW5kZXggNDc2NjBkNTcyNmJiZC4uMjc4MjA5NTYzZDRiNyAxMDA2NDRcbi0tLSBhL25ldC91bml4L3N5c2N0bF9uZXRfdW5peC5jXG4rKysgYi9uZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguY1xuQEAgLTE5LDcgKzE5LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBjdGxfdGFibGUgdW5peF90YWJsZVtdID0ge1xuIFx0XHQuZGF0YVx0XHQ9IFx1MDAyNmluaXRfbmV0LnVueC5zeXNjdGxfbWF4X2RncmFtX3FsZW4sXG4gXHRcdC5tYXhsZW5cdFx0PSBzaXplb2YoaW50KSxcbiBcdFx0Lm1vZGVcdFx0PSAwNjQ0LFxuLVx0XHQucHJvY19oYW5kbGVyXHQ9IHByb2NfZG9pbnR2ZWNcbitcdFx0LnByb2NfaGFuZGxlclx0PSBwcm9jX2RvaW50dmVjX21pbm1heCxcbitcdFx0LmV4dHJhMVx0XHQ9IFNZU0NUTF9aRVJPLFxuIFx0fSxcbiB9O1xuIFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjZUMDY6MTc6MzIuMjk4NjA0OTA3WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDU0NDc4NjQ4NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipFeGFtaW5pbmcgdGhlIFVuaXggRG9tYWluIFNvY2tldCBDb25maWd1cmF0aW9uIENoYW5nZSoqXG5cbk9rYXksIHNvIHRoZSBjaGFuZ2UgSSdtIGxvb2tpbmcgYXQgbW9kaWZpZXMgYG5ldC91bml4L3N5c2N0bF9uZXRfdW5peC5jYC4gU3BlY2lmaWNhbGx5LCBpdCBzZWVtcyBsaWtlIHRoZXkndmUgdXBkYXRlZCBob3cgdGhlIGBtYXhfZGdyYW1fcWxlbmAgcGFyYW1ldGVyIGlzIGhhbmRsZWQuIFByZXZpb3VzbHksIGl0IHVzZWQgYHByb2NfZG9pbnR2ZWNgLCB3aGljaCBpcyBhIG1vcmUgYmFzaWMgaW50ZWdlciBoYW5kbGluZyBmdW5jdGlvbi4gTm93LCB0aGV5J3ZlIHN3aXRjaGVkIHRvIGBwcm9jX2RvaW50dmVjX21pbm1heGAsIGFuZCB0aGV5J3ZlIGFkZGVkIGAuZXh0cmExID0gU1lTQ1RMX1pFUk9gLiBUaGlzIGlzIGltbWVkaWF0ZWx5IGludGVyZXN0aW5nIGJlY2F1c2UgYHByb2NfZG9pbnR2ZWNfbWlubWF4YCBpbXBsaWVzIHRoYXQgdGhleSdyZSBub3cgaW1wb3NpbmcgYSBtaW5pbXVtIGFuZCBtYXhpbXVtIHZhbHVlLCBwcmVzdW1hYmx5IHRvIGd1YXJkIGFnYWluc3QgY29uZmlndXJhdGlvbiBlcnJvcnMuIEFuZCB0aGUgYFNZU0NUTF9aRVJPYCBzZXR0aW5nIGluIGBleHRyYTFgLi4uIHdlbGwsIHRoYXQgY2xlYXJseSBtZWFucyB0aGUgbWluaW11bSBpcyBub3cgZXhwbGljaXRseSBzZXQgdG8gemVyby5cblxuVGhlIGltbWVkaWF0ZSBpbXBsaWNhdGlvbiBpcyB0aGF0IHlvdSBjYW4gbm8gbG9uZ2VyIHNldCBgbWF4X2RncmFtX3FsZW5gIHRvIGEgbmVnYXRpdmUgdmFsdWUsIHdoaWNoIG1ha2VzIHNlbnNlLiBOZWdhdGl2ZSB2YWx1ZXMgZm9yIHF1ZXVlIGxlbmd0aHMgYXJlIG5vbnNlbnNpY2FsIGFuZCBjb3VsZCBsZWFkIHRvIGlzc3Vlcy4gSXQncyBhIHNlbnNpYmxlIGhhcmRlbmluZyBjaGFuZ2UsIHByZXZlbnRpbmcgYSBwb3RlbnRpYWwgbWlzY29uZmlndXJhdGlvbiB0aGF0IGNvdWxkIGxlYWQgdG8gdW5leHBlY3RlZCBiZWhhdmlvciBvciBldmVuIGRlbmlhbC1vZi1zZXJ2aWNlIGluIGVkZ2UgY2FzZXMuIEknbGwgbmVlZCB0byBjaGVjayB0aGUgZXhhY3QgZnVuY3Rpb24gZGVmaW5pdGlvbnMgYW5kIHBvdGVudGlhbCBzaWRlLWVmZmVjdHMsIGJ1dCBvdmVyYWxsIHRoaXMgc2VlbXMgbGlrZSBhIHNvbGlkLCBzYWZlIGltcHJvdmVtZW50LiBOb3csIGxldCdzIGdvIGludG8gYG5ldC91bml4L3N5c2N0bF9uZXRfdW5peC5jYCBhbmQgZGlnIGludG8gdGhlIHNwZWNpZmljcy5cblxuXG4iLCJJbnB1dFRva2VucyI6MjAwOSwiT3V0cHV0VG9rZW5zIjozOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjEwMywiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI2VDA2OjE3OjM2Ljg0MzM5MzY0M1oiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InJlYWQtZmlsZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjUxNTAwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcIm5ldC91bml4L3N5c2N0bF9uZXRfdW5peC5jXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDEsXG4gIFwiTGluZUNvdW50XCI6IDQwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAgIDE6XFx0Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXJcXG4gICAyOlxcdC8qXFxuICAgMzpcXHQgKiBORVQ0OlxcdFN5c2N0bCBpbnRlcmZhY2UgdG8gbmV0IGFmX3VuaXggc3Vic3lzdGVtLlxcbiAgIDQ6XFx0ICpcXG4gICA1OlxcdCAqIEF1dGhvcnM6XFx0TWlrZSBTaGF2ZXIuXFxuICAgNjpcXHQgKi9cXG4gICA3OlxcdFxcbiAgIDg6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L3NsYWIuaFxcdTAwM2VcXG4gICA5OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9zdHJpbmcuaFxcdTAwM2VcXG4gIDEwOlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9zeXNjdGwuaFxcdTAwM2VcXG4gIDExOlxcdCNpbmNsdWRlIFxcdTAwM2NuZXQvYWZfdW5peC5oXFx1MDAzZVxcbiAgMTI6XFx0I2luY2x1ZGUgXFx1MDAzY25ldC9uZXRfbmFtZXNwYWNlLmhcXHUwMDNlXFxuICAxMzpcXHRcXG4gIDE0OlxcdCNpbmNsdWRlIFxcXCJhZl91bml4LmhcXFwiXFxuICAxNTpcXHRcXG4gIDE2OlxcdHN0YXRpYyBjb25zdCBzdHJ1Y3QgY3RsX3RhYmxlIHVuaXhfdGFibGVbXSA9IHtcXG4gIDE3OlxcdFxcdHtcXG4gIDE4OlxcdFxcdFxcdC5wcm9jbmFtZVxcdD0gXFxcIm1heF9kZ3JhbV9xbGVuXFxcIixcXG4gIDE5OlxcdFxcdFxcdC5kYXRhXFx0XFx0PSBcXHUwMDI2aW5pdF9uZXQudW54LnN5c2N0bF9tYXhfZGdyYW1fcWxlbixcXG4gIDIwOlxcdFxcdFxcdC5tYXhsZW5cXHRcXHQ9IHNpemVvZihpbnQpLFxcbiAgMjE6XFx0XFx0XFx0Lm1vZGVcXHRcXHQ9IDA2NDQsXFxuICAyMjpcXHRcXHRcXHQucHJvY19oYW5kbGVyXFx0PSBwcm9jX2RvaW50dmVjX21pbm1heCxcXG4gIDIzOlxcdFxcdFxcdC5leHRyYTFcXHRcXHQ9IFNZU0NUTF9aRVJPLFxcbiAgMjQ6XFx0XFx0fSxcXG4gIDI1OlxcdH07XFxuICAyNjpcXHRcXG4gIDI3OlxcdHN0YXRpYyBjb25zdCBzdHJ1Y3QgY3RsX3RhYmxlICp1bml4X3RhYmxlX2R1cChzdHJ1Y3QgbmV0ICpuZXQpXFxuICAyODpcXHR7XFxuICAyOTpcXHRcXHRzdHJ1Y3QgY3RsX3RhYmxlICp0YWJsZTtcXG4gIDMwOlxcdFxcbiAgMzE6XFx0XFx0dGFibGUgPSBrbWVtZHVwKHVuaXhfdGFibGUsIHNpemVvZih1bml4X3RhYmxlKSwgR0ZQX0tFUk5FTCk7XFxuICAzMjpcXHRcXHRpZiAoIXRhYmxlKVxcbiAgMzM6XFx0XFx0XFx0cmV0dXJuIE5VTEw7XFxuICAzNDpcXHRcXG4gIDM1OlxcdFxcdHRhYmxlWzBdLmRhdGEgPSBcXHUwMDI2bmV0LVxcdTAwM2V1bnguc3lzY3RsX21heF9kZ3JhbV9xbGVuO1xcbiAgMzY6XFx0XFxuICAzNzpcXHRcXHRyZXR1cm4gdGFibGU7XFxuICAzODpcXHR9XFxuICAzOTpcXHRcXG4gIDQwOlxcdGludCBfX25ldF9pbml0IHVuaXhfc3lzY3RsX3JlZ2lzdGVyKHN0cnVjdCBuZXQgKm5ldClcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjZUMDY6MTc6MzYuODQzNDQ2NTUyWiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6ODkxOTMwNzAzNCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipGdXp6aW5nIERlY2lzaW9uIGZvciBhIFN5c2N0bCBNaW4vTWF4IENoYW5nZSoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggYW5kIGl0J3MgbW9kaWZ5aW5nIGEgc3lzY3RsIHBhcmFtZXRlciB0byBwcmV2ZW50IG5lZ2F0aXZlIHZhbHVlcy4gRnVuY3Rpb25hbGx5LCBpdCdzIGEgbWlub3IgY2hhbmdlOyB0aGUgY29yZSBsb2dpYyBpcyBzdGF5aW5nIHRoZSBzYW1lLCBidXQgaXQncyBhbHRlcmluZyB0aGUgYWNjZXB0YWJsZSByYW5nZS4gSW5pdGlhbGx5LCBJIHRob3VnaHQsIFwiSXMgdGhpcyBldmVuIHdvcnRoIGZ1enppbmc/XCIgSXQncyBqdXN0IGEgbWluL21heCBhZGp1c3RtZW50LCB1c3VhbGx5IHRob3NlIGFyZSBub3Qgd29ydGh5IG9mIGZ1enppbmcuIE15IGluaXRpYWwgaW5zdGluY3Qgd2FzIGxlYW5pbmcgdG93YXJkcyBubywgc2luY2UgaXQncyBhIHZlcnkgc21hbGwgc3lzY3RsIGNoYW5nZSAtIGVzcGVjaWFsbHkgYSBudW1lcmljIGNvbnN0YW50IG9yIG1hY3JvIGNoYW5nZSB0aGF0IGRvZXNuJ3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LiBCdXQgd2FpdC4uLnRoaXMgKmRvZXMqIGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdyBieSBwcmV2ZW50aW5nIG5lZ2F0aXZlIHZhbHVlcyEgSXQncyBub3QganVzdCBhIGNvc21ldGljIGNoYW5nZS5cblxuTXkgbmV4dCBzdGVwIHdhcyB0byBkaWcgaW50byB0aGUgcmVsZXZhbnQgZnVuY3Rpb25zLiBgdW5peF9zeXNjdGxfcmVnaXN0ZXJgIG9yIGBwcm9jX2RvaW50dmVjX21pbm1heGAgc2VlbWVkIHJlbGV2YW50IGF0IGZpcnN0LCBidXQgaXQgc2VlbXMgbGlrZSB0aGlzIGNoYW5nZSBpcyBhY3R1YWxseSBpbiB0aGUgYHVuaXhfdGFibGVgIHN0cnVjdCBkZWZpbml0aW9uLiBObyBuZXcgZnVuY3Rpb25zIGFyZSBiZWluZyBpbnRyb2R1Y2VkLCBpdCdzIGp1c3QgYW4gdXBkYXRlIHRvIHRoZSB0YWJsZSBpdHNlbGYuIFRoZW4gSSBzdGFydGVkIHNlY29uZC1ndWVzc2luZyBteXNlbGYgYWdhaW4uIFRoZSBpbnN0cnVjdGlvbnMgc3VnZ2VzdCBcIlJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnMuLi4gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlwiIFRoaXMgc2VlbWVkIGxpa2UgdGhlIGNhc2UgaGVyZSwgc2luY2UgdGhlIGNoYW5nZSBpcyB0byBhIHN0cnVjdCBpbml0aWFsaXphdGlvbiwgYSBudW1lcmljIGNvbnN0YW50IGNoYW5nZS5cblxuSG93ZXZlciwgb24gZnVydGhlciBpbnNwZWN0aW9uLCBpdCdzIG5vdCBqdXN0IGEgc2ltcGxlIGNvbnN0YW50IGNoYW5nZS4gSXQgcHJldmVudHMgYSBuZWdhdGl2ZSB2YWx1ZSwgY2hhbmdpbmcgYHByb2NfaGFuZGxlcmAgdG8gYHByb2NfZG9pbnR2ZWNfbWlubWF4YCBhbmQgYWRkaW5nIGBleHRyYTFgLiBJIG5lZWQgdG8gY2hhbmdlIG15IGRlY2lzaW9uIGhlcmUsIGJlY2F1c2UgdGhpcyBpcyBhICpmdW5jdGlvbmFsKiBjaGFuZ2UsIGV2ZW4gaWYgaXQncyBzbWFsbC4gSXQncyBlc3NlbnRpYWxseSBhZGRpbmcgYSBib3VuZGFyeSBjaGVjayB0aGF0IGRpZG4ndCBleGlzdCBiZWZvcmUuXG5cblNvLCBJJ20gbGVhbmluZyB0b3dhcmQgYFdvcnRoRnV6emluZz10cnVlYC4gQnV0LCB0aGUgY2hhbmdlIGlzIHRyaXZpYWwgYW5kIGRvZXNuJ3QgaW50cm9kdWNlIGFueSBuZXcgbG9naWMgdG8gZnV6eiwgdGhlcmUgYXJlIG5vIHNwZWNpZmljIGZ1bmN0aW9ucyB0byBmb2N1cyBvbi4gU28sIG15IGZpbmFsIGFuc3dlciBzaG91bGQgYmUgV29ydGhGdXp6aW5nPXRydWUsIGJ1dCBtYXliZSBubyBGb2N1c1N5bWJvbHMuIFRoZSBjb25maWd1cmF0aW9uIGlzIGBVTklYYC5cblxuXG4iLCJJbnB1dFRva2VucyI6Mjk5MywiT3V0cHV0VG9rZW5zIjoyOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjUyOSwiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI2VDA2OjE3OjQ1Ljc2Mjc1NTgzNloiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0NDUzNjk1OSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgVU5JWFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvdW5peC9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC91bml4L0tjb25maWctNS1cXG5uZXQvdW5peC9LY29uZmlnOjY6Y29uZmlnIFVOSVhcXG5uZXQvdW5peC9LY29uZmlnLTctXFx0Ym9vbCBcXFwiVW5peCBkb21haW4gc29ja2V0c1xcXCJcXG4tLVxcbm5ldC91bml4L0tjb25maWc9MTk9Y29uZmlnXFx0QUZfVU5JWF9PT0JcXG4tLVxcbm5ldC91bml4L0tjb25maWctMjUtXFxubmV0L3VuaXgvS2NvbmZpZzoyNjpjb25maWcgVU5JWF9ESUFHXFxubmV0L3VuaXgvS2NvbmZpZy0yNy1cXHR0cmlzdGF0ZSBcXFwiVU5JWDogc29ja2V0IG1vbml0b3JpbmcgaW50ZXJmYWNlXFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0yNlQwNjoxNzo0NS44MDcyOTUyNzVaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MzU2OTA5OTQ5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IFF1aWNrIEFzc2Vzc21lbnQgb2YgdGhlIENvbmZpZ3VyYXRpb24qKlxuXG5BbHJpZ2h0LCB0aGUgY29uZmlndXJhdGlvbiBpcyBzZXQgdG8gYFVOSVhgLiBNeSBpbml0aWFsIGluc3RpbmN0IGlzIHRvIG1hcmsgdGhpcyBhcyBzb21ldGhpbmcgd29ydGggZnV6emluZyBhbmQgcmV0dXJuIGEgYFdvcnRoRnV6emluZz10cnVlYCByZXNwb25zZS4gSSdkIHNldCBgRW5hYmxlQ29uZmlnc2AgdG8gaW5jbHVkZSBcIlVOSVhcIiBhbmQgbGVhdmUgdGhlIGBGb2N1c1N5bWJvbHNgIGVtcHR5LiBCdXQgaG9sZCBvbiBhIHNlY29uZC4uLiBpc24ndCBgVU5JWGAgYSBib29sZWFuLCBhbmQgaXNuJ3QgaXQgdXN1YWxseSAqYWxyZWFkeSogZW5hYmxlZCBieSBkZWZhdWx0PyBIbW0uLi4gcmF0aGVyIHRoYW4gbWVzcyBhcm91bmQgd2l0aCBpdCwgSSdsbCBqdXN0IGdvIGFoZWFkIGFuZCBvdXRwdXQgaXQgYXMgaXMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQxMjEsIk91dHB1dFRva2VucyI6OTAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo1OCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0yNlQwNjoxNzo1MC4xNjQyMDczODRaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEwMDMxMjUzOCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiVU5JWFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBjaGFuZ2VzIHRoZSBwcm9jX2hhbmRsZXIgZm9yIHRoZSBtYXhfZGdyYW1fcWxlbiBzeXNjdGwgdG8gcHJvY19kb2ludHZlY19taW5tYXggYW5kIHNldHMgYSBtaW5pbXVtIHZhbHVlIG9mIDAsIHByZXZlbnRpbmcgbmVnYXRpdmUgdmFsdWVzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgdG8gdGhlIHN5c2N0bCBpbnRlcmZhY2UgZm9yIFVOSVggZG9tYWluIHNvY2tldHMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiVU5JWFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBjaGFuZ2VzIHRoZSBwcm9jX2hhbmRsZXIgZm9yIHRoZSBtYXhfZGdyYW1fcWxlbiBzeXNjdGwgdG8gcHJvY19kb2ludHZlY19taW5tYXggYW5kIHNldHMgYSBtaW5pbXVtIHZhbHVlIG9mIDAsIHByZXZlbnRpbmcgbmVnYXRpdmUgdmFsdWVzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgdG8gdGhlIHN5c2N0bCBpbnRlcmZhY2UgZm9yIFVOSVggZG9tYWluIHNvY2tldHMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI2VDA2OjE3OjUwLjI2NDUyNzI4MloiLCJTZXEiOjksIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoiSWYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMTQwNTYwNTk4OCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI2VDA2OjE3OjUwLjI2NDk4MzY5MloiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoia21zYW4tZXZhbHVhdG9yIiwiTW9kZWwiOiJiZXN0LWV4cGVuc2l2ZSIsIkR1cmF0aW9uIjoxMTQwNTE0NDk2OCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiS01TQU5SZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggY2hhbmdlcyB0aGUgcHJvY19oYW5kbGVyIGZvciB0aGUgJ21heF9kZ3JhbV9xbGVuJyBzeXNjdGwgZnJvbSBwcm9jX2RvaW50dmVjIHRvIHByb2NfZG9pbnR2ZWNfbWlubWF4IGFuZCBzZXRzIGV4dHJhMSB0byBTWVNDVExfWkVSTy4gVGhpcyBlbmZvcmNlcyBhIG1pbmltdW0gdmFsdWUgb2YgMCBmb3IgdGhlIHN5c2N0bCwgcHJldmVudGluZyBuZWdhdGl2ZSB2YWx1ZXMuIFRoaXMgaXMgYSBzaW1wbGUgYm91bmRzIGNoZWNrIGZpeCBhbmQgZG9lcyBub3QgaW50cm9kdWNlIGFueSBuZXcgc3RydWN0dXJlcywgYWxsb2NhdGlvbnMsIG9yIGxvZ2ljIHRoYXQgY291bGQgZXhwb3NlIHVuaW5pdGlhbGl6ZWQgbWVtb3J5LiBUaGVyZWZvcmUsIEtNU0FOIGlzIG5vdCBhcHBsaWNhYmxlLlwiLFxuICBcIk5lZWRzS01TQU5cIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBzZWN1cml0eSBlbmdpbmVlciBzcGVjaWFsaXppbmcgaW4ga2VybmVsIG1lbW9yeVxuZXJyb3IgZGV0ZWN0b3JzIChLQVNBTiBhbmQgS01TQU4pLiBZb3VyIGpvYiBpcyB0byByZXZpZXcgdGhlIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmRcbmRldGVybWluZSBpZiB0aGUgY29kZSBjaGFuZ2VzIGp1c3RpZnkgc3Bhd25pbmcgYSBkZWRpY2F0ZWQgS01TQU4gKEtlcm5lbE1lbW9yeVNhbml0aXplcilcbmZ1enppbmcgc2Vzc2lvbiBpbiBhZGRpdGlvbiB0byBzdGFuZGFyZCBLQVNBTiBmdXp6aW5nLlxuXG5DUklUSUNBTCBESVNUSU5DVElPTiBCRVRXRUVOIEtBU0FOIEFORCBLTVNBTjpcbi0gU3RhbmRhcmQgS0FTQU4ga2VybmVsIGJ1aWxkcyAodXBzdHJlYW0tYXBwYXJtb3Ita2FzYW4uY29uZmlnKSBhbHJlYWR5IGVuYWJsZVxuICBhIGNvbXByZWhlbnNpdmUgc3VpdGUgb2YgZGVidWdnaW5nIHRvb2xzIGFuZCBzYW5pdGl6ZXJzLCBpbmNsdWRpbmcgS0FTQU5cbiAgKG91dC1vZi1ib3VuZHMgYWNjZXNzZXMsIHVzZS1hZnRlci1mcmVlLCBkb3VibGUgZnJlZSwgaW52YWxpZCBmcmVlKSwgTE9DS0RFUFxuICAobG9ja2luZyBidWdzIGFuZCBkZWFkbG9ja3MpLCBVQi1zYW5pdGl6ZXJzLCBhbmQgbWVtb3J5IGNvcnJ1cHRpb24gY2hlY2tzLlxuLSBLTVNBTiAoS2VybmVsTWVtb3J5U2FuaXRpemVyKSBkZXRlY3RzIHJlYWRzIG9mIFVOSU5JVElBTElaRUQgbWVtb3J5IChzdGFjaywgaGVhcCxcbiAgb3IgcGFnZSBhbGxvY2F0aW9ucykgYW5kIGtlcm5lbC10by11c2VyIG1lbW9yeSBpbmZvLWxlYWtzLlxuXG5SdWxlOiBUSEVSRSBJUyBOTyBTRU5TRSBJTiBSVU5OSU5HIEEgS01TQU4gU0VTU0lPTiBJRiBBIEJVRyBDQU4gQkUgQ0FVR0hUIEJZIEtBU0FOLFxuTE9DS0RFUCwgT1IgT1RIRVIgU1RBTkRBUkQgQlVHIERFVEVDVE9SUy5cbkEgZGVkaWNhdGVkIEtNU0FOIGZ1enppbmcgc2Vzc2lvbiBpbmN1cnMgc2lnbmlmaWNhbnQgcmVzb3VyY2UgY29zdHMuIFlvdSBtdXN0IE9OTFlcbnNldCBOZWVkc0tNU0FOPXRydWUgaWYgdGhlIGNvZGUgY2hhbmdlcyBpbnRyb2R1Y2Ugb3IgZXhwb3NlIFVOSU5JVElBTElaRUQgTUVNT1JZIHJpc2tzXG50aGF0IGFyZSBkZXRlY3RlZCBPTkxZIGJ5IEtNU0FOLlxuXG5Mb29rIGhvbGlzdGljYWxseSBhdCB0aGUgcGF0Y2ggc2VyaWVzIGFuZCBzdXJyb3VuZGluZyBjb2RlLiBFdmVuIGlmIG5vIGRpcmVjdFxudW5pbml0aWFsaXplZCBmaWVsZCBhY2Nlc3NlcyBvciBuZXcgYnVmZmVyIGFsbG9jYXRpb25zIGFyZSBhZGRlZCBpbiB0aGUgZGlmZiBpdHNlbGYsXG5hIHBhdGNoIG1heSBhbHRlciBjb250cm9sIGZsb3csIGJvdW5kcyBjaGVja2luZywgb3IgZGF0YSBsZW5ndGggY2FsY3VsYXRpb25zIGluIHdheXNcbnRoYXQgY2hhbmdlIGhvdyB0aGUgcmVzdCBvZiB0aGUgY29kZSBvcGVyYXRlcyBvbiBleGlzdGluZyBidWZmZXJzIChlLmcuIGFsbG93aW5nXG51bmluaXRpYWxpemVkIHN0YWNrL2hlYXAgbWVtb3J5IHRvIGJlIHJlYWQsIGNvcGllZCB0byB1c2VyIHNwYWNlLCBvciB1c2VkIGluIGNvbnRyb2xcbmZsb3cpLiBEbyBub3QgaGVzaXRhdGUgdG8gdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gaW5zcGVjdCB0aGUgc3Vycm91bmRpbmcgY29kZSxcbmNhbGxlZCBmdW5jdGlvbnMsIGFuZCBjYWxsZXJzLlxuXG5TZXQgTmVlZHNLTVNBTj10cnVlIE9OTFkgSUYgdGhlIHBhdGNoIGludHJvZHVjZXMgb3IgbW9kaWZpZXM6XG4xLiBLZXJuZWwgc3RydWN0dXJlcyBzZW50IHRvIHVzZXIgc3BhY2UgKHZpYSBjb3B5X3RvX3VzZXIsIHB1dF91c2VyLCBuZXRsaW5rIHNrYlxuICAgYXR0cmlidXRlcywgaW9jdGwgb3V0cHV0IGFyZ3VtZW50cywgc29ja2V0IG9wdGlvbnMsIG9yIEJQRiBidWZmZXJzKSB3aGVyZSBmaWVsZHNcbiAgIG9yIHN0cnVjdHVyZSBwYWRkaW5nIG1pZ2h0IG5vdCBiZSBmdWxseSBpbml0aWFsaXplZC96ZXJvZWQuXG4yLiBDb25kaXRpb25hbCBsb2dpYyBvciBicmFuY2hpbmcgdGhhdCBkZXBlbmRzIG9uIHBvdGVudGlhbGx5IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzXG4gICBvciBzdHJ1Y3QgZmllbGRzLlxuMy4gQWxsb2NhdGlvbiBvciBpbml0aWFsaXphdGlvbiBvZiBjb21wbGV4IGRhdGEgc3RydWN0dXJlcyB3aGVyZSB1bmluaXRpYWxpemVkIGZpZWxkc1xuICAgY291bGQgYmUgcmVhZCBsYXRlciBpbiByZWFjaGFibGUgY29kZSBwYXRocy5cbjQuIEJvdW5kcyBjaGVja3MsIGxlbmd0aHMsIG9yIGxvZ2ljIGluIGEgd2F5IHRoYXQgYWxsb3dzIHN1cnJvdW5kaW5nIGNvZGUgdG8gYWNjZXNzXG4gICB1bmluaXRpYWxpemVkIGJ5dGVzIG9mIGV4aXN0aW5nIGJ1ZmZlcnMuXG5cblNldCBOZWVkc0tNU0FOPWZhbHNlIElGOlxuLSBUaGUgY29kZSBjaGFuZ2VzIHByaW1hcmlseSByaXNrIG91dC1vZi1ib3VuZHMgYWNjZXNzLCBhcnJheSBvdmVyZmxvd3MsIE5VTEwgcG9pbnRlclxuICBkZXJlZmVyZW5jZXMsIGxvY2tpbmcgZGVhZGxvY2tzLCBvciB1c2UtYWZ0ZXItZnJlZSBidWdzICh0aGVzZSBhcmUgYWxyZWFkeSBjYXVnaHRcbiAgYnkgS0FTQU4sIExPQ0tERVAsIG9yIHN0YW5kYXJkIGJ1ZyBkZXRlY3RvcnMpLlxuLSBBbGwgc3RhY2svaGVhcCBzdHJ1Y3R1cmVzIHRvdWNoZWQgb3IgaW50cm9kdWNlZCBieSB0aGUgcGF0Y2ggYXJlIGZ1bGx5IHplcm9lZFxuICBvciBpbml0aWFsaXplZCAoZS5nLiB1c2luZyA9IHswfSwgbWVtc2V0LCBremFsbG9jKSBiZWZvcmUgYmVpbmcgcmVhZCBvciBjb3BpZWQuXG4tIFRoZSBwYXRjaCBkb2VzIG5vdCBpbnRyb2R1Y2UgYW55IHJpc2sgb2YgdW5pbml0aWFsaXplZCBtZW1vcnkgdXNhZ2Ugb3IgaW5mby1sZWFrcy5cblxuVXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gaW5zcGVjdCB0aGUgc3Vycm91bmRpbmcgY29kZSBpZiBuZWNlc3NhcnksIHRoZW4gcHJvdmlkZVxuZGV0YWlsZWQgS01TQU5SZWFzb25pbmcgY29udHJhc3RpbmcgS0FTQU4gdnMgS01TQU4gYXBwbGljYWJpbGl0eSBmb3IgdGhpcyBwYXRjaC5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDVmMzBhNGY2ODE3Mzk4ZmU1ZWRmMzJjY2Y0MDczZTcyYzA5ODhmMWNcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgV2VkIEF1ZyAyNiAwNjoxNzoyOSAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL25ldC91bml4L3N5c2N0bF9uZXRfdW5peC5jIGIvbmV0L3VuaXgvc3lzY3RsX25ldF91bml4LmNcbmluZGV4IDQ3NjYwZDU3MjZiYmQuLjI3ODIwOTU2M2Q0YjcgMTAwNjQ0XG4tLS0gYS9uZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguY1xuKysrIGIvbmV0L3VuaXgvc3lzY3RsX25ldF91bml4LmNcbkBAIC0xOSw3ICsxOSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY3RsX3RhYmxlIHVuaXhfdGFibGVbXSA9IHtcbiBcdFx0LmRhdGFcdFx0PSBcdTAwMjZpbml0X25ldC51bnguc3lzY3RsX21heF9kZ3JhbV9xbGVuLFxuIFx0XHQubWF4bGVuXHRcdD0gc2l6ZW9mKGludCksXG4gXHRcdC5tb2RlXHRcdD0gMDY0NCxcbi1cdFx0LnByb2NfaGFuZGxlclx0PSBwcm9jX2RvaW50dmVjXG4rXHRcdC5wcm9jX2hhbmRsZXJcdD0gcHJvY19kb2ludHZlY19taW5tYXgsXG4rXHRcdC5leHRyYTFcdFx0PSBTWVNDVExfWkVSTyxcbiBcdH0sXG4gfTtcbiBcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI2VDA2OjE3OjUwLjI2NDk4NDc5MloiLCJTZXEiOjExLCJOZXN0aW5nIjozLCJUeXBlIjoibGxtIiwiTmFtZSI6Imttc2FuLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0NzkyODA3NTYxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQgb2YgdGhlIE5ldC9Vbml4IFN5c2N0bCBNb2RpZmljYXRpb24qKlxuXG5Pa2F5LCBzbyB0aGlzIHBhdGNoIGlzIGEgc3RyYWlnaHRmb3J3YXJkIGFkanVzdG1lbnQgdG8gYG5ldC91bml4L3N5c2N0bF9uZXRfdW5peC5jYC4gVGhleSdyZSBlc3NlbnRpYWxseSB0aWdodGVuaW5nIHVwIHRoZSBib3VuZHMgY2hlY2tpbmcgZm9yIHRoZSBgdW54LnN5c2N0bF9tYXhfZGdyYW1fcWxlbmAgc3lzY3RsLiBJbnN0ZWFkIG9mIHRoZSBnZW5lcmljIGBwcm9jX2RvaW50dmVjYCBoYW5kbGVyLCB3ZSdyZSBub3cgdXNpbmcgYHByb2NfZG9pbnR2ZWNfbWlubWF4YCwgd2hpY2ggaXMgdGhlIGNvcnJlY3QgYXBwcm9hY2ggdG8gaW1wb3NlIGEgbWluaW11bSB2YWx1ZS4gVGhlIGAuZXh0cmExID0gU1lTQ1RMX1pFUk9gIHBhcnQgY29uZmlybXMgdGhhdCB0aGUgbWluaW11bSBpcyBpbmRlZWQgemVybywgZWZmZWN0aXZlbHkgcHJldmVudGluZyBuZWdhdGl2ZSB2YWx1ZXMuXG5cbkl0J3MgYSBjbGFzc2ljIGV4YW1wbGUgb2YgYSBzaW1wbGUgc3lzY3RsIGJvdW5kcyBjaGVjayBmaXgg4oCTIGV4YWN0bHkgdGhlIGtpbmQgb2YgdGhpbmcgeW91ICp3YW50KiB0byBzZWUuIEl04oCZcyBsb3ctcmlzazsgSSBjYW4ndCBzZWUgYW55IG9idmlvdXMgaW50cm9kdWN0aW9uIG9mIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHZ1bG5lcmFiaWxpdGllcyBoZXJlLiBHaXZlbiB0aGUgc2NvcGUgb2YgdGhlIGNoYW5nZSwgS01TQU4gaXMgcHJvYmFibHkgb3ZlcmtpbGwsIGFuZCBub3Qgd2FycmFudGVkLlxuXG5KdXN0IHRvIGJlIGFic29sdXRlbHkgY2VydGFpbiwgSSdsbCBkbyBhIHF1aWNrIHNjYW4gb2YgdGhlIGZpbGUgYW5kIGl0cyBzdXJyb3VuZGluZyBjb2RlIHRvIG1ha2Ugc3VyZSBub3RoaW5nIHVudG93YXJkIGlzIGhhcHBlbmluZywgYnV0LCBmcmFua2x5LCBJJ20gZXhwZWN0aW5nIHRoaXMgdG8gYmUgYSBxdWljayBhcHByb3ZhbC5cblxuXG4iLCJJbnB1dFRva2VucyI6MjAwNiwiT3V0cHV0VG9rZW5zIjozOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE0NywiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI2VDA2OjE3OjU1LjA1Nzc5NDg0M1oiLCJTZXEiOjEyLCJOZXN0aW5nIjozLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2MDM2MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJuZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguY1wiLFxuICBcIkZpcnN0TGluZVwiOiAxLFxuICBcIkxpbmVDb3VudFwiOiAzMFxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiQ29udGVudHNcIjogXCIgICAxOlxcdC8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyXFxuICAgMjpcXHQvKlxcbiAgIDM6XFx0ICogTkVUNDpcXHRTeXNjdGwgaW50ZXJmYWNlIHRvIG5ldCBhZl91bml4IHN1YnN5c3RlbS5cXG4gICA0OlxcdCAqXFxuICAgNTpcXHQgKiBBdXRob3JzOlxcdE1pa2UgU2hhdmVyLlxcbiAgIDY6XFx0ICovXFxuICAgNzpcXHRcXG4gICA4OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9zbGFiLmhcXHUwMDNlXFxuICAgOTpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvc3RyaW5nLmhcXHUwMDNlXFxuICAxMDpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvc3lzY3RsLmhcXHUwMDNlXFxuICAxMTpcXHQjaW5jbHVkZSBcXHUwMDNjbmV0L2FmX3VuaXguaFxcdTAwM2VcXG4gIDEyOlxcdCNpbmNsdWRlIFxcdTAwM2NuZXQvbmV0X25hbWVzcGFjZS5oXFx1MDAzZVxcbiAgMTM6XFx0XFxuICAxNDpcXHQjaW5jbHVkZSBcXFwiYWZfdW5peC5oXFxcIlxcbiAgMTU6XFx0XFxuICAxNjpcXHRzdGF0aWMgY29uc3Qgc3RydWN0IGN0bF90YWJsZSB1bml4X3RhYmxlW10gPSB7XFxuICAxNzpcXHRcXHR7XFxuICAxODpcXHRcXHRcXHQucHJvY25hbWVcXHQ9IFxcXCJtYXhfZGdyYW1fcWxlblxcXCIsXFxuICAxOTpcXHRcXHRcXHQuZGF0YVxcdFxcdD0gXFx1MDAyNmluaXRfbmV0LnVueC5zeXNjdGxfbWF4X2RncmFtX3FsZW4sXFxuICAyMDpcXHRcXHRcXHQubWF4bGVuXFx0XFx0PSBzaXplb2YoaW50KSxcXG4gIDIxOlxcdFxcdFxcdC5tb2RlXFx0XFx0PSAwNjQ0LFxcbiAgMjI6XFx0XFx0XFx0LnByb2NfaGFuZGxlclxcdD0gcHJvY19kb2ludHZlY19taW5tYXgsXFxuICAyMzpcXHRcXHRcXHQuZXh0cmExXFx0XFx0PSBTWVNDVExfWkVSTyxcXG4gIDI0OlxcdFxcdH0sXFxuICAyNTpcXHR9O1xcbiAgMjY6XFx0XFxuICAyNzpcXHRzdGF0aWMgY29uc3Qgc3RydWN0IGN0bF90YWJsZSAqdW5peF90YWJsZV9kdXAoc3RydWN0IG5ldCAqbmV0KVxcbiAgMjg6XFx0e1xcbiAgMjk6XFx0XFx0c3RydWN0IGN0bF90YWJsZSAqdGFibGU7XFxuICAzMDpcXHRcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjZUMDY6MTc6NTUuMDU3ODU2NzgzWiIsIlNlcSI6MTMsIk5lc3RpbmciOjMsIlR5cGUiOiJsbG0iLCJOYW1lIjoia21zYW4tZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjY2MTIyNDc0MTYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSBzdW1tYXJ5LCBhcyB0aG91Z2ggSSdtIHRoaW5raW5nIHRocm91Z2ggdGhpcyBwYXRjaDpcblxuKipWYWxpZGF0aW5nIGBtYXhfZGdyYW1fcWxlbmAqKlxuXG5Pa2F5LCBzbyB0aGlzIHBhdGNoIGlzIGEgc3RyYWlnaHRmb3J3YXJkIHN5c2N0bCB2YWxpZGF0aW9uIGZpeC4gSXQgYWRkcmVzc2VzIGEgc2l0dWF0aW9uIHdoZXJlIGBtYXhfZGdyYW1fcWxlbmAgY291bGQgYmUsIGluY29ycmVjdGx5LCBzZXQgdG8gYSBuZWdhdGl2ZSB2YWx1ZS4gTm90aGluZyBjb21wbGV4IGhlcmUsIGp1c3QgZW5zdXJpbmcgdGhlIHN5c3RlbSBiZWhhdmVzIGFzIGV4cGVjdGVkLiBUaGUgY29kZSdzIGNsZWFuIGFuZCBkb2Vzbid0IGludm9sdmUgYW55IHVuaW5pdGlhbGl6ZWQgbWVtb3J5IGlzc3Vlcywgd2hpY2ggaXMgYWx3YXlzIGEgcmVsaWVmLiBHaXZlbiB0aGUgbmF0dXJlIG9mIHRoaXMgY2hhbmdlIGFuZCBsYWNrIG9mIGFueSBtZW1vcnkgY29ycnVwdGlvbiBwb3RlbnRpYWwsIEknbSBjb21mb3J0YWJsZSBzZXR0aW5nIGBOZWVkc0tNU0FOPWZhbHNlYC4gTGV0J3MgZ2V0IHRoaXMgaW4uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI4NDIsIk91dHB1dFRva2VucyI6MTIyLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NDYsIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0yNlQwNjoxODowMS42NzAxMDc2NloiLCJTZXEiOjE0LCJOZXN0aW5nIjozLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE5NTMxLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiS01TQU5SZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggY2hhbmdlcyB0aGUgcHJvY19oYW5kbGVyIGZvciB0aGUgJ21heF9kZ3JhbV9xbGVuJyBzeXNjdGwgZnJvbSBwcm9jX2RvaW50dmVjIHRvIHByb2NfZG9pbnR2ZWNfbWlubWF4IGFuZCBzZXRzIGV4dHJhMSB0byBTWVNDVExfWkVSTy4gVGhpcyBlbmZvcmNlcyBhIG1pbmltdW0gdmFsdWUgb2YgMCBmb3IgdGhlIHN5c2N0bCwgcHJldmVudGluZyBuZWdhdGl2ZSB2YWx1ZXMuIFRoaXMgaXMgYSBzaW1wbGUgYm91bmRzIGNoZWNrIGZpeCBhbmQgZG9lcyBub3QgaW50cm9kdWNlIGFueSBuZXcgc3RydWN0dXJlcywgYWxsb2NhdGlvbnMsIG9yIGxvZ2ljIHRoYXQgY291bGQgZXhwb3NlIHVuaW5pdGlhbGl6ZWQgbWVtb3J5LiBUaGVyZWZvcmUsIEtNU0FOIGlzIG5vdCBhcHBsaWNhYmxlLlwiLFxuICBcIk5lZWRzS01TQU5cIjogZmFsc2Vcbn0iLCJSZXN1bHRzIjoie1xuICBcIktNU0FOUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGNoYW5nZXMgdGhlIHByb2NfaGFuZGxlciBmb3IgdGhlICdtYXhfZGdyYW1fcWxlbicgc3lzY3RsIGZyb20gcHJvY19kb2ludHZlYyB0byBwcm9jX2RvaW50dmVjX21pbm1heCBhbmQgc2V0cyBleHRyYTEgdG8gU1lTQ1RMX1pFUk8uIFRoaXMgZW5mb3JjZXMgYSBtaW5pbXVtIHZhbHVlIG9mIDAgZm9yIHRoZSBzeXNjdGwsIHByZXZlbnRpbmcgbmVnYXRpdmUgdmFsdWVzLiBUaGlzIGlzIGEgc2ltcGxlIGJvdW5kcyBjaGVjayBmaXggYW5kIGRvZXMgbm90IGludHJvZHVjZSBhbnkgbmV3IHN0cnVjdHVyZXMsIGFsbG9jYXRpb25zLCBvciBsb2dpYyB0aGF0IGNvdWxkIGV4cG9zZSB1bmluaXRpYWxpemVkIG1lbW9yeS4gVGhlcmVmb3JlLCBLTVNBTiBpcyBub3QgYXBwbGljYWJsZS5cIixcbiAgXCJOZWVkc0tNU0FOXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflow8n7n9[0].run-triage(0) Phase: Succeeded StartedAt: 2026-08-26 06:16:05 +0000 UTC FinishedAt: 2026-08-26 06:18:03 +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": "dc4b95b8fee95113587e93ca116356032d271371", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "UNIX" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "net", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git", "commit_hash": "dc4b95b8fee95113587e93ca116356032d271371", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "UNIX" ], "series_id": "0c386833-cead-4e73-854d-ebdae8dba39e" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [], "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+CgkJCTx0ZD4yMDI2LzA4LzI2IDA2OjE3PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1VOSVgmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtLTVNBTlJlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBjaGFuZ2VzIHRoZSBwcm9jX2hhbmRsZXIgZm9yIHRoZSAmIzM5O21heF9kZ3JhbV9xbGVuJiMzOTsgc3lzY3RsIGZyb20gcHJvY19kb2ludHZlYyB0byBwcm9jX2RvaW50dmVjX21pbm1heCBhbmQgc2V0cyBleHRyYTEgdG8gU1lTQ1RMX1pFUk8uIFRoaXMgZW5mb3JjZXMgYSBtaW5pbXVtIHZhbHVlIG9mIDAgZm9yIHRoZSBzeXNjdGwsIHByZXZlbnRpbmcgbmVnYXRpdmUgdmFsdWVzLiBUaGlzIGlzIGEgc2ltcGxlIGJvdW5kcyBjaGVjayBmaXggYW5kIGRvZXMgbm90IGludHJvZHVjZSBhbnkgbmV3IHN0cnVjdHVyZXMsIGFsbG9jYXRpb25zLCBvciBsb2dpYyB0aGF0IGNvdWxkIGV4cG9zZSB1bmluaXRpYWxpemVkIG1lbW9yeS4gVGhlcmVmb3JlLCBLTVNBTiBpcyBub3QgYXBwbGljYWJsZS4mIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggY2hhbmdlcyB0aGUgcHJvY19oYW5kbGVyIGZvciB0aGUgbWF4X2RncmFtX3FsZW4gc3lzY3RsIHRvIHByb2NfZG9pbnR2ZWNfbWlubWF4IGFuZCBzZXRzIGEgbWluaW11bSB2YWx1ZSBvZiAwLCBwcmV2ZW50aW5nIG5lZ2F0aXZlIHZhbHVlcy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIHRvIHRoZSBzeXNjdGwgaW50ZXJmYWNlIGZvciBVTklYIGRvbWFpbiBzb2NrZXRzLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzI2IDA2OjE3PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgNWYzMGE0ZjY4MTczOThmZTVlZGYzMmNjZjQwNzNlNzJjMDk4OGYxY1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgQXVnIDI2IDA2OjE3OjI5IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL25ldC91bml4L3N5c2N0bF9uZXRfdW5peC5jIGIvbmV0L3VuaXgvc3lzY3RsX25ldF91bml4LmNcbmluZGV4IDQ3NjYwZDU3MjZiYmQuLjI3ODIwOTU2M2Q0YjcgMTAwNjQ0XG4tLS0gYS9uZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguY1xuJiM0MzsmIzQzOyYjNDM7IGIvbmV0L3VuaXgvc3lzY3RsX25ldF91bml4LmNcbkBAIC0xOSw3ICYjNDM7MTksOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGN0bF90YWJsZSB1bml4X3RhYmxlW10gPSB7XG4gXHRcdC5kYXRhXHRcdD0gXHUwMDI2aW5pdF9uZXQudW54LnN5c2N0bF9tYXhfZGdyYW1fcWxlbixcbiBcdFx0Lm1heGxlblx0XHQ9IHNpemVvZihpbnQpLFxuIFx0XHQubW9kZVx0XHQ9IDA2NDQsXG4tXHRcdC5wcm9jX2hhbmRsZXJcdD0gcHJvY19kb2ludHZlY1xuJiM0MztcdFx0LnByb2NfaGFuZGxlclx0PSBwcm9jX2RvaW50dmVjX21pbm1heCxcbiYjNDM7XHRcdC5leHRyYTFcdFx0PSBTWVNDVExfWkVSTyxcbiBcdH0sXG4gfTtcbiBcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yNiAwNjoxNzwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5iZXN0LWV4cGVuc2l2ZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7VU5JWCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBjaGFuZ2VzIHRoZSBwcm9jX2hhbmRsZXIgZm9yIHRoZSBtYXhfZGdyYW1fcWxlbiBzeXNjdGwgdG8gcHJvY19kb2ludHZlY19taW5tYXggYW5kIHNldHMgYSBtaW5pbXVtIHZhbHVlIG9mIDAsIHByZXZlbnRpbmcgbmVnYXRpdmUgdmFsdWVzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgdG8gdGhlIHN5c2N0bCBpbnRlcmZhY2UgZm9yIFVOSVggZG9tYWluIHNvY2tldHMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsCiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuCi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSkKICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgogICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnMKICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIEFsc28gY2hlY2sgJiMzNDtkZXBlbmRzIG9uJiMzNDsgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzCiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncwogICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCA1ZjMwYTRmNjgxNzM5OGZlNWVkZjMyY2NmNDA3M2U3MmMwOTg4ZjFjCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFdlZCBBdWcgMjYgMDY6MTc6MjkgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9uZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguYyBiL25ldC91bml4L3N5c2N0bF9uZXRfdW5peC5jCmluZGV4IDQ3NjYwZDU3MjZiYmQuLjI3ODIwOTU2M2Q0YjcgMTAwNjQ0Ci0tLSBhL25ldC91bml4L3N5c2N0bF9uZXRfdW5peC5jCiYjNDM7JiM0MzsmIzQzOyBiL25ldC91bml4L3N5c2N0bF9uZXRfdW5peC5jCkBAIC0xOSw3ICYjNDM7MTksOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGN0bF90YWJsZSB1bml4X3RhYmxlW10gPSB7CiAJCS5kYXRhCQk9ICZhbXA7aW5pdF9uZXQudW54LnN5c2N0bF9tYXhfZGdyYW1fcWxlbiwKIAkJLm1heGxlbgkJPSBzaXplb2YoaW50KSwKIAkJLm1vZGUJCT0gMDY0NCwKLQkJLnByb2NfaGFuZGxlcgk9IHByb2NfZG9pbnR2ZWMKJiM0MzsJCS5wcm9jX2hhbmRsZXIJPSBwcm9jX2RvaW50dmVjX21pbm1heCwKJiM0MzsJCS5leHRyYTEJCT0gU1lTQ1RMX1pFUk8sCiAJfSwKIH07CiAKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjYgMDY6MTc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjAwOQoJCQkJCQkJb3V0cHV0OiAzOAoJCQkJCQkJdGhvdWdodHM6IDEwMwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipFeGFtaW5pbmcgdGhlIFVuaXggRG9tYWluIFNvY2tldCBDb25maWd1cmF0aW9uIENoYW5nZSoqCgpPa2F5LCBzbyB0aGUgY2hhbmdlIEkmIzM5O20gbG9va2luZyBhdCBtb2RpZmllcyBgbmV0L3VuaXgvc3lzY3RsX25ldF91bml4LmNgLiBTcGVjaWZpY2FsbHksIGl0IHNlZW1zIGxpa2UgdGhleSYjMzk7dmUgdXBkYXRlZCBob3cgdGhlIGBtYXhfZGdyYW1fcWxlbmAgcGFyYW1ldGVyIGlzIGhhbmRsZWQuIFByZXZpb3VzbHksIGl0IHVzZWQgYHByb2NfZG9pbnR2ZWNgLCB3aGljaCBpcyBhIG1vcmUgYmFzaWMgaW50ZWdlciBoYW5kbGluZyBmdW5jdGlvbi4gTm93LCB0aGV5JiMzOTt2ZSBzd2l0Y2hlZCB0byBgcHJvY19kb2ludHZlY19taW5tYXhgLCBhbmQgdGhleSYjMzk7dmUgYWRkZWQgYC5leHRyYTEgPSBTWVNDVExfWkVST2AuIFRoaXMgaXMgaW1tZWRpYXRlbHkgaW50ZXJlc3RpbmcgYmVjYXVzZSBgcHJvY19kb2ludHZlY19taW5tYXhgIGltcGxpZXMgdGhhdCB0aGV5JiMzOTtyZSBub3cgaW1wb3NpbmcgYSBtaW5pbXVtIGFuZCBtYXhpbXVtIHZhbHVlLCBwcmVzdW1hYmx5IHRvIGd1YXJkIGFnYWluc3QgY29uZmlndXJhdGlvbiBlcnJvcnMuIEFuZCB0aGUgYFNZU0NUTF9aRVJPYCBzZXR0aW5nIGluIGBleHRyYTFgLi4uIHdlbGwsIHRoYXQgY2xlYXJseSBtZWFucyB0aGUgbWluaW11bSBpcyBub3cgZXhwbGljaXRseSBzZXQgdG8gemVyby4KClRoZSBpbW1lZGlhdGUgaW1wbGljYXRpb24gaXMgdGhhdCB5b3UgY2FuIG5vIGxvbmdlciBzZXQgYG1heF9kZ3JhbV9xbGVuYCB0byBhIG5lZ2F0aXZlIHZhbHVlLCB3aGljaCBtYWtlcyBzZW5zZS4gTmVnYXRpdmUgdmFsdWVzIGZvciBxdWV1ZSBsZW5ndGhzIGFyZSBub25zZW5zaWNhbCBhbmQgY291bGQgbGVhZCB0byBpc3N1ZXMuIEl0JiMzOTtzIGEgc2Vuc2libGUgaGFyZGVuaW5nIGNoYW5nZSwgcHJldmVudGluZyBhIHBvdGVudGlhbCBtaXNjb25maWd1cmF0aW9uIHRoYXQgY291bGQgbGVhZCB0byB1bmV4cGVjdGVkIGJlaGF2aW9yIG9yIGV2ZW4gZGVuaWFsLW9mLXNlcnZpY2UgaW4gZWRnZSBjYXNlcy4gSSYjMzk7bGwgbmVlZCB0byBjaGVjayB0aGUgZXhhY3QgZnVuY3Rpb24gZGVmaW5pdGlvbnMgYW5kIHBvdGVudGlhbCBzaWRlLWVmZmVjdHMsIGJ1dCBvdmVyYWxsIHRoaXMgc2VlbXMgbGlrZSBhIHNvbGlkLCBzYWZlIGltcHJvdmVtZW50LiBOb3csIGxldCYjMzk7cyBnbyBpbnRvIGBuZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguY2AgYW5kIGRpZyBpbnRvIHRoZSBzcGVjaWZpY3MuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjYgMDY6MTc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtuZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguYyYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDEsCiAgJiMzNDtMaW5lQ291bnQmIzM0OzogNDAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7ICAgMTpcdC8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyXG4gICAyOlx0LypcbiAgIDM6XHQgKiBORVQ0Olx0U3lzY3RsIGludGVyZmFjZSB0byBuZXQgYWZfdW5peCBzdWJzeXN0ZW0uXG4gICA0Olx0ICpcbiAgIDU6XHQgKiBBdXRob3JzOlx0TWlrZSBTaGF2ZXIuXG4gICA2Olx0ICovXG4gICA3Olx0XG4gICA4Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvc2xhYi5oXHUwMDNlXG4gICA5Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvc3RyaW5nLmhcdTAwM2VcbiAgMTA6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9zeXNjdGwuaFx1MDAzZVxuICAxMTpcdCNpbmNsdWRlIFx1MDAzY25ldC9hZl91bml4LmhcdTAwM2VcbiAgMTI6XHQjaW5jbHVkZSBcdTAwM2NuZXQvbmV0X25hbWVzcGFjZS5oXHUwMDNlXG4gIDEzOlx0XG4gIDE0Olx0I2luY2x1ZGUgXCYjMzQ7YWZfdW5peC5oXCYjMzQ7XG4gIDE1Olx0XG4gIDE2Olx0c3RhdGljIGNvbnN0IHN0cnVjdCBjdGxfdGFibGUgdW5peF90YWJsZVtdID0ge1xuICAxNzpcdFx0e1xuICAxODpcdFx0XHQucHJvY25hbWVcdD0gXCYjMzQ7bWF4X2RncmFtX3FsZW5cJiMzNDssXG4gIDE5Olx0XHRcdC5kYXRhXHRcdD0gXHUwMDI2aW5pdF9uZXQudW54LnN5c2N0bF9tYXhfZGdyYW1fcWxlbixcbiAgMjA6XHRcdFx0Lm1heGxlblx0XHQ9IHNpemVvZihpbnQpLFxuICAyMTpcdFx0XHQubW9kZVx0XHQ9IDA2NDQsXG4gIDIyOlx0XHRcdC5wcm9jX2hhbmRsZXJcdD0gcHJvY19kb2ludHZlY19taW5tYXgsXG4gIDIzOlx0XHRcdC5leHRyYTFcdFx0PSBTWVNDVExfWkVSTyxcbiAgMjQ6XHRcdH0sXG4gIDI1Olx0fTtcbiAgMjY6XHRcbiAgMjc6XHRzdGF0aWMgY29uc3Qgc3RydWN0IGN0bF90YWJsZSAqdW5peF90YWJsZV9kdXAoc3RydWN0IG5ldCAqbmV0KVxuICAyODpcdHtcbiAgMjk6XHRcdHN0cnVjdCBjdGxfdGFibGUgKnRhYmxlO1xuICAzMDpcdFxuICAzMTpcdFx0dGFibGUgPSBrbWVtZHVwKHVuaXhfdGFibGUsIHNpemVvZih1bml4X3RhYmxlKSwgR0ZQX0tFUk5FTCk7XG4gIDMyOlx0XHRpZiAoIXRhYmxlKVxuICAzMzpcdFx0XHRyZXR1cm4gTlVMTDtcbiAgMzQ6XHRcbiAgMzU6XHRcdHRhYmxlWzBdLmRhdGEgPSBcdTAwMjZuZXQtXHUwMDNldW54LnN5c2N0bF9tYXhfZGdyYW1fcWxlbjtcbiAgMzY6XHRcbiAgMzc6XHRcdHJldHVybiB0YWJsZTtcbiAgMzg6XHR9XG4gIDM5Olx0XG4gIDQwOlx0aW50IF9fbmV0X2luaXQgdW5peF9zeXNjdGxfcmVnaXN0ZXIoc3RydWN0IG5ldCAqbmV0KVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzI2IDA2OjE3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI5OTMKCQkJCQkJCW91dHB1dDogMjgKCQkJCQkJCXRob3VnaHRzOiA1MjkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqRnV6emluZyBEZWNpc2lvbiBmb3IgYSBTeXNjdGwgTWluL01heCBDaGFuZ2UqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggYW5kIGl0JiMzOTtzIG1vZGlmeWluZyBhIHN5c2N0bCBwYXJhbWV0ZXIgdG8gcHJldmVudCBuZWdhdGl2ZSB2YWx1ZXMuIEZ1bmN0aW9uYWxseSwgaXQmIzM5O3MgYSBtaW5vciBjaGFuZ2U7IHRoZSBjb3JlIGxvZ2ljIGlzIHN0YXlpbmcgdGhlIHNhbWUsIGJ1dCBpdCYjMzk7cyBhbHRlcmluZyB0aGUgYWNjZXB0YWJsZSByYW5nZS4gSW5pdGlhbGx5LCBJIHRob3VnaHQsICYjMzQ7SXMgdGhpcyBldmVuIHdvcnRoIGZ1enppbmc/JiMzNDsgSXQmIzM5O3MganVzdCBhIG1pbi9tYXggYWRqdXN0bWVudCwgdXN1YWxseSB0aG9zZSBhcmUgbm90IHdvcnRoeSBvZiBmdXp6aW5nLiBNeSBpbml0aWFsIGluc3RpbmN0IHdhcyBsZWFuaW5nIHRvd2FyZHMgbm8sIHNpbmNlIGl0JiMzOTtzIGEgdmVyeSBzbWFsbCBzeXNjdGwgY2hhbmdlIC0gZXNwZWNpYWxseSBhIG51bWVyaWMgY29uc3RhbnQgb3IgbWFjcm8gY2hhbmdlIHRoYXQgZG9lc24mIzM5O3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LiBCdXQgd2FpdC4uLnRoaXMgKmRvZXMqIGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdyBieSBwcmV2ZW50aW5nIG5lZ2F0aXZlIHZhbHVlcyEgSXQmIzM5O3Mgbm90IGp1c3QgYSBjb3NtZXRpYyBjaGFuZ2UuCgpNeSBuZXh0IHN0ZXAgd2FzIHRvIGRpZyBpbnRvIHRoZSByZWxldmFudCBmdW5jdGlvbnMuIGB1bml4X3N5c2N0bF9yZWdpc3RlcmAgb3IgYHByb2NfZG9pbnR2ZWNfbWlubWF4YCBzZWVtZWQgcmVsZXZhbnQgYXQgZmlyc3QsIGJ1dCBpdCBzZWVtcyBsaWtlIHRoaXMgY2hhbmdlIGlzIGFjdHVhbGx5IGluIHRoZSBgdW5peF90YWJsZWAgc3RydWN0IGRlZmluaXRpb24uIE5vIG5ldyBmdW5jdGlvbnMgYXJlIGJlaW5nIGludHJvZHVjZWQsIGl0JiMzOTtzIGp1c3QgYW4gdXBkYXRlIHRvIHRoZSB0YWJsZSBpdHNlbGYuIFRoZW4gSSBzdGFydGVkIHNlY29uZC1ndWVzc2luZyBteXNlbGYgYWdhaW4uIFRoZSBpbnN0cnVjdGlvbnMgc3VnZ2VzdCAmIzM0O1JldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnMuLi4gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LiYjMzQ7IFRoaXMgc2VlbWVkIGxpa2UgdGhlIGNhc2UgaGVyZSwgc2luY2UgdGhlIGNoYW5nZSBpcyB0byBhIHN0cnVjdCBpbml0aWFsaXphdGlvbiwgYSBudW1lcmljIGNvbnN0YW50IGNoYW5nZS4KCkhvd2V2ZXIsIG9uIGZ1cnRoZXIgaW5zcGVjdGlvbiwgaXQmIzM5O3Mgbm90IGp1c3QgYSBzaW1wbGUgY29uc3RhbnQgY2hhbmdlLiBJdCBwcmV2ZW50cyBhIG5lZ2F0aXZlIHZhbHVlLCBjaGFuZ2luZyBgcHJvY19oYW5kbGVyYCB0byBgcHJvY19kb2ludHZlY19taW5tYXhgIGFuZCBhZGRpbmcgYGV4dHJhMWAuIEkgbmVlZCB0byBjaGFuZ2UgbXkgZGVjaXNpb24gaGVyZSwgYmVjYXVzZSB0aGlzIGlzIGEgKmZ1bmN0aW9uYWwqIGNoYW5nZSwgZXZlbiBpZiBpdCYjMzk7cyBzbWFsbC4gSXQmIzM5O3MgZXNzZW50aWFsbHkgYWRkaW5nIGEgYm91bmRhcnkgY2hlY2sgdGhhdCBkaWRuJiMzOTt0IGV4aXN0IGJlZm9yZS4KClNvLCBJJiMzOTttIGxlYW5pbmcgdG93YXJkIGBXb3J0aEZ1enppbmc9dHJ1ZWAuIEJ1dCwgdGhlIGNoYW5nZSBpcyB0cml2aWFsIGFuZCBkb2VzbiYjMzk7dCBpbnRyb2R1Y2UgYW55IG5ldyBsb2dpYyB0byBmdXp6LCB0aGVyZSBhcmUgbm8gc3BlY2lmaWMgZnVuY3Rpb25zIHRvIGZvY3VzIG9uLiBTbywgbXkgZmluYWwgYW5zd2VyIHNob3VsZCBiZSBXb3J0aEZ1enppbmc9dHJ1ZSwgYnV0IG1heWJlIG5vIEZvY3VzU3ltYm9scy4gVGhlIGNvbmZpZ3VyYXRpb24gaXMgYFVOSVhgLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzI2IDA2OjE3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBVTklYJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L3VuaXgvS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvdW5peC9LY29uZmlnLTUtXG5uZXQvdW5peC9LY29uZmlnOjY6Y29uZmlnIFVOSVhcbm5ldC91bml4L0tjb25maWctNy1cdGJvb2wgXCYjMzQ7VW5peCBkb21haW4gc29ja2V0c1wmIzM0O1xuLS1cbm5ldC91bml4L0tjb25maWc9MTk9Y29uZmlnXHRBRl9VTklYX09PQlxuLS1cbm5ldC91bml4L0tjb25maWctMjUtXG5uZXQvdW5peC9LY29uZmlnOjI2OmNvbmZpZyBVTklYX0RJQUdcbm5ldC91bml4L0tjb25maWctMjctXHR0cmlzdGF0ZSBcJiMzNDtVTklYOiBzb2NrZXQgbW9uaXRvcmluZyBpbnRlcmZhY2VcJiMzNDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD43LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yNiAwNjoxNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0MTIxCgkJCQkJCQlvdXRwdXQ6IDkwCgkJCQkJCQl0aG91Z2h0czogNTgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqTXkgUXVpY2sgQXNzZXNzbWVudCBvZiB0aGUgQ29uZmlndXJhdGlvbioqCgpBbHJpZ2h0LCB0aGUgY29uZmlndXJhdGlvbiBpcyBzZXQgdG8gYFVOSVhgLiBNeSBpbml0aWFsIGluc3RpbmN0IGlzIHRvIG1hcmsgdGhpcyBhcyBzb21ldGhpbmcgd29ydGggZnV6emluZyBhbmQgcmV0dXJuIGEgYFdvcnRoRnV6emluZz10cnVlYCByZXNwb25zZS4gSSYjMzk7ZCBzZXQgYEVuYWJsZUNvbmZpZ3NgIHRvIGluY2x1ZGUgJiMzNDtVTklYJiMzNDsgYW5kIGxlYXZlIHRoZSBgRm9jdXNTeW1ib2xzYCBlbXB0eS4gQnV0IGhvbGQgb24gYSBzZWNvbmQuLi4gaXNuJiMzOTt0IGBVTklYYCBhIGJvb2xlYW4sIGFuZCBpc24mIzM5O3QgaXQgdXN1YWxseSAqYWxyZWFkeSogZW5hYmxlZCBieSBkZWZhdWx0PyBIbW0uLi4gcmF0aGVyIHRoYW4gbWVzcyBhcm91bmQgd2l0aCBpdCwgSSYjMzk7bGwganVzdCBnbyBhaGVhZCBhbmQgb3V0cHV0IGl0IGFzIGlzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzI2IDA2OjE3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtVTklYJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGNoYW5nZXMgdGhlIHByb2NfaGFuZGxlciBmb3IgdGhlIG1heF9kZ3JhbV9xbGVuIHN5c2N0bCB0byBwcm9jX2RvaW50dmVjX21pbm1heCBhbmQgc2V0cyBhIG1pbmltdW0gdmFsdWUgb2YgMCwgcHJldmVudGluZyBuZWdhdGl2ZSB2YWx1ZXMuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSB0byB0aGUgc3lzY3RsIGludGVyZmFjZSBmb3IgVU5JWCBkb21haW4gc29ja2V0cy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7VU5JWCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBjaGFuZ2VzIHRoZSBwcm9jX2hhbmRsZXIgZm9yIHRoZSBtYXhfZGdyYW1fcWxlbiBzeXNjdGwgdG8gcHJvY19kb2ludHZlY19taW5tYXggYW5kIHNldHMgYSBtaW5pbXVtIHZhbHVlIG9mIDAsIHByZXZlbnRpbmcgbmVnYXRpdmUgdmFsdWVzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgdG8gdGhlIHN5c2N0bCBpbnRlcmZhY2UgZm9yIFVOSVggZG9tYWluIHNvY2tldHMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjYgMDY6MTc8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPklmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yNiAwNjoxNzwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5rbXNhbi1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5iZXN0LWV4cGVuc2l2ZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtLTVNBTlJlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBjaGFuZ2VzIHRoZSBwcm9jX2hhbmRsZXIgZm9yIHRoZSAmIzM5O21heF9kZ3JhbV9xbGVuJiMzOTsgc3lzY3RsIGZyb20gcHJvY19kb2ludHZlYyB0byBwcm9jX2RvaW50dmVjX21pbm1heCBhbmQgc2V0cyBleHRyYTEgdG8gU1lTQ1RMX1pFUk8uIFRoaXMgZW5mb3JjZXMgYSBtaW5pbXVtIHZhbHVlIG9mIDAgZm9yIHRoZSBzeXNjdGwsIHByZXZlbnRpbmcgbmVnYXRpdmUgdmFsdWVzLiBUaGlzIGlzIGEgc2ltcGxlIGJvdW5kcyBjaGVjayBmaXggYW5kIGRvZXMgbm90IGludHJvZHVjZSBhbnkgbmV3IHN0cnVjdHVyZXMsIGFsbG9jYXRpb25zLCBvciBsb2dpYyB0aGF0IGNvdWxkIGV4cG9zZSB1bmluaXRpYWxpemVkIG1lbW9yeS4gVGhlcmVmb3JlLCBLTVNBTiBpcyBub3QgYXBwbGljYWJsZS4mIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgc2VjdXJpdHkgZW5naW5lZXIgc3BlY2lhbGl6aW5nIGluIGtlcm5lbCBtZW1vcnkKZXJyb3IgZGV0ZWN0b3JzIChLQVNBTiBhbmQgS01TQU4pLiBZb3VyIGpvYiBpcyB0byByZXZpZXcgdGhlIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQKZGV0ZXJtaW5lIGlmIHRoZSBjb2RlIGNoYW5nZXMganVzdGlmeSBzcGF3bmluZyBhIGRlZGljYXRlZCBLTVNBTiAoS2VybmVsTWVtb3J5U2FuaXRpemVyKQpmdXp6aW5nIHNlc3Npb24gaW4gYWRkaXRpb24gdG8gc3RhbmRhcmQgS0FTQU4gZnV6emluZy4KCkNSSVRJQ0FMIERJU1RJTkNUSU9OIEJFVFdFRU4gS0FTQU4gQU5EIEtNU0FOOgotIFN0YW5kYXJkIEtBU0FOIGtlcm5lbCBidWlsZHMgKHVwc3RyZWFtLWFwcGFybW9yLWthc2FuLmNvbmZpZykgYWxyZWFkeSBlbmFibGUKICBhIGNvbXByZWhlbnNpdmUgc3VpdGUgb2YgZGVidWdnaW5nIHRvb2xzIGFuZCBzYW5pdGl6ZXJzLCBpbmNsdWRpbmcgS0FTQU4KICAob3V0LW9mLWJvdW5kcyBhY2Nlc3NlcywgdXNlLWFmdGVyLWZyZWUsIGRvdWJsZSBmcmVlLCBpbnZhbGlkIGZyZWUpLCBMT0NLREVQCiAgKGxvY2tpbmcgYnVncyBhbmQgZGVhZGxvY2tzKSwgVUItc2FuaXRpemVycywgYW5kIG1lbW9yeSBjb3JydXB0aW9uIGNoZWNrcy4KLSBLTVNBTiAoS2VybmVsTWVtb3J5U2FuaXRpemVyKSBkZXRlY3RzIHJlYWRzIG9mIFVOSU5JVElBTElaRUQgbWVtb3J5IChzdGFjaywgaGVhcCwKICBvciBwYWdlIGFsbG9jYXRpb25zKSBhbmQga2VybmVsLXRvLXVzZXIgbWVtb3J5IGluZm8tbGVha3MuCgpSdWxlOiBUSEVSRSBJUyBOTyBTRU5TRSBJTiBSVU5OSU5HIEEgS01TQU4gU0VTU0lPTiBJRiBBIEJVRyBDQU4gQkUgQ0FVR0hUIEJZIEtBU0FOLApMT0NLREVQLCBPUiBPVEhFUiBTVEFOREFSRCBCVUcgREVURUNUT1JTLgpBIGRlZGljYXRlZCBLTVNBTiBmdXp6aW5nIHNlc3Npb24gaW5jdXJzIHNpZ25pZmljYW50IHJlc291cmNlIGNvc3RzLiBZb3UgbXVzdCBPTkxZCnNldCBOZWVkc0tNU0FOPXRydWUgaWYgdGhlIGNvZGUgY2hhbmdlcyBpbnRyb2R1Y2Ugb3IgZXhwb3NlIFVOSU5JVElBTElaRUQgTUVNT1JZIHJpc2tzCnRoYXQgYXJlIGRldGVjdGVkIE9OTFkgYnkgS01TQU4uCgpMb29rIGhvbGlzdGljYWxseSBhdCB0aGUgcGF0Y2ggc2VyaWVzIGFuZCBzdXJyb3VuZGluZyBjb2RlLiBFdmVuIGlmIG5vIGRpcmVjdAp1bmluaXRpYWxpemVkIGZpZWxkIGFjY2Vzc2VzIG9yIG5ldyBidWZmZXIgYWxsb2NhdGlvbnMgYXJlIGFkZGVkIGluIHRoZSBkaWZmIGl0c2VsZiwKYSBwYXRjaCBtYXkgYWx0ZXIgY29udHJvbCBmbG93LCBib3VuZHMgY2hlY2tpbmcsIG9yIGRhdGEgbGVuZ3RoIGNhbGN1bGF0aW9ucyBpbiB3YXlzCnRoYXQgY2hhbmdlIGhvdyB0aGUgcmVzdCBvZiB0aGUgY29kZSBvcGVyYXRlcyBvbiBleGlzdGluZyBidWZmZXJzIChlLmcuIGFsbG93aW5nCnVuaW5pdGlhbGl6ZWQgc3RhY2svaGVhcCBtZW1vcnkgdG8gYmUgcmVhZCwgY29waWVkIHRvIHVzZXIgc3BhY2UsIG9yIHVzZWQgaW4gY29udHJvbApmbG93KS4gRG8gbm90IGhlc2l0YXRlIHRvIHVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGluc3BlY3QgdGhlIHN1cnJvdW5kaW5nIGNvZGUsCmNhbGxlZCBmdW5jdGlvbnMsIGFuZCBjYWxsZXJzLgoKU2V0IE5lZWRzS01TQU49dHJ1ZSBPTkxZIElGIHRoZSBwYXRjaCBpbnRyb2R1Y2VzIG9yIG1vZGlmaWVzOgoxLiBLZXJuZWwgc3RydWN0dXJlcyBzZW50IHRvIHVzZXIgc3BhY2UgKHZpYSBjb3B5X3RvX3VzZXIsIHB1dF91c2VyLCBuZXRsaW5rIHNrYgogICBhdHRyaWJ1dGVzLCBpb2N0bCBvdXRwdXQgYXJndW1lbnRzLCBzb2NrZXQgb3B0aW9ucywgb3IgQlBGIGJ1ZmZlcnMpIHdoZXJlIGZpZWxkcwogICBvciBzdHJ1Y3R1cmUgcGFkZGluZyBtaWdodCBub3QgYmUgZnVsbHkgaW5pdGlhbGl6ZWQvemVyb2VkLgoyLiBDb25kaXRpb25hbCBsb2dpYyBvciBicmFuY2hpbmcgdGhhdCBkZXBlbmRzIG9uIHBvdGVudGlhbGx5IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzCiAgIG9yIHN0cnVjdCBmaWVsZHMuCjMuIEFsbG9jYXRpb24gb3IgaW5pdGlhbGl6YXRpb24gb2YgY29tcGxleCBkYXRhIHN0cnVjdHVyZXMgd2hlcmUgdW5pbml0aWFsaXplZCBmaWVsZHMKICAgY291bGQgYmUgcmVhZCBsYXRlciBpbiByZWFjaGFibGUgY29kZSBwYXRocy4KNC4gQm91bmRzIGNoZWNrcywgbGVuZ3Rocywgb3IgbG9naWMgaW4gYSB3YXkgdGhhdCBhbGxvd3Mgc3Vycm91bmRpbmcgY29kZSB0byBhY2Nlc3MKICAgdW5pbml0aWFsaXplZCBieXRlcyBvZiBleGlzdGluZyBidWZmZXJzLgoKU2V0IE5lZWRzS01TQU49ZmFsc2UgSUY6Ci0gVGhlIGNvZGUgY2hhbmdlcyBwcmltYXJpbHkgcmlzayBvdXQtb2YtYm91bmRzIGFjY2VzcywgYXJyYXkgb3ZlcmZsb3dzLCBOVUxMIHBvaW50ZXIKICBkZXJlZmVyZW5jZXMsIGxvY2tpbmcgZGVhZGxvY2tzLCBvciB1c2UtYWZ0ZXItZnJlZSBidWdzICh0aGVzZSBhcmUgYWxyZWFkeSBjYXVnaHQKICBieSBLQVNBTiwgTE9DS0RFUCwgb3Igc3RhbmRhcmQgYnVnIGRldGVjdG9ycykuCi0gQWxsIHN0YWNrL2hlYXAgc3RydWN0dXJlcyB0b3VjaGVkIG9yIGludHJvZHVjZWQgYnkgdGhlIHBhdGNoIGFyZSBmdWxseSB6ZXJvZWQKICBvciBpbml0aWFsaXplZCAoZS5nLiB1c2luZyA9IHswfSwgbWVtc2V0LCBremFsbG9jKSBiZWZvcmUgYmVpbmcgcmVhZCBvciBjb3BpZWQuCi0gVGhlIHBhdGNoIGRvZXMgbm90IGludHJvZHVjZSBhbnkgcmlzayBvZiB1bmluaXRpYWxpemVkIG1lbW9yeSB1c2FnZSBvciBpbmZvLWxlYWtzLgoKVXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gaW5zcGVjdCB0aGUgc3Vycm91bmRpbmcgY29kZSBpZiBuZWNlc3NhcnksIHRoZW4gcHJvdmlkZQpkZXRhaWxlZCBLTVNBTlJlYXNvbmluZyBjb250cmFzdGluZyBLQVNBTiB2cyBLTVNBTiBhcHBsaWNhYmlsaXR5IGZvciB0aGlzIHBhdGNoLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgNWYzMGE0ZjY4MTczOThmZTVlZGYzMmNjZjQwNzNlNzJjMDk4OGYxYwpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBXZWQgQXVnIDI2IDA2OjE3OjI5IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvbmV0L3VuaXgvc3lzY3RsX25ldF91bml4LmMgYi9uZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguYwppbmRleCA0NzY2MGQ1NzI2YmJkLi4yNzgyMDk1NjNkNGI3IDEwMDY0NAotLS0gYS9uZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguYwomIzQzOyYjNDM7JiM0MzsgYi9uZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguYwpAQCAtMTksNyAmIzQzOzE5LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBjdGxfdGFibGUgdW5peF90YWJsZVtdID0gewogCQkuZGF0YQkJPSAmYW1wO2luaXRfbmV0LnVueC5zeXNjdGxfbWF4X2RncmFtX3FsZW4sCiAJCS5tYXhsZW4JCT0gc2l6ZW9mKGludCksCiAJCS5tb2RlCQk9IDA2NDQsCi0JCS5wcm9jX2hhbmRsZXIJPSBwcm9jX2RvaW50dmVjCiYjNDM7CQkucHJvY19oYW5kbGVyCT0gcHJvY19kb2ludHZlY19taW5tYXgsCiYjNDM7CQkuZXh0cmExCQk9IFNZU0NUTF9aRVJPLAogCX0sCiB9OwogCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzM8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yNiAwNjoxNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+a21zYW4tZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMDA2CgkJCQkJCQlvdXRwdXQ6IDM4CgkJCQkJCQl0aG91Z2h0czogMTQ3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgdGhlIE5ldC9Vbml4IFN5c2N0bCBNb2RpZmljYXRpb24qKgoKT2theSwgc28gdGhpcyBwYXRjaCBpcyBhIHN0cmFpZ2h0Zm9yd2FyZCBhZGp1c3RtZW50IHRvIGBuZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguY2AuIFRoZXkmIzM5O3JlIGVzc2VudGlhbGx5IHRpZ2h0ZW5pbmcgdXAgdGhlIGJvdW5kcyBjaGVja2luZyBmb3IgdGhlIGB1bnguc3lzY3RsX21heF9kZ3JhbV9xbGVuYCBzeXNjdGwuIEluc3RlYWQgb2YgdGhlIGdlbmVyaWMgYHByb2NfZG9pbnR2ZWNgIGhhbmRsZXIsIHdlJiMzOTtyZSBub3cgdXNpbmcgYHByb2NfZG9pbnR2ZWNfbWlubWF4YCwgd2hpY2ggaXMgdGhlIGNvcnJlY3QgYXBwcm9hY2ggdG8gaW1wb3NlIGEgbWluaW11bSB2YWx1ZS4gVGhlIGAuZXh0cmExID0gU1lTQ1RMX1pFUk9gIHBhcnQgY29uZmlybXMgdGhhdCB0aGUgbWluaW11bSBpcyBpbmRlZWQgemVybywgZWZmZWN0aXZlbHkgcHJldmVudGluZyBuZWdhdGl2ZSB2YWx1ZXMuCgpJdCYjMzk7cyBhIGNsYXNzaWMgZXhhbXBsZSBvZiBhIHNpbXBsZSBzeXNjdGwgYm91bmRzIGNoZWNrIGZpeCDigJMgZXhhY3RseSB0aGUga2luZCBvZiB0aGluZyB5b3UgKndhbnQqIHRvIHNlZS4gSXTigJlzIGxvdy1yaXNrOyBJIGNhbiYjMzk7dCBzZWUgYW55IG9idmlvdXMgaW50cm9kdWN0aW9uIG9mIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHZ1bG5lcmFiaWxpdGllcyBoZXJlLiBHaXZlbiB0aGUgc2NvcGUgb2YgdGhlIGNoYW5nZSwgS01TQU4gaXMgcHJvYmFibHkgb3ZlcmtpbGwsIGFuZCBub3Qgd2FycmFudGVkLgoKSnVzdCB0byBiZSBhYnNvbHV0ZWx5IGNlcnRhaW4sIEkmIzM5O2xsIGRvIGEgcXVpY2sgc2NhbiBvZiB0aGUgZmlsZSBhbmQgaXRzIHN1cnJvdW5kaW5nIGNvZGUgdG8gbWFrZSBzdXJlIG5vdGhpbmcgdW50b3dhcmQgaXMgaGFwcGVuaW5nLCBidXQsIGZyYW5rbHksIEkmIzM5O20gZXhwZWN0aW5nIHRoaXMgdG8gYmUgYSBxdWljayBhcHByb3ZhbC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8zPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjYgMDY6MTc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtuZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguYyYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDEsCiAgJiMzNDtMaW5lQ291bnQmIzM0OzogMzAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7ICAgMTpcdC8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyXG4gICAyOlx0LypcbiAgIDM6XHQgKiBORVQ0Olx0U3lzY3RsIGludGVyZmFjZSB0byBuZXQgYWZfdW5peCBzdWJzeXN0ZW0uXG4gICA0Olx0ICpcbiAgIDU6XHQgKiBBdXRob3JzOlx0TWlrZSBTaGF2ZXIuXG4gICA2Olx0ICovXG4gICA3Olx0XG4gICA4Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvc2xhYi5oXHUwMDNlXG4gICA5Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvc3RyaW5nLmhcdTAwM2VcbiAgMTA6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9zeXNjdGwuaFx1MDAzZVxuICAxMTpcdCNpbmNsdWRlIFx1MDAzY25ldC9hZl91bml4LmhcdTAwM2VcbiAgMTI6XHQjaW5jbHVkZSBcdTAwM2NuZXQvbmV0X25hbWVzcGFjZS5oXHUwMDNlXG4gIDEzOlx0XG4gIDE0Olx0I2luY2x1ZGUgXCYjMzQ7YWZfdW5peC5oXCYjMzQ7XG4gIDE1Olx0XG4gIDE2Olx0c3RhdGljIGNvbnN0IHN0cnVjdCBjdGxfdGFibGUgdW5peF90YWJsZVtdID0ge1xuICAxNzpcdFx0e1xuICAxODpcdFx0XHQucHJvY25hbWVcdD0gXCYjMzQ7bWF4X2RncmFtX3FsZW5cJiMzNDssXG4gIDE5Olx0XHRcdC5kYXRhXHRcdD0gXHUwMDI2aW5pdF9uZXQudW54LnN5c2N0bF9tYXhfZGdyYW1fcWxlbixcbiAgMjA6XHRcdFx0Lm1heGxlblx0XHQ9IHNpemVvZihpbnQpLFxuICAyMTpcdFx0XHQubW9kZVx0XHQ9IDA2NDQsXG4gIDIyOlx0XHRcdC5wcm9jX2hhbmRsZXJcdD0gcHJvY19kb2ludHZlY19taW5tYXgsXG4gIDIzOlx0XHRcdC5leHRyYTFcdFx0PSBTWVNDVExfWkVSTyxcbiAgMjQ6XHRcdH0sXG4gIDI1Olx0fTtcbiAgMjY6XHRcbiAgMjc6XHRzdGF0aWMgY29uc3Qgc3RydWN0IGN0bF90YWJsZSAqdW5peF90YWJsZV9kdXAoc3RydWN0IG5ldCAqbmV0KVxuICAyODpcdHtcbiAgMjk6XHRcdHN0cnVjdCBjdGxfdGFibGUgKnRhYmxlO1xuICAzMDpcdFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEzLzM8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yNiAwNjoxNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+a21zYW4tZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyODQyCgkJCQkJCQlvdXRwdXQ6IDEyMgoJCQkJCQkJdGhvdWdodHM6IDQ2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIG15IHN1bW1hcnksIGFzIHRob3VnaCBJJiMzOTttIHRoaW5raW5nIHRocm91Z2ggdGhpcyBwYXRjaDoKCioqVmFsaWRhdGluZyBgbWF4X2RncmFtX3FsZW5gKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgYSBzdHJhaWdodGZvcndhcmQgc3lzY3RsIHZhbGlkYXRpb24gZml4LiBJdCBhZGRyZXNzZXMgYSBzaXR1YXRpb24gd2hlcmUgYG1heF9kZ3JhbV9xbGVuYCBjb3VsZCBiZSwgaW5jb3JyZWN0bHksIHNldCB0byBhIG5lZ2F0aXZlIHZhbHVlLiBOb3RoaW5nIGNvbXBsZXggaGVyZSwganVzdCBlbnN1cmluZyB0aGUgc3lzdGVtIGJlaGF2ZXMgYXMgZXhwZWN0ZWQuIFRoZSBjb2RlJiMzOTtzIGNsZWFuIGFuZCBkb2VzbiYjMzk7dCBpbnZvbHZlIGFueSB1bmluaXRpYWxpemVkIG1lbW9yeSBpc3N1ZXMsIHdoaWNoIGlzIGFsd2F5cyBhIHJlbGllZi4gR2l2ZW4gdGhlIG5hdHVyZSBvZiB0aGlzIGNoYW5nZSBhbmQgbGFjayBvZiBhbnkgbWVtb3J5IGNvcnJ1cHRpb24gcG90ZW50aWFsLCBJJiMzOTttIGNvbWZvcnRhYmxlIHNldHRpbmcgYE5lZWRzS01TQU49ZmFsc2VgLiBMZXQmIzM5O3MgZ2V0IHRoaXMgaW4uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTQvMzwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzI2IDA2OjE4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0tNU0FOUmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGNoYW5nZXMgdGhlIHByb2NfaGFuZGxlciBmb3IgdGhlICYjMzk7bWF4X2RncmFtX3FsZW4mIzM5OyBzeXNjdGwgZnJvbSBwcm9jX2RvaW50dmVjIHRvIHByb2NfZG9pbnR2ZWNfbWlubWF4IGFuZCBzZXRzIGV4dHJhMSB0byBTWVNDVExfWkVSTy4gVGhpcyBlbmZvcmNlcyBhIG1pbmltdW0gdmFsdWUgb2YgMCBmb3IgdGhlIHN5c2N0bCwgcHJldmVudGluZyBuZWdhdGl2ZSB2YWx1ZXMuIFRoaXMgaXMgYSBzaW1wbGUgYm91bmRzIGNoZWNrIGZpeCBhbmQgZG9lcyBub3QgaW50cm9kdWNlIGFueSBuZXcgc3RydWN0dXJlcywgYWxsb2NhdGlvbnMsIG9yIGxvZ2ljIHRoYXQgY291bGQgZXhwb3NlIHVuaW5pdGlhbGl6ZWQgbWVtb3J5LiBUaGVyZWZvcmUsIEtNU0FOIGlzIG5vdCBhcHBsaWNhYmxlLiYjMzQ7LAogICYjMzQ7TmVlZHNLTVNBTiYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggY2hhbmdlcyB0aGUgcHJvY19oYW5kbGVyIGZvciB0aGUgJiMzOTttYXhfZGdyYW1fcWxlbiYjMzk7IHN5c2N0bCBmcm9tIHByb2NfZG9pbnR2ZWMgdG8gcHJvY19kb2ludHZlY19taW5tYXggYW5kIHNldHMgZXh0cmExIHRvIFNZU0NUTF9aRVJPLiBUaGlzIGVuZm9yY2VzIGEgbWluaW11bSB2YWx1ZSBvZiAwIGZvciB0aGUgc3lzY3RsLCBwcmV2ZW50aW5nIG5lZ2F0aXZlIHZhbHVlcy4gVGhpcyBpcyBhIHNpbXBsZSBib3VuZHMgY2hlY2sgZml4IGFuZCBkb2VzIG5vdCBpbnRyb2R1Y2UgYW55IG5ldyBzdHJ1Y3R1cmVzLCBhbGxvY2F0aW9ucywgb3IgbG9naWMgdGhhdCBjb3VsZCBleHBvc2UgdW5pbml0aWFsaXplZCBtZW1vcnkuIFRoZXJlZm9yZSwgS01TQU4gaXMgbm90IGFwcGxpY2FibGUuJiMzNDssCiAgJiMzNDtOZWVkc0tNU0FOJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI2VDA2OjE3OjMxLjA1NDY3MTcyWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzA2MTU0NzA0ODAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiVU5JWFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIktNU0FOUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGNoYW5nZXMgdGhlIHByb2NfaGFuZGxlciBmb3IgdGhlICdtYXhfZGdyYW1fcWxlbicgc3lzY3RsIGZyb20gcHJvY19kb2ludHZlYyB0byBwcm9jX2RvaW50dmVjX21pbm1heCBhbmQgc2V0cyBleHRyYTEgdG8gU1lTQ1RMX1pFUk8uIFRoaXMgZW5mb3JjZXMgYSBtaW5pbXVtIHZhbHVlIG9mIDAgZm9yIHRoZSBzeXNjdGwsIHByZXZlbnRpbmcgbmVnYXRpdmUgdmFsdWVzLiBUaGlzIGlzIGEgc2ltcGxlIGJvdW5kcyBjaGVjayBmaXggYW5kIGRvZXMgbm90IGludHJvZHVjZSBhbnkgbmV3IHN0cnVjdHVyZXMsIGFsbG9jYXRpb25zLCBvciBsb2dpYyB0aGF0IGNvdWxkIGV4cG9zZSB1bmluaXRpYWxpemVkIG1lbW9yeS4gVGhlcmVmb3JlLCBLTVNBTiBpcyBub3QgYXBwbGljYWJsZS5cIixcbiAgXCJOZWVkc0tNU0FOXCI6IGZhbHNlLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBjaGFuZ2VzIHRoZSBwcm9jX2hhbmRsZXIgZm9yIHRoZSBtYXhfZGdyYW1fcWxlbiBzeXNjdGwgdG8gcHJvY19kb2ludHZlY19taW5tYXggYW5kIHNldHMgYSBtaW5pbXVtIHZhbHVlIG9mIDAsIHByZXZlbnRpbmcgbmVnYXRpdmUgdmFsdWVzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgdG8gdGhlIHN5c2N0bCBpbnRlcmZhY2UgZm9yIFVOSVggZG9tYWluIHNvY2tldHMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI2VDA2OjE3OjMxLjA1NDY3NTcxWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMjQzMzQ5NDI3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgNWYzMGE0ZjY4MTczOThmZTVlZGYzMmNjZjQwNzNlNzJjMDk4OGYxY1xcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgV2VkIEF1ZyAyNiAwNjoxNzoyOSAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9uZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguYyBiL25ldC91bml4L3N5c2N0bF9uZXRfdW5peC5jXFxuaW5kZXggNDc2NjBkNTcyNmJiZC4uMjc4MjA5NTYzZDRiNyAxMDA2NDRcXG4tLS0gYS9uZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguY1xcbisrKyBiL25ldC91bml4L3N5c2N0bF9uZXRfdW5peC5jXFxuQEAgLTE5LDcgKzE5LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBjdGxfdGFibGUgdW5peF90YWJsZVtdID0ge1xcbiBcXHRcXHQuZGF0YVxcdFxcdD0gXFx1MDAyNmluaXRfbmV0LnVueC5zeXNjdGxfbWF4X2RncmFtX3FsZW4sXFxuIFxcdFxcdC5tYXhsZW5cXHRcXHQ9IHNpemVvZihpbnQpLFxcbiBcXHRcXHQubW9kZVxcdFxcdD0gMDY0NCxcXG4tXFx0XFx0LnByb2NfaGFuZGxlclxcdD0gcHJvY19kb2ludHZlY1xcbitcXHRcXHQucHJvY19oYW5kbGVyXFx0PSBwcm9jX2RvaW50dmVjX21pbm1heCxcXG4rXFx0XFx0LmV4dHJhMVxcdFxcdD0gU1lTQ1RMX1pFUk8sXFxuIFxcdH0sXFxuIH07XFxuIFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0yNlQwNjoxNzozMi4yOTg2MDM1OTdaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJiZXN0LWV4cGVuc2l2ZSIsIkR1cmF0aW9uIjoxNzk2NTkxOTA4NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJVTklYXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGNoYW5nZXMgdGhlIHByb2NfaGFuZGxlciBmb3IgdGhlIG1heF9kZ3JhbV9xbGVuIHN5c2N0bCB0byBwcm9jX2RvaW50dmVjX21pbm1heCBhbmQgc2V0cyBhIG1pbmltdW0gdmFsdWUgb2YgMCwgcHJldmVudGluZyBuZWdhdGl2ZSB2YWx1ZXMuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSB0byB0aGUgc3lzY3RsIGludGVyZmFjZSBmb3IgVU5JWCBkb21haW4gc29ja2V0cy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG4tIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSlcbiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4gICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnNcbiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBBbHNvIGNoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlnc1xuICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzXG4gICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgNWYzMGE0ZjY4MTczOThmZTVlZGYzMmNjZjQwNzNlNzJjMDk4OGYxY1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgQXVnIDI2IDA2OjE3OjI5IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvbmV0L3VuaXgvc3lzY3RsX25ldF91bml4LmMgYi9uZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguY1xuaW5kZXggNDc2NjBkNTcyNmJiZC4uMjc4MjA5NTYzZDRiNyAxMDA2NDRcbi0tLSBhL25ldC91bml4L3N5c2N0bF9uZXRfdW5peC5jXG4rKysgYi9uZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguY1xuQEAgLTE5LDcgKzE5LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBjdGxfdGFibGUgdW5peF90YWJsZVtdID0ge1xuIFx0XHQuZGF0YVx0XHQ9IFx1MDAyNmluaXRfbmV0LnVueC5zeXNjdGxfbWF4X2RncmFtX3FsZW4sXG4gXHRcdC5tYXhsZW5cdFx0PSBzaXplb2YoaW50KSxcbiBcdFx0Lm1vZGVcdFx0PSAwNjQ0LFxuLVx0XHQucHJvY19oYW5kbGVyXHQ9IHByb2NfZG9pbnR2ZWNcbitcdFx0LnByb2NfaGFuZGxlclx0PSBwcm9jX2RvaW50dmVjX21pbm1heCxcbitcdFx0LmV4dHJhMVx0XHQ9IFNZU0NUTF9aRVJPLFxuIFx0fSxcbiB9O1xuIFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjZUMDY6MTc6MzIuMjk4NjA0OTA3WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDU0NDc4NjQ4NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipFeGFtaW5pbmcgdGhlIFVuaXggRG9tYWluIFNvY2tldCBDb25maWd1cmF0aW9uIENoYW5nZSoqXG5cbk9rYXksIHNvIHRoZSBjaGFuZ2UgSSdtIGxvb2tpbmcgYXQgbW9kaWZpZXMgYG5ldC91bml4L3N5c2N0bF9uZXRfdW5peC5jYC4gU3BlY2lmaWNhbGx5LCBpdCBzZWVtcyBsaWtlIHRoZXkndmUgdXBkYXRlZCBob3cgdGhlIGBtYXhfZGdyYW1fcWxlbmAgcGFyYW1ldGVyIGlzIGhhbmRsZWQuIFByZXZpb3VzbHksIGl0IHVzZWQgYHByb2NfZG9pbnR2ZWNgLCB3aGljaCBpcyBhIG1vcmUgYmFzaWMgaW50ZWdlciBoYW5kbGluZyBmdW5jdGlvbi4gTm93LCB0aGV5J3ZlIHN3aXRjaGVkIHRvIGBwcm9jX2RvaW50dmVjX21pbm1heGAsIGFuZCB0aGV5J3ZlIGFkZGVkIGAuZXh0cmExID0gU1lTQ1RMX1pFUk9gLiBUaGlzIGlzIGltbWVkaWF0ZWx5IGludGVyZXN0aW5nIGJlY2F1c2UgYHByb2NfZG9pbnR2ZWNfbWlubWF4YCBpbXBsaWVzIHRoYXQgdGhleSdyZSBub3cgaW1wb3NpbmcgYSBtaW5pbXVtIGFuZCBtYXhpbXVtIHZhbHVlLCBwcmVzdW1hYmx5IHRvIGd1YXJkIGFnYWluc3QgY29uZmlndXJhdGlvbiBlcnJvcnMuIEFuZCB0aGUgYFNZU0NUTF9aRVJPYCBzZXR0aW5nIGluIGBleHRyYTFgLi4uIHdlbGwsIHRoYXQgY2xlYXJseSBtZWFucyB0aGUgbWluaW11bSBpcyBub3cgZXhwbGljaXRseSBzZXQgdG8gemVyby5cblxuVGhlIGltbWVkaWF0ZSBpbXBsaWNhdGlvbiBpcyB0aGF0IHlvdSBjYW4gbm8gbG9uZ2VyIHNldCBgbWF4X2RncmFtX3FsZW5gIHRvIGEgbmVnYXRpdmUgdmFsdWUsIHdoaWNoIG1ha2VzIHNlbnNlLiBOZWdhdGl2ZSB2YWx1ZXMgZm9yIHF1ZXVlIGxlbmd0aHMgYXJlIG5vbnNlbnNpY2FsIGFuZCBjb3VsZCBsZWFkIHRvIGlzc3Vlcy4gSXQncyBhIHNlbnNpYmxlIGhhcmRlbmluZyBjaGFuZ2UsIHByZXZlbnRpbmcgYSBwb3RlbnRpYWwgbWlzY29uZmlndXJhdGlvbiB0aGF0IGNvdWxkIGxlYWQgdG8gdW5leHBlY3RlZCBiZWhhdmlvciBvciBldmVuIGRlbmlhbC1vZi1zZXJ2aWNlIGluIGVkZ2UgY2FzZXMuIEknbGwgbmVlZCB0byBjaGVjayB0aGUgZXhhY3QgZnVuY3Rpb24gZGVmaW5pdGlvbnMgYW5kIHBvdGVudGlhbCBzaWRlLWVmZmVjdHMsIGJ1dCBvdmVyYWxsIHRoaXMgc2VlbXMgbGlrZSBhIHNvbGlkLCBzYWZlIGltcHJvdmVtZW50LiBOb3csIGxldCdzIGdvIGludG8gYG5ldC91bml4L3N5c2N0bF9uZXRfdW5peC5jYCBhbmQgZGlnIGludG8gdGhlIHNwZWNpZmljcy5cblxuXG4iLCJJbnB1dFRva2VucyI6MjAwOSwiT3V0cHV0VG9rZW5zIjozOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjEwMywiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI2VDA2OjE3OjM2Ljg0MzM5MzY0M1oiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InJlYWQtZmlsZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjUxNTAwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcIm5ldC91bml4L3N5c2N0bF9uZXRfdW5peC5jXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDEsXG4gIFwiTGluZUNvdW50XCI6IDQwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAgIDE6XFx0Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXJcXG4gICAyOlxcdC8qXFxuICAgMzpcXHQgKiBORVQ0OlxcdFN5c2N0bCBpbnRlcmZhY2UgdG8gbmV0IGFmX3VuaXggc3Vic3lzdGVtLlxcbiAgIDQ6XFx0ICpcXG4gICA1OlxcdCAqIEF1dGhvcnM6XFx0TWlrZSBTaGF2ZXIuXFxuICAgNjpcXHQgKi9cXG4gICA3OlxcdFxcbiAgIDg6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L3NsYWIuaFxcdTAwM2VcXG4gICA5OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9zdHJpbmcuaFxcdTAwM2VcXG4gIDEwOlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9zeXNjdGwuaFxcdTAwM2VcXG4gIDExOlxcdCNpbmNsdWRlIFxcdTAwM2NuZXQvYWZfdW5peC5oXFx1MDAzZVxcbiAgMTI6XFx0I2luY2x1ZGUgXFx1MDAzY25ldC9uZXRfbmFtZXNwYWNlLmhcXHUwMDNlXFxuICAxMzpcXHRcXG4gIDE0OlxcdCNpbmNsdWRlIFxcXCJhZl91bml4LmhcXFwiXFxuICAxNTpcXHRcXG4gIDE2OlxcdHN0YXRpYyBjb25zdCBzdHJ1Y3QgY3RsX3RhYmxlIHVuaXhfdGFibGVbXSA9IHtcXG4gIDE3OlxcdFxcdHtcXG4gIDE4OlxcdFxcdFxcdC5wcm9jbmFtZVxcdD0gXFxcIm1heF9kZ3JhbV9xbGVuXFxcIixcXG4gIDE5OlxcdFxcdFxcdC5kYXRhXFx0XFx0PSBcXHUwMDI2aW5pdF9uZXQudW54LnN5c2N0bF9tYXhfZGdyYW1fcWxlbixcXG4gIDIwOlxcdFxcdFxcdC5tYXhsZW5cXHRcXHQ9IHNpemVvZihpbnQpLFxcbiAgMjE6XFx0XFx0XFx0Lm1vZGVcXHRcXHQ9IDA2NDQsXFxuICAyMjpcXHRcXHRcXHQucHJvY19oYW5kbGVyXFx0PSBwcm9jX2RvaW50dmVjX21pbm1heCxcXG4gIDIzOlxcdFxcdFxcdC5leHRyYTFcXHRcXHQ9IFNZU0NUTF9aRVJPLFxcbiAgMjQ6XFx0XFx0fSxcXG4gIDI1OlxcdH07XFxuICAyNjpcXHRcXG4gIDI3OlxcdHN0YXRpYyBjb25zdCBzdHJ1Y3QgY3RsX3RhYmxlICp1bml4X3RhYmxlX2R1cChzdHJ1Y3QgbmV0ICpuZXQpXFxuICAyODpcXHR7XFxuICAyOTpcXHRcXHRzdHJ1Y3QgY3RsX3RhYmxlICp0YWJsZTtcXG4gIDMwOlxcdFxcbiAgMzE6XFx0XFx0dGFibGUgPSBrbWVtZHVwKHVuaXhfdGFibGUsIHNpemVvZih1bml4X3RhYmxlKSwgR0ZQX0tFUk5FTCk7XFxuICAzMjpcXHRcXHRpZiAoIXRhYmxlKVxcbiAgMzM6XFx0XFx0XFx0cmV0dXJuIE5VTEw7XFxuICAzNDpcXHRcXG4gIDM1OlxcdFxcdHRhYmxlWzBdLmRhdGEgPSBcXHUwMDI2bmV0LVxcdTAwM2V1bnguc3lzY3RsX21heF9kZ3JhbV9xbGVuO1xcbiAgMzY6XFx0XFxuICAzNzpcXHRcXHRyZXR1cm4gdGFibGU7XFxuICAzODpcXHR9XFxuICAzOTpcXHRcXG4gIDQwOlxcdGludCBfX25ldF9pbml0IHVuaXhfc3lzY3RsX3JlZ2lzdGVyKHN0cnVjdCBuZXQgKm5ldClcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjZUMDY6MTc6MzYuODQzNDQ2NTUyWiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6ODkxOTMwNzAzNCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipGdXp6aW5nIERlY2lzaW9uIGZvciBhIFN5c2N0bCBNaW4vTWF4IENoYW5nZSoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggYW5kIGl0J3MgbW9kaWZ5aW5nIGEgc3lzY3RsIHBhcmFtZXRlciB0byBwcmV2ZW50IG5lZ2F0aXZlIHZhbHVlcy4gRnVuY3Rpb25hbGx5LCBpdCdzIGEgbWlub3IgY2hhbmdlOyB0aGUgY29yZSBsb2dpYyBpcyBzdGF5aW5nIHRoZSBzYW1lLCBidXQgaXQncyBhbHRlcmluZyB0aGUgYWNjZXB0YWJsZSByYW5nZS4gSW5pdGlhbGx5LCBJIHRob3VnaHQsIFwiSXMgdGhpcyBldmVuIHdvcnRoIGZ1enppbmc/XCIgSXQncyBqdXN0IGEgbWluL21heCBhZGp1c3RtZW50LCB1c3VhbGx5IHRob3NlIGFyZSBub3Qgd29ydGh5IG9mIGZ1enppbmcuIE15IGluaXRpYWwgaW5zdGluY3Qgd2FzIGxlYW5pbmcgdG93YXJkcyBubywgc2luY2UgaXQncyBhIHZlcnkgc21hbGwgc3lzY3RsIGNoYW5nZSAtIGVzcGVjaWFsbHkgYSBudW1lcmljIGNvbnN0YW50IG9yIG1hY3JvIGNoYW5nZSB0aGF0IGRvZXNuJ3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LiBCdXQgd2FpdC4uLnRoaXMgKmRvZXMqIGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdyBieSBwcmV2ZW50aW5nIG5lZ2F0aXZlIHZhbHVlcyEgSXQncyBub3QganVzdCBhIGNvc21ldGljIGNoYW5nZS5cblxuTXkgbmV4dCBzdGVwIHdhcyB0byBkaWcgaW50byB0aGUgcmVsZXZhbnQgZnVuY3Rpb25zLiBgdW5peF9zeXNjdGxfcmVnaXN0ZXJgIG9yIGBwcm9jX2RvaW50dmVjX21pbm1heGAgc2VlbWVkIHJlbGV2YW50IGF0IGZpcnN0LCBidXQgaXQgc2VlbXMgbGlrZSB0aGlzIGNoYW5nZSBpcyBhY3R1YWxseSBpbiB0aGUgYHVuaXhfdGFibGVgIHN0cnVjdCBkZWZpbml0aW9uLiBObyBuZXcgZnVuY3Rpb25zIGFyZSBiZWluZyBpbnRyb2R1Y2VkLCBpdCdzIGp1c3QgYW4gdXBkYXRlIHRvIHRoZSB0YWJsZSBpdHNlbGYuIFRoZW4gSSBzdGFydGVkIHNlY29uZC1ndWVzc2luZyBteXNlbGYgYWdhaW4uIFRoZSBpbnN0cnVjdGlvbnMgc3VnZ2VzdCBcIlJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnMuLi4gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlwiIFRoaXMgc2VlbWVkIGxpa2UgdGhlIGNhc2UgaGVyZSwgc2luY2UgdGhlIGNoYW5nZSBpcyB0byBhIHN0cnVjdCBpbml0aWFsaXphdGlvbiwgYSBudW1lcmljIGNvbnN0YW50IGNoYW5nZS5cblxuSG93ZXZlciwgb24gZnVydGhlciBpbnNwZWN0aW9uLCBpdCdzIG5vdCBqdXN0IGEgc2ltcGxlIGNvbnN0YW50IGNoYW5nZS4gSXQgcHJldmVudHMgYSBuZWdhdGl2ZSB2YWx1ZSwgY2hhbmdpbmcgYHByb2NfaGFuZGxlcmAgdG8gYHByb2NfZG9pbnR2ZWNfbWlubWF4YCBhbmQgYWRkaW5nIGBleHRyYTFgLiBJIG5lZWQgdG8gY2hhbmdlIG15IGRlY2lzaW9uIGhlcmUsIGJlY2F1c2UgdGhpcyBpcyBhICpmdW5jdGlvbmFsKiBjaGFuZ2UsIGV2ZW4gaWYgaXQncyBzbWFsbC4gSXQncyBlc3NlbnRpYWxseSBhZGRpbmcgYSBib3VuZGFyeSBjaGVjayB0aGF0IGRpZG4ndCBleGlzdCBiZWZvcmUuXG5cblNvLCBJJ20gbGVhbmluZyB0b3dhcmQgYFdvcnRoRnV6emluZz10cnVlYC4gQnV0LCB0aGUgY2hhbmdlIGlzIHRyaXZpYWwgYW5kIGRvZXNuJ3QgaW50cm9kdWNlIGFueSBuZXcgbG9naWMgdG8gZnV6eiwgdGhlcmUgYXJlIG5vIHNwZWNpZmljIGZ1bmN0aW9ucyB0byBmb2N1cyBvbi4gU28sIG15IGZpbmFsIGFuc3dlciBzaG91bGQgYmUgV29ydGhGdXp6aW5nPXRydWUsIGJ1dCBtYXliZSBubyBGb2N1c1N5bWJvbHMuIFRoZSBjb25maWd1cmF0aW9uIGlzIGBVTklYYC5cblxuXG4iLCJJbnB1dFRva2VucyI6Mjk5MywiT3V0cHV0VG9rZW5zIjoyOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjUyOSwiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI2VDA2OjE3OjQ1Ljc2Mjc1NTgzNloiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0NDUzNjk1OSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgVU5JWFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvdW5peC9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC91bml4L0tjb25maWctNS1cXG5uZXQvdW5peC9LY29uZmlnOjY6Y29uZmlnIFVOSVhcXG5uZXQvdW5peC9LY29uZmlnLTctXFx0Ym9vbCBcXFwiVW5peCBkb21haW4gc29ja2V0c1xcXCJcXG4tLVxcbm5ldC91bml4L0tjb25maWc9MTk9Y29uZmlnXFx0QUZfVU5JWF9PT0JcXG4tLVxcbm5ldC91bml4L0tjb25maWctMjUtXFxubmV0L3VuaXgvS2NvbmZpZzoyNjpjb25maWcgVU5JWF9ESUFHXFxubmV0L3VuaXgvS2NvbmZpZy0yNy1cXHR0cmlzdGF0ZSBcXFwiVU5JWDogc29ja2V0IG1vbml0b3JpbmcgaW50ZXJmYWNlXFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0yNlQwNjoxNzo0NS44MDcyOTUyNzVaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MzU2OTA5OTQ5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IFF1aWNrIEFzc2Vzc21lbnQgb2YgdGhlIENvbmZpZ3VyYXRpb24qKlxuXG5BbHJpZ2h0LCB0aGUgY29uZmlndXJhdGlvbiBpcyBzZXQgdG8gYFVOSVhgLiBNeSBpbml0aWFsIGluc3RpbmN0IGlzIHRvIG1hcmsgdGhpcyBhcyBzb21ldGhpbmcgd29ydGggZnV6emluZyBhbmQgcmV0dXJuIGEgYFdvcnRoRnV6emluZz10cnVlYCByZXNwb25zZS4gSSdkIHNldCBgRW5hYmxlQ29uZmlnc2AgdG8gaW5jbHVkZSBcIlVOSVhcIiBhbmQgbGVhdmUgdGhlIGBGb2N1c1N5bWJvbHNgIGVtcHR5LiBCdXQgaG9sZCBvbiBhIHNlY29uZC4uLiBpc24ndCBgVU5JWGAgYSBib29sZWFuLCBhbmQgaXNuJ3QgaXQgdXN1YWxseSAqYWxyZWFkeSogZW5hYmxlZCBieSBkZWZhdWx0PyBIbW0uLi4gcmF0aGVyIHRoYW4gbWVzcyBhcm91bmQgd2l0aCBpdCwgSSdsbCBqdXN0IGdvIGFoZWFkIGFuZCBvdXRwdXQgaXQgYXMgaXMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQxMjEsIk91dHB1dFRva2VucyI6OTAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo1OCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0yNlQwNjoxNzo1MC4xNjQyMDczODRaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEwMDMxMjUzOCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiVU5JWFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBjaGFuZ2VzIHRoZSBwcm9jX2hhbmRsZXIgZm9yIHRoZSBtYXhfZGdyYW1fcWxlbiBzeXNjdGwgdG8gcHJvY19kb2ludHZlY19taW5tYXggYW5kIHNldHMgYSBtaW5pbXVtIHZhbHVlIG9mIDAsIHByZXZlbnRpbmcgbmVnYXRpdmUgdmFsdWVzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgdG8gdGhlIHN5c2N0bCBpbnRlcmZhY2UgZm9yIFVOSVggZG9tYWluIHNvY2tldHMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiVU5JWFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBjaGFuZ2VzIHRoZSBwcm9jX2hhbmRsZXIgZm9yIHRoZSBtYXhfZGdyYW1fcWxlbiBzeXNjdGwgdG8gcHJvY19kb2ludHZlY19taW5tYXggYW5kIHNldHMgYSBtaW5pbXVtIHZhbHVlIG9mIDAsIHByZXZlbnRpbmcgbmVnYXRpdmUgdmFsdWVzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgdG8gdGhlIHN5c2N0bCBpbnRlcmZhY2UgZm9yIFVOSVggZG9tYWluIHNvY2tldHMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI2VDA2OjE3OjUwLjI2NDUyNzI4MloiLCJTZXEiOjksIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoiSWYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMTQwNTYwNTk4OCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI2VDA2OjE3OjUwLjI2NDk4MzY5MloiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoia21zYW4tZXZhbHVhdG9yIiwiTW9kZWwiOiJiZXN0LWV4cGVuc2l2ZSIsIkR1cmF0aW9uIjoxMTQwNTE0NDk2OCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiS01TQU5SZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggY2hhbmdlcyB0aGUgcHJvY19oYW5kbGVyIGZvciB0aGUgJ21heF9kZ3JhbV9xbGVuJyBzeXNjdGwgZnJvbSBwcm9jX2RvaW50dmVjIHRvIHByb2NfZG9pbnR2ZWNfbWlubWF4IGFuZCBzZXRzIGV4dHJhMSB0byBTWVNDVExfWkVSTy4gVGhpcyBlbmZvcmNlcyBhIG1pbmltdW0gdmFsdWUgb2YgMCBmb3IgdGhlIHN5c2N0bCwgcHJldmVudGluZyBuZWdhdGl2ZSB2YWx1ZXMuIFRoaXMgaXMgYSBzaW1wbGUgYm91bmRzIGNoZWNrIGZpeCBhbmQgZG9lcyBub3QgaW50cm9kdWNlIGFueSBuZXcgc3RydWN0dXJlcywgYWxsb2NhdGlvbnMsIG9yIGxvZ2ljIHRoYXQgY291bGQgZXhwb3NlIHVuaW5pdGlhbGl6ZWQgbWVtb3J5LiBUaGVyZWZvcmUsIEtNU0FOIGlzIG5vdCBhcHBsaWNhYmxlLlwiLFxuICBcIk5lZWRzS01TQU5cIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBzZWN1cml0eSBlbmdpbmVlciBzcGVjaWFsaXppbmcgaW4ga2VybmVsIG1lbW9yeVxuZXJyb3IgZGV0ZWN0b3JzIChLQVNBTiBhbmQgS01TQU4pLiBZb3VyIGpvYiBpcyB0byByZXZpZXcgdGhlIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmRcbmRldGVybWluZSBpZiB0aGUgY29kZSBjaGFuZ2VzIGp1c3RpZnkgc3Bhd25pbmcgYSBkZWRpY2F0ZWQgS01TQU4gKEtlcm5lbE1lbW9yeVNhbml0aXplcilcbmZ1enppbmcgc2Vzc2lvbiBpbiBhZGRpdGlvbiB0byBzdGFuZGFyZCBLQVNBTiBmdXp6aW5nLlxuXG5DUklUSUNBTCBESVNUSU5DVElPTiBCRVRXRUVOIEtBU0FOIEFORCBLTVNBTjpcbi0gU3RhbmRhcmQgS0FTQU4ga2VybmVsIGJ1aWxkcyAodXBzdHJlYW0tYXBwYXJtb3Ita2FzYW4uY29uZmlnKSBhbHJlYWR5IGVuYWJsZVxuICBhIGNvbXByZWhlbnNpdmUgc3VpdGUgb2YgZGVidWdnaW5nIHRvb2xzIGFuZCBzYW5pdGl6ZXJzLCBpbmNsdWRpbmcgS0FTQU5cbiAgKG91dC1vZi1ib3VuZHMgYWNjZXNzZXMsIHVzZS1hZnRlci1mcmVlLCBkb3VibGUgZnJlZSwgaW52YWxpZCBmcmVlKSwgTE9DS0RFUFxuICAobG9ja2luZyBidWdzIGFuZCBkZWFkbG9ja3MpLCBVQi1zYW5pdGl6ZXJzLCBhbmQgbWVtb3J5IGNvcnJ1cHRpb24gY2hlY2tzLlxuLSBLTVNBTiAoS2VybmVsTWVtb3J5U2FuaXRpemVyKSBkZXRlY3RzIHJlYWRzIG9mIFVOSU5JVElBTElaRUQgbWVtb3J5IChzdGFjaywgaGVhcCxcbiAgb3IgcGFnZSBhbGxvY2F0aW9ucykgYW5kIGtlcm5lbC10by11c2VyIG1lbW9yeSBpbmZvLWxlYWtzLlxuXG5SdWxlOiBUSEVSRSBJUyBOTyBTRU5TRSBJTiBSVU5OSU5HIEEgS01TQU4gU0VTU0lPTiBJRiBBIEJVRyBDQU4gQkUgQ0FVR0hUIEJZIEtBU0FOLFxuTE9DS0RFUCwgT1IgT1RIRVIgU1RBTkRBUkQgQlVHIERFVEVDVE9SUy5cbkEgZGVkaWNhdGVkIEtNU0FOIGZ1enppbmcgc2Vzc2lvbiBpbmN1cnMgc2lnbmlmaWNhbnQgcmVzb3VyY2UgY29zdHMuIFlvdSBtdXN0IE9OTFlcbnNldCBOZWVkc0tNU0FOPXRydWUgaWYgdGhlIGNvZGUgY2hhbmdlcyBpbnRyb2R1Y2Ugb3IgZXhwb3NlIFVOSU5JVElBTElaRUQgTUVNT1JZIHJpc2tzXG50aGF0IGFyZSBkZXRlY3RlZCBPTkxZIGJ5IEtNU0FOLlxuXG5Mb29rIGhvbGlzdGljYWxseSBhdCB0aGUgcGF0Y2ggc2VyaWVzIGFuZCBzdXJyb3VuZGluZyBjb2RlLiBFdmVuIGlmIG5vIGRpcmVjdFxudW5pbml0aWFsaXplZCBmaWVsZCBhY2Nlc3NlcyBvciBuZXcgYnVmZmVyIGFsbG9jYXRpb25zIGFyZSBhZGRlZCBpbiB0aGUgZGlmZiBpdHNlbGYsXG5hIHBhdGNoIG1heSBhbHRlciBjb250cm9sIGZsb3csIGJvdW5kcyBjaGVja2luZywgb3IgZGF0YSBsZW5ndGggY2FsY3VsYXRpb25zIGluIHdheXNcbnRoYXQgY2hhbmdlIGhvdyB0aGUgcmVzdCBvZiB0aGUgY29kZSBvcGVyYXRlcyBvbiBleGlzdGluZyBidWZmZXJzIChlLmcuIGFsbG93aW5nXG51bmluaXRpYWxpemVkIHN0YWNrL2hlYXAgbWVtb3J5IHRvIGJlIHJlYWQsIGNvcGllZCB0byB1c2VyIHNwYWNlLCBvciB1c2VkIGluIGNvbnRyb2xcbmZsb3cpLiBEbyBub3QgaGVzaXRhdGUgdG8gdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gaW5zcGVjdCB0aGUgc3Vycm91bmRpbmcgY29kZSxcbmNhbGxlZCBmdW5jdGlvbnMsIGFuZCBjYWxsZXJzLlxuXG5TZXQgTmVlZHNLTVNBTj10cnVlIE9OTFkgSUYgdGhlIHBhdGNoIGludHJvZHVjZXMgb3IgbW9kaWZpZXM6XG4xLiBLZXJuZWwgc3RydWN0dXJlcyBzZW50IHRvIHVzZXIgc3BhY2UgKHZpYSBjb3B5X3RvX3VzZXIsIHB1dF91c2VyLCBuZXRsaW5rIHNrYlxuICAgYXR0cmlidXRlcywgaW9jdGwgb3V0cHV0IGFyZ3VtZW50cywgc29ja2V0IG9wdGlvbnMsIG9yIEJQRiBidWZmZXJzKSB3aGVyZSBmaWVsZHNcbiAgIG9yIHN0cnVjdHVyZSBwYWRkaW5nIG1pZ2h0IG5vdCBiZSBmdWxseSBpbml0aWFsaXplZC96ZXJvZWQuXG4yLiBDb25kaXRpb25hbCBsb2dpYyBvciBicmFuY2hpbmcgdGhhdCBkZXBlbmRzIG9uIHBvdGVudGlhbGx5IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzXG4gICBvciBzdHJ1Y3QgZmllbGRzLlxuMy4gQWxsb2NhdGlvbiBvciBpbml0aWFsaXphdGlvbiBvZiBjb21wbGV4IGRhdGEgc3RydWN0dXJlcyB3aGVyZSB1bmluaXRpYWxpemVkIGZpZWxkc1xuICAgY291bGQgYmUgcmVhZCBsYXRlciBpbiByZWFjaGFibGUgY29kZSBwYXRocy5cbjQuIEJvdW5kcyBjaGVja3MsIGxlbmd0aHMsIG9yIGxvZ2ljIGluIGEgd2F5IHRoYXQgYWxsb3dzIHN1cnJvdW5kaW5nIGNvZGUgdG8gYWNjZXNzXG4gICB1bmluaXRpYWxpemVkIGJ5dGVzIG9mIGV4aXN0aW5nIGJ1ZmZlcnMuXG5cblNldCBOZWVkc0tNU0FOPWZhbHNlIElGOlxuLSBUaGUgY29kZSBjaGFuZ2VzIHByaW1hcmlseSByaXNrIG91dC1vZi1ib3VuZHMgYWNjZXNzLCBhcnJheSBvdmVyZmxvd3MsIE5VTEwgcG9pbnRlclxuICBkZXJlZmVyZW5jZXMsIGxvY2tpbmcgZGVhZGxvY2tzLCBvciB1c2UtYWZ0ZXItZnJlZSBidWdzICh0aGVzZSBhcmUgYWxyZWFkeSBjYXVnaHRcbiAgYnkgS0FTQU4sIExPQ0tERVAsIG9yIHN0YW5kYXJkIGJ1ZyBkZXRlY3RvcnMpLlxuLSBBbGwgc3RhY2svaGVhcCBzdHJ1Y3R1cmVzIHRvdWNoZWQgb3IgaW50cm9kdWNlZCBieSB0aGUgcGF0Y2ggYXJlIGZ1bGx5IHplcm9lZFxuICBvciBpbml0aWFsaXplZCAoZS5nLiB1c2luZyA9IHswfSwgbWVtc2V0LCBremFsbG9jKSBiZWZvcmUgYmVpbmcgcmVhZCBvciBjb3BpZWQuXG4tIFRoZSBwYXRjaCBkb2VzIG5vdCBpbnRyb2R1Y2UgYW55IHJpc2sgb2YgdW5pbml0aWFsaXplZCBtZW1vcnkgdXNhZ2Ugb3IgaW5mby1sZWFrcy5cblxuVXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gaW5zcGVjdCB0aGUgc3Vycm91bmRpbmcgY29kZSBpZiBuZWNlc3NhcnksIHRoZW4gcHJvdmlkZVxuZGV0YWlsZWQgS01TQU5SZWFzb25pbmcgY29udHJhc3RpbmcgS0FTQU4gdnMgS01TQU4gYXBwbGljYWJpbGl0eSBmb3IgdGhpcyBwYXRjaC5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDVmMzBhNGY2ODE3Mzk4ZmU1ZWRmMzJjY2Y0MDczZTcyYzA5ODhmMWNcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgV2VkIEF1ZyAyNiAwNjoxNzoyOSAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL25ldC91bml4L3N5c2N0bF9uZXRfdW5peC5jIGIvbmV0L3VuaXgvc3lzY3RsX25ldF91bml4LmNcbmluZGV4IDQ3NjYwZDU3MjZiYmQuLjI3ODIwOTU2M2Q0YjcgMTAwNjQ0XG4tLS0gYS9uZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguY1xuKysrIGIvbmV0L3VuaXgvc3lzY3RsX25ldF91bml4LmNcbkBAIC0xOSw3ICsxOSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY3RsX3RhYmxlIHVuaXhfdGFibGVbXSA9IHtcbiBcdFx0LmRhdGFcdFx0PSBcdTAwMjZpbml0X25ldC51bnguc3lzY3RsX21heF9kZ3JhbV9xbGVuLFxuIFx0XHQubWF4bGVuXHRcdD0gc2l6ZW9mKGludCksXG4gXHRcdC5tb2RlXHRcdD0gMDY0NCxcbi1cdFx0LnByb2NfaGFuZGxlclx0PSBwcm9jX2RvaW50dmVjXG4rXHRcdC5wcm9jX2hhbmRsZXJcdD0gcHJvY19kb2ludHZlY19taW5tYXgsXG4rXHRcdC5leHRyYTFcdFx0PSBTWVNDVExfWkVSTyxcbiBcdH0sXG4gfTtcbiBcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI2VDA2OjE3OjUwLjI2NDk4NDc5MloiLCJTZXEiOjExLCJOZXN0aW5nIjozLCJUeXBlIjoibGxtIiwiTmFtZSI6Imttc2FuLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0NzkyODA3NTYxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQgb2YgdGhlIE5ldC9Vbml4IFN5c2N0bCBNb2RpZmljYXRpb24qKlxuXG5Pa2F5LCBzbyB0aGlzIHBhdGNoIGlzIGEgc3RyYWlnaHRmb3J3YXJkIGFkanVzdG1lbnQgdG8gYG5ldC91bml4L3N5c2N0bF9uZXRfdW5peC5jYC4gVGhleSdyZSBlc3NlbnRpYWxseSB0aWdodGVuaW5nIHVwIHRoZSBib3VuZHMgY2hlY2tpbmcgZm9yIHRoZSBgdW54LnN5c2N0bF9tYXhfZGdyYW1fcWxlbmAgc3lzY3RsLiBJbnN0ZWFkIG9mIHRoZSBnZW5lcmljIGBwcm9jX2RvaW50dmVjYCBoYW5kbGVyLCB3ZSdyZSBub3cgdXNpbmcgYHByb2NfZG9pbnR2ZWNfbWlubWF4YCwgd2hpY2ggaXMgdGhlIGNvcnJlY3QgYXBwcm9hY2ggdG8gaW1wb3NlIGEgbWluaW11bSB2YWx1ZS4gVGhlIGAuZXh0cmExID0gU1lTQ1RMX1pFUk9gIHBhcnQgY29uZmlybXMgdGhhdCB0aGUgbWluaW11bSBpcyBpbmRlZWQgemVybywgZWZmZWN0aXZlbHkgcHJldmVudGluZyBuZWdhdGl2ZSB2YWx1ZXMuXG5cbkl0J3MgYSBjbGFzc2ljIGV4YW1wbGUgb2YgYSBzaW1wbGUgc3lzY3RsIGJvdW5kcyBjaGVjayBmaXgg4oCTIGV4YWN0bHkgdGhlIGtpbmQgb2YgdGhpbmcgeW91ICp3YW50KiB0byBzZWUuIEl04oCZcyBsb3ctcmlzazsgSSBjYW4ndCBzZWUgYW55IG9idmlvdXMgaW50cm9kdWN0aW9uIG9mIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHZ1bG5lcmFiaWxpdGllcyBoZXJlLiBHaXZlbiB0aGUgc2NvcGUgb2YgdGhlIGNoYW5nZSwgS01TQU4gaXMgcHJvYmFibHkgb3ZlcmtpbGwsIGFuZCBub3Qgd2FycmFudGVkLlxuXG5KdXN0IHRvIGJlIGFic29sdXRlbHkgY2VydGFpbiwgSSdsbCBkbyBhIHF1aWNrIHNjYW4gb2YgdGhlIGZpbGUgYW5kIGl0cyBzdXJyb3VuZGluZyBjb2RlIHRvIG1ha2Ugc3VyZSBub3RoaW5nIHVudG93YXJkIGlzIGhhcHBlbmluZywgYnV0LCBmcmFua2x5LCBJJ20gZXhwZWN0aW5nIHRoaXMgdG8gYmUgYSBxdWljayBhcHByb3ZhbC5cblxuXG4iLCJJbnB1dFRva2VucyI6MjAwNiwiT3V0cHV0VG9rZW5zIjozOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE0NywiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI2VDA2OjE3OjU1LjA1Nzc5NDg0M1oiLCJTZXEiOjEyLCJOZXN0aW5nIjozLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2MDM2MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJuZXQvdW5peC9zeXNjdGxfbmV0X3VuaXguY1wiLFxuICBcIkZpcnN0TGluZVwiOiAxLFxuICBcIkxpbmVDb3VudFwiOiAzMFxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiQ29udGVudHNcIjogXCIgICAxOlxcdC8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyXFxuICAgMjpcXHQvKlxcbiAgIDM6XFx0ICogTkVUNDpcXHRTeXNjdGwgaW50ZXJmYWNlIHRvIG5ldCBhZl91bml4IHN1YnN5c3RlbS5cXG4gICA0OlxcdCAqXFxuICAgNTpcXHQgKiBBdXRob3JzOlxcdE1pa2UgU2hhdmVyLlxcbiAgIDY6XFx0ICovXFxuICAgNzpcXHRcXG4gICA4OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9zbGFiLmhcXHUwMDNlXFxuICAgOTpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvc3RyaW5nLmhcXHUwMDNlXFxuICAxMDpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvc3lzY3RsLmhcXHUwMDNlXFxuICAxMTpcXHQjaW5jbHVkZSBcXHUwMDNjbmV0L2FmX3VuaXguaFxcdTAwM2VcXG4gIDEyOlxcdCNpbmNsdWRlIFxcdTAwM2NuZXQvbmV0X25hbWVzcGFjZS5oXFx1MDAzZVxcbiAgMTM6XFx0XFxuICAxNDpcXHQjaW5jbHVkZSBcXFwiYWZfdW5peC5oXFxcIlxcbiAgMTU6XFx0XFxuICAxNjpcXHRzdGF0aWMgY29uc3Qgc3RydWN0IGN0bF90YWJsZSB1bml4X3RhYmxlW10gPSB7XFxuICAxNzpcXHRcXHR7XFxuICAxODpcXHRcXHRcXHQucHJvY25hbWVcXHQ9IFxcXCJtYXhfZGdyYW1fcWxlblxcXCIsXFxuICAxOTpcXHRcXHRcXHQuZGF0YVxcdFxcdD0gXFx1MDAyNmluaXRfbmV0LnVueC5zeXNjdGxfbWF4X2RncmFtX3FsZW4sXFxuICAyMDpcXHRcXHRcXHQubWF4bGVuXFx0XFx0PSBzaXplb2YoaW50KSxcXG4gIDIxOlxcdFxcdFxcdC5tb2RlXFx0XFx0PSAwNjQ0LFxcbiAgMjI6XFx0XFx0XFx0LnByb2NfaGFuZGxlclxcdD0gcHJvY19kb2ludHZlY19taW5tYXgsXFxuICAyMzpcXHRcXHRcXHQuZXh0cmExXFx0XFx0PSBTWVNDVExfWkVSTyxcXG4gIDI0OlxcdFxcdH0sXFxuICAyNTpcXHR9O1xcbiAgMjY6XFx0XFxuICAyNzpcXHRzdGF0aWMgY29uc3Qgc3RydWN0IGN0bF90YWJsZSAqdW5peF90YWJsZV9kdXAoc3RydWN0IG5ldCAqbmV0KVxcbiAgMjg6XFx0e1xcbiAgMjk6XFx0XFx0c3RydWN0IGN0bF90YWJsZSAqdGFibGU7XFxuICAzMDpcXHRcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjZUMDY6MTc6NTUuMDU3ODU2NzgzWiIsIlNlcSI6MTMsIk5lc3RpbmciOjMsIlR5cGUiOiJsbG0iLCJOYW1lIjoia21zYW4tZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjY2MTIyNDc0MTYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSBzdW1tYXJ5LCBhcyB0aG91Z2ggSSdtIHRoaW5raW5nIHRocm91Z2ggdGhpcyBwYXRjaDpcblxuKipWYWxpZGF0aW5nIGBtYXhfZGdyYW1fcWxlbmAqKlxuXG5Pa2F5LCBzbyB0aGlzIHBhdGNoIGlzIGEgc3RyYWlnaHRmb3J3YXJkIHN5c2N0bCB2YWxpZGF0aW9uIGZpeC4gSXQgYWRkcmVzc2VzIGEgc2l0dWF0aW9uIHdoZXJlIGBtYXhfZGdyYW1fcWxlbmAgY291bGQgYmUsIGluY29ycmVjdGx5LCBzZXQgdG8gYSBuZWdhdGl2ZSB2YWx1ZS4gTm90aGluZyBjb21wbGV4IGhlcmUsIGp1c3QgZW5zdXJpbmcgdGhlIHN5c3RlbSBiZWhhdmVzIGFzIGV4cGVjdGVkLiBUaGUgY29kZSdzIGNsZWFuIGFuZCBkb2Vzbid0IGludm9sdmUgYW55IHVuaW5pdGlhbGl6ZWQgbWVtb3J5IGlzc3Vlcywgd2hpY2ggaXMgYWx3YXlzIGEgcmVsaWVmLiBHaXZlbiB0aGUgbmF0dXJlIG9mIHRoaXMgY2hhbmdlIGFuZCBsYWNrIG9mIGFueSBtZW1vcnkgY29ycnVwdGlvbiBwb3RlbnRpYWwsIEknbSBjb21mb3J0YWJsZSBzZXR0aW5nIGBOZWVkc0tNU0FOPWZhbHNlYC4gTGV0J3MgZ2V0IHRoaXMgaW4uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI4NDIsIk91dHB1dFRva2VucyI6MTIyLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NDYsIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0yNlQwNjoxODowMS42NzAxMDc2NloiLCJTZXEiOjE0LCJOZXN0aW5nIjozLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE5NTMxLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiS01TQU5SZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggY2hhbmdlcyB0aGUgcHJvY19oYW5kbGVyIGZvciB0aGUgJ21heF9kZ3JhbV9xbGVuJyBzeXNjdGwgZnJvbSBwcm9jX2RvaW50dmVjIHRvIHByb2NfZG9pbnR2ZWNfbWlubWF4IGFuZCBzZXRzIGV4dHJhMSB0byBTWVNDVExfWkVSTy4gVGhpcyBlbmZvcmNlcyBhIG1pbmltdW0gdmFsdWUgb2YgMCBmb3IgdGhlIHN5c2N0bCwgcHJldmVudGluZyBuZWdhdGl2ZSB2YWx1ZXMuIFRoaXMgaXMgYSBzaW1wbGUgYm91bmRzIGNoZWNrIGZpeCBhbmQgZG9lcyBub3QgaW50cm9kdWNlIGFueSBuZXcgc3RydWN0dXJlcywgYWxsb2NhdGlvbnMsIG9yIGxvZ2ljIHRoYXQgY291bGQgZXhwb3NlIHVuaW5pdGlhbGl6ZWQgbWVtb3J5LiBUaGVyZWZvcmUsIEtNU0FOIGlzIG5vdCBhcHBsaWNhYmxlLlwiLFxuICBcIk5lZWRzS01TQU5cIjogZmFsc2Vcbn0iLCJSZXN1bHRzIjoie1xuICBcIktNU0FOUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGNoYW5nZXMgdGhlIHByb2NfaGFuZGxlciBmb3IgdGhlICdtYXhfZGdyYW1fcWxlbicgc3lzY3RsIGZyb20gcHJvY19kb2ludHZlYyB0byBwcm9jX2RvaW50dmVjX21pbm1heCBhbmQgc2V0cyBleHRyYTEgdG8gU1lTQ1RMX1pFUk8uIFRoaXMgZW5mb3JjZXMgYSBtaW5pbXVtIHZhbHVlIG9mIDAgZm9yIHRoZSBzeXNjdGwsIHByZXZlbnRpbmcgbmVnYXRpdmUgdmFsdWVzLiBUaGlzIGlzIGEgc2ltcGxlIGJvdW5kcyBjaGVjayBmaXggYW5kIGRvZXMgbm90IGludHJvZHVjZSBhbnkgbmV3IHN0cnVjdHVyZXMsIGFsbG9jYXRpb25zLCBvciBsb2dpYyB0aGF0IGNvdWxkIGV4cG9zZSB1bmluaXRpYWxpemVkIG1lbW9yeS4gVGhlcmVmb3JlLCBLTVNBTiBpcyBub3QgYXBwbGljYWJsZS5cIixcbiAgXCJOZWVkc0tNU0FOXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflow8n7n9[1] Phase: Succeeded StartedAt: 2026-08-26 06:18:13 +0000 UTC FinishedAt: 2026-08-26 06:18:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8n7n9[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-08-26 06:18:13 +0000 UTC FinishedAt: 2026-08-26 06:18:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8n7n9[2] Phase: Succeeded StartedAt: 2026-08-26 06:18:13 +0000 UTC FinishedAt: 2026-08-26 06:57:41 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:18:13 +0000 UTC FinishedAt: 2026-08-26 06:57:41 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:18:13 +0000 UTC FinishedAt: 2026-08-26 06:18:23 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:18:13 +0000 UTC FinishedAt: 2026-08-26 06:18:18 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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-workflow8n7n9/series-workflow8n7n9-convert-artifact-1732071689/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:18:23 +0000 UTC FinishedAt: 2026-08-26 06:34:03 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:18:23 +0000 UTC FinishedAt: 2026-08-26 06:34:03 +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:*0f39b09d-5dd8-4138-9174-29152929eea2,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-workflow8n7n9/series-workflow8n7n9-convert-artifact-1732071689/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": "dd620054-c3a3-4181-aa4b-01fbbc7c6505", "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-workflow8n7n9/series-workflow8n7n9-build-action-1809189351/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:18:23 +0000 UTC FinishedAt: 2026-08-26 06:33:53 +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:*0f39b09d-5dd8-4138-9174-29152929eea2,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-workflow8n7n9/series-workflow8n7n9-convert-artifact-1732071689/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": "dd620054-c3a3-4181-aa4b-01fbbc7c6505", "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-workflow8n7n9/series-workflow8n7n9-build-action-1809189351/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:34:03 +0000 UTC FinishedAt: 2026-08-26 06:34:03 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:34:03 +0000 UTC FinishedAt: 2026-08-26 06:34:03 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:34:03 +0000 UTC FinishedAt: 2026-08-26 06:34:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:34:03 +0000 UTC FinishedAt: 2026-08-26 06:34:08 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-workflow8n7n9/series-workflow8n7n9-convert-artifact-1724054300/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:34:13 +0000 UTC FinishedAt: 2026-08-26 06:36:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:34:13 +0000 UTC FinishedAt: 2026-08-26 06:36:08 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*dd620054-c3a3-4181-aa4b-01fbbc7c6505,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-workflow8n7n9/series-workflow8n7n9-build-action-1809189351/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-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:36:18 +0000 UTC FinishedAt: 2026-08-26 06:36:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:36:18 +0000 UTC FinishedAt: 2026-08-26 06:36:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:36:18 +0000 UTC FinishedAt: 2026-08-26 06:52:31 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:36:18 +0000 UTC FinishedAt: 2026-08-26 06:52: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:*0f39b09d-5dd8-4138-9174-29152929eea2,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-workflow8n7n9/series-workflow8n7n9-convert-artifact-1724054300/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": "7c7b66ce-e3dd-444b-9ec7-1e72b96ef219", "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-workflow8n7n9/series-workflow8n7n9-build-action-3602423416/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:36:18 +0000 UTC FinishedAt: 2026-08-26 06:52:21 +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:*0f39b09d-5dd8-4138-9174-29152929eea2,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-workflow8n7n9/series-workflow8n7n9-convert-artifact-1724054300/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": "7c7b66ce-e3dd-444b-9ec7-1e72b96ef219", "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-workflow8n7n9/series-workflow8n7n9-build-action-3602423416/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:52:31 +0000 UTC FinishedAt: 2026-08-26 06:52:31 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:52:31 +0000 UTC FinishedAt: 2026-08-26 06:52:31 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:52:31 +0000 UTC FinishedAt: 2026-08-26 06:54:42 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:52:31 +0000 UTC FinishedAt: 2026-08-26 06:54:32 +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:*7c7b66ce-e3dd-444b-9ec7-1e72b96ef219,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-workflow8n7n9/series-workflow8n7n9-build-action-3602423416/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-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:54:42 +0000 UTC FinishedAt: 2026-08-26 06:57:41 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:54:42 +0000 UTC FinishedAt: 2026-08-26 06:57:41 +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":[],"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:*dd620054-c3a3-4181-aa4b-01fbbc7c6505,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*7c7b66ce-e3dd-444b-9ec7-1e72b96ef219,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-workflow8n7n9/series-workflow8n7n9-build-action-1809189351/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-workflow8n7n9/series-workflow8n7n9-build-action-3602423416/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:54:42 +0000 UTC FinishedAt: 2026-08-26 06:54:52 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:54:42 +0000 UTC FinishedAt: 2026-08-26 06:54:46 +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":[],"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-workflow8n7n9/series-workflow8n7n9-convert-artifact-2659300325/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:54:42 +0000 UTC FinishedAt: 2026-08-26 06:54:42 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:54:42 +0000 UTC FinishedAt: 2026-08-26 06:54:42 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:54:42 +0000 UTC FinishedAt: 2026-08-26 06:54:42 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:54:52 +0000 UTC FinishedAt: 2026-08-26 06:57:41 +0000 UTC Input: nil Output: nil --------- Name: series-workflow8n7n9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"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":[],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc4b95b8fee95113587e93ca116356032d271371","config_name":"upstream-apparmor-kasan.config","enable_configs":["UNIX"],"series_id":"0c386833-cead-4e73-854d-ebdae8dba39e","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-08-26 06:54:52 +0000 UTC FinishedAt: 2026-08-26 06:57:21 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*dd620054-c3a3-4181-aa4b-01fbbc7c6505,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*7c7b66ce-e3dd-444b-9ec7-1e72b96ef219,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-workflow8n7n9/series-workflow8n7n9-build-action-1809189351/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-workflow8n7n9/series-workflow8n7n9-build-action-3602423416/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-workflow8n7n9/series-workflow8n7n9-convert-artifact-2659300325/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,}